summary refs log tree commit diff
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2019-12-26 14:16:15 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2019-12-26 14:17:36 +0100
commit77b6c3cd06a679140fb5a44f81f904497007f333 (patch)
treee8ed1606b326cdafba719cc2a14c527c1b601f2e
parent602bccd1a8262d4e6bd787838d21fc3c2c1c50ba (diff)
parent4d2dd1554618831f0a5b159b8a4dff86612c02a9 (diff)
downloadnixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.gz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.bz2
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.lz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.xz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.zst
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.zip
Merge remote-tracking branch 'origin/master' into gcc-9
-rw-r--r--.github/CODEOWNERS8
-rw-r--r--.github/CONTRIBUTING.md5
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md2
-rw-r--r--.github/stale.yml32
-rw-r--r--doc/builders/fetchers.xml11
-rw-r--r--doc/builders/images/dockertools.xml6
-rw-r--r--doc/builders/trivial-builders.xml21
-rw-r--r--doc/contributing/coding-conventions.xml21
-rw-r--r--doc/contributing/reviewing-contributions.xml4
-rw-r--r--doc/contributing/submitting-changes.xml54
-rw-r--r--doc/languages-frameworks/android.section.md2
-rw-r--r--doc/languages-frameworks/beam.xml307
-rw-r--r--doc/languages-frameworks/gnome.xml16
-rw-r--r--doc/languages-frameworks/go.xml4
-rw-r--r--doc/languages-frameworks/haskell.section.md48
-rw-r--r--doc/languages-frameworks/ios.section.md12
-rw-r--r--doc/languages-frameworks/python.section.md31
-rw-r--r--doc/languages-frameworks/rust.section.md2
-rw-r--r--doc/languages-frameworks/texlive.xml91
-rw-r--r--doc/stdenv/cross-compilation.xml6
-rw-r--r--doc/stdenv/stdenv.xml12
-rw-r--r--doc/using/configuration.xml11
-rw-r--r--lib/default.nix3
-rw-r--r--lib/strings.nix17
-rw-r--r--lib/systems/default.nix2
-rw-r--r--lib/systems/doubles.nix3
-rw-r--r--lib/systems/examples.nix10
-rw-r--r--lib/systems/inspect.nix1
-rw-r--r--lib/systems/parse.nix6
-rw-r--r--maintainers/maintainer-list.nix356
-rwxr-xr-xmaintainers/scripts/update.nix4
-rw-r--r--nixos/doc/manual/configuration/abstractions.xml135
-rw-r--r--nixos/doc/manual/configuration/config-file.xml8
-rw-r--r--nixos/doc/manual/configuration/profiles/graphical.xml4
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml5
-rw-r--r--nixos/doc/manual/configuration/xfce.xml5
-rw-r--r--nixos/doc/manual/development/option-declarations.xml10
-rwxr-xr-xnixos/doc/manual/development/releases.xml21
-rw-r--r--nixos/doc/manual/development/running-nixos-tests-interactively.xml2
-rw-r--r--nixos/doc/manual/development/running-nixos-tests.xml2
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.xml19
-rw-r--r--nixos/doc/manual/installation/installing-virtualbox-guest.xml5
-rw-r--r--nixos/doc/manual/installation/installing.xml21
-rw-r--r--nixos/doc/manual/man-nixos-option.xml9
-rw-r--r--nixos/doc/manual/man-nixos-rebuild.xml14
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2003.xml258
-rw-r--r--nixos/lib/make-ext4-fs.nix44
-rw-r--r--nixos/lib/make-options-doc/default.nix2
-rw-r--r--nixos/lib/test-driver/test-driver.py410
-rw-r--r--nixos/lib/testing-python.nix19
-rw-r--r--nixos/lib/testing.nix4
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh4
-rw-r--r--nixos/modules/config/console.nix203
-rw-r--r--nixos/modules/config/fonts/corefonts.nix36
-rw-r--r--nixos/modules/config/fonts/fontconfig-ultimate.nix86
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix10
-rw-r--r--nixos/modules/config/fonts/fonts.nix3
-rw-r--r--nixos/modules/config/i18n.nix63
-rw-r--r--nixos/modules/config/networking.nix20
-rw-r--r--nixos/modules/config/qt5.nix2
-rw-r--r--nixos/modules/config/resolvconf.nix6
-rw-r--r--nixos/modules/config/shells-environment.nix2
-rw-r--r--nixos/modules/config/users-groups.nix4
-rw-r--r--nixos/modules/config/vpnc.nix41
-rw-r--r--nixos/modules/config/xdg/portal.nix4
-rw-r--r--nixos/modules/config/xdg/sounds.nix6
-rw-r--r--nixos/modules/hardware/all-firmware.nix8
-rw-r--r--nixos/modules/hardware/ckb-next.nix5
-rw-r--r--nixos/modules/hardware/ksm.nix4
-rw-r--r--nixos/modules/hardware/opengl.nix5
-rw-r--r--nixos/modules/hardware/video/nvidia.nix7
-rw-r--r--nixos/modules/i18n/input-method/ibus.nix14
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix12
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix10
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix11
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix19
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl5
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh9
-rw-r--r--nixos/modules/misc/documentation.nix5
-rw-r--r--nixos/modules/misc/ids.nix13
-rw-r--r--nixos/modules/misc/locate.nix5
-rw-r--r--nixos/modules/misc/version.nix8
-rw-r--r--nixos/modules/module-list.nix19
-rw-r--r--nixos/modules/profiles/graphical.nix2
-rw-r--r--nixos/modules/programs/adb.nix3
-rw-r--r--nixos/modules/programs/bash/bash.nix4
-rw-r--r--nixos/modules/programs/dconf.nix6
-rw-r--r--nixos/modules/programs/nm-applet.nix2
-rw-r--r--nixos/modules/programs/oblogout.nix171
-rw-r--r--nixos/modules/programs/ssh.nix2
-rw-r--r--nixos/modules/programs/ssmtp.nix19
-rw-r--r--nixos/modules/programs/sway.nix66
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.nix7
-rw-r--r--nixos/modules/programs/zsh/zsh-autosuggestions.nix4
-rw-r--r--nixos/modules/programs/zsh/zsh-syntax-highlighting.nix11
-rw-r--r--nixos/modules/rename.nix298
-rw-r--r--nixos/modules/security/acme.nix13
-rw-r--r--nixos/modules/security/apparmor-suid.nix3
-rw-r--r--nixos/modules/security/chromium-suid-sandbox.nix4
-rw-r--r--nixos/modules/security/pam.nix6
-rw-r--r--nixos/modules/security/polkit.nix5
-rw-r--r--nixos/modules/security/wrappers/default.nix4
-rw-r--r--nixos/modules/services/admin/oxidized.nix1
-rw-r--r--nixos/modules/services/audio/alsa.nix3
-rw-r--r--nixos/modules/services/audio/mpd.nix1
-rw-r--r--nixos/modules/services/audio/roon-server.nix3
-rw-r--r--nixos/modules/services/backup/bacula.nix166
-rw-r--r--nixos/modules/services/backup/borgbackup.nix27
-rw-r--r--nixos/modules/services/backup/postgresql-backup.nix9
-rw-r--r--nixos/modules/services/backup/tarsnap.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dashboard.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dns.nix12
-rw-r--r--nixos/modules/services/cluster/kubernetes/apiserver.nix12
-rw-r--r--nixos/modules/services/cluster/kubernetes/controller-manager.nix5
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix1
-rw-r--r--nixos/modules/services/cluster/kubernetes/kubelet.nix10
-rw-r--r--nixos/modules/services/cluster/kubernetes/proxy.nix12
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix51
-rw-r--r--nixos/modules/services/databases/4store-endpoint.nix74
-rw-r--r--nixos/modules/services/databases/4store.nix72
-rw-r--r--nixos/modules/services/databases/mysql.nix16
-rw-r--r--nixos/modules/services/databases/neo4j.nix12
-rw-r--r--nixos/modules/services/databases/postgresql.nix4
-rw-r--r--nixos/modules/services/databases/redis.nix15
-rw-r--r--nixos/modules/services/desktops/neard.nix23
-rw-r--r--nixos/modules/services/desktops/pantheon/contractor.nix25
-rw-r--r--nixos/modules/services/desktops/pantheon/files.nix31
-rw-r--r--nixos/modules/services/desktops/tumbler.nix18
-rw-r--r--nixos/modules/services/development/lorri.nix47
-rw-r--r--nixos/modules/services/games/openarena.nix2
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix32
-rw-r--r--nixos/modules/services/hardware/fwupd.nix6
-rw-r--r--nixos/modules/services/hardware/tlp.nix2
-rw-r--r--nixos/modules/services/hardware/udev.nix4
-rw-r--r--nixos/modules/services/hardware/upower.nix181
-rw-r--r--nixos/modules/services/logging/awstats.nix297
-rw-r--r--nixos/modules/services/logging/logstash.nix5
-rw-r--r--nixos/modules/services/logging/syslog-ng.nix4
-rw-r--r--nixos/modules/services/mail/dovecot.nix5
-rw-r--r--nixos/modules/services/mail/mailcatcher.nix9
-rw-r--r--nixos/modules/services/mail/opendkim.nix3
-rw-r--r--nixos/modules/services/mail/opensmtpd.nix18
-rw-r--r--nixos/modules/services/mail/postfix.nix8
-rw-r--r--nixos/modules/services/mail/postgrey.nix11
-rw-r--r--nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixos/modules/services/mail/rspamd.nix4
-rw-r--r--nixos/modules/services/misc/apache-kafka.nix2
-rw-r--r--nixos/modules/services/misc/beanstalkd.nix3
-rw-r--r--nixos/modules/services/misc/ethminer.nix4
-rw-r--r--nixos/modules/services/misc/gitea.nix21
-rw-r--r--nixos/modules/services/misc/gitlab.nix5
-rw-r--r--nixos/modules/services/misc/mame.nix67
-rw-r--r--nixos/modules/services/misc/matrix-synapse.nix34
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix4
-rw-r--r--nixos/modules/services/misc/nzbget.nix6
-rw-r--r--nixos/modules/services/misc/parsoid.nix4
-rw-r--r--nixos/modules/services/misc/pykms.nix4
-rw-r--r--nixos/modules/services/misc/redmine.nix15
-rw-r--r--nixos/modules/services/misc/tautulli.nix4
-rw-r--r--nixos/modules/services/misc/zoneminder.nix2
-rw-r--r--nixos/modules/services/monitoring/grafana.nix2
-rw-r--r--nixos/modules/services/monitoring/nagios.nix36
-rw-r--r--nixos/modules/services/monitoring/osquery.nix91
-rw-r--r--nixos/modules/services/monitoring/prometheus/alertmanager.nix9
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix21
-rw-r--r--nixos/modules/services/monitoring/zabbix-server.nix5
-rw-r--r--nixos/modules/services/network-filesystems/beegfs.nix357
-rw-r--r--nixos/modules/services/network-filesystems/ceph.nix72
-rw-r--r--nixos/modules/services/network-filesystems/nfsd.nix4
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix27
-rw-r--r--nixos/modules/services/networking/3proxy.nix424
-rw-r--r--nixos/modules/services/networking/bind.nix6
-rw-r--r--nixos/modules/services/networking/bitcoind.nix3
-rw-r--r--nixos/modules/services/networking/connman.nix14
-rw-r--r--nixos/modules/services/networking/ddclient.nix8
-rw-r--r--nixos/modules/services/networking/dhcpd.nix4
-rw-r--r--nixos/modules/services/networking/dnschain.nix4
-rw-r--r--nixos/modules/services/networking/dnscrypt-wrapper.nix3
-rw-r--r--nixos/modules/services/networking/dnsdist.nix5
-rw-r--r--nixos/modules/services/networking/eternal-terminal.nix6
-rw-r--r--nixos/modules/services/networking/fakeroute.nix2
-rw-r--r--nixos/modules/services/networking/firewall.nix15
-rw-r--r--nixos/modules/services/networking/haproxy.nix36
-rw-r--r--nixos/modules/services/networking/helpers.nix11
-rw-r--r--nixos/modules/services/networking/i2pd.nix4
-rw-r--r--nixos/modules/services/networking/iodine.nix7
-rw-r--r--nixos/modules/services/networking/jormungandr.nix102
-rw-r--r--nixos/modules/services/networking/monero.nix12
-rw-r--r--nixos/modules/services/networking/murmur.nix5
-rw-r--r--nixos/modules/services/networking/namecoind.nix2
-rw-r--r--nixos/modules/services/networking/nat.nix30
-rw-r--r--nixos/modules/services/networking/networkmanager.nix23
-rw-r--r--nixos/modules/services/networking/openvpn.nix3
-rw-r--r--nixos/modules/services/networking/pdns-recursor.nix15
-rw-r--r--nixos/modules/services/networking/privoxy.nix2
-rw-r--r--nixos/modules/services/networking/searx.nix2
-rw-r--r--nixos/modules/services/networking/spacecookie.nix83
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix4
-rw-r--r--nixos/modules/services/networking/syncthing.nix64
-rw-r--r--nixos/modules/services/networking/tinydns.nix1
-rw-r--r--nixos/modules/services/networking/unbound.nix13
-rw-r--r--nixos/modules/services/networking/v2ray.nix81
-rw-r--r--nixos/modules/services/networking/vsftpd.nix129
-rw-r--r--nixos/modules/services/networking/wireguard.nix66
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix9
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix14
-rw-r--r--nixos/modules/services/networking/znc/default.nix2
-rw-r--r--nixos/modules/services/printing/cupsd.nix9
-rw-r--r--nixos/modules/services/security/clamav.nix4
-rw-r--r--nixos/modules/services/security/tor.nix6
-rw-r--r--nixos/modules/services/security/vault.nix5
-rw-r--r--nixos/modules/services/torrent/magnetico.nix9
-rw-r--r--nixos/modules/services/torrent/transmission.nix19
-rw-r--r--nixos/modules/services/web-apps/limesurvey.nix88
-rw-r--r--nixos/modules/services/web-apps/matomo-doc.xml6
-rw-r--r--nixos/modules/services/web-apps/matomo.nix8
-rw-r--r--nixos/modules/services/web-apps/mediawiki.nix59
-rw-r--r--nixos/modules/services/web-apps/moodle.nix54
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix10
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix4
-rw-r--r--nixos/modules/services/web-apps/trilium.nix137
-rw-r--r--nixos/modules/services/web-apps/wordpress.nix82
-rw-r--r--nixos/modules/services/web-apps/zabbix.nix54
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix532
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/per-server-options.nix401
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix32
-rw-r--r--nixos/modules/services/web-servers/nginx/location-options.nix5
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix3
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix10
-rw-r--r--nixos/modules/services/web-servers/ttyd.nix196
-rw-r--r--nixos/modules/services/web-servers/unit/default.nix28
-rw-r--r--nixos/modules/services/web-servers/varnish/default.nix6
-rw-r--r--nixos/modules/services/x11/compton.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/cde.nix55
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix27
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix39
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix323
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix19
-rw-r--r--nixos/modules/services/x11/desktop-managers/surf-display.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix112
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce4-14.nix152
-rw-r--r--nixos/modules/services/x11/display-managers/account-service-util.nix39
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix268
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix46
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix5
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix3
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix35
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix27
-rwxr-xr-xnixos/modules/services/x11/display-managers/set-session.py86
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix160
-rw-r--r--nixos/modules/services/x11/hardware/libinput.nix6
-rw-r--r--nixos/modules/services/x11/imwheel.nix68
-rw-r--r--nixos/modules/services/x11/unclutter.nix3
-rw-r--r--nixos/modules/services/x11/urxvtd.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix15
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix2
-rw-r--r--nixos/modules/services/x11/xserver.nix3
-rw-r--r--nixos/modules/system/boot/binfmt.nix4
-rw-r--r--nixos/modules/system/boot/grow-partition.nix3
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix4
-rw-r--r--nixos/modules/system/boot/loader/loader.nix7
-rw-r--r--nixos/modules/system/boot/luksroot.nix5
-rw-r--r--nixos/modules/system/boot/networkd.nix10
-rw-r--r--nixos/modules/system/boot/plymouth.nix10
-rw-r--r--nixos/modules/system/boot/resolved.nix2
-rw-r--r--nixos/modules/system/boot/systemd-nspawn.nix2
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix2
-rw-r--r--nixos/modules/system/boot/systemd.nix5
-rw-r--r--nixos/modules/system/boot/timesyncd.nix18
-rw-r--r--nixos/modules/tasks/filesystems/nfs.nix6
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix70
-rw-r--r--nixos/modules/tasks/kbd.nix127
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix4
-rw-r--r--nixos/modules/testing/test-instrumentation.nix2
-rw-r--r--nixos/modules/virtualisation/container-config.nix1
-rw-r--r--nixos/modules/virtualisation/containers.nix2
-rw-r--r--nixos/modules/virtualisation/digital-ocean-config.nix197
-rw-r--r--nixos/modules/virtualisation/digital-ocean-image.nix69
-rw-r--r--nixos/modules/virtualisation/digital-ocean-init.nix95
-rw-r--r--nixos/modules/virtualisation/ec2-data.nix4
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix8
-rw-r--r--nixos/modules/virtualisation/lxc.nix2
-rw-r--r--nixos/modules/virtualisation/lxd.nix28
-rw-r--r--nixos/modules/virtualisation/openvswitch.nix13
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix2
-rw-r--r--nixos/modules/virtualisation/vmware-guest.nix4
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix5
-rw-r--r--nixos/release-combined.nix9
-rw-r--r--nixos/release-small.nix3
-rw-r--r--nixos/tests/3proxy.nix162
-rw-r--r--nixos/tests/all-tests.nix45
-rw-r--r--nixos/tests/atd.nix20
-rw-r--r--nixos/tests/avahi.nix70
-rw-r--r--nixos/tests/babeld.nix34
-rw-r--r--nixos/tests/bcachefs.nix44
-rw-r--r--nixos/tests/beanstalkd.nix16
-rw-r--r--nixos/tests/beegfs.nix115
-rw-r--r--nixos/tests/bees.nix37
-rw-r--r--nixos/tests/bind.nix8
-rw-r--r--nixos/tests/boot-stage1.nix14
-rw-r--r--nixos/tests/borgbackup.nix122
-rw-r--r--nixos/tests/caddy.nix57
-rw-r--r--nixos/tests/cadvisor.nix23
-rw-r--r--nixos/tests/cassandra.nix134
-rw-r--r--nixos/tests/ceph-multi-node.nix206
-rw-r--r--nixos/tests/ceph-single-node.nix190
-rw-r--r--nixos/tests/certmgr.nix28
-rw-r--r--nixos/tests/cfssl.nix8
-rw-r--r--nixos/tests/cjdns.nix47
-rw-r--r--nixos/tests/clickhouse.nix20
-rw-r--r--nixos/tests/cloud-init.nix13
-rw-r--r--nixos/tests/codimd.nix26
-rw-r--r--nixos/tests/colord.nix18
-rw-r--r--nixos/tests/common/x11.nix8
-rw-r--r--nixos/tests/consul.nix143
-rw-r--r--nixos/tests/containers-bridge.nix79
-rw-r--r--nixos/tests/containers-ephemeral.nix36
-rw-r--r--nixos/tests/containers-extra_veth.nix71
-rw-r--r--nixos/tests/containers-hosts.nix12
-rw-r--r--nixos/tests/containers-imperative.nix186
-rw-r--r--nixos/tests/containers-ip.nix77
-rw-r--r--nixos/tests/containers-ipv4.nix55
-rw-r--r--nixos/tests/containers-ipv6.nix60
-rw-r--r--nixos/tests/containers-macvlans.nix28
-rw-r--r--nixos/tests/containers-physical_interfaces.nix91
-rw-r--r--nixos/tests/containers-portforward.nix22
-rw-r--r--nixos/tests/containers-reloadable.nix31
-rw-r--r--nixos/tests/containers-restart_networking.nix90
-rw-r--r--nixos/tests/containers-tmpfs.nix104
-rw-r--r--nixos/tests/couchdb.nix56
-rw-r--r--nixos/tests/deluge.nix26
-rw-r--r--nixos/tests/dhparams.nix98
-rw-r--r--nixos/tests/dnscrypt-proxy.nix12
-rw-r--r--nixos/tests/docker-edge.nix22
-rw-r--r--nixos/tests/docker-registry.nix62
-rw-r--r--nixos/tests/docker-tools-overlay.nix15
-rw-r--r--nixos/tests/docker.nix22
-rw-r--r--nixos/tests/documize.nix56
-rw-r--r--nixos/tests/dovecot.nix16
-rw-r--r--nixos/tests/ec2.nix2
-rw-r--r--nixos/tests/ecryptfs.nix121
-rw-r--r--nixos/tests/env.nix25
-rw-r--r--nixos/tests/etcd-cluster.nix47
-rw-r--r--nixos/tests/etcd.nix16
-rw-r--r--nixos/tests/fancontrol.nix9
-rw-r--r--nixos/tests/ferm.nix30
-rw-r--r--nixos/tests/firefox.nix36
-rw-r--r--nixos/tests/firewall.nix30
-rw-r--r--nixos/tests/fish.nix11
-rw-r--r--nixos/tests/flatpak-builder.nix20
-rw-r--r--nixos/tests/flatpak.nix26
-rw-r--r--nixos/tests/fluentd.nix17
-rw-r--r--nixos/tests/fontconfig-default-fonts.nix15
-rw-r--r--nixos/tests/fsck.nix22
-rw-r--r--nixos/tests/fwupd.nix21
-rw-r--r--nixos/tests/gdk-pixbuf.nix21
-rw-r--r--nixos/tests/gitea.nix134
-rw-r--r--nixos/tests/gitlab.nix48
-rw-r--r--nixos/tests/gitolite-fcgiwrap.nix93
-rw-r--r--nixos/tests/gitolite.nix103
-rw-r--r--nixos/tests/gjs.nix19
-rw-r--r--nixos/tests/glib-networking.nix17
-rw-r--r--nixos/tests/glusterfs.nix32
-rw-r--r--nixos/tests/gnome-photos.nix42
-rw-r--r--nixos/tests/gnome3-xorg.nix2
-rw-r--r--nixos/tests/gocd-agent.nix24
-rw-r--r--nixos/tests/gocd-server.nix26
-rw-r--r--nixos/tests/google-oslogin/default.nix54
-rw-r--r--nixos/tests/gotify-server.nix44
-rw-r--r--nixos/tests/grafana.nix48
-rw-r--r--nixos/tests/graphene.nix18
-rw-r--r--nixos/tests/graylog.nix82
-rw-r--r--nixos/tests/gvisor.nix49
-rw-r--r--nixos/tests/hadoop/hdfs.nix26
-rw-r--r--nixos/tests/hadoop/yarn.nix24
-rw-r--r--nixos/tests/handbrake.nix12
-rw-r--r--nixos/tests/haproxy.nix32
-rw-r--r--nixos/tests/hibernate.nix23
-rw-r--r--nixos/tests/hitch/default.nix14
-rw-r--r--nixos/tests/hound.nix19
-rw-r--r--nixos/tests/hydra/default.nix28
-rw-r--r--nixos/tests/i3wm.nix53
-rw-r--r--nixos/tests/icingaweb2.nix8
-rw-r--r--nixos/tests/iftop.nix25
-rw-r--r--nixos/tests/incron.nix32
-rw-r--r--nixos/tests/influxdb.nix33
-rw-r--r--nixos/tests/initrd-network-ssh/default.nix38
-rw-r--r--nixos/tests/initrd-network.nix8
-rw-r--r--nixos/tests/installed-tests/colord.nix5
-rw-r--r--nixos/tests/installed-tests/default.nix96
-rw-r--r--nixos/tests/installed-tests/flatpak-builder.nix14
-rw-r--r--nixos/tests/installed-tests/flatpak.nix19
-rw-r--r--nixos/tests/installed-tests/fwupd.nix12
-rw-r--r--nixos/tests/installed-tests/gcab.nix5
-rw-r--r--nixos/tests/installed-tests/gdk-pixbuf.nix13
-rw-r--r--nixos/tests/installed-tests/gjs.nix6
-rw-r--r--nixos/tests/installed-tests/glib-networking.nix5
-rw-r--r--nixos/tests/installed-tests/gnome-photos.nix35
-rw-r--r--nixos/tests/installed-tests/graphene.nix5
-rw-r--r--nixos/tests/installed-tests/ibus.nix20
-rw-r--r--nixos/tests/installed-tests/libgdata.nix11
-rw-r--r--nixos/tests/installed-tests/libxmlb.nix5
-rw-r--r--nixos/tests/installed-tests/ostree.nix23
-rw-r--r--nixos/tests/installed-tests/xdg-desktop-portal.nix5
-rw-r--r--nixos/tests/ipv6.nix81
-rw-r--r--nixos/tests/jackett.nix9
-rw-r--r--nixos/tests/jellyfin.nix8
-rw-r--r--nixos/tests/jenkins.nix19
-rw-r--r--nixos/tests/jormungandr.nix77
-rw-r--r--nixos/tests/keepalived.nix42
-rw-r--r--nixos/tests/kerberos/heimdal.nix39
-rw-r--r--nixos/tests/kerberos/mit.nix28
-rw-r--r--nixos/tests/kernel-latest.nix6
-rw-r--r--nixos/tests/kernel-lts.nix6
-rw-r--r--nixos/tests/kernel-testing.nix6
-rw-r--r--nixos/tests/knot.nix68
-rw-r--r--nixos/tests/kubernetes/base.nix1
-rw-r--r--nixos/tests/ldap.nix212
-rw-r--r--nixos/tests/leaps.nix12
-rw-r--r--nixos/tests/libgdata.nix21
-rw-r--r--nixos/tests/libxmlb.nix17
-rw-r--r--nixos/tests/lidarr.nix10
-rw-r--r--nixos/tests/lightdm.nix19
-rw-r--r--nixos/tests/loki.nix18
-rw-r--r--nixos/tests/lorri/builder.sh3
-rw-r--r--nixos/tests/lorri/default.nix26
-rw-r--r--nixos/tests/lorri/fake-shell.nix5
-rw-r--r--nixos/tests/magnetico.nix26
-rw-r--r--nixos/tests/mailcatcher.nix20
-rw-r--r--nixos/tests/matomo.nix17
-rw-r--r--nixos/tests/matrix-synapse.nix20
-rw-r--r--nixos/tests/mediawiki.nix10
-rw-r--r--nixos/tests/memcached.nix26
-rw-r--r--nixos/tests/metabase.nix10
-rw-r--r--nixos/tests/minidlna.nix14
-rw-r--r--nixos/tests/miniflux.nix24
-rw-r--r--nixos/tests/minio.nix32
-rw-r--r--nixos/tests/moinmoin.nix20
-rw-r--r--nixos/tests/mongodb.nix10
-rw-r--r--nixos/tests/moodle.nix8
-rw-r--r--nixos/tests/morty.nix10
-rw-r--r--nixos/tests/mosquitto.nix70
-rw-r--r--nixos/tests/mpd.nix111
-rw-r--r--nixos/tests/mumble.nix66
-rw-r--r--nixos/tests/munin.nix44
-rw-r--r--nixos/tests/mutable-users.nix28
-rw-r--r--nixos/tests/mxisd.nix17
-rw-r--r--nixos/tests/mysql-backup.nix48
-rw-r--r--nixos/tests/mysql-replication.nix46
-rw-r--r--nixos/tests/mysql.nix26
-rw-r--r--nixos/tests/nat.nix55
-rw-r--r--nixos/tests/ndppd.nix10
-rw-r--r--nixos/tests/neo4j.nix10
-rw-r--r--nixos/tests/nesting.nix36
-rw-r--r--nixos/tests/netdata.nix19
-rw-r--r--nixos/tests/networking.nix473
-rw-r--r--nixos/tests/nextcloud/basic.nix18
-rw-r--r--nixos/tests/nextcloud/with-mysql-and-memcached.nix21
-rw-r--r--nixos/tests/nextcloud/with-postgresql-and-redis.nix20
-rw-r--r--nixos/tests/nexus.nix10
-rw-r--r--nixos/tests/nfs.nix90
-rw-r--r--nixos/tests/nfs/default.nix9
-rw-r--r--nixos/tests/nfs/kerberos.nix133
-rw-r--r--nixos/tests/nfs/simple.nix94
-rw-r--r--nixos/tests/nghttpx.nix10
-rw-r--r--nixos/tests/nix-ssh-serve.nix30
-rw-r--r--nixos/tests/nixos-generate-config.nix14
-rw-r--r--nixos/tests/novacomd.nix32
-rw-r--r--nixos/tests/nzbget.nix18
-rw-r--r--nixos/tests/openarena.nix15
-rw-r--r--nixos/tests/openldap.nix10
-rw-r--r--nixos/tests/opensmtpd.nix26
-rw-r--r--nixos/tests/openssh.nix94
-rw-r--r--nixos/tests/orangefs.nix52
-rw-r--r--nixos/tests/osquery.nix28
-rw-r--r--nixos/tests/osrm-backend.nix14
-rw-r--r--nixos/tests/ostree.nix21
-rw-r--r--nixos/tests/overlayfs.nix77
-rw-r--r--nixos/tests/packagekit.nix10
-rw-r--r--nixos/tests/pam-oath-login.nix110
-rw-r--r--nixos/tests/pam-u2f.nix8
-rw-r--r--nixos/tests/pantheon.nix66
-rw-r--r--nixos/tests/paperless.nix29
-rw-r--r--nixos/tests/pdns-recursor.nix6
-rw-r--r--nixos/tests/peerflix.nix8
-rw-r--r--nixos/tests/pgjwt.nix23
-rw-r--r--nixos/tests/pgmanage.nix12
-rw-r--r--nixos/tests/php-pcre.nix9
-rw-r--r--nixos/tests/plasma5.nix70
-rw-r--r--nixos/tests/postgis.nix12
-rw-r--r--nixos/tests/powerdns.nix7
-rw-r--r--nixos/tests/pppd.nix12
-rw-r--r--nixos/tests/predictable-interface-names.nix6
-rw-r--r--nixos/tests/prometheus-exporters.nix222
-rw-r--r--nixos/tests/prometheus.nix78
-rw-r--r--nixos/tests/proxy.nix15
-rw-r--r--nixos/tests/quagga.nix28
-rw-r--r--nixos/tests/quake3.nix95
-rw-r--r--nixos/tests/rabbitmq.nix16
-rw-r--r--nixos/tests/radarr.nix8
-rw-r--r--nixos/tests/radicale.nix88
-rw-r--r--nixos/tests/redis.nix14
-rw-r--r--nixos/tests/redmine.nix13
-rw-r--r--nixos/tests/resolv.nix46
-rw-r--r--nixos/tests/roundcube.nix14
-rw-r--r--nixos/tests/rspamd.nix159
-rw-r--r--nixos/tests/rss2email.nix16
-rw-r--r--nixos/tests/rxe.nix32
-rw-r--r--nixos/tests/samba.nix14
-rw-r--r--nixos/tests/sddm.nix34
-rw-r--r--nixos/tests/shiori.nix76
-rw-r--r--nixos/tests/signal-desktop.nix12
-rw-r--r--nixos/tests/simple.nix8
-rw-r--r--nixos/tests/slim.nix66
-rw-r--r--nixos/tests/slurm.nix87
-rw-r--r--nixos/tests/smokeping.nix16
-rw-r--r--nixos/tests/snapper.nix32
-rw-r--r--nixos/tests/sonarr.nix8
-rw-r--r--nixos/tests/spacecookie.nix51
-rw-r--r--nixos/tests/spike.nix22
-rw-r--r--nixos/tests/strongswan-swanctl.nix6
-rw-r--r--nixos/tests/sudo.nix52
-rw-r--r--nixos/tests/switch-test.nix10
-rw-r--r--nixos/tests/syncthing-init.nix12
-rw-r--r--nixos/tests/syncthing-relay.nix14
-rw-r--r--nixos/tests/systemd-analyze.nix46
-rw-r--r--nixos/tests/systemd-networkd-wireguard.nix25
-rw-r--r--nixos/tests/systemd-nspawn.nix60
-rw-r--r--nixos/tests/systemd-timesyncd.nix24
-rw-r--r--nixos/tests/telegraf.nix8
-rw-r--r--nixos/tests/tiddlywiki.nix80
-rw-r--r--nixos/tests/timezone.nix95
-rw-r--r--nixos/tests/tinydns.nix8
-rw-r--r--nixos/tests/tor.nix10
-rw-r--r--nixos/tests/trac.nix10
-rw-r--r--nixos/tests/transmission.nix8
-rw-r--r--nixos/tests/trezord.nix12
-rw-r--r--nixos/tests/trickster.nix30
-rw-r--r--nixos/tests/trilium-server.nix53
-rw-r--r--nixos/tests/udisks2.nix44
-rw-r--r--nixos/tests/upnp.nix28
-rw-r--r--nixos/tests/uwsgi.nix10
-rw-r--r--nixos/tests/vault.nix14
-rw-r--r--nixos/tests/wireguard/namespaces.nix78
-rw-r--r--nixos/tests/wordpress.nix42
-rw-r--r--nixos/tests/xautolock.nix12
-rw-r--r--nixos/tests/xdg-desktop-portal.nix17
-rw-r--r--nixos/tests/xfce.nix36
-rw-r--r--nixos/tests/xfce4-14.nix37
-rw-r--r--nixos/tests/xmonad.nix36
-rw-r--r--nixos/tests/xmpp/ejabberd.nix26
-rw-r--r--nixos/tests/xmpp/prosody-mysql.nix20
-rw-r--r--nixos/tests/xmpp/prosody.nix20
-rw-r--r--nixos/tests/xrdp.nix36
-rw-r--r--nixos/tests/xss-lock.nix26
-rw-r--r--nixos/tests/yabar.nix14
-rw-r--r--nixos/tests/yggdrasil.nix42
-rw-r--r--nixos/tests/zookeeper.nix22
-rw-r--r--nixos/tests/zsh-history.nix35
-rw-r--r--pkgs/applications/audio/MMA/default.nix4
-rw-r--r--pkgs/applications/audio/amarok/default.nix2
-rw-r--r--pkgs/applications/audio/ams-lv2/default.nix2
-rw-r--r--pkgs/applications/audio/audacity/default.nix15
-rw-r--r--pkgs/applications/audio/avldrums-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix4
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix6
-rw-r--r--pkgs/applications/audio/bshapr/default.nix4
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/cadence/default.nix101
-rw-r--r--pkgs/applications/audio/cantata/default.nix2
-rw-r--r--pkgs/applications/audio/denemo/default.nix14
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix10
-rw-r--r--pkgs/applications/audio/easytag/default.nix2
-rw-r--r--pkgs/applications/audio/ensemble-chorus/default.nix28
-rw-r--r--pkgs/applications/audio/espeak-ng/default.nix4
-rw-r--r--pkgs/applications/audio/fmsynth/default.nix2
-rw-r--r--pkgs/applications/audio/giada/default.nix43
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix85
-rw-r--r--pkgs/applications/audio/gpodder/default.nix4
-rw-r--r--pkgs/applications/audio/gxmatcheq-lv2/default.nix30
-rw-r--r--pkgs/applications/audio/helm/default.nix6
-rw-r--r--pkgs/applications/audio/i-score/default.nix2
-rw-r--r--pkgs/applications/audio/jack-oscrolloscope/default.nix4
-rw-r--r--pkgs/applications/audio/lmms/default.nix6
-rw-r--r--pkgs/applications/audio/lollypop/default.nix12
-rw-r--r--pkgs/applications/audio/lsp-plugins/default.nix28
-rw-r--r--pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/meters_lv2/default.nix4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/audio/mpc/default.nix12
-rw-r--r--pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--pkgs/applications/audio/mpg321/default.nix10
-rw-r--r--pkgs/applications/audio/muse/default.nix2
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix19
-rw-r--r--pkgs/applications/audio/ncspot/default.nix10
-rw-r--r--pkgs/applications/audio/netease-cloud-music/default.nix82
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix29
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix2
-rw-r--r--pkgs/applications/audio/opusfile/default.nix2
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix7
-rw-r--r--pkgs/applications/audio/picard/default.nix4
-rw-r--r--pkgs/applications/audio/pithos/default.nix4
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix4
-rw-r--r--pkgs/applications/audio/qjackctl/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix10
-rw-r--r--pkgs/applications/audio/reaper/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix28
-rw-r--r--pkgs/applications/audio/setbfree/default.nix8
-rw-r--r--pkgs/applications/audio/sisco.lv2/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix6
-rw-r--r--pkgs/applications/audio/sonata/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix8
-rw-r--r--pkgs/applications/audio/soundscape-renderer/default.nix4
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix15
-rw-r--r--pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch13
-rw-r--r--pkgs/applications/audio/spotify/default.nix10
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix8
-rw-r--r--pkgs/applications/audio/stone-phaser/default.nix34
-rw-r--r--pkgs/applications/audio/strawberry/default.nix10
-rw-r--r--pkgs/applications/audio/synthv1/default.nix10
-rw-r--r--pkgs/applications/audio/vcv-rack/default.nix27
-rw-r--r--pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch16
-rw-r--r--pkgs/applications/audio/vocal/default.nix7
-rw-r--r--pkgs/applications/audio/whipper/default.nix35
-rw-r--r--pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix8
-rw-r--r--pkgs/applications/audio/zam-plugins/default.nix10
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix90
-rw-r--r--pkgs/applications/backup/deja-dup/hardcode-gsettings.patch30
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc.nix8
-rw-r--r--pkgs/applications/blockchains/bitcoin-unlimited.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin.nix32
-rw-r--r--pkgs/applications/blockchains/clightning.nix4
-rw-r--r--pkgs/applications/blockchains/dogecoin.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix37
-rw-r--r--pkgs/applications/blockchains/jormungandr/default.nix56
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lnd.nix6
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix16
-rw-r--r--pkgs/applications/blockchains/monero/default.nix34
-rw-r--r--pkgs/applications/blockchains/parity/beta.nix6
-rw-r--r--pkgs/applications/blockchains/parity/default.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix2
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/wownero.nix29
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix28
-rw-r--r--pkgs/applications/blockchains/zcash/librustzcash/default.nix14
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix9
-rw-r--r--pkgs/applications/display-managers/lightdm/gtk-greeter.nix4
-rw-r--r--pkgs/applications/display-managers/slim/default.nix55
-rw-r--r--pkgs/applications/display-managers/slim/no-logfile.patch80
-rw-r--r--pkgs/applications/display-managers/slim/run-once.patch12
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch70
-rw-r--r--pkgs/applications/display-managers/slim/sort-sessions.patch40
-rw-r--r--pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--pkgs/applications/editors/android-studio/common.nix14
-rw-r--r--pkgs/applications/editors/android-studio/default.nix18
-rw-r--r--pkgs/applications/editors/eclipse/default.nix19
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix12
-rw-r--r--pkgs/applications/editors/edbrowse/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix14
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs-modes/manual-packages.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/sv-kalender/default.nix22
-rw-r--r--pkgs/applications/editors/emacs/25.nix27
-rw-r--r--pkgs/applications/editors/emacs/default.nix4
-rw-r--r--pkgs/applications/editors/emacs/macport.nix8
-rw-r--r--pkgs/applications/editors/flpsed/default.nix2
-rw-r--r--pkgs/applications/editors/geany/default.nix45
-rw-r--r--pkgs/applications/editors/geany/with-vte.nix32
-rw-r--r--pkgs/applications/editors/glow/default.nix21
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix13
-rw-r--r--pkgs/applications/editors/gobby/default.nix4
-rw-r--r--pkgs/applications/editors/hexdino/default.nix25
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix44
-rw-r--r--pkgs/applications/editors/jucipp/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/plugins/default.nix1
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-buffers.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-fzf.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-plumb.nix31
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-powerline.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix2
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix7
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix4
-rw-r--r--pkgs/applications/editors/mle/default.nix34
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix13
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--pkgs/applications/editors/quilter/default.nix10
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix6
-rw-r--r--pkgs/applications/editors/retext/default.nix12
-rw-r--r--pkgs/applications/editors/texmacs/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix11
-rw-r--r--pkgs/applications/editors/thonny/default.nix5
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix11
-rw-r--r--pkgs/applications/editors/vim/macvim.nix11
-rw-r--r--pkgs/applications/editors/vim/macvim.patch48
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix8
-rw-r--r--pkgs/applications/editors/yi/wrapper.nix2
-rw-r--r--pkgs/applications/gis/grass/default.nix5
-rw-r--r--pkgs/applications/gis/openorienteering-mapper/default.nix4
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/gis/saga/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/akira/default.nix76
-rw-r--r--pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch88
-rw-r--r--pkgs/applications/graphics/antimony/default.nix13
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix38
-rw-r--r--pkgs/applications/graphics/cinepaint/install.patch24
-rw-r--r--pkgs/applications/graphics/cq-editor/default.nix57
-rw-r--r--pkgs/applications/graphics/darktable/default.nix6
-rw-r--r--pkgs/applications/graphics/digikam/default.nix10
-rw-r--r--pkgs/applications/graphics/displaycal/default.nix19
-rw-r--r--pkgs/applications/graphics/dosage/default.nix10
-rw-r--r--pkgs/applications/graphics/draftsight/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix4
-rw-r--r--pkgs/applications/graphics/exrdisplay/default.nix4
-rw-r--r--pkgs/applications/graphics/fbida/default.nix2
-rw-r--r--pkgs/applications/graphics/feh/default.nix8
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/fondo/default.nix7
-rw-r--r--pkgs/applications/graphics/freepv/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix17
-rw-r--r--pkgs/applications/graphics/glabels/default.nix4
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix6
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--pkgs/applications/graphics/ideogram/default.nix18
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix20
-rw-r--r--pkgs/applications/graphics/k3d/default.nix12
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix8
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix64
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix34
-rw-r--r--pkgs/applications/graphics/mirage/default.nix31
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix44
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix11
-rw-r--r--pkgs/applications/graphics/openimageio/2.x.nix12
-rw-r--r--pkgs/applications/graphics/openscad/default.nix4
-rw-r--r--pkgs/applications/graphics/paraview/default.nix11
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--pkgs/applications/graphics/pick-colour-picker/default.nix66
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix18
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix6
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix36
-rw-r--r--pkgs/applications/graphics/runwayml/default.nix4
-rw-r--r--pkgs/applications/graphics/rx/default.nix58
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/generic.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends/git.nix2
-rw-r--r--pkgs/applications/graphics/sane/frontends.nix2
-rw-r--r--pkgs/applications/graphics/seg3d/cstdio.patch81
-rw-r--r--pkgs/applications/graphics/seg3d/default.nix54
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix2
-rw-r--r--pkgs/applications/graphics/write_stylus/default.nix20
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix4
-rw-r--r--pkgs/applications/kde/akonadi-calendar.nix4
-rw-r--r--pkgs/applications/kde/akonadi-search.nix4
-rw-r--r--pkgs/applications/kde/akonadiconsole.nix4
-rw-r--r--pkgs/applications/kde/ark/default.nix1
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/kalarm.nix4
-rw-r--r--pkgs/applications/kde/kalarmcal.nix4
-rw-r--r--pkgs/applications/kde/kcachegrind.nix5
-rw-r--r--pkgs/applications/kde/kcalutils.nix4
-rw-r--r--pkgs/applications/kde/kdepim-addons.nix4
-rw-r--r--pkgs/applications/kde/kitinerary.nix4
-rw-r--r--pkgs/applications/kde/kmailtransport.nix4
-rw-r--r--pkgs/applications/kde/knotes.nix4
-rw-r--r--pkgs/applications/kde/kontact.nix4
-rw-r--r--pkgs/applications/kde/kpat.nix25
-rw-r--r--pkgs/applications/kde/ktnef.nix4
-rw-r--r--pkgs/applications/kde/libkgapi.nix4
-rw-r--r--pkgs/applications/kde/pim-data-exporter.nix4
-rw-r--r--pkgs/applications/kde/print-manager.nix6
-rw-r--r--pkgs/applications/kde/srcs.nix1736
-rw-r--r--pkgs/applications/misc/alacritty/default.nix14
-rw-r--r--pkgs/applications/misc/appeditor/default.nix11
-rw-r--r--pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch22
-rw-r--r--pkgs/applications/misc/barrier/default.nix8
-rw-r--r--pkgs/applications/misc/batti/default.nix51
-rw-r--r--pkgs/applications/misc/birdtray/default.nix40
-rw-r--r--pkgs/applications/misc/bleachbit/default.nix47
-rw-r--r--pkgs/applications/misc/blender/default.nix15
-rw-r--r--pkgs/applications/misc/blugon/default.nix31
-rw-r--r--pkgs/applications/misc/buku/default.nix1
-rw-r--r--pkgs/applications/misc/calibre/default.nix2
-rw-r--r--pkgs/applications/misc/cipher/default.nix19
-rw-r--r--pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--pkgs/applications/misc/clight/default.nix7
-rw-r--r--pkgs/applications/misc/cmatrix/default.nix2
-rw-r--r--pkgs/applications/misc/cointop/default.nix4
-rw-r--r--pkgs/applications/misc/copyq/default.nix4
-rw-r--r--pkgs/applications/misc/coursera-dl/default.nix4
-rw-r--r--pkgs/applications/misc/cpp-ethereum/default.nix4
-rw-r--r--pkgs/applications/misc/cura/default.nix6
-rw-r--r--pkgs/applications/misc/cura/plugins.nix6
-rw-r--r--pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/diffpdf/default.nix4
-rw-r--r--pkgs/applications/misc/djvulibre/CVE-2019-15142.patch72
-rw-r--r--pkgs/applications/misc/djvulibre/CVE-2019-15143.patch39
-rw-r--r--pkgs/applications/misc/djvulibre/CVE-2019-15144.patch111
-rw-r--r--pkgs/applications/misc/djvulibre/CVE-2019-15145.patch28
-rw-r--r--pkgs/applications/misc/djvulibre/CVE-2019-18804.patch32
-rw-r--r--pkgs/applications/misc/djvulibre/default.nix11
-rw-r--r--pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch51
-rw-r--r--pkgs/applications/misc/dupeguru/default.nix62
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix14
-rw-r--r--pkgs/applications/misc/electrum/dash.nix1
-rw-r--r--pkgs/applications/misc/electrum/default.nix1
-rw-r--r--pkgs/applications/misc/elogind/default.nix4
-rw-r--r--pkgs/applications/misc/epr/default.nix21
-rw-r--r--pkgs/applications/misc/et/default.nix6
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix2
-rw-r--r--pkgs/applications/misc/font-manager/default.nix4
-rw-r--r--pkgs/applications/misc/formatter/default.nix10
-rw-r--r--pkgs/applications/misc/fsv/default.nix5
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix23
-rw-r--r--pkgs/applications/misc/glava/default.nix10
-rw-r--r--pkgs/applications/misc/glom/default.nix3
-rw-r--r--pkgs/applications/misc/gnome15/default.nix39
-rw-r--r--pkgs/applications/misc/golden-cheetah/default.nix24
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock16
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix28
-rw-r--r--pkgs/applications/misc/googleearth/default.nix4
-rw-r--r--pkgs/applications/misc/googler/default.nix12
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix11
-rw-r--r--pkgs/applications/misc/gpscorrelate/fix-localedir.diff27
-rw-r--r--pkgs/applications/misc/gpxlab/default.nix34
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/grip/default.nix4
-rw-r--r--pkgs/applications/misc/guake/default.nix53
-rw-r--r--pkgs/applications/misc/gummi/default.nix4
-rw-r--r--pkgs/applications/misc/hamster-time-tracker/default.nix42
-rw-r--r--pkgs/applications/misc/hivemind/default.nix4
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix11
-rw-r--r--pkgs/applications/misc/hstr/default.nix4
-rw-r--r--pkgs/applications/misc/hubstaff/revision.json6
-rw-r--r--pkgs/applications/misc/hugo/default.nix16
-rw-r--r--pkgs/applications/misc/icesl/default.nix4
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock38
-rw-r--r--pkgs/applications/misc/jekyll/basic/gemset.nix64
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock50
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix88
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix2
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix3
-rw-r--r--pkgs/applications/misc/keepassx/community.nix8
-rw-r--r--pkgs/applications/misc/khard/default.nix38
-rw-r--r--pkgs/applications/misc/kitty/default.nix18
-rw-r--r--pkgs/applications/misc/kitty/fix-paths.patch11
-rw-r--r--pkgs/applications/misc/kitty/library-paths.patch32
-rw-r--r--pkgs/applications/misc/kitty/no-werror.patch6
-rw-r--r--pkgs/applications/misc/latte-dock/default.nix4
-rw-r--r--pkgs/applications/misc/llpp/default.nix4
-rw-r--r--pkgs/applications/misc/lsd2dsl/default.nix36
-rw-r--r--pkgs/applications/misc/lutris/chrootenv.nix6
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix11
-rw-r--r--pkgs/applications/misc/merkaartor/default.nix10
-rw-r--r--pkgs/applications/misc/minder/default.nix4
-rw-r--r--pkgs/applications/misc/mlterm/default.nix7
-rw-r--r--pkgs/applications/misc/multibootusb/default.nix80
-rw-r--r--pkgs/applications/misc/navit/default.nix4
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/notable/default.nix8
-rw-r--r--pkgs/applications/misc/notejot/default.nix6
-rw-r--r--pkgs/applications/misc/nut/default.nix23
-rw-r--r--pkgs/applications/misc/onboard/default.nix6
-rw-r--r--pkgs/applications/misc/openbrf/default.nix4
-rw-r--r--pkgs/applications/misc/opencpn/default.nix6
-rw-r--r--pkgs/applications/misc/orca/default.nix77
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--pkgs/applications/misc/plank/default.nix3
-rw-r--r--pkgs/applications/misc/plover/default.nix7
-rw-r--r--pkgs/applications/misc/pmenu/default.nix36
-rw-r--r--pkgs/applications/misc/polybar/default.nix17
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix9
-rw-r--r--pkgs/applications/misc/pyditz/cerberus.nix (renamed from pkgs/development/python-modules/cerberus11/default.nix)4
-rw-r--r--pkgs/applications/misc/pyditz/default.nix14
-rw-r--r--pkgs/applications/misc/qdirstat/default.nix7
-rw-r--r--pkgs/applications/misc/qtpass/default.nix18
-rw-r--r--pkgs/applications/misc/raiseorlaunch/default.nix23
-rw-r--r--pkgs/applications/misc/redis-desktop-manager/default.nix11
-rw-r--r--pkgs/applications/misc/redshift/default.nix176
-rw-r--r--pkgs/applications/misc/rofi/default.nix9
-rw-r--r--pkgs/applications/misc/rofi/wrapper.nix12
-rw-r--r--pkgs/applications/misc/rsclock/default.nix2
-rw-r--r--pkgs/applications/misc/sequeler/default.nix6
-rw-r--r--pkgs/applications/misc/sidequest/default.nix4
-rw-r--r--pkgs/applications/misc/simplenote/default.nix54
-rw-r--r--pkgs/applications/misc/slic3r/boost-compile-error.patch12
-rw-r--r--pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--pkgs/applications/misc/stretchly/default.nix140
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix14
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix13
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/taizen/default.nix25
-rw-r--r--pkgs/applications/misc/taskell/default.nix4
-rw-r--r--pkgs/applications/misc/tasksh/default.nix2
-rw-r--r--pkgs/applications/misc/tilix/default.nix4
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix13
-rw-r--r--pkgs/applications/misc/tnef/default.nix4
-rw-r--r--pkgs/applications/misc/tootle/default.nix6
-rw-r--r--pkgs/applications/misc/twmn/default.nix10
-rw-r--r--pkgs/applications/misc/variety/default.nix73
-rw-r--r--pkgs/applications/misc/verbiste/default.nix4
-rw-r--r--pkgs/applications/misc/vifm/default.nix27
-rw-r--r--pkgs/applications/misc/vym/default.nix39
-rw-r--r--pkgs/applications/misc/wego/default.nix2
-rw-r--r--pkgs/applications/misc/wofi/default.nix17
-rw-r--r--pkgs/applications/misc/workrave/default.nix3
-rw-r--r--pkgs/applications/misc/wtf/default.nix12
-rw-r--r--pkgs/applications/misc/xchm/default.nix4
-rw-r--r--pkgs/applications/misc/xdgmenumaker/default.nix38
-rw-r--r--pkgs/applications/misc/xmr-stak/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--pkgs/applications/misc/xpdf/default.nix57
-rw-r--r--pkgs/applications/misc/zola/cargo-lock.patch28
-rw-r--r--pkgs/applications/misc/zola/default.nix5
-rw-r--r--pkgs/applications/networking/3proxy/default.nix26
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix30
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix51
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch117
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch26
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch54
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch22
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/widevine.patch24
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/ephemeral/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix776
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix776
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch100
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix7
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix6
-rw-r--r--pkgs/applications/networking/browsers/next-gtk-webkit/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix150
-rw-r--r--pkgs/applications/networking/browsers/next/next-gtk-webkit.nix50
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix45
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix43
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/webmacs/default.nix26
-rw-r--r--pkgs/applications/networking/c14/default.nix2
-rw-r--r--pkgs/applications/networking/calls/default.nix83
-rw-r--r--pkgs/applications/networking/cawbird/default.nix52
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/atlantis/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix6
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix40
-rw-r--r--pkgs/applications/networking/cluster/helm/deps.nix1191
-rw-r--r--pkgs/applications/networking/cluster/k9s/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/kubeval/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/kubeval/deps.nix174
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/sonobuoy/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/spacegun/default.nix27
-rw-r--r--pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh10
-rw-r--r--pkgs/applications/networking/cluster/spacegun/node-composition.nix17
-rw-r--r--pkgs/applications/networking/cluster/spacegun/node-packages.nix11420
-rw-r--r--pkgs/applications/networking/cluster/spacegun/package.json3
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/data.nix383
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.txt15
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-all4
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix107
-rw-r--r--pkgs/applications/networking/datovka/default.nix32
-rw-r--r--pkgs/applications/networking/davmail/default.nix6
-rw-r--r--pkgs/applications/networking/dsvpn/default.nix4
-rw-r--r--pkgs/applications/networking/errbot/default.nix58
-rw-r--r--pkgs/applications/networking/feedreaders/castget/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/feedreader/default.nix8
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix10
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--pkgs/applications/networking/flent/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/taxi/default.nix6
-rw-r--r--pkgs/applications/networking/gmailieer/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix8
-rw-r--r--pkgs/applications/networking/gopher/gopher/default.nix20
-rw-r--r--pkgs/applications/networking/hydroxide/default.nix33
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/base.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix540
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix1426
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/package.json27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrixcli/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix22
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix8
-rwxr-xr-xpkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix27
-rwxr-xr-xpkgs/applications/networking/instant-messengers/slack/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix63
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix78
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/vk-messenger/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix107
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix28
-rwxr-xr-xpkgs/applications/networking/instant-messengers/zoom-us/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix40
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix26
-rw-r--r--pkgs/applications/networking/irc/glowing-bear/default.nix4
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix10
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix58
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix17
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch56
-rw-r--r--pkgs/applications/networking/mailreaders/afew/default.nix16
-rw-r--r--pkgs/applications/networking/mailreaders/balsa/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix12
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix490
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix504
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch12
-rw-r--r--pkgs/applications/networking/mumble/default.nix10
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix7
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix5
-rw-r--r--pkgs/applications/networking/p2p/firestr/default.nix36
-rw-r--r--pkgs/applications/networking/p2p/firestr/return.patch13
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/gnunet/git.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/soulseekqt/default.nix58
-rw-r--r--pkgs/applications/networking/p2p/torrential/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix9
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix74
-rw-r--r--pkgs/applications/networking/ping/default.nix6
-rw-r--r--pkgs/applications/networking/protocol/default.nix8
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix26
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/default.nix18
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix9
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix6
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix8
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/syncplay/default.nix13
-rw-r--r--pkgs/applications/networking/syncthing/add-stcli-target.patch16
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/networking/testssl/default.nix6
-rw-r--r--pkgs/applications/networking/trebleshot/default.nix29
-rw-r--r--pkgs/applications/networking/weather/meteo/default.nix10
-rw-r--r--pkgs/applications/office/aesop/default.nix21
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--pkgs/applications/office/bookworm/default.nix4
-rw-r--r--pkgs/applications/office/envelope/default.nix6
-rw-r--r--pkgs/applications/office/fava/default.nix6
-rw-r--r--pkgs/applications/office/flexibee/default.nix15
-rw-r--r--pkgs/applications/office/gnumeric/default.nix17
-rw-r--r--pkgs/applications/office/jabref/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/README.md9
-rw-r--r--pkgs/applications/office/libreoffice/default-gen-shell.nix29
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix17
-rw-r--r--pkgs/applications/office/libreoffice/default.nix68
-rw-r--r--pkgs/applications/office/libreoffice/gen-shell.nix (renamed from pkgs/applications/office/libreoffice/still-gen-shell.nix)6
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/download.nix (renamed from pkgs/applications/office/libreoffice/libreoffice-srcs.nix)0
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/override.nix1
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix35
-rw-r--r--pkgs/applications/office/libreoffice/src-still/download.nix (renamed from pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix)0
-rw-r--r--pkgs/applications/office/libreoffice/src-still/override.nix7
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix34
-rw-r--r--pkgs/applications/office/libreoffice/still-primary-src.nix17
-rw-r--r--pkgs/applications/office/libreoffice/still.nix384
-rw-r--r--pkgs/applications/office/mendeley/default.nix8
-rw-r--r--pkgs/applications/office/minetime/default.nix37
-rw-r--r--pkgs/applications/office/mmex/default.nix13
-rw-r--r--pkgs/applications/office/notes-up/default.nix6
-rw-r--r--pkgs/applications/office/pympress/default.nix6
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/scribus/unstable.nix15
-rw-r--r--pkgs/applications/office/skrooge/default.nix12
-rw-r--r--pkgs/applications/office/softmaker/freeoffice.nix4
-rw-r--r--pkgs/applications/office/softmaker/generic.nix4
-rw-r--r--pkgs/applications/office/spice-up/default.nix6
-rw-r--r--pkgs/applications/office/timetable/default.nix6
-rw-r--r--pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch69
-rw-r--r--pkgs/applications/office/trilium/default.nix129
-rw-r--r--pkgs/applications/office/tryton/default.nix55
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix84
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/office/zotero/default.nix11
-rw-r--r--pkgs/applications/radio/chirp/default.nix29
-rw-r--r--pkgs/applications/radio/dablin/default.nix4
-rw-r--r--pkgs/applications/radio/dump1090/default.nix30
-rw-r--r--pkgs/applications/radio/gnuradio/osmosdr.nix8
-rw-r--r--pkgs/applications/radio/tlf/default.nix4
-rw-r--r--pkgs/applications/radio/urh/default.nix12
-rw-r--r--pkgs/applications/radio/welle-io/default.nix4
-rw-r--r--pkgs/applications/radio/wsjtx/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix6
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix8
-rw-r--r--pkgs/applications/science/astronomy/xplanet/default.nix31
-rw-r--r--pkgs/applications/science/astronomy/xplanet/gcc6.patch128
-rw-r--r--pkgs/applications/science/astronomy/xplanet/giflib.patch141
-rw-r--r--pkgs/applications/science/biology/bedtools/default.nix11
-rw-r--r--pkgs/applications/science/biology/bftools/default.nix4
-rw-r--r--pkgs/applications/science/biology/freebayes/default.nix6
-rw-r--r--pkgs/applications/science/biology/hmmer/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--pkgs/applications/science/biology/kssd/default.nix25
-rw-r--r--pkgs/applications/science/biology/niftyseg/default.nix2
-rw-r--r--pkgs/applications/science/biology/paml/default.nix5
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/strelka/default.nix3
-rw-r--r--pkgs/applications/science/biology/svaba/default.nix42
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix2
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle.nix8
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix19
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/unstable.nix4
-rw-r--r--pkgs/applications/science/electronics/pcb/default.nix56
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/aiger/default.nix2
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix2
-rw-r--r--pkgs/applications/science/logic/boolector/default.nix10
-rw-r--r--pkgs/applications/science/logic/btor2tools/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix4
-rw-r--r--pkgs/applications/science/logic/elan/default.nix2
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix2
-rw-r--r--pkgs/applications/science/logic/lingeling/default.nix2
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix4
-rw-r--r--pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--pkgs/applications/science/machine-learning/streamlit/default.nix34
-rw-r--r--pkgs/applications/science/math/R/default.nix11
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/giac/default.nix13
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix8
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix5
-rw-r--r--pkgs/applications/science/math/pspp/default.nix5
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch19
-rw-r--r--pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch12
-rw-r--r--pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch13
-rw-r--r--pkgs/applications/science/math/sage/pybrial.nix10
-rw-r--r--pkgs/applications/science/math/sage/sage-env.nix25
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix18
-rw-r--r--pkgs/applications/science/math/sage/sage-tests.nix2
-rw-r--r--pkgs/applications/science/math/sage/sagenb.nix5
-rw-r--r--pkgs/applications/science/math/yacas/default.nix4
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix6
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix4
-rw-r--r--pkgs/applications/science/misc/golly/beta.nix4
-rw-r--r--pkgs/applications/science/misc/golly/default.nix4
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--pkgs/applications/science/misc/netlogo/default.nix4
-rw-r--r--pkgs/applications/science/misc/openmodelica/default.nix4
-rw-r--r--pkgs/applications/science/misc/root/5.nix4
-rw-r--r--pkgs/applications/science/misc/root/default.nix22
-rw-r--r--pkgs/applications/science/misc/root/setup-hook.sh6
-rw-r--r--pkgs/applications/science/misc/root/sw_vers.patch81
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix16
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--pkgs/applications/science/misc/vite/default.nix6
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix31
-rw-r--r--pkgs/applications/system/monitor/default.nix69
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix6
-rw-r--r--pkgs/applications/version-management/bugseverywhere/default.nix34
-rw-r--r--pkgs/applications/version-management/cvs-fast-export/default.nix6
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix33
-rw-r--r--pkgs/applications/version-management/fossil/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix17
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-gone/default.nix16
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix33
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix32
-rwxr-xr-xpkgs/applications/version-management/git-and-tools/git/update.sh4
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/subgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix14
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-sizer/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix11
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile8
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock31
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/deps.nix662
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix42
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix18
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile51
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock206
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix288
-rwxr-xr-xpkgs/applications/version-management/gitlab/update.py2
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix1488
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix11
-rw-r--r--pkgs/applications/version-management/gource/default.nix8
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix74
-rw-r--r--pkgs/applications/version-management/monotone/default.nix2
-rw-r--r--pkgs/applications/version-management/pijul/default.nix15
-rw-r--r--pkgs/applications/version-management/redmine/4.x/Gemfile72
-rw-r--r--pkgs/applications/version-management/redmine/4.x/Gemfile.lock203
-rw-r--r--pkgs/applications/version-management/redmine/4.x/default.nix44
-rw-r--r--pkgs/applications/version-management/redmine/4.x/gemset.nix614
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile78
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.lock327
-rw-r--r--pkgs/applications/version-management/redmine/default.nix4
-rw-r--r--pkgs/applications/version-management/redmine/gemset.nix441
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix3
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix51
-rw-r--r--pkgs/applications/version-management/yadm/default.nix36
-rw-r--r--pkgs/applications/video/aegisub/default.nix101
-rw-r--r--pkgs/applications/video/bomi/default.nix4
-rw-r--r--pkgs/applications/video/celluloid/default.nix6
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/video/handbrake/default.nix34
-rw-r--r--pkgs/applications/video/key-mon/default.nix28
-rw-r--r--pkgs/applications/video/kodi/default.nix14
-rw-r--r--pkgs/applications/video/makemkv/default.nix6
-rw-r--r--pkgs/applications/video/mediathekview/default.nix22
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix6
-rw-r--r--pkgs/applications/video/mplayer/default.nix6
-rw-r--r--pkgs/applications/video/mpv/default.nix12
-rw-r--r--pkgs/applications/video/mythtv/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/fix-search-path.patch13
-rw-r--r--pkgs/applications/video/obs-studio/hardcode-ndi-path.patch17
-rw-r--r--pkgs/applications/video/obs-studio/obs-ndi.nix41
-rw-r--r--pkgs/applications/video/recordmydesktop/default.nix29
-rw-r--r--pkgs/applications/video/recordmydesktop/gtk.nix37
-rw-r--r--pkgs/applications/video/recordmydesktop/qt.nix37
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/video/vdr/wrapper.nix2
-rw-r--r--pkgs/applications/video/xine-ui/default.nix4
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix2
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix4
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/cntr/default.nix4
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix22
-rw-r--r--pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff15
-rw-r--r--pkgs/applications/virtualization/crosvm/default.nix89
-rwxr-xr-xpkgs/applications/virtualization/crosvm/update.py91
-rw-r--r--pkgs/applications/virtualization/crosvm/upstream-info.json19
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/distribution.nix4
-rw-r--r--pkgs/applications/virtualization/gvisor/containerd-shim.nix36
-rw-r--r--pkgs/applications/virtualization/gvisor/default.nix101
-rw-r--r--pkgs/applications/virtualization/podman-compose/default.nix21
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix9
-rw-r--r--pkgs/applications/virtualization/spike/default.nix30
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix17
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix31
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix68
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch50
-rw-r--r--pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch72
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--pkgs/applications/window-managers/cage/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/blocks.nix10
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix4
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/default.nix12
-rw-r--r--pkgs/applications/window-managers/sway/wrapper.nix50
-rw-r--r--pkgs/build-support/agda/default.nix2
-rw-r--r--pkgs/build-support/appimage/default.nix2
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix24
-rw-r--r--pkgs/build-support/bintools-wrapper/setup-hook.sh3
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix30
-rw-r--r--pkgs/build-support/build-dotnet-package/default.nix8
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix44
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh3
-rw-r--r--pkgs/build-support/docker/default.nix43
-rw-r--r--pkgs/build-support/docker/examples.nix8
-rw-r--r--pkgs/build-support/emacs/setup-hook.sh6
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--pkgs/build-support/fetchgit/private.nix26
-rw-r--r--pkgs/build-support/fetchgitiles/default.nix10
-rw-r--r--pkgs/build-support/fetchgitlab/default.nix17
-rw-r--r--pkgs/build-support/fetchurl/default.nix4
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh8
-rw-r--r--pkgs/build-support/libredirect/libredirect.c15
-rw-r--r--pkgs/build-support/make-desktopitem/default.nix33
-rw-r--r--pkgs/build-support/ocaml/default.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix27
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix15
-rw-r--r--pkgs/build-support/rust/build-rust-crate/install-crate.nix22
-rw-r--r--pkgs/build-support/rust/default.nix22
-rw-r--r--pkgs/build-support/rust/fetchcargo.nix16
-rw-r--r--pkgs/build-support/setup-hooks/audit-tmpdir.sh2
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh2
-rw-r--r--pkgs/build-support/setup-hooks/compress-man-pages.sh2
-rw-r--r--pkgs/build-support/setup-hooks/find-xml-catalogs.sh4
-rw-r--r--pkgs/build-support/setup-hooks/move-lib64.sh2
-rw-r--r--pkgs/build-support/setup-hooks/move-sbin.sh2
-rw-r--r--pkgs/build-support/setup-hooks/multiple-outputs.sh6
-rw-r--r--pkgs/build-support/setup-hooks/patch-shebangs.sh2
-rw-r--r--pkgs/build-support/setup-hooks/prune-libtool-files.sh2
-rw-r--r--pkgs/build-support/setup-hooks/set-java-classpath.sh2
-rw-r--r--pkgs/build-support/setup-hooks/strip.sh4
-rw-r--r--pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh2
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook.sh6
-rw-r--r--pkgs/build-support/skaware/build-skaware-package.nix30
-rw-r--r--pkgs/build-support/trivial-builders.nix29
-rw-r--r--pkgs/build-support/vm/default.nix2
-rw-r--r--pkgs/build-support/vm/windows/default.nix3
-rw-r--r--pkgs/build-support/writers/default.nix1
-rwxr-xr-xpkgs/common-updater/scripts/update-source-version4
-rw-r--r--pkgs/data/documentation/gnome-user-docs/default.nix34
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/babelstone-han/default.nix4
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--pkgs/data/fonts/comic-neue/default.nix16
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix4
-rw-r--r--pkgs/data/fonts/gohufont/default.nix4
-rw-r--r--pkgs/data/fonts/gubbi/default.nix29
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--pkgs/data/fonts/input-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix4
-rw-r--r--pkgs/data/fonts/overpass/default.nix6
-rw-r--r--pkgs/data/fonts/public-sans/default.nix12
-rw-r--r--pkgs/data/fonts/recursive/default.nix39
-rw-r--r--pkgs/data/fonts/rhodium-libre/default.nix28
-rw-r--r--pkgs/data/fonts/spleen/default.nix4
-rw-r--r--pkgs/data/fonts/stix-two/default.nix18
-rw-r--r--pkgs/data/fonts/uw-ttyp0/default.nix78
-rw-r--r--pkgs/data/fonts/uw-ttyp0/determinism.patch13
-rw-r--r--pkgs/data/fonts/xits-math/default.nix10
-rw-r--r--pkgs/data/icons/flat-remix-icon-theme/default.nix35
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/zafiro-icons/default.nix6
-rw-r--r--pkgs/data/misc/cldr-emoji-annotation/default.nix27
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/data/misc/unicode-character-database/default.nix38
-rw-r--r--pkgs/data/misc/unicode-emoji/default.nix59
-rw-r--r--pkgs/data/misc/unihan-database/default.nix38
-rw-r--r--pkgs/data/themes/adapta-kde/default.nix (renamed from pkgs/misc/themes/adapta-kde/default.nix)6
-rw-r--r--pkgs/data/themes/adapta/default.nix (renamed from pkgs/misc/themes/adapta/default.nix)0
-rw-r--r--pkgs/data/themes/adwaita-qt/default.nix (renamed from pkgs/misc/themes/adwaita-qt/default.nix)12
-rw-r--r--pkgs/data/themes/albatross/default.nix (renamed from pkgs/misc/themes/albatross/default.nix)0
-rw-r--r--pkgs/data/themes/arc-kde/default.nix (renamed from pkgs/misc/themes/arc-kde/default.nix)10
-rw-r--r--pkgs/data/themes/blackbird/default.nix (renamed from pkgs/misc/themes/blackbird/default.nix)0
-rw-r--r--pkgs/data/themes/clearlooks-phenix/default.nix (renamed from pkgs/misc/themes/clearlooks-phenix/default.nix)6
-rw-r--r--pkgs/data/themes/e17gtk/default.nix (renamed from pkgs/misc/themes/e17gtk/default.nix)0
-rw-r--r--pkgs/data/themes/equilux-theme/default.nix (renamed from pkgs/misc/themes/equilux-theme/default.nix)0
-rw-r--r--pkgs/data/themes/gnome-breeze/default.nix (renamed from pkgs/misc/themes/gnome-breeze/default.nix)0
-rw-r--r--pkgs/data/themes/kde2/default.nix (renamed from pkgs/misc/themes/kde2/default.nix)19
-rw-r--r--pkgs/data/themes/lounge/default.nix35
-rw-r--r--pkgs/data/themes/mojave/default.nix26
-rw-r--r--pkgs/data/themes/numix-solarized/default.nix (renamed from pkgs/misc/themes/numix-solarized/default.nix)4
-rw-r--r--pkgs/data/themes/numix-sx/default.nix (renamed from pkgs/misc/themes/numix-sx/default.nix)0
-rw-r--r--pkgs/data/themes/numix/default.nix (renamed from pkgs/misc/themes/numix/default.nix)0
-rw-r--r--pkgs/data/themes/onestepback/default.nix (renamed from pkgs/misc/themes/onestepback/default.nix)0
-rw-r--r--pkgs/data/themes/orion/default.nix (renamed from pkgs/misc/themes/orion/default.nix)0
-rw-r--r--pkgs/data/themes/paper-gtk/default.nix (renamed from pkgs/misc/themes/paper/default.nix)0
-rw-r--r--pkgs/data/themes/plata/default.nix4
-rw-r--r--pkgs/data/themes/pop-gtk/default.nix62
-rw-r--r--pkgs/data/themes/qtcurve/default.nix (renamed from pkgs/misc/themes/qtcurve/default.nix)2
-rw-r--r--pkgs/data/themes/sierra/default.nix4
-rw-r--r--pkgs/data/themes/solarc/default.nix (renamed from pkgs/misc/themes/solarc/default.nix)0
-rw-r--r--pkgs/data/themes/sweet/default.nix47
-rw-r--r--pkgs/data/themes/vertex/default.nix (renamed from pkgs/misc/themes/vertex/default.nix)0
-rw-r--r--pkgs/desktops/cdesktopenv/default.nix75
-rw-r--r--pkgs/desktops/cinnamon/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/xapps/default.nix104
-rw-r--r--pkgs/desktops/deepin/dbus-factory/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-api/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-api/deps.nix24
-rw-r--r--pkgs/desktops/deepin/dde-calendar/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-control-center/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-daemon/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-daemon/deps.nix20
-rw-r--r--pkgs/desktops/deepin/dde-dock/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-file-manager/default.nix26
-rw-r--r--pkgs/desktops/deepin/dde-launcher/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-network-utils/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-session-ui/default.nix10
-rw-r--r--pkgs/desktops/deepin/deepin-anything/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-calculator/default.nix6
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-base/default.nix6
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-schemas/default.nix10
-rw-r--r--pkgs/desktops/deepin/deepin-editor/default.nix64
-rw-r--r--pkgs/desktops/deepin/deepin-gettext-tools/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-gtk-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-image-viewer/default.nix6
-rw-r--r--pkgs/desktops/deepin/deepin-menu/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-movie-reborn/default.nix24
-rw-r--r--pkgs/desktops/deepin/deepin-screenshot/default.nix6
-rw-r--r--pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-sound-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-terminal/default.nix10
-rw-r--r--pkgs/desktops/deepin/deepin-turbo/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-wallpapers/default.nix2
-rw-r--r--pkgs/desktops/deepin/default.nix2
-rw-r--r--pkgs/desktops/deepin/disomaster/default.nix41
-rw-r--r--pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix4
-rw-r--r--pkgs/desktops/deepin/dtkcore/default.nix13
-rw-r--r--pkgs/desktops/deepin/dtkwidget/default.nix6
-rw-r--r--pkgs/desktops/deepin/dtkwm/default.nix17
-rw-r--r--pkgs/desktops/deepin/go-dbus-factory/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-dbus-generator/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-gir-generator/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-lib/default.nix6
-rw-r--r--pkgs/desktops/deepin/qcef/default.nix8
-rw-r--r--pkgs/desktops/deepin/qt5dxcb-plugin/default.nix2
-rw-r--r--pkgs/desktops/deepin/qt5integration/default.nix4
-rw-r--r--pkgs/desktops/deepin/udisks2-qt5/default.nix6
-rw-r--r--pkgs/desktops/enlightenment/efl.nix19
-rw-r--r--pkgs/desktops/enlightenment/ephoto.nix2
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix4
-rw-r--r--pkgs/desktops/gnome-2/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix14
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix68
-rw-r--r--pkgs/desktops/gnome-3/apps/accerciser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/file-roller/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix121
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix98
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix90
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/default.nix86
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/3.28.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix116
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch132
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch63
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/devtools/anjuta/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/caffeine/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/extensions/gsconnect/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/extensions/workspace-grid.nix30
-rw-r--r--pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix14
-rw-r--r--pkgs/desktops/gnustep/make/setup-hook.sh26
-rw-r--r--pkgs/desktops/mate/atril/default.nix4
-rw-r--r--pkgs/desktops/mate/caja-dropbox/default.nix2
-rw-r--r--pkgs/desktops/mate/caja-extensions/default.nix2
-rw-r--r--pkgs/desktops/mate/caja/default.nix6
-rw-r--r--pkgs/desktops/mate/engrampa/default.nix2
-rw-r--r--pkgs/desktops/mate/eom/default.nix2
-rw-r--r--pkgs/desktops/mate/libmatekbd/default.nix2
-rw-r--r--pkgs/desktops/mate/libmatemixer/default.nix2
-rw-r--r--pkgs/desktops/mate/libmateweather/default.nix2
-rw-r--r--pkgs/desktops/mate/marco/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-backgrounds/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-calc/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-common/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-icon-theme-faenza/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-indicator-applet/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-media/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-menus/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-netbook/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-notification-daemon/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-polkit/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-power-manager/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-screensaver/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-sensors-applet/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-session-manager/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-system-monitor/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-terminal/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-themes/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-user-guide/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-user-share/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-utils/default.nix2
-rw-r--r--pkgs/desktops/mate/mozo/default.nix2
-rw-r--r--pkgs/desktops/mate/pluma/default.nix2
-rw-r--r--pkgs/desktops/mate/python-caja/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calendar/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-camera/default.nix3
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-code/default.nix3
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-feedback/default.nix3
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-files/default.nix3
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-music/default.nix3
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-videos/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/sideload/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix18
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch63
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix12
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch35
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch43
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix24
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch23
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix21
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch20
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix16
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix12
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch33
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch10
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/wrapper.nix27
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix3
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix3
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix13
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix24
-rw-r--r--pkgs/desktops/pantheon/default.nix41
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix21
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix7
-rw-r--r--pkgs/desktops/pantheon/desktop/gala/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix14
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch24
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix31
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel/default.nix2
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix31
-rw-r--r--pkgs/desktops/pantheon/granite/default.nix6
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/.envrc1
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs4
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore32
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/default.nix53
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex71
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex42
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex85
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs28
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix19
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs49
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs1
-rw-r--r--pkgs/desktops/pantheon/services/cerbere/default.nix2
-rw-r--r--pkgs/desktops/pantheon/services/contractor/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix7
-rw-r--r--pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix3
-rw-r--r--pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix6
-rw-r--r--pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix8
-rw-r--r--pkgs/desktops/pantheon/update.nix36
-rwxr-xr-xpkgs/desktops/pantheon/update.sh217
-rw-r--r--pkgs/desktops/plasma-5/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix39
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch18
-rw-r--r--pkgs/desktops/surf-display/default.nix4
-rw-r--r--pkgs/desktops/xfce/applications/catfish/default.nix (renamed from pkgs/applications/search/catfish/default.nix)28
-rw-r--r--pkgs/desktops/xfce/applications/gigolo.nix22
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix (renamed from pkgs/desktops/xfce4-14/gigolo/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/mousepad-12134.patch90
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix38
-rw-r--r--pkgs/desktops/xfce/applications/mousepad/default.nix (renamed from pkgs/desktops/xfce4-14/mousepad/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/orage.nix44
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix (renamed from pkgs/desktops/xfce4-14/orage/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/parole.nix38
-rw-r--r--pkgs/desktops/xfce/applications/parole/default.nix (renamed from pkgs/desktops/xfce4-14/parole/default.nix)9
-rw-r--r--pkgs/desktops/xfce/applications/ristretto.nix34
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix (renamed from pkgs/desktops/xfce4-14/ristretto/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/terminal.nix25
-rw-r--r--pkgs/desktops/xfce/applications/xfburn/default.nix12
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch (renamed from pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch)0
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-dict/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix51
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd.nix32
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter.nix29
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager.nix22
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-terminal/default.nix)0
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix31
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix)2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed/default.nix (renamed from pkgs/desktops/xfce/applications/xfce4-volumed.nix)0
-rw-r--r--pkgs/desktops/xfce/applications/xfdashboard/default.nix (renamed from pkgs/desktops/xfce4-14/xfdashboard/default.nix)0
-rw-r--r--pkgs/desktops/xfce/automakeAddFlags.sh (renamed from pkgs/desktops/xfce4-14/automakeAddFlags.sh)0
-rw-r--r--pkgs/desktops/xfce/core/exo.nix27
-rw-r--r--pkgs/desktops/xfce/core/exo/default.nix (renamed from pkgs/desktops/xfce4-14/exo/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/garcon-10967.patch14
-rw-r--r--pkgs/desktops/xfce/core/garcon-12700.patch44
-rw-r--r--pkgs/desktops/xfce/core/garcon.nix27
-rw-r--r--pkgs/desktops/xfce/core/garcon/default.nix (renamed from pkgs/desktops/xfce4-14/garcon/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/gtk-xfce-engine.nix31
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix41
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui/default.nix (renamed from pkgs/desktops/xfce4-14/libxfce4ui/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util.nix26
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util/default.nix (renamed from pkgs/desktops/xfce4-14/libxfce4util/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/libxfcegui4.nix37
-rw-r--r--pkgs/desktops/xfce/core/thunar-build.nix42
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman.nix30
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman/default.nix (renamed from pkgs/desktops/xfce4-14/thunar-volman/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/thunar.nix68
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix70
-rw-r--r--pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch (renamed from pkgs/desktops/xfce/core/thunarx_plugins_directory.patch)10
-rw-r--r--pkgs/desktops/xfce/core/thunar/wrapper.nix34
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix42
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix (renamed from pkgs/desktops/xfce4-14/tumbler/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder.nix29
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools.nix28
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh (renamed from pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-light-locker.patch25
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix59
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-panel/default.nix)2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch (renamed from pkgs/desktops/xfce/core/xfce4-panel-datadir.patch)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix44
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix44
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-session/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch11
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings.nix54
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-settings/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfconf.nix30
-rw-r--r--pkgs/desktops/xfce/core/xfconf/default.nix (renamed from pkgs/desktops/xfce4-14/xfconf/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop.nix36
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop/default.nix (renamed from pkgs/desktops/xfce4-14/xfdesktop/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/xfwm4.nix31
-rw-r--r--pkgs/desktops/xfce/core/xfwm4/default.nix (renamed from pkgs/desktops/xfce4-14/xfwm4/default.nix)4
-rw-r--r--pkgs/desktops/xfce/default.nix134
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix (renamed from pkgs/desktops/xfce4-14/mkXfceDerivation.nix)0
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix29
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix26
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix34
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix34
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix7
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix27
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix18
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix36
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix28
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix)7
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix65
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix40
-rw-r--r--pkgs/desktops/xfce4-14/default.nix116
-rw-r--r--pkgs/desktops/xfce4-14/thunar/default.nix25
-rw-r--r--pkgs/desktops/xfce4-14/xfburn/default.nix13
-rw-r--r--pkgs/development/androidndk-pkgs/androidndk-pkgs.nix2
-rw-r--r--pkgs/development/beam-modules/build-mix.nix4
-rw-r--r--pkgs/development/beam-modules/default.nix10
-rw-r--r--pkgs/development/beam-modules/hex-packages.nix37751
-rw-r--r--pkgs/development/beam-modules/hex-registry-snapshot.nix27
-rwxr-xr-xpkgs/development/beam-modules/mix-bootstrap6
-rw-r--r--pkgs/development/chez-modules/chez-matchable/default.nix33
-rw-r--r--pkgs/development/chez-modules/chez-mit/default.nix33
-rw-r--r--pkgs/development/chez-modules/chez-scmutils/default.nix33
-rw-r--r--pkgs/development/chez-modules/chez-srfi/default.nix32
-rw-r--r--pkgs/development/compilers/abcl/default.nix4
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix5
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix2
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json160
-rw-r--r--pkgs/development/compilers/bs-platform/bs-platform-62.nix55
-rw-r--r--pkgs/development/compilers/bs-platform/default.nix15
-rw-r--r--pkgs/development/compilers/bs-platform/ocaml.nix16
-rw-r--r--pkgs/development/compilers/carp/default.nix11
-rw-r--r--pkgs/development/compilers/chicken/4/chicken.nix2
-rw-r--r--pkgs/development/compilers/chicken/4/egg2nix.nix2
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/chicken/4/eggs.nix202
-rw-r--r--pkgs/development/compilers/chicken/4/setup-hook.sh3
-rw-r--r--pkgs/development/compilers/chicken/5/chicken.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/egg2nix.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.nix6
-rw-r--r--pkgs/development/compilers/crystal/default.nix67
-rw-r--r--pkgs/development/compilers/cudatoolkit/common.nix220
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix217
-rw-r--r--pkgs/development/compilers/ecl/16.1.2.nix1
-rw-r--r--pkgs/development/compilers/ecl/default.nix4
-rw-r--r--pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch15
-rw-r--r--pkgs/development/compilers/ecl/libffi-3.3-abi.patch15
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix4
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix214
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix221
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix221
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix240
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix213
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix212
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix213
-rw-r--r--pkgs/development/compilers/gcc/common/configure-flags.nix174
-rw-r--r--pkgs/development/compilers/gcc/common/extra-target-flags.nix30
-rw-r--r--pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix1
-rw-r--r--pkgs/development/compilers/gcc/common/pre-configure.nix12
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix210
-rw-r--r--pkgs/development/compilers/gerbil/unstable.nix13
-rw-r--r--pkgs/development/compilers/ghc/8.4.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.6.5.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.8.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/head.nix29
-rw-r--r--pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix2
-rw-r--r--pkgs/development/compilers/gleam/default.nix24
-rw-r--r--pkgs/development/compilers/go-jsonnet/default.nix35
-rw-r--r--pkgs/development/compilers/go-jsonnet/deps.nix48
-rw-r--r--pkgs/development/compilers/go/1.13.nix13
-rw-r--r--pkgs/development/compilers/go/1.4.nix4
-rw-r--r--pkgs/development/compilers/graalvm/default.nix6
-rw-r--r--pkgs/development/compilers/graalvm/enterprise-edition.nix2
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix4
-rw-r--r--pkgs/development/compilers/jasmin/default.nix44
-rw-r--r--pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j31
-rw-r--r--pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix12
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/7/libc++/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/7/libc++abi.nix14
-rw-r--r--pkgs/development/compilers/llvm/7/llvm.nix8
-rw-r--r--pkgs/development/compilers/llvm/8/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/8/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/9/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/9/llvm.nix9
-rw-r--r--pkgs/development/compilers/manticore/default.nix6
-rw-r--r--pkgs/development/compilers/mruby/default.nix4
-rw-r--r--pkgs/development/compilers/nim/default.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix19
-rw-r--r--pkgs/development/compilers/openjdk/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/8.nix7
-rw-r--r--pkgs/development/compilers/openjdk/darwin/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/default.nix2
-rw-r--r--pkgs/development/compilers/openjdk/default.nix2
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix4
-rw-r--r--pkgs/development/compilers/orc/default.nix2
-rw-r--r--pkgs/development/compilers/osl/default.nix6
-rw-r--r--pkgs/development/compilers/polyml/5.6.nix2
-rw-r--r--pkgs/development/compilers/polyml/5.7.nix2
-rw-r--r--pkgs/development/compilers/polyml/default.nix2
-rw-r--r--pkgs/development/compilers/ponyc/default.nix8
-rw-r--r--pkgs/development/compilers/ponyc/pony-stable.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/rasm/default.nix33
-rw-r--r--pkgs/development/compilers/reason/default.nix10
-rw-r--r--pkgs/development/compilers/rgbds/default.nix4
-rw-r--r--pkgs/development/compilers/rust/1_38_0.nix21
-rw-r--r--pkgs/development/compilers/rust/1_39_0.nix29
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix33
-rw-r--r--pkgs/development/compilers/rust/default.nix38
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh1
-rw-r--r--pkgs/development/compilers/rust/rustc.nix28
-rw-r--r--pkgs/development/compilers/rust/setup-hook.sh2
-rw-r--r--pkgs/development/compilers/scala/dotty-bare.nix6
-rw-r--r--pkgs/development/compilers/smlnj/default.nix68
-rw-r--r--pkgs/development/compilers/smlnj/heap2exec.diff9
-rw-r--r--pkgs/development/compilers/souffle/default.nix4
-rw-r--r--pkgs/development/compilers/tinygo/default.nix35
-rw-r--r--pkgs/development/compilers/unison/default.nix10
-rw-r--r--pkgs/development/compilers/vala/default.nix12
-rw-r--r--pkgs/development/compilers/x11basic/default.nix4
-rw-r--r--pkgs/development/compilers/zulu/8.nix2
-rw-r--r--pkgs/development/compilers/zulu/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix6
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix2
-rw-r--r--pkgs/development/coq-modules/paco/default.nix39
-rw-r--r--pkgs/development/em-modules/generic/default.nix4
-rw-r--r--pkgs/development/go-modules/generic/default.nix8
-rw-r--r--pkgs/development/go-packages/generic/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix113
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix40
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml454
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix87
-rw-r--r--pkgs/development/haskell-modules/generic-stack-builder.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix7201
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix5
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix3
-rw-r--r--pkgs/development/haskell-modules/patches/GLUT.patch2
-rw-r--r--pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch8
-rw-r--r--pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch75
-rw-r--r--pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch82
-rw-r--r--pkgs/development/idris-modules/tparsec.nix9
-rw-r--r--pkgs/development/interpreters/clojure/default.nix30
-rw-r--r--pkgs/development/interpreters/duktape/default.nix4
-rw-r--r--pkgs/development/interpreters/eff/default.nix2
-rw-r--r--pkgs/development/interpreters/elixir/1.9.nix6
-rw-r--r--pkgs/development/interpreters/erlang/R22.nix6
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix9
-rw-r--r--pkgs/development/interpreters/gauche/default.nix4
-rw-r--r--pkgs/development/interpreters/gtk-server/default.nix38
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.0.sh8
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.2.sh8
-rw-r--r--pkgs/development/interpreters/guile/setup-hook.sh2
-rw-r--r--pkgs/development/interpreters/hy/default.nix8
-rw-r--r--pkgs/development/interpreters/io/default.nix6
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix30
-rw-r--r--pkgs/development/interpreters/love/0.10.nix4
-rw-r--r--pkgs/development/interpreters/love/0.7.nix4
-rw-r--r--pkgs/development/interpreters/love/0.8.nix4
-rw-r--r--pkgs/development/interpreters/love/0.9.nix4
-rw-r--r--pkgs/development/interpreters/love/11.1.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/CVE-2014-5461.patch (renamed from pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch)0
-rw-r--r--pkgs/development/interpreters/lua-5/CVE-2019-6706.patch22
-rw-r--r--pkgs/development/interpreters/lua-5/build-lua-package.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/default.nix9
-rw-r--r--pkgs/development/interpreters/lua-5/setup-hook.sh2
-rw-r--r--pkgs/development/interpreters/lua-5/wrapper.nix13
-rw-r--r--pkgs/development/interpreters/lush/default.nix4
-rw-r--r--pkgs/development/interpreters/octave/default.nix8
-rw-r--r--pkgs/development/interpreters/perl/default.nix38
-rw-r--r--pkgs/development/interpreters/php/default.nix34
-rw-r--r--pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch100
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix3
-rw-r--r--pkgs/development/interpreters/python/default.nix27
-rw-r--r--pkgs/development/interpreters/python/hooks/flit-build-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/pip-build-hook.sh4
-rw-r--r--pkgs/development/interpreters/python/hooks/pip-install-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/pytest-check-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh6
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh2
-rw-r--r--pkgs/development/interpreters/python/manylinux/default.nix86
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py2
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix42
-rw-r--r--pkgs/development/interpreters/racket/default.nix8
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/interpreters/renpy/default.nix14
-rw-r--r--pkgs/development/interpreters/ruby/default.nix33
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix2
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/default.nix4
-rw-r--r--pkgs/development/interpreters/wasmtime/cargo-lock.patch1998
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix16
-rw-r--r--pkgs/development/libraries/AntTweakBar/default.nix4
-rw-r--r--pkgs/development/libraries/CGAL/4.nix28
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/SDL2/default.nix16
-rw-r--r--pkgs/development/libraries/SDL2/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/agda/Agda-Sheaves/default.nix2
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-base/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix3
-rw-r--r--pkgs/development/libraries/agda/bitvector/default.nix2
-rw-r--r--pkgs/development/libraries/agda/categories/default.nix2
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix2
-rw-r--r--pkgs/development/libraries/allegro/5.nix4
-rw-r--r--pkgs/development/libraries/allegro/default.nix4
-rw-r--r--pkgs/development/libraries/aqbanking/libchipcard.nix2
-rw-r--r--pkgs/development/libraries/arb/default.nix5
-rw-r--r--pkgs/development/libraries/argp-standalone/default.nix2
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrayfire/default.nix60
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix6
-rw-r--r--pkgs/development/libraries/aspell/default.nix14
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix3
-rw-r--r--pkgs/development/libraries/audio/libmysofa/default.nix4
-rw-r--r--pkgs/development/libraries/bamf/default.nix49
-rw-r--r--pkgs/development/libraries/bamf/gtester2xunit-python3.patch53
-rw-r--r--pkgs/development/libraries/bcg729/default.nix43
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix24
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix17
-rw-r--r--pkgs/development/libraries/boehm-gc/7.6.6.nix6
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix14
-rw-r--r--pkgs/development/libraries/boehm-gc/mcfgthread.patch11
-rw-r--r--pkgs/development/libraries/boost/1.71.nix15
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/box2d/default.nix4
-rw-r--r--pkgs/development/libraries/boxfort/default.nix47
-rw-r--r--pkgs/development/libraries/bullet/default.nix4
-rw-r--r--pkgs/development/libraries/bullet/roboschool-fork.nix4
-rw-r--r--pkgs/development/libraries/c-blosc/default.nix2
-rw-r--r--pkgs/development/libraries/caf/default.nix21
-rw-r--r--pkgs/development/libraries/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/catch2/default.nix4
-rw-r--r--pkgs/development/libraries/check/default.nix4
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/cl/default.nix4
-rw-r--r--pkgs/development/libraries/clipper/default.nix3
-rw-r--r--pkgs/development/libraries/cln/default.nix6
-rw-r--r--pkgs/development/libraries/clutter/default.nix4
-rw-r--r--pkgs/development/libraries/codec2/default.nix12
-rw-r--r--pkgs/development/libraries/cogl/default.nix12
-rw-r--r--pkgs/development/libraries/coin3d/default.nix4
-rw-r--r--pkgs/development/libraries/coprthr/default.nix38
-rw-r--r--pkgs/development/libraries/coredumper/default.nix18
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix4
-rw-r--r--pkgs/development/libraries/criterion/default.nix49
-rw-r--r--pkgs/development/libraries/csfml/default.nix6
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/dconf/default.nix (renamed from pkgs/desktops/gnome-3/core/dconf/default.nix)5
-rw-r--r--pkgs/development/libraries/dleyna-core/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/dlib/default.nix4
-rw-r--r--pkgs/development/libraries/egl-wayland/default.nix79
-rw-r--r--pkgs/development/libraries/egl-wayland/eglmesaext.patch12
-rw-r--r--pkgs/development/libraries/enet/default.nix2
-rw-r--r--pkgs/development/libraries/exempi/default.nix3
-rw-r--r--pkgs/development/libraries/faudio/default.nix4
-rw-r--r--pkgs/development/libraries/fdk-aac/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix9
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix16
-rw-r--r--pkgs/development/libraries/ffms/default.nix2
-rw-r--r--pkgs/development/libraries/flatpak/default.nix12
-rw-r--r--pkgs/development/libraries/fltk/1.4.nix8
-rw-r--r--pkgs/development/libraries/fltk/default.nix8
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/default.nix49
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-cache.nix2
-rw-r--r--pkgs/development/libraries/forge/default.nix4
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--pkgs/development/libraries/fplll/default.nix50
-rw-r--r--pkgs/development/libraries/freeglut/default.nix4
-rw-r--r--pkgs/development/libraries/freenect/default.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix2
-rw-r--r--pkgs/development/libraries/fribidi/default.nix8
-rw-r--r--pkgs/development/libraries/ftgl/default.nix4
-rw-r--r--pkgs/development/libraries/gaia/default.nix87
-rw-r--r--pkgs/development/libraries/garmintools/default.nix3
-rw-r--r--pkgs/development/libraries/gcab/default.nix69
-rw-r--r--pkgs/development/libraries/gcab/installed-tests-path.patch21
-rw-r--r--pkgs/development/libraries/gcr/default.nix71
-rw-r--r--pkgs/development/libraries/gdal/2.4.0.nix9
-rw-r--r--pkgs/development/libraries/gdal/default.nix10
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix11
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix3
-rw-r--r--pkgs/development/libraries/geoip/default.nix2
-rw-r--r--pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch323
-rw-r--r--pkgs/development/libraries/gettext/default.nix28
-rw-r--r--pkgs/development/libraries/gettext/gettext-setup-hook.sh2
-rw-r--r--pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch82
-rw-r--r--pkgs/development/libraries/giflib/default.nix2
-rw-r--r--pkgs/development/libraries/gjs/default.nix (renamed from pkgs/desktops/gnome-3/core/gjs/default.nix)65
-rw-r--r--pkgs/development/libraries/gle/default.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix11
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix2
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glib/setup-hook.sh8
-rw-r--r--pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch18
-rw-r--r--pkgs/development/libraries/glibc/common.nix5
-rw-r--r--pkgs/development/libraries/glm/default.nix2
-rw-r--r--pkgs/development/libraries/glog/default.nix11
-rw-r--r--pkgs/development/libraries/gloox/default.nix6
-rw-r--r--pkgs/development/libraries/glui/default.nix42
-rw-r--r--pkgs/development/libraries/gmime/3.nix4
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix4
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix14
-rw-r--r--pkgs/development/libraries/gnutls/default.nix4
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/gom/default.nix3
-rw-r--r--pkgs/development/libraries/gpgme/default.nix2
-rw-r--r--pkgs/development/libraries/graphene/default.nix2
-rw-r--r--pkgs/development/libraries/grib-api/default.nix20
-rw-r--r--pkgs/development/libraries/grpc/default.nix14
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix252
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix176
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix107
-rw-r--r--pkgs/development/libraries/gstreamer/core/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix65
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix155
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix55
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix52
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix85
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix83
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix46
-rw-r--r--pkgs/development/libraries/gtest/default.nix4
-rw-r--r--pkgs/development/libraries/gtk-engine-bluecurve/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-engine-murrine/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-engines/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engines/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh2
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix2
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix2
-rw-r--r--pkgs/development/libraries/hyphen/default.nix27
-rw-r--r--pkgs/development/libraries/icu/base.nix12
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix16
-rw-r--r--pkgs/development/libraries/incrtcl/default.nix6
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix6
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix5
-rwxr-xr-xpkgs/development/libraries/java/hsqldb/builder.sh6
-rw-r--r--pkgs/development/libraries/java/hsqldb/default.nix36
-rw-r--r--pkgs/development/libraries/java/smack/default.nix2
-rw-r--r--pkgs/development/libraries/java/swt/default.nix4
-rw-r--r--pkgs/development/libraries/jbig2dec/default.nix6
-rw-r--r--pkgs/development/libraries/jitterentropy/default.nix3
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh4
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcalendarcore.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks/ki18n.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch16
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix648
-rw-r--r--pkgs/development/libraries/khronos-ocl-icd-loader/default.nix26
-rw-r--r--pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch13
-rw-r--r--pkgs/development/libraries/ldns/default.nix37
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--pkgs/development/libraries/libaal/default.nix2
-rw-r--r--pkgs/development/libraries/libagar/default.nix6
-rw-r--r--pkgs/development/libraries/libao/default.nix2
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix38
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix2
-rw-r--r--pkgs/development/libraries/libcec/default.nix5
-rw-r--r--pkgs/development/libraries/libcerf/default.nix15
-rw-r--r--pkgs/development/libraries/libco-canonical/default.nix15
-rw-r--r--pkgs/development/libraries/libdigidocpp/default.nix4
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libexif/default.nix25
-rw-r--r--pkgs/development/libraries/libextractor/default.nix6
-rw-r--r--pkgs/development/libraries/libffi/3.2.1-cygwin.patch10
-rw-r--r--pkgs/development/libraries/libffi/default.nix48
-rw-r--r--pkgs/development/libraries/libfido2/default.nix6
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix40
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix6
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix3
-rw-r--r--pkgs/development/libraries/libgdata/default.nix2
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix16
-rw-r--r--pkgs/development/libraries/libgnomekbd/default.nix20
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix6
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix2
-rw-r--r--pkgs/development/libraries/libgpod/default.nix14
-rw-r--r--pkgs/development/libraries/libgudev/default.nix1
-rw-r--r--pkgs/development/libraries/libhandy/default.nix4
-rw-r--r--pkgs/development/libraries/libheif/default.nix6
-rw-r--r--pkgs/development/libraries/libical/default.nix4
-rw-r--r--pkgs/development/libraries/libicns/default.nix18
-rw-r--r--pkgs/development/libraries/libiconv/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--pkgs/development/libraries/libindicate/default.nix66
-rw-r--r--pkgs/development/libraries/libinput/default.nix5
-rw-r--r--pkgs/development/libraries/libisds/default.nix34
-rw-r--r--pkgs/development/libraries/libisoburn/default.nix4
-rw-r--r--pkgs/development/libraries/liblouis/default.nix4
-rw-r--r--pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch73
-rw-r--r--pkgs/development/libraries/libmad/default.nix56
-rw-r--r--pkgs/development/libraries/libmad/optimize.diff77
-rw-r--r--pkgs/development/libraries/libmad/pkgconfig.patch117
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix4
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libminc/default.nix11
-rw-r--r--pkgs/development/libraries/libmodule/default.nix4
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix2
-rw-r--r--pkgs/development/libraries/libmypaint/default.nix8
-rw-r--r--pkgs/development/libraries/libndctl/default.nix4
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libngspice/default.nix4
-rw-r--r--pkgs/development/libraries/libnice/default.nix53
-rw-r--r--pkgs/development/libraries/libnotify/default.nix27
-rw-r--r--pkgs/development/libraries/libofx/default.nix24
-rw-r--r--pkgs/development/libraries/libosmium/default.nix4
-rw-r--r--pkgs/development/libraries/libowfat/default.nix1
-rw-r--r--pkgs/development/libraries/libplacebo/default.nix6
-rw-r--r--pkgs/development/libraries/libpng/12.nix2
-rw-r--r--pkgs/development/libraries/libpng/default.nix2
-rw-r--r--pkgs/development/libraries/libpsl/default.nix42
-rw-r--r--pkgs/development/libraries/libpwquality/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/libraspberrypi/default.nix25
-rw-r--r--pkgs/development/libraries/libraw/default.nix7
-rw-r--r--pkgs/development/libraries/libre/default.nix3
-rw-r--r--pkgs/development/libraries/librealsense/default.nix16
-rw-r--r--pkgs/development/libraries/librem/default.nix3
-rw-r--r--pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix4
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libsexy/default.nix24
-rw-r--r--pkgs/development/libraries/libsolv/default.nix5
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libspectrum/default.nix24
-rw-r--r--pkgs/development/libraries/libtcod/default.nix4
-rw-r--r--pkgs/development/libraries/libtermkey/default.nix7
-rw-r--r--pkgs/development/libraries/libtiff/CVE-2019-14973.patch384
-rw-r--r--pkgs/development/libraries/libtiff/default.nix14
-rw-r--r--pkgs/development/libraries/libtommath/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix6
-rw-r--r--pkgs/development/libraries/libtxc_dxtn/default.nix4
-rw-r--r--pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix4
-rw-r--r--pkgs/development/libraries/liburing/default.nix2
-rw-r--r--pkgs/development/libraries/libusb1/default.nix9
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix40
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix1
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix6
-rw-r--r--pkgs/development/libraries/libwebp/default.nix6
-rw-r--r--pkgs/development/libraries/libwmf/default.nix2
-rw-r--r--pkgs/development/libraries/libxl/default.nix10
-rw-r--r--pkgs/development/libraries/libxml2/default.nix31
-rw-r--r--pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch30
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix2
-rw-r--r--pkgs/development/libraries/libxslt/default.nix32
-rw-r--r--pkgs/development/libraries/libzip/default.nix24
-rw-r--r--pkgs/development/libraries/lightstep-tracer-cpp/default.nix39
-rw-r--r--pkgs/development/libraries/linbox/default.nix2
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/mapnik/default.nix2
-rw-r--r--pkgs/development/libraries/mbedtls/1.3.nix34
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix18
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix23
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/stubs.nix4
-rw-r--r--pkgs/development/libraries/mimalloc/default.nix34
-rw-r--r--pkgs/development/libraries/minizip/default.nix1
-rw-r--r--pkgs/development/libraries/mpich/default.nix4
-rw-r--r--pkgs/development/libraries/muparser/default.nix8
-rw-r--r--pkgs/development/libraries/mygui/default.nix5
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix12
-rw-r--r--pkgs/development/libraries/nco/default.nix13
-rw-r--r--pkgs/development/libraries/ncurses/default.nix1
-rw-r--r--pkgs/development/libraries/ndi/default.nix60
-rw-r--r--pkgs/development/libraries/netcdf/default.nix11
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix13
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix8
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix7
-rw-r--r--pkgs/development/libraries/nss_wrapper/default.nix4
-rw-r--r--pkgs/development/libraries/ntl/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.9.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/default.nix4
-rw-r--r--pkgs/development/libraries/olm/default.nix20
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix2
-rw-r--r--pkgs/development/libraries/onnxruntime/default.nix9
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix8
-rw-r--r--pkgs/development/libraries/openal-soft/search-out.patch12
-rw-r--r--pkgs/development/libraries/openbabel/default.nix2
-rw-r--r--pkgs/development/libraries/openbsm/default.nix3
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix2
-rw-r--r--pkgs/development/libraries/opencsg/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix8
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix2
-rw-r--r--pkgs/development/libraries/opencv/default.nix2
-rw-r--r--pkgs/development/libraries/openexr/default.nix12
-rw-r--r--pkgs/development/libraries/openexrid-unstable/default.nix4
-rw-r--r--pkgs/development/libraries/openh264/default.nix16
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix6
-rw-r--r--pkgs/development/libraries/ortp/default.nix9
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix23
-rw-r--r--pkgs/development/libraries/pangox-compat/default.nix21
-rw-r--r--pkgs/development/libraries/partio/default.nix4
-rw-r--r--pkgs/development/libraries/pcaudiolib/default.nix8
-rw-r--r--pkgs/development/libraries/pcre/default.nix2
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix41
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix45
-rw-r--r--pkgs/development/libraries/phonon/default.nix59
-rw-r--r--pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--pkgs/development/libraries/physics/applgrid/default.nix5
-rw-r--r--pkgs/development/libraries/physics/fastjet-contrib/default.nix40
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix4
-rw-r--r--pkgs/development/libraries/physics/herwig/default.nix20
-rw-r--r--pkgs/development/libraries/physics/pythia/default.nix4
-rw-r--r--pkgs/development/libraries/physics/qcdnum/default.nix3
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix6
-rw-r--r--pkgs/development/libraries/physics/thepeg/default.nix14
-rw-r--r--pkgs/development/libraries/plib/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix12
-rw-r--r--pkgs/development/libraries/poppler/default.nix14
-rw-r--r--pkgs/development/libraries/precice/default.nix33
-rw-r--r--pkgs/development/libraries/prometheus-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.11.nix6
-rw-r--r--pkgs/development/libraries/protolock/default.nix6
-rw-r--r--pkgs/development/libraries/pybind11/default.nix47
-rw-r--r--pkgs/development/libraries/pybind11/no_test_cmake_build.patch7
-rw-r--r--pkgs/development/libraries/qgnomeplatform/default.nix17
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/qt-3/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.11/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase.patch1106
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch46
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qttools.patch86
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch37
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebkit.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/srcs.nix325
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.12/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch41
-rw-r--r--pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch16
-rw-r--r--pkgs/development/libraries/qt-5/5.12/srcs.nix320
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix179
-rw-r--r--pkgs/development/libraries/qt-5/5.9/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase.patch1119
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools.patch71
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch38
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.9/srcs.nix333
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qmake-hook.sh4
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh4
-rw-r--r--pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh8
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix2
-rw-r--r--pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch10
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix2
-rw-r--r--pkgs/development/libraries/qtpbfimageplugin/default.nix8
-rw-r--r--pkgs/development/libraries/quesoglc/default.nix4
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix4
-rw-r--r--pkgs/development/libraries/randomx/default.nix24
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--pkgs/development/libraries/rnnoise/default.nix23
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix33
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix8
-rw-r--r--pkgs/development/libraries/science/biology/elastix/default.nix15
-rw-r--r--pkgs/development/libraries/science/biology/nifticlib/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/QuadProgpp/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/brial/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix11
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix17
-rw-r--r--pkgs/development/libraries/science/math/mkl/default.nix1
-rw-r--r--pkgs/development/libraries/science/math/or-tools/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix15
-rw-r--r--pkgs/development/libraries/science/math/scalapack/openmpi4.patch143
-rw-r--r--pkgs/development/libraries/sentencepiece/default.nix31
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix6
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix2
-rw-r--r--pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix4
-rw-r--r--pkgs/development/libraries/snappy/default.nix2
-rw-r--r--pkgs/development/libraries/sonic/default.nix10
-rw-r--r--pkgs/development/libraries/soxt/default.nix4
-rw-r--r--pkgs/development/libraries/spandsp/default.nix1
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix2
-rw-r--r--pkgs/development/libraries/sundials/default.nix16
-rw-r--r--pkgs/development/libraries/sundials/tests-parallel.patch45
-rw-r--r--pkgs/development/libraries/tcllib/default.nix4
-rw-r--r--pkgs/development/libraries/tdb/default.nix4
-rw-r--r--pkgs/development/libraries/tepl/default.nix4
-rw-r--r--pkgs/development/libraries/tiledb/default.nix76
-rw-r--r--pkgs/development/libraries/tpm2-tss/default.nix4
-rw-r--r--pkgs/development/libraries/tre/default.nix2
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix35
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix9
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix4
-rw-r--r--pkgs/development/libraries/vrpn/default.nix4
-rw-r--r--pkgs/development/libraries/vtk/default.nix6
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix111
-rw-r--r--pkgs/development/libraries/webkitgtk/configure.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix199
-rw-r--r--pkgs/development/libraries/webkitgtk/fix-execinfo.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/libc++.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/libglvnd-headers.patch586
-rw-r--r--pkgs/development/libraries/webkitgtk/plugin-none.patch38
-rw-r--r--pkgs/development/libraries/webkitgtk/quartz-webcore.patch22
-rw-r--r--pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch8
-rw-r--r--pkgs/development/libraries/wlroots/default.nix11
-rw-r--r--pkgs/development/libraries/wt/default.nix8
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix9
-rw-r--r--pkgs/development/libraries/wxwidgets/3.1/default.nix9
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix8
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--pkgs/development/libraries/yajl/default.nix2
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix69
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix1
-rw-r--r--pkgs/development/lisp-modules/clwrapper/setup-hook.sh8
-rw-r--r--pkgs/development/lisp-modules/define-package.nix8
-rw-r--r--pkgs/development/lisp-modules/openssl-lib-marked.nix2
-rw-r--r--pkgs/development/lua-modules/overrides.nix4
-rw-r--r--pkgs/development/misc/amdapp-sdk/default.nix4
-rw-r--r--pkgs/development/misc/vc4/newlib.nix28
-rw-r--r--pkgs/development/misc/yelp-tools/default.nix (renamed from pkgs/desktops/gnome-3/core/yelp-tools/default.nix)4
-rw-r--r--pkgs/development/mobile/androidenv/deploy-androidpackage.nix1
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix2
-rw-r--r--pkgs/development/mobile/cocoapods/Gemfile-beta.lock27
-rw-r--r--pkgs/development/mobile/cocoapods/Gemfile.lock10
-rw-r--r--pkgs/development/mobile/cocoapods/gemset-beta.nix62
-rw-r--r--pkgs/development/mobile/cocoapods/gemset.nix16
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix (renamed from pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix)19
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix2
-rw-r--r--pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix2
-rw-r--r--pkgs/development/node-packages/node-env.nix2
-rw-r--r--pkgs/development/node-packages/node-packages-v10.json4
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix10829
-rw-r--r--pkgs/development/node-packages/node-packages-v12.nix20
-rw-r--r--pkgs/development/node-packages/node-packages-v13.nix30
-rw-r--r--pkgs/development/ocaml-modules/alcotest/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/alcotest/lwt.nix16
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/biocaml/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/bos/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/camlzip/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.2.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.5.nix2
-rw-r--r--pkgs/development/ocaml-modules/cfstream/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/cfstream/git_commit.patch13
-rw-r--r--pkgs/development/ocaml-modules/checkseum/default.nix45
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/cpuid/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/cryptgps/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/dispatch/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/dtoa/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/dune-configurator/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/dune-private-libs/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/eigen/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/facile/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/functoria/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/gnuplot/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/graphql/cohttp.nix24
-rw-r--r--pkgs/development/ocaml-modules/graphql/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/graphql/lwt.nix19
-rw-r--r--pkgs/development/ocaml-modules/graphql/parser.nix28
-rw-r--r--pkgs/development/ocaml-modules/index/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/irmin-watcher/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/irmin/1.4.nix26
-rw-r--r--pkgs/development/ocaml-modules/irmin/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/irmin/fs.nix21
-rw-r--r--pkgs/development/ocaml-modules/irmin/git.nix20
-rw-r--r--pkgs/development/ocaml-modules/irmin/graphql.nix20
-rw-r--r--pkgs/development/ocaml-modules/irmin/http.nix23
-rw-r--r--pkgs/development/ocaml-modules/irmin/mem.nix19
-rw-r--r--pkgs/development/ocaml-modules/irmin/pack.nix19
-rw-r--r--pkgs/development/ocaml-modules/irmin/test.nix15
-rw-r--r--pkgs/development/ocaml-modules/irmin/unix.nix26
-rw-r--r--pkgs/development/ocaml-modules/iso8601/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/jsonm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/kafka/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/2.14.0.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/logs/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/lua-ml/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/lwt/3.x.nix39
-rw-r--r--pkgs/development/ocaml-modules/lwt/4.x.nix15
-rw-r--r--pkgs/development/ocaml-modules/lwt/legacy.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/ppx.nix3
-rw-r--r--pkgs/development/ocaml-modules/magic-mime/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/menhir/generic.nix2
-rw-r--r--pkgs/development/ocaml-modules/metrics/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/metrics/lwt.nix14
-rw-r--r--pkgs/development/ocaml-modules/metrics/unix.nix19
-rw-r--r--pkgs/development/ocaml-modules/mtime/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/num/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/num/enable-static.patch12
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ocamlnat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocurl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/odn/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/opam-file-format/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/opam-file-format/optional-static.patch13
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/owl-base/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/owl/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/parany/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_gen_rec/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/printbox/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ptime/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/react/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/rope/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/rpclib/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/setcore/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/sodium/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stdint/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/topkg/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/type_conv/108.08.00.nix2
-rw-r--r--pkgs/development/ocaml-modules/type_conv/109.60.01.nix2
-rw-r--r--pkgs/development/ocaml-modules/type_conv/112.01.01.nix2
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/webmachine/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/wtf8/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/yaml/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix11
-rw-r--r--pkgs/development/perl-modules/MNI/default.nix1
-rw-r--r--pkgs/development/perl-modules/Mozilla-LDAP/default.nix1
-rw-r--r--pkgs/development/perl-modules/generic/default.nix6
-rw-r--r--pkgs/development/perl-modules/strip-nondeterminism/default.nix1
-rw-r--r--pkgs/development/pharo/vm/build-vm-legacy.nix6
-rw-r--r--pkgs/development/pharo/vm/build-vm.nix6
-rw-r--r--pkgs/development/pharo/vm/vms.nix2
-rw-r--r--pkgs/development/pure-modules/gl/default.nix4
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/Babel/default.nix4
-rw-r--r--pkgs/development/python-modules/Cython/default.nix14
-rw-r--r--pkgs/development/python-modules/GitPython/default.nix4
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/ROPGadget/default.nix4
-rw-r--r--pkgs/development/python-modules/Rtree/default.nix4
-rw-r--r--pkgs/development/python-modules/Theano/default.nix6
-rw-r--r--pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aioeventlet/default.nix2
-rw-r--r--pkgs/development/python-modules/aiokafka/default.nix49
-rw-r--r--pkgs/development/python-modules/aioredis/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorun/default.nix45
-rw-r--r--pkgs/development/python-modules/alot/default.nix8
-rw-r--r--pkgs/development/python-modules/ansi2html/default.nix2
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible/default.nix12
-rw-r--r--pkgs/development/python-modules/ansiwrap/default.nix44
-rw-r--r--pkgs/development/python-modules/anytree/default.nix10
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix188
-rw-r--r--pkgs/development/python-modules/apispec/default.nix36
-rw-r--r--pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--pkgs/development/python-modules/apsw/default.nix12
-rw-r--r--pkgs/development/python-modules/aresponses/default.nix4
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--pkgs/development/python-modules/arrayqueues/default.nix25
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/arviz/default.nix80
-rw-r--r--pkgs/development/python-modules/astor/default.nix16
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy-healpix/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy-helpers/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch54
-rw-r--r--pkgs/development/python-modules/astroquery/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--pkgs/development/python-modules/atomman/default.nix33
-rw-r--r--pkgs/development/python-modules/authlib/default.nix35
-rw-r--r--pkgs/development/python-modules/awkward/default.nix4
-rw-r--r--pkgs/development/python-modules/awkward1/default.nix37
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix10
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-xray-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-cli-core/default.nix93
-rw-r--r--pkgs/development/python-modules/azure-cli-telemetry/default.nix50
-rw-r--r--pkgs/development/python-modules/azure-cosmos/default.nix5
-rw-r--r--pkgs/development/python-modules/azure-cosmosdb-table/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-datalake-store/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-functions-devops-build/default.nix30
-rw-r--r--pkgs/development/python-modules/azure-keyvault/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-loganalytics/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-batchai/default.nix5
-rw-r--r--pkgs/development/python-modules/azure-mgmt-billing/default.nix28
-rw-r--r--pkgs/development/python-modules/azure-mgmt-botservice/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-consumption/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datamigration/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-dns/default.nix11
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix9
-rw-r--r--pkgs/development/python-modules/azure-mgmt-keyvault/default.nix9
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-managedservices/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-maps/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-monitor/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-msi/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-privatedns/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-relay/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-reservations/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-security/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-multiapi-storage/default.nix36
-rw-r--r--pkgs/development/python-modules/babelgladeextractor/default.nix33
-rw-r--r--pkgs/development/python-modules/bcdoc/default.nix2
-rw-r--r--pkgs/development/python-modules/behave/default.nix5
-rw-r--r--pkgs/development/python-modules/binwalk/default.nix2
-rw-r--r--pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/black/default.nix11
-rw-r--r--pkgs/development/python-modules/blist/default.nix10
-rw-r--r--pkgs/development/python-modules/boltons/default.nix4
-rw-r--r--pkgs/development/python-modules/boltztrap2/default.nix2
-rw-r--r--pkgs/development/python-modules/bottle/default.nix4
-rw-r--r--pkgs/development/python-modules/bottleneck/default.nix26
-rw-r--r--pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--pkgs/development/python-modules/bugz/default.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix14
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix50
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix6
-rw-r--r--pkgs/development/python-modules/cadquery/default.nix93
-rw-r--r--pkgs/development/python-modules/caldav/default.nix4
-rw-r--r--pkgs/development/python-modules/carbon/default.nix4
-rw-r--r--pkgs/development/python-modules/casbin/default.nix40
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/catalogue/default.nix24
-rw-r--r--pkgs/development/python-modules/cchardet/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix6
-rw-r--r--pkgs/development/python-modules/chainer/default.nix31
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix4
-rw-r--r--pkgs/development/python-modules/ckcc-protocol/default.nix35
-rw-r--r--pkgs/development/python-modules/cleo/default.nix4
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix4
-rw-r--r--pkgs/development/python-modules/cliff/default.nix19
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--pkgs/development/python-modules/coilmq/default.nix2
-rw-r--r--pkgs/development/python-modules/colorama/default.nix4
-rw-r--r--pkgs/development/python-modules/colored/default.nix4
-rw-r--r--pkgs/development/python-modules/colorspacious/default.nix24
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix4
-rw-r--r--pkgs/development/python-modules/configshell/default.nix4
-rw-r--r--pkgs/development/python-modules/consonance/default.nix29
-rw-r--r--pkgs/development/python-modules/cookiecutter/default.nix4
-rw-r--r--pkgs/development/python-modules/cornice/default.nix4
-rw-r--r--pkgs/development/python-modules/crccheck/default.nix23
-rw-r--r--pkgs/development/python-modules/croniter/default.nix37
-rw-r--r--pkgs/development/python-modules/cssmin/default.nix2
-rw-r--r--pkgs/development/python-modules/cssutils/default.nix2
-rw-r--r--pkgs/development/python-modules/curio/default.nix2
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-ml/default.nix33
-rw-r--r--pkgs/development/python-modules/dask/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix12
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/ddt/default.nix4
-rw-r--r--pkgs/development/python-modules/decorator/default.nix8
-rw-r--r--pkgs/development/python-modules/demjson/default.nix2
-rw-r--r--pkgs/development/python-modules/deprecated/default.nix9
-rw-r--r--pkgs/development/python-modules/diff-match-patch/default.nix2
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix4
-rw-r--r--pkgs/development/python-modules/dill/default.nix4
-rw-r--r--pkgs/development/python-modules/diskcache/default.nix2
-rw-r--r--pkgs/development/python-modules/dissononce/default.nix26
-rw-r--r--pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--pkgs/development/python-modules/django-dynamic-preferences/default.nix4
-rw-r--r--pkgs/development/python-modules/django-mailman3/default.nix4
-rw-r--r--pkgs/development/python-modules/django-multiselectfield/default.nix4
-rw-r--r--pkgs/development/python-modules/django-storages/default.nix4
-rw-r--r--pkgs/development/python-modules/django/1_11.nix4
-rw-r--r--pkgs/development/python-modules/django/2_1.nix4
-rw-r--r--pkgs/development/python-modules/django/2_2.nix4
-rw-r--r--pkgs/development/python-modules/django_contrib_comments/default.nix4
-rw-r--r--pkgs/development/python-modules/django_evolution/default.nix2
-rw-r--r--pkgs/development/python-modules/django_reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/dmenu/default.nix2
-rw-r--r--pkgs/development/python-modules/docker/default.nix25
-rw-r--r--pkgs/development/python-modules/dotnetcore2/default.nix4
-rw-r--r--pkgs/development/python-modules/dpkt/default.nix2
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix4
-rw-r--r--pkgs/development/python-modules/easysnmp/default.nix56
-rw-r--r--pkgs/development/python-modules/elementpath/default.nix4
-rw-r--r--pkgs/development/python-modules/emcee/default.nix6
-rw-r--r--pkgs/development/python-modules/etelemetry/default.nix29
-rw-r--r--pkgs/development/python-modules/extras/default.nix6
-rw-r--r--pkgs/development/python-modules/eyed3/default.nix6
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fastparquet/default.nix24
-rw-r--r--pkgs/development/python-modules/feedparser/default.nix2
-rw-r--r--pkgs/development/python-modules/fido2/default.nix19
-rw-r--r--pkgs/development/python-modules/fiona/default.nix6
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8/default.nix4
-rw-r--r--pkgs/development/python-modules/flammkuchen/default.nix36
-rw-r--r--pkgs/development/python-modules/flask-admin/default.nix71
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/default.nix80
-rw-r--r--pkgs/development/python-modules/flask-babelex/default.nix47
-rw-r--r--pkgs/development/python-modules/flask-bcrypt/default.nix35
-rw-r--r--pkgs/development/python-modules/flask-elastic/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-httpauth/default.nix20
-rw-r--r--pkgs/development/python-modules/flask-mongoengine/default.nix47
-rw-r--r--pkgs/development/python-modules/flask-openid/default.nix34
-rw-r--r--pkgs/development/python-modules/flup/default.nix2
-rw-r--r--pkgs/development/python-modules/folium/default.nix4
-rw-r--r--pkgs/development/python-modules/foxdot/default.nix4
-rw-r--r--pkgs/development/python-modules/fpylll/default.nix26
-rw-r--r--pkgs/development/python-modules/funcparserlib/default.nix2
-rw-r--r--pkgs/development/python-modules/funcy/default.nix4
-rw-r--r--pkgs/development/python-modules/future/default.nix4
-rw-r--r--pkgs/development/python-modules/gateone/default.nix2
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix12
-rw-r--r--pkgs/development/python-modules/gdata/default.nix4
-rw-r--r--pkgs/development/python-modules/geopandas/default.nix6
-rw-r--r--pkgs/development/python-modules/geopy/2.nix28
-rw-r--r--pkgs/development/python-modules/geopy/default.nix31
-rw-r--r--pkgs/development/python-modules/git-revise/default.nix4
-rw-r--r--pkgs/development/python-modules/goocalendar/default.nix15
-rw-r--r--pkgs/development/python-modules/google-auth-httplib2/default.nix6
-rw-r--r--pkgs/development/python-modules/google-pasta/default.nix4
-rw-r--r--pkgs/development/python-modules/google_apputils/default.nix2
-rw-r--r--pkgs/development/python-modules/google_cloud_automl/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_speech/default.nix2
-rw-r--r--pkgs/development/python-modules/google_cloud_translate/default.nix13
-rw-r--r--pkgs/development/python-modules/google_cloud_vision/default.nix7
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix11
-rw-r--r--pkgs/development/python-modules/gplaycli/default.nix4
-rw-r--r--pkgs/development/python-modules/gpyopt/default.nix29
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/gunicorn/default.nix18
-rw-r--r--pkgs/development/python-modules/gyp/default.nix6
-rw-r--r--pkgs/development/python-modules/handout/default.nix4
-rw-r--r--pkgs/development/python-modules/hbmqtt/default.nix5
-rw-r--r--pkgs/development/python-modules/hdbscan/default.nix7
-rw-r--r--pkgs/development/python-modules/hiredis/default.nix4
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--pkgs/development/python-modules/homeassistant-pyozw/default.nix4
-rw-r--r--pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/httplib2/default.nix2
-rw-r--r--pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--pkgs/development/python-modules/hvac/default.nix8
-rw-r--r--pkgs/development/python-modules/hvplot/default.nix2
-rw-r--r--pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--pkgs/development/python-modules/ics/default.nix12
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/0.4.nix4
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix3
-rw-r--r--pkgs/development/python-modules/iniparse/default.nix2
-rw-r--r--pkgs/development/python-modules/inotify-simple/default.nix4
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix10
-rw-r--r--pkgs/development/python-modules/intreehooks/default.nix28
-rw-r--r--pkgs/development/python-modules/ipaddr/default.nix2
-rw-r--r--pkgs/development/python-modules/ipdb/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix14
-rw-r--r--pkgs/development/python-modules/itanium_demangler/default.nix30
-rw-r--r--pkgs/development/python-modules/jaraco_text/default.nix26
-rw-r--r--pkgs/development/python-modules/javaproperties/default.nix32
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix6
-rw-r--r--pkgs/development/python-modules/jenkinsapi/default.nix4
-rw-r--r--pkgs/development/python-modules/joblib/default.nix6
-rw-r--r--pkgs/development/python-modules/json-merge-patch/default.nix32
-rw-r--r--pkgs/development/python-modules/jsonlines/default.nix28
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix8
-rw-r--r--pkgs/development/python-modules/jsonrpclib-pelix/default.nix2
-rw-r--r--pkgs/development/python-modules/junos-eznc/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix38
-rw-r--r--pkgs/development/python-modules/jupyter_console/5.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix13
-rw-r--r--pkgs/development/python-modules/jupyterlab_server/default.nix3
-rw-r--r--pkgs/development/python-modules/kajiki/default.nix4
-rw-r--r--pkgs/development/python-modules/kconfiglib/default.nix4
-rw-r--r--pkgs/development/python-modules/keepkey_agent/default.nix29
-rw-r--r--pkgs/development/python-modules/keyring/2.nix33
-rw-r--r--pkgs/development/python-modules/klaus/default.nix4
-rw-r--r--pkgs/development/python-modules/kmapper/default.nix2
-rw-r--r--pkgs/development/python-modules/kombu/default.nix4
-rw-r--r--pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/lazr/config.nix4
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/ledger_agent/default.nix29
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/libarcus/default.nix6
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/librosa/default.nix3
-rw-r--r--pkgs/development/python-modules/libsavitar/default.nix2
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix27
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix4
-rw-r--r--pkgs/development/python-modules/lightgbm/default.nix4
-rw-r--r--pkgs/development/python-modules/lightparam/default.nix28
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix6
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix2
-rw-r--r--pkgs/development/python-modules/logilab/common.nix4
-rw-r--r--pkgs/development/python-modules/logutils/default.nix2
-rw-r--r--pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix4
-rw-r--r--pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix4
-rw-r--r--pkgs/development/python-modules/magic-wormhole/default.nix4
-rw-r--r--pkgs/development/python-modules/mahotas/default.nix2
-rw-r--r--pkgs/development/python-modules/mapbox/default.nix36
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozdevice.nix4
-rw-r--r--pkgs/development/python-modules/marshmallow-enum/default.nix42
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/2.nix5
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix9
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix50
-rw-r--r--pkgs/development/python-modules/measurement/default.nix20
-rw-r--r--pkgs/development/python-modules/mechanize/default.nix4
-rw-r--r--pkgs/development/python-modules/meinheld/default.nix2
-rw-r--r--pkgs/development/python-modules/mesa/default.nix7
-rw-r--r--pkgs/development/python-modules/mesonpep517/default.nix42
-rw-r--r--pkgs/development/python-modules/micawber/default.nix2
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/mnist/default.nix36
-rw-r--r--pkgs/development/python-modules/mock/default.nix11
-rw-r--r--pkgs/development/python-modules/moderngl/default.nix4
-rw-r--r--pkgs/development/python-modules/mongoengine/default.nix49
-rw-r--r--pkgs/development/python-modules/monkeyhex/default.nix30
-rw-r--r--pkgs/development/python-modules/monty/default.nix4
-rw-r--r--pkgs/development/python-modules/mox/default.nix2
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix6
-rw-r--r--pkgs/development/python-modules/mpmath/default.nix2
-rw-r--r--pkgs/development/python-modules/mps-youtube/default.nix2
-rw-r--r--pkgs/development/python-modules/mpv/default.nix4
-rw-r--r--pkgs/development/python-modules/msrest/default.nix4
-rw-r--r--pkgs/development/python-modules/msrestazure/default.nix4
-rw-r--r--pkgs/development/python-modules/musicbrainzngs/default.nix2
-rw-r--r--pkgs/development/python-modules/mwoauth/default.nix4
-rw-r--r--pkgs/development/python-modules/myfitnesspal/default.nix29
-rw-r--r--pkgs/development/python-modules/mypy/default.nix21
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix4
-rw-r--r--pkgs/development/python-modules/namebench/default.nix11
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nbdime/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/ncclient/default.nix2
-rw-r--r--pkgs/development/python-modules/nest-asyncio/default.nix4
-rw-r--r--pkgs/development/python-modules/neurotools/default.nix35
-rw-r--r--pkgs/development/python-modules/nevow/default.nix10
-rw-r--r--pkgs/development/python-modules/nidaqmx/default.nix55
-rw-r--r--pkgs/development/python-modules/nipype/default.nix8
-rw-r--r--pkgs/development/python-modules/nipype/neurdflib.nix4
-rw-r--r--pkgs/development/python-modules/nose-exclude/default.nix8
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/nuitka/default.nix2
-rw-r--r--pkgs/development/python-modules/numcodecs/default.nix4
-rw-r--r--pkgs/development/python-modules/numericalunits/default.nix8
-rw-r--r--pkgs/development/python-modules/numpy/default.nix6
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix14
-rw-r--r--pkgs/development/python-modules/oauth/default.nix2
-rw-r--r--pkgs/development/python-modules/odo/default.nix3
-rw-r--r--pkgs/development/python-modules/openpyxl/2.nix38
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/opentimestamps/default.nix4
-rw-r--r--pkgs/development/python-modules/opt-einsum/2.nix2
-rw-r--r--pkgs/development/python-modules/opt-einsum/default.nix2
-rw-r--r--pkgs/development/python-modules/osc/default.nix12
-rw-r--r--pkgs/development/python-modules/ovh/default.nix4
-rw-r--r--pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--pkgs/development/python-modules/pafy/default.nix6
-rw-r--r--pkgs/development/python-modules/pandas/2.nix6
-rw-r--r--pkgs/development/python-modules/pandas/default.nix6
-rw-r--r--pkgs/development/python-modules/panel/default.nix2
-rw-r--r--pkgs/development/python-modules/papermill/default.nix70
-rw-r--r--pkgs/development/python-modules/papis/default.nix12
-rw-r--r--pkgs/development/python-modules/parameterized/default.nix4
-rw-r--r--pkgs/development/python-modules/passlib/default.nix4
-rw-r--r--pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--pkgs/development/python-modules/pcpp/default.nix24
-rw-r--r--pkgs/development/python-modules/pdf2image/default.nix4
-rw-r--r--pkgs/development/python-modules/pdfminer_six/default.nix16
-rw-r--r--pkgs/development/python-modules/pefile/default.nix30
-rw-r--r--pkgs/development/python-modules/periodictable/default.nix4
-rw-r--r--pkgs/development/python-modules/persistent/default.nix4
-rw-r--r--pkgs/development/python-modules/pgspecial/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix13
-rw-r--r--pkgs/development/python-modules/pipdate/default.nix4
-rw-r--r--pkgs/development/python-modules/pivy/default.nix2
-rw-r--r--pkgs/development/python-modules/plac/default.nix4
-rw-r--r--pkgs/development/python-modules/pluggy/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry/default.nix2
-rw-r--r--pkgs/development/python-modules/polyline/default.nix31
-rw-r--r--pkgs/development/python-modules/pomegranate/default.nix4
-rw-r--r--pkgs/development/python-modules/pony/default.nix25
-rw-r--r--pkgs/development/python-modules/portalocker/default.nix5
-rw-r--r--pkgs/development/python-modules/portend/black-19.10b0.patch13
-rw-r--r--pkgs/development/python-modules/portend/default.nix1
-rw-r--r--pkgs/development/python-modules/poster3/default.nix36
-rw-r--r--pkgs/development/python-modules/prance/default.nix57
-rw-r--r--pkgs/development/python-modules/preggy/default.nix4
-rw-r--r--pkgs/development/python-modules/prison/default.nix33
-rw-r--r--pkgs/development/python-modules/progressbar2/default.nix5
-rw-r--r--pkgs/development/python-modules/psd-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/publicsuffix/default.nix4
-rw-r--r--pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--pkgs/development/python-modules/pwntools/default.nix14
-rw-r--r--pkgs/development/python-modules/pyGithub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyasn1/default.nix4
-rw-r--r--pkgs/development/python-modules/pyatmo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pybase64/default.nix4
-rw-r--r--pkgs/development/python-modules/pybids/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix52
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix8
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--pkgs/development/python-modules/pycdio/default.nix9
-rw-r--r--pkgs/development/python-modules/pycollada/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--pkgs/development/python-modules/pydocstyle/2.nix33
-rw-r--r--pkgs/development/python-modules/pydocstyle/default.nix20
-rw-r--r--pkgs/development/python-modules/pydrive/default.nix33
-rw-r--r--pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--pkgs/development/python-modules/pyftdi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyftgl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfxa/default.nix8
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix13
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix18
-rw-r--r--pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch50
-rw-r--r--pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch28
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix18
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/pyjson5/default.nix26
-rw-r--r--pkgs/development/python-modules/pykde4/default.nix46
-rw-r--r--pkgs/development/python-modules/pykde4/dlfcn.patch13
-rw-r--r--pkgs/development/python-modules/pykde4/kdelibs.nix48
-rw-r--r--pkgs/development/python-modules/pylibacl/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix23
-rw-r--r--pkgs/development/python-modules/pympler/default.nix4
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--pkgs/development/python-modules/pynvim/default.nix13
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix2
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopengl/default.nix9
-rw-r--r--pkgs/development/python-modules/pyparsing/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrsistent/default.nix4
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyscreenshot/default.nix29
-rw-r--r--pkgs/development/python-modules/pyserial-asyncio/default.nix24
-rw-r--r--pkgs/development/python-modules/pyside/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspf/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspotify/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-bdd/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-black/black-version.patch13
-rw-r--r--pkgs/development/python-modules/pytest-black/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-qt/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-repeat/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-xvfb/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest/4.nix4
-rw-r--r--pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix31
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-olm/default.nix29
-rw-r--r--pkgs/development/python-modules/python-periphery/default.nix4
-rw-r--r--pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--pkgs/development/python-modules/python-twitter/default.nix44
-rw-r--r--pkgs/development/python-modules/python_mimeparse/default.nix2
-rw-r--r--pkgs/development/python-modules/pythondialog/default.nix27
-rw-r--r--pkgs/development/python-modules/pythonirclib/default.nix2
-rw-r--r--pkgs/development/python-modules/pythonnet/default.nix4
-rw-r--r--pkgs/development/python-modules/pyutilib/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvcd/default.nix4
-rw-r--r--pkgs/development/python-modules/pywebkitgtk/default.nix27
-rw-r--r--pkgs/development/python-modules/pywebpush/default.nix4
-rw-r--r--pkgs/development/python-modules/pyzmq/default.nix4
-rw-r--r--pkgs/development/python-modules/qimage2ndarray/default.nix32
-rw-r--r--pkgs/development/python-modules/qrcode/default.nix3
-rw-r--r--pkgs/development/python-modules/qscintilla-qt5/default.nix3
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix4
-rw-r--r--pkgs/development/python-modules/rbtools/default.nix3
-rw-r--r--pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix4
-rw-r--r--pkgs/development/python-modules/recommonmark/default.nix18
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/reproject/default.nix19
-rw-r--r--pkgs/development/python-modules/requests-oauthlib/default.nix4
-rw-r--r--pkgs/development/python-modules/responses/default.nix4
-rw-r--r--pkgs/development/python-modules/rethinkdb/default.nix4
-rw-r--r--pkgs/development/python-modules/rfc-bibtex/default.nix2
-rw-r--r--pkgs/development/python-modules/root_numpy/default.nix27
-rw-r--r--pkgs/development/python-modules/rootpy/default.nix30
-rw-r--r--pkgs/development/python-modules/rpy2/2.nix108
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix56
-rw-r--r--pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch21
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix4
-rw-r--r--pkgs/development/python-modules/runsnakerun/default.nix4
-rw-r--r--pkgs/development/python-modules/runway-python/default.nix4
-rw-r--r--pkgs/development/python-modules/sacremoses/default.nix37
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix4
-rw-r--r--pkgs/development/python-modules/schema/default.nix12
-rw-r--r--pkgs/development/python-modules/scikitlearn/default.nix4
-rw-r--r--pkgs/development/python-modules/scipy/default.nix4
-rw-r--r--pkgs/development/python-modules/secure/default.nix30
-rw-r--r--pkgs/development/python-modules/semantic-version/default.nix4
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix13
-rw-r--r--pkgs/development/python-modules/sentencepiece/default.nix15
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix34
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/simpleeval/default.nix4
-rw-r--r--pkgs/development/python-modules/slicedimage/default.nix5
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/snakebite/default.nix41
-rw-r--r--pkgs/development/python-modules/soundfile/default.nix4
-rw-r--r--pkgs/development/python-modules/soupsieve/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy/default.nix6
-rw-r--r--pkgs/development/python-modules/spacy/models.json12
-rw-r--r--pkgs/development/python-modules/spectral-cube/default.nix17
-rw-r--r--pkgs/development/python-modules/spglib/default.nix13
-rw-r--r--pkgs/development/python-modules/sphinx/2.nix75
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix16
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix8
-rw-r--r--pkgs/development/python-modules/sqlalchemy-citext/default.nix31
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix6
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/squaremap/default.nix4
-rw-r--r--pkgs/development/python-modules/sshtunnel/default.nix31
-rw-r--r--pkgs/development/python-modules/starfish/default.nix5
-rw-r--r--pkgs/development/python-modules/starlette/default.nix4
-rw-r--r--pkgs/development/python-modules/statsmodels/default.nix4
-rw-r--r--pkgs/development/python-modules/streamz/default.nix29
-rw-r--r--pkgs/development/python-modules/strictyaml/default.nix4
-rw-r--r--pkgs/development/python-modules/stups-cli-support/default.nix43
-rw-r--r--pkgs/development/python-modules/stups-tokens/default.nix39
-rw-r--r--pkgs/development/python-modules/stups-zign/default.nix52
-rw-r--r--pkgs/development/python-modules/stytra/default.nix81
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix12
-rw-r--r--pkgs/development/python-modules/sympy/default.nix12
-rw-r--r--pkgs/development/python-modules/tables/3.5.nix4
-rw-r--r--pkgs/development/python-modules/tables/default.nix4
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/tasklib/default.nix4
-rw-r--r--pkgs/development/python-modules/telethon/default.nix4
-rw-r--r--pkgs/development/python-modules/tenacity/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-estimator/default.nix5
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/default.nix32
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix76
-rw-r--r--pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch13
-rw-r--r--pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch213
-rw-r--r--pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--pkgs/development/python-modules/tesserocr/default.nix34
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/testpath/default.nix4
-rw-r--r--pkgs/development/python-modules/testresources/default.nix2
-rw-r--r--pkgs/development/python-modules/textwrap3/default.nix37
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix73
-rw-r--r--pkgs/development/python-modules/tinydb/default.nix39
-rw-r--r--pkgs/development/python-modules/tld/default.nix4
-rw-r--r--pkgs/development/python-modules/todoist/default.nix4
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix6
-rw-r--r--pkgs/development/python-modules/traits/default.nix4
-rw-r--r--pkgs/development/python-modules/transformers/default.nix41
-rw-r--r--pkgs/development/python-modules/trezor_agent/default.nix2
-rw-r--r--pkgs/development/python-modules/trustme/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/twine/default.nix2
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix5
-rw-r--r--pkgs/development/python-modules/typing-extensions/default.nix4
-rw-r--r--pkgs/development/python-modules/uamqp/default.nix4
-rw-r--r--pkgs/development/python-modules/uncompyle6/default.nix4
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix4
-rw-r--r--pkgs/development/python-modules/uproot/default.nix6
-rw-r--r--pkgs/development/python-modules/uranium/default.nix4
-rw-r--r--pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/uvicorn/default.nix2
-rw-r--r--pkgs/development/python-modules/uvloop/default.nix4
-rw-r--r--pkgs/development/python-modules/validators/default.nix4
-rw-r--r--pkgs/development/python-modules/vcrpy/default.nix4
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--pkgs/development/python-modules/vsts-cd-manager/default.nix28
-rw-r--r--pkgs/development/python-modules/wasabi/default.nix4
-rw-r--r--pkgs/development/python-modules/weboob/default.nix53
-rw-r--r--pkgs/development/python-modules/websockets/default.nix4
-rw-r--r--pkgs/development/python-modules/wfuzz/default.nix51
-rw-r--r--pkgs/development/python-modules/whisper/default.nix4
-rw-r--r--pkgs/development/python-modules/willow/default.nix4
-rw-r--r--pkgs/development/python-modules/word2vec/default.nix7
-rw-r--r--pkgs/development/python-modules/wrf-python/default.nix9
-rw-r--r--pkgs/development/python-modules/wtf-peewee/default.nix33
-rw-r--r--pkgs/development/python-modules/wurlitzer/default.nix10
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix4
-rw-r--r--pkgs/development/python-modules/xapp/default.nix43
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/python-modules/xattr/default.nix4
-rw-r--r--pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--pkgs/development/python-modules/yowsup/argparse-dependency.patch13
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix10
-rw-r--r--pkgs/development/python-modules/yowsup/dependency-fixes.patch13
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix24
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix25
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix25
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/zstd/default.nix4
-rw-r--r--pkgs/development/r-modules/bioc-packages.nix6
-rw-r--r--pkgs/development/r-modules/cran-packages.nix2982
-rw-r--r--pkgs/development/r-modules/default.nix8
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix9
-rw-r--r--pkgs/development/ruby-modules/gem/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem/nix-bundle-install.rb5
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock16
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix32
-rw-r--r--pkgs/development/tools/alloy/default.nix8
-rw-r--r--pkgs/development/tools/ameba/default.nix42
-rw-r--r--pkgs/development/tools/ammonite/default.nix1
-rw-r--r--pkgs/development/tools/analysis/bingrep/default.nix9
-rw-r--r--pkgs/development/tools/analysis/brakeman/default.nix8
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cpplint/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix15
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix5
-rw-r--r--pkgs/development/tools/analysis/hotspot/default.nix3
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix4
-rw-r--r--pkgs/development/tools/analysis/nix-linter/default.nix45
-rw-r--r--pkgs/development/tools/analysis/oclgrind/default.nix4
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py2
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix1
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix11
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix22
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix3
-rw-r--r--pkgs/development/tools/apktool/default.nix4
-rw-r--r--pkgs/development/tools/async/default.nix29
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix22
-rw-r--r--pkgs/development/tools/azcopy/default.nix22
-rw-r--r--pkgs/development/tools/azcopy/deps.nix129
-rw-r--r--pkgs/development/tools/bazelisk/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/1.9.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_rc.patch13
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix64
-rw-r--r--pkgs/development/tools/build-managers/bazel/src-deps.json16
-rw-r--r--pkgs/development/tools/build-managers/bazel/strict_action_env.patch13
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix13
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh24
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix29
-rw-r--r--pkgs/development/tools/build-managers/doit/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gn/setup-hook.sh2
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/kati/default.nix23
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix31
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-objc-linking.patch22
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-rpath.patch47
-rw-r--r--pkgs/development/tools/build-managers/meson/gir-fallback-path.patch6
-rw-r--r--pkgs/development/tools/build-managers/meson/setup-hook.sh4
-rw-r--r--pkgs/development/tools/build-managers/mill/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/ninja/setup-hook.sh6
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix10
-rwxr-xr-xpkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap45
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/scons/setup-hook.sh6
-rw-r--r--pkgs/development/tools/buildah/default.nix12
-rw-r--r--pkgs/development/tools/buildah/disable-go-module-mode.patch33
-rw-r--r--pkgs/development/tools/buildpack/default.nix26
-rw-r--r--pkgs/development/tools/ccloud-cli/default.nix33
-rw-r--r--pkgs/development/tools/chefdk/default.nix2
-rw-r--r--pkgs/development/tools/clang-tools/default.nix11
-rw-r--r--pkgs/development/tools/clang-tools/wrapper20
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/cloudflare-wrangler/default.nix31
-rw-r--r--pkgs/development/tools/cmake-format/default.nix4
-rw-r--r--pkgs/development/tools/conftest/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-server/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rwxr-xr-xpkgs/development/tools/continuous-integration/jenkins/update.sh2
-rw-r--r--pkgs/development/tools/cue/default.nix10
-rw-r--r--pkgs/development/tools/database/pgcli/default.nix13
-rw-r--r--pkgs/development/tools/dive/default.nix14
-rw-r--r--pkgs/development/tools/doctl/default.nix6
-rw-r--r--pkgs/development/tools/documentation/antora/default.nix7
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix5
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix15
-rw-r--r--pkgs/development/tools/erlang/hex2nix/default.nix21
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix4
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix12
-rw-r--r--pkgs/development/tools/flyway/default.nix14
-rw-r--r--pkgs/development/tools/gamecube-tools/default.nix15
-rw-r--r--pkgs/development/tools/git-series/default.nix7
-rw-r--r--pkgs/development/tools/godot/default.nix4
-rw-r--r--pkgs/development/tools/gotools/default.nix6
-rw-r--r--pkgs/development/tools/grabserial/default.nix4
-rw-r--r--pkgs/development/tools/hcloud/default.nix20
-rw-r--r--pkgs/development/tools/hcloud/deps.nix111
-rw-r--r--pkgs/development/tools/irony-server/default.nix14
-rw-r--r--pkgs/development/tools/jazzy/Gemfile.lock26
-rw-r--r--pkgs/development/tools/jazzy/gemset.nix40
-rw-r--r--pkgs/development/tools/jo/default.nix8
-rw-r--r--pkgs/development/tools/kind/default.nix13
-rw-r--r--pkgs/development/tools/kind/deps.nix393
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/kubectx/default.nix4
-rw-r--r--pkgs/development/tools/kubeprompt/default.nix31
-rw-r--r--pkgs/development/tools/lazygit/default.nix6
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix4
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/misc/argbash/default.nix27
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.15.x.nix2
-rw-r--r--pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch41
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix34
-rw-r--r--pkgs/development/tools/misc/ccls/default.nix4
-rw-r--r--pkgs/development/tools/misc/chrpath/default.nix4
-rw-r--r--pkgs/development/tools/misc/cli11/default.nix10
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix26
-rw-r--r--pkgs/development/tools/misc/direvent/default.nix21
-rw-r--r--pkgs/development/tools/misc/editorconfig-checker/default.nix22
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix4
-rw-r--r--pkgs/development/tools/misc/fsatrace/default.nix17
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/gputils/default.nix3
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix2
-rw-r--r--pkgs/development/tools/misc/itstool/default.nix18
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix14
-rw-r--r--pkgs/development/tools/misc/patchelf/setup-hook.sh2
-rw-r--r--pkgs/development/tools/misc/premake/setup-hook.sh2
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix2
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix8
-rw-r--r--pkgs/development/tools/misc/scc/default.nix6
-rw-r--r--pkgs/development/tools/misc/sqitch/default.nix6
-rw-r--r--pkgs/development/tools/misc/stm32cubemx/default.nix78
-rw-r--r--pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix21
-rw-r--r--pkgs/development/tools/misc/texlab/citeproc/package.json31
-rwxr-xr-xpkgs/development/tools/misc/texlab/citeproc/update-package.json.sh14
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix39
-rw-r--r--pkgs/development/tools/misc/tokei/Cargo.lock.patch13
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix9
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile3
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock14
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix51
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix8
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/data.nix4
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/crunch/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix31
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix7
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix6
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix14
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix12
-rw-r--r--pkgs/development/tools/ocaml/ocamlformat/default.nix14
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocp-index/default.nix17
-rw-r--r--pkgs/development/tools/ocaml/opam/opam-shebangs.patch2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix13
-rw-r--r--pkgs/development/tools/ofono-phonesim/default.nix21
-rw-r--r--pkgs/development/tools/ofono-phonesim/qt5-compat.patch48
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix23
-rw-r--r--pkgs/development/tools/open-policy-agent/deps.nix408
-rw-r--r--pkgs/development/tools/out-of-tree/default.nix4
-rw-r--r--pkgs/development/tools/overcommit/Gemfile2
-rw-r--r--pkgs/development/tools/overcommit/Gemfile.lock17
-rw-r--r--pkgs/development/tools/overcommit/default.nix15
-rw-r--r--pkgs/development/tools/overcommit/gemset.nix33
-rw-r--r--pkgs/development/tools/packer/default.nix4
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix4
-rw-r--r--pkgs/development/tools/pipenv/default.nix7
-rw-r--r--pkgs/development/tools/profiling/EZTrace/default.nix2
-rw-r--r--pkgs/development/tools/profiling/pyflame/default.nix143
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix47
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix7
-rw-r--r--pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch12
-rw-r--r--pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch12
-rw-r--r--pkgs/development/tools/qtcreator/default.nix40
-rw-r--r--pkgs/development/tools/richgo/default.nix15
-rw-r--r--pkgs/development/tools/rubocop/Gemfile.lock6
-rw-r--r--pkgs/development/tools/rubocop/gemset.nix12
-rw-r--r--pkgs/development/tools/rucksack/default.nix2
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-bloat/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-crev/default.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-fuzz/default.nix28
-rw-r--r--pkgs/development/tools/rust/cargo-geiger/default.nix21
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix12
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock284
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-raze/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-udeps/default.nix28
-rw-r--r--pkgs/development/tools/rust/cargo-watch/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-xbuild/default.nix4
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix4
-rw-r--r--pkgs/development/tools/rust/racerd/default.nix4
-rw-r--r--pkgs/development/tools/rust/rustup/default.nix8
-rw-r--r--pkgs/development/tools/simavr/default.nix4
-rw-r--r--pkgs/development/tools/skaffold/default.nix8
-rw-r--r--pkgs/development/tools/vagrant/default.nix4
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix181
-rw-r--r--pkgs/development/tools/vim-vint/default.nix27
-rw-r--r--pkgs/development/tools/wally-cli/default.nix34
-rw-r--r--pkgs/development/tools/wally-cli/deps.nix66
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch (renamed from pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch)978
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/default.nix8
-rw-r--r--pkgs/development/tools/wiiload/default.nix4
-rw-r--r--pkgs/development/tools/xcbuild/setup-hook.sh2
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/fetch-source.nix4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix7
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/insomnia/default.nix29
-rw-r--r--pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch11
-rw-r--r--pkgs/development/web/nodejs/disable-libatomic-darwin.patch (renamed from pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch)2
-rw-r--r--pkgs/development/web/nodejs/v10.nix4
-rw-r--r--pkgs/development/web/nodejs/v12.nix6
-rw-r--r--pkgs/development/web/nodejs/v13.nix6
-rw-r--r--pkgs/development/web/postman/default.nix4
-rw-r--r--pkgs/development/web/twitter-bootstrap/default.nix4
-rw-r--r--pkgs/development/web/wml/default.nix2
-rw-r--r--pkgs/games/0ad/game.nix4
-rw-r--r--pkgs/games/adom/default.nix4
-rw-r--r--pkgs/games/alienarena/default.nix6
-rw-r--r--pkgs/games/anki/default.nix11
-rw-r--r--pkgs/games/armagetronad/default.nix4
-rw-r--r--pkgs/games/arx-libertatis/default.nix4
-rw-r--r--pkgs/games/astromenace/default.nix4
-rw-r--r--pkgs/games/bitsnbots/default.nix4
-rw-r--r--pkgs/games/blackshades/default.nix4
-rw-r--r--pkgs/games/blobby/default.nix4
-rw-r--r--pkgs/games/boohu/default.nix4
-rw-r--r--pkgs/games/boohu/deps.nix8
-rw-r--r--pkgs/games/bzflag/default.nix4
-rw-r--r--pkgs/games/cataclysm-dda/git.nix11
-rw-r--r--pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch6
-rw-r--r--pkgs/games/chessx/default.nix25
-rw-r--r--pkgs/games/construo/default.nix11
-rw-r--r--pkgs/games/crack-attack/default.nix4
-rw-r--r--pkgs/games/crawl/default.nix17
-rw-r--r--pkgs/games/crrcsim/default.nix4
-rw-r--r--pkgs/games/dhewm3/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix4
-rw-r--r--pkgs/games/dxx-rebirth/default.nix4
-rw-r--r--pkgs/games/eduke32/default.nix8
-rw-r--r--pkgs/games/egoboo/default.nix4
-rw-r--r--pkgs/games/eidolon/cargo-lock.patch19
-rw-r--r--pkgs/games/eidolon/default.nix26
-rw-r--r--pkgs/games/endless-sky/default.nix4
-rw-r--r--pkgs/games/endless-sky/fixes.patch9
-rw-r--r--pkgs/games/extremetuxracer/default.nix6
-rw-r--r--pkgs/games/ezquake/default.nix4
-rw-r--r--pkgs/games/flare/default.nix2
-rw-r--r--pkgs/games/flightgear/default.nix4
-rw-r--r--pkgs/games/freeorion/default.nix4
-rw-r--r--pkgs/games/fsg/default.nix4
-rw-r--r--pkgs/games/gcs/default.nix8
-rw-r--r--pkgs/games/gl-117/default.nix4
-rw-r--r--pkgs/games/globulation/default.nix4
-rw-r--r--pkgs/games/gltron/default.nix4
-rw-r--r--pkgs/games/gzdoom/default.nix10
-rw-r--r--pkgs/games/harmonist/default.nix4
-rw-r--r--pkgs/games/harmonist/deps.nix8
-rw-r--r--pkgs/games/hexen/default.nix18
-rw-r--r--pkgs/games/instead/default.nix16
-rw-r--r--pkgs/games/kobodeluxe/default.nix4
-rw-r--r--pkgs/games/lgogdownloader/default.nix10
-rw-r--r--pkgs/games/lincity/ng.nix4
-rw-r--r--pkgs/games/mars/default.nix4
-rw-r--r--pkgs/games/minecraft/default.nix4
-rw-r--r--pkgs/games/minetest/default.nix4
-rw-r--r--pkgs/games/mnemosyne/default.nix23
-rw-r--r--pkgs/games/mudlet/default.nix11
-rw-r--r--pkgs/games/naev/default.nix4
-rw-r--r--pkgs/games/newtonwars/default.nix7
-rw-r--r--pkgs/games/nexuiz/default.nix4
-rw-r--r--pkgs/games/openrct2/default.nix19
-rw-r--r--pkgs/games/openrw/default.nix4
-rw-r--r--pkgs/games/openxcom/default.nix4
-rw-r--r--pkgs/games/openxray/default.nix32
-rw-r--r--pkgs/games/pingus/default.nix4
-rw-r--r--pkgs/games/pioneer/default.nix8
-rw-r--r--pkgs/games/prboom/default.nix7
-rw-r--r--pkgs/games/privateer/default.nix4
-rw-r--r--pkgs/games/pysolfc/default.nix49
-rw-r--r--pkgs/games/qtads/default.nix27
-rw-r--r--pkgs/games/quake3/quake3e/default.nix4
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/residualvm/default.nix6
-rw-r--r--pkgs/games/rigsofrods/default.nix4
-rw-r--r--pkgs/games/scorched3d/default.nix4
-rw-r--r--pkgs/games/scummvm/default.nix4
-rw-r--r--pkgs/games/sgt-puzzles/default.nix6
-rw-r--r--pkgs/games/shattered-pixel-dungeon/default.nix4
-rw-r--r--pkgs/games/soi/default.nix4
-rw-r--r--pkgs/games/space-orbit/default.nix4
-rw-r--r--pkgs/games/speed-dreams/default.nix4
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/stardust/default.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix5
-rw-r--r--pkgs/games/super-tux-kart/default.nix6
-rw-r--r--pkgs/games/supertux/default.nix8
-rw-r--r--pkgs/games/tdm/default.nix6
-rw-r--r--pkgs/games/tibia/default.nix6
-rw-r--r--pkgs/games/tintin/default.nix14
-rw-r--r--pkgs/games/tome4/default.nix4
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/tremulous/default.nix4
-rw-r--r--pkgs/games/trigger/default.nix4
-rw-r--r--pkgs/games/ufoai/default.nix4
-rw-r--r--pkgs/games/ultimatestunts/default.nix4
-rw-r--r--pkgs/games/ultrastardx/default.nix4
-rw-r--r--pkgs/games/uqm/default.nix4
-rw-r--r--pkgs/games/urbanterror/default.nix6
-rw-r--r--pkgs/games/vdrift/default.nix4
-rw-r--r--pkgs/games/voxelands/default.nix4
-rw-r--r--pkgs/games/worldofgoo/default.nix4
-rw-r--r--pkgs/games/xmoto/default.nix4
-rw-r--r--pkgs/games/xonotic/default.nix4
-rw-r--r--pkgs/games/xpilot/bloodspilot-client.nix4
-rw-r--r--pkgs/games/xpilot/default.nix4
-rw-r--r--pkgs/games/zandronum/default.nix9
-rw-r--r--pkgs/misc/cups/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/canon/default.nix88
-rw-r--r--pkgs/misc/cups/drivers/dymo/fix-includes.patch13
-rw-r--r--pkgs/misc/cups/filters.nix4
-rw-r--r--pkgs/misc/drivers/hplip/3.16.11.nix10
-rw-r--r--pkgs/misc/drivers/hplip/3.18.5.nix10
-rw-r--r--pkgs/misc/drivers/hplip/default.nix11
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix2
-rw-r--r--pkgs/misc/emulators/atari800/default.nix4
-rw-r--r--pkgs/misc/emulators/attract-mode/default.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/analyzer.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/daemon.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/gui.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/libmirage.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix4
-rw-r--r--pkgs/misc/emulators/desmume/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix4
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix4
-rw-r--r--pkgs/misc/emulators/epsxe/default.nix4
-rw-r--r--pkgs/misc/emulators/fakenes/default.nix4
-rw-r--r--pkgs/misc/emulators/fs-uae/default.nix8
-rw-r--r--pkgs/misc/emulators/fuse-emulator/default.nix29
-rw-r--r--pkgs/misc/emulators/gens-gs/default.nix4
-rw-r--r--pkgs/misc/emulators/hatari/default.nix2
-rw-r--r--pkgs/misc/emulators/higan/default.nix4
-rw-r--r--pkgs/misc/emulators/mame/default.nix39
-rw-r--r--pkgs/misc/emulators/mame/emuopts.patch29
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix4
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix4
-rw-r--r--pkgs/misc/emulators/ppsspp/default.nix70
-rw-r--r--pkgs/misc/emulators/resim/default.nix18
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix32
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix16
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix10
-rw-r--r--pkgs/misc/emulators/vbam/default.nix4
-rw-r--r--pkgs/misc/emulators/vice/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/base.nix2
-rw-r--r--pkgs/misc/emulators/wine/staging.nix2
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix4
-rw-r--r--pkgs/misc/emulators/yabause/default.nix4
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix4
-rw-r--r--pkgs/misc/ghostscript/default.nix23
-rw-r--r--pkgs/misc/gnash/default.nix21
-rw-r--r--pkgs/misc/jackaudio/default.nix16
-rw-r--r--pkgs/misc/jackaudio/jack1.nix6
-rw-r--r--pkgs/misc/sailsd/default.nix8
-rw-r--r--pkgs/misc/scrcpy/default.nix16
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix4
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix6
-rw-r--r--pkgs/misc/screensavers/rss-glx/default.nix4
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/sndio/default.nix1
-rw-r--r--pkgs/misc/tmux-plugins/default.nix19
-rw-r--r--pkgs/misc/uboot/default.nix90
-rw-r--r--pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch105
-rw-r--r--pkgs/misc/uboot/rock64.nix38
-rw-r--r--pkgs/misc/uboot/rockpro64.nix38
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix2
-rw-r--r--pkgs/misc/vim-plugins/generated.nix1264
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix46
-rwxr-xr-xpkgs/misc/vim-plugins/update.py138
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names28
-rw-r--r--pkgs/misc/vscode-extensions/default.nix57
-rw-r--r--pkgs/misc/vscode-extensions/remote-ssh/default.nix55
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh2
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh2
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh2
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix3
-rw-r--r--pkgs/os-specific/darwin/cctools/apfs.patch22
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch12
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix16
-rw-r--r--pkgs/os-specific/darwin/libtapi/default.nix11
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix25
-rw-r--r--pkgs/os-specific/linux/alienfx/default.nix39
-rw-r--r--pkgs/os-specific/linux/alienfx/unistd.patch12
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--pkgs/os-specific/linux/anbox/kmod.nix6
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix8
-rw-r--r--pkgs/os-specific/linux/audit/default.nix2
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix41
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix167
-rw-r--r--pkgs/os-specific/linux/beegfs/kernel-module.nix46
-rw-r--r--pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch61
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix78
-rw-r--r--pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/brillo/default.nix4
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/chromium-xorg-conf/default.nix4
-rw-r--r--pkgs/os-specific/linux/cpupower/default.nix6
-rw-r--r--pkgs/os-specific/linux/displaylink/default.nix13
-rw-r--r--pkgs/os-specific/linux/displaylink/udev-installer.patch4
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix76
-rw-r--r--pkgs/os-specific/linux/ebtables/default.nix11
-rw-r--r--pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix10
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix10
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch66
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix28
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch11
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/no-which.patch31
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--pkgs/os-specific/linux/google-authenticator/default.nix4
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix2
-rw-r--r--pkgs/os-specific/linux/health-check/default.nix4
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix7
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix4
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix9
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.3.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix (renamed from pkgs/os-specific/linux/kernel/linux-5.2.nix)4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/request-key-helper-updated.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/request-key-helper.patch13
-rwxr-xr-xpkgs/os-specific/linux/kernel/update-libre.sh26
-rwxr-xr-xpkgs/os-specific/linux/kernel/update.sh3
-rw-r--r--pkgs/os-specific/linux/keyutils/conf-symlink.patch13
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix7
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix8
-rw-r--r--pkgs/os-specific/linux/kmod/enable-static.patch12
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix4
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix2
-rw-r--r--pkgs/os-specific/linux/libratbag/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/mbpfan/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix5
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix9
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix35
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix26
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix1
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix50
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix8
-rw-r--r--pkgs/os-specific/linux/openrazer/driver.nix2
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix32
-rw-r--r--pkgs/os-specific/linux/openvswitch/lts.nix82
-rw-r--r--pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch274
-rw-r--r--pkgs/os-specific/linux/pam_ccreds/default.nix6
-rw-r--r--pkgs/os-specific/linux/pam_ldap/default.nix4
-rw-r--r--pkgs/os-specific/linux/pktgen/default.nix4
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/procdump/default.nix31
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix10
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix8
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix5
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix39
-rw-r--r--pkgs/os-specific/linux/targetcli/default.nix9
-rw-r--r--pkgs/os-specific/linux/tomb/default.nix4
-rw-r--r--pkgs/os-specific/linux/trace-cmd/kernelshark.nix2
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix6
-rw-r--r--pkgs/os-specific/linux/upower/default.nix2
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix12
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix2
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--pkgs/os-specific/linux/xf86-input-cmt/default.nix4
-rw-r--r--pkgs/os-specific/windows/default.nix52
-rw-r--r--pkgs/os-specific/windows/mcfgthreads/default.nix24
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix4
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/atlassian/confluence.nix8
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/caddy/default.nix10
-rw-r--r--pkgs/servers/caddy/v2.nix25
-rw-r--r--pkgs/servers/cloud-print-connector/default.nix10
-rw-r--r--pkgs/servers/computing/slurm/default.nix7
-rw-r--r--pkgs/servers/consul/default.nix4
-rw-r--r--pkgs/servers/corosync/default.nix4
-rw-r--r--pkgs/servers/couchpotato/default.nix4
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/coredns/default.nix14
-rw-r--r--pkgs/servers/dns/coredns/deps.nix84
-rw-r--r--pkgs/servers/dns/dnsdist/default.nix16
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/documize-community/default.nix31
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/gortr/default.nix22
-rw-r--r--pkgs/servers/gotify/default.nix8
-rw-r--r--pkgs/servers/gotify/ui.nix4
-rw-r--r--pkgs/servers/gotify/yarndeps.nix16
-rw-r--r--pkgs/servers/gotty/default.nix6
-rw-r--r--pkgs/servers/gotty/deps.nix74
-rw-r--r--pkgs/servers/hitch/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix6
-rw-r--r--pkgs/servers/home-assistant/esphome.nix23
-rw-r--r--pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch12
-rw-r--r--pkgs/servers/http/4store/default.nix50
-rw-r--r--pkgs/servers/http/4store/src-for-default.nix9
-rw-r--r--pkgs/servers/http/4store/src-info-for-default.nix6
-rw-r--r--pkgs/servers/http/apache-modules/mod_tile/default.nix35
-rw-r--r--pkgs/servers/http/h2o/default.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix6
-rw-r--r--pkgs/servers/http/nginx/generic.nix16
-rw-r--r--pkgs/servers/http/unit/default.nix43
-rw-r--r--pkgs/servers/irc/charybdis/default.nix2
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/ldap/389/default.nix8
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch135
-rw-r--r--pkgs/servers/mail/dovecot/2.3.x-module_dir.patch165
-rw-r--r--pkgs/servers/mail/dovecot/default.nix6
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix6
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mail/public-inbox/default.nix66
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix11
-rw-r--r--pkgs/servers/matrix-synapse/default.nix12
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix388
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json2
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix10
-rw-r--r--pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch46
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix12
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/meteor/default.nix4
-rw-r--r--pkgs/servers/miniflux/default.nix4
-rw-r--r--pkgs/servers/misc/airsonic/default.nix4
-rw-r--r--pkgs/servers/misc/qremotecontrol-server/default.nix46
-rw-r--r--pkgs/servers/misc/subsonic/default.nix4
-rw-r--r--pkgs/servers/monitoring/alertmanager-bot/default.nix25
-rw-r--r--pkgs/servers/monitoring/alertmanager-bot/deps.nix948
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix25
-rw-r--r--pkgs/servers/monitoring/consul-alerts/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/loki/default.nix16
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix17
-rw-r--r--pkgs/servers/monitoring/plugins/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/blackbox-exporter.nix7
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix64
-rw-r--r--pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix138
-rw-r--r--pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix14
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix27
-rw-r--r--pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix282
-rw-r--r--pkgs/servers/monitoring/prometheus/postgres-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix4
-rwxr-xr-xpkgs/servers/monitoring/prometheus/update-webui-deps.sh20
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/webui-package.json96
-rw-r--r--pkgs/servers/monitoring/prometheus/webui-yarndeps.nix11885
-rw-r--r--pkgs/servers/monitoring/prometheus/wireguard-exporter.nix12
-rw-r--r--pkgs/servers/monitoring/riemann/default.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/proxy.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/server.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/versions.nix17
-rw-r--r--pkgs/servers/mpd/clientlib.nix4
-rw-r--r--pkgs/servers/mpd/default.nix282
-rw-r--r--pkgs/servers/mtprotoproxy/default.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nginx-sso/default.nix4
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix8
-rw-r--r--pkgs/servers/openafs/1.6/default.nix2
-rw-r--r--pkgs/servers/openafs/1.6/module.nix2
-rw-r--r--pkgs/servers/openafs/1.8/cross-build.patch2
-rw-r--r--pkgs/servers/openafs/1.8/default.nix5
-rw-r--r--pkgs/servers/openafs/1.8/module.nix16
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/plex/raw.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/quagga/default.nix4
-rw-r--r--pkgs/servers/rainloop/default.nix6
-rw-r--r--pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch2
-rw-r--r--pkgs/servers/roundcube/default.nix4
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/samba/3.x.nix99
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix79
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/search/solr/8.x.nix4
-rw-r--r--pkgs/servers/shairport-sync/default.nix4
-rw-r--r--pkgs/servers/sql/dolt/default.nix25
-rw-r--r--pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch21
-rw-r--r--pkgs/servers/sql/mariadb/connector-c/3_1.nix4
-rw-r--r--pkgs/servers/sql/mariadb/connector-c/default.nix9
-rw-r--r--pkgs/servers/sql/mariadb/default.nix76
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix2
-rw-r--r--pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix5
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hll.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_partman.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_topn.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgtap.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/tds_fdw.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/squid/default.nix4
-rw-r--r--pkgs/servers/tautulli/default.nix4
-rw-r--r--pkgs/servers/tmate-ssh-server/default.nix29
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/unpfs/default.nix34
-rw-r--r--pkgs/servers/web-apps/codimd/default.nix14
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix34
-rw-r--r--pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/web-apps/shiori/default.nix2
-rw-r--r--pkgs/servers/webmetro/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/imake-setup-hook.sh2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix6
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list2
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix4
-rw-r--r--pkgs/servers/xandikos/default.nix31
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix8
-rw-r--r--pkgs/servers/zoneminder/default.nix6
-rw-r--r--pkgs/shells/bash/bash-5.0-patches.nix2
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix10
-rw-r--r--pkgs/shells/nushell/default.nix51
-rw-r--r--pkgs/shells/oh/default.nix8
-rw-r--r--pkgs/shells/oil/default.nix15
-rw-r--r--pkgs/shells/powershell/default.nix2
-rw-r--r--pkgs/shells/zsh/antibody/default.nix8
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix8
-rwxr-xr-xpkgs/shells/zsh/oh-my-zsh/update.sh6
-rw-r--r--pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix30
-rw-r--r--pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch25
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix16
-rw-r--r--pkgs/stdenv/cygwin/rebase-i686.sh2
-rw-r--r--pkgs/stdenv/cygwin/rebase-x86_64.sh2
-rw-r--r--pkgs/stdenv/generic/check-meta.nix2
-rw-r--r--pkgs/stdenv/generic/setup.sh91
-rw-r--r--pkgs/tools/X11/caffeine-ng/default.nix7
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--pkgs/tools/X11/dragon-drop/default.nix7
-rw-r--r--pkgs/tools/X11/imwheel/default.nix13
-rw-r--r--pkgs/tools/X11/oblogout/default.nix36
-rw-r--r--pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch66
-rw-r--r--pkgs/tools/X11/winswitch/default.nix47
-rw-r--r--pkgs/tools/X11/xidlehook/default.nix10
-rw-r--r--pkgs/tools/X11/xnee/default.nix2
-rw-r--r--pkgs/tools/X11/xsecurelock/default.nix5
-rw-r--r--pkgs/tools/X11/xzoom/default.nix8
-rw-r--r--pkgs/tools/admin/ansible/default.nix8
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix4
-rw-r--r--pkgs/tools/admin/awscli/default.nix9
-rw-r--r--pkgs/tools/admin/awslogs/default.nix2
-rw-r--r--pkgs/tools/admin/awsweeper/default.nix22
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix250
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix254
-rw-r--r--pkgs/tools/admin/clair/default.nix18
-rw-r--r--pkgs/tools/admin/docker-credential-helpers/default.nix49
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/elasticsearch-curator/default.nix (renamed from pkgs/development/python-modules/elasticsearch-curator/default.nix)54
-rw-r--r--pkgs/tools/admin/fbvnc/default.nix30
-rw-r--r--pkgs/tools/admin/lego/default.nix7
-rw-r--r--pkgs/tools/admin/procs/default.nix16
-rw-r--r--pkgs/tools/admin/pulumi/data.nix51
-rw-r--r--pkgs/tools/admin/pulumi/default.nix27
-rw-r--r--pkgs/tools/admin/pulumi/update.sh55
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix12
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch18
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch19
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch16
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch14
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix7
-rw-r--r--pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch29
-rw-r--r--pkgs/tools/archivers/cpio/default.nix20
-rw-r--r--pkgs/tools/archivers/innoextract/default.nix4
-rw-r--r--pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--pkgs/tools/archivers/unzip/default.nix15
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/acoustid-fingerprinter/default.nix2
-rw-r--r--pkgs/tools/audio/beets/beet-check-tests.patch17
-rw-r--r--pkgs/tools/audio/beets/check-plugin.nix35
-rw-r--r--pkgs/tools/audio/beets/default.nix26
-rw-r--r--pkgs/tools/audio/essentia-extractor/default.nix41
-rw-r--r--pkgs/tools/audio/mpdris2/default.nix48
-rw-r--r--pkgs/tools/audio/volctl/default.nix58
-rw-r--r--pkgs/tools/backup/btrbk/default.nix12
-rw-r--r--pkgs/tools/backup/duplicity/default.nix2
-rw-r--r--pkgs/tools/backup/hpe-ltfs/default.nix30
-rw-r--r--pkgs/tools/backup/lvmsync/default.nix2
-rw-r--r--pkgs/tools/backup/restic/default.nix4
-rw-r--r--pkgs/tools/backup/rsnapshot/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix32
-rw-r--r--pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch13
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix17
-rw-r--r--pkgs/tools/compression/gzrt/default.nix6
-rw-r--r--pkgs/tools/compression/lbzip2/default.nix2
-rw-r--r--pkgs/tools/compression/lz4/default.nix17
-rw-r--r--pkgs/tools/compression/zstd/default.nix34
-rw-r--r--pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch13
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix35
-rw-r--r--pkgs/tools/filesystems/cryfs/default.nix82
-rw-r--r--pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch34
-rw-r--r--pkgs/tools/filesystems/cryfs/test-no-network.patch24
-rw-r--r--pkgs/tools/filesystems/dislocker/default.nix21
-rw-r--r--pkgs/tools/filesystems/duff/default.nix2
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix9
-rw-r--r--pkgs/tools/filesystems/fusesmb/default.nix28
-rw-r--r--pkgs/tools/filesystems/gitfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/grive2/default.nix4
-rw-r--r--pkgs/tools/filesystems/mergerfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/moosefs/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix1
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch103
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/default.nix26
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix98
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix11
-rw-r--r--pkgs/tools/graphics/dpic/default.nix4
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix4
-rw-r--r--pkgs/tools/graphics/facedetect/default.nix4
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix2
-rw-r--r--pkgs/tools/graphics/glee/default.nix4
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix4
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/graphviz/base.nix10
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix6
-rw-r--r--pkgs/tools/graphics/ifm/default.nix25
-rw-r--r--pkgs/tools/graphics/jpegexiforient/default.nix27
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix4
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix6
-rw-r--r--pkgs/tools/graphics/maim/default.nix4
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix7
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix4
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/graphics/wallutils/default.nix4
-rw-r--r--pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch29
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix8
-rw-r--r--pkgs/tools/inputmethods/fusuma/Gemfile.lock4
-rw-r--r--pkgs/tools/inputmethods/fusuma/default.nix8
-rw-r--r--pkgs/tools/inputmethods/fusuma/gemset.nix6
-rw-r--r--pkgs/tools/inputmethods/gebaar-libinput/default.nix25
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix56
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix11
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix59
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix53
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix3
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch13
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix57
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix146
-rw-r--r--pkgs/tools/inputmethods/ibus/fix-paths.patch2
-rw-r--r--pkgs/tools/inputmethods/ibus/wrapper.nix2
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/default.nix4
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix12
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/bandwidth/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix13
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--pkgs/tools/misc/birdfont/xmlbird.nix4
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/byobu/default.nix4
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cloc/default.nix2
-rw-r--r--pkgs/tools/misc/colord/default.nix7
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debianutils/default.nix5
-rw-r--r--pkgs/tools/misc/desktop-file-utils/setup-hook.sh2
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/dua/default.nix2
-rw-r--r--pkgs/tools/misc/dust/default.nix6
-rw-r--r--pkgs/tools/misc/etcher/default.nix94
-rw-r--r--pkgs/tools/misc/ethminer/default.nix23
-rw-r--r--pkgs/tools/misc/eva/Cargo.lock.patch213
-rw-r--r--pkgs/tools/misc/eva/default.nix20
-rw-r--r--pkgs/tools/misc/exa/default.nix11
-rw-r--r--pkgs/tools/misc/fdupes/default.nix2
-rw-r--r--pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/fselect/default.nix23
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix7
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/misc/hashit/default.nix6
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock14
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix29
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix8
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix6
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix8
-rw-r--r--pkgs/tools/misc/licensor/default.nix23
-rw-r--r--pkgs/tools/misc/lorri/default.nix56
-rw-r--r--pkgs/tools/misc/lorri/runtime-closure.nix.template37
-rw-r--r--pkgs/tools/misc/lorri/runtime.nix33
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix4
-rw-r--r--pkgs/tools/misc/miniserve/default.nix11
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix5
-rw-r--r--pkgs/tools/misc/multitail/default.nix4
-rw-r--r--pkgs/tools/misc/multitime/default.nix39
-rw-r--r--pkgs/tools/misc/noti/default.nix4
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix4
-rw-r--r--pkgs/tools/misc/onefetch/default.nix26
-rw-r--r--pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--pkgs/tools/misc/ostree/default.nix10
-rw-r--r--pkgs/tools/misc/paps/default.nix12
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix36
-rw-r--r--pkgs/tools/misc/parted/gpt-unicode-test-fix.patch34
-rw-r--r--pkgs/tools/misc/peruse/default.nix2
-rw-r--r--pkgs/tools/misc/pfetch/default.nix28
-rw-r--r--pkgs/tools/misc/pg_flame/default.nix22
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/pipelight/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/ponysay/default.nix2
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix6
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix1
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix2
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix4
-rw-r--r--pkgs/tools/misc/shadowenv/default.nix6
-rw-r--r--pkgs/tools/misc/slop/default.nix4
-rw-r--r--pkgs/tools/misc/snapper/default.nix10
-rw-r--r--pkgs/tools/misc/starship/default.nix20
-rw-r--r--pkgs/tools/misc/tensorman/default.nix24
-rw-r--r--pkgs/tools/misc/termtosvg/default.nix4
-rw-r--r--pkgs/tools/misc/tio/default.nix2
-rw-r--r--pkgs/tools/misc/tmate/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix32
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix23
-rw-r--r--pkgs/tools/misc/ttygif/default.nix23
-rw-r--r--pkgs/tools/misc/units/default.nix28
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix11
-rw-r--r--pkgs/tools/misc/vector/default.nix15
-rw-r--r--pkgs/tools/misc/venus/default.nix20
-rw-r--r--pkgs/tools/misc/vimpager/build.nix2
-rw-r--r--pkgs/tools/misc/vivid/default.nix6
-rw-r--r--pkgs/tools/misc/wagyu/default.nix23
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/watchexec/default.nix15
-rw-r--r--pkgs/tools/misc/websocat/default.nix23
-rw-r--r--pkgs/tools/misc/wob/default.nix11
-rw-r--r--pkgs/tools/misc/xilinx-bootgen/default.nix37
-rw-r--r--pkgs/tools/misc/yad/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/networking/6tunnel/default.nix23
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix4
-rw-r--r--pkgs/tools/networking/argus/default.nix12
-rw-r--r--pkgs/tools/networking/aria2/default.nix14
-rw-r--r--pkgs/tools/networking/babeld/default.nix2
-rw-r--r--pkgs/tools/networking/bgpdump/default.nix15
-rw-r--r--pkgs/tools/networking/cadaver/default.nix6
-rw-r--r--pkgs/tools/networking/chrony/allow-clock_adjtime.patch26
-rw-r--r--pkgs/tools/networking/chrony/default.nix5
-rw-r--r--pkgs/tools/networking/chrony/fix-seccomp-build.patch13
-rw-r--r--pkgs/tools/networking/circus/default.nix (renamed from pkgs/development/python-modules/circus/default.nix)14
-rw-r--r--pkgs/tools/networking/cloud-custodian/default.nix48
-rw-r--r--pkgs/tools/networking/connman/connman-notify/default.nix38
-rw-r--r--pkgs/tools/networking/croc/default.nix8
-rw-r--r--pkgs/tools/networking/curl/default.nix13
-rw-r--r--pkgs/tools/networking/curlie/default.nix4
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix4
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix23
-rw-r--r--pkgs/tools/networking/ferm/default.nix4
-rw-r--r--pkgs/tools/networking/frp/default.nix31
-rw-r--r--pkgs/tools/networking/gmrender-resurrect/default.nix76
-rw-r--r--pkgs/tools/networking/gnirehtet/default.nix8
-rw-r--r--pkgs/tools/networking/haproxy/default.nix42
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix9
-rw-r--r--pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--pkgs/tools/networking/ifstat-legacy/default.nix4
-rw-r--r--pkgs/tools/networking/iperf/3.nix2
-rw-r--r--pkgs/tools/networking/keepalived/default.nix14
-rw-r--r--pkgs/tools/networking/lftp/default.nix4
-rw-r--r--pkgs/tools/networking/libreswan/default.nix23
-rw-r--r--pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch36
-rw-r--r--pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--pkgs/tools/networking/mailutils/default.nix14
-rw-r--r--pkgs/tools/networking/mailutils/fix-test-ali-awk.patch16
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix4
-rw-r--r--pkgs/tools/networking/mmsd/default.nix38
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix10
-rw-r--r--pkgs/tools/networking/mu/default.nix8
-rw-r--r--pkgs/tools/networking/nebula/default.nix43
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix6
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/iodine/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/openconnect/default.nix48
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix4
-rw-r--r--pkgs/tools/networking/network-manager/vpnc/default.nix4
-rw-r--r--pkgs/tools/networking/nfstrace/default.nix37
-rw-r--r--pkgs/tools/networking/ocserv/default.nix4
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix2
-rw-r--r--pkgs/tools/networking/ofono/default.nix4
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/openconnect/default.nix25
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--pkgs/tools/networking/openvpn/update-systemd-resolved.nix34
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix2
-rw-r--r--pkgs/tools/networking/pirate-get/default.nix4
-rw-r--r--pkgs/tools/networking/pmacct/default.nix62
-rw-r--r--pkgs/tools/networking/shadowsocks-libev/default.nix4
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix10
-rw-r--r--pkgs/tools/networking/sshoogr/default.nix36
-rw-r--r--pkgs/tools/networking/sshping/default.nix31
-rw-r--r--pkgs/tools/networking/sslsplit/default.nix31
-rw-r--r--pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--pkgs/tools/networking/subfinder/default.nix20
-rw-r--r--pkgs/tools/networking/subfinder/deps.nix145
-rw-r--r--pkgs/tools/networking/surfraw/default.nix4
-rw-r--r--pkgs/tools/networking/tdns-cli/default.nix22
-rw-r--r--pkgs/tools/networking/tinyfecvpn/default.nix37
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/twa/default.nix20
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix8
-rw-r--r--pkgs/tools/networking/v2ray/default.nix36
-rw-r--r--pkgs/tools/networking/v2ray/generic.nix50
-rwxr-xr-xpkgs/tools/networking/v2ray/update.sh53
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wifite2/default.nix40
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix7
-rw-r--r--pkgs/tools/networking/yggdrasil/default.nix4
-rw-r--r--pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--pkgs/tools/nix/nixpkgs-fmt/default.nix6
-rw-r--r--pkgs/tools/package-management/apt/default.nix54
-rw-r--r--pkgs/tools/package-management/cargo-deb/default.nix25
-rw-r--r--pkgs/tools/package-management/cargo-edit/default.nix15
-rw-r--r--pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch368
-rw-r--r--pkgs/tools/package-management/cargo-license/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-outdated/cargo-lock.patch1283
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix11
-rwxr-xr-xpkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh18
-rw-r--r--pkgs/tools/package-management/cargo-tree/default.nix10
-rw-r--r--pkgs/tools/package-management/emplace/default.nix23
-rw-r--r--pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-index/default.nix2
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix2
-rw-r--r--pkgs/tools/package-management/nixpkgs-review/default.nix (renamed from pkgs/tools/package-management/nix-review/default.nix)10
-rw-r--r--pkgs/tools/package-management/pacman/default.nix12
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/reuse/default.nix4
-rw-r--r--pkgs/tools/package-management/xbps/default.nix4
-rw-r--r--pkgs/tools/security/afl/libdislocator.nix2
-rw-r--r--pkgs/tools/security/aws-okta/default.nix5
-rw-r--r--pkgs/tools/security/bettercap/default.nix4
-rw-r--r--pkgs/tools/security/bettercap/deps.nix398
-rw-r--r--pkgs/tools/security/bruteforce-luks/default.nix4
-rw-r--r--pkgs/tools/security/chaps/default.nix16
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/efitools/default.nix1
-rw-r--r--pkgs/tools/security/enchive/default.nix4
-rw-r--r--pkgs/tools/security/enpass/default.nix10
-rw-r--r--pkgs/tools/security/fierce/default.nix4
-rw-r--r--pkgs/tools/security/fprintd/default.nix14
-rw-r--r--pkgs/tools/security/ghidra/default.nix29
-rw-r--r--pkgs/tools/security/gnome-keysign/default.nix23
-rw-r--r--pkgs/tools/security/gnupg/22.nix27
-rw-r--r--pkgs/tools/security/gobuster/default.nix25
-rw-r--r--pkgs/tools/security/haka/default.nix2
-rw-r--r--pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--pkgs/tools/security/ipscan/default.nix40
-rw-r--r--pkgs/tools/security/jd-gui/default.nix50
-rw-r--r--pkgs/tools/security/john/default.nix14
-rw-r--r--pkgs/tools/security/keybase/default.nix7
-rw-r--r--pkgs/tools/security/keybase/fix-paths-kbfs.patch48
-rw-r--r--pkgs/tools/security/keybase/gui.nix10
-rw-r--r--pkgs/tools/security/keybase/kbfs.nix9
-rw-r--r--pkgs/tools/security/ossec/default.nix4
-rw-r--r--pkgs/tools/security/pass/extensions/genphrase.nix4
-rw-r--r--pkgs/tools/security/pbis/default.nix70
-rw-r--r--pkgs/tools/security/pcsclite/default.nix6
-rw-r--r--pkgs/tools/security/pius/default.nix2
-rw-r--r--pkgs/tools/security/ripasso/cursive.nix23
-rw-r--r--pkgs/tools/security/rng-tools/default.nix21
-rw-r--r--pkgs/tools/security/sequoia/default.nix8
-rw-r--r--pkgs/tools/security/sops/default.nix8
-rw-r--r--pkgs/tools/security/step-cli/default.nix25
-rw-r--r--pkgs/tools/security/step-cli/deps.nix453
-rw-r--r--pkgs/tools/security/stoken/default.nix2
-rw-r--r--pkgs/tools/security/sudo/default.nix6
-rw-r--r--pkgs/tools/security/tpm2-tools/default.nix4
-rw-r--r--pkgs/tools/security/trousers/default.nix19
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--pkgs/tools/security/vulnix/default.nix19
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock46
-rw-r--r--pkgs/tools/security/wpscan/default.nix2
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix82
-rw-r--r--pkgs/tools/security/yara/default.nix17
-rw-r--r--pkgs/tools/system/bootchart/default.nix31
-rw-r--r--pkgs/tools/system/collectd/plugins.nix6
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/fakeroot/default.nix2
-rw-r--r--pkgs/tools/system/fio/default.nix6
-rw-r--r--pkgs/tools/system/hardinfo/default.nix2
-rw-r--r--pkgs/tools/system/inxi/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix41
-rw-r--r--pkgs/tools/system/logcheck/default.nix2
-rw-r--r--pkgs/tools/system/minijail/default.nix28
-rw-r--r--pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch41
-rw-r--r--pkgs/tools/system/osquery/default.nix149
-rw-r--r--pkgs/tools/system/proot/default.nix2
-rw-r--r--pkgs/tools/system/rsyslog/default.nix10
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix14
-rw-r--r--pkgs/tools/system/thermald/default.nix4
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix6
-rw-r--r--pkgs/tools/system/yeshup/default.nix6
-rw-r--r--pkgs/tools/text/amber/default.nix6
-rw-r--r--pkgs/tools/text/ansifilter/default.nix15
-rw-r--r--pkgs/tools/text/boxes/default.nix47
-rw-r--r--pkgs/tools/text/coloursum/default.nix10
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/gawk/gawk-with-extensions.nix12
-rw-r--r--pkgs/tools/text/gawk/gawkextlib.nix149
-rw-r--r--pkgs/tools/text/gawk/setup-hook.sh6
-rw-r--r--pkgs/tools/text/grip-search/default.nix31
-rw-r--r--pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch46
-rw-r--r--pkgs/tools/text/groff/default.nix4
-rw-r--r--pkgs/tools/text/highlight/default.nix85
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/text/mdbook/default.nix6
-rw-r--r--pkgs/tools/text/mdcat/default.nix12
-rw-r--r--pkgs/tools/text/ocrmypdf/default.nix9
-rw-r--r--pkgs/tools/text/papertrail/default.nix2
-rw-r--r--pkgs/tools/text/par/default.nix3
-rw-r--r--pkgs/tools/text/recode/default.nix8
-rw-r--r--pkgs/tools/text/ripgrep-all/default.nix28
-rw-r--r--pkgs/tools/text/ripgrep/default.nix2
-rw-r--r--pkgs/tools/text/ruplacer/default.nix25
-rw-r--r--pkgs/tools/text/sgml/opensp/setup-hook.sh2
-rw-r--r--pkgs/tools/text/smu/default.nix26
-rw-r--r--pkgs/tools/text/snippetpixie/default.nix89
-rw-r--r--pkgs/tools/text/source-highlight/default.nix4
-rw-r--r--pkgs/tools/text/transifex-client/default.nix6
-rw-r--r--pkgs/tools/text/xml/sablotron/default.nix14
-rw-r--r--pkgs/tools/typesetting/asciidoctorj/default.nix36
-rw-r--r--pkgs/tools/typesetting/biber/default.nix17
-rw-r--r--pkgs/tools/typesetting/fop/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix14
-rw-r--r--pkgs/tools/typesetting/pygmentex/default.nix56
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix6
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/pplatex/default.nix32
-rw-r--r--pkgs/tools/typesetting/tex/texlive/UPGRADING.md2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix163
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix25
-rw-r--r--pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch16
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fixedHashes.nix5323
-rw-r--r--pkgs/tools/typesetting/tex/texlive/pkgs.nix18539
-rw-r--r--pkgs/tools/video/rav1e/default.nix48
-rw-r--r--pkgs/tools/virtualization/amazon-ecs-cli/default.nix21
-rw-r--r--pkgs/tools/virtualization/cri-tools/default.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-utils/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix59
-rw-r--r--pkgs/top-level/all-packages.nix1328
-rw-r--r--pkgs/top-level/coq-packages.nix6
-rw-r--r--pkgs/top-level/emscripten-packages.nix7
-rw-r--r--pkgs/top-level/lua-packages.nix6
-rw-r--r--pkgs/top-level/ocaml-packages.nix90
-rw-r--r--pkgs/top-level/perl-packages.nix754
-rw-r--r--pkgs/top-level/php-packages.nix88
-rw-r--r--pkgs/top-level/python-packages.nix318
-rw-r--r--pkgs/top-level/static.nix50
4311 files changed, 115740 insertions, 107874 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 238ba161b58..d1086658a07 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -47,6 +47,9 @@
 /nixos/doc/manual/man-nixos-option.xml                @nbp
 /nixos/modules/installer/tools/nixos-option.sh        @nbp
 
+# NixOS integration test driver
+/nixos/lib/test-driver  @tfc
+
 # New NixOS modules
 /nixos/modules/module-list.nix @Infinisil
 
@@ -167,3 +170,8 @@
 /nixos/modules/services/monitoring/prometheus/exporters.nix  @WilliButz
 /nixos/modules/services/monitoring/prometheus/exporters.xml  @WilliButz
 /nixos/tests/prometheus-exporters.nix                        @WilliButz
+
+# PHP
+/pkgs/development/interpreters/php  @etu
+/pkgs/top-level/php-packages.nix    @etu
+/pkgs/build-support/build-pecl.nix  @etu
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 4577cea2225..706952b208d 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -6,9 +6,8 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 ## Opening issues
 
 * Make sure you have a [GitHub account](https://github.com/signup/free)
-* [Submit an issue](https://github.com/NixOS/nixpkgs/issues) - assuming one does not already exist.
-  * Clearly describe the issue including steps to reproduce when it is a bug.
-  * Include information what version of nixpkgs and Nix are you using (nixos-version or git revision).
+* Make sure there is no open issue on the topic
+* [Submit a new issue](https://github.com/NixOS/nixpkgs/issues/new/choose) by choosing the kind of topic and fill out the template
 
 ## Submitting changes
 
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 89c751f4db7..b923902cf92 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -12,7 +12,7 @@
    - [ ] macOS
    - [ ] other Linux distributions
 - [ ] 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 nix-review --run "nix-review wip"`
+- [ ] Tested compilation of all pkgs 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/`)
 - [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)
 - [ ] Ensured that relevant documentation is up to date
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 00000000000..bf47ba3c25b
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,32 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 180
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: false
+# Issues with these labels will never be considered stale
+exemptLabels:
+  - 1.severity: security
+# Label to use when marking an issue as stale
+staleLabel: 2.status: stale
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+  Thank you for your contributions.
+
+  This has been automatically marked as stale because it has had no
+  activity for 180 days.
+
+  If this is still important to you, we ask that you leave a
+  comment below. Your comment can be as simple as "still important
+  to me". This lets people see that at least one person still cares
+  about this. Someone will have to do this at most twice a year if
+  there is no other activity.
+
+  Here are suggestions that might help resolve this more quickly:
+
+  1. Search for maintainers and people that previously touched the
+     related code and @ mention them in a comment.
+  2. Ask on the [NixOS Discourse](https://discourse.nixos.org/).
+  3. Ask on the [#nixos channel](irc://irc.freenode.net/#nixos) on
+     [irc.freenode.net](https://freenode.net).
+
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml
index ff398833491..f07c310dcdf 100644
--- a/doc/builders/fetchers.xml
+++ b/doc/builders/fetchers.xml
@@ -107,6 +107,17 @@ stdenv.mkDerivation {
   </varlistentry>
   <varlistentry>
    <term>
+    <literal>fetchFromGitiles</literal>
+   </term>
+   <listitem>
+    <para>
+     This is used with Gitiles repositories. The arguments expected
+     are similar to fetchgit.
+    </para>
+   </listitem>
+  </varlistentry>
+  <varlistentry>
+   <term>
     <literal>fetchFromBitbucket</literal>
    </term>
    <listitem>
diff --git a/doc/builders/images/dockertools.xml b/doc/builders/images/dockertools.xml
index 2243453c3e9..e7f37fdaaf0 100644
--- a/doc/builders/images/dockertools.xml
+++ b/doc/builders/images/dockertools.xml
@@ -8,12 +8,6 @@
   <varname>pkgs.dockerTools</varname> is a set of functions for creating and manipulating Docker images according to the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120"> Docker Image Specification v1.2.0 </link>. Docker itself is not used to perform any of the operations done by these functions.
  </para>
 
- <warning>
-  <para>
-   The <varname>dockerTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
-  </para>
- </warning>
-
  <section xml:id="ssec-pkgs-dockerTools-buildImage">
   <title>buildImage</title>
 
diff --git a/doc/builders/trivial-builders.xml b/doc/builders/trivial-builders.xml
index df0e38da1aa..94948c57b91 100644
--- a/doc/builders/trivial-builders.xml
+++ b/doc/builders/trivial-builders.xml
@@ -7,7 +7,7 @@
   Nixpkgs provides a couple of functions that help with building derivations. The most important one, <function>stdenv.mkDerivation</function>, has already been documented above. The following functions wrap <function>stdenv.mkDerivation</function>, making it easier to use in certain cases.
  </para>
  <variablelist>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommand">
    <term>
     <literal>runCommand</literal>
    </term>
@@ -40,7 +40,7 @@
 </programlisting>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandCC">
    <term>
     <literal>runCommandCC</literal>
    </term>
@@ -50,7 +50,20 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandLocal">
+   <term>
+    <literal>runCommandLocal</literal>
+   </term>
+   <listitem>
+    <para>
+     Variant of <literal>runCommand</literal> that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
+    </para>
+    <note><para>
+      This sets <link xlink:href="https://nixos.org/nix/manual/#adv-attr-allowSubstitutes"><literal>allowSubstitutes</literal> to <literal>false</literal></link>, so only use <literal>runCommandLocal</literal> if you are certain the user will always have a builder for the <literal>system</literal> of the derivation. This should be true for most trivial use cases (e.g. just copying some files to a different location or adding symlinks), because there the <literal>system</literal> is usually the same as <literal>builtins.currentSystem</literal>.
+    </para></note>
+   </listitem>
+  </varlistentry>
+  <varlistentry xml:id="trivial-builder-writeText">
    <term>
     <literal>writeTextFile</literal>, <literal>writeText</literal>, <literal>writeTextDir</literal>, <literal>writeScript</literal>, <literal>writeScriptBin</literal>
    </term>
@@ -63,7 +76,7 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-symlinkJoin">
    <term>
     <literal>symlinkJoin</literal>
    </term>
diff --git a/doc/contributing/coding-conventions.xml b/doc/contributing/coding-conventions.xml
index 799f1479467..fcb6501f615 100644
--- a/doc/contributing/coding-conventions.xml
+++ b/doc/contributing/coding-conventions.xml
@@ -622,6 +622,16 @@ args.stdenv.mkDerivation (args // {
        </varlistentry>
        <varlistentry>
         <term>
+         If it’s an <emphasis>icon theme</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/icons</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>
          If it’s related to <emphasis>SGML/XML processing</emphasis>:
         </term>
         <listitem>
@@ -652,6 +662,17 @@ args.stdenv.mkDerivation (args // {
          </variablelist>
         </listitem>
        </varlistentry>
+       <varlistentry>
+        <term>
+         If it’s a <emphasis>theme</emphasis> for a <emphasis>desktop environment</emphasis>,
+         a <emphasis>window manager</emphasis> or a <emphasis>display manager</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/themes</filename>
+         </para>
+        </listitem>
+       </varlistentry>
       </variablelist>
      </listitem>
     </varlistentry>
diff --git a/doc/contributing/reviewing-contributions.xml b/doc/contributing/reviewing-contributions.xml
index ed8f379c460..fe79d8d992b 100644
--- a/doc/contributing/reviewing-contributions.xml
+++ b/doc/contributing/reviewing-contributions.xml
@@ -141,10 +141,10 @@
      </listitem>
      <listitem>
       <para>
-       The <link xlink:href="https://github.com/Mic92/nix-review">nix-review</link> tool can be used to review a pull request content in a single command. <varname>PRNUMBER</varname> should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
+       The <link xlink:href="https://github.com/Mic92/nixpkgs-review">nixpkgs-review</link> tool can be used to review a pull request content in a single command. <varname>PRNUMBER</varname> should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
       </para>
 <screen>
-<prompt>$ </prompt>nix-shell -p nix-review --run "nix-review pr PRNUMBER"
+<prompt>$ </prompt>nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER"
 </screen>
      </listitem>
     </itemizedlist>
diff --git a/doc/contributing/submitting-changes.xml b/doc/contributing/submitting-changes.xml
index f0971162411..f283ae1e685 100644
--- a/doc/contributing/submitting-changes.xml
+++ b/doc/contributing/submitting-changes.xml
@@ -228,6 +228,33 @@ Additional information.
    </listitem>
   </itemizedlist>
  </section>
+ <section xml:id="submitting-changes-submitting-security-fixes">
+  <title>Submitting security fixes</title>
+
+  <para>
+   Security fixes are submitted in the same way as other changes and thus the same guidelines apply.
+  </para>
+
+  <para>
+   If the security fix comes in the form of a patch and a CVE is available, then the name of the patch should be the CVE identifier, so e.g. <literal>CVE-2019-13636.patch</literal> in the case of a patch that is included in the Nixpkgs tree. If a patch is fetched the name needs to be set as well, e.g.:
+  </para>
+
+<programlisting>
+   (fetchpatch {
+     name = "CVE-2019-11068.patch";
+     url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
+     sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
+   })
+  </programlisting>
+
+  <para>
+   If a security fix applies to both master and a stable release then, similar to regular changes, they are preferably delivered via master first and cherry-picked to the release branch.
+  </para>
+
+  <para>
+   Critical security fixes may by-pass the staging branches and be delivered directly to release branches such as <literal>master</literal> and <literal>release-*</literal>.
+  </para>
+ </section>
  <section xml:id="submitting-changes-pull-request-template">
   <title>Pull Request Template</title>
 
@@ -290,20 +317,25 @@ Additional information.
   </section>
 
   <section xml:id="submitting-changes-tested-compilation">
-   <title>Tested compilation of all pkgs that depend on this change using <command>nix-review</command></title>
+   <title>Tested compilation of all pkgs that depend on this change using <command>nixpkgs-review</command></title>
 
    <para>
-    If you are updating a package's version, you can use nix-review to make sure all packages that depend on the updated package still compile correctly. The <command>nix-review</command> utility can look for and build all dependencies either based on uncommited changes with the <literal>wip</literal> option or specifying a github pull request number.
+    If you are updating a package's version, you can use nixpkgs-review to make sure all packages that depend on the updated package still compile correctly. The <command>nixpkgs-review</command> utility can look for and build all dependencies either based on uncommited changes with the <literal>wip</literal> option or specifying a github pull request number.
    </para>
 
    <para>
     review changes from pull request number 12345:
-<screen>nix-shell -p nix-review --run "nix-review pr 12345"</screen>
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review pr 12345</screen>
    </para>
 
    <para>
     review uncommitted changes:
-<screen>nix-shell -p nix-review --run "nix-review wip"</screen>
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review wip</screen>
+   </para>
+
+   <para>
+    review changes from last commit:
+    <screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review rev HEAD</screen>
    </para>
   </section>
 
@@ -376,7 +408,7 @@ Additional information.
   <section xml:id="submitting-changes-master-branch">
    <title>Master branch</title>
    <para>
-    The <literal>master</literal> branch is the main development branch. 
+    The <literal>master</literal> branch is the main development branch.
     It should only see non-breaking commits that do not cause mass rebuilds.
    </para>
   </section>
@@ -384,8 +416,8 @@ Additional information.
   <section xml:id="submitting-changes-staging-branch">
    <title>Staging branch</title>
    <para>
-    The <literal>staging</literal> branch is a development branch where mass-rebuilds go. 
-    It should only see non-breaking mass-rebuild commits. 
+    The <literal>staging</literal> branch is a development branch where mass-rebuilds go.
+    It should only see non-breaking mass-rebuild commits.
     That means it is not to be used for testing, and changes must have been well tested already.
     If the branch is already in a broken state, please refrain from adding extra new breakages.
    </para>
@@ -394,10 +426,10 @@ Additional information.
   <section xml:id="submitting-changes-staging-next-branch">
    <title>Staging-next branch</title>
    <para>
-    The <literal>staging-next</literal> branch is for stabilizing mass-rebuilds submitted to the <literal>staging</literal> branch prior to merging them into <literal>master</literal>. 
-    Mass-rebuilds should go via the <literal>staging</literal> branch. 
+    The <literal>staging-next</literal> branch is for stabilizing mass-rebuilds submitted to the <literal>staging</literal> branch prior to merging them into <literal>master</literal>.
+    Mass-rebuilds should go via the <literal>staging</literal> branch.
     It should only see non-breaking commits that are fixing issues blocking it from being merged into the <literal>master </literal> branch.
-   </para>  
+   </para>
    <para>
     If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
    </para>
@@ -409,7 +441,7 @@ Additional information.
    <itemizedlist>
     <listitem>
      <para>
-      If you're cherry-picking a commit to a stable release branch, always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
+      If you're cherry-picking a commit to a stable release branch (“backporting”), always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
      </para>
      <para>
       An example of a cherry-picked commit would look like this:
diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md
index f268c552566..9a5df2523a2 100644
--- a/doc/languages-frameworks/android.section.md
+++ b/doc/languages-frameworks/android.section.md
@@ -95,7 +95,7 @@ $ nix-build
 
 The Android SDK gets deployed with all desired plugin versions.
 
-We can also deploy subsets of the Android SDK. For example, to only the the
+We can also deploy subsets of the Android SDK. For example, to only the
 `platform-tools` package, you can evaluate the following expression:
 
 ```nix
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml
index 74c595cc89b..278535237c2 100644
--- a/doc/languages-frameworks/beam.xml
+++ b/doc/languages-frameworks/beam.xml
@@ -26,7 +26,7 @@
    </listitem>
    <listitem>
     <para>
-     <literal>packages</literal>: a set of package sets, each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
+     <literal>packages</literal>: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
     </para>
    </listitem>
   </itemizedlist>
@@ -36,15 +36,11 @@
   </para>
 
   <para>
-   To create a package set built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package set similar to <literal>beam.packages.erlang</literal>.
+   To create a package builder built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package builder similar to <literal>beam.packages.erlang</literal>.
   </para>
 
   <para>
-   Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled. For example, there's <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR19</literal>.
-  </para>
-
-  <para xml:id="erlang-call-package">
-   We also provide the lambda, <literal>beam.packages.erlang.callPackage</literal>, which simplifies writing BEAM package definitions by injecting all packages from <literal>beam.packages.erlang</literal> into the top-level context.
+   Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's <literal>beam.interpreters.erlangR22_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal> and <literal>beam.interpreters.erlangR22_nox</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal>.
   </para>
  </section>
 
@@ -55,7 +51,7 @@
    <title>Rebar3</title>
 
    <para>
-    We provide a version of Rebar3, which is the normal, unmodified Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
+    We provide a version of Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
    </para>
   </section>
 
@@ -72,32 +68,14 @@
   <title>How to Install BEAM Packages</title>
 
   <para>
-   BEAM packages are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. They are installable using the <literal>beam.packages.erlang</literal> attribute set (aliased as <literal>beamPackages</literal>), which points to packages built by the default Erlang/OTP version in Nixpkgs, as defined by <literal>beam.interpreters.erlang</literal>. To list the available packages in <literal>beamPackages</literal>, use the following command:
-  </para>
-
-<screen>
-<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A beamPackages
-beamPackages.esqlite    esqlite-0.2.1
-beamPackages.goldrush   goldrush-0.1.7
-beamPackages.ibrowse    ibrowse-4.2.2
-beamPackages.jiffy      jiffy-0.14.5
-beamPackages.lager      lager-3.0.2
-beamPackages.meck       meck-0.8.3
-beamPackages.rebar3-pc  pc-1.1.0
-</screen>
-
-  <para>
-   To install any of those packages into your profile, refer to them by their attribute path (first column):
+   BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. 
+   To install any of those builders into your profile, refer to them by their attribute path <literal>beamPackages.rebar3</literal>:
   </para>
 
-<screen>
-<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
-</screen>
-
-  <para>
-   The attribute path of any BEAM package corresponds to the name of that particular package in <link xlink:href="https://hex.pm">Hex</link> or its OTP Application/Release name.
-  </para>
- </section>
+  <screen>
+  <prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.rebar3
+  </screen>
+</section>
 
  <section xml:id="packaging-beam-applications">
   <title>Packaging BEAM Applications</title>
@@ -109,35 +87,7 @@ beamPackages.rebar3-pc  pc-1.1.0
     <title>Rebar3 Packages</title>
 
     <para>
-     The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project. For example, we can build <link
-        xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> as follows:
-    </para>
-
-<programlisting>
-{ stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }:
-
-buildRebar3 rec {
-  name = "hex2nix";
-  version = "0.0.1";
-
-  src = fetchFromGitHub {
-    owner = "ericbmerritt";
-    repo = "hex2nix";
-    rev = "${version}";
-    sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg";
-  };
-
-  beamDeps = [ ibrowse jsx erlware_commons ];
-}
-</programlisting>
-
-    <para>
-     Such derivations are callable with <literal>beam.packages.erlang.callPackage</literal> (see <xref
-        linkend="erlang-call-package"/>). To call this package using the normal <literal>callPackage</literal>, refer to dependency packages via <literal>beamPackages</literal>, e.g. <literal>beamPackages.ibrowse</literal>.
-    </para>
-
-    <para>
-     Notably, <literal>buildRebar3</literal> includes <literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal> does not. BEAM dependencies added there will be correctly handled by the system.
+     The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project.
     </para>
 
     <para>
@@ -152,30 +102,6 @@ buildRebar3 rec {
      Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
     </para>
 
-<programlisting>
-{ buildErlangMk, fetchHex, cowlib, ranch }:
-
-buildErlangMk {
-  name = "cowboy";
-  version = "1.0.4";
-
-  src = fetchHex {
-    pkg = "cowboy";
-    version = "1.0.4";
-    sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac";
-  };
-
-  beamDeps = [ cowlib ranch ];
-
-  meta = {
-    description = ''
-      Small, fast, modular HTTP server written in Erlang
-    '';
-    license = stdenv.lib.licenses.isc;
-    homepage = https://github.com/ninenines/cowboy;
-  };
-}
-</programlisting>
    </section>
 
    <section xml:id="mix-packages">
@@ -185,57 +111,9 @@ buildErlangMk {
      Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
     </para>
 
-<programlisting>
-{ buildMix, fetchHex, plug, absinthe }:
-
-buildMix {
-  name = "absinthe_plug";
-  version = "1.0.0";
-
-  src = fetchHex {
-    pkg = "absinthe_plug";
-    version = "1.0.0";
-    sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-  };
-
-  beamDeps = [ plug absinthe ];
-
-  meta = {
-    description = ''
-      A plug for Absinthe, an experimental GraphQL toolkit
-    '';
-    license = stdenv.lib.licenses.bsd3;
-    homepage = https://github.com/CargoSense/absinthe_plug;
-  };
-}
-</programlisting>
-
     <para>
      Alternatively, we can use <literal>buildHex</literal> as a shortcut:
     </para>
-
-<programlisting>
-{ buildHex, buildMix, plug, absinthe }:
-
-buildHex {
-  name = "absinthe_plug";
-  version = "1.0.0";
-
-  sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-
-  builder = buildMix;
-
-  beamDeps = [ plug absinthe ];
-
-  meta = {
-    description = ''
-      A plug for Absinthe, an experimental GraphQL toolkit
-    '';
-    license = stdenv.lib.licenses.bsd3;
-    homepage = https://github.com/CargoSense/absinthe_plug;
- };
-}
-</programlisting>
    </section>
   </section>
  </section>
@@ -243,66 +121,13 @@ buildHex {
  <section xml:id="how-to-develop">
   <title>How to Develop</title>
 
-  <section xml:id="accessing-an-environment">
-   <title>Accessing an Environment</title>
-
-   <para>
-    Often, we simply want to access a valid environment that contains a specific package and its dependencies. We can accomplish that with the <literal>env</literal> attribute of a derivation. For example, let's say we want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We could do the following:
-   </para>
-
-<screen>
-<prompt>$ </prompt><userinput>nix-shell -A beamPackages.ibrowse.env --run "erl"</userinput>
-<computeroutput>Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
-
-Eshell V7.0  (abort with ^G)</computeroutput>
-<prompt>1> </prompt><userinput>m(ibrowse).</userinput>
-<computeroutput>Module: ibrowse
-MD5: 3b3e0137d0cbb28070146978a3392945
-Compiled: January 10 2016, 23:34
-Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam
-Compiler options:  [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"},
-debug_info,debug_info,nowarn_shadow_vars,
-warn_unused_import,warn_unused_vars,warnings_as_errors,
-{i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}]
-Exports:
-add_config/1                  send_req_direct/7
-all_trace_off/0               set_dest/3
-code_change/3                 set_max_attempts/3
-get_config_value/1            set_max_pipeline_size/3
-get_config_value/2            set_max_sessions/3
-get_metrics/0                 show_dest_status/0
-get_metrics/2                 show_dest_status/1
-handle_call/3                 show_dest_status/2
-handle_cast/2                 spawn_link_worker_process/1
-handle_info/2                 spawn_link_worker_process/2
-init/1                        spawn_worker_process/1
-module_info/0                 spawn_worker_process/2
-module_info/1                 start/0
-rescan_config/0               start_link/0
-rescan_config/1               stop/0
-send_req/3                    stop_worker_process/1
-send_req/4                    stream_close/1
-send_req/5                    stream_next/1
-send_req/6                    terminate/2
-send_req_direct/4             trace_off/0
-send_req_direct/5             trace_off/2
-send_req_direct/6             trace_on/0
-trace_on/2
-ok</computeroutput>
-<prompt>2></prompt>
-</screen>
-
-   <para>
-    Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key to this functionality.
-   </para>
-  </section>
-
   <section xml:id="creating-a-shell">
    <title>Creating a Shell</title>
 
-   <para>
-    Getting access to an environment often isn't enough to do real development. Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. This file looks a lot like the packaging described above, except that <literal>src</literal> points to the project root and we call the package directly.
-   </para>
+  <para>
+    Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools.
+    As an example with elixir:
+  </para>
 
 <programlisting>
 { pkgs ? import &quot;&lt;nixpkgs&quot;&gt; {} }:
@@ -311,114 +136,24 @@ with pkgs;
 
 let
 
-  f = { buildRebar3, ibrowse, jsx, erlware_commons }:
-      buildRebar3 {
-        name = "hex2nix";
-        version = "0.1.0";
-        src = ./.;
-        beamDeps = [ ibrowse jsx erlware_commons ];
-      };
-  drv = beamPackages.callPackage f {};
+  elixir = beam.packages.erlangR22.elixir_1_9;
 
 in
+mkShell {
+  buildInputs = [ elixir ];
 
-  drv
+  ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
+}
 </programlisting>
 
    <section xml:id="building-in-a-shell">
     <title>Building in a Shell (for Mix Projects)</title>
 
     <para>
-     We can leverage the support of the derivation, irrespective of the build derivation, by calling the commands themselves.
-    </para>
-
-<programlisting>
-# =============================================================================
-# Variables
-# =============================================================================
-
-NIX_TEMPLATES := "$(CURDIR)/nix-templates"
-
-TARGET := "$(PREFIX)"
-
-PROJECT_NAME := thorndyke
-
-NIXPKGS=../nixpkgs
-NIX_PATH=nixpkgs=$(NIXPKGS)
-NIX_SHELL=nix-shell -I "$(NIX_PATH)" --pure
-# =============================================================================
-# Rules
-# =============================================================================
-.PHONY= all test clean repl shell build test analyze configure install \
-        test-nix-install publish plt analyze
-
-all: build
-
-guard-%:
-        @ if [ "${${*}}" == "" ]; then \
-                echo "Environment variable $* not set"; \
-                exit 1; \
-        fi
-
-clean:
-        rm -rf _build
-        rm -rf .cache
-
-repl:
-        $(NIX_SHELL) --run "iex -pa './_build/prod/lib/*/ebin'"
-
-shell:
-        $(NIX_SHELL)
-
-configure:
-        $(NIX_SHELL) --command 'eval "$$configurePhase"'
-
-build: configure
-        $(NIX_SHELL) --command 'eval "$$buildPhase"'
-
-install:
-        $(NIX_SHELL) --command 'eval "$$installPhase"'
-
-test:
-        $(NIX_SHELL) --command 'mix test --no-start --no-deps-check'
-
-plt:
-        $(NIX_SHELL) --run "mix dialyzer.plt --no-deps-check"
-
-analyze: build plt
-        $(NIX_SHELL) --run "mix dialyzer --no-compile"
-
-</programlisting>
-
-    <para>
      Using a <literal>shell.nix</literal> as described (see <xref
-      linkend="creating-a-shell"/>) should just work. Aside from <literal>test</literal>, <literal>plt</literal>, and <literal>analyze</literal>, the Make targets work just fine for all of the build derivations.
+      linkend="creating-a-shell"/>) should just work.
     </para>
    </section>
   </section>
  </section>
-
- <section xml:id="generating-packages-from-hex-with-hex2nix">
-  <title>Generating Packages from Hex with <literal>hex2nix</literal></title>
-
-  <para>
-   Updating the <link xlink:href="https://hex.pm">Hex</link> package set requires <link
-    xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>. Given the path to the Erlang modules (usually <literal>pkgs/development/erlang-modules</literal>), it will dump a file called <literal>hex-packages.nix</literal>, containing all the packages that use a recognized build system in <link
-    xlink:href="https://hex.pm">Hex</link>. It can't be determined, however, whether every package is buildable.
-  </para>
-
-  <para>
-   To make life easier for our users, try to build every <link
-      xlink:href="https://hex.pm">Hex</link> package and remove those that fail. To do that, simply run the following command in the root of your <literal>nixpkgs</literal> repository:
-  </para>
-
-<screen>
-<prompt>$ </prompt>nix-build -A beamPackages
-</screen>
-
-  <para>
-   That will attempt to build every package in <literal>beamPackages</literal>. Then manually remove those that fail. Hopefully, someone will improve <link
-      xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> in the future to automate the process.
-  </para>
- </section>
 </section>
diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml
index 3d69d77a1c8..bb68d026ae2 100644
--- a/doc/languages-frameworks/gnome.xml
+++ b/doc/languages-frameworks/gnome.xml
@@ -74,7 +74,7 @@
 preFixup = ''
   for f in $(find $out/bin/ $out/libexec/ -type f -executable); do
     wrapProgram "$f" \
-      --prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$out/share" \
       --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
       --prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
@@ -102,7 +102,7 @@ preFixup = ''
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-dconf">
      <para>
-      <package>gnome3.dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
+      <package>dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
      </para>
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-hicolor-icon-theme">
@@ -199,9 +199,9 @@ python3.pkgs.buildPythonApplication {
   dontWrapGApps = true;
 
   # Arguments to be passed to `makeWrapper`, only used by buildPython*
-  makeWrapperArgs = [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 }
 </programlisting>
       And for a QT app like:
@@ -219,9 +219,9 @@ mkDerivation {
   dontWrapGApps = true;
 
   # Arguments to be passed to `makeWrapper`, only used by qt5’s mkDerivation
-  qtWrapperArgs = [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 }
 </programlisting>
      </para>
diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml
index 288a9029863..bd1ee8eba27 100644
--- a/doc/languages-frameworks/go.xml
+++ b/doc/languages-frameworks/go.xml
@@ -26,7 +26,7 @@
    <title>buildGoModule</title>
 <programlisting>
 pet = buildGoModule rec {
-  name = "pet-${version}";
+  pname = "pet";
   version = "0.3.4";
 
   src = fetchFromGitHub {
@@ -79,7 +79,7 @@ pet = buildGoModule rec {
    <title>buildGoPackage</title>
 <programlisting>
 deis = buildGoPackage rec {
-  name = "deis-${version}";
+  pname = "deis";
   version = "1.13.0";
 
   goPackagePath = "github.com/deis/deis"; <co xml:id='ex-buildGoPackage-1' />
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index 1e677450aa1..be5c7b7c8d1 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -25,14 +25,14 @@ avoided that by keeping all Haskell-related packages in a separate attribute
 set called `haskellPackages`, which the following command will list:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
-haskellPackages.a50         a50-0.5
-haskellPackages.abacate     haskell-abacate-0.0.0.0
-haskellPackages.abcBridge   haskell-abcBridge-0.12
-haskellPackages.afv         afv-0.1.1
-haskellPackages.alex        alex-3.1.4
-haskellPackages.Allure      Allure-0.4.101.1
-haskellPackages.alms        alms-0.6.7
-[... some 8000 entries omitted  ...]
+haskellPackages.a50                                             a50-0.5
+haskellPackages.AAI                                             AAI-0.2.0.1
+haskellPackages.abacate                                         abacate-0.0.0.0
+haskellPackages.abc-puzzle                                      abc-puzzle-0.2.1
+haskellPackages.abcBridge                                       abcBridge-0.15
+haskellPackages.abcnotation                                     abcnotation-1.9.0
+haskellPackages.abeson                                          abeson-0.1.0.1
+[... some 14000 entries omitted  ...]
 ```
 
 To install any of those packages into your profile, refer to them by their
@@ -101,19 +101,21 @@ to compile your Haskell packages with any GHC version you please. The following
 command displays the complete list of available compilers:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
-haskell.compiler.ghc6104        ghc-6.10.4
-haskell.compiler.ghc6123        ghc-6.12.3
-haskell.compiler.ghc704         ghc-7.0.4
-haskell.compiler.ghc722         ghc-7.2.2
-haskell.compiler.ghc742         ghc-7.4.2
-haskell.compiler.ghc763         ghc-7.6.3
-haskell.compiler.ghc784         ghc-7.8.4
-haskell.compiler.ghc7102        ghc-7.10.2
-haskell.compiler.ghcHEAD        ghc-7.11.20150402
-haskell.compiler.ghcNokinds     ghc-nokinds-7.11.20150704
-haskell.compiler.ghcjs          ghcjs-0.1.0
-haskell.compiler.jhc            jhc-0.8.2
-haskell.compiler.uhc            uhc-1.1.9.0
+haskell.compiler.ghc822                  ghc-8.2.2
+haskell.compiler.integer-simple.ghc822   ghc-8.2.2
+haskell.compiler.ghc822Binary            ghc-8.2.2-binary
+haskell.compiler.ghc844                  ghc-8.4.4
+haskell.compiler.ghc863Binary            ghc-8.6.3-binary
+haskell.compiler.ghc864                  ghc-8.6.4
+haskell.compiler.integer-simple.ghc864   ghc-8.6.4
+haskell.compiler.ghc865                  ghc-8.6.5
+haskell.compiler.integer-simple.ghc865   ghc-8.6.5
+haskell.compiler.ghc881                  ghc-8.8.1
+haskell.compiler.integer-simple.ghc881   ghc-8.8.1
+haskell.compiler.ghcHEAD                 ghc-8.9.20190601
+haskell.compiler.integer-simple.ghcHEAD  ghc-8.9.20190601
+haskell.compiler.ghcjs84                 ghcjs-8.4.0.1
+haskell.compiler.ghcjs                   ghcjs-8.6.0.1
 ```
 
 We have no package sets for `jhc` or `uhc` yet, unfortunately, but for every
@@ -398,7 +400,9 @@ nix:
 For more on how to write a `shell.nix` file see the below section. You'll need
 to express a derivation. Note that Nixpkgs ships with a convenience wrapper
 function around `mkDerivation` called `haskell.lib.buildStackProject` to help you
-create this derivation in exactly the way Stack expects. All of the same inputs
+create this derivation in exactly the way Stack expects. However for this to work
+you need to disable the sandbox, which you can do by using `--option sandbox relaxed`
+or `--option sandbox false` to the Nix command. All of the same inputs
 as `mkDerivation` can be provided. For example, to build a Stack project that
 including packages that link against a version of the R library compiled with
 special options turned on:
diff --git a/doc/languages-frameworks/ios.section.md b/doc/languages-frameworks/ios.section.md
index 6684b809ffe..5a81795c004 100644
--- a/doc/languages-frameworks/ios.section.md
+++ b/doc/languages-frameworks/ios.section.md
@@ -1,7 +1,7 @@
 ---
 title: iOS
 author: Sander van der Burg
-date: 2018-11-18
+date: 2019-11-10
 ---
 # iOS
 
@@ -217,3 +217,13 @@ xcode.simulateApp {
 
 By providing the result of an `xcode.buildApp {}` function and configuring the
 app bundle id, the app gets deployed automatically and started.
+
+Troubleshooting
+---------------
+In some rare cases, it may happen that after a failure, changes are not picked
+up. Most likely, this is caused by a derived data cache that Xcode maintains.
+To wipe it you can run:
+
+```bash
+$ rm -rf ~/Library/Developer/Xcode/DerivedData
+```
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 02bff8666e2..9cb0e1eecc1 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -144,6 +144,24 @@ What's happening here?
 2. Then we create a Python 3.5 environment with the `withPackages` function.
 3. The `withPackages` function expects us to provide a function as an argument that takes the set of all python packages and returns a list of packages to include in the environment. Here, we select the packages `numpy` and `toolz` from the package set.
 
+To combine this with `mkShell` you can:
+
+```nix
+with import <nixpkgs> {};
+
+let
+  pythonEnv = python35.withPackages (ps: [
+    ps.numpy
+    ps.toolz
+  ]);
+in mkShell {
+  buildInputs = [
+    pythonEnv
+    hello
+  ];
+}
+```
+
 ##### Execute command with `--run`
 A convenient option with `nix-shell` is the `--run`
 option, with which you can execute a command in the `nix-shell`. We can
@@ -1016,7 +1034,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex
 
 ```nix
 with import <nixpkgs> {};
-with python27Packages;
+
+let
+  pythonPackages = python27Packages;
+in
 
 stdenv.mkDerivation {
   name = "impurePythonEnv";
@@ -1026,9 +1047,8 @@ stdenv.mkDerivation {
   buildInputs = [
     # these packages are required for virtualenv and pip to work:
     #
-    python27Full
-    python27Packages.virtualenv
-    python27Packages.pip
+    pythonPackages.virtualenv
+    pythonPackages.pip
     # the following packages are related to the dependencies of your python
     # project.
     # In this particular example the python modules listed in the
@@ -1041,14 +1061,13 @@ stdenv.mkDerivation {
     libxml2
     libxslt
     libzip
-    stdenv
     zlib
   ];
 
   shellHook = ''
     # set SOURCE_DATE_EPOCH so that we can use python wheels
     SOURCE_DATE_EPOCH=$(date +%s)
-    virtualenv --no-setuptools venv
+    virtualenv --python=${pythonPackages.python.interpreter} --no-setuptools venv
     export PATH=$PWD/venv/bin:$PATH
     pip install -r requirements.txt
   '';
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 8b9aa5dc168..709a0d504cf 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -203,7 +203,7 @@ argument and returns a set that contains all attribute that should be
 overwritten.
 
 For more complicated cases, such as when parts of the crate's
-derivation depend on the the crate's version, the `attrs` argument of
+derivation depend on the crate's version, the `attrs` argument of
 the override above can be read, as in the following example, which
 patches the derivation:
 
diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml
index 7876cc213b6..8fa8f963b2f 100644
--- a/doc/languages-frameworks/texlive.xml
+++ b/doc/languages-frameworks/texlive.xml
@@ -59,6 +59,97 @@ nix-repl> texlive.collection-<TAB>
   </itemizedlist>
  </section>
 
+ <section xml:id="sec-language-texlive-custom-packages">
+  <title>Custom packages</title>
+  <para>
+    You may find that you need to use an external TeX package. A derivation for such package has to provide contents of the "texmf" directory in its output and provide the <varname>tlType</varname> attribute. Here is a (very verbose) example:
+<programlisting><![CDATA[
+with import <nixpkgs> {};
+
+let
+  foiltex_run = stdenvNoCC.mkDerivation {
+    pname = "latex-foiltex";
+    version = "2.1.4b";
+    passthru.tlType = "run";
+
+    srcs = [
+      (fetchurl {
+        url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.dtx";
+        sha256 = "07frz0krpz7kkcwlayrwrj2a2pixmv0icbngyw92srp9fp23cqpz";
+      })
+      (fetchurl {
+        url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.ins";
+        sha256 = "09wkyidxk3n3zvqxfs61wlypmbhi1pxmjdi1kns9n2ky8ykbff99";
+      })
+    ];
+
+    unpackPhase = ''
+      runHook preUnpack
+
+      for _src in $srcs; do
+        cp "$_src" $(stripHash "$_src")
+      done
+
+      runHook postUnpack
+    '';
+
+    nativeBuildInputs = [ texlive.combined.scheme-small ];
+
+    dontConfigure = true;
+
+    buildPhase = ''
+      runHook preBuild
+
+      # Generate the style files
+      latex foiltex.ins
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      path="$out/tex/latex/foiltex"
+      mkdir -p "$path"
+      cp *.{cls,def,clo} "$path/"
+
+      runHook postInstall
+    '';
+
+    meta = with lib; {
+      description = "A LaTeX2e class for overhead transparencies";
+      license = licenses.unfreeRedistributable;
+      maintainers = with maintainers; [ veprbl ];
+      platforms = platforms.all;
+    };
+  };
+  foiltex = { pkgs = [ foiltex_run ]; };
+
+  latex_with_foiltex = texlive.combine {
+    inherit (texlive) scheme-small;
+    inherit foiltex;
+  };
+in
+  runCommand "test.pdf" {
+    nativeBuildInputs = [ latex_with_foiltex ];
+  } ''
+cat >test.tex <<EOF
+\documentclass{foils}
+
+\title{Presentation title}
+\date{}
+
+\begin{document}
+\maketitle
+\end{document}
+EOF
+  pdflatex test.tex
+  cp test.pdf $out
+''
+]]></programlisting>
+  </para>
+ </section>
+
  <section xml:id="sec-language-texlive-known-problems">
   <title>Known problems</title>
 
diff --git a/doc/stdenv/cross-compilation.xml b/doc/stdenv/cross-compilation.xml
index 93fe9095ce2..bea56a0c2fc 100644
--- a/doc/stdenv/cross-compilation.xml
+++ b/doc/stdenv/cross-compilation.xml
@@ -244,7 +244,7 @@
      </question>
      <answer>
       <para>
-       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
+       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed <command>ar</command>.
       </para>
      </answer>
     </qandaentry>
@@ -348,12 +348,12 @@ nix-build '&lt;nixpkgs&gt;' --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&g
       </para>
      </listitem>
     </orderedlist>
-    In each stage, <varname>pkgsBuildHost</varname> refers the the previous stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and <varname>pkgsHostTarget</varname> refers to the current one, and <varname>pkgsTargetTarget</varname> refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note how all the invariants regarding the mapping between dependency and depending packages' build host and target platforms are preserved. <varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" self-references at the ends). We just special case each instead. All the primary edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>, and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
+    In each stage, <varname>pkgsBuildHost</varname> refers to the previous stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and <varname>pkgsHostTarget</varname> refers to the current one, and <varname>pkgsTargetTarget</varname> refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note how all the invariants regarding the mapping between dependency and depending packages' build host and target platforms are preserved. <varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" self-references at the ends). We just special case each instead. All the primary edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>, and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
    </para>
 
    <note>
     <para>
-     Note the native stages are bootstrapped in legacy ways that predate the current cross implementation. This is why the the bootstrapping stages leading up to the final stages are ignored inthe previous paragraph.
+     Note the native stages are bootstrapped in legacy ways that predate the current cross implementation. This is why the bootstrapping stages leading up to the final stages are ignored inthe previous paragraph.
     </para>
    </note>
 
diff --git a/doc/stdenv/stdenv.xml b/doc/stdenv/stdenv.xml
index 0b59f90eb49..1e97bf6157b 100644
--- a/doc/stdenv/stdenv.xml
+++ b/doc/stdenv/stdenv.xml
@@ -1123,6 +1123,16 @@ preBuild = ''
 
    <variablelist>
     <title>Variables controlling the install phase</title>
+     <varlistentry>
+     <term>
+       <varname>dontInstall</varname>
+     </term>
+     <listitem>
+      <para>
+       Set to true to skip the install phase.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
      <term>
       <varname>makeFlags</varname> / <varname>makeFlagsArray</varname> / <varname>makefile</varname>
@@ -1717,7 +1727,7 @@ someVar=$(stripHash $name)
   </para>
 
   <para>
-   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>`, <envar>envBuildHostHooks</envar>`, <envar>envBuildTargetHooks</envar>`, <envar>envHostHostHooks</envar>`, <envar>envHostTargetHooks</envar>`, or <envar>envTargetTargetHooks</envar>`. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
+   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>, <envar>envBuildHostHooks</envar>, <envar>envBuildTargetHooks</envar>, <envar>envHostHostHooks</envar>, <envar>envHostTargetHooks</envar>, or <envar>envTargetTargetHooks</envar>. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
   </para>
 
   <para>
diff --git a/doc/using/configuration.xml b/doc/using/configuration.xml
index a68ae739f52..f4d6e911006 100644
--- a/doc/using/configuration.xml
+++ b/doc/using/configuration.xml
@@ -141,11 +141,10 @@
      For a more useful example, try the following. This configuration only allows unfree packages named flash player and visual studio code:
 <programlisting>
 {
-  allowUnfreePredicate = (pkg: builtins.elem
-    (builtins.parseDrvName pkg.name).name [
-      "flashplayer"
-      "vscode"
-    ]);
+  allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+    "flashplayer"
+    "vscode"
+  ];
 }
 </programlisting>
     </para>
@@ -217,7 +216,7 @@
      The following configuration example only allows insecure packages with very short names:
 <programlisting>
 {
-  allowInsecurePredicate = (pkg: (builtins.stringLength (builtins.parseDrvName pkg.name).name) &lt;= 5);
+  allowInsecurePredicate = pkg: builtins.stringLength (lib.getName pkg) &lt;= 5;
 }
 </programlisting>
     </para>
diff --git a/lib/default.nix b/lib/default.nix
index 74d508ec1d6..8af53152586 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -84,7 +84,8 @@ let
       hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
       escapeShellArg escapeShellArgs replaceChars lowerChars
       upperChars toLower toUpper addContextFrom splitString
-      removePrefix removeSuffix versionOlder versionAtLeast getVersion
+      removePrefix removeSuffix versionOlder versionAtLeast
+      getName getVersion
       nameFromURL enableFeature enableFeatureAs withFeature
       withFeatureAs fixedWidthString fixedWidthNumber isStorePath
       toInt readPathsFromFile fileContents;
diff --git a/lib/strings.nix b/lib/strings.nix
index ae0d74c6721..6dbb3d3a3e8 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -473,6 +473,23 @@ rec {
   versionAtLeast = v1: v2: !versionOlder v1 v2;
 
   /* This function takes an argument that's either a derivation or a
+     derivation's "name" attribute and extracts the name part from that
+     argument.
+
+     Example:
+       getName "youtube-dl-2016.01.01"
+       => "youtube-dl"
+       getName pkgs.youtube-dl
+       => "youtube-dl"
+  */
+  getName = x:
+   let
+     parse = drv: (builtins.parseDrvName drv).name;
+   in if isString x
+      then parse x
+      else x.pname or (parse x.name);
+
+  /* This function takes an argument that's either a derivation or a
      derivation's "name" attribute and extracts the version part from that
      argument.
 
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 0c0cdf1f11b..026117cc34f 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -37,6 +37,7 @@ rec {
         else if final.isAndroid             then "bionic"
         else if final.isLinux /* default */ then "glibc"
         else if final.isMsp430              then "newlib"
+        else if final.isVc4                 then "newlib"
         else if final.isAvr                 then "avrlibc"
         else if final.isNetBSD              then "nblibc"
         # TODO(@Ericson2314) think more about other operating systems
@@ -79,6 +80,7 @@ rec {
         else if final.isAarch64 then "arm64"
         else if final.isx86_32 then "x86"
         else if final.isx86_64 then "ia64"
+        else if final.isMips then "mips"
         else final.parsed.cpu.name;
 
       qemuArch =
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 58cff18e648..700c895b3ab 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -26,7 +26,7 @@ let
 
     "riscv32-linux" "riscv64-linux"
 
-    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none"
+    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none" "vc4-none"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -45,6 +45,7 @@ in {
   x86_64  = filterDoubles predicates.isx86_64;
   mips    = filterDoubles predicates.isMips;
   riscv   = filterDoubles predicates.isRiscV;
+  vc4     = filterDoubles predicates.isVc4;
 
   cygwin  = filterDoubles predicates.isCygwin;
   darwin  = filterDoubles predicates.isDarwin;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 511ae197948..cb8bc3de6c4 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -118,6 +118,12 @@ rec {
     config = "avr";
   };
 
+  vc4 = {
+    config = "vc4-elf";
+    libc = "newlib";
+    platform = {};
+  };
+
   arm-embedded = {
     config = "arm-none-eabi";
     libc = "newlib";
@@ -207,7 +213,7 @@ rec {
 
   # 32 bit mingw-w64
   mingw32 = {
-    config = "i686-pc-mingw32";
+    config = "i686-w64-mingw32";
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
@@ -215,7 +221,7 @@ rec {
   # 64 bit mingw-w64
   mingwW64 = {
     # That's the triplet they use in the mingw-w64 docs.
-    config = "x86_64-pc-mingw32";
+    config = "x86_64-w64-mingw32";
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 8a983b3d363..d1980c6dff8 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -21,6 +21,7 @@ rec {
     isSparc        = { cpu = { family = "sparc"; }; };
     isWasm         = { cpu = { family = "wasm"; }; };
     isMsp430       = { cpu = { family = "msp430"; }; };
+    isVc4          = { cpu = { family = "vc4"; }; };
     isAvr          = { cpu = { family = "avr"; }; };
     isAlpha        = { cpu = { family = "alpha"; }; };
     isJavaScript   = { cpu = cpuTypes.js; };
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 5e12df32ffd..6a02dbb5152 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -112,6 +112,8 @@ rec {
     msp430   = { bits = 16; significantByte = littleEndian; family = "msp430"; };
     avr      = { bits = 8; family = "avr"; };
 
+    vc4      = { bits = 32; significantByte = littleEndian; family = "vc4"; };
+
     js       = { bits = 32; significantByte = littleEndian; family = "js"; };
   };
 
@@ -208,6 +210,9 @@ rec {
   vendors = setTypes types.openVendor {
     apple = {};
     pc = {};
+    # Actually matters, unlocking some MinGW-w64-specific options in GCC. See
+    # bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
+    w64 = {};
 
     none = {};
     unknown = {};
@@ -327,6 +332,7 @@ rec {
         }
       ];
     };
+    gnuabi64     = { abi = "64"; };
 
     musleabi     = { float = "soft"; };
     musleabihf   = { float = "hard"; };
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 13a2713896a..dc0db933330 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -189,6 +189,12 @@
     githubId = 1250775;
     name = "Adolfo E. García Castro";
   };
+  adsr = {
+    email = "as@php.net";
+    github = "adsr";
+    githubId = 315003;
+    name = "Adam Saponara";
+  };
   aepsil0n = {
     email = "eduard.bopp@aepsil0n.de";
     github = "aepsil0n";
@@ -310,6 +316,7 @@
   alexbakker = {
     email = "ab@alexbakker.me";
     github = "alexbakker";
+    githubId = 2387841;
     name = "Alexander Bakker";
   };
   alexchapman = {
@@ -563,6 +570,12 @@
     githubId = 718812;
     name = "Antoine R. Dumont";
   };
+  arianvp = {
+    email = "arian.vanputten@gmail.com";
+    github = "arianvp";
+    githubId = 628387;
+    name = "Arian van Putten";
+  };
   aristid = {
     email = "aristidb@gmail.com";
     github = "aristidb";
@@ -719,6 +732,16 @@
     githubId = 135230;
     name = "Aycan iRiCAN";
   };
+  b4dm4n = {
+    email = "fabianm88@gmail.com";
+    github = "B4dM4n";
+    githubId = 448169;
+    name = "Fabian Möller";
+    keys = [{
+      longkeyid = "rsa4096/0x754B5C0963C42C5";
+      fingerprint = "6309 E212 29D4 DA30 AF24  BDED 754B 5C09 63C4 2C50";
+    }];
+  };
   babariviere = {
     email = "babathriviere@gmail.com";
     github = "babariviere";
@@ -922,6 +945,12 @@
     githubId = 5718007;
     name = "Bastian Köcher";
   };
+  blitz = {
+    email = "js@alien8.de";
+    github = "blitz";
+    githubId = 37907;
+    name = "Julian Stecklina";
+  };
   bluescreen303 = {
     email = "mathijs@bluescreen303.nl";
     github = "bluescreen303";
@@ -1082,6 +1111,12 @@
     githubId = 5555066;
     name = "Andrew Cann";
   };
+  cap = {
+    name = "cap";
+    email = "nixos_xasenw9@digitalpostkasten.de";
+    github = "scaredmushroom";
+    githubId = 45340040;
+  };
   carlosdagos = {
     email = "m@cdagostino.io";
     github = "carlosdagos";
@@ -1377,6 +1412,12 @@
     githubId = 1740337;
     name = "Chris Ostrouchov";
   };
+  contrun = {
+    email = "uuuuuu@protonmail.com";
+    github = "contrun";
+    githubId = 32609395;
+    name = "B YI";
+  };
   couchemar = {
     email = "couchemar@yandex.ru";
     github = "couchemar";
@@ -1389,6 +1430,12 @@
     githubId = 411324;
     name = "Carles Pagès";
   };
+  craigem = {
+    email = "craige@mcwhirter.io";
+    github = "craigem";
+    githubId = 6470493;
+    name = "Craige McWhirter";
+  };
   cransom = {
     email = "cransom@hubns.net";
     github = "cransom";
@@ -1432,7 +1479,7 @@
   };
   cypherpunk2140 = {
     email = "stefan.mihaila@pm.me";
-    github = "cypherpunk2140";
+    github = "stefan-mihaila";
     githubId = 2217136;
     name = "Ștefan D. Mihăilă";
     keys = [
@@ -1444,6 +1491,16 @@
       }
     ];
   };
+  d-goldin = {
+    email = "dgoldin+github@protonmail.ch";
+    github = "d-goldin";
+    githubId = 43349662;
+    name = "Dima";
+    keys = [{
+      longkeyid = "rsa4096/BAB1D15FB7B4D4CE";
+      fingerprint = "1C4E F4FE 7F8E D8B7 1E88 CCDF BAB1 D15F B7B4 D4CE";
+    }];
+  };
   dadada = {
     name = "dadada";
     email = "dadada@dadada.li";
@@ -1740,6 +1797,12 @@
     githubId = 875324;
     name = "David Johnson";
   };
+  dmrauh = {
+    email = "dmrauh@posteo.de";
+    github = "dmrauh";
+    githubId = 37698547;
+    name = "Dominik Michael Rauh";
+  };
   dmvianna = {
     email = "dmlvianna@gmail.com";
     github = "dmvianna";
@@ -1942,7 +2005,7 @@
     name = "Edward Tjörnhammar";
   };
   eelco = {
-    email = "eelco.dolstra@logicblox.com";
+    email = "edolstra+nixpkgs@gmail.com";
     github = "edolstra";
     githubId = 1148549;
     name = "Eelco Dolstra";
@@ -2025,6 +2088,12 @@
     githubId = 1365692;
     name = "Will Fancher";
   };
+  elyhaka = {
+    email = "elyhaka@protonmail.com";
+    github = "Elyhaka";
+    githubId = 57923898;
+    name = "Elyhaka";
+  };
   emmanuelrosa = {
     email = "emmanuel_rosa@aol.com";
     github = "emmanuelrosa";
@@ -2064,6 +2133,12 @@
     email = "mpcervin@uncg.edu";
     name = "Mabry Cervin";
   };
+  equirosa = {
+    email = "eduardo@eduardoquiros.com";
+    github = "equirosa";
+    githubId = 39096810;
+    name = "Eduardo Quiros";
+  };
   eqyiel = {
     email = "ruben@maher.fyi";
     github = "eqyiel";
@@ -2120,6 +2195,12 @@
     githubId = 1583484;
     name = "Andrey Golovizin";
   };
+  ersin = {
+    email = "me@ersinakinci.com";
+    github = "earksiinni";
+    githubId = 5427394;
+    name = "Ersin Akinci";
+  };
   ertes = {
     email = "esz@posteo.de";
     github = "ertes";
@@ -2245,12 +2326,32 @@
     githubId = 8182846;
     name = "Francesco Gazzetta";
   };
+  filalex77 = {
+    email = "brightone@protonmail.com";
+    github = "filalex77";
+    githubId = 12615679;
+    name = "Oleksii Filonenko";
+    keys = [{
+      longkeyid = "rsa3072/0xA1BC8428323ECFE8";
+      fingerprint = "F549 3B7F 9372 5578 FDD3  D0B8 A1BC 8428 323E CFE8";
+    }];
+  };
   FireyFly = {
     email = "nix@firefly.nu";
     github = "FireyFly";
     githubId = 415760;
     name = "Jonas Höglund";
   };
+  Flakebi = {
+    email = "flakebi@t-online.de";
+    github = "Flakebi";
+    githubId = 6499211;
+    name = "Sebastian Neubauer";
+    keys = [{
+      longkeyid = "rsa4096/0xECC755EE583C1672";
+      fingerprint = "2F93 661D AC17 EA98 A104  F780 ECC7 55EE 583C 1672";
+    }];
+  };
   flexw = {
     email = "felix.weilbach@t-online.de";
     github = "FlexW";
@@ -2408,6 +2509,12 @@
     githubId = 40521440;
     name = "Haruka Akiyama";
   };
+  fuzen = {
+    email = "me@fuzen.cafe";
+    github = "fuzen-py";
+    githubId = 17859309;
+    name = "Fuzen";
+  };
   fuzzy-id = {
     email = "hacking+nixos@babibo.de";
     name = "Thomas Bach";
@@ -2430,6 +2537,12 @@
     githubId = 7047019;
     name = "Florent Becker";
   };
+  gamb = {
+    email = "adam.gamble@pm.me";
+    github = "gamb";
+    githubId = 293586;
+    name = "Adam Gamble";
+  };
   garbas = {
     email = "rok@garbas.si";
     github = "garbas";
@@ -2449,6 +2562,7 @@
   gazally = {
     email = "gazally@runbox.com";
     github = "gazally";
+    githubId = 16470252;
     name = "Gemini Lasswell";
   };
   gebner = {
@@ -2593,6 +2707,12 @@
     githubId = 9705357;
     name = "Guillaume Bouchard";
   };
+  GuillaumeDesforges = {
+    email = "aceus02@gmail.com";
+    github = "GuillaumeDesforges";
+    githubId = 1882000;
+    name = "Guillaume Desforges";
+  };
   guillaumekoenig = {
     email = "guillaume.edward.koenig@gmail.com";
     github = "guillaumekoenig";
@@ -2767,6 +2887,12 @@
     githubId = 69209;
     name = "Ian Duncan";
   };
+  ianmjones = {
+    email = "ian@ianmjones.com";
+    github = "ianmjones";
+    githubId = 4710;
+    name = "Ian M. Jones";
+  };
   ianwookim = {
     email = "ianwookim@gmail.com";
     github = "wavewave";
@@ -2856,6 +2982,15 @@
     githubId = 137306;
     name = "Michele Catalano";
   };
+  isgy = {
+    email = "isgy@teiyg.com";
+    github = "isgy";
+    githubId = 13622947;
+    keys = [{
+      longkeyid = "rsa4096/0xD3E1B013B4631293";
+      fingerprint = "1412 816B A9FA F62F D051 1975 D3E1 B013 B463 1293";
+    }];
+  };
   ivan = {
     email = "ivan@ludios.org";
     github = "ivan";
@@ -2907,7 +3042,8 @@
   jacg = {
     name = "Jacek Generowicz";
     email = "jacg@my-post-office.net";
-    githubId = "2570854";
+    github = "jacg";
+    githubId = 2570854;
   };
   jasoncarr = {
     email = "jcarr250@gmail.com";
@@ -3010,6 +3146,7 @@
   jdanek = {
     email = "jdanek@redhat.com";
     github = "jdanekrh";
+    githubId = 17877663;
     keys = [{
       longkeyid = "ed25519/0x69275CADF15D872E";
       fingerprint = "D4A6 F051 AD58 2E7C BCED  5439 6927 5CAD F15D 872E";
@@ -3110,6 +3247,11 @@
     githubId = 184898;
     name = "Jirka Marsik";
   };
+  jitwit = {
+    email = "jrn@bluefarm.ca";
+    github = "jitwit";
+    name = "jitwit";
+  };
   jlesquembre = {
     email = "jl@lafuente.me";
     github = "jlesquembre";
@@ -3122,6 +3264,12 @@
     githubId = 2195834;
     name = "Jaakko Luttinen";
   };
+  jm2dev = {
+    email = "jomarcar@gmail.com";
+    github = "jm2dev";
+    githubId = 474643;
+    name = "José Miguel Martínez Carrasco";
+  };
   jmagnusj = {
     email = "jmagnusj@gmail.com";
     github = "magnusjonsson";
@@ -3169,6 +3317,7 @@
   joesalisbury = {
     email = "salisbury.joseph@gmail.com";
     github = "JosephSalisbury";
+    githubId = 297653;
     name = "Joe Salisbury";
   };
   johanot = {
@@ -3322,6 +3471,12 @@
     github = "juliendehos";
     name = "Julien Dehos";
   };
+  jumper149 = {
+    email = "felixspringer149@gmail.com";
+    github = "jumper149";
+    githubId = 39434424;
+    name = "Felix Springer";
+  };
   justinwoo = {
     email = "moomoowoo@gmail.com";
     github = "justinwoo";
@@ -3445,6 +3600,7 @@
   kim0 = {
     email = "email.ahmedkamal@googlemail.com";
     github = "kim0";
+    githubId = 59667;
     name = "Ahmed Kamal";
   };
   kimburgess = {
@@ -3468,6 +3624,7 @@
   kirikaza = {
     email = "k@kirikaza.ru";
     github = "kirikaza";
+    githubId = 804677;
     name = "Kirill Kazakov";
   };
   kisonecat = {
@@ -3502,6 +3659,12 @@
     github = "klntsky";
     githubId = 18447310;
   };
+  kmcopper = {
+    email = "kmcopper@danwin1210.me";
+    name = "Kyle Copperfield";
+    github = "kmcopper";
+    githubId = 57132115;
+  };
   kmeakin = {
     email = "karlwfmeakin@gmail.com";
     name = "Karl Meakin";
@@ -3594,6 +3757,7 @@
   ktor = {
     email = "kruszewsky@gmail.com";
     github = "ktor";
+    githubId = 99639;
     name = "Pawel Kruszewski";
   };
   ktosiek = {
@@ -3608,6 +3772,18 @@
     githubId = 449813;
     name = "Roman Kuznetsov";
   };
+  kylesferrazza = {
+    name = "Kyle Sferrazza";
+    email = "kyle.sferrazza@gmail.com";
+
+    github = "kylesferrazza";
+    githubId = 6677292;
+
+    keys = [{
+      longkeyid = "rsa4096/81A1540948162372";
+      fingerprint = "5A9A 1C9B 2369 8049 3B48  CF5B 81A1 5409 4816 2372";
+    }];
+  };
   kylewlacy = {
     email = "kylelacy+nix@pm.me";
     github = "kylewlacy";
@@ -3638,8 +3814,15 @@
   };
   lattfein = {
     email = "lattfein@gmail.com";
-    github = "lattfein";
-    githubId = 53550838;
+    # Their GitHub account was deleted.
+    #
+    # See: https://github.com/NixOS/nixpkgs/pull/69007 where this
+    # was added but is now owned by a ghost.
+    #
+    # Possibly the username lattfein (currently github ID 56827487) is
+    # owned by the same person, but we should confirm before adding
+    # the GitHub name or ID back.
+    # github = "lattfein";
     name = "Koki Yasuno";
   };
   layus = {
@@ -3745,6 +3928,7 @@
   lightbulbjim = {
     email = "chris@killred.net";
     github = "lightbulbjim";
+    githubId = 4312404;
     name = "Chris Rendle-Short";
   };
   lightdiscord = {
@@ -3858,6 +4042,22 @@
     github = "lovek323";
     name = "Jason O'Conal";
   };
+  lovesegfault = {
+    email = "meurerbernardo@gmail.com";
+    github = "lovesegfault";
+    githubId = 7243783;
+    name = "Bernardo Meurer";
+    keys = [
+      {
+        longkeyid = "rsa2048/0xE421C74191EA186C";
+        fingerprint = "5894 12CE 19DF 582A E10A  3320 E421 C741 91EA 186C";
+      }
+      {
+        longkeyid = "rsa2048/0x4A6D87A0E7475769";
+        fingerprint = "56A8 E164 E834 290C 4AC0  EE3E 4A6D 87A0 E747 5769";
+      }
+    ];
+  };
   lowfatcomputing = {
     email = "andreas.wagner@lowfatcomputing.org";
     github = "lowfatcomputing";
@@ -4020,6 +4220,12 @@
     githubId = 34086;
     name = "Marc Weber";
   };
+  marcus7070 = {
+    email = "marcus@geosol.com.au";
+    github = "marcus7070";
+    githubId = 50230945;
+    name = "Marcus Boyd";
+  };
 	marenz = {
 		email = "marenz@arkom.men";
 		github = "marenz2569";
@@ -4358,6 +4564,12 @@
     githubId = 16974598;
     name = "Mike Playle";
   };
+  mkaito = {
+    email = "chris@mkaito.net";
+    github = "mkaito";
+    githubId = 20434;
+    name = "Christian Höppner";
+  };
   mkazulak = {
     email = "kazulakm@gmail.com";
     github = "mulderr";
@@ -4379,6 +4591,16 @@
     githubId = 22477669;
     name = "Mark K Gardner";
   };
+  mkg20001 = {
+    email = "mkg20001+nix@gmail.com";
+    github = "mkg20001";
+    githubId = 7735145;
+    name = "Maciej Krüger";
+    keys = [{
+      longkeyid = "rsa4096/0x0D948CE19CF49C5F";
+      fingerprint = "E90C BA34 55B3 6236 740C  038F 0D94 8CE1 9CF4 9C5F";
+    }];
+  };
   mlieberman85 = {
     email = "mlieberman85@gmail.com";
     github = "mlieberman85";
@@ -4397,6 +4619,12 @@
     githubId = 117842;
     name = "Henri Bourcereau";
   };
+  mmilata = {
+    email = "martin@martinmilata.cz";
+    github = "mmilata";
+    gitHubId = 85857;
+    name = "Martin Milata";
+  };
   mmlb = {
     email = "me.mmlb@mmlb.me";
     github = "mmlb";
@@ -4454,6 +4682,10 @@
     github = "moredread";
     githubId = 100848;
     name = "André-Patrick Bubel";
+    keys = [{
+      longkeyid = "rsa8192/0x118CE7C424B45728";
+      fingerprint = "4412 38AD CAD3 228D 876C  5455 118C E7C4 24B4 5728";
+    }];
   };
   moretea = {
     email = "maarten@moretea.nl";
@@ -4507,6 +4739,12 @@
     githubId = 2881922;
     name = "Francis St-Amour";
   };
+  mtrsk = {
+    email = "marcos.schonfinkel@protonmail.com";
+    github = "mtrsk";
+    githubId = 16356569;
+    name = "Marcos Benevides";
+  };
   mredaelli = {
     email = "massimo@typish.io";
     github = "mredaelli";
@@ -4544,6 +4782,12 @@
     githubId = 437005;
     name = "Mikkel Christiansen";
   };
+  mschuwalow = {
+    github = "mschuwalow";
+    githubId = 16665913;
+    name = "Maxim Schuwalow";
+    email = "maxim.schuwalow@gmail.com";
+  };
   msiedlarek = {
     email = "mikolaj@siedlarek.pl";
     github = "msiedlarek";
@@ -4790,6 +5034,12 @@
     githubId = 2946283;
     name = "Brian Cohen";
   };
+  novoxudonoser = {
+    email = "radnovox@gmail.com";
+    github = "novoxudonoser";
+    githubId = 6052922;
+    name = "Kirill Struokov";
+  };
   np = {
     email = "np.nix@nicolaspouillard.fr";
     github = "np";
@@ -5010,6 +5260,12 @@
     githubId = 20792;
     name = "Sebastian Galkin";
   };
+  pashashocky = {
+    email = "pashashocky@gmail.com";
+    github = "pashashocky";
+    githubId = 673857;
+    name = "Pash Shocky";
+  };
   pashev = {
     email = "pashev.igor@gmail.com";
     github = "ip1981";
@@ -5950,6 +6206,16 @@
     githubId = 307899;
     name = "Gurkan Gur";
   };
+  servalcatty = {
+    email = "servalcat@pm.me";
+    github = "servalcatty";
+    githubid = 51969817;
+    name = "Serval";
+    keys = [{
+      longkeyid = "rsa4096/0x4A2AAAA382F8294C";
+      fingerprint = "A317 37B3 693C 921B 480C  C629 4A2A AAA3 82F8 294C";
+    }];
+  };
   sfrijters = {
     email = "sfrijters@gmail.com";
     github = "sfrijters";
@@ -5975,7 +6241,7 @@
     name = "Shahrukh Khan";
   };
   shanemikel = {
-    email = "shanemikel1@gmail.com";
+    email = "shanepearlman@pm.me";
     github = "shanemikel";
     githubId = 6720672;
     name = "Shane Pearlman";
@@ -6164,6 +6430,12 @@
     githubId = 1437166;
     name = "Xia Bin";
   };
+  softinio = {
+    email = "code@softinio.com";
+    github = "softinio";
+    githubId = 3371635;
+    name = "Salar Rahmanian";
+  };
   solson = {
     email = "scott@solson.me";
     github = "solson";
@@ -6491,6 +6763,12 @@
     githubId = 506181;
     name = "Peter Marheine";
   };
+  tasmo = {
+    email = "tasmo@tasmo.de";
+    github = "tasmo";
+    githubId = 102685;
+    name = "Thomas Friese";
+  };
   tavyc = {
     email = "octavian.cerna@gmail.com";
     github = "tavyc";
@@ -6590,6 +6868,12 @@
     githubId = 42933;
     name = "Andrew Childs";
   };
+  thefenriswolf = {
+    email = "stefan.rohrbacher97@gmail.com";
+    github = "thefenriswolf";
+    githubId = 8547242;
+    name = "Stefan Rohrbacher";
+  };
   thesola10 = {
     email = "thesola10@bobile.fr";
     github = "thesola10";
@@ -6677,6 +6961,16 @@
     githubId = 13026;
     name = "Jonathan Rudenberg";
   };
+  tkerber = {
+    email = "tk@drwx.org";
+    github = "tkerber";
+    githubId = 5722198;
+    name = "Thomas Kerber";
+    keys = [ {
+      longkeyid = "rsa4096/0x8489B911F9ED617B";
+      fingerprint = "556A 403F B0A2 D423 F656  3424 8489 B911 F9ED 617B";
+    } ];
+  };
   tmplt = {
     email = "tmplt@dragons.rocks";
     github = "tmplt";
@@ -6760,6 +7054,12 @@
     githubId = 1312290;
     name = "Trevor Joynson";
   };
+  tricktron = {
+    email = "tgagnaux@gmail.com";
+    github = "tricktron";
+    githubId = 16036882;
+    name = "Thibault Gagnaux";
+  };
   trino = {
     email = "muehlhans.hubert@ekodia.de";
     github = "hmuehlhans";
@@ -7093,6 +7393,12 @@
     email = "kirill.wedens@gmail.com";
     name = "wedens";
   };
+  WhittlesJr = {
+    email = "alex.joseph.whitt@gmail.com";
+    github = "WhittlesJr";
+    githubId = 19174984;
+    name = "Alex Whitt";
+  };
   willibutz = {
     email = "willibutz@posteo.de";
     github = "willibutz";
@@ -7308,14 +7614,24 @@
     githubId = 1866448;
     name = "Eric Bailey";
   };
+  Yumasi = {
+    email = "gpagnoux@gmail.com";
+    github = "Yumasi";
+    githubId = 24368641;
+    name = "Guillaume Pagnoux";
+    keys = [{
+      longkeyid = "rsa4096/0xEC5065899AEAAF4C";
+      fingerprint = "85F8 E850 F8F2 F823 F934  535B EC50 6589 9AEA AF4C";
+    }];
+  };
   yvt = {
     email = "i@yvt.jp";
     github = "yvt";
     githubId = 5253988;
     name = "yvt";
   };
-  z77z = {
-    email = "maggesi@math.unifi.it";
+  maggesi = {
+    email = "marco.maggesi@gmail.com";
     github = "maggesi";
     githubId = 1809783;
     name = "Marco Maggesi";
@@ -7359,6 +7675,12 @@
     email = "zef@zef.me";
     name = "Zef Hemel";
   };
+  zfnmxt = {
+    name = "zfnmxt";
+    email = "zfnmxt@zfnmxt.com";
+    github = "zfnmxt";
+    githubId = 37446532;
+  };
   zgrannan = {
     email = "zgrannan@gmail.com";
     github = "zgrannan";
@@ -7431,6 +7753,12 @@
     githubId = 1986844;
     name = "Daniel Wheeler";
   };
+  misuzu = {
+    email = "bakalolka@gmail.com";
+    github = "misuzu";
+    githubId = 248143;
+    name = "misuzu";
+  };
   zokrezyl = {
     email = "zokrezyl@gmail.com";
     github = "zokrezyl";
@@ -7443,4 +7771,16 @@
     githubId = 50867187;
     name = "Rakesh Gupta";
   };
+  mlatus = {
+    email = "wqseleven@gmail.com";
+    github = "Ninlives";
+    githubId = 17873203;
+    name = "mlatus";
+  };
+  waiting-for-dev = {
+    email = "marc@lamarciana.com";
+    github = "waiting-for-dev";
+    githubId = 52650;
+    name = "Marc Busqué";
+  };
 }
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix
index 04723cb8a36..bbc3004b1c4 100755
--- a/maintainers/scripts/update.nix
+++ b/maintainers/scripts/update.nix
@@ -105,7 +105,7 @@ let
     to run all update scripts for all packages that lists \`garbas\` as a maintainer
     and have \`updateScript\` defined, or:
 
-        % nix-shell maintainers/scripts/update.nix --argstr package garbas
+        % nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus
 
     to run update script for specific package, or
 
@@ -126,7 +126,7 @@ let
 
   packageData = package: {
     name = package.name;
-    pname = (builtins.parseDrvName package.name).name;
+    pname = pkgs.lib.getName package;
     updateScript = map builtins.toString (pkgs.lib.toList package.updateScript);
   };
 
diff --git a/nixos/doc/manual/configuration/abstractions.xml b/nixos/doc/manual/configuration/abstractions.xml
index 5bf0635cc1a..df9ff2615e1 100644
--- a/nixos/doc/manual/configuration/abstractions.xml
+++ b/nixos/doc/manual/configuration/abstractions.xml
@@ -11,50 +11,46 @@
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    [ { hostName = "example.org";
-        documentRoot = "/webroot";
+    { "blog.example.org" = {
+        documentRoot = "/webroot/blog.example.org";
         adminAddr = "alice@example.org";
-        enableUserDir = true;
-      }
-      { hostName = "example.org";
-        documentRoot = "/webroot";
+        forceSSL = true;
+        enableACME = true;
+        enablePHP = true;
+      };
+      "wiki.example.org" = {
+        documentRoot = "/webroot/wiki.example.org";
         adminAddr = "alice@example.org";
-        enableUserDir = true;
-        enableSSL = true;
-        sslServerCert = "/root/ssl-example-org.crt";
-        sslServerKey = "/root/ssl-example-org.key";
-      }
-    ];
+        forceSSL = true;
+        enableACME = true;
+        enablePHP = true;
+      };
+    };
 }
 </programlisting>
   It defines two virtual hosts with nearly identical configuration; the only
-  difference is that the second one has SSL enabled. To prevent this
+  difference is the document root directories. To prevent this
   duplication, we can use a <literal>let</literal>:
 <programlisting>
 let
-  exampleOrgCommon =
-    { hostName = "example.org";
-      documentRoot = "/webroot";
-      adminAddr = "alice@example.org";
-      enableUserDir = true;
+  commonConfig =
+    { adminAddr = "alice@example.org";
+      forceSSL = true;
+      enableACME = true;
     };
 in
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    [ exampleOrgCommon
-      (exampleOrgCommon // {
-        enableSSL = true;
-        sslServerCert = "/root/ssl-example-org.crt";
-        sslServerKey = "/root/ssl-example-org.key";
-      })
-    ];
+    { "blog.example.org" = (commonConfig // { documentRoot = "/webroot/blog.example.org"; });
+      "wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.com"; });
+    };
 }
 </programlisting>
-  The <literal>let exampleOrgCommon = <replaceable>...</replaceable></literal>
-  defines a variable named <literal>exampleOrgCommon</literal>. The
+  The <literal>let commonConfig = <replaceable>...</replaceable></literal>
+  defines a variable named <literal>commonConfig</literal>. The
   <literal>//</literal> operator merges two attribute sets, so the
   configuration of the second virtual host is the set
-  <literal>exampleOrgCommon</literal> extended with the SSL options.
+  <literal>commonConfig</literal> extended with the document root option.
  </para>
 
  <para>
@@ -63,13 +59,13 @@ in
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let exampleOrgCommon = <replaceable>...</replaceable>; in
-    [ exampleOrgCommon
-      (exampleOrgCommon // { <replaceable>...</replaceable> })
-    ];
+    let commonConfig = <replaceable>...</replaceable>; in
+    { "blog.example.org" = (commonConfig // { <replaceable>...</replaceable> })
+      "wiki.example.org" = (commonConfig // { <replaceable>...</replaceable> })
+    };
 }
 </programlisting>
-  but not <literal>{ let exampleOrgCommon = <replaceable>...</replaceable>; in
+  but not <literal>{ let commonConfig = <replaceable>...</replaceable>; in
   <replaceable>...</replaceable>; }</literal> since attributes (as opposed to
   attribute values) are not expressions.
  </para>
@@ -77,80 +73,29 @@ in
  <para>
   <emphasis>Functions</emphasis> provide another method of abstraction. For
   instance, suppose that we want to generate lots of different virtual hosts,
-  all with identical configuration except for the host name. This can be done
+  all with identical configuration except for the document root. This can be done
   as follows:
 <programlisting>
 {
   <xref linkend="opt-services.httpd.virtualHosts"/> =
     let
-      makeVirtualHost = name:
-        { hostName = name;
-          documentRoot = "/webroot";
+      makeVirtualHost = webroot:
+        { documentRoot = webroot;
           adminAddr = "alice@example.org";
+          forceSSL = true;
+          enableACME = true;
         };
     in
-      [ (makeVirtualHost "example.org")
-        (makeVirtualHost "example.com")
-        (makeVirtualHost "example.gov")
-        (makeVirtualHost "example.nl")
-      ];
+      { "example.org" = (makeVirtualHost "/webroot/example.org");
+        "example.com" = (makeVirtualHost "/webroot/example.com");
+        "example.gov" = (makeVirtualHost "/webroot/example.gov");
+        "example.nl" = (makeVirtualHost "/webroot/example.nl");
+      };
 }
 </programlisting>
   Here, <varname>makeVirtualHost</varname> is a function that takes a single
-  argument <literal>name</literal> and returns the configuration for a virtual
+  argument <literal>webroot</literal> and returns the configuration for a virtual
   host. That function is then called for several names to produce the list of
   virtual host configurations.
  </para>
-
- <para>
-  We can further improve on this by using the function <varname>map</varname>,
-  which applies another function to every element in a list:
-<programlisting>
-{
-  <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let
-      makeVirtualHost = <replaceable>...</replaceable>;
-    in map makeVirtualHost
-      [ "example.org" "example.com" "example.gov" "example.nl" ];
-}
-</programlisting>
-  (The function <literal>map</literal> is called a <emphasis>higher-order
-  function</emphasis> because it takes another function as an argument.)
- </para>
-
- <para>
-  What if you need more than one argument, for instance, if we want to use a
-  different <literal>documentRoot</literal> for each virtual host? Then we can
-  make <varname>makeVirtualHost</varname> a function that takes a
-  <emphasis>set</emphasis> as its argument, like this:
-<programlisting>
-{
-  <xref linkend="opt-services.httpd.virtualHosts"/> =
-    let
-      makeVirtualHost = { name, root }:
-        { hostName = name;
-          documentRoot = root;
-          adminAddr = "alice@example.org";
-        };
-    in map makeVirtualHost
-      [ { name = "example.org"; root = "/sites/example.org"; }
-        { name = "example.com"; root = "/sites/example.com"; }
-        { name = "example.gov"; root = "/sites/example.gov"; }
-        { name = "example.nl"; root = "/sites/example.nl"; }
-      ];
-}
-</programlisting>
-  But in this case (where every root is a subdirectory of
-  <filename>/sites</filename> named after the virtual host), it would have been
-  shorter to define <varname>makeVirtualHost</varname> as
-<programlisting>
-makeVirtualHost = name:
-  { hostName = name;
-    documentRoot = "/sites/${name}";
-    adminAddr = "alice@example.org";
-  };
-</programlisting>
-  Here, the construct <literal>${<replaceable>...</replaceable>}</literal>
-  allows the result of an expression to be spliced into a string.
- </para>
 </section>
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index eadafb94b8f..7ccb5b3664e 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -27,7 +27,7 @@
 
 { <xref linkend="opt-services.httpd.enable"/> = true;
   <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
-  <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";
+  <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.localhost.documentRoot</link> = "/webroot";
 }
 </programlisting>
   defines a configuration with three option definitions that together enable
@@ -50,7 +50,11 @@
     httpd = {
       enable = true;
       adminAddr = "alice@example.org";
-      documentRoot = "/webroot";
+      virtualHosts = {
+        localhost = {
+          documentRoot = "/webroot";
+        };
+      };
     };
   };
 }
diff --git a/nixos/doc/manual/configuration/profiles/graphical.xml b/nixos/doc/manual/configuration/profiles/graphical.xml
index 73e3abc59d0..cc6d0825d24 100644
--- a/nixos/doc/manual/configuration/profiles/graphical.xml
+++ b/nixos/doc/manual/configuration/profiles/graphical.xml
@@ -13,9 +13,7 @@
  <para>
   It sets <xref linkend="opt-services.xserver.enable"/>,
   <xref linkend="opt-services.xserver.displayManager.sddm.enable"/>,
-  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> (
-  <link linkend="opt-services.xserver.desktopManager.plasma5.enableQt4Support">
-  without Qt4 Support</link>), and
+  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/>, and
   <xref linkend="opt-services.xserver.libinput.enable"/> to true. It also
   includes glxinfo and firefox in the system packages list.
  </para>
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index f6f659b02af..55ad9fe6e65 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -39,7 +39,7 @@
   can select an alternative one by picking one of the following lines:
 <programlisting>
 <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
-<xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true;
+<xref linkend="opt-services.xserver.displayManager.gdm.enable"/> = true;
 </programlisting>
  </para>
  <para>
@@ -83,8 +83,7 @@
   desktop environment. If you wanted no desktop environment and i3 as your your
   window manager, you'd define:
 <programlisting>
-<xref linkend="opt-services.xserver.desktopManager.default"/> = "none";
-<xref linkend="opt-services.xserver.windowManager.default"/> = "i3";
+<xref linkend="opt-services.xserver.displayManager.defaultSession"/> = "none+i3";
 </programlisting>
   And, finally, to enable auto-login for a user <literal>johndoe</literal>:
 <programlisting>
diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml
index 6ac99c6b2be..027828bb936 100644
--- a/nixos/doc/manual/configuration/xfce.xml
+++ b/nixos/doc/manual/configuration/xfce.xml
@@ -7,9 +7,8 @@
  <para>
   To enable the Xfce Desktop Environment, set
 <programlisting>
-<link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
-  <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
-  <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";
+<xref linkend="opt-services.xserver.desktopManager.xfce.enable" /> = true;
+<xref linkend="opt-services.xserver.displayManager.defaultSession" /> = "xfce";
 };
 </programlisting>
  </para>
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index eee81bf6426..56ebf481630 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -99,7 +99,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
   <para>
    As an example, we will take the case of display managers. There is a central
    display manager module for generic display manager options and a module file
-   per display manager backend (slim, sddm, gdm ...).
+   per display manager backend (sddm, gdm ...).
   </para>
 
   <para>
@@ -146,7 +146,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
       />), and to extend
    it in each backend module
    (<xref
-      linkend='ex-option-declaration-eot-backend-slim' />,
+      linkend='ex-option-declaration-eot-backend-gdm' />,
    <xref
       linkend='ex-option-declaration-eot-backend-sddm' />).
   </para>
@@ -167,11 +167,11 @@ services.xserver.displayManager.enable = mkOption {
 };</screen>
   </example>
 
-  <example xml:id='ex-option-declaration-eot-backend-slim'>
-   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module</title>
+  <example xml:id='ex-option-declaration-eot-backend-gdm'>
+   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>gdm</literal> module</title>
 <screen>
 services.xserver.displayManager.enable = mkOption {
-  type = with types; nullOr (enum [ "slim" ]);
+  type = with types; nullOr (enum [ "gdm" ]);
 };</screen>
   </example>
 
diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml
index 1cdec64f69b..9371af9984d 100755
--- a/nixos/doc/manual/development/releases.xml
+++ b/nixos/doc/manual/development/releases.xml
@@ -45,12 +45,12 @@
     <listitem>
      <para>
       <literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta
-      &amp;&amp; git push --tags</literal>
+      &amp;&amp; git push origin 17.09-beta</literal>
      </para>
     </listitem>
     <listitem>
      <para>
-      From the master branch run <literal>git checkout -B
+      From the master branch run <literal>git checkout -b
       release-17.09</literal>.
      </para>
     </listitem>
@@ -157,7 +157,7 @@
     <listitem>
      <para>
       Release Nix (currently only Eelco Dolstra can do that).
-      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/53710c752a85f00658882531bc90a23a3d1287e4">
+      <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/tools/nix-fallback-paths.nix">
       Make sure fallback is updated. </link>
      </para>
     </listitem>
@@ -169,8 +169,8 @@
     </listitem>
     <listitem>
      <para>
-      Change <literal>stableBranch</literal> to true and wait for channel to
-      update.
+      Change <literal>stableBranch</literal> to <literal>true</literal> in Hydra and wait for
+      the channel to update.
      </para>
     </listitem>
    </itemizedlist>
@@ -193,9 +193,11 @@
     </listitem>
     <listitem>
      <para>
-      Update http://nixos.org/nixos/download.html and
-      http://nixos.org/nixos/manual in
-      https://github.com/NixOS/nixos-org-configurations
+      Update the
+      <link xlink:href="https://github.com/NixOS/nixos-homepage/commit/2a37975d5a617ecdfca94696242b6f32ffcba9f1"><code>NIXOS_SERIES</code></link>
+      in the
+      <link xlink:href="https://github.com/NixOS/nixos-homepage">nixos-homepage</link>
+      repository.
      </para>
     </listitem>
     <listitem>
@@ -212,7 +214,8 @@
     </listitem>
     <listitem>
      <para>
-      Send an email to nix-dev to announce the release with above information.
+      Create a new topic on <link xlink:href="https://discourse.nixos.org/">the
+      Discourse instance</link> to announce the release with the above information.
       Best to check how previous email was formulated to see what needs to be
       included.
      </para>
diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
index ea3ba0e4bf7..31216874c70 100644
--- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml
+++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
@@ -2,7 +2,7 @@
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
-        xml:id="sec-running-nixos-tests">
+        xml:id="sec-running-nixos-tests-interactively">
  <title>Running Tests interactively</title>
 
  <para>
diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml
index 13ae1ed9369..e9257c907da 100644
--- a/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixos/doc/manual/development/running-nixos-tests.xml
@@ -2,7 +2,7 @@
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
-        xml:id="sec-running-nixos-tests-interactively">
+        xml:id="sec-running-nixos-tests">
  <title>Running Tests</title>
 
  <para>
diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml
index 24efd2e3273..e5a887c18c7 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -419,4 +419,23 @@ machine.wait_for_unit("xautolock.service", "x-session-user")
   <literal>wait_for_unit</literal>, <literal>start_job</literal> and
   <literal>stop_job</literal>.
  </para>
+
+ <para>
+  For faster dev cycles it's also possible to disable the code-linters (this shouldn't
+  be commited though):
+<programlisting>
+import ./make-test-python.nix {
+  skipLint = true;
+  machine =
+    { config, pkgs, ... }:
+    { <replaceable>configuration…</replaceable>
+    };
+
+  testScript =
+    ''
+      <replaceable>Python code…</replaceable>
+    '';
+}
+</programlisting>
+ </para>
 </section>
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index 5c86eacfbf4..0ba909fa953 100644
--- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -49,6 +49,11 @@
   </listitem>
   <listitem>
    <para>
+    Click on Settings / Display / Screen and select VBoxVGA as Graphics Controller
+   </para>
+  </listitem>
+  <listitem>
+   <para>
     Save the settings, start the virtual machine, and continue installation
     like normal
    </para>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 8ff920eb5a8..4041b4ad163 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -380,7 +380,10 @@
     </para>
     <para>
      If you need to configure networking for your machine the configuration
-     options are described in <xref linkend="sec-networking"/>.
+     options are described in <xref linkend="sec-networking"/>. In particular,
+     while wifi is supported on the installation image, it is not enabled by
+     default in the configuration generated by
+     <command>nixos-generate-config</command>.
     </para>
     <para>
      Another critical option is <option>fileSystems</option>, specifying the
@@ -392,11 +395,11 @@
      <filename>hardware-configuration.nix</filename> is included from
      <filename>configuration.nix</filename> and will be overwritten by future
      invocations of <command>nixos-generate-config</command>; thus, you
-     generally should not modify it.) Additionally, you may want to look at 
+     generally should not modify it.) Additionally, you may want to look at
      <link xlink:href="https://github.com/NixOS/nixos-hardware">Hardware
      configuration for known-hardware</link> at this point or after
      installation.
-      
+
     </para>
     <note>
      <para>
@@ -418,11 +421,11 @@
      Do the installation:
 <screen>
 <prompt># </prompt>nixos-install</screen>
-     Cross fingers. If this fails due to a temporary problem (such as a network
-     issue while downloading binaries from the NixOS binary cache), you can
-     just re-run <command>nixos-install</command>. Otherwise, fix your
-     <filename>configuration.nix</filename> and then re-run
-     <command>nixos-install</command>.
+     This will install your system based on the configuration you provided.
+     If anything fails due to a configuration problem or any other issue
+     (such as a network outage while downloading binaries from the NixOS
+     binary cache), you can re-run <command>nixos-install</command> after
+     fixing your <filename>configuration.nix</filename>.
     </para>
     <para>
      As the last step, <command>nixos-install</command> will ask you to set the
@@ -475,7 +478,7 @@ Retype new UNIX password: ***</screen>
      shows what packages are available, and
 <screen>
 <prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -iA w3m</screen>
-     install the <literal>w3m</literal> browser.
+     installs the <literal>w3m</literal> browser.
     </para>
    </listitem>
   </orderedlist>
diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml
index beabf020c92..b82f3125609 100644
--- a/nixos/doc/manual/man-nixos-option.xml
+++ b/nixos/doc/manual/man-nixos-option.xml
@@ -119,4 +119,13 @@ Defined by:
    bug, please report to Nicolas Pierron.
   </para>
  </refsection>
+ <refsection>
+  <title>See also</title>
+  <para>
+   <citerefentry>
+    <refentrytitle>configuration.nix</refentrytitle>
+    <manvolnum>5</manvolnum>
+   </citerefentry>
+  </para>
+ </refsection>
 </refentry>
diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml
index c697b7ee047..495dbc8859b 100644
--- a/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixos/doc/manual/man-nixos-rebuild.xml
@@ -494,6 +494,20 @@
      </para>
     </listitem>
    </varlistentry>
+
+   <varlistentry>
+    <term>
+     <option>--use-remote-sudo</option>
+    </term>
+    <listitem>
+     <para>
+      When set, nixos-rebuild prefixes remote commands that run on
+      the <option>--build-host</option> and <option>--target-host</option>
+      systems with <command>sudo</command>. Setting this option allows
+      deploying as a non-root user.
+     </para>
+    </listitem>
+   </varlistentry>
   </variablelist>
 
   <para>
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 8bd353a3430..4102fe206e1 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -543,7 +543,7 @@
    <listitem>
      <para>
       The <option>networking.useDHCP</option> option is unsupported in combination with
-      <option>networking.useNetworkd</option> in anticipation of defaulting to it by default.
+      <option>networking.useNetworkd</option> in anticipation of defaulting to it.
       It has to be set to <literal>false</literal> and enabled per
       interface with <option>networking.interfaces.&lt;name&gt;.useDHCP = true;</option>
     </para>
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index 72766f16eb9..1c1c8908064 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -55,6 +55,19 @@
       and adding a <option>--all</option> option which prints all options and their values.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     <option>services.xserver.desktopManager.default</option> and <option>services.xserver.windowManager.default</option> options were replaced by a single <xref linkend="opt-services.xserver.displayManager.defaultSession"/> option to improve support for upstream session files. If you used something like:
+<programlisting>
+services.xserver.desktopManager.default = "xfce";
+services.xserver.windowManager.default = "icewm";
+</programlisting>
+     you should change it to:
+<programlisting>
+services.xserver.displayManager.defaultSession = "xfce+icewm";
+</programlisting>
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -71,7 +84,17 @@
 
   <itemizedlist>
    <listitem>
-    <para />
+    <para>
+    The kubernetes kube-proxy now supports a new hostname configuration
+    <literal>services.kubernetes.proxy.hostname</literal> which has to
+    be set if the hostname of the node should be non default.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+    UPower's configuration is now managed by NixOS and can be customized
+    via <option>services.upower</option>.
+    </para>
    </listitem>
   </itemizedlist>
 
@@ -117,18 +140,213 @@
    </listitem>
    <listitem>
     <para>
-      The <literal>99-main.network</literal> file was removed. Maching all
-      network interfaces caused many breakages, see
-      <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
-        and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
+     The <literal>99-main.network</literal> file was removed. Maching all
+     network interfaces caused many breakages, see
+     <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
+       and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
+    </para>
+    <para>
+     We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
+     <link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
+     <link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
+     if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
+     but direct users to configure the per-device
+     <link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The stdenv now runs all bash with <literal>set -u</literal>, to catch the use of undefined variables.
+      Before, it itself used <literal>set -u</literal> but was careful to unset it so other packages' code ran as before.
+      Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The SLIM Display Manager has been removed, as it has been unmaintained since 2013.
+     Consider migrating to a different display manager such as LightDM (current default in NixOS),
+     SDDM, GDM, or using the startx module which uses Xinitrc.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The BEAM package set has been deleted. You will only find there the different interpreters.
+      You should now use the different build tools coming with the languages with sandbox mode disabled.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     There is now only one Xfce package-set and module. This means attributes, <literal>xfce4-14</literal>
+     <literal>xfce4-12</literal>, and <literal>xfceUnstable</literal> all now point to the latest Xfce 4.14
+     packages. And in future NixOS releases will be the latest released version of Xfce available at the
+     time during the releases development (if viable).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The <link linkend="opt-services.phpfpm.pools">phpfpm</link> module now sets
+      <literal>PrivateTmp=true</literal> in its systemd units for better process isolation.
+      If you rely on <literal>/tmp</literal> being shared with other services, explicitly override this by
+      setting <literal>serviceConfig.PrivateTmp</literal> to <literal>false</literal> for each phpfpm unit.
     </para>
+   </listitem>
+   <listitem>
+    <para>
+     KDE’s old multimedia framework Phonon no longer supports Qt 4. For that reason, Plasma desktop also does not have <option>enableQt4Support</option> option any more.
+    </para>
+   </listitem>
+   <listitem>
     <para>
-      We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
-      <link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
-      <link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
-      if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
-      but direct users to configure the per-device
-      <link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
+     The BeeGFS module has been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The osquery module has been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      Going forward, <literal>~/bin</literal> in the users home directory will no longer be in <literal>PATH</literal> by default.
+      If you depend on this you should set the option <literal>environment.homeBinInPath</literal> to <literal>true</literal>.
+      The aforementioned option was added this release.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output.
+      This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output.
+    </para>
+    </listitem>
+   <listitem>
+    <para>
+     Pango was upgraded to 1.44, which no longer uses freetype for font loading.  This means that type1
+     and bitmap fonts are no longer supported in applications relying on Pango for font rendering
+     (notably, GTK application). See <link xlink:href="https://gitlab.gnome.org/GNOME/pango/issues/386">
+     upstream issue</link> for more information.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The packages <literal>openobex</literal> and <literal>obexftp</literal>
+     are no longer installed when enabling Bluetooth via
+     <option>hardware.bluetooth.enable</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>dump1090</literal> derivation has been changed to use FlightAware's dump1090
+     as its upstream. However, this version does not have an internal webserver anymore. The
+     assets in the <literal>share/dump1090</literal> directory of the derivation can be used
+     in conjunction with an external webserver to replace this functionality.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The fourStore and fourStoreEndpoint modules have been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Polkit no longer has the user of uid 0 (root) as an admin identity.
+     We now follow the upstream default of only having every member of the wheel
+     group admin privileged. Before it was root and members of wheel.
+     The positive outcome of this is pkexec GUI popups or terminal prompts
+     will no longer require the user to choose between two essentially equivalent
+     choices (whether to perform the action as themselves with wheel permissions, or as the root user).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     NixOS containers no longer build NixOS manual by default. This saves evaluation time,
+     especially if there are many declarative containers defined. Note that this is already done
+     when <literal>&lt;nixos/modules/profiles/minimal.nix&gt;</literal> module is included
+     in container config.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Virtual console options have been reorganized and can be found under
+     a single top-level attribute: <literal>console</literal>.
+     The full set of changes is as follows:
+    </para>
+    <itemizedlist>
+      <listitem>
+       <para>
+         <literal>i18n.consoleFont</literal> renamed to
+         <link linkend="opt-console.font">console.font</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleKeyMap</literal> renamed to
+         <link linkend="opt-console.keyMap">console.keyMap</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleColors</literal> renamed to
+         <link linkend="opt-console.colors">console.colors</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consolePackages</literal> renamed to
+         <link linkend="opt-console.packages">console.packages</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>i18n.consoleUseXkbConfig</literal> renamed to
+         <link linkend="opt-console.useXkbConfig">console.useXkbConfig</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>boot.earlyVconsoleSetup</literal> renamed to
+         <link linkend="opt-console.earlySetup">console.earlySetup</link>
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+         <literal>boot.extraTTYs</literal> renamed to
+         <link linkend="opt-console.extraTTYs">console.extraTTYs</link>
+       </para>
+      </listitem>
+    </itemizedlist>
+   </listitem>
+   <listitem>
+    <para>
+     The <link linkend="opt-services.awstats.enable">awstats</link> module has been rewritten
+     to serve stats via static html pages, updated on a timer, over <link linkend="opt-services.nginx.virtualHosts">nginx</link>,
+     instead of dynamic cgi pages over <link linkend="opt-services.httpd.enable">apache</link>.
+    </para>
+    <para>
+     Minor changes will be required to migrate existing configurations. Details of the
+     required changes can seen by looking through the <link linkend="opt-services.awstats.enable">awstats</link>
+     module.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The httpd module no longer provides options to support serving web content without defining a virtual host. As a
+      result of this the <link linkend="opt-services.httpd.logPerVirtualHost">services.httpd.logPerVirtualHost</link>
+      option now defaults to <literal>true</literal> instead of <literal>false</literal>. Please update your
+      configuration to make use of <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts</link>.
+    </para>
+    <para>
+      The <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;</link>
+      option has changed type from a list of submodules to an attribute set of submodules, better matching
+      <link linkend="opt-services.nginx.virtualHosts">services.nginx.virtualHosts.&lt;name&gt;</link>.
+    </para>
+    <para>
+      This change comes with the addition of the following options which mimic the functionality of their <literal>nginx</literal> counterparts:
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.addSSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.forceSSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.onlySSL</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.enableACME</link>,
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.acmeRoot</link>, and
+      <link linkend="opt-services.httpd.virtualHosts">services.httpd.virtualHosts.&lt;name&gt;.useACMEHost</link>.
     </para>
    </listitem>
   </itemizedlist>
@@ -147,12 +365,30 @@
    </listitem>
    <listitem>
     <para>
+     The nginx web server previously started its master process as root
+     privileged, then ran worker processes as a less privileged identity user.
+     This was changed to start all of nginx as a less privileged user (defined by
+     <literal>services.nginx.user</literal> and
+     <literal>services.nginx.group</literal>). As a consequence, all files that
+     are needed for nginx to run (included configuration fragments, SSL
+     certificates and keys, etc.) must now be readable by this less privileged
+     user/group.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
      OpenSSH has been upgraded from 7.9 to 8.1, improving security and adding features
      but with potential incompatibilities.  Consult the
      <link xlink:href="https://www.openssh.com/txt/release-8.1">
      release announcement</link> for more information.
     </para>
    </listitem>
+   <listitem>
+     <para>
+       <literal>PRETTY_NAME</literal> in <literal>/etc/os-release</literal>
+       now uses the short rather than full version string.
+     </para>
+   </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix
index 932adcd9796..f46d3990c06 100644
--- a/nixos/lib/make-ext4-fs.nix
+++ b/nixos/lib/make-ext4-fs.nix
@@ -4,8 +4,11 @@
 # generated image is sized to only fit its contents, with the expectation
 # that a script resizes the filesystem at boot time.
 { pkgs
+, lib
 # List of derivations to be included
 , storePaths
+# Whether or not to compress the resulting image with zstd
+, compressImage ? false, zstd
 # Shell commands to populate the ./files directory.
 # All files in that directory are copied to the root of the FS.
 , populateImageCommands ? ""
@@ -20,18 +23,20 @@
 let
   sdClosureInfo = pkgs.buildPackages.closureInfo { rootPaths = storePaths; };
 in
-
 pkgs.stdenv.mkDerivation {
-  name = "ext4-fs.img";
+  name = "ext4-fs.img${lib.optionalString compressImage ".zst"}";
 
-  nativeBuildInputs = [e2fsprogs.bin libfaketime perl lkl];
+  nativeBuildInputs = [ e2fsprogs.bin libfaketime perl lkl ]
+  ++ lib.optional compressImage zstd;
 
   buildCommand =
     ''
+      ${if compressImage then "img=temp.img" else "img=$out"}
       (
       mkdir -p ./files
       ${populateImageCommands}
       )
+
       # Add the closures of the top-level store objects.
       storePaths=$(cat ${sdClosureInfo}/store-paths)
 
@@ -42,28 +47,26 @@ pkgs.stdenv.mkDerivation {
       bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks))
       echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
 
-      truncate -s $bytes $out
-      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $out
+      truncate -s $bytes $img
+      faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $img
 
       # Also include a manifest of the closures in a format suitable for nix-store --load-db.
       cp ${sdClosureInfo}/registration nix-path-registration
-      cptofs -t ext4 -i $out nix-path-registration /
+      cptofs -t ext4 -i $img nix-path-registration /
 
       # Create nix/store before copying paths
       faketime -f "1970-01-01 00:00:01" mkdir -p nix/store
-      cptofs -t ext4 -i $out nix /
+      cptofs -t ext4 -i $img nix /
 
       echo "copying store paths to image..."
-      cptofs -t ext4 -i $out $storePaths /nix/store/
+      cptofs -t ext4 -i $img $storePaths /nix/store/
 
-      (
       echo "copying files to image..."
-      cd ./files
-      cptofs -t ext4 -i $out ./* /
-      )
+      cptofs -t ext4 -i $img ./files/* /
+
 
       # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.
-      if ! fsck.ext4 -n -f $out; then
+      if ! fsck.ext4 -n -f $img; then
         echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---"
         cat errorlog
         return 1
@@ -71,9 +74,9 @@ pkgs.stdenv.mkDerivation {
 
       (
         # Resizes **snugly** to its actual limits (or closer to)
-        free=$(dumpe2fs $out | grep '^Free blocks:')
-        blocksize=$(dumpe2fs $out | grep '^Block size:')
-        blocks=$(dumpe2fs $out | grep '^Block count:')
+        free=$(dumpe2fs $img | grep '^Free blocks:')
+        blocksize=$(dumpe2fs $img | grep '^Block size:')
+        blocks=$(dumpe2fs $img | grep '^Block count:')
         blocks=$((''${blocks##*:})) # format the number.
         blocksize=$((''${blocksize##*:})) # format the number.
         # System can't boot with 0 blocks free.
@@ -82,10 +85,15 @@ pkgs.stdenv.mkDerivation {
         size=$(( blocks - ''${free##*:} + fudge ))
 
         echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
-        EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
+        EXT2FS_NO_MTAB_OK=yes resize2fs $img -f $size
       )
 
       # And a final fsck, because of the previous truncating.
-      fsck.ext4 -n -f $out
+      fsck.ext4 -n -f $img
+
+      if [ ${builtins.toString compressImage} ]; then
+        echo "Compressing image"
+        zstd -v --no-progress ./$img -o $out
+      fi
     '';
 }
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 35c8b543dec..eee8f612410 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -86,7 +86,7 @@ let
   optionsList = lib.sort optionLess optionsListDesc;
 
   # Convert the list of options into an XML file.
-  optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList);
+  optionsXML = pkgs.writeText "options.xml" (builtins.toXML optionsList);
 
   optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList);
 
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 45b7e229a5c..7e575189209 100644
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -1,12 +1,12 @@
 #! /somewhere/python3
-
-from contextlib import contextmanager
+from contextlib import contextmanager, _GeneratorContextManager
 from xml.sax.saxutils import XMLGenerator
 import _thread
 import atexit
 import os
+import ptpython.repl
 import pty
-import queue
+from queue import Queue, Empty
 import re
 import shutil
 import socket
@@ -15,7 +15,9 @@ import sys
 import tempfile
 import time
 import unicodedata
-import ptpython.repl
+from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
+import shlex
+import pathlib
 
 CHAR_TO_KEY = {
     "A": "shift-a",
@@ -80,12 +82,22 @@ CHAR_TO_KEY = {
     ")": "shift-0x0B",
 }
 
+# Forward references
+nr_tests: int
+nr_succeeded: int
+log: "Logger"
+machines: "List[Machine]"
 
-def eprint(*args, **kwargs):
+
+def eprint(*args: object, **kwargs: Any) -> None:
     print(*args, file=sys.stderr, **kwargs)
 
 
-def create_vlan(vlan_nr):
+def make_command(args: list) -> str:
+    return " ".join(map(shlex.quote, (map(str, args))))
+
+
+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 = os.path.abspath("./vde{}.ctl".format(vlan_nr))
@@ -109,7 +121,7 @@ def create_vlan(vlan_nr):
     return (vlan_nr, vde_socket, vde_process, fd)
 
 
-def retry(fn):
+def retry(fn: Callable) -> None:
     """Call the given function repeatedly, with 1 second intervals,
     until it returns True or a timeout is reached.
     """
@@ -124,52 +136,52 @@ def retry(fn):
 
 
 class Logger:
-    def __init__(self):
+    def __init__(self) -> None:
         self.logfile = os.environ.get("LOGFILE", "/dev/null")
         self.logfile_handle = open(self.logfile, "wb")
         self.xml = XMLGenerator(self.logfile_handle, encoding="utf-8")
-        self.queue = queue.Queue(1000)
+        self.queue: "Queue[Dict[str, str]]" = Queue(1000)
 
         self.xml.startDocument()
         self.xml.startElement("logfile", attrs={})
 
-    def close(self):
+    def close(self) -> None:
         self.xml.endElement("logfile")
         self.xml.endDocument()
         self.logfile_handle.close()
 
-    def sanitise(self, message):
+    def sanitise(self, message: str) -> str:
         return "".join(ch for ch in message if unicodedata.category(ch)[0] != "C")
 
-    def maybe_prefix(self, message, attributes):
+    def maybe_prefix(self, message: str, attributes: Dict[str, str]) -> str:
         if "machine" in attributes:
             return "{}: {}".format(attributes["machine"], message)
         return message
 
-    def log_line(self, message, attributes):
+    def log_line(self, message: str, attributes: Dict[str, str]) -> None:
         self.xml.startElement("line", attributes)
         self.xml.characters(message)
         self.xml.endElement("line")
 
-    def log(self, message, attributes={}):
+    def log(self, message: str, attributes: Dict[str, str] = {}) -> None:
         eprint(self.maybe_prefix(message, attributes))
         self.drain_log_queue()
         self.log_line(message, attributes)
 
-    def enqueue(self, message):
+    def enqueue(self, message: Dict[str, str]) -> None:
         self.queue.put(message)
 
-    def drain_log_queue(self):
+    def drain_log_queue(self) -> None:
         try:
             while True:
                 item = self.queue.get_nowait()
                 attributes = {"machine": item["machine"], "type": "serial"}
                 self.log_line(self.sanitise(item["msg"]), attributes)
-        except queue.Empty:
+        except Empty:
             pass
 
     @contextmanager
-    def nested(self, message, attributes={}):
+    def nested(self, message: str, attributes: Dict[str, str] = {}) -> Iterator[None]:
         eprint(self.maybe_prefix(message, attributes))
 
         self.xml.startElement("nest", attrs={})
@@ -188,41 +200,39 @@ class Logger:
 
 
 class Machine:
-    def __init__(self, args):
+    def __init__(self, args: Dict[str, Any]) -> None:
         if "name" in args:
             self.name = args["name"]
         else:
             self.name = "machine"
-            try:
-                cmd = args["startCommand"]
-                self.name = re.search("run-(.+)-vm$", cmd).group(1)
-            except KeyError:
-                pass
-            except AttributeError:
-                pass
+            cmd = args.get("startCommand", None)
+            if cmd:
+                match = re.search("run-(.+)-vm$", cmd)
+                if match:
+                    self.name = match.group(1)
 
         self.script = args.get("startCommand", self.create_startcommand(args))
 
         tmp_dir = os.environ.get("TMPDIR", tempfile.gettempdir())
 
-        def create_dir(name):
+        def create_dir(name: str) -> str:
             path = os.path.join(tmp_dir, name)
             os.makedirs(path, mode=0o700, exist_ok=True)
             return path
 
         self.state_dir = create_dir("vm-state-{}".format(self.name))
-        self.shared_dir = create_dir("xchg-shared")
+        self.shared_dir = create_dir("{}/xchg".format(self.state_dir))
 
         self.booted = False
         self.connected = False
-        self.pid = None
+        self.pid: Optional[int] = None
         self.socket = None
-        self.monitor = None
-        self.logger = args["log"]
+        self.monitor: Optional[socket.socket] = None
+        self.logger: Logger = args["log"]
         self.allow_reboot = args.get("allowReboot", False)
 
     @staticmethod
-    def create_startcommand(args):
+    def create_startcommand(args: Dict[str, str]) -> str:
         net_backend = "-netdev user,id=net0"
         net_frontend = "-device virtio-net-pci,netdev=net0"
 
@@ -272,31 +282,43 @@ class Machine:
 
         return start_command
 
-    def is_up(self):
+    def is_up(self) -> bool:
         return self.booted and self.connected
 
-    def log(self, msg):
+    def log(self, msg: str) -> None:
         self.logger.log(msg, {"machine": self.name})
 
-    def nested(self, msg, attrs={}):
+    def nested(self, msg: str, attrs: Dict[str, str] = {}) -> _GeneratorContextManager:
         my_attrs = {"machine": self.name}
         my_attrs.update(attrs)
         return self.logger.nested(msg, my_attrs)
 
-    def wait_for_monitor_prompt(self):
+    def wait_for_monitor_prompt(self) -> str:
+        assert self.monitor is not None
+        answer = ""
         while True:
-            answer = self.monitor.recv(1024).decode()
+            undecoded_answer = self.monitor.recv(1024)
+            if not undecoded_answer:
+                break
+            answer += undecoded_answer.decode()
             if answer.endswith("(qemu) "):
-                return answer
+                break
+        return answer
 
-    def send_monitor_command(self, command):
+    def send_monitor_command(self, command: str) -> str:
         message = ("{}\n".format(command)).encode()
         self.log("sending monitor command: {}".format(command))
+        assert self.monitor is not None
         self.monitor.send(message)
         return self.wait_for_monitor_prompt()
 
-    def wait_for_unit(self, unit, user=None):
-        while True:
+    def wait_for_unit(self, unit: str, user: Optional[str] = None) -> None:
+        """Wait for a systemd unit to get into "active" state.
+        Throws exceptions on "failed" and "inactive" states as well as
+        after timing out.
+        """
+
+        def check_active(_: Any) -> bool:
             info = self.get_unit_info(unit, user)
             state = info["ActiveState"]
             if state == "failed":
@@ -305,25 +327,32 @@ class Machine:
             if state == "inactive":
                 status, jobs = self.systemctl("list-jobs --full 2>&1", user)
                 if "No jobs" in jobs:
-                    info = self.get_unit_info(unit)
+                    info = self.get_unit_info(unit, user)
                     if info["ActiveState"] == state:
                         raise Exception(
                             (
                                 'unit "{}" is inactive and there ' "are no pending jobs"
                             ).format(unit)
                         )
-            if state == "active":
-                return True
 
-    def get_unit_info(self, unit, user=None):
+            return state == "active"
+
+        retry(check_active)
+
+    def get_unit_info(self, unit: str, user: Optional[str] = None) -> Dict[str, str]:
         status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user)
         if status != 0:
-            return None
+            raise Exception(
+                'retrieving systemctl info for unit "{}" {} failed with exit code {}'.format(
+                    unit, "" if user is None else 'under user "{}"'.format(user), status
+                )
+            )
 
         line_pattern = re.compile(r"^([^=]+)=(.*)$")
 
-        def tuple_from_line(line):
+        def tuple_from_line(line: str) -> Tuple[str, str]:
             match = line_pattern.match(line)
+            assert match is not None
             return match[1], match[2]
 
         return dict(
@@ -332,7 +361,7 @@ class Machine:
             if line_pattern.match(line)
         )
 
-    def systemctl(self, q, user=None):
+    def systemctl(self, q: str, user: Optional[str] = None) -> Tuple[int, str]:
         if user is not None:
             q = q.replace("'", "\\'")
             return self.execute(
@@ -344,7 +373,19 @@ class Machine:
             )
         return self.execute("systemctl {}".format(q))
 
-    def execute(self, command):
+    def require_unit_state(self, unit: str, require_state: str = "active") -> None:
+        with self.nested(
+            "checking if unit ‘{}’ has reached state '{}'".format(unit, require_state)
+        ):
+            info = self.get_unit_info(unit)
+            state = info["ActiveState"]
+            if state != require_state:
+                raise Exception(
+                    "Expected unit ‘{}’ to to be in state ".format(unit)
+                    + "'active' but it is in state ‘{}’".format(state)
+                )
+
+    def execute(self, command: str) -> Tuple[int, str]:
         self.connect()
 
         out_command = "( {} ); echo '|!EOF' $?\n".format(command)
@@ -362,19 +403,21 @@ class Machine:
                 return (status_code, output)
             output += chunk
 
-    def succeed(self, *commands):
+    def succeed(self, *commands: str) -> str:
         """Execute each command and check that it succeeds."""
+        output = ""
         for command in commands:
             with self.nested("must succeed: {}".format(command)):
-                status, output = self.execute(command)
+                (status, out) = self.execute(command)
                 if status != 0:
-                    self.log("output: {}".format(output))
+                    self.log("output: {}".format(out))
                     raise Exception(
                         "command `{}` failed (exit code {})".format(command, status)
                     )
-                return output
+                output += out
+        return output
 
-    def fail(self, *commands):
+    def fail(self, *commands: str) -> None:
         """Execute each command and check that it fails."""
         for command in commands:
             with self.nested("must fail: {}".format(command)):
@@ -384,21 +427,37 @@ class Machine:
                         "command `{}` unexpectedly succeeded".format(command)
                     )
 
-    def wait_until_succeeds(self, command):
+    def wait_until_succeeds(self, command: str) -> str:
+        """Wait until a command returns success and return its output.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_success(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status == 0
+
         with self.nested("waiting for success: {}".format(command)):
-            while True:
-                status, output = self.execute(command)
-                if status == 0:
-                    return output
+            retry(check_success)
+            return output
+
+    def wait_until_fails(self, command: str) -> str:
+        """Wait until a command returns failure.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_failure(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status != 0
 
-    def wait_until_fails(self, command):
         with self.nested("waiting for failure: {}".format(command)):
-            while True:
-                status, output = self.execute(command)
-                if status != 0:
-                    return output
+            retry(check_failure)
+            return output
 
-    def wait_for_shutdown(self):
+    def wait_for_shutdown(self) -> None:
         if not self.booted:
             return
 
@@ -410,58 +469,71 @@ class Machine:
             self.booted = False
             self.connected = False
 
-    def get_tty_text(self, tty):
+    def get_tty_text(self, tty: str) -> str:
         status, output = self.execute(
             "fold -w$(stty -F /dev/tty{0} size | "
             "awk '{{print $2}}') /dev/vcs{0}".format(tty)
         )
         return output
 
-    def wait_until_tty_matches(self, tty, regexp):
+    def wait_until_tty_matches(self, tty: str, regexp: str) -> None:
+        """Wait until the visible output on the chosen TTY matches regular
+        expression. Throws an exception on timeout.
+        """
         matcher = re.compile(regexp)
+
+        def tty_matches(last: bool) -> bool:
+            text = self.get_tty_text(tty)
+            if last:
+                self.log(
+                    f"Last chance to match /{regexp}/ on TTY{tty}, "
+                    f"which currently contains: {text}"
+                )
+            return len(matcher.findall(text)) > 0
+
         with self.nested("waiting for {} to appear on tty {}".format(regexp, tty)):
-            while True:
-                text = self.get_tty_text(tty)
-                if len(matcher.findall(text)) > 0:
-                    return True
+            retry(tty_matches)
 
-    def send_chars(self, chars):
+    def send_chars(self, chars: List[str]) -> None:
         with self.nested("sending keys ‘{}‘".format(chars)):
             for char in chars:
                 self.send_key(char)
 
-    def wait_for_file(self, filename):
+    def wait_for_file(self, filename: str) -> None:
+        """Waits until the file exists in machine's file system."""
+
+        def check_file(_: Any) -> bool:
+            status, _ = self.execute("test -e {}".format(filename))
+            return status == 0
+
         with self.nested("waiting for file ‘{}‘".format(filename)):
-            while True:
-                status, _ = self.execute("test -e {}".format(filename))
-                if status == 0:
-                    return True
+            retry(check_file)
 
-    def wait_for_open_port(self, port):
-        def port_is_open(_):
+    def wait_for_open_port(self, port: int) -> None:
+        def port_is_open(_: Any) -> bool:
             status, _ = self.execute("nc -z localhost {}".format(port))
             return status == 0
 
         with self.nested("waiting for TCP port {}".format(port)):
             retry(port_is_open)
 
-    def wait_for_closed_port(self, port):
-        def port_is_closed(_):
+    def wait_for_closed_port(self, port: int) -> None:
+        def port_is_closed(_: Any) -> bool:
             status, _ = self.execute("nc -z localhost {}".format(port))
             return status != 0
 
         retry(port_is_closed)
 
-    def start_job(self, jobname, user=None):
+    def start_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
         return self.systemctl("start {}".format(jobname), user)
 
-    def stop_job(self, jobname, user=None):
+    def stop_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
         return self.systemctl("stop {}".format(jobname), user)
 
-    def wait_for_job(self, jobname):
-        return self.wait_for_unit(jobname)
+    def wait_for_job(self, jobname: str) -> None:
+        self.wait_for_unit(jobname)
 
-    def connect(self):
+    def connect(self) -> None:
         if self.connected:
             return
 
@@ -477,7 +549,7 @@ class Machine:
             self.log("(connecting took {:.2f} seconds)".format(toc - tic))
             self.connected = True
 
-    def screenshot(self, filename):
+    def screenshot(self, filename: str) -> None:
         out_dir = os.environ.get("out", os.getcwd())
         word_pattern = re.compile(r"^\w+$")
         if word_pattern.match(filename):
@@ -494,7 +566,39 @@ class Machine:
             if ret.returncode != 0:
                 raise Exception("Cannot convert screenshot")
 
-    def get_screen_text(self):
+    def copy_from_vm(self, source: str, target_dir: str = "") -> None:
+        """Copy a file from the VM (specified by an in-VM source path) to a path
+        relative to `$out`. The file is copied via the `shared_dir` shared among
+        all the VMs (using a temporary directory).
+        """
+        # Compute the source, target, and intermediate shared file names
+        out_dir = pathlib.Path(os.environ.get("out", os.getcwd()))
+        vm_src = pathlib.Path(source)
+        with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td:
+            shared_temp = pathlib.Path(shared_td)
+            vm_shared_temp = pathlib.Path("/tmp/xchg") / shared_temp.name
+            vm_intermediate = vm_shared_temp / vm_src.name
+            intermediate = shared_temp / vm_src.name
+            # Copy the file to the shared directory inside VM
+            self.succeed(make_command(["mkdir", "-p", vm_shared_temp]))
+            self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate]))
+            self.succeed("sync")
+            abs_target = out_dir / target_dir / vm_src.name
+            abs_target.parent.mkdir(exist_ok=True, parents=True)
+            # Copy the file from the shared directory outside VM
+            if intermediate.is_dir():
+                shutil.copytree(intermediate, abs_target)
+            else:
+                shutil.copy(intermediate, abs_target)
+        # Make sure the cleanup is synced into VM
+        self.succeed("sync")
+
+    def dump_tty_contents(self, tty: str) -> None:
+        """Debugging: Dump the contents of the TTY<n>
+        """
+        self.execute("fold -w 80 /dev/vcs{} | systemd-cat".format(tty))
+
+    def get_screen_text(self) -> str:
         if shutil.which("tesseract") is None:
             raise Exception("get_screen_text used but enableOCR is false")
 
@@ -522,30 +626,30 @@ class Machine:
 
                 return ret.stdout.decode("utf-8")
 
-    def wait_for_text(self, regex):
-        def screen_matches(last):
+    def wait_for_text(self, regex: str) -> None:
+        def screen_matches(last: bool) -> bool:
             text = self.get_screen_text()
-            m = re.search(regex, text)
+            matches = re.search(regex, text) is not None
 
-            if last and not m:
+            if last and not matches:
                 self.log("Last OCR attempt failed. Text was: {}".format(text))
 
-            return m
+            return matches
 
         with self.nested("waiting for {} to appear on screen".format(regex)):
             retry(screen_matches)
 
-    def send_key(self, key):
+    def send_key(self, key: str) -> None:
         key = CHAR_TO_KEY.get(key, key)
         self.send_monitor_command("sendkey {}".format(key))
 
-    def start(self):
+    def start(self) -> None:
         if self.booted:
             return
 
         self.log("starting vm")
 
-        def create_socket(path):
+        def create_socket(path: str) -> socket.socket:
             if os.path.exists(path):
                 os.unlink(path)
             s = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_STREAM)
@@ -575,12 +679,15 @@ class Machine:
             + os.environ.get("QEMU_OPTS", "")
         )
 
-        environment = {
-            "QEMU_OPTS": qemu_options,
-            "SHARED_DIR": self.shared_dir,
-            "USE_TMPDIR": "1",
-        }
-        environment.update(dict(os.environ))
+        environment = dict(os.environ)
+        environment.update(
+            {
+                "TMPDIR": self.state_dir,
+                "SHARED_DIR": self.shared_dir,
+                "USE_TMPDIR": "1",
+                "QEMU_OPTS": qemu_options,
+            }
+        )
 
         self.process = subprocess.Popen(
             self.script,
@@ -588,16 +695,16 @@ class Machine:
             stdin=subprocess.DEVNULL,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT,
-            shell=False,
+            shell=True,
             cwd=self.state_dir,
             env=environment,
         )
         self.monitor, _ = self.monitor_socket.accept()
         self.shell, _ = self.shell_socket.accept()
 
-        def process_serial_output():
-            for line in self.process.stdout:
-                line = line.decode().replace("\r", "").rstrip()
+        def process_serial_output() -> None:
+            for _line in self.process.stdout:
+                line = _line.decode("unicode_escape").replace("\r", "").rstrip()
                 eprint("{} # {}".format(self.name, line))
                 self.logger.enqueue({"msg": line, "machine": self.name})
 
@@ -610,83 +717,117 @@ class Machine:
 
         self.log("QEMU running (pid {})".format(self.pid))
 
-    def shutdown(self):
-        if self.booted:
+    def shutdown(self) -> None:
+        if not self.booted:
             return
 
         self.shell.send("poweroff\n".encode())
         self.wait_for_shutdown()
 
-    def crash(self):
-        if self.booted:
+    def crash(self) -> None:
+        if not self.booted:
             return
 
         self.log("forced crash")
         self.send_monitor_command("quit")
         self.wait_for_shutdown()
 
-    def wait_for_x(self):
+    def wait_for_x(self) -> None:
         """Wait until it is possible to connect to the X server.  Note that
         testing the existence of /tmp/.X11-unix/X0 is insufficient.
         """
+
+        def check_x(_: Any) -> bool:
+            cmd = (
+                "journalctl -b SYSLOG_IDENTIFIER=systemd | "
+                + 'grep "Reached target Current graphical"'
+            )
+            status, _ = self.execute(cmd)
+            if status != 0:
+                return False
+            status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]")
+            return status == 0
+
         with self.nested("waiting for the X11 server"):
-            while True:
-                cmd = (
-                    "journalctl -b SYSLOG_IDENTIFIER=systemd | "
-                    + 'grep "Reached target Current graphical"'
+            retry(check_x)
+
+    def get_window_names(self) -> List[str]:
+        return self.succeed(
+            r"xwininfo -root -tree | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'"
+        ).splitlines()
+
+    def wait_for_window(self, regexp: str) -> None:
+        pattern = re.compile(regexp)
+
+        def window_is_visible(last_try: bool) -> bool:
+            names = self.get_window_names()
+            if last_try:
+                self.log(
+                    "Last chance to match {} on the window list,".format(regexp)
+                    + " which currently contains: "
+                    + ", ".join(names)
                 )
-                status, _ = self.execute(cmd)
-                if status != 0:
-                    continue
-                status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]")
-                if status == 0:
-                    return
+            return any(pattern.search(name) for name in names)
+
+        with self.nested("Waiting for a window to appear"):
+            retry(window_is_visible)
 
-    def sleep(self, secs):
+    def sleep(self, secs: int) -> None:
         time.sleep(secs)
 
-    def block(self):
+    def forward_port(self, host_port: int = 8080, guest_port: int = 80) -> None:
+        """Forward a TCP port on the host to a TCP port on the guest.
+        Useful during interactive testing.
+        """
+        self.send_monitor_command(
+            "hostfwd_add tcp::{}-:{}".format(host_port, guest_port)
+        )
+
+    def block(self) -> None:
         """Make the machine unreachable by shutting down eth1 (the multicast
         interface used to talk to the other VMs).  We keep eth0 up so that
         the test driver can continue to talk to the machine.
         """
         self.send_monitor_command("set_link virtio-net-pci.1 off")
 
-    def unblock(self):
+    def unblock(self) -> None:
         """Make the machine reachable.
         """
         self.send_monitor_command("set_link virtio-net-pci.1 on")
 
 
-def create_machine(args):
+def create_machine(args: Dict[str, Any]) -> Machine:
     global log
     args["log"] = log
     args["redirectSerial"] = os.environ.get("USE_SERIAL", "0") == "1"
     return Machine(args)
 
 
-def start_all():
+def start_all() -> None:
+    global machines
     with log.nested("starting all VMs"):
         for machine in machines:
             machine.start()
 
 
-def join_all():
+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():
+def test_script() -> None:
     exec(os.environ["testScript"])
 
 
-def run_tests():
+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)
+                exec(tests, globals())
             except Exception as e:
                 eprint("error: {}".format(str(e)))
                 sys.exit(1)
@@ -700,11 +841,13 @@ def run_tests():
             machine.execute("sync")
 
     if nr_tests != 0:
-        log.log("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
+        eprint("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
+        if nr_tests > nr_succeeded:
+            sys.exit(1)
 
 
 @contextmanager
-def subtest(name):
+def subtest(name: str) -> Iterator[None]:
     global nr_tests
     global nr_succeeded
 
@@ -721,7 +864,6 @@ def subtest(name):
 
 
 if __name__ == "__main__":
-    global log
     log = Logger()
 
     vlan_nrs = list(dict.fromkeys(os.environ["VLANS"].split()))
@@ -740,7 +882,7 @@ if __name__ == "__main__":
     nr_succeeded = 0
 
     @atexit.register
-    def clean_up():
+    def clean_up() -> None:
         with log.nested("cleaning up"):
             for machine in machines:
                 if machine.pid is None:
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index 21f6172e967..3d09be3b6cd 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -26,7 +26,7 @@ in rec {
 
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ (python3.withPackages (p: [ p.ptpython ])) ];
-    checkInputs = with python3Packages; [ pylint black ];
+    checkInputs = with python3Packages; [ pylint black mypy ];
 
     dontUnpack = true;
 
@@ -34,6 +34,9 @@ in rec {
 
     doCheck = true;
     checkPhase = ''
+      mypy --disallow-untyped-defs \
+           --no-implicit-optional \
+           --ignore-missing-imports ${testDriverScript}
       pylint --errors-only ${testDriverScript}
       black --check --diff ${testDriverScript}
     '';
@@ -92,6 +95,8 @@ in rec {
     , makeCoverageReport ? false
     , enableOCR ? false
     , name ? "unnamed"
+    # Skip linting (mainly intended for faster dev cycles)
+    , skipLint ? false
     , ...
     } @ t:
 
@@ -130,7 +135,7 @@ in rec {
       # Generate onvenience wrappers for running the test driver
       # interactively with the specified network, and for starting the
       # VMs from the command line.
-      driver = runCommand testDriverName
+      driver = let warn = if skipLint then lib.warn "Linting is disabled!" else lib.id; in warn (runCommand testDriverName
         { buildInputs = [ makeWrapper];
           testScript = testScript';
           preferLocalBuild = true;
@@ -140,7 +145,9 @@ in rec {
           mkdir -p $out/bin
 
           echo -n "$testScript" > $out/test-script
-          ${python3Packages.black}/bin/black --check --diff $out/test-script
+          ${lib.optionalString (!skipLint) ''
+            ${python3Packages.black}/bin/black --check --diff $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))
@@ -157,7 +164,7 @@ in rec {
             --set tests 'start_all(); join_all();' \
             --set VLANS '${toString vlans}' \
             ${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"}
-        ''; # "
+        ''); # "
 
       passMeta = drv: drv // lib.optionalAttrs (t ? meta) {
         meta = (drv.meta or {}) // t.meta;
@@ -258,11 +265,9 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
-          services.xserver.windowManager.default = "icewm";
+          services.xserver.displayManager.defaultSession = "none+icewm";
           services.xserver.windowManager.icewm.enable = true;
-          services.xserver.desktopManager.default = "none";
         };
     in
       runInMachine ({
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 76706877103..ae8ecd6270c 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -248,11 +248,9 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
-          services.xserver.windowManager.default = "icewm";
+          services.xserver.displayManager.defaultSession = "none+icewm";
           services.xserver.windowManager.icewm.enable = true;
-          services.xserver.desktopManager.default = "none";
         };
     in
       runInMachine ({
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index f08e500e079..5dc1c5aaed5 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -211,11 +211,11 @@ upload_image() {
         log "Registering snapshot $snapshot_id as AMI"
 
         local block_device_mappings=(
-            "DeviceName=/dev/sda1,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}"
+            "DeviceName=/dev/xvda,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}"
         )
 
         local extra_flags=(
-            --root-device-name /dev/sda1
+            --root-device-name /dev/xvda
             --sriov-net-support simple
             --ena-support
             --virtualization-type hvm
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
new file mode 100644
index 00000000000..f662ed62d31
--- /dev/null
+++ b/nixos/modules/config/console.nix
@@ -0,0 +1,203 @@
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.console;
+
+  makeColor = i: concatMapStringsSep "," (x: "0x" + substring (2*i) 2 x);
+
+  isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);
+
+  optimizedKeymap = pkgs.runCommand "keymap" {
+    nativeBuildInputs = [ pkgs.buildPackages.kbd ];
+    LOADKEYS_KEYMAP_PATH = "${consoleEnv}/share/keymaps/**";
+    preferLocalBuild = true;
+  } ''
+    loadkeys -b ${optionalString isUnicode "-u"} "${cfg.keyMap}" > $out
+  '';
+
+  # Sadly, systemd-vconsole-setup doesn't support binary keymaps.
+  vconsoleConf = pkgs.writeText "vconsole.conf" ''
+    KEYMAP=${cfg.keyMap}
+    FONT=${cfg.font}
+  '';
+
+  consoleEnv = pkgs.buildEnv {
+    name = "console-env";
+    paths = [ pkgs.kbd ] ++ cfg.packages;
+    pathsToLink = [
+      "/share/consolefonts"
+      "/share/consoletrans"
+      "/share/keymaps"
+      "/share/unimaps"
+    ];
+  };
+
+  setVconsole = !config.boot.isContainer;
+in
+
+{
+  ###### interface
+
+  options.console  = {
+    font = mkOption {
+      type = types.str;
+      default = "Lat2-Terminus16";
+      example = "LatArCyrHeb-16";
+      description = ''
+        The font used for the virtual consoles.  Leave empty to use
+        whatever the <command>setfont</command> program considers the
+        default font.
+      '';
+    };
+
+    keyMap = mkOption {
+      type = with types; either str path;
+      default = "us";
+      example = "fr";
+      description = ''
+        The keyboard mapping table for the virtual consoles.
+      '';
+    };
+
+    colors = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = [
+        "002b36" "dc322f" "859900" "b58900"
+        "268bd2" "d33682" "2aa198" "eee8d5"
+        "002b36" "cb4b16" "586e75" "657b83"
+        "839496" "6c71c4" "93a1a1" "fdf6e3"
+      ];
+      description = ''
+        The 16 colors palette used by the virtual consoles.
+        Leave empty to use the default colors.
+        Colors must be in hexadecimal format and listed in
+        order from color 0 to color 15.
+      '';
+
+    };
+
+    packages = mkOption {
+      type = types.listOf types.package;
+      default = with pkgs.kbdKeymaps; [ dvp neo ];
+      defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
+      description = ''
+        List of additional packages that provide console fonts, keymaps and
+        other resources for virtual consoles use.
+      '';
+    };
+
+    extraTTYs = mkOption {
+      default = [];
+      type = types.listOf types.str;
+      example = ["tty8" "tty9"];
+      description = ''
+        TTY (virtual console) devices, in addition to the consoles on
+        which mingetty and syslogd run, that must be initialised.
+        Only useful if you have some program that you want to run on
+        some fixed console.  For example, the NixOS installation CD
+        opens the manual in a web browser on console 7, so it sets
+        <option>console.extraTTYs</option> to <literal>["tty7"]</literal>.
+      '';
+    };
+
+    useXkbConfig = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        If set, configure the virtual console keymap from the xserver
+        keyboard settings.
+      '';
+    };
+
+    earlySetup = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enable setting virtual console options as early as possible (in initrd).
+      '';
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkMerge [
+    { console.keyMap = with config.services.xserver;
+        mkIf cfg.useXkbConfig
+          (pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
+            '${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
+              -option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
+          '');
+    }
+
+    (mkIf (!setVconsole) {
+      systemd.services.systemd-vconsole-setup.enable = false;
+    })
+
+    (mkIf setVconsole (mkMerge [
+      { environment.systemPackages = [ pkgs.kbd ];
+
+        # Let systemd-vconsole-setup.service do the work of setting up the
+        # virtual consoles.
+        environment.etc."vconsole.conf".source = vconsoleConf;
+        # Provide kbd with additional packages.
+        environment.etc.kbd.source = "${consoleEnv}/share";
+
+        boot.initrd.preLVMCommands = mkBefore ''
+          kbd_mode ${if isUnicode then "-u" else "-a"} -C /dev/console
+          printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
+          loadkmap < ${optimizedKeymap}
+
+          ${optionalString cfg.earlySetup ''
+            setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
+          ''}
+        '';
+
+        systemd.services.systemd-vconsole-setup =
+          { before = [ "display-manager.service" ];
+            after = [ "systemd-udev-settle.service" ];
+            restartTriggers = [ vconsoleConf consoleEnv ];
+          };
+      }
+
+      (mkIf (cfg.colors != []) {
+        boot.kernelParams = [
+          "vt.default_red=${makeColor 0 cfg.colors}"
+          "vt.default_grn=${makeColor 1 cfg.colors}"
+          "vt.default_blu=${makeColor 2 cfg.colors}"
+        ];
+      })
+
+      (mkIf cfg.earlySetup {
+        boot.initrd.extraUtilsCommands = ''
+          mkdir -p $out/share/consolefonts
+          ${if substring 0 1 cfg.font == "/" then ''
+            font="${cfg.font}"
+          '' else ''
+            font="$(echo ${consoleEnv}/share/consolefonts/${cfg.font}.*)"
+          ''}
+          if [[ $font == *.gz ]]; then
+            gzip -cd $font > $out/share/consolefonts/font.psf
+          else
+            cp -L $font $out/share/consolefonts/font.psf
+          fi
+        '';
+      })
+    ]))
+  ];
+
+  imports = [
+    (mkRenamedOptionModule [ "i18n" "consoleFont" ] [ "console" "font" ])
+    (mkRenamedOptionModule [ "i18n" "consoleKeyMap" ] [ "console" "keyMap" ])
+    (mkRenamedOptionModule [ "i18n" "consoleColors" ] [ "console" "colors" ])
+    (mkRenamedOptionModule [ "i18n" "consolePackages" ] [ "console" "packages" ])
+    (mkRenamedOptionModule [ "i18n" "consoleUseXkbConfig" ] [ "console" "useXkbConfig" ])
+    (mkRenamedOptionModule [ "boot" "earlyVconsoleSetup" ] [ "console" "earlySetup" ])
+    (mkRenamedOptionModule [ "boot" "extraTTYs" ] [ "console" "extraTTYs" ])
+  ];
+}
diff --git a/nixos/modules/config/fonts/corefonts.nix b/nixos/modules/config/fonts/corefonts.nix
deleted file mode 100644
index b9f69879a10..00000000000
--- a/nixos/modules/config/fonts/corefonts.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-# This module is deprecated, since you can just say ‘fonts.fonts = [
-# pkgs.corefonts ];’ instead.
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-
-  options = {
-
-    fonts = {
-
-      enableCoreFonts = mkOption {
-        visible = false;
-        default = false;
-        description = ''
-          Whether to include Microsoft's proprietary Core Fonts.  These fonts
-          are redistributable, but only verbatim, among other restrictions.
-          See <link xlink:href="http://corefonts.sourceforge.net/eula.htm"/>
-          for details.
-       '';
-      };
-
-    };
-
-  };
-
-
-  config = mkIf config.fonts.enableCoreFonts {
-
-    fonts.fonts = [ pkgs.corefonts ];
-
-  };
-
-}
diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix
deleted file mode 100644
index 84d90899dff..00000000000
--- a/nixos/modules/config/fonts/fontconfig-ultimate.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let cfg = config.fonts.fontconfig.ultimate;
-
-    latestVersion  = pkgs.fontconfig.configVersion;
-
-    # The configuration to be included in /etc/font/
-    confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } ''
-      support_folder=$out/etc/fonts/conf.d
-      latest_folder=$out/etc/fonts/${latestVersion}/conf.d
-
-      mkdir -p $support_folder
-      mkdir -p $latest_folder
-
-      # fontconfig ultimate substitutions
-      ${optionalString (cfg.substitutions != "none") ''
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
-            $support_folder
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
-            $latest_folder
-      ''}
-
-      # fontconfig ultimate various configuration files
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
-            $support_folder
-      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
-            $latest_folder
-    '';
-
-in
-{
-
-  options = {
-
-    fonts = {
-
-      fontconfig = {
-
-        ultimate = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Enable fontconfig-ultimate settings (formerly known as
-              Infinality). Besides the customizable settings in this NixOS
-              module, fontconfig-ultimate also provides many font-specific
-              rendering tweaks.
-            '';
-          };
-
-          substitutions = mkOption {
-            type = types.enum ["free" "combi" "ms" "none"];
-            default = "free";
-            description = ''
-              Font substitutions to replace common Type 1 fonts with nicer
-              TrueType fonts. <literal>free</literal> uses free fonts,
-              <literal>ms</literal> uses Microsoft fonts,
-              <literal>combi</literal> uses a combination, and
-              <literal>none</literal> disables the substitutions.
-            '';
-          };
-
-          preset = mkOption {
-            type = types.enum ["ultimate1" "ultimate2" "ultimate3" "ultimate4" "ultimate5" "osx" "windowsxp"];
-            default = "ultimate3";
-            description = ''
-              FreeType rendering settings preset. Any of the presets may be
-              customized by setting environment variables.
-            '';
-          };
-        };
-      };
-    };
-
-  };
-
-  config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
-
-    fonts.fontconfig.confPackages = [ confPkg ];
-    environment.variables.INFINALITY_FT = cfg.preset;
-
-  };
-
-}
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 8f227c42326..3bfa1893a8b 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -264,6 +264,16 @@ let
   };
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
+    (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
+  ];
 
   options = {
 
diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix
index abb806b601a..b9bae44b2f9 100644
--- a/nixos/modules/config/fonts/fonts.nix
+++ b/nixos/modules/config/fonts/fonts.nix
@@ -3,6 +3,9 @@
 with lib;
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
+  ];
 
   options = {
 
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index d0db8fedecd..45691f4839c 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -58,62 +58,6 @@ with lib;
         '';
       };
 
-      consolePackages = mkOption {
-        type = types.listOf types.package;
-        default = with pkgs.kbdKeymaps; [ dvp neo ];
-        defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
-        description = ''
-          List of additional packages that provide console fonts, keymaps and
-          other resources.
-        '';
-      };
-
-      consoleFont = mkOption {
-        type = types.str;
-        default = "Lat2-Terminus16";
-        example = "LatArCyrHeb-16";
-        description = ''
-          The font used for the virtual consoles.  Leave empty to use
-          whatever the <command>setfont</command> program considers the
-          default font.
-        '';
-      };
-
-      consoleUseXkbConfig = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          If set, configure the console keymap from the xserver keyboard
-          settings.
-        '';
-      };
-
-      consoleKeyMap = mkOption {
-        type = with types; either str path;
-        default = "us";
-        example = "fr";
-        description = ''
-          The keyboard mapping table for the virtual consoles.
-        '';
-      };
-
-      consoleColors = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [
-          "002b36" "dc322f" "859900" "b58900"
-          "268bd2" "d33682" "2aa198" "eee8d5"
-          "002b36" "cb4b16" "586e75" "657b83"
-          "839496" "6c71c4" "93a1a1" "fdf6e3"
-        ];
-        description = ''
-          The 16 colors palette used by the virtual consoles.
-          Leave empty to use the default colors.
-          Colors must be in hexadecimal format and listed in
-          order from color 0 to color 15.
-        '';
-      };
-
     };
 
   };
@@ -123,13 +67,6 @@ with lib;
 
   config = {
 
-    i18n.consoleKeyMap = with config.services.xserver;
-      mkIf config.i18n.consoleUseXkbConfig
-        (pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
-          '${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
-            -option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
-        '');
-
     environment.systemPackages =
       optional (config.i18n.supportedLocales != []) config.i18n.glibcLocales;
 
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index a89667ea221..81427bb8ee6 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -16,6 +16,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "networking" "hostConf" ] "Use environment.etc.\"host.conf\" instead.")
+  ];
 
   options = {
 
@@ -41,19 +44,6 @@ in
       '';
     };
 
-    networking.hostConf = lib.mkOption {
-      type = types.lines;
-      default = "multi on";
-      example = ''
-        multi on
-        reorder on
-        trim lan
-      '';
-      description = ''
-        The contents of <filename>/etc/host.conf</filename>. See also <citerefentry><refentrytitle>host.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
-      '';
-    };
-
     networking.timeServers = mkOption {
       default = [
         "0.nixos.pool.ntp.org"
@@ -186,7 +176,9 @@ in
         '';
 
         # /etc/host.conf: resolver configuration file
-        "host.conf".text = cfg.hostConf;
+        "host.conf".text = ''
+          multi on
+        '';
 
       } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
         # /etc/rpc: RPC program numbers.
diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix
index 7de1c0f5d55..d9dec74f155 100644
--- a/nixos/modules/config/qt5.nix
+++ b/nixos/modules/config/qt5.nix
@@ -10,7 +10,7 @@ let
   isQtStyle = cfg.platformTheme == "gtk2" && cfg.style != "adwaita";
 
   packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ]
-    else if isQtStyle then [ pkgs.qtstyleplugins ]
+    else if isQtStyle then [ pkgs.libsForQt5.qtstyleplugins ]
     else throw "`qt5.platformTheme` ${cfg.platformTheme} and `qt5.style` ${cfg.style} are not compatible.";
 
 in
diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix
index 406c6a7ac32..7d2f252a888 100644
--- a/nixos/modules/config/resolvconf.nix
+++ b/nixos/modules/config/resolvconf.nix
@@ -33,6 +33,12 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ])
+    (mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ])
+    (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
+    (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
+  ];
 
   options = {
 
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index b79e16cd797..a0a20228a74 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -122,7 +122,7 @@ in
       description = ''
         Include ~/bin/ in $PATH.
       '';
-      default = true;
+      default = false;
       type = types.bool;
     };
 
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index ae3bdeb00e6..141e43fec39 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -403,6 +403,10 @@ let
       filter types.shellPackage.check shells;
 
 in {
+  imports = [
+    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
+    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix
deleted file mode 100644
index 356e007c0a3..00000000000
--- a/nixos/modules/config/vpnc.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.networking.vpnc;
-  mkServiceDef = name: value:
-    {
-      name = "vpnc/${name}.conf";
-      value = { text = value; };
-    };
-
-in
-{
-  options = {
-    networking.vpnc = {
-      services = mkOption {
-       type = types.attrsOf types.str;
-       default = {};
-       example = literalExample ''
-         { test = '''
-             IPSec gateway 192.168.1.1
-             IPSec ID someID
-             IPSec secret secretKey
-             Xauth username name
-             Xauth password pass
-           ''';
-         }
-       '';
-       description = 
-         ''
-           The names of cisco VPNs and their associated definitions
-         '';
-      };
-    };
-  };
-
-  config.environment.etc = mapAttrs' mkServiceDef cfg.services;
-}
-
-
diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix
index bdbbfda2bb4..95fa8e05fa3 100644
--- a/nixos/modules/config/xdg/portal.nix
+++ b/nixos/modules/config/xdg/portal.nix
@@ -3,6 +3,10 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ])
+  ];
+
   options.xdg.portal = {
     enable =
       mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>"//{
diff --git a/nixos/modules/config/xdg/sounds.nix b/nixos/modules/config/xdg/sounds.nix
index 148240d631c..14d6340fc33 100644
--- a/nixos/modules/config/xdg/sounds.nix
+++ b/nixos/modules/config/xdg/sounds.nix
@@ -1,4 +1,4 @@
-{ config, lib, ... }:
+{ config, lib, pkgs, ... }:
 
 with lib;
 {
@@ -14,6 +14,10 @@ with lib;
   };
 
   config = mkIf config.xdg.sounds.enable {
+    environment.systemPackages = [
+      pkgs.sound-theme-freedesktop
+    ];
+
     environment.pathsToLink = [
       "/share/sounds"
     ];
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 534fcc34276..16be8bcfdd7 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -6,6 +6,14 @@ let
   cfg = config.hardware;
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+    (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/hardware/ckb-next.nix b/nixos/modules/hardware/ckb-next.nix
index 20b2756d8b2..fe0ca9f26d5 100644
--- a/nixos/modules/hardware/ckb-next.nix
+++ b/nixos/modules/hardware/ckb-next.nix
@@ -7,6 +7,11 @@ let
 
 in
   {
+    imports = [
+      (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ])
+      (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ])
+    ];
+
     options.hardware.ckb-next = {
       enable = mkEnableOption "the Corsair keyboard/mouse driver";
 
diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix
index 99d46c25236..0938dbdc110 100644
--- a/nixos/modules/hardware/ksm.nix
+++ b/nixos/modules/hardware/ksm.nix
@@ -6,6 +6,10 @@ let
   cfg = config.hardware.ksm;
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ])
+  ];
+
   options.hardware.ksm = {
     enable = mkEnableOption "Kernel Same-Page Merging";
     sleep = mkOption {
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index 57cac56bd8a..89dc5008df5 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -31,6 +31,11 @@ let
 in
 
 {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
+  ];
+
   options = {
 
     hardware.opengl = {
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 3ab2afc9740..fcb30187fa2 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -75,7 +75,7 @@ in
 
         Note that this configuration will only be successful when a display manager
         for which the <option>services.xserver.displayManager.setupCommands</option>
-        option is supported is used; notably, SLiM is not supported.
+        option is supported is used.
       '';
     };
 
@@ -111,9 +111,10 @@ in
   config = mkIf enabled {
     assertions = [
       {
-        assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland;
-        message = "NVIDIA drivers don't support wayland, set services.xserver.displayManager.gdm.wayland=false";
+        assertion = with config.services.xserver.displayManager; gdm.nvidiaWayland -> cfg.modesetting.enable;
+        message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`";
       }
+
       {
         assertion = !optimusCfg.enable ||
           (optimusCfg.nvidiaBusId != "" && optimusCfg.intelBusId != "");
diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix
index 8109ef76c40..810e1643d31 100644
--- a/nixos/modules/i18n/input-method/ibus.nix
+++ b/nixos/modules/i18n/input-method/ibus.nix
@@ -27,6 +27,10 @@ let
   };
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ])
+  ];
+
   options = {
     i18n.inputMethod.ibus = {
       engines = mkOption {
@@ -53,9 +57,15 @@ in
   config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
     i18n.inputMethod.package = ibusPackage;
 
+    environment.systemPackages = [
+      ibusAutostart
+    ];
+
     # Without dconf enabled it is impossible to use IBus
-    environment.systemPackages = with pkgs; [
-      gnome3.dconf ibusAutostart
+    programs.dconf.enable = true;
+
+    services.dbus.packages = [
+      ibusAutostart
     ];
 
     environment.variables = {
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
index 719ba5ffb12..e0b558dcb0d 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -22,17 +22,7 @@ with lib;
     });
   '';
 
-  services.xserver = {
-    enable = true;
-
-    # Automatically login as nixos.
-    displayManager.slim = {
-      enable = true;
-      defaultUser = "nixos";
-      autoLogin = true;
-    };
-
-  };
+  services.xserver.enable = true;
 
   # Provide networkmanager for easy wireless configuration.
   networking.networkmanager.enable = true;
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 0b813bbf37b..23c3426bff0 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
@@ -10,8 +10,6 @@ with lib;
 
   services.xserver.desktopManager.gnome3.enable = true;
 
-  services.xserver.displayManager.slim.enable = mkForce false;
-
   # Auto-login as root.
   services.xserver.displayManager.gdm.autoLogin = {
     enable = true;
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
index 1dc7920ff64..e00d3f7535b 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
@@ -11,7 +11,15 @@ with lib;
   services.xserver = {
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
+    };
+
+    # Automatically login as nixos.
+    displayManager.sddm = {
+      enable = true;
+      autoLogin = {
+        enable = true;
+        user = "nixos";
+      };
     };
   };
 
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 009f1e2c543..11319e5f4f8 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -603,9 +603,6 @@ in
         { source = config.system.build.squashfsStore;
           target = "/nix-store.squashfs";
         }
-        { source = config.isoImage.efiSplashImage;
-          target = "/EFI/boot/efi-background.png";
-        }
         { source = config.isoImage.splashImage;
           target = "/isolinux/background.png";
         }
@@ -630,8 +627,8 @@ in
         { source = "${efiDir}/EFI";
           target = "/EFI";
         }
-        { source = pkgs.writeText "loopback.cfg" "source /EFI/boot/grub.cfg";
-          target = "/boot/grub/loopback.cfg";
+        { source = (pkgs.writeTextDir "grub/loopback.cfg" "source /EFI/boot/grub.cfg") + "/grub";
+          target = "/boot/grub";
         }
       ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
         { source = "${pkgs.memtest86plus}/memtest.bin";
@@ -641,6 +638,10 @@ in
         { source = config.isoImage.grubTheme;
           target = "/EFI/boot/grub-theme";
         }
+      ] ++ [
+        { source = config.isoImage.efiSplashImage;
+          target = "/EFI/boot/efi-background.png";
+        }
       ];
 
     boot.loader.timeout = 10;
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index d510f3b2daf..901c60befb6 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -18,6 +18,7 @@ with lib;
 let
   rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
     inherit (config.sdImage) storePaths;
+    compressImage = true;
     populateImageCommands = config.sdImage.populateRootCommands;
     volumeLabel = "NIXOS_SD";
   } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
@@ -128,10 +129,11 @@ in
 
     sdImage.storePaths = [ config.system.build.toplevel ];
 
-    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, mtools, libfaketime, utillinux, bzip2 }: stdenv.mkDerivation {
+    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
+    mtools, libfaketime, utillinux, bzip2, zstd }: stdenv.mkDerivation {
       name = config.sdImage.imageName;
 
-      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux bzip2 ];
+      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux bzip2 zstd ];
 
       inherit (config.sdImage) compressImage;
 
@@ -140,13 +142,20 @@ in
         export img=$out/sd-image/${config.sdImage.imageName}
 
         echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system
-        echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+        if test -n "$compressImage"; then
+          echo "file sd-image $img.bz2" >> $out/nix-support/hydra-build-products
+        else
+          echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+        fi
+
+        echo "Decompressing rootfs image"
+        zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img
 
         # Gap in front of the first partition, in MiB
         gap=8
 
         # Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
-        rootSizeBlocks=$(du -B 512 --apparent-size ${rootfsImage} | awk '{ print $1 }')
+        rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }')
         firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
         imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
         truncate -s $imageSize $img
@@ -164,7 +173,7 @@ in
 
         # Copy the rootfs into the SD image
         eval $(partx $img -o START,SECTORS --nr 2 --pairs)
-        dd conv=notrunc if=${rootfsImage} of=$img seek=$START count=$SECTORS
+        dd conv=notrunc if=./root-fs.img of=$img seek=$START count=$SECTORS
 
         # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
         eval $(partx $img -o START,SECTORS --nr 1 --pairs)
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index f2ffe61c42c..629c56814a1 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -335,6 +335,9 @@ if (@swaps) {
         next unless -e $swapFilename;
         my $dev = findStableDevPath $swapFilename;
         if ($swapType =~ "partition") {
+            # zram devices are more likely created by configuration.nix, so
+            # ignore them here
+            next if ($swapFilename =~ /^\/dev\/zram/);
             push @swapDevices, "{ device = \"$dev\"; }";
         } elsif ($swapType =~ "file") {
             # swap *files* are more likely specified in configuration.nix, so
@@ -498,7 +501,7 @@ if (-f $fb_modes_file && -r $fb_modes_file) {
     my $console_width = $1, my $console_height = $2;
     if ($console_width > 1920) {
         push @attrs, "# High-DPI console";
-        push @attrs, 'i18n.consoleFont = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";';
+        push @attrs, 'console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";';
     }
 }
 
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 891f374df53..c53dc1000c4 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -90,6 +90,11 @@ while [ "$#" -gt 0 ]; do
         targetHost="$1"
         shift 1
         ;;
+      --use-remote-sudo)
+        # note the trailing space
+        maybeSudo="sudo "
+        shift 1
+        ;;
       *)
         echo "$0: unknown option \`$i'"
         exit 1
@@ -97,10 +102,6 @@ while [ "$#" -gt 0 ]; do
     esac
 done
 
-if [ -n "$SUDO_USER" ]; then
-    maybeSudo="sudo "
-fi
-
 if [ -z "$buildHost" -a -n "$targetHost" ]; then
     buildHost="$targetHost"
 fi
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
index deecb005270..820553270e3 100644
--- a/nixos/modules/misc/documentation.nix
+++ b/nixos/modules/misc/documentation.nix
@@ -67,6 +67,11 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
+    (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
+    (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
+  ];
 
   options = {
 
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 3e8a5b07a5e..bedd87a368e 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -11,6 +11,9 @@
 
 { lib, ... }:
 
+let
+  inherit (lib) types;
+in
 {
   options = {
 
@@ -19,6 +22,7 @@
       description = ''
         The user IDs used in NixOS.
       '';
+      type = types.attrsOf types.int;
     };
 
     ids.gids = lib.mkOption {
@@ -26,6 +30,7 @@
       description = ''
         The group IDs used in NixOS.
       '';
+      type = types.attrsOf types.int;
     };
 
   };
@@ -75,8 +80,8 @@
       #kdm = 39; # dropped in 17.03
       #ghostone = 40; # dropped in 18.03
       git = 41;
-      fourstore = 42;
-      fourstorehttp = 43;
+      #fourstore = 42; # dropped in 20.03
+      #fourstorehttp = 43; # dropped in 20.03
       virtuoso = 44;
       rtkit = 45;
       dovecot2 = 46;
@@ -128,7 +133,7 @@
       tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
       firebird = 95;
       #keys = 96; # unused
-      haproxy = 97;
+      #haproxy = 97; # DynamicUser as of 2019-11-08
       mongodb = 98;
       openldap = 99;
       #users = 100; # unused
@@ -443,7 +448,7 @@
       #tcpcryptd = 93; # unused
       firebird = 95;
       keys = 96;
-      haproxy = 97;
+      #haproxy = 97; # DynamicUser as of 2019-11-08
       #mongodb = 98; # unused
       openldap = 99;
       munin = 102;
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index 737ed5c0a3f..552535c253e 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -7,6 +7,11 @@ let
   isMLocate = hasPrefix "mlocate" cfg.locate.name;
   isFindutils = hasPrefix "findutils" cfg.locate.name;
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
+    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
+  ];
+
   options.services.locate = with types; {
     enable = mkOption {
       type = bool;
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 773724ffbd5..0540b493003 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -10,6 +10,12 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
+    (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
+    (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
+    (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
+  ];
 
   options.system = {
 
@@ -92,7 +98,7 @@ in
         VERSION="${cfg.version} (${cfg.codeName})"
         VERSION_CODENAME=${toLower cfg.codeName}
         VERSION_ID="${cfg.version}"
-        PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})"
+        PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
         LOGO="nix-snowflake"
         HOME_URL="https://nixos.org/"
         DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index cacb4b13f41..914f9a878b0 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1,9 +1,7 @@
 [
   ./config/debug-info.nix
-  ./config/fonts/corefonts.nix
   ./config/fonts/fontconfig.nix
   ./config/fonts/fontconfig-penultimate.nix
-  ./config/fonts/fontconfig-ultimate.nix
   ./config/fonts/fontdir.nix
   ./config/fonts/fonts.nix
   ./config/fonts/ghostscript.nix
@@ -13,6 +11,7 @@
   ./config/xdg/mime.nix
   ./config/xdg/portal.nix
   ./config/appstream.nix
+  ./config/console.nix
   ./config/xdg/sounds.nix
   ./config/gtk/gtk-icon-cache.nix
   ./config/gnu.nix
@@ -37,7 +36,6 @@
   ./config/terminfo.nix
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
-  ./config/vpnc.nix
   ./config/vte.nix
   ./config/zram.nix
   ./hardware/acpilight.nix
@@ -257,8 +255,6 @@
   ./services/continuous-integration/jenkins/default.nix
   ./services/continuous-integration/jenkins/job-builder.nix
   ./services/continuous-integration/jenkins/slave.nix
-  ./services/databases/4store-endpoint.nix
-  ./services/databases/4store.nix
   ./services/databases/aerospike.nix
   ./services/databases/cassandra.nix
   ./services/databases/clickhouse.nix
@@ -310,6 +306,7 @@
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
   ./services/desktops/gnome3/tracker-miners.nix
+  ./services/desktops/neard.nix
   ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/system-config-printer.nix
   ./services/desktops/telepathy.nix
@@ -318,6 +315,7 @@
   ./services/development/bloop.nix
   ./services/development/hoogle.nix
   ./services/development/jupyter/default.nix
+  ./services/development/lorri.nix
   ./services/editors/emacs.nix
   ./services/editors/infinoted.nix
   ./services/games/factorio.nix
@@ -446,6 +444,7 @@
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
+  ./services/misc/mame.nix
   ./services/misc/mathics.nix
   ./services/misc/matrix-synapse.nix
   ./services/misc/mbpfan.nix
@@ -520,7 +519,6 @@
   ./services/monitoring/munin.nix
   ./services/monitoring/nagios.nix
   ./services/monitoring/netdata.nix
-  ./services/monitoring/osquery.nix
   ./services/monitoring/prometheus/default.nix
   ./services/monitoring/prometheus/alertmanager.nix
   ./services/monitoring/prometheus/exporters.nix
@@ -540,7 +538,6 @@
   ./services/monitoring/zabbix-agent.nix
   ./services/monitoring/zabbix-proxy.nix
   ./services/monitoring/zabbix-server.nix
-  ./services/network-filesystems/beegfs.nix
   ./services/network-filesystems/cachefilesd.nix
   ./services/network-filesystems/davfs2.nix
   ./services/network-filesystems/drbd.nix
@@ -561,6 +558,7 @@
   ./services/network-filesystems/yandex-disk.nix
   ./services/network-filesystems/xtreemfs.nix
   ./services/network-filesystems/ceph.nix
+  ./services/networking/3proxy.nix
   ./services/networking/amuled.nix
   ./services/networking/aria2.nix
   ./services/networking/asterisk.nix
@@ -620,7 +618,6 @@
   ./services/networking/iodine.nix
   ./services/networking/iperf3.nix
   ./services/networking/ircd-hybrid/default.nix
-  ./services/networking/jormungandr.nix
   ./services/networking/iwd.nix
   ./services/networking/keepalived/default.nix
   ./services/networking/keybase.nix
@@ -698,6 +695,7 @@
   ./services/networking/sniproxy.nix
   ./services/networking/smokeping.nix
   ./services/networking/softether.nix
+  ./services/networking/spacecookie.nix
   ./services/networking/spiped.nix
   ./services/networking/squid.nix
   ./services/networking/sslh.nix
@@ -726,6 +724,7 @@
   ./services/networking/tvheadend.nix
   ./services/networking/unbound.nix
   ./services/networking/unifi.nix
+  ./services/networking/v2ray.nix
   ./services/networking/vsftpd.nix
   ./services/networking/wakeonlan.nix
   ./services/networking/websockify.nix
@@ -817,6 +816,7 @@
   ./services/web-apps/restya-board.nix
   ./services/web-apps/tt-rss.nix
   ./services/web-apps/trac.nix
+  ./services/web-apps/trilium.nix
   ./services/web-apps/selfoss.nix
   ./services/web-apps/shiori.nix
   ./services/web-apps/virtlyst.nix
@@ -844,6 +844,7 @@
   ./services/web-servers/shellinabox.nix
   ./services/web-servers/tomcat.nix
   ./services/web-servers/traefik.nix
+  ./services/web-servers/ttyd.nix
   ./services/web-servers/uwsgi.nix
   ./services/web-servers/varnish/default.nix
   ./services/web-servers/zope2.nix
@@ -870,6 +871,7 @@
   ./services/x11/hardware/digimend.nix
   ./services/x11/hardware/cmt.nix
   ./services/x11/gdk-pixbuf.nix
+  ./services/x11/imwheel.nix
   ./services/x11/redshift.nix
   ./services/x11/urxvtd.nix
   ./services/x11/window-managers/awesome.nix
@@ -940,7 +942,6 @@
   ./tasks/filesystems/vfat.nix
   ./tasks/filesystems/xfs.nix
   ./tasks/filesystems/zfs.nix
-  ./tasks/kbd.nix
   ./tasks/lvm.nix
   ./tasks/network-interfaces.nix
   ./tasks/network-interfaces-systemd.nix
diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix
index 649f5564ac6..d80456cede5 100644
--- a/nixos/modules/profiles/graphical.nix
+++ b/nixos/modules/profiles/graphical.nix
@@ -9,14 +9,12 @@
     displayManager.sddm.enable = true;
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
     };
     libinput.enable = true; # for touchpad support on many laptops
   };
 
   # Enable sound in virtualbox appliances.
   hardware.pulseaudio.enable = true;
-  hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root.
 
   environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
 }
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 250d8c252a3..83bcfe886aa 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -23,7 +23,8 @@ with lib;
   ###### implementation
   config = mkIf config.programs.adb.enable {
     services.udev.packages = [ pkgs.android-udev-rules ];
-    environment.systemPackages = [ pkgs.androidenv.androidPkgs_9_0.platform-tools ];
+    # Give platform-tools lower priority so mke2fs+friends are taken from other packages first
+    environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ];
     users.groups.adbusers = {};
   };
 }
diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix
index 548babac38c..366c07c0a35 100644
--- a/nixos/modules/programs/bash/bash.nix
+++ b/nixos/modules/programs/bash/bash.nix
@@ -40,6 +40,10 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
+  ];
+
   options = {
 
     programs.bash = {
diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix
index eeebc3558bd..e0e2ffd80cf 100644
--- a/nixos/modules/programs/dconf.nix
+++ b/nixos/modules/programs/dconf.nix
@@ -32,13 +32,13 @@ in
     environment.etc = optionals (cfg.profiles != {})
       (mapAttrsToList mkDconfProfile cfg.profiles);
 
-    services.dbus.packages = [ pkgs.gnome3.dconf ];
+    services.dbus.packages = [ pkgs.dconf ];
 
     # For dconf executable
-    environment.systemPackages = [ pkgs.gnome3.dconf ];
+    environment.systemPackages = [ pkgs.dconf ];
 
     # Needed for unwrapped applications
-    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.gnome3.dconf.lib}/lib/gio/modules" ];
+    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
   };
 
 }
diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix
index e42219e9638..1b806071c43 100644
--- a/nixos/modules/programs/nm-applet.nix
+++ b/nixos/modules/programs/nm-applet.nix
@@ -10,5 +10,7 @@
       partOf = [ "graphical-session.target" ];
       serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
     };
+
+    services.dbus.packages = [ pkgs.gcr ];
   };
 }
diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix
index 720c29b1eae..a039b0623b5 100644
--- a/nixos/modules/programs/oblogout.nix
+++ b/nixos/modules/programs/oblogout.nix
@@ -1,176 +1,11 @@
-# Global configuration for oblogout.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
-let cfg = config.programs.oblogout;
-
-in
 {
-  ###### interface
-
-  options = {
-
-    programs.oblogout = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to install OBLogout and create <filename>/etc/oblogout.conf</filename>.
-          See <filename>${pkgs.oblogout}/share/doc/README</filename>.
-        '';
-      };
-
-      opacity = mkOption {
-        type = types.int;
-        default = 70;
-        description = ''
-          Opacity percentage of Cairo rendered backgrounds.
-        '';
-      };
-
-      bgcolor = mkOption {
-        type = types.str;
-        default = "black";
-        description = ''
-          Colour name or hex code (#ffffff) of the background color.
-        '';
-      };
-
-      buttontheme = mkOption {
-        type = types.str;
-        default = "simplistic";
-        description = ''
-          Icon theme for the buttons, must be in the themes folder of
-          the package, or in
-          <filename>~/.themes/&lt;name&gt;/oblogout/</filename>.
-        '';
-      };
-
-      buttons = mkOption {
-        type = types.str;
-        default =  "cancel, logout, restart, shutdown, suspend, hibernate";
-        description = ''
-          List and order of buttons to show.
-        '';
-      };
-
-      cancel = mkOption {
-        type = types.str;
-        default =  "Escape";
-        description = ''
-          Cancel logout/shutdown shortcut.
-        '';
-      };
-
-      shutdown = mkOption {
-        type = types.str;
-        default = "S";
-        description = ''
-          Shutdown shortcut.
-        '';
-      };
-
-      restart = mkOption {
-        type = types.str;
-        default = "R";
-        description = ''
-          Restart shortcut.
-        '';
-      };
-
-      suspend = mkOption {
-        type = types.str;
-        default = "U";
-        description = ''
-          Suspend shortcut.
-        '';
-      };
-
-      logout = mkOption {
-        type = types.str;
-        default = "L";
-        description = ''
-          Logout shortcut.
-        '';
-      };
-
-      lock = mkOption {
-        type = types.str;
-        default = "K";
-        description = ''
-          Lock session shortcut.
-        '';
-      };
-
-      hibernate = mkOption {
-        type = types.str;
-        default =  "H";
-        description = ''
-          Hibernate shortcut.
-        '';
-      };
-
-      clogout = mkOption {
-        type = types.str;
-        default = "openbox --exit";
-        description = ''
-          Command to logout.
-        '';
-      };
-
-      clock = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to lock screen.
-        '';
-      };
-
-      cswitchuser = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to switch user.
-        '';
-      };
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.oblogout ];
-
-    environment.etc."oblogout.conf".text = ''
-      [settings]
-      usehal = false
-
-      [looks]
-      opacity = ${toString cfg.opacity}
-      bgcolor = ${cfg.bgcolor}
-      buttontheme = ${cfg.buttontheme}
-      buttons = ${cfg.buttons}
 
-      [shortcuts]
-      cancel = ${cfg.cancel}
-      shutdown = ${cfg.shutdown}
-      restart = ${cfg.restart}
-      suspend = ${cfg.suspend}
-      logout = ${cfg.logout}
-      lock = ${cfg.lock}
-      hibernate = ${cfg.hibernate}
+  imports = [
+    (mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
+  ];
 
-      [commands]
-      shutdown = systemctl poweroff
-      restart = systemctl reboot
-      suspend = systemctl suspend
-      hibernate = systemctl hibernate
-      logout = ${cfg.clogout}
-      lock = ${cfg.clock}
-      switchuser = ${cfg.cswitchuser}
-    '';
-  };
 }
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index 703975fd06c..80198990ed1 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -251,7 +251,7 @@ in
             ExecStart =
                 "${cfg.package}/bin/ssh-agent " +
                 optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") +
-                optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ")
+                optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") +
                 "-a %t/ssh-agent";
             StandardOutput = "null";
             Type = "forking";
diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix
index 0e060e3f522..f794eac8af0 100644
--- a/nixos/modules/programs/ssmtp.nix
+++ b/nixos/modules/programs/ssmtp.nix
@@ -8,18 +8,21 @@
 with lib;
 
 let
-
-  cfg = config.networking.defaultMailServer;
+  cfg = config.services.ssmtp;
 
 in
-
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
+    (mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
+  ];
+
   options = {
 
-    networking.defaultMailServer = {
+    services.ssmtp = {
 
-      directDelivery = mkOption {
+      enable = mkOption {
         type = types.bool;
         default = false;
         description = ''
@@ -29,7 +32,7 @@ in
           <command>sendmail</command> or <command>postfix</command> on
           your machine, set this option to <literal>true</literal>, and
           set the option
-          <option>networking.defaultMailServer.hostName</option> to the
+          <option>services.ssmtp.hostName</option> to the
           host name of your preferred mail server.
         '';
       };
@@ -129,9 +132,9 @@ in
   };
 
 
-  config = mkIf cfg.directDelivery {
+  config = mkIf cfg.enable {
 
-    networking.defaultMailServer.authPassFile = mkIf (cfg.authPass != "")
+    services.ssmtp.authPassFile = mkIf (cfg.authPass != "")
       (mkDefault (toString (pkgs.writeTextFile {
         name = "ssmtp-authpass";
         text = cfg.authPass;
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index f92d09a7ef4..e2a4018e902 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -4,26 +4,32 @@ with lib;
 
 let
   cfg = config.programs.sway;
-  swayPackage = pkgs.sway;
 
-  swayWrapped = pkgs.writeShellScriptBin "sway" ''
-    set -o errexit
-
-    if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
-      export _SWAY_WRAPPER_ALREADY_EXECUTED=1
-      ${cfg.extraSessionCommands}
-    fi
+  wrapperOptions = types.submodule {
+    options =
+      let
+        mkWrapperFeature  = default: description: mkOption {
+          type = types.bool;
+          inherit default;
+          example = !default;
+          description = "Whether to make use of the ${description}";
+        };
+      in {
+        base = mkWrapperFeature true ''
+          base wrapper to execute extra session commands and prepend a
+          dbus-run-session to the sway command.
+        '';
+        gtk = mkWrapperFeature false ''
+          wrapGAppsHook wrapper to execute sway with required environment
+          variables for GTK applications.
+        '';
+    };
+  };
 
-    if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
-      export DBUS_SESSION_BUS_ADDRESS
-      exec ${swayPackage}/bin/sway "$@"
-    else
-      exec ${pkgs.dbus}/bin/dbus-run-session ${swayPackage}/bin/sway "$@"
-    fi
-  '';
-  swayJoined = pkgs.symlinkJoin {
-    name = "sway-joined";
-    paths = [ swayWrapped swayPackage ];
+  swayPackage = pkgs.sway.override {
+    extraSessionCommands = cfg.extraSessionCommands;
+    withBaseWrapper = cfg.wrapperFeatures.base;
+    withGtkWrapper = cfg.wrapperFeatures.gtk;
   };
 in {
   options.programs.sway = {
@@ -35,6 +41,15 @@ in {
       Please have a look at the "extraSessionCommands" example for running
       programs natively under Wayland'';
 
+    wrapperFeatures = mkOption {
+      type = wrapperOptions;
+      default = { };
+      example = { gtk = true; };
+      description = ''
+        Attribute set of features to enable in the wrapper.
+      '';
+    };
+
     extraSessionCommands = mkOption {
       type = types.lines;
       default = "";
@@ -55,7 +70,7 @@ in {
     extraPackages = mkOption {
       type = with types; listOf package;
       default = with pkgs; [
-        swaylock swayidle swaybg
+        swaylock swayidle
         xwayland rxvt_unicode dmenu
       ];
       defaultText = literalExample ''
@@ -75,8 +90,17 @@ in {
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.extraSessionCommands != "" -> cfg.wrapperFeatures.base;
+        message = ''
+          The extraSessionCommands for Sway will not be run if
+          wrapperFeatures.base is disabled.
+        '';
+      }
+    ];
     environment = {
-      systemPackages = [ swayJoined ] ++ cfg.extraPackages;
+      systemPackages = [ swayPackage ] ++ cfg.extraPackages;
       etc = {
         "sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
         #"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/";
@@ -87,6 +111,8 @@ in {
     hardware.opengl.enable = mkDefault true;
     fonts.enableDefaultFonts = mkDefault true;
     programs.dconf.enable = mkDefault true;
+    # To make a Sway session available if a display manager like SDDM is enabled:
+    services.xserver.displayManager.sessionPackages = [ swayPackage ];
   };
 
   meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix
index f4df4e983e4..932a780a356 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -29,6 +29,13 @@ let
 
 in
   {
+    imports = [
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
+      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
+    ];
+
     options = {
       programs.zsh.ohMyZsh = {
         enable = mkOption {
diff --git a/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/nixos/modules/programs/zsh/zsh-autosuggestions.nix
index ded17f38a61..037888fdc5a 100644
--- a/nixos/modules/programs/zsh/zsh-autosuggestions.nix
+++ b/nixos/modules/programs/zsh/zsh-autosuggestions.nix
@@ -6,6 +6,10 @@ let
   cfg = config.programs.zsh.autosuggestions;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
+  ];
+
   options.programs.zsh.autosuggestions = {
 
     enable = mkEnableOption "zsh-autosuggestions";
diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
index 7184e5d9b9a..927a904369d 100644
--- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
+++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
@@ -6,6 +6,13 @@ let
   cfg = config.programs.zsh.syntaxHighlighting;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
+    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
+  ];
+
   options = {
     programs.zsh.syntaxHighlighting = {
       enable = mkEnableOption "zsh-syntax-highlighting";
@@ -81,7 +88,7 @@ in
     ];
 
     programs.zsh.interactiveShellInit = with pkgs;
-      lib.concatStringsSep "\n" ([
+      lib.mkAfter (lib.concatStringsSep "\n" ([
         "source ${zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
       ] ++ optional (length(cfg.highlighters) > 0)
         "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
@@ -95,6 +102,6 @@ in
             styles: design:
             "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'"
           ) cfg.styles)
-      );
+      ));
   };
 }
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 886e2e83ba6..7109ab5a109 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -4,292 +4,30 @@ with lib;
 
 {
   imports = [
-    (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
-    (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
-    (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
-      (config:
-        let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
-        in if enabled then [ pkgs.gutenprint ] else [ ]))
-    (mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
-      (config:
-        let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
-        in if value != "" then [ value ] else []))
-    (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
-    (mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ])
-    (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"])
-    (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "")
-    (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ])
-    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ])
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "")
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "")
-    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "allowPrivileged" ] "")
-    (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"])
-    (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "")
-    (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "enableHttps" ] [ "services" "neo4j" "https" "enable" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "certDir" ] [ "services" "neo4j" "directories" "certificates" ])
-    (mkRenamedOptionModule [ "services" "neo4j" "dataDir" ] [ "services" "neo4j" "directories" "home" ])
-    (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
-    (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
-    (mkRemovedOptionModule [ "services" "prometheus" "alertmanagerURL" ] ''
-      Due to incompatibility, the alertmanagerURL option has been removed,
-      please use 'services.prometheus2.alertmanagers' instead.
-    '')
-    (mkRenamedOptionModule [ "services" "prometheus2" ] [ "services" "prometheus" ])
-    (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
-    (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
-    (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
+    /*
+    This file defines some renaming/removing options for backwards compatibility
 
-    (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
-    (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
-
-    (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
-
-    (mkRemovedOptionModule [ "services" "pykms" "verbose" ] "Use services.pykms.logLevel instead")
-
-    (mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead")
-    (mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead")
-
-    (mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ])
-
-    # PAM
-    (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
-
-    # rmilter/rspamd
-    (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service")
-
-    # Xsession script
-    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
-    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
-
-    # Old Grub-related options.
-    (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ])
-    (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ])
-
-    # OpenSSH
-    (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
-    (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
-
-    # libvirtd
-    (mkRemovedOptionModule [ "virtualisation" "libvirtd" "enableKVM" ]
-      "Set the option `virtualisation.libvirtd.qemuPackage' instead.")
-
-    # ibus
-    (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ])
-
-    # sandboxing
-    (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ])
-    (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
-
-    (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
+    It should ONLY be used when the relevant module can't define these imports
+    itself, such as when the module was removed completely.
+    See https://github.com/NixOS/nixpkgs/pull/61570 for explanation
+    */
 
+    # This alias module can't be where _module.check is defined because it would
+    # be added to submodules as well there
     (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
 
-    # opendkim
-    (mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ])
-
-    # Enlightenment
-    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
-
-    # Iodine
-    (mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
-    (mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
-    (mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
-    (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
-    (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
-
-    # Unity3D
-    (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
-
-    # murmur
-    (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
-    (mkRemovedOptionModule [ "services" "murmur" "pidfile" ] "Hardcoded to /run/murmur/murmurd.pid now")
-
-    # parsoid
-    (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead")
-
-    # plexpy / tautulli
-    (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ])
-
-    # piwik was renamed to matomo
-    (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
-    (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ])
-    (mkRemovedOptionModule [ "services" "piwik" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
-    (mkRemovedOptionModule [ "services" "matomo" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
-    (mkRenamedOptionModule [ "services" "piwik" "nginx" ] [ "services" "matomo" "nginx" ])
-
-    # tarsnap
-    (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
-
-    # alsa
-    (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
-
-    # postgrey
-    (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
-        value = p: getAttrFromPath p config;
-        inetAddr = [ "services" "postgrey" "inetAddr" ];
-        inetPort = [ "services" "postgrey" "inetPort" ];
-      in
-        if value inetAddr == null
-        then { path = "/run/postgrey.sock"; }
-        else { addr = value inetAddr; port = value inetPort; }
-    ))
-
-    # dhcpd
-    (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
-
-    # locate
-    (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
-    (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
-
-    # nfs
-    (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
-    (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
-
-    # KDE Plasma 5
-    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
-
-    # Fontconfig
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ])
-    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
-
-    # postgresqlBackup
-    (mkRemovedOptionModule [ "services" "postgresqlBackup" "period" ] ''
-       A systemd timer is now used instead of cron.
-       The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
-    '')
-
-    # phpfpm
-    (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
-
-    # zabbixServer
-    (mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
-
-    # Profile splitting
-    (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ])
-
-    # misc/version.nix
-    (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
-    (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
-    (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
-    (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
-
-    # Users
-    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
-    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
-
-    # Options that are obsolete and have no replacement.
-    (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
-    (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
-    (mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
-    (mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "")
-    (mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "")
-    (mkRemovedOptionModule [ "ec2" "metadata" ] "")
-    (mkRemovedOptionModule [ "services" "openvpn" "enable" ] "")
-    (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "")
-    (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "")
-    (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.")
-    (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.")
-    (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
-      "See the 16.09 release notes for more information.")
-    (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
-    (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
+    # Completely removed modules
     (mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "")
     (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
-    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
-      "Set the option `services.xserver.displayManager.sddm.package' instead.")
-    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
-    (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
-    (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
-    (mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash")
-    (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
-    (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd")
-    (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
-    (mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
-    (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
-
-    # ZSH
-    (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
-
-    (mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
-
-    # Xen
-    (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
-
-    (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
-    (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
-    (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
-
-    # ckb
-    (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ])
-    (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ])
-
-    # binfmt
-    (mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ])
-
-    # ACME
-    (mkRemovedOptionModule [ "security" "acme" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.")
-    (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
-    (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
-
-    # KSM
-    (mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ])
-
-    # resolvconf
-    (mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ])
-    (mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ])
-    (mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ])
-    (mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ])
-
-    # BLCR
+    (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
     (mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
-
-    # Redis
-    (mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.")
-    (mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.")
-    (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
-    (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
-    (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
-
-  ] ++ (forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
-                   "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
-                   "snmpExporter" "unifiExporter" "varnishExporter" ]
-       (opt: mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
-         The prometheus exporters are now configured using `services.prometheus.exporters'.
-         See the 18.03 release notes for more information.
-       '' ));
+    (mkRemovedOptionModule [ "services.beegfsEnable" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services.beegfs" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services.osquery" ] "The osquery module has been removed")
+    (mkRemovedOptionModule [ "services.fourStore" ] "The fourStore module has been removed")
+    (mkRemovedOptionModule [ "services.fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
+
+    # Do NOT add any option renames here, see top of the file
+  ];
 }
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index d14613f22b0..890c421b0ea 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -127,6 +127,9 @@ in
       "https://acme-staging-v02.api.letsencrypt.org/directory".
     ''
     )
+    (mkRemovedOptionModule [ "security" "acme" "directory"] "ACME Directory is now hardcoded to /var/lib/acme and its permisisons are managed by systemd. See https://github.com/NixOS/nixpkgs/issues/53852 for more info.")
+    (mkRemovedOptionModule [ "security" "acme" "preDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
+    (mkRemovedOptionModule [ "security" "acme" "activationDelay"] "This option has been removed. If you want to make sure that something executes before certificates are provisioned, add a RequiredBy=acme-\${cert}.service to the service you want to execute before the cert renewal")
   ];
   options = {
     security.acme = {
@@ -224,6 +227,12 @@ in
                   environment.REQUESTS_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt";
                   serviceConfig = {
                     Type = "oneshot";
+                    # With RemainAfterExit the service is considered active even
+                    # after the main process having exited, which means when it
+                    # gets changed, the activation phase restarts it, meaning
+                    # the permissions of the StateDirectory get adjusted
+                    # according to the specified group
+                    RemainAfterExit = true;
                     SuccessExitStatus = [ "0" "1" ];
                     User = data.user;
                     Group = data.group;
@@ -232,9 +241,9 @@ in
                     StateDirectoryMode = rights;
                     WorkingDirectory = "/var/lib/${lpath}";
                     ExecStart = "${pkgs.simp_le}/bin/simp_le ${escapeShellArgs cmdline}";
-                    ExecStopPost =
+                    ExecStartPost =
                       let
-                        script = pkgs.writeScript "acme-post-stop" ''
+                        script = pkgs.writeScript "acme-post-start" ''
                           #!${pkgs.runtimeShell} -e
                           ${data.postRun}
                         '';
diff --git a/nixos/modules/security/apparmor-suid.nix b/nixos/modules/security/apparmor-suid.nix
index 498c2f25d1c..3c93f5440ab 100644
--- a/nixos/modules/security/apparmor-suid.nix
+++ b/nixos/modules/security/apparmor-suid.nix
@@ -4,6 +4,9 @@ let
 in
 with lib;
 {
+  imports = [
+    (mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ])
+  ];
 
   options.security.apparmor.confineSUIDApplications = mkOption {
     default = true;
diff --git a/nixos/modules/security/chromium-suid-sandbox.nix b/nixos/modules/security/chromium-suid-sandbox.nix
index 2255477f26e..b83dbc4202a 100644
--- a/nixos/modules/security/chromium-suid-sandbox.nix
+++ b/nixos/modules/security/chromium-suid-sandbox.nix
@@ -7,6 +7,10 @@ let
   sandbox = pkgs.chromium.sandbox;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
+  ];
+
   options.security.chromiumSuidSandbox.enable = mkOption {
     type = types.bool;
     default = false;
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 11227354ad3..0adc27c47f0 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -484,6 +484,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
+  ];
+
   ###### interface
 
   options = {
@@ -707,7 +711,7 @@ in
 
           Use "challenge-response" for offline validation using YubiKeys with HMAC-SHA-1
           Challenge-Response configurations. See the man-page ykpamcfg(1) for further
-          details on how to configure offline Challenge-Response validation. 
+          details on how to configure offline Challenge-Response validation.
 
           More information can be found <link
           xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix
index f2b2df4004c..a6724bd7583 100644
--- a/nixos/modules/security/polkit.nix
+++ b/nixos/modules/security/polkit.nix
@@ -42,15 +42,14 @@ in
 
     security.polkit.adminIdentities = mkOption {
       type = types.listOf types.str;
-      default = [ "unix-user:0" "unix-group:wheel" ];
+      default = [ "unix-group:wheel" ];
       example = [ "unix-user:alice" "unix-group:admin" ];
       description =
         ''
           Specifies which users are considered “administrators”, for those
           actions that require the user to authenticate as an
           administrator (i.e. have an <literal>auth_admin</literal>
-          value).  By default, this is the <literal>root</literal>
-          user and all users in the <literal>wheel</literal> group.
+          value).  By default, this is all users in the <literal>wheel</literal> group.
         '';
     };
 
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index 47738e7962e..a0fadb018ec 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -94,6 +94,10 @@ let
       ) programs;
 in
 {
+  imports = [
+    (lib.mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead")
+    (lib.mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead")
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix
index da81be3f23e..885eaed1de6 100644
--- a/nixos/modules/services/admin/oxidized.nix
+++ b/nixos/modules/services/admin/oxidized.nix
@@ -111,6 +111,7 @@ in
         Restart  = "always";
         WorkingDirectory = cfg.dataDir;
         KillSignal = "SIGKILL";
+        PIDFile = "${cfg.dataDir}.config/oxidized/pid";
       };
     };
   };
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index f632644af09..990398e6546 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -12,6 +12,9 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 56dc858b640..7932d094197 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -18,7 +18,6 @@ let
     ''}
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
-    log_file            "syslog"
     user                "${cfg.user}"
     group               "${cfg.group}"
 
diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix
index 4eda3c5708d..6aed485638c 100644
--- a/nixos/modules/services/audio/roon-server.nix
+++ b/nixos/modules/services/audio/roon-server.nix
@@ -66,7 +66,8 @@ in {
       if cfg.user == "roon-server" then {
         isSystemUser = true;
         description = "Roon Server user";
-        groups = [ cfg.group "audio" ];
+        group = cfg.group;
+        extraGroups = [ "audio" ];
       }
       else {};
   };
diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix
index 41bda7893a7..cef304734ae 100644
--- a/nixos/modules/services/backup/bacula.nix
+++ b/nixos/modules/services/backup/bacula.nix
@@ -44,7 +44,17 @@ let
         Pid Directory = "/run";
         ${sd_cfg.extraStorageConfig}
       }
- 
+
+      ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
+      Autochanger {
+        Name = "${name}";
+        Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)};
+        Changer Device =  "${value.changerDevice}";
+        Changer Command = "${value.changerCommand}";
+        ${value.extraAutochangerConfig}
+      }
+      '') sd_cfg.autochanger)}
+
       ${concatStringsSep "\n" (mapAttrsToList (name: value: ''
       Device {
         Name = "${name}";
@@ -103,7 +113,19 @@ let
       password = mkOption {
         # TODO: required?
         description = ''
-           Specifies the password that must be supplied for a Director to b
+          Specifies the password that must be supplied for the default Bacula
+          Console to be authorized. The same password must appear in the
+          Director resource of the Console configuration file. For added
+          security, the password is never passed across the network but instead
+          a challenge response hash code created with the password. This
+          directive is required. If you have either /dev/random or bc on your
+          machine, Bacula will generate a random password during the
+          configuration process, otherwise it will be left blank and you must
+          manually supply it.
+
+          The password is plain text. It is not generated through any special
+          process but as noted above, it is better to use random text for
+          security reasons. 
         '';
       };
       
@@ -111,26 +133,133 @@ let
         default = "no";
         example = "yes";
         description = ''
-           If Monitor is set to no (default), this director will have full 
+          If Monitor is set to <literal>no</literal>, this director will have
+          full access to this Storage daemon. If Monitor is set to
+          <literal>yes</literal>, this director will only be able to fetch the
+          current status of this Storage daemon.
+
+          Please note that if this director is being used by a Monitor, we
+          highly recommend to set this directive to yes to avoid serious
+          security problems. 
+        '';
+      };
+    };
+  };
+
+  autochangerOptions = {...}:
+  {
+    options = {
+      changerDevice = mkOption {
+        description = ''
+          The specified name-string must be the generic SCSI device name of the
+          autochanger that corresponds to the normal read/write Archive Device
+          specified in the Device resource. This generic SCSI device name
+          should be specified if you have an autochanger or if you have a
+          standard tape drive and want to use the Alert Command (see below).
+          For example, on Linux systems, for an Archive Device name of
+          <literal>/dev/nst0</literal>, you would specify
+          <literal>/dev/sg0</literal> for the Changer Device name.  Depending
+          on your exact configuration, and the number of autochangers or the
+          type of autochanger, what you specify here can vary. This directive
+          is optional. See the Using AutochangersAutochangersChapter chapter of
+          this manual for more details of using this and the following
+          autochanger directives.         
+          '';
+      };
+
+      changerCommand = mkOption {
+        description = ''
+          The name-string specifies an external program to be called that will
+          automatically change volumes as required by Bacula. Normally, this
+          directive will be specified only in the AutoChanger resource, which
+          is then used for all devices. However, you may also specify the
+          different Changer Command in each Device resource. Most frequently,
+          you will specify the Bacula supplied mtx-changer script as follows:
+
+          <literal>"/path/mtx-changer %c %o %S %a %d"</literal>
+
+          and you will install the mtx on your system (found in the depkgs
+          release). An example of this command is in the default bacula-sd.conf
+          file. For more details on the substitution characters that may be
+          specified to configure your autochanger please see the
+          AutochangersAutochangersChapter chapter of this manual. For FreeBSD
+          users, you might want to see one of the several chio scripts in
+          examples/autochangers.
+          '';
+        default = "/etc/bacula/mtx-changer %c %o %S %a %d";
+      };
+
+      devices = mkOption {
+        description = ''
+        '';
+      };
+
+      extraAutochangerConfig = mkOption {
+        default = "";
+        description = ''
+          Extra configuration to be passed in Autochanger directive.
+        '';
+        example = ''
+   
         '';
       };
     };
   };
 
+
   deviceOptions = {...}:
   {
     options = {
       archiveDevice = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string gives the system file name of the storage device managed by this storage daemon. This will usually be the device file name of a removable storage device (tape drive), for example " /dev/nst0" or "/dev/rmt/0mbn". For a DVD-writer, it will be for example /dev/hdc. It may also be a directory name if you are archiving to disk storage.
+          The specified name-string gives the system file name of the storage
+          device managed by this storage daemon. This will usually be the
+          device file name of a removable storage device (tape drive), for
+          example <literal>/dev/nst0</literal> or
+          <literal>/dev/rmt/0mbn</literal>. For a DVD-writer, it will be for
+          example <literal>/dev/hdc</literal>. It may also be a directory name
+          if you are archiving to disk storage. In this case, you must supply
+          the full absolute path to the directory. When specifying a tape
+          device, it is preferable that the "non-rewind" variant of the device
+          file name be given. 
         '';
       };
 
       mediaType = mkOption {
         # TODO: required?
         description = ''
-          The specified name-string names the type of media supported by this device, for example, "DLT7000". Media type names are arbitrary in that you set them to anything you want, but they must be known to the volume database to keep track of which storage daemons can read which volumes. In general, each different storage type should have a unique Media Type associated with it. The same name-string must appear in the appropriate Storage resource definition in the Director's configuration file.
+          The specified name-string names the type of media supported by this
+          device, for example, <literal>DLT7000</literal>. Media type names are
+          arbitrary in that you set them to anything you want, but they must be
+          known to the volume database to keep track of which storage daemons
+          can read which volumes. In general, each different storage type
+          should have a unique Media Type associated with it. The same
+          name-string must appear in the appropriate Storage resource
+          definition in the Director's configuration file.
+
+          Even though the names you assign are arbitrary (i.e. you choose the
+          name you want), you should take care in specifying them because the
+          Media Type is used to determine which storage device Bacula will
+          select during restore. Thus you should probably use the same Media
+          Type specification for all drives where the Media can be freely
+          interchanged. This is not generally an issue if you have a single
+          Storage daemon, but it is with multiple Storage daemons, especially
+          if they have incompatible media.
+
+          For example, if you specify a Media Type of <literal>DDS-4</literal>
+          then during the restore, Bacula will be able to choose any Storage
+          Daemon that handles <literal>DDS-4</literal>. If you have an
+          autochanger, you might want to name the Media Type in a way that is
+          unique to the autochanger, unless you wish to possibly use the
+          Volumes in other drives. You should also ensure to have unique Media
+          Type names if the Media is not compatible between drives. This
+          specification is required for all devices.
+
+          In addition, if you are using disk storage, each Device resource will
+          generally have a different mount point or directory. In order for
+          Bacula to select the correct Device resource, each one must have a
+          unique Media Type.
         '';
       };
 
@@ -166,8 +295,8 @@ in {
         default = "${config.networking.hostName}-fd";
         description = ''
           The client name that must be used by the Director when connecting.
-          Generally, it is a good idea to use a name related to the machine
-          so that error messages can be easily identified if you have multiple
+          Generally, it is a good idea to use a name related to the machine so
+          that error messages can be easily identified if you have multiple
           Clients. This directive is required.
         '';
       };
@@ -232,7 +361,8 @@ in {
         default = 9103;
         type = types.int;
         description = ''
-          Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.
+          Specifies port number on which the Storage daemon listens for
+          Director connections.
         '';
       };
 
@@ -251,7 +381,15 @@ in {
         '';
         type = with types; attrsOf (submodule deviceOptions);
       };
- 
+
+      autochanger = mkOption {
+        default = {};
+        description = ''
+          This option defines Autochanger resources in Bacula Storage Daemon.
+        '';
+        type = with types; attrsOf (submodule autochangerOptions);
+      };
+
       extraStorageConfig = mkOption {
         default = "";
         description = ''
@@ -287,7 +425,8 @@ in {
       name = mkOption {
         default = "${config.networking.hostName}-dir";
         description = ''
-          The director name used by the system administrator. This directive is required.
+          The director name used by the system administrator. This directive is
+          required.
         '';
       };
  
@@ -295,7 +434,12 @@ in {
         default = 9101;
         type = types.int;
         description = ''
-          Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.
+          Specify the port (a positive integer) on which the Director daemon
+          will listen for Bacula Console connections. This same port number
+          must be specified in the Director resource of the Console
+          configuration file. The default is 9101, so normally this directive
+          need not be specified. This directive should not be used if you
+          specify DirAddresses (N.B plural) directive.
         '';
       };
  
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 10d42325a6b..a2eb80c55a8 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -68,7 +68,7 @@ let
       { BORG_PASSPHRASE = passphrase; }
     else { };
 
-  mkBackupService = name: cfg: 
+  mkBackupService = name: cfg:
     let
       userHome = config.users.users.${cfg.user}.home;
     in nameValuePair "borgbackup-job-${name}" {
@@ -98,6 +98,23 @@ let
       inherit (cfg) startAt;
     };
 
+  # utility function around makeWrapper
+  mkWrapperDrv = {
+      original, name, set ? {}
+    }:
+    pkgs.runCommandNoCC "${name}-wrapper" {
+      buildInputs = [ pkgs.makeWrapper ];
+    } (with lib; ''
+      makeWrapper "${original}" "$out/bin/${name}" \
+        ${concatStringsSep " \\\n " (mapAttrsToList (name: value: ''--set ${name} "${value}"'') set)}
+    '');
+
+  mkBorgWrapper = name: cfg: mkWrapperDrv {
+    original = "${pkgs.borgbackup}/bin/borg";
+    name = "borg-job-${name}";
+    set = { BORG_REPO = cfg.repo; } // (mkPassEnv cfg) // cfg.environment;
+  };
+
   # Paths listed in ReadWritePaths must exist before service is started
   mkActivationScript = name: cfg:
     let
@@ -176,7 +193,11 @@ in {
   ###### interface
 
   options.services.borgbackup.jobs = mkOption {
-    description = "Deduplicating backups using BorgBackup.";
+    description = ''
+      Deduplicating backups using BorgBackup.
+      Adding a job will cause a borg-job-NAME wrapper to be added
+      to your system path, so that you can perform maintenance easily.
+    '';
     default = { };
     example = literalExample ''
       {
@@ -623,6 +644,6 @@ in {
 
       users = mkMerge (mapAttrsToList mkUsersConfig repos);
 
-      environment.systemPackages = with pkgs; [ borgbackup ];
+      environment.systemPackages = with pkgs; [ borgbackup ] ++ (mapAttrsToList mkBorgWrapper jobs);
     });
 }
diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix
index 13a36ae32ac..580c7ce68f1 100644
--- a/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixos/modules/services/backup/postgresql-backup.nix
@@ -35,6 +35,13 @@ let
 
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "postgresqlBackup" "period" ] ''
+       A systemd timer is now used instead of cron.
+       The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
+    '')
+  ];
+
   options = {
     services.postgresqlBackup = {
       enable = mkOption {
@@ -82,7 +89,7 @@ in {
 
       pgdumpOptions = mkOption {
         type = types.separatedString " ";
-        default = "-Cbo";
+        default = "-C";
         description = ''
           Command line options for pg_dump. This options is not used
           if <literal>config.services.postgresqlBackup.backupAll</literal> is enabled.
diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix
index 4fc7c24813a..6d99a1efb61 100644
--- a/nixos/modules/services/backup/tarsnap.nix
+++ b/nixos/modules/services/backup/tarsnap.nix
@@ -23,6 +23,10 @@ let
   '';
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives.<name>.cachedir")
+  ];
+
   options = {
     services.tarsnap = {
       enable = mkOption {
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
index 70f96d75a46..2ed7742eda0 100644
--- a/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
+++ b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix
@@ -5,6 +5,10 @@ with lib;
 let
   cfg = config.services.kubernetes.addons.dashboard;
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ])
+  ];
+
   options.services.kubernetes.addons.dashboard = {
     enable = mkEnableOption "kubernetes dashboard addon";
 
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 47e588de3c9..f12e866930d 100644
--- a/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  version = "1.5.0";
+  version = "1.6.4";
   cfg = config.services.kubernetes.addons.dns;
   ports = {
     dns = 10053;
@@ -55,9 +55,9 @@ in {
       type = types.attrs;
       default = {
         imageName = "coredns/coredns";
-        imageDigest = "sha256:e83beb5e43f8513fa735e77ffc5859640baea30a882a11cc75c4c3244a737d3c";
+        imageDigest = "sha256:493ee88e1a92abebac67cbd4b5658b4730e0f33512461442d8d9214ea6734a9b";
         finalImageTag = version;
-        sha256 = "15sbmhrxjxidj0j0cccn1qxpg6al175w43m6ngspl0mc132zqc9q";
+        sha256 = "0fm9zdjavpf5hni8g7fkdd3csjbhd7n7py7llxjc66sbii087028";
       };
     };
   };
@@ -68,7 +68,7 @@ in {
 
     services.kubernetes.addonManager.bootstrapAddons = {
       coredns-cr = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRole";
         metadata = {
           labels = {
@@ -94,7 +94,7 @@ in {
       };
 
       coredns-crb = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRoleBinding";
         metadata = {
           annotations = {
@@ -170,7 +170,7 @@ in {
       };
 
       coredns-deploy = {
-        apiVersion = "extensions/v1beta1";
+        apiVersion = "apps/v1";
         kind = "Deployment";
         metadata = {
           labels = {
diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix
index 33796bf2e08..95bdb4c0d14 100644
--- a/nixos/modules/services/cluster/kubernetes/apiserver.nix
+++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix
@@ -13,6 +13,18 @@ let
   )) + ".1");
 in
 {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"])
+    (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"])
+    (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "")
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ])
+    (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ])
+  ];
+
   ###### interface
   options.services.kubernetes.apiserver = with lib.types; {
 
diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
index 0b73d090f24..a99ef6640e9 100644
--- a/nixos/modules/services/cluster/kubernetes/controller-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix
@@ -7,6 +7,11 @@ let
   cfg = top.controllerManager;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"])
+    (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"])
+  ];
+
   ###### interface
   options.services.kubernetes.controllerManager = with lib.types; {
 
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index 3790ac9b691..3605d036509 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -74,6 +74,10 @@ let
   };
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "")
+  ];
+
   ###### interface
 
   options.services.kubernetes = {
diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix
index d799e638fc9..548ffed1ddb 100644
--- a/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -40,6 +40,7 @@ in
       cni.config = mkDefault [{
         name = "mynet";
         type = "flannel";
+        cniVersion = "0.3.1";
         delegate = {
           isDefaultGateway = true;
           bridge = "docker0";
diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 250da4c807e..c3d67552cc8 100644
--- a/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -52,6 +52,12 @@ let
   taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.taints);
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "")
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "")
+    (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "allowPrivileged" ] "")
+  ];
+
   ###### interface
   options.services.kubernetes.kubelet = with lib.types; {
 
@@ -92,7 +98,7 @@ in
         default = [];
         example = literalExample ''
           [{
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "name": "mynet",
             "type": "bridge",
             "bridge": "cni0",
@@ -106,7 +112,7 @@ in
                 ]
             }
           } {
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "type": "loopback"
           }]
         '';
diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix
index bd4bf04ea83..86d1dc2439b 100644
--- a/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -7,6 +7,9 @@ let
   cfg = top.proxy;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"])
+  ];
 
   ###### interface
   options.services.kubernetes.proxy = with lib.types; {
@@ -31,6 +34,12 @@ in
       type = listOf str;
     };
 
+    hostname = mkOption {
+      description = "Kubernetes proxy hostname override.";
+      default = config.networking.hostName;
+      type = str;
+    };
+
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy";
 
     verbosity = mkOption {
@@ -59,6 +68,7 @@ in
             "--cluster-cidr=${top.clusterCidr}"} \
           ${optionalString (cfg.featureGates != [])
             "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
+          --hostname-override=${cfg.hostname} \
           --kubeconfig=${top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig} \
           ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \
           ${cfg.extraOpts}
@@ -69,6 +79,8 @@ in
       };
     };
 
+    services.kubernetes.proxy.hostname = with config.networking; mkDefault hostName;
+
     services.kubernetes.pki.certs = {
       kubeProxyClient = top.lib.mkCert {
         name = "kube-proxy-client";
diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
index d1a1383e45b..c70d999ca96 100644
--- a/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -18,7 +18,7 @@ let
       ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
       ${toString (map (x: "NodeName=${x}\n") cfg.nodeName)}
       ${toString (map (x: "PartitionName=${x}\n") cfg.partitionName)}
-      PlugStackConfig=${plugStackConfig}
+      PlugStackConfig=${plugStackConfig}/plugstack.conf
       ProctrackType=${cfg.procTrackType}
       ${cfg.extraConfig}
     '';
@@ -39,6 +39,8 @@ let
      DbdHost=${cfg.dbdserver.dbdHost}
      SlurmUser=${cfg.user}
      StorageType=accounting_storage/mysql
+     StorageUser=${cfg.dbdserver.storageUser}
+     ${optionalString (cfg.dbdserver.storagePass != null) "StoragePass=${cfg.dbdserver.storagePass}"}
      ${cfg.dbdserver.extraConfig}
    '';
 
@@ -48,7 +50,6 @@ let
     name = "etc-slurm";
     paths = [ configFile cgroupConfig plugStackConfig ] ++ cfg.extraConfigPaths;
   };
-
 in
 
 {
@@ -86,6 +87,37 @@ in
           '';
         };
 
+        storageUser = mkOption {
+          type = types.str;
+          default = cfg.user;
+          description = ''
+            Database user name.
+          '';
+        };
+
+        storagePass = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Database password. Note that this password will be publicable
+            readable in the nix store. Use <option>configFile</option>
+            to store the and config file and password outside the nix store.
+          '';
+        };
+
+        configFile = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Path to <literal>slurmdbd.conf</literal>. The password for the database connection
+            is stored in the config file. Use this option to specfify a path
+            outside the nix store. If this option is unset a configuration file
+            will be generated. See also:
+            <citerefentry><refentrytitle>slurmdbd.conf</refentrytitle>
+            <manvolnum>8</manvolnum></citerefentry>.
+          '';
+        };
+
         extraConfig = mkOption {
           type = types.lines;
           default = "";
@@ -112,7 +144,7 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.slurm;
+        default = pkgs.slurm.override { enableX11 = ! cfg.enableSrunX11; };
         defaultText = "pkgs.slurm";
         example = literalExample "pkgs.slurm-full";
         description = ''
@@ -178,9 +210,14 @@ in
           If enabled srun will accept the option "--x11" to allow for X11 forwarding
           from within an interactive session or a batch job. This activates the
           slurm-spank-x11 module. Note that this option also enables
-          'services.openssh.forwardX11' on the client.
+          <option>services.openssh.forwardX11</option> on the client.
 
           This option requires slurm to be compiled without native X11 support.
+          The default behavior is to re-compile the slurm package with native X11
+          support disabled if this option is set to true.
+
+          To use the native X11 support add <literal>PrologFlags=X11</literal> in <option>extraConfig</option>.
+          Note that this method will only work RSA SSH host keys.
         '';
       };
 
@@ -356,7 +393,11 @@ in
       requires = [ "munged.service" "mysql.service" ];
 
       # slurm strips the last component off the path
-      environment.SLURM_CONF = "${slurmdbdConf}/slurm.conf";
+      environment.SLURM_CONF =
+        if (cfg.dbdserver.configFile == null) then
+          "${slurmdbdConf}/slurm.conf"
+        else
+          cfg.dbdserver.configFile;
 
       serviceConfig = {
         Type = "forking";
diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix
deleted file mode 100644
index 59ed0e5f0af..00000000000
--- a/nixos/modules/services/databases/4store-endpoint.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.services.fourStoreEndpoint;
-  endpointUser = "fourstorehttp";
-  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${endpointUser} -c";
-in
-with lib;
-{
-
-  ###### interface
-
-  options = {
-
-    services.fourStoreEndpoint = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable 4Store SPARQL endpoint.";
-      };
-
-      database = mkOption {
-        default = config.services.fourStore.database;
-        description = "RDF database name to expose via the endpoint. Defaults to local 4Store database name.";
-      };
-
-      listenAddress = mkOption {
-        default = null;
-        description = "IP address to listen on.";
-      };
-
-      port = mkOption {
-        default = 8080;
-        description = "port to listen on.";
-      };
-
-      options = mkOption {
-        default = "";
-        description = "Extra CLI options to pass to 4Store's 4s-httpd process.";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    assertions = singleton
-      { assertion = cfg.enable -> cfg.database != "";
-        message = "Must specify 4Store database name";
-      };
-
-    users.users = singleton
-      { name = endpointUser;
-        uid = config.ids.uids.fourstorehttp;
-        description = "4Store SPARQL endpoint user";
-      };
-
-    services.avahi.enable = true;
-
-    systemd.services."4store-endpoint" = {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      script = ''
-        ${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}'
-      '';
-    };
-
-  };
-
-}
diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix
deleted file mode 100644
index be4351c1c38..00000000000
--- a/nixos/modules/services/databases/4store.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.services.fourStore;
-  stateDir = "/var/lib/4store";
-  fourStoreUser = "fourstore";
-  run = "${pkgs.su}/bin/su -s ${pkgs.runtimeShell} ${fourStoreUser}";
-in
-with lib;
-{
-
-  ###### interface
-
-  options = {
-
-    services.fourStore = {
-
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable 4Store RDF database server.";
-      };
-
-      database = mkOption {
-        default = "";
-        description = "RDF database name. If it doesn't exist, it will be created. Databases are stored in ${stateDir}.";
-      };
-
-      options = mkOption {
-        default = "";
-        description = "Extra CLI options to pass to 4Store.";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    assertions = singleton
-      { assertion = cfg.enable -> cfg.database != "";
-        message = "Must specify 4Store database name.";
-      };
-
-    users.users = singleton
-      { name = fourStoreUser;
-        uid = config.ids.uids.fourstore;
-        description = "4Store database user";
-        home = stateDir;
-      };
-
-    services.avahi.enable = true;
-
-    systemd.services."4store" = {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      preStart = ''
-        mkdir -p ${stateDir}/
-        chown ${fourStoreUser} ${stateDir}
-        if ! test -e "${stateDir}/${cfg.database}"; then
-          ${run} -c '${pkgs.rdf4store}/bin/4s-backend-setup ${cfg.database}'
-        fi
-      '';
-
-      script = ''
-        ${run} -c '${pkgs.rdf4store}/bin/4s-backend -D ${cfg.options} ${cfg.database}'
-      '';
-    };
-  };
-}
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 39192d05948..6af32700fc7 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -8,15 +8,11 @@ let
 
   mysql = cfg.package;
 
-  isMariaDB =
-    let
-      pName = _p: (builtins.parseDrvName (_p.name)).name;
-    in pName mysql == pName pkgs.mariadb;
+  isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb;
+
   isMysqlAtLeast57 =
-    let
-      pName = _p: (builtins.parseDrvName (_p.name)).name;
-    in (pName mysql == pName pkgs.mysql57)
-       && ((builtins.compareVersions mysql.version "5.7") >= 0);
+    (lib.getName mysql == lib.getName pkgs.mysql57)
+     && (builtins.compareVersions mysql.version "5.7" >= 0);
 
   mysqldOptions =
     "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}";
@@ -28,6 +24,10 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd")
+    (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index 5533182c311..29a83300ec1 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -103,6 +103,18 @@ let
 
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "enableHttps" ] [ "services" "neo4j" "https" "enable" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "certDir" ] [ "services" "neo4j" "directories" "certificates" ])
+    (mkRenamedOptionModule [ "services" "neo4j" "dataDir" ] [ "services" "neo4j" "directories" "home" ])
+    (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
+  ];
+
   ###### interface
 
   options.services.neo4j = {
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 3bedfe96a18..c8fdd89d0d8 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -339,9 +339,9 @@ in
             '') cfg.ensureDatabases}
           '' + ''
             ${concatMapStrings (user: ''
-              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}"
+              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
               ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
-                $PSQL -tAc 'GRANT ${permission} ON ${database} TO ${user.name}'
+                $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"'
               '') user.ensurePermissions)}
             '') cfg.ensureUsers}
           '';
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 5695eeaf74c..70895fa53e4 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -32,6 +32,13 @@ let
   '';
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.")
+    (mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.")
+    (mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
+    (mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
+    (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
+  ];
 
   ###### interface
 
@@ -185,10 +192,10 @@ in
   ###### implementation
 
   config = mkIf config.services.redis.enable {
-
-    boot.kernel.sysctl = {
-      "vm.nr_hugepages" = "0";
-    } // mkIf cfg.vmOverCommit { "vm.overcommit_memory" = "1"; };
+    boot.kernel.sysctl = (mkMerge [
+      { "vm.nr_hugepages" = "0"; }
+      ( mkIf cfg.vmOverCommit { "vm.overcommit_memory" = "1"; } )
+    ]);
 
     networking.firewall = mkIf cfg.openFirewall {
       allowedTCPPorts = [ cfg.port ];
diff --git a/nixos/modules/services/desktops/neard.nix b/nixos/modules/services/desktops/neard.nix
new file mode 100644
index 00000000000..9b0f8d1b3a7
--- /dev/null
+++ b/nixos/modules/services/desktops/neard.nix
@@ -0,0 +1,23 @@
+# neard service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.neard = {
+      enable = mkEnableOption "neard, NFC daemon";
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.neard.enable {
+    environment.systemPackages = [ pkgs.neard ];
+
+    services.dbus.packages = [ pkgs.neard ];
+
+    systemd.packages = [ pkgs.neard ];
+  };
+}
diff --git a/nixos/modules/services/desktops/pantheon/contractor.nix b/nixos/modules/services/desktops/pantheon/contractor.nix
index 2638a21df73..c76145191a7 100644
--- a/nixos/modules/services/desktops/pantheon/contractor.nix
+++ b/nixos/modules/services/desktops/pantheon/contractor.nix
@@ -6,35 +6,12 @@ with lib;
 
 {
 
-  meta.maintainers = pkgs.pantheon.maintainers;
-
-  ###### interface
-
-  options = {
-
-    services.pantheon.contractor = {
-
-      enable = mkEnableOption "contractor, a desktop-wide extension service used by pantheon";
-
-    };
-
-  };
-
 
   ###### implementation
 
   config = mkIf config.services.pantheon.contractor.enable {
 
-    environment.systemPackages = with  pkgs.pantheon; [
-      contractor
-      extra-elementary-contracts
-    ];
-
-    services.dbus.packages = [ pkgs.pantheon.contractor ];
-
-    environment.pathsToLink = [
-      "/share/contractor"
-    ];
+    
 
   };
 
diff --git a/nixos/modules/services/desktops/pantheon/files.nix b/nixos/modules/services/desktops/pantheon/files.nix
index 577aad6c298..8cee9f42b62 100644
--- a/nixos/modules/services/desktops/pantheon/files.nix
+++ b/nixos/modules/services/desktops/pantheon/files.nix
@@ -6,33 +6,8 @@ with lib;
 
 {
 
-  meta.maintainers = pkgs.pantheon.maintainers;
-
-  ###### interface
-
-  options = {
-
-    services.pantheon.files = {
-
-      enable = mkEnableOption "pantheon files daemon";
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.pantheon.files.enable {
-
-    environment.systemPackages = [
-      pkgs.pantheon.elementary-files
-    ];
-
-    services.dbus.packages = [
-      pkgs.pantheon.elementary-files
-    ];
-
-  };
+  imports = [
+    (mkRemovedOptionModule [ "services" "pantheon" "files" "enable" ] "Use `environment.systemPackages [ pkgs.pantheon.elementary-files ];`")
+  ];
 
 }
diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix
index d18088d4634..a833e99ff8c 100644
--- a/nixos/modules/services/desktops/tumbler.nix
+++ b/nixos/modules/services/desktops/tumbler.nix
@@ -7,12 +7,17 @@ with lib;
 let
 
   cfg = config.services.tumbler;
-  tumbler = cfg.package;
 
 in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule
+      [ "services" "tumbler" "package" ]
+      "")
+  ];
+
   ###### interface
 
   options = {
@@ -21,13 +26,6 @@ in
 
       enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
 
-      package = mkOption {
-        type = types.package;
-        default = pkgs.xfce4-14.tumbler;
-        description = "Which tumbler package to use";
-        example = pkgs.xfce4-12.tumbler;
-      };
-
     };
 
   };
@@ -37,11 +35,11 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [
+    environment.systemPackages = with pkgs.xfce; [
       tumbler
     ];
 
-    services.dbus.packages = [
+    services.dbus.packages = with pkgs.xfce; [
       tumbler
     ];
 
diff --git a/nixos/modules/services/development/lorri.nix b/nixos/modules/services/development/lorri.nix
new file mode 100644
index 00000000000..c843aa56d13
--- /dev/null
+++ b/nixos/modules/services/development/lorri.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.lorri;
+  socketPath = "lorri/daemon.socket";
+in {
+  options = {
+    services.lorri = {
+      enable = lib.mkOption {
+        default = false;
+        type = lib.types.bool;
+        description = ''
+          Enables the daemon for `lorri`, a nix-shell replacement for project
+          development. The socket-activated daemon starts on the first request
+          issued by the `lorri` command.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.user.sockets.lorri = {
+      description = "Socket for Lorri Daemon";
+      wantedBy = [ "sockets.target" ];
+      socketConfig = {
+        ListenStream = "%t/${socketPath}";
+        RuntimeDirectory = "lorri";
+      };
+    };
+
+    systemd.user.services.lorri = {
+      description = "Lorri Daemon";
+      requires = [ "lorri.socket" ];
+      after = [ "lorri.socket" ];
+      path = with pkgs; [ config.nix.package git gnutar gzip ];
+      serviceConfig = {
+        ExecStart = "${pkgs.lorri}/bin/lorri daemon";
+        PrivateTmp = true;
+        ProtectSystem = "strict";
+        ProtectHome = "read-only";
+        Restart = "on-failure";
+      };
+    };
+
+    environment.systemPackages = [ pkgs.lorri ];
+  };
+}
diff --git a/nixos/modules/services/games/openarena.nix b/nixos/modules/services/games/openarena.nix
index b7d1aea6b8d..8c014d78809 100644
--- a/nixos/modules/services/games/openarena.nix
+++ b/nixos/modules/services/games/openarena.nix
@@ -43,7 +43,7 @@ in
       serviceConfig = {
         DynamicUser = true;
         StateDirectory = "openarena";
-        ExecStart = "${pkgs.openarena}/bin/openarena-server +set fs_basepath ${pkgs.openarena}/openarena-0.8.8 +set fs_homepath /var/lib/openarena ${concatStringsSep " " cfg.extraFlags}";
+        ExecStart = "${pkgs.openarena}/bin/oa_ded +set fs_basepath ${pkgs.openarena}/openarena-0.8.8 +set fs_homepath /var/lib/openarena ${concatStringsSep " " cfg.extraFlags}";
         Restart = "on-failure";
 
         # Hardening
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index c5f9d1f9b72..11d67418a31 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -36,17 +36,25 @@ in {
         '';
       };
 
+      config = mkOption {
+        type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
+        example = {
+          General = {
+            ControllerMode = "bredr";
+          };
+        };
+        description = "Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf).";
+      };
+
       extraConfig = mkOption {
-        type = types.lines;
-        default = "";
+        type = with types; nullOr lines;
+        default = null;
         example = ''
           [General]
           ControllerMode = bredr
         '';
         description = ''
           Set additional configuration for system-wide bluetooth (/etc/bluetooth/main.conf).
-
-          NOTE: We already include [Policy], so any configuration under the Policy group should come first.
         '';
       };
     };
@@ -56,16 +64,18 @@ in {
   ###### implementation
 
   config = mkIf cfg.enable {
+    warnings = optional (cfg.extraConfig != null) "hardware.bluetooth.`extraConfig` is deprecated, please use hardware.bluetooth.`config`.";
 
-    environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
+    hardware.bluetooth.config = {
+      Policy = {
+        AutoEnable = mkDefault cfg.powerOnBoot;
+      };
+    };
 
-    environment.etc = singleton {
-      source = pkgs.writeText "main.conf" ''
-        [Policy]
-        AutoEnable=${lib.boolToString cfg.powerOnBoot}
+    environment.systemPackages = [ bluez-bluetooth ];
 
-        ${cfg.extraConfig}
-      '';
+    environment.etc = singleton {
+      source = pkgs.writeText "main.conf" (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig);
       target = "bluetooth/main.conf";
     };
 
diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix
index 6c341bcbf24..51877970a8b 100644
--- a/nixos/modules/services/hardware/fwupd.nix
+++ b/nixos/modules/services/hardware/fwupd.nix
@@ -74,7 +74,7 @@ in {
         default = false;
         description = ''
           Whether to enable test remote. This is used by
-          <link xlink:href="https://github.com/hughsie/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
+          <link xlink:href="https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
         '';
       };
 
@@ -115,10 +115,6 @@ in {
     services.udev.packages = [ cfg.package ];
 
     systemd.packages = [ cfg.package ];
-
-    systemd.tmpfiles.rules = [
-      "d /var/lib/fwupd 0755 root root -"
-    ];
   };
 
   meta = {
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix
index 4f8af797828..adc1881a525 100644
--- a/nixos/modules/services/hardware/tlp.nix
+++ b/nixos/modules/services/hardware/tlp.nix
@@ -37,7 +37,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the TLP daemon.";
+        description = "Whether to enable the TLP power management daemon.";
       };
 
       extraConfig = mkOption {
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 83ab93bd7cf..50997bb9bb1 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -221,8 +221,8 @@ in
         type = types.lines;
         description = ''
           Additional <command>hwdb</command> files. They'll be written
-          into file <filename>10-local.hwdb</filename>. Thus they are
-          read before all other files.
+          into file <filename>99-local.hwdb</filename>. Thus they are
+          read after all other files.
         '';
       };
 
diff --git a/nixos/modules/services/hardware/upower.nix b/nixos/modules/services/hardware/upower.nix
index 5e7ac7a6e65..449810b5315 100644
--- a/nixos/modules/services/hardware/upower.nix
+++ b/nixos/modules/services/hardware/upower.nix
@@ -37,6 +37,172 @@ in
         '';
       };
 
+      enableWattsUpPro = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the Watts Up Pro device.
+
+          The Watts Up Pro contains a generic FTDI USB device without a specific
+          vendor and product ID. When we probe for WUP devices, we can cause
+          the user to get a perplexing "Device or resource busy" error when
+          attempting to use their non-WUP device.
+
+          The generic FTDI device is known to also be used on:
+
+          <itemizedlist>
+            <listitem><para>Sparkfun FT232 breakout board</para></listitem>
+            <listitem><para>Parallax Propeller</para></listitem>
+          </itemizedlist>
+        '';
+      };
+
+      noPollBatteries = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Don't poll the kernel for battery level changes.
+
+          Some hardware will send us battery level changes through
+          events, rather than us having to poll for it. This option
+          allows disabling polling for hardware that sends out events.
+        '';
+      };
+
+      ignoreLid = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Do we ignore the lid state
+
+          Some laptops are broken. The lid state is either inverted, or stuck
+          on or off. We can't do much to fix these problems, but this is a way
+          for users to make the laptop panel vanish, a state that might be used
+          by a couple of user-space daemons. On Linux systems, see also
+          logind.conf(5).
+        '';
+      };
+
+      usePercentageForPolicy = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Policy for warnings and action based on battery levels
+
+          Whether battery percentage based policy should be used. The default
+          is to use the percentage, which
+          should work around broken firmwares. It is also more reliable than
+          the time left (frantically saving all your files is going to use more
+          battery than letting it rest for example).
+        '';
+      };
+
+      percentageLow = mkOption {
+        type = types.ints.unsigned;
+        default = 10;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery low.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 3;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery critical.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageAction = mkOption {
+        type = types.ints.unsigned;
+        default = 2;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will take action
+          for the critical battery level.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      timeLow = mkOption {
+        type = types.ints.unsigned;
+        default = 1200;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery low.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 300;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery critical.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeAction = mkOption {
+        type = types.ints.unsigned;
+        default = 120;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          take action for the critical battery level.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      criticalPowerAction = mkOption {
+        type = types.enum [ "PowerOff" "Hibernate" "HybridSleep" ];
+        default = "HybridSleep";
+        description = ''
+          The action to take when <literal>timeAction</literal> or
+          <literal>percentageAction</literal> has been reached for the batteries
+          (UPS or laptop batteries) supplying the computer
+        '';
+      };
+
     };
 
   };
@@ -54,6 +220,21 @@ in
 
     systemd.packages = [ cfg.package ];
 
+    environment.etc."UPower/UPower.conf".text = generators.toINI {} {
+      UPower = {
+        EnableWattsUpPro = cfg.enableWattsUpPro;
+        NoPollBatteries = cfg.noPollBatteries;
+        IgnoreLid = cfg.ignoreLid;
+        UsePercentageForPolicy = cfg.usePercentageForPolicy;
+        PercentageLow = cfg.percentageLow;
+        PercentageCritical = cfg.percentageCritical;
+        PercentageAction = cfg.percentageAction;
+        TimeLow = cfg.timeLow;
+        TimeCritical = cfg.timeCritical;
+        TimeAction = cfg.timeAction;
+        CriticalPowerAction = cfg.criticalPowerAction;
+      };
+    };
   };
 
 }
diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix
index a92ff3bee49..d51c9a5cffa 100644
--- a/nixos/modules/services/logging/awstats.nix
+++ b/nixos/modules/services/logging/awstats.nix
@@ -4,31 +4,116 @@ with lib;
 
 let
   cfg = config.services.awstats;
-  httpd = config.services.httpd;
   package = pkgs.awstats;
-in
+  configOpts = {name, config, ...}: {
+    options = {
+      type = mkOption{
+        type = types.enum [ "mail" "web" ];
+        default = "web";
+        example = "mail";
+        description = ''
+          The type of log being collected.
+        '';
+      };
+      domain = mkOption {
+        type = types.str;
+        default = name;
+        description = "The domain name to collect stats for.";
+        example = "example.com";
+      };
+
+      logFile = mkOption {
+        type = types.str;
+        example = "/var/spool/nginx/logs/access.log";
+        description = ''
+          The log file to be scanned.
 
+          For mail, set this to
+          <literal>
+          journalctl $OLD_CURSOR -u postfix.service | ''${pkgs.perl}/bin/perl ''${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard |
+          </literal>
+        '';
+      };
+
+      logFormat = mkOption {
+        type = types.str;
+        default = "1";
+        description = ''
+          The log format being used.
+
+          For mail, set this to
+          <literal>
+          %time2 %email %email_r %host %host_r %method %url %code %bytesd
+          </literal>
+        '';
+      };
+
+      hostAliases = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = "[ \"www.example.org\" ]";
+        description = ''
+          List of aliases the site has.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = literalExample ''
+          {
+            "ValidHTTPCodes" = "404";
+          }
+        '';
+      };
+
+      webService = {
+        enable = mkEnableOption "awstats web service";
+
+        hostname = mkOption {
+          type = types.str;
+          default = config.domain;
+          description = "The hostname the web service appears under.";
+        };
+
+        urlPrefix = mkOption {
+          type = types.str;
+          default = "/awstats";
+          description = "The URL prefix under which the awstats pages appear.";
+        };
+      };
+    };
+  };
+  webServices = filterAttrs (name: value: value.webService.enable) cfg.configs;
+in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "awstats" "service" "enable" ] "Please enable per domain with `services.awstats.configs.<name>.webService.enable`")
+    (mkRemovedOptionModule [ "services" "awstats" "service" "urlPrefix" ] "Please set per domain with `services.awstats.configs.<name>.webService.urlPrefix`")
+    (mkRenamedOptionModule [ "services" "awstats" "vardir" ] [ "services" "awstats" "dataDir" ])
+  ];
+
   options.services.awstats = {
-    enable = mkOption {
-      type = types.bool;
-      default = cfg.service.enable;
-      description = ''
-        Enable the awstats program (but not service).
-        Currently only simple httpd (Apache) configs are supported,
-        and awstats plugins may not work correctly.
-      '';
-    };
-    vardir = mkOption {
+    enable = mkEnableOption "awstats";
+
+    dataDir = mkOption {
       type = types.path;
       default = "/var/lib/awstats";
-      description = "The directory where variable awstats data will be stored.";
+      description = "The directory where awstats data will be stored.";
     };
 
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      description = "Extra configuration to be appendend to awstats.conf.";
+    configs = mkOption {
+      type = types.attrsOf (types.submodule configOpts);
+      default = {};
+      example = literalExample ''
+        {
+          "mysite" = {
+            domain = "example.com";
+            logFile = "/var/spool/nginx/logs/access.log";
+          };
+        }
+      '';
+      description = "Attribute set of domains to collect stats for.";
     };
 
     updateAt = mkOption {
@@ -42,75 +127,129 @@ in
           <manvolnum>7</manvolnum></citerefentry>)
       '';
     };
-
-    service = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''Enable the awstats web service. This switches on httpd.'';
-      };
-      urlPrefix = mkOption {
-        type = types.str;
-        default = "/awstats";
-        description = "The URL prefix under which the awstats service appears.";
-      };
-    };
   };
 
 
   config = mkIf cfg.enable {
     environment.systemPackages = [ package.bin ];
-    /* TODO:
-      - heed config.services.httpd.logPerVirtualHost, etc.
-      - Can't AllowToUpdateStatsFromBrowser, as CGI scripts don't have permission
-        to read the logs, and our httpd config apparently doesn't an option for that.
-    */
-    environment.etc."awstats/awstats.conf".source = pkgs.runCommand "awstats.conf"
+
+    environment.etc = mapAttrs' (name: opts:
+    nameValuePair "awstats/awstats.${name}.conf" {
+      source = pkgs.runCommand "awstats.${name}.conf"
       { preferLocalBuild = true; }
-      ( let
-          logFormat =
-            if httpd.logFormat == "combined" then "1" else
-            if httpd.logFormat == "common" then "4" else
-            throw "awstats service doesn't support Apache log format `${httpd.logFormat}`";
-        in
-        ''
-          sed \
-            -e 's|^\(DirData\)=.*$|\1="${cfg.vardir}"|' \
-            -e 's|^\(DirIcons\)=.*$|\1="icons"|' \
-            -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \
-            -e 's|^\(SiteDomain\)=.*$|\1="${httpd.hostName}"|' \
-            -e 's|^\(LogFile\)=.*$|\1="${httpd.logDir}/access_log"|' \
-            -e 's|^\(LogFormat\)=.*$|\1=${logFormat}|' \
-            < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out"
-          echo '${cfg.extraConfig}' >> "$out"
-        '');
-
-    systemd.tmpfiles.rules = optionals cfg.service.enable [
-      "d '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
-      "Z '${cfg.vardir}' - ${httpd.user} ${httpd.group} - -"
-    ];
-
-    # The httpd sub-service showing awstats.
-    services.httpd = optionalAttrs cfg.service.enable {
-      enable = true;
-      extraConfig = ''
-        Alias ${cfg.service.urlPrefix}/classes "${package.out}/wwwroot/classes/"
-        Alias ${cfg.service.urlPrefix}/css "${package.out}/wwwroot/css/"
-        Alias ${cfg.service.urlPrefix}/icons "${package.out}/wwwroot/icon/"
-        ScriptAlias ${cfg.service.urlPrefix}/ "${package.out}/wwwroot/cgi-bin/"
-
-        <Directory "${package.out}/wwwroot">
-          Options None
-          Require all granted
-        </Directory>
-      '';
-    };
+      (''
+        sed \
+      ''
+      # set up mail stats
+      + optionalString (opts.type == "mail")
+      ''
+        -e 's|^\(LogType\)=.*$|\1=M|' \
+        -e 's|^\(LevelForBrowsersDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForOSDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForRefererAnalyze\)=.*$|\1=0|' \
+        -e 's|^\(LevelForRobotsDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForSearchEnginesDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForFileTypesDetection\)=.*$|\1=0|' \
+        -e 's|^\(LevelForWormsDetection\)=.*$|\1=0|' \
+        -e 's|^\(ShowMenu\)=.*$|\1=1|' \
+        -e 's|^\(ShowSummary\)=.*$|\1=HB|' \
+        -e 's|^\(ShowMonthStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDaysOfMonthStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDaysOfWeekStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowHoursStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowDomainsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowHostsStats\)=.*$|\1=HB|' \
+        -e 's|^\(ShowAuthenticatedUsers\)=.*$|\1=0|' \
+        -e 's|^\(ShowRobotsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowEMailSenders\)=.*$|\1=HBML|' \
+        -e 's|^\(ShowEMailReceivers\)=.*$|\1=HBML|' \
+        -e 's|^\(ShowSessionsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowPagesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowFileTypesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowFileSizesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowBrowsersStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowOSStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowOriginStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowKeyphrasesStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowKeywordsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowMiscStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowHTTPErrorsStats\)=.*$|\1=0|' \
+        -e 's|^\(ShowSMTPErrorsStats\)=.*$|\1=1|' \
+      ''
+      +
+      # common options
+      ''
+        -e 's|^\(DirData\)=.*$|\1="${cfg.dataDir}/${name}"|' \
+        -e 's|^\(DirIcons\)=.*$|\1="icons"|' \
+        -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \
+        -e 's|^\(SiteDomain\)=.*$|\1="${name}"|' \
+        -e 's|^\(LogFile\)=.*$|\1="${opts.logFile}"|' \
+        -e 's|^\(LogFormat\)=.*$|\1="${opts.logFormat}"|' \
+      ''
+      +
+      # extra config
+      concatStringsSep "\n" (mapAttrsToList (n: v: ''
+        -e 's|^\(${n}\)=.*$|\1="${v}"|' \
+      '') opts.extraConfig)
+      +
+      ''
+        < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out"
+      '');
+    }) cfg.configs;
 
-    systemd.services.awstats-update = mkIf (cfg.updateAt != null) {
-      description = "awstats log collector";
-      script = "exec '${package.bin}/bin/awstats' -update -config=awstats.conf";
-      startAt = cfg.updateAt;
-    };
+    # create data directory with the correct permissions
+    systemd.tmpfiles.rules =
+      [ "d '${cfg.dataDir}' 755 root root - -" ] ++
+      mapAttrsToList (name: opts: "d '${cfg.dataDir}/${name}' 755 root root - -") cfg.configs ++
+      [ "Z '${cfg.dataDir}' 755 root root - -" ];
+
+    # nginx options
+    services.nginx.virtualHosts = mapAttrs'(name: opts: {
+      name = opts.webService.hostname;
+      value = {
+        locations = {
+          "${opts.webService.urlPrefix}/css/" = {
+            alias = "${package.out}/wwwroot/css/";
+          };
+          "${opts.webService.urlPrefix}/icons/" = {
+            alias = "${package.out}/wwwroot/icon/";
+          };
+          "${opts.webService.urlPrefix}/" = {
+            alias = "${cfg.dataDir}/${name}/";
+            extraConfig = ''
+              autoindex on;
+            '';
+          };
+        };
+      };
+    }) webServices;
+
+    # update awstats
+    systemd.services = mkIf (cfg.updateAt != null) (mapAttrs' (name: opts:
+      nameValuePair "awstats-${name}-update" {
+        description = "update awstats for ${name}";
+        script = optionalString (opts.type == "mail")
+        ''
+          if [[ -f "${cfg.dataDir}/${name}-cursor" ]]; then
+            CURSOR="$(cat "${cfg.dataDir}/${name}-cursor" | tr -d '\n')"
+            if [[ -n "$CURSOR" ]]; then
+              echo "Using cursor: $CURSOR"
+              export OLD_CURSOR="--cursor $CURSOR"
+            fi
+          fi
+          NEW_CURSOR="$(journalctl $OLD_CURSOR -u postfix.service --show-cursor | tail -n 1 | tr -d '\n' | sed -e 's#^-- cursor: \(.*\)#\1#')"
+          echo "New cursor: $NEW_CURSOR"
+          ${package.bin}/bin/awstats -update -config=${name}
+          if [ -n "$NEW_CURSOR" ]; then
+            echo -n "$NEW_CURSOR" > ${cfg.dataDir}/${name}-cursor
+          fi
+        '' + ''
+          ${package.out}/share/awstats/tools/awstats_buildstaticpages.pl \
+            -config=${name} -update -dir=${cfg.dataDir}/${name} \
+            -awstatsprog=${package.bin}/bin/awstats
+        '';
+        startAt = cfg.updateAt;
+    }) cfg.configs);
   };
 
 }
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index 4943e8d7db3..21a83803fd8 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -37,6 +37,11 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
+    (mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash")
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix
index 65e103ac2ba..35055311680 100644
--- a/nixos/modules/services/logging/syslog-ng.nix
+++ b/nixos/modules/services/logging/syslog-ng.nix
@@ -25,6 +25,10 @@ let
   ];
 
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "")
+    (mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "")
+  ];
 
   options = {
 
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 3fd06812c67..2cda8c49f5e 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -86,7 +86,7 @@ let
       }
 
       plugin {
-        quota_rule = *:storage=${cfg.quotaGlobalPerUser} 
+        quota_rule = *:storage=${cfg.quotaGlobalPerUser}
         quota = maildir:User quota # per virtual mail user quota # BUG/FIXME broken, we couldn't get this working
         quota_status_success = DUNNO
         quota_status_nouser = DUNNO
@@ -133,6 +133,9 @@ let
   };
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "")
+  ];
 
   options.services.dovecot2 = {
     enable = mkEnableOption "Dovecot 2.x POP3/IMAP server";
diff --git a/nixos/modules/services/mail/mailcatcher.nix b/nixos/modules/services/mail/mailcatcher.nix
index f5b4508b335..84f06ed199d 100644
--- a/nixos/modules/services/mail/mailcatcher.nix
+++ b/nixos/modules/services/mail/mailcatcher.nix
@@ -25,6 +25,13 @@ in
         description = "The port address of the http server.";
       };
 
+      http.path = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = "Prefix to all HTTP paths.";
+        example = "/mailcatcher";
+      };
+
       smtp.ip = mkOption {
         type = types.str;
         default = "127.0.0.1";
@@ -53,7 +60,7 @@ in
       serviceConfig = {
         DynamicUser = true;
         Restart = "always";
-        ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}";
+        ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}" + optionalString (cfg.http.path != null) " --http-path ${cfg.http.path}";
         AmbientCapabilities = optionalString (cfg.http.port < 1024 || cfg.smtp.port < 1024) "cap_net_bind_service";
       };
     };
diff --git a/nixos/modules/services/mail/opendkim.nix b/nixos/modules/services/mail/opendkim.nix
index 253823cbaf9..6431531d5eb 100644
--- a/nixos/modules/services/mail/opendkim.nix
+++ b/nixos/modules/services/mail/opendkim.nix
@@ -18,6 +18,9 @@ let
          ] ++ optionals (cfg.configFile != null) [ "-x" cfg.configFile ];
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix
index a870550ba50..1fabe2da45c 100644
--- a/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixos/modules/services/mail/opensmtpd.nix
@@ -101,6 +101,12 @@ in {
       };
     };
 
+    systemd.tmpfiles.rules = [
+      "d /var/spool/smtpd 711 root - - -"
+      "d /var/spool/smtpd/offline 770 root smtpq - -"
+      "d /var/spool/smtpd/purge 700 smtpq root - -"
+    ];
+
     systemd.services.opensmtpd = let
       procEnv = pkgs.buildEnv {
         name = "opensmtpd-procs";
@@ -110,18 +116,6 @@ in {
     in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      preStart = ''
-        mkdir -p /var/spool/smtpd
-        chmod 711 /var/spool/smtpd
-
-        mkdir -p /var/spool/smtpd/offline
-        chown root.smtpq /var/spool/smtpd/offline
-        chmod 770 /var/spool/smtpd/offline
-
-        mkdir -p /var/spool/smtpd/purge
-        chown smtpq.root /var/spool/smtpd/purge
-        chmod 700 /var/spool/smtpd/purge
-      '';
       serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}";
       environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
     };
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index d5fd76da970..df438a0c69d 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -631,6 +631,14 @@ in
         setgid = true;
       };
 
+      security.wrappers.mailq = {
+        program = "mailq";
+        source = "${pkgs.postfix}/bin/mailq";
+        group = setgidGroup;
+        setuid = false;
+        setgid = true;
+      };
+
       security.wrappers.postqueue = {
         program = "postqueue";
         source = "${pkgs.postfix}/bin/postqueue";
diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix
index 88fb7f0b4ad..709f6b21aa0 100644
--- a/nixos/modules/services/mail/postgrey.nix
+++ b/nixos/modules/services/mail/postgrey.nix
@@ -42,6 +42,17 @@ with lib; let
   };
 
 in {
+  imports = [
+    (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let
+        value = p: getAttrFromPath p config;
+        inetAddr = [ "services" "postgrey" "inetAddr" ];
+        inetPort = [ "services" "postgrey" "inetPort" ];
+      in
+        if value inetAddr == null
+        then { path = "/run/postgrey.sock"; }
+        else { addr = value inetAddr; port = value inetPort; }
+    ))
+  ];
 
   options = {
     services.postgrey = with types; {
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index bdedfa1bb70..36dda619ad0 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -160,7 +160,7 @@ in
               ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'";
               ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}";
             fi
-            PGPASSWORD=${cfg.database.password} ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \
+            PGPASSWORD="${cfg.database.password}" ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \
               -f ${cfg.package}/SQL/postgres.initial.sql \
               -h ${cfg.database.host} ${cfg.database.dbname}
             touch /var/lib/roundcube/db-created
diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix
index 4db35d9e89a..f156595e6f8 100644
--- a/nixos/modules/services/mail/rspamd.nix
+++ b/nixos/modules/services/mail/rspamd.nix
@@ -60,7 +60,7 @@ let
       };
       type = mkOption {
         type = types.nullOr (types.enum [
-          "normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua" "proxy"
+          "normal" "controller" "fuzzy" "rspamd_proxy" "lua" "proxy"
         ]);
         description = ''
           The type of this worker. The type <literal>proxy</literal> is
@@ -220,7 +220,6 @@ let
 in
 
 {
-
   ###### interface
 
   options = {
@@ -414,5 +413,6 @@ in
 	     "Socket activation never worked correctly and could at this time not be fixed and so was removed")
     (mkRenamedOptionModule [ "services" "rspamd" "bindSocket" ] [ "services" "rspamd" "workers" "normal" "bindSockets" ])
     (mkRenamedOptionModule [ "services" "rspamd" "bindUISocket" ] [ "services" "rspamd" "workers" "controller" "bindSockets" ])
+    (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service")
   ];
 }
diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix
index 798e902ccae..46308f74dc9 100644
--- a/nixos/modules/services/misc/apache-kafka.nix
+++ b/nixos/modules/services/misc/apache-kafka.nix
@@ -131,7 +131,7 @@ in {
       home = head cfg.logDirs;
     };
 
-    systemd.tmpfiles.rules = map (logDir: "d '${logDir} 0700 apache-kafka - - -") cfg.logDirs;
+    systemd.tmpfiles.rules = map (logDir: "d '${logDir}' 0700 apache-kafka - - -") cfg.logDirs;
 
     systemd.services.apache-kafka = {
       description = "Apache Kafka Daemon";
diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix
index 06e881406b5..bcd133c9741 100644
--- a/nixos/modules/services/misc/beanstalkd.nix
+++ b/nixos/modules/services/misc/beanstalkd.nix
@@ -44,7 +44,8 @@ in
       serviceConfig = {
         DynamicUser = true;
         Restart = "always";
-        ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port}";
+        ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port} -b $STATE_DIRECTORY";
+        StateDirectory = "beanstalkd";
       };
     };
 
diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix
index 2958cf21447..95afb0460fb 100644
--- a/nixos/modules/services/misc/ethminer.nix
+++ b/nixos/modules/services/misc/ethminer.nix
@@ -71,7 +71,7 @@ in
 
       maxPower = mkOption {
         type = types.int;
-        default = 115;
+        default = 113;
         description = "Miner max watt usage.";
       };
 
@@ -92,7 +92,9 @@ in
 
       serviceConfig = {
         DynamicUser = true;
+        ExecStartPre = "${pkgs.ethminer}/bin/.ethminer-wrapped --list-devices";
         ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}";
+        Restart = "always";
       };
 
       environment = {
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index c8c59fb256e..258476dd9fe 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -394,6 +394,26 @@ in
         WorkingDirectory = cfg.stateDir;
         ExecStart = "${gitea.bin}/bin/gitea web";
         Restart = "always";
+
+        # Filesystem
+        ProtectHome = true;
+        PrivateDevices = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        ReadWritePaths = cfg.stateDir;
+        # Caps
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        # Misc.
+        LockPersonality = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+        MemoryDenyWriteExecute = true;
+        SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
+        SystemCallArchitectures = "native";
+        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
       };
 
       environment = {
@@ -453,4 +473,5 @@ in
       timerConfig.OnCalendar = cfg.dump.interval;
     };
   };
+  meta.maintainers = with lib.maintainers; [ srhb ];
 }
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 07ea9c45843..61d0ce0aef8 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -189,6 +189,11 @@ let
 
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
+    (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
+  ];
+
   options = {
     services.gitlab = {
       enable = mkOption {
diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix
new file mode 100644
index 00000000000..c5d5e9e4837
--- /dev/null
+++ b/nixos/modules/services/misc/mame.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.mame;
+  mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}";
+in
+{
+  options = {
+    services.mame = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to setup TUN/TAP Ethernet interface for MAME emulator.
+        '';
+      };
+      user = mkOption {
+        type = types.str;
+        description = ''
+          User from which you run MAME binary.
+        '';
+      };
+      hostAddr = mkOption {
+        type = types.str;
+        description = ''
+          IP address of the host system. Usually an address of the main network
+          adapter or the adapter through which you get an internet connection.
+        '';
+        example = "192.168.31.156";
+      };
+      emuAddr = mkOption {
+        type = types.str;
+        description = ''
+          IP address of the guest system. The same you set inside guest OS under
+          MAME. Should be on the same subnet as <option>services.mame.hostAddr</option>.
+        '';
+        example = "192.168.31.155";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.mame ];
+
+    security.wrappers."${mame}" = {
+      source = "${pkgs.mame}/bin/${mame}";
+      capabilities = "cap_net_admin,cap_net_raw+eip";
+    };
+
+    systemd.services.mame = {
+      description = "MAME TUN/TAP Ethernet interface";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.iproute ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -";
+        ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}";
+      };
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ gnidorah ];
+}
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix
index 0f4eb2ccfca..0bda8980720 100644
--- a/nixos/modules/services/misc/matrix-synapse.nix
+++ b/nixos/modules/services/misc/matrix-synapse.nix
@@ -407,6 +407,9 @@ in {
           "192.168.0.0/16"
           "100.64.0.0/10"
           "169.254.0.0/16"
+          "::1/128"
+          "fe80::/64"
+          "fc00::/7"
         ];
         description = ''
           List of IP address CIDR ranges that the URL preview spider is denied
@@ -668,43 +671,30 @@ in {
         gid = config.ids.gids.matrix-synapse;
       } ];
 
-    services.postgresql.enable = mkIf usePostgresql (mkDefault true);
+    services.postgresql = mkIf (usePostgresql && cfg.create_local_database) {
+      enable = mkDefault true;
+      ensureDatabases = [ cfg.database_name ];
+      ensureUsers = [{
+        name = cfg.database_user;
+        ensurePermissions = { "DATABASE \"${cfg.database_name}\"" = "ALL PRIVILEGES"; };
+      }];
+    };
 
     systemd.services.matrix-synapse = {
       description = "Synapse Matrix homeserver";
-      after = [ "network.target" "postgresql.service" ];
+      after = [ "network.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service" ;
       wantedBy = [ "multi-user.target" ];
       preStart = ''
         ${cfg.package}/bin/homeserver \
           --config-path ${configFile} \
           --keys-directory ${cfg.dataDir} \
           --generate-keys
-      '' + optionalString (usePostgresql && cfg.create_local_database) ''
-        if ! test -e "${cfg.dataDir}/db-created"; then
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createuser \
-            --login \
-            --no-createdb \
-            --no-createrole \
-            --encrypted \
-            ${cfg.database_user}
-          ${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
-            ${pg.package}/bin/createdb \
-            --owner=${cfg.database_user} \
-            --encoding=UTF8 \
-            --lc-collate=C \
-            --lc-ctype=C \
-            --template=template0 \
-            ${cfg.database_name}
-          touch "${cfg.dataDir}/db-created"
-        fi
       '';
       serviceConfig = {
         Type = "notify";
         User = "matrix-synapse";
         Group = "matrix-synapse";
         WorkingDirectory = cfg.dataDir;
-        PermissionsStartOnly = true;
         ExecStart = ''
           ${cfg.package}/bin/homeserver \
             ${ concatMapStringsSep "\n  " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) }
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index dcec4d4fc6c..24780446d50 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -68,6 +68,10 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ])
+    (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/misc/nzbget.nix b/nixos/modules/services/misc/nzbget.nix
index eb7b4c05d82..715ec891cd6 100644
--- a/nixos/modules/services/misc/nzbget.nix
+++ b/nixos/modules/services/misc/nzbget.nix
@@ -27,6 +27,12 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
+  ];
+
   # interface
 
   options = {
diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix
index c757093e5c1..61626e78f8b 100644
--- a/nixos/modules/services/misc/parsoid.nix
+++ b/nixos/modules/services/misc/parsoid.nix
@@ -26,6 +26,10 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead")
+  ];
+
   ##### interface
 
   options = {
diff --git a/nixos/modules/services/misc/pykms.nix b/nixos/modules/services/misc/pykms.nix
index e2d1254602b..25aa27ae767 100644
--- a/nixos/modules/services/misc/pykms.nix
+++ b/nixos/modules/services/misc/pykms.nix
@@ -9,6 +9,10 @@ let
 in {
   meta.maintainers = with lib.maintainers; [ peterhoeg ];
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "pykms" "verbose" ] "Use services.pykms.logLevel instead")
+  ];
+
   options = {
     services.pykms = {
       enable = mkOption {
diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix
index 24b9e27ac2d..bf9a6914a48 100644
--- a/nixos/modules/services/misc/redmine.nix
+++ b/nixos/modules/services/misc/redmine.nix
@@ -62,20 +62,11 @@ in
     services.redmine = {
       enable = mkEnableOption "Redmine";
 
-      # default to the 4.x series not forcing major version upgrade of those on the 3.x series
       package = mkOption {
         type = types.package;
-        default = if versionAtLeast config.system.stateVersion "19.03"
-          then pkgs.redmine_4
-          else pkgs.redmine
-        ;
-        defaultText = "pkgs.redmine";
-        description = ''
-          Which Redmine package to use. This defaults to version 3.x if
-          <literal>system.stateVersion &lt; 19.03</literal> and version 4.x
-          otherwise.
-        '';
-        example = "pkgs.redmine_4.override { ruby = pkgs.ruby_2_4; }";
+        default = pkgs.redmine;
+        description = "Which Redmine package to use.";
+        example = "pkgs.redmine.override { ruby = pkgs.ruby_2_4; }";
       };
 
       user = mkOption {
diff --git a/nixos/modules/services/misc/tautulli.nix b/nixos/modules/services/misc/tautulli.nix
index 50e45036647..aded33629f1 100644
--- a/nixos/modules/services/misc/tautulli.nix
+++ b/nixos/modules/services/misc/tautulli.nix
@@ -6,6 +6,10 @@ let
   cfg = config.services.tautulli;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ])
+  ];
+
   options = {
     services.tautulli = {
       enable = mkEnableOption "Tautulli Plex Monitor";
diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix
index 3bff04e7127..d7f7324580c 100644
--- a/nixos/modules/services/misc/zoneminder.nix
+++ b/nixos/modules/services/misc/zoneminder.nix
@@ -265,7 +265,7 @@ in {
                 }
 
                 location /cache/ {
-                  alias /var/cache/${dirName};
+                  alias /var/cache/${dirName}/;
                 }
 
                 location ~ \.php$ {
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index bf1084eecc3..0f8bc2471e3 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -43,7 +43,7 @@ let
 
     ANALYTICS_REPORTING_ENABLED = boolToString cfg.analytics.reporting.enable;
 
-    SMTP_ENABLE = boolToString cfg.smtp.enable;
+    SMTP_ENABLED = boolToString cfg.smtp.enable;
     SMTP_HOST = cfg.smtp.host;
     SMTP_USER = cfg.smtp.user;
     SMTP_PASSWORD = cfg.smtp.password;
diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix
index 6a3b9776946..4128bc12030 100644
--- a/nixos/modules/services/monitoring/nagios.nix
+++ b/nixos/modules/services/monitoring/nagios.nix
@@ -8,6 +8,7 @@ let
 
   nagiosState = "/var/lib/nagios";
   nagiosLogDir = "/var/log/nagios";
+  urlPath = "/nagios";
 
   nagiosObjectDefs = cfg.objectDefs;
 
@@ -49,12 +50,12 @@ let
     ''
       main_config_file=${cfg.mainConfigFile}
       use_authentication=0
-      url_html_path=${cfg.urlPath}
+      url_html_path=${urlPath}
     '';
 
   extraHttpdConfig =
     ''
-      ScriptAlias ${cfg.urlPath}/cgi-bin ${pkgs.nagios}/sbin
+      ScriptAlias ${urlPath}/cgi-bin ${pkgs.nagios}/sbin
 
       <Directory "${pkgs.nagios}/sbin">
         Options ExecCGI
@@ -62,7 +63,7 @@ let
         SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile}
       </Directory>
 
-      Alias ${cfg.urlPath} ${pkgs.nagios}/share
+      Alias ${urlPath} ${pkgs.nagios}/share
 
       <Directory "${pkgs.nagios}/share">
         Options None
@@ -72,6 +73,10 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "nagios" "urlPath" ] "The urlPath option has been removed as it is hard coded to /nagios in the nagios package.")
+  ];
+
   options = {
     services.nagios = {
       enable = mkOption {
@@ -128,13 +133,20 @@ in
         ";
       };
 
-      urlPath = mkOption {
-        default = "/nagios";
-        description = "
-          The URL path under which the Nagios web interface appears.
-          That is, you can access the Nagios web interface through
-          <literal>http://<replaceable>server</replaceable>/<replaceable>urlPath</replaceable></literal>.
-        ";
+      virtualHost = mkOption {
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+        example = literalExample ''
+          { hostName = "example.org";
+            adminAddr = "webmaster@example.org";
+            enableSSL = true;
+            sslServerCert = "/var/lib/acme/example.org/full.pem";
+            sslServerKey = "/var/lib/acme/example.org/key.pem";
+          }
+        '';
+        description = ''
+          Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
+          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        '';
       };
     };
   };
@@ -182,6 +194,8 @@ in
       '';
     };
 
-    services.httpd.extraConfig = optionalString cfg.enableWebInterface extraHttpdConfig;
+    services.httpd.virtualHosts = optionalAttrs cfg.enableWebInterface {
+      ${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost { extraConfig = extraHttpdConfig; } ];
+    };
   };
 }
diff --git a/nixos/modules/services/monitoring/osquery.nix b/nixos/modules/services/monitoring/osquery.nix
deleted file mode 100644
index c8c625577d3..00000000000
--- a/nixos/modules/services/monitoring/osquery.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with builtins;
-with lib;
-
-let
-  cfg = config.services.osquery;
-
-in
-
-{
-
-  options = {
-
-    services.osquery = {
-
-      enable = mkEnableOption "osquery";
-
-      loggerPath = mkOption {
-        type = types.path;
-        description = "Base directory used for logging.";
-        default = "/var/log/osquery";
-      };
-
-      pidfile = mkOption {
-        type = types.path;
-        description = "Path used for pid file.";
-        default = "/var/osquery/osqueryd.pidfile";
-      };
-
-      utc = mkOption {
-        type = types.bool;
-        description = "Attempt to convert all UNIX calendar times to UTC.";
-        default = true;
-      };
-
-      databasePath = mkOption {
-        type = types.path;
-        description = "Path used for database file.";
-        default = "/var/osquery/osquery.db";
-      };
-
-      extraConfig = mkOption {
-        type = types.attrs // {
-          merge = loc: foldl' (res: def: recursiveUpdate res def.value) {};
-        };
-        description = "Extra config to be recursively merged into the JSON config file.";
-        default = { };
-      };
-    };
-
-  };
-
-  config = mkIf cfg.enable {
-
-    environment.systemPackages = [ pkgs.osquery ];
-
-    environment.etc."osquery/osquery.conf".text = toJSON (
-      recursiveUpdate {
-        options = {
-          config_plugin = "filesystem";
-          logger_plugin = "filesystem";
-          logger_path = cfg.loggerPath;
-          database_path = cfg.databasePath;
-          utc = cfg.utc;
-        };
-      } cfg.extraConfig
-    );
-
-    systemd.services.osqueryd = {
-      description = "The osquery Daemon";
-      after = [ "network.target" "syslog.service" ];
-      wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.osquery ];
-      preStart = ''
-        mkdir -p ${escapeShellArg cfg.loggerPath}
-        mkdir -p "$(dirname ${escapeShellArg cfg.pidfile})"
-        mkdir -p "$(dirname ${escapeShellArg cfg.databasePath})"
-      '';
-      serviceConfig = {
-        TimeoutStartSec = "infinity";
-        ExecStart = "${pkgs.osquery}/bin/osqueryd --logger_path ${escapeShellArg cfg.loggerPath} --pidfile ${escapeShellArg cfg.pidfile} --database_path ${escapeShellArg cfg.databasePath}";
-        KillMode = "process";
-        KillSignal = "SIGTERM";
-        Restart = "on-failure";
-      };
-    };
-
-  };
-
-}
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
index 11d85e9c4fc..9af6b1d94f3 100644
--- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
@@ -27,6 +27,15 @@ let
       "--log.format ${cfg.logFormat}"
   );
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
+    (mkRemovedOptionModule [ "services" "prometheus" "alertmanagerURL" ] ''
+      Due to incompatibility, the alertmanagerURL option has been removed,
+      please use 'services.prometheus2.alertmanagers' instead.
+    '')
+  ];
+
   options = {
     services.prometheus.alertmanager = {
       enable = mkEnableOption "Prometheus Alertmanager";
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 191c0bff9c8..b67f697ca0d 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -464,6 +464,11 @@ let
   };
 
 in {
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "prometheus2" ] [ "services" "prometheus" ])
+  ];
+
   options.services.prometheus = {
 
     enable = mkOption {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 35b513bac57..36ebffa4463 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -160,6 +160,24 @@ let
   };
 in
 {
+
+  imports = (lib.forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
+                   "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
+                   "snmpExporter" "unifiExporter" "varnishExporter" ]
+       (opt: lib.mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
+         The prometheus exporters are now configured using `services.prometheus.exporters'.
+         See the 18.03 release notes for more information.
+       '' ))
+
+    ++ (lib.forEach [ "enable" "substitutions" "preset" ]
+       (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
+         The fonts.fontconfig.ultimate module and configuration is obsolete.
+         The repository has since been archived and activity has ceased.
+         https://github.com/bohoomil/fontconfig-ultimate/issues/171.
+         No action should be needed for font configuration, as the fonts.fontconfig
+         module is already used by default.
+       '' ));
+
   options.services.prometheus.exporters = mkOption {
     type = types.submodule {
       options = (mkSubModules);
@@ -197,6 +215,9 @@ in
     services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
   })] ++ [(mkIf config.services.rspamd.enable {
     services.prometheus.exporters.rspamd.url = mkDefault "http://localhost:11334/stat";
+  })] ++ [(mkIf config.services.nginx.enable {
+    systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
+    systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
   })] ++ (mapAttrsToList (name: conf:
     mkExporterConf {
       inherit name;
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index e9f1590760a..b4e4378ce1e 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -44,6 +44,11 @@ let
 in
 
 {
+  imports = [
+    (lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
+    (lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
+  ];
+
   # interface
 
   options = {
diff --git a/nixos/modules/services/network-filesystems/beegfs.nix b/nixos/modules/services/network-filesystems/beegfs.nix
deleted file mode 100644
index 2e03a422665..00000000000
--- a/nixos/modules/services/network-filesystems/beegfs.nix
+++ /dev/null
@@ -1,357 +0,0 @@
-{ config, lib, pkgs, ...} :
-
-with lib;
-
-let
-  cfg = config.services.beegfs;
-
-  # functions for the generations of config files
-
-  configMgmtd = name: cfg: pkgs.writeText "mgmt-${name}.conf" ''
-    storeMgmtdDirectory = ${cfg.mgmtd.storeDir}
-    storeAllowFirstRunInit = false
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.mgmtd.extraConfig}
-  '';
-
-  configAdmon = name: cfg: pkgs.writeText "admon-${name}.conf" ''
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.admon.extraConfig}
-  '';
-
-  configMeta = name: cfg: pkgs.writeText "meta-${name}.conf" ''
-    storeMetaDirectory = ${cfg.meta.storeDir}
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-    storeAllowFirstRunInit = false
-
-    ${cfg.meta.extraConfig}
-  '';
-
-  configStorage = name: cfg: pkgs.writeText "storage-${name}.conf" ''
-    storeStorageDirectory = ${cfg.storage.storeDir}
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-    storeAllowFirstRunInit = false
-
-    ${cfg.storage.extraConfig}
-  '';
-
-  configHelperd = name: cfg: pkgs.writeText "helperd-${name}.conf" ''
-    connAuthFile = ${cfg.connAuthFile}
-    ${cfg.helperd.extraConfig}
-  '';
-
-  configClientFilename = name : "/etc/beegfs/client-${name}.conf";
-
-  configClient = name: cfg: ''
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.client.extraConfig}
-  '';
-
-  serviceList = [
-    { service = "admon"; cfgFile = configAdmon; }
-    { service = "meta"; cfgFile = configMeta; }
-    { service = "mgmtd"; cfgFile = configMgmtd; }
-    { service = "storage"; cfgFile = configStorage; }
-  ];
-
-  # functions to generate systemd.service entries
-
-  systemdEntry = service: cfgFile: (mapAttrs' ( name: cfg:
-    (nameValuePair "beegfs-${service}-${name}" (mkIf cfg.${service}.enable {
-    wantedBy = [ "multi-user.target" ];
-    requires = [ "network-online.target" ];
-    after = [ "network-online.target" ];
-    serviceConfig = rec {
-      ExecStart = ''
-        ${pkgs.beegfs}/bin/beegfs-${service} \
-          cfgFile=${cfgFile name cfg} \
-          pidFile=${PIDFile}
-      '';
-      PIDFile = "/run/beegfs-${service}-${name}.pid";
-      TimeoutStopSec = "300";
-    };
-  }))) cfg);
-
-  systemdHelperd =  mapAttrs' ( name: cfg:
-    (nameValuePair "beegfs-helperd-${name}" (mkIf cfg.client.enable {
-    wantedBy = [ "multi-user.target" ];
-    requires = [ "network-online.target" ];
-    after = [ "network-online.target" ];
-    serviceConfig = rec {
-      ExecStart = ''
-        ${pkgs.beegfs}/bin/beegfs-helperd \
-          cfgFile=${configHelperd name cfg} \
-          pidFile=${PIDFile}
-      '';
-      PIDFile = "/run/beegfs-helperd-${name}.pid";
-      TimeoutStopSec = "300";
-    };
-   }))) cfg;
-
-  # wrappers to beegfs tools. Avoid typing path of config files
-  utilWrappers = mapAttrsToList ( name: cfg:
-    ( pkgs.runCommand "beegfs-utils-${name}" {
-        nativeBuildInputs = [ pkgs.makeWrapper ];
-        preferLocalBuild = true;
-        } ''
-        mkdir -p $out/bin
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \
-                    $out/bin/beegfs-check-servers-${name} \
-                    --add-flags "-c ${configClientFilename name}" \
-                    --prefix PATH : ${lib.makeBinPath [ pkgs.beegfs ]}
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
-                    $out/bin/beegfs-ctl-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}"
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
-                    $out/bin/beegfs-df-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}" \
-                    --add-flags --listtargets  \
-                    --add-flags --hidenodeid \
-                    --add-flags --pools \
-                    --add-flags --spaceinfo
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-fsck \
-                    $out/bin/beegfs-fsck-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}"
-      ''
-     )) cfg;
-in
-{
-  ###### interface
-
-  options = {
-    services.beegfsEnable = mkEnableOption "BeeGFS";
-
-    services.beegfs = mkOption {
-      default = {};
-      description = ''
-        BeeGFS configurations. Every mount point requires a separate configuration.
-      '';
-      type = with types; attrsOf (submodule ({ ... } : {
-        options = {
-          mgmtdHost = mkOption {
-            type = types.str;
-            default = null;
-            example = "master";
-            description = ''Hostname of managament host.'';
-          };
-
-          connAuthFile = mkOption {
-            type = types.str;
-            default = "";
-            example = "/etc/my.key";
-            description = "File containing shared secret authentication.";
-          };
-
-          connPortShift = mkOption {
-            type = types.int;
-            default = 0;
-            example = 5;
-            description = ''
-              For each additional beegfs configuration shift all
-              service TCP/UDP ports by at least 5.
-            '';
-          };
-
-          client = {
-            enable = mkEnableOption "BeeGFS client";
-
-            mount = mkOption {
-              type = types.bool;
-              default = true;
-              description = "Create fstab entry automatically";
-            };
-
-            mountPoint = mkOption {
-              type = types.str;
-              default = "/run/beegfs";
-              description = ''
-                Mount point under which the beegfs filesytem should be mounted.
-                If mounted manually the mount option specifing the config file is needed:
-                cfgFile=/etc/beegfs/beegfs-client-&lt;name&gt;.conf
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-client.conf.
-                See documentation for further details.
-             '';
-            };
-          };
-
-          helperd = {
-            enable = mkOption {
-              type = types.bool;
-              default = true;
-              description = ''
-                Enable the BeeGFS helperd.
-                The helpered is need for logging purposes on the client.
-                Disabling <literal>helperd</literal> allows for runing the client
-                with <literal>allowUnfree = false</literal>.
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-helperd.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          mgmtd = {
-            enable = mkEnableOption "BeeGFS mgmtd daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-mgmtd";
-              description = ''
-                Data directory for mgmtd.
-                Must not be shared with other beegfs daemons.
-                This directory must exist and it must be initialized
-                with beegfs-setup-mgmtd, e.g. "beegfs-setup-mgmtd -C -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-mgmtd.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          admon = {
-            enable = mkEnableOption "BeeGFS admon daemon";
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-admon.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          meta = {
-            enable = mkEnableOption "BeeGFS meta data daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-meta";
-              description = ''
-                Data directory for meta data service.
-                Must not be shared with other beegfs daemons.
-                The underlying filesystem must be mounted with xattr turned on.
-                This directory must exist and it must be initialized
-                with beegfs-setup-meta, e.g.
-                "beegfs-setup-meta -C -s &lt;serviceID&gt; -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.str;
-              default = "";
-              description = ''
-                Additional lines for beegfs-meta.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          storage = {
-            enable = mkEnableOption "BeeGFS storage daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-storage";
-              description = ''
-                Data directories for storage service.
-                Must not be shared with other beegfs daemons.
-                The underlying filesystem must be mounted with xattr turned on.
-                This directory must exist and it must be initialized
-                with beegfs-setup-storage, e.g.
-                "beegfs-setup-storage -C -s &lt;serviceID&gt; -i &lt;storageTargetID&gt; -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.str;
-              default = "";
-              description = ''
-                Addional lines for beegfs-storage.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-        };
-      }));
-    };
-  };
-
-  ###### implementation
-
-  config =
-    mkIf config.services.beegfsEnable {
-
-    environment.systemPackages = utilWrappers;
-
-    # Put the client.conf files in /etc since they are needed
-    # by the commandline tools
-    environment.etc = mapAttrs' ( name: cfg:
-      (nameValuePair "beegfs/client-${name}.conf" (mkIf (cfg.client.enable)
-    {
-      enable = true;
-      text = configClient name cfg;
-    }))) cfg;
-
-    # Kernel module, we need it only once per host.
-    boot = mkIf (
-      foldr (a: b: a || b) false
-        (map (x: x.client.enable) (collect (x: x ? client) cfg)))
-    {
-      kernelModules = [ "beegfs" ];
-      extraModulePackages = [ pkgs.linuxPackages.beegfs-module ];
-    };
-
-    # generate fstab entries
-    fileSystems = mapAttrs' (name: cfg:
-      (nameValuePair cfg.client.mountPoint (optionalAttrs cfg.client.mount (mkIf cfg.client.enable {
-      device = "beegfs_nodev";
-      fsType = "beegfs";
-      mountPoint = cfg.client.mountPoint;
-      options = [ "cfgFile=${configClientFilename name}" "_netdev" ];
-    })))) cfg;
-
-    # generate systemd services
-    systemd.services = systemdHelperd //
-      foldr (a: b: a // b) {}
-        (map (x: systemdEntry x.service x.cfgFile) serviceList);
-  };
-}
diff --git a/nixos/modules/services/network-filesystems/ceph.nix b/nixos/modules/services/network-filesystems/ceph.nix
index 656a2d21b86..543a7b25d5d 100644
--- a/nixos/modules/services/network-filesystems/ceph.nix
+++ b/nixos/modules/services/network-filesystems/ceph.nix
@@ -9,12 +9,14 @@ let
   expandCamelCase = replaceStrings upperChars (map (s: " ${s}") lowerChars);
   expandCamelCaseAttrs = mapAttrs' (name: value: nameValuePair (expandCamelCase name) value);
 
-  makeServices = (daemonType: daemonIds: extraServiceConfig:
+  makeServices = (daemonType: daemonIds:
     mkMerge (map (daemonId:
-      { "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName pkgs.ceph extraServiceConfig; })
+      { "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName pkgs.ceph; })
       daemonIds));
 
-  makeService = (daemonType: daemonId: clusterName: ceph: extraServiceConfig: {
+  makeService = (daemonType: daemonId: clusterName: ceph:
+    let
+      stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
     enable = true;
     description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}";
     after = [ "network-online.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target";
@@ -22,6 +24,11 @@ let
     partOf = [ "ceph-${daemonType}.target" ];
     wantedBy = [ "ceph-${daemonType}.target" ];
 
+    path = [ pkgs.getopt ];
+
+    # Don't start services that are not yet initialized
+    unitConfig.ConditionPathExists = "/var/lib/${stateDirectory}/keyring";
+
     serviceConfig = {
       LimitNOFILE = 1048576;
       LimitNPROC = 1048576;
@@ -34,22 +41,22 @@ let
       Restart = "on-failure";
       StartLimitBurst = "5";
       StartLimitInterval = "30min";
+      StateDirectory = stateDirectory;
+      User = "ceph";
+      Group = if daemonType == "osd" then "disk" else "ceph";
       ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
-                    -f --cluster ${clusterName} --id ${daemonId} --setuser ceph \
-                    --setgroup ${if daemonType == "osd" then "disk" else "ceph"}'';
-    } // extraServiceConfig
-      // optionalAttrs (daemonType == "osd") { ExecStartPre = ''${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh \
-                                                              --id ${daemonId} --cluster ${clusterName}''; };
-    } // optionalAttrs (builtins.elem daemonType [ "mds" "mon" "rgw" "mgr" ]) {
-      preStart = ''
-        daemonPath="/var/lib/ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"
-        if [ ! -d $daemonPath ]; then
-          mkdir -m 755 -p $daemonPath
-          chown -R ceph:ceph $daemonPath
-        fi
-      '';
-    } // optionalAttrs (daemonType == "osd") { path = [ pkgs.getopt ]; }
-  );
+                    -f --cluster ${clusterName} --id ${daemonId}'';
+    } // optionalAttrs (daemonType == "osd") {
+      ExecStartPre = ''${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}'';
+      StartLimitBurst = "30";
+      RestartSec = "20s";
+      PrivateDevices = "no"; # osd needs disk access
+    } // optionalAttrs ( daemonType == "mon") {
+      RestartSec = "10";
+    } // optionalAttrs (lib.elem daemonType ["mgr" "mds"]) {
+      StartLimitBurst = "3";
+    };
+  });
 
   makeTarget = (daemonType:
     {
@@ -58,6 +65,7 @@ let
         partOf = [ "ceph.target" ];
         wantedBy = [ "ceph.target" ];
         before = [ "ceph.target" ];
+        unitConfig.StopWhenUnneeded = true;
       };
     }
   );
@@ -377,22 +385,22 @@ in
 
     systemd.services = let
       services = []
-        ++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons { RestartSec = "10"; })
-        ++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons { StartLimitBurst = "3"; })
-        ++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons { StartLimitBurst = "30";
-                                                                         RestartSec = "20s";
-                                                                         PrivateDevices = "no"; # osd needs disk access
-                                                                       })
-        ++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons { })
-        ++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons { StartLimitBurst = "3"; });
+        ++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
+        ++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
+        ++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
+        ++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
+        ++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
       in
         mkMerge services;
 
     systemd.targets = let
       targets = [
-        { ceph = { description = "Ceph target allowing to start/stop all ceph service instances at once";
-                     wantedBy = [ "multi-user.target" ]; }; }
-      ] ++ optional cfg.mon.enable (makeTarget "mon")
+        { ceph = {
+          description = "Ceph target allowing to start/stop all ceph service instances at once";
+          wantedBy = [ "multi-user.target" ];
+          unitConfig.StopWhenUnneeded = true;
+        }; } ]
+        ++ optional cfg.mon.enable (makeTarget "mon")
         ++ optional cfg.mds.enable (makeTarget "mds")
         ++ optional cfg.osd.enable (makeTarget "osd")
         ++ optional cfg.rgw.enable (makeTarget "rgw")
@@ -401,7 +409,11 @@ in
         mkMerge targets;
 
     systemd.tmpfiles.rules = [
+      "d /etc/ceph - ceph ceph - -"
       "d /run/ceph 0770 ceph ceph -"
-    ];
+      "d /var/lib/ceph - ceph ceph - -"]
+    ++ optionals cfg.mgr.enable [ "d /var/lib/ceph/mgr - ceph ceph - -"]
+    ++ optionals cfg.mon.enable [ "d /var/lib/ceph/mon - ceph ceph - -"]
+    ++ optionals cfg.osd.enable [ "d /var/lib/ceph/osd - ceph ceph - -"];
   };
 }
diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix
index 1a78f9a76a3..1b62bfa8203 100644
--- a/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixos/modules/services/network-filesystems/nfsd.nix
@@ -11,6 +11,10 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
+    (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index ce565dbaab8..a3c22ce6948 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -12,11 +12,6 @@ let
 
   samba = cfg.package;
 
-  setupScript =
-    ''
-      mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
-    '';
-
   shareConfig = name:
     let share = getAttr name cfg.shares; in
     "[${name}]\n " + (smbToString (
@@ -45,7 +40,7 @@ let
   daemonService = appName: args:
     { description = "Samba Service Daemon ${appName}";
 
-      after = [ "network.target" ];
+      after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
       requiredBy = [ "samba.target" ];
       partOf = [ "samba.target" ];
 
@@ -62,6 +57,7 @@ let
         Type = "notify";
         NotifyAccess = "all"; #may not do anything...
       };
+      unitConfig.RequiresMountsFor = "/var/lib/samba";
 
       restartTriggers = [ configFile ];
     };
@@ -69,6 +65,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "")
+  ];
 
   ###### interface
 
@@ -119,7 +118,7 @@ in
         type = types.package;
         default = pkgs.samba;
         defaultText = "pkgs.samba";
-        example = literalExample "pkgs.samba3";
+        example = literalExample "pkgs.samba4Full";
         description = ''
           Defines which package should be used for the samba server.
         '';
@@ -228,8 +227,7 @@ in
         systemd = {
           targets.samba = {
             description = "Samba Server";
-            requires = [ "samba-setup.service" ];
-            after = [ "samba-setup.service" "network.target" ];
+            after = [ "network.target" ];
             wantedBy = [ "multi-user.target" ];
           };
           # Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
@@ -238,12 +236,13 @@ in
             samba-smbd = daemonService "smbd" "";
             samba-nmbd = mkIf cfg.enableNmbd (daemonService "nmbd" "");
             samba-winbindd = mkIf cfg.enableWinbindd (daemonService "winbindd" "");
-            samba-setup = {
-              description = "Samba Setup Task";
-              script = setupScript;
-              unitConfig.RequiresMountsFor = "/var/lib/samba";
-            };
           };
+          tmpfiles.rules = [
+            "d /var/lock/samba - - - - -"
+            "d /var/log/samba - - - - -"
+            "d /var/cache/samba - - - - -"
+            "d /var/lib/samba/private - - - - -"
+          ];
         };
 
         security.pam.services.samba = {};
diff --git a/nixos/modules/services/networking/3proxy.nix b/nixos/modules/services/networking/3proxy.nix
new file mode 100644
index 00000000000..26aa1667946
--- /dev/null
+++ b/nixos/modules/services/networking/3proxy.nix
@@ -0,0 +1,424 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  pkg = pkgs._3proxy;
+  cfg = config.services._3proxy;
+  optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
+in {
+  options.services._3proxy = {
+    enable = mkEnableOption "3proxy";
+    confFile = mkOption {
+      type = types.path;
+      example = "/var/lib/3proxy/3proxy.conf";
+      description = ''
+        Ignore all other 3proxy options and load configuration from this file.
+      '';
+    };
+    usersFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/var/lib/3proxy/3proxy.passwd";
+      description = ''
+        Load users and passwords from this file.
+
+        Example users file with plain-text passwords:
+
+        <literal>
+          test1:CL:password1
+          test2:CL:password2
+        </literal>
+
+        Example users file with md5-crypted passwords:
+
+        <literal>
+          test1:CR:$1$tFkisVd2$1GA8JXkRmTXdLDytM/i3a1
+          test2:CR:$1$rkpibm5J$Aq1.9VtYAn0JrqZ8M.1ME.
+        </literal>
+
+        You can generate md5-crypted passwords via https://unix4lyfe.org/crypt/
+        Note that htpasswd tool generates incompatible md5-crypted passwords.
+        Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/How-To-(incomplete)#USERS">documentation</link> for more information.
+      '';
+    };
+    services = mkOption {
+      type = types.listOf (types.submodule {
+        options = {
+          type = mkOption {
+            type = types.enum [
+              "proxy"
+              "socks"
+              "pop3p"
+              "ftppr"
+              "admin"
+              "dnspr"
+              "tcppm"
+              "udppm"
+            ];
+            example = "proxy";
+            description = ''
+              Service type. The following values are valid:
+
+              <itemizedlist>
+                <listitem><para>
+                  <literal>"proxy"</literal>: HTTP/HTTPS proxy (default port 3128).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"socks"</literal>: SOCKS 4/4.5/5 proxy (default port 1080).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"pop3p"</literal>: POP3 proxy (default port 110).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"ftppr"</literal>: FTP proxy (default port 21).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"admin"</literal>: Web interface (default port 80).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"dnspr"</literal>: Caching DNS proxy (default port 53).
+                </para></listitem>
+                <listitem><para>
+                  <literal>"tcppm"</literal>: TCP portmapper.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"udppm"</literal>: UDP portmapper.
+                </para></listitem>
+              </itemizedlist>
+            '';
+          };
+          bindAddress = mkOption {
+            type = types.str;
+            default = "[::]";
+            example = "127.0.0.1";
+            description = ''
+              Address used for service.
+            '';
+          };
+          bindPort = mkOption {
+            type = types.nullOr types.int;
+            default = null;
+            example = 3128;
+            description = ''
+              Override default port used for service.
+            '';
+          };
+          maxConnections = mkOption {
+            type = types.int;
+            default = 100;
+            example = 1000;
+            description = ''
+              Maximum number of simulationeous connections to this service.
+            '';
+          };
+          auth = mkOption {
+            type = types.listOf (types.enum [ "none" "iponly" "strong" ]);
+            example = [ "iponly" "strong" ];
+            description = ''
+              Authentication type. The following values are valid:
+
+              <itemizedlist>
+                <listitem><para>
+                  <literal>"none"</literal>: disables both authentication and authorization. You can not use ACLs.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"iponly"</literal>: specifies no authentication. ACLs authorization is used.
+                </para></listitem>
+                <listitem><para>
+                  <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
+                </para></listitem>
+              </itemizedlist>
+
+              Double authentication is possible, e.g.
+
+              <literal>
+                {
+                  auth = [ "iponly" "strong" ];
+                  acl = [
+                    {
+                      rule = "allow";
+                      targets = [ "192.168.0.0/16" ];
+                    }
+                    {
+                      rule = "allow"
+                      users = [ "user1" "user2" ];
+                    }
+                  ];
+                }
+              </literal>
+              In this example strong username authentication is not required to access 192.168.0.0/16.
+            '';
+          };
+          acl = mkOption {
+            type = types.listOf (types.submodule {
+              options = {
+                rule = mkOption {
+                  type = types.enum [ "allow" "deny" ];
+                  example = "allow";
+                  description = ''
+                    ACL rule. The following values are valid:
+
+                    <itemizedlist>
+                      <listitem><para>
+                        <literal>"allow"</literal>: connections allowed.
+                      </para></listitem>
+                      <listitem><para>
+                        <literal>"deny"</literal>: connections not allowed.
+                      </para></listitem>
+                    </itemizedlist>
+                  '';
+                };
+                users = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "user1" "user2" "user3" ];
+                  description = ''
+                    List of users, use empty list for any.
+                  '';
+                };
+                sources = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "127.0.0.1" "192.168.1.0/24" ];
+                  description = ''
+                    List of source IP range, use empty list for any.
+                  '';
+                };
+                targets = mkOption {
+                  type = types.listOf types.str;
+                  default = [ ];
+                  example = [ "127.0.0.1" "192.168.1.0/24" ];
+                  description = ''
+                    List of target IP ranges, use empty list for any.
+                    May also contain host names instead of addresses.
+                    It's possible to use wildmask in the begginning and in the the end of hostname, e.g. *badsite.com or *badcontent*.
+                    Hostname is only checked if hostname presents in request.
+                  '';
+                };
+                targetPorts = mkOption {
+                  type = types.listOf types.int;
+                  default = [ ];
+                  example = [ 80 443 ];
+                  description = ''
+                    List of target ports, use empty list for any.
+                  '';
+                };
+              };
+            });
+            default = [ ];
+            example = literalExample ''
+              [
+                {
+                  rule = "allow";
+                  users = [ "user1" ];
+                }
+                {
+                  rule = "allow";
+                  sources = [ "192.168.1.0/24" ];
+                }
+                {
+                  rule = "deny";
+                }
+              ]
+            '';
+            description = ''
+              Use this option to limit user access to resources.
+            '';
+          };
+          extraArguments = mkOption {
+            type = types.nullOr types.str;
+            default = null;
+            example = "-46";
+            description = ''
+              Extra arguments for service.
+              Consult "Options" section in <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available arguments.
+            '';
+          };
+          extraConfig = mkOption {
+            type = types.nullOr types.lines;
+            default = null;
+            description = ''
+              Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection.
+              Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
+            '';
+          };
+        };
+      });
+      default = [ ];
+      example = literalExample ''
+        [
+          {
+            type = "proxy";
+            bindAddress = "192.168.1.24";
+            bindPort = 3128;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindAddress = "10.10.1.20";
+            bindPort = 3128;
+            auth = [ "iponly" ];
+          }
+          {
+            type = "socks";
+            bindAddress = "172.17.0.1";
+            bindPort = 1080;
+            auth = [ "strong" ];
+          }
+        ]
+      '';
+      description = ''
+        Use this option to define 3proxy services.
+      '';
+    };
+    denyPrivate = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether to deny access to private IP ranges including loopback.
+      '';
+    };
+    privateRanges = mkOption {
+      type = types.listOf types.str;
+      default = [
+        "0.0.0.0/8"
+        "127.0.0.0/8"
+        "10.0.0.0/8"
+        "100.64.0.0/10"
+        "172.16.0.0/12"
+        "192.168.0.0/16"
+        "::"
+        "::1"
+        "fc00::/7"
+      ];
+      example = [
+        "0.0.0.0/8"
+        "127.0.0.0/8"
+        "10.0.0.0/8"
+        "100.64.0.0/10"
+        "172.16.0.0/12"
+        "192.168.0.0/16"
+        "::"
+        "::1"
+        "fc00::/7"
+      ];
+      description = ''
+        What IP ranges to deny access when denyPrivate is set tu true.
+      '';
+    };
+    resolution = mkOption {
+      type = types.submodule {
+        options = {
+          nserver = mkOption {
+            type = types.listOf types.str;
+            default = [ ];
+            example = [ "127.0.0.53" "192.168.1.3:5353/tcp" ];
+            description = ''
+              List of nameservers to use.
+
+              Up to 5 nservers may be specified. If no nserver is configured,
+              default system name resolution functions are used.
+            '';
+          };
+          nscache = mkOption {
+            type = types.int;
+            default = 65535;
+            example = 65535;
+            description = "Set name cache size for IPv4.";
+          };
+          nscache6 = mkOption {
+            type = types.int;
+            default = 65535;
+            example = 65535;
+            description = "Set name cache size for IPv6.";
+          };
+          nsrecord = mkOption {
+            type = types.attrsOf types.str;
+            default = { };
+            example = {
+              "files.local" = "192.168.1.12";
+              "site.local" = "192.168.1.43";
+            };
+            description = "Adds static nsrecords.";
+          };
+        };
+      };
+      default = { };
+      description = ''
+        Use this option to configure name resolution and DNS caching.
+      '';
+    };
+    extraConfig = mkOption {
+      type = types.nullOr types.lines;
+      default = null;
+      description = ''
+        Extra configuration, appended to the 3proxy configuration file.
+        Consult <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg">documentation</link> for available options.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services._3proxy.confFile = mkDefault (pkgs.writeText "3proxy.conf" ''
+      # log to stdout
+      log
+
+      ${concatMapStringsSep "\n" (x: "nserver " + x) cfg.resolution.nserver}
+
+      nscache ${toString cfg.resolution.nscache}
+      nscache6 ${toString cfg.resolution.nscache6}
+
+      ${concatMapStringsSep "\n" (x: "nsrecord " + x)
+      (mapAttrsToList (name: value: "${name} ${value}")
+        cfg.resolution.nsrecord)}
+
+      ${optionalString (cfg.usersFile != null)
+        ''users $"${cfg.usersFile}"''
+      }
+
+      ${concatMapStringsSep "\n" (service: ''
+        auth ${concatStringsSep " " service.auth}
+
+        ${optionalString (cfg.denyPrivate)
+        "deny * * ${optionalList cfg.privateRanges}"}
+
+        ${concatMapStringsSep "\n" (acl:
+          "${acl.rule} ${
+            concatMapStringsSep " " optionalList [
+              acl.users
+              acl.sources
+              acl.targets
+              acl.targetPorts
+            ]
+          }") service.acl}
+
+        maxconn ${toString service.maxConnections}
+
+        ${optionalString (service.extraConfig != null) service.extraConfig}
+
+        ${service.type} -i${toString service.bindAddress} ${
+          optionalString (service.bindPort != null)
+          "-p${toString service.bindPort}"
+        } ${
+          optionalString (service.extraArguments != null) service.extraArguments
+        }
+
+        flush
+      '') cfg.services}
+      ${optionalString (cfg.extraConfig != null) cfg.extraConfig}
+    '');
+    systemd.services."3proxy" = {
+      description = "Tiny free proxy server";
+      documentation = [ "https://github.com/z3APA3A/3proxy/wiki" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        StateDirectory = "3proxy";
+        ExecStart = "${pkg}/bin/3proxy ${cfg.confFile}";
+        Restart = "on-failure";
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ misuzu ];
+}
diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix
index 06af4dbcca4..d09c6735e12 100644
--- a/nixos/modules/services/networking/bind.nix
+++ b/nixos/modules/services/networking/bind.nix
@@ -78,7 +78,11 @@ in
       cacheNetworks = mkOption {
         default = ["127.0.0.0/24"];
         description = "
-          What networks are allowed to use us as a resolver.
+          What networks are allowed to use us as a resolver.  Note
+          that this is for recursive queries -- all networks are
+          allowed to query zones configured with the `zones` option.
+          It is recommended that you limit cacheNetworks to avoid your
+          server being used for DNS amplification attacks.
         ";
       };
 
diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix
index 90f1291c019..4e00a886547 100644
--- a/nixos/modules/services/networking/bitcoind.nix
+++ b/nixos/modules/services/networking/bitcoind.nix
@@ -177,9 +177,6 @@ in {
         NoNewPrivileges = "true";
         PrivateDevices = "true";
         MemoryDenyWriteExecute = "true";
-
-        # Permission for preStart
-        PermissionsStartOnly = "true";
       };
     };
     users.users.${cfg.user} = {
diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
index 31127f79049..8402be939fe 100644
--- a/nixos/modules/services/networking/connman.nix
+++ b/nixos/modules/services/networking/connman.nix
@@ -4,7 +4,7 @@ with pkgs;
 with lib;
 
 let
-  cfg = config.networking.connman;
+  cfg = config.services.connman;
   configFile = pkgs.writeText "connman.conf" ''
     [General]
     NetworkInterfaceBlacklist=${concatStringsSep "," cfg.networkInterfaceBlacklist}
@@ -13,11 +13,15 @@ let
   '';
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
+  ];
+
   ###### interface
 
   options = {
 
-    networking.connman = {
+    services.connman = {
 
       enable = mkOption {
         type = types.bool;
@@ -71,13 +75,13 @@ in {
 
     assertions = [{
       assertion = !config.networking.useDHCP;
-      message = "You can not use services.networking.connman with services.networking.useDHCP";
+      message = "You can not use services.connman with networking.useDHCP";
     }{
       assertion = config.networking.wireless.enable;
-      message = "You must use services.networking.connman with services.networking.wireless";
+      message = "You must use services.connman with networking.wireless";
     }{
       assertion = !config.networking.networkmanager.enable;
-      message = "You can not use services.networking.connman with services.networking.networkmanager";
+      message = "You can not use services.connman with networking.networkmanager";
     }];
 
     environment.systemPackages = [ connman ];
diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index 04ce5ca3a87..053efe71270 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -30,6 +30,14 @@ with lib;
 
 {
 
+  imports = [
+    (mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
+      (config:
+        let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
+        in if value != "" then [ value ] else []))
+    (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix
index 0b2063bc424..67f7d811887 100644
--- a/nixos/modules/services/networking/dhcpd.nix
+++ b/nixos/modules/services/networking/dhcpd.nix
@@ -182,6 +182,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix
index 5b58ea9b0c9..2586f2d74e9 100644
--- a/nixos/modules/services/networking/dnschain.nix
+++ b/nixos/modules/services/networking/dnschain.nix
@@ -137,7 +137,7 @@ in
       ];
 
     services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries {
-      forwardZones =
+      forwardZonesRecurse =
         { bit = "127.0.0.1:${toString cfg.dns.port}";
           dns = "127.0.0.1:${toString cfg.dns.port}";
         };
@@ -180,4 +180,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/dnscrypt-wrapper.nix b/nixos/modules/services/networking/dnscrypt-wrapper.nix
index 79f9e1a4308..e53fb7a1578 100644
--- a/nixos/modules/services/networking/dnscrypt-wrapper.nix
+++ b/nixos/modules/services/networking/dnscrypt-wrapper.nix
@@ -197,4 +197,7 @@ in {
     };
 
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/dnsdist.nix b/nixos/modules/services/networking/dnsdist.nix
index 12eee136e63..8249da69bc1 100644
--- a/nixos/modules/services/networking/dnsdist.nix
+++ b/nixos/modules/services/networking/dnsdist.nix
@@ -46,11 +46,10 @@ in {
         RestartSec="1";
         DynamicUser = true;
         StartLimitInterval="0";
-        PrivateTmp=true;
         PrivateDevices=true;
-        CapabilityBoundingSet="CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
+        AmbientCapabilities="CAP_NET_BIND_SERVICE";
+        CapabilityBoundingSet="CAP_NET_BIND_SERVICE";
         ExecStart = "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}";
-        ProtectSystem="full";
         ProtectHome=true;
         RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6";
         LimitNOFILE="16384";
diff --git a/nixos/modules/services/networking/eternal-terminal.nix b/nixos/modules/services/networking/eternal-terminal.nix
index be7337ece7e..a2e5b30dc0f 100644
--- a/nixos/modules/services/networking/eternal-terminal.nix
+++ b/nixos/modules/services/networking/eternal-terminal.nix
@@ -23,6 +23,8 @@ in
         type = types.int;
         description = ''
           The port the server should listen on. Will use the server's default (2022) if not specified.
+
+          Make sure to open this port in the firewall if necessary.
         '';
       };
 
@@ -86,4 +88,8 @@ in
       };
     };
   };
+
+  meta = {
+    maintainers = with lib.maintainers; [ pingiun ];
+  };
 }
diff --git a/nixos/modules/services/networking/fakeroute.nix b/nixos/modules/services/networking/fakeroute.nix
index 82a9fb729d8..7916ad4098a 100644
--- a/nixos/modules/services/networking/fakeroute.nix
+++ b/nixos/modules/services/networking/fakeroute.nix
@@ -60,4 +60,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 5919962837a..15aaf741067 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -42,16 +42,7 @@ let
 
   kernelHasRPFilter = ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") || (kernel.features.netfilterRPFilter or false);
 
-  helpers =
-    ''
-      # Helper command to manipulate both the IPv4 and IPv6 tables.
-      ip46tables() {
-        iptables -w "$@"
-        ${optionalString config.networking.enableIPv6 ''
-          ip6tables -w "$@"
-        ''}
-      }
-    '';
+  helpers = import ./helpers.nix { inherit config lib; };
 
   writeShScript = name: text: let dir = pkgs.writeScriptBin name ''
     #! ${pkgs.runtimeShell} -e
@@ -271,7 +262,7 @@ let
       apply = canonicalizePortList;
       example = [ 22 80 ];
       description =
-        '' 
+        ''
           List of TCP ports on which incoming connections are
           accepted.
         '';
@@ -282,7 +273,7 @@ let
       default = [ ];
       example = [ { from = 8999; to = 9003; } ];
       description =
-        '' 
+        ''
           A range of TCP ports on which incoming connections are
           accepted.
         '';
diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix
index 0438d0bf8d8..aff71e5e97d 100644
--- a/nixos/modules/services/networking/haproxy.nix
+++ b/nixos/modules/services/networking/haproxy.nix
@@ -1,7 +1,16 @@
 { config, lib, pkgs, ... }:
+
 let
   cfg = config.services.haproxy;
-  haproxyCfg = pkgs.writeText "haproxy.conf" cfg.config;
+
+  haproxyCfg = pkgs.writeText "haproxy.conf" ''
+    global
+      # needed for hot-reload to work without dropping packets in multi-worker mode
+      stats socket /run/haproxy/haproxy.sock mode 600 expose-fd listeners level user
+
+    ${cfg.config}
+  '';
+
 in
 with lib;
 {
@@ -25,9 +34,7 @@ with lib;
           <filename>haproxy.conf</filename>.
         '';
       };
-
     };
-
   };
 
   config = mkIf cfg.enable {
@@ -42,21 +49,16 @@ with lib;
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        Type = "forking";
-        PIDFile = "/run/haproxy.pid";
-        ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -q -f ${haproxyCfg}";
-        ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid";
-        ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid -sf $MAINPID\"";
+        DynamicUser = true;
+        Type = "notify";
+        # when running the config test, don't be quiet so we can see what goes wrong
+        ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}";
+        ExecStart = "${pkgs.haproxy}/sbin/haproxy -Ws -f ${haproxyCfg}";
+        Restart = "on-failure";
+        RuntimeDirectory = "haproxy";
+        # needed in case we bind to port < 1024
+        AmbientCapabilities = "CAP_NET_BIND_SERVICE";
       };
     };
-
-    environment.systemPackages = [ pkgs.haproxy ];
-
-    users.users.haproxy = {
-      group = "haproxy";
-      uid = config.ids.uids.haproxy;
-    };
-
-    users.groups.haproxy.gid = config.ids.uids.haproxy;
   };
 }
diff --git a/nixos/modules/services/networking/helpers.nix b/nixos/modules/services/networking/helpers.nix
new file mode 100644
index 00000000000..d7d42de0e3a
--- /dev/null
+++ b/nixos/modules/services/networking/helpers.nix
@@ -0,0 +1,11 @@
+{ config, lib, ... }: ''
+  # Helper command to manipulate both the IPv4 and IPv6 tables.
+  ip46tables() {
+    iptables -w "$@"
+    ${
+      lib.optionalString config.networking.enableIPv6 ''
+        ip6tables -w "$@"
+      ''
+    }
+  }
+''
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
index f2be417738e..e2c2275b551 100644
--- a/nixos/modules/services/networking/i2pd.nix
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -235,6 +235,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix
index 344f84374bb..97b5843bbcf 100644
--- a/nixos/modules/services/networking/iodine.nix
+++ b/nixos/modules/services/networking/iodine.nix
@@ -11,6 +11,13 @@ let
 
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ])
+    (mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ])
+    (mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ])
+    (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
+    (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
+  ];
 
   ### configuration
 
diff --git a/nixos/modules/services/networking/jormungandr.nix b/nixos/modules/services/networking/jormungandr.nix
deleted file mode 100644
index 152cceb4bf9..00000000000
--- a/nixos/modules/services/networking/jormungandr.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-  cfg = config.services.jormungandr;
-
-  inherit (lib) mkEnableOption mkIf mkOption;
-  inherit (lib) optionalString types;
-
-  dataDir = "/var/lib/jormungandr";
-
-  # Default settings so far, as the service matures we will
-  # move these out as separate settings
-  configSettings = {
-    storage = dataDir;
-    p2p = {
-      public_address = "/ip4/127.0.0.1/tcp/8299";
-      topics_of_interest = {
-        messages = "high";
-        blocks = "high";
-      };
-    };
-    rest = {
-      listen = "127.0.0.1:8607";
-    };
-  };
-
-  configFile = if cfg.configFile == null then
-    pkgs.writeText "jormungandr.yaml" (builtins.toJSON configSettings)
-  else cfg.configFile;
-
-in {
-
-  options = {
-
-    services.jormungandr = {
-      enable = mkEnableOption "jormungandr service";
-
-      configFile = mkOption {
-       type = types.nullOr types.path;
-       default = null;
-       example = "/var/lib/jormungandr/node.yaml";
-       description = ''
-         The path of the jormungandr blockchain configuration file in YAML format.
-         If no file is specified, a file is generated using the other options.
-       '';
-     };
-
-      secretFile = mkOption {
-       type = types.nullOr types.path;
-       default = null;
-       example = "/etc/secret/jormungandr.yaml";
-       description = ''
-         The path of the jormungandr blockchain secret node configuration file in
-         YAML format. Do not store this in nix store!
-       '';
-     };
-
-      genesisBlockHash = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "d70495af81ae8600aca3e642b2427327cb6001ec4d7a0037e96a00dabed163f9";
-        description = ''
-          Set the genesis block hash (the hash of the block0) so we can retrieve
-          the genesis block (and the blockchain configuration) from the existing
-          storage or from the network.
-        '';
-      };
-
-      genesisBlockFile = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        example = "/var/lib/jormungandr/block-0.bin";
-        description = ''
-          The path of the genesis block file if we are hosting it locally.
-        '';
-      };
-
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    systemd.services.jormungandr = {
-      description = "jormungandr server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-online.target" ];
-      environment = {
-        RUST_BACKTRACE = "full";
-      };
-      serviceConfig = {
-        DynamicUser = true;
-        StateDirectory = baseNameOf dataDir;
-        ExecStart = ''
-          ${pkgs.jormungandr}/bin/jormungandr --config ${configFile} \
-            ${optionalString (cfg.secretFile != null) " --secret ${cfg.secretFile}"} \
-            ${optionalString (cfg.genesisBlockHash != null) " --genesis-block-hash ${cfg.genesisBlockHash}"} \
-            ${optionalString (cfg.genesisBlockFile != null) " --genesis-block ${cfg.genesisBlockFile}"}
-        '';
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix
index 831e4d60d8d..98a3456f639 100644
--- a/nixos/modules/services/networking/monero.nix
+++ b/nixos/modules/services/networking/monero.nix
@@ -224,15 +224,17 @@ in
       };
     };
 
-   assertions = singleton {
-     assertion = cfg.mining.enable -> cfg.mining.address != "";
-     message   = ''
+    assertions = singleton {
+      assertion = cfg.mining.enable -> cfg.mining.address != "";
+      message   = ''
        You need a Monero address to receive mining rewards:
        specify one using option monero.mining.address.
-    '';
-   };
+      '';
+    };
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
 
diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix
index 082953d2f6a..3054ae1b201 100644
--- a/nixos/modules/services/networking/murmur.nix
+++ b/nixos/modules/services/networking/murmur.nix
@@ -46,6 +46,11 @@ let
   '';
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ])
+    (mkRemovedOptionModule [ "services" "murmur" "pidfile" ] "Hardcoded to /run/murmur/murmurd.pid now")
+  ];
+
   options = {
     services.murmur = {
       enable = mkOption {
diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix
index c8ee0a2f564..43a9a0b2598 100644
--- a/nixos/modules/services/networking/namecoind.nix
+++ b/nixos/modules/services/networking/namecoind.nix
@@ -201,4 +201,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index 5681bda51cb..f1238bc6b16 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -7,26 +7,33 @@
 with lib;
 
 let
-
   cfg = config.networking.nat;
 
   dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}";
 
+  helpers = import ./helpers.nix { inherit config lib; };
+
   flushNat = ''
-    iptables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
-    iptables -w -t nat -F nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-pre 2>/dev/null || true
-    iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
-    iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ${helpers}
+    ip46tables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
+    ip46tables -w -t nat -F nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-pre 2>/dev/null || true
+    ip46tables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-post 2>/dev/null || true
+    ip46tables -w -t nat -D OUTPUT -j nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -F nixos-nat-out 2>/dev/null || true
+    ip46tables -w -t nat -X nixos-nat-out 2>/dev/null || true
 
     ${cfg.extraStopCommands}
   '';
 
   setupNat = ''
+    ${helpers}
     # Create subchain where we store rules
-    iptables -w -t nat -N nixos-nat-pre
-    iptables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-pre
+    ip46tables -w -t nat -N nixos-nat-post
+    ip46tables -w -t nat -N nixos-nat-out
 
     # We can't match on incoming interface in POSTROUTING, so
     # mark packets coming from the internal interfaces.
@@ -88,8 +95,9 @@ let
     ${cfg.extraCommands}
 
     # Append our chains to the nat tables
-    iptables -w -t nat -A PREROUTING -j nixos-nat-pre
-    iptables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A PREROUTING -j nixos-nat-pre
+    ip46tables -w -t nat -A POSTROUTING -j nixos-nat-post
+    ip46tables -w -t nat -A OUTPUT -j nixos-nat-out
   '';
 
 in
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 918bf891b10..53029b59067 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -336,6 +336,7 @@ in {
   };
 
   imports = [
+    (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
     (mkRemovedOptionModule ["networking" "networkmanager" "dynamicHosts"] ''
       This option was removed because allowing (multiple) regular users to
       override host entries affecting the whole system opens up a huge attack
@@ -456,15 +457,19 @@ in {
     };
 
     # Turn off NixOS' network management when networking is managed entirely by NetworkManager
-    networking = (mkIf (!delegateWireless) {
-      useDHCP = false;
-      # Use mkDefault to trigger the assertion about the conflict above
-      wireless.enable = mkDefault false;
-    }) // (mkIf cfg.enableStrongSwan {
-      networkmanager.packages = [ pkgs.networkmanager_strongswan ];
-    }) // (mkIf enableIwd {
-      wireless.iwd.enable = true;
-    });
+    networking = mkMerge [
+      (mkIf (!delegateWireless) {
+        useDHCP = false;
+      })
+
+      (mkIf cfg.enableStrongSwan {
+        networkmanager.packages = [ pkgs.networkmanager_strongswan ];
+      })
+
+      (mkIf enableIwd {
+        wireless.iwd.enable = true;
+      })
+    ];
 
     security.polkit.extraConfig = polkitConf;
 
diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix
index 05be97e66a3..dcd7e9e5fa4 100644
--- a/nixos/modules/services/networking/openvpn.nix
+++ b/nixos/modules/services/networking/openvpn.nix
@@ -73,6 +73,9 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "openvpn" "enable" ] "")
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix
index ebfdd9f35b7..6ff181377fc 100644
--- a/nixos/modules/services/networking/pdns-recursor.nix
+++ b/nixos/modules/services/networking/pdns-recursor.nix
@@ -91,10 +91,18 @@ in {
 
     forwardZones = mkOption {
       type = types.attrs;
+      default = {};
+      description = ''
+        DNS zones to be forwarded to other authoritative servers.
+      '';
+    };
+
+    forwardZonesRecurse = mkOption {
+      type = types.attrs;
       example = { eth = "127.0.0.1:5353"; };
       default = {};
       description = ''
-        DNS zones to be forwarded to other servers.
+        DNS zones to be forwarded to other recursive servers.
       '';
     };
 
@@ -158,7 +166,8 @@ in {
       webserver-port       = cfg.api.port;
       webserver-allow-from = cfg.api.allowFrom;
 
-      forward-zones    = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones         = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones-recurse = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZonesRecurse;
       export-etc-hosts = cfg.exportHosts;
       dnssec           = cfg.dnssecValidation;
       serve-rfc1918    = cfg.serveRFC1918;
@@ -210,4 +219,6 @@ in {
      "To change extra Recursor settings use services.pdns-recursor.settings instead.")
   ];
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix
index 49ca839a2c3..1f41c720adf 100644
--- a/nixos/modules/services/networking/privoxy.nix
+++ b/nixos/modules/services/networking/privoxy.nix
@@ -109,4 +109,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix
index 9412d0ef8a6..60fb3d5d6d4 100644
--- a/nixos/modules/services/networking/searx.nix
+++ b/nixos/modules/services/networking/searx.nix
@@ -75,4 +75,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/spacecookie.nix b/nixos/modules/services/networking/spacecookie.nix
new file mode 100644
index 00000000000..c4d06df6ad4
--- /dev/null
+++ b/nixos/modules/services/networking/spacecookie.nix
@@ -0,0 +1,83 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.spacecookie;
+  configFile = pkgs.writeText "spacecookie.json" (lib.generators.toJSON {} {
+    inherit (cfg) hostname port root;
+  });
+in {
+
+  options = {
+
+    services.spacecookie = {
+
+      enable = mkEnableOption "spacecookie";
+
+      hostname = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "The hostname the service is reachable via. Clients will use this hostname for further requests after loading the initial gopher menu.";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 70;
+        description = "Port the gopher service should be exposed on.";
+      };
+
+      root = mkOption {
+        type = types.path;
+        default = "/srv/gopher";
+        description = "The root directory spacecookie serves via gopher.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.sockets.spacecookie = {
+      description = "Socket for the Spacecookie Gopher Server";
+      wantedBy = [ "sockets.target" ];
+      listenStreams = [ "[::]:${toString cfg.port}" ];
+      socketConfig = {
+        BindIPv6Only = "both";
+      };
+    };
+
+    systemd.services.spacecookie = {
+      description = "Spacecookie Gopher Server";
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "spacecookie.socket" ];
+
+      serviceConfig = {
+        Type = "notify";
+        ExecStart = "${pkgs.haskellPackages.spacecookie}/bin/spacecookie ${configFile}";
+        FileDescriptorStoreMax = 1;
+
+        DynamicUser = true;
+
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        LockPersonality = true;
+        RestrictRealtime = true;
+
+        # AF_UNIX for communication with systemd
+        # AF_INET replaced by BindIPv6Only=both
+        RestrictAddressFamilies = "AF_UNIX AF_INET6";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 91fc7d72bc6..b0e2e303cbc 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -74,6 +74,10 @@ let
 in
 
 {
+  imports = [
+    (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
+    (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
+  ];
 
   ###### interface
 
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 165fd5970cf..b3f2af5b179 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -18,6 +18,7 @@ let
     fsWatcherEnabled = folder.watch;
     fsWatcherDelayS = folder.watchDelay;
     ignorePerms = folder.ignorePerms;
+    versioning = folder.versioning;
   }) (filterAttrs (
     _: folder:
     folder.enable
@@ -220,6 +221,69 @@ in {
                 '';
               };
 
+              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 = [
+                  {
+                    versioning = {
+                      type = "simple";
+                      params.keep = "10";
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "trashcan";
+                      params.cleanoutDays = "1000";
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "staggered";
+                      params = {
+                        cleanInterval = "3600";
+                        maxAge = "31536000";
+                        versionsPath = "/syncthing/backup";
+                      };
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "external";
+                      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
+                      '';
+                    };
+                  };
+                });
+              };
+
+
+
               rescanInterval = mkOption {
                 type = types.int;
                 default = 3600;
diff --git a/nixos/modules/services/networking/tinydns.nix b/nixos/modules/services/networking/tinydns.nix
index 7b2c464ab46..79507b2ebcd 100644
--- a/nixos/modules/services/networking/tinydns.nix
+++ b/nixos/modules/services/networking/tinydns.nix
@@ -37,6 +37,7 @@ with lib;
     systemd.services.tinydns = {
       description = "djbdns tinydns server";
       wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
       path = with pkgs; [ daemontools djbdns ];
       preStart = ''
         rm -rf /var/lib/tinydns
diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix
index 3cf82e8839b..baed83591e1 100644
--- a/nixos/modules/services/networking/unbound.nix
+++ b/nixos/modules/services/networking/unbound.nix
@@ -53,6 +53,13 @@ in
 
       enable = mkEnableOption "Unbound domain name server";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.unbound;
+        defaultText = "pkgs.unbound";
+        description = "The unbound package to use";
+      };
+
       allowedAccess = mkOption {
         default = [ "127.0.0.0/24" ];
         type = types.listOf types.str;
@@ -94,7 +101,7 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [ pkgs.unbound ];
+    environment.systemPackages = [ cfg.package ];
 
     users.users.unbound = {
       description = "unbound daemon user";
@@ -114,7 +121,7 @@ in
         mkdir -m 0755 -p ${stateDir}/dev/
         cp ${confFile} ${stateDir}/unbound.conf
         ${optionalString cfg.enableRootTrustAnchor ''
-          ${pkgs.unbound}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
+          ${cfg.package}/bin/unbound-anchor -a ${rootTrustAnchorFile} || echo "Root anchor updated!"
           chown unbound ${stateDir} ${rootTrustAnchorFile}
         ''}
         touch ${stateDir}/dev/random
@@ -122,7 +129,7 @@ in
       '';
 
       serviceConfig = {
-        ExecStart = "${pkgs.unbound}/bin/unbound -d -c ${stateDir}/unbound.conf";
+        ExecStart = "${cfg.package}/bin/unbound -d -c ${stateDir}/unbound.conf";
         ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random";
 
         ProtectSystem = true;
diff --git a/nixos/modules/services/networking/v2ray.nix b/nixos/modules/services/networking/v2ray.nix
new file mode 100644
index 00000000000..a1774cdffbb
--- /dev/null
+++ b/nixos/modules/services/networking/v2ray.nix
@@ -0,0 +1,81 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  options = {
+
+    services.v2ray = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run v2ray server.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/etc/v2ray/config.json";
+        description = ''
+          The absolute path to the configuration file.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+
+      config = mkOption {
+        type = types.nullOr (types.attrsOf types.unspecified);
+        default = null;
+        example = {
+          inbounds = [{
+            port = 1080;
+            listen = "127.0.0.1";
+            protocol = "http";
+          }];
+          outbounds = [{
+            protocol = "freedom";
+          }];
+        };
+        description = ''
+          The configuration object.
+
+          Either `configFile` or `config` must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+    };
+
+  };
+
+  config = let
+    cfg = config.services.v2ray;
+    configFile = if cfg.configFile != null
+      then cfg.configFile
+      else (pkgs.writeText "v2ray.json" (builtins.toJSON cfg.config));
+
+  in mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = (cfg.configFile == null) != (cfg.config == null);
+        message = "Either but not both `configFile` and `config` should be specified for v2ray.";
+      }
+    ];
+
+    systemd.services.v2ray = {
+      description = "v2ray Daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.v2ray ];
+      script = ''
+        exec v2ray -config ${configFile}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix
index 67be60da567..90093d9a78d 100644
--- a/nixos/modules/services/networking/vsftpd.nix
+++ b/nixos/modules/services/networking/vsftpd.nix
@@ -34,6 +34,15 @@ let
   };
 
   optionDescription = [
+    (yesNoOption "allowWriteableChroot" "allow_writeable_chroot" false ''
+      Allow the use of writeable root inside chroot().
+    '')
+    (yesNoOption "virtualUseLocalPrivs" "virtual_use_local_privs" false ''
+      If enabled, virtual users will use the same privileges as local
+      users. By default, virtual users will use the same privileges as
+      anonymous users, which tends to be more restrictive (especially
+      in terms of write access).
+    '')
     (yesNoOption "anonymousUser" "anonymous_enable" false ''
       Whether to enable the anonymous FTP user.
     '')
@@ -76,9 +85,21 @@ let
       outgoing data connections can only connect to the client. Only enable if you
       know what you are doing!
     '')
-    (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  '' '')
-    (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '')
-    (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '')
+    (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit TLS v1 protocol connections.
+      TLS v1 connections are preferred.
+    '')
+    (yesNoOption "ssl_sslv2" "ssl_sslv2" false ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit SSL v2 protocol connections.
+      TLS v1 connections are preferred.
+    '')
+    (yesNoOption "ssl_sslv3" "ssl_sslv3" false ''
+      Only applies if <option>ssl_enable</option> is activated. If
+      enabled, this option will permit SSL v3 protocol connections.
+      TLS v1 connections are preferred.
+    '')
   ];
 
   configFile = pkgs.writeText "vsftpd.conf"
@@ -98,6 +119,9 @@ let
       listen=YES
       nopriv_user=vsftpd
       secure_chroot_dir=/var/empty
+      ${optionalString (cfg.localRoot != null) ''
+        local_root=${cfg.localRoot}
+      ''}
       syslog_enable=YES
       ${optionalString (pkgs.stdenv.hostPlatform.system == "x86_64-linux") ''
         seccomp_sandbox=NO
@@ -106,6 +130,11 @@ let
       ${optionalString cfg.anonymousUser ''
         anon_root=${cfg.anonymousUserHome}
       ''}
+      ${optionalString cfg.enableVirtualUsers ''
+        guest_enable=YES
+        guest_username=vsftpd
+        pam_service_name=vsftpd
+      ''}
       ${cfg.extraConfig}
     '';
 
@@ -119,10 +148,7 @@ in
 
     services.vsftpd = {
 
-      enable = mkOption {
-        default = false;
-        description = "Whether to enable the vsftpd FTP server.";
-      };
+      enable = mkEnableOption "vsftpd";
 
       userlist = mkOption {
         default = [];
@@ -143,6 +169,61 @@ in
         '';
       };
 
+      enableVirtualUsers = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the <literal>pam_userdb</literal>-based
+          virtual user system
+        '';
+      };
+
+      userDbPath = mkOption {
+        type = types.nullOr types.str;
+        example = "/etc/vsftpd/userDb";
+        default = null;
+        description = ''
+          Only applies if <option>enableVirtualUsers</option> is true.
+          Path pointing to the <literal>pam_userdb</literal> user
+          database used by vsftpd to authenticate the virtual users.
+
+          This user list should be stored in the Berkeley DB database
+          format.
+
+          To generate a new user database, create a text file, add
+          your users using the following format:
+          <programlisting>
+          user1
+          password1
+          user2
+          password2
+          </programlisting>
+
+          You can then install <literal>pkgs.db</literal> to generate
+          the Berkeley DB using
+          <programlisting>
+          db_load -T -t hash -f logins.txt userDb.db
+          </programlisting>
+
+          Caution: <literal>pam_userdb</literal> will automatically
+          append a <literal>.db</literal> suffix to the filename you
+          provide though this option. This option shouldn't include
+          this filetype suffix.
+        '';
+      };
+
+      localRoot = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/var/www/$USER";
+        description = ''
+          This option represents a directory which vsftpd will try to
+          change into after a local (i.e. non- anonymous) login.
+
+          Failure is silently ignored.
+        '';
+      };
+
       anonymousUserHome = mkOption {
         type = types.path;
         default = "/home/ftp/";
@@ -186,18 +267,25 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = singleton
+    assertions = [
       { assertion =
               (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null)
           &&  (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null);
         message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!";
-      };
+      }
+      {
+        assertion = (cfg.enableVirtualUsers -> cfg.userDbPath != null)
+                 && (cfg.enableVirtualUsers -> cfg.localUsers != null);
+        message = "vsftpd: If enableVirtualUsers is true, you need to setup both the userDbPath and localUsers options.";
+      }];
 
     users.users =
       [ { name = "vsftpd";
           uid = config.ids.uids.vsftpd;
           description = "VSFTPD user";
-          home = "/homeless-shelter";
+          home = if cfg.localRoot != null
+                   then cfg.localRoot # <= Necessary for virtual users.
+                   else "/homeless-shelter";
         }
       ] ++ optional cfg.anonymousUser
         { name = "ftp";
@@ -213,23 +301,24 @@ in
     # = false and whitelist root
     services.vsftpd.userlist = if cfg.userlistDeny then ["root"] else [];
 
-    systemd.services.vsftpd =
-      { description = "Vsftpd Server";
+    systemd = {
+      tmpfiles.rules = optional cfg.anonymousUser
+        #Type Path                       Mode User   Gr    Age Arg
+        "d    '${builtins.toString cfg.anonymousUserHome}' 0555 'ftp'  'ftp' -   -";
+      services.vsftpd = {
+        description = "Vsftpd Server";
 
         wantedBy = [ "multi-user.target" ];
 
-        preStart =
-          optionalString cfg.anonymousUser
-            ''
-              mkdir -p -m 555 ${cfg.anonymousUserHome}
-              chown -R ftp:ftp ${cfg.anonymousUserHome}
-            '';
-
         serviceConfig.ExecStart = "@${vsftpd}/sbin/vsftpd vsftpd ${configFile}";
         serviceConfig.Restart = "always";
         serviceConfig.Type = "forking";
       };
+    };
 
+    security.pam.services.vsftpd.text = mkIf (cfg.enableVirtualUsers && cfg.userDbPath != null)''
+      auth required pam_userdb.so db=${cfg.userDbPath}
+      account required pam_userdb.so db=${cfg.userDbPath}
+    '';
   };
-
 }
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index 4176da2c8cb..980961225c9 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -112,6 +112,32 @@ let
           Determines whether to add allowed IPs as routes or not.
         '';
       };
+
+      socketNamespace = mkOption {
+        default = null;
+        type = with types; nullOr str;
+        example = "container";
+        description = ''The pre-existing network namespace in which the
+        WireGuard interface is created, and which retains the socket even if the
+        interface is moved via <option>interfaceNamespace</option>. When
+        <literal>null</literal>, the interface is created in the init namespace.
+        See <link
+        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        '';
+      };
+
+      interfaceNamespace = mkOption {
+        default = null;
+        type = with types; nullOr str;
+        example = "init";
+        description = ''The pre-existing network namespace the WireGuard
+        interface is moved to. The special value <literal>init</literal> means
+        the init namespace. When <literal>null</literal>, the interface is not
+        moved.
+        See <link
+        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        '';
+      };
     };
 
   };
@@ -239,6 +265,10 @@ let
         if peer.presharedKey != null
           then pkgs.writeText "wg-psk" peer.presharedKey
           else peer.presharedKeyFile;
+      src = interfaceCfg.socketNamespace;
+      dst = interfaceCfg.interfaceNamespace;
+      ip = nsWrap "ip" src dst;
+      wg = nsWrap "wg" src dst;
     in nameValuePair "wireguard-${interfaceName}-peer-${unitName}"
       {
         description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}";
@@ -255,16 +285,16 @@ let
         };
 
         script = let
-          wg_setup = "wg set ${interfaceName} peer ${peer.publicKey}" +
+          wg_setup = "${wg} set ${interfaceName} peer ${peer.publicKey}" +
             optionalString (psk != null) " preshared-key ${psk}" +
             optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" +
             optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" +
             optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}";
           route_setup =
-            optionalString (interfaceCfg.allowedIPsAsRoutes != false)
+            optionalString interfaceCfg.allowedIPsAsRoutes
               (concatMapStringsSep "\n"
                 (allowedIP:
-                  "ip route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
+                  "${ip} route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
                 ) peer.allowedIPs);
         in ''
           ${wg_setup}
@@ -272,13 +302,13 @@ let
         '';
 
         postStop = let
-          route_destroy = optionalString (interfaceCfg.allowedIPsAsRoutes != false)
+          route_destroy = optionalString interfaceCfg.allowedIPsAsRoutes
             (concatMapStringsSep "\n"
               (allowedIP:
-                "ip route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
+                "${ip} route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}"
               ) peer.allowedIPs);
         in ''
-          wg set ${interfaceName} peer ${peer.publicKey} remove
+          ${wg} set ${interfaceName} peer ${peer.publicKey} remove
           ${route_destroy}
         '';
       };
@@ -287,6 +317,13 @@ let
     # exactly one way to specify the private key must be set
     #assert (values.privateKey != null) != (values.privateKeyFile != null);
     let privKey = if values.privateKeyFile != null then values.privateKeyFile else pkgs.writeText "wg-key" values.privateKey;
+        src = values.socketNamespace;
+        dst = values.interfaceNamespace;
+        ipPreMove  = nsWrap "ip" src null;
+        ipPostMove = nsWrap "ip" src dst;
+        wg = nsWrap "wg" src dst;
+        ns = if dst == "init" then "1" else dst;
+
     in
     nameValuePair "wireguard-${name}"
       {
@@ -307,26 +344,33 @@ let
 
           ${values.preSetup}
 
-          ip link add dev ${name} type wireguard
+          ${ipPreMove} link add dev ${name} type wireguard
+          ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) "${ipPreMove} link set ${name} netns ${ns}"}
 
           ${concatMapStringsSep "\n" (ip:
-            "ip address add ${ip} dev ${name}"
+            "${ipPostMove} address add ${ip} dev ${name}"
           ) values.ips}
 
-          wg set ${name} private-key ${privKey} ${
+          ${wg} set ${name} private-key ${privKey} ${
             optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"}
 
-          ip link set up dev ${name}
+          ${ipPostMove} link set up dev ${name}
 
           ${values.postSetup}
         '';
 
         postStop = ''
-          ip link del dev ${name}
+          ${ipPostMove} link del dev ${name}
           ${values.postShutdown}
         '';
       };
 
+  nsWrap = cmd: src: dst:
+    let
+      nsList = filter (ns: ns != null) [ src dst ];
+      ns = last nsList;
+    in
+      if (length nsList > 0 && ns != "init") then "ip netns exec ${ns} ${cmd}" else cmd;
 in
 
 {
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 294c0d70ede..8f05c3949fb 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -236,9 +236,12 @@ in {
         ${if ifaces == [] then ''
           for i in $(cd /sys/class/net && echo *); do
             DEVTYPE=
-            source /sys/class/net/$i/uevent
-            if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
-              ifaces="$ifaces''${ifaces:+ -N} -i$i"
+            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
+                ifaces="$ifaces''${ifaces:+ -N} -i$i"
+              fi
             fi
           done
         '' else ''
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 0da50ccc344..9e675ecd6f4 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -12,11 +12,11 @@ let
   configFileProvided = (cfg.configFile != null);
   generateConfig = (
     if configProvided && configFileProvided then
-      "${pkgs.jq}/bin/jq -s add /run/yggdrasil/configFile.json ${configAsFile}"
+      "${pkgs.jq}/bin/jq -s add ${configAsFile} ${cfg.configFile}"
     else if configProvided then
       "cat ${configAsFile}"
     else if configFileProvided then
-      "cat /run/yggdrasil/configFile.json"
+      "cat ${cfg.configFile}"
     else
       "${cfg.package}/bin/yggdrasil -genconf"
   );
@@ -128,12 +128,6 @@ in {
       }
     ];
 
-    environment.etc."yggdrasil.conf" = {
-      enable = true;
-      mode = "symlink";
-      source = "/run/yggdrasil/yggdrasil.conf";
-    };
-
     systemd.services.yggdrasil = {
       description = "Yggdrasil Network Service";
       path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
@@ -146,14 +140,14 @@ in {
       '';
 
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /etc/yggdrasil.conf";
+        ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /run/yggdrasil/yggdrasil.conf";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
 
         RuntimeDirectory = "yggdrasil";
         RuntimeDirectoryMode = "0700";
         BindReadOnlyPaths = mkIf configFileProvided
-          [ "${cfg.configFile}:/run/yggdrasil/configFile.json" ];
+          [ "${cfg.configFile}" ];
 
         # TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails
         # to set up the network adapter when DynamicUser is set.  See
diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix
index 05f97bfa539..0a9848a4934 100644
--- a/nixos/modules/services/networking/znc/default.nix
+++ b/nixos/modules/services/networking/znc/default.nix
@@ -239,7 +239,7 @@ in
     services.znc = {
       configFile = mkDefault (pkgs.writeText "znc-generated.conf" semanticString);
       config = {
-        Version = (builtins.parseDrvName pkgs.znc.name).version;
+        Version = lib.getVersion pkgs.znc;
         Listener.l.Port = mkDefault 5000;
         Listener.l.SSL = mkDefault true;
       };
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 1071c05d514..cc35be49bc3 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -112,6 +112,15 @@ in
 
 {
 
+  imports = [
+    (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
+      (config:
+        let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
+        in if enabled then [ pkgs.gutenprint ] else [ ]))
+    (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "")
+    (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "")
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index 04b433f8f2b..ef5bde7907e 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -30,6 +30,10 @@ let
   '';
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
+  ];
+
   options = {
     services.clamav = {
       daemon = {
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index ed862387cce..18c105b2f57 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -106,6 +106,12 @@ let
 
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
+    (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.")
+    (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.")
+  ];
+
   options = {
     services.tor = {
       enable = mkOption {
diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix
index d5962ba9af9..b0ab8fadcbe 100644
--- a/nixos/modules/services/security/vault.nix
+++ b/nixos/modules/services/security/vault.nix
@@ -119,9 +119,8 @@ in
     };
     users.groups.vault.gid = config.ids.gids.vault;
 
-    systemd.tmpfiles.rules = optional (cfg.storagePath != null) [
-      "d '${cfg.storagePath}' 0700 vault vault - -"
-    ];
+    systemd.tmpfiles.rules = optional (cfg.storagePath != null)
+      "d '${cfg.storagePath}' 0700 vault vault - -";
 
     systemd.services.vault = {
       description = "Vault server daemon";
diff --git a/nixos/modules/services/torrent/magnetico.nix b/nixos/modules/services/torrent/magnetico.nix
index a7acdb78b31..7465c10e002 100644
--- a/nixos/modules/services/torrent/magnetico.nix
+++ b/nixos/modules/services/torrent/magnetico.nix
@@ -35,6 +35,7 @@ let
        (if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
          then "--credentials=${toString credFile}"
          else "--no-auth")
+       "--addr=${address}:${toString port}"
      ] ++ extraOptions);
 
 in {
@@ -177,7 +178,7 @@ in {
     systemd.services.magneticod = {
       description = "Magnetico DHT crawler";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" ];
+      after    = [ "network.target" ];
 
       serviceConfig = {
         User      = "magnetico";
@@ -189,7 +190,7 @@ in {
     systemd.services.magneticow = {
       description = "Magnetico web interface";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" "magneticod.service"];
+      after    = [ "network.target" "magneticod.service"];
 
       serviceConfig = {
         User           = "magnetico";
@@ -202,7 +203,7 @@ in {
     assertions =
     [
       {
-        assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
+        assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { };
         message = ''
           The options services.magnetico.web.credentialsFile and
           services.magnetico.web.credentials are mutually exclusives.
@@ -212,4 +213,6 @@ in {
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 7409eb8cdcb..f7a88867b61 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -7,6 +7,7 @@ let
   apparmor = config.security.apparmor.enable;
 
   homeDir = cfg.home;
+  downloadDirPermissions = cfg.downloadDirPermissions;
   downloadDir = "${homeDir}/Downloads";
   incompleteDir = "${homeDir}/.incomplete";
 
@@ -16,16 +17,14 @@ let
   # for users in group "transmission" to have access to torrents
   fullSettings = { umask = 2; download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings;
 
-  # Directories transmission expects to exist and be ug+rwx.
-  directoriesToManage = [ homeDir settingsDir fullSettings.download-dir fullSettings.incomplete-dir ];
-
   preStart = pkgs.writeScript "transmission-pre-start" ''
     #!${pkgs.runtimeShell}
     set -ex
-    for DIR in ${escapeShellArgs directoriesToManage}; do
+    for DIR in "${homeDir}" "${settingsDir}" "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"; do
       mkdir -p "$DIR"
-      chmod 770 "$DIR"
     done
+    chmod 700 "${homeDir}" "${settingsDir}"
+    chmod ${downloadDirPermissions} "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"
     cp -f ${settingsFile} ${settingsDir}/settings.json
   '';
 in
@@ -71,6 +70,16 @@ in
         '';
       };
 
+      downloadDirPermissions = mkOption {
+        type = types.str;
+        default = "770";
+        example = "775";
+        description = ''
+          The permissions to set for download-dir and incomplete-dir.
+          They will be applied on every service start.
+        '';
+      };
+
       port = mkOption {
         type = types.int;
         default = 9091;
diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix
index bd524524130..e00a47191c6 100644
--- a/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixos/modules/services/web-apps/limesurvey.nix
@@ -3,7 +3,7 @@
 let
 
   inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption;
-  inherit (lib) mapAttrs optional optionalString types;
+  inherit (lib) literalExample mapAttrs optional optionalString types;
 
   cfg = config.services.limesurvey;
   fpm = config.services.phpfpm.pools.limesurvey;
@@ -100,19 +100,15 @@ in
     };
 
     virtualHost = mkOption {
-      type = types.submodule ({
-        options = import ../web-servers/apache-httpd/per-server-options.nix {
-          inherit lib;
-          forMainServer = false;
-        };
-      });
-      example = {
-        hostName = "survey.example.org";
-        enableSSL = true;
-        adminAddr = "webmaster@example.org";
-        sslServerCert = "/var/lib/acme/survey.example.org/full.pem";
-        sslServerKey = "/var/lib/acme/survey.example.org/key.pem";
-      };
+      type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+      example = literalExample ''
+        {
+          hostName = "survey.example.org";
+          adminAddr = "webmaster@example.org";
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
       description = ''
         Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
         See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -184,7 +180,7 @@ in
       config = {
         tempdir = "${stateDir}/tmp";
         uploaddir = "${stateDir}/upload";
-        force_ssl = mkIf cfg.virtualHost.enableSSL "on";
+        force_ssl = mkIf (cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL) "on";
         config.defaultlang = "en";
       };
     };
@@ -215,38 +211,36 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${pkg}/share/limesurvey";
-          extraConfig = ''
-            Alias "/tmp" "${stateDir}/tmp"
-            <Directory "${stateDir}">
-              AllowOverride all
-              Require all granted
-              Options -Indexes +FollowSymlinks
-            </Directory>
-
-            Alias "/upload" "${stateDir}/upload"
-            <Directory "${stateDir}/upload">
-              AllowOverride all
-              Require all granted
-              Options -Indexes
-            </Directory>
-
-            <Directory "${pkg}/share/limesurvey">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-
-              AllowOverride all
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg}/share/limesurvey";
+        extraConfig = ''
+          Alias "/tmp" "${stateDir}/tmp"
+          <Directory "${stateDir}">
+            AllowOverride all
+            Require all granted
+            Options -Indexes +FollowSymlinks
+          </Directory>
+
+          Alias "/upload" "${stateDir}/upload"
+          <Directory "${stateDir}/upload">
+            AllowOverride all
+            Require all granted
+            Options -Indexes
+          </Directory>
+
+          <Directory "${pkg}/share/limesurvey">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            AllowOverride all
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml
index 79cece551d3..69d1170e452 100644
--- a/nixos/modules/services/web-apps/matomo-doc.xml
+++ b/nixos/modules/services/web-apps/matomo-doc.xml
@@ -86,12 +86,6 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
   <itemizedlist>
    <listitem>
     <para>
-     Matomo's file integrity check will warn you. This is due to the patches
-     necessary for NixOS, you can safely ignore this.
-    </para>
-   </listitem>
-   <listitem>
-    <para>
      Matomo will warn you that the JavaScript tracker is not writable. This is
      because it's located in the read-only nix store. You can safely ignore
      this, unless you need a plugin that needs JavaScript tracker access.
diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix
index 352cc4c647b..75da474dc44 100644
--- a/nixos/modules/services/web-apps/matomo.nix
+++ b/nixos/modules/services/web-apps/matomo.nix
@@ -18,6 +18,14 @@ let
      in join config.networking.hostName config.networking.domain;
 
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
+    (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ])
+    (mkRemovedOptionModule [ "services" "piwik" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
+    (mkRemovedOptionModule [ "services" "matomo" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools.<name>.settings")
+    (mkRenamedOptionModule [ "services" "piwik" "nginx" ] [ "services" "matomo" "nginx" ])
+  ];
+
   options = {
     services.matomo = {
       # NixOS PR for database setup: https://github.com/NixOS/nixpkgs/pull/6963
diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix
index 43edc04e1a4..8a109b39bb5 100644
--- a/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixos/modules/services/web-apps/mediawiki.nix
@@ -64,7 +64,7 @@ let
       $wgScriptPath = "";
 
       ## The protocol and server name to use in fully-qualified URLs
-      $wgServer = "${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}";
+      $wgServer = "${if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then "https" else "http"}://${cfg.virtualHost.hostName}";
 
       ## The URL path to static resources (images, scripts, etc.)
       $wgResourceBasePath = $wgScriptPath;
@@ -290,19 +290,13 @@ in
       };
 
       virtualHost = mkOption {
-        type = types.submodule ({
-          options = import ../web-servers/apache-httpd/per-server-options.nix {
-            inherit lib;
-            forMainServer = false;
-          };
-        });
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
         example = literalExample ''
           {
             hostName = "mediawiki.example.org";
-            enableSSL = true;
             adminAddr = "webmaster@example.org";
-            sslServerCert = "/var/lib/acme/mediawiki.example.org/full.pem";
-            sslServerKey = "/var/lib/acme/mediawiki.example.org/key.pem";
+            forceSSL = true;
+            enableACME = true;
           }
         '';
         description = ''
@@ -389,31 +383,28 @@ in
 
     services.httpd = {
       enable = true;
-      adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${pkg}/share/mediawiki";
-          extraConfig = ''
-            <Directory "${pkg}/share/mediawiki">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-
-              Require all granted
-              DirectoryIndex index.php
-              AllowOverride All
-            </Directory>
-          '' + optionalString (cfg.uploadsDir != null) ''
-            Alias "/images" "${cfg.uploadsDir}"
-            <Directory "${cfg.uploadsDir}">
-              Require all granted
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg}/share/mediawiki";
+        extraConfig = ''
+          <Directory "${pkg}/share/mediawiki">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            Require all granted
+            DirectoryIndex index.php
+            AllowOverride All
+          </Directory>
+        '' + optionalString (cfg.uploadsDir != null) ''
+          Alias "/images" "${cfg.uploadsDir}"
+          <Directory "${cfg.uploadsDir}">
+            Require all granted
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix
index ac59f9e0012..595d070d940 100644
--- a/nixos/modules/services/web-apps/moodle.nix
+++ b/nixos/modules/services/web-apps/moodle.nix
@@ -32,7 +32,7 @@ let
     'dbcollation' => 'utf8mb4_unicode_ci',
   );
 
-  $CFG->wwwroot   = '${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}';
+  $CFG->wwwroot   = '${if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then "https" else "http"}://${cfg.virtualHost.hostName}';
   $CFG->dataroot  = '${stateDir}';
   $CFG->admin     = 'admin';
 
@@ -140,19 +140,15 @@ in
     };
 
     virtualHost = mkOption {
-      type = types.submodule ({
-        options = import ../web-servers/apache-httpd/per-server-options.nix {
-          inherit lib;
-          forMainServer = false;
-        };
-      });
-      example = {
-        hostName = "moodle.example.org";
-        enableSSL = true;
-        adminAddr = "webmaster@example.org";
-        sslServerCert = "/var/lib/acme/moodle.example.org/full.pem";
-        sslServerKey = "/var/lib/acme/moodle.example.org/key.pem";
-      };
+      type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+      example = literalExample ''
+        {
+          hostName = "moodle.example.org";
+          adminAddr = "webmaster@example.org";
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
       description = ''
         Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
         See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -241,22 +237,20 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${cfg.package}/share/moodle";
-          extraConfig = ''
-            <Directory "${cfg.package}/share/moodle">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${cfg.package}/share/moodle";
+        extraConfig = ''
+          <Directory "${cfg.package}/share/moodle">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     systemd.tmpfiles.rules = [
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index b9186a1dc07..e3a2db398e6 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -31,8 +31,12 @@ let
   occ = pkgs.writeScriptBin "nextcloud-occ" ''
     #! ${pkgs.stdenv.shell}
     cd ${pkgs.nextcloud}
-    exec /run/wrappers/bin/sudo -u nextcloud \
-      NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" \
+    sudo=exec
+    if [[ "$USER" != nextcloud ]]; then
+      sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR'
+    fi
+    export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
+    $sudo \
       ${phpPackage}/bin/php \
       -c ${pkgs.writeText "php.ini" phpOptionsStr}\
       occ $*
@@ -390,6 +394,7 @@ in {
         in {
           wantedBy = [ "multi-user.target" ];
           before = [ "phpfpm-nextcloud.service" ];
+          path = [ occ ];
           script = ''
             chmod og+x ${cfg.home}
             ln -sf ${pkgs.nextcloud}/apps ${cfg.home}/
@@ -419,6 +424,7 @@ in {
         nextcloud-update-plugins = mkIf cfg.autoUpdateApps.enable {
           serviceConfig.Type = "oneshot";
           serviceConfig.ExecStart = "${occ}/bin/nextcloud-occ app:update --all";
+          serviceConfig.User = "nextcloud";
           startAt = cfg.autoUpdateApps.startAt;
         };
       };
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index 2c2f36ac598..9d0a3f65253 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -116,7 +116,7 @@ in
         };
 
         passwordFile = mkOption {
-          type = types.nullOr types.str;
+          type = types.nullOr types.path;
           default = null;
           description = ''
             The database user's password. 'null' if no password is set.
@@ -285,7 +285,7 @@ in
           sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
         '' else ''
           sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
-          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', '$(<${cfg.database.dbPassFile})');/g" "${runDir}/server/php/config.inc.php"
+          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'file_get_contents(${cfg.database.passwordFile})'"});/g" "${runDir}/server/php/config.inc.php
         ''}
         sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
         sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
diff --git a/nixos/modules/services/web-apps/trilium.nix b/nixos/modules/services/web-apps/trilium.nix
new file mode 100644
index 00000000000..6f47193c62b
--- /dev/null
+++ b/nixos/modules/services/web-apps/trilium.nix
@@ -0,0 +1,137 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.trilium-server;
+  configIni = pkgs.writeText "trilium-config.ini" ''
+    [General]
+    # Instance name can be used to distinguish between different instances
+    instanceName=${cfg.instanceName}
+
+    # Disable automatically generating desktop icon
+    noDesktopIcon=true
+
+    [Network]
+    # host setting is relevant only for web deployments - set the host on which the server will listen
+    host=${cfg.host}
+    # port setting is relevant only for web deployments, desktop builds run on random free port
+    port=${toString cfg.port}
+    # true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
+    https=false
+  '';
+in
+{
+
+  options.services.trilium-server = with lib; {
+    enable = mkEnableOption "trilium-server";
+
+    dataDir = mkOption {
+      type = types.str;
+      default = "/var/lib/trilium";
+      description = ''
+        The directory storing the nodes database and the configuration.
+      '';
+    };
+
+    instanceName = mkOption {
+      type = types.str;
+      default = "Trilium";
+      description = ''
+        Instance name used to distinguish between different instances
+      '';
+    };
+
+    host = mkOption {
+      type = types.str;
+      default = "127.0.0.1";
+      description = ''
+        The host address to bind to (defaults to localhost).
+      '';
+    };
+
+    port = mkOption {
+      type = types.int;
+      default = 8080;
+      description = ''
+        The port number to bind to.
+      '';
+    };
+
+    nginx = mkOption {
+      default = {};
+      description = ''
+        Configuration for nginx reverse proxy.
+      '';
+
+      type = types.submodule {
+        options = {
+          enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''
+              Configure the nginx reverse proxy settings.
+            '';
+          };
+
+          hostName = mkOption {
+            type = types.str;
+            description = ''
+              The hostname use to setup the virtualhost configuration
+            '';
+          };
+        };
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable (lib.mkMerge [ 
+  {
+    meta.maintainers = with lib.maintainers; [ kampka ];
+
+    users.groups.trilium = {};
+    users.users.trilium = {
+      description = "Trilium User";
+      group = "trilium";
+      home = cfg.dataDir;
+      isSystemUser = true;
+    };
+
+    systemd.services.trilium-server = {
+      wantedBy = [ "multi-user.target" ];
+      environment.TRILIUM_DATA_DIR = cfg.dataDir;
+      serviceConfig = {
+        ExecStart = "${pkgs.trilium-server}/bin/trilium-server";
+        User = "trilium";
+        Group = "trilium";
+        PrivateTmp = "true";
+      };
+    };
+
+    systemd.tmpfiles.rules = [
+      "d  ${cfg.dataDir}            0750 trilium trilium - -"
+      "L+ ${cfg.dataDir}/config.ini -    -       -       - ${configIni}"
+    ];
+
+  }
+
+  (lib.mkIf cfg.nginx.enable {
+    services.nginx = {
+      enable = true;
+      virtualHosts."${cfg.nginx.hostName}" = {
+        locations."/" = {
+          proxyPass = "http://${cfg.host}:${toString cfg.port}/";
+          extraConfig = ''
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection 'upgrade';
+            proxy_set_header Host $host;
+            proxy_cache_bypass $http_upgrade;
+          '';
+        };
+        extraConfig = ''
+          client_max_body_size 0;
+        '';
+      };
+    };
+  })
+  ]);
+}
diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix
index f1370c2854b..ad4f39fbf52 100644
--- a/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixos/modules/services/web-apps/wordpress.nix
@@ -3,7 +3,7 @@
 let
   inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
   inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
-  inherit (lib) mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
+  inherit (lib) mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
 
   eachSite = config.services.wordpress;
   user = "wordpress";
@@ -127,7 +127,7 @@ let
             <note><para>These themes need to be packaged before use, see example.</para></note>
           '';
           example = ''
-            # For shits and giggles, let's package the responsive theme
+            # Let's package the responsive theme
             responsiveTheme = pkgs.stdenv.mkDerivation {
               name = "responsive-theme";
               # Download the theme from the wordpress site
@@ -209,18 +209,12 @@ let
         };
 
         virtualHost = mkOption {
-          type = types.submodule ({
-            options = import ../web-servers/apache-httpd/per-server-options.nix {
-              inherit lib;
-              forMainServer = false;
-            };
-          });
+          type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
           example = literalExample ''
             {
-              enableSSL = true;
               adminAddr = "webmaster@example.org";
-              sslServerCert = "/var/lib/acme/wordpress.example.org/full.pem";
-              sslServerKey = "/var/lib/acme/wordpress.example.org/key.pem";
+              forceSSL = true;
+              enableACME = true;
             }
           '';
           description = ''
@@ -304,41 +298,37 @@ in
     services.httpd = {
       enable = true;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = mapAttrsToList (hostName: cfg:
-        (mkMerge [
-          cfg.virtualHost {
-            documentRoot = mkForce "${pkg hostName cfg}/share/wordpress";
-            extraConfig = ''
-              <Directory "${pkg hostName cfg}/share/wordpress">
-                <FilesMatch "\.php$">
-                  <If "-f %{REQUEST_FILENAME}">
-                    SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
-                  </If>
-                </FilesMatch>
-
-                # standard wordpress .htaccess contents
-                <IfModule mod_rewrite.c>
-                  RewriteEngine On
-                  RewriteBase /
-                  RewriteRule ^index\.php$ - [L]
-                  RewriteCond %{REQUEST_FILENAME} !-f
-                  RewriteCond %{REQUEST_FILENAME} !-d
-                  RewriteRule . /index.php [L]
-                </IfModule>
-
-                DirectoryIndex index.php
-                Require all granted
-                Options +FollowSymLinks
-              </Directory>
-
-              # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
-              <Files wp-config.php>
-                Require all denied
-              </Files>
-            '';
-          }
-        ])
-      ) eachSite;
+      virtualHosts = mapAttrs (hostName: cfg: mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${pkg hostName cfg}/share/wordpress";
+        extraConfig = ''
+          <Directory "${pkg hostName cfg}/share/wordpress">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+
+            # standard wordpress .htaccess contents
+            <IfModule mod_rewrite.c>
+              RewriteEngine On
+              RewriteBase /
+              RewriteRule ^index\.php$ - [L]
+              RewriteCond %{REQUEST_FILENAME} !-f
+              RewriteCond %{REQUEST_FILENAME} !-d
+              RewriteRule . /index.php [L]
+            </IfModule>
+
+            DirectoryIndex index.php
+            Require all granted
+            Options +FollowSymLinks
+          </Directory>
+
+          # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
+          <Files wp-config.php>
+            Require all denied
+          </Files>
+        '';
+      } ]) eachSite;
     };
 
     systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
diff --git a/nixos/modules/services/web-apps/zabbix.nix b/nixos/modules/services/web-apps/zabbix.nix
index 09538726b7c..ee8447810c6 100644
--- a/nixos/modules/services/web-apps/zabbix.nix
+++ b/nixos/modules/services/web-apps/zabbix.nix
@@ -113,19 +113,15 @@ in
       };
 
       virtualHost = mkOption {
-        type = types.submodule ({
-          options = import ../web-servers/apache-httpd/per-server-options.nix {
-            inherit lib;
-            forMainServer = false;
-          };
-        });
-        example = {
-          hostName = "zabbix.example.org";
-          enableSSL = true;
-          adminAddr = "webmaster@example.org";
-          sslServerCert = "/var/lib/acme/zabbix.example.org/full.pem";
-          sslServerKey = "/var/lib/acme/zabbix.example.org/key.pem";
-        };
+        type = types.submodule (import ../web-servers/apache-httpd/per-server-options.nix);
+        example = literalExample ''
+          {
+            hostName = "zabbix.example.org";
+            adminAddr = "webmaster@example.org";
+            forceSSL = true;
+            enableACME = true;
+          }
+        '';
         description = ''
           Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
           See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
@@ -190,23 +186,21 @@ in
       enable = true;
       adminAddr = mkDefault cfg.virtualHost.adminAddr;
       extraModules = [ "proxy_fcgi" ];
-      virtualHosts = [ (mkMerge [
-        cfg.virtualHost {
-          documentRoot = mkForce "${cfg.package}/share/zabbix";
-          extraConfig = ''
-            <Directory "${cfg.package}/share/zabbix">
-              <FilesMatch "\.php$">
-                <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
-                </If>
-              </FilesMatch>
-              AllowOverride all
-              Options -Indexes
-              DirectoryIndex index.php
-            </Directory>
-          '';
-        }
-      ]) ];
+      virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
+        documentRoot = mkForce "${cfg.package}/share/zabbix";
+        extraConfig = ''
+          <Directory "${cfg.package}/share/zabbix">
+            <FilesMatch "\.php$">
+              <If "-f %{REQUEST_FILENAME}">
+                SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+              </If>
+            </FilesMatch>
+            AllowOverride all
+            Options -Indexes
+            DirectoryIndex index.php
+          </Directory>
+        '';
+      } ];
     };
 
     users.users.${user} = mapAttrs (name: mkDefault) {
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 99304d0e48a..8e3be316298 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -6,6 +6,8 @@ let
 
   mainCfg = config.services.httpd;
 
+  runtimeDir = "/run/httpd";
+
   httpd = mainCfg.package.out;
 
   httpdConf = mainCfg.configFile;
@@ -16,52 +18,38 @@ let
 
   mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; };
 
-  defaultListen = cfg: if cfg.enableSSL
-    then [{ip = "*"; port = 443;}]
-    else [{ip = "*"; port = 80;}];
-
-  getListen = cfg:
-    if cfg.listen == []
-      then defaultListen cfg
-      else cfg.listen;
-
-  listenToString = l: "${l.ip}:${toString l.port}";
-
-  extraModules = attrByPath ["extraModules"] [] mainCfg;
-  extraForeignModules = filter isAttrs extraModules;
-  extraApacheModules = filter isString extraModules;
-
-  allHosts = [mainCfg] ++ mainCfg.virtualHosts;
-
-  enableSSL = any (vhost: vhost.enableSSL) allHosts;
+  vhosts = attrValues mainCfg.virtualHosts;
 
+  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; }
+    );
 
-  # Names of modules from ${httpd}/modules that we want to load.
-  apacheModules =
-    [ # HTTP authentication mechanisms: basic and digest.
-      "auth_basic" "auth_digest"
+  listenInfo = unique (concatMap mkListenInfo vhosts);
 
-      # Authentication: is the user who he claims to be?
-      "authn_file" "authn_dbm" "authn_anon" "authn_core"
+  enableSSL = any (listen: listen.ssl) listenInfo;
 
-      # Authorization: is the user allowed access?
-      "authz_user" "authz_groupfile" "authz_host" "authz_core"
+  enableUserDir = any (vhost: vhost.enableUserDir) vhosts;
 
-      # Other modules.
-      "ext_filter" "include" "log_config" "env" "mime_magic"
-      "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif"
-      "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs"
-      "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling"
-      "userdir" "alias" "rewrite" "proxy" "proxy_http"
-      "unixd" "cache" "cache_disk" "slotmem_shm" "socache_shmcb"
+  # NOTE: generally speaking order of modules is very important
+  modules =
+    [ # required apache modules our httpd service cannot run without
+      "authn_core" "authz_core"
+      "log_config"
+      "mime" "autoindex" "negotiation" "dir"
+      "alias" "rewrite"
+      "unixd" "slotmem_shm" "socache_shmcb"
       "mpm_${mainCfg.multiProcessingModule}"
-
-      # For compatibility with old configurations, the new module mod_access_compat is provided.
-      "access_compat"
     ]
     ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
     ++ optional enableSSL "ssl"
-    ++ extraApacheModules;
+    ++ optional enableUserDir "userdir"
+    ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
+    ++ optional mainCfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
+    ++ optional mainCfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
+    ++ mainCfg.extraModules;
 
 
   allDenied = "Require all denied";
@@ -85,20 +73,22 @@ let
 
 
   browserHacks = ''
-    BrowserMatch "Mozilla/2" nokeepalive
-    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-    BrowserMatch "RealPlayer 4\.0" force-response-1.0
-    BrowserMatch "Java/1\.0" force-response-1.0
-    BrowserMatch "JDK/1\.0" force-response-1.0
-    BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
-    BrowserMatch "^WebDrive" redirect-carefully
-    BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
-    BrowserMatch "^gnome-vfs" redirect-carefully
+    <IfModule mod_setenvif.c>
+        BrowserMatch "Mozilla/2" nokeepalive
+        BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+        BrowserMatch "RealPlayer 4\.0" force-response-1.0
+        BrowserMatch "Java/1\.0" force-response-1.0
+        BrowserMatch "JDK/1\.0" force-response-1.0
+        BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
+        BrowserMatch "^WebDrive" redirect-carefully
+        BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
+        BrowserMatch "^gnome-vfs" redirect-carefully
+    </IfModule>
   '';
 
 
   sslConf = ''
-    SSLSessionCache shmcb:${mainCfg.stateDir}/ssl_scache(512000)
+    SSLSessionCache shmcb:${runtimeDir}/ssl_scache(512000)
 
     Mutex posixsem
 
@@ -123,129 +113,144 @@ let
     </IfModule>
   '';
 
-
-  perServerConf = isMainServer: cfg: let
-
-    # Canonical name must not include a trailing slash.
-    canonicalNames =
-      let defaultPort = (head (defaultListen cfg)).port; in
-      map (port:
-        (if cfg.enableSSL then "https" else "http") + "://" +
-        cfg.hostName +
-        (if port != defaultPort then ":${toString port}" else "")
-        ) (map (x: x.port) (getListen cfg));
-
-    maybeDocumentRoot = fold (svc: acc:
-      if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc
-    ) null ([ cfg ]);
-
-    documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else
-      pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out";
-
-    documentRootConf = ''
-      DocumentRoot "${documentRoot}"
-
-      <Directory "${documentRoot}">
-          Options Indexes FollowSymLinks
-          AllowOverride None
-          ${allGranted}
-      </Directory>
-    '';
-
-    # If this is a vhost, the include the entries for the main server as well.
-    robotsTxt = concatStringsSep "\n" (filter (x: x != "") ([ cfg.robotsEntries ] ++ lib.optional (!isMainServer) mainCfg.robotsEntries));
-
-  in ''
-    ${concatStringsSep "\n" (map (n: "ServerName ${n}") canonicalNames)}
-
-    ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases}
-
-    ${if cfg.sslServerCert != null then ''
-      SSLCertificateFile ${cfg.sslServerCert}
-      SSLCertificateKeyFile ${cfg.sslServerKey}
-      ${if cfg.sslServerChain != null then ''
-        SSLCertificateChainFile ${cfg.sslServerChain}
-      '' else ""}
-    '' else ""}
-
-    ${if cfg.enableSSL then ''
-      SSLEngine on
-    '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */
-    ''
-      SSLEngine off
-    '' else ""}
-
-    ${if isMainServer || cfg.adminAddr != null then ''
-      ServerAdmin ${cfg.adminAddr}
-    '' else ""}
-
-    ${if !isMainServer && mainCfg.logPerVirtualHost then ''
-      ErrorLog ${mainCfg.logDir}/error-${cfg.hostName}.log
-      CustomLog ${mainCfg.logDir}/access-${cfg.hostName}.log ${cfg.logFormat}
-    '' else ""}
-
-    ${optionalString (robotsTxt != "") ''
-      Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt}
-    ''}
-
-    ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""}
-
-    ${if cfg.enableUserDir then ''
-
-      UserDir public_html
-      UserDir disabled root
-
-      <Directory "/home/*/public_html">
-          AllowOverride FileInfo AuthConfig Limit Indexes
-          Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-          <Limit GET POST OPTIONS>
-              ${allGranted}
-          </Limit>
-          <LimitExcept GET POST OPTIONS>
-              ${allDenied}
-          </LimitExcept>
-      </Directory>
-
-    '' else ""}
-
-    ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then ''
-      RedirectPermanent / ${cfg.globalRedirect}
-    '' else ""}
-
-    ${
-      let makeFileConf = elem: ''
-            Alias ${elem.urlPath} ${elem.file}
-          '';
-      in concatMapStrings makeFileConf cfg.servedFiles
-    }
-
-    ${
-      let makeDirConf = elem: ''
-            Alias ${elem.urlPath} ${elem.dir}/
-            <Directory ${elem.dir}>
-                Options +Indexes
-                ${allGranted}
-                AllowOverride All
-            </Directory>
-          '';
-      in concatMapStrings makeDirConf cfg.servedDirs
-    }
-
-    ${cfg.extraConfig}
-  '';
+  mkVHostConf = hostOpts:
+    let
+      adminAddr = if hostOpts.adminAddr != null then hostOpts.adminAddr else mainCfg.adminAddr;
+      listen = filter (listen: !listen.ssl) (mkListenInfo hostOpts);
+      listenSSL = filter (listen: listen.ssl) (mkListenInfo hostOpts);
+
+      useACME = hostOpts.enableACME || hostOpts.useACMEHost != null;
+      sslCertDir =
+        if hostOpts.enableACME then config.security.acme.certs.${hostOpts.hostName}.directory
+        else if hostOpts.useACMEHost != null then config.security.acme.certs.${hostOpts.useACMEHost}.directory
+        else abort "This case should never happen.";
+
+      sslServerCert = if useACME then "${sslCertDir}/full.pem" else hostOpts.sslServerCert;
+      sslServerKey = if useACME then "${sslCertDir}/key.pem" else hostOpts.sslServerKey;
+      sslServerChain = if useACME then "${sslCertDir}/fullchain.pem" else hostOpts.sslServerChain;
+
+      acmeChallenge = optionalString useACME ''
+        Alias /.well-known/acme-challenge/ "${hostOpts.acmeRoot}/.well-known/acme-challenge/"
+        <Directory "${hostOpts.acmeRoot}">
+            AllowOverride None
+            Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+            Require method GET POST OPTIONS
+            Require all granted
+        </Directory>
+      '';
+    in
+      optionalString (listen != []) ''
+        <VirtualHost ${concatMapStringsSep " " (listen: "${listen.ip}:${toString listen.port}") listen}>
+            ServerName ${hostOpts.hostName}
+            ${concatMapStrings (alias: "ServerAlias ${alias}\n") hostOpts.serverAliases}
+            ServerAdmin ${adminAddr}
+            <IfModule mod_ssl.c>
+                SSLEngine off
+            </IfModule>
+            ${acmeChallenge}
+            ${if hostOpts.forceSSL then ''
+              <IfModule mod_rewrite.c>
+                  RewriteEngine on
+                  RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge [NC]
+                  RewriteCond %{HTTPS} off
+                  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
+              </IfModule>
+            '' else mkVHostCommonConf hostOpts}
+        </VirtualHost>
+      '' +
+      optionalString (listenSSL != []) ''
+        <VirtualHost ${concatMapStringsSep " " (listen: "${listen.ip}:${toString listen.port}") listenSSL}>
+            ServerName ${hostOpts.hostName}
+            ${concatMapStrings (alias: "ServerAlias ${alias}\n") hostOpts.serverAliases}
+            ServerAdmin ${adminAddr}
+            SSLEngine on
+            SSLCertificateFile ${sslServerCert}
+            SSLCertificateKeyFile ${sslServerKey}
+            ${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"}
+            ${acmeChallenge}
+            ${mkVHostCommonConf hostOpts}
+        </VirtualHost>
+      ''
+  ;
+
+  mkVHostCommonConf = hostOpts:
+    let
+      documentRoot = if hostOpts.documentRoot != null
+        then hostOpts.documentRoot
+        else pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"
+      ;
+    in
+      ''
+        ${optionalString mainCfg.logPerVirtualHost ''
+          ErrorLog ${mainCfg.logDir}/error-${hostOpts.hostName}.log
+          CustomLog ${mainCfg.logDir}/access-${hostOpts.hostName}.log ${hostOpts.logFormat}
+        ''}
+
+        ${optionalString (hostOpts.robotsEntries != "") ''
+          Alias /robots.txt ${pkgs.writeText "robots.txt" hostOpts.robotsEntries}
+        ''}
+
+        DocumentRoot "${documentRoot}"
+
+        <Directory "${documentRoot}">
+            Options Indexes FollowSymLinks
+            AllowOverride None
+            ${allGranted}
+        </Directory>
+
+        ${optionalString hostOpts.enableUserDir ''
+          UserDir public_html
+          UserDir disabled root
+          <Directory "/home/*/public_html">
+              AllowOverride FileInfo AuthConfig Limit Indexes
+              Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+              <Limit GET POST OPTIONS>
+                  Require all granted
+              </Limit>
+              <LimitExcept GET POST OPTIONS>
+                  Require all denied
+              </LimitExcept>
+          </Directory>
+        ''}
+
+        ${optionalString (hostOpts.globalRedirect != null && hostOpts.globalRedirect != "") ''
+          RedirectPermanent / ${hostOpts.globalRedirect}
+        ''}
+
+        ${
+          let makeFileConf = elem: ''
+                Alias ${elem.urlPath} ${elem.file}
+              '';
+          in concatMapStrings makeFileConf hostOpts.servedFiles
+        }
+        ${
+          let makeDirConf = elem: ''
+                Alias ${elem.urlPath} ${elem.dir}/
+                <Directory ${elem.dir}>
+                    Options +Indexes
+                    ${allGranted}
+                    AllowOverride All
+                </Directory>
+              '';
+          in concatMapStrings makeDirConf hostOpts.servedDirs
+        }
+
+        ${hostOpts.extraConfig}
+      ''
+  ;
 
 
   confFile = pkgs.writeText "httpd.conf" ''
 
     ServerRoot ${httpd}
+    ServerName ${config.networking.hostName}
+    DefaultRuntimeDir ${runtimeDir}/runtime
 
-    DefaultRuntimeDir ${mainCfg.stateDir}/runtime
-
-    PidFile ${mainCfg.stateDir}/httpd.pid
+    PidFile ${runtimeDir}/httpd.pid
 
     ${optionalString (mainCfg.multiProcessingModule != "prefork") ''
       # mod_cgid requires this.
-      ScriptSock ${mainCfg.stateDir}/cgisock
+      ScriptSock ${runtimeDir}/cgisock
     ''}
 
     <IfModule prefork.c>
@@ -254,23 +259,21 @@ let
     </IfModule>
 
     ${let
-        listen = concatMap getListen allHosts;
-        toStr = listen: "Listen ${listenToString listen}\n";
-        uniqueListen = uniqList {inputList = map toStr listen;};
-      in concatStrings uniqueListen
+        toStr = listen: "Listen ${listen.ip}:${toString listen.port} ${if listen.ssl then "https" else "http"}";
+        uniqueListen = uniqList {inputList = map toStr listenInfo;};
+      in concatStringsSep "\n" uniqueListen
     }
 
     User ${mainCfg.user}
     Group ${mainCfg.group}
 
     ${let
-        load = {name, path}: "LoadModule ${name}_module ${path}\n";
-        allModules = map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules
-          ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
-          ++ optional mainCfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
-          ++ optional mainCfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
-          ++ extraForeignModules;
-      in concatMapStrings load (unique allModules)
+        mkModule = module:
+          if isString module then { name = module; path = "${httpd}/modules/mod_${module}.so"; }
+          else if isAttrs module then { inherit (module) name path; }
+          else throw "Expecting either a string or attribute set including a name and path.";
+      in
+        concatMapStringsSep "\n" (module: "LoadModule ${module.name}_module ${module.path}") (unique (map mkModule modules))
     }
 
     AddHandler type-map var
@@ -306,17 +309,9 @@ let
         ${allGranted}
     </Directory>
 
-    # Generate directives for the main server.
-    ${perServerConf true mainCfg}
+    ${mainCfg.extraConfig}
 
-    ${let
-        makeVirtualHost = vhost: ''
-          <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}>
-              ${perServerConf false vhost}
-          </VirtualHost>
-        '';
-      in concatMapStrings makeVirtualHost mainCfg.virtualHosts
-    }
+    ${concatMapStringsSep "\n" mkVHostConf vhosts}
   '';
 
   # Generate the PHP configuration file.  Should probably be factored
@@ -337,6 +332,22 @@ in
 
   imports = [
     (mkRemovedOptionModule [ "services" "httpd" "extraSubservices" ] "Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.")
+    (mkRemovedOptionModule [ "services" "httpd" "stateDir" ] "The httpd module now uses /run/httpd as a runtime directory.")
+
+    # virtualHosts options
+    (mkRemovedOptionModule [ "services" "httpd" "documentRoot" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "enableSSL" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "enableUserDir" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "globalRedirect" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "hostName" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "listen" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "robotsEntries" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "servedDirs" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "servedFiles" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "serverAliases" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerCert" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerChain" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
+    (mkRemovedOptionModule [ "services" "httpd" "sslServerKey" ] "Please define a virtual host using `services.httpd.virtualHosts`.")
   ];
 
   ###### interface
@@ -375,7 +386,7 @@ in
         type = types.lines;
         default = "";
         description = ''
-          Cnfiguration lines appended to the generated Apache
+          Configuration lines appended to the generated Apache
           configuration file. Note that this mechanism may not work
           when <option>configFile</option> is overridden.
         '';
@@ -384,7 +395,12 @@ in
       extraModules = mkOption {
         type = types.listOf types.unspecified;
         default = [];
-        example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]'';
+        example = literalExample ''
+          [
+            "proxy_connect"
+            { name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
+          ]
+        '';
         description = ''
           Additional Apache modules to be used.  These can be
           specified as a string in the case of modules distributed
@@ -394,9 +410,25 @@ in
         '';
       };
 
+      adminAddr = mkOption {
+        type = types.str;
+        example = "admin@example.org";
+        description = "E-mail address of the server administrator.";
+      };
+
+      logFormat = mkOption {
+        type = types.str;
+        default = "common";
+        example = "combined";
+        description = ''
+          Log format for log files. Possible values are: combined, common, referer, agent.
+          See <link xlink:href="https://httpd.apache.org/docs/2.4/logs.html"/> for more details.
+        '';
+      };
+
       logPerVirtualHost = mkOption {
         type = types.bool;
-        default = false;
+        default = true;
         description = ''
           If enabled, each virtual host gets its own
           <filename>access.log</filename> and
@@ -431,37 +463,29 @@ in
         '';
       };
 
-      stateDir = mkOption {
-        type = types.path;
-        default = "/run/httpd";
-        description = ''
-          Directory for Apache's transient runtime state (such as PID
-          files).  It is created automatically.  Note that the default,
-          <filename>/run/httpd</filename>, is deleted at boot time.
-        '';
-      };
-
       virtualHosts = mkOption {
-        type = types.listOf (types.submodule (
-          { options = import ./per-server-options.nix {
-              inherit lib;
-              forMainServer = false;
+        type = with types; attrsOf (submodule (import ./per-server-options.nix));
+        default = {
+          localhost = {
+            documentRoot = "${httpd}/htdocs";
+          };
+        };
+        example = literalExample ''
+          {
+            "foo.example.com" = {
+              forceSSL = true;
+              documentRoot = "/var/www/foo.example.com"
+            };
+            "bar.example.com" = {
+              addSSL = true;
+              documentRoot = "/var/www/bar.example.com";
             };
-          }));
-        default = [];
-        example = [
-          { hostName = "foo";
-            documentRoot = "/data/webroot-foo";
-          }
-          { hostName = "bar";
-            documentRoot = "/data/webroot-bar";
           }
-        ];
+        '';
         description = ''
-          Specification of the virtual hosts served by Apache.  Each
+          Specification of the virtual hosts served by Apache. Each
           element should be an attribute set specifying the
-          configuration of the virtual host.  The available options
-          are the non-global options permissible for the main host.
+          configuration of the virtual host.
         '';
       };
 
@@ -547,13 +571,7 @@ in
         example = "All -SSLv2 -SSLv3";
         description = "Allowed SSL/TLS protocol versions.";
       };
-    }
-
-    # Include the options shared between the main server and virtual hosts.
-    // (import ./per-server-options.nix {
-      inherit lib;
-      forMainServer = true;
-    });
+    };
 
   };
 
@@ -562,11 +580,31 @@ in
 
   config = mkIf config.services.httpd.enable {
 
-    assertions = [ { assertion = mainCfg.enableSSL == true
-                               -> mainCfg.sslServerCert != null
-                                    && mainCfg.sslServerKey != null;
-                     message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; }
-                 ];
+    assertions = [
+      {
+        assertion = all (hostOpts: !hostOpts.enableSSL) vhosts;
+        message = ''
+          The option `services.httpd.virtualHosts.<name>.enableSSL` no longer has any effect; please remove it.
+          Select one of `services.httpd.virtualHosts.<name>.addSSL`, `services.httpd.virtualHosts.<name>.forceSSL`,
+          or `services.httpd.virtualHosts.<name>.onlySSL`.
+        '';
+      }
+      {
+        assertion = all (hostOpts: with hostOpts; !(addSSL && onlySSL) && !(forceSSL && onlySSL) && !(addSSL && forceSSL)) vhosts;
+        message = ''
+          Options `services.httpd.virtualHosts.<name>.addSSL`,
+          `services.httpd.virtualHosts.<name>.onlySSL` and `services.httpd.virtualHosts.<name>.forceSSL`
+          are mutually exclusive.
+        '';
+      }
+      {
+        assertion = all (hostOpts: !(hostOpts.enableACME && hostOpts.useACMEHost != null)) vhosts;
+        message = ''
+          Options `services.httpd.virtualHosts.<name>.enableACME` and
+          `services.httpd.virtualHosts.<name>.useACMEHost` are mutually exclusive.
+        '';
+      }
+    ];
 
     users.users = optionalAttrs (mainCfg.user == "wwwrun") (singleton
       { name = "wwwrun";
@@ -580,6 +618,15 @@ in
         gid = config.ids.gids.wwwrun;
       });
 
+    security.acme.certs = mapAttrs (name: hostOpts: {
+      user = mainCfg.user;
+      group = mkDefault mainCfg.group;
+      email = if hostOpts.adminAddr != null then hostOpts.adminAddr else mainCfg.adminAddr;
+      webroot = hostOpts.acmeRoot;
+      extraDomains = genAttrs hostOpts.serverAliases (alias: null);
+      postRun = "systemctl reload httpd.service";
+    }) (filterAttrs (name: hostOpts: hostOpts.enableACME) mainCfg.virtualHosts);
+
     environment.systemPackages = [httpd];
 
     services.httpd.phpOptions =
@@ -595,11 +642,37 @@ in
         date.timezone = "${config.time.timeZone}"
       '';
 
+    services.httpd.extraModules = mkBefore [
+      # HTTP authentication mechanisms: basic and digest.
+      "auth_basic" "auth_digest"
+
+      # Authentication: is the user who he claims to be?
+      "authn_file" "authn_dbm" "authn_anon"
+
+      # Authorization: is the user allowed access?
+      "authz_user" "authz_groupfile" "authz_host"
+
+      # Other modules.
+      "ext_filter" "include" "env" "mime_magic"
+      "cern_meta" "expires" "headers" "usertrack" "setenvif"
+      "dav" "status" "asis" "info" "dav_fs"
+      "vhost_alias" "imagemap" "actions" "speling"
+      "proxy" "proxy_http"
+      "cache" "cache_disk"
+
+      # For compatibility with old configurations, the new module mod_access_compat is provided.
+      "access_compat"
+    ];
+
     systemd.services.httpd =
+      let
+        vhostsACME = filter (hostOpts: hostOpts.enableACME) vhosts;
+      in
       { description = "Apache HTTPD";
 
         wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" "fs.target" ];
+        wants = concatLists (map (hostOpts: [ "acme-${hostOpts.hostName}.service" "acme-selfsigned-${hostOpts.hostName}.service" ]) vhostsACME);
+        after = [ "network.target" "fs.target" ] ++ map (hostOpts: "acme-selfsigned-${hostOpts.hostName}.service") vhostsACME;
 
         path =
           [ httpd pkgs.coreutils pkgs.gnugrep ]
@@ -611,12 +684,6 @@ in
 
         preStart =
           ''
-            mkdir -m 0750 -p ${mainCfg.stateDir}
-            [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir}
-
-            mkdir -m 0750 -p "${mainCfg.stateDir}/runtime"
-            [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime"
-
             mkdir -m 0700 -p ${mainCfg.logDir}
 
             # Get rid of old semaphores.  These tend to accumulate across
@@ -630,10 +697,13 @@ in
         serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}";
         serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop";
         serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful";
+        serviceConfig.Group = mainCfg.group;
         serviceConfig.Type = "forking";
-        serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid";
+        serviceConfig.PIDFile = "${runtimeDir}/httpd.pid";
         serviceConfig.Restart = "always";
         serviceConfig.RestartSec = "5s";
+        serviceConfig.RuntimeDirectory = "httpd httpd/runtime";
+        serviceConfig.RuntimeDirectoryMode = "0750";
       };
 
   };
diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
index c36207d5460..f2e92cda05f 100644
--- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
@@ -1,174 +1,235 @@
-# This file defines the options that can be used both for the Apache
-# 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.)
-
-{ forMainServer, lib }:
-
-with lib;
-
+{ config, lib, name, ... }:
+let
+  inherit (lib) mkOption types;
+in
 {
+  options = {
+
+    hostName = mkOption {
+      type = types.str;
+      default = name;
+      description = "Canonical hostname for the server.";
+    };
+
+    serverAliases = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = ["www.example.org" "www.example.org:8080" "example.org"];
+      description = ''
+        Additional names of virtual hosts served by this virtual host configuration.
+      '';
+    };
+
+    listen = mkOption {
+      type = with types; listOf (submodule ({
+        options = {
+          port = mkOption {
+            type = types.port;
+            description = "Port to listen on";
+          };
+          ip = mkOption {
+            type = types.str;
+            default = "*";
+            description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all.";
+          };
+          ssl = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable SSL (https) support.";
+          };
+        };
+      }));
+      default = [];
+      example = [
+        { ip = "195.154.1.1"; port = 443; ssl = true;}
+        { ip = "192.154.1.1"; port = 80; }
+        { ip = "*"; port = 8080; }
+      ];
+      description = ''
+        Listen addresses and ports for this virtual host.
+        <note><para>
+          This option overrides <literal>addSSL</literal>, <literal>forceSSL</literal> and <literal>onlySSL</literal>.
+        </para></note>
+      '';
+    };
+
+    enableSSL = mkOption {
+      type = types.bool;
+      visible = false;
+      default = false;
+    };
+
+    addSSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
+        <literal>listen</literal> to listen on all interfaces on the respective default
+        ports (80, 443).
+      '';
+    };
+
+    onlySSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable HTTPS and reject plain HTTP connections. This will set
+        defaults for <literal>listen</literal> to listen on all interfaces on port 443.
+      '';
+    };
+
+    forceSSL = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to add a separate nginx server block that permanently redirects (301)
+        all plain HTTP traffic to HTTPS. This will set defaults for
+        <literal>listen</literal> to listen on all interfaces on the respective default
+        ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
+      '';
+    };
+
+    enableACME = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to ask Let's Encrypt to sign a certificate for this vhost.
+        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
+      '';
+    };
+
+    useACMEHost = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        A host of an existing Let's Encrypt certificate to use.
+        This is useful if you have many subdomains and want to avoid hitting the
+        <link xlink:href="https://letsencrypt.org/docs/rate-limits/">rate limit</link>.
+        Alternately, you can generate a certificate through <option>enableACME</option>.
+        <emphasis>Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using  <xref linkend="opt-security.acme.certs"/>.</emphasis>
+      '';
+    };
+
+    acmeRoot = mkOption {
+      type = types.str;
+      default = "/var/lib/acme/acme-challenges";
+      description = "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here";
+    };
+
+    sslServerCert = mkOption {
+      type = types.path;
+      example = "/var/host.cert";
+      description = "Path to server SSL certificate.";
+    };
+
+    sslServerKey = mkOption {
+      type = types.path;
+      example = "/var/host.key";
+      description = "Path to server SSL certificate key.";
+    };
+
+    sslServerChain = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/var/ca.pem";
+      description = "Path to server SSL chain file.";
+    };
+
+    adminAddr = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "admin@example.org";
+      description = "E-mail address of the server administrator.";
+    };
+
+    documentRoot = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/data/webserver/docs";
+      description = ''
+        The path of Apache's document root directory.  If left undefined,
+        an empty directory in the Nix store will be used as root.
+      '';
+    };
+
+    servedDirs = mkOption {
+      type = types.listOf types.attrs;
+      default = [];
+      example = [
+        { urlPath = "/nix";
+          dir = "/home/eelco/Dev/nix-homepage";
+        }
+      ];
+      description = ''
+        This option provides a simple way to serve static directories.
+      '';
+    };
+
+    servedFiles = mkOption {
+      type = types.listOf types.attrs;
+      default = [];
+      example = [
+        { urlPath = "/foo/bar.png";
+          file = "/home/eelco/some-file.png";
+        }
+      ];
+      description = ''
+        This option provides a simple way to serve individual, static files.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      example = ''
+        <Directory /home>
+          Options FollowSymlinks
+          AllowOverride All
+        </Directory>
+      '';
+      description = ''
+        These lines go to httpd.conf verbatim. They will go after
+        directories and directory aliases defined by default.
+      '';
+    };
+
+    enableUserDir = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable serving <filename>~/public_html</filename> as
+        <literal>/~<replaceable>username</replaceable></literal>.
+      '';
+    };
+
+    globalRedirect = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = http://newserver.example.org/;
+      description = ''
+        If set, all requests for this host are redirected permanently to
+        the given URL.
+      '';
+    };
+
+    logFormat = mkOption {
+      type = types.str;
+      default = "common";
+      example = "combined";
+      description = ''
+        Log format for Apache's log files. Possible values are: combined, common, referer, agent.
+      '';
+    };
+
+    robotsEntries = mkOption {
+      type = types.lines;
+      default = "";
+      example = "Disallow: /foo/";
+      description = ''
+        Specification of pages to be ignored by web crawlers. See <link
+        xlink:href='http://www.robotstxt.org/'/> for details.
+      '';
+    };
 
-  hostName = mkOption {
-    type = types.str;
-    default = "localhost";
-    description = "Canonical hostname for the server.";
-  };
-
-  serverAliases = mkOption {
-    type = types.listOf types.str;
-    default = [];
-    example = ["www.example.org" "www.example.org:8080" "example.org"];
-    description = ''
-      Additional names of virtual hosts served by this virtual host configuration.
-    '';
-  };
-
-  listen = mkOption {
-     type = types.listOf (types.submodule (
-          {
-            options = {
-              port = mkOption {
-                type = types.int;
-                description = "port to listen on";
-              };
-              ip = mkOption {
-                type = types.str;
-                default = "*";
-                description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all.";
-              };
-            };
-          } ));
-    description = ''
-      List of { /* ip: "*"; */ port = 80;} to listen on
-    '';
-
-    default = [];
-  };
-
-  enableSSL = mkOption {
-    type = types.bool;
-    default = false;
-    description = "Whether to enable SSL (https) support.";
   };
-
-  # Note: sslServerCert and sslServerKey can be left empty, but this
-  # only makes sense for virtual hosts (they will inherit from the
-  # main server).
-
-  sslServerCert = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/var/host.cert";
-    description = "Path to server SSL certificate.";
-  };
-
-  sslServerKey = mkOption {
-    type = types.path;
-    example = "/var/host.key";
-    description = "Path to server SSL certificate key.";
-  };
-
-  sslServerChain = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/var/ca.pem";
-    description = "Path to server SSL chain file.";
-  };
-
-  adminAddr = mkOption ({
-    type = types.nullOr types.str;
-    example = "admin@example.org";
-    description = "E-mail address of the server administrator.";
-  } // (if forMainServer then {} else {default = null;}));
-
-  documentRoot = mkOption {
-    type = types.nullOr types.path;
-    default = null;
-    example = "/data/webserver/docs";
-    description = ''
-      The path of Apache's document root directory.  If left undefined,
-      an empty directory in the Nix store will be used as root.
-    '';
-  };
-
-  servedDirs = mkOption {
-    type = types.listOf types.attrs;
-    default = [];
-    example = [
-      { urlPath = "/nix";
-        dir = "/home/eelco/Dev/nix-homepage";
-      }
-    ];
-    description = ''
-      This option provides a simple way to serve static directories.
-    '';
-  };
-
-  servedFiles = mkOption {
-    type = types.listOf types.attrs;
-    default = [];
-    example = [
-      { urlPath = "/foo/bar.png";
-        file = "/home/eelco/some-file.png";
-      }
-    ];
-    description = ''
-      This option provides a simple way to serve individual, static files.
-    '';
-  };
-
-  extraConfig = mkOption {
-    type = types.lines;
-    default = "";
-    example = ''
-      <Directory /home>
-        Options FollowSymlinks
-        AllowOverride All
-      </Directory>
-    '';
-    description = ''
-      These lines go to httpd.conf verbatim. They will go after
-      directories and directory aliases defined by default.
-    '';
-  };
-
-  enableUserDir = mkOption {
-    type = types.bool;
-    default = false;
-    description = ''
-      Whether to enable serving <filename>~/public_html</filename> as
-      <literal>/~<replaceable>username</replaceable></literal>.
-    '';
-  };
-
-  globalRedirect = mkOption {
-    type = types.nullOr types.str;
-    default = null;
-    example = http://newserver.example.org/;
-    description = ''
-      If set, all requests for this host are redirected permanently to
-      the given URL.
-    '';
-  };
-
-  logFormat = mkOption {
-    type = types.str;
-    default = "common";
-    example = "combined";
-    description = ''
-      Log format for Apache's log files. Possible values are: combined, common, referer, agent.
-    '';
-  };
-
-  robotsEntries = mkOption {
-    type = types.lines;
-    default = "";
-    example = "Disallow: /foo/";
-    description = ''
-      Specification of pages to be ignored by web crawlers. See <link
-      xlink:href='http://www.robotstxt.org/'/> for details.
-    '';
-  };
-
 }
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index eb90dae94df..ada7a25604c 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -47,7 +47,7 @@ let
   ''));
 
   configFile = pkgs.writers.writeNginxConfig "nginx.conf" ''
-    user ${cfg.user} ${cfg.group};
+    pid /run/nginx/nginx.pid;
     error_log ${cfg.logError};
     daemon off;
 
@@ -366,12 +366,7 @@ in
 
       preStart =  mkOption {
         type = types.lines;
-        default = ''
-          test -d ${cfg.stateDir}/logs || mkdir -m 750 -p ${cfg.stateDir}/logs
-          test `stat -c %a ${cfg.stateDir}` = "750" || chmod 750 ${cfg.stateDir}
-          test `stat -c %a ${cfg.stateDir}/logs` = "750" || chmod 750 ${cfg.stateDir}/logs
-          chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
-        '';
+        default = "";
         description = "
           Shell commands executed before the service's nginx is started.
         ";
@@ -673,23 +668,36 @@ in
       }
     ];
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -"
+      "d '${cfg.stateDir}/logs' 0750 ${cfg.user} ${cfg.group} - -"
+      "Z '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -"
+    ];
+
     systemd.services.nginx = {
       description = "Nginx Web Server";
       wantedBy = [ "multi-user.target" ];
       wants = concatLists (map (vhostConfig: ["acme-${vhostConfig.serverName}.service" "acme-selfsigned-${vhostConfig.serverName}.service"]) acmeEnabledVhosts);
       after = [ "network.target" ] ++ map (vhostConfig: "acme-selfsigned-${vhostConfig.serverName}.service") acmeEnabledVhosts;
       stopIfChanged = false;
-      preStart =
-        ''
+      preStart = ''
         ${cfg.preStart}
-        ${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir} -t
-        '';
+        ${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}' -t
+      '';
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/nginx -c ${configPath} -p ${cfg.stateDir}";
+        ExecStart = "${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}'";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
         RestartSec = "10s";
         StartLimitInterval = "1min";
+        # User and group
+        User = cfg.user;
+        Group = cfg.group;
+        # Runtime directory and mode
+        RuntimeDirectory = "nginx";
+        RuntimeDirectoryMode = "0750";
+        # Capabilities
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ];
       };
     };
 
diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix
index aeb9b1dd79e..3d9e391ecf2 100644
--- a/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -1,4 +1,4 @@
-# This file defines the options that can be used both for the Apache
+# 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.)
@@ -67,7 +67,7 @@ with lib;
     return = mkOption {
       type = types.nullOr types.str;
       default = null;
-      example = "301 http://example.com$request_uri;";
+      example = "301 http://example.com$request_uri";
       description = ''
         Adds a return directive, for e.g. redirections.
       '';
@@ -92,4 +92,3 @@ with lib;
     };
   };
 }
-
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 15b933c984a..455854e2a96 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -1,4 +1,4 @@
-# This file defines the options that can be used both for the Apache
+# 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.)
@@ -207,6 +207,7 @@ with lib;
       default = null;
       description = ''
         Basic Auth password file for a vhost.
+        Can be created via: <command>htpasswd -c &lt;filename&gt; &lt;username&gt;</command>
       '';
     };
 
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 4ab7e3f0c0a..2c73da10394 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -31,7 +31,7 @@ let
     '';
     passAsFile = [ "nixDefaults" "phpOptions" ];
   } ''
-    cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
+    cat ${poolOpts.phpPackage}/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
   '';
 
   poolOpts = { name, ... }:
@@ -69,8 +69,6 @@ let
 
         phpOptions = mkOption {
           type = types.lines;
-          default = cfg.phpOptions;
-          defaultText = "config.services.phpfpm.phpOptions";
           description = ''
             "Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
           '';
@@ -137,6 +135,7 @@ let
       config = {
         socket = if poolOpts.listen == "" then "${runtimeDir}/${name}.sock" else poolOpts.listen;
         group = mkDefault poolOpts.user;
+        phpOptions = mkBefore cfg.phpOptions;
 
         settings = mapAttrs (name: mkDefault){
           listen = poolOpts.socket;
@@ -147,6 +146,10 @@ let
     };
 
 in {
+  imports = [
+    (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
+    (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "")
+  ];
 
   options = {
     services.phpfpm = {
@@ -263,6 +266,7 @@ in {
         in {
           Slice = "phpfpm.slice";
           PrivateDevices = true;
+          PrivateTmp = true;
           ProtectSystem = "full";
           ProtectHome = true;
           # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
diff --git a/nixos/modules/services/web-servers/ttyd.nix b/nixos/modules/services/web-servers/ttyd.nix
new file mode 100644
index 00000000000..01a01d97a23
--- /dev/null
+++ b/nixos/modules/services/web-servers/ttyd.nix
@@ -0,0 +1,196 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.ttyd;
+
+  # Command line arguments for the ttyd daemon
+  args = [ "--port" (toString cfg.port) ]
+         ++ optionals (cfg.socket != null) [ "--interface" cfg.socket ]
+         ++ optionals (cfg.interface != null) [ "--interface" cfg.interface ]
+         ++ [ "--signal" (toString cfg.signal) ]
+         ++ (concatLists (mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
+         ++ [ "--terminal-type" cfg.terminalType ]
+         ++ optionals cfg.checkOrigin [ "--check-origin" ]
+         ++ [ "--max-clients" (toString cfg.maxClients) ]
+         ++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ]
+         ++ optionals cfg.enableIPv6 [ "--ipv6" ]
+         ++ optionals cfg.enableSSL [ "--ssl-cert" cfg.certFile
+                                      "--ssl-key" cfg.keyFile
+                                      "--ssl-ca" cfg.caFile ]
+         ++ [ "--debug" (toString cfg.logLevel) ];
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+    services.ttyd = {
+      enable = mkEnableOption "ttyd daemon";
+
+      port = mkOption {
+        type = types.int;
+        default = 7681;
+        description = "Port to listen on (use 0 for random port)";
+      };
+
+      socket = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/run/ttyd.sock";
+        description = "UNIX domain socket path to bind.";
+      };
+
+      interface = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "eth0";
+        description = "Network interface to bind.";
+      };
+
+      username = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "Username for basic authentication.";
+      };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        apply = value: if value == null then null else toString value;
+        description = ''
+          File containing the password to use for basic authentication.
+          For insecurely putting the password in the globally readable store use
+          <literal>pkgs.writeText "ttydpw" "MyPassword"</literal>.
+        '';
+      };
+
+      signal = mkOption {
+        type = types.ints.u8;
+        default = 1;
+        description = "Signal to send to the command on session close.";
+      };
+
+      clientOptions = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        example = literalExample ''{
+          fontSize = "16";
+          fontFamily = "Fira Code";
+
+        }'';
+        description = ''
+          Attribute set of client options for xtermjs.
+          <link xlink:href="https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/"/>
+        '';
+      };
+
+      terminalType = mkOption {
+        type = types.str;
+        default = "xterm-256color";
+        description = "Terminal type to report.";
+      };
+
+      checkOrigin = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to allow a websocket connection from a different origin.";
+      };
+
+      maxClients = mkOption {
+        type = types.int;
+        default = 0;
+        description = "Maximum clients to support (0, no limit)";
+      };
+
+      indexFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "Custom index.html path";
+      };
+
+      enableIPv6 = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether or not to enable IPv6 support.";
+      };
+
+      enableSSL = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether or not to enable SSL (https) support.";
+      };
+
+      certFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "SSL certificate file path.";
+      };
+
+      keyFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        apply = value: if value == null then null else toString value;
+        description = ''
+          SSL key file path.
+          For insecurely putting the keyFile in the globally readable store use
+          <literal>pkgs.writeText "ttydKeyFile" "SSLKEY"</literal>.
+        '';
+      };
+
+      caFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = "SSL CA file path for client certificate verification.";
+      };
+
+      logLevel = mkOption {
+        type = types.int;
+        default = 7;
+        description = "Set log level.";
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions =
+      [ { assertion = cfg.enableSSL
+            -> cfg.certFile != null && cfg.keyFile != null && cfg.caFile != null;
+          message = "SSL is enabled for ttyd, but no certFile, keyFile or caFile has been specefied."; }
+        { assertion = ! (cfg.interface != null && cfg.socket != null);
+          message = "Cannot set both interface and socket for ttyd."; }
+        { assertion = (cfg.username != null) == (cfg.passwordFile != null);
+          message = "Need to set both username and passwordFile for ttyd"; }
+      ];
+
+    systemd.services.ttyd = {
+      description = "ttyd Web Server Daemon";
+
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        # Runs login which needs to be run as root
+        # login: Cannot possibly work without effective root
+        User = "root";
+      };
+
+      script = if cfg.passwordFile != null then ''
+        PASSWORD=$(cat ${escapeShellArg cfg.passwordFile})
+        ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
+          --credential ${escapeShellArg cfg.username}:"$PASSWORD" \
+          ${pkgs.shadow}/bin/login
+      ''
+      else ''
+        ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
+          ${pkgs.shadow}/bin/login
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/web-servers/unit/default.nix b/nixos/modules/services/web-servers/unit/default.nix
index 32f6d475b34..b07212580a5 100644
--- a/nixos/modules/services/web-servers/unit/default.nix
+++ b/nixos/modules/services/web-servers/unit/default.nix
@@ -85,7 +85,7 @@ in {
     systemd.tmpfiles.rules = [
       "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -"
       "d '${cfg.logDir}' 0750 ${cfg.user} ${cfg.group} - -"
-     ];
+    ];
 
     systemd.services.unit = {
       description = "Unit App Server";
@@ -93,23 +93,39 @@ in {
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ curl ];
       preStart = ''
-        test -f '/run/unit/control.unit.sock' || rm -f '/run/unit/control.unit.sock'
+        test -f '${cfg.stateDir}/conf.json' || rm -f '${cfg.stateDir}/conf.json'
       '';
       postStart = ''
         curl -X PUT --data-binary '@${configFile}' --unix-socket '/run/unit/control.unit.sock' 'http://localhost/config'
       '';
       serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
-        AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
-        CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID";
         ExecStart = ''
           ${cfg.package}/bin/unitd --control 'unix:/run/unit/control.unit.sock' --pid '/run/unit/unit.pid' \
                                    --log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' --no-daemon \
                                    --user ${cfg.user} --group ${cfg.group}
         '';
+        # User and group
+        User = cfg.user;
+        Group = cfg.group;
+        # Capabilities
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SETGID" "CAP_SETUID" ];
+        # Security
+        NoNewPrivileges = true;
+        # Sanboxing
+        ProtectSystem = "full";
+        ProtectHome = true;
         RuntimeDirectory = "unit";
         RuntimeDirectoryMode = "0750";
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectHostname = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
       };
     };
 
diff --git a/nixos/modules/services/web-servers/varnish/default.nix b/nixos/modules/services/web-servers/varnish/default.nix
index 63f967185c2..01fe3d12917 100644
--- a/nixos/modules/services/web-servers/varnish/default.nix
+++ b/nixos/modules/services/web-servers/varnish/default.nix
@@ -15,8 +15,8 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.varnish5;
-        defaultText = "pkgs.varnish5";
+        default = pkgs.varnish;
+        defaultText = "pkgs.varnish";
         description = ''
           The package to use
         '';
@@ -48,7 +48,7 @@ in
       extraModules = mkOption {
         type = types.listOf types.package;
         default = [];
-        example = literalExample "[ pkgs.varnish5Packages.geoip ]";
+        example = literalExample "[ pkgs.varnishPackages.geoip ]";
         description = "
           Varnish modules (except 'std').
         ";
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index a94a76ff0c0..61174672e2d 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -284,4 +284,6 @@ in {
     environment.systemPackages = [ pkgs.compton ];
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/x11/desktop-managers/cde.nix b/nixos/modules/services/x11/desktop-managers/cde.nix
new file mode 100644
index 00000000000..c1b6d3bf064
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/cde.nix
@@ -0,0 +1,55 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.cde;
+in {
+  options.services.xserver.desktopManager.cde = {
+    enable = mkEnableOption "Common Desktop Environment";
+  };
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+    services.rpcbind.enable = true;
+
+    services.xinetd.enable = true;
+    services.xinetd.services = [
+      {
+        name = "cmsd";
+        protocol = "udp";
+        user = "root";
+        server = "${pkgs.cdesktopenv}/opt/dt/bin/rpc.cmsd";
+        extraConfig = ''
+          type  = RPC UNLISTED
+          rpc_number  = 100068
+          rpc_version = 2-5
+          only_from   = 127.0.0.1/0
+        '';
+      }
+    ];
+
+    users.groups.mail = {};
+    security.wrappers = {
+      dtmail = {
+        source = "${pkgs.cdesktopenv}/bin/dtmail";
+        group = "mail";
+        setgid = true;
+      };
+    };
+
+    system.activationScripts.setup-cde = ''
+      mkdir -p /var/dt/{tmp,appconfig/appmanager}
+      chmod a+w+t /var/dt/{tmp,appconfig/appmanager}
+    '';
+
+    services.xserver.desktopManager.session = [
+    { name = "CDE";
+      start = ''
+        exec ${pkgs.cdesktopenv}/opt/dt/bin/Xsession
+      '';
+    }];
+  };
+
+  meta.maintainers = [ maintainers.gnidorah ];
+}
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index dfb84113e13..970fa620c6b 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,9 +18,9 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./xfce4-14.nix ./plasma5.nix ./lumina.nix
+    ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
     ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
-    ./mate.nix ./pantheon.nix ./surf-display.nix
+    ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
   ];
 
   options = {
@@ -86,23 +86,14 @@ in
       };
 
       default = mkOption {
-        type = types.str;
-        default = "";
+        type = types.nullOr types.str;
+        default = null;
         example = "none";
-        description = "Default desktop manager loaded if none have been chosen.";
-        apply = defaultDM:
-          if defaultDM == "" && cfg.session.list != [] then
-            (head cfg.session.list).name
-          else if any (w: w.name == defaultDM) cfg.session.list then
-            defaultDM
-          else
-            builtins.trace ''
-              Default desktop manager (${defaultDM}) not found at evaluation time.
-              These are the known valid session names:
-                ${concatMapStringsSep "\n  " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list}
-              It's also possible the default can be found in one of these packages:
-                ${concatMapStringsSep "\n  " (p: p.name) config.services.xserver.displayManager.extraSessionFilePackages}
-            '' defaultDM;
+        description = ''
+          <emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
+
+          Default desktop manager loaded if none have been chosen.
+        '';
       };
 
     };
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 3745069f6ea..04e82599b94 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -16,6 +16,10 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
+  ];
+
   options = {
 
     services.xserver.desktopManager.enlightenment.enable = mkOption {
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 5ad31e5b9d0..6d9bd284bc7 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -144,7 +144,7 @@ in
       services.gnome3.core-shell.enable = true;
       services.gnome3.core-utilities.enable = mkDefault true;
 
-      services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
+      services.xserver.displayManager.sessionPackages = [ pkgs.gnome3.gnome-session ];
 
       environment.extraInit = ''
         ${concatMapStrings (p: ''
@@ -171,7 +171,7 @@ in
     })
 
     (mkIf flashbackEnabled {
-      services.xserver.displayManager.extraSessionFilePackages =  map
+      services.xserver.displayManager.sessionPackages =  map
         (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
           inherit (wm) wmName wmLabel wmCommand;
         }) (optional cfg.flashback.enableMetacity {
@@ -184,6 +184,13 @@ in
         enableGnomeKeyring = true;
       };
 
+      systemd.packages = with pkgs.gnome3; [
+        gnome-flashback
+      ] ++ (map
+        (wm: gnome-flashback.mkSystemdTargetForWm {
+          inherit (wm) wmName;
+        }) cfg.flashback.customSessions);
+
       services.dbus.packages = [
         pkgs.gnome3.gnome-screensaver
       ];
@@ -217,6 +224,12 @@ in
 
       services.xserver.updateDbusEnvironment = true;
 
+      # gnome has a custom alert theme but it still
+      # inherits from the freedesktop theme.
+      environment.systemPackages = with pkgs; [
+        sound-theme-freedesktop
+      ];
+
       # Needed for themes and backgrounds
       environment.pathsToLink = [
         "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173
@@ -265,6 +278,26 @@ in
         source-sans-pro
       ];
 
+      ## Enable soft realtime scheduling, only supported on wayland ##
+
+      security.wrappers.".gnome-shell-wrapped" = {
+        source = "${pkgs.gnome3.gnome-shell}/bin/.gnome-shell-wrapped";
+        capabilities = "cap_sys_nice=ep";
+      };
+
+      systemd.user.services.gnome-shell-wayland = let
+        gnomeShellRT = with pkgs.gnome3; pkgs.runCommand "gnome-shell-rt" {} ''
+          mkdir -p $out/bin/
+          cp ${gnome-shell}/bin/gnome-shell $out/bin
+          sed -i "s@${gnome-shell}/bin/@${config.security.wrapperDir}/@" $out/bin/gnome-shell
+        '';
+      in {
+        # Note we need to clear ExecStart before overriding it
+        serviceConfig.ExecStart = ["" "${gnomeShellRT}/bin/gnome-shell"];
+        # Do not use the default environment, it provides a broken PATH
+        environment = mkForce {};
+      };
+
       # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-shell.bst
       environment.systemPackages = with pkgs.gnome3; [
         adwaita-icon-theme
@@ -276,7 +309,7 @@ in
         gnome-shell
         gnome-shell-extensions
         gnome-themes-extra
-        gnome-user-docs
+        pkgs.gnome-user-docs
         pkgs.orca
         pkgs.glib # for gsettings
         pkgs.gnome-menus
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index fe63f36cf96..4a6f2ca727d 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -98,7 +98,6 @@ in
 
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.gnome-keyring.enable = true;
-    services.gnome3.gnome-settings-daemon.enable = true;
     services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
     services.gvfs.enable = true;
     services.upower.enable = config.powerManagement.enable;
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 80dab135ee2..b46a2d189ef 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -5,6 +5,7 @@ with lib;
 let
 
   cfg = config.services.xserver.desktopManager.pantheon;
+  serviceCfg = config.services.pantheon;
 
   nixos-gsettings-desktop-schemas = pkgs.pantheon.elementary-gsettings-schemas.override {
     extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
@@ -19,6 +20,16 @@ in
 
   options = {
 
+    services.pantheon = {
+
+      contractor = {
+         enable = mkEnableOption "contractor, a desktop-wide extension service used by Pantheon";
+      };
+
+      apps.enable = mkEnableOption "Pantheon default applications";
+
+    };
+
     services.xserver.desktopManager.pantheon = {
       enable = mkOption {
         type = types.bool;
@@ -41,6 +52,18 @@ in
         ];
       };
 
+      extraWingpanelIndicators = mkOption {
+        default = null;
+        type = with types; nullOr (listOf package);
+        description = "Indicators to add to Wingpanel.";
+      };
+
+      extraSwitchboardPlugs = mkOption {
+        default = null;
+        type = with types; nullOr (listOf package);
+        description = "Plugs to add to Switchboard.";
+      };
+
       extraGSettingsOverrides = mkOption {
         default = "";
         type = types.lines;
@@ -67,124 +90,88 @@ in
   };
 
 
-  config = mkIf cfg.enable {
+  config = mkMerge [
+    (mkIf cfg.enable {
 
-    services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ];
+      services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ];
 
-    # Ensure lightdm is used when Pantheon is enabled
-    # Without it screen locking will be nonfunctional because of the use of lightlocker
+      # Ensure lightdm is used when Pantheon is enabled
+      # Without it screen locking will be nonfunctional because of the use of lightlocker
+      warnings = optional (config.services.xserver.displayManager.lightdm.enable != true)
+        ''
+          Using Pantheon without LightDM as a displayManager will break screenlocking from the UI.
+        '';
 
-    warnings = optional (config.services.xserver.displayManager.lightdm.enable != true)
-      ''
-        Using Pantheon without LightDM as a displayManager will break screenlocking from the UI.
+      services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
+
+      # Without this, elementary LightDM greeter will pre-select non-existent `default` session
+      # https://github.com/elementary/greeter/issues/368
+      services.xserver.displayManager.defaultSession = "pantheon";
+
+      services.xserver.displayManager.sessionCommands = ''
+        if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
+            ${concatMapStrings (p: ''
+              if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
+                export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
+              fi
+
+              if [ -d "${p}/lib/girepository-1.0" ]; then
+                export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
+                export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
+              fi
+            '') cfg.sessionPath}
+        fi
       '';
 
-    services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
-
-    # If not set manually Pantheon session cannot be started
-    # Known issue of https://github.com/NixOS/nixpkgs/pull/43992
-    services.xserver.desktopManager.default = mkForce "pantheon";
-
-    services.xserver.displayManager.sessionCommands = ''
-      if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
-          ${concatMapStrings (p: ''
-            if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
-              export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
-            fi
-
-            if [ -d "${p}/lib/girepository-1.0" ]; then
-              export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
-              export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
-            fi
-          '') cfg.sessionPath}
-      fi
-    '';
-
-    hardware.bluetooth.enable = mkDefault true;
-    hardware.pulseaudio.enable = mkDefault true;
-    security.polkit.enable = true;
-    services.accounts-daemon.enable = true;
-    services.bamf.enable = true;
-    services.colord.enable = mkDefault true;
-    services.pantheon.files.enable = mkDefault true;
-    services.tumbler.enable = mkDefault true;
-    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.dbus.packages = with pkgs.pantheon; [
-      switchboard-plug-power
-      elementary-default-settings
-    ];
-    services.pantheon.contractor.enable = mkDefault true;
-    services.gnome3.at-spi2-core.enable = true;
-    services.gnome3.evolution-data-server.enable = true;
-    services.gnome3.glib-networking.enable = true;
-    # TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
-    services.gnome3.gnome-keyring.enable = true;
-    services.gnome3.gnome-settings-daemon.enable = true;
-    services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ];
-    services.gvfs.enable = true;
-    services.gnome3.rygel.enable = mkDefault true;
-    services.gsignond.enable = mkDefault true;
-    services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
-    services.udisks2.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-    services.xserver.libinput.enable = mkDefault true;
-    services.xserver.updateDbusEnvironment = true;
-    services.zeitgeist.enable = mkDefault true;
-    services.geoclue2.enable = mkDefault true;
-    # pantheon has pantheon-agent-geoclue2
-    services.geoclue2.enableDemoAgent = false;
-    services.geoclue2.appConfig."io.elementary.desktop.agent-geoclue2" = {
-      isAllowed = true;
-      isSystem = true;
-    };
-
-    programs.dconf.enable = true;
-    programs.evince.enable = mkDefault true;
-    programs.file-roller.enable = mkDefault true;
-    # Otherwise you can't store NetworkManager Secrets with
-    # "Store the password only for this user"
-    programs.nm-applet.enable = true;
-
-    # Shell integration for VTE terminals
-    programs.bash.vteIntegration = mkDefault true;
-    programs.zsh.vteIntegration = mkDefault true;
-
-    # Harmonize Qt5 applications under Pantheon
-    qt5.enable = true;
-    qt5.platformTheme = "gnome";
-    qt5.style = "adwaita";
-
-    networking.networkmanager.enable = mkDefault true;
-
-    # Override GSettings schemas
-    environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
-
-    environment.sessionVariables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
-
-    # Settings from elementary-default-settings
-    environment.sessionVariables.GTK_CSD = "1";
-    environment.sessionVariables.GTK_MODULES = "pantheon-filechooser-module";
-    environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
-
-    environment.pathsToLink = [
-      # FIXME: modules should link subdirs of `/share` rather than relying on this
-      "/share"
-    ];
-
-    environment.systemPackages =
-      pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath
-      ++ (with pkgs; gnome3.removePackagesByName
-      ([
-        gnome3.geary
-        gnome3.epiphany
-        gnome3.gnome-font-viewer
-      ] ++ pantheon.apps) config.environment.pantheon.excludePackages)
-      ++ (with pkgs;
-      [
-        adwaita-qt
+      # Default services
+      hardware.bluetooth.enable = mkDefault true;
+      hardware.pulseaudio.enable = mkDefault true;
+      security.polkit.enable = true;
+      services.accounts-daemon.enable = true;
+      services.bamf.enable = true;
+      services.colord.enable = mkDefault true;
+      services.tumbler.enable = mkDefault true;
+      services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
+      services.dbus.packages = with pkgs.pantheon; [
+        switchboard-plug-power
+        elementary-default-settings # accountsservice extensions
+      ];
+      services.pantheon.apps.enable = mkDefault true;
+      services.pantheon.contractor.enable = mkDefault true;
+      services.gnome3.at-spi2-core.enable = true;
+      services.gnome3.evolution-data-server.enable = true;
+      services.gnome3.glib-networking.enable = true;
+      services.gnome3.gnome-keyring.enable = true;
+      services.gvfs.enable = true;
+      services.gnome3.rygel.enable = mkDefault true;
+      services.gsignond.enable = mkDefault true;
+      services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
+      services.udisks2.enable = true;
+      services.upower.enable = config.powerManagement.enable;
+      services.xserver.libinput.enable = mkDefault true;
+      services.xserver.updateDbusEnvironment = true;
+      services.zeitgeist.enable = mkDefault true;
+      services.geoclue2.enable = mkDefault true;
+      # pantheon has pantheon-agent-geoclue2
+      services.geoclue2.enableDemoAgent = false;
+      services.geoclue2.appConfig."io.elementary.desktop.agent-geoclue2" = {
+        isAllowed = true;
+        isSystem = true;
+      };
+      # Use gnome-settings-daemon fork
+      services.udev.packages = [
+        pkgs.pantheon.elementary-settings-daemon
+      ];
+      systemd.packages = [
+        pkgs.pantheon.elementary-settings-daemon
+      ];
+      programs.dconf.enable = true;
+      networking.networkmanager.enable = mkDefault true;
+
+      # Global environment
+      environment.systemPackages = with pkgs; [
         desktop-file-utils
         glib
-        glib-networking
         gnome-menus
         gnome3.adwaita-icon-theme
         gtk3.out
@@ -196,19 +183,111 @@ in
         shared-mime-info
         sound-theme-freedesktop
         xdg-user-dirs
-      ]);
+      ] ++ (with pkgs.pantheon; [
+        # Artwork
+        elementary-gtk-theme
+        elementary-icon-theme
+        elementary-sound-theme
+        elementary-wallpapers
+
+        # Desktop
+        elementary-default-settings
+        elementary-session-settings
+        elementary-shortcut-overlay
+        gala
+        (switchboard-with-plugs.override {
+          plugs = cfg.extraSwitchboardPlugs;
+        })
+        (wingpanel-with-indicators.override {
+          indicators = cfg.extraWingpanelIndicators;
+        })
+
+        # Services
+        cerbere
+        elementary-capnet-assist
+        elementary-dpms-helper
+        elementary-settings-daemon
+        pantheon-agent-geoclue2
+        pantheon-agent-polkit
+      ]) ++ (gnome3.removePackagesByName [
+        gnome3.geary
+        gnome3.epiphany
+        gnome3.gnome-font-viewer
+      ] config.environment.pantheon.excludePackages);
 
-    fonts.fonts = with pkgs; [
-      open-sans
-      roboto-mono
-      pantheon.elementary-redacted-script # needed by screenshot-tool
-    ];
+      programs.evince.enable = mkDefault true;
+      programs.file-roller.enable = mkDefault true;
 
-    fonts.fontconfig.defaultFonts = {
-      monospace = [ "Roboto Mono" ];
-      sansSerif = [ "Open Sans" ];
-    };
+      # Settings from elementary-default-settings
+      environment.sessionVariables.GTK_CSD = "1";
+      environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ];
+      environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
 
-  };
+      # Override GSettings schemas
+      environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+
+      environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
+
+      environment.pathsToLink = [
+        # FIXME: modules should link subdirs of `/share` rather than relying on this
+        "/share"
+      ];
+
+      # Otherwise you can't store NetworkManager Secrets with
+      # "Store the password only for this user"
+      programs.nm-applet.enable = true;
 
+      # Shell integration for VTE terminals
+      programs.bash.vteIntegration = mkDefault true;
+      programs.zsh.vteIntegration = mkDefault true;
+
+      # Harmonize Qt5 applications under Pantheon
+      qt5.enable = true;
+      qt5.platformTheme = "gnome";
+      qt5.style = "adwaita";
+
+      # Default Fonts
+      fonts.fonts = with pkgs; [
+        open-sans
+        roboto-mono
+      ];
+
+      fonts.fontconfig.defaultFonts = {
+        monospace = [ "Roboto Mono" ];
+        sansSerif = [ "Open Sans" ];
+      };
+    })
+
+    (mkIf serviceCfg.apps.enable {
+      environment.systemPackages = (with pkgs.pantheon; pkgs.gnome3.removePackagesByName [
+        elementary-calculator
+        elementary-calendar
+        elementary-camera
+        elementary-code
+        elementary-files
+        elementary-music
+        elementary-photos
+        elementary-screenshot-tool
+        elementary-terminal
+        elementary-videos
+      ] config.environment.pantheon.excludePackages);
+
+      # needed by screenshot-tool
+      fonts.fonts = [
+        pkgs.pantheon.elementary-redacted-script
+      ];
+    })
+
+    (mkIf serviceCfg.contractor.enable {
+      environment.systemPackages = with  pkgs.pantheon; [
+        contractor
+        extra-elementary-contracts
+      ];
+
+      environment.pathsToLink = [
+        "/share/contractor"
+      ];
+    })
+
+  ];
 }
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index b6fb7218da6..fce274477b6 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -27,20 +27,14 @@ in
         example = "vlc";
         description = "Phonon audio backend to install.";
       };
-
-      enableQt4Support = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Enable support for Qt 4-based applications. Particularly, install a
-          default backend for Phonon.
-        '';
-      };
-
     };
 
   };
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "enableQt4Support" ] "Phonon no longer supports Qt 4.")
+    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
+  ];
 
   config = mkMerge [
     (mkIf cfg.enable {
@@ -173,12 +167,10 @@ in
 
         # Phonon audio backend
         ++ lib.optional (cfg.phononBackend == "gstreamer") libsForQt5.phonon-backend-gstreamer
-        ++ lib.optional (cfg.phononBackend == "gstreamer" && cfg.enableQt4Support) pkgs.phonon-backend-gstreamer
         ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc
-        ++ lib.optional (cfg.phononBackend == "vlc" && cfg.enableQt4Support) pkgs.phonon-backend-vlc
 
         # Optional hardware support features
-        ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ]
+        ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt openobex obexftp ]
         ++ lib.optional config.networking.networkmanager.enable plasma-nm
         ++ lib.optional config.hardware.pulseaudio.enable plasma-pa
         ++ lib.optional config.powerManagement.enable powerdevil
@@ -232,7 +224,6 @@ in
       security.pam.services.kdm.enableKwallet = true;
       security.pam.services.lightdm.enableKwallet = true;
       security.pam.services.sddm.enableKwallet = true;
-      security.pam.services.slim.enableKwallet = true;
 
       xdg.portal.enable = true;
       xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix
index 140dde828da..9aeb0bbd2a8 100644
--- a/nixos/modules/services/x11/desktop-managers/surf-display.nix
+++ b/nixos/modules/services/x11/desktop-managers/surf-display.nix
@@ -118,7 +118,7 @@ in {
   };
 
   config = mkIf cfg.enable {
-    services.xserver.displayManager.extraSessionFilePackages = [
+    services.xserver.displayManager.sessionPackages = [
       pkgs.surf-display
     ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 6965c6d2646..a08b1947f65 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -7,6 +7,33 @@ let
 in
 
 {
+
+  imports = [
+    # added 2019-08-18
+    # needed to preserve some semblance of UI familarity
+    # with original XFCE module
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
+      [ "services" "xserver" "displayManager" "sessionCommands" ])
+
+    # added 2019-11-04
+    # xfce4-14 module removed and promoted to xfce.
+    # Needed for configs that used xfce4-14 module to migrate to this one.
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "enable" ]
+      [ "services" "xserver" "desktopManager" "xfce" "enable" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "noDesktop" ]
+      [ "services" "xserver" "desktopManager" "xfce" "noDesktop" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "enableXfwm" ]
+      [ "services" "xserver" "desktopManager" "xfce" "enableXfwm" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ]
+      [ "services" "xserver" "displayManager" "sessionCommands" ])
+    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
+  ];
+
   options = {
     services.xserver.desktopManager.xfce = {
       enable = mkOption {
@@ -30,14 +57,6 @@ in
         description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
       };
 
-      extraSessionCommands = mkOption {
-        default = "";
-        type = types.lines;
-        description = ''
-          Shell commands executed just before XFCE is started.
-        '';
-      };
-
       enableXfwm = mkOption {
         type = types.bool;
         default = true;
@@ -48,76 +67,101 @@ in
 
   config = mkIf cfg.enable {
     environment.systemPackages = with pkgs.xfce // pkgs; [
-      # Get GTK themes and gtk-update-icon-cache
-      gtk2.out
+      glib # for gsettings
+      gtk3.out # gtk-update-icon-cache
 
-      # Supplies some abstract icons such as:
-      # utilities-terminal, accessories-text-editor
+      gnome3.gnome-themes-extra
       gnome3.adwaita-icon-theme
-
       hicolor-icon-theme
       tango-icon-theme
       xfce4-icon-theme
 
+      desktop-file-utils
+      shared-mime-info # for update-mime-database
+
+      # For a polkit authentication agent
+      polkit_gnome
+
       # Needed by Xfce's xinitrc script
-      # TODO: replace with command -v
-      which
+      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
 
       exo
       garcon
-      gtk-xfce-engine
       libxfce4ui
-      tumbler
       xfconf
 
       mousepad
+      parole
       ristretto
       xfce4-appfinder
       xfce4-screenshooter
       xfce4-session
       xfce4-settings
+      xfce4-taskmanager
       xfce4-terminal
 
       (thunar.override { thunarPlugins = cfg.thunarPlugins; })
-      thunar-volman # TODO: drop
-    ] ++ (if config.hardware.pulseaudio.enable
-          then [ xfce4-mixer-pulse xfce4-volumed-pulse ]
-          else [ xfce4-mixer xfce4-volumed ])
-      # TODO: NetworkManager doesn't belong here
-      ++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ]
-      ++ optionals config.powerManagement.enable [ xfce4-power-manager ]
-      ++ optionals cfg.enableXfwm [ xfwm4 ]
-      ++ optionals (!cfg.noDesktop) [
-        xfce4-panel
+    ] # TODO: NetworkManager doesn't belong here
+      ++ optional config.networking.networkmanager.enable networkmanagerapplet
+      ++ optional config.powerManagement.enable xfce4-power-manager
+      ++ optionals config.hardware.pulseaudio.enable [
+        pavucontrol
+        # volume up/down keys support:
+        # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
+        # but can only be used with xfce4-panel, so for no-desktop usage we still include
+        # xfce4-volumed-pulse
+        (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
+      ] ++ optionals cfg.enableXfwm [
+        xfwm4
+        xfwm4-themes
+      ] ++ optionals (!cfg.noDesktop) [
         xfce4-notifyd
+        xfce4-panel
         xfdesktop
       ];
 
     environment.pathsToLink = [
       "/share/xfce4"
-      "/share/themes"
-      "/share/gtksourceview-2.0"
+      "/lib/xfce4"
+      "/share/gtksourceview-3.0"
+      "/share/gtksourceview-4.0"
     ];
 
-    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
-
     services.xserver.desktopManager.session = [{
       name = "xfce";
       bgSupport = true;
       start = ''
-        ${cfg.extraSessionCommands}
-
-        ${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
+        ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
         waitPID=$!
       '';
     }];
 
     services.xserver.updateDbusEnvironment = true;
+    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
     # Enable helpful DBus services.
     services.udisks2.enable = true;
+    security.polkit.enable = true;
+    services.accounts-daemon.enable = true;
     services.upower.enable = config.powerManagement.enable;
+    services.gnome3.glib-networking.enable = true;
     services.gvfs.enable = true;
     services.gvfs.package = pkgs.xfce.gvfs;
+    services.tumbler.enable = true;
+    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
+    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
+
+    # Enable default programs
+    programs.dconf.enable = true;
+
+    # Shell integration for VTE terminals
+    programs.bash.vteIntegration = mkDefault true;
+    programs.zsh.vteIntegration = mkDefault true;
+
+    # Systemd services
+    systemd.packages = with pkgs.xfce; [
+      (thunar.override { thunarPlugins = cfg.thunarPlugins; })
+    ] ++ optional (!cfg.noDesktop) xfce4-notifyd;
+
   };
 }
diff --git a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
deleted file mode 100644
index ffc99172e79..00000000000
--- a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
+++ /dev/null
@@ -1,152 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.xserver.desktopManager.xfce4-14;
-in
-
-{
-  # added 2019-08-18
-  # needed to preserve some semblance of UI familarity
-  # with original XFCE module
-  imports = [
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
-      [ "services" "xserver" "displayManager" "sessionCommands" ])
-  ];
-
-  options = {
-    services.xserver.desktopManager.xfce4-14 = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable the Xfce desktop environment.";
-      };
-
-    # TODO: support thunar plugins
-    #   thunarPlugins = mkOption {
-    #     default = [];
-    #     type = types.listOf types.package;
-    #     example = literalExample "[ pkgs.xfce4-14.thunar-archive-plugin ]";
-    #     description = ''
-    #       A list of plugin that should be installed with Thunar.
-    #     '';
-    #  };
-
-      noDesktop = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
-      };
-
-      enableXfwm = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Enable the XFWM (default) window manager.";
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = with pkgs.xfce4-14 // pkgs; [
-      glib # for gsettings
-      gtk3.out # gtk-update-icon-cache
-
-      gnome3.gnome-themes-extra
-      gnome3.adwaita-icon-theme
-      hicolor-icon-theme
-      tango-icon-theme
-      xfce4-icon-theme
-
-      desktop-file-utils
-      shared-mime-info # for update-mime-database
-
-      # For a polkit authentication agent
-      polkit_gnome
-
-      # Needed by Xfce's xinitrc script
-      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
-
-      exo
-      garcon
-      libxfce4ui
-      xfconf
-
-      mousepad
-      parole
-      ristretto
-      xfce4-appfinder
-      xfce4-screenshooter
-      xfce4-session
-      xfce4-settings
-      xfce4-taskmanager
-      xfce4-terminal
-
-      # TODO: resync patch for plugins
-      #(thunar.override { thunarPlugins = cfg.thunarPlugins; })
-      thunar
-    ] # TODO: NetworkManager doesn't belong here
-      ++ optional config.networking.networkmanager.enable networkmanagerapplet
-      ++ optional config.powerManagement.enable xfce4-power-manager
-      ++ optionals config.hardware.pulseaudio.enable [
-        pavucontrol
-        # volume up/down keys support:
-        # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
-        # but can only be used with xfce4-panel, so for no-desktop usage we still include
-        # xfce4-volumed-pulse
-        (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
-      ] ++ optionals cfg.enableXfwm [
-        xfwm4
-        xfwm4-themes
-      ] ++ optionals (!cfg.noDesktop) [
-        xfce4-notifyd
-        xfce4-panel
-        xfdesktop
-      ];
-
-    environment.pathsToLink = [
-      "/share/xfce4"
-      "/lib/xfce4"
-      "/share/gtksourceview-3.0"
-      "/share/gtksourceview-4.0"
-    ];
-
-    services.xserver.desktopManager.session = [{
-      name = "xfce4-14";
-      bgSupport = true;
-      start = ''
-        ${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} &
-        waitPID=$!
-      '';
-    }];
-
-    services.xserver.updateDbusEnvironment = true;
-    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
-
-    # Enable helpful DBus services.
-    services.udisks2.enable = true;
-    security.polkit.enable = true;
-    services.accounts-daemon.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-    services.gnome3.glib-networking.enable = true;
-    services.gvfs.enable = true;
-    services.gvfs.package = pkgs.xfce.gvfs;
-    services.tumbler.enable = true;
-    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
-
-    # Enable default programs
-    programs.dconf.enable = true;
-
-    # Shell integration for VTE terminals
-    programs.bash.vteIntegration = mkDefault true;
-    programs.zsh.vteIntegration = mkDefault true;
-
-    # Systemd services
-    systemd.packages = with pkgs.xfce4-14; [
-      thunar
-    ] ++ optional (!cfg.noDesktop) xfce4-notifyd;
-
-  };
-}
diff --git a/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix
new file mode 100644
index 00000000000..1dbe703b566
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/account-service-util.nix
@@ -0,0 +1,39 @@
+{ accountsservice
+, glib
+, gobject-introspection
+, python3
+, wrapGAppsHook
+}:
+
+python3.pkgs.buildPythonApplication {
+  name = "set-session";
+
+  format = "other";
+
+  src = ./set-session.py;
+
+  dontUnpack = true;
+
+  strictDeps = false;
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    accountsservice
+    glib
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pygobject3
+    ordered-set
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/set-session
+    chmod +x $out/bin/set-session
+  '';
+}
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index bf6b048654b..2d809b5cc9f 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -1,9 +1,9 @@
 # This module declares the options to define a *display manager*, the
-# program responsible for handling X logins (such as xdm, gdb, or
-# SLiM).  The display manager allows the user to select a *session
-# type*.  When the user logs in, the display manager starts the
+# program responsible for handling X logins (such as LightDM, GDM, or SDDM).
+# The display manager allows the user to select a *session
+# type*. When the user logs in, the display manager starts the
 # *session script* ("xsession" below) to launch the selected session
-# type.  The session type defines two things: the *desktop manager*
+# type. The session type defines two things: the *desktop manager*
 # (e.g., KDE, Gnome or a plain xterm), and optionally the *window
 # manager* (e.g. kwin or twm).
 
@@ -27,16 +27,7 @@ let
     Xft.hintstyle: hintslight
   '';
 
-  mkCases = session:
-    concatStrings (
-      mapAttrsToList (name: starts: ''
-                       (${name})
-                         ${concatMapStringsSep "\n  " (n: n.start) starts}
-                         ;;
-                     '') (lib.groupBy (n: n.name) session)
-    );
-
-  # file provided by services.xserver.displayManager.session.wrapper
+  # file provided by services.xserver.displayManager.sessionData.wrapper
   xsessionWrapper = pkgs.writeScript "xsession-wrapper"
     ''
       #! ${pkgs.bash}/bin/bash
@@ -116,99 +107,47 @@ let
           # Run the supplied session command. Remove any double quotes with eval.
           eval exec "$@"
       else
-          # Fall back to the default window/desktopManager
-          exec ${cfg.displayManager.session.script}
+          # TODO: Do we need this? Should not the session always exist?
+          echo "error: unknown session $1" 1>&2
+          exit 1
       fi
     '';
 
-  # file provided by services.xserver.displayManager.session.script
-  xsession = wm: dm: pkgs.writeScript "xsession"
-    ''
-      #! ${pkgs.bash}/bin/bash
-
-      # Legacy session script used to construct .desktop files from
-      # `services.xserver.displayManager.session` entries. Called from
-      # `sessionWrapper`.
-
-      # Expected parameters:
-      #   $1 = <desktop-manager>+<window-manager>
-
-      # The first argument of this script is the session type.
-      sessionType="$1"
-      if [ "$sessionType" = default ]; then sessionType=""; fi
-
-      # The session type is "<desktop-manager>+<window-manager>", so
-      # extract those (see:
-      # http://wiki.bash-hackers.org/syntax/pe#substring_removal).
-      windowManager="''${sessionType##*+}"
-      : ''${windowManager:=${cfg.windowManager.default}}
-      desktopManager="''${sessionType%%+*}"
-      : ''${desktopManager:=${cfg.desktopManager.default}}
-
-      # Start the window manager.
-      case "$windowManager" in
-        ${mkCases wm}
-        (*) echo "$0: Window manager '$windowManager' not found.";;
-      esac
-
-      # Start the desktop manager.
-      case "$desktopManager" in
-        ${mkCases dm}
-        (*) echo "$0: Desktop manager '$desktopManager' not found.";;
-      esac
-
-      ${optionalString cfg.updateDbusEnvironment ''
-        ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
-      ''}
-
-      test -n "$waitPID" && wait "$waitPID"
-
-      ${config.systemd.package}/bin/systemctl --user stop graphical-session.target
-
-      exit 0
-    '';
-
-  # Desktop Entry Specification:
-  # - https://standards.freedesktop.org/desktop-entry-spec/latest/
-  # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
-  mkDesktops = names: pkgs.runCommand "desktops"
+  installedSessions = pkgs.runCommand "desktops"
     { # trivial derivation
       preferLocalBuild = true;
       allowSubstitutes = false;
     }
     ''
-      mkdir -p "$out/share/xsessions"
-      ${concatMapStrings (n: ''
-        cat - > "$out/share/xsessions/${n}.desktop" << EODESKTOP
-        [Desktop Entry]
-        Version=1.0
-        Type=XSession
-        TryExec=${cfg.displayManager.session.script}
-        Exec=${cfg.displayManager.session.script} "${n}"
-        Name=${n}
-        Comment=
-        EODESKTOP
-      '') names}
+      mkdir -p "$out/share/"{xsessions,wayland-sessions}
 
       ${concatMapStrings (pkg: ''
+        for n in ${concatStringsSep " " pkg.providedSessions}; do
+          if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \
+                    -f ${pkg}/share/xsessions/$n.desktop; then
+            echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:"
+            echo "  ${pkg}"
+            return 1
+          fi
+        done
+
         if test -d ${pkg}/share/xsessions; then
           ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
         fi
-      '') cfg.displayManager.extraSessionFilePackages}
-
-      
-      ${concatMapStrings (pkg: ''
         if test -d ${pkg}/share/wayland-sessions; then
-          mkdir -p "$out/share/wayland-sessions"
           ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
         fi
-      '') cfg.displayManager.extraSessionFilePackages}
+      '') cfg.displayManager.sessionPackages}
     '';
 
+  dmDefault = cfg.desktopManager.default;
+  wmDefault = cfg.windowManager.default;
+
+  defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault));
+
 in
 
 {
-
   options = {
 
     services.xserver.displayManager = {
@@ -263,11 +202,24 @@ in
         '';
       };
 
-      extraSessionFilePackages = mkOption {
-        type = types.listOf types.package;
+      sessionPackages = mkOption {
+        type = with types; listOf (package // {
+          description = "package with provided sessions";
+          check = p: assertMsg
+            (package.check p && p ? providedSessions
+            && p.providedSessions != [] && all isString p.providedSessions)
+            ''
+              Package, '${p.name}', did not specify any session names, as strings, in
+              'passthru.providedSessions'. This is required when used as a session package.
+
+              The session names can be looked up in:
+                ${p}/share/xsessions
+                ${p}/share/wayland-sessions
+           '';
+        });
         default = [];
         description = ''
-          A list of packages containing xsession files to be passed to the display manager.
+          A list of packages containing x11 or wayland session files to be passed to the display manager.
         '';
       };
 
@@ -298,18 +250,50 @@ in
           inside the display manager with the desktop manager name
           followed by the window manager name.
         '';
-        apply = list: rec {
-          wm = filter (s: s.manage == "window") list;
-          dm = filter (s: s.manage == "desktop") list;
-          names = flip concatMap dm
-            (d: map (w: d.name + optionalString (w.name != "none") ("+" + w.name))
-              (filter (w: d.name != "none" || w.name != "none") wm));
-          desktops = mkDesktops names;
-          script = xsession wm dm;
+      };
+
+      sessionData = mkOption {
+        description = "Data exported for display managers’ convenience";
+        internal = true;
+        default = {};
+        apply = val: {
           wrapper = xsessionWrapper;
+          desktops = installedSessions;
+          sessionNames = concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages;
+          # We do not want to force users to set defaultSession when they have only single DE.
+          autologinSession =
+            if cfg.displayManager.defaultSession != null then
+              cfg.displayManager.defaultSession
+            else if cfg.displayManager.sessionData.sessionNames != [] then
+              head cfg.displayManager.sessionData.sessionNames
+            else
+              null;
         };
       };
 
+      defaultSession = mkOption {
+        type = with types; nullOr str // {
+          description = "session name";
+          check = d:
+            assertMsg (d != null -> (str.check d && elem d cfg.displayManager.sessionData.sessionNames)) ''
+                Default graphical session, '${d}', not found.
+                Valid names for 'services.xserver.displayManager.defaultSession' are:
+                  ${concatStringsSep "\n  " cfg.displayManager.sessionData.sessionNames}
+              '';
+        };
+        default =
+          if dmDefault != null || wmDefault != null then
+            defaultSessionFromLegacyOptions
+          else
+            null;
+        example = "gnome";
+        description = ''
+          Graphical session to pre-select in the session chooser (only effective for GDM and LightDM).
+
+          On GDM, LightDM and SDDM, it will also be used as a session for auto-login.
+        '';
+      };
+
       job = {
 
         preStart = mkOption {
@@ -322,7 +306,7 @@ in
         execCmd = mkOption {
           type = types.str;
           example = literalExample ''
-            "''${pkgs.slim}/bin/slim"
+            "''${pkgs.lightdm}/bin/lightdm"
           '';
           description = "Command to start the display manager.";
         };
@@ -330,7 +314,6 @@ in
         environment = mkOption {
           type = types.attrsOf types.unspecified;
           default = {};
-          example = { SLIM_CFGFILE = "/etc/slim.conf"; };
           description = "Additional environment variables needed by the display manager.";
         };
 
@@ -359,6 +342,27 @@ in
   };
 
   config = {
+    assertions = [
+      {
+        assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions;
+        message = "You cannot use both services.xserver.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default).";
+      }
+    ];
+
+    warnings =
+      mkIf (dmDefault != null || wmDefault != null) [
+        ''
+          The following options are deprecated:
+            ${concatStringsSep "\n  " (map ({c, t}: t) (filter ({c, t}: c != null) [
+            { c = dmDefault; t = "- services.xserver.desktopManager.default"; }
+            { c = wmDefault; t = "- services.xserver.windowManager.default"; }
+            ]))}
+          Please use
+            services.xserver.displayManager.defaultSession = "${concatStringsSep "+" (filter (s: s != null) [ dmDefault wmDefault ])}";
+          instead.
+        ''
+      ];
+
     services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
 
     systemd.user.targets.graphical-session = {
@@ -367,11 +371,75 @@ in
         StopWhenUnneeded = false;
       };
     };
+
+    # Create desktop files and scripts for starting sessions for WMs/DMs
+    # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options).
+    services.xserver.displayManager.sessionPackages =
+      let
+        dms = filter (s: s.manage == "desktop") cfg.displayManager.session;
+        wms = filter (s: s.manage == "window") cfg.displayManager.session;
+
+        # Script responsible for starting the window manager and the desktop manager.
+        xsession = wm: dm: pkgs.writeScript "xsession" ''
+          #! ${pkgs.bash}/bin/bash
+
+          # Legacy session script used to construct .desktop files from
+          # `services.xserver.displayManager.session` entries. Called from
+          # `sessionWrapper`.
+
+          # Start the window manager.
+          ${wm.start}
+
+          # Start the desktop manager.
+          ${dm.start}
+
+          ${optionalString cfg.updateDbusEnvironment ''
+            ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
+          ''}
+
+          test -n "$waitPID" && wait "$waitPID"
+
+          ${config.systemd.package}/bin/systemctl --user stop graphical-session.target
+
+          exit 0
+        '';
+      in
+        # We will generate every possible pair of WM and DM.
+        concatLists (
+          crossLists
+            (dm: wm: let
+              sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
+              script = xsession dm wm;
+            in
+              optional (dm.name != "none" || wm.name != "none")
+                (pkgs.writeTextFile {
+                  name = "${sessionName}-xsession";
+                  destination = "/share/xsessions/${sessionName}.desktop";
+                  # Desktop Entry Specification:
+                  # - https://standards.freedesktop.org/desktop-entry-spec/latest/
+                  # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
+                  text = ''
+                    [Desktop Entry]
+                    Version=1.0
+                    Type=XSession
+                    TryExec=${script}
+                    Exec=${script}
+                    Name=${sessionName}
+                  '';
+                } // {
+                  providedSessions = [ sessionName ];
+                })
+            )
+            [dms wms]
+          );
   };
 
   imports = [
-   (mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
      "The option is no longer necessary because all display managers have already delegated lid management to systemd.")
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
+    (mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "xserver" "displayManager" "sessionPackages" ])
   ];
 
 }
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index e5990aec4b9..6630f012f04 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -31,6 +31,9 @@ let
     load-module module-position-event-sounds
   '';
 
+  defaultSessionName = config.services.xserver.displayManager.defaultSession;
+
+  setSessionScript = pkgs.callPackage ./account-service-util.nix { };
 in
 
 {
@@ -88,11 +91,21 @@ in
       wayland = mkOption {
         default = true;
         description = ''
-          Allow GDM run on Wayland instead of Xserver
+          Allow GDM to run on Wayland instead of Xserver.
+          Note to enable Wayland with Nvidia you need to
+          enable the <option>nvidiaWayland</option>.
         '';
         type = types.bool;
       };
 
+      nvidiaWayland = mkOption {
+        default = false;
+        description = ''
+          Whether to allow wayland to be used with the proprietary
+          NVidia graphics driver.
+        '';
+      };
+
       autoSuspend = mkOption {
         default = true;
         description = ''
@@ -138,7 +151,7 @@ in
         environment = {
           GDM_X_SERVER_EXTRA_ARGS = toString
             (filter (arg: arg != "-terminate") cfg.xserverArgs);
-          XDG_DATA_DIRS = "${cfg.session.desktops}/share/";
+          XDG_DATA_DIRS = "${cfg.sessionData.desktops}/share/";
         } // optionalAttrs (xSessionWrapper != null) {
           # Make GDM use this wrapper before running the session, which runs the
           # configured setupCommands. This relies on a patched GDM which supports
@@ -156,11 +169,19 @@ in
           cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF
           yes
           EOF
+        '' + optionalString (defaultSessionName != null) ''
+          # Set default session in session chooser to a specified values – basically ignore session history.
+          ${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession}
         '';
       };
 
-    # Because sd_login_monitor_new requires /run/systemd/machines
-    systemd.services.display-manager.wants = [ "systemd-machined.service" ];
+    systemd.services.display-manager.wants = [
+      # Because sd_login_monitor_new requires /run/systemd/machines
+      "systemd-machined.service"
+      # setSessionScript wants AccountsService
+      "accounts-daemon.service"
+    ];
+
     systemd.services.display-manager.after = [
       "rc-local.service"
       "systemd-machined.service"
@@ -197,6 +218,19 @@ in
 
     services.dbus.packages = [ gdm ];
 
+    # We duplicate upstream's udev rules manually to make wayland with nvidia configurable
+    services.udev.extraRules = ''
+      # disable Wayland on Cirrus chipsets
+      ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      # disable Wayland on Hi1710 chipsets
+      ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ${optionalString (!cfg.gdm.nvidiaWayland) ''
+        DRIVER=="nvidia", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ''}
+      # disable Wayland when modesetting is disabled
+      IMPORT{cmdline}="nomodeset", RUN+="${gdm}/libexec/gdm-disable-wayland"
+    '';
+
     systemd.user.services.dbus.wantedBy = [ "default.target" ];
 
     programs.dconf.profiles.gdm =
@@ -218,7 +252,7 @@ in
       customDconfDb = pkgs.stdenv.mkDerivation {
         name = "gdm-dconf-db";
         buildCommand = ''
-          ${pkgs.gnome3.dconf}/bin/dconf compile $out ${customDconf}/dconf
+          ${pkgs.dconf}/bin/dconf compile $out ${customDconf}/dconf
         '';
       };
     in pkgs.stdenv.mkDerivation {
@@ -263,7 +297,7 @@ in
       ${optionalString cfg.gdm.debug "Enable=true"}
     '';
 
-    environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.session.wrapper;
+    environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.sessionData.wrapper;
 
     # GDM LFS PAM modules, adapted somehow to NixOS
     security.pam.services = {
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
index fa9445af32e..0025f9b3603 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
@@ -53,9 +53,8 @@ in
           Whether to enable lightdm-mini-greeter as the lightdm greeter.
 
           Note that this greeter starts only the default X session.
-          You can configure the default X session by
-          <option>services.xserver.desktopManager.default</option> and
-          <option>services.xserver.windowManager.default</option>.
+          You can configure the default X session using
+          <xref linkend="opt-services.xserver.displayManager.defaultSession"/>.
         '';
       };
 
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
index 29cb6ccbc06..77c94114e6d 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -35,6 +35,9 @@ in
       name = "io.elementary.greeter";
     };
 
+    # Show manual login card.
+    services.xserver.displayManager.lightdm.extraSeatDefaults = "greeter-show-manual-login=true";
+
     environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
     environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
 
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index cf4c05acbcc..f7face0adb7 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -8,10 +8,9 @@ let
   dmcfg = xcfg.displayManager;
   xEnv = config.systemd.services.display-manager.environment;
   cfg = dmcfg.lightdm;
+  sessionData = dmcfg.sessionData;
 
-  dmDefault = xcfg.desktopManager.default;
-  wmDefault = xcfg.windowManager.default;
-  hasDefaultUserSession = dmDefault != "none" || wmDefault != "none";
+  setSessionScript = pkgs.callPackage ./account-service-util.nix { };
 
   inherit (pkgs) lightdm writeScript writeText;
 
@@ -45,22 +44,19 @@ let
         greeter-user = ${config.users.users.lightdm.name}
         greeters-directory = ${cfg.greeter.package}
       ''}
-      sessions-directory = ${dmcfg.session.desktops}/share/xsessions
+      sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions
       ${cfg.extraConfig}
 
       [Seat:*]
       xserver-command = ${xserverWrapper}
-      session-wrapper = ${dmcfg.session.wrapper}
+      session-wrapper = ${dmcfg.sessionData.wrapper}
       ${optionalString cfg.greeter.enable ''
         greeter-session = ${cfg.greeter.name}
       ''}
       ${optionalString cfg.autoLogin.enable ''
         autologin-user = ${cfg.autoLogin.user}
         autologin-user-timeout = ${toString cfg.autoLogin.timeout}
-        autologin-session = ${defaultSessionName}
-      ''}
-      ${optionalString hasDefaultUserSession ''
-        user-session=${defaultSessionName}
+        autologin-session = ${sessionData.autologinSession}
       ''}
       ${optionalString (dmcfg.setupCommands != "") ''
         display-setup-script=${pkgs.writeScript "lightdm-display-setup" ''
@@ -71,7 +67,6 @@ let
       ${cfg.extraSeatDefaults}
     '';
 
-  defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault);
 in
 {
   # Note: the order in which lightdm greeter modules are imported
@@ -199,11 +194,9 @@ in
           LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set
         '';
       }
-      { assertion = cfg.autoLogin.enable -> dmDefault != "none" || wmDefault != "none";
+      { assertion = cfg.autoLogin.enable -> sessionData.autologinSession != null;
         message = ''
-          LightDM auto-login requires that services.xserver.desktopManager.default and
-          services.xserver.windowManager.default are set to valid values. The current
-          default session: ${defaultSessionName} is not valid.
+          LightDM auto-login requires that services.xserver.displayManager.defaultSession is set.
         '';
       }
       { assertion = !cfg.greeter.enable -> (cfg.autoLogin.enable && cfg.autoLogin.timeout == 0);
@@ -214,6 +207,20 @@ in
       }
     ];
 
+    # Set default session in session chooser to a specified values – basically ignore session history.
+    # Auto-login is already covered by a config value.
+    services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) ''
+      ${setSessionScript}/bin/set-session ${dmcfg.defaultSession}
+    '';
+
+    # setSessionScript needs session-files in XDG_DATA_DIRS
+    services.xserver.displayManager.job.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/";
+
+    # setSessionScript wants AccountsService
+    systemd.services.display-manager.wants = [
+      "accounts-daemon.service"
+    ];
+
     # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
     services.xserver.displayManager.job.execCmd = ''
       export PATH=${lightdm}/sbin:$PATH
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index 8847acb0c60..4224c557ed6 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -14,7 +14,7 @@ let
   xserverWrapper = pkgs.writeScript "xserver-wrapper" ''
     #!/bin/sh
     ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
-    exec systemd-cat ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@"
+    exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@"
   '';
 
   Xsetup = pkgs.writeScript "Xsetup" ''
@@ -50,8 +50,8 @@ let
     MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)}
     ServerPath=${xserverWrapper}
     XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr
-    SessionCommand=${dmcfg.session.wrapper}
-    SessionDir=${dmcfg.session.desktops}/share/xsessions
+    SessionCommand=${dmcfg.sessionData.wrapper}
+    SessionDir=${dmcfg.sessionData.desktops}/share/xsessions
     XauthPath=${pkgs.xorg.xauth}/bin/xauth
     DisplayCommand=${Xsetup}
     DisplayStopCommand=${Xstop}
@@ -59,26 +59,27 @@ let
 
     [Wayland]
     EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
-    SessionDir=${dmcfg.session.desktops}/share/wayland-sessions
+    SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions
 
     ${optionalString cfg.autoLogin.enable ''
     [Autologin]
     User=${cfg.autoLogin.user}
-    Session=${defaultSessionName}.desktop
+    Session=${autoLoginSessionName}.desktop
     Relogin=${boolToString cfg.autoLogin.relogin}
     ''}
 
     ${cfg.extraConfig}
   '';
 
-  defaultSessionName =
-    let
-      dm = xcfg.desktopManager.default;
-      wm = xcfg.windowManager.default;
-    in dm + optionalString (wm != "none") ("+" + wm);
+  autoLoginSessionName = dmcfg.sessionData.autologinSession;
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ]
+      "Set the option `services.xserver.displayManager.sddm.package' instead.")
+  ];
+
   options = {
 
     services.xserver.displayManager.sddm = {
@@ -205,11 +206,9 @@ in
           SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set
         '';
       }
-      { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names;
+      { assertion = cfg.autoLogin.enable -> autoLoginSessionName != null;
         message = ''
-          SDDM auto-login requires that services.xserver.desktopManager.default and
-          services.xserver.windowManager.default are set to valid values. The current
-          default session: ${defaultSessionName} is not valid.
+          SDDM auto-login requires that services.xserver.displayManager.defaultSession is set.
         '';
       }
     ];
diff --git a/nixos/modules/services/x11/display-managers/set-session.py b/nixos/modules/services/x11/display-managers/set-session.py
new file mode 100755
index 00000000000..0cca80af44e
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/set-session.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+
+import gi, argparse, os, logging, sys
+
+gi.require_version("AccountsService", "1.0")
+from gi.repository import AccountsService, GLib
+from ordered_set import OrderedSet
+
+
+def get_session_file(session):
+    system_data_dirs = GLib.get_system_data_dirs()
+
+    session_dirs = OrderedSet(
+        os.path.join(data_dir, session)
+        for data_dir in system_data_dirs
+        for session in {"wayland-sessions", "xsessions"}
+    )
+
+    session_files = OrderedSet(
+        os.path.join(dir, session + ".desktop")
+        for dir in session_dirs
+        if os.path.exists(os.path.join(dir, session + ".desktop"))
+    )
+
+    # Deal with duplicate wayland-sessions and xsessions.
+    # Needed for the situation in gnome-session, where there's
+    # a xsession named the same as a wayland session.
+    if any(map(is_session_wayland, session_files)):
+        session_files = OrderedSet(
+            session for session in session_files if is_session_wayland(session)
+        )
+    else:
+        session_files = OrderedSet(
+            session for session in session_files if is_session_xsession(session)
+        )
+
+    if len(session_files) == 0:
+        logging.warning("No session files are found.")
+        sys.exit(0)
+    else:
+        return session_files[0]
+
+
+def is_session_xsession(session_file):
+    return "/xsessions/" in session_file
+
+
+def is_session_wayland(session_file):
+    return "/wayland-sessions/" in session_file
+
+
+def main():
+    parser = argparse.ArgumentParser(
+        description="Set session type for all normal users."
+    )
+    parser.add_argument("session", help="Name of session to set.")
+
+    args = parser.parse_args()
+
+    session = getattr(args, "session")
+    session_file = get_session_file(session)
+
+    user_manager = AccountsService.UserManager.get_default()
+    users = user_manager.list_users()
+
+    for user in users:
+        if user.is_system_account():
+            continue
+        else:
+            if is_session_wayland(session_file):
+                logging.debug(
+                    f"Setting session name: {session}, as we found the existing wayland-session: {session_file}"
+                )
+                user.set_session(session)
+            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)
+            else:
+                logging.error(f"Couldn't figure out session type for {session_file}")
+                sys.exit(1)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 124660a43f0..4b0948a5b7a 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -2,155 +2,15 @@
 
 with lib;
 
-let
-
-  dmcfg = config.services.xserver.displayManager;
-
-  cfg = dmcfg.slim;
-
-  slimConfig = pkgs.writeText "slim.cfg"
-    ''
-      xauth_path ${dmcfg.xauthBin}
-      default_xserver ${dmcfg.xserverBin}
-      xserver_arguments ${toString dmcfg.xserverArgs}
-      sessiondir ${dmcfg.session.desktops}/share/xsessions
-      login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.wrapper} "%session"
-      halt_cmd ${config.systemd.package}/sbin/shutdown -h now
-      reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
-      logfile /dev/stderr
-      ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
-      ${optionalString (cfg.defaultUser != null) ("focus_password yes")}
-      ${optionalString cfg.autoLogin "auto_login yes"}
-      ${optionalString (cfg.consoleCmd != null) "console_cmd ${cfg.consoleCmd}"}
-      ${cfg.extraConfig}
-    '';
-
-  # Unpack the SLiM theme, or use the default.
-  slimThemesDir =
-    let
-      unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; }
-        ''
-          mkdir -p $out
-          cd $out
-          unpackFile ${cfg.theme}
-          ln -s * default
-        '';
-    in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
-
-in
-
 {
-
-  ###### interface
-
-  options = {
-
-    services.xserver.displayManager.slim = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable SLiM as the display manager.
-        '';
-      };
-
-      theme = mkOption {
-        type = types.nullOr types.path;
-        default = pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        };
-        defaultText = ''pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        }'';
-        example = literalExample ''
-          pkgs.fetchurl {
-            url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-            sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
-          }
-        '';
-        description = ''
-          The theme for the SLiM login manager.  If not specified, SLiM's
-          default theme is used.  See <link
-          xlink:href='http://slim.berlios.de/themes01.php'/> for a
-          collection of themes. TODO: berlios shut down.
-        '';
-      };
-
-      defaultUser = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "login";
-        description = ''
-          The default user to load. If you put a username here you
-          get it automatically loaded into the username field, and
-          the focus is placed on the password.
-        '';
-      };
-
-      autoLogin = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Automatically log in as the default user.
-        '';
-      };
-
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = ''
-          Extra configuration options for SLiM login manager. Do not
-          add options that can be configured directly.
-        '';
-      };
-
-      consoleCmd = mkOption {
-        type = types.nullOr types.str;
-        default = ''
-          ${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ${pkgs.shadow}/bin/login
-        '';
-        defaultText = ''
-          ''${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ''${pkgs.shadow}/bin/login
-        '';
-        description = ''
-          The command to run when "console" is given as the username.
-        '';
-      };
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    services.xserver.displayManager.job =
-      { environment =
-          { SLIM_CFGFILE = slimConfig;
-            SLIM_THEMESDIR = slimThemesDir;
-          };
-        execCmd = "exec ${pkgs.slim}/bin/slim";
-      };
-
-    services.xserver.displayManager.sessionCommands =
-      ''
-        # Export the config/themes for slimlock.
-        export SLIM_THEMESDIR=${slimThemesDir}
-      '';
-
-    # Allow null passwords so that the user can login as root on the
-    # installation CD.
-    security.pam.services.slim = { allowNullPassword = true; startSession = true; };
-
-    # Allow slimlock to work.
-    security.pam.services.slimlock = {};
-
-    environment.systemPackages = [ pkgs.slim ];
-
-  };
-
+  # added 2019-11-11
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "slim" ] ''
+      The SLIM project is abandoned and their last release was in 2013.
+      Because of this it poses a security risk to your system.
+      Other issues include it not fully supporting systemd and logind sessions.
+      Please use a different display manager such as LightDM, SDDM, or GDM.
+      You can also use the startx module which uses Xinitrc.
+    '')
+  ];
 }
diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix
index 4a25232383d..71065dfc26b 100644
--- a/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixos/modules/services/x11/hardware/libinput.nix
@@ -209,12 +209,12 @@ in {
 
     services.xserver.config =
       ''
-        # Automatically enable the libinput driver for all touchpads.
+        # General libinput configuration.
+        # See CONFIGURATION DETAILS section of man:libinput(4).
         Section "InputClass"
           Identifier "libinputConfiguration"
-          MatchIsTouchpad "on"
+          MatchDriver "libinput"
           ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''}
-          Driver "libinput"
           Option "AccelProfile" "${cfg.accelProfile}"
           ${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''}
           ${optionalString (cfg.buttonMapping != null) ''Option "ButtonMapping" "${cfg.buttonMapping}"''}
diff --git a/nixos/modules/services/x11/imwheel.nix b/nixos/modules/services/x11/imwheel.nix
new file mode 100644
index 00000000000..3923df498e7
--- /dev/null
+++ b/nixos/modules/services/x11/imwheel.nix
@@ -0,0 +1,68 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.xserver.imwheel;
+in
+  {
+    options = {
+      services.xserver.imwheel = {
+        enable = mkEnableOption "IMWheel service";
+
+        extraOptions = mkOption {
+          type = types.listOf types.str;
+          default = [ "--buttons=45" ];
+          example = [ "--debug" ];
+          description = ''
+            Additional command-line arguments to pass to
+            <command>imwheel</command>.
+          '';
+        };
+
+        rules = mkOption {
+          type = types.attrsOf types.str;
+          default = {};
+          example = literalExample ''
+            ".*" = '''
+              None,      Up,   Button4, 8
+              None,      Down, Button5, 8
+              Shift_L,   Up,   Shift_L|Button4, 4
+              Shift_L,   Down, Shift_L|Button5, 4
+              Control_L, Up,   Control_L|Button4
+              Control_L, Down, Control_L|Button5
+            ''';
+          '';
+          description = ''
+            Window class translation rules.
+            /etc/X11/imwheelrc is generated based on this config
+            which means this config is global for all users.
+            See <link xlink:href="http://imwheel.sourceforge.net/imwheel.1.html">offical man pages</link>
+            for more informations.
+          '';
+        };
+      };
+    };
+
+    config = mkIf cfg.enable {
+      environment.systemPackages = [ pkgs.imwheel ];
+
+      environment.etc."X11/imwheel/imwheelrc".source =
+        pkgs.writeText "imwheelrc" (concatStringsSep "\n\n"
+          (mapAttrsToList
+            (rule: conf: "\"${rule}\"\n${conf}") cfg.rules
+          ));
+
+      systemd.user.services.imwheel = {
+        description = "imwheel service";
+        wantedBy = [ "graphical-session.target" ];
+        partOf = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${pkgs.imwheel}/bin/imwheel " + escapeShellArgs ([
+            "--detach"
+            "--kill"
+          ] ++ cfg.extraOptions);
+          ExecStop = "${pkgs.procps}/bin/pkill imwheel";
+          Restart = "on-failure";
+        };
+      };
+    };
+  }
diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix
index 5f16a680050..2478aaabb79 100644
--- a/nixos/modules/services/x11/unclutter.nix
+++ b/nixos/modules/services/x11/unclutter.nix
@@ -71,4 +71,7 @@ in {
       serviceConfig.Restart = "always";
     };
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix
index d916fa5bb39..9bfcfa9b065 100644
--- a/nixos/modules/services/x11/urxvtd.nix
+++ b/nixos/modules/services/x11/urxvtd.nix
@@ -45,4 +45,6 @@ in {
     environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket";
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index c17f3830d0e..04a9fc46628 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -59,15 +59,14 @@ in
       };
 
       default = mkOption {
-        type = types.str;
-        default = "none";
+        type = types.nullOr types.str;
+        default = null;
         example = "wmii";
-        description = "Default window manager loaded if none have been chosen.";
-        apply = defaultWM:
-          if any (w: w.name == defaultWM) cfg.session then
-            defaultWM
-          else
-            throw "Default window manager (${defaultWM}) not found.";
+        description = ''
+          <emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
+
+          Default window manager loaded if none have been chosen.
+        '';
       };
 
     };
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 0e131412276..30c59b88f82 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -86,7 +86,7 @@ in
           ${xmonadBin}
           waitPID=$!
         '' else ''
-          ${xmonad}/bin/xmonad &
+          systemd-cat -t xmonad ${xmonad}/bin/xmonad &
           waitPID=$!
         '';
       }];
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index a8406544a72..1f6ee7cfffd 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -149,6 +149,8 @@ in
     [ ./display-managers/default.nix
       ./window-managers/default.nix
       ./desktop-managers/default.nix
+      (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
+        "See the 16.09 release notes for more information.")
     ];
 
 
@@ -557,7 +559,6 @@ in
           default = !( dmconf.auto.enable
                     || dmconf.gdm.enable
                     || dmconf.sddm.enable
-                    || dmconf.slim.enable
                     || dmconf.xpra.enable );
       in mkIf (default) true;
 
diff --git a/nixos/modules/system/boot/binfmt.nix b/nixos/modules/system/boot/binfmt.nix
index a32c9dc1f2b..a677ab4cb71 100644
--- a/nixos/modules/system/boot/binfmt.nix
+++ b/nixos/modules/system/boot/binfmt.nix
@@ -134,6 +134,10 @@ let
   };
 
 in {
+  imports = [
+    (lib.mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ])
+  ];
+
   options = {
     boot.binfmt = {
       registrations = mkOption {
diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix
index 8c9b1502558..71a86c74772 100644
--- a/nixos/modules/system/boot/grow-partition.nix
+++ b/nixos/modules/system/boot/grow-partition.nix
@@ -7,6 +7,9 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ])
+  ];
 
   options = {
     boot.growPartition = mkEnableOption "grow the root partition on boot";
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index e13f0421d38..9a4db84f7b7 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -47,8 +47,8 @@ let
       grub = f grub;
       grubTarget = f (grub.grubTarget or "");
       shell = "${pkgs.runtimeShell}";
-      fullName = (builtins.parseDrvName realGrub.name).name;
-      fullVersion = (builtins.parseDrvName realGrub.name).version;
+      fullName = lib.getName realGrub;
+      fullVersion = lib.getVersion realGrub;
       grubEfi = f grubEfi;
       grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
       bootPath = args.path;
diff --git a/nixos/modules/system/boot/loader/loader.nix b/nixos/modules/system/boot/loader/loader.nix
index 7fbda9ef0f5..01475f79b9c 100644
--- a/nixos/modules/system/boot/loader/loader.nix
+++ b/nixos/modules/system/boot/loader/loader.nix
@@ -3,6 +3,11 @@
 with lib;
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ])
+    (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ])
+  ];
+
     options = {
         boot.loader.timeout =  mkOption {
             default = 5;
@@ -12,4 +17,4 @@ with lib;
             '';
         };
     };
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index a4029d766b0..0bb8396a44f 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -126,7 +126,7 @@ let
 
     gpg-agent --daemon --scdaemon-program $out/bin/scdaemon > /dev/null 2> /dev/null
     ''}
-        
+
     # Disable all input echo for the whole stage. We could use read -s
     # instead but that would ocasionally leak characters between read
     # invocations.
@@ -417,6 +417,9 @@ let
 
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
+  ];
 
   options = {
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 85a106527fe..58d914d0810 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -10,8 +10,8 @@ let
 
   checkLink = checkUnitConfig "Link" [
     (assertOnlyFields [
-      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName"
-      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
+      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" "OriginalName"
+      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port" "Advertise"
       "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
       "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"
       "OtherChannels" "CombinedChannels"
@@ -201,7 +201,7 @@ let
     (assertValueOneOf "IPv6AcceptRA" boolValues)
     (assertValueOneOf "IPv4ProxyARP" boolValues)
     (assertValueOneOf "IPv6ProxyNDP" boolValues)
-    (assertValueOneOf "IPv6PrefixDelegation" boolValues)
+    (assertValueOneOf "IPv6PrefixDelegation" (boolValues ++ [ "dhcpv6" "static" ]))
     (assertValueOneOf "ActiveSlave" boolValues)
     (assertValueOneOf "PrimarySlave" boolValues)
     (assertValueOneOf "ConfigureWithoutCarrier" boolValues)
@@ -276,7 +276,7 @@ let
     (assertValueOneOf "ARP" boolValues)
     (assertValueOneOf "Multicast" boolValues)
     (assertValueOneOf "Unmanaged" boolValues)
-    (assertValueOneOf "RequiredForOnline" boolValues)
+    (assertValueOneOf "RequiredForOnline" (boolValues ++ ["off" "no-carrier" "dormant" "degraded-carrier" "carrier" "degraded" "enslaved" "routable"]))
   ];
 
 
@@ -924,6 +924,8 @@ in
 
   config = mkIf config.systemd.network.enable {
 
+    users.users.systemd-network.group = "systemd-network";
+
     systemd.additionalUpstreamSystemUnits = [
       "systemd-networkd.service" "systemd-networkd-wait-online.service"
     ];
diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix
index adca3c3f66e..23fce22366d 100644
--- a/nixos/modules/system/boot/plymouth.nix
+++ b/nixos/modules/system/boot/plymouth.nix
@@ -25,6 +25,7 @@ let
     [Daemon]
     ShowDelay=0
     Theme=${cfg.theme}
+    ${cfg.extraConfig}
   '';
 
 in
@@ -65,6 +66,15 @@ in
         '';
       };
 
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Literal string to append to <literal>configFile</literal>
+          and the config file generated by the plymouth module.
+        '';
+      };
+
     };
 
   };
diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix
index 3ea96f8e464..da61c64faf8 100644
--- a/nixos/modules/system/boot/resolved.nix
+++ b/nixos/modules/system/boot/resolved.nix
@@ -136,6 +136,8 @@ in
       }
     ];
 
+    users.users.resolved.group = "systemd-resolve";
+
     systemd.additionalUpstreamSystemUnits = [
       "systemd-resolved.service"
     ];
diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix
index 3ddd45b1348..1e2435e36f0 100644
--- a/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixos/modules/system/boot/systemd-nspawn.nix
@@ -126,7 +126,7 @@ in {
           systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [ 
             ""  # deliberately empty. signals systemd to override the ExecStart
             # Only difference between upstream is that we do not pass the -U flag
-            "${pkgs.systemd}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
+            "${config.systemd.package}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
           ];
         }
       ];
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index c1f2c98afcd..bee21f1a8f3 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -24,7 +24,7 @@ in rec {
       in
         if isList (head defs'')
         then concatLists defs''
-        else mergeOneOption loc defs';
+        else mergeEqualOption loc defs';
   };
 
   sharedOptions = {
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 33b350902a1..7951dcc816a 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -63,6 +63,7 @@ let
       "systemd-logind.service"
       "autovt@.service"
       "systemd-user-sessions.service"
+      "dbus-org.freedesktop.import1.service"
       "dbus-org.freedesktop.machine1.service"
       "user@.service"
       "user-runtime-dir@.service"
@@ -145,6 +146,7 @@ let
       "user.slice"
       "machine.slice"
       "machines.target"
+      "systemd-importd.service"
       "systemd-machined.service"
       "systemd-nspawn@.service"
 
@@ -406,7 +408,6 @@ let
 in
 
 {
-
   ###### interface
 
   options = {
@@ -1004,5 +1005,7 @@ in
     [ (mkRenamedOptionModule [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ])
       (mkRenamedOptionModule [ "boot" "systemd" "targets" ] [ "systemd" "targets" ])
       (mkRenamedOptionModule [ "boot" "systemd" "services" ] [ "systemd" "services" ])
+      (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
+      (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
     ];
 }
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index 8282cdd6f3a..9e2f36ca01f 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -20,6 +20,18 @@ with lib;
           The set of NTP servers from which to synchronise.
         '';
       };
+      extraConfig = mkOption {
+        default = "";
+        type = types.lines;
+        example = ''
+          PollIntervalMaxSec=180
+        '';
+        description = ''
+          Extra config options for systemd-timesyncd. See
+          <link xlink:href="https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html">
+          timesyncd.conf(5)</link> for available options.
+        '';
+      };
     };
   };
 
@@ -35,9 +47,13 @@ with lib;
     environment.etc."systemd/timesyncd.conf".text = ''
       [Time]
       NTP=${concatStringsSep " " config.services.timesyncd.servers}
+      ${config.services.timesyncd.extraConfig}
     '';
 
-    users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync;
+    users.users.systemd-timesync = {
+      uid = config.ids.uids.systemd-timesync;
+      group = "systemd-timesync";
+    };
     users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
 
     system.activationScripts.systemd-timesyncd-migration = mkIf (versionOlder config.system.stateVersion "19.09") ''
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index e0e8bb1f03d..ddcc0ed8f5a 100644
--- a/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixos/modules/tasks/filesystems/nfs.nix
@@ -25,6 +25,9 @@ let
   '';
 
   nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig;
+  requestKeyConfFile = pkgs.writeText "request-key.conf" ''
+    create id_resolver * * ${pkgs.nfs-utils}/bin/nfsidmap -t 600 %k %d
+  '';
 
   cfg = config.services.nfs;
 
@@ -57,9 +60,12 @@ in
 
     systemd.packages = [ pkgs.nfs-utils ];
 
+    environment.systemPackages = [ pkgs.keyutils ];
+
     environment.etc = {
       "idmapd.conf".source = idmapdConfFile;
       "nfs.conf".source = nfsConfFile;
+      "request-key.conf".source = requestKeyConfFile;
     };
 
     systemd.services.nfs-blkmap =
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index fe11917c609..d14ba98ec48 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -12,6 +12,7 @@ let
   cfgSnapFlags = cfgSnapshots.flags;
   cfgScrub = config.services.zfs.autoScrub;
   cfgTrim = config.services.zfs.trim;
+  cfgZED = config.services.zfs.zed;
 
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
   inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems;
@@ -87,10 +88,25 @@ let
     }
   '';
 
+  zedConf = generators.toKeyValue {
+    mkKeyValue = generators.mkKeyValueDefault {
+      mkValueString = v:
+        if isInt           v then toString v
+        else if isString   v then "\"${v}\""
+        else if true  ==   v then "1"
+        else if false ==   v then "0"
+        else if isList     v then "\"" + (concatStringsSep " " v) + "\""
+        else err "this value is" (toString v);
+    } "=";
+  } cfgZED.settings;
 in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.")
+  ];
+
   ###### interface
 
   options = {
@@ -312,6 +328,32 @@ in
         '';
       };
     };
+
+    services.zfs.zed.settings = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
+      example = literalExample ''
+        {
+          ZED_DEBUG_LOG = "/tmp/zed.debug.log";
+
+          ZED_EMAIL_ADDR = [ "root" ];
+          ZED_EMAIL_PROG = "mail";
+          ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
+
+          ZED_NOTIFY_INTERVAL_SECS = 3600;
+          ZED_NOTIFY_VERBOSE = false;
+
+          ZED_USE_ENCLOSURE_LEDS = true;
+          ZED_SCRUB_AFTER_RESILVER = false;
+        }
+      '';
+      description = ''
+        ZFS Event Daemon /etc/zfs/zed.d/zed.rc content
+
+        See
+        <citerefentry><refentrytitle>zed</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        for details on ZED and the scripts in /etc/zfs/zed.d to find the possible variables
+      '';
+    };
   };
 
   ###### implementation
@@ -389,8 +431,32 @@ in
         zfsSupport = true;
       };
 
-      environment.etc."zfs/zed.d".source = "${packages.zfsUser}/etc/zfs/zed.d/";
-      environment.etc."zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+      services.zfs.zed.settings = {
+        ZED_EMAIL_PROG = mkDefault "${pkgs.mailutils}/bin/mail";
+      };
+
+      environment.etc = genAttrs
+        (map
+          (file: "zfs/zed.d/${file}")
+          [
+            "all-syslog.sh"
+            "pool_import-led.sh"
+            "resilver_finish-start-scrub.sh"
+            "statechange-led.sh"
+            "vdev_attach-led.sh"
+            "zed-functions.sh"
+            "data-notify.sh"
+            "resilver_finish-notify.sh"
+            "scrub_finish-notify.sh"
+            "statechange-notify.sh"
+            "vdev_clear-led.sh"
+          ]
+        )
+        (file: { source = "${packages.zfsUser}/etc/${file}"; })
+      // {
+        "zfs/zed.d/zed.rc".text = zedConf;
+        "zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+      };
 
       system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck
       environment.systemPackages = [ packages.zfsUser ]
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
deleted file mode 100644
index c6ba998b19e..00000000000
--- a/nixos/modules/tasks/kbd.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  makeColor = n: value: "COLOR_${toString n}=${value}";
-  makeColorCS =
-    let positions = [ "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F" ];
-    in n: value: "\\033]P${elemAt positions (n - 1)}${value}";
-  colors = concatImapStringsSep "\n" makeColor config.i18n.consoleColors;
-
-  isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);
-
-  optimizedKeymap = pkgs.runCommand "keymap" {
-    nativeBuildInputs = [ pkgs.buildPackages.kbd ];
-    LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**";
-    preferLocalBuild = true;
-  } ''
-    loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out
-  '';
-
-  # Sadly, systemd-vconsole-setup doesn't support binary keymaps.
-  vconsoleConf = pkgs.writeText "vconsole.conf" ''
-    KEYMAP=${config.i18n.consoleKeyMap}
-    FONT=${config.i18n.consoleFont}
-    ${colors}
-  '';
-
-  kbdEnv = pkgs.buildEnv {
-    name = "kbd-env";
-    paths = [ pkgs.kbd ] ++ config.i18n.consolePackages;
-    pathsToLink = [ "/share/consolefonts" "/share/consoletrans" "/share/keymaps" "/share/unimaps" ];
-  };
-
-  setVconsole = !config.boot.isContainer;
-in
-
-{
-  ###### interface
-
-  options = {
-
-    # most options are defined in i18n.nix
-
-    # FIXME: still needed?
-    boot.extraTTYs = mkOption {
-      default = [];
-      type = types.listOf types.str;
-      example = ["tty8" "tty9"];
-      description = ''
-        Tty (virtual console) devices, in addition to the consoles on
-        which mingetty and syslogd run, that must be initialised.
-        Only useful if you have some program that you want to run on
-        some fixed console.  For example, the NixOS installation CD
-        opens the manual in a web browser on console 7, so it sets
-        <option>boot.extraTTYs</option> to <literal>["tty7"]</literal>.
-      '';
-    };
-
-    boot.earlyVconsoleSetup = mkOption {
-      default = false;
-      type = types.bool;
-      description = ''
-        Enable setting font as early as possible (in initrd).
-      '';
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkMerge [
-    (mkIf (!setVconsole) {
-      systemd.services.systemd-vconsole-setup.enable = false;
-    })
-
-    (mkIf setVconsole (mkMerge [
-      { environment.systemPackages = [ pkgs.kbd ];
-
-        # Let systemd-vconsole-setup.service do the work of setting up the
-        # virtual consoles.
-        environment.etc."vconsole.conf".source = vconsoleConf;
-        # Provide kbd with additional packages.
-        environment.etc.kbd.source = "${kbdEnv}/share";
-
-        boot.initrd.preLVMCommands = mkBefore ''
-          kbd_mode ${if isUnicode then "-u" else "-a"} -C /dev/console
-          printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
-          loadkmap < ${optimizedKeymap}
-
-          ${optionalString config.boot.earlyVconsoleSetup ''
-            setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
-          ''}
-
-          ${concatImapStringsSep "\n" (n: color: ''
-            printf "${makeColorCS n color}" >> /dev/console
-          '') config.i18n.consoleColors}
-        '';
-
-        systemd.services.systemd-vconsole-setup =
-          { before = [ "display-manager.service" ];
-            after = [ "systemd-udev-settle.service" ];
-            restartTriggers = [ vconsoleConf kbdEnv ];
-          };
-      }
-
-      (mkIf config.boot.earlyVconsoleSetup {
-        boot.initrd.extraUtilsCommands = ''
-          mkdir -p $out/share/consolefonts
-          ${if substring 0 1 config.i18n.consoleFont == "/" then ''
-            font="${config.i18n.consoleFont}"
-          '' else ''
-            font="$(echo ${kbdEnv}/share/consolefonts/${config.i18n.consoleFont}.*)"
-          ''}
-          if [[ $font == *.gz ]]; then
-            gzip -cd $font > $out/share/consolefonts/font.psf
-          else
-            cp -L $font $out/share/consolefonts/font.psf
-          fi
-        '';
-      })
-    ]))
-  ];
-
-}
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 9ffa1089ee6..e25dc0c0b39 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -60,8 +60,8 @@ in
       let
         domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
         genericNetwork = override:
-          let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
-            ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
+          let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
+            ++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
           in optionalAttrs (gateway != [ ]) {
             routes = override [
               {
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 1a11d9ce7c2..1baeab53b0c 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -15,7 +15,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
   #
   # One particular example are the boot tests where we want instrumentation
   # within the images but not other stuff like setting up 9p filesystems.
-  options.virtualisation.qemu.program = mkOption { type = types.path; };
+  options.virtualisation.qemu = { };
 
   config = {
 
diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix
index f7a37d8c9f3..6ff6bdd30c2 100644
--- a/nixos/modules/virtualisation/container-config.nix
+++ b/nixos/modules/virtualisation/container-config.nix
@@ -10,6 +10,7 @@ with lib;
     nix.optimise.automatic = mkDefault false; # the store is host managed
     services.udisks2.enable = mkDefault false;
     powerManagement.enable = mkDefault false;
+    documentation.nixos.enable = mkDefault false;
 
     networking.useHostResolvConf = mkDefault true;
 
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 691ee2c136e..09678ce9ea7 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -149,7 +149,7 @@ let
         --setenv PATH="$PATH" \
         ${optionalString cfg.ephemeral "--ephemeral"} \
         ${if cfg.additionalCapabilities != null && cfg.additionalCapabilities != [] then
-          ''--capability="${concatStringsSep " " cfg.additionalCapabilities}"'' else ""
+          ''--capability="${concatStringsSep "," cfg.additionalCapabilities}"'' else ""
         } \
         ${if cfg.tmpfs != null && cfg.tmpfs != [] then
           ''--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}'' else ""
diff --git a/nixos/modules/virtualisation/digital-ocean-config.nix b/nixos/modules/virtualisation/digital-ocean-config.nix
new file mode 100644
index 00000000000..88cb0cd450e
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-config.nix
@@ -0,0 +1,197 @@
+{ config, pkgs, lib, modulesPath, ... }:
+with lib;
+{
+  imports = [
+    (modulesPath + "/profiles/qemu-guest.nix")
+    (modulesPath + "/virtualisation/digital-ocean-init.nix")
+  ];
+  options.virtualisation.digitalOcean = with types; {
+    setRootPassword = mkOption {
+      type = bool;
+      default = false;
+      example = true;
+      description = "Whether to set the root password from the Digital Ocean metadata";
+    };
+    setSshKeys = mkOption {
+      type = bool;
+      default = true;
+      example = true;
+      description = "Whether to fetch ssh keys from Digital Ocean";
+    };
+    seedEntropy = mkOption {
+      type = bool;
+      default = true;
+      example = true;
+      description = "Whether to run the kernel RNG entropy seeding script from the Digital Ocean vendor data";
+    };
+  };
+  config =
+    let
+      cfg = config.virtualisation.digitalOcean;
+      hostName = config.networking.hostName;
+      doMetadataFile = "/run/do-metadata/v1.json";
+    in mkMerge [{
+      fileSystems."/" = {
+        device = "/dev/disk/by-label/nixos";
+        autoResize = true;
+        fsType = "ext4";
+      };
+      boot = {
+        growPartition = true;
+        kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
+        initrd.kernelModules = [ "virtio_scsi" ];
+        kernelModules = [ "virtio_pci" "virtio_net" ];
+        loader = {
+          grub.device = "/dev/vda";
+          timeout = 0;
+          grub.configurationLimit = 0;
+        };
+      };
+      services.openssh = {
+        enable = mkDefault true;
+        passwordAuthentication = mkDefault false;
+      };
+      services.do-agent.enable = mkDefault true;
+      networking = {
+        hostName = mkDefault ""; # use Digital Ocean metadata server
+      };
+
+      /* Check for and wait for the metadata server to become reachable.
+       * This serves as a dependency for all the other metadata services. */
+      systemd.services.digitalocean-metadata = {
+        path = [ pkgs.curl ];
+        description = "Get host metadata provided by Digitalocean";
+        script = ''
+          set -eu
+          DO_DELAY_ATTEMPTS=0
+          while ! curl -fsSL -o $RUNTIME_DIRECTORY/v1.json http://169.254.169.254/metadata/v1.json; do
+            DO_DELAY_ATTEMPTS=$((DO_DELAY_ATTEMPTS + 1))
+            if (( $DO_DELAY_ATTEMPTS >= $DO_DELAY_ATTEMPTS_MAX )); then
+              echo "giving up"
+              exit 1
+            fi
+
+            echo "metadata unavailable, trying again in 1s..."
+            sleep 1
+          done
+          chmod 600 $RUNTIME_DIRECTORY/v1.json
+          '';
+        environment = {
+          DO_DELAY_ATTEMPTS_MAX = "10";
+        };
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+          RuntimeDirectory = "do-metadata";
+          RuntimeDirectoryPreserve = "yes";
+        };
+        unitConfig = {
+          ConditionPathExists = "!${doMetadataFile}";
+          After = [ "network-pre.target" ] ++
+            optional config.networking.dhcpcd.enable "dhcpcd.service" ++
+            optional config.systemd.network.enable "systemd-networkd.service";
+        };
+      };
+
+      /* Fetch the root password from the digital ocean metadata.
+       * There is no specific route for this, so we use jq to get
+       * it from the One Big JSON metadata blob */
+      systemd.services.digitalocean-set-root-password = mkIf cfg.setRootPassword {
+        path = [ pkgs.shadow pkgs.jq ];
+        description = "Set root password provided by Digitalocean";
+        wantedBy = [ "multi-user.target" ];
+        script = ''
+          set -eo pipefail
+          ROOT_PASSWORD=$(jq -er '.auth_key' ${doMetadataFile})
+          echo "root:$ROOT_PASSWORD" | chpasswd
+          mkdir -p /etc/do-metadata/set-root-password
+          '';
+        unitConfig = {
+          ConditionPathExists = "!/etc/do-metadata/set-root-password";
+          Before = optional config.services.openssh.enable "sshd.service";
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+      /* Set the hostname from Digital Ocean, unless the user configured it in
+       * the NixOS configuration. The cached metadata file isn't used here
+       * because the hostname is a mutable part of the droplet. */
+      systemd.services.digitalocean-set-hostname = mkIf (hostName == "") {
+        path = [ pkgs.curl pkgs.nettools ];
+        description = "Set hostname provided by Digitalocean";
+        wantedBy = [ "network.target" ];
+        script = ''
+          set -e
+          DIGITALOCEAN_HOSTNAME=$(curl -fsSL http://169.254.169.254/metadata/v1/hostname)
+          hostname "$DIGITALOCEAN_HOSTNAME"
+          if [[ ! -e /etc/hostname || -w /etc/hostname ]]; then
+            printf "%s\n" "$DIGITALOCEAN_HOSTNAME" > /etc/hostname
+          fi
+        '';
+        unitConfig = {
+          Before = [ "network.target" ];
+          After = [ "digitalocean-metadata.service" ];
+          Wants = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+      /* Fetch the ssh keys for root from Digital Ocean */
+      systemd.services.digitalocean-ssh-keys = mkIf cfg.setSshKeys {
+        description = "Set root ssh keys provided by Digital Ocean";
+        wantedBy = [ "multi-user.target" ];
+        path = [ pkgs.jq ];
+        script = ''
+          set -e
+          mkdir -m 0700 -p /root/.ssh
+          jq -er '.public_keys[]' ${doMetadataFile} > /root/.ssh/authorized_keys
+          chmod 600 /root/.ssh/authorized_keys
+        '';
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+        };
+        unitConfig = {
+          ConditionPathExists = "!/root/.ssh/authorized_keys";
+          Before = optional config.services.openssh.enable "sshd.service";
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+      };
+
+      /* Initialize the RNG by running the entropy-seed script from the
+       * Digital Ocean metadata
+       */
+      systemd.services.digitalocean-entropy-seed = mkIf cfg.seedEntropy {
+        description = "Run the kernel RNG entropy seeding script from the Digital Ocean vendor data";
+        wantedBy = [ "network.target" ];
+        path = [ pkgs.jq pkgs.mpack ];
+        script = ''
+          set -eo pipefail
+          TEMPDIR=$(mktemp -d)
+          jq -er '.vendor_data' ${doMetadataFile} | munpack -tC $TEMPDIR
+          ENTROPY_SEED=$(grep -rl "DigitalOcean Entropy Seed script" $TEMPDIR)
+          ${pkgs.runtimeShell} $ENTROPY_SEED
+          rm -rf $TEMPDIR
+          '';
+        unitConfig = {
+          Before = [ "network.target" ];
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+    }
+  ];
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+}
+
diff --git a/nixos/modules/virtualisation/digital-ocean-image.nix b/nixos/modules/virtualisation/digital-ocean-image.nix
new file mode 100644
index 00000000000..b582e235d43
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-image.nix
@@ -0,0 +1,69 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.virtualisation.digitalOceanImage;
+in
+{
+
+  imports = [ ./digital-ocean-config.nix ];
+
+  options = {
+    virtualisation.digitalOceanImage.diskSize = mkOption {
+      type = with types; int;
+      default = 4096;
+      description = ''
+        Size of disk image. Unit is MB.
+      '';
+    };
+
+    virtualisation.digitalOceanImage.configFile = mkOption {
+      type = with types; nullOr path;
+      default = null;
+      description = ''
+        A path to a configuration file which will be placed at
+        <literal>/etc/nixos/configuration.nix</literal> and be used when switching
+        to a new configuration. If set to <literal>null</literal>, a default
+        configuration is used that imports
+        <literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
+      '';
+    };
+
+    virtualisation.digitalOceanImage.compressionMethod = mkOption {
+      type = types.enum [ "gzip" "bzip2" ];
+      default = "gzip";
+      example = "bzip2";
+      description = ''
+        Disk image compression method. Choose bzip2 to generate smaller images that
+        take longer to generate but will consume less metered storage space on your
+        Digital Ocean account.
+      '';
+    };
+  };
+
+  #### implementation
+  config = {
+
+    system.build.digitalOceanImage = import ../../lib/make-disk-image.nix {
+      name = "digital-ocean-image";
+      format = "qcow2";
+      postVM = let
+        compress = {
+          "gzip" = "${pkgs.gzip}/bin/gzip";
+          "bzip2" = "${pkgs.bzip2}/bin/bzip2";
+        }.${cfg.compressionMethod};
+      in ''
+        ${compress} $diskImage
+      '';
+      configFile = if cfg.configFile == null
+        then config.virtualisation.digitalOcean.defaultConfigFile
+        else cfg.configFile;
+      inherit (cfg) diskSize;
+      inherit config lib pkgs;
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+
+}
diff --git a/nixos/modules/virtualisation/digital-ocean-init.nix b/nixos/modules/virtualisation/digital-ocean-init.nix
new file mode 100644
index 00000000000..02f4de009fa
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-init.nix
@@ -0,0 +1,95 @@
+{ config, pkgs, lib, ... }:
+with lib;
+let
+  cfg = config.virtualisation.digitalOcean;
+  defaultConfigFile = pkgs.writeText "digitalocean-configuration.nix" ''
+    { modulesPath, lib, ... }:
+    {
+      imports = lib.optional (builtins.pathExists ./do-userdata.nix) ./do-userdata.nix ++ [
+        (modulesPath + "/virtualisation/digital-ocean-config.nix")
+      ];
+    }
+  '';
+in {
+  options.virtualisation.digitalOcean.rebuildFromUserData = mkOption {
+    type = types.bool;
+    default = true;
+    example = true;
+    description = "Whether to reconfigure the system from Digital Ocean user data";
+  };
+  options.virtualisation.digitalOcean.defaultConfigFile = mkOption {
+    type = types.path;
+    default = defaultConfigFile;
+    defaultText = ''
+      The default configuration imports user-data if applicable and
+      <literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
+    '';
+    description = ''
+      A path to a configuration file which will be placed at
+      <literal>/etc/nixos/configuration.nix</literal> and be used when switching to
+      a new configuration.
+    '';
+  };
+
+  config = {
+    systemd.services.digitalocean-init = mkIf cfg.rebuildFromUserData {
+      description = "Reconfigure the system from Digital Ocean userdata on startup";
+      wantedBy = [ "network-online.target" ];
+      unitConfig = {
+        ConditionPathExists = "!/etc/nixos/do-userdata.nix";
+        After = [ "digitalocean-metadata.service" "network-online.target" ];
+        Requires = [ "digitalocean-metadata.service" ];
+        X-StopOnRemoval = false;
+      };
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+      restartIfChanged = false;
+      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep pkgs.systemd config.nix.package config.system.build.nixos-rebuild ];
+      environment = {
+        HOME = "/root";
+        NIX_PATH = concatStringsSep ":" [
+          "/nix/var/nix/profiles/per-user/root/channels/nixos"
+          "nixos-config=/etc/nixos/configuration.nix"
+          "/nix/var/nix/profiles/per-user/root/channels"
+        ];
+      };
+      script = ''
+        set -e
+        echo "attempting to fetch configuration from Digital Ocean user data..."
+        userData=$(mktemp)
+        if jq -er '.user_data' /run/do-metadata/v1.json > $userData; then
+          # If the user-data looks like it could be a nix expression,
+          # copy it over. Also, look for a magic three-hash comment and set
+          # that as the channel.
+          if nix-instantiate --parse $userData > /dev/null; then
+            channels="$(grep '^###' "$userData" | sed 's|###\s*||')"
+            printf "%s" "$channels" | while read channel; do
+              echo "writing channel: $channel"
+            done
+
+            if [[ -n "$channels" ]]; then
+              printf "%s" "$channels" > /root/.nix-channels
+              nix-channel --update
+            fi
+
+            echo "setting configuration from Digital Ocean user data"
+            cp "$userData" /etc/nixos/do-userdata.nix
+            if [[ ! -e /etc/nixos/configuration.nix ]]; then
+              install -m0644 ${cfg.defaultConfigFile} /etc/nixos/configuration.nix
+            fi
+          else
+            echo "user data does not appear to be a Nix expression; ignoring"
+            exit
+          fi
+
+          nixos-rebuild switch
+        else
+          echo "no user data is available"
+        fi
+        '';
+    };
+  };
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+}
diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix
index 82451787e8a..62912535018 100644
--- a/nixos/modules/virtualisation/ec2-data.nix
+++ b/nixos/modules/virtualisation/ec2-data.nix
@@ -7,6 +7,10 @@
 with lib;
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "ec2" "metadata" ] "")
+  ];
+
   config = {
 
     systemd.services.apply-ec2-data =
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index 16b79d86919..52d852894ce 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -28,6 +28,11 @@ let
 
 in {
 
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "libvirtd" "enableKVM" ]
+      "Set the option `virtualisation.libvirtd.qemuPackage' instead.")
+  ];
+
   ###### interface
 
   options.virtualisation.libvirtd = {
@@ -146,7 +151,8 @@ in {
       # this file is expected in /etc/qemu and not sysconfdir (/var/lib)
       etc."qemu/bridge.conf".text = lib.concatMapStringsSep "\n" (e:
         "allow ${e}") cfg.allowedBridges;
-      systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ];
+      systemPackages = with pkgs; [ libvirt libressl.nc iptables cfg.qemuPackage ];
+      etc.ethertypes.source = "${pkgs.iptables}/etc/ethertypes";
     };
 
     boot.kernelModules = [ "tun" ];
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 9b5adaf0824..f484d5ee59a 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -58,7 +58,7 @@ in
           ''
             This is the config file for managing unprivileged user network
             administration access in LXC. See <citerefentry>
-            <refentrytitle>lxc-user-net</refentrytitle><manvolnum>5</manvolnum>
+            <refentrytitle>lxc-usernet</refentrytitle><manvolnum>5</manvolnum>
             </citerefentry>.
           '';
       };
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 505c11abd20..b4934a86cf5 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -35,6 +35,18 @@ in
           with nixos.
         '';
       };
+      recommendedSysctlSettings = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          enables various settings to avoid common pitfalls when
+          running containers requiring many file operations.
+          Fixes errors like "Too many open files" or
+          "neighbour: ndisc_cache: neighbor table overflow!".
+          See https://lxd.readthedocs.io/en/latest/production-setup/
+          for details.
+        '';
+      };
     };
   };
 
@@ -69,8 +81,11 @@ in
         ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --group lxd";
         Type = "simple";
         KillMode = "process"; # when stopping, leave the containers alone
+        LimitMEMLOCK = "infinity";
+        LimitNOFILE = "1048576";
+        LimitNPROC = "infinity";
+        TasksMax = "infinity";
       };
-
     };
 
     users.groups.lxd.gid = config.ids.gids.lxd;
@@ -79,5 +94,16 @@ in
       subUidRanges = [ { startUid = 1000000; count = 65536; } ];
       subGidRanges = [ { startGid = 1000000; count = 65536; } ];
     };
+
+    boot.kernel.sysctl = mkIf cfg.recommendedSysctlSettings {
+      "fs.inotify.max_queued_events" = 1048576;
+      "fs.inotify.max_user_instances" = 1048576;
+      "fs.inotify.max_user_watches" = 1048576;
+      "vm.max_map_count" = 262144;
+      "kernel.dmesg_restrict" = 1;
+      "net.ipv4.neigh.default.gc_thresh3" = 8192;
+      "net.ipv6.neigh.default.gc_thresh3" = 8192;
+      "kernel.keys.maxkeys" = 2000;
+    };
   };
 }
diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix
index edec3740230..6b8ad83661f 100644
--- a/nixos/modules/virtualisation/openvswitch.nix
+++ b/nixos/modules/virtualisation/openvswitch.nix
@@ -42,6 +42,9 @@ in {
       default = false;
       description = ''
         Whether to start racoon service for openvswitch.
+        Supported only if openvswitch version is less than 2.6.0.
+        Use <literal>virtualisation.vswitch.package = pkgs.openvswitch-lts</literal>
+        for a version that supports ipsec over GRE.
       '';
     };
   };
@@ -89,6 +92,13 @@ in {
             "${cfg.package}/share/openvswitch/vswitch.ovsschema"
         fi
         chmod -R +w /var/db/openvswitch
+        if ${cfg.package}/bin/ovsdb-tool needs-conversion /var/db/openvswitch/conf.db | grep -q "yes"
+        then
+          echo "Performing database upgrade"
+          ${cfg.package}/bin/ovsdb-tool convert /var/db/openvswitch/conf.db
+        else
+          echo "Database already up to date"
+        fi
         '';
       serviceConfig = {
         ExecStart =
@@ -133,7 +143,7 @@ in {
     };
 
   }
-  (mkIf cfg.ipsec {
+  (mkIf (cfg.ipsec && (versionOlder cfg.package.version "2.6.0")) {
     services.racoon.enable = true;
     services.racoon.configPath = "${runDir}/ipsec/etc/racoon/racoon.conf";
 
@@ -172,5 +182,4 @@ in {
       '';
     };
   })]));
-
 }
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index e313d2b411b..31d332e9f07 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -620,7 +620,7 @@ in
 
     # Wireless won't work in the VM.
     networking.wireless.enable = mkVMOverride false;
-    networking.connman.enable = mkVMOverride false;
+    services.connman.enable = mkVMOverride false;
 
     # Speed up booting by not waiting for ARP.
     networking.dhcpcd.extraConfig = "noarp";
diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix
index f418f849759..962a9059ea4 100644
--- a/nixos/modules/virtualisation/vmware-guest.nix
+++ b/nixos/modules/virtualisation/vmware-guest.nix
@@ -8,6 +8,10 @@ let
   xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
 in
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
+  ];
+
   options.virtualisation.vmware.guest = {
     enable = mkEnableOption "VMWare Guest Support";
     headless = mkOption {
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index 06d5c63476f..6fd54c52758 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -9,6 +9,11 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
+    (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
+  ];
+
   ###### interface
 
   options = {
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 9e2109d88b5..ca9c6f9a7f9 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -63,8 +63,7 @@ in rec {
 
         #(all nixos.tests.containers)
         (all nixos.tests.containers-imperative)
-        (all nixos.tests.containers-ipv4)
-        (all nixos.tests.containers-ipv6)
+        (all nixos.tests.containers-ip)
         nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
@@ -121,8 +120,8 @@ in rec {
         (all nixos.tests.networking.scripted.macvlan)
         (all nixos.tests.networking.scripted.sit)
         (all nixos.tests.networking.scripted.vlan)
-        (all nixos.tests.nfs3)
-        (all nixos.tests.nfs4)
+        (all nixos.tests.nfs3.simple)
+        (all nixos.tests.nfs4.simple)
         (all nixos.tests.openssh)
         (all nixos.tests.php-pcre)
         (all nixos.tests.predictable-interface-names.predictable)
@@ -133,11 +132,9 @@ in rec {
         (all nixos.tests.proxy)
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
-        (all nixos.tests.slim)
         (all nixos.tests.switchTest)
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
-        (all nixos.tests.xfce4-14)
 
         nixpkgs.tarball
         (all allSupportedNixpkgs.emacs)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 84af457801a..74c16e990f3 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -32,8 +32,7 @@ in rec {
     tests = {
       inherit (nixos'.tests)
         containers-imperative
-        containers-ipv4
-        containers-ipv6
+        containers-ip
         firewall
         ipv6
         login
diff --git a/nixos/tests/3proxy.nix b/nixos/tests/3proxy.nix
new file mode 100644
index 00000000000..b8e1dac0e89
--- /dev/null
+++ b/nixos/tests/3proxy.nix
@@ -0,0 +1,162 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "3proxy";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ misuzu ];
+  };
+
+  nodes = {
+    peer0 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.1";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.111";
+            prefixLength = 24;
+          }
+        ];
+      };
+    };
+
+    peer1 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.2";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.112";
+            prefixLength = 24;
+          }
+        ];
+      };
+      # test that binding to [::] is working when ipv6 is disabled
+      networking.enableIPv6 = false;
+      services._3proxy = {
+        enable = true;
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "none" ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+
+    peer2 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.3";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.113";
+            prefixLength = 24;
+          }
+        ];
+      };
+      services._3proxy = {
+        enable = true;
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "iponly" ];
+            acl = [
+              {
+                rule = "allow";
+              }
+            ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+
+    peer3 = { lib, ... }: {
+      networking.useDHCP = false;
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [
+          {
+            address = "192.168.0.4";
+            prefixLength = 24;
+          }
+          {
+            address = "216.58.211.114";
+            prefixLength = 24;
+          }
+        ];
+      };
+      services._3proxy = {
+        enable = true;
+        usersFile = pkgs.writeText "3proxy.passwd" ''
+          admin:CR:$1$.GUV4Wvk$WnEVQtaqutD9.beO5ar1W/
+        '';
+        services = [
+          {
+            type = "admin";
+            bindPort = 9999;
+            auth = [ "none" ];
+          }
+          {
+            type = "proxy";
+            bindPort = 3128;
+            auth = [ "strong" ];
+            acl = [
+              {
+                rule = "allow";
+              }
+            ];
+          }
+        ];
+      };
+      networking.firewall.allowedTCPPorts = [ 3128 9999 ];
+    };
+  };
+
+  testScript = ''
+    startAll;
+
+    $peer1->waitForUnit("3proxy.service");
+
+    # test none auth
+    $peer0->succeed("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://216.58.211.112:9999");
+    $peer0->succeed("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://192.168.0.2:9999");
+    $peer0->succeed("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.2:3128 -S -O /dev/null http://127.0.0.1:9999");
+
+    $peer2->waitForUnit("3proxy.service");
+
+    # test iponly auth
+    $peer0->succeed("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://216.58.211.113:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://192.168.0.3:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.3:3128 -S -O /dev/null http://127.0.0.1:9999");
+
+    $peer3->waitForUnit("3proxy.service");
+
+    # test strong auth
+    $peer0->succeed("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://admin:bigsecret\@192.168.0.4:3128 -S -O /dev/null http://216.58.211.114:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://admin:bigsecret\@192.168.0.4:3128 -S -O /dev/null http://192.168.0.4:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://216.58.211.114:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://192.168.0.4:9999");
+    $peer0->fail("${pkgs.wget}/bin/wget -e use_proxy=yes -e http_proxy=http://192.168.0.4:3128 -S -O /dev/null http://127.0.0.1:9999");
+  '';
+})
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 1d933153ffa..111643ad69c 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -21,6 +21,7 @@ let
     else {};
 in
 {
+  _3proxy = handleTest ./3proxy.nix {};
   acme = handleTestOn ["x86_64-linux"] ./acme.nix {};
   atd = handleTest ./atd.nix {};
   automysqlbackup = handleTest ./automysqlbackup.nix {};
@@ -28,7 +29,7 @@ in
   babeld = handleTest ./babeld.nix {};
   bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
   beanstalkd = handleTest ./beanstalkd.nix {};
-  beegfs = handleTestOn ["x86_64-linux"] ./beegfs.nix {}; # beegfs is unsupported on aarch64
+  bees = handleTest ./bees.nix {};
   bind = handleTest ./bind.nix {};
   bittorrent = handleTest ./bittorrent.nix {};
   #blivet = handleTest ./blivet.nix {};   # broken since 2017-07024
@@ -48,16 +49,16 @@ in
   clickhouse = handleTest ./clickhouse.nix {};
   cloud-init = handleTest ./cloud-init.nix {};
   codimd = handleTest ./codimd.nix {};
-  colord = handleTest ./colord.nix {};
+  consul = handleTest ./consul.nix {};
   containers-bridge = handleTest ./containers-bridge.nix {};
   containers-ephemeral = handleTest ./containers-ephemeral.nix {};
   containers-extra_veth = handleTest ./containers-extra_veth.nix {};
   containers-hosts = handleTest ./containers-hosts.nix {};
   containers-imperative = handleTest ./containers-imperative.nix {};
-  containers-ipv4 = handleTest ./containers-ipv4.nix {};
-  containers-ipv6 = handleTest ./containers-ipv6.nix {};
+  containers-ip = handleTest ./containers-ip.nix {};
   containers-macvlans = handleTest ./containers-macvlans.nix {};
   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
+  containers-portforward = handleTest ./containers-portforward.nix {};
   containers-restart_networking = handleTest ./containers-restart_networking.nix {};
   containers-tmpfs = handleTest ./containers-tmpfs.nix {};
   couchdb = handleTest ./couchdb.nix {};
@@ -88,30 +89,25 @@ in
   firewall = handleTest ./firewall.nix {};
   fish = handleTest ./fish.nix {};
   flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
-  flatpak = handleTest ./flatpak.nix {};
-  flatpak-builder = handleTest ./flatpak-builder.nix {};
   fluentd = handleTest ./fluentd.nix {};
   fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
   fsck = handleTest ./fsck.nix {};
-  fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64
-  gdk-pixbuf = handleTest ./gdk-pixbuf.nix {};
   gotify-server = handleTest ./gotify-server.nix {};
   gitea = handleTest ./gitea.nix {};
   gitlab = handleTest ./gitlab.nix {};
   gitolite = handleTest ./gitolite.nix {};
-  gjs = handleTest ./gjs.nix {};
-  glib-networking = handleTest ./glib-networking.nix {};
+  gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
   glusterfs = handleTest ./glusterfs.nix {};
   gnome3-xorg = handleTest ./gnome3-xorg.nix {};
   gnome3 = handleTest ./gnome3.nix {};
-  gnome-photos = handleTest ./gnome-photos.nix {};
+  installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
   gocd-agent = handleTest ./gocd-agent.nix {};
   gocd-server = handleTest ./gocd-server.nix {};
   google-oslogin = handleTest ./google-oslogin {};
-  graphene = handleTest ./graphene.nix {};
   grafana = handleTest ./grafana.nix {};
   graphite = handleTest ./graphite.nix {};
   graylog = handleTest ./graylog.nix {};
+  gvisor = handleTest ./gvisor.nix {};
   hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
   hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
   handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
@@ -135,8 +131,8 @@ in
   jackett = handleTest ./jackett.nix {};
   jellyfin = handleTest ./jellyfin.nix {};
   jenkins = handleTest ./jenkins.nix {};
-  jormungandr = handleTest ./jormungandr.nix {};
   kafka = handleTest ./kafka.nix {};
+  keepalived = handleTest ./keepalived.nix {};
   kerberos = handleTest ./kerberos/default.nix {};
   kernel-latest = handleTest ./kernel-latest.nix {};
   kernel-lts = handleTest ./kernel-lts.nix {};
@@ -150,14 +146,14 @@ in
   latestKernel.login = handleTest ./login.nix { latestKernel = true; };
   ldap = handleTest ./ldap.nix {};
   leaps = handleTest ./leaps.nix {};
-  libgdata = handleTest ./libgdata.nix {};
-  libxmlb = handleTest ./libxmlb.nix {};
   lidarr = handleTest ./lidarr.nix {};
   lightdm = handleTest ./lightdm.nix {};
   limesurvey = handleTest ./limesurvey.nix {};
   login = handleTest ./login.nix {};
   loki = handleTest ./loki.nix {};
   #logstash = handleTest ./logstash.nix {};
+  lorri = handleTest ./lorri/default.nix {};
+  magnetico = handleTest ./magnetico.nix {};
   mailcatcher = handleTest ./mailcatcher.nix {};
   mathics = handleTest ./mathics.nix {};
   matomo = handleTest ./matomo.nix {};
@@ -196,8 +192,9 @@ in
   networkingProxy = handleTest ./networking-proxy.nix {};
   nextcloud = handleTest ./nextcloud {};
   nexus = handleTest ./nexus.nix {};
-  nfs3 = handleTest ./nfs.nix { version = 3; };
-  nfs4 = handleTest ./nfs.nix { version = 4; };
+  # TODO: Test nfsv3 + Kerberos
+  nfs3 = handleTest ./nfs { version = 3; };
+  nfs4 = handleTest ./nfs { version = 4; };
   nghttpx = handleTest ./nghttpx.nix {};
   nginx = handleTest ./nginx.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
@@ -215,9 +212,7 @@ in
   openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
   orangefs = handleTest ./orangefs.nix {};
   os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
-  osquery = handleTest ./osquery.nix {};
   osrm-backend = handleTest ./osrm-backend.nix {};
-  ostree = handleTest ./ostree.nix {};
   overlayfs = handleTest ./overlayfs.nix {};
   packagekit = handleTest ./packagekit.nix {};
   pam-oath-login = handleTest ./pam-oath-login.nix {};
@@ -243,7 +238,6 @@ in
   prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {};
   proxy = handleTest ./proxy.nix {};
   quagga = handleTest ./quagga.nix {};
-  quake3 = handleTest ./quake3.nix {};
   rabbitmq = handleTest ./rabbitmq.nix {};
   radarr = handleTest ./radarr.nix {};
   radicale = handleTest ./radicale.nix {};
@@ -257,13 +251,14 @@ in
   rxe = handleTest ./rxe.nix {};
   samba = handleTest ./samba.nix {};
   sddm = handleTest ./sddm.nix {};
+  shiori = handleTest ./shiori.nix {};
   signal-desktop = handleTest ./signal-desktop.nix {};
   simple = handleTest ./simple.nix {};
-  slim = handleTest ./slim.nix {};
   slurm = handleTest ./slurm.nix {};
   smokeping = handleTest ./smokeping.nix {};
   snapper = handleTest ./snapper.nix {};
   solr = handleTest ./solr.nix {};
+  spacecookie = handleTest ./spacecookie.nix {};
   sonarr = handleTest ./sonarr.nix {};
   strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
   sudo = handleTest ./sudo.nix {};
@@ -271,17 +266,21 @@ in
   syncthing-init = handleTest ./syncthing-init.nix {};
   syncthing-relay = handleTest ./syncthing-relay.nix {};
   systemd = handleTest ./systemd.nix {};
+  systemd-analyze = handleTest ./systemd-analyze.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
+  systemd-nspawn = handleTest ./systemd-nspawn.nix {};
   pdns-recursor = handleTest ./pdns-recursor.nix {};
   taskserver = handleTest ./taskserver.nix {};
   telegraf = handleTest ./telegraf.nix {};
   tiddlywiki = handleTest ./tiddlywiki.nix {};
+  timezone = handleTest ./timezone.nix {};
   tinydns = handleTest ./tinydns.nix {};
   tor = handleTest ./tor.nix {};
   transmission = handleTest ./transmission.nix {};
   trac = handleTest ./trac.nix {};
+  trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
   trezord = handleTest ./trezord.nix {};
   trickster = handleTest ./trickster.nix {};
   udisks2 = handleTest ./udisks2.nix {};
@@ -291,15 +290,15 @@ in
   virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
   wireguard = handleTest ./wireguard {};
   wireguard-generated = handleTest ./wireguard/generated.nix {};
+  wireguard-namespaces = handleTest ./wireguard/namespaces.nix {};
   wordpress = handleTest ./wordpress.nix {};
   xautolock = handleTest ./xautolock.nix {};
-  xdg-desktop-portal = handleTest ./xdg-desktop-portal.nix {};
   xfce = handleTest ./xfce.nix {};
-  xfce4-14 = handleTest ./xfce4-14.nix {};
   xmonad = handleTest ./xmonad.nix {};
   xrdp = handleTest ./xrdp.nix {};
   xss-lock = handleTest ./xss-lock.nix {};
   yabar = handleTest ./yabar.nix {};
   yggdrasil = handleTest ./yggdrasil.nix {};
+  zsh-history = handleTest ./zsh-history.nix {};
   zookeeper = handleTest ./zookeeper.nix {};
 }
diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix
index 25db7279924..c3abe5c253d 100644
--- a/nixos/tests/atd.nix
+++ b/nixos/tests/atd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "atd";
@@ -14,18 +14,18 @@ import ./make-test.nix ({ pkgs, ... }:
 
   # "at" has a resolution of 1 minute
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('atd.service'); # wait for atd to start
-    $machine->fail("test -f ~root/at-1");
-    $machine->fail("test -f ~alice/at-1");
+    machine.wait_for_unit("atd.service")  # wait for atd to start
+    machine.fail("test -f ~root/at-1")
+    machine.fail("test -f ~alice/at-1")
 
-    $machine->succeed("echo 'touch ~root/at-1' | at now+1min");
-    $machine->succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"");
+    machine.succeed("echo 'touch ~root/at-1' | at now+1min")
+    machine.succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"")
 
-    $machine->succeed("sleep 1.5m");
+    machine.succeed("sleep 1.5m")
 
-    $machine->succeed("test -f ~root/at-1");
-    $machine->succeed("test -f ~alice/at-1");
+    machine.succeed("test -f ~root/at-1")
+    machine.succeed("test -f ~alice/at-1")
   '';
 })
diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix
index ae4f54d5266..fe027c14d5a 100644
--- a/nixos/tests/avahi.nix
+++ b/nixos/tests/avahi.nix
@@ -1,5 +1,5 @@
 # Test whether `avahi-daemon' and `libnss-mdns' work as expected.
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "avahi";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -23,45 +23,45 @@ import ./make-test.nix ({ pkgs, ... } : {
     two = cfg;
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       # mDNS.
-       $one->waitForUnit("network.target");
-       $two->waitForUnit("network.target");
+    # mDNS.
+    one.wait_for_unit("network.target")
+    two.wait_for_unit("network.target")
 
-       $one->succeed("avahi-resolve-host-name one.local | tee out >&2");
-       $one->succeed("test \"`cut -f1 < out`\" = one.local");
-       $one->succeed("avahi-resolve-host-name two.local | tee out >&2");
-       $one->succeed("test \"`cut -f1 < out`\" = two.local");
+    one.succeed("avahi-resolve-host-name one.local | tee out >&2")
+    one.succeed('test "`cut -f1 < out`" = one.local')
+    one.succeed("avahi-resolve-host-name two.local | tee out >&2")
+    one.succeed('test "`cut -f1 < out`" = two.local')
 
-       $two->succeed("avahi-resolve-host-name one.local | tee out >&2");
-       $two->succeed("test \"`cut -f1 < out`\" = one.local");
-       $two->succeed("avahi-resolve-host-name two.local | tee out >&2");
-       $two->succeed("test \"`cut -f1 < out`\" = two.local");
+    two.succeed("avahi-resolve-host-name one.local | tee out >&2")
+    two.succeed('test "`cut -f1 < out`" = one.local')
+    two.succeed("avahi-resolve-host-name two.local | tee out >&2")
+    two.succeed('test "`cut -f1 < out`" = two.local')
 
-       # Basic DNS-SD.
-       $one->succeed("avahi-browse -r -t _workstation._tcp | tee out >&2");
-       $one->succeed("test `wc -l < out` -gt 0");
-       $two->succeed("avahi-browse -r -t _workstation._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
+    # Basic DNS-SD.
+    one.succeed("avahi-browse -r -t _workstation._tcp | tee out >&2")
+    one.succeed("test `wc -l < out` -gt 0")
+    two.succeed("avahi-browse -r -t _workstation._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
 
-       # More DNS-SD.
-       $one->execute("avahi-publish -s \"This is a test\" _test._tcp 123 one=1 &");
-       $one->sleep(5);
-       $two->succeed("avahi-browse -r -t _test._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
+    # More DNS-SD.
+    one.execute('avahi-publish -s "This is a test" _test._tcp 123 one=1 &')
+    one.sleep(5)
+    two.succeed("avahi-browse -r -t _test._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
 
-       # NSS-mDNS.
-       $one->succeed("getent hosts one.local >&2");
-       $one->succeed("getent hosts two.local >&2");
-       $two->succeed("getent hosts one.local >&2");
-       $two->succeed("getent hosts two.local >&2");
+    # NSS-mDNS.
+    one.succeed("getent hosts one.local >&2")
+    one.succeed("getent hosts two.local >&2")
+    two.succeed("getent hosts one.local >&2")
+    two.succeed("getent hosts two.local >&2")
 
-       # extra service definitions
-       $one->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2");
-       $one->succeed("test `wc -l < out` -gt 0");
-       $two->succeed("avahi-browse -r -t _ssh._tcp | tee out >&2");
-       $two->succeed("test `wc -l < out` -gt 0");
-    '';
+    # extra service definitions
+    one.succeed("avahi-browse -r -t _ssh._tcp | tee out >&2")
+    one.succeed("test `wc -l < out` -gt 0")
+    two.succeed("avahi-browse -r -t _ssh._tcp | tee out >&2")
+    two.succeed("test `wc -l < out` -gt 0")
+  '';
 })
diff --git a/nixos/tests/babeld.nix b/nixos/tests/babeld.nix
index 5242cf395d7..fafa788ba57 100644
--- a/nixos/tests/babeld.nix
+++ b/nixos/tests/babeld.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "babeld";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ hexa ];
@@ -21,7 +21,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
         };
       };
 
-      localRouter = { pkgs, lib, ... }:
+      local_router = { pkgs, lib, ... }:
       {
         virtualisation.vlans = [ 10 20 ];
 
@@ -70,7 +70,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
           '';
         };
       };
-      remoteRouter = { pkgs, lib, ... }:
+      remote_router = { pkgs, lib, ... }:
       {
         virtualisation.vlans = [ 20 30 ];
 
@@ -124,25 +124,25 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network-online.target");
-      $localRouter->waitForUnit("network-online.target");
-      $remoteRouter->waitForUnit("network-online.target");
+      client.wait_for_unit("network-online.target")
+      local_router.wait_for_unit("network-online.target")
+      remote_router.wait_for_unit("network-online.target")
 
-      $localRouter->waitForUnit("babeld.service");
-      $remoteRouter->waitForUnit("babeld.service");
+      local_router.wait_for_unit("babeld.service")
+      remote_router.wait_for_unit("babeld.service")
 
-      $localRouter->waitUntilSucceeds("ip route get 192.168.30.1");
-      $localRouter->waitUntilSucceeds("ip route get 2001:db8:30::1");
+      local_router.wait_until_succeeds("ip route get 192.168.30.1")
+      local_router.wait_until_succeeds("ip route get 2001:db8:30::1")
 
-      $remoteRouter->waitUntilSucceeds("ip route get 192.168.10.1");
-      $remoteRouter->waitUntilSucceeds("ip route get 2001:db8:10::1");
+      remote_router.wait_until_succeeds("ip route get 192.168.10.1")
+      remote_router.wait_until_succeeds("ip route get 2001:db8:10::1")
 
-      $client->succeed("ping -c1 192.168.30.1");
-      $client->succeed("ping -c1 2001:db8:30::1");
+      client.succeed("ping -c1 192.168.30.1")
+      client.succeed("ping -c1 2001:db8:30::1")
 
-      $remoteRouter->succeed("ping -c1 192.168.10.2");
-      $remoteRouter->succeed("ping -c1 2001:db8:10::2");
+      remote_router.succeed("ping -c1 192.168.10.2")
+      remote_router.succeed("ping -c1 2001:db8:10::2")
     '';
 })
diff --git a/nixos/tests/bcachefs.nix b/nixos/tests/bcachefs.nix
index 658676ef0ab..0541e580322 100644
--- a/nixos/tests/bcachefs.nix
+++ b/nixos/tests/bcachefs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "bcachefs";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ chiiruno ];
 
@@ -10,29 +10,25 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->succeed("modprobe bcachefs");
-    $machine->succeed("bcachefs version");
-    $machine->succeed("ls /dev");
+    machine.succeed("modprobe bcachefs")
+    machine.succeed("bcachefs version")
+    machine.succeed("ls /dev")
     
-    $machine->succeed(
-      "mkdir /tmp/mnt",
-
-      "udevadm settle",
-      "parted --script /dev/vdb mklabel msdos",
-      "parted --script /dev/vdb -- mkpart primary 1024M -1s",
-      "udevadm settle",
-
-      # Due to #32279, we cannot use encryption for this test yet
-      # "echo password | bcachefs format --encrypted /dev/vdb1",
-      # "echo password | bcachefs unlock /dev/vdb1",
-      "bcachefs format /dev/vdb1",
-      "mount -t bcachefs /dev/vdb1 /tmp/mnt",
-      "udevadm settle",
-
-      "bcachefs fs usage /tmp/mnt",
-
-      "umount /tmp/mnt",
-      "udevadm settle"
-    );
+    machine.succeed(
+        "mkdir /tmp/mnt",
+        "udevadm settle",
+        "parted --script /dev/vdb mklabel msdos",
+        "parted --script /dev/vdb -- mkpart primary 1024M -1s",
+        "udevadm settle",
+        # Due to #32279, we cannot use encryption for this test yet
+        # "echo password | bcachefs format --encrypted /dev/vdb1",
+        # "echo password | bcachefs unlock /dev/vdb1",
+        "bcachefs format /dev/vdb1",
+        "mount -t bcachefs /dev/vdb1 /tmp/mnt",
+        "udevadm settle",
+        "bcachefs fs usage /tmp/mnt",
+        "umount /tmp/mnt",
+        "udevadm settle",
+    )
   '';
 })
diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix
index fa2fbc2c92a..4f4a454fb47 100644
--- a/nixos/tests/beanstalkd.nix
+++ b/nixos/tests/beanstalkd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 let
   pythonEnv = pkgs.python3.withPackages (p: [p.beanstalkc]);
@@ -34,12 +34,16 @@ in
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('beanstalkd.service');
+    machine.wait_for_unit("beanstalkd.service")
 
-    $machine->succeed("${produce}");
-    $machine->succeed("${consume}") eq "this is a job\n" or die;
-    $machine->succeed("${consume}") eq "this is another job\n" or die;
+    machine.succeed("${produce}")
+    assert "this is a job\n" == machine.succeed(
+        "${consume}"
+    )
+    assert "this is another job\n" == machine.succeed(
+        "${consume}"
+    )
   '';
 })
diff --git a/nixos/tests/beegfs.nix b/nixos/tests/beegfs.nix
deleted file mode 100644
index 3465272f559..00000000000
--- a/nixos/tests/beegfs.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-import ./make-test.nix ({ ... } :
-
-let
-  connAuthFile="beegfs/auth-def.key";
-
-  client = { pkgs, ... } : {
-    networking.firewall.enable = false;
-    services.beegfsEnable = true;
-    services.beegfs.default = {
-      mgmtdHost = "mgmt";
-      connAuthFile = "/etc/${connAuthFile}";
-      client = {
-        mount = false;
-        enable = true;
-      };
-    };
-
-    fileSystems = pkgs.lib.mkVMOverride # FIXME: this should be creatd by the module
-      [ { mountPoint = "/beegfs";
-          device = "default";
-          fsType = "beegfs";
-          options = [ "cfgFile=/etc/beegfs/client-default.conf" "_netdev" ];
-        }
-      ];
-
-    environment.etc.${connAuthFile} = {
-      enable = true;
-      text = "ThisIsALousySecret";
-      mode = "0600";
-    };
-  };
-
-
-  server = service : { pkgs, ... } : {
-    networking.firewall.enable = false;
-    boot.initrd.postDeviceCommands = ''
-      ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb
-    '';
-
-    virtualisation.emptyDiskImages = [ 4096 ];
-
-    fileSystems = pkgs.lib.mkVMOverride
-      [ { mountPoint = "/data";
-          device = "/dev/disk/by-label/data";
-          fsType = "ext4";
-        }
-      ];
-
-    environment.systemPackages = with pkgs; [ beegfs ];
-    environment.etc.${connAuthFile} = {
-      enable = true;
-      text = "ThisIsALousySecret";
-      mode = "0600";
-    };
-
-    services.beegfsEnable = true;
-    services.beegfs.default = {
-      mgmtdHost = "mgmt";
-      connAuthFile = "/etc/${connAuthFile}";
-      ${service} = {
-        enable = true;
-        storeDir = "/data";
-      };
-    };
-  };
-
-in
-{
-  name = "beegfs";
-
-  nodes = {
-    meta = server "meta";
-    mgmt = server "mgmtd";
-    storage1 = server "storage";
-    storage2 = server "storage";
-    client1 = client;
-    client2 = client;
-  };
-
-  testScript = ''
-    # Initalize the data directories
-    $mgmt->waitForUnit("default.target");
-    $mgmt->succeed("beegfs-setup-mgmtd -C -f -p /data");
-    $mgmt->succeed("systemctl start beegfs-mgmtd-default");
-
-    $meta->waitForUnit("default.target");
-    $meta->succeed("beegfs-setup-meta -C -f -s 1 -p /data");
-    $meta->succeed("systemctl start beegfs-meta-default");
-
-    $storage1->waitForUnit("default.target");
-    $storage1->succeed("beegfs-setup-storage -C -f -s 1 -i 1 -p /data");
-    $storage1->succeed("systemctl start beegfs-storage-default");
-
-    $storage2->waitForUnit("default.target");
-    $storage2->succeed("beegfs-setup-storage -C -f -s 2 -i 2 -p /data");
-    $storage2->succeed("systemctl start beegfs-storage-default");
-
-    #
-
-    # Basic test
-    $client1->waitForUnit("beegfs.mount");
-    $client1->succeed("beegfs-check-servers-default");
-    $client1->succeed("echo test > /beegfs/test");
-    $client2->waitForUnit("beegfs.mount");
-    $client2->succeed("test -e /beegfs/test");
-    $client2->succeed("cat /beegfs/test | grep test");
-
-    # test raid0/stripping
-    $client1->succeed("dd if=/dev/urandom bs=1M count=10 of=/beegfs/striped");
-    $client2->succeed("cat /beegfs/striped > /dev/null");
-
-    # check if fs is still healthy
-    $client1->succeed("beegfs-fsck-default --checkfs");
-  '';
-})
diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix
index 6f68c2f834f..6e6a9c3446b 100644
--- a/nixos/tests/bees.nix
+++ b/nixos/tests/bees.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 {
   name = "bees";
 
@@ -29,27 +29,34 @@ import ./make-test.nix ({ lib, ... }:
 
   testScript =
   let
-    withRetry = content: maxTests: sleepTime: ''
-      max_tests=${lib.escapeShellArg maxTests}; sleep_time=${lib.escapeShellArg sleepTime}; for ((i=0; i<max_tests; i++)); do ${content} && exit 0; sleep "$sleep_time"; done; exit 1;
+    someContentIsShared = loc: pkgs.writeShellScript "some-content-is-shared" ''
+      [[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]]
     '';
-    someContentIsShared = loc: ''[[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]]'';
   in ''
     # shut down the instance started by systemd at boot, so we can test our test procedure
-    $machine->succeed("systemctl stop beesd\@aux1.service");
+    machine.succeed("systemctl stop beesd@aux1.service")
 
-    $machine->succeed("dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8");
-    $machine->succeed("cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2");
-    $machine->succeed("cp --reflink=never /aux1/* /aux2/");
-    $machine->succeed("sync");
-    $machine->fail(q(${someContentIsShared "/aux1"}));
-    $machine->fail(q(${someContentIsShared "/aux2"}));
-    $machine->succeed("systemctl start beesd\@aux1.service");
+    machine.succeed(
+        "dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8",
+        "cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2",
+        "cp --reflink=never /aux1/* /aux2/",
+        "sync",
+    )
+    machine.fail(
+        "${someContentIsShared "/aux1"}",
+        "${someContentIsShared "/aux2"}",
+    )
+    machine.succeed("systemctl start beesd@aux1.service")
 
     # assert that "Set Shared" column is nonzero
-    $machine->succeed(q(${withRetry (someContentIsShared "/aux1") 20 2}));
-    $machine->fail(q(${someContentIsShared "/aux2"}));
+    machine.wait_until_succeeds(
+        "${someContentIsShared "/aux1"}",
+    )
+    machine.fail("${someContentIsShared "/aux2"}")
 
     # assert that 16MB hash table size requested was honored
-    $machine->succeed(q([[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]))
+    machine.succeed(
+        "[[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]"
+    )
   '';
 })
diff --git a/nixos/tests/bind.nix b/nixos/tests/bind.nix
index 1f8c1dc7be4..09917b15a8e 100644
--- a/nixos/tests/bind.nix
+++ b/nixos/tests/bind.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "bind";
 
   machine = { pkgs, lib, ... }: {
@@ -20,8 +20,8 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('bind.service');
-    $machine->waitForOpenPort(53);
-    $machine->succeed('host 192.168.0.1 127.0.0.1 | grep -qF ns.example.org');
+    machine.wait_for_unit("bind.service")
+    machine.wait_for_open_port(53)
+    machine.succeed("host 192.168.0.1 127.0.0.1 | grep -qF ns.example.org")
   '';
 }
diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix
index b2e74bff6fc..cfb2ccb8285 100644
--- a/nixos/tests/boot-stage1.nix
+++ b/nixos/tests/boot-stage1.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "boot-stage1";
 
   machine = { config, pkgs, lib, ... }: {
@@ -150,12 +150,12 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->waitForUnit("multi-user.target");
-    $machine->succeed('test -s /run/canary2.pid');
-    $machine->fail('pgrep -a canary1');
-    $machine->fail('kill -0 $(< /run/canary2.pid)');
-    $machine->succeed('pgrep -a -f \'^@canary3$\''');
-    $machine->succeed('pgrep -a -f \'^kcanary$\''');
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("test -s /run/canary2.pid")
+    machine.fail("pgrep -a canary1")
+    machine.fail("kill -0 $(< /run/canary2.pid)")
+    machine.succeed('pgrep -a -f "^@canary3$"')
+    machine.succeed('pgrep -a -f "^kcanary$"')
   '';
 
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ aszlig ];
diff --git a/nixos/tests/borgbackup.nix b/nixos/tests/borgbackup.nix
index 165f64b0d6d..d97471e293e 100644
--- a/nixos/tests/borgbackup.nix
+++ b/nixos/tests/borgbackup.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   passphrase = "supersecret";
@@ -106,60 +106,70 @@ in {
   };
 
   testScript = ''
-    startAll;
-
-    $client->fail('test -d "${remoteRepo}"');
-
-    $client->succeed("cp ${privateKey} /root/id_ed25519");
-    $client->succeed("chmod 0600 /root/id_ed25519");
-    $client->succeed("cp ${privateKeyAppendOnly} /root/id_ed25519.appendOnly");
-    $client->succeed("chmod 0600 /root/id_ed25519.appendOnly");
-
-    $client->succeed("mkdir -p ${dataDir}");
-    $client->succeed("touch ${dataDir}/${excludeFile}");
-    $client->succeed("echo '${keepFileData}' > ${dataDir}/${keepFile}");
-
-    subtest "local", sub {
-      my $borg = "BORG_PASSPHRASE='${passphrase}' borg";
-      $client->systemctl("start --wait borgbackup-job-local");
-      $client->fail("systemctl is-failed borgbackup-job-local");
-      # Make sure exactly one archive has been created
-      $client->succeed("c=\$($borg list '${localRepo}' | wc -l) && [[ \$c == '1' ]]");
-      # Make sure excludeFile has been excluded
-      $client->fail("$borg list '${localRepo}::${archiveName}' | grep -qF '${excludeFile}'");
-      # Make sure keepFile has the correct content
-      $client->succeed("$borg extract '${localRepo}::${archiveName}'");
-      $client->succeed('c=$(cat ${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
-      # Make sure the same is true when using `borg mount`
-      $client->succeed("mkdir -p /mnt/borg && $borg mount '${localRepo}::${archiveName}' /mnt/borg");
-      $client->succeed('c=$(cat /mnt/borg/${dataDir}/${keepFile}) && [[ "$c" == "${keepFileData}" ]]');
-    };
-
-    subtest "remote", sub {
-      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519' borg";
-      $server->waitForUnit("sshd.service");
-      $client->waitForUnit("network.target");
-      $client->systemctl("start --wait borgbackup-job-remote");
-      $client->fail("systemctl is-failed borgbackup-job-remote");
-
-      # Make sure we can't access repos other than the specified one
-      $client->fail("$borg list borg\@server:wrong");
-
-      #TODO: Make sure that data is actually deleted
-    };
-
-    subtest "remoteAppendOnly", sub {
-      my $borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly' borg";
-      $server->waitForUnit("sshd.service");
-      $client->waitForUnit("network.target");
-      $client->systemctl("start --wait borgbackup-job-remoteAppendOnly");
-      $client->fail("systemctl is-failed borgbackup-job-remoteAppendOnly");
-
-      # Make sure we can't access repos other than the specified one
-      $client->fail("$borg list borg\@server:wrong");
-
-      #TODO: Make sure that data is not actually deleted
-    };
-
+    start_all()
+
+    client.fail('test -d "${remoteRepo}"')
+
+    client.succeed(
+        "cp ${privateKey} /root/id_ed25519"
+    )
+    client.succeed("chmod 0600 /root/id_ed25519")
+    client.succeed(
+        "cp ${privateKeyAppendOnly} /root/id_ed25519.appendOnly"
+    )
+    client.succeed("chmod 0600 /root/id_ed25519.appendOnly")
+
+    client.succeed("mkdir -p ${dataDir}")
+    client.succeed("touch ${dataDir}/${excludeFile}")
+    client.succeed("echo '${keepFileData}' > ${dataDir}/${keepFile}")
+
+    with subtest("local"):
+        borg = "BORG_PASSPHRASE='${passphrase}' borg"
+        client.systemctl("start --wait borgbackup-job-local")
+        client.fail("systemctl is-failed borgbackup-job-local")
+        # Make sure exactly one archive has been created
+        assert int(client.succeed("{} list '${localRepo}' | wc -l".format(borg))) > 0
+        # Make sure excludeFile has been excluded
+        client.fail(
+            "{} list '${localRepo}::${archiveName}' | grep -qF '${excludeFile}'".format(borg)
+        )
+        # Make sure keepFile has the correct content
+        client.succeed("{} extract '${localRepo}::${archiveName}'".format(borg))
+        assert "${keepFileData}" in client.succeed("cat ${dataDir}/${keepFile}")
+        # Make sure the same is true when using `borg mount`
+        client.succeed(
+            "mkdir -p /mnt/borg && {} mount '${localRepo}::${archiveName}' /mnt/borg".format(
+                borg
+            )
+        )
+        assert "${keepFileData}" in client.succeed(
+            "cat /mnt/borg/${dataDir}/${keepFile}"
+        )
+
+    with subtest("remote"):
+        borg = "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519' borg"
+        server.wait_for_unit("sshd.service")
+        client.wait_for_unit("network.target")
+        client.systemctl("start --wait borgbackup-job-remote")
+        client.fail("systemctl is-failed borgbackup-job-remote")
+
+        # Make sure we can't access repos other than the specified one
+        client.fail("{} list borg\@server:wrong".format(borg))
+
+        # TODO: Make sure that data is actually deleted
+
+    with subtest("remoteAppendOnly"):
+        borg = (
+            "BORG_RSH='ssh -oStrictHostKeyChecking=no -i /root/id_ed25519.appendOnly' borg"
+        )
+        server.wait_for_unit("sshd.service")
+        client.wait_for_unit("network.target")
+        client.systemctl("start --wait borgbackup-job-remoteAppendOnly")
+        client.fail("systemctl is-failed borgbackup-job-remoteAppendOnly")
+
+        # Make sure we can't access repos other than the specified one
+        client.fail("{} list borg\@server:wrong".format(borg))
+
+        # TODO: Make sure that data is not actually deleted
   '';
 })
diff --git a/nixos/tests/caddy.nix b/nixos/tests/caddy.nix
index ab9d2fbf4d1..fc10df0c79b 100644
--- a/nixos/tests/caddy.nix
+++ b/nixos/tests/caddy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "caddy";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ xfix ];
@@ -50,33 +50,38 @@ import ./make-test.nix ({ pkgs, ... }: {
     etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
     justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
   in ''
-    my $url = 'http://localhost/example.html';
-    $webserver->waitForUnit("caddy");
-    $webserver->waitForOpenPort("80");
+    url = "http://localhost/example.html"
+    webserver.wait_for_unit("caddy")
+    webserver.wait_for_open_port("80")
 
-    sub checkEtag {
-      my $etag = $webserver->succeed(
-        'curl -v '.$url.' 2>&1 | sed -n -e "s/^< [Ee][Tt][Aa][Gg]: *//p"'
-      );
-      $etag =~ s/\r?\n$//;
-      my $httpCode = $webserver->succeed(
-        'curl -w "%{http_code}" -X HEAD -H \'If-None-Match: '.$etag.'\' '.$url
-      );
-      die "HTTP code is not 304" unless $httpCode == 304;
-      return $etag;
-    }
 
-    subtest "check ETag if serving Nix store paths", sub {
-      my $oldEtag = checkEtag;
-      $webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2");
-      $webserver->sleep(1); # race condition
-      my $newEtag = checkEtag;
-      die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag;
-    };
+    def check_etag(url):
+        etag = webserver.succeed(
+            "curl -v '{}' 2>&1 | sed -n -e \"s/^< [Ee][Tt][Aa][Gg]: *//p\"".format(url)
+        )
+        etag = etag.replace("\r\n", " ")
+        http_code = webserver.succeed(
+            "curl -w \"%{{http_code}}\" -X HEAD -H 'If-None-Match: {}' {}".format(etag, url)
+        )
+        assert int(http_code) == 304, "HTTP code is not 304"
+        return etag
 
-    subtest "config is reloaded on nixos-rebuild switch", sub {
-      $webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2");
-      $webserver->waitForOpenPort("8080");
-    };
+
+    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")
   '';
 })
diff --git a/nixos/tests/cadvisor.nix b/nixos/tests/cadvisor.nix
index e60bae4b700..60c04f14780 100644
--- a/nixos/tests/cadvisor.nix
+++ b/nixos/tests/cadvisor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "cadvisor";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -16,20 +16,19 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("cadvisor.service");
-      $machine->succeed("curl http://localhost:8080/containers/");
+  testScript =  ''
+      start_all()
+      machine.wait_for_unit("cadvisor.service")
+      machine.succeed("curl http://localhost:8080/containers/")
 
-      $influxdb->waitForUnit("influxdb.service");
+      influxdb.wait_for_unit("influxdb.service")
 
       # create influxdb database
-      $influxdb->succeed(q~
-        curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root"
-      ~);
+      influxdb.succeed(
+          'curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root"'
+      )
 
-      $influxdb->waitForUnit("cadvisor.service");
-      $influxdb->succeed("curl http://localhost:8080/containers/");
+      influxdb.wait_for_unit("cadvisor.service")
+      influxdb.succeed("curl http://localhost:8080/containers/")
     '';
 })
diff --git a/nixos/tests/cassandra.nix b/nixos/tests/cassandra.nix
index c55733c9be7..05607956a9d 100644
--- a/nixos/tests/cassandra.nix
+++ b/nixos/tests/cassandra.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let
   # Change this to test a different version of Cassandra:
   testPackage = pkgs.cassandra;
@@ -9,13 +9,16 @@ let
   jmxRolesFile = ./cassandra-jmx-roles;
   jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}";
   jmxPort = 7200;  # Non-standard port so it doesn't accidentally work
+  jmxPortStr = toString jmxPort;
 
-  # Would usually be assigned to 512M
+  # Would usually be assigned to 512M.
+  # Set it to a different value, so that we can check whether our config
+  # actually changes it.
   numMaxHeapSize = "400";
   getHeapLimitCommand = ''
-    nodetool info -p ${toString jmxPort} | grep "^Heap Memory" | awk \'{print $NF}\'
+    nodetool info -p ${jmxPortStr} | grep "^Heap Memory" | awk '{print $NF}'
   '';
-  checkHeapLimitCommand = ''
+  checkHeapLimitCommand = pkgs.writeShellScript "check-heap-limit.sh" ''
     [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ]
   '';
 
@@ -44,7 +47,10 @@ let
   };
 in
 {
-  name = "cassandra-ci";
+  name = "cassandra";
+  meta = {
+    maintainers = with lib.maintainers; [ johnazoidberg ];
+  };
 
   nodes = {
     cass0 = nodeCfg "192.168.1.1" {};
@@ -52,66 +58,74 @@ in
     cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; };
   };
 
-  testScript = let
-    jmxPortS = toString jmxPort;
-  in ''
+  testScript = ''
     # Check configuration
-    subtest "Timers exist", sub {
-      $cass0->succeed("systemctl list-timers | grep cassandra-full-repair.timer");
-      $cass0->succeed("systemctl list-timers | grep cassandra-incremental-repair.timer");
-    };
-    subtest "Can connect via cqlsh", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z cass0 9042");
-      $cass0->succeed("echo 'show version;' | cqlsh cass0");
-    };
-    subtest "Nodetool is operational", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass0'");
-    };
-    subtest "Cluster name was set", sub {
-      $cass0->waitForUnit("cassandra.service");
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass0->waitUntilSucceeds("nodetool describecluster -p ${jmxPortS} | grep 'Name: ${clusterName}'");
-    };
-    subtest "Heap limit set correctly", sub {
-      # Nodetool takes a while until it can display info
-      $cass0->waitUntilSucceeds('nodetool info -p ${jmxPortS}');
-      $cass0->succeed('${checkHeapLimitCommand}');
-    };
+    with subtest("Timers exist"):
+        cass0.succeed("systemctl list-timers | grep cassandra-full-repair.timer")
+        cass0.succeed("systemctl list-timers | grep cassandra-incremental-repair.timer")
+
+    with subtest("Can connect via cqlsh"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z cass0 9042")
+        cass0.succeed("echo 'show version;' | cqlsh cass0")
+
+    with subtest("Nodetool is operational"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass0'")
+
+    with subtest("Cluster name was set"):
+        cass0.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.wait_until_succeeds(
+            "nodetool describecluster -p ${jmxPortStr} | grep 'Name: ${clusterName}'"
+        )
+
+    with subtest("Heap limit set correctly"):
+        # Nodetool takes a while until it can display info
+        cass0.wait_until_succeeds("nodetool info -p ${jmxPortStr}")
+        cass0.succeed("${checkHeapLimitCommand}")
 
     # Check cluster interaction
-    subtest "Bring up cluster", sub {
-      $cass1->waitForUnit("cassandra.service");
-      $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2");
-      $cass0->succeed("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
-    };
+    with subtest("Bring up cluster"):
+        cass1.wait_for_unit("cassandra.service")
+        cass1.wait_until_succeeds(
+            "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'")
   '' + lib.optionalString testRemoteAuth ''
-    subtest "Remote authenticated jmx", sub {
-      # Doesn't work if not enabled
-      $cass0->waitUntilSucceeds("nc -z localhost ${jmxPortS}");
-      $cass1->fail("nc -z 192.168.1.1 ${toString jmxPort}");
-      $cass1->fail("nodetool -p ${jmxPortS} -h 192.168.1.1 status");
+    with subtest("Remote authenticated jmx"):
+        # Doesn't work if not enabled
+        cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass1.fail("nc -z 192.168.1.1 ${jmxPortStr}")
+        cass1.fail("nodetool -p ${jmxPortStr} -h 192.168.1.1 status")
 
-      # Works if enabled
-      $cass1->waitUntilSucceeds("nc -z localhost ${toString jmxPort}");
-      $cass0->succeed("nodetool -p ${jmxPortS} -h 192.168.1.2 ${jmxAuthArgs} status");
-    };
+        # Works if enabled
+        cass1.wait_until_succeeds("nc -z localhost ${jmxPortStr}")
+        cass0.succeed("nodetool -p ${jmxPortStr} -h 192.168.1.2 ${jmxAuthArgs} status")
   '' + ''
-    subtest "Break and fix node", sub {
-      $cass1->block;
-      $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'");
-      $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN'  | grep 1");
-      $cass1->unblock;
-      $cass1->waitUntilSucceeds("nodetool -p ${jmxPortS} ${jmxAuthArgs} status | egrep -c '^UN'  | grep 2");
-      $cass0->succeed("nodetool status -p ${jmxPortS} | egrep -c '^UN'  | grep 2");
-    };
-    subtest "Replace crashed node", sub {
-      $cass1->crash;
-      $cass2->waitForUnit("cassandra.service");
-      $cass0->waitUntilFails("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass1'");
-      $cass0->waitUntilSucceeds("nodetool status -p ${jmxPortS} --resolve-ip | egrep '^UN[[:space:]]+cass2'");
-    };
+    with subtest("Break and fix node"):
+        cass1.block()
+        cass0.wait_until_succeeds(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN'  | grep 1")
+        cass1.unblock()
+        cass1.wait_until_succeeds(
+            "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN'  | grep 2"
+        )
+        cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN'  | grep 2")
+
+    with subtest("Replace crashed node"):
+        cass1.block()  # .crash() waits until it's fully shutdown
+        cass2.start()
+        cass0.wait_until_fails(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'"
+        )
+
+        cass2.wait_for_unit("cassandra.service")
+        cass0.wait_until_succeeds(
+            "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass2'"
+        )
   '';
 })
diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix
index 6698aac3f27..52a0b5caf23 100644
--- a/nixos/tests/ceph-multi-node.nix
+++ b/nixos/tests/ceph-multi-node.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({pkgs, lib, ...}:
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   cfg = {
@@ -49,9 +49,6 @@ let
     boot.kernelModules = [ "xfs" ];
 
     services.ceph = cephConfig;
-
-    # So that we don't have to battle systemd when bootstraping
-    systemd.targets.ceph.wantedBy = lib.mkForce [];
   };
 
   networkMonA = {
@@ -107,129 +104,110 @@ let
     };
   }; };
 
+  # Following deployment is based on the manual deployment described here:
+  # https://docs.ceph.com/docs/master/install/manual-deployment/
+  # For other ways to deploy a ceph cluster, look at the documentation at
+  # https://docs.ceph.com/docs/master/
   testscript = { ... }: ''
-    startAll;
-
-    $monA->waitForUnit("network.target");
-    $osd0->waitForUnit("network.target");
-    $osd1->waitForUnit("network.target");
-
-    # Create the ceph-related directories
-    $monA->mustSucceed(
-      "mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}",
-      "mkdir -p /var/lib/ceph/mon/ceph-${cfg.monA.name}",
-      "chown ceph:ceph -R /var/lib/ceph/",
-      "mkdir -p /etc/ceph",
-      "chown ceph:ceph -R /etc/ceph"
-    );
-    $osd0->mustSucceed(
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "chown ceph:ceph -R /var/lib/ceph/",
-      "mkdir -p /etc/ceph",
-      "chown ceph:ceph -R /etc/ceph"
-    );
-    $osd1->mustSucceed(
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "chown ceph:ceph -R /var/lib/ceph/",
-      "mkdir -p /etc/ceph",
-      "chown ceph:ceph -R /etc/ceph"
-    );
+    start_all()
+
+    monA.wait_for_unit("network.target")
+    osd0.wait_for_unit("network.target")
+    osd1.wait_for_unit("network.target")
 
     # Bootstrap ceph-mon daemon
-    $monA->mustSucceed(
-      "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
-      "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
-      "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
-      "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
-      "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
-      "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
-      "systemctl start ceph-mon-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->mustSucceed("ceph mon enable-msgr2");
+    monA.succeed(
+        "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
+        "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
+        "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
+        "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
+        "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
+        "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
+        "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
+        "systemctl start ceph-mon-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.succeed("ceph mon enable-msgr2")
 
     # Can't check ceph status until a mon is up
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
 
     # Start the ceph-mgr daemon, it has no deps and hardly any setup
-    $monA->mustSucceed(
-      "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
-      "systemctl start ceph-mgr-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mgr-a");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
+    monA.succeed(
+        "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
+        "systemctl start ceph-mgr-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mgr-a")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
 
     # Send the admin keyring to the OSD machines
-    $monA->mustSucceed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared");
-    $osd0->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph");
-    $osd1->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph");
+    monA.succeed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared")
+    osd0.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph")
+    osd1.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph")
 
     # Bootstrap both OSDs
-    $osd0->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -",
-    );
-    $osd1->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -"
-    );
+    osd0.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
+        'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -',
+    )
+    osd1.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
+        'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -',
+    )
 
     # Initialize the OSDs with regular filestore
-    $osd0->mustSucceed(
-      "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd0.name}",
-    );
-    $osd1->mustSucceed(
-      "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd1.name}"
-    );
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-
-    $monA->mustSucceed(
-      "ceph osd pool create multi-node-test 100 100",
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool rename multi-node-test multi-node-other-test",
-      "ceph osd pool ls | grep 'multi-node-other-test'"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'");
-    $monA->mustSucceed("ceph osd pool set multi-node-other-test size 2");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-    $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'");
-    $monA->mustFail(
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it"
-    );
-
-    # As we disable the target in the config, we still want to test that it works as intended
-    $osd0->mustSucceed("systemctl stop ceph-osd-${cfg.osd0.name}");
-    $osd1->mustSucceed("systemctl stop ceph-osd-${cfg.osd1.name}");
-    $monA->mustSucceed(
-      "systemctl stop ceph-mgr-${cfg.monA.name}",
-      "systemctl stop ceph-mon-${cfg.monA.name}"
-    );
-    
-    $monA->succeed("systemctl start ceph.target");
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->waitForUnit("ceph-mgr-${cfg.monA.name}");
-    $osd0->succeed("systemctl start ceph.target");
-    $osd0->waitForUnit("ceph-osd-${cfg.osd0.name}");
-    $osd1->succeed("systemctl start ceph.target");
-    $osd1->waitForUnit("ceph-osd-${cfg.osd1.name}");
-    
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
+    osd0.succeed(
+        "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+    )
+    osd1.succeed(
+        "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+
+    monA.succeed(
+        "ceph osd pool create multi-node-test 100 100",
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool rename multi-node-test multi-node-other-test",
+        "ceph osd pool ls | grep 'multi-node-other-test'",
+    )
+    monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
+    monA.succeed("ceph osd pool set multi-node-other-test size 2")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+    monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
+    monA.fail(
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it",
+    )
+
+    # Shut down ceph on all machines in a very unpolite way
+    monA.crash()
+    osd0.crash()
+    osd1.crash()
+
+    # Start it up
+    osd0.start()
+    osd1.start()
+    monA.start()
+
+    # Ensure the cluster comes back up again
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
   '';
 in {
   name = "basic-multi-node-ceph-cluster";
diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix
index 10b77cff5a3..da92a73e14d 100644
--- a/nixos/tests/ceph-single-node.nix
+++ b/nixos/tests/ceph-single-node.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({pkgs, lib, ...}:
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   cfg = {
@@ -46,9 +46,6 @@ let
     boot.kernelModules = [ "xfs" ];
 
     services.ceph = cephConfig;
-
-    # So that we don't have to battle systemd when bootstraping
-    systemd.targets.ceph.wantedBy = lib.mkForce [];
   };
 
   networkMonA = {
@@ -72,112 +69,105 @@ let
     };
   }; };
 
+  # Following deployment is based on the manual deployment described here:
+  # https://docs.ceph.com/docs/master/install/manual-deployment/
+  # For other ways to deploy a ceph cluster, look at the documentation at
+  # https://docs.ceph.com/docs/master/
   testscript = { ... }: ''
-    startAll;
-
-    $monA->waitForUnit("network.target");
+    start_all()
 
-    # Create the ceph-related directories
-    $monA->mustSucceed(
-      "mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}",
-      "mkdir -p /var/lib/ceph/mon/ceph-${cfg.monA.name}",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "mkdir -p /etc/ceph",
-      "chown ceph:ceph -R /etc/ceph",
-      "chown ceph:ceph -R /var/lib/ceph/",
-    );
+    monA.wait_for_unit("network.target")
 
     # Bootstrap ceph-mon daemon
-    $monA->mustSucceed(
-      "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
-      "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
-      "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
-      "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
-      "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
-      "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
-      "systemctl start ceph-mon-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->mustSucceed("ceph mon enable-msgr2");
+    monA.succeed(
+        "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
+        "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
+        "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
+        "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
+        "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
+        "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
+        "systemctl start ceph-mon-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.succeed("ceph mon enable-msgr2")
 
     # Can't check ceph status until a mon is up
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
-
-    # Start the ceph-mgr daemon, it has no deps and hardly any setup
-    $monA->mustSucceed(
-      "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
-      "systemctl start ceph-mgr-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mgr-a");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+
+    # Start the ceph-mgr daemon, after copying in the keyring
+    monA.succeed(
+        "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
+        "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
+        "systemctl start ceph-mgr-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mgr-a")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
 
     # Bootstrap both OSDs
-    $monA->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mkfs.xfs /dev/vdc",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -",
-      "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -"
-    );
+    monA.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkfs.xfs /dev/vdc",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
+        'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -',
+        'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -',
+    )
 
     # Initialize the OSDs with regular filestore
-    $monA->mustSucceed(
-      "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
-      "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd0.name}",
-      "systemctl start ceph-osd-${cfg.osd1.name}"
-    );
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-
-    $monA->mustSucceed(
-      "ceph osd pool create single-node-test 100 100",
-      "ceph osd pool ls | grep 'single-node-test'",
-      "ceph osd pool rename single-node-test single-node-other-test",
-      "ceph osd pool ls | grep 'single-node-other-test'"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'");
-    $monA->mustSucceed(
-      "ceph osd getcrushmap -o crush",
-      "crushtool -d crush -o decrushed",
-      "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush",
-      "crushtool -c modcrush -o recrushed",
-      "ceph osd setcrushmap -i recrushed",
-      "ceph osd pool set single-node-other-test size 2"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-    $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'");
-    $monA->mustFail(
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it"
-    );
-
-    # As we disable the target in the config, we still want to test that it works as intended
-    $monA->mustSucceed(
-      "systemctl stop ceph-osd-${cfg.osd0.name}",
-      "systemctl stop ceph-osd-${cfg.osd1.name}",
-      "systemctl stop ceph-mgr-${cfg.monA.name}",
-      "systemctl stop ceph-mon-${cfg.monA.name}"
-    );
-    
-    $monA->succeed("systemctl start ceph.target");
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->waitForUnit("ceph-mgr-${cfg.monA.name}");
-    $monA->waitForUnit("ceph-osd-${cfg.osd0.name}");
-    $monA->waitForUnit("ceph-osd-${cfg.osd1.name}");
-    
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
+    monA.succeed(
+        "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
+        "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+
+    monA.succeed(
+        "ceph osd pool create single-node-test 100 100",
+        "ceph osd pool ls | grep 'single-node-test'",
+        "ceph osd pool rename single-node-test single-node-other-test",
+        "ceph osd pool ls | grep 'single-node-other-test'",
+    )
+    monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
+    monA.succeed(
+        "ceph osd getcrushmap -o crush",
+        "crushtool -d crush -o decrushed",
+        "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush",
+        "crushtool -c modcrush -o recrushed",
+        "ceph osd setcrushmap -i recrushed",
+        "ceph osd pool set single-node-other-test size 2",
+    )
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+    monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
+    monA.fail(
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it",
+    )
+
+    # Shut down ceph by stopping ceph.target.
+    monA.succeed("systemctl stop ceph.target")
+
+    # Start it up
+    monA.succeed("systemctl start ceph.target")
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-mgr-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd0.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd1.name}")
+
+    # Ensure the cluster comes back up again
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
   '';
 in {
   name = "basic-single-node-ceph-cluster";
diff --git a/nixos/tests/certmgr.nix b/nixos/tests/certmgr.nix
index fe67833808c..cb69f35e862 100644
--- a/nixos/tests/certmgr.nix
+++ b/nixos/tests/certmgr.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 let
   mkSpec = { host, service ? null, action }: {
     inherit action;
@@ -123,17 +123,17 @@ in
       )));
     };
     testScript = ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-ca.pem');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-key.pem');
-      $machine->waitUntilSucceeds('ls /tmp/decl.example.org-cert.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-ca.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-key.pem');
-      $machine->waitUntilSucceeds('ls /tmp/imp.example.org-cert.pem');
-      $machine->waitForUnit('nginx.service');
-      $machine->succeed('[ "1" -lt "$(journalctl -u nginx | grep "Starting Nginx" | wc -l)" ]');
-      $machine->succeed('curl --cacert /tmp/imp.example.org-ca.pem https://imp.example.org');
-      $machine->succeed('curl --cacert /tmp/decl.example.org-ca.pem https://decl.example.org');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-ca.pem")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-key.pem")
+      machine.wait_until_succeeds("ls /tmp/decl.example.org-cert.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-ca.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-key.pem")
+      machine.wait_until_succeeds("ls /tmp/imp.example.org-cert.pem")
+      machine.wait_for_unit("nginx.service")
+      assert 1 < int(machine.succeed('journalctl -u nginx | grep "Starting Nginx" | wc -l'))
+      machine.succeed("curl --cacert /tmp/imp.example.org-ca.pem https://imp.example.org")
+      machine.succeed("curl --cacert /tmp/decl.example.org-ca.pem https://decl.example.org")
     '';
   };
 
@@ -143,8 +143,8 @@ in
       test = mkSpec { host = "command.example.org"; action = "touch /tmp/command.executed"; };
     };
     testScript = ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('stat /tmp/command.executed');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("stat /tmp/command.executed")
     '';
   };
 
diff --git a/nixos/tests/cfssl.nix b/nixos/tests/cfssl.nix
index 513ed8c4574..e291fc285fb 100644
--- a/nixos/tests/cfssl.nix
+++ b/nixos/tests/cfssl.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "cfssl";
 
   machine = { config, lib, pkgs, ... }:
@@ -60,8 +60,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     });
   in
     ''
-      $machine->waitForUnit('cfssl.service');
-      $machine->waitUntilSucceeds('${cfsslrequest}');
-      $machine->succeed('ls /tmp/certificate-key.pem');
+      machine.wait_for_unit("cfssl.service")
+      machine.wait_until_succeeds("${cfsslrequest}")
+      machine.succeed("ls /tmp/certificate-key.pem")
     '';
 })
diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix
index 6660eecf05b..d72236d415d 100644
--- a/nixos/tests/cjdns.nix
+++ b/nixos/tests/cjdns.nix
@@ -17,7 +17,7 @@ let
 
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "cjdns";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ehmry ];
@@ -83,36 +83,39 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
+      import re
 
-      $alice->waitForUnit("cjdns.service");
-      $bob->waitForUnit("cjdns.service");
-      $carol->waitForUnit("cjdns.service");
+      start_all()
 
-      sub cjdnsIp {
-          my ($machine) = @_;
-          my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev tun0"))[3];
-          $machine->log("has ip $ip");
-          return $ip;
-      }
+      alice.wait_for_unit("cjdns.service")
+      bob.wait_for_unit("cjdns.service")
+      carol.wait_for_unit("cjdns.service")
 
-      my $aliceIp6 = cjdnsIp $alice;
-      my $bobIp6   = cjdnsIp $bob;
-      my $carolIp6 = cjdnsIp $carol;
+
+      def cjdns_ip(machine):
+          res = machine.succeed("ip -o -6 addr show dev tun0")
+          ip = re.split("\s+|/", res)[3]
+          machine.log("has ip {}".format(ip))
+          return ip
+
+
+      alice_ip6 = cjdns_ip(alice)
+      bob_ip6 = cjdns_ip(bob)
+      carol_ip6 = cjdns_ip(carol)
 
       # ping a few times each to let the routing table establish itself
 
-      $alice->succeed("ping -c 4 $carolIp6");
-      $bob->succeed("ping -c 4 $carolIp6");
+      alice.succeed("ping -c 4 {}".format(carol_ip6))
+      bob.succeed("ping -c 4 {}".format(carol_ip6))
 
-      $carol->succeed("ping -c 4 $aliceIp6");
-      $carol->succeed("ping -c 4 $bobIp6");
+      carol.succeed("ping -c 4 {}".format(alice_ip6))
+      carol.succeed("ping -c 4 {}".format(bob_ip6))
 
-      $alice->succeed("ping -c 4 $bobIp6");
-      $bob->succeed("ping -c 4 $aliceIp6");
+      alice.succeed("ping -c 4 {}".format(bob_ip6))
+      bob.succeed("ping -c 4 {}".format(alice_ip6))
 
-      $alice->waitForUnit("httpd.service");
+      alice.wait_for_unit("httpd.service")
 
-      $bob->succeed("curl --fail -g http://[$aliceIp6]");
+      bob.succeed("curl --fail -g http://[{}]".format(alice_ip6))
     '';
 })
diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix
index 7d835069ec4..2d8a7cf7aa9 100644
--- a/nixos/tests/clickhouse.nix
+++ b/nixos/tests/clickhouse.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "clickhouse";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
 
@@ -14,12 +14,18 @@ import ./make-test.nix ({ pkgs, ... }: {
       selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`";
     in
       ''
-        $machine->start();
-        $machine->waitForUnit("clickhouse.service");
-        $machine->waitForOpenPort(9000);
+        machine.start()
+        machine.wait_for_unit("clickhouse.service")
+        machine.wait_for_open_port(9000)
 
-        $machine->succeed("cat ${tableDDL} | clickhouse-client");
-        $machine->succeed("cat ${insertQuery} | clickhouse-client");
-        $machine->succeed("cat ${selectQuery} | clickhouse-client | grep foo");
+        machine.succeed(
+            "cat ${tableDDL} | clickhouse-client"
+        )
+        machine.succeed(
+            "cat ${insertQuery} | clickhouse-client"
+        )
+        machine.succeed(
+            "cat ${selectQuery} | clickhouse-client | grep foo"
+        )
       '';
 })
diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix
index 516d29c9036..aafa6e24e84 100644
--- a/nixos/tests/cloud-init.nix
+++ b/nixos/tests/cloud-init.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -30,6 +30,7 @@ let
       '';
   };
 in makeTest {
+  name = "cloud-init";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ lewo ];
   };
@@ -40,10 +41,12 @@ in makeTest {
       services.cloud-init.enable = true;
     };
   testScript = ''
-     $machine->start;
-     $machine->waitForUnit("cloud-init.service");
-     $machine->succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'");
+      machine.start()
+      machine.wait_for_unit("cloud-init.service")
+      machine.succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'")
 
-     $machine->waitUntilSucceeds("cat /root/.ssh/authorized_keys | grep -q 'should be a key!'");
+      machine.wait_until_succeeds(
+          "cat /root/.ssh/authorized_keys | grep -q 'should be a key!'"
+      )
   '';
 }
diff --git a/nixos/tests/codimd.nix b/nixos/tests/codimd.nix
index 562f6f24f99..b1acbf4a832 100644
--- a/nixos/tests/codimd.nix
+++ b/nixos/tests/codimd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 {
   name = "codimd";
 
@@ -35,20 +35,18 @@ import ./make-test.nix ({ pkgs, lib, ... }:
   };
 
   testScript = ''
-    startAll();
+    start_all()
 
-    subtest "CodiMD sqlite", sub {
-      $codimdSqlite->waitForUnit("codimd.service");
-      $codimdSqlite->waitForOpenPort(3000);
-      $codimdSqlite->waitUntilSucceeds("curl -sSf http://localhost:3000/new");
-    };
+    with subtest("CodiMD sqlite"):
+        codimdSqlite.wait_for_unit("codimd.service")
+        codimdSqlite.wait_for_open_port(3000)
+        codimdSqlite.wait_until_succeeds("curl -sSf http://localhost:3000/new")
 
-    subtest "CodiMD postgres", sub {
-      $codimdPostgres->waitForUnit("postgresql.service");
-      $codimdPostgres->waitForUnit("codimd.service");
-      $codimdPostgres->waitForOpenPort(5432);
-      $codimdPostgres->waitForOpenPort(3000);
-      $codimdPostgres->waitUntilSucceeds("curl -sSf http://localhost:3000/new");
-    };
+    with subtest("CodiMD postgres"):
+        codimdPostgres.wait_for_unit("postgresql.service")
+        codimdPostgres.wait_for_unit("codimd.service")
+        codimdPostgres.wait_for_open_port(5432)
+        codimdPostgres.wait_for_open_port(3000)
+        codimdPostgres.wait_until_succeeds("curl -sSf http://localhost:3000/new")
   '';
 })
diff --git a/nixos/tests/colord.nix b/nixos/tests/colord.nix
deleted file mode 100644
index ce38aaca4bf..00000000000
--- a/nixos/tests/colord.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "colord";
-
-  meta = {
-    maintainers = pkgs.colord.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.colord.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/common/x11.nix b/nixos/tests/common/x11.nix
index c5a7c165d12..5ad0ac20fac 100644
--- a/nixos/tests/common/x11.nix
+++ b/nixos/tests/common/x11.nix
@@ -1,12 +1,12 @@
+{ lib, ... }:
+
 { services.xserver.enable = true;
 
   # Automatically log in.
   services.xserver.displayManager.auto.enable = true;
 
   # Use IceWM as the window manager.
-  services.xserver.windowManager.default = "icewm";
-  services.xserver.windowManager.icewm.enable = true;
-
   # Don't use a desktop manager.
-  services.xserver.desktopManager.default = "none";
+  services.xserver.displayManager.defaultSession = lib.mkDefault "none+icewm";
+  services.xserver.windowManager.icewm.enable = true;
 }
diff --git a/nixos/tests/consul.nix b/nixos/tests/consul.nix
new file mode 100644
index 00000000000..6600dae4770
--- /dev/null
+++ b/nixos/tests/consul.nix
@@ -0,0 +1,143 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  # Settings for both servers and agents
+  webUi = true;
+  retry_interval = "1s";
+  raft_multiplier = 1;
+
+  defaultExtraConfig = {
+    inherit retry_interval;
+    performance = {
+      inherit raft_multiplier;
+    };
+  };
+
+  allConsensusServerHosts = [
+    "192.168.1.1"
+    "192.168.1.2"
+    "192.168.1.3"
+  ];
+
+  allConsensusClientHosts = [
+    "192.168.2.1"
+    "192.168.2.2"
+  ];
+
+  firewallSettings = {
+    # See https://www.consul.io/docs/install/ports.html
+    allowedTCPPorts = [ 8301 8302 8600 8500 8300 ];
+    allowedUDPPorts = [ 8301 8302 8600 ];
+  };
+
+  client = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusClientHosts index;
+    in
+      {
+        environment.systemPackages = [ pkgs.consul ];
+
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = ip; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul = {
+          enable = true;
+          inherit webUi;
+          extraConfig = defaultExtraConfig // {
+            server = false;
+            retry_join = allConsensusServerHosts;
+            bind_addr = ip;
+          };
+        };
+      };
+
+  server = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusServerHosts index;
+    in
+      {
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = builtins.elemAt allConsensusServerHosts index; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul =
+          let
+            thisConsensusServerHost = builtins.elemAt allConsensusServerHosts index;
+          in
+          assert builtins.elem thisConsensusServerHost allConsensusServerHosts;
+          {
+            enable = true;
+            inherit webUi;
+            extraConfig = defaultExtraConfig // {
+              server = true;
+              bootstrap_expect = builtins.length allConsensusServerHosts;
+              retry_join =
+                # If there's only 1 node in the network, we allow self-join;
+                # otherwise, the node must not try to join itself, and join only the other servers.
+                # See https://github.com/hashicorp/consul/issues/2868
+                if builtins.length allConsensusServerHosts == 1
+                  then allConsensusServerHosts
+                  else builtins.filter (h: h != thisConsensusServerHost) allConsensusServerHosts;
+              bind_addr = ip;
+            };
+          };
+      };
+in {
+  name = "consul";
+
+  nodes = {
+    server1 = server 0;
+    server2 = server 1;
+    server3 = server 2;
+
+    client1 = client 0;
+    client2 = client 1;
+  };
+
+  testScript = ''
+    servers = [server1, server2, server3]
+    machines = [server1, server2, server3, client1, client2]
+
+    for m in machines:
+        m.wait_for_unit("consul.service")
+
+    for m in machines:
+        m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+    client1.succeed("consul kv put testkey 42")
+    client2.succeed("[ $(consul kv get testkey) == 42 ]")
+
+    # Test that the cluster can tolearate failures of any single server:
+    for server in servers:
+        server.crash()
+
+        # For each client, wait until they have connection again
+        # using `kv get -recurse` before issuing commands.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions while one server is down.
+        client1.succeed("consul kv put testkey 43")
+        client2.succeed("[ $(consul kv get testkey) == 43 ]")
+        client2.succeed("consul kv delete testkey")
+
+        # Restart crashed machine.
+        server.start()
+
+        # Wait for recovery.
+        for m in machines:
+            m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+        # Wait for client connections.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions with server back up.
+        client1.succeed("consul kv put testkey 44")
+        client2.succeed("[ $(consul kv get testkey) == 44 ]")
+        client2.succeed("consul kv delete testkey")
+  '';
+})
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index 38db64eb793..2c8e8fa5370 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -7,7 +7,7 @@ let
   containerIp6 = "fc00::2/7";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-bridge";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -61,43 +61,42 @@ import ./make-test.nix ({ pkgs, ...} : {
       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
-
-      # Check if bridges exist inside containers
-      $machine->succeed("nixos-container run webserver -- ip link show eth0");
-      $machine->succeed("nixos-container run web-noip -- ip link show eth0");
-
-      "${containerIp}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip = $1;
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $ip");
-      $machine->succeed("curl --fail http://$ip/ > /dev/null");
-
-      "${containerIp6}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip6 = $1;
-      chomp $ip6;
-      $machine->succeed("ping -n -c 1 $ip6");
-      $machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
-
-      # Check that nixos-container show-ip works in case of an ipv4 address with
-      # subnetmask in CIDR notation.
-      my $result = $machine->succeed("nixos-container show-ip webserver");
-      chomp $result;
-      $result eq $ip or die;
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
-      $machine->fail("curl --fail --connect-timeout 2 http://[$ip6]/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
+  testScript = ''
+    machine.wait_for_unit("default.target")
+    assert "webserver" in machine.succeed("nixos-container list")
+
+    with subtest("Start the webserver container"):
+        assert "up" in machine.succeed("nixos-container status webserver")
+
+    with subtest("Bridges exist inside containers"):
+        machine.succeed(
+            "nixos-container run webserver -- ip link show eth0",
+            "nixos-container run web-noip -- ip link show eth0",
+        )
+
+    ip = "${containerIp}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip}")
+    machine.succeed(f"curl --fail http://{ip}/ > /dev/null")
+
+    ip6 = "${containerIp6}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip6}")
+    machine.succeed(f"curl --fail http://[{ip6}]/ > /dev/null")
+
+    with subtest(
+        "nixos-container show-ip works in case of an ipv4 address "
+        + "with subnetmask in CIDR notation."
+    ):
+        result = machine.succeed("nixos-container show-ip webserver").rstrip()
+        assert result == ip
+
+    with subtest("Stop the container"):
+        machine.succeed("nixos-container stop webserver")
+        machine.fail(
+            f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null",
+            f"curl --fail --connect-timeout 2 http://[{ip6}]/ > /dev/null",
+        )
+
+    # Destroying a declarative container should fail.
+    machine.fail("nixos-container destroy webserver")
+  '';
 })
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
index 1ef8717d9a0..692554ac0ba 100644
--- a/nixos/tests/containers-ephemeral.nix
+++ b/nixos/tests/containers-ephemeral.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-ephemeral";
 
   machine = { pkgs, ... }: {
@@ -16,10 +16,10 @@ import ./make-test.nix ({ pkgs, ...} : {
         services.nginx = {
           enable = true;
           virtualHosts.localhost = {
-            root = (pkgs.runCommand "localhost" {} ''
+            root = pkgs.runCommand "localhost" {} ''
               mkdir "$out"
               echo hello world > "$out/index.html"
-            '');
+            '';
           };
         };
         networking.firewall.allowedTCPPorts = [ 80 ];
@@ -28,29 +28,27 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $machine->succeed("nixos-container list") =~ /webserver/ or die;
+    assert "webserver" in machine.succeed("nixos-container list")
 
-    # Start the webserver container.
-    $machine->succeed("nixos-container start webserver");
+    machine.succeed("nixos-container start webserver")
 
-    # Check that container got its own root folder
-    $machine->succeed("ls /run/containers/webserver");
+    with subtest("Container got its own root folder"):
+        machine.succeed("ls /run/containers/webserver")
 
-    # Check that container persistent directory is not created
-    $machine->fail("ls /var/lib/containers/webserver");
+    with subtest("Container persistent directory is not created"):
+        machine.fail("ls /var/lib/containers/webserver")
 
     # Since "start" returns after the container has reached
     # multi-user.target, we should now be able to access it.
-    my $ip = $machine->succeed("nixos-container show-ip webserver");
-    chomp $ip;
-    $machine->succeed("ping -n -c1 $ip");
-    $machine->succeed("curl --fail http://$ip/ > /dev/null");
+    ip = machine.succeed("nixos-container show-ip webserver").rstrip()
+    machine.succeed(f"ping -n -c1 {ip}")
+    machine.succeed(f"curl --fail http://{ip}/ > /dev/null")
 
-    # Stop the container.
-    $machine->succeed("nixos-container stop webserver");
-    $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
+    with subtest("Stop the container"):
+        machine.succeed("nixos-container stop webserver")
+        machine.fail(f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null")
 
-    # Check that container's root folder was removed
-    $machine->fail("ls /run/containers/webserver");
+    with subtest("Container's root folder was removed"):
+        machine.fail("ls /run/containers/webserver")
   '';
 })
diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix
index b3d3bce8757..7d30b3f76cd 100644
--- a/nixos/tests/containers-extra_veth.nix
+++ b/nixos/tests/containers-extra_veth.nix
@@ -1,7 +1,7 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-bridge";
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-extra_veth";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
   };
@@ -52,52 +52,43 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      machine.wait_for_unit("default.target")
+      assert "webserver" in machine.succeed("nixos-container list")
 
-      # Status of the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
+      with subtest("Status of the webserver container is up"):
+          assert "up" in machine.succeed("nixos-container status webserver")
 
-      # Debug
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
+      with subtest("Ensure that the veths are inside the container"):
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth1"
+          )
+          assert "state UP" in machine.succeed(
+              "nixos-container run webserver -- ip link show veth2"
+          )
 
-      # Ensure that the veths are inside the container
-      $machine->succeed("nixos-container run webserver -- ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("nixos-container run webserver -- ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ensure the presence of the extra veths"):
+          assert "state UP" in machine.succeed("ip link show veth1")
+          assert "state UP" in machine.succeed("ip link show veth2")
 
-      # Debug
-      #$machine->succeed("ip link >&2");
+      with subtest("Ensure the veth1 is part of br1 on the host"):
+          assert "master br1" in machine.succeed("ip link show veth1")
 
-      # Ensure the presence of the extra veths
-      $machine->succeed("ip link show veth1") =~ /state UP/ or die;
-      $machine->succeed("ip link show veth2") =~ /state UP/ or die;
+      with subtest("Ping on main veth"):
+          machine.succeed("ping -n -c 1 192.168.0.100")
+          machine.succeed("ping -n -c 1 fc00::2")
 
-      # Ensure the veth1 is part of br1 on the host
-      $machine->succeed("ip link show veth1") =~ /master br1/ or die;
+      with subtest("Ping on the first extra veth"):
+          machine.succeed("ping -n -c 1 192.168.1.100 >&2")
 
-      # Debug
-      #$machine->succeed("ip -4 a >&2");
-      #$machine->succeed("ip -4 r >&2");
-      #$machine->succeed("nixos-container run webserver -- ip link >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 a >&2");
-      #$machine->succeed("nixos-container run webserver -- ip -4 r >&2");
+      with subtest("Ping on the second extra veth"):
+          machine.succeed("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on main veth
-      $machine->succeed("ping -n -c 1 192.168.0.100");
-      $machine->succeed("ping -n -c 1 fc00::2");
+      with subtest("Container can be stopped"):
+          machine.succeed("nixos-container stop webserver")
+          machine.fail("ping -n -c 1 192.168.1.100 >&2")
+          machine.fail("ping -n -c 1 192.168.2.100 >&2")
 
-      # Ping on the first extra veth
-      $machine->succeed("ping -n -c 1 192.168.1.100 >&2");
-
-      # Ping on the second extra veth
-      $machine->succeed("ping -n -c 1 192.168.2.100 >&2");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("ping -n -c 1 192.168.1.100 >&2");
-      $machine->fail("ping -n -c 1 192.168.2.100 >&2");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      with subtest("Destroying a declarative container should fail"):
+          machine.fail("nixos-container destroy webserver")
     '';
 })
diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix
index 8cf298c6225..d6fb4a761ee 100644
--- a/nixos/tests/containers-hosts.nix
+++ b/nixos/tests/containers-hosts.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-hosts";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ montag451 ];
@@ -42,11 +42,11 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("default.target");
+    start_all()
+    machine.wait_for_unit("default.target")
 
-    # Ping the containers using the entries added in /etc/hosts
-    $machine->succeed("ping -n -c 1 simple.containers");
-    $machine->succeed("ping -n -c 1 netmask.containers");
+    with subtest("Ping the containers using the entries added in /etc/hosts"):
+        for host in "simple.containers", "netmask.containers":
+            machine.succeed(f"ping -n -c 1 {host}")
   '';
 })
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 2e7e4b2f1d6..61df74042cb 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-imperative";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -36,95 +36,99 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = let
-    tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
-      {
-        systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
-        systemd.services.foo = {
-          serviceConfig.Type = "oneshot";
-          script = "ls -al /foo";
-          wantedBy = [ "multi-user.target" ];
-        };
-      }
-    ''; in
-    ''
-      # Make sure we have a NixOS tree (required by ‘nixos-container create’).
-      $machine->succeed("PAGER=cat nix-env -qa -A nixos.hello >&2");
-
-      # Create some containers imperatively.
-      my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id1;
-      $machine->log("created container $id1");
-
-      my $id2 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id2;
-      $machine->log("created container $id2");
-
-      die if $id1 eq $id2;
-
-      # Put the root of $id2 into a bind mount.
-      $machine->succeed(
-        "mv /var/lib/containers/$id2 /id2-bindmount",
-        "mount --bind /id2-bindmount /var/lib/containers/$id1"
-      );
-
-      my $ip1 = $machine->succeed("nixos-container show-ip $id1");
-      chomp $ip1;
-      my $ip2 = $machine->succeed("nixos-container show-ip $id2");
-      chomp $ip2;
-      die if $ip1 eq $ip2;
-
-      # Create a directory and a file we can later check if it still exists
-      # after destruction of the container.
-      $machine->succeed(
-        "mkdir /nested-bindmount",
-        "echo important data > /nested-bindmount/dummy",
-      );
-
-      # Create a directory with a dummy file and bind-mount it into both
-      # containers.
-      foreach ($id1, $id2) {
-        my $importantPath = "/var/lib/containers/$_/very/important/data";
-        $machine->succeed(
-          "mkdir -p $importantPath",
-          "mount --bind /nested-bindmount $importantPath"
-        );
-      }
-
-      # Start one of them.
-      $machine->succeed("nixos-container start $id1");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Execute a nix command via the root shell. (regression test for #40355)
-      $machine->succeed("nixos-container run $id1 -- nix-instantiate -E 'derivation { name = \"empty\"; builder = \"false\"; system = \"false\"; }'");
-
-      # Stop and start (regression test for #4989)
-      $machine->succeed("nixos-container stop $id1");
-      $machine->succeed("nixos-container start $id1");
-
-      # Ensure tmpfiles are present
-      $machine->log("creating container tmpfiles");
-      $machine->succeed("nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}");
-      $machine->log("created, starting…");
-      $machine->succeed("nixos-container start tmpfiles");
-      $machine->log("done starting, investigating…");
-      $machine->succeed("echo \$(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;");
-      $machine->succeed("nixos-container destroy tmpfiles");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Destroy the containers.
-      $machine->succeed("nixos-container destroy $id1");
-      $machine->succeed("nixos-container destroy $id2");
-
-      $machine->succeed(
-        # Check whether destruction of any container has killed important data
-        "grep -qF 'important data' /nested-bindmount/dummy",
-        # Ensure that the container path is gone
-        "test ! -e /var/lib/containers/$id1"
-      );
+      tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
+        {
+          systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
+          systemd.services.foo = {
+            serviceConfig.Type = "oneshot";
+            script = "ls -al /foo";
+            wantedBy = [ "multi-user.target" ];
+          };
+        }
+      '';
+    in ''
+      with subtest("Make sure we have a NixOS tree (required by ‘nixos-container create’)"):
+          machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2")
+
+      id1, id2 = None, None
+
+      with subtest("Create some containers imperatively"):
+          id1 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id1}")
+
+          id2 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id2}")
+
+          assert id1 != id2
+
+      with subtest(f"Put the root of {id2} into a bind mount"):
+          machine.succeed(
+              f"mv /var/lib/containers/{id2} /id2-bindmount",
+              f"mount --bind /id2-bindmount /var/lib/containers/{id1}",
+          )
+
+          ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip()
+          ip2 = machine.succeed(f"nixos-container show-ip {id2}").rstrip()
+          assert ip1 != ip2
+
+      with subtest(
+          "Create a directory and a file we can later check if it still exists "
+          + "after destruction of the container"
+      ):
+          machine.succeed("mkdir /nested-bindmount")
+          machine.succeed("echo important data > /nested-bindmount/dummy")
+
+      with subtest(
+          "Create a directory with a dummy file and bind-mount it into both containers."
+      ):
+          for id in id1, id2:
+              important_path = f"/var/lib/containers/{id}/very/important/data"
+              machine.succeed(
+                  f"mkdir -p {important_path}",
+                  f"mount --bind /nested-bindmount {important_path}",
+              )
+
+      with subtest("Start one of them"):
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Execute a nix command via the root shell. (regression test for #40355)"):
+          machine.succeed(
+              f"nixos-container run {id1} -- nix-instantiate -E "
+              + '\'derivation { name = "empty"; builder = "false"; system = "false"; }\' '
+          )
+
+      with subtest("Stop and start (regression test for #4989)"):
+          machine.succeed(f"nixos-container stop {id1}")
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("tmpfiles are present"):
+          machine.log("creating container tmpfiles")
+          machine.succeed(
+              "nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}"
+          )
+          machine.log("created, starting…")
+          machine.succeed("nixos-container start tmpfiles")
+          machine.log("done starting, investigating…")
+          machine.succeed(
+              "echo $(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;"
+          )
+          machine.succeed("nixos-container destroy tmpfiles")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Destroy the containers"):
+          for id in id1, id2:
+              machine.succeed(f"nixos-container destroy {id}")
+
+      with subtest("Check whether destruction of any container has killed important data"):
+          machine.succeed("grep -qF 'important data' /nested-bindmount/dummy")
+
+      with subtest("Ensure that the container path is gone"):
+          print(machine.succeed("ls -lsa /var/lib/containers"))
+          machine.succeed(f"test ! -e /var/lib/containers/{id1}")
     '';
-
 })
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
new file mode 100644
index 00000000000..8583a08c625
--- /dev/null
+++ b/nixos/tests/containers-ip.nix
@@ -0,0 +1,77 @@
+# Test for NixOS' container support.
+
+let
+  webserverFor = hostAddress: localAddress: {
+    inherit hostAddress localAddress;
+    privateNetwork = true;
+    config = {
+      services.httpd = {
+        enable = true;
+        adminAddr = "foo@example.org";
+      };
+      networking.firewall.allowedTCPPorts = [ 80 ];
+    };
+  };
+
+in import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-ipv4-ipv6";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  };
+
+  machine =
+    { pkgs, ... }: {
+      imports = [ ../modules/installer/cd-dvd/channel.nix ];
+      virtualisation = {
+        writableStore = true;
+        memorySize = 768;
+      };
+
+      containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2";
+      containers.webserver6 = webserverFor "fc00::2" "fc00::1";
+      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
+    };
+
+  testScript = { nodes, ... }: ''
+    import time
+
+
+    def curl_host(ip):
+        # put [] around ipv6 addresses for curl
+        host = ip if ":" not in ip else f"[{ip}]"
+        return f"curl --fail --connect-timeout 2 http://{host}/ > /dev/null"
+
+
+    def get_ip(container):
+        # need to distinguish because show-ip won't work for ipv6
+        if container == "webserver4":
+            ip = machine.succeed(f"nixos-container show-ip {container}").rstrip()
+            assert ip == "${nodes.machine.config.containers.webserver4.localAddress}"
+            return ip
+        return "${nodes.machine.config.containers.webserver6.localAddress}"
+
+
+    for container in "webserver4", "webserver6":
+        assert container in machine.succeed("nixos-container list")
+
+        with subtest(f"Start container {container}"):
+            machine.succeed(f"nixos-container start {container}")
+            # wait 2s for container to start and network to be up
+            time.sleep(2)
+
+        # Since "start" returns after the container has reached
+        # multi-user.target, we should now be able to access it.
+
+        ip = get_ip(container)
+        with subtest(f"{container} reacts to pings and HTTP requests"):
+            machine.succeed(f"ping -n -c1 {ip}")
+            machine.succeed(curl_host(ip))
+
+        with subtest(f"Stop container {container}"):
+            machine.succeed(f"nixos-container stop {container}")
+            machine.fail(curl_host(ip))
+
+        # Destroying a declarative container should fail.
+        machine.fail(f"nixos-container destroy {container}")
+  '';
+})
diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix
deleted file mode 100644
index ace68ff2df8..00000000000
--- a/nixos/tests/containers-ipv4.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-# Test for NixOS' container support.
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv4";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress = "10.231.136.1";
-          localAddress = "10.231.136.2";
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-              system.stateVersion = "18.03";
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = $machine->succeed("nixos-container show-ip webserver");
-      chomp $ip;
-      $machine->succeed("ping -n -c1 $ip");
-      $machine->succeed("curl --fail http://$ip/ > /dev/null");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/containers-ipv6.nix b/nixos/tests/containers-ipv6.nix
deleted file mode 100644
index a9499d192bd..00000000000
--- a/nixos/tests/containers-ipv6.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-# Test for NixOS' container support.
-
-let
-  hostIp = "fc00::2";
-  localIp = "fc00::1";
-in
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv6";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress6 = hostIp;
-          localAddress6 = localIp;
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = "${localIp}";
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $ip");
-      $machine->succeed("curl --fail http://[$ip]/ > /dev/null");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://[$ip]/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/containers-macvlans.nix b/nixos/tests/containers-macvlans.nix
index 2bdb926a8e2..0e8f67bc76f 100644
--- a/nixos/tests/containers-macvlans.nix
+++ b/nixos/tests/containers-macvlans.nix
@@ -6,7 +6,7 @@ let
   containerIp2 = "192.168.1.254";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-macvlans";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ montag451 ];
@@ -64,19 +64,23 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $machine1->waitForUnit("default.target");
-    $machine2->waitForUnit("default.target");
+    start_all()
+    machine1.wait_for_unit("default.target")
+    machine2.wait_for_unit("default.target")
 
-    # Ping between containers to check that macvlans are created in bridge mode
-    $machine1->succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping between containers to check that macvlans are created in bridge mode"
+    ):
+        machine1.succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the host (machine1)
-    $machine1->succeed("ping -n -c 1 ${containerIp1}");
-    $machine1->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest("Ping containers from the host (machine1)"):
+        machine1.succeed("ping -n -c 1 ${containerIp1}")
+        machine1.succeed("ping -n -c 1 ${containerIp2}")
 
-    # Ping containers from the second machine to check that containers are reachable from the outside
-    $machine2->succeed("ping -n -c 1 ${containerIp1}");
-    $machine2->succeed("ping -n -c 1 ${containerIp2}");
+    with subtest(
+        "Ping containers from the second machine to check that containers are reachable from the outside"
+    ):
+        machine2.succeed("ping -n -c 1 ${containerIp1}")
+        machine2.succeed("ping -n -c 1 ${containerIp2}")
   '';
 })
diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix
index 1e312f59f43..e800751a23c 100644
--- a/nixos/tests/containers-physical_interfaces.nix
+++ b/nixos/tests/containers-physical_interfaces.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-physical_interfaces";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampfschlaefer ];
@@ -86,48 +86,51 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    subtest "prepare server", sub {
-      $server->waitForUnit("default.target");
-      $server->succeed("ip link show dev eth1 >&2");
-    };
-
-    subtest "simple physical interface", sub {
-      $server->succeed("nixos-container start server");
-      $server->waitForUnit("container\@server");
-      $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2");
-
-      # The other tests will ping this container on its ip. Here we just check
-      # that the device is present in the container.
-      $server->succeed("nixos-container run server -- ip a show dev eth1 >&2");
-    };
-
-    subtest "physical device in bridge in container", sub {
-      $bridged->waitForUnit("default.target");
-      $bridged->succeed("nixos-container start bridged");
-      $bridged->waitForUnit("container\@bridged");
-      $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2");
-      $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service");
-      $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in container", sub {
-      $bonded->waitForUnit("default.target");
-      $bonded->succeed("nixos-container start bonded");
-      $bonded->waitForUnit("container\@bonded");
-      $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2");
-      $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2");
-      $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
-
-    subtest "physical device in bond in bridge in container", sub {
-      $bridgedbond->waitForUnit("default.target");
-      $bridgedbond->succeed("nixos-container start bridgedbond");
-      $bridgedbond->waitForUnit("container\@bridgedbond");
-      $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2");
-      $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service");
-      $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1");
-    };
+    start_all()
+
+    with subtest("Prepare server"):
+        server.wait_for_unit("default.target")
+        server.succeed("ip link show dev eth1 >&2")
+
+    with subtest("Simple physical interface is up"):
+        server.succeed("nixos-container start server")
+        server.wait_for_unit("container@server")
+        server.succeed(
+            "systemctl -M server list-dependencies network-addresses-eth1.service >&2"
+        )
+
+        # The other tests will ping this container on its ip. Here we just check
+        # that the device is present in the container.
+        server.succeed("nixos-container run server -- ip a show dev eth1 >&2")
+
+    with subtest("Physical device in bridge in container can ping server"):
+        bridged.wait_for_unit("default.target")
+        bridged.succeed("nixos-container start bridged")
+        bridged.wait_for_unit("container@bridged")
+        bridged.succeed(
+            "systemctl -M bridged list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridged status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in container can ping server"):
+        bonded.wait_for_unit("default.target")
+        bonded.succeed("nixos-container start bonded")
+        bonded.wait_for_unit("container@bonded")
+        bonded.succeed(
+            "systemctl -M bonded list-dependencies network-addresses-bond0 >&2",
+            "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2",
+            "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
+
+    with subtest("Physical device in bond in bridge in container can ping server"):
+        bridgedbond.wait_for_unit("default.target")
+        bridgedbond.succeed("nixos-container start bridgedbond")
+        bridgedbond.wait_for_unit("container@bridgedbond")
+        bridgedbond.succeed(
+            "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2",
+            "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service",
+            "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1",
+        )
   '';
 })
diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix
index ec8e9629c21..fc90e151bd9 100644
--- a/nixos/tests/containers-portforward.nix
+++ b/nixos/tests/containers-portforward.nix
@@ -7,7 +7,7 @@ let
   containerPort = 80;
 in 
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-portforward";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ];
@@ -36,27 +36,27 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
+      container_list = machine.succeed("nixos-container list")
+      assert "webserver" in container_list
 
       # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
+      machine.succeed("nixos-container start webserver")
 
       # wait two seconds for the container to start and the network to be up
-      sleep 2;
+      machine.sleep(2)
 
       # Since "start" returns after the container has reached
       # multi-user.target, we should now be able to access it.
-      #my $ip = $machine->succeed("nixos-container show-ip webserver");
-      #chomp $ip;
-      $machine->succeed("ping -n -c1 ${hostIp}");
-      $machine->succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null");
+      # ip = machine.succeed("nixos-container show-ip webserver").strip()
+      machine.succeed("ping -n -c1 ${hostIp}")
+      machine.succeed("curl --fail http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null");
+      machine.succeed("nixos-container stop webserver")
+      machine.fail("curl --fail --connect-timeout 2 http://${hostIp}:${toString hostPort}/ > /dev/null")
 
       # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
+      machine.fail("nixos-container destroy webserver")
     '';
 
 })
diff --git a/nixos/tests/containers-reloadable.nix b/nixos/tests/containers-reloadable.nix
index f41dea91b1e..35aff91e85b 100644
--- a/nixos/tests/containers-reloadable.nix
+++ b/nixos/tests/containers-reloadable.nix
@@ -1,7 +1,7 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 let
   client_base = {
-    
+
     containers.test1 = {
       autoStart = true;
       config = {
@@ -48,18 +48,25 @@ in {
     c1System = nodes.client_c1.config.system.build.toplevel;
     c2System = nodes.client_c2.config.system.build.toplevel;
   in ''
-    $client->start();
-    $client->waitForUnit("default.target");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_base ]] >&2");
+    client.start()
+    client.wait_for_unit("default.target")
+
+    assert "client_base" in client.succeed("nixos-container run test1 cat /etc/check")
 
-    $client->succeed("${c1System}/bin/switch-to-configuration test >&2");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2");
-    $client->succeed("systemctl status httpd -M test1 >&2");
+    with subtest("httpd is available after activating config1"):
+        client.succeed(
+            "${c1System}/bin/switch-to-configuration test >&2",
+            "[[ $(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2",
+            "systemctl status httpd -M test1 >&2",
+        )
 
-    $client->succeed("${c2System}/bin/switch-to-configuration test >&2");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2");
-    $client->fail("systemctl status httpd -M test1 >&2");
-    $client->succeed("systemctl status nginx -M test1 >&2");
+    with subtest("httpd is not available any longer after switching to config2"):
+        client.succeed(
+            "${c2System}/bin/switch-to-configuration test >&2",
+            "[[ $(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2",
+            "systemctl status nginx -M test1 >&2",
+        )
+        client.fail("systemctl status httpd -M test1 >&2")
   '';
 
 })
diff --git a/nixos/tests/containers-restart_networking.nix b/nixos/tests/containers-restart_networking.nix
index df15f5b2f45..b50dadd13e4 100644
--- a/nixos/tests/containers-restart_networking.nix
+++ b/nixos/tests/containers-restart_networking.nix
@@ -16,7 +16,7 @@ let
       };
     };
   };
-in import ./make-test.nix ({ pkgs, ...} :
+in import ./make-test-python.nix ({ pkgs, ...} :
 {
   name = "containers-restart_networking";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -64,50 +64,52 @@ in import ./make-test.nix ({ pkgs, ...} :
     eth1_bridged = nodes.client_eth1.config.system.build.toplevel;
     eth1_rstp = nodes.client_eth1_rstp.config.system.build.toplevel;
   in ''
-    $client->start();
-
-    $client->waitForUnit("default.target");
-
-    subtest "initial state", sub {
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    subtest "interfaces without stp", sub {
-      $client->succeed("${eth1_bridged}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-
-      $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-      $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    };
-
-    # activating rstp needs another service, therefor the bridge will restart and the container will loose its connectivity
-    #subtest "interfaces with rstp", sub {
-    #  $client->succeed("${eth1_rstp}/bin/switch-to-configuration test >&2");
-    #  $client->execute("ip -4 a >&2");
-    #  $client->execute("ip l >&2");
+    client.start()
+
+    client.wait_for_unit("default.target")
+
+    with subtest("Initial configuration connectivity check"):
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
+
+    with subtest("Bridged configuration without STP preserves connectivity"):
+        client.succeed(
+            "${eth1_bridged}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed(
+            "ping 192.168.1.122 -c 1 -n >&2",
+            "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+            "ip l show eth1 |grep 'master br0' >&2",
+            "grep eth1 /run/br0.interfaces >&2",
+        )
+
+    #  activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity
+    # with subtest("Bridged configuration with STP"):
+    #     client.succeed("${eth1_rstp}/bin/switch-to-configuration test >&2")
+    #     client.execute("ip -4 a >&2")
+    #     client.execute("ip l >&2")
     #
-    #  $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-    #  $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2");
-    #
-    #  $client->succeed("ip l show eth1 |grep \"master br0\" >&2");
-    #  $client->succeed("grep eth1 /run/br0.interfaces >&2");
-    #};
-
-    subtest "back to no interfaces and no stp", sub {
-      $client->succeed("${originalSystem}/bin/switch-to-configuration test >&2");
-
-      $client->succeed("ping 192.168.1.122 -c 1 -n >&2");
-      $client->succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2");
-
-      $client->fail("ip l show eth1 |grep \"master br0\" >&2");
-      $client->fail("grep eth1 /run/br0.interfaces >&2");
-    };
+    #     client.succeed(
+    #         "ping 192.168.1.122 -c 1 -n >&2",
+    #         "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
+    #         "ip l show eth1 |grep 'master br0' >&2",
+    #         "grep eth1 /run/br0.interfaces >&2",
+    #     )
+
+    with subtest("Reverting to initial configuration preserves connectivity"):
+        client.succeed(
+            "${originalSystem}/bin/switch-to-configuration test >&2"
+        )
+
+        client.succeed("ping 192.168.1.122 -c 1 -n >&2")
+        client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2")
+
+        client.fail("ip l show eth1 |grep 'master br0' >&2")
+        client.fail("grep eth1 /run/br0.interfaces >&2")
   '';
 
 })
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index e29fe6bbf03..171e8f01c7b 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-tmpfs";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampka ];
@@ -31,49 +31,63 @@ import ./make-test.nix ({ pkgs, ...} : {
       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /tmpfs/ or die;
-
-      # Start the tmpfs container.
-      #$machine->succeed("nixos-container status tmpfs") =~ /up/ or die;
-
-      # Verify that /var is mounted as a tmpfs
-      #$machine->succeed("nixos-container run tmpfs -- systemctl status var.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var 2>/dev/null");
-
-      # Verify that /var/log is mounted as a tmpfs
-      $machine->succeed("nixos-container run tmpfs -- systemctl status var-log.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var/log 2>/dev/null");
-
-      # Verify that /some/random/path is mounted as a tmpfs
-      $machine->succeed("nixos-container run tmpfs -- systemctl status some-random-path.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /some/random/path 2>/dev/null");
-
-      # Verify that files created in the container in a non-tmpfs directory are visible on the host.
-      # This establishes legitimacy for the following tests
-      $machine->succeed("nixos-container run tmpfs -- touch /root/test.file 2>/dev/null");
-      $machine->succeed("nixos-container run tmpfs -- ls -l  /root | grep -q test.file 2>/dev/null");
-      $machine->succeed("test -e /var/lib/containers/tmpfs/root/test.file");
-
-
-      # Verify that /some/random/path is writable and that files created there
-      # are not in the hosts container dir but in the tmpfs
-      $machine->succeed("nixos-container run tmpfs -- touch /some/random/path/test.file 2>/dev/null");
-      $machine->succeed("nixos-container run tmpfs -- test -e /some/random/path/test.file 2>/dev/null");
-
-      $machine->fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file");
-
-      # Verify that files created in the hosts container dir in a path where a tmpfs file system has been mounted
-      # are not visible to the container as the do not exist in the tmpfs
-      $machine->succeed("touch /var/lib/containers/tmpfs/var/test.file");
-
-      $machine->succeed("test -e /var/lib/containers/tmpfs/var/test.file");
-      $machine->succeed("ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null");
-
-      $machine->fail("nixos-container run tmpfs -- ls -l /var | grep -q test.file 2>/dev/null");
-
+  testScript = ''
+      machine.wait_for_unit("default.target")
+      assert "tmpfs" in machine.succeed("nixos-container list")
+
+      with subtest("tmpfs container is up"):
+          assert "up" in machine.succeed("nixos-container status tmpfs")
+
+
+      def tmpfs_cmd(command):
+          return f"nixos-container run tmpfs -- {command} 2>/dev/null"
+
+
+      with subtest("/var is mounted as a tmpfs"):
+          machine.succeed(tmpfs_cmd("mountpoint -q /var"))
+
+      with subtest("/var/log is mounted as a tmpfs"):
+          assert "What: tmpfs" in machine.succeed(
+              tmpfs_cmd("systemctl status var-log.mount --no-pager")
+          )
+          machine.succeed(tmpfs_cmd("mountpoint -q /var/log"))
+
+      with subtest("/some/random/path is mounted as a tmpfs"):
+          assert "What: tmpfs" in machine.succeed(
+              tmpfs_cmd("systemctl status some-random-path.mount --no-pager")
+          )
+          machine.succeed(tmpfs_cmd("mountpoint -q /some/random/path"))
+
+      with subtest(
+          "files created in the container in a non-tmpfs directory are visible on the host."
+      ):
+          # This establishes legitimacy for the following tests
+          machine.succeed(
+              tmpfs_cmd("touch /root/test.file"),
+              tmpfs_cmd("ls -l  /root | grep -q test.file"),
+              "test -e /var/lib/containers/tmpfs/root/test.file",
+          )
+
+      with subtest(
+          "/some/random/path is writable and that files created there are not "
+          + "in the hosts container dir but in the tmpfs"
+      ):
+          machine.succeed(
+              tmpfs_cmd("touch /some/random/path/test.file"),
+              tmpfs_cmd("test -e /some/random/path/test.file"),
+          )
+          machine.fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file")
+
+      with subtest(
+          "files created in the hosts container dir in a path where a tmpfs "
+          + "file system has been mounted are not visible to the container as "
+          + "the do not exist in the tmpfs"
+      ):
+          machine.succeed(
+              "touch /var/lib/containers/tmpfs/var/test.file",
+              "test -e /var/lib/containers/tmpfs/var/test.file",
+              "ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null",
+          )
+          machine.fail(tmpfs_cmd("ls -l /var | grep -q test.file"))
     '';
-
 })
diff --git a/nixos/tests/couchdb.nix b/nixos/tests/couchdb.nix
index 48ea48eebbb..10e95701acd 100644
--- a/nixos/tests/couchdb.nix
+++ b/nixos/tests/couchdb.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...}:
+import ./make-test-python.nix ({ pkgs, lib, ...}:
 
 with lib;
 
@@ -35,22 +35,42 @@ with lib;
         fi
       '';
   in ''
-    startAll;
-
-    $couchdb1->waitForUnit("couchdb.service");
-    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
-    $couchdb1->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
-    $couchdb1->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
-    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "3"}");
-    $couchdb1->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
-    $couchdb1->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "2"}");
-
-    $couchdb2->waitForUnit("couchdb.service");
-    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "" ".couchdb" "Welcome"}");
-    $couchdb2->waitUntilSucceeds("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
-    $couchdb2->succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}");
-    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "1"}");
-    $couchdb2->succeed("${curlJqCheck "DELETE" "foo" ".ok" "true"}");
-    $couchdb2->succeed("${curlJqCheck "GET" "_all_dbs" ". | length" "0"}");
+    start_all()
+
+    couchdb1.wait_for_unit("couchdb.service")
+    couchdb1.wait_until_succeeds(
+        "${curlJqCheck "GET" "" ".couchdb" "Welcome"}"
+    )
+    couchdb1.wait_until_succeeds(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "2"}"
+    )
+    couchdb1.succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}")
+    couchdb1.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "3"}"
+    )
+    couchdb1.succeed(
+        "${curlJqCheck "DELETE" "foo" ".ok" "true"}"
+    )
+    couchdb1.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "2"}"
+    )
+
+    couchdb2.wait_for_unit("couchdb.service")
+    couchdb2.wait_until_succeeds(
+        "${curlJqCheck "GET" "" ".couchdb" "Welcome"}"
+    )
+    couchdb2.wait_until_succeeds(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "0"}"
+    )
+    couchdb2.succeed("${curlJqCheck "PUT" "foo" ".ok" "true"}")
+    couchdb2.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "1"}"
+    )
+    couchdb2.succeed(
+        "${curlJqCheck "DELETE" "foo" ".ok" "true"}"
+    )
+    couchdb2.succeed(
+        "${curlJqCheck "GET" "_all_dbs" ". | length" "0"}"
+    )
   '';
 })
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
index b58030409b5..37689c3d913 100644
--- a/nixos/tests/deluge.nix
+++ b/nixos/tests/deluge.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "deluge";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ flokli ];
@@ -45,18 +45,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $simple->waitForUnit("deluged");
-    $simple->waitForUnit("delugeweb");
-    $simple->waitForOpenPort("8112");
-    $declarative->waitForUnit("network.target");
-    $declarative->waitUntilSucceeds("curl --fail http://simple:8112");
+    simple.wait_for_unit("deluged")
+    simple.wait_for_unit("delugeweb")
+    simple.wait_for_open_port("8112")
+    declarative.wait_for_unit("network.target")
+    declarative.wait_until_succeeds("curl --fail http://simple:8112")
 
-    $declarative->waitForUnit("deluged");
-    $declarative->waitForUnit("delugeweb");
-    $declarative->waitUntilSucceeds("curl --fail http://declarative:3142");
-    $declarative->succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'");
-    $declarative->succeed("deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'");
+    declarative.wait_for_unit("deluged")
+    declarative.wait_for_unit("delugeweb")
+    declarative.wait_until_succeeds("curl --fail http://declarative:3142")
+    declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'")
+    declarative.succeed(
+        "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"
+    )
   '';
 })
diff --git a/nixos/tests/dhparams.nix b/nixos/tests/dhparams.nix
index d11dfeec5d0..a0de2911777 100644
--- a/nixos/tests/dhparams.nix
+++ b/nixos/tests/dhparams.nix
@@ -4,7 +4,7 @@ let
     environment.systemPackages = [ pkgs.openssl ];
   };
 
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "dhparams";
 
   nodes.generation1 = { pkgs, config, ... }: {
@@ -66,79 +66,77 @@ in import ./make-test.nix {
       node = "generation${toString gen}";
     in nodes.${node}.config.security.dhparams.params.${name}.path;
 
-    assertParamBits = gen: name: bits: let
-      path = getParamPath gen name;
-    in ''
-      $machine->nest('check bit size of ${path}', sub {
-        my $out = $machine->succeed('openssl dhparam -in ${path} -text');
-        $out =~ /^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$/m;
-        die "bit size should be ${toString bits} but it is $1 instead."
-          if $1 != ${toString bits};
-      });
-    '';
-
     switchToGeneration = gen: let
       node = "generation${toString gen}";
       inherit (nodes.${node}.config.system.build) toplevel;
       switchCmd = "${toplevel}/bin/switch-to-configuration test";
     in ''
-      $machine->nest('switch to generation ${toString gen}', sub {
-        $machine->succeed('${switchCmd}');
-        $main::machine = ''$${node};
-      });
+      with machine.nested("switch to generation ${toString gen}"):
+          machine.succeed(
+              "${switchCmd}"
+          )
+          machine = ${node}
     '';
 
   in ''
-    my $machine = $generation1;
+    import re
 
-    $machine->waitForUnit('multi-user.target');
 
-    subtest "verify startup order", sub {
-      $machine->succeed('systemctl is-active foo.service');
-    };
+    def assert_param_bits(path, bits):
+        with machine.nested(f"check bit size of {path}"):
+            output = machine.succeed(f"openssl dhparam -in {path} -text")
+            pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M)
+            match = pattern.match(output)
+            if match is None:
+                raise Exception("bla")
+            if match[1] != str(bits):
+                raise Exception(f"bit size should be {bits} but it is {match[1]} instead.")
 
-    subtest "check bit sizes of dhparam files", sub {
-      ${assertParamBits 1 "foo" 16}
-      ${assertParamBits 1 "bar" 17}
-    };
+
+    machine = generation1
+
+    machine.wait_for_unit("multi-user.target")
+
+    with subtest("verify startup order"):
+        machine.succeed("systemctl is-active foo.service")
+
+    with subtest("check bit sizes of dhparam files"):
+        assert_param_bits("${getParamPath 1 "foo"}", 16)
+        assert_param_bits("${getParamPath 1 "bar"}", 17)
 
     ${switchToGeneration 2}
 
-    subtest "check whether bit size has changed", sub {
-      ${assertParamBits 2 "foo" 18}
-    };
+    with subtest("check whether bit size has changed"):
+        assert_param_bits("${getParamPath 2 "foo"}", 18)
 
-    subtest "ensure that dhparams file for 'bar' was deleted", sub {
-      $machine->fail('test -e ${getParamPath 1 "bar"}');
-    };
+    with subtest("ensure that dhparams file for 'bar' was deleted"):
+        machine.fail("test -e ${getParamPath 1 "bar"}")
 
     ${switchToGeneration 3}
 
-    subtest "ensure that 'security.dhparams.path' has been deleted", sub {
-      $machine->fail(
-        'test -e ${nodes.generation3.config.security.dhparams.path}'
-      );
-    };
+    with subtest("ensure that 'security.dhparams.path' has been deleted"):
+        machine.fail("test -e ${nodes.generation3.config.security.dhparams.path}")
 
     ${switchToGeneration 4}
 
-    subtest "check bit sizes dhparam files", sub {
-      ${assertParamBits 4 "foo2" 18}
-      ${assertParamBits 4 "bar2" 19}
-    };
+    with subtest("check bit sizes dhparam files"):
+        assert_param_bits(
+            "${getParamPath 4 "foo2"}", 18
+        )
+        assert_param_bits(
+            "${getParamPath 4 "bar2"}", 19
+        )
 
-    subtest "check whether dhparam files are in the Nix store", sub {
-      $machine->succeed(
-        'expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}',
-        'expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}',
-      );
-    };
+    with subtest("check whether dhparam files are in the Nix store"):
+        machine.succeed(
+            "expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}",
+            "expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}",
+        )
 
     ${switchToGeneration 5}
 
-    subtest "check whether defaultBitSize works as intended", sub {
-      ${assertParamBits 5 "foo3" 30}
-      ${assertParamBits 5 "bar3" 30}
-    };
+    with subtest("check whether defaultBitSize works as intended"):
+        assert_param_bits("${getParamPath 5 "foo3"}", 30)
+        assert_param_bits("${getParamPath 5 "bar3"}", 30)
   '';
 }
diff --git a/nixos/tests/dnscrypt-proxy.nix b/nixos/tests/dnscrypt-proxy.nix
index 13bc9d3d916..98153d5c904 100644
--- a/nixos/tests/dnscrypt-proxy.nix
+++ b/nixos/tests/dnscrypt-proxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "dnscrypt-proxy";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ joachifm ];
@@ -23,11 +23,13 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $client->waitForUnit("dnsmasq");
+    client.wait_for_unit("dnsmasq")
 
     # The daemon is socket activated; sending a single ping should activate it.
-    $client->fail("systemctl is-active dnscrypt-proxy");
-    $client->execute("${pkgs.iputils}/bin/ping -c1 example.com");
-    $client->waitUntilSucceeds("systemctl is-active dnscrypt-proxy");
+    client.fail("systemctl is-active dnscrypt-proxy")
+    client.execute(
+        "${pkgs.iputils}/bin/ping -c1 example.com"
+    )
+    client.wait_until_succeeds("systemctl is-active dnscrypt-proxy")
   '';
 })
diff --git a/nixos/tests/docker-edge.nix b/nixos/tests/docker-edge.nix
index b306c149be9..96de885a554 100644
--- a/nixos/tests/docker-edge.nix
+++ b/nixos/tests/docker-edge.nix
@@ -1,6 +1,6 @@
 # This test runs docker and checks if simple container starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus offline ];
@@ -31,17 +31,19 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $docker->waitForUnit("sockets.target");
-    $docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
-    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
-    $docker->succeed("docker ps | grep sleeping");
-    $docker->succeed("sudo -u hasprivs docker ps");
-    $docker->fail("sudo -u noprivs docker ps");
-    $docker->succeed("docker stop sleeping");
+    docker.wait_for_unit("sockets.target")
+    docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    docker.succeed(
+        "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    docker.succeed("docker ps | grep sleeping")
+    docker.succeed("sudo -u hasprivs docker ps")
+    docker.fail("sudo -u noprivs docker ps")
+    docker.succeed("docker stop sleeping")
 
     # Must match version twice to ensure client and server versions are correct
-    $docker->succeed('[ $(docker version | grep ${pkgs.docker-edge.version} | wc -l) = "2" ]');
+    docker.succeed('[ $(docker version | grep ${pkgs.docker-edge.version} | wc -l) = "2" ]')
   '';
 })
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
index 8936421072a..2928fd8141a 100644
--- a/nixos/tests/docker-registry.nix
+++ b/nixos/tests/docker-registry.nix
@@ -1,6 +1,6 @@
 # This test runs docker-registry and check if it works
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker-registry";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ma27 ironpinguin ];
@@ -28,36 +28,34 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $client1->start();
-    $client1->waitForUnit("docker.service");
-    $client1->succeed("tar cv --files-from /dev/null | docker import - scratch");
-    $client1->succeed("docker tag scratch registry:8080/scratch");
-
-    $registry->start();
-    $registry->waitForUnit("docker-registry.service");
-    $registry->waitForOpenPort("8080");
-    $client1->succeed("docker push registry:8080/scratch");
-
-    $client2->start();
-    $client2->waitForUnit("docker.service");
-    $client2->succeed("docker pull registry:8080/scratch");
-    $client2->succeed("docker images | grep scratch");
-
-    $client2->succeed(
-      'curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H"Accept: application/vnd.docker.distribution.manifest.v2+json" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e \'s/Docker-Content-Digest: //\' | tr -d \'\r\')'
-    );
-
-    $registry->systemctl("start docker-registry-garbage-collect.service");
-    $registry->waitUntilFails("systemctl status docker-registry-garbage-collect.service");
-    $registry->waitForUnit("docker-registry.service");
-
-    $registry->fail(
-      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
-    );
-
-    $client1->succeed("docker push registry:8080/scratch");
-    $registry->succeed(
-      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
-    );
+    client1.start()
+    client1.wait_for_unit("docker.service")
+    client1.succeed("tar cv --files-from /dev/null | docker import - scratch")
+    client1.succeed("docker tag scratch registry:8080/scratch")
+
+    registry.start()
+    registry.wait_for_unit("docker-registry.service")
+    registry.wait_for_open_port("8080")
+    client1.succeed("docker push registry:8080/scratch")
+
+    client2.start()
+    client2.wait_for_unit("docker.service")
+    client2.succeed("docker pull registry:8080/scratch")
+    client2.succeed("docker images | grep scratch")
+
+    client2.succeed(
+        "curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H\"Accept: application/vnd.docker.distribution.manifest.v2+json\" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e 's/Docker-Content-Digest: //' | tr -d '\\r')"
+    )
+
+    registry.systemctl("start docker-registry-garbage-collect.service")
+    registry.wait_until_fails("systemctl status docker-registry-garbage-collect.service")
+    registry.wait_for_unit("docker-registry.service")
+
+    registry.fail("ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data")
+
+    client1.succeed("docker push registry:8080/scratch")
+    registry.succeed(
+        "ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data"
+    )
   '';
 })
diff --git a/nixos/tests/docker-tools-overlay.nix b/nixos/tests/docker-tools-overlay.nix
index 637957bd3e8..1a0e0ea6775 100644
--- a/nixos/tests/docker-tools-overlay.nix
+++ b/nixos/tests/docker-tools-overlay.nix
@@ -1,6 +1,6 @@
 # this test creates a simple GNU image with docker tools and sees if it executes
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "docker-tools-overlay";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -16,17 +16,18 @@ import ./make-test.nix ({ pkgs, ... }:
       };
   };
 
-  testScript =
-    ''
-      $docker->waitForUnit("sockets.target");
+  testScript = ''
+      docker.wait_for_unit("sockets.target")
 
-      $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
-      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed(
+          "docker load --input='${pkgs.dockerTools.examples.bash}'",
+          "docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version",
+      )
 
       # Check if the nix store has correct user permissions depending on what
       # storage driver is used, incorrectly built images can show up as readonly.
       # drw-------  3 0 0   3 Apr 14 11:36 /nix
       # drw------- 99 0 0 100 Apr 14 11:36 /nix/store
-      $docker->succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version")
     '';
 })
diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix
index d67b2f8743d..8fda7c1395e 100644
--- a/nixos/tests/docker.nix
+++ b/nixos/tests/docker.nix
@@ -1,6 +1,6 @@
 # This test runs docker and checks if simple container starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus offline ];
@@ -31,17 +31,19 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $docker->waitForUnit("sockets.target");
-    $docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
-    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
-    $docker->succeed("docker ps | grep sleeping");
-    $docker->succeed("sudo -u hasprivs docker ps");
-    $docker->fail("sudo -u noprivs docker ps");
-    $docker->succeed("docker stop sleeping");
+    docker.wait_for_unit("sockets.target")
+    docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    docker.succeed(
+        "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    docker.succeed("docker ps | grep sleeping")
+    docker.succeed("sudo -u hasprivs docker ps")
+    docker.fail("sudo -u noprivs docker ps")
+    docker.succeed("docker stop sleeping")
 
     # Must match version twice to ensure client and server versions are correct
-    $docker->succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "2" ]');
+    docker.succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "2" ]')
   '';
 })
diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix
index 8b852a4f779..3be20a780d3 100644
--- a/nixos/tests/documize.nix
+++ b/nixos/tests/documize.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "documize";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 ];
@@ -29,30 +29,34 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    $machine->waitForUnit("documize-server.service");
-    $machine->waitForOpenPort(3000);
-
-    my $dbhash = $machine->succeed("curl -f localhost:3000 "
-                                  . " | grep 'property=\"dbhash' "
-                                  . " | grep -Po 'content=\"\\K[^\"]*'"
-                                  );
-
-    chomp($dbhash);
-
-    $machine->succeed("curl -X POST "
-                      . "--data 'dbname=documize' "
-                      . "--data 'dbhash=$dbhash' "
-                      . "--data 'title=NixOS' "
-                      . "--data 'message=Docs' "
-                      . "--data 'firstname=John' "
-                      . "--data 'lastname=Doe' "
-                      . "--data 'email=john.doe\@nixos.org' "
-                      . "--data 'password=verysafe' "
-                      . "-f localhost:3000/api/setup"
-                    );
-
-    $machine->succeed('test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"');
+    start_all()
+
+    machine.wait_for_unit("documize-server.service")
+    machine.wait_for_open_port(3000)
+
+    dbhash = machine.succeed(
+        "curl -f localhost:3000 | grep 'property=\"dbhash' | grep -Po 'content=\"\\K[^\"]*'"
+    )
+
+    dbhash = dbhash.strip()
+
+    machine.succeed(
+        (
+            "curl -X POST"
+            " --data 'dbname=documize'"
+            " --data 'dbhash={}'"
+            " --data 'title=NixOS'"
+            " --data 'message=Docs'"
+            " --data 'firstname=John'"
+            " --data 'lastname=Doe'"
+            " --data 'email=john.doe@nixos.org'"
+            " --data 'password=verysafe'"
+            " -f localhost:3000/api/setup"
+        ).format(dbhash)
+    )
+
+    machine.succeed(
+        'test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"'
+    )
   '';
 })
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix
index 156079d1d58..c19850f418b 100644
--- a/nixos/tests/dovecot.nix
+++ b/nixos/tests/dovecot.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "dovecot";
 
   machine = { pkgs, ... }: {
@@ -66,12 +66,12 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('postfix.service');
-    $machine->waitForUnit('dovecot2.service');
-    $machine->succeed('send-testmail');
-    $machine->succeed('send-lda');
-    $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
-    $machine->succeed('test-imap');
-    $machine->succeed('test-pop');
+    machine.wait_for_unit("postfix.service")
+    machine.wait_for_unit("dovecot2.service")
+    machine.succeed("send-testmail")
+    machine.succeed("send-lda")
+    machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]')
+    machine.succeed("test-imap")
+    machine.succeed("test-pop")
   '';
 }
diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix
index 384fce67c22..c649ce852da 100644
--- a/nixos/tests/ec2.nix
+++ b/nixos/tests/ec2.nix
@@ -113,7 +113,7 @@ in {
         services.httpd = {
           enable = true;
           adminAddr = "test@example.org";
-          documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
+          virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
         };
         networking.firewall.allowedTCPPorts = [ 80 ];
       }
diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix
index 3f02cecb866..ef7bd13eb92 100644
--- a/nixos/tests/ecryptfs.nix
+++ b/nixos/tests/ecryptfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 {
   name = "ecryptfs";
 
@@ -10,75 +10,76 @@ import ./make-test.nix ({ ... }:
   };
 
   testScript = ''
-    $machine->waitForUnit("default.target");
+    def login_as_alice():
+        machine.wait_until_tty_matches(1, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(1, "Password: ")
+        machine.send_chars("foobar\n")
+        machine.wait_until_tty_matches(1, "alice\@machine")
 
-    # Set alice up with a password and a home
-    $machine->succeed("(echo foobar; echo foobar) | passwd alice");
-    $machine->succeed("chown -R alice.users ~alice");
 
-    # Migrate alice's home
-    my $out = $machine->succeed("echo foobar | ecryptfs-migrate-home -u alice");
-    $machine->log("ecryptfs-migrate-home said: $out");
+    def logout():
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
-    # Log alice in (ecryptfs passwhrase is wrapped during first login)
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+
+    machine.wait_for_unit("default.target")
+
+    with subtest("Set alice up with a password and a home"):
+        machine.succeed("(echo foobar; echo foobar) | passwd alice")
+        machine.succeed("chown -R alice.users ~alice")
+
+    with subtest("Migrate alice's home"):
+        out = machine.succeed("echo foobar | ecryptfs-migrate-home -u alice")
+        machine.log(f"ecryptfs-migrate-home said: {out}")
+
+    with subtest("Log alice in (ecryptfs passwhrase is wrapped during first login)"):
+        login_as_alice()
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-    $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("check that encrypted home is not mounted"):
+        machine.fail("mount | grep ecryptfs")
 
-    # Show contents of the user keyring
-    my $out = $machine->succeed("su - alice -c 'keyctl list \@u'");
-    $machine->log("keyctl unlink said: " . $out);
+    with subtest("Show contents of the user keyring"):
+        out = machine.succeed("su - alice -c 'keyctl list \@u'")
+        machine.log(f"keyctl unlink said: {out}")
 
-    # Log alice again
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
+    with subtest("Log alice again"):
+        login_as_alice()
 
-    # Create some files in encrypted home
-    $machine->succeed("su alice -c 'touch ~alice/a'");
-    $machine->succeed("su alice -c 'echo c > ~alice/b'");
+    with subtest("Create some files in encrypted home"):
+        machine.succeed("su alice -c 'touch ~alice/a'")
+        machine.succeed("su alice -c 'echo c > ~alice/b'")
 
-    # Logout
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    with subtest("Logout"):
+        logout()
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-
-    # Check that the filesystem is not accessible
-    $machine->fail("mount | grep ecryptfs");
-    $machine->succeed("su alice -c 'test \! -f ~alice/a'");
-    $machine->succeed("su alice -c 'test \! -f ~alice/b'");
-
-    # Log alice once more
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-
-    # Check that the files are there
-    $machine->sleep(1);
-    $machine->succeed("su alice -c 'test -f ~alice/a'");
-    $machine->succeed("su alice -c 'test -f ~alice/b'");
-    $machine->succeed(qq%test "\$(cat ~alice/b)" = "c"%);
-
-    # Catch https://github.com/NixOS/nixpkgs/issues/16766
-    $machine->succeed("su alice -c 'ls -lh ~alice/'");
-
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("Check that the filesystem is not accessible"):
+        machine.fail("mount | grep ecryptfs")
+        machine.succeed("su alice -c 'test \! -f ~alice/a'")
+        machine.succeed("su alice -c 'test \! -f ~alice/b'")
+
+    with subtest("Log alice once more"):
+        login_as_alice()
+
+    with subtest("Check that the files are there"):
+        machine.sleep(1)
+        machine.succeed("su alice -c 'test -f ~alice/a'")
+        machine.succeed("su alice -c 'test -f ~alice/b'")
+        machine.succeed('test "$(cat ~alice/b)" = "c"')
+
+    with subtest("Catch https://github.com/NixOS/nixpkgs/issues/16766"):
+        machine.succeed("su alice -c 'ls -lh ~alice/'")
+
+    logout()
   '';
 })
diff --git a/nixos/tests/env.nix b/nixos/tests/env.nix
index 6c681905b19..e603338e489 100644
--- a/nixos/tests/env.nix
+++ b/nixos/tests/env.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "environment";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -20,16 +20,17 @@ import ./make-test.nix ({ pkgs, ...} : {
       };
     };
 
-  testScript =
-    ''
-      $machine->succeed('[ -L "/etc/plainFile" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
-      $machine->succeed('[ -d "/etc/folder" ]');
-      $machine->succeed('[ -d "/etc/folder/with" ]');
-      $machine->succeed('[ -L "/etc/folder/with/file" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
+  testScript = ''
+    machine.succeed('[ -L "/etc/plainFile" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
+    machine.succeed('[ -d "/etc/folder" ]')
+    machine.succeed('[ -d "/etc/folder/with" ]')
+    machine.succeed('[ -L "/etc/folder/with/file" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
 
-      $machine->succeed('echo ''${TERMINFO_DIRS} | grep "/run/current-system/sw/share/terminfo"');
-      $machine->succeed('echo ''${NIXCON} | grep "awesome"');
-    '';
+    assert "/run/current-system/sw/share/terminfo" in machine.succeed(
+        "echo ''${TERMINFO_DIRS}"
+    )
+    assert "awesome" in machine.succeed("echo ''${NIXCON}")
+  '';
 })
diff --git a/nixos/tests/etcd-cluster.nix b/nixos/tests/etcd-cluster.nix
index 43fde7d5920..19c5d915823 100644
--- a/nixos/tests/etcd-cluster.nix
+++ b/nixos/tests/etcd-cluster.nix
@@ -1,6 +1,6 @@
 # This test runs simple etcd cluster
 
-import ./make-test.nix ({ pkgs, ... } : let
+import ./make-test-python.nix ({ pkgs, ... } : let
 
   runWithOpenSSL = file: cmd: pkgs.runCommand file {
     buildInputs = [ pkgs.openssl ];
@@ -129,29 +129,26 @@ in {
   };
 
   testScript = ''
-    subtest "should start etcd cluster", sub {
-      $node1->start();
-      $node2->start();
-      $node1->waitForUnit("etcd.service");
-      $node2->waitForUnit("etcd.service");
-      $node2->waitUntilSucceeds("etcdctl cluster-health");
-      $node1->succeed("etcdctl set /foo/bar 'Hello world'");
-      $node2->succeed("etcdctl get /foo/bar | grep 'Hello world'");
-    };
-
-    subtest "should add another member", sub {
-      $node1->waitUntilSucceeds("etcdctl member add node3 https://node3:2380");
-      $node3->start();
-      $node3->waitForUnit("etcd.service");
-      $node3->waitUntilSucceeds("etcdctl member list | grep 'node3'");
-      $node3->succeed("etcdctl cluster-health");
-    };
-
-    subtest "should survive member crash", sub {
-      $node3->crash;
-      $node1->succeed("etcdctl cluster-health");
-      $node1->succeed("etcdctl set /foo/bar 'Hello degraded world'");
-      $node1->succeed("etcdctl get /foo/bar | grep 'Hello degraded world'");
-    };
+    with subtest("should start etcd cluster"):
+        node1.start()
+        node2.start()
+        node1.wait_for_unit("etcd.service")
+        node2.wait_for_unit("etcd.service")
+        node2.wait_until_succeeds("etcdctl cluster-health")
+        node1.succeed("etcdctl set /foo/bar 'Hello world'")
+        node2.succeed("etcdctl get /foo/bar | grep 'Hello world'")
+
+    with subtest("should add another member"):
+        node1.wait_until_succeeds("etcdctl member add node3 https://node3:2380")
+        node3.start()
+        node3.wait_for_unit("etcd.service")
+        node3.wait_until_succeeds("etcdctl member list | grep 'node3'")
+        node3.succeed("etcdctl cluster-health")
+
+    with subtest("should survive member crash"):
+        node3.crash()
+        node1.succeed("etcdctl cluster-health")
+        node1.succeed("etcdctl set /foo/bar 'Hello degraded world'")
+        node1.succeed("etcdctl get /foo/bar | grep 'Hello degraded world'")
   '';
 })
diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix
index 6c23b31779b..84272434384 100644
--- a/nixos/tests/etcd.nix
+++ b/nixos/tests/etcd.nix
@@ -1,6 +1,6 @@
 # This test runs simple etcd node
 
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "etcd";
 
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -14,14 +14,12 @@ import ./make-test.nix ({ pkgs, ... } : {
   };
 
   testScript = ''
-    subtest "should start etcd node", sub {
-      $node->start();
-      $node->waitForUnit("etcd.service");
-    };
+    with subtest("should start etcd node"):
+        node.start()
+        node.wait_for_unit("etcd.service")
 
-    subtest "should write and read some values to etcd", sub {
-      $node->succeed("etcdctl set /foo/bar 'Hello world'");
-      $node->succeed("etcdctl get /foo/bar | grep 'Hello world'");
-    }
+    with subtest("should write and read some values to etcd"):
+        node.succeed("etcdctl set /foo/bar 'Hello world'")
+        node.succeed("etcdctl get /foo/bar | grep 'Hello world'")
   '';
 })
diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix
index 83ddbb54c5b..356cd57ffa1 100644
--- a/nixos/tests/fancontrol.nix
+++ b/nixos/tests/fancontrol.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "fancontrol";
 
   machine =
@@ -19,7 +19,10 @@ import ./make-test.nix ({ pkgs, ... } : {
 
   # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error.
   testScript = ''
-    $machine->waitForUnit("fancontrol.service");
-    $machine->waitUntilSucceeds("journalctl -eu fancontrol | grep 'Configuration appears to be outdated'");
+    start_all()
+    machine.wait_for_unit("fancontrol.service")
+    machine.wait_until_succeeds(
+        "journalctl -eu fancontrol | grep 'Configuration appears to be outdated'"
+    )
   '';
 })
diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix
index edf9c8036ac..a73c9ce739c 100644
--- a/nixos/tests/ferm.nix
+++ b/nixos/tests/ferm.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "ferm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mic92 ];
@@ -53,24 +53,22 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network-online.target");
-      $server->waitForUnit("ferm.service");
-      $server->waitForUnit("nginx.service");
-      $server->waitUntilSucceeds("ss -ntl | grep -q 80");
+      client.wait_for_unit("network-online.target")
+      server.wait_for_unit("ferm.service")
+      server.wait_for_unit("nginx.service")
+      server.wait_until_succeeds("ss -ntl | grep -q 80")
 
-      subtest "port 80 is allowed", sub {
-          $client->succeed("curl --fail -g http://192.168.1.1:80/status");
-          $client->succeed("curl --fail -g http://[fd00::1]:80/status");
-      };
+      with subtest("port 80 is allowed"):
+          client.succeed("curl --fail -g http://192.168.1.1:80/status")
+          client.succeed("curl --fail -g http://[fd00::1]:80/status")
 
-      subtest "port 8080 is not allowed", sub {
-          $server->succeed("curl --fail -g http://192.168.1.1:8080/status");
-          $server->succeed("curl --fail -g http://[fd00::1]:8080/status");
+      with subtest("port 8080 is not allowed"):
+          server.succeed("curl --fail -g http://192.168.1.1:8080/status")
+          server.succeed("curl --fail -g http://[fd00::1]:8080/status")
 
-          $client->fail("curl --fail -g http://192.168.1.1:8080/status");
-          $client->fail("curl --fail -g http://[fd00::1]:8080/status");
-      };
+          client.fail("curl --fail -g http://192.168.1.1:8080/status")
+          client.fail("curl --fail -g http://[fd00::1]:8080/status")
     '';
 })
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index f5b946a0881..56ddabbae77 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "firefox";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco shlevy ];
@@ -11,19 +11,27 @@ import ./make-test.nix ({ pkgs, ... }: {
       environment.systemPackages = [ pkgs.firefox pkgs.xdotool ];
     };
 
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->execute("xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &");
-      $machine->waitForWindow(qr/Valgrind/);
-      $machine->sleep(40); # wait until Firefox has finished loading the page
-      $machine->execute("xdotool key space"); # do I want to make Firefox the
-                             # default browser? I just want to close the dialog
-      $machine->sleep(2); # wait until Firefox hides the default browser window
-      $machine->execute("xdotool key F12");
-      $machine->sleep(10); # wait until Firefox draws the developer tool panel
-      $machine->succeed("xwininfo -root -tree | grep Valgrind");
-      $machine->screenshot("screen");
+  testScript = ''
+      machine.wait_for_x()
+
+      with subtest("wait until Firefox has finished loading the Valgrind docs page"):
+          machine.execute(
+              "xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &"
+          )
+          machine.wait_for_window("Valgrind")
+          machine.sleep(40)
+
+      with subtest("Close default browser prompt"):
+          machine.execute("xdotool key space")
+
+      with subtest("Hide default browser window"):
+          machine.sleep(2)
+          machine.execute("xdotool key F12")
+
+      with subtest("wait until Firefox draws the developer tool panel"):
+          machine.sleep(10)
+          machine.succeed("xwininfo -root -tree | grep Valgrind")
+          machine.screenshot("screen")
     '';
 
 })
diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix
index fcf758910e0..09a1fef852e 100644
--- a/nixos/tests/firewall.nix
+++ b/nixos/tests/firewall.nix
@@ -1,6 +1,6 @@
 # Test the firewall module.
 
-import ./make-test.nix ( { pkgs, ... } : {
+import ./make-test-python.nix ( { pkgs, ... } : {
   name = "firewall";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -36,30 +36,30 @@ import ./make-test.nix ( { pkgs, ... } : {
   testScript = { nodes, ... }: let
     newSystem = nodes.walled2.config.system.build.toplevel;
   in ''
-    $walled->start;
-    $attacker->start;
+    start_all()
 
-    $walled->waitForUnit("firewall");
-    $walled->waitForUnit("httpd");
-    $attacker->waitForUnit("network.target");
+    walled.wait_for_unit("firewall")
+    walled.wait_for_unit("httpd")
+    attacker.wait_for_unit("network.target")
 
     # Local connections should still work.
-    $walled->succeed("curl -v http://localhost/ >&2");
+    walled.succeed("curl -v http://localhost/ >&2")
 
     # Connections to the firewalled machine should fail, but ping should succeed.
-    $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2");
-    $attacker->succeed("ping -c 1 walled >&2");
+    attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2")
+    attacker.succeed("ping -c 1 walled >&2")
 
     # Outgoing connections/pings should still work.
-    $walled->succeed("curl -v http://attacker/ >&2");
-    $walled->succeed("ping -c 1 attacker >&2");
+    walled.succeed("curl -v http://attacker/ >&2")
+    walled.succeed("ping -c 1 attacker >&2")
 
     # If we stop the firewall, then connections should succeed.
-    $walled->stopJob("firewall");
-    $attacker->succeed("curl -v http://walled/ >&2");
+    walled.stop_job("firewall")
+    attacker.succeed("curl -v http://walled/ >&2")
 
     # Check whether activation of a new configuration reloads the firewall.
-    $walled->succeed("${newSystem}/bin/switch-to-configuration test 2>&1" .
-                     " | grep -qF firewall.service");
+    walled.succeed(
+        "${newSystem}/bin/switch-to-configuration test 2>&1 | grep -qF firewall.service"
+    )
   '';
 })
diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix
index 97c4e8e37ac..68fba428439 100644
--- a/nixos/tests/fish.nix
+++ b/nixos/tests/fish.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "fish";
 
   machine =
@@ -14,8 +14,11 @@ import ./make-test.nix ({ pkgs, ... }: {
 
   testScript =
     ''
-      $machine->waitForFile("/etc/fish/generated_completions/coreutils.fish");
-      $machine->waitForFile("/etc/fish/generated_completions/kill.fish");
-      $machine->succeed("fish -ic 'echo \$fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions\$'");
+      start_all()
+      machine.wait_for_file("/etc/fish/generated_completions/coreutils.fish")
+      machine.wait_for_file("/etc/fish/generated_completions/kill.fish")
+      machine.succeed(
+          "fish -ic 'echo $fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions$'"
+      )
     '';
 })
diff --git a/nixos/tests/flatpak-builder.nix b/nixos/tests/flatpak-builder.nix
deleted file mode 100644
index 49b97e8ca99..00000000000
--- a/nixos/tests/flatpak-builder.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "flatpak-builder";
-  meta = {
-    maintainers = pkgs.flatpak-builder.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    services.flatpak.enable = true;
-    xdg.portal.enable = true;
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing flatpak-builder ] ++ flatpak-builder.installedTestsDependencies;
-    virtualisation.diskSize = 2048;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak-builder.installedTests}/share' --timeout 3600");
-  '';
-})
diff --git a/nixos/tests/flatpak.nix b/nixos/tests/flatpak.nix
deleted file mode 100644
index b0c61830d05..00000000000
--- a/nixos/tests/flatpak.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "flatpak";
-  meta = {
-    maintainers = pkgs.flatpak.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
-    # common/x11.nix enables the auto display manager (lightdm)
-    services.xserver.displayManager.gdm.enable = false;
-    environment.gnome3.excludePackages = pkgs.gnome3.optionalPackages;
-    services.flatpak.enable = true;
-    environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ];
-    virtualisation.memorySize = 2047;
-    virtualisation.diskSize = 1024;
-  };
-
-  testScript = ''
-    $machine->waitForX();
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak.installedTests}/share' --timeout 3600");
-  '';
-})
diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix
index e5c4c3d2163..918f2f87db1 100644
--- a/nixos/tests/fluentd.nix
+++ b/nixos/tests/fluentd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "fluentd";
 
   machine = { pkgs, ... }: {
@@ -33,14 +33,17 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
       inherit testMessage;
     });
   in ''
-    $machine->start;
-    $machine->waitForUnit('fluentd.service');
-    $machine->waitForOpenPort(9880);
+    machine.start()
+    machine.wait_for_unit("fluentd.service")
+    machine.wait_for_open_port(9880)
 
-    $machine->succeed("curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag");
+    machine.succeed(
+        "curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag"
+    )
 
-    $machine->succeed("systemctl stop fluentd"); # blocking flush
+    # blocking flush
+    machine.succeed("systemctl stop fluentd")
 
-    $machine->succeed("grep '${testMessage}' /tmp/current-log");
+    machine.succeed("grep '${testMessage}' /tmp/current-log")
   '';
 })
diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix
index 1991cec9218..68c6ac9e9c8 100644
--- a/nixos/tests/fontconfig-default-fonts.nix
+++ b/nixos/tests/fontconfig-default-fonts.nix
@@ -1,7 +1,12 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 {
   name = "fontconfig-default-fonts";
 
+  meta.maintainers = with lib.maintainers; [
+    jtojnar
+    worldofpeace
+  ];
+
   machine = { config, pkgs, ... }: {
     fonts.enableDefaultFonts = true; # Background fonts
     fonts.fonts = with pkgs; [
@@ -20,9 +25,9 @@ import ./make-test.nix ({ lib, ... }:
   };
 
   testScript = ''
-    $machine->succeed("fc-match serif | grep '\"Gentium Plus\"'");
-    $machine->succeed("fc-match sans-serif | grep '\"Cantarell\"'");
-    $machine->succeed("fc-match monospace | grep '\"Source Code Pro\"'");
-    $machine->succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'");
+    machine.succeed("fc-match serif | grep '\"Gentium Plus\"'")
+    machine.succeed("fc-match sans-serif | grep '\"Cantarell\"'")
+    machine.succeed("fc-match monospace | grep '\"Source Code Pro\"'")
+    machine.succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'")
   '';
 })
diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix
index f943bb7f235..e522419fde2 100644
--- a/nixos/tests/fsck.nix
+++ b/nixos/tests/fsck.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "fsck";
 
   machine = { lib, ... }: {
@@ -14,16 +14,18 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('default.target');
+    machine.wait_for_unit("default.target")
 
-    subtest "root fs is fsckd", sub {
-      $machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"');
-    };
+    with subtest("root fs is fsckd"):
+        machine.succeed("journalctl -b | grep 'fsck.ext4.*/dev/vda'")
 
-    subtest "mnt fs is fsckd", sub {
-      $machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"');
-      $machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
-      $machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
-    };
+    with subtest("mnt fs is fsckd"):
+        machine.succeed("journalctl -b | grep 'fsck.*/dev/vdb.*clean'")
+        machine.succeed(
+            "grep 'Requires=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount"
+        )
+        machine.succeed(
+            "grep 'After=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount"
+        )
   '';
 }
diff --git a/nixos/tests/fwupd.nix b/nixos/tests/fwupd.nix
deleted file mode 100644
index 88dac8ccbcd..00000000000
--- a/nixos/tests/fwupd.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "fwupd";
-
-  meta = {
-    maintainers = pkgs.fwupd.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    services.fwupd.enable = true;
-    services.fwupd.blacklistPlugins = []; # don't blacklist test plugin
-    services.fwupd.enableTestRemote = true;
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.fwupd.installedTests}/share" ];
-    virtualisation.memorySize = 768;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner");
-  '';
-})
diff --git a/nixos/tests/gdk-pixbuf.nix b/nixos/tests/gdk-pixbuf.nix
deleted file mode 100644
index 9a62b593f46..00000000000
--- a/nixos/tests/gdk-pixbuf.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "gdk-pixbuf";
-
-  meta = {
-    maintainers = pkgs.gdk-pixbuf.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.gdk-pixbuf.installedTests}/share" ];
-
-    # Tests allocate a lot of memory trying to exploit a CVE
-    # but qemu-system-i386 has a 2047M memory limit
-    virtualisation.memorySize = if pkgs.stdenv.isi686 then 2047 else 4096;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -t 1800"); # increase timeout to 1800s
-  '';
-})
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index ffbc07cfbb2..aaed2486421 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -6,64 +6,104 @@
 with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
-{
-  mysql = makeTest {
-    name = "gitea-mysql";
-    meta.maintainers = with maintainers; [ aanderse kolaente ];
-
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "mysql";
+let
+  supportedDbTypes = [ "mysql" "postgres" "sqlite3" ];
+  makeGiteaTest = type: nameValuePair type (makeTest {
+    name = "gitea-${type}";
+    meta.maintainers = with maintainers; [ aanderse kolaente ma27 ];
+
+    nodes = {
+      server = { config, pkgs, ... }: {
+        services.gitea = {
+          enable = true;
+          database = { inherit type; };
+          disableRegistration = true;
+        };
+        environment.systemPackages = [ pkgs.gitea pkgs.jq ];
+        services.openssh.enable = true;
+      };
+      client1 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
+      };
+      client2 = { config, pkgs, ... }: {
+        environment.systemPackages = [ pkgs.git ];
       };
+    };
+
+    testScript = let
+      inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
+    in ''
+      GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no"
+      REPO = "gitea@server:test/repo"
+      PRIVK = "${snakeOilPrivateKey}"
 
-    testScript = ''
       start_all()
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-    '';
-  };
+      client1.succeed("mkdir /tmp/repo")
+      client1.succeed("mkdir -p $HOME/.ssh")
+      client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client1.succeed("chmod 0400 $HOME/.ssh/privk")
+      client1.succeed("git -C /tmp/repo init")
+      client1.succeed("echo hello world > /tmp/repo/testfile")
+      client1.succeed("git -C /tmp/repo add .")
+      client1.succeed("git config --global user.email test@localhost")
+      client1.succeed("git config --global user.name test")
+      client1.succeed("git -C /tmp/repo commit -m 'Initial import'")
+      client1.succeed(f"git -C /tmp/repo remote add origin {REPO}")
 
-  postgres = makeTest {
-    name = "gitea-postgres";
-    meta.maintainers = [ maintainers.aanderse ];
+      server.wait_for_unit("gitea.service")
+      server.wait_for_open_port(3000)
+      server.succeed("curl --fail http://localhost:3000/")
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.database.type = "postgres";
-      };
+      server.succeed(
+          "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. "
+          + "Please contact your site administrator.'"
+      )
+      server.succeed(
+          "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin create-user "
+          + "--username test --password totallysafe --email test@localhost'"
+      )
 
-    testScript = ''
-      start_all()
+      api_token = server.succeed(
+          "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d "
+          + "'{\"name\":\"token\"}' | jq '.sha1' | xargs echo -n"
+      )
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-    '';
-  };
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/repos "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\'''
+      )
 
-  sqlite = makeTest {
-    name = "gitea-sqlite";
-    meta.maintainers = [ maintainers.aanderse ];
+      server.succeed(
+          "curl --fail -X POST http://localhost:3000/api/v1/user/keys "
+          + "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+          + f"-H 'Authorization: token {api_token}'"
+          + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\'''
+      )
 
-    machine =
-      { config, pkgs, ... }:
-      { services.gitea.enable = true;
-        services.gitea.disableRegistration = true;
-      };
+      client1.succeed(
+          f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master"
+      )
 
-    testScript = ''
-      start_all()
+      client2.succeed("mkdir -p $HOME/.ssh")
+      client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
+      client2.succeed("chmod 0400 $HOME/.ssh/privk")
+      client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
+      client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
 
-      machine.wait_for_unit("gitea.service")
-      machine.wait_for_open_port(3000)
-      machine.succeed("curl --fail http://localhost:3000/")
-      machine.succeed(
-          "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'"
+      server.succeed(
+          'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits '
+          + '-H "Accept: application/json" | jq length)" = "1"'
       )
+
+      client1.shutdown()
+      client2.shutdown()
+      server.shutdown()
     '';
-  };
-}
+  });
+in
+
+listToAttrs (map makeGiteaTest supportedDbTypes)
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index be0b3c8746a..7e4e8bcef92 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -3,7 +3,7 @@
 let
   initialRootPassword = "notproduction";
 in
-import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
+import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
   name = "gitlab";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ];
@@ -63,21 +63,35 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
     });
   in
   ''
-    $gitlab->start();
-    $gitlab->waitForUnit("gitaly.service");
-    $gitlab->waitForUnit("gitlab-workhorse.service");
-    $gitlab->waitForUnit("gitlab.service");
-    $gitlab->waitForUnit("gitlab-sidekiq.service");
-    $gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket");
-    $gitlab->waitUntilSucceeds("curl -sSf http://gitlab/users/sign_in");
-    $gitlab->succeed("curl -isSf http://gitlab  | grep -i location | grep -q http://gitlab/users/sign_in");
-    $gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2");
-    $gitlab->succeed("echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers");
-    $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects");
-    $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt");
-    $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz");
-    $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2");
-    $gitlab->succeed("test -s /tmp/archive.tar.gz");
-    $gitlab->succeed("test -s /tmp/archive.tar.bz2");
+    gitlab.start()
+    gitlab.wait_for_unit("gitaly.service")
+    gitlab.wait_for_unit("gitlab-workhorse.service")
+    gitlab.wait_for_unit("gitlab.service")
+    gitlab.wait_for_unit("gitlab-sidekiq.service")
+    gitlab.wait_for_file("/var/gitlab/state/tmp/sockets/gitlab.socket")
+    gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
+    gitlab.succeed(
+        "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"
+    )
+    gitlab.succeed(
+        "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"
+    )
+    gitlab.succeed(
+        "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
+    )
+    gitlab.succeed(
+        "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
+    )
+    gitlab.succeed(
+        "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"
+    )
+    gitlab.succeed(
+        "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"
+    )
+    gitlab.succeed(
+        "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
+    )
+    gitlab.succeed("test -s /tmp/archive.tar.gz")
+    gitlab.succeed("test -s /tmp/archive.tar.bz2")
   '';
 })
diff --git a/nixos/tests/gitolite-fcgiwrap.nix b/nixos/tests/gitolite-fcgiwrap.nix
new file mode 100644
index 00000000000..414b7d6fe7e
--- /dev/null
+++ b/nixos/tests/gitolite-fcgiwrap.nix
@@ -0,0 +1,93 @@
+import ./make-test-python.nix (
+  { pkgs, ... }:
+
+    let
+      user = "gitolite-admin";
+      password = "some_password";
+
+      # not used but needed to setup gitolite
+      adminPublicKey = ''
+        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client
+      '';
+    in
+      {
+        name = "gitolite-fcgiwrap";
+
+        meta = with pkgs.stdenv.lib.maintainers; {
+          maintainers = [ bbigras ];
+        };
+
+        nodes = {
+
+          server =
+            { ... }:
+              {
+                networking.firewall.allowedTCPPorts = [ 80 ];
+
+                services.fcgiwrap.enable = true;
+                services.gitolite = {
+                  enable = true;
+                  adminPubkey = adminPublicKey;
+                };
+
+                services.nginx = {
+                  enable = true;
+                  recommendedProxySettings = true;
+                  virtualHosts."server".locations."/git".extraConfig = ''
+                    # turn off gzip as git objects are already well compressed
+                    gzip off;
+
+                    # use file based basic authentication
+                    auth_basic "Git Repository Authentication";
+                    auth_basic_user_file /etc/gitolite/htpasswd;
+
+                    # common FastCGI parameters are required
+                    include ${pkgs.nginx}/conf/fastcgi_params;
+
+                    # strip the CGI program prefix
+                    fastcgi_split_path_info ^(/git)(.*)$;
+                    fastcgi_param PATH_INFO $fastcgi_path_info;
+
+                    # pass authenticated user login(mandatory) to Gitolite
+                    fastcgi_param REMOTE_USER $remote_user;
+
+                    # pass git repository root directory and hosting user directory
+                    # these env variables can be set in a wrapper script
+                    fastcgi_param GIT_HTTP_EXPORT_ALL "";
+                    fastcgi_param GIT_PROJECT_ROOT /var/lib/gitolite/repositories;
+                    fastcgi_param GITOLITE_HTTP_HOME /var/lib/gitolite;
+                    fastcgi_param SCRIPT_FILENAME ${pkgs.gitolite}/bin/gitolite-shell;
+
+                    # use Unix domain socket or inet socket
+                    fastcgi_pass unix:/run/fcgiwrap.sock;
+                  '';
+                };
+
+                # WARNING: DON'T DO THIS IN PRODUCTION!
+                # This puts unhashed secrets directly into the Nix store for ease of testing.
+                environment.etc."gitolite/htpasswd".source = pkgs.runCommand "htpasswd" {} ''
+                  ${pkgs.apacheHttpd}/bin/htpasswd -bc "$out" ${user} ${password}
+                '';
+              };
+
+          client =
+            { pkgs, ... }:
+              {
+                environment.systemPackages = [ pkgs.git ];
+              };
+        };
+
+        testScript = ''
+          start_all()
+
+          server.wait_for_unit("gitolite-init.service")
+          server.wait_for_unit("nginx.service")
+          server.wait_for_file("/run/fcgiwrap.sock")
+
+          client.wait_for_unit("multi-user.target")
+          client.succeed(
+              "git clone http://${user}:${password}@server/git/gitolite-admin.git"
+          )
+        '';
+      }
+)
diff --git a/nixos/tests/gitolite.nix b/nixos/tests/gitolite.nix
index 690e456ed7c..a928645bd80 100644
--- a/nixos/tests/gitolite.nix
+++ b/nixos/tests/gitolite.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...}:
+import ./make-test-python.nix ({ pkgs, ...}:
 
 let
   adminPrivateKey = pkgs.writeText "id_ed25519" ''
@@ -43,7 +43,7 @@ let
     ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNonUP1ePHLrvn0W9D2hdN6zWWZYFyJc+QR6pOKQEw bob@client
   '';
 
-  gitoliteAdminConfSnippet = ''
+  gitoliteAdminConfSnippet = pkgs.writeText "gitolite-admin-conf-snippet" ''
     repo alice-project
         RW+     =   alice
   '';
@@ -85,55 +85,54 @@ in
   };
 
   testScript = ''
-    startAll;
-
-    subtest "can setup ssh keys on system", sub {
-      $client->mustSucceed("mkdir -p ~root/.ssh");
-      $client->mustSucceed("cp ${adminPrivateKey} ~root/.ssh/id_ed25519");
-      $client->mustSucceed("chmod 600 ~root/.ssh/id_ed25519");
-
-      $client->mustSucceed("sudo -u alice mkdir -p ~alice/.ssh");
-      $client->mustSucceed("sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519");
-      $client->mustSucceed("sudo -u alice chmod 600 ~alice/.ssh/id_ed25519");
-
-      $client->mustSucceed("sudo -u bob mkdir -p ~bob/.ssh");
-      $client->mustSucceed("sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519");
-      $client->mustSucceed("sudo -u bob chmod 600 ~bob/.ssh/id_ed25519");
-    };
-
-    subtest "gitolite server starts", sub {
-      $server->waitForUnit("gitolite-init.service");
-      $server->waitForUnit("sshd.service");
-      $client->mustSucceed('ssh gitolite@server info');
-    };
-
-    subtest "admin can clone and configure gitolite-admin.git", sub {
-      $client->mustSucceed('git clone gitolite@server:gitolite-admin.git');
-      $client->mustSucceed("git config --global user.name 'System Administrator'");
-      $client->mustSucceed("git config --global user.email root\@domain.example");
-      $client->mustSucceed("cp ${alicePublicKey} gitolite-admin/keydir/alice.pub");
-      $client->mustSucceed("cp ${bobPublicKey} gitolite-admin/keydir/bob.pub");
-      $client->mustSucceed('(cd gitolite-admin && git add . && git commit -m "Add keys for alice, bob" && git push)');
-      $client->mustSucceed("printf '${gitoliteAdminConfSnippet}' >> gitolite-admin/conf/gitolite.conf");
-      $client->mustSucceed('(cd gitolite-admin && git add . && git commit -m "Add repo for alice" && git push)');
-    };
-
-    subtest "non-admins cannot clone gitolite-admin.git", sub {
-      $client->mustFail('sudo -i -u alice git clone gitolite@server:gitolite-admin.git');
-      $client->mustFail('sudo -i -u bob git clone gitolite@server:gitolite-admin.git');
-    };
-
-    subtest "non-admins can clone testing.git", sub {
-      $client->mustSucceed('sudo -i -u alice git clone gitolite@server:testing.git');
-      $client->mustSucceed('sudo -i -u bob git clone gitolite@server:testing.git');
-    };
-
-    subtest "alice can clone alice-project.git", sub {
-      $client->mustSucceed('sudo -i -u alice git clone gitolite@server:alice-project.git');
-    };
-
-    subtest "bob cannot clone alice-project.git", sub {
-      $client->mustFail('sudo -i -u bob git clone gitolite@server:alice-project.git');
-    };
+    start_all()
+
+    with subtest("can setup ssh keys on system"):
+        client.succeed(
+            "mkdir -p ~root/.ssh",
+            "cp ${adminPrivateKey} ~root/.ssh/id_ed25519",
+            "chmod 600 ~root/.ssh/id_ed25519",
+        )
+        client.succeed(
+            "sudo -u alice mkdir -p ~alice/.ssh",
+            "sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519",
+            "sudo -u alice chmod 600 ~alice/.ssh/id_ed25519",
+        )
+        client.succeed(
+            "sudo -u bob mkdir -p ~bob/.ssh",
+            "sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519",
+            "sudo -u bob chmod 600 ~bob/.ssh/id_ed25519",
+        )
+
+    with subtest("gitolite server starts"):
+        server.wait_for_unit("gitolite-init.service")
+        server.wait_for_unit("sshd.service")
+        client.succeed("ssh gitolite@server info")
+
+    with subtest("admin can clone and configure gitolite-admin.git"):
+        client.succeed(
+            "git clone gitolite@server:gitolite-admin.git",
+            "git config --global user.name 'System Administrator'",
+            "git config --global user.email root\@domain.example",
+            "cp ${alicePublicKey} gitolite-admin/keydir/alice.pub",
+            "cp ${bobPublicKey} gitolite-admin/keydir/bob.pub",
+            "(cd gitolite-admin && git add . && git commit -m 'Add keys for alice, bob' && git push)",
+            "cat ${gitoliteAdminConfSnippet} >> gitolite-admin/conf/gitolite.conf",
+            "(cd gitolite-admin && git add . && git commit -m 'Add repo for alice' && git push)",
+        )
+
+    with subtest("non-admins cannot clone gitolite-admin.git"):
+        client.fail("sudo -i -u alice git clone gitolite@server:gitolite-admin.git")
+        client.fail("sudo -i -u bob git clone gitolite@server:gitolite-admin.git")
+
+    with subtest("non-admins can clone testing.git"):
+        client.succeed("sudo -i -u alice git clone gitolite@server:testing.git")
+        client.succeed("sudo -i -u bob git clone gitolite@server:testing.git")
+
+    with subtest("alice can clone alice-project.git"):
+        client.succeed("sudo -i -u alice git clone gitolite@server:alice-project.git")
+
+    with subtest("bob cannot clone alice-project.git"):
+        client.fail("sudo -i -u bob git clone gitolite@server:alice-project.git")
   '';
 })
diff --git a/nixos/tests/gjs.nix b/nixos/tests/gjs.nix
deleted file mode 100644
index e6002ef98dd..00000000000
--- a/nixos/tests/gjs.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "gjs";
-
-  meta = {
-    maintainers = pkgs.gnome3.gjs.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    environment.variables.XDG_DATA_DIRS = [ "${pkgs.gnome3.gjs.installedTests}/share" ];
-  };
-
-  testScript = ''
-    $machine->waitForX;
-    $machine->succeed("gnome-desktop-testing-runner");
-  '';
-})
diff --git a/nixos/tests/glib-networking.nix b/nixos/tests/glib-networking.nix
deleted file mode 100644
index c0bbb2b3554..00000000000
--- a/nixos/tests/glib-networking.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "glib-networking";
-  meta = {
-    maintainers = pkgs.glib-networking.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.glib-networking.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix
index 9fd8bd2ed12..8f9cb8973d5 100644
--- a/nixos/tests/glusterfs.nix
+++ b/nixos/tests/glusterfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... } :
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   client = { pkgs, ... } : {
@@ -39,27 +39,29 @@ in {
   };
 
   testScript = ''
-    $server1->waitForUnit("glusterd.service");
-    $server2->waitForUnit("glusterd.service");
+    server1.wait_for_unit("glusterd.service")
+    server2.wait_for_unit("glusterd.service")
+
+    server1.wait_until_succeeds("gluster peer status")
+    server2.wait_until_succeeds("gluster peer status")
 
     # establish initial contact
-    $server1->succeed("sleep 2");
-    $server1->succeed("gluster peer probe server2");
-    $server1->succeed("gluster peer probe server1");
+    server1.succeed("gluster peer probe server2")
+    server1.succeed("gluster peer probe server1")
 
-    $server1->succeed("gluster peer status | grep Connected");
+    server1.succeed("gluster peer status | grep Connected")
 
     # create volumes
-    $server1->succeed("mkdir -p /data/vg0");
-    $server2->succeed("mkdir -p /data/vg0");
-    $server1->succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0");
-    $server1->succeed("gluster volume start gv0");
+    server1.succeed("mkdir -p /data/vg0")
+    server2.succeed("mkdir -p /data/vg0")
+    server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0")
+    server1.succeed("gluster volume start gv0")
 
     # test clients
-    $client1->waitForUnit("gluster.mount");
-    $client2->waitForUnit("gluster.mount");
+    client1.wait_for_unit("gluster.mount")
+    client2.wait_for_unit("gluster.mount")
 
-    $client1->succeed("echo test > /gluster/file1");
-    $client2->succeed("grep test /gluster/file1");
+    client1.succeed("echo test > /gluster/file1")
+    client2.succeed("grep test /gluster/file1")
   '';
 })
diff --git a/nixos/tests/gnome-photos.nix b/nixos/tests/gnome-photos.nix
deleted file mode 100644
index 2ecda1d68ce..00000000000
--- a/nixos/tests/gnome-photos.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, lib, ... }:
-
-let
-
-  # gsettings tool with access to gsettings-desktop-schemas
-  desktop-gsettings = with pkgs; stdenv.mkDerivation {
-    name = "desktop-gsettings";
-    dontUnpack = true;
-    nativeBuildInputs = [ glib wrapGAppsHook ];
-    buildInputs = [ gsettings-desktop-schemas ];
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/bin
-      ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings
-      runHook postInstall
-    '';
-  };
-
-in
-
-{
-  name = "gnome-photos";
-  meta = {
-    maintainers = pkgs.gnome-photos.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/x11.nix ];
-    programs.dconf.enable = true;
-    services.gnome3.at-spi2-core.enable = true; # needed for dogtail
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing desktop-gsettings ];
-    services.dbus.packages = with pkgs; [ gnome-photos ];
-  };
-
-  testScript = ''
-    $machine->waitForX;
-    # dogtail needs accessibility enabled
-    $machine->succeed("desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1");
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.gnome-photos.installedTests}/share' 2>&1");
-  '';
-})
diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix
index eb4c376319b..aa03501f6a5 100644
--- a/nixos/tests/gnome3-xorg.nix
+++ b/nixos/tests/gnome3-xorg.nix
@@ -16,7 +16,7 @@ import ./make-test.nix ({ pkgs, ...} : {
       services.xserver.displayManager.lightdm.autoLogin.enable = true;
       services.xserver.displayManager.lightdm.autoLogin.user = "alice";
       services.xserver.desktopManager.gnome3.enable = true;
-      services.xserver.desktopManager.default = "gnome-xorg";
+      services.xserver.displayManager.defaultSession = "gnome-xorg";
 
       virtualisation.memorySize = 1024;
     };
diff --git a/nixos/tests/gocd-agent.nix b/nixos/tests/gocd-agent.nix
index 50470379576..5b630a40736 100644
--- a/nixos/tests/gocd-agent.nix
+++ b/nixos/tests/gocd-agent.nix
@@ -9,14 +9,18 @@ let
   header = "Accept: application/vnd.go.cd.v2+json";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "gocd-agent";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ grahamc swarren83 ];
+
+    # gocd agent needs to register with the autoregister key created on first server startup,
+    # but NixOS module doesn't seem to allow to pass during runtime currently
+    broken = true;
   };
 
   nodes = {
-    gocd_agent =
+    agent =
       { ... }:
       {
         virtualisation.memorySize = 2046;
@@ -30,11 +34,15 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $gocd_agent->waitForUnit("gocd-server");
-    $gocd_agent->waitForOpenPort("8153");
-    $gocd_agent->waitForUnit("gocd-agent");
-    $gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid");
-    $gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle");
+    start_all()
+    agent.wait_for_unit("gocd-server")
+    agent.wait_for_open_port("8153")
+    agent.wait_for_unit("gocd-agent")
+    agent.wait_until_succeeds(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"
+    )
+    agent.succeed(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"
+    )
   '';
 })
diff --git a/nixos/tests/gocd-server.nix b/nixos/tests/gocd-server.nix
index 80cf04ed640..20faf85a1cc 100644
--- a/nixos/tests/gocd-server.nix
+++ b/nixos/tests/gocd-server.nix
@@ -2,7 +2,7 @@
 #   1. GoCD server starts
 #   2. GoCD server responds
 
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "gocd-server";
@@ -10,19 +10,19 @@ import ./make-test.nix ({ pkgs, ...} :
     maintainers = [ swarren83 ];
   };
 
-nodes = {
-  gocd_server =
-    { ... }:
-    {
-      virtualisation.memorySize = 2046;
-      services.gocd-server.enable = true;
-    };
-};
+  nodes = {
+    server =
+      { ... }:
+      {
+        virtualisation.memorySize = 2046;
+        services.gocd-server.enable = true;
+      };
+  };
 
   testScript = ''
-    $gocd_server->start;
-    $gocd_server->waitForUnit("gocd-server");
-    $gocd_server->waitForOpenPort("8153");
-    $gocd_server->waitUntilSucceeds("curl -s -f localhost:8153/go");
+    server.start()
+    server.wait_for_unit("gocd-server")
+    server.wait_for_open_port(8153)
+    server.wait_until_succeeds("curl -s -f localhost:8153/go")
   '';
 })
diff --git a/nixos/tests/google-oslogin/default.nix b/nixos/tests/google-oslogin/default.nix
index 3b84bba3f98..1977e92e987 100644
--- a/nixos/tests/google-oslogin/default.nix
+++ b/nixos/tests/google-oslogin/default.nix
@@ -1,7 +1,14 @@
-import ../make-test.nix ({ pkgs, ... } :
+import ../make-test-python.nix ({ pkgs, ... } :
 let
   inherit (import ./../ssh-keys.nix pkgs)
     snakeOilPrivateKey snakeOilPublicKey;
+
+    # don't check host keys or known hosts, use the snakeoil ssh key
+    ssh-config = builtins.toFile "ssh.conf" ''
+      UserKnownHostsFile=/dev/null
+      StrictHostKeyChecking=no
+      IdentityFile=~/.ssh/id_snakeoil
+    '';
 in {
   name = "google-oslogin";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -15,38 +22,49 @@ in {
     client = { ... }: {};
   };
   testScript =  ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("mock-google-metadata.service");
-    $server->waitForOpenPort(80);
+    server.wait_for_unit("mock-google-metadata.service")
+    server.wait_for_open_port(80)
 
     # mockserver should return a non-expired ssh key for both mockuser and mockadmin
-    $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"');
-    $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"');
+    server.succeed(
+        '${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"'
+    )
+    server.succeed(
+        '${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"'
+    )
 
-    # install snakeoil ssh key on the client
-    $client->succeed("mkdir -p ~/.ssh");
-    $client->succeed("cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil");
-    $client->succeed("chmod 600 ~/.ssh/id_snakeoil");
+    # install snakeoil ssh key on the client, and provision .ssh/config file
+    client.succeed("mkdir -p ~/.ssh")
+    client.succeed(
+        "cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil"
+    )
+    client.succeed("chmod 600 ~/.ssh/id_snakeoil")
+    client.succeed("cp ${ssh-config} ~/.ssh/config")
 
-    $client->waitForUnit("network.target");
-    $server->waitForUnit("sshd.service");
+    client.wait_for_unit("network.target")
+    server.wait_for_unit("sshd.service")
 
     # we should not be able to connect as non-existing user
-    $client->fail("ssh -o User=ghost -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.fail("ssh ghost@server 'true'")
 
     # we should be able to connect as mockuser
-    $client->succeed("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.succeed("ssh mockuser@server 'true'")
     # but we shouldn't be able to sudo
-    $client->fail("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'");
+    client.fail(
+        "ssh mockuser@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
+    )
 
     # we should also be able to log in as mockadmin
-    $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.succeed("ssh mockadmin@server 'true'")
     # pam_oslogin_admin.so should now have generated a sudoers file
-    $server->succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'");
+    server.succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'")
 
     # and we should be able to sudo
-    $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'");
+    client.succeed(
+        "ssh mockadmin@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
+    )
   '';
   })
 
diff --git a/nixos/tests/gotify-server.nix b/nixos/tests/gotify-server.nix
index 0ffc3138d5a..c6e00686aed 100644
--- a/nixos/tests/gotify-server.nix
+++ b/nixos/tests/gotify-server.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "gotify-server";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 ];
@@ -14,32 +14,32 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
+    machine.start()
 
-    $machine->waitForUnit("gotify-server");
-    $machine->waitForOpenPort(3000);
+    machine.wait_for_unit("gotify-server.service")
+    machine.wait_for_open_port(3000)
 
-    my $token = $machine->succeed(
-      "curl --fail -sS -X POST localhost:3000/application -F name=nixos " .
-      '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
-      '| jq .token | xargs echo -n'
-    );
+    token = machine.succeed(
+        "curl --fail -sS -X POST localhost:3000/application -F name=nixos "
+        + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" '
+        + "| jq .token | xargs echo -n"
+    )
 
-    my $usertoken = $machine->succeed(
-      "curl --fail -sS -X POST localhost:3000/client -F name=nixos " .
-      '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
-      '| jq .token | xargs echo -n'
-    );
+    usertoken = machine.succeed(
+        "curl --fail -sS -X POST localhost:3000/client -F name=nixos "
+        + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" '
+        + "| jq .token | xargs echo -n"
+    )
 
-    $machine->succeed(
-      "curl --fail -sS -X POST 'localhost:3000/message?token=$token' -H 'Accept: application/json' " .
-      '-F title=Gotify -F message=Works'
-    );
+    machine.succeed(
+        f"curl --fail -sS -X POST 'localhost:3000/message?token={token}' -H 'Accept: application/json' "
+        + "-F title=Gotify -F message=Works"
+    )
 
-    my $title = $machine->succeed(
-      "curl --fail -sS 'localhost:3000/message?since=0&token=$usertoken' | jq '.messages|.[0]|.title' | xargs echo -n"
-    );
+    title = machine.succeed(
+        f"curl --fail -sS 'localhost:3000/message?since=0&token={usertoken}' | jq '.messages|.[0]|.title' | xargs echo -n"
+    )
 
-    $title eq "Gotify" or die "Wrong title ($title), expected 'Gotify'!";
+    assert title == "Gotify"
   '';
 })
diff --git a/nixos/tests/grafana.nix b/nixos/tests/grafana.nix
index 7a1b4c8ffbb..4b453ece7f1 100644
--- a/nixos/tests/grafana.nix
+++ b/nixos/tests/grafana.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 let
   inherit (lib) mkMerge nameValuePair maintainers;
@@ -64,28 +64,34 @@ in {
   inherit nodes;
 
   testScript = ''
-    startAll();
+    start_all()
 
-    subtest "Grafana sqlite", sub {
-      $sqlite->waitForUnit("grafana.service");
-      $sqlite->waitForOpenPort(3000);
-      $sqlite->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with sqlite db"):
+        sqlite.wait_for_unit("grafana.service")
+        sqlite.wait_for_open_port(3000)
+        sqlite.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        sqlite.shutdown()
 
-    subtest "Grafana postgresql", sub {
-      $postgresql->waitForUnit("grafana.service");
-      $postgresql->waitForUnit("postgresql.service");
-      $postgresql->waitForOpenPort(3000);
-      $postgresql->waitForOpenPort(5432);
-      $postgresql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with postgresql db"):
+        postgresql.wait_for_unit("grafana.service")
+        postgresql.wait_for_unit("postgresql.service")
+        postgresql.wait_for_open_port(3000)
+        postgresql.wait_for_open_port(5432)
+        postgresql.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        postgresql.shutdown()
 
-    subtest "Grafana mysql", sub {
-      $mysql->waitForUnit("grafana.service");
-      $mysql->waitForUnit("mysql.service");
-      $mysql->waitForOpenPort(3000);
-      $mysql->waitForOpenPort(3306);
-      $mysql->succeed("curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost");
-    };
+    with subtest("Successful API query as admin user with mysql db"):
+        mysql.wait_for_unit("grafana.service")
+        mysql.wait_for_unit("mysql.service")
+        mysql.wait_for_open_port(3000)
+        mysql.wait_for_open_port(3306)
+        mysql.succeed(
+            "curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/org/users | grep -q testadmin\@localhost"
+        )
+        mysql.shutdown()
   '';
 })
diff --git a/nixos/tests/graphene.nix b/nixos/tests/graphene.nix
deleted file mode 100644
index 5591bcc30c0..00000000000
--- a/nixos/tests/graphene.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "graphene";
-
-  meta = {
-    maintainers = pkgs.graphene.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.graphene.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix
index dc54afd1d26..2d22012fa7c 100644
--- a/nixos/tests/graylog.nix
+++ b/nixos/tests/graylog.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "graylog";
   meta.maintainers = with lib.maintainers; [ ma27 ];
 
@@ -64,48 +64,52 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
       facility = "Test";
     });
   in ''
-    $machine->start;
-    $machine->waitForUnit("graylog.service");
-    $machine->waitForOpenPort(9000);
-    $machine->succeed("curl -sSfL http://127.0.0.1:9000/");
+    machine.start()
+    machine.wait_for_unit("graylog.service")
+    machine.wait_for_open_port(9000)
+    machine.succeed("curl -sSfL http://127.0.0.1:9000/")
 
-    my $session = $machine->succeed("curl -X POST "
-                                  . "-sSfL http://127.0.0.1:9000/api/system/sessions "
-                                  . "-d \$(cat ${payloads.login}) "
-                                  . "-H 'Content-Type: application/json' "
-                                  . "-H 'Accept: application/json' "
-                                  . "-H 'x-requested-by: cli' "
-                                  . "| jq .session_id | xargs echo"
-                                  );
+    session = machine.succeed(
+        "curl -X POST "
+        + "-sSfL http://127.0.0.1:9000/api/system/sessions "
+        + "-d $(cat ${payloads.login}) "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'Accept: application/json' "
+        + "-H 'x-requested-by: cli' "
+        + "| jq .session_id | xargs echo"
+    ).rstrip()
 
-    chomp($session);
+    machine.succeed(
+        "curl -X POST "
+        + f"-sSfL http://127.0.0.1:9000/api/system/inputs -u {session}:session "
+        + '-d $(cat ${payloads.input} | sed -e "s,@node@,$(cat /var/lib/graylog/server/node-id),") '
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli' "
+    )
 
-    $machine->succeed("curl -X POST "
-                    . "-sSfL http://127.0.0.1:9000/api/system/inputs -u $session:session "
-                    . "-d \$(cat ${payloads.input} | sed -e \"s,\@node\@,\$(cat /var/lib/graylog/server/node-id),\") "
-                    . "-H 'Accept: application/json' "
-                    . "-H 'Content-Type: application/json' "
-                    . "-H 'x-requested-by: cli' "
-                    );
+    machine.wait_until_succeeds(
+        "test \"$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' "
+        + f"-u {session}:session "
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli'"
+        + "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo"
+        + ')" = "RUNNING"'
+    )
 
-    $machine->waitUntilSucceeds("test \"\$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' "
-                              . "-u $session:session "
-                              . "-H 'Accept: application/json' "
-                              . "-H 'Content-Type: application/json' "
-                              . "-H 'x-requested-by: cli'"
-                              . "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo"
-                              . ")\" = \"RUNNING\""
-                              );
+    machine.succeed(
+        "echo -n $(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201"
+    )
 
-    $machine->succeed("echo -n \$(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201");
-
-    $machine->succeed("test \"\$(curl -X GET "
-                    . "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' "
-                    . "-u $session:session "
-                    . "-H 'Accept: application/json' "
-                    . "-H 'Content-Type: application/json' "
-                    . "-H 'x-requested-by: cli'"
-                    . " | jq '.total_results' | xargs echo)\" = \"1\""
-                    );
+    machine.succeed(
+        'test "$(curl -X GET '
+        + "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' "
+        + f"-u {session}:session "
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli'"
+        + ' | jq \'.total_results\' | xargs echo)" = "1"'
+    )
   '';
 })
diff --git a/nixos/tests/gvisor.nix b/nixos/tests/gvisor.nix
new file mode 100644
index 00000000000..4d68a1d8a5f
--- /dev/null
+++ b/nixos/tests/gvisor.nix
@@ -0,0 +1,49 @@
+# This test runs a container through gvisor and checks if simple container starts
+
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "gvisor";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ andrew-d ];
+  };
+
+  nodes = {
+    gvisor =
+      { pkgs, ... }:
+        {
+          virtualisation.docker = {
+            enable = true;
+            extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc";
+          };
+
+          networking = {
+            dhcpcd.enable = false;
+            defaultGateway = "192.168.1.1";
+            interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+              { address = "192.168.1.2"; prefixLength = 24; }
+            ];
+          };
+        };
+    };
+
+  testScript = ''
+    start_all()
+
+    gvisor.wait_for_unit("network.target")
+    gvisor.wait_for_unit("sockets.target")
+
+    # Start by verifying that gvisor itself works
+    output = gvisor.succeed(
+        "${pkgs.gvisor}/bin/runsc -alsologtostderr do ${pkgs.coreutils}/bin/echo hello world"
+    )
+    assert output.strip() == "hello world"
+
+    # Also test the Docker runtime
+    gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    gvisor.succeed(
+        "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    gvisor.succeed("docker ps | grep sleeping")
+    gvisor.succeed("docker stop sleeping")
+  '';
+})
+
diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix
index e7d72a56e1e..85aaab34b15 100644
--- a/nixos/tests/hadoop/hdfs.nix
+++ b/nixos/tests/hadoop/hdfs.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({...}: {
+import ../make-test-python.nix ({...}: {
   nodes = {
     namenode = {pkgs, ...}: {
       services.hadoop = {
@@ -35,20 +35,20 @@ import ../make-test.nix ({...}: {
   };
 
   testScript = ''
-    startAll
+    start_all()
 
-    $namenode->waitForUnit("hdfs-namenode");
-    $namenode->waitForUnit("network.target");
-    $namenode->waitForOpenPort(8020);
-    $namenode->waitForOpenPort(9870);
+    namenode.wait_for_unit("hdfs-namenode")
+    namenode.wait_for_unit("network.target")
+    namenode.wait_for_open_port(8020)
+    namenode.wait_for_open_port(9870)
 
-    $datanode->waitForUnit("hdfs-datanode");
-    $datanode->waitForUnit("network.target");
-    $datanode->waitForOpenPort(9864);
-    $datanode->waitForOpenPort(9866);
-    $datanode->waitForOpenPort(9867);
+    datanode.wait_for_unit("hdfs-datanode")
+    datanode.wait_for_unit("network.target")
+    datanode.wait_for_open_port(9864)
+    datanode.wait_for_open_port(9866)
+    datanode.wait_for_open_port(9867)
 
-    $namenode->succeed("curl http://namenode:9870");
-    $datanode->succeed("curl http://datanode:9864");
+    namenode.succeed("curl http://namenode:9870")
+    datanode.succeed("curl http://datanode:9864")
   '';
 })
diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix
index 031592301f1..2264ecaff15 100644
--- a/nixos/tests/hadoop/yarn.nix
+++ b/nixos/tests/hadoop/yarn.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({...}: {
+import ../make-test-python.nix ({...}: {
   nodes = {
     resourcemanager = {pkgs, ...}: {
       services.hadoop.package = pkgs.hadoop_3_1;
@@ -28,19 +28,19 @@ import ../make-test.nix ({...}: {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $resourcemanager->waitForUnit("yarn-resourcemanager");
-    $resourcemanager->waitForUnit("network.target");
-    $resourcemanager->waitForOpenPort(8031);
-    $resourcemanager->waitForOpenPort(8088);
+    resourcemanager.wait_for_unit("yarn-resourcemanager")
+    resourcemanager.wait_for_unit("network.target")
+    resourcemanager.wait_for_open_port(8031)
+    resourcemanager.wait_for_open_port(8088)
 
-    $nodemanager->waitForUnit("yarn-nodemanager");
-    $nodemanager->waitForUnit("network.target");
-    $nodemanager->waitForOpenPort(8042);
-    $nodemanager->waitForOpenPort(8041);
+    nodemanager.wait_for_unit("yarn-nodemanager")
+    nodemanager.wait_for_unit("network.target")
+    nodemanager.wait_for_open_port(8042)
+    nodemanager.wait_for_open_port(8041)
 
-    $resourcemanager->succeed("curl http://localhost:8088");
-    $nodemanager->succeed("curl http://localhost:8042");
+    resourcemanager.succeed("curl http://localhost:8088")
+    nodemanager.succeed("curl http://localhost:8042")
   '';
 })
diff --git a/nixos/tests/handbrake.nix b/nixos/tests/handbrake.nix
index ae87e1f69a7..e5fb6b269b1 100644
--- a/nixos/tests/handbrake.nix
+++ b/nixos/tests/handbrake.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 let
   # Download Big Buck Bunny example, licensed under CC Attribution 3.0.
   testMkv = pkgs.fetchurl {
@@ -19,7 +19,13 @@ in {
   testScript = ''
     # Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
     # only takes a few seconds.
-    $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160");
-    $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160");
+    start_all()
+
+    machine.succeed(
+        "HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160"
+    )
+    machine.succeed(
+        "HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160"
+    )
   '';
 })
diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix
index 22a83e9d1ea..79f34b07faf 100644
--- a/nixos/tests/haproxy.nix
+++ b/nixos/tests/haproxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...}: {
+import ./make-test-python.nix ({ pkgs, ...}: {
   name = "haproxy";
   nodes = {
     machine = { ... }: {
@@ -16,26 +16,32 @@ import ./make-test.nix ({ pkgs, ...}: {
           frontend http
             bind *:80
             mode http
+            option http-use-htx
+            http-request use-service prometheus-exporter if { path /metrics }
             use_backend http_server
         '';
       };
       services.httpd = {
         enable = true;
-        documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
-        adminAddr = "notme@yourhost.local";
-        listen = [{
-          ip = "::1";
-          port = 8000;
-        }];
+        virtualHosts.localhost = {
+          documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
+          adminAddr = "notme@yourhost.local";
+          listen = [{
+            ip = "::1";
+            port = 8000;
+          }];
+        };
       };
     };
   };
   testScript = ''
-    startAll;
-    $machine->waitForUnit('multi-user.target');
-    $machine->waitForUnit('haproxy.service');
-    $machine->waitForUnit('httpd.service');
-    $machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"');
-
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("haproxy.service")
+    machine.wait_for_unit("httpd.service")
+    assert "We are all good!" in machine.succeed("curl -k http://localhost:80/index.txt")
+    assert "haproxy_process_pool_allocated_bytes" in machine.succeed(
+        "curl -k http://localhost:80/metrics"
+    )
   '';
 })
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index 274aa7becc8..8251c6e7ef8 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -1,6 +1,6 @@
 # Test whether hibernation from partition works.
 
-import ./make-test.nix (pkgs: {
+import ./make-test-python.nix (pkgs: {
   name = "hibernate";
 
   nodes = {
@@ -28,16 +28,17 @@ import ./make-test.nix (pkgs: {
 
   testScript =
     ''
-      $machine->waitForUnit("multi-user.target");
-      $machine->succeed("mkswap /dev/vdb");
-      $machine->succeed("swapon -a");
-      $machine->startJob("listener");
-      $machine->waitForOpenPort(4444);
-      $machine->succeed("systemctl hibernate &");
-      $machine->waitForShutdown;
-      $probe->waitForUnit("multi-user.target");
-      $machine->start;
-      $probe->waitUntilSucceeds("echo test | nc machine 4444 -N");
+      machine.start()
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed("mkswap /dev/vdb")
+      machine.succeed("swapon -a")
+      machine.start_job("listener")
+      machine.wait_for_open_port(4444)
+      machine.succeed("systemctl hibernate &")
+      machine.wait_for_shutdown()
+      probe.wait_for_unit("multi-user.target")
+      machine.start()
+      probe.wait_until_succeeds("echo test | nc machine 4444 -N")
     '';
 
 })
diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix
index cb24c4dcffc..904d12619d7 100644
--- a/nixos/tests/hitch/default.nix
+++ b/nixos/tests/hitch/default.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ... }:
+import ../make-test-python.nix ({ pkgs, ... }:
 {
   name = "hitch";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -16,18 +16,18 @@ import ../make-test.nix ({ pkgs, ... }:
 
     services.httpd = {
       enable = true;
-      documentRoot = ./example;
+      virtualHosts.localhost.documentRoot = ./example;
       adminAddr = "noone@testing.nowhere";
     };
   };
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('hitch.service');
-      $machine->waitForOpenPort(443);
-      $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("hitch.service")
+      machine.wait_for_open_port(443)
+      assert "We are all good!" in machine.succeed("curl -k https://localhost:443/index.txt")
     '';
 })
diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix
index cb8e25332c0..27c65abdf27 100644
--- a/nixos/tests/hound.nix
+++ b/nixos/tests/hound.nix
@@ -1,5 +1,5 @@
 # Test whether `houndd` indexes nixpkgs
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "hound";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ grahamc ];
@@ -46,13 +46,14 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       $machine->waitForUnit("network.target");
-       $machine->waitForUnit("hound.service");
-       $machine->waitForOpenPort(6080);
-       $machine->waitUntilSucceeds('curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep "Filename" | grep "hello"');
-
-    '';
+    machine.wait_for_unit("network.target")
+    machine.wait_for_unit("hound.service")
+    machine.wait_for_open_port(6080)
+    machine.wait_until_succeeds(
+        "curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'"
+    )
+  '';
 })
diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix
index 6ca05a2c779..37e14cb19cc 100644
--- a/nixos/tests/hydra/default.nix
+++ b/nixos/tests/hydra/default.nix
@@ -34,7 +34,7 @@ let
   };
 
   tests = pkgs.lib.flip pkgs.lib.mapAttrs hydraPkgs (name: nix:
-    callTest (import ../make-test.nix ({ pkgs, lib, ... }:
+    callTest (import ../make-test-python.nix ({ pkgs, lib, ... }:
       {
         name = "hydra-with-${name}";
         meta = with pkgs.stdenv.lib.maintainers; {
@@ -73,26 +73,30 @@ let
 
         testScript = ''
           # let the system boot up
-          $machine->waitForUnit("multi-user.target");
+          machine.wait_for_unit("multi-user.target")
           # test whether the database is running
-          $machine->waitForUnit("postgresql.service");
+          machine.wait_for_unit("postgresql.service")
           # test whether the actual hydra daemons are running
-          $machine->waitForUnit("hydra-init.service");
-          $machine->requireActiveUnit("hydra-queue-runner.service");
-          $machine->requireActiveUnit("hydra-evaluator.service");
-          $machine->requireActiveUnit("hydra-notify.service");
+          machine.wait_for_unit("hydra-init.service")
+          machine.require_unit_state("hydra-queue-runner.service")
+          machine.require_unit_state("hydra-evaluator.service")
+          machine.require_unit_state("hydra-notify.service")
 
-          $machine->succeed("hydra-create-user admin --role admin --password admin");
+          machine.succeed("hydra-create-user admin --role admin --password admin")
 
           # create a project with a trivial job
-          $machine->waitForOpenPort(3000);
+          machine.wait_for_open_port(3000)
 
           # make sure the build as been successfully built
-          $machine->succeed("create-trivial-project.sh");
+          machine.succeed("create-trivial-project.sh")
 
-          $machine->waitUntilSucceeds('curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" |  jq .buildstatus | xargs test 0 -eq');
+          machine.wait_until_succeeds(
+              'curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" |  jq .buildstatus | xargs test 0 -eq'
+          )
 
-          $machine->waitUntilSucceeds('journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"');
+          machine.wait_until_succeeds(
+              'journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"'
+          )
         '';
       })));
 
diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix
index d309f19a0b4..126178d1187 100644
--- a/nixos/tests/i3wm.nix
+++ b/nixos/tests/i3wm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "i3wm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig ];
@@ -7,29 +7,40 @@ import ./make-test.nix ({ pkgs, ...} : {
   machine = { lib, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     services.xserver.displayManager.auto.user = "alice";
-    services.xserver.windowManager.default = lib.mkForce "i3";
+    services.xserver.displayManager.defaultSession = lib.mkForce "none+i3";
     services.xserver.windowManager.i3.enable = true;
   };
 
   testScript = { ... }: ''
-    $machine->waitForX;
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->waitForWindow(qr/first configuration/);
-    $machine->sleep(2);
-    $machine->screenshot("started");
-    $machine->sendKeys("ret");
-    $machine->sleep(2);
-    $machine->sendKeys("alt");
-    $machine->sleep(2);
-    $machine->screenshot("configured");
-    $machine->sendKeys("ret");
-    # make sure the config file is created before we continue
-    $machine->waitForFile("/home/alice/.config/i3/config");
-    $machine->sleep(2);
-    $machine->sendKeys("alt-ret");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(2);
-    $machine->screenshot("terminal");
+    with subtest("ensure x starts"):
+        machine.wait_for_x()
+        machine.wait_for_file("/home/alice/.Xauthority")
+        machine.succeed("xauth merge ~alice/.Xauthority")
+
+    with subtest("ensure we get first configuration window"):
+        machine.wait_for_window(r".*?first configuration.*?")
+        machine.sleep(2)
+        machine.screenshot("started")
+
+    with subtest("ensure we generate and save a config"):
+        # press return to indicate we want to gen a new config
+        machine.send_key("\n")
+        machine.sleep(2)
+        machine.screenshot("preconfig")
+        # press alt then return to indicate we want to use alt as our Mod key
+        machine.send_key("alt")
+        machine.send_key("\n")
+        machine.sleep(2)
+        # make sure the config file is created before we continue
+        machine.wait_for_file("/home/alice/.config/i3/config")
+        machine.screenshot("postconfig")
+        machine.sleep(2)
+
+    with subtest("ensure we can open a new terminal"):
+        machine.send_key("alt-ret")
+        machine.sleep(2)
+        machine.wait_for_window(r"alice.*?machine")
+        machine.sleep(2)
+        machine.screenshot("terminal")
   '';
 })
diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix
index ea1b94c526b..2f65604539c 100644
--- a/nixos/tests/icingaweb2.nix
+++ b/nixos/tests/icingaweb2.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "icingaweb2";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ das_j ];
@@ -64,8 +64,8 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll();
-    $icingaweb2->waitForUnit("multi-user.target");
-    $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login");
+    start_all()
+    icingaweb2.wait_for_unit("multi-user.target")
+    icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login")
   '';
 })
diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix
index a4f524ceb27..8a161027c2a 100644
--- a/nixos/tests/iftop.nix
+++ b/nixos/tests/iftop.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -18,17 +18,16 @@ with lib;
   };
 
   testScript = ''
-    subtest "machine with iftop enabled", sub {
-      $withIftop->waitForUnit("default.target");
-      # limit to eth1 (eth0 is the test driver's control interface)
-      # and don't try name lookups
-      $withIftop->succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
-    subtest "machine without iftop", sub {
-      $withoutIftop->waitForUnit("default.target");
-      # check that iftop is there but user alice lacks capabilities
-      $withoutIftop->succeed("iftop -t -s 1 -n -i eth1");
-      $withoutIftop->fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
+    with subtest("machine with iftop enabled"):
+        withIftop.wait_for_unit("default.target")
+        # limit to eth1 (eth0 is the test driver's control interface)
+        # and don't try name lookups
+        withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
+
+    with subtest("machine without iftop"):
+        withoutIftop.wait_for_unit("default.target")
+        # check that iftop is there but user alice lacks capabilitie
+        withoutIftop.succeed("iftop -t -s 1 -n -i eth1")
+        withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
   '';
 })
diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix
index e39bbb5f096..b22ee4c9a03 100644
--- a/nixos/tests/incron.nix
+++ b/nixos/tests/incron.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 {
   name = "incron";
@@ -19,34 +19,34 @@ import ./make-test.nix ({ pkgs, lib, ... }:
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit("multi-user.target");
-    $machine->waitForUnit("incron.service");
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("incron.service")
 
-    $machine->succeed("test -d /test");
+    machine.succeed("test -d /test")
     # create some activity for incron to monitor
-    $machine->succeed("touch /test/file");
-    $machine->succeed("echo foo >> /test/file");
-    $machine->succeed("mv /test/file /root");
-    $machine->succeed("mv /root/file /test");
+    machine.succeed("touch /test/file")
+    machine.succeed("echo foo >> /test/file")
+    machine.succeed("mv /test/file /root")
+    machine.succeed("mv /root/file /test")
 
-    $machine->sleep(1);
+    machine.sleep(1)
 
     # touch /test/file
-    $machine->succeed("grep '/test/file IN_CREATE' /root/incron.log");
+    machine.succeed("grep '/test/file IN_CREATE' /root/incron.log")
 
     # echo foo >> /test/file
-    $machine->succeed("grep '/test/file IN_MODIFY' /root/incron.log");
-    $machine->succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MODIFY' /root/incron.log")
+    machine.succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log")
 
     # mv /test/file /root
-    $machine->succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log")
 
     # mv /root/file /test
-    $machine->succeed("grep '/test/file IN_MOVED_TO' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MOVED_TO' /root/incron.log")
 
     # ensure something unexpected is not present
-    $machine->fail("grep 'IN_OPEN' /root/incron.log");
+    machine.fail("grep 'IN_OPEN' /root/incron.log")
   '';
 })
diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix
index 61201202204..04ef8046101 100644
--- a/nixos/tests/influxdb.nix
+++ b/nixos/tests/influxdb.nix
@@ -1,6 +1,6 @@
 # This test runs influxdb and checks if influxdb is up and running
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "influxdb";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -9,25 +9,32 @@ import ./make-test.nix ({ pkgs, ...} : {
   nodes = {
     one = { ... }: {
       services.influxdb.enable = true;
+      environment.systemPackages = [ pkgs.httpie ];
     };
   };
 
   testScript = ''
-    startAll;
-  
-    $one->waitForUnit("influxdb.service");
+    import shlex
+
+    start_all()
+
+    one.wait_for_unit("influxdb.service")
 
     # create database
-    $one->succeed(q~
-      curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE test"
-    ~);
+    one.succeed(
+        "curl -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE test'"
+    )
 
     # write some points and run simple query
-    $one->succeed(q~
-      curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
-    ~);
-    $one->succeed(q~
-      curl -GET 'http://localhost:8086/query' --data-urlencode "db=test" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'"  | grep "0\.64"
-    ~);
+    out = one.succeed(
+        "curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'"
+    )
+
+    qv = "SELECT value FROM cpu_load_short WHERE region='us-west'"
+    cmd = f'curl -GET "http://localhost:8086/query?db=test" --data-urlencode {shlex.quote("q="+ qv)}'
+    out = one.succeed(cmd)
+
+    assert "2015-06-11T20:46:02Z" in out
+    assert "0.64" in out
   '';
 })
diff --git a/nixos/tests/initrd-network-ssh/default.nix b/nixos/tests/initrd-network-ssh/default.nix
index 796c50c610e..73d9f938e22 100644
--- a/nixos/tests/initrd-network-ssh/default.nix
+++ b/nixos/tests/initrd-network-ssh/default.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ lib, ... }:
+import ../make-test-python.nix ({ lib, ... }:
 
 {
   name = "initrd-network-ssh";
@@ -35,25 +35,31 @@ import ../make-test.nix ({ lib, ... }:
     client =
       { config, ... }:
       {
-        environment.etc.knownHosts = {
-          text = concatStrings [
-            "server,"
-            "${toString (head (splitString " " (
-              toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
-            )))} "
-            "${readFile ./dropbear.pub}"
-          ];
+        environment.etc = {
+          knownHosts = {
+            text = concatStrings [
+              "server,"
+              "${toString (head (splitString " " (
+                toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
+              )))} "
+              "${readFile ./dropbear.pub}"
+            ];
+          };
+          sshKey = {
+            source = ./openssh.priv; # dont use this anywhere else
+            mode = "0600";
+          };
         };
       };
   };
 
   testScript = ''
-    startAll;
-    $client->waitForUnit("network.target");
-    $client->copyFileFromHost("${./openssh.priv}","/etc/sshKey");
-    $client->succeed("chmod 0600 /etc/sshKey");
-    $client->waitUntilSucceeds("ping -c 1 server");
-    $client->succeed("ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'");
-    $client->shutdown;
+    start_all()
+    client.wait_for_unit("network.target")
+    client.wait_until_succeeds("ping -c 1 server")
+    client.succeed(
+        "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'"
+    )
+    client.shutdown()
   '';
 })
diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix
index ed9b82e2da7..4796ff9b7c8 100644
--- a/nixos/tests/initrd-network.nix
+++ b/nixos/tests/initrd-network.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "initrd-network";
 
   meta.maintainers = [ pkgs.stdenv.lib.maintainers.eelco ];
@@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("multi-user.target");
-      $machine->succeed("ip link >&2");
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed("ip link >&2")
     '';
 })
diff --git a/nixos/tests/installed-tests/colord.nix b/nixos/tests/installed-tests/colord.nix
new file mode 100644
index 00000000000..77e6b917fe6
--- /dev/null
+++ b/nixos/tests/installed-tests/colord.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.colord;
+}
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
new file mode 100644
index 00000000000..8e997ee4aeb
--- /dev/null
+++ b/nixos/tests/installed-tests/default.nix
@@ -0,0 +1,96 @@
+# NixOS tests for gnome-desktop-testing-runner using software
+# See https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
+
+{ system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../../.. { inherit system config; }
+}:
+
+with import ../../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+
+let
+
+  callInstalledTest = pkgs.newScope { inherit makeInstalledTest; };
+
+  makeInstalledTest =
+    { # Package to test. Needs to have an installedTests output
+      tested
+
+      # Config to inject into machine
+    , testConfig ? {}
+
+      # Test script snippet to inject before gnome-desktop-testing-runner begins.
+      # This is useful for extra setup the environment may need before the runner begins.
+    , preTestScript ? ""
+
+      # Does test need X11?
+    , withX11 ? false
+
+      # Extra flags to pass to gnome-desktop-testing-runner.
+    , testRunnerFlags ? ""
+
+      # Extra attributes to pass to makeTest.
+      # They will be recursively merged into the attrset created by this function.
+    , ...
+    }@args:
+    makeTest
+      (recursiveUpdate
+        rec {
+          name = tested.name;
+
+          meta = {
+            maintainers = tested.meta.maintainers;
+          };
+
+          machine = { ... }: {
+            imports = [
+              testConfig
+            ] ++ optional withX11 ../common/x11.nix;
+
+            environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
+
+          };
+
+          testScript =
+            optionalString withX11 ''
+              machine.wait_for_x()
+            '' +
+            optionalString (preTestScript != "") ''
+              ${preTestScript}
+            '' +
+            ''
+              machine.succeed(
+                  "gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
+              )
+            '';
+        }
+
+        (removeAttrs args [
+          "tested"
+          "testConfig"
+          "preTestScript"
+          "withX11"
+          "testRunnerFlags"
+        ])
+      );
+
+in
+
+{
+  colord = callInstalledTest ./colord.nix {};
+  flatpak = callInstalledTest ./flatpak.nix {};
+  flatpak-builder = callInstalledTest ./flatpak-builder.nix {};
+  fwupd = callInstalledTest ./fwupd.nix {};
+  gcab = callInstalledTest ./gcab.nix {};
+  gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix {};
+  gjs = callInstalledTest ./gjs.nix {};
+  glib-networking = callInstalledTest ./glib-networking.nix {};
+  gnome-photos = callInstalledTest ./gnome-photos.nix {};
+  graphene = callInstalledTest ./graphene.nix {};
+  ibus = callInstalledTest ./ibus.nix {};
+  libgdata = callInstalledTest ./libgdata.nix {};
+  libxmlb = callInstalledTest ./libxmlb.nix {};
+  ostree = callInstalledTest ./ostree.nix {};
+  xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
+}
diff --git a/nixos/tests/installed-tests/flatpak-builder.nix b/nixos/tests/installed-tests/flatpak-builder.nix
new file mode 100644
index 00000000000..31b9f2b258f
--- /dev/null
+++ b/nixos/tests/installed-tests/flatpak-builder.nix
@@ -0,0 +1,14 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.flatpak-builder;
+
+  testConfig = {
+    services.flatpak.enable = true;
+    xdg.portal.enable = true;
+    environment.systemPackages = with pkgs; [ flatpak-builder ] ++ flatpak-builder.installedTestsDependencies;
+    virtualisation.diskSize = 2048;
+  };
+
+  testRunnerFlags = "--timeout 3600";
+}
diff --git a/nixos/tests/installed-tests/flatpak.nix b/nixos/tests/installed-tests/flatpak.nix
new file mode 100644
index 00000000000..091c9932662
--- /dev/null
+++ b/nixos/tests/installed-tests/flatpak.nix
@@ -0,0 +1,19 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.flatpak;
+  withX11 = true;
+
+  testConfig = {
+    services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
+    # common/x11.nix enables the auto display manager (lightdm)
+    services.xserver.displayManager.gdm.enable = false;
+    services.gnome3.core-utilities.enable = false;
+    services.flatpak.enable = true;
+    environment.systemPackages = with pkgs; [ gnupg ostree python2 ];
+    virtualisation.memorySize = 2047;
+    virtualisation.diskSize = 1024;
+  };
+
+  testRunnerFlags = "--timeout 3600";
+}
diff --git a/nixos/tests/installed-tests/fwupd.nix b/nixos/tests/installed-tests/fwupd.nix
new file mode 100644
index 00000000000..b9f761e9958
--- /dev/null
+++ b/nixos/tests/installed-tests/fwupd.nix
@@ -0,0 +1,12 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.fwupd;
+
+  testConfig = {
+    services.fwupd.enable = true;
+    services.fwupd.blacklistPlugins = []; # don't blacklist test plugin
+    services.fwupd.enableTestRemote = true;
+    virtualisation.memorySize = 768;
+  };
+}
diff --git a/nixos/tests/installed-tests/gcab.nix b/nixos/tests/installed-tests/gcab.nix
new file mode 100644
index 00000000000..b24cc2e0126
--- /dev/null
+++ b/nixos/tests/installed-tests/gcab.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gcab;
+}
diff --git a/nixos/tests/installed-tests/gdk-pixbuf.nix b/nixos/tests/installed-tests/gdk-pixbuf.nix
new file mode 100644
index 00000000000..3d0011a427a
--- /dev/null
+++ b/nixos/tests/installed-tests/gdk-pixbuf.nix
@@ -0,0 +1,13 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gdk-pixbuf;
+
+  testConfig = {
+    # Tests allocate a lot of memory trying to exploit a CVE
+    # but qemu-system-i386 has a 2047M memory limit
+    virtualisation.memorySize = if pkgs.stdenv.isi686 then 2047 else 4096;
+  };
+
+  testRunnerFlags = "--timeout 1800";
+}
diff --git a/nixos/tests/installed-tests/gjs.nix b/nixos/tests/installed-tests/gjs.nix
new file mode 100644
index 00000000000..1656e9de171
--- /dev/null
+++ b/nixos/tests/installed-tests/gjs.nix
@@ -0,0 +1,6 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gjs;
+  withX11 = true;
+}
diff --git a/nixos/tests/installed-tests/glib-networking.nix b/nixos/tests/installed-tests/glib-networking.nix
new file mode 100644
index 00000000000..b58d4df21fc
--- /dev/null
+++ b/nixos/tests/installed-tests/glib-networking.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.glib-networking;
+}
diff --git a/nixos/tests/installed-tests/gnome-photos.nix b/nixos/tests/installed-tests/gnome-photos.nix
new file mode 100644
index 00000000000..05e7ccb65ad
--- /dev/null
+++ b/nixos/tests/installed-tests/gnome-photos.nix
@@ -0,0 +1,35 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.gnome-photos;
+
+  withX11 = true;
+
+  testConfig = {
+    programs.dconf.enable = true;
+    services.gnome3.at-spi2-core.enable = true; # needed for dogtail
+    environment.systemPackages = with pkgs; [
+      # gsettings tool with access to gsettings-desktop-schemas
+      (stdenv.mkDerivation {
+        name = "desktop-gsettings";
+        dontUnpack = true;
+        nativeBuildInputs = [ glib wrapGAppsHook ];
+        buildInputs = [ gsettings-desktop-schemas ];
+        installPhase = ''
+          runHook preInstall
+          mkdir -p $out/bin
+          ln -s ${glib.bin}/bin/gsettings $out/bin/desktop-gsettings
+          runHook postInstall
+        '';
+      })
+    ];
+    services.dbus.packages = with pkgs; [ gnome-photos ];
+  };
+
+  preTestScript = ''
+    # dogtail needs accessibility enabled
+    machine.succeed(
+        "desktop-gsettings set org.gnome.desktop.interface toolkit-accessibility true 2>&1"
+    )
+  '';
+}
diff --git a/nixos/tests/installed-tests/graphene.nix b/nixos/tests/installed-tests/graphene.nix
new file mode 100644
index 00000000000..e43339abd88
--- /dev/null
+++ b/nixos/tests/installed-tests/graphene.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.graphene;
+}
diff --git a/nixos/tests/installed-tests/ibus.nix b/nixos/tests/installed-tests/ibus.nix
new file mode 100644
index 00000000000..af54b612b50
--- /dev/null
+++ b/nixos/tests/installed-tests/ibus.nix
@@ -0,0 +1,20 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.ibus;
+
+  testConfig = {
+    i18n.inputMethod.enabled = "ibus";
+  };
+
+  preTestScript = ''
+    # ibus has ibus-desktop-testing-runner but it tries to manage desktop session so we just spawn ibus-daemon ourselves
+    machine.succeed("ibus-daemon --daemonize --verbose")
+  '';
+
+  withX11 = true;
+
+  # TODO: ibus-daemon is currently crashing or something
+  # maybe make ibus systemd service that auto-restarts?
+  meta.broken = true;
+}
diff --git a/nixos/tests/installed-tests/libgdata.nix b/nixos/tests/installed-tests/libgdata.nix
new file mode 100644
index 00000000000..f11a7bc1bc5
--- /dev/null
+++ b/nixos/tests/installed-tests/libgdata.nix
@@ -0,0 +1,11 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.libgdata;
+
+  testConfig = {
+    # # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dummy (GDummyTlsBackend) for ‘gio-tls-backend’
+    # Bail out! libgdata:ERROR:../gdata/tests/common.c:134:gdata_test_init: assertion failed (child_error == NULL): TLS support is not available (g-tls-error-quark, 0)
+    services.gnome3.glib-networking.enable = true;
+  };
+}
diff --git a/nixos/tests/installed-tests/libxmlb.nix b/nixos/tests/installed-tests/libxmlb.nix
new file mode 100644
index 00000000000..af2bbe9c35e
--- /dev/null
+++ b/nixos/tests/installed-tests/libxmlb.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.libxmlb;
+}
diff --git a/nixos/tests/installed-tests/ostree.nix b/nixos/tests/installed-tests/ostree.nix
new file mode 100644
index 00000000000..eef7cace54c
--- /dev/null
+++ b/nixos/tests/installed-tests/ostree.nix
@@ -0,0 +1,23 @@
+{ pkgs, lib, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.ostree;
+
+  # TODO: Wrap/patch the tests directly in the package
+  testConfig = {
+    environment.systemPackages = with pkgs; [
+      (python3.withPackages (p: with p; [ pyyaml ]))
+      gnupg
+      ostree
+    ];
+
+    # for GJS tests
+    environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [
+      gtk3
+      pango.out
+      ostree
+      gdk-pixbuf
+      atk
+    ]);
+  };
+}
diff --git a/nixos/tests/installed-tests/xdg-desktop-portal.nix b/nixos/tests/installed-tests/xdg-desktop-portal.nix
new file mode 100644
index 00000000000..b16008ff4ad
--- /dev/null
+++ b/nixos/tests/installed-tests/xdg-desktop-portal.nix
@@ -0,0 +1,5 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.xdg-desktop-portal;
+}
diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix
index d11eba764da..ba464b57447 100644
--- a/nixos/tests/ipv6.nix
+++ b/nixos/tests/ipv6.nix
@@ -1,7 +1,7 @@
 # Test of IPv6 functionality in NixOS, including whether router
 # solicication/advertisement using radvd works.
 
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ipv6";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -35,51 +35,56 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
 
   testScript =
     ''
+      import re
+
       # Start the router first so that it respond to router solicitations.
-      $router->waitForUnit("radvd");
+      router.wait_for_unit("radvd")
 
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network.target");
-      $server->waitForUnit("network.target");
-      $server->waitForUnit("httpd.service");
+      client.wait_for_unit("network.target")
+      server.wait_for_unit("network.target")
+      server.wait_for_unit("httpd.service")
 
       # Wait until the given interface has a non-tentative address of
       # the desired scope (i.e. has completed Duplicate Address
       # Detection).
-      sub waitForAddress {
-          my ($machine, $iface, $scope) = @_;
-          $machine->waitUntilSucceeds("[ `ip -o -6 addr show dev $iface scope $scope | grep -v tentative | wc -l` -ge 1 ]");
-          my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev $iface scope $scope"))[3];
-          $machine->log("$scope address on $iface is $ip");
-          return $ip;
-      }
-
-      subtest "loopback address", sub {
-          $client->succeed("ping -c 1 ::1 >&2");
-          $client->fail("ping -c 1 ::2 >&2");
-      };
-
-      subtest "local link addressing", sub {
-          my $clientIp = waitForAddress $client, "eth1", "link";
-          my $serverIp = waitForAddress $server, "eth1", "link";
-          $client->succeed("ping -c 1 $clientIp%eth1 >&2");
-          $client->succeed("ping -c 1 $serverIp%eth1 >&2");
-      };
-
-      subtest "global addressing", sub {
-          my $clientIp = waitForAddress $client, "eth1", "global";
-          my $serverIp = waitForAddress $server, "eth1", "global";
-          $client->succeed("ping -c 1 $clientIp >&2");
-          $client->succeed("ping -c 1 $serverIp >&2");
-          $client->succeed("curl --fail -g http://[$serverIp]");
-          $client->fail("curl --fail -g http://[$clientIp]");
-      };
-      subtest "privacy extensions", sub {
-          my $ip = waitForAddress $client, "eth1", "global temporary";
+      def wait_for_address(machine, iface, scope, temporary=False):
+          temporary_flag = "temporary" if temporary else "-temporary"
+          cmd = f"ip -o -6 addr show dev {iface} scope {scope} -tentative {temporary_flag}"
+
+          machine.wait_until_succeeds(f"[ `{cmd} | wc -l` -eq 1 ]")
+          output = machine.succeed(cmd)
+          ip = re.search(r"inet6 ([0-9a-f:]{2,})/", output).group(1)
+
+          if temporary:
+              scope = scope + " temporary"
+          machine.log(f"{scope} address on {iface} is {ip}")
+          return ip
+
+
+      with subtest("Loopback address can be pinged"):
+          client.succeed("ping -c 1 ::1 >&2")
+          client.fail("ping -c 1 ::2 >&2")
+
+      with subtest("Local link addresses can be obtained and pinged"):
+          client_ip = wait_for_address(client, "eth1", "link")
+          server_ip = wait_for_address(server, "eth1", "link")
+          client.succeed(f"ping -c 1 {client_ip}%eth1 >&2")
+          client.succeed(f"ping -c 1 {server_ip}%eth1 >&2")
+
+      with subtest("Global addresses can be obtained, pinged, and reached via http"):
+          client_ip = wait_for_address(client, "eth1", "global")
+          server_ip = wait_for_address(server, "eth1", "global")
+          client.succeed(f"ping -c 1 {client_ip} >&2")
+          client.succeed(f"ping -c 1 {server_ip} >&2")
+          client.succeed(f"curl --fail -g http://[{server_ip}]")
+          client.fail(f"curl --fail -g http://[{client_ip}]")
+
+      with subtest("Privacy extensions: Global temporary address can be obtained and pinged"):
+          ip = wait_for_address(client, "eth1", "global", temporary=True)
           # Default route should have "src <temporary address>" in it
-          $client->succeed("ip r g ::2 | grep $ip");
-      };
+          client.succeed(f"ip r g ::2 | grep {ip}")
 
       # TODO: test reachability of a machine on another network.
     '';
diff --git a/nixos/tests/jackett.nix b/nixos/tests/jackett.nix
index c749c32ad04..0a706c99b99 100644
--- a/nixos/tests/jackett.nix
+++ b/nixos/tests/jackett.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,9 @@ with lib;
     { services.jackett.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('jackett.service');
-    $machine->waitForOpenPort('9117');
-    $machine->succeed("curl --fail http://localhost:9117/");
+    machine.start()
+    machine.wait_for_unit("jackett.service")
+    machine.wait_for_open_port(9117)
+    machine.succeed("curl --fail http://localhost:9117/")
   '';
 })
diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix
index b60c6eb94f4..65360624d48 100644
--- a/nixos/tests/jellyfin.nix
+++ b/nixos/tests/jellyfin.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ...}:
+import ./make-test-python.nix ({ lib, ...}:
 
 {
   name = "jellyfin";
@@ -9,8 +9,8 @@ import ./make-test.nix ({ lib, ...}:
     { services.jellyfin.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('jellyfin.service');
-    $machine->waitForOpenPort('8096');
-    $machine->succeed("curl --fail http://localhost:8096/");
+    machine.wait_for_unit("jellyfin.service")
+    machine.wait_for_open_port(8096)
+    machine.succeed("curl --fail http://localhost:8096/")
   '';
 })
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index a6eec411ff2..cd64ff51287 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -3,7 +3,7 @@
 #   2. jenkins user can be extended on both master and slave
 #   3. jenkins service not started on slave node
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "jenkins";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ bjornfor coconnor domenkozar eelco ];
@@ -33,18 +33,17 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $master->waitForUnit("jenkins");
+    master.wait_for_unit("jenkins")
 
-    $master->mustSucceed("curl http://localhost:8080 | grep 'Authentication required'");
+    assert "Authentication required" in master.succeed("curl http://localhost:8080")
 
-    print $master->execute("sudo -u jenkins groups");
-    $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
+    for host in master, slave:
+        groups = host.succeed("sudo -u jenkins groups")
+        assert "jenkins" in groups
+        assert "users" in groups
 
-    print $slave->execute("sudo -u jenkins groups");
-    $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
-
-    $slave->mustFail("systemctl is-enabled jenkins.service");
+    slave.fail("systemctl is-enabled jenkins.service")
   '';
 })
diff --git a/nixos/tests/jormungandr.nix b/nixos/tests/jormungandr.nix
deleted file mode 100644
index 2abafc53ce5..00000000000
--- a/nixos/tests/jormungandr.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-import ./make-test.nix ({ pkgs, ... }: {
-  name = "jormungandr";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mmahut ];
-  };
-
-  nodes = {
-    # Testing the Byzantine Fault Tolerant protocol
-    bft = { ... }: {
-      environment.systemPackages = [ pkgs.jormungandr ];
-      services.jormungandr.enable = true;
-      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
-      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
-    };
-
-    # Testing the Ouroboros Genesis Praos protocol
-    genesis = { ... }: {
-      environment.systemPackages = [ pkgs.jormungandr ];
-      services.jormungandr.enable = true;
-      services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin";
-      services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml";
-    };
-  };
-
-  testScript = ''
-    startAll;
-
-    ## Testing BFT
-    # Let's wait for the StateDirectory
-    $bft->waitForFile("/var/lib/jormungandr/");
-
-    # First, we generate the genesis file for our new blockchain
-    $bft->succeed("jcli genesis init > /root/genesis.yaml");
-
-    # We need to generate our secret key
-    $bft->succeed("jcli key generate --type=Ed25519 > /root/key.prv");
-
-    # We include the secret key into our services.jormungandr.secretFile
-    $bft->succeed("mkdir -p /etc/secrets");
-    $bft->succeed("echo -e \"bft:\\n signing_key:\" \$(cat /root/key.prv) > /etc/secrets/jormungandr.yaml");
-
-    # After that, we generate our public key from it
-    $bft->succeed("cat /root/key.prv | jcli key to-public > /root/key.pub");
-
-    # We add our public key as a consensus leader in the genesis configration file
-    $bft->succeed("sed -ie \"s/ed25519_pk1vvwp2s0n5jl5f4xcjurp2e92sj2awehkrydrlas4vgqr7xzt33jsadha32/\$(cat /root/key.pub)/\" /root/genesis.yaml");
-
-    # Now we can generate the genesis block from it
-    $bft->succeed("jcli genesis encode --input /root/genesis.yaml --output /var/lib/jormungandr/block-0.bin");
-
-    # We should have everything to start the service now
-    $bft->succeed("systemctl restart jormungandr");
-    $bft->waitForUnit("jormungandr.service");
-
-    # Now we can test if we are able to reach the REST API
-    $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime");
-
-    ## Testing Genesis
-    # Let's wait for the StateDirectory
-    $genesis->waitForFile("/var/lib/jormungandr/");
-
-    # Bootstraping the configuration
-    $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1");
-
-    # Moving generated files in place
-    $genesis->succeed("mkdir -p /etc/secrets");
-    $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml");
-    $genesis->succeed("mv block-0.bin /var/lib/jormungandr/");
-
-    # We should have everything to start the service now
-    $genesis->succeed("systemctl restart jormungandr");
-    $genesis->waitForUnit("jormungandr.service");
-
-    # Now we can create and delegate an account
-    $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log");
-  '';
-})
diff --git a/nixos/tests/keepalived.nix b/nixos/tests/keepalived.nix
new file mode 100644
index 00000000000..d0bf9d46520
--- /dev/null
+++ b/nixos/tests/keepalived.nix
@@ -0,0 +1,42 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "keepalived";
+
+  nodes = {
+    node1 = { pkgs, ... }: {
+      networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
+      services.keepalived.enable = true;
+      services.keepalived.vrrpInstances.test = {
+        interface = "eth1";
+        state = "MASTER";
+        priority = 50;
+        virtualIps = [{ addr = "192.168.1.200"; }];
+        virtualRouterId = 1;
+      };
+      environment.systemPackages = [ pkgs.tcpdump ];
+    };
+    node2 = { pkgs, ... }: {
+      networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
+      services.keepalived.enable = true;
+      services.keepalived.vrrpInstances.test = {
+        interface = "eth1";
+        state = "MASTER";
+        priority = 100;
+        virtualIps = [{ addr = "192.168.1.200"; }];
+        virtualRouterId = 1;
+      };
+      environment.systemPackages = [ pkgs.tcpdump ];
+    };
+  };
+
+  testScript = ''
+    # wait for boot time delay to pass
+    for node in [node1, node2]:
+        node.wait_until_succeeds(
+            "systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'"
+        )
+        node.wait_for_unit("keepalived")
+    node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200")
+    node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200")
+    node1.succeed("ping -c1 192.168.1.200")
+  '';
+})
diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix
index a0551b131e9..8abae667d04 100644
--- a/nixos/tests/kerberos/heimdal.nix
+++ b/nixos/tests/kerberos/heimdal.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({pkgs, ...}: {
+import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-heimdal";
   machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
@@ -23,31 +23,20 @@ import ../make-test.nix ({pkgs, ...}: {
   };
 
   testScript = ''
-    $machine->start;
+    machine.succeed(
+        "kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR",
+        "systemctl restart kadmind.service kdc.service",
+    )
 
-    $machine->succeed(
-      "kadmin -l init --realm-max-ticket-life='8 day' \\
-       --realm-max-renewable-life='10 day' FOO.BAR"
-    );
+    for unit in ["kadmind", "kdc", "kpasswdd"]:
+        machine.wait_for_unit(f"{unit}.service")
 
-    $machine->succeed("systemctl restart kadmind.service kdc.service");
-    $machine->waitForUnit("kadmind.service");
-    $machine->waitForUnit("kdc.service");
-    $machine->waitForUnit("kpasswdd.service");
-
-    $machine->succeed(
-      "kadmin -l add --password=admin_pw --use-defaults admin"
-    );
-    $machine->succeed(
-      "kadmin -l ext_keytab --keytab=admin.keytab admin"
-    );
-    $machine->succeed(
-      "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults \\
-       alice"
-    );
-    $machine->succeed(
-      "kadmin -l ext_keytab --keytab=alice.keytab alice"
-    );
-    $machine->succeed("kinit -kt alice.keytab alice");
+    machine.succeed(
+        "kadmin -l add --password=admin_pw --use-defaults admin",
+        "kadmin -l ext_keytab --keytab=admin.keytab admin",
+        "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice",
+        "kadmin -l ext_keytab --keytab=alice.keytab alice",
+        "kinit -kt alice.keytab alice",
+    )
   '';
 })
diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix
index 6da3a384aa9..93b4020d499 100644
--- a/nixos/tests/kerberos/mit.nix
+++ b/nixos/tests/kerberos/mit.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({pkgs, ...}: {
+import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-mit";
   machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
@@ -24,22 +24,18 @@ import ../make-test.nix ({pkgs, ...}: {
   };
 
   testScript = ''
-    $machine->start;
+    machine.succeed(
+        "kdb5_util create -s -r FOO.BAR -P master_key",
+        "systemctl restart kadmind.service kdc.service",
+    )
 
-    $machine->succeed(
-      "kdb5_util create -s -r FOO.BAR -P master_key"
-    );
+    for unit in ["kadmind", "kdc"]:
+        machine.wait_for_unit(f"{unit}.service")
 
-    $machine->succeed("systemctl restart kadmind.service kdc.service");
-    $machine->waitForUnit("kadmind.service");
-    $machine->waitForUnit("kdc.service");
-
-    $machine->succeed(
-      "kadmin.local add_principal -pw admin_pw admin"
-    );
-    $machine->succeed(
-      "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice"
-    );
-    $machine->succeed("echo alice_pw | sudo -u alice kinit");
+    machine.succeed(
+        "kadmin.local add_principal -pw admin_pw admin",
+        "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice",
+        "echo alice_pw | sudo -u alice kinit",
+    )
   '';
 })
diff --git a/nixos/tests/kernel-latest.nix b/nixos/tests/kernel-latest.nix
index f30bd2e2e76..f09d0926d22 100644
--- a/nixos/tests/kernel-latest.nix
+++ b/nixos/tests/kernel-latest.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-latest";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_latest.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_latest.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-lts.nix b/nixos/tests/kernel-lts.nix
index 28717fa6a84..bad706d63c0 100644
--- a/nixos/tests/kernel-lts.nix
+++ b/nixos/tests/kernel-lts.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-lts";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-testing.nix b/nixos/tests/kernel-testing.nix
index 276d2de12bb..b7e10ebd5bd 100644
--- a/nixos/tests/kernel-testing.nix
+++ b/nixos/tests/kernel-testing.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-testing";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_testing.kernel.modDirVersion}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_testing.kernel.modDirVersion}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix
index e46159836cc..0588cf86ac0 100644
--- a/nixos/tests/knot.nix
+++ b/nixos/tests/knot.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 let
   common = {
     networking.firewall.enable = false;
@@ -30,6 +30,10 @@ let
   };
 in {
   name = "knot";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ hexa ];
+  };
+
 
   nodes = {
     master = { lib, ... }: {
@@ -161,37 +165,35 @@ in {
     slave4 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv4.addresses).address;
     slave6 = (lib.head nodes.slave.config.networking.interfaces.eth1.ipv6.addresses).address;
   in ''
-    startAll;
-
-    $client->waitForUnit("network.target");
-    $master->waitForUnit("knot.service");
-    $slave->waitForUnit("knot.service");
-
-    sub assertResponse {
-      my ($knot, $query_type, $query, $expected) = @_;
-      my $out = $client->succeed("khost -t $query_type $query $knot");
-      $client->log("$knot replies with: $out");
-      chomp $out;
-      die "DNS query for $query ($query_type) against $knot gave '$out' instead of '$expected'"
-        if ($out !~ $expected);
-    }
-
-    foreach ("${master4}", "${master6}", "${slave4}", "${slave6}") {
-      subtest $_, sub {
-        assertResponse($_, "SOA", "example.com", qr/start of authority.*?noc\.example\.com/);
-        assertResponse($_, "A", "example.com", qr/has no [^ ]+ record/);
-        assertResponse($_, "AAAA", "example.com", qr/has no [^ ]+ record/);
-
-        assertResponse($_, "A", "www.example.com", qr/address 192.0.2.1$/);
-        assertResponse($_, "AAAA", "www.example.com", qr/address 2001:db8::1$/);
-
-        assertResponse($_, "NS", "sub.example.com", qr/nameserver is ns\d\.example\.com.$/);
-        assertResponse($_, "A", "sub.example.com", qr/address 192.0.2.2$/);
-        assertResponse($_, "AAAA", "sub.example.com", qr/address 2001:db8::2$/);
-
-        assertResponse($_, "RRSIG", "www.example.com", qr/RR set signature is/);
-        assertResponse($_, "DNSKEY", "example.com", qr/DNSSEC key is/);
-      };
-    }
+    import re
+
+    start_all()
+
+    client.wait_for_unit("network.target")
+    master.wait_for_unit("knot.service")
+    slave.wait_for_unit("knot.service")
+
+
+    def test(host, query_type, query, pattern):
+        out = client.succeed(f"khost -t {query_type} {query} {host}").strip()
+        client.log(f"{host} replied with: {out}")
+        assert re.search(pattern, out), f'Did not match "{pattern}"'
+
+
+    for host in ("${master4}", "${master6}", "${slave4}", "${slave6}"):
+        with subtest(f"Interrogate {host}"):
+            test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.")
+            test(host, "A", "example.com", r"has no [^ ]+ record")
+            test(host, "AAAA", "example.com", r"has no [^ ]+ record")
+
+            test(host, "A", "www.example.com", r"address 192.0.2.1$")
+            test(host, "AAAA", "www.example.com", r"address 2001:db8::1$")
+
+            test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$")
+            test(host, "A", "sub.example.com", r"address 192.0.2.2$")
+            test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$")
+
+            test(host, "RRSIG", "www.example.com", r"RR set signature is")
+            test(host, "DNSKEY", "example.com", r"DNSSEC key is")
   '';
 })
diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix
index f21634c4ffb..adb73650689 100644
--- a/nixos/tests/kubernetes/base.nix
+++ b/nixos/tests/kubernetes/base.nix
@@ -53,6 +53,7 @@ let
               services.flannel.iface = "eth1";
               services.kubernetes = {
                 addons.dashboard.enable = true;
+                proxy.hostname = "${masterName}.${domain}";
 
                 easyCerts = true;
                 inherit (machine) roles;
diff --git a/nixos/tests/ldap.nix b/nixos/tests/ldap.nix
index 665b9ee09b5..74b002fc00e 100644
--- a/nixos/tests/ldap.nix
+++ b/nixos/tests/ldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 
 let
   unlines = lib.concatStringsSep "\n";
@@ -288,108 +288,118 @@ in
 
     client1 = mkClient true; # use nss_pam_ldapd
     client2 = mkClient false; # use nss_ldap and pam_ldap
-
   };
 
   testScript = ''
-    $server->start;
-    $server->waitForUnit("default.target");
-
-    subtest "slapd", sub {
-      subtest "auth as database admin with SASL and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-      subtest "auth as database admin with password and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldap://server',
-             '-D \'cn=admin,${dbSuffix}\' -w \'${dbAdminPwd}\' ',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-    };
-
-    $client1->start;
-    $client1->waitForUnit("default.target");
-
-    subtest "password", sub {
-      subtest "su with password to a POSIX account", sub {
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-      };
-      subtest "change password of a POSIX account as root", sub {
-        $client1->succeed("chpasswd <<<'${ldapUser}:new-password'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-      subtest "change password of a POSIX account from itself", sub {
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su --login ${ldapUser} -c passwd',
-          'expect "Password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "(current) UNIX password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "New password: "',
-          'send "new-password\n"',
-          'expect "Retype new password: "',
-          'send "new-password\n"',
-          'expect "passwd: password updated successfully" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "su: Authentication failure" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-    };
-
-    $client2->start;
-    $client2->waitForUnit("default.target");
-
-    subtest "NSS", sub {
-        $client1->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client1->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client1->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client1->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-        $client2->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client2->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client2->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client2->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-    };
-
-    subtest "PAM", sub {
-        $client1->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-        $client2->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-    };
+    def expect_script(*commands):
+        script = ";".join(commands)
+        return f"${pkgs.expect}/bin/expect -c '{script}'"
+
+
+    server.start()
+    server.wait_for_unit("default.target")
+
+    with subtest("slapd: auth as database admin with SASL and check a POSIX account"):
+        server.succeed(
+            'test "$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL '
+            + "-b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    with subtest("slapd: auth as database admin with password and check a POSIX account"):
+        server.succeed(
+            "test \"$(ldapsearch -LLL -H ldap://server -D 'cn=admin,${dbSuffix}' "
+            + "-w '${dbAdminPwd}' -b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    client1.start()
+    client1.wait_for_unit("default.target")
+
+    with subtest("password: su with password to a POSIX account"):
+        client1.succeed(
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            )
+        )
+
+    with subtest("password: change password of a POSIX account as root"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:new-password'",
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    with subtest("password: change password of a POSIX account from itself"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}' ",
+            expect_script(
+                "spawn su --login ${ldapUser} -c passwd",
+                'expect "Password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "(current) UNIX password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "New password: "',
+                'send "new-password\n"',
+                'expect "Retype new password: "',
+                'send "new-password\n"',
+                'expect "passwd: password updated successfully" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "su: Authentication failure" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    client2.start()
+    client2.wait_for_unit("default.target")
+
+    with subtest("NSS"):
+        client1.succeed(
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+        )
+
+    with subtest("PAM"):
+        client1.succeed(
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+        )
   '';
 })
diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix
index 6163fed56b6..65b475d734e 100644
--- a/nixos/tests/leaps.nix
+++ b/nixos/tests/leaps.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs,  ... }:
+import ./make-test-python.nix ({ pkgs,  ... }:
 
 {
   name = "leaps";
@@ -22,9 +22,11 @@ import ./make-test.nix ({ pkgs,  ... }:
 
   testScript =
     ''
-      startAll;
-      $server->waitForOpenPort(6666);
-      $client->waitForUnit("network.target");
-      $client->succeed("${pkgs.curl}/bin/curl http://server:6666/leaps/ | grep -i 'leaps'");
+      start_all()
+      server.wait_for_open_port(6666)
+      client.wait_for_unit("network.target")
+      assert "leaps" in client.succeed(
+          "${pkgs.curl}/bin/curl http://server:6666/leaps/"
+      )
     '';
 })
diff --git a/nixos/tests/libgdata.nix b/nixos/tests/libgdata.nix
deleted file mode 100644
index 10a3ca97dd2..00000000000
--- a/nixos/tests/libgdata.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "libgdata";
-
-  meta = {
-    maintainers = pkgs.libgdata.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-    # # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dummy (GDummyTlsBackend) for ‘gio-tls-backend’
-    # Bail out! libgdata:ERROR:../gdata/tests/common.c:134:gdata_test_init: assertion failed (child_error == NULL): TLS support is not available (g-tls-error-quark, 0)
-    services.gnome3.glib-networking.enable = true;
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libgdata.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/libxmlb.nix b/nixos/tests/libxmlb.nix
deleted file mode 100644
index 3bee568ac5a..00000000000
--- a/nixos/tests/libxmlb.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "libxmlb";
-  meta = {
-    maintainers = pkgs.libxmlb.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.libxmlb.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/lidarr.nix b/nixos/tests/lidarr.nix
index 85fcbd21d8c..d3f83e5d914 100644
--- a/nixos/tests/lidarr.nix
+++ b/nixos/tests/lidarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,10 @@ with lib;
     { services.lidarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('lidarr.service');
-    $machine->waitForOpenPort('8686');
-    $machine->succeed("curl --fail http://localhost:8686/");
+    start_all()
+
+    machine.wait_for_unit("lidarr.service")
+    machine.wait_for_open_port("8686")
+    machine.succeed("curl --fail http://localhost:8686/")
   '';
 })
diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix
index c805f1ed9f3..46c2ed7ccc5 100644
--- a/nixos/tests/lightdm.nix
+++ b/nixos/tests/lightdm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "lightdm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig worldofpeace ];
@@ -8,9 +8,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
     services.xserver.displayManager.lightdm.enable = true;
-    services.xserver.windowManager.default = "icewm";
+    services.xserver.displayManager.defaultSession = "none+icewm";
     services.xserver.windowManager.icewm.enable = true;
-    services.xserver.desktopManager.default = "none";
   };
 
   enableOCR = true;
@@ -18,12 +17,12 @@ import ./make-test.nix ({ pkgs, ...} : {
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in ''
-    startAll;
-    $machine->waitForText(qr/${user.description}/);
-    $machine->screenshot("lightdm");
-    $machine->sendChars("${user.password}\n");
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->waitForWindow("^IceWM ");
+    start_all()
+    machine.wait_for_text("${user.description}")
+    machine.screenshot("lightdm")
+    machine.send_chars("${user.password}\n")
+    machine.wait_for_file("${user.home}/.Xauthority")
+    machine.succeed("xauth merge ${user.home}/.Xauthority")
+    machine.wait_for_window("^IceWM ")
   '';
 })
diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix
index 9c3058d02f8..dbf1e8a650f 100644
--- a/nixos/tests/loki.nix
+++ b/nixos/tests/loki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
 {
   name = "loki";
@@ -26,12 +26,14 @@ import ./make-test.nix ({ lib, pkgs, ... }:
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForUnit("loki.service");
-    $machine->waitForUnit("promtail.service");
-    $machine->waitForOpenPort(3100);
-    $machine->waitForOpenPort(9080);
-    $machine->succeed("echo 'Loki Ingestion Test' > /var/log/testlog");
-    $machine->waitUntilSucceeds("${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'");
+    machine.start
+    machine.wait_for_unit("loki.service")
+    machine.wait_for_unit("promtail.service")
+    machine.wait_for_open_port(3100)
+    machine.wait_for_open_port(9080)
+    machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
+    machine.wait_until_succeeds(
+        "${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
+    )
   '';
 })
diff --git a/nixos/tests/lorri/builder.sh b/nixos/tests/lorri/builder.sh
new file mode 100644
index 00000000000..b586b2bf798
--- /dev/null
+++ b/nixos/tests/lorri/builder.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+printf "%s" "${name:?}" > "${out:?}"
diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix
new file mode 100644
index 00000000000..53074385a65
--- /dev/null
+++ b/nixos/tests/lorri/default.nix
@@ -0,0 +1,26 @@
+import ../make-test-python.nix {
+  machine = { pkgs, ... }: {
+    imports = [ ../../modules/profiles/minimal.nix ];
+    environment.systemPackages = [ pkgs.lorri ];
+  };
+
+  testScript = ''
+    # Copy files over
+    machine.succeed(
+        "cp '${./fake-shell.nix}' shell.nix"
+    )
+    machine.succeed(
+        "cp '${./builder.sh}' builder.sh"
+    )
+
+    # Start the daemon and wait until it is ready
+    machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
+    machine.wait_until_succeeds("grep --fixed-strings 'lorri: ready' lorri.stdout")
+
+    # Ping the daemon
+    machine.execute("lorri ping_ $(readlink -f shell.nix)")
+
+    # Wait for the daemon to finish the build
+    machine.wait_until_succeeds("grep --fixed-strings 'OutputPaths' lorri.stdout")
+  '';
+}
diff --git a/nixos/tests/lorri/fake-shell.nix b/nixos/tests/lorri/fake-shell.nix
new file mode 100644
index 00000000000..9de9d247e54
--- /dev/null
+++ b/nixos/tests/lorri/fake-shell.nix
@@ -0,0 +1,5 @@
+derivation {
+  system = builtins.currentSystem;
+  name = "fake-shell";
+  builder = ./builder.sh;
+}
diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix
index bc7aef653ee..6770d32358e 100644
--- a/nixos/tests/magnetico.nix
+++ b/nixos/tests/magnetico.nix
@@ -1,4 +1,9 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} :
+
+let
+  port = 8081;
+in
+{
   name = "magnetico";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ rnhmjoj ];
@@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
     services.magnetico = {
       enable = true;
       crawler.port = 9000;
+      web.port = port;
       web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
     };
   };
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("magneticod");
-      $machine->waitForUnit("magneticow");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
-      $machine->shutdown();
+      start_all()
+      machine.wait_for_unit("magneticod")
+      machine.wait_for_unit("magneticow")
+      machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:password http://localhost:${toString port}"
+      )
+      assert "Unauthorised." in machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:wrongpwd http://localhost:${toString port}"
+      )
+      machine.shutdown()
     '';
 })
diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix
index d45b5d4edfc..2ef38544fe0 100644
--- a/nixos/tests/mailcatcher.nix
+++ b/nixos/tests/mailcatcher.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 {
   name = "mailcatcher";
@@ -9,18 +9,22 @@ import ./make-test.nix ({ lib, ... }:
     {
       services.mailcatcher.enable = true;
 
-      networking.defaultMailServer.directDelivery = true;
-      networking.defaultMailServer.hostName = "localhost:1025";
+      services.ssmtp.enable = true;
+      services.ssmtp.hostName = "localhost:1025";
 
       environment.systemPackages = [ pkgs.mailutils ];
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('mailcatcher.service');
-    $machine->waitForOpenPort('1025');
-    $machine->succeed('echo "this is the body of the email" | mail -s "subject" root@example.org');
-    $machine->succeed('curl http://localhost:1080/messages/1.source') =~ /this is the body of the email/ or die;
+    machine.wait_for_unit("mailcatcher.service")
+    machine.wait_for_open_port("1025")
+    machine.succeed(
+        'echo "this is the body of the email" | mail -s "subject" root@example.org'
+    )
+    assert "this is the body of the email" in machine.succeed(
+        "curl http://localhost:1080/messages/1.source"
+    )
   '';
 })
diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix
index 4efa65a7b6d..2bea237c8bd 100644
--- a/nixos/tests/matomo.nix
+++ b/nixos/tests/matomo.nix
@@ -1,7 +1,7 @@
 { system ? builtins.currentSystem, config ? { }
 , pkgs ? import ../.. { inherit system config; } }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -24,11 +24,16 @@ let
     };
 
     testScript = ''
-      startAll;
-      $machine->waitForUnit("mysql.service");
-      $machine->waitForUnit("phpfpm-matomo.service");
-      $machine->waitForUnit("nginx.service");
-      $machine->succeed("curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'");
+      start_all()
+      machine.wait_for_unit("mysql.service")
+      machine.wait_for_unit("phpfpm-matomo.service")
+      machine.wait_for_unit("nginx.service")
+
+      # without the grep the command does not produce valid utf-8 for some reason
+      with subtest("welcome screen loads"):
+          machine.succeed(
+              "curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'"
+          )
     '';
   };
 in {
diff --git a/nixos/tests/matrix-synapse.nix b/nixos/tests/matrix-synapse.nix
index 882e4b75814..fca53009083 100644
--- a/nixos/tests/matrix-synapse.nix
+++ b/nixos/tests/matrix-synapse.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : let
+import ./make-test-python.nix ({ pkgs, ... } : let
 
 
   runWithOpenSSL = file: cmd: pkgs.runCommand file {
@@ -55,13 +55,17 @@ in {
   };
 
   testScript = ''
-    startAll;
-    $serverpostgres->waitForUnit("matrix-synapse.service");
-    $serverpostgres->waitUntilSucceeds("curl -L --cacert ${ca_pem} https://localhost:8448/");
-    $serverpostgres->requireActiveUnit("postgresql.service");
-    $serversqlite->waitForUnit("matrix-synapse.service");
-    $serversqlite->waitUntilSucceeds("curl -L --cacert ${ca_pem} https://localhost:8448/");
-    $serversqlite->mustSucceed("[ -e /var/lib/matrix-synapse/homeserver.db ]");
+    start_all()
+    serverpostgres.wait_for_unit("matrix-synapse.service")
+    serverpostgres.wait_until_succeeds(
+        "curl -L --cacert ${ca_pem} https://localhost:8448/"
+    )
+    serverpostgres.require_unit_state("postgresql.service")
+    serversqlite.wait_for_unit("matrix-synapse.service")
+    serversqlite.wait_until_succeeds(
+        "curl -L --cacert ${ca_pem} https://localhost:8448/"
+    )
+    serversqlite.succeed("[ -e /var/lib/matrix-synapse/homeserver.db ]")
   '';
 
 })
diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix
index 6293e8a2f46..9468c1de8cc 100644
--- a/nixos/tests/mediawiki.nix
+++ b/nixos/tests/mediawiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "mediawiki";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
@@ -11,9 +11,11 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('phpfpm-mediawiki.service');
-    $machine->succeed('curl -L http://localhost/') =~ /MediaWiki has been installed/ or die;
+    machine.wait_for_unit("phpfpm-mediawiki.service")
+
+    page = machine.succeed("curl -L http://localhost/")
+    assert "MediaWiki has been installed" in page
   '';
 })
diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix
index b120599c51d..31f5627d25c 100644
--- a/nixos/tests/memcached.nix
+++ b/nixos/tests/memcached.nix
@@ -1,28 +1,24 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "memcached";
 
-  nodes = {
-    machine =
-      { ... }:
-      {
-        imports = [ ../modules/profiles/minimal.nix ];
-        services.memcached.enable = true;
-      };
+  machine = {
+    imports = [ ../modules/profiles/minimal.nix ];
+    services.memcached.enable = true;
   };
 
   testScript = let
-    testScript = pkgs.writeScript "testScript.py" ''
-      #!${pkgs.python3.withPackages (p: [p.memcached])}/bin/python
-
+    testScript = pkgs.writers.writePython3 "test_memcache" {
+      libraries = with pkgs.python3Packages; [ memcached ];
+    } ''
       import memcache
       c = memcache.Client(['localhost:11211'])
       c.set('key', 'value')
       assert 'value' == c.get('key')
     '';
   in ''
-    startAll;
-    $machine->waitForUnit("memcached.service");
-    $machine->waitForOpenPort("11211");
-    $machine->succeed("${testScript}");
+    machine.start()
+    machine.wait_for_unit("memcached.service")
+    machine.wait_for_open_port(11211)
+    machine.succeed("${testScript}")
   '';
 })
diff --git a/nixos/tests/metabase.nix b/nixos/tests/metabase.nix
index be9e5ed5b1e..1450a4e9086 100644
--- a/nixos/tests/metabase.nix
+++ b/nixos/tests/metabase.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "metabase";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mmahut ];
@@ -12,9 +12,9 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("metabase.service");
-    $machine->waitForOpenPort(3000);
-    $machine->waitUntilSucceeds("curl -L http://localhost:3000/setup | grep Metabase");
+    start_all()
+    machine.wait_for_unit("metabase.service")
+    machine.wait_for_open_port(3000)
+    machine.wait_until_succeeds("curl -L http://localhost:3000/setup | grep Metabase")
   '';
 })
diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix
index 7bf1bed69d0..d852c7f60bc 100644
--- a/nixos/tests/minidlna.nix
+++ b/nixos/tests/minidlna.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "minidlna";
 
   nodes = {
@@ -29,11 +29,11 @@ import ./make-test.nix ({ pkgs, ... }: {
 
   testScript =
   ''
-    startAll;
-    $server->succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff");
-    $server->waitForUnit("minidlna");
-    $server->waitForOpenPort("8200");
-    $server->succeed("curl --fail http://localhost:8200/");
-    $client->succeed("curl --fail http://server:8200/");
+    start_all()
+    server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff")
+    server.wait_for_unit("minidlna")
+    server.wait_for_open_port("8200")
+    server.succeed("curl --fail http://localhost:8200/")
+    client.succeed("curl --fail http://server:8200/")
   '';
 })
diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix
index 19ab4803a1d..7d83d061a9d 100644
--- a/nixos/tests/miniflux.nix
+++ b/nixos/tests/miniflux.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 let
   port = 3142;
@@ -37,16 +37,20 @@ with lib;
       };
   };
   testScript = ''
-    startAll;
+    start_all()
 
-    $default->waitForUnit('miniflux.service');
-    $default->waitForOpenPort(${toString defaultPort});
-    $default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK");
-    $default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
+    default.wait_for_unit("miniflux.service")
+    default.wait_for_open_port(${toString defaultPort})
+    default.succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK")
+    default.succeed(
+        "curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
+    )
 
-    $customized->waitForUnit('miniflux.service');
-    $customized->waitForOpenPort(${toString port});
-    $customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK");
-    $customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
+    customized.wait_for_unit("miniflux.service")
+    customized.wait_for_open_port(${toString port})
+    customized.succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK")
+    customized.succeed(
+        "curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
+    )
   '';
 })
diff --git a/nixos/tests/minio.nix b/nixos/tests/minio.nix
index f1218b53771..3b061974267 100644
--- a/nixos/tests/minio.nix
+++ b/nixos/tests/minio.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 let
     accessKey = "BKIKJAA5BMMU2RHO6IBB";
     secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
@@ -18,7 +18,7 @@ let
       sio.seek(0)
       minioClient.put_object('test-bucket', 'test.txt', sio, sio_len, content_type='text/plain')
     '';
-  in {
+in {
   name = "minio";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ bachp ];
@@ -37,19 +37,19 @@ let
     };
   };
 
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("minio.service");
-      $machine->waitForOpenPort(9000);
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("minio.service")
+    machine.wait_for_open_port(9000)
 
-      # Create a test bucket on the server
-      $machine->succeed("mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} S3v4");
-      $machine->succeed("mc mb minio/test-bucket");
-      $machine->succeed("${minioPythonScript}");
-      $machine->succeed("mc ls minio") =~ /test-bucket/ or die;
-      $machine->succeed("mc cat minio/test-bucket/test.txt") =~ /Test from Python/ or die;
-      $machine->shutdown;
-
-    '';
+    # Create a test bucket on the server
+    machine.succeed(
+        "mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} S3v4"
+    )
+    machine.succeed("mc mb minio/test-bucket")
+    machine.succeed("${minioPythonScript}")
+    assert "test-bucket" in machine.succeed("mc ls minio")
+    assert "Test from Python" in machine.succeed("mc cat minio/test-bucket/test.txt")
+    machine.shutdown()
+  '';
 })
diff --git a/nixos/tests/moinmoin.nix b/nixos/tests/moinmoin.nix
index 2662b79aa09..ac327498eba 100644
--- a/nixos/tests/moinmoin.nix
+++ b/nixos/tests/moinmoin.nix
@@ -1,6 +1,6 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "moinmoin";
-  meta.maintainers = [ ]; # waiting for https://github.com/NixOS/nixpkgs/pull/65397
+  meta.maintainers = with lib.maintainers; [ mmilata ];
 
   machine =
     { ... }:
@@ -13,12 +13,16 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('moin-ExampleWiki.service');
-    $machine->waitForUnit('nginx.service');
-    $machine->waitForFile('/run/moin/ExampleWiki/gunicorn.sock');
-    $machine->succeed('curl -L http://localhost/') =~ /If you have just installed/ or die;
-    $machine->succeed('moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1') =~ /status success/ or die;
+    machine.wait_for_unit("moin-ExampleWiki.service")
+    machine.wait_for_unit("nginx.service")
+    machine.wait_for_file("/run/moin/ExampleWiki/gunicorn.sock")
+
+    assert "If you have just installed" in machine.succeed("curl -L http://localhost/")
+
+    assert "status success" in machine.succeed(
+        "moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1"
+    )
   '';
 })
diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix
index 0ccbeb062f9..9ebf84eed23 100644
--- a/nixos/tests/mongodb.nix
+++ b/nixos/tests/mongodb.nix
@@ -1,6 +1,6 @@
 # This test start mongodb, runs a query using mongo shell
 
-import ./make-test.nix ({ pkgs, ...} : let
+import ./make-test-python.nix ({ pkgs, ...} : let
   testQuery = pkgs.writeScript "nixtest.js" ''
     db.greetings.insert({ "greeting": "hello" });
     print(db.greetings.findOne().greeting);
@@ -33,8 +33,10 @@ in {
     };
 
   testScript = ''
-    startAll;
-    $one->waitForUnit("mongodb.service");
-    $one->succeed("mongo -u nixtest -p nixtest nixtest ${testQuery}") =~ /hello/ or die;
+    start_all()
+    one.wait_for_unit("mongodb.service")
+    one.succeed(
+        "mongo -u nixtest -p nixtest nixtest ${testQuery} | grep -q hello"
+    )
   '';
 })
diff --git a/nixos/tests/moodle.nix b/nixos/tests/moodle.nix
index 565a6b63694..56aa62596c0 100644
--- a/nixos/tests/moodle.nix
+++ b/nixos/tests/moodle.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "moodle";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
@@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit('phpfpm-moodle.service');
-    $machine->succeed('curl http://localhost/') =~ /You are not logged in/ or die;
+    start_all()
+    machine.wait_for_unit("phpfpm-moodle.service")
+    machine.wait_until_succeeds("curl http://localhost/ | grep 'You are not logged in'")
   '';
 })
diff --git a/nixos/tests/morty.nix b/nixos/tests/morty.nix
index eab123bd50f..64c5a27665d 100644
--- a/nixos/tests/morty.nix
+++ b/nixos/tests/morty.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "morty";
@@ -22,11 +22,9 @@ import ./make-test.nix ({ pkgs, ... }:
   testScript =
     { ... }:
     ''
-      $mortyProxyWithKey->waitForUnit("default.target");
-
-      $mortyProxyWithKey->waitForOpenPort(3001);
-      $mortyProxyWithKey->succeed("curl -L 127.0.0.1:3001 | grep MortyProxy");
-
+      mortyProxyWithKey.wait_for_unit("default.target")
+      mortyProxyWithKey.wait_for_open_port(3001)
+      mortyProxyWithKey.succeed("curl -L 127.0.0.1:3001 | grep MortyProxy")
     '';
 
 })
diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix
index b4c897c3ab5..1f2fdf4237f 100644
--- a/nixos/tests/mosquitto.nix
+++ b/nixos/tests/mosquitto.nix
@@ -1,21 +1,10 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   port = 1888;
   username = "mqtt";
   password = "VERY_secret";
   topic = "test/foo";
-
-  cmd = bin: pkgs.lib.concatStringsSep " " [
-    "${pkgs.mosquitto}/bin/mosquitto_${bin}"
-    "-V mqttv311"
-    "-h server"
-    "-p ${toString port}"
-    "-u ${username}"
-    "-P '${password}'"
-    "-t ${topic}"
-  ];
-
 in {
   name = "mosquitto";
   meta = with pkgs.stdenv.lib; {
@@ -49,40 +38,53 @@ in {
 
   testScript = let
     file = "/tmp/msg";
-    sub = args:
-      "(${cmd "sub"} -C 1 ${args} | tee ${file} &)";
   in ''
-    startAll;
-    $server->waitForUnit("mosquitto.service");
+    def mosquitto_cmd(binary):
+        return (
+            "${pkgs.mosquitto}/bin/mosquitto_{} "
+            "-V mqttv311 "
+            "-h server "
+            "-p ${toString port} "
+            "-u ${username} "
+            "-P '${password}' "
+            "-t ${topic}"
+        ).format(binary)
+
+
+    def publish(args):
+        return "{} {}".format(mosquitto_cmd("pub"), args)
+
 
-    $server->fail("test -f ${file}");
-    $client1->fail("test -f ${file}");
-    $client2->fail("test -f ${file}");
+    def subscribe(args):
+        return "({} -C 1 {} | tee ${file} &)".format(mosquitto_cmd("sub"), args)
 
 
+    start_all()
+    server.wait_for_unit("mosquitto.service")
+
+    for machine in server, client1, client2:
+        machine.fail("test -f ${file}")
+
     # QoS = 0, so only one subscribers should get it
-    $server->execute("${sub "-q 0"}");
+    server.execute(subscribe("-q 0"))
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m FOO -q 0");
-
-    $server->waitUntilSucceeds("grep -q FOO ${file}");
-    $server->execute("rm ${file}");
+    client2.execute("sleep 5")
+    client2.succeed(publish("-m FOO -q 0"))
 
+    server.wait_until_succeeds("grep -q FOO ${file}")
+    server.execute("rm ${file}")
 
     # QoS = 1, so both subscribers should get it
-    $server->execute("${sub "-q 1"}");
-    $client1->execute("${sub "-q 1"}");
+    server.execute(subscribe("-q 1"))
+    client1.execute(subscribe("-q 1"))
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m BAR -q 1");
-
-    $server->waitUntilSucceeds("grep -q BAR ${file}");
-    $server->execute("rm ${file}");
+    client2.execute("sleep 5")
+    client2.succeed(publish("-m BAR -q 1"))
 
-    $client1->waitUntilSucceeds("grep -q BAR ${file}");
-    $client1->execute("rm ${file}");
+    for machine in server, client1:
+        machine.wait_until_succeeds("grep -q BAR ${file}")
+        machine.execute("rm ${file}")
   '';
 })
diff --git a/nixos/tests/mpd.nix b/nixos/tests/mpd.nix
index ac2b810defe..895b7e2014c 100644
--- a/nixos/tests/mpd.nix
+++ b/nixos/tests/mpd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
   let
     track = pkgs.fetchurl {
       # Sourced from http://freemusicarchive.org/music/Blue_Wave_Theory/Surf_Music_Month_Challenge/Skyhawk_Beach_fade_in
@@ -46,74 +46,87 @@ import ./make-test.nix ({ pkgs, ... }:
     };
 
   nodes =
-    { client = 
+    { client =
       { ... }: { };
 
       serverALSA =
-        { ... }: (mkServer {
-          mpd = defaultMpdCfg // {
-            network.listenAddress = "any";
-            extraConfig = ''
-              audio_output {
-                type "alsa"
-                name "ALSA"
-                mixer_type "null"
-              }
-            '';
-          };
-
-          musicService = with defaultMpdCfg; musicService { inherit user group musicDirectory; };
-        }) // { networking.firewall.allowedTCPPorts = [ 6600 ]; };
+        { ... }: lib.mkMerge [
+          (mkServer {
+            mpd = defaultMpdCfg // {
+              network.listenAddress = "any";
+              extraConfig = ''
+                audio_output {
+                  type "alsa"
+                  name "ALSA"
+                  mixer_type "null"
+                }
+              '';
+            };
+            musicService = with defaultMpdCfg; musicService { inherit user group musicDirectory; };
+          })
+          { networking.firewall.allowedTCPPorts = [ 6600 ]; }
+        ];
 
       serverPulseAudio =
-        { ... }: (mkServer {
-          mpd = defaultMpdCfg // {
-            extraConfig = ''
-              audio_output {
-                type "pulse"
-                name "The Pulse"
-              }
-            '';
-          };
-
-          musicService = with defaultCfg; musicService { inherit user group musicDirectory; };
-        }) // { hardware.pulseaudio.enable = true; };
+        { ... }: lib.mkMerge [
+          (mkServer {
+            mpd = defaultMpdCfg // {
+              extraConfig = ''
+                audio_output {
+                  type "pulse"
+                  name "The Pulse"
+                }
+              '';
+            };
+
+            musicService = with defaultCfg; musicService { inherit user group musicDirectory; };
+          })
+          {
+            hardware.pulseaudio = {
+              enable = true;
+              systemWide = true;
+              tcp.enable = true;
+              tcp.anonymousClients.allowAll = true;
+            };
+            systemd.services.mpd.environment.PULSE_SERVER = "localhost";
+          }
+        ];
     };
 
   testScript = ''
-    my $mpc = "${pkgs.mpc_cli}/bin/mpc --wait";
+    mpc = "${pkgs.mpc_cli}/bin/mpc --wait"
 
     # Connects to the given server and attempts to play a tune.
-    sub play_some_music {
-        my $server = $_[0];
+    def play_some_music(server):
+        server.wait_for_unit("mpd.service")
+        server.succeed(f"{mpc} update")
+        _, tracks = server.execute(f"{mpc} ls")
 
-        $server->waitForUnit("mpd.service");
-        $server->succeed("$mpc update");
-        my @tracks = $server->execute("$mpc ls");
+        for track in tracks.splitlines():
+            server.succeed(f"{mpc} add {track}")
 
-        for my $track (split(/\n/, $tracks[1])) {
-            $server->succeed("$mpc add $track");
-        };
+        _, added_tracks = server.execute(f"{mpc} listall")
 
-        my @added_tracks = $server->execute("$mpc listall");
-        (length $added_tracks[1]) > 0 or die "Failed to add audio tracks to the playlist.";
+        # Check we succeeded adding audio tracks to the playlist
+        assert len(added_tracks.splitlines()) > 0
 
-        $server->succeed("$mpc play");
+        server.succeed(f"{mpc} play")
 
-        my @status = $server->execute("$mpc status");
-        my @output = split(/\n/, $status[1]);
-        $output[1] =~ /.*playing.*/ or die "Audio track is not playing, as expected.";
+        _, output = server.execute(f"{mpc} status")
+        # Assure audio track is playing
+        assert "playing" in output
+
+        server.succeed(f"{mpc} stop")
 
-        $server->succeed("$mpc stop");
-    };
 
-    play_some_music($serverALSA);
-    play_some_music($serverPulseAudio);
+    play_some_music(serverALSA)
+    play_some_music(serverPulseAudio)
 
-    $client->succeed("$mpc -h serverALSA status");
+    client.wait_for_unit("multi-user.target")
+    client.succeed(f"{mpc} -h serverALSA status")
 
     # The PulseAudio-based server is configured not to accept external client connections
     # to perform the following test:
-    $client->fail("$mpc -h serverPulseAudio status");
+    client.fail(f"{mpc} -h serverPulseAudio status")
   '';
 })
diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix
index 652d49a24b1..e9b6d14c6a1 100644
--- a/nixos/tests/mumble.nix
+++ b/nixos/tests/mumble.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : 
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   client = { pkgs, ... }: {
@@ -24,50 +24,50 @@ in
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("murmur.service");
-    $client1->waitForX;
-    $client2->waitForX;
+    server.wait_for_unit("murmur.service")
+    client1.wait_for_x()
+    client2.wait_for_x()
 
-    $client1->execute("mumble mumble://client1\@server/test &");
-    $client2->execute("mumble mumble://client2\@server/test &");
+    client1.execute("mumble mumble://client1\@server/test &")
+    client2.execute("mumble mumble://client2\@server/test &")
 
     # cancel client audio configuration
-    $client1->waitForWindow(qr/Audio Tuning Wizard/);
-    $client2->waitForWindow(qr/Audio Tuning Wizard/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendKeys("esc");
-    $client2->sendKeys("esc");
+    client1.wait_for_window(r"Audio Tuning Wizard")
+    client2.wait_for_window(r"Audio Tuning Wizard")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_key("esc")
+    client2.send_key("esc")
 
     # cancel client cert configuration
-    $client1->waitForWindow(qr/Certificate Management/);
-    $client2->waitForWindow(qr/Certificate Management/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendKeys("esc");
-    $client2->sendKeys("esc");
+    client1.wait_for_window(r"Certificate Management")
+    client2.wait_for_window(r"Certificate Management")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_key("esc")
+    client2.send_key("esc")
 
     # accept server certificate
-    $client1->waitForWindow(qr/^Mumble$/);
-    $client2->waitForWindow(qr/^Mumble$/);
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendChars("y");
-    $client2->sendChars("y");
-    $server->sleep(5); # wait because mumble is slow to register event handlers
+    client1.wait_for_window(r"^Mumble$")
+    client2.wait_for_window(r"^Mumble$")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_chars("y")
+    client2.send_chars("y")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
 
     # sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again
-    $client1->sendKeys("alt-tab");
-    $client2->sendKeys("alt-tab");
-    $server->sleep(5); # wait because mumble is slow to register event handlers
-    $client1->sendChars("y");
-    $client2->sendChars("y");
+    client1.send_key("alt-tab")
+    client2.send_key("alt-tab")
+    server.sleep(5)  # wait because mumble is slow to register event handlers
+    client1.send_chars("y")
+    client2.send_chars("y")
 
     # Find clients in logs
-    $server->waitUntilSucceeds("journalctl -eu murmur -o cat | grep -q client1");
-    $server->waitUntilSucceeds("journalctl -eu murmur -o cat | grep -q client2");
+    server.wait_until_succeeds("journalctl -eu murmur -o cat | grep -q client1")
+    server.wait_until_succeeds("journalctl -eu murmur -o cat | grep -q client2")
 
-    $server->sleep(5); # wait to get screenshot
-    $client1->screenshot("screen1");
-    $client2->screenshot("screen2");
+    server.sleep(5)  # wait to get screenshot
+    client1.screenshot("screen1")
+    client2.screenshot("screen2")
   '';
 })
diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix
index 31374aaf77e..7b674db7768 100644
--- a/nixos/tests/munin.nix
+++ b/nixos/tests/munin.nix
@@ -1,7 +1,7 @@
 # This test runs basic munin setup with node and cron job running on the same
 # machine.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "munin";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ domenkozar eelco ];
@@ -12,33 +12,33 @@ import ./make-test.nix ({ pkgs, ...} : {
       { config, ... }:
         {
           services = {
-           munin-node = {
+            munin-node = {
+              enable = true;
+              # disable a failing plugin to prevent irrelevant error message, see #23049
+              disabledPlugins = [ "apc_nis" ];
+            };
+            munin-cron = {
              enable = true;
-             # disable a failing plugin to prevent irrelevant error message, see #23049
-             disabledPlugins = [ "apc_nis" ];
-           };
-           munin-cron = {
-            enable = true;
-            hosts = ''
-              [${config.networking.hostName}]
-              address localhost
-            '';
-           };
+             hosts = ''
+               [${config.networking.hostName}]
+               address localhost
+             '';
+            };
           };
-          # long timeout to prevent hydra failure on high load
-          systemd.services.munin-node.serviceConfig.TimeoutStartSec = "10min";
+
+          # increase the systemd timer interval so it fires more often
+          systemd.timers.munin-cron.timerConfig.OnCalendar = pkgs.stdenv.lib.mkForce "*:*:0/10";
         };
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $one->waitForUnit("munin-node.service");
-    # make sure the node is actually listening
-    $one->waitForOpenPort(4949);
-    $one->succeed('systemctl start munin-cron');
-    # wait for munin-cron output
-    $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd");
-    $one->waitForFile("/var/www/munin/one/index.html");
+    with subtest("ensure munin-node starts and listens on 4949"):
+        one.wait_for_unit("munin-node.service")
+        one.wait_for_open_port(4949)
+    with subtest("ensure munin-cron output is correct"):
+        one.wait_for_file("/var/lib/munin/one/one-uptime-uptime-g.rrd")
+        one.wait_for_file("/var/www/munin/one/index.html")
   '';
 })
diff --git a/nixos/tests/mutable-users.nix b/nixos/tests/mutable-users.nix
index e590703ab2f..49c7f78b82e 100644
--- a/nixos/tests/mutable-users.nix
+++ b/nixos/tests/mutable-users.nix
@@ -1,6 +1,6 @@
 # Mutable users tests.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "mutable-users";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gleber ];
@@ -19,21 +19,27 @@ import ./make-test.nix ({ pkgs, ...} : {
     immutableSystem = nodes.machine.config.system.build.toplevel;
     mutableSystem = nodes.mutable.config.system.build.toplevel;
   in ''
-    $machine->start();
-    $machine->waitForUnit("default.target");
+    machine.start()
+    machine.wait_for_unit("default.target")
 
     # Machine starts in immutable mode. Add a user and test if reactivating
     # configuration removes the user.
-    $machine->fail("cat /etc/passwd | grep ^foobar:");
-    $machine->succeed("sudo useradd foobar");
-    $machine->succeed("cat /etc/passwd | grep ^foobar:");
-    $machine->succeed("${immutableSystem}/bin/switch-to-configuration test");
-    $machine->fail("cat /etc/passwd | grep ^foobar:");
+    with subtest("Machine in immutable mode"):
+        assert "foobar" not in machine.succeed("cat /etc/passwd")
+        machine.succeed("sudo useradd foobar")
+        assert "foobar" in machine.succeed("cat /etc/passwd")
+        machine.succeed(
+            "${immutableSystem}/bin/switch-to-configuration test"
+        )
+        assert "foobar" not in machine.succeed("cat /etc/passwd")
 
     # In immutable mode passwd is not wrapped, while in mutable mode it is
     # wrapped.
-    $machine->succeed('which passwd | grep /run/current-system/');
-    $machine->succeed("${mutableSystem}/bin/switch-to-configuration test");
-    $machine->succeed('which passwd | grep /run/wrappers/');
+    with subtest("Password is wrapped in mutable mode"):
+        assert "/run/current-system/" in machine.succeed("which passwd")
+        machine.succeed(
+            "${mutableSystem}/bin/switch-to-configuration test"
+        )
+        assert "/run/wrappers/" in machine.succeed("which passwd")
   '';
 })
diff --git a/nixos/tests/mxisd.nix b/nixos/tests/mxisd.nix
index 0039256f586..b2b60db4d82 100644
--- a/nixos/tests/mxisd.nix
+++ b/nixos/tests/mxisd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
 
   name = "mxisd";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -19,13 +19,12 @@ import ./make-test.nix ({ pkgs, ... } : {
   };
 
   testScript = ''
-    startAll;
-    $server_mxisd->waitForUnit("mxisd.service");
-    $server_mxisd->waitForOpenPort(8090);
-    $server_mxisd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"");
-    $server_ma1sd->waitForUnit("mxisd.service");
-    $server_ma1sd->waitForOpenPort(8090);
-    $server_ma1sd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"")
-
+    start_all()
+    server_mxisd.wait_for_unit("mxisd.service")
+    server_mxisd.wait_for_open_port(8090)
+    server_mxisd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
+    server_ma1sd.wait_for_unit("mxisd.service")
+    server_ma1sd.wait_for_open_port(8090)
+    server_ma1sd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
   '';
 })
diff --git a/nixos/tests/mysql-backup.nix b/nixos/tests/mysql-backup.nix
index 81482dfef7e..a0595e4d553 100644
--- a/nixos/tests/mysql-backup.nix
+++ b/nixos/tests/mysql-backup.nix
@@ -1,5 +1,5 @@
 # Test whether mysqlBackup option works
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "mysql-backup";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ rvl ];
@@ -20,31 +20,37 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       # Delete backup file that may be left over from a previous test run.
-       # This is not needed on Hydra but useful for repeated local test runs.
-       $master->execute("rm -f /var/backup/mysql/testdb.gz");
+    # Delete backup file that may be left over from a previous test run.
+    # This is not needed on Hydra but useful for repeated local test runs.
+    master.execute("rm -f /var/backup/mysql/testdb.gz")
 
-       # Need to have mysql started so that it can be populated with data.
-       $master->waitForUnit("mysql.service");
+    # Need to have mysql started so that it can be populated with data.
+    master.wait_for_unit("mysql.service")
 
-       # Wait for testdb to be fully populated (5 rows).
-       $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    # Wait for testdb to be fully populated (5 rows).
+    master.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
 
-       # Do a backup and wait for it to start
-       $master->startJob("mysql-backup.service");
-       $master->waitForJob("mysql-backup.service");
+    # Do a backup and wait for it to start
+    master.start_job("mysql-backup.service")
+    master.wait_for_unit("mysql-backup.service")
 
-       # wait for backup to fail, because of database 'doesnotexist'
-       $master->waitUntilFails("systemctl is-active -q mysql-backup.service");
+    # wait for backup to fail, because of database 'doesnotexist'
+    master.wait_until_fails("systemctl is-active -q mysql-backup.service")
 
-       # wait for backup file and check that data appears in backup
-       $master->waitForFile("/var/backup/mysql/testdb.gz");
-       $master->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello");
+    # wait for backup file and check that data appears in backup
+    master.wait_for_file("/var/backup/mysql/testdb.gz")
+    master.succeed(
+        "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello"
+    )
 
-       # Check that a failed backup is logged
-       $master->succeed("journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null");
-    '';
+    # Check that a failed backup is logged
+    master.succeed(
+        "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null"
+    )
+  '';
 })
diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix
index c75a862106f..a2654f041ad 100644
--- a/nixos/tests/mysql-replication.nix
+++ b/nixos/tests/mysql-replication.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   replicateUser = "replicate";
@@ -54,28 +54,36 @@ in
   };
 
   testScript = ''
-    $master->start;
-    $master->waitForUnit("mysql");
-    $master->waitForOpenPort(3306);
+    master.start()
+    master.wait_for_unit("mysql")
+    master.wait_for_open_port(3306)
     # Wait for testdb to be fully populated (5 rows).
-    $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    master.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
 
-    $slave1->start;
-    $slave2->start;
-    $slave1->waitForUnit("mysql");
-    $slave1->waitForOpenPort(3306);
-    $slave2->waitForUnit("mysql");
-    $slave2->waitForOpenPort(3306);
+    slave1.start()
+    slave2.start()
+    slave1.wait_for_unit("mysql")
+    slave1.wait_for_open_port(3306)
+    slave2.wait_for_unit("mysql")
+    slave2.wait_for_open_port(3306)
 
     # wait for replications to finish
-    $slave1->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
-    $slave2->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    slave1.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
+    slave2.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
 
-    $slave2->succeed("systemctl stop mysql");
-    $master->succeed("echo 'insert into testdb.tests values (123, 456);' | mysql -u root -N");
-    $slave2->succeed("systemctl start mysql");
-    $slave2->waitForUnit("mysql");
-    $slave2->waitForOpenPort(3306);
-    $slave2->waitUntilSucceeds("echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456");
+    slave2.succeed("systemctl stop mysql")
+    master.succeed("echo 'insert into testdb.tests values (123, 456);' | mysql -u root -N")
+    slave2.succeed("systemctl start mysql")
+    slave2.wait_for_unit("mysql")
+    slave2.wait_for_open_port(3306)
+    slave2.wait_until_succeeds(
+        "echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456"
+    )
   '';
 })
diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix
index 05bd968de02..2c0d212c2f1 100644
--- a/nixos/tests/mysql.nix
+++ b/nixos/tests/mysql.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "mysql";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco shlevy ];
@@ -47,17 +47,23 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all
 
-    $mysql->waitForUnit("mysql");
-    $mysql->succeed("echo 'use empty_testdb;' | mysql -u root");
-    $mysql->succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4");
+    mysql.wait_for_unit("mysql")
+    mysql.succeed("echo 'use empty_testdb;' | mysql -u root")
+    mysql.succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4")
     # ';' acts as no-op, just check whether login succeeds with the user created from the initialScript
-    $mysql->succeed("echo ';' | mysql -u passworduser --password=password123");
+    mysql.succeed("echo ';' | mysql -u passworduser --password=password123")
 
-    $mariadb->waitForUnit("mysql");
-    $mariadb->succeed("echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser");
-    $mariadb->succeed("echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser");
-    $mariadb->succeed("echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42");
+    mariadb.wait_for_unit("mysql")
+    mariadb.succeed(
+        "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
+    )
   '';
 })
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 51d9cf166bb..0d1f7aaedfa 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -3,7 +3,7 @@
 # client on the inside network, a server on the outside network, and a
 # router connected to both that performs Network Address Translation
 # for the client.
-import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
+import ./make-test-python.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
   let
     unit = if withFirewall then "firewall" else "nat";
 
@@ -69,49 +69,52 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
         routerDummyNoNatClosure = nodes.routerDummyNoNat.config.system.build.toplevel;
         routerClosure = nodes.router.config.system.build.toplevel;
       in ''
-        $client->start;
-        $router->start;
-        $server->start;
+        client.start()
+        router.start()
+        server.start()
 
         # The router should have access to the server.
-        $server->waitForUnit("network.target");
-        $server->waitForUnit("httpd");
-        $router->waitForUnit("network.target");
-        $router->succeed("curl --fail http://server/ >&2");
+        server.wait_for_unit("network.target")
+        server.wait_for_unit("httpd")
+        router.wait_for_unit("network.target")
+        router.succeed("curl --fail http://server/ >&2")
 
         # The client should be also able to connect via the NAT router.
-        $router->waitForUnit("${unit}");
-        $client->waitForUnit("network.target");
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        router.wait_for_unit("${unit}")
+        client.wait_for_unit("network.target")
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
 
         # Test whether passive FTP works.
-        $server->waitForUnit("vsftpd");
-        $server->succeed("echo Hello World > /home/ftp/foo.txt");
-        $client->succeed("curl -v ftp://server/foo.txt >&2");
+        server.wait_for_unit("vsftpd")
+        server.succeed("echo Hello World > /home/ftp/foo.txt")
+        client.succeed("curl -v ftp://server/foo.txt >&2")
 
         # Test whether active FTP works.
-        $client->${if withConntrackHelpers then "succeed" else "fail"}(
-          "curl -v -P - ftp://server/foo.txt >&2");
+        client.${if withConntrackHelpers then "succeed" else "fail"}("curl -v -P - ftp://server/foo.txt >&2")
 
         # Test ICMP.
-        $client->succeed("ping -c 1 router >&2");
-        $router->succeed("ping -c 1 client >&2");
+        client.succeed("ping -c 1 router >&2")
+        router.succeed("ping -c 1 client >&2")
 
         # If we turn off NAT, the client shouldn't be able to reach the server.
-        $router->succeed("${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1");
-        $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
-        $client->fail("ping -c 1 server >&2");
+        router.succeed(
+            "${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1"
+        )
+        client.fail("curl --fail --connect-timeout 5 http://server/ >&2")
+        client.fail("ping -c 1 server >&2")
 
         # And make sure that reloading the NAT job works.
-        $router->succeed("${routerClosure}/bin/switch-to-configuration test 2>&1");
+        router.succeed(
+            "${routerClosure}/bin/switch-to-configuration test 2>&1"
+        )
         # FIXME: this should not be necessary, but nat.service is not started because
         #        network.target is not triggered
         #        (https://github.com/NixOS/nixpkgs/issues/16230#issuecomment-226408359)
         ${lib.optionalString (!withFirewall) ''
-          $router->succeed("systemctl start nat.service");
+          router.succeed("systemctl start nat.service")
         ''}
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
       '';
   })
diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix
index 6a6f602726d..b67b26a7934 100644
--- a/nixos/tests/ndppd.nix
+++ b/nixos/tests/ndppd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ndppd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ fpletz ];
@@ -52,9 +52,9 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $server->waitForUnit("multi-user.target");
-    $upstream->waitForUnit("multi-user.target");
-    $upstream->waitUntilSucceeds("ping -c5 fd42::2");
+    start_all()
+    server.wait_for_unit("multi-user.target")
+    upstream.wait_for_unit("multi-user.target")
+    upstream.wait_until_succeeds("ping -c5 fd42::2")
   '';
 })
diff --git a/nixos/tests/neo4j.nix b/nixos/tests/neo4j.nix
index 86ed8970517..32ee7f501b8 100644
--- a/nixos/tests/neo4j.nix
+++ b/nixos/tests/neo4j.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "neo4j";
 
   nodes = {
@@ -11,10 +11,10 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $master->waitForUnit("neo4j");
-    $master->sleep(20); # Hopefully this is long enough!!
-    $master->succeed("curl http://localhost:7474/");
+    master.wait_for_unit("neo4j")
+    master.wait_for_open_port(7474)
+    master.succeed("curl http://localhost:7474/")
   '';
 }
diff --git a/nixos/tests/nesting.nix b/nixos/tests/nesting.nix
index 1306d6f8e0c..6388b67a6e4 100644
--- a/nixos/tests/nesting.nix
+++ b/nixos/tests/nesting.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "nesting";
   nodes =  {
     clone = { pkgs, ... }: {
@@ -19,24 +19,26 @@ import ./make-test.nix {
     };
   };
   testScript = ''
-    $clone->waitForUnit("default.target");
-    $clone->succeed("cowsay hey");
-    $clone->fail("hello");
+    clone.wait_for_unit("default.target")
+    clone.succeed("cowsay hey")
+    clone.fail("hello")
 
-    # Nested clones do inherit from parent
-    $clone->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
-    $clone->succeed("cowsay hey");
-    $clone->succeed("hello");
+    with subtest("Nested clones do inherit from parent"):
+        clone.succeed(
+            "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
+        )
+        clone.succeed("cowsay hey")
+        clone.succeed("hello")
     
+        children.wait_for_unit("default.target")
+        children.succeed("cowsay hey")
+        children.fail("hello")
 
-    $children->waitForUnit("default.target");
-    $children->succeed("cowsay hey");
-    $children->fail("hello");
-
-    # Nested children do not inherit from parent
-    $children->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
-    $children->fail("cowsay hey");
-    $children->succeed("hello");
-
+    with subtest("Nested children do not inherit from parent"):
+        children.succeed(
+            "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
+        )
+        children.fail("cowsay hey")
+        children.succeed("hello")
   '';
 }
diff --git a/nixos/tests/netdata.nix b/nixos/tests/netdata.nix
index 9bd147968e4..8dd5eafb097 100644
--- a/nixos/tests/netdata.nix
+++ b/nixos/tests/netdata.nix
@@ -1,6 +1,6 @@
 # This test runs netdata and checks for data via apps.plugin
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "netdata";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ cransom ];
@@ -16,23 +16,22 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $netdata->waitForUnit("netdata.service");
+    netdata.wait_for_unit("netdata.service")
 
     # wait for the service to listen before sending a request
-    $netdata->waitForOpenPort(19999);
+    netdata.wait_for_open_port(19999)
 
     # check if the netdata main page loads.
-    $netdata->succeed("curl --fail http://localhost:19999/");
+    netdata.succeed("curl --fail http://localhost:19999/")
 
     # check if netdata can read disk ops for root owned processes.
     # if > 0, successful. verifies both netdata working and
     # apps.plugin has elevated capabilities.
-    my $cmd = <<'CMD';
-    curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
-       jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
-    CMD
-    $netdata->waitUntilSucceeds($cmd);
+    url = "http://localhost:19999/api/v1/data\?chart=users.pwrites"
+    filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
+    cmd = f"curl -s {url} | jq -e '{filter}'"
+    netdata.wait_until_succeeds(cmd)
   '';
 })
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index e0585d8f1bb..9448a104073 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -4,7 +4,7 @@
 # bool: whether to use networkd in the tests
 , networkd }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -75,10 +75,11 @@ let
       machine.networking.useDHCP = false;
       machine.networking.useNetworkd = networkd;
       testScript = ''
-        startAll;
-        $machine->waitForUnit("network.target");
-        $machine->succeed("ip addr show lo | grep -q 'inet 127.0.0.1/8 '");
-        $machine->succeed("ip addr show lo | grep -q 'inet6 ::1/128 '");
+        start_all()
+        machine.wait_for_unit("network.target")
+        loopback_addresses = machine.succeed("ip addr show lo")
+        assert "inet 127.0.0.1/8" in loopback_addresses
+        assert "inet6 ::1/128" in loopback_addresses
       '';
     };
     static = {
@@ -102,35 +103,35 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
+          client.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
 
-          # Make sure dhcpcd is not started
-          $client->fail("systemctl status dhcpcd.service");
+          with subtest("Make sure dhcpcd is not started"):
+              client.fail("systemctl status dhcpcd.service")
 
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.10");
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 192.168.1.3")
+              client.wait_until_succeeds("ping -c 1 192.168.1.10")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.10");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
+              router.wait_until_succeeds("ping -c 1 192.168.1.10")
 
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.wait_until_succeeds("ping -c 1 192.168.2.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.wait_until_succeeds("ping -c 1 192.168.2.2")
 
-          # Test default gateway
-          $router->waitUntilSucceeds("ping -c 1 192.168.3.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.3.1");
+          with subtest("Test default gateway"):
+              router.wait_until_succeeds("ping -c 1 192.168.3.1")
+              client.wait_until_succeeds("ping -c 1 192.168.3.1")
         '';
     };
     dhcpSimple = {
@@ -155,38 +156,38 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
-
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-          $client->waitUntilSucceeds("ip addr show dev eth2 | grep -q '192.168.2'");
-          $client->waitUntilSucceeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'");
-
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::2");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::2");
-
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::2");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::1");
-          $router->waitUntilSucceeds("ping -c 1 fd00:1234:5678:2::2");
+          start_all()
+
+          client.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
+
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
+              client.wait_until_succeeds("ip addr show dev eth2 | grep -q '192.168.2'")
+              client.wait_until_succeeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'")
+
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
+
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
+
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.wait_until_succeeds("ping -c 1 192.168.2.2")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
+
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.wait_until_succeeds("ping -c 1 192.168.2.2")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
+              router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
         '';
     };
     dhcpOneIf = {
@@ -206,28 +207,28 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              client.wait_for_unit("network.target")
+              router.wait_for_unit("network.target")
 
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
 
-          # Test vlan 1
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
+          with subtest("Test vlan 1"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
 
-          # Test vlan 2
-          $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $client->fail("ping -c 1 192.168.2.2");
+          with subtest("Test vlan 2"):
+              client.wait_until_succeeds("ping -c 1 192.168.2.1")
+              client.fail("ping -c 1 192.168.2.2")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
-          $router->fail("ping -c 1 192.168.2.2");
+              router.wait_until_succeeds("ping -c 1 192.168.2.1")
+              router.fail("ping -c 1 192.168.2.2")
         '';
     };
     bond = let
@@ -252,18 +253,18 @@ let
       nodes.client2 = node "192.168.1.2";
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Test bonding
-          $client1->waitUntilSucceeds("ping -c 2 192.168.1.1");
-          $client1->waitUntilSucceeds("ping -c 2 192.168.1.2");
+          with subtest("Test bonding"):
+              client1.wait_until_succeeds("ping -c 2 192.168.1.1")
+              client1.wait_until_succeeds("ping -c 2 192.168.1.2")
 
-          $client2->waitUntilSucceeds("ping -c 2 192.168.1.1");
-          $client2->waitUntilSucceeds("ping -c 2 192.168.1.2");
+              client2.wait_until_succeeds("ping -c 2 192.168.1.1")
+              client2.wait_until_succeeds("ping -c 2 192.168.1.2")
         '';
     };
     bridge = let
@@ -294,25 +295,24 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to come up
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
+          with subtest("Wait for networking to come up"):
+              for machine in client1, client2, router:
+                  machine.wait_for_unit("network.target")
 
-          # Test bridging
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client1->waitUntilSucceeds("ping -c 1 192.168.1.3");
+          with subtest("Test bridging"):
+              client1.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client1.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client1.wait_until_succeeds("ping -c 1 192.168.1.3")
 
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client2->waitUntilSucceeds("ping -c 1 192.168.1.3");
+              client2.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client2.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client2.wait_until_succeeds("ping -c 1 192.168.1.3")
 
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
         '';
     };
     macvlan = {
@@ -340,35 +340,35 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          # Wait for networking to come up
-          $client->waitForUnit("network.target");
-          $router->waitForUnit("network.target");
-
-          # Wait until we have an ip address on each interface
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
-          $client->waitUntilSucceeds("ip addr show dev macvlan | grep -q '192.168.1'");
-
-          # Print lots of diagnostic information
-          $router->log('**********************************************');
-          $router->succeed("ip addr >&2");
-          $router->succeed("ip route >&2");
-          $router->execute("iptables-save >&2");
-          $client->log('==============================================');
-          $client->succeed("ip addr >&2");
-          $client->succeed("ip route >&2");
-          $client->execute("iptables-save >&2");
-          $client->log('##############################################');
-
-          # Test macvlan creates routable ips
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
-
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
-          $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
+          start_all()
+
+          with subtest("Wait for networking to come up"):
+              client.wait_for_unit("network.target")
+              router.wait_for_unit("network.target")
+
+          with subtest("Wait until we have an ip address on each interface"):
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
+              client.wait_until_succeeds("ip addr show dev macvlan | grep -q '192.168.1'")
+
+          with subtest("Print lots of diagnostic information"):
+              router.log("**********************************************")
+              router.succeed("ip addr >&2")
+              router.succeed("ip route >&2")
+              router.execute("iptables-save >&2")
+              client.log("==============================================")
+              client.succeed("ip addr >&2")
+              client.succeed("ip route >&2")
+              client.execute("iptables-save >&2")
+              client.log("##############################################")
+
+          with subtest("Test macvlan creates routable ips"):
+              client.wait_until_succeeds("ping -c 1 192.168.1.1")
+              client.wait_until_succeeds("ping -c 1 192.168.1.2")
+              client.wait_until_succeeds("ping -c 1 192.168.1.3")
+
+              router.wait_until_succeeds("ping -c 1 192.168.1.1")
+              router.wait_until_succeeds("ping -c 1 192.168.1.2")
+              router.wait_until_succeeds("ping -c 1 192.168.1.3")
         '';
     };
     sit = let
@@ -395,22 +395,22 @@ let
       nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to be configured
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to be configured"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Print diagnostic information
-          $client1->succeed("ip addr >&2");
-          $client2->succeed("ip addr >&2");
+              # Print diagnostic information
+              client1.succeed("ip addr >&2")
+              client2.succeed("ip addr >&2")
 
-          # Test ipv6
-          $client1->waitUntilSucceeds("ping -c 1 fc00::1");
-          $client1->waitUntilSucceeds("ping -c 1 fc00::2");
+          with subtest("Test ipv6"):
+              client1.wait_until_succeeds("ping -c 1 fc00::1")
+              client1.wait_until_succeeds("ping -c 1 fc00::2")
 
-          $client2->waitUntilSucceeds("ping -c 1 fc00::1");
-          $client2->waitUntilSucceeds("ping -c 1 fc00::2");
+              client2.wait_until_succeeds("ping -c 1 fc00::1")
+              client2.wait_until_succeeds("ping -c 1 fc00::2")
         '';
     };
     vlan = let
@@ -435,15 +435,15 @@ let
       nodes.client2 = node "192.168.1.2";
       testScript = { ... }:
         ''
-          startAll;
+          start_all()
 
-          # Wait for networking to be configured
-          $client1->waitForUnit("network.target");
-          $client2->waitForUnit("network.target");
+          with subtest("Wait for networking to be configured"):
+              client1.wait_for_unit("network.target")
+              client2.wait_for_unit("network.target")
 
-          # Test vlan is setup
-          $client1->succeed("ip addr show dev vlan >&2");
-          $client2->succeed("ip addr show dev vlan >&2");
+          with subtest("Test vlan is setup"):
+              client1.succeed("ip addr show dev vlan >&2")
+              client2.succeed("ip addr show dev vlan >&2")
         '';
     };
     virtual = {
@@ -464,33 +464,38 @@ let
       };
 
       testScript = ''
-        my $targetList = <<'END';
+        targetList = """
         tap0: tap persist user 0
         tun0: tun persist user 0
-        END
-
-        # Wait for networking to come up
-        $machine->start;
-        $machine->waitForUnit("network-online.target");
-
-        # Test interfaces set up
-        my $list = $machine->succeed("ip tuntap list | sort");
-        "$list" eq "$targetList" or die(
-          "The list of virtual interfaces does not match the expected one:\n",
-          "Result:\n", "$list\n",
-          "Expected:\n", "$targetList\n"
-        );
-
-        # Test interfaces clean up
-        $machine->succeed("systemctl stop network-addresses-tap0");
-        $machine->sleep(10);
-        $machine->succeed("systemctl stop network-addresses-tun0");
-        $machine->sleep(10);
-        my $residue = $machine->succeed("ip tuntap list");
-        $residue eq "" or die(
-          "Some virtual interface has not been properly cleaned:\n",
-          "$residue\n"
-        );
+        """.strip()
+
+        with subtest("Wait for networking to come up"):
+            machine.start()
+            machine.wait_for_unit("network-online.target")
+
+        with subtest("Test interfaces set up"):
+            list = machine.succeed("ip tuntap list | sort").strip()
+            assert (
+                list == targetList
+            ), """
+            The list of virtual interfaces does not match the expected one:
+            Result:
+              {}
+            Expected:
+              {}
+            """.format(
+                list, targetList
+            )
+
+        with subtest("Test interfaces clean up"):
+            machine.succeed("systemctl stop network-addresses-tap0")
+            machine.sleep(10)
+            machine.succeed("systemctl stop network-addresses-tun0")
+            machine.sleep(10)
+            residue = machine.succeed("ip tuntap list")
+            assert (
+                residue is ""
+            ), "Some virtual interface has not been properly cleaned:\n{}".format(residue)
       '';
     };
     privacy = {
@@ -522,7 +527,7 @@ let
           '';
         };
       };
-      nodes.clientWithPrivacy = { pkgs, ... }: with pkgs.lib; {
+      nodes.client_with_privacy = { pkgs, ... }: with pkgs.lib; {
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
@@ -550,25 +555,31 @@ let
       };
       testScript = { ... }:
         ''
-          startAll;
-
-          $client->waitForUnit("network.target");
-          $clientWithPrivacy->waitForUnit("network.target");
-          $router->waitForUnit("network-online.target");
-
-          # Wait until we have an ip address
-          $clientWithPrivacy->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
-
-          # Test vlan 1
-          $clientWithPrivacy->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
-
-          # Test address used is temporary
-          $clientWithPrivacy->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
-
-          # Test address used is EUI-64
-          $client->waitUntilSucceeds("ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
+          start_all()
+
+          client.wait_for_unit("network.target")
+          client_with_privacy.wait_for_unit("network.target")
+          router.wait_for_unit("network-online.target")
+
+          with subtest("Wait until we have an ip address"):
+              client_with_privacy.wait_until_succeeds(
+                  "ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"
+              )
+              client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
+
+          with subtest("Test vlan 1"):
+              client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
+
+          with subtest("Test address used is temporary"):
+              client_with_privacy.wait_until_succeeds(
+                  "! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
+              )
+
+          with subtest("Test address used is EUI-64"):
+              client.wait_until_succeeds(
+                  "ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
+              )
         '';
     };
     routes = {
@@ -591,47 +602,57 @@ let
       };
 
       testScript = ''
-        my $targetIPv4Table = <<'END';
+        targetIPv4Table = """
         10.0.0.0/16 proto static scope link mtu 1500 
         192.168.1.0/24 proto kernel scope link src 192.168.1.2 
         192.168.2.0/24 via 192.168.1.1 proto static 
-        END
+        """.strip()
 
-        my $targetIPv6Table = <<'END';
+        targetIPv6Table = """
         2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium
         2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium
         fdfd:b3f0::/48 proto static metric 1024 pref medium
-        END
-
-        $machine->start;
-        $machine->waitForUnit("network.target");
-
-        # test routing tables
-        my $ipv4Table = $machine->succeed("ip -4 route list dev eth0 | head -n3");
-        my $ipv6Table = $machine->succeed("ip -6 route list dev eth0 | head -n3");
-        "$ipv4Table" eq "$targetIPv4Table" or die(
-          "The IPv4 routing table does not match the expected one:\n",
-          "Result:\n", "$ipv4Table\n",
-          "Expected:\n", "$targetIPv4Table\n"
-        );
-        "$ipv6Table" eq "$targetIPv6Table" or die(
-          "The IPv6 routing table does not match the expected one:\n",
-          "Result:\n", "$ipv6Table\n",
-          "Expected:\n", "$targetIPv6Table\n"
-        );
-
-        # test clean-up of the tables
-        $machine->succeed("systemctl stop network-addresses-eth0");
-        my $ipv4Residue = $machine->succeed("ip -4 route list dev eth0 | head -n-3");
-        my $ipv6Residue = $machine->succeed("ip -6 route list dev eth0 | head -n-3");
-        $ipv4Residue eq "" or die(
-          "The IPv4 routing table has not been properly cleaned:\n",
-          "$ipv4Residue\n"
-        );
-        $ipv6Residue eq "" or die(
-          "The IPv6 routing table has not been properly cleaned:\n",
-          "$ipv6Residue\n"
-        );
+        """.strip()
+
+        machine.start()
+        machine.wait_for_unit("network.target")
+
+        with subtest("test routing tables"):
+            ipv4Table = machine.succeed("ip -4 route list dev eth0 | head -n3").strip()
+            ipv6Table = machine.succeed("ip -6 route list dev eth0 | head -n3").strip()
+            assert (
+                ipv4Table == targetIPv4Table
+            ), """
+              The IPv4 routing table does not match the expected one:
+                Result:
+                  {}
+                Expected:
+                  {}
+              """.format(
+                ipv4Table, targetIPv4Table
+            )
+            assert (
+                ipv6Table == targetIPv6Table
+            ), """
+              The IPv6 routing table does not match the expected one:
+                Result:
+                  {}
+                Expected:
+                  {}
+              """.format(
+                ipv6Table, targetIPv6Table
+            )
+
+        with subtest("test clean-up of the tables"):
+            machine.succeed("systemctl stop network-addresses-eth0")
+            ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip()
+            ipv6Residue = machine.succeed("ip -6 route list dev eth0 | head -n-3").strip()
+            assert (
+                ipv4Residue is ""
+            ), "The IPv4 routing table has not been properly cleaned:\n{}".format(ipv4Residue)
+            assert (
+                ipv6Residue is ""
+            ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue)
       '';
     };
   };
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index bfb97ec3f23..75862feb202 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "notproduction";
   adminuser = "root";
 in {
@@ -50,11 +50,15 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index aaf37ee4c81..b9ba5888187 100644
--- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "root";
 in {
@@ -85,13 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureMemcached}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
-
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureMemcached}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index f655aba9d45..324853350af 100644
--- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "custom-admin-username";
 in {
@@ -85,12 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureRedis}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureRedis}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nexus.nix b/nixos/tests/nexus.nix
index 783c9f5c019..1ec5c40476a 100644
--- a/nixos/tests/nexus.nix
+++ b/nixos/tests/nexus.nix
@@ -3,7 +3,7 @@
 #   2. nexus service can startup on server (creating database and all other initial stuff)
 #   3. the web application is reachable via HTTP
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "nexus";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ironpinguin ma27 ];
@@ -22,11 +22,11 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("nexus");
-    $server->waitForOpenPort(8081);
+    server.wait_for_unit("nexus")
+    server.wait_for_open_port(8081)
 
-    $server->succeed("curl -f 127.0.0.1:8081");
+    server.succeed("curl -f 127.0.0.1:8081")
   '';
 })
diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix
deleted file mode 100644
index 2f655336e75..00000000000
--- a/nixos/tests/nfs.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-import ./make-test.nix ({ pkgs, version ? 4, ... }:
-
-let
-
-  client =
-    { pkgs, ... }:
-    { fileSystems = pkgs.lib.mkVMOverride
-        [ { mountPoint = "/data";
-            # nfs4 exports the export with fsid=0 as a virtual root directory
-            device = if (version == 4) then "server:/" else "server:/data";
-            fsType = "nfs";
-            options = [ "vers=${toString version}" ];
-          }
-        ];
-      networking.firewall.enable = false; # FIXME: only open statd
-    };
-
-in
-
-{
-  name = "nfs";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco ];
-  };
-
-  nodes =
-    { client1 = client;
-      client2 = client;
-
-      server =
-        { ... }:
-        { services.nfs.server.enable = true;
-          services.nfs.server.exports =
-            ''
-              /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0)
-            '';
-          services.nfs.server.createMountPoints = true;
-          networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed
-        };
-    };
-
-  testScript =
-    ''
-      $server->waitForUnit("nfs-server");
-      $server->succeed("systemctl start network-online.target");
-      $server->waitForUnit("network-online.target");
-
-      startAll;
-
-      $client1->waitForUnit("data.mount");
-      $client1->succeed("echo bla > /data/foo");
-      $server->succeed("test -e /data/foo");
-
-      $client2->waitForUnit("data.mount");
-      $client2->succeed("echo bla > /data/bar");
-      $server->succeed("test -e /data/bar");
-
-      # Test whether restarting ‘nfs-server’ works correctly.
-      $server->succeed("systemctl restart nfs-server");
-      $client2->succeed("echo bla >> /data/bar"); # will take 90 seconds due to the NFS grace period
-
-      # Test whether we can get a lock.
-      $client2->succeed("time flock -n -s /data/lock true");
-
-      # Test locking: client 1 acquires an exclusive lock, so client 2
-      # should then fail to acquire a shared lock.
-      $client1->succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &");
-      $client1->waitForFile("locked");
-      $client2->fail("flock -n -s /data/lock true");
-
-      # Test whether client 2 obtains the lock if we reset client 1.
-      $client2->succeed("flock -x /data/lock -c 'echo acquired; touch locked; sleep 100000' >&2 &");
-      $client1->crash;
-      $client1->start;
-      $client2->waitForFile("locked");
-
-      # Test whether locks survive a reboot of the server.
-      $client1->waitForUnit("data.mount");
-      $server->shutdown;
-      $server->start;
-      $client1->succeed("touch /data/xyzzy");
-      $client1->fail("time flock -n -s /data/lock true");
-
-      # Test whether unmounting during shutdown happens quickly.
-      my $t1 = time;
-      $client1->shutdown;
-      my $duration = time - $t1;
-      die "shutdown took too long ($duration seconds)" if $duration > 30;
-    '';
-})
diff --git a/nixos/tests/nfs/default.nix b/nixos/tests/nfs/default.nix
new file mode 100644
index 00000000000..6bc803c91b4
--- /dev/null
+++ b/nixos/tests/nfs/default.nix
@@ -0,0 +1,9 @@
+{ version ? 4
+, system ? builtins.currentSystem
+, pkgs ? import ../../.. { inherit system; }
+}: {
+  simple = import ./simple.nix { inherit version system pkgs; };
+} // pkgs.lib.optionalAttrs (version == 4) {
+  # TODO: Test kerberos + nfsv3
+  kerberos = import ./kerberos.nix { inherit version system pkgs; };
+}
diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix
new file mode 100644
index 00000000000..1f2d0d453ea
--- /dev/null
+++ b/nixos/tests/nfs/kerberos.nix
@@ -0,0 +1,133 @@
+import ../make-test-python.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+let
+  krb5 = 
+    { enable = true;
+      domain_realm."nfs.test"   = "NFS.TEST";
+      libdefaults.default_realm = "NFS.TEST";
+      realms."NFS.TEST" =
+        { admin_server = "server.nfs.test";
+          kdc = "server.nfs.test";
+        };
+    };
+
+  hosts =
+    ''
+      192.168.1.1 client.nfs.test
+      192.168.1.2 server.nfs.test
+    '';
+
+  users = {
+    users.alice = {
+        isNormalUser = true;
+        name = "alice";
+        uid = 1000;
+      };
+  };
+
+in
+
+{
+  name = "nfsv4-with-kerberos";
+ 
+  nodes = {
+    client = { lib, ... }:
+      { inherit krb5 users;
+
+        networking.extraHosts = hosts;
+        networking.domain = "nfs.test";
+        networking.hostName = "client";
+
+        fileSystems = lib.mkVMOverride
+          { "/data" = {
+              device  = "server.nfs.test:/";
+              fsType  = "nfs";
+              options = [ "nfsvers=4" "sec=krb5p" "noauto" ];
+            };
+          };
+      };
+
+    server = { lib, ...}:
+      { inherit krb5 users;
+
+        networking.extraHosts = hosts;
+        networking.domain = "nfs.test";
+        networking.hostName = "server";
+
+        networking.firewall.allowedTCPPorts = [
+          111  # rpc
+          2049 # nfs
+          88   # kerberos
+          749  # kerberos admin
+        ];
+
+        services.kerberos_server.enable = true;
+        services.kerberos_server.realms =
+          { "NFS.TEST".acl =
+            [ { access = "all"; principal = "admin/admin"; } ];
+          };
+
+        services.nfs.server.enable = true;
+        services.nfs.server.createMountPoints = true;
+        services.nfs.server.exports =
+          ''
+            /data *(rw,no_root_squash,fsid=0,sec=krb5p)
+          '';
+      };
+  };
+
+  testScript =
+    ''
+      server.succeed("mkdir -p /data/alice")
+      server.succeed("chown alice:users /data/alice")
+
+      # set up kerberos database
+      server.succeed(
+          "kdb5_util create -s -r NFS.TEST -P master_key",
+          "systemctl restart kadmind.service kdc.service",
+      )
+      server.wait_for_unit(f"kadmind.service")
+      server.wait_for_unit(f"kdc.service")
+
+      # create principals
+      server.succeed(
+          "kadmin.local add_principal -randkey nfs/server.nfs.test",
+          "kadmin.local add_principal -randkey nfs/client.nfs.test",
+          "kadmin.local add_principal -pw admin_pw admin/admin",
+          "kadmin.local add_principal -pw alice_pw alice",
+      )
+
+      # add principals to server keytab
+      server.succeed("kadmin.local ktadd nfs/server.nfs.test")
+      server.succeed("systemctl start rpc-gssd.service rpc-svcgssd.service")
+      server.wait_for_unit(f"rpc-gssd.service")
+      server.wait_for_unit(f"rpc-svcgssd.service")
+
+      client.wait_for_unit("network-online.target")
+
+      # add principals to client keytab
+      client.succeed("echo admin_pw | kadmin -p admin/admin ktadd nfs/client.nfs.test")
+      client.succeed("systemctl start rpc-gssd.service")
+      client.wait_for_unit("rpc-gssd.service")
+
+      with subtest("nfs share mounts"):
+          client.succeed("systemctl restart data.mount")
+          client.wait_for_unit("data.mount")
+
+      with subtest("permissions on nfs share are enforced"):
+          client.fail("su alice -c 'ls /data'")
+          client.succeed("su alice -c 'echo alice_pw | kinit'")
+          client.succeed("su alice -c 'ls /data'")
+
+          client.fail("su alice -c 'echo bla >> /data/foo'")
+          client.succeed("su alice -c 'echo bla >> /data/alice/foo'")
+          server.succeed("test -e /data/alice/foo")
+
+      with subtest("uids/gids are mapped correctly on nfs share"):
+          ids = client.succeed("stat -c '%U %G' /data/alice").split()
+          expected = ["alice", "users"]
+          assert ids == expected, f"ids incorrect: got {ids} expected {expected}"
+    '';
+})
diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix
new file mode 100644
index 00000000000..a1a09ee0f45
--- /dev/null
+++ b/nixos/tests/nfs/simple.nix
@@ -0,0 +1,94 @@
+import ../make-test-python.nix ({ pkgs, version ? 4, ... }:
+
+let
+
+  client =
+    { pkgs, ... }:
+    { fileSystems = pkgs.lib.mkVMOverride
+        [ { mountPoint = "/data";
+            # nfs4 exports the export with fsid=0 as a virtual root directory
+            device = if (version == 4) then "server:/" else "server:/data";
+            fsType = "nfs";
+            options = [ "vers=${toString version}" ];
+          }
+        ];
+      networking.firewall.enable = false; # FIXME: only open statd
+    };
+
+in
+
+{
+  name = "nfs";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ eelco ];
+  };
+
+  nodes =
+    { client1 = client;
+      client2 = client;
+
+      server =
+        { ... }:
+        { services.nfs.server.enable = true;
+          services.nfs.server.exports =
+            ''
+              /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0)
+            '';
+          services.nfs.server.createMountPoints = true;
+          networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed
+        };
+    };
+
+  testScript =
+    ''
+      import time
+
+      server.wait_for_unit("nfs-server")
+      server.succeed("systemctl start network-online.target")
+      server.wait_for_unit("network-online.target")
+
+      start_all()
+
+      client1.wait_for_unit("data.mount")
+      client1.succeed("echo bla > /data/foo")
+      server.succeed("test -e /data/foo")
+
+      client2.wait_for_unit("data.mount")
+      client2.succeed("echo bla > /data/bar")
+      server.succeed("test -e /data/bar")
+
+      with subtest("restarting 'nfs-server' works correctly"):
+          server.succeed("systemctl restart nfs-server")
+          # will take 90 seconds due to the NFS grace period
+          client2.succeed("echo bla >> /data/bar")
+
+      with subtest("can get a lock"):
+          client2.succeed("time flock -n -s /data/lock true")
+
+      with subtest("client 2 fails to acquire lock held by client 1"):
+          client1.succeed("flock -x /data/lock -c 'touch locked; sleep 100000' &")
+          client1.wait_for_file("locked")
+          client2.fail("flock -n -s /data/lock true")
+
+      with subtest("client 2 obtains lock after resetting client 1"):
+          client2.succeed(
+              "flock -x /data/lock -c 'echo acquired; touch locked; sleep 100000' >&2 &"
+          )
+          client1.crash()
+          client1.start()
+          client2.wait_for_file("locked")
+
+      with subtest("locks survive server reboot"):
+          client1.wait_for_unit("data.mount")
+          server.shutdown()
+          server.start()
+          client1.succeed("touch /data/xyzzy")
+          client1.fail("time flock -n -s /data/lock true")
+
+      with subtest("unmounting during shutdown happens quickly"):
+          t1 = time.monotonic()
+          client1.shutdown()
+          duration = time.monotonic() - t1
+          assert duration < 30, f"shutdown took too long ({duration} seconds)"
+    '';
+})
diff --git a/nixos/tests/nghttpx.nix b/nixos/tests/nghttpx.nix
index 11611bfe106..d83c1c4cae6 100644
--- a/nixos/tests/nghttpx.nix
+++ b/nixos/tests/nghttpx.nix
@@ -1,7 +1,7 @@
 let
   nginxRoot = "/run/nginx";
 in
-  import ./make-test.nix ({...}: {
+  import ./make-test-python.nix ({...}: {
     name  = "nghttpx";
     nodes = {
       webserver = {
@@ -52,10 +52,10 @@ in
     };
 
     testScript = ''
-      startAll;
+      start_all()
 
-      $webserver->waitForOpenPort("80");
-      $proxy->waitForOpenPort("80");
-      $client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
+      webserver.wait_for_open_port("80")
+      proxy.wait_for_open_port("80")
+      client.wait_until_succeeds("curl -s --fail http://proxy/hello-world.txt")
     '';
   })
diff --git a/nixos/tests/nix-ssh-serve.nix b/nixos/tests/nix-ssh-serve.nix
index 494d55121eb..03f83542c7c 100644
--- a/nixos/tests/nix-ssh-serve.nix
+++ b/nixos/tests/nix-ssh-serve.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let inherit (import ./ssh-keys.nix pkgs)
       snakeOilPrivateKey snakeOilPublicKey;
     ssh-config = builtins.toFile "ssh.conf" ''
@@ -18,22 +18,28 @@ in
          client.nix.package = pkgs.nix;
        };
      testScript = ''
-       startAll;
+       start_all()
 
-       $client->succeed("mkdir -m 700 /root/.ssh");
-       $client->copyFileFromHost("${ssh-config}", "/root/.ssh/config");
-       $client->succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa");
-       $client->succeed("chmod 600 /root/.ssh/id_ecdsa");
+       client.succeed("mkdir -m 700 /root/.ssh")
+       client.succeed(
+           "cat ${ssh-config} > /root/.ssh/config"
+       )
+       client.succeed(
+           "cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa"
+       )
+       client.succeed("chmod 600 /root/.ssh/id_ecdsa")
 
-       $client->succeed("nix-store --add /etc/machine-id > mach-id-path");
+       client.succeed("nix-store --add /etc/machine-id > mach-id-path")
 
-       $server->waitForUnit("sshd");
+       server.wait_for_unit("sshd")
 
-       $client->fail("diff /root/other-store\$(cat mach-id-path) /etc/machine-id");
+       client.fail("diff /root/other-store$(cat mach-id-path) /etc/machine-id")
        # Currently due to shared store this is a noop :(
-       $client->succeed("nix copy --to ssh-ng://nix-ssh\@server \$(cat mach-id-path)");
-       $client->succeed("nix-store --realise \$(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh\@server");
-       $client->succeed("diff /root/other-store\$(cat mach-id-path) /etc/machine-id");
+       client.succeed("nix copy --to ssh-ng://nix-ssh@server $(cat mach-id-path)")
+       client.succeed(
+           "nix-store --realise $(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh@server"
+       )
+       client.succeed("diff /root/other-store$(cat mach-id-path) /etc/machine-id")
      '';
    }
 )
diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix
index 15a173e024b..6c83ccecc70 100644
--- a/nixos/tests/nixos-generate-config.nix
+++ b/nixos/tests/nixos-generate-config.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... } : {
+import ./make-test-python.nix ({ lib, ... } : {
   name = "nixos-generate-config";
   meta.maintainers = with lib.maintainers; [ basvandijk ];
   machine = {
@@ -11,14 +11,16 @@ import ./make-test.nix ({ lib, ... } : {
     '';
   };
   testScript = ''
-    startAll;
-    $machine->waitForUnit("multi-user.target");
-    $machine->succeed("nixos-generate-config");
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("nixos-generate-config")
 
     # Test if the configuration really is overridden
-    $machine->succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix");
+    machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix")
 
     # Test of if the Perl variable $bootLoaderConfig is spliced correctly:
-    $machine->succeed("grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix");
+    machine.succeed(
+        "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix"
+    )
   '';
 })
diff --git a/nixos/tests/novacomd.nix b/nixos/tests/novacomd.nix
index 4eb60c0feb5..940210dee23 100644
--- a/nixos/tests/novacomd.nix
+++ b/nixos/tests/novacomd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "novacomd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ dtzWill ];
@@ -9,26 +9,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $machine->waitForUnit("multi-user.target");
+    machine.wait_for_unit("novacomd.service")
 
-    # multi-user.target wants novacomd.service, but let's make sure
-    $machine->waitForUnit("novacomd.service");
+    with subtest("Make sure the daemon is really listening"):
+        machine.wait_for_open_port(6968)
+        machine.succeed("novacom -l")
 
-    # Check status and try connecting with novacom
-    $machine->succeed("systemctl status novacomd.service >&2");
-    # to prevent non-deterministic failure,
-    # make sure the daemon is really listening
-    $machine->waitForOpenPort(6968);
-    $machine->succeed("novacom -l");
+    with subtest("Stop the daemon, double-check novacom fails if daemon isn't working"):
+        machine.stop_job("novacomd")
+        machine.fail("novacom -l")
 
-    # Stop the daemon, double-check novacom fails if daemon isn't working
-    $machine->stopJob("novacomd");
-    $machine->fail("novacom -l");
-
-    # And back again for good measure
-    $machine->startJob("novacomd");
-    # make sure the daemon is really listening
-    $machine->waitForOpenPort(6968);
-    $machine->succeed("novacom -l");
+    with subtest("Make sure the daemon starts back up again"):
+        machine.start_job("novacomd")
+        # make sure the daemon is really listening
+        machine.wait_for_open_port(6968)
+        machine.succeed("novacom -l")
   '';
 })
diff --git a/nixos/tests/nzbget.nix b/nixos/tests/nzbget.nix
index 042ccec98cf..12d8ed6ea8d 100644
--- a/nixos/tests/nzbget.nix
+++ b/nixos/tests/nzbget.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "nzbget";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aanderse flokli ];
@@ -15,12 +15,16 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("nzbget.service");
-    $server->waitForUnit("network.target");
-    $server->waitForOpenPort(6789);
-    $server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'");
-    $server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V");
+    server.wait_for_unit("nzbget.service")
+    server.wait_for_unit("network.target")
+    server.wait_for_open_port(6789)
+    assert "This file is part of nzbget" in server.succeed(
+        "curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789"
+    )
+    server.succeed(
+        "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V"
+    )
   '';
 })
diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix
index 4cc4db22963..b315426532b 100644
--- a/nixos/tests/openarena.nix
+++ b/nixos/tests/openarena.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "openarena";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ tomfitzhenry ];
@@ -23,14 +23,19 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("openarena.service");
-      $machine->waitUntilSucceeds("ss --numeric --udp --listening | grep -q 27960");
+      machine.wait_for_unit("openarena.service")
+      machine.wait_until_succeeds("ss --numeric --udp --listening | grep -q 27960")
 
       # The log line containing 'resolve address' is last and only message that occurs after
       # the server starts accepting clients.
-      $machine->waitUntilSucceeds("journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'");
+      machine.wait_until_succeeds(
+          "journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'"
+      )
 
       # Check it's possible to join the server.
-      $machine->succeed("echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse");
+      # Can't use substring match instead of grep because the output is not utf-8
+      machine.succeed(
+          "echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse"
+      )
     '';
 })
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index 3ef90e18347..f8321a2c522 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "openldap";
 
   machine = { pkgs, ... }: {
@@ -24,8 +24,10 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('openldap.service');
-    $machine->succeed('systemctl status openldap.service');
-    $machine->succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"');
+    machine.wait_for_unit("openldap.service")
+    machine.succeed(
+        "systemctl status openldap.service",
+        'ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"',
+    )
   '';
 }
diff --git a/nixos/tests/opensmtpd.nix b/nixos/tests/opensmtpd.nix
index 883ad760494..e6f52db1d98 100644
--- a/nixos/tests/opensmtpd.nix
+++ b/nixos/tests/opensmtpd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "opensmtpd";
 
   nodes = {
@@ -102,23 +102,23 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $client->waitForUnit("network-online.target");
-    $smtp1->waitForUnit('opensmtpd');
-    $smtp2->waitForUnit('opensmtpd');
-    $smtp2->waitForUnit('dovecot2');
+    client.wait_for_unit("network-online.target")
+    smtp1.wait_for_unit("opensmtpd")
+    smtp2.wait_for_unit("opensmtpd")
+    smtp2.wait_for_unit("dovecot2")
 
     # To prevent sporadic failures during daemon startup, make sure
     # services are listening on their ports before sending requests
-    $smtp1->waitForOpenPort(25);
-    $smtp2->waitForOpenPort(25);
-    $smtp2->waitForOpenPort(143);
+    smtp1.wait_for_open_port(25)
+    smtp2.wait_for_open_port(25)
+    smtp2.wait_for_open_port(143)
 
-    $client->succeed('send-a-test-mail');
-    $smtp1->waitUntilFails('smtpctl show queue | egrep .');
-    $smtp2->waitUntilFails('smtpctl show queue | egrep .');
-    $client->succeed('check-mail-landed >&2');
+    client.succeed("send-a-test-mail")
+    smtp1.wait_until_fails("smtpctl show queue | egrep .")
+    smtp2.wait_until_fails("smtpctl show queue | egrep .")
+    client.succeed("check-mail-landed >&2")
   '';
 
   meta.timeout = 30;
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 8b9e2170f15..e9692b50327 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let inherit (import ./ssh-keys.nix pkgs)
       snakeOilPrivateKey snakeOilPublicKey;
@@ -58,47 +58,55 @@ in {
   };
 
   testScript = ''
-    startAll;
-
-    my $key=`${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f key -N ""`;
-
-    $server->waitForUnit("sshd");
-
-    subtest "manual-authkey", sub {
-      $server->succeed("mkdir -m 700 /root/.ssh");
-      $server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
-      $server_lazy->succeed("mkdir -m 700 /root/.ssh");
-      $server_lazy->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys");
-
-      $client->succeed("mkdir -m 700 /root/.ssh");
-      $client->copyFileFromHost("key", "/root/.ssh/id_ed25519");
-      $client->succeed("chmod 600 /root/.ssh/id_ed25519");
-
-      $client->waitForUnit("network.target");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024");
-
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024");
-
-    };
-
-    subtest "configured-authkey", sub {
-      $client->succeed("cat ${snakeOilPrivateKey} > privkey.snakeoil");
-      $client->succeed("chmod 600 privkey.snakeoil");
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
-                       " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
-                       " server true");
-
-      $client->succeed("ssh -o UserKnownHostsFile=/dev/null" .
-                       " -o StrictHostKeyChecking=no -i privkey.snakeoil" .
-                       " server_lazy true");
-
-    };
-
-    subtest "localhost-only", sub {
-      $server_localhost_only->succeed("ss -nlt | grep '127.0.0.1:22'");
-      $server_localhost_only_lazy->succeed("ss -nlt | grep '127.0.0.1:22'");
-    }
+    start_all()
+
+    server.wait_for_unit("sshd")
+
+    with subtest("manual-authkey"):
+        client.succeed("mkdir -m 700 /root/.ssh")
+        client.succeed(
+            '${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""'
+        )
+        public_key = client.succeed(
+            "${pkgs.openssh}/bin/ssh-keygen -y -f /root/.ssh/id_ed25519"
+        )
+        public_key = public_key.strip()
+        client.succeed("chmod 600 /root/.ssh/id_ed25519")
+
+        server.succeed("mkdir -m 700 /root/.ssh")
+        server.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key))
+        server_lazy.succeed("mkdir -m 700 /root/.ssh")
+        server_lazy.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key))
+
+        client.wait_for_unit("network.target")
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"
+        )
+
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"
+        )
+
+    with subtest("configured-authkey"):
+        client.succeed(
+            "cat ${snakeOilPrivateKey} > privkey.snakeoil"
+        )
+        client.succeed("chmod 600 privkey.snakeoil")
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true"
+        )
+        client.succeed(
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true"
+        )
+
+    with subtest("localhost-only"):
+        server_localhost_only.succeed("ss -nlt | grep '127.0.0.1:22'")
+        server_localhost_only_lazy.succeed("ss -nlt | grep '127.0.0.1:22'")
   '';
 })
diff --git a/nixos/tests/orangefs.nix b/nixos/tests/orangefs.nix
index bdf4fc10c44..46d7a6a72f8 100644
--- a/nixos/tests/orangefs.nix
+++ b/nixos/tests/orangefs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... } :
+import ./make-test-python.nix ({ ... } :
 
 let
   server = { pkgs, ... } : {
@@ -52,37 +52,31 @@ in {
 
   testScript = ''
     # format storage
-    foreach my $server  (($server1,$server2))
-    {
-      $server->start();
-      $server->waitForUnit("multi-user.target");
-      $server->succeed("mkdir -p /data/storage /data/meta");
-      $server->succeed("chown orangefs:orangefs /data/storage /data/meta");
-      $server->succeed("chmod 0770 /data/storage /data/meta");
-      $server->succeed("sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf");
-    }
+    for server in server1, server2:
+        server.start()
+        server.wait_for_unit("multi-user.target")
+        server.succeed("mkdir -p /data/storage /data/meta")
+        server.succeed("chown orangefs:orangefs /data/storage /data/meta")
+        server.succeed("chmod 0770 /data/storage /data/meta")
+        server.succeed(
+            "sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf"
+        )
 
     # start services after storage is formated on all machines
-    foreach my $server  (($server1,$server2))
-    {
-      $server->succeed("systemctl start orangefs-server.service");
-    }
+    for server in server1, server2:
+        server.succeed("systemctl start orangefs-server.service")
 
-    # Check if clients can reach and mount the FS
-    foreach my $client  (($client1,$client2))
-    {
-      $client->start();
-      $client->waitForUnit("orangefs-client.service");
-      # Both servers need to be reachable
-      $client->succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334");
-      $client->succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334");
-      $client->waitForUnit("orangefs.mount");
-
-    }
-
-    # R/W test between clients
-    $client1->succeed("echo test > /orangefs/file1");
-    $client2->succeed("grep test /orangefs/file1");
+    with subtest("clients can reach and mount the FS"):
+        for client in client1, client2:
+            client.start()
+            client.wait_for_unit("orangefs-client.service")
+            # Both servers need to be reachable
+            client.succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334")
+            client.succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334")
+            client.wait_for_unit("orangefs.mount")
 
+    with subtest("R/W test between clients"):
+        client1.succeed("echo test > /orangefs/file1")
+        client2.succeed("grep test /orangefs/file1")
   '';
 })
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
deleted file mode 100644
index d95871ffafc..00000000000
--- a/nixos/tests/osquery.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
-
-with lib;
-
-{
-  name = "osquery";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ ma27 ];
-  };
-
-  machine = {
-    services.osquery.enable = true;
-    services.osquery.loggerPath = "/var/log/osquery/logs";
-    services.osquery.pidfile = "/run/osqueryd.pid";
-  };
-
-  testScript = ''
-    $machine->start;
-    $machine->waitForUnit("osqueryd.service");
-
-    $machine->succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | grep '127.0.0.1'");
-    $machine->succeed(
-      "echo 'SELECT value FROM osquery_flags WHERE name = \"logger_path\";' | osqueryi | grep /var/log/osquery/logs"
-    );
-
-    $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /run/osqueryd.pid");
-  '';
-})
diff --git a/nixos/tests/osrm-backend.nix b/nixos/tests/osrm-backend.nix
index 6e2d098d4ad..db67a5a589f 100644
--- a/nixos/tests/osrm-backend.nix
+++ b/nixos/tests/osrm-backend.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let
   port = 5000;
 in {
@@ -45,9 +45,13 @@ in {
   testScript = let
     query = "http://localhost:${toString port}/route/v1/driving/7.41720,43.73304;7.42463,43.73886?steps=true";
   in ''
-    $machine->waitForUnit("osrm.service");
-    $machine->waitForOpenPort(${toString port});
-    $machine->succeed("curl --silent '${query}' | jq .waypoints[0].name | grep -F 'Boulevard Rainier III'");
-    $machine->succeed("curl --silent '${query}' | jq .waypoints[1].name | grep -F 'Avenue de la Costa'");
+    machine.wait_for_unit("osrm.service")
+    machine.wait_for_open_port(${toString port})
+    assert "Boulevard Rainier III" in machine.succeed(
+        "curl --silent '${query}' | jq .waypoints[0].name"
+    )
+    assert "Avenue de la Costa" in machine.succeed(
+        "curl --silent '${query}' | jq .waypoints[1].name"
+    )
   '';
 })
diff --git a/nixos/tests/ostree.nix b/nixos/tests/ostree.nix
deleted file mode 100644
index d7ad84a1a5f..00000000000
--- a/nixos/tests/ostree.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, lib, ... }: {
-  name = "ostree";
-
-  meta = {
-    maintainers = pkgs.ostree.meta.maintainers;
-  };
-
-  # TODO: Wrap/patch the tests directly in the package
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [
-      gnome-desktop-testing ostree gnupg (python3.withPackages (p: with p; [ pyyaml ]))
-    ];
-
-    environment.variables.GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" (with pkgs; [ gtk3 pango.out ostree gdk-pixbuf atk ]); # for GJS tests
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d ${pkgs.ostree.installedTests}/share");
-  '';
-})
diff --git a/nixos/tests/overlayfs.nix b/nixos/tests/overlayfs.nix
index 99bb6b0f553..33794deb9ed 100644
--- a/nixos/tests/overlayfs.nix
+++ b/nixos/tests/overlayfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "overlayfs";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bachp ];
 
@@ -9,49 +9,42 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->succeed("ls /dev");
+    machine.succeed("ls /dev")
 
-    $machine->succeed("mkdir -p /tmp/mnt");
+    machine.succeed("mkdir -p /tmp/mnt")
 
     # Test ext4 + overlayfs
-    $machine->succeed(
-
-      "mkfs.ext4 -F -L overlay-ext4 /dev/vdb",
-      "mount -t ext4 /dev/vdb /tmp/mnt",
-
-      "mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged",
-
-      # Setup some existing files
-      "echo 'Replace' > /tmp/mnt/lower/replace.txt",
-      "echo 'Append' > /tmp/mnt/lower/append.txt",
-      "echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt",
-
-      "mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged",
-
-      # Test new
-      "echo 'New' > /tmp/mnt/merged/new.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/new.txt)\" == \"New\" ]]",
-
-      # Test replace
-      "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replace\" ]]",
-      "echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt",
-      "mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replaced\" ]]",
-
-      # Overwrite
-      "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwrite\" ]]",
-      "echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt",
-      "[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwritten\" ]]",
-
-      # Test append
-      "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\" ]]",
-      "echo 'ed' >> /tmp/mnt/merged/append.txt",
-      #"cat /tmp/mnt/merged/append.txt && exit 1",
-      "[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\ned\" ]]",
-
-      "umount /tmp/mnt/merged",
-      "umount /tmp/mnt",
-      "udevadm settle"
-    );
+    machine.succeed(
+        """
+          mkfs.ext4 -F -L overlay-ext4 /dev/vdb
+          mount -t ext4 /dev/vdb /tmp/mnt
+          mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged
+          # Setup some existing files
+          echo 'Replace' > /tmp/mnt/lower/replace.txt
+          echo 'Append' > /tmp/mnt/lower/append.txt
+          echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt
+          mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged
+          # Test new
+          echo 'New' > /tmp/mnt/merged/new.txt
+          [[ "\$(cat /tmp/mnt/merged/new.txt)" == "New" ]]
+          # Test replace
+          [[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replace" ]]
+          echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt
+          mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt
+          [[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replaced" ]]
+          # Overwrite
+          [[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwrite" ]]
+          echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt
+          [[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwritten" ]]
+          # Test append
+          [[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append" ]]
+          echo 'ed' >> /tmp/mnt/merged/append.txt
+          #"cat /tmp/mnt/merged/append.txt && exit 1
+          [[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]
+          umount /tmp/mnt/merged
+          umount /tmp/mnt
+          udevadm settle
+      """
+    )
   '';
 })
diff --git a/nixos/tests/packagekit.nix b/nixos/tests/packagekit.nix
index e2d68af661f..7e93ad35e80 100644
--- a/nixos/tests/packagekit.nix
+++ b/nixos/tests/packagekit.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "packagekit";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ peterhoeg ];
@@ -13,12 +13,14 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
     # send a dbus message to activate the service
-    $machine->succeed("dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect");
+    machine.succeed(
+        "dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect"
+    )
 
     # so now it should be running
-    $machine->succeed("systemctl is-active packagekit.service");
+    machine.wait_for_unit("packagekit.service")
   '';
 })
diff --git a/nixos/tests/pam-oath-login.nix b/nixos/tests/pam-oath-login.nix
index b9d489950e7..6d48199eda9 100644
--- a/nixos/tests/pam-oath-login.nix
+++ b/nixos/tests/pam-oath-login.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 let
   oathSnakeoilSecret = "cdd4083ef8ff1fa9178c6d46bfb1a3";
@@ -55,70 +55,54 @@ in
       };
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'");
-      $machine->screenshot("postboot");
-
-
-      subtest "Invalid password", sub {
-        $machine->fail("pgrep -f 'agetty.*tty2'");
-        $machine->sendKeys("alt-f2");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]");
-        $machine->waitForUnit('getty@tty2.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'");
-
-        $machine->waitUntilTTYMatches(2, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(2, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-
-        $machine->waitUntilTTYMatches(2, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword1}\n");
-        $machine->waitUntilTTYMatches(2, "Password: ");
-        $machine->sendChars("blorg\n");
-        $machine->waitUntilTTYMatches(2, "Login incorrect");
-      };
+  testScript = ''
+    def switch_to_tty(tty_number):
+        machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'")
+        machine.send_key(f"alt-f{tty_number}")
+        machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]")
+        machine.wait_for_unit(f"getty@tty{tty_number}.service")
+        machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'")
 
-      subtest "Invalid oath token", sub {
-        $machine->fail("pgrep -f 'agetty.*tty3'");
-        $machine->sendKeys("alt-f3");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 3 ]");
-        $machine->waitForUnit('getty@tty3.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty3'");
-
-        $machine->waitUntilTTYMatches(3, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(3, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(3, "One-time password");
-        $machine->sendChars("000000\n");
-        $machine->waitUntilTTYMatches(3, "Login incorrect");
-        $machine->waitUntilTTYMatches(3, "login:");
-      };
 
-      subtest "Happy path (both passwords are mandatory to get us in)", sub {
-        $machine->fail("pgrep -f 'agetty.*tty4'");
-        $machine->sendKeys("alt-f4");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 4 ]");
-        $machine->waitForUnit('getty@tty4.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty4'");
-
-        $machine->waitUntilTTYMatches(4, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(4, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(4, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword2}\n");
-        $machine->waitUntilTTYMatches(4, "Password: ");
-        $machine->sendChars("${alicePassword}\n");
-
-        $machine->waitUntilSucceeds("pgrep -u alice bash");
-        $machine->sendChars("touch  done4\n");
-        $machine->waitForFile("/home/alice/done4");
-      };
+    def enter_user_alice(tty_number):
+        machine.wait_until_tty_matches(tty_number, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(tty_number, "login: alice")
+        machine.wait_until_succeeds("pgrep login")
+        machine.wait_until_tty_matches(tty_number, "One-time password")
 
-    '';
 
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+    machine.screenshot("postboot")
+
+    with subtest("Invalid password"):
+        switch_to_tty(2)
+        enter_user_alice(2)
+
+        machine.send_chars("${oathSnakeOilPassword1}\n")
+        machine.wait_until_tty_matches(2, "Password: ")
+        machine.send_chars("blorg\n")
+        machine.wait_until_tty_matches(2, "Login incorrect")
+
+    with subtest("Invalid oath token"):
+        switch_to_tty(3)
+        enter_user_alice(3)
+
+        machine.send_chars("000000\n")
+        machine.wait_until_tty_matches(3, "Login incorrect")
+        machine.wait_until_tty_matches(3, "login:")
+
+    with subtest("Happy path: Both passwords are mandatory to get us in"):
+        switch_to_tty(4)
+        enter_user_alice(4)
+
+        machine.send_chars("${oathSnakeOilPassword2}\n")
+        machine.wait_until_tty_matches(4, "Password: ")
+        machine.send_chars("${alicePassword}\n")
+
+        machine.wait_until_succeeds("pgrep -u alice bash")
+        machine.send_chars("touch  done4\n")
+        machine.wait_for_file("/home/alice/done4")
+    '';
 })
diff --git a/nixos/tests/pam-u2f.nix b/nixos/tests/pam-u2f.nix
index 1052a2f3b91..f492baa9e13 100644
--- a/nixos/tests/pam-u2f.nix
+++ b/nixos/tests/pam-u2f.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 {
   name = "pam-u2f";
@@ -17,7 +17,9 @@ import ./make-test.nix ({ ... }:
 
   testScript =
     ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->succeed('egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R');
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed(
+          'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R'
+      )
     '';
 })
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
index 9888887ee8b..c0434f20754 100644
--- a/nixos/tests/pantheon.nix
+++ b/nixos/tests/pantheon.nix
@@ -1,9 +1,10 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "pantheon";
+
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ worldofpeace ];
+    maintainers = pkgs.pantheon.maintainers;
   };
 
   machine = { ... }:
@@ -21,35 +22,38 @@ import ./make-test.nix ({ pkgs, ...} :
 
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
+    bob = nodes.machine.config.users.users.bob;
   in ''
-    startAll;
-
-    # Wait for display manager to start
-    $machine->waitForText(qr/${user.description}/);
-    $machine->screenshot("lightdm");
-
-    # Log in
-    $machine->sendChars("${user.password}\n");
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-
-    # Check if "pantheon-shell" components actually start
-    $machine->waitUntilSucceeds("pgrep gala");
-    $machine->waitForWindow(qr/gala/);
-    $machine->waitUntilSucceeds("pgrep wingpanel");
-    $machine->waitForWindow("wingpanel");
-    $machine->waitUntilSucceeds("pgrep plank");
-    $machine->waitForWindow(qr/plank/);
-
-    # Check that logging in has given the user ownership of devices.
-    $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-    # Open elementary terminal
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 io.elementary.terminal &'");
-    $machine->waitForWindow(qr/io.elementary.terminal/);
-
-    # Take a screenshot of the desktop
-    $machine->sleep(20);
-    $machine->screenshot("screen");
+    machine.wait_for_unit("display-manager.service")
+
+    with subtest("Test we can see usernames in elementary-greeter"):
+        machine.wait_for_text("${user.description}")
+        # OCR was struggling with this one.
+        # machine.wait_for_text("${bob.description}")
+        machine.screenshot("elementary_greeter_lightdm")
+
+    with subtest("Login with elementary-greeter"):
+        machine.send_chars("${user.password}\n")
+        machine.wait_for_x()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+    with subtest("Check that logging in has given the user ownership of devices"):
+        machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+    # TODO: DBus API could eliminate this? Pantheon uses Bamf.
+    with subtest("Check if pantheon session components actually start"):
+        machine.wait_until_succeeds("pgrep gala")
+        machine.wait_for_window("gala")
+        machine.wait_until_succeeds("pgrep wingpanel")
+        machine.wait_for_window("wingpanel")
+        machine.wait_until_succeeds("pgrep plank")
+        machine.wait_for_window("plank")
+
+    with subtest("Open elementary terminal"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.terminal &'")
+        machine.wait_for_window("io.elementary.terminal")
+        machine.sleep(20)
+        machine.screenshot("screen")
   '';
 })
diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix
index 860ad0a6218..355e7041d3f 100644
--- a/nixos/tests/paperless.nix
+++ b/nixos/tests/paperless.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... } : {
+import ./make-test-python.nix ({ lib, ... } : {
   name = "paperless";
   meta = with lib.maintainers; {
     maintainers = [ earvstedt ];
@@ -13,17 +13,24 @@ import ./make-test.nix ({ lib, ... } : {
   };
 
   testScript = ''
-    $machine->waitForUnit("paperless-consumer.service");
+    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');
+    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 -s localhost:28981")
 
-    $machine->waitForUnit("paperless-server.service");
-    # Wait until server accepts connections
-    $machine->waitUntilSucceeds("curl -s localhost:28981");
-    # Wait until document is consumed
-    $machine->waitUntilSucceeds('(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))');
-    $machine->succeed("curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'")
-      =~ /2005-10-16/ or die;
+    with subtest("Test document is consumed"):
+        machine.wait_until_succeeds(
+            "(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))"
+        )
+        assert "2005-10-16" in machine.succeed(
+            "curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'"
+        )
   '';
 })
diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix
index bf6e6093d69..de1b60e0b1c 100644
--- a/nixos/tests/pdns-recursor.nix
+++ b/nixos/tests/pdns-recursor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "powerdns";
 
   nodes.server = { ... }: {
@@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    $server->waitForUnit("pdns-recursor");
-    $server->waitForOpenPort("53");
+    server.wait_for_unit("pdns-recursor")
+    server.wait_for_open_port("53")
   '';
 })
diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix
index fae37fedaac..37628604d49 100644
--- a/nixos/tests/peerflix.nix
+++ b/nixos/tests/peerflix.nix
@@ -1,6 +1,6 @@
 # This test runs peerflix and checks if peerflix starts
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "peerflix";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -15,9 +15,9 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $peerflix->waitForUnit("peerflix.service");
-    $peerflix->waitUntilSucceeds("curl localhost:9000");
+    peerflix.wait_for_unit("peerflix.service")
+    peerflix.wait_until_succeeds("curl localhost:9000")
   '';
 })
diff --git a/nixos/tests/pgjwt.nix b/nixos/tests/pgjwt.nix
index a2d81288c81..4793a3e3150 100644
--- a/nixos/tests/pgjwt.nix
+++ b/nixos/tests/pgjwt.nix
@@ -1,12 +1,5 @@
-import ./make-test.nix ({ pkgs, lib, ...}:
-let
-  test = with pkgs; runCommand "patch-test" {
-    nativeBuildInputs = [ pgjwt ];
-  }
-  ''
-    sed -e '12 i CREATE EXTENSION pgcrypto;\nCREATE EXTENSION pgtap;\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > $out;
-  '';
-in
+import ./make-test-python.nix ({ pkgs, lib, ...}:
+
 with pkgs; {
   name = "pgjwt";
   meta = with lib.maintainers; {
@@ -29,9 +22,13 @@ with pkgs; {
     pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}";
   in
   ''
-    startAll;
-    $master->waitForUnit("postgresql");
-    $master->copyFileFromHost("${test}","/tmp/test.sql");
-    $master->succeed("${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql");
+    start_all()
+    master.wait_for_unit("postgresql")
+    master.succeed(
+        "${pkgs.gnused}/bin/sed -e '12 i CREATE EXTENSION pgcrypto;\\nCREATE EXTENSION pgtap;\\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > /tmp/test.sql"
+    )
+    master.succeed(
+        "${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql"
+    )
   '';
 })
diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix
index bacaf3f4158..4f5dbed24a9 100644
--- a/nixos/tests/pgmanage.nix
+++ b/nixos/tests/pgmanage.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } :
+import ./make-test-python.nix ({ pkgs, ... } :
 let
   role     = "test";
   password = "secret";
@@ -29,11 +29,13 @@ in
   };
 
   testScript = ''
-    startAll;
-    $one->waitForUnit("default.target");
-    $one->requireActiveUnit("pgmanage.service");
+    start_all()
+    one.wait_for_unit("default.target")
+    one.require_unit_state("pgmanage.service", "active")
 
     # Test if we can log in.
-    $one->waitUntilSucceeds("curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail");
+    one.wait_until_succeeds(
+        "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail"
+    )
   '';
 })
diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix
index ae44aec7944..d5c22e0582a 100644
--- a/nixos/tests/php-pcre.nix
+++ b/nixos/tests/php-pcre.nix
@@ -1,7 +1,7 @@
 
 let testString = "can-use-subgroups"; in
 
-import ./make-test.nix ({ ...}: {
+import ./make-test-python.nix ({ ...}: {
   name = "php-httpd-pcre-jit-test";
   machine = { lib, pkgs, ... }: {
     time.timeZone = "UTC";
@@ -31,9 +31,10 @@ import ./make-test.nix ({ ...}: {
   };
   testScript = { ... }:
   ''
-    $machine->waitForUnit('httpd.service');
+    machine.wait_for_unit("httpd.service")
     # Ensure php evaluation by matching on the var_dump syntax
-    $machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \
-      | grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""');
+    assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed(
+        "curl -vvv -s http://127.0.0.1:80/index.php"
+    )
   '';
 })
diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix
index 614fc9bf316..2eccfdf47f5 100644
--- a/nixos/tests/plasma5.nix
+++ b/nixos/tests/plasma5.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "plasma5";
@@ -7,59 +7,53 @@ import ./make-test.nix ({ pkgs, ...} :
   };
 
   machine = { ... }:
-  let
-    sddm_theme = pkgs.stdenv.mkDerivation {
-      name = "breeze-ocr-theme";
-      phases = "buildPhase";
-      buildCommand = ''
-        mkdir -p $out/share/sddm/themes/
-        cp -r ${pkgs.plasma-workspace}/share/sddm/themes/breeze $out/share/sddm/themes/breeze-ocr-theme
-        chmod -R +w $out/share/sddm/themes/breeze-ocr-theme
-        printf "[General]\ntype=color\ncolor=#1d99f3\nbackground=\n" > $out/share/sddm/themes/breeze-ocr-theme/theme.conf
-      '';
-    };
-  in
+
   {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
     services.xserver.displayManager.sddm.enable = true;
-    services.xserver.displayManager.sddm.theme = "breeze-ocr-theme";
+    services.xserver.displayManager.defaultSession = "plasma5";
     services.xserver.desktopManager.plasma5.enable = true;
-    services.xserver.desktopManager.default = "plasma5";
     services.xserver.displayManager.sddm.autoLogin = {
       enable = true;
       user = "alice";
     };
     hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
     virtualisation.memorySize = 1024;
-    environment.systemPackages = [ sddm_theme ];
   };
 
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
     xdo = "${pkgs.xdotool}/bin/xdotool";
   in ''
-    startAll;
-    # wait for log in
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-
-    $machine->waitUntilSucceeds("pgrep plasmashell");
-    $machine->waitForWindow("^Desktop ");
-
-    # Check that logging in has given the user ownership of devices.
-    $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 dolphin &'");
-    $machine->waitForWindow(" Dolphin");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 konsole &'");
-    $machine->waitForWindow("Konsole");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 systemsettings5 &'");
-    $machine->waitForWindow("Settings");
-
-    $machine->execute("${xdo} key Alt+F1 sleep 10");
-    $machine->screenshot("screen");
+    with subtest("Wait for login"):
+        start_all()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+    with subtest("Check plasmashell started"):
+        machine.wait_until_succeeds("pgrep plasmashell")
+        machine.wait_for_window("^Desktop ")
+
+    with subtest("Check that logging in has given the user ownership of devices"):
+        machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+    with subtest("Run Dolphin"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin &'")
+        machine.wait_for_window(" Dolphin")
+
+    with subtest("Run Konsole"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole &'")
+        machine.wait_for_window("Konsole")
+
+    with subtest("Run systemsettings"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings5 &'")
+        machine.wait_for_window("Settings")
+
+    with subtest("Wait to get a screenshot"):
+        machine.execute(
+            "${xdo} key Alt+F1 sleep 10"
+        )
+        machine.screenshot("screen")
   '';
 })
diff --git a/nixos/tests/postgis.nix b/nixos/tests/postgis.nix
index 294eb50b5fe..84bbb0bc8ec 100644
--- a/nixos/tests/postgis.nix
+++ b/nixos/tests/postgis.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "postgis";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ lsix ];
@@ -20,10 +20,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $master->waitForUnit("postgresql");
-    $master->sleep(10); # Hopefully this is long enough!!
-    $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'");
-    $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'");
+    start_all()
+    master.wait_for_unit("postgresql")
+    master.sleep(10)  # Hopefully this is long enough!!
+    master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'")
+    master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'")
   '';
 })
diff --git a/nixos/tests/powerdns.nix b/nixos/tests/powerdns.nix
index 8addcc78401..75d71315e64 100644
--- a/nixos/tests/powerdns.nix
+++ b/nixos/tests/powerdns.nix
@@ -1,12 +1,13 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "powerdns";
 
   nodes.server = { ... }: {
     services.powerdns.enable = true;
+    environment.systemPackages = [ pkgs.dnsutils ];
   };
 
   testScript = ''
-    $server->waitForUnit("pdns");
-    $server->succeed("${pkgs.dnsutils}/bin/dig version.bind txt chaos \@127.0.0.1");
+    server.wait_for_unit("pdns")
+    server.succeed("dig version.bind txt chaos \@127.0.0.1")
   '';
 })
diff --git a/nixos/tests/pppd.nix b/nixos/tests/pppd.nix
index 91f81185909..bda0aa75bb5 100644
--- a/nixos/tests/pppd.nix
+++ b/nixos/tests/pppd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix (
+import ./make-test-python.nix (
   let
     chap-secrets = {
       text = ''"flynn" * "reindeerflotilla" *'';
@@ -53,10 +53,10 @@ import ./make-test.nix (
         environment.etc."ppp/chap-secrets" = chap-secrets;
       };
     };
-  
+
     testScript = ''
-      startAll;
-      $client->waitUntilSucceeds("ping -c1 -W1 192.0.2.1");
-      $server->waitUntilSucceeds("ping -c1 -W1 192.0.2.2");
+      start_all()
+      client.wait_until_succeeds("ping -c1 -W1 192.0.2.1")
+      server.wait_until_succeeds("ping -c1 -W1 192.0.2.2")
     '';
-  })  
+  })
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index 194b4dafa77..83883477a5c 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
 in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
   name = pkgs.lib.optionalString (!predictable) "un" + "predictable"
        + pkgs.lib.optionalString withNetworkd "Networkd";
@@ -20,8 +20,8 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
     };
 
     testScript = ''
-      print $machine->succeed("ip link");
-      $machine->${if predictable then "fail" else "succeed"}("ip link show eth0 ");
+      print(machine.succeed("ip link"))
+      machine.${if predictable then "fail" else "succeed"}("ip link show eth0")
     '';
   };
 }) [[true false] [true false]])
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 676183f6356..563f2472647 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -4,12 +4,10 @@
 }:
 
 let
-  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
   inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge
                      removeSuffix replaceChars singleton splitString;
 
-  escape' = str: replaceChars [''"'' "$" "\n"] [''\\\"'' "\\$" ""] str;
-
 /*
  * The attrset `exporterTests` contains one attribute
  * for each exporter test. Each of these attributes
@@ -33,9 +31,9 @@ let
  *        services.<metricProvider>.enable = true;
  *      };
  *      exporterTest = ''
- *        waitForUnit("prometheus-<exporterName>-exporter.service");
- *        waitForOpenPort("1234");
- *        succeed("curl -sSf 'localhost:1234/metrics'");
+ *        wait_for_unit("prometheus-<exporterName>-exporter.service")
+ *        wait_for_open_port("1234")
+ *        succeed("curl -sSf 'localhost:1234/metrics'")
  *      '';
  *    };
  *
@@ -49,11 +47,11 @@ let
  *    };
  *
  *    testScript = ''
- *      $<exporterName>->start();
- *      $<exporterName>->waitForUnit("prometheus-<exporterName>-exporter.service");
- *      $<exporterName>->waitForOpenPort("1234");
- *      $<exporterName>->succeed("curl -sSf 'localhost:1234/metrics'");
- *      $<exporterName>->shutdown();
+ *      <exporterName>.start()
+ *      <exporterName>.wait_for_unit("prometheus-<exporterName>-exporter.service")
+ *      <exporterName>.wait_for_open_port("1234")
+ *      <exporterName>.succeed("curl -sSf 'localhost:1234/metrics'")
+ *      <exporterName>.shutdown()
  *    '';
  */
 
@@ -72,9 +70,11 @@ let
         '';
       };
       exporterTest = ''
-        waitForUnit("prometheus-bind-exporter.service");
-        waitForOpenPort(9119);
-        succeed("curl -sSf http://localhost:9119/metrics | grep -q 'bind_query_recursions_total 0'");
+        wait_for_unit("prometheus-bind-exporter.service")
+        wait_for_open_port(9119)
+        succeed(
+            "curl -sSf http://localhost:9119/metrics | grep -q 'bind_query_recursions_total 0'"
+        )
       '';
     };
 
@@ -89,9 +89,11 @@ let
         });
       };
       exporterTest = ''
-        waitForUnit("prometheus-blackbox-exporter.service");
-        waitForOpenPort(9115);
-        succeed("curl -sSf 'http://localhost:9115/probe?target=localhost&module=icmp_v6' | grep -q 'probe_success 1'");
+        wait_for_unit("prometheus-blackbox-exporter.service")
+        wait_for_open_port(9115)
+        succeed(
+            "curl -sSf 'http://localhost:9115/probe?target=localhost&module=icmp_v6' | grep -q 'probe_success 1'"
+        )
       '';
     };
 
@@ -100,7 +102,7 @@ let
         enable = true;
         extraFlags = [ "--web.collectd-push-path /collectd" ];
       };
-      exporterTest =let postData = escape' ''
+      exporterTest = let postData = replaceChars [ "\n" ] [ "" ] ''
         [{
           "values":[23],
           "dstypes":["gauge"],
@@ -108,13 +110,21 @@ let
           "interval":1000,
           "host":"testhost",
           "plugin":"testplugin",
-          "time":$(date +%s)
+          "time":DATE
         }]
         ''; in ''
-        waitForUnit("prometheus-collectd-exporter.service");
-        waitForOpenPort(9103);
-        succeed("curl -sSfH 'Content-Type: application/json' -X POST --data \"${postData}\" localhost:9103/collectd");
-        succeed("curl -sSf localhost:9103/metrics | grep -q 'collectd_testplugin_gauge{instance=\"testhost\"} 23'");
+        wait_for_unit("prometheus-collectd-exporter.service")
+        wait_for_open_port(9103)
+        succeed(
+            'echo \'${postData}\'> /tmp/data.json'
+        )
+        succeed('sed -ie "s DATE $(date +%s) " /tmp/data.json')
+        succeed(
+            "curl -sSfH 'Content-Type: application/json' -X POST --data @/tmp/data.json localhost:9103/collectd"
+        )
+        succeed(
+            "curl -sSf localhost:9103/metrics | grep -q 'collectd_testplugin_gauge{instance=\"testhost\"} 23'"
+        )
       '';
     };
 
@@ -127,9 +137,9 @@ let
         services.dnsmasq.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-dnsmasq-exporter.service");
-        waitForOpenPort(9153);
-        succeed("curl -sSf http://localhost:9153/metrics | grep -q 'dnsmasq_leases 0'");
+        wait_for_unit("prometheus-dnsmasq-exporter.service")
+        wait_for_open_port(9153)
+        succeed("curl -sSf http://localhost:9153/metrics | grep -q 'dnsmasq_leases 0'")
       '';
     };
 
@@ -144,9 +154,11 @@ let
         services.dovecot2.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-dovecot-exporter.service");
-        waitForOpenPort(9166);
-        succeed("curl -sSf http://localhost:9166/metrics | grep -q 'dovecot_up{scope=\"global\"} 1'");
+        wait_for_unit("prometheus-dovecot-exporter.service")
+        wait_for_open_port(9166)
+        succeed(
+            "curl -sSf http://localhost:9166/metrics | grep -q 'dovecot_up{scope=\"global\"} 1'"
+        )
       '';
     };
 
@@ -155,9 +167,11 @@ let
         enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-fritzbox-exporter.service");
-        waitForOpenPort(9133);
-        succeed("curl -sSf http://localhost:9133/metrics | grep -q 'fritzbox_exporter_collect_errors 0'");
+        wait_for_unit("prometheus-fritzbox-exporter.service")
+        wait_for_open_port(9133)
+        succeed(
+            "curl -sSf http://localhost:9133/metrics | grep -q 'fritzbox_exporter_collect_errors 0'"
+        )
       '';
     };
 
@@ -180,11 +194,11 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service");
-        waitForOpenPort(80);
-        waitForUnit("prometheus-json-exporter.service");
-        waitForOpenPort(7979);
-        succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'");
+        wait_for_unit("nginx.service")
+        wait_for_open_port(80)
+        wait_for_unit("prometheus-json-exporter.service")
+        wait_for_open_port(7979)
+        succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'")
       '';
     };
 
@@ -222,10 +236,12 @@ let
         users.users.mailexporter.isSystemUser = true;
       };
       exporterTest = ''
-        waitForUnit("postfix.service")
-        waitForUnit("prometheus-mail-exporter.service")
-        waitForOpenPort(9225)
-        waitUntilSucceeds("curl -sSf http://localhost:9225/metrics | grep -q 'mail_deliver_success{configname=\"testserver\"} 1'")
+        wait_for_unit("postfix.service")
+        wait_for_unit("prometheus-mail-exporter.service")
+        wait_for_open_port(9225)
+        wait_until_succeeds(
+            "curl -sSf http://localhost:9225/metrics | grep -q 'mail_deliver_success{configname=\"testserver\"} 1'"
+        )
       '';
     };
 
@@ -256,9 +272,9 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service")
-        waitForUnit("prometheus-nextcloud-exporter.service")
-        waitForOpenPort(9205)
+        wait_for_unit("nginx.service")
+        wait_for_unit("prometheus-nextcloud-exporter.service")
+        wait_for_open_port(9205)
         succeed("curl -sSf http://localhost:9205/metrics | grep -q 'nextcloud_up 1'")
       '';
     };
@@ -275,9 +291,9 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service")
-        waitForUnit("prometheus-nginx-exporter.service")
-        waitForOpenPort(9113)
+        wait_for_unit("nginx.service")
+        wait_for_unit("prometheus-nginx-exporter.service")
+        wait_for_open_port(9113)
         succeed("curl -sSf http://localhost:9113/metrics | grep -q 'nginx_up 1'")
       '';
     };
@@ -287,9 +303,11 @@ let
         enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-node-exporter.service");
-        waitForOpenPort(9100);
-        succeed("curl -sSf http://localhost:9100/metrics | grep -q 'node_exporter_build_info{.\\+} 1'");
+        wait_for_unit("prometheus-node-exporter.service")
+        wait_for_open_port(9100)
+        succeed(
+            "curl -sSf http://localhost:9100/metrics | grep -q 'node_exporter_build_info{.\\+} 1'"
+        )
       '';
     };
 
@@ -301,9 +319,11 @@ let
         services.postfix.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-postfix-exporter.service");
-        waitForOpenPort(9154);
-        succeed("curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'");
+        wait_for_unit("prometheus-postfix-exporter.service")
+        wait_for_open_port(9154)
+        succeed(
+            "curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'"
+        )
       '';
     };
 
@@ -316,18 +336,24 @@ let
         services.postgresql.enable = true;
       };
       exporterTest = ''
-        waitForUnit("prometheus-postgres-exporter.service");
-        waitForOpenPort(9187);
-        waitForUnit("postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'");
-        systemctl("stop postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -qv 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 0'");
-        systemctl("start postgresql.service");
-        waitForUnit("postgresql.service");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'");
-        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'");
+        wait_for_unit("prometheus-postgres-exporter.service")
+        wait_for_open_port(9187)
+        wait_for_unit("postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'")
+        systemctl("stop postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -qv 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 0'")
+        systemctl("start postgresql.service")
+        wait_for_unit("postgresql.service")
+        succeed(
+            "curl -sSf http://localhost:9187/metrics | grep -q 'pg_exporter_last_scrape_error 0'"
+        )
+        succeed("curl -sSf http://localhost:9187/metrics | grep -q 'pg_up 1'")
       '';
     };
 
@@ -339,11 +365,13 @@ let
         services.rspamd.enable = true;
       };
       exporterTest = ''
-        waitForUnit("rspamd.service");
-        waitForUnit("prometheus-rspamd-exporter.service");
-        waitForOpenPort(11334);
-        waitForOpenPort(7980);
-        waitUntilSucceeds("curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'");
+        wait_for_unit("rspamd.service")
+        wait_for_unit("prometheus-rspamd-exporter.service")
+        wait_for_open_port(11334)
+        wait_for_open_port(7980)
+        wait_until_succeeds(
+            "curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'"
+        )
       '';
     };
 
@@ -356,9 +384,9 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("prometheus-snmp-exporter.service");
-        waitForOpenPort(9116);
-        succeed("curl -sSf localhost:9116/metrics | grep -q 'snmp_request_errors_total 0'");
+        wait_for_unit("prometheus-snmp-exporter.service")
+        wait_for_open_port(9116)
+        succeed("curl -sSf localhost:9116/metrics | grep -q 'snmp_request_errors_total 0'")
       '';
     };
 
@@ -377,11 +405,11 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("nginx.service");
-        waitForOpenPort(80);
-        waitForUnit("prometheus-surfboard-exporter.service");
-        waitForOpenPort(9239);
-        succeed("curl -sSf localhost:9239/metrics | grep -q 'surfboard_up 1'");
+        wait_for_unit("nginx.service")
+        wait_for_open_port(80)
+        wait_for_unit("prometheus-surfboard-exporter.service")
+        wait_for_open_port(9239)
+        succeed("curl -sSf localhost:9239/metrics | grep -q 'surfboard_up 1'")
       '';
     };
 
@@ -396,11 +424,11 @@ let
         services.tor.controlPort = 9051;
       };
       exporterTest = ''
-        waitForUnit("tor.service");
-        waitForOpenPort(9051);
-        waitForUnit("prometheus-tor-exporter.service");
-        waitForOpenPort(9130);
-        succeed("curl -sSf localhost:9130/metrics | grep -q 'tor_version{.\\+} 1'");
+        wait_for_unit("tor.service")
+        wait_for_open_port(9051)
+        wait_for_unit("prometheus-tor-exporter.service")
+        wait_for_open_port(9130)
+        succeed("curl -sSf localhost:9130/metrics | grep -q 'tor_version{.\\+} 1'")
       '';
     };
 
@@ -426,10 +454,10 @@ let
         };
       };
       exporterTest = ''
-        waitForUnit("prometheus-varnish-exporter.service");
-        waitForOpenPort(6081);
-        waitForOpenPort(9131);
-        succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'");
+        wait_for_unit("prometheus-varnish-exporter.service")
+        wait_for_open_port(6081)
+        wait_for_open_port(9131)
+        succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'")
       '';
     };
 
@@ -451,9 +479,11 @@ let
         systemd.services.prometheus-wireguard-exporter.after = [ "wireguard-wg0.service" ];
       };
       exporterTest = ''
-        waitForUnit("prometheus-wireguard-exporter.service");
-        waitForOpenPort(9586);
-        waitUntilSucceeds("curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'");
+        wait_for_unit("prometheus-wireguard-exporter.service")
+        wait_for_open_port(9586)
+        wait_until_succeeds(
+            "curl -sSf http://localhost:9586/metrics | grep '${snakeoil.peer1.publicKey}'"
+        )
       '';
     };
   };
@@ -466,11 +496,13 @@ mapAttrs (exporter: testConfig: (makeTest {
   } testConfig.metricProvider or {}];
 
   testScript = ''
-    ${"$"+exporter}->start();
-    ${concatStringsSep "  " (map (line: ''
-      ${"$"+exporter}->${line};
-    '') (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
-    ${"$"+exporter}->shutdown();
+    ${exporter}.start()
+    ${concatStringsSep "\n" (map (line:
+      if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")")
+      then line
+      else "${exporter}.${line}"
+    ) (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
+    ${exporter}.shutdown()
   '';
 
   meta = with maintainers; {
diff --git a/nixos/tests/prometheus.nix b/nixos/tests/prometheus.nix
index 52f61046be3..8bfd0c131e6 100644
--- a/nixos/tests/prometheus.nix
+++ b/nixos/tests/prometheus.nix
@@ -31,7 +31,7 @@ let
     };
   };
 
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "prometheus";
 
   nodes = {
@@ -173,67 +173,73 @@ in import ./make-test.nix {
   testScript = { nodes, ... } : ''
     # Before starting the other machines we first make sure that our S3 service is online
     # and has a bucket added for thanos:
-    $s3->start;
-    $s3->waitForUnit("minio.service");
-    $s3->waitForOpenPort(${toString minioPort});
-    $s3->succeed(
-      "mc config host add minio " .
-      "http://localhost:${toString minioPort} ${s3.accessKey} ${s3.secretKey} S3v4");
-    $s3->succeed("mc mb minio/thanos-bucket");
+    s3.start()
+    s3.wait_for_unit("minio.service")
+    s3.wait_for_open_port(${toString minioPort})
+    s3.succeed(
+        "mc config host add minio "
+        + "http://localhost:${toString minioPort} "
+        + "${s3.accessKey} ${s3.secretKey} S3v4",
+        "mc mb minio/thanos-bucket",
+    )
 
     # Now that s3 has started we can start the other machines:
-    $prometheus->start;
-    $query->start;
-    $store->start;
+    for machine in prometheus, query, store:
+        machine.start()
 
     # Check if prometheus responds to requests:
-    $prometheus->waitForUnit("prometheus.service");
-    $prometheus->waitForOpenPort(${toString queryPort});
-    $prometheus->succeed("curl -s http://127.0.0.1:${toString queryPort}/metrics");
+    prometheus.wait_for_unit("prometheus.service")
+    prometheus.wait_for_open_port(${toString queryPort})
+    prometheus.succeed("curl -s http://127.0.0.1:${toString queryPort}/metrics")
 
     # Let's test if pushing a metric to the pushgateway succeeds:
-    $prometheus->waitForUnit("pushgateway.service");
-    $prometheus->succeed(
-      "echo 'some_metric 3.14' | " .
-      "curl --data-binary \@- http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job");
+    prometheus.wait_for_unit("pushgateway.service")
+    prometheus.succeed(
+        "echo 'some_metric 3.14' | "
+        + "curl --data-binary \@- "
+        + "http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job"
+    )
 
     # Now check whether that metric gets ingested by prometheus.
     # Since we'll check for the metric several times on different machines
     # we abstract the test using the following function:
 
     # Function to check if the metric "some_metric" has been received and returns the correct value.
-    local *Machine::waitForMetric = sub {
-      my ($self) = @_;
-      $self->waitUntilSucceeds(
-        "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' " .
-        "| jq '.data.result[0].value[1]' | grep '\"3.14\"'");
-    };
+    def wait_for_metric(machine):
+        return machine.wait_until_succeeds(
+            "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' | "
+            + "jq '.data.result[0].value[1]' | grep '\"3.14\"'"
+        )
+
 
-    $prometheus->waitForMetric;
+    wait_for_metric(prometheus)
 
     # Let's test if the pushgateway persists metrics to the configured location.
-    $prometheus->waitUntilSucceeds("test -e /var/lib/prometheus-pushgateway/metrics");
+    prometheus.wait_until_succeeds("test -e /var/lib/prometheus-pushgateway/metrics")
 
     # Test thanos
-    $prometheus->waitForUnit("thanos-sidecar.service");
+    prometheus.wait_for_unit("thanos-sidecar.service")
 
     # Test if the Thanos query service can correctly retrieve the metric that was send above.
-    $query->waitForUnit("thanos-query.service");
-    $query->waitForMetric;
+    query.wait_for_unit("thanos-query.service")
+    wait_for_metric(query)
 
     # Test if the Thanos sidecar has correctly uploaded its TSDB to S3, if the
     # Thanos storage service has correctly downloaded it from S3 and if the Thanos
     # query service running on $store can correctly retrieve the metric:
-    $store->waitForUnit("thanos-store.service");
-    $store->waitForMetric;
+    store.wait_for_unit("thanos-store.service")
+    wait_for_metric(store)
 
-    $store->waitForUnit("thanos-compact.service");
+    store.wait_for_unit("thanos-compact.service")
 
     # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket
     # and check if the blocks have the correct labels:
-    $store->succeed(
-      "thanos bucket ls" .
-      " --objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file}" .
-      " --output=json | jq .thanos.labels.some_label | grep 'required by thanos'");
+    store.succeed(
+        "thanos bucket ls "
+        + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} "
+        + "--output=json | "
+        + "jq .thanos.labels.some_label | "
+        + "grep 'required by thanos'"
+    )
   '';
 }
diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix
index 1f39e903cdd..3859d429c21 100644
--- a/nixos/tests/proxy.nix
+++ b/nixos/tests/proxy.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : 
+import ./make-test.nix ({ pkgs, ...} :
 
 let
 
@@ -7,7 +7,7 @@ let
 
     { services.httpd.enable = true;
       services.httpd.adminAddr = "foo@example.org";
-      services.httpd.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
+      services.httpd.virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html";
       networking.firewall.allowedTCPPorts = [ 80 ];
     };
 
@@ -26,11 +26,11 @@ in
         { services.httpd.enable = true;
           services.httpd.adminAddr = "bar@example.org";
           services.httpd.extraModules = [ "proxy_balancer" "lbmethod_byrequests" ];
-
-          services.httpd.extraConfig =
-            ''
-              ExtendedStatus on
-
+          services.httpd.extraConfig = ''
+            ExtendedStatus on
+          '';
+          services.httpd.virtualHosts.localhost = {
+            extraConfig = ''
               <Location /server-status>
                 Require all granted
                 SetHandler server-status
@@ -50,6 +50,7 @@ in
               # For testing; don't want to wait forever for dead backend servers.
               ProxyTimeout      5
             '';
+          };
 
           networking.firewall.allowedTCPPorts = [ 80 ];
         };
diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix
index 6aee7ea57f0..04590aa0eb3 100644
--- a/nixos/tests/quagga.nix
+++ b/nixos/tests/quagga.nix
@@ -5,7 +5,7 @@
 #
 # All interfaces are in OSPF Area 0.
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
   let
 
     ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
@@ -74,23 +74,23 @@ import ./make-test.nix ({ pkgs, ... }:
       testScript =
         { ... }:
         ''
-          startAll;
+          start_all()
 
           # Wait for the networking to start on all machines
-          $_->waitForUnit("network.target") foreach values %vms;
+          for machine in client, router1, router2, server:
+              machine.wait_for_unit("network.target")
 
-          # Wait for OSPF to form adjacencies
-          for my $gw ($router1, $router2) {
-              $gw->waitForUnit("ospfd");
-              $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full");
-              $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'");
-          }
+          with subtest("Wait for OSPF to form adjacencies"):
+              for gw in router1, router2:
+                  gw.wait_for_unit("ospfd")
+                  gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full")
+                  gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
 
-          # Test ICMP.
-          $client->succeed("ping -c 3 server >&2");
+          with subtest("Test ICMP"):
+              client.wait_until_succeeds("ping -c 3 server >&2")
 
-          # Test whether HTTP works.
-          $server->waitForUnit("httpd");
-          $client->succeed("curl --fail http://server/ >&2");
+          with subtest("Test whether HTTP works"):
+              server.wait_for_unit("httpd")
+              client.succeed("curl --fail http://server/ >&2")
         '';
     })
diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix
deleted file mode 100644
index 4d57e219790..00000000000
--- a/nixos/tests/quake3.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} :
-
-let
-
-  # Build Quake with coverage instrumentation.
-  overrides = pkgs:
-    {
-      quake3game = pkgs.quake3game.override (args: {
-        stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv;
-      });
-    };
-
-  # Only allow the demo data to be used (only if it's unfreeRedistributable).
-  unfreePredicate = pkg: with pkgs.lib; let
-    allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
-    allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ];
-  in elem pkg.pname allowPackageNames &&
-     elem (pkg.meta.license or null) allowLicenses;
-
-in
-
-rec {
-  name = "quake3";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ domenkozar eelco ];
-  };
-
-  # TODO: lcov doesn't work atm
-  #makeCoverageReport = true;
-
-  client =
-    { pkgs, ... }:
-
-    { imports = [ ./common/x11.nix ];
-      hardware.opengl.driSupport = true;
-      environment.systemPackages = [ pkgs.quake3demo ];
-      nixpkgs.config.packageOverrides = overrides;
-      nixpkgs.config.allowUnfreePredicate = unfreePredicate;
-    };
-
-  nodes =
-    { server =
-        { pkgs, ... }:
-
-        { systemd.services.quake3-server =
-            { wantedBy = [ "multi-user.target" ];
-              script =
-                "${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " +
-                "+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log";
-            };
-          nixpkgs.config.packageOverrides = overrides;
-          nixpkgs.config.allowUnfreePredicate = unfreePredicate;
-          networking.firewall.allowedUDPPorts = [ 27960 ];
-        };
-
-      client1 = client;
-      client2 = client;
-    };
-
-  testScript =
-    ''
-      start_all()
-
-      server.wait_for_unit("quake3-server")
-      client1.wait_for_x()
-      client2.wait_for_x()
-
-      client1.execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &")
-      client2.execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &")
-
-      server.wait_until_succeeds("grep -q 'Foo.*entered the game' /tmp/log")
-      server.wait_until_succeeds("grep -q 'Bar.*entered the game' /tmp/log")
-
-      server.sleep(10)  # wait for a while to get a nice screenshot
-
-      client1.block()
-
-      server.sleep(20)
-
-      client1.screenshot("screen1")
-      client2.screenshot("screen2")
-
-      client1.unblock()
-
-      server.sleep(10)
-
-      client1.screenshot("screen3")
-      client2.screenshot("screen4")
-
-      client1.shutdown()
-      client2.shutdown()
-      server.stop_job("quake3-server")
-    '';
-
-})
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index bb5932c3641..8e7f34d06e3 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -1,21 +1,21 @@
 # This test runs rabbitmq and checks if rabbitmq is up and running.
 
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "rabbitmq";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco offline ];
   };
 
-  nodes = {
-    one = { ... }: {
-      services.rabbitmq.enable = true;
-    };
+  machine = {
+    services.rabbitmq.enable = true;
   };
 
   testScript = ''
-    startAll;
+    machine.start()
 
-    $one->waitForUnit("rabbitmq.service");
-    $one->waitUntilSucceeds("su -s ${pkgs.stdenv.shell} rabbitmq -c \"rabbitmqctl status\"");
+    machine.wait_for_unit("rabbitmq.service")
+    machine.wait_until_succeeds(
+        'su -s ${pkgs.stdenv.shell} rabbitmq -c "rabbitmqctl status"'
+    )
   '';
 })
diff --git a/nixos/tests/radarr.nix b/nixos/tests/radarr.nix
index 9bc5607ccd5..ed90025ac42 100644
--- a/nixos/tests/radarr.nix
+++ b/nixos/tests/radarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,8 @@ with lib;
     { services.radarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('radarr.service');
-    $machine->waitForOpenPort('7878');
-    $machine->succeed("curl --fail http://localhost:7878/");
+    machine.wait_for_unit("radarr.service")
+    machine.wait_for_open_port("7878")
+    machine.succeed("curl --fail http://localhost:7878/")
   '';
 })
diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix
index 60796425564..c81e78a8f99 100644
--- a/nixos/tests/radicale.nix
+++ b/nixos/tests/radicale.nix
@@ -28,7 +28,7 @@ let
 
 in
 
-  import ./make-test.nix ({ lib, ... }@args: {
+  import ./make-test-python.nix ({ lib, ... }@args: {
     name = "radicale";
     meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
 
@@ -64,43 +64,59 @@ in
         newSystem = nodes.${nodeName}.config.system.build.toplevel;
       in "${newSystem}/bin/switch-to-configuration test";
     in ''
-      # Check Radicale 1 functionality
-      $radicale->succeed('${switchToConfig "radicale1"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
+      with subtest("Check Radicale 1 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale1"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+          radicale.succeed(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
 
-      # Export data in Radicale 2 format
-      $radicale->succeed('systemctl stop radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->fail('ls -al /tmp/collections-new');
-      # Radicale exits immediately after exporting storage
-      $radicale->succeed('${switchToConfig "radicale1_export"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->succeed('ls -al /tmp/collections-new');
+      with subtest("Export data in Radicale 2 format"):
+          radicale.succeed("systemctl stop radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.fail("ls -al /tmp/collections-new")
 
-      # Verify data in Radicale 2 format
-      $radicale->succeed('rm -r /tmp/collections/${user}');
-      $radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections');
-      $radicale->succeed('${switchToConfig "radicale2_verify"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10');
-      if ($retcode != 0 || index($logs, 'Verifying storage') == -1) {
-        die "Radicale 2 didn't verify storage"
-      }
-      if (index($logs, 'failed') != -1 || index($logs, 'exception') != -1) {
-        die "storage verification failed"
-      }
+      with subtest("Radicale exits immediately after exporting storage"):
+          radicale.succeed(
+              "${switchToConfig "radicale1_export"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.succeed("ls -al /tmp/collections-new")
 
-      # Check Radicale 2 functionality
-      $radicale->succeed('${switchToConfig "radicale2"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      my ($retcode, $output) = $radicale->execute('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
-      if ($retcode != 0 || index($output, 'VCALENDAR') == -1) {
-        die "Could not read calendar from Radicale 2"
-      }
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
+      with subtest("Verify data in Radicale 2 format"):
+          radicale.succeed("rm -r /tmp/collections/${user}")
+          radicale.succeed("mv /tmp/collections-new/collection-root /tmp/collections")
+          radicale.succeed(
+              "${switchToConfig "radicale2_verify"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+
+          (retcode, logs) = radicale.execute("journalctl -u radicale -n 10")
+          assert (
+              retcode == 0 and "Verifying storage" in logs
+          ), "Radicale 2 didn't verify storage"
+          assert (
+              "failed" not in logs and "exception" not in logs
+          ), "storage verification failed"
+
+      with subtest("Check Radicale 2 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale2"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+
+          (retcode, output) = radicale.execute(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
+          assert (
+              retcode == 0 and "VCALENDAR" in output
+          ), "Could not read calendar from Radicale 2"
+
+      radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
     '';
 })
diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix
index 325d93424dd..529965d7acd 100644
--- a/nixos/tests/redis.nix
+++ b/nixos/tests/redis.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "redis";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ flokli ];
@@ -15,12 +15,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-
-    $machine->waitForUnit("redis");
-    $machine->waitForOpenPort("6379");
-
-    $machine->succeed("redis-cli ping | grep PONG");
-    $machine->succeed("redis-cli -s /run/redis/redis.sock ping | grep PONG");
+    start_all()
+    machine.wait_for_unit("redis")
+    machine.wait_for_open_port("6379")
+    machine.succeed("redis-cli ping | grep PONG")
+    machine.succeed("redis-cli -s /run/redis/redis.sock ping | grep PONG")
   '';
 })
diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix
index 2d4df288b05..f0f4cbf6a21 100644
--- a/nixos/tests/redmine.nix
+++ b/nixos/tests/redmine.nix
@@ -64,18 +64,13 @@ let
   };
 in
 {
-  v3-mysql = mysqlTest pkgs.redmine // {
-    name = "v3-mysql";
+  mysql = mysqlTest pkgs.redmine // {
+    name = "mysql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 
-  v4-mysql = mysqlTest pkgs.redmine_4 // {
-    name = "v4-mysql";
-    meta.maintainers = [ maintainers.aanderse ];
-  };
-
-  v4-pgsql = pgsqlTest pkgs.redmine_4 // {
-    name = "v4-pgsql";
+  pgsql = pgsqlTest pkgs.redmine // {
+    name = "pgsql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 }
diff --git a/nixos/tests/resolv.nix b/nixos/tests/resolv.nix
new file mode 100644
index 00000000000..b506f87451e
--- /dev/null
+++ b/nixos/tests/resolv.nix
@@ -0,0 +1,46 @@
+# Test whether DNS resolving returns multiple records and all address families.
+import ./make-test-python.nix ({ pkgs, ... } : {
+  name = "resolv";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ckauhaus ];
+  };
+
+  nodes.resolv = { ... }: {
+    networking.extraHosts = ''
+      # IPv4 only
+      192.0.2.1 host-ipv4.example.net
+      192.0.2.2 host-ipv4.example.net
+      # IP6 only
+      2001:db8::2:1 host-ipv6.example.net
+      2001:db8::2:2 host-ipv6.example.net
+      # dual stack
+      192.0.2.1 host-dual.example.net
+      192.0.2.2 host-dual.example.net
+      2001:db8::2:1 host-dual.example.net
+      2001:db8::2:2 host-dual.example.net
+    '';
+  };
+
+  testScript = ''
+    def addrs_in(hostname, addrs):
+        res = resolv.succeed("getent ahosts {}".format(hostname))
+        for addr in addrs:
+            assert addr in res, "Expected output '{}' not found in\n{}".format(addr, res)
+
+
+    start_all()
+    resolv.wait_for_unit("nscd")
+
+    ipv4 = ["192.0.2.1", "192.0.2.2"]
+    ipv6 = ["2001:db8::2:1", "2001:db8::2:2"]
+
+    with subtest("IPv4 resolves"):
+        addrs_in("host-ipv4.example.net", ipv4)
+
+    with subtest("IPv6 resolves"):
+        addrs_in("host-ipv6.example.net", ipv6)
+
+    with subtest("Dual stack resolves"):
+        addrs_in("host-dual.example.net", ipv4 + ipv6)
+  '';
+})
diff --git a/nixos/tests/roundcube.nix b/nixos/tests/roundcube.nix
index ed0ebd7dd19..1897b53e283 100644
--- a/nixos/tests/roundcube.nix
+++ b/nixos/tests/roundcube.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "roundcube";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ];
@@ -9,7 +9,7 @@ import ./make-test.nix ({ pkgs, ...} : {
       services.roundcube = {
         enable = true;
         hostName = "roundcube";
-        database.password = "notproduction";
+        database.password = "not production";
         package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
         plugins = [ "persistent_login" ];
       };
@@ -21,10 +21,10 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $roundcube->start;
-    $roundcube->waitForUnit("postgresql.service");
-    $roundcube->waitForUnit("phpfpm-roundcube.service");
-    $roundcube->waitForUnit("nginx.service");
-    $roundcube->succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'");
+    roundcube.start
+    roundcube.wait_for_unit("postgresql.service")
+    roundcube.wait_for_unit("phpfpm-roundcube.service")
+    roundcube.wait_for_unit("nginx.service")
+    roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'")
   '';
 })
diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix
index 0cc94728f80..bf3f0de6204 100644
--- a/nixos/tests/rspamd.nix
+++ b/nixos/tests/rspamd.nix
@@ -3,20 +3,20 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
   initMachine = ''
-    startAll
-    $machine->waitForUnit("rspamd.service");
-    $machine->succeed("id \"rspamd\" >/dev/null");
+    start_all()
+    machine.wait_for_unit("rspamd.service")
+    machine.succeed("id rspamd >/dev/null")
   '';
   checkSocket = socket: user: group: mode: ''
-    $machine->succeed("ls ${socket} >/dev/null");
-    $machine->succeed("[[ \"\$(stat -c %U ${socket})\" == \"${user}\" ]]");
-    $machine->succeed("[[ \"\$(stat -c %G ${socket})\" == \"${group}\" ]]");
-    $machine->succeed("[[ \"\$(stat -c %a ${socket})\" == \"${mode}\" ]]");
+    machine.succeed("ls ${socket} >/dev/null")
+    machine.succeed('[[ "$(stat -c %U ${socket})" == "${user}" ]]')
+    machine.succeed('[[ "$(stat -c %G ${socket})" == "${group}" ]]')
+    machine.succeed('[[ "$(stat -c %a ${socket})" == "${mode}" ]]')
   '';
   simple = name: enableIPv6: makeTest {
     name = "rspamd-${name}";
@@ -25,22 +25,23 @@ let
       networking.enableIPv6 = enableIPv6;
     };
     testScript = ''
-      startAll
-      $machine->waitForUnit("multi-user.target");
-      $machine->waitForOpenPort(11334);
-      $machine->waitForUnit("rspamd.service");
-      $machine->succeed("id \"rspamd\" >/dev/null");
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_open_port(11334)
+      machine.wait_for_unit("rspamd.service")
+      machine.succeed("id rspamd >/dev/null")
       ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" }
-      sleep 10;
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("systemctl cat rspamd.service"));
-      $machine->log($machine->succeed("curl http://localhost:11334/auth"));
-      $machine->log($machine->succeed("curl http://127.0.0.1:11334/auth"));
-      ${optionalString enableIPv6 ''
-        $machine->log($machine->succeed("curl http://[::1]:11334/auth"));
-      ''}
+      machine.sleep(10)
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("systemctl cat rspamd.service"))
+      machine.log(machine.succeed("curl http://localhost:11334/auth"))
+      machine.log(machine.succeed("curl http://127.0.0.1:11334/auth"))
+      ${optionalString enableIPv6 ''machine.log(machine.succeed("curl http://[::1]:11334/auth"))''}
+      # would not reformat
     '';
   };
 in
@@ -69,14 +70,18 @@ in
 
     testScript = ''
       ${initMachine}
-      $machine->waitForFile("/run/rspamd.sock");
+      machine.wait_for_file("/run/rspamd.sock")
       ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
       ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("rspamc -h /run/rspamd-worker.sock stat"))
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")
+      )
     '';
   };
 
@@ -111,18 +116,32 @@ in
 
     testScript = ''
       ${initMachine}
-      $machine->waitForFile("/run/rspamd.sock");
+      machine.wait_for_file("/run/rspamd.sock")
       ${checkSocket "/run/rspamd.sock" "root" "root" "600" }
       ${checkSocket "/run/rspamd-worker.sock" "root" "root" "666" }
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'LOCAL_CONFDIR/override.d/worker-controller2.inc' /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("grep 'verysecretpassword' /etc/rspamd/override.d/worker-controller2.inc"));
-      $machine->waitUntilSucceeds("journalctl -u rspamd | grep -i 'starting controller process' >&2");
-      $machine->log($machine->succeed("rspamc -h /run/rspamd-worker.sock stat"));
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping"));
-      $machine->log($machine->succeed("curl http://localhost:11335/ping"));
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf")
+      )
+      machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf"))
+      machine.log(
+          machine.succeed(
+              "grep 'LOCAL_CONFDIR/override.d/worker-controller2.inc' /etc/rspamd/rspamd.conf"
+          )
+      )
+      machine.log(
+          machine.succeed(
+              "grep 'verysecretpassword' /etc/rspamd/override.d/worker-controller2.inc"
+          )
+      )
+      machine.wait_until_succeeds(
+          "journalctl -u rspamd | grep -i 'starting controller process' >&2"
+      )
+      machine.log(machine.succeed("rspamc -h /run/rspamd-worker.sock stat"))
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd-worker.sock http://localhost/ping")
+      )
+      machine.log(machine.succeed("curl http://localhost:11335/ping"))
     '';
   };
   customLuaRules = makeTest {
@@ -199,22 +218,34 @@ in
     };
     testScript = ''
       ${initMachine}
-      $machine->waitForOpenPort(11334);
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.conf"));
-      $machine->log($machine->succeed("cat /etc/rspamd/rspamd.local.lua"));
-      $machine->log($machine->succeed("cat /etc/rspamd/local.d/groups.conf"));
+      machine.wait_for_open_port(11334)
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf"))
+      machine.log(machine.succeed("cat /etc/rspamd/rspamd.local.lua"))
+      machine.log(machine.succeed("cat /etc/rspamd/local.d/groups.conf"))
       # Verify that redis.conf was not written
-      $machine->fail("cat /etc/rspamd/local.d/redis.conf >&2");
+      machine.fail("cat /etc/rspamd/local.d/redis.conf >&2")
       # Verify that antivirus.conf was not written
-      $machine->fail("cat /etc/rspamd/local.d/antivirus.conf >&2");
+      machine.fail("cat /etc/rspamd/local.d/antivirus.conf >&2")
       ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" }
-      $machine->log($machine->succeed("curl --unix-socket /run/rspamd/rspamd.sock http://localhost/ping"));
-      $machine->log($machine->succeed("rspamc -h 127.0.0.1:11334 stat"));
-      $machine->log($machine->succeed("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334"));
-      $machine->log($machine->succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols"));
-      $machine->waitUntilSucceeds("journalctl -u rspamd | grep -i muh >&2");
-      $machine->log($machine->fail("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"));
-      $machine->log($machine->succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"));
+      machine.log(
+          machine.succeed("curl --unix-socket /run/rspamd/rspamd.sock http://localhost/ping")
+      )
+      machine.log(machine.succeed("rspamc -h 127.0.0.1:11334 stat"))
+      machine.log(machine.succeed("cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334"))
+      machine.log(
+          machine.succeed("cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols")
+      )
+      machine.wait_until_succeeds("journalctl -u rspamd | grep -i muh >&2")
+      machine.log(
+          machine.fail(
+              "cat /etc/tests/no-muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"
+          )
+      )
+      machine.log(
+          machine.succeed(
+              "cat /etc/tests/muh.eml | rspamc -h 127.0.0.1:11334 symbols | grep NO_MUH"
+          )
+      )
     '';
   };
   postfixIntegration = makeTest {
@@ -250,16 +281,24 @@ in
     };
     testScript = ''
       ${initMachine}
-      $machine->waitForOpenPort(11334);
-      $machine->waitForOpenPort(25);
+      machine.wait_for_open_port(11334)
+      machine.wait_for_open_port(25)
       ${checkSocket "/run/rspamd/rspamd-milter.sock" "rspamd" "postfix" "660" }
-      $machine->log($machine->succeed("rspamc -h 127.0.0.1:11334 stat"));
-      $machine->log($machine->succeed("msmtp --host=localhost -t --read-envelope-from < /etc/tests/example.eml"));
-      $machine->log($machine->fail("msmtp --host=localhost -t --read-envelope-from < /etc/tests/gtube.eml"));
+      machine.log(machine.succeed("rspamc -h 127.0.0.1:11334 stat"))
+      machine.log(
+          machine.succeed(
+              "msmtp --host=localhost -t --read-envelope-from < /etc/tests/example.eml"
+          )
+      )
+      machine.log(
+          machine.fail(
+              "msmtp --host=localhost -t --read-envelope-from < /etc/tests/gtube.eml"
+          )
+      )
 
-      $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
-      $machine->fail("journalctl -u postfix | grep -i error >&2");
-      $machine->fail("journalctl -u postfix | grep -i warning >&2");
+      machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]')
+      machine.fail("journalctl -u postfix | grep -i error >&2")
+      machine.fail("journalctl -u postfix | grep -i warning >&2")
     '';
   };
 }
diff --git a/nixos/tests/rss2email.nix b/nixos/tests/rss2email.nix
index 492d47da9f5..d62207a417b 100644
--- a/nixos/tests/rss2email.nix
+++ b/nixos/tests/rss2email.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "opensmtpd";
 
   nodes = {
@@ -53,14 +53,14 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("network-online.target");
-    $server->waitForUnit("opensmtpd");
-    $server->waitForUnit("dovecot2");
-    $server->waitForUnit("nginx");
-    $server->waitForUnit("rss2email");
+    server.wait_for_unit("network-online.target")
+    server.wait_for_unit("opensmtpd")
+    server.wait_for_unit("dovecot2")
+    server.wait_for_unit("nginx")
+    server.wait_for_unit("rss2email")
 
-    $server->waitUntilSucceeds('check-mail-landed >&2');
+    server.wait_until_succeeds("check-mail-landed >&2")
   '';
 }
diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix
index d0b53db8eeb..194a2e3d2b9 100644
--- a/nixos/tests/rxe.nix
+++ b/nixos/tests/rxe.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... } :
+import ./make-test-python.nix ({ ... } :
 
 let
   node = { pkgs, ... } : {
@@ -26,27 +26,21 @@ in {
 
   testScript = ''
     # Test if rxe interface comes up
-    $server->waitForUnit("default.target");
-    $server->succeed("systemctl status rxe.service");
-    $server->succeed("ibv_devices | grep rxe0");
+    server.wait_for_unit("default.target")
+    server.succeed("systemctl status rxe.service")
+    server.succeed("ibv_devices | grep rxe0")
 
-    $client->waitForUnit("default.target");
+    client.wait_for_unit("default.target")
 
-    # ping pong test
-    $server->succeed("screen -dmS rc_pingpong ibv_rc_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_rc_pingpong -p 4800 -g0 server");
+    # ping pong tests
+    for proto in "rc", "uc", "ud", "srq":
+        server.succeed(
+            "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto)
+        )
+        client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto))
 
-    $server->succeed("screen -dmS uc_pingpong ibv_uc_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_uc_pingpong -p 4800 -g0 server");
-
-    $server->succeed("screen -dmS ud_pingpong ibv_ud_pingpong -p 4800 -s 1024 -g0");
-    $client->succeed("sleep 2; ibv_ud_pingpong -p 4800 -s 1024 -g0 server");
-
-    $server->succeed("screen -dmS srq_pingpong ibv_srq_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_srq_pingpong -p 4800 -g0 server");
-
-    $server->succeed("screen -dmS rping rping -s -a server -C 10");
-    $client->succeed("sleep 2; rping -c -a server -C 10");
+    server.succeed("screen -dmS rping rping -s -a server -C 10")
+    client.succeed("sleep 2; rping -c -a server -C 10")
   '';
 })
 
diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix
index 2802e00a5b1..142269752b3 100644
--- a/nixos/tests/samba.nix
+++ b/nixos/tests/samba.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "samba";
@@ -36,12 +36,12 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      $server->start;
-      $server->waitForUnit("samba.target");
-      $server->succeed("mkdir -p /public; echo bar > /public/foo");
+      server.start()
+      server.wait_for_unit("samba.target")
+      server.succeed("mkdir -p /public; echo bar > /public/foo")
 
-      $client->start;
-      $client->waitForUnit("remote-fs.target");
-      $client->succeed("[[ \$(cat /public/foo) = bar ]]");
+      client.start()
+      client.wait_for_unit("remote-fs.target")
+      client.succeed("[[ $(cat /public/foo) = bar ]]")
     '';
 })
diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix
index 678bcbeab20..a145705250f 100644
--- a/nixos/tests/sddm.nix
+++ b/nixos/tests/sddm.nix
@@ -3,7 +3,7 @@
   pkgs ? import ../.. { inherit system config; }
 }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 
 let
   inherit (pkgs) lib;
@@ -16,9 +16,8 @@ let
         imports = [ ./common/user-account.nix ];
         services.xserver.enable = true;
         services.xserver.displayManager.sddm.enable = true;
-        services.xserver.windowManager.default = "icewm";
+        services.xserver.displayManager.defaultSession = "none+icewm";
         services.xserver.windowManager.icewm.enable = true;
-        services.xserver.desktopManager.default = "none";
       };
 
       enableOCR = true;
@@ -26,13 +25,13 @@ let
       testScript = { nodes, ... }: let
         user = nodes.machine.config.users.users.alice;
       in ''
-        startAll;
-        $machine->waitForText(qr/select your user/i);
-        $machine->screenshot("sddm");
-        $machine->sendChars("${user.password}\n");
-        $machine->waitForFile("/home/alice/.Xauthority");
-        $machine->succeed("xauth merge ~alice/.Xauthority");
-        $machine->waitForWindow("^IceWM ");
+        start_all()
+        machine.wait_for_text("(?i)select your user")
+        machine.screenshot("sddm")
+        machine.send_chars("${user.password}\n")
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+        machine.wait_for_window("^IceWM ")
       '';
     };
 
@@ -52,16 +51,17 @@ let
             user = "alice";
           };
         };
-        services.xserver.windowManager.default = "icewm";
+        services.xserver.displayManager.defaultSession = "none+icewm";
         services.xserver.windowManager.icewm.enable = true;
-        services.xserver.desktopManager.default = "none";
       };
 
-      testScript = { ... }: ''
-        startAll;
-        $machine->waitForFile("/home/alice/.Xauthority");
-        $machine->succeed("xauth merge ~alice/.Xauthority");
-        $machine->waitForWindow("^IceWM ");
+      testScript = { nodes, ... }: let
+        user = nodes.machine.config.users.users.alice;
+      in ''
+        start_all()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+        machine.wait_for_window("^IceWM ")
       '';
     };
   };
diff --git a/nixos/tests/shiori.nix b/nixos/tests/shiori.nix
index 0022a7220fe..a5771262c6f 100644
--- a/nixos/tests/shiori.nix
+++ b/nixos/tests/shiori.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ...}:
+import ./make-test-python.nix ({ pkgs, lib, ...}:
 
 {
   name = "shiori";
@@ -8,10 +8,74 @@ import ./make-test.nix ({ lib, ...}:
     { ... }:
     { services.shiori.enable = true; };
 
-  testScript = ''
-    $machine->waitForUnit('shiori.service');
-    $machine->waitForOpenPort('8080');
-    $machine->succeed("curl --fail http://localhost:8080/");
-    $machine->succeed("curl --fail --location http://localhost:8080/ | grep -qi shiori");
+  testScript = let
+    authJSON = pkgs.writeText "auth.json" (builtins.toJSON {
+      username = "shiori";
+      password = "gopher";
+      remember = 1; # hour
+      owner = true;
+    });
+
+  insertBookmark = {
+    url = "http://example.org";
+    title = "Example Bookmark";
+  };
+
+  insertBookmarkJSON = pkgs.writeText "insertBookmark.json" (builtins.toJSON insertBookmark);
+  in ''
+    import json
+
+    machine.wait_for_unit("shiori.service")
+    machine.wait_for_open_port(8080)
+    machine.succeed("curl --fail http://localhost:8080/")
+    machine.succeed("curl --fail --location http://localhost:8080/ | grep -qi shiori")
+
+    with subtest("login"):
+        auth_json = machine.succeed(
+            "curl --fail --location http://localhost:8080/api/login "
+            "-X POST -H 'Content-Type:application/json' -d @${authJSON}"
+        )
+        auth_ret = json.loads(auth_json)
+        session_id = auth_ret["session"]
+
+    with subtest("bookmarks"):
+        with subtest("first use no bookmarks"):
+            bookmarks_json = machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-H 'X-Session-Id:{}'"
+                ).format(session_id)
+            )
+
+            if json.loads(bookmarks_json)["bookmarks"] != []:
+                raise Exception("Shiori have a bookmark on first use")
+
+        with subtest("insert bookmark"):
+            machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-X POST -H 'X-Session-Id:{}' "
+                    "-H 'Content-Type:application/json' -d @${insertBookmarkJSON}"
+                ).format(session_id)
+            )
+
+        with subtest("get inserted bookmark"):
+            bookmarks_json = machine.succeed(
+                (
+                    "curl --fail --location http://localhost:8080/api/bookmarks "
+                    "-H 'X-Session-Id:{}'"
+                ).format(session_id)
+            )
+
+            bookmarks = json.loads(bookmarks_json)["bookmarks"]
+            if len(bookmarks) != 1:
+                raise Exception("Shiori didn't save the bookmark")
+
+            bookmark = bookmarks[0]
+            if (
+                bookmark["url"] != "${insertBookmark.url}"
+                or bookmark["title"] != "${insertBookmark.title}"
+            ):
+                raise Exception("Inserted bookmark doesn't have same URL or title")
   '';
 })
diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix
index 605b9c3e130..c746d46dc55 100644
--- a/nixos/tests/signal-desktop.nix
+++ b/nixos/tests/signal-desktop.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "signal-desktop";
@@ -24,14 +24,14 @@ import ./make-test.nix ({ pkgs, ...} :
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in ''
-    startAll;
-    $machine->waitForX;
+    start_all()
+    machine.wait_for_x()
 
     # start signal desktop
-    $machine->execute("su - alice -c signal-desktop &");
+    machine.execute("su - alice -c signal-desktop &")
 
     # wait for the "Link your phone to Signal Desktop" message
-    $machine->waitForText(qr/Link your phone to Signal Desktop/);
-    $machine->screenshot("signal_desktop");
+    machine.wait_for_text("Link your phone to Signal Desktop")
+    machine.screenshot("signal_desktop")
   '';
 })
diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix
index 84c5621d962..3810a2cd3a5 100644
--- a/nixos/tests/simple.nix
+++ b/nixos/tests/simple.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "simple";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -10,8 +10,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("multi-user.target");
-      $machine->shutdown;
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.shutdown()
     '';
 })
diff --git a/nixos/tests/slim.nix b/nixos/tests/slim.nix
deleted file mode 100644
index 42c87dfa039..00000000000
--- a/nixos/tests/slim.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "slim";
-
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aszlig ];
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/user-account.nix ];
-    services.xserver.enable = true;
-    services.xserver.windowManager.default = "icewm";
-    services.xserver.windowManager.icewm.enable = true;
-    services.xserver.desktopManager.default = "none";
-    services.xserver.displayManager.slim = {
-      enable = true;
-
-      # Use a custom theme in order to get best OCR results
-      theme = pkgs.runCommand "slim-theme-ocr" {
-        nativeBuildInputs = [ pkgs.imagemagick ];
-      } ''
-        mkdir "$out"
-        convert -size 1x1 xc:white "$out/background.jpg"
-        convert -size 200x100 xc:white "$out/panel.jpg"
-        cat > "$out/slim.theme" <<EOF
-        background_color #ffffff
-        background_style tile
-
-        input_fgcolor #000000
-        msg_color #000000
-
-        session_color #000000
-        session_font Verdana:size=16:bold
-
-        username_msg Username:
-        username_font Verdana:size=16:bold
-        username_color #000000
-        username_x 50%
-        username_y 40%
-
-        password_msg Password:
-        password_x 50%
-        password_y 40%
-        EOF
-      '';
-    };
-  };
-
-  enableOCR = true;
-
-  testScript = { nodes, ... }: let
-    user = nodes.machine.config.users.users.alice;
-  in ''
-    startAll;
-    $machine->waitForText(qr/Username:/);
-    $machine->sendChars("${user.name}\n");
-    $machine->waitForText(qr/Password:/);
-    $machine->sendChars("${user.password}\n");
-
-    $machine->waitForFile('${user.home}/.Xauthority');
-    $machine->succeed('xauth merge ${user.home}/.Xauthority');
-    $machine->waitForWindow('^IceWM ');
-
-    # Make sure SLiM doesn't create a log file
-    $machine->fail('test -e /var/log/slim.log');
-  '';
-})
diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix
index 4c2cd3c3d26..d0e62d15437 100644
--- a/nixos/tests/slurm.nix
+++ b/nixos/tests/slurm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 let
     mungekey = "mungeverryweakkeybuteasytointegratoinatest";
 
@@ -54,10 +54,15 @@ in {
         networking.firewall.enable = false;
         services.slurm.dbdserver = {
           enable = true;
+          storagePass = "password123";
         };
         services.mysql = {
           enable = true;
-          package = pkgs.mysql;
+          package = pkgs.mariadb;
+          initialScript = pkgs.writeText "mysql-init.sql" ''
+            CREATE USER 'slurm'@'localhost' IDENTIFIED BY 'password123';
+            GRANT ALL PRIVILEGES ON slurm_acct_db.* TO 'slurm'@'localhost';
+          '';
           ensureDatabases = [ "slurm_acct_db" ];
           ensureUsers = [{
             ensurePermissions = { "slurm_acct_db.*" = "ALL PRIVILEGES"; };
@@ -80,63 +85,57 @@ in {
 
   testScript =
   ''
-  startAll;
+  start_all()
 
   # Set up authentification across the cluster
-  foreach my $node (($submit,$control,$dbd,$node1,$node2,$node3))
-  {
-    $node->waitForUnit("default.target");
+  for node in [submit, control, dbd, node1, node2, node3]:
 
-    $node->succeed("mkdir /etc/munge");
-    $node->succeed("echo '${mungekey}' > /etc/munge/munge.key");
-    $node->succeed("chmod 0400 /etc/munge/munge.key");
-    $node->succeed("chown munge:munge /etc/munge/munge.key");
-    $node->succeed("systemctl restart munged");
+      node.wait_for_unit("default.target")
+
+      node.succeed("mkdir /etc/munge")
+      node.succeed(
+          "echo '${mungekey}' > /etc/munge/munge.key"
+      )
+      node.succeed("chmod 0400 /etc/munge/munge.key")
+      node.succeed("chown munge:munge /etc/munge/munge.key")
+      node.succeed("systemctl restart munged")
+
+      node.wait_for_unit("munged")
 
-    $node->waitForUnit("munged");
-  };
 
   # Restart the services since they have probably failed due to the munge init
   # failure
-  subtest "can_start_slurmdbd", sub {
-    $dbd->succeed("systemctl restart slurmdbd");
-    $dbd->waitForUnit("slurmdbd.service");
-    $dbd->waitForOpenPort(6819);
-  };
+  with subtest("can_start_slurmdbd"):
+      dbd.succeed("systemctl restart slurmdbd")
+      dbd.wait_for_unit("slurmdbd.service")
+      dbd.wait_for_open_port(6819)
 
   # there needs to be an entry for the current
   # cluster in the database before slurmctld is restarted
-  subtest "add_account", sub {
-    $control->succeed("sacctmgr -i add cluster default");
-    # check for cluster entry
-    $control->succeed("sacctmgr list cluster | awk '{ print \$1 }' | grep default");
-  };
+  with subtest("add_account"):
+      control.succeed("sacctmgr -i add cluster default")
+      # check for cluster entry
+      control.succeed("sacctmgr list cluster | awk '{ print $1 }' | grep default")
 
-  subtest "can_start_slurmctld", sub {
-    $control->succeed("systemctl restart slurmctld");
-    $control->waitForUnit("slurmctld.service");
-  };
+  with subtest("can_start_slurmctld"):
+      control.succeed("systemctl restart slurmctld")
+      control.wait_for_unit("slurmctld.service")
 
-  subtest "can_start_slurmd", sub {
-    foreach my $node (($node1,$node2,$node3))
-    {
-      $node->succeed("systemctl restart slurmd.service");
-      $node->waitForUnit("slurmd");
-    }
-  };
+  with subtest("can_start_slurmd"):
+      for node in [node1, node2, node3]:
+          node.succeed("systemctl restart slurmd.service")
+          node.wait_for_unit("slurmd")
 
   # Test that the cluster works and can distribute jobs;
 
-  subtest "run_distributed_command", sub {
-    # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
-    # The output must contain the 3 different names
-    $submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq");
-  };
+  with subtest("run_distributed_command"):
+      # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes).
+      # The output must contain the 3 different names
+      submit.succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq")
 
-  subtest "check_slurm_dbd", sub {
-    # find the srun job from above in the database
-    sleep 5;
-    $control->succeed("sacct | grep hostname");
-  };
+      with subtest("check_slurm_dbd"):
+          # find the srun job from above in the database
+          control.succeed("sleep 5")
+          control.succeed("sacct | grep hostname")
   '';
 })
diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix
index 07d22805112..4f8f0fcc9fe 100644
--- a/nixos/tests/smokeping.nix
+++ b/nixos/tests/smokeping.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "smokeping";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ cransom ];
@@ -22,12 +22,12 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $sm->waitForUnit("smokeping");
-    $sm->waitForUnit("thttpd");
-    $sm->waitForFile("/var/lib/smokeping/data/Local/LocalMachine.rrd");
-    $sm->succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local");
-    $sm->succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png");
-    $sm->succeed("ls /var/lib/smokeping/cache/index.html");
+    start_all()
+    sm.wait_for_unit("smokeping")
+    sm.wait_for_unit("thttpd")
+    sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd")
+    sm.succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local")
+    sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png")
+    sm.succeed("ls /var/lib/smokeping/cache/index.html")
   '';
 })
diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix
index 74ec22fd349..018102d7f64 100644
--- a/nixos/tests/snapper.nix
+++ b/nixos/tests/snapper.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 {
   name = "snapper";
 
@@ -20,24 +20,16 @@ import ./make-test.nix ({ ... }:
   };
 
   testScript = ''
-    $machine->succeed("btrfs subvolume create /home/.snapshots");
-
-    $machine->succeed("snapper -c home list");
-
-    $machine->succeed("snapper -c home create --description empty");
-
-    $machine->succeed("echo test > /home/file");
-    $machine->succeed("snapper -c home create --description file");
-
-    $machine->succeed("snapper -c home status 1..2");
-
-    $machine->succeed("snapper -c home undochange 1..2");
-    $machine->fail("ls /home/file");
-
-    $machine->succeed("snapper -c home delete 2");
-
-    $machine->succeed("systemctl --wait start snapper-timeline.service");
-
-    $machine->succeed("systemctl --wait start snapper-cleanup.service");
+    machine.succeed("btrfs subvolume create /home/.snapshots")
+    machine.succeed("snapper -c home list")
+    machine.succeed("snapper -c home create --description empty")
+    machine.succeed("echo test > /home/file")
+    machine.succeed("snapper -c home create --description file")
+    machine.succeed("snapper -c home status 1..2")
+    machine.succeed("snapper -c home undochange 1..2")
+    machine.fail("ls /home/file")
+    machine.succeed("snapper -c home delete 2")
+    machine.succeed("systemctl --wait start snapper-timeline.service")
+    machine.succeed("systemctl --wait start snapper-cleanup.service")
   '';
 })
diff --git a/nixos/tests/sonarr.nix b/nixos/tests/sonarr.nix
index 3e84445099a..764a4d05b38 100644
--- a/nixos/tests/sonarr.nix
+++ b/nixos/tests/sonarr.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,8 @@ with lib;
     { services.sonarr.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('sonarr.service');
-    $machine->waitForOpenPort('8989');
-    $machine->succeed("curl --fail http://localhost:8989/");
+    machine.wait_for_unit("sonarr.service")
+    machine.wait_for_open_port("8989")
+    machine.succeed("curl --fail http://localhost:8989/")
   '';
 })
diff --git a/nixos/tests/spacecookie.nix b/nixos/tests/spacecookie.nix
new file mode 100644
index 00000000000..6eff32a2e75
--- /dev/null
+++ b/nixos/tests/spacecookie.nix
@@ -0,0 +1,51 @@
+let
+  gopherRoot  = "/tmp/gopher";
+  gopherHost  = "gopherd";
+  fileContent = "Hello Gopher!";
+  fileName    = "file.txt";
+in
+  import ./make-test-python.nix ({...}: {
+    name = "spacecookie";
+    nodes = {
+      ${gopherHost} = {
+        networking.firewall.allowedTCPPorts = [ 70 ];
+        systemd.services.spacecookie = {
+          preStart = ''
+            mkdir -p ${gopherRoot}/directory
+            echo "${fileContent}" > ${gopherRoot}/${fileName}
+          '';
+        };
+
+        services.spacecookie = {
+          enable = true;
+          root = gopherRoot;
+          hostname = gopherHost;
+        };
+      };
+
+      client = {};
+    };
+
+    testScript = ''
+      start_all()
+      ${gopherHost}.wait_for_open_port(70)
+      ${gopherHost}.wait_for_unit("spacecookie.service")
+      client.wait_for_unit("network.target")
+
+      fileResponse = client.succeed("curl -s gopher://${gopherHost}//${fileName}")
+
+      # the file response should return our created file exactly
+      if not (fileResponse == "${fileContent}\n"):
+          raise Exception("Unexpected file response")
+
+      # sanity check on the directory listing: we serve a directory and a file
+      # via gopher, so the directory listing should have exactly two entries,
+      # one with gopher file type 0 (file) and one with file type 1 (directory).
+      dirResponse = client.succeed("curl -s gopher://${gopherHost}")
+      dirEntries = [l[0] for l in dirResponse.split("\n") if len(l) > 0]
+      dirEntries.sort()
+
+      if not (["0", "1"] == dirEntries):
+          raise Exception("Unexpected directory response")
+    '';
+  })
diff --git a/nixos/tests/spike.nix b/nixos/tests/spike.nix
new file mode 100644
index 00000000000..47763e75ffa
--- /dev/null
+++ b/nixos/tests/spike.nix
@@ -0,0 +1,22 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+  riscvPkgs = import ../.. { crossSystem = pkgs.stdenv.lib.systems.examples.riscv64-embedded; };
+in
+{
+  name = "spike";
+  meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ blitz ]; };
+
+  machine = { pkgs, lib, ... }: {
+    environment.systemPackages = [ pkgs.spike riscvPkgs.riscv-pk riscvPkgs.hello ];
+  };
+
+  # Run the RISC-V hello applications using the proxy kernel on the
+  # Spike emulator and see whether we get the expected output.
+  testScript =
+    ''
+      machine.wait_for_unit("multi-user.target")
+      output = machine.succeed("spike -m64 $(which pk) $(which hello)")
+      assert output == "Hello, world!\n"
+    '';
+})
diff --git a/nixos/tests/strongswan-swanctl.nix b/nixos/tests/strongswan-swanctl.nix
index 9bab9349ea7..152c0d61c54 100644
--- a/nixos/tests/strongswan-swanctl.nix
+++ b/nixos/tests/strongswan-swanctl.nix
@@ -16,7 +16,7 @@
 # See the NixOS manual for how to run this test:
 # https://nixos.org/nixos/manual/index.html#sec-running-nixos-tests-interactively
 
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   allowESP = "iptables --insert INPUT --protocol ESP --jump ACCEPT";
@@ -142,7 +142,7 @@ in {
 
   };
   testScript = ''
-    startAll();
-    $carol->waitUntilSucceeds("ping -c 1 alice");
+    start_all()
+    carol.wait_until_succeeds("ping -c 1 alice")
   '';
 })
diff --git a/nixos/tests/sudo.nix b/nixos/tests/sudo.nix
index fc16b99cc19..5bbec3d5726 100644
--- a/nixos/tests/sudo.nix
+++ b/nixos/tests/sudo.nix
@@ -4,7 +4,7 @@ let
   password = "helloworld";
 
 in
-  import ./make-test.nix ({ pkgs, ...} : {
+  import ./make-test-python.nix ({ pkgs, ...} : {
     name = "sudo";
     meta = with pkgs.stdenv.lib.maintainers; {
       maintainers = [ lschuermann ];
@@ -50,44 +50,34 @@ in
 
     testScript =
       ''
-        subtest "users in wheel group should have passwordless sudo", sub {
-            $machine->succeed("su - test0 -c \"sudo -u root true\"");
-        };
+        with subtest("users in wheel group should have passwordless sudo"):
+            machine.succeed('su - test0 -c "sudo -u root true"')
 
-        subtest "test1 user should have sudo with password", sub {
-            $machine->succeed("su - test1 -c \"echo ${password} | sudo -S -u root true\"");
-        };
+        with subtest("test1 user should have sudo with password"):
+            machine.succeed('su - test1 -c "echo ${password} | sudo -S -u root true"')
 
-        subtest "test1 user should not be able to use sudo without password", sub {
-            $machine->fail("su - test1 -c \"sudo -n -u root true\"");
-        };
+        with subtest("test1 user should not be able to use sudo without password"):
+            machine.fail('su - test1 -c "sudo -n -u root true"')
 
-        subtest "users in group 'foobar' should be able to use sudo with password", sub {
-            $machine->succeed("sudo -u test2 echo ${password} | sudo -S -u root true");
-        };
+        with subtest("users in group 'foobar' should be able to use sudo with password"):
+            machine.succeed("sudo -u test2 echo ${password} | sudo -S -u root true")
 
-        subtest "users in group 'barfoo' should be able to use sudo without password", sub {
-            $machine->succeed("sudo -u test3 sudo -n -u root true");
-        };
+        with subtest("users in group 'barfoo' should be able to use sudo without password"):
+            machine.succeed("sudo -u test3 sudo -n -u root true")
 
-        subtest "users in group 'baz' (GID 1337) should be able to use sudo without password", sub {
-            $machine->succeed("sudo -u test4 sudo -n -u root echo true");
-        };
+        with subtest("users in group 'baz' (GID 1337)"):
+            machine.succeed("sudo -u test4 sudo -n -u root echo true")
 
-        subtest "test5 user should be able to run commands under test1", sub {
-            $machine->succeed("sudo -u test5 sudo -n -u test1 true");
-        };
+        with subtest("test5 user should be able to run commands under test1"):
+            machine.succeed("sudo -u test5 sudo -n -u test1 true")
 
-        subtest "test5 user should not be able to run commands under root", sub {
-            $machine->fail("sudo -u test5 sudo -n -u root true");
-        };
+        with subtest("test5 user should not be able to run commands under root"):
+            machine.fail("sudo -u test5 sudo -n -u root true")
 
-        subtest "test5 user should be able to keep his environment", sub {
-            $machine->succeed("sudo -u test5 sudo -n -E -u test1 true");
-        };
+        with subtest("test5 user should be able to keep his environment"):
+            machine.succeed("sudo -u test5 sudo -n -E -u test1 true")
 
-        subtest "users in group 'barfoo' should not be able to keep their environment", sub {
-            $machine->fail("sudo -u test3 sudo -n -E -u root true");
-        };
+        with subtest("users in group 'barfoo' should not be able to keep their environment"):
+            machine.fail("sudo -u test3 sudo -n -E -u root true")
       '';
   })
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix
index 0dba3697980..7076bd77b77 100644
--- a/nixos/tests/switch-test.nix
+++ b/nixos/tests/switch-test.nix
@@ -1,6 +1,6 @@
 # Test configuration switching.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "switch-test";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gleber ];
@@ -28,7 +28,11 @@ import ./make-test.nix ({ pkgs, ...} : {
       exec env -i "$@" | tee /dev/stderr
     '';
   in ''
-    $machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test");
-    $machine->succeed("${stderrRunner} ${otherSystem}/bin/switch-to-configuration test");
+    machine.succeed(
+        "${stderrRunner} ${originalSystem}/bin/switch-to-configuration test"
+    )
+    machine.succeed(
+        "${stderrRunner} ${otherSystem}/bin/switch-to-configuration test"
+    )
   '';
 })
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
index 0de76b688bd..9c8e0a3d087 100644
--- a/nixos/tests/syncthing-init.nix
+++ b/nixos/tests/syncthing-init.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }: let
+import ./make-test-python.nix ({ lib, pkgs, ... }: let
 
   testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
 
@@ -22,13 +22,11 @@ in {
   };
 
   testScript = ''
-    my $config;
-
-    $machine->waitForUnit("syncthing-init.service");
-    $config = $machine->succeed("cat /var/lib/syncthing/.config/syncthing/config.xml");
+    machine.wait_for_unit("syncthing-init.service")
+    config = machine.succeed("cat /var/lib/syncthing/.config/syncthing/config.xml")
    
-    $config =~ /${testId}/ or die;
-    $config =~ /testFolder/ or die;
+    assert "testFolder" in config
+    assert "${testId}" in config
   '';
 })
 
diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix
index f1ceb499333..cd72ef1cbe1 100644
--- a/nixos/tests/syncthing-relay.nix
+++ b/nixos/tests/syncthing-relay.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }: {
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "syncthing-relay";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ delroth ];
 
@@ -14,9 +14,13 @@ import ./make-test.nix ({ lib, pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->waitForUnit("syncthing-relay.service");
-    $machine->waitForOpenPort(12345);
-    $machine->waitForOpenPort(12346);
-    $machine->succeed("curl http://localhost:12346/status | jq -r '.options.\"provided-by\"'") =~ /nixos-test/ or die;
+    machine.wait_for_unit("syncthing-relay.service")
+    machine.wait_for_open_port(12345)
+    machine.wait_for_open_port(12346)
+
+    out = machine.succeed(
+        "curl -sS http://localhost:12346/status | jq -r '.options.\"provided-by\"'"
+    )
+    assert "nixos-test" in out
   '';
 })
diff --git a/nixos/tests/systemd-analyze.nix b/nixos/tests/systemd-analyze.nix
new file mode 100644
index 00000000000..a78ba08cd55
--- /dev/null
+++ b/nixos/tests/systemd-analyze.nix
@@ -0,0 +1,46 @@
+import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
+
+{
+  name = "systemd-analyze";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ raskin ];
+  };
+
+  machine =
+    { pkgs, lib, ... }:
+    { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
+      sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
+    };
+
+  testScript = ''
+    machine.wait_for_unit("multi-user.target")
+
+    # We create a special output directory to copy it as a whole
+    with subtest("Prepare output dir"):
+        machine.succeed("mkdir systemd-analyze")
+
+
+    # Save the output into a file with given name inside the common
+    # output directory
+    def run_systemd_analyze(args, name):
+        tgt_dir = "systemd-analyze"
+        machine.succeed(
+            "systemd-analyze {} > {}/{} 2> {}/{}.err".format(
+                " ".join(args), tgt_dir, name, tgt_dir, name
+            )
+        )
+
+
+    with subtest("Print statistics"):
+        run_systemd_analyze(["blame"], "blame.txt")
+        run_systemd_analyze(["critical-chain"], "critical-chain.txt")
+        run_systemd_analyze(["dot"], "dependencies.dot")
+        run_systemd_analyze(["plot"], "systemd-analyze.svg")
+
+    # We copy the main graph into the $out (toplevel), and we also copy
+    # the entire output directory with additional data
+    with subtest("Copying the resulting data into $out"):
+        machine.copy_from_vm("systemd-analyze/", "")
+        machine.copy_from_vm("systemd-analyze/systemd-analyze.svg", "")
+  '';
+})
diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd-wireguard.nix
index aa0ac54e796..be5c0da981d 100644
--- a/nixos/tests/systemd-networkd-wireguard.nix
+++ b/nixos/tests/systemd-networkd-wireguard.nix
@@ -1,4 +1,4 @@
-let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...}: {
+let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
       imports = [ common/user-account.nix ];
       systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
       networking.useNetworkd = true;
@@ -7,13 +7,16 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
       virtualisation.vlans = [ 1 ];
       environment.systemPackages = with pkgs; [ wireguard-tools ];
       boot.extraModulePackages = [ config.boot.kernelPackages.wireguard ];
+      systemd.tmpfiles.rules = [
+        "f /run/wg_priv 0640 root systemd-network - ${privk}"
+      ];
       systemd.network = {
         enable = true;
         netdevs = {
           "90-wg0" = {
             netdevConfig = { Kind = "wireguard"; Name = "wg0"; };
             wireguardConfig = {
-              PrivateKeyFile = privkpath ;
+              PrivateKeyFile = "/run/wg_priv";
               ListenPort = 51820;
               FwMark = 42;
             };
@@ -45,7 +48,7 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
         };
       };
     };
-in import ./make-test.nix ({pkgs, ... }: {
+in import ./make-test-python.nix ({pkgs, ... }: {
   name = "networkd-wireguard";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ninjatrappeur ];
@@ -53,7 +56,7 @@ in import ./make-test.nix ({pkgs, ... }: {
   nodes = {
     node1 = { pkgs, ... }@attrs:
     let localConf = {
-        privkpath = pkgs.writeText "priv.key" "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00=";
+        privk = "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00=";
         pubk = "iRxpqj42nnY0Qz8MAQbSm7bXxXP5hkPqWYIULmvW+EE=";
         nodeId = "1";
         peerId = "2";
@@ -62,7 +65,7 @@ in import ./make-test.nix ({pkgs, ... }: {
 
     node2 = { pkgs, ... }@attrs:
     let localConf = {
-        privkpath = pkgs.writeText "priv.key" "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k=";
+        privk = "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k=";
         pubk = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g=";
         nodeId = "2";
         peerId = "1";
@@ -70,12 +73,12 @@ in import ./make-test.nix ({pkgs, ... }: {
     in generateNodeConf (attrs // localConf);
   };
 testScript = ''
-    startAll;
-    $node1->waitForUnit('systemd-networkd-wait-online.service');
-    $node2->waitForUnit('systemd-networkd-wait-online.service');
-    $node1->succeed('ping -c 5 10.0.0.2');
-    $node2->succeed('ping -c 5 10.0.0.1');
+    start_all()
+    node1.wait_for_unit("systemd-networkd-wait-online.service")
+    node2.wait_for_unit("systemd-networkd-wait-online.service")
+    node1.succeed("ping -c 5 10.0.0.2")
+    node2.succeed("ping -c 5 10.0.0.1")
     # Is the fwmark set?
-    $node2->succeed('wg | grep -q 42');
+    node2.succeed("wg | grep -q 42")
 '';
 })
diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix
new file mode 100644
index 00000000000..5bf55060d2e
--- /dev/null
+++ b/nixos/tests/systemd-nspawn.nix
@@ -0,0 +1,60 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+let
+  gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
+    mkdir -p $out
+    export GNUPGHOME=$out
+    cat > foo <<EOF
+      %echo Generating a basic OpenPGP key
+      %no-protection
+      Key-Type: DSA
+      Key-Length: 1024
+      Subkey-Type: ELG-E
+      Subkey-Length: 1024
+      Name-Real: Joe Tester
+      Name-Email: joe@foo.bar
+      Expire-Date: 0
+      # Do a commit here, so that we can later print "done"
+      %commit
+      %echo done
+    EOF
+    gpg --batch --generate-key foo
+    rm $out/S.gpg-agent $out/S.gpg-agent.*
+    gpg --export joe@foo.bar -a > $out/pubkey.gpg
+  '');
+
+  nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
+    mkdir -p $out
+    cd $out
+    dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5
+    sha256sum testimage.raw > SHA256SUMS
+    export GNUPGHOME="$(mktemp -d)"
+    cp -R ${gpgKeyring}/* $GNUPGHOME
+    gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
+  '');
+in {
+  name = "systemd-nspawn";
+
+  nodes = {
+    server = { pkgs, ... }: {
+      networking.firewall.allowedTCPPorts = [ 80 ];
+      services.nginx = {
+        enable = true;
+        virtualHosts."server".root = nspawnImages;
+      };
+    };
+    client = { pkgs, ... }: {
+      environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg";
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    server.wait_for_unit("nginx.service")
+    client.wait_for_unit("network-online.target")
+    client.succeed("machinectl pull-raw --verify=signature http://server/testimage.raw")
+    client.succeed(
+        "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw"
+    )
+  '';
+})
diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix
index d12b8eb2bf7..ad5b9a47383 100644
--- a/nixos/tests/systemd-timesyncd.nix
+++ b/nixos/tests/systemd-timesyncd.nix
@@ -1,7 +1,7 @@
 # Regression test for systemd-timesync having moved the state directory without
 # upstream providing a migration path. https://github.com/systemd/systemd/issues/12131
 
-import ./make-test.nix (let
+import ./make-test-python.nix (let
   common = { lib, ... }: {
     # override the `false` value from the qemu-vm base profile
     services.timesyncd.enable = lib.mkForce true;
@@ -25,28 +25,28 @@ in {
   };
 
   testScript = ''
-    startAll;
-    $current->succeed('systemctl status systemd-timesyncd.service');
+    start_all()
+    current.succeed("systemctl status systemd-timesyncd.service")
     # on a new install with a recent systemd there should not be any
     # leftovers from the dynamic user mess
-    $current->succeed('test -e /var/lib/systemd/timesync');
-    $current->succeed('test ! -L /var/lib/systemd/timesync');
+    current.succeed("test -e /var/lib/systemd/timesync")
+    current.succeed("test ! -L /var/lib/systemd/timesync")
 
     # timesyncd should be running on the upgrading system since we fixed the
     # file bits in the activation script
-    $pre1909->succeed('systemctl status systemd-timesyncd.service');
+    pre1909.succeed("systemctl status systemd-timesyncd.service")
 
     # the path should be gone after the migration
-    $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync');
+    pre1909.succeed("test ! -e /var/lib/private/systemd/timesync")
 
     # and the new path should no longer be a symlink
-    $pre1909->succeed('test -e /var/lib/systemd/timesync');
-    $pre1909->succeed('test ! -L /var/lib/systemd/timesync');
+    pre1909.succeed("test -e /var/lib/systemd/timesync")
+    pre1909.succeed("test ! -L /var/lib/systemd/timesync")
 
     # after a restart things should still work and not fail in the activation
     # scripts and cause the boot to fail..
-    $pre1909->shutdown;
-    $pre1909->start;
-    $pre1909->succeed('systemctl status systemd-timesyncd.service');
+    pre1909.shutdown()
+    pre1909.start()
+    pre1909.succeed("systemctl status systemd-timesyncd.service")
   '';
 })
diff --git a/nixos/tests/telegraf.nix b/nixos/tests/telegraf.nix
index 6776f8d8c37..73f741b1135 100644
--- a/nixos/tests/telegraf.nix
+++ b/nixos/tests/telegraf.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "telegraf";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mic92 ];
@@ -22,9 +22,9 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit("telegraf.service");
-    $machine->waitUntilSucceeds("grep -q example /tmp/metrics.out");
+    machine.wait_for_unit("telegraf.service")
+    machine.wait_until_succeeds("grep -q example /tmp/metrics.out")
   '';
 })
diff --git a/nixos/tests/tiddlywiki.nix b/nixos/tests/tiddlywiki.nix
index 4a2014a4ec9..cf45578b0f9 100644
--- a/nixos/tests/tiddlywiki.nix
+++ b/nixos/tests/tiddlywiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }: {
+import ./make-test-python.nix ({ ... }: {
   name = "tiddlywiki";
   nodes = {
     default = {
@@ -20,48 +20,50 @@ import ./make-test.nix ({ ... }: {
     };
   };
 
-  testScript = ''
-    startAll;
+  testScript =
+    ''
+      start_all()
 
-    subtest "by default works without configuration", sub {
-      $default->waitForUnit("tiddlywiki.service");
-    };
-
-    subtest "by default available on port 8080 without auth", sub {
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
-      $default->succeed("curl --fail 127.0.0.1:8080");
-    };
-
-    subtest "by default creates empty wiki", sub {
-      $default->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("tiddlywiki.service")
 
-    subtest "configured on port 3000 with basic auth", sub {
-      $configured->waitForUnit("tiddlywiki.service");
-      $configured->waitForOpenPort(3000);
-      $configured->fail("curl --fail 127.0.0.1:3000");
-      $configured->succeed("curl --fail 127.0.0.1:3000 --user somelogin:somesecret");
-    };
+      with subtest("by default available on port 8080 without auth"):
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
+          # we output to /dev/null here to avoid a python UTF-8 decode error
+          # but the check will still fail if the service doesn't respond
+          default.succeed("curl --fail -o /dev/null 127.0.0.1:8080")
 
-    subtest "configured with different wikifolder", sub {
-      $configured->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default creates empty wiki"):
+          default.succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info")
 
-    subtest "restart preserves changes", sub {
-      # given running wiki
-      $default->waitForUnit("tiddlywiki.service");
-      # with some changes
-      $default->succeed("curl --fail --request PUT --header 'X-Requested-With:TiddlyWiki' --data '{ \"title\": \"title\", \"text\": \"content\" }' --url 127.0.0.1:8080/recipes/default/tiddlers/somepage ");
-      $default->succeed("sleep 2"); # server syncs to filesystem on timer
+      with subtest("configured on port 3000 with basic auth"):
+          configured.wait_for_unit("tiddlywiki.service")
+          configured.wait_for_open_port(3000)
+          configured.fail("curl --fail -o /dev/null 127.0.0.1:3000")
+          configured.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:3000 --user somelogin:somesecret"
+          )
+      
+      with subtest("restart preserves changes"):
+          # given running wiki
+          default.wait_for_unit("tiddlywiki.service")
+          # with some changes
+          default.succeed(
+              'curl --fail --request PUT --header \'X-Requested-With:TiddlyWiki\' \
+              --data \'{ "title": "title", "text": "content" }\' \
+              --url 127.0.0.1:8080/recipes/default/tiddlers/somepage '
+          )
+          default.succeed("sleep 2")
 
-      # when wiki is cycled
-      $default->systemctl("restart tiddlywiki.service");
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
+          # when wiki is cycled
+          default.systemctl("restart tiddlywiki.service")
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
 
-      # the change is preserved
-      $default->succeed("curl --fail 127.0.0.1:8080/recipes/default/tiddlers/somepage");
-    };
-  '';
+          # the change is preserved
+          default.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:8080/recipes/default/tiddlers/somepage"
+          )
+    '';
 })
diff --git a/nixos/tests/timezone.nix b/nixos/tests/timezone.nix
index 2204649a3fc..7fc9a5058ee 100644
--- a/nixos/tests/timezone.nix
+++ b/nixos/tests/timezone.nix
@@ -1,45 +1,50 @@
-{
-  timezone-static = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-static";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = "Europe/Amsterdam";
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-      $machine->fail("timedatectl set-timezone Asia/Tokyo");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      $dateResult[1] eq "1970-01-01 01:00:00\n" or die "Timezone seems to be wrong";
-    '';
-  });
-
-  timezone-imperative = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-imperative";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = null;
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-
-      # Should default to UTC
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 00:00:00\n" or die "Timezone seems to be wrong";
-
-      $machine->succeed("timedatectl set-timezone Asia/Tokyo");
-
-      # Adjustment should be taken into account
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone was not adjusted";
-
-      # Adjustment should persist across a reboot
-      $machine->shutdown;
-      $machine->waitForUnit("dbus.socket");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone adjustment was not persisted";
-    '';
-  });
-}
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "timezone";
+  meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
+
+  nodes = {
+    node_eutz = { pkgs, ... }: {
+      time.timeZone = "Europe/Amsterdam";
+    };
+
+    node_nulltz = { pkgs, ... }: {
+      time.timeZone = null;
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+      node_eutz.wait_for_unit("dbus.socket")
+
+      with subtest("static - Ensure timezone change gives the correct result"):
+          node_eutz.fail("timedatectl set-timezone Asia/Tokyo")
+          date_result = node_eutz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          assert date_result == "1970-01-01 01:00:00\n", "Timezone seems to be wrong"
+
+      node_nulltz.wait_for_unit("dbus.socket")
+
+      with subtest("imperative - Ensure timezone defaults to UTC"):
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 00:00:00\n"
+          ), "Timezone seems to be wrong (not UTC)"
+
+      with subtest("imperative - Ensure timezone adjustment produces expected result"):
+          node_nulltz.succeed("timedatectl set-timezone Asia/Tokyo")
+
+          # Adjustment should be taken into account
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert date_result == "1970-01-01 09:00:00\n", "Timezone was not adjusted"
+
+      with subtest("imperative - Ensure timezone adjustment persists across reboot"):
+          # Adjustment should persist across a reboot
+          node_nulltz.shutdown()
+          node_nulltz.wait_for_unit("dbus.socket")
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 09:00:00\n"
+          ), "Timezone adjustment was not persisted"
+  '';
+})
diff --git a/nixos/tests/tinydns.nix b/nixos/tests/tinydns.nix
index cb7ee0c5fb5..c7740d5ade3 100644
--- a/nixos/tests/tinydns.nix
+++ b/nixos/tests/tinydns.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ...} : {
+import ./make-test-python.nix ({ lib, ...} : {
   name = "tinydns";
   meta = {
     maintainers = with lib.maintainers; [ basvandijk ];
@@ -19,8 +19,8 @@ import ./make-test.nix ({ lib, ...} : {
     };
   };
   testScript = ''
-    $nameserver->start;
-    $nameserver->waitForUnit("tinydns.service");
-    $nameserver->succeed("host bla.foo.bar | grep '1\.2\.3\.4'");
+    nameserver.start()
+    nameserver.wait_for_unit("tinydns.service")
+    nameserver.succeed("host bla.foo.bar | grep '1\.2\.3\.4'")
   '';
 })
diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix
index 0cb44ddff24..ad07231557c 100644
--- a/nixos/tests/tor.nix
+++ b/nixos/tests/tor.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }: with lib;
+import ./make-test-python.nix ({ lib, ... }: with lib;
 
 rec {
   name = "tor";
@@ -21,8 +21,10 @@ rec {
     };
 
   testScript = ''
-    $client->waitForUnit("tor.service");
-    $client->waitForOpenPort(9051);
-    $client->succeed("echo GETINFO version | nc 127.0.0.1 9051") =~ /514 Authentication required./ or die;
+    client.wait_for_unit("tor.service")
+    client.wait_for_open_port(9051)
+    assert "514 Authentication required." in client.succeed(
+        "echo GETINFO version | nc 127.0.0.1 9051"
+    )
   '';
 })
diff --git a/nixos/tests/trac.nix b/nixos/tests/trac.nix
index 643095d947e..7953f8d41f7 100644
--- a/nixos/tests/trac.nix
+++ b/nixos/tests/trac.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "trac";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mmahut ];
@@ -11,9 +11,9 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("trac.service");
-    $machine->waitForOpenPort(8000);
-    $machine->waitUntilSucceeds("curl -L http://localhost:8000/ | grep 'Trac Powered'");
+    start_all()
+    machine.wait_for_unit("trac.service")
+    machine.wait_for_open_port(8000)
+    machine.wait_until_succeeds("curl -L http://localhost:8000/ | grep 'Trac Powered'")
   '';
 })
diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix
index f1c238730eb..f4f2186be1f 100644
--- a/nixos/tests/transmission.nix
+++ b/nixos/tests/transmission.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "transmission";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ coconnor ];
@@ -14,8 +14,8 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("transmission");
-      $machine->shutdown;
+      start_all()
+      machine.wait_for_unit("transmission")
+      machine.shutdown()
     '';
 })
diff --git a/nixos/tests/trezord.nix b/nixos/tests/trezord.nix
index 1c85bf53934..8d908a52249 100644
--- a/nixos/tests/trezord.nix
+++ b/nixos/tests/trezord.nix
@@ -1,7 +1,7 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "trezord";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ mmahut ];
+    maintainers = [ mmahut "1000101" ];
   };
 
   nodes = {
@@ -12,9 +12,9 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("trezord.service");
-    $machine->waitForOpenPort(21325);
-    $machine->waitUntilSucceeds("curl -L http://localhost:21325/status/ | grep Version");
+    start_all()
+    machine.wait_for_unit("trezord.service")
+    machine.wait_for_open_port(21325)
+    machine.wait_until_succeeds("curl -L http://localhost:21325/status/ | grep Version")
   '';
 })
diff --git a/nixos/tests/trickster.nix b/nixos/tests/trickster.nix
index 1461a32bb07..e2ca00980d5 100644
--- a/nixos/tests/trickster.nix
+++ b/nixos/tests/trickster.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "trickster";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ "1000101" ];
@@ -15,15 +15,23 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll;
-    $prometheus->waitForUnit("prometheus.service");
-    $prometheus->waitForOpenPort(9090);
-    $prometheus->waitUntilSucceeds("curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
-    $trickster->waitForUnit("trickster.service");
-    $trickster->waitForOpenPort(8082);
-    $trickster->waitForOpenPort(9090);
-    $trickster->waitUntilSucceeds("curl -L http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
-    $trickster->waitUntilSucceeds("curl -L http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
-    $trickster->waitUntilSucceeds("curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
+    start_all()
+    prometheus.wait_for_unit("prometheus.service")
+    prometheus.wait_for_open_port(9090)
+    prometheus.wait_until_succeeds(
+        "curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_for_unit("trickster.service")
+    trickster.wait_for_open_port(8082)
+    trickster.wait_for_open_port(9090)
+    trickster.wait_until_succeeds(
+        "curl -L http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_until_succeeds(
+        "curl -L http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
+    trickster.wait_until_succeeds(
+        "curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'"
+    )
   '';
 })
\ No newline at end of file
diff --git a/nixos/tests/trilium-server.nix b/nixos/tests/trilium-server.nix
new file mode 100644
index 00000000000..6346575b33d
--- /dev/null
+++ b/nixos/tests/trilium-server.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix ({ ... }: {
+  name = "trilium-server";
+  nodes = {
+    default = {
+      services.trilium-server.enable = true;
+    };
+    configured = {
+      services.trilium-server = {
+        enable = true;
+        dataDir = "/data/trilium";
+      };
+    };
+
+    nginx = {
+      services.trilium-server = {
+        enable = true;
+        nginx.enable = true;
+        nginx.hostName = "trilium.example.com";
+      };
+    };
+  };
+
+  testScript =
+    ''
+      start_all()
+
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("trilium-server.service")
+
+      with subtest("by default available on port 8080"):
+          default.wait_for_unit("trilium-server.service")
+          default.wait_for_open_port(8080)
+          # we output to /dev/null here to avoid a python UTF-8 decode error
+          # but the check will still fail if the service doesn't respond
+          default.succeed("curl --fail -o /dev/null 127.0.0.1:8080")
+
+      with subtest("by default creates empty document"):
+          default.wait_for_unit("trilium-server.service")
+          default.succeed("test -f /var/lib/trilium/document.db")
+
+      with subtest("configured with custom data store"):
+          configured.wait_for_unit("trilium-server.service")
+          configured.succeed("test -f /data/trilium/document.db")
+
+      with subtest("nginx with custom host name"):
+          nginx.wait_for_unit("trilium-server.service")
+          nginx.wait_for_unit("nginx.service")
+
+          nginx.succeed(
+              "curl --resolve 'trilium.example.com:80:127.0.0.1' http://trilium.example.com/"
+          )
+    '';
+})
diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix
index dcf869908d8..0cbfa0c4c7b 100644
--- a/nixos/tests/udisks2.nix
+++ b/nixos/tests/udisks2.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
 
@@ -30,32 +30,40 @@ in
 
   testScript =
     ''
-      my $stick = $machine->stateDir . "/usbstick.img";
-      system("xz -d < ${stick} > $stick") == 0 or die;
+      import lzma
 
-      $machine->succeed("udisksctl info -b /dev/vda >&2");
-      $machine->fail("udisksctl info -b /dev/sda1");
+      with lzma.open(
+          "${stick}"
+      ) as data, open(machine.state_dir + "/usbstick.img", "wb") as stick:
+          stick.write(data.read())
+
+      machine.succeed("udisksctl info -b /dev/vda >&2")
+      machine.fail("udisksctl info -b /dev/sda1")
 
       # Attach a USB stick and wait for it to show up.
-      $machine->sendMonitorCommand("drive_add 0 id=stick,if=none,file=$stick,format=raw");
-      $machine->sendMonitorCommand("device_add usb-storage,id=stick,drive=stick");
-      $machine->waitUntilSucceeds("udisksctl info -b /dev/sda1");
-      $machine->succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'");
+      machine.send_monitor_command(
+          f"drive_add 0 id=stick,if=none,file={stick.name},format=raw"
+      )
+      machine.send_monitor_command("device_add usb-storage,id=stick,drive=stick")
+      machine.wait_until_succeeds("udisksctl info -b /dev/sda1")
+      machine.succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'")
 
       # Mount the stick as a non-root user and do some stuff with it.
-      $machine->succeed("su - alice -c 'udisksctl info -b /dev/sda1'");
-      $machine->succeed("su - alice -c 'udisksctl mount -b /dev/sda1'");
-      $machine->succeed("su - alice -c 'cat /run/media/alice/USBSTICK/test.txt'") =~ /Hello World/ or die;
-      $machine->succeed("su - alice -c 'echo foo > /run/media/alice/USBSTICK/bar.txt'");
+      machine.succeed("su - alice -c 'udisksctl info -b /dev/sda1'")
+      machine.succeed("su - alice -c 'udisksctl mount -b /dev/sda1'")
+      machine.succeed(
+          "su - alice -c 'cat /run/media/alice/USBSTICK/test.txt' | grep -q 'Hello World'"
+      )
+      machine.succeed("su - alice -c 'echo foo > /run/media/alice/USBSTICK/bar.txt'")
 
       # Unmounting the stick should make the mountpoint disappear.
-      $machine->succeed("su - alice -c 'udisksctl unmount -b /dev/sda1'");
-      $machine->fail("[ -d /run/media/alice/USBSTICK ]");
+      machine.succeed("su - alice -c 'udisksctl unmount -b /dev/sda1'")
+      machine.fail("[ -d /run/media/alice/USBSTICK ]")
 
       # Remove the USB stick.
-      $machine->sendMonitorCommand("device_del stick");
-      $machine->waitUntilFails("udisksctl info -b /dev/sda1");
-      $machine->fail("[ -e /dev/sda ]");
+      machine.send_monitor_command("device_del stick")
+      machine.wait_until_fails("udisksctl info -b /dev/sda1")
+      machine.fail("[ -e /dev/sda ]")
     '';
 
 })
diff --git a/nixos/tests/upnp.nix b/nixos/tests/upnp.nix
index 98344aee3ef..a7d837ea070 100644
--- a/nixos/tests/upnp.nix
+++ b/nixos/tests/upnp.nix
@@ -5,7 +5,7 @@
 # this succeeds an external client will try to connect to the port
 # mapping.
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   internalRouterAddress = "192.168.3.1";
@@ -56,9 +56,11 @@ in
           networking.firewall.enable = false;
 
           services.httpd.enable = true;
-          services.httpd.listen = [{ ip = "*"; port = 9000; }];
-          services.httpd.adminAddr = "foo@example.org";
-          services.httpd.documentRoot = "/tmp";
+          services.httpd.virtualHosts.localhost = {
+            listen = [{ ip = "*"; port = 9000; }];
+            adminAddr = "foo@example.org";
+            documentRoot = "/tmp";
+          };
         };
 
       client2 =
@@ -75,20 +77,20 @@ in
   testScript =
     { nodes, ... }:
     ''
-      startAll;
+      start_all()
 
       # Wait for network and miniupnpd.
-      $router->waitForUnit("network-online.target");
-      # $router->waitForUnit("nat");
-      $router->waitForUnit("firewall.service");
-      $router->waitForUnit("miniupnpd");
+      router.wait_for_unit("network-online.target")
+      # $router.wait_for_unit("nat")
+      router.wait_for_unit("firewall.service")
+      router.wait_for_unit("miniupnpd")
 
-      $client1->waitForUnit("network-online.target");
+      client1.wait_for_unit("network-online.target")
 
-      $client1->succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP");
+      client1.succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP")
 
-      $client1->waitForUnit("httpd");
-      $client2->waitUntilSucceeds("curl http://${externalRouterAddress}:9000/");
+      client1.wait_for_unit("httpd")
+      client2.wait_until_succeeds("curl http://${externalRouterAddress}:9000/")
     '';
 
 })
diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix
index afc03e74ed7..78a87147f55 100644
--- a/nixos/tests/uwsgi.nix
+++ b/nixos/tests/uwsgi.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "uwsgi";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -30,9 +30,9 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('uwsgi.service');
-      $machine->waitForOpenPort(8000);
-      $machine->succeed('curl -v 127.0.0.1:8000 | grep "Hello World!"');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("uwsgi.service")
+      machine.wait_for_open_port(8000)
+      assert "Hello World" in machine.succeed("curl -v 127.0.0.1:8000")
     '';
 })
diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix
index caf0cbb2abf..ac8cf0703da 100644
--- a/nixos/tests/vault.nix
+++ b/nixos/tests/vault.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "vault";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -12,12 +12,12 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('vault.service');
-      $machine->waitForOpenPort(8200);
-      $machine->succeed('vault operator init');
-      $machine->succeed('vault status | grep Sealed | grep true');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("vault.service")
+      machine.wait_for_open_port(8200)
+      machine.succeed("vault operator init")
+      machine.succeed("vault status | grep Sealed | grep true")
     '';
 })
diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix
new file mode 100644
index 00000000000..c8a4e3bb52a
--- /dev/null
+++ b/nixos/tests/wireguard/namespaces.nix
@@ -0,0 +1,78 @@
+let
+  listenPort = 12345;
+  socketNamespace = "foo";
+  interfaceNamespace = "bar";
+  node = {
+    networking.wireguard.interfaces.wg0 = {
+      listenPort = listenPort;
+      ips = [ "10.10.10.1/24" ];
+      privateKeyFile = "/etc/wireguard/private";
+      generatePrivateKeyFile = true;
+    };
+  };
+
+in
+
+import ../make-test-python.nix ({ pkgs, ...} : {
+  name = "wireguard-with-namespaces";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ asymmetric ];
+  };
+
+  nodes = {
+    # interface should be created in the socketNamespace
+    # and not moved from there
+    peer0 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+        '';
+        inherit socketNamespace;
+      };
+    };
+    # interface should be created in the init namespace
+    # and moved to the interfaceNamespace
+    peer1 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${interfaceNamespace}
+        '';
+        inherit interfaceNamespace;
+      };
+    };
+    # interface should be created in the socketNamespace
+    # and moved to the interfaceNamespace
+    peer2 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+          ip netns add ${interfaceNamespace}
+        '';
+        inherit socketNamespace interfaceNamespace;
+      };
+    };
+    # interface should be created in the socketNamespace
+    # and moved to the init namespace
+    peer3 = pkgs.lib.attrsets.recursiveUpdate node {
+      networking.wireguard.interfaces.wg0 = {
+        preSetup = ''
+          ip netns add ${socketNamespace}
+        '';
+        inherit socketNamespace;
+        interfaceNamespace = "init";
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    for machine in peer0, peer1, peer2, peer3:
+        machine.wait_for_unit("wireguard-wg0.service")
+
+    peer0.succeed("ip -n ${socketNamespace} link show wg0")
+    peer1.succeed("ip -n ${interfaceNamespace} link show wg0")
+    peer2.succeed("ip -n ${interfaceNamespace} link show wg0")
+    peer3.succeed("ip link show wg0")
+  '';
+})
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
index c6acfa6c1f3..b7449859f7e 100644
--- a/nixos/tests/wordpress.nix
+++ b/nixos/tests/wordpress.nix
@@ -1,9 +1,13 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "wordpress";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ grahamc ]; # under duress!
+    maintainers = [
+      flokli
+      grahamc # under duress!
+      mmilata
+    ];
   };
 
   machine =
@@ -23,19 +27,31 @@ import ./make-test.nix ({ pkgs, ... }:
     };
 
   testScript = ''
-    startAll;
+    import re
 
-    $machine->waitForUnit("httpd");
-    $machine->waitForUnit("phpfpm-wordpress-site1.local");
-    $machine->waitForUnit("phpfpm-wordpress-site2.local");
+    start_all()
 
-    $machine->succeed("curl -L site1.local | grep 'Welcome to the famous'");
-    $machine->succeed("curl -L site2.local | grep 'Welcome to the famous'");
+    machine.wait_for_unit("httpd")
 
-    $machine->succeed("systemctl --no-pager show wordpress-init-site1.local.service | grep 'ExecStart=.*status=0'");
-    $machine->succeed("systemctl --no-pager show wordpress-init-site2.local.service | grep 'ExecStart=.*status=0'");
-    $machine->succeed("grep -E '^define.*NONCE_SALT.{64,};\$' /var/lib/wordpress/site1.local/secret-keys.php");
-    $machine->succeed("grep -E '^define.*NONCE_SALT.{64,};\$' /var/lib/wordpress/site2.local/secret-keys.php");
-  '';
+    machine.wait_for_unit("phpfpm-wordpress-site1.local")
+    machine.wait_for_unit("phpfpm-wordpress-site2.local")
+
+    site_names = ["site1.local", "site2.local"]
+
+    with subtest("website returns welcome screen"):
+        for site_name in site_names:
+            assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}")
 
+    with subtest("wordpress-init went through"):
+        for site_name in site_names:
+            info = machine.get_unit_info(f"wordpress-init-{site_name}")
+            assert info["Result"] == "success"
+
+    with subtest("secret keys are set"):
+        pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
+        for site_name in site_names:
+            assert pattern.search(
+                machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
+            )
+  '';
 })
diff --git a/nixos/tests/xautolock.nix b/nixos/tests/xautolock.nix
index ee46d9e05b0..10e92b40e95 100644
--- a/nixos/tests/xautolock.nix
+++ b/nixos/tests/xautolock.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -15,10 +15,10 @@ with lib;
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForX;
-    $machine->mustFail("pgrep xlock");
-    $machine->sleep(120);
-    $machine->mustSucceed("pgrep xlock");
+    machine.start()
+    machine.wait_for_x()
+    machine.fail("pgrep xlock")
+    machine.sleep(120)
+    machine.succeed("pgrep xlock")
   '';
 })
diff --git a/nixos/tests/xdg-desktop-portal.nix b/nixos/tests/xdg-desktop-portal.nix
deleted file mode 100644
index 79ebb83c49a..00000000000
--- a/nixos/tests/xdg-desktop-portal.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# run installed tests
-import ./make-test.nix ({ pkgs, ... }:
-
-{
-  name = "xdg-desktop-portal";
-  meta = {
-    maintainers = pkgs.xdg-desktop-portal.meta.maintainers;
-  };
-
-  machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-  };
-
-  testScript = ''
-    $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.xdg-desktop-portal.installedTests}/share'");
-  '';
-})
diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix
index 7ff623062d9..3ea96b38363 100644
--- a/nixos/tests/xfce.nix
+++ b/nixos/tests/xfce.nix
@@ -1,8 +1,5 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xfce";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco shlevy ];
-  };
 
   machine =
     { pkgs, ... }:
@@ -16,31 +13,26 @@ import ./make-test.nix ({ pkgs, ...} : {
 
       services.xserver.desktopManager.xfce.enable = true;
 
-      environment.systemPackages = [ pkgs.xorg.xmessage ];
-
       hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
 
       virtualisation.memorySize = 1024;
     };
 
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->waitForFile("/home/alice/.Xauthority");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
-      $machine->waitForWindow(qr/xfce4-panel/);
-      $machine->sleep(10);
+  testScript = { nodes, ... }: let
+    user = nodes.machine.config.users.users.alice;
+  in ''
+      machine.wait_for_x()
+      machine.wait_for_file("${user.home}/.Xauthority")
+      machine.succeed("xauth merge ${user.home}/.Xauthority")
+      machine.wait_for_window("xfce4-panel")
+      machine.sleep(10)
 
       # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
-      $machine->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
-      $machine->screenshot("screen");
+      machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
 
-      # Ensure that the X server does proper access control.
-      $machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'");
-      $machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'");
+      machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'")
+      machine.wait_for_window("Terminal")
+      machine.sleep(10)
+      machine.screenshot("screen")
     '';
 })
diff --git a/nixos/tests/xfce4-14.nix b/nixos/tests/xfce4-14.nix
deleted file mode 100644
index d9b87b08437..00000000000
--- a/nixos/tests/xfce4-14.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "xfce4-14";
-
-  machine =
-    { pkgs, ... }:
-
-    { imports = [ ./common/user-account.nix ];
-
-      services.xserver.enable = true;
-
-      services.xserver.displayManager.auto.enable = true;
-      services.xserver.displayManager.auto.user = "alice";
-
-      services.xserver.desktopManager.xfce4-14.enable = true;
-
-      hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
-
-      virtualisation.memorySize = 1024;
-    };
-
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->waitForFile("/home/alice/.Xauthority");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
-      $machine->waitForWindow(qr/xfce4-panel/);
-      $machine->sleep(10);
-
-      # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
-      $machine->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
-      $machine->screenshot("screen");
-    '';
-})
diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix
index 79c15ccffec..ef711f8dcf6 100644
--- a/nixos/tests/xmonad.nix
+++ b/nixos/tests/xmonad.nix
@@ -1,13 +1,13 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xmonad";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
   };
 
-  machine = { lib, pkgs, ... }: {
+  machine = { pkgs, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     services.xserver.displayManager.auto.user = "alice";
-    services.xserver.windowManager.default = lib.mkForce "xmonad";
+    services.xserver.displayManager.defaultSession = "none+xmonad";
     services.xserver.windowManager.xmonad = {
       enable = true;
       enableContribAndExtras = true;
@@ -21,19 +21,21 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
   };
 
-  testScript = { ... }: ''
-    $machine->waitForX;
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->sendKeys("alt-ctrl-x");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(1);
-    $machine->screenshot("terminal");
-    $machine->waitUntilSucceeds("xmonad --restart");
-    $machine->sleep(3);
-    $machine->sendKeys("alt-shift-ret");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(1);
-    $machine->screenshot("terminal");
+  testScript = { nodes, ... }: let
+    user = nodes.machine.config.users.users.alice;
+  in ''
+    machine.wait_for_x()
+    machine.wait_for_file("${user.home}/.Xauthority")
+    machine.succeed("xauth merge ${user.home}/.Xauthority")
+    machine.send_key("alt-ctrl-x")
+    machine.wait_for_window("${user.name}.*machine")
+    machine.sleep(1)
+    machine.screenshot("terminal")
+    machine.wait_until_succeeds("xmonad --restart")
+    machine.sleep(3)
+    machine.send_key("alt-shift-ret")
+    machine.wait_for_window("${user.name}.*machine")
+    machine.sleep(1)
+    machine.screenshot("terminal")
   '';
 })
diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix
index 196a04aca30..1518aaacc8a 100644
--- a/nixos/tests/xmpp/ejabberd.nix
+++ b/nixos/tests/xmpp/ejabberd.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ... }: {
+import ../make-test-python.nix ({ pkgs, ... }: {
   name = "ejabberd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ajs124 ];
@@ -248,13 +248,21 @@ import ../make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = { nodes, ... }: ''
-    $server->waitForUnit('ejabberd.service');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/;
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2');
-    $server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain');
-    $client->succeed('send-message');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com');
+    ejabberd_prefix = "su ejabberd -s $(which ejabberdctl) "
+
+    server.wait_for_unit("ejabberd.service")
+
+    assert "status: started" in server.succeed(ejabberd_prefix + "status")
+
+    server.succeed(
+        ejabberd_prefix + "register azurediamond example.com hunter2",
+        ejabberd_prefix + "register cthon98 example.com nothunter2",
+    )
+    server.fail(ejabberd_prefix + "register asdf wrong.domain")
+    client.succeed("send-message")
+    server.succeed(
+        ejabberd_prefix + "unregister cthon98 example.com",
+        ejabberd_prefix + "unregister azurediamond example.com",
+    )
   '';
 })
diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix
index 62b4a17421e..0507227021b 100644
--- a/nixos/tests/xmpp/prosody-mysql.nix
+++ b/nixos/tests/xmpp/prosody-mysql.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix {
+import ../make-test-python.nix {
   name = "prosody-mysql";
 
   nodes = {
@@ -57,21 +57,21 @@ import ../make-test.nix {
   };
 
   testScript = { nodes, ... }: ''
-    $mysql->waitForUnit('mysql.service');
-    $server->waitForUnit('prosody.service');
-    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+    mysql.wait_for_unit("mysql.service")
+    server.wait_for_unit("prosody.service")
+    server.succeed('prosodyctl status | grep "Prosody is running"')
 
     # set password to 'nothunter2' (it's asked twice)
-    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com")
     # set password to 'y'
-    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
+    server.succeed("yes | prosodyctl adduser azurediamond@example.com")
     # correct password to 'hunter2'
-    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+    server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com")
 
-    $client->succeed("send-message");
+    client.succeed("send-message")
 
-    $server->succeed('prosodyctl deluser cthon98@example.com');
-    $server->succeed('prosodyctl deluser azurediamond@example.com');
+    server.succeed("prosodyctl deluser cthon98@example.com")
+    server.succeed("prosodyctl deluser azurediamond@example.com")
   '';
 }
 
diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix
index 8331c7b6d33..9d1374bff6b 100644
--- a/nixos/tests/xmpp/prosody.nix
+++ b/nixos/tests/xmpp/prosody.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix {
+import ../make-test-python.nix {
   name = "prosody";
 
   nodes = {
@@ -28,19 +28,19 @@ import ../make-test.nix {
   };
 
   testScript = { nodes, ... }: ''
-    $server->waitForUnit('prosody.service');
-    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+    server.wait_for_unit("prosody.service")
+    server.succeed('prosodyctl status | grep "Prosody is running"')
 
     # set password to 'nothunter2' (it's asked twice)
-    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com")
     # set password to 'y'
-    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
-    # correct password to 'hunter2'
-    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+    server.succeed("yes | prosodyctl adduser azurediamond@example.com")
+    # correct password to "hunter2"
+    server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com")
 
-    $client->succeed("send-message");
+    client.succeed("send-message")
 
-    $server->succeed('prosodyctl deluser cthon98@example.com');
-    $server->succeed('prosodyctl deluser azurediamond@example.com');
+    server.succeed("prosodyctl deluser cthon98@example.com")
+    server.succeed("prosodyctl deluser azurediamond@example.com")
   '';
 }
diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix
index 0106aefe831..1aceeffb955 100644
--- a/nixos/tests/xrdp.nix
+++ b/nixos/tests/xrdp.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xrdp";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ volth ];
@@ -21,25 +21,27 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
   };
 
-  testScript = { ... }: ''
-    startAll;
+  testScript = { nodes, ... }: let
+    user = nodes.client.config.users.users.alice;
+  in ''
+    start_all()
 
-    $client->waitForX;
-    $client->waitForFile("/home/alice/.Xauthority");
-    $client->succeed("xauth merge ~alice/.Xauthority");
+    client.wait_for_x()
+    client.wait_for_file("${user.home}/.Xauthority")
+    client.succeed("xauth merge ${user.home}/.Xauthority")
 
-    $client->sleep(5);
+    client.sleep(5)
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("localrdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("localrdp")
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("remoterdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("remoterdp")
   '';
 })
diff --git a/nixos/tests/xss-lock.nix b/nixos/tests/xss-lock.nix
index 0d757e8cef3..3a7dea07d53 100644
--- a/nixos/tests/xss-lock.nix
+++ b/nixos/tests/xss-lock.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -26,15 +26,19 @@ with lib;
   };
 
   testScript = ''
-    startAll;
-
-    ${concatStringsSep "\n" (mapAttrsToList (name: lockCmd: ''
-      ${"$"+name}->start;
-      ${"$"+name}->waitForX;
-      ${"$"+name}->waitForUnit("xss-lock.service", "alice");
-      ${"$"+name}->fail("pgrep ${lockCmd}");
-      ${"$"+name}->succeed("su -l alice -c 'xset dpms force standby'");
-      ${"$"+name}->waitUntilSucceeds("pgrep ${lockCmd}");
-    '') { simple = "i3lock"; custom_lockcmd = "xlock"; })}
+    def perform_xsslock_test(machine, lockCmd):
+        machine.start()
+        machine.wait_for_x()
+        machine.wait_for_unit("xss-lock.service", "alice")
+        machine.fail(f"pgrep {lockCmd}")
+        machine.succeed("su -l alice -c 'xset dpms force standby'")
+        machine.wait_until_succeeds(f"pgrep {lockCmd}")
+
+
+    with subtest("simple"):
+        perform_xsslock_test(simple, "i3lock")
+
+    with subtest("custom_cmd"):
+        perform_xsslock_test(custom_lockcmd, "xlock")
   '';
 })
diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix
index bbc0cf4c7dd..9108004d4df 100644
--- a/nixos/tests/yabar.nix
+++ b/nixos/tests/yabar.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -20,14 +20,14 @@ with lib;
   };
 
   testScript = ''
-    $machine->start;
-    $machine->waitForX;
+    machine.start()
+    machine.wait_for_x()
 
     # confirm proper startup
-    $machine->waitForUnit("yabar.service", "bob");
-    $machine->sleep(10);
-    $machine->waitForUnit("yabar.service", "bob");
+    machine.wait_for_unit("yabar.service", "bob")
+    machine.sleep(10)
+    machine.wait_for_unit("yabar.service", "bob")
 
-    $machine->screenshot("top_bar");
+    machine.screenshot("top_bar")
   '';
 })
diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix
index ddff35cce3a..468fcf67127 100644
--- a/nixos/tests/yggdrasil.nix
+++ b/nixos/tests/yggdrasil.nix
@@ -19,7 +19,7 @@ let
     SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
   };
 
-in import ./make-test.nix ({ pkgs, ...} : {
+in import ./make-test-python.nix ({ pkgs, ...} : {
   name = "yggdrasil";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gazally ];
@@ -81,7 +81,7 @@ in import ./make-test.nix ({ pkgs, ...} : {
           denyDhcpcdInterfaces = [ "ygg0" ];
           config = {
             IfTAPMode = true;
-            IFName = "ygg0";
+            IfName = "ygg0";
             MulticastInterfaces = [ "eth1" ];
             LinkLocalTCPPort = 43210;
           };
@@ -91,33 +91,35 @@ in import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
+      import re
+
       # Give Alice a head start so she is ready when Bob calls.
-      $alice->start;
-      $alice->waitForUnit("yggdrasil.service");
+      alice.start()
+      alice.wait_for_unit("yggdrasil.service")
 
-      $bob->start;
-      $carol->start;
-      $bob->waitForUnit("yggdrasil.service");
-      $carol->waitForUnit("yggdrasil.service");
+      bob.start()
+      carol.start()
+      bob.wait_for_unit("yggdrasil.service")
+      carol.wait_for_unit("yggdrasil.service")
 
-      $carol->waitUntilSucceeds("[ `ip -o -6 addr show dev ygg0 scope global | grep -v tentative | wc -l` -ge 1 ]");
-      my $carolIp6 = (split /[ \/]+/, $carol->succeed("ip -o -6 addr show dev ygg0 scope global"))[3];
+      ip_addr_show = "ip -o -6 addr show dev ygg0 scope global"
+      carol.wait_until_succeeds(f"[ `{ip_addr_show} | grep -v tentative | wc -l` -ge 1 ]")
+      carol_ip6 = re.split(" +|/", carol.succeed(ip_addr_show))[3]
 
       # If Alice can talk to Carol, then Bob's outbound peering and Carol's
       # local peering have succeeded and everybody is connected.
-      $alice->waitUntilSucceeds("ping -c 1 $carolIp6");
-      $alice->succeed("ping -c 1 ${bobIp6}");
-
-      $bob->succeed("ping -c 1 ${aliceIp6}");
-      $bob->succeed("ping -c 1 $carolIp6");
+      alice.wait_until_succeeds(f"ping -c 1 {carol_ip6}")
+      alice.succeed(f"ping -c 1 ${bobIp6}")
 
-      $carol->succeed("ping -c 1 ${aliceIp6}");
-      $carol->succeed("ping -c 1 ${bobIp6}");
+      bob.succeed("ping -c 1 ${aliceIp6}")
+      bob.succeed(f"ping -c 1 {carol_ip6}")
 
-      $carol->fail("journalctl -u dhcpcd | grep ygg0");
+      carol.succeed("ping -c 1 ${aliceIp6}")
+      carol.succeed("ping -c 1 ${bobIp6}")
 
-      $alice->waitForUnit("httpd.service");
-      $carol->succeed("curl --fail -g http://[${aliceIp6}]");
+      carol.fail("journalctl -u dhcpcd | grep ygg0")
 
+      alice.wait_for_unit("httpd.service")
+      carol.succeed("curl --fail -g http://[${aliceIp6}]")
     '';
 })
diff --git a/nixos/tests/zookeeper.nix b/nixos/tests/zookeeper.nix
index f343ebd39e4..42cf20b39c5 100644
--- a/nixos/tests/zookeeper.nix
+++ b/nixos/tests/zookeeper.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "zookeeper";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -15,14 +15,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("zookeeper");
-    $server->waitForUnit("network.target");
-    $server->waitForOpenPort(2181);
+    server.wait_for_unit("zookeeper")
+    server.wait_for_unit("network.target")
+    server.wait_for_open_port(2181)
 
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar");
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello");
-    $server->waitUntilSucceeds("${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello");
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar"
+    )
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello"
+    )
+    server.wait_until_succeeds(
+        "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello"
+    )
   '';
 })
diff --git a/nixos/tests/zsh-history.nix b/nixos/tests/zsh-history.nix
new file mode 100644
index 00000000000..4380ec9adfd
--- /dev/null
+++ b/nixos/tests/zsh-history.nix
@@ -0,0 +1,35 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "zsh-history";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ kampka ];
+  };
+
+  nodes.default = { ... }: {
+    programs = {
+      zsh.enable = true;
+    };
+    environment.systemPackages = [ pkgs.zsh-history ];
+    programs.zsh.interactiveShellInit = ''
+      source ${pkgs.zsh-history.out}/share/zsh/init.zsh
+    '';
+    users.users.root.shell = "${pkgs.zsh}/bin/zsh";
+  };
+
+  testScript = ''
+    start_all()
+    default.wait_for_unit("multi-user.target")
+    default.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+
+    # Login
+    default.wait_until_tty_matches(1, "login: ")
+    default.send_chars("root\n")
+    default.wait_until_tty_matches(1, "root@default>")
+
+    # Generate some history
+    default.send_chars("echo foobar\n")
+    default.wait_until_tty_matches(1, "foobar")
+
+    # Ensure that command was recorded in history
+    default.succeed("/run/current-system/sw/bin/history list | grep -q foobar")
+  '';
+})
diff --git a/pkgs/applications/audio/MMA/default.nix b/pkgs/applications/audio/MMA/default.nix
index 92f46abddd5..42f8af99e6f 100644
--- a/pkgs/applications/audio/MMA/default.nix
+++ b/pkgs/applications/audio/MMA/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, python3, alsaUtils, timidity }:
 
   stdenv.mkDerivation rec {
-  version = "16.06";
+  version = "19.08";
   pname = "mma";
 
   src = fetchurl {
     url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
-    sha256 = "1g4gvc0nr0qjc0fyqrnx037zpaasgymgmrm5s7cdxqnld9wqw8ww";
+    sha256 = "02g2q9f1hbrj1v4mbf7zx2571vqpfla5803hcjpkdkvn8g0dwci0";
   };
 
   buildInputs = [ makeWrapper python3 alsaUtils timidity ];
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index c72815d5ca2..cd951701e77 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -33,6 +33,8 @@ mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
+    homepage = "https://amarok.kde.org";
+    description = "A powerful music player with an intuitive interface";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix
index 0750c38550b..34f5667bfca 100644
--- a/pkgs/applications/audio/ams-lv2/default.nix
+++ b/pkgs/applications/audio/ams-lv2/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation  rec {
 
   meta = with stdenv.lib; {
     description = "An LV2 port of the internal modules found in Alsa Modular Synth";
-    homepage = http://objectivewave.wordpress.com/ams-lv2;
+    homepage = "https://github.com/blablack/ams-lv2";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 6be40a7b93a..2fd3e5c27fe 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2,
+{ stdenv, fetchzip, wxGTK30, pkgconfig, file, gettext,
   libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
   expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
   autoconf, automake, libtool
@@ -7,12 +7,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.3.2";
+  version = "2.3.3";
   pname = "audacity";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
-    sha256 = "0cf7fr1qhyyylj8g9ax1rq5sb887bcv5b8d7hwlcfwamzxqpliyc";
+    sha256 = "0ddc03dbm4ixy877czmwd03fpjgr3y68bxfgb6n2q6cv4prp30ig";
   };
 
   preConfigure = /* we prefer system-wide libs */ ''
@@ -43,12 +43,11 @@ stdenv.mkDerivation rec {
     "-lswscale"
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
   buildInputs = [
     file gettext wxGTK30 expat alsaLib
-    libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2
+    libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil wxGTK30.gtk
     ffmpeg libmad lame libvorbis flac soundtouch
-    autoconf automake libtool # for the preConfigure phase
   ]; #ToDo: detach sbsms
 
   enableParallelBuilding = true;
@@ -60,7 +59,7 @@ stdenv.mkDerivation rec {
     description = "Sound editor with graphical UI";
     homepage = http://audacityteam.org/;
     license = licenses.gpl2Plus;
-    platforms = with platforms; linux;
+    platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
     maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/audio/avldrums-lv2/default.nix b/pkgs/applications/audio/avldrums-lv2/default.nix
index 7ca5d83b48b..eeb0f67d193 100644
--- a/pkgs/applications/audio/avldrums-lv2/default.nix
+++ b/pkgs/applications/audio/avldrums-lv2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "avldrums.lv2";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00n2varc7iwp0xbfi45hpq4vlpxxb2kbrdzvrc20qp2265994bqf";
+    sha256 = "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 3e9a2d380e2..dd59ac5080f 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -3,11 +3,11 @@
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.0.1";
+  version = "3.0.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "0k25p1j4kgnhm7p90qp1cz79xddgi6nh1nx1y5wz42x8qrpxya0s";
+    sha256 = "162l95imq2fb4blfkianlkymm690by9ri73xf9zigknqf0gacgsa";
   };
 
   runtimeDependencies = [
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index e4ac2fbbcdc..b91554f5716 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSEQuencer";
-  version = "0.4";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0c3bm2z6z2bjjv1cy50383zr81h99rcb2frmxad0r7lhi27mjyqn";
+    rev = "${version}";
+    sha256 = "08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bshapr/default.nix b/pkgs/applications/audio/bshapr/default.nix
index 1d49ca1fa4f..732a8cf1ce2 100644
--- a/pkgs/applications/audio/bshapr/default.nix
+++ b/pkgs/applications/audio/bshapr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BShapr";
-  version = "0.4";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02b4wdfhr9y7z2k6ls086gv3vz4sjf7b1k8ryh573bzd8nr4896v";
+    sha256 = "0mi8f0svq1h9cmmxyskcazr5x2q4dls3j9jc6ahi5rlk7i0bpa74";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 8fbac6daf46..3273d7de68c 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "1xqhpppfj47nzmyksbqgfvvi5j807g96hqla544w2f752zz4yi0s";
+    sha256 = "0q92ygz17iiriwzqylmaxd5ml2bhqy3n6c3f7g71n4hn9z3bl3s1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix
index 87efa6fb6b6..cd1d837e1dd 100644
--- a/pkgs/applications/audio/cadence/default.nix
+++ b/pkgs/applications/audio/cadence/default.nix
@@ -1,4 +1,6 @@
 { stdenv
+, mkDerivation
+, lib
 , fetchzip
 , pkgconfig
 , qtbase
@@ -6,74 +8,65 @@
 , python3Packages
 }:
 
- stdenv.mkDerivation rec {
-  version = "0.9.0";
+ mkDerivation rec {
+  version = "0.9.1";
   pname = "cadence";
 
   src = fetchzip {
     url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz";
-    sha256 = "08vcggypkdfr70v49innahs5s11hi222dhhnm5wcqzdgksphqzwx";
+    sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20";
   };
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
-  buildInputs = [ qtbase ];
+  nativeBuildInputs = [
+    pkgconfig
+  ];
 
-  makeFlags = ''
-    PREFIX=""
-    DESTDIR=$(out)
-  '';
+  buildInputs = [
+    qtbase
+  ];
 
-  propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit ];
+  makeFlags = [
+    "PREFIX=''"
+    "DESTDIR=${placeholder "out"}"
+  ];
 
-  postInstall = ''
-    # replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise
-    rm $out/bin/cadence
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence.py"
-    rm $out/bin/claudia
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/claudia.py"
-    rm $out/bin/catarina
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/catarina \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/catarina.py"
-    rm $out/bin/catia
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/catia \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/catia.py"
-    rm $out/bin/cadence-jacksettings
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-jacksettings \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/jacksettings.py"
-    rm $out/bin/cadence-aloop-daemon
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-aloop-daemon \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence_aloop_daemon.py"
-    rm $out/bin/cadence-logs
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-logs \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/logs.py"
-    rm $out/bin/cadence-render
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-render \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/render.py"
-    rm $out/bin/claudia-launcher
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia-launcher \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/claudia_launcher.py"
-    rm $out/bin/cadence-session-start
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-session-start \
-      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-      --add-flags "-O $out/share/cadence/src/cadence_session_start.py"
-  '';
+  propagatedBuildInputs = with python3Packages; [
+    pyqt5_with_qtwebkit
+  ];
+
+  dontWrapQtApps = true;
+
+  # Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise.
+  preFixup = let
+    outRef = placeholder "out";
+    prefix = "${outRef}/share/cadence/src";
+    scriptAndSource = lib.mapAttrs' (script: source:
+      lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
+    ) {
+      "cadence" = "cadence.py";
+      "claudia" = "claudia.py";
+      "catarina" = "catarina.py";
+      "catia" = "catia.py";
+      "cadence-jacksettings" = "jacksettings.py";
+      "cadence-aloop-daemon" = "cadence_aloop_daemon.py";
+      "cadence-logs" = "logs.py";
+      "cadence-render" = "render.py";
+      "claudia-launcher" = "claudia_launcher.py";
+      "cadence-session-start" = "cadence_session_start.py";
+    };
+  in lib.mapAttrsToList (script: source: ''
+    rm -f ${script}
+    makeWrapper ${python3Packages.python.interpreter} ${script} \
+      --set PYTHONPATH "$PYTHONPATH:${outRef}/share/cadence" \
+      ''${qtWrapperArgs[@]} \
+      --add-flags "-O ${source}"
+  '') scriptAndSource;
 
   meta = {
     homepage = https://github.com/falkTX/Cadence/;
     description = "Collection of tools useful for audio production";
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ genesis ];
+    maintainers = with stdenv.lib.maintainers; [ genesis worldofpeace ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index bdbf6a45a6d..876889416da 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -80,7 +80,7 @@ in mkDerivation {
     homepage    = https://github.com/cdrummond/cantata;
     description = "A graphical client for MPD";
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg ];
     # Technically Cantata can run on Windows so if someone wants to
     # bother figuring that one out, be my guest.
     platforms   = platforms.linux;
diff --git a/pkgs/applications/audio/denemo/default.nix b/pkgs/applications/audio/denemo/default.nix
index 331e3fb9698..f3adec4fece 100644
--- a/pkgs/applications/audio/denemo/default.nix
+++ b/pkgs/applications/audio/denemo/default.nix
@@ -2,7 +2,7 @@
 , libjack2, gettext, intltool, guile_2_0, lilypond
 , glib, libxml2, librsvg, libsndfile, aubio
 , gtk3, gtksourceview, evince, fluidsynth, rubberband
-, portaudio, portmidi, fftw, makeWrapper }:
+, portaudio, portmidi, fftw, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "denemo";
@@ -14,17 +14,21 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libjack2 gettext guile_2_0 lilypond pkgconfig glib libxml2 librsvg libsndfile
+    libjack2 guile_2_0 lilypond glib libxml2 librsvg libsndfile
     aubio gtk3 gtksourceview evince fluidsynth rubberband portaudio fftw portmidi
-    makeWrapper
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/denemo --prefix PATH : ${lilypond}/bin
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${lilypond}/bin"
+    )
   '';
 
   nativeBuildInputs = [
+    wrapGAppsHook
     intltool
+    gettext
+    pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 604fe4c4ab7..b926ff09d22 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
+{ mkDerivation, lib, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "drumkv1";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
-    sha256 = "0h08r6vq23dlnag67fcfcpx83wampx4fag82v4bgkqg2sdh64p3n";
+    sha256 = "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An old-school drum-kit sampler synthesizer with stereo fx";
     homepage = http://drumkv1.sourceforge.net/;
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index c6fb7c67d58..4c2b97e727f 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
     description = "View and edit tags for various audio files";
     homepage = https://wiki.gnome.org/Apps/EasyTAG;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/ensemble-chorus/default.nix b/pkgs/applications/audio/ensemble-chorus/default.nix
new file mode 100644
index 00000000000..5940203d04d
--- /dev/null
+++ b/pkgs/applications/audio/ensemble-chorus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, fltk, alsaLib, freetype, libXrandr, libXinerama, libXcursor, lv2, libjack2, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "ensemble-chorus";
+  version = "unstable-15-02-2019";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = pname;
+    rev = "59baeb86b8851f521bc8162e22e3f15061662cc3";
+    sha256 = "0c1y10vyhrihcjvxqpqf6b52yk5yhwh813cfp6nla5ax2w88dbhr";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [
+    fltk alsaLib freetype libXrandr libXinerama libXcursor lv2 libjack2
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jpcima/ensemble-chorus;
+    description = "Digital model of electronic string ensemble chorus";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.boost;
+  };
+}
diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix
index 043d5b9d2d3..32cec811d00 100644
--- a/pkgs/applications/audio/espeak-ng/default.nix
+++ b/pkgs/applications/audio/espeak-ng/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "espeak-ng";
-  version = "1.49.2";
+  version = "1.50";
 
   src = fetchFromGitHub {
     owner = "espeak-ng";
     repo = "espeak-ng";
     rev = version;
-    sha256 = "17bbl3zi8214iaaj8kjnancjvmvizwybg3sg17qjq4mf5c6xfg2c";
+    sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
   };
 
   nativeBuildInputs = [ autoconf automake which libtool pkgconfig ronn ];
diff --git a/pkgs/applications/audio/fmsynth/default.nix b/pkgs/applications/audio/fmsynth/default.nix
index 5e95d717968..248967e06e6 100644
--- a/pkgs/applications/audio/fmsynth/default.nix
+++ b/pkgs/applications/audio/fmsynth/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   buildPhase = ''
     cd lv2
     substituteInPlace GNUmakefile --replace "/usr/lib/lv2" "$out/lib/lv2"
-    make
+    make  SIMD=0
   '';
 
   preInstall = "mkdir -p $out/lib/lv2";
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
new file mode 100644
index 00000000000..8907011c16f
--- /dev/null
+++ b/pkgs/applications/audio/giada/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook,
+  fltk, jansson, rtmidi, libsamplerate, libsndfile,
+  jack2, alsaLib, libpulseaudio,
+  libXpm, libXinerama, libXcursor }:
+
+stdenv.mkDerivation rec {
+  pname = "giada";
+  version = "0.16.0";
+
+  src = fetchFromGitHub {
+    owner = "monocasual";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lbxqa4kwzjdd79whrjgh8li453z4ckkjx4s4qzmrv7aqa2xmfsf";
+  };
+
+  configureFlags = [ "--target=linux" ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  buildInputs = [
+    fltk
+    libsndfile
+    libsamplerate
+    jansson
+    rtmidi
+    libXpm
+    jack2
+    alsaLib
+    libpulseaudio
+    libXinerama
+    libXcursor
+  ];
+
+  meta = with lib; {
+    description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians";
+    homepage = "https://giadamusic.com/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ petabyteboy ];
+    platforms = platforms.all;
+    broken = stdenv.hostPlatform.isAarch64; # produces build failure on aarch64-linux
+  };
+}
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index eeafdc80344..7a44ebe6769 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -1,45 +1,74 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext, cargo, rustc, python3, pkgconfig, gnome3
-, glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }:
+{ stdenv
+, rustPlatform
+, fetchFromGitLab
+, fetchpatch
+, meson
+, ninja
+, gettext
+, cargo
+, rustc
+, python3
+, pkgconfig
+, gnome3
+, glib
+, libhandy
+, gtk3
+, dbus
+, openssl
+, sqlite
+, gst_all_1
+, wrapGAppsHook
+}:
 
-# TODO: build from git for easier updates
-# rustPlatform.buildRustPackage rec {
-stdenv.mkDerivation {
-  version = "0.4.6";
+rustPlatform.buildRustPackage rec {
+  version = "0.4.7";
   pname = "gnome-podcasts";
 
-  src = fetchurl {
-    url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz;
-    sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "podcasts";
+    rev = version;
+    sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0";
   };
 
-  patches = [
-    # podcasts-data would fail to build because it errors on warnings
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/World/podcasts/commit/7dc1b25ee7fc59a188312d31b1fa00c3110ae63e.patch";
-      sha256 = "03ibbh1snk1391vnni529agqs14lzg5g0axjgpf3gn8dwwh1yvd5";
-    })
-  ];
-
-  # src = fetchFromGitLab {
-  #   domain = "gitlab.gnome.org";
-  #   owner = "World";
-  #   repo = "podcasts";
-  #   rev = version;
-  #   sha256 = "15xj98dhxvys0cnya9488qsfsm0ys1wy69wkc39z8j6hwdm7byq2";
-  # };
+  cargoSha256 = "1h0n8zclb8a1b1ri83viiwwzlj3anm38m4cp38aqyf6q40qga35q";
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook
+    meson
+    ninja
+    pkgconfig
+    gettext
+    cargo
+    rustc
+    python3
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad
+    glib
+    gtk3
+    libhandy
+    dbus
+    openssl
+    sqlite
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
   ];
 
-  # cargoSha256 = "0721b5f700vvvzvmdl8nfjaa6j412q1fjssgrjv8n6rmn9z13d2v";
+  # use Meson/Ninja phases
+  configurePhase = null;
+  buildPhase = null;
+  checkPhase = null;
+  installPhase = null;
+
+  # tests require network
+  doCheck = false;
 
   postPatch = ''
     chmod +x scripts/compile-gschema.py # patchShebangs requires executable file
-    patchShebangs scripts/compile-gschema.py
+    patchShebangs scripts/compile-gschema.py scripts/cargo.sh scripts/test.sh
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 246cba590f4..b972aae7de8 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python3, python3Packages, intltool
 , glibcLocales, gnome3, gtk3, wrapGAppsHook
-, ipodSupport ? false, libgpod, gobject-introspection
+, gobject-introspection
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec {
     podcastparser
     html5lib
     gtk3
-  ] ++ stdenv.lib.optional ipodSupport libgpod;
+  ];
 
   makeFlags = [
     "PREFIX=$(out)"
diff --git a/pkgs/applications/audio/gxmatcheq-lv2/default.nix b/pkgs/applications/audio/gxmatcheq-lv2/default.nix
new file mode 100644
index 00000000000..1d5579d74c0
--- /dev/null
+++ b/pkgs/applications/audio/gxmatcheq-lv2/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "GxMatchEQ.lv2";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "brummer10";
+    repo = pname;
+    rev = "V${version}";
+    sha256 = "0azdmgzqwjn26nx38iw13666a1i4y2bv39wk89pf6ihdi46klf72";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 xorgproto cairo lv2
+  ];
+
+  # error: format not a string literal and no format arguments [-Werror=format-security]
+  hardeningDisable = [ "format" ];
+
+  installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/brummer10/GxMatchEQ.lv2;
+    description = "Matching Equalizer to apply EQ curve from one source to another source";
+    maintainers = [ maintainers.magnetophon ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 64de722afe9..428490e119a 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -1,5 +1,5 @@
-  { stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
-  , lv2, pkgconfig, libGLU_combined }:
+{ stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
+, lv2, pkgconfig, libGLU, libGL }:
 
   stdenv.mkDerivation {
   version = "0.9.0";
@@ -15,7 +15,7 @@
   buildInputs = [
     xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
     xorg.libXinerama xorg.libXrender xorg.libXrandr
-    freetype alsaLib curl libjack2 pkgconfig libGLU_combined lv2
+    freetype alsaLib curl libjack2 pkgconfig libGLU libGL lv2
   ];
 
   CXXFLAGS = "-DHAVE_LROUND";
diff --git a/pkgs/applications/audio/i-score/default.nix b/pkgs/applications/audio/i-score/default.nix
index 2cc39e64943..f3928499413 100644
--- a/pkgs/applications/audio/i-score/default.nix
+++ b/pkgs/applications/audio/i-score/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
+    export CMAKE_PREFIX_PATH="''${CMAKE_PREFIX_PATH-}:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
   '';
 
   postInstall = ''rm $out/bin/i-score.sh'';
diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix
index d31bc981e0c..5bad5453504 100644
--- a/pkgs/applications/audio/jack-oscrolloscope/default.nix
+++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libjack2, libGLU_combined, pkgconfig }:
+{ stdenv, fetchurl, SDL, libjack2, libGLU, libGL, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "jack_oscrolloscope";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libjack2 libGLU_combined ];
+  buildInputs = [ SDL libjack2 libGLU libGL ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index d22065eb9fe..99503fc3942 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, alsaLib ? null, fftwFloat, fltk13
 , fluidsynth_1 ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null
 , libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null
-, qtbase, qtx11extras, qttools, SDL ? null }:
+, qtbase, qtx11extras, qttools, SDL ? null, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lmms";
   version = "1.2.0-rc7";
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "DAW similar to FL Studio (music production software)";
     homepage = https://lmms.io;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ goibhniu yegortimoshenko ];
   };
 }
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 8bdf45a968a..2d2062696d7 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.2.5";
+  version = "1.2.16";
 
   format = "other";
   doCheck = false;
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "148p3ab7nnfz13hgjkx1cf2ahq9mgl72csrl35xy6d0nkfqbfr8r";
+    sha256 = "0rl4a5npjh5sm3kih11cs2j7ik894nlygllbw4j5pn9n9v66x51w";
   };
 
   nativeBuildInputs = [
@@ -79,15 +79,15 @@ python3.pkgs.buildPythonApplication rec  {
   # argument
   dontWrapGApps = true;
 
-  makeWrapperArgs = [
-    "\${gappsWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 
   meta = with lib; {
+    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     description = "A modern music player for GNOME";
     homepage = https://wiki.gnome.org/Apps/Lollypop;
     license = licenses.gpl3Plus;
-    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix
index 47d8f165ad0..d5d893891ff 100644
--- a/pkgs/applications/audio/lsp-plugins/default.nix
+++ b/pkgs/applications/audio/lsp-plugins/default.nix
@@ -1,40 +1,28 @@
 { stdenv, fetchFromGitHub, pkgconfig, makeWrapper
 , libsndfile, jack2Full
 , libGLU, libGL, lv2, cairo
-, ladspaH, php, expat }:
+, ladspaH, php }:
 
 stdenv.mkDerivation rec {
   pname = "lsp-plugins";
-  version = "1.1.10";
+  version = "1.1.13";
 
   src = fetchFromGitHub {
     owner = "sadko4u";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "09gmwzh1gq1q2lxn8fc1bpdh02h8vr7r0i040c1nx256wgfsarqb";
+    sha256 = "00mhrr873kgcnqy3q0yi1r5zacfcvz7fqpzsmfhw5d095jm970al";
   };
 
-  nativeBuildInputs = [ pkgconfig php expat ];
-  buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH makeWrapper ];
+  nativeBuildInputs = [ pkgconfig php makeWrapper ];
+  buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ];
 
   makeFlags = [
-    "BIN_PATH=$(out)/bin"
-    "LIB_PATH=$(out)/lib"
-    "DOC_PATH=$(out)/share/doc"
+    "PREFIX=${placeholder ''out''}"
   ];
 
   NIX_CFLAGS_COMPILE = [ "-DLSP_NO_EXPERIMENTAL" ];
 
-  patchPhase = ''
-    runHook prePatch
-    substituteInPlace Makefile --replace "/usr/lib" "$out/lib"
-    substituteInPlace ./include/container/jack/main.h --replace "/usr/lib" "$out/lib"
-    substituteInPlace ./include/container/vst/main.h --replace "/usr/lib" "$out/lib"
-    # for https://github.com/sadko4u/lsp-plugins/issues/7#issuecomment-426561549 :
-    sed -i '/X11__NET_WM_WINDOW_TYPE_DOCK;/d' ./src/ui/ws/x11/X11Window.cpp
-    runHook postPatch
-  '';
-
   doCheck = true;
 
   checkPhase = ''
@@ -45,7 +33,7 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  buildFlags = "release";
+  buildFlags = [ "release" ];
 
   meta = with stdenv.lib;
     { description = "Collection of open-source audio plugins";
@@ -154,6 +142,6 @@ stdenv.mkDerivation rec {
       homepage = https://lsp-plug.in;
       maintainers = with maintainers; [ magnetophon ];
       license = licenses.gpl2;
-      platforms = [ "x86_64-linux" ];
+      platforms = platforms.linux;
     };
 }
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix
index 901be5a23d0..61f2bc33f7f 100644
--- a/pkgs/applications/audio/mda-lv2/default.nix
+++ b/pkgs/applications/audio/mda-lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mda-lv2";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
+    sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix
index a2368017cc1..12383dcbbda 100644
--- a/pkgs/applications/audio/meters_lv2/default.nix
+++ b/pkgs/applications/audio/meters_lv2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }:
+, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
 
 let
   version = "0.9.10";
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   inherit name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ];
+  buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
 
   srcs = [ src robtkSrc ];
   sourceRoot = name;
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 5cf9b1b8ab7..82db91dcb07 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = "release-${version}";
-    sha256 = "0dmkvcsgq7abxqd4wms8c4w0mr5c53z7n5r8jgzp4swz9nmfjpfg";
+    sha256 = "1h7q25fv62c5m74d4cn1m6mpanmqpbl2wqbch4qvn488jb2jw1dv";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 22cef5414f8..88cdde2ceb2 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.41.1";
+  version = "3.43.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1bdcxsvb756rchyp9cj1y5x1w0w6p2hp7grgar5c4cyh3kshc2kj";
+    sha256 = "1qg9xyjf27dp0810h4kdliyfb8r3kvi37lq8r93d01xwfphdzs05";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index b13e1cc037a..1e8d73ce560 100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mpd_clientlib }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "mpc";
-  version = "0.28";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "mpc";
     rev    = "v${version}";
-    sha256 = "1g8i4q5xsqdhidyjpvj6hzbhxacv27cb47ndv9k68whd80c5f9n9";
+    sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
   };
 
-  buildInputs = [ mpd_clientlib ];
+  buildInputs = [ mpd_clientlib ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ meson ninja pkgconfig sphinx ];
 
   meta = with stdenv.lib; {
     description = "A minimalist command line interface to MPD";
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 0d5445650a0..6c4b9a43176 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.25.12";
+  name = "mpg123-1.25.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
-    sha256 = "1l9iwwgqzw6yg5zk9pqmlbfyq6d8dqysbmj0j3m8dyrxd34wgzhz";
+    sha256 = "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
index 65dfe3484b6..fdefcf7e77d 100644
--- a/pkgs/applications/audio/mpg321/default.nix
+++ b/pkgs/applications/audio/mpg321/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libao, libmad, libid3tag, zlib, alsaLib
+{stdenv, fetchurl, fetchpatch, libao, libmad, libid3tag, zlib, alsaLib
 # Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
 # If null, it will use the libao system default.
 , defaultAudio ? null
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-7263.patch";
+      url = "https://sources.debian.org/data/main/m/mpg321/0.3.2-3/debian/patches/handle_illegal_bitrate_value.patch";
+      sha256 = "15simp5fjvm9b024ryfh441rkh2d5bcrizqkzlrh07n9sm7fkw6x";
+    })
+  ];
+
   hardeningDisable = [ "format" ];
 
   configureFlags =
diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix
index 02b1d8ea511..372c8faf773 100644
--- a/pkgs/applications/audio/muse/default.nix
+++ b/pkgs/applications/audio/muse/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   version = "3.1pre1";
 
   meta = with stdenv.lib; {
-    homepage = http://www.muse-sequencer.org;
+    homepage = "https://www.muse-sequencer.org/";
     description = "MIDI/Audio sequencer with recording and editing capabilities";
     longDescription = ''
       MusE is a MIDI/Audio sequencer with recording and editing capabilities
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 4fa9626332b..58eb5462ef8 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,25 +1,32 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses
-, mpd_clientlib, gettext, boost }:
+, mpd_clientlib, gettext, boost
+, pcreSupport ? false
+, pcre ? null
+}:
+
+with stdenv.lib;
+
+assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
-  version = "0.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "0hhc5snxy5fbg47ynz4b7fkmzdy974zxqr0cqc6kh15yvbr25ikh";
+    sha256 = "1ssmk1p43gjhcqi86sh6b7csqpwwpf3hs32cmnylv6pmbcwbs69h";
   };
 
-  buildInputs = [ glib ncurses mpd_clientlib boost ];
+  buildInputs = [ glib ncurses mpd_clientlib boost ]
+    ++ optional pcreSupport pcre;
   nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
   mesonFlags = [
     "-Dlirc=disabled"
-    "-Dregex=disabled"
     "-Ddocumentation=disabled"
-  ];
+  ] ++ optional (!pcreSupport) "-Dregex=disabled";
 
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 63ae9278c5d..136f6fc1427 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -11,17 +11,17 @@ let
     ++ lib.optional withPortAudio "portaudio_backend";
 in
 rustPlatform.buildRustPackage rec {
-  pname = "ncspot-unstable";
-  version = "2019-10-12";
+  pname = "ncspot";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
-    rev = "4defded54646958268a20787917e4721ae96407d";
-    sha256 = "1w3cmilwjzk3pfnq97qgz6hzxgjgi27dm8jq7maw87qyl3v17gyg";
+    rev = "v${version}";
+    sha256 = "0ldisr45w6ys1j62qv99ssqfg5q9dwrrzxh2maggyrx1zqdlsk6m";
   };
 
-  cargoSha256 = "1w1fk39pragfy2i2myw99mqf63w6fw4nr2kri8ily2iqc6g9xpgw";
+  cargoSha256 = "0k765hinqxfm30li1z66m1chsv69v6hiz109q2zlkxzg937qbnjh";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/netease-cloud-music/default.nix b/pkgs/applications/audio/netease-cloud-music/default.nix
new file mode 100644
index 00000000000..76dcba304a3
--- /dev/null
+++ b/pkgs/applications/audio/netease-cloud-music/default.nix
@@ -0,0 +1,82 @@
+{ stdenv, lib, fontconfig, zlib, libGL, glib, pango
+, gdk-pixbuf, freetype, atk, cairo, libsForQt5, xorg
+, sqlite, taglib, nss, nspr, cups, dbus, alsaLib
+, libpulseaudio, deepin, qt5, harfbuzz, p11-kit
+, libgpgerror, libudev0-shim, makeWrapper, dpkg, fetchurl }:
+let
+  rpath = lib.makeLibraryPath [
+    fontconfig.lib
+    zlib
+    stdenv.cc.cc.lib
+    libGL
+    glib
+    pango
+    gdk-pixbuf
+    freetype
+    atk
+    cairo
+    libsForQt5.vlc
+    sqlite
+    taglib
+    nss
+    nspr
+    cups.lib
+    dbus.lib
+    alsaLib
+    libpulseaudio
+    xorg.libX11
+    xorg.libXext
+    xorg.libXtst
+    xorg.libXdamage
+    xorg.libXScrnSaver
+    xorg.libxcb
+    xorg.libXi
+    deepin.qcef
+    qt5.qtwebchannel
+    qt5.qtbase
+    qt5.qtx11extras
+    qt5.qtdeclarative
+    harfbuzz
+    p11-kit
+    libgpgerror
+  ];   
+
+  runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
+
+in stdenv.mkDerivation rec {
+  pname = "netease-cloud-music";
+  version = "1.2.0";
+  src = fetchurl {
+    url    = "http://d1.music.126.net/dmusic/netease-cloud-music_1.2.0_amd64_deepin_stable_20190424.deb";
+    sha256 = "0hg8jqim77vd0fmk8gfbz2fmlj99byxcm9jn70xf7vk1sy7wp6h1";
+    curlOpts = "-A 'Mozilla/5.0'";
+  };
+  unpackCmd = "${dpkg}/bin/dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r usr/* $out
+  '';
+
+  preFixup = ''
+    local exefile="$out/bin/netease-cloud-music"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exefile"
+    patchelf --set-rpath "$out/libs:$(patchelf --print-rpath "$exefile"):${rpath}" "$exefile"
+
+    wrapProgram $out/bin/netease-cloud-music \
+      --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
+      --set QT_AUTO_SCREEN_SCALE_FACTOR 1 \
+      --set QCEF_INSTALL_PATH "${deepin.qcef}/lib/qcef"
+  '';
+
+  meta = {
+    description = "Client for Netease Cloud Music service";
+    homepage = https://music.163.com;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
+    license = stdenv.lib.licenses.unfreeRedistributable;
+  };
+}
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
new file mode 100644
index 00000000000..146e13f34de
--- /dev/null
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fftwFloat, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "noise-repellent";
+  version = "unstable-2018-12-29";
+
+  src = fetchFromGitHub {
+    owner = "lucianodato";
+    repo = pname;
+    rev = "9efdd0b41ec184a792087c87cbf5382f455e33ec";
+    sha256 = "0pn9cxapfvb5l62q86bchyfll1290vi0rhrzarb1jpc4ix7kz53c";
+    fetchSubmodules = true;
+  };
+
+  mesonFlags = ("--prefix=${placeholder "out"}/lib/lv2");
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = [
+    fftwFloat lv2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An lv2 plugin for broadband noise reduction";
+    homepage    = https://github.com/lucianodato/noise-repellent;
+    license     = licenses.gpl3;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin"  ];
+  };
+}
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index 08c5c1a5c36..58e0887163d 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.4.9";
+  version = "0.4.10";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "02kjwwh9d9i4rnfzqzr18pvcklc46yrs9mvdmjqx7kxg3c28hkqm";
+    sha256 = "12i5iwxb5g27amqgqr6iiy63w49nwil5vyypnbj91ahy97ah8a3a";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index 85d0e1fbaf7..69fa75d85f4 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     description = "Tools to work with opus encoded audio streams";
     homepage = http://www.opus-codec.org/;
     license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index 993e3c4fe8c..25636863793 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.opus-codec.org/;
     license = licenses.bsd3;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index 448b219a1af..fee456ae717 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, cmake, libGLU_combined, makeWrapper, qt4 }:
+{ stdenv, fetchurl, alsaLib, cmake, libGLU, libGL, makeWrapper, qt4 }:
 
 stdenv.mkDerivation  {
   pname = "pianobooster";
@@ -16,12 +16,13 @@ stdenv.mkDerivation  {
 
   preConfigure = "cd src";
 
-  buildInputs = [ alsaLib cmake makeWrapper libGLU_combined qt4 ];
+  buildInputs = [ alsaLib cmake makeWrapper libGLU libGL qt4 ];
   NIX_LDFLAGS = [ "-lGL" "-lpthread" ];
 
   postInstall = ''
     wrapProgram $out/bin/pianobooster \
-      --prefix LD_LIBRARY_PATH : ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH : ${libGL}/lib \
+      --prefix LD_LIBRARY_PATH : ${libGLU}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index dc1118f47e0..b40ab6d4f7a 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -4,13 +4,13 @@ let
   pythonPackages = python3Packages;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1iibkvwpj862wcrl0fmyi6qhcgx4q5ay63yr0zyg0bkqgcka0gpr";
+    sha256 = "0lb4pzl03mr5hrzrzva99rxqd5yfip62b7sjmlg4j0imw8mxaj16";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ];
diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix
index 5d86e37dec8..20a6e928cef 100644
--- a/pkgs/applications/audio/pithos/default.nix
+++ b/pkgs/applications/audio/pithos/default.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "pithos";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo  = pname;
     rev = version;
-    sha256 = "0vaw0rfcdh4bsp9b8la9bs36kw0iwia54y5x060byxhff9av6nj4";
+    sha256 = "10nnm55ql86x1qfmq6dx9a1igf7myjxibmvyhd7fyv06vdhfifgy";
   };
 
   format = "other";
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index 302dd5c8e69..2d941f74c73 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -46,13 +46,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.6.8";
+  version = "4.6.9";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "09crsg73mvqdknvh6lczwx16x73zb2vb3m53bsapqiaq4lmwy3qr";
+    sha256 = "0ag19hvf50ip7z1s8jziy4pm8c72w7qq9zzgb4967l6v17rar4yh";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index 0b50d3098aa..84cc11b8bf3 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, mkDerivation, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
 
 mkDerivation rec {
-  version = "0.5.9";
+  version = "0.6.0";
   pname = "qjackctl";
 
   # some dependencies such as killall have to be installed additionally
 
   src = fetchurl {
     url = "mirror://sourceforge/qjackctl/${pname}-${version}.tar.gz";
-    sha256 = "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk";
+    sha256 = "1kddvxxhwvw1ps1c1drr08hxqci7jw4jwr8h1d9isb8agydfxmcx";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index aee373329ce..801d32189bf 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.3.4";
+  name = "qmmp-1.3.5";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "0j9vgm6216w7arwl919p9rps0a9r6s4415spl3qkpifhwlk90zg0";
+    sha256 = "0h7kcqzhfvk610937pwrhizcdgd4n7ncl1vayv6sj3va1x7pv6xm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index dee9b8f20c8..46dafb72c41 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "00fj762qdna4bm8hshdhkwfa48s01bi5sk4f030rfk77mivl09jk";
+    sha256 = "02cpjlf3j4sm74hz88r1frnlycs52rs11mzplr2q8plji3ic5w50";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index c0186a146be..a64e407b39b 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -21,7 +21,7 @@
 # User-agent info
 , lsb-release
 # rt2rtng
-, python2
+, python3
 # Testing
 , gtest
 # Fixup
@@ -36,17 +36,17 @@ let
     gst-libav
   ];
   # For the rt2rtng utility for converting bookmark file to -ng format
-  pythonInputs = with python2.pkgs; [ python2 lxml ];
+  pythonInputs = with python3.pkgs; [ python lxml ];
 in
 stdenv.mkDerivation rec {
   pname = "radiotray-ng";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "ebruck";
-    repo = "radiotray-ng";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0khrfxjas2ldh0kksq7l811srqy16ahjxchvz0hhykx5hykymxlb";
+    sha256 = "1v2nsz7s0jj0wmqabzk6akcf1353rachm1lfq77hxbq9z5pw8pgb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 4a6cdc44f44..236c42b5293 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "5.983";
+  version = "5.987";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "16xw3gsxgjfdxd1ldm8zxd48qh6lgxacnj9yjryy0brhw51dw1q4";
+    sha256 = "040k5inzj7mmi75fc6hr0ym18y5xss1675bl5rmhn4sq535m289k";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index 62625aa421d..7b2d92ad59d 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -4,8 +4,7 @@
 with stdenv.lib;
 
 # To use the full release version:
-# 1) Sign into https://backstage.renoise.com and download the appropriate (x86 or x86_64) version
-#    for your machine to some stable location.
+# 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
 # 2) Override the releasePath attribute to point to the location of the newly downloaded bundle.
 # Note: Renoise creates an individual build for each license which screws somewhat with the
 # use of functions like requireFile as the hash will be different for every user.
@@ -15,25 +14,20 @@ in
 
 stdenv.mkDerivation rec {
   pname = "renoise";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
         if releasePath == null then
-        fetchurl {
-          url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2";
-          sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga";
-        }
+		    fetchurl {
+		      urls = [
+		          "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		          "https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
+		      ];
+		      sha256 = "0cfczzpk1ddz61nk4d72fydbm5nbgxqp95v81by2n87s1wffjjhi";
+		    }
         else
-        releasePath
-    else if stdenv.hostPlatform.system == "i686-linux" then
-        if releasePath == null then
-        fetchurl {
-          url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86.tar.bz2";
-          sha256 = "1lccjj4k8hpqqxxham5v01v2rdwmx3c5kgy1p9lqvzqma88k4769";
-        }
-        else
-        releasePath
+        	releasePath
     else throw "Platform is not supported by Renoise";
 
   buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ];
@@ -69,6 +63,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.renoise.com/;
     license = licenses.unfree;
     maintainers = [];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
index cd8079e31dc..5a90ee65947 100644
--- a/pkgs/applications/audio/setbfree/default.nix
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchzip, alsaLib, freetype, ftgl, libjack2, libX11, lv2
-, libGLU_combined, pkgconfig, ttf_bitstream_vera
+, libGLU, libGL, pkgconfig, ttf_bitstream_vera
 }:
 
 stdenv.mkDerivation  rec {
   pname = "setbfree";
-  version = "0.8.9";
+  version = "0.8.10";
 
   src = fetchzip {
     url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
-    sha256 = "097bby2da47zlkaqy2jl8j6q0h5pxaq67lz473ygadqs5ic3nhc1";
+    sha256 = "1hpj8qb5mhkqm4yy8mzzrrq0ljw22y807qly90vjkg61ascyina4";
   };
 
   postPatch = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation  rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU_combined
+    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU libGL
     ttf_bitstream_vera
   ];
 
diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix
index 32cfd0f7494..f95655f5e9a 100644
--- a/pkgs/applications/audio/sisco.lv2/default.nix
+++ b/pkgs/applications/audio/sisco.lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU_combined, cairo, pango, libjack2 }:
+{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU, libGL, cairo, pango, libjack2 }:
 
 let
   name = "sisco.lv2-${version}";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   sourceRoot = src.name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 pango cairo libjack2 libGLU_combined ];
+  buildInputs = [ lv2 pango cairo libjack2 libGLU libGL ];
 
   postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk";
   sisco_VERSION = version;
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 43637ef5dc4..2ba9d4f50c3 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-19.7";
+  name = "snd-19.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "1pr3l9iadvwinmxfl9a2lsm67yi7w3rhxglidpd41m2ni8jf2rlm";
+    sha256 = "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://ccrma.stanford.edu/software/snd;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.free;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index ce2a4e9d2c8..b9293fe2729 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -2,7 +2,7 @@
 , python3Packages, gnome3, gtk3, gsettings-desktop-schemas, gobject-introspection }:
 
 let
-  inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2;
+  inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools;
 in buildPythonApplication rec {
   pname = "sonata";
   version = "1.7b1";
@@ -29,7 +29,7 @@ in buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    gobject-introspection gtk3 pygobject3
+    gobject-introspection gtk3 pygobject3 setuptools
   ];
 
   # The optional tagpy dependency (for editing metadata) is not yet
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index 055678b0e35..ac72a26b0ee 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -14,6 +14,7 @@
 , supercollider
 , qscintilla
 , qwt
+, osmid
 }:
 
 let
@@ -59,6 +60,10 @@ mkDerivation rec {
   buildPhase = ''
     export SONIC_PI_HOME=$TMPDIR
     export AUBIO_LIB=${aubio}/lib/libaubio.so
+    export OSMID_DIR=app/server/native/osmid
+
+    mkdir -p $OSMID_DIR
+    cp ${osmid}/bin/{m2o,o2m} $OSMID_DIR
 
     pushd app/server/ruby/bin
       ./compile-extensions.rb
@@ -95,11 +100,10 @@ mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://sonic-pi.net/;
+    homepage = "https://sonic-pi.net/";
     description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
     platforms = lib.platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix
index 30ff41da369..5b5f01eef5c 100644
--- a/pkgs/applications/audio/soundscape-renderer/default.nix
+++ b/pkgs/applications/audio/soundscape-renderer/default.nix
@@ -11,7 +11,7 @@
 , boost
 , ecasound
 , glibcLocales
-, libGLU_combined # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
+, libGLU, libGL # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
 }:
 
 stdenv.mkDerivation {
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   LC_ALL = "en_US.UTF-8";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ boost boost.dev ecasound libGLU_combined help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
+  buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
 
   # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
   # 2) Make it find ecasound headers
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index a73a46a7cb0..973062ecb75 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.8.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "0pgmcld48sd34jpsc4lr8dbqs8iwk0xp9aa3b15m61mv3lf04qc6";
+    sha256 = "1pshwn486msn418dilk57rl9471aas0dif765nx1p9xgkrjpb7wa";
   };
 
-  cargoSha256 = "1rb4dl9zn3xx2yrapx5cfsli93ggmdq8w9fqi8cy8giyja1mnqfl";
+  cargoSha256 = "0020igycgikkbd649hv6xlpn13dij4g7yc43fic9z710p6nsxqaq";
 
-  cargoPatches = [ ./fix-cargo-lock-version.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
   buildInputs = [ openssl ]
-    ++ stdenv.lib.optional stdenv.isDarwin Security;
+  	++ stdenv.lib.optional stdenv.isLinux libxcb
+    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
 
   meta = with stdenv.lib; {
     description = "Spotify for the terminal written in Rust";
diff --git a/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch b/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch
deleted file mode 100644
index d38c6890033..00000000000
--- a/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git i/Cargo.lock w/Cargo.lock
-index e1eae72..e004898 100644
---- i/Cargo.lock
-+++ w/Cargo.lock
-@@ -1310,7 +1310,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- 
- [[package]]
- name = "spotify-tui"
--version = "0.7.5"
-+version = "0.8.0"
- dependencies = [
-  "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 3f99e22a4cb..bc95ec625bb 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
-, at-spi2-atk
+, at-spi2-atk, at-spi2-core, libpulseaudio
 }:
 
 let
@@ -10,20 +10,21 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.0.96.181.gf6bc1b6b-12";
+  version = "1.1.10.546.ge08ef575-19";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "30";
+  rev = "36";
 
 
   deps = [
     alsaLib
     atk
     at-spi2-atk
+    at-spi2-core
     cairo
     cups
     curl
@@ -38,6 +39,7 @@ let
     libgcrypt
     libnotify
     libpng
+    libpulseaudio
     nss
     pango
     stdenv.cc.cc
@@ -73,7 +75,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    sha512 = "859730fbc80067f0828f7e13eee9a21b13b749f897a50e17c2da4ee672785cfd79e1af6336e609529d105e040dc40f61b6189524783ac93d49f991c4ea8b3c56";
+    sha512 = "c49f1a86a9b737e64a475bbe62754a36f607669e908eb725a2395f0a0a6b95968e0c8ce27ab2c8b6c92fe8cbacb1ef58de11c79b92dc0f58c2c6d3a140706a1f";
   };
 
   buildInputs = [ squashfsTools makeWrapper ];
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index d420d1a6709..36ab017c5cb 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "Spotifyd";
     repo = "spotifyd";
     rev = "v${version}";
-    sha256 = "063b28ysj224m6ngns9i574i7vnp1x4g07cqjw908ch04yngcg1c";
+    sha256 = "1hf4wpk7r0s4jpjhxaz67y1hd8jx9ns5imd85r3cdg4lxf3j5gph";
   };
 
-  cargoSha256 = "0pqxqd5dyw9mjclrqkxzfnzsz74xl4bg0b86v5q6kc0a91zd49b9";
+  cargoSha256 = "1h3fis47hmxvppiv1icjhgp48nd46gayfcmzfjs34q6jask90n0w";
 
   cargoBuildFlags = [
     "--no-default-features"
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "An open source Spotify client running as a UNIX daemon";
     homepage = "https://github.com/Spotifyd/spotifyd";
     license = with licenses; [ gpl3 ];
-    maintainers = [ maintainers.anderslundstedt maintainers.marsam ];
+    maintainers = with maintainers; [ anderslundstedt filalex77 marsam ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/stone-phaser/default.nix b/pkgs/applications/audio/stone-phaser/default.nix
new file mode 100644
index 00000000000..6e64ebc7fb3
--- /dev/null
+++ b/pkgs/applications/audio/stone-phaser/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, xorg, cairo, lv2, libjack2, mesa, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "stone-phaser";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "180b32z8h9zi8p0q55r1dzxfckamnngm52zjypjjvvy7qdj3mfcd";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 cairo lv2 libjack2 mesa
+  ];
+
+  postPatch = ''
+    patch -d dpf -p 1 -i "$src/resources/patch/DPF-bypass.patch"
+    patchShebangs ./dpf/utils/generate-ttl.sh
+  '';
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jpcima/stone-phaser;
+    description = "A classic analog phaser effect, made with DPF and Faust";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.boost;
+  };
+}
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index c62eba99845..07e7bb84c56 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -22,7 +22,7 @@
 , libpulseaudio ? null
 , libselinux ? null
 , libsepol ? null
-, p11_kit ? null
+, p11-kit ? null
 , utillinux ? null
 , qtbase
 , qtx11extras
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "1kqx0q99n1p5pm6skvqjihz11byhxdid1qw6gqp67dh2na62z1lm";
+    sha256 = "14bw4hmysrbl4havz03s3wl8bv76380wddf5zzrjvfjjpwn333r6";
   };
 
   buildInputs = [
@@ -66,7 +66,7 @@ mkDerivation rec {
     libpulseaudio
     libselinux
     libsepol
-    p11_kit
+    p11-kit
     utillinux
   ]
   ++ lib.optionals withGstreamer (with gst_all_1; [
@@ -93,7 +93,7 @@ mkDerivation rec {
     changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    # upstream says darwin should work but they lack maintainers as of 0.6.5
+    # upstream says darwin should work but they lack maintainers as of 0.6.6
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index 6d650abfb97..349c7acc3db 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, qt5, libjack2, alsaLib, liblo, lv2 }:
+{ mkDerivation, stdenv, fetchurl, pkgconfig, qtbase, qttools, libjack2, alsaLib, liblo, lv2 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "synthv1";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
-    sha256 = "1ssdm7aiaz908ydqwdx9khxnnd0yfacjgvbxg5p9s9xhkbqqc2f2";
+    sha256 = "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm";
   };
 
-  buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
+  buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix
index 1beb68a3af3..c0bbd6e71db 100644
--- a/pkgs/applications/audio/vcv-rack/default.nix
+++ b/pkgs/applications/audio/vcv-rack/default.nix
@@ -3,17 +3,10 @@
 , libzip, rtaudio, rtmidi, speex, libsamplerate }:
 
 let
-  glfw-git = glfw.overrideAttrs (oldAttrs: rec {
-    name = "glfw-git-${version}";
-    version = "2019-06-30";
-    src = fetchFromGitHub {
-      owner = "glfw";
-      repo = "glfw";
-      rev = "d25248343e248337284dfbe5ecd1eddbd37ae66d";
-      sha256 = "0gbz353bfmqbpm0af2nqf5draz3k4f3lqwiqj68s8nwn7878aqm3";
-    };
-    buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ];
-  });
+  # The package repo vendors some of the package dependencies as submodules.
+  # Others are downloaded with `make deps`. Due to previous issues with the
+  # `glfw` submodule (see above) and because we can not access the network when
+  # building in a sandbox, we fetch the dependency source manually.
   pfft-source = fetchFromBitbucket {
     owner = "jpommier";
     repo = "pffft";
@@ -47,24 +40,22 @@ let
 in
 with stdenv.lib; stdenv.mkDerivation rec {
   pname = "VCV-Rack";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "VCVRack";
     repo = "Rack";
     rev = "v${version}";
-    sha256 = "1g3mkghgiycbxyvzjhanc1b10jynkfkw03bpnha06qgd6gd9wv7k";
+    sha256 = "0ji64prr74qzxf5bx1sw022kbslx9nzll16lmk5in78hbl137b3i";
   };
 
   patches = [
     ./rack-minimize-vendoring.patch
-    # We patch out a call to a custom function, that is not needed on Linux.
-    # This avoids needing a patched version of glfw. The version we previously used disappeared
-    # on GitHub. See https://github.com/NixOS/nixpkgs/issues/71189
-    ./remove-custom-glfw-function.patch
   ];
 
   prePatch = ''
+    # As we can't use `make dep` to set up the dependencies (as explained
+    # above), we do it here manually
     mkdir -p dep/include
 
     cp -r ${pfft-source} dep/jpommier-pffft-source
@@ -86,7 +77,7 @@ with stdenv.lib; stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
-  buildInputs = [ glfw-git alsaLib curl glew gtk2-x11 jansson libjack2 libzip rtaudio rtmidi speex libsamplerate ];
+  buildInputs = [ alsaLib curl glew glfw gtk2-x11 jansson libjack2 libsamplerate libzip rtaudio rtmidi speex ];
 
   buildFlags = "Rack";
 
diff --git a/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch b/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch
deleted file mode 100644
index ceb273b81af..00000000000
--- a/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/main.cpp b/src/main.cpp
-index 0954ae6..a8299f7 100644
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -162,11 +162,6 @@ int main(int argc, char* argv[]) {
- 	INFO("Initializing app");
- 	appInit();
- 
--	const char* openedFilename = glfwGetOpenedFilename();
--	if (openedFilename) {
--		patchPath = openedFilename;
--	}
--
- 	if (!settings::headless) {
- 		APP->patch->init(patchPath);
- 	}
diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix
index c26d8b6d360..c928962c983 100644
--- a/pkgs/applications/audio/vocal/default.nix
+++ b/pkgs/applications/audio/vocal/default.nix
@@ -58,6 +58,13 @@ stdenv.mkDerivation rec {
     webkitgtk
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+
   meta = with stdenv.lib; {
     description = "The podcast client for the modern free desktop";
     longDescription = ''
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index 79801f2e99f..ff278d4d7f2 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -1,24 +1,31 @@
-{ stdenv, fetchFromGitHub, python2, cdparanoia, cdrdao, flac
-, sox, accuraterip-checksum, utillinux, substituteAll }:
+{ stdenv, fetchFromGitHub, python3, cdparanoia, cdrdao, flac
+, sox, accuraterip-checksum, libsndfile, utillinux, substituteAll }:
 
-python2.pkgs.buildPythonApplication rec {
-  name = "whipper-${version}";
-  version = "0.7.3";
+python3.pkgs.buildPythonApplication rec {
+  pname = "whipper";
+  version = "0.9.1.dev7+g${stdenv.lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "whipper-team";
     repo = "whipper";
-    rev = "v${version}";
-    sha256 = "0ypbgc458i7yvbyvg6wg6agz5yzlwm1v6zw7fmyq9h59xsv27mpr";
+    rev = "9e95f0604fa30ab06445fe46e3bc93bba6092a05";
+    sha256 = "1c2qldw9vxpvdfh5wl6mfcd7zzz3v8r86ffqll311lcp2zin33dg";
   };
 
-  pythonPath = with python2.pkgs; [
-    pygobject3 musicbrainzngs urllib3 chardet
-    pycdio setuptools mutagen CDDB
+  pythonPath = with python3.pkgs; [
+    musicbrainzngs
+    mutagen
+    pycdio
+    pygobject3
     requests
+    ruamel_yaml
+    setuptools
+    setuptools_scm
   ];
 
-  checkInputs = with python2.pkgs; [
+  buildInputs = [ libsndfile ];
+
+  checkInputs = with python3.pkgs; [
     twisted
   ];
 
@@ -33,6 +40,10 @@ python2.pkgs.buildPythonApplication rec {
     "--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ])
   ];
 
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
+  '';
+
   # some tests require internet access
   # https://github.com/JoeLametta/whipper/issues/291
   doCheck = false;
@@ -44,7 +55,7 @@ python2.pkgs.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/whipper-team/whipper;
     description = "A CD ripper aiming for accuracy over speed";
-    maintainers = with maintainers; [ rycee ];
+    maintainers = with maintainers; [ rycee emily ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix
index 967f3f4f92b..bae9cef7150 100644
--- a/pkgs/applications/audio/x42-plugins/default.nix
+++ b/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20191013";
+  version = "20191215";
   pname = "x42-plugins";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
-    sha256 = "18kn1bmc0s6dp834kc51ibifzzn3bxwya4p8s8yq9f4mpmkghi24";
+    sha256 = "1mwfvhsvc0qgjyiwd8pmmam1mav43lmv39fljhmj9yri558v5g1c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index b8acaa5a7e4..24620d91ff5 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk, pcre
-, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU_combined, minixml, pkgconfig, zlib, xorg
+, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU, libGL, minixml, pkgconfig, zlib, xorg
 }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   pname = "yoshimi";
-  version = "1.6.0.2";
+  version = "1.6.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2";
-    sha256 = "0q2cw168r53r50zghkdqcxba2cybn44axbdkwacvkm7ag2z0j2l8";
+    sha256 = "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7";
   };
 
   buildInputs = [
-    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU_combined
+    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU libGL
     minixml zlib xorg.libpthreadstubs pcre
   ];
 
diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix
index eeeb8ae2ea4..a8236b4b60f 100644
--- a/pkgs/applications/audio/zam-plugins/default.nix
+++ b/pkgs/applications/audio/zam-plugins/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit , boost, libX11, libGLU_combined, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
+{ stdenv, fetchgit , boost, libX11, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
 
 stdenv.mkDerivation {
   pname = "zam-plugins";
@@ -12,16 +12,18 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ boost libX11 libGLU_combined liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
+  buildInputs = [ boost libX11 libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs ./dpf/utils/generate-ttl.sh
   '';
 
   makeFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder ''out''}"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.zamaudio.com/?p=976;
     description = "A collection of LV2/LADSPA/VST/JACK audio plugins by ZamAudio";
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 7120a1934f6..d283dc7107d 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -1,20 +1,46 @@
-{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
-, gnome3, libnotify, itstool, glib, gtk3, libxml2, gnome-online-accounts
-, coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook
-, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
-, appstream-glib, desktop-file-utils, duplicity
+{ stdenv
+, fetchFromGitLab
+, substituteAll
+, meson
+, ninja
+, pkgconfig
+, vala
+, gettext
+, gnome3
+, libnotify
+, itstool
+, glib
+, gtk3
+, libxml2
+, gnome-online-accounts
+, coreutils
+, libsoup
+, libsecret
+, pcre
+, libxkbcommon
+, wrapGAppsHook
+, libpthreadstubs
+, libXdmcp
+, epoxy
+, at-spi2-core
+, dbus
+, libgpgerror
+, json-glib
+, appstream-glib
+, desktop-file-utils
+, duplicity
 }:
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "38.3";
+  version = "40.6";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa";
+    sha256 = "1d4g34g660wv42a4k2511bxrh90z0vdl3v7ahg0m45phijg9n2n1";
   };
 
   patches = [
@@ -22,37 +48,55 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit coreutils;
     })
+
+    # Hardcode GSettings path for Nautilus extension to avoid crashes from missing schemas
     ./hardcode-gsettings.patch
   ];
 
   postPatch = ''
-    substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
+    # substitute variable from hardcode-gsettings.patch
+    substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH "${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}"
   '';
 
   nativeBuildInputs = [
-    meson ninja pkgconfig vala_0_40 gettext itstool
-    appstream-glib desktop-file-utils libxml2 wrapGAppsHook
+    meson
+    ninja
+    pkgconfig
+    vala
+    gettext
+    itstool
+    appstream-glib
+    desktop-file-utils
+    libxml2
+    wrapGAppsHook
   ];
 
   buildInputs = [
-   libnotify libpeas glib gtk3 libsecret
-   pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus
-   at-spi2-core dbus gnome-online-accounts libgpgerror
+    libnotify
+    libsoup
+    glib
+    gtk3
+    libsecret
+    pcre
+    libxkbcommon
+    libpthreadstubs
+    libXdmcp
+    epoxy
+    gnome3.nautilus
+    at-spi2-core
+    dbus
+    gnome-online-accounts # GOA not used any more, only for transferring legacy keys
+    libgpgerror
+    json-glib
   ];
 
+  # TODO: hard code the path
+  # https://gitlab.gnome.org/World/deja-dup/merge_requests/32
   propagatedUserEnvPkgs = [ duplicity ];
 
+  # install nautilus plug-in to correct path
   PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
 
-  postInstall = ''
-    glib-compile-schemas $out/share/glib-2.0/schemas
-  '';
-
-  postFixup = ''
-    # Unwrap accidentally wrapped library
-    mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
-  '';
-
   meta = with stdenv.lib; {
     description = "A simple backup tool";
     longDescription = ''
@@ -60,7 +104,7 @@ stdenv.mkDerivation rec {
       of backing up the Right Way (encrypted, off-site, and regular) \
       and uses duplicity as the backend.
     '';
-    homepage = https://wiki.gnome.org/Apps/DejaDup;
+    homepage = "https://wiki.gnome.org/Apps/DejaDup";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jtojnar joncojonathan ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
index 50bf2ba4fbd..f74dbf73543 100644
--- a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
+++ b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
@@ -1,38 +1,16 @@
 --- a/deja-dup/nautilus/NautilusExtension.c
 +++ b/deja-dup/nautilus/NautilusExtension.c
-@@ -24,6 +24,8 @@
- #include <glib/gi18n-lib.h>
- 
- GList *dirs = NULL;
-+GSettingsSchemaSource *schema_source = NULL;
-+GSettingsSchema *schema = NULL;
- GSettings *settings = NULL;
- 
- // This will treat a < b iff a is 'lower' in the file tree than b
-@@ -313,7 +315,13 @@
+@@ -313,7 +313,12 @@
    bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR);
    bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
  
--  settings = g_settings_new("org.gnome.DejaDup");
-+  schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@",
+-  settings = g_settings_new(APPLICATION_ID);
++  g_autoptr (GSettingsSchemaSource) schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@",
 +    g_settings_schema_source_get_default (), TRUE, NULL);
 +
-+  schema = g_settings_schema_source_lookup (schema_source,
-+                                            "org.gnome.DejaDup", FALSE);
++  g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, APPLICATION_ID, FALSE);
 +
 +  settings = g_settings_new_full (schema, NULL, NULL);
    g_signal_connect(settings, "changed::include-list",
                     update_include_excludes, NULL);
    g_signal_connect(settings, "changed::exclude-list",
-@@ -329,7 +337,11 @@
- 
- void nautilus_module_shutdown(void)
- {
-+  g_settings_schema_source_unref(schema_source);
-+  g_settings_schema_unref(schema);
-   g_object_unref(settings);
-+  schema_source = NULL;
-+  schema = NULL;
-   settings = NULL;
- 
-   update_include_excludes(); /* will clear it now that settings is NULL */
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix
index 0c806a89015..d872204c6b0 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
 , zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.20.5";
+  version = "0.20.8";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1adps3g99m7cxs58c48g2dgyihfv0v8d198klzcbbf4dq0s5v45c";
+    sha256 = "0srjc11i7azqn3flipjwzm67w20ji24yslkmchy1a834fyb1gmx1";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/blockchains/bitcoin-unlimited.nix b/pkgs/applications/blockchains/bitcoin-unlimited.nix
index a75b20b3910..c0d51e66db3 100644
--- a/pkgs/applications/blockchains/bitcoin-unlimited.nix
+++ b/pkgs/applications/blockchains/bitcoin-unlimited.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.6.0.1";
+  version = "1.7.0.0";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "bucash${version}";
-    sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr";
+    sha256 = "0lil6rivrj4cnr8a7n8zn9rp9f4h2nk88jjxc29m6dwqn5gk6f1i";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index b1d84f91251..2fa8ea6467c 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -1,27 +1,47 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck
-, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent
+, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, python3, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.18.1";
+
+let
+  version = "0.19.0.1";
+  majorMinorVersion = versions.majorMinor version;
+
+  desktop = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop";
+    sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
+  };
+
+  pixmap = fetchurl {
+    url = "https://raw.githubusercontent.com/bitcoin/bitcoin/v${version}/share/pixmaps/bitcoin128.png";
+    sha256 = "08p7j7dg50jlj783kkgdw037klmx0spqjikaprmbkzgcb620r25d";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = if withGui then "bitcoin" else "bitcoind";
+  inherit version;
 
   src = fetchurl {
     urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
              "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
            ];
-    sha256 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96";
+    sha256 = "7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284";
   };
 
   nativeBuildInputs =
     [ pkgconfig autoreconfHook ]
     ++ optional withGui wrapQtAppsHook;
   buildInputs = [ openssl db48 boost zlib zeromq
-                  miniupnpc protobuf libevent]
+                  miniupnpc libevent]
                   ++ optionals stdenv.isLinux [ utillinux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
+  postInstall = optional withGui ''
+    install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
+    install -Dm644 ${pixmap} $out/share/pixmaps/bitcoin128.png
+  '';
+
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
                      "--disable-bench"
                    ] ++ optionals (!doCheck) [
diff --git a/pkgs/applications/blockchains/clightning.nix b/pkgs/applications/blockchains/clightning.nix
index 61c2acab563..f6c9fee7a1c 100644
--- a/pkgs/applications/blockchains/clightning.nix
+++ b/pkgs/applications/blockchains/clightning.nix
@@ -4,11 +4,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "0.7.3";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "ef2193940146d1b8ff0cc03602842c4d81db9ca6a5e73927e4f8932715e931a4";
+    sha256 = "053e43bbe71564e9be8b2b56346a88986646ef6849a0af67cece01858b93306a";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/blockchains/dogecoin.nix b/pkgs/applications/blockchains/dogecoin.nix
index e5f149a0efe..02744e50647 100644
--- a/pkgs/applications/blockchains/dogecoin.nix
+++ b/pkgs/applications/blockchains/dogecoin.nix
@@ -7,13 +7,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "dogecoin";
     repo = "dogecoin";
     rev = "v${version}";
-    sha256 = "0nmbi5gmms16baqs3fmdp2xm0yf8wawnyz80gcmca4j5ph2zka1v";
+    sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 07d16494646..34cfe868c0b 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -1,22 +1,39 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
+{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.9.6";
-
-  goPackagePath = "github.com/ethereum/go-ethereum";
-
-  # Fix for usb-related segmentation faults on darwin
-  propagatedBuildInputs =
-    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08k6p7mbszlg8mq8k3vi5xrfnhfbxlh2ynd0nr0j64qdhmhcdnq6";
+    sha256 = "00fhqn0b9grqz8iigzbijg7b1va58vccjb15fpy6yfr301z3ib1q";
   };
 
+  modSha256 = "1rn1x3qc23wfcx9c61sw1sc6iqwvv2b9pv006lk1az4zbwh09dbm";
+
+  subPackages = [
+    "cmd/abigen"
+    "cmd/bootnode"
+    "cmd/checkpoint-admin"
+    "cmd/clef"
+    "cmd/devp2p"
+    "cmd/ethkey"
+    "cmd/evm"
+    "cmd/faucet"
+    "cmd/geth"
+    "cmd/p2psim"
+    "cmd/puppeth"
+    "cmd/rlpdump"
+    "cmd/utils"
+    "cmd/wnode"
+  ];
+
+  # Fix for usb-related segmentation faults on darwin
+  propagatedBuildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+
   meta = with stdenv.lib; {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
diff --git a/pkgs/applications/blockchains/jormungandr/default.nix b/pkgs/applications/blockchains/jormungandr/default.nix
deleted file mode 100644
index 0898e469a6f..00000000000
--- a/pkgs/applications/blockchains/jormungandr/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv
-, lib
-, fetchgit
-, rustPlatform
-, openssl
-, pkgconfig
-, protobuf
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "jormungandr";
-  version = "0.7.0-rc4";
-
-  src = fetchgit {
-    url = "https://github.com/input-output-hk/${pname}";
-    rev = "v${version}";
-    sha256 = "1cjdapy0r2bikqck64cl09vzs307wcfi628hfmpczrg33i81pr3g";
-    fetchSubmodules = true;
-  };
-
-  cargoSha256 = "0546ahgwcczaxda1hc1r20skzi93s40isq2ys40y9165sgdydn4i";
-
-  nativeBuildInputs = [ pkgconfig protobuf ];
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
-
-  patchPhase = ''
-    sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap
-  '';
-
-  installPhase = ''
-    install -d $out/bin $out/templates
-    install -m755 target/*/release/jormungandr $out/bin/
-    install -m755 target/*/release/jcli $out/bin/
-    install -m755 target/*/release/jormungandr-scenario-tests	$out/bin/
-    install -m755 scripts/send-transaction $out/templates
-    install -m755 scripts/jcli-helpers $out/bin/
-    install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap
-    install -m644 scripts/faucet-send-money.shtempl $out/templates/
-    install -m644 scripts/create-account-and-delegate.shtempl $out/templates/
-    install -m644 scripts/faucet-send-certificate.shtempl $out/templates/
-  '';
-
-  PROTOC = "${protobuf}/bin/protoc";
-
-  # Disabling integration tests
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "An aspiring blockchain node";
-    homepage = "https://input-output-hk.github.io/jormungandr/";
-    license = licenses.mit;
-    maintainers = [ maintainers.mmahut ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 09cb3c329b9..f18eee3b87b 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "1.15.0";
+  version = "1.19.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0r7gm7q7gj39v36jd5xz20931za94nf2fpf3clbghkhlbrm0kbnq";
+    sha256 = "1qgk0gwn7ijz00zfwf9rfl755lhgsig9xa6c3icj6l6wyzybz0z6";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix
index 27f10c963c0..fd18b3fa399 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.7.1-beta";
+  version = "0.8.1-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
+    sha256 = "0f9fx2y66l3wxiax2vl2966avamjarkv3vbn9dy0wbxkwg4pfayb";
   };
 
-  modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
+  modSha256 = "1i6xw2amkg4azvzybcl4pqxif9c0mv8ayrhz9hm8x85bz7i6a787";
 
   meta = with lib; {
     description = "Lightning Network Daemon";
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index 14fc7782c53..0311169deb2 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -1,27 +1,27 @@
-{ mkDerivation, lib, makeDesktopItem, fetchFromGitHub
+{ stdenv, wrapQtAppsHook, makeDesktopItem, fetchFromGitHub
 , qtbase, qmake, qtmultimedia, qttools
 , qtgraphicaleffects, qtdeclarative
 , qtlocation, qtquickcontrols, qtquickcontrols2
 , qtwebchannel, qtwebengine, qtx11extras, qtxmlpatterns
 , monero, unbound, readline, boost, libunwind
 , libsodium, pcsclite, zeromq, cppzmq, pkgconfig
-, hidapi
+, hidapi, randomx
 }:
 
-with lib;
+with stdenv.lib;
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.14.1.2";
+  version = "0.15.0.1";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k";
+    sha256 = "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n";
   };
 
-  nativeBuildInputs = [ qmake pkgconfig ];
+  nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
 
   buildInputs = [
     qtbase qtmultimedia qtgraphicaleffects
@@ -30,7 +30,7 @@ mkDerivation rec {
     qtwebchannel qtwebengine qtx11extras
     qtxmlpatterns monero unbound readline
     boost libunwind libsodium pcsclite zeromq
-    cppzmq hidapi
+    cppzmq hidapi randomx
   ];
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=format-security" ];
diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix
index b6f07452861..7eb4238679e 100644
--- a/pkgs/applications/blockchains/monero/default.nix
+++ b/pkgs/applications/blockchains/monero/default.nix
@@ -1,43 +1,41 @@
-{ stdenv, fetchgit
-, cmake, pkgconfig, git
+{ stdenv, fetchFromGitHub
+, cmake, pkgconfig
 , boost, miniupnpc, openssl, unbound, cppzmq
 , zeromq, pcsclite, readline, libsodium, hidapi
-, python3Packages
+, python3Packages, randomx, rapidjson
 , CoreData, IOKit, PCSC
 }:
 
 assert stdenv.isDarwin -> IOKit != null;
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
   pname = "monero";
-  version = "0.14.1.0";
-
-  src = fetchgit {
-    url    = "https://github.com/monero-project/monero.git";
-    rev    = "v${version}";
-    sha256 = "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh";
+  version = "0.15.0.1";
+
+  src = fetchFromGitHub {
+    owner = "monero-project";
+    repo = "monero";
+    rev = "v${version}";
+    sha256 = "0sypa235lf2bbib4b71xpaw39h9304slgsvnsz8wmy9fq1zx009m";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake pkgconfig git ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     boost miniupnpc openssl unbound
     cppzmq zeromq pcsclite readline
-    libsodium hidapi
+    libsodium hidapi randomx rapidjson
     python3Packages.protobuf
-  ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DBUILD_GUI_DEPS=ON"
     "-DReadline_ROOT_DIR=${readline.dev}"
-  ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
-
-  hardeningDisable = [ "fortify" ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Private, secure, untraceable currency";
     homepage    = https://getmonero.org/;
     license     = licenses.bsd3;
diff --git a/pkgs/applications/blockchains/parity/beta.nix b/pkgs/applications/blockchains/parity/beta.nix
index a26a1b7cc77..ffa509d2320 100644
--- a/pkgs/applications/blockchains/parity/beta.nix
+++ b/pkgs/applications/blockchains/parity/beta.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.6.4";
-  sha256      = "11l93w97961zig4gqf345j9l20g0mjp7fayl1mdwdp14hhd5zk5g";
-  cargoSha256 = "1q6cbms7j1h726bvq38npxkjkmz14b5ir9c4z7pb0jcy7gkplyxx";
+  version     = "2.6.6";
+  sha256      = "1gx5qg9c588d5m564bnbly86663yrzb2hmlgv9zplwba7p0lpphl";
+  cargoSha256 = "1xqmnirx2r91q5gy1skxl0f79xvaqzimq3l0cj4xvfms7mpdfbg1";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/blockchains/parity/default.nix b/pkgs/applications/blockchains/parity/default.nix
index 299bb0639b6..1b5870b429b 100644
--- a/pkgs/applications/blockchains/parity/default.nix
+++ b/pkgs/applications/blockchains/parity/default.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.5.9";
-  sha256      = "06gmfw5l8n5i35dimsmj6dn0fxhbp53zjrdvbkff63r5kfqnwnx2";
-  cargoSha256 = "1kdy0bnmyqx4rhpq0a8gliy6mws68n035kfkxrfa6cxr2cn53dyb";
+  version     = "2.5.11";
+  sha256      = "1x2p559g2f30520v3kn46n737l5s1kwrn962dv73s6mb6n1lhs55";
+  cargoSha256 = "16nf6y0hyffwdhxn1w4ms4zycs5lkzir8sj6c2lgsabig057hb6z";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 681268b4f32..b50b14258cc 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0v7g03rbml2afw0splmyjh9nqpjg0ldjw09hyc0jqd3qlhgxiiyj";
   }; 
 
-  cargoSha256 = "19xcxpbkrbygghz9qi52vzviksxg28m7ibvl359vlhqv1cjxmpsq";
+  cargoSha256 = "0gc3w0cwdyk8f7cgpp9sfawczk3n6wd7q0nhfvk87sry71b8vvwq";
 
   buildInputs = [ pkgconfig openssl openssl.dev ];
 
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 6a5532f92c9..9599dc9407c 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.9";
+  version = "1.1.9.2";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
-    sha256 = "1dz05ivhadfjfp4yfpz492401yznm3rlnx7g4nqzxwh4cmqzisrm";
+    sha256 = "0qcgrw106rqcls6p5iq02sq3w6xrzhc5z7w8v5almbw7ikv6f0s2";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/wownero.nix b/pkgs/applications/blockchains/wownero.nix
index 365afb5a241..8b25e098b2f 100644
--- a/pkgs/applications/blockchains/wownero.nix
+++ b/pkgs/applications/blockchains/wownero.nix
@@ -1,27 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, git
-, boost, miniupnpc_2, openssl, unbound, cppzmq
-, zeromq, pcsclite, readline, libsodium, rapidjson
+{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc_2, openssl, unbound
+, readline, libsodium, rapidjson
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wownero";
+  version = "0.7.0";
 
-  version = "0.6.1.2";
   src = fetchFromGitHub {
     owner = "wownero";
     repo = "wownero";
     rev    = "v${version}";
-    sha256 = "03q3pviyhrldpa3f4ly4d97jr39hvrz37chl102bap0790d9lk09";
+    sha256 = "0lji24s6346qxcj4pmylv8byb8fnqzpmz81rx4i3zhc1bcsvdwas";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake pkgconfig git ];
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    boost miniupnpc_2 openssl unbound rapidjson
-    cppzmq zeromq pcsclite readline libsodium
+    boost miniupnpc_2 openssl unbound rapidjson readline libsodium
   ];
 
   cmakeFlags = [
@@ -30,13 +28,16 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    description = "Wownero is a fork of the cryptocurrency Monero with primary alterations";
+    description = ''
+      A privacy-centric memecoin that was fairly launched on April 1, 2018 with
+      no pre-mine, stealth-mine or ICO
+    '';
     longDescription = ''
-      Wownero’s emission is capped and supply is finite. Wownero is a fairly
-      launched coin with no premine. It’s not a fork of another blockchain. With
-      its own genesis block there is no degradation of privacy caused by ring
-      signatures using different participants for the same transaction outputs.
-      Unlike opposing forks.
+      Wownero has a maximum supply of around 184 million WOW with a slow and
+      steady emission over 50 years. It is a fork of Monero, but with its own
+      genesis block, so there is no degradation of privacy due to ring
+      signatures using different participants for the same tx outputs on
+      opposing forks.
     '';
     homepage    = http://wownero.org/;
     license     = licenses.bsd3;
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index 1852d72d326..f6114b3c213 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,37 +1,29 @@
-{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost
-, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
-, libsnark, withGui }:
+{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost17x
+, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent }:
 
 let librustzcash = callPackage ./librustzcash {};
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
-  name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.0.13";
+  pname = "zcash";
+  version = "2.1.0-1";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
+    sha256 = "05bnn4lxrrcv1ha3jdfrgwg4ar576161n3j9d4gpc14ww3zgf9vz";
   };
 
-  # Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
-  # fails with "fatal error: test/data/merkle_roots.json.h: No such file or directory"
-  enableParallelBuilding = false;
-
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
-                  protobuf libevent libsodium librustzcash libsnark ]
-                  ++ optionals stdenv.isLinux [ utillinux ]
-                  ++ optionals withGui [ qt4 qrencode ];
+  buildInputs = [ gtest gmock gmp openssl wget db62 boost17x zlib
+                  protobuf libevent libsodium librustzcash ]
+                  ++ optionals stdenv.isLinux [ utillinux ];
 
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
-                   ] ++ optionals withGui [ "--with-gui=qt4" ];
+  configureFlags = [ "--with-boost-libdir=${boost17x.out}/lib" ];
 
   patchPhase = ''
-    sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
     sed -i"" 's,-fvisibility=hidden,,g'            src/Makefile.am
   '';
 
@@ -42,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Peer-to-peer, anonymous electronic cash system";
     homepage = https://z.cash/;
-    maintainers = with maintainers; [ rht ];
+    maintainers = with maintainers; [ rht tkerber ];
     license = licenses.mit;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/pkgs/applications/blockchains/zcash/librustzcash/default.nix
index 634d4e8538a..31703f8fb2a 100644
--- a/pkgs/applications/blockchains/zcash/librustzcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/librustzcash/default.nix
@@ -2,28 +2,30 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "librustzcash-unstable";
-  version = "2017-03-17";
+  version = "2018-10-27";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo = "librustzcash";
-    rev = "91348647a86201a9482ad4ad68398152dc3d635e";
-    sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c";
+    rev = "06da3b9ac8f278e5d4ae13088cf0a4c03d2c13f5";
+    sha256 = "0md0pp3k97iv7kfjpfkg14pjanhrql4vafa8ggbxpkajv1j4xldv";
   };
 
-  cargoSha256 = "1xlq8vkzfyr5q8gxvzkwi8r1kxg4rg8l1ckdwfdxlkhnw0yscbra";
+  cargoSha256 = "166v8cxlpfslbs5gljbh7wp0lxqakayw47ikxm9r9a39n7j36mq1";
 
   installPhase = ''
     mkdir -p $out/lib
     cp target/release/librustzcash.a $out/lib/
     mkdir -p $out/include
-    cp include/librustzcash.h $out/include/
+    cp librustzcash/include/librustzcash.h $out/include/
   '';
 
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Rust-language assets for Zcash";
     homepage = https://github.com/zcash/librustzcash;
-    maintainers = with maintainers; [ rht ];
+    maintainers = with maintainers; [ rht tkerber ];
     license = with licenses; [ mit asl20 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 4d221e97099..c251af74b21 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -27,6 +27,7 @@
 , qt4
 , withQt5 ? false
 , qtbase
+, yelp-tools
 }:
 
 with stdenv.lib;
@@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf
     automake
-    gnome3.yelp-tools
+    yelp-tools
     gnome3.yelp-xsl
     gobject-introspection
     gtk-doc
@@ -84,6 +85,12 @@ stdenv.mkDerivation rec {
       sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn";
     })
 
+    # https://github.com/canonical/lightdm/pull/104
+    (fetchpatch {
+      url = "https://github.com/canonical/lightdm/commit/03f218981733e50d810767f9d04e42ee156f7feb.patch";
+      sha256 = "07w18m2gpk29z6ym4y3lzsmg5dk3ffn39sq6lac26ap7narf4ma7";
+    })
+
     # Hardcode plymouth to fix transitions.
     # For some reason it can't find `plymouth`
     # even when it's in PATH in environment.systemPackages.
diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 5b1490a6b3b..91fe3e5b22f 100644
--- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -20,7 +20,7 @@
 
 let
   ver_branch = "2.0";
-  version = "2.0.6";
+  version = "2.0.7";
 in
 stdenv.mkDerivation rec {
   pname = "lightdm-gtk-greeter";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
+    sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
   };
 
   nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
deleted file mode 100644
index e504c09e43e..00000000000
--- a/pkgs/applications/display-managers/slim/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, xorg, libjpeg, libpng
-, fontconfig, freetype, pam, dbus, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "slim-1.3.6";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/slim.berlios/${name}.tar.gz";
-    sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
-  };
-
-  patches =
-    [ # Allow the paths of the configuration file and theme directory to
-      # be set at runtime.
-      ./runtime-paths.patch
-
-      # Exit after the user's session has finished.  This works around
-      # slim's broken PAM session handling (see
-      # http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
-      ./run-once.patch
-
-      # Ensure that sessions appear in sort order, rather than in
-      # directory order.
-      ./sort-sessions.patch
-
-      # Allow to set logfile to a special "/dev/stderr" in order to continue
-      # logging to stderr and thus to the journal.
-      ./no-logfile.patch
-    ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/8eddda8072add075ebf56cf6d288bc1450d6b5f8/x11-misc/slim/files/slim-1.3.6-add-missing-libgen_h.patch";
-      sha256 = "0f82672s2r2cmdqfn2mbg3di76mbla9n0ik20p2gv4igi6p866xm";
-    });
-
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
-
-  cmakeFlags = [ "-DUSE_PAM=1" ];
-
-  NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype -std=c++11";
-
-  enableParallelBuilding = true;
-
-  buildInputs =
-    [ cmake pkgconfig libjpeg libpng fontconfig freetype
-      pam dbus
-      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper
-    ];
-
-  NIX_CFLAGS_LINK = "-lXmu";
-
-  meta = {
-    homepage = https://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/applications/display-managers/slim/no-logfile.patch b/pkgs/applications/display-managers/slim/no-logfile.patch
deleted file mode 100644
index f2f5f154993..00000000000
--- a/pkgs/applications/display-managers/slim/no-logfile.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/log.cpp b/log.cpp
-index b44677a..7c89dda 100644
---- a/log.cpp
-+++ b/log.cpp
-@@ -1,23 +1,31 @@
- #include "log.h"
- #include <iostream>
-+#include <cstring>
- 
- bool
- LogUnit::openLog(const char * filename)
- {
--	if (logFile.is_open()) {
-+	if (isFile && logFile.is_open()) {
- 		cerr << APPNAME
- 			<< ": opening a new Log file, while another is already open"
- 			<< endl;
--		logFile.close();
-+		closeLog();
- 	}
--	logFile.open(filename, ios_base::app);
- 
--	return !(logFile.fail());
-+	if (strcmp(filename, "/dev/stderr") == 0) {
-+		isFile = false;
-+		return true;
-+	} else {
-+		logFile.open(filename, ios_base::app);
-+		isFile = true;
-+		return !(logFile.fail());
-+	}
- }
- 
- void
- LogUnit::closeLog()
- {
-+	if (!isFile) return;
- 	if (logFile.is_open())
- 		logFile.close();
- }
-diff --git a/log.h b/log.h
-index b7810be..ad548a2 100644
---- a/log.h
-+++ b/log.h
-@@ -9,11 +9,14 @@
- #endif
- #include "const.h"
- #include <fstream>
-+#include <iostream>
- 
- using namespace std;
- 
- static class LogUnit {
- 	ofstream logFile;
-+	bool isFile;
-+	inline ostream &getStream() { return isFile ? logFile : cerr; }
- public:
- 	bool openLog(const char * filename);
- 	void closeLog();
-@@ -22,17 +25,17 @@ public:
- 
- 	template<typename Type>
- 	LogUnit & operator<<(const Type & text) {
--		logFile << text; logFile.flush();
-+		getStream() << text; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ostream & (*fp)(ostream&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- } logStream;
diff --git a/pkgs/applications/display-managers/slim/run-once.patch b/pkgs/applications/display-managers/slim/run-once.patch
deleted file mode 100644
index 78f1454a883..00000000000
--- a/pkgs/applications/display-managers/slim/run-once.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-15 11:02:55.629263422 +0200
-+++ slim-1.3.6/app.cpp	2013-10-15 13:00:10.141210784 +0200
-@@ -816,7 +822,7 @@
- 	StopServer();
- 	RemoveLock();
- 	while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
--	Run();
-+	exit(OK_EXIT);
- }
- 
- void App::KillAllClients(Bool top) {
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
deleted file mode 100644
index 5a8e07bfbf0..00000000000
--- a/pkgs/applications/display-managers/slim/runtime-paths.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -200,7 +200,9 @@
- 
- 	/* Read configuration and theme */
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
-@@ -208,7 +210,9 @@
- 	if (testing) {
- 		themeName = testtheme;
- 	} else {
--		themebase = string(THEMESDIR) + "/";
-+		char *themesdir = getenv("SLIM_THEMESDIR");
-+		if (!themesdir) themesdir = THEMESDIR;
-+		themebase = string(themesdir) + "/";
- 		themeName = cfg->getOption("current_theme");
- 		string::size_type pos;
- 		if ((pos = themeName.find(",")) != string::npos) {
-diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
---- slim-1.3.6-orig/CMakeLists.txt	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/CMakeLists.txt	2014-03-30 19:16:48.445069729 +0200
-@@ -23,7 +23,7 @@
- 
- set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
- set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
--set(SYSCONFDIR "/etc")
-+set(SYSCONFDIR "$ENV{out}/etc")
- set(LIBDIR "/lib")
- set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
- 
-@@ -40,7 +40,7 @@
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
--set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
-+set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"")
- 
- # Flags
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
-Only in slim-1.3.6: CMakeLists.txt~
-diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp
---- slim-1.3.6-orig/slimlock.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/slimlock.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -106,13 +106,17 @@
- 	unsigned int cfg_passwd_timeout;
- 	// Read user's current theme
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	cfg->readConf(SLIMLOCKCFG);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
- 	themeName = "";
--	themebase = string(THEMESDIR) + "/";
-+	char *themesdir = getenv("SLIM_THEMESDIR");
-+	if (!themesdir) themesdir = THEMESDIR;
-+	themebase = string(themesdir) + "/";
- 	themeName = cfg->getOption("current_theme");
- 	string::size_type pos;
- 	if ((pos = themeName.find(",")) != string::npos) {
diff --git a/pkgs/applications/display-managers/slim/sort-sessions.patch b/pkgs/applications/display-managers/slim/sort-sessions.patch
deleted file mode 100644
index cab5610f44f..00000000000
--- a/pkgs/applications/display-managers/slim/sort-sessions.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/cfg.cpp slim-1.3.6/cfg.cpp
---- slim-1.3.6-orig/cfg.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/cfg.cpp	2016-01-30 10:35:51.108766802 +0100
-@@ -14,6 +14,7 @@
- #include <iostream>
- #include <unistd.h>
- #include <stdlib.h>
-+#include <algorithm>
- 
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -293,6 +294,8 @@
- 
- 	sessions.clear();
- 
-+        typedef pair<string,string> session_t;
-+
- 	if( !strSessionDir.empty() ) {
- 		DIR *pDir = opendir(strSessionDir.c_str());
- 
-@@ -325,7 +328,7 @@
-                                      }
-                              }
-                              desktop_file.close();
--                             pair<string,string> session(session_name,session_exec);
-+                             session_t session(session_name,session_exec);
-                              sessions.push_back(session);
-                              cout << session_exec << " - " << session_name << endl;
-                         }
-@@ -341,6 +344,10 @@
-         pair<string,string> session("","");
-         sessions.push_back(session);
- 	}
-+
-+        std::sort(sessions.begin(), sessions.end(), [](session_t& a, session_t& b) -> bool{
-+                return a.first < b.first;
-+        });
- }
- 
- pair<string,string> Cfg::nextSession() {
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
deleted file mode 100644
index b1be24f3e1d..00000000000
--- a/pkgs/applications/display-managers/slim/themes.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ stdenv, fetchurl, slim }:
-
-# Inspired on aspell buildDict expression
-
-let
-  buildTheme =
-    {fullName, src, version ? "testing"}:
-
-    stdenv. mkDerivation rec {
-      name = "${fullName}-${version}";
-
-      inherit src;
-
-      buildInputs = [ slim ];
-
-      dontBuild = true;
-
-      installPhase = ''
-        install -dm755 $out/share/slim/themes/${name}
-        install -m644 * $out/share/slim/themes/${name}
-      '';
-
-      meta = {
-        description = "Slim theme for ${fullName}";
-        platforms = stdenv.lib.platforms.linux;
-      };
-    };
-
-in {
-
-  archlinuxSimple = buildTheme {
-    fullName = "archlinux-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
-      sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
-    };
-  };
-
-  capernoited = buildTheme {
-    fullName = "capernoited";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
-      sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
-    };
-  };
-
-  debianMoreblue = buildTheme {
-    fullName = "debian-moreblue";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
-      sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
-    };
-  };
-
-  fingerprint = buildTheme {
-    fullName = "fingerprint";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
-      sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
-    };
-  };
-
-  flat = buildTheme {
-    fullName = "flat";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
-      sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
-    };
-  };
-
-  flower2 = buildTheme {
-    fullName = "flower2";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
-      sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
-    };
-  };
-
-  gentooSimple = buildTheme {
-    fullName = "gentoo-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
-      sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
-    };
-  };
-
-  lake = buildTheme {
-    fullName = "lake";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
-      sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
-    };
-  };
-
-  lunar = buildTheme {
-    fullName = "lunar-0.4";
-    version = "";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
-      sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
-    };
-  };
-
-  mindlock = buildTheme {
-    fullName = "mindlock";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
-      sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
-    };
-  };
-
-  parallelDimensions = buildTheme {
-    fullName = "parallel-dimensions";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
-      sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
-    };
-  };
-
-  previous = buildTheme {
-    fullName = "previous";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
-      sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
-    };
-  };
-
-  rainbow = buildTheme {
-    fullName = "rainbow";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
-      sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
-    };
-  };
-
-  rear-window = buildTheme {
-    fullName = "rear-window";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
-      sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
-    };
-  };
-
-  scotlandRoad = buildTheme {
-    fullName = "scotland-road";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
-      sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
-    };
-  };
-
-  subway = buildTheme {
-    fullName = "subway";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
-      sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
-    };
-  };
-
-  wave = buildTheme {
-    fullName = "wave";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-      sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
-    };
-  };
-
-  zenwalk = buildTheme {
-    fullName = "zenwalk";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
-      sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
-    };
-  };
-
-  nixosSlim = buildTheme {
-    fullName = "nixos-slim";
-    src = fetchurl {
-      url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-      sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-    };
-  };
-}
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 93c9b4c04fb..bd1685f7cdb 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -3,6 +3,7 @@
 { alsaLib
 , bash
 , buildFHSUserEnv
+, cacert
 , coreutils
 , dbus
 , expat
@@ -21,6 +22,7 @@
 , freetype
 , libpulseaudio
 , libGL
+, libuuid
 , libX11
 , libxcb
 , libXcomposite
@@ -114,6 +116,7 @@ let
           dbus
           expat
           libpulseaudio
+          libuuid
           libX11
           libxcb
           libXcomposite
@@ -152,7 +155,16 @@ let
   # environment is used as a work around for that.
   fhsEnv = buildFHSUserEnv {
     name = "${drvName}-fhs-env";
-    multiPkgs = pkgs: [ pkgs.ncurses5 ];
+    multiPkgs = pkgs: [
+      pkgs.ncurses5
+
+      # Flutter can only search for certs Fedora-way.
+      (runCommand "fedoracert" {}
+        ''
+        mkdir -p $out/etc/pki/tls/
+        ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs
+        '')
+    ];
   };
 in runCommand
   drvName
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 817bd13e7da..fcd15355a10 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -8,19 +8,19 @@ let
     inherit (gnome2) GConf gnome_vfs;
   };
   stableVersion = {
-    version = "3.5.1.0"; # "Android Studio 3.5.1"
-    build = "191.5900203";
-    sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
+    version = "3.5.3.0"; # "Android Studio 3.5.3"
+    build = "191.6010548";
+    sha256Hash = "1nsm4d3vdx90szqd78a8mjq65xc9m5ipd35cqrlx3c3ny900sqxg";
   };
   betaVersion = {
-    version = "3.6.0.14"; # "Android Studio 3.6 Beta 2"
-    build = "192.5947919";
-    sha256Hash = "09l7mdjkzwnkkcgxp0x66bzm125ignrfssy7n141wvs2rd66i2fs";
+    version = "3.6.0.18"; # "Android Studio 3.6 RC 1"
+    build = "192.6071332";
+    sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.1"; # "Android Studio 4.0 Canary 1"
-    build = "192.5959023";
-    sha256Hash = "1d9hvyk0wnfiip1612ci4sbw58rq93cyy026cx6s33rvjk3cwfrl";
+    version = "4.0.0.6"; # "Android Studio 4.0 Canary 6"
+    build = "193.6052267";
+    sha256Hash = "1naxyfnrj7milqha7xbwbcvyi81a7fqb7jsm03hhq5xs2sw55m1c";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 13db2d13567..4b3a7e11f3b 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -13,11 +13,10 @@ assert stdenv ? glibc;
 
 let
   platform_major = "4";
-  platform_minor = "13";
+  platform_minor = "14";
   year = "2019";
-  month = "09";
-  timestamp = "201909161045";
-
+  month = "12";
+  timestamp = "201912100610";
 in rec {
 
   buildEclipse = import ./build-eclipse.nix {
@@ -30,11 +29,11 @@ in rec {
 
   eclipse-cpp = buildEclipse {
     name = "eclipse-cpp-${platform_major}.${platform_minor}";
-    description = "Eclipse IDE for C/C++ Developers, Oxygen release";
+    description = "Eclipse IDE for C/C++ Developers";
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "0s9wvxd1bahlcdw7l6cyfi59p78j6gym3a3mn1z6dm6swxgyb2wjjl7hx8bkg0zs8x31bwllpdq22y2vcm6j57h40v53l3xkhy73m8v";
+        sha512 = "28h8z45j7zlcbvvabzsniwqls1lns21isx69y6l207a869rknp9vzg6506q6zalj9b49j8c7ynkn379xgbzp07i6zw3dzk3pqp2rgam";
       };
   };
 
@@ -46,7 +45,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "09nc7ipv67h0gr7lkxsbxrgj9gn48348asn03ylcvflyrcxghqs8n11a75rwvdj98igdzpw922saicx5lqq5g2flfqiga97lwwhfiz5";
+        sha512 = "1g1zsz3c2kx4vs1mjpcisbk81lk4hsr1z2fw46lih825c53vwf59snp8d97c8yw2i25y0ml48nc1nskib6qnif8m2h6rpah7kgmi8ay";
       };
   };
 
@@ -58,7 +57,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "2c40wwrc2ip32n0m5cs8ds0g7cs7018acw8gjkd23msa4pr9x9511c3dj6rbnn1hwzf9yjq6vnjmib5qarxd3vly76jwxhf867l1f7v";
+        sha512 = "05nsldw937l1g9fj964njivgkf2ipk1rh1jg5w8svdhpp3v1pp3iinfm2mz9kk8namwfkx8krsvsxcgvqyzgrkhf42wqh53vqrjf70h";
       };
   };
 
@@ -88,7 +87,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        sha512 = "2vm646d1crzzzysll3p5pjfljfjzxx4qd37dqcp6xjm91zg8iskli688h0lgla0rmbwz5kj509jp22m4rxkp3cbgd006dd0jr3icdls";
+        sha512 = "0dcbxzjqc27v1faz16yxqcm6zrbna4kkd32xy7paadiwn125y6ijx8zvda4kc7bih6v5b9ch2i0z5ndra1lcjcc88z6cklh0vngjkh1";
       };
   };
 
@@ -100,7 +99,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        sha512 = "3zyxqd8iwrfgjjg91dfi4bda61rd2717hy53swmbygi48zaaam70swx997yp5qzxwjp3macdslfk6sqhq2qlcdwcdl6dmkry018jh7b";
+        sha512 = "21lhgv3z23mn8q0gffgxlfwhyxb348zjnzv716zsys7h7kj5vigl45q9mz0qrl11524rxx7jwi901jjd4l258w9kp7wzlq0d5n1r39m";
       };
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index b2fdeafd37c..364d432f1e3 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -254,12 +254,12 @@ rec {
 
   cdt = buildEclipseUpdateSite rec {
     name = "cdt-${version}";
-    version = "9.9.0";
+    version = "9.10.0";
 
     src = fetchzip {
       stripRoot = false;
-      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.9/${name}/${name}.zip";
-      sha256 = "1vgx7ggilfwmx0bjrhk7mwlwg1c8lb141ilj3vzwxivlffihy054";
+      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.10/${name}/${name}.zip";
+      sha256 = "0rjm91j0h1aq9lq4sdwgp9b2yp4w9lr13n82z32dw3gz3nby1mvi";
     };
 
     meta = with stdenv.lib; {
@@ -474,12 +474,12 @@ rec {
 
   jdt = buildEclipseUpdateSite rec {
     name = "jdt-${version}";
-    version = "4.13";
+    version = "4.14";
 
     src = fetchzip {
       stripRoot = false;
-      url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.13-201909161045/org.eclipse.jdt-4.13.zip;
-      sha256 = "0sfpxph0cszcx1cihzzjn60qid8sxgl2xyr9x46fld4ian5a7vbr";
+      url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.14-201912100610/org.eclipse.jdt-4.14.zip;
+      sha256 = "16c5v59mkb0cyfhf2475ds1ajma65bhqfxjr6v59hianqxq9h9la";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix
index 0de514233f8..1161fc8256c 100644
--- a/pkgs/applications/editors/edbrowse/default.nix
+++ b/pkgs/applications/editors/edbrowse/default.nix
@@ -1,19 +1,11 @@
-{ stdenv, fetchFromGitHub, fetchpatch, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
+{ stdenv, fetchFromGitHub, duktape, curl, pcre, readline, openssl, perl, html-tidy }:
 
 stdenv.mkDerivation rec {
   pname = "edbrowse";
-  version = "3.7.4";
+  version = "3.7.6";
 
   buildInputs = [ curl pcre readline openssl duktape perl html-tidy ];
 
-  patches = [
-    # Fix build against recent libcurl
-    (fetchpatch {
-      url = https://github.com/CMB/edbrowse/commit/5d2b9e21fdf019f461ebe62738d615428d5db963.diff;
-      sha256 = "167q8n0syj3iv6lxrbpv4kvb63j4byj4qxrxayy08bah3pss3gky";
-    })
-  ];
-
   postPatch = ''
     for i in ./tools/*.pl
     do
@@ -21,13 +13,16 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = "-C src prefix=$(out)";
+  makeFlags = [ 
+    "-C src"
+    "prefix=${placeholder "out"}"
+  ];
 
   src = fetchFromGitHub {
     owner = "CMB";
     repo = "edbrowse";
     rev = "v${version}";
-    sha256 = "0i9ivyfy1dd16c89f392kwx6wxgkkpyq2hl32jhzra0fb0zyl0k6";
+    sha256 = "0yk4djb9q8ll94fs57y706bsqlar4pfx6ysasvkzj146926lrh8a";
   };
   meta = with stdenv.lib; {
     description = "Command Line Editor Browser";
@@ -39,8 +34,8 @@ stdenv.mkDerivation rec {
       edbrowse can also tap into databases through odbc. It was primarily written by Karl Dahlke.
       '';
     license = licenses.gpl1Plus;
-    homepage = http://edbrowse.org/;
-    maintainers = [ maintainers.schmitthenner maintainers.vrthra ];
+    homepage = "https://edbrowse.org/";
+    maintainers = with maintainers; [ schmitthenner vrthra equirosa ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
index 3d34c7a462e..33f2ad79ea0 100644
--- a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
+++ b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchzip, emacs, colorTheme}:
+{stdenv, fetchzip, emacs, color-theme}:
 let
-  commit = "412713a0fcedd520d208a7b783fea03d710bcc61";
+  commit = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee";
 in
 stdenv.mkDerivation {
   name = "color-theme-solarized-1.0.0";
@@ -8,15 +8,14 @@ stdenv.mkDerivation {
   src = fetchzip {
 
     url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip";
-    sha256 = "1xd2yk7p39zxgcf91s80pqknzdxw9d09cppjb87g7ihj6f0wxqjv";
+    sha256 = "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3";
   };
 
   buildInputs = [ emacs ];
-  propagatedUserEnvPkgs = [ colorTheme ];
-
+  propagatedUserEnvPkgs = [ color-theme ];
 
   buildPhase = ''
-    emacs -L . -L ${colorTheme}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+    emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* --batch -f batch-byte-compile *.el
   '';
 
   installPhase = ''
@@ -30,8 +29,5 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.samuelrivas ];
     license = licenses.mit;
     platforms = platforms.all;
-
-    # Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to`
-    broken = true;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index a6bea779eae..a6d657199b9 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -40,6 +40,9 @@ self: let
       cl-lib = null; # builtin
       tle = null; # builtin
       advice = null; # builtin
+      seq = if lib.versionAtLeast self.emacs.version "27"
+            then null
+            else super.seq;
     };
 
     elpaPackages = super // overrides;
diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix
index df94a7a650a..d773de4375c 100644
--- a/pkgs/applications/editors/emacs-modes/manual-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -117,6 +117,8 @@
 
   structured-haskell-mode = self.shm;
 
+  sv-kalender = callPackage ./sv-kalender { };
+
   thingatpt-plus = callPackage ./thingatpt-plus { };
 
   tramp = callPackage ./tramp { };
@@ -128,9 +130,7 @@
   # From old emacsPackages (pre emacsPackagesNg)
   cedet = callPackage ./cedet { };
   cedille = callPackage ./cedille { cedille = pkgs.cedille; };
-  colorThemeSolarized = callPackage ./color-theme-solarized {
-    colorTheme = self.color-theme;
-  };
+  colorThemeSolarized = callPackage ./color-theme-solarized { };
   emacsSessionManagement = callPackage ./session-management-for-emacs { };
   hsc3-mode = callPackage ./hsc3 { };
   hol_light_mode = callPackage ./hol_light { };
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index c1fad2dc865..8d70794a754 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20190527";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20190527.tar";
-          sha256 = "1fc2nyylzpikjikyb24xq2mcilridcahmjwmg0s426dqrgqpm9ij";
+          url = "http://orgmode.org/elpa/org-20191203.tar";
+          sha256 = "1fcgiswjnqmfzx3xkmlqyyhc4a8ms07vdsv7nkizgxqdh9hwfm2q";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20190527";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20190527.tar";
-          sha256 = "16kf47ij25fijf6pbfxzq9xzildj1asdzhnkf5zv5pn4312pvgnq";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20191203.tar";
+          sha256 = "1kvw95492acb7gqn8gxbp1vg4fyw80w43yvflxnfxdf6jnnw2wah";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix b/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix
new file mode 100644
index 00000000000..bcd947983a3
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/sv-kalender/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, trivialBuild }:
+
+trivialBuild {
+  pname = "sv-kalender";
+  version = "1.9";
+
+  src = fetchurl {
+    url = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
+    sha256 = "0kilp0nyhj67qscy13s0g07kygz2qwmddklhan020sk7z7jv3lpi";
+    postFetch = ''
+      echo "(provide 'sv-kalender)" >> $out
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Swedish calendar for Emacs";
+    homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainer.rycee ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/25.nix b/pkgs/applications/editors/emacs/25.nix
index 76009370473..42edb7c707e 100644
--- a/pkgs/applications/editors/emacs/25.nix
+++ b/pkgs/applications/editors/emacs/25.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
+{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d, fetchpatch
 , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
 , alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO
 , withX ? !stdenv.isDarwin
 , withGTK2 ? false, gtk2 ? null
 , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null
-, withXwidgets ? false, webkitgtk24x-gtk3 ? null, wrapGAppsHook ? null, glib-networking ? null
+, withXwidgets ? false, webkitgtk, wrapGAppsHook ? null, glib-networking ? null
 , withCsrc ? true
-, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
+, autoconf ? null, automake ? null, texinfo ? null
 }:
 
 assert (libXft != null) -> libpng != null;      # probably a bug
@@ -16,7 +16,7 @@ assert withGTK2 -> withX || stdenv.isDarwin;
 assert withGTK3 -> withX || stdenv.isDarwin;
 assert withGTK2 -> !withGTK3 && gtk2 != null;
 assert withGTK3 -> !withGTK2 && gtk3 != null;
-assert withXwidgets -> withGTK3 && webkitgtk24x-gtk3 != null;
+assert withXwidgets -> withGTK3 && webkitgtk != null;
 
 let
   toolkit =
@@ -46,10 +46,21 @@ stdenv.mkDerivation rec {
       url = "https://gist.githubusercontent.com/aaronjensen/f45894ddf431ecbff78b1bcf533d3e6b/raw/6a5cd7f57341aba673234348d8b0d2e776f86719/Emacs-25-OS-X-use-vfork.patch";
       sha256 = "1nlsxiaynswqhy99jf4mw9x0sndhwcrwy8713kq1l3xqv9dbrzgj";
     })
+  ] ++ [
+    # Backport patches so we can use webkitgtk with xwidgets.
+    (fetchpatch {
+      name = "0001-Omit-unnecessary-includes-from-xwidget-c.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/a36ed9b5e95afea5716256bac24d883263aefbaf.patch";
+      sha256 = "1j34c0vkj87il87xy1px23yk6bw73adpr7wqa79ncj89i4lc8qkb";
+    })
+    (fetchpatch {
+      name = "0002-xwidget-Use-WebKit2-API.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/d781662873f228b110a128f7a2b6583a4d5e0a3a.patch";
+      sha256 = "1lld56zi4cw2hmjxhhdcc0f07k8lbj32h10wcq4ml3asdwa31ryr";
+    })
   ];
 
-  nativeBuildInputs = [ pkgconfig ]
-    ++ lib.optionals srcRepo [ autoconf automake texinfo ]
+  nativeBuildInputs = [ pkgconfig autoconf automake texinfo ]
     ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
 
   buildInputs =
@@ -61,7 +72,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (withX && withGTK2) gtk2
     ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ]
     ++ lib.optional (stdenv.isDarwin && withX) cairo
-    ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ]
+    ++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
     ++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
 
   hardeningDisable = [ "format" ];
@@ -75,7 +86,7 @@ stdenv.mkDerivation rec {
              "--with-gif=no" "--with-tiff=no" ])
     ++ lib.optional withXwidgets "--with-xwidgets";
 
-  preConfigure = lib.optionalString srcRepo ''
+  preConfigure = ''
     ./autogen.sh
   '' + ''
     substituteInPlace lisp/international/mule-cmds.el \
diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix
index 29a6a8773ef..2862ba7184f 100644
--- a/pkgs/applications/editors/emacs/default.nix
+++ b/pkgs/applications/editors/emacs/default.nix
@@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
     [ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ]
     ++ lib.optionals stdenv.isLinux [ dbus libselinux systemd ]
     ++ lib.optionals withX
-      [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
+      [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff libXft
         gconf ]
-    ++ lib.optionals (withX || withNS) [ imagemagick ]
+    ++ lib.optionals (withX || withNS) [ imagemagick librsvg ]
     ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
     ++ lib.optional (withX && withGTK2) gtk2-x11
     ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index 649997171e9..e9307c7e80b 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -4,10 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  emacsVersion = "26.3";
-  emacsName = "emacs-${emacsVersion}";
+  pname = "emacs";
+  version = "26.3";
+
+  emacsName = "emacs-${version}";
   macportVersion = "7.7";
-  name = "emacs-mac-${emacsVersion}-${macportVersion}";
+  name = "emacs-mac-${version}-${macportVersion}";
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index b8b11e5e831..cbff8e606f2 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://flpsed.org/flpsed.html;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 1e1a817f092..d3cc3624419 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,36 +1,51 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl, hicolor-icon-theme }:
-
-with stdenv.lib;
-
-let
-  version = "1.36";
-in
+{ stdenv
+, fetchurl
+, gtk3
+, which
+, pkgconfig
+, intltool
+, file
+, libintl
+, hicolor-icon-theme
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "geany";
-  inherit version;
+  version = "1.36";
+
+  outputs = [ "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://download.geany.org/${pname}-${version}.tar.bz2";
     sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool libintl ];
-  buildInputs = [ gtk2 which file hicolor-icon-theme ];
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libintl
+    which
+    file
+    hicolor-icon-theme
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
-  patchPhase = "patchShebangs .";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Small and lightweight IDE";
     longDescription = ''
       Geany is a small and lightweight Integrated Development Environment.
       It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
       Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
-      Geany only requires the GTK2 runtime libraries.
+      Geany only requires the GTK runtime libraries.
       Some basic features of Geany:
       - Syntax highlighting
       - Code folding
@@ -45,7 +60,7 @@ stdenv.mkDerivation rec {
       - Simple project management
       - Plugin interface
     '';
-    homepage = https://www.geany.org/;
+    homepage = "https://www.geany.org/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ frlan ];
     platforms = platforms.all;
diff --git a/pkgs/applications/editors/geany/with-vte.nix b/pkgs/applications/editors/geany/with-vte.nix
index f7351454fb8..ece5c95f05a 100644
--- a/pkgs/applications/editors/geany/with-vte.nix
+++ b/pkgs/applications/editors/geany/with-vte.nix
@@ -1,8 +1,24 @@
-{ runCommand, makeWrapper, geany, gnome2 }:
-let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name;
-in
-runCommand name { nativeBuildInputs = [ makeWrapper ]; inherit (geany.meta); } "
-   mkdir -p $out
-   ln -s ${geany}/share $out
-   makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib
-"
+{ symlinkJoin
+, makeWrapper
+, geany
+, lndir
+, vte
+}:
+
+symlinkJoin {
+  name = "geany-with-vte-${geany.version}";
+
+  # TODO: add geany-plugins
+  paths = with geany; [ out doc man ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    # need to replace the directory since it is a symlink
+    rm -r $out/bin; mkdir $out/bin
+    makeWrapper ${geany}/bin/geany $out/bin/geany \
+      --prefix LD_LIBRARY_PATH : ${vte}/lib
+  '';
+
+  inherit (geany.meta);
+}
diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix
new file mode 100644
index 00000000000..0e30d879b0c
--- /dev/null
+++ b/pkgs/applications/editors/glow/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "glow";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = "glow";
+    rev = "v${version}";
+    sha256 = "16zadrp42y01hi83hg47cw6c9zpw8z4xfssb5pxkmd2ynihaxfv5";
+  };
+
+  modSha256 = "1q67j9wg0kgb41zjgdbcrywxbwh597n8shwnwgl2xa6f7fvzpr4f";
+
+  meta = src.meta // {
+    description = "Render markdown on the CLI";
+    maintainers = with lib.maintainers; [ ehmry filalex77 ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index 6ac2c6d4964..bda0552e752 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -5,6 +5,7 @@
 , docbook_xsl
 , docbook_xml_dtd_43
 , fetchurl
+, fetchpatch
 , flatpak
 , gnome3
 , libgit2-glib
@@ -45,6 +46,18 @@ stdenv.mkDerivation rec {
     sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
   };
 
+  patches = [
+    # Fix build with Meson 0.52
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/c8b862b491cfbbb4f79b24d7cd90e4fb1f37cb9f.patch";
+      sha256 = "0n8kg7nnjqmbnyag1ps6dvrlqrxc94djjncqx10d6y7ijwdxf4w8";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/da26dfbf78468f5ed724e022b300a07862a95833.patch";
+      sha256 = "0psa65bzjpjj7vc5rknv2w2dz3p50jjv10s6j2fd6lpw8j2800k4";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index 3abe2834db4..f194227932d 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -1,5 +1,5 @@
 { avahiSupport ? false # build support for Avahi in libinfinity
-, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook
+, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook, yelp-tools
 , gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome3 }:
 
 let
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     sha256 = "0q7lq64yn16lxvj4jphs8y9194h0xppj8k7y9x8b276krraak2az";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool gnome3.yelp-tools wrapGAppsHook ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool yelp-tools wrapGAppsHook ];
   buildInputs = [ gtkmm3 gsasl gtksourceview3 libxmlxx libinf ];
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/applications/editors/hexdino/default.nix b/pkgs/applications/editors/hexdino/default.nix
new file mode 100644
index 00000000000..ef3635aa8d2
--- /dev/null
+++ b/pkgs/applications/editors/hexdino/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, ncurses }:
+rustPlatform.buildRustPackage rec {
+  name = "hexdino-${version}";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Luz";
+    repo = "hexdino";
+    rev = "de5b5d7042129f57e0ab36416a06476126bce389";
+    sha256 = "11mz07735gxqfamjcjjmxya6swlvr1p77sgd377zjcmd6z54gwyf";
+  };
+
+  cargoSha256 = "0qa8ypp5a7sf1gic482zh3i6s94w6k6bgmk5ynfvwi7g49ql7c4z";
+  verifyCargoDeps = true;
+
+  buildInputs = [ ncurses ];
+
+  meta = with stdenv.lib; {
+    description = "A hex editor with vim like keybindings written in Rust";
+    homepage = https://github.com/Luz/hexdino;
+    license = licenses.mit;
+    maintainers = [ maintainers.luz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 16d5609934d..48af3c9b014 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.5"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "0kiqbcx64rlz1pajbn326zwy0d1vxdxpvk5xpqkcj7nva611pdq1"; /* updated by script */
+      sha256 = "0p0shikhf73ayflv5bm212kz06hiy3brww9h9ijjp6lcadxc9pmf"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2019.2.5"; /* updated by script */
+    version = "2019.2.6"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "18frmlchalpvc55j25ig2slf2h33gwmbmm8dvc29jb3kgsl0ny7p"; /* updated by script */
+      sha256 = "0g57njcklyskadxmvwb0r0z3ckq9qmcwh8qd80w396gj8fgbg50g"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.2.2"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "1wq1prgfn6wc7lc6qjhiykm62c56yrb5rv0hyylcsgdw0q3ns6z2"; /* updated by script */
+      sha256 = "0rkyw3532qvr6jhr09m3h0ssdy5ilfgfvqqliyf0cacwzw9lfv0p"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0gy42x49yhdnp4ks6445xbc24dxw2vxnl12hdyx03mszdv0r58ni"; /* updated by script */
+      sha256 = "012vmclx6kg85gffgc9mr3fp1ffgx20dz7xvafk7c1iynawx8wgq"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0allnibq8van3n1c5y85gscbpls0wshwffa6b2l2andw1jkhc259"; /* updated by script */
+      sha256 = "09mz4dx3zbnqw0vh4iqr8sn2s8mvgr7zvn4k7kqivsiv8f79g90a"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "0pra0hmyczxcxnvsc7rqiwhwj23ckx97c9m1wcyn7ik612xwik1i"; /* updated by script */
+      sha256 = "1bx8s4hh96pjfyccldwfarwv5fky6kg2kyc0h2arhfzwq1pbaisl"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "02fynwi54libibgigwggh6xaf5p4046n0kjsqsck1kjbnrlghp10"; /* updated by script */
+      sha256 = "00dl3yx13lw8qyc23dirw96vm2d8c6zsx73ds1ha8zycfh6hkxf8"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "19i3ll8p69n7jw7psv2nkhjq899gljwmc5ixpqhyl203rykavb7n"; /* updated by script */
+      sha256 = "14ab1cvypanwwn0k1hrx3rl964av6pvridgc19z49idw5wpgxgw7"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -354,12 +354,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2019.2.2"; /* updated by script */
+    version = "2019.2.3"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "1wv5vhiv3w1dwyklx1pr5javp4psqyiv4naq37cvxxp9zh7hk8rc"; /* updated by script */
+      sha256 = "13br6zmqpvi9hcd6wdnalkhj50gzr7cwrdh4v2bpda77iby2pz93"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0g8yxsq9xn8l8wnmcm0y5y0ll5081s83mmwrb62k4bldlsr25iba"; /* updated by script */
+      sha256 = "1dqp222zvi8ikqdkprmqihyjxiq90vd0a0zl5935xjg1mzf8ald9"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2019.2.3"; /* updated by script */
+    version = "2019.2.4"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0l3c3b1d53b3w90d4g99pjw8vmjj716jjaxsv4hy53shh1ncd55g"; /* updated by script */
+      sha256 = "0iz9qgrbhn1rxr8n5q1y7klfs27j1f55pw8hqbl2ln4df94zqi5j"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index cb9f10281c7..70b2d3c148d 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gnome3, gtksourceview3, at-spi2-core, gtksourceviewmm,
+{ stdenv, fetchgit, dconf, gtksourceview3, at-spi2-core, gtksourceviewmm,
   boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
   libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3,
   coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }:
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     gtksourceviewmm
     llvmPackages.clang.cc
     llvmPackages.lldb
-    gnome3.dconf
+    dconf
   ];
 
 
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index 065657d16e2..a6580581f85 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2019.07.01";
+  version = "2019.12.10";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "0jdkldq5rygzc0wcxr1j4fmp2phciy8602ghhf6xq21a9bq2v639";
+    sha256 = "0cb3ndlczxvxnzb91s4idxx0cy30mnrc4znsbjpnch68fvpm0x2f";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix
index 61e2b3a5845..4e92887bccb 100644
--- a/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -7,6 +7,7 @@
   kak-auto-pairs = pkgs.callPackage ./kak-auto-pairs.nix { };
   kak-buffers = pkgs.callPackage ./kak-buffers.nix { };
   kak-fzf = pkgs.callPackage ./kak-fzf.nix { };
+  kak-plumb = pkgs.callPackage ./kak-plumb.nix { };
   kak-powerline = pkgs.callPackage ./kak-powerline.nix { };
   kak-vertical-selection = pkgs.callPackage ./kak-vertical-selection.nix { };
 }
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix b/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
index 48dc7106b62..512f1f09207 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-auto-pairs.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune extension to enable automatic closing of pairs";
     homepage = "https://github.com/alexherbo2/auto-pairs.kak";
-    license = licenses.publicDoman;
+    license = licenses.unlicense;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix b/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
index 8a2474f0762..eaf20aeadf8 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-buffers.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Ease navigation between opened buffers in Kakoune";
     homepage = "https://github.com/Delapouite/kakoune-buffers";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix b/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
index 9877c72252b..dd0faf63453 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-fzf.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune plugin that brings integration with fzf";
     homepage = "https://github.com/andreyorst/fzf.kak";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix b/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix
new file mode 100644
index 00000000000..7abef930531
--- /dev/null
+++ b/pkgs/applications/editors/kakoune/plugins/kak-plumb.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, kakoune-unwrapped, plan9port, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "kak-plumb";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "eraserhd";
+    repo = "kak-plumb";
+    rev = "v${version}";
+    sha256 = "1rz6pr786slnf1a78m3sj09axr4d2lb5rg7sfa4mfg1zcjh06ps6";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/kak/autoload/plugins/
+    substitute rc/plumb.kak $out/share/kak/autoload/plugins/plumb.kak \
+      --replace '9 plumb' '${plan9port}/bin/9 plumb'
+    substitute edit-client $out/bin/edit-client \
+      --replace '9 9p' '${plan9port}/bin/9 9p' \
+      --replace 'kak -p' '${kakoune-unwrapped}/bin/kak -p'
+    chmod +x $out/bin/edit-client
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Kakoune integration with the Plan 9 plumber";
+    homepage = "https://github.com/eraserhd/kak-plumb";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ eraserhd ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix b/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
index 76af06504ea..d328e47f7e1 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-powerline.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Kakoune modeline, but with passion";
     homepage = "https://github.com/andreyorst/powerline.kak";
-    license = licenses.publicDoman;
+    license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix b/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
index 280fb664b8f..7658ba0f7ad 100644
--- a/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
+++ b/pkgs/applications/editors/kakoune/plugins/kak-vertical-selection.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib;
   { description = "Select up and down lines that match the same pattern in Kakoune";
     homepage = "https://github.com/occivink/kakoune-vertical-selection";
-    license = licenses.publicDoman;
+    license = licenses.unlicense;
     maintainers = with maintainers; [ nrdxp ];
     platform = platforms.all;
   };
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index e367b586f30..19fef1c42dc 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.4.2";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1ilazq2y671wifcrh7pa0zf9yqymqxwj1m2kd389ik2p6wm68jx8";
+    sha256 = "12j0l2k6ii9ajp90lil3apk0xsz56cb549ighabik73a1w3c6ib6";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 1052c5e1ba3..7723b9482a2 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.4.2";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1nnspa1mixdb5z0a8m4nbpsk6c4s81iwrirhrl7091hsw02bsx3f";
+    sha256 = "1iq4lxbl8gq4qvydyz34ild4izw21cp22adlz9dc054v0wis331j";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 4c2011b5b03..21b469347df 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -1,3 +1,4 @@
+
 { mkDerivation, lib, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules
 , qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase
 , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
@@ -9,11 +10,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.4.2";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1i665m4jd1r5bl77pcfybpn9szxzccrajs4m0prqwhlj93d57qjj";
+    sha256 = "08vhbg9ql0402bw3y3xw1kdxhig9sv3ss8g0h4477vy3z17m1h4j";
   };
 
   nativeBuildInputs = [
@@ -36,7 +37,7 @@ mkDerivation rec {
   # https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b
   # required as nixos seems to be unable to find CLANG_BUILTIN_DIR
   cmakeFlags = [
-    "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include"
+    "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${lib.getVersion llvmPackages.clang}/include"
   ];
 
   dontWrapQtApps = true;
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index a106c316674..9d0d91f4be5 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
 , # Patchelf dependencies:
-  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU_combined
+  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU, libGL
 , openssl, xorg, zlib
 }:
 
@@ -56,7 +56,7 @@ in
           $out/kodestudio
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGLU_combined}/lib:${openssl.out}/lib" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGL}/lib:${libGLU}/lib:${openssl.out}/lib" \
           $out/resources/app/extensions/krom/Krom/linux/Krom
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/editors/mle/default.nix b/pkgs/applications/editors/mle/default.nix
new file mode 100644
index 00000000000..2c36be1c21b
--- /dev/null
+++ b/pkgs/applications/editors/mle/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, termbox, pcre, uthash, lua5_3 }:
+
+stdenv.mkDerivation rec {
+  pname = "mle";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "adsr";
+    repo = "mle";
+    rev = "v${version}";
+    sha256 = "053zvxkjx2zwq6lwkycirxz1m9sjc3zi9ic8fvp3mjvbqfri1y3x";
+  };
+
+  # Fix location of Lua 5.3 header and library
+  postPatch = ''
+    substituteInPlace Makefile --replace "-llua5.3" "-llua";
+    substituteInPlace mle.h    --replace "<lua5.3/" "<";
+    patchShebangs tests/*
+  '';
+
+  buildInputs = [ termbox pcre uthash lua5_3 ];
+
+  doCheck = true;
+
+  installFlags = [ "prefix=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "Small, flexible terminal-based text editor";
+    homepage = "https://github.com/adsr/mle";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ adsr ];
+  };
+}
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 15f251f5b09..4197792d736 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "4.5";
+  version = "4.7";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy";
+    sha256 = "1x9nqy2kgaz6087p63i71gdjsqbdc9jjpx1ymlyclfakvsby3h2q";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 99b04059730..bca885b55aa 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -2,7 +2,6 @@
 , libuv, lua, ncurses, pkgconfig
 , unibilium, xsel, gperf
 , libvterm-neovim
-, withJemalloc ? true, jemalloc
 , glibcLocales ? null, procps ? null
 
 # now defaults to false because some tests can be flaky (clipboard etc)
@@ -21,13 +20,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.4.2";
+    version = "0.4.3";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "13w446plvgl219lhj29jyimhiqvs1y1byrz4qpdmxgyddmx9xqss";
+      sha256 = "03p7pic7hw9yxxv7fbgls1f42apx3lik2k6mpaz1a109ngyc5kaj";
     };
 
     patches = [
@@ -50,8 +49,7 @@ in
       ncurses
       neovimLuaEnv
       unibilium
-    ] ++ optional withJemalloc jemalloc
-      ++ optional stdenv.isDarwin libiconv
+    ] ++ optional stdenv.isDarwin libiconv
       ++ optionals doCheck [ glibcLocales procps ]
     ;
 
@@ -92,16 +90,11 @@ in
     hardeningDisable = [ "fortify" ];
 
     preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-      export DYLD_LIBRARY_PATH=${jemalloc}/lib
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
     postInstall = stdenv.lib.optionalString stdenv.isLinux ''
       sed -i -e "s|'xsel|'${xsel}/bin/xsel|g" $out/share/nvim/runtime/autoload/provider/clipboard.vim
-    '' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
-      install_name_tool -change libjemalloc.1.dylib \
-                ${jemalloc}/lib/libjemalloc.1.dylib \
-                $out/bin/nvim
     '';
 
     # export PATH=$PWD/build/bin:${PATH}
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index 18f458fd85c..9893c6085a6 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 
 pythonPackages.buildPythonApplication rec {
   pname = "neovim-remote";
-  version = "2.2.2";
+  version = "2.2.3";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "mhinz";
     repo = "neovim-remote";
     rev = "v${version}";
-    sha256 = "129yjpwn6480rd5na866h4mcr6rf60rqv651hks5fn3ws112n751";
+    sha256 = "0g7gs5gigk3krydxdpmscgfr1fms0a6rc6am2y4c5szkgbd1d0ph";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index d9c3bd0825d..668c8d740b2 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quilter";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "13l8z3bchha4ax14s48pcqdxh8gnj4mlvv06lk9dwk9fplc93821";
+    sha256 = "1vbckx4c2bklzxpqz332sjcyrx1xl1j0cp8778fvpl7x7mlnz460";
   };
 
   nativeBuildInputs = [
@@ -39,6 +39,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Focus on your writing - designed for elementary OS";
     homepage = https://github.com/lainsce/quilter;
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 11a5b4c7ba3..6bb40f0166d 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.11.1";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1";
+    sha256 = "1xs2wvm9g8vypz25li7rm8m0j4dsdpqpajcvrc756x5m149dxc08";
   };
 
   # We have not packaged tests.
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   strictDeps = false;
 
   meta = with lib; {
-    homepage = http://rednotebook.sourceforge.net/;
+    homepage = "https://rednotebook.sourceforge.io/";
     description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
     license = licenses.gpl2;
     maintainers = with maintainers; [ orivej tstrobel ];
diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix
index d1028ec6ce8..e9742389261 100644
--- a/pkgs/applications/editors/retext/default.nix
+++ b/pkgs/applications/editors/retext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3, fetchFromGitHub, makeWrapper, buildEnv, aspellDicts
+{ stdenv, python3, fetchFromGitHub, wrapQtAppsHook, buildEnv, aspellDicts
 # Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
 # available.
 , enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
@@ -9,7 +9,7 @@ let
   python = let
     packageOverrides = self: super: {
       markdown = super.markdown.overridePythonAttrs(old: {
-        src =  super.fetchPypi {
+        src = super.fetchPypi {
           version = "3.0.1";
           pname = "Markdown";
           sha256 = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c";
@@ -17,11 +17,12 @@ let
       });
 
       chardet = super.chardet.overridePythonAttrs(old: {
-        src =  super.fetchPypi {
+        src = super.fetchPypi {
           version = "2.3.0";
           pname = "chardet";
           sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
         };
+        patches = [];
       });
     };
     in python3.override { inherit packageOverrides; };
@@ -41,12 +42,11 @@ in python.pkgs.buildPythonApplication {
 
   doCheck = false;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ wrapQtAppsHook ];
   propagatedBuildInputs = [ pythonEnv ];
 
   postInstall = ''
-    mv $out/bin/retext $out/bin/.retext
-    makeWrapper "$out/bin/.retext" "$out/bin/retext" \
+    wrapQtApp "$out/bin/retext" \
       --set ASPELL_CONF "dict-dir ${buildEnv {
         name = "aspell-all-dicts";
         paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 31160c0916c..8ca3f8cb2a9 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -16,7 +16,7 @@
 
 let
   pname = "TeXmacs";
-  version = "1.99.10";
+  version = "1.99.11";
   common = callPackage ./common.nix {
     inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
   };
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
-    sha256 = "1k12bkcik7mv93q0j7q3b77x8s6rmvlb23s3v7nnzdwjxlp5lph2";
+    sha256 = "12bp0f34izzqimz49lfpgf4lyz3h45s9xbmk8v6zsawdjki76alg";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 04e2cb45e28..13b7f4db0c5 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchFromGitHub, qt5, poppler, zlib, pkgconfig}:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtscript, qtsvg,
+  wrapQtAppsHook, poppler, zlib, pkgconfig }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "texstudio";
   version = "2.12.16";
 
@@ -11,12 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
   };
 
-  nativeBuildInputs = [ qt5.qmake pkgconfig ];
-  buildInputs = [ qt5.qtbase qt5.qtscript qt5.qtsvg poppler zlib ];
+  nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
+  buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
 
   qmakeFlags = [ "NO_APPDATA=True" ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
 	Fork of TeXMaker, this editor is a full fledged IDE for
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index a6179452f4d..26b7ab5a0fb 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.2.0b7";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh";
+    sha256 = "1hfpjw4fac0kq3n9jqwfzbys6h35qjbh5rpc4jzhlln200h6zvwj";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -22,6 +22,7 @@ buildPythonApplication rec {
     mypy
     pyperclip
     asttokens
+    send2trash
   ];
 
   preInstall = ''
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index fa9cc155f36..e66530aaf76 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.2.5";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sz8klz0nz60dhvz7pdn44zwr9q578pq50sxsbynz7irhrv02b52";
+    sha256 = "1vhg8m1b7ccccrzlp0pyf3qskgvlf6sn1w956zsczmndrixbli9a";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 9d22cdbf4a8..ceecfa73ce4 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.1.2188";
+  version = "8.1.2407";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0ixq96l991b84sj66v63ds61yr75gx5zz411213yn6bz3s2fvlcv";
+    sha256 = "1h23lncm8py0ip8p61y8hivmnd8fzf8xpwpkd73d3a3fpiyd2yx8";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index d21d0ad5ee0..bb3d571e6f8 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -145,7 +145,12 @@ in stdenv.mkDerivation rec {
       cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
     '';
 
+  preInstall = ''
+    mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
+  '';
+
   postInstall = ''
+    ln -s $out/bin/vim $out/bin/vi
   '' + stdenv.lib.optionalString stdenv.isLinux ''
     patchelf --set-rpath \
       "$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \
@@ -177,9 +182,5 @@ in stdenv.mkDerivation rec {
     rewrap gvimdiff -gd
   '';
 
-  preInstall = ''
-    mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
-  '';
-
-  dontStrip = 1;
+  dontStrip = true;
 }
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 073cd84890e..ede12f50fec 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -27,13 +27,13 @@ in
 stdenv.mkDerivation {
   pname = "macvim";
 
-  version = "8.1.1722";
+  version = "8.1.2234";
 
   src = fetchFromGitHub {
     owner = "macvim-dev";
     repo = "macvim";
-    rev = "snapshot-157";
-    sha256 = "1gmgc4pwaqy78gj4p7iib94n7j52ir0aa03ks595h3vy1hkcwwky";
+    rev = "snapshot-161";
+    sha256 = "1hp3y85pj1icz053g627a1wp5pnwgxhk07pyd4arwcxs2103agw4";
   };
 
   enableParallelBuilding = true;
@@ -76,6 +76,7 @@ stdenv.mkDerivation {
       "--with-tclsh=${tcl}/bin/tclsh"
       "--with-tlib=ncurses"
       "--with-compiledby=Nix"
+      "LDFLAGS=-headerpad_max_install_names"
   ];
 
   makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
@@ -106,9 +107,6 @@ stdenv.mkDerivation {
     substituteInPlace src/auto/config.mk --replace "PERL_CFLAGS	=" "PERL_CFLAGS	= -I${darwin.libutil}/include"
 
     substituteInPlace src/MacVim/vimrc --subst-var-by CSCOPE ${cscope}/bin/cscope
-
-    # Work around weird code-signing issue
-    substituteInPlace src/auto/config.mk --replace "XCODEFLAGS''\t=" "XCODEFLAGS''\t= CODE_SIGN_IDENTITY="
   '';
 
   postInstall = ''
@@ -151,5 +149,6 @@ stdenv.mkDerivation {
     license = licenses.vim;
     maintainers = with maintainers; [ cstrahan lilyball ];
     platforms   = platforms.darwin;
+    hydraPlatforms = []; # hydra can't build this as long as we rely on Xcode and sandboxProfile
   };
 }
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
index fd02e119902..9d5dbded26a 100644
--- a/pkgs/applications/editors/vim/macvim.patch
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -18,21 +18,6 @@ index e519018de..556a4127d 100644
  				PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim;
  				PRODUCT_NAME = MacVim;
  				VERSIONING_SYSTEM = "apple-generic";
-diff --git a/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m b/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m
-index 6f1a06e46..a12e2cea4 100644
---- a/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m
-+++ b/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m
-@@ -13,7 +13,9 @@
- #import "PSMTabDragAssistant.h"
- 
- 
--@implementation PSMTabBarCell
-+@implementation PSMTabBarCell {
-+    id _controlView;
-+}
- 
- #pragma mark -
- #pragma mark Creation/Destruction
 diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc
 index 23a06bf37..dfb10fe94 100644
 --- a/src/MacVim/vimrc
@@ -92,18 +77,6 @@ diff --git a/src/auto/configure b/src/auto/configure
 index 9e6a82f4a..3c6d1a89b 100755
 --- a/src/auto/configure
 +++ b/src/auto/configure
-@@ -4705,10 +4705,8 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
-   else
--    if test -z "$MACOSX_DEPLOYMENT_TARGET"; then
--      macosx_deployment_target=`/usr/bin/sw_vers -productVersion|/usr/bin/sed -e 's/^\([0-9]*\.[0-9]*\).*/\1/'`
-+      macosx_deployment_target=${MACOSX_DEPLOYMENT_TARGET:-10.12}
-       XCODEFLAGS="$XCODEFLAGS MACOSX_DEPLOYMENT_TARGET=$macosx_deployment_target"
--    fi
-   fi
- 
- 
 @@ -5829,10 +5829,7 @@ $as_echo "not found" >&6; }
  
      for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
@@ -214,23 +187,22 @@ index 9e6a82f4a..3c6d1a89b 100755
  
  	if test "X$librubyarg" != "X"; then
 diff --git a/src/vim.h b/src/vim.h
-index cb5be6c97..b703b31cd 100644
+index f158aab..a714da9 100644
 --- a/src/vim.h
 +++ b/src/vim.h
-@@ -241,18 +241,6 @@
+@@ -243,17 +243,6 @@
  # define SUN_SYSTEM
  #endif
  
--/* If we're compiling in C++ (currently only KVim), the system
-- * headers must have the correct prototypes or nothing will build.
-- * Conversely, our prototypes might clash due to throw() specifiers and
-- * cause compilation failures even though the headers are correct.  For
-- * a concrete example, gcc-3.2 enforces exception specifications, and
-- * glibc-2.2.5 has them in their system headers.
-- */
+-// If we're compiling in C++ (currently only KVim), the system
+-// headers must have the correct prototypes or nothing will build.
+-// Conversely, our prototypes might clash due to throw() specifiers and
+-// cause compilation failures even though the headers are correct.  For
+-// a concrete example, gcc-3.2 enforces exception specifications, and
+-// glibc-2.2.5 has them in their system headers.
 -#if !defined(__cplusplus) && defined(UNIX) \
--	&& !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
--# include "auto/osdef.h"	/* bring missing declarations in */
+-	&& !defined(MACOS_X) // MACOS_X doesn't yet support osdef.h
+-# include "auto/osdef.h"	// bring missing declarations in
 -#endif
 -
  #ifdef AMIGA
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 52b9228e766..9abee88d8b0 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,13 +11,13 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0p4ah1bbz0njl2bk783gq5z1gxfzapa65qzhrkn216v07rba29jm";
-    x86_64-darwin = "162bqdhi2dx74q5f56bhs5phz9az66lb4lvfcj1sdygp51xsb93y";
+    x86_64-linux = "1ziw2b851kg17jaf713nwhsv5ikbvivq3h01xximhcglv9vzk93l";
+    x86_64-darwin = "0nndasa130551jf06mfrym593c02c3ypgg9f9rdg1fw5qbyjb8hm";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.39.2";
+    version = "1.41.0";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index e2386bc1118..310d839088d 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "013jhmc29angqh9qb8jj0jqk4whqb59id61njm8gwz977sdgpf9l";
-    x86_64-darwin = "09jfii132cib1kn3bghwchdlvi4cfjqz5hvw6j5gr53h7j35k37j";
+    x86_64-linux = "1njxa19mzzydz1jacghwmha3dl4a13m9xzzwsb0rbks5zc9a0v7m";
+    x86_64-darwin = "0cpd87q0q3i172l4s43s79by42wa9k5pyik3v2z5mq8zpms8qcq4";
   }.${system};
 
   sourceRoot = {
@@ -23,7 +23,7 @@ in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
 
-    version = "1.39.2";
+    version = "1.41.0";
     pname = "vscodium";
 
     executableName = "codium";
@@ -50,7 +50,7 @@ in
       homepage = https://github.com/VSCodium/vscodium;
       downloadPage = https://github.com/VSCodium/vscodium/releases;
       license = licenses.mit;
-      maintainers = with maintainers; [];
+      maintainers = with maintainers; [ synthetica ];
       platforms = [ "x86_64-linux" "x86_64-darwin" ];
     };
   }
diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix
index fe5fcc1724b..0f3cd7d136a 100644
--- a/pkgs/applications/editors/yi/wrapper.nix
+++ b/pkgs/applications/editors/yi/wrapper.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     description = "Allows Yi to find libraries and the compiler easily";
     # This wrapper and wrapper only is under PD
     license = licenses.publicDomain;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 562a5e616a3..4000c834602 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
   # directory
   patches = [ ./no_symbolic_links.patch ];
 
+  # Correct mysql_config query
+  patchPhase = ''
+      substituteInPlace configure --replace "--libmysqld-libs" "--libs"
+  '';
+
   configureFlags = [
     "--with-proj-share=${proj}/share/proj"
     "--with-proj-includes=${proj.dev}/include"
diff --git a/pkgs/applications/gis/openorienteering-mapper/default.nix b/pkgs/applications/gis/openorienteering-mapper/default.nix
index 82c625310e7..21d16282edc 100644
--- a/pkgs/applications/gis/openorienteering-mapper/default.nix
+++ b/pkgs/applications/gis/openorienteering-mapper/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "OpenOrienteering-Mapper";
-  version = "0.9.0";
+  version = "0.9.1";
 
   buildInputs = [ gdal qtbase qttools qtlocation qtimageformats
                   qtsensors clipper zlib proj doxygen cups];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "OpenOrienteering";
     repo = "mapper";
     rev = "v${version}";
-    sha256 = "0wnxj2xf529941dwss6ygb1krfx18lzl6rf67060b0zndc7n6l8f";
+    sha256 = "1fyhvf2y89hj7wj89kxccx3dqcja6ndy3w4rx1vmzrp246jpz7wb";
   };
 
   cmakeFlags =
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index b30d8f0ad75..de436088fa7 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -10,7 +10,7 @@ let
     [ qscintilla-qt5 gdal jinja2 numpy psycopg2
       chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
 in mkDerivation rec {
-  version = "3.10.0";
+  version = "3.10.1";
   pname = "qgis";
   name = "${pname}-unwrapped-${version}";
 
@@ -18,7 +18,7 @@ in mkDerivation rec {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "0qq4dznxxbpj8b4ypkz7dixc0b0v6rmf3c5hs4m3ka3rzck8jsqc";
+    sha256 = "0xq0nnp7zdqaihqvh5rsi1129g23vnk5ijkpxfzaggafgmhf5hgz";
   };
 
   passthru = {
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index feb79f444b8..90e7af9944d 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
+{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma,
   libharu, opencv, vigra, postgresql, Cocoa,
   unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }:
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
   # for why the have additional buildInputs on darwin
   buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma
-                  jasper qhull giflib ]
+                  qhull giflib ]
                 ++ stdenv.lib.optionals stdenv.isDarwin
                   [ Cocoa unixODBC poppler hdf4.out hdf5 netcdf sqlite ];
 
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 2a484565956..9cfccc7425b 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -13,8 +13,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.10-69";
-    sha256 = "0l4lllis16gbwjpvvsyfz91i9nq11zb3lg2zlmyay7v5697jshh6";
+    version = "6.9.10-71";
+    sha256 = "0c69xmr8k8c4dplgzxydm30s2dr8biq71x07hc15bw196nsx3srr";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/graphics/akira/default.nix b/pkgs/applications/graphics/akira/default.nix
new file mode 100644
index 00000000000..adbc1eac379
--- /dev/null
+++ b/pkgs/applications/graphics/akira/default.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, appstream-glib
+, desktop-file-utils
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, python3
+, vala
+, vala-lint
+, wrapGAppsHook
+, cairo
+, glib
+, goocanvas2
+, gtk3
+, gtksourceview3
+, json-glib
+, libarchive
+, libgee
+, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "akira";
+  version = "2019-10-12";
+
+  src = fetchFromGitHub {
+    owner = "akiraux";
+    repo = "Akira";
+    rev = "cab952dee4591b6bde34d670c1f853f5a3ff6b19";
+    sha256 = "1fp3a79hkh6xwwqqdrx4zqq2zhsm236c6fhhl5f2nmi108yxz04q";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    vala-lint
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    glib
+    goocanvas2
+    pantheon.granite
+    gtk3
+    gtksourceview3
+    json-glib
+    libarchive
+    libgee
+    libxml2
+  ];
+
+  mesonFlags = [ "-Dprofile=default" ];
+
+  patches = [ ./fix-build-with-vala-0-44-or-later.patch ];
+
+  postPatch = ''
+    chmod +x build-aux/meson/post_install.py
+    patchShebangs build-aux/meson/post_install.py
+  '';
+
+  meta = with lib; {
+    description = "Native Linux Design application built in Vala and GTK";
+    homepage = "https://github.com/akiraux/Akira";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch b/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
new file mode 100644
index 00000000000..3c35900c04f
--- /dev/null
+++ b/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
@@ -0,0 +1,88 @@
+From bcda8fd53f6f232db0b6411269ba108af551629f Mon Sep 17 00:00:00 2001
+From: Alberto Fanjul <albertofanjul@gmail.com>
+Date: Tue, 9 Apr 2019 09:45:36 +0200
+Subject: [PATCH] Build on vala >= 0.44.2
+
+---
+ src/FileFormat/JsonObject.vala        |  2 +-
+ src/FileFormat/JsonObjectArray.vala   |  2 +-
+ src/FileFormat/ZipArchiveHandler.vala | 18 +++++++++++++++++-
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/src/FileFormat/JsonObject.vala b/src/FileFormat/JsonObject.vala
+index 7bfe46f..805fbad 100644
+--- a/src/FileFormat/JsonObject.vala
++++ b/src/FileFormat/JsonObject.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObject : GLib.Object {
+ 
+     private ObjectClass obj_class;
+ 
+-    public JsonObject.from_object (Json.Object object) {
++    protected JsonObject.from_object (Json.Object object) {
+         Object (object: object);
+     }
+ 
+diff --git a/src/FileFormat/JsonObjectArray.vala b/src/FileFormat/JsonObjectArray.vala
+index 4f6e573..d0a7dad 100644
+--- a/src/FileFormat/JsonObjectArray.vala
++++ b/src/FileFormat/JsonObjectArray.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObjectArray : Object {
+      *
+      * Your JsonObject implementation should have it's own list of items
+      */
+-    public JsonObjectArray (Json.Object object, string property_name) {
++    protected JsonObjectArray (Json.Object object, string property_name) {
+         Object (object: object, property_name: property_name);
+     }
+ 
+diff --git a/src/FileFormat/ZipArchiveHandler.vala b/src/FileFormat/ZipArchiveHandler.vala
+index ca60dd0..5d65aa2 100644
+--- a/src/FileFormat/ZipArchiveHandler.vala
++++ b/src/FileFormat/ZipArchiveHandler.vala
+@@ -262,11 +262,17 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                 continue;
+             }
+ 
++            Posix.off_t offset;
++#if VALA_0_42
++            uint8[] buffer;
++            while (archive.read_data_block (out buffer, out offset) == Archive.Result.OK) {
++                if (extractor.write_data_block (buffer, offset) != Archive.Result.OK) {
++#else
+             void* buffer = null;
+             size_t buffer_length;
+-            Posix.off_t offset;
+             while (archive.read_data_block (out buffer, out buffer_length, out offset) == Archive.Result.OK) {
+                 if (extractor.write_data_block (buffer, buffer_length, offset) != Archive.Result.OK) {
++#endif
+                     break;
+                 }
+             }
+@@ -316,9 +322,15 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                     // Add an entry to the archive
+                     Archive.Entry entry = new Archive.Entry ();
+                     entry.set_pathname (initial_folder.get_relative_path (current_file));
++#if VALA_0_42
++                    entry.set_size ((Archive.int64_t) file_info.get_size ());
++                    entry.set_filetype (Archive.FileType.IFREG);
++                    entry.set_perm (Archive.FileType.IFREG);
++#else
+                     entry.set_size (file_info.get_size ());
+                     entry.set_filetype ((uint) Posix.S_IFREG);
+                     entry.set_perm (0644);
++#endif
+ 
+                     if (archive.write_header (entry) != Archive.Result.OK) {
+                         critical ("Error writing '%s': %s (%d)", current_file.get_path (), archive.error_string (), archive.errno ());
+@@ -333,7 +345,11 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                             break;
+                         }
+ 
++#if VALA_0_42
++                        archive.write_data (buffer[0:bytes_read]);
++#else
+                         archive.write_data (buffer, bytes_read);
++#endif
+                     }
+                 }
+             }
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 3c39aadda98..5966d6427ed 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, libpng, python3
-, libGLU_combined, qtbase, ncurses
+, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
 , cmake, flex, lemon
 }:
 
 let
-  gitRev    = "c0038e3ea82fec6119de364bcbc3370955ed46a2";
+  gitRev    = "6dfe6822e0279a4cc2f1c60e85b42212627285fe";
   gitBranch = "develop";
   gitTag    = "0.9.3";
 in
   stdenv.mkDerivation {
     pname = "antimony";
-    version = "2018-10-20";
+    version = "2019-10-30";
 
     src = fetchFromGitHub {
       owner  = "mkeeter";
       repo   = "antimony";
       rev    = gitRev;
-      sha256 = "01cjcjppbb0gvh6npcsaidzpfcfzrqhhi07z4v0jkfyi0fl125v4";
+      sha256 = "07zlkwlk79czq8dy85b6n3ds3g36l8qy4ix849ady6ia3gm8981j";
     };
 
     patches = [ ./paths-fix.patch ];
@@ -29,7 +29,8 @@ in
 
     buildInputs = [
       libpng python3 python3.pkgs.boost
-      libGLU_combined qtbase ncurses
+      libGLU libGL qtbase wrapQtAppsHook
+      ncurses
     ];
 
     nativeBuildInputs = [ cmake flex lemon ];
@@ -44,7 +45,7 @@ in
 
     meta = with stdenv.lib; {
       description = "A computer-aided design (CAD) tool from a parallel universe";
-      homepage    = "https://github.com/mkeeter/antimony";
+      homepage    = https://github.com/mkeeter/antimony;
       license     = licenses.mit;
       maintainers = with maintainers; [ rnhmjoj ];
       platforms   = platforms.linux;
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 20cbd6fc5cf..3595908f143 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "3.9.3";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "1ki2fpn70p1rzf52q8511a90n7y7dqi86fs2a48qhass1abxlpqx";
+    sha256 = "06g12gqri1sgfklla6jfpi7wm2qjazakcjs2w2rhrphnl50r6ca7";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
deleted file mode 100644
index 57cf6c3f13f..00000000000
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
-  flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
-  pythonPackages, gettext, intltool, babl, gegl,
-  glib, makedepend, xorgproto, libXmu, openexr,
-  libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
-
-let
-  inherit (pythonPackages) python pygtk;
-in stdenv.mkDerivation rec {
-  name = "cinepaint-1.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cinepaint/${name}.tgz";
-    sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w";
-  };
-
-  buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
-    libexif zlib libX11 python pygtk gettext intltool babl
-    gegl glib makedepend xorgproto libXmu openexr libGLU_combined
-    libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  hardeningDisable = [ "format" ];
-
-  patches = [ ./install.patch ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  NIX_LDFLAGS = "-lm -llcms -ljpeg -lpng -lX11";
-
-  meta = {
-    homepage = http://www.cinepaint.org/;
-    license = stdenv.lib.licenses.free;
-    description = "Image editor which supports images over 8bpp and ICC profiles";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/cinepaint/install.patch b/pkgs/applications/graphics/cinepaint/install.patch
deleted file mode 100644
index f15ff1c4414..00000000000
--- a/pkgs/applications/graphics/cinepaint/install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dfb182f..5adaaa5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -138,7 +138,7 @@ STRING(REPLACE "/" "\\/" ESCAPEDPREFIX ${PREFIX})
- # Note that for MacOS this needs to be revised 
- # for the @OSX_ICC...@ variables
- ADD_CUSTOM_COMMAND(
--   OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    COMMAND  sed -e s/\@platform\@//g
- 		-e s/\@prefix\@/${ESCAPEDPREFIX}/g 
- 	        -e s/\@exec_prefix\@/\${prefix}/g
-@@ -155,8 +155,8 @@ ADD_CUSTOM_COMMAND(
- 
- ADD_CUSTOM_TARGET(RCFile ALL echo
-       ""
--      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/user_install 
--              ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/user_install 
-+              ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    )
- 
- 
diff --git a/pkgs/applications/graphics/cq-editor/default.nix b/pkgs/applications/graphics/cq-editor/default.nix
new file mode 100644
index 00000000000..32d079d85ff
--- /dev/null
+++ b/pkgs/applications/graphics/cq-editor/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, mkDerivationWith
+, python3Packages
+, fetchFromGitHub
+}:
+
+mkDerivationWith python3Packages.buildPythonApplication rec {
+  pname = "cq-editor";
+  version = "0.1RC1";
+
+  src = fetchFromGitHub {
+    owner = "CadQuery";
+    repo = "CQ-editor";
+    rev = version;
+    sha256 = "0iwcpnj15s64k16948sakvkn1lb4mqwrhmbxk3r03bczs0z33zax";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    cadquery
+    Logbook
+    pyqt5
+    pyparsing
+    pyqtgraph
+    spyder
+    pathpy
+    qtconsole
+    requests
+  ];
+
+  postFixup = ''
+    wrapQtApp "$out/bin/cq-editor"
+  '';
+
+  checkInputs = with python3Packages; [
+    pytest
+    pytest-xvfb
+    pytest-mock
+    pytestcov
+    pytest-repeat
+    pytest-qt
+  ];
+
+  checkPhase = ''
+    pytest --no-xvfb
+  '';
+
+  # requires X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "CadQuery GUI editor based on PyQT";
+    homepage = "https://github.com/CadQuery/CQ-editor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ costrouc marcus7070 ];
+  };
+
+}
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 4f4f04af28b..1abde3ddafc 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.3";
+  version = "3.0.0";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "a518999c8458472edfc04577026ce5047d74553052af0f52d10ba8ce601b78f0";
+    sha256 = "7195a5ff7ee95ab7c5a57e4e84f8c90cc4728b2c917359203c21293ab754c0db";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     description = "Virtual lighttable and darkroom for photographers";
     homepage = https://www.darktable.org;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu flosse mrVanDalo ];
   };
 }
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 1fc15af7244..e6e24e0e56f 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -9,7 +9,7 @@
 , qtwebengine
 
 , akonadi-contacts
-, kcalcore
+, kcalendarcore
 , kconfigwidgets
 , kcoreaddons
 , kdoctools
@@ -26,7 +26,7 @@
 , exiv2
 , ffmpeg
 , flex
-, jasper
+, jasper ? null, withJpeg2k ? false  # disable JPEG2000 support, jasper has unfixed CVE
 , lcms2
 , lensfun
 , libgphoto2
@@ -70,7 +70,6 @@ mkDerivation rec {
     exiv2
     ffmpeg
     flex
-    jasper
     lcms2
     lensfun
     libgphoto2
@@ -90,7 +89,7 @@ mkDerivation rec {
     qtwebengine
 
     akonadi-contacts
-    kcalcore
+    kcalendarcore
     kconfigwidgets
     kcoreaddons
     kfilemetadata
@@ -103,7 +102,8 @@ mkDerivation rec {
     marble
     oxygen
     threadweaver
-  ];
+  ]
+  ++ lib.optionals withJpeg2k [ jasper ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/displaycal/default.nix b/pkgs/applications/graphics/displaycal/default.nix
index 821a9e8083e..7a4db535b2b 100644
--- a/pkgs/applications/graphics/displaycal/default.nix
+++ b/pkgs/applications/graphics/displaycal/default.nix
@@ -1,8 +1,19 @@
-{buildPythonPackage, stdenv, fetchurl, pkgconfig
- , libXext, libXxf86vm, libX11, libXrandr, libXinerama, libXScrnSaver
- , argyllcms, wxPython, numpy
+{ python2
+, stdenv
+, fetchurl
+, pkgconfig
+, libXext
+, libXxf86vm
+, libX11
+, libXrandr
+, libXinerama
+, libXScrnSaver
+, argyllcms
  }:
-buildPythonPackage {
+
+let
+  inherit (python2.pkgs) buildPythonApplication wxPython numpy;
+in buildPythonApplication {
   pname = "displaycal";
   version = "3.5.0.0";
 
diff --git a/pkgs/applications/graphics/dosage/default.nix b/pkgs/applications/graphics/dosage/default.nix
index cf5ecfdd043..e26886b070e 100644
--- a/pkgs/applications/graphics/dosage/default.nix
+++ b/pkgs/applications/graphics/dosage/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, pythonPackages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "dosage";
   version = "2018.04.08";
   PBR_VERSION = version;
@@ -11,10 +11,10 @@ pythonPackages.buildPythonApplication rec {
     rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591";
     sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh";
   };
-  checkInputs = with pythonPackages; [ pytest responses ];
-  propagatedBuildInputs = with pythonPackages; [ colorama lxml requests pbr ];
+  checkInputs = with python3Packages; [ pytest responses ];
+  propagatedBuildInputs = with python3Packages; [ colorama lxml requests pbr setuptools ];
 
-  disabled = pythonPackages.pythonOlder "3.3";
+  disabled = python3Packages.pythonOlder "3.3";
 
   checkPhase = ''
     py.test tests/
diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix
index e59d14f7dd6..144c723da20 100644
--- a/pkgs/applications/graphics/draftsight/default.nix
+++ b/pkgs/applications/graphics/draftsight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU_combined, xdg_utils,
+{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU, libGL, xdg_utils,
   dbus, alsaLib, cups, fontconfig, glib, icu, libpng12,
   xkeyboard_config, zlib, libxslt, libxml2, sqlite, orc,
   libX11, libXcursor, libXrandr, libxcb, libXi, libSM, libICE,
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
     sha256 = "05lrvml0zkzqg0sj6sj2h8h66hxdmsw5fg9fwz923r1y8j48qxdx";
   };
 
-  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU_combined xdg_utils
+  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU libGL xdg_utils
     dbus alsaLib cups.lib fontconfig glib icu libpng12
     xkeyboard_config zlib libxslt libxml2 sqlite orc libX11
     libXcursor libXrandr libxcb libXi libSM libICE libXrender
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 4142310b705..c71e95b21af 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "12.1.7";
+  version = "12.4.2";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    sha256 = "1vac0cz99yjlz7b186wyy4wk4sxkvlirpjmh3vw65xaxamn8spn3";
+    sha256 = "1mngn90cn9hixa0xkhk7mb02gjp480wnipjy2jzkq8kwpai1gm1m";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index 5744aeb462e..e64e384a9a7 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -60,11 +60,11 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.12";
+  version = "2.1.15";
 
   src = fetchurl {
     url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
-    sha256 = "0jvy21xmlidyfkk1p47rgyf4c1ksizcpm8s17n8mwdbnjrf6m55n";
+    sha256 = "0w6bdg1rnnjzjg8xzqv3a9qhw41q41sjvp6f8m0sqxjfax05lqin";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix
index 562fb8c11dc..d8b08faf239 100644
--- a/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/pkgs/applications/graphics/exrdisplay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU_combined, ctl }:
+{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU, libGL, ctl }:
 
 stdenv.mkDerivation {
   name ="openexr_viewers-2.2.1";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openexr fltk libGLU_combined ctl ];
+  buildInputs = [ openexr fltk libGLU libGL ctl ];
 
   meta = {
     description = "Application for viewing OpenEXR images on a display at various exposure settings";
diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix
index f5560a9b203..3e64783df31 100644
--- a/pkgs/applications/graphics/fbida/default.nix
+++ b/pkgs/applications/graphics/fbida/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Image viewing and manipulation programs";
+    description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
     homepage = https://www.kraxel.org/blog/linux/fbida/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index fef068eaf0f..de7d76ec45f 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, makeWrapper
 , xorg, imlib2, libjpeg, libpng
-, curl, libexif, perlPackages }:
+, curl, libexif, jpegexiforient, perlPackages }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "feh";
-  version = "3.2.1";
+  version = "3.3";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
-    sha256 = "070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg";
+    sha256 = "04c8cgwzkax481sz7lbzy23mk79bqmjy3qpvr7vxa4c14mc9k5gk";
   };
 
   outputs = [ "out" "man" "doc" ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install" ];
   postInstall = ''
-    wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg.bin}/bin" \
+    wrapProgram "$out/bin/feh" --prefix PATH : "${makeBinPath [ libjpeg jpegexiforient ]}" \
                                --add-flags '--theme=feh'
   '';
 
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index ae38730226a..c364badc174 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ghostscript, libpng } :
 
 let
-  version = "3.2.7a";
+  version = "3.2.7b";
 
 in stdenv.mkDerivation {
   pname = "fig2dev";
@@ -9,7 +9,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
-    sha256 = "0a7vkfl38fvkhg3na5gr9c4fskas9wbs84y9djg85nzwbshik8mx";
+    sha256 = "1ck8gnqgg13xkxq4hrdy706i4xdgrlckx6bi6wxm1g514121pp27";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/applications/graphics/fondo/default.nix b/pkgs/applications/graphics/fondo/default.nix
index e4dff59670a..3df7ba493c0 100644
--- a/pkgs/applications/graphics/fondo/default.nix
+++ b/pkgs/applications/graphics/fondo/default.nix
@@ -63,6 +63,13 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+
   meta = with stdenv.lib; {
     description = "Find the most beautiful wallpapers for your desktop";
     homepage = https://github.com/calo001/fondo;
diff --git a/pkgs/applications/graphics/freepv/default.nix b/pkgs/applications/graphics/freepv/default.nix
index 0bd3421f1b1..57321220fb1 100644
--- a/pkgs/applications/graphics/freepv/default.nix
+++ b/pkgs/applications/graphics/freepv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg, libGLU_combined, freeglut, zlib, cmake, libX11, libxml2, libpng,
+{ stdenv, fetchurl, libjpeg, libGLU, libGL, freeglut, zlib, cmake, libX11, libxml2, libpng,
   libXxf86vm }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56";
   };
 
-  buildInputs = [ libjpeg libGLU_combined freeglut zlib cmake libX11 libxml2 libpng
+  buildInputs = [ libjpeg libGLU libGL freeglut zlib cmake libX11 libxml2 libpng
     libXxf86vm ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index e53deb99b5b..2b3b992d24b 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -52,6 +52,8 @@ in stdenv.mkDerivation rec {
   pname = "gimp";
   version = "2.10.14";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz";
@@ -155,6 +157,8 @@ in stdenv.mkDerivation rec {
     "--without-webkit" # old version is required
     "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
     "--with-icc-directory=/run/current-system/sw/share/color/icc"
+    # fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
+    "--libdir=\${exec_prefix}/lib"
   ];
 
   # on Darwin,
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 29c1445b9ce..fa29c979b05 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -68,13 +68,20 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.4.1";
+    name = "fourier-0.4.3";
     buildInputs = with pkgs; [ fftw ];
-    postInstall = "fail";
-    installPhase = "installPlugins fourier";
+
     src = fetchurl {
-      url = "http://registry.gimp.org/files/${name}.tar.gz";
-      sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1";
+      url = "https://www.lprp.fr/files/old-web/soft/gimp/${name}.tar.gz";
+      sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn";
+    };
+
+    installPhase = "installPlugins fourier";
+
+    meta = with stdenv.lib; {
+      description = "GIMP plug-in to do the fourier transform";
+      homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier";
+      license = with licenses; [ gpl3Plus ];
     };
   };
 
diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix
index 3bfd51d0370..fef296f45be 100644
--- a/pkgs/applications/graphics/glabels/default.nix
+++ b/pkgs/applications/graphics/glabels/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, barcode, gnome3, autoreconfHook
 , gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas
-, intltool, itstool, makeWrapper, pkgconfig
+, intltool, itstool, makeWrapper, pkgconfig, yelp-tools
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper intltool ];
   buildInputs = [
-    barcode gtk3 gtk-doc gnome3.yelp-tools
+    barcode gtk3 gtk-doc yelp-tools
     gnome3.gnome-common gsettings-desktop-schemas
     itstool libxml2 librsvg libe-book libtool
   ];
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index b0e76d23dac..f8d50a7c798 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.5.6";
+  version = "2.6.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0wp81nsi5jfypabwmjqiamxr739jq5ij79n5fzn5pbw1hg5gcmfz";
+    sha256 = "0z35lglf4anfczizynjp8sd1jpix5mkmm1nh39n1v94l7ahjxsww";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -38,7 +38,7 @@ perlPackages.buildPerlPackage rec {
       ListMoreUtils
       HTMLParser
       ProcProcessTable
-      Log4Perl
+      LogLog4perl
       TryTiny
       DataUUID
       DateCalc
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index d7c0f0e0a0c..f0057f3a1a8 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb";
+    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index d7888da15ef..8f7800a7323 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig, fetchpatch
 , autopanosiftc, boost, cairo, enblend-enfuse, exiv2, fftw, flann, gettext
 , glew, ilmbase, lcms2, lensfun, libjpeg, libpng, libtiff, libX11, libXi
-, libXmu, libGLU_combined, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
+, libXmu, libGLU, libGL, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     boost cairo exiv2 fftw flann gettext glew ilmbase lcms2 lensfun libjpeg
-    libpng libtiff libX11 libXi libXmu libGLU_combined openexr panotools sqlite vigra
+    libpng libtiff libX11 libXi libXmu libGLU libGL openexr panotools sqlite vigra
     wxGTK zlib
   ];
 
diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix
index 61b45ce1603..ba5ee230ce4 100644
--- a/pkgs/applications/graphics/ideogram/default.nix
+++ b/pkgs/applications/graphics/ideogram/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ideogram";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = pname;
     rev = version;
-    sha256 = "1qakgg3y4n2vcnykk2004ndvwmjbk2yy0p4j30mlb7p14dxscif6";
+    sha256 = "0ghc7hk4b4r3a0x9r30rrgv3rarxyjr2hf9ig244xwvhh5rn3j10";
   };
 
   nativeBuildInputs = [
@@ -45,19 +45,17 @@ stdenv.mkDerivation rec {
     xorg.libXtst
   ];
 
-  patches = [
-    # See: https://github.com/cassidyjames/ideogram/issues/26
-    (fetchpatch {
-      url = "https://github.com/cassidyjames/ideogram/commit/65994ee11bd21f8316b057cec01afbf50639a708.patch";
-      sha256 = "12vrvvggpqq53dmhbm7gbbbigncn19m1fjln9wxaady21m0w776c";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Insert emoji anywhere, even in non-native apps - designed for elementary OS";
     homepage = https://github.com/cassidyjames/ideogram;
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index e3fa897aec6..3996b94ba14 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perlPackages, libXft
+{ stdenv, fetchurl, fetchpatch, pkgconfig, perlPackages, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
 , gsl, gtkspell2, cairo, python2, poppler, imagemagick, libwpg, librevenge
@@ -19,6 +19,24 @@ stdenv.mkDerivation rec {
     sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "inkscape-poppler_0_76_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff";
+      sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf";
+    })
+    (fetchpatch {
+      name = "inkscape-poppler_0_82_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch";
+      sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7";
+    })
+    (fetchpatch {
+      name = "inkscape-poppler_0_83_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch";
+      sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz";
+    })
+  ];
+
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
   # CMake’s ARGMAX check doesn’t offer enough padding for NIX_LDFLAGS.
   # Setting strictDeps it avoids duplicating some dependencies so it
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 1487fb8adba..d3bc8deb05e 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
-, libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
-, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }:
+, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, libpng, boost, doxygen, cairomm, pkgconfig, libjpeg, libtiff
+, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, libXmu }:
 
 stdenv.mkDerivation rec {
   version = "0.8.0.6";
@@ -32,9 +32,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ];
 
   buildInputs = [
-     libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost cairomm imagemagick libjpeg libtiff
-     ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu
+     libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     boost cairomm libjpeg libtiff
+     ftgl glew gtkmm2 glibmm gtkglext libXmu
     ];
 
   #doCheck = false;
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
index 961b0175da9..47a0687e79d 100644
--- a/pkgs/applications/graphics/kodelife/default.nix
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -3,17 +3,17 @@
 , alsaLib
 , glib
 , gst_all_1
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "kodelife";
-  version = "0.8.6.101";
+  version = "0.8.7.105";
 
   src = fetchzip {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
-    sha256 = "1ldab1famdcby2djfys657g85d46s8k96m6mr71riw4v336ar238";
+    sha256 = "0ld4lwigzwlikx04qy3gskqqg0wzlk8m3ccrd704ifl8lsp46n5r";
   };
 
   dontConfigure = true;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       glib
       gst_all_1.gstreamer
       gst_all_1.gst-plugins-base
-      libGLU_combined
+      libGLU libGL
       xorg.libX11
     ];
   in ''
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
new file mode 100644
index 00000000000..0a3368ec2ab
--- /dev/null
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, libpng
+, gsl
+, libsndfile
+, lzo
+, qmake
+, qttools
+, qtbase
+, qtmultimedia
+, withOpenCL ? true
+, opencl-clhpp ? null
+, ocl-icd ? null
+}:
+
+assert withOpenCL -> opencl-clhpp != null;
+assert withOpenCL -> ocl-icd != null;
+
+mkDerivation rec {
+  pname = "mandelbulber";
+  version = "2.20";
+
+  src = fetchFromGitHub {
+    owner = "buddhi1980";
+    repo = "mandelbulber2";
+    rev = version;
+    sha256 = "043dks9fimhradyhdzqdc6lb9z0x9lkj3szj10751g424lppp207";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    qttools
+  ];
+  buildInputs = [
+    qtbase
+    qtmultimedia
+    libpng
+    gsl
+    libsndfile
+    lzo
+  ] ++ lib.optionals withOpenCL [
+    opencl-clhpp
+    ocl-icd
+  ];
+
+  sourceRoot = "${src.name}/mandelbulber2";
+
+  qmakeFlags = [
+    "SHARED_PATH=${placeholder ''out''}"
+    (if withOpenCL
+      then "qmake/mandelbulber-opencl.pro"
+      else "qmake/mandelbulber.pro")
+  ];
+
+  meta = with lib; {
+    description = "A 3D fractal rendering engine";
+    longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
+    homepage = "https://mandelbulber.com";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kovirobi ];
+  };
+}
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
deleted file mode 100644
index 7130d21b8ef..00000000000
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, python27Packages }:
-
-python27Packages.buildPythonApplication rec {
-    name = "mcomix-${version}";
-    version = "1.2.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
-      sha256 = "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy";
-    };
-
-    propagatedBuildInputs = with python27Packages; [ pygtk pillow setuptools ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Image viewer designed to handle comic books";
-      longDescription = ''
-        MComix is an user-friendly, customizable image viewer. It is specifically
-        designed to handle comic books, but also serves as a generic viewer.
-        It reads images in ZIP, RAR, 7Zip or tar archives as well as plain image
-        files. It is written in Python and uses GTK through the PyGTK bindings,
-        and runs on both Linux and Windows.
-
-        MComix is a fork of the Comix project, and aims to add bug fixes and
-        stability improvements after Comix development came to a halt in late 2009.
-      '';
-      homepage = http://mcomix.sourceforge.net/;
-      license = stdenv.lib.licenses.gpl2;
-      maintainers = with stdenv.lib.maintainers; [ fuuzetsu AndersonTorres ];
-    };
-}
-# TODO:
-# - error in check phase
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
deleted file mode 100644
index fbe8f10c72f..00000000000
--- a/pkgs/applications/graphics/mirage/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pythonPackages, libX11, gettext }:
-
-pythonPackages.buildPythonApplication rec {
-    pname = "mirage";
-    version = "0.9.5.2";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2";
-      sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
-    };
-
-    doCheck = false;
-
-    nativeBuildInputs = [ gettext ];
-
-    buildInputs = [ stdenv libX11 gettext ];
-
-    patchPhase = ''
-      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
-    '';
-
-    propagatedBuildInputs = with pythonPackages; [ pygtk pillow ];
-
-    meta = {
-      description = "Simple image viewer written in PyGTK";
-
-      homepage = http://mirageiv.sourceforge.net/;
-
-      license = stdenv.lib.licenses.gpl2;
-    };
-}
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index c08bbbea766..1acaf4850eb 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection
-, gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
+{ stdenv
+, fetchFromGitHub
+, gtk3
+, intltool
+, json_c
+, lcms2
+, libpng
+, librsvg
+, gobject-introspection
+, gdk-pixbuf
+, pkgconfig
+, python2
+, scons
+, swig
+, wrapGAppsHook
+}:
 
 let
-  inherit (python2Packages) python pycairo pygobject3 numpy;
+  inherit (python2.pkgs) pycairo pygobject3 numpy;
 in stdenv.mkDerivation {
   pname = "mypaint";
   version = "1.2.1";
@@ -16,18 +30,32 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    intltool pkgconfig scons swig wrapGAppsHook
+    intltool
+    pkgconfig
+    scons
+    swig
+    wrapGAppsHook
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python
+    gtk3
+    gdk-pixbuf
+    json_c
+    lcms2
+    libpng
+    librsvg
+    pycairo
+    pygobject3
+    python2
   ];
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
   postInstall = ''
-    sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
+    sed -i -e 's|/usr/bin/env python2.7|${python2}/bin/python|' $out/bin/mypaint
   '';
 
   preFixup = ''
@@ -36,7 +64,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A graphics application for digital painters";
-    homepage = http://mypaint.org/;
+    homepage = "http://mypaint.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu jtojnar ];
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index 62fae518b92..48a79e8844e 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkgconfig
 
@@ -9,7 +10,7 @@
 , qtsvg
 
 , exiv2
-, opencv
+, opencv4
 , libraw
 , libtiff
 , quazip
@@ -28,6 +29,12 @@ mkDerivation rec {
 
   patches = [
     ./nomacs-iostream.patch
+    (fetchpatch {
+      name = "darwin-less-restrictive-opencv.patch";
+      url = "https://github.com/nomacs/nomacs/commit/d182fce4bcd9a25bd15e3de065ca67849a32458c.patch";
+      sha256 = "0j6sviwrjn69nqf59hjn30c4j838h8az7rnlwcx8ymlb21vd9x2h";
+      stripLen = 1;
+    })
   ];
 
   enableParallelBuilding = true;
@@ -43,7 +50,7 @@ mkDerivation rec {
                  qttools
                  qtsvg
                  exiv2
-                 opencv
+                 opencv4
                  libraw
                  libtiff
                  quazip];
diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix
index 69cc323b40f..9c4a8b22939 100644
--- a/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/pkgs/applications/graphics/openimageio/2.x.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , boost
 , cmake
 , ilmbase
@@ -14,15 +15,22 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.0.11";
+  version = "2.1.9.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
+    sha256 = "1bbxx3bcc5jlb90ffxbk29gb8227097rdr8vg97vj9axw2mjd5si";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/OpenImageIO/oiio/pull/2441/commits/e9bdd69596103edf41b659ad8ab0ca4ce002f6f5.patch";
+      sha256 = "0x1wmjf1jrm19d1izhs1cs3y1if9al1zx48lahkfswyjag3r5dn0";
+    })
+  ];
+
   outputs = [ "bin" "out" "dev" "doc" ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 9f7fbc8421b..2c95f6d403f 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -7,7 +7,7 @@
 , flex
 , eigen
 , boost
-, libGLU_combined
+, libGLU, libGL
 , glew
 , opencsg
 , cgal
@@ -44,7 +44,7 @@ mkDerivation rec {
     eigen boost glew opencsg cgal mpfr gmp glib
     harfbuzz lib3mf libzip double-conversion freetype fontconfig
     qtbase qtmultimedia qscintilla
-  ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin qtmacextras
   ;
 
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index 13a00991265..1a47a355749 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,12 +1,13 @@
 {
 stdenv, fetchFromGitHub, cmake, makeWrapper
-,qtbase, qttools, python, libGLU_combined
+,qtbase, qttools, python, libGLU, libGL
 ,libXt, qtx11extras, qtxmlpatterns
+, mkDerivation
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "paraview";
-  version = "5.6.0";
+  version = "5.6.3";
 
   # fetching from GitHub instead of taking an "official" source
   # tarball because of missing submodules there
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "Kitware";
     repo = "ParaView";
     rev = "v${version}";
-    sha256 = "1j13yfdgcv4yzfr449i4c8r4rs1c9zr6qd3igr4vv3ani8zixkzi";
+    sha256 = "0zcij59pg47c45gfddnpbin13w16smzhcbivzm1k4pg4366wxq1q";
     fetchSubmodules = true;
   };
 
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python
     python.pkgs.numpy
-    libGLU_combined
+    libGLU libGL
     libXt
     qtbase
     qtx11extras
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 3d6d04db553..3df2ab4ab40 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.2.5";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fgdq8byb9pp9wiq3dm0vxw32kbspczqnk41agxpzjf303zmv75y";
+    sha256 = "03v4wc531dwmbjqgs3y3ncdn6g3xirv1w6h1mfgglb6sjll8jxp5";
   };
 
   modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";
diff --git a/pkgs/applications/graphics/pick-colour-picker/default.nix b/pkgs/applications/graphics/pick-colour-picker/default.nix
new file mode 100644
index 00000000000..e34d5a87a47
--- /dev/null
+++ b/pkgs/applications/graphics/pick-colour-picker/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pygobject3
+, pycairo
+, glib
+, gtk3
+, gobject-introspection
+, wrapGAppsHook
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pick-colour-picker";
+  version = "unstable-2019-10-11"; # "1.5.0-3ec940"
+
+  src = fetchFromGitHub {
+    owner = "stuartlangridge";
+    repo = "ColourPicker";
+    rev = "3ec9406d787ce373f6db0d520ed38a921edb9473";
+    sha256 = "04l8ch9297nhkgcmyhsbg0il424c8vy0isns1c7aypn0zp0dc4zd";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  pythonPath = [
+    pygobject3
+    pycairo
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+  ];
+
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  # this must be false, otherwise the gobject-introspection hook doesn't run
+  strictDeps = false;
+
+  preDistPhases = [ "fixupIconPath" ];
+
+  fixupIconPath = ''
+    pickLoc="$out/${python.sitePackages}/pick"
+    shareLoc=$(echo "$out/${python.sitePackages}/nix/store/"*)
+    mv "$shareLoc/share" "$out/share"
+
+    sed "s|os.environ.get('SNAP'), \"usr\"|'$out'|g" -i "$pickLoc/__main__.py"
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://kryogenix.org/code/pick/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    description = "A colour picker that remembers where you picked colours from";
+    maintainers = [ maintainers.mkg20001 ];
+
+    longDescription = ''
+      Pick lets you pick colours from anywhere on your screen. Choose the colour you want and Pick remembers it, names it, and shows you a screenshot so you can remember where you got it from.
+
+      Zoom all the way in to pixels to pick just the right one. Show your colours in your choice of format: rgba() or hex, CSS or Gdk or Qt, whichever you prefer. Copy to the clipboard ready for pasting into code or graphics apps.
+      '';
+  };
+}
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index 4279af4cb78..2e12e18a5a5 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -67,14 +67,16 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     tenacity
   ];
 
-  makeWrapperArgs = [
-    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
-    "--set PYTHONPATH \"$PYTHONPATH\""
-    "--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool vmtouch ]}"
-    "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
-    "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
-    "\${qtWrapperArgs[@]}"
-  ];
+  preFixup = ''
+    makeWrapperArgs+=(
+      --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
+      --set PYTHONPATH "$PYTHONPATH"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ exiftool vmtouch ]}"
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libmediainfo ]}"
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
 
   meta = with stdenv.lib; {
     description = "Photo and video importer for cameras, phones, and memory cards";
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 12dc066dec3..bda16446524 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   version = "5.7";
-  name = "rawtherapee-" + version;
+  pname = "rawtherapee";
 
   src = fetchFromGitHub {
     owner = "Beep6581";
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
 
   buildInputs = [
-    pixman libpthreadstubs gtkmm3 libXau libXdmcp librsvg
-    lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun
+    pixman libpthreadstubs gtkmm3 libXau libXdmcp
+    lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 594429503a3..426985d312c 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -1,32 +1,34 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
 , qtbase, qtx11extras, qtsvg, makeWrapper
-, vulkan-loader, xorg
-, python3, bison, pcre, automake, autoconf
+, vulkan-loader, xorg, python3, python3Packages
+, bison, pcre, automake, autoconf, addOpenGLRunpath
 }:
 let
   custom_swig = fetchFromGitHub {
     owner = "baldurk";
     repo = "swig";
-    rev = "renderdoc-modified-6";
-    sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0";
+    rev = "renderdoc-modified-7";
+    sha256 = "15r2m5kcs0id64pa2fsw58qll3jyh71jzc04wy20pgsh2326zis6";
   };
+  pythonPackages = python3Packages;
 in
-stdenv.mkDerivation rec {
-  version = "1.4";
+mkDerivation rec {
+  version = "1.5";
   pname = "renderdoc";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
+    sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
   };
 
   buildInputs = [
     qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3
-  ];
+  ]; # ++ (with pythonPackages; [pyside2 pyside2-tools shiboken2]);
+  # TODO: figure out how to make cmake recognise pyside2
 
-  nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf ];
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf addOpenGLRunpath ];
 
   postUnpack = ''
     cp -r ${custom_swig} swig
@@ -40,19 +42,23 @@ stdenv.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"
-    # TODO: add once pyside2 is in nixpkgs
-    #"-DPYSIDE2_PACKAGE_DIR=${python36Packages.pyside2}"
   ];
 
-  # Future work: define these in the above array via placeholders
+  # TODO: define these in the above array via placeholders, once those are widely supported
   preConfigure = ''
     cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
     cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
   '';
 
+  dontWrapQtApps = true;
   preFixup = ''
-    wrapProgram $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
+    wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
+  '';
+
+  # The only documentation for this so far is in pkgs/build-support/add-opengl-runpath/setup-hook.sh
+  postFixup = ''
+    addOpenGLRunpath $out/lib/librenderdoc.so
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/runwayml/default.nix b/pkgs/applications/graphics/runwayml/default.nix
index c527ce2b229..839a87214e6 100644
--- a/pkgs/applications/graphics/runwayml/default.nix
+++ b/pkgs/applications/graphics/runwayml/default.nix
@@ -6,12 +6,12 @@
 
 let
   pname = "runwayml";
-  version = "0.9.0";
+  version = "0.10.11";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
-    sha256 = "0rg7ipp7kx0l4qgcymfg5d3saz0c6d2j0c6rf28rwqgbm92gbjjq";
+    sha256 = "0f3icgpwj1sk9bkycqw65c8bhrzzpw5yzacw52siv4j1gl4casnl";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix
new file mode 100644
index 00000000000..4e8519d17b6
--- /dev/null
+++ b/pkgs/applications/graphics/rx/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, rustPlatform, fetchFromGitHub, makeWrapper
+, cmake, pkgconfig
+, xorg ? null
+, vulkan-loader ? null }:
+
+assert stdenv.isLinux -> xorg != null;
+assert stdenv.isLinux -> vulkan-loader != null;
+
+let
+    graphicsBackend = if stdenv.isDarwin then "metal" else "vulkan";
+in
+  with stdenv.lib;
+  rustPlatform.buildRustPackage rec {
+    pname = "rx";
+    version = "0.2.0";
+
+    src = fetchFromGitHub {
+      owner = "cloudhead";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0f6cw8zqr45bprj8ibhp89bb2a077g4zinfrdn943csdmh47qzcl";
+    };
+
+    cargoSha256 = "05bqsw0nw24xysq86qa3hx9b5ncf50wfxsgpy388yrs2dfnphwlx";
+
+    nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+
+    buildInputs = optionals stdenv.isLinux
+    (with xorg; [
+      # glfw-sys dependencies:
+      libX11 libXrandr libXinerama libXcursor libXi libXext
+    ]);
+
+    cargoBuildFlags = [ "--features=${graphicsBackend}" ];
+
+    # TODO: better to factor that into the rust platform
+    checkPhase = ''
+      runHook preCheck
+      echo "Running cargo test"
+      cargo test --features=${graphicsBackend}
+      runHook postCheck
+    '';
+
+    postInstall = optional stdenv.isLinux ''
+      mkdir -p $out/share/applications
+      cp $src/rx.desktop $out/share/applications
+      wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    '';
+
+    meta = {
+      description = "Modern and extensible pixel editor implemented in Rust";
+      homepage = "https://cloudhead.io/rx/";
+      license = licenses.gpl3;
+      maintainers = with maintainers; [ minijackson ];
+      platforms   = with platforms; (linux ++ darwin ++ windows);
+      inherit version;
+    };
+  }
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 20d5629b83a..4245acf716d 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -5,7 +5,7 @@ callPackage ./generic.nix (args // rec {
   src = fetchurl {
     sha256 = "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9";
     urls = [
-      "https://alioth.debian.org/frs/download.php/latestfile/176/sane-backends-${version}.tar.gz"
+      "https://alioth-archive.debian.org/releases/sane/sane-backends/${version}/sane-backends-${version}.tar.gz"
     ];
   };
 })
diff --git a/pkgs/applications/graphics/sane/backends/generic.nix b/pkgs/applications/graphics/sane/backends/generic.nix
index 92cec3ca82c..0e8a5f34f6c 100644
--- a/pkgs/applications/graphics/sane/backends/generic.nix
+++ b/pkgs/applications/graphics/sane/backends/generic.nix
@@ -1,5 +1,5 @@
 { stdenv
-, avahi, libjpeg, libusb1, libv4l, net_snmp, libpng
+, avahi, libjpeg, libusb1, libv4l, net-snmp, libpng
 , gettext, pkgconfig
 
 # List of { src name backend } attibute sets - see installFirmware below:
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     ++ stdenv.lib.optional (libusb1 != null) "--enable-libusb_1_0"
     ;
 
-  buildInputs = [ avahi libusb1 libv4l net_snmp libpng ];
+  buildInputs = [ avahi libusb1 libv4l net-snmp libpng ];
   nativeBuildInputs = [ gettext pkgconfig ];
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix
index e746f83e5d4..2edd739068d 100644
--- a/pkgs/applications/graphics/sane/backends/git.nix
+++ b/pkgs/applications/graphics/sane/backends/git.nix
@@ -5,6 +5,6 @@ callPackage ./generic.nix (args // {
   src = fetchgit {
     sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
     rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
-    url = "git://alioth.debian.org/git/sane/sane-backends.git";
+    url = "https://gitlab.com/sane-project/backends.git";
   };
 })
diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix
index 66473c4a155..b00f8f6c58d 100644
--- a/pkgs/applications/graphics/sane/frontends.nix
+++ b/pkgs/applications/graphics/sane/frontends.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.14";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/latestfile/175/${pname}-${version}.tar.gz";
+    url = "https://alioth-archive.debian.org/releases/sane/${pname}/${version}/${pname}-${version}.tar.gz";
     sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
   };
 
diff --git a/pkgs/applications/graphics/seg3d/cstdio.patch b/pkgs/applications/graphics/seg3d/cstdio.patch
deleted file mode 100644
index 0d9eed07a36..00000000000
--- a/pkgs/applications/graphics/seg3d/cstdio.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-diff --git a/Core/Geometry/Transform.cc b/Core/Geometry/Transform.cc
-index 4f16fdc..0da4679 100644
---- a/Core/Geometry/Transform.cc
-+++ b/Core/Geometry/Transform.cc
-@@ -28,6 +28,7 @@
- 
- #include <cassert>
- #include <cstring>
-+#include <cstdio>
- 
- #include <Core/Util/TypeDescription.h>
- #include <Core/Geometry/Transform.h>
-diff --git a/Core/Util/FullFileName.cc b/Core/Util/FullFileName.cc
-index 7a2cad7..7710e92 100644
---- a/Core/Util/FullFileName.cc
-+++ b/Core/Util/FullFileName.cc
-@@ -29,6 +29,7 @@
- 
- #include <Core/Util/FullFileName.h>
- #include <iostream>
-+#include <cstdio>
- 
- namespace SCIRun {
- 
-diff --git a/Externals/particle-system-mm/src/sizingfield/LFS.cxx b/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-index d1fa5aa..a5a4358 100644
---- a/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-+++ b/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-@@ -1,5 +1,6 @@
- #include <cstdlib>
- #include <iostream>
-+#include <cstdio>
- #include <LFS.h>
- 
- using namespace std;
-diff --git a/Externals/slivr/Point.cc b/Externals/slivr/Point.cc
-index d3be03e..ed4e503 100644
---- a/Externals/slivr/Point.cc
-+++ b/Externals/slivr/Point.cc
-@@ -42,6 +42,7 @@
- #include <slivr/Point.h>
- #include <slivr/Vector.h>
- #include <iostream>
-+#include <cstdio>
- 
- namespace SLIVR {
- 
-diff --git a/Externals/slivr/Transform.cc b/Externals/slivr/Transform.cc
-index c0a4430..520179f 100644
---- a/Externals/slivr/Transform.cc
-+++ b/Externals/slivr/Transform.cc
-@@ -47,6 +47,7 @@
- #include <math.h>
- #include <string.h>
- #include <iostream>
-+#include <cstdio>
- 
- using namespace SLIVR;
- using namespace std;
-diff --git a/Externals/slivr/Vector.cc b/Externals/slivr/Vector.cc
-index 8370d65..8b04bb9 100644
---- a/Externals/slivr/Vector.cc
-+++ b/Externals/slivr/Vector.cc
-@@ -43,6 +43,7 @@
- #include <slivr/Point.h>
- #include <assert.h>
- #include <iostream>
-+#include <cstdio>
- 
- using std::istream;
- using std::ostream;
-diff --git a/Externals/vispack/src/image/imagefile.txx b/Externals/vispack/src/image/imagefile.txx
-index ced2590..13a32b2 100644
---- a/Externals/vispack/src/image/imagefile.txx
-+++ b/Externals/vispack/src/image/imagefile.txx
-@@ -1,3 +1,5 @@
-+#include <cstdio>
-+
- template <class T>
- int write_raw(const char* name, const VISImage<T>& im)
- {
diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix
deleted file mode 100644
index 58cec2ec170..00000000000
--- a/pkgs/applications/graphics/seg3d/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ fetchurl, stdenv, cmake, wxGTK, itk, libGLU_combined, libXft, libXext, libXi, zlib, libXmu,
-libuuid }:
-
-assert (stdenv ? glibc);
-
-stdenv.mkDerivation {
-  name = "seg3d-1.12_20090930";
-  src = fetchurl {
-    url = https://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
-    sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
-  };
-
-  patches = [ ./cstdio.patch ];
-
-  cmakeFlags = [
-    "-DM_LIBRARY=${stdenv.glibc.out}/lib/libm.so"
-    "-DDL_LIBRARY=${stdenv.glibc.out}/lib/libdl.so"
-    "-DBUILD_UTILS=1"
-    "-DBUILD_SEG3D=1"
-    "-DBUILD_DATAFLOW=0"
-    "-DBUILD_SHARED_LIBS=0"
-    "-DWITH_X11=1"
-    "-DBUILD_BIOMESH3D=1"
-    "-DWITH_TETGEN=1"
-    "-DBUILD_TYPE=Release"
-    "-DWITH_WXWIDGETS=ON"
-    "-DITK_DIR=${itk}/lib/InsightToolkit"
-    "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a"
-  ];
-
-
-  makeFlags = "VERBOSE=1";
-
-  preBuild = ''
-    export LD_LIBRARY_PATH=`pwd`/lib
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lGLU -lSM -lICE -lX11 -lXext -luuid";
-  '';
-
-  preUnpack = ''
-    set -x
-    sourceRoot=`pwd`/src
-  '';
-
-  postInstall = ''
-    cp Seg3D $out/bin
-    exit 1
-  '';
-
-  buildInputs = [ cmake wxGTK itk libGLU_combined libXft libXext libXi zlib libXmu libuuid ];
-
-  meta = {
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index acbbf73465d..99c151f8c80 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/muennich/sxiv;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with maintainers; [ jfrankenau fuuzetsu ];
+    maintainers = with maintainers; [ jfrankenau ];
   };
 }
diff --git a/pkgs/applications/graphics/write_stylus/default.nix b/pkgs/applications/graphics/write_stylus/default.nix
index 232eeeb0115..0f1020b0b07 100644
--- a/pkgs/applications/graphics/write_stylus/default.nix
+++ b/pkgs/applications/graphics/write_stylus/default.nix
@@ -1,4 +1,12 @@
 { stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }:
+let
+  # taken from: https://www.iconfinder.com/icons/50835/edit_pencil_write_icon
+  # license: Free for commercial use
+  desktopIcon = fetchurl {
+    url = "https://www.iconfinder.com/icons/50835/download/png/256";
+    sha256 = "0abdya42yf9alxbsmc2nf8jwld50zfria6z3d4ncvp1zw2a9jhb8";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "write_stylus";
   version = "209";
@@ -7,7 +15,7 @@ stdenv.mkDerivation rec {
     name = "Write";
     exec = "Write";
     comment = "A word processor for handwriting";
-    icon = "write_stylus";
+    icon = desktopIcon;
     desktopName = "Write";
     genericName = "Write";
     categories = "Office;Graphics";
@@ -18,13 +26,6 @@ stdenv.mkDerivation rec {
     sha256 = "1p6glp4vdpwl8hmhypayc4cvs3j9jfmjfhhrgqm2xkgl5bfbv2qd";
   };
 
-  # taken from: https://www.iconfinder.com/icons/50835/edit_pencil_write_icon
-  # license: Free for commercial use
-  icon = fetchurl {
-    url = "https://oyra.eu/write/icon.tar.gz";
-    sha256 = "1zd98g63apwi17qc1hm1g14maain5d18g4afadxm30qjz2s0mvs8";
-  };
-
   sourceRoot = ".";
 
   dontBuild = true;
@@ -35,9 +36,6 @@ stdenv.mkDerivation rec {
     # symlink the binary to bin/
     ln -s $out/Write/Write $out/bin/Write
 
-    # untar icons
-    tar -xzf ${icon} *.tar.gz -C $out/
-
     mkdir -p $out/share/applications
     ln -s ${desktopItem}/share/applications/* $out/share/applications/
   '';
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 3597b97fae6..76f8e03fa13 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = version;
-    sha256 = "1q716hn2ajkxfba0dxp7vcnqfa31hx36ax09yz4d13sdw43rfjf4";
+    sha256 = "1bdmxxkcqpjvkckizmrz2839b4yspw4xv69bqkrrgkcyvxsr804w";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/kde/akonadi-calendar.nix b/pkgs/applications/kde/akonadi-calendar.nix
index ce6b6f75f93..121e93d3f5c 100644
--- a/pkgs/applications/kde/akonadi-calendar.nix
+++ b/pkgs/applications/kde/akonadi-calendar.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-contacts, kcalcore, kcalutils, kcontacts,
+  akonadi, akonadi-contacts, kcalendarcore, kcalutils, kcontacts,
   kidentitymanagement, kio, kmailtransport,
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    akonadi akonadi-contacts kcalcore kcalutils kcontacts kidentitymanagement
+    akonadi akonadi-contacts kcalendarcore kcalutils kcontacts kidentitymanagement
     kio kmailtransport
   ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/akonadi-search.nix b/pkgs/applications/kde/akonadi-search.nix
index 617c086ad9c..23ee6b1b9cc 100644
--- a/pkgs/applications/kde/akonadi-search.nix
+++ b/pkgs/applications/kde/akonadi-search.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-mime, kcalcore, kcmutils, kcontacts, kcoreaddons, kmime,
+  akonadi, akonadi-mime, kcalendarcore, kcmutils, kcontacts, kcoreaddons, kmime,
   krunner, qtbase, xapian
 }:
 
@@ -14,7 +14,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcmutils krunner xapian ];
   propagatedBuildInputs = [
-    akonadi akonadi-mime kcalcore kcontacts kcoreaddons kmime qtbase
+    akonadi akonadi-mime kcalendarcore kcontacts kcoreaddons kmime qtbase
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/akonadiconsole.nix b/pkgs/applications/kde/akonadiconsole.nix
index 1470406d5a4..a02400847bb 100644
--- a/pkgs/applications/kde/akonadiconsole.nix
+++ b/pkgs/applications/kde/akonadiconsole.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-contacts, calendarsupport, kcalcore, kcompletion,
+  akonadi, akonadi-contacts, calendarsupport, kcalendarcore, kcompletion,
   kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit, libkdepim,
   ktextwidgets, kxmlgui, messagelib, qtbase, akonadi-search, xapian
 }:
@@ -14,7 +14,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi akonadi-contacts calendarsupport kcalcore kcompletion kconfigwidgets
+    akonadi akonadi-contacts calendarsupport kcalendarcore kcompletion kconfigwidgets
     kcontacts kdbusaddons kitemmodels kpimtextedit ktextwidgets kxmlgui
     messagelib qtbase libkdepim akonadi-search xapian
   ];
diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix
index 6015cb69d77..76cc423f546 100644
--- a/pkgs/applications/kde/ark/default.nix
+++ b/pkgs/applications/kde/ark/default.nix
@@ -22,6 +22,7 @@ in
 mkDerivation {
   name = "ark";
   meta = {
+    description = "Graphical file compression/decompression utility";
     license = with lib.licenses;
       [ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree;
     maintainers = [ lib.maintainers.ttuegel ];
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 70a716a760c..40e69f8c9bc 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -138,6 +138,7 @@ let
       konquest = callPackage ./konquest.nix {};
       konqueror = callPackage ./konqueror.nix {};
       korganizer = callPackage ./korganizer.nix {};
+      kpat = callPackage ./kpat.nix {};
       kpimtextedit = callPackage ./kpimtextedit.nix {};
       ksmtp = callPackage ./ksmtp {};
       kqtquickcharts = callPackage ./kqtquickcharts.nix {};
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 083debb1c99..a335b0ef8e8 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/19.08.2/ )
+WGET_ARGS=( https://download.kde.org/stable/applications/19.08.3/ )
diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix
index 9978e7ff667..a1dec1179cc 100644
--- a/pkgs/applications/kde/kalarm.nix
+++ b/pkgs/applications/kde/kalarm.nix
@@ -6,7 +6,7 @@
   kguiaddons, ki18n, kiconthemes, kjobwidgets, kcmutils, kdelibs4support, kio,
   knotifications, kservice, kwidgetsaddons, kwindowsystem, kxmlgui, phonon,
 
-  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalcore, kcalutils,
+  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalendarcore, kcalutils,
   kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime,
   pimcommon, kpimtextedit, kdepim-apps-libs, messagelib,
 
@@ -27,7 +27,7 @@ mkDerivation {
     kguiaddons ki18n kiconthemes kjobwidgets kcmutils kdelibs4support kio
     knotifications kservice kwidgetsaddons kwindowsystem kxmlgui phonon
 
-    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalcore kcalutils
+    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore kcalutils
     kholidays kidentitymanagement libkdepim mailcommon kmailtransport kmime
     pimcommon kpimtextedit kdepim-apps-libs messagelib
 
diff --git a/pkgs/applications/kde/kalarmcal.nix b/pkgs/applications/kde/kalarmcal.nix
index 46832477cc6..356c1e4812d 100644
--- a/pkgs/applications/kde/kalarmcal.nix
+++ b/pkgs/applications/kde/kalarmcal.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, kcalcore, kdelibs4support, kholidays, kidentitymanagement,
+  akonadi, kcalendarcore, kdelibs4support, kholidays, kidentitymanagement,
   kpimtextedit, kcalutils
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
+    akonadi kcalendarcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix
index 91faaef623a..16fc6c51777 100644
--- a/pkgs/applications/kde/kcachegrind.nix
+++ b/pkgs/applications/kde/kcachegrind.nix
@@ -1,7 +1,8 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  karchive, ki18n, kio, perl, python, php, qttools,
+  karchive, ki18n, kio, perl, python, php, qttools
+  , kdbusaddons
 }:
 
 mkDerivation {
@@ -11,5 +12,5 @@ mkDerivation {
     maintainers = with lib.maintainers; [ orivej ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ karchive ki18n kio perl python php qttools ];
+  buildInputs = [ karchive ki18n kio perl python php qttools kdbusaddons ];
 }
diff --git a/pkgs/applications/kde/kcalutils.nix b/pkgs/applications/kde/kcalutils.nix
index 1628af7e220..2e389ec4ac7 100644
--- a/pkgs/applications/kde/kcalutils.nix
+++ b/pkgs/applications/kde/kcalutils.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  grantlee, kcalcore, kconfig, kontactinterface, kcoreaddons, kdelibs4support,
+  grantlee, kcalendarcore, kconfig, kontactinterface, kcoreaddons, kdelibs4support,
   kidentitymanagement, kpimtextedit,
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    grantlee kcalcore kconfig kontactinterface kcoreaddons kdelibs4support
+    grantlee kcalendarcore kconfig kontactinterface kcoreaddons kdelibs4support
     kidentitymanagement kpimtextedit
   ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix
index 0fe33ea017d..e47aae89e60 100644
--- a/pkgs/applications/kde/kdepim-addons.nix
+++ b/pkgs/applications/kde/kdepim-addons.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, shared-mime-info,
   akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews,
-  incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
+  incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
   kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
   libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
   kitinerary, kontactinterface
@@ -17,7 +17,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     akonadi-import-wizard akonadi-notes calendarsupport eventviews
-    incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative
+    incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative
     kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
     libksieve mailcommon mailimporter messagelib poppler prison kpkpass
     kitinerary kontactinterface
diff --git a/pkgs/applications/kde/kitinerary.nix b/pkgs/applications/kde/kitinerary.nix
index 8112460549b..ce66de251dc 100644
--- a/pkgs/applications/kde/kitinerary.nix
+++ b/pkgs/applications/kde/kitinerary.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, extra-cmake-modules
 , qtbase, qtdeclarative, ki18n, kmime, kpkpass
-, poppler, kcontacts, kcalcore
+, poppler, kcontacts, kcalendarcore
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     qtbase qtdeclarative ki18n kmime kpkpass poppler
-    kcontacts kcalcore
+    kcontacts kcalendarcore
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/kmailtransport.nix b/pkgs/applications/kde/kmailtransport.nix
index 703f62aa72c..d5832db570c 100644
--- a/pkgs/applications/kde/kmailtransport.nix
+++ b/pkgs/applications/kde/kmailtransport.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   akonadi, akonadi-mime, cyrus_sasl, kcmutils,
   ki18n, kio, kmime, kwallet, ksmtp, libkgapi,
-  kcalcore, kcontacts
+  kcalendarcore, kcontacts
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalcore kcontacts ];
+  buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalendarcore kcontacts ];
   propagatedBuildInputs = [ akonadi-mime cyrus_sasl kmime kwallet ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix
index ced046c2f4e..2dc2f48c149 100644
--- a/pkgs/applications/kde/knotes.nix
+++ b/pkgs/applications/kde/knotes.nix
@@ -9,7 +9,7 @@
   grantlee, grantleetheme, qtx11extras,
   akonadi, akonadi-notes, akonadi-search, kcalutils,
   kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit,
-  kcalcore
+  kcalendarcore
 }:
 
 mkDerivation {
@@ -24,6 +24,6 @@ mkDerivation {
     akonadi akonadi-notes kcalutils kontactinterface
     libkdepim kmime pimcommon kpimtextedit
     akonadi-search
-    kcalcore
+    kcalendarcore
   ];
 }
diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix
index bb44762e65c..978baa925e5 100644
--- a/pkgs/applications/kde/kontact.nix
+++ b/pkgs/applications/kde/kontact.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
   qtwebengine,
-  kcmutils, kcrash, kdbusaddons, kwindowsystem,
+  kcmutils, kcrash, kdbusaddons, kparts, kwindowsystem,
   akonadi, grantleetheme, kdepim-apps-libs, kontactinterface, kpimtextedit,
   mailcommon, libkdepim
 }:
@@ -16,7 +16,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     qtwebengine
-    kcmutils kcrash kdbusaddons kwindowsystem
+    kcmutils kcrash kdbusaddons kparts kwindowsystem
     akonadi grantleetheme kdepim-apps-libs kontactinterface kpimtextedit
     mailcommon libkdepim
   ];
diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix
new file mode 100644
index 00000000000..9ee57353237
--- /dev/null
+++ b/pkgs/applications/kde/kpat.nix
@@ -0,0 +1,25 @@
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, knewstuff
+, shared-mime-info
+, libkdegames
+, freecell-solver
+}:
+
+mkDerivation {
+  name = "kpat";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    shared-mime-info
+  ];
+  buildInputs = [
+    knewstuff
+    libkdegames
+    freecell-solver
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    maintainers = with lib.maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/applications/kde/ktnef.nix b/pkgs/applications/kde/ktnef.nix
index b5a3834869d..61f8672e47d 100644
--- a/pkgs/applications/kde/ktnef.nix
+++ b/pkgs/applications/kde/ktnef.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  kcalcore, kcalutils, kcontacts, kdelibs4support
+  kcalendarcore, kcalutils, kcontacts, kdelibs4support
 }:
 
 mkDerivation {
@@ -12,7 +12,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    kcalcore kcalutils kcontacts kdelibs4support
+    kcalendarcore kcalutils kcontacts kdelibs4support
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix
index 998e65f2834..9d2d41c41d7 100644
--- a/pkgs/applications/kde/libkgapi.nix
+++ b/pkgs/applications/kde/libkgapi.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  qtwebengine, kio, kcalcore, kcontacts,
+  qtwebengine, kio, kcalendarcore, kcontacts,
   cyrus_sasl
 }:
 
@@ -12,5 +12,5 @@ mkDerivation {
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ qtwebengine kio kcalcore kcontacts cyrus_sasl ];
+  buildInputs = [ qtwebengine kio kcalendarcore kcontacts cyrus_sasl ];
 }
diff --git a/pkgs/applications/kde/pim-data-exporter.nix b/pkgs/applications/kde/pim-data-exporter.nix
index 9f2117b41fb..82cdf19df94 100644
--- a/pkgs/applications/kde/pim-data-exporter.nix
+++ b/pkgs/applications/kde/pim-data-exporter.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-notes, kcalcore, kcmutils, kcrash, kdbusaddons,
+  akonadi, akonadi-notes, kcalendarcore, kcmutils, kcrash, kdbusaddons,
   kidentitymanagement, kldap, kmailtransport, knewstuff, knotifications,
   knotifyconfig, kparts, kross, ktexteditor, kwallet, libkdepim, libkleo,
   pimcommon, qttools, karchive, mailcommon, messagelib
@@ -15,7 +15,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi akonadi-notes kcalcore kcmutils kcrash kdbusaddons
+    akonadi akonadi-notes kcalendarcore kcmutils kcrash kdbusaddons
     kidentitymanagement kldap kmailtransport knewstuff knotifications
     knotifyconfig kparts kross ktexteditor kwallet libkdepim libkleo pimcommon
     qttools karchive mailcommon messagelib
diff --git a/pkgs/applications/kde/print-manager.nix b/pkgs/applications/kde/print-manager.nix
index 8ace4562cbd..f869f984e00 100644
--- a/pkgs/applications/kde/print-manager.nix
+++ b/pkgs/applications/kde/print-manager.nix
@@ -20,4 +20,10 @@ mkDerivation {
     kwidgetsaddons kitemviews kio kwindowsystem plasma-framework qtdeclarative
   ];
   outputs = [ "out" "dev" ];
+  # Fix build with cups deprecations etc.
+  # See: https://github.com/NixOS/nixpkgs/issues/73334
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=deprecated-declarations"
+    "-Wno-error=format-security"
+  ];
 }
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 400dfcd7cec..8d199a291c4 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,1739 +3,1739 @@
 
 {
   akonadi = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-19.08.2.tar.xz";
-      sha256 = "f67f0fac07d480739b2d6715862ee47a93fd38f057ac7ef888ed8ddfdc99934f";
-      name = "akonadi-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-19.08.3.tar.xz";
+      sha256 = "cfdfa4767b1bd420c7979cf5125cc56d3926181f8484dc39ecd84a9e0808ee6c";
+      name = "akonadi-19.08.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-calendar-19.08.2.tar.xz";
-      sha256 = "5beba24af485c8dae96944e4b5bd570460eb2868ba069580c2e5d784be38a3c8";
-      name = "akonadi-calendar-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-calendar-19.08.3.tar.xz";
+      sha256 = "1ec66241551b0bd3e2cabd2df1547e3622b3c74e0ddaec535b5666141180a094";
+      name = "akonadi-calendar-19.08.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-calendar-tools-19.08.2.tar.xz";
-      sha256 = "a352c2bf8659ad7939f31009b8e35e8b1e629162f681a70999e5e88f9aaf6cbb";
-      name = "akonadi-calendar-tools-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-calendar-tools-19.08.3.tar.xz";
+      sha256 = "539bef47c9586f1edb87cedf63cce140dab4f19b6a94fbe08b0cd4c083cf6ffc";
+      name = "akonadi-calendar-tools-19.08.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadiconsole-19.08.2.tar.xz";
-      sha256 = "273b8f3d56ea65bd71a51103867b0e718d883478432bb971a262df1ea4c6df6c";
-      name = "akonadiconsole-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadiconsole-19.08.3.tar.xz";
+      sha256 = "37253a4b56afc34e52a05b58f63d1cdce221a11432c713f159b5c033a6018947";
+      name = "akonadiconsole-19.08.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-contacts-19.08.2.tar.xz";
-      sha256 = "eafeb550faea91a56109821864eedfbd619dc7850887746d31c1724ea7561920";
-      name = "akonadi-contacts-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-contacts-19.08.3.tar.xz";
+      sha256 = "a95ff2621e198e2685b7cd591e39437e68b5670cd710ce06088bd16618d281df";
+      name = "akonadi-contacts-19.08.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-import-wizard-19.08.2.tar.xz";
-      sha256 = "038713e7d30686eb1b8e49c595ec853ffa52d335e435a5b0bdf2f2a2448cae45";
-      name = "akonadi-import-wizard-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-import-wizard-19.08.3.tar.xz";
+      sha256 = "1a11207826ecc59af73ca2dae1b6299a6cd9c71c093e634043295747ba8f6553";
+      name = "akonadi-import-wizard-19.08.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-mime-19.08.2.tar.xz";
-      sha256 = "16f8034d7990828c50a85474fe16641dfa46e22d00f49d8045d3483c61815264";
-      name = "akonadi-mime-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-mime-19.08.3.tar.xz";
+      sha256 = "e779a2b73b628702aec52b1d4345533f54f06624915b193766af3ef6a16d030f";
+      name = "akonadi-mime-19.08.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-notes-19.08.2.tar.xz";
-      sha256 = "64684c50d06664d8ccda098f8bfa536e861e4938c8f27688ef97653f7788fdde";
-      name = "akonadi-notes-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-notes-19.08.3.tar.xz";
+      sha256 = "7c701d8a032161f9a58a55dd7e71a9a261fed8044ddc59d6d5f04bb742801b65";
+      name = "akonadi-notes-19.08.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akonadi-search-19.08.2.tar.xz";
-      sha256 = "75c9713b84a03c60a68ff36652decbf57f4f56a0fb39579f53e7ed80a5ee8525";
-      name = "akonadi-search-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akonadi-search-19.08.3.tar.xz";
+      sha256 = "3a04a82b7f13aad0a5c283931b347a951b8b4bf299bfc6f8cdbc5ba299d01f9b";
+      name = "akonadi-search-19.08.3.tar.xz";
     };
   };
   akregator = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/akregator-19.08.2.tar.xz";
-      sha256 = "cefc0785f40508a80fbf4534eef4d1164e349cfd50455483cef044945d1888c4";
-      name = "akregator-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/akregator-19.08.3.tar.xz";
+      sha256 = "c3aab6ebba25eab8c76b113a900af33a90222257f957650d0bbc0c47d5cf4bc9";
+      name = "akregator-19.08.3.tar.xz";
     };
   };
   analitza = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/analitza-19.08.2.tar.xz";
-      sha256 = "cbd51fd14d5ba74a7a3590ddca18ed688cbf724cd40f21c87b905f12fadf9399";
-      name = "analitza-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/analitza-19.08.3.tar.xz";
+      sha256 = "9247172f3ffbc0fd3308b4b40f5d76eaa2a5012dc49525c3087caf5cdfc1513e";
+      name = "analitza-19.08.3.tar.xz";
     };
   };
   ark = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ark-19.08.2.tar.xz";
-      sha256 = "63fcec0a32d806cfc82fb1c136b5e037bfe75459b148ac08c00be7e45ac70c50";
-      name = "ark-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ark-19.08.3.tar.xz";
+      sha256 = "bc1fcd84632c628a10e8536d56b65a7acbd4235ed0e034fec864b78bdc36f8f1";
+      name = "ark-19.08.3.tar.xz";
     };
   };
   artikulate = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/artikulate-19.08.2.tar.xz";
-      sha256 = "b2b0778f18f04096b84caf72c28dd4bdfdbbc8f0a22ef118b8d18dba19a3f85b";
-      name = "artikulate-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/artikulate-19.08.3.tar.xz";
+      sha256 = "99831d51bf8cb4032ba9af7c4ae0712f7b3668b7c51bce8f942808c1e5e42f85";
+      name = "artikulate-19.08.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/audiocd-kio-19.08.2.tar.xz";
-      sha256 = "383c0e9055b0093661b589395288bb8d173372572490a4ba4960d214b2746b3a";
-      name = "audiocd-kio-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/audiocd-kio-19.08.3.tar.xz";
+      sha256 = "98d836def762b839b9636acc540158d5b4789a84d1bdb535ae139b10e9e144a4";
+      name = "audiocd-kio-19.08.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/baloo-widgets-19.08.2.tar.xz";
-      sha256 = "529f3b587098eb9b7d1aaa8b311f98c58d16ed88384fa0900f9fb9f8e242c070";
-      name = "baloo-widgets-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/baloo-widgets-19.08.3.tar.xz";
+      sha256 = "edb9284b1a7d73b0c824390aa875593650880eb77c2680a2942c9fd65f436a2d";
+      name = "baloo-widgets-19.08.3.tar.xz";
     };
   };
   blinken = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/blinken-19.08.2.tar.xz";
-      sha256 = "7f9d909bb845c365dbf49388b79687e7491c271dd7d2f9481a20397153a670f6";
-      name = "blinken-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/blinken-19.08.3.tar.xz";
+      sha256 = "620fe5ffb656f829a7ca72a2df40c19ff0562e3700f51bd66b7d8a6a486ed3c9";
+      name = "blinken-19.08.3.tar.xz";
     };
   };
   bomber = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/bomber-19.08.2.tar.xz";
-      sha256 = "26285fe9e510cd334bb933281c615c2971084bfa787618ba0190175c36ada741";
-      name = "bomber-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/bomber-19.08.3.tar.xz";
+      sha256 = "3a0ef6ca5a05253b1554218a1dc699c5547a073da5cecdf75445e0f72b687fd3";
+      name = "bomber-19.08.3.tar.xz";
     };
   };
   bovo = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/bovo-19.08.2.tar.xz";
-      sha256 = "63f7a3860de2344be69366f636e841cd3db19743a8a29c42e14402256ed3122b";
-      name = "bovo-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/bovo-19.08.3.tar.xz";
+      sha256 = "2f950820ebdb52f1c81476b36b5ea07808fe8da154e7757a85ca8ac2c1b37735";
+      name = "bovo-19.08.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/calendarsupport-19.08.2.tar.xz";
-      sha256 = "9ae448463ca60e075f1ea9a22489f0acf6ea672c00f9bd7b49027e548e82c2af";
-      name = "calendarsupport-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/calendarsupport-19.08.3.tar.xz";
+      sha256 = "2406dd3387383cc58eb0e6f10bf50cc1b206c75096c6c6af27c1102c6d818ec3";
+      name = "calendarsupport-19.08.3.tar.xz";
     };
   };
   cantor = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/cantor-19.08.2.tar.xz";
-      sha256 = "039bb1e61b996ab3776502db9367ed1f7fb7e674292647f1b28f5bd9b1c1b9cb";
-      name = "cantor-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/cantor-19.08.3.tar.xz";
+      sha256 = "5b0f0b0b3990c83a927d2545baa9596119025dbf25242a9d46b1c76a26fcbfe5";
+      name = "cantor-19.08.3.tar.xz";
     };
   };
   cervisia = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/cervisia-19.08.2.tar.xz";
-      sha256 = "7cbff9d32e2721f6f594a84b42feef6dd76f830e2cc27c6d442d9b6ccbe7fceb";
-      name = "cervisia-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/cervisia-19.08.3.tar.xz";
+      sha256 = "bf156c080f000b342f81e7a8450d6ca942627e5a08cc5ac9c02fc5b44d1f37a7";
+      name = "cervisia-19.08.3.tar.xz";
     };
   };
   dolphin = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/dolphin-19.08.2.tar.xz";
-      sha256 = "0c56515737fc0f96020b3c157a93023095d1a1e23637e7670e068c6c286bbc3b";
-      name = "dolphin-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dolphin-19.08.3.tar.xz";
+      sha256 = "de71f52324c15d692448ac4c79c1e0fcf35df5c03349a8bcbebfae20d9f69d4e";
+      name = "dolphin-19.08.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/dolphin-plugins-19.08.2.tar.xz";
-      sha256 = "da2114bd8ed0a70fba3c3cba82a5543cce2f91af7e1dc12bc7457eeffc03099d";
-      name = "dolphin-plugins-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dolphin-plugins-19.08.3.tar.xz";
+      sha256 = "82860ef615954e94f3f382ad60fb144fcfcf7777b8a890f281c0cce55da13a55";
+      name = "dolphin-plugins-19.08.3.tar.xz";
     };
   };
   dragon = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/dragon-19.08.2.tar.xz";
-      sha256 = "3924dba504f370415c0d68cb5079acfc941aa761e9d9d2df2ea48b302ef9ce61";
-      name = "dragon-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/dragon-19.08.3.tar.xz";
+      sha256 = "f9172f6ddf75cf8e4be19d50f80994d59545fdea966674fb67abe7a7c934810a";
+      name = "dragon-19.08.3.tar.xz";
     };
   };
   eventviews = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/eventviews-19.08.2.tar.xz";
-      sha256 = "48da7f85c86bcc7a64d475c5bbcbb531471e70cfc9f4bda76030280f0671132d";
-      name = "eventviews-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/eventviews-19.08.3.tar.xz";
+      sha256 = "3c110fb5001e71d664aaa3b09a3689c0bb16ca12ee169e98f6ff454a0ee81ba4";
+      name = "eventviews-19.08.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ffmpegthumbs-19.08.2.tar.xz";
-      sha256 = "deba57ff10525efdf404401f6b605c1be0f02ec0bfe00465e080b42dc379d570";
-      name = "ffmpegthumbs-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ffmpegthumbs-19.08.3.tar.xz";
+      sha256 = "c91ad8e83df474971cf9766f2398e88e45d02dd2e51a7a794ace02f22c38c0f0";
+      name = "ffmpegthumbs-19.08.3.tar.xz";
     };
   };
   filelight = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/filelight-19.08.2.tar.xz";
-      sha256 = "313ff23fceb427509b37efa012535e651618d42bde35c62cdc7732e463c346a6";
-      name = "filelight-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/filelight-19.08.3.tar.xz";
+      sha256 = "95fa38574292a2aa8d3d90749fbbb61c5005889ef1df1aaa04d2d789bbf4fb00";
+      name = "filelight-19.08.3.tar.xz";
     };
   };
   granatier = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/granatier-19.08.2.tar.xz";
-      sha256 = "81a0c288edd0be6d7c994a8ad1469679b7e78174d641f9c4f90d31613bad4b47";
-      name = "granatier-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/granatier-19.08.3.tar.xz";
+      sha256 = "eac24bb0b0bcf7e12e4059187e0fd542503bae620637a4f35a339e6f63ab3890";
+      name = "granatier-19.08.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/grantlee-editor-19.08.2.tar.xz";
-      sha256 = "8e65ca3d949dcdd2b6c2edd582351b123eef49eb104a2dd6c027028315c2d502";
-      name = "grantlee-editor-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/grantlee-editor-19.08.3.tar.xz";
+      sha256 = "4d81e56ee89bf8ff19ba112b2ecaf6080b7fbc6768030b4dbb4f15a1099a5bce";
+      name = "grantlee-editor-19.08.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/grantleetheme-19.08.2.tar.xz";
-      sha256 = "a9d4e70089debdfaffb4af881cf2064ba68a0ad3fe007985c8e5997f0cf0e836";
-      name = "grantleetheme-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/grantleetheme-19.08.3.tar.xz";
+      sha256 = "ab1b0f55399c520191cf1241d85881e3f5b441ee82b387e7fbef55e77dc0e748";
+      name = "grantleetheme-19.08.3.tar.xz";
     };
   };
   gwenview = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/gwenview-19.08.2.tar.xz";
-      sha256 = "fa49352a208c9472c911d3579f7601fb915831ad42caf74a053ed749bf5bb1fb";
-      name = "gwenview-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/gwenview-19.08.3.tar.xz";
+      sha256 = "7e7ad69eaa7a6b2d0549e94d1dab0d012107c822d66483d54aa8268900820255";
+      name = "gwenview-19.08.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/incidenceeditor-19.08.2.tar.xz";
-      sha256 = "f2f7bf3a12af21e6f9e4a5f2ba93346e06a6988366af7b452d6268ac9fb4fc3d";
-      name = "incidenceeditor-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/incidenceeditor-19.08.3.tar.xz";
+      sha256 = "e6753efc2841a5b0b63a2b02f07c5b77274214576e5e9fc66b962b18c516266d";
+      name = "incidenceeditor-19.08.3.tar.xz";
     };
   };
   juk = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/juk-19.08.2.tar.xz";
-      sha256 = "b3f0e006d6defa58e0724088a1c99c1c412bc5764f8d1bebadf31b5f331d51d3";
-      name = "juk-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/juk-19.08.3.tar.xz";
+      sha256 = "6ef343b31b4b996d3a576e91a8a0b57b55b61ed76e9ddc51c5072a6243cb3030";
+      name = "juk-19.08.3.tar.xz";
     };
   };
   k3b = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/k3b-19.08.2.tar.xz";
-      sha256 = "a16796a873018bc5fd9f562297fea56d3f6d32a1e903a3e145814ea7d9be5209";
-      name = "k3b-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/k3b-19.08.3.tar.xz";
+      sha256 = "197ea67fa9ef66f8ee084608fd1907e2b3db108eec643d5bd6a0980f838f2b23";
+      name = "k3b-19.08.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kaccounts-integration-19.08.2.tar.xz";
-      sha256 = "b422c23eb3eefc3a79c4ccb9360ae6269a86982575e981bb949c0782f1f813ce";
-      name = "kaccounts-integration-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaccounts-integration-19.08.3.tar.xz";
+      sha256 = "9106718c3ac8beeb11dc8a8d2ad53c7cc4a364ab6246ca9a24ea05dfe7415723";
+      name = "kaccounts-integration-19.08.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kaccounts-providers-19.08.2.tar.xz";
-      sha256 = "d5ad6882ff151d2f0cff2b76a83e38cf37c72a0dbdf4a0aff64420903266a309";
-      name = "kaccounts-providers-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaccounts-providers-19.08.3.tar.xz";
+      sha256 = "55093c9ab5e001f126e86e1dbf55209c5f6365d9aad392cf506eab6a95d59a23";
+      name = "kaccounts-providers-19.08.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kaddressbook-19.08.2.tar.xz";
-      sha256 = "4d67480ebf8ee96fcde85e66f8ad32119b006e36c87f4e4ac20ecfa967599260";
-      name = "kaddressbook-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kaddressbook-19.08.3.tar.xz";
+      sha256 = "e343187628af4b6142cc7177ea67a3460b6f2b96c608a5b4bd469f2d314bf4ae";
+      name = "kaddressbook-19.08.3.tar.xz";
     };
   };
   kajongg = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kajongg-19.08.2.tar.xz";
-      sha256 = "08c80ea5d44ee25812de9d9e95d7800cc84c1c02006f59eb08e54f2a0d4c756b";
-      name = "kajongg-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kajongg-19.08.3.tar.xz";
+      sha256 = "dcf4738fb312762363caa88f9e26e7f7ab2102ad29ce938b71ed36177fb98662";
+      name = "kajongg-19.08.3.tar.xz";
     };
   };
   kalarm = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kalarm-19.08.2.tar.xz";
-      sha256 = "54d61b469042d27b8df903c5fc95dd68c1d108218f1402a733d974ab02576d24";
-      name = "kalarm-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalarm-19.08.3.tar.xz";
+      sha256 = "34d73be35b0cdf6189bf3792e939fa9557bffff8271966d9fc49217e488317e8";
+      name = "kalarm-19.08.3.tar.xz";
     };
   };
   kalarmcal = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kalarmcal-19.08.2.tar.xz";
-      sha256 = "4dc6e1cd8a9cbf6e3f8e593e68ef6fa912819ece56efa64852ab33e3f582e6b7";
-      name = "kalarmcal-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalarmcal-19.08.3.tar.xz";
+      sha256 = "f6e9d0c99d228fc922e52ae3ddb33f2b691290e58a48edc816de72fc44d73871";
+      name = "kalarmcal-19.08.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kalgebra-19.08.2.tar.xz";
-      sha256 = "351a0df1bf637b14683d1a38d8f1eff0153596c5f93723f28f799aead6ee0757";
-      name = "kalgebra-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalgebra-19.08.3.tar.xz";
+      sha256 = "7832584a161c2f611ce980ad98932533c998d37e6e4e2b7afbd0b4e98ce88a65";
+      name = "kalgebra-19.08.3.tar.xz";
     };
   };
   kalzium = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kalzium-19.08.2.tar.xz";
-      sha256 = "e63d88526c86dd67ab133694dc23b6a35fd5514643bd7a7f1790db8c2a8490d9";
-      name = "kalzium-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kalzium-19.08.3.tar.xz";
+      sha256 = "5dc3423a0f2646b59233f92b6a6e81b4a0bcdb819aa543c83270fe4cc5592933";
+      name = "kalzium-19.08.3.tar.xz";
     };
   };
   kamera = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kamera-19.08.2.tar.xz";
-      sha256 = "2db474afa6201f330631640e04e1bd6ebb96838ce4c16d37617a10063b1fa757";
-      name = "kamera-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kamera-19.08.3.tar.xz";
+      sha256 = "93a8a3dc6c4927b28a6ee0f09f1709e67f5bc38281b3775390513f2e69086942";
+      name = "kamera-19.08.3.tar.xz";
     };
   };
   kamoso = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kamoso-19.08.2.tar.xz";
-      sha256 = "2b84b3b3fb7f423bbe69716114563f018e02d63ce7b9b85084d098123e4e29b8";
-      name = "kamoso-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kamoso-19.08.3.tar.xz";
+      sha256 = "437ddca6849ff3ad964737794ab8d22f8d152ad4aa9172dd838c77c59fc81448";
+      name = "kamoso-19.08.3.tar.xz";
     };
   };
   kanagram = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kanagram-19.08.2.tar.xz";
-      sha256 = "251d08a8b73e85af4b90ed429d873b17f56c1e094c4a62116eee3b6bffc96388";
-      name = "kanagram-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kanagram-19.08.3.tar.xz";
+      sha256 = "74f7daaed8db4f2b445479307dbe974d3f3f1c8197ab8604712e109c8a4d36d2";
+      name = "kanagram-19.08.3.tar.xz";
     };
   };
   kapman = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kapman-19.08.2.tar.xz";
-      sha256 = "240d7b0c611728bd1974230227c669bdcfe80081cff2ddae6278d5393bab7a4e";
-      name = "kapman-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kapman-19.08.3.tar.xz";
+      sha256 = "0edc811df5d4e729851e4af980fb414d70af66218091c017c16054a5181af80e";
+      name = "kapman-19.08.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kapptemplate-19.08.2.tar.xz";
-      sha256 = "2b719cf75bf8e9b495a8d9aa8288ddb528617c2e76bd1312cfdb2a43b27d6208";
-      name = "kapptemplate-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kapptemplate-19.08.3.tar.xz";
+      sha256 = "23776b6b56e97fac0d8372d856a6fc9014b057f98ad5a96298b0685943c3da2a";
+      name = "kapptemplate-19.08.3.tar.xz";
     };
   };
   kate = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kate-19.08.2.tar.xz";
-      sha256 = "9897f652996e3ebca8a749562cc2d609d704c80b08ec4716622def38f5980b47";
-      name = "kate-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kate-19.08.3.tar.xz";
+      sha256 = "ab9f076e7e825fca64252b366e637e34157f1f875aa573bdae333fc240e0ec71";
+      name = "kate-19.08.3.tar.xz";
     };
   };
   katomic = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/katomic-19.08.2.tar.xz";
-      sha256 = "822963024107e122a3f53f55ae6863a10d92ca59eef5966cded6c9daf5f989b3";
-      name = "katomic-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/katomic-19.08.3.tar.xz";
+      sha256 = "a02df5d0d03fdd478ead1ba705089514b6debfae553be8d814edfb6952149eac";
+      name = "katomic-19.08.3.tar.xz";
     };
   };
   kbackup = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kbackup-19.08.2.tar.xz";
-      sha256 = "1678ac00c1930f430d620f542dc7913bf1575106654cc9d4b534aed65e023fb8";
-      name = "kbackup-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbackup-19.08.3.tar.xz";
+      sha256 = "c71156528087e0c799b4c957b6525b85763bdeb35ebc58ba480878f2f0daf97d";
+      name = "kbackup-19.08.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kblackbox-19.08.2.tar.xz";
-      sha256 = "4ed8e2fe00e4d2ce0b194f85491f46ceaeec28114ff2dc667c0b112f8237a9ca";
-      name = "kblackbox-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblackbox-19.08.3.tar.xz";
+      sha256 = "16f885a5baa0ee593c85f745246f2b3af9106a3befb0c9b7aa8695e3aed382f4";
+      name = "kblackbox-19.08.3.tar.xz";
     };
   };
   kblocks = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kblocks-19.08.2.tar.xz";
-      sha256 = "8b52c949e2d446a4ccf81b09818fc90234f2f55d8722c385491ee67e1f2abf93";
-      name = "kblocks-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblocks-19.08.3.tar.xz";
+      sha256 = "9d2553472a3f61e1be584bed2d9295a60b8074fdcd264213d67dc20f63033563";
+      name = "kblocks-19.08.3.tar.xz";
     };
   };
   kblog = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kblog-19.08.2.tar.xz";
-      sha256 = "f4d9017d38746b9669efebf5b6cfdc5ebf1cbaf1bbf45ab331530ade3c21cbb5";
-      name = "kblog-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kblog-19.08.3.tar.xz";
+      sha256 = "7b030a13c79a6add2b6f46b840e347609b39099c937d5bc5fb9310e2da987164";
+      name = "kblog-19.08.3.tar.xz";
     };
   };
   kbounce = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kbounce-19.08.2.tar.xz";
-      sha256 = "8436ba58bb88360b08c2d220c1a92c924b15587769103f04881ac17583cc93c8";
-      name = "kbounce-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbounce-19.08.3.tar.xz";
+      sha256 = "21e4bc2e2f3c23d4b954c8b336aab9faa5ba6021ca1487baf39595ff31d82e0b";
+      name = "kbounce-19.08.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kbreakout-19.08.2.tar.xz";
-      sha256 = "9550d3ee6f6d412816bd12686272c3f0f0b5b9194242f9b22e2085c39d9720a9";
-      name = "kbreakout-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbreakout-19.08.3.tar.xz";
+      sha256 = "1c49d80dcbaa7745932c6b64c520072099e66767e8d1f725a332f79a7ee89f3f";
+      name = "kbreakout-19.08.3.tar.xz";
     };
   };
   kbruch = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kbruch-19.08.2.tar.xz";
-      sha256 = "a2cead23cab880b21769e41086505b50de659630860d056b6a8504caafd4dcf0";
-      name = "kbruch-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kbruch-19.08.3.tar.xz";
+      sha256 = "9674aba5a6683e418ed03cc011e3817eb28418538dd9200a808f9813e5112dfc";
+      name = "kbruch-19.08.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcachegrind-19.08.2.tar.xz";
-      sha256 = "baf17a5c11f21deb7b019a7e3a9819348ec8d20af5c8c4a6108b96266e425b46";
-      name = "kcachegrind-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcachegrind-19.08.3.tar.xz";
+      sha256 = "8fc5e0643bb826b07cb5d283b8bd6fd5da4979f6125b43b1db3a9db60b02a36a";
+      name = "kcachegrind-19.08.3.tar.xz";
     };
   };
   kcalc = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcalc-19.08.2.tar.xz";
-      sha256 = "94a6d004266813449b6b9efbe0e3b0da3e5368059134668277a344a720f65fd9";
-      name = "kcalc-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalc-19.08.3.tar.xz";
+      sha256 = "7c61d96bcd45621d021ae8a56224dcf81999cb14ab7b1d7976a47eee2be25d2e";
+      name = "kcalc-19.08.3.tar.xz";
     };
   };
   kcalcore = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcalcore-19.08.2.tar.xz";
-      sha256 = "f7d33ec65cf954a0460258694ecb2e14bf6c00cee5ea9fdc3e015e78947d896a";
-      name = "kcalcore-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalcore-19.08.3.tar.xz";
+      sha256 = "86d0467d3929eb6471507cbc790277968eb8f0aa4449e1b3ee8ecc555d32dbaa";
+      name = "kcalcore-19.08.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcalutils-19.08.2.tar.xz";
-      sha256 = "3f789a18348152f9fc70965dbc2e9a8bd0ba872968c3d0631afacd0e78d3ce13";
-      name = "kcalutils-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcalutils-19.08.3.tar.xz";
+      sha256 = "821742c98dd55a1334c13ea9d59e177ade048b1d3ade4775803eb288c98c93da";
+      name = "kcalutils-19.08.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcharselect-19.08.2.tar.xz";
-      sha256 = "ff2a8c78fc4a12dd727e8ad8677216d5a480a8c82aff97269397ee8ae01e36df";
-      name = "kcharselect-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcharselect-19.08.3.tar.xz";
+      sha256 = "f294965fc7cf8b1063b611233a98fab13a00263f1d4fd254fb8b53b3f125bc52";
+      name = "kcharselect-19.08.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcolorchooser-19.08.2.tar.xz";
-      sha256 = "4eb50f314b190f1980e73212a45fe86db39f278f789288cd76cb0763f3176edc";
-      name = "kcolorchooser-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcolorchooser-19.08.3.tar.xz";
+      sha256 = "0c3d45ceb9029f0d316e61b3f403838b4c7de82a3211a231b539e6755386c657";
+      name = "kcolorchooser-19.08.3.tar.xz";
     };
   };
   kcontacts = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcontacts-19.08.2.tar.xz";
-      sha256 = "0677177d6810047876a219445232c0bf91dc1cdba3cbe4133a0a7eda98c381e8";
-      name = "kcontacts-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcontacts-19.08.3.tar.xz";
+      sha256 = "17778fc501f9de9b5c8c58b57aebb09c4be088bcd9aefa5fc9afbd92f2e5626c";
+      name = "kcontacts-19.08.3.tar.xz";
     };
   };
   kcron = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kcron-19.08.2.tar.xz";
-      sha256 = "270ee81cba5ef9d92158a3fc71cf8c50c658468018eb0415c9d3d0bc7abea5e5";
-      name = "kcron-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kcron-19.08.3.tar.xz";
+      sha256 = "b2270bb3390570ee49b887e5cda1c596c351fd0cd83183f091ef1b078fa55669";
+      name = "kcron-19.08.3.tar.xz";
     };
   };
   kdav = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdav-19.08.2.tar.xz";
-      sha256 = "8572a77ee3d0f8a7e09e4975fcf0420394c16e908c4a19aecc409415770595f9";
-      name = "kdav-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdav-19.08.3.tar.xz";
+      sha256 = "e85a0a8dcfdccc1dc0afaee364c45d57c6807fadb6926ae1a5afc54c4fb0a9f0";
+      name = "kdav-19.08.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdebugsettings-19.08.2.tar.xz";
-      sha256 = "2823e53da647dec2bd780a3029c6b093917faad3db973147ef74eb8f1c1733df";
-      name = "kdebugsettings-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdebugsettings-19.08.3.tar.xz";
+      sha256 = "10ccbc85c36a81ba7fdf3230f16c3b9974d240d17347d21aa7b67e9b5f85c78d";
+      name = "kdebugsettings-19.08.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kde-dev-scripts-19.08.2.tar.xz";
-      sha256 = "9a47b048cec42eedcec05602eb84d4124a1f67d451c22095e688cb24f7057327";
-      name = "kde-dev-scripts-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kde-dev-scripts-19.08.3.tar.xz";
+      sha256 = "c7998753f67c6efbe818ca1f96c5681c7abe3078ce6beeb307562309ca243c28";
+      name = "kde-dev-scripts-19.08.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kde-dev-utils-19.08.2.tar.xz";
-      sha256 = "30bbcfa632cbf76a2b3a27f1044ff9708509921882b91a5623cc2a30d40acb32";
-      name = "kde-dev-utils-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kde-dev-utils-19.08.3.tar.xz";
+      sha256 = "82a573941c1a99480294fe3e8658440da64e652eb62e2a7354751894a6a899e2";
+      name = "kde-dev-utils-19.08.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdeedu-data-19.08.2.tar.xz";
-      sha256 = "0ead96a7a10ecbf98c88464f9987e7d8e2efdf7879782e5262b5cda694f3e343";
-      name = "kdeedu-data-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdeedu-data-19.08.3.tar.xz";
+      sha256 = "dfdbe10415247bdd1b6926f6fcea943d13c6e0a1ab1a562aac6e0b7109420286";
+      name = "kdeedu-data-19.08.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdegraphics-mobipocket-19.08.2.tar.xz";
-      sha256 = "9621b0b3564ce7fcd6890c15c48e11d00c1cf2d3b408b255ec590bd6d113439f";
-      name = "kdegraphics-mobipocket-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdegraphics-mobipocket-19.08.3.tar.xz";
+      sha256 = "d9ea38255c967dcf0de820e6ad663e721188f5541c18c459e611f6d72ddc8e8f";
+      name = "kdegraphics-mobipocket-19.08.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdegraphics-thumbnailers-19.08.2.tar.xz";
-      sha256 = "12e2b096d65c5dfde6d16bc2c35b236343ce02ba1ef1b3b68b11257250da02c8";
-      name = "kdegraphics-thumbnailers-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdegraphics-thumbnailers-19.08.3.tar.xz";
+      sha256 = "14d342336e92b3913d46a415da9fcf53d239f0ceb16aed99c1e095641ce6ddb4";
+      name = "kdegraphics-thumbnailers-19.08.3.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdenetwork-filesharing-19.08.2.tar.xz";
-      sha256 = "ceffdaabd3417db306c05ecd6a62b521d0b3eb5996d320d65ae5c51ea46bfdda";
-      name = "kdenetwork-filesharing-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdenetwork-filesharing-19.08.3.tar.xz";
+      sha256 = "4074d996c693bdd69fd88e6f2acede79c05b2eceef1d3ed81f311247640ef366";
+      name = "kdenetwork-filesharing-19.08.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdenlive-19.08.2.tar.xz";
-      sha256 = "5ca3b7a2457d2aa355309bc7471791f691edd8774af9a19cbfc8fac39ad53c78";
-      name = "kdenlive-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdenlive-19.08.3.tar.xz";
+      sha256 = "64ab3cf06222b95f021941d8c430c70918c04c3ea988f7ccf5ef87c6b69b4465";
+      name = "kdenlive-19.08.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdepim-addons-19.08.2.tar.xz";
-      sha256 = "1e7d647689d2bfa243a2f4583df7030238409fb05bbcda5b168ef024e6accc89";
-      name = "kdepim-addons-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-addons-19.08.3.tar.xz";
+      sha256 = "8c85cec6b827da6025364ec6bbccdf2ab22c73380933aed69cf3c86be52cff24";
+      name = "kdepim-addons-19.08.3.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdepim-apps-libs-19.08.2.tar.xz";
-      sha256 = "d542b1d532d3ce3d9f1c63f4455175c7e855cd1e095a1addf1322074afc11923";
-      name = "kdepim-apps-libs-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-apps-libs-19.08.3.tar.xz";
+      sha256 = "3c478455a0f4704aa4f8a42e92f0657e01b749c568dc6e89bfae5496eefeab83";
+      name = "kdepim-apps-libs-19.08.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdepim-runtime-19.08.2.tar.xz";
-      sha256 = "9b98980003d2d107596e9acc9482dfc3ea26a2485c75a700bd82b53b9be72ebf";
-      name = "kdepim-runtime-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdepim-runtime-19.08.3.tar.xz";
+      sha256 = "2673967456b7eacbd69ca678761e479bfa65a0ec6455c86b3a83c76d766a71ea";
+      name = "kdepim-runtime-19.08.3.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdesdk-kioslaves-19.08.2.tar.xz";
-      sha256 = "308bdbbd484f60d14bd4f75e72af1e3308c497696a5f7b011b18bc0f203fd7e5";
-      name = "kdesdk-kioslaves-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdesdk-kioslaves-19.08.3.tar.xz";
+      sha256 = "cd957c67712616b9c7f00c8d733f723d98779c5805561770970bb3e2173478e0";
+      name = "kdesdk-kioslaves-19.08.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdesdk-thumbnailers-19.08.2.tar.xz";
-      sha256 = "d607f956e9c62ee9e9aa000d5444d33e68621e0741072d0d8c14e52bd4cc96be";
-      name = "kdesdk-thumbnailers-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdesdk-thumbnailers-19.08.3.tar.xz";
+      sha256 = "62757c71653d9a9541410104f13035b024e8bab7b21b729a306cb2ac445db8ac";
+      name = "kdesdk-thumbnailers-19.08.3.tar.xz";
     };
   };
   kdf = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdf-19.08.2.tar.xz";
-      sha256 = "f0a27bbf25d5791272cc8598561e53afed9840d38bf08ed3146f36701dfb7b04";
-      name = "kdf-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdf-19.08.3.tar.xz";
+      sha256 = "eef733c2089ce8fc40405653fa5e3aaafe67a1cc5d074f744e49b185291c0617";
+      name = "kdf-19.08.3.tar.xz";
     };
   };
   kdialog = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdialog-19.08.2.tar.xz";
-      sha256 = "7aef7b5a5f340cc0066e02572ec8cef8b227bc6c7f5b066677ef6422632db95a";
-      name = "kdialog-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdialog-19.08.3.tar.xz";
+      sha256 = "2fa2e07fb9975e2e32e26a2a17350ef253b93471017e5945a2df0fef2eeba787";
+      name = "kdialog-19.08.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kdiamond-19.08.2.tar.xz";
-      sha256 = "e0e6104a34711864bc00d12acc5d4ac0143acfaefc5fec8a7f9ec5f7242d32e7";
-      name = "kdiamond-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kdiamond-19.08.3.tar.xz";
+      sha256 = "6a433c8b628f105d210efd5b5532763e09a4e7190d71f8cf11931ab1605abeec";
+      name = "kdiamond-19.08.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/keditbookmarks-19.08.2.tar.xz";
-      sha256 = "6a22c3ccdd89d07ad13b34b89704afcc9bf3b5a177d4dc137dcb5eaf1580f6dd";
-      name = "keditbookmarks-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/keditbookmarks-19.08.3.tar.xz";
+      sha256 = "ce2e90f24cac8dabe3e3804232715b47e247d51c86699162e2f7f63d1f290b05";
+      name = "keditbookmarks-19.08.3.tar.xz";
     };
   };
   kfind = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kfind-19.08.2.tar.xz";
-      sha256 = "7ce5255fa4ef3e98db937eb23e8cdc89bd6b5e5429ccb5fea769e99da2bc424a";
-      name = "kfind-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfind-19.08.3.tar.xz";
+      sha256 = "6ebb7d361a8456e3a3bc7bac995a0224cd76eefd724ff62ba0d6348f7eb1f4f2";
+      name = "kfind-19.08.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kfloppy-19.08.2.tar.xz";
-      sha256 = "743f9043bdc24855bb597d3f7cf2bbf4793c58be22eb73cd72ff1e3f8cff2f69";
-      name = "kfloppy-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfloppy-19.08.3.tar.xz";
+      sha256 = "aed5533db83513e7ad9d4108920fc0241569d6b1b649d95ef36a36bbc1f72cab";
+      name = "kfloppy-19.08.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kfourinline-19.08.2.tar.xz";
-      sha256 = "14d1cd1be7f1524758697f79d55c0c40e8e6359f2039929349e017a97acdc4dc";
-      name = "kfourinline-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kfourinline-19.08.3.tar.xz";
+      sha256 = "c35b52b41398616798d75e62fa77488bf84e924e91a432cd1b96b1c09ad1f9ee";
+      name = "kfourinline-19.08.3.tar.xz";
     };
   };
   kgeography = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kgeography-19.08.2.tar.xz";
-      sha256 = "ca535319e5dd3938e572d9d4f4a216a29a5435546742bb6616d2a716f1a1dfcc";
-      name = "kgeography-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgeography-19.08.3.tar.xz";
+      sha256 = "1f2969db9ed5b9cc3d56a8cc12fa24cdace473edcd05baaf3c7b460fa7b2da8c";
+      name = "kgeography-19.08.3.tar.xz";
     };
   };
   kget = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kget-19.08.2.tar.xz";
-      sha256 = "e93795eec8f51cac2719ab31cfa6f5f4f642b166ffbb3f876ab3c866a4cd7df1";
-      name = "kget-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kget-19.08.3.tar.xz";
+      sha256 = "5a107da8313731114e7b5528f4c0cf6e0ab62867e20a9caa802de23812c69800";
+      name = "kget-19.08.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kgoldrunner-19.08.2.tar.xz";
-      sha256 = "fc719386cd1f0784c9be9813326e3fded8eb2951096abf7fcc4d577e5ed5501a";
-      name = "kgoldrunner-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgoldrunner-19.08.3.tar.xz";
+      sha256 = "44aec483cbd9d0bffb4eb9606d456ba375cb772fe72ab2c9d76a64930ede2c9b";
+      name = "kgoldrunner-19.08.3.tar.xz";
     };
   };
   kgpg = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kgpg-19.08.2.tar.xz";
-      sha256 = "90795c649cd32b65b6030ed965e0db5b0570719afa36abb5d4893268461aa841";
-      name = "kgpg-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kgpg-19.08.3.tar.xz";
+      sha256 = "85bb9adbd7a7213bdd4913c2153582e938543db49cf2414b8794a850f63f3ab6";
+      name = "kgpg-19.08.3.tar.xz";
     };
   };
   khangman = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/khangman-19.08.2.tar.xz";
-      sha256 = "dfa7d2f19ab7cd7aa90d91bab1818d48e6df88ddebf729732cca8d6aca15d1f3";
-      name = "khangman-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/khangman-19.08.3.tar.xz";
+      sha256 = "82e34738f34efef5f03bf98a3a99a0590a5a265cce016b4a2f25ca05e9d078c3";
+      name = "khangman-19.08.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/khelpcenter-19.08.2.tar.xz";
-      sha256 = "22b9f5225dfb9e8ad85becb7c2986cbee2a1366f84257fcbf76d5d7292dccdd9";
-      name = "khelpcenter-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/khelpcenter-19.08.3.tar.xz";
+      sha256 = "a03817fb16739b1b235dc54ddeda2c2ebc6605a0c7678e02af24c05271c0b77a";
+      name = "khelpcenter-19.08.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kidentitymanagement-19.08.2.tar.xz";
-      sha256 = "8f93f9546d570c8f7b2602a3a171641d488595ec8da3c47b0a08ef4f5083e884";
-      name = "kidentitymanagement-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kidentitymanagement-19.08.3.tar.xz";
+      sha256 = "6ed512d3b42378a767299660c2b9fe142b840cdaaae70c522104c37275221f37";
+      name = "kidentitymanagement-19.08.3.tar.xz";
     };
   };
   kig = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kig-19.08.2.tar.xz";
-      sha256 = "60bab2ccdf69df8ebaed672dc9201e468563d78761f191c43ee5673f9a54246a";
-      name = "kig-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kig-19.08.3.tar.xz";
+      sha256 = "69dacdbb10bcefe43e5141b0b33b51ca4704f5a5b933e194a4891be92affd21c";
+      name = "kig-19.08.3.tar.xz";
     };
   };
   kigo = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kigo-19.08.2.tar.xz";
-      sha256 = "c53a85b312e4acfcc35905a7e5602f3d623e45227fbd3644410b3fd962a9f1a0";
-      name = "kigo-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kigo-19.08.3.tar.xz";
+      sha256 = "2e20837b52550c7c33bd2e5f741a2395a8a1666b793e4b034bd27714177b8502";
+      name = "kigo-19.08.3.tar.xz";
     };
   };
   killbots = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/killbots-19.08.2.tar.xz";
-      sha256 = "c4407bf534dc9de604d6c169cf278b8cb9ca03055d96b71cbfe3916dbafea479";
-      name = "killbots-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/killbots-19.08.3.tar.xz";
+      sha256 = "75f5d53eda4dbe96250caa2faa16514d7c68538d7e8c9deea4eff0d80e3628e2";
+      name = "killbots-19.08.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kimagemapeditor-19.08.2.tar.xz";
-      sha256 = "3be222d94bad94adf4d589fb98c9556af0f0e6c66106a217ee3b9ab031412597";
-      name = "kimagemapeditor-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kimagemapeditor-19.08.3.tar.xz";
+      sha256 = "9c69541c774d15ac02164c52c9e4ba523e76e195231bf6db528fd94407347434";
+      name = "kimagemapeditor-19.08.3.tar.xz";
     };
   };
   kimap = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kimap-19.08.2.tar.xz";
-      sha256 = "250479c78517610aab810f54184d8826fb981438ec9f0d5c423ad781a796ee00";
-      name = "kimap-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kimap-19.08.3.tar.xz";
+      sha256 = "46ca8d265b7191d75db8c6a4d988624385c9ab8eae702a42e6eb4b81be581051";
+      name = "kimap-19.08.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kio-extras-19.08.2.tar.xz";
-      sha256 = "a0b8f08ab8f9d36cfdc950470f75726e90e9fba159bc2035931cfa6efbfe4394";
-      name = "kio-extras-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kio-extras-19.08.3.tar.xz";
+      sha256 = "e38e872f78ff24fe512ec7ff9ed4f6b6a8e1fef6111fdb0222c133bed0a8861f";
+      name = "kio-extras-19.08.3.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kipi-plugins-19.08.2.tar.xz";
-      sha256 = "2894f50989a14f7fd4be0035efec3cb14583d2285ff11729605b641af0fed192";
-      name = "kipi-plugins-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kipi-plugins-19.08.3.tar.xz";
+      sha256 = "f540e517421503b54e906633c71c2f688bb920c5aefe7d05a13d0eeaf0356a9b";
+      name = "kipi-plugins-19.08.3.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kirigami-gallery-19.08.2.tar.xz";
-      sha256 = "db6cf765cd3c7126d9e4d94cacf66478711fe8b676c9505c22604863092d975e";
-      name = "kirigami-gallery-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kirigami-gallery-19.08.3.tar.xz";
+      sha256 = "4ceeb854aa95902effb99cb2e5956a2f237ac3880f5b5d8e22849ed7887288df";
+      name = "kirigami-gallery-19.08.3.tar.xz";
     };
   };
   kiriki = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kiriki-19.08.2.tar.xz";
-      sha256 = "8aa1749e2b14dbb4b508515a0b1f5164243ee793141ec2af7bfc6be1f6eb67da";
-      name = "kiriki-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kiriki-19.08.3.tar.xz";
+      sha256 = "1ceaea286294d8a5371d0792ee38cf4b8922495587cc430b6b01bd92642be2f5";
+      name = "kiriki-19.08.3.tar.xz";
     };
   };
   kiten = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kiten-19.08.2.tar.xz";
-      sha256 = "e35552dd49507c66574ae7fc22fe75597a954044a09522652cc1e457d3425edc";
-      name = "kiten-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kiten-19.08.3.tar.xz";
+      sha256 = "6759463f195c50bdcdb2378a8142d1e00a1cea05b769d95a69d2cfdeb1864601";
+      name = "kiten-19.08.3.tar.xz";
     };
   };
   kitinerary = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kitinerary-19.08.2.tar.xz";
-      sha256 = "d814a2f1deaadce5fec85b1122aab6ff926c53ca8f020aadc99401bd31597eaa";
-      name = "kitinerary-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kitinerary-19.08.3.tar.xz";
+      sha256 = "d13e701b8a988999477c030fffe687b4c333a330717a15b72651458f35e6e151";
+      name = "kitinerary-19.08.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kjumpingcube-19.08.2.tar.xz";
-      sha256 = "7ff90a22670818eee7d02fd8119923761e003e059d0666873d5299cd31c96eb3";
-      name = "kjumpingcube-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kjumpingcube-19.08.3.tar.xz";
+      sha256 = "a1e6147105a0d467629118bf6cac974a1a698d15f48563e494ce75e126fec734";
+      name = "kjumpingcube-19.08.3.tar.xz";
     };
   };
   kldap = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kldap-19.08.2.tar.xz";
-      sha256 = "79c540693b85c138ae7bf4f72213dfad6dfa48dfc0ab414004d93f15d2ffac6e";
-      name = "kldap-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kldap-19.08.3.tar.xz";
+      sha256 = "b65ba5fefab7ecb92a7d38ac718e53077d9d9a87d73f121e32019aad90b48bae";
+      name = "kldap-19.08.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kleopatra-19.08.2.tar.xz";
-      sha256 = "7d0667b71796f8cbf9081c74c80def1e6618366400d4fbe56e690bb7049e4085";
-      name = "kleopatra-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kleopatra-19.08.3.tar.xz";
+      sha256 = "44b9873fbdeb88416d33b54491b75d35eac1589d70ef70505456e89068eb1caf";
+      name = "kleopatra-19.08.3.tar.xz";
     };
   };
   klettres = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/klettres-19.08.2.tar.xz";
-      sha256 = "919fc2b5d722bfdd741f0b1202f31c9aefc5d240ceb88ab785c2acd98a1b8284";
-      name = "klettres-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klettres-19.08.3.tar.xz";
+      sha256 = "205ed817469a72caaf73683c618fcd0800176038345e46555c4c78d644b3a1bf";
+      name = "klettres-19.08.3.tar.xz";
     };
   };
   klickety = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/klickety-19.08.2.tar.xz";
-      sha256 = "97e165d250d88a5a9f00fc5e111f641c43bed8e1445fd9d7c59f986cf5517271";
-      name = "klickety-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klickety-19.08.3.tar.xz";
+      sha256 = "7e4509d47c363173630d536b401d8f1ccb7db4c62d75dd4a449e89dc56c9632e";
+      name = "klickety-19.08.3.tar.xz";
     };
   };
   klines = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/klines-19.08.2.tar.xz";
-      sha256 = "1e7f5600b32a43ed4e5b7490430fb20309837e35aceb6b9b904951f23beec86f";
-      name = "klines-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/klines-19.08.3.tar.xz";
+      sha256 = "aaa7825b4bfd61b650ddf28dd975b04cebdb7c09c9b137f17d686570a5212ebc";
+      name = "klines-19.08.3.tar.xz";
     };
   };
   kmag = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmag-19.08.2.tar.xz";
-      sha256 = "6e8ecfab87dca12804a5a8d0a8adf1545e9e17039e0f9667b10a8f2832512e71";
-      name = "kmag-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmag-19.08.3.tar.xz";
+      sha256 = "216e5db763f72ff1f4ada339912dc686fa7a6cea0dafc8b9eab35601edabc950";
+      name = "kmag-19.08.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmahjongg-19.08.2.tar.xz";
-      sha256 = "8b2c4b0e3cb9bb85fa6d5f0fc5c55fcca96149e510cde25be2bcd688834a8d08";
-      name = "kmahjongg-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmahjongg-19.08.3.tar.xz";
+      sha256 = "d74446083f6ead6d7571e0ca4ff37af3f8167cc16ed7f67576155a000b41ca22";
+      name = "kmahjongg-19.08.3.tar.xz";
     };
   };
   kmail = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmail-19.08.2.tar.xz";
-      sha256 = "0ad2a5439da7f255923eeb4c4cf267ece721619aa046a04439f56763aeabac85";
-      name = "kmail-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmail-19.08.3.tar.xz";
+      sha256 = "d39d40ed61fc6828af06ad2a713b4c741685cec68471c57e18001277d3be4d3f";
+      name = "kmail-19.08.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmail-account-wizard-19.08.2.tar.xz";
-      sha256 = "769b151d0de47d49e41eaeca501526de41c174f9df99b46418e955163c38e9a8";
-      name = "kmail-account-wizard-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmail-account-wizard-19.08.3.tar.xz";
+      sha256 = "eb998583eb99f9e06eda35c7d44819ffac33fbe1a068c597bc43db271f194f68";
+      name = "kmail-account-wizard-19.08.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmailtransport-19.08.2.tar.xz";
-      sha256 = "c545fb5546e82f7dfcea4c6e1a8b565ad04e34851c33876c9bf74c9fbc3165c7";
-      name = "kmailtransport-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmailtransport-19.08.3.tar.xz";
+      sha256 = "24cf570b2ab77a69e55adb013e1d7e3eaf17f5ced900d8e5166890bb3ab64d12";
+      name = "kmailtransport-19.08.3.tar.xz";
     };
   };
   kmbox = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmbox-19.08.2.tar.xz";
-      sha256 = "82e2f64b90a1386100e13f9b2afea5d71952a1cb9547f965ddcdb3b8c59c35b1";
-      name = "kmbox-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmbox-19.08.3.tar.xz";
+      sha256 = "e29d0df5344babb08f1befce2be9eae6a2e872f74757367454651ad26dd8658d";
+      name = "kmbox-19.08.3.tar.xz";
     };
   };
   kmime = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmime-19.08.2.tar.xz";
-      sha256 = "f153332bb71de9d4451b8d28135a914059f5156fc8dda33f6375671603477771";
-      name = "kmime-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmime-19.08.3.tar.xz";
+      sha256 = "e659e1154fbc11db624f1b76bc1a8e5cf8c7f6731cef7b4ff6fad9ccf90580dd";
+      name = "kmime-19.08.3.tar.xz";
     };
   };
   kmines = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmines-19.08.2.tar.xz";
-      sha256 = "735a3b7b844fbfc970187ddc9d4fe312a5dd6c037e8ad87712388578482d12d8";
-      name = "kmines-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmines-19.08.3.tar.xz";
+      sha256 = "4ebb5d932ab43f11f81d0fa64aef871ffecaab4a2c3a5c4dbf10416a86fa8329";
+      name = "kmines-19.08.3.tar.xz";
     };
   };
   kmix = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmix-19.08.2.tar.xz";
-      sha256 = "5d852df8b54d3abca98db4aa2b259973231fed0a597d511d54fb41c6389ce61a";
-      name = "kmix-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmix-19.08.3.tar.xz";
+      sha256 = "cf71abee1ab35423b0daeaf1fbddbcdcb2f40fd946dfabf0cb19b8762b8582bc";
+      name = "kmix-19.08.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmousetool-19.08.2.tar.xz";
-      sha256 = "7cdc327e82548bf70c4ef4feab7a30938f3aefa1e80fccb343ce0d5ca8976ccb";
-      name = "kmousetool-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmousetool-19.08.3.tar.xz";
+      sha256 = "0434d4883d5478168c696ec1a43164ff09a15999416ff198b749d45981983399";
+      name = "kmousetool-19.08.3.tar.xz";
     };
   };
   kmouth = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmouth-19.08.2.tar.xz";
-      sha256 = "7a71d9d15d6a5f72c86f41e874f7cb3b45d8edaae2b3bd5409b20bd7bad4a0d3";
-      name = "kmouth-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmouth-19.08.3.tar.xz";
+      sha256 = "b962dec13a0fa610b4e9fa03f4f0c9ce28cb8c45e8fc18243c26452783ebf2a9";
+      name = "kmouth-19.08.3.tar.xz";
     };
   };
   kmplot = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kmplot-19.08.2.tar.xz";
-      sha256 = "62017429db210c5b8f99301a6768a6eb10becd0f1f6af6d886a539657d8518a0";
-      name = "kmplot-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kmplot-19.08.3.tar.xz";
+      sha256 = "777408873baa5d6ce236d71bc2935a89fa414fb9f59049ba6e1ae88d581f580e";
+      name = "kmplot-19.08.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/knavalbattle-19.08.2.tar.xz";
-      sha256 = "31f25b5397c36434c1910bf8968f92548019ad172b4d5399e6c01939389915ba";
-      name = "knavalbattle-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knavalbattle-19.08.3.tar.xz";
+      sha256 = "e4a50d3873865e8ab4803a9d7350bfc56ee3d59fd718b8abe860ac89e995ae69";
+      name = "knavalbattle-19.08.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/knetwalk-19.08.2.tar.xz";
-      sha256 = "057b8571f165a716a6cc13ec6489e7b5f9b4c14fa72080180a2098fa0fa028a1";
-      name = "knetwalk-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knetwalk-19.08.3.tar.xz";
+      sha256 = "ed74cd88364eb263209574655e1cdf77f4776bf339f3313ce20dbf4f950664c4";
+      name = "knetwalk-19.08.3.tar.xz";
     };
   };
   knights = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/knights-19.08.2.tar.xz";
-      sha256 = "2b70338d1cb2b770157a5b061a797620d8dd7dd8c6da0bcb7e2a9db375e71a07";
-      name = "knights-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knights-19.08.3.tar.xz";
+      sha256 = "1a60de6e31340ecdd3b454d0a90f74f9ab0b81ff9166869d402da77d0acdc93e";
+      name = "knights-19.08.3.tar.xz";
     };
   };
   knotes = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/knotes-19.08.2.tar.xz";
-      sha256 = "aa0aa4d215507750b055e9af91f552e723aee8163b36f65a3dd19786cf327cf3";
-      name = "knotes-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/knotes-19.08.3.tar.xz";
+      sha256 = "07ad3c7c8f5e7429c1f112aca10c164468dbbd5c356b504aa1fc172bb1bb1889";
+      name = "knotes-19.08.3.tar.xz";
     };
   };
   kolf = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kolf-19.08.2.tar.xz";
-      sha256 = "88b9a58885eda34bf5b349db5e84c20df9beb1462922ed6e973a61bd95d853e8";
-      name = "kolf-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kolf-19.08.3.tar.xz";
+      sha256 = "1c864f1abb31b168fd1402217ffc4c00d495f8ebece61ddc1f8c954c29684e1b";
+      name = "kolf-19.08.3.tar.xz";
     };
   };
   kollision = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kollision-19.08.2.tar.xz";
-      sha256 = "f2e7d851181033ce39d43a038601ca70c608ae9d0cb0e88228512ca1dbd0cf19";
-      name = "kollision-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kollision-19.08.3.tar.xz";
+      sha256 = "2240563774c22bf0552504a501710e37eb468afcbc4c3313db7779d086cdf8dc";
+      name = "kollision-19.08.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kolourpaint-19.08.2.tar.xz";
-      sha256 = "e8bde8d516159ae93dfe56565eea2919d2154606fd1814202f30caf21f659cda";
-      name = "kolourpaint-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kolourpaint-19.08.3.tar.xz";
+      sha256 = "aac61cfc561b4d4759b086508c53c525db6899ae11a2400c4ca701fcb5649c8d";
+      name = "kolourpaint-19.08.3.tar.xz";
     };
   };
   kompare = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kompare-19.08.2.tar.xz";
-      sha256 = "b14f23ac6eb72622a06e2e489fc2d684124f520ad13e032338397fef342659eb";
-      name = "kompare-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kompare-19.08.3.tar.xz";
+      sha256 = "d0adbae35e979212e9705cb815e309059d8b3d0b7a815d7ff2cd7197eff65f44";
+      name = "kompare-19.08.3.tar.xz";
     };
   };
   konqueror = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/konqueror-19.08.2.tar.xz";
-      sha256 = "336da877ea44fb100ca5396bc843994d77d0939fe3c969ad8fa85f0e1644d111";
-      name = "konqueror-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konqueror-19.08.3.tar.xz";
+      sha256 = "d0ff5b409bbbef5394aeb0bafeb6fea6265feff929fbf4b6a451adc030542d9b";
+      name = "konqueror-19.08.3.tar.xz";
     };
   };
   konquest = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/konquest-19.08.2.tar.xz";
-      sha256 = "3dda62a480e37d97aabdc4670a8ac1cf209605ed274c872ee3575ff1ecff6936";
-      name = "konquest-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konquest-19.08.3.tar.xz";
+      sha256 = "619a834341377475fed24485cf2c3f2ae68f1a8d6cea01b10e0a8408a7eef209";
+      name = "konquest-19.08.3.tar.xz";
     };
   };
   konsole = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/konsole-19.08.2.tar.xz";
-      sha256 = "4702fe52279c99e7d8da313285ace26955776669a78bdcb6dac7aec76cabe5ed";
-      name = "konsole-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/konsole-19.08.3.tar.xz";
+      sha256 = "2cc610109ff8ddc6efa6ea83f0153f4b1d72e4be65d8dbde9cfd526c257e7025";
+      name = "konsole-19.08.3.tar.xz";
     };
   };
   kontact = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kontact-19.08.2.tar.xz";
-      sha256 = "d24023381304fbe388a0840921599d13c86912a1285acfc0a7d607962e37c5cf";
-      name = "kontact-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kontact-19.08.3.tar.xz";
+      sha256 = "2bc81b4c051856894d5405532e9663a59abf25bfed1cf0394ee24e219b4752d5";
+      name = "kontact-19.08.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kontactinterface-19.08.2.tar.xz";
-      sha256 = "cbd34915ddf6fbcf02395f7c876050f2b732f3769627489f04979e419cfdc869";
-      name = "kontactinterface-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kontactinterface-19.08.3.tar.xz";
+      sha256 = "67827b27e46d381a207bcd6986b0285c0b7629ec9b93048e9503768662e211dc";
+      name = "kontactinterface-19.08.3.tar.xz";
     };
   };
   kopete = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kopete-19.08.2.tar.xz";
-      sha256 = "cf4e4f6ff6dcd6e42a1c3d5339be4a65ed0379ef786155c12cf13f8af339e022";
-      name = "kopete-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kopete-19.08.3.tar.xz";
+      sha256 = "d4e407516754cdf66f447e4439f41080586af2ec30c07bd1c88712b089f21221";
+      name = "kopete-19.08.3.tar.xz";
     };
   };
   korganizer = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/korganizer-19.08.2.tar.xz";
-      sha256 = "969930b66a445873a28bfe2e67876388259e35e89ffce45607583b4a668d9194";
-      name = "korganizer-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/korganizer-19.08.3.tar.xz";
+      sha256 = "b675b6c7a2a28a51bd377872c69795157825fd04fbef6dd4c97c33f659adadc7";
+      name = "korganizer-19.08.3.tar.xz";
     };
   };
   kpat = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kpat-19.08.2.tar.xz";
-      sha256 = "6322d86e12996da3d95f6d4afd1d2e70cfd1771698bab393aaf987fd4fe0ef67";
-      name = "kpat-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpat-19.08.3.tar.xz";
+      sha256 = "b1414eb0c04396468f40ea84fe71077b98476b4b76c0d3abb95ae4afd49e27a7";
+      name = "kpat-19.08.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kpimtextedit-19.08.2.tar.xz";
-      sha256 = "e565774d77f310165fc44c8b109ef835aae82a2f763d89d1ffb6e5b820cd850d";
-      name = "kpimtextedit-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpimtextedit-19.08.3.tar.xz";
+      sha256 = "75ff2300e771a1fe02a19ef57e2a28489179a92dc184c924be495e878b4444ab";
+      name = "kpimtextedit-19.08.3.tar.xz";
     };
   };
   kpkpass = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kpkpass-19.08.2.tar.xz";
-      sha256 = "daf4da30fd5c834915e6210bf64609adc116e5c6919365d000a400b6cd5f3e26";
-      name = "kpkpass-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kpkpass-19.08.3.tar.xz";
+      sha256 = "6d70d3bcc949e83543ae7cf9d22280c270107bd9c9cb2882d6b37f6d036f5126";
+      name = "kpkpass-19.08.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kqtquickcharts-19.08.2.tar.xz";
-      sha256 = "3341f99ba3a35e9c4fd70911faebaf4312d7700a342edd242de2118f9a77c9fb";
-      name = "kqtquickcharts-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kqtquickcharts-19.08.3.tar.xz";
+      sha256 = "f1c54caccbcc97219f8666bdf97cfecdb008c532f1453f27a6971ca54ec5994f";
+      name = "kqtquickcharts-19.08.3.tar.xz";
     };
   };
   krdc = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/krdc-19.08.2.tar.xz";
-      sha256 = "c5e6193115afe742f25365bacb55aea21428acf38407659f77636217c589d8ff";
-      name = "krdc-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/krdc-19.08.3.tar.xz";
+      sha256 = "d4cbaebaa3cd56ef5ec728a1d09edf72e8dfc18174e59f954a5f7ec8494acfdc";
+      name = "krdc-19.08.3.tar.xz";
     };
   };
   kreversi = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kreversi-19.08.2.tar.xz";
-      sha256 = "345c72ad38b9bd759f7569c7c0541c08a2cdad5ab92d08c1db8b6cf8ffaf1ce2";
-      name = "kreversi-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kreversi-19.08.3.tar.xz";
+      sha256 = "30f15e40e1347c7d746bfdef7dffc0a0a9aecef8a960c875b68fab255c43d82c";
+      name = "kreversi-19.08.3.tar.xz";
     };
   };
   krfb = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/krfb-19.08.2.tar.xz";
-      sha256 = "08877020abf6b7ac38e393443c34e7791456fc5bea8c43c552551148fd67b67e";
-      name = "krfb-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/krfb-19.08.3.tar.xz";
+      sha256 = "c708e10b909151dee362205af9db72946b9bbb86f3d87aaf2d2a9956a9242e1d";
+      name = "krfb-19.08.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kross-interpreters-19.08.2.tar.xz";
-      sha256 = "e0c63d73441c08c1b5b6627e9c02172c72f079ac0baeb596849a49ad38f8723c";
-      name = "kross-interpreters-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kross-interpreters-19.08.3.tar.xz";
+      sha256 = "525527db9e471a062c15b9b22b715dad2e164fb1b19580fc5b963cc7269ce5b5";
+      name = "kross-interpreters-19.08.3.tar.xz";
     };
   };
   kruler = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kruler-19.08.2.tar.xz";
-      sha256 = "2a3c51a60f503807694cf49796b3bf82c6992ec4c0c15cf38adae92a8dbc24cc";
-      name = "kruler-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kruler-19.08.3.tar.xz";
+      sha256 = "1825ec4b7f6a0ffc00f1ed09d2879a8d9925da49e62bad0a7484d4e90903df79";
+      name = "kruler-19.08.3.tar.xz";
     };
   };
   kshisen = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kshisen-19.08.2.tar.xz";
-      sha256 = "3c18bc546f2dadcff03af2a25b6f468357967560b7fddf916aea2b27d22c2364";
-      name = "kshisen-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kshisen-19.08.3.tar.xz";
+      sha256 = "bae9f0ed77f7b1b33f21a53dc07481665f6acdb9daad71dd550512a710a905af";
+      name = "kshisen-19.08.3.tar.xz";
     };
   };
   ksirk = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksirk-19.08.2.tar.xz";
-      sha256 = "6016d929de52d6e03ae1c1ba483e5e505542f16edfbd37c8dfbb9d0913e7f7f8";
-      name = "ksirk-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksirk-19.08.3.tar.xz";
+      sha256 = "8ab94b45767e648341ead545a2b427c94ee0f71c8abbe7dbb6b85c28748f3cac";
+      name = "ksirk-19.08.3.tar.xz";
     };
   };
   ksmtp = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksmtp-19.08.2.tar.xz";
-      sha256 = "0d1308fd01f7261e78bedb465983be2ccf5a1514cfa31125e0a3488f67ab6590";
-      name = "ksmtp-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksmtp-19.08.3.tar.xz";
+      sha256 = "16b389a8dcb938ed3f1e2f4b10a5aa31c16eac8df89963a71c08af3e54ada8dd";
+      name = "ksmtp-19.08.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksnakeduel-19.08.2.tar.xz";
-      sha256 = "bb13aa91d0e75c1099a57606e0ea1f567a3ffe8f4efbf6a94420bd372ff10289";
-      name = "ksnakeduel-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksnakeduel-19.08.3.tar.xz";
+      sha256 = "d6361ce5a46d6e8ca4b5e674f31017a545245ddb907f33963afba2aeaecdf956";
+      name = "ksnakeduel-19.08.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kspaceduel-19.08.2.tar.xz";
-      sha256 = "3e2af55afcf78f74ca1fa67ea46da2db4cbc6fd9f522a94d3adb9bed6b518aa8";
-      name = "kspaceduel-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kspaceduel-19.08.3.tar.xz";
+      sha256 = "88e25bc037034e3a22f4cea71729fc160d25bcefb978da00d3f7681841b4f7c2";
+      name = "kspaceduel-19.08.3.tar.xz";
     };
   };
   ksquares = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksquares-19.08.2.tar.xz";
-      sha256 = "f16fa641f02a6462085d291ed8d3262891cdeeeff8bbbde4e0aabfdac3dc7bc9";
-      name = "ksquares-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksquares-19.08.3.tar.xz";
+      sha256 = "7e1798e6a306d6ef948035915bdb904ee9efb238dc5a04b4a747185d34856843";
+      name = "ksquares-19.08.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksudoku-19.08.2.tar.xz";
-      sha256 = "4630117e12c10c2f326a4e55dceed7f19d183b597eadc3d4308aecf5a5455156";
-      name = "ksudoku-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksudoku-19.08.3.tar.xz";
+      sha256 = "82bf07385d131968ffd49a58404984fd506481158097aa063d954618d2679a65";
+      name = "ksudoku-19.08.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ksystemlog-19.08.2.tar.xz";
-      sha256 = "742bff9c71cc42d7a57a7732f039a944f60fe4dd70cf71c32f37ba914b57b5de";
-      name = "ksystemlog-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ksystemlog-19.08.3.tar.xz";
+      sha256 = "97fca55ae5481d77628531482da99ece40cef2c81de633fe4c1e99206d17391d";
+      name = "ksystemlog-19.08.3.tar.xz";
     };
   };
   kteatime = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kteatime-19.08.2.tar.xz";
-      sha256 = "075470af370b7913fdb085dd6984da91f863b6c03a4b713854e85437e6f9cdbe";
-      name = "kteatime-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kteatime-19.08.3.tar.xz";
+      sha256 = "dbe96fdd20545dc5ebe8103aed878dbbca5e015a42827129485a32fdcbf0d592";
+      name = "kteatime-19.08.3.tar.xz";
     };
   };
   ktimer = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktimer-19.08.2.tar.xz";
-      sha256 = "81be41497e14f5fb72150e238805744c9b09463ac261cf5d7d2ca011a41a05a0";
-      name = "ktimer-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktimer-19.08.3.tar.xz";
+      sha256 = "d8c80c3929e21a0450574d2e05e2a2384978c70f812eaab25e32402fe3a2f6c5";
+      name = "ktimer-19.08.3.tar.xz";
     };
   };
   ktnef = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktnef-19.08.2.tar.xz";
-      sha256 = "d8efabe72eedd5e89f3de9637a1a6d68ce670ec071e031470aa6852f9ad8561d";
-      name = "ktnef-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktnef-19.08.3.tar.xz";
+      sha256 = "86ae57b54047f51d31292fb71f2410660dd5bf7ca54e847b78108c600884ee4d";
+      name = "ktnef-19.08.3.tar.xz";
     };
   };
   ktouch = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktouch-19.08.2.tar.xz";
-      sha256 = "d36659c21d05465c7a77330dbfbbab09946093eac1db6c02147d81a838eba636";
-      name = "ktouch-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktouch-19.08.3.tar.xz";
+      sha256 = "8a288377a37f5afbd657c452c45628186646b27585a67312e35930a9fb581d37";
+      name = "ktouch-19.08.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-accounts-kcm-19.08.2.tar.xz";
-      sha256 = "7995813bc983c80b200cddf6b0f55fa8c48be3297ee03e3e0a7601cbc86b8dd8";
-      name = "ktp-accounts-kcm-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-accounts-kcm-19.08.3.tar.xz";
+      sha256 = "79d2af8b3863d2f4fda51c0bc04b696648d297f2af33e09237b0eed9dd24509f";
+      name = "ktp-accounts-kcm-19.08.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-approver-19.08.2.tar.xz";
-      sha256 = "74670d519578486e05237f5085a51fe0a8ce833be413c06702f38b27b27913ec";
-      name = "ktp-approver-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-approver-19.08.3.tar.xz";
+      sha256 = "6051059761a1fe05ad696846a20752707ed6c9ce164aa551e86e3a5ddca4a65f";
+      name = "ktp-approver-19.08.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-auth-handler-19.08.2.tar.xz";
-      sha256 = "b13304909d8e66adc2a0658081fd41e72b0ef7513e041b9a8f3261a8ffd7bb22";
-      name = "ktp-auth-handler-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-auth-handler-19.08.3.tar.xz";
+      sha256 = "6275ea746a28857cc77cc031a75a5f2278cf85dd1ef3c04e47006c4316975659";
+      name = "ktp-auth-handler-19.08.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-call-ui-19.08.2.tar.xz";
-      sha256 = "0d735c34f937a436e82e994c9d60b851473d31b3dc07f1d2ec7eeeab63b83658";
-      name = "ktp-call-ui-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-call-ui-19.08.3.tar.xz";
+      sha256 = "9245d11a28c2022ec98de6368d03ba8d9a53d8364d4f87efb142a0f843eea67d";
+      name = "ktp-call-ui-19.08.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-common-internals-19.08.2.tar.xz";
-      sha256 = "b08cb6dc05e325c80f9d1753db23d1969fc6c2defc571401e7b2e87772721f7e";
-      name = "ktp-common-internals-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-common-internals-19.08.3.tar.xz";
+      sha256 = "7ec6466ebaa0f4acb7e38707b013989ef0a7d50bad5520d1a53fcf17b5ef5670";
+      name = "ktp-common-internals-19.08.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-contact-list-19.08.2.tar.xz";
-      sha256 = "ab5778049e1351bc5cec29e3bfd98588f24b9877d385e787eb1f68715d624d34";
-      name = "ktp-contact-list-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-contact-list-19.08.3.tar.xz";
+      sha256 = "508085b52fff2e542ea28acb853f1cb3fcdf99d1f72ed99bc42991784fb2efd6";
+      name = "ktp-contact-list-19.08.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-contact-runner-19.08.2.tar.xz";
-      sha256 = "6ec9fd151b98c2f48d1ef4361c063e83fe51562fc34868c032d39495ab38fb85";
-      name = "ktp-contact-runner-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-contact-runner-19.08.3.tar.xz";
+      sha256 = "fe343560b80a4d9734f0160c8257fffe762801364e5dcbb9cf82edd6ded5683c";
+      name = "ktp-contact-runner-19.08.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-desktop-applets-19.08.2.tar.xz";
-      sha256 = "96975cf9208d215da1844619e2792be0919238a03ede71073813584042d6c774";
-      name = "ktp-desktop-applets-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-desktop-applets-19.08.3.tar.xz";
+      sha256 = "318b6a8f40cbbd7a82a1ed55788f8832133ee8d5685182783a4c00e1b2e6fa2a";
+      name = "ktp-desktop-applets-19.08.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-filetransfer-handler-19.08.2.tar.xz";
-      sha256 = "cd2a8fb944e76b6a1ea4f8c956db2d9914a0d5bd472c3fac2e9b568144bf87ab";
-      name = "ktp-filetransfer-handler-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-filetransfer-handler-19.08.3.tar.xz";
+      sha256 = "cdc90313da9a238197b69d0ebc11d8e4c6ce617063acbf2864d966aff6df1e94";
+      name = "ktp-filetransfer-handler-19.08.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-kded-module-19.08.2.tar.xz";
-      sha256 = "340bffd880fee602868cb44bc4c5474db1c34be62375298affedf3cc7eb1579f";
-      name = "ktp-kded-module-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-kded-module-19.08.3.tar.xz";
+      sha256 = "c16d46035874460f98c4f59e04d50e197c1c70ae9b441dfeb53dd4b319e96d15";
+      name = "ktp-kded-module-19.08.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-send-file-19.08.2.tar.xz";
-      sha256 = "30a4a27b4c37c8ca75ebc407c6070395197b9b88ba8e422d7055eee93ec0ae9d";
-      name = "ktp-send-file-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-send-file-19.08.3.tar.xz";
+      sha256 = "db03d482f7bb101e1655262cd99d46e4a551141b8784bae67162d941fb13644f";
+      name = "ktp-send-file-19.08.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktp-text-ui-19.08.2.tar.xz";
-      sha256 = "a0b7d8469b12ae6820541cc38dd57fad8866ad6e236c4864b7cf94629ca0cc33";
-      name = "ktp-text-ui-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktp-text-ui-19.08.3.tar.xz";
+      sha256 = "6779fad4ae6198ebf2e0759b53a8a0792bfca477df2c1f538bc00d1da281eae8";
+      name = "ktp-text-ui-19.08.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/ktuberling-19.08.2.tar.xz";
-      sha256 = "e6cfcd7175c7ed081ecd743c2fdd845f88b25d6cb4d46f9e6d58e35eb11c66ad";
-      name = "ktuberling-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/ktuberling-19.08.3.tar.xz";
+      sha256 = "5204b6eee57554e90d542dc4eca45fbbf0246f261fb1c231b53440c90d26aee1";
+      name = "ktuberling-19.08.3.tar.xz";
     };
   };
   kturtle = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kturtle-19.08.2.tar.xz";
-      sha256 = "1f1245c444aba511aea0630f80953171dd11334f55f6b9547a844e25293cf833";
-      name = "kturtle-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kturtle-19.08.3.tar.xz";
+      sha256 = "a622b22ea3b98666dbd32f6f6db2093b7f3859be52515b3bedc72684ef7780e7";
+      name = "kturtle-19.08.3.tar.xz";
     };
   };
   kubrick = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kubrick-19.08.2.tar.xz";
-      sha256 = "89c181f8c82db143cd671fe78105e95a229e43fd64cab17ccdb80774b4ca8638";
-      name = "kubrick-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kubrick-19.08.3.tar.xz";
+      sha256 = "fd11e0969ae08e42316044535008511b3fcae7752c7a86b2ae9ae24c94e44855";
+      name = "kubrick-19.08.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kwalletmanager-19.08.2.tar.xz";
-      sha256 = "5c0cd648d6bf4515cd71b4575ab8051004dcf505c2bfe502fb42b7ba01cb51b2";
-      name = "kwalletmanager-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwalletmanager-19.08.3.tar.xz";
+      sha256 = "00c1362d1454f4593e1f99847b97b3da99931c74ceafc3c3350337af0038b985";
+      name = "kwalletmanager-19.08.3.tar.xz";
     };
   };
   kwave = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kwave-19.08.2.tar.xz";
-      sha256 = "7836b7737d3f578f6d44b40dddf8b3abae53eaa84b3352bfed242eb6ef3d5604";
-      name = "kwave-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwave-19.08.3.tar.xz";
+      sha256 = "bde8d2c3805b52bdcf0371c28e870d20fdfdd8b69831a9ba4e59ee9ae0a863ef";
+      name = "kwave-19.08.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/kwordquiz-19.08.2.tar.xz";
-      sha256 = "9bb9abc4058b8520a9229317d7da6cbbddb8a715549ca487c04af5f9eb425019";
-      name = "kwordquiz-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/kwordquiz-19.08.3.tar.xz";
+      sha256 = "9561e4817b5b273f74e7591d1ecb82db45140eea2ea36ab3e2f21d81faa1b66d";
+      name = "kwordquiz-19.08.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libgravatar-19.08.2.tar.xz";
-      sha256 = "393370a9d7d4a74627469b2e67bb3f7a0ef73dac8b11a3ab5af6c384c20a0de5";
-      name = "libgravatar-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libgravatar-19.08.3.tar.xz";
+      sha256 = "7f3421d1074065221e7ff892ba5f32614aef08b9ee407b5d8301e20f414bf8fb";
+      name = "libgravatar-19.08.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkcddb-19.08.2.tar.xz";
-      sha256 = "f3e4c650b0abe10f281037bd6c805243a656fecdfc046a8586324c760ba90e48";
-      name = "libkcddb-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkcddb-19.08.3.tar.xz";
+      sha256 = "56fe09cfab0455581057aa1681cec01777159a51af1871419cd1b5fb9d4e8ae6";
+      name = "libkcddb-19.08.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkcompactdisc-19.08.2.tar.xz";
-      sha256 = "e185f528a4c6fea1b789186fe64a183197afc447c8cb939c9b6b9957f60d04e0";
-      name = "libkcompactdisc-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkcompactdisc-19.08.3.tar.xz";
+      sha256 = "912b885badf6aff6b0378fba993633c9fb5cf026dc6791e4cda0c4c27913f425";
+      name = "libkcompactdisc-19.08.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkdcraw-19.08.2.tar.xz";
-      sha256 = "735ab40633efec394c6265d83f86ad7caf278f63d1dd33cc6edf572da4925fcb";
-      name = "libkdcraw-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdcraw-19.08.3.tar.xz";
+      sha256 = "7fe4ade52c2e1e1ec3074fe52ebfc8838193b50791f2f26256f04178015ef87e";
+      name = "libkdcraw-19.08.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkdegames-19.08.2.tar.xz";
-      sha256 = "83456cec44502a1f79c0be00c983090e32fd8aea5fec1461fbfbd37b5f8866ac";
-      name = "libkdegames-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdegames-19.08.3.tar.xz";
+      sha256 = "019cdc0c702b8c9cacabc36ec2c81951e43ff80dbdfe527cba0dc5f5649dbb89";
+      name = "libkdegames-19.08.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkdepim-19.08.2.tar.xz";
-      sha256 = "67578e4c98e7e5d94249144e3720ae5fbc17231d4ecc46cb0e1be6e7ced4a71b";
-      name = "libkdepim-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkdepim-19.08.3.tar.xz";
+      sha256 = "36c9457868fd98648a911304a485e8509689bfc280f9d4ad2631ba15f849b059";
+      name = "libkdepim-19.08.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkeduvocdocument-19.08.2.tar.xz";
-      sha256 = "74338cb3fcb9346a981585484f758aabd372d1a43afe9facd93d94c229424250";
-      name = "libkeduvocdocument-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkeduvocdocument-19.08.3.tar.xz";
+      sha256 = "19d816ae3dd2395f53c8bc19a4d62dcd6fcec0bcebbc8ebfe32987afdb87ee14";
+      name = "libkeduvocdocument-19.08.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkexiv2-19.08.2.tar.xz";
-      sha256 = "abdafabe834862e157356f2686ae871f00302d82ae639dbf89030d19ccc54b1b";
-      name = "libkexiv2-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkexiv2-19.08.3.tar.xz";
+      sha256 = "4c8a1acc4fe6c7105130ac93f5486ddbffb09921a9f34d3af418bd7e1695435e";
+      name = "libkexiv2-19.08.3.tar.xz";
     };
   };
   libkgapi = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkgapi-19.08.2.tar.xz";
-      sha256 = "b220908dd4a21e589a25b964b7786f1154f63ca98bf90c43ced3120adf4fb0a6";
-      name = "libkgapi-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkgapi-19.08.3.tar.xz";
+      sha256 = "085878396ae2a8bed7e9121d985de848c515992a3c6c989b9510125bc859e67c";
+      name = "libkgapi-19.08.3.tar.xz";
     };
   };
   libkgeomap = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkgeomap-19.08.2.tar.xz";
-      sha256 = "145692b900d87a84b74507b53ddc05947e6c1cce46381d8960559b5907296219";
-      name = "libkgeomap-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkgeomap-19.08.3.tar.xz";
+      sha256 = "858a6327fe45b67bd31e1f592412a30e0c0f64eb353279480f62b19e51df9576";
+      name = "libkgeomap-19.08.3.tar.xz";
     };
   };
   libkipi = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkipi-19.08.2.tar.xz";
-      sha256 = "fcaf576afb961d9a36c1f69c034c43b9f0991cbd0726ea684c2c49096f36d5c6";
-      name = "libkipi-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkipi-19.08.3.tar.xz";
+      sha256 = "4b06a880a66eae18dc3ed7f4b39e877691c21d60af7603c7679ebcac5a0a7d4b";
+      name = "libkipi-19.08.3.tar.xz";
     };
   };
   libkleo = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkleo-19.08.2.tar.xz";
-      sha256 = "0acf296ffb0144096071e47ce1365b9e5b07b59cad4700f89c875c7bee4573bd";
-      name = "libkleo-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkleo-19.08.3.tar.xz";
+      sha256 = "5f1a3276646c786e8e25e6765d0f4e6b6ac0e4dccd094c1810b10a10e401576e";
+      name = "libkleo-19.08.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkmahjongg-19.08.2.tar.xz";
-      sha256 = "8699949fae90c0e92dd046b904b0624f79c37fecaa46557c808f20f24e215947";
-      name = "libkmahjongg-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkmahjongg-19.08.3.tar.xz";
+      sha256 = "fd7d036ba3b17246fad42e0366003233c42f5b03df881d6bc6886518c2acb165";
+      name = "libkmahjongg-19.08.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libkomparediff2-19.08.2.tar.xz";
-      sha256 = "c5738f96dbda3d7272ad08ff9518722ae9b7ee737ab7e27c9e88cedb418371d7";
-      name = "libkomparediff2-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libkomparediff2-19.08.3.tar.xz";
+      sha256 = "a1ba5616fda806d5aedab3fb080bbcef5e13c04153fd9659d9d47f0a1a11125d";
+      name = "libkomparediff2-19.08.3.tar.xz";
     };
   };
   libksane = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libksane-19.08.2.tar.xz";
-      sha256 = "97e05423f4a9205b9db0bbce5111615d6bf8e8d53a391d3398275babccd91aa0";
-      name = "libksane-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libksane-19.08.3.tar.xz";
+      sha256 = "97808ced0a0c6800c31fa8e810d2a00a3dbda410ed6691e114173b0412b94f93";
+      name = "libksane-19.08.3.tar.xz";
     };
   };
   libksieve = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/libksieve-19.08.2.tar.xz";
-      sha256 = "5c5bb9182e53a2a928d70985f6dd514c8b308891c4899b942784e80d221318f6";
-      name = "libksieve-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/libksieve-19.08.3.tar.xz";
+      sha256 = "a10311192a57d1b7073d73477f5cefdf7c42d0a720d0eaf406986e4f1835ce60";
+      name = "libksieve-19.08.3.tar.xz";
     };
   };
   lokalize = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/lokalize-19.08.2.tar.xz";
-      sha256 = "3fe3af9f647bcda7f89eab5c3ebb7bce4e9ceb0b7cfb5206c2f6ecdf9cdbe3ee";
-      name = "lokalize-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/lokalize-19.08.3.tar.xz";
+      sha256 = "e25de54944ca32b32b4eeddd85e8ca9764a04de7c1d7a2d350d41cbda8105aef";
+      name = "lokalize-19.08.3.tar.xz";
     };
   };
   lskat = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/lskat-19.08.2.tar.xz";
-      sha256 = "3ae219b92cbc4c9acfacbb16e262e82b03cd5ddba024820e82d8de7312327a9c";
-      name = "lskat-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/lskat-19.08.3.tar.xz";
+      sha256 = "499334ffff57a46973caa4f8571b06ae482bccff9e17dcd9ba82ac7f448365e2";
+      name = "lskat-19.08.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/mailcommon-19.08.2.tar.xz";
-      sha256 = "39df1544c0278600d5a1a57697835828358ae44203087e29430ce1bd0c355e20";
-      name = "mailcommon-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mailcommon-19.08.3.tar.xz";
+      sha256 = "55ccf161f40b3647f269f71309f9a2fcdf1e2327da53e96c3d8510fc664252bf";
+      name = "mailcommon-19.08.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/mailimporter-19.08.2.tar.xz";
-      sha256 = "27780c381919ebc9e6fc0de7021cd03277dd3962d4c4c15770fcf44cd6126814";
-      name = "mailimporter-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mailimporter-19.08.3.tar.xz";
+      sha256 = "fbdfbfe093bb0af05d26492c0839a94ac0a5c0577081bd726626b943be7cb96e";
+      name = "mailimporter-19.08.3.tar.xz";
     };
   };
   marble = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/marble-19.08.2.tar.xz";
-      sha256 = "4add63522a51fdea7b425f29bd3d35c558a0b881336ff6a90bfc07483acbf6a6";
-      name = "marble-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/marble-19.08.3.tar.xz";
+      sha256 = "cd5d7f758d2234dc8e2fa638b9e1326461655e10dbe21910dbef029e80ef7a68";
+      name = "marble-19.08.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/mbox-importer-19.08.2.tar.xz";
-      sha256 = "644175d6fcb66b878309de899f4a3e060e29d4f31ce337d44ee6e1af5901044f";
-      name = "mbox-importer-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/mbox-importer-19.08.3.tar.xz";
+      sha256 = "77fadf4d2dc14830704135237fb7c5f0285204acb9822277944cc03f70b8dc3c";
+      name = "mbox-importer-19.08.3.tar.xz";
     };
   };
   messagelib = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/messagelib-19.08.2.tar.xz";
-      sha256 = "d761e94d2fa71c2de6a52e0c1756f52f0006ada35711189b343eccdafe0a0390";
-      name = "messagelib-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/messagelib-19.08.3.tar.xz";
+      sha256 = "db2e48e48d87922f9533ebd3eb021549e6bf8dea5828d83bfdfecb36b1426728";
+      name = "messagelib-19.08.3.tar.xz";
     };
   };
   minuet = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/minuet-19.08.2.tar.xz";
-      sha256 = "1713ac758388443bbd1e2f5158cba594c35c3afdc5122a993fc66d70b07eb904";
-      name = "minuet-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/minuet-19.08.3.tar.xz";
+      sha256 = "8af3e0b5fd17d7043499391273232a1649ea3dec5e69faab5a4dc4452080605c";
+      name = "minuet-19.08.3.tar.xz";
     };
   };
   okular = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/okular-19.08.2.tar.xz";
-      sha256 = "ff3d2eac444a110a611add71c30b0556085f5aaccdd821a80bd070a646c9f6b3";
-      name = "okular-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/okular-19.08.3.tar.xz";
+      sha256 = "cea30fe0c2c2b8394e76efe5c945eab1cc9619097291bd9236794b42b09523e5";
+      name = "okular-19.08.3.tar.xz";
     };
   };
   palapeli = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/palapeli-19.08.2.tar.xz";
-      sha256 = "bae810595c7ba7bdac0fa5c27e6c2a3a9bb1bbdae3521cfc036ec0cdcd9ef1a7";
-      name = "palapeli-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/palapeli-19.08.3.tar.xz";
+      sha256 = "fc8e4ddd92def4998a0e8b11bc0a45671e5b07e065313aec135e74c056f321bd";
+      name = "palapeli-19.08.3.tar.xz";
     };
   };
   parley = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/parley-19.08.2.tar.xz";
-      sha256 = "1201945d55657d6b89e309220edb1a60a61debf0bbf59b508d1c0a21a8dc407e";
-      name = "parley-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/parley-19.08.3.tar.xz";
+      sha256 = "a3d11ddf5a6c8244e5a22c10f6e256ad8bd857802d994550549c7f73f8ed8da8";
+      name = "parley-19.08.3.tar.xz";
     };
   };
   picmi = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/picmi-19.08.2.tar.xz";
-      sha256 = "ecfa211043327991a0927be852c185223adebe5f15cdc39e79e31022802f904b";
-      name = "picmi-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/picmi-19.08.3.tar.xz";
+      sha256 = "6ed444d40a388e5c1f5f7bda24d35fa119fa5b5ee488def02321f14476bd357d";
+      name = "picmi-19.08.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/pimcommon-19.08.2.tar.xz";
-      sha256 = "ccdf2624a055a9db31b0b8109c791776d111ae91438f41ed50dcb9faca287e4c";
-      name = "pimcommon-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pimcommon-19.08.3.tar.xz";
+      sha256 = "76a67c28db71e1187fa192f0e1a07279c690dea313a2a376b2d21b82ab0784ca";
+      name = "pimcommon-19.08.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/pim-data-exporter-19.08.2.tar.xz";
-      sha256 = "e4703d7a10935814738394a38c5ad54f9923c58e43c397e2e78a4b1b1176f4c2";
-      name = "pim-data-exporter-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pim-data-exporter-19.08.3.tar.xz";
+      sha256 = "f89b6588822dd5501e1b93ed3abd9b822725944246ab834777ed0f91f5ab6b91";
+      name = "pim-data-exporter-19.08.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/pim-sieve-editor-19.08.2.tar.xz";
-      sha256 = "ae9f7de78ab9adffe2575bf1367b1ae4928afee1fd299bb91ca2d26b3bb86c03";
-      name = "pim-sieve-editor-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/pim-sieve-editor-19.08.3.tar.xz";
+      sha256 = "5e8aa5d71ea923baf4376986db77b6dee16d6e281caf22855e97cfeebfb4c1fe";
+      name = "pim-sieve-editor-19.08.3.tar.xz";
     };
   };
   poxml = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/poxml-19.08.2.tar.xz";
-      sha256 = "c5e36bd10d3a8d0474f903eebd45e026ca306beb74829c43a1e7be4ed34ca9e8";
-      name = "poxml-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/poxml-19.08.3.tar.xz";
+      sha256 = "be5feaf46d424a4a4edc5936924f9a8a6d1d5467ecedd0e415aa88e2c3170502";
+      name = "poxml-19.08.3.tar.xz";
     };
   };
   print-manager = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/print-manager-19.08.2.tar.xz";
-      sha256 = "c0702208b6f485e2e44337aaf203b9e391adda22d6526bf0dd34b31230e0fb05";
-      name = "print-manager-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/print-manager-19.08.3.tar.xz";
+      sha256 = "c6420dfa711fc68a6d681d27521eac3c9f1060e57f048594b43f2941a78320ee";
+      name = "print-manager-19.08.3.tar.xz";
     };
   };
   rocs = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/rocs-19.08.2.tar.xz";
-      sha256 = "4e61226334f79a260f0ccc7789a099a91c7643d9fdfcdd052b002f2fe6f64885";
-      name = "rocs-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/rocs-19.08.3.tar.xz";
+      sha256 = "533ab2f17160c402550479d7d3be9132b49e1d745c021c7735f0687d12236c8e";
+      name = "rocs-19.08.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/signon-kwallet-extension-19.08.2.tar.xz";
-      sha256 = "2521cd2c4f25717f5caf9915474f75614be7dec7053f1e94c1429fac7045cc29";
-      name = "signon-kwallet-extension-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/signon-kwallet-extension-19.08.3.tar.xz";
+      sha256 = "273ff874bf08dd97a12b3b07215bc0ce9fd3c3c59b6bb1f61000411454211a65";
+      name = "signon-kwallet-extension-19.08.3.tar.xz";
     };
   };
   spectacle = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/spectacle-19.08.2.tar.xz";
-      sha256 = "4cf2f0903cec2787a03a8bbdbd219acc29ac412f352a4ff94ef50ae9a6eb459e";
-      name = "spectacle-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/spectacle-19.08.3.tar.xz";
+      sha256 = "3717b7ebd314cac47c263c304c54c14b0115b15cfa4b87201f5ea27a2f4e9b8a";
+      name = "spectacle-19.08.3.tar.xz";
     };
   };
   step = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/step-19.08.2.tar.xz";
-      sha256 = "dede94c073b2903fa4fa6806623cb980ebe93d15cc76376aadac4ca8cd61a96c";
-      name = "step-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/step-19.08.3.tar.xz";
+      sha256 = "1197b38d9ef14305cf341eba4cd2df08695a9b3f53e2bebff8abb7cbd7a9e2aa";
+      name = "step-19.08.3.tar.xz";
     };
   };
   svgpart = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/svgpart-19.08.2.tar.xz";
-      sha256 = "6c6510b604bba3aebbeca136ec9534c416bc0ba55125227bdd0af2a86052855c";
-      name = "svgpart-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/svgpart-19.08.3.tar.xz";
+      sha256 = "1ad667fc6988b64fd379cfb79d00a7c04c97de530e4b61a9ae8a525971ea2a94";
+      name = "svgpart-19.08.3.tar.xz";
     };
   };
   sweeper = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/sweeper-19.08.2.tar.xz";
-      sha256 = "da65cbfc952d8b63ddfbcba373d9a828ef5acefc68196ddd4c2c602c672cbb5f";
-      name = "sweeper-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/sweeper-19.08.3.tar.xz";
+      sha256 = "0451b9319c4390cfae497922cc135d7d8c4ef74ac81f2c05d2f94458bb3fc8be";
+      name = "sweeper-19.08.3.tar.xz";
     };
   };
   umbrello = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/umbrello-19.08.2.tar.xz";
-      sha256 = "69a721d27ecedbe694d232e04469002dcf2319dd320982aacc2a02e32430c382";
-      name = "umbrello-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/umbrello-19.08.3.tar.xz";
+      sha256 = "c4c56354d2765c0d03ffda02cc098cc3e9d72b0c7c22bb0c1cc03dcf5ac31a6a";
+      name = "umbrello-19.08.3.tar.xz";
     };
   };
   yakuake = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/yakuake-19.08.2.tar.xz";
-      sha256 = "3ebf477069c85a8705302b6b51902a74af7bb92349fab41000f71484a4de5aee";
-      name = "yakuake-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/yakuake-19.08.3.tar.xz";
+      sha256 = "1ad2cc026eea9449690aa037ac94b09cd18696d71025204e648501fa7f2cfbaf";
+      name = "yakuake-19.08.3.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "19.08.2";
+    version = "19.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/19.08.2/src/zeroconf-ioslave-19.08.2.tar.xz";
-      sha256 = "19e31534d1a4503d1dd4bd8ef60cfb48a91ee167dd4b0db99e53b318a355dae0";
-      name = "zeroconf-ioslave-19.08.2.tar.xz";
+      url = "${mirror}/stable/applications/19.08.3/src/zeroconf-ioslave-19.08.3.tar.xz";
+      sha256 = "b7b00edcc987c298e1dc885e3ceb6acbcbfe40141423d90406a3ccecef2471ed";
+      name = "zeroconf-ioslave-19.08.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 24f788ef468..2db8f7b26f3 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -52,16 +52,16 @@ let
   ];
 in buildRustPackage rec {
   pname = "alacritty";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h9zid7bi19qga3a8a2d4x3ma9wf1njmj74s4xnw7nzqqf3dh750";
+    sha256 = "0adaqdbma6gskb2g14yscrgr9gch5wf2g2clchplv72c2qr1k427";
   };
 
-  cargoSha256 = "1rxb5ljgvn881jkxm8772kf815mmp08ci7sqmn2x1jwdcrphhxr1";
+  cargoSha256 = "1r267g8f986nxh8ms5yhp50qy1yl8gly2jr78p738qqc6frlxlhv";
 
   nativeBuildInputs = [
     cmake
@@ -76,10 +76,6 @@ in buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
 
   outputs = [ "out" "terminfo" ];
-  postPatch = ''
-    substituteInPlace alacritty_terminal/src/config/mouse.rs \
-      --replace xdg-open ${xdg_utils}/bin/xdg-open
-  '';
 
   postBuild = lib.optionalString stdenv.isDarwin "make app";
 
@@ -105,7 +101,7 @@ in buildRustPackage rec {
     gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
 
     install -dm 755 "$terminfo/share/terminfo/a/"
-    tic -x -o "$terminfo/share/terminfo" extra/alacritty.info
+    tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
     mkdir -p $out/nix-support
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
 
@@ -118,7 +114,7 @@ in buildRustPackage rec {
     description = "GPU-accelerated terminal emulator";
     homepage = https://github.com/jwilm/alacritty;
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ mic92 ];
+    maintainers = with maintainers; [ filalex77 mic92 ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/appeditor/default.nix b/pkgs/applications/misc/appeditor/default.nix
index 398e14a9c25..cda75ac4c05 100644
--- a/pkgs/applications/misc/appeditor/default.nix
+++ b/pkgs/applications/misc/appeditor/default.nix
@@ -40,11 +40,22 @@ 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
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Edit the Pantheon desktop application menu";
     homepage = https://github.com/donadigo/appeditor;
diff --git a/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch b/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
new file mode 100644
index 00000000000..f6c0b4cfd28
--- /dev/null
+++ b/pkgs/applications/misc/appeditor/fix-build-vala-0.46.patch
@@ -0,0 +1,22 @@
+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/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix
index d8325e19e26..10e46176c6e 100644
--- a/pkgs/applications/misc/barrier/default.nix
+++ b/pkgs/applications/misc/barrier/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation,
+  openssl, wrapGAppsHook,
   avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }
 }:
 
@@ -13,12 +14,17 @@ mkDerivation rec {
     sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd";
   };
 
-  buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
+  buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
+  nativeBuildInputs = [ cmake wrapGAppsHook ];
 
   postFixup = ''
     substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier"
   '';
 
+  qtWrapperArgs = [
+    ''--prefix PATH : ${stdenv.lib.makeBinPath [ openssl ]}''
+  ];
+
   meta = {
     description = "Open-source KVM software";
     longDescription = ''
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
deleted file mode 100644
index 8b994c55de3..00000000000
--- a/pkgs/applications/misc/batti/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl
-, pkgconfig, gettext, pythonPackages
-, gtk2, gdk-pixbuf, upower
-, makeWrapper }:
-
-let
-  inherit (pythonPackages) dbus-python pygtk python;
-in stdenv.mkDerivation rec {
-
-  pname = "batti";
-  version = "0.3.8";
-
-  src = fetchurl {
-    url = "https://batti-gtk.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
-  };
-
-  buildInputs = with stdenv.lib;
-  [ pkgconfig gettext python gtk2 pygtk dbus-python gdk-pixbuf upower makeWrapper ];
-
-  dontConfigure = true;
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
-  installPhase = ''
-    python setup.py install --prefix $out
-    wrapProgram "$out/bin/batti" \
-      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-
-  meta = with stdenv.lib; {
-    description = "An {UPower,GTK}-based battery monitor for the system tray";
-    longDescription = ''
-      Batti is a simple battery monitor for the system tray. Batti
-      uses UPower, and if that is missing DeviceKit.Power, for it's
-      power information.
-    '';
-    homepage = http://batti-gtk.googlecode.com/;
-    license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-    broken = true;  # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520
-  };
-}
-
-# TODO: fix the "icon not found" problems...
diff --git a/pkgs/applications/misc/birdtray/default.nix b/pkgs/applications/misc/birdtray/default.nix
new file mode 100644
index 00000000000..39ecaa995d1
--- /dev/null
+++ b/pkgs/applications/misc/birdtray/default.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+  , lib
+  , fetchFromGitHub
+
+  , cmake
+  , pkgconfig
+  , qtbase
+  , qttools
+  , qtx11extras
+  , sqlite
+}:
+
+mkDerivation rec {
+  pname = "birdtray";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "gyunaev";
+    repo = pname;
+    rev = "RELEASE_${version}";
+    sha256 = "0wj2lq5bz1p0cf6yj43v3ifxschcrh5amwx30wqw2m4bb8syzjw1";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+    qtbase qtx11extras sqlite
+  ];
+
+  installPhase = ''
+    install -Dm755 birdtray $out/bin/birdtray
+  '';
+
+  meta = with lib; {
+    description = "Mail system tray notification icon for Thunderbird";
+    homepage = https://github.com/gyunaev/birdtray;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ Flakebi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix
index 3f13972de9b..225a5c5fc37 100644
--- a/pkgs/applications/misc/bleachbit/default.nix
+++ b/pkgs/applications/misc/bleachbit/default.nix
@@ -1,16 +1,43 @@
-{ stdenv, pythonPackages, fetchurl, gettext }:
+{ stdenv
+, pythonPackages
+, fetchurl
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, gtk3
+, libnotify
+}:
+
 pythonPackages.buildPythonApplication rec {
   pname = "bleachbit";
-  version = "2.2";
+  version = "3.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1yj9bc3k6s1aib7znb79h5rybfv691zz4szxkwf9fm9nr0dws603";
+    sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d";
   };
 
-  nativeBuildInputs = [ gettext ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libnotify
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    chardet
+    pygobject3
+    requests
+    scandir
+  ];
 
   # Patch the many hardcoded uses of /usr/share/ and /usr/bin
   postPatch = ''
@@ -20,15 +47,17 @@ pythonPackages.buildPythonApplication rec {
 
   dontBuild = true;
 
-  installFlags = [ "prefix=${placeholder "out"}" ];
+  installFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  propagatedBuildInputs = with pythonPackages; [ pygtk ];
+  strictDeps = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://bleachbit.sourceforge.net;
     description = "A program to clean your computer";
     longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leonardoce ];
   };
 }
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 3b98114c710..0af78852204 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,7 +1,8 @@
 { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, openvdb, libXxf86vm, tbb
 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
@@ -15,20 +16,21 @@ let python = python3Packages.python; in
 
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.80";
+  version = "2.81a";
 
   src = fetchurl {
-    url = "https://download.blender.org/source/${pname}-${version}.tar.gz";
-    sha256 = "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd";
+    url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
+    sha256 = "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j";
   };
 
   nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath;
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       libXi libX11 libXext libXrender
-      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal
+      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal
       opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc
       (opensubdiv.override { inherit cudaSupport; })
+      openvdb libXxf86vm tbb
       makeWrapper
     ]
     ++ optional jackaudioSupport libjack2
@@ -56,6 +58,9 @@ stdenv.mkDerivation rec {
       "-DWITH_PYTHON_INSTALL=OFF"
       "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
       "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
+      "-DWITH_OPENVDB=ON"
+      "-DWITH_TBB=ON"
+      "-DWITH_IMAGE_OPENJPEG=ON"
     ]
     ++ optional jackaudioSupport "-DWITH_JACK=ON"
     ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
diff --git a/pkgs/applications/misc/blugon/default.nix b/pkgs/applications/misc/blugon/default.nix
new file mode 100644
index 00000000000..e6f956cc091
--- /dev/null
+++ b/pkgs/applications/misc/blugon/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3, libX11, libXrandr }:
+
+stdenv.mkDerivation rec {
+  pname = "blugon";
+  version = "1.11.4";
+
+  src = fetchFromGitHub {
+    owner = "jumper149";
+    repo = pname;
+    rev = version;
+    sha256 = "0x320w2h5nlcgha4345i8ns15akb4kmrdgkh710s4r1n1by4x11r";
+  };
+
+  buildInputs = [ python3 libX11 libXrandr ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Simple and configurable Blue Light Filter for X";
+    longDescription = ''
+      blugon is a simple and fast Blue Light Filter, that is highly configurable and provides a command line interface.
+      The program can be run just once or as a daemon (manually or via systemd).
+      There are several different backends available.
+      blugon calculates the screen color from your local time and configuration.
+    '';
+    license = licenses.asl20;
+    homepage = "https://github.com/jumper149/blugon";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jumper149 ];
+  };
+}
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index ac65341d498..98f6e2895d1 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -27,6 +27,7 @@ with python3.pkgs; buildPythonApplication rec {
     requests
     urllib3
     flask
+    flask-admin
     flask-api
     flask-bootstrap
     flask-paginate
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 22ae573353e..9701db3c0b7 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -47,7 +47,7 @@ mkDerivation rec {
     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
   ] ++ (with pypkgs; [
-    apsw cssselect css-parser dateutil dnspython html5-parser lxml markdown netifaces pillow
+    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
     python pyqt5_with_qtwebkit sip
     regex msgpack beautifulsoup4 html2text
     # the following are distributed with calibre, but we use upstream instead
diff --git a/pkgs/applications/misc/cipher/default.nix b/pkgs/applications/misc/cipher/default.nix
index ef47e3e0358..cdcfcc00481 100644
--- a/pkgs/applications/misc/cipher/default.nix
+++ b/pkgs/applications/misc/cipher/default.nix
@@ -10,18 +10,17 @@
 , glib
 , gtk3
 , libgee
-, xdg_utils
 , wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "cipher";
-  version = "2.0.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "arshubham";
     repo = "cipher";
     rev = version;
-    sha256 = "0n5aigcyxnl4k52mdmavbxx6afc1ixymn3k3l2ryhyzi5q31x0x3";
+    sha256 = "00azc5ck17zkdypfza6x1viknwhimd9fqgk2ybff3mx6aphmla7a";
   };
 
   nativeBuildInputs = [
@@ -42,12 +41,18 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-  	substituteInPlace data/com.github.arshubham.cipher.desktop.in \
-  		--replace xdg-open ${xdg_utils}/bin/xdg-open
-    chmod +x post_install.py
-    patchShebangs post_install.py
+    substituteInPlace data/com.github.arshubham.cipher.desktop.in \
+      --replace "gio" "${glib.bin}/bin/gio"
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A simple application for encoding and decoding text, designed for elementary OS";
     homepage = "https://github.com/arshubham/cipher";
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index 43ff1d73f78..f9c08d1f00a 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clightd";
-  version = "3.4";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clightd";
     rev = version;
-    sha256 = "0g6kawizwfhvigkwm7rbfq6rg872xn8igy8n355w4d7mmcxk0jf8";
+    sha256 = "0cskxy3xsy187in5vg8xcs3kwcx2s160qv009v0ahkcalp29ghz4";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix
index 829fd4e1223..a2e45256269 100644
--- a/pkgs/applications/misc/clight/default.nix
+++ b/pkgs/applications/misc/clight/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchFromGitHub
 , dbus, cmake, pkgconfig, bash-completion
-, gsl, popt, clightd, systemd, libconfig
+, gsl, popt, clightd, systemd, libconfig, libmodule
 , withGeoclue ? true, geoclue2
 , withUpower ? true, upower }:
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "3.1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "0rzcr1x9h4llnmklhgzs9r7xwhsrw1qkqvfffkp8fs90nycaqx81";
+    sha256 = "101fp9kwmfmfffpdvv41wf96kdjw0b16xk49g43w32a5wlr74zrq";
   };
 
   # bash-completion.pc completionsdir=${bash-completion.out}
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     systemd
     geoclue2
     libconfig
+    libmodule
   ] ++ optional withGeoclue geoclue2
     ++ optional withUpower upower;
 
diff --git a/pkgs/applications/misc/cmatrix/default.nix b/pkgs/applications/misc/cmatrix/default.nix
index cc57e58c56a..9f86ec94f18 100644
--- a/pkgs/applications/misc/cmatrix/default.nix
+++ b/pkgs/applications/misc/cmatrix/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       CMatrix simulates the display from "The Matrix" and is based
       on the screensaver from the movie's website.
     '';
-    homepage = http://www.asty.org/cmatrix/;
+    homepage = https://github.com/abishekvashok/cmatrix;
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.AndersonTorres ];
   };
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index cba9c1d4227..29700774219 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.3.6";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = version;
-    sha256 = "0xm616yjqf6qq98yjbdj6lihib2p4fh6jd91dcb59arkbs2l1nbg";
+    sha256 = "067jsn66xs30d5yz9z8cvpxbvh8a95kllkb2wk134c43bfxy2m34";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 825053483a4..58a85f8f6e9 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "CopyQ";
-  version = "3.9.2";
+  version = "3.9.3";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "02zs444i7hnqishs1i6vp8ffjxlxk3xkrw935pdwnwppv9s9v202";
+    sha256 = "0wlwq9xg8rzsbj0b29z358k4mbrqy04iraa8x0p26pa95yskgcma";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/coursera-dl/default.nix b/pkgs/applications/misc/coursera-dl/default.nix
index 0601514546f..c09457d2c65 100644
--- a/pkgs/applications/misc/coursera-dl/default.nix
+++ b/pkgs/applications/misc/coursera-dl/default.nix
@@ -5,13 +5,13 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   pname = "coursera-dl";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "coursera-dl";
     repo = "coursera-dl";
     rev = version;
-    sha256 = "0dn7a6s98dwba62r0dyabq8pryzga4b2wpx88i9bmp7ja1b1f92f";
+    sha256 = "0akgwzrsx094jj30n4bd2ilwgva4qxx38v3bgm69iqfxi8c2bqbk";
   };
 
   nativeBuildInputs = with pythonPackages; [ pandoc ];
diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix
index 0e9ff40cffa..dae25f6b817 100644
--- a/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/pkgs/applications/misc/cpp-ethereum/default.nix
@@ -13,7 +13,7 @@
 , miniupnpc
 , libmicrohttpd
 , gmp
-, libGLU_combined
+, libGLU, libGL
 , extraCmakeFlags ? []
 }:
 stdenv.mkDerivation rec {
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     miniupnpc
     libmicrohttpd
     gmp
-    libGLU_combined
+    libGLU libGL
   ];
 
   dontStrip = true;
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 702a9c585a3..7187b8c0099 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "cura";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "Cura";
-    rev = version;
-    sha256 = "1wf60qr0wqsci5skp55qr8h56s3x5s2icxbn58ia9s4a5hhvnsmf";
+    rev = "v${version}";
+    sha256 = "131n36qhdfky584wr3zv73ckjjprwaqb5fih8yln2syf8b7ziwlz";
   };
 
   materials = fetchFromGitHub {
diff --git a/pkgs/applications/misc/cura/plugins.nix b/pkgs/applications/misc/cura/plugins.nix
index 20c58ddfb1d..35d6c97fa0b 100644
--- a/pkgs/applications/misc/cura/plugins.nix
+++ b/pkgs/applications/misc/cura/plugins.nix
@@ -6,13 +6,13 @@ let
 
     octoprint = stdenv.mkDerivation rec {
       pname = "Cura-OctoPrintPlugin";
-      version = "3.5.8";
+      version = "3.5.11";
 
       src = fetchFromGitHub {
         owner = "fieldOfView";
         repo = pname;
-        rev = "a82a42a87bbeb390b80b991afb1a6741c46a3432";
-        sha256 = "0q5yd7pw626qls2ks2y39hb9czd6lgh71jalzl2drwdi6a8mwsfz";
+        rev = "3cef0a955ae7ccfa5c07d20d9d147c530cc9d6ec";
+        sha256 = "0q9bkwgpsbfwkp1bfaxq3wm9pbwx5d7ji0jr7cwc4y5nizji81is";
       };
 
       nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 06c5d158565..6594deb84a5 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "074qcaj1v2ri9wppx9lr066nlidkrsp9m1rrrk2hs2b61x0340ff";
+    sha256 = "1m89bp4g0dldh7vv1clj110m29ajiaghdq7b49mb3y8ifgrf8rdi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 1549ab00a4f..dfb9e1dd921 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.2.4";
+  version = "6.3.1";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1k3aan290kfy2b53gl8r4yxvb8jas6sms1r052m3jld3i8frqgva";
+    sha256 = "0w7nsxm66gbwwql1zk7zh6zvvsjcn78qm0miv0w8nj1qk24zr494";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/diffpdf/default.nix b/pkgs/applications/misc/diffpdf/default.nix
index 37ed8eb23fb..957d3ee72bb 100644
--- a/pkgs/applications/misc/diffpdf/default.nix
+++ b/pkgs/applications/misc/diffpdf/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, qmake, qttools, qtbase, poppler }:
+{ stdenv, mkDerivation, fetchurl, fetchpatch, qmake, qttools, qtbase, poppler }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "2.1.3";
   pname = "diffpdf";
 
diff --git a/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch b/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch
new file mode 100644
index 00000000000..89ff3759451
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/CVE-2019-15142.patch
@@ -0,0 +1,72 @@
+commit 970fb11a296b5bbdc5e8425851253d2c5913c45e
+Author: Leon Bottou <leon@bottou.org>
+Date:   Tue Mar 26 20:36:31 2019 -0400
+
+    Fix bug#296
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index a6a39e0..0a0fac6 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -299,42 +299,44 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+          memcpy((char*) strings+strings_size, buffer, length);
+       }
+       DEBUG_MSG("size of decompressed names block=" << strings.size() << "\n");
+-      if (strings[strings.size()-1] != 0)
+-        {
+-         int strings_size=strings.size();
+-         strings.resize(strings_size+1);
+-         strings[strings_size] = 0;
+-        }
++      int strings_size=strings.size();
++      strings.resize(strings_size+3);
++      memset((char*) strings+strings_size, 0, 4);
+       
+-         // Copy names into the files
++      // Copy names into the files
+       const char * ptr=strings;
+       for(pos=files_list;pos;++pos)
+       {
+          GP<File> file=files_list[pos];
+-
++         if (ptr >= (const char*)strings + strings_size)
++           G_THROW( "DjVu document is corrupted (DjVmDir)" );
+          file->id=ptr;
+          ptr+=file->id.length()+1;
+          if (file->flags & File::HAS_NAME)
+          {
+-            file->name=ptr;
+-            ptr+=file->name.length()+1;
+-         } else
++           file->name=ptr;
++           ptr+=file->name.length()+1;
++         }
++         else
+          {
+             file->name=file->id;
+          }
+          if (file->flags & File::HAS_TITLE)
+          {
+-            file->title=ptr;
+-       ptr+=file->title.length()+1;
+-         } else
+-       file->title=file->id;
+-   /* msr debug:  multipage file, file->title is null.  
++           file->title=ptr;
++           ptr+=file->title.length()+1;
++         }
++         else
++         {
++           file->title=file->id;
++         }
++         /* msr debug:  multipage file, file->title is null.  
+          DEBUG_MSG(file->name << ", " << file->id << ", " << file->title << ", " <<
+                    file->offset << ", " << file->size << ", " <<
+                    file->is_page() << "\n"); */
+       }
+ 
+-         // Check that there is only one file with SHARED_ANNO flag on
++      // Check that there is only one file with SHARED_ANNO flag on
+       int shared_anno_cnt=0;
+       for(pos=files_list;pos;++pos)
+       {
diff --git a/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch b/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch
new file mode 100644
index 00000000000..ef1905338fb
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/CVE-2019-15143.patch
@@ -0,0 +1,39 @@
+commit b1f4e1b2187d9e5010cd01ceccf20b4a11ce723f
+Author: Leon Bottou <leon@bottou.org>
+Date:   Tue Mar 26 20:45:46 2019 -0400
+
+    fix for bug #297
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index 0a0fac6..5a49015 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -309,7 +309,7 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+       {
+          GP<File> file=files_list[pos];
+          if (ptr >= (const char*)strings + strings_size)
+-           G_THROW( "DjVu document is corrupted (DjVmDir)" );
++           G_THROW( ByteStream::EndOfFile );
+          file->id=ptr;
+          ptr+=file->id.length()+1;
+          if (file->flags & File::HAS_NAME)
+diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
+index 0e487f0..c2fdbe4 100644
+--- a/libdjvu/GBitmap.cpp
++++ b/libdjvu/GBitmap.cpp
+@@ -890,11 +890,13 @@ GBitmap::read_rle_raw(ByteStream &bs)
+   int c = 0;
+   while (n >= 0)
+     {
+-      bs.read(&h, 1);
++      if (bs.read(&h, 1) <= 0)
++        G_THROW( ByteStream::EndOfFile );
+       int x = h;
+       if (x >= (int)RUNOVERFLOWVALUE)
+         {
+-          bs.read(&h, 1);
++          if (bs.read(&h, 1) <= 0)
++            G_THROW( ByteStream::EndOfFile );
+           x = h + ((x - (int)RUNOVERFLOWVALUE) << 8);
+         }
+       if (c+x > ncolumns)
diff --git a/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch b/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch
new file mode 100644
index 00000000000..6094be88338
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/CVE-2019-15144.patch
@@ -0,0 +1,111 @@
+commit e15d51510048927f172f1bf1f27ede65907d940d
+Author: Leon Bottou <leon@bottou.org>
+Date:   Mon Apr 8 22:25:55 2019 -0400
+
+    bug 299 fixed
+
+diff --git a/libdjvu/GContainer.h b/libdjvu/GContainer.h
+index 96b067c..0140211 100644
+--- a/libdjvu/GContainer.h
++++ b/libdjvu/GContainer.h
+@@ -550,52 +550,61 @@ public:
+ template <class TYPE> void
+ GArrayTemplate<TYPE>::sort(int lo, int hi)
+ {
+-  if (hi <= lo)
+-    return;
+-  if (hi > hibound || lo<lobound)
+-    G_THROW( ERR_MSG("GContainer.illegal_subscript") );
+   TYPE *data = (TYPE*)(*this);
+-  // Test for insertion sort
+-  if (hi <= lo + 50)
++  while(true)
+     {
+-      for (int i=lo+1; i<=hi; i++)
++      if (hi <= lo)
++        return;
++      if (hi > hibound || lo<lobound)
++        G_THROW( ERR_MSG("GContainer.illegal_subscript") );
++      // Test for insertion sort
++      if (hi <= lo + 50)
+         {
+-          int j = i;
+-          TYPE tmp = data[i];
+-          while ((--j>=lo) && !(data[j]<=tmp))
+-            data[j+1] = data[j];
+-          data[j+1] = tmp;
++          for (int i=lo+1; i<=hi; i++)
++            {
++              int j = i;
++              TYPE tmp = data[i];
++              while ((--j>=lo) && !(data[j]<=tmp))
++                data[j+1] = data[j];
++              data[j+1] = tmp;
++            }
++          return;
+         }
+-      return;
+-    }
+-  // -- determine suitable quick-sort pivot
+-  TYPE tmp = data[lo];
+-  TYPE pivot = data[(lo+hi)/2];
+-  if (pivot <= tmp)
+-    { tmp = pivot; pivot=data[lo]; }
+-  if (data[hi] <= tmp)
+-    { pivot = tmp; }
+-  else if (data[hi] <= pivot)
+-    { pivot = data[hi]; }
+-  // -- partition set
+-  int h = hi;
+-  int l = lo;
+-  while (l < h)
+-    {
+-      while (! (pivot <= data[l])) l++;
+-      while (! (data[h] <= pivot)) h--;
+-      if (l < h)
++      // -- determine median-of-three pivot
++      TYPE tmp = data[lo];
++      TYPE pivot = data[(lo+hi)/2];
++      if (pivot <= tmp)
++        { tmp = pivot; pivot=data[lo]; }
++      if (data[hi] <= tmp)
++        { pivot = tmp; }
++      else if (data[hi] <= pivot)
++        { pivot = data[hi]; }
++      // -- partition set
++      int h = hi;
++      int l = lo;
++      while (l < h)
+         {
+-          tmp = data[l];
+-          data[l] = data[h];
+-          data[h] = tmp;
+-          l = l+1;
+-          h = h-1;
++          while (! (pivot <= data[l])) l++;
++          while (! (data[h] <= pivot)) h--;
++          if (l < h)
++            {
++              tmp = data[l];
++              data[l] = data[h];
++              data[h] = tmp;
++              l = l+1;
++              h = h-1;
++            }
++        }
++      // -- recurse, small partition first
++      //    tail-recursion elimination
++      if (h - lo <= hi - l) {
++        sort(lo,h);
++        lo = l; // sort(l,hi)
++      } else {
++        sort(l,hi);
++        hi = h; // sort(lo,h)
+       }
+     }
+-  // -- recursively restart
+-  sort(lo, h);
+-  sort(l, hi);
+ }
+ 
+ template<class TYPE> inline TYPE&
diff --git a/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch b/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch
new file mode 100644
index 00000000000..01108f9ee73
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/CVE-2019-15145.patch
@@ -0,0 +1,28 @@
+commit 9658b01431cd7ff6344d7787f855179e73fe81a7
+Author: Leon Bottou <leon@bottou.org>
+Date:   Mon Apr 8 22:55:38 2019 -0400
+
+    fix bug #298
+
+diff --git a/libdjvu/GBitmap.h b/libdjvu/GBitmap.h
+index e8e0c9b..ca89a19 100644
+--- a/libdjvu/GBitmap.h
++++ b/libdjvu/GBitmap.h
+@@ -566,7 +566,7 @@ GBitmap::operator[](int row)
+ {
+   if (!bytes) 
+     uncompress();
+-  if (row<0 || row>=nrows) {
++  if (row<0 || row>=nrows || !bytes) {
+ #ifndef NDEBUG
+     if (zerosize < bytes_per_row + border)
+       G_THROW( ERR_MSG("GBitmap.zero_small") );
+@@ -581,7 +581,7 @@ GBitmap::operator[](int row) const
+ {
+   if (!bytes) 
+     ((GBitmap*)this)->uncompress();
+-  if (row<0 || row>=nrows) {
++  if (row<0 || row>=nrows || !bytes) {
+ #ifndef NDEBUG
+     if (zerosize < bytes_per_row + border)
+       G_THROW( ERR_MSG("GBitmap.zero_small") );
diff --git a/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch b/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch
new file mode 100644
index 00000000000..132fed79488
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/CVE-2019-18804.patch
@@ -0,0 +1,32 @@
+commit c8bec6549c10ffaa2f2fbad8bbc629efdf0dd125
+Author: Leon Bottou <leon@bottou.org>
+Date:   Thu Oct 17 22:20:31 2019 -0400
+
+    Fixed bug 309
+
+diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
+index 00752a0..f81eaeb 100644
+--- a/libdjvu/IW44EncodeCodec.cpp
++++ b/libdjvu/IW44EncodeCodec.cpp
+@@ -405,7 +405,7 @@ filter_fv(short *p, int w, int h, int rowsize, int scale)
+   int y = 0;
+   int s = scale*rowsize;
+   int s3 = s+s+s;
+-  h = ((h-1)/scale)+1;
++  h = (h>0) ? ((h-1)/scale)+1 : 0;
+   y += 1;
+   p += s;
+   while (y-3 < h)
+diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
+index 6d0df3b..7109952 100644
+--- a/tools/ddjvu.cpp
++++ b/tools/ddjvu.cpp
+@@ -279,7 +279,7 @@ render(ddjvu_page_t *page, int pageno)
+       prect.h = (ih * 100) / dpi;
+     }
+   /* Process aspect ratio */
+-  if (flag_aspect <= 0)
++  if (flag_aspect <= 0 && iw>0 && ih>0)
+     {
+       double dw = (double)iw / prect.w;
+       double dh = (double)ih / prect.h;
diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix
index 182ab51dbc2..afb7b6cf139 100644
--- a/pkgs/applications/misc/djvulibre/default.nix
+++ b/pkgs/applications/misc/djvulibre/default.nix
@@ -24,6 +24,17 @@ stdenv.mkDerivation rec {
     libiconv
   ];
 
+  patches = [
+    ./CVE-2019-18804.patch
+    # This one is needed to make the following
+    # two CVE patches apply cleanly
+    ./fix_hongfuzz_crash.patch
+    ./CVE-2019-15142.patch
+    ./CVE-2019-15143.patch
+    ./CVE-2019-15144.patch
+    ./CVE-2019-15145.patch
+  ];
+
   meta = with stdenv.lib; {
     description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files";
     homepage = "http://djvu.sourceforge.net";
diff --git a/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch b/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch
new file mode 100644
index 00000000000..609b41cd9db
--- /dev/null
+++ b/pkgs/applications/misc/djvulibre/fix_hongfuzz_crash.patch
@@ -0,0 +1,51 @@
+commit 89d71b01d606e57ecec2c2930c145bb20ba5bbe3
+Author: Leon Bottou <leon@bottou.org>
+Date:   Fri Jul 13 08:46:22 2018 -0400
+
+    fix hongfuzz crash.
+
+diff --git a/libdjvu/DjVmDir.cpp b/libdjvu/DjVmDir.cpp
+index d322323..a6a39e0 100644
+--- a/libdjvu/DjVmDir.cpp
++++ b/libdjvu/DjVmDir.cpp
+@@ -299,7 +299,13 @@ DjVmDir::decode(const GP<ByteStream> &gstr)
+          memcpy((char*) strings+strings_size, buffer, length);
+       }
+       DEBUG_MSG("size of decompressed names block=" << strings.size() << "\n");
+-   
++      if (strings[strings.size()-1] != 0)
++        {
++         int strings_size=strings.size();
++         strings.resize(strings_size+1);
++         strings[strings_size] = 0;
++        }
++      
+          // Copy names into the files
+       const char * ptr=strings;
+       for(pos=files_list;pos;++pos)
+diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
+index 6a5cd90..828addc 100644
+--- a/libdjvu/miniexp.cpp
++++ b/libdjvu/miniexp.cpp
+@@ -1065,7 +1065,7 @@ print_c_string(const char *s, char *d, int flags, size_t len)
+       c = (unsigned char)(*s++);
+       if (char_quoted(c, flags))
+         {
+-          char buffer[10];
++          char buffer[16]; /* 10+1 */
+           static const char *tr1 = "\"\\tnrbf";
+           static const char *tr2 = "\"\\\t\n\r\b\f";
+           buffer[0] = buffer[1] = 0;
+diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp
+index 7ed13ad..fab9472 100644
+--- a/tools/csepdjvu.cpp
++++ b/tools/csepdjvu.cpp
+@@ -1834,7 +1834,7 @@ main(int argc, const char **argv)
+                 ByteStream::create(GURL::Filename::UTF8(arg),"rb");
+               BufferByteStream ibs(*fbs);
+               do {
+-                char pagename[16];
++                char pagename[20];
+                 sprintf(pagename, "p%04d.djvu", ++pageno);
+                 if (opts.verbose > 1)
+                   DjVuPrintErrorUTF8("%s","--------------------\n");
diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix
new file mode 100644
index 00000000000..0e7155f374d
--- /dev/null
+++ b/pkgs/applications/misc/dupeguru/default.nix
@@ -0,0 +1,62 @@
+{stdenv, python3Packages, gettext, qt5, fetchFromGitHub}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "dupeguru";
+  version = "4.0.4";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "arsenetar";
+    repo = "dupeguru";
+    rev = "${version}";
+    sha256 = "0ma4f1c6vmpz8gi4sdy43x1ik7wh42wayvk1iq520d3i714kfcpy";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    gettext
+    python3Packages.pyqt5
+    qt5.wrapQtAppsHook
+  ];
+
+  pythonPath = with python3Packages; [
+    pyqt5
+    send2trash
+    sphinx
+    polib
+    hsaudiotag3k
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "NO_VENV=1"
+  ];
+
+  # TODO: package pytest-monkeyplus for running tests
+  # https://github.com/NixOS/nixpkgs/pull/75054/files#r357690123
+  doCheck = false;
+
+  # Avoid double wrapping Python programs.
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    # TODO: A bug in python wrapper
+    # see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
+    makeWrapperArgs="''${qtWrapperArgs[@]}"
+  '';
+
+  postFixup = ''
+    # Executable in $out/bin is a symlink to $out/share/dupeguru/run.py
+    # so wrapPythonPrograms hook does not handle it automatically.
+    wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI tool to find duplicate files in a system";
+    homepage = "https://github.com/arsenetar/dupeguru";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.novoxudonoser ];
+  };
+}
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index d0429d135d7..e6cfca5667e 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }:
+{ lib, fetchFromGitHub, python3Packages, qtbase, wrapQtAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.0.10";
+  version = "4.0.11";
 
-  src = fetchurl {
-    url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz";
-    # Verified using official SHA-1 and signature from
-    # https://github.com/fyookball/keys-n-hashes
-    sha256 = "48270e12956a2f4ef4d2b0cb60611e47f136b734a3741dab176542a32ae59ee5";
+  src = fetchFromGitHub {
+    owner = "Electron-Cash";
+    repo = "Electron-Cash";
+    rev = version;
+    sha256 = "1k4zbaj0g8bgk1l5vrb835a8bqfay2707bcb4ql2vx4igcwpb680";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/electrum/dash.nix b/pkgs/applications/misc/electrum/dash.nix
index 8ba562de1cb..fc5192bb5e4 100644
--- a/pkgs/applications/misc/electrum/dash.nix
+++ b/pkgs/applications/misc/electrum/dash.nix
@@ -42,5 +42,6 @@ python2Packages.buildPythonApplication rec {
     homepage = https://github.com/dashpay/electrum-dash;
     license = licenses.gpl3;
     maintainers = with maintainers; [ np ];
+    knownVulnerabilities = [ "CVE-2018-1000022" ];
   };
 }
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 0ebeb1beffa..df95b26b9c5 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -74,6 +74,7 @@ python3Packages.buildPythonApplication {
     tlslite-ng
 
     # plugins
+    ckcc-protocol
     keepkey
     trezor
     btchip
diff --git a/pkgs/applications/misc/elogind/default.nix b/pkgs/applications/misc/elogind/default.nix
index acfbc7ec917..3d71d9855d0 100644
--- a/pkgs/applications/misc/elogind/default.nix
+++ b/pkgs/applications/misc/elogind/default.nix
@@ -29,13 +29,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "elogind";
-  version = "239.5";
+  version = "241.4";
 
   src = fetchFromGitHub {
     owner = "elogind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gdiy4vbx4gs2hnb79x14zi530mlq26glxpzp3c95w8l058wj4ba";
+    sha256 = "13nd0chackqclgvw43910k4pkw2q773dh6wq9s5f3d97ibnik48k";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/epr/default.nix b/pkgs/applications/misc/epr/default.nix
new file mode 100644
index 00000000000..f67c15f0a99
--- /dev/null
+++ b/pkgs/applications/misc/epr/default.nix
@@ -0,0 +1,21 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "epr";
+  version = "2.3.0b";
+
+  src = fetchFromGitHub {
+    owner = "wustho";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1a6md3015284hzmx0sby5kl59p7lwv73sq7sid35vrr15zrl0aw7";
+  };
+
+  meta = with lib; {
+    description = "CLI Epub Reader";
+    homepage = "https://github.com/wustho/epr";
+    license = licenses.mit;
+    maintainers = [ maintainers.filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix
index d8b355efe86..2cf8813aac4 100644
--- a/pkgs/applications/misc/et/default.nix
+++ b/pkgs/applications/misc/et/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "et";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "geistesk";
     repo = "et";
     rev = version;
-    sha256 = "167w9qwfpd63rgy0xmkkkh5krmd91q42c3ijy3j099krgdfbb9bc";
+    sha256 = "0i0lgmnly8n7y4y6pb10pxgxyz8s5zk26k8z1g1578v1wan01lnq";
   };
 
   buildInputs = [ libnotify gdk-pixbuf ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Minimal libnotify-based (egg) timer";
-    homepage = https://github.com/geistesk/et;
+    homepage = "https://github.com/geistesk/et";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ geistesk ];
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index bbbf1a0aff9..6c4ecf6fa39 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--with-ssl=${openssl.dev}" ];
 
   meta = {
-    homepage = http://www.fetchmail.info/;
+    homepage = https://www.fetchmail.info/;
     description = "A full-featured remote-mail retrieval and forwarding utility";
     longDescription = ''
       A full-featured, robust, well-documented remote-mail retrieval and
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index dad95490012..edb47e11dd7 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch,
-  pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
+  pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools,
   vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     itstool
     desktop-file-utils
     vala
-    gnome3.yelp-tools
+    yelp-tools
     wrapGAppsHook
     # For https://github.com/FontManager/master/blob/master/lib/unicode/meson.build
     gobject-introspection
diff --git a/pkgs/applications/misc/formatter/default.nix b/pkgs/applications/misc/formatter/default.nix
index d81e21f73ed..7cb1e7dfebb 100644
--- a/pkgs/applications/misc/formatter/default.nix
+++ b/pkgs/applications/misc/formatter/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "formatter";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "Djaler";
     repo = "Formatter";
     rev = version;
-    sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq";
+    sha256 = "1ghxd2h0pklhlrjslfr46vza1kjsm3mr0sdzzjiqi9jd6hddnk7i";
   };
 
   patches = [
@@ -61,6 +61,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A simple formatter designed for elementary OS";
     homepage = "https://github.com/Djaler/Formatter";
diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix
index 00e11858fb4..bbc78efe5cd 100644
--- a/pkgs/applications/misc/fsv/default.nix
+++ b/pkgs/applications/misc/fsv/default.nix
@@ -26,6 +26,11 @@ in stdenv.mkDerivation rec {
     sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj";
   };
 
+  postPatch = ''
+   # fix build with gettext 0.20
+   sed -i 's/AM_GNU_GETTEXT/AM_GNU_GETTEXT([external])/' configure.in
+  '';
+
   nativeBuildInputs = [ autoreconfHook libtool pkgconfig ];
   buildInputs       = [ file gtk2 libGLU gtkglarea ];
 
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index b1cd6a36e08..b27e456e966 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.10.6";
+  version = "1.12.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0jbfp072rnb3pkqp10xds57bnlcn87vqjaz68nhpzkwvwhs3hr4w";
+    sha256 = "0y1bzqcacik030zjchgmzrwpfb49mi68wdivli9ydb64w1zql9im";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
new file mode 100644
index 00000000000..57060179473
--- /dev/null
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "geoipupdate";
+  version = "4.1.5";
+
+  src = fetchFromGitHub {
+    owner = "maxmind";
+    repo = "geoipupdate";
+    rev = "v${version}";
+    sha256 = "1k0bmsqgw35sdmaafinlr4qd5910fi598i8irxrz11394d3c8giv";
+  };
+
+  modSha256 = "0mk6zp6byq3jc6wipx53bg5igry114klq5w8isc0z6r63zjsk6f6";
+
+  meta = with stdenv.lib; {
+    description = "Automatic GeoIP database updater";
+    homepage = "https://github.com/maxmind/geoipupdate";
+    license = with licenses; [ asl20 ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/applications/misc/glava/default.nix b/pkgs/applications/misc/glava/default.nix
index 6f5146161a6..519df42c789 100644
--- a/pkgs/applications/misc/glava/default.nix
+++ b/pkgs/applications/misc/glava/default.nix
@@ -8,7 +8,7 @@ let
   wrapperScript = writeScript "glava" ''
     #!${runtimeShell}
     case "$1" in
-      --copy-config)
+      --copy-config|-C)
         # The binary would symlink it, which won't work in Nix because the
         # garbage collector will eventually remove the original files after
         # updates
@@ -45,6 +45,14 @@ in
     ];
 
     preConfigure = ''
+      for f in $(find -type f);do
+        substituteInPlace $f \
+          --replace /etc/xdg $out/etc/xdg
+      done
+
+      substituteInPlace Makefile \
+        --replace '$(DESTDIR)$(SHADERDIR)' '$(SHADERDIR)'
+
       substituteInPlace Makefile \
         --replace 'unknown' 'v${version}'
 
diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix
index 9e71837c0f5..b8f13d01424 100644
--- a/pkgs/applications/misc/glom/default.nix
+++ b/pkgs/applications/misc/glom/default.nix
@@ -30,6 +30,7 @@
 , postgresql
 , gnome3
 , gobject-introspection
+, yelp-tools
 , wrapGAppsHook
 }:
 
@@ -67,7 +68,7 @@ in stdenv.mkDerivation rec {
     libtool
     mm-common
     intltool
-    gnome3.yelp-tools
+    yelp-tools
     itstool
     doxygen
     graphviz
diff --git a/pkgs/applications/misc/gnome15/default.nix b/pkgs/applications/misc/gnome15/default.nix
deleted file mode 100644
index 41d535b3510..00000000000
--- a/pkgs/applications/misc/gnome15/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }:
-
-stdenv.mkDerivation {
-  name = "gnome15-2016-06-10";
-
-  src = fetchFromGitHub {
-    owner = "achilleas-k";
-    repo = "gnome15";
-    rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84";
-    sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ];
-  buildInputs = [ python2 ];
-  propagatedBuildInputs = with python2.pkgs; [
-    pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop
-    python-uinput xlib pyudev pyinputevent
-  ];
-
-  postPatch = ''
-    touch README
-    export UDEV_RULES_PATH="$out/lib/udev/rules.d"
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A set of tools for configuring the Logitech G15 keyboard";
-    # Doesn't work with new `keyring` library which is Python 3-only now.
-    # https://github.com/Gnome15/gnome15/issues/29
-    broken = true;
-    license = licenses.gpl3;
-    homepage = https://gnome15.org/;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix
index 7fba1d49d74..dde1c32e805 100644
--- a/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/pkgs/applications/misc/golden-cheetah/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, mkDerivation
-, qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools
-, qtconnectivity, qtcharts
+, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
+, qtconnectivity, qtcharts, libusb
 , yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
 }:
 
@@ -16,18 +16,18 @@ let
   };
 in mkDerivation rec {
   pname = "golden-cheetah";
-  version = "3.5-DEV1903";
+  version = "3.5-RC2X";
 
   src = fetchFromGitHub {
     owner = "GoldenCheetah";
     repo = "GoldenCheetah";
-    rev = "v${version}";
-    sha256 = "130b0hm04i0hf97rs1xrdfhbal5vjsknj3x4cdxjh7rgbg2p1sm3";
+    rev = "V${version}";
+    sha256 = "1d85700gjbcw2badwz225rjdr954ai89900vp8sal04sk79wbr6g";
   };
 
   buildInputs = [
-    qtbase qtsvg qtserialport qtwebkit qtmultimedia qttools zlib
-    qtconnectivity qtcharts
+    qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
+    qtconnectivity qtcharts libusb
   ];
   nativeBuildInputs = [ flex makeWrapper qmake yacc ];
 
@@ -39,7 +39,14 @@ in mkDerivation rec {
     cp src/gcconfig.pri.in src/gcconfig.pri
     cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
     echo 'QMAKE_LRELEASE = ${qttools.dev}/bin/lrelease' >> src/gcconfig.pri
+    echo 'LIBUSB_INSTALL = ${libusb}' >> src/gcconfig.pri
+    echo 'LIBUSB_INCLUDE = ${libusb.dev}/include' >> src/gcconfig.pri
+    echo 'LIBUSB_LIBS = -L${libusb}/lib -lusb' >> src/gcconfig.pri
     sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local
+
+    # Use qtwebengine instead of qtwebkit
+    substituteInPlace src/gcconfig.pri \
+      --replace "#DEFINES += NOWEBKIT" "DEFINES += NOWEBKIT"
   '';
 
   installPhase = ''
@@ -53,9 +60,6 @@ in mkDerivation rec {
     runHook postInstall
   '';
 
-  # RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm'
-  enableParallelBuilding = false;
-
   meta = with stdenv.lib; {
     description = "Performance software for cyclists, runners and triathletes";
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 6cd77318754..8ecb546df70 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    charlock_holmes (0.7.6)
+    charlock_holmes (0.7.7)
     diff-lcs (1.3)
     gemojione (3.3.0)
       json
@@ -29,17 +29,17 @@ GEM
       sanitize (~> 2.1.1, >= 2.1.1)
       stringex (~> 2.6)
       twitter-text (= 1.14.7)
-    json (2.2.0)
+    json (2.3.0)
     kramdown (1.9.0)
-    mime-types (3.2.2)
+    mime-types (3.3)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2019.1009)
     mini_portile2 (2.4.0)
     mustache (0.99.8)
-    nokogiri (1.10.4)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
     posix-spawn (0.3.13)
-    rack (1.6.11)
+    rack (1.6.12)
     rack-protection (1.5.5)
       rack
     rouge (2.2.1)
@@ -50,7 +50,7 @@ GEM
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
     stringex (2.8.5)
-    tilt (2.0.9)
+    tilt (2.0.10)
     twitter-text (1.14.7)
       unf (~> 0.1.0)
     unf (0.1.4)
@@ -65,4 +65,4 @@ DEPENDENCIES
   gollum
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index f9bdf94db17..61e0db781b8 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
+      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.7";
   };
   diff-lcs = {
     groups = ["default"];
@@ -89,10 +89,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   kramdown = {
     groups = ["default"];
@@ -110,20 +110,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -151,10 +151,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.7";
   };
   posix-spawn = {
     groups = ["default"];
@@ -171,10 +171,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1riq0z408dwvqcqrpq05bp2w879l4sjxzb4cbrbx55kpi6h2g1cj";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "1.6.12";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -234,10 +234,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
+      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   twitter-text = {
     dependencies = ["unf"];
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 961efe4b057..181273752ea 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv
+{ stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
 , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11
 , zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }:
 
@@ -20,7 +20,7 @@ let
     libICE
     libXi
     libXv
-    libGLU_combined
+    libGLU libGL
     libXrender
     libXrandr
     libXfixes
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index 12eb8839b8a..60feecd665d 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchFromGitHub, python}:
+{ stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "3.9";
   pname = "googler";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jarun";
-    repo = "googler";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0zqq157i0rfrja8yqnqr9rfrp5apzc7cxb7d7ppv6abkc5bckyqc";
+    sha256 = "13jj15ph0vmbyxjslzl6z4h5b7wyllvhwgsrb6zf7qlkcmkd4vwy";
   };
 
   propagatedBuildInputs = [ python ];
@@ -16,10 +16,10 @@ stdenv.mkDerivation rec {
   makeFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/jarun/googler;
+    homepage = "https://github.com/jarun/googler";
     description = "Google Search, Google Site Search, Google News from the terminal";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ koral filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index bf7bec38afb..07918d3d599 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -3,17 +3,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gpscorrelate";
-  version = "unstable-2019-09-03";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "dfandrich";
     repo = pname;
-    rev = "e1dd44a34f67b1ab7201440e60a840258ee448d2";
-    sha256 = "0gjwwdqh9dprzylmmnk3gm41khka9arkij3i9amd8y7d49pm9rlv";
+    rev = version;
+    sha256 = "1wkpb0nqnm0ik46hp2sibf96h2gxi6n951zm8c72scgmh4ciq4fl";
   };
 
-  patches = [ ./fix-localedir.diff ];
-
   nativeBuildInputs = [
     desktop-file-utils
     docbook_xml_dtd_42
@@ -30,7 +28,6 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "prefix=${placeholder "out"}"
-    "GTK=3"
     "CC=cc"
     "CXX=c++"
     "CFLAGS=-DENABLE_NLS"
@@ -60,7 +57,7 @@ stdenv.mkDerivation rec {
     '';
 
     license = licenses.gpl2Plus;
-    homepage = "https://github.com/dfandrich/gpscorrelate";
+    homepage = "https://dfandrich.github.io/gpscorrelate/";
     platforms = platforms.linux;
     maintainers = with maintainers; [ sikmir ];
   };
diff --git a/pkgs/applications/misc/gpscorrelate/fix-localedir.diff b/pkgs/applications/misc/gpscorrelate/fix-localedir.diff
deleted file mode 100644
index 5f9cb296ecd..00000000000
--- a/pkgs/applications/misc/gpscorrelate/fix-localedir.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git i/Makefile w/Makefile
-index 47919ca..408fd68 100644
---- i/Makefile
-+++ w/Makefile
-@@ -33,8 +33,9 @@ datadir  = $(prefix)/share
- mandir   = $(datadir)/man
- docdir   = $(datadir)/doc/gpscorrelate
- applicationsdir = $(datadir)/applications
-+localedir = ${datadir}/locale
- 
--DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\"
-+DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\" -DPACKAGE_LOCALE_DIR=\"$(localedir)\"
- 
- TARGETS = gpscorrelate-gui$(EXEEXT) gpscorrelate$(EXEEXT) doc/gpscorrelate.1 doc/gpscorrelate.html
- 
-diff --git i/main-gui.c w/main-gui.c
-index fdace6f..8a6197b 100644
---- i/main-gui.c
-+++ w/main-gui.c
-@@ -40,6 +40,7 @@
- int main(int argc, char* argv[])
- {
- 	/* Initialize gettext (gtk_init initializes the locale) */
-+	(void) bindtextdomain(TEXTDOMAIN, PACKAGE_LOCALE_DIR);
- 	(void) textdomain(TEXTDOMAIN);
- 	(void) bind_textdomain_codeset(TEXTDOMAIN, "UTF-8");
- 
diff --git a/pkgs/applications/misc/gpxlab/default.nix b/pkgs/applications/misc/gpxlab/default.nix
new file mode 100644
index 00000000000..b4778f9f4f8
--- /dev/null
+++ b/pkgs/applications/misc/gpxlab/default.nix
@@ -0,0 +1,34 @@
+{ mkDerivation, lib, fetchFromGitHub, qmake, qttools, qttranslations }:
+
+mkDerivation rec {
+  pname = "gpxlab";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "BourgeoisLab";
+    repo = "GPXLab";
+    rev = "v${version}";
+    sha256 = "080vnwcciqblfrbfyz9gjhl2lqw1hkdpbgr5qfrlyglkd4ynjd84";
+  };
+
+  nativeBuildInputs = [ qmake ];
+  buildInputs = [ qttools qttranslations ];
+
+  preConfigure = ''
+    lrelease GPXLab/locale/*.ts
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/BourgeoisLab/GPXLab";
+    description = "Program to show and manipulate GPS tracks";
+    longDescription = ''
+      GPXLab is an application to display and manage GPS tracks
+      previously recorded with a GPS tracker.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 674b0061d6d..9a9edba512a 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.16";
+  version = "7.18";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav";
+    sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix
index 68d373d7a9a..36ca31707c8 100644
--- a/pkgs/applications/misc/grip/default.nix
+++ b/pkgs/applications/misc/grip/default.nix
@@ -2,11 +2,11 @@
 , curl, cdparanoia, libid3tag, ncurses, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "grip-4.0.0";
+  name = "grip-4.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/grip/${name}.tar.gz";
-    sha256 = "1k4mnzz2ky3wps147sdpxx7pz87zpfws2hdyl3x68iji54697qi0";
+    sha256 = "0blh5j3d4g16bhsqmhv71qhbsyyzcqywzpqsjjiiw465mjlwxka6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 97303c43fb1..d403ddc8b26 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -1,10 +1,21 @@
-{ stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales
-, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }:
+{ stdenv
+, fetchFromGitHub
+, python3
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, gtk3
+, keybinder3
+, libnotify
+, libutempter
+, vte
+, libwnck3
+}:
 
-let
+python3.pkgs.buildPythonApplication rec {
+  pname = "guake";
   version = "3.6.3";
-in python3.pkgs.buildPythonApplication {
-  name = "guake-${version}";
+
   format = "other";
 
   src = fetchFromGitHub {
@@ -19,18 +30,34 @@ in python3.pkgs.buildPythonApplication {
   # and https://github.com/NixOS/nixpkgs/issues/56943
   strictDeps = false;
 
-  nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ];
-
-  buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+    python3.pkgs.pip
+  ];
 
-  propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ];
+  buildInputs = [
+    gtk3
+    keybinder3
+    libnotify
+    libwnck3
+    python3
+    vte
+  ];
 
-  LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699
+  propagatedBuildInputs = with python3.pkgs; [
+    dbus-python
+    pbr
+    pycairo
+    pygobject3
+    setuptools
+  ];
 
   PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
 
   makeFlags = [
-    "prefix=$(out)"
+    "prefix=${placeholder ''out''}"
   ];
 
   preFixup = ''
@@ -39,9 +66,9 @@ in python3.pkgs.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Drop-down terminal for GNOME";
-    homepage = http://guake-project.org;
+    homepage = "http://guake-project.org";
     license = licenses.gpl2;
-    platforms = platforms.linux;
     maintainers = [ maintainers.msteen ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix
index 273be11ac63..d1daec28482 100644
--- a/pkgs/applications/misc/gummi/default.nix
+++ b/pkgs/applications/misc/gummi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, makeWrapper
+{ stdenv, pkgs, makeWrapper, pango
 , glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler
 , pkgconfig, intltool, autoreconfHook, wrapGAppsHook
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook
   ];
   buildInputs = [
-    glib gnome2.gtksourceview gnome2.pango gtk2-x11 gtkspell2 poppler
+    glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler
     gnome3.adwaita-icon-theme
   ];
 
diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix
deleted file mode 100644
index 9360e220ab6..00000000000
--- a/pkgs/applications/misc/hamster-time-tracker/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
-, intltool, dbus-glib, gnome_python
-, hicolor-icon-theme
-, wafHook
-}:
-
-# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
-# this message:
-#
-#   WARNING:root:Could not import wnck - workspace tracking will be disabled
-
-pythonPackages.buildPythonApplication rec {
-  name = "hamster-time-tracker-1.04";
-
-  src = fetchzip {
-    name = "${name}-src";
-    url = "https://github.com/projecthamster/hamster/archive/${name}.tar.gz";
-    sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
-  };
-
-  nativeBuildInputs = [ wafHook intltool ];
-  buildInputs = [
-    docbook2x libxslt gnome-doc-utils dbus-glib hicolor-icon-theme
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
-
-  postFixup = ''
-    wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
-  '';
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Time tracking application";
-    homepage = https://projecthamster.wordpress.com/;
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/misc/hivemind/default.nix b/pkgs/applications/misc/hivemind/default.nix
index 84f5bad24d2..e452ec0511e 100644
--- a/pkgs/applications/misc/hivemind/default.nix
+++ b/pkgs/applications/misc/hivemind/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "hivemind";
-  version = "1.0.4";
+  version = "1.0.6";
   goPackagePath = "github.com/DarthSim/hivemind";
 
   src = fetchFromGitHub {
     owner = "DarthSim";
     repo = "hivemind";
     rev = "v${version}";
-    sha256 = "1z2izvyf0j3gi0cas5v22kkmkls03sg67182k8v3p6kwhzn0jw67";
+    sha256 = "0afcnd03wsdphbbpha65rv5pnv0x6ldnnm6rnv1m6xkkywgnzx95";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index 88c87eaca87..279791561d9 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc }:
+{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc, addOpenGLRunpath }:
 
 let
   ld_library_path = builtins.concatStringsSep ":" [
@@ -24,19 +24,20 @@ let
       zlib
       libpng
       dbus
+      addOpenGLRunpath.driverLink
     ])
   ];
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "17.0.352";
+  version = "17.5.327";
   pname = "houdini-runtime";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
-    sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg";
+    sha256 = "1byigmhmby8lgi2vmgxy9jlrrqk7jyr507zqkihq5bv8kfsanv1x";
     message = ''
       This nix expression requires that ${name} is already part of the store.
-      Download it from https://sidefx.com and add it to the nix store with:
+      Download it from https://www.sidefx.com and add it to the nix store with:
 
           nix-prefetch-url <URL>
 
@@ -77,7 +78,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = "3D animation application software";
-    homepage = https://sidefx.com;
+    homepage = https://www.sidefx.com;
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.canndrew ];
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
index 0d25d3d686c..31ecfccd584 100644
--- a/pkgs/applications/misc/hstr/default.nix
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hstr";
-  version = "2.0";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner  = "dvorka";
     repo   = "hstr";
     rev    = version;
-    sha256 = "1y9vsfbg07gbic0daqy569d9pb9i1d07fym3q7a0a99hbng85s20";
+    sha256 = "07fkilqlkpygvf9kvxyvl58g3lfq0bwwdp3wczy4hk8qlbhmgihn";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json
index 31d26559dd2..2fd29444dad 100644
--- a/pkgs/applications/misc/hubstaff/revision.json
+++ b/pkgs/applications/misc/hubstaff/revision.json
@@ -1,5 +1,5 @@
 {
-  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.0-4309ed45/Hubstaff-1.5.0-4309ed45.sh",
-  "version": "1.5.0-4309ed45",
-  "sha256": "1rfxizb28b8r344d18jh6shfcxz35vx8vh10c3j6zdcc998zkcr1"
+  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.2-bead991b/Hubstaff-1.5.2-bead991b.sh",
+  "version": "1.5.2-bead991b",
+  "sha256": "068b0q94ydldyjmzbka1j94vr1xdxvkxq79pp7ria81hvpp68yxf"
 }
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 840f4c32e52..4251d2c1f36 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.58.3";
+  version = "0.62.0";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
   src = fetchFromGitHub {
-    owner  = "gohugoio";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "00dhb6xilkwr9yhncpyc6alzqw77ch3vd85dc7lzsmhw1c80n0lc";
+    owner = "gohugoio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0z14qhsjgwqgm7kj25y0zh4b42bwd7zhcmwjxzkk6chzw7fwq375";
   };
 
-  modSha256 = "0d6zc7hxb246zsvwsjz4ds6gdd2m95x6l3djh3mmciwfg9cd7prx";
+  modSha256 = "0dwv5qnglv00jj7vlps76zlfpkzsplf93401j2l03xfvmvadifrs";
 
   buildFlags = "-tags extended";
 
@@ -21,8 +21,8 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     description = "A fast and modern static website engine.";
-    homepage = https://gohugo.io;
+    homepage = "https://gohugo.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ schneefux ];
+    maintainers = with maintainers; [ schneefux filalex77 ];
   };
 }
diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix
index c197e1a8fd3..3ee4fd8259a 100644
--- a/pkgs/applications/misc/icesl/default.nix
+++ b/pkgs/applications/misc/icesl/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU_combined, libSM, libXext, dialog, makeWrapper }:
+{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM, libXext, dialog, makeWrapper }:
 let
-  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU_combined libSM libXext ];
+  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext ];
 in
 stdenv.mkDerivation rec {
   pname = "iceSL";
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 54c703bb859..f7588990432 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -1,28 +1,28 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.0)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-      zeitwerk (~> 2.1, >= 2.1.8)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
     colorator (1.1.0)
     concurrent-ruby (1.1.5)
     em-websocket (0.5.1)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
-    ffi (1.11.1)
+    ffi (1.11.2)
     forwardable-extended (2.6.0)
     gemoji (3.0.1)
-    html-pipeline (2.12.0)
+    html-pipeline (2.12.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (1.6.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     jekyll (4.0.0)
       addressable (~> 2.4)
@@ -44,7 +44,7 @@ GEM
     jekyll-mentions (1.5.1)
       html-pipeline (~> 2.3)
       jekyll (>= 3.7, < 5.0)
-    jekyll-sass-converter (2.0.0)
+    jekyll-sass-converter (2.0.1)
       sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
@@ -60,25 +60,23 @@ GEM
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
     liquid (4.0.3)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
+    listen (3.2.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    nokogiri (1.10.4)
+    minitest (5.13.0)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (3.1.1)
+    public_suffix (4.0.1)
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rouge (3.9.0)
-    ruby_dep (1.5.0)
+    rouge (3.13.0)
     safe_yaml (1.0.5)
-    sassc (2.1.0)
+    sassc (2.2.1)
       ffi (~> 1.9)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
@@ -86,7 +84,7 @@ GEM
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
     unicode-display_width (1.6.0)
-    zeitwerk (2.1.9)
+    zeitwerk (2.2.1)
 
 PLATFORMS
   ruby
@@ -100,4 +98,4 @@ DEPENDENCIES
   jemoji
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix
index 41e599c0202..7fd9abd82a3 100644
--- a/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   colorator = {
     groups = ["default"];
@@ -67,10 +67,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   forwardable-extended = {
     groups = ["default"];
@@ -98,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
+      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.12.2";
   };
   "http_parser.rb" = {
     groups = ["default"];
@@ -119,10 +119,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   jekyll = {
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -163,10 +163,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
+      sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -244,15 +244,15 @@
     version = "4.0.3";
   };
   listen = {
-    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.0";
   };
   mercenary = {
     groups = ["default"];
@@ -279,10 +279,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -290,10 +290,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   pathutil = {
     dependencies = ["forwardable-extended"];
@@ -311,10 +311,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "4.0.1";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -342,20 +342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
-      type = "gem";
-    };
-    version = "3.9.0";
-  };
-  ruby_dep = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "3.13.0";
   };
   safe_yaml = {
     groups = ["default"];
@@ -373,10 +363,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
+      sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.1";
   };
   terminal-table = {
     dependencies = ["unicode-display_width"];
@@ -425,9 +415,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
       type = "gem";
     };
-    version = "2.1.9";
+    version = "2.2.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 6410b885ea4..43a2d0cf2d0 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -1,14 +1,14 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.0)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-      zeitwerk (~> 2.1, >= 2.1.8)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
     classifier-reborn (2.2.0)
       fast-stemmer (~> 1.0)
     coderay (1.1.2)
@@ -23,17 +23,17 @@ GEM
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
     execjs (2.7.0)
-    faraday (0.15.4)
+    faraday (0.17.0)
       multipart-post (>= 1.2, < 3)
     fast-stemmer (1.0.2)
-    ffi (1.11.1)
+    ffi (1.11.2)
     forwardable-extended (2.6.0)
     gemoji (3.0.1)
-    html-pipeline (2.12.0)
+    html-pipeline (2.12.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (1.6.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     jekyll (4.0.0)
       addressable (~> 2.4)
@@ -52,10 +52,10 @@ GEM
       terminal-table (~> 1.8)
     jekyll-avatar (0.7.0)
       jekyll (>= 3.0, < 5.0)
-    jekyll-coffeescript (1.2.2)
+    jekyll-coffeescript (2.0.0)
       coffee-script (~> 2.2)
       coffee-script-source (~> 1.12)
-    jekyll-feed (0.12.1)
+    jekyll-feed (0.13.0)
       jekyll (>= 3.7, < 5.0)
     jekyll-gist (1.5.0)
       octokit (~> 4.2)
@@ -65,7 +65,7 @@ GEM
     jekyll-paginate (1.1.0)
     jekyll-redirect-from (0.15.0)
       jekyll (>= 3.3, < 5.0)
-    jekyll-sass-converter (2.0.0)
+    jekyll-sass-converter (2.0.1)
       sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
@@ -86,32 +86,30 @@ GEM
     liquid (4.0.3)
     liquid-c (4.0.0)
       liquid (>= 3.0.0)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
+    listen (3.2.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
-    mime-types (3.2.2)
+    mime-types (3.3)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2019.1009)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
+    minitest (5.13.0)
     multipart-post (2.1.1)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     octokit (4.14.0)
       sawyer (~> 0.8.0, >= 0.5.3)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (3.1.1)
+    public_suffix (4.0.1)
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rdoc (6.1.1)
-    rouge (3.9.0)
-    ruby_dep (1.5.0)
+    rdoc (6.2.0)
+    rouge (3.13.0)
     safe_yaml (1.0.5)
-    sassc (2.1.0)
+    sassc (2.2.1)
       ffi (~> 1.9)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
@@ -124,7 +122,7 @@ GEM
       thread_safe (~> 0.1)
     unicode-display_width (1.6.0)
     yajl-ruby (1.4.1)
-    zeitwerk (2.1.9)
+    zeitwerk (2.2.1)
 
 PLATFORMS
   ruby
@@ -150,4 +148,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4)
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index 80d67022e7a..2b1c03ce882 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   classifier-reborn = {
     dependencies = ["fast-stemmer"];
@@ -132,10 +132,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.17.0";
   };
   fast-stemmer = {
     groups = ["default"];
@@ -164,10 +164,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   forwardable-extended = {
     groups = ["default"];
@@ -195,10 +195,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
+      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.12.2";
   };
   "http_parser.rb" = {
     groups = ["default"];
@@ -216,10 +216,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   jekyll = {
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -249,10 +249,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9";
+      sha256 = "17fjk0bfm0rs3myid24y2scsf5vzzza185bissjmcc44cbxp571j";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "2.0.0";
   };
   jekyll-feed = {
     dependencies = ["jekyll"];
@@ -260,10 +260,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3";
+      sha256 = "1lx8nvkhd8l1wm3b6s506rycwbmpbzbsbjl65p21asjz6vbwf1ir";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "0.13.0";
   };
   jekyll-gist = {
     dependencies = ["octokit"];
@@ -314,10 +314,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
+      sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -441,15 +441,15 @@
     version = "4.0.0";
   };
   listen = {
-    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.0";
   };
   mercenary = {
     groups = ["default"];
@@ -467,20 +467,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -497,10 +497,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   multipart-post = {
     groups = ["default"];
@@ -518,10 +518,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   octokit = {
     dependencies = ["sawyer"];
@@ -550,10 +550,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "4.0.1";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -581,30 +581,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp";
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
       type = "gem";
     };
-    version = "6.1.1";
+    version = "6.2.0";
   };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
-      type = "gem";
-    };
-    version = "3.9.0";
-  };
-  ruby_dep = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "3.13.0";
   };
   safe_yaml = {
     groups = ["default"];
@@ -622,10 +612,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
+      sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.1";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
@@ -717,9 +707,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
       type = "gem";
     };
-    version = "2.1.9";
+    version = "2.2.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 857cc6c7456..a3cbdabeacf 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15390";
+  version = "15492";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1wxncd3mjd4j14svgpmvrxc0nkzfkpn0xlci7m7wp9hfp1l81v9f";
+    sha256 = "0x7ndcrlvrvk2fd4pyn10npr3778khcwg6xzzh19vdw4glh5zfcl";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index a2eba8e08c2..aedfff40d70 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -3,7 +3,7 @@
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
 , enableMuPDF ? true, mupdf
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper ? null  # disabled by default, jasper has unfixed CVE
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index e3c75b25b47..d3cef00bbe8 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.10";
+  version = "1.2.12";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "0k45vfiacvwmrglpqwjq22pvdg4n0mf75x0r8nb79bmxp8sk0j0c";
+    sha256 = "1m1drgbyk1m6mf69xqlz9gqcj650n9m4y2fdj7d2yv20q8r31489";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index ed3c8672269..e8bdcb37118 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -16,6 +16,7 @@
 , sshfs
 , makeWrapper
 , kwayland
+, kio
 }:
 
 mkDerivation rec {
@@ -30,7 +31,7 @@ mkDerivation rec {
   buildInputs = [
     libfakekey libXtst
     ki18n kiconthemes kcmutils kconfigwidgets kdbusaddons knotifications
-    qca-qt5 qtx11extras makeWrapper kwayland
+    qca-qt5 qtx11extras makeWrapper kwayland kio
   ];
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 8670371b006..06fc04ba8fb 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -26,19 +26,21 @@
 , withKeePassKeeShareSecure ? true
 , withKeePassSSHAgent ? true
 , withKeePassNetworking ? false
+, withKeePassTouchID ? true
+, withKeePassFDOSecrets ? true
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "053z6mzcn22w3vkf09i7kdi5p0c6zcd9g62v3p5i3yhd14cgviqr";
+    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
@@ -69,6 +71,8 @@ stdenv.mkDerivation rec {
   ++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON")
   ++ (optional withKeePassKeeShareSecure "-DWITH_XC_KEESHARE_SECURE=ON")
   ++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON")
+  ++ (optional (withKeePassTouchID && stdenv.isDarwin) "-DWITH_XC_TOUCHID=ON")
+  ++ (optional (withKeePassFDOSecrets && stdenv.isLinux) "-DWITH_XC_FDOSECRETS=ON")
   ++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON");
 
   doCheck = true;
diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix
index 99b9c38d53f..1c6708c51c9 100644
--- a/pkgs/applications/misc/khard/default.nix
+++ b/pkgs/applications/misc/khard/default.nix
@@ -1,36 +1,15 @@
-{ stdenv, fetchurl, glibcLocales, python3 }:
+{ stdenv, glibcLocales, python3 }:
 
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-
-      # https://github.com/pimutils/khal/issues/780
-      python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca";
-        };
-      });
-
-    };
-  };
-
-in with python.pkgs; buildPythonApplication rec {
-  version = "0.14.0";
+python3.pkgs.buildPythonApplication rec {
+  version = "0.15.1";
   pname = "khard";
-  namePrefix = "";
 
-  src = fetchurl {
-    url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz";
-    sha256 = "0m1pc67jz663yfc0xzfpknymn8jj2bpfxaph3pl0mjd3h1zjfyaq";
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w";
   };
 
-  # setup.py reads the UTF-8 encoded readme.
-  LC_ALL = "en_US.UTF-8";
-  buildInputs = [ glibcLocales ];
-
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     atomicwrites
     configobj
     vobject
@@ -43,9 +22,6 @@ in with python.pkgs; buildPythonApplication rec {
     install -D misc/zsh/_khard $out/share/zsh/site-functions/_khard
   '';
 
-  # Fails; but there are no tests anyway.
-  doCheck = false;
-
   meta = {
     homepage = https://github.com/scheibler/khard;
     description = "Console carddav client";
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index e87d09b50cc..6900f305c0f 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring,
+{ stdenv, substituteAll, fetchFromGitHub, python3Packages, libunistring,
   harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel,
   libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor,
   libxkbcommon, libXi, libXext, wayland-protocols, wayland,
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.14.6";
+  version = "0.15.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51";
+    sha256 = "0y25w8123rjd6f5875mk8yv7mdr75mgswl3sh6zixm7b9r771s9p";
   };
 
   buildInputs = [
@@ -45,7 +45,7 @@ buildPythonApplication rec {
     python3
     zlib
   ] ++ stdenv.lib.optionals stdenv.isLinux [
-    fontconfig glfw libunistring libcanberra libX11
+    fontconfig libunistring libcanberra libX11
     libXrandr libXinerama libXcursor libxkbcommon libXi libXext
     wayland-protocols wayland dbus
   ];
@@ -64,9 +64,13 @@ buildPythonApplication rec {
   outputs = [ "out" "terminfo" ];
 
   patches = [
+    ./fix-paths.patch
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
     (substituteAll {
-      src = ./fix-paths.patch;
+      src = ./library-paths.patch;
       libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so";
+      libcanberra = "${libcanberra}/lib/libcanberra.so";
+      libEGL = "${stdenv.lib.getLib libGL}/lib/libEGL.so.1";
     })
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     ./no-lto.patch
@@ -74,10 +78,6 @@ buildPythonApplication rec {
     ./png2icns.patch
   ];
 
-  preConfigure  = stdenv.lib.optional (!stdenv.isDarwin) ''
-    substituteInPlace glfw/egl_context.c --replace "libEGL.so.1" "${stdenv.lib.getLib libGL}/lib/libEGL.so.1"
-  '';
-
   buildPhase = if stdenv.isDarwin then ''
     ${python.interpreter} setup.py kitty.app --update-check-interval=0
   '' else ''
diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/misc/kitty/fix-paths.patch
index 70460581307..380f6d74914 100644
--- a/pkgs/applications/misc/kitty/fix-paths.patch
+++ b/pkgs/applications/misc/kitty/fix-paths.patch
@@ -1,14 +1,3 @@
---- a/kitty/desktop.c
-+++ b/kitty/desktop.c
-@@ -30,7 +30,7 @@
- static PyObject*
- init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
-     static bool done = false;
--    static const char* libname = "libstartup-notification-1.so";
-+    static const char* libname = "@libstartup_notification@";
-     // some installs are missing the .so symlink, so try the full name
-     static const char* libname2 = "libstartup-notification-1.so.0";
-
 --- a/docs/Makefile
 +++ b/docs/Makefile
 @@ -3,7 +3,7 @@
diff --git a/pkgs/applications/misc/kitty/library-paths.patch b/pkgs/applications/misc/kitty/library-paths.patch
new file mode 100644
index 00000000000..5f8daacc3c2
--- /dev/null
+++ b/pkgs/applications/misc/kitty/library-paths.patch
@@ -0,0 +1,32 @@
+--- a/glfw/egl_context.c
++++ b/glfw/egl_context.c
+@@ -314,7 +314,7 @@ bool _glfwInitEGL(void)
+ #elif defined(__CYGWIN__)
+         "libEGL-1.so",
+ #else
+-        "libEGL.so.1",
++        "@libEGL@",
+ #endif
+         NULL
+     };
+
+--- a/kitty/desktop.c
++++ b/kitty/desktop.c
+@@ -30,7 +30,7 @@
+ static PyObject*
+ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
+     static bool done = false;
+-    static const char* libname = "libstartup-notification-1.so";
++    static const char* libname = "@libstartup_notification@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libstartup-notification-1.so.0";
+     static const char* libname3 = "libstartup-notification-1.so.0.0.0";
+@@ -105,7 +105,7 @@ load_libcanberra_functions(void) {
+ 
+ static void
+ load_libcanberra(void) {
+-    static const char* libname = "libcanberra.so";
++    static const char* libname = "@libcanberra@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libcanberra.so.0";
+     static const char* libname3 = "libcanberra.so.0.2.5";
diff --git a/pkgs/applications/misc/kitty/no-werror.patch b/pkgs/applications/misc/kitty/no-werror.patch
index 8217b5ef51a..bc1b369d98d 100644
--- a/pkgs/applications/misc/kitty/no-werror.patch
+++ b/pkgs/applications/misc/kitty/no-werror.patch
@@ -1,11 +1,11 @@
 --- a/setup.py
 +++ b/setup.py
-@@ -212,7 +212,7 @@
+@@ -217,7 +217,7 @@ def init_env(
      cflags = os.environ.get(
          'OVERRIDE_CFLAGS', (
-             '-Wextra -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
+             '-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
 -            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
 +            ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
          ).format(
+             float_conversion,
              optimize,
-             ' '.join(sanitize_args),
diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix
index 0bd91994418..f3daedfb96b 100644
--- a/pkgs/applications/misc/latte-dock/default.nix
+++ b/pkgs/applications/misc/latte-dock/default.nix
@@ -3,11 +3,11 @@
 
 mkDerivation rec {
   pname = "latte-dock";
-  version = "0.8.9";
+  version = "0.9.5";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkpxa39crjpqgamrcpgp1mrcdg0aq9850yb6cf7lw7d3x2fdrxj";
+    sha256 = "1g8a2lmg9agcs2kwbwh6sj9hkrbzad7bkxk39nx5536svnifbg1c";
     name = "${pname}-${version}.tar.xz";
   };
 
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 2c2acb6a743..25f9b10b1e8 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU_combined, freetype, xclip, inotify-tools, procps }:
+libGLU, libGL, freetype, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/lsd2dsl/default.nix b/pkgs/applications/misc/lsd2dsl/default.nix
new file mode 100644
index 00000000000..5dd5fa0f512
--- /dev/null
+++ b/pkgs/applications/misc/lsd2dsl/default.nix
@@ -0,0 +1,36 @@
+{ mkDerivation, lib, fetchFromGitHub, cmake
+, boost, libvorbis, libsndfile, minizip, gtest }:
+
+mkDerivation rec {
+  pname = "lsd2dsl";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "nongeneric";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15xjp5xxvl0qc4zp553n7djrbvdp63sfjw406idgxqinfmkqkqdr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ boost libvorbis libsndfile minizip gtest ];
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+
+  installPhase = ''
+    install -Dm755 lsd2dsl $out/bin/lsd2dsl
+    install -m755 qtgui/lsd2dsl-qtgui $out/bin/lsd2dsl-qtgui
+  '';
+
+  meta = with lib; {
+    homepage = "https://rcebits.com/lsd2dsl/";
+    description = "Lingvo dictionaries decompiler";
+    longDescription = ''
+      A decompiler for ABBYY Lingvo’s proprietary dictionaries.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/lutris/chrootenv.nix b/pkgs/applications/misc/lutris/chrootenv.nix
index 16bf65262cc..58492259b09 100644
--- a/pkgs/applications/misc/lutris/chrootenv.nix
+++ b/pkgs/applications/misc/lutris/chrootenv.nix
@@ -5,7 +5,7 @@
 let
 
   qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
-  gnome3Deps = pkgs: with pkgs.gnome3; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk ];
+  gnome3Deps = pkgs: with pkgs; [ gnome3.zenity gtksourceview gnome3.gnome-desktop gnome3.libgnome-keyring webkitgtk ];
   xorgDeps = pkgs: with pkgs.xorg; [
     libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
     libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
@@ -23,7 +23,7 @@ in buildFHSUserEnv {
     allegro dumb
 
     # Desmume
-    lua agg soundtouch openal desktop-file-utils pangox_compat atk
+    lua agg soundtouch openal desktop-file-utils atk
 
     # DGen // TODO: libarchive is broken
 
@@ -92,7 +92,7 @@ in buildFHSUserEnv {
   multiPkgs = pkgs: with pkgs; [
     # Common
     libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
-    libao libusb libevdev libudev libgcrypt libxml2 libusb libpng libmpeg2 libv4l
+    libao libusb libevdev udev libgcrypt libxml2 libusb libpng libmpeg2 libv4l
     libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio
     libcap libtiff libva libgphoto2 libxslt libtxc_dxtn libsndfile giflib zlib glib
     alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 1474ea2fc4f..5df4a1b8d93 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,15 +1,12 @@
 { stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
 
-let
-  version = "5.4.10";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  inherit version;
+  version = "5.4.38";
 
   src = fetchurl {
-    url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-    sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
+    url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
+    sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix
index 3023a5b5930..e643c212225 100644
--- a/pkgs/applications/misc/merkaartor/default.nix
+++ b/pkgs/applications/misc/merkaartor/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, makeWrapper, qmake, pkgconfig, boost, gdal, proj
-, qtbase, qtsvg, qtwebkit }:
+, qtbase, qtsvg, qtwebview, qtwebkit }:
 
 stdenv.mkDerivation rec {
   pname = "merkaartor";
-  version = "0.18.3";
+  version = "unstable-2019-11-12";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = "merkaartor";
-    rev = version;
-    sha256 = "0ls3q8m1hxiwyrypy6qca8wczhl4969ncl0sszfdwfv70rzxjk88";
+    rev = "29b3388680a03f1daac0037a2b504ea710da879a";
+    sha256 = "0h3d3srzl06p2ajq911j05zr4vkl88qij18plydx45yqmvyvh0xz";
   };
 
   nativeBuildInputs = [ makeWrapper qmake pkgconfig ];
 
-  buildInputs = [ boost gdal proj qtbase qtsvg qtwebkit ];
+  buildInputs = [ boost gdal proj qtbase qtsvg qtwebview qtwebkit ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index 4b92a43451a..5c31cdf6e72 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0lhmv3z2jifv4cksxa27jigdfj9n81myjsxg38xp28fx5x3h8bzc";
+    sha256 = "1z3if8bbiigb3m5py641y0j8d9z0s6kbb325waxbqs240pcxipml";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index 303b9fe5e8b..0c8ad9ae1b3 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mlterm";
-  version = "3.8.8";
+  version = "3.8.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
+    sha256 = "1iy7wq953gcnygr1d04h5ddvhpmy8l575n5is2w0rj3ck31ihpqd";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf ];
@@ -86,8 +86,9 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Multi Lingual TERMinal emulator on X11";
     homepage = http://mlterm.sourceforge.net/;
-    license = licenses.bsd2;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ vrthra ramkromberg ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index a2678d6067f..ab8802a1b69 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -1,21 +1,33 @@
-{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }:
+{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps,
+  python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }:
+
+# Note: Multibootusb is tricky to maintain. It relies on the
+# $PYTHONPATH variable containing some of their code, so that
+# something like:
+#
+# from scripts import config
+#
+# works. It also relies on the current directory to find some runtime
+# resources thanks to a use of __file__.
+#
+# https://github.com/mbusb/multibootusb/blob/0d34d70c3868f1d7695cfd141141b17c075de967/scripts/osdriver.py#L59
+
 python36Packages.buildPythonApplication rec {
   pname = "multibootusb";
   name = "${pname}-${version}";
   version = "9.2.0";
 
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
   buildInputs = [
-    python36Packages.dbus-python
-    python36Packages.pyqt5
-    python36Packages.pytest-shutil
-    python36Packages.python
-    python36Packages.pyudev
-    python36Packages.six
     libxcb
     mtools
     p7zip
     parted
     procps
+    python36Packages.python
     qt5.full
     utillinux
   ];
@@ -28,32 +40,44 @@ python36Packages.buildPythonApplication rec {
     sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
   };
 
-  # Skip the fixup stage where stuff is shrinked (can't shrink text files)
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    share="$out/share/${pname}"
-    mkdir -p "$share"
-    cp -r data "$share/data"
-    cp -r scripts "$share/scripts"
-    cp "${pname}" "$share/${pname}"
-
-    mkdir "$out/bin"
-    cat > "$out/bin/${pname}" <<EOF
-      #!${runtimeShell}
-      cd "$share"
-      export PYTHONPATH="$PYTHONPATH:$share"
-      export PATH="$PATH:${parted}/bin:${procps}/bin"
-
-      "${python36Packages.python}/bin/python" "${pname}"
-    EOF
-    chmod +x "$out/bin/${pname}"
+  # Tests can't run inside the NixOS sandbox
+  # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
+  doCheck = false;
+
+  pythonPath = [
+    python36Packages.dbus-python
+    python36Packages.pyqt5
+    python36Packages.pytest-shutil
+    python36Packages.pyudev
+    python36Packages.six
+  ];
+
+  postInstall = ''
+    # This script doesn't work and it doesn't add much anyway
+    rm $out/bin/multibootusb-pkexec
+
+    # The installed data isn't sufficient for whatever reason, missing gdisk/gdisk.exe
+    mkdir -p "$out/share/${pname}"
+    cp -r data "$out/share/${pname}/data"
+  '';
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      # Firstly, add all necessary QT variables
+      "''${qtWrapperArgs[@]}"
+
+      # Then, add the installed scripts/ directory to the python path
+      --prefix "PYTHONPATH" ":" "$out/lib/${python36Packages.python.libPrefix}/site-packages"
+
+      # Finally, move to directory that contains data
+      --run "cd $out/share/${pname}"
+    )
   '';
 
   meta = with stdenv.lib; {
     description = "Multiboot USB creator for Linux live disks";
     homepage = http://multibootusb.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ jD91mZM2 ];
+    maintainers = []; # Looking for a maintainer!
   };
 }
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index 4d95f0b5238..29e768c257f 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2
-, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib
+, SDL_image, libGLU, libGL, libXmu, freeglut, pcre, dbus, dbus-glib, glib
 , librsvg, freeimage, libxslt, cairo, gdk-pixbuf, pango
 , atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc
 , gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 fontconfig freetype imlib2 libGLU_combined freeimage
+    gtk2 fontconfig freetype imlib2 libGLU libGL freeimage
     libxslt libXmu freeglut python gettext quesoglc gd
     fribidi pcre  dbus dbus-glib librsvg shapelib glib
     cairo gdk-pixbuf pango atk
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 38d69406da4..e7c32c13095 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "2.7";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19kiikjblkq3bx2j6h3f2d467p2v582albqr7nbrm9c1yg4qx38z";
+    sha256 = "0h7j0wcpwwd2fibggr1nwkqpvhv2i1qnk54c4x6hixx31yidy2l0";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
index 055728ee046..085dff7ce04 100644
--- a/pkgs/applications/misc/notable/default.nix
+++ b/pkgs/applications/misc/notable/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "notable";
-  version = "1.4.0";
+  version = "1.7.3";
 in
 appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
-    sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
+    url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
+    sha256 = "1a7xpdk23np398nrgivyp8z54idqm72dfwx67i2rmxa3dnmcxkvl";
   };
 
   profile = ''
@@ -17,7 +17,7 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index da7775769d4..b91f8018c57 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -34,6 +34,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Stupidly-simple sticky notes applet";
     homepage = https://github.com/lainsce/notejot;
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index ec5ee031a5b..8b0cab31588 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,17 +1,27 @@
 { stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi
-, libtool, makeWrapper, nss }:
+, libtool, makeWrapper, autoreconfHook, fetchpatch
+}:
 
 stdenv.mkDerivation rec {
-  name = "nut-2.7.4";
+  pname = "nut";
+  version = "2.7.4";
 
   src = fetchurl {
-    url = "http://www.networkupstools.org/source/2.7/${name}.tar.gz";
+    url = "https://networkupstools.org/source/2.7/${pname}-${version}.tar.gz";
     sha256 = "19r5dm07sfz495ckcgbfy0pasx0zy3faa0q7bih69lsjij8q43lq";
   };
 
-  buildInputs = [ neon libusb openssl udev avahi freeipmi libtool nss ];
+  patches = [
+    (fetchpatch {
+      # Fix build with openssl >= 1.1.0
+      url = "https://github.com/networkupstools/nut/commit/612c05efb3c3b243da603a3a050993281888b6e3.patch";
+      sha256 = "0jdbii1z5sqyv24286j5px65j7b3gp8zk3ahbph83pig6g46m3hs";
+    })
+  ];
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ neon libusb openssl udev avahi freeipmi ];
+
+  nativeBuildInputs = [ autoreconfHook libtool pkgconfig makeWrapper ];
 
   configureFlags =
     [ "--with-all"
@@ -26,7 +36,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-
   postInstall = ''
     wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \
       "$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib"
@@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
       interface for monitoring and administering UPS, PDU and SCD hardware.
       It uses a layered approach to connect all of the parts.
     '';
-    homepage = http://www.networkupstools.org/;
+    homepage = https://networkupstools.org/;
     repositories.git = https://github.com/networkupstools/nut.git;
     platforms = platforms.linux;
     maintainers = [ maintainers.pierron ];
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index 79e3317e64d..1e578cde512 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -7,7 +7,7 @@
 , bash
 , glib
 , glibcLocales
-, gnome3
+, dconf
 , gobject-introspection
 , gsettings-desktop-schemas
 , gtk3
@@ -66,7 +66,7 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     bash
     glib
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtk3
     hunspell
@@ -89,7 +89,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedUserEnvPkgs = [
-    gnome3.dconf
+    dconf
   ];
 
   checkInputs = [
diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix
index b8b6e42d5cf..e943263600c 100644
--- a/pkgs/applications/misc/openbrf/default.nix
+++ b/pkgs/applications/misc/openbrf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU, libGL }:
 
 
 stdenv.mkDerivation {
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     install -Dm644 reference.brf $out/share/openBrf/reference.brf
 
     patchelf  \
-      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU_combined ]}" \
+      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU libGL ]}" \
       $out/share/openBrf/openBrf
 
     mkdir -p "$out/bin"
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 9240b5d8910..375552aaa33 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencpn-unstable";
-  version = "2019-05-15";
+  version = "2019-11-21";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
-    sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
+    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
+    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index 37b93eecf39..1dc6a9cfee5 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -1,21 +1,47 @@
-{ stdenv, pkgconfig, fetchurl, buildPythonApplication
-, autoreconfHook, wrapGAppsHook, gobject-introspection
-, gettext, yelp-tools, itstool, libxmlxx3
-, python, pygobject3, gtk3, gnome3, substituteAll
-, at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
-, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
-, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python
+{ stdenv
+, pkgconfig
+, fetchurl
+, buildPythonApplication
+, autoreconfHook
+, wrapGAppsHook
+, gobject-introspection
+, gettext
+, yelp-tools
+, itstool
+, libxmlxx3
+, python
+, pygobject3
+, gtk3
+, gnome3
+, substituteAll
+, at-spi2-atk
+, at-spi2-core
+, pyatspi
+, dbus
+, dbus-python
+, pyxdg
+, xkbcomp
+, procps
+, lsof
+, coreutils
+, gsettings-desktop-schemas
+, speechd
+, brltty
+, liblouis
+, setproctitle
+, gst_all_1
+, gst-python
 }:
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "3.34.0";
+  version = "3.34.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "10h258cprsxzb2hz9wqrkzv1yrsm19ws46l6fsnspywza5wq0z4p";
+    sha256 = "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4";
   };
 
   patches = [
@@ -29,19 +55,40 @@ buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
-    gettext yelp-tools itstool gobject-introspection
+    autoreconfHook
+    wrapGAppsHook
+    pkgconfig
+    libxmlxx3
+    gettext
+    yelp-tools
+    itstool
+    gobject-introspection
   ];
 
   propagatedBuildInputs = [
-    pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
+    pygobject3
+    pyatspi
+    dbus-python
+    pyxdg
+    brltty
+    liblouis
+    speechd
+    gst-python
+    setproctitle
   ];
 
   strictDeps = false;
 
   buildInputs = [
-    python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    python
+    gtk3
+    at-spi2-atk
+    at-spi2-core
+    dbus
+    gsettings-desktop-schemas
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
   ];
 
   passthru = {
@@ -51,7 +98,7 @@ buildPythonApplication rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/Orca;
+    homepage = "https://wiki.gnome.org/Projects/Orca";
     description = "Screen reader";
     longDescription = ''
       A free, open source, flexible and extensible screen reader that provides
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index 19657da607f..82144e9689f 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "164r1w539dzy67ir2rqh21kwdvkjv87isd18gp51qyxbsprz6kq5";
+    sha256 = "199dvajik5d56nybk2061vdjyxwakngfd7frxj99wr2vsrp4aw2b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
index dfc92e38f63..0ae9e7379e7 100644
--- a/pkgs/applications/misc/plank/default.nix
+++ b/pkgs/applications/misc/plank/default.nix
@@ -3,6 +3,7 @@
 , vala
 , atk
 , cairo
+, dconf
 , glib
 , gnome3
 , gtk3
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     glib
     gnome-menus
-    gnome3.dconf
+    dconf
     gtk3
     libX11
     libXfixes
diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix
index 77e93eaba7e..8ecc4f974b4 100644
--- a/pkgs/applications/misc/plover/default.nix
+++ b/pkgs/applications/misc/plover/default.nix
@@ -47,8 +47,9 @@
     propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
 
     dontWrapQtApps = true;
-    makeWrapperArgs = [
-      "\${qtWrapperArgs[@]}"
-    ];
+
+    preFixup = ''
+      makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+    '';
   };
 }
diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix
deleted file mode 100644
index bd3796a572b..00000000000
--- a/pkgs/applications/misc/pmenu/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitLab, python2Packages, gnome-menus }:
-
-stdenv.mkDerivation {
-  pname = "pmenu";
-  version = "2018-01-01";
-
-  src = fetchFromGitLab {
-    owner = "o9000";
-    repo = "pmenu";
-    rev = "f98a5bdf20deb0b7f0543e5ce6a8f5574f695e07";
-    sha256 = "131nqafbmbfpgsgss27pz4cyb9fb29m5h1ai1fyvcn286rr9dnp2";
-  };
-
-  nativeBuildInputs = [ python2Packages.wrapPython ];
-
-  buildInputs = [ python2Packages.pygtk gnome-menus ];
-
-  pythonPath = [ python2Packages.pygtk ];
-    
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications
-    ./install.sh $out
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = {
-    homepage = https://gitlab.com/o9000/pmenu;
-    description = "Start menu for Linux/BSD";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 9ca8c696184..fcc6ead550a 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,5 +1,5 @@
 { cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
-, python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
+, python3, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
 , xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
 
 # optional packages-- override the variables ending in 'Support' to enable or
@@ -24,15 +24,16 @@ assert nlSupport     -> ! iwSupport && libnl         != null;
 assert i3Support     -> ! i3GapsSupport && jsoncpp != null && i3      != null;
 assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
-stdenv.mkDerivation rec {
+let xcbproto-py3 = xcbproto.override { python = python3; };
+in stdenv.mkDerivation rec {
     pname = "polybar";
-    version = "3.4.0";
+    version = "3.4.1";
 
     src = fetchFromGitHub {
-      owner = "jaagr";
+      owner = pname;
       repo = pname;
       rev = version;
-      sha256 = "1g3zj0788cdlm8inpl19279bw8zjcy7dzj7q4f1l2d8c8g1jhv0m";
+      sha256 = "1z1m6dxh2i5vsnkzaccb9j02ab05wgmcgig5d0l9w856g5jp3zmy";
       fetchSubmodules = true;
     };
 
@@ -45,12 +46,12 @@ stdenv.mkDerivation rec {
         having a black belt in shell scripting.
       '';
       license = licenses.mit;
-      maintainers = [ maintainers.afldcr ];
-      platforms = platforms.unix;
+      maintainers = with maintainers; [ afldcr filalex77 ];
+      platforms = platforms.linux;
     };
 
     buildInputs = [
-      cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
+      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto-py3 xcbutil
       xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index f3cd6fdb0f6..caf4f270a15 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig
-, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK30
+, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
 , gtest, nlopt, xorg, makeDesktopItem
 }:
 let
@@ -9,7 +9,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.1.0";
+  version = "2.1.1";
 
   enableParallelBuilding = true;
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     glew
     libpng
     tbb
-    wxGTK30
+    wxGTK31
     xorg.libX11
   ] ++ checkInputs;
 
@@ -59,13 +59,12 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "172nz01iiqfjzkpcbl78j6almq6av70l71jgrzrcdw6ham1wqnpr";
+    sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd";
     rev = "version_${version}";
   };
 
   cmakeFlags = [
     "-DSLIC3R_FHS=1"
-    "-DSLIC3R_WX_STABLE=1"  # necessary when compiling against wxGTK 3.0
   ];
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/cerberus11/default.nix b/pkgs/applications/misc/pyditz/cerberus.nix
index 81f6ef1e837..614e3ca8135 100644
--- a/pkgs/development/python-modules/cerberus11/default.nix
+++ b/pkgs/applications/misc/pyditz/cerberus.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Cerberus";
-  version = "1.3.1";
+  version = "1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875";
+    sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5";
   };
 
   checkInputs = [ pytestrunner pytest ];
diff --git a/pkgs/applications/misc/pyditz/default.nix b/pkgs/applications/misc/pyditz/default.nix
index 0f4e743aba4..60de2f9abdc 100644
--- a/pkgs/applications/misc/pyditz/default.nix
+++ b/pkgs/applications/misc/pyditz/default.nix
@@ -1,18 +1,22 @@
 { stdenv, pythonPackages }:
 
-pythonPackages.buildPythonApplication rec {
+with pythonPackages;
+
+let
+  cerberus_1_1 = callPackage ./cerberus.nix { };
+in buildPythonApplication rec {
   pname = "pyditz";
   version = "0.10.3";
 
-  src = pythonPackages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
     sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf";
   };
-  nativeBuildInputs = [ pythonPackages.setuptools_scm ];
-  propagatedBuildInputs = with pythonPackages; [ pyyaml six jinja2 cerberus11 ];
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
 
   checkPhase = ''
-    ${pythonPackages.python.interpreter} -m unittest discover
+    ${python.interpreter} -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix
index 1f35643dd76..21d4b003179 100644
--- a/pkgs/applications/misc/qdirstat/default.nix
+++ b/pkgs/applications/misc/qdirstat/default.nix
@@ -19,7 +19,7 @@ in mkDerivation rec {
 
   buildInputs = [ perlPackages.perl ];
 
-  preBuild = ''
+  postPatch = ''
     substituteInPlace scripts/scripts.pro \
       --replace /bin/true ${coreutils}/bin/true
 
@@ -37,9 +37,8 @@ in mkDerivation rec {
     substituteInPlace src/StdCleanup.cpp \
       --replace /bin/bash ${bash}/bin/bash
   '';
-  postPatch = ''
-    export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
-  '';
+
+  qmakeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
     wrapProgram $out/bin/qdirstat-cache-writer \
diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix
index 1256bb96608..6b68071d4d0 100644
--- a/pkgs/applications/misc/qtpass/default.nix
+++ b/pkgs/applications/misc/qtpass/default.nix
@@ -1,5 +1,6 @@
 { lib, mkDerivation, fetchFromGitHub
-, git, gnupg, pass, pwgen
+, git, gnupg, pass, pwgen, qrencode
+, fetchpatch
 , qtbase, qtsvg, qttools, qmake
 }:
 
@@ -14,12 +15,27 @@ mkDerivation rec {
     sha256 = "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x";
   };
 
+  postPatch = ''
+    substituteInPlace src/qtpass.cpp \
+      --replace "/usr/bin/qrencode" "${qrencode}/bin/qrencode"
+  '';
+
   buildInputs = [ git gnupg pass qtbase qtsvg ];
 
   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.
+    (fetchpatch {
+      name = "qtpass-Dont-hardcode-pass-otp-usr-lib-path.patch";
+      url = "https://github.com/IJHack/QtPass/commit/2ca9f0ec5a8d709c97a2433c5cd814040c82d4f3.patch";
+      sha256 = "0ljlvqxvarrz2a4j71i66aflrxi84zirb6cg9kvygnvhvm1zbc7d";
+    })
+  ];
+
   qmakeFlags = [
     # setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
     "QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
diff --git a/pkgs/applications/misc/raiseorlaunch/default.nix b/pkgs/applications/misc/raiseorlaunch/default.nix
new file mode 100644
index 00000000000..6bbbc671bf8
--- /dev/null
+++ b/pkgs/applications/misc/raiseorlaunch/default.nix
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "raiseorlaunch";
+  version = "2.3.3";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "3d694015d020a888b42564d56559213b94981ca2b32b952a49b2de4d029d2e59";
+  };
+
+  nativeBuildInputs = [ python3Packages.setuptools_scm ];
+  checkInputs = [ python3Packages.pytest ];
+  pythonPath = with python3Packages; [ i3ipc ];
+
+  meta = with lib; {
+    maintainers = with maintainers; [ winpat ];
+    description = "A run-or-raise-application-launcher for i3 window manager";
+    homepage = "https://github.com/open-dynaMIX/raiseorlaunch";
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
index bee7058293d..ac62ccc00cb 100644
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, lib, fetchgit, pkgconfig, libssh2
+{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2
 , qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols
 , qtsvg, qttools, qtquick1, qtcharts
 , qmake
 }:
 
 let
-  breakpad_lss = fetchgit {
+  breakpad_lss = fetchFromGitiles {
     url = "https://chromium.googlesource.com/linux-syscall-support";
     rev = "08056836f2b4a5747daff75435d10d649bed22f6";
     sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
   pname = "redis-desktop-manager";
   version = "0.9.1";
 
-  src = fetchgit {
-    url = "https://github.com/uglide/RedisDesktopManager.git";
+  src = fetchFromGitHub {
+    owner = "uglide";
+    repo = "RedisDesktopManager";
     fetchSubmodules = true;
-    rev = "refs/tags/${version}";
+    rev = version;
     sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f";
   };
 
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index b751560b301..e9862041f4a 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -11,82 +11,108 @@
 , withGeoclue ? withGeolocation && stdenv.isLinux, geoclue
 }:
 
-stdenv.mkDerivation rec {
-  pname = "redshift";
-  version = "1.12";
-
-  src = fetchFromGitHub {
-    owner = "jonls";
-    repo = "redshift";
-    rev = "v${version}";
-    sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
+let
+  mkRedshift =
+    { pname, version, src, meta }:
+    stdenv.mkDerivation rec {
+      inherit pname version src meta;
+
+      patches = [
+        # https://github.com/jonls/redshift/pull/575
+        ./575.patch
+      ];
+
+      nativeBuildInputs = [
+        autoconf
+        automake
+        gettext
+        intltool
+        libtool
+        pkgconfig
+        wrapGAppsHook
+        wrapPython
+      ];
+
+      configureFlags = [
+        "--enable-randr=${if withRandr then "yes" else "no"}"
+        "--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
+        "--enable-drm=${if withDrm then "yes" else "no"}"
+        "--enable-quartz=${if withQuartz then "yes" else "no"}"
+        "--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
+      ];
+
+      buildInputs = [
+        gobject-introspection
+        gtk3
+        python
+      ] ++ stdenv.lib.optional  withRandr        libxcb
+        ++ stdenv.lib.optional  withGeoclue      geoclue
+        ++ stdenv.lib.optional  withDrm          libdrm
+        ++ stdenv.lib.optional  withQuartz       ApplicationServices
+        ++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
+        ;
+
+      pythonPath = [ pygobject3 pyxdg ];
+
+      preConfigure = "./bootstrap";
+
+      postFixup = "wrapPythonPrograms";
+
+      # the geoclue agent may inspect these paths and expect them to be
+      # valid without having the correct $PATH set
+      postInstall = ''
+        substituteInPlace $out/share/applications/redshift.desktop \
+          --replace 'Exec=redshift' "Exec=$out/bin/redshift"
+        substituteInPlace $out/share/applications/redshift.desktop \
+          --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
+      '';
+
+      enableParallelBuilding = true;
+    };
+in
+rec {
+  redshift = mkRedshift rec {
+    pname = "redshift";
+    version = "1.12";
+
+    src = fetchFromGitHub {
+      owner = "jonls";
+      repo = "redshift";
+      rev = "v${version}";
+      sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Screen color temperature manager";
+      longDescription = ''
+        Redshift adjusts the color temperature according to the position
+        of the sun. A different color temperature is set during night and
+        daytime. During twilight and early morning, the color temperature
+        transitions smoothly from night to daytime temperature to allow
+        your eyes to slowly adapt. At night the color temperature should
+        be set to match the lamps in your room.
+      '';
+      license = licenses.gpl3Plus;
+      homepage = http://jonls.dk/redshift;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ yegortimoshenko globin ];
+    };
   };
 
-  patches = [
-    # https://github.com/jonls/redshift/pull/575
-    ./575.patch
-  ];
-
-  nativeBuildInputs = [
-    autoconf
-    automake
-    gettext
-    intltool
-    libtool
-    pkgconfig
-    wrapGAppsHook
-    wrapPython
-  ];
-
-  configureFlags = [
-    "--enable-randr=${if withRandr then "yes" else "no"}"
-    "--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
-    "--enable-drm=${if withDrm then "yes" else "no"}"
-    "--enable-quartz=${if withQuartz then "yes" else "no"}"
-    "--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
-  ];
-
-  buildInputs = [
-    gobject-introspection
-    gtk3
-    python
-  ] ++ stdenv.lib.optional  withRandr        libxcb
-    ++ stdenv.lib.optional  withGeoclue      geoclue
-    ++ stdenv.lib.optional  withDrm          libdrm
-    ++ stdenv.lib.optional  withQuartz       ApplicationServices
-    ++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
-    ;
-
-  pythonPath = [ pygobject3 pyxdg ];
-
-  preConfigure = "./bootstrap";
-
-  postFixup = "wrapPythonPrograms";
-
-  # the geoclue agent may inspect these paths and expect them to be
-  # valid without having the correct $PATH set
-  postInstall = ''
-    substituteInPlace $out/share/applications/redshift.desktop \
-      --replace 'Exec=redshift' "Exec=$out/bin/redshift"
-    substituteInPlace $out/share/applications/redshift.desktop \
-      --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "Screen color temperature manager";
-    longDescription = ''
-      Redshift adjusts the color temperature according to the position
-      of the sun. A different color temperature is set during night and
-      daytime. During twilight and early morning, the color temperature
-      transitions smoothly from night to daytime temperature to allow
-      your eyes to slowly adapt. At night the color temperature should
-      be set to match the lamps in your room.
-    '';
-    license = licenses.gpl3Plus;
-    homepage = http://jonls.dk/redshift;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ yegortimoshenko globin ];
+  redshift-wlr = mkRedshift {
+    pname = "redshift-wlr";
+    version = "2019-04-17";
+
+    src = fetchFromGitHub {
+      owner = "minus7";
+      repo = "redshift";
+      rev = "eecbfedac48f827e96ad5e151de8f41f6cd3af66";
+      sha256 = "0rs9bxxrw4wscf4a8yl776a8g880m5gcm75q06yx2cn3lw2b7v22";
+    };
+
+    meta = redshift.meta // {
+      description = redshift.meta.description + "(with wlroots patches)";
+      homepage = https://github.com/minus7/redshift;
+    };
   };
 }
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index eabf77f0e95..94381d4f6f9 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeWrapper
+{ stdenv, lib, fetchurl
 , autoreconfHook, pkgconfig, libxkbcommon, pango, which, git
 , cairo, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
 , bison, flex, librsvg, check
@@ -19,16 +19,11 @@ stdenv.mkDerivation rec {
     sed -i 's/~root/~nobody/g' test/helper-expand.c
   '';
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check
     libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/rofi-theme-selector \
-      --prefix XDG_DATA_DIRS : $out/share
-  '';
-
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix
index 8c24d27f075..1c7284a2db2 100644
--- a/pkgs/applications/misc/rofi/wrapper.nix
+++ b/pkgs/applications/misc/rofi/wrapper.nix
@@ -1,6 +1,5 @@
-{ stdenv, rofi-unwrapped, makeWrapper, theme ? null }:
+{ stdenv, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null }:
 
-if theme == null then rofi-unwrapped else
 stdenv.mkDerivation {
   pname = "rofi";
   version = rofi-unwrapped.version;
@@ -14,8 +13,15 @@ stdenv.mkDerivation {
     rm $out/bin
     mkdir $out/bin
     ln -s ${rofi-unwrapped}/bin/* $out/bin
+
     rm $out/bin/rofi
-    makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi --add-flags "-theme ${theme}"
+    makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
+      --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
+      ${if theme != null then ''--add-flags "-theme ${theme}"'' else ""}
+
+    rm $out/bin/rofi-theme-selector
+    makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
+      --prefix XDG_DATA_DIRS : $out/share
   '';
 
   meta = rofi-unwrapped.meta // {
diff --git a/pkgs/applications/misc/rsclock/default.nix b/pkgs/applications/misc/rsclock/default.nix
index c427eda8c77..137ec920f75 100644
--- a/pkgs/applications/misc/rsclock/default.nix
+++ b/pkgs/applications/misc/rsclock/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1i93qkz6d8sbk78i4rvx099hnn4lklp4cjvanpm9ssv8na4rqvh2";
   };
    
-  cargoSha256 = "0zg5q2p9snpfyxl0gx87ix1f46afrfm5jq0m6c7s8qw2x9hpvxzr";
+  cargoSha256 = "03mhlp5hi3nlybb9dkwf1gxgsg056mjq2zsxnb5qh8pdxw7fmdxk";
 
   meta = with stdenv.lib; {
     description = "A simple terminal clock written in Rust";
diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix
index 4f8315f060a..4199e198c53 100644
--- a/pkgs/applications/misc/sequeler/default.nix
+++ b/pkgs/applications/misc/sequeler/default.nix
@@ -29,6 +29,12 @@ in stdenv.mkDerivation rec {
     patchShebangs build-aux/meson_post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Friendly SQL Client";
     longDescription = ''
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index f47f2b4e9eb..30aa45c14ff 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
 	let
 		pname = "sidequest";
-		version = "0.7.2";
+		version = "0.7.6";
 
 		desktopItem = makeDesktopItem rec {
 			name = "SideQuest";
@@ -16,7 +16,7 @@
 
 			src = fetchurl {
 				url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
-				sha256 = "035grhzqm3qdfcq5vn4a85lgb188rg60wlgc02r44cnj4sbsyyzj";
+				sha256 = "1yyba5495ydyyfl62pjd4hbga86k7f2a72ds2j2qzkinngyl14j8";
 			};
 
 			buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index 87125eb1b36..6e4a32b1ef1 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -1,23 +1,37 @@
-{ atomEnv, autoPatchelfHook, dpkg, fetchurl, makeDesktopItem, makeWrapper
-, stdenv, udev, wrapGAppsHook }:
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
 
+  throwSystem = throw "Unsupported system: ${system}";
+
   pname = "simplenote";
 
-  version = "1.8.0";
+  version = "1.12.0";
 
   sha256 = {
-    x86_64-linux = "066gr1awdj5nwdr1z57mmvx7dd1z19g0wzsgbnrrb89bqfj67ykl";
-  }.${system};
+    x86_64-linux = "0y9b4haaj7qxr92wnwacziljqrkf4vlyqq3rvis8ribq6zr5b24w";
+  }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
     description = "The simplest way to keep notes";
     homepage = "https://github.com/Automattic/simplenote-electron";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kiwi ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [
+      kiwi
+    ];
+    platforms = [
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -31,14 +45,14 @@ let
     };
 
     desktopItem = makeDesktopItem {
-      name = "simplenote";
+      categories = "Development";
       comment = "Simplenote for Linux";
+      desktopName = "Simplenote";
       exec = "simplenote %U";
       icon = "simplenote";
-      type = "Application";
+      name = "simplenote";
       startupNotify = "true";
-      desktopName = "Simplenote";
-      categories = "Development";
+      type = "Application";
     };
 
     dontBuild = true;
@@ -46,9 +60,14 @@ let
     dontPatchELF = true;
     dontWrapGApps = true;
 
-    buildInputs = atomEnv.packages;
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
+    ];
 
-    nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
+    buildInputs = atomEnv.packages;
 
     unpackPhase = "dpkg-deb -x $src .";
 
@@ -62,14 +81,15 @@ let
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
 
-    runtimeDependencies = [ udev.lib ];
+    runtimeDependencies = [
+      udev.lib
+    ];
 
     postFixup = ''
-      ls -ahl $out
       makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \
-      "''${gappsWrapperArgs[@]}"
+        "''${gappsWrapperArgs[@]}"
     '';
   };
 
 in
-  linux
+linux
diff --git a/pkgs/applications/misc/slic3r/boost-compile-error.patch b/pkgs/applications/misc/slic3r/boost-compile-error.patch
new file mode 100644
index 00000000000..4dbdb85f743
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/boost-compile-error.patch
@@ -0,0 +1,12 @@
+diff --git a/xs/src/libslic3r/GCodeSender.hpp b/xs/src/libslic3r/GCodeSender.hpp
+index cc0b2983..0f39f5a3 100644
+--- a/xs/src/libslic3r/GCodeSender.hpp
++++ b/xs/src/libslic3r/GCodeSender.hpp
+@@ -9,6 +9,7 @@
+ #include <boost/asio.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/thread.hpp>
++#include <boost/core/noncopyable.hpp>
+ 
+ namespace Slic3r {
+ 
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index cf9e93b87b3..8dbd0cd5776 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
-, which, perlPackages, boost
+{ lib, stdenv, fetchgit, perl, makeWrapper
+, makeDesktopItem, which, perlPackages, boost
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +40,11 @@ stdenv.mkDerivation rec {
     sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' xs/src/libslic3r/GCodeSender.cpp
   '';
 
+  # note the boost-compile-error is fixed in
+  # https://github.com/slic3r/Slic3r/commit/90f108ae8e7a4315f82e317f2141733418d86a68
+  # this patch can be probably be removed in the next version after 1.3.0
+  patches = lib.optional (lib.versionAtLeast boost.version "1.56.0") ./boost-compile-error.patch;
+
   buildPhase = ''
     export SLIC3R_NO_AUTO=true
     export LD=$CXX
diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix
index 213f308646a..75f3be85dad 100644
--- a/pkgs/applications/misc/stretchly/default.nix
+++ b/pkgs/applications/misc/stretchly/default.nix
@@ -1,8 +1,12 @@
 { GConf
 , alsaLib
 , at-spi2-atk
+, at-spi2-core
 , atk
+, buildFHSUserEnv
 , cairo
+, common-updater-scripts
+, coreutils
 , cups
 , dbus
 , expat
@@ -29,15 +33,19 @@
 , libnotify
 , libpciaccess
 , libpng12
+, libuuid
 , libxcb
 , nspr
 , nss
 , pango
 , pciutils
 , pulseaudio
+, runtimeShell
 , stdenv
 , udev
 , wrapGAppsHook
+, writeScript
+, file
 }:
 
 let
@@ -45,6 +53,7 @@ let
     GConf
     alsaLib
     at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -71,6 +80,7 @@ let
     libnotify
     libpciaccess
     libpng12
+    libuuid
     libxcb
     nspr
     nss
@@ -82,58 +92,96 @@ let
   ];
 
   libPath = lib.makeLibraryPath libs;
+
+  stretchly =
+    stdenv.mkDerivation rec {
+      pname = "stretchly";
+      version = "0.21.0";
+
+      src = fetchurl {
+        url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
+        sha256 = "1gyyr22xq8s4miiacs8wqhp7lxnwvkvlwhngnq8671l62s6iyjzl";
+      };
+
+      nativeBuildInputs = [
+        wrapGAppsHook
+        coreutils
+      ];
+
+      buildInputs = libs;
+
+      dontPatchELF = true;
+      dontBuild = true;
+      dontConfigure = true;
+
+      installPhase = ''
+        mkdir -p $out/bin $out/lib/stretchly
+        cp -r ./* $out/lib/stretchly/
+        ln -s $out/lib/stretchly/stretchly $out/bin/
+      '';
+
+      preFixup = ''
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libGLESv2.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libGLESv2.so
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/stretchly
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/chrome-sandbox
+      '';
+
+      meta = with stdenv.lib; {
+        description = "A break time reminder app";
+        longDescription = ''
+          stretchly is a cross-platform electron app that reminds you to take
+          breaks when working on your computer. By default, it runs in your tray
+          and displays a reminder window containing an idea for a microbreak for 20
+          seconds every 10 minutes. Every 30 minutes, it displays a window
+          containing an idea for a longer 5 minute break.
+        '';
+        homepage = https://hovancik.net/stretchly;
+        downloadPage = https://hovancik.net/stretchly/downloads/;
+        license = licenses.bsd2;
+        maintainers = with maintainers; [ cdepillabout ];
+        platforms = platforms.linux;
+      };
+    };
+
 in
 
-stdenv.mkDerivation rec {
-  pname = "stretchly";
-  version = "0.19.1";
+buildFHSUserEnv {
+  inherit (stretchly) meta;
 
-  src = fetchurl {
-    url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
-    sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8";
-  };
+  name = "stretchly";
 
-  nativeBuildInputs = [
-    wrapGAppsHook
+  targetPkgs = pkgs: [
+     stretchly
   ];
 
-  buildInputs = libs;
-
-  dontPatchELF = true;
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/bin $out/lib/stretchly
-    cp -r ./* $out/lib/stretchly/
-    ln -s $out/lib/stretchly/libffmpeg.so $out/lib/
-    ln -s $out/lib/stretchly/libnode.so $out/lib/
-    ln -s $out/lib/stretchly/stretchly $out/bin/
-  '';
-
-  preFixup = ''
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libnode.so
-
-    patchelf \
-      --set-rpath "$out/lib/stretchly:${libPath}" \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/lib/stretchly/stretchly
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A break time reminder app";
-    longDescription = ''
-      stretchly is a cross-platform electron app that reminds you to take
-      breaks when working on your computer. By default, it runs in your tray
-      and displays a reminder window containing an idea for a microbreak for 20
-      seconds every 10 minutes. Every 30 minutes, it displays a window
-      containing an idea for a longer 5 minute break.
+  runScript = "stretchly";
+
+  passthru = {
+    updateScript = writeScript "update-stretchly" ''
+      #!${runtimeShell}
+
+      set -eu -o pipefail
+
+      # get the latest release version
+      latest_version=$(curl -s https://api.github.com/repos/hovancik/stretchly/releases/latest | jq --raw-output .tag_name | sed -e 's/^v//')
+
+      echo "updating to $latest_version..."
+
+      ${common-updater-scripts}/bin/update-source-version stretchly.passthru.stretchlyWrapped "$latest_version"
     '';
-    homepage = https://hovancik.net/stretchly;
-    downloadPage = https://hovancik.net/stretchly/downloads/;
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ cdepillabout ];
-    platforms = platforms.linux;
+
+    stretchlyWrapped = stretchly;
   };
 }
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 9dcdf8fd2b0..76a62d1762c 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -3,8 +3,6 @@
 
 let
 
-  getDesktopFileName = drvName: (builtins.parseDrvName drvName).name;
-
   # TODO: Should we move this to `lib`? Seems like its would be useful in many cases.
   extensionOf = filePath:
     lib.concatStringsSep "." (lib.tail (lib.splitString "." (builtins.baseNameOf filePath)));
@@ -15,15 +13,15 @@ let
   '') icons);
 
   mkSweetHome3D =
-  { name, module, version, src, license, description, desktopName, icons }:
+  { pname, module, version, src, license, description, desktopName, icons }:
 
   stdenv.mkDerivation rec {
-    inherit name version src description;
+    inherit pname version src description;
     exec = stdenv.lib.toLower module;
     sweethome3dItem = makeDesktopItem {
       inherit exec desktopName;
-      name = getDesktopFileName name;
-      icon = getDesktopFileName name;
+      name = pname;
+      icon = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
       categories = "Application;Graphics;2DGraphics;3DGraphics;";
@@ -49,7 +47,7 @@ let
       mkdir -p $out/bin
       cp install/${module}-${version}.jar $out/share/java/.
 
-      ${installIcons (getDesktopFileName name) icons}
+      ${installIcons pname icons}
 
       cp "${sweethome3dItem}/share/applications/"* $out/share/applications
 
@@ -74,9 +72,9 @@ let
 in {
 
   application = mkSweetHome3D rec {
+    pname = stdenv.lib.toLower module + "-application";
     version = "6.2";
     module = "SweetHome3D";
-    name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchsvn {
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index eef5185aaee..1d3f1a41e16 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -7,20 +7,17 @@ let
     m: "sweethome3d-"
     + removeSuffix "libraryeditor" (toLower m)
     + "-editor";
-  sweetName = m: v: sweetExec m + "-" + v;
-
-  getDesktopFileName = drvName: (builtins.parseDrvName drvName).name;
 
   mkEditorProject =
-  { name, module, version, src, license, description, desktopName }:
+  { pname, module, version, src, license, description, desktopName }:
 
   stdenv.mkDerivation rec {
     application = sweethome3dApp;
-    inherit name module version src description;
+    inherit pname module version src description;
     exec = sweetExec module;
     editorItem = makeDesktopItem {
       inherit exec desktopName;
-      name = getDesktopFileName name;
+      name = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
       categories = "Application;Graphics;2DGraphics;3DGraphics;";
@@ -66,7 +63,7 @@ in {
   textures-editor = mkEditorProject rec {
     version = "1.5";
     module = "TexturesLibraryEditor";
-    name = sweetName module version;
+    pname = module;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
@@ -81,7 +78,7 @@ in {
   furniture-editor = mkEditorProject rec {
     version = "1.19";
     module = "FurnitureLibraryEditor";
-    name = sweetName module version;
+    pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = stdenv.lib.licenses.gpl2;
     src = fetchcvs {
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 816ae664f8e..5a722ffe111 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.2";
+  version = "0.10.4";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "09iq1rr70wwy5xk0jmfnwzvnigq409hvs2viy1j0khn9jhvnk6z0";
+    sha256 = "068v63bb1bq6vz7byhnd28l6dmr4jmivailxmjv86wakbsqvlhbi";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/taizen/default.nix b/pkgs/applications/misc/taizen/default.nix
new file mode 100644
index 00000000000..ee516ac97aa
--- /dev/null
+++ b/pkgs/applications/misc/taizen/default.nix
@@ -0,0 +1,25 @@
+{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkgconfig }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taizen";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "NerdyPepper";
+    repo = pname;
+    rev = "5c1876429e2da7424e9d31b1e16f5a3147cc58d0";
+    sha256 = "09izgx7icvizskdy9kplk0am61p7550fsd0v42zcihq2vap2j92z";
+  };
+
+  buildInputs = [ ncurses openssl ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "0h8ybhb17pqhhfjcmq1l70kp8g1yyq38228lcf86byk3r2ar2rkg";
+
+  meta = with lib; {
+    homepage = https://crates.io/crates/taizen;
+    license = licenses.mit;
+    description = "curses based mediawiki browser";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix
index 702c3124d8a..488e49c2181 100644
--- a/pkgs/applications/misc/taskell/default.nix
+++ b/pkgs/applications/misc/taskell/default.nix
@@ -1,8 +1,8 @@
 { lib, haskellPackages, fetchFromGitHub }:
 
 let
-  version = "1.6.1";
-  sha256  = "047gvpq52pif9sfb4qcfdiwz50x3wlnjvsnnjzypm1qlwyl2rbz1";
+  version = "1.7.3";
+  sha256  = "1439fh79ilc6jvz894cfzhk7gy5r2sv4v79bvqmmqbzbqk9qsbvx";
 
 in (haskellPackages.mkDerivation {
   pname = "taskell";
diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix
index feb06368de4..931a27fbeff 100644
--- a/pkgs/applications/misc/tasksh/default.nix
+++ b/pkgs/applications/misc/tasksh/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://tasktools.org;
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index 922b3fd2028..2fa193fc8e7 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -6,7 +6,7 @@
 , python3
 , pkgconfig
 , dmd
-, gnome3
+, dconf
 , dbus
 , gsettings-desktop-schemas
 , desktop-file-utils
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
   buildInputs = [
     dbus
     gettext
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtkd
     libsecret
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index d0419c414d7..a8b86e71cb1 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "timewarrior";
-  version = "1.1.1";
+  version = "1.2.0";
 
   enableParallelBuilding = true;
 
-  src = fetchurl {
-    url = "https://taskwarrior.org/download/timew-${version}.tar.gz";
-    sha256 = "1jfcfzdwk5qqhxznj1bgy0sx3lnp3z5lqr9kch9a7iazwmi9lz8z";
+  src = fetchFromGitHub {
+    owner = "GothenburgBitFactory";
+    repo = "timewarrior";
+    rev = "v${version}";
+    sha256 = "0ci8kb7gdp1dsv6xj30nbz8lidrmn50pbriw26wv8mdhs17rfk7w";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/tnef/default.nix b/pkgs/applications/misc/tnef/default.nix
index cb70d57869c..bbd3073a4d8 100644
--- a/pkgs/applications/misc/tnef/default.nix
+++ b/pkgs/applications/misc/tnef/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.17";
+  version = "1.4.18";
   pname = "tnef";
 
   src = fetchFromGitHub {
     owner  = "verdammelt";
     repo   = "tnef";
     rev    = version;
-    sha256 = "0cq2xh5wd74qn6k2nnw5rayxgqhjl3jbzf4zlc4babcwxrv32ldh";
+    sha256 = "104g48mcm00bgiyzas2vf86331w7bnw7h3bc11ib4lp7rz6zqfck";
   };
 
   doCheck = true;
diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix
index 15c675c902f..e619ab053e7 100644
--- a/pkgs/applications/misc/tootle/default.nix
+++ b/pkgs/applications/misc/tootle/default.nix
@@ -62,6 +62,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Simple Mastodon client designed for elementary OS";
     homepage = https://github.com/bleakgrey/tootle;
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index 2aef45748ca..cd58219721c 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, qtbase, qtx11extras, qmake, pkgconfig, boost }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qtx11extras, qmake, pkgconfig, boost }:
 
-stdenv.mkDerivation {
+mkDerivation {
   name = "twmn-git-2018-10-01";
 
   src = fetchFromGitHub {
@@ -29,8 +29,8 @@ stdenv.mkDerivation {
   meta = {
     description = "A notification system for tiling window managers";
     homepage = https://github.com/sboli/twmn;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    license = stdenv.lib.licenses.lgpl3;
+    platforms = with lib.platforms; linux;
+    maintainers = [ lib.maintainers.matejc ];
+    license = lib.licenses.lgpl3;
   };
 }
diff --git a/pkgs/applications/misc/variety/default.nix b/pkgs/applications/misc/variety/default.nix
new file mode 100644
index 00000000000..6d8da4a1007
--- /dev/null
+++ b/pkgs/applications/misc/variety/default.nix
@@ -0,0 +1,73 @@
+{
+  fehSupport ? false, feh
+, imagemagickSupport ? true, imagemagick
+, stdenv
+, lib
+, python37Packages
+, fetchFromGitHub
+, intltool
+, gtk3
+, gexiv2
+, libnotify
+, wrapGAppsHook
+, gobject-introspection
+, hicolor-icon-theme
+, librsvg
+}:
+
+with python37Packages;
+
+buildPythonApplication rec {
+  pname = "variety";
+  version = "0.7.2-96-g3afe3ab";
+
+  src = fetchFromGitHub {
+    owner = "varietywalls";
+    repo = "variety";
+    rev = "3afe3abf725e5db2aec0db575a17c9907ab20de1";
+    sha256 = "10vw0202dwrwi497nsbq077v4qd3qn5b8cmkfcsgbvvjwlz7ldm5";
+  };
+
+  nativeBuildInputs = [ intltool wrapGAppsHook ];
+
+  buildInputs = [ distutils_extra ];
+
+  doCheck = false;
+
+  prePatch = ''
+    substituteInPlace variety_lib/varietyconfig.py \
+      --replace "__variety_data_directory__ = \"../data\"" "__variety_data_directory__ = \"$out/share/variety\""
+    substituteInPlace data/scripts/set_wallpaper \
+      --replace /bin/bash ${stdenv.shell}
+    substituteInPlace data/scripts/get_wallpaper \
+      --replace /bin/bash ${stdenv.shell}
+  '';
+
+  propagatedBuildInputs =
+       [ gtk3
+         gexiv2
+         libnotify
+         beautifulsoup4
+         lxml
+         pycairo
+         pygobject3
+         configobj
+         pillow
+         setuptools
+         requests
+         httplib2
+         dbus-python
+         gobject-introspection
+         hicolor-icon-theme
+         librsvg
+       ]
+    ++ lib.optional fehSupport feh
+    ++ lib.optional imagemagickSupport imagemagick;
+
+  meta = with lib; {
+    description = "A wallpaper manager for Linux systems. It supports numerous desktops and wallpaper sources, including local files and online services: Flickr, Wallhaven, Unsplash, and more";
+    homepage = https://github.com/varietywalls/variety;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.zfnmxt ];
+  };
+}
diff --git a/pkgs/applications/misc/verbiste/default.nix b/pkgs/applications/misc/verbiste/default.nix
index b6a8b567a50..680573fd304 100644
--- a/pkgs/applications/misc/verbiste/default.nix
+++ b/pkgs/applications/misc/verbiste/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "verbiste";
 
-  version = "0.1.46";
+  version = "0.1.47";
 
   src = fetchurl {
     url = "https://perso.b2b2c.ca/~sarrazip/dev/${pname}-${version}.tar.gz";
-    sha256 = "13l8b8mbkdds955sn42hzrjzj48lg1drpd7vhpcjxadckbvlh1p0";
+    sha256 = "02kzin3pky2q2jnihrch8y0hy043kqqmzxq8j741x80kl0j1qxkm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 81563254abd..f71e7a7a960 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, makeWrapper
 , pkgconfig
 , ncurses, libX11
 , utillinux, file, which, groff
+
+  # adds support for handling removable media (vifm-media). Linux only!
+, mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null 
 }:
 
-stdenv.mkDerivation rec {
-  pname = "vifm";
+let isFullPackage = mediaSupport;
+in stdenv.mkDerivation rec {
+  pname = if isFullPackage then "vifm-full" else "vifm";
   version = "0.10.1";
 
   src = fetchurl {
@@ -13,13 +17,24 @@ stdenv.mkDerivation rec {
     sha256 = "0fyhxh7ndjn8fyjhj14ymkr3pjcs3k1xbs43g7xvvq85vdb6y04r";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ ncurses libX11 utillinux file which groff ];
 
+  postFixup = let
+    path = lib.makeBinPath 
+      [ udisks2 
+        (python3.withPackages (p: [p.dbus-python]))
+      ];
+
+    wrapVifmMedia = "wrapProgram $out/share/vifm/vifm-media --prefix PATH : ${path}";
+  in ''
+    ${if mediaSupport then wrapVifmMedia else ""}
+  '';
+
   meta = with stdenv.lib; {
-    description = "A vi-like file manager";
+    description = ''A vi-like file manager${if isFullPackage then "; Includes support for optional features" else ""}'';
     maintainers = with maintainers; [ raskin ];
-    platforms = platforms.unix;
+    platforms = if mediaSupport then platforms.linux else platforms.unix;
     license = licenses.gpl2;
     downloadPage = "https://vifm.info/downloads.shtml";
     homepage = https://vifm.info/;
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index 6dfe8e713c6..a5024cb7f36 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -1,18 +1,45 @@
-{ stdenv, fetchurl, pkgconfig, qmake, qtsvg }:
+{ stdenv, mkDerivation, fetchurl, pkgconfig, qmake, qtscript, qtsvg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "vym";
-  version = "2.6.11";
+  version = "2.7.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/vym/2.6.0/${pname}-${version}.tar.bz2";
-    sha256 = "1yznlb47jahd662a2blgh1ccwpl5dp5rjz9chsxjzhj3vbkzx3nl";
+    url = "mirror://sourceforge/project/vym/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "1rnrfqlff7wv6yni8bvff8n90pmn82k82zd4sn1jsx9r1n3qsfkh";
   };
 
+  # Hardcoded paths scattered about all have form share/vym
+  # which is encouraging, although we'll need to patch them (below).
+  qmakeFlags = [
+    "DATADIR=${placeholder "out"}/share"
+    "DOCDIR=${placeholder "out"}/share/doc/vym"
+  ];
+
+  postPatch = ''
+    for x in \
+      exportoofiledialog.cpp \
+      main.cpp \
+      mainwindow.cpp \
+      tex/*.{tex,lyx}; \
+    do
+      substituteInPlace $x \
+        --replace /usr/share/vym $out/share/vym \
+        --replace /usr/local/share/vym $out/share/vym \
+        --replace /usr/share/doc $out/share/doc/vym
+    done
+  '';
+
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig qmake ];
-  buildInputs = [ qtsvg ];
+  buildInputs = [ qtscript qtsvg ];
+
+  postInstall = ''
+    install -Dm755 -t $out/share/man/man1 doc/*.1.gz
+  '';
+
+  dontGzipMan = true;
 
   meta = with stdenv.lib; {
     description = "A mind-mapping software";
diff --git a/pkgs/applications/misc/wego/default.nix b/pkgs/applications/misc/wego/default.nix
index 93f50fb5370..567d299fd3a 100644
--- a/pkgs/applications/misc/wego/default.nix
+++ b/pkgs/applications/misc/wego/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "wego";
-  version = "20170403-${stdenv.lib.strings.substring 0 7 rev}";
+  version = "unstable-2017-04-03";
   rev = "415efdfab5d5ee68300bf261a0c6f630c6c2584c";
   
   goPackagePath = "github.com/schachmat/wego";
diff --git a/pkgs/applications/misc/wofi/default.nix b/pkgs/applications/misc/wofi/default.nix
index 4cf4792696d..289c60b4402 100644
--- a/pkgs/applications/misc/wofi/default.nix
+++ b/pkgs/applications/misc/wofi/default.nix
@@ -1,25 +1,18 @@
-{ stdenv, lib, fetchhg, pkg-config, wayland, gtk3 }:
+{ stdenv, lib, fetchhg, pkg-config, meson, ninja, wayland, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "wofi";
-  version = "2019-10-28";
+  version = "1.0";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~scoopta/wofi";
-    rev = "3fac708b2b541bb9927ec1b2389c4eb294e1b35b";
-    sha256 = "0sp9hqm1lv9wyxj8z7vazs25nvl6yznd5vfhmwb51axwkr79s2ym";
+    rev = "v${version}";
+    sha256 = "147yarm26nl0zc0a2rs7qi4jd7bz48vvyaygsif1qsv8fx0xiqqf";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = [ wayland gtk3 ];
 
-  sourceRoot = "hg-archive/Release";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp wofi $out/bin/
-  '';
-
   meta = with lib; {
     description = "A launcher/menu program for wlroots based wayland compositors such as sway";
     homepage = "https://hg.sr.ht/~scoopta/wofi";
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index 9ad010deb16..4fc06b5c1ad 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
   pname = "workrave";
   version = "1.10.31";
 
-  src = let
-  in fetchFromGitHub {
+  src = fetchFromGitHub {
     sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p";
     rev = with stdenv.lib;
       "v" + concatStringsSep "_" (splitVersion version);
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index 2706a5ed658..3dee9844c0c 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -7,23 +7,21 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.23.0";
-
-  overrideModAttrs = _oldAttrs : _oldAttrs // {
-    preBuild = ''export GOPROXY="https://gocenter.io"'';
-  };
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bhk81jmv6rq8h898lmvrh9v356310fbi82lvakmgay7nvzk9a1c";
+    sha256 = "1g76hzlyi8s8dayd36cs4bhnwgrrr731ybflw3xk5pgkgcbs14sd";
    };
 
-  modSha256 = "1ndb7zbhaq0cnd8fd05fvb62qi0mxilgydz42qqz2z4fkbx9gp3m";
+  modSha256 = "186m7s20r59dyh5lpby4sd4vw3rvnkfzslylwin0c3r6150yrx8h";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
+  subPackages = [ "." ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index 6a5e62f54e1..fb1b59ed01f 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xchm";
-  version = "1.30";
+  version = "1.31";
 
   src = fetchFromGitHub {
     owner = "rzvncj";
     repo = "xCHM";
     rev = version;
-    sha256 = "1sjvh06m8jbb28k6y3knas3nkh1dfvff4mlwjs33x12ilhddhr8v";
+    sha256 = "1mzafbpc1c211byf8bnwl13by7vi8xvxlaykyrajb1bj0ynbmmgp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix
index b7f8cfce2fb..56168b34859 100644
--- a/pkgs/applications/misc/xdgmenumaker/default.nix
+++ b/pkgs/applications/misc/xdgmenumaker/default.nix
@@ -1,33 +1,43 @@
-{ stdenv, fetchFromGitHub, txt2tags, python2Packages }:
+{ stdenv, fetchFromGitHub, txt2tags, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
+python3Packages.buildPythonApplication rec {
   pname = "xdgmenumaker";
   version = "1.5";
 
   src = fetchFromGitHub {
     owner = "gapan";
-    repo = "xdgmenumaker";
+    repo = pname;
     rev = version;
     sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif";
   };
 
+  format = "other";
+
+  strictDeps = false;
+
   nativeBuildInputs = [
+    gobject-introspection
     txt2tags
-    python2Packages.wrapPython
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+  ];
+
+  pythonPath = with python3Packages; [
+    pyxdg
+    pygobject3
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
   ];
 
-  pythonPath = [
-    python2Packages.pyxdg
-    python2Packages.pygtk
+  installFlags = [
+    "DESTDIR="
   ];
 
-  installPhase = ''
-    make install PREFIX=$out DESTDIR=
-    wrapProgram "$out/bin/xdgmenumaker" \
-      --prefix XDG_DATA_DIRS : "$out/share"
-    wrapPythonPrograms
-  '';
-  
   meta = with stdenv.lib; {
     description = "Command line tool that generates XDG menus for several window managers";
     homepage = https://github.com/gapan/xdgmenumaker;
diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix
index 4d7b54536e4..b6f05ea3094 100644
--- a/pkgs/applications/misc/xmr-stak/default.nix
+++ b/pkgs/applications/misc/xmr-stak/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv'.mkDerivation rec {
   name = "xmr-stak-${version}";
-  version = "2.10.7";
+  version = "2.10.8";
 
   src = fetchFromGitHub {
     owner = "fireice-uk";
     repo = "xmr-stak";
     rev = version;
-    sha256 = "1p8hx8gwnv7a49pffq1xmzmrfi3gs6dyra9dn2xi7cl75yn9kfhm";
+    sha256 = "0ilx5mhh91ks7dwvykfyynh53l6vkkignjpwkkss8ss6b2k8gdbj";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 8bd45e2f613..b1bf98704c5 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "3.2.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1qb20v3wvd6scx0dnlcqvj947ng4h0lxlvl9kpz0a2a3l5425rjf";
+    sha256 = "1rwnlhzhasfa2iklrp897c0z7nvav2bz2z6nk41fvwwd3bsay2sf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
index 09eed4aa491..fc3070d1dcb 100644
--- a/pkgs/applications/misc/xmrig/proxy.nix
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "3.2.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "0scz78cc5zcdd6z4gm0zqsb36jf0z8fyn2ki52814ndxrk7nr4xg";
+    sha256 = "0lp11p4lf03l9x2kcpq1j19z7c1zrdvjmcfh2xyvlbw8pqx0hxkv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index d524482dee7..f5ec9b71503 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -1,20 +1,22 @@
-{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
-, stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null
-, cmake, qtbase ? null, qtsvg ? null, wrapQtAppsHook
+{ enableGUI ? true
+, enablePDFtoPPM ? true
+, enablePrinting ? true
+, stdenv, fetchzip, cmake, makeDesktopItem
+, zlib, libpng, cups ? null, freetype ? null
+, qtbase ? null, qtsvg ? null, wrapQtAppsHook
 }:
 
 assert enableGUI -> qtbase != null && qtsvg != null && freetype != null;
 assert enablePDFtoPPM -> freetype != null;
-assert useT1Lib -> t1lib != null;
+assert enablePrinting -> cups != null;
 
-assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities
+stdenv.mkDerivation rec {
+  pname = "xpdf";
+  version = "4.02";
 
-stdenv.mkDerivation {
-  name = "xpdf-4.00";
-
-   src = fetchurl {
-    url = http://www.xpdfreader.com/dl/xpdf-4.00.tar.gz;
-    sha256 = "1mhn89738vjva14xr5gblc2zrdgzmpqbbjdflqdmpqv647294ggz";
+  src = fetchzip {
+    url = "https://xpdfreader-dl.s3.amazonaws.com/${pname}-${version}.tar.gz";
+    sha256 = "0dzwq6fnk013wa4l5mjpvm4mms2mh5hbrxv4rhk2ab5ljbzz7b2w";
   };
 
   # Fix "No known features for CXX compiler", see
@@ -26,20 +28,33 @@ stdenv.mkDerivation {
     [ cmake ]
     ++ stdenv.lib.optional enableGUI wrapQtAppsHook;
 
-  cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"];
+  cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON" "-DOPI_SUPPORT=ON"]
+    ++ stdenv.lib.optional (!enablePrinting) "-DXPDFWIDGET_PRINTING=OFF";
 
   buildInputs = [ zlib libpng ] ++
     stdenv.lib.optional enableGUI qtbase ++
-    stdenv.lib.optional useT1Lib t1lib ++
+    stdenv.lib.optional enablePrinting cups ++
     stdenv.lib.optional enablePDFtoPPM freetype;
 
-  # Debian uses '-fpermissive' to bypass some errors on char* constantness.
-  CXXFLAGS = "-O2 -fpermissive";
-
   hardeningDisable = [ "format" ];
 
+  desktopItem = makeDesktopItem {
+    name = "xpdf";
+    desktopName = "Xpdf";
+    comment = "Views Adobe PDF files";
+    icon = "xpdf";
+    exec = "xpdf %f";
+    categories = "Office;";
+    terminal = "false";
+  };
+
+  postInstall = ''
+    install -Dm644 ${desktopItem}/share/applications/xpdf.desktop $out/share/applications/xpdf.desktop
+    install -Dm644 $src/xpdf-qt/xpdf-icon.svg $out/share/pixmaps/xpdf.svg
+  '';
+
   meta = with stdenv.lib; {
-    homepage = https://www.xpdfreader.com;
+    homepage = "https://www.xpdfreader.com";
     description = "Viewer for Portable Document Format (PDF) files";
     longDescription = ''
       XPDF includes multiple tools for viewing and processing PDF files.
@@ -56,5 +71,13 @@ stdenv.mkDerivation {
     '';
     license = with licenses; [ gpl2 gpl3 ];
     platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+    knownVulnerabilities = [
+      "CVE-2018-7453: loop in PDF objects"
+      "CVE-2018-16369: loop in PDF objects"
+      "CVE-2019-9587: loop in PDF objects"
+      "CVE-2019-9588: loop in PDF objects"
+      "CVE-2019-16088: loop in PDF objects"
+    ];
   };
 }
diff --git a/pkgs/applications/misc/zola/cargo-lock.patch b/pkgs/applications/misc/zola/cargo-lock.patch
new file mode 100644
index 00000000000..b9d97e3c328
--- /dev/null
+++ b/pkgs/applications/misc/zola/cargo-lock.patch
@@ -0,0 +1,28 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index df5fef3..80f071a 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2158,12 +2158,12 @@ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+- "sass-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "sass-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ 
+ [[package]]
+ name = "sass-sys"
+-version = "0.4.13"
++version = "0.4.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -3410,7 +3410,7 @@ dependencies = [
+ "checksum safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
+ "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
+ "checksum sass-rs 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cabcf7c6e55053f359911187ac401409aad2dc14338cae972dec266fee486abd"
+-"checksum sass-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6e16ac97c2335bc367e2d675f54c1823558f1b19a6c67671d48b70e30ae22972"
++"checksum sass-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)" = "304b6f9501d1da13f17404aeee85486d7383d06074906669b3ea032f81e83d22"
+ "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
+ "checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
+ "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index b9231f8f093..178be491169 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -8,10 +8,11 @@ rustPlatform.buildRustPackage rec {
     owner = "getzola";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dbj2rkn4k5glnwdazsvjhah5pj9cbdb8hwlvm5q4njsmrgpyaw5";
+    sha256 = "13kbgxh7r6124d1fjdf0x599j1kpgixp1y9d299zb5vrd6rf5wy5";
   };
+  cargoPatches = [ ./cargo-lock.patch ];
 
-  cargoSha256 = "0i0xqbpbv3md42d2853cfzkhfwlkvxahhz5dldla5x96rm1i2hr8";
+  cargoSha256 = "03rwf5l1l3ap03qi0xqcxsbyvpg3cqmr50j8ql6c5v55xl0ki9w8";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/pkgs/applications/networking/3proxy/default.nix b/pkgs/applications/networking/3proxy/default.nix
new file mode 100644
index 00000000000..a1e54b50228
--- /dev/null
+++ b/pkgs/applications/networking/3proxy/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, coreutils }:
+
+stdenv.mkDerivation rec {
+  pname = "3proxy";
+  version = "0.8.13";
+  src = fetchFromGitHub {
+    owner = "z3APA3A";
+    repo = pname;
+    rev = version;
+    sha256 = "1k5rqldiyakhwhplazlhswkgy3psdkpxhn85605ncwaqx49qy8vk";
+  };
+  makeFlags = [
+    "INSTALL=${coreutils}/bin/install"
+    "prefix=$(out)"
+  ];
+  preConfigure = ''
+    ln -s Makefile.Linux Makefile
+  '';
+  meta = with stdenv.lib; {
+    description = "Tiny free proxy server";
+    homepage = "https://github.com/z3APA3A/3proxy";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.misuzu ];
+  };
+}
diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix
index ce5c7fb41f1..0c8136724ff 100644
--- a/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -14,22 +14,23 @@ let
     genericName = "Apache Directory Studio";
     categories = "Java;Network";
   };
-
+  version = "2.0.0-M14";
+  versionWithDate = "2.0.0.v20180908-M14";
 in
 stdenv.mkDerivation rec {
   pname = "apache-directory-studio";
-  version = "2.0.0.v20170904-M13";
+  inherit version;
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
-        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86_64.tar.gz";
-        sha256 = "1jfnm6m0ijk31r30hhrxxnizk742dm317iny041p29v897rma7aq";
+        url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86_64.tar.gz";
+        sha256 = "0kq4l3755q69p7bry9xpm5xxw56ksncp76fdqqd1xzbvsg309bps";
       }
     else if stdenv.hostPlatform.system == "i686-linux" then
       fetchurl {
-        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86.tar.gz";
-        sha256 = "1bxmgram42qyhrqkgp5k8770f5mjjdd4c6xl4gj09smiycm1qa4n";
+        url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86.tar.gz";
+        sha256 = "038dy8jjgq5gj5r56y9ps3ycqi9gn57i4q1r3mmjx1b1950wmh1q";
       }
     else throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index ae3659a21fe..ef0b8ec7619 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -82,11 +82,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "0.69.128";
+  version = "1.1.23";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "1w5p2hbn14k239fbqrbxkw9h3p8wm7cdyjcyvrsss57fj00j8s4r";
+    sha256 = "1kb40h5d76k6p338h75p8lxs0cb88jaasss0cmb7bfc7zykfqmd3";
   };
 
   dontConfigure = true;
@@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
       contribute to your favorite creators automatically.
     '';
     license = licenses.mpl20;
-    maintainers = [ maintainers.uskudnik ];
+    maintainers = with maintainers; [ uskudnik rht ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index ad7fa78527c..bbfce71a115 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -61,7 +61,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ bendlas ivan ];
+    maintainers = with maintainers; [ bendlas ivan thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 3f7782bb919..31e69916196 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -13,17 +13,16 @@
 , bison, gperf
 , glib, gtk3, dbus-glib
 , glibc
-, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL
+, libXScrnSaver, libXcursor, libXtst, libGLU, libGL
 , protobuf, speechd, libXdamage, cups
 , ffmpeg, libxslt, libxml2, at-spi2-core
-, jdk
+, jre
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
 , libva ? null # useVaapi
 
 # package customization
-, enableNaCl ? false
 , useVaapi ? false
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false, libgnome-keyring3 ? null
@@ -123,9 +122,9 @@ let
       utillinux alsaLib
       bison gperf kerberos
       glib gtk3 dbus-glib
-      libXScrnSaver libXcursor libXtst libGLU_combined
+      libXScrnSaver libXcursor libXtst libGLU libGL
       pciutils protobuf speechd libXdamage at-spi2-core
-      jdk.jre
+      jre
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
@@ -136,10 +135,8 @@ let
       ./patches/nix_plugin_paths_68.patch
       ./patches/remove-webp-include-69.patch
       ./patches/no-build-timestamps.patch
-    ] ++ optionals (channel == "stable") [
-      ./patches/widevine.patch
-    ] ++ optionals (channel == "beta" || channel == "dev") [
       ./patches/widevine-79.patch
+      ./patches/dont-use-ANGLE-by-default.patch
       # Unfortunately, chromium regularly breaks on major updates and
       # then needs various patches backported in order to be compiled with GCC.
       # Good sources for such patches and other hints:
@@ -150,13 +147,9 @@ let
       # ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
       # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
     ] ++ optionals (useVaapi) [
-      # source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi
-      ./patches/chromium-vaapi.patch
-    ] ++ optional stdenv.isAarch64 (fetchpatch {
-      url       = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch;
-      postFetch = "substituteInPlace $out --replace __aarch64__ SK_CPU_ARM64";
-      sha256    = "018fbdzyw9rvia8m0qkk5gv8q8gl7x34rrjbn7mi1fgxdsayn22s";
-    });
+      # source: https://aur.archlinux.org/cgit/aur.git/tree/vaapi-fix.patch?h=chromium-vaapi
+      ./patches/vaapi-fix.patch
+    ];
 
     postPatch = ''
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
@@ -234,7 +227,12 @@ let
       use_sysroot = false;
       use_gnome_keyring = gnomeKeyringSupport;
       use_gio = gnomeSupport;
-      enable_nacl = enableNaCl;
+      # 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;
 
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 8329bf3ef55..c3522e17379 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,4 @@
-{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_8
+{ newScope, config, stdenv, llvmPackages_9
 , makeWrapper, ed
 , glib, gtk3, gnome3, gsettings-desktop-schemas
 , libva ? null
@@ -7,7 +7,6 @@
 
 # package customization
 , channel ? "stable"
-, enableNaCl ? false
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false
 , proprietaryCodecs ? true
@@ -20,11 +19,8 @@
 }:
 
 let
-  stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_8.stdenv;
-  llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_8;
-in let
-  stdenv = stdenv_;
-  llvmPackages = llvmPackages_;
+  stdenv = llvmPackages_9.stdenv;
+  llvmPackages = llvmPackages_9;
 
   callPackage = newScope chromium;
 
@@ -34,9 +30,7 @@ in let
     upstream-info = (callPackage ./update.nix {}).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
-      inherit enableNaCl gnomeSupport gnome
-              gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport
-              useVaapi;
+      inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi;
     };
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine; };
@@ -47,8 +41,8 @@ in let
   };
 
   mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}";
-  widevine = let upstream-info = chromium.upstream-info; in stdenv.mkDerivation {
-    name = "chromium-binary-plugin-widevine";
+  widevineCdm = let upstream-info = chromium.upstream-info; in stdenv.mkDerivation {
+    name = "chrome-widevine-cdm";
 
     # The .deb file for Google Chrome
     src = upstream-info.binary;
@@ -58,21 +52,25 @@ in let
     phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
 
     unpackCmd = let
-      soPath =
+      widevineCdmPath =
         if upstream-info.channel == "stable" then
-          "./opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
+          "./opt/google/chrome/WidevineCdm"
         else if upstream-info.channel == "beta" then
-          "./opt/google/chrome-beta/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
+          "./opt/google/chrome-beta/WidevineCdm"
         else if upstream-info.channel == "dev" then
-          "./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
+          "./opt/google/chrome-unstable/WidevineCdm"
         else
           throw "Unknown chromium channel.";
     in ''
-      mkdir -p plugins
-      # Extract just libwidevinecdm.so from upstream's .deb file
-      ar p "$src" data.tar.xz | tar xJ -C plugins ${soPath}
-      mv plugins/${soPath} plugins/
-      rm -rf plugins/opt
+      # Extract just WidevineCdm from upstream's .deb file
+      ar p "$src" data.tar.xz | tar xJ "${widevineCdmPath}"
+
+      # Move things around so that we don't have to reference a particular
+      # chrome-* directory later.
+      mv "${widevineCdmPath}" ./
+
+      # unpackCmd wants a single output directory; let it take WidevineCdm/
+      rm -rf opt
     '';
 
     doCheck = true;
@@ -83,12 +81,12 @@ in let
     PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ];
 
     patchPhase = ''
-      patchelf --set-rpath "$PATCH_RPATH" libwidevinecdm.so
+      patchelf --set-rpath "$PATCH_RPATH" _platform_specific/linux_x64/libwidevinecdm.so
     '';
 
     installPhase = ''
-      install -vD libwidevinecdm.so \
-        "$out/lib/libwidevinecdm.so"
+      mkdir -p $out/WidevineCdm
+      cp -a * $out/WidevineCdm/
     '';
 
     meta = {
@@ -105,15 +103,14 @@ in let
 
   # We want users to be able to enableWideVine without rebuilding all of
   # chromium, so we have a separate derivation here that copies chromium
-  # and adds the unfree libwidevinecdm.so.
+  # and adds the unfree WidevineCdm.
   chromiumWV = let browser = chromium.browser; in if enableWideVine then
     runCommand (browser.name + "-wv") { version = browser.version; }
       ''
         mkdir -p $out
         cp -a ${browser}/* $out/
         chmod u+w $out/libexec/chromium
-        mkdir -p $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64
-        cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64/
+        cp -a ${widevineCdm}/WidevineCdm $out/libexec/chromium/
       ''
     else browser;
 in stdenv.mkDerivation {
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch
deleted file mode 100644
index 38d77e21551..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <akarshan.biswas@gmail.com>
-Date: Thu, 24 Jan 2019 12:45:29 +0530
-Subject: [PATCH] Enable mojo with VDA2 on Linux
-
----
- chrome/browser/about_flags.cc                |  8 ++++----
- chrome/browser/flag_descriptions.cc          |  9 +++++++--
- chrome/browser/flag_descriptions.h           | 10 ++++++++--
- gpu/config/software_rendering_list.json      |  3 ++-
- media/media_options.gni                      |  9 ++++++---
- media/mojo/services/gpu_mojo_media_client.cc |  4 ++--
- 6 files changed, 29 insertions(+), 14 deletions(-)
-
-diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index 0a84c6ac1..be2aa1d8b 100644
---- a/chrome/browser/about_flags.cc
-+++ b/chrome/browser/about_flags.cc
-@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
-         "disable-accelerated-video-decode",
-         flag_descriptions::kAcceleratedVideoDecodeName,
-         flag_descriptions::kAcceleratedVideoDecodeDescription,
--        kOsMac | kOsWin | kOsCrOS | kOsAndroid,
-+        kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
-         SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
-     },
- #if defined(OS_WIN)
-@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
-      FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif  // ENABLE_ISOLATED_XR_SERVICE
- #endif  // ENABLE_VR
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-     {"disable-accelerated-mjpeg-decode",
-      flag_descriptions::kAcceleratedMjpegDecodeName,
--     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
-+     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
-      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
--#endif  // OS_CHROMEOS
-+#endif  // OS_CHROMEOS // OS_LINUX
-     {"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
-      flag_descriptions::kV8CacheOptionsDescription, kOsAll,
-      MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 62637e092..86f89fc6e 100644
---- a/chrome/browser/flag_descriptions.cc
-+++ b/chrome/browser/flag_descriptions.cc
-@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
- 
- #endif
- 
--// Chrome OS -------------------------------------------------------------------
-+// Chrome OS Linux-------------------------------------------------------------------
- 
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
- 
- const char kAcceleratedMjpegDecodeName[] =
-     "Hardware-accelerated mjpeg decode for captured frame";
- const char kAcceleratedMjpegDecodeDescription[] =
-     "Enable hardware-accelerated mjpeg decode for captured frame where "
-     "available.";
-+#endif
-+
-+// Chrome OS --------------------------------------------------
-+
-+#if defined(OS_CHROMEOS)
- 
- const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
- const char kAllowTouchpadThreeFingerClickDescription[] =
-diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 5dac660bb..6cc4115da 100644
---- a/chrome/browser/flag_descriptions.h
-+++ b/chrome/browser/flag_descriptions.h
-@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
- 
- #endif  // defined(OS_MACOSX)
- 
--// Chrome OS ------------------------------------------------------------------
-+// Chrome OS and Linux ------------------------------------------------------------------
- 
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
- 
- extern const char kAcceleratedMjpegDecodeName[];
- extern const char kAcceleratedMjpegDecodeDescription[];
- 
-+#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
-+
-+// Chrome OS ------------------------------------------------------------------------
-+
-+#if defined(OS_CHROMEOS)
-+
- extern const char kAllowTouchpadThreeFingerClickName[];
- extern const char kAllowTouchpadThreeFingerClickDescription[];
- 
-diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index 65f37b3f1..ae8a1718f 100644
---- a/gpu/config/software_rendering_list.json
-+++ b/gpu/config/software_rendering_list.json
-@@ -371,11 +371,12 @@
-     },
-     {
-       "id": 48,
--      "description": "Accelerated video decode is unavailable on Linux",
-+      "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
-       "cr_bugs": [137247],
-       "os": {
-         "type": "linux"
-       },
-+      "vendor_id": "0x10de",
-       "features": [
-         "accelerated_video_decode"
-       ]
--- 
-2.20.1
-
diff --git a/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch b/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch
new file mode 100644
index 00000000000..9f14a304eb3
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/dont-use-ANGLE-by-default.patch
@@ -0,0 +1,26 @@
+A field trial currently enables the passthrough command decoder, which causes
+gl_factory.cc to try kGLImplementationEGLANGLE first, which causes Chromium to fail
+to load libGLESv2.so on NixOS.  It somehow does not try kGLImplementationDesktopGL,
+and so there is no GL support at all.
+
+Revert to using the validating command decoder, which prevents gl_factory.cc
+from touching allowed_impls, allowing it to successfully use kGLImplementationDesktopGL.
+
+diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc
+index 697cbed5fe2d..8419bdb21a2f 100644
+--- a/ui/gl/gl_utils.cc
++++ b/ui/gl/gl_utils.cc
+@@ -71,9 +71,10 @@ bool UsePassthroughCommandDecoder(const base::CommandLine* command_line) {
+   } else if (switch_value == kCmdDecoderValidatingName) {
+     return false;
+   } else {
+-    // Unrecognized or missing switch, use the default.
+-    return base::FeatureList::IsEnabled(
+-        features::kDefaultPassthroughCommandDecoder);
++    // Ignore the field trial that enables it; disable it until
++    // gl_factory.cc kGLImplementationEGLANGLE issues are sorted
++    // out on NixOS.
++    return false;
+   }
+ }
+ }
diff --git a/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch b/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch
new file mode 100644
index 00000000000..db9d6082756
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch
@@ -0,0 +1,54 @@
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+@@ -635,6 +635,7 @@
+   // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
+   // internal decoded frame.
+   if (buffer_allocation_mode_ != BufferAllocationMode::kNone &&
++      buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau &&
+       !vpp_vaapi_wrapper_) {
+     vpp_vaapi_wrapper_ = VaapiWrapper::Create(
+         VaapiWrapper::kVideoProcess, VAProfileNone,
+@@ -650,7 +651,8 @@
+     // only used as a copy destination. Therefore, the VaapiWrapper used and
+     // owned by |picture| is |vpp_vaapi_wrapper_|.
+     std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
+-        (buffer_allocation_mode_ == BufferAllocationMode::kNone)
++        ((buffer_allocation_mode_ == BufferAllocationMode::kNone) ||
++         (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau))
+             ? vaapi_wrapper_
+             : vpp_vaapi_wrapper_,
+         make_context_current_cb_, bind_image_cb_, buffers[i]);
+@@ -1077,6 +1079,14 @@
+
+ VaapiVideoDecodeAccelerator::BufferAllocationMode
+ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
++  // NVIDIA blobs use VDPAU
++  if (base::StartsWith(VaapiWrapper::GetVendorStringForTesting(),
++              "Splitted-Desktop Systems VDPAU",
++              base::CompareCase::SENSITIVE)) {
++    LOG(INFO) << "VA-API driver on VDPAU backend";
++    return BufferAllocationMode::kWrapVdpau;
++  }
++
+   // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
+   // |output_mode_| as well.
+   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
+@@ -1089,7 +1099,7 @@
+   // depends on the bitstream and sometimes it's not enough to cover the amount
+   // of frames needed by the client pipeline (see b/133733739).
+   // TODO(crbug.com/911754): Enable for VP9 Profile 2.
+-  if (IsGeminiLakeOrLater() &&
++  if (false && IsGeminiLakeOrLater() &&
+       (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) {
+     // Add one to the reference frames for the one being currently egressed, and
+     // an extra allocation for both |client_| and |decoder_|, see
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h
+@@ -204,6 +204,7 @@
+     // Using |client_|s provided PictureBuffers and as many internally
+     // allocated.
+     kNormal,
++    kWrapVdpau,
+   };
+
+   // Decides the concrete buffer allocation mode, depending on the hardware
diff --git a/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch
index 1a3ab33e36f..32f0ae2fb5e 100644
--- a/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch
@@ -1,11 +1,13 @@
-diff --git a/third_party/widevine/cdm/widevine_cdm_version.h b/third_party/widevine/cdm/widevine_cdm_version.h
-index dd6efed02646..4d8b2b7d85f7 100644
---- a/third_party/widevine/cdm/widevine_cdm_version.h
-+++ b/third_party/widevine/cdm/widevine_cdm_version.h
-@@ -11,5 +11,6 @@
- // If the Widevine CDM is available define the following:
- //  - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
- //    as a string, e.g., "1.0.123.456").
-+#define WIDEVINE_CDM_VERSION_STRING "undefined"
+diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn
+index ed0e2f5208b..5b431a030d5 100644
+--- a/third_party/widevine/cdm/BUILD.gn
++++ b/third_party/widevine/cdm/BUILD.gn
+@@ -14,7 +14,7 @@ buildflag_header("buildflags") {
  
- #endif  // WIDEVINE_CDM_VERSION_H_
+   flags = [
+     "ENABLE_WIDEVINE=$enable_widevine",
+-    "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
++    "BUNDLE_WIDEVINE_CDM=true",
+     "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
+   ]
+ }
diff --git a/pkgs/applications/networking/browsers/chromium/patches/widevine.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
deleted file mode 100644
index 2de6024141d..00000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Description: enable widevine and set its version string to "undefined"
-Author: Michael Gilbert <mgilbert@debian.org>
-Author: Olivier Tilloy <olivier.tilloy@canonical.com>
-
---- a/third_party/widevine/cdm/widevine_cdm_version.h
-+++ b/third_party/widevine/cdm/widevine_cdm_version.h
-@@ -11,5 +11,6 @@
- // If the Widevine CDM is available define the following:
- //  - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
- //    as a string, e.g., "1.0.123.456").
-+#define WIDEVINE_CDM_VERSION_STRING "undefined"
- 
- #endif  // WIDEVINE_CDM_VERSION_H_
---- a/chrome/common/chrome_content_client.cc
-+++ b/chrome/common/chrome_content_client.cc
-@@ -99,7 +99,7 @@
- // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
- // bundled and not a component. When the Widevine CDM is a component, it is
- // registered in widevine_cdm_component_installer.cc.
--#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
-+#if !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
- #define REGISTER_BUNDLED_WIDEVINE_CDM
- #include "third_party/widevine/cdm/widevine_cdm_common.h"  // nogncheck
- // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 05711856743..ef0b5ac0eb6 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -45,11 +45,11 @@ let
 
   flash = stdenv.mkDerivation rec {
     pname = "flashplayer-ppapi";
-    version = "32.0.0.270";
+    version = "32.0.0.303";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "1z8nfw7b3dsy79gb50bmmdjz66j5gx6m0hkw1abp35xdgh2sz2ak";
+      sha256 = "0b2cw8y9rif2p0lyy2ir1v5lchxlsh543b9c743a2p85c9p7q62b";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 885fa8dbd20..6a4e46e74bd 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "0pw0z35v04jzcnshsfwbc8cz95cl0dq6405rlmh2a3xz2gxaacqi";
-    sha256bin64 = "1xyvaksik5a1jkkv7zqyys33n8x0n7q8xzf5mpgj71iany57z2sv";
-    version = "79.0.3945.16";
+    sha256 = "1j9zfbyil16yhf6hzrd0ssy9k49jx468dbmgzhc20l1548fif62g";
+    sha256bin64 = "1jfsswjqzdif6824p9a6raw5j9309y61c80kgfq23247vr514ky9";
+    version = "79.0.3945.88";
   };
   dev = {
-    sha256 = "169iwzqc5zvbmm7cq1q185w2j2y2r716pbgpadps7ng2i47z6rqs";
-    sha256bin64 = "0ravjdmmbwlf3ydgmk7hdd5d92zxh67nv49igr5km6mr4fi1xsw2";
-    version = "80.0.3955.4";
+    sha256 = "1fbs6llrhm9jkzmk3v3a84d9is6g96kysy91hvpb0bw8f7anl969";
+    sha256bin64 = "04fscphs4w6jb1kdc25jc568r3k4x3nmg0apggjfnbdwzb5zkmf2";
+    version = "80.0.3987.16";
   };
   stable = {
-    sha256 = "0mpb7798hzpysidp10k4x54b56c3fm7wqfj4s3kl7z47835gzxld";
-    sha256bin64 = "1y75687w0rls03yps63hi4m0qfdm0qzgq1jhp1jicyyhjkp0xw5q";
-    version = "78.0.3904.87";
+    sha256 = "1j9zfbyil16yhf6hzrd0ssy9k49jx468dbmgzhc20l1548fif62g";
+    sha256bin64 = "1k44fnn41n73j1lff4h8s8f79pw8w180n467lwff4g9izh6c2blz";
+    version = "79.0.3945.88";
   };
 }
diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix
index f3fc9ab6ecb..ce0617b8d3f 100644
--- a/pkgs/applications/networking/browsers/ephemeral/default.nix
+++ b/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ephemeral";
-  version = "6.0.0";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = "ephemeral";
     rev = version;
-    sha256 = "0g9rrx41grmgf4nn2pp17yhjxxayk826gs6nmkfdnimd4gmlf3nk";
+    sha256 = "1i77chbjjg8zda5bnn1wj4h00a88awfls5b3i3dqwgsi356hv4wb";
   };
 
   nativeBuildInputs = [
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The always-incognito web browser";
     homepage = https://github.com/cassidyjames/ephemeral;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index d70490f8218..cdd6415fc41 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "71.0b6";
+  version = "72.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ach/firefox-72.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "0f2aab504455ab3e18b220d3a284d955b0342ef864990d8b100e98fde00cbb9d660ecd9af1a9601d4b93bfd425599a5e111a2566d057932e9b40627b34318857";
+      sha512 = "10778f9e5d8514bcfa645b677fc5fd67af9adfbb425eaccc28698a02e628e96e47a14c7d90d5e30ab7a4a8a2787ff6d9c28dea4a53760843421d56f7cf8374df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/af/firefox-72.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "64ed124236183b2fbf9c31b5130de0caae8d314afbc09fdeab2b3a23217b2af4aaa6c8fdd46aab27402d4079639080af1e8ee68ad3b074f20748e213e6a9f92b";
+      sha512 = "c902ab0e753d6580c523140c723725862794234cfee94a4a2839e450435cbbfe60a761726e5034e5899dd2157e24a6ca0a9f64325447a94ab3a8247ad26e2af1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/an/firefox-72.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "ab46ba25db59894be85e8a78074a811d12cc9e233554f79b028bc0ad6cadc452a8b37fbd59c9a15b81b1a0a499050e37b5f75a154c056324f1207c2c1ac1d75a";
+      sha512 = "cea9124311c558030c669bde0c11712436b8ad3dd3e2bcaed28c8e5148e694e286882b0f1fdaa85570e84fba06d95732f5409d968bb183bedf5e5624926d70c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ar/firefox-72.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "298682210b8127ab77f509a79b3bc61c3206a1a405a5da44f9697fe7361deb3f936449f32494f3a8e15420b56775cfbd773a77185aa5f07f593aa371d61c74f4";
+      sha512 = "ccf0bb4ed01cb80914a1e208304ff2f5a23cec2dc7a7a5dfac52c1931e2b8b2641adc6afb1b549ff3d72440a480dd9effefe016f211952fd7d25df75e2821f72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ast/firefox-72.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "30221379730f41d32e0738689cf8ebdd8615275c6905a984f186f4a7823f7a84a707ab5ed8ce9448f091750a78373d10df4999a94ca32020e44b0ab81442df29";
+      sha512 = "d2af3df2105238258d1307483dd68056862c269543c434d211143d46225961f2fc8231861a49c03e048c0dd474c8c947a334fdf277baa3fbef5e145f4aff021e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/az/firefox-72.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "f948c6bf563012639a6ecaafa8730d0430ec569c193bae617436cbbafd61de197b87116a1ee3e16035048d15bc794b499e9e4f8dbd8522166f20fe8be038d965";
+      sha512 = "46ca85de7d5adc17c7b32a64f8aa7bea926d4bb1c722e2ec3a92d4763225e90ebd0a7a3def868804d7722c71a5b348517750d11f33e7b40031f4c8223481ffb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/be/firefox-72.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "9c7db4af9b692896faf7e9ba3c5b1e8360a5ab2e60b6850a901288b4554bfb0e45c738f167a0d96a3af2db4fb150a557eb1e81b375087f4086e4ee5438b219d8";
+      sha512 = "78a453467e7d97099ade27f2dafe25afa45e2b00b0532aaf60696b4a8867e4d8039e1383f66dd94e8d9986bccf9b17db2ba48d83979ef9268720755ed26839c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/bg/firefox-72.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "ea01ee47f6febd71a1f77b883bb48c093fbc19e20f277dbe676a351cd35e334ecc81b8ee9510650c38048e11a68365e2815fd0545ffd4d833afec2e3c3e31f73";
+      sha512 = "140997deaa24f6150ecabf82c2fda974dc294bb145781b98f448749b1d80a5caf29d7336b64ddf3bacda6d1036712dd89248e1c7781255d26876831a319d8c99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/bn/firefox-72.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "d4143ef97c5f9f20605dcf8b646b0acdde7b9475cf2696be7f3dd6ae5830511319a083f5dc6488a7d83764be7f39f6134fc67d28ac3e334f2a87235958ce3070";
+      sha512 = "469e4e1bc1b72b7ce8735c0940c778eb008905a0f5fdc2dc3a04a905ee7b151fb3cb34784eac2d88ce820565f795d9e44a82a95b9637c91255cf9178e1677ccc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/br/firefox-72.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "04a0d955fc4e74bee803f274e89dea46500bc0c89b3cbbc03b892d30b93c648ee2909a37078b38a4d106338e045cf5698bdfcc6125baacb8d839cda7f178c715";
+      sha512 = "bb57d3bfcebab646d10855dd1883806c6b477b0e3e4b84c370752be83accf121a55c90f1d7a1d4a2fa4f54f7d90f65d3362357963fa7b017971286134c69d13b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/bs/firefox-72.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "f06e2d49206fa5569d3584b71f321c1ca9270cedc5bfb1c4ee8969f00cdd094bfcff400c1dbf67c9d4b45173f7aeabe9a44a393f8c49d30feacd4e4a0e24a47a";
+      sha512 = "5833a204b389a80518cb8c389f03ba2cc3be1d553c2deaeb4ec9eeb94f1cd45cbd96f8aaff0b2ae639b0993ff29f21b9a1d03f28e96a476c8867f670a05eb7c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ca-valencia/firefox-72.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha512 = "13aec7c68757c07e9b1016121ac474d894d580cdd88a05ec6e4a2f34018b483a37aca8bff8b46e7f00439059cb9cc44a9032363c8a157bdc3f06fee3be021309";
+      sha512 = "1c43377660b7be3de41f2c2c804d5cc638cf044979343f77b74f6e42190017d2c6eecd252a369dcc619b0e9bd97729261cb9cafc6964b3c7f0d2424f601aa44d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ca/firefox-72.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e548c5a7b741c8affd6852a538f0842f3774048f9765c7f25177ebd71c8c7d41530e4236ef11fa03f4d2ae1d8704c19b29c95c7744715ff374dda20a7923f716";
+      sha512 = "169f024df0834bae9a8d5d2cc31a3af0bea865308b5642b3ed51ae4e65ef3f81dc6d1e00669dc1f0ef9e68cb22cdc6d1460567094bc66446f66804195d01afbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/cak/firefox-72.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "9e284c5bce5f2b232c4acb84e34d01418edb66cfc0290d5b48e67a412451f5520f845c9a0e70089cd89828ae9cdbf4fcb791fe5de17439372144e1b3133db149";
+      sha512 = "2689c6b338ff45d7c94e1530b3bc53cdbf4f3fe11424c770e03bf754ccb0699e75d0047b18be531f529c63da76a8170af85d76fcbb35a47f341efd8d485560dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/cs/firefox-72.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "b4e23db7f7dfceec6fdb0a48d74a376e165ef3efd38f03990d19ab9cab67d51a2a0f3a0b3d18b57f9cc0f26d84454ee6b573c7f5444c2e4e20e9b18ca44dd480";
+      sha512 = "2bb94f4f324aa394e7aa4f98b3d22417b68449e2b15f12e3b6df576272506472984ed97bfd5949f1a1e7e2913e1afa57191361ea02b46c723e9590e916c9c81a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/cy/firefox-72.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "506cbc0261c90b0b20382dd7f204e826e666915b6624c1490089ebb8e613fcdef368eac4b7de5b2167d406130c3435b0f0367d23667816a562ab0576a2be9458";
+      sha512 = "18778da2d0069c846c20323f8e8e786e13a8c08ea4152aa195b416f449b906bb73001ec0a9e6ce841b7b555b5c87643160827ff3a46f46a354fada07dcc9e0b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/da/firefox-72.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "60e25765159560242af62d60a8c8a4f6f607a3f153277b013e70bd5f0abc9132801c122f5ef374e3de8710eaa49f059658fd325a66b076417b5ab34e9d156c2a";
+      sha512 = "33d190f5126ecbe033db03609dd38c9edf9020aefb3aedb9410434e3d0f630da7cf31769735e05622640720db1d251f83b744a061d3b08561147397b76ef13f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/de/firefox-72.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "a99c8a9604e2a83e6bd085ce5a30f6fac79482ffb6360e23b1678c1531ca14f05394a91401ba57dc37a5006553944a8c96821c9cc58a4a3fd5aff685c51bdc4d";
+      sha512 = "2ccc6b0be2e17491b78df4a7bb4e46f1d96f4e2ac89a429f44b8e37db3d364477f998ec9032a15c8d9df8060e8b15133111bf163cfc781f015dbaf17827125eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/dsb/firefox-72.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5dcfa216878aa733afe9fdb0d11c873c753a93cfe3aedbb3b4e5ff62f6578f86c6ac4e3a408012a00dcfad31d7de9dded903c6d5d0d351b108f718cb7c226310";
+      sha512 = "f040c247f36018c4aa4731b9f6ca0a1e3a21111d2ea99b8026270392a9f125f9e0ba060c5cd02cf60e6ded63f56d0a257eca001966b8ed96cb695b4a68e10c4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/el/firefox-72.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ac596fdd1bd4ca09bb127f5d964318e0496e4d9c2f060c982a62c8cdf71af5e35f7d96c37ad0543550af4b4741a08b7de10b2206d1ac90f8ff27ed733a346d86";
+      sha512 = "d7a2385b2ee59a7d39cd73f27b945b486f3df393e9807c74b3fa86130b25a8d4144861024c071b16ad9a1ae14f49eb66ce0c8e85ab56237e4461513adbc25106";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/en-CA/firefox-72.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "8dd71d997a6676f6ef28d09a90f67b7858bc313beea4312124a498208b9b8e36ce7306901abe5bad4dcdaa5b1cd23010aa65eb8bb41f5f4ae2e400608dce2cfc";
+      sha512 = "8d276a97e68a437116755126f4ddd8168b825c9754422ee1fae03a1bccb447506f45693cb4df70d08a765a45c648255f63df363d7109befaf2dcc5808fb8d872";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/en-GB/firefox-72.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "a442336f7a2dd1865052f06664b7b52ebac33be84c1cfc55b9b6ad3d2e9fd548a5cad65b9733f57ff432a7d0d8a4e034610a2f4ccbde836290d9a2ecc9ca8548";
+      sha512 = "eea97bfeb278b3c2c19bf48009971dd50631215c36ff00fae4d533c70e6a3056085562d8a399ec6c85b676bb320111ce2a3621e1dee022408ae9d40d5df5c085";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/en-US/firefox-72.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "fcf3bdffb8f2742101b8dc215e489ea54778d7e2f05aeec7229bebb532fa972aa56257264a0fdd3d37ec19d427d782f3d0cd45534f977d1b0b6e19399d004f75";
+      sha512 = "7ea54472c3be609e7fc1dd4702db2d1a961f1d18acfc60a63b54d53ea77c87447492f05509a72cff48475f96af673dc1822b99f4fcf87b1b56a9f3537d1810d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/eo/firefox-72.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "228dcd7d4bfde4d99172f895502033271765898fb7221d359c55277de9b04d070e362a64c6327e774bf6ec7a23983765c21c77a1d210d4f238d0846d2f6ebc6b";
+      sha512 = "227fbd8fc7ea8a703ccac5c324e42258b96c5125faac201d5dbf70579215720e06a9726b197df3ccf85ace84e5df5bbf80ea09a0eaa1ed0b5c4f275d6f3d1939";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/es-AR/firefox-72.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "bfc15c3bf2a8e8d980410d81ea94b99c92037779ed87fc4bc6a8035970067e98d181ec35d88e576dc08b86485a90a7fdca450a55deebfbeaf651247ea1dfafbd";
+      sha512 = "917bd89db5eb3d50a86c8b37589fb73c5bfca676af857cf0528dae236e4bb2f0d25ab0a1620eae832f8c3f55af57f4a983362828244c3cd5ebaee5b8c03c5f75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/es-CL/firefox-72.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "9638f8cb3fa6fd71dabdc88974e0498d7bedb09448e2544356d990ef641aceb3668214c0d54e7baf65ac196501697ddff216901d00d946962a43f0a09f3c8126";
+      sha512 = "b7d586c9c770a346324e26a2e2f9ace455827bd2e8c1bed4e12411ef419b8d5434e6acf99f15876d95343203242bc96b77fffc3f18f789c42e37a6c22ede3a46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/es-ES/firefox-72.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "1b17dce1c7b1d3965a71a7972777af91f8a88e2f5371db888e00d658390bd3aee7de034d0433f90bf93796425a80fba51a5a5e1d235095f9c43775895311952d";
+      sha512 = "d94e2b0442158d6f4ca4de81230f0b29b64714561fe6172cb14c35d5b742802c6ea5d84cd7a4e1cea14848892e451125bfff8c1feca663e1b57e503c96f7e928";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/es-MX/firefox-72.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "4c4491775007dd5d2ef89d4245c8f84e79d4e27251a96b5f538c2e0c540b5097683a6072d94a85620e1f5b13143e1bf1062ce5f691000de3f9c168e44cd3b03a";
+      sha512 = "545901f49f6bd877780624be3ffa2c8a0b54e785d6e1b4509eb7b11f88bddabac84a14dbd0d463a74f7b487e8fb36077662d577cebfe56719b1715e7488f2598";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/et/firefox-72.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "24734e0ab55249a95117c39ea26f7bd173d8d90ff5e69833d6f3c335ef1ee895fa474458b2f6d1d545cca26c295cbacdf74098806a62e6742d03ece28a9fd426";
+      sha512 = "d36bc766733be0da86cfc65fad481a41bcb983ce665117113d8d34f536af96cc342d84db502ce4d262050b57d39b60e2e3b96f2681ba15df625b79e0dc6e21e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/eu/firefox-72.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "ddeb8b1dcbe414905fba9175ad4c09b981a9f2277d335d851320beace94d55ce2d1e10ae96972c6da28d8008db377fa4470f4fb8f7a1ead8a4c26bd01d2bd0e9";
+      sha512 = "57cb10ba3b24d617865f2aa500024889d93ef7c0ab79559cbaa15544424d0bf32fd7ac435b1953ee75ca241cf2164ecec56eddc874f57b103b2f1f9402509784";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/fa/firefox-72.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "cc6daff1ce0cedde5a9a2c3189039fe59ba01ee20449610a340816dd316d104bc64f6496389aba5f4e843fb70fe9d9b18edc0dee59357d64e916969a3c38853e";
+      sha512 = "4aa25840114b704c92e8a1b190b8c809b5ef66ae0288d495835a2766a9c7fe91e3da28b272e55bf1f51fecfbb044333bfdc8290dff9ff6f0654195d31cfa846a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ff/firefox-72.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "ca11dd6f3862c42b1bb76050d347d97f27e6f415c9c5bf9565281c4bd11411b940f1f8ff69940e1201e008ba7ae5de653a64570b4f7175c2264bceeb696bb2e3";
+      sha512 = "5a0c4d1fc711d449b6188f021691f1b4c4c73c9d48d957176d1d6ff70e818a9cea194394ef4feee4e50823eeafca94366967bf9f11b2c128ab3987035db500d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/fi/firefox-72.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "49110d54b09331a0d91b1e2fe2aa67a80e46b93bec3e449e55ce4b600334ce506344022ca7523b498b444e8bef25b358d18709ce83e6465254c0e27bcd9e8cd6";
+      sha512 = "e09fd700313ba64481eb460d6693b38904cf1a8fe9b9069015ed052ff38720b24a9ee99048e35063a3b632a81da190958eb6f2ef4dbbd100d1fc3ca1fe940296";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/fr/firefox-72.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "14a3ff081668a5003e4d129256975e0c8eebab78ff96a7d63f6eeca45c9331ba1250df09a8d529cdbc199133a8ff61ed170f91f0f366f12e7f8f0486a563046d";
+      sha512 = "85c2ac0a335589ab1f188b1c04de7cf4659d7ea15587b04ee7c8d4e9633f73f8b43d7a9befb648ab565ef396917e1ae4e5482a1cd0d76bc183b065b219159a23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/fy-NL/firefox-72.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "4b78417383fe474407f55353f148429047635988c7407a7dafa9aa894e3df9bed9363181b3201a66caf11f20c10ecaf5cf9cf630181bc043ac5f8ba9525bedad";
+      sha512 = "5016901adc6a1f53f9060522fbb1382c4c688a94936f1054cfccad5c6b0b2024900c1193eb8da3dc75ba88236ed1f6c6bf792365e3e140eef86ad5603ca22be0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ga-IE/firefox-72.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "7bbd19ce0063746b66b5016b00cc3c0b62aad4424c26fcdf895c485217525e4d601c22d417c9faecfa8da6344f8edab28a3e0536b785f2215b8e5f67d4d860b0";
+      sha512 = "31ab37f8b09d09cdaaefa78f0d15e72d431c5a6b88b3dfbc40a0a9fe6468c6ef75a9bdd839eb54ed8e79aa022ed13adfa1db2d923d7c04f6ee1481defaee4a68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/gd/firefox-72.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "a3444d8d13038203760ba3e04f6aee6097b5140a1f0faa247dec6916221c1c7cd5f9bca091f84f8a778cf3433a74671c4a9e9a4c114738309873a3bf14b860a6";
+      sha512 = "312c48338a80d4ab7fe06fb124fc19ffd70735adaacfea55095d756af473f605593bdf230c544120293e1a34b147cf10fc8df26a61a3446b5d6529497eb5681f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/gl/firefox-72.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "9d0441b7391aa2a7adcd24946d36ce197b6aa107133f0e83120c8caacb02a5580e2e786a7c36bf03003698d473a39dd3e9d7d57553f601dbe1b45a23bcddf12d";
+      sha512 = "ece63c5b308ad4491bd379ff41808033e4daa472f96d52e5a629670eba33053a49b45bee4ec6d34fbfb4800079d4f62cbc3bb958bf63b7ae5039dc0ee7ea2b92";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/gn/firefox-72.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "41fcece059ff48ad3d23ad3826dcbff2fd356ab5567abdd757ff66739f09ad962a2026cc5b5217ecfa1d035356f77fe8563ff2f78be925b88ea903d8ccc63641";
+      sha512 = "92d41dd688156750418f04c03b5290fae253129fd850ef87e8dcdab2e663beb130b67902bccd9bd429f3aac1d34ef01e3cfa3bc830a3950f9d8639a23faa8e79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/gu-IN/firefox-72.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "d09dbcd2222245218902e2e7d921239a2e96481ba6312c3601e33c0a9f5c21c27a505ade880ff36560dc2634562a58dbfef574bc693941ecb9f6fef9461cb004";
+      sha512 = "e846b051288374077143e755d6d1e9d372305a6ed11fc775e9226302249370e597833f56cb31c56f85db54e23f8482e9b14f5f87d2f2958694a879e2d9b02b39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/he/firefox-72.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "9d7cf14280fa265f1f8a06cd21e174098347199b389b66613713af722f500461dd394b2b56bc635168c3266bbc9e98676bbeac45a647ad9c7c0187e49e41218d";
+      sha512 = "8937f443a1a1ccd4ce26d230b895b538b8f81f5462895218fd92a3ada3037cf7a84fa3759efb2c5ec136de0f535ea4a2c94749b41fb55c6a71b4a5d8b232620c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/hi-IN/firefox-72.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "295cc80fcdfcbc523d676147f403e828f1f09642a5fcea0d371504f6ed2892556a058f7097e923a7d5bb13b812efa858f39161efba557d8a5d38562beb091646";
+      sha512 = "50a68e2d85708d2241710fdd78d9fc76357aa7a5df267cff989cb8011a20588c2b7d07a0cf29f9b323e4a376fc5241e2851eb3292f63dfc42f0c77ae07109777";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/hr/firefox-72.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "e5dd6596a62da991d33589e7ed5f2834d10125e9ba3d05670cbab35f2a7addba065d36e881b3cf7aae3a31932a4e7e197cdcbae42e9ffbd352ca60513fe35931";
+      sha512 = "eb3a5c80a564f7d4d4a5bb5dafd21738e374c8305c6461fcd45fa905a990c17ff05ca59764f4a129986929f3c3143e4c8167a97a3294f6868fea9f500f7d679a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/hsb/firefox-72.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "a07459b299630d6db0b18b045547fa65533de02e6684e696ff4979575455ad8bfa42802ab93c4b3adb38046ca5856b7b2af470524cb54efbc7752fa42d9e77c1";
+      sha512 = "ac88de2b8766f665f6a21dcca48053abbc52c7f5e8b29b61c8c220c0aa7a1d5acb827ce0ad8fb15537200479c563165563e0dc54d1385b13ab0bb7a2fd2abb29";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/hu/firefox-72.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "01ddb0a1333ed2b9dc3ee1f0b2ec069c1d606abdb918798f64ba420774dab33356ef7c97d0c403bc5052b0834a852b02ac17d187f53c509e13f4d2de5bcc66ed";
+      sha512 = "7adbeebef6577755db12ffa392fdcc47f1e2e73f988071337b509f4972daf34c5ba7b5585e02f2fc1c024c6f5cf7f6ec8a8559e08e185fc2ffdceb8808ac7287";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/hy-AM/firefox-72.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "648240e7ca906619d2e396069c0b2be29e962d9e2f96e5f5cee0efce7c85f4b6f17fb3589d236a7ae347ffe465d7c7188d68e04454e566b4619ffdcbb21bbcef";
+      sha512 = "09f3224e70a5cb166ae29e4d1e847646d8d296fa303a64b0dfffbd3aca10e70ccdeb3ba1ac4ddf0e8250ed05b2b8a48723f84a2478da834908e7c7f8a228a921";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ia/firefox-72.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "313b8de952330bfea1a0643821a17331e92bc5ab6a575c77cb14484ef8734662bce804259cbfc0ef2191f0e96aa10d61b6374149563cb4114008e26d9efc3ced";
+      sha512 = "4bf144e6b24b0fda96505ae468bc69e3d7274397cb3d1d8154db0312fd3e0a1a75326f932739408dce363510e90090be5ea2139d4dc00d3280537224d4807d60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/id/firefox-72.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "39e8a946274245702bac80455cdc84a5416cc25dfdf32b67d9bf97a0f263cda6417799b80a1eb34cf98492929016dc176ad09e140cdb7f57d09daef97aacdc69";
+      sha512 = "7720000f5a642129fe14854ddced162160d4f8eaaa752790cdda7728c35f6d1b00302c88027c43d2ba8e4f5b4f12ea5f9317640b650615d4a9fade83678b27f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/is/firefox-72.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2956d0309b81a9c428ebba4698a7b5431e885e55bc71ba3394abfe50fd81e0b7b3c9049aab020a8d9a8caefc04cdebdd4793e56754ba41c88e55aa8d8a3e05f8";
+      sha512 = "fbf8d788585f1cd8c019fe360b9b063f6a7686bc3b1692088966e01c4abf0303c52a82f5b385606381051b6cff3d6449db41b80c02f99aadb32d65642fc48819";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/it/firefox-72.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "73486caba6b0fa67bd6754ef6d712c244429b8de262c73fe2bcf35afb2d6e1a3061a3ca97fed148397b49230ff1dea0263e1bc404be74f28c88b6e0c540a4163";
+      sha512 = "0fd05ed4de599148372f164a3a28b5af8aa43e2c164e231ec10a0d74ade3a02f5e1085f7627acd27563ab231426a72d2e7c5f323b7b9b94e72c9271ecbcb5d74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ja/firefox-72.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "446fbf643d4fac6f43ef0b7547df542ecd8fd5d319456875a1660ae40a949872c74bd97ae8e49e7c685a1938eb312693ec35c0e107e9bad942584dfba2f934e1";
+      sha512 = "8eaf09d8f89589078433b03e62c8bc24de30dc40dff5072e59f8cdaf3ac2d1bac8759185cdfe5de1c4db10bb521e80153472ade065be459e20887da37677f0e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ka/firefox-72.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "1666ac3fe60104b0c3a942f28f4496927fd83baa403c85cd712f11cac1e3a35f794a3fc098e642ea7a20720d3138f021f77935d365ce2ed7606e89284b374476";
+      sha512 = "5bb9b88ce3cf82dc7df0114cd6588f900e31ae5dd2595bfe4b85f4d732d6a1bb9f2bf7e0925ca1c5c9f827fe86642c496bcd5697a26c06f9eb4444907560a1cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/kab/firefox-72.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "9335419c9b7b93075e12dc1b4f96c260b7e045b7598f60dd9c6ccd3ff4c3fab808666a7b13ef8a7906f31afd5a720499aa6abbdd5c4259d23aa8b1317146c805";
+      sha512 = "a3b86e59bb9bc4771399f07cd11f354a246b83244be8c7ae2e9dd3980eba992f0eae8f1fd7ba27c44b308fb79fa940a96aded4e917198056f008a9d59cf6c0bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/kk/firefox-72.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "c5107685611e21b0d12357aabd3111a05cc635d69553510220f928485c3a78124aa86afc44c26147b282c158e94d448df14a4ce1e43763b78c5a9e3de6348942";
+      sha512 = "747e861143ebf9a2c3fca15077e128ee1a93c2a9d2debfec4424c3f587413e8be01cb1a8697c04651e06ea857ad435f116789139017c1954f92faee8eddc40ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/km/firefox-72.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "d26f924db4954eb1dd9c2cb2d333a954925c53ac4a48a0f82a5ec340a3bcc6934a00666e9398c407e5594e191d5789bee2ded4af57d5f76aa4d27a3f00b4ae89";
+      sha512 = "c763db70f2c74e8a51c16c881e766be1f54a3ebd34521305486d4a811fcfd026b7bebecfc36979f4143b040640ae0d2c4802fb2377ebfbdc25d034f39824e32d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/kn/firefox-72.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "d8ac76dad99060c2900d063b9e037b8b4bbee96066521f41353f77c82536bad8a637e38302b9b5cf1f643284792be730a2441bca2d604d05ffc77600a162d3d2";
+      sha512 = "09a8f41146ca0efd0beb68f1291be5b12d8b0436c82ee58ed88da8c3caf8a0193cbc674390a1bf596c7e70250bbbf8a7c081180ad91cc2da5993c3e0b9b9067e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ko/firefox-72.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "ee289f66819bcb680ef74c90de2e025617eb12ef69c4134c17768f0f0644d215f6220db5cdcf0190b63284782ca7125aa0cb2016c9dcb25e7db91a4200608059";
+      sha512 = "ef7c8a77c375835ea8243612f8543084c21d3437b02701c05c68917bc6efd34cdb00c3559f256508fd43f980d7d5c78376e5af8c59a1552d0ce417fbeecce082";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/lij/firefox-72.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "8fb5707baec621e20bddd33f7ef61669d3694f3687e797cae9851876ef1976413ff60f3c3409a9a3e1b63f9c6e1028e9cf1b5a82d97960f1c3d92fb81af1003d";
+      sha512 = "0b144239ec308c0aca679e939cd620adf90c89b2269e6a16bc34315f0e8b0f1ae7e6c698424d5e8f5ea19f0e8f26c4c189d69735fa3b3c69d08f27300fbcbd17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/lt/firefox-72.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "53db71d1798f963b53fd3695319276ce3ccf42b9b29b9678cf5eb149d6b79390d0a2712967486f05fe3c6d8cf25b123f5f8d6ccffa4f138f03dec611bbe2bdaa";
+      sha512 = "bf285af55d5af190696990c007285663bcfc0d58538bd11a79f9325cc5ca7c578863936314f8d5bcc551aeab414977d12bf1936aa07bff4152122b8b94b5f49b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/lv/firefox-72.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "7cece5926ddc73a817ca894167ceb264865e284dacf66c4cf98c89cec8287268af6088da9cd3451a358e26ed591d2b6ff146f567116f8ab8a80cdda36aa781c5";
+      sha512 = "50b380115bf11732a481c1b9fd029a7307ed62ce90c18f43b569575c736d362b3ea531937b7e4f2386e27e38edfc5b76cb9b9a2664fe75ae56b0f71eee892c8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/mk/firefox-72.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "492739c5c7b25696ba02f8f0c41127689de8b65cdcee43981dbb1d1243d6490ed7f034ca0e8d5e50763390e85bafb134c190fd86a6d2bf2a9c715ff1837e53f5";
+      sha512 = "3ef8d24d7fdf80a88884e6b6becd8e9673123d21b897c0087716d185bf5fa1d22076c97bc9b7d1a08b884cbfdf62011cab141d743fdbe554546eb9780f2b17a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/mr/firefox-72.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "cdc685a2435afbdf33324d7d93c5af9f1fa1b7a817c70f34607280084345d3e69c7eb1c0189db8c16c288e31ad0c982ea7271bce6b0a9a71f0596a9ababc32ae";
+      sha512 = "ad662cbb98826105f48e457df8b426fde80974bc8777b4ee155a6a27af765e21835c01bce2144c352d6e61c869f7a082edd5e828b5b9241ce12c295cb28be100";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ms/firefox-72.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "37379786db0f326add87e8796b5bd2b9a7365e2a740095a5ae0affd1f15bd08642aa44ae5aeac4e2b0198f4fa590b5fdc05ea2ccf51049908540c39fea059f1e";
+      sha512 = "ac62b3659a6c412f6e7d29818890cb0058f7660e8a4c41788dad3b6ce7c688fbf93afffb9fb637a2dfcb57a9dfd4143ce5eb2610b11d83add961f420cbcbb2aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/my/firefox-72.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "c6ef471af337726207344d7eea3d03f412facc0fb26ba45a9134fec7f7a8857dec1484a40625fee9eee1a840dc1ba50f6d959cf58b79f77713d996fdaa5fb616";
+      sha512 = "33387b6147f584597a18ca8f50ef5278546d057e5015dc69d6b4d90279a01cd7f9befefcb1fd4a6cb8b5807cf6c054d80dfe0d1b7f28eaa6337542d128d8fdc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/nb-NO/firefox-72.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "8cb1f23fa23ee164c172cac43bb7e26ec42bd20b811922fa09c0945d9727d5cc545edc1e47f040084165de4eb0fc217c5fa9b54eb915703add563df83cabf7fb";
+      sha512 = "405053e48ddd9a8573e20bd3e7b9f0cd36b3459e35159056d8325892f07b25732fb6c7bab5dbf4ded60a40492402c708c511272c58325adabdefb01d724a3de0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ne-NP/firefox-72.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "b620f2dc18fec008aa668255a3a5b2de987f9c1b3dd27ae93f9cd9f2c02287e105516568cfdb631a9f60dd08e03ccc89fc9d7f6c7d682fc7f8cf8644965b9419";
+      sha512 = "a08f962fc8a40404e4cc0ca752230aa006fb59eea753650002aa66ae287abf4778fdb5deb2ff165a4da38b3bcbb7151ef0c9b6b3506d9e6ffb1b8620b1469d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/nl/firefox-72.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "51298d8ef95f9d76cbf6d410a85d277ded0463db6b85a05007cb11fbd9490fa385d9700bdf0dd333ba61aafe3690bd31604b1dabdfeeb5d8351c678eafa7a558";
+      sha512 = "a485f80af7d0b041e8ae629e8992f0f1b5ea298125b3a8dd6dc391b0faa3e5de7dfef627400ab2a938e1e0d73d95b39a0a3c6ba5a416e3842bd35ab12ab0c9e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/nn-NO/firefox-72.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "61deac483f285167a9ed3f12548735b484bdf2e361ec7e9ed62abd44084bf2ecf037990b946255e1d086a746139f3d24f1ed428dba150161cd5fbf9db420ea9e";
+      sha512 = "594f85634e1b10b79144f4594ccd3af46aba3291eddced012a39d7dcec641d37b6c55eaee985aa7529313e188e7fd0457317f3d7724c2f667e867e0b29bee1fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/oc/firefox-72.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "8421017b5aec9c5998aeb255a47b8e34b189667a9b9a576f087613c4721ba7feeed5b053d7c4fe24c32ce17589b5fed8603695242e6acb25d5236414012a9563";
+      sha512 = "364928646f14d0197f85017f93d854d069f65f54fb3b79e59c819cb7bb2c259a220f4c9f1c8a17543ef5a3760ff94e2469921443a6d64bc9b1527fd2a931c271";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/pa-IN/firefox-72.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "3b8de8911a3249727bf1642214c5affe0555a6f91fa60a7b7709b3d9324403c9c5203557e6c4c0f8fdeb770fe73cc577f4a053064f09549049a9bcebeb4a359b";
+      sha512 = "5abddf19f937a8022f61de702a877af2a3d8bae417746cadfad9c55419dea53665104b66a17800ee5648bd9630b2e7ee159a1d1720feb5dc82b72b63138103cb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/pl/firefox-72.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "7c7b9ff6387e9252bfc8c9cf9540cdf05e2d041c0a172cbb95de67cc91bfb4991d554e3a1616be8e8bfdcf0243095e91f06aca50d01b8ccf2316becea23de54b";
+      sha512 = "732089cd288b0a589a6708df4cadb9506874eb9c1755d4138d0b05f7a83c977873438f5ccb897b8e337bfd86b8bbc5400a1fcbff2fde309d50c4970d972ba610";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/pt-BR/firefox-72.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "d6918ebbd92548be667c2fdc1bd53a21d5de473fdb73f82c81da89e95d2fc3d9cac5b8938f74d1b32a5e3163a5010b2cb03f19dd6d858130118c592a573ff461";
+      sha512 = "5c7de2ff62d03d39754679af7e7a291574ba6dd4444e6326281fd9d01b01505f6dd6f8dac207599a0f6adafb17c4e5c853084d312e3a5dbceaef8e8613ac6248";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/pt-PT/firefox-72.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "46fccd1f9f521b37ae4810535da84ec26f1de3a454f1e76d7652ed735fb91df043109597b3ec2d155ab5e47a2bc48ee1b2f54289514fd81503910f6a97eda8cb";
+      sha512 = "9fa37ff418595ab4a058c7b6f4c67b89bed7b3685619d7a27b379e19816245053acd266e91a3d0e1803c93cbe4570ab1c9b095db848e2b69f5f58b1990e06ef8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/rm/firefox-72.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "7c8e478956cbd25f249f8ae61bf1749d0b6f40a18d35d7a2e0427cb9f7575f32ea2ba69e8b1240eed0ee382914aea93b15184fd7d0a3aa0af2530e0b3da948cf";
+      sha512 = "c071f91eae6c6824ff9ac4441ba429cc78c165846936b2f7c91cc0f78ceab4f3eda083ffa4cce7f68b4b77dcfc5c00f535f02e911b50a7ebf6066acadadac4d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ro/firefox-72.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "b42acf347fc1606ed4fe53b054b6c662aa909a734d6b9ccbd7f6d0fe42588504ae2a36e292db6229638b71228032189735ec318e745d187ffa5ab7087458749b";
+      sha512 = "dc093fd6eccddbe2e7ba25f22a74a9edcd03f1b080c5effaf1ca11058a66e7d171a6f7f3caed1d52847323f1055751e1ad290eb0192d6b8e9ea719cc27d9a816";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ru/firefox-72.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "f3f9a1501ba4a3ed69c0bec569d5fd585bca4bbc34d5d7b92a9b6c7c299e05201b4fd5b45c9a3d8c09d16d6804ab2a76c22a973e2b730ff33c03e325dd4ee4b3";
+      sha512 = "fadcf3ae2c5bc81f524d2be1ff060e1286d697cd4b4a8a8af9a8d7b0d221175de0d93cc1850e2dd678aab6c865266ef6edd0915ca188920b51771be4ef7ffd03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/si/firefox-72.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "99afc39d22bf30818da8156648face1eecaa8413f923fe4fb14623226c50afb437e39d908caf43e7a7c78b4ab4c66860a03832f33b012a5c1fa6c26e936e99e6";
+      sha512 = "f080a3aeceb726cd62cf57bcb96a95f32d0cfcfc639bec7b8628c7cdf5fe42d327cac474de4ded04f3f4c27fda8513d5588ca2e9354887104459f30128ba20bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/sk/firefox-72.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "3c574962db7e38169b01179bc67af5d57296918adf009512ab494b6672ce95bda10dc9a6ff88f5ab17d414335bdd97fca5b75bcf0f4408a26a9eba83c052f3c6";
+      sha512 = "d0e40f3aaf8ba495159d314773115861095e07f8ecf8d30a03ca4b05f87586ac4bf96cd20012a5325cd4b76bf1b6bafaee1c925327bc244f3cf0d7e266486cea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/sl/firefox-72.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "c266949cec012d11e13659e60edf9af6fd24434b0bc71bc7c1b50fb3e18de984ca34d074113949d95e7ce1dd759c7b081e8a336c73e7a84b146eec747413b222";
+      sha512 = "3bfa3965c337ca889f1f04930c9b8dce372a34f7c332397b4f074a2ef7ebf6120baa54e94973d8fc6a5eb8041c0bc170681d9bb882edf91b081460bb33314751";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/son/firefox-72.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "7b9f060acf3b4aae96a79d7fc712803cbc51a6b38e5624371523f9e45169f838f26f1848f8c39f644cbb7409e76c835bafe02152e981034202c50222fa1fa87a";
+      sha512 = "1e51babc67e116a8f0d324a929fd6ee821d5852519a4870870035f1110a7434c6e0ea900f23cfb489142eaa8e914be0e5235784028e3c539b902ec0f16bb8c43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/sq/firefox-72.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3e555168da6e7ce386c7a577bd773879d0cdc725ee2c79151554628212fb4b16a95a88169bbde512ca63f51920e035a27b863b2e2d2a5a636c6e8b1427cce20f";
+      sha512 = "d7f8d94d1a23b580f489e5be24d2e2a45210d82f7da25b36d9c16c91136fc7b9785e141b13e14c3c19d3a5a3434dad600d3699ea206177f01ac1b539bbd59da0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/sr/firefox-72.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "b453c4ee3138061c1b5b955639672eaff4b5702aa067f1316f7b42922e4c9ab9a00b8fe60f3bd47c25d300ae048277ac5830fde6898e2cd4e3c7eb9d4ecd34db";
+      sha512 = "8816a768e79c84b2ba3573d00f3154d87fc995019b499f5d9d7e945fe29a18dbb8a2582ec8a3ffee520de2d91f239714b84ad6e5627b54da4644f25ee8d6f439";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/sv-SE/firefox-72.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "7f859fa052096bf5cbb63716cb0b57c2edcc13f0e79fbcd59cc179f7fa91fb70a99d94f44a5005e3e6d38e88dd58843acf6e5c9b097b5d592ada7d19aa8b7b94";
+      sha512 = "44f09518b34866de5aba13308d638eddbb79941020a72c42825c2ba619a44c6e239124179ba4b5b88a2c79a875ae0c9d6983b691a6e637c7da017d9ab772da0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ta/firefox-72.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "4cd7b5be580a70aee1259a39ccd37e947c8da8be408aaaa9210e76f4744c2d2075525331e0441d14be4a6aa5f3eb8c7e0f78220bbde0db3e521baa3a9696e1a9";
+      sha512 = "216d999c6f3e7aa9aa0f95622aa62830103a6eeb7f56636a9577be6963090c106ef5e6b825fb0a39b7ab634a2b59351a376127bbe26989139041042a7bf092ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/te/firefox-72.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "685bc8f8ec7274dc402a6f27be13a254ca28b67ee28f151cd0e146db6857d8f54729fb76c3266ad08c47b108e84bccaf8dd561dafc7996f9678a83c4a01d4fa2";
+      sha512 = "fe20b19cbe0eaf688dbb834e57b77d1982007808221a978475f5dfa9ad98c5c488661c2471f3302d56cd04b84808b7c1b3d8d076888026fc7736ebfb9b3bd050";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/th/firefox-72.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "d5167cdf3d67638772d474634c690bda4c3ea136baa3ac28d5113c9eb7673dcf9f38abf6e2fd54b55e5e487ff60f7e33036b7939b6c1add860dd48d9cfccb0b3";
+      sha512 = "25743569ab5c90e88f046d71ed9ef0356b4c49541e42e35405045d5161b4bdb54836325eb71c118b4a8422335633463071cfb5792e5d9ddad2233d3e2f120f6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/tl/firefox-72.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha512 = "bf49bd41ca1bb1cf03f8b06ce80e518f487359fe5bb93b90cfbc17ecb05aab74f4b68a8ad76c10acffa934a5a9fd5e257a52b9705e3f09e81343d142afc773a1";
+      sha512 = "61797fea9bd40a323c2fcbd7959cfccd5597bf8ab323f0c2294afdf3cfc1bab1b58df3f4efc365c145b3943f68cef3eed0c455acc51597cb26b5a55302bc5850";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/tr/firefox-72.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "f67ad1441541b02d77eed6ec0e205e36aa585d70a85d74c3704e9fc95126ca4ede76807c62df2eb0659ae24ad8a79bb6857299a52dba432d0cade8b3091b6db4";
+      sha512 = "21cb703efda21f1206778b6c018e4001ed95d45304740fb059ee618e96aa15f755569614d510890e5afea96685d6c8e564a23d1a83585c1963824c8c00ed97fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/trs/firefox-72.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha512 = "151772f684075ca2b24c98e35405b8cc54d878062a3d5bfe5b49561a0328a2d9064780fbc8aa1368bcb53957c208a102859accd35ff3e09d23a0623886ed24d8";
+      sha512 = "e7392a0f1e9771140598bfb2a150c7bb24095af79a846cdd21f96eeca0e9f22d38bd780137a4dc62750dacf6521bc8de2de1fa5fb8f757b092b814c31879c842";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/uk/firefox-72.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "f27019219dfa6b1af09971aabeeabfad7343a6e9e034433a366bf0b85dae2a070c4236115a645bcce433e8a1ddcc74aa33c06f3e1526a665d7339c730e2d8b6b";
+      sha512 = "f08cb0be78afc2a6573273168dafb86256f2afd5e6d36baec8308baa4e9c04c6defa23c200b50b621495ce214e2a401fd793ec20561dd31f5a1d17cdfb50bd18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/ur/firefox-72.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "4b6b3c96dabeeb3ce6b814ac28f8842fb8a991586f8d9e24d8f04c4771e1e930903fd486429b028177fda3194a40f2d68ae89fb55ba632f3d778635bdfb61f10";
+      sha512 = "6b363fba4ca9250a8e863e58a055d879ec7e817c5fde7c79903ee04af0c7471ba9563327f223109d77491ed78b2504abb3836951f02e9b1a73e365823513f26b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/uz/firefox-72.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "c236ecb253b724715b66b60ed15870c7190bf53beb8c0aa3eab7b8f9770a35d07c4b07d7e947e548274ab636fa4acabc89f8ed9db81b347d6d01c3741547773e";
+      sha512 = "6521a885d0efc8b1c0929ceab087bccffa1236f518b920c0e3f8f450ca2920cf87f8ed72af4547fc4e3e38cea267462344289c52caaa035f59c688fe65073470";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/vi/firefox-72.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "34716693e977408908c303e69a72fb9a3001ec4683e848bae2a22b050f446ed82509cd8bfbbc560bc4fc14d13da673cc56ac70b0dde8e719266697e043ae90b3";
+      sha512 = "c14ba7d59e46cc3dc3f507b1549eb38125f3f5c60156ea70bfdbb047721b91a7611ad25dddead6bf8d62f0e90324cf0b4fa50ee30a07efd07f48032cade22eba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/xh/firefox-72.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "634514944739f748afb01379e9b0b7d902cd367ab3dd72eb08442b0700c145e3239f0fe8a4598bf123231b5430cb4cf17e33dfb56aa6aceff1d833efd836ce52";
+      sha512 = "26d47e833b8a4e376bde4db86a71eda8cfc3901afe89f76676065384f359de46e474fcd156f95d18f239e7420a064e67b9dddbc97139c49c059d0a59e5f8dc81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/zh-CN/firefox-72.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "5f57467a2b3bc1346c503d7ac7452a063daa5656c8193495046f80296140d648f50539c5f0c9af23155498593da54f66e16f4ae2ab72637f394859e74ce3c990";
+      sha512 = "a87129e3fed358669a2376abf1717c10b463d83a58fd8ad3069f35b54569beaafe6235610d0f148fe9f2759184699784e72b4afb65f09fee60411dc593bd65ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-x86_64/zh-TW/firefox-72.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "fe5808270355da0a3f6bc8b1522f8c2afd79f6f68842f09ff7db9d67ab21c1c683ab65dff9be7a666da9b25add657f6ebf8b080e898e8b2822612ba7b1a53dca";
+      sha512 = "af28d2d450d7e76390902ea28dddacf356371e96d2a1711ee2842e551f10f5048488015b57ad2744546855c8134967294c3e5a0e939de657fb884f7885e8c039";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ach/firefox-72.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "f4ca9cbf830c34b0287f92ec7683872b93cfc29a559c56e29fac686a50833e31bbcd2e22eb5ae5fe345fe8110d50d6be2c8ce32968aa74a65543e701ec2af6b7";
+      sha512 = "a5e3dd292b9e611bc7218459ffce0521992d43d8884a451e611bb41f59c6d0a0729752af0a711897b653f5cd3efe586d100ea783b5b009f6115fd0d5ccda0dde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/af/firefox-72.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "31de89d33fce172551a3a7cc1047b06d9fbd199d0e9a7ca94434ca1f050d0cebe0f3c06b1703b2e6ad7bab37fbaffefde5ec661bb23b1b470b82360f4f08d471";
+      sha512 = "528c94fb5984344576e5ed7ae6c9e0f42a7eb8b00715ee8cf0add14fbc65c29b85a888ecd34f0b729283b14dbc2771927ae9d7b3f471f4c7a81c11222350c870";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/an/firefox-72.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "a5f1346cd8e74bae67b3a7b0ff7350b4376b4fbb7305932c333767e5625fb1a451daf3004619fe737d7d479aed09cfabb9323e32ccf1d980f369f7763520c515";
+      sha512 = "447754e83d868fe8a531f7c44a037003f9e0ab6a10ed8ef1f0db7107804c75936e792a8a6df69dc4db1c544f9ef9f6edff248878f25ea3a81b72fe509494fdb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ar/firefox-72.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "87eeaf4d620a643bbfbe8f710612aa12bbaf2162f5e762263714f9ecc4a6fc75896c4d8145089775c24018491a9604d9b67273d43e96ec206518c42b978d8037";
+      sha512 = "91a2016144ddc0184e954ccdebc3535c8cd36dae79869e95cfabc1e9d9a7f49345611d85ef5252db3dbc31c2421061bb87941fddf62ca38e2c8fffff4f410011";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ast/firefox-72.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "b3b169892ec8646abbb22ab31d24337f4203c8257a0827dbef0ff396fb5219af47e68e69f90fb874f4f09bb2144cdf5c8d5cf7d0f484b755e5ecb40c19c3a839";
+      sha512 = "46783dbb86c1b50bbd9ef03509402805eedb1ac82c017d0e6d6c1692f0888d1ba14a61ff99f3a88e758d96435326a1b0807a47bbc18ad73b0b1ecd36870ce4bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/az/firefox-72.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "569a81642a725f184cc0abbf573bc92ae21efec93dce73572f46fdbc0319caa3da6a9f7e5066c7abe74d7636f27628ec5a87d243ff41a483e8f2f9eab6fbbf0d";
+      sha512 = "2ef54123e01952612fbb3596736b5ebb948d986fd6ffd2eaf2285dcd269bc6ba4cc2489d052336b2cb4fab94baebe460a4313011444f21de55f0bb095553345e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/be/firefox-72.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "9bb66208dc81e314fffe537fa229abc401e5d55fc6070e773d6cd167cc719019886b96625796bb20590e4313ea422d814ce4e2c6ddda8064ecf2d42bfdc2ac71";
+      sha512 = "93948950bd416f0b48ac3449abf5d15ce0db59568e93625f5aa82af3e5377c01529d08b3a1aee0b7b6ed8bd7ca76d238adb083031f58bafaa7152bd44f6038f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/bg/firefox-72.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "04f7a77b716d77e56d1f4997c6fff775a16e2bee5cb7a33e3aa87677b08dc5e62587be072d639bf383454a3e4d5cdb656589c8db1b42a79244e2103cd54be4f3";
+      sha512 = "4004520711d7052425c3c9951230961e584b816a9d35f5d97cafc1714d1d38e9743593b6707fea4550f63c770878b67f7ec0e3affdd9e57110bffbbcc492af32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/bn/firefox-72.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "c3a03115b7f7599d2e6d1bdcee8fba27a967c05809bb29826dbac670b092cb6e290f1f9bd955b880fa87b99884530802644b1d32107ddc1704cc31a42452a570";
+      sha512 = "62330230a74acd2fc5103a9c34b0b475e22c267d03304e32ee9add9440f829c2d17e8d967b62d7140bc6f9329238c64009a68c1c7dad494c49ec7f56cf97880b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/br/firefox-72.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "2a556badf0e1a64b1dd1e47ceac5e3e8be24998eb4373e0fc03b63518200d41ddc5ccad4ee679993c80a63b63c38e3c4cd28b2a3c96d344210bde628e0d6dc27";
+      sha512 = "964698949b7a1e200a743e6d1c59db2a654238b1aa4122e5b3c29d47b4e35f098a362c359a6fcfa938c5189353a7942fe24ca0ffdb59498e50a2b92eb75907e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/bs/firefox-72.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "909a21a318738fddf063f70489ac47648a16f666ce7ff93b152305fd3f932db939b71ee75e27131451ef14e3e0d5deb0c33cf4e9f0a174e1b369192261e28624";
+      sha512 = "8655234c81fb9099a41335ec71c3e78c790a3bcb40ed6d91f78f18e705e73bfb4eb77661f80c608e2970adac75752c798f163270c1a66c7cf92ad92f76481ac6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ca-valencia/firefox-72.0b4.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha512 = "e7414535d0a0c0291de4076242dcf3e44405408d885adb551c951600f2565d524080064c8ad7d475d8e3e884667b99f99fd55df7266e9bd453c907216fb1af75";
+      sha512 = "a420b87ba65d4e99662788d3f5142cb96747334959bdba455a8a449cb984104cf2d2f2b0d21f216fd2194261b13acba2c7f28de901d95d402fc72b3ef85ee612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ca/firefox-72.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "cbb1fc6cbe4a051afffb4c67d4bed4b97dd4511da4ee283bfc27400550a1a4cae2984f847892dd271472e6f09970fe5229f137220544785deca837dfe6f241e9";
+      sha512 = "53712c47a152259724ff339d1be1783cb8d0d38267c357c1e1b56396082c04f0204127301a865ad19b0072d02a7af42b904f1ac68e166875b59d50358a681fec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/cak/firefox-72.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "79cb0c91bc2d6567bdf0ef38672f35f1c5a484b8decf9efff8d9f907b26b5cad5bfc71c171185da0561abcc92889cfd7a8fd974a532cd9acfd6cc8e6bdd68ad1";
+      sha512 = "cfb06d98597d582132c0bafbc39384217da03024cacc80d92d29e489469180793d796edb2f78ecd717d2f25409757cf68eed46fd9d6f7b87cad01161dfe75d68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/cs/firefox-72.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "b1a5d5619eece10b1d7e70e14857a0965175294808253238e3ab432585662d3c16c56bb6bb989225efbf271f1d4eecb3d20fd4561b0e8994538516d54fc9386b";
+      sha512 = "85bc90f95d2cd57a1f5a1c779317df3e651ef1930ec0c003aee89b353577792890db7a7ee853c4d93db802c28fa355ff4a35a56381fdd7b7742c554dddafcb21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/cy/firefox-72.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "3e06fc68797f371f918ed10b93f6984780e81344dfb014e790e02351d8afe72974c8234533683ec87d9cecb6e0ab49f5f1b7f61c9058c4ac275a5f79627c5827";
+      sha512 = "53e920d8d4418296b01d21b5e3c9c7788db7d9554e5c2b3c38b11a47a3ee2cf083a80d3e3a28fdb4bea262b3056cba4ae2dbd3a388252df7dc8a1fa35dd2173d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/da/firefox-72.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "ee90213314fa0ad3267c97eb00cd81205cef1df09a8cfaf162d707d8d3dfcd95e2ada11cd1458c988a7ab95df7a1eac55f7e2b3107c26690c39dcd5d441417ee";
+      sha512 = "69f93fed3e51fef8fc47f581a9a4f1a7dd9bce949bf582dc27bd0f04356cc337d1f0c7156d1668a2d5c09a6afe53628503fea39a2ba79e564f4c2c4b13d49826";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/de/firefox-72.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "9f1aee93429060eb0fd60a19b7622a4bead16b8c3609a00afacf7e41f437f6e2e75cc2b4bf7785e77d6e1bf1e51899a176c5fda3b3b88ca549da903ebb3ddfea";
+      sha512 = "72506755ca28f1f59aee4f39fc51eaf952b607eba97b6a1b80a6dc79db545aa5e8d5df94792ec0c3b93fd70bbce0bfcc25ca7b9b611690782a265a1581c15393";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/dsb/firefox-72.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "80d3b7edac9accbf47cacf8cd3e31b0568423b7e133a347508ed1ec6862d1f4a6558f975fe0bbb762888a25c37dc10e9b20a60ae9c4d313918bfb7f85cd0328d";
+      sha512 = "17ae8a6c85ead04cac4fcb8c29a4842fe714cd2b3d143a3333595794ce51d8bdabe4a12038041d9da89932766a4b5508249a1d8ae0fc8efecfcea87672392d9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/el/firefox-72.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "46f7b8931354ab171d60e5871091a0c214f0f9a7f4689ad8a59bebf48343cc390c4ab38840d21536a3c32c1cce59307402e542cac5ed056efc5f33009f6ead17";
+      sha512 = "f7b80595318b84be3c3d5e9e30f09527c1ea135a817f3570c9d430c7f7334195f362d421cd0d8970e2fb32d6c967147ed44b0ab373c1dcdd79e6fcdb86be2a35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/en-CA/firefox-72.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "74ee6da165e6e35d511b9d0a715d4bbc85541014728b1bf8bd526a3ffcbd5794afd9f00d8298ed194713a9053ad514434cbed7d4e34a342149de9f2ee2e0f126";
+      sha512 = "cb301703072041e12b10e5f24414dd16cfae57492f11f0d0bc6b68323f905bd075165dec03f7f59a5b75b9fa1cd0972b8106027130525ed917d3ed9d58a3730a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/en-GB/firefox-72.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "1c84689bd6861752b2bc4530b4eeed8809b37f02dcb57d01716cbc347e6e161615046e81680db751acadd4f8d46e83b0d5c00b0702c7ba522148e89313a47b31";
+      sha512 = "3d63756f7d6f9efcc7706f9d250385cd8b4e78edd60ad7e065c7ef513530ebcac143e21fc377eff1e434af536a1ce73235dfa7d5020aac2966986d9b8fcedd06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/en-US/firefox-72.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "1750ea484b386b845e299b4ae7f7d3e6942ba3c765d09c6b94dc0d1d7da011e17ae05f84f379a0fceeb6df54a3e81f61f5c334886feed094bb630d62371ccc1f";
+      sha512 = "7c7058529f1c7254b866c8c63e6b90b03ffd9212aeccfc1a6592e98fb730928b11c9b26c0a69615e87eece1db1054c10a3b9709f382c8d513c9d482b973b0b85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/eo/firefox-72.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "b67e3423ac2801dfd80423b5faad2b1a216148fd5149fd787827f03745061d808e77ed352e21081f033129de2fec94b0951a16435357ced8dab23a8594e766ee";
+      sha512 = "ee2beef6197f8f59603291e139beef9c33a8e3414bafa63faabc644fa05995e4f6e1670e58c1a8ecf6e2cf2026732f831dcdbe399640f1f6faaf180e260b979c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/es-AR/firefox-72.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "222aa7f906ddb829d6d95ad0ff64f080c26766f4ce83ba971e0e2a8996e471398882de24cae3f3fb51206c67ee7e1022d8a7d3d86ba70fc3147a2b914e4186bd";
+      sha512 = "4366394614cc037d6fe2485baf5cd0147952a8ffe9b2e1a28b8db65b3f0a9fead0823baced3211eece5bc3eb60fccd647195dfd184fca9a048730bc1cf0d9a51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/es-CL/firefox-72.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "9cec91d7c17c7c2fdf2a2507e71cb25c10b997de98f2a4e33a4fdf8aadf39c2ad9a539b15413a76dd86f8a0c370e8fd7ec1822cb3eab9917fe4395b57a8123ff";
+      sha512 = "ff0966573ec2ac21e886c57ec234bd1ee2f8d5c3e381eaeeeff3f0c11653c1fb4fef5f4fb68c24107a8f00b7f269848142ede7dea9ea095764f77dfaf1fd4521";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/es-ES/firefox-72.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "f609a5a48417746b5c64f9765c067648581566b8ef3aa6935a9de9f08df12034f4e2f0af839d76e2adc1646244ffa58b1d50e4b4f8970ef043985c3e60ba9e6c";
+      sha512 = "4fd607ae1da3920707135a7d68cf1f4fddc43eb92521cbfb178feba39b0d7d4b2dde85723e655cc32c247a012c35e9a9479390683550e39fa2e00be0b01c3ebb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/es-MX/firefox-72.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "34743906e3f6f7add3727c876f44aa21af08c178614940363cdf788fe54dc20a582c7d36eaf242355cdf31664aed7d807c8acf361aaf535d97e4ee06e4f4b219";
+      sha512 = "54803af40f8bcd74bcbe667f07b6d818a76e2dd6980e32c43651df9c6e30e45edd45664b442e69e035ebd610bb7ad9a2a6f0247faa4918b2b3d8bc9f72665ef4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/et/firefox-72.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "ffab3566060d248bd7c113f9ab462d6226893269eda244dc1e4c609456a987cbd0f66bfcd5478f097d9748eb0499e9d666d147cb989a3084a74a97dab5193afe";
+      sha512 = "43034830cd0ca754c6047052e4df6105a77a6040fc5d5f592a7ca3ea94ad30e0c98952fdb8f30c15adbd8e6d0aef9fd374e5b32fbd5053a3cf6f1a6f267a73a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/eu/firefox-72.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "3ebbf87b65150cd8450287341f2357c8e8c102a80b91b61defd7800153e3b53f44d93825504dd1f818b82548835faa1324643bb7e484506f0b193043994c957d";
+      sha512 = "06ace3e3d34500a0871165dbf795704c9058f180ab23e9a94e458e9615475567df1970ac5f7c8a91279a38811d99ad5ad813dead9632b1abc8fadf75f1466040";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/fa/firefox-72.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "4ca347f377339c31f75c5dae713589a834f4f50d594a060cf3e2c07d1da8318013302f23f43973e0db8cb3f3cf42abfdba0357a085b8bb74fe9851c5c798933b";
+      sha512 = "b70c5e0bdc41e14bb93e9b0eca3089402a7b2de2c105dc544991b0811398748a84c119da435b92a300876396ea47f36d1e4032fbf4e7c341357484362468f03f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ff/firefox-72.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "595763867baa20475057a576171d6ef3c1399a29c7a80a1e61822ddc71670a3ffbc4aa8b99dd857d91fda1e00ad1aa129bc79bb0cfc9f53f1147bb6c0c9114f0";
+      sha512 = "ac9f9a2a4ae117e20659ab73949b8b7e8c6e9ec780e9b7abff38e242243919e262acd9b3945e0e4e9aba55256aa6304b2647204586d0400684c24f7633e18eba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/fi/firefox-72.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "92dc11a2e77b7286932067f3ac45f4bad752fbbb2649dd6ad9b5e5dde2838e4881aa26143b77775964149e2ee877dc5f38da2d203e1c04db1b1e2f24cb879768";
+      sha512 = "04dce53d546f03499b8691c6b621c0ed3cfc61e0177d506ab5eab7cf492e6fe11a50390da87f929f37014d235955b6c0747993824c3f8ffa6d04575ef407d69c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/fr/firefox-72.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "37e23c8386568b68603e499153e3e258a56af45eb334255023b48c32b8dae32145460b849701def48ddb812314bb0c881766d68219408cebfa2e518eab2900f4";
+      sha512 = "43e55696a7634ca8f4422c47253b2cc231c6a7b142c2e3f13ecbcba053837fc4cfca1ca3c8270991e68fab2ef40fbe9dd21b54e278591e66578858ed15a7ef4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/fy-NL/firefox-72.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "dee303e4b71814940f8910c6ed2686cb388e4c63d18fb88cda4437161f9fe60f65cb5c6bdcefeac4f56c321dc60a38ad77c2b1e2f83edfc54d8a87ec1f85abec";
+      sha512 = "11b045a86b15552449ff2c75eea1bf4ab51cb5087934d03d9e994de041ef442bcc15c2f6858b8e895520f2c231f03c33f9d5ae51e306b90c25ee7bde3c410d21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ga-IE/firefox-72.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "408bbb2f7cb351505330132974267ceaa90a86aef27d6194338810c40770bbe54d72945b1cf54a2b59d87331480d5bcf5ed6c327c65e890126ae0003840e4f18";
+      sha512 = "bbe8f473f775419f6ff6ee6e156b315eddd743ab7d8561d1b2f17b6d2185fd00d9507ff51de4001b66a7a80d07e7204cd7861daf4754c089c5a295a4f272b9e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/gd/firefox-72.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "0ab9ef7d43cde2ae8042ccc16b1f82552e5ec09d9ccf23291bc19b2d53524cca34bd61c090c317b0c5d53cd93d5a994b38a3abbe636338a7a508966f7404da2d";
+      sha512 = "5f996f1d58ae60a65142d4ea2c6a73698f8042c83cbd8d2073b0c9834b92c12d808c13ca91d792b9c8a3831bd5657171d103fd1d3a958903164a563e5c233639";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/gl/firefox-72.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "71711dc42fc674efe4df9bc1eb3b3f51a6df9eeaa919d21b65585e62fc6fb33f357da9708f25b7ae2d111353302b06230fd5279749788d8c06d802fbbb6b38d6";
+      sha512 = "bb4f26c429437227b0d0d834d9bfdd0511f922606aa48f4cef2e6e98ff7cafc473c3f24add0bf223831b7710d92a109996317c001df5047dfad9e9c3cd7a31fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/gn/firefox-72.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "dd810f573d203220c588f1daf82628a62e771a8a5186d467675839fe94774f9c7a5741a8066b273d62f79ddcd9ac628248e651ffa379f7c7b13ec52375315573";
+      sha512 = "c065b74fd89313a8b54f19c551fee9e31dab35159fb0796b0a441aa7cd4f0daec8cfb8e1b2498accf18c99973d5377a986832fba8d907cd32b24a31ec86d3ca4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/gu-IN/firefox-72.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "c63b5ace09a07075cd274bcc9487cc8c8f2ee738b42b5206354d997d1b29ec8c2c83f3dca89902e90c5bd7c5f96b2e4ae707bf6ef519d8f6d7a1d979523c5bb2";
+      sha512 = "aefacfc8db154d592121d8b9f7743653002705a00c1280f443b58e433defd40b6b296ccd82adbb402ef907bb97abd4f9bda043dd0a48400410332eaa44dec650";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/he/firefox-72.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "c46460435482c73884d62ef77c8f92d3b09a2bd4b4485b1ce4f48d80e9695615df42869f1b5cacebd7b9062022cd7868bf25ea0995457490057667144608a4d1";
+      sha512 = "94419be7fc1c5ba72a30fcbc9ce83962efd294f9a33caa2067077cb6a3aa493c2ef4ced1b14e1fe9e6e3510dbeffa131b3d7d1de8c27703856601a855f68a6a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/hi-IN/firefox-72.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "22e6d02c3934c6ebd7bee848672ab28d8363bc178646d33254e9fcbbd6790c92b121b36c429b6aae422e4cbdeec26158f0a1533dfa601ed465659c706f7b934f";
+      sha512 = "e11bbe3e9d1bb50f6462357444c1d0bd074e732f81217dbacc1936c7546f8f3913749c7ab2f2288e229a8bee4e5a43e5e86f0eebf8adf69b0cdedf31817109b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/hr/firefox-72.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "f07d9a3e06a4957a0d614bc45578c497a9ef2f21e39132943840d6bd6d51aafb5a88925fb9b6348f1de55ef831f14a20939685fd79a7dacf0cec42e6281483ef";
+      sha512 = "040b33546e3309cb562b4fee834529b6acbff828b4239017d0221b33ca4078841e4bb5283bce79cd5545f8b83d72ef9a26fe4c1bb8e1ce3592e9801ad7665a09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/hsb/firefox-72.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "5efb205a729e7ed3d16ec3459f544b138fddfd70cf7494b12e31c9879cde18ba0c2f1ebaf2b9085a9af5e17aa066b48a4e52c959627eeddac8d025bce7924934";
+      sha512 = "6cadef677c236dbf7140181644bf97bcf850ffd67e282ea69005400996f1ecc838971347c6e9bec6d4d1074e73e62af5ab91df146e7846892ab86bd802f47342";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/hu/firefox-72.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "4cc9d7c92e285d9100df3ff3e9ce0f8dcf803b540dd8c87835179544dc9f252eab68135d0f67f0626829c918e8ade6826a4ad87da69efcb23e36a85390009217";
+      sha512 = "8a5cde0f6e8f42833bcc81a063225bb44366386c96428afce58425197eab833e3e2463e5ebdc7661675aab6566559004b9812f12f666ea1c329e049d106f7f6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/hy-AM/firefox-72.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "11c6a61219789b23791461f6f4ebba4e726e5dfc53b7fb1ae2f23b602b75d770edc8399f55bf2dadb863fee5953cb118ee2ec931c3b9a5d4df3b307526a89619";
+      sha512 = "61f01c79780003d7c0d8edcced7a698b37bf4cac7663b692bf7c4459dae4ccea9a11ca49d8fe5c03584eedffde10c4ad3826dfe3d96531922c38127e173f49fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ia/firefox-72.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "feebcec542b539c41b592116c5dfba3b88179d87d0a83090641079a1705b7c275c1fa8c7bb8dc31ed0a06ec62acf42dd2e39700f6b71b408182870f8c2d971d7";
+      sha512 = "3c9d5a69a330e43efa981e79e9aa36dac937d434101c7088aee070e42e21f601b5f1e04d639c8e30c3db6b39f07f1dc00c261b5ec1f5794232a095e9ebd1549b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/id/firefox-72.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "dba5e3ee99597d7bb615473b9715b1862bde5e45a631320e6a4c50f1b497a0c42f585ecff67d6728075821f19c83d9497788f7e4cf34573b4139eb2a164de004";
+      sha512 = "4a40764f77e43ae21a242647ba70ee42fc86f6813c2cf77b28f446d13a73d2f64e9694bcacf28c17826a513b19f567f58ff1c52aa3c6be8f416f0a448c06b434";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/is/firefox-72.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "d2078a7faa0edd5f5210bc5e4c7ee53a303aa6420b8ca8dc1ab764e17e141acb8412bb732457946380c4cbb0199b672a0841cdba3097bfd6e69bff6947bbbb97";
+      sha512 = "0aba047ace0a41355637443a29a4a4be23b60bb6f327cbfe24377f9338b8ec65465e530da77b8815ea5f4268c69aa0e80e1a726090f440fc775dab3acd7e62fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/it/firefox-72.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "55787b6d2cd8013414897da4b279e0937d54488bcef35c63753633ec0f56c8dc0c10508f06e90146e3c4ebe1f381229801a994cb497f2fc1bcbf78f8abab1ac1";
+      sha512 = "6bcb740801a18d09a720f9c9e451005afaeddcad3df58c4e81d112805ff60f620412939a824484267af41f2b0cafdc55c2c72114662d3e3f8c38e82463e188f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ja/firefox-72.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "02a316992254fef959a1618dba98730270cd751074330e6719fa45ac1a8b2c32cda90ce11b453b950ba4e1c679035c582aa472119676c5ea1bf623fe70367bc6";
+      sha512 = "7b03ab90989de93cd765e56211d402d180a937513e114efe3afc35e4b654d14a3cb7cbec1a32b8ab864feba693d9a76e696e93746b27f66c8913853dc1367d5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ka/firefox-72.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "f5d93a5c47ba9eb7b1deb7a590a9fdf3d3567cfadae779c44c6360245f371f1feb14d64eb70d1538426a9a6005885d115826c11f673006028eb1b484bf0568ff";
+      sha512 = "14e720c676b10587f4947b135e45c37e496bfbd6366385c57ba010c90b424b7413348dfd9d65323dcffb7a186f2e8cdd72236e23b2ecfddffca0b923b462058a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/kab/firefox-72.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "718cce9a90139abd0027c7c730ac5e5db95922d0960744481e05a4557926b62683df71052b5162ac614648def658909880de1ba5fb71b5b30975b0f97fb7013d";
+      sha512 = "c4e7a7f07b2b9cd4ebbb51e3a45be2b3fbf952f8da0d756c9cd0cf63bade2815385b54bb0bcf9ec575397ade8d0b820ab2b565d4a60b8676824c0003ca3c5612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/kk/firefox-72.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "1ec72e2a607b302878c30d78135ec7339d2e4a88f1e1f638aad0d21818c638bc6980fcf9b2319d6c1b4a32814a51ace010fc4ec1795415275ea0c6f7782755fc";
+      sha512 = "cdb162428e73b2a3cf01c7bd8f97bbf90a097ea6ec3f83b1f648179d1cba85f4ccef167745e48e1327859857bd1389525f901b85934cf10a9005a14e0471cb6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/km/firefox-72.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "bc378c99b85df9c63e03824f3462ebbd84ece0b10eb4676d4e4c7deecdcb73945c63087628605a3370df4bad9b978c39728a157cfb96eb038faf9a3c65c49dda";
+      sha512 = "c580b37169a3eb76c8fc692733b51ef0b78bacfd5351dd03ddb33ec055ca52b58edbc278d48e6984ed5b253c4572c7f802a3edfa362282a70f6dc28bef7380f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/kn/firefox-72.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "d7c902977156686b23b29c02386a743974e9d903cdd8b15b6761397e0fcaa94b83052603d9c807fa6914aad2101cb26fea6e767dfa101ff7b610751403786c4d";
+      sha512 = "79800119334a7c86d7c9698b9cdef025c733eb0afdd12767eb3d6d6a8537709ed553200445a9c2c40b41dcc349ebca408ab2b1e0a412d1aa92f0fa9db6249da7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ko/firefox-72.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "a7424b79e8d1ab631dac6dea38bf999cc7c998fc8dc96ac4955c00205d0ca397a57c37cafd74fa431f29e88feb0fa5abc1b8e46dc11d36c932ad1a0c4637ade8";
+      sha512 = "5118069f0a73bdb0055954658e33ff82a8e017c9ecb414126c1c3604f6e9867f2932b0b45a5ea2e0ad08ee12adbd60c6319f711ccb54e8eda226c92999b0ff0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/lij/firefox-72.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "d80efe8613a1f9d0ed95a71df8245b29e078a3d7eb1ef574953a35018a3198a2f30cacf17467857ec7a943b174538a528cb19b3f787ae5411fdc845a9ace085b";
+      sha512 = "d040d130da5e90d83f3b08b6977fea5ae4f4dc16e4a93db9402a8b61e68088a13ad83acbde39215175167dd157ceccd3a1324f89d938b9ff6646dec2582f01a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/lt/firefox-72.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "b4b93a59ea67315a623136629d66baa46e389fe01d1a6eb2cceafbc8e25570dd91d830fb3a7120c7c59e42d7ce24c23109aeb6a289756797214d6ca80a1661ba";
+      sha512 = "1bc305d8e73184a1dc5968a9e8f05a804a79e0d447d09fb5d20991897f9b6cc913c29b2eac5032f62279184e81a55577f75a54b3d54340f31b0f66b681655ccc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/lv/firefox-72.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "f4e2d4cb15586b96f66818f21b35ee368acbdb5dc546b1df5aa20fb59ca5d4a2dc6ec2b08427af1622756369d67997e9bf8130a6370696219dc6f44e3a2ac557";
+      sha512 = "33a9e821ba8c8756ac07b6df0b786354caedb627b031fe7ba6716518369fdbe8877f0165d60c71087fe20874c8a0e4cbbcfd5f8a60ec90760df451b59722bc5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/mk/firefox-72.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "ef1f17ccde55e097ac1eb8a522749d1b8c4f10a45920fd9771676758f59b396372e38b420c11614cbadcf26f1d109a9051ce8266d567c7064d9fdc771153446e";
+      sha512 = "dd99b0f7dbee332b3012f524ea3de6cdfba6fa8c906855bd09145cf5d271af189f27e4fb84bb5acddf92f6930c9f885b772d97b94f90a99da7be01a581ca9e25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/mr/firefox-72.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "c3a8924dc813d9b34f55e87f984cc735156dfc1b1f840f5867e0539297ab3ec09c008bf44978411d7fc821d5671a49a0a53acde10eea847d2855fff80d40ec29";
+      sha512 = "ee1dbc95b187ef9bd7d2f727e66b9b36d8ab67bb0f3e5dc2f987b903e08de7c4173d97cf7684b28d67250fca27acdbc9b843b084e0c2f29ddd77814efcd3452b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ms/firefox-72.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "1186bd1679a713d2e79d11422332fa9f3e600c1a9ce1e8e26338e06d5ca97e2ee1d2f0dc657a78fa9590dd0421545cab3b08f4cb000af37033cb06c1b75adeae";
+      sha512 = "a2dcfdede6ebebeb5c994e4d609cc0a48f1100087ead6d0a219c65d204796a9898c8dc2c4df09479448aeafdae2099787c3d838c41baee12c9285a4e96b6ff19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/my/firefox-72.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "fd99f7e218ebf570ee1dd8473fe9896fce2855b591aa25cbe03f5f78b0e36bc4587efe5630efe95023a16fd87dc5c221916bcaf0a5423e2a7d3f1fbf015c3c07";
+      sha512 = "f8bdc2bb60f34d434b529f3231301f97dee662fe1e3ad856467568d4195cd879e34a08c1a687911a66cecb208993cb59f827ca8351ab6deb66e2bfeec905a765";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/nb-NO/firefox-72.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "fcf0e084f20ae15c820193180a541576968cacb0bba58821547811c761cbe4949f0e8e93bf0713e0d21fce885c5414ed3ff84925cca51e1ed4f5d8df520ae53c";
+      sha512 = "f1694d443574316768dd5af6a3d1aa25ee2e20d78d125b95f15ca72fb5dcf696737c9ec6ed3809aea0252edd082a26453c6a7c98423c9fac91ebacccfcbc2c97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ne-NP/firefox-72.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "6037ec1a95694c099850629d0048612984e9248622bf7527ffe4fa143644dce7c009d849b46e1ec55d4d33b306fdf9fe3d3ccd78071f63fa2cd7f6038705c033";
+      sha512 = "eefc58ecefa9d48e6fe61ac16dddecb51549cf9f3ced1efb36843e48eae85d899dd3abc704d33147e6700492d6a4fb3cdf39d3730cece739bd3a795bca53f54c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/nl/firefox-72.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "ad3ad9dd0df03c5e702f33e67810c32eff250f951970ece9517f1869fc95335d65e50547b45073051b0113b5bcd071052b4a3ebfe1cfa5167ebce4835a976c7e";
+      sha512 = "cfc4a918fb314e7838c69dbeb8fc5c9a4fdaa08e890bb79e886510ccf7cae672be608e3b47bfde9001afc05194d97939868e7e0d7a2f16821a4e458b62c57948";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/nn-NO/firefox-72.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "efdcbf3b646ab11d0671ae09f15060e3f88462d869aafafdd7b2833e841753e1abbd5c115a94a1c9214b277e2d12a85600a425be3b913d1a66b49278b4c762b1";
+      sha512 = "06fdc085b0dbbee22ff89a3f155796a98e9e5e8721d25c5abfaf123f7d315b86b4e00747990bbca949861398eb58a0c4c147b7e2452ed602efc39c4788bcf082";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/oc/firefox-72.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "3806bd7ea0343a74fa4d66d6ed30090f9bf33ef3e2bb1c40a55a3ed38be0ad24bfe6d35a4c0bdadaa9100404d7d704e0dffb6f6887210523394fd18c09c6cb4b";
+      sha512 = "b6534944fe1efe4f844935fde48b4397dabe181a6facd65110dc5512abcdfc83fd389e387dbd619d63857b456542553b74963d1e970c5136d51c6203f49c942e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/pa-IN/firefox-72.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "09a4b17b01ad77898499b17a3e8c174d1f35097def6d807cd602a5539edcda49c10db27fe98e738a78bbc5932f4bc0d956e3ad296dba79ff4ccce6fa50ae2f4a";
+      sha512 = "f351f9dc860a096b260e23e8fbeefd7529608a6ebaa05510cb4b6f5b78872b6cf7920a0df3fc5d6c02c02e982d3967d626def031932892df1e3e1176297b9152";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/pl/firefox-72.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "33996f6536932629f0d55c17f93f79d81e9bf2a83246fa5587ab8304ce4ce5b2c7e7151d447701abf3c359171cb45855b28ea3b5fd5c64f65dadcdca80ab060e";
+      sha512 = "eb1a8cf7549f377cfcde8cda89c8353d41ed729ceb591ae79fe45a4bb78a70f7705e834d3a4234089ebcc1220320bbaa473d77fd955232b7f354660b946fd263";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/pt-BR/firefox-72.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "6e579f3e70bd30174422aeadd39fb0be373cc5d0f1e34fa75209177466c75710f90a0a3165980f794f4d7a2f701a59b2ea4fdc3cd8e39ddc09630442e09b44d8";
+      sha512 = "4c106cebf217be7fb68d38e1058f145b8e62dbe719f53cf8d8d08138ac43ccf07d5506f53383900b1b7978e85c7e05bee1c29d83738ac5172e4034b38f4e507c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/pt-PT/firefox-72.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "0ca174389788cf9bbdff7b3193c13cb2f1aa83d1d7f967efbda3855d8606d2318b840f65f25d0b7abb5e1466b8b8f7bdf1f4d3a0b33379343510838f447de3ad";
+      sha512 = "dbb5634292b35b1a5fd8ca634b794ed5f7932882b8be60c18c97015c770bb36aedac93022eedfcf231867b28ba53ee4078820df3b2f6782f14d8c2f6fcf3187e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/rm/firefox-72.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "9c2c762724c503fb81e9e55fc3e333caabb81e6d063a756385b51658866c58dc07190f5bebec27e317731145c763ac7aed7fb53692de15c68c78260e3f518193";
+      sha512 = "dde472ae454af6b12729db749c9675d73045bfb881811ba34647ead42f39b5fef23dd9c505af01e40538163363a4076f681cd16b738cfa7235933ca65fed8651";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ro/firefox-72.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "80b5f9e7d1a9ffaefcf28f7c5ff4dc2f5d8ebfc9274d674c396bd2569e5309ba7e224da176c84a943749a605ca6634f7441c8f81225f6f8ed4912ca48409bc5c";
+      sha512 = "7af78cc786a786ab230b801a41dfc493a40202758d3df3f8792db4db798d036a65aa50f1d764b22cbda82eb798e895247ba625cd79461b72c780a8f2f742f709";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ru/firefox-72.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "63910164184c3c81d22c1d6b4450502eca4dafcbe62b015b3bcd3f47772ab482d979f2e34f050e219b5a87466bf3ebeff896cf27055669a2ffcde313e1948701";
+      sha512 = "ed1dd6fc52b61e83ef31975d25c569c33aab2fed13a11b74fa4bac37e464bbeded80394bdb7793d45471a0608fcefa8b9c94778a77d7fc39c7e39762f96ee260";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/si/firefox-72.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "79dd2082a8de6ff7ae9f3f47d5372b0a234441dadd428cafec544dc527b43d01434c49f5cb47da2c689b4b9cf8a45aff7f73064aba470bee84bd2b13af8f1aa5";
+      sha512 = "6581646a8e2cb2a3fa168274d2df643df03771d4a2a99a874db3c6c32ccd27fe31e06d9d3c86a0c190b21854453bd330656fbb4a69868b3024b39b20c908822e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/sk/firefox-72.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "bb2cf2e3546f5d2b5a1c163165ff37461d4aae87db6b7f2b9e340f56dc60c29d806e2b699ebca6b00c1cf1bc8d74db2f72fd3dff9c4a7aeec0a03d93a23af73d";
+      sha512 = "d18ae82fd81b0face79f98320b74f7ed49a0eddfb64e6012279da3cac230688d2ada3d7c5dcbdbd89819db0735eefdb4a50f8929c12b9dedc10a1e40c97ff133";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/sl/firefox-72.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "25f0f66b27f03c5b2e69f40da350db53a78b756a1ad7dc47453c33a2f6c62d558572f47c8159701805513baaa5b598d31101b7fee98f87f37366f85703033927";
+      sha512 = "2c630dfd44c0574b2354cbc089191d6745dcd9f3e7d8e1891a11d7b11a70734c86787ca820cf7ba46b1124c244366cf09e3a7a21eeb729e7512cd508eaa11aab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/son/firefox-72.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "2dd69052b1ea296e9c49a72a4c2f6a00c35f168ad162a86f101a0c6201a19aacca3ec8f98f2fdb13571359a2d6380d9ea9e33be9ebf74271f117becc72b09152";
+      sha512 = "fc50ca49ef1f58b93b41d9fb3ff81be8a17b9e80a49e83578b9cc152417b643b246eb21965391b870b7b281f8d77c2d73c3beaba94548f1d638927272a45f10e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/sq/firefox-72.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "bbb9241e921837d7393ac562078be01085ede14e73f1179c6e07f59360026f6d5c2220a0067fed096526bb39660dfcc66100c8ecedc42dfa89b93499536720cc";
+      sha512 = "2d48a8217cfc1fd4210529596df73ae695efceaa4aca41da5db51962a81758dd1be4a15f30313e49f2f5fb33095408e146a16a7bac72d267704a8709c52601f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/sr/firefox-72.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "1cea129186274ba3491829882bf51eb4199446b3c894b4c1e5bd010252564d9e0724401e700692bf9c2939074b69751bc7fc988fc63da5f4726a0e4d62837c38";
+      sha512 = "c8213dc5c02f72efd7be29d08c127033920ad0471942131787c396b05c6a6443dd803fc46268eab556571040a4bcd16870dd3d94b9612b9391489728d21c43c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/sv-SE/firefox-72.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "6e7adbfb820f093fae4c2f2ea9f74e5d1ed91cd5a0f84ef3d53a2efe966af82fa5eeca32c3045ac1e575504e4322ed2aeaa5175d7ded1241d59fd7cafe42231d";
+      sha512 = "e654d3cc2d7ab45323077389c14860d294c3cd355408197f5bd8562b49f6f214f7c2271155ac9971ff3ec76a1075ec528ecec2887db41cdef02ef88cec40c4fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ta/firefox-72.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "9fbe15bc81d2c7ea84c50f77e209b07df049d740ce0985fe3bd3457aee87bb59ec60bd61700909986253d022332e536139e6c637d4cf7ff67248397fd13ec76f";
+      sha512 = "d6ec73ad1cc93112dbcc7fa2b7a0d4da0ace0e16b7352a3e348e1ad8ae451351dba94b98fafb504c1066640787a7413080c536e99a93e2039cf4a7261971b53a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/te/firefox-72.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "5ec78316c5f940dad34b8a847bb7057196dedd28235dda8d25f9155b2e6a660eb3639a95699cb8d8dbf90ccb2cb8d840f96d6f6821317fbe5cd92773a745dee1";
+      sha512 = "edfdc524360181210cc1f8a09a9506299af5f693492237901b3460d6e8c5f5cbbbe3857c063b682d79a2222077dac5225124ce179eb16884b1374788560f0ae6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/th/firefox-72.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "98caad307d4e72c3c1225249055b9039582a90c0a68b95c6ab4781c3e676833111de3dd88f4bf6280569e32ad8a8413cc7943a0e4b1c22abd1e59fd8463225de";
+      sha512 = "9875113f966d2cef50df360f3a2c1d2e21100131cf334a7b293cc859ab3c4146d56fd9e63544e35a90aba8edcf321044d233b04fc38025c926cc1b125a165651";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/tl/firefox-72.0b4.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha512 = "908a3bdce2d2b803ae50adf856671f2f1a2af2c4b7c603e6be166adc13028fccf2f8b6cee2dbafc20050d6cc1cad52ac76135200da32a859657a7f6ad175fdf3";
+      sha512 = "a69699faf3f7c67bba77e1ecc661f9e1986324ecb7c35ce8f5137363a9c6d9270d0f6bd7fdb6ecaf20e34588ac57493ff5c1b04cb26adcf06af43e989f565b69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/tr/firefox-72.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "c5cd41468c8a41b711301b05716840df7b9f536f435bb5938f46a6d7affc722b8c12bb6d9840d6c47e07b4dbd52d94f8c189b728780086114f8e07037282773e";
+      sha512 = "6b922577000343bd72fbfe0e624e85cba5a03a93d2134e6ecb4990795b6f078eed7efacec1b3d2f890e68e14a4f372c45b67ba0a310fd160378da922c08e5154";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/trs/firefox-72.0b4.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha512 = "f83946fa8d121f8dd3a51707cf1fe25e4731fa9ee43d6889ac36319d4df8c9339eabe95db2ea5c01064fdeed8331ceecb3e13678b012e25a215519b0bab91f6d";
+      sha512 = "502b72962788b471e0d85a4b36cec4b4cd5c9278858a646782e01881f9c84b26b32f9642a475fd6e6ebe5b7adf6375040f86d43cc50f47a873585dcc64d4a599";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/uk/firefox-72.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "2692fe4c88ca6d23e8d4aacaeb939b753393543bb1da2265c58fea5c587232c2b63043dbd6f7eb853c3617d30e707b99782fa683fd7ec4de8ed18fa748760347";
+      sha512 = "2e09bc938ff3fa1d583288da6a9d17af40aaed184100b1de54c6532ea4cb5ad8904b724ce06f2a61ed9d71f1128beeb478218e213b5a6f868fbc9f355b83a1b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/ur/firefox-72.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "a8865d0c69a3f72e1b9adc7cf63a6987c4e1e46cdfc4ac31f26c48d14c175c0c1784933458eba132be6e1f580764846107df905eec51b071492b823c5d312db4";
+      sha512 = "2dfd92b3d024034b8abcbe6aa2ad12adc75fe8ebdbeeb914ca1847eb8fcb5b7cd20fbe80a4c8ebd87991ee46931e49bf8d7fefc95eb5df9f6a84813ffa99de7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/uz/firefox-72.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "4cabb95e02a86579f95937b149dceab678b6bc117c8684d9204efc5d9d05fa4b04372d38da0a17e66b7e69c9d5165b1adfa43d45a2e7bb6189e135ddf95fe3b1";
+      sha512 = "2b3c0c758814806cbd9db8d1861a309b6b040bb12ba9981fe13d59d7edaa38a801a093da45db63ce8b3d1430e2cad11a2807d0d193423bd5df227b1db32803c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/vi/firefox-72.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "0ddebe6d31fec59f2c18541082d0a0ab0dcd0ee3ccec2e895aa026781297676c31f0a58aa2bc395c6764a0b3b911a940e00cbee159d4c40f45554a6f07e12ea4";
+      sha512 = "09e0b0bd2ff7c917b770110b4922c4d0549b0610b50e453521e92776e36f08f161fb419807c6e04bfd64ad36433a82e19767e249c3796cc3ed1a3efa72db44d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/xh/firefox-72.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "178c1fe904c66c226c7e2ccbe1142d101ad9e8ae59aed276535d7dd9afdaea17e23460c27a656322bd23a72b9764c3359af63ac16d3d11fc495712f70179aafe";
+      sha512 = "6014a55dcfb521c18fc0988bdadfcb6e6af840278a53f61704f775e40b2f271411f8b382d1e3d128f63792f862c5f7971c3c62c45f611124017695c94aa90ec9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/zh-CN/firefox-72.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "a648144767874c9dd0a6c66deeb4397b48a047a7c72168bc4597b2a0e30c557d60f8729400715b1cb003027f727eacd8161b0b19d7d2ae5176442de0e220bbfd";
+      sha512 = "e04c44841d5e9390e7535b4824cacf587cd23aa7b2e5ce0ceef532b6a3e9ff0e7ae8cbfca381e5f2f1cd17d484f02258b85e37917f863fcf16d4141812b5ffc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b4/linux-i686/zh-TW/firefox-72.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "c401b4fa658e8a0ae045bcc3488695cb619d8db7fb2ac74d7365e9f2c7b2fe7be1e2eaa63ce8c426f3c3e5d5a77f4ae019e6982879cca6d4aa6b54264d414078";
+      sha512 = "d265ef9a7883702fc6a834afe04eaf0c420fbee25824e41ed8293a275e98e2aaa2c34bddd32587af4b91ba7acf0e56f295091f21c034d304d081f2045267c839";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 537a30c01a2..c9dbe6ba4b9 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -32,7 +32,7 @@
 , libgnomeui
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
       libgnome
       libgnomeui
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index a9ca0a5fe06..a362045451a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "70.0b2";
+  version = "72.0b4";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ach/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ach/firefox-72.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "cf64b9cd170d5a1bf1765ed07df197a3d0c7411b5281c89a0d2adfb3d9c404ed9fd2c8c021fe93971b846d7ebfdcfdf08f3a5703e156d6dbab61619f53d6d415";
+      sha512 = "6cbeb3067c7213d3b675c0d932fd77ba068af1713d7d7f4367f470ccf4767427a9239f2cdcfc3d1e33e1b71e02578743e0bccbca2320a9271663d2ad76b4012f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/af/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/af/firefox-72.0b4.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "e2815831dc99e0373541a56a38fa936a97d93a07a2dd7f789f5e4cc45860ce3c1b70bbbe709d35534364586af5b0dc626a4ba36dc8881244f98665a80ba57764";
+      sha512 = "e15a5faee8be48117493171ff2d04abdf8011b4cf40d68d65ead419bd6619b8a1386ee9867a1229879ef75bf5b36379ed3bb04f6de289dfb2b5c07fa5874711f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/an/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/an/firefox-72.0b4.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "d7cc4b7a1d7fabe186ae10a9bbd5d746415178dc3d17255e2278c1b5a9a7170403cdd153668b94220ea68be387b0c7b3365c8d460bfe53f7b381e7f3da12948e";
+      sha512 = "c96a0c3f4b6a29347642e5583980f70affe1c84de4a2a6b5a304062c0ebe173e22af5fef1c775b76afa4ff8cadc02b7df7fd2cc8838af2c10fb94c34c8282521";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ar/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ar/firefox-72.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "8fb79f3636682c83dcf42b143892148fddb06eefca4c5eb72f5ed703b821dc2bfab7a167a58992d83202866dc07bfa09eee876cc567586791440afea676efbbe";
+      sha512 = "08b69e38444a7666b6aadf8b3533030c91c23d53771daa0f975cd09b6c9726845258aed8c06de80a38f1fa47fd57b36d0f21ad7eda6e28824a7574d371d6235a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ast/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ast/firefox-72.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "468bcff942edfc8ba843f6f5a4b42aeb2b606186701d6a371565c4803664591037fe44bd026fca790ff8b8bb036619862ec51f04af63acfbf393fe8ac677907f";
+      sha512 = "419c8ccb281b16ef69b55a13eaf891ca230ab43b28dda65048b617584b84bcc899ed47368da764413b89f5b004bf3f69393214d0e30611ee4545c8a581af35a3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/az/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/az/firefox-72.0b4.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "983f8d78364c1479a252806f912d015e791e8073bc7848c0bebb28c7a39d6ab08bac2bd9e4a7f1c1cb68b8d2894eaa927541a78836717066491b450c0b34671c";
+      sha512 = "0acd28ab7e03c31fa84c0783259241515c0e7283afd586ce81007700eb6de7deab5e6d9f6775a60b1d2238d5ede5f56d2765bcf08592d9cec4e3dbf04bf000f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/be/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/be/firefox-72.0b4.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "dd31f1d7d3f6fe10f9dba54475512016be4b26bf59ca0ce55932b23cbc29954bd80e95fb1e29f2ec695e8f16d0b0145ed0d160f1964fe40ffe079a3833ee8090";
+      sha512 = "7b3af40c4046173d5f28d8ee7e1487c244ba7e979625105d2521b91df7f1ecad7a0ec597eae8c95103aa43ab977bf1f9236ca7ecac1903d436d5b21a275ba26b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bg/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/bg/firefox-72.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "d08edb6750464805ef379b18008d5f3a76a649ee4d6528b4ebd255ab89205756e2c9978bd9a27f56a607117186d434fa2df49ef4494bf5bd4f1f8e2eed10b30a";
+      sha512 = "e4a28f963e056e4217998dc2359582d8e2d0c08658db18e2add0023084632046f9853536b5b59af0eec9ac3b222a54f75433a9094dca4e61433da13a0d3cd45d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/bn/firefox-72.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "a3c200e13d6b20a7fcdba2524501d936a183213f590213727facd9271867ca3d5ac0c59831b88e92a424b3b154bb9cfc66dfd8908ee28fe6a4ed15146944eb7a";
+      sha512 = "5300264897397a070375bc07338fe75cde2496a25a44badbf59376eb2eae339f3e5280ff281310e3d6c3bfe9fd2f6005f2b3f35ec815c238bc10146756e43009";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/br/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/br/firefox-72.0b4.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "235ca44c123dc8034541637b8cf5b7d7d3e361300639033dcae361bfcedd41360a5761486c990e7328e479b3073b5f68f01bd38228170c352f993c0bee4757c0";
+      sha512 = "656041367d9b742a1b7b178ddb2c5567b94dbb69631884c50bbfd439d4e8ee08c7c83b85a81dcb24ac202c8d4b42cce9c7bb33c707bc274bcb01d100e173add8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/bs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/bs/firefox-72.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "2b2202f8397edd25f871d0e9b7e2535be98559bcd84080b8418460f7f1e558cb779f1588e94d87e8e713639cb3bde3efa8de7baf2e2f36bf387d965bffb9552d";
+      sha512 = "dfa09428514aebf5282da86b6088f9d789be478e90ed8322794b2a7e3ab7db63fdfd2f437fa32cf17847a720fb968684b3428139ec9fa7a74dbcbbd5c1221969";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ca/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ca-valencia/firefox-72.0b4.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "282e55df900d832d2f22faa65e90d241a1edf471a19fd973c66f950796e3d82b4505bb35c13a8f502e19eb67d0f54dc4a9b7574f94ee448835706c6d7a66a608";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ca/firefox-72.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "23b7af96430ff5202529e5bbfc5d359d8cb9419b54a8e7dff6b1c828ccd1cd3ca686ed062a29f7e8ee8201ae1a2bbce7032a0f3f0cfc63168fbf0b49c52a9391";
+      sha512 = "44e71ee6ea38f7cac766eec9d344d74391eb850b80f0bd8b4b71eb2b95588910f2610af3b3e365e57e9c7211c272dea81899a9bb8e1fbecdacd3f2c3db76561c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cak/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/cak/firefox-72.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "beda7fd930fbcf0985711917ea4b78a94042072a8cdd325079f3568bfcf2456efa0666efa4f869430cbfde34091b9d7d101edb94fde0a0c6942f61ee9c8a4fc1";
+      sha512 = "92b0dc18e82e3e48ea48457a86d5f4fea673f6ce1f63b0d326fa1abc818d2794e67c10696fbda1b095efe3cf661f8426cc17839d5f72dfd4ce63a6ce683981ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/cs/firefox-72.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "1b47c85b7b5125ba416e18345c7247b85f29e4136d56333da14d8f2c3ebb7b9f81bd0332f6031b36e68e21d851f9390e171f75305bfbe0f46dd0b7c995e0b2aa";
+      sha512 = "c6ef644d3d78f2e53579c063934e596b70147556bb74de7c31fa2592a1f06e6c84343d5efc8ec14a9789ec340688d02cfefdacd4abc4183d0850ea79c48a6d59";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/cy/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/cy/firefox-72.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "071d30f74d13311693dbf3b4c1a111d12e53aaeb8d6207f8628f7a45acfcf797a722a5196086fc7b6c12545a8a177868a5669542f0535a4223df155867ec6b30";
+      sha512 = "77971dca0c2457ff1d938e79bb74ad94d1c6b988408f62150a17a7c25fda6c84cf9226b4ae6a6903a4ae3ce20e16d27e68964e18650243c347e2b9b6c4022773";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/da/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/da/firefox-72.0b4.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "3640a0a07c512e60e4119a683ac44cc596dc2a187d7f04a4b087540ca5deaba1c220403e398edf4c36247e92eef73de252d597ec082a7bc6e6c77e7ea799fef4";
+      sha512 = "3245ed636bf8556fdad23ce1f01582b1c06ec71a0cd30fd5d343cd79de205427ab7c4e194fb85f20bdcb69a06b06c13b7aeb9fcd9c69131bc0a38a0f7cbddd66";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/de/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/de/firefox-72.0b4.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "58538f8a9a0d6e97d49c005f45dc1b1842c07a6923a556d98aa13b4c979502a329adaf7b1782522e02a770945ef3809dc68138e73736593fa5ed5d07a1c9e265";
+      sha512 = "fe3ea14f2a3f3ebcda6c34f5699302631fcc69843fa6d825ce75c28687d11c49202a455d5627e8bb65927d9e45f201cfd8f4a2409bac46a6cbb88d998b3d66e9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/dsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/dsb/firefox-72.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "8a0ca47fdc85672c18bf883929eef9fa56b2b3b79e584c415c76f3005a55cca944700d27ca23b2ac2051c7c130b42b3551dcd1c05ec7a347ce6463ceecbb0748";
+      sha512 = "34074627334449991fbc2f907dc1b93b03ad7163fd8773d0a44043810eeaece19af574ea52b42ececf35debea347ead75baeda0e323d13aa6c80764f5b83eaf6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/el/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/el/firefox-72.0b4.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "c29d7b350fcfc7b6b76b02ef8677a21800d786e709b5e1b886532f74c8c11696da0fbf2adf6b22fd8c5edb6ab312516a2535ce3185ca5334cff9d79974a4f5ce";
+      sha512 = "2d50aca82f7b6d97fbc3905b08efadaba7f0ba0dba72ef11012feee5ddc19001fe782241eecdf9445bb528ecb16f8ca2cf8df8de5641cfa8455df915948e410d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-CA/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/en-CA/firefox-72.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "d04571c4f4b4bfec7f8a0eb2ee2ed9e9f91c415609106a97ddde7122bddb8f8a25685e4bc6c2eed5ccbad2111bc3e9db6e3ee27c422cc1813a8bb1941cd04af1";
+      sha512 = "6467da4e9af4c1214f33701e4b8105c6e0c6660ad1d1bb527592772488a8fba9272026cc1dcb090e7869ac9ef17e45ed0e97347a6ddfce778030f2f77c6cdecd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-GB/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/en-GB/firefox-72.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "c1f39142888d46884a51b892f232f6cb78309d65a6ba342a45d4bc6f3448ae90bbfd77d44f0e1611948a66a63bcb6d0f0e76f2c6f5fc3083d58b12b6df7cd2ee";
+      sha512 = "94857e1cf4c9f041439c1258b4481aeda8a28584afcec8d1f279586b31e1941ac9a2c847c50e1722e1e83a9156586f582cd7a45a5377f8bf1ba8e24e6fca099b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/en-US/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/en-US/firefox-72.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "1b0eb7dd1995822cf30aa85749741c1bdea6cc98b4eaeb1d11fd94b56d2138a177428734169355257a165350cf21b72141386d6fcbca606e9d3bc11f292563de";
+      sha512 = "6b5b0d3af32275cca8f8ff8d308fc4982988bfa2ec74168d6b13b3d8e962b799ade9c4ca39acd412ff281ff9e9b5505b001d888c7121a602c40f914b79dfa7e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eo/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/eo/firefox-72.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "e03f025948a463007708099a6e19abbd5a3e272eb03e053c6dc7ef156b1e4e83d68ae02bcce8f19fca1409e96e07f88a36537e08dcd73f1f289cd64a57b3aafa";
+      sha512 = "027cb71a76bfb08e54a3a92e2129244b7aaeb40ec0a809ff57666326e0e3e037b7c2b1d35c796e0d9fe415fb95483a6d7836f7f71b5e24e872b35fe31b809ded";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-AR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/es-AR/firefox-72.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "f48d98ebd744d4915ffb6f0cfaec981b8177b0f74297224555bfbfa7390dbec29eae93f4dd3ba51bd84dbeb71a4c60519414f2a4c3d75b7c96b59610e30e5f9e";
+      sha512 = "bceca49673a5744247678cf939f9c78b04f120c075c94158375d363fadefd8965a52db9f9129fc5e3463c5e8a35055477ccba652e8a32ac5be63b90b43a8ba6c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-CL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/es-CL/firefox-72.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "f593020ba37d0ce81a194772d1acc2f528ed826b009e034e17d3119e482b0df9e8dd518dd597687e566d30e2a736d89850e3cd2487d7c723e242a12f69962b45";
+      sha512 = "54172883b1878dcdd5e035fe41cc097e3d336c53d3a0b3452e07e1066be3386fe942892695d73f41423c9fd2927bac8c3cd8c9f8317e1c62489510d2779f10a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-ES/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/es-ES/firefox-72.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "081641bedfa1f4831641aa0029f8ec34db6f4965f9aff2c5344b779387dd887c2cb371908778d6cef6ccaa0448c98513b300244dab30f36f68776506f840b43c";
+      sha512 = "ad698bcf55a8c938ac57c9681bba92fe9b52b09a2fc23d3dbfe34348878c2f7dac8722d6d1621cb7f0c32b4d8fbbe438fab67c5bc085ef34efb8c3b3f91b24d2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/es-MX/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/es-MX/firefox-72.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "fe58f3745c1b0009e065979cb6ca451f377d837b0a41062e0ab04d435cc935d931d6e8200521850ce3161aed6f9583a67df14d0cab5853e491b1a433909947d6";
+      sha512 = "6b913ce655f43d70ba794ed722e39bd64baa242dcda5a8e9841e072164c441a6776c257145f697123d06c11d0c22fadac8bc6fe83e79b658ab3c05bb9260a66e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/et/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/et/firefox-72.0b4.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "2d1bfa94424af6f6ae08e11c99e83749408e9be1ac7face25d392c0475df978666706fd694b76558d824d226a50fa5f1eb8da52fd4ff3a1bb615bc83986ecba0";
+      sha512 = "e6e30e3fbda582034abd3a654a1bec8135245e1ef97b75917d23d52ff85d97ef8d3a9d16f34c887ffe497ac6ceae6460f07a28e440b489d461d391ae6fcb5edd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/eu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/eu/firefox-72.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "7a192de6d021fdbca6764906284b4490653705147c56b9709e83c7fc087916197c954ac1cc19cff3da78220d572492800ea5773d3e03cfac6ee75d5e6d8ae85b";
+      sha512 = "75e75402f548f38672cf1ea490095861f95312aa85446eb01bdc519ae1e6cf8f716020d235885a572c472ee25281b351e4b6f9473da1a95cb21b53bcf364c903";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fa/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/fa/firefox-72.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "427af8a45ae42e31ced616daf2d5e418e745bf43f87dd4858c983746dda1d52e1b909db542e9822c39019b13d1b47196c7041040f8c56e9f0712d7fbfba8b935";
+      sha512 = "f7331d511797a1e500420b9f7749f57570fa2eea2f68c9c0afc59165c0f6a257fc5920483cdc7a1f591fadd93c04878ebe04698b7491881907d9dc61d598e926";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ff/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ff/firefox-72.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "8a0627bff20eec56a7fbf6be6131bc004c12fd3033ceebe365a1367dccaf773c7c4f8592ee9a313a01943ec962ec010932d3f0fea7a94576372bb8fb735c90bc";
+      sha512 = "361c9e1e1c59b876499409b8ff1de96b1db67a0b28acebe88e212e32d9a4bf8b12bf0a9713e7cc443eb9d1010a633b6f973e029f261d12eda6b31ac2abc98227";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/fi/firefox-72.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "b86da9c7cfb2edab970d91b098c5ae3da60f83a9b772033d8a8a0a4db27afe62f5db600a17a883561733f1939bb95342273b4c5c7e004870c4eabb08648b822c";
+      sha512 = "cdeb40d6762725d0489f2118e2e14e278794f57ec1fd4c5121b291b56a260e0c853b81824a611fd4dc2bacfe60a909f9ec9c2fd983767e91dcecd5f34309c16f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/fr/firefox-72.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "54ad1fe9eaff331246817e2033adf54d5267e991ee016f96edc21b5c322a46103f72a5662df06da313a840aedd04f677340573e57b55a9a1fa611af3ead97e0b";
+      sha512 = "c812114b2f3ca5306acd33d643edaa482d3c706851bd1a58dcb2487dd5a3ba7ee437415f2aaed99e47962d3b66b6c566c3d7489869d9c10cd5ce1eb30d35fcbb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/fy-NL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/fy-NL/firefox-72.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "c13363513a633def5c2fdfcdd0327b201f5d6d04d0dcd698f614799ac88424d19612eacfc6325b11808617a3cdc3f92e5903d84cdd56fa68212cb1b2babb9a03";
+      sha512 = "2d02c41fe7f3dcc195e08a52874380996a49e5767cfe78ee19269a8c3bca57f75bb256e4dc7a24b008d25ff698cbe522bb2db665b3ada33f89fc2738540b7650";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ga-IE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ga-IE/firefox-72.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "23644670ee388362801cc4ca62fc6bf370d479821e0811ab493405ff3c8fce538ece89184c9d4f020c8a5089d3f7addd1d4fe298b55199dfe12f73408a988314";
+      sha512 = "cd234d2f8498fa191b68bd61348cbaae5e6785a2cdca4529f8eee10f19869ee6dd62d08dbb90512a6761c3b812d09581b43154d4a66037abd5460d989607e3ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gd/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/gd/firefox-72.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "967d24fee05d35aaf27be6ebbd3d31112126ee04bb750d3f17a2bd6a1abeab5ec7ee43235a26de5f19e5979c6d295e74ffec9f1bbf6fa32564f50986487b0455";
+      sha512 = "4999fea1af785cbccaecc63efc3e87e9b3a08afeb243d79175241a84da57c86f57c2a24b5ac097ba960f780fb90b65011c950a620d46100ca57b92f346570012";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/gl/firefox-72.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "9976dfcfbf3d93df9c06a4328bc73ed5e1a3b922a8a616cd3c298d5955964ffda4e4fb96e85a23cb9c950602959e11d86f3d58840d475e5c6f5232992da13184";
+      sha512 = "e5d1080fcac102f98148b6477192eed748318147ef2bdad81941872d81343ab04516d3c39db00fdf34950936389a4b02f4367ca33fbb23913a09c59a547f37da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/gn/firefox-72.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "155eee867cf421717c5c6720c2926318dfd7e3900bd42bbadf6947d291c3afa7b6d81610d53052700f32338e9fd4dd66ffc240ceabd5e6c6b6a3d5a18462b923";
+      sha512 = "13a72b84a30ef450ac12a3a1b42b9f8702ad560b251541aa2d3515a4c8aa06a8e3c942d3380e692783e8c8f0b4e0f6a4a25e57c87321953f42bbdf451fa58757";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/gu-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/gu-IN/firefox-72.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "82c58161e908a2dcbd10f8192aa9c89e220a5ef250d5b5037f483a415105946fad0527b0bb6ef3ea78b6b6a785064f116e17bcac7b2f45a1f0676e689f030677";
+      sha512 = "1e930682bea71326a73c7523eea8e7dc3d50c15899232660d8df17aaaedeca09aae6ec780ededc36d5f4c15d271297d2c6b6095821b20b5ddafe41cede0d42a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/he/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/he/firefox-72.0b4.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "c6f8f8c144d6acdbf65a733627a7b977ae0b1aea7020356ad8e8e3d1cecc568c015d5e3a523df00bc94262b1ba7460f22de6d06421119407914c3e3856b91736";
+      sha512 = "c6ad6aa8108dc7eeb85dbf5ebeef93db16306ae96a1f5d8c2ec1f6a895e20f9c1fa8b7ebaa0c12c0b95e4ccb5f00939c2495a4adcfac642b0071b3c81748acdd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hi-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/hi-IN/firefox-72.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "3ab7baf8b0609aa76cc3e72daa5bb0aab1feb6e4957ab032cb0011b575ac4f5f41689466a6ea10717c14065c463c6469967848a22a76bf9e03e53e9b3aaef6b9";
+      sha512 = "ca8a2b3cca71cd56ba469dd9465e779566fac77537803b6273ffdeec7c5b968fbc14e79f2c75cc7dfe809bac57c1fa8d52bc6408bd070d8409c7b575ab2147ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/hr/firefox-72.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "50be7cb19abc57bb3d3810bed8786c1ba8f4aa3f4c2d4d6ec6347b1cd263c724c6f138d2f95e579010c3dd893b432dfac169f964e78585601211de2b4144c02d";
+      sha512 = "c7ef8b4d58d5cfbb0d3ed1d76371c8dfc2cdcca35f701cf8cc72d3452d09da9aa673f85d27c54c63d856d6ed1381b7e2ee8b7b493d2de954489d5aacd9976ab6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/hsb/firefox-72.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "cdbf552caa9d85ca5cd2501a98c7270eefbc4ad31db3cfc8399dc5e2d7dd7344feb71b1fd7bc6023e74dd10963668f004c4c7a74f518cc849539d9f780081c52";
+      sha512 = "ff3c870f4f520ca28ed55cbe2b27fea748c6c72c44e949cf5c4130c783b4c63a4bcfacd66a03cb245bc999239e14332eac58b4f6693a20f975a1d3883b1a0590";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/hu/firefox-72.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "731cbc3fa44e815fb9e437f863eb218accd37a009e136a653947a5571440dd839f025b724c160ef3076f87285f51503a1a9020f470076a71dd246caed8f66237";
+      sha512 = "42c643c90d1dc81564bbd9cba8968085ab3672e442b9ed2c479aa2c1ce05c13abef81e2010acf95b9a9061dd0d7fae1cd2eea1be3fb5b71e6b219d04b508f95e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/hy-AM/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/hy-AM/firefox-72.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "0be8245de7830aec18132d8a36d9eb48528070b09d87cfcd8dff78b0d26d79dbd2cecd94bf5088158253849c2690201e38766cf85719126d232932384c7dbff0";
+      sha512 = "821dcea6cadc785196d0575edc9d5959237eded2593d87be7228aa90acf1c606e186a7c3d2839d0fb637cd4a456e5b79e7d7276adb6fb85c0d436af5af6269b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ia/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ia/firefox-72.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "09fea9073150d0b6464d0769317c94d397eefcbd1577b73bee9601fe3babe12b7533730383a56629c2470e39628f11f0d0fef36a41f3212865b2643ca2f00add";
+      sha512 = "5245ef106cc45f351dec5060d1e9a300917cf71dd128761b6e27da9e807bd309bdf271afb6ddf249677cc223557a98a4611ab3679c78c00e65eb212fbf77c04b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/id/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/id/firefox-72.0b4.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "94b0340e3cd930ba39520ad28198a108bff9ffe40e8e1de77bc783bcd211d7cb5017b2c894d212a7a024ceb69c681f76bf513a38a3cd40aa6f846afcff32b3a4";
+      sha512 = "a18d6d9122373d914beba1d3b15281e09989752ad123356bb74f8a93458873ec3516b476f9d46af2931e90f06202730c4cb38a4e042b19fcaee1a7af0a7bd3ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/is/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/is/firefox-72.0b4.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "68fb812f36082a9bcc41416a0ddc704c69ecd0e5d958d16c1171c7be27097342a57980692b1000fd13c1de893404fab0d150ce675e0bc4efa96e06748d392754";
+      sha512 = "bccbd4588ed806b3ec02b8c872f82925629139a0513d46a6dd06b6b9f3818c98084a3a3bd99cd1ce987e7abdb249aeebbabc54ea1531d33e80bf945aa8666558";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/it/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/it/firefox-72.0b4.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "e02f944ca83b869785b92a40a5e13f088275cffe26084f85f5d866ce5f9b0d0234e7a9fb5907e4f97663fb00091005ca73142d14f99465c3a8b1888aaa5784de";
+      sha512 = "e90424148507f0623b8830e45e1d6e532c3886b2e5f6b75a945265b922e8d7df94a84b691ebca2d5b533cef2eee3c627e762df3cc83750e3f5b1e5c6562fadd4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ja/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ja/firefox-72.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "83611da83e6cf95dbbb3dea3586ac3fc5ab9e770a75a55e3868543c9f43fe481f5e6775dd45eb1cbeda06bb60619fe7867af64c7c8c2efc862e7f23fdd0d0ac1";
+      sha512 = "8e4e99b2108826897ab62265d9979afa72ffd4db52cbd313376572f75bb4379b972aa4aadb26084f9f0ca0eff38f6e03d3b8caaa5c28c8dc602050c13eb57c3f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ka/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ka/firefox-72.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "94683999f9bf4ccb13dcce3f993291e5568a3a4f107bccae6f8b95a2d05c8e68a62e9d24ba9c60264c17a027f1848e82cce6fd143994e69e2000688bc61df543";
+      sha512 = "a07a19cfa9a854b65842e869600033000eccd9cc989bbd74c1eb816ed53b02df0b66b48b16ea9e912ff6714865855ae910f30913d331854db891c4fbb27cb91e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kab/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/kab/firefox-72.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "fd1bdb8ff2df2e8c18ab7d13b1e07b128291b410607571426dce5054e8e6b221eadedce560c5e16d65ca2917910df02f74d6573323f7a26375f1ffcba080f22e";
+      sha512 = "be1a256ac3d4731697dddae8fcdc81523ff098f4c2ad06745d64b0a010bb83a2a9e952796edbf96da8b853694c345835ae41c87de4277944d95cde05b0e57efa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/kk/firefox-72.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3c53e12ccf2698778d579c09a26a522a038c4510d7af8fc9accbdbcb2c9013e12e243b88c03e7075ea76258abf2d234fe0ff7a06538f6d8e0f363ca3887617ed";
+      sha512 = "4ea0605b2bd0669171639217347b8ae60c22166d21638be4a4a4e1db37b43c7c350607846e6d89b90f171d05248c8aaa75d417263165cb993ab0ce93252b99a7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/km/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/km/firefox-72.0b4.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "2d3bab56eed0ef36ee41b11071dc2ee0407c675421fb23fe095ac81ecc492813bac115d03b3e832c33b03fb2df89b37a6153a388b44e540d48af93234cd41888";
+      sha512 = "613c836baff82172a72aaaa194478fc5b116593d9fbe4fe63811bad5fb64710d96468a91d7c0d73d72a3af11e2254303fdb8db7ae1931a39841da7caf7e22229";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/kn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/kn/firefox-72.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "b4dbb60f0aeaa203483a8c7c79afa9a9e8214b032507c0754b4320eabc40a39fc0a242709779faa38affc2e570dbfd70e1843d712c361ed9a3c52dca17b72eb9";
+      sha512 = "dd19beb8ae0422d0a54cd1f5f627119bbd13abb1cb723e490a1306f609bd9ac7cc8a6bef1b72e7d299ad5270472bffff4dcfccc7ef8a33137c8ab17d67cbbed4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ko/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ko/firefox-72.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "9c3e9876dc6363282cb302a65c3cf82bb14fb022e3f125fdad2e554d70501ef2b275826c4dcf064119463ceb93e6f0b8dab8c273364d1331d6ba5244eb0119c0";
+      sha512 = "e9180e11b37d361f7dfa8e6bf8a907d58f2424373922b65f06638060578d3871076a69f326d96590850b1f4bdbcd260bf9bc3e3b5748895e86ae953c8f529818";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lij/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/lij/firefox-72.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "689c0b271e7efd6c45de879d573cd5fed31d1ee2445849ac3442559f11d33a500fe70e861b54b288cb84ed42434071f9da79db2c1c8f7460ebd53445079439ae";
+      sha512 = "c14c338e9ac17b0200c00b40e8c45743baa5c279107aab0d2ab5f45330d2b7a513444f126dab999421b704790be00e2cdb4783236c41091b2f8e1973e2ff4be8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lt/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/lt/firefox-72.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "92ba0cf69d128848f2fc4dd86171ed7e4eb56c6dcf868d3918c7fbf41bb76305839f410567bb1ee7bf4ff114b858127dfb0320f2672560cb38141c88b601070e";
+      sha512 = "aab19d2dd90576b91a154106674fee1e05d46d331810a33d28205048c0c67451dc3fc30ea70d2233e6139c7968ed0d535490538556a288d5c331ec88bfa0a90b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/lv/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/lv/firefox-72.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "54587e5040c387431e94b4739a9e34020d7dce1777195122d513175b71ecdb44663c416fa648ed648cbf4f6279b7fcecbf819f6fc3a61155698f0dcff5f42212";
+      sha512 = "d2fca320d8aec84cc718cd40b24a7cd18ac23e98619b69666c330e84fe8078be522deb58b2575d2eda1d823aa413ccfdfb68a4ab83fc99f9b74054b887f81fe8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/mk/firefox-72.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "b7943903f7bd3783e5c3776d35125b19ed88e87f6449f25a5b26dead87407d0180cb21b67c89971d3e975d454098d22706c74a33d21c2888a90a0af9ef7b601a";
+      sha512 = "4079ef459d6f1164023afc07b4736a186f45af41ea9e76783832f1d8431b9de7a4dd8a425b4c203669417fdaff1fc6bd88d65d3f6b9aba5d0d0394f707321746";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/mr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/mr/firefox-72.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "07e742844231a1dc7a09a268501934c63caaa482ed7117d1a498c66b6f5c1d559e3b0d59cac06b9c3d358add59a13912af1dd11a6c2cf72d5cca97b68ecd1c32";
+      sha512 = "3c4929d49fbd0d20c6cc03e5c2d3935ba291c99bd955ff56e10fe75ed872082754bd27cd9a8d6c92a7ce3c180302465ab6e6d77f1b230b208ebfc53083e78064";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ms/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ms/firefox-72.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "c649789abaac00c55ed415bdbd9c28185c56795754324517f5044cd753aedc004482501537c67c42afa616ddb5890a4ec992379fa30a28b8a492a0e559a73f95";
+      sha512 = "fbe861070bd7ef6d2a00bd6ebe8bfce566d4d771a0882f932ec1705bdf06eddd571eec1681b4cd70b204aac5559cbecd89b3cca5e6dcbbbc0cd1d0ffba51d51a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/my/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/my/firefox-72.0b4.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "06049a7770f621a9a72b5e563b485b81caad533410db23558679100f7a422fa1cf2a85233cc1bfd5d5b9c1705f8299544b4cbb4f52de3c73cf33bbe64cf845bd";
+      sha512 = "6c7223ec1b5f02bbf47fbe2649d954f3603795b137ef23e7b89a6b43851bb6ea020c5760c3e78c15188e0a2a794c44936f208aa13a64133d0275fc45a19cbf5a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nb-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/nb-NO/firefox-72.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "5f80bdb4a310d46cf5b3b36567964f444c75c92e19b5ae5cab81847b2b601f04ee3d43a2325b8bd6d7ed3422f146e90612785b25f982bbf95a86057344ae35dd";
+      sha512 = "bfab99dec528554cd87d1fe6c1be92697c1505c8e0925dcc4cbca3b010c55c0790e9aa4d189c99e2f92ca4e1dff446fc3be1e5409ed1ca91b315c798a9aa8f0a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ne-NP/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ne-NP/firefox-72.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "f35496c71aa7efbab365e80050ef218fd4bad1e8c015bb97df65aa0e4f16613b531d40bbcf4739aa462077026259ea6f1d7ac71b10e51e04e75d120dcbab3ca1";
+      sha512 = "9b8916623c93b78855c13d1d6b1fcd65935a23d43b5477bc385f2afefa2bac083b581b7eb8595359be907315083e1744f3f338b7f058a8a291a8925d83021cff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/nl/firefox-72.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "21327076b9196d799a40d28f1fea66f59944bbb0757fde66aba2b0f8b929a0d45a01bb0901c4b6eff4e0e5f7f033a44d2dac83c94494b7f95003c3dd620f1ce4";
+      sha512 = "c4150d0649385264413f61825c29cc187eab2b91b6522f03108eaf73b0fbc197d1004e422e759dab34d3780630de531e265eafa5b3ffcdd6c601909c9a9dcf5c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/nn-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/nn-NO/firefox-72.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "dc444e5546d1985d0ee4bbe2394e9e51131b46b9e41dae54c1402a9b08aa7de4a7d73fb57bd677af151420e71073ac398d28f4ae324b4e6e3028f01fdb98bd76";
+      sha512 = "1eec2afb9d67c6d6ffff3d94585b05fe96ffd011b99912ab20b4dc4bc0a7a4336080a03f58ddb48cca8575c94f7e312a6da620cc25c75222941d8503c3a5934f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/oc/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/oc/firefox-72.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "0c0fbf38f078c0fc4ae38112611f164808c7b9fbc4e3ef7d57e622e918f5c581915095d5bf7c92cc0ef9beb67cb04ba9b1ae1e011b7c8f91f23a79a326481931";
+      sha512 = "c5cd7d444c3ed35a49cc66553eee0187c97e867d2917bba2b490fea3272374d48ac235b313a8e9e7583a6e20c1f4430562ab7b428aa8a9e1aa280b0a357ba470";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pa-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/pa-IN/firefox-72.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "b9f07313118ddfd5147866045e047f9ae7cefa0116d86aaf7f5dbaa2a64bf14f7a56bb748e115945d04aeb1dc4572d54b3d122c1e775062ee1de366c710726d8";
+      sha512 = "fec801cf39e9d00a06e7147469f886cc6014498b13b6c010e3ba73c09ba95dd142f262dcc0aa84fff9ff462e2b0a7823957f41248545cdbff6e56e085cc21afd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/pl/firefox-72.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "bd1e920304e1bb7bf6cf198c5537f1b106b1484b7ecf683e1424d208b736d2a3ab40c7e885a385611ba6f033a2ae4fb00cf6113810a20dd8808a34ceb11c7b38";
+      sha512 = "abaeeda6ea0c61a7fb325362dec9fc1639a272b144e0f5a534aa41bb56add7a33c1baf2b339945f1fdcd469a1727e1fc4d0ff954d9920a460081b41519f43ac1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-BR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/pt-BR/firefox-72.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "e1bb5ca89ea0b60cb2997b9dba3fdb25e90914899f38a51d4506cb9bbd3d61f33d32ec3a9d2d79857d339f107134a021e0253b6a54916b48b6aaa5ef4aa08638";
+      sha512 = "d07b9827b4f570307361df5e04662b8325047432e8016b810b0898b71535356c472e937e5d3fdfd58001b68b10eb1d9dcca42113c759522dda8925f468571f81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/pt-PT/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/pt-PT/firefox-72.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "622bab9fe052fcfcdeb4d12b6b8773ed08e14dcf51fdecad24a638811a2f25c1a1efa13d7aa45dcdf06726eb366ee78c4abc7d22016303a9048df9af314c14bf";
+      sha512 = "787565d44ae9a44c09e0a342d53b395466cd4bb82939cb6f0d1177659441c24402a7837b92e9a1036b18faf91714925274ebb3a5062bd4e7895099ff1ed65b26";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/rm/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/rm/firefox-72.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "b02769fd926eebc180eab8f3ab9aab7d2a8d78d81f51116ef156865c74b60ac76ec75656455557dcfda2323c3dbbb438f8979de64309851f5b77c01175fc4b24";
+      sha512 = "5bc7abf66de4bc4f98b020141dacf4bf1949549f3967211f2542a5148535994fba4df11d054a1439f4b80e04ac180fc6b88e5fad634838dc27447d6a9de7ba62";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ro/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ro/firefox-72.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "572204e2a2a6d7535ce36ba9479f1fd634069a1fd9799eac6a3e5dcf02133859f4574ab7dc36018be88e53ab5a8bafb561e5994d013c0b9da7c9ea467183bb81";
+      sha512 = "20ffba73c479aee7e2413ee1eb10aa37adae41ad26c0cb2747242366847c5771a707c008d7163f9ca11fc32626f67b468168ef746cfca8ac0c7ad801f9751a69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ru/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ru/firefox-72.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "42a99586fa8d07827a597c83fdfc746beea7504e800037efe0e82b65868dcb0e1ba6dd2aa401dbe64a30879d521215d180bb39906ad332d9e362405036da48ef";
+      sha512 = "bdef494dd866170c693f13f715a7b931069bf8b025ad729ad898354ea168289ff7947707310eacbd8a4059b59faedac3bab845116b6e6af8bb1af22f36bee17d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/si/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/si/firefox-72.0b4.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "288b629c23e7bd61b64b3f5947a93753ca780906b537d1f97892424c7ea9f890008370f5ce44e74062196558e9a088856236c98031996f5d9b40b454827fb1cd";
+      sha512 = "51cb393536e620c83c725736d1f4cc6744a10453dd430163dd6826566694a728aa3ec7bc15b5ce92c01b1a09b451d8fd4750c4a838e0c0993476e0dc0b8c064d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/sk/firefox-72.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "47b295382b39a040171ad46268da5005173a1206a3ea26c7dd8138d287ded24740f031456dccd2fdd72266691aa2d893ffc93211ebff2759666a643e3e448915";
+      sha512 = "c39f1527d1238f78c24e1b1c2ade7808f70be6ffbceac3367bd252ef5f333273c8b35bb9ff5434cbf2191fe26c80f63c141900a9292ebabb6a51d9bd70b8acf3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/sl/firefox-72.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "fec91027bc619c7a6d0092db4493e40ab31311191117e1cbb39bac33450c9f8705356405b6ee38b52201ba39e4da8141505759f891c7e6ae3d8d22f9ae29a629";
+      sha512 = "67ec9894f56de39ca324325add1ac92423611d1d158353cc1c90050275e792706b0cdd3ed1a911870c431f96e73bac15d8a2a542af2271ad2d17a445b3f51ed9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/son/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/son/firefox-72.0b4.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "8a1eff23ddf4391e77947519a5178724ba9393370669bc05764b971bdd930ca8ef9ede4cb0ba60c50daa2214d4212c6159f7379e16ec9a5c538ad8d7d39f0ff4";
+      sha512 = "41af46b52cee6d283a1908987366950584720322401884c9b10cb24bf3a1f897ffdc8805a63e42aa084600c638b31f985cff3e9ebb504f66573b757690d00254";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sq/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/sq/firefox-72.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3811b809979c87996b8db041cef14b7987331067dffcedcedebf36b9b9569c70088a38a624361b25ea5dde2af6005fbbe5add558cde41d5cfed7687a2bd96847";
+      sha512 = "8b8dfe1b1370c7d20981688d069df16d1e04cd215cf183955ee41b6428de75f58479db8aab0313f80a108b3591997dfa9120632a7e11edf6df2a970eea18d03f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/sr/firefox-72.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "fbbc294a2f387e6ac44e4edc1a9b9a384d3677abdb6717e550f774d731037d0a7ce8036f25229efbacff75423e9a185423d2a39ac951c77ae62653097bc9ce26";
+      sha512 = "a85fa87b55516c137433b5f9f196e2148a273f5dc1d6a76eb4f4d43fe9a868e13e0fb9c53b0b6ddc601552f7cc82450dd972b1da0be80ec196f9f0b9e1049329";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/sv-SE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/sv-SE/firefox-72.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "0fbe4d264e97ce88bda435f7c8da09e589407030945b51b68004b5df2c0994bbe294a87b7a18a2e03a8d1de05cccbe2f23ecc59dbd1945c28b80c75e0ba45c1c";
+      sha512 = "39c67d5532df355157fd6472a6a7be26fed7356afc02b1be41da402f7864d39966bdaa4cf2cab5e5970d40ae047a0d0ba1db2c3d683855808114a916a55b959e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ta/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ta/firefox-72.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "57b86a405d32d9ca991c995316d51fc6f9363dcdbba2d0d1d601f302afaf863911e035d30ad67751210b4e3c726b3734b62b63b7dab6cc2f69a172bd8c62493e";
+      sha512 = "2927aff859647cb79334b0d39d76e3a78aea8556ba976abe895412016cdb86119b65fc9ab63e4e89c9f69b0c50f5c3eb6cd700da38e1570e6cdab385c4eb0a52";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/te/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/te/firefox-72.0b4.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "54ac916b2352b545ac8f5a9ccea2cc1ea5b3e267dadec7bcb06c3db7406f4dc5f7479a0f2c3954e9e19d093fed849df50b45c51d69753626149757633039a4b5";
+      sha512 = "d0a33df588d51fa495234b7e2c443acfbbd2d21bb50616445b35cb7d7272774228cb1c7986ac1169527e691cb6b57009ee9ed06d9040546a57807bad3c06d229";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/th/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/th/firefox-72.0b4.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "95ea774a8266d51054e7af4db09503963641981c8db332c8119e61c3d6349234aae202cc3e9726449454440f10f8ead17e4d6c682f261410937f7355cb7668b6";
+      sha512 = "9aeb8046db34e354b4e52b56cbf3829aab909a8330012025b52e62fd4d73f2052057d4a0611a3aff96c5e8e67e547f1a266a1c35fb1b9384e8ac20ae32306cd2";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/tl/firefox-72.0b4.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "07c9a44489ee171aa930d0cc5acb1ee6773af6226f57593ef62e85163c941dde3f10d2f3cb0debdeb6762ed91834f9fc3882b0ee971c7ea73f26e1d85a14444c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/tr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/tr/firefox-72.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "44b70293b353fed9b8435de36178ef6ee3fea108ad4ee129a1631eb32714c06aa23d58064746cd62a0f407b1f0557da38bc749c3113f3ba1d1b5d049eaac126f";
+      sha512 = "3a77e7f1a51d2ba6c0d249f57c06332adbe50da384e46bbb88947ea5d6afd32b09758e47a9e658aff193bcbe73f5c4513e1cd15c0eedc2671bc9d49b4b910232";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/trs/firefox-72.0b4.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "0ee6aae966087407b48d74ad29a77d428cf3cbdaf17baf9972954a6a256d4ec029e3d8ce4bfae8908ac55bebbf99b4523e23d3b7fa40fcae25749eab6709db5c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/uk/firefox-72.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "ec6beef8f0b068b7c301a4a1a0c769b66ed5af08414d5306549b9b077592b06a2eafc175ecb097b9ab5033dad15344e52588506685222c14f73411a5fb9faeba";
+      sha512 = "6f270bd929a336fcc519158fced67a62b6763bfc77a11ea53b60baac75bfa91c63127bcba6f2bef032a37d54fea4153d7121dce61adc0b1c183a4cd93e80da59";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/ur/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/ur/firefox-72.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "d1efd485f869b6555672d80057dfecdf7775cd45bde0711ad90dcdac8ffab4b46bf04e9350a0aa7629d9939c953f434e75b6aa458cc835e6cd06efcc7fa1bccf";
+      sha512 = "02f2f5205aae0245833b48ff9241aa5130821633ee3f74be367b90536a85e33d41dafe9a585f531a550e0e795dafff74e3e0cae7050593de0d32489301559131";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/uz/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/uz/firefox-72.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "b7cae3888e2bc4a7b31a0b7313b7476799b16055f7af8e4016083da8a71f40f523f9963d79f53bd6a96c1bffe2fe2d34d62518bdbd9ad137fe17f4c175fd0f06";
+      sha512 = "642652955f0cd1882b213dcc62a3931c90043a98d711136743f73aef3f325e1c09683849267d774a070bc474dc3332c5d1fb1678c8616842085fcd895dfaeebd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/vi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/vi/firefox-72.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "aa4aa778e35e72122fd857c736c226d62e5f6ec73f1075500728e90f9c2ddaf9c0e6033d1785b4102918a6db32a744617552769c29cedde655e9a3f0b173a4e3";
+      sha512 = "37d26761b42c676dda8f6007b95f2c598c9d340958b86474c9dd655415fbe41fd6d4dad9e7205aaf5039c7e5746a6c71bd5459e0660b1429977d99c881803d8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/xh/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/xh/firefox-72.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "41619782aca727c09262de57a128fdc7936cd4b3ace84565cf687a006bd462a3218682c56693efbb233df221c66b2b545cd701b025d6b3a5308b132ff87b35a4";
+      sha512 = "35013aa94ca7b4bc02db1d6bd953d23f789576f29f3cc8ae10ab1ac11aa9db4c633e21d73d49221f2ada74569d3c732a02ef21b23eef3e977ee9f46e2b3fc90b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-CN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/zh-CN/firefox-72.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "befc922f6256bd8416758c4fcae972e939e645a752a97863ac0b432310605cbe46dea4c713d4ed86189a9f4094131fdbffec10b4d771b061335baeb180b75ea7";
+      sha512 = "150a697bd5a24edbabd999a1f4a538d1937caea035a9e50e55aec6b40a1c20bef94b5d8bfab368711af84b59f94604be0c8b74cb37d0248597a5f5c10092a81c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-x86_64/zh-TW/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-x86_64/zh-TW/firefox-72.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "3bd89f88ca805e3b19edacb97efcbf50ffb2f4b3baf67c1d64d9c475922c6ca5ace13e07de292f95efc0f78bd1b0fe9e9e9198288c3d874263c7be6175291eb0";
+      sha512 = "003065b656337da643933c173d7bd8dbebd74cc203832206ca5d9bbb63d60a0b44b002d003951aa810458df19a74f45148cb81489e7f059a07c14082a9a61dca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ach/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ach/firefox-72.0b4.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "800146462c9bdef3a5cc021995ec558ba02fa1b5310973286d1360327aaa9967430d1432775c44c21dfcde6b06d39f9b7b7568661734f70f1452e78071ee440b";
+      sha512 = "5b9ab917b51a25bb9b0f640c842f550e720f23a4afd1c6bcf089ad7d09453599df63e364d74f2caef63baffbd3ffcafdc9ec46dbf5da4f88100a8958eef0b763";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/af/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/af/firefox-72.0b4.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "61b65cbb84523e3cf98e59847d07ec5766b2db3d5fd27c4633add006d428aed40c77f100dd87ab222b29d95bfa4cd7e2f7fc8ebae2fb4712935f51546939dbac";
+      sha512 = "797dbaa4cb4dfb2f02b20215131efb4f24c4b6424e330c7f185f8f208e872ce8104325b6fc1e03bd86bc52b865072c75868c12e74cfe724f551ff3496eb1a1ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/an/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/an/firefox-72.0b4.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "f9808793e9657622de595b529fb6341c13ded793177413ff5f829712f7054f42c98de5a5e153deb3f8b8f3b3fc8e80fc3737e1dc5ec577731744bd0e992d7be0";
+      sha512 = "e1d9a378e0d7810483e9f9848ff6e765f5c10ea2c6305dbed31e4cca576c780dd3c51154352d2de047af820c9ddb6ab4b1209385ca25440415539a7ff1061bcc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ar/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ar/firefox-72.0b4.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "9ab1dbce20235787d945f3ea6ada45ba174dbb9169f206c2aabeaa2fae8bba6f4cf55577c1985f59f62d2a302d97ad2e3d7b7baa68682e4ecf3b8978410b45ec";
+      sha512 = "aab04ed5df3ab564b503f13b13021a32f4c93a80b3b3243b1402ed67ab1e5fbb7015895b57e25d07914e4b9394cab92aa6fc929f36c4b92d2c973d2b08a33f71";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ast/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ast/firefox-72.0b4.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "c5e4aedcdccddd1968564170d7f74deacec13e801bb19cb97ffeb7923924d66649b2bfcd0823d8e2b27b737bf5b0b558c57f931f1ff8b6928d2e2ad0c63d270c";
+      sha512 = "9eadf148b729adc3e3bd1f8d9624634a05d2f11207f16bef3023cc264720044ec08f6699e386e54692a95925a6a72749941ca7a3d5022e7b6341db7369ddb460";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/az/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/az/firefox-72.0b4.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "d67fba709c62bd06288bfe80bee2e08f370824420b52b07bd0e8c6dccc350770f0710e22ce55f9ac4bf989aea74cc3db1ee026baa7fde967fdf14f8dd9694702";
+      sha512 = "4b172bbf812bce8efc001bcd113fc2314225c4ed3661f907e40bc4dafc39b7c15b6909e3b1e406cebbb7d5b0b353d8398a9a177c6f1c39e893612d9e8512b918";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/be/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/be/firefox-72.0b4.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "9fcf25f380bad5cea7c8fcceecd0734239bcf10d3081a22a24899103c96a388596135676a0769a8c2cdcce0ae7abc67e8a0b65621725de4201919d250bc28f02";
+      sha512 = "ca921d8abdd24d7eb85e3cf32984db6009d74d402d0b0f48557afc42037700a47ec40855ba5b4aa85c3a79b4437b5235ceee3889411325276c8ade11adf788ea";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bg/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/bg/firefox-72.0b4.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "a7a5818af9299a4b63098c102019134dcd74001a92a2d672d2c3c9e8dad6a58c28fdfd14ab10b96262ce34fca4947905f100a5d89df0e106df3c8b9a0a1796b1";
+      sha512 = "acd98884f4299bb95ef3dc46331a0257a83e80094b4e6ccd9ed1f82fc7c2b11e3915cee83af7cd38d73d7dc3383d1b9b241f82a075a106b58d9beca7103fca12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/bn/firefox-72.0b4.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "60de18a8524a67dfb90ee9d272ec06e70b4393b3ed76acc7c86a545af561b323710add4a4d8a896982dd8bb48bf3e32496fe800abf50fed509d91f0e54a8d04a";
+      sha512 = "598c5269ef854f0121cfc425df329fd7a97c1bceffd3ca8f68d9b1dabd653a74621a410b7ba6490efb5881b9074889fa11d55552933b3a58d467d920cc09067d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/br/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/br/firefox-72.0b4.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "61cca84ee862455860c3889480852df1ea62dfd9ef18209ca24fde83b3971ed7788811b4c6ad57a19d32525fa67ac82ece938700682385a4b99587959bc2af9b";
+      sha512 = "b2c2d3a51286daf2ce41e076c79c466aaf631cf3aa51a6d824260a228e4b160f7366ddfdca75c87e7f4502be8306a985fa23a5d7e923767514e127ccb76cf9ff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/bs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/bs/firefox-72.0b4.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "45fa72a908bd24e6e8f35fbb1337b394850eeabc7d52252007a93f1f2993d4e43fadd3254a41664ecd76da29ed3b72dbebd95bf0735c71f07d9d19f3e3f723b9";
+      sha512 = "5b972334c648b9b90add5f92b96d3385a677b56722c0b7340299fb81a5ce16169de3339407d2327b4f440df2c137e486fa73307fbe8e595fae47a64ce4bce59e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ca/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ca-valencia/firefox-72.0b4.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "7e038cef24ae848c304286a9c59cfaa70ac300720cc03decb8253b1986606419171217fcd117ba5f9e201a198ba0685e34f9edb88584559b1879badcc642534d";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ca/firefox-72.0b4.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "53f9de3f0720b489cb7ae59c2dd2b7c0cbc6bb7306e802253562fb508ce0ff1415cf5b76c0a3eb085e592562cc1d39817009ba1e668e4c68f4ee0c8b5947cfa0";
+      sha512 = "e2a880226f67636a0c60409e48e48c858d9fd4c539df91005009598b92da1310302f3d6f097f475385904a354754e5128d4049dd369eb0ebc49f4269860f0e05";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cak/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/cak/firefox-72.0b4.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "ccac21ab9baea681bb170309fa3c1e7762aa731e49b831a4a45bb5a1477bf2582e1ea9ec78c8c63838589fbfe74b3f8e31653caf7c13355cc92de959b0d6820d";
+      sha512 = "5cdd469ab037f891bc09b42bc53f62eb46183a4865d060388d73f386d4f57702123400ff1ec3a831b98e98b6d67cdfd3ad021e336c54fdc531f414bd23658f57";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cs/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/cs/firefox-72.0b4.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "ac08d633f909edb3663d7e7cf5a27c1226d91a244786f941fc4fe771a7d5104183fa43782b8d838bbb50ee9342be081e28467b4dfaaae1c4b2a39233d5a9e31d";
+      sha512 = "a36ad27e7288448dcb3b36080cd2b92652c8d579f551a903a92ecc55cd82b0a1d33d6549cf183c95a0e6f3aeb567c378d2900243839ff703341f81ea1abe51cd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/cy/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/cy/firefox-72.0b4.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "176f3b9699e0b2b8c7f108add3a07b90664e7eb5170c9669cb5b67f2b0a6c0b2a6c47cfb2e34494467aa865f12c12c525fc967761878b92e067baff2d6e625ae";
+      sha512 = "eb869584c63ba72e24ac53b0c3bfa972ca80eada99b88454a2311ed9583cf90af9e2744f15486d68741a3912cc8cf4208b4b93b445362aedae58606f7e6725ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/da/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/da/firefox-72.0b4.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "29b8ccdfd4f202f418ce2005e5edff4f69d3c3c337ee78069ee9c13b9fd3e90d29b28ad2801d8133119ae3048b6a09ac8105dc4fbaf1dd8f267fd15bb9ed31a5";
+      sha512 = "7fb996c0ffd07e5a9e1f76754dea4c4f18e93299a036bea2293609d06da5b2902fe40513c386f41612c5b2878fd24ab41c7e73d568364dbd3ec9fb57f55f7a9d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/de/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/de/firefox-72.0b4.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "c041f802e2c5d57f013f018e192f2c62271ee15f53a7bdc9adbb447f5b3319e4da0c9743b0cf8ce4dfb03e94d0b81e0f8256b749c4eb3ea3a3b9833bbee28db2";
+      sha512 = "d80152df53b9f43cdd85639c3d7c2dbb2f35262e737d4893ead4d526f1259e2971011f75b58e415901734de41ae72244085f7cf57ba2f17b9dbf7b64db2c5be8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/dsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/dsb/firefox-72.0b4.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "a6ed5dba712d1c5512f5e0e1caad7f0b0f7e2ccacd891bad54aee79cb749bb79610a46ebc75bb662352bb8419d8e0f047c0b0f8214f11edf8153708040188b5b";
+      sha512 = "cfd2384c1b1ff24d9976efab37c2492bf70ab8ce86b873497e91378bcfcdc09e9a6ac1b8f3993adca57f86ce697a9a5869708114c7ad5b58531093eabe991255";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/el/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/el/firefox-72.0b4.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "987c29ca1d3b65bef9b5464b2d2c945cb66a6be671ce09b421218c3fbc6aeea0de6e5f7c2105943ca41b7f56d7aea25f8bdf4289eeff4618a92cf45c4234ed05";
+      sha512 = "fbfbf0acca8c0d27b11572b2744b70ef22143dcc1788fbfa864052ab66fc68c2d9bb3a7cd774b54cc0f41324e6335cea3f9c259f6bcfbe4b9bf2925b17b54320";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-CA/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/en-CA/firefox-72.0b4.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "7e85aee04f790b6efe29ca592c38cd2962636d7b8b5901e1779fe371b7a8546f700fab25ae5a53d170afe67c3ac64345954b358965010e65fe1a63ef803dcfd2";
+      sha512 = "1388f7b672da7ea79a01b15f3d356aa7120be45a9c473e996a7d4caee4f0879e9ca702c1da6cd55447076d7ef4e2aa46f1038170a2f9433fd533166fe80e14d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-GB/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/en-GB/firefox-72.0b4.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "a16b6b40a0c52c53b28113e5bc681b56846664899e5876d47b873816a8ee7cd309a1e49057b0bffbd923e5faa354f1f8ae4e01172ffb24062d7451fe361e8941";
+      sha512 = "4e0ee5b0689771d715e4a381e72a79ef8a3457560500f06101c7d9f0563c81913778743877f63c37c4c74314248fb88585c503dc57b893f78c09277c39eb0c4c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/en-US/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/en-US/firefox-72.0b4.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "de2716443b6dc3757fe58d42ef4fc526c1218601650ba7ccb0b0a9f77b7acb04a4e4af2c79b7587ab8d8e3515ca6602b563fb54ac5e102ca30952c39843c7d31";
+      sha512 = "f054b7ea2361c3eb933405362fce21e311b77d121a80bb24ea09f41d47231582715f3cb160182161fa63b5028163bd5cd35bab5fc2cca8729c5aee15d2aab981";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eo/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/eo/firefox-72.0b4.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "bb0b25735ec9bc607661fed392c0dc841185f84b06410dc0c2b7a05245d62cdc4978285246d2b281b08507ae2de2b4fe561dc115d838a10e581e484cc12dffd0";
+      sha512 = "6c84e22823ae465c5346f29b8729e36dee1d3846affa60be87ae2b479f114ca1e911a2bf2d6ffcecb2a8097d3e4689810c5afea27b419b0f0dd1ca830a83f79f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-AR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/es-AR/firefox-72.0b4.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "6161b532fb8412151cb007fe0fa679ff0f195206d71b4a07f8b312a28c0fa0041f32e960fc6f88f3c88e54a850a24d00dc370e8a3a16fcc5b420c0a9cfe2e674";
+      sha512 = "65e37a5cc802e4677344f4b2ecd2451cf55656d3bcbf7d155ea7e404090c5c2375d68ef5c13e30817bbe56c2d4a9de6c1d82db2b1533ce4861295bcc39451585";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-CL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/es-CL/firefox-72.0b4.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "490f550d9091a70a9a693acd80f24cd644188a3ed0199781c5c04583ae2a66b623df8a5d1a5d3b1c7617a214aef09f99d306577db5bca1034ed1afdea8d909d8";
+      sha512 = "cab5c05b8711973844b7deaff638abb9d52aa3fe1e533d318d0f48b2ca77434e6e7295531087f9def4bb25babd21c6fb2b94fcb4ca586f6cb5a37851c31559c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-ES/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/es-ES/firefox-72.0b4.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "cb648224649c1f5a22c7b5eef4a4b4cb7381a76009cc1a4b0f2db7f1ca850f21ce3f5f4effe9e114f2ab55a0ca4a3f0180b5e7610cd895cbf1d8eff24a77ea82";
+      sha512 = "eb8b9e1a261a2bb89faa4225bfb2edc5d28b2268030adfc7d9ca67a8ddc27b850a99907e6cefb522a92ad399d3faf177a17ce10453f2d0a01aaf647d13c32641";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/es-MX/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/es-MX/firefox-72.0b4.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "bb5c9f06d2b17507f9036192558029a6068bc4b62c1403e228284722fd1011ca002b5b7669320c3613fb8362433a13a05960945c56721a220fd8e45e2908367c";
+      sha512 = "d2d3505d8860032e396bda2ae1039987d8567b90c2a79e2614a47e97fcbcf3715078f1de078e43231100dd567b85023f36f269ea97a0badebc1418f70812a437";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/et/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/et/firefox-72.0b4.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "642e8fb33bbffe1dbfec0caee8299051678c930b5b8382b7dbb27a139aa01edc737566b3b88444425296f29bedb30acf7e1e4bc39aabe37a4705271b0ddfa2e6";
+      sha512 = "288608642ba84b0247db4ea2772645975f1257a79df51c979fbafa07afc554d76432afbfaa77104dd9a25f0d418b4bc5a69c1660b76debe58b18fa68297e5490";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/eu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/eu/firefox-72.0b4.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "b6856d8c07830809434528ade2e85da9577562e69e6753e0a3ba96e9e015642b77ee5cd913b017fe7ea96cd1eb985d8eed013c38e61078f37e155baf7d115711";
+      sha512 = "cef1f54aeb82de57be4c3cd96153d4535c64722d26084919237e67957bc140b66d1ae014129d8e4ebb28d37f0c322b59f71a64b0be4093e2a90c1f5d7fb65deb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fa/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/fa/firefox-72.0b4.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "46f320dd9b746cfbdf6d41e6ed4fee3c36027a21bf69eec769dc656d4c4620ee702e4f6bd82a3121f14218a68948bcdc032a215bb0effe93d35b5f5e044152d2";
+      sha512 = "2302fd2b64b841e7a952423a1d3efd34bc1b4234fc736983042fb06a602b57ff45b7f549cba0fbdc0442183df091ccb04e83276e08d89aa492fc4c1d49d952e0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ff/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ff/firefox-72.0b4.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "f32d17a087c4fa5ab1ac6b692709b067607b5a9efaf8d15fdc3d52f9bf02db3b3e460fb1350ee17f583a8b32e1823d91aa472451598dbc3eba2774b953b32195";
+      sha512 = "518c83964718c98893b16310caa044506713257f0321b5131fe4a8741409489a047566f4215d8df50824debbb53594d24072aa6a167285210b392ff1f8e081c6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/fi/firefox-72.0b4.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "ed4ce81ee0446841d989ea575654463ea8186e2e1b71e771380f2cb0ce6b2858ac8903330623be00c57a2a50f639ae320e794681647292fb6ed060fdc850d50c";
+      sha512 = "34c2ad202a616067e298a983bddc76087d387160bf67f9d2ca7c2aa54b3eb245e968055b15f57309217e1a5ea164b6af93d0c3467600a5d1d689e6f78a4bb067";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/fr/firefox-72.0b4.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "0b199767300180ed093b32685373d1b702a2d09587df3a4d99fc9f0d6b82c41b4002e83fd26be00b24dab4c1c3d38552d46676a5df52a69474f623ee94d72657";
+      sha512 = "3fa9dedd958b9f3cd70fee85d0034b8663e863b18b411122d3fb1f6beb1566efd92c63a38560972425afeefc4480b2c4dd86dabeb197ee7c30694b8e9c3ace51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/fy-NL/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/fy-NL/firefox-72.0b4.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "8e714668d8ad01ee6dc9cd5e5f607f393ec09434e62d1d08a55f4312a52b31591e64064bbf0da28e2e47d0c571e895e9061197ceb36d1ab5899f09de549b86c4";
+      sha512 = "1b8a346081dcf59d42140edce2e35dd4008c0aa6be326274aa2cda612bd9161bde5f5339a06af747b9f1f0eb5dd0e77113543d948c5b102ca4428cfd9c30970a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ga-IE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ga-IE/firefox-72.0b4.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "4156af0bb459848815ec4bef7b91f69328cc44d9b23f56911849098d4b30422f013ac74597dbfe6610df093439170b5566e87a290e33dcb6b32d5e2e95525622";
+      sha512 = "7cb658cbf2d33d9ae42724de85e609e6afa2417666625e1baf26017a6e5225a1dc240c457c16f8c612699eb39a8243518061418729c9d5c18daa4bfe1561ae79";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gd/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/gd/firefox-72.0b4.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "c2d188a2f4a63f9cc106b2dcb64d3277aea07de0f4290fec560927d8ac577ae57c0f6f9dab998833a51924f1f4eb94cbce9312ac7bc69205a64fe766093c0847";
+      sha512 = "31928201e871c33c31521d8df74dd41e35860754389abcd130a5f8aaf63d8e24975217a09ba074405e092cb603a8b69b18ba89fbacd041a1aa553c4eb37401dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/gl/firefox-72.0b4.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "c9427d99935fdfbf3b5ae3b0e9ab9f2b31b0a7b0d5b55b14effa1fd979d5f32b73016c939821f1db6eea286047334486b017b9000803e6ede4bcd4a564e89c10";
+      sha512 = "6a92b3b1ad9bf08c20ca5599812141d32372ac15841c9c4fa0758c4d566b60d2e583fb43c65029a6ab85325a7efc77e03fd42c407ae4857e39aa0f486419c52e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/gn/firefox-72.0b4.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "e039e1bf1f0250c1179b3bd185c1a612754f496d39e087059bc485af6a280c15cecab6e7869a63357c7b0dd713ef3efe5ceb6cc4c1f7334fc67560722e63b523";
+      sha512 = "38fd36c04d627574f2dbb4f42169687f5ac96f838137074aad44de247830acc9d750489956917d8c7c0736e49dd15a9fadebdee0775926812860800d6a6ac2f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/gu-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/gu-IN/firefox-72.0b4.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "9a8d9a076e521a8b5a4f1cb3c06538d9cfcfbfe32862b48301c202a212beeea2d888964d317bfffbb4e4b5a56ef06ff2acda22f0b129a2521d23a5234817fcec";
+      sha512 = "5fefefff9fb2a99f5627dbf3be38ca6787bd46731f273499702698c1ae626b7a9d986883762557269b89d2385a70f83b73b3f40107b39ae9e761a80a79100363";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/he/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/he/firefox-72.0b4.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "763c4dc5241d3ec4337c17d4f7c7ef13667ad1a7ace2e71b65ead7fc4e771ffceb1eb1772c340ed8349cf401b1d9c4fa7f4e16031f5227e45a8e813e08437159";
+      sha512 = "4d9a0aa5108a3bb649a762be28946256021c76f83e450229a79ea00de01dea54f2571c3774cfea35cfd9c574c7b97676a8c6a97eef83ccdc8ed37cec9b0e8449";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hi-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/hi-IN/firefox-72.0b4.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "a6092b8f611976117489fb9a860a801aac9fd598394be0b42e88091760a7f05c10d04d4e90b228a801ce784a981f4770c78e544614a68c2d9a0e8ab13fb89ff4";
+      sha512 = "ab556799360fb9e93921084d05401057a22e897d49c01b277369c66b7954657521cc1abf9bbfe2fa2b9eeb200c7e5a8dda37278d90a2bba4b33ce20adce32621";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/hr/firefox-72.0b4.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "ae2d26a2e98cc180699fa5f0a8fa1426525db4ccba99a57841fc8499e9595f0231de7802cfe347a81906d3abec3503b624ff224b1392ecaece17468ba12bad9c";
+      sha512 = "96c1ebccfdf96eb8961a4e40ff7e9ad8e810e58b6fc9315a0ef6c0cff0cb6e8f7b94e22738f81deaff17d0f61c86a121ed50002a0b2e5507d1084c6c1b3d1ad0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hsb/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/hsb/firefox-72.0b4.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "0524a4f4ba2ddd3143f9f95e07749aa5f8c37c8f31cc9030f220a99d1a8d270b61ebb63ee3118edc79712f3af3f1795ded34492144d0dcf1857f04cbb3cf3451";
+      sha512 = "03655bfc8c04229f525712ed9c23cdb481d41e7300d5c6bf983851968e9d7d249962cc73f54972f80c71a12fdceeea1209ad33180276c94948e0df9b996649d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hu/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/hu/firefox-72.0b4.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "64f4bd68c9a62965162bea7ca4bcf15369f9d3c69c0f6080d0bd660202f2a546f39835b8987e26da3752adc366164b451f842f2694305bf60a2b085749b13827";
+      sha512 = "1fecc903e4e3cc90cdeac3629362b7399b5902dbb66e8e91157721c5ee1cb862d71b1456c1688dae6b43afe8990508a12fc3cf1ec8ca708cd53ef36f86ba9772";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/hy-AM/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/hy-AM/firefox-72.0b4.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "6d33a2bf17038e24c323bd53372974062fe5a11278eb535518637ee68712f4c2da93a3dd3378161f1e67efc51a06c746578af10f02c81fd25b747820e963b5f6";
+      sha512 = "37d59c6006abb270cc3df2911ef460160f73a3013ee66412787340372b4d09d0ce30b91b2f733cd9e27a338e5dd79137109a7c3aad5f0e6119e4dd31f3d3e42b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ia/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ia/firefox-72.0b4.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "0e4a78c9c03e7d87a934023cd0608426794f3e9818c7929b1e12bb300cc11d576334396c1125ceda555907363288726e286f6a376d6e301f386854ad3b437d35";
+      sha512 = "64050b10a3a530e5eac3b5696eaa5896d061774d65de695bae4fee58043bedb57e63e707bd738433f719812909f754932e19488f53bcf4ba6f424dcf15b9a805";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/id/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/id/firefox-72.0b4.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "76b89937f37aedf1534b8e06601c9d59680426a55b3df3726318f438de1ec259c335876a1da31c6996e54c0d9efcc651e1504f764d4b426db2f0d97a1ca1e9ff";
+      sha512 = "7a24e788ebd46bd9ba8ff6ecd5821b59cf3c0ff0bfa4776ebf97f422f56c2fbc33d20314a7c44cfdc9ebe6ffd4ff4289c21bd5c363998a84dd40034caaffbfc0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/is/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/is/firefox-72.0b4.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "17c164cc5a95f3e89e2bbddf58442da84dcfe784812163b68740dd1caa9ab823333c3188abf579601437217e0e9e58871424d1227b4ade6a0fc77e5798ef9099";
+      sha512 = "1b4135eddf550da0b871f54093b3c1e888d2705a370220e14b07ef93215485878d6e38ca11559bb09e8acddc27fdaa3d105d5ddd121f2f9220c32d138eb74fc4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/it/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/it/firefox-72.0b4.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "ae37e92971d2f0c6ce322011e66c2857aa73518f1d4e8d26c3c2cf1d99bea8909ff2541146b6789096af5141cd927dc82f91ffb9f7eaa0fcf4276d4782e72a97";
+      sha512 = "cdeb4786246bdab4b585d8172f5c8b5446746a5e6283b8e5deb58a03742c03b46ec0a3220550bc6dd96d314b29d50495b2d00764de2f3aa9f9accbf397a22c63";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ja/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ja/firefox-72.0b4.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "32690138d8c3dc2be001579602269ab5e89b7509f6d289a4cd0fb50b90e7a9a61ea57af8b064f904833504f0d523f1bab0a03f456fb75c967cc87f3e8e331b9e";
+      sha512 = "78e336ccd4697a6e5a136b453c5fb26c560315426b7c3151fbf432ecb1eee5dc26dfefbb8924087d9cf197334cf1aa233b0f125019ecd864ff5b394b42903648";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ka/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ka/firefox-72.0b4.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "6611137ec50a1a35b7ee3fa15a2066fd3231717ed6f7a4884c36306653226ee4211e8364e4872029d9b1967f69d10b799a4d58131d082f882e1b39e758132ebf";
+      sha512 = "44a973994dc3141f6810471e928fc8e516afe3f6998322cf431783d2abfcf42bf8fbef783d92e436445e6827a259c4db42a0e08b35ae76827007ba1df40226f9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kab/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/kab/firefox-72.0b4.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "f06c8fb18639967870bd581d2757ea66631f35b167688f4693198f6d70d1f61985946216410c401f0aa881e566df5a0f13d085e1ee880a35fb9ed21b0fefddea";
+      sha512 = "758a861ae3bb91a79ca967787f41b24c84945e0cfea162633a6be2f105974c34a8f8270c32f76c4d754612641fdfa11261de74fd629c7877eec385789abfbcd2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/kk/firefox-72.0b4.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "b22bae385110057cd77440101e27234afd17dc74602bf05763975ebc68e0940b4501ff168613fb664b2087a2782fe44a52589ab9972cfa44f9097513460cada5";
+      sha512 = "28a18c3a9476a90d38795f52767f33b4ef95d62f427788ce4f163526d96be48dc1dab1c01a443250a2773903a4a443be58a629de53e229ad8ebdc3f4efcecec5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/km/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/km/firefox-72.0b4.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "7c49611ba0dfaed7717f385925ccc621f5313496235a90c3851d26f11ec183541553979e6efe67f36faf7997d1e27a15e3d5646f33ed884fd66e6553c93d7db6";
+      sha512 = "08320bc047430a28ce092f39b2836a3e1691394ba04310088857ac2db7478e2d44b2cec450171944e890a31a152483b0bd1900f2fec802cea7b9267ed6bd4941";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/kn/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/kn/firefox-72.0b4.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "c1fa863fa066a7832975963afbcf63aff6caf702ee8c58e2d54705e61b1863d71b81d7d0b9b8da7cf41d7c950a66820d8e1137a32ef91bb283ffad9b36b84388";
+      sha512 = "578edc5e24e6e825a60f1e9164e1d6fd8af7880c2af5bede481447b247f62f3331040976e9a273e4d484ecce2c7506285db1fe98b6f20e395a1f3f1e251688a9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ko/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ko/firefox-72.0b4.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "8d179e7660331ba4c90f666ad3792064cce4fc551144ae3a8d550f620765e43274ad18ca9eeef988c2a7ea612dcf82dfb65cf225f875b154a4d4a4c11e5d7a64";
+      sha512 = "750f7060432b48ed206643e8212489a753d35ab184a6e40f2a6105c1ea4ebf07b93251c0f06770dde66c62eb7659e7778f784828dc8d7f6b994232c862f39330";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lij/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/lij/firefox-72.0b4.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "e36bd824232bb3d7d7fb4779e3207cdd504d84861bd0b5b2ced6a29ecb9d16b10e2fb267162ca96452f52e8089a085021869eb107ad8ba5cfdb49f8e42e56648";
+      sha512 = "3e7f88af83912c3fc62c9ded0b90f805c5b28852432ac99e1216a7443b2c1c659b4615d94a97a3b825abd17bd3236ee111428df697f091e3b1f0b04c3e70543e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lt/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/lt/firefox-72.0b4.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "4ec494f1fc2260d73aabd695a29441d12620a8118945974e8a0ca6f21a0e9e49bf8a6378d4409f26f05cef369c990e1432d0b11eec99b98399e994703ba286f6";
+      sha512 = "d7a41e5dbae8d742793c741c5c084581b3c5ea13238e00a39df8451f2639c48e22d42a490a212d151694bfab600aebc7fe40aed9b0ee06f953838b93bdb366e5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/lv/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/lv/firefox-72.0b4.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "3ffa772cecb4cea1c775b20b3ce505c2d84a9918c1422d85c5a2bde80c4b1432f223d828343af04c7c9518ae54bd7771e8144b66165aae1bdd140e068d0bda1d";
+      sha512 = "53a2010eda06c84bc1b8e0b495823301fb48f3580ee6430684d9f9180f1af95ebe15988e6a224f9116e96881805b4d927a8e95920e149f10562e7d549a477808";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/mk/firefox-72.0b4.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "e8cf48b2e4a841c6101ab0759db844dce8865bcaf056dc0d2a5c43653bf86602dcdb337422a8149a4d4527f33ff79509d4c4a3fc221ca50c0f78fac80d7e45a2";
+      sha512 = "83f89a83d8662161d6f997957c8facdf268157f089291833f18a201ea7a0d32e36183259dc943d86e5d934cd90c96cece0862700494385fc1a40d2bca962599a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/mr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/mr/firefox-72.0b4.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "a6be024f8c41f106157845fec1d5d4a5f81456d76f174883e8bc3d2f1d8dae327b20de89539980fef316baabdaf2cdf058dc91c12bbad1fefa0f374d66ac3222";
+      sha512 = "bc1b20c159ec013df6d2aecab283ea23198527427e2410e25b36f68369f373951c69284f90bb9f04775216ab65cc6a972dc36992d18248170a2f277c83d54a58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ms/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ms/firefox-72.0b4.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "4beb0656f90497f480a171d762d3b85260f4f7388847260faa15bf7835bffb88a2d44657401b5d0680992864b1a4ee8acf6a6f56d3e9f41b6704808f775076ee";
+      sha512 = "18e9e3d764377a00a534efd06d657655d99e8375ce307bb92fb4f0c60e00f759a658be8c04229ef523d3d329b5a816e5dec5c3fb70d561da4acc37dd0fcf24c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/my/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/my/firefox-72.0b4.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "98c47dd55ce49f4933a1fd67626a6edaaa20b4945ffa21195f19c9676f284081d32de83047dcd6d0e7737be94deae34fd306484f0ea80527bf0e3117cb67fd04";
+      sha512 = "54f1765cd2944071ddb39b6446dd5908f0ff8ad856952830d1ceb3b552e6c79e22ac771e47a3fa87b2c1a225fefad0e4e039ef4fa2142d24a78c7c6784ffa4b7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nb-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/nb-NO/firefox-72.0b4.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "5d51f3e4dcdb82995c456e164bd4875e735029238ad47e7361c2af29c2c22ad43398279dad33356a858e054e268e846bdc72d8a82e869f12d2871dea8f6a75a0";
+      sha512 = "8510fc6e7c7e343866eb6d9607b22c287e4bfb60690b8700da48e28c1045c4b02f4e9611f3b72bcbf7747cc24790406543fdc50078773d7d0e60731623844bcc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ne-NP/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ne-NP/firefox-72.0b4.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "794aee0947e1a3b81534fee16e3d7efef9fe6d8eebd8ec18b8bb120b3a3cdfcb4929882d09e8ee15136f65d88c0d6c25cbf8570f86e8c0f337f86f12fb11580c";
+      sha512 = "ab1a43e207a9bf653d6aac56df361980926fb45c0643644915b5e5a582a77f06169910154788ca86e9520ba1a2f10d4d5736abdfa12dafccb71e0b7b6aecc87e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/nl/firefox-72.0b4.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "e63f00aa526cdc8cb4eba86f4b920dc38e0a5f9eaef0a4103bf380f72b9fe2421aa4ee1417bca18da719ee01d57964c2edf21c4697121d70820686ad2f7379df";
+      sha512 = "b1cde7378cee2bf1d9918fafe2254293fd3305bcca8817f94882c21448e6bdb5171d1534adc019a45538564f6286d4272a9955bd8b9ce48c1d2f778f7be6de42";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/nn-NO/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/nn-NO/firefox-72.0b4.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "d9e30d8d820ef5b07f6814cb5e37e3918b321968229d33911afa815ea6e727f4d3b505a397b60f1c1e679dfb79f9e130de450c10f8946035153f535060b9d4cc";
+      sha512 = "bd08e3b542b6da35edcf7d91f18a7cc6a0ed6d2f12c747a36cffcfbd1856d1075dc0d0fc00e3724a2b43e09e08167110020a8618c66211f0b55934cdf3aac757";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/oc/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/oc/firefox-72.0b4.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "94004a03a0b07fb91a30677168d19ecfb29d5613483da62859cc68d9e392f94ecfd87f29b5f3c44cdfbb3fe067216fe4f6db997da2368aeb289fb7b1d83029a6";
+      sha512 = "74ad86151e8d493e4eb3c5cfa4199946f279c071c527b912a270562a73daff67219eb2f970efb8ec942f0ea53a89c868add213c8b98a51155420aafdb85970f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pa-IN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/pa-IN/firefox-72.0b4.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "5d4d9952600b81a93ed62314a536d91729ff6a423ae9359436e632c9d807b13ac19fd6b1d2034839450ed5ba5411b91afeb52d0cfd74ec84a1924b6036563b74";
+      sha512 = "fd5e002903e6a16d982e063a9644b1261f45b9bfdc75c615dc29fa9ffcb49c7f024d8d9a9879ffdd5fdb78718711e5b44de8173283496a68beac5efa1a8c3bf2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/pl/firefox-72.0b4.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "6f3f628b38e06494d528c96071c0ba0738582da37f16a4a28eacbd17aa7574f1ef795c662ad09b8a15637bc25fb6b791e1bc54b3d530031c66450f5f7ba3ca76";
+      sha512 = "1602cc2a17598747cf22b85e7fb0594c670bea4b1dec4dd5bc44f1c03cb25624d2e67479fd07fbe048565dcd79989fdf90236f677c56cef225944d7fbd5945f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-BR/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/pt-BR/firefox-72.0b4.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "e97eb866f17277db6303c58411fb5f4ef561884c0e5437dc09d3da63145107a8ba5862a8d965d4c5ba38f40930e82c440ae1a26b023f6a212ce177c77df72f4f";
+      sha512 = "213665953981892fff05313811c450355545ba78629f123324f20e3f11d7fea88a09a90c063a1f923ec2e9015d4456c70ce0ba15764c1fc01fb04fb67fce8341";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/pt-PT/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/pt-PT/firefox-72.0b4.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "81cd5a4c5b2a89079a45826f34ebd6564a929e1ba73dd07efa7d8a8b4958a36fa083377bd0e7b6b1e86a83a749f1117f3e7f2703961e668cced5cbdca8e95c10";
+      sha512 = "f4a08d2e1d07fda7abd2c23e0cba842faf09bbd21e86766435a623b52453ce4fd55fe616dffd12685bc65aa0a621d8ac3e2d568bbc6d3803fa76862e3647db70";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/rm/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/rm/firefox-72.0b4.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "2b78c41faea2f3f91be9c21de826e5e8a2533a76dc925458e2f75f085fbce71bda63dfbaedfe988f29ef9384a0ecbf4599174a210269c6adf3f875d227374385";
+      sha512 = "d1b8ae6ad4ec05b5ac5b6c8900e42d42d64b74a9ea98822d6f8725c52e4ffd7e259fc11e171cb9b51b4dd18d5aa3beb7f20d6ddd33bff7b3dd34f3eb066a6f5e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ro/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ro/firefox-72.0b4.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "d01b01df0d9e25635b85abec0e0ac081beee02a97bc50b1902b271aa4ae5cacb410d7b9644d76785d54622553eeb8f4ca4f85e40c7867c6f99840de570974a2c";
+      sha512 = "ed3d824640ea0ce7aac6ed383b654673d2534342ef0d1e605d8693e3cb55f0d8029518b7cfefd9509c6e9a2243af4803c32d19be15e2906fa31e4d33e18ba6fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ru/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ru/firefox-72.0b4.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "36ac6ec95c9c1e3d5caf1315854324bd0cb41fd6e83dabd81d3af2189fcd111ea7ab8a384e5a07f4618c9046b8f59c3590c6bb8d1a12a2475d19d7d65940a26f";
+      sha512 = "90fc22cb96e466d2f556d070621c2de06bf792eaf1979d5ed29e1259d5702992d1f0635ec7fa2bab7ae7fdbfc360e60668352cac895b1756c7e9d528e6f8482d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/si/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/si/firefox-72.0b4.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "796878bd3a982443558d042c64520d6cd65c1eb247c6630e1c1073c75be3a2d3e3d4f164deb44336ff536c6a7a81650c0806de79cc3698d6215fb87ff2ca50e8";
+      sha512 = "fc35d29b1a7dc4d6c82a49cb23f194f0856feda444b434a77f6f1e2af346171a8a976218604e2fdf1f041b9edcec4f3eef20a22950f32273192acb9d9cce0041";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/sk/firefox-72.0b4.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "48f3179f9ac81ef1c69a44540adf994874a91770eb1b2af51804a791c10540485a61af2b1fd337f7cec86682c5a3df24e8e030add48773459b8ba7caba6e88ed";
+      sha512 = "8f5f5a33839c68c278c7f128c3c11d9466f6b40d73f169266b38268f7ac9dc909611bcfa7d02f63748e8d8ceb1d1d331f2bfe560900679658d0f5c7421b89938";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sl/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/sl/firefox-72.0b4.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "5ca3ddfef139448e411bb226cd2abb3a8fc4100986a294bedc5bcc4a1906a6b0ab82f6e3d536dfa66e404bd5b7eed671e98cb22f1d082764cc5d3080fa0363f2";
+      sha512 = "f62801fbb70ec7b5f2b10b2d846cfc1da28f69ab3b041042961844fbce0acaf75cb99f93e42d805dc1e18ffe25ac88831e8e3f08680022ae3e6b10a8923122f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/son/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/son/firefox-72.0b4.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "a14b7a55043d2aeec02d1f28f30038e0ffbc3f76df1c5abad04413673d5e6d7290feab39e0ff40bfc35bf993fc49311b0cca38735c367da233808910c2a864f7";
+      sha512 = "8326c8cecb491ee51e46c69b392fb042bc13fd141e5f0aa96e2d6138527e96a3277863cb616b7b88c03e18b29f781f2798cf4884bbdd0d434e9f75f00549e670";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sq/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/sq/firefox-72.0b4.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "ea1575fefd6ffccb7a6ab428663de5e80b48062e13d3424d05b5aa3b86972236839f6a0df7546b5ead27be0a40293f2e9d74472d2756d9fa86bad18d478993de";
+      sha512 = "d3388c7cc6496315423a00bca80544fb7eec4d2fe8231b344075503a8813b1d25c1aec7c99f71e1bd1eadfb47edde93dd6b68e04f00dd56f414c77bf77b880fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/sr/firefox-72.0b4.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "8c5ecc59a41613ac259e1f1515e6475fada7cb7c33650722ad9d36005b8aa173afaab254eec004be082bd74406c88aa4754dc3f4dd131b9761fc82778a7dc573";
+      sha512 = "a646209ae9671ff23ee4c72eb40808802e23b7e87febdf2ef58623e2005889cfb38741b9345acf55fb103f327ed39f3847f21801a6493453d4d0392b7d5894f2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/sv-SE/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/sv-SE/firefox-72.0b4.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "f6446ff3add515a7fe46af9752206c05632cb95b5e65e19c331556a6e4e304f765f8cfc9cd90fec2892fe7302230a5b3b85c462a557e7074e255ecd94befbcd8";
+      sha512 = "9440cad4da1aee56ff25b1d2b7f1f9597d475fc1fb4c91ea4c2df10356a16e2f48c147d93dcd387b35c5633fe0027a6879b0a730d97a07e40e1d5158f54a8006";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ta/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ta/firefox-72.0b4.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "03302b3da44fa586df13d2f20faee5da5e82151550498d7c0e0fc70efca8a98db47443bdd0289fe90d602ca53c1e82c9f610cc8432fefe5c99878faacd0c9153";
+      sha512 = "c3b1c100f22eec6de008028b6d7be3ccac5c856b1ae914962baf13e5ac1fd149598676ada5cac02efabc586c8c23742a33670292ebbb774e27c69bee5a943d11";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/te/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/te/firefox-72.0b4.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "49b3921154e909685e8e52a892a2af322e650109fa6b17bcebd62908e71b5b30c0346905c2422124629d93e1cded40b6f81222ad4871057ac482c1df7ca3b53f";
+      sha512 = "3d73e89551abb41f8aa94012edd7fe132b7e3b61bcd00622ee84647eeda32f612ec3ac57c439500e94cd46c5bd3615843ff55e0b9dc9fa13b92d0260fd483c8c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/th/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/th/firefox-72.0b4.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "497da9beff43403f2b09da713474dde509ea2a71145fc8006a852536e4ab71a83586d67d6b7238b3b0ed3d135db6bb2716716b959463b13d92935f2b1ee147ef";
+      sha512 = "0359d465e62c5efac6f8b23d12549450562bf4eaec6cf185c5d6d29c9ec2a48c41b5b0cac090b135faccdc8ecadf0198a7b4b9df1d9f7bf5ff1662ba5c0d8148";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/tl/firefox-72.0b4.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "1d80077c7ac5a4173b273a44d1a164b39a46dae384a977bc79d2f5d9669395843e20945fb5b799e7fee678568a8ffa3b821d4603515aeac6eca7e725a7ab716c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/tr/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/tr/firefox-72.0b4.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "43762b9401ad7337e0ff00003a07d374271ab032a4609bf9abb1fc3a69ab578e45721395d06aa4fdf41e15a71bf503156632b5e3d6f94b5d6e62592c78a267a9";
+      sha512 = "fb5f1e93b017d3f3f9a1008923686a6acea170618ebd3cc52e1e0ec5ba369c6cf5406126689d3bbc05bee63c52b086617925ebe33ade0363d138eb200b52d5f1";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/trs/firefox-72.0b4.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "a5935de8cde85d6ec031e312bbe55c39d43db206b981b7513dbd78d9e344692226ee439c548b4e26cd73db49e0b5d57d77c4928995aea326fe1e94c3fb17af99";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uk/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/uk/firefox-72.0b4.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "e10bbbf8a8f899f2a7b57bed9a846d6b490303c456027b034a750dce6b21416415eb0d9420629d008d901ab903e7c643fe7ad5bdf5aab511da9977d536d71ffe";
+      sha512 = "8fb43aa7e90323fd51bd2e281b5fe80c213502fe092844606cc7a3e49edf05a5d4382fd84bfe0223406da453361f869663616f33c9e16f5667cd06aca6c82874";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/ur/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/ur/firefox-72.0b4.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "9155b7efa37b299ce74ed6faacafb354947430265a34fea9e101a9f0947a57a4a3b001bc7b583002ea08d3b7f33074926c4f6184b563fa5a1811b2b7a9b05fd6";
+      sha512 = "f25d7482bc707e7b780f30ead9156a76ed89710e47a971ad66f456794158a7d003515c5c7a70146448cccfcec4f7d920781d334096a1b27dbcf68b91dda80374";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/uz/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/uz/firefox-72.0b4.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "a3a3aeaa6cfa114e619ba9685dbf9d796015f26b9fbb4529f69d17f8c40c0771d58ff044cd4f97123096244f29b964f1756868e35b5dec3fb79f7b32b7a31ab2";
+      sha512 = "e6b64ba6bd3d137272a0a4b5674080c35f6fb84c6c2988ce0827165112278d1c1213a15175e3c98ab032087abc721c7c95fbdf905d2e4585150a9cbdfec3e604";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/vi/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/vi/firefox-72.0b4.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "167a38acc587a4479fcd15d1e47f34e0412e846a0689a119c1f382ef119bfab3035450326d086f6c8efd67a93300df234d53165609c47e94327b4415f40d88c3";
+      sha512 = "60df754b0f8d5a7c1fbb30552f7528de11413aaa712386815fe1f575514e5ea36421f7cd4f264d60949ffc29409ab509b9425258f9eb1c6a014f1e5d2ab30bea";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/xh/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/xh/firefox-72.0b4.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "6a0ab1589a56d6563431d2e5f01e6c01a65be6865cb4b4d52a21b6438727d378ded049730374d3400603286104e4e05f246829b9a45513998db6c9c14597d6cc";
+      sha512 = "24ce3035237d6e62ad6e01746c969ddc75e95013b5033d343145fbe1aec0735e588e2a964dbb074f554611a04de112b029d50139ac1a8d7c34834ac78251ebe7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-CN/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/zh-CN/firefox-72.0b4.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "f3e20c68a34ba6aca4bffd07d0bc1e5676ef7f2d9b56aa175431825e90221255bfaa76e40a6fdacf812172317deadd3e3a29756331ccb09aba5804ae58d2ca8d";
+      sha512 = "4bc556547c3d1b37c0073a255832527a8c4bd2c86c103051913c14fbeb25c9175a4b7809778a936cbcd6cad02540af914f42ebe28884474ce623f2e6f42b53db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/70.0b2/linux-i686/zh-TW/firefox-70.0b2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b4/linux-i686/zh-TW/firefox-72.0b4.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "dea1df5beec52f0d12e18907922bbd2f27b4a20c87874c199d04671f636fbfebfc1d64bf0c8935ae41c139d4beaf08e164aabe47da8be67d4855b1fb924aabfb";
+      sha512 = "d4dd040838eb37652e4e049a0ba2bd0f09f8ec239769b79009e290693abd12d2aedb621829033698b193324c17754950c0481caf3f68830e9f1e138a62d58f94";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 7b74a1094c7..0a819fac91b 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "70.0.1";
+  version = "71.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ach/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ach/firefox-71.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "8ffdef324586ec9afcfe254c42e938f54774e9c4ea5c695ba585439e71468145b6f0e39644aa731aa01427f09bc117a501ffeb36b5ee40fe39f675be81c86a33";
+      sha512 = "61b15c19839b16659129746561c8da055ac7e7761384511466937892bcfc34aa06aca613e6786b7415926192ea587d8d2d49efe156238fa63a30013f6feb4d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/af/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/af/firefox-71.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "df9dccc59c7a3563e7f3b9dad7eb3acf483d27c575ab2c5bf4934efe69d75033e675f399876d2925dfa9f651b558884abf37fd2bbf5f46e671fb9f6ebfb28f81";
+      sha512 = "e8d62ea2f03a330178f6cf6316b87343d76ca99acff5d67d9d45be813eb9ab7969466ea30c2759f4ed0e55e33b743cbc96c6524d4a856abdf54723ec7839d803";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/an/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/an/firefox-71.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "1c02c1eb8aa276a9e3c1c48926092d10e1dde51b3d576eab1165c97543d2d014c1dadbe9aef9076aa41398b3b6087384dd352b587761ba92952db3178b393ee7";
+      sha512 = "613f8424d32fb9c7946716e39e4ed6964d7e5c398f7885a86ba36318dc1276228026aa196dff4c04058630ed537818719c0d56e501c010c650d4a4c8a3da32bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ar/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ar/firefox-71.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "aa768f5799fcd352287e663f69d37f82deddc10c1ff6e15d383f7fafb4d159f551b9aa6d4f8faa9f7bb789c056423bb03cc2c658d47584e422f02eb6cd1ebe4c";
+      sha512 = "fb240bfd506da1d2c5197c684419b8d8be15847e9516c915856816073de46f7694ebed8256799d06f57ed77a0417124cac277cc8cfa2ee9395affab2ba956f5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ast/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ast/firefox-71.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "edece41399d6e5959823306295f7b40849425426e164ec8d4d6ae4ceebbb4f7f0a83d05caf1039795c5b9bab7fbb10f4b8c2f51c116b897ff5deb879064c2fe0";
+      sha512 = "e87a750ea3d27008c986ec58b104b32214d50dc0362e4a92d0359b990fb39f8ce3af63d7d96e84893804cf1e87c7c319aa3973f22eb32776c812ea2599b8a5b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/az/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/az/firefox-71.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "d509166e3b17b68688420adc9074839a60cf4e64039d3a3a0974746d11fdacacd2fee7059abe5cbc6fb7533d7c99a32518afa7eabcf3ce4b304a9843c66cc273";
+      sha512 = "5789390585336b88e0ff14c32da9136b8c40e1ee7e6290796fabb01060dd295a07ae76dd78223b2a73cf0f59ca6dec40ff1d31a7f73956ac852314266b4b47a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/be/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/be/firefox-71.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "308a04e69392fcd748bed4db4b46d83462e5aa93cac01d6be8b8a408cfae1347d779bc0db46892b7b4a53dba384c3273385911a365e1b21206e906e35d78e8e8";
+      sha512 = "5dc9e7e7c8ba973f477318103015e425c7de61bf803a41e06c9774b4ed5894deacd4abf389ff40395a0269a06ac2ffdddc737bcc2e26dc8760adee2c6e58bdf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bg/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bg/firefox-71.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "130e8a9f8e9829b70aaf6b0fa0f0160f31cd37d1dd87ce1398976461625321e47f8683ba11c1023cddc661a6dc9a0f7752c41247bece4ce11568376495c526bd";
+      sha512 = "12d7e7c285ac69d35ad7726babab8b50f42846931545123fb61741bfa635a2eb7b3f1829bb92f5d5a9d07dfe3dc0c685f49eb5b7c1baa388788b697477b5ec65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bn/firefox-71.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "ff688748b1c216aa384c1e28e4147c761a81fcd22a49150b5862bc0967b54566f2933c1a71a40ed3257ea592129b83150197c23e411ddbbcbea74731b70f886a";
+      sha512 = "45431252333b7ccad98bd79a708b5ca25f7cbb49330cd3287dad259d9db0ad4d19671e12cd9d71d82f8ab2b1d8cfca34e7cae14a8299300166fc33fd2946718e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/br/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/br/firefox-71.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "b366245b8933d2f76f1eeb6dbc16cec661643718d07e73df2e4890ccb1add383521ffac6df2f308379bf7e878df6fcdf0a258471a773f9cb635dd4ff11a721bb";
+      sha512 = "c4a3a7e197864f52525270a11ae7979772d0eaff9fa623edd5f3bca143c7fe2f9788ffcc8407934a2b7370edbd94fb0009f8b6188b0755903178fe18235a9247";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bs/firefox-71.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "2a2a663af9865b123d5eb6b185c1bd44a8dc5361dfcca118086f2162590cafaa36cd71ef59fe1ec0eb637d7e7c0cda2e943647d289c1c2c7afc206bda6dac1aa";
+      sha512 = "17e7e8a7c74d413a90e0b7e0da7a88455a1411f2d08f081285ececb162625912302560ddfddea7efb466c9cb4c679978d4ad90685db65faf6bf847f3ac1d2bc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ca/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ca-valencia/firefox-71.0.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "4ed7af69a5f4b5e82886b787cb7feab2df19ccabbb4e9e2fa9ddbc6677e0d11a4c94ffeb0517c35a14a51b257769c3157b21ee661d0b086fa0bc951407885af4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ca/firefox-71.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "0a77e2f99466557c0b5b540d86773d36ee5f0498cb5ee5e5d39814069efd8c3c48291675a7b607530859b86bb9886889ad35382936657738d1bc86d4da46ea01";
+      sha512 = "8a0688a40f263bc6775f6bd23edbe3fcf3f9b725e37e9b94b23bbef65aab273e503bc67c03fdcf820395acbf59a5578f5638a3277bdc14e961b18c6a68a443cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cak/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cak/firefox-71.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "6eb549b34f3ec10974b223892e7d4003597660eb840e6931a7bc54afede2433915e27602dd8e83a53dc3cfb386fbd52fc1d04d7c5fe1bf1e40e8eb0ddf40a159";
+      sha512 = "4b25ad5ceec5d55fc2f3c1be875e75237c2c32d3ebab725018bc04c6b5d43ff182818d95d73d816479d87a6a2994330fce894d87573852f79e43b56e0b7fd6a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cs/firefox-71.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "b34adfc5aa3a405543af4d7077bf1202480832b6dcbccbcc3a1e8e3ee525a2442f9c127ec5da2bc7a1c1e2c3948c4e85ca746f03b701814bfa73614aa5bcd769";
+      sha512 = "ae2f6386819caa9917ba26e7b404cd8f4b6f4d390faea57a333ac555a6860dcc7b92993224ec54f5bbcb547b91cc99a5b9008bba33dc39b38ce5eaf9468c3f50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cy/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cy/firefox-71.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "b723b1d73341112e606965428a5f3f793f78a7172e3ec9adce8e1feea212921d63616898050c47d15cbb6c2f80049678489d752524b8449a5afedcdf7b59b533";
+      sha512 = "fd6093384954f1a0deb7435229fe92196db1a3ba80ce651f1be20a420701a8b5ff417ee7f1d3c8f5f703d732e3b89ef87e49d164785bf32c326c66ecb9afe165";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/da/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/da/firefox-71.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "d4d0f30577a016a2a1d24d6d8bfc51c55f27b0cab2dce3d2f584c3bab4b54022409e9090ad0631a84d041cdee5e2c467b843d41df52504e0e86a9a550cd6c267";
+      sha512 = "52c63938d5f6fb85ec5fd24289eb2dad43a00ec38cdd59c0c44cc06d3884ec203195e4dd1a6b26f990b819fe58f6638f97d8d2dfb597d2cc01a27ba019d0cf03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/de/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/de/firefox-71.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "8d544ee0b04c84ff736fc84515fd3afd3c00a99b4f76df5aba1669ca970138bec7965b87210f7dcbed3c0bf48f81dee184b225f49900d6393698e20a9a8fc28d";
+      sha512 = "e10824056a96d5d7e5b671d6bb37f607d36b92412c01baee8e493b90fd3b9613be2bd7854d0aba3e97cd560345ecba19b880e9beac82bcc5c850217a397f7f20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/dsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/dsb/firefox-71.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "2c23d351b72bf2a9b94da2cf786fe58192698aa9ab428b947103e6ddae714a004a461a29af2a1dcd865a316038dda6a2610536f330c42d3ac16e7e027fc1add3";
+      sha512 = "d1ebe6e9b14d1fbc63a45f6cecae206ec7479851aed80819f7cce78e7cb3a043efd0eb367c2a2561cd6d668497e5337aab3a0f5579dd5291587d36c22890849b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/el/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/el/firefox-71.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "4da4a9b6c412dcbe1b12109df45a26bd3cfb67205ae351d2c49c774b8138633a2854211ce8f14f6630badc9d38e3edd0fa8c41859554b76ebcad698476828692";
+      sha512 = "f1468f8d0d2838df928a209330ae6fc7c1a03b9b16168ed5777db7763c56227031414150a5b01c4ad35ac6e4cf7f1eb24ed644896cc6bf3745aa2de7029b0d1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-CA/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-CA/firefox-71.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "477865fe5340b56db34b44bb82f9dca748a9e12832a698e1d17fcb31f93d02d01c221568d68778f21b10184393e3a07a08cb1314dfa6a67441baa7150c0bd98c";
+      sha512 = "a78d91bcf51fc963328d38e7681b573d7d2f751bd27f881d80e43cdf40452ccd71207bdc7d0fb7b8f209e9ea336236752aadeac33b51bf1e129df46840a4f72f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-GB/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-GB/firefox-71.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "145b02e3e27009839094bdfdeed1fa79ee3d6fdc068fa00496db0c129d26c6f52a239ffc9e14b49a82946ee8c5ea9c840b8d9b734bc62a9b3bc7b3aae9355b58";
+      sha512 = "5fdf613e662d3d3e709d6b0c13371e58542dd61a04c52abccca06dacd58c0327e49241603b12e940bb79fa4f80055f919136bbad597b1727ca067bfc54fdcb0a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-US/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-US/firefox-71.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "fe347712d10282ecd16e11d5820c43bffb2264c373cfb0abfe2d5014b88b2db1d9c3f3b18e0cf7f4dcdbb6b710ebf8c46952239a260cc7336ba8a7abdcad6f7b";
+      sha512 = "f835ace8d5ea8bf920c1065a2dcf4cd0c4fefbe675311b9768e864446570bf8bea289703dc2cd5d1295f027cf93ce5aa34ca28a722f64549b388a50fe4c87e96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/eo/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/eo/firefox-71.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "b33357cc9262c2128b33f7324457cf9ba3f245dc1690364b5b70e9f7041b17f2c4a7f1289486dd4cd5c57c4f92b91a48c176aff4df5770013637270670740174";
+      sha512 = "86d403a9193b35dec9e71e434e5e998d1f7f5ce14bc47218bc50454bc623652d704f5dab27cd4759e2c90fc85bdc8f016f799080dadebf0d31c0e5be2173a63a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-AR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-AR/firefox-71.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "4e11b69eaae79235c445af1313669fff2b41b15504895b65927c184c12afc53dcd8c35a2df0b7dcb136582e9b850c999f4eefca146a79861c4f2c54936454ea1";
+      sha512 = "f4d9b5d87c334111897cd91b16433122a391f491efe420ffdf63e0638d07348c6a2017f1175f246d2f93b030781043ca7a1bf4d3248412363d6fef7048125c74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-CL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-CL/firefox-71.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "d0297e178415684604211d9d8fe942fb4ea37c0fd67750c13df7918f70bd8caa73e92db0c75a712689702ce2dc039a721fe1c354124a2ca65e11ef552cb4967a";
+      sha512 = "b2c5ad1d7b51fc072bb451dd1a63af4d9c90f9d2091e02bf8d8b4d39d9918b9abf20beada85058d05aa57ac447ba2b480d12d7916666caed5be853427061589e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-ES/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-ES/firefox-71.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "37017e46caa2a97470988b521a4a957ce5943f2259fd722105528aeef6813d506da4ff4a0235ca90c6d6db6ecca3f037629872cf43134891c7aa604a21da2648";
+      sha512 = "e85e9dc61bb8f4319544fe0bc2430c03a813f4f4da1cabf7d7ae03738cf7b5f2f8d39656058c4a447c3890e1b98c6e558cee17ad528119aff516eb17be39c879";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-MX/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-MX/firefox-71.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "722cc4e25f5d67404a97fd90fdde4c7b2140e0cada2ce2e400d89d50f31c88be748e1a743dc73c499688ebe37051c4267dbd4e7b1ea64af7dbde34754fa1867e";
+      sha512 = "7d73e3687f822e8ab41f8b4e04ab04eb7d0a4c8f3584ddfc43dd154b760866d26e28f85c62ef6ab55777c842e3eab61ff9372232f2788b254133d3ad7a84775a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/et/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/et/firefox-71.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "bda3e3b7d073aa7fb8b0d9c4fca2a22972633775c66ea07a5f54ed262ce9232f10de3495dc94cf4d758a881f5b9304beab57d8ba2217aa651ab025af37949a7f";
+      sha512 = "d9f2d99d7195d64d3aec9faaa07469d99f9fb9ff1f83b38cf8ec7ebfa2cec91a0f8242548a794d1ae5858623730d0f616ecdca5c25288b7bbf378bf7677173ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/eu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/eu/firefox-71.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "6cba87ec645c1036da3f915ce3ecc65361fe036d778266d4f0396e723bc65e0dfce2fa723179a94aaae0bc87bdb896badbc728ba99fe0f5bd250c3fe639db64f";
+      sha512 = "a0a8c7af075f4fc4814c571e9aa4eb889326b92815b9fbe3c79c69ccc78012e278386b1f2b2e1d6957e8b97ae65c044322e3792df6d6f66f42552270883f2dfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fa/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fa/firefox-71.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "d16d36b676eaf8f9a0809e3702398eb03affbd596e63da2f90a29d256ad1564b19be5346a463689895e7d8b42b9648c581495d8058b33a30ea80a53a19417f45";
+      sha512 = "f8274fef2412c541f1548afac3e3ce7d0ef758ce133669c18a4737e05464b94b2bbbea966325cfe89064b4acf3f79725613101e5428b9032d75c73acf6b8ba6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ff/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ff/firefox-71.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "2205c85057e8d959e1556ec81523724d9e5e9064b22f30f7f194c184baea1c4c6a3e7eff133b4fc8c8574b8702ba075f7345b1703916a8dbbaeb8275fdbc0640";
+      sha512 = "cfe678f59a4a468710c1c9d17d8ecabcf491c2a9bde03ee7ffe4b73f426632587a546913538449606bcab4c945e5cded2fc3c81ebd9797a4791c097455dd6689";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fi/firefox-71.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "c65ad5804089f81f28a4820edd154df5fb7825988de650dd8550ab518326c809e21e50a033fe6b6433d89ae075a561ca91ac930728bed05758885263866df469";
+      sha512 = "9c9c0c1040f451068bc244c5dd194e799b64ac5f1e80f71ea4ea84cfdc1f3eee2916cd2dcf24d3eb8bc70bdf80957201472eb8346d2ca605e97e8f70eb3433fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fr/firefox-71.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "d65508b9a78fd8bf75a44b39346e8408a83a0e308cf0fcbd612f3b9d66d6c1e5fb93c8070574b8823b363470aa138468dcbbc3313f3b789508093bab86248524";
+      sha512 = "9b395558437f41b75f709ac046c482a0bfd5aa68336b2d0b53fb8896abe2f7e37965885c70bac24026cf5d3a9cd774da03dbea896c13b95bfaa70502164eb5b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fy-NL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fy-NL/firefox-71.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "44d1d3d072fd350874aa1366c76146579fbd6015930c8e597abc472fa380155676b5016294688dd4cb43fc5c3b225c8c0ee93af2126874dbb4b5108f2c267b9b";
+      sha512 = "c15e43a16c3d3ead9eeaebf774caec691fb4307c49d3d96b587b217b46a9ad3de8ba6e474a4cd1fa493b3f873e3041bb11c0b807c022182e08dc4d841b2e0a72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ga-IE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ga-IE/firefox-71.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "2e8ba8cdcf2d96eb61d089d2f53139375a161a92b000f7723a62dca28000e77946f089b5f571b7cd9cf75b6910cb37c522fe95fddfa10e300351e679ed685300";
+      sha512 = "6092293fafe763688f810cfba2c34abca1a2d4b0c086febb048386a04bbcc6ffd62ef210b679c0d29dec3cb343be8264daa332fe710d2b681094fc7209b9c679";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gd/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gd/firefox-71.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "b08e58fa3845047d6dc82d55ccc4c9f0e09a10e48444c6e39a4826534503c59db737b1c7e9cba526b98f240f6f65010002ad56b054349df82e608e58ba2d34b9";
+      sha512 = "67218bb7dd860e92ae5b2c6ee4234b58c65cc3c458f8604751782f629f3fc23f523ae18093e141f19cabd93619db0f283db797c4c4f01a8e860aeec7976c0fd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gl/firefox-71.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "d84b29970c4eb30f73f1f924744a529ae51b4d933cb0c6108ff9d12736596c34e3237566922540b0ae346e63dfde51f4252cf9e6a76e0c910878cbbc7dfffac2";
+      sha512 = "ddfffb5e6927a9edd8ea448148524dba075f1e9ffcfaaa5d56b04af06a3107095b910034022e2c9af298d2d2cc7a8612c8544af8ae0418c4d2ed0b1cd83d6e4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gn/firefox-71.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "650e09d225a27194156fb2681591b8bd658f92ac33e8ff4e0ed601a75fa28315f5ce34a7c3ea89ad7ba065fa3e0c9942051c0c75d96a87baba623eed368c5a64";
+      sha512 = "54f2893fb78260240c6b9f0fb9989d1dff7f4f5d493fb1baac6711821fe61e38afacc52cd7608543f5d9d8999a716163c65604c442279f929f35eb0e8f892d7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gu-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gu-IN/firefox-71.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "546d8c2a3f63f5090ab6c1b82a515d816123f5d87185efab04f1c255a7717e28e0969866e440b695fb22a743dd000575dd150d82613b9c7a289a2ada8689a0ae";
+      sha512 = "91e04c877173c730ac0bafc3e51fc47ddfadf3bc6858c8e4ac52454d4ce1fbcd965da53e8adf9c6276c7f7fdc353e52463875976bff4e01b932d348ee0f961bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/he/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/he/firefox-71.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "5e27de14d61ba25005700ec2efd958698733b362aa4aec6bbcf630fcd34cececdd4eef0bb8c9ea31ec5372c816b5cc0d930c15e594f33f28b99476a19e0ef92f";
+      sha512 = "f9a142dfc33af2f28671c5cb62007ca307a5156c9e97e1ef48e2e709faa89e2ce8ef40f98886b1b7595e6cd3ddb86e19c9795296bbb1fc07afc1cce933e7ac62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hi-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hi-IN/firefox-71.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "b91d9977e3817332240c82e73dbee31ea1dde9bbd4004f7f19e27cf3693460746cd7b37a571fc0219e88f0f52af2e38a39eee17935a9a6400da5fbf8605aa8ea";
+      sha512 = "545bade79a71a9a7e6c62f74d027705a7c60ad1303f8e1795e7809355368dd5709121baeebee16c7ee36b7f9913edab8fdde4555278a08e58981df2dc3ca897d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hr/firefox-71.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "8f87ee0a9fdac42b554d3d69d114feb44b320e1db3202bb90c0f05f7b13eb1b22f1d341d9e4ca6eed2e7a3b560834ae328582c7db66d64c3dcb54031218398c2";
+      sha512 = "08a92ebb33b0658c4242ffbf46245839842a16355b5c61b7c4c41f84daf306645c4945b96cc954e8121f3e9c27227427e322b8a38a209a6d7945a047ebdefb1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hsb/firefox-71.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "84070fbc03c36b3ec04be8872546c9ad79de14a4b518bc76ef324bfeb06f859153bb717c7fa7e0619ec6df0392d2e0f139616503a86b3926dad3f1e1c9bcf0e3";
+      sha512 = "3cd0a9bd9ff3c3662a4dd64cac378dec948ab2d518b41adc0a5836ff42a502afcbef0307bfd04af728e7065e3bcd791d64470f2602e358c78f51b7f41912cffc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hu/firefox-71.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "3a0e8fba4050641edb8f273659f7ce3eaea974f22b7a1b3c9859f11834b94f470831d5d71ce491b5269bcef79db973b7500d04a01583189e3acb7b15ff6f2ffd";
+      sha512 = "96b625cd3fec5578a646ec1668cde58c59b381fd2b58d84cd904c67c89b19fbed05d9ee70ea7f114be5041a00bd074e00eebcc424cc7715734a88bd3a15fa32d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hy-AM/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hy-AM/firefox-71.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "f408b350c3210a024671561caf75bacbeeb43fc90061558886c1eaf948caf14a8526ac66230cb66e265ea4b5094908e89188c469da76b477337a689b7a4f7998";
+      sha512 = "d67115a96bc9e1f225de788570e28b96ad867435afd94ee849dfd7c27f40aadfcf6213e2c2a8f6a237752a1241464e48c9bee373d5563506577cf0bdf6f9d290";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ia/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ia/firefox-71.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "5ba03b1a90d681f963e54e4599178c4494f4f892bcf3e1ea698eaa237830f128d9e0e4a19550f683645fd4682efa7801492bdc3fe5ef4cdf51b2241eb6fad279";
+      sha512 = "09334b96781f1ca1343766d3a78a82b9fbd60d6c2d267bdc25a5e0c4b3fa4df785e6eb839291585adc08ba9a1f707d3ab066da326a34d72a750dcb9fe10b1f96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/id/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/id/firefox-71.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "e8fe42ce9f6399d1291198d169f7da5be07f8317ffc47395968958587b559e576b6dfebb6a1176b89eb4ae6138aed9de987d6839f1e48c1a330a0274967f27b7";
+      sha512 = "5b01cd3f4395a7747d27c49038f82887ede4b5fd396d96f6ba085d26dbeb2bb7c722bbd53fc0872ad0070de0817e6e67f065e4e0054d52f0a76d4813e60b3b68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/is/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/is/firefox-71.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2179886cb62bac2fbac100fe7617b074ea890b9efc16c0fcf8387096d82e4b84d351bd2eff431bf5ac1e30d144208411b57bde540d8a744fb9e91b793d6dd061";
+      sha512 = "bee1004c51fb2c6a45689b29d8ef1aedf91eaa22d153d4d85eda87c79c3d063bef8ba0cc985c5b9cd808aecfc22b1654fbe7baf0f9c96cfc188a1ab101405c5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/it/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/it/firefox-71.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "738519602a2a7ee6b8c97a9df82b125d46e77d1804e7278d7416ff7a930fa38a2cd2888f7019f5a9d15b748725f8bb2d37eb7390141ae65c3056352c64b9ebe8";
+      sha512 = "7aa5568131a47d3bff820bfd3c7e8f5dff8d79d2f039510d73964b302f2b6f63e41cd2232e4d17e766ce52d89c9aad5118092152472ee7080b8505a4352b30a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ja/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ja/firefox-71.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "645ed65a2e9340c7836bc35badc6bab1d209fa59dcd3221deb892ae63025179610fe3a59c60dba3262c18b618ca7f625c9df6f247b8ddb0f7e72557d0572417b";
+      sha512 = "92e13e266b2da5b200cbb2d09b1bae3ba6963069357656a2dec89d2ca239bbfa799bb7356d5935bdd38a0d4ed5d503bcd69de67d3caf79f8118f0884b9b7fe6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ka/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ka/firefox-71.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "f4d4d156b5d7c15886680b2d5b2b6db7bb978a620be38ad25eec6ce477f5bdda068030b51fb05b949d3faf2639b6f0f288619ff523b0e9e988515927f251fe08";
+      sha512 = "fdd066469146eea0e0dec12d5dd98f8801e7a8910b5662e71ad480be337d9481939e7d4d19eb0a34e19e929ccdea97681a9d0da2d9fb96a6caf36f842426f32b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kab/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kab/firefox-71.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "5f3d11bddb361a542f333c1045d9189e8ca104a8f5280eecc3b9392941f8468140fc686b7e6c36140ae4e9f9417f00467c9931334944b3949023015b23b5d0e8";
+      sha512 = "0a62bac221250b7ebe55beab4acbf58d90ef522a82f4f98ed1cfda19ff4bcb02e59587cace7251691aa5545d02b7b9ddb7a8fa99eabe65ae867a4405e24b851a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kk/firefox-71.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "e9cd29f905bf0cbb7a8ab90e7f73144fee15c5442d653c2492701356260b3c134eef33ee066bfb1dacd46e1cbdd19efd0901fa150472aa63f003ee9e82ce006e";
+      sha512 = "cd611b845802e59ac292cb6e487a68319544130d6a39f4ce3f37dd5fa73094ae89e9504d7bba846c55dbc16747caf988c1a45691e7fdffcd601b50546e15ea54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/km/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/km/firefox-71.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "c9153fe68edf04008023928ad5fc810dfa0a8344beb2bd0c1810f15b0736fd1a0168d4b57e611f1192b5f7fada136d7bce209713e2873a2428218b555262c4de";
+      sha512 = "27b0d8750bfcf10813c35910eabe87f4294b033d1044b0fb35ba82a5870748de2f10b03b4f39c5857b6f42efee796ae9f8d3ccb9b920fb6b6544a0bbc86cae9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kn/firefox-71.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "6ceaeb920d775403f1da31d172754c3cde34f8d3b68bb18d75e23887f253bb62610c960fca3e11599caef4a947e68f11b22b1c240b3381a6eba179c948c1cda4";
+      sha512 = "5b292220e41ad296d2230650810beea85f038dd7d16fe24f08d7424ad2927424c088d8fa1c5c670aa95f0457d9d8259d4ad228cde09d2195dcb94a452a56b6b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ko/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ko/firefox-71.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "f0161bd480a8a8a861c9e757e0c54334c060616bc544cc698a5e47b71de1784092c44b12cea973b74f80bec89cd14c13a9c6a493eb7a220a8121676f5151cbe3";
+      sha512 = "784a362e0a28233e7453948cf2e8a6d6752d5a702164f913dae01e58f7aa837fd976f5641f6786fc58799b2b3a66255317a52714ae09b3f346a9814eb5445c4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lij/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lij/firefox-71.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "d591cbb59e4db81ce872ad367e0d74b425c1b2b7528d8f468bbea15443efb98ae74a5b860fbef43718432be8f1d0929766a970e6751105bbd949c7ac6e515b65";
+      sha512 = "6ddc8ebfb7a469636054ce2b5606cb2601398dbec59221e81cdbb3fcde33be0d6e2c2f47a7bd80a84c3a1d0a1c8e68827d72d57041319aca59c89a1b03eb9510";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lt/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lt/firefox-71.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "073a23678762ee210554301940e220aa50dbb478aa345c47c64ced760a19e25e24d1748767d627b6b0d382245be71723e44189b7a4f8d74a16afa1fa8ff93747";
+      sha512 = "57f61620c306445154585623ee4b8d2e915371429f669c426d0b99916a6eef39888c32d304420146250ea4d2c4696f287b7dab1187e341ccdd728d5cfc181b11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lv/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lv/firefox-71.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "6b5a2db5852f99fd725410042c59809ffc660ce66b15b8baab1b4b1d3cd4f534dbb93699b49204a73b37c2ec094ade0662661a580f7c498b8d17d7a1aed4ff1f";
+      sha512 = "6d7ef84ca7d5cf92fe671ef5372b602983b25a035e110bd92f25c461fc8a86fe0b14965aa3426c90febe1b311cbe67d901122cd54191162957ee0bc1e1d01a44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/mk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/mk/firefox-71.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "be4c365a2f9e39f5046b464308605d90d318142300fae63c5f12f3038bee064174f78639a5bf58950cf6849c5490f338247ca7982c2f400fa7c62672c11fb5a1";
+      sha512 = "680752f83f68c0a2c6f929016c610e671bef0ae44b84e976b0839a19f1947429a5a2e8e60149791fa2454a85772132dc87db1979adf327bf6d36da92b50a5924";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/mr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/mr/firefox-71.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "a9f8d75efb79d3ba833edbe333308c1da1e1a5724e95d6f6065170150bd341de1189a61283f28e6570b35d24c1711d97b2fa6de9a32bf2b896a2376ed592b56b";
+      sha512 = "1950ebfb23bf825b2f8711ff85c53db29781e52a9684b515373c2591c458d897a7a4445cbe3ade9a891c52104a7651ced306885639495bed76690a305b22fea5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ms/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ms/firefox-71.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "82d9462433da674272c77cb89d65d9514a045ac7ba68270b7dec5f6f01e50e81d6b79b5c84830bac4abe311eedd3a2e851ac8afb7d03f0e5421995b78c039ff2";
+      sha512 = "1dacb30753cc4c65bda54af6dc886b1a8abd6c6320cbf208163aa83d874449aadac64c5f5559e5dcfb366d4b0ebece323ba46b2eb41f03e908b6aef08bb46a03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/my/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/my/firefox-71.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "9239499eaf3686cd9ccd1e686f06197be63e1fe9b95c1343bce032664d08387abb4798d725f64cb439ca61afea58f3802ea786b40653028a0b90686af8423398";
+      sha512 = "708813ef947b1bdc8f0459c3ac908ca1fe3862525c59d51ccdc1e7c2d91c1e45693b109faa3d0302e7a2a0acabc3c84543b8ebe98ba9d97215505074ce9169b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nb-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nb-NO/firefox-71.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "085fab55bc8ecd2021f1ea0887ca7b191390d8ba02af07c1fa16bf78bbb5561b9e47a7ded461bf68b1faad9be747db794c9a9d31d35d2d51888d54a513dd5f99";
+      sha512 = "6511ea81a9eb6f552c260821bfbaefa7153a59f5078d7ab5676aca313ee27cf75617cae1cb569df400ed491ed31e172f51fb4c4da4ad672ec76e3faaa31825d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ne-NP/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ne-NP/firefox-71.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "c5f1e0b5c3e84f11a3d78bce721ddaf5f93bca53236475bbae7b9bfb126917cffe779a89846c4b2ea8d47a55b61b4a0a9dccebc1e685f100f9ba36ace157cbda";
+      sha512 = "088adcab8954c67db9715047bda7c91034b7068593334ebd2b0dd5941ca7ca3d3c22c959baeb5222e041ca50e93f4032b2fd509e305a666af0f772f89a56faff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nl/firefox-71.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "35bce76ba0505839b85f91881bc1fa8ee8e8d6b6dcc237619b80ae4c7fe0ae2c19bf6951ede595e94b5afb7b9c030813fbf4cfc796b1c3f82381b7c6a7ab593a";
+      sha512 = "a9d569d5032bd5e7aa5a54815b01d21f8aa55188144a0e19299cfd2e9f39f931bbd86bb9e05b9c2fc67e2749f82ef4d14c9bdc08044fceef8710b3eb67d3a4b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nn-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nn-NO/firefox-71.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "16ca43ce95b52823ded1776584fcc5a5bbe03126496c029ff36475559ed73d3fb9aa60c205aa5e36565f19e1e144a0239421331f3e3660dd7cc38868d44ea7cd";
+      sha512 = "dadc75699db6c309262855754cd8f3849a5f51aa62ccb2071322cc54f8193ac5b6ddd642677ab277871c4ffb90000bd49a01bff23557d387e7d902b74150d4da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/oc/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/oc/firefox-71.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "46d6196315738ffd105a7a15e2f2bbdeba86b171c8b87d7a69e8a28f5c704f8d1312e19d118e2634505945adafedc37558b7d8fe24bdd5df7cc3d50837db3155";
+      sha512 = "52850cb096bf7c2539c048f935c434101f3e66e7c24d4fe05147de018aadb357c4fb7b582d4e43b3948575b3d0a8166a97cef58ebe159585e8a0065bbbf30727";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pa-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pa-IN/firefox-71.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "73f8150047a7b0873fda0c7b8144fdac0e3e83dfdcf97b50398625cb228d5088dda611727ea5bdeaf0b018e0ebd9f6f63dba9abea398929761028623c513f35b";
+      sha512 = "ac1832d4c105b3b401cf029bf95dacff3afda8cc63de51b35d4b847177bf4ef48e415294c91c7a7c095725c52413ca17eab051d3a50c5f8c7346e480d85b2de7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pl/firefox-71.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "0f5134d8f8cc922331a4ffd26c9fc37e8ec54efc1e5d1b9da9fbe5fb05da80b078fd7698c88ef74009ca8769c919255aa120bfadf30354ce5b34f015a1caaefb";
+      sha512 = "6925686d241ab63e882b0679c93ea2ba73db84037593f098912fbd23a5bc0b93492bec3114e7e42a87f1ab72696f9c9d80caecee31b0d06c949a55238c0cb8a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pt-BR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pt-BR/firefox-71.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "f26f1cb749856c9e183984327f773baf9ccfb00f7b00abffc07fc98d9e646ca8d7b90ff784f8563e20ff5653cc57abfc193b9ce0862b5e86d50922d52a9c8e0e";
+      sha512 = "a3aa486f7d41f77e090d56047aa72dc9d40e8d8b27ec8203c85d77bd108443201940239fa16bbbbb007d8093429d810db0ce0ff6309c29763ee0b424b8df977e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pt-PT/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pt-PT/firefox-71.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "00921e3e87f12d653e762cefe75f3d064bfaa3fae7afe003cda2c98a381be4ad55a21989affa825c0e7726ad81baef41313ed98381ba598d991917d0f33b7cf9";
+      sha512 = "e8730652a48e737840f8bfef348d357d18d642e01aa91518fc88d0142fe45d5ec5f7902506e5e6a0c49c0fdcb74009a5fab96d9f6097b0cbe07c4df05599d79d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/rm/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/rm/firefox-71.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "1fb0246c91cc6beb01ae842a4ea9f2d749a5196380ee03eb689e03e1ad4d30f7d58ddd7ed3a6d3f340fc72b1c94732b67895cfcd0c2a3f1df87140d0ca7068df";
+      sha512 = "8555b604d00fa7f5efa6a2d3f6fed95e18c2256bc67dc311499b160dd634e9529e0e7f641d66c46ce3a269119a7e4af65461c8315d130eb46af3f43762f89d8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ro/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ro/firefox-71.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "5a1d2659499dda8f7394b6646deab1cdb18f7b6ff71cdf3667a238ac1d4170a97624beabd28cef3dc0ec5969d5eb9d05b5560fff4bf14fd0a5e5e2744c670585";
+      sha512 = "65e2b57e2e9aa7226989181fd5cf7d76b54f3be66460fb587d35f27689551ec326ee77da5dd6e4a60b61f39c5c789c399c8164377f6fc03324e65653112d07be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ru/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ru/firefox-71.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "8c7d33d17fcfd3df95757818b95e6a799a5089a2311a2e07960e6700d024b8218ef9c03d0771d3c2559937a45556ab640aa5cd71c34c00dfa27936c62903bc57";
+      sha512 = "b2c52373652a8340e4425a101bb8a9c5bca8f2db6093e54f5983a1a62d4aec0b10252d678b91dcd8bbb23a844215545b1f9d627ed1dd1bbd1488fc07027aba47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/si/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/si/firefox-71.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "1e20a444d0968162a84946ac8f78d42d0a01843a5521978b3719d954c2f49d4e834261b6e248d46e85a6312c60109cb2e2f75adbb209870132d828b73b0a50ec";
+      sha512 = "47fe8efd423579a99e480c906cd7af5a249c01103558c5a0dd41008ab701f60cec817bb691636985fb5ccd2c5c4d0628fe13e892db377d8400cf24b40b513aea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sk/firefox-71.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "badfe0541b0c7d5c9387b1a9da769b5a50ffb0ef5bbf063be99b4ce2fa44ebb7e957a1bcc5c7be4968e31028b215775f8b8d433af7c1c3ead2bede17c18b34f9";
+      sha512 = "3d8cd6aedd3ae96be8ddc7a8cf44a3185731803a1a413e3cc582aa17d3bd7280aa1001f7ec89360a95bdb8c01c0bb51b144921a72b9869e17fc83f6801aa3438";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sl/firefox-71.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "d6f133eff2b4fecc43603201a94b06d43a872de706bbce0c828c6f3ec4eaaeedbae677255bd85f8a22212f372192c3871d5871a402ec67855e30d2cef00f1b16";
+      sha512 = "79137e5e42391dda48e521b44cd7d6f951886b1473bd517689c04b74a0d4a9ceef5733e128a5180653a9ef9c3546d4d1a591e0343292e4eb7b9310ba77ebad5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/son/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/son/firefox-71.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "234116cade8ff0fd68eafdeb09def2de5a4395eb500fc06e04f9c5367a2bc9859beb34fb64f9a80bdafa76200716d999bf17a35a23177974a4e7f1f1cc43f646";
+      sha512 = "d782f24ba3ebc4882e4e5cdb9668d35b9dbdd614d31102efe85aae6d39e2890dee2e667534c1ec82f7e010463c5628975d5a9f06df2b84a2c0322bc0ad22cdab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sq/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sq/firefox-71.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "5742ddc31600b89d600dece3afe1794799e147b6f66454de3b1d7f8948b06778b87bdca042e8082f61213fa4fedcfa8ea3a0ef3d9a88b7b83e0a9ab438a44796";
+      sha512 = "6423c1957d7d3f80f8a00e9e04b4dad3143f0404136e4d8c695030da3acc261827c7d3c001a97b8ec6e451cef753819a3846e576c4cd6812cd45cd78e7700a9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sr/firefox-71.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "b3a2e8765c6d78bc35595f12086f4771ea5314e6aa0a1b36dd1d870680818c102d04e12633f30744c62416c378cee88c59e110eee11e44795d4dcc15c79c4273";
+      sha512 = "cf4de0253aca5994569925b5b5a2a80d560ad8d0bf6cfb9ec3b0f2944d542faa4065deb89375e8497f272349a10a4eb1db048631040e422dd7b37098fe912b4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sv-SE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sv-SE/firefox-71.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "65bc7b60249d6e29633bf6fb997a744522667af120dd00f61143f4c9ee7cf48a2764391c383821c9f6ac1c99fe40bee1734d8949194624ed123f92d0ffe7efa1";
+      sha512 = "83b0203af53d660dcfe801891a7409d8b3715ffd24ec1ea5ae526c712ed97b61470d23f656b196e8b8165eda8043eaba47475860ebc07f6fb28548d6a5a74e81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ta/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ta/firefox-71.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "5ed15cfb7e70ab43eef608a06713af28b44cd64a1e5d9e09bff2b5bc1c095f8022b82665a496ac25d3214c955c9662a8d783ba20a784a864739a04d387a4a81c";
+      sha512 = "c559e6f5fa0d7040f4b15567c24c9dc20d4f8fa1862985b3b4aec465e83734868fa9235d8e9718837d543b6ab8a74655f01dddec0be9d70740f728697043a612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/te/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/te/firefox-71.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "6bbf8bf5a672b8fa16a9286dea173b5323a77f904dd3218a439489d2ec3ad092346be8d06f22cc8b12d39a44282861461883a16bea8b0067e1b0551cd38a053c";
+      sha512 = "6cc85a388d5c88a6ad74bfd1a411b9cc33d573e15ab04889753b8e9c006b94c6cb654ccdc72b90609e3a1eb79ffdecaafede306f80c7fe811fd8c583b7299311";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/th/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/th/firefox-71.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "ed04524b8d60e96a35967c69901d478596a98aec0a31f8f4fec72c67217a6397dfc2c0a142929d074d0eef6e0d32ab4183a72b467f0f19720c240f7d0ab9969a";
+      sha512 = "601e0c5ccf1b3725c399035ac2bc7d1440de7084c7a2ac1f12c883a7088154b3d83de7c0167a556599c3c896c57540b57a927f5c89cbef8d7cb74941aa76ced6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/tl/firefox-71.0.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "1023604de1e1fbce835511e50b0807c6e1dba76461b86c7e8506b640f26f9cbc854109b14a8872e6350899afbbc868f3b4427cfba32fffc6e6585f65fbb95dcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/tr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/tr/firefox-71.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "5660ab4de81d92002ae2dcb7b8eccb371ca57c4ac06d31b052b187985babb54eacaccde8f9b2cf815c15f9d093a06b5ace715de42a9c36793ecf7b847ec5f219";
+      sha512 = "56a4755be67d6d764c62b8e226a14aa0f18741ab71d3d6b7dfcaf45dde124d821dcae75c3e251024dfd44d99b904538eaf4dd4a56c728af651a8c4a2c9533a3b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/trs/firefox-71.0.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "bb4cffcba83698fc3dd8edfcce361d58503ba4c890f2d906690d7036a3b36a338e379019df9129e2b509394737b716bc70ec7afdd485b12adbf7bf804a13e8d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/uk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/uk/firefox-71.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "3cf5d6942fd15b42a17911aaf3069a610f3c65c3e5d4bff83ee922fdb21d6fc6afd81172a6871fd47245a045e5a644943d450fb8af400553b3091f78aaa71b5f";
+      sha512 = "d406c99bb37bfadae4a43195be37f52023835ec9d771bcb824b2714552929def1d3888236dd9aecd9624ff1cbc13d24ea1ad0ac99b2d7f05d738f81eb0817ea8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ur/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ur/firefox-71.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "174039e641ebcd3bc2204c7816566e8083a61082aca7c67c46bce316408a978b5832a250944f8282732590e442af4a9a21d4dff53dfa0147755d276bf3dea05f";
+      sha512 = "18c84f48270a12173fe93505d35f2a0abfd9400714b23ab28282efc38f9fef358dfdd3a182b57f8de9f8635624e85b735276db913ab102a5ba27d9cab94ce352";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/uz/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/uz/firefox-71.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "fa6924abed1205b9c99db2134f311996c493d6b81ccee473baa9287b60cb0918df0aefa67603f0daa5fe73ba3e29ac2534f08079c6a348fd8546fe1d920a3b1f";
+      sha512 = "8c918babd17af9b44a3fd3fd1473b4a55e29a8b8907269ec7e4ddad82fa60babeec557f206a6c8a1deedf1536927cc94d5d397992dc3f7353a131110a73f7d9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/vi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/vi/firefox-71.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "79cf47c86f9ee36b906f13d78405c84793284affb7c1364cf7f71ca33f3938b0b434655db3a9051edb95574de6a7591697703a8bb5c7db3fa088da7d9aa97356";
+      sha512 = "bc00562535fb5555b5ec00b28f477d78fff09248bf6b3cc8fa6c54bc4d3ee304ed0787c17b18b699e693bfa1f40eec2875962b02df7a0beabb5a30f0a926bb54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/xh/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/xh/firefox-71.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "ee34ae83ea0eb4c3fc6a95635cd1965bc0ac13f9881fb15cb3202f32360e15c959de84457e2f167fe4dabc1e411062b942526f3cd624b1c860b4df7711de4d60";
+      sha512 = "8fa553f431e350c85aef0b31f99c2c02d6acb2ee1c78d353304b6030740c959b6cd5d536c62a0611306a9e2a927568ce91a6e43294462e8166221511632a5452";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/zh-CN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/zh-CN/firefox-71.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "f60a9f43eb196084dd86cf910597ae4833f6aa9d87a7dab934104ed6def9936420bafd1d8a321ff7d22d6d1b69452ac2b79865446b4b41789dd97858b0887810";
+      sha512 = "4a58da292a7453566e903612d2d8ec9af07e2c9f35346bdc4c1be4a9f586bd0d95236a300bd544a6f50bafe3ba582edbeabe3a18de925a85323e53999785e3fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/zh-TW/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/zh-TW/firefox-71.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "1c582dd3dde0c6a0a29145b9482b750f849d22162889436397f9186e82852b3a763784a7e53a18f728ac7e76dd4e9c02e080e679770ae2ce0638543c00d3e3db";
+      sha512 = "9cd943600d1464d3116b9d141d58f06177886ebb6a41f491af8004ea46713b56e93da56b1187f96e4f6ac6a304a5f1ef00bc0f7c74fc333cfe3a7a094cd907dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ach/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ach/firefox-71.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "5037ec716c3b9484f8dac120b9bd5d89d7fe4af8d5890566623b8cbe8cb9be7ad361848995b4b0862bbfff8ce752566e88a32643e6d631cb35f4bb48b136f0c1";
+      sha512 = "4b8e6c0a9617f35af6484a45781aea888693d89b87e73693cc4d39ac5dc8a4b5ade221efc2c8367f799f19b86d8cc23994c28adb519f472f0552487c6279e0b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/af/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/af/firefox-71.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "875f8c525297baff2876a6c5567b1a7c6b07a269d487c93a7591366c9e91f2359f3ab537f7c6ab59d20f1360638f742443aecc2082ebb5e6bfb545e7bf328f54";
+      sha512 = "cfb071be89b5c5d4943402f545a001717aeb46df6210a7c5efa58ec73f192799cb0b5e1d4cc61cd13b072a9a320560f6592700e9cb0df1fbea4cdc8d24c8a286";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/an/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/an/firefox-71.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "fa677ecac73408fdb394390f72bf49ccb3df16f93ad124ad91f60d1f29aa8a217af341ffd566291b86c18c81c92c8f9950dfbc8a339aad12105349f36cd79e2b";
+      sha512 = "ea87ac0ea1048dbb50ef76b93d1027d78fbd9fb18acd7e77121954ebdfc2bc8fbedd2e3b61461ea884e265be744ebe7d300b4416f7e3ba1ac6cdc86710e34b33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ar/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ar/firefox-71.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "e4474a7bf8e50d29d991587d354d2f1df0359513be6e6b8e978be6af59f18650c83d5acba61c0a972da8fad7b7db720c63105d8bbe6f903dc4392ba060fc8f88";
+      sha512 = "2301d1d7c3029829585442a8cb49a8fdb862044fb9329304d9fbf13e3359e60b452fab822d57743a7fb9b037ebe45607a251581b22dd682ef56c73a934c4cede";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ast/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ast/firefox-71.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "1a9d6336780e76e501e844c925953409c12953f27de8185407475a9ee54b9601d069f535570f16e70f6165c363a089b38cba472329749d18499defde6feb71e5";
+      sha512 = "4b1a6377f4cce9f16955b045eec886352dde9377b4ac4349ba544bf5554cc8d8b4406afedfdca53ffc2a3417eef6deed74def9e7d370c9800187d589a19a5c1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/az/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/az/firefox-71.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "774e7d4c0dd2830a581db68ed77d0066fdd03b523b9cad0e722343faa797e2b813f391a9fec7cfe37c9343c1220a0dabbe0a39a2ff39b3ed4d735dad7495ee49";
+      sha512 = "dd1a23b3a2a6ff1359953c2e4208e3e2eca32194ae8b48cce9654ffab680749b0a9cf9d9f13ca589b61d91f947df33ab2dfbbe559cd90c470ac2ab7ecff46a63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/be/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/be/firefox-71.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "cc82764c3a70d7ff2d92a5ad42796aff97e6c30e13d2669a6e651ec21897be2bc13ae7dd7a061e359dbf88768306b85face5602e9e5a917b4dc803593be224fd";
+      sha512 = "052bb1c0411c0d1fe997a394ef4dadfeafc4b01d80b4f7b5c80cc9281d1cd7affe65560fd19c085ffa1305314a86e2963f5baa814ea4ca285fa2e151af92a257";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bg/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bg/firefox-71.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "f64cb5ab0896c0d87532eefce2bedadd8fa3d288c093aca9245f860e93c2b3345b4a3a5261f01cc91621d05d1d60476d546b063b4bc76d11149c62031d4cdd5a";
+      sha512 = "bd12158f7faee488c820853c6911f9c6e5ad92be9918669814761d2974e85be6242fc7b0e4f531a73692ec2d4724ac8f0a3371ff8b308012a4c899bfc1325444";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bn/firefox-71.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "46706117f3bff11a6fcfdc0a161eddf3e4d1167dad75f60eb0bbb9479bb45b65364a93a20bd1ed9b99da8965c1b86ec4138b1187f4974ca34cb6e71e1db9d182";
+      sha512 = "ea9081d4dee23cf6ffc1c2ad7e7d7228cf615336f83725f46d53db5924fa09cf948344f95f8ff6ef57b19799327648ac9d1d6a0bf104727e85c76ceabeef1596";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/br/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/br/firefox-71.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "9856d76eefc33a114558edd83be6abab5676ce059076580641781a602621a74458b5a87cc5a664a977a9537e5d5b5f3c534773dfa446b292eef9a9849fe7a5e1";
+      sha512 = "67accbfd323a94fdd8daeb3fccdd6ef294c501f0a796cff9274be0b71583841f15e918781aeb30c903a5d58554caad4d4ad2d1dba7dffd983c642661a22cfa79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bs/firefox-71.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "7db4ce6bb1732f335da36e3f28ae695528a51b99797597a4154852f952a4dce99196f19da56807e653e3c83ce398872ebb2e0e1095d19ad45c68241f3b2d37d3";
+      sha512 = "72e33a58d27615dcf2ac407983f324cda4dcd127f4f6a7149552822578520abb9cf15c28aabc3a09a8873b392b0d7fe6976fceb2d89197c34a17fb4d4d1b5612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ca/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ca-valencia/firefox-71.0.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "3cecb8d3401838ad7c8668cbd424a6fc3f141aefdcacd28733301db651d31dd3ab996bd41a9dfd3249c4ebcb48c6d5eec464698bb6dc7fe9269dfd045e5eec08";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ca/firefox-71.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "565ff4b01016a47103832057ccb39aaa0af1860b90f820fdbce3a037be89741e077d9b10f41c7ecb20c1e5d724a672d394d3d42dcd5c82e48711104aa6660774";
+      sha512 = "545cf4e37c7946b0fc4b92cefdfc0e61e9fb77f01b886e82a4c2e9a348b720b45f6df84828fa8cd8e3a1827e47bd112d94d1513b68a96c1e1b2909729418535d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cak/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cak/firefox-71.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "7e5637b6e7560f68910adc22dcb02e0bb9a81a4b65a63c87634237943816da4c7d8bd3c02a809f15f4a1dd7a99903d6bf34151f4892cea4fefa5d8fac132c13e";
+      sha512 = "6fa83191685c96c860fd5b9ff8a27fa809c3595f2fe5ccadabc510e84e77da7210b192e589a7835bad8c6e5c46b7866124f66c419e58d0386a9bf8dd1d2d6583";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cs/firefox-71.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "407c9700c3c73fcff72042183549eb1c73a340b32bfcbdb350f4707b421c5c0614478aaacece123a41b4b2883eabc7e05568d90085e1ed560dcbe561f429a775";
+      sha512 = "50c22882418acac3f95a57691a5b1752ae51f209a50b60d7ad29b8e1b22b0aa372c1bc104dfa5563b6de14f6a09a03a85a595434f4bdc45a3ee932390249165e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cy/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cy/firefox-71.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "555f00ea08af899e080b52fc16ecf22b950a171be2beb339cefc7940a15a1b6ccd5c5dd61d3cb20d2e9f4a81faa9537279bd2b08195d8e3e527fd76990a462b1";
+      sha512 = "0475351728c3dc6afcf1e816edd5737f6aca15848da790616cc2fc3d7efe253ac2358a5b7226bf4ab9c3caaa07e91329e77622e6a022d81dee3cd7dc09532a5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/da/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/da/firefox-71.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "b2ecde8118c19ffd3bb5f75af9fbe3891fbe2feb85119a2d9ded71519e427d2a1fe9e41969945df984c516593cc61010daa61602fd6e5b01b84c7a6d0fb67a5a";
+      sha512 = "5a078e0be9d67fedca8951fb471838a54972d25a53d95c132b439028c20276a8a43183d249878fbb706f6b5d7d244bfcbc14cdad43ee2616eefefcbbc7876b5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/de/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/de/firefox-71.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "3d90125d66977908e19c2c2d5f0e8d9242094a87ce29fcfe8174db21a882cbf71ca9fd76279ba4c03131cd945c24de1b74437a7364d5d7670021d7e901b06b02";
+      sha512 = "8348b5d882ecc1fe9c4632b6644d756578d29f1ea1938b3953c6c2f7ae70cd02e00299bb4b5384775ba5e45f43ebb0d79a5b976385da4ad6cfc192edef0bd1fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/dsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/dsb/firefox-71.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "65722a4473e466417b3ec0859422f6bb40dcb68565eaef789838e6e15a6acf30393b70a7d599106161684ecd1895a28d4876bb36c511a6b9a292ce6542a4c370";
+      sha512 = "63b9fb904d0040d9ff626eb970e00fa58288527a9068c234f02d41af6cb33ec9575595b5d3661c78abafe4b2472d3e8b8f5d3c8b92d8121f564fc9f71883195c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/el/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/el/firefox-71.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "8192bd5c963541153ce7264d227396fe6eb6ab54aec879e0bc511845fe1a311662a7e03db3ad193a01ef0da3c701718d1aeab72550cc3b8f01b14518c82eae2f";
+      sha512 = "1de78be4c89017cc39c19e6196bd2327bd24a4c7cbfdf1a77aa87b0b0395e9791443d034edc48afacf1fc20b785369e48e91c203edaca5c33cab10c9a5f098f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-CA/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-CA/firefox-71.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "4514ea0d1efee35b57482374202cf4b44e24389ed1ea536f35b908966d6dcbb1963f59f2d4c48c136baa1dcb222a0596f63dca21b1da175eb5b71dbac5dfac46";
+      sha512 = "1a78bdc245161bfbe2cb7d6488f750d53524feb1fd9e04b519136bd0797f8ac5e60b1d9b905e27f98512e4d898498823768de0b51a8fcc682a807f690df3458e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-GB/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-GB/firefox-71.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "62bfc1a2522a638af38a41b0054b4fce1fd04d383df81d12abf0cb132a0e4e8f138e741130feff4ddf0c3fab574a0e889b72862517dc4603e8d9e966894fb086";
+      sha512 = "c12442798aa2a5e3a1f31f934876b281abe0c956558cbb5042cb5c94bdc062bf7659d19f0ed67b7208243cb42244aa7685f76da08df6a4b8d2013cc6ffeae392";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-US/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-US/firefox-71.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "0bea6634aecdcf315ffcc56f8604a677f7bfa6976a8671a361f2f76a6ff9c34ac1e7ad07980ef9892196515fb922188a36439e8c7b5d8113632fe449ab138878";
+      sha512 = "558ae4312ef18493d69c7504f10baa3598fd6e47289f316346b6df16dac97ef25894d6d2c776ed2a8f1ce0546e9b4c6086fb58b0cfd5018424b81068a6fbb7a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/eo/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/eo/firefox-71.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "a9bc92703d62576c988a5c50cd7cbdfe79665aed444e748f6c036b566005207883ae66bd9006af7ed6a35c26b520a250d746ed8b1964cc177abcf250231eb8a1";
+      sha512 = "ec05a1cb0573e27b5c848dc67ca6346ec43c7ea25d0854a84a8d61804946e970ef45995140b04271239d70c8d737c144d629384d221ab7167b581ea7f3982370";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-AR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-AR/firefox-71.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "a3d9a790dafb4f8fa75dafb0fe6f6c938b09d67895e9f443bac35f1799a73652d3f2460e0481333b325fa3293954eea06f1843f5d7fbe6f1c6927287fe35dbf2";
+      sha512 = "aa2064be8753c26359cc14a2d6c4aeb342cc14876a9565ea214fec0378b17074f811ae948bbb970371b67ab95cec1b68a0393c758874d8af43863b485801ef4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-CL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-CL/firefox-71.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "b81a8eaca07454b30a1dd902b6a3eaf6a81ded6d3a518067ce8483f20b6ff1c9f4f89e87e35bde08f7105970b033947fcdf03c1665522e1ecb557a7d2d536b83";
+      sha512 = "c4a3ff9543e50cfb200c21c80935133cbd8016da162bf8379817e86516ed23b6caa096228f1ff3a889f401f0ffbdec4d06015a81fcc0f5bf10c28e9097d61886";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-ES/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-ES/firefox-71.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "90fb3f648f6df4885521bc4d4c24e1e824ac3f700354ea26c3247a7791d2c588351e4d20f6dffd946ad3cd2a90744ce5fd0334744562df9a11b3015860da165f";
+      sha512 = "12f955890bc274d52d3a6ef81440c85d8b6b13332c2b3bfbad377cdba0fe8f64ed5dfc8f1ba576e9a8d0a5bd425b10e034a46b761ec86e7c2a5228bc2fbd98a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-MX/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-MX/firefox-71.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "6520c5ca64ca286da0e5c5dbb239552040de4b5e5b1f4b348a671245071b8e1f4213da930fc6acc7a7134a9a139c57d0f0462318df167771763d2d83b54c6123";
+      sha512 = "e38bead8333f3f29319e045aee1612dcaf4091d8cd543c9345b0fc78a563ee0fccd936a24416cdc91ebd184b479a504f2ffb72648e9d6521a0f8a1cd68e1ba79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/et/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/et/firefox-71.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "3e3d35b70b28d7a3b636e986d575db1e46ebd886cd3480202d9f79a13d2c60d0df0704d222cdf1e5b6c823dc80a68a610d7904b9915aadb0142fcdba83096280";
+      sha512 = "5437345a4ef6179898f7084c81fac8926f4d44dfa92c7875f7ffab5dd02538fd3e434db50abc486b460cf43a95162f5c38525c20d4872ff6300e182a6a3f2ae3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/eu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/eu/firefox-71.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "53d4125d95a132ee7ba7d13b6dd3303dfb4799aa9419cc1600addbd7905af20914b0d9e05a50d96081000db4b7d69242fba9eeb51f5bb4fc755d29df2c800d6a";
+      sha512 = "9265ae811f7e78c7078ef2cacbaf82356a37ce4ccf1528c72303a7b70ff04c59a43173e3ce0930fdd5d0bacf75267703965e8e99ed06f58f7444a0ddc9988a84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fa/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fa/firefox-71.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "0e6f6de18dfb2744f80591ba0b5761cd50c68e7957a7937a59699ba0ab40c995cf7f49fc9829f35379448dbabb86783962c06d9cc926e3ce0a00277ef509c307";
+      sha512 = "a1ef3b8d4547dd186bc66425da0b8e92a3d1bb30e05ef3ff0bb6ab303758f3a743ae6167024e290a409a4c1381aa8b20f126fe3c8b057a3b15c2a6393affdf84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ff/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ff/firefox-71.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "9057e7c690474b8caec909f77fde40c40a0eeba7ae6a16d021809024f1e83235221637d4b3f0201e99ea381dbfc2d56b6207249e275feb83ec86bc0bc2a67ad7";
+      sha512 = "05e3660ec39408afdf19dfa57b0538d69a87de58885569538f9786c27d7177666c0d24b9e7c92f013b603aa5f7a873b3be84771016de50216b3d2093e9ab2d6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fi/firefox-71.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "7b0e3601ff96c7e1574b073c8e14e6b1c2738064090b4bbb00c1b14fec901670fdecfb3b311d8beeb641b2bf762530db77e716dedd919096a549979b1cbec5b4";
+      sha512 = "a540afebb39f0a0fd0013635d54a4026007b2134293e669dafccec91f0c19045a1ac1c4983d1acf4c68daaaefef5d2b6e05a2c817759e32d738d71542145af9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fr/firefox-71.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "1cb393810f5268ebe869f116d9bb29f5d16e1fe074423f3e90a8a66ec1ae5efc525980157d9dd7b3635651e55e0619f64d5a8a356bfb1658e180a162135cec0d";
+      sha512 = "9f6007b920b23b345f78dcf372186c7b6f99fcf1b14f20405dc3b524cc057bc5d5acd9092f41d7f7729f5afdc8a973613ce0617c93e98ea2448154dd968ad344";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fy-NL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fy-NL/firefox-71.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "13ec09f3e23b32996b9959ce90c5e1df9f2b4659cb5f5b848632930ae084125dfe27ff24e110740290480be655239470a05899993a41997c4c861d296a3d484c";
+      sha512 = "962fa9beac2152188f415f64418747d1fb8331f7abeb451f4fc10580fe3b35531f7be7d3a79428e1bca476e162701f879f7392e8c1fcf75f67b9af9ad09491af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ga-IE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ga-IE/firefox-71.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "fc8e89974aa1b21bc7c53bfd04f6bb307594a8547b77b1e253a9a0c9c47b9fb18e570a812bdfab72b65b88a2fbbb2ab62a3dd9190545323d896ee5df448e6f7b";
+      sha512 = "cef86c78031b5f5ed53e5c11cf9c2fc87b95ee7dfbd4fb4c60c4934c6dc2cace1576b657e947a185067c4faf1cf52c641f720d8859eef822d4d727ab4c51f9fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gd/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gd/firefox-71.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "19374bc3444d2b047f4bd9233acd87c2c629928ec4f527cd39974af72cb28f9b4ec5caf98c59906952b62fc0740d06c554ca0900a4bf8350a728797772cd12ca";
+      sha512 = "fe845325b5314e786653000fe99b9a2645036d7058e09e68dfc6a6b1d67e0686c03fe69fcdeb017e96b1ba3eebbfe49f66e1abb01f0da343218597616adf3a28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gl/firefox-71.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "dc9e047c423e922aadfb7ad487191dc7c3b4c9ab4a92dea547ba7177883395ca492b494fd65d331a88c0b0d61a2064e96b07656943643533b6eaab0dceffe9aa";
+      sha512 = "75313fc9c8e0146668293f7689c1655835fa5bb13e87caafdb6bdbcbdfb356459ed7b181daa2de37d7a74740d2ced4edc34886bbd3d44ff39086a24ffdc2f81c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gn/firefox-71.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "7cad7e80ccfe46f146585307b4aaf2f53543c92c2fa399397615d481e0a5c2918896afdd0307fb91966f1153f00af1c35a5aaf0947849e0c17b67af3849e9f3b";
+      sha512 = "2b1f1b34bb99cc412a00c74a60dc8964700b8d99d76f96a095f19cfab9c55ced8c3f1fedbe54e62c74401d8fd777cb1c6ab0f4954a553ad4898d03a05653bfc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gu-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gu-IN/firefox-71.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "253cce0007ee447d6a22211b266532b8808faebc50451b00e5024ebaffc1deb01366f01b11e1602caf6af3497b47fac6a7d235861a9b8f796e5b89feb27b0987";
+      sha512 = "fef942f3ef14a660a0bb1420fd3c7af454ed330e01b41834b7a919927880a3c8f266339a5d95eea9c9d4fc9eeafb7e38d243726fe8fc5a2d0d88871c99c37c8e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/he/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/he/firefox-71.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "0319355e75fcf89b695c90af897ff14de43a7f83b89fa6deb39a4e8070d2147ce1d2ffcbc46c2fc423d9198fafbd1830eb855d29c400761c29ebc11003813224";
+      sha512 = "509d12bfd4708b9836b9817573c06533a81c9704f8660a1cce12d28398c91cfe52a22e3f139ee34b3f5c762d122e68ba92e725f41dceaf0b0ae5bce40ccd05e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hi-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hi-IN/firefox-71.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "49352a4f2a609fb5062fdb935ef5947cad9f8f51edf6f2c6866af8948301495986ebd5d2620efa919884d08eba88f66b4a4b0ba41b323fadcd960263a218909f";
+      sha512 = "6157cb4b53c2c190f9473b8086505fb0b12de5e9e902edcd259f5748cc462507fd5603fb08b0c19ac8e64a63ae3552244b61a08904a40860d9210debccdd3edf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hr/firefox-71.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "3ae70d6a0e01b2f24692c23bff8a02881793ad25ab62b3d2130117d1ce488ef84e855c95e42f45b623b09dd01cec9e7ea61f5bafefb33381f729db8b21a22447";
+      sha512 = "7e3fe339fa2d1a1d7258cc3b3e05397be74792ff7295d5a391b723ed491e5aa5768c66231935e9e69c864b2914e29c3bce8439346d23ec6e075645ae15dc4111";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hsb/firefox-71.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "53d427b81c5e05e2d986420f13ba33704bc30f12fdab7ed60399d2c9e577731a64d7facef62eb07b9fbcb9589dd0c976aced60e41e573197fce230501a2c139a";
+      sha512 = "d7e3dfd311e12c6a84b4d9dc064c25b9a8ab32aef063306dbee9c8da6a057af358bf37cb2c6ae3c4c6f1a9f4512d6fc1cfab2e60bdbc0aeda530a2cce3085561";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hu/firefox-71.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "fcfc48428bb0764f5573d976fa671a4eeb7d08a5e5d7ed6472cbcb85a5c269aaf709550032845fd2993246a10aaf990bdf02045a9229af2cf6f34e693b250388";
+      sha512 = "807905640f123592a56d3343bff129ac35f44ddf60ab04ab719f17ceca5dcf8cb21b1f24dad35580a6ec50bc11bd4f0243a28aae62800154f4d98be0d290e402";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hy-AM/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hy-AM/firefox-71.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "91b09cacf023774a6b123804578508ac78d11b398267c679f0bc97a27921fad94378be338c2a6488ccce9944537f14df9df705c9c365c39f46773de50ab24fc5";
+      sha512 = "2839c3ef418a083e5ee8ce563a4f06b5f1edfcd9c86ae90ceb75a6decb1ef587b9b855055fd1fd7e0b1e25431c7e67999c69278339ed94d86744002f4d954a07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ia/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ia/firefox-71.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "64ce9ce8b80db1af862bfdeb45fb5e4790ed910470c242eef2905220f5c763652783c6575753a6c950777b6dce20ed55150f298a03d24ff331f076c7c7904316";
+      sha512 = "900e8931df0bd992a22556f8796b59accab53593824ce5928cb69fcee5f28ada5a4640a25edce54aa2f81c59547b8072cb09fedf852202d4407d5e4983a3599c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/id/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/id/firefox-71.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "1e104130399a6379c174804a7e2f5a5ee855303565295c829f1f024ed3742379e6ff835416e123ef2ae4a210974619231eeed8bde58b784717ee9a49e6b6e66e";
+      sha512 = "dbfc727dd69a3799c2c2350f3f79b01b1b83e011cc5e0f38acb1c632324f8de90a7d70dd32a7c5c91dce5b0becfc530563ab290ab9176a632ec9da80a3ca6a66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/is/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/is/firefox-71.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "0c4f0e787695c8615c8f5c65e776ffe30d7a4cdcaac4e996a5ab417a3f785658801df4ef0810c00e6a028a87843d4e01e7653a74defaaa1d427bf78a569d88f5";
+      sha512 = "209e319507b34b35820a28835aacd4f910a00d0edcab29c30a3a3e1278ee3a5934d5237f4b3ee8df90abddb278cf497790169ee52266f965e368746f9f8ee326";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/it/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/it/firefox-71.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "b133d1cc936b23d289cc14024b3fd6572ff9ab1b1becb5b5456ab933cec28b17d2a42f82a11404e59f954d7c8f1f583dacb21cad0aeddfc5f1cc663569d1727f";
+      sha512 = "419da43d9c9a3048fa8552f0e3080ee2bdcc2a95b8c88958dea0ca898cecb45d6fb634db31af827b2f8842275f88dabf0b940078b08f2d91aeed5640bafdb00a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ja/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ja/firefox-71.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "e5ac3d886d17a2a7e2b4ed51098501c32d812b49895b5861ab2d086475b5b2a12b76895ecc77e3b5b8d2c02ea22206cc6babcc629f97925d0824b519692b0e78";
+      sha512 = "492b7f8f53b905c8e5b9cd9e16553ecd96f6fa0c063939e5e1b655a89f78b1b16b4ed29d219710d4bb3ff8335904cec4b494b850a735697bdb68cc9ef9a1f202";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ka/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ka/firefox-71.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "a565ff60cf771a1b4f38793cd62f37f7d87255e546605cf6ff8eb9865a3595d9d6a65712e602f71dae5257d465b5b2cdfeab3fcf86b81f974d96ed4394fc30fe";
+      sha512 = "8c0d6457a97f9bafcf902e718d5ca85f8fcbc09d8be19ba702bf76a9eabbd607b41411db242302f1a6d100e541805bb4050e48510b562191e0ea2794dd2d5bcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kab/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kab/firefox-71.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "01cdd838b55b490b631838d37d8b8facc59a88c83782af37c44e2a7fb9e029ffa74286a5e697c5fb18b3c6bfd299e505dcb7a74806ce2f402f9d7fc70d7490d4";
+      sha512 = "d5b85445c45dbd9ebc9d16bbdeca374aaabbb6adeb34f661d329995156ae2a71cff6ccc473380cfee1822c1f3f71d4fc2b00721d674499ec31d278f486f57031";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kk/firefox-71.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "ef57f2946a86477e37fe611a33f88c5d79f480432d96936ca5a1b8e4a0a4d84770a311c5d017d06215e65e99b42b36c32d8ea862c4359064bd008ad3e71143d1";
+      sha512 = "c1da7ff1e1102fa8c51f8e5e268aeaff7e735d90608ae8a07efca5e88b00534da1962f963a51fa8a03917b8ed7b598d7f4ef7500528227fff1da87b77571241a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/km/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/km/firefox-71.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "ad6c71ab38f778089dc741b8efd1093f500df24c5bbd78801f1b02ea2d13dc30cc56eb32585102f646135ff3f2d6ab8afa871f2ed6fb7528daf1e16ac3c3660a";
+      sha512 = "939b3072f867f6a6a4e8d2ae5dc7e49e351216ab0f767235ba82939ead1071c4d33eca4e4ced8f39715b12884765db17970a9bd88518c9e499e3b0abc0b8b9d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kn/firefox-71.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "e341c369ef095cb356470e7861504aa4a670bf633fd91ecfd190561cdea5faee03206053cac60dc1c66db3a771bb201e169913916741aa1a398a1567dc56b209";
+      sha512 = "b86414a3698ec62ec5f92a818c6f00460d246a5baa3a24f33da5b64b122ff6393e9e14a45e3778a45982df73c276e19efddae95a5ef41171ce5b7a995bbe9413";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ko/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ko/firefox-71.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "38c8c9ee945cb381744b077f3c85b0d96355d866fa7771cb4c1fa1c542d8d11f8c63b497a6c052da20ff443adcd16aec868d79120b1ee27d0f17aa9d1c809112";
+      sha512 = "b1f8e57c9147d834dd610391a908599cef69d30f61c9075b6fc85c641a6bd4e74b54823cabd09d2d391d0734024ab2d699010b7fcc8755d687cf7b6ef1f250f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lij/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lij/firefox-71.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "8cfe74ecb2ff43a83c2d4587ba3ef46a9856ce6065dd320df8cefbc75a6f34bc2c0dbd969e3a0894b0cff3faf40c67dfd5ef13c739beb5aeacfad2fd0da644f4";
+      sha512 = "256dda3e0cb8eb52dc7f778c0c9bbf38ebec313afe0f24e8d00a823d1eab4cbd30cc7fe9637eadae355e9494d0993f3060113b502a2daa4c2aa40154337c50a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lt/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lt/firefox-71.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "f00e7d3abea4f6ad161d1b9755a23c0cee97a897d14aa168c02b8ca934c116a046c98320a2cc92ed880aaac97961688338a7d16d9fd8d8140d5b89b6b755bb59";
+      sha512 = "7d57c55f2b3c3d19efba46424eaeaca350c70087100e8954bc85cb0c74fc65d3c47a3319d2aab5353d2298922da8fcb007f84469b61e2f9f6c69e5121212d9c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lv/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lv/firefox-71.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "48006127f33a07a1fa9873cd5700b7bf6195c53b45ae8917277ad936a9ea1e44125fd29a32c21f293c45513ed0d8ba159577acbfcfc1406f653c3411eb5f28cb";
+      sha512 = "abaf628da902218ab6394b547b1e4d318091b0fdbec2bfaecc75a8365df56a668fc7ddc21241497af7710317676a055c2850bf74960204f1160adf1d00c81461";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/mk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/mk/firefox-71.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "41fee9f27eda062cb60deb190c155e48d370b42c2705a1be31b08593a688013547f7bdf872c385d77e69073b242538b55e058e84a2f3f8f2c50510b018a6bdfd";
+      sha512 = "0bc74823a7ce8654f366949144c2876e7a3a526b96dac37452be4ba387234a302ef786a38e3828514c5164d609014c15181472cc2d3e0f75e8871b8af859adcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/mr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/mr/firefox-71.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "7b34194089a72e26c7feef0a541c0ce92b770007492963ecc04427a155e0488846c5bab875cf3bd6f535fec9b10f18d4bd75a439e8cc70f635d718be94683539";
+      sha512 = "d1d6e6bd41ef63424eefdd4a8fca9b8b20d4d452117eaf6abff22f9b42f7a22a4182fb826cecc4c38975caf6fbecd43fca35f818053c2360ed723250c7e95fc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ms/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ms/firefox-71.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "6a48e803f8c2ef2bf77802e7905a75124f2b5a0bf05be1e42cfffbca6337cee16e63e0b50eedcdb21f868ff0792cfc7adbf3d00b9b7498e122d5c6b9571b267d";
+      sha512 = "e3161b2ea8bab3d720b04d69e966cb1265cc0649241081127ab5ce31d4036699a63231b8342a07c215d53ceaf5af2567da1aa1e71a46439a797aaae979bd17cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/my/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/my/firefox-71.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "843a0618ab2260462937a374b87e1bb24a781ed85aee3f03b9745c1374c186bc5c8013358c37ac674495e992e1ece3015f51bd50216733c498576936284fb9ae";
+      sha512 = "ae7830a149522f0ed9bfd3e53e1c692534cd7c2f43d6eece8d3789764fd8ff7ccaacd6ac2efc9fe0f45c7cd0ea8b612208f330ffd0daffe9243ee9e1b5169a31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nb-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nb-NO/firefox-71.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "95f23fe193ea4b71daaf2bf9e6016f30202fc2eff3b8de2f64e32451a23edf438441c10979673b73f4244eb7dcf34fa29af985487cf2d757394f02e399e1e2f4";
+      sha512 = "c25803b43b21a2ebbdf16a8a9825cbfb7442358a6791ec6f268d12874e35f24ef48e8dee55e6ed5cd46d193fe59b902890b6b718fa8a6e121ef6fdc359dc903a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ne-NP/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ne-NP/firefox-71.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "aff8a40c53bb7279ecb3054716a2c8e655b0708d1f93eaabaa10181f634942fea384cffc0d6e624fbdb046fad5e9922bb74ee051b306e323f5f71bc0f05809b6";
+      sha512 = "b363fcfb531981dc423d0b134cbda0dd5c07f95631cc3b7644a7f3701d52ea20f5e62036d1e845ffa2a4f65e9b4a295bf9645ade31f59f3af864ec7d83f82240";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nl/firefox-71.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "5b9049bd2c025e988415373525ab7b4d98938fb8f3cd821e923d082df5e57b4338d2b1b769f5861e962bbcf4c4ec103ed916995b6621e5064a5bf08bdb42847e";
+      sha512 = "7ffa10349f0705a751f4e29775b43b81f2e23af764774c27a5bfaca90656650090076fdf3c11fd29dbbf4af9cf4d39b3389b885eaeb3e5abc0a5bb9cb9b85aef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nn-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nn-NO/firefox-71.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f3a54f9ad4b5d06646eb52c44407bb7fb6ec1ab7a88f703bde17c69e6f598a05eb5c86e1eb89cd41edc89721463b997b9c93172eeaa1ba5cadfb85136fd9d848";
+      sha512 = "4df5c67cb0fe6f0ab70bb885d601ca0beffe3bc8cf8d652e47d9d01a503bb2b33e47fd45b8c1cf47919607da4a6f144fccb15f8fd39dc9d1e395fbc607314a6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/oc/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/oc/firefox-71.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "5eb8a9b68ab057cd67776edc1dd71f094e5373926230ab4275e498ca91e18d8bbe37f2d921507001097b1536085739fb8e167b47cc71d7350301fc9ea687c122";
+      sha512 = "386e9eeb00e63d9ed24befa757b8fce2dcdaf6c9cab69000ff23ef89e9f65ebba0128b69202db34852f2149fae91df05694f6957eca7ed1f82a25e14c0123ea7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pa-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pa-IN/firefox-71.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "3bbe65e9486b1192c0ab6aee17805e31724fca6ce4faf986c9afd9ae5b4e48f81cd78c15bf7a4be74f4f26a49f9de69221f88ae4b3a119c7c5400ad9d73d2869";
+      sha512 = "213e984eb4e62d058198b71e72b8c814f203e2f0d2c2bbab2fbf22f7cece52186beb44b1f23ed19ac1638b027781c1e7b4f2e68770180bbb9b7b27d401eeeb21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pl/firefox-71.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "3e4c7d5a36e11f2013209f6eb40d7c95ec597a049688d795f426215377ce99677393d198470c9549b7800b36926ea728629497572e1242bcdb150f17d1e23642";
+      sha512 = "f7828a1a31face974561441e4347fe17f6fd925e41430dfa9f5b39d4fe8a691aeae9691b6703a29f798b68caa53e1ab17cc5ec6d3948240fddd6a78854c74bb0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pt-BR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pt-BR/firefox-71.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "45b3b8541c76e2b18f1ce6f31e7653b612529573fd7d795ab09da85fa786db8f85385e875996acf2c2b53335cded727cd00d59d51caa63a115d18877a14b6396";
+      sha512 = "bf780d5934d67009c38f980fe82fb299cf52e76652066e057b38b88ff113825e3f34d7ad7667c3617e8304464a66082e8dffa0a6e6d9fa607504558e89f5b13b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pt-PT/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pt-PT/firefox-71.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "a372f393f9b49bf3fa84858a5173272a226d740e8dda058c780d7733778be0d0e3eca7e959425b9b51ed62d1dcb91adcf04c8f7832bd4563649d29274c844c11";
+      sha512 = "4923899c4ad5dc1364d8aa15bc8089eed80b06595b96a85b219478ce92e86fd8d3ff2423150dab09a357f3e68b380d267dcf32f75368e6c49df521cd651f8d55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/rm/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/rm/firefox-71.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "5fbbf7b308f40ff27ee364bc0a5ce9d8dde0685eccd319a1aba22192b1e713ab2ac34e66d9284cac8f9d8b2ca5a4f4c24b6befc76da937e97c1021b2247e0be6";
+      sha512 = "b4386b2b482c85663de59faa3a068713459dbf70cdc7d8cab8477b1e53c499e6e3438e4cd53233954d7170d12e9e598b5dead5def0669d01bce597c8a6b84725";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ro/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ro/firefox-71.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "a39b7e922aaf404b810e06b56bb23b012252606caa70e64680a024adf64e780db8a4850053166f35e0d47a98e009e5116143b273920531a3c1ce82ae81430c33";
+      sha512 = "9b033b547508da32ab23b477c4b4589d1b12515b3341dc39a13106748d8e93a48dceb8ed6d9a95da455ea1101eb6e9643cc5d676bb59922bdb64a0526b778221";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ru/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ru/firefox-71.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "e2b909fb157a514485ac90dd46598245df90b9d6ace9104a4fd638513d2e5bf430b59238a3180d2906e8be2a2e1cc68478f7a6a1b2017018a8bdf79c6acd777a";
+      sha512 = "595d7ce551c846511f691de9dac90d5b15f46b6b00590a41d4ba1d7471f55b7f32dcd1e392bcc54ab2d1cffdcaf2ccff8fbfc3c084d3f74cca869bf570c515e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/si/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/si/firefox-71.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "e99a85f77b4269189f578f2f2ff52f952a1044c8e9894b7ae3826df709304aba7b56980078adc82a4c6242ab7dc102a55c7c3417a2bd3c4d4a50ae702381e400";
+      sha512 = "c10dd55008408cee98aaf4e6aacf03a4770a20220732e8d5318441bc163730753edcba8691017906b3cf2c28d5f9cdd0606ee812a1d01b40ef24d3d9d0239d08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sk/firefox-71.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "16a1c7f32c6e9ef145e6c85a5d875afb87ab844ba1a97e0a878129dfa3e8d1418f3484c5cab653fdb6901a4af282c0b4eb6b7e44a4b124fa5638136cec7d151b";
+      sha512 = "a439c2edda86c81911a61334ba747eba8619eaaf09b9f089a462f54bc93f413207b4db20a96b85ce8b0df58472bac450be1d8ab8e3bcad482ce653837d981ce2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sl/firefox-71.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "0e844d8c13b365b206d903059d68edb54a49995616846d6ba73846d437fbd4a15ed4c179ef466f955598a08d37e546e63f72cb5cb351affe9b71a7b8172680c7";
+      sha512 = "1bcf899acd6e722ddecb6f776cf185e71d758e7974c2b9e693f1295b2a9007dbca7cbea9b1c2e540857f748c24daa8631ad1857798742b1496a8553412e7b0be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/son/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/son/firefox-71.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "21e038a13b2de3b1793a05c6b58311ef025fd5e0e84ae73ce6a652563ff0e2ddea3d94b723175a4ed8782b72b32eef673f0bb30c8191894d3b5279c8f928a356";
+      sha512 = "0f43632a15edf48efb18089daab3f2f45c54ff1cdf288a8ab456bc36019aae9109bef1017b01481625b8d225fe78494be8323ced159bc4ecc9aebfaed1c46e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sq/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sq/firefox-71.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "17e54e8d2e47aa06b2889d2c742e8af7b0d506025c03eb240106c3ca6e2a6ed8a3c68e2999190a4a18b3ea52a7e0e689851d9839105f5ce973c7d92dc5162a94";
+      sha512 = "0ce0d354aee7c3e2bfdab5a3cc13c64d9967620fc710d52d0ce46cc54d15149d52e6d35749f5eaa3889c8ce1399a08477d5a1e7079c012d5280765c5688d3894";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sr/firefox-71.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "c635b30ff1c3681b37cc823c7184939f4edd0a5eb0b991e6efb329816e7f7a1433bcebd7a5a905a0d0352c214d9df7015e6e017d66b60450dbaf5c1ce8e91311";
+      sha512 = "218ad778d5f8421081f0a6c42232513dd7fb6f4b946cffc4a36278d37457d68e78674f5deac839c500ab7708f79bdaffebefbb14777103af2f01b105d7de54d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sv-SE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sv-SE/firefox-71.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "d4a7bb7cca2caae6c0fe59a7d95386b62b6d061604601d84779fbbfcae0f3e4f1688c0397b30fc39a52706b3188f7bdf87b9f04af2b2f3b9f4af791d090af62a";
+      sha512 = "8c3bea33cedd039db2af5c0203a36c375d65d83d4d914a43b9ed9f83e5f7783e7cb2072259bb14642ff9ef8463d6af521d242c1d9f6dab10f9621d499dc6d7f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ta/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ta/firefox-71.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "6849eb6714602c1fdb9925bedf155876544f483ed4661e90d3bdb819a43469030913b2f5dd08a25a1ecd88599f6210ba08fd840598fdb442eda701c6427e63d1";
+      sha512 = "0a0eb3e83e897bcc21a610b235e923344d8f3a09c0de83f78c5b240c84254e2684654608d004be82896c485f004b9fb9f93a6039f51a780610ea5f6a7eeb1d59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/te/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/te/firefox-71.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "b969367ab5d96f7eb3d53ecb0e2bc6b5c76f1f3b409be2469e44eef7450d9b4e3df20b759ddff452319cfe117d037c8140086c06d99aa757ea1be9471a5d7ec2";
+      sha512 = "b39b47e236fa80771414f92b8d9898d0f316e4f4807abd9ca59ffba822166a11ff79f79b819600a1b3a24afccbc7ccbd740dbef89516b1ea031c1364ec6bc7ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/th/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/th/firefox-71.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "9bb9888a2106256fffdc289c711b75d008018080d49dc87ebbb40519ac39884a7e645504b3b9a458dc34268afe273684044d3993d94851bc7ef0dfad2491cd6d";
+      sha512 = "ff6c0a8d6ad2b1971af4fcd5d96ed2422e6fc6a820d43f2177d49740ee2a87a52a393ac323c65901907303741d7b228cb547093419dff474cde3837b3f9d4679";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/tl/firefox-71.0.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "ac603fc901fb513266bf3d9ee7c1e088fa09fd403ca264539b586879303f27987c4eb1432a8b9d3a3c4fa3abe874d1d1be76cb9993cf0bfb675df3815f9b6b81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/tr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/tr/firefox-71.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "80a614d54be2ea66ffe8947e9389c795a83bddd1d1350f5f98953ebf02eb8d7102ee3e2e41e79143a19630a897ad9ad9b3d999fc264a271a7be426c18de4a179";
+      sha512 = "5a222bf901572528f058d2f6bf2d449fe93dfc9a7555c91ba6a19844674e3ef43a3d53258840cf37dcd3cb2100d68cf0a6407f2934ee07345faca2423f0c7a04";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/trs/firefox-71.0.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "d0530d17fd9aba0046ddc677326c17301603f1929d3c7fde6590278af43c9ec2b3ec8951efb184c9ff89085311cfb4b5738e732203d8ec6e7f8be61428fc4f87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/uk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/uk/firefox-71.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "f08ad461916354ed37d489e2635cde7c42c34b9bf8eafbbf05901a489f9eb69ab55df2dbecbed22980f63d084b76a981d8608434366e35836c19a9e87367b9e5";
+      sha512 = "fcee0ec3a5821c7539aab0414a48b2647aa88b66b99b079259f811c91afdda4ccd4f073ca06f9f8b87173427d07f0390705fcca66fbd100a917205bc4703201c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ur/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ur/firefox-71.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "33483075d31c70b684e8152f241c0ec082fdb2a7567bdcc418d86a5135ce2afd6b40ec6616b8725dc3a0dc683120ef55717c5391a7a8bcc1c62b43c56620f70d";
+      sha512 = "8bf47e2b5eca734580ca0958d0f86a4807a1753996da13f57c2a3c6f6f3d1297de7fdc02e8db649ef7108313c415a8a82baa5772f35f7dc94fd5bd1927558e8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/uz/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/uz/firefox-71.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "065c212d3fb01cee2c90be07c84bdce37bd285ec20938cf6799951e2ee2d598317b720af8757ce0d9355dbb4fc99365e02890cb57a43437ce60e9d28c7701cc0";
+      sha512 = "50bf9e63e73387c4740f5978e8eae93d7212775cffc62cd9f2d7da24dde2558180d59cec5c19d78475cfbc7451f82263ae3b9ed53c765f6621ec456b0eca03e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/vi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/vi/firefox-71.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "fc906223f3a75ad7672bb54dfc2b653f26bed3ca958f8a030bb4987db641abf3ab84dd811b0919a7ea283703bada22ef5e3042bebf7ef6336b3d2494c4cc87e4";
+      sha512 = "887878ae122299374d1eccfade722837cdd7df0122e2790749909543d6ce9a5fa83919a7ceea1864ab3b9b71408c38b4e3e72d2abbe485dfb66b378e103d9719";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/xh/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/xh/firefox-71.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "dc1896ef1a1eb0e0049724bf28f14bb2d039d558212aed3c619688f289d8b80f99b4e77acdb75d454b75ed39e610527840211dd2ffd7dec1a8e74d68d3eb468a";
+      sha512 = "4521638a80908805b13faddf28098b7186704b50b1da6ea9999aefba0202263e6e8650445b6b6b635d4290f96a95173c5aa0db9a4ac066b4e4baeab3c67bfd79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/zh-CN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/zh-CN/firefox-71.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d3a1ab88c12115e70b4077d6ff05949d637527a376abaa5ae773ae3ee7caac9e9812ec16f1674d890aa0dab358491f344688e6f1e2fe57ea10f086d4c88c1cd2";
+      sha512 = "65830ec45c63074cd4494805af5fd40b7fe6b061025f00d16df53ea3a51892b1e7eabc2fae8000b08a7d4c6eb4a8648eec2f3c86e105d8cb383e6dc20a3a3114";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/zh-TW/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/zh-TW/firefox-71.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "0746b0f439aee108a0c2e4b582a9c308921ce52575322ee6129026ad35ad9cc5a4ee81b05a27fe2febfd98168c59b012381e0432e08dfc52cc2ffed8bd43cfc6";
+      sha512 = "ae776f0593c0ab0dfa360a76e1465fe64de9f751ffc906019168af18467731670fedb2449d159d4978351e39da01eb6553444eba0c5884111d14a8f280c92462";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 93dd5e527e3..d9dc0a4f788 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -7,7 +7,7 @@
 { lib, stdenv, pkgconfig, pango, perl, python2, python3, zip, libIDL
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
 , freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, unzip, makeWrapper
+, yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libXdamage, libevent, libstartup_notification, libvpx
 , icu, libpng, jemalloc, glib
 , autoconf213, which, gnused, cargo, rustc, llvmPackages
@@ -95,7 +95,7 @@ let
   browserPatches = [
     ./env_var_for_system_dir.patch
   ]
-  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "69")
+  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "68.3.0")
     (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
       name = "write_error-parallel_make.diff";
       url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
@@ -110,7 +110,8 @@ let
       url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch";
       sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp";
     })
-  ] ++ patches;
+  ] ++ lib.optional (lib.versionAtLeast ffversion "71") ./fix-ff71-lto.patch
+  ++ patches;
 
 in
 
@@ -131,7 +132,7 @@ stdenv.mkDerivation rec {
     gtk2 perl zip libIDL libjpeg zlib bzip2
     dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
     xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-    libnotify xorg.pixman yasm libGLU_combined
+    libnotify xorg.pixman yasm libGLU libGL
     xorg.libXScrnSaver xorg.xorgproto
     xorg.libXext sqlite unzip makeWrapper
     libevent libstartup_notification libvpx /* cairo */
diff --git a/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch b/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch
new file mode 100644
index 00000000000..f48cad9e67a
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch
@@ -0,0 +1,100 @@
+Original Patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6
+
+Also fixes the issues with dom localstorage.
+
+--- a/dom/indexedDB/ActorsParent.cpp
++++ b/dom/indexedDB/ActorsParent.cpp
+@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::DoDatabaseWork(
+   // if we allow overwrite or not. By not allowing overwrite we raise
+   // detectable errors rather than corrupting data.
+   DatabaseConnection::CachedStatement stmt;
+-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
+-                                        ? NS_LITERAL_CSTRING("")
+-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
+   rv = aConnection->GetCachedStatement(
+-      NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
++      NS_LITERAL_CSTRING("INSERT ") +
++	  ((!mOverwrite || keyUnset)
++           ? NS_LITERAL_CSTRING("")
++           : NS_LITERAL_CSTRING("OR REPLACE ")) +
+           NS_LITERAL_CSTRING("INTO object_data "
+                              "(object_store_id, key, file_ids, data) "
+                              "VALUES (:") +
+@@ -26076,9 +26076,6 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& indexTable = mCursor->mUniqueIndex
+-                               ? NS_LITERAL_CSTRING("unique_index_data")
+-                               : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26099,7 +26096,9 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
+                                  "object_data.file_ids, "
+                                  "object_data.data "
+                                  "FROM ") +
+-                             indexTable +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
+                              NS_LITERAL_CSTRING(
+                                  " AS index_table "
+                                  "JOIN object_data "
+@@ -26198,9 +26197,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& table = mCursor->mUniqueIndex
+-                          ? NS_LITERAL_CSTRING("unique_index_data")
+-                          : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26218,7 +26214,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
+                              NS_LITERAL_CSTRING(
+                                  "object_data_key "
+                                  " FROM ") +
+-                             table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
++                             NS_LITERAL_CSTRING(" WHERE index_id = :") +
+                              kStmtParamNameId;
+ 
+   const auto keyRangeClause =
+diff --git a/dom/localstorage/ActorsParent.cpp b/dom/localstorage/ActorsParent.cpp
+index 9c46c20670..642cef1701 100644
+--- a/dom/localstorage/ActorsParent.cpp
++++ b/dom/localstorage/ActorsParent.cpp
+@@ -6959,13 +6959,10 @@ nsresult PrepareDatastoreOp::Start() {
+   MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
+   MOZ_ASSERT(MayProceed());
+ 
+-  const LSRequestCommonParams& commonParams =
+-      mForPreload
+-          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
+-          : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+-
+   const PrincipalInfo& storagePrincipalInfo =
+-      commonParams.storagePrincipalInfo();
++      mForPreload
++          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams().storagePrincipalInfo()
++          : mParams.get_LSRequestPrepareDatastoreParams().commonParams().storagePrincipalInfo();
+ 
+   if (storagePrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo) {
+     QuotaManager::GetInfoForChrome(&mSuffix, &mGroup, &mOrigin);
+@@ -6996,10 +6993,9 @@ nsresult PrepareDatastoreOp::CheckExistingOperations() {
+     return NS_ERROR_FAILURE;
+   }
+ 
+-  const LSRequestCommonParams& commonParams =
+-      mForPreload
+-          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
+-          : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
++  const LSRequestCommonParams& preloadCommonParams = mParams.get_LSRequestPreloadDatastoreParams().commonParams();
++  const LSRequestCommonParams& prepareCommonParams = mParams.get_LSRequestPrepareDatastoreParams().commonParams();
++  const LSRequestCommonParams& commonParams = mForPreload ? preloadCommonParams : prepareCommonParams;
+ 
+   const PrincipalInfo& storagePrincipalInfo =
+       commonParams.storagePrincipalInfo();
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index b60d1a8e8f3..105a0a18d6b 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -14,13 +14,12 @@ let
 in
 
 rec {
-
   firefox = common rec {
     pname = "firefox";
-    ffversion = "70.0.1";
+    ffversion = "71.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "0jzga89iyawswma2p2g1ygffivflc8a966v8s5pbz425xhgbcvif1li0y0rbhnc5dc08lh0mr3a9n5sry43rr5nhkqi1vsh1ri1i3kr";
+      sha512 = "0hfjlhwdhfdfzd27d6p3h8ff5m2jphlaipv4zym48bn6g95if1x98q2lb87617bxfm31di4rckjvqb70g9sm3smil6p6bnw2dsvnq1g";
     };
 
     patches = [
@@ -100,10 +99,10 @@ rec {
 
   firefox-esr-68 = common rec {
     pname = "firefox-esr";
-    ffversion = "68.2.0esr";
+    ffversion = "68.3.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "3p4gic3nlz1rxfc64xnv6vgfvf84w8752vpkdc1sfl3qx0w05q5d23rsvmkm8nb45bnsq3ch3jsrsh4p6fan4k9hvmzv8zgp6k2qlpn";
+      sha512 = "31zisy4l07hhm9yvxz7sx04kz1f5rl20z1w072jxaabi42sw07xr6lcflv88gwl21y902n7vwd1q1zfavpnipn65wap4i0vm8c4m6pr";
     };
 
     patches = [
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 3ed06717f6a..4901d694f49 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -18,8 +18,9 @@ browser:
 
 let
   wrapper =
-    { browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
-    , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
+    { browserName ? browser.browserName or (lib.getName browser)
+    , pname ? browserName
+    , version ? lib.getVersion browser
     , desktopName ? # browserName with first letter capitalized
       (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
     , nameSuffix ? ""
@@ -83,7 +84,7 @@ let
       gtk_modules = [ libcanberra-gtk2 ];
 
     in stdenv.mkDerivation {
-      inherit name;
+      inherit pname version;
 
       desktopItem = makeDesktopItem {
         name = browserName;
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index d679eb56f5b..0605eda7fc7 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Fast, small, webkit based browser framework extensible in Lua";
-    homepage    = http://luakit.org;
+    homepage    = https://luakit.github.io/;
     license     = licenses.gpl3;
     platforms   = platforms.linux; # Only tested linux
   };
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 29954e4129e..7e3705a3b0b 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -74,7 +74,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flashplayer";
-  version = "32.0.0.270";
+  version = "32.0.0.303";
 
   src = fetchurl {
     url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "1c3dn4gkl40i5sjkvpbkn9fl82vjhy1v7dhrayk3ncfsxcyvbcm0"
+          "05hfc5ywmcvp6zf8aqmzjp3qy3byp0zdl0ssrv9gvzcskdqkhsj2"
         else
-          "1g7i9mihn5g9i71xyf805k19yk41vsr85gzk87gm426m0hcgg89i"
+          "12hl8lvxz648ha70gi3v85mwf0nnayjiaslr669vjan3ww94jymv"
       else
         if arch == "x86_64" then
-          "16lxgkbr2hg49vhc7414zkh1kblhysf779854faay308ml3i5kdw"
+          "0x0mabgswly2v8z13832pkbjsv404aq61pback6sgmp2lyycdg6w"
         else
-          "0jrdzm8pw7aq32w7m4rvkhj7mmqyddh5yxpj7q3d9hxrwshkikvj";
+          "16kbpf1i3aqlrfbfh5ncg1n46ncl9hp6qdp36s5j3ivbc68pj81z";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 27ec18aa6c8..28b4c8a36c9 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation {
   pname = "flashplayer-standalone";
-  version = "32.0.0.270";
+  version = "32.0.0.303";
 
   src = fetchurl {
     url =
@@ -60,9 +60,9 @@ stdenv.mkDerivation {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0k5azrl92hkbn7adjz7s2lv8h59n7gsjrcprqdc485i4f7sjmkwj"
+        "0xkzlv90lpyy54j6pllknrp1l9vjyh6dsl63l4c8cgh4i830gi14"
       else
-        "1la5s4wxchfpl8in576xj675yrg84pify22pwf063h0jg3rdgi68";
+        "0mi3ggv6zhzmdd1h68cgl87n6izhp0pbkhnidd2gl2cp95f23c2d";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix b/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
deleted file mode 100644
index 6ab53376310..00000000000
--- a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, gcc7, pkg-config
-, next
-, webkitgtk, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "next-gtk-webkit";
-  inherit (next) src version;
-
-  makeFlags = [ "gtk-webkit" "PREFIX=$(out)" ];
-  installTargets = "install-gtk-webkit";
-
-  nativeBuildInputs = [ gcc7 pkg-config ];
-  buildInputs = [
-    webkitgtk
-    gsettings-desktop-schemas
-  ];
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (user interface only)";
-    homepage = https://next.atlas.engineer;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
index 9b537c55337..97c65fc12ef 100644
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ b/pkgs/applications/networking/browsers/next/default.nix
@@ -1,86 +1,90 @@
-{ pkgs, stdenv, fetchFromGitHub
-, gcc7, pkg-config, makeWrapper
-, glib-networking
-, next-gtk-webkit
+{ stdenv
+, fetchFromGitHub
 , lispPackages
 , sbcl
+, callPackage
 }:
 
-stdenv.mkDerivation rec {
-    pname = "next";
-    version = "1.3.4";
+let
+
+  # This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
+  # See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
+  next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
 
-    src = fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "next";
-      rev = version;
-      sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
-    };
+in
+
+stdenv.mkDerivation rec {
+  pname = "next";
+  version = "1.3.4";
 
-    # Stripping destroys the generated SBCL image
-    dontStrip = true;
+  src = fetchFromGitHub {
+    owner = "atlas-engineer";
+    repo = "next";
+    rev = version;
+    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+  };
 
-    prePatch = ''
-      substituteInPlace source/ports/gtk-webkit.lisp \
-        --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-    '';
+  nativeBuildInputs = [
+    sbcl
+  ] ++ (with lispPackages; [
+    prove-asdf
+    trivial-features
+  ]);
 
-    nativeBuildInputs =
-      [ sbcl makeWrapper ] ++ (with lispPackages;
-      [ prove-asdf trivial-features ]);
+  buildInputs = with lispPackages; [
+    alexandria
+    bordeaux-threads
+    cl-annot
+    cl-ansi-text
+    cl-css
+    cl-hooks
+    cl-json
+    cl-markup
+    cl-ppcre
+    cl-ppcre-unicode
+    cl-prevalence
+    closer-mop
+    dbus
+    dexador
+    ironclad
+    local-time
+    log4cl
+    lparallel
+    mk-string-metrics
+    parenscript
+    quri
+    sqlite
+    str
+    swank
+    trivia
+    trivial-clipboard
+    unix-opts
+  ];
 
-    buildInputs = with lispPackages; [
-      alexandria
-      bordeaux-threads
-      cl-annot
-      cl-ansi-text
-      cl-css
-      cl-hooks
-      cl-json
-      cl-markup
-      cl-ppcre
-      cl-ppcre-unicode
-      cl-prevalence
-      closer-mop
-      dbus
-      dexador
-      ironclad
-      local-time
-      log4cl
-      lparallel
-      mk-string-metrics
-      parenscript
-      quri
-      sqlite
-      str
-      swank
-      trivia
-      trivial-clipboard
-      unix-opts
-    ];
-    propagatedBuildInputs = [ next-gtk-webkit ];
+  prePatch = ''
+    substituteInPlace source/ports/gtk-webkit.lisp \
+      --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
+  '';
 
-    buildPhase = ''
-      common-lisp.sh --eval "(require :asdf)" \
-                     --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
-                     --eval '(asdf:make :next)' \
-                     --quit
-    '';
+  buildPhase = ''
+    common-lisp.sh --eval "(require :asdf)" \
+                   --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
+                   --eval '(asdf:make :next)' \
+                   --quit
+  '';
 
-    installPhase = ''
-      install -D -m0755 next $out/bin/next
-    '';
+  installPhase = ''
+    install -D -m0755 next $out/bin/next
+  '';
 
-    preFixup = ''
-      wrapProgram $out/bin/next \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
-    '';
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
 
-    meta = with stdenv.lib; {
-      description = "Infinitely extensible web-browser (with Lisp development files)";
-      homepage = https://next.atlas.engineer;
-      license = licenses.bsd3;
-      maintainers = [ maintainers.lewo ];
-      platforms = [ "x86_64-linux" ];
-    };
-  }
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
new file mode 100644
index 00000000000..a71583ffbec
--- /dev/null
+++ b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
@@ -0,0 +1,50 @@
+# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
+
+{ stdenv
+, pkg-config
+, next
+, webkitgtk
+, gtk3
+, glib
+, gsettings-desktop-schemas
+, glib-networking
+, gst_all_1
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "next-gtk-webkit";
+  inherit (next) src version;
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    gsettings-desktop-schemas
+    gtk3
+    webkitgtk
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
+  ];
+
+  makeFlags = [
+    "gtk-webkit"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  installTargets =  [
+    "install-gtk-webkit"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (user interface only)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index b968c4f3d9d..c1ede504449 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -47,11 +47,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "62.0.3331.43";
+  version = "65.0.3467.48";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "0zylg32zn6blkgy4bwmjzc26i712lwakahvrd24ncpfa8805f7x7";
+    sha256 = "0vcpq2p8si6rlyvd8nzs0a7pjxks2qn8i8czna968wyfxlczckyr";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 07234f59a8e..ae3999e3cda 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -3,7 +3,7 @@
 , dbus, dbus-glib, ffmpeg, file, fontconfig, freetype
 , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg
 , libnotify, libstartup_notification, makeWrapper
-, libGLU_combined, perl, python, libpulseaudio
+, libGLU, libGL, perl, python, libpulseaudio
 , unzip, xorg, wget, which, yasm, zip, zlib
 }:
 
@@ -13,13 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "28.7.2";
+  version = "28.8.0";
 
   src = fetchFromGitHub {
     owner  = "MoonchildProductions";
     repo   = "UXP";
     rev    = "PM${version}_Release";
-    sha256 = "08w90269mwcqsdhx4vvp18c5iccvzqhaaw6aw7w0nppf2f2k8lri";
+    sha256 = "0swmwall8pyg905jnw6x1b6vcv92zb7ph3zqcymh4ay2liikh8c0";
   };
 
   desktopItem = makeDesktopItem {
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     alsaLib bzip2 cairo dbus dbus-glib ffmpeg file fontconfig freetype
     gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify
-    libstartup_notification makeWrapper libGLU_combined perl
+    libstartup_notification makeWrapper libGLU libGL perl
     pkgconfig python libpulseaudio unzip wget which yasm zip zlib
   ] ++ (with xorg; [
     libX11 libXext libXft libXi libXrender libXScrnSaver
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 7b13d748fe0..b616e82a209 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
 
 let
   pdfjs = let
-    version = "2.2.228";
+    version = "2.3.200";
   in
   fetchzip rec {
     name = "pdfjs-${version}";
     url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
-    sha256 = "0yik4vfnz46j844jfw1gq5cshgzry42kpy2d5rr7fbn9fjf98bw6";
+    sha256 = "1fpxsw0hzahccyng08acvc7g0gk29j2x701p6w6fg1718mvcrm1q";
     stripRoot = false;
   };
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "1.8.1";
+  version = "1.8.3";
 
   # 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 = "0ckffbw2zlg0afz4rgyywzdprnqs74va5qj0xqlaqc14ziiypxnw";
+    sha256 = "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 9851ff94d79..ff87e6b703d 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -93,19 +93,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "9.0";
+  version = "9.0.2";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "0aajbk65lpcazn8mdk7ngaqp0sykql8zjlkhznphxxw9v59mq3b7";
+      sha256 = "1xdnqphsj7wzwyv927jwd3fi36srx0minydwl5jg5yyd3m3if9hb";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "08ahs9985ndcq1ywz06q4znai6a3ivibjk473kymzl6k40q1c9y2";
+      sha256 = "1qk9fg5dvyyvbngsqla00by8a974mpvq9pnm2djif54lr2nfivwf";
     };
   };
 in
@@ -397,7 +397,7 @@ stdenv.mkDerivation rec {
     longDescription = tor-browser-bundle.meta.longDescription;
     homepage = "https://www.torproject.org/";
     platforms = attrNames srcs;
-    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ];
+    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm hax404 cap ];
     hydraPlatforms = [];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
     # the compound is "libre" in a strict sense (some components place certain
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
deleted file mode 100644
index f86c4a84e58..00000000000
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python3, makeWrapper
-, webkitgtk, glib-networking, gsettings-desktop-schemas, python2Packages
-}:
-# This package needs python3 during buildtime,
-# but Python 2 + packages during runtime.
-
-stdenv.mkDerivation rec {
-  pname = "uzbl";
-  version = "0.9.0";
-
-  meta = with stdenv.lib; {
-    description = "Tiny externally controllable webkit browser";
-    homepage    = "http://uzbl.org/";
-    license     = licenses.gpl3;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ raskin dgonyeo ];
-  };
-
-  src = fetchurl {
-    name = "uzbl-v${version}.tar.gz";
-    url = "https://github.com/uzbl/uzbl/archive/v${version}.tar.gz";
-    sha256 = "0iskhv653fdm5raiidimh9fzlsw28zjqx7b5n3fl1wgbj6yz074k";
-  };
-
-  preConfigure = ''
-    makeFlags="$makeFlags PREFIX=$out"
-    makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
-    mkdir -p $out/${python3.sitePackages}/
-    export PYTHONPATH=$PYTHONPATH:$out/${python3.sitePackages}
-  '';
-
-  preFixup = ''
-    for f in $out/bin/*; do
-      wrapProgram $f \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-    done
-  '';
-
-  nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
-
-  buildInputs = [ gsettings-desktop-schemas webkitgtk ];
-  propagatedBuildInputs = with python2Packages; [ pygtk six ];
-}
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
deleted file mode 100644
index 8a2e164b363..00000000000
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, glib-networking, gtk2, libsoup, libX11, perl,
-  pkgconfig, webkitgtk, gsettings-desktop-schemas }:
-
-stdenv.mkDerivation rec {
-  version = "1.4.2";
-  pname = "vimprobable2";
-  src = fetchurl {
-    url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2";
-    sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper gtk2 libsoup libX11 perl webkitgtk gsettings-desktop-schemas ];
-
-  hardeningDisable = [ "format" ];
-
-  installFlags = "PREFIX=/ DESTDIR=$(out)";
-
-  preFixup = ''
-    wrapProgram "$out/bin/vimprobable2" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = {
-    description = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox
-    '';
-    longDescription = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox. It is based on the WebKit engine (using
-      GTK bindings). The goal of Vimprobable is to build a completely
-      keyboard-driven, efficient and pleasurable browsing-experience. Its
-      featureset might be considered "minimalistic", but not as minimalistic as
-      being completely featureless.
-    '';
-    homepage = https://sourceforge.net/apps/trac/vimprobable;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.aforemny ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index f3228b11eb9..0b14a15f5da 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.9.1705.38-1";
+  version = "2.10.1745.23-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0jj2kfdl4788l132ncz3jf1pnjig7dc9gaxjmgv51n1ahmmx8shi";
+    sha256 = "1dkyanasycarka6zikrk0pn6n0xin7hrnysm67rs7pam4lzpq0vh";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/browsers/webmacs/default.nix b/pkgs/applications/networking/browsers/webmacs/default.nix
index 0f36177278b..b86ba3c39f0 100644
--- a/pkgs/applications/networking/browsers/webmacs/default.nix
+++ b/pkgs/applications/networking/browsers/webmacs/default.nix
@@ -27,18 +27,6 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     pygments
   ];
 
-  dontWrapQtApps = true;
-
-  makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
-
-  # See https://github.com/parkouss/webmacs/blob/1a04fb7bd3f33d39cb4d71621b48c2458712ed39/setup.py#L32
-  # Don't know why they're using CC for g++.
-  preConfigure = ''
-   export CC=$CXX
-  '';
-
-  doCheck = false; # test dependencies not packaged up yet
-
   checkInputs = [
     python3Packages.pytest
     #python3Packages.pytest-xvfb
@@ -53,6 +41,20 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     # python3Packages.flake8
   ];
 
+  # See https://github.com/parkouss/webmacs/blob/1a04fb7bd3f33d39cb4d71621b48c2458712ed39/setup.py#L32
+  # Don't know why they're using CC for g++.
+  preConfigure = ''
+   export CC=$CXX
+  '';
+
+  doCheck = false; # test dependencies not packaged up yet
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Keyboard-based web browser with Emacs/conkeror heritage";
     longDescription = ''
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
index 3383d6838f7..c000a37ff02 100644
--- a/pkgs/applications/networking/c14/default.nix
+++ b/pkgs/applications/networking/c14/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "C14 is designed for data archiving & long-term backups.";
-    homepage = https://www.online.net/en/c14;
+    homepage = https://www.online.net/en/storage/c14-cold-storage;
     license = licenses.mit;
     maintainers = with maintainers; [ apeyroux ];
   };
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
new file mode 100644
index 00000000000..065f264f152
--- /dev/null
+++ b/pkgs/applications/networking/calls/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkgconfig
+, libhandy
+, modemmanager
+, gtk3
+, gom
+, gsound
+, evolution-data-server
+, folks
+, desktop-file-utils
+, libpeas
+, dbus
+, vala
+, xorg
+, xvfb_run
+, libxml2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "calls";
+  version = "unstable-2019-10-29";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = "calls";
+    rev = "9fe575053d8f01c3a76a6c20d39f0816166d5afd";
+    sha256 = "01inx4mvrzvklwrfryw5hw9p89v8cn78m3qmv97g7a3v0h5c0n35";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    desktop-file-utils
+    vala
+  ];
+
+  buildInputs = [
+    modemmanager
+    libhandy
+    evolution-data-server
+    folks
+    gom
+    gsound
+    gtk3
+    libhandy
+    libpeas
+  ];
+
+  checkInputs = [
+    dbus
+    xvfb_run
+  ];
+
+  mesonFlags = [
+    # docs fail to build
+    # https://source.puri.sm/Librem5/calls/issues/99
+    "-Dgtk_doc=false"
+  ];
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    NO_AT_BRIDGE=1 \
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      meson test --print-errorlogs
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A phone dialer and call handler";
+    homepage = https://source.puri.sm/Librem5/calls;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ craigem lheckemann ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/cawbird/default.nix b/pkgs/applications/networking/cawbird/default.nix
index 02368990a01..6462dd49949 100644
--- a/pkgs/applications/networking/cawbird/default.nix
+++ b/pkgs/applications/networking/cawbird/default.nix
@@ -1,6 +1,23 @@
-{ stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala
-, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobject-introspection
-, glib-networking, python3 }:
+{ stdenv
+, fetchFromGitHub
+, glib
+, gtk3
+, json-glib
+, sqlite
+, libsoup
+, gettext
+, gspell
+, vala
+, meson
+, ninja
+, pkgconfig
+, dconf
+, gst_all_1
+, wrapGAppsHook
+, gobject-introspection
+, glib-networking
+, python3
+}:
 
 stdenv.mkDerivation rec {
   version = "1.0.3.1";
@@ -14,13 +31,34 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig wrapGAppsHook python3
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    python3
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
-  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
+    glib
+    gtk3
+    json-glib
+    sqlite
+    libsoup
+    gettext
+    dconf
+    gspell
+    glib-networking
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    (gst-plugins-good.override {
+      gtkSupport = true;
+    })
+    gst-libav
+  ]);
 
   postPatch = ''
     chmod +x data/meson_post_install.py # patchShebangs requires executable file
@@ -30,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Native GTK Twitter client for the Linux desktop";
     longDescription = "Cawbird is a modern, easy and fun Twitter client. Fork of the discontinued Corebird.";
-    homepage = https://ibboard.co.uk/cawbird/;
+    homepage = "https://ibboard.co.uk/cawbird/";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ jonafato schmittlauch ];
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 2c0d039721f..9295e90794d 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "argo";
-  version = "2.4.1";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "1f9l9d4r0qfhpr2fn17faczcwmwmdz8f56f27cmmnhxz4r7qcm48";
+    sha256 = "15726n5rrbzszq5dpmrxbw9cn7ahihn28jqk274270140gz5aak1";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix
new file mode 100644
index 00000000000..67e91870f1a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/atlantis/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "atlantis";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "runatlantis";
+    repo = "atlantis";
+    rev = "v${version}";
+    sha256 = "08k2dgz6rph68647ah1rdp7hqa5h1ar4gdy7vdjy5kn7gz21gmri";
+  };
+
+  modSha256 = "1i4s3xcq2qc3zy00wk2l77935ilm6n5k1msilmdnj0061ia4860y";
+
+  subPackages = [ "." ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/runatlantis/atlantis;
+    description = "Terraform Pull Request Automation";
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jpotier ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 8956828fa76..d0186fb9b4c 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }:
 buildGoPackage rec {
   pname = "cni-plugins";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "0gyxa6mhiyxqw4wpn6r7wgr2kyvflzbdcqsk5ch0b6zih98144ia";
+    sha256 = "0dc4fs08x4x518yhgvq3drjvansnc0cb8rm4h5wiw7k3whjii3cd";
   };
 
   goDeps = ./plugins-deps.nix;
@@ -35,6 +35,6 @@ buildGoPackage rec {
     homepage = https://github.com/containernetworking/plugins;
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan saschagrunert ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index b0f67932265..904eabfcda8 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.13.3";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "0l2gc9p2jz1zyl527rr0r3qklm4j86d4biviq8a30jl9rsx6z4cy";
+    sha256 = "1yk78w9cwssk5y69iapfzqf7mnrkam3w64x4zsx3zjpdmvp9dq7l";
   };
 
-  modSha256 = "1q5g9hd0ansdc2acpysf6wi74q50w0psrpyhk4y6mm6kjvhlcn87";
+  modSha256 = "17rh8yilxqv0dwljwm5ay43diwcy5pa1g2jff9wyhsh8q7sy9wln";
 
   subPackages = [ "cmd/fluxctl" ];
 
   meta = with stdenv.lib; {
     description = "CLI client for Flux, the GitOps Kubernetes operator";
-    homepage = https://github.com/weaveworks/flux;
+    homepage = "https://github.com/fluxcd/flux";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Gonzih ];
+    maintainers = with maintainers; [ Gonzih filalex77 ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 655f5f9c0b2..45b6e9dcf33 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,48 +1,32 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
-  version = "2.15.1";
+buildGoModule rec {
   pname = "helm";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "1afbymgpax7kgjjv1c9xb4dm7gcrhn2g69piamdq1k0ng348k5w0";
+    sha256 = "0l5rmmrb6b57w1szwp6g7ad3xv0pgvc394mzjr4bi3bzcjsn7wny";
   };
+  modSha256 = "0xjzzwmq3i77anb7w2qfnz7vc0gxq02lylj0xs6dzwl543winshm";
 
   goPackagePath = "k8s.io/helm";
-  subPackages = [ "cmd/helm" "cmd/tiller" "cmd/rudder" ];
-
-  goDeps = ./deps.nix;
-
-  # Thsese are the original flags from the helm makefile
-  buildFlagsArray = ''
-    -ldflags=-X k8s.io/helm/pkg/version.Version=v${version} -X k8s.io/helm/pkg/version.GitTreeState=clean -X k8s.io/helm/pkg/version.BuildMetadata=
-    -w
-    -s
-  '';
-
-  preBuild = ''
-    # This is a hack(?) to flatten the dependency tree the same way glide or dep would
-    # Otherwise you'll get errors like
-    # have DeepCopyObject() "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".Object
-    # want DeepCopyObject() "k8s.io/apimachinery/pkg/runtime".Object
-    rm -rf $NIX_BUILD_TOP/go/src/k8s.io/kubernetes/vendor
-    rm -rf $NIX_BUILD_TOP/go/src/k8s.io/apiextensions-apiserver/vendor
-  '';
+  subPackages = [ "cmd/helm" ];
+  buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.gitCommit=v${version}" ];
 
+  nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
-    mkdir -p $bin/share/bash-completion/completions
-    mkdir -p $bin/share/zsh/site-functions
-    $bin/bin/helm completion bash > $bin/share/bash-completion/completions/helm
-    $bin/bin/helm completion zsh > $bin/share/zsh/site-functions/_helm
+    $out/bin/helm completion bash > helm.bash
+    $out/bin/helm completion zsh > helm.zsh
+    installShellCompletion helm.{bash,zsh}
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/kubernetes/helm;
     description = "A package manager for kubernetes";
     license = licenses.asl20;
-    maintainers = [ maintainers.rlupton20 maintainers.edude03 ];
+    maintainers = with maintainers; [ rlupton20 edude03 saschagrunert ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/deps.nix b/pkgs/applications/networking/cluster/helm/deps.nix
deleted file mode 100644
index ffc6a5cb1b8..00000000000
--- a/pkgs/applications/networking/cluster/helm/deps.nix
+++ /dev/null
@@ -1,1191 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "v0.26.0";
-      sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-ansiterm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-ansiterm";
-      rev = "d6e3b3328b78";
-      sha256 = "010khrkhkf9cxlvvb6ncqv4c1qcdmpbz9jn38g4fxf4xsma8xx1q";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "v11.1.0";
-      sha256 = "1jmr04qkl9fgmj56czn2979ng0f6ygfbk2khv2xyx368686xc1d6";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/MakeNowJust/heredoc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/MakeNowJust/heredoc";
-      rev = "bb23615498cd";
-      sha256 = "17m780i9afj3sbmcrgwgzarfly4x9376w56qblkqnzdkv6vps22i";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/goutils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/goutils";
-      rev = "v1.1.0";
-      sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "v1.4.2";
-      sha256 = "0k2fpk2x8jbvqkqxx5hkx1ygrsppzmzypqb90i1r33yq7ac7zlxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/sprig";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "9f8fceff796f";
-      sha256 = "0m6h88xcs8zc2b1g6zaksfn9kyqhr8q9508h57jb6papx7w54yl2";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/vcs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/vcs";
-      rev = "v1.11.1";
-      sha256 = "1062m73h0pp5d0574lf6px4jsjgywnsbkw50inxx3zal5r185ydm";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/purell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.1.0";
-      sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/urlesc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "de5bf2ad4578";
-      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
-    };
-  }
-  {
-    goPackagePath = "github.com/adisbladis/vgo2nix";
-    fetch = {
-      type = "git";
-      url = "https://github.com/adisbladis/vgo2nix";
-      rev = "56ac56bb0d96";
-      sha256 = "1jbxbgcqkal8cdhj2nfbw92fn1fs9ng1df9sf92vgf0m1xzq2mc3";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/assert";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/assert";
-      rev = "405dbfeb8e38";
-      sha256 = "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/colour";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/colour";
-      rev = "60882d9e2721";
-      sha256 = "0iq566534gbzkd16ixg7fk298wd766821vvs80838yifx9yml5vs";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/kingpin";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/kingpin";
-      rev = "v2.2.6";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/repr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/repr";
-      rev = "117648cd9897";
-      sha256 = "05v1rgzdqc8razf702laagrvhvx68xd9yxxmzd3dyz0d6425pdrp";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/template";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cf";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
-    };
-  }
-  {
-    goPackagePath = "github.com/asaskevich/govalidator";
-    fetch = {
-      type = "git";
-      url = "https://github.com/asaskevich/govalidator";
-      rev = "766470278477";
-      sha256 = "1lmynw9vkgrxv7nh60wdywv0nx4gjlkiar433wydhpc2h3m5q968";
-    };
-  }
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/chai2010/gettext-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chai2010/gettext-go";
-      rev = "c6fed771bfd5";
-      sha256 = "1p9gzj39x4gyhc552n3dmi3kc224gwilawa5kcg8rla31qkwlsky";
-    };
-  }
-  {
-    goPackagePath = "github.com/client9/misspell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/client9/misspell";
-      rev = "v0.3.4";
-      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
-    };
-  }
-  {
-    goPackagePath = "github.com/cpuguy83/go-md2man";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cpuguy83/go-md2man";
-      rev = "v1.0.4";
-      sha256 = "0hmkrq4gdzb6mwllmh4p1y7vrz7hyr8xqagpk9nyr5dhygvnnq2v";
-    };
-  }
-  {
-    goPackagePath = "github.com/cyphar/filepath-securejoin";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cyphar/filepath-securejoin";
-      rev = "v0.2.2";
-      sha256 = "0id32zjb92wm569m29nfrzz5mw9z1glr3klayr6j134pp4h1sgq4";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/dgrijalva/jwt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgrijalva/jwt-go";
-      rev = "01aeca54ebda";
-      sha256 = "10dmb5xxn5wijn299h483z0klprprkq7n1azakm3ysp50sr11ywg";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/distribution";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/distribution";
-      rev = "edc3ab29cdff";
-      sha256 = "1nqjaq1q6fs3c0avpb02sib0a906xfbk3m74hk2mqjdbyx9y8b4m";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/docker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/docker";
-      rev = "a9fbbdc8dd87";
-      sha256 = "0vkr9fs8qv3ydpm4f4b3jsx1f3cxpws78f2kwpyn00y1gb3lpnpc";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/spdystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/spdystream";
-      rev = "449fdfce4d96";
-      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
-    };
-  }
-  {
-    goPackagePath = "github.com/emicklei/go-restful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emicklei/go-restful";
-      rev = "ff4f55a20633";
-      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
-    };
-  }
-  {
-    goPackagePath = "github.com/evanphx/json-patch";
-    fetch = {
-      type = "git";
-      url = "https://github.com/evanphx/json-patch";
-      rev = "v4.2.0";
-      sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6";
-    };
-  }
-  {
-    goPackagePath = "github.com/exponent-io/jsonpath";
-    fetch = {
-      type = "git";
-      url = "https://github.com/exponent-io/jsonpath";
-      rev = "d6023ce2651d";
-      sha256 = "1qkzaxsjs7yg1672sk67nr119j7jc4751yzgii0j3nbipjv321kc";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/camelcase";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/camelcase";
-      rev = "f6a740d52f96";
-      sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai";
-    };
-  }
-  {
-    goPackagePath = "github.com/gofrs/flock";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gofrs/flock";
-      rev = "v0.7.1";
-      sha256 = "1xn48643h991p383hlhzd6k5v9akx8c6dcy93fz37fwqrrhzpb03";
-    };
-  }
-  {
-    goPackagePath = "github.com/ghodss/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "c7ce16629ff4";
-      sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-kit/kit";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-kit/kit";
-      rev = "v0.8.0";
-      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-logfmt/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-logfmt/logfmt";
-      rev = "v0.3.0";
-      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonpointer";
-      rev = "v0.19.0";
-      sha256 = "0sv2k1fwj6rsigc9489c19ap0jib1d0widm040h0sjdw2nadh3i2";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonreference";
-      rev = "v0.19.0";
-      sha256 = "1d0rk17wn755xsfi9pxifdpgs2p23bc0rkf95kjwxczyy6jbqdaj";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/spec";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/spec";
-      rev = "v0.17.2";
-      sha256 = "14n5x2nxlj2x62v3km96yw7rncxk2b9v94k3j0c22r43c60m38mx";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/swag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/swag";
-      rev = "v0.17.2";
-      sha256 = "1hhgbx59f7lcsqiza2is8q9walhf8mxfkwj7xql1scrn6ms2jmlv";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-sql-driver/mysql";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-sql-driver/mysql";
-      rev = "v1.4.0";
-      sha256 = "1jwz2j3vd5hlzmnkh20d4276yd8cxy7pac3x3dfi52jkm82ms99n";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-stack/stack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-stack/stack";
-      rev = "v1.8.0";
-      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
-    };
-  }
-  {
-    goPackagePath = "github.com/gobwas/glob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gobwas/glob";
-      rev = "v0.2.3";
-      sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z";
-    };
-  }
-  {
-    goPackagePath = "github.com/gogo/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev = "v1.1.1";
-      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/glog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/glog";
-      rev = "23def4e6c14b";
-      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/groupcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/groupcache";
-      rev = "02826c3e7903";
-      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/mock";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/mock";
-      rev = "v1.1.1";
-      sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.2.0";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/btree";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/btree";
-      rev = "7d79101e329e";
-      sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/gofuzz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/gofuzz";
-      rev = "24818f796faf";
-      sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "064e2069ce9c";
-      sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb";
-    };
-  }
-  {
-    goPackagePath = "github.com/googleapis/gnostic";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/gnostic";
-      rev = "0c5108395e2d";
-      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
-    };
-  }
-  {
-    goPackagePath = "github.com/gophercloud/gophercloud";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gophercloud/gophercloud";
-      rev = "c818fa66e4c8";
-      sha256 = "0igz47lpdxgpfb4ckrrs64vr4wkkiqaamk4wf5d3il4dc2g06azw";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uitable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uitable";
-      rev = "v0.0.1";
-      sha256 = "1ff68fv9g1df91fwbrcq83ar429gb4fi2vsd22zjmhvmbqx2zkil";
-    };
-  }
-  {
-    goPackagePath = "github.com/gregjones/httpcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gregjones/httpcache";
-      rev = "787624de3eb7";
-      sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5";
-    };
-  }
-  {
-    goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/grpc-ecosystem/go-grpc-prometheus";
-      rev = "0c1b191dbfe5";
-      sha256 = "0d7vybd4yy9a9clk03578xdpyhifxsy3qv6iiglrrnblbmpgksjc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/golang-lru";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/golang-lru";
-      rev = "v0.5.0";
-      sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f";
-    };
-  }
-  {
-    goPackagePath = "github.com/huandu/xstrings";
-    fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "v1.2.0";
-      sha256 = "0bn1kac5vcspxdpx4bygr4gngdbk67pnbqc04b0f7a4ny25n10iq";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.5";
-      sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb";
-    };
-  }
-  {
-    goPackagePath = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev = "v1.0.0";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath = "github.com/jmoiron/sqlx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jmoiron/sqlx";
-      rev = "v1.2.0";
-      sha256 = "0pmi2asx157f5738g19fzyxb9g8yyfbpjyh2a2ykr9mafvp60rfd";
-    };
-  }
-  {
-    goPackagePath = "github.com/json-iterator/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/json-iterator/go";
-      rev = "ab8a2e0c74be";
-      sha256 = "1x3wz44p1238gpyzkiiilvvrq9q8dwjdm9kdidq65yjq0zcn0sq4";
-    };
-  }
-  {
-    goPackagePath = "github.com/julienschmidt/httprouter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/julienschmidt/httprouter";
-      rev = "v1.2.0";
-      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
-    };
-  }
-  {
-    goPackagePath = "github.com/kisielk/gotool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kisielk/gotool";
-      rev = "v1.0.0";
-      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/logfmt";
-      rev = "b84e30acd515";
-      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
-    };
-  }
-  {
-    goPackagePath = "github.com/lib/pq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lib/pq";
-      rev = "v1.0.0";
-      sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i";
-    };
-  }
-  {
-    goPackagePath = "github.com/liggitt/tabwriter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/liggitt/tabwriter";
-      rev = "89fcab3d43de";
-      sha256 = "04q8d0jk1ymvy7pv1dgfbqzk8gcjfa77psg1lk30ghlisf54pakg";
-    };
-  }
-  {
-    goPackagePath = "github.com/mailru/easyjson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mailru/easyjson";
-      rev = "60711f1a8329";
-      sha256 = "0234jp6134wkihdpdwq1hvzqblgl5khc1wp6dyi2h0hgh88bhdk1";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.3";
-      sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.1";
-      sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "v1.9.0";
-      sha256 = "14vw8bwyaz9lrd1rqhfri5cwpimiimhp75pkbqxxsjsr5jz89s7m";
-    };
-  }
-  {
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "v1.0.1";
-      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-wordwrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-wordwrap";
-      rev = "ad45545899c7";
-      sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/concurrent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/concurrent";
-      rev = "bacd9c7ef1dd";
-      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/reflect2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/reflect2";
-      rev = "v1.0.1";
-      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
-    };
-  }
-  {
-    goPackagePath = "github.com/mwitkow/go-conntrack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mwitkow/go-conntrack";
-      rev = "cc309e4a2223";
-      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
-    };
-  }
-  {
-    goPackagePath = "github.com/opencontainers/go-digest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opencontainers/go-digest";
-      rev = "a6d0ee40d420";
-      sha256 = "1paz3na2xkhi10p5bk7f7gbh5yykfgr9f9i2gcc13rb461yq6fmg";
-    };
-  }
-  {
-    goPackagePath = "github.com/orivej/e";
-    fetch = {
-      type = "git";
-      url = "https://github.com/orivej/e";
-      rev = "ac3492690fda";
-      sha256 = "11jizr28kfkr6zscjxg95pqi6cjp08aqnhs41sdhc98nww78ilkr";
-    };
-  }
-  {
-    goPackagePath = "github.com/orivej/go-nix";
-    fetch = {
-      type = "git";
-      url = "https://github.com/orivej/go-nix";
-      rev = "dae45d921a44";
-      sha256 = "17hfmsz8hs3h2d5c06j1bvbw8ijrhzm3iz911z5zydsl4x7y0cgy";
-    };
-  }
-  {
-    goPackagePath = "github.com/peterbourgon/diskv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/peterbourgon/diskv";
-      rev = "v2.0.1";
-      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/profile";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/profile";
-      rev = "v1.2.1";
-      sha256 = "0blqmvgqvdbqmh3fp9pfdxc9w1qfshrr0zy9whj0sn372bw64qnr";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "v0.9.2";
-      sha256 = "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "5c3871d89910";
-      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "v0.2.0";
-      sha256 = "02kym6lcfnlq23qbv277jr0q1n7jj0r14gqg93c7wn7gc44jv3vp";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "1dc9a6cbc91a";
-      sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab";
-    };
-  }
-  {
-    goPackagePath = "github.com/rubenv/sql-migrate";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rubenv/sql-migrate";
-      rev = "1007f53448d7";
-      sha256 = "1cd7wpgym7yzzv4n7bsmg9gh1g7mqlljih3881arqlq11083d3mc";
-    };
-  }
-  {
-    goPackagePath = "github.com/russross/blackfriday";
-    fetch = {
-      type = "git";
-      url = "https://github.com/russross/blackfriday";
-      rev = "300106c228d5";
-      sha256 = "1bcqwb9lk2sijn5q3kqp7sadhh0ysbxlj5bxjspk9yp5bp733cbh";
-    };
-  }
-  {
-    goPackagePath = "github.com/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev = "v1.0.0";
-      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
-    };
-  }
-  {
-    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shurcooL/sanitized_anchor_name";
-      rev = "10ef21a441db";
-      sha256 = "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.2.0";
-      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "fe5e611709b0";
-      sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.2.2";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
-    };
-  }
-  {
-    goPackagePath = "github.com/technosophos/moniker";
-    fetch = {
-      type = "git";
-      url = "https://github.com/technosophos/moniker";
-      rev = "a5dbd03a2245";
-      sha256 = "1z273gvbwr09lcxwd10wyvxmxjln93r952sr1w9hqxcgc1f8l3vl";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "0709b304e793";
-      sha256 = "0i05s09y5pavmfh71fgih7syxg58x7a4krgd8am6d3mnahnmab5c";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/lint";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/lint";
-      rev = "c67002cb31c3";
-      sha256 = "0gymbggskjmphqxqcx4s0vnlcz7mygbix0vhwcwv5r67c0bf6765";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "65e2d4e15006";
-      sha256 = "0aqcmh0sp723d6hwgrv7pnrs4crns2ngr4x43jd4v985cbn455x7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "d2e6202438be";
-      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "42b317875d0f";
-      sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "b90733256f2e";
-      sha256 = "1dsqa48ai4rrqf0sxypnmjg5c6sbp63mj5ljr7qadam06r5m2q98";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/time";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/time";
-      rev = "f51c12702a4d";
-      sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.1.0";
-      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/genproto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-genproto";
-      rev = "c66870c02cf8";
-      sha256 = "0siq7sv68556ygqi2d2zmvx8l1xjqdc0fylqzci5h1mq2i14bayn";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/grpc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/grpc/grpc-go";
-      rev = "v1.18.0";
-      sha256 = "17drwyj3fi5sdz5ndlj7888b3gin6brs3jnh7gh6i15k97l6gf4n";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "v2.2.6";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/gorp.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/gorp.v1";
-      rev = "v1.7.2";
-      sha256 = "0zwkq4cv71vp7cmpfcs54908g1amr0cdxv1b8h1icf64jjawb1lb";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/inf.v0";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/inf.v0";
-      rev = "v0.9.0";
-      sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/square/go-jose.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/square/go-jose.v2";
-      rev = "89060dee6a84";
-      sha256 = "04ak01zs9qibr6qvc6l0zdjj9pgccpbvxz6rdwrqv698i1q3qfpd";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.1";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-  {
-    goPackagePath = "honnef.co/go/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "6e4e0e4f393b";
-      sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apiextensions-apiserver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apiextensions-apiserver";
-      rev = "727a075fdec8";
-      sha256 = "1p8bdl299hrmkq2hfh7sqhsv7c3ig1i0jy8mcgq0hqjix94a87cj";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apimachinery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apimachinery";
-      rev = "6a84e37a896d";
-      sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apiserver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apiserver";
-      rev = "1ec86e4da56c";
-      sha256 = "0my2r4ynbxgpbbrjgcrdrqazhhn2jwk8jkk8ymjks28gzs2i510s";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/cli-runtime";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/cli-runtime";
-      rev = "d644b00f3b79";
-      sha256 = "1zcmfpyp6m9xl8dia56yb00ixra3ag5d43v2f5zlnrwphq967a8p";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "1a26190bd76a";
-      sha256 = "1b77zf0sip2cilkr40b2jm1kk71212s4clmbs2xl57b4n945yy1d";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/cloud-provider";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/cloud-provider";
-      rev = "9c9d72d1bf90";
-      sha256 = "15iwal7nn1b7jwrvrhlzvdnf0381lccpw3jrlww8sfmxqsp860in";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/klog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/klog";
-      rev = "8e90cee79f82";
-      sha256 = "1hzy767dj0ya111al54k3g9xa40bsy7j81fi0sh7gyl1azw0h8dk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/kube-openapi";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/kube-openapi";
-      rev = "b3a7cee44a30";
-      sha256 = "1ald0jjliln5ipdniwfcrm4yal9aa4jr07d3ljrhhh2fj72c6dsp";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/kubernetes";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/kubernetes";
-      rev = "v1.14.1";
-      sha256 = "0s06x9jk9b6r0i39nl0bmvwjgdp3qikgfbw5cnzi5mv03hc2li8s";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/utils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/utils";
-      rev = "c2654d5206da";
-      sha256 = "1849p8xhiyk53mpg3mwpsmsm5ps5sa2p54bv7b38m415qxsn2d1x";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/kustomize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/kustomize";
-      rev = "v2.0.3";
-      sha256 = "1dfkpx9rllj1bzm5f52bx404kdds3zx1h38yqri9ha3p3pcb1bbb";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/yaml";
-      rev = "v1.1.0";
-      sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb";
-    };
-  }
-  {
-    goPackagePath = "vbom.ml/util";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fvbommel/util";
-      rev = "db5cfe13f5cc";
-      sha256 = "1k9c3ihhkrcmhd26pwd62mp2ll7icr2q65i5pkymnfnhhv40p682";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix
index 73d82207daf..6fbad55f807 100644
--- a/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,16 +2,25 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.8.4";
+  version = "0.9.3";
+  # rev is the release commit, mainly for version command output
+  rev = "1a9a83b34cdd0c9b4e793ed6b4b5c16ea1a949a0";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = version;
-    sha256 = "0wsj6wc2qi5708cg47l2qblq1cg8fcwxdygpkayib9hapx6lc6f8";
+    sha256 = "0k27mfccz563r18zlbaxll305vrmrx19ym6znsikvqxlmhy86g36";
   };
 
-  modSha256 = "1ia9wx6yd9mdr981lcw58xv39iqzz25r03bmn1c6byxmq2xpcjq8";
+  buildFlagsArray = ''
+    -ldflags=
+      -s -w
+      -X github.com/derailed/k9s/cmd.version=${version}
+      -X github.com/derailed/k9s/cmd.commit=${rev}
+  '';
+
+  modSha256 = "09rwbl8zd06ax5hidm5l1schwqvsr5ndlqh09w1rq9fqjijy649y";
 
   meta = with stdenv.lib; {
     description = "Kubernetes CLI To Manage Your Clusters In Style.";
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 0b4959d3b9b..267f25f8bb5 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -62,7 +62,12 @@ in rec {
   };
   
   kops_1_14 = mkKops {
-    version = "1.14.0";
-    sha256 = "0zd2plsdn45wf73qspv9yaxa0crwfy5h6ws3lvw96vxvrkhl96l2";
+    version = "1.14.1";
+    sha256 = "0ikd8qwrjh8s1sc95g18sm0q6p33swz2m1rjd8zw34mb2w9jv76n";
+  };
+
+  kops_1_15 = mkKops {
+    version = "1.15.0";
+    sha256 = "0sjas8pn0njl767b1y15g7cci2q3kxkxwmgr0wvs7vi3n1s1sf9d";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 1ad7ad3e393..f852c3ac0a3 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.15.4";
+  version = "1.16.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "18wpqrgb1ils4g8ggg217xq4jq30i4m7par2mdjk59pmz7ssm25p";
+    sha256 = "05rpwmzkxhbvckcs7hspy6krdfskd8jnsn9g43fhidjvqhxyh6n3";
   };
 
   buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
     homepage = https://kubernetes.io;
-    maintainers = with maintainers; [johanot offline];
+    maintainers = with maintainers; [johanot offline saschagrunert];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
new file mode 100644
index 00000000000..3a2463447a2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeseal";
+  version = "0.9.6";
+
+  src = fetchFromGitHub {
+    owner = "bitnami-labs";
+    repo = "sealed-secrets";
+    rev = "v${version}";
+    sha256 = "09ds5qn13l6l8kl2i01hgy6pqr30z1rm447ax32lf79zp8hca3r3";
+  };
+
+  modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";
+
+  subPackages = [ "cmd/kubeseal" ];
+
+  meta = with lib; {
+    description = "A Kubernetes controller and tool for one-way encrypted Secrets";
+    homepage = "https://github.com/bitnami-labs/sealed-secrets";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ groodt ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix
index 89d06474509..84e9b889943 100644
--- a/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, makeWrapper }:
+{ stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }:
 
 let
 
@@ -7,10 +7,10 @@ let
   schema = stdenv.mkDerivation {
     name = "kubeval-schema";
     src = fetchFromGitHub {
-      owner = "garethr";
+      owner = "instrumenta";
       repo = "kubernetes-json-schema";
-      rev = "c7672fd48e1421f0060dd54b6620baa2ab7224ba";
-      sha256 = "0picr3wvjx4qv158jy4f60pl225rm4mh0l97pf8nqi9h9x4x888p";
+      rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699";
+      sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr";
     };
 
     installPhase = ''
@@ -21,26 +21,26 @@ let
 
 in
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kubeval";
-  version = "0.7.3";
+  version = "0.14.0";
 
-  goPackagePath = "github.com/garethr/kubeval";
   src = fetchFromGitHub {
-    owner = "garethr";
+    owner = "instrumenta";
     repo = "kubeval";
-    rev = version;
-    sha256 = "042v4mc5p80vmk56wp6aw89yiibjnfqn79c0zcd6y179br4gpfnb";
+    rev = "${version}";
+    sha256 = "0kpwk7bv36m3i8vavm1pqc8l611c6l9qbagcc64v6r85qig4w5xv";
   };
-  goDeps = ./deps.nix;
 
   buildInputs = [ makeWrapper ];
 
-  postFixup = "wrapProgram $bin/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}";
+  modSha256 = "0y9x44y3bchi8xg0a6jmp2rmi8dybkl6qlywb6nj1viab1s8dd4y";
+
+  postFixup = "wrapProgram $out/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}/kubernetes-json-schema/master";
 
   meta = with lib; {
     description = "Validate your Kubernetes configuration files";
-    homepage = https://github.com/garethr/kubeval;
+    homepage = https://github.com/instrumenta/kubeval;
     license = licenses.asl20;
     maintainers = with maintainers; [ nicknovitski ];
     platforms = platforms.all;
diff --git a/pkgs/applications/networking/cluster/kubeval/deps.nix b/pkgs/applications/networking/cluster/kubeval/deps.nix
deleted file mode 100644
index b9565e927de..00000000000
--- a/pkgs/applications/networking/cluster/kubeval/deps.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "b7773ae218740a7be65057fc60b366a49b538a44";
-      sha256 = "09904bk7ac6qs9dgiv23rziq9h3makb9qg4jvxr71rlydsd7psfd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168";
-      sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr";
-    };
-  }
-  {
-    goPackagePath = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "c2353362d570a7bfa228149c62842019201cfb71";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b";
-      sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12";
-      sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "787d034dfe70e44075ccc060d346146ef53270ad";
-      sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev = "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1e58aa3361fd650121dceeedc399e7189c05674a";
-      sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394";
-      sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "3ebe029320b2676d667ae88da602a5f854788a8a";
-      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736";
-      sha256 = "0y3r6ysi5vn0yq5c7pbl62yg2i64fkv54xgj2jf1hn3v6zzyimis";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonpointer";
-      rev = "4e3ac2762d5f479393488629ee9370b50873b3a6";
-      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonreference";
-      rev = "bd5ef7bd5415a7ac448318e64f11a24cd21e594b";
-      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonschema";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonschema";
-      rev = "9ff6d6c47f3f5de55acc6f464d6e3719b02818ae";
-      sha256 = "0rpkya4lnpv9g33bs0z3vd5dlnadkyq1lg7114nbd73vm878s6sw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "2d6f6f883a06fc0d5f4b14a81e4c28705ea64c15";
-      sha256 = "1a6x6n1fk5k013w5r4b0bxws1d2fh0s69mbzpi1vkyfpcxabwjhj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877";
-      sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index e6058643789..6afbbf215a3 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nomad";
-  version = "0.10.0";
+  version = "0.10.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/nomad";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "1hvnrbna4hsyp5byx5si2gn4h3m6shwmd8nk0vpbrs3ck3dl1p6l";
+    sha256 = "1kv67rkqnxiz2dkmc1v1df6qx9j5j4h7cis00v2i15sl824g22jw";
   };
 
   # ui:
diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix
index ce6c5424fba..32dbced0a46 100644
--- a/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 # SHA of ${version} for the tool's help output
-let rev = "7ad367535a6710802085d41e0dbb53df359b9882";
+let rev = "c9c2a461cd3397909fe6e45ff71836347ef89fd8";
 in
 buildGoPackage rec {
   pname = "sonobuoy";
-  version = "0.15.0";
+  version = "0.16.1";
 
   goPackagePath = "github.com/heptio/sonobuoy";
 
@@ -19,10 +19,10 @@ buildGoPackage rec {
     '';
 
   src = fetchFromGitHub {
-    sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5";
+    sha256 = "14qc5a7jbr403wjpk6pgpb94i72yx647sg9srz07q6drq650kyfv";
     rev = "v${version}";
     repo = "sonobuoy";
-    owner = "heptio";
+    owner = "vmware-tanzu";
   };
 
   meta = with lib; {
@@ -36,8 +36,8 @@ buildGoPackage rec {
       accessible and non-destructive manner.
     '';
 
-    homepage = "https://github.com/heptio/sonobuoy";
+    homepage = "https://sonobuoy.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ carlosdagos ];
+    maintainers = with maintainers; [ carlosdagos saschagrunert ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/spacegun/default.nix b/pkgs/applications/networking/cluster/spacegun/default.nix
new file mode 100644
index 00000000000..2180d8d3048
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spacegun/default.nix
@@ -0,0 +1,27 @@
+{ pkgs, nodejs, stdenv, lib, ... }:
+
+let
+
+  packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
+
+  nodePackages = import ./node-composition.nix {
+    inherit pkgs nodejs;
+    inherit (stdenv.hostPlatform) system;
+  };
+in
+nodePackages."${packageName}".override {
+  nativeBuildInputs = [ pkgs.makeWrapper ];
+
+  postInstall = ''
+    # Patch shebangs in node_modules, otherwise the webpack build fails with interpreter problems
+    patchShebangs --build "$out/lib/node_modules/spacegun/node_modules/"
+    # compile Typescript sources
+    npm run build
+  '';
+
+  meta = with lib; {
+    description = "Version controlled multi-cluster deployment manager for kubernetes";
+    maintainers = with maintainers; [ kampka ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh b/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
new file mode 100644
index 00000000000..293a72a1623
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix \
+  --nodejs-10 \
+  --node-env ../../../../development/node-packages/node-env.nix \
+  --development \
+  --input package.json \
+  --output node-packages.nix \
+  --composition node-composition.nix
diff --git a/pkgs/applications/networking/cluster/spacegun/node-composition.nix b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
new file mode 100644
index 00000000000..6a5283528fc
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+
+let
+  nodeEnv = import ../../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/spacegun/node-packages.nix b/pkgs/applications/networking/cluster/spacegun/node-packages.nix
new file mode 100644
index 00000000000..a69352a9c21
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spacegun/node-packages.nix
@@ -0,0 +1,11420 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@babel/code-frame-7.5.5" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
+      };
+    };
+    "@babel/core-7.6.2" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz";
+        sha512 = "l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==";
+      };
+    };
+    "@babel/generator-7.6.2" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz";
+        sha512 = "j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==";
+      };
+    };
+    "@babel/helper-function-name-7.1.0" = {
+      name = "_at_babel_slash_helper-function-name";
+      packageName = "@babel/helper-function-name";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
+      };
+    };
+    "@babel/helper-get-function-arity-7.0.0" = {
+      name = "_at_babel_slash_helper-get-function-arity";
+      packageName = "@babel/helper-get-function-arity";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
+      };
+    };
+    "@babel/helper-plugin-utils-7.0.0" = {
+      name = "_at_babel_slash_helper-plugin-utils";
+      packageName = "@babel/helper-plugin-utils";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha512 = "CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==";
+      };
+    };
+    "@babel/helper-split-export-declaration-7.4.4" = {
+      name = "_at_babel_slash_helper-split-export-declaration";
+      packageName = "@babel/helper-split-export-declaration";
+      version = "7.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
+      };
+    };
+    "@babel/helpers-7.6.2" = {
+      name = "_at_babel_slash_helpers";
+      packageName = "@babel/helpers";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha512 = "3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==";
+      };
+    };
+    "@babel/highlight-7.5.0" = {
+      name = "_at_babel_slash_highlight";
+      packageName = "@babel/highlight";
+      version = "7.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
+      };
+    };
+    "@babel/parser-7.6.2" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz";
+        sha512 = "mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==";
+      };
+    };
+    "@babel/plugin-syntax-object-rest-spread-7.2.0" = {
+      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
+      packageName = "@babel/plugin-syntax-object-rest-spread";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha512 = "t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==";
+      };
+    };
+    "@babel/template-7.6.0" = {
+      name = "_at_babel_slash_template";
+      packageName = "@babel/template";
+      version = "7.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz";
+        sha512 = "5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==";
+      };
+    };
+    "@babel/traverse-7.6.2" = {
+      name = "_at_babel_slash_traverse";
+      packageName = "@babel/traverse";
+      version = "7.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz";
+        sha512 = "8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==";
+      };
+    };
+    "@babel/types-7.6.1" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz";
+        sha512 = "X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==";
+      };
+    };
+    "@cnakazawa/watch-1.0.3" = {
+      name = "_at_cnakazawa_slash_watch";
+      packageName = "@cnakazawa/watch";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
+      };
+    };
+    "@jest/console-24.9.0" = {
+      name = "_at_jest_slash_console";
+      packageName = "@jest/console";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz";
+        sha512 = "Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==";
+      };
+    };
+    "@jest/core-24.9.0" = {
+      name = "_at_jest_slash_core";
+      packageName = "@jest/core";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz";
+        sha512 = "Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==";
+      };
+    };
+    "@jest/environment-24.9.0" = {
+      name = "_at_jest_slash_environment";
+      packageName = "@jest/environment";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz";
+        sha512 = "5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==";
+      };
+    };
+    "@jest/fake-timers-24.9.0" = {
+      name = "_at_jest_slash_fake-timers";
+      packageName = "@jest/fake-timers";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha512 = "eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==";
+      };
+    };
+    "@jest/reporters-24.9.0" = {
+      name = "_at_jest_slash_reporters";
+      packageName = "@jest/reporters";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha512 = "mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==";
+      };
+    };
+    "@jest/source-map-24.9.0" = {
+      name = "_at_jest_slash_source-map";
+      packageName = "@jest/source-map";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha512 = "/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==";
+      };
+    };
+    "@jest/test-result-24.9.0" = {
+      name = "_at_jest_slash_test-result";
+      packageName = "@jest/test-result";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha512 = "XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==";
+      };
+    };
+    "@jest/test-sequencer-24.9.0" = {
+      name = "_at_jest_slash_test-sequencer";
+      packageName = "@jest/test-sequencer";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha512 = "6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==";
+      };
+    };
+    "@jest/transform-24.9.0" = {
+      name = "_at_jest_slash_transform";
+      packageName = "@jest/transform";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz";
+        sha512 = "TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==";
+      };
+    };
+    "@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==";
+      };
+    };
+    "@kubernetes/client-node-0.10.3" = {
+      name = "_at_kubernetes_slash_client-node";
+      packageName = "@kubernetes/client-node";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.3.tgz";
+        sha512 = "mw+1zdKfMW4QN2ns82SKFhAvqC4SVUAiItto4oFg3Me+a510h3h9N5O7ad6m4efAmlQBlMc6Y5FHz70dAwuiMg==";
+      };
+    };
+    "@sindresorhus/is-0.7.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
+        sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==";
+      };
+    };
+    "@types/accepts-1.3.5" = {
+      name = "_at_types_slash_accepts";
+      packageName = "@types/accepts";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz";
+        sha512 = "jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==";
+      };
+    };
+    "@types/axios-0.14.0" = {
+      name = "_at_types_slash_axios";
+      packageName = "@types/axios";
+      version = "0.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz";
+        sha1 = "ec2300fbe7d7dddd7eb9d3abf87999964cafce46";
+      };
+    };
+    "@types/babel-types-7.0.7" = {
+      name = "_at_types_slash_babel-types";
+      packageName = "@types/babel-types";
+      version = "7.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz";
+        sha512 = "dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==";
+      };
+    };
+    "@types/babel__core-7.1.3" = {
+      name = "_at_types_slash_babel__core";
+      packageName = "@types/babel__core";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha512 = "8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==";
+      };
+    };
+    "@types/babel__generator-7.6.0" = {
+      name = "_at_types_slash_babel__generator";
+      packageName = "@types/babel__generator";
+      version = "7.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha512 = "c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==";
+      };
+    };
+    "@types/babel__template-7.0.2" = {
+      name = "_at_types_slash_babel__template";
+      packageName = "@types/babel__template";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha512 = "/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==";
+      };
+    };
+    "@types/babel__traverse-7.0.7" = {
+      name = "_at_types_slash_babel__traverse";
+      packageName = "@types/babel__traverse";
+      version = "7.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha512 = "CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==";
+      };
+    };
+    "@types/babylon-6.16.5" = {
+      name = "_at_types_slash_babylon";
+      packageName = "@types/babylon";
+      version = "6.16.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz";
+        sha512 = "xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==";
+      };
+    };
+    "@types/body-parser-1.17.1" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz";
+        sha512 = "RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==";
+      };
+    };
+    "@types/caseless-0.12.2" = {
+      name = "_at_types_slash_caseless";
+      packageName = "@types/caseless";
+      version = "0.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz";
+        sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
+      };
+    };
+    "@types/command-line-args-5.0.0" = {
+      name = "_at_types_slash_command-line-args";
+      packageName = "@types/command-line-args";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz";
+        sha512 = "4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==";
+      };
+    };
+    "@types/connect-3.4.32" = {
+      name = "_at_types_slash_connect";
+      packageName = "@types/connect";
+      version = "3.4.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
+        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+      };
+    };
+    "@types/cookies-0.7.4" = {
+      name = "_at_types_slash_cookies";
+      packageName = "@types/cookies";
+      version = "0.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz";
+        sha512 = "oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==";
+      };
+    };
+    "@types/cron-1.7.1" = {
+      name = "_at_types_slash_cron";
+      packageName = "@types/cron";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/cron/-/cron-1.7.1.tgz";
+        sha512 = "48brwgU18DqA0mQX1As5OcJEo1yNjaXMM6Mk4r8K1dOzLJRQ37FE/kCivKx7ClKEHfhX2FdcxKzJ1B744a+V3A==";
+      };
+    };
+    "@types/events-3.0.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
+      };
+    };
+    "@types/express-4.17.1" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz";
+        sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
+      };
+    };
+    "@types/express-serve-static-core-4.16.9" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.16.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
+        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+      };
+    };
+    "@types/formidable-1.0.31" = {
+      name = "_at_types_slash_formidable";
+      packageName = "@types/formidable";
+      version = "1.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz";
+        sha512 = "dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==";
+      };
+    };
+    "@types/glob-7.1.1" = {
+      name = "_at_types_slash_glob";
+      packageName = "@types/glob";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz";
+        sha512 = "1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==";
+      };
+    };
+    "@types/http-assert-1.5.1" = {
+      name = "_at_types_slash_http-assert";
+      packageName = "@types/http-assert";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz";
+        sha512 = "PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==";
+      };
+    };
+    "@types/istanbul-lib-coverage-2.0.1" = {
+      name = "_at_types_slash_istanbul-lib-coverage";
+      packageName = "@types/istanbul-lib-coverage";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha512 = "hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==";
+      };
+    };
+    "@types/istanbul-lib-report-1.1.1" = {
+      name = "_at_types_slash_istanbul-lib-report";
+      packageName = "@types/istanbul-lib-report";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha512 = "3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==";
+      };
+    };
+    "@types/istanbul-reports-1.1.1" = {
+      name = "_at_types_slash_istanbul-reports";
+      packageName = "@types/istanbul-reports";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha512 = "UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==";
+      };
+    };
+    "@types/jest-24.0.18" = {
+      name = "_at_types_slash_jest";
+      packageName = "@types/jest";
+      version = "24.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest/-/jest-24.0.18.tgz";
+        sha512 = "jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ==";
+      };
+    };
+    "@types/jest-diff-20.0.1" = {
+      name = "_at_types_slash_jest-diff";
+      packageName = "@types/jest-diff";
+      version = "20.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha512 = "yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==";
+      };
+    };
+    "@types/js-yaml-3.12.1" = {
+      name = "_at_types_slash_js-yaml";
+      packageName = "@types/js-yaml";
+      version = "3.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz";
+        sha512 = "SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==";
+      };
+    };
+    "@types/keygrip-1.0.1" = {
+      name = "_at_types_slash_keygrip";
+      packageName = "@types/keygrip";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.1.tgz";
+        sha1 = "ff540462d2fb4d0a88441ceaf27d287b01c3d878";
+      };
+    };
+    "@types/koa-2.0.50" = {
+      name = "_at_types_slash_koa";
+      packageName = "@types/koa";
+      version = "2.0.50";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.0.50.tgz";
+        sha512 = "TcgOD2lh0EISSadAk1DOBYw7kNoY9XdeB3vEMOKiDDaTMYm+V54nyPsU7Ulb/htb5OBIR79RgTeCWntCcophLw==";
+      };
+    };
+    "@types/koa-compose-3.2.4" = {
+      name = "_at_types_slash_koa-compose";
+      packageName = "@types/koa-compose";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.4.tgz";
+        sha512 = "ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==";
+      };
+    };
+    "@types/koa-router-7.0.42" = {
+      name = "_at_types_slash_koa-router";
+      packageName = "@types/koa-router";
+      version = "7.0.42";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.0.42.tgz";
+        sha512 = "mggrNY7Ywwjt7QjaMAlbb1ixE+v7AFskOeyKdmZT/NvPVEAo48gYUxIcF8ILlMc3eg1bo6SxNoUcbxhTv7edrA==";
+      };
+    };
+    "@types/koa-send-4.1.2" = {
+      name = "_at_types_slash_koa-send";
+      packageName = "@types/koa-send";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.2.tgz";
+        sha512 = "rfqKIv9bFds39Jxvsp8o3YJLnEQVPVriYA14AuO2OY65IHh/4UX4U/iMs5L0wATpcRmm1bbe0BNk23TRwx3VQQ==";
+      };
+    };
+    "@types/koa-static-4.0.1" = {
+      name = "_at_types_slash_koa-static";
+      packageName = "@types/koa-static";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-static/-/koa-static-4.0.1.tgz";
+        sha512 = "SSpct5fEcAeRkBHa3RiwCIRfDHcD1cZRhwRF///ZfvRt8KhoqRrhK6wpDlYPk/vWHVFE9hPGqh68bhzsHkir4w==";
+      };
+    };
+    "@types/koa-views-2.0.3" = {
+      name = "_at_types_slash_koa-views";
+      packageName = "@types/koa-views";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/koa-views/-/koa-views-2.0.3.tgz";
+        sha512 = "XLn//7qUUz2U9ZKXyHPwVIcQbZcW3phYTFXHGa1eW5BN88bi8n2fegvwJ+TokL2jRmRqBWwMB5p7Aab9iq1sZw==";
+      };
+    };
+    "@types/lodash-4.14.141" = {
+      name = "_at_types_slash_lodash";
+      packageName = "@types/lodash";
+      version = "4.14.141";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.141.tgz";
+        sha512 = "v5NYIi9qEbFEUpCyikmnOYe4YlP8BMUdTcNCAquAKzu+FA7rZ1onj9x80mbnDdOW/K5bFf3Tv5kJplP33+gAbQ==";
+      };
+    };
+    "@types/lodash.clonedeep-4.5.6" = {
+      name = "_at_types_slash_lodash.clonedeep";
+      packageName = "@types/lodash.clonedeep";
+      version = "4.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz";
+        sha512 = "cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==";
+      };
+    };
+    "@types/mime-2.0.1" = {
+      name = "_at_types_slash_mime";
+      packageName = "@types/mime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz";
+        sha512 = "FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==";
+      };
+    };
+    "@types/minimatch-3.0.3" = {
+      name = "_at_types_slash_minimatch";
+      packageName = "@types/minimatch";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
+      };
+    };
+    "@types/mkdirp-0.5.2" = {
+      name = "_at_types_slash_mkdirp";
+      packageName = "@types/mkdirp";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz";
+        sha512 = "U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==";
+      };
+    };
+    "@types/node-10.14.20" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.14.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.14.20.tgz";
+        sha512 = "An+MXSV8CGXz/BO9C1KKsoJ/8WDrvlNUaRMsm2h+IHZuSyQkM8U5bJJkb8ItLKA73VePG/nUK+t+EuW2IWuhsQ==";
+      };
+    };
+    "@types/node-12.7.11" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.7.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz";
+        sha512 = "Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==";
+      };
+    };
+    "@types/ora-3.2.0" = {
+      name = "_at_types_slash_ora";
+      packageName = "@types/ora";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ora/-/ora-3.2.0.tgz";
+        sha512 = "jll99xUKpiFbIFZSQcxm4numfsLaOWBzWNaRk3PvTSE7BPqTzzOCFmS0mQ7m8qkTfmYhuYbehTGsxkvRLPC++w==";
+      };
+    };
+    "@types/range-parser-1.2.3" = {
+      name = "_at_types_slash_range-parser";
+      packageName = "@types/range-parser";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
+        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+      };
+    };
+    "@types/request-2.48.3" = {
+      name = "_at_types_slash_request";
+      packageName = "@types/request";
+      version = "2.48.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz";
+        sha512 = "3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==";
+      };
+    };
+    "@types/serve-static-1.13.3" = {
+      name = "_at_types_slash_serve-static";
+      packageName = "@types/serve-static";
+      version = "1.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz";
+        sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
+      };
+    };
+    "@types/stack-utils-1.0.1" = {
+      name = "_at_types_slash_stack-utils";
+      packageName = "@types/stack-utils";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha512 = "l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==";
+      };
+    };
+    "@types/tough-cookie-2.3.5" = {
+      name = "_at_types_slash_tough-cookie";
+      packageName = "@types/tough-cookie";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz";
+        sha512 = "SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==";
+      };
+    };
+    "@types/underscore-1.9.3" = {
+      name = "_at_types_slash_underscore";
+      packageName = "@types/underscore";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.3.tgz";
+        sha512 = "SwbHKB2DPIDlvYqtK5O+0LFtZAyrUSw4c0q+HWwmH1Ve3KMQ0/5PlV3RX97+3dP7yMrnNQ8/bCWWvQpPl03Mug==";
+      };
+    };
+    "@types/websocket-0.0.40" = {
+      name = "_at_types_slash_websocket";
+      packageName = "@types/websocket";
+      version = "0.0.40";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/websocket/-/websocket-0.0.40.tgz";
+        sha512 = "ldteZwWIgl9cOy7FyvYn+39Ah4+PfpVE72eYKw75iy2L0zTbhbcwvzeJ5IOu6DQP93bjfXq0NGHY6FYtmYoqFQ==";
+      };
+    };
+    "@types/ws-6.0.3" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.3.tgz";
+        sha512 = "yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w==";
+      };
+    };
+    "@types/yargs-13.0.3" = {
+      name = "_at_types_slash_yargs";
+      packageName = "@types/yargs";
+      version = "13.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz";
+        sha512 = "K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==";
+      };
+    };
+    "@types/yargs-parser-13.1.0" = {
+      name = "_at_types_slash_yargs-parser";
+      packageName = "@types/yargs-parser";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha512 = "gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==";
+      };
+    };
+    "@webassemblyjs/ast-1.8.5" = {
+      name = "_at_webassemblyjs_slash_ast";
+      packageName = "@webassemblyjs/ast";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha512 = "aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==";
+      };
+    };
+    "@webassemblyjs/floating-point-hex-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
+      packageName = "@webassemblyjs/floating-point-hex-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha512 = "9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==";
+      };
+    };
+    "@webassemblyjs/helper-api-error-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-api-error";
+      packageName = "@webassemblyjs/helper-api-error";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha512 = "Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==";
+      };
+    };
+    "@webassemblyjs/helper-buffer-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-buffer";
+      packageName = "@webassemblyjs/helper-buffer";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha512 = "Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==";
+      };
+    };
+    "@webassemblyjs/helper-code-frame-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-code-frame";
+      packageName = "@webassemblyjs/helper-code-frame";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha512 = "VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==";
+      };
+    };
+    "@webassemblyjs/helper-fsm-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-fsm";
+      packageName = "@webassemblyjs/helper-fsm";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha512 = "kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==";
+      };
+    };
+    "@webassemblyjs/helper-module-context-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-module-context";
+      packageName = "@webassemblyjs/helper-module-context";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha512 = "/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-bytecode-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
+      packageName = "@webassemblyjs/helper-wasm-bytecode";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha512 = "Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==";
+      };
+    };
+    "@webassemblyjs/helper-wasm-section-1.8.5" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-section";
+      packageName = "@webassemblyjs/helper-wasm-section";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha512 = "VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==";
+      };
+    };
+    "@webassemblyjs/ieee754-1.8.5" = {
+      name = "_at_webassemblyjs_slash_ieee754";
+      packageName = "@webassemblyjs/ieee754";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha512 = "aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==";
+      };
+    };
+    "@webassemblyjs/leb128-1.8.5" = {
+      name = "_at_webassemblyjs_slash_leb128";
+      packageName = "@webassemblyjs/leb128";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha512 = "plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==";
+      };
+    };
+    "@webassemblyjs/utf8-1.8.5" = {
+      name = "_at_webassemblyjs_slash_utf8";
+      packageName = "@webassemblyjs/utf8";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha512 = "U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==";
+      };
+    };
+    "@webassemblyjs/wasm-edit-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-edit";
+      packageName = "@webassemblyjs/wasm-edit";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha512 = "A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==";
+      };
+    };
+    "@webassemblyjs/wasm-gen-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-gen";
+      packageName = "@webassemblyjs/wasm-gen";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha512 = "BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==";
+      };
+    };
+    "@webassemblyjs/wasm-opt-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-opt";
+      packageName = "@webassemblyjs/wasm-opt";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha512 = "HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==";
+      };
+    };
+    "@webassemblyjs/wasm-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wasm-parser";
+      packageName = "@webassemblyjs/wasm-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha512 = "pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==";
+      };
+    };
+    "@webassemblyjs/wast-parser-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wast-parser";
+      packageName = "@webassemblyjs/wast-parser";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha512 = "daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==";
+      };
+    };
+    "@webassemblyjs/wast-printer-1.8.5" = {
+      name = "_at_webassemblyjs_slash_wast-printer";
+      packageName = "@webassemblyjs/wast-printer";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha512 = "w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==";
+      };
+    };
+    "@xtuc/ieee754-1.2.0" = {
+      name = "_at_xtuc_slash_ieee754";
+      packageName = "@xtuc/ieee754";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
+      };
+    };
+    "@xtuc/long-4.2.2" = {
+      name = "_at_xtuc_slash_long";
+      packageName = "@xtuc/long";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz";
+        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
+      };
+    };
+    "abab-2.0.2" = {
+      name = "abab";
+      packageName = "abab";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz";
+        sha512 = "2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "accepts-1.3.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+      };
+    };
+    "acorn-3.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    };
+    "acorn-4.0.13" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "4.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz";
+        sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
+      };
+    };
+    "acorn-5.7.3" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz";
+        sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
+      };
+    };
+    "acorn-6.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz";
+        sha512 = "/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==";
+      };
+    };
+    "acorn-globals-3.1.0" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz";
+        sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
+      };
+    };
+    "acorn-globals-4.3.4" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz";
+        sha512 = "clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==";
+      };
+    };
+    "acorn-walk-6.2.0" = {
+      name = "acorn-walk";
+      packageName = "acorn-walk";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==";
+      };
+    };
+    "aggregate-error-1.0.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz";
+        sha1 = "888344dad0220a72e3af50906117f48771925fac";
+      };
+    };
+    "ajv-6.10.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
+      };
+    };
+    "ajv-errors-1.0.1" = {
+      name = "ajv-errors";
+      packageName = "ajv-errors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
+      };
+    };
+    "ajv-keywords-3.4.1" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha512 = "RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "ansi-colors-3.2.4" = {
+      name = "ansi-colors";
+      packageName = "ansi-colors";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha512 = "hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==";
+      };
+    };
+    "ansi-escapes-3.2.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
+      };
+    };
+    "ansi-html-0.0.7" = {
+      name = "ansi-html";
+      packageName = "ansi-html";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    };
+    "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-3.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    };
+    "ansi-regex-4.1.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+      };
+    };
+    "ansi-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==";
+      };
+    };
+    "any-promise-1.3.0" = {
+      name = "any-promise";
+      packageName = "any-promise";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz";
+        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+      };
+    };
+    "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==";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-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-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-back-3.1.0" = {
+      name = "array-back";
+      packageName = "array-back";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz";
+        sha512 = "TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==";
+      };
+    };
+    "array-equal-1.0.0" = {
+      name = "array-equal";
+      packageName = "array-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    };
+    "array-flatten-1.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    };
+    "array-flatten-2.1.2" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
+      };
+    };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
+    "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";
+      };
+    };
+    "asap-2.0.6" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    };
+    "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==";
+      };
+    };
+    "asn1.js-4.10.1" = {
+      name = "asn1.js";
+      packageName = "asn1.js";
+      version = "4.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==";
+      };
+    };
+    "assert-1.5.0" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
+    "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-limiter-1.0.1" = {
+      name = "async-limiter";
+      packageName = "async-limiter";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "awesome-typescript-loader-5.2.1" = {
+      name = "awesome-typescript-loader";
+      packageName = "awesome-typescript-loader";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz";
+        sha512 = "slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==";
+      };
+    };
+    "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.8.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
+        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+      };
+    };
+    "axios-0.19.0" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz";
+        sha512 = "1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==";
+      };
+    };
+    "babel-6.23.0" = {
+      name = "babel";
+      packageName = "babel";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel/-/babel-6.23.0.tgz";
+        sha1 = "d0d1e7d803e974765beea3232d4e153c0efb90f4";
+      };
+    };
+    "babel-code-frame-6.26.0" = {
+      name = "babel-code-frame";
+      packageName = "babel-code-frame";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    };
+    "babel-core-6.26.3" = {
+      name = "babel-core";
+      packageName = "babel-core";
+      version = "6.26.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
+        sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
+      };
+    };
+    "babel-generator-6.26.1" = {
+      name = "babel-generator";
+      packageName = "babel-generator";
+      version = "6.26.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz";
+        sha512 = "HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==";
+      };
+    };
+    "babel-helper-builder-binary-assignment-operator-visitor-6.24.1" = {
+      name = "babel-helper-builder-binary-assignment-operator-visitor";
+      packageName = "babel-helper-builder-binary-assignment-operator-visitor";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz";
+        sha1 = "cce4517ada356f4220bcae8a02c2b346f9a56664";
+      };
+    };
+    "babel-helper-call-delegate-6.24.1" = {
+      name = "babel-helper-call-delegate";
+      packageName = "babel-helper-call-delegate";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";
+        sha1 = "ece6aacddc76e41c3461f88bfc575bd0daa2df8d";
+      };
+    };
+    "babel-helper-define-map-6.26.0" = {
+      name = "babel-helper-define-map";
+      packageName = "babel-helper-define-map";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";
+        sha1 = "a5f56dab41a25f97ecb498c7ebaca9819f95be5f";
+      };
+    };
+    "babel-helper-explode-assignable-expression-6.24.1" = {
+      name = "babel-helper-explode-assignable-expression";
+      packageName = "babel-helper-explode-assignable-expression";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz";
+        sha1 = "f25b82cf7dc10433c55f70592d5746400ac22caa";
+      };
+    };
+    "babel-helper-function-name-6.24.1" = {
+      name = "babel-helper-function-name";
+      packageName = "babel-helper-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
+        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+      };
+    };
+    "babel-helper-get-function-arity-6.24.1" = {
+      name = "babel-helper-get-function-arity";
+      packageName = "babel-helper-get-function-arity";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
+        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+      };
+    };
+    "babel-helper-hoist-variables-6.24.1" = {
+      name = "babel-helper-hoist-variables";
+      packageName = "babel-helper-hoist-variables";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";
+        sha1 = "1ecb27689c9d25513eadbc9914a73f5408be7a76";
+      };
+    };
+    "babel-helper-optimise-call-expression-6.24.1" = {
+      name = "babel-helper-optimise-call-expression";
+      packageName = "babel-helper-optimise-call-expression";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";
+        sha1 = "f7a13427ba9f73f8f4fa993c54a97882d1244257";
+      };
+    };
+    "babel-helper-regex-6.26.0" = {
+      name = "babel-helper-regex";
+      packageName = "babel-helper-regex";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";
+        sha1 = "325c59f902f82f24b74faceed0363954f6495e72";
+      };
+    };
+    "babel-helper-remap-async-to-generator-6.24.1" = {
+      name = "babel-helper-remap-async-to-generator";
+      packageName = "babel-helper-remap-async-to-generator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz";
+        sha1 = "5ec581827ad723fecdd381f1c928390676e4551b";
+      };
+    };
+    "babel-helper-replace-supers-6.24.1" = {
+      name = "babel-helper-replace-supers";
+      packageName = "babel-helper-replace-supers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";
+        sha1 = "bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a";
+      };
+    };
+    "babel-helpers-6.24.1" = {
+      name = "babel-helpers";
+      packageName = "babel-helpers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+      };
+    };
+    "babel-jest-24.9.0" = {
+      name = "babel-jest";
+      packageName = "babel-jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha512 = "ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==";
+      };
+    };
+    "babel-messages-6.23.0" = {
+      name = "babel-messages";
+      packageName = "babel-messages";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    };
+    "babel-plugin-check-es2015-constants-6.22.0" = {
+      name = "babel-plugin-check-es2015-constants";
+      packageName = "babel-plugin-check-es2015-constants";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
+        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+      };
+    };
+    "babel-plugin-istanbul-5.2.0" = {
+      name = "babel-plugin-istanbul";
+      packageName = "babel-plugin-istanbul";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha512 = "5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==";
+      };
+    };
+    "babel-plugin-jest-hoist-24.9.0" = {
+      name = "babel-plugin-jest-hoist";
+      packageName = "babel-plugin-jest-hoist";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha512 = "2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==";
+      };
+    };
+    "babel-plugin-syntax-async-functions-6.13.0" = {
+      name = "babel-plugin-syntax-async-functions";
+      packageName = "babel-plugin-syntax-async-functions";
+      version = "6.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz";
+        sha1 = "cad9cad1191b5ad634bf30ae0872391e0647be95";
+      };
+    };
+    "babel-plugin-syntax-exponentiation-operator-6.13.0" = {
+      name = "babel-plugin-syntax-exponentiation-operator";
+      packageName = "babel-plugin-syntax-exponentiation-operator";
+      version = "6.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";
+        sha1 = "9ee7e8337290da95288201a6a57f4170317830de";
+      };
+    };
+    "babel-plugin-syntax-trailing-function-commas-6.22.0" = {
+      name = "babel-plugin-syntax-trailing-function-commas";
+      packageName = "babel-plugin-syntax-trailing-function-commas";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";
+        sha1 = "ba0360937f8d06e40180a43fe0d5616fff532cf3";
+      };
+    };
+    "babel-plugin-transform-async-to-generator-6.24.1" = {
+      name = "babel-plugin-transform-async-to-generator";
+      packageName = "babel-plugin-transform-async-to-generator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz";
+        sha1 = "6536e378aff6cb1d5517ac0e40eb3e9fc8d08761";
+      };
+    };
+    "babel-plugin-transform-es2015-arrow-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-arrow-functions";
+      packageName = "babel-plugin-transform-es2015-arrow-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoped-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-block-scoped-functions";
+      packageName = "babel-plugin-transform-es2015-block-scoped-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoping-6.26.0" = {
+      name = "babel-plugin-transform-es2015-block-scoping";
+      packageName = "babel-plugin-transform-es2015-block-scoping";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";
+        sha1 = "d70f5299c1308d05c12f463813b0a09e73b1895f";
+      };
+    };
+    "babel-plugin-transform-es2015-classes-6.24.1" = {
+      name = "babel-plugin-transform-es2015-classes";
+      packageName = "babel-plugin-transform-es2015-classes";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";
+        sha1 = "5a4c58a50c9c9461e564b4b2a3bfabc97a2584db";
+      };
+    };
+    "babel-plugin-transform-es2015-computed-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-computed-properties";
+      packageName = "babel-plugin-transform-es2015-computed-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";
+        sha1 = "6fe2a8d16895d5634f4cd999b6d3480a308159b3";
+      };
+    };
+    "babel-plugin-transform-es2015-destructuring-6.23.0" = {
+      name = "babel-plugin-transform-es2015-destructuring";
+      packageName = "babel-plugin-transform-es2015-destructuring";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+      };
+    };
+    "babel-plugin-transform-es2015-duplicate-keys-6.24.1" = {
+      name = "babel-plugin-transform-es2015-duplicate-keys";
+      packageName = "babel-plugin-transform-es2015-duplicate-keys";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";
+        sha1 = "73eb3d310ca969e3ef9ec91c53741a6f1576423e";
+      };
+    };
+    "babel-plugin-transform-es2015-for-of-6.23.0" = {
+      name = "babel-plugin-transform-es2015-for-of";
+      packageName = "babel-plugin-transform-es2015-for-of";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+      };
+    };
+    "babel-plugin-transform-es2015-function-name-6.24.1" = {
+      name = "babel-plugin-transform-es2015-function-name";
+      packageName = "babel-plugin-transform-es2015-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";
+        sha1 = "834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b";
+      };
+    };
+    "babel-plugin-transform-es2015-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-literals";
+      packageName = "babel-plugin-transform-es2015-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-amd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-amd";
+      packageName = "babel-plugin-transform-es2015-modules-amd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";
+        sha1 = "3b3e54017239842d6d19c3011c4bd2f00a00d154";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-commonjs-6.26.2" = {
+      name = "babel-plugin-transform-es2015-modules-commonjs";
+      packageName = "babel-plugin-transform-es2015-modules-commonjs";
+      version = "6.26.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
+        sha512 = "CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-systemjs-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-systemjs";
+      packageName = "babel-plugin-transform-es2015-modules-systemjs";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";
+        sha1 = "ff89a142b9119a906195f5f106ecf305d9407d23";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-umd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-umd";
+      packageName = "babel-plugin-transform-es2015-modules-umd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";
+        sha1 = "ac997e6285cd18ed6176adb607d602344ad38468";
+      };
+    };
+    "babel-plugin-transform-es2015-object-super-6.24.1" = {
+      name = "babel-plugin-transform-es2015-object-super";
+      packageName = "babel-plugin-transform-es2015-object-super";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";
+        sha1 = "24cef69ae21cb83a7f8603dad021f572eb278f8d";
+      };
+    };
+    "babel-plugin-transform-es2015-parameters-6.24.1" = {
+      name = "babel-plugin-transform-es2015-parameters";
+      packageName = "babel-plugin-transform-es2015-parameters";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";
+        sha1 = "57ac351ab49caf14a97cd13b09f66fdf0a625f2b";
+      };
+    };
+    "babel-plugin-transform-es2015-shorthand-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-shorthand-properties";
+      packageName = "babel-plugin-transform-es2015-shorthand-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";
+        sha1 = "24f875d6721c87661bbd99a4622e51f14de38aa0";
+      };
+    };
+    "babel-plugin-transform-es2015-spread-6.22.0" = {
+      name = "babel-plugin-transform-es2015-spread";
+      packageName = "babel-plugin-transform-es2015-spread";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+      };
+    };
+    "babel-plugin-transform-es2015-sticky-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-sticky-regex";
+      packageName = "babel-plugin-transform-es2015-sticky-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";
+        sha1 = "00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc";
+      };
+    };
+    "babel-plugin-transform-es2015-template-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-template-literals";
+      packageName = "babel-plugin-transform-es2015-template-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+      };
+    };
+    "babel-plugin-transform-es2015-typeof-symbol-6.23.0" = {
+      name = "babel-plugin-transform-es2015-typeof-symbol";
+      packageName = "babel-plugin-transform-es2015-typeof-symbol";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+      };
+    };
+    "babel-plugin-transform-es2015-unicode-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-unicode-regex";
+      packageName = "babel-plugin-transform-es2015-unicode-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";
+        sha1 = "d38b12f42ea7323f729387f18a7c5ae1faeb35e9";
+      };
+    };
+    "babel-plugin-transform-exponentiation-operator-6.24.1" = {
+      name = "babel-plugin-transform-exponentiation-operator";
+      packageName = "babel-plugin-transform-exponentiation-operator";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz";
+        sha1 = "2ab0c9c7f3098fa48907772bb813fe41e8de3a0e";
+      };
+    };
+    "babel-plugin-transform-regenerator-6.26.0" = {
+      name = "babel-plugin-transform-regenerator";
+      packageName = "babel-plugin-transform-regenerator";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";
+        sha1 = "e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f";
+      };
+    };
+    "babel-plugin-transform-strict-mode-6.24.1" = {
+      name = "babel-plugin-transform-strict-mode";
+      packageName = "babel-plugin-transform-strict-mode";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz";
+        sha1 = "d5faf7aa578a65bbe591cf5edae04a0c67020758";
+      };
+    };
+    "babel-preset-env-1.7.0" = {
+      name = "babel-preset-env";
+      packageName = "babel-preset-env";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz";
+        sha512 = "9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==";
+      };
+    };
+    "babel-preset-jest-24.9.0" = {
+      name = "babel-preset-jest";
+      packageName = "babel-preset-jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha512 = "izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==";
+      };
+    };
+    "babel-register-6.26.0" = {
+      name = "babel-register";
+      packageName = "babel-register";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz";
+        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+      };
+    };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    };
+    "babel-template-6.26.0" = {
+      name = "babel-template";
+      packageName = "babel-template";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz";
+        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+      };
+    };
+    "babel-traverse-6.26.0" = {
+      name = "babel-traverse";
+      packageName = "babel-traverse";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz";
+        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+      };
+    };
+    "babel-types-6.26.0" = {
+      name = "babel-types";
+      packageName = "babel-types";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz";
+        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+      };
+    };
+    "babylon-6.18.0" = {
+      name = "babylon";
+      packageName = "babylon";
+      version = "6.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz";
+        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "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.3.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
+      };
+    };
+    "base64url-3.0.1" = {
+      name = "base64url";
+      packageName = "base64url";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz";
+        sha512 = "ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==";
+      };
+    };
+    "batch-0.6.1" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    };
+    "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";
+      };
+    };
+    "bfj-6.1.2" = {
+      name = "bfj";
+      packageName = "bfj";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz";
+        sha512 = "BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==";
+      };
+    };
+    "big.js-5.2.2" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz";
+        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "bluebird-3.7.0" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz";
+        sha512 = "aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==";
+      };
+    };
+    "bn.js-4.11.8" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "4.11.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";
+        sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
+      };
+    };
+    "body-parser-1.19.0" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+      };
+    };
+    "bonjour-3.5.0" = {
+      name = "bonjour";
+      packageName = "bonjour";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "brorand-1.1.0" = {
+      name = "brorand";
+      packageName = "brorand";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    };
+    "browser-process-hrtime-0.1.3" = {
+      name = "browser-process-hrtime";
+      packageName = "browser-process-hrtime";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
+      };
+    };
+    "browser-resolve-1.11.3" = {
+      name = "browser-resolve";
+      packageName = "browser-resolve";
+      version = "1.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";
+        sha512 = "exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==";
+      };
+    };
+    "browserify-aes-1.2.0" = {
+      name = "browserify-aes";
+      packageName = "browserify-aes";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
+      };
+    };
+    "browserify-cipher-1.0.1" = {
+      name = "browserify-cipher";
+      packageName = "browserify-cipher";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
+      };
+    };
+    "browserify-des-1.0.2" = {
+      name = "browserify-des";
+      packageName = "browserify-des";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
+      };
+    };
+    "browserify-rsa-4.0.1" = {
+      name = "browserify-rsa";
+      packageName = "browserify-rsa";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    };
+    "browserify-sign-4.0.4" = {
+      name = "browserify-sign";
+      packageName = "browserify-sign";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    };
+    "browserify-zlib-0.2.0" = {
+      name = "browserify-zlib";
+      packageName = "browserify-zlib";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
+      };
+    };
+    "browserslist-3.2.8" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "3.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz";
+        sha512 = "WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==";
+      };
+    };
+    "bs-logger-0.2.6" = {
+      name = "bs-logger";
+      packageName = "bs-logger";
+      version = "0.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz";
+        sha512 = "pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==";
+      };
+    };
+    "bser-2.1.0" = {
+      name = "bser";
+      packageName = "bser";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz";
+        sha512 = "8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==";
+      };
+    };
+    "buffer-4.9.1" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "buffer-indexof-1.1.1" = {
+      name = "buffer-indexof";
+      packageName = "buffer-indexof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
+      };
+    };
+    "buffer-xor-1.0.3" = {
+      name = "buffer-xor";
+      packageName = "buffer-xor";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    };
+    "builtin-status-codes-3.0.0" = {
+      name = "builtin-status-codes";
+      packageName = "builtin-status-codes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    };
+    "byline-5.0.0" = {
+      name = "byline";
+      packageName = "byline";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz";
+        sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1";
+      };
+    };
+    "bytes-3.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    };
+    "bytes-3.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
+        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
+      };
+    };
+    "cacache-10.0.4" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "10.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz";
+        sha512 = "Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==";
+      };
+    };
+    "cacache-12.0.3" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "12.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz";
+        sha512 = "kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "cache-content-type-1.0.1" = {
+      name = "cache-content-type";
+      packageName = "cache-content-type";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz";
+        sha512 = "IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==";
+      };
+    };
+    "cacheable-request-2.1.4" = {
+      name = "cacheable-request";
+      packageName = "cacheable-request";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
+        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
+      };
+    };
+    "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-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";
+      };
+    };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    };
+    "camelcase-5.3.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
+      };
+    };
+    "caniuse-lite-1.0.30000999" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30000999";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz";
+        sha512 = "1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==";
+      };
+    };
+    "capture-exit-2.0.0" = {
+      name = "capture-exit";
+      packageName = "capture-exit";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "character-parser-2.2.0" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz";
+        sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0";
+      };
+    };
+    "check-types-8.0.3" = {
+      name = "check-types";
+      packageName = "check-types";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz";
+        sha512 = "YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "chownr-1.1.3" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
+      };
+    };
+    "chrome-trace-event-1.0.2" = {
+      name = "chrome-trace-event";
+      packageName = "chrome-trace-event";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha512 = "9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==";
+      };
+    };
+    "ci-info-2.0.0" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
+        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
+      };
+    };
+    "cipher-base-1.0.4" = {
+      name = "cipher-base";
+      packageName = "cipher-base";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "clean-css-4.2.1" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz";
+        sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==";
+      };
+    };
+    "clean-stack-1.3.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz";
+        sha1 = "9e821501ae979986c46b1d66d2d432db2fd4ae31";
+      };
+    };
+    "cli-cursor-2.1.0" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    };
+    "cli-spinners-2.2.0" = {
+      name = "cli-spinners";
+      packageName = "cli-spinners";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz";
+        sha512 = "tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "cliui-4.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
+        sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
+      };
+    };
+    "cliui-5.0.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
+      };
+    };
+    "clone-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-response-1.0.2" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+      };
+    };
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    };
+    "co-body-5.2.0" = {
+      name = "co-body";
+      packageName = "co-body";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz";
+        sha512 = "sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==";
+      };
+    };
+    "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-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-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";
+      };
+    };
+    "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==";
+      };
+    };
+    "command-line-args-5.1.1" = {
+      name = "command-line-args";
+      packageName = "command-line-args";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz";
+        sha512 = "hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==";
+      };
+    };
+    "commander-2.20.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz";
+        sha512 = "cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==";
+      };
+    };
+    "commondir-1.0.1" = {
+      name = "commondir";
+      packageName = "commondir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    };
+    "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==";
+      };
+    };
+    "compressible-2.0.17" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz";
+        sha512 = "BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==";
+      };
+    };
+    "compression-1.7.4" = {
+      name = "compression";
+      packageName = "compression";
+      version = "1.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "condense-newlines-0.2.1" = {
+      name = "condense-newlines";
+      packageName = "condense-newlines";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz";
+        sha1 = "3de985553139475d32502c83b02f60684d24c55f";
+      };
+    };
+    "config-chain-1.1.12" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz";
+        sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
+      };
+    };
+    "connect-history-api-fallback-1.6.0" = {
+      name = "connect-history-api-fallback";
+      packageName = "connect-history-api-fallback";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
+      };
+    };
+    "console-browserify-1.1.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    };
+    "consolidate-0.15.1" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz";
+        sha512 = "DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==";
+      };
+    };
+    "constantinople-3.1.2" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz";
+        sha512 = "yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==";
+      };
+    };
+    "constants-browserify-1.0.0" = {
+      name = "constants-browserify";
+      packageName = "constants-browserify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    };
+    "content-disposition-0.5.3" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+      };
+    };
+    "convert-source-map-1.6.0" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
+      };
+    };
+    "cookie-0.4.0" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
+        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "cookies-0.7.3" = {
+      name = "cookies";
+      packageName = "cookies";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz";
+        sha512 = "+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==";
+      };
+    };
+    "copy-concurrently-1.0.5" = {
+      name = "copy-concurrently";
+      packageName = "copy-concurrently";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
+      };
+    };
+    "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-webpack-plugin-4.6.0" = {
+      name = "copy-webpack-plugin";
+      packageName = "copy-webpack-plugin";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz";
+        sha512 = "Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==";
+      };
+    };
+    "core-js-2.6.9" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
+        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+      };
+    };
+    "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-ecdh-4.0.3" = {
+      name = "create-ecdh";
+      packageName = "create-ecdh";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha512 = "GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==";
+      };
+    };
+    "create-hash-1.2.0" = {
+      name = "create-hash";
+      packageName = "create-hash";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
+      };
+    };
+    "create-hmac-1.1.7" = {
+      name = "create-hmac";
+      packageName = "create-hmac";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
+      };
+    };
+    "cron-1.7.2" = {
+      name = "cron";
+      packageName = "cron";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.2.tgz";
+        sha512 = "+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "crypto-browserify-3.12.0" = {
+      name = "crypto-browserify";
+      packageName = "crypto-browserify";
+      version = "3.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
+      };
+    };
+    "cssom-0.3.8" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
+      };
+    };
+    "cssstyle-1.4.0" = {
+      name = "cssstyle";
+      packageName = "cssstyle";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==";
+      };
+    };
+    "cyclist-1.0.1" = {
+      name = "cyclist";
+      packageName = "cyclist";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";
+        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+      };
+    };
+    "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";
+      };
+    };
+    "data-urls-1.1.0" = {
+      name = "data-urls";
+      packageName = "data-urls";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz";
+        sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
+      };
+    };
+    "date-now-0.1.4" = {
+      name = "date-now";
+      packageName = "date-now";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    };
+    "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.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
+      };
+    };
+    "debug-3.2.6" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+      };
+    };
+    "debug-4.1.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
+        sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-response-3.3.0" = {
+      name = "decompress-response";
+      packageName = "decompress-response";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
+        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+      };
+    };
+    "deep-equal-1.0.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
+        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+      };
+    };
+    "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-gateway-4.2.0" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
+      };
+    };
+    "defaults-1.0.3" = {
+      name = "defaults";
+      packageName = "defaults";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    };
+    "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==";
+      };
+    };
+    "del-4.1.1" = {
+      name = "del";
+      packageName = "del";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-4.1.1.tgz";
+        sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "des.js-1.0.0" = {
+      name = "des.js";
+      packageName = "des.js";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "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-indent-4.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    };
+    "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";
+      };
+    };
+    "detect-node-2.0.4" = {
+      name = "detect-node";
+      packageName = "detect-node";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz";
+        sha512 = "ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==";
+      };
+    };
+    "diff-sequences-24.9.0" = {
+      name = "diff-sequences";
+      packageName = "diff-sequences";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha512 = "Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==";
+      };
+    };
+    "diffie-hellman-5.0.3" = {
+      name = "diffie-hellman";
+      packageName = "diffie-hellman";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
+      };
+    };
+    "dir-glob-2.2.2" = {
+      name = "dir-glob";
+      packageName = "dir-glob";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz";
+        sha512 = "f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==";
+      };
+    };
+    "dns-equal-1.0.0" = {
+      name = "dns-equal";
+      packageName = "dns-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    };
+    "dns-packet-1.3.1" = {
+      name = "dns-packet";
+      packageName = "dns-packet";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha512 = "0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==";
+      };
+    };
+    "dns-txt-2.0.2" = {
+      name = "dns-txt";
+      packageName = "dns-txt";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    };
+    "doctypes-1.1.0" = {
+      name = "doctypes";
+      packageName = "doctypes";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz";
+        sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9";
+      };
+    };
+    "domain-browser-1.2.0" = {
+      name = "domain-browser";
+      packageName = "domain-browser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
+      };
+    };
+    "domexception-1.0.1" = {
+      name = "domexception";
+      packageName = "domexception";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz";
+        sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==";
+      };
+    };
+    "duplexer-0.1.1" = {
+      name = "duplexer";
+      packageName = "duplexer";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
+    "editorconfig-0.15.3" = {
+      name = "editorconfig";
+      packageName = "editorconfig";
+      version = "0.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz";
+        sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "ejs-2.7.1" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz";
+        sha512 = "kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==";
+      };
+    };
+    "electron-to-chromium-1.3.275" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.3.275";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.275.tgz";
+        sha512 = "/YWtW/VapMnuYA1lNOaa1F4GhR1LBf+CUTp60lzDPEEh0XOzyOAyULyYZVF9vziZ3qSbTqCwmKwsyRXp66STbw==";
+      };
+    };
+    "elliptic-6.5.1" = {
+      name = "elliptic";
+      packageName = "elliptic";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz";
+        sha512 = "xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "emojis-list-2.1.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
+    "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==";
+      };
+    };
+    "enhanced-resolve-4.1.0" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz";
+        sha512 = "F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==";
+      };
+    };
+    "errno-0.1.7" = {
+      name = "errno";
+      packageName = "errno";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
+        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "error-inject-1.0.0" = {
+      name = "error-inject";
+      packageName = "error-inject";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz";
+        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
+      };
+    };
+    "es-abstract-1.15.0" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz";
+        sha512 = "bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==";
+      };
+    };
+    "es-to-primitive-1.2.0" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+      };
+    };
+    "es5-ext-0.10.51" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.51";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha512 = "oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==";
+      };
+    };
+    "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-promise-4.2.8" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha512 = "HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==";
+      };
+    };
+    "es6-symbol-3.1.2" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha512 = "/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "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";
+      };
+    };
+    "escodegen-1.12.0" = {
+      name = "escodegen";
+      packageName = "escodegen";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz";
+        sha512 = "TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==";
+      };
+    };
+    "eslint-scope-4.0.3" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==";
+      };
+    };
+    "esprima-3.1.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    };
+    "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==";
+      };
+    };
+    "esrecurse-4.2.1" = {
+      name = "esrecurse";
+      packageName = "esrecurse";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "eventemitter3-4.0.0" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha512 = "qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==";
+      };
+    };
+    "events-3.0.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-3.0.0.tgz";
+        sha512 = "Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==";
+      };
+    };
+    "eventsource-1.0.7" = {
+      name = "eventsource";
+      packageName = "eventsource";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz";
+        sha512 = "4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==";
+      };
+    };
+    "evp_bytestokey-1.0.3" = {
+      name = "evp_bytestokey";
+      packageName = "evp_bytestokey";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
+      };
+    };
+    "exec-sh-0.3.2" = {
+      name = "exec-sh";
+      packageName = "exec-sh";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==";
+      };
+    };
+    "execa-1.0.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
+      };
+    };
+    "exit-0.1.2" = {
+      name = "exit";
+      packageName = "exit";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    };
+    "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-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";
+      };
+    };
+    "expect-24.9.0" = {
+      name = "expect";
+      packageName = "expect";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz";
+        sha512 = "wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==";
+      };
+    };
+    "express-4.17.1" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
+        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "fast-deep-equal-2.0.1" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "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";
+      };
+    };
+    "faye-websocket-0.10.0" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    };
+    "faye-websocket-0.11.3" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha512 = "D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==";
+      };
+    };
+    "fb-watchman-2.0.0" = {
+      name = "fb-watchman";
+      packageName = "fb-watchman";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    };
+    "figgy-pudding-3.5.1" = {
+      name = "figgy-pudding";
+      packageName = "figgy-pudding";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha512 = "vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==";
+      };
+    };
+    "filesize-3.6.1" = {
+      name = "filesize";
+      packageName = "filesize";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz";
+        sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
+      };
+    };
+    "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";
+      };
+    };
+    "finalhandler-1.1.2" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+      };
+    };
+    "find-cache-dir-1.0.0" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz";
+        sha1 = "9288e3e9e3cc3748717d39eade17cf71fc30ee6f";
+      };
+    };
+    "find-cache-dir-2.1.0" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
+      };
+    };
+    "find-replace-3.0.0" = {
+      name = "find-replace";
+      packageName = "find-replace";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz";
+        sha512 = "6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
+    "find-up-3.0.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "follow-redirects-1.5.10" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
+        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "form-data-2.5.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz";
+        sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
+      };
+    };
+    "formidable-1.2.1" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+        sha512 = "Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==";
+      };
+    };
+    "forwarded-0.1.2" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    };
+    "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";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "from2-2.3.0" = {
+      name = "from2";
+      packageName = "from2";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    };
+    "fs-write-stream-atomic-1.0.10" = {
+      name = "fs-write-stream-atomic";
+      packageName = "fs-write-stream-atomic";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    };
+    "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.9" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
+        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-paths-0.0.7" = {
+      name = "get-paths";
+      packageName = "get-paths";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-paths/-/get-paths-0.0.7.tgz";
+        sha512 = "0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==";
+      };
+    };
+    "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-stream-4.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
+      };
+    };
+    "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-7.1.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+      };
+    };
+    "glob-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";
+      };
+    };
+    "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-modules-2.0.0" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
+        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
+      };
+    };
+    "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";
+      };
+    };
+    "global-prefix-3.0.0" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
+      };
+    };
+    "globals-11.12.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "11.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
+      };
+    };
+    "globals-9.18.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "9.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
+      };
+    };
+    "globby-6.1.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    };
+    "globby-7.1.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz";
+        sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
+      };
+    };
+    "got-8.3.2" = {
+      name = "got";
+      packageName = "got";
+      version = "8.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
+        sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==";
+      };
+    };
+    "graceful-fs-4.2.2" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+      };
+    };
+    "growly-1.3.0" = {
+      name = "growly";
+      packageName = "growly";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    };
+    "gzip-size-5.1.1" = {
+      name = "gzip-size";
+      packageName = "gzip-size";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha512 = "FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==";
+      };
+    };
+    "handle-thing-2.0.0" = {
+      name = "handle-thing";
+      packageName = "handle-thing";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha512 = "d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==";
+      };
+    };
+    "handlebars-4.4.2" = {
+      name = "handlebars";
+      packageName = "handlebars";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz";
+        sha512 = "cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==";
+      };
+    };
+    "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.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==";
+      };
+    };
+    "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-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.0" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    };
+    "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";
+      };
+    };
+    "hash-base-3.0.4" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    };
+    "hash.js-1.1.7" = {
+      name = "hash.js";
+      packageName = "hash.js";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
+      };
+    };
+    "hmac-drbg-1.0.1" = {
+      name = "hmac-drbg";
+      packageName = "hmac-drbg";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    };
+    "home-or-tmp-2.0.0" = {
+      name = "home-or-tmp";
+      packageName = "home-or-tmp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    };
+    "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==";
+      };
+    };
+    "hoopy-0.1.4" = {
+      name = "hoopy";
+      packageName = "hoopy";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz";
+        sha512 = "HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==";
+      };
+    };
+    "hosted-git-info-2.8.4" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
+        sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
+      };
+    };
+    "hpack.js-2.1.6" = {
+      name = "hpack.js";
+      packageName = "hpack.js";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    };
+    "html-encoding-sniffer-1.0.2" = {
+      name = "html-encoding-sniffer";
+      packageName = "html-encoding-sniffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
+      };
+    };
+    "html-entities-1.2.1" = {
+      name = "html-entities";
+      packageName = "html-entities";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    };
+    "http-assert-1.4.1" = {
+      name = "http-assert";
+      packageName = "http-assert";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz";
+        sha512 = "rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==";
+      };
+    };
+    "http-cache-semantics-3.8.1" = {
+      name = "http-cache-semantics";
+      packageName = "http-cache-semantics";
+      version = "3.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
+        sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==";
+      };
+    };
+    "http-deceiver-1.2.7" = {
+      name = "http-deceiver";
+      packageName = "http-deceiver";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
+    "http-errors-1.7.2" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
+        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
+      };
+    };
+    "http-errors-1.7.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz";
+        sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
+      };
+    };
+    "http-parser-js-0.4.10" = {
+      name = "http-parser-js";
+      packageName = "http-parser-js";
+      version = "0.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    };
+    "http-proxy-1.18.0" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha512 = "84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==";
+      };
+    };
+    "http-proxy-middleware-0.19.1" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "0.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "https-browserify-1.0.0" = {
+      name = "https-browserify";
+      packageName = "https-browserify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    };
+    "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.1.13" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
+        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
+      };
+    };
+    "iferr-0.1.5" = {
+      name = "iferr";
+      packageName = "iferr";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    };
+    "ignore-3.3.10" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "3.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz";
+        sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
+      };
+    };
+    "import-local-2.0.0" = {
+      name = "import-local";
+      packageName = "import-local";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz";
+        sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "indent-string-3.2.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz";
+        sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
+      };
+    };
+    "infer-owner-1.0.4" = {
+      name = "infer-owner";
+      packageName = "infer-owner";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
+      };
+    };
+    "inflation-2.0.0" = {
+      name = "inflation";
+      packageName = "inflation";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz";
+        sha1 = "8b417e47c28f925a45133d914ca1fd389107f30f";
+      };
+    };
+    "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.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "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.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+      };
+    };
+    "internal-ip-4.3.0" = {
+      name = "internal-ip";
+      packageName = "internal-ip";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
+      };
+    };
+    "interpret-1.2.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz";
+        sha512 = "mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==";
+      };
+    };
+    "into-stream-3.1.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+      };
+    };
+    "invariant-2.2.4" = {
+      name = "invariant";
+      packageName = "invariant";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
+      };
+    };
+    "invert-kv-2.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
+      };
+    };
+    "ip-1.1.5" = {
+      name = "ip";
+      packageName = "ip";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    };
+    "ip-regex-2.1.0" = {
+      name = "ip-regex";
+      packageName = "ip-regex";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    };
+    "ipaddr.js-1.9.0" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
+      };
+    };
+    "is-absolute-url-3.0.3" = {
+      name = "is-absolute-url";
+      packageName = "is-absolute-url";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
+        sha512 = "opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==";
+      };
+    };
+    "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-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-buffer-2.0.4" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz";
+        sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
+      };
+    };
+    "is-callable-1.1.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+      };
+    };
+    "is-ci-2.0.0" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
+      };
+    };
+    "is-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-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "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-expression-3.0.0" = {
+      name = "is-expression";
+      packageName = "is-expression";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz";
+        sha1 = "39acaa6be7fd1f3471dc42c7416e61c24317ac9f";
+      };
+    };
+    "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-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-finite-1.0.2" = {
+      name = "is-finite";
+      packageName = "is-finite";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    };
+    "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-generator-fn-2.1.0" = {
+      name = "is-generator-fn";
+      packageName = "is-generator-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
+      };
+    };
+    "is-generator-function-1.0.7" = {
+      name = "is-generator-function";
+      packageName = "is-generator-function";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz";
+        sha512 = "YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==";
+      };
+    };
+    "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-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-object-1.0.1" = {
+      name = "is-object";
+      packageName = "is-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
+        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
+      };
+    };
+    "is-path-cwd-2.2.0" = {
+      name = "is-path-cwd";
+      packageName = "is-path-cwd";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
+      };
+    };
+    "is-path-in-cwd-2.1.0" = {
+      name = "is-path-in-cwd";
+      packageName = "is-path-in-cwd";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
+      };
+    };
+    "is-path-inside-2.1.0" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
+      };
+    };
+    "is-plain-obj-1.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    };
+    "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-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "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-symbol-1.0.2" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+      };
+    };
+    "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-whitespace-0.3.0" = {
+      name = "is-whitespace";
+      packageName = "is-whitespace";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz";
+        sha1 = "1639ecb1be036aec69a54cbb401cfbed7114ab7f";
+      };
+    };
+    "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-wsl-1.1.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    };
+    "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";
+      };
+    };
+    "isomorphic-ws-4.0.1" = {
+      name = "isomorphic-ws";
+      packageName = "isomorphic-ws";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz";
+        sha512 = "BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==";
+      };
+    };
+    "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";
+      };
+    };
+    "istanbul-lib-coverage-2.0.5" = {
+      name = "istanbul-lib-coverage";
+      packageName = "istanbul-lib-coverage";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==";
+      };
+    };
+    "istanbul-lib-instrument-3.3.0" = {
+      name = "istanbul-lib-instrument";
+      packageName = "istanbul-lib-instrument";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==";
+      };
+    };
+    "istanbul-lib-report-2.0.8" = {
+      name = "istanbul-lib-report";
+      packageName = "istanbul-lib-report";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==";
+      };
+    };
+    "istanbul-lib-source-maps-3.0.6" = {
+      name = "istanbul-lib-source-maps";
+      packageName = "istanbul-lib-source-maps";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==";
+      };
+    };
+    "istanbul-reports-2.2.6" = {
+      name = "istanbul-reports";
+      packageName = "istanbul-reports";
+      version = "2.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha512 = "SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "jest-24.9.0" = {
+      name = "jest";
+      packageName = "jest";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz";
+        sha512 = "YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==";
+      };
+    };
+    "jest-changed-files-24.9.0" = {
+      name = "jest-changed-files";
+      packageName = "jest-changed-files";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha512 = "6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==";
+      };
+    };
+    "jest-cli-24.9.0" = {
+      name = "jest-cli";
+      packageName = "jest-cli";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha512 = "+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==";
+      };
+    };
+    "jest-config-24.9.0" = {
+      name = "jest-config";
+      packageName = "jest-config";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz";
+        sha512 = "RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==";
+      };
+    };
+    "jest-diff-24.9.0" = {
+      name = "jest-diff";
+      packageName = "jest-diff";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha512 = "qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==";
+      };
+    };
+    "jest-docblock-24.9.0" = {
+      name = "jest-docblock";
+      packageName = "jest-docblock";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha512 = "F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==";
+      };
+    };
+    "jest-each-24.9.0" = {
+      name = "jest-each";
+      packageName = "jest-each";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz";
+        sha512 = "ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==";
+      };
+    };
+    "jest-environment-jsdom-24.9.0" = {
+      name = "jest-environment-jsdom";
+      packageName = "jest-environment-jsdom";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha512 = "Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==";
+      };
+    };
+    "jest-environment-node-24.9.0" = {
+      name = "jest-environment-node";
+      packageName = "jest-environment-node";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha512 = "6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==";
+      };
+    };
+    "jest-get-type-24.9.0" = {
+      name = "jest-get-type";
+      packageName = "jest-get-type";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha512 = "lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==";
+      };
+    };
+    "jest-haste-map-24.9.0" = {
+      name = "jest-haste-map";
+      packageName = "jest-haste-map";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha512 = "kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==";
+      };
+    };
+    "jest-jasmine2-24.9.0" = {
+      name = "jest-jasmine2";
+      packageName = "jest-jasmine2";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha512 = "Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==";
+      };
+    };
+    "jest-leak-detector-24.9.0" = {
+      name = "jest-leak-detector";
+      packageName = "jest-leak-detector";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha512 = "tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==";
+      };
+    };
+    "jest-matcher-utils-24.9.0" = {
+      name = "jest-matcher-utils";
+      packageName = "jest-matcher-utils";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha512 = "OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==";
+      };
+    };
+    "jest-message-util-24.9.0" = {
+      name = "jest-message-util";
+      packageName = "jest-message-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha512 = "oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==";
+      };
+    };
+    "jest-mock-24.9.0" = {
+      name = "jest-mock";
+      packageName = "jest-mock";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha512 = "3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==";
+      };
+    };
+    "jest-pnp-resolver-1.2.1" = {
+      name = "jest-pnp-resolver";
+      packageName = "jest-pnp-resolver";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha512 = "pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==";
+      };
+    };
+    "jest-regex-util-24.9.0" = {
+      name = "jest-regex-util";
+      packageName = "jest-regex-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha512 = "05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==";
+      };
+    };
+    "jest-resolve-24.9.0" = {
+      name = "jest-resolve";
+      packageName = "jest-resolve";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha512 = "TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==";
+      };
+    };
+    "jest-resolve-dependencies-24.9.0" = {
+      name = "jest-resolve-dependencies";
+      packageName = "jest-resolve-dependencies";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha512 = "Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==";
+      };
+    };
+    "jest-runner-24.9.0" = {
+      name = "jest-runner";
+      packageName = "jest-runner";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha512 = "KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==";
+      };
+    };
+    "jest-runtime-24.9.0" = {
+      name = "jest-runtime";
+      packageName = "jest-runtime";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha512 = "8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==";
+      };
+    };
+    "jest-serializer-24.9.0" = {
+      name = "jest-serializer";
+      packageName = "jest-serializer";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha512 = "DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==";
+      };
+    };
+    "jest-snapshot-24.9.0" = {
+      name = "jest-snapshot";
+      packageName = "jest-snapshot";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha512 = "uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==";
+      };
+    };
+    "jest-util-24.9.0" = {
+      name = "jest-util";
+      packageName = "jest-util";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz";
+        sha512 = "x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==";
+      };
+    };
+    "jest-validate-24.9.0" = {
+      name = "jest-validate";
+      packageName = "jest-validate";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha512 = "HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==";
+      };
+    };
+    "jest-watcher-24.9.0" = {
+      name = "jest-watcher";
+      packageName = "jest-watcher";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha512 = "+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==";
+      };
+    };
+    "jest-worker-24.9.0" = {
+      name = "jest-worker";
+      packageName = "jest-worker";
+      version = "24.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha512 = "51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==";
+      };
+    };
+    "js-beautify-1.10.2" = {
+      name = "js-beautify";
+      packageName = "js-beautify";
+      version = "1.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz";
+        sha512 = "ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==";
+      };
+    };
+    "js-stringify-1.0.2" = {
+      name = "js-stringify";
+      packageName = "js-stringify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz";
+        sha1 = "1736fddfd9724f28a3682adc6230ae7e4e9679db";
+      };
+    };
+    "js-tokens-3.0.2" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    };
+    "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.13.1" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
+      };
+    };
+    "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";
+      };
+    };
+    "jsdom-11.12.0" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "11.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz";
+        sha512 = "y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==";
+      };
+    };
+    "jsesc-0.5.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    };
+    "jsesc-1.3.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    };
+    "jsesc-2.5.2" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "2.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
+      };
+    };
+    "json-buffer-3.0.0" = {
+      name = "json-buffer";
+      packageName = "json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+      };
+    };
+    "json-parse-better-errors-1.0.2" = {
+      name = "json-parse-better-errors";
+      packageName = "json-parse-better-errors";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      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-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";
+      };
+    };
+    "json3-3.3.3" = {
+      name = "json3";
+      packageName = "json3";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz";
+        sha512 = "c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==";
+      };
+    };
+    "json5-0.5.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    };
+    "json5-1.0.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz";
+        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
+      };
+    };
+    "json5-2.1.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz";
+        sha512 = "l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==";
+      };
+    };
+    "jsonpath-plus-0.19.0" = {
+      name = "jsonpath-plus";
+      packageName = "jsonpath-plus";
+      version = "0.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz";
+        sha512 = "GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==";
+      };
+    };
+    "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";
+      };
+    };
+    "jstransformer-1.0.0" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz";
+        sha1 = "ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3";
+      };
+    };
+    "keygrip-1.0.3" = {
+      name = "keygrip";
+      packageName = "keygrip";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz";
+        sha512 = "/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==";
+      };
+    };
+    "keyv-3.0.0" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
+        sha512 = "eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==";
+      };
+    };
+    "killable-1.0.1" = {
+      name = "killable";
+      packageName = "killable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz";
+        sha512 = "LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==";
+      };
+    };
+    "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.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+        sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
+      };
+    };
+    "kleur-3.0.3" = {
+      name = "kleur";
+      packageName = "kleur";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz";
+        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
+      };
+    };
+    "koa-2.8.2" = {
+      name = "koa";
+      packageName = "koa";
+      version = "2.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa/-/koa-2.8.2.tgz";
+        sha512 = "q1uZOgpl3wjr5FS/tjbABJ8lA5+NeKa9eq7QyBP5xxgOBwJN4iBrMEgO3LroE51lrIw3BsO0WZZ0Yi6giSiMDw==";
+      };
+    };
+    "koa-body-4.1.1" = {
+      name = "koa-body";
+      packageName = "koa-body";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz";
+        sha512 = "rLb/KVD8qplEcK8Qsu6F4Xw+uHkmx3MWogDVmMX07DpjXizhw3pOEp1ja1MqqAcl0ei75AsrbGVDlySmsUrreA==";
+      };
+    };
+    "koa-compose-3.2.1" = {
+      name = "koa-compose";
+      packageName = "koa-compose";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz";
+        sha1 = "a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7";
+      };
+    };
+    "koa-compose-4.1.0" = {
+      name = "koa-compose";
+      packageName = "koa-compose";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz";
+        sha512 = "8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==";
+      };
+    };
+    "koa-convert-1.2.0" = {
+      name = "koa-convert";
+      packageName = "koa-convert";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz";
+        sha1 = "da40875df49de0539098d1700b50820cebcd21d0";
+      };
+    };
+    "koa-is-json-1.0.0" = {
+      name = "koa-is-json";
+      packageName = "koa-is-json";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
+        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
+      };
+    };
+    "koa-router-7.4.0" = {
+      name = "koa-router";
+      packageName = "koa-router";
+      version = "7.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-router/-/koa-router-7.4.0.tgz";
+        sha512 = "IWhaDXeAnfDBEpWS6hkGdZ1ablgr6Q6pGdXCyK38RbzuH4LkUOpPqPw+3f8l8aTDrQmBQ7xJc0bs2yV4dzcO+g==";
+      };
+    };
+    "koa-send-5.0.0" = {
+      name = "koa-send";
+      packageName = "koa-send";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-send/-/koa-send-5.0.0.tgz";
+        sha512 = "90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ==";
+      };
+    };
+    "koa-static-5.0.0" = {
+      name = "koa-static";
+      packageName = "koa-static";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz";
+        sha512 = "UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==";
+      };
+    };
+    "koa-views-6.2.1" = {
+      name = "koa-views";
+      packageName = "koa-views";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-views/-/koa-views-6.2.1.tgz";
+        sha512 = "wU3tw48KuskaJg0x1JZmC73UWGgVmh6B54HuHDzTrkavig+dBI0NbFeGiWsaOCZREQkaTfIVXSPSByDant71ew==";
+      };
+    };
+    "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";
+      };
+    };
+    "lcid-2.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz";
+        sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
+      };
+    };
+    "left-pad-1.3.0" = {
+      name = "left-pad";
+      packageName = "left-pad";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz";
+        sha512 = "XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==";
+      };
+    };
+    "leven-3.1.0" = {
+      name = "leven";
+      packageName = "leven";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz";
+        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
+      };
+    };
+    "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";
+      };
+    };
+    "load-json-file-4.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    };
+    "loader-runner-2.4.0" = {
+      name = "loader-runner";
+      packageName = "loader-runner";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
+      };
+    };
+    "loader-utils-1.2.3" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha512 = "fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "locate-path-3.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
+      };
+    };
+    "lodash-4.17.15" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+      };
+    };
+    "lodash.camelcase-4.3.0" = {
+      name = "lodash.camelcase";
+      packageName = "lodash.camelcase";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    };
+    "lodash.clonedeep-4.5.0" = {
+      name = "lodash.clonedeep";
+      packageName = "lodash.clonedeep";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    };
+    "lodash.memoize-4.1.2" = {
+      name = "lodash.memoize";
+      packageName = "lodash.memoize";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    };
+    "lodash.sortby-4.7.0" = {
+      name = "lodash.sortby";
+      packageName = "lodash.sortby";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    };
+    "log-symbols-2.2.0" = {
+      name = "log-symbols";
+      packageName = "log-symbols";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
+        sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
+      };
+    };
+    "loglevel-1.6.4" = {
+      name = "loglevel";
+      packageName = "loglevel";
+      version = "1.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz";
+        sha512 = "p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==";
+      };
+    };
+    "loglevelnext-1.0.5" = {
+      name = "loglevelnext";
+      packageName = "loglevelnext";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz";
+        sha512 = "V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==";
+      };
+    };
+    "long-4.0.0" = {
+      name = "long";
+      packageName = "long";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz";
+        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
+      };
+    };
+    "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";
+      };
+    };
+    "loose-envify-1.4.0" = {
+      name = "loose-envify";
+      packageName = "loose-envify";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
+      };
+    };
+    "lowercase-keys-1.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    };
+    "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-cache-4.1.5" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
+        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
+      };
+    };
+    "lru-cache-5.1.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
+      };
+    };
+    "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-dir-2.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
+      };
+    };
+    "make-error-1.3.5" = {
+      name = "make-error";
+      packageName = "make-error";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz";
+        sha512 = "c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==";
+      };
+    };
+    "makeerror-1.0.11" = {
+      name = "makeerror";
+      packageName = "makeerror";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    };
+    "mamacro-0.0.3" = {
+      name = "mamacro";
+      packageName = "mamacro";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz";
+        sha512 = "qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==";
+      };
+    };
+    "map-age-cleaner-0.1.3" = {
+      name = "map-age-cleaner";
+      packageName = "map-age-cleaner";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
+      };
+    };
+    "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";
+      };
+    };
+    "md5.js-1.3.5" = {
+      name = "md5.js";
+      packageName = "md5.js";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "mem-4.3.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz";
+        sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
+      };
+    };
+    "memory-fs-0.4.1" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    };
+    "merge-descriptors-1.0.1" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    };
+    "merge-stream-2.0.0" = {
+      name = "merge-stream";
+      packageName = "merge-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "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==";
+      };
+    };
+    "miller-rabin-4.0.1" = {
+      name = "miller-rabin";
+      packageName = "miller-rabin";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
+      };
+    };
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+      };
+    };
+    "mime-2.4.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "2.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz";
+        sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==";
+      };
+    };
+    "mime-db-1.40.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.40.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+      };
+    };
+    "mime-types-2.1.24" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+      };
+    };
+    "mimic-fn-1.2.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "mimic-response-1.0.1" = {
+      name = "mimic-response";
+      packageName = "mimic-response";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
+      };
+    };
+    "minimalistic-assert-1.0.1" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+      };
+    };
+    "minimalistic-crypto-utils-1.0.1" = {
+      name = "minimalistic-crypto-utils";
+      packageName = "minimalistic-crypto-utils";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    };
+    "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-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "mississippi-2.0.0" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz";
+        sha512 = "zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==";
+      };
+    };
+    "mississippi-3.0.0" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz";
+        sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
+      };
+    };
+    "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.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "moment-2.24.0" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.24.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
+        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
+      };
+    };
+    "moment-timezone-0.5.26" = {
+      name = "moment-timezone";
+      packageName = "moment-timezone";
+      version = "0.5.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz";
+        sha512 = "sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==";
+      };
+    };
+    "move-concurrently-1.0.1" = {
+      name = "move-concurrently";
+      packageName = "move-concurrently";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    };
+    "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.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "multicast-dns-6.2.3" = {
+      name = "multicast-dns";
+      packageName = "multicast-dns";
+      version = "6.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha512 = "ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==";
+      };
+    };
+    "multicast-dns-service-types-1.1.0" = {
+      name = "multicast-dns-service-types";
+      packageName = "multicast-dns-service-types";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    };
+    "mz-2.7.0" = {
+      name = "mz";
+      packageName = "mz";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz";
+        sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
+      };
+    };
+    "nan-2.14.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
+        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+      };
+    };
+    "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";
+      };
+    };
+    "negotiator-0.6.2" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+      };
+    };
+    "neo-async-2.6.1" = {
+      name = "neo-async";
+      packageName = "neo-async";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz";
+        sha512 = "iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "node-forge-0.8.5" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz";
+        sha512 = "vFMQIWt+J/7FLNyKouZ9TazT74PRV3wgv9UT4cRjC8BffxFbKXkgIWR42URCPSnHm/QDz6BOlb2Q0U4+VQT67Q==";
+      };
+    };
+    "node-forge-0.9.0" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz";
+        sha512 = "7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==";
+      };
+    };
+    "node-int64-0.4.0" = {
+      name = "node-int64";
+      packageName = "node-int64";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    };
+    "node-jose-1.1.3" = {
+      name = "node-jose";
+      packageName = "node-jose";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-jose/-/node-jose-1.1.3.tgz";
+        sha512 = "kupfi4uGWhRjnOmtie2T64cLge5a1TZyalEa8uWWWBgtKBcu41A4IGKpI9twZAxRnmviamEUQRK7LSyfFb2w8A==";
+      };
+    };
+    "node-libs-browser-2.2.1" = {
+      name = "node-libs-browser";
+      packageName = "node-libs-browser";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
+      };
+    };
+    "node-modules-regexp-1.0.0" = {
+      name = "node-modules-regexp";
+      packageName = "node-modules-regexp";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    };
+    "node-notifier-5.4.3" = {
+      name = "node-notifier";
+      packageName = "node-notifier";
+      version = "5.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha512 = "M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==";
+      };
+    };
+    "nopt-4.0.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    };
+    "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==";
+      };
+    };
+    "normalize-url-2.0.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
+        sha512 = "D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==";
+      };
+    };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
+    "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";
+      };
+    };
+    "nwsapi-2.1.4" = {
+      name = "nwsapi";
+      packageName = "nwsapi";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
+      };
+    };
+    "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-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-hash-1.3.1" = {
+      name = "object-hash";
+      packageName = "object-hash";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz";
+        sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
+      };
+    };
+    "object-inspect-1.6.0" = {
+      name = "object-inspect";
+      packageName = "object-inspect";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+      };
+    };
+    "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.0" = {
+      name = "object.assign";
+      packageName = "object.assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
+        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
+      };
+    };
+    "object.getownpropertydescriptors-2.0.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    };
+    "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";
+      };
+    };
+    "obuf-1.1.2" = {
+      name = "obuf";
+      packageName = "obuf";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz";
+        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
+      };
+    };
+    "oidc-token-hash-3.0.2" = {
+      name = "oidc-token-hash";
+      packageName = "oidc-token-hash";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-3.0.2.tgz";
+        sha512 = "dTzp80/y/da+um+i+sOucNqiPpwRL7M/xPwj7pH1TFA2/bqQ+OK2sJahSXbemEoLtPkHcFLyhLhLWZa9yW5+RA==";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "on-headers-1.0.2" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+      };
+    };
+    "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-2.0.1" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    };
+    "only-0.0.2" = {
+      name = "only";
+      packageName = "only";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/only/-/only-0.0.2.tgz";
+        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
+      };
+    };
+    "opener-1.5.1" = {
+      name = "opener";
+      packageName = "opener";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz";
+        sha512 = "goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==";
+      };
+    };
+    "openid-client-2.5.0" = {
+      name = "openid-client";
+      packageName = "openid-client";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openid-client/-/openid-client-2.5.0.tgz";
+        sha512 = "t3hFD7xEoW1U25RyBcRFaL19fGGs6hNVTysq9pgmiltH0IVUPzH/bQV9w24pM5Q7MunnGv2/5XjIru6BQcWdxg==";
+      };
+    };
+    "opn-5.5.0" = {
+      name = "opn";
+      packageName = "opn";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz";
+        sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "optionator-0.8.2" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    };
+    "ora-3.4.0" = {
+      name = "ora";
+      packageName = "ora";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz";
+        sha512 = "eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==";
+      };
+    };
+    "original-1.0.2" = {
+      name = "original";
+      packageName = "original";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/original/-/original-1.0.2.tgz";
+        sha512 = "hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==";
+      };
+    };
+    "os-browserify-0.3.0" = {
+      name = "os-browserify";
+      packageName = "os-browserify";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "os-locale-3.1.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz";
+        sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
+      };
+    };
+    "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";
+      };
+    };
+    "osenv-0.1.5" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+      };
+    };
+    "p-any-1.1.0" = {
+      name = "p-any";
+      packageName = "p-any";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
+        sha512 = "Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==";
+      };
+    };
+    "p-cancelable-0.4.1" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz";
+        sha512 = "HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==";
+      };
+    };
+    "p-defer-1.0.0" = {
+      name = "p-defer";
+      packageName = "p-defer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    };
+    "p-each-series-1.0.0" = {
+      name = "p-each-series";
+      packageName = "p-each-series";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-is-promise-1.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
+        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
+      };
+    };
+    "p-is-promise-2.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
+      };
+    };
+    "p-limit-1.3.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+      };
+    };
+    "p-limit-2.2.1" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
+      };
+    };
+    "p-locate-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "p-locate-3.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+      };
+    };
+    "p-map-2.1.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
+      };
+    };
+    "p-reduce-1.0.0" = {
+      name = "p-reduce";
+      packageName = "p-reduce";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    };
+    "p-retry-3.0.1" = {
+      name = "p-retry";
+      packageName = "p-retry";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz";
+        sha512 = "XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==";
+      };
+    };
+    "p-some-2.0.1" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz";
+        sha1 = "65d87c8b154edbcf5221d167778b6d2e150f6f06";
+      };
+    };
+    "p-timeout-2.0.1" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
+        sha512 = "88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "p-try-2.2.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
+      };
+    };
+    "pako-1.0.10" = {
+      name = "pako";
+      packageName = "pako";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz";
+        sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
+      };
+    };
+    "parallel-transform-1.2.0" = {
+      name = "parallel-transform";
+      packageName = "parallel-transform";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz";
+        sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
+      };
+    };
+    "parse-asn1-5.1.5" = {
+      name = "parse-asn1";
+      packageName = "parse-asn1";
+      version = "5.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz";
+        sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==";
+      };
+    };
+    "parse-json-4.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    };
+    "parse-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";
+      };
+    };
+    "parse5-4.0.0" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz";
+        sha512 = "VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==";
+      };
+    };
+    "parseurl-1.3.3" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+      };
+    };
+    "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-browserify-0.0.1" = {
+      name = "path-browserify";
+      packageName = "path-browserify";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
+      };
+    };
+    "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-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "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-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "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.6" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+      };
+    };
+    "path-to-regexp-0.1.7" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    };
+    "path-to-regexp-1.7.0" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    };
+    "path-type-3.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
+      };
+    };
+    "pbkdf2-3.0.17" = {
+      name = "pbkdf2";
+      packageName = "pbkdf2";
+      version = "3.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha512 = "U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "pify-4.0.1" = {
+      name = "pify";
+      packageName = "pify";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
+      };
+    };
+    "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";
+      };
+    };
+    "pirates-4.0.1" = {
+      name = "pirates";
+      packageName = "pirates";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz";
+        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
+      };
+    };
+    "pkg-dir-2.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    };
+    "pkg-dir-3.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
+      };
+    };
+    "pn-1.1.0" = {
+      name = "pn";
+      packageName = "pn";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz";
+        sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
+      };
+    };
+    "portfinder-1.0.24" = {
+      name = "portfinder";
+      packageName = "portfinder";
+      version = "1.0.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz";
+        sha512 = "ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==";
+      };
+    };
+    "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-2.0.0" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
+        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+      };
+    };
+    "prettier-1.18.2" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "1.18.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
+        sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+      };
+    };
+    "pretty-2.0.0" = {
+      name = "pretty";
+      packageName = "pretty";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz";
+        sha1 = "adbc7960b7bbfe289a557dc5f737619a220d06a5";
+      };
+    };
+    "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==";
+      };
+    };
+    "private-0.1.8" = {
+      name = "private";
+      packageName = "private";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/private/-/private-0.1.8.tgz";
+        sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
+      };
+    };
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    };
+    "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==";
+      };
+    };
+    "promise-7.3.1" = {
+      name = "promise";
+      packageName = "promise";
+      version = "7.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
+        sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
+      };
+    };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
+    "prompts-2.2.1" = {
+      name = "prompts";
+      packageName = "prompts";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
+        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
+      };
+    };
+    "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";
+      };
+    };
+    "proxy-addr-2.0.5" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
+      };
+    };
+    "prr-1.0.1" = {
+      name = "prr";
+      packageName = "prr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "psl-1.4.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
+        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+      };
+    };
+    "public-encrypt-4.0.3" = {
+      name = "public-encrypt";
+      packageName = "public-encrypt";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
+      };
+    };
+    "pug-2.0.4" = {
+      name = "pug";
+      packageName = "pug";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz";
+        sha512 = "XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==";
+      };
+    };
+    "pug-attrs-2.0.4" = {
+      name = "pug-attrs";
+      packageName = "pug-attrs";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz";
+        sha512 = "TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==";
+      };
+    };
+    "pug-code-gen-2.0.2" = {
+      name = "pug-code-gen";
+      packageName = "pug-code-gen";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz";
+        sha512 = "kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==";
+      };
+    };
+    "pug-error-1.3.3" = {
+      name = "pug-error";
+      packageName = "pug-error";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz";
+        sha512 = "qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==";
+      };
+    };
+    "pug-filters-3.1.1" = {
+      name = "pug-filters";
+      packageName = "pug-filters";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz";
+        sha512 = "lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==";
+      };
+    };
+    "pug-lexer-4.1.0" = {
+      name = "pug-lexer";
+      packageName = "pug-lexer";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz";
+        sha512 = "i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==";
+      };
+    };
+    "pug-linker-3.0.6" = {
+      name = "pug-linker";
+      packageName = "pug-linker";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz";
+        sha512 = "bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==";
+      };
+    };
+    "pug-load-2.0.12" = {
+      name = "pug-load";
+      packageName = "pug-load";
+      version = "2.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz";
+        sha512 = "UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==";
+      };
+    };
+    "pug-parser-5.0.1" = {
+      name = "pug-parser";
+      packageName = "pug-parser";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz";
+        sha512 = "nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==";
+      };
+    };
+    "pug-runtime-2.0.5" = {
+      name = "pug-runtime";
+      packageName = "pug-runtime";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz";
+        sha512 = "P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==";
+      };
+    };
+    "pug-strip-comments-1.0.4" = {
+      name = "pug-strip-comments";
+      packageName = "pug-strip-comments";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz";
+        sha512 = "i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==";
+      };
+    };
+    "pug-walk-1.1.8" = {
+      name = "pug-walk";
+      packageName = "pug-walk";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz";
+        sha512 = "GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+      };
+    };
+    "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-1.3.2" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "qs-6.7.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
+        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
+      };
+    };
+    "query-string-5.1.1" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz";
+        sha512 = "gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==";
+      };
+    };
+    "querystring-0.2.0" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    };
+    "querystring-es3-0.2.1" = {
+      name = "querystring-es3";
+      packageName = "querystring-es3";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    };
+    "querystringify-2.1.1" = {
+      name = "querystringify";
+      packageName = "querystringify";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz";
+        sha512 = "w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "randomfill-1.0.4" = {
+      name = "randomfill";
+      packageName = "randomfill";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
+        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
+      };
+    };
+    "range-parser-1.2.1" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
+      };
+    };
+    "raw-body-2.4.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
+        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
+      };
+    };
+    "raw-body-2.4.1" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz";
+        sha512 = "9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==";
+      };
+    };
+    "react-is-16.10.2" = {
+      name = "react-is";
+      packageName = "react-is";
+      version = "16.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz";
+        sha512 = "INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==";
+      };
+    };
+    "read-pkg-3.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
+        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
+      };
+    };
+    "read-pkg-up-4.0.0" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
+        sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "readable-stream-3.4.0" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "realpath-native-1.1.0" = {
+      name = "realpath-native";
+      packageName = "realpath-native";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha512 = "wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==";
+      };
+    };
+    "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";
+      };
+    };
+    "regenerate-1.4.0" = {
+      name = "regenerate";
+      packageName = "regenerate";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz";
+        sha512 = "1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==";
+      };
+    };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
+      };
+    };
+    "regenerator-transform-0.10.1" = {
+      name = "regenerator-transform";
+      packageName = "regenerator-transform";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
+        sha512 = "PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "regexpu-core-2.0.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz";
+        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+      };
+    };
+    "regjsgen-0.2.0" = {
+      name = "regjsgen";
+      packageName = "regjsgen";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    };
+    "regjsparser-0.1.5" = {
+      name = "regjsparser";
+      packageName = "regjsparser";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    };
+    "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.3" = {
+      name = "repeat-element";
+      packageName = "repeat-element";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==";
+      };
+    };
+    "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";
+      };
+    };
+    "repeating-2.0.1" = {
+      name = "repeating";
+      packageName = "repeating";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    };
+    "request-2.88.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+      };
+    };
+    "request-promise-core-1.1.2" = {
+      name = "request-promise-core";
+      packageName = "request-promise-core";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+      };
+    };
+    "request-promise-native-1.0.7" = {
+      name = "request-promise-native";
+      packageName = "request-promise-native";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+      };
+    };
+    "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";
+      };
+    };
+    "require-main-filename-2.0.0" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    };
+    "resolve-1.1.7" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    };
+    "resolve-1.12.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
+        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+      };
+    };
+    "resolve-cwd-2.0.0" = {
+      name = "resolve-cwd";
+      packageName = "resolve-cwd";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    };
+    "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-3.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    };
+    "resolve-path-1.4.0" = {
+      name = "resolve-path";
+      packageName = "resolve-path";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz";
+        sha1 = "c4bda9f5efb2fce65247873ab36bb4d834fe16f7";
+      };
+    };
+    "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";
+      };
+    };
+    "responselike-1.0.2" = {
+      name = "responselike";
+      packageName = "responselike";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
+        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+      };
+    };
+    "restore-cursor-2.0.0" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    };
+    "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==";
+      };
+    };
+    "retry-0.12.0" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
+        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "ripemd160-2.0.2" = {
+      name = "ripemd160";
+      packageName = "ripemd160";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
+      };
+    };
+    "rsvp-4.8.5" = {
+      name = "rsvp";
+      packageName = "rsvp";
+      version = "4.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz";
+        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
+      };
+    };
+    "run-queue-1.0.3" = {
+      name = "run-queue";
+      packageName = "run-queue";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    };
+    "rxjs-6.5.3" = {
+      name = "rxjs";
+      packageName = "rxjs";
+      version = "6.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz";
+        sha512 = "wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==";
+      };
+    };
+    "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-buffer-5.2.0" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "sane-4.1.0" = {
+      name = "sane";
+      packageName = "sane";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz";
+        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "schema-utils-1.0.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
+      };
+    };
+    "select-hose-2.0.0" = {
+      name = "select-hose";
+      packageName = "select-hose";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    };
+    "selfsigned-1.10.7" = {
+      name = "selfsigned";
+      packageName = "selfsigned";
+      version = "1.10.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz";
+        sha512 = "8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==";
+      };
+    };
+    "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==";
+      };
+    };
+    "send-0.17.1" = {
+      name = "send";
+      packageName = "send";
+      version = "0.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
+        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+      };
+    };
+    "serialize-javascript-1.9.1" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
+        sha512 = "0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==";
+      };
+    };
+    "serve-index-1.9.1" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    };
+    "serve-static-1.14.1" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
+        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    };
+    "setprototypeof-1.1.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
+      };
+    };
+    "setprototypeof-1.1.1" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
+      };
+    };
+    "sha.js-2.4.11" = {
+      name = "sha.js";
+      packageName = "sha.js";
+      version = "2.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "shelljs-0.8.3" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz";
+        sha512 = "fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==";
+      };
+    };
+    "shellwords-0.1.1" = {
+      name = "shellwords";
+      packageName = "shellwords";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz";
+        sha512 = "vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==";
+      };
+    };
+    "sigmund-1.0.1" = {
+      name = "sigmund";
+      packageName = "sigmund";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
+    "simple-git-1.96.0" = {
+      name = "simple-git";
+      packageName = "simple-git";
+      version = "1.96.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.96.0.tgz";
+        sha512 = "+gXuzJFpGtK9zCa7rPMMNs8AF2weWMsB0Vlyym5VkFX2VGQ3VBzKhnxPN//PWrGuPFGQ/u0F1yL6rZoPhj/KPQ==";
+      };
+    };
+    "sisteransi-1.0.3" = {
+      name = "sisteransi";
+      packageName = "sisteransi";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
+      };
+    };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
+    "slash-2.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
+        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
+      };
+    };
+    "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==";
+      };
+    };
+    "sockjs-0.3.19" = {
+      name = "sockjs";
+      packageName = "sockjs";
+      version = "0.3.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz";
+        sha512 = "V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==";
+      };
+    };
+    "sockjs-client-1.4.0" = {
+      name = "sockjs-client";
+      packageName = "sockjs-client";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha512 = "5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==";
+      };
+    };
+    "sort-keys-2.0.0" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz";
+        sha1 = "658535584861ec97d730d6cf41822e1f56684128";
+      };
+    };
+    "source-list-map-2.0.1" = {
+      name = "source-list-map";
+      packageName = "source-list-map";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
+      };
+    };
+    "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.2" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+      };
+    };
+    "source-map-support-0.4.18" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
+      };
+    };
+    "source-map-support-0.5.13" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
+      };
+    };
+    "source-map-url-0.4.0" = {
+      name = "source-map-url";
+      packageName = "source-map-url";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    };
+    "spdx-correct-3.1.0" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
+      };
+    };
+    "spdx-exceptions-2.2.0" = {
+      name = "spdx-exceptions";
+      packageName = "spdx-exceptions";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
+      };
+    };
+    "spdx-expression-parse-3.0.0" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+      };
+    };
+    "spdx-license-ids-3.0.5" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==";
+      };
+    };
+    "spdy-4.0.1" = {
+      name = "spdy";
+      packageName = "spdy";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz";
+        sha512 = "HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==";
+      };
+    };
+    "spdy-transport-3.0.0" = {
+      name = "spdy-transport";
+      packageName = "spdy-transport";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "ssri-5.3.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
+        sha512 = "XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==";
+      };
+    };
+    "ssri-6.0.1" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz";
+        sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
+      };
+    };
+    "stack-utils-1.0.2" = {
+      name = "stack-utils";
+      packageName = "stack-utils";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha512 = "MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==";
+      };
+    };
+    "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";
+      };
+    };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
+    "stealthy-require-1.1.1" = {
+      name = "stealthy-require";
+      packageName = "stealthy-require";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    };
+    "stream-browserify-2.0.2" = {
+      name = "stream-browserify";
+      packageName = "stream-browserify";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==";
+      };
+    };
+    "stream-each-1.2.3" = {
+      name = "stream-each";
+      packageName = "stream-each";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz";
+        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
+      };
+    };
+    "stream-http-2.8.3" = {
+      name = "stream-http";
+      packageName = "stream-http";
+      version = "2.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz";
+        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
+      };
+    };
+    "stream-shift-1.0.0" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    };
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    };
+    "string-length-2.0.0" = {
+      name = "string-length";
+      packageName = "string-length";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    };
+    "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-2.1.1" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+      };
+    };
+    "string-width-3.1.0" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
+      };
+    };
+    "string.prototype.trimleft-2.1.0" = {
+      name = "string.prototype.trimleft";
+      packageName = "string.prototype.trimleft";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+      };
+    };
+    "string.prototype.trimright-2.1.0" = {
+      name = "string.prototype.trimright";
+      packageName = "string.prototype.trimright";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+      };
+    };
+    "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-4.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    };
+    "strip-ansi-5.2.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
+      };
+    };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
+    "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-6.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
+      };
+    };
+    "symbol-tree-3.2.4" = {
+      name = "symbol-tree";
+      packageName = "symbol-tree";
+      version = "3.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
+      };
+    };
+    "tapable-1.1.3" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz";
+        sha512 = "4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==";
+      };
+    };
+    "terser-4.3.8" = {
+      name = "terser";
+      packageName = "terser";
+      version = "4.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz";
+        sha512 = "otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==";
+      };
+    };
+    "terser-webpack-plugin-1.4.1" = {
+      name = "terser-webpack-plugin";
+      packageName = "terser-webpack-plugin";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha512 = "ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==";
+      };
+    };
+    "test-exclude-5.2.3" = {
+      name = "test-exclude";
+      packageName = "test-exclude";
+      version = "5.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==";
+      };
+    };
+    "thenify-3.3.0" = {
+      name = "thenify";
+      packageName = "thenify";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz";
+        sha1 = "e69e38a1babe969b0108207978b9f62b88604839";
+      };
+    };
+    "thenify-all-1.6.0" = {
+      name = "thenify-all";
+      packageName = "thenify-all";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz";
+        sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
+      };
+    };
+    "throat-4.1.0" = {
+      name = "throat";
+      packageName = "throat";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    };
+    "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==";
+      };
+    };
+    "thunky-1.0.3" = {
+      name = "thunky";
+      packageName = "thunky";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz";
+        sha512 = "YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==";
+      };
+    };
+    "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-browserify-2.0.11" = {
+      name = "timers-browserify";
+      packageName = "timers-browserify";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha512 = "60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==";
+      };
+    };
+    "tmpl-1.0.4" = {
+      name = "tmpl";
+      packageName = "tmpl";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    };
+    "to-arraybuffer-1.0.1" = {
+      name = "to-arraybuffer";
+      packageName = "to-arraybuffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    };
+    "to-fast-properties-1.0.3" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    };
+    "to-fast-properties-2.0.0" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    };
+    "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";
+      };
+    };
+    "toidentifier-1.0.0" = {
+      name = "toidentifier";
+      packageName = "toidentifier";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
+      };
+    };
+    "token-stream-0.0.1" = {
+      name = "token-stream";
+      packageName = "token-stream";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz";
+        sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "tr46-1.0.1" = {
+      name = "tr46";
+      packageName = "tr46";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    };
+    "trim-right-1.0.1" = {
+      name = "trim-right";
+      packageName = "trim-right";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    };
+    "tryer-1.0.1" = {
+      name = "tryer";
+      packageName = "tryer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz";
+        sha512 = "c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==";
+      };
+    };
+    "ts-jest-24.1.0" = {
+      name = "ts-jest";
+      packageName = "ts-jest";
+      version = "24.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-jest/-/ts-jest-24.1.0.tgz";
+        sha512 = "HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ==";
+      };
+    };
+    "tslib-1.10.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+      };
+    };
+    "tty-browserify-0.0.0" = {
+      name = "tty-browserify";
+      packageName = "tty-browserify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    };
+    "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-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-is-1.6.18" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
+      };
+    };
+    "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";
+      };
+    };
+    "typedarray-to-buffer-3.1.5" = {
+      name = "typedarray-to-buffer";
+      packageName = "typedarray-to-buffer";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
+      };
+    };
+    "typescript-3.6.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
+        sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+      };
+    };
+    "typical-4.0.0" = {
+      name = "typical";
+      packageName = "typical";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz";
+        sha512 = "VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==";
+      };
+    };
+    "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-js-3.6.0" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+      };
+    };
+    "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";
+      };
+    };
+    "underscore-1.9.1" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz";
+        sha512 = "5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==";
+      };
+    };
+    "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-filename-1.1.1" = {
+      name = "unique-filename";
+      packageName = "unique-filename";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
+      };
+    };
+    "unique-slug-2.0.2" = {
+      name = "unique-slug";
+      packageName = "unique-slug";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "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";
+      };
+    };
+    "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.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "urijs-1.19.1" = {
+      name = "urijs";
+      packageName = "urijs";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz";
+        sha512 = "xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==";
+      };
+    };
+    "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-0.11.0" = {
+      name = "url";
+      packageName = "url";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    };
+    "url-parse-1.4.7" = {
+      name = "url-parse";
+      packageName = "url-parse";
+      version = "1.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
+        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
+      };
+    };
+    "url-parse-lax-3.0.0" = {
+      name = "url-parse-lax";
+      packageName = "url-parse-lax";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
+        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+      };
+    };
+    "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-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    };
+    "util-0.11.1" = {
+      name = "util";
+      packageName = "util";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz";
+        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "util.promisify-1.0.0" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
+      };
+    };
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "uuid-3.3.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+      };
+    };
+    "v8-compile-cache-2.0.3" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz";
+        sha512 = "CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==";
+      };
+    };
+    "validate-npm-package-license-3.0.4" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "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";
+      };
+    };
+    "vm-browserify-1.1.0" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==";
+      };
+    };
+    "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";
+      };
+    };
+    "w3c-hr-time-1.0.1" = {
+      name = "w3c-hr-time";
+      packageName = "w3c-hr-time";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    };
+    "walker-1.0.7" = {
+      name = "walker";
+      packageName = "walker";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    };
+    "watchpack-1.6.0" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz";
+        sha512 = "i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==";
+      };
+    };
+    "wbuf-1.7.3" = {
+      name = "wbuf";
+      packageName = "wbuf";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz";
+        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
+      };
+    };
+    "wcwidth-1.0.1" = {
+      name = "wcwidth";
+      packageName = "wcwidth";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
+        sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
+      };
+    };
+    "webidl-conversions-4.0.2" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
+      };
+    };
+    "webpack-4.41.0" = {
+      name = "webpack";
+      packageName = "webpack";
+      version = "4.41.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz";
+        sha512 = "yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==";
+      };
+    };
+    "webpack-bundle-analyzer-3.5.2" = {
+      name = "webpack-bundle-analyzer";
+      packageName = "webpack-bundle-analyzer";
+      version = "3.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.5.2.tgz";
+        sha512 = "g9spCNe25QYUVqHRDkwG414GTok2m7pTTP0wr6l0J50Z3YLS04+BGodTqqoVBL7QfU/U/9p/oiI5XFOyfZ7S/A==";
+      };
+    };
+    "webpack-cli-3.3.9" = {
+      name = "webpack-cli";
+      packageName = "webpack-cli";
+      version = "3.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
+        sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+      };
+    };
+    "webpack-dev-middleware-3.7.2" = {
+      name = "webpack-dev-middleware";
+      packageName = "webpack-dev-middleware";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha512 = "1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==";
+      };
+    };
+    "webpack-dev-server-3.8.2" = {
+      name = "webpack-dev-server";
+      packageName = "webpack-dev-server";
+      version = "3.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz";
+        sha512 = "0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==";
+      };
+    };
+    "webpack-log-1.2.0" = {
+      name = "webpack-log";
+      packageName = "webpack-log";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz";
+        sha512 = "U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==";
+      };
+    };
+    "webpack-log-2.0.0" = {
+      name = "webpack-log";
+      packageName = "webpack-log";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
+      };
+    };
+    "webpack-sources-1.4.3" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
+      };
+    };
+    "websocket-1.0.30" = {
+      name = "websocket";
+      packageName = "websocket";
+      version = "1.0.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket/-/websocket-1.0.30.tgz";
+        sha512 = "aO6klgaTdSMkhfl5VVJzD5fm+Srhh5jLYbS15+OiI1sN6h/RU/XW6WN9J1uVIpUKNmsTvT3Hs35XAFjn9NMfOw==";
+      };
+    };
+    "websocket-driver-0.7.3" = {
+      name = "websocket-driver";
+      packageName = "websocket-driver";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha512 = "bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==";
+      };
+    };
+    "websocket-extensions-0.1.3" = {
+      name = "websocket-extensions";
+      packageName = "websocket-extensions";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha512 = "nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==";
+      };
+    };
+    "whatwg-encoding-1.0.5" = {
+      name = "whatwg-encoding";
+      packageName = "whatwg-encoding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
+      };
+    };
+    "whatwg-mimetype-2.3.0" = {
+      name = "whatwg-mimetype";
+      packageName = "whatwg-mimetype";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
+      };
+    };
+    "whatwg-url-6.5.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "6.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
+      };
+    };
+    "whatwg-url-7.0.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
+      };
+    };
+    "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-module-2.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    };
+    "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-5.1.1" = {
+      name = "with";
+      packageName = "with";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-5.1.1.tgz";
+        sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
+      };
+    };
+    "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-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
+    "worker-farm-1.7.0" = {
+      name = "worker-farm";
+      packageName = "worker-farm";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
+      };
+    };
+    "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-5.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
+      };
+    };
+    "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-file-atomic-2.4.1" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha512 = "TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==";
+      };
+    };
+    "ws-5.2.2" = {
+      name = "ws";
+      packageName = "ws";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz";
+        sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
+      };
+    };
+    "ws-6.2.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
+        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
+      };
+    };
+    "xml-name-validator-3.0.0" = {
+      name = "xml-name-validator";
+      packageName = "xml-name-validator";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
+      };
+    };
+    "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-4.0.0" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+      };
+    };
+    "yaeti-0.0.6" = {
+      name = "yaeti";
+      packageName = "yaeti";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz";
+        sha1 = "f26f484d72684cf42bedfb76970aa1608fbf9577";
+      };
+    };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
+    "yallist-3.1.1" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+      };
+    };
+    "yargs-12.0.5" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "12.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz";
+        sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==";
+      };
+    };
+    "yargs-13.2.4" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz";
+        sha512 = "HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==";
+      };
+    };
+    "yargs-13.3.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
+        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
+      };
+    };
+    "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";
+      };
+    };
+    "yargs-parser-10.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "10.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha512 = "VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==";
+      };
+    };
+    "yargs-parser-11.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "11.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz";
+        sha512 = "C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==";
+      };
+    };
+    "yargs-parser-13.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+      };
+    };
+    "ylru-1.2.1" = {
+      name = "ylru";
+      packageName = "ylru";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz";
+        sha512 = "faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==";
+      };
+    };
+  };
+in
+{
+  "spacegun-git+https://github.com/dvallin/spacegun.git#v0.3.3" = nodeEnv.buildNodePackage {
+    name = "spacegun";
+    packageName = "spacegun";
+    version = "0.3.3";
+    src = fetchgit {
+      url = "https://github.com/dvallin/spacegun.git";
+      rev = "d32d2df34362f6744e8cff34c2d2bf6ce8b4662a";
+      sha256 = "589bfc9e3e26af38989144e8551547cbeb5ffc9a0b668a7a4cb211a2ebf7a931";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/core-7.6.2" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."json5-2.1.1"
+          sources."minimist-1.2.0"
+          sources."ms-2.1.2"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."@babel/generator-7.6.2" // {
+        dependencies = [
+          sources."jsesc-2.5.2"
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."@babel/helper-function-name-7.1.0"
+      sources."@babel/helper-get-function-arity-7.0.0"
+      sources."@babel/helper-plugin-utils-7.0.0"
+      sources."@babel/helper-split-export-declaration-7.4.4"
+      sources."@babel/helpers-7.6.2"
+      (sources."@babel/highlight-7.5.0" // {
+        dependencies = [
+          sources."js-tokens-4.0.0"
+        ];
+      })
+      sources."@babel/parser-7.6.2"
+      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
+      sources."@babel/template-7.6.0"
+      (sources."@babel/traverse-7.6.2" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."globals-11.12.0"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."@babel/types-7.6.1" // {
+        dependencies = [
+          sources."to-fast-properties-2.0.0"
+        ];
+      })
+      (sources."@cnakazawa/watch-1.0.3" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      (sources."@jest/console-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      (sources."@jest/core-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/environment-24.9.0"
+      sources."@jest/fake-timers-24.9.0"
+      (sources."@jest/reporters-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/source-map-24.9.0"
+      sources."@jest/test-result-24.9.0"
+      sources."@jest/test-sequencer-24.9.0"
+      (sources."@jest/transform-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."@jest/types-24.9.0"
+      (sources."@kubernetes/client-node-0.10.3" // {
+        dependencies = [
+          sources."@types/node-10.14.20"
+        ];
+      })
+      sources."@sindresorhus/is-0.7.0"
+      sources."@types/accepts-1.3.5"
+      sources."@types/axios-0.14.0"
+      sources."@types/babel-types-7.0.7"
+      sources."@types/babel__core-7.1.3"
+      sources."@types/babel__generator-7.6.0"
+      sources."@types/babel__template-7.0.2"
+      sources."@types/babel__traverse-7.0.7"
+      sources."@types/babylon-6.16.5"
+      sources."@types/body-parser-1.17.1"
+      sources."@types/caseless-0.12.2"
+      sources."@types/command-line-args-5.0.0"
+      sources."@types/connect-3.4.32"
+      sources."@types/cookies-0.7.4"
+      sources."@types/cron-1.7.1"
+      sources."@types/events-3.0.0"
+      sources."@types/express-4.17.1"
+      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/formidable-1.0.31"
+      sources."@types/glob-7.1.1"
+      sources."@types/http-assert-1.5.1"
+      sources."@types/istanbul-lib-coverage-2.0.1"
+      sources."@types/istanbul-lib-report-1.1.1"
+      sources."@types/istanbul-reports-1.1.1"
+      sources."@types/jest-24.0.18"
+      sources."@types/jest-diff-20.0.1"
+      sources."@types/js-yaml-3.12.1"
+      sources."@types/keygrip-1.0.1"
+      sources."@types/koa-2.0.50"
+      sources."@types/koa-compose-3.2.4"
+      sources."@types/koa-router-7.0.42"
+      sources."@types/koa-send-4.1.2"
+      sources."@types/koa-static-4.0.1"
+      sources."@types/koa-views-2.0.3"
+      sources."@types/lodash-4.14.141"
+      sources."@types/lodash.clonedeep-4.5.6"
+      sources."@types/mime-2.0.1"
+      sources."@types/minimatch-3.0.3"
+      sources."@types/mkdirp-0.5.2"
+      sources."@types/node-12.7.11"
+      sources."@types/ora-3.2.0"
+      sources."@types/range-parser-1.2.3"
+      (sources."@types/request-2.48.3" // {
+        dependencies = [
+          sources."form-data-2.5.1"
+        ];
+      })
+      sources."@types/serve-static-1.13.3"
+      sources."@types/stack-utils-1.0.1"
+      sources."@types/tough-cookie-2.3.5"
+      sources."@types/underscore-1.9.3"
+      sources."@types/websocket-0.0.40"
+      sources."@types/ws-6.0.3"
+      sources."@types/yargs-13.0.3"
+      sources."@types/yargs-parser-13.1.0"
+      sources."@webassemblyjs/ast-1.8.5"
+      sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
+      sources."@webassemblyjs/helper-api-error-1.8.5"
+      sources."@webassemblyjs/helper-buffer-1.8.5"
+      sources."@webassemblyjs/helper-code-frame-1.8.5"
+      sources."@webassemblyjs/helper-fsm-1.8.5"
+      sources."@webassemblyjs/helper-module-context-1.8.5"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.8.5"
+      sources."@webassemblyjs/helper-wasm-section-1.8.5"
+      sources."@webassemblyjs/ieee754-1.8.5"
+      sources."@webassemblyjs/leb128-1.8.5"
+      sources."@webassemblyjs/utf8-1.8.5"
+      sources."@webassemblyjs/wasm-edit-1.8.5"
+      sources."@webassemblyjs/wasm-gen-1.8.5"
+      sources."@webassemblyjs/wasm-opt-1.8.5"
+      sources."@webassemblyjs/wasm-parser-1.8.5"
+      sources."@webassemblyjs/wast-parser-1.8.5"
+      sources."@webassemblyjs/wast-printer-1.8.5"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."abab-2.0.2"
+      sources."abbrev-1.1.1"
+      sources."accepts-1.3.7"
+      sources."acorn-3.3.0"
+      (sources."acorn-globals-3.1.0" // {
+        dependencies = [
+          sources."acorn-4.0.13"
+        ];
+      })
+      sources."acorn-walk-6.2.0"
+      sources."aggregate-error-1.0.0"
+      sources."ajv-6.10.2"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.4.1"
+      sources."align-text-0.1.4"
+      sources."ansi-colors-3.2.4"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-html-0.0.7"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
+      sources."anymatch-2.0.0"
+      sources."aproba-1.2.0"
+      sources."argparse-1.0.10"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-back-3.1.0"
+      sources."array-equal-1.0.0"
+      sources."array-flatten-1.1.1"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."array-unique-0.3.2"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.4"
+      sources."asn1.js-4.10.1"
+      (sources."assert-1.5.0" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."assert-plus-1.0.0"
+      sources."assign-symbols-1.0.0"
+      sources."astral-regex-1.0.0"
+      sources."async-1.5.2"
+      sources."async-each-1.0.3"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."awesome-typescript-loader-5.2.1"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.8.0"
+      sources."axios-0.19.0"
+      sources."babel-6.23.0"
+      (sources."babel-code-frame-6.26.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."babel-core-6.26.3" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."json5-0.5.1"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."babel-generator-6.26.1" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."babel-helper-builder-binary-assignment-operator-visitor-6.24.1"
+      sources."babel-helper-call-delegate-6.24.1"
+      sources."babel-helper-define-map-6.26.0"
+      sources."babel-helper-explode-assignable-expression-6.24.1"
+      sources."babel-helper-function-name-6.24.1"
+      sources."babel-helper-get-function-arity-6.24.1"
+      sources."babel-helper-hoist-variables-6.24.1"
+      sources."babel-helper-optimise-call-expression-6.24.1"
+      sources."babel-helper-regex-6.26.0"
+      sources."babel-helper-remap-async-to-generator-6.24.1"
+      sources."babel-helper-replace-supers-6.24.1"
+      sources."babel-helpers-6.24.1"
+      (sources."babel-jest-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."babel-messages-6.23.0"
+      sources."babel-plugin-check-es2015-constants-6.22.0"
+      sources."babel-plugin-istanbul-5.2.0"
+      sources."babel-plugin-jest-hoist-24.9.0"
+      sources."babel-plugin-syntax-async-functions-6.13.0"
+      sources."babel-plugin-syntax-exponentiation-operator-6.13.0"
+      sources."babel-plugin-syntax-trailing-function-commas-6.22.0"
+      sources."babel-plugin-transform-async-to-generator-6.24.1"
+      sources."babel-plugin-transform-es2015-arrow-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoped-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoping-6.26.0"
+      sources."babel-plugin-transform-es2015-classes-6.24.1"
+      sources."babel-plugin-transform-es2015-computed-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-destructuring-6.23.0"
+      sources."babel-plugin-transform-es2015-duplicate-keys-6.24.1"
+      sources."babel-plugin-transform-es2015-for-of-6.23.0"
+      sources."babel-plugin-transform-es2015-function-name-6.24.1"
+      sources."babel-plugin-transform-es2015-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-modules-amd-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-commonjs-6.26.2"
+      sources."babel-plugin-transform-es2015-modules-systemjs-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-umd-6.24.1"
+      sources."babel-plugin-transform-es2015-object-super-6.24.1"
+      sources."babel-plugin-transform-es2015-parameters-6.24.1"
+      sources."babel-plugin-transform-es2015-shorthand-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-spread-6.22.0"
+      sources."babel-plugin-transform-es2015-sticky-regex-6.24.1"
+      sources."babel-plugin-transform-es2015-template-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-typeof-symbol-6.23.0"
+      sources."babel-plugin-transform-es2015-unicode-regex-6.24.1"
+      sources."babel-plugin-transform-exponentiation-operator-6.24.1"
+      sources."babel-plugin-transform-regenerator-6.26.0"
+      sources."babel-plugin-transform-strict-mode-6.24.1"
+      sources."babel-preset-env-1.7.0"
+      sources."babel-preset-jest-24.9.0"
+      (sources."babel-register-6.26.0" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+          sources."source-map-support-0.4.18"
+        ];
+      })
+      sources."babel-runtime-6.26.0"
+      sources."babel-template-6.26.0"
+      (sources."babel-traverse-6.26.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."babel-types-6.26.0"
+      sources."babylon-6.18.0"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."base64-js-1.3.1"
+      sources."base64url-3.0.1"
+      sources."batch-0.6.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bfj-6.1.2"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-1.13.1"
+      sources."bluebird-3.7.0"
+      sources."bn.js-4.11.8"
+      (sources."body-parser-1.19.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."http-errors-1.7.2"
+          sources."inherits-2.0.3"
+          sources."qs-6.7.0"
+          sources."raw-body-2.4.0"
+        ];
+      })
+      (sources."bonjour-3.5.0" // {
+        dependencies = [
+          sources."array-flatten-2.1.2"
+        ];
+      })
+      sources."brace-expansion-1.1.11"
+      sources."braces-2.3.2"
+      sources."brorand-1.1.0"
+      sources."browser-process-hrtime-0.1.3"
+      (sources."browser-resolve-1.11.3" // {
+        dependencies = [
+          sources."resolve-1.1.7"
+        ];
+      })
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.2"
+      sources."browserify-rsa-4.0.1"
+      sources."browserify-sign-4.0.4"
+      sources."browserify-zlib-0.2.0"
+      sources."browserslist-3.2.8"
+      sources."bs-logger-0.2.6"
+      sources."bser-2.1.0"
+      sources."buffer-4.9.1"
+      sources."buffer-from-1.1.1"
+      sources."buffer-indexof-1.1.1"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-status-codes-3.0.0"
+      sources."byline-5.0.0"
+      sources."bytes-3.1.0"
+      (sources."cacache-10.0.4" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."cache-base-1.0.1"
+      sources."cache-content-type-1.0.1"
+      (sources."cacheable-request-2.1.4" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+          sources."lowercase-keys-1.0.0"
+        ];
+      })
+      sources."callsites-3.1.0"
+      sources."camelcase-1.2.1"
+      sources."caniuse-lite-1.0.30000999"
+      sources."capture-exit-2.0.0"
+      sources."caseless-0.12.0"
+      sources."center-align-0.1.3"
+      sources."chalk-2.4.2"
+      sources."character-parser-2.2.0"
+      sources."check-types-8.0.3"
+      (sources."chokidar-2.1.8" // {
+        dependencies = [
+          sources."normalize-path-3.0.0"
+        ];
+      })
+      sources."chownr-1.1.3"
+      sources."chrome-trace-event-1.0.2"
+      sources."ci-info-2.0.0"
+      sources."cipher-base-1.0.4"
+      (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-buffer-1.1.6"
+          (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."clean-css-4.2.1"
+      sources."clean-stack-1.3.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-spinners-2.2.0"
+      sources."cliui-2.1.0"
+      sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
+      sources."co-4.6.0"
+      sources."co-body-5.2.0"
+      sources."code-point-at-1.1.0"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."command-line-args-5.1.1"
+      sources."commander-2.20.1"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      sources."compressible-2.0.17"
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."bytes-3.0.0"
+          sources."debug-2.6.9"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."condense-newlines-0.2.1"
+      sources."config-chain-1.1.12"
+      sources."connect-history-api-fallback-1.6.0"
+      sources."console-browserify-1.1.0"
+      sources."consolidate-0.15.1"
+      sources."constantinople-3.1.2"
+      sources."constants-browserify-1.0.0"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."content-type-1.0.4"
+      (sources."convert-source-map-1.6.0" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."cookie-0.4.0"
+      sources."cookie-signature-1.0.6"
+      sources."cookies-0.7.3"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      (sources."copy-webpack-plugin-4.6.0" // {
+        dependencies = [
+          sources."p-limit-1.3.0"
+          sources."p-try-1.0.0"
+        ];
+      })
+      sources."core-js-2.6.9"
+      sources."core-util-is-1.0.2"
+      sources."create-ecdh-4.0.3"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."cron-1.7.2"
+      sources."cross-spawn-6.0.5"
+      sources."crypto-browserify-3.12.0"
+      sources."cssom-0.3.8"
+      sources."cssstyle-1.4.0"
+      sources."cyclist-1.0.1"
+      sources."d-1.0.1"
+      sources."dashdash-1.14.1"
+      (sources."data-urls-1.1.0" // {
+        dependencies = [
+          sources."whatwg-url-7.0.0"
+        ];
+      })
+      sources."date-now-0.1.4"
+      sources."debug-3.1.0"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."decompress-response-3.3.0"
+      sources."deep-equal-1.0.1"
+      sources."deep-is-0.1.3"
+      sources."default-gateway-4.2.0"
+      sources."defaults-1.0.3"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      (sources."del-4.1.1" // {
+        dependencies = [
+          (sources."globby-6.1.0" // {
+            dependencies = [
+              sources."pify-2.3.0"
+            ];
+          })
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-1.1.2"
+      sources."des.js-1.0.0"
+      sources."destroy-1.0.4"
+      sources."detect-file-1.0.0"
+      sources."detect-indent-4.0.0"
+      sources."detect-newline-2.1.0"
+      sources."detect-node-2.0.4"
+      sources."diff-sequences-24.9.0"
+      sources."diffie-hellman-5.0.3"
+      sources."dir-glob-2.2.2"
+      sources."dns-equal-1.0.0"
+      sources."dns-packet-1.3.1"
+      sources."dns-txt-2.0.2"
+      sources."doctypes-1.1.0"
+      sources."domain-browser-1.2.0"
+      sources."domexception-1.0.1"
+      sources."duplexer-0.1.1"
+      sources."duplexer3-0.1.4"
+      sources."duplexify-3.7.1"
+      sources."ecc-jsbn-0.1.2"
+      (sources."editorconfig-0.15.3" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."ee-first-1.1.1"
+      sources."ejs-2.7.1"
+      sources."electron-to-chromium-1.3.275"
+      sources."elliptic-6.5.1"
+      sources."emoji-regex-7.0.3"
+      sources."emojis-list-2.1.0"
+      sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
+      sources."enhanced-resolve-4.1.0"
+      sources."errno-0.1.7"
+      sources."error-ex-1.3.2"
+      sources."error-inject-1.0.0"
+      sources."es-abstract-1.15.0"
+      sources."es-to-primitive-1.2.0"
+      sources."es5-ext-0.10.51"
+      sources."es6-iterator-2.0.3"
+      sources."es6-promise-4.2.8"
+      sources."es6-symbol-3.1.2"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."escodegen-1.12.0"
+      sources."eslint-scope-4.0.3"
+      sources."esprima-3.1.3"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."etag-1.8.1"
+      sources."eventemitter3-4.0.0"
+      sources."events-3.0.0"
+      sources."eventsource-1.0.7"
+      sources."evp_bytestokey-1.0.3"
+      sources."exec-sh-0.3.2"
+      sources."execa-1.0.0"
+      sources."exit-0.1.2"
+      (sources."expand-brackets-2.1.4" // {
+        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-buffer-1.1.6"
+          (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."expand-tilde-2.0.2"
+      sources."expect-24.9.0"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."path-to-regexp-0.1.7"
+          sources."qs-6.7.0"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extend-shallow-2.0.1"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."faye-websocket-0.10.0"
+      sources."fb-watchman-2.0.0"
+      sources."figgy-pudding-3.5.1"
+      sources."filesize-3.6.1"
+      sources."fill-range-4.0.0"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."find-cache-dir-1.0.0"
+      sources."find-replace-3.0.0"
+      sources."find-up-3.0.0"
+      sources."findup-sync-3.0.0"
+      sources."flush-write-stream-1.1.1"
+      sources."follow-redirects-1.5.10"
+      sources."for-in-1.0.2"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."formidable-1.2.1"
+      sources."forwarded-0.1.2"
+      sources."fragment-cache-0.2.1"
+      sources."fresh-0.5.2"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.9"
+      sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
+      (sources."get-paths-0.0.7" // {
+        dependencies = [
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."get-stream-4.1.0"
+      sources."get-value-2.0.6"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.4"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      (sources."global-modules-2.0.0" // {
+        dependencies = [
+          sources."global-prefix-3.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."global-prefix-1.0.2"
+      sources."globals-9.18.0"
+      sources."globby-7.1.1"
+      (sources."got-8.3.2" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+        ];
+      })
+      sources."graceful-fs-4.2.2"
+      sources."growly-1.3.0"
+      (sources."gzip-size-5.1.1" // {
+        dependencies = [
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."handle-thing-2.0.0"
+      (sources."handlebars-4.4.2" // {
+        dependencies = [
+          sources."uglify-js-3.6.0"
+        ];
+      })
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      (sources."has-ansi-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+        ];
+      })
+      sources."has-flag-3.0.0"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-symbols-1.0.0"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."hash-base-3.0.4"
+      sources."hash.js-1.1.7"
+      sources."hmac-drbg-1.0.1"
+      sources."home-or-tmp-2.0.0"
+      sources."homedir-polyfill-1.0.3"
+      sources."hoopy-0.1.4"
+      sources."hosted-git-info-2.8.4"
+      sources."hpack.js-2.1.6"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."html-entities-1.2.1"
+      sources."http-assert-1.4.1"
+      sources."http-cache-semantics-3.8.1"
+      sources."http-deceiver-1.2.7"
+      sources."http-errors-1.7.3"
+      sources."http-parser-js-0.4.10"
+      sources."http-proxy-1.18.0"
+      sources."http-proxy-middleware-0.19.1"
+      sources."http-signature-1.2.0"
+      sources."https-browserify-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.1.13"
+      sources."iferr-0.1.5"
+      sources."ignore-3.3.10"
+      (sources."import-local-2.0.0" // {
+        dependencies = [
+          sources."pkg-dir-3.0.0"
+        ];
+      })
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-3.2.0"
+      sources."infer-owner-1.0.4"
+      sources."inflation-2.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."internal-ip-4.3.0"
+      sources."interpret-1.2.0"
+      sources."into-stream-3.1.0"
+      sources."invariant-2.2.4"
+      sources."invert-kv-2.0.0"
+      sources."ip-1.1.5"
+      sources."ip-regex-2.1.0"
+      sources."ipaddr.js-1.9.0"
+      sources."is-absolute-url-3.0.3"
+      (sources."is-accessor-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-2.0.4"
+      sources."is-callable-1.1.4"
+      sources."is-ci-2.0.0"
+      (sources."is-data-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-date-object-1.0.1"
+      (sources."is-descriptor-1.0.2" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      (sources."is-expression-3.0.0" // {
+        dependencies = [
+          sources."acorn-4.0.13"
+        ];
+      })
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-finite-1.0.2"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-generator-fn-2.1.0"
+      sources."is-generator-function-1.0.7"
+      sources."is-glob-4.0.1"
+      sources."is-number-3.0.0"
+      sources."is-object-1.0.1"
+      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-obj-1.1.0"
+      sources."is-plain-object-2.0.4"
+      sources."is-promise-2.1.0"
+      sources."is-regex-1.0.4"
+      sources."is-retry-allowed-1.2.0"
+      sources."is-stream-1.1.0"
+      sources."is-symbol-1.0.2"
+      sources."is-typedarray-1.0.0"
+      sources."is-whitespace-0.3.0"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      sources."isomorphic-ws-4.0.1"
+      sources."isstream-0.1.2"
+      sources."istanbul-lib-coverage-2.0.5"
+      (sources."istanbul-lib-instrument-3.3.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."istanbul-lib-report-2.0.8" // {
+        dependencies = [
+          sources."make-dir-2.1.0"
+          sources."pify-4.0.1"
+          sources."supports-color-6.1.0"
+        ];
+      })
+      (sources."istanbul-lib-source-maps-3.0.6" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."make-dir-2.1.0"
+          sources."ms-2.1.2"
+          sources."pify-4.0.1"
+        ];
+      })
+      sources."istanbul-reports-2.2.6"
+      sources."isurl-1.0.0"
+      sources."jest-24.9.0"
+      sources."jest-changed-files-24.9.0"
+      (sources."jest-cli-24.9.0" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."yargs-13.3.0"
+        ];
+      })
+      sources."jest-config-24.9.0"
+      sources."jest-diff-24.9.0"
+      sources."jest-docblock-24.9.0"
+      sources."jest-each-24.9.0"
+      sources."jest-environment-jsdom-24.9.0"
+      sources."jest-environment-node-24.9.0"
+      sources."jest-get-type-24.9.0"
+      sources."jest-haste-map-24.9.0"
+      sources."jest-jasmine2-24.9.0"
+      sources."jest-leak-detector-24.9.0"
+      sources."jest-matcher-utils-24.9.0"
+      (sources."jest-message-util-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      sources."jest-mock-24.9.0"
+      sources."jest-pnp-resolver-1.2.1"
+      sources."jest-regex-util-24.9.0"
+      sources."jest-resolve-24.9.0"
+      sources."jest-resolve-dependencies-24.9.0"
+      sources."jest-runner-24.9.0"
+      (sources."jest-runtime-24.9.0" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."slash-2.0.0"
+          sources."yargs-13.3.0"
+        ];
+      })
+      sources."jest-serializer-24.9.0"
+      (sources."jest-snapshot-24.9.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."jest-util-24.9.0" // {
+        dependencies = [
+          sources."slash-2.0.0"
+        ];
+      })
+      (sources."jest-validate-24.9.0" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
+      sources."jest-watcher-24.9.0"
+      (sources."jest-worker-24.9.0" // {
+        dependencies = [
+          sources."supports-color-6.1.0"
+        ];
+      })
+      sources."js-beautify-1.10.2"
+      sources."js-stringify-1.0.2"
+      sources."js-tokens-3.0.2"
+      (sources."js-yaml-3.13.1" // {
+        dependencies = [
+          sources."esprima-4.0.1"
+        ];
+      })
+      sources."jsbn-0.1.1"
+      (sources."jsdom-11.12.0" // {
+        dependencies = [
+          sources."acorn-5.7.3"
+          (sources."acorn-globals-4.3.4" // {
+            dependencies = [
+              sources."acorn-6.3.0"
+            ];
+          })
+          sources."ws-5.2.2"
+        ];
+      })
+      sources."jsesc-1.3.0"
+      sources."json-buffer-3.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."json3-3.3.3"
+      (sources."json5-1.0.1" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."jsonpath-plus-0.19.0"
+      sources."jsprim-1.4.1"
+      sources."jstransformer-1.0.0"
+      sources."keygrip-1.0.3"
+      sources."keyv-3.0.0"
+      sources."killable-1.0.1"
+      (sources."kind-of-3.2.2" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+        ];
+      })
+      sources."kleur-3.0.3"
+      sources."koa-2.8.2"
+      sources."koa-body-4.1.1"
+      sources."koa-compose-4.1.0"
+      (sources."koa-convert-1.2.0" // {
+        dependencies = [
+          sources."koa-compose-3.2.1"
+        ];
+      })
+      sources."koa-is-json-1.0.0"
+      (sources."koa-router-7.4.0" // {
+        dependencies = [
+          sources."koa-compose-3.2.1"
+        ];
+      })
+      sources."koa-send-5.0.0"
+      sources."koa-static-5.0.0"
+      (sources."koa-views-6.2.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."lazy-cache-1.0.4"
+      sources."lcid-2.0.0"
+      sources."left-pad-1.3.0"
+      sources."leven-3.1.0"
+      sources."levn-0.3.0"
+      sources."load-json-file-4.0.0"
+      sources."loader-runner-2.4.0"
+      sources."loader-utils-1.2.3"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."lodash.camelcase-4.3.0"
+      sources."lodash.clonedeep-4.5.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.sortby-4.7.0"
+      sources."log-symbols-2.2.0"
+      sources."loglevel-1.6.4"
+      sources."loglevelnext-1.0.5"
+      sources."long-4.0.0"
+      sources."longest-1.0.1"
+      sources."loose-envify-1.4.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-5.1.1"
+      sources."make-dir-1.3.0"
+      sources."make-error-1.3.5"
+      sources."makeerror-1.0.11"
+      sources."mamacro-0.0.3"
+      sources."map-age-cleaner-0.1.3"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."md5.js-1.3.5"
+      sources."media-typer-0.3.0"
+      (sources."mem-4.3.0" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+          sources."p-is-promise-2.1.0"
+        ];
+      })
+      sources."memory-fs-0.4.1"
+      sources."merge-descriptors-1.0.1"
+      sources."merge-stream-2.0.0"
+      sources."methods-1.1.2"
+      (sources."micromatch-3.1.10" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."miller-rabin-4.0.1"
+      sources."mime-1.6.0"
+      sources."mime-db-1.40.0"
+      sources."mime-types-2.1.24"
+      sources."mimic-fn-1.2.0"
+      sources."mimic-response-1.0.1"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      (sources."mississippi-2.0.0" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."mkdirp-0.5.1"
+      sources."moment-2.24.0"
+      sources."moment-timezone-0.5.26"
+      sources."move-concurrently-1.0.1"
+      sources."ms-2.0.0"
+      sources."multicast-dns-6.2.3"
+      sources."multicast-dns-service-types-1.1.0"
+      sources."mz-2.7.0"
+      sources."nan-2.14.0"
+      (sources."nanomatch-1.2.13" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."natural-compare-1.4.0"
+      sources."negotiator-0.6.2"
+      sources."neo-async-2.6.1"
+      sources."next-tick-1.0.0"
+      sources."nice-try-1.0.5"
+      sources."node-forge-0.8.5"
+      sources."node-int64-0.4.0"
+      sources."node-jose-1.1.3"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."node-modules-regexp-1.0.0"
+      sources."node-notifier-5.4.3"
+      sources."nopt-4.0.1"
+      sources."normalize-package-data-2.5.0"
+      sources."normalize-path-2.1.1"
+      sources."normalize-url-2.0.1"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."nwsapi-2.1.4"
+      sources."oauth-sign-0.9.0"
+      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."object-hash-1.3.1"
+      sources."object-inspect-1.6.0"
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.pick-1.3.0"
+      sources."obuf-1.1.2"
+      sources."oidc-token-hash-3.0.2"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."only-0.0.2"
+      sources."opener-1.5.1"
+      sources."openid-client-2.5.0"
+      sources."opn-5.5.0"
+      sources."optimist-0.6.1"
+      (sources."optionator-0.8.2" // {
+        dependencies = [
+          sources."wordwrap-1.0.0"
+        ];
+      })
+      sources."ora-3.4.0"
+      sources."original-1.0.2"
+      sources."os-browserify-0.3.0"
+      sources."os-homedir-1.0.2"
+      sources."os-locale-3.1.0"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-any-1.1.0"
+      sources."p-cancelable-0.4.1"
+      sources."p-defer-1.0.0"
+      sources."p-each-series-1.0.0"
+      sources."p-finally-1.0.0"
+      sources."p-is-promise-1.1.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-map-2.1.0"
+      sources."p-reduce-1.0.0"
+      sources."p-retry-3.0.1"
+      sources."p-some-2.0.1"
+      sources."p-timeout-2.0.1"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.10"
+      sources."parallel-transform-1.2.0"
+      sources."parse-asn1-5.1.5"
+      sources."parse-json-4.0.0"
+      sources."parse-passwd-1.0.0"
+      sources."parse5-4.0.0"
+      sources."parseurl-1.3.3"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-0.0.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-parse-1.0.6"
+      (sources."path-to-regexp-1.7.0" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+        ];
+      })
+      sources."path-type-3.0.0"
+      sources."pbkdf2-3.0.17"
+      sources."performance-now-2.1.0"
+      sources."pify-3.0.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pirates-4.0.1"
+      (sources."pkg-dir-2.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."pn-1.1.0"
+      (sources."portfinder-1.0.24" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."posix-character-classes-0.1.1"
+      sources."prelude-ls-1.1.2"
+      sources."prepend-http-2.0.0"
+      sources."prettier-1.18.2"
+      sources."pretty-2.0.0"
+      sources."pretty-format-24.9.0"
+      sources."private-0.1.8"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."promise-7.3.1"
+      sources."promise-inflight-1.0.1"
+      sources."prompts-2.2.1"
+      sources."proto-list-1.2.4"
+      sources."proxy-addr-2.0.5"
+      sources."prr-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."psl-1.4.0"
+      sources."public-encrypt-4.0.3"
+      sources."pug-2.0.4"
+      sources."pug-attrs-2.0.4"
+      sources."pug-code-gen-2.0.2"
+      sources."pug-error-1.3.3"
+      sources."pug-filters-3.1.1"
+      sources."pug-lexer-4.1.0"
+      sources."pug-linker-3.0.6"
+      sources."pug-load-2.0.12"
+      sources."pug-parser-5.0.1"
+      sources."pug-runtime-2.0.5"
+      sources."pug-strip-comments-1.0.4"
+      sources."pug-walk-1.1.8"
+      sources."pump-3.0.0"
+      (sources."pumpify-1.5.1" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      sources."query-string-5.1.1"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      sources."querystringify-2.1.1"
+      sources."randombytes-2.1.0"
+      sources."randomfill-1.0.4"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.1"
+      sources."react-is-16.10.2"
+      sources."read-pkg-3.0.0"
+      sources."read-pkg-up-4.0.0"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."readdirp-2.2.1"
+      sources."realpath-native-1.1.0"
+      sources."rechoir-0.6.2"
+      sources."regenerate-1.4.0"
+      sources."regenerator-runtime-0.11.1"
+      sources."regenerator-transform-0.10.1"
+      (sources."regex-not-1.0.2" // {
+        dependencies = [
+          sources."extend-shallow-3.0.2"
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."regexpu-core-2.0.0"
+      sources."regjsgen-0.2.0"
+      (sources."regjsparser-0.1.5" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."repeating-2.0.1"
+      sources."request-2.88.0"
+      sources."request-promise-core-1.1.2"
+      sources."request-promise-native-1.0.7"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."requires-port-1.0.0"
+      sources."resolve-1.12.0"
+      sources."resolve-cwd-2.0.0"
+      (sources."resolve-dir-1.0.1" // {
+        dependencies = [
+          sources."global-modules-1.0.0"
+        ];
+      })
+      sources."resolve-from-3.0.0"
+      (sources."resolve-path-1.4.0" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."resolve-url-0.2.1"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-2.0.0"
+      sources."ret-0.1.15"
+      sources."retry-0.12.0"
+      sources."right-align-0.1.3"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."rsvp-4.8.5"
+      sources."run-queue-1.0.3"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      (sources."sane-4.1.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."sax-1.2.4"
+      sources."schema-utils-1.0.0"
+      sources."select-hose-2.0.0"
+      (sources."selfsigned-1.10.7" // {
+        dependencies = [
+          sources."node-forge-0.9.0"
+        ];
+      })
+      sources."semver-5.7.1"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serialize-javascript-1.9.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"
+      sources."setimmediate-1.0.5"
+      sources."setprototypeof-1.1.1"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shelljs-0.8.3"
+      sources."shellwords-0.1.1"
+      sources."sigmund-1.0.1"
+      sources."signal-exit-3.0.2"
+      sources."simple-git-1.96.0"
+      sources."sisteransi-1.0.3"
+      sources."slash-1.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-buffer-1.1.6"
+          (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."source-map-0.5.7"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."snapdragon-util-3.0.1"
+      sources."sockjs-0.3.19"
+      (sources."sockjs-client-1.4.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."faye-websocket-0.11.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."sort-keys-2.0.0"
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.6.1"
+      sources."source-map-resolve-0.5.2"
+      sources."source-map-support-0.5.13"
+      sources."source-map-url-0.4.0"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.5"
+      (sources."spdy-4.0.1" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."spdy-transport-3.0.0" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          sources."readable-stream-3.4.0"
+        ];
+      })
+      (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."ssri-5.3.0"
+      sources."stack-utils-1.0.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-buffer-1.1.6"
+          (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."statuses-1.5.0"
+      sources."stealthy-require-1.1.1"
+      sources."stream-browserify-2.0.2"
+      sources."stream-each-1.2.3"
+      sources."stream-http-2.8.3"
+      sources."stream-shift-1.0.0"
+      sources."strict-uri-encode-1.1.0"
+      (sources."string-length-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."string-width-3.1.0"
+      sources."string.prototype.trimleft-2.1.0"
+      sources."string.prototype.trimright-2.1.0"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-ansi-5.2.0"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."supports-color-5.5.0"
+      sources."symbol-tree-3.2.4"
+      sources."tapable-1.1.3"
+      sources."terser-4.3.8"
+      (sources."terser-webpack-plugin-1.4.1" // {
+        dependencies = [
+          sources."cacache-12.0.3"
+          sources."find-cache-dir-2.1.0"
+          sources."make-dir-2.1.0"
+          sources."mississippi-3.0.0"
+          sources."pify-4.0.1"
+          sources."pkg-dir-3.0.0"
+          sources."ssri-6.0.1"
+        ];
+      })
+      sources."test-exclude-5.2.3"
+      sources."thenify-3.3.0"
+      sources."thenify-all-1.6.0"
+      sources."throat-4.1.0"
+      sources."through2-2.0.5"
+      sources."thunky-1.0.3"
+      sources."timed-out-4.0.1"
+      sources."timers-browserify-2.0.11"
+      sources."tmpl-1.0.4"
+      sources."to-arraybuffer-1.0.1"
+      sources."to-fast-properties-1.0.3"
+      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"
+      sources."toidentifier-1.0.0"
+      sources."token-stream-0.0.1"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tr46-1.0.1"
+      sources."trim-right-1.0.1"
+      sources."tryer-1.0.1"
+      (sources."ts-jest-24.1.0" // {
+        dependencies = [
+          sources."camelcase-4.1.0"
+          sources."json5-2.1.1"
+          sources."minimist-1.2.0"
+          sources."yargs-parser-10.1.0"
+        ];
+      })
+      sources."tslib-1.10.0"
+      sources."tty-browserify-0.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-1.2.0"
+      sources."type-check-0.3.2"
+      sources."type-is-1.6.18"
+      sources."typedarray-0.0.6"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."typescript-3.6.3"
+      sources."typical-4.0.0"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."underscore-1.9.1"
+      sources."union-value-1.0.1"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
+      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.2.2"
+      sources."urijs-1.19.1"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."url-parse-1.4.7"
+      sources."url-parse-lax-3.0.0"
+      sources."url-to-options-1.0.1"
+      sources."use-3.1.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."utils-merge-1.0.1"
+      sources."uuid-3.3.3"
+      sources."v8-compile-cache-2.0.3"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vary-1.1.2"
+      sources."verror-1.10.0"
+      sources."vm-browserify-1.1.0"
+      sources."void-elements-2.0.1"
+      sources."w3c-hr-time-1.0.1"
+      sources."walker-1.0.7"
+      sources."watchpack-1.6.0"
+      sources."wbuf-1.7.3"
+      sources."wcwidth-1.0.1"
+      sources."webidl-conversions-4.0.2"
+      (sources."webpack-4.41.0" // {
+        dependencies = [
+          sources."acorn-6.3.0"
+        ];
+      })
+      (sources."webpack-bundle-analyzer-3.5.2" // {
+        dependencies = [
+          sources."acorn-6.3.0"
+        ];
+      })
+      (sources."webpack-cli-3.3.9" // {
+        dependencies = [
+          sources."cliui-5.0.0"
+          sources."supports-color-6.1.0"
+          sources."yargs-13.2.4"
+        ];
+      })
+      (sources."webpack-dev-middleware-3.7.2" // {
+        dependencies = [
+          sources."mime-2.4.4"
+          sources."webpack-log-2.0.0"
+        ];
+      })
+      (sources."webpack-dev-server-3.8.2" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."camelcase-5.3.1"
+          (sources."cliui-4.1.0" // {
+            dependencies = [
+              sources."ansi-regex-3.0.0"
+              sources."strip-ansi-4.0.0"
+            ];
+          })
+          sources."debug-4.1.1"
+          sources."get-caller-file-1.0.3"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."ms-2.1.2"
+          sources."require-main-filename-1.0.1"
+          sources."semver-6.3.0"
+          (sources."string-width-2.1.1" // {
+            dependencies = [
+              sources."ansi-regex-3.0.0"
+              sources."is-fullwidth-code-point-2.0.0"
+              sources."strip-ansi-4.0.0"
+            ];
+          })
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-6.1.0"
+          sources."webpack-log-2.0.0"
+          (sources."wrap-ansi-2.1.0" // {
+            dependencies = [
+              sources."string-width-1.0.2"
+            ];
+          })
+          sources."yargs-12.0.5"
+          sources."yargs-parser-11.1.1"
+        ];
+      })
+      sources."webpack-log-1.2.0"
+      sources."webpack-sources-1.4.3"
+      (sources."websocket-1.0.30" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."websocket-driver-0.7.3"
+      sources."websocket-extensions-0.1.3"
+      sources."whatwg-encoding-1.0.5"
+      sources."whatwg-mimetype-2.3.0"
+      sources."whatwg-url-6.5.0"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      sources."window-size-0.1.0"
+      sources."with-5.1.1"
+      sources."wordwrap-0.0.2"
+      sources."worker-farm-1.7.0"
+      sources."wrap-ansi-5.1.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-2.4.1"
+      sources."ws-6.2.1"
+      sources."xml-name-validator-3.0.0"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yaeti-0.0.6"
+      sources."yallist-3.1.1"
+      sources."yargs-3.10.0"
+      (sources."yargs-parser-13.1.1" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+        ];
+      })
+      sources."ylru-1.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      license = "MIT";
+    };
+    production = false;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/spacegun/package.json b/pkgs/applications/networking/cluster/spacegun/package.json
new file mode 100644
index 00000000000..7d419edb74a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/spacegun/package.json
@@ -0,0 +1,3 @@
+[
+  { "spacegun": "git+https://github.com/dvallin/spacegun.git#v0.3.3" }
+]
diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix
index fcc55c5e1d0..cd37083d935 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -4,27 +4,31 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-acme";
-      version = "1.3.5";
-      sha256  = "0xjxxz3vxq7vk7sv6b5p57z5x92dmrm44v6ksffcg76ngc40nrxk";
+      rev     = "v1.5.0";
+      version = "1.5.0";
+      sha256  = "1h53bgflchavnn4laf801d920bsgqqg0ph4slnf7y1fpb0mz5vdv";
     };
   alicloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.54.0";
-      sha256  = "01pmhwdnhfsk785ja11hxn5l5fmklnkiv12kv2pw2280cdljfcv4";
+      rev     = "v1.63.0";
+      version = "1.63.0";
+      sha256  = "0353zsga4ic7rsgnk243v202l4hpy0xlzp95fnbmrz7p5wy2k8js";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.2.2";
-      sha256  = "1saprj2r74b63z03n80m3mfj3vhgvlm4gp2hzqzjbdgibxsz4jaw";
+      rev     = "v1.3.0";
+      version = "1.3.0";
+      sha256  = "1hwg8ai4bvsmgnl669608lr4v940xnyig1xshps490f47c8hqy6y";
     };
   arukas =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-arukas";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99";
     };
@@ -32,6 +36,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-atlas";
+      rev     = "v0.1.1";
       version = "0.1.1";
       sha256  = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14";
     };
@@ -39,41 +44,47 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "2.23.0";
-      sha256  = "0yscy0qmdl07air0b16i6zd0w8y3z20pk5l53pwm78ssdxn3w6qc";
+      rev     = "v2.41.0";
+      version = "2.41.0";
+      sha256  = "0i9bh78ihmxj7hjbqzkkj7k6lvr3xdakf8qv0bfckcinwpzwzbxa";
     };
   azuread =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azuread";
-      version = "0.5.1";
-      sha256  = "0bjy6wdfzsxchqclgp7c06b49b5h60nips69hcpwd45564iql5fh";
+      rev     = "v0.7.0";
+      version = "0.7.0";
+      sha256  = "1a7w31dvjz5498445ia4m5gd1js3k7ghz6qqfq51f2n86iafs0xq";
     };
   azurerm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.32.1";
-      sha256  = "0ydzibmvz52i62pk0g96rl7vxhff5izrsgdwk6lgc56nw63w2l8g";
+      rev     = "v1.37.0";
+      version = "1.37.0";
+      sha256  = "0n0582v8g3np8glyxnpnayps014jxclzrglcxf35wszfz9mspryg";
     };
   azurestack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurestack";
-      version = "0.8.1";
-      sha256  = "1sbmjrqzzn8rf9xhaax2ykyg199sggx80apx0xvd4ab82c3ldyfw";
+      rev     = "v0.9.0";
+      version = "0.9.0";
+      sha256  = "1msm7jwzry0vmas3l68h6p0migrsm6d18zpxcncv197m8xbvg324";
     };
   bigip =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bigip";
-      version = "0.12.3";
-      sha256  = "1zlwk7jp5r45b3rwkxsq9mqf4nym3ifx56vhcvyc9a3w25s0ss8p";
+      rev     = "v1.1.0";
+      version = "1.1.0";
+      sha256  = "15fmxr1c39xx6ix38nigf8izrqzlmjjr6hvlkf7yhb5z7485nvsg";
     };
   bitbucket =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bitbucket";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "06bjagbgpgfphwym015wl00wx6qf7lsdig0fhpxqaykvlkn3sg49";
     };
@@ -81,6 +92,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-brightbox";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "0s1b2k58r2kmjrdqrkw2dlfpby79i81gml9rpa10y372bwq314zd";
     };
@@ -88,6 +100,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-chef";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "0ihn4706fflmf0585w22l7arzxsa9biq4cgh8nlhlp5y0zy934ns";
     };
@@ -95,13 +108,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-circonus";
-      version = "0.2.0";
-      sha256  = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45";
+      rev     = "v0.4.0";
+      version = "0.4.0";
+      sha256  = "0iz7v7gfjgbca47vjnvcv9159kgladkad7cmjw2hpncrn2jjinwg";
     };
   clc =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-clc";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0gvsjnwk6xkgxai1gxsjf0hsjxbv8d8jg5hq8yd3hjhc6785fgnf";
     };
@@ -109,20 +124,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "1.17.1";
-      sha256  = "0kmkk5fhgsvjakqrfs7p92dcljn04asxq15af1r9n5csq54q7na3";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "1ll06p4fz88mr4a51rqgvxykivx9xina6507mflyxaic59xlkdz4";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "2.0.0";
-      sha256  = "145hj4pbi5zrkgamicy3m1n3380fpd2ndd6ym7mwd65d95g39vwb";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "12vxzhpsivvq343mqkmnwklvnv6dc9h2ah0ixla9svdwjp91xfcd";
     };
   cloudstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudstack";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "0zmyww6z3j839ydlmv254hr8gcsixng4lcvmiwkhxb3hj1nw8hcw";
     };
@@ -130,6 +148,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cobbler";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "08ljqibfi6alpvv8f7pzvjl2k4w6br6g6ac755x4xw4ycrr24xw9";
     };
@@ -137,27 +156,31 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-consul";
-      version = "2.5.0";
-      sha256  = "1nmldxn4y87fyb308dajjzcyvxrr6ka5nicyw84a8s7pixzbqh6q";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "1c7qpgf2vh4crs69alzwwaicsz29b2y72x4xjmfb9dg5cy7gk1i5";
     };
   datadog =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "2.1.0";
-      sha256  = "0k7apad2r07gw9kf0zzqc8wa2wcmxihi3x8sdssl32qjib20qwv1";
+      rev     = "v2.5.0";
+      version = "2.5.0";
+      sha256  = "0l5jix165ghfj72l3mr76d5b5lx5pgr45zimk8lr0fwn79f4bs74";
     };
   digitalocean =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-digitalocean";
-      version = "1.6.0";
-      sha256  = "06cxm3qcym8jwp4nl1bzk3p9fbaz26bvddqzn3p8l57c802qqds6";
+      rev     = "v1.11.0";
+      version = "1.11.0";
+      sha256  = "0s8z0zsfibclx0431fcqbi9yqkhwj4w0rz780z1dwv50xpgnmzql";
     };
   dme =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dme";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv";
     };
@@ -165,6 +188,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dns";
+      rev     = "v2.2.0";
       version = "2.2.0";
       sha256  = "11xdxj6hfclaq9glbh14nihmrsk220crm9ld8bdv77w0bppmrrch";
     };
@@ -172,6 +196,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dnsimple";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "0jj82fffqaz7gramj5d4avx7vka6w190yz4r9q7628qh8ih2pfhz";
     };
@@ -179,13 +204,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-docker";
-      version = "2.1.1";
-      sha256  = "0px3xj76ay5ixpmynas49z31xmk4zmpn0917y6a20kr2x2abi9zb";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "12qq7m75yxfczik78klqaimrzhp70m2vk5q0h3v8b2dwvvynj0dg";
     };
   dyn =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dyn";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "1a3kxmbib2y0nl7gnxknbhsflj5kfknxnm3gjxxrb2h5d2kvqy48";
     };
@@ -193,6 +220,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-external";
+      rev     = "v1.2.0";
       version = "1.2.0";
       sha256  = "1kx28bffhd1pg3m0cbldclc8l9zic16mqrk7gybcls9vyds5gbvc";
     };
@@ -200,48 +228,55 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-fastly";
-      version = "0.9.0";
-      sha256  = "0g3rgi6s9hyb6vzl682n8zqz5virdxvxh04v88n9iy5r7hwrxxzg";
+      rev     = "v0.11.0";
+      version = "0.11.0";
+      sha256  = "0wq8l1lkfpv5nfd04dsjaa9wv09373i6wwnapifx1wncjyhs4jd4";
     };
   flexibleengine =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-flexibleengine";
-      version = "1.6.0";
-      sha256  = "0vz68nhpy93zsdssxzr41flrwhjqh7wcjrc4nklg6kmr99n6jcc6";
+      rev     = "v1.9.0";
+      version = "1.9.0";
+      sha256  = "1y66xy5yqdjdrh3zkw1q7ml5b2rsyy4ayc4m026c4mmh0x1vfk9y";
     };
   github =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-github";
-      version = "2.2.0";
-      sha256  = "1h44v7428z3v3hv6ywi3n0yhnvgx9cr6vgqb1n2w1qf7k2f0jkzx";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "1dg5jgd3cdz98wfd71l58wsp949mvs2lrcqh1amgql0s90pwjmvg";
     };
   gitlab =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-gitlab";
-      version = "2.2.0";
-      sha256  = "0iz5ggjkcip86cz2zmsryad34hly542grwzlm5rvpcmfw5csjadw";
+      rev     = "v2.4.0";
+      version = "2.4.0";
+      sha256  = "0409n8miva205wkx968ggzmz0y121s99iybsjlkx0gja20x68yxx";
     };
   google =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "2.12.0";
-      sha256  = "15fdpmdikm77hlfksdbcblysb82sd51vw4ninx60hzgddqp6ll4m";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "1b19hql244lv74gxdwgqh9955d3zkwj7riaq6kj5ylbj44spcpjy";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      version = "2.12.0";
-      sha256  = "11aky7jvm7i39pnj3ypy42d9yk9akqb3wjb03hyllzfddwhvay5q";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "0zkhyn17kji6yyl5582g5vhqj3rcbin73ym6vn6f0m7sf5yaplky";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
+      rev     = "v1.5.0";
       version = "1.5.0";
       sha256  = "0zy3bqgpxymp2zygaxzllk1ysdankwxa1sy1djfgr4fs2nlggkwi";
     };
@@ -249,34 +284,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hcloud";
-      version = "1.12.0";
-      sha256  = "1r61s7chq636fcjv67g0vjlc35xx0ycy58hg6b5i5rdc9737v7hp";
+      rev     = "v1.15.0";
+      version = "1.15.0";
+      sha256  = "0l554mf6s248j0453b4r5pafshcvhn2smk4pp23y9kq5g1xd0xmd";
     };
   hedvig =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hedvig";
-      version = "1.0.4";
-      sha256  = "0y6brzznxp8khdfbnpmnbjqf140411z0pvnp88p8mj2kmbk7kkjd";
+      rev     = "v1.0.5";
+      version = "1.0.5";
+      sha256  = "0dic4kqjwi3s8pss1pmgixnr7xi503gl5i7pcx66fam5y5ar92v5";
     };
   helm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-helm";
-      version = "0.10.2";
-      sha256  = "1xp8dx6ncskmfa9bjd54434f4a7pnjz5r3yvnh1hmv3i5ykfxzdn";
+      rev     = "v0.10.4";
+      version = "0.10.4";
+      sha256  = "0xl0wgh1j6yhymadqvlj21qddxfzaxk3d5wpzskfmhfk732795rc";
     };
   heroku =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-heroku";
-      version = "2.1.2";
-      sha256  = "0n8id5rw4hzsiic9yv4rzm709npagv9sfp6dd1ax6np5kai78b87";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "145kfm4asca0ksprb076mjdhs5ahrlrad8cqz8spxra5fa3j46sq";
     };
   http =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-http";
+      rev     = "v1.1.1";
       version = "1.1.1";
       sha256  = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0";
     };
@@ -284,13 +324,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-huaweicloud";
-      version = "1.7.0";
-      sha256  = "1yhyyh33hvzs74pryb383p1w0c0d4vn23pnm6snxi1cw49wgiiyf";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "0aa83y0bzfldijd4jbmhqppc13jdqaax83p75kffwaxw1rmxrana";
     };
   icinga2 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-icinga2";
+      rev     = "v0.2.0";
       version = "0.2.0";
       sha256  = "02ladn2w75k35vn8llj3zh9hbpnnnvpm47c9f29zshfs04acwbq0";
     };
@@ -298,13 +340,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ignition";
-      version = "1.1.0";
-      sha256  = "0vpjbb70wnlrvw7z2zc92fbisgjk49ivdmv10ahyqlgvc23js5va";
+      rev     = "v1.2.0";
+      version = "1.2.0";
+      sha256  = "0dg5xak02rv7h9z07kjqxf55al188ligzq3m6711rlh62zam2cjc";
     };
   influxdb =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-influxdb";
+      rev     = "v1.3.0";
       version = "1.3.0";
       sha256  = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9";
     };
@@ -312,13 +356,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.8.1";
-      sha256  = "0jcc3i10x0qz7sj8l5yv98jc2g32a6yhdpc45sq33wmhcvp1fsn4";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "04hd9n9jm72fi81cmdz0yf374fg52r8yinsxy0ag29rd3r2l1k81";
     };
   librato =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-librato";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923";
     };
@@ -326,20 +372,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-linode";
-      version = "1.8.0";
-      sha256  = "1jgh2ij58a5mr6ns604cfpvfvr19qr0q51j57gvchz53iv683m9q";
+      rev     = "v1.9.1";
+      version = "1.9.1";
+      sha256  = "10f7nij91fhgf1808r6rv3l13nz7p37mcln5p3nfvhsxskss3vxn";
     };
   local =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-local";
-      version = "1.3.0";
-      sha256  = "1z6b52vdq7wzzipldys28z45glwgj9k15ighjix1dy78mzi0p99n";
+      rev     = "v1.4.0";
+      version = "1.4.0";
+      sha256  = "1k1kbdn99ypn1pi6vqbs1l9a8vvf4vs32wl8waa16i26514sz1wk";
     };
   logentries =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logentries";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
     };
@@ -347,6 +396,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logicmonitor";
+      rev     = "v1.2.1";
       version = "1.2.1";
       sha256  = "1fcv5g92l6xr4x69h9rg48zazjr99wrz9mkmr122fyq9s7kdd98y";
     };
@@ -354,20 +404,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mailgun";
-      version = "0.1.0";
-      sha256  = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj";
+      rev     = "v0.4.1";
+      version = "0.4.1";
+      sha256  = "1l76pg4hmww9zg2n4rkhm5dwjh42fxri6d41ih1bf670krkxwsmz";
     };
   mysql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      version = "1.7.0";
-      sha256  = "19l1ihp5jlaahm8zncjlrnfw8d8gcpnq3z6pn421j1x0d5v5vw9b";
+      rev     = "v1.9.0";
+      version = "1.9.0";
+      sha256  = "14gxxki3jhncv3s2x828ns2vgmf2xxzigdyp9b54mbkw5rnv1k2g";
     };
   netlify =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-netlify";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "0mmbli6d3fbpyvvdfsg32f1w83g8ga3x21b36rgmx3mn156r7yij";
     };
@@ -375,34 +428,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-newrelic";
-      version = "1.5.1";
-      sha256  = "1xrwh9m1sig4hd2vvb7apy2gh8rz15wdrajggzmmpc1z1rlhf90p";
+      rev     = "v1.8.0";
+      version = "1.8.0";
+      sha256  = "16fdif6hshdb1aswv22k590rcr3f6b3a9gmg8vc4lbyi6l2dfabd";
     };
   nomad =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nomad";
-      version = "1.4.1";
-      sha256  = "1v4wwinnb2qc71jgil4607kgdccjivssabqgb5l3yk8pwfidgdnr";
+      rev     = "v1.4.2";
+      version = "1.4.2";
+      sha256  = "0h0snkzqdi4g5lp78f5pq98x6556ldwgkg9p9jkmrg04y7928w5v";
     };
   ns1 =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "1.5.0";
-      sha256  = "1m6f1hsx2gcb5b50sm8cj04hkmn71xlxji8qwlswasz2sg1sllrx";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "0zyn165h42p640k1q85x3n8fw1fs9j72z9lnfa8pas89jy2fmi8b";
     };
   nsxt =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nsxt";
-      version = "1.1.1";
-      sha256  = "19bbycify25bshpyq65qjxnl72b6wmwwwdb7hxl94hhbgx2c9z29";
+      rev     = "v1.1.2";
+      version = "1.1.2";
+      sha256  = "1hnxivad7371j363sp3460mfzl5alb3dhxsbp0qwfl5mzvriwrbl";
     };
   null =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-null";
+      rev     = "v2.1.2";
       version = "2.1.2";
       sha256  = "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2";
     };
@@ -410,20 +468,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nutanix";
-      version = "1.0.1";
-      sha256  = "1g7p6qg32g75x8fgspgxcdsa086mz3yabdgv1k68rykhw3zbri5d";
+      rev     = "v1.0.2";
+      version = "1.0.2";
+      sha256  = "17sgsxsh8minirks08c6gz52cf7ndn220sx4xzi6bq64yi6qw2yc";
     };
   oci =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      version = "3.37.0-rc1";
-      sha256  = "0ahqnh9qzixp434qn2ckj8p32kb9x26l1xz8yr84h6sqfrn58bcv";
+      rev     = "v3.54.0-rc1";
+      version = "3.54.0-rc1";
+      sha256  = "14mfkjjpq4sfw0j4w1mnh37x9kwn76rs1y6cjqq9zb8fnhva6gax";
     };
   oneandone =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oneandone";
+      rev     = "v1.3.0";
       version = "1.3.0";
       sha256  = "0c412nqg3k17124i51nn3ffra6gcll904h37h7hyvz97cdblcncn";
     };
@@ -431,6 +492,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
+      rev     = "v1.3.7";
       version = "1.3.7";
       sha256  = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w";
     };
@@ -438,34 +500,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.21.1";
-      sha256  = "0nvhn2bnk11sz4i98yw7rpxi8b3c2y04qq37ybvqx2jyi3n9kj30";
+      rev     = "v1.24.0";
+      version = "1.24.0";
+      sha256  = "1w82ix6l6ad7q0zl00hys8c4gm27nnk12wm2n8i3prwpjnrar70m";
     };
   opentelekomcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opentelekomcloud";
-      version = "1.11.0";
-      sha256  = "175j2bbw3bdbjq1b7b1kwsr8iay9aafz165d0brfpb8gf096y7xa";
+      rev     = "v1.14.0";
+      version = "1.14.0";
+      sha256  = "1mjb6br8iy76q417lmg04xnv4hkgi2fgdn3qnr3nvlwnnccp230k";
     };
   opsgenie =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opsgenie";
-      version = "0.1.0";
-      sha256  = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm";
+      rev     = "v0.2.5";
+      version = "0.2.5";
+      sha256  = "0brjqnlnxqss285n2g1z006bibbdh5v47g75l5kyhyhhchavccma";
     };
   oraclepaas =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oraclepaas";
-      version = "1.5.2";
-      sha256  = "0m886wfg5ski8s1zr7g1h1m6q5ai08jk35ymipxpb6ipx781qvvk";
+      rev     = "v1.5.3";
+      version = "1.5.3";
+      sha256  = "0xb03b5jgm06rgrllib6zj1nkh54zv2mqjnyfflgnazpf4c1ia15";
     };
   ovh =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ovh";
+      rev     = "v0.5.0";
       version = "0.5.0";
       sha256  = "07n8ismxbv0gngh4kibqhr4ndqkrg6gxbpj3zl764rrwp54gwgbw";
     };
@@ -473,41 +540,47 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "2.3.0";
-      sha256  = "1v2758wjhrn7rhwdx658w3sf1q5lp4cawl6llbv4p16c5fyzwwc2";
+      rev     = "v2.7.1";
+      version = "2.7.1";
+      sha256  = "1hmja9c8ab66yr814psz1zsa4y0nbmd5rcnp3qxdgizp45yrvz3i";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "1.3.1";
-      sha256  = "1x29ya0xcjj2b3x2q2q7iyqric8vswf18a5bwhwv2017c1g4n299";
+      rev     = "v1.4.1";
+      version = "1.4.1";
+      sha256  = "0dmafnlziyczad907isjqzsn1fyjzc8pdigp3m6114bbnca0ry5k";
     };
   panos =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-panos";
-      version = "1.5.2";
-      sha256  = "0sycgr4k4dlhxj5klmgg2xcw3xha06332ij8cfzz4xvgdq0xky3j";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "06hwi426x7ipmn4dbg5dyv9z84sxaa8q1jlcd2l264n9s2y3xhiq";
     };
   postgresql =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-postgresql";
-      version = "1.1.0";
-      sha256  = "1dxspqajfy8dmplasazi4s34f47n1qz7qg2dr9ypdvd3jp63072w";
+      rev     = "v1.3.0";
+      version = "1.3.0";
+      sha256  = "14ma5lm6ng52dfl8bl4rmpy8ylnkbvnbskvkr6r5sn28x51p601y";
     };
   powerdns =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-powerdns";
-      version = "1.0.0";
-      sha256  = "1qh4z69b0sqxwjjgc8xis165gdszav9yc85ba6pgyl3wbymkld30";
+      rev     = "v1.2.0";
+      version = "1.2.0";
+      sha256  = "1108hq4z4is305hnbkn95gv0f5lx5l27wvxvq0g03fcdqdimkrfn";
     };
   profitbricks =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-profitbricks";
+      rev     = "v1.4.4";
       version = "1.4.4";
       sha256  = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i";
     };
@@ -515,6 +588,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rabbitmq";
+      rev     = "v1.1.0";
       version = "1.1.0";
       sha256  = "0xihc44923kx8c3v6wrvczzbhmbjkhy7dhgx3sy5sqhmm22y0gys";
     };
@@ -522,6 +596,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rancher";
+      rev     = "v1.4.0";
       version = "1.4.0";
       sha256  = "106arszmdjmgrz4iv01bbf72jarn7zjqvmc43b6n1s3lzd7jnfpc";
     };
@@ -529,13 +604,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "2.2.0";
-      sha256  = "0vg33jbvyxvg4dwcwjb2p57jjkq7qj50d356r4a1f2ysl2axwwjw";
+      rev     = "v2.2.1";
+      version = "2.2.1";
+      sha256  = "1qklsxj443vsj61lwl7qf7xwgnllwcvb2yk6s0kn9g3iq63pcv30";
     };
   rightscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rightscale";
+      rev     = "v1.3.1";
       version = "1.3.1";
       sha256  = "0abwxaghrxpahpsk6kd02fjh0rhck4xsdrzcpv629yh8ip9rzcaj";
     };
@@ -543,6 +620,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-rundeck";
+      rev     = "v0.4.0";
       version = "0.4.0";
       sha256  = "1x131djsny8w84yf7w2il33wlc3ysy3k399dziii2lmq4h8sgrpr";
     };
@@ -550,6 +628,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-runscope";
+      rev     = "v0.6.0";
       version = "0.6.0";
       sha256  = "1fsph2cnyvzdwa5hwdjabfk4azmc3x8a7afpwpawxfdvqhgpr595";
     };
@@ -557,20 +636,23 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "1.10.0";
-      sha256  = "0sbcvcd413f53b25piymmh4rfmlmqsxdscpar8gf2dx6mrsacgf0";
+      rev     = "v1.12.0";
+      version = "1.12.0";
+      sha256  = "0044fq5jkdx2ryc2bxqajkrngs6z81kd2narg4zxvfn0r1bfswvc";
     };
   selectel =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-selectel";
-      version = "2.3.0";
-      sha256  = "0n0nqlajcx44zxbc2k58lv3jy2y6p9zqkby2vy5a2856kcksm7pf";
+      rev     = "v3.0.0";
+      version = "3.0.0";
+      sha256  = "0fr97j85inaqvdqmlfk3xcq73zvncn001nsd03pp2ws30qqa8p7r";
     };
   skytap =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-skytap";
+      rev     = "v0.11.1";
       version = "0.11.1";
       sha256  = "1mlv6jp6lp47chcnsmx8dzy01bxpb9jx1wl122lxd88app9nxq1k";
     };
@@ -578,6 +660,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-softlayer";
+      rev     = "v0.0.1";
       version = "0.0.1";
       sha256  = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq";
     };
@@ -585,13 +668,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-spotinst";
-      version = "1.13.3";
-      sha256  = "0s75xlw8y3rz1ik11dnh3dzkk1jfklvq3wsf2fam0789z2j1zr1m";
+      rev     = "v1.13.4";
+      version = "1.13.4";
+      sha256  = "063lhm065y6qh9b2k11qjnqyfg5zrx6wa3bqrm7d1dqcha1i6d9f";
     };
   statuscake =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-statuscake";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "1x295va6c72465cxps0kx3rrb7s9aip2cniy6icsg1b2yrsb9b26";
     };
@@ -599,6 +684,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-telefonicaopencloud";
+      rev     = "v1.0.0";
       version = "1.0.0";
       sha256  = "1761wkjz3d2458xl7855lxklyxgyk05fddh92rp6975y0ca6xa5m";
     };
@@ -606,6 +692,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-template";
+      rev     = "v2.1.2";
       version = "2.1.2";
       sha256  = "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q";
     };
@@ -613,13 +700,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      version = "1.15.0";
-      sha256  = "1ics91fxsl1z1wqd961wdn2s22ck25yphp341qlbs8ln2dcwk8r7";
+      rev     = "v1.25.2";
+      version = "1.25.2";
+      sha256  = "1pf4l9rvkarl4vhf51np4kdqcgs4jhsr5gw7vs6rn8gv97lb40kw";
     };
   terraform =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-terraform";
+      rev     = "v1.0.2";
       version = "1.0.2";
       sha256  = "1aj6g6l68n9kqmxfjlkwwxnac7fhha6wrmvsw4yylf0qyssww75v";
     };
@@ -627,34 +716,39 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tfe";
-      version = "0.10.1";
-      sha256  = "09hrdschgydnziq1sv6ql7gc4qwx8j4dnmx4fdw8452qpszk17n2";
+      rev     = "v0.11.1";
+      version = "0.11.1";
+      sha256  = "0iagddaivpd7cxgf8ha2pk0m66gi4a804s86fsxla0j1knmmyra0";
     };
   tls =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "2.0.1";
-      sha256  = "08fh4k5fvkijl2ds8mxdc5fxlwhs11y5s48vvxdskklvkjhygzc7";
+      rev     = "v2.1.1";
+      version = "2.1.1";
+      sha256  = "1qsx540pjcq4ra034q2dwnw5nmzab5h1c3vm20ppg5dkhhyiizq8";
     };
   triton =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.5.1";
-      sha256  = "1bn5x6nmhfkrzpxhyfclls85l9qqffvzx1xsgcb3368lhwzarn2f";
+      rev     = "v0.6.0";
+      version = "0.6.0";
+      sha256  = "10z032fa64sd8d6r4v2f4m7gp93v8wb2zk2r13fflzg5rfk5740z";
     };
   ucloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ucloud";
-      version = "1.11.1";
-      sha256  = "1la5kapdwpd2f6x00yc9j25rl8qkrndgqpzp2jp6mcbj5zif82ns";
+      rev     = "v1.14.1";
+      version = "1.14.1";
+      sha256  = "04vi87q2fhy907l7rwsbq5p6l9vm6avm1hbf9qwddkbxx2kjjf64";
     };
   ultradns =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ultradns";
+      rev     = "v0.1.0";
       version = "0.1.0";
       sha256  = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj";
     };
@@ -662,41 +756,71 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "2.2.0";
-      sha256  = "0k9frx29pjrrx67cwzsrnj0x90ff5k99l5yzfgb58sajkz1j8nln";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "0sw1swy2j9n3ji48sxmj093zzlq7sdmp8ixmz488ps3m4jjyfk6k";
     };
   vcd =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vcd";
-      version = "2.4.0";
-      sha256  = "020wmdl5cbma9r7sv3bx6v8b59w5nwkzgwj4xm7a2s6kn8jygr2x";
+      rev     = "v2.5.0";
+      version = "2.5.0";
+      sha256  = "0h78ij9rkx43i9kdcfy7waa6xyn2j40zgm6im3zp0yswy6vjlcyq";
     };
   vsphere =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "1.12.0";
-      sha256  = "0g3pnk2b4dmz5bkr7xjpp45dwy767k6a02rjva38xls185qs7i7c";
+      rev     = "v1.13.0";
+      version = "1.13.0";
+      sha256  = "10gl042l5mlmklhjjknwln1qcwl65xz8sbg1acyv8xkb6nsaxcf1";
     };
   yandex =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      version = "0.9.0";
-      sha256  = "0x3l0pbpdsm43jsx42xzc46r9j40l7szkcf851q16wsxf70lchqr";
+      rev     = "v0.24.0";
+      version = "0.24.0";
+      sha256  = "0a9isivn3ni0d1id8ww97xbcwrxc0c4pn1m1q21cipqs6mwksq9m";
+    };
+  segment =
+    {
+      owner   = "ajbosco";
+      repo    = "terraform-provider-segment";
+      rev     = "v0.2.0";
+      version = "0.2.0";
+      sha256  = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz";
+    };
+  pass =
+    {
+      owner   = "camptocamp";
+      repo    = "terraform-provider-pass";
+      rev     = "1.2.1";
+      version = "1.2.1";
+      sha256  = "1hf5mvgz5ycp7shiy8px205d9kwswfjmclg7mlh9a55bkraffahk";
     };
   matchbox =
     {
       owner   = "poseidon";
       repo    = "terraform-provider-matchbox";
+      rev     = "v0.3.0";
       version = "0.3.0";
       sha256  = "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3";
     };
+  wavefront =
+    {
+      owner   = "spaceapegames";
+      repo    = "terraform-provider-wavefront";
+      rev     = "v2.1.1";
+      version = "2.1.1";
+      sha256  = "0cbs74kd820i8f13a9jfbwh2y5zmmx3c2mp07qy7m0xx3m78jksn";
+    };
   nixos =
     {
       owner   = "tweag";
       repo    = "terraform-provider-nixos";
+      rev     = "v0.0.1";
       version = "0.0.1";
       sha256  = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf";
     };
@@ -704,21 +828,8 @@
     {
       owner   = "tweag";
       repo    = "terraform-provider-secret";
-      version = "1.0.0";
-      sha256  = "03q78d0g3b4j4213qjlacj1adh7hjwcqcqrwm8c2r2k5w9kb25k0";
-    };
-  segment =
-    {
-      owner   = "ajbosco";
-      repo    = "terraform-provider-segment";
-      version = "0.2.0";
-      sha256  = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz";
-    };
-  wavefront =
-    {
-      owner   = "spaceapegames";
-      repo    = "terraform-provider-wavefront";
-      version = "2.1.0";
-      sha256  = "1ir2wkg5mfng7h5544kar1arkjb5ffjhki5qr25a5x0rpwlg99sx";
+      rev     = "v1.1.0";
+      version = "1.1.0";
+      sha256  = "09gv0fpsrxzgna0xrhrdk8d4va9s0gvdbz596r306qxb4mip4w3r";
     };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 83157c90a48..6298c25ba25 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -9,13 +9,12 @@ let
 
   toDrv = data:
     buildGoPackage rec {
-      inherit (data) owner repo version sha256;
+      inherit (data) owner repo rev version sha256;
       name = "${repo}-${version}";
       goPackagePath = "github.com/${owner}/${repo}";
       subPackages = [ "." ];
       src = fetchFromGitHub {
-        inherit owner repo sha256;
-        rev = "v${version}";
+        inherit owner repo rev sha256;
       };
 
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.txt b/pkgs/applications/networking/cluster/terraform-providers/providers.txt
index d04f85fe455..bdde6600678 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.txt
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.txt
@@ -9,17 +9,10 @@
 # include all terraform-providers
 terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\)
 
-# include terraform-provider-matchbox
+# include providers from individual repos
+ajbosco/terraform-provider-segment
+camptocamp/terraform-provider-pass
 poseidon/terraform-provider-matchbox
-
-# include terraform-provider-nixos
+spaceapegames/terraform-provider-wavefront
 tweag/terraform-provider-nixos
-
-# include terraform-provider-secret
 tweag/terraform-provider-secret
-
-# include terraform-provider-segment
-ajbosco/terraform-provider-segment
-
-# include terraform-provider-wavefront
-spaceapegames/terraform-provider-wavefront
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-all b/pkgs/applications/networking/cluster/terraform-providers/update-all
index 2009d474db7..893a6b1c7d7 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-all
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-all
@@ -58,12 +58,14 @@ prefetch_github() {
 echo_entry() {
   local owner=$1
   local repo=$2
-  local version=${3:1}
+  local rev=$3
+  local version=$(echo $3 | sed 's/^v//')
   local sha256=$4
   cat <<EOF
 {
   owner   = "$owner";
   repo    = "$repo";
+  rev     = "$rev";
   version = "$version";
   sha256  = "$sha256";
 };
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 9bf29d87812..e7551c17ff9 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -1,28 +1,20 @@
-{ stdenv
-, lib
-, buildEnv
-, buildGoPackage
-, fetchFromGitHub
-, makeWrapper
-, runCommand
-, writeText
-, terraform-providers
-}:
+{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper
+, runCommand, writeText, terraform-providers }:
 
 let
   goPackagePath = "github.com/hashicorp/terraform";
 
   generic = { version, sha256, ... }@attrs:
-    let attrs' = builtins.removeAttrs attrs ["version" "sha256"]; in
-    buildGoPackage ({
+    let attrs' = builtins.removeAttrs attrs [ "version" "sha256" ];
+    in buildGoPackage ({
       name = "terraform-${version}";
 
       inherit goPackagePath;
 
       src = fetchFromGitHub {
-        owner  = "hashicorp";
-        repo   = "terraform";
-        rev    = "v${version}";
+        owner = "hashicorp";
+        repo = "terraform";
+        rev = "v${version}";
         inherit sha256;
       };
 
@@ -40,10 +32,17 @@ let
       '';
 
       meta = with stdenv.lib; {
-        description = "Tool for building, changing, and versioning infrastructure";
-        homepage = https://www.terraform.io/;
+        description =
+          "Tool for building, changing, and versioning infrastructure";
+        homepage = "https://www.terraform.io/";
         license = licenses.mpl20;
-        maintainers = with maintainers; [ zimbatm peterhoeg kalbasit marsam ];
+        maintainers = with maintainers; [
+          zimbatm
+          peterhoeg
+          kalbasit
+          marsam
+          babariviere
+        ];
       };
     } // attrs');
 
@@ -54,38 +53,54 @@ let
           actualPlugins = plugins terraform.plugins;
 
           # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
-          wrapperInputs = lib.unique (lib.flatten (lib.catAttrs "propagatedBuildInputs" (builtins.filter (x: x != null) actualPlugins)));
+          wrapperInputs = lib.unique (lib.flatten
+            (lib.catAttrs "propagatedBuildInputs"
+              (builtins.filter (x: x != null) actualPlugins)));
 
           passthru = {
-            withPlugins = newplugins: withPlugins (x: newplugins x ++ actualPlugins);
+            withPlugins = newplugins:
+              withPlugins (x: newplugins x ++ actualPlugins);
             full = withPlugins lib.attrValues;
 
             # Ouch
-            overrideDerivation = f: (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
-            overrideAttrs = f: (pluggable (terraform.overrideAttrs f)).withPlugins plugins;
-            override = x: (pluggable (terraform.override x)).withPlugins plugins;
+            overrideDerivation = f:
+              (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
+            overrideAttrs = f:
+              (pluggable (terraform.overrideAttrs f)).withPlugins plugins;
+            override = x:
+              (pluggable (terraform.override x)).withPlugins plugins;
           };
-        in
           # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading
           # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
-          if actualPlugins == []
-            then terraform.overrideAttrs (orig: { passthru = orig.passthru // passthru; })
-            else lib.appendToName "with-plugins"(stdenv.mkDerivation {
-              inherit (terraform) name;
-              buildInputs = [ makeWrapper ];
-
-              buildCommand = ''
-                mkdir -p $out/bin/
-                makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
-                  --set NIX_TERRAFORM_PLUGIN_DIR "${buildEnv { name = "tf-plugin-env"; paths = actualPlugins; }}/bin" \
-                  --prefix PATH : "${lib.makeBinPath wrapperInputs}"
-              '';
-
-              inherit passthru;
-            });
-    in withPlugins (_: []);
-
-  plugins = removeAttrs terraform-providers ["override" "overrideDerivation" "recurseForDerivations"];
+        in if actualPlugins == [ ] then
+          terraform.overrideAttrs
+          (orig: { passthru = orig.passthru // passthru; })
+        else
+          lib.appendToName "with-plugins" (stdenv.mkDerivation {
+            inherit (terraform) name;
+            buildInputs = [ makeWrapper ];
+
+            buildCommand = ''
+              mkdir -p $out/bin/
+              makeWrapper "${terraform.bin}/bin/terraform" "$out/bin/terraform" \
+                --set NIX_TERRAFORM_PLUGIN_DIR "${
+                  buildEnv {
+                    name = "tf-plugin-env";
+                    paths = actualPlugins;
+                  }
+                }/bin" \
+                --prefix PATH : "${lib.makeBinPath wrapperInputs}"
+            '';
+
+            inherit passthru;
+          });
+    in withPlugins (_: [ ]);
+
+  plugins = removeAttrs terraform-providers [
+    "override"
+    "overrideDerivation"
+    "recurseForDerivations"
+  ];
 in rec {
   terraform_0_11 = pluggable (generic {
     version = "0.11.14";
@@ -97,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.13";
-    sha256 = "11nbr9avw6jx349jdmxgxiawk8i5mpw3p4rrl89yly0wfhg0fh4a";
+    version = "0.12.18";
+    sha256 = "1p2rvs9dw2rzzggf3q2lifwbd82b7xb3jpb4yz5nmggn5g22qlc1";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
@@ -112,8 +127,8 @@ in rec {
       resource "random_id" "test" {}
     '';
     terraform = terraform_0_11.withPlugins (p: [ p.random ]);
-    test = runCommand "terraform-plugin-test" { buildInputs = [terraform]; }
-      ''
+    test =
+      runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
         set -e
         # make it fail outside of sandbox
         export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
diff --git a/pkgs/applications/networking/datovka/default.nix b/pkgs/applications/networking/datovka/default.nix
new file mode 100644
index 00000000000..12bad094fca
--- /dev/null
+++ b/pkgs/applications/networking/datovka/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, mkDerivation
+, fetchurl
+, libxml2
+, libisds
+, qmake
+, qtbase
+, qtsvg
+, pkg-config
+}:
+
+mkDerivation rec {
+  pname = "datovka";
+  version = "4.14.1";
+
+  src = fetchurl {
+    url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
+    sha256 = "0jinxsm2zw77294vz9pjiqpgpzdwx5nijsi4nqzxna5rkmwdyxk6";
+  };
+
+  buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  meta = with stdenv.lib; {
+    description = "Client application for operating Czech government-provided Databox infomation system";
+    homepage = "https://www.datovka.cz/";
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
index 589cd04057e..a84de638066 100644
--- a/pkgs/applications/networking/davmail/default.nix
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "davmail";
-  version = "5.2.0";
+  version = "5.4.0";
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-2961.zip";
-    sha256 = "0jw6sjg7k7zg8ab0srz6cjjj5hnw5ppxx1w35sw055dlg54fh2m5";
+    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}-3135.zip";
+    sha256 = "05n2j5canh046744arvni6yfdsandvjkld93w3p7rg116jrh19gq";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/networking/dsvpn/default.nix b/pkgs/applications/networking/dsvpn/default.nix
index 4958d290529..04d3887bf4e 100644
--- a/pkgs/applications/networking/dsvpn/default.nix
+++ b/pkgs/applications/networking/dsvpn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dsvpn";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "jedisct1";
     repo = pname;
     rev = version;
-    sha256 = "1jl9b23s2glims09mb1sq01kaf10bfjsd3qsgk68mp5kvy9f3gj2";
+    sha256 = "1gbj3slwmq990qxsbsaxasi98alnnzv3adp6f8w8sxd4gi6qxhdh";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index 5b1ab692abd..402017e129d 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -1,37 +1,49 @@
-{ stdenv, fetchurl, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, python, glibcLocales }:
+
+let
+  # errbot requires markdown<3, and is not compatible with it either.
+  py = python.override {
+    packageOverrides = self: super: {
+      markdown = super.markdown.overridePythonAttrs (oldAttrs: rec {
+        version = "2.6.11";
+        src = super.fetchPypi {
+          pname = "Markdown";
+          inherit version;
+          sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
+        };
+      });
+    };
+  };
 
-pythonPackages.buildPythonApplication rec {
+in
+py.pkgs.buildPythonApplication rec {
   pname = "errbot";
-  version = "5.2.0";
+  version = "6.1.1";
 
-  src = fetchurl {
-    url = "mirror://pypi/e/errbot/${pname}-${version}.tar.gz";
-    sha256 = "0q5fg113s3gnym38d4y5mlnxw6vrm388zw5mlapf7b2zgx34r053";
+  src = fetchFromGitHub {
+    owner = "errbotio";
+    repo = "errbot";
+    rev = version;
+    sha256 = "1s4dl1za5imwsv6j3y7m47dy91hmqd5n221kkqm9ni4mpzgpffz0";
   };
 
-  disabled = !pythonPackages.isPy3k;
-
   LC_ALL = "en_US.utf8";
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace dnspython3 dnspython \
-      --replace 'cryptography<2.1.0' cryptography \
-      --replace 'pyOpenSSL<17.3.0' pyOpenSSL
-  '';
-
-  # tests folder is not included in release
-  doCheck = false;
-
   buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = with pythonPackages; [
-    webtest bottle threadpool rocket-errbot requests jinja2
-    pyopenssl colorlog Yapsy markdown ansi pygments dnspython pep8
+  propagatedBuildInputs = with py.pkgs; [
+    webtest requests jinja2 flask dulwich
+    pyopenssl colorlog markdown ansi pygments
     daemonize pygments-markdown-lexer telegram irc slackclient
-    sleekxmpp hypchat pytest
+    sleekxmpp pyasn1 pyasn1-modules hypchat
   ];
 
-  meta = with stdenv.lib; {
+  checkInputs = with py.pkgs; [ mock pytest ];
+  # avoid tests that do network calls
+  checkPhase = ''
+    pytest tests -k 'not backup and not broken_plugin and not plugin_cycle'
+  '';
+
+  meta = with lib; {
     description = "Chatbot designed to be simple to extend with plugins written in Python";
     homepage = http://errbot.io/;
     maintainers = with maintainers; [ fpletz globin ];
diff --git a/pkgs/applications/networking/feedreaders/castget/default.nix b/pkgs/applications/networking/feedreaders/castget/default.nix
index 83132f03014..33f8d8ca238 100644
--- a/pkgs/applications/networking/feedreaders/castget/default.nix
+++ b/pkgs/applications/networking/feedreaders/castget/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
       castget is a simple, command-line based RSS enclosure downloader. It is
       primarily intended for automatic, unattended downloading of podcasts.
     '';
-    homepage = "http://castget.johndal.com/";
+    homepage = "https://castget.johndal.com/";
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix
index 350e96a94a7..c336d2d0bba 100644
--- a/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, gettext, python3
 , appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts, fetchpatch
-, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas
+, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, pantheon
 , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
 }:
 
@@ -40,6 +40,12 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A modern desktop application designed to complement existing web-based RSS accounts";
     homepage = https://jangernert.github.io/FeedReader/;
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index 8ff8041e467..a4b78110d33 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, rustPlatform, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
+{ stdenv, rustPlatform, fetchFromGitHub, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
 , asciidoc, docbook_xml_dtd_45, libxslt, docbook_xsl, libiconv, Security, makeWrapper }:
 
 rustPlatform.buildRustPackage rec {
   pname = "newsboat";
   version = "2.17.1";
 
-  src = fetchurl {
-    url = "https://newsboat.org/releases/${version}/${pname}-${version}.tar.xz";
-    sha256 = "15qr2y35yvl0hzsf34d863n8v042v78ks6ksh5p1awvi055x5sy1";
+  src = fetchFromGitHub {
+    owner = "newsboat";
+    repo = "newsboat";
+    rev = "r${version}";
+    sha256 = "1xdy45rc3zzmf59zzszq9wpks6pvc0flmmwak39ww7laj2vgb4a7";
   };
 
   cargoSha256 = "0db4j6y43gacazrvcmq823fzl5pdfdlg8mkjpysrw6h9fxisq83f";
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 169b88f2718..2bb592bfb42 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =  [ qtwebengine qttools ];
-  nativeBuildInputs = [ qmake wrapGAppsHook ];
+  nativeBuildInputs = [ qmake wrapGAppsHook wrapQtAppsHook ];
   qmakeFlags = [ "CONFIG+=release" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index bbd9a7601ac..19f813e5c75 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -3,10 +3,10 @@
 
 buildPythonApplication rec {
   pname = "flent";
-  version = "1.3.0";
+  version = "1.3.2";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "099779i0ghjd9ikq77z6m6scnlmk946lw9issrgz8zm7babiw4d7";
+    sha256 = "1k265xxxjld6q38m9lsgy7p0j70qp9a49vh9zg0njbi4i21lxq23";
   };
 
   buildInputs = [ sphinx ];
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index f12fdefc781..f1b809009ad 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.45.1";
+  version = "3.46.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1hhyknmbvkyq50m7lp41n7g0818frpig8xmxliy501bz4jkhi748";
+    sha256 = "0v7656p7b6w88a96wj8058b13yxbwi186l092i9whrisngnv2pnf";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/ftp/taxi/default.nix b/pkgs/applications/networking/ftp/taxi/default.nix
index b18809f21be..cb40c347e1c 100644
--- a/pkgs/applications/networking/ftp/taxi/default.nix
+++ b/pkgs/applications/networking/ftp/taxi/default.nix
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The FTP Client that drives you anywhere";
     homepage    = https://github.com/Alecaddd/taxi;
diff --git a/pkgs/applications/networking/gmailieer/default.nix b/pkgs/applications/networking/gmailieer/default.nix
index e37dc9e7cac..a20728e2199 100644
--- a/pkgs/applications/networking/gmailieer/default.nix
+++ b/pkgs/applications/networking/gmailieer/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "gmailieer-${version}";
-  version = "0.11";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "gauteh";
     repo = "gmailieer";
     rev = "v${version}";
-    sha256 = "0gjmb8s3d7nj9jp5zkz5q6a59777ay6b1sg4ghl8iw9m8l4h42xa";
+    sha256 = "1zzylv8xbcrh34bz0s29dawzcyx39lai8y8wk0bl4x75v1jfynvf";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 5f6aca51fee..1e6a0fd5b7f 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,16 +1,16 @@
 { callPackage }:
 
 let
-  stableVersion = "2.2.1";
-  previewVersion = "2.2.1";
+  stableVersion = "2.2.3";
+  previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
     in args // { inherit version branch; };
   mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
-  guiSrcHash = "16v2sdz37vm8x8w07qxaq2mbx169f9hqqpxnf1lq19v9dfhb19kh";
-  serverSrcHash = "0liv9fwi2746542qpnvwzf5wcrsxfv6x5jypwd5db1qkfd50s8xa";
+  guiSrcHash = "1l40q3d3hsmhgwb4d8hj73vhgckm0dvsc6l6qzacypd202iq1v8a";
+  serverSrcHash = "1qcypb1rmfdl8fl3ykqf5phcapmjid6jrxd6xpncd5dhyl2hr94n";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/gopher/gopher/default.nix b/pkgs/applications/networking/gopher/gopher/default.nix
index 4fcdf55777a..f90e35ca7e2 100644
--- a/pkgs/applications/networking/gopher/gopher/default.nix
+++ b/pkgs/applications/networking/gopher/gopher/default.nix
@@ -1,23 +1,25 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "gopher";
-  version = "3.0.11";
+  version = "3.0.17";
 
-  src = fetchurl {
-    url = "http://gopher.quux.org:70/devel/gopher/Downloads/gopher_${version}.tar.gz";
-    sha256 = "15r7x518wlpfqpd6z0hbdwm8rw8ll8hbpskdqgxxhrmy00aa7w9c";
+  src = fetchFromGitHub {
+    owner = "jgoerzen";
+    repo = pname;
+    rev = "release/${version}";
+    sha256 = "1j6xh5l8v231d4mwl9gj1c34dc0jmazz6zg1qqfxmqr9y609jq3h";
   };
 
   buildInputs = [ ncurses ];
 
   preConfigure = "export LIBS=-lncurses";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://gopher.quux.org:70/devel/gopher;
     description = "A ncurses gopher client";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
+    platforms = platforms.linux; # clang doesn't like local regex.h
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix
new file mode 100644
index 00000000000..75c1cdaece9
--- /dev/null
+++ b/pkgs/applications/networking/hydroxide/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+
+buildGoModule rec {
+  pname = "hydroxide";
+  version = "0.2.11";
+
+  src = fetchFromGitHub {
+    owner = "emersion";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand";
+  };
+
+  modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp";
+
+  # FIXME: remove with next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch";
+      sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj";
+    })
+  ];
+
+  subPackages = [ "cmd/hydroxide" ];
+
+  meta = with lib; {
+    description = "A third-party, open-source ProtonMail bridge";
+    homepage = "https://github.com/emersion/hydroxide";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index b087a6c3ae3..947abc39c21 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchurl {
     url = "https://www.zeek.org/downloads/zeek-${version}.tar.gz";
-    sha256 = "16pz5fh0z1hmvhn8pxqmdm5a9d8mqrp4gxpxkaywnaqk2h598lmm";
+    sha256 = "1lhik212wrbi092qizc08f3i0b9pj318sxwm0abc5jc3v3pz7x3r";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index f905f90aebd..a3497df1716 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -3,11 +3,11 @@
 , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.6.4";
+  version = "0.6.5";
   pname = "baresip";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "10bmb7wiqzjdp51kjahmsp7gkvnqp91mfz0nmwgsw1n4pv8hnwb1";
+    sha256 = "13di0ycdcr2q2a20mjvyaqfmvk5xldwqaxklqsz7470jnbc5n0rb";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [zlib openssl libre librem cairo mpg123
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index aefde289db5..917610216ae 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr, python
+{ fetchurl, fetchpatch, stdenv, gnutls, glib, pkgconfig, check, libotr, python
 , enableLibPurple ? false, pidgin ? null
 , enablePam ? false, pam ? null
 }:
@@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
   ] ++ optional enableLibPurple "--purple=1"
     ++ optional enablePam "--pam=1";
 
+  patches = [
+    # This should be dropped once the issue is fixed upstream.
+    (fetchpatch {
+      url = "https://github.com/bitlbee/bitlbee/commit/6ff651b3ec93e5fd74f80766d5e9714d963137bc.diff";
+      sha256 = "144dpm4kq7c268fpww1q3n88ayg068n73fbabr5arh1zryw48qfv";
+    })
+  ];
+
   installTargets = [ "install" "install-dev" ];
 
   doCheck = !enableLibPurple; # Checks fail with libpurple for some reason
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
index 62d0d738b50..b6e13fe403d 100644
--- a/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -44,11 +44,6 @@ mkDerivationWith pythonPackages.buildPythonApplication rec {
 
   dontWrapQtApps = true;
 
-  makeWrapperArgs = [
-    "\${qtWrapperArgs[@]}"
-    "--prefix LD_LIBRARY_PATH: ${gnutls.out}/lib"
-  ];
-
   postInstall = ''
     mkdir -p "$out/share/applications"
     mkdir -p "$out/share/pixmaps"
@@ -56,6 +51,13 @@ mkDerivationWith pythonPackages.buildPythonApplication rec {
     cp "$out"/share/blink/icons/blink.* "$out/share/pixmaps"
   '';
 
+  preFixup = ''
+    makeWrapperArgs+=(
+      --prefix "LD_LIBRARY_PATH" ":" "${gnutls.out}/lib"
+      "''${qtWrapperArgs[@]}"
+    )
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://icanblink.com/;
     description = "A state of the art, easy to use SIP client for Voice, Video and IM";
diff --git a/pkgs/applications/networking/instant-messengers/discord/base.nix b/pkgs/applications/networking/instant-messengers/discord/base.nix
index 4dadcb6ce23..6e4a914ecb0 100644
--- a/pkgs/applications/networking/instant-messengers/discord/base.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/base.nix
@@ -48,6 +48,7 @@ in stdenv.mkDerivation rec {
     inherit desktopName;
     genericName = meta.description;
     categories = "Network;InstantMessaging;";
+    mimeType = "x-scheme-handler/discord";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index a54c4f4955a..70b36c66387 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -27,10 +27,10 @@ in {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.97";
+    version = "0.0.98";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "17kwgk2kwrfqgjqmfv055gvlqq144gz7bywwrs6i2x7mimz4345x";
+      sha256 = "0raqsfakjbcsh7g280yi7sg2jsrmy2q4jldg73wb868z35radld4";
     };
   };
 }.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix
index 478d27fcfb3..052a626531b 100644
--- a/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -9,7 +9,7 @@
 , python3
 , rustPlatform
 , pkgconfig
-, gtksourceview
+, gtksourceview4
 , glib
 , libhandy
 , gtk3
@@ -25,17 +25,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fractal";
-  version = "4.2.0";
+  version = "4.2.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "fractal";
     rev = version;
-    sha256 = "0clwsmd6h759bzlazfq5ig56dbx7npx3h43yspk87j1rm2dp1177";
+    sha256 = "0r98km3c8naj3mdr1wppzj823ir7jnsia7r3cbg3vsq8q52i480r";
   };
 
-  cargoSha256 = "1hwjajkphl5439dymglgj3h92hxgbf7xpipzrga7ga8m10nx1dhl";
+  cargoSha256 = "1n9n4d057cz44sh1iy2hb2adplhnrhvr8drnp0v2h8yw73a5shvv";
 
   nativeBuildInputs = [
     cargo
@@ -58,21 +58,14 @@ rustPlatform.buildRustPackage rec {
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-base
     gst_all_1.gstreamer
+    gst_all_1.gst-validate
     gtk3
-    gtksourceview
+    gtksourceview4
     libhandy
     openssl
     sqlite
   ];
 
-  cargoPatches = [
-    # https://gitlab.gnome.org/GNOME/fractal/merge_requests/446
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/fractal/commit/2778acdc6c50bc6f034513029b66b0b092bc4c38.patch";
-      sha256 = "08v17xmbwrjw688ps4hsnd60d5fm26xj72an3zf6yszha2b97j6y";
-    })
-  ];
-
   postPatch = ''
     chmod +x scripts/test.sh
     patchShebangs scripts/meson_post_install.py scripts/test.sh
diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix
index 46a27737d23..605550beb50 100644
--- a/pkgs/applications/networking/instant-messengers/franz/default.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/default.nix
@@ -3,13 +3,13 @@
 , gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
 
 let
-  version = "5.3.3";
+  version = "5.4.1";
 in stdenv.mkDerivation {
   pname = "franz";
   inherit version;
   src = fetchurl {
     url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb";
-    sha256 = "03ii1gpc2wijy917565pqig1ihd4zhal12i2f5k916i7fp8912m1";
+    sha256 = "1g1z5zjm9l081hpqslfc4h7pqh4k76ccmlz71r21204wy630mw6h";
   };
 
   # don't remove runtime deps
@@ -35,7 +35,7 @@ in stdenv.mkDerivation {
     # provide desktop item and icon
     cp -r usr/share $out
     substituteInPlace $out/share/applications/franz.desktop \
-      --replace Exec=\"/opt/Franz/franz\" Exec=franz
+      --replace /opt/Franz/franz franz
   '';
 
   dontWrapGApps = true;
@@ -50,7 +50,7 @@ in stdenv.mkDerivation {
     description = "A free messaging app that combines chat & messaging services into one application";
     homepage = https://meetfranz.com;
     license = licenses.free;
-    maintainers = [ maintainers.gnidorah ];
+    maintainers = [ maintainers.davidtwco ];
     platforms = ["x86_64-linux"];
     hydraPlatforms = [];
   };
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 09273b7caa5..b155f312964 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -2,19 +2,18 @@
 , zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, libsoup, udev
 , ortp, mediastreamer, sqlite, belle-sip, libosip, libexosip, bzrtp
 , mediastreamer-openh264, bctoolbox, makeWrapper, fetchFromGitHub, cmake
-, libmatroska, bcunit, doxygen, gdk-pixbuf, glib, cairo, pango, polarssl
-, python, graphviz, belcard
+, libmatroska, bcunit, doxygen, gdk-pixbuf, glib, cairo, pango, mbedtls
+, python, graphviz, belcard, bcg729
 , withGui ? true
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "linphone";
+  pname = "linphone";
   version = "3.12.0";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "0az2ywrpx11sqfb4s4r2v726avcjf4k15bvrqj7xvhz7hdndmh0j";
   };
@@ -27,21 +26,25 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     readline openldap cyrus_sasl libupnp zlib libxml2 gtk2 libnotify speex ffmpeg libX11
-    polarssl libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
-    bctoolbox libmatroska bcunit gdk-pixbuf glib cairo pango bzrtp belcard
+    mbedtls libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
+    bctoolbox libmatroska gdk-pixbuf glib cairo pango bzrtp belcard bcg729
   ];
 
   nativeBuildInputs = [
-    intltool pkgconfig makeWrapper cmake doxygen graphviz
+    intltool pkgconfig makeWrapper cmake bcunit doxygen graphviz
     (python.withPackages (ps: [ ps.pystache ps.six ]))
   ];
 
-  NIX_CFLAGS_COMPILE = " -Wno-error -I${glib.dev}/include/glib-2.0
-    -I${glib.out}/lib/glib-2.0/include -I${gtk2.dev}/include/gtk-2.0/
-    -I${cairo.dev}/include/cairo -I${pango.dev}/include/pango-1.0
-    -I${gtk2}/lib/gtk-2.0/include
-    -DLIBLINPHONE_GIT_VERSION=\"v${version}\"
-    ";
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error"
+    "-I${glib.dev}/include/glib-2.0"
+    "-I${glib.out}/lib/glib-2.0/include"
+    "-I${gtk2.dev}/include/gtk-2.0/"
+    "-I${cairo.dev}/include/cairo"
+    "-I${pango.dev}/include/pango-1.0"
+    "-I${gtk2}/lib/gtk-2.0/include"
+    "-DLIBLINPHONE_GIT_VERSION=\"v${version}\""
+  ];
 
   postInstall = ''
     for i in $(cd $out/bin && ls); do
@@ -50,8 +53,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.linphone.org/;
-    description = "Open Source video SIP softphone";
+    homepage = https://www.linphone.org/;
+    description = "Open source SIP phone for voice/video calls and instant messaging";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
new file mode 100644
index 00000000000..e03bdd9909e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
@@ -0,0 +1,21 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+  nodeEnv = import ./node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+locpkgs = 
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+  globalBuildInputs = [
+    locpkgs.node-pre-gyp
+  ];
+};
+in locpkgs
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
new file mode 100644
index 00000000000..633219626b6
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, pkgs }:
+(import ./composition.nix {
+  inherit pkgs;
+  inherit (stdenv.hostPlatform) system;
+})."package".override {
+  postInstall = ''
+    mkdir "$out/bin"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
+         '"$@"' >> "$out/bin/matrix-recorder"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
+    echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
+    echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
+         '.' >> "$out/bin/matrix-recorder-to-html"
+    chmod a+x "$out/bin/matrix-recorder"
+    chmod a+x "$out/bin/matrix-recorder-to-html"
+  '';
+  meta = {
+    description = "Matrix message recorder";
+    homepage = "https://gitlab.com/argit/matrix-recorder/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
new file mode 100644
index 00000000000..670556bf271
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
@@ -0,0 +1,540 @@
+# This file originates from node2nix
+
+{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+
+let
+  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}:
+    stdenv.lib.optionalString (dependencies != [])
+      (stdenv.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:
+    ''
+      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 ..
+      ${stdenv.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"}
+
+      ${stdenv.lib.optionalString (dependencies != [])
+        ''
+          if [ -d node_modules ]
+          then
+              cd node_modules
+              ${stdenv.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 ..
+          ${stdenv.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(packageLock.lockfileVersion !== 1) {
+             process.stderr.write("Sorry, I only understand lock file version 1!\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
+
+        ${stdenv.lib.optionalString bypassCache ''
+          ${stdenv.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} ${stdenv.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} ${stdenv.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"
+    , ... }@args:
+
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+    in
+    stdenv.mkDerivation ({
+      name = "node_${name}-${version}";
+      buildInputs = [ tarWrapper python nodejs ]
+        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+        ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+        ++ buildInputs;
+
+      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
+      '';
+    } // 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
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+
+      nodeDependencies = stdenv.mkDerivation ({
+        name = "node-dependencies-${name}-${version}";
+
+        buildInputs = [ tarWrapper python nodejs ]
+          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+          ++ stdenv.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
+          ${stdenv.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 ..
+          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+          # Expose the executables that were installed
+          cd ..
+          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          mv ${packageName} lib
+          ln -s $out/lib/node_modules/.bin $out/bin
+        '';
+      } // extraArgs);
+    in
+    stdenv.mkDerivation {
+      name = "node-shell-${name}-${version}";
+
+      buildInputs = [ python nodejs ] ++ stdenv.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 = stdenv.lib.optionalString (dependencies != []) ''
+        export NODE_PATH=$nodeDependencies/lib/node_modules
+        export PATH="$nodeDependencies/bin:$PATH"
+      '';
+    };
+in
+{
+  buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
+  buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
+  buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
new file mode 100644
index 00000000000..012ad195a71
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
@@ -0,0 +1,1426 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "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==";
+      };
+    };
+    "ajv-6.10.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
+      };
+    };
+    "another-json-0.2.0" = {
+      name = "another-json";
+      packageName = "another-json";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/another-json/-/another-json-0.2.0.tgz";
+        sha1 = "b5f4019c973b6dd5c6506a2d93469cb6d32aeedc";
+      };
+    };
+    "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";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+      };
+    };
+    "are-we-there-yet-1.1.5" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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.9.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "browser-request-0.3.3" = {
+      name = "browser-request";
+      packageName = "browser-request";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+        sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+      };
+    };
+    "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";
+      };
+    };
+    "chownr-1.1.3" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
+    "console-control-strings-1.1.0" = {
+      name = "console-control-strings";
+      packageName = "console-control-strings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "debug-3.2.6" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+      };
+    };
+    "deep-extend-0.6.0" = {
+      name = "deep-extend";
+      packageName = "deep-extend";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
+      };
+    };
+    "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";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "detect-libc-1.0.3" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    };
+    "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";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
+    "fast-deep-equal-2.0.1" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "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==";
+      };
+    };
+    "fs-minipass-1.2.7" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
+      };
+    };
+    "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";
+      };
+    };
+    "gauge-2.7.4" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    };
+    "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-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==";
+      };
+    };
+    "graceful-fs-4.2.3" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
+      };
+    };
+    "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.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==";
+      };
+    };
+    "has-unicode-2.0.1" = {
+      name = "has-unicode";
+      packageName = "has-unicode";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    };
+    "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==";
+      };
+    };
+    "ignore-walk-3.0.3" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
+      };
+    };
+    "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.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+      };
+    };
+    "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-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-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";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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-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-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";
+      };
+    };
+    "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";
+      };
+    };
+    "marked-0.6.3" = {
+      name = "marked";
+      packageName = "marked";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz";
+        sha512 = "Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==";
+      };
+    };
+    "matrix-js-sdk-0.7.13" = {
+      name = "matrix-js-sdk";
+      packageName = "matrix-js-sdk";
+      version = "0.7.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.7.13.tgz";
+        sha1 = "283accc710009f5a0b02367682f2e86155fd00c4";
+      };
+    };
+    "mime-db-1.42.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.42.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
+      };
+    };
+    "mime-types-2.1.25" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
+      };
+    };
+    "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-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "minipass-2.9.0" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
+      };
+    };
+    "minizlib-1.3.3" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "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==";
+      };
+    };
+    "mustache-2.3.2" = {
+      name = "mustache";
+      packageName = "mustache";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz";
+        sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
+      };
+    };
+    "nan-2.14.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
+        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+      };
+    };
+    "needle-2.4.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz";
+        sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==";
+      };
+    };
+    "node-fetch-1.7.3" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha512 = "NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==";
+      };
+    };
+    "node-localstorage-1.3.1" = {
+      name = "node-localstorage";
+      packageName = "node-localstorage";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz";
+        sha512 = "NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==";
+      };
+    };
+    "node-pre-gyp-0.11.0" = {
+      name = "node-pre-gyp";
+      packageName = "node-pre-gyp";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz";
+        sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
+      };
+    };
+    "nopt-4.0.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    };
+    "npm-bundled-1.0.6" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha512 = "8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==";
+      };
+    };
+    "npm-packlist-1.4.6" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha512 = "u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==";
+      };
+    };
+    "npmlog-4.1.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+      };
+    };
+    "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";
+      };
+    };
+    "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-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";
+      };
+    };
+    "olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz" = {
+      name = "olm";
+      packageName = "olm";
+      version = "2.3.0";
+      src = fetchurl {
+        name = "olm-2.3.0.tar.gz";
+        url = https://packages.matrix.org/npm/olm/olm-2.3.0.tgz;
+        sha256 = "1f0f037a025a44509646cb849ded7c1a1f55e7bfed240fad19676c002fcd953a";
+      };
+    };
+    "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";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "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";
+      };
+    };
+    "osenv-0.1.5" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+      };
+    };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "psl-1.4.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
+        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "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==";
+      };
+    };
+    "rc-1.2.8" = {
+      name = "rc";
+      packageName = "rc";
+      version = "1.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "request-2.88.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-buffer-5.2.0" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
+    "slide-1.1.6" = {
+      name = "slide";
+      packageName = "slide";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      };
+    };
+    "sqlite3-4.1.0" = {
+      name = "sqlite3";
+      packageName = "sqlite3";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+      };
+    };
+    "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==";
+      };
+    };
+    "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_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-json-comments-2.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    };
+    "tar-4.4.13" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "uri-js-4.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "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-3.3.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+      };
+    };
+    "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";
+      };
+    };
+    "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==";
+      };
+    };
+    "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-file-atomic-1.3.4" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz";
+        sha1 = "f807a4f0b1d9e913ae7a48112e6cc3af1991b45f";
+      };
+    };
+    "yallist-3.1.1" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+      };
+    };
+  };
+  node-pre-gyp = nodeEnv.buildNodePackage {
+    name = "node-pre-gyp";
+    packageName = "node-pre-gyp";
+    version = "0.14.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
+      sha512 = "+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."glob-7.1.6"
+      sources."has-unicode-2.0.1"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."isarray-1.0.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."needle-2.4.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."process-nextick-args-2.0.1"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      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."tar-4.4.13"
+      sources."util-deprecate-1.0.2"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = [];
+    meta = {
+      description = "Node.js native addon binary install tool";
+      homepage = "https://github.com/mapbox/node-pre-gyp#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  args = {
+    name = "matrix-recorder";
+    packageName = "matrix-recorder";
+    version = "0.0.6";
+    src = fetchgit {
+      url = "https://gitlab.com/argit/matrix-recorder/";
+      rev = "006b78c8a4ddc636be8f6f1e3875b13a4a6d2c7c";
+      sha256 = "0m3kzwbrxymwl6hr981q6fsf752fqxwzbpxryx25j4lkwc23nmj3";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ajv-6.10.2"
+      sources."another-json-0.2.0"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."browser-request-0.3.3"
+      sources."caseless-0.12.0"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."combined-stream-1.0.8"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."ecc-jsbn-0.1.2"
+      sources."encoding-0.1.12"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-unicode-2.0.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."marked-0.6.3"
+      sources."matrix-js-sdk-0.7.13"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."mustache-2.3.2"
+      sources."nan-2.14.0"
+      sources."needle-2.4.0"
+      sources."node-fetch-1.7.3"
+      sources."node-localstorage-1.3.1"
+      sources."node-pre-gyp-0.11.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.1"
+      sources."psl-1.4.0"
+      sources."punycode-2.1.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.2"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."request-2.88.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."slide-1.1.6"
+      sources."sqlite3-4.1.0"
+      sources."sshpk-1.16.1"
+      sources."string-width-1.0.2"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.13"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.3"
+      sources."verror-1.10.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-1.3.4"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+in
+{
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  inherit node-pre-gyp;
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
new file mode 100644
index 00000000000..fc03d636ad2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
@@ -0,0 +1,27 @@
+{
+  "name": "matrix-recorder",
+  "version": "0.0.6",
+  "description": "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).",
+  "author": "Hello Matrix <hello@hello-matrix.net>",
+  "main": "matrix-recorder.js",
+  "scripts": {
+    "start": "node matrix-recorder.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://gitlab.com/argit/matrix-recorder.git"
+  },
+  "dependencies": {
+    "marked": "^0.6.2",
+    "matrix-js-sdk": "^0.7.13",
+    "mime-types": "^2.1.14",
+    "mustache": "^2.3.0",
+    "node-fetch": "^1.6.3",
+    "node-localstorage": "^1.3.0",
+    "sqlite3": "^4.0.7",
+    "olm": "https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+  },
+  "license": "MIT",
+  "optionalDependencies": {
+  }
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
new file mode 100644
index 00000000000..54b7ef2bd99
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchgit
+  , buildPythonApplication, buildPythonPackage
+  , pygobject3, pytestrunner, requests, responses, pytest, python-olm
+  , canonicaljson, olm
+}:
+let
+  mainsrc = fetchgit {
+    url = "https://github.com/saadnpq/matrixcli";
+    rev = "61ebde173ca2f77185c261c2b7f6db297ca89863";
+    sha256 = "0xcjjy2xwlcixr9fwgzcfjjkivqpk104h7dslfa7lz9jq9pzqzvq";
+    fetchSubmodules = true;
+  };
+
+  sdk = buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "matrix-python-sdk-matrixcli";
+    version = "0.0.2019-08-15";
+    
+    src = "${mainsrc}/matrix-python-sdk/";
+
+    propagatedBuildInputs = [
+      requests responses olm python-olm canonicaljson
+      pytestrunner pytest
+    ];
+
+    doCheck = false;
+    doInstallCheck = false;
+
+    meta = {
+      license = stdenv.lib.licenses.asl20;
+      description = "Fork of Matrix Python SDK";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+in
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "matrixcli";
+  version = "0.0.2019-08-15";
+
+  src = mainsrc;
+
+  propagatedBuildInputs = [pygobject3 sdk];
+
+  meta = {
+    description = "CLI client for Matrix";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/saadnpq/matrixcli";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
index f5f8414c870..dbfc87b8e8d 100644
--- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
@@ -1,10 +1,14 @@
 { stdenv, fetchurl, gnome2, gtk3, pango, atk, cairo, gdk-pixbuf, glib,
 freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
 libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
-libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev }:
+libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev, wrapGAppsHook,
+hicolor-icon-theme, libuuid, at-spi2-core, at-spi2-atk }:
+
 let
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
+    at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -17,6 +21,7 @@ let
     gnome2.GConf
     gtk3
     pango
+    libuuid
     libX11
     libXScrnSaver
     libXcomposite
@@ -38,18 +43,18 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "mattermost-desktop";
-    version = "4.2.3";
+    version = "4.3.1";
 
     src =
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz";
-          sha256 = "14xyn8dp0xxl4j9xdsjik9p6srqdxbirgcgym2sv64p01w3kc9wf";
+          sha256 = "076nv5h6xscbw1987az00x493qhqgrli87gnn57zbvz0acgvlhfv";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
           url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz";
-          sha256 = "063rrxw76mjz71wp9xd3ppkq3s017vrzms879r2cilypmay7fhgs";
+          sha256 = "19ps9g8j6kp4haj6r3yfy4ma2wm6isq5fa8zlcz6g042ajkqq0ij";
         }
       else
         throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}";
@@ -58,6 +63,8 @@ in
     dontConfigure = true;
     dontPatchELF = true;
 
+    buildInputs = [ wrapGAppsHook gtk3 hicolor-icon-theme ];
+
     installPhase = ''
       mkdir -p $out/share/mattermost-desktop
       cp -R . $out/share/mattermost-desktop
@@ -71,6 +78,9 @@ in
       rm $out/share/mattermost-desktop/create_desktop_file.sh
       mkdir -p $out/share/applications
       mv Mattermost.desktop $out/share/applications/Mattermost.desktop
+      substituteInPlace \
+        $out/share/applications/Mattermost.desktop \
+        --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
 
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
index 057e447eb1c..6d527f3a7e4 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchFromGitHub, pidgin, glib, json-glib, nss, nspr, libgnome-keyring } :
+{ stdenv, fetchFromGitHub, pkgconfig, pidgin, glib, json-glib, nss, nspr
+, libsecret
+} :
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "pidgin-opensteamworks";
-  version = "unstable-2018-08-02";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "EionRobb";
     repo = "pidgin-opensteamworks";
-    rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
-    sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
+    rev = version;
+    sha256 = "0zxd45g9ycw5kmm4i0800jnqg1ms2gbqcld6gkyv6n3ac1wxizpj";
   };
 
-  preConfigure = "cd steam-mobile";
+  sourceRoot = "source/steam-mobile";
+
   installFlags = [
     "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
     "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
   ];
 
-  buildInputs = [ pidgin glib json-glib nss nspr libgnome-keyring ];
+  nativeBuildInputs = [
+    pkgconfig
+  ];
+  buildInputs = [
+    pidgin glib json-glib nss nspr libsecret
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/EionRobb/pidgin-opensteamworks;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
index 8a15a3bdd85..44133e777c7 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchgit, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
+{ stdenv, fetchFromGitHub, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
 
-let
-  version = "2018-08-03";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "purple-matrix-unstable";
-  inherit version;
+  version = "2019-06-06";
 
-  src = fetchgit {
-    url = "https://github.com/matrix-org/purple-matrix";
-    rev = "5a7166a3f54f85793c6b60662f8d12196aeaaeb0";
-    sha256 = "0ph0s24b37d1c50p8zbzgf4q2xns43a8v6vk85iz633wdd72zsa0";
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "purple-matrix";
+    rev = "4494ba22b479917f0b1f96a3019792d3d75bcff1";
+    sha256 = "1gjm0z4wa5vi9x1xk43rany5pffrwg958n180ahdj9a7sa8a4hpm";
   };
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
+  NIX_CFLAGS_COMPILE = [
+    # glib-2.62 deprecations
+    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
+    # override "-O0 -Werror" set by build system
+    "-O3" "-Wno-error"
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ];
 
-  hardeningDisable = [ "fortify" ]; # upstream compiles with -O0
-
   makeFlags = [
     "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
     "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 6180f531f47..3d1a6ac534c 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -2,21 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "pidgin-sipe";
-  version = "1.24.0";
+  version = "1.25.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz";
-    sha256 = "04cxprz6dbcsc4n2jg72mr1r9630nhrywn0zim9kwvbgps3wdd9c";
+    sha256 = "0262sz00iqxylx0xfyr48xikhiqzr8pg7b4b7vwj5iv4qxpxv939";
   };
 
   nativeBuildInputs = [ intltool ];
   buildInputs = [ pidgin gmime libxml2 nss ];
   enableParallelBuilding = true;
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
-
-  postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
+  postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
 
   meta = with stdenv.lib; {
     description = "SIPE plugin for Pidgin IM";
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index eee5fd82bba..8b1f4d4c0e9 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-pro";
-  version = "1.1.7";
+  version = "1.2.0";
 
   dontBuild = true;
   dontStrip = true;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz";
-    sha256 = "1d84hlac3qwrbi8khp6r3bm5y25zcz52l6z54k7jmyplay46r5as";
+    sha256 = "189rpsrs25c4100xf1zhcwvdyigbzsw8ffhayj8mmrx4akg39653";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index 30012970d78..c49934b96f7 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "1.5.0",
+  "version": "1.5.6",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index de941d94fc8..9b6f591bd42 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }:
+{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, mkYarnPackage }:
 
 # Notes for maintainers:
 # * versions of `riot-web` and `riot-desktop` should be kept in sync.
@@ -6,15 +6,15 @@
 
 let
   executableName = "riot-desktop";
-  version = "1.5.0";
+  version = "1.5.6";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "1xi5zg3602d7gdjxskpk2q3anpn2drrkxyirfvi9mzcfp2r05557";
+    sha256 = "148rg6wc84xy53bj16v5riw78s999ridid59x6v9jas827l0bdpk";
   };
 
-in yarn2nix-moretea.mkYarnPackage rec {
+in mkYarnPackage rec {
   name = "riot-desktop-${version}";
   inherit version;
 
@@ -31,6 +31,7 @@ in yarn2nix-moretea.mkYarnPackage rec {
     ln -s '${riot-web}' "$out/share/riot/webapp"
     cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
     cp -r './deps/riot-web' "$out/share/riot/electron"
+    cp -r './deps/riot-web/img' "$out/share/riot"
     rm "$out/share/riot/electron/node_modules"
     cp -r './node_modules' "$out/share/riot/electron"
 
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index ccfad7259a5..ada903701e2 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riot-web";
-  version = "1.5.0";
+  version = "1.5.6";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "08r9473ncfy3wzqhnds729s77fq82jjgz8w3yya07aahcxzasi94";
+    sha256 = "063ynbil038y201skyldj2ysr0hwgwq981w1iw104xd17x31zmn0";
   };
 
   installPhase = let
@@ -17,9 +17,13 @@ stdenv.mkDerivation rec {
       then writeText "riot-config.json" conf
       else "$out/config.sample.json";
   in ''
+    runHook preInstall
+
     mkdir -p $out/
     cp -R . $out/
     ln -s ${configFile} $out/config.json
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
index b646a9e03ad..f516e4a76f0 100755
--- a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+++ b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix
 
 set -euo pipefail
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 7c474d26c88..c821c4b0f44 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -1,25 +1,33 @@
-{ stdenv, lib, fetchurl, makeWrapper, jre_headless }:
+{ stdenv, lib, fetchurl, makeWrapper, jre_headless, libmatthew_java, dbus, dbus_java }:
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.6.3";
+  version = "0.6.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 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59";
+    sha256 = "082kq8kadxbwzf31fmlq4in714id2irk0hhqsl53vsl3wmv45zvv";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = lib.optional stdenv.isLinux [ libmatthew_java dbus dbus_java ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp -r lib $out/lib
     cp bin/signal-cli $out/bin/signal-cli
+  '' + (if stdenv.isLinux then ''
+    makeWrapper ${jre_headless}/bin/java $out/bin/signal-cli \
+      --set JAVA_HOME "${jre_headless}" \
+      --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
+      --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
+      --add-flags "org.asamk.signal.Main"
+  '' else ''
     wrapProgram $out/bin/signal-cli \
       --prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
       --set JAVA_HOME ${jre_headless}
-  '';
+  '');
 
   # Execution in the macOS (10.13) sandbox fails with
   # dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
@@ -29,6 +37,7 @@ stdenv.mkDerivation rec {
   #         /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
   # /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310:  2231 Abort trap: 6           signal-cli --version
   doInstallCheck = stdenv.isLinux;
+
   installCheckPhase = ''
     export PATH=$PATH:$out/bin
     # --help returns non-0 exit code even when working
@@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AsamK/signal-cli;
     description = "Command-line and dbus interface for communicating with the Signal messaging service";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ivan ];
+    maintainers = with maintainers; [ ivan erictapen ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 564e5e17b0a..2e8581f4eae 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -59,7 +59,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "1.27.4"; # Please backport all updates to the stable channel.
+  version = "1.29.3"; # 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:
@@ -69,7 +69,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 = "1aza1s70xzx9qkv7b5mpfi4zgdn5dq3rl03lx3jixij3x3pxg5sj";
+    sha256 = "1rkj6rwmwwvyd5041r96j1dxlfbmc6xsdrza43c0ykdrhfj73h11";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -114,7 +114,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage    = https://signal.org/;
     license     = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ ixmatus primeos ];
+    maintainers = with lib.maintainers; [ ixmatus primeos equirosa ];
     platforms   = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index cbab67e5e1a..a368473b0c8 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ 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.51.0.72";
+  version = "8.54.0.91";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -59,8 +59,11 @@ let
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
-        url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "1rv3jxirlfy0gvphw8cxmwmghbak5m5wj0y3bgamcvma48mzdfk3";
+        urls = [
+          "https://repo.skype.com/deb/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 = "1hnha8sqk78zxkjqg62npmg6dymi5fnyj2bmxlwpgi61v3pyxj94";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index d3aa302d601..e501d3bcdbf 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,16 +1,17 @@
 { theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
 cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf,
 libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
-at-spi2-atk, libuuid, nodePackages
+at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio, xdg_utils
 }:
 
 let
 
-  version = "4.0.2";
+  version = "4.2.0";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
     at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -32,6 +33,7 @@ let
     stdenv.cc.cc
     systemd
     libuuid
+    libpulseaudio
 
     xorg.libxkbfile
     xorg.libX11
@@ -51,7 +53,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm";
+        sha256 = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
       }
     else
       throw "Slack is not supported on ${stdenv.hostPlatform.system}";
@@ -63,18 +65,22 @@ in stdenv.mkDerivation {
   inherit src;
 
   buildInputs = [
-    dpkg
     gtk3  # needed for GSETTINGS_SCHEMAS_PATH
   ];
 
-  nativeBuildInputs = [ makeWrapper nodePackages.asar ];
+  nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
 
   dontUnpack = true;
-  buildCommand = ''
+  dontBuild = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
+    dpkg --fsys-tarfile $src | tar --extract
+    rm -rf usr/share/lintian
+
     mkdir -p $out
-    dpkg -x $src $out
-    cp -av $out/usr/* $out
-    rm -rf $out/etc $out/usr $out/share/lintian
+    mv usr/* $out
 
     # Otherwise it looks "suspicious"
     chmod -R g-w $out
@@ -87,7 +93,8 @@ in stdenv.mkDerivation {
     # Replace the broken bin/slack symlink with a startup wrapper
     rm $out/bin/slack
     makeWrapper $out/lib/slack/slack $out/bin/slack \
-      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH
+      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+      --prefix PATH : ${xdg_utils}/bin
 
     # Fix the desktop link
     substituteInPlace $out/share/applications/slack.desktop \
diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh
index e5f79388353..6a15298c4e7 100755
--- a/pkgs/applications/networking/instant-messengers/slack/update.sh
+++ b/pkgs/applications/networking/instant-messengers/slack/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; slack-theme-black.version or (builtins.parseDrvName slack-theme-black.name).version" | tr -d '"')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion slack-theme-black" | tr -d '"')"
 latestSha="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 
 if [ ! "null" = "${latestSha}" ]; then
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
new file mode 100644
index 00000000000..0921dcfccdd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, dpkg
+, atomEnv
+, libuuid
+, pulseaudio
+, at-spi2-atk
+, coreutils
+, gawk
+, xdg_utils
+, systemd }:
+
+stdenv.mkDerivation rec {
+  pname = "teams";
+  version = "1.2.00.32451";
+
+  src = fetchurl {
+    url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
+    sha256 = "1p053kg5qksr78v2h7cxia5mb9kzgfwm6n99x579vfx48kka1n18";
+  };
+
+  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
+
+  unpackCmd = "dpkg -x $curSrc .";
+
+  buildInputs = atomEnv.packages ++ [
+    libuuid
+    at-spi2-atk
+  ];
+
+  runtimeDependencies = [
+    systemd.lib
+    pulseaudio
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg_utils}/bin")
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{opt,bin}
+
+    mv share/teams $out/opt/
+    mv share $out/share
+
+    substituteInPlace $out/share/applications/teams.desktop \
+      --replace /usr/bin/ $out/bin/
+
+    ln -s $out/opt/teams/teams $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Microsoft Teams";
+    homepage = "https://teams.microsoft.com";
+    downloadPage = "https://teams.microsoft.com/downloads";
+    license = licenses.unfree;
+    maintainers = [ maintainers.liff ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index 15cec96afc7..9c57ac829af 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -4,13 +4,13 @@ let
   arch = if stdenv.is64bit then "amd64" else "x86";
 in stdenv.mkDerivation rec {
   pname = "teamspeak-server";
-  version = "3.9.1";
+  version = "3.10.2";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
     sha256 = if stdenv.is64bit
-      then "0vzi0prnqhjxrwlghwgii0rsmml6aa3qk3yv227g9wz5m3b9f10a"
-      else "1nn0fh4s5rmnn27djbsk21jaah1kxyvap9qaf5p4r7cydwr1bzm6";
+      then "03c717qjlbym02nwy82l6jhrkbidsdm1jv5k8p3c10p6a46jy9nl"
+      else "1ay0lmbv2rw9klz289yg0hhsac83kfzzlbwwhjpi28xndl2lq4bf";
   };
 
   buildInputs = [ stdenv.cc.cc ];
@@ -28,12 +28,12 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "TeamSpeak voice communication server";
     homepage = https://teamspeak.com/;
-    license = stdenv.lib.licenses.unfreeRedistributable;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.arobyn ];
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arobyn gerschtli ];
   };
 }
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 3368ec1124e..f3d1e6cfd75 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gnome3, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
+{ stdenv, fetchurl, glib, dconf, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-idle";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib gnome3.dconf) makeWrapper ];
+  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib dconf) makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-idle" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 8c777cd3f7d..af0ca1589e5 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, pkgconfig
-, gnome3, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
+, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-logger" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 6bbe82c4a28..ef842275a5d 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , fetchurl
 , pkgconfig
-, gnome3
+, dconf
 , telepathy-glib
 , python3
 , libxslt
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$lib/libexec/mission-control-5" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
new file mode 100644
index 00000000000..0378f50a9c0
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, libxml2
+, libsndfile
+, file
+, readline
+, bison
+, flex
+, ucommon
+, ccrtp
+, qtbase
+, qttools
+, qtquickcontrols2
+, alsaLib
+, speex
+, ilbc
+, fetchurl
+, mkDerivation
+, bcg729
+}:
+
+mkDerivation rec {
+  pname = "twinkle";
+  version = "1.10.2";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "LubosD";
+    rev = "v${version}";
+    sha256 = "0s0gi03xwvzp02ah4q6j33r9jx9nbayr6dxlg2ck9pwbay1nq1hx";
+  };
+
+  buildInputs = [
+    libxml2
+    file # libmagic
+    libsndfile
+    readline
+    ucommon
+    ccrtp
+    qtbase
+    qttools
+    qtquickcontrols2
+    alsaLib
+    speex
+    ilbc
+  ];
+
+  patches = [
+    (fetchurl { # https://github.com/LubosD/twinkle/pull/152 patch for bcg729 1.0.2+
+      url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
+      sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    bison
+    flex
+    bcg729
+  ];
+
+  cmakeFlags = [
+    "-DWITH_G729=On"
+    "-DWITH_SPEEX=On"
+    "-DWITH_ILBC=On"
+    /* "-DWITH_DIAMONDCARD=On" seems ancient and broken */
+  ];
+
+  meta = with stdenv.lib; {
+    changelog = "https://github.com/LubosD/twinkle/blob/${version}/NEWS";
+    description = "A SIP-based VoIP client";
+    homepage = "http://twinkle.dolezel.info/";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 1b3e1c8ad81..acdec1dc99c 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -1,6 +1,6 @@
 {fetchurl, stdenv, dpkg, makeWrapper,
  alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap,
- libpulseaudio, libxml2, libxslt, libGLU_combined, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
+ libpulseaudio, libxml2, libxslt, libGLU, libGL, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
 }:
 
 stdenv.mkDerivation {
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
       libpulseaudio
       libxml2
       libxslt
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       openssl
diff --git a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
index 983b8509dc2..165e3e959e0 100644
--- a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, rpmextract, autoPatchelfHook
-, xorg, gtk3, gnome2, nss, alsaLib, udev, libnotify }:
+, xorg, gtk3, gnome2, nss, alsaLib, udev, libnotify
+, wrapGAppsHook }:
 
 let
   version = "4.5.2";
@@ -17,7 +18,7 @@ in stdenv.mkDerivation {
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
-  nativeBuildInputs = [ rpmextract autoPatchelfHook ];
+  nativeBuildInputs = [ rpmextract autoPatchelfHook wrapGAppsHook ];
   buildInputs = (with xorg; [
     libXdamage libXtst libXScrnSaver libxkbfile
   ]) ++ [
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 13ac4ceb138..fde40c62e4d 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, makeDesktopItem
-
-, alsaLib, at-spi2-atk, atk, cairo, cups, dbus, dpkg, expat, fontconfig
-, freetype, gdk-pixbuf, glib, gtk3, hunspell, libX11, libXScrnSaver
-, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
-, libXrender, libXtst, libnotify, libuuid, nspr, nss, pango, pciutils
-, pulseaudio, udev, xdg_utils, xorg
-
-, cpio, xar
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+, cpio
+, xar
 }:
 
 let
@@ -18,13 +20,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    x86_64-linux = "3.11.2912";
     x86_64-darwin = "3.10.3215";
+    x86_64-linux = "3.11.2912";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
     x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
+    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
@@ -40,11 +42,19 @@ let
         * Timed messages and chats
         * Synced across your phone, desktop and tablet
     '';
-    homepage = https://wire.com/;
-    downloadPage = https://wire.com/download/;
+    homepage = "https://wire.com/";
+    downloadPage = "https://wire.com/download/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ toonn worldofpeace ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    maintainers = with maintainers; [
+      arianvp
+      kiwi
+      toonn
+      worldofpeace
+    ];
+    platforms = [
+      "x86_64-darwin"
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -52,54 +62,58 @@ let
 
     src = fetchurl {
       url = "https://wire-app.wire.com/linux/debian/pool/main/"
-        + "Wire-${version}_amd64.deb";
+      + "Wire-${version}_amd64.deb";
       inherit sha256;
     };
 
     desktopItem = makeDesktopItem {
-      name = "wire-desktop";
-      exec = "wire-desktop %U";
-      icon = "wire-desktop";
+      categories = "Network;InstantMessaging;Chat;VideoConference";
       comment = "Secure messenger for everyone";
-      desktopName = "Wire Desktop";
+      desktopName = "Wire";
+      exec = "wire-desktop %U";
       genericName = "Secure messenger";
-      categories = "Network;InstantMessaging;Chat;VideoConference";
+      icon = "wire-desktop";
+      name = "wire-desktop";
+      extraEntries = ''
+        StartupWMClass="Wire"
+      '';
     };
 
     dontBuild = true;
-    dontPatchELF = true;
     dontConfigure = true;
+    dontPatchELF = true;
+    dontWrapGApps = true;
 
-    nativeBuildInputs = [ dpkg ];
-    rpath = stdenv.lib.makeLibraryPath [
-      alsaLib at-spi2-atk atk cairo cups dbus expat fontconfig freetype
-      gdk-pixbuf glib gtk3 hunspell libX11 libXScrnSaver libXcomposite
-      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
-      libXtst libnotify libuuid nspr nss pango pciutils pulseaudio
-      stdenv.cc.cc udev xdg_utils xorg.libxcb
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
     ];
 
+    buildInputs = atomEnv.packages;
+
     unpackPhase = "dpkg-deb -x $src .";
 
     installPhase = ''
-      mkdir -p "$out"
+      mkdir -p "$out/bin"
       cp -R "opt" "$out"
       cp -R "usr/share" "$out/share"
       chmod -R g-w "$out"
 
-      # Patch wire-desktop
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${rpath}:$out/opt/Wire" \
-        "$out/opt/Wire/wire-desktop"
-
-      # Symlink to bin
-      mkdir -p "$out/bin"
-      ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
-
       # Desktop file
       mkdir -p "$out/share/applications"
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
+
+    runtimeDependencies = [
+      udev.lib
+    ];
+
+    postFixup = ''
+      makeWrapper $out/opt/Wire/wire-desktop $out/bin/wire-desktop \
+        "''${gappsWrapperArgs[@]}"
+    '';
   };
 
   darwin = stdenv.mkDerivation {
@@ -107,18 +121,20 @@ let
 
     src = fetchurl {
       url = "https://github.com/wireapp/wire-desktop/releases/download/"
-        + "macos%2F${version}/Wire.pkg";
+      + "macos%2F${version}/Wire.pkg";
       inherit sha256;
     };
 
-    buildInputs = [ cpio xar ];
+    buildInputs = [
+      cpio
+      xar
+    ];
 
     unpackPhase = ''
       xar -xf $src
       cd com.wearezeta.zclient.mac.pkg
     '';
 
-
     buildPhase = ''
       cat Payload | gunzip -dc | cpio -i
     '';
@@ -129,6 +145,7 @@ let
     '';
   };
 
-in if stdenv.isDarwin
-  then darwin
-  else linux
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 7f3628dfdb7..972d7c13a28 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, autoPatchelfHook
+{ stdenv, fetchurl, mkDerivation, autoPatchelfHook, bash
 , fetchFromGitHub
 # Dynamic libraries
 , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative
@@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
 let
   inherit (stdenv.lib) concatStringsSep makeBinPath optional;
 
-  version = "3.0.309708.1027";
+  version = "3.5.336627.1216";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "0g0nmlbcps331vdnfj571lzhcw8cb2gxbll09jananxdpnmwv5l6";
+      sha256 = "04r45z2rjjn9gr7bxhfwg49xkyhmpcn5y6pdbkdnrfwzaqzisavz";
     };
   };
 
@@ -94,19 +94,35 @@ in mkDerivation {
         mkdir -p $out/share/icons/hicolor/$path/apps
         cp $icon $out/share/icons/hicolor/$path/apps/us.zoom.Zoom.png
     done
-
-    ln -s $out/share/zoom-us/zoom $out/bin/zoom-us
   '';
 
+  # $out/share/zoom-us isn't in auto-wrap directories list, need manual wrapping
+  dontWrapQtApps = true;
+
   qtWrapperArgs = [
     ''--prefix PATH : ${makeBinPath [ coreutils glib.dev pciutils procps qttools.dev utillinux ]}''
     ''--prefix LD_PRELOAD : ${libv4l}/lib/libv4l/v4l2convert.so''
+    # --run "cd ${placeholder "out"}/share/zoom-us"
+    # ^^ unfortunately, breaks run arg into multiple array elements, due to
+    # some bad array propagation. We'll do that in bash below
   ];
 
+  postFixup = ''
+    # 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:
+    qtWrapperArgs+=( --run "cd ${placeholder "out"}/share/zoom-us" )
+
+    for app in ZoomLauncher zopen zoom; do
+      wrapQtApp $out/share/zoom-us/$app
+    done
+
+    ln -s $out/share/zoom-us/ZoomLauncher $out/bin/zoom-us
+  '';
+
   passthru.updateScript = ./update.sh;
 
   meta = {
-    homepage = https://zoom.us/;
+    homepage = "https://zoom.us/";
     description = "zoom.us video conferencing application";
     license = stdenv.lib.licenses.unfree;
     platforms = builtins.attrNames srcs;
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index e0632042493..6214d4e2625 100755
--- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion=$(nix-instantiate --eval -E "with import ./. {}; zoom-us.version or (builtins.parseDrvName zoom-us.name).version" | tr -d '"')
+oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion zoom-us" | tr -d '"')
 version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')"
 
 if [ ! "${oldVersion}" = "${version}" ]; then
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
new file mode 100644
index 00000000000..33392af766c
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchurl
+, appimageTools
+}:
+
+let
+  pname = "zulip";
+  version = "4.0.0";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
+    sha256 = "1pni02mb5bvwx3k45vd6ga269ghdl633gjklyslai24rrhp16h9z";
+    name="${pname}-${version}.AppImage";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
+  };
+
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
+    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
+      $out/share/icons/hicolor/512x512/apps/zulip.png
+    substituteInPlace $out/share/applications/zulip.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+  '';
+
+  meta = with lib; {
+    description = "Desktop client for Zulip Chat";
+    homepage = https://zulipchat.com;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jonafato ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index 426619908d6..76cc393f26a 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -1,35 +1,19 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx, gx-go }:
+{ stdenv, buildGoModule, fetchFromGitHub, fetchgx, gx-go }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "0.9.0";
+  version = "0.11.0";
   rev = "v${version}";
 
-  goPackagePath = "github.com/ipfs/ipfs-cluster";
-
-  extraSrcPaths = [
-    (fetchgx {
-      inherit  src;name = "${pname}-${version}";
-      sha256 = "1k7xcirvi07p5g9gr9jcx5h39wk7jxfsyjrn5yraa8xdqhn6b6nx";
-    })
-  ];
+  modSha256 = "03bqwg9nqh7w6j887gzxr2mcn14jc8f07z896b3swg5wzaz1i6hs";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipfs-cluster";
     inherit rev;
-    sha256 = "1bxwcp0355f1ykjcidbxv218zp9d20nma7lnpn9xcjqc8vaq03kn";
+    sha256 = "0q5lanm2zdwwhdwv05fssb34y4y4dha3dq7x1iaabbf70lpqv6yx";
   };
 
-  nativeBuildInputs = [ gx-go ];
-
-  preBuild = ''
-    # fetchgx stores packages by their ipfs hash
-    # this will rewrite github.com/ imports to gx/ipfs/
-    cd go/src/${goPackagePath}
-    gx-go rewrite
-  '';
-
   meta = with stdenv.lib; {
     description = "Allocate, replicate, and track Pins across a cluster of IPFS daemons";
     homepage = https://cluster.ipfs.io/;
diff --git a/pkgs/applications/networking/irc/glowing-bear/default.nix b/pkgs/applications/networking/irc/glowing-bear/default.nix
index 8bdb23d50dd..2d12386bafa 100644
--- a/pkgs/applications/networking/irc/glowing-bear/default.nix
+++ b/pkgs/applications/networking/irc/glowing-bear/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glowing-bear";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "glowing-bear";
     repo = "glowing-bear";
-    sha256 = "0gwrf67l3i3nl7zy1miljz6f3vv6zzc3g9as06by548f21cizzjb";
+    sha256 = "14a3fqsmi28g7j3lzk4l4m47p2iml1aaf3514wazn2clw48lnqhw";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index f537627f976..7dd3792a3cb 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3
 , pciutils, dbus-glib, libcanberra-gtk2, libproxy
-, libsexy, enchant2, libnotify, openssl, isocodes
+, enchant2, libnotify, openssl, isocodes
 , desktop-file-utils
 , meson, ninja
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
-    libsexy libnotify openssl desktop-file-utils
+    libnotify openssl desktop-file-utils
     isocodes
   ];
 
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index ec806c86ebd..13ac80677ee 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib
-, ncurses, openssl, aspell, gnutls
+, ncurses, openssl, aspell, gnutls, gettext
 , zlib, curl, pkgconfig, libgcrypt
 , cmake, makeWrapper, libobjc, libresolv, libiconv
 , asciidoctor # manpages
@@ -27,12 +27,12 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "2.6";
+      version = "2.7";
       pname = "weechat";
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "1narazk28m7lmn1vqi7bhyvnr8apjrmaa4w1hbadn64hwr8ya1hb";
+        sha256 = "00hzchzw1w2181kczcrrnj8ngml3bwk7qciha3higxq3qynf0h8c";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
@@ -41,13 +41,15 @@ let
       cmakeFlags = with stdenv.lib; [
         "-DENABLE_MAN=ON"
         "-DENABLE_DOC=ON"
+        "-DENABLE_JAVASCRIPT=OFF"  # Requires v8 <= 3.24.3, https://github.com/weechat/weechat/issues/360
+        "-DENABLE_PHP=OFF"
       ]
         ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"]
         ++ map (p: "-D${p.cmakeFlag}=" + (if p.enabled then "ON" else "OFF")) plugins
         ;
 
       buildInputs = with stdenv.lib; [
-          ncurses openssl aspell gnutls zlib curl pkgconfig
+          ncurses openssl aspell gnutls gettext zlib curl pkgconfig
           libgcrypt makeWrapper cmake asciidoctor
           ]
         ++ optionals stdenv.isDarwin [ libobjc libresolv ]
diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 81ee484f3b3..0880a32af92 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -1,10 +1,12 @@
-{ callPackage, luaPackages }:
+{ callPackage, luaPackages, python3Packages }:
 
 {
   weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
     inherit (luaPackages) cjson luaffi;
   };
 
+  weechat-matrix = python3Packages.callPackage ./weechat-matrix { };
+
   wee-slack = callPackage ./wee-slack { };
 
   weechat-autosort = callPackage ./weechat-autosort { };
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
new file mode 100644
index 00000000000..ff6a7d94741
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -0,0 +1,58 @@
+{ buildPythonPackage, stdenv, python, fetchFromGitHub,
+  pyopenssl, webcolors, future, atomicwrites,
+  attrs, Logbook, pygments, cachetools, matrix-nio }:
+
+let
+  matrixUploadPython = python.withPackages (ps: with ps; [
+    magic
+  ]);
+in buildPythonPackage {
+  pname = "weechat-matrix";
+  version = "unstable-2019-11-10";
+
+  src = fetchFromGitHub {
+    owner = "poljar";
+    repo = "weechat-matrix";
+    rev = "69ad2a9c03d516c212d3d0700dbb2bfe654f6365";
+    sha256 = "1mfbkag5np2lgv6f31nyfnvavyh67jrrx6gxhzb8m99dd43lgs8c";
+  };
+
+  propagatedBuildInputs = [
+    pyopenssl
+    webcolors
+    future
+    atomicwrites
+    attrs
+    Logbook
+    pygments
+    cachetools
+    matrix-nio
+  ];
+
+  passthru.scripts = [ "matrix.py" ];
+
+  dontBuild = true;
+  doCheck = false;
+
+  installPhase = ''
+    mkdir -p $out/share $out/bin
+    cp $src/main.py $out/share/matrix.py
+
+    cp $src/contrib/matrix_upload $out/bin/
+    substituteInPlace $out/bin/matrix_upload \
+      --replace '/usr/bin/env -S python3 -u' '${matrixUploadPython}/bin/python -u' 
+  
+    mkdir -p $out/${python.sitePackages}
+    cp -r $src/matrix $out/${python.sitePackages}/matrix
+  '';
+
+  dontPatchShebangs = true;
+
+  meta = with stdenv.lib; {
+    description = "A Python plugin for Weechat that lets Weechat communicate over the Matrix protocol";
+    homepage = "https://github.com/poljar/weechat-matrix";
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index b94ce269566..6915cfd7982 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -1,21 +1,26 @@
 { stdenv, buildGoModule, fetchurl
-, go, ncurses, scdoc
+, go, ncurses, notmuch, scdoc
 , python3, perl, w3m, dante
 }:
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz";
-    sha256 = "1ky1nl5b54lf5jnac2kb5404fplwnwypjplas8imdlsf517fw32n";
+    sha256 = "188jln8hmgiqn5il5m54bns0wk4grj09di8y6mmid58ibw6spma4";
   };
 
   nativeBuildInputs = [
     go
     scdoc
     python3.pkgs.wrapPython
+    notmuch
+  ];
+
+  patches = [
+    ./runtime-sharedir.patch
   ];
 
   pythonPath = [
@@ -24,6 +29,8 @@ buildGoModule rec {
 
   buildInputs = [ python3 perl ];
 
+  GOFLAGS="-tags=notmuch";
+
   buildPhase = "
     runHook preBuild
     # we use make instead of go build
@@ -39,12 +46,12 @@ buildGoModule rec {
 
   postFixup = ''
     wrapProgram $out/bin/aerc --prefix PATH ":" \
-      "$out/share/aerc/filters:${stdenv.lib.makeBinPath [ ncurses.dev ]}"
+      "$out/share/aerc/filters:${stdenv.lib.makeBinPath [ ncurses ]}"
     wrapProgram $out/share/aerc/filters/html --prefix PATH ":" \
       ${stdenv.lib.makeBinPath [ w3m dante ]}
   '';
 
-  modSha256 = "0fc9m1qb8innypc8cxzbqyrfkawawyaqq3gqy7lqwmyh32f300jh";
+  modSha256 = "0pxbv4zfhii0g41cy0ycfpkkxw6nnd4ibavic6zqw30j476jnm2x";
 
   meta = with stdenv.lib; {
     description = "aerc is an email client for your terminal";
diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
new file mode 100644
index 00000000000..ed670d61a7b
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -0,0 +1,56 @@
+From 6cf3c2e42d219b9665a43ca65f321c653b0aa102 Mon Sep 17 00:00:00 2001
+From: Tadeo Kondrak <me@tadeo.ca>
+Date: Mon, 28 Oct 2019 08:36:36 -0600
+Subject: [PATCH] Fix aerc breaking every time the package is rebuilt.
+
+On NixOS, the SHAREDIR changes on every rebuild to the package, but aerc
+fills it in as part of the default config and then installs that config
+to the users home folder. Fix this by not substituting @SHAREDIR@ in the
+default config until runtime.
+---
+ Makefile         | 2 +-
+ config/config.go | 8 ++++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d1c755d..1185a96 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,7 @@ aerc: $(GOSRC)
+ 		-o $@
+ 
+ aerc.conf: config/aerc.conf.in
+-	sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
++	cat config/aerc.conf.in > $@
+ 
+ DOCS := \
+ 	aerc.1 \
+diff --git a/config/config.go b/config/config.go
+index 32d07fc..8ffd3e8 100644
+--- a/config/config.go
++++ b/config/config.go
+@@ -355,6 +355,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+ 			return nil, err
+ 		}
+ 	}
++	if sec, err := file.GetSection("templates"); err == nil {
++		if key, err := sec.GetKey("template-dirs"); err == nil {
++			sec.NewKey("template-dirs", strings.ReplaceAll(key.String(), "@SHAREDIR@", sharedir))
++		}
++	}
+ 	file.NameMapper = mapName
+ 	config := &AercConfig{
+ 		Bindings: BindingConfig{
+@@ -423,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+ 	if err = config.LoadConfig(file); err != nil {
+ 		return nil, err
+ 	}
++	for i, filter := range config.Filters {
++		config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir)
++	}
+ 	if ui, err := file.GetSection("general"); err == nil {
+ 		if err := ui.MapTo(&config.General); err != nil {
+ 			return nil, err
+-- 
+2.23.0
+
diff --git a/pkgs/applications/networking/mailreaders/afew/default.nix b/pkgs/applications/networking/mailreaders/afew/default.nix
index 85b73141966..54b3e10b5e2 100644
--- a/pkgs/applications/networking/mailreaders/afew/default.nix
+++ b/pkgs/applications/networking/mailreaders/afew/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, pythonPackages, notmuch }:
+{ stdenv, python3Packages, notmuch }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "afew";
   version = "2.0.0";
 
-  src = pythonPackages.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
     sha256 = "0j60501nm242idf2ig0h7p6wrg58n5v2p6zfym56v9pbvnbmns0s";
   };
 
-  nativeBuildInputs = with pythonPackages; [ sphinx setuptools_scm ];
+  nativeBuildInputs = with python3Packages; [ sphinx setuptools_scm ];
 
-  propagatedBuildInputs = with pythonPackages; [
-    pythonPackages.setuptools pythonPackages.notmuch chardet dkimpy
-  ] ++ stdenv.lib.optional (!pythonPackages.isPy3k) subprocess32;
+  propagatedBuildInputs = with python3Packages; [
+    python3Packages.setuptools python3Packages.notmuch chardet dkimpy
+  ] ++ stdenv.lib.optional (!python3Packages.isPy3k) subprocess32;
 
   makeWrapperArgs = [
     ''--prefix PATH ':' "${notmuch}/bin"''
@@ -22,7 +22,7 @@ pythonPackages.buildPythonApplication rec {
   outputs = [ "out" "doc" ];
 
   postBuild =  ''
-    python setup.py build_sphinx -b html,man
+    ${python3Packages.python.interpreter} setup.py build_sphinx -b html,man
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix
index ff659959876..e7c9d50cb9b 100644
--- a/pkgs/applications/networking/mailreaders/balsa/default.nix
+++ b/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "balsa";
-  version = "2.5.7";
+  version = "2.5.9";
 
   src = fetchurl {
     url = "https://pawsa.fedorapeople.org/balsa/${pname}-${version}.tar.bz2";
-    sha256 = "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx";
+    sha256 = "19gs1qfvbk9qx4rjmgrmvid00kl9k153zjjx8zjii2lz09w7g19i";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 9fcf72ce4bc..e89a36eade0 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,7 +1,7 @@
 { config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook
 , curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme
 , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
+, openldap, perl, pkgconfig, poppler, python, shared-mime-info
 , glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical
 # Build options
 # TODO: A flag to build the manual.
@@ -13,7 +13,6 @@
 , enableNetworkManager ? config.networking.networkmanager.enable or false
 , enablePgp ? true
 , enablePluginArchive ? false
-, enablePluginFancy ? false
 , enablePluginNotificationDialogs ? true
 , enablePluginNotificationSounds ? true
 , enablePluginPdf ? false
@@ -64,12 +63,10 @@ stdenv.mkDerivation rec {
     ++ optional enablePluginArchive libarchive
     ++ optional enablePluginNotificationSounds libcanberra-gtk2
     ++ optional enablePluginNotificationDialogs libnotify
-    ++ optional enablePluginFancy libsoup
     ++ optional enablePluginRssyl libxml2
     ++ optional enableNetworkManager networkmanager
     ++ optional enableLdap openldap
     ++ optional enablePluginPdf poppler
-    ++ optional enablePluginFancy webkitgtk24x-gtk2
     ++ optional enablePluginVcalendar libical;
 
   configureFlags =
@@ -81,7 +78,6 @@ stdenv.mkDerivation rec {
       "--disable-pgpmime-plugin"
     ]
     ++ optional (!enablePluginArchive) "--disable-archive-plugin"
-    ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
     ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
     ++ optional (!enablePluginPython) "--disable-python-plugin"
     ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 7d7972c3e58..38e4bf5d710 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imapfilter";
-  version = "2.6.13";
+  version = "2.6.16";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "02997rnnvid3rfkxmlgjpbspi4svdmq8r8wd2zvf25iadim3hxqi";
+    sha256 = "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Mail filtering utility";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 3af4c7f5e15..f0b8fdcf8e2 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "1.12.2";
+  version = "1.13.2";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "10k8352s0z7yan6d4z2am80qd3bsaky4h89g72wl4xr3x067ahmw";
+    sha256 = "0x4yfvk8415p80h9an242n6q3b43mw6mnnczh95zd3j0zwdr6wrg";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 4fe86d08d06..274d9d4718e 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,23 +1,23 @@
 { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
 , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
-, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell
+, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite
 }:
 
 stdenv.mkDerivation rec {
-  version = "20191102";
+  version = "20191207";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "0x5f9zbvxsxg5y2ir4xq4xw1q2snaxkidhdyhcxw5ljw3qqwhlyq";
+    sha256 = "147yjpqnsbfy01fhsflxlixk0985r91a6bjmqq3cwmf7gka3sihm";
   };
 
   buildInputs = [
     cyrus_sasl gss gpgme kerberos libidn ncurses
     notmuch openssl perl lmdb
-    mailcap
+    mailcap sqlite
   ];
 
   nativeBuildInputs = [
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+    "--enable-autocrypt"
     "--gpgme"
     "--gss"
     "--lmdb"
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 680d7652b5a..f46e355cd57 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -34,7 +34,7 @@
 , libgnome
 , libgnomeui
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -116,7 +116,7 @@ stdenv.mkDerivation {
       libcanberra-gtk2
       libgnome
       libgnomeui
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
@@ -160,11 +160,15 @@ stdenv.mkDerivation {
       EOF
 
       # SNAP_NAME: https://github.com/NixOS/nixpkgs/pull/61980
+      # MOZ_LEGACY_PROFILES and MOZ_ALLOW_DOWNGRADE:
+      #   commit 87e261843c4236c541ee0113988286f77d2fa1ee
       wrapProgram "$out/bin/thunderbird" \
         --argv0 "$out/bin/.thunderbird-wrapped" \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
         --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
-        --set SNAP_NAME "thunderbird"
+        --set SNAP_NAME "thunderbird" \
+        --set MOZ_LEGACY_PROFILES 1 \
+        --set MOZ_ALLOW_DOWNGRADE 1
     '';
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
@@ -181,7 +185,7 @@ stdenv.mkDerivation {
       free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 6dfb6780f0d..5cfb14d2e2f 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,615 +1,615 @@
 {
-  version = "68.1.1";
+  version = "68.3.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ar/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ar/thunderbird-68.3.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "33accd6fe1f83fc47a34df038f4257571f42281a89f9aab2f54514443856b71aaa2ee81abe98331ecdbbf026a09eea31fb2c5eb72044347c54f51a6ac1e0bfd4";
+      sha512 = "17052536aa5e0a3e2aae2ef7bd07fb44abdb8871df0d5fd99b9c2965ef747d542601bd6088701b5af0fead05617073f5a496af2d6626f77cedc7fa3e8e2a1c85";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ast/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ast/thunderbird-68.3.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "1e32c40cd198b51a5836c2ad9a6331c0b3028e57d62e5e057990a48ab80b9fd5bd1290a268da29dc5a45c61e712bf0345f85d0ca43c18b2236c0f4bac7b9328f";
+      sha512 = "218b923ec83a9c049d743ff75207b07619ea4368c0620a162eb2f48e094173b404c4a393327c4dc497ee951d97fc3010c424c3b186da0e1bb1a024d7f7b3769e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/be/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/be/thunderbird-68.3.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "0f86506a7cf72c75712f6b507fda6e39da9520865dea5eb4fbfdb78531dc88116d4e8227dd91e8f1fb4dff9ed3e4eb7e118b5a4dde3860ec00c3bca625478a21";
+      sha512 = "74ed02a0e62a2eba57d2fec9485ff38974d8077c3a9e9b5f37bcaa5823a43ebde657f69f863ba72a079e9f3c0e8139dc12b192604c55024a48b1929b39ade504";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/bg/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/bg/thunderbird-68.3.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "f25c07ee41767fc1ec9381291662ce5bf269971f3542b4c2427da7240c13cfe44f006b8995e6474309bb6330e21626ca7e3e7463452ddd5d7e0128b799f6f566";
+      sha512 = "95869b21e7141624310a9c6d0a021e84a507f13a06fbc68ece2eb20c8a302ccfae8dfe3fd00141aba0fec3becd5949520436d1a637234dee504a3bb71ed6e966";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/br/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/br/thunderbird-68.3.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "c57c207922aa0f1534fd6925305effdea2f09ee83ddfe7eed62d30b91494ddbf6ade0c0cba2e7332c876e10e15593ad985deaec769525fd3a19b21d048383690";
+      sha512 = "8b76d5929bb1a45abe3d86b8725e268e67aa5bc427cdb2e6d3a60c3ae58dc0e1563fbe3b9a205836a71907fb0248ab4d8f9c11d5f646cb1a0ebb4a95aecb578f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ca/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ca/thunderbird-68.3.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "4fb66d8e9285cb40cf42f626d38eecabe489fa5311a25ce2e687483b6624819674b0b4a41f486a0ea98edbe27cea2f7f156368516f70afd4f78629aef93cb94f";
+      sha512 = "62e161105db38e5fc9bc55a9cc0edfb42982fbe8af9a01a9664638e5fefa06aa4304ce4ddeffe893007dbdee873772571b99b03644027f42d576ac9d00e978b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/cak/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cak/thunderbird-68.3.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "2c591767d09c3af59dcda7c44937f012cc14695a7744bca49d2b5788cd44953a85b8cc0005efa4db3daeb6c5f553ead9d15239af37b1c7686e5331cf9bb09ee5";
+      sha512 = "f80101e3ac77d140ee27bd489174c61114b9f72c3b2185e1908d488f3f13c445a02d2c38ec897dcc24a66f87ebe2d76104d37ced482ea9fc1c7241edf38db724";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/cs/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cs/thunderbird-68.3.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "62d58fd817b235d8afea65212f527b99cf67d882a3fef592c2499881d659837ed90f5192111edef9b7d00e37ea5b1becc9fed00eb4af063ffa4ece160996a73b";
+      sha512 = "f4b27aae7c69c4a46c974f75f0f1a7a2154d422e236618df8efdf99859954b04c2b672c553fcadaaf07868fc95b35b75e678b855f5734d204cab32b0c20792ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/cy/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/cy/thunderbird-68.3.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "7df64966340aed43c1411abeef18ade4891c2d64361d3952967529ea487dbccf6ec4d824f85a740ed4d54bda188acf9992ba9623a72c139268f09efaaa27eb89";
+      sha512 = "5c94a45af181ab8f5c1f1c485a2f2af9fe82eca02f9a910326c69a555c5e3f7bdb99712d9efe0efeba3f2d8af30fe83f62191a4399434f442ffd7442f861fd08";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/da/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/da/thunderbird-68.3.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "7bc7c0b44e981f74119cb19f4d27e260a2df53b9188364c367752ca4fa461b1c003ea58d4eb14fd9d9b64ab1cec5cbef6e68080da180ca6e904bc6bed0dea924";
+      sha512 = "1141851239c3808f6fd65a027e7656279c950de67bf02416e43e37baf96e25ae567122e7610baa02fcf168a3b8e3d8b4200493d835a7a40b08cf99b4d42feb26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/de/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/de/thunderbird-68.3.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "6879addb03511e1fa18696069251a3649865fa2410b2503f8588d06e3ad8fe9d127ef414cfa977a323468e037f7fa06d7dbf306bb98608ecc21acedb68e2784d";
+      sha512 = "e201a89c573416cb1ae5d3f6fa9e7dd5f9ab53e60eba55755c78d70545f77341ddd4d7298903e2e424c9f6a14c5e10138348250c843d95b91503132b7909063d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/dsb/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/dsb/thunderbird-68.3.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "ab82cc4b35e0bc9bca7611cc9b17cc383e7489f54e976074d34deca5ddf83d380b85ef3db5b35611d59500ba8c421848ca9d0e4e8dc4f8dbbd0b9fabfd13eada";
+      sha512 = "a7f700781d233b78a83cfb35fd1dd2393acd10d685b3dc4b333580c2511946f5e44f057e7ba775160ac2c635b5a15db0bb3faf0e7e946c92d365025eee6b741d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/el/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/el/thunderbird-68.3.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "b8aba262bd82149ec9213d0a307ca6579c64b7afa084a251f35efb68384df55c220fe71bbef1741514ddd45c284e669fd4062ce5202f9ba91622b88dd48d5304";
+      sha512 = "f88050e071131929ac728938674e1a77c938538634e6a11f7d085a577bcc7b49855cf568d1bdaf6b86a79052cd294d3cf7962650f11d066f5a98a3cd90856482";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/en-GB/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/en-GB/thunderbird-68.3.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "b16a859480d9cc2f2ae2bf644bdff72e5b272a91cd311684012b4f364f7a06742ceac37a1821cd37e5749e6bc7c12b737e35f226c0694710140b154d931d5610";
+      sha512 = "314400d8f9cef4cb6d177b60824b371b6c135d0df5d5a69bf0d8870c3d51e88902df6404e7226abf5cba68de538f0b4019725c1a7f6f788270698ea0d26b75bb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/en-US/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/en-US/thunderbird-68.3.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "3046e6826e5df839ec1e572784bf333f72c5deb3dd472a17f0fdae5ce33bad3980a7f39eddaf99e680084053d66dfe83dace788c392ef027116f03ef49e05d33";
+      sha512 = "6c8dd662d2e2d998476828247e5455219fce61c251a37d08ddfea4b5d78e236c85c61dd3304038d274ebbcfb442c15b94080df57fb002a3627961b204cf8954d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/es-AR/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/es-AR/thunderbird-68.3.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "8e7ddd969487ec21ec2b4ad50e0757595d05f44972427d6c7243da15a433d16b14dcf6128f9ef96711bf8ac5353df3c3fb7a844a8f69ceb3761b023b22728f7e";
+      sha512 = "86a55fe5347382b5c607e29d9a1f7fcf15c5db97180fad4e643f2da0a11c98476688cbdac03e37ba8e3483cc5a65a802fa2b6913719083a529dc2ead08473991";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/es-ES/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/es-ES/thunderbird-68.3.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "7e59701093cd6c34498b9439d50bb1d03a2089366e793ef3d205dedeb14427d0f2306d18c5c0423a3a7d349006e3986d2c4977a996b3ebe3fed5d79d4a00035d";
+      sha512 = "ffd8390320c7c8fd04dcaea219bc3c51be8af9c922b465e778c7a03d388cc496d9ce288fa6e9c2d5c2ef718f1e870929a7079f76c703961959037111f634db69";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/et/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/et/thunderbird-68.3.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "851ed5a2289682a658eb69dbc2e5bab05199b08a3ee53a5d57bc8dbf0bc7882170697b1b382c9abc6f8fd6674c132bdf83f2b05aceeb4edeab57eb510f95f64a";
+      sha512 = "b8b7305eb644b5637fad17015dc6ef37f35ac2f238327589e50c6ddcb80e1fdd365451de3ee28fb5ac34e37ce3f69883a38464d799aad0cfa8c8da6a41b8ea6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/eu/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/eu/thunderbird-68.3.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "b006a9d2ca2510ce975509fa505200e3ad66dbc21a3e029007b01b60ea0021c34056b5972e7610ffbbd1d083e70745328ad36d7c64d97fab9973ffe2458d7c94";
+      sha512 = "68b424b3b53f66efbc90543683ad83f76ecb8a2e0469c00aeb013b5828a95a88bef6de6d1809767238715ffb81495508b765a1a7b347810e69e51bd2d732a0a2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/fi/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fi/thunderbird-68.3.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "c08b0567e22048a36ed6838464af84867cf6119130a5c1aa01e093bc7b564cc5d12d22bd530de6aab4e247ffdca1a3757b22dbe2be65edf846026733a8ab6cbb";
+      sha512 = "4088e2260609b14b8a8dbf6b60b3f88fd4fbdaa182da5671056333e01906a5dedfbf63f39cccf331de25ce2e905811fa6be6b25f615bf0244dff4f3b11a5fe6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/fr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fr/thunderbird-68.3.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "0dc66c2136f6bdd0d11d450603f13f9c3822f3a50ecfa0d8f0173475243ca145dd1082fac9f8b9a25e7e6d4e0f19cb127510c40c86bc721074b301536aa114df";
+      sha512 = "c986e334221e56f9c7b45a09bc3cb8ff2c8376ed363e52ab6421a468a050b9369206942830043aee9acc1b1f5ffbc03df649542c69e05d99a6ef4ee604bcae3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/fy-NL/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/fy-NL/thunderbird-68.3.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "685f664ebb6545f85d52604ea9e26477ba7ab6b36b2cb26fa81caccabe42e99c4cf57de40ce0615e830b0199b1317764e90f2d112fde42344606a39eaf454c1c";
+      sha512 = "8ae6e8aacb6e7788fddb3169db4099a6c4cbf0ced65bd2892977a9c6a480de7437abce78dd526cf442aa9f6d56d369248252442249bc21e333e218a927fe852d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ga-IE/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ga-IE/thunderbird-68.3.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "ecc63d373496bbef6992dd619d637956ce9d753f2eeadb0b2d45d11c11b71e9018c33d6deed7bddb1781285949dfa8f245b99d881126a8076db403e9036ac39c";
+      sha512 = "8528b198a821ed03d859c1a05704cfcaef3a809205521a07fb08422e93c0bb46e205b26466223b1dd5722ffcb2966298f6b3d98dbd31a211bd9862e536c7cc48";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/gd/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/gd/thunderbird-68.3.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "9cc2e9a105b2e1d3410fbde8d06c3340ba2d50ef8790b31c928385607baa8735bfe02ff6010315c1068d7585ac94bd9fa002cdc27c30007e6be44b37a6ebb6e1";
+      sha512 = "273acb355638ae7f8d14bf9ad8a9f55ed31c64c2f08a2e10eb987b2a061b77e5b87616421375346dc12c23ceb134c00b607ebf96de6bd80c745bdc19cfbe3e47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/gl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/gl/thunderbird-68.3.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "223c36a2ac4b02e991b90134deb0ac6d2a18d77bf0e8b8627b0cc5c0af49e0d9b10b06c05efb31b93aad90a75792ecf4f803a2fc5471595612697f92e1d3aaf0";
+      sha512 = "d7ce4c44846140365cbc950429feda5204c5683ca760aa70ba7c5d81c5213968ea0bd81d6eab304b383778be7bcaf041784f4d91a4b1f7cadea45a4a102e3bae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/he/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/he/thunderbird-68.3.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "865fff7acc60d6b4c19bda1ea38e532e96e0cfde18c441970389c34dd1e6f90f635202f4d98457d2373d42cd47cb3462b2ce0a3d7a385593be654edc54f2b756";
+      sha512 = "a7847097dedf3337211a79b18323b3cb81d208286dfbb4371cbb306a52923461e016587e62a9e74ef1cf9eb21a1d8ae961ef10822c774ffbf6d4ef8c66789e24";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/hr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hr/thunderbird-68.3.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "34c410ab7a1b16c2c172a0c45fcf69d9e2b4462f98f926c391b71eacac351162dfb55f29728627ed2fef28ef7ba40530b899d637690926297e797a3a2be5ceb3";
+      sha512 = "e92d6ecd1c32e411d5f8af94aeb9f5880e20f752ade3d30357770d9e35af8bf68f14db25503a0d52a58e6f36687f0ac4666e320db942f69700d239a0ad4bbb3d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/hsb/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hsb/thunderbird-68.3.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "f885d2b366fdf1806dd8e882fdabf8994e56471cf01cc0c6ef6d1e1d4972186dc8ec5d35b18ceab8f7982d45724544f4f20afb4621499d9543eb98a3d87a9e43";
+      sha512 = "b13eb09fef032e74424b7ec24d551e1e4de12fbedc6a21786165ba7c4799fdea2bfe9a7142cb218af2dc9199ac5412146a3c954457d0c3a1801031733d6c65c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/hu/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hu/thunderbird-68.3.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "e66ac6ad21527936f65e82be605d061b9b93688e94ef35d85699e2ac03d639e00db07d113071af08f11ac1742d811d66048e1d6de4ecfc01e25e325788fdc208";
+      sha512 = "d507f27473f7e1213208405ec8b266e0bd3f91ff23ac026180361445d59e92d69838212343684d12dca6f05c15ba2de19fd60062395b1f791ff6954dc6754097";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/hy-AM/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/hy-AM/thunderbird-68.3.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "fa959b64625773fdca62414269f1b3d0eb369d1e4d3d45b260d4ebfc367a156f70bda5b13d30a0fb4d576ff96bea5712edde51eab62db211fe636340b73999e2";
+      sha512 = "ec1ecb62ae98887a49d5da9f81c97909a9d59a01b90c0435e8bd9efe682266faef88845f810a95af109e621d4a56b404e9283ae3a9c9104d6eb55afad4ae14dc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/id/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/id/thunderbird-68.3.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "b20294eb413344fc550200ecf6780c79a919e9d4498bfb97c660cffc14ef18e1d38ad5033b6ecca703467f832c40d4ed4022e335cf3e28e12b43e7c6321fc1a5";
+      sha512 = "1a96c8b40bf843ccf8fb1223a5f1f1f4418184b63e38c1a6b2c7f03fd43b97acb81917be5ba1acad5bf67fcecbc5374b56d7de34b651b21738dbfbe009ac36d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/is/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/is/thunderbird-68.3.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "99c70cf0baed763feaa41799a51a15ecac4190131d74996101b00e99c2b4b674cdcfd0896573bd5fe4e22a25067f6c0dc3c19ecdc2706e010719d19f97aef20f";
+      sha512 = "0f11e5aa11bc4ba7ab2064d69d8b0770c0db7b4dae5821a3d0c35257777ab690b114eb6c2d5e8dabb1efc17f9f5668ba32e824f3bc1650b65b9835758faf1d0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/it/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/it/thunderbird-68.3.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "b711ad04c405b7cf0796f242bcc08cb5906a8b4fea4b2655251b135347a4539e974606f88626093376ce16a11995d23c6dfb16fbea38842a0b9dbcd8ce2a93a5";
+      sha512 = "2c3387fde0b35db4995ddad6ad3c4cefadea2f53eaa44a9dc34747fef8188c61e3eb3142952faa9a3800bcfab6ab0cd01268b5d5f94083e3fc0efdf72e6cc137";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ja/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ja/thunderbird-68.3.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "bad79952ae19ee63892c357ca2e55e0ee220532fa2d28836a15866f7549c82448196ddb51b91eb2abe75d87188fc1139c886c24f66a557f87253c843622fad64";
+      sha512 = "139d60c3aa21e5f9bde72b1bec2954ba1eead8a3806ffb54269211e44c343ebeb9bd2ef12a35c0e1dab004e44248454fea5e96b8c9f936d2b33ea91ae5969f95";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ka/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ka/thunderbird-68.3.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "f129b230d2572b25e289a7b8c1f1b4be71a8f57b639d0264cc50068a2767af8fbb64ffc0c4ae7d50cb489015fe9a810e34682cf351f6711d40a333c2fcbf9493";
+      sha512 = "2ac9802728c2d5d9a380c28af124d0f983d818d3f4dd0d8465e7c14278db81b0eaf7bdaeed408920e64644cbf6857641791c8d02cb0c48dfeca663d5f2658b42";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/kab/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/kab/thunderbird-68.3.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "2346f5acab924faf1eda887f29777dbdccd4569a3163f385dbd3ff8fd7be9767df4c19496ac7a550426784a04f1cea6a4370288eb8d12e3cb93abf8b0726979d";
+      sha512 = "8105ae7b35653796128da3bb34200787649bf5ce0bdc4da9dbd43b02b64c7c5f0aad4c26413032b63fd0eb4600cc2992464da55da953dbb358b0ddfd1a676f90";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/kk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/kk/thunderbird-68.3.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "12a7dfe909bf22a2a2906cd749aa409e023a777defeab4a28d4456e76e84a24d10c8a6cd1dfe54371b110acbb04c89c3259341ebd6e0ad497d175d1f9eb8c871";
+      sha512 = "80d85a5d30309964a6e139eb89a75fbddfe4e3ba2c8d8990040f2e9f25ee20d945e43a0de365ab44d6d54c593ba4e0bcb427334e3eaae2750e6fe4c6300a13b8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ko/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ko/thunderbird-68.3.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "7a3ec307a546c9adbf56a0b41c7b900edb76b0e52a773b486997c1f294abfd7262208a9717936e4e6ccdf109d20cdacd4cc5b4aefec30e82e23c6080154174e9";
+      sha512 = "034769456f8c78ae75b4ca094838c1398ecfeb570620f6f7f9a6beb68df1fa91fb6ff47296982edd720fc38c04a795525d1276c23172cbaae05cd8f367f6658c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/lt/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/lt/thunderbird-68.3.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "3f0cbd3e185594fb16694020788b22aec01c12682aea86ede1052d766da797b24b9b99b8ecb44dee008cfcd7a10ea36e7e1bbd39842fa416b8e69eea0bd831a4";
+      sha512 = "7726cc77d6346d9c80d6eefea6898a7a911d3ffc0f11c990183b90a21b216f0f26b80a01861c5d0be5e07a56cd6442cc4429cd8dc5e1274e1fc1086068aecdf7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ms/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ms/thunderbird-68.3.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "cb70f35114b3fb3c0324b80ece639a4bf733abe15b74bf0f04201e272703eecdffe66a2cd50e66d986332b40d3ba7dee04cf7624cea48e9925294437def77853";
+      sha512 = "78ddacb75e28022d0bfc9add0ec0f397bee3b69c924d5f8a9731d74bbba150fcc160a84b67c27879560aa572a423c4973390b9bb221d8897460cb3ae6d1a4a5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/nb-NO/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nb-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "3bd4914a8b0cad71622a79e34d182aa7c1aa115780980c29f732454ec219a19ca4d1af3f61693595842b27cac7c64138c094dbb13b0329950d79ef8674ea610d";
+      sha512 = "3b70a504a6e2ac0ff8e7835b43b8dd1527ea934354e3cd97610e26ed60b3b4b2565ef6213a11ef9a5b58307e3c836f35d3359bbf79a4187ffdf58ac8718feb6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/nl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nl/thunderbird-68.3.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "3335baf0974932247e73704a5272d3bb4b182908a76e9e3e0f15bc0c40fca7763a3fe1f4303b3f3374a0f758bb00d6639595b8cfe9c03999f3bfefd8b6f0153c";
+      sha512 = "309be3866ced93396a528645c286e9ba9c031031a2cd3d608edb99b19b285a6ee313ff25067d25774d0f55c4a93c60dba4ab81ffca67786dca0873294ef96681";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/nn-NO/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/nn-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "b9c93af9d330bec6f7182163fc680161a138a99691897263b74e81d9a30c6d892c4639aa28d0b311ac51800b72de9e092065ce03cd7683b86bd571c7e394a49b";
+      sha512 = "026ba56748d96225c801aa8fa12e3c88b66ae9327155831e86ab5109afdacb69883b63a855c118c803f267cc04af91362cbb7155bec5eb23c28422c592f4b583";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/pl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pl/thunderbird-68.3.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "3f66d17f0e231c608b1f45dd51cdb231826a3159ce188e9036cae8f45486d38d95d9878429dc1f15a90df3a91069b4c4c5d64ba9d35ca071cc7c1383d6c89239";
+      sha512 = "53e64d86f139bc8463e63252ad52970a7eee25f281ca39ac73cf34affc302e0f9b620115d953fb40c661e8dfac08d219d2b65932ddbd93e4d9e3467f899e329f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/pt-BR/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pt-BR/thunderbird-68.3.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "dfa439f4decb4bd22945584772d837acc79ac9227763ffe061a551d334b4ab5b8479516ece0c32ae5d7b05c7168c7ab32b390a83edb61f5d33e20cad965e6b75";
+      sha512 = "8625c47ed663c68bdc25e16658bec052582ef48e582a7f932d072e29409554375e1787d36d2269ef32bbe9f9b0408530450c20b3be8c2526b96986308a87ff18";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/pt-PT/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/pt-PT/thunderbird-68.3.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "79dcbab7997b1610a33db0654d5e2a831e63dc1e5be7794105bf3d9739d749b75ee56a9892c112d1da5fa5c5bcd76b945b1fb7532ef2b075f1c09706abe64165";
+      sha512 = "a17325aee249eb11cb8af4b787dbaa93f3c68fb57c6c27a7771ea04921f40c00a60b43f13fa0eb88c42a937b0c8d7b6697c74078be2427fb35702b7405e6c866";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/rm/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/rm/thunderbird-68.3.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "e79789f61bd59fcad82e25b62e4a324476d48297e826118352f9a8cbfb3b6807cf565fbcdc49fb1c90f22595f5d5e9b41c67b994d83a15f0bfd8b98645552b35";
+      sha512 = "dea2186fcc46d3a795430a4fb15c3f50ff04eda053a54a1949335134b28044dd961bd6d52a5e8237aaffbc60ae6adaba2387a3b153362bfb7572046e002be0d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ro/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ro/thunderbird-68.3.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "77e7deeb8e0fb2d77e7a672d0ef77acf171b602036fc14f8685c3b247b42d953dc18e816812067d025f17ec64daf1895508c11ce27de1f55cca7474377eadb6d";
+      sha512 = "94e30dc37fbc38528908c2e434c15a02e6e95e279b6fe92d9ea8df1b8ccc988f95f1fd5129e02c20be7bdd5e2201037ad47209d75f5fc005bc670a023aae143b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/ru/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/ru/thunderbird-68.3.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "74993af15f9afbe5034966d2c5ed17d1f1d43a47422acd7e671b4cbb8176ad845b1bf26d45d81a05e6cb4e6f7cb1be0dcec38d22ec4ef82aca45db49a22de1f8";
+      sha512 = "c4f8b328c497760ee9149de6407a7bb9d1f2e63b8482ed279d70f693f5645ed688b8e5c4ee9a0d5a4e593819718f5e6764d1bc5e0b14061ecf03a0e2eca609b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/si/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/si/thunderbird-68.3.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "a2feda066e1cac0e3d4e9ae5837cae50ec864190b9620694817eb7659a1292b488b820aefc2c3e11393ac52934827c368d379f9a74babe53dcbc48c447cfb538";
+      sha512 = "80698a5bca63711db2f2f08617868803c99ce4afe2e0998ec98fab255bf632833e7d6cc84affd5306469854b29ade93eaf568fc870792dee29397335ea6c2e38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/sk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sk/thunderbird-68.3.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "ecf370133d0fcda81c9caed13f5307bf27b50e85f255a5c13cb37da4466ca60cceceabe8463dbec3b2e4e7349c92c759803eb2ec01448dce1778d2bcfd2d9fac";
+      sha512 = "844d63101e62f7525bfe7e47cef0017aec6a8aaeb3693a345b247a50749c078f3d7697ee7ea0c758af48f2d12e354d0f0ad939959bfc8c813761e1cd092a065a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/sl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sl/thunderbird-68.3.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "2fd49d0f88c145ab65ba3887363b969da2b6ca141de373fe7b3fe95cb1af27cd4fcc1e21b146e241c312862736aebeb8ddf813548e7e5e133188eaeb94933124";
+      sha512 = "5641b327576f56e44506dbcf4234e2885df4c1de482ca5acabafc29bd9885b263818eeb5d0c49693194721b03c6572ddb4ca8136c88438db457a80f442bb153e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/sq/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sq/thunderbird-68.3.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "4adb9557d053c8485dd2abb89285c3559004653d4200025205758f54bf349d79f4a1db8229af5a2fbb7598554e47ebd7f6b1823f3a1cd0bff53a6080d17ed363";
+      sha512 = "070cb427f6e80935ed43f27145491c7a8d6eca7b54a69958912aeec724699362c4beedd8067ad94f30dde2b74f5763ae5c4375320c7aec039716e6274a540fd2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/sr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sr/thunderbird-68.3.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "4132d8b2470b50d3565d4ab32ce23eae77874b6cba8451c06a10cf5e10d0f1d03170004985d61cc9d7ce4f1c5c31f017b7ed8392ac070e63227d996b0d9cabbf";
+      sha512 = "1966fbae58c58112afcae545d36e03d0555d6ca3e172ce6077c32b692ef049d3304f44534f7d2d05ff8d9877cef6297aecfe3aeb03bf6727d544f01475d731a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/sv-SE/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/sv-SE/thunderbird-68.3.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "7d24c7ab6f7cb5fd6cfffa21b1d55040a626109ed2cff7859dc8c28b78b2dfc40b7b3c9a5ed12aafbc15368f294990a35d172bfa69aeddf8b65505f65f38898c";
+      sha512 = "5a07a3e16166fc7b0d8333279250f08dda228b588f5437a78469a30a3a2f28259658eef183dd7fbc595ee8133297cbaba5912a7260db4e5ec3bf3d45b0b51b49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/tr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/tr/thunderbird-68.3.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "17393c5c522cb0fb6de9c9fc13a2ed0743f995cb51d852ebffcaa03e59b39d93c2137e62aadc70131bc8fd61f2d6c3c70baddfae299e2244109f35b4f7443572";
+      sha512 = "f04678b9d30747a44279f5bb7660e5a4e24e48545054889752268dd130f184f00089ebdb74f1439f2d2861acc3d326513c483a5a82b0a2857696438783494986";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/uk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/uk/thunderbird-68.3.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "e8dad1bfa1b118141e65198014cc405a3041fc552cd1bf4186b22877433805357fe39a5adc6cdb9b9afaa86493442bf32ee73bf2c2859f8ad535c7996744f60c";
+      sha512 = "7b812fe4736d064a8854c52d7f4422fe0cbe1a82fe45d04a1713e5ac961e35e8df85fd0690e2b6102f631f64b487545b5886d9033cb5d26fce95dcb444a4312f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/uz/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/uz/thunderbird-68.3.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "5a99a2ec1539f452db613f7fef10d180bb57c642e0098ecb234fe03521f1ac9c781cce50eb025d8a5adae280b466dbcdbc08be08a0106c6d8ad99ff250eec4e4";
+      sha512 = "0f1d60b83e48ebc2ee38e24aea951d7e1b17e7ede4145ba3170380b51479271d04f32da493e3d9eda751c41974320d2c3e75587fdcd9fa716d9795bde597d0b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/vi/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/vi/thunderbird-68.3.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "fc39ef4d2bdd5791cd8661a522f74b2a1f9f3b534968f10b3abfaaa287a160d01debc56c9cd416c35e50b38f80d2a1b5ba10f4134e9fac3ac32748e3891f4026";
+      sha512 = "ef8f8aa5f676d9b629ad0491be1767d5a66f25cccd1cf4e089cd48b0dc91efb4be22ee037b21645236b49f0c1d5016e89285dabafcca9a9dba27dd272cea7559";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/zh-CN/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/zh-CN/thunderbird-68.3.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "96e2cb653a93d788a7e721bf6677e7dd50ad67e4e173bcfc23dbf190440a35ec2349241adbe7bb1a74c4732f3990a15636a0563448cd90b7526c06bc106d083b";
+      sha512 = "15eb738721b6cb0bbcc9547422ff89a1f3d9b28abddbc0c386a56ba44d91a1eeade1a4367aab0532b37b009ba7a29e8faea42cf84b320155defcae22ae113e46";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-x86_64/zh-TW/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-x86_64/zh-TW/thunderbird-68.3.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "c9d720e70d55998343c4d20257a0385e3764da751e57eb992d7ddf2723f565099d6e8c880ec009f9ea71609ddbf172a8ee7f82e603f42529388d0627e882ce79";
+      sha512 = "012a043f5c66eb76876dfa44925751f37e7cd149dd7158cef2121c73e3bce714443663ba4fea011879e7c80d6a653d7cddfa889657b2ee6d6f62a287c3d17507";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ar/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ar/thunderbird-68.3.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "79e4d01a88156ddbc1db2afd10b83e6e069a69df8cedfb0e247706aebbb8053ae68bf44b0ab1849e859ae15d8a6332c4e795033ce7e3385210cf9c12e4f3c37b";
+      sha512 = "5beb572e48d06893a38c17e7b5c9bae1f6a4f74e9d5f36137f73fef085c6e1a5583f7d1ddf1efa587479e682eeec96999f2c5ee82827665f27b963f242c87710";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ast/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ast/thunderbird-68.3.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "72f4ac14a13e364e4ab66d9659845abd4be47f07311cc79d71e05dedea1aa796a8e6d5772faef836e2eae410c1f8ea2b7b1bb460ccd60a0cd2bc7d48f511cd2b";
+      sha512 = "f0c5bfb629f594fe83692133496526df6d26147ea392451f9c279545cf2be8a160f6a9a1f7bdfe8684b099223764c5e0b3d751ce64e92eed7005fd970dc5dfcf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/be/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/be/thunderbird-68.3.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "aaef151a1ac5b0f4adcb1d708925f5d6452f04fe3f73617bd2a5fd0e2a54e48229c9fc27ec48d5d9ebe8db9e1925b2df7542cd543cf9f312ea7e65ece10d44ce";
+      sha512 = "446102c112be7dd92f1bcfd377c88b7801f0aad56f0b7f36ad18aa4bacd51e68ef3a6caf758465c42d0bc0d19d7845514a4f8920a98910244a73769c1177cc63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/bg/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/bg/thunderbird-68.3.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "28c9f71d5674a21785656309f40876917c27d979f082269f8b32f1600664fa10a3689abf856aa391cb42776fd2d2af18731e4af22fb1c5e75f3616c44772e54f";
+      sha512 = "455f22009b00a8ab2afe829181fa0d2d4fe973bc595a999da01521d514f2c4ea3df203e439426ce3bdd389e58f3c954af15068dcffbdf4b0d2988f197703cb1b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/br/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/br/thunderbird-68.3.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "08d2e1186d18f3dd80282597927c7c747152d13d2511eea5169b2b42eb4318a817261a2518509f8b26ac83d770d0e70e3ca0521fed8c3f253b5e6f211424ef6c";
+      sha512 = "56c5dd9bbb19cde280b2b0c6cf4835dbfa4cf72f2dcaf5cef50e5d13e28aab99fd42c716c9fbbe5ef6b571e22aa0d6c7e82bf24d14746428547747026a41355a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ca/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ca/thunderbird-68.3.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "d6c0a548b4eaee0c0ab8f7f03e3cf329d353f7e0d2403796b7db8f1693afdcb8454715e4d0e0d2e1f074cd816b2c9ec9be5ccc76b4d7f0d00f8615bfce4f193b";
+      sha512 = "c35b3bd4752b3cd72347eaee3a48d288e9c0a65ba9c50d2da80aafab0d57df7315531941e89c1ce374ba3f2171553e465b8f1a653acf0032aa08cdefd06399a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/cak/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cak/thunderbird-68.3.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "3bd32854eccddf411c294bf0dee5f3d945a1016d1ede639ab8c1e2e86ca97b9866f1e4149f1fb0402fe3ebb148e8f34f7b12ede4853c6cd2edb87d9e822d1e27";
+      sha512 = "ea7b2fd5abc216603897264efbd3501b5eadf4d0714dfa00ee351c53dd4595de5ee1f314bffd86a8a3e5dd92548d5c1ae28339e9bb0c32be2fe05f1279db009c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/cs/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cs/thunderbird-68.3.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "33c87e9a016097991fdee92d5f8813b4cdeab355ddd5d65d25a017640bd50dba94d5936148e0873ea596fdab2e214eb70bafeb5edb6576397ba300eacbd873c0";
+      sha512 = "24e07fab3d550a3c5bf3e5c649dadf5466d2f7ea86bf607173802385f2a79454aebedc4ecff7d25c8fb86ebc7594a29ae2cce6cfa551cc3c0ddc165fd77a350b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/cy/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/cy/thunderbird-68.3.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "f28f46b5d8004ade5b91e3fa10659ab87c85f33faef90c534a5c4c0680d11dc0f013abc28003b1a7111b4f67040ba54a4616c85cf9c906e52048ceaf6d9de7b2";
+      sha512 = "36c2b67b0c88cd2341ad6dab022afe7a5d37a2796fb75fac6014bac9b4b81e7734ab8d803bd97846bcf6b16e1e15921ea7e983b07fe77ca52d51a9819d785f81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/da/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/da/thunderbird-68.3.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "21eafecbc13e8f63f36386a64fd947ca566ff6878e96a6ccbd124e1020a62ecede74f8578b56c66b13ef63a4197f527d406aaea6559b833017bb3e1931052dfa";
+      sha512 = "c200e146778c1719b2ef1c31cf3b3a5cad8b07cd4f773d1e889a6fac8f6a4cc3700bbf8d108eaec90f8319056c036719601bebcdc975ac4ecbf86b962d65732c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/de/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/de/thunderbird-68.3.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "5c7c528fbff84823ffa46300081f2d5352bfc5316af574d39e020ca53e9b61b1c5784ec7b863fb095645d908ca18862610babf31f7e094d1e0280ce8069573bc";
+      sha512 = "ebc55f82e83dd9d17bfcb8c5f471418ca561bc5acf01ec08251dc7c0715ce0c5dd2fb1ee28c2e92e1dc9b24b6fc8ecc1902a5e78e1b23967d683e2825c92aead";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/dsb/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/dsb/thunderbird-68.3.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "f18ab27c8bf26e2ee2feb2007cfab28622c9df0f03facb20f0ee581d6bc33c67227a2422f9bda7edd5cec8fc1ce0096764e26d35262559162a3a37481a92ac3f";
+      sha512 = "9f67dd9f57b0f1289cee31750409b14fef52202c4cc205fa7426e81ec8f262f8d39786ee4750a47cc100fff133063a5a16c67729871e86eaddd1fcfde419f7ae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/el/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/el/thunderbird-68.3.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "f3fb8cca78a51fa0b855c8e112625af364b59a6ef2c05c7712da6451790a8749f26260aec716943a785c6006582977ebd950f09cfee8ed9041a875f9ffb632f7";
+      sha512 = "6b9624e4779d1720d7bfd6d5ac72affb2559ea730222edd85322d17216a6d0491a745a15e98d1a5bb8b68df9bc6ba33144f9e4af1558844aba98583051a07f0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/en-GB/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/en-GB/thunderbird-68.3.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "5d53ae6575e6f3580dab921cc2ee11c00834fee39cd321c906b81103fa14b82e4e129d48642aa9b857921abb11a6877b774ad685069a921d417fd93d25ab2198";
+      sha512 = "9e8ff4441e1f0813f7a797c7815961f229f6e4bacb3090e3417546d3c62274d94b7bcc7cd4e83319f456024fcbb6d4f5a1d347d8789d6cb5c530aed2369bd18d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/en-US/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/en-US/thunderbird-68.3.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "9a4ead1f16785db8778ead96eb4ed21c5d52e9d3669d2d3bbded0d616e6b57d0649347b067d48437b769c51093627b47503408aa109dc899d62ace8fed83f62f";
+      sha512 = "413614f1508befe9f5b518125bdb53791d2fc86acabf899f7d48ff645f02f09d74e751671be4e1a5aba8d816d3f45fd5f3cf5490fc037d87596a10574301af43";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/es-AR/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/es-AR/thunderbird-68.3.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "15e85f3f51409fac915b095310158a5313dcd82f66470c85874e4306f1efa70e63bc4b39b615dd8e1eeda22b863c6fe0c5ba15bbc6dd94b6fb4a0859f22ceea3";
+      sha512 = "2ae7b1883b238727d2fa6261c7eda3bd428c996153b1cbb468f371e5fbf9f2101e4e2c078246359659fd495ad3ba80e71437aeb6157799225dbffaa7b7462f25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/es-ES/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/es-ES/thunderbird-68.3.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "b136302034d987594f65e68564eb1e6b1713d79be39e7b90f8ca73c74faba06d97afd60253ca34f15a415575c412be6ec1113598e86b0b7c4d8ddba35301cbe5";
+      sha512 = "927801de4ffc11354994cef415b231b967d8d70326c86ade52432287c8a8a10756974e3286b8c9b372c08db2530c0e28be7913537ff4d83a80c7a69fbe191959";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/et/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/et/thunderbird-68.3.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "5a344c70202d884827231d0a7ba06703c7a265fd3ad59f1442b7d4bdb57fed06b8d6aabff4a5d6193a7b62027e243cfd27cbcafcdc1ce97baa7e0f3317f64e49";
+      sha512 = "e800b51e43a0e4ea23442419f51a17de6a0695bbbd03c2b5431097c1438befd31cf2e07b70ea4ddfdc02a68494d56e2263a5f6d97f84b9d077ab600a6e3b7d4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/eu/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/eu/thunderbird-68.3.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "ae417ccef00a3c5a2fd33ca653d35575126d18cd991ae32e25bbcd8f6d8a85f282929c2f2c78ae0f12ccf85a418cbd9518f6d28f89d6bf38c41d3509801caf45";
+      sha512 = "deb4999da8a2a5bb6b695666581f544cb33d844a4a69fb802802c9eeef96fa945faeb88311ceb10fca4762c98e0134ff09705b3c76ca4f1b25f342fea048f69c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/fi/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fi/thunderbird-68.3.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "2046eda267c49edb5bdf268265dd02f638670c8d6f1310fcc496c1acab2c777e39c5a974dedbb7bb1305f7a9ecf11c64303f8857aa7fba66f76a62cb89e45b23";
+      sha512 = "c6913908c29f26242062ed647838d07a70183ede0712b5542125b121506ddffc6454ada2557d2bf5090b4d5f5a5f94300b979e3426c57af8949326bf4ed9a3c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/fr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fr/thunderbird-68.3.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "f483c884064d13d11d4085a72c8805b5c10564f2926182c649c5422c31c8014a75948d2dbaa612f29b1f64b615e6e9bbdb2c4c1c406c8b57f13498ec1f29674d";
+      sha512 = "53e65c88271b04f4b73de9b2ce32020da0aa0f27ccc383d6a567f65639a4d9274f7699506115893029f150969554aafa2e09ed97a345e0f5c9ebce0e33273003";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/fy-NL/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/fy-NL/thunderbird-68.3.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "b8fc327bb911c25be29c8ae5a664a2b000ee08183388dea6b75f56105365f541a5f81f6d00089868ad20037809c2e4a33dfcc988567fbec187f41abf66d4d6d6";
+      sha512 = "197182e6f8c024f1ad04e157bb33b9e9c2742adc58177434b070454de1d7fa529f7f4b7738b43bd7c5167774666de23c4031ad5418ab828ea354248351eb4b98";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ga-IE/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ga-IE/thunderbird-68.3.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "4c456ec8474109c7b136b14ba49ec8b155f6b7194ca4db618a3daa7affb7dab4b757a8536798cd59241425f4b2404a28f6f3d99969beeb9448192a8faf8fa324";
+      sha512 = "4001e0b11f7d9aff506b84bbe183d8d1a6b9f9db948b345ee302f5327631def91bd28ed101905bf024e3294c3c4ca3e80286b62dd42895d4845a98f321fdb27c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/gd/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/gd/thunderbird-68.3.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "d126c7f9c29102392c8bf2643130f7cca7add29e60d540bdd344f54bc7535b10e70b224ff6adb0d1f8eebb86b933f1f232b768ce65cbb0cda68347dccd8fe373";
+      sha512 = "1059be94966f3451ec366ff7490face91f4af446f072356ec6f34c34b18df0a8b55577a074cd3ac55a631803bc2e6af1f7de50d3d6c4e52577f3d6990485ae45";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/gl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/gl/thunderbird-68.3.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "35c855e9d0df8030e455af1fc1c704ef12f598f598f15b2951b412f9147ad5f3dc129c7ce7b4d3757ab67773e9af75459bc4acc07fdd1390c0d080214840d903";
+      sha512 = "405f4c81edaf4d00925966c22f7c85f0aed9b01ff362e93977a561e36ccfb40ffc7ef5569c580f1be48e731aa44fdc3c182b740342a8d5470a425c58d87edfe9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/he/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/he/thunderbird-68.3.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "361df030e5bd3e876865fe727e41885cc063f1091e0fb6ed71530aaf2cb88b8ed02c6d762939668cc2bd2fc7d861ef0e737dbd7c7ace9a859158c978f87fa6c3";
+      sha512 = "87c6e427f40603a68f86aed839ae7b06e488ebe6f20838a49ac967ab08d13a715621fa20c103a8f9511a8aca1d42b89c8329fbe0334ebc64b03e8bbe47ca3ca6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/hr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hr/thunderbird-68.3.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "92bc3303a6a0bfde8c287e98593f3a88ed1b44257dd660cfc418beae15780c06919509c48498633ee85fff990ae447f71916bffbdbd1a5eb691fe8d880052c4c";
+      sha512 = "8137ea66317afac5c40bf81b49195662a3aa7fff827bf9c5da1aab46cd41bbf1237a5205f5be50faf456cbe8a8e95abdada90b44e6a31ee9b48b21144848ad40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/hsb/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hsb/thunderbird-68.3.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "6a18e62fe60fe7694fbe305a65a497987934af299c83ea0410b08fd139cb988640f511595340b4522fa64550616864060df7423bb0e23696a29dcf274c5987af";
+      sha512 = "76f99828d3716d209e2fc2220f1a42a9e2de7ae905d833f286a3161f20bd4b9f015108a1c2d7fe5bee5aae11289568516010f347929e8f504601b96dbb3b051b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/hu/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hu/thunderbird-68.3.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "f6a4e4844eb10964c95e0cd6a143128e970f40bda283d63ca542ad707c8818c47106e638fe2cd0e5c88420d31fcb7dd86888fa764ccf4d6de009841dd06bef65";
+      sha512 = "fa73fe24c69419e38edf786c3cb2085038f11b8071d03958ae82468a7782c523382784c4bfbb686db167b2b16059f4faf73df2faaf3ffcc94f00abf25e498c3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/hy-AM/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/hy-AM/thunderbird-68.3.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "1ab27605d214695d3db36d337ecd33853cad37b2355c5a5a89da995c3fe655f25f3a1f7e01a9903e5628061bd65d0fe43c49e93558939d152449a81cc91916fc";
+      sha512 = "4e0c4d4cdedc595d73d2ef5618ee89018a574ed56055545ed41015bcd7fb1f8ca6c2e9f9916f09f043a62259f71b1a1b5e49ff59d3f7e2d58ad735b1f059896a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/id/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/id/thunderbird-68.3.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "330f0b9b8c854c37250679ce6e9cf3882153dec717b3b0e6a29524967c5e75c6c784547e9055aae232156c6e0aa0cf833060ea9e192746185c472b1289c662cf";
+      sha512 = "0c53ed9927037db892c37f6b8c930af53c49d9325f35df7cffafab07500d8b3a76708ee01742b63ebbe952fd6e95e2e90d2445d06bdfcc86d293722d2c472609";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/is/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/is/thunderbird-68.3.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "e8856b72d2950238ea82095fe96fb93872ff6ca8da2ccc666386ce08700f7fc137fb3957ac75c90872b7db3b15095892a3bf39d4169d364c93b79abffcec0588";
+      sha512 = "fe9da6b03a962cf613e46613dca0652a17e27f1084ad60b26d9b301ff8a81b8e9b7c81222ea9aa1c5ad50bd5a0b8baa565d70d479712abae4618724e2c64237f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/it/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/it/thunderbird-68.3.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "75c7cbd7659f5b2156ee6ff05fad47f8c0e9e41461a79ec1f9c35bf15d696f9526789a6192e3dc32b36851d17958351f65f76be50ab70309fd8bfedfcf579e64";
+      sha512 = "a309f5cb7fd7e2187470fc46ffb008a829f5e33ce888afb3c015ce741d902534cc09a3338f3649223b2fef84368108e0fd1d5852c3fcc0dca0abbb1853c626d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ja/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ja/thunderbird-68.3.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "ad790fdab0bed7a4828e3654999e3c3b04dc51f04ba4ca12e60d9c70b44236e6902b0dfaa70842db661c5fefc28eb7f2045d78ff5df82224d7e0550dca516f95";
+      sha512 = "83af58ca30ebca413ab71cfc033ee3d7589088e73d739a89a81441725b67d1fe271db806538b0882ae802cdab45480f7c6d6d04f63e10b9a5dbb62c497a50389";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ka/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ka/thunderbird-68.3.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "371fb961b63f170ab0521bd2fd590244966a8ce9935f5352baaa244922425ddd46f40fc6f8d5512fb7b61c12d01e8d050fe53e77bd7c69f7b6a9135bdeb81e3d";
+      sha512 = "9ca88cc5a66041e1db771c7551ce9f246b8eb25946c3a90988615287f4089c5e1c0c9dc89ce776d5ab7f3015005229aba3dc724efde954147411315c8e964f17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/kab/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/kab/thunderbird-68.3.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "a1e6fa908913e56e17272545765092f3cb32d6f5807db7b7bf02d3eaceac37a76136cbfdf0c11e274c7a59b8a1db8d8b54ddea6bdda75d0b1e9f869eb62d8fbe";
+      sha512 = "b7ed2fbb279c5aaaed7b219bd2e3097a9b2f524df91b37c9d68d2b94187323cecfc92b176d6205a4d184f64273b75eb4121a882583a0e06a9c07b09501f06841";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/kk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/kk/thunderbird-68.3.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "2953c0e23c7153e96cde831a607e688540522698649bed526066bdd527ab8024e6007842ce8cc2f6681ab6de81250e63f52c3a0bd51f9ce1a495d19f2446b2e0";
+      sha512 = "86215ba52d4bae535706159c60dbbe471f0656d4c69473771566205fb1a700111bb8181c156fa3593cfcd32e0a8d2c51b72056277cc2d6946cfb797d24c67b47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ko/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ko/thunderbird-68.3.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "bbae4b68e771c5416285edf8bd5e8d9f117d5bb9b5da4b4d2d4a90e89dc74e0be32b53f123426bf356749dcb3077f3c28fff47037df2a4afde90d08899794e01";
+      sha512 = "d97cce3025365dd274903630aaa096e89ebabdbf3335f03a3593c90f372b2df100df059391f16c7d1262dddb7dcc4e2e48b104e10a5735767d0d359f1d8f27ec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/lt/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/lt/thunderbird-68.3.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "a074abc38275119652bbd69765fa36d3865253f32ca7efaaf628aea94ba6316fb581d083eb0284eeba530bbbd8f2613ea43ef6cbec6090c377449e16a1cab272";
+      sha512 = "6e4f5e35b61589a10de95f2e8269893a061ba26fb19fd072643764f5c5b476c807f149abb9557c646e38dd4cffd63f6a1cc343803ea4bf3b2ebdec730ccca64d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ms/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ms/thunderbird-68.3.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "a956870831e313917eb15e836aa1c3b5f774afce7a1962f0041c07008b627d5dc12821c091e4777181a15de94d62df565caff10c620cf48d08db0fe2391ec8d8";
+      sha512 = "32149a9dd72da68862e44203e1e89f3702cf01203f5a6c6362d696dfd6de8ac850f6aca273a8bc8b2e6146ef9987b1c054fc738942f64fcfb5d3f98016cbee38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/nb-NO/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nb-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "425ba2a0e7401d83a4f98389e108eeb85ffafe685a748526012a47c07768278879d0a9795da0bfca5a955f607afdfb5243a4a5980d85d0f827d0253c5f84daa8";
+      sha512 = "2a28c4585dba6642f5216228380dfd4b3ff0b7cfa23bd44feffdd0baea3dd352d290d6d236547fb8e7f6e7d7c724607e472d718006884f35a00cd257f91e83d6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/nl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nl/thunderbird-68.3.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "dd05524929e09c8459ea9bde675e645af56e516cfe087862d4b869401b54fea9766553de4edf340ae936d9db169861fe655b3e258cb2f824237de68ba087088e";
+      sha512 = "055f6e6eb1a6cb84e1a3268b394eb514ba45278a26ff507339d00f5b2fbc8f1704bccc59a691d8068e94be9a84296640401146ab522a393e0db2f32f2d31490d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/nn-NO/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/nn-NO/thunderbird-68.3.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "5d74324cdc78563e109f0dd151dd90133baa3d93ecd7c24e3ab8d0b36a402f524e97c58889a4d5ad2bbf5ca08d785b45c660099777b9706441bd7fe5b8c508d1";
+      sha512 = "a0fe6bddc1babd7671da9105e5870edd8bce128adacaee0f8f31b904c022d62d593d32863d4c8e836dab2f2cfa11e79d2cdc0f71bf0909f44b46b7883beddecc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/pl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pl/thunderbird-68.3.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "09521b3fb8f49631c318f6bd1e8bad27f9b75994c3b1e8b57014d9b290cf6cf338ea30ff46c6b07fb2dfd456fbca18cb609696341417bfb39740253be2a9f678";
+      sha512 = "6bf2693ac1dc360cb0af200fa07cc59d8a85e1da3db62e90dbb372e6ea92551224ad638dfaf0789c006b7e6800e18bab3f8a787e58aaee1070e7e799733bd0d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/pt-BR/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pt-BR/thunderbird-68.3.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "9a5c096a5e2bf3d3446c0de33fb92995ca71e994e40fb5b66001f7afe5d0e196a7b3b0088b8e51fa8e079af42095c321ebf9acf367408d9c99c33ecdc90dd57b";
+      sha512 = "d428949e8e1157201e068127cab265a546d358c0015341cfb489d2ee212675dfb3b5b837eae90cc50a3d997cacaa92a7b0777542e6aada37b29df16644113d7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/pt-PT/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/pt-PT/thunderbird-68.3.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "c19d39ace2beb65123f09129545cdddd303726c2efce12b57f5919435cd6d432c592c5fe48f86ede44a949edf1a1a995b3094f26266baf18cabb79188b00ad58";
+      sha512 = "9d03c8563c16a1b765890e3d45686b02f8cf222628d44c2abf8069308e1c5698c4f7dce34a5dfe872cfbfed9f37c2ed9483b84fd56c85d1e9a42ef77a31297a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/rm/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/rm/thunderbird-68.3.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "839f4e56a788762578de09a74ce8974573b575eb0e0f641f36d2d6086eae08e2a0cb6a610f4ee2ce00db0b8f0549c9cdc3ea433ba3e0a1eb5f6a9093542b94d1";
+      sha512 = "307b2858f594ae685e0800a6c17c498f239e848e2c7c2df9d360b0bc34716b51e6ffd405614428d213af22e4dec188f2ceaa0ac9b88ac70504473c6182c52191";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ro/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ro/thunderbird-68.3.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "0ae5d25b55971b41594676678dfeed2c5f0c89c3f4c8b2649ce2a1ae9183c1518a07410e46b9fa86d5f09f18f53f4a6c37ecf1e4e72d6414b065dbe3f46d0d6e";
+      sha512 = "711d7bbffd932f26e2ff4001ee72147daa247ab4952f5b7dd5bd382df59f0f21edd18e20aeb5ae74f3cb4dec6f1d357e3ce479607b8b049088b5126829e66e96";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/ru/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/ru/thunderbird-68.3.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "fc00117c0caffb90ee70583692add1a0aadb8a03970c8cf501aeb248bf4abe1d8d8046c2c170b42248d0f1f11241067508e35aeb0db320579882905156827527";
+      sha512 = "1983e078d89de73e9767a03321278dac6adbf3684a0b06d9073a79b765a7abd1602a90e7a69774d878c3fc3ed2819a6cac0ea55e662a03d85242b2f2f5897355";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/si/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/si/thunderbird-68.3.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "6345bfa3abf1ec899320696b10553f0a75b48f2f2dc317c5d6ac10ddaf09a7269353a73aec84ef4d7501d064e409d434054711441da3698f1ed5af653de4970f";
+      sha512 = "478a7faf1aa49f3416e0191bd733b1bac609cd5fc422e1ff5a6b45adac73572d32a12460c4577f3c9037fcb82f2bf672399a68b161d8e1d2f76a8b20ed272a44";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/sk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sk/thunderbird-68.3.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "745514c55e85f71cf07bda02a842c8452c454a80a10bfea20e9c5750f1702809b4c589a2c1d3127c599a91ac0fab458de8c4d66afc8511e64278f02638fff63c";
+      sha512 = "11754a89286dfc86868b6373ac73948efd239fc91dde87007ba07b7d62aed780ae6030818a8e3803098c2a8881705b1e39ac517e1883ff3064e2d37d5dd13caa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/sl/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sl/thunderbird-68.3.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "2449333ceec017fd3b6e3bf673c3aa553b9c52c07a09e02e773e42e2c6acec60573183d6a09c5c085ed9389c1d48c4f02acf50d83499421bedb3094823ddb34d";
+      sha512 = "4f4142f9e0673eb4f53c21027f1ba74c02cb0ffce2894f2cc077d299b082da554bd972811daef73c14281cdad2de3af9ae2456032cb3dead186b75cd27ece020";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/sq/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sq/thunderbird-68.3.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "7a2ac8f6c04cbdbc222ea1218dcc64928b6d5038381a7655db34cd568717854197fe4b77645b2ea07b4b76a724c2e8196db693c5e367d09367edf1af471f358e";
+      sha512 = "cdfc9cf530d813a69073f481dca6ecbeb58c3e5b90d1f682f2ef84b2e0ea4b3c823e88704ad781e9b29e7cdb98732c66d8fd6182f7b721b18a29ceef75174c12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/sr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sr/thunderbird-68.3.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "06db22ff1ed32c1311d62d1cb860bb22686d5893985bf16fe2effaff864b4352788889d5e2f2ff6c450edd4be9d9c1f33ddcff513d5eb2cc3e88fe5e50c33485";
+      sha512 = "81f6a3376db8db3eac012fe4b13bc9a47107cebc4114627ba1d6aa06007bba83b7f8348543b30056658a0080dd9e710ec8dff039d5383cd4cf7c91b4c2337f87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/sv-SE/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/sv-SE/thunderbird-68.3.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "f1a43a44dc155a01cda07041f554eb3474c35621ee8d8c7596aeee2746da12aa934d94f436014218a360b7848888d0e49285ca66cca8209b7b02d044c29571f4";
+      sha512 = "4ce8d5244836c9935cf8c3413ec5189e9ef952c207df5d5cf83772f0d5e2d64519674344aa45838abd2c23a19a6170a213c4c76e57ccdd94efa1c238401e9a3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/tr/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/tr/thunderbird-68.3.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "e430c26852fd2cc3b9afabe9f8c3e1480e3454614bd90c766dce2b2cf652fe526146f79bdc0e25a1ce4979c1e22c0af90540659df5fdae89b0498428a61e0d1b";
+      sha512 = "648d8e03df497c67254a3757b52b555f032a4637f54a24cbd67d6c51a99db8b758c76e0b2c9523bd43a835c979f57975cc6d8df661b3d10526b33b3d1f535a63";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/uk/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/uk/thunderbird-68.3.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "d6717aee4e1367ba031d03a90fc46ef397f9bbe6ef1d2a5537df77dca1d042e83c6fb44baef9ab01dc47de0f481742186220542831bfb6670c7a756a77eddfad";
+      sha512 = "7a121928cb1bb2f47db14bfe06a738249041e3a9ddb90895a9e9db614cc22980a5da1c0d6ad0e8f534a345c1765fd8240a307c0c8409c1554618ad822cd9c20d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/uz/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/uz/thunderbird-68.3.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "58ba68d642eeb1700c6d0994260bb16028fd15b49697c6e99e61e73d90275e0e4d2e6957c2af60122ca7be8804c1ddeb15dc38090287335a674104da3cd1cb47";
+      sha512 = "5a79dfeed1e2ab362df3500f94c177df5ec7b2a266c3f1362af5f74c74a6760deb85a0ca822a3777b6236639495d8e0c52203024582626d8fc4a6d5de18f1c1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/vi/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/vi/thunderbird-68.3.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "9968cf02fe2b58f21e228b9292b48fcf9df5beb805335e7c77332231690b2bfcea29a4abfe9e834a85c2e4f79fe55df4590a2ec17676712c1b30736f48704bf8";
+      sha512 = "4a88c3605b365265fc0c807b753a7b5b7fdb1ac2dfc781e9a8457690a5ea11a26eda39e617bd12e67d86ba26fd28f27088404e17af286546978abdba9349b71d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/zh-CN/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/zh-CN/thunderbird-68.3.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "41369b102e82285050147d0e883fc20c6b7d311a1a8cef2efd31480a6eeee8c3ea5e0a9e9968c3d903d1fd92aeec331ade3cbcedd16cb254a74c6049ec0ab410";
+      sha512 = "0499ab6f076c44901122c302208d919a977a5ae68df4780926efecdb4281bc085ee1e6a3e7f889dd2fe90d16f0ea939b1447203ad8a2950789e1972262149724";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.1.1/linux-i686/zh-TW/thunderbird-68.1.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/68.3.1/linux-i686/zh-TW/thunderbird-68.3.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "37e07f78c2ab67d040d6cd4a511fb3e6a641ca00dd659b51d5d320e79251bb2096dd6719da819c22306e10af9fc88389212129d20064ce110d06d49bf01545b5";
+      sha512 = "b1456490911eead3f8afa640cff10f33673631df6431e2074fcf7baeea3f128a60a1e07a5d9224bc2776aeb3f1ab3655e27f51b16ed118bb8437ef50797930ac";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 0f4679a4223..a6c743a85ed 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,217 +1,341 @@
-{ lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python2, python3, nodejs
-, libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
-, freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, zip, unzip
-, libevent, libstartup_notification
-, icu, libpng, jemalloc
-, autoconf213, which, m4, fetchpatch
-, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
+{ autoconf213
+, bzip2
+, cargo
+, common-updater-scripts
+, coreutils
+, curl
+, dbus
+, dbus-glib
+, fetchurl
+, file
+, fontconfig
+, freetype
+, glib
+, gnugrep
+, gnused
+, icu
+, jemalloc
+, lib
+, libGL
+, libGLU
+, libIDL
+, libevent
+, libjpeg
+, libnotify
+, libpng
+, libstartup_notification
+, libvpx
+, libwebp
+, llvmPackages
+, m4
+, makeDesktopItem
+, nasm
+, nodejs
+, nspr
+, nss
+, pango
+, perl
+, pkgconfig
+, python2
+, python3
 , runtimeShell
-, cargo, rustc, rust-cbindgen, llvmPackages, nasm
-, enableGTK3 ? false, gtk3, gnome3, wrapGAppsHook, makeWrapper
-, enableCalendar ? true
+, rust-cbindgen
+, rustc
+, sqlite
+, stdenv
+, unzip
+, which
+, writeScript
+, xidel
+, xorg
+, yasm
+, zip
+, zlib
+
 , debugBuild ? false
+
+, alsaSupport ? stdenv.isLinux, alsaLib
+, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
+, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
+, waylandSupport ? true
+, libxkbcommon, calendarSupport ? true
+
 , # If you want the resulting program to call itself "Thunderbird" instead
-  # of "Earlybird" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-, makeDesktopItem
+# of "Earlybird" or whatever, enable this option.  However, those
+# binaries may not be distributed without permission from the
+# Mozilla Foundation, see
+# http://www.mozilla.org/foundation/trademarks/.
+enableOfficialBranding ? false
 }:
 
-let
-  wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
-  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-in stdenv.mkDerivation rec {
+assert waylandSupport -> gtk3Support == true;
+
+stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "68.1.1";
+  version = "68.3.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-    sha512 = "2ng5wwd7fn9247ggzlxx96scc2nalaahzvxkzvb87mp9fbfcsi3v9dh370cm42px8hrknnsp2lrfk9hqx4287zyn9pl3k9vr6a9cswl";
+    url =
+      "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
+    sha512 =
+      "01vn2snp631lngfy0kz6fax6r6w5w2iqc27hqr3zsvkfsl6ji0rkxm17g4ifv2qvkqgrnhxicdh4gj80x7fkw2nmmsqsypdddp5a91f";
   };
 
-  # from firefox, but without sound libraries
-  buildInputs =
-    [ gtk2 zip libIDL libjpeg zlib bzip2
-      dbus dbus-glib pango freetype fontconfig xorg.libXi
-      xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-      nspr nss libnotify xorg.pixman yasm libGLU_combined
-      xorg.libXScrnSaver xorg.xorgproto
-      xorg.libXext sqlite unzip
-      libevent libstartup_notification /* cairo */
-      icu libpng jemalloc nasm
-    ]
-    ++ lib.optionals enableGTK3 [ gtk3 gnome3.adwaita-icon-theme ];
-
-  # from firefox + m4 + wrapperTool
-  # llvm is for llvm-objdump
-  nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python2 python3 nodejs wrapperTool cargo rustc rust-cbindgen llvmPackages.llvm ];
+  nativeBuildInputs = [
+    autoconf213
+    cargo
+    gnused
+    llvmPackages.llvm
+    m4
+    nasm
+    nodejs
+    perl
+    pkgconfig
+    python2
+    python3
+    rust-cbindgen
+    rustc
+    which
+    yasm
+  ] ++ lib.optional gtk3Support wrapGAppsHook;
+
+  buildInputs = [
+    bzip2
+    dbus
+    dbus-glib
+    file
+    fontconfig
+    freetype
+    glib
+    gtk2
+    icu
+    jemalloc
+    libGL
+    libGLU
+    libIDL
+    libevent
+    libjpeg
+    libnotify
+    libpng
+    libstartup_notification
+    libvpx
+    libwebp
+    nspr
+    nss
+    pango
+    perl
+    sqlite
+    unzip
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXft
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXt
+    xorg.pixman
+    xorg.xorgproto
+    zip
+    zlib
+  ] ++ lib.optional alsaSupport alsaLib
+    ++ lib.optional gtk3Support gtk3
+    ++ lib.optional pulseaudioSupport libpulseaudio
+    ++ lib.optional waylandSupport libxkbcommon;
+
+  NIX_CFLAGS_COMPILE =[
+    "-I${glib.dev}/include/gio-unix-2.0"
+    "-I${nss.dev}/include/nss"
+  ];
 
   patches = [
-    # Remove buildconfig.html to prevent a dependency on clang etc.
     ./no-buildconfig.patch
-    (fetchpatch {
-      # https://phabricator.services.mozilla.com/D47796
-      url = "https://d3kxowhw4s8amj.cloudfront.net/file/data/a54c6fszaol23yh5aa27/PHID-FILE-sql3i57neyrztfdngrwe/D47796.diff";
-      sha256 = "18i1bk6rz875dly2vnkrdgbah8kx0lv4akjzl0i9gxc58hi5q3nq";
-    })
-  ]
-  ++ lib.optional (lib.versionOlder version "69")
-    (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
-      name = "write_error-parallel_make.diff";
-      url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
-      sha256 = "11d7rgzinb4mwl7yzhidjkajynmxgmffr4l9isgskfapyax9p88y";
-    });
-
-  configureFlags =
-    [ # from firefox, but without sound libraries (alsa, libvpx, pulseaudio)
-      "--enable-application=comm/mail"
-      "--disable-alsa"
-      "--disable-pulseaudio"
-
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-png" # needs APNG support
-      "--with-system-icu"
-      #"--enable-rust-simd" # not supported since rustc 1.32.0 -> 1.33.0; TODO: probably OK since 68.0.0
-      "--enable-system-ffi"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      #"--enable-system-cairo"
-      "--enable-startup-notification"
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-updater"
-      "--enable-jemalloc"
-      "--disable-gconf"
-      "--enable-default-toolkit=cairo-gtk${if enableGTK3 then "3" else "2"}"
-      "--enable-js-shell"
-    ]
-      ++ lib.optional enableCalendar "--enable-calendar"
-      ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--disable-debug-symbols"
-                               "--enable-optimize" "--enable-strip" ])
-      ++ lib.optional enableOfficialBranding "--enable-official-branding"
-      ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
-        # on i686-linux: --with-libclang-path is not available in this configuration
-        "--with-libclang-path=${llvmPackages.libclang}/lib"
-        "--with-clang-path=${llvmPackages.clang}/bin/clang"
-      ];
+  ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    rm -rf obj-x86_64-pc-linux-gnu
+  '';
 
   hardeningDisable = [ "format" ];
 
-  preConfigure =
-    ''
-      cxxLib=$( echo -n ${gcc}/include/c++/* )
-      archLib=$cxxLib/$( ${gcc}/bin/gcc -dumpmachine )
-
-      test -f layout/style/ServoBindings.toml && sed -i -e '/"-DRUST_BINDGEN"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
-
-      configureScript="$(realpath ./configure)"
-      mkdir ../objdir
-      cd ../objdir
-
-      # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
-      unset AS
-    '';
-
-  dontWrapGApps = true; # we do it ourselves
-  postInstall =
-    ''
-      # TODO: Move to a dev output?
-      rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
-
-      # $binary is a symlink to $target.
-      # We wrap $target by replacing the $binary symlink.
-      local target="$out/lib/thunderbird/thunderbird"
-      local binary="$out/bin/thunderbird"
-
-      # Wrap correctly, this is needed to
-      # 1) find Mozilla runtime, because argv0 must be the real thing,
-      #    or a symlink thereto. It cannot be the wrapper itself
-      # 2) detect itself as the default mailreader across builds
-      gappsWrapperArgs+=(
-        --argv0 "$target"
-        --set MOZ_APP_LAUNCHER thunderbird
-        # https://github.com/NixOS/nixpkgs/pull/61980
-        --set SNAP_NAME "thunderbird"
-      )
+  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-cflags) \
+      $(< ${stdenv.cc}/nix-support/cc-cflags) \
+      ${stdenv.cc.default_cxx_stdlib_compile} \
+      ${
+        lib.optionalString stdenv.cc.isClang
+        "-idirafter ${stdenv.cc.cc}/lib/clang/${
+          lib.getVersion stdenv.cc.cc
+        }/include"
+      } \
       ${
-        # We wrap manually because wrapGAppsHook does not detect the symlink
-        # To mimic wrapGAppsHook, we run it with dontWrapGApps, so
-        # gappsWrapperArgs gets defined correctly
-        lib.optionalString enableGTK3 "wrapGAppsHook"
-      }
-
-      # "$binary" is a symlink, replace it by the wrapper
-      rm "$binary"
-      makeWrapper "$target" "$binary" "''${gappsWrapperArgs[@]}"
-
-      ${ let desktopItem = makeDesktopItem {
-          name = "thunderbird";
-          exec = "thunderbird %U";
-          desktopName = "Thunderbird";
-          icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
-          genericName = "Mail Reader";
-          categories = "Application;Network";
-          mimeType = stdenv.lib.concatStringsSep ";" [
-            # Email
-            "x-scheme-handler/mailto"
-            "message/rfc822"
-            # Newsgroup
-            "x-scheme-handler/news"
-            "x-scheme-handler/snews"
-            "x-scheme-handler/nntp"
-            # Feed
-            "x-scheme-handler/feed"
-            "application/rss+xml"
-            "application/x-extension-rss"
-          ];
-        }; in desktopItem.buildCommand
-      }
-    '';
-
-  postFixup =
-    # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
-    ''
-      patchelf --set-rpath "${lib.getLib libnotify
-        }/lib:$(patchelf --print-rpath "$out"/lib/thunderbird*/libxul.so)" \
-          "$out"/lib/thunderbird*/libxul.so
-    '';
+        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
+        }/$(cc -dumpmachine)"
+      } \
+      $NIX_CFLAGS_COMPILE"
 
-  doInstallCheck = true;
-  installCheckPhase =
-    ''
-      # Some basic testing
-      "$out/bin/thunderbird" --version
-    '';
+    echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
+  '';
 
-  disallowedRequisites = [ stdenv.cc ];
+  configureFlags = let
+    toolkitSlug = if gtk3Support then
+      "3${lib.optionalString waylandSupport "-wayland"}"
+    else
+      "2";
+    toolkitValue = "cairo-gtk${toolkitSlug}";
+  in [
+    "--enable-application=comm/mail"
 
-  meta = with stdenv.lib; {
-    description = "A full-featured e-mail client";
-    homepage = http://www.mozilla.org/thunderbird/;
-    license =
-      # Official branding implies thunderbird name and logo cannot be reuse,
-      # see http://www.mozilla.org/foundation/licensing.html
-      if enableOfficialBranding then licenses.proprietary else licenses.mpl11;
-    maintainers = [ maintainers.pierron maintainers.eelco ];
-    platforms = platforms.linux;
-  };
+    "--with-system-bz2"
+    "--with-system-icu"
+    "--with-system-jpeg"
+    "--with-system-libevent"
+    "--with-system-nspr"
+    "--with-system-nss"
+    "--with-system-png" # needs APNG support
+    "--with-system-icu"
+    "--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-startup-notification"
+    "--enable-system-ffi"
+    "--enable-system-pixman"
+    "--enable-system-sqlite"
+
+    "--disable-gconf"
+    "--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"
+    "--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;
+
+  postInstall = let
+    desktopItem = makeDesktopItem {
+      categories = lib.concatStringsSep ";" [ "Application" "Network" ];
+      desktopName = "Thunderbird";
+      genericName = "Mail Reader";
+      name = "thunderbird";
+      exec = "thunderbird %U";
+      icon = "$out/lib/thunderbird/chrome/icons/default/default256.png";
+      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"
+      ];
+    };
+  in ''
+    # TODO: Move to a dev output?
+    rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
+
+    ${desktopItem.buildCommand}
+  '';
+
+  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
+    )
+  '';
+
+  # FIXME: 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:$(patchelf --print-rpath $xul)" $xul
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    "$out/bin/thunderbird" --version
+  '';
+
+  disallowedRequisites = [
+    stdenv.cc
+  ];
 
   passthru.updateScript = import ./../../browsers/firefox/update.nix {
     attrPath = "thunderbird";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
-    inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl runtimeShell;
+    inherit writeScript lib common-updater-scripts xidel coreutils gnused
+      gnugrep curl runtimeShell;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A full-featured e-mail client";
+    homepage = "https://www.thunderbird.net";
+    maintainers = with maintainers; [
+      eelco
+      lovesegfault
+      pierron
+    ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch b/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
index 65eba3a2fc2..fe3a93ebda7 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
+++ b/pkgs/applications/networking/mailreaders/thunderbird/no-buildconfig.patch
@@ -21,3 +21,15 @@ diff -ru -x '*~' a/toolkit/content/jar.mn b/toolkit/content/jar.mn
     content/global/buildconfig.css
     content/global/contentAreaUtils.js
     content/global/datepicker.xhtml
+--- a/comm/mail/base/jar.mn
++++ b/comm/mail/base/jar.mn
+@@ -117,9 +117,7 @@
+ % override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
+ % override chrome://mozapps/content/profile/profileDowngrade.xul chrome://messenger/content/profileDowngrade.xul
+ 
+-*   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/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index b3d945710f0..dfb49e14133 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
 , avahi, boost, libopus, libsndfile, protobuf, speex, libcap
 , alsaLib, python
+, rnnoise
 , jackSupport ? false, libjack2 ? null
 , speechdSupport ? false, speechd ? null
 , pulseSupport ? false, libpulseaudio ? null
@@ -15,7 +16,8 @@ assert iceSupport -> zeroc-ice != null;
 with stdenv.lib;
 let
   generic = overrides: source: qt5.mkDerivation (source // overrides // {
-    name = "${overrides.type}-${source.version}";
+    pname = overrides.type;
+    version = source.version;
 
     patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
 
@@ -62,9 +64,9 @@ let
 
     meta = {
       description = "Low-latency, high quality voice chat software";
-      homepage = https://mumble.info;
+      homepage = "https://mumble.info";
       license = licenses.bsd3;
-      maintainers = with maintainers; [ ];
+      maintainers = with maintainers; [ petabyteboy ];
       platforms = platforms.linux;
     };
   });
@@ -73,7 +75,7 @@ let
     type = "mumble";
 
     nativeBuildInputs = [ qt5.qttools ];
-    buildInputs = [ libopus libsndfile speex qt5.qtsvg ]
+    buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ]
       ++ optional stdenv.isLinux alsaLib
       ++ optional jackSupport libjack2
       ++ optional speechdSupport speechd
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 3f90f65476e..f50d9516167 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -7,7 +7,7 @@
 
 assert spellChecking -> gtkspell3 != null;
 
-let version = "0.145"; in
+let version = "0.146"; in
 
 stdenv.mkDerivation {
   pname = "pan";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
-    sha256 = "1b4wamv33hprghcjk903bpvnd233yxyrm18qnh13alc8h1553nk8";
+    sha256 = "17agd27sn4a7nahvkpg0w39kv74njgdrrygs74bbvpaj8rk2hb55";
   };
 
   nativeBuildInputs = [ pkgconfig gettext intltool itstool libxml2 makeWrapper ];
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 3a72ae8ce5f..d54e8eca78e 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quiterss";
-  version = "0.18.12";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = version;
-    sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa";
+    sha256 = "1dmfag5hmy4jac20nizwgd92w8h2hdl2ch57hvw5hmjyfckn9rpj";
   };
 
   nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 27ccbf6d88a..71fce57504c 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -12,19 +12,18 @@
 , qtkeychain
 , qttools
 , qtwebengine
-, qtwebkit
 , sqlite
 }:
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "1cggk8yfy6lak48nfh691ad5y3bap49cfa2krp7vak108krgvkxi";
+    sha256 = "18318j488pxksf4zc6zag8pdpyaks55yivn91nx3x458ax6albkz";
   };
 
   patches = [
@@ -45,7 +44,6 @@ mkDerivation rec {
     qtkeychain
     qttools
     qtwebengine
-    qtwebkit
     sqlite
   ];
 
@@ -55,6 +53,7 @@ mkDerivation rec {
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
+    "-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index c674956066a..998944838e8 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite }:
+{ stdenv, fetchurl, mkDerivation, cmake, pkgconfig, qtbase, qtkeychain, sqlite }:
 
 mkDerivation rec {
   pname = "owncloud-client";
@@ -10,10 +10,11 @@ mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];
+  buildInputs = [ qtbase qtkeychain sqlite ];
 
   cmakeFlags = [
     "-UCMAKE_INSTALL_LIBDIR"
+    "-DNO_SHIBBOLETH=1"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/firestr/default.nix b/pkgs/applications/networking/p2p/firestr/default.nix
deleted file mode 100644
index 56eb9c35427..00000000000
--- a/pkgs/applications/networking/p2p/firestr/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, boost, botan, snappy, libopus, libuuid
-, libXScrnSaver, openssl, qtbase, qtmultimedia }:
-
-stdenv.mkDerivation {
-  name = "firestr-0.8";
-
-  src = fetchFromGitHub {
-    owner  = "mempko";
-    repo   = "firestr";
-    rev    = "f888890f71d49953d05bccdd27a1c4f6690e165c";
-    sha256 = "0s2kdi8rw3i3f8gbiy0ykyi6xj5n8p80m0d1i86mhh8jpagvbfzb";
-  };
-
-  buildInputs = [ cmake boost botan snappy libopus libuuid qtbase qtmultimedia
-                  libXScrnSaver openssl ];
-
-  patches = ./return.patch;
-
-  postPatch = ''
-      substituteInPlace CMakeLists.txt \
-        --replace "set(Boost_USE_STATIC_LIBS on)" "" \
-        --replace "/usr/include/botan" "${botan}/include/botan" \
-        --replace "libopus.a"       "libopus.so" \
-        --replace "libsnappy.a"     "libsnappy.so" \
-        --replace "libbotan-1.10.a" "libbotan-1.10.so.0"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Grass computing platform";
-    homepage = http://firestr.com/;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.ehmry ];
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/p2p/firestr/return.patch b/pkgs/applications/networking/p2p/firestr/return.patch
deleted file mode 100644
index c3e469ae92b..00000000000
--- a/pkgs/applications/networking/p2p/firestr/return.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/message/master_post.cpp b/src/message/master_post.cpp
-index c3a5ea9..7c821b9 100644
---- a/src/message/master_post.cpp
-+++ b/src/message/master_post.cpp
-@@ -56,7 +56,7 @@ namespace fire
- 
-         metadata::encryption_type to_message_encryption_type(sc::encryption_type s)
-         {
--            metadata::encryption_type r;
-+            metadata::encryption_type r = metadata::encryption_type::asymmetric;
-             switch(s)
-             {
-                 case sc::encryption_type::plaintext: r = metadata::encryption_type::plaintext; break;
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index eaa6b07c8fa..eff2499be9d 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.11.6";
+  version = "0.11.8";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q";
+    sha256 = "1zkmcq75sfr3iyg8rgxp9dbl7fwsvc1a71rc0vgisghcbrx1n7yj";
   };
 
   enableParallelBuilding = true;
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = https://gnunet.org/;
-    license = licenses.gpl2Plus;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.gnu ++ platforms.linux;
   };
diff --git a/pkgs/applications/networking/p2p/gnunet/git.nix b/pkgs/applications/networking/p2p/gnunet/git.nix
index c9e2f8f6714..e8f209239bf 100644
--- a/pkgs/applications/networking/p2p/gnunet/git.nix
+++ b/pkgs/applications/networking/p2p/gnunet/git.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
     '';
   */
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
 
     longDescription = ''
@@ -84,9 +84,9 @@ stdenv.mkDerivation {
 
     homepage = https://gnunet.org/;
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.agpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index 535991312f1..e38378d09b3 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchpatch, cmake
+{ mkDerivation, lib, fetchurl, fetchpatch, cmake
 , extra-cmake-modules, qtbase, qtscript
 , karchive, kcrash, kdnssd, ki18n, kio, knotifications, knotifyconfig
 , kdoctools, kross, kcmutils, kwindowsystem
 , libktorrent, taglib, libgcrypt, kplotting
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "ktorrent";
   version = "${libktorrent.mainVersion}";
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "KDE integrated BtTorrent client";
     homepage    = https://www.kde.org/applications/internet/ktorrent/;
     license = licenses.gpl2;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index aebdeda6108..173b4f02cdf 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,13 +10,13 @@ with lib;
 
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.1.9.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi";
+    sha256 = "17vm6aa2k8k1q14z9r2r06c794bcr4m0l0fdsn08wid6mj1zjsbx";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix
index 704c439bb27..b52320c9681 100644
--- a/pkgs/applications/networking/p2p/soulseekqt/default.nix
+++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix
@@ -1,53 +1,47 @@
-{ stdenv
-, fetchurl
+{ stdenv, lib, fetchurl, mkDerivation
+, autoPatchelfHook
 , dbus
-, zlib, fontconfig
-, qtbase, qtmultimedia
-, libjson, libgpgerror
-, libX11, libxcb, libXau, libXdmcp, freetype, libbsd
-, pythonPackages, squashfsTools, desktop-file-utils
+, desktop-file-utils
+, fontconfig
+, libjson
+, pythonPackages
+, qtmultimedia
+, squashfsTools
+, zlib
 }:
 
-with stdenv.lib;
-let
-  libPath = makeLibraryPath
-    [ stdenv.cc.cc qtbase qtmultimedia dbus libX11 zlib libX11 libxcb libXau libXdmcp freetype fontconfig libbsd libjson libgpgerror];
-
+mkDerivation rec {
+  pname = "soulseekqt";
   version = "2018-1-30";
 
-  mainbin = "SoulseekQt-" + (version) +"-"+ (if stdenv.is64bit then "64bit" else "32bit");
-  srcs = {
-    x86_64-linux = fetchurl {
-      url = "https://www.dropbox.com/s/0vi87eef3ooh7iy/${mainbin}.tgz";
+  src = fetchurl {
+      urls = [
+        "https://www.dropbox.com/s/0vi87eef3ooh7iy/SoulseekQt-${version}.tgz"
+        "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz"
+      ];
       sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6";
     };
-  };
-
-in stdenv.mkDerivation rec {
-
-  pname = "soulseekqt";
-  inherit version;
-  src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
 
   dontBuild = true;
 
-  buildInputs = [ pythonPackages.binwalk squashfsTools desktop-file-utils ];
+  nativeBuildInputs = [ autoPatchelfHook pythonPackages.binwalk squashfsTools desktop-file-utils ];
+  buildInputs = [ qtmultimedia stdenv.cc.cc ];
 
-  # avoid usage of appimage's runner option --appimage-extract 
+  # avoid usage of appimage's runner option --appimage-extract
   unpackCmd = ''
     export HOME=$(pwd) # workaround for binwalk
     appimage=$(tar xvf $curSrc) && binwalk --quiet \
        $appimage -D 'squashfs:squashfs:unsquashfs %e'
     '';
-  
+
   patchPhase = ''
     cd squashfs-root/
     binary="$(readlink AppRun)"
-  
+
     # fixup desktop file
     desktop-file-edit --set-key Exec --set-value $binary default.desktop
     desktop-file-edit --set-key Comment --set-value "${meta.description}" default.desktop
-    desktop-file-edit --set-key Categories --set-value Network default.desktop   
+    desktop-file-edit --set-key Categories --set-value Network default.desktop
   '';
 
   installPhase = ''
@@ -57,13 +51,7 @@ in stdenv.mkDerivation rec {
     cp $binary $out/bin/
   '';
 
-  fixupPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-             --set-rpath ${libPath} \
-             $out/bin/$binary
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Official Qt SoulSeek client";
     homepage = http://www.soulseekqt.net;
     license = licenses.unfree;
diff --git a/pkgs/applications/networking/p2p/torrential/default.nix b/pkgs/applications/networking/p2p/torrential/default.nix
index 0ca5402d6da..01da8a63374 100644
--- a/pkgs/applications/networking/p2p/torrential/default.nix
+++ b/pkgs/applications/networking/p2p/torrential/default.nix
@@ -50,6 +50,12 @@ stdenv.mkDerivation rec {
     pantheon.granite
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Download torrents in style with this speedy, minimalist torrent client for elementary OS";
     homepage = https://github.com/davidmhewitt/torrential;
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index 55bdced74b5..68babaddd1b 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoconf, automake, libtool, wrapGAppsHook, fetchFromGitHub, pkgconfig
-, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib }:
+, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib, fetchpatch }:
 
 
 stdenv.mkDerivation rec {
@@ -13,6 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "1pipc1f94jdppv597mqmcj2kw2rdvaqcbl512v7z8vir76p1a7gk";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/transmission-remote-gtk/transmission-remote-gtk/commit/0f5cc8a9942e220ea0f7d0b17db4a78d094e3b65.patch";
+      sha256 = "195rsjpbc0gzmr9bycvq4mra7abp3hd9by3a5vvcmxsh5ipikycf";
+    })
+  ];
+
   preConfigure = "./autogen.sh";
 
   nativeBuildInputs= [
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 65abcf35a35..683507f8b19 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,48 +1,51 @@
-{ stdenv, fetchurl, pythonPackages, makeWrapper, imagemagick
-, enablePlayer ? true, vlc ? null, qt5 }:
+{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper
+, enablePlayer ? true, vlc ? null, qt5, lib }:
 
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.1.2";
+  version = "7.4.0-exp1";
 
   src = fetchurl {
-    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
-    sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
+    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
+    sha256 = "18ziisg0v2gdxnprbhqsryz92yk270waj0la7m2h326k5qql3qkf";
   };
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.wrapPython
+  nativeBuildInputs = [
+    python3Packages.wrapPython
     makeWrapper
-    imagemagick
+  ];
+
+  buildInputs = [
+    python3Packages.python
   ];
 
   pythonPath = [
-    pythonPackages.libtorrentRasterbar
-    pythonPackages.apsw
-    pythonPackages.twisted
-    pythonPackages.netifaces
-    pythonPackages.pycrypto
-    pythonPackages.pyasn1
-    pythonPackages.requests
-    pythonPackages.setuptools
-    pythonPackages.m2crypto
-    pythonPackages.pyqt5
-    pythonPackages.chardet
-    pythonPackages.cherrypy
-    pythonPackages.cryptography
-    pythonPackages.libnacl
-    pythonPackages.configobj
-    pythonPackages.matplotlib
-    pythonPackages.plyvel
-    pythonPackages.decorator
-    pythonPackages.feedparser
-    pythonPackages.service-identity
-    pythonPackages.psutil
-    pythonPackages.meliae
-    pythonPackages.sip
-    pythonPackages.pillow
-    pythonPackages.networkx
+    python3Packages.libtorrentRasterbar
+    python3Packages.twisted
+    python3Packages.netifaces
+    python3Packages.pycrypto
+    python3Packages.pyasn1
+    python3Packages.requests
+    python3Packages.m2crypto
+    python3Packages.pyqt5
+    python3Packages.chardet
+    python3Packages.cherrypy
+    python3Packages.cryptography
+    python3Packages.libnacl
+    python3Packages.configobj
+    python3Packages.decorator
+    python3Packages.feedparser
+    python3Packages.service-identity
+    python3Packages.psutil
+    python3Packages.pillow
+    python3Packages.networkx
+    python3Packages.pony
+    python3Packages.lz4
+    python3Packages.pyqtgraph
+
+    # there is a BTC feature, but it requires some unclear version of
+    # bitcoinlib, so this doesn't work right now.
+    # python3Packages.bitcoinlib
   ];
 
   postPatch = ''
@@ -54,12 +57,11 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    find . -name '*.png' -exec convert -strip {} {} \;
     mkdir -pv $out
     # Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
     wrapPythonPrograms
     cp -prvd ./* $out/
-    makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
+    makeWrapper ${python3Packages.python}/bin/python $out/bin/tribler \
         --set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
         --set _TRIBLERPATH $out \
         --set PYTHONPATH $out:$program_PYTHONPATH \
diff --git a/pkgs/applications/networking/ping/default.nix b/pkgs/applications/networking/ping/default.nix
index 4d1d39a05c2..925618bbe99 100644
--- a/pkgs/applications/networking/ping/default.nix
+++ b/pkgs/applications/networking/ping/default.nix
@@ -49,6 +49,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A helpful tool that lets you debug what part of your API is causing you issues";
     homepage = https://github.com/jeremyvaartjes/ping;
diff --git a/pkgs/applications/networking/protocol/default.nix b/pkgs/applications/networking/protocol/default.nix
index 7fdb062ef80..8785d2449b3 100644
--- a/pkgs/applications/networking/protocol/default.nix
+++ b/pkgs/applications/networking/protocol/default.nix
@@ -1,14 +1,14 @@
 { stdenv, buildPythonApplication, fetchFromGitHub }:
 
 buildPythonApplication {
-  pname = "protocol";
-  version = "20171226";
+  pname = "protocol-unstable";
+  version = "2019-03-28";
 
   src = fetchFromGitHub {
     owner = "luismartingarcia";
     repo = "protocol";
-    rev = "d450da7d8a58595d8ef82f1d199a80411029fc7d";
-    sha256 = "1g31s2xx0bw8ak5ag1c6mv0p0b8bj5dp3lkk9mxaf2ndj1m1qdkw";
+    rev = "4e8326ea6c2d288be5464c3a7d9398df468c0ada";
+    sha256 = "13l10jhf4vghanmhh3pn91b2jdciispxy0qadz4n08blp85qn9cm";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 3ee934e8b29..573752b5b53 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem
-, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg
-, lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome
+, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg
+, lsb-release, freetype, fontconfig, polkit, polkit_gnome
 , pulseaudio }:
 
 let
   sha256 = {
-    x86_64-linux = "0mixw2sk7li1hjagibwzdgbfnrih5acricczqmfks1gsinjqrn82";
-    i386-linux   = "1gshd4vm8ysn636r1z44vmzdzrgybsmj8ma4zdabvs9jsbm2da3c";
+    x86_64-linux = "1ysd8fwzm0360qs6ijr6l0y2agqb3njz20h7am1x4kxmhy8ravq9";
+    i386-linux   = "0vjxbg5hwkqkh600rr75xviwy848r1xw9mxwf6bb6l8b0isvlsgg";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
   arch = {
@@ -28,19 +28,22 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "5.1.2";
+  version = "5.5.1";
 
   src = fetchurl {
-    url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
+    urls = [
+      "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz"
+      "https://download.anydesk.com/linux/generic-linux/${pname}-${version}-${arch}.tar.gz"
+    ];
     inherit sha256;
   };
 
   buildInputs = [
     atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango
-    gnome2.gtkglext libGLU_combined freetype fontconfig
-    pangox_compat polkit polkit_gnome pulseaudio
+    gnome2.gtkglext libGLU libGL freetype fontconfig
+    polkit polkit_gnome pulseaudio
   ] ++ (with xorg; [
-    libxcb libX11 libXdamage libXext libXfixes libXi libXmu
+    libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu
     libXrandr libXtst libXt libICE libSM libXrender
   ]);
 
@@ -64,6 +67,11 @@ in stdenv.mkDerivation rec {
       --set-rpath "${stdenv.lib.makeLibraryPath buildInputs}" \
       $out/bin/anydesk
 
+    # pangox is not actually necessary (it was only added as a part of gtkglext)
+    patchelf \
+      --remove-needed libpangox-1.0.so.0 \
+      $out/bin/anydesk
+
     wrapProgram $out/bin/anydesk \
       --prefix PATH : ${stdenv.lib.makeBinPath [ lsb-release ]}
 
diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix
index 26e8cf59a9e..a4deda99f5b 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -9,6 +9,7 @@
 , makeDesktopItem
 , tzdata
 , cacert
+, dconf
 , glib
 , gtk2
 , atk
@@ -23,7 +24,7 @@
 , gtk_engines
 , alsaLib
 , zlib
-, version ? "19.10.0"
+, version ? "19.12.0"
 }:
 
 let
@@ -70,7 +71,18 @@ let
         x86hash   = "000zjik8wf8b6fadnsai0p77b4n2l95544zx503iyrb9pv53bj3y";
         x64suffix = "15";
         x86suffix = "15";
-        homepage  = https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest1.html;
+        homepage  = https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1910.html;
+      };
+
+      "19.12.0" = {
+        major     = "19";
+        minor     = "12";
+        patch     = "0";
+        x64hash   = "1si5mkxbgb8m99bkvgc3l80idjfdp0kby6pv47s07nn43dbr1j7a";
+        x86hash   = "07rfp90ksnvr8zv7ix7f0z6a59n48s7bd4kqbzilfwxgs4ddqmcy";
+        x64suffix = "19";
+        x86suffix = "19";
+        homepage  = https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
       };
     };
 
@@ -137,7 +149,7 @@ let
         gdk-pixbuf
         cairo
         pango
-        gnome3.dconf
+        dconf
         xorg.libX11
         xorg.libXext
         xorg.libXrender
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index adb70c3916f..3c624faaf87 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -4,7 +4,7 @@
 , pcre, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core
-, openssl, gsettings-desktop-schemas, json-glib
+, openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome3
 }:
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.3.4";
+  version = "1.3.8";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1";
+    sha256 = "017bm43d56clgray7sjvb00wpchr4zazc9ll0cd5wimirm12cxba";
   };
 
   nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];
@@ -30,7 +30,8 @@ stdenv.mkDerivation rec {
     pcre libdbusmenu-gtk3 libappindicator-gtk3
     libvncserver libpthreadstubs libXdmcp libxkbcommon
     libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core
-    openssl gnome3.adwaita-icon-theme json-glib
+    openssl gnome3.adwaita-icon-theme json-glib libsodium webkitgtk
+    harfbuzz
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 97e561da93b..68a454745c7 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "teamviewer";
-  version = "14.6.2452";
+  version = "15.0.8397";
 
   src = fetchurl {
-    url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb";
-    sha256 = "0j677bqwvlczbja9msayqpdgandb2mvyvcr0vasc3hhnmnk70ahw";
+    url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
+    sha256 = "0bidlwlpzqpba9c0zfasm08vp308hgfnq4pslj1b04v64mlci66s";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
index 349c4f5e799..04ab1d1c98d 100644
--- a/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.16.2";
-  name = "${pname}-${version}";
+  version = "3.17.1";
+  name = "Patchwork-${version}";
 
   src = fetchurl {
-    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
-    sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4";
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
+    sha256 = "06wcgdcagmh80nr8nyrnz83wgq7j8r96hn3ccka7nmn02pdgvp3k";
   };
 
   binary = appimageTools.wrapType2 {
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index b1a5e8e74cb..dc38debd305 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.3.10";
+  version = "2.3.12";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = "onedrive";
     rev = "v${version}";
-    sha256 = "0ks22anxih63zwlc11z0gi531wvcricbkv1wlkrgfihi58l8fhfk";
+    sha256 = "0605nb3blvnncjx09frg2liarrd6pw8ph5jhnh764qcx0hyxcgs6";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "A complete tool to interact with OneDrive on Linux";
     homepage = "https://github.com/abraunegg/onedrive";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ doronbehar ];
+    maintainers = with maintainers; [ doronbehar srgom ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 7475692b962..71421eaf1e7 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "rclone";
-  version = "1.49.5";
+  version = "1.50.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0firfb2300grfp5fnqaifhp346m4d0x8r1xshs9d8r6jxb160n03";
+    sha256 = "0yaspkh88q8i58i8g8mm6sqb75hczavz2lvzdd1iif1bqgi6b5fz";
   };
 
   goPackagePath = "github.com/rclone/rclone";
diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix
index 3e5d3187e9b..920a1c97539 100644
--- a/pkgs/applications/networking/syncplay/default.nix
+++ b/pkgs/applications/networking/syncplay/default.nix
@@ -1,8 +1,8 @@
-{ lib, fetchFromGitHub, buildPythonApplication, pyside, twisted, certifi }:
+{ lib, fetchFromGitHub, buildPythonApplication, pyside2, shiboken2, twisted, certifi, qt5 }:
 
 buildPythonApplication rec {
   pname = "syncplay";
-  version = "1.6.4";
+  version = "1.6.4a";
 
   format = "other";
 
@@ -10,13 +10,18 @@ buildPythonApplication rec {
     owner = "Syncplay";
     repo = "syncplay";
     rev = "v${version}";
-    sha256 = "0afh2a0l1c3hwgj5q6wy0v5iimg8qcjam3pw7b8mf63lasx6iqk4";
+    sha256 = "0zz4a3vzfg808z1qkqz31z4818wzpfa2lika7wl0jgpmw4zi85ix";
   };
 
-  propagatedBuildInputs = [ pyside twisted certifi ] ++ twisted.extras.tls;
+  propagatedBuildInputs = [ pyside2 shiboken2 twisted certifi ] ++ twisted.extras.tls;
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
   makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
 
+  postFixup = ''
+    wrapQtApp $out/bin/syncplay
+  '';
+
   meta = with lib; {
     homepage = https://syncplay.pl/;
     description = "Free software that synchronises media players";
diff --git a/pkgs/applications/networking/syncthing/add-stcli-target.patch b/pkgs/applications/networking/syncthing/add-stcli-target.patch
index 58ac15253ae..07b5e334b2c 100644
--- a/pkgs/applications/networking/syncthing/add-stcli-target.patch
+++ b/pkgs/applications/networking/syncthing/add-stcli-target.patch
@@ -1,17 +1,17 @@
-diff --git i/build.go w/build.go
-index 7d400d6f..1b5e1d25 100644
---- i/build.go
-+++ w/build.go
-@@ -175,6 +175,12 @@ var targets = map[string]target{
+diff --git a/build.go b/build.go
+index c8a5c1cf..d75a8491 100644
+--- a/build.go
++++ b/build.go
+@@ -202,6 +202,12 @@ var targets = map[string]target{
  			{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644},
  		},
  	},
 +	"stcli": {
 +		name:        "stcli",
 +		description: "Syncthing CLI",
-+		buildPkg:    "github.com/syncthing/syncthing/cmd/stcli",
-+		binaryName:  "stcli", // .exe will be added automatically for Windows builds
++		buildPkgs:   []string{"github.com/syncthing/syncthing/cmd/stcli"},
++		binaryName:  "stcli",
 +	},
  }
  
- func init() {
+ // These are repos we need to clone to run "go generate"
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 555550d4d9e..c7663ef4117 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,19 +3,19 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.3.0";
+      version = "1.3.2";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "14k1acap9y1z8sj28gcn72lkfxdzpcqj9d27hk8vzm47zjaxgp8l";
+        sha256 = "029mym3vdfg616gpmhv6p22iy65h8vff2sq6z70l37bjf3zx1cms";
       };
 
       goPackagePath = "github.com/syncthing/syncthing";
 
-      modSha256 = "17np8ym84ql7hwzsqfx2l6yiy9hag7h96q8ysvarlfg9l95g1m64";
+      modSha256 = "06anhfi9mswmwhhjyz8mla6h8v83cc7slfr752fvgfaxra1fwgx8";
 
       patches = [
         ./add-stcli-target.patch
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index 0c30a3def33..e518502d6f3 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.0rc5";
+  version = "3.0rc6";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = pname;
     rev = version;
-    sha256 = "14b9n0h4f2dsa292wi9gnan5ncgqblis6wyh5978lhjzi1d7gyds";
+    sha256 = "1ks7pqgrg382ry0a0jf1dwgcwv81snhkrhkjdbcpym6w5flmpjsv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       CLI tool which checks a server's service on any port for the support of
       TLS/SSL ciphers, protocols as well as recent cryptographic flaws and more.
     '';
-    homepage = https://testssl.sh/;
+    homepage = "https://testssl.sh/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ etu ];
   };
diff --git a/pkgs/applications/networking/trebleshot/default.nix b/pkgs/applications/networking/trebleshot/default.nix
new file mode 100644
index 00000000000..1b049ff2dc7
--- /dev/null
+++ b/pkgs/applications/networking/trebleshot/default.nix
@@ -0,0 +1,29 @@
+{ mkDerivation, lib, fetchFromGitHub
+, cmake, qtbase, kdnssd
+}:
+
+mkDerivation rec {
+  pname = "trebleshot";
+  version = "0.1.0-alpha2-15-ga7ac23c";
+  # name="${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "genonbeta";
+    repo = "TrebleShot-Desktop";
+    rev = "${version}";
+    sha256 = "1k8wagw6arsi1lqkhn1nl6j11mb122vi1qs0q2np6nznwfy7pn1k";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase kdnssd ];
+
+  meta = with lib; {
+    description = "Android file transferring tool for desktop";
+    homepage = https://github.com/genonbeta/TrebleShot-Desktop;
+    license = licenses.gpl2;
+
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ woffs ];
+  };
+}
diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix
index 5fe52d5f33d..64fef08ceef 100644
--- a/pkgs/applications/networking/weather/meteo/default.nix
+++ b/pkgs/applications/networking/weather/meteo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "meteo";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitLab {
     owner = "bitseater";
     repo = pname;
     rev = version;
-    sha256 = "014x3mg2dc58h1qwy2nrz3a5mzdnbzish8zgn3x6lj6szfz5c72n";
+    sha256 = "1ll5fja0dqxcr6hrh2dk4hgw9gf8ms9bcp1ifznd21byxzyhdlr0";
   };
 
   nativeBuildInputs = [
@@ -40,9 +40,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Know the forecast of the next hours & days";
-    homepage    = https://gitlab.com/bitseater/meteo;
-    license     = licenses.gpl3Plus;
+    homepage = https://gitlab.com/bitseater/meteo;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ worldofpeace ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix
index 603f8018993..5b166711693 100644
--- a/pkgs/applications/office/aesop/default.nix
+++ b/pkgs/applications/office/aesop/default.nix
@@ -1,17 +1,26 @@
 { stdenv, vala, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }:
+, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "aesop";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1vadm8295jb7jaah2qykf3h9zvl5c013sanmxqi4snmmq4pa32ax";
+    sha256 = "1hnwhxaz0zx4fswrxjzyv5s77v5fimn87yid9sd1qgfv2g1ck0jc";
   };
 
+  patches = [
+    # Fix build
+    # https://github.com/lainsce/aesop/pull/33
+    (fetchpatch {
+      url = "https://github.com/lainsce/aesop/commit/850ec86bbfef5168e537a5af7e0d73d96db56330.patch";
+      sha256 = "14b251wp11rypqw4fafwjbsqy92mxzr8mmaxlv7n4whvwxrzqirh";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     meson
@@ -37,6 +46,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The simplest PDF viewer around";
     homepage = https://github.com/lainsce/aesop;
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
index 6ef6e51527e..6894f1ca635 100644
--- a/pkgs/applications/office/atlassian-cli/default.nix
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "8.5.0";
+  version = "9.0.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "0c9jq7q0bx0db0zhdh89bv1ijfg7cddbx04v451vl8caqcyhkfgz";
+    sha256  = "1z8723krq65fcy5aapgiz216vrpw2nw8fbn1h3a4zpis7kw8qp0f";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index d839f4c81f2..be6fe172e29 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
+{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
 , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     pantheon.elementary-icon-theme
     pantheon.granite
     glib
-    gnome3.libgee
+    libgee
     gtk3
     html2text
     poppler
diff --git a/pkgs/applications/office/envelope/default.nix b/pkgs/applications/office/envelope/default.nix
index 9142fff9a2c..bb85ae2e12b 100644
--- a/pkgs/applications/office/envelope/default.nix
+++ b/pkgs/applications/office/envelope/default.nix
@@ -64,6 +64,12 @@ stdenv.mkDerivation rec {
     patchShebangs data/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Personal finance manager for elementary OS";
     homepage = "https://github.com/cjfloss/envelope";
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index a5de74a6f16..6693d35dbd1 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gyrxqmfr8igfjnp9lcsl4km17yakj556xns3jp4m9l2407b5zhc";
+    sha256 = "0309y25l7aijk7il9hpjia23yc5dfac0h78xdmzb0w0ynxbjsmi6";
   };
 
   checkInputs = [ python3.pkgs.pytest ];
@@ -25,6 +25,8 @@ buildPythonApplication rec {
       markdown2
       ply
       simplejson
+      werkzeug
+      jaraco_functools
     ];
 
   # CLI test expects fava on $PATH.  Not sure why static_url fails.
diff --git a/pkgs/applications/office/flexibee/default.nix b/pkgs/applications/office/flexibee/default.nix
index 71c69603631..c215b9ef637 100644
--- a/pkgs/applications/office/flexibee/default.nix
+++ b/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2019.3.0.3";
+  version = "2019.3.1.3";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,16 +11,25 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1ivhqh1rl4ll0af9nfgfm7f647vc9zk61aplinvz73xb3grb4j6f";
+    sha256 = "0jfj0vmrwa05ga4rhqn0sapad06mq0pampmkr75vail2289zkga2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
+  prePatch = ''
+    substituteInPlace usr/sbin/flexibee-server \
+      --replace "/usr/share/flexibee" $out \
+      --replace "/var/run" "/run"
+  '';
+
+
   installPhase = ''
     runHook preInstall
     cp -R usr/share/flexibee/ $out/
     install -Dm755 usr/bin/flexibee $out/bin/flexibee
-    wrapProgram  $out/bin/flexibee --set JAVA_HOME "${jre}"
+    install -Dm755 usr/sbin/flexibee-server $out/bin/flexibee-server
+    wrapProgram $out/bin/flexibee --set JAVA_HOME "${jre}"
+    wrapProgram $out/bin/flexibee-server --set JAVA_HOME "${jre}"
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 70d1e3d79ba..979c960f7a8 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,31 +1,22 @@
 { stdenv, fetchurl, pkgconfig, intltool, perlPackages
 , goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages
-, itstool, autoreconfHook
+, itstool
 }:
 
 let
   inherit (pythonPackages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.45"; # TODO next release: remove gamma patch and autoreconfHook
+  version = "1.12.46";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h";
+    sha256 = "9fdc67377af52dfe69a7db4f533938024a75f454fc5d25ab43b8e6739be0b5e1";
   };
 
-  patches = stdenv.lib.optional stdenv.isDarwin
-    # https://gitlab.gnome.org/GNOME/gnumeric/issues/402
-    (fetchurl {
-      name = "math-gamma.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnumeric/uploads/cf8d162bc719de92e97d01cb0ba5b637/ppp";
-      sha256 = "17wiigs06qc86a1nghwcg3pcnpa28123jblgsxpy3j7drardgnlp";
-    });
-
   configureFlags = [ "--disable-component" ];
 
-  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ]
-    ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook;
+  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ];
 
   # ToDo: optional libgda, introspection?
   buildInputs = [
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index b249186c2f1..d0a7757e49d 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Open source bibliography reference manager";
-    homepage = http://jabref.sourceforge.net;
+    homepage = https://www.jabref.org;
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.gebner ];
diff --git a/pkgs/applications/office/libreoffice/README.md b/pkgs/applications/office/libreoffice/README.md
index eb21fe2f441..a084572d217 100644
--- a/pkgs/applications/office/libreoffice/README.md
+++ b/pkgs/applications/office/libreoffice/README.md
@@ -1,10 +1,9 @@
 LibreOffice
 ===========
 
-To generate `libreoffice-srcs.nix`:
+To generate `src-$VARIANT/download.nix`, i.e. list of additional sources that
+the libreoffice build process needs to download:
 
-    nix-shell default-gen-shell.nix --run generate
+    nix-shell gen-shell.nix --argstr variant VARIANT --run generate
 
-To generate `libreoffice-srcs-still.nix`:
-
-    nix-shell still-gen-shell.nix --run generate
+Where VARIANT is either `still` or `fresh`.
diff --git a/pkgs/applications/office/libreoffice/default-gen-shell.nix b/pkgs/applications/office/libreoffice/default-gen-shell.nix
deleted file mode 100644
index 36603097123..00000000000
--- a/pkgs/applications/office/libreoffice/default-gen-shell.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs ? (import <nixpkgs> {}) }:
-
-with pkgs;
-
-let
-
-  primary-src = callPackage ./default-primary-src.nix {};
-
-in
-
-stdenv.mkDerivation {
-  name = "generate-libreoffice-srcs-shell";
-
-  buildCommand = "exit 1";
-
-  downloadList = stdenv.mkDerivation {
-    name = "libreoffice-${primary-src.version}-download-list";
-    inherit (primary-src) src version;
-    builder = ./download-list-builder.sh;
-  };
-
-  buildInputs = [ python3 ];
-
-  shellHook = ''
-    function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs.nix
-    }
-  '';
-}
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
deleted file mode 100644
index b3b21174bc3..00000000000
--- a/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "3";
-  patch = "0";
-  tweak = "4";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
-  };
-}
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index a459302177b..374810138f6 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, fetchpatch, pam, python3, libxslt, perl, ArchiveZip, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
+, libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,30 +13,28 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
-}:
+, variant ? "fresh"
+} @ args:
+
+assert builtins.elem variant [ "fresh" "still" ];
 
 let
-  primary-src = import ./default-primary-src.nix { inherit fetchurl; };
-in
+  importVariant = f: import (./. + "/src-${variant}/${f}");
 
-let inherit (primary-src) major minor subdir version; in
+  primary-src = importVariant "primary.nix" { inherit fetchurl; };
+
+  inherit (primary-src) major minor subdir version;
 
-let
   lib = stdenv.lib;
   langsSpaces = lib.concatStringsSep " " langs;
 
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
   srcs = {
     third_party =
       map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs.nix) ++ [
+      (importVariant "download.nix" ++ [
         (rec {
           name = "unowinreg.dll";
           url = "https://dev-www.libreoffice.org/extern/${md5name}";
@@ -46,31 +44,36 @@ let
         })
       ]);
 
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
-    };
-
+    translations = primary-src.translations;
+    help = primary-src.help;
   };
-in stdenv.mkDerivation rec {
+in (stdenv.mkDerivation rec {
   pname = "libreoffice";
   inherit version;
 
   inherit (primary-src) src;
 
+  outputs = [ "out" "dev" ];
+
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
   NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma";
 
   patches = [
     ./xdg-open-brief.patch
+
+    # Poppler-0.82 compatibility
+    # https://gerrit.libreoffice.org/81545
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/2eadd46ab81058087af95bdfc1fea28fcdb65998.patch";
+      sha256 = "1mpipdfxvixjziizbhfbpybpzlg1ijw7s0yqjpmq5d7pf3pvkm4n";
+    })
+    # Poppler-0.83 compatibility
+    # https://gerrit.libreoffice.org/84384
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/9065cd8d9a19864f6b618f2dc10daf577badd9ee.patch";
+      sha256 = "0nd0gck8ra3ffw936a7ri0s6a0ii5cyglnhip2prcjh5yf7vw2i2";
+    })
   ];
 
   tarballPath = "external/tarballs";
@@ -276,6 +279,9 @@ in stdenv.mkDerivation rec {
 
     cp -r sysui/desktop/icons  "$out/share"
     sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+
+    mkdir -p $dev
+    cp -r include $dev
   '';
 
   configureFlags = [
@@ -360,10 +366,10 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
-      python3 sablotron sane-backends unzip vigra which zip zlib
+      python3 sane-backends unzip vigra which zip zlib
       mdds bluez5 libcmis libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
       librevenge libe-book libmwaw glm glew ncurses epoxy
@@ -384,4 +390,4 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
-}
+}).overrideAttrs ((importVariant "override.nix") args)
diff --git a/pkgs/applications/office/libreoffice/still-gen-shell.nix b/pkgs/applications/office/libreoffice/gen-shell.nix
index c5c17c2aaad..7429bb0cb38 100644
--- a/pkgs/applications/office/libreoffice/still-gen-shell.nix
+++ b/pkgs/applications/office/libreoffice/gen-shell.nix
@@ -1,10 +1,10 @@
-{ pkgs ? (import <nixpkgs> {}) }:
+{ pkgs ? (import <nixpkgs> {}), variant }:
 
 with pkgs;
 
 let
 
-  primary-src = callPackage ./still-primary-src.nix {};
+  primary-src = callPackage (./. + "/src-${variant}/primary.nix") {};
 
 in
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   shellHook = ''
     function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs-still.nix
+      python3 generate-libreoffice-srcs.py ${variant} > src-${variant}/download.nix
     }
   '';
 }
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 4df8ce1059b..4df8ce1059b 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/download.nix
diff --git a/pkgs/applications/office/libreoffice/src-fresh/override.nix b/pkgs/applications/office/libreoffice/src-fresh/override.nix
new file mode 100644
index 00000000000..fb5a82b1aa8
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -0,0 +1 @@
+args: f: {}
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
new file mode 100644
index 00000000000..28bf127c398
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -0,0 +1,35 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "3";
+  patch = "0";
+  tweak = "4";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
+  };
+
+  # FIXME rename
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
+  };
+}
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/pkgs/applications/office/libreoffice/src-still/download.nix
index b5a721b5679..b5a721b5679 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
+++ b/pkgs/applications/office/libreoffice/src-still/download.nix
diff --git a/pkgs/applications/office/libreoffice/src-still/override.nix b/pkgs/applications/office/libreoffice/src-still/override.nix
new file mode 100644
index 00000000000..9edf76849e3
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -0,0 +1,7 @@
+{ stdenv, ... }:
+attrs:
+{
+  NIX_CFLAGS_COMPILE = stdenv.lib.lists.remove "-mno-fma" attrs.NIX_CFLAGS_COMPILE;
+  configureFlags = stdenv.lib.lists.remove "--without-export-validation" attrs.configureFlags;
+  meta = attrs.meta // { description = "Comprehensive, professional-quality productivity suite (Still/Stable release)"; };
+}
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
new file mode 100644
index 00000000000..a27087a1b05
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -0,0 +1,34 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "2";
+  patch = "6";
+  tweak = "2";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
+  };
+
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
+  };
+}
diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix
deleted file mode 100644
index 07f30a5525d..00000000000
--- a/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "2";
-  patch = "6";
-  tweak = "2";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
-  };
-}
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
deleted file mode 100644
index 4739d526558..00000000000
--- a/pkgs/applications/office/libreoffice/still.nix
+++ /dev/null
@@ -1,384 +0,0 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
-, IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
-, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
-, openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
-, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
-, libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
-, unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
-, fontsConf, pkgconfig, bluez5, libtool, carlito
-, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
-, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
-, gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
-, gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
-, withHelp ? true
-, kdeIntegration ? false
-}:
-
-let
-  primary-src = import ./still-primary-src.nix { inherit fetchurl; };
-in
-
-let inherit (primary-src) major minor subdir version; in
-
-let
-  lib = stdenv.lib;
-  langsSpaces = lib.concatStringsSep " " langs;
-
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
-  srcs = {
-    third_party =
-      map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs-still.nix) ++ [
-        (rec {
-          name = "unowinreg.dll";
-          url = "https://dev-www.libreoffice.org/extern/${md5name}";
-          sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
-          md5 = "185d60944ea767075d27247c3162b3bc";
-          md5name = "${md5}-${name}";
-        })
-      ]);
-
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
-    };
-
-  };
-in stdenv.mkDerivation rec {
-  pname = "libreoffice";
-  inherit version;
-
-  inherit (primary-src) src;
-
-  # For some reason librdf_redland sometimes refers to rasqal.h instead
-  # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];
-
-  patches = [
-    ./xdg-open-brief.patch
-  ];
-
-  tarballPath = "external/tarballs";
-
-  postUnpack = ''
-    mkdir -v $sourceRoot/${tarballPath}
-  '' + (lib.flip lib.concatMapStrings srcs.third_party (f: ''
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
-    ''))
-  + ''
-    ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
-    ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
-    tar -xf ${srcs.help}
-    tar -xf ${srcs.translations}
-  '';
-
-  postPatch = ''
-    sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
-
-    # configure checks for header 'gpgme++/gpgmepp_version.h',
-    # and if it is found (no matter where) uses a hardcoded path
-    # in what presumably is an effort to make it possible to write
-    # '#include <context.h>' instead of '#include <gpgmepp/context.h>'.
-    #
-    # Fix this path to point to where the headers can actually be found instead.
-    substituteInPlace configure.ac --replace \
-      'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
-      'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
-  '';
-
-  QT4DIR = qt4;
-
-  preConfigure = ''
-    configureFlagsArray=(
-      "--with-parallelism=$NIX_BUILD_CORES"
-      "--with-lang=${langsSpaces}"
-    );
-
-    chmod a+x ./bin/unpack-sources
-    patchShebangs .
-
-    # This is required as some cppunittests require fontconfig configured
-    cp "${fontsConf}" fonts.conf
-    sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
-    export FONTCONFIG_FILE="$PWD/fonts.conf"
-
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  postConfigure =
-    # fetch_Download_item tries to interpret the name as a variable name, let it do so...
-    ''
-      sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
-      sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
-    ''
-    # Test fixups
-    # May need to be revisited/pruned, left alone for now.
-    + ''
-      # unit test sd_tiledrendering seems to be fragile
-      # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
-      echo > ./sd/CppunitTest_sd_tiledrendering.mk
-      sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
-      # Pivot chart tests. Fragile.
-      sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
-      sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # this I actually hate, this should be a data consistency test!
-      sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent test
-      sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
-      # tilde expansion in path processing checks the existence of $HOME
-      sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
-      # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
-      sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
-      # rendering-dependent: on my computer the test table actually doesn't fit…
-      # interesting fact: test disabled on macOS by upstream
-      sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
-      # Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
-      sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent tests
-      sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
-      sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
-      sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
-      sed -z -r -e 's/DECLARE_OOXMLIMPORT_TEST[(]testTdf112443,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlimport/ooxmlimport.cxx
-      sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
-      # not sure about this fragile test
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      # bunch of new Fresh failures. Sigh.
-      sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx'
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
-    ''
-    # This to avoid using /lib:/usr/lib at linking
-    + ''
-    sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
-
-    find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
-    '';
-
-  makeFlags = "SHELL=${bash}/bin/bash";
-
-  enableParallelBuilding = true;
-
-  buildPhase = ''
-    make build-nocheck
-  '';
-
-  doCheck = true;
-
-  # It installs only things to $out/lib/libreoffice
-  postInstall = ''
-    mkdir -p $out/bin $out/share/desktop
-
-    mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
-
-    for a in sbase scalc sdraw smath swriter simpress soffice; do
-      ln -s $out/lib/libreoffice/program/$a $out/bin/$a
-    done
-
-    ln -s $out/bin/soffice $out/bin/libreoffice
-    ln -s $out/lib/libreoffice/share/xdg $out/share/applications
-
-    for f in $out/share/applications/*.desktop; do
-      substituteInPlace "$f" --replace "Exec=libreofficedev${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice" "Exec=libreoffice"
-    done
-
-    cp -r sysui/desktop/icons  "$out/share"
-    sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
-  '';
-
-  configureFlags = [
-    (if withHelp then "" else "--without-help")
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-beanshell-jar=${bsh}"
-    "--with-vendor=NixOS"
-    "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
-    "--disable-report-builder"
-    "--disable-online-update"
-    "--enable-python=system"
-    "--enable-dbus"
-    "--enable-release-build"
-    (lib.enableFeature kdeIntegration "kde4")
-    "--enable-epm"
-    "--with-jdk-home=${jdk.home}"
-    "--with-ant-home=${ant}/lib/ant"
-    "--with-system-cairo"
-    "--with-system-libs"
-    "--with-system-headers"
-    "--with-system-openssl"
-    "--with-system-libabw"
-    "--with-system-libcmis"
-    "--with-system-libwps"
-    "--with-system-openldap"
-    "--with-system-coinmp"
-
-    "--with-alloc=system"
-
-    # Without these, configure does not finish
-    "--without-junit"
-
-    "--disable-libnumbertext" # system-libnumbertext"
-
-    # We do tarball prefetching ourselves
-    "--disable-fetch-external"
-    "--enable-build-opensymbol"
-
-    # I imagine this helps. Copied from go-oo.
-    # Modified on every upgrade, though
-    "--disable-odk"
-    "--disable-postgresql-sdbc"
-    "--disable-firebird-sdbc"
-    "--without-fonts"
-    "--without-myspell-dicts"
-    "--without-doxygen"
-
-    # TODO: package these as system libraries
-    "--with-system-beanshell"
-    "--without-system-hsqldb"
-    "--without-system-altlinuxhyph"
-    "--without-system-lpsolve"
-    "--without-system-libetonyek"
-    "--without-system-libfreehand"
-    "--without-system-liblangtag"
-    "--without-system-libmspub"
-    "--without-system-libpagemaker"
-    "--without-system-libstaroffice"
-    "--without-system-libepubgen"
-    "--without-system-libqxp"
-    "--without-system-mdds"
-    # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
-    "--without-system-orcus"
-    "--without-system-xmlsec"
-  ];
-
-  checkPhase = ''
-    make unitcheck
-    make slowcheck
-  '';
-
-  nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ];
-
-  buildInputs = with xorg;
-    [ ant ArchiveZip boost cairo clucene_core
-      IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
-      freetype GConf getopt gnome_vfs gperf gtk3 gtk2
-      hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
-      libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
-      libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base glib libmysqlclient
-      neon nspr nss openldap openssl ORBit2 pam perl poppler
-      python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 libcmis libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
-      librevenge libe-book libmwaw glm glew ncurses epoxy
-      libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext
-    ]
-    ++ lib.optional kdeIntegration kdelibs4;
-
-  passthru = {
-    inherit srcs jdk;
-  };
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "Comprehensive, professional-quality productivity suite (Still/Stable release)";
-    homepage = https://libreoffice.org/;
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index a7b0afe0754..9fdeecfee36 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, dpkg, which
+{ fetchurl, stdenv, mkDerivation, dpkg, which
 , makeWrapper
 , alsaLib
 , desktop-file-utils
@@ -90,7 +90,7 @@ let
 
 in
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "mendeley";
   inherit version;
 
@@ -106,6 +106,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     dpkg-deb -x $src $out
     mv $out/opt/mendeleydesktop/{bin,lib,share} $out
@@ -115,7 +117,7 @@ stdenv.mkDerivation {
              --set-rpath ${stdenv.lib.makeLibraryPath deps}:$out/lib \
              $out/bin/mendeleydesktop
 
-    wrapProgram $out/bin/mendeleydesktop \
+    wrapQtApp $out/bin/mendeleydesktop \
       --add-flags "--unix-distro-build" \
       ${stdenv.lib.optionalString autorunLinkHandler # ignore errors installing the link handler
       ''--run "$out/bin/install-mendeley-link-handler.sh $out/bin/mendeleydesktop ||:"''}
diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix
index 85e8bc131ce..42802409e59 100644
--- a/pkgs/applications/office/minetime/default.nix
+++ b/pkgs/applications/office/minetime/default.nix
@@ -1,15 +1,32 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
-  pname = "minetime";
-  version = "1.5.1";
-in
-appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
-  src = fetchurl {
-    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
-    sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
+  pname = "minetime";
+  version = "1.7.3";
+  appimage = fetchurl {
+    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
+    sha256 = "0zz6p3mwxg9gm1sqzs582pq2nkb10lv0c3r542b9llqyzk9qv5aa";
+  };
+  extracted = appimageTools.extractType2 {
+    inherit name;
+    src = appimage;
   };
+  patched = runCommandNoCC "minetime-patchelf" {} ''
+    cp -av ${extracted} $out
+
+    x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
+    chmod +w $x
+
+    patchelf \
+      --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+      --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
+      $x
+  '';
+in
+appimageTools.wrapAppImage rec {
+  inherit name;
+  src = patched;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -17,7 +34,9 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = ps:
+    appimageTools.defaultFhsEnvArgs.multiPkgs ps
+    ++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index 99824cd19ec..ed33d121a05 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, sqlite, wxGTK30, gettext }:
+{ stdenv, fetchgit, sqlite, wxGTK30, gettext, wrapGAppsHook }:
 
 
 let
@@ -14,7 +14,16 @@ in
       sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
-    buildInputs = [ sqlite wxGTK30 gettext ];
+    nativeBuildInputs = [
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      gettext
+      sqlite
+      wxGTK30
+      wxGTK30.gtk
+    ];
 
     meta = {
       description = "Easy-to-use personal finance software";
diff --git a/pkgs/applications/office/notes-up/default.nix b/pkgs/applications/office/notes-up/default.nix
index e7db27bdedc..6b8694a91d4 100644
--- a/pkgs/applications/office/notes-up/default.nix
+++ b/pkgs/applications/office/notes-up/default.nix
@@ -50,6 +50,12 @@ stdenv.mkDerivation rec {
   # Whether to build with contractor support (Pantheon specific)
   cmakeFlags = if withPantheon then null else [ "-Dnoele=yes" ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Markdown notes editor and manager designed for elementary OS"
     + stdenv.lib.optionalString withPantheon " - built with Contractor support";
diff --git a/pkgs/applications/office/pympress/default.nix b/pkgs/applications/office/pympress/default.nix
index 5cb20e4d613..b4307eb286e 100644
--- a/pkgs/applications/office/pympress/default.nix
+++ b/pkgs/applications/office/pympress/default.nix
@@ -12,11 +12,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pympress";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "101wj6m931bj0ah6niw79i8ywb5zlb2783g7n7dmkhw6ay3jj4vq";
+    sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
   };
 
   nativeBuildInputs = [
@@ -42,7 +42,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     description = "Simple yet powerful PDF reader designed for dual-screen presentations";
     license = licenses.gpl2Plus;
-    homepage = "https://pympress.xyz/";
+    homepage = "https://cimbali.github.io/pympress/";
     maintainers = [ maintainers.tbenst ];
   };
 }
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 4152c08ebaf..b646d0fc93f 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "19.10.10";
+  version = "19.11.14";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Can grab official version like so:
     # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
-    sha256 = "1zhszlrcmi8l96wq6hp48d8qv16jlyni02wf41dvh5r9ccfwlq42";
+    sha256 = "8faa67720443fc9a116feae3e7d641922a08814b9af4d973d348ff8a0ee0e35d";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index 3c5ae4c4b0a..2a602b094ba 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
+{ stdenv, fetchurl, fetchpatch, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
 boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2,
 podofo, poppler, poppler_data, python2, qtimageformats, qttools, harfbuzzFull }:
 
@@ -14,6 +14,19 @@ mkDerivation rec {
     sha256 = "eQiyGmzoQyafWM7fX495GJMlfmIBzOX73ccNrKL+P3E=";
   };
 
+  patches = [
+    # fix build with Poppler 0.82
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
+      sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
+    })
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
+      sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig cmake  ];
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index fd68896ca67..1db5ce16fe5 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -7,21 +7,13 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.20.0";
+  version = "2.21.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
+    sha256 = "0lv953i7cybzbxr5gx6g4libdcjj086jf152mwrwvx1avrpjavb8";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "skrooge-2.20.0-missing-header.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-office/skrooge/files/skrooge-2.20.0-missing-header.patch?id=cb8c91474b0ae2f9e889f89afe2d9114dbd1784f";
-      sha256 = "154zsidx45h6qrcqjh6czjxrcwrcmbyv3yh2k1s40v8pzvjwzrld";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake extra-cmake-modules kdoctools shared-mime-info
   ];
diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix
index 8c862cb6ea4..ff54f8ff90f 100644
--- a/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/pkgs/applications/office/softmaker/freeoffice.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "freeoffice";
-  version = "971";
+  version = "973";
   edition = "2018";
   suiteName = "FreeOffice";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz";
-    sha256 = "1h36pjbpbiy4cw383cbrwh1jx2kp1ay29734zailmhifz53gj44f";
+    sha256 = "0xac4ynf1lfh8qmni5bhp4ybaamdfngva4bqaq21n1m4pgrx1ba5";
   };
 
   archive = "freeoffice${edition}.tar.lzma";
diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix
index 56dc6a5e4f7..82ac2b58f68 100644
--- a/pkgs/applications/office/softmaker/generic.nix
+++ b/pkgs/applications/office/softmaker/generic.nix
@@ -96,6 +96,10 @@ in stdenv.mkDerivation rec {
       done
     done
 
+    # freeoffice 973 misses the 96x96 application icons, giving broken symbolic links
+    # remove broken symbolic links
+    find $out -xtype l -ls -exec rm {} \;
+
     # Add desktop items
     ${desktopItems.planmaker.buildCommand}
     ${desktopItems.presentations.buildCommand}
diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix
index 6c09cc1de47..07a3b26a1a8 100644
--- a/pkgs/applications/office/spice-up/default.nix
+++ b/pkgs/applications/office/spice-up/default.nix
@@ -60,6 +60,12 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Create simple and beautiful presentations";
     homepage = https://github.com/Philip-Scott/Spice-up;
diff --git a/pkgs/applications/office/timetable/default.nix b/pkgs/applications/office/timetable/default.nix
index bb13cae08f2..c652f765687 100644
--- a/pkgs/applications/office/timetable/default.nix
+++ b/pkgs/applications/office/timetable/default.nix
@@ -47,6 +47,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Plot out your own timetable for the week and organize it";
     homepage = "https://github.com/lainsce/timetable";
diff --git a/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch b/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
new file mode 100644
index 00000000000..1a4350ca71a
--- /dev/null
+++ b/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
@@ -0,0 +1,69 @@
+From 5be803a1171855f976a5b607970fa3949db72181 Mon Sep 17 00:00:00 2001
+From: Christian Kampka <christian@kampka.net>
+Date: Mon, 9 Dec 2019 19:40:27 +0100
+Subject: [PATCH] Use console logger instead of rolling files
+
+---
+ src/services/log.js | 26 +++-----------------------
+ 1 file changed, 3 insertions(+), 23 deletions(-)
+
+diff --git a/src/services/log.js b/src/services/log.js
+index 1514c209..456c3749 100644
+--- a/src/services/log.js
++++ b/src/services/log.js
+@@ -1,35 +1,15 @@
+ "use strict";
+ 
+-const fs = require('fs');
+-const dataDir = require('./data_dir');
+-
+-if (!fs.existsSync(dataDir.LOG_DIR)) {
+-    fs.mkdirSync(dataDir.LOG_DIR, 0o700);
+-}
+-
+-const logger = require('simple-node-logger').createRollingFileLogger({
+-    errorEventName: 'error',
+-    logDirectory: dataDir.LOG_DIR,
+-    fileNamePattern: 'trilium-<DATE>.log',
+-    dateFormat:'YYYY-MM-DD'
+-});
+-
+ function info(message) {
+     // info messages are logged asynchronously
+     setTimeout(() => {
+         console.log(message);
+-
+-        logger.info(message);
+     }, 0);
+ }
+ 
+ function error(message) {
+     message = "ERROR: " + message;
+ 
+-    // we're using .info() instead of .error() because simple-node-logger emits weird error for showError()
+-    // errors are logged synchronously to make sure it doesn't get lost in case of crash
+-    logger.info(message);
+-
+     console.trace(message);
+ }
+ 
+@@ -45,12 +25,12 @@ function request(req) {
+     if (req.url.includes(".js.map") || req.url.includes(".css.map")) {
+         return;
+     }
+-
+-    logger.info(req.method + " " + req.url);
++    if(process.env.DEBUG)
++        console.log(req.method + " " + req.url);
+ }
+ 
+ module.exports = {
+     info,
+     error,
+     request
+-};
+\ No newline at end of file
++};
+-- 
+2.23.0
+
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 877dfba88c0..d44b51861dc 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook }:
+{ stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook, zlib, libxkbfile }:
 
 let
   description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.";
@@ -11,56 +11,105 @@ let
     categories = "Office";
   };
 
-in stdenv.mkDerivation rec {
-  pname = "trilium";
-  version = "0.33.6";
-
-  src = fetchurl {
-    url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1sg6iqhpgyr8zr6w6dgs0ha0indb9vyp8vh2clj2fds5ahhlvf91";
+  meta = with stdenv.lib; {
+    inherit description;
+    homepage = https://github.com/zadam/trilium;
+    license = licenses.agpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ emmanuelrosa dtzWill kampka ];
   };
 
-  # Fetch from source repo, no longer included in release.
-  # (they did special-case icon.png but we want the scalable svg)
-  # Use the version here to ensure we get any changes.
-  trilium_svg = fetchurl {
-    url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
-    sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+  version = "0.38.2";
+
+in {
+  
+  trilium-desktop = stdenv.mkDerivation rec {
+    pname = "trilium-desktop";
+    inherit version;
+    inherit meta;
+
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
+      sha256 = "10f5zfqcfcjynw04d5xzrfmkbqpk85i4mq7njhkibx2f1m0br2qa";
+    };
+  
+    # Fetch from source repo, no longer included in release.
+    # (they did special-case icon.png but we want the scalable svg)
+    # Use the version here to ensure we get any changes.
+    trilium_svg = fetchurl {
+      url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
+      sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+    };
+  
+  
+    nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+      wrapGAppsHook
+    ];
+  
+    buildInputs = [ atomEnv.packages gtk3 ];
+  
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium
+      mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+  
+      cp -r ./* $out/share/trilium
+      ln -s $out/share/trilium/trilium $out/bin/trilium
+  
+      ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
+      cp ${desktopItem}/share/applications/* $out/share/applications
+    '';
+  
+    # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
+    preFixup = ''
+      gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
+    '';
+  
+    dontStrip = true;
   };
 
 
-  nativeBuildInputs = [
-    autoPatchelfHook
-    makeWrapper
-    wrapGAppsHook
-  ];
+  trilium-server = stdenv.mkDerivation rec {
+    pname = "trilium-server";
+    inherit version;
+    inherit meta;
 
-  buildInputs = [ atomEnv.packages gtk3 ];
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
+      sha256 = "1df0cx9gpzk0086lgha0qm1g03l8f4rz7y2xzgpzng5rrxjkgz61";
+    };
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/trilium
-    mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+    nativeBuildInputs = [
+      autoPatchelfHook
+    ];
 
-    cp -r ./* $out/share/trilium
-    ln -s $out/share/trilium/trilium $out/bin/trilium
+    buildInputs = [
+      stdenv.cc.cc.lib
+      zlib
+      libxkbfile
+    ];
 
-    ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
-    cp ${desktopItem}/share/applications/* $out/share/applications
-  '';
+    patches = [ ./0001-Use-console-logger-instead-of-rolling-files.patch ] ;
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium-server
 
-  # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
-  '';
+      cp -r ./* $out/share/trilium-server
+    '';
 
-  dontStrip = true;
+    postFixup = ''
+      cat > $out/bin/trilium-server <<EOF
+      #!${stdenv.cc.shell}
+      cd $out/share/trilium-server
+      exec ./node/bin/node src/www
+      EOF
+      chmod a+x $out/bin/trilium-server
+    '';
 
-  meta = with stdenv.lib; {
-    inherit description;
-    homepage = https://github.com/zadam/trilium;
-    license = licenses.agpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ emmanuelrosa dtzWill ];
+    passthru.tests = {
+      trilium-server = nixosTests.trilium-server;
+    };
   };
 }
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 4422aaa2b44..971f2f645f8 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, python2Packages
+, python3Packages
 , pkgconfig
 , librsvg
 , gobject-introspection
@@ -7,40 +7,59 @@
 , gtk3
 , gtkspell3
 , gnome3
+, glib
 , goocanvas2
+, gdk-pixbuf
+, pango
+, fontconfig
+, freetype
+, wrapGAppsHook
 }:
 
 with stdenv.lib;
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "4.8.5";
-  src = python2Packages.fetchPypi {
+  version = "5.4.0";
+
+  disabled = !python3Packages.isPy3k;
+
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
+    sha256 = "0wbq8y8z0n6c5b3h5ynlawn3z79a3hkb1fkmblz4pwnj0jfnbswd";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  propagatedBuildInputs = with python2Packages; [
-    chardet
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
     dateutil
-    pygtk
-    librsvg
     pygobject3
     goocalendar
-    cdecimal
+    pycairo
   ];
+
   buildInputs = [
     atk
-    gtk3
+    gdk-pixbuf
+    glib
     gnome3.adwaita-icon-theme
-    gtkspell3
     goocanvas2
+    fontconfig
+    freetype
+    gtk3
+    gtkspell3
+    librsvg
+    pango
   ];
-  makeWrapperArgs = [
-    ''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
-    ''--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"''
-    ''--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"''
-  ];
+
+  strictDeps = false;
+
+  doCheck = false;
+
   meta = {
     description = "The client of the Tryton application platform";
     longDescription = ''
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 1f21ec60ae2..6ece55182ab 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl
 , libX11, glib, xorg, fontconfig, freetype
-, zlib, libpng12, libICE, libXrender, cups }:
+, zlib, libpng12, libICE, libXrender, cups
+, alsaLib, atk, cairo, dbus, expat
+, gdk-pixbuf, gtk2-x11, lzma, pango, zotero
+, sqlite, libuuid, qt5, dpkg }:
 
-let
-  bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
-         else "x86";
-
-  version = "10.1.0.5672";
-in stdenv.mkDerivation rec{
+stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  inherit version;
+  version = "11.1.0.8865";
 
   src = fetchurl {
-    name = "${pname}-${version}.tar.xz";
-    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
-    sha256 = if bits == "x86_64" then
-      "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
-      "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
+    url = "https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/8865/wps-office_11.1.0.8865_amd64.deb";
+    sha256 = "0pxx3j02cm8d08iakg30azjvl3a50y4avyrf08ddgaavqnvkypfj";
   };
+  unpackCmd = "dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ];
 
   meta = {
     description = "Office program originally named Kingsoft Office";
@@ -25,20 +24,44 @@ in stdenv.mkDerivation rec{
     platforms = [ "i686-linux" "x86_64-linux" ];
     hydraPlatforms = [];
     license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
   };
 
-  libPath = stdenv.lib.makeLibraryPath [
+  libPath = with xorg; stdenv.lib.makeLibraryPath [
     libX11
     libpng12
     glib
-    xorg.libSM
-    xorg.libXext
+    libSM
+    libXext
     fontconfig
     zlib
     freetype
     libICE
     cups
     libXrender
+    libxcb
+
+    alsaLib
+    atk
+    cairo
+    dbus.daemon.lib
+    expat
+    fontconfig.lib
+    gdk-pixbuf
+    gtk2-x11
+    lzma
+    pango
+    zotero
+    sqlite
+    libuuid
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXfixes
+    libXi
+    libXrandr
+    libXScrnSaver
+    libXtst
   ];
 
   dontPatchELF = true;
@@ -49,32 +72,27 @@ in stdenv.mkDerivation rec{
 
   installPhase = ''
     prefix=$out/opt/kingsoft/wps-office
-    mkdir -p $prefix
-    cp -r . $prefix
+    mkdir -p $out
+    cp -r opt $out
+    cp -r usr/* $out
 
     # Avoid forbidden reference error due use of patchelf
-    rm -r $PWD
+    rm -r *
 
-    mkdir $out/bin
-    for i in wps wpp et; do
+    for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --force-rpath --set-rpath "$prefix/office6:$libPath" \
+        --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
 
-      substitute $prefix/$i $out/bin/$i \
+      substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
-      chmod +x $out/bin/$i
-
-      substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
-        --replace /usr/bin $out/bin
     done
 
-    # China fonts
-    mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
-    ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
-    ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
-
-    ln -s $prefix/resource $out/share
+    for i in $out/share/applications/*;do
+      substituteInPlace $i \
+        --replace /usr/bin $out/bin \
+        --replace /opt/kingsoft/wps-office $prefix
+    done
   '';
 }
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 5afc03a3bd6..baf7741ed22 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome3 }:
 
 #
 # TODO: Declare configuration options for the following optional dependencies:
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "1n3gmg7g86s8iwcx0i7rvvfdfs1fzmc9awr9qzjd2rckw4bkxad1";
   };
 
-  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
+  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome3.adwaita-icon-theme ];
   propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ];
 
 
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 334a380d914..42c5488bd5e 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -5,6 +5,7 @@
 , cups
 , dbus-glib
 , dbus
+, dconf
 , fontconfig
 , freetype
 , gdk-pixbuf
@@ -25,7 +26,7 @@
 , libXt
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -34,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.73";
+  version = "5.0.80";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l";
+    sha256 = "0a5xjliml6rwxvi450l42iw6m9mk3aahnp90sr22jyijz9qii2al";
   };
 
-  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
+  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
 
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
       libXrender
       libXt
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/radio/chirp/default.nix b/pkgs/applications/radio/chirp/default.nix
index c088cefd861..0c31a2006c7 100644
--- a/pkgs/applications/radio/chirp/default.nix
+++ b/pkgs/applications/radio/chirp/default.nix
@@ -1,31 +1,20 @@
-{ stdenv, fetchurl, libxml2Python, libxslt, makeWrapper
-, pyserial, pygtk }:
-
-stdenv.mkDerivation rec {
+{ stdenv
+, fetchurl
+, python2
+}:
+python2.pkgs.buildPythonApplication rec {
   pname = "chirp-daily";
-  version = "20190925";
+  version = "20191123";
 
   src = fetchurl {
     url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0immgss7nj7395r3csiypksnbn1r2f3j45c5v8qpybz65lpbplps";
+    sha256 = "11wzk0c9fa3gp185gyd47g3sh7gfallw7qapr6qp913q2zfmif8v";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [
-    pyserial pygtk libxml2Python libxslt
+  propagatedBuildInputs = with python2.pkgs; [
+    pygtk pyserial libxml2
   ];
 
-  installPhase = ''
-    mkdir -p $out/bin $out/share/chirp
-    cp -r . $out/share/chirp/
-    ln -s $out/share/chirp/chirpw $out/bin/chirpw
-
-    for file in "$out"/bin/*; do
-      wrapProgram "$file" \
-        --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out")
-    done
-  '';
-
   meta = with stdenv.lib; {
     description = "A free, open-source tool for programming your amateur radio";
     homepage = https://chirp.danplanet.com/;
diff --git a/pkgs/applications/radio/dablin/default.nix b/pkgs/applications/radio/dablin/default.nix
index 5f25402c3eb..fba63362ab6 100644
--- a/pkgs/applications/radio/dablin/default.nix
+++ b/pkgs/applications/radio/dablin/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dablin";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "Opendigitalradio";
     repo = "dablin";
     rev = version;
-    sha256 = "04ir7yg7psnnb48s1qfppvvx6lak4s8f6fqdg721y2kd9129jm82";
+    sha256 = "0d514ixz062xyyh4k3laxwhn3k3a1l4jq4w7rxf8x46d3743zrf7";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix
index 41ddb671a36..0a92bea44e8 100644
--- a/pkgs/applications/radio/dump1090/default.nix
+++ b/pkgs/applications/radio/dump1090/default.nix
@@ -1,21 +1,31 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libusb, rtl-sdr }:
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, libbladeRF
+, libusb
+, ncurses
+, rtl-sdr
+}:
 
 stdenv.mkDerivation rec {
   pname = "dump1090";
-  version = "2014-10-31";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
-    owner = "MalcolmRobb";
+    owner = "flightaware";
     repo = pname;
-    rev = "bff92c4ad772a0a8d433f788d39dae97e00e4dbe";
-    sha256 = "06aaj9gpz5v4qzvnp8xf18wdfclp0jvn3hflls79ly46gz2dh9hy";
+    rev = "v${version}";
+    sha256 = "0vlv9bd805kid202xxkrnl51rh02cyrl055gbcqlqgk51j5rrq8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libusb rtl-sdr ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
+  buildInputs = [
+    libbladeRF
+    libusb
+    ncurses
+    rtl-sdr
+  ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share
@@ -25,8 +35,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A simple Mode S decoder for RTLSDR devices";
-    homepage = https://github.com/MalcolmRobb/dump1090;
-    license = licenses.bsd3;
+    homepage = "https://github.com/flightaware/dump1090";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ earldouglas ];
   };
diff --git a/pkgs/applications/radio/gnuradio/osmosdr.nix b/pkgs/applications/radio/gnuradio/osmosdr.nix
index 3bb632a819c..017e2e1632c 100644
--- a/pkgs/applications/radio/gnuradio/osmosdr.nix
+++ b/pkgs/applications/radio/gnuradio/osmosdr.nix
@@ -12,14 +12,14 @@
 
 assert pythonSupport -> python != null && swig != null;
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "gr-osmosdr";
-  version = "2018-08-15";
+  version = "0.1.5";
 
   src = fetchgit {
     url = "git://git.osmocom.org/gr-osmosdr";
-    rev = "4d83c6067f059b0c5015c3f59f8117bbd361e877";
-    sha256 = "1d5nb47506qry52bg4cn02d3l4lwxwz44g2fz1ph0q93c7892j60";
+    rev = "v${version}";
+    sha256 = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/radio/tlf/default.nix b/pkgs/applications/radio/tlf/default.nix
index f45e695486d..530008702f1 100644
--- a/pkgs/applications/radio/tlf/default.nix
+++ b/pkgs/applications/radio/tlf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tlf";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0gniysjm8aq5anq0a0az31vd6h1vyg56bifc7rpf53lsh9hkzmgc";
+    sha256 = "0f97hxiwc6blp5haik871q6zzvwy0b3p2jg8ad2dvaxg07xc76l0";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf automake pkgconfig perl ];
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index a1b92e7e4e1..eea9bb9027c 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -1,25 +1,31 @@
 { stdenv, lib, fetchFromGitHub, python3Packages
 , hackrf, rtl-sdr, airspy, limesuite, libiio
+, qt5
 , USRPSupport ? false, uhd }:
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.7.3";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jrrj9c4ddm37m8j0g693xjimpnlvx7lan5kxish5p14xpwdak35";
+    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
   };
 
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
   buildInputs = [ hackrf rtl-sdr airspy limesuite libiio ]
     ++ lib.optional USRPSupport uhd;
 
   propagatedBuildInputs = with python3Packages; [
-    pyqt5 numpy psutil cython pyzmq pyaudio
+    pyqt5 numpy psutil cython pyzmq pyaudio setuptools
   ];
 
+  postFixup = ''
+    wrapQtApp $out/bin/urh
+  '';
+
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix
index 229200f2352..66a033fef25 100644
--- a/pkgs/applications/radio/welle-io/default.nix
+++ b/pkgs/applications/radio/welle-io/default.nix
@@ -3,7 +3,7 @@
 , faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec, lame, mpg123 }:
 let
 
-  version = "2.0";
+  version = "2.1";
 
 in mkDerivation {
 
@@ -14,7 +14,7 @@ in mkDerivation {
     owner = "AlbrechtL";
     repo = "welle.io";
     rev = "v${version}";
-    sha256 = "0cp8dyswgwidabaj9bvkkc6hl3160096j6myckd5bw00zxnbfiqn";
+    sha256 = "1j63gdbd66d6rfjsxwdm2agrcww1rs4438kg7313h6zixpcc1icj";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix
index 36d3f14818f..8e135dee568 100644
--- a/pkgs/applications/radio/wsjtx/default.nix
+++ b/pkgs/applications/radio/wsjtx/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wsjtx";
-  version = "2.1.0";
+  version = "2.1.2";
 
   # 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 = "04flhyfw0djnnbrzh3f5lx06bnn92khchz3bmswk8if8n8j58v4y";
+    sha256 = "0aj3wg5xjjqwjvw6lra171ag5wq86w0hf1ra4k8mnaf0mc1qgbyl";
   };
 
   # Hamlib builds with autotools, wsjtx builds with cmake
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index e3ceffd34c1..e72354c8658 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
-, lua, libGLU_combined, pkgconfig, perl, autoreconfHook
+, lua, libGLU, libGL, pkgconfig, perl, autoreconfHook
 }:
 
 let
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU_combined lua
+  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU libGL lua
     perl autoreconfHook ];
 
   patchPhase = ''
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index 9584c2f41a8..4bb3c7b34fe 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "oct19a";
-  version = "20191001_a";
+  srcVersion = "dec19a";
+  version = "20191201_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "0h6g16ra7v8x15j21z5hnb3midwm0asc7bjm9gs5v5sw66vn3wc1";
+    sha256 = "0kwq5gzgzx5hkbabwvbrw2958pqz4m2s501k5cbllgxh4sqp86b1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 03d0018f237..15f72938eff 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU_combined, libpng, lua5, autoconf, automake }:
+{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   name = "gravit-0.5.1";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
   };
 
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
 
   nativeBuildInputs = [ autoconf automake ];
 
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 59c6a02d349..eca25774c59 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,24 +1,24 @@
 { mkDerivation, lib, fetchFromGitHub
-, cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv
+, cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv
 , qtscript, qtserialport, qttools
 , qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
 }:
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.19.2";
+  version = "0.19.3";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "1ki3s4smazr6xfkr0grrmjp2s8yjprismiaq7l54d0il7rkvhibd";
+    sha256 = "175aj4bgi9b6bif6fvjdlpd68brcwij4x3ml0lxk6i51binv233y";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
 
   buildInputs = [
-    freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools
+    freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools
     qtmultimedia qtlocation qtbase
   ];
 
diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix
index 5f02dc27a22..f306f9265ab 100644
--- a/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -1,29 +1,38 @@
-{stdenv, fetchurl, pkgconfig, freetype, pango, libpng, libtiff, giflib
-, libjpeg, netpbm}:
+{stdenv, fetchurl, fetchpatch, pkgconfig, freetype, pango, libpng, libtiff
+, giflib, libjpeg, netpbm}:
 
 stdenv.mkDerivation rec {
-  name = "xplanet-1.3.0";
+  pname = "xplanet";
+  version = "1.3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/xplanet/${name}.tar.gz";
-    sha256 = "0hml2v228wi2r61m1pgka7h96rl92b6apk0iigm62miyp4mp9ys4";
+    url = "mirror://sourceforge/xplanet/${pname}-${version}.tar.gz";
+    sha256 = "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ freetype pango libpng libtiff giflib libjpeg netpbm ];
 
   patches = [
-    ./giflib.patch
-    ./gcc6.patch
+    (fetchpatch {
+      name = "giflib6.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/giflib6.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      sha256 = "173l0xkqq0v2bpaff7hhwc7y2aw5cclqw8988k1nalhyfbrjb8bl";
+    })
+    (fetchpatch {
+      name = "xplanet-c++11.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/xplanet-c++11.patch?h=packages/xplanet&id=ce6f25eb369dc011161613894f01fd0a6ae85a09";
+      sha256 = "0vldai78ixw49bxch774pps6pq4sp0p33qvkvxywcz7p8kzpg8q2";
+    })
   ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Renders an image of the earth or other planets into the X root window";
     homepage = http://xplanet.sourceforge.net;
-    license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.sander ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ lassulus sander ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/astronomy/xplanet/gcc6.patch b/pkgs/applications/science/astronomy/xplanet/gcc6.patch
deleted file mode 100644
index b30385a50f8..00000000000
--- a/pkgs/applications/science/astronomy/xplanet/gcc6.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-diff --git c/src/libannotate/addArcs.cpp i/src/libannotate/addArcs.cpp
-index 2ee06c0..0ff5478 100644
---- c/src/libannotate/addArcs.cpp
-+++ i/src/libannotate/addArcs.cpp
-@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(arcFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-                 readArcFile(line, planet, view, projection,
-                             planetProperties, annotationMap);
-             
-@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap)
-         {
-             ifstream inFile(arcFile.c_str());
-             char *line = new char[256];
--            while (inFile.getline (line, 256, '\n') != NULL)
-+            while (inFile.getline (line, 256, '\n'))
-                 readArcFile(line, NULL, view, NULL, NULL, annotationMap);
- 
-             inFile.close();
-diff --git c/src/libannotate/addMarkers.cpp i/src/libannotate/addMarkers.cpp
-index 6a8a835..b35d820 100644
---- c/src/libannotate/addMarkers.cpp
-+++ i/src/libannotate/addMarkers.cpp
-@@ -423,7 +423,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(markerFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-             {
-                 unsigned char color[3];
-                 memcpy(color, planetProperties->MarkerColor(), 3);
-@@ -469,7 +469,7 @@ addMarkers(View *view, const int width, const int height,
-         {
-             ifstream inFile(markerFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-             {
-                 unsigned char color[3];
-                 memcpy(color, options->Color(), 3);
-diff --git c/src/libannotate/addSatellites.cpp i/src/libannotate/addSatellites.cpp
-index 2634339..c9ff0b0 100644
---- c/src/libannotate/addSatellites.cpp
-+++ i/src/libannotate/addSatellites.cpp
-@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties)
-         {
-             ifstream inFile(tleFile.c_str());
-             char lines[3][80];
--            while (inFile.getline(lines[0], 80) != NULL)
-+            while (inFile.getline(lines[0], 80))
-             {
--                if ((inFile.getline(lines[1], 80) == NULL) 
--                    || (inFile.getline(lines[2], 80) == NULL))
-+                if ((inFile.getline(lines[1], 80))
-+                    || (inFile.getline(lines[2], 80)))
-                 {
-                     ostringstream errStr;
-                     errStr << "Malformed TLE file (" << tleFile << ")?\n";
-@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet,
-         {
-             ifstream inFile(satFile.c_str());
-             char *line = new char[MAX_LINE_LENGTH];
--            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
-+            while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
-                 readSatelliteFile(line, planet, view, projection,
-                                   planetProperties, annotationMap);
-             
-diff --git c/src/libmultiple/RayleighScattering.cpp i/src/libmultiple/RayleighScattering.cpp
-index d885173..7c25c1c 100644
---- c/src/libmultiple/RayleighScattering.cpp
-+++ i/src/libmultiple/RayleighScattering.cpp
-@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile)
- 
-     diskTemplate_.clear();
-     limbTemplate_.clear();
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile,
-     values.clear();
- 
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile,
-                               double &value)
- {
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         int i = 0;
-         while (isDelimiter(line[i]))
-diff --git c/src/libmultiple/drawStars.cpp i/src/libmultiple/drawStars.cpp
-index ff07c49..22e41a0 100644
---- c/src/libmultiple/drawStars.cpp
-+++ i/src/libmultiple/drawStars.cpp
-@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view)
-     ifstream inFile(starMap.c_str());
- 
-     char line[MAX_LINE_LENGTH];
--    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
-+    while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
-     {
-         if (line[0] == '#') continue;
- 
-diff --git c/src/readConfig.cpp i/src/readConfig.cpp
-index cc1964f..2946690 100644
---- c/src/readConfig.cpp
-+++ i/src/readConfig.cpp
-@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[])
- 
-         ifstream inFile(configFile.c_str());
-         char *line = new char[256];
--        while (inFile.getline(line, 256, '\n') != NULL)
-+        while (inFile.getline(line, 256, '\n'))
-             readConfig(line, planetProperties);
-         
-         // This condition will only be true if [default] is the only
diff --git a/pkgs/applications/science/astronomy/xplanet/giflib.patch b/pkgs/applications/science/astronomy/xplanet/giflib.patch
deleted file mode 100644
index 653b9c8dc7d..00000000000
--- a/pkgs/applications/science/astronomy/xplanet/giflib.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-diff -wbBur xplanet-1.3.0/src/libimage/gif.c xplanet-1.3.0.my/src/libimage/gif.c
---- xplanet-1.3.0/src/libimage/gif.c	2006-03-26 01:50:51.000000000 +0300
-+++ xplanet-1.3.0.my/src/libimage/gif.c	2014-05-29 18:59:14.830652716 +0400
-@@ -20,7 +20,7 @@
- 
- #include <stdio.h>
- #include <stdlib.h>
--
-+#define FALSE 0
- #include <gif_lib.h>
- 
- /*
-@@ -42,11 +42,11 @@
-     int color_index;
-     unsigned char *ptr = NULL;
- 
--    infile = DGifOpenFileName(filename);
-+    infile = DGifOpenFileName(filename, NULL);
- 
-     if (infile == NULL)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -54,7 +54,7 @@
-     {
-         if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) 
-         {
--            PrintGifError();
-+            printf("%s\n", GifErrorString(GIF_ERROR));
-             return(0);
-         }
- 
-@@ -63,7 +63,7 @@
-         case IMAGE_DESC_RECORD_TYPE:
-             if (DGifGetImageDesc(infile) == GIF_ERROR)
-             {
--                PrintGifError();
-+                printf("%s\n", GifErrorString(GIF_ERROR));
-                 return(0);
-             }
- 
-@@ -107,14 +107,14 @@
-             GifByteType *ext;
-             if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) 
-             {
--                PrintGifError();
-+                printf("%s\n", GifErrorString(GIF_ERROR));
-                 return(0);
-             }
-             while (ext != NULL) 
-             {
-                 if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR) 
-                 {
--                    PrintGifError();
-+                    printf("%s\n", GifErrorString(GIF_ERROR));
-                     return(0);
-                 }
-             }
-@@ -154,7 +154,7 @@
-     
-     free(buffer);
- 
--    DGifCloseFile(infile);
-+    DGifCloseFile(infile, NULL);
-     return(1);
- }
- 
-@@ -178,7 +178,7 @@
-         return(0);
-     }
- 
--    colormap = MakeMapObject(colormap_size, NULL);
-+    colormap = GifMakeMapObject(colormap_size, NULL);
- 
-     for (i = 0; i < width * height; i++)
-     {
-@@ -187,10 +187,10 @@
-         blue[i]  = (GifByteType) rgb[3*i+2];
-     }
-   
--    if (QuantizeBuffer(width, height, &colormap_size, red, green, blue,   
-+    if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue,   
-                        buffer, colormap->Colors) == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -198,24 +198,24 @@
-     free(green);
-     free(blue);
- 
--    outfile = EGifOpenFileName((char *) filename, FALSE);
-+    outfile = EGifOpenFileName((char *) filename, FALSE, NULL);
-     if (outfile == NULL)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-     if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap)
-         == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-     if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL)
-         == GIF_ERROR)
-     {
--        PrintGifError();
-+        printf("%s\n", GifErrorString(GIF_ERROR));
-         return(0);
-     }
- 
-@@ -224,7 +224,7 @@
-     {
-         if (EGifPutLine(outfile, ptr, width) == GIF_ERROR)
-         {
--            PrintGifError();
-+            printf("%s\n", GifErrorString(GIF_ERROR));
-             return(0);
-         }
-         ptr += width;
-@@ -232,8 +232,8 @@
- 
-     EGifSpew(outfile);
- 
--    if (EGifCloseFile(outfile) == GIF_ERROR) 
--        PrintGifError();
-+    if (EGifCloseFile(outfile, NULL) == GIF_ERROR) 
-+        printf("%s\n", GifErrorString(GIF_ERROR));
- 
-     free(buffer);
- 
diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix
index 4e4c093ad7f..9af2ec88c39 100644
--- a/pkgs/applications/science/biology/bedtools/default.nix
+++ b/pkgs/applications/science/biology/bedtools/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "bedtools";
-  version = "2.29.0";
+  version = "2.29.2";
 
   src = fetchFromGitHub {
     owner = "arq5x";
     repo = "bedtools2";
     rev = "v${version}";
-    sha256 = "0d6i985qqxp92ddq4n6558m70qi5rqhl724wrfys0hm0p6a9h56x";
+    sha256 = "015qq3pwrwgnyxyi959niijjlswl231b3wxlsm3l8msv6fdhmkz8";
   };
 
   buildInputs = [ zlib python bzip2 lzma ];
-  cc = if stdenv.cc.isClang then "clang++" else "g++";
-  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} -j $NIX_BUILD_CORES";
-  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} install";
+  cxx = if stdenv.cc.isClang then "clang++" else "g++";
+  cc = if stdenv.cc.isClang then "clang" else "gcc";
+  buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} -j $NIX_BUILD_CORES";
+  installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} install";
 
   meta = with stdenv.lib; {
     description = "A powerful toolset for genome arithmetic.";
diff --git a/pkgs/applications/science/biology/bftools/default.nix b/pkgs/applications/science/biology/bftools/default.nix
index 15829104934..29e8bca5262 100644
--- a/pkgs/applications/science/biology/bftools/default.nix
+++ b/pkgs/applications/science/biology/bftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bftools";
-  version = "5.9.2";
+  version = "6.3.0";
 
   src = fetchzip {
     url = "http://downloads.openmicroscopy.org/bio-formats/${version}/artifacts/bftools.zip";
-    sha256 = "08lmbg3kfxh17q6548il0i2h3f9a6ch8r0r067p14dajhzfpjyqj";
+    sha256 = "02nvvmpfglpah1ihd08aw65g1794w588c988cdar1hfl4s80qwhb";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix
index e1e84c9423b..7d0a36e755f 100644
--- a/pkgs/applications/science/biology/freebayes/default.nix
+++ b/pkgs/applications/science/biology/freebayes/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "freebayes";
-  version = "2017-08-23";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     name = "freebayes-${version}-src";
     owner  = "ekg";
     repo   = "freebayes";
-    rev    = "8d2b3a060da473e1f4f89be04edfce5cba63f1d3";
-    sha256 = "0yyrgk2639lz1yvg4jf0ccahnkic31dy77q05pb3i28rjf37v45z";
+    rev    = "v${version}";
+    sha256 = "035nriknjqq8gvil81vvsmvqwi35v80q8h1cw24vd1gdyn1x7bys";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/biology/hmmer/default.nix b/pkgs/applications/science/biology/hmmer/default.nix
index 3adbaf0079e..69ecb228697 100644
--- a/pkgs/applications/science/biology/hmmer/default.nix
+++ b/pkgs/applications/science/biology/hmmer/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.3";
   pname = "hmmer";
 
   src = fetchurl {
     url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz";
-    sha256 = "171bivy6xhgjsz5nv53n81pc3frnwz29ylblawk2bv46szwjjqd5";
+    sha256 = "0v3kcgkr6jihq0xmpgn2xd5q7wiwvj6yswa905k2c0v7mx0bz1h1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index de93ae5d782..1a6555e0d63 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.46.0";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "09vgdqwpigl4x3sdw5vjfyknsllkli339mh8xapbf7ldm0jldfn9";
+    sha256 = "09ldgy70wziw51ma4a3b7vyrphzf2v1cnq1j5r1wwgfmx8fgbh2z";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/pkgs/applications/science/biology/kssd/default.nix b/pkgs/applications/science/biology/kssd/default.nix
new file mode 100644
index 00000000000..ef8a0ce136f
--- /dev/null
+++ b/pkgs/applications/science/biology/kssd/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, zlib, automake, autoconf, libtool }:
+
+stdenv.mkDerivation rec {
+  pname = "kssd";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://github.com/yhg926/public_${pname}/archive/v${version}.tar.gz";
+    sha256 = "a5dcaf520049a962bef625cb59a567ea2b4252d4dc9be28dd06123d340e03919";
+  };
+
+  buildInputs = [ zlib automake autoconf libtool ];
+
+  installPhase = ''
+      install -vD kssd $out/bin/kssd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "K-mer substring space decomposition";
+    license     = licenses.asl20;
+    homepage    = "https://github.com/yhg926/public_kssd";
+    maintainers = with maintainers; [ unode ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/niftyseg/default.nix b/pkgs/applications/science/biology/niftyseg/default.nix
index 689d3e42c97..f70054e9771 100644
--- a/pkgs/applications/science/biology/niftyseg/default.nix
+++ b/pkgs/applications/science/biology/niftyseg/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://cmictig.cs.ucl.ac.uk/research/software/software-nifty/niftyseg;
     description = "Software for medical image segmentation, bias field correction, and cortical thickness calculation";
     maintainers = with maintainers; [ bcdarwin ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license   = licenses.bsd3;
   };
 
diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix
index fe6919656d9..731e31c588f 100644
--- a/pkgs/applications/science/biology/paml/default.nix
+++ b/pkgs/applications/science/biology/paml/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "4.9i";
+  version = "4.9j";
   pname = "paml";
   src = fetchurl {
     url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
-    sha256 = "1k5lcyls6c33ppp5fxl8ply2fy7i2k0gcqaifsl7gnc81d8ay4dw";
+    sha256 = "0qflf3i27x6jwks3c6q560m1q8r043ja96syah145113iz5wdalp";
   };
 
   preBuild = ''
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.'';
     license     = "non-commercial";
     homepage    = http://abacus.gene.ucl.ac.uk/software/paml.html;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 5a9cb5de528..a67653c8437 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.21.1";
+  version = "2.21.3";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0knfx0by7rml19kr5ynb7860iykij1z1mx2hx0bg3s287sld1ppl";
+    sha256 = "0s1gn2bkya41866kd8zj0g8xjbivs763jqmlzdpjz4c25h6xkhns";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix
index c791e8ef89b..cb83b19269b 100644
--- a/pkgs/applications/science/biology/strelka/default.nix
+++ b/pkgs/applications/science/biology/strelka/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib python2 ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+
   preConfigure = ''
     sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py
     patchShebangs .
@@ -33,7 +35,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/Illumina/strelka;
     maintainers = with maintainers; [ jbedo ];
     platforms = [ "x86_64-linux" ];
-    broken = true;
   };
 
 }
diff --git a/pkgs/applications/science/biology/svaba/default.nix b/pkgs/applications/science/biology/svaba/default.nix
new file mode 100644
index 00000000000..ae8dc95d6fe
--- /dev/null
+++ b/pkgs/applications/science/biology/svaba/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, zlib, bzip2, lzma, fetchFromGitHub } :
+
+stdenv.mkDerivation rec {
+  version = "1.1.0";
+  pname = "svaba";
+
+  src = fetchFromGitHub {
+    owner = "walaj";
+    repo = pname;
+    rev = version;
+    sha256 = "1vv5mc9z5d22kgdy7mm27ya5aahnqgkcrskdr2405058ikk9g8kp";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ zlib bzip2 lzma ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 src/svaba/svaba $out/bin/svaba
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Structural variant and INDEL caller for DNA sequencing data, using genome-wide local assembly";
+    license = licenses.gpl3;
+    homepage = "https://github.com/walaj/svaba";
+    maintainers = with maintainers; [ scalavision ];
+    platforms = platforms.linux;
+    longDescription = ''
+      SvABA is a method for detecting structural variants in sequencing data
+      using genome-wide local assembly. Under the hood, SvABA uses a custom
+      implementation of SGA (String Graph Assembler) by Jared Simpson,
+      and BWA-MEM by Heng Li. Contigs are assembled for every 25kb window
+      (with some small overlap) for every region in the genome.
+      The default is to use only clipped, discordant, unmapped and indel reads,
+      although this can be customized to any set of reads at the command line using VariantBam rules.
+      These contigs are then immediately aligned to the reference with BWA-MEM and parsed to identify variants.
+      Sequencing reads are then realigned to the contigs with BWA-MEM, and variants are scored by their read support.
+    '';
+
+  };
+}
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
index a569b82ff59..6aca678480d 100644
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU_combined, libX11, doxygen }:
+{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU, libGL, libX11, doxygen }:
 
 stdenv.mkDerivation rec {
   name = "avogadro-1.1.1";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
   };
 
-  buildInputs = [ qt4 eigen zlib openbabel libGLU_combined libX11 ];
+  buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ];
 
   nativeBuildInputs = [ cmake pkgconfig doxygen ];
 
-  NIX_CFLAGS_COMPILE = "-include ${libGLU_combined}/include/GL/glu.h";
+  NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h";
 
   patches = [
     (fetchurl {
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index e32900ed720..2577b2a16e6 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.29.55";
+  version = "14.30.1";
   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 = "1w841yyck5j97p72q3iq0by0sixiyh3rzscbfcx21gv2dj45vq46";
+    sha256 = "0qnxsw6pjjkn6yigrfh85fz58ibqdmbv1jhf6i5q68wm5pr1ff3d";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index 391ed54dfcb..8b7da71c80f 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "19.1.0";
+  version = "19.23.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "1ccsimfvms5q4prjyk6sg5hsc3hkcjjfq3gl7jjm8dgd2173zzyc";
+    sha256 = "1m28jki2qan6gdzs544y1v72ybp4vyj66ri5sy44jqi94xg1mb5f";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 6dec5b3b11f..d37f8d17336 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Real-space time dependent density-functional theory code";
-    homepage = http://octopus-code.org;
+    homepage = https://octopus-code.org;
     maintainers = with maintainers; [ markuskowa ];
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix
index 7789f4cf8ba..db4c1e42fea 100644
--- a/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem
+{ stdenv, mkDerivation, fetchurl, makeDesktopItem
 , libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb
  , libGL, glib, nss, nspr, expat, alsaLib
 , qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine
@@ -11,13 +11,13 @@ let
       qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine
     ];
   in
-  stdenv.mkDerivation rec {
+  mkDerivation rec {
     pname = "eagle";
-    version = "9.5.0";
+    version = "9.5.1";
 
     src = fetchurl {
       url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
-      sha256 = "0wakaja98mkdgcxp18d7499i0254ns1xhnx4bag2lqi7j8qn8rqy";
+      sha256 = "07lvjn0mxqkv5kx41bzakifpb5bjhljx0ssvk33ipzb0nvl6nx63";
     };
 
     desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 64c1c3daba8..75d69d3e499 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,18 +1,23 @@
-{stdenv, fetchurl, gtk2, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
+{ stdenv, fetchurl, glib, gtk3, gperf, pkgconfig, bzip2, tcl, tk, wrapGAppsHook, judy, xz }:
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.102";
+  version = "3.3.103";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
-    sha256 = "1izyfx6b1n9nr08c7q0gkgcf0q04bb4qz92ckwh74n5l5nwprfw0";
+    url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
+    sha256 = "0djqfnxy772a9p44wnm5ansbih7jg76xv1hvcpkv3gblhkzg49ay";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 gperf bzip2 tcl tk judy xz ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ glib gtk3 gperf bzip2 tcl tk judy xz ];
 
-  configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--enable-judy" ];
+  configureFlags = [
+    "--with-tcl=${tcl}/lib"
+    "--with-tk=${tk}/lib"
+    "--enable-judy"
+    "--enable-gtk3"
+  ];
 
   meta = {
     description = "VCD/Waveform viewer for Unix and Win32";
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 5d069c5a219..6b0c998d751 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 , wrapGAppsHook
@@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ pythonPackages.wxPython ];
 
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
     cairo curl openssl boost
     swig (python.withPackages (ps: with ps; [ wxPython ]))
   ] ++ optional (oceSupport) opencascade
diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix
index 5310da0699e..df0d9932b8a 100644
--- a/pkgs/applications/science/electronics/kicad/unstable.nix
+++ b/pkgs/applications/science/electronics/kicad/unstable.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
     cairo curl openssl boost
   ] ++ optional (oceSupport) opencascade
     ++ optional (ngspiceSupport) libngspice
diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix
index 7514aed9f24..d68d4ace54b 100644
--- a/pkgs/applications/science/electronics/pcb/default.nix
+++ b/pkgs/applications/science/electronics/pcb/default.nix
@@ -1,25 +1,59 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex
-, netpbm, imagemagick, dbus, xlibsWrapper, libGLU_combined
-, shared-mime-info, tcl, tk, gnome2, pangox_compat, gd, xorg
+{ stdenv
+, fetchurl
+, pkgconfig
+, gtk2
+, bison
+, intltool
+, flex
+, netpbm
+, imagemagick
+, dbus
+, xlibsWrapper
+, libGLU
+, libGL
+, shared-mime-info
+, tcl
+, tk
+, gnome2
+, gd
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "pcb";
-  version = "20140316";
+  version = "4.2.0";
 
   src = fetchurl {
-    url = "http://ftp.geda-project.org/pcb/pcb-20140316/${pname}-${version}.tar.gz";
-    sha256 = "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42";
+    url = "mirror://sourceforge/pcb/${pname}-${version}.tar.gz";
+    sha256 = "0hwsqmcrnk4wipbmfqx1yckmmgfn8vr37d1gh5srfy27czgkcjyd";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    pkgconfig
+    bison
+    intltool
+    flex
+    netpbm
+    imagemagick
+  ];
+
   buildInputs = [
-    gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper
-    libGLU_combined tcl shared-mime-info tk
-    gnome2.gtkglext pangox_compat gd xorg.libXmu
+    gtk2
+    dbus
+    xlibsWrapper
+    libGLU
+    libGL
+    tcl
+    shared-mime-info
+    tk
+    gnome2.gtkglext
+    gd
+    xorg.libXmu
   ];
 
-  configureFlags = ["--disable-update-desktop-database"];
+  configureFlags = [
+    "--disable-update-desktop-database"
+  ];
 
   meta = with stdenv.lib; {
     description = "Printed Circuit Board editor";
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index b59f628dfe9..98deda0ae6b 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.020";
+  version = "4.022";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "06n3vds762vza4byrav0j3kp3aivvadndkgw7nirvasclp19zmxb";
+    sha256 = "1sj0qzl387pl2ygii3ssx35c3m601nb07j16lqj5zcxzhcg62i9p";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/aiger/default.nix b/pkgs/applications/science/logic/aiger/default.nix
index 10d94e2bb8c..0f65c9b7eae 100644
--- a/pkgs/applications/science/logic/aiger/default.nix
+++ b/pkgs/applications/science/logic/aiger/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage    = http://fmv.jku.at/aiger/;
     license     = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
index d6190942efa..6af7eaf3a5b 100644
--- a/pkgs/applications/science/logic/aspino/default.nix
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ gebner ma27 ];
     platforms = platforms.unix;
     license = licenses.asl20;
-    homepage = http://alviano.net/software/maxino/;
+    homepage = https://alviano.net/software/maxino/;
     # See pkgs/applications/science/logic/glucose/default.nix
     badPlatforms = [ "aarch64-linux" ];
   };
diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix
index f1f74bcb581..4cf0b0f1ea1 100644
--- a/pkgs/applications/science/logic/boolector/default.nix
+++ b/pkgs/applications/science/logic/boolector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fetchpatch
 , cmake, lingeling, btor2tools
 }:
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "15i3ni5klss423m57wcy1gx0m5wfrjmglapwg85pm7fb3jj1y7sz";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-7560.patch";
+      url = "https://github.com/Boolector/boolector/commit/8d979d02e0482c7137c9f3a34e6d430dbfd1f5c5.patch";
+      sha256 = "1a1g02mk8b0azzjcigdn5zpshn0dn05fciwi8sd5q38yxvnvpbbi";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ lingeling btor2tools ];
 
diff --git a/pkgs/applications/science/logic/btor2tools/default.nix b/pkgs/applications/science/logic/btor2tools/default.nix
index 2d00e9f3046..2aedfb1d07e 100644
--- a/pkgs/applications/science/logic/btor2tools/default.nix
+++ b/pkgs/applications/science/logic/btor2tools/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" "lib" ];
 
   meta = with stdenv.lib; {
-    description = "Fast SAT solver";
-    homepage    = http://fmv.jku.at/lingeling/;
+    description = "A generic parser and tool package for the BTOR2 format";
+    homepage    = "https://github.com/Boolector/btor2tools";
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index a463a2c5f3a..2378cb9408e 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -31,6 +31,8 @@ let
    "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
    "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
    "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
+   "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
+   "8.11+beta1" = "06dlxj6v7gd51dh6ir121z7lgqdagkq717xxxrc8bdqhz7d2z7qj";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
@@ -124,7 +126,7 @@ self = stdenv.mkDerivation {
   setupHook = writeText "setupHook.sh" ''
     addCoqPath () {
       if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
-        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+        export COQPATH="''${COQPATH-}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
       fi
     }
 
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index f9a911d8210..e9ef16b2392 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -4,7 +4,7 @@ rustPlatform.buildRustPackage rec {
   pname = "elan";
   version = "0.7.5";
 
-  cargoSha256 = "0lc320m3vw76d6pa5wp6c9jblac6lmyf9qqnxmsnkn4ixdhnghsd";
+  cargoSha256 = "0q0xlvyyf88dbz43r7kk9v8rrp6hj0nl5i2i9mg6ibk2gphgdv6v";
 
   src = fetchFromGitHub {
     owner = "kha";
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index cda3656dc59..d799b52d115 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -45,6 +45,6 @@ stdenv.mkDerivation {
     homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
     license     = licenses.bsd2;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice z77z vbgl ];
+    maintainers = with maintainers; [ thoughtpolice maggesi vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/lingeling/default.nix b/pkgs/applications/science/logic/lingeling/default.nix
index 287dbd36eab..94be89d4736 100644
--- a/pkgs/applications/science/logic/lingeling/default.nix
+++ b/pkgs/applications/science/logic/lingeling/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     description = "Fast SAT solver";
     homepage    = http://fmv.jku.at/lingeling/;
     license     = licenses.mit;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index 93212c5b854..a479e31e339 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, libGLU_combined, qt5, boost}:
+{stdenv, fetchurl, cmake, libGLU, libGL, qt5, boost}:
 
 stdenv.mkDerivation rec {
   version = "201707";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m";
   };
 
-  buildInputs = [ cmake libGLU_combined qt5.qtbase boost ];
+  buildInputs = [ cmake libGLU libGL qt5.qtbase boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 8e100716c87..ddefcf1b3aa 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, yosys, bash, python3 }:
+{ stdenv, fetchFromGitHub, yosys, bash, python3, yices }:
 
 stdenv.mkDerivation {
   pname = "symbiyosys";
@@ -13,6 +13,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ python3 yosys ];
 
+  propagatedBuildInputs = [ yices ];
+
   buildPhase = "true";
   installPhase = ''
     mkdir -p $out/bin $out/share/yosys/python3
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 6f338f21478..eeb3a6b6d36 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation {
   pname = "why3";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = https://gforge.inria.fr/frs/download.php/file/37903/why3-1.2.0.tar.gz;
-    sha256 = "0xz001jhi71ja8vqrjz27v63bidrzj4qvg1yqarq6p4dmpxhk348";
+    url = https://gforge.inria.fr/frs/download.php/file/38185/why3-1.2.1.tar.gz;
+    sha256 = "014gkwisjp05x3342zxkryb729p02ngx1hcjjsrplpa53jzgz647";
   };
 
   buildInputs = with ocamlPackages; [
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 14f75fb68b5..170a56b95b9 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z3";
-  version = "4.8.5";
+  version = "4.8.7";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = pname;
-    rev    = "Z3-${version}";
-    sha256 = "11sy98clv7ln0a5vqxzvh6wwqbswsjbik2084hav5kfws4xvklfa";
+    rev    = "z3-${version}";
+    sha256 = "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/pkgs/applications/science/machine-learning/streamlit/default.nix b/pkgs/applications/science/machine-learning/streamlit/default.nix
new file mode 100644
index 00000000000..c7bdf0f12a4
--- /dev/null
+++ b/pkgs/applications/science/machine-learning/streamlit/default.nix
@@ -0,0 +1,34 @@
+{   lib, buildPythonApplication, fetchPypi
+  , altair, astor, base58, blinker, boto3, botocore, click, enum-compat
+  , future, pillow, protobuf, requests, toml, tornado, tzlocal, validators, watchdog
+  , jinja2, setuptools
+}:
+
+buildPythonApplication rec {
+  pname = "streamlit";
+  version = "0.50.2";
+  format = "wheel"; # the only distribution available
+
+  src = fetchPypi {
+    inherit pname version format;
+    sha256 = "1wymv7qckafs0p2jdjlxjaf1xrhm3iyd185jkldanbb0na5n3ndz";
+  };
+
+  propagatedBuildInputs = [
+    altair astor base58 blinker boto3 botocore click enum-compat
+    future pillow protobuf requests toml tornado tzlocal validators watchdog
+    jinja2 setuptools
+  ];
+
+  postInstall = ''
+      rm $out/bin/streamlit.cmd # remove windows helper
+  '';
+
+  meta = with lib; {
+    homepage = https://streamlit.io/;
+    description = "The fastest way to build custom ML tools";
+    maintainers = with maintainers; [ yrashk ];
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index bc0f7ed8831..517fc9d7b32 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -11,11 +11,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.6.1";
+  name = "R-3.6.2";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "128kifbq0w25y8aq77w289ddax5i5w2djcfsqgffrb3i7syrxajv";
+    sha256 = "0m69pfi0nxyriyb2yz74xfzaxwfkinnf9kpvf1rz727vvmfa8rdx";
   };
 
   dontUseImakeConfigure = true;
@@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
     pango pcre perl readline texLive xz zlib less texinfo graphviz icu
-    pkgconfig bison imake which openblas curl
-  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ tcl tk ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
+    pkgconfig bison imake which openblas curl tcl tk
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
     ++ stdenv.lib.optional javaSupport jdk;
 
   patches = [
@@ -62,8 +61,6 @@ stdenv.mkDerivation rec {
       RANLIB=$(type -p ranlib)
       R_SHELL="${stdenv.shell}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      --without-tcltk
-      --without-aqua
       --disable-R-framework
       OBJC="clang"
       CPPFLAGS="-isystem ${libcxx}/include/c++/v1"
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 0ab4c169944..75c49591675 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "geogebra";
-  version = "5-0-560-0";
+  version = "5-0-569-0";
 
   preferLocalBuild = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
       "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
     ];
-    sha256 = "16w6z3axzb9g51w4cbyf5zj6gpm9qab65xbw1184v5wym5llf4iw";
+    sha256 = "16bav6hf80l21gnhdjll82hpjqi7kr3w74jcq7mnf24acmcn70qm";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix
index 90b1b367a7c..b3777528ecd 100644
--- a/pkgs/applications/science/math/giac/default.nix
+++ b/pkgs/applications/science/math/giac/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack
+{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, liblapack
 , gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
 , readline, gettext, libpng, libao, gfortran, perl
-, enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null
+, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
 }:
 
-assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
+assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
 
 stdenv.mkDerivation rec {
-  name = "${attr}-${version}";
-  attr = if enableGUI then "giac-with-xcas" else "giac";
+  pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
   version = "1.5.0-21"; # TODO try to remove preCheck phase on upgrade
 
   src = fetchurl {
@@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
     (stdenv.lib.getLib gfortran.cc)
     liblapack
   ] ++ stdenv.lib.optionals enableGUI [
-    libGLU_combined fltk xorg.libX11
+    libGL libGLU fltk xorg.libX11
   ];
 
   /* fixes:
@@ -104,7 +103,7 @@ stdenv.mkDerivation rec {
     description = "A free computer algebra system (CAS)";
     homepage = "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html";
     license = licenses.gpl3Plus;
-    platforms = platforms.unix;
+    platforms = platforms.linux ++ (optionals (!enableGUI) platforms.darwin);
     maintainers = [ maintainers.symphorien ];
   };
 }
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index 1cd5e364208..c11110e4bc4 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocamlPackages, libGLU_combined, freeglut
+{ stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut
 , libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng, giflib
 }:
 
@@ -6,11 +6,11 @@ stdenv.mkDerivation {
   name = "glsurf-3.3.1";
 
   src = fetchurl {
-    url = "https://lama.univ-savoie.fr/~raffalli/glsurf/glsurf-3.3.1.tar.gz";
+    url = "https://raffalli.eu/~christophe/glsurf/glsurf-3.3.1.tar.gz";
     sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7";
   };
 
-  buildInputs = [ freeglut libGLU_combined libmysqlclient mpfr gmp
+  buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr gmp
     libtiff libjpeg libpng giflib ]
   ++ (with ocamlPackages; [
     ocaml findlib ocaml_mysql lablgl camlimages_4_0 mlgmpidl
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
+    homepage = https://raffalli.eu/~christophe/glsurf/;
     description = "A program to draw implicit surfaces and curves";
     license = stdenv.lib.licenses.lgpl21;
   };
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 1d96c0039ad..66c41bb073a 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
-, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }:
+, zlib, libGL, libGLU, xorg, opencascade-occt }:
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45";
   };
 
-  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined
+  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
     libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
     xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
     opencascade-occt
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index ca9a87abe13..7cd1b2eb99f 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -93,13 +93,16 @@ stdenv.mkDerivation rec {
     # Fix library paths
     cd $out/libexec/Mathematica/Executables
     for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
-      sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}#' $path
+      sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}\n" $path
     done
 
     # Fix xkeyboard config path for Qt
     for path in mathematica Mathematica; do
       sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path
     done
+
+    # Remove some broken libraries
+    rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/science/math/pspp/default.nix b/pkgs/applications/science/math/pspp/default.nix
index c53e87caa9a..3c263916a0e 100644
--- a/pkgs/applications/science/math/pspp/default.nix
+++ b/pkgs/applications/science/math/pspp/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
-, pkgconfig, gtksourceview, pango, gettext
+, pkgconfig, gtksourceview, pango, gettext, dconf
 , makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
-, gnome3
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
      --prefix XDG_DATA_DIRS : "$out/share" \
      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix
index fccd83aa86f..0a300a15d01 100644
--- a/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "0vknp52zyp2c4pxr12pryflyin1hl2dwhkrn5y0r4qh4ndf3ms1m";
+    sha256 = "1b20sjkv853lqii0dpqg10rgcka3cs57zriihyd463n7dq3hsim5";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
index 5c1073e13e9..11ca7481961 100644
--- a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
+++ b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch
@@ -1,13 +1,24 @@
 diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py
-index bd6b76ab82..f8340a8c66 100644
+index bd6b76ab82..ccf1203dec 100644
 --- a/src/sage/tests/cmdline.py
 +++ b/src/sage/tests/cmdline.py
-@@ -872,7 +872,7 @@ def test_executable(args, input="", timeout=100.0, **kwds):
+@@ -837,8 +837,6 @@ def test_executable(args, input="", timeout=100.0, **kwds):
+         ///
+         4
+         }}}
+-        sage: err # py2
+-        ''
+         sage: ret
+         0
+ 
+@@ -871,8 +869,8 @@ def test_executable(args, input="", timeout=100.0, **kwds):
+         sage: output = tmp_filename(ext='.sws')
          sage: with open(input, 'w') as F:
          ....:     _ = F.write(s)
-         sage: test_executable(["sage", "--rst2sws", input, output]) # py2
+-        sage: test_executable(["sage", "--rst2sws", input, output]) # py2
 -        ('', '', 0)
-+        ('', '...', 0)
++        sage: test_executable(["sage", "--rst2sws", input, output])[2] # py2
++        0
          sage: import tarfile # py2
          sage: f = tarfile.open(output, 'r') # py2
          sage: print(f.extractfile('sage_worksheet/worksheet.html').read()) # py2
diff --git a/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch
new file mode 100644
index 00000000000..c5f95b498d5
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch
@@ -0,0 +1,12 @@
+diff --git a/src/sage/all.py b/src/sage/all.py
+index c87c9372e9..862fca4fcc 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -306,6 +306,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0))
+ # Ignore all deprecations from IPython etc.
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
+     module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)')
++warnings.filterwarnings('ignore', category=DeprecationWarning, message=r".*The import 'werkzeug.ImmutableDict' is deprecated")
+ # Ignore collections.abc warnings, there are a lot of them but they are
+ # harmless.
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
diff --git a/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch b/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch
new file mode 100644
index 00000000000..9f502a66951
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch
@@ -0,0 +1,13 @@
+diff --git a/sagenb/__init__.py b/sagenb/__init__.py
+index 4db0d2cb..2fc5f01e 100644
+--- a/sagenb/__init__.py
++++ b/sagenb/__init__.py
+@@ -1,3 +1,8 @@
+ # -*- coding: utf-8 -*
+   # init
++import warnings
+ from . import storage
++
++# deprecation in attrs, needs to be fixed in twisted
++warnings.filterwarnings('ignore', category=DeprecationWarning,
++    message=r'The usage of `cmp` is deprecated and will be removed.*')
diff --git a/pkgs/applications/science/math/sage/pybrial.nix b/pkgs/applications/science/math/sage/pybrial.nix
index 092a340bb5b..718414126ae 100644
--- a/pkgs/applications/science/math/sage/pybrial.nix
+++ b/pkgs/applications/science/math/sage/pybrial.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchFromGitHub
 , buildPythonPackage
+, brial
 }:
 # This has a cyclic dependency with sage. I don't include sage in the
 # buildInputs and let python figure it out at runtime. Because of this,
@@ -9,15 +10,10 @@
 # it).
 buildPythonPackage rec {
     pname = "pyBRiAl";
-    version = "1.2.3";
+    version = brial.version;
 
     # included with BRiAl source
-    src = fetchFromGitHub {
-      owner = "BRiAl";
-      repo = "BRiAl";
-      rev = version;
-      sha256 = "0qy4cwy7qrk4zg151cmws5cglaa866z461cnj9wdnalabs7v7qbg";
-    };
+    src = brial.src;
 
     sourceRoot = "source/sage-brial";
 
diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix
index 0b67b3cff12..00397239876 100644
--- a/pkgs/applications/science/math/sage/sage-env.nix
+++ b/pkgs/applications/science/math/sage/sage-env.nix
@@ -18,6 +18,12 @@
 , ecl
 , maxima-ecl
 , singular
+, fflas-ffpack
+, givaro
+, gd
+, libpng
+, linbox
+, m4ri
 , giac
 , palp
 , rWrapper
@@ -101,14 +107,21 @@ writeTextFile rec {
   name = "sage-env";
   destination = "/${name}";
   text = ''
-    export PKG_CONFIG_PATH='${lib.concatStringsSep ":" (map (pkg: "${pkg}/lib/pkgconfig") [
-        # This is only needed in the src/sage/misc/cython.py test and I'm not
-        # sure if there's really a usecase for it outside of the tests. However
-        # since singular and openblas are runtime dependencies anyways, it doesn't
-        # really hurt to include.
+    export PKG_CONFIG_PATH='${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [
+        # This should only be needed during build. However, since the  doctests
+        # also test the cython build (for example in src/sage/misc/cython.py),
+        # it is also needed for the testsuite to pass. We could fix the
+        # testsuite instead, but since all the packages are also runtime
+        # dependencies it doesn't really hurt to include them here.
         singular
         openblasCompat
-      ])
+        fflas-ffpack givaro
+        gd
+        libpng zlib
+        gsl
+        linbox
+        m4ri
+      ]
     }'
     export SAGE_ROOT='${sagelib.src}'
     export SAGE_LOCAL='@sage-local@'
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index c7a3da68b15..4530cbf69f4 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -107,6 +107,24 @@ stdenv.mkDerivation rec {
 
     # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
     ./patches/ignore-cmp-deprecation.patch
+
+    # Werkzeug has deprecated ImmutableDict, but it is still used in legacy
+    # sagenb. That's no big issue since sagenb will be removed soon anyways.
+    ./patches/ignore-werkzeug-immutable-dict-deprecation.patch
+
+    # threejs r109 (#28560)
+    (fetchpatch {
+      name = "threejs-r109.patch";
+      url = "https://git.sagemath.org/sage.git/patch?id=fcc11d6effa39f375bc5f4ea5831fb7a2f2767da";
+      sha256 = "0hnmc8ld3bblks0hcjvjjaydkgwdr1cs3dbl2ys4gfq964pjgqwc";
+    })
+
+    # https://trac.sagemath.org/ticket/28911
+    (fetchpatch {
+      name = "sympy-1.5.patch";
+      url = "https://git.sagemath.org/sage.git/patch/?h=c6d0308db15efd611211d26cfcbefbd180fc0831";
+      sha256 = "0nwai2jr22h49km4hx3kwafs3mzsc5kwsv7mqwjf6ibwfx2bbgyq";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix
index 93ec1e33cf6..451edb8f085 100644
--- a/pkgs/applications/science/math/sage/sage-tests.nix
+++ b/pkgs/applications/science/math/sage/sage-tests.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation {
     export GLIBC_TUNABLES=glibc.malloc.arena_max=4
 
     echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}"
-    "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
+    "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
   '';
 }
diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix
index 03b5b7a3bbf..77b2168ad97 100644
--- a/pkgs/applications/science/math/sage/sagenb.nix
+++ b/pkgs/applications/science/math/sage/sagenb.nix
@@ -26,6 +26,11 @@ buildPythonPackage rec {
     sha256 = "0bxvhr03qh2nsjdfc4pyfiqrn9jhp3vf7irsc9gqx0185jlblbxs";
   };
 
+  patches = [
+    # cmp deprecation in attrs needs to be handled in twisted
+    ./patches/sagenb-cmp-deprecation.patch
+  ];
+
   propagatedBuildInputs = [
     twisted
     flask
diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix
index bae0d9a18c6..ed680b1b4cd 100644
--- a/pkgs/applications/science/math/yacas/default.nix
+++ b/pkgs/applications/science/math/yacas/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yacas";
-  version = "1.6.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "grzegorzmazur";
     repo = "yacas";
     rev = "v${version}";
-    sha256 = "0awvlvf607r4hwl1vkhs6jq2s6ig46c66pmr4vspj2cdnypx99cc";
+    sha256 = "0fwd98dwq6g0md3yhgyl30i377593b8rw6gsvffzvs11g3aqf1ga";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
index 2633f4c8db1..e135534d1ac 100644
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ b/pkgs/applications/science/medicine/aliza/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU_combined }:
+{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   '';
 
   postInstall = let
-    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU_combined ];
+    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ];
   in ''
     ${patchelf}/bin/patchelf \
       --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Medical imaging software with 2D, 3D and 4D capabilities";
-    homepage = http://www.aliza-dicom-viewer.com;
+    homepage = https://www.aliza-dicom-viewer.com;
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ mounium ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index c806b558da0..38b9b8ec66d 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, autoconf, automake, pkgconfig, m4, curl,
-libGLU_combined, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
+libGLU, libGL, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
 sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 let
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool automake autoconf m4 pkgconfig ];
 
   buildInputs = [
-    curl libGLU_combined libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
+    curl libGLU libGL libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
     libnotify patchelf libX11 libxcb xcbutil
   ];
 
diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix
index 99159fba5b4..36de6a1d4c5 100644
--- a/pkgs/applications/science/misc/golly/beta.nix
+++ b/pkgs/applications/science/misc/golly/beta.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchgit
-, wxGTK, perl, python2, zlib, libGLU_combined, libX11
+, wxGTK, perl, python2, zlib, libGLU, libGL, libX11
 , automake, autoconf
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [autoconf automake];
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   # Link against Python explicitly as it is needed for scripts
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 4af233a6d55..1478bb64318 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU_combined, libX11}:
+{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU, libGL, libX11}:
 stdenv.mkDerivation rec {
   pname = "golly";
   version = "3.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   setSourceRoot = ''
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index b394639fd0c..9b510d432fb 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU_combined, glew, gdal_1_11, cgal
+{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU, libGL, glew, gdal_1_11, cgal
 , proj, boost, cmake, python2, doxygen, graphviz, gmp }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    qt4 qwt6_qt4 libGLU_combined glew gdal_1_11 cgal proj boost cmake python2
+    qt4 qwt6_qt4 libGLU libGL glew gdal_1_11 cgal proj boost cmake python2
     doxygen graphviz gmp
   ];
 
diff --git a/pkgs/applications/science/misc/netlogo/default.nix b/pkgs/applications/science/misc/netlogo/default.nix
index b412c4ef81a..9b0279bd4d0 100644
--- a/pkgs/applications/science/misc/netlogo/default.nix
+++ b/pkgs/applications/science/misc/netlogo/default.nix
@@ -15,11 +15,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "netlogo";
-  version = "6.0.4";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "https://ccl.northwestern.edu/netlogo/${version}/NetLogo-${version}-64.tgz";
-    sha256 = "0dcd9df4dfb218826a74f9df42163fa588908a1dfe58864106936f8dfb76acec";
+    sha256 = "1j08df68pgggxqkmpzd369w4h97q0pivmmljdb48hjghx7hacblp";
   };
 
   src1 = fetchurl {
diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix
index 1a1ae3df942..ed4101bdb47 100644
--- a/pkgs/applications/science/misc/openmodelica/default.nix
+++ b/pkgs/applications/science/misc/openmodelica/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
 hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
 lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
-doxygen, boost, openscenegraph, gnome2, pangox_compat, xorg, git, bash, gtk2, makeWrapper }:
+doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
 
 let
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
     hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which
     lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
-    doxygen boost openscenegraph gnome2.gtkglext pangox_compat xorg.libXmu
+    doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
     git gtk2 makeWrapper];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 2145d7e71d3..8422eb8752b 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
 
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 690dc920d5c..7a03369febe 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,27 +1,32 @@
-{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash
+{ stdenv, fetchurl, cmake, gl2ps, gsl, libX11, libXpm, libXft, libXext
+, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash, zlib
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.12.06";
+  version = "6.18.04";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    sha256 = "1557b9sdragsx9i15qh6lq7fn056bgi87d31kxdl4vl0awigvp5f";
+    sha256 = "196ghma6g5a7sqz52wyjkgvmh4hj4vqwppm0zwdypy33hgy8anii";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ gl2ps pcre python zlib libxml2 lz4 lzma gsl xxHash ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
+  propagatedBuildInputs = [ python.pkgs.numpy ];
 
   patches = [
     ./sw_vers.patch
   ];
 
   preConfigure = ''
+    rm -rf builtins/*
+    substituteInPlace cmake/modules/SearchInstalledSoftware.cmake \
+      --replace 'set(lcgpackages ' '#set(lcgpackages '
+
     patchShebangs build/unix/
   '' + stdenv.lib.optionalString noSplash ''
     substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
@@ -35,8 +40,10 @@ stdenv.mkDerivation rec {
     "-Dbonjour=OFF"
     "-Dcastor=OFF"
     "-Dchirp=OFF"
+    "-Dclad=OFF"
     "-Ddavix=OFF"
     "-Ddcache=OFF"
+    "-Dfail-on-missing=ON"
     "-Dfftw3=OFF"
     "-Dfitsio=OFF"
     "-Dfortran=OFF"
@@ -57,6 +64,7 @@ stdenv.mkDerivation rec {
     "-Drfio=OFF"
     "-Dsqlite=OFF"
     "-Dssl=OFF"
+    "-Dvdt=OFF"
     "-Dxml=ON"
     "-Dxrootd=OFF"
   ]
diff --git a/pkgs/applications/science/misc/root/setup-hook.sh b/pkgs/applications/science/misc/root/setup-hook.sh
index fc2b697d8a8..b26cf9b779f 100644
--- a/pkgs/applications/science/misc/root/setup-hook.sh
+++ b/pkgs/applications/science/misc/root/setup-hook.sh
@@ -1,9 +1,13 @@
 thisroot () {
     # Workaround thisroot.sh dependency on man
-    if [ -z "${MANPATH}" ]; then
+    if [ -z "${MANPATH-}" ]; then
         MANPATH=:
     fi
+    local oldOpts="-u"
+    shopt -qo nounset || oldOpts="+u"
+    set +u
     source @out@/bin/thisroot.sh
+    set "$oldOpts"
 }
 
 postHooks+=(thisroot)
diff --git a/pkgs/applications/science/misc/root/sw_vers.patch b/pkgs/applications/science/misc/root/sw_vers.patch
index df0ef79d0a0..34af132c11f 100644
--- a/pkgs/applications/science/misc/root/sw_vers.patch
+++ b/pkgs/applications/science/misc/root/sw_vers.patch
@@ -1,54 +1,46 @@
-diff --git a/build/unix/compiledata.sh b/build/unix/compiledata.sh
+diff a/build/unix/compiledata.sh b/build/unix/compiledata.sh
 --- a/build/unix/compiledata.sh
 +++ b/build/unix/compiledata.sh
-@@ -49,7 +49,7 @@ fi
+@@ -47,7 +47,7 @@ fi
  
  if [ "$ARCH" = "macosx" ] || [ "$ARCH" = "macosx64" ] || \
     [ "$ARCH" = "macosxicc" ]; then
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
++   macosx_minor=12
     SOEXT="so"
     if [ $macosx_minor -ge 5 ]; then
        if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then
-diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
+diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 --- a/cmake/modules/SetUpMacOS.cmake
 +++ b/cmake/modules/SetUpMacOS.cmake
-@@ -12,25 +12,11 @@ set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/X11R6)
- #---------------------------------------------------------------------------------------------------------
+@@ -2,17 +2,8 @@ set(ROOT_ARCHITECTURE macosx)
+ set(ROOT_PLATFORM macosx)
  
  if (CMAKE_SYSTEM_NAME MATCHES Darwin)
 -  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
 -                  COMMAND cut -d . -f 1-2
 -                  OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
 -  MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}")
--  EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
--                  COMMAND cut -d . -f 2
--                  OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
      set(libcxx ON CACHE BOOL "Build using libc++" FORCE)
 -  endif()
  
--  if(${MACOSX_MINOR} GREATER 4)
+-  if(MACOSX_VERSION VERSION_GREATER 10.4)
      #TODO: check haveconfig and rpath -> set rpath true
      #TODO: check Thread, define link command
      #TODO: more stuff check configure script
--    execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT)
--    if(${SYSCTL_OUTPUT} MATCHES 64)
--       MESSAGE(STATUS "Found a 64bit system")
-        set(ROOT_ARCHITECTURE macosx64)
-        SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-        SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -m64")
-@@ -38,27 +24,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -25,23 +16,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
         SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
         SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64")
--    else(${SYSCTL_OUTPUT} MATCHES 64)
+-    else()
 -       MESSAGE(STATUS "Found a 32bit system")
 -       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
 -       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
 -       SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32")
--    endif(${SYSCTL_OUTPUT} MATCHES 64)
+-    endif()
 -  endif()
 -
 -  if(MACOSX_VERSION VERSION_GREATER 10.6)
@@ -59,32 +51,51 @@ diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
 -  endif()
 -  if(MACOSX_VERSION VERSION_GREATER 10.8)
 -    set(MACOSX_GLU_DEPRECATED ON)
--    set(MACOSX_KRB5_DEPRECATED ON)
--  endif()
--  if(MACOSX_VERSION VERSION_GREATER 10.9)
--    set(MACOSX_LDAP_DEPRECATED ON)
 -  endif()
++     endif()
  
    if (CMAKE_COMPILER_IS_GNUCXX)
       message(STATUS "Found GNU compiler collection")
-@@ -135,7 +100,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
+@@ -104,7 +79,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
    endif()
  
    #---Set Linker flags----------------------------------------------------------------------
--  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib")
-+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib")
- 
- 
+-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=${MACOSX_VERSION}")
  else (CMAKE_SYSTEM_NAME MATCHES Darwin)
-diff --git a/config/root-config.in b/config/root-config.in
+   MESSAGE(FATAL_ERROR "There is no setup for this this Apple system up to now. Don't know waht to do. Stop cmake at this point.")
+ endif (CMAKE_SYSTEM_NAME MATCHES Darwin)
+diff a/config/root-config.in b/config/root-config.in
 --- a/config/root-config.in
 +++ b/config/root-config.in
-@@ -304,7 +304,7 @@ macosxicc)
+@@ -306,12 +306,6 @@ macosxicc)
+    auxlibs="-lm -ldl"
     ;;
  macosx64)
-    # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
+-   # MacOS X with gcc (GNU cc v4.x) in 64 bit mode
 -   macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
-+   macosx_minor=7
-    # cannot find the one linked to libGraf if relocated after built
-    if [ $macosx_minor -le 4 ]; then
-       rootlibs="$rootlibs -lfreetype"
+-   # cannot find the one linked to libGraf if relocated after built
+-   if [ $macosx_minor -le 4 ]; then
+-      rootlibs="$rootlibs -lfreetype"
+-   fi
+    auxcflags="${cxxversionflag} -m64"
+    auxldflags="-m64"
+    auxlibs="-lm -ldl"
+@@ -375,18 +369,11 @@ freebsd* | openbsd* | linux*)
+ macosx*)
+    for f in $features ; do
+       if test "x$f" = "xthread" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxcflags="-pthread $auxcflags"
+             auxlibs="-lpthread $auxlibs"
+-         else
+-            auxcflags="-D_REENTRANT $auxcflags"
+-            auxlibs="-lpthread $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xrpath" ; then
+-         if [ $macosx_minor -ge 5 ]; then
+             auxlibs="-Wl,-rpath,$libdir $auxlibs"
+-         fi
+       fi
+       if test "x$f" = "xlibcxx" ; then
+          auxcflags="-stdlib=libc++ $auxcflags"
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 751f3c3aebe..13eae15ce7f 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -1,28 +1,26 @@
-{
-  stdenv
-, python
-}:
+{ stdenv, python3Packages }:
 
-python.buildPythonPackage rec {
+python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "5.4.4";
+  version = "5.8.1";
 
-  propagatedBuildInputs = with python; [
+  propagatedBuildInputs = with python3Packages; [
     appdirs
     ConfigArgParse
     datrie
     docutils
     GitPython
     jsonschema
+    psutil
     pyyaml
     ratelimiter
     requests
     wrapt
   ];
 
-  src = python.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "157323e0e1be34302edbbf399b2acbe25a4291bceffd47a0469963a970c9375f";
+    sha256 = "1r1qi14klmxmmw7vcivp45jrjka5rcwlcfggj5npnfb378fx3hb0";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index 509cdeaee61..3f83f2f30a6 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4
+{ fetchurl, stdenv, libxml2, freetype, libGLU, libGL, glew, qt4
 , cmake, makeWrapper, libjpeg, python }:
 
 let version = "5.2.1"; in
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
   };
 
-  buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ];
+  buildInputs = [ libxml2 freetype glew libGLU libGL qt4 libjpeg python ];
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 64482ddd74b..3e7c7a42eb8 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -1,4 +1,4 @@
-{ fetchsvn, stdenv, cmake, qt4, libGLU_combined }:
+{ fetchsvn, stdenv, cmake, qt4, libGLU, libGL }:
 
 # ViTE 1.1 has several bugs, so use the SVN version.
 let
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     ln -sv "${externals}" externals
   '';
 
-  buildInputs = [ cmake qt4 libGLU_combined ];
+  buildInputs = [ cmake qt4 libGLU libGL ];
 
   NIX_LDFLAGS = "-lGLU";
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
     homepage = http://vite.gforge.inria.fr/;
     license = stdenv.lib.licenses.cecill20;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
new file mode 100644
index 00000000000..890e824cf2e
--- /dev/null
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonApplication, fetchPypi, matplotlib, numpy, pymavlink, pyserial
+, setuptools, wxPython_4_0 }:
+
+buildPythonApplication rec {
+  pname = "MAVProxy";
+  version = "1.8.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "193hjilsmbljbgj7v6icy3b4hzm14l0z6v05v7ycx6larij5xj2r";
+  };
+
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    pymavlink
+    pyserial
+    setuptools
+    wxPython_4_0
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MAVLink proxy and command line ground station";
+    homepage = "https://github.com/ArduPilot/MAVProxy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix
new file mode 100644
index 00000000000..139a49d9505
--- /dev/null
+++ b/pkgs/applications/system/monitor/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkg-config
+, pantheon
+, python3
+, gettext
+, glib
+, gtk3
+, bamf
+, libwnck3
+, libgee
+, libgtop
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "monitor";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "stsdc";
+    repo = "monitor";
+    rev = version;
+    sha256 = "0cqzxlzdbij26qgbbngqx6njcpcymkgvm29b7ipldgkssxp1mkkg";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    vala
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    bamf
+    glib
+    gtk3
+    pantheon.granite
+    pantheon.wingpanel
+    libgee
+    libgtop
+    libwnck3
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Manage processes and monitor system resources";
+    homepage = "https://github.com/stsdc/monitor";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 8c82ed1d451..d8a6ec05844 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -1,12 +1,12 @@
-{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }:
+{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qtbase, stdenv, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "bcompare";
-  version = "4.3.1.24438";
+  version = "4.3.2.24472";
 
   src = fetchurl {
     url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-    sha256 = "19rbcl0l49qbzn4bisdl9ibj0qm83kjkclva4qcy7jaqna9g7qrh";
+    sha256 = "1msygg01yi0n8lpk8sl226p09ls7wvd3z3k067mdgrss8rjy5va5";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix
deleted file mode 100644
index 7d1de378f53..00000000000
--- a/pkgs/applications/version-management/bugseverywhere/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, pythonPackages, fetchurl }:
-
-#
-# Upstream stopped development of this package. If this package does not build
-# anymore, feel free to remove it by reverting the appropriate patch
-# (git log --grep bugseverywhere)
-#
-pythonPackages.buildPythonApplication rec {
-    version = "1.1.1";
-    pname = "bugseverywhere";
-
-    src = fetchurl {
-      url =
-      "mirror://pypi/b/bugs-everywhere/bugs-everywhere-${version}.tar.gz";
-      sha256 = "1ikm3ckwpimwcvx32vy7gh5gbp7q750j3327m17nvrj99g3daz2d";
-    };
-
-    # There are no tests in the repository.
-    doCheck = false;
-
-    buildInputs = with pythonPackages; [
-        jinja2
-        cherrypy
-    ];
-
-    meta = with stdenv.lib; {
-        description = "Bugtracker supporting distributed revision control";
-        homepage = http://www.bugseverywhere.org/;
-        license = licenses.gpl2Plus;
-        platforms = platforms.all;
-        maintainers = [ maintainers.matthiasbeyer ];
-    };
-}
-
diff --git a/pkgs/applications/version-management/cvs-fast-export/default.nix b/pkgs/applications/version-management/cvs-fast-export/default.nix
index 0a1ecbb6532..176e42bbd8a 100644
--- a/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -7,7 +7,7 @@ with stdenv; with lib;
 mkDerivation rec {
   name = "cvs-fast-export-${meta.version}";
   meta = {
-    version = "1.48";
+    version = "1.49";
     description = "Export an RCS or CVS history as a fast-import stream";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ dfoxfranke ];
@@ -16,8 +16,8 @@ mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.48.tar.gz";
-    sha256 = "16gw24y5x96mx6zby8cys0f03x1bqw4r7g1390qlpg75pbydqlf9";
+    url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-1.49.tar.gz";
+    sha256 = "1d75aq6inmd6yvc3rpxw1al95lvbl7wq64v3wygq69prrnzg8b6i";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
deleted file mode 100644
index fc591dd710e..00000000000
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, python27Packages, makeWrapper }:
-
-let
-  inherit (python27Packages) pygtk python;
-in stdenv.mkDerivation rec {
-  version = "0.4.8";
-  pname = "diffuse";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
-  };
-
-  buildInputs = [ python pygtk makeWrapper ];
-
-  buildPhase = ''
-    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
-    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
-  '';
-
-  # no-op, everything is done in buildPhase
-  installPhase = "true";
-
-  # NOTE: diffuse installs a .desktop file itself
-
-  meta = with stdenv.lib; {
-    description = "Graphical diff and merge tool";
-    homepage = http://diffuse.sourceforge.net/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 5c46879e319..8a41221a267 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd2;
     platforms = with stdenv.lib.platforms; all;
     maintainers = [ #Add your name here!
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.viric
     ];
   };
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index db82cc54135..d57ffd75d7f 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -103,6 +103,8 @@ let
 
   git-imerge = callPackage ./git-imerge { };
 
+  git-machete = python3Packages.callPackage ./git-machete { };
+
   git-octopus = callPackage ./git-octopus { };
 
   git-open = callPackage ./git-open { };
@@ -127,6 +129,8 @@ let
 
   git-subrepo = callPackage ./git-subrepo { };
 
+  git-subtrac = callPackage ./git-subtrac { };
+
   git-sync = callPackage ./git-sync { };
 
   git-test = callPackage ./git-test { };
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 023b9f6d967..2551c980fa8 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.0.14";
+  version = "0.0.15";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "11kjxa39mqdd9jh969ibxd0nlp9bacj2fm4cj6sk4gp6xf7gv90h";
+    sha256 = "1c2zqvkzkrj8rcz226vfk43yw113b1fdcz2gx0xh8fs72arqx6wh";
   };
 
   cargoSha256 = "1888bvkpalfcw9bc9zmf9bmil6x35l9ia31x6mx1h2dvrfpw3bb1";
@@ -16,6 +16,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     homepage = "https://github.com/dandavison/delta";
     description = "A syntax-highlighting pager for git";
+    changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index 09c9169e434..cfdcd80f38b 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchzip, unixtools, which }:
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "4.7.0";
+  version = "5.1.0";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
-    sha256 = "0pab4f5kmmcn333aswkgndf1fgilc41h8h0rk3lviz0yi8j59vaq";
+    sha256 = "0ja8ds9gpibrnwcf8n6cpbggwkbks0ik3z9vfx5h1yf3ln1nycky";
   };
 
+  nativeBuildInputs = [ unixtools.column which ];
+
   dontBuild = true;
 
-  installFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ];
+  preInstall = ''
+    patchShebangs .
+  '';
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
+    # bash completion is already handled by make install
     install -D etc/git-extras-completion.zsh $out/share/zsh/site-functions/_git_extras
   '';
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
index d445e0181f4..61852684387 100644
--- a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, curl, libiconv, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, makeWrapper, openssl, git, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-gone";
-  version = "0.1.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vgkx227wpg9l2zza6446wzshjhnrhba3qhabibn4gg8wwcqmmxf";
+    sha256 = "05wlng563p9iy0ky3z23a4jakcix887fb45r7j2mk0fp5ykdjmzh";
   };
 
-  cargoSha256 = "11h2whlgjhg3j98a9w9k29njj89wx93w0dcyf981985flin709sx";
+  cargoSha256 = "1s3v5p6qgz74sh34gvajf453fsgl13sds4v8hz8c6ivipz4hpby2";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
 
   buildInputs = [ openssl ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ curl libiconv Security ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
+
+  postFixup = ''
+    wrapProgram $out/bin/git-gone --prefix PATH : "${stdenv.lib.makeBinPath [ git ]}"
+  '';
 
   meta = with stdenv.lib; {
     description = "Cleanup stale Git branches of pull requests";
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index 193133d6d3e..33b3d0bc167 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "1.0.3";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
-    sha256 = "03mz64lzicbxxz9b202kqs5ysf82sgb7lw967wkjdy2wbpqk8j0z";
-    rev = "v${version}";
-    repo = "git-hub";
     owner = "sociomantic-tsunami";
+    repo = "git-hub";
+    rev = "v${version}";
+    sha256 = "0jkzg7vjvgb952qncndhki7n70714w61flbzf4mdcjc286lqjvwb";
   };
 
   buildInputs = [ python2Packages.python ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
new file mode 100644
index 00000000000..92c54dcac6b
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonApplication, fetchPypi
+, installShellFiles, pbr
+, flake8, mock, pycodestyle, pylint, tox }:
+
+buildPythonApplication rec {
+  pname = "git-machete";
+  version = "2.12.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1m4j8nhdkr28xs2xbnyy3ric9i99swb4d5drj4wpkqd2xqln5wlq";
+  };
+
+  nativeBuildInputs = [ installShellFiles pbr ];
+
+  # TODO: Add missing check inputs (2019-11-22):
+  # - stestr
+  doCheck = false;
+  checkInputs = [ flake8 mock pycodestyle pylint tox ];
+
+  postInstall = ''
+      installShellCompletion --bash --name git-machete completion/git-machete.completion.bash
+      installShellCompletion --zsh --name _git-machete completion/git-machete.completion.zsh
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/VirtusLab/git-machete;
+    description = "Git repository organizer and rebase workflow automation tool";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.blitz ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index b196d39b46f..969ea7cc2fa 100644
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/ingydotnet/git-subrepo;
     description = "Git submodule alternative";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix ++ platforms.darwin;
     maintainers = [ maintainers.ryantrinkle ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix b/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
new file mode 100644
index 00000000000..07c63ea0119
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "git-subtrac";
+  version = "0.01";
+
+  src = fetchFromGitHub {
+    owner = "apenwarr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1w6gd0x1902lzpqr74gsdrnxq36f6v14bv8h0vhlrfhbwbsih7n6";
+  };
+
+  modSha256 = "147vzllp1gydk2156hif313vwykagrj35vaiqy1swqczxs7p9hhs";
+
+  meta = with lib; {
+    description = "Keep the content for your git submodules all in one place: the parent repo";
+    homepage = "https://github.com/apenwarr/git-subtrac";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 46bbc72fb3b..312879a49e8 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, buildPackages
-, curl, openssl, zlib, expat, perlPackages, python, gettext, cpio
+, curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
@@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.23.0";
+  version = "2.24.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "0rv0y45gcd3h191isppn77acih695v4pipdj031jvs9rd1ds0kr3";
+    sha256 = "0ql5z31vgl7b785gwrf00m129mg7zi9pa65n12ij3mpxx3f28gvj";
   };
 
   outputs = [ "out" ];
@@ -91,9 +91,9 @@ stdenv.mkDerivation {
     "SHELL_PATH=${stdenv.shell}"
   ]
   ++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
-  ++ (if pythonSupport then ["PYTHON_PATH=${python}/bin/python"] else ["NO_PYTHON=1"])
+  ++ (if pythonSupport then ["PYTHON_PATH=${python3}/bin/python"] else ["NO_PYTHON=1"])
   ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
-  ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc/"])
+  ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"])
   ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
   ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
 
@@ -230,6 +230,7 @@ stdenv.mkDerivation {
                 -e "s|exec wish|exec '${tk}/bin/wish'|g" \
                 "$out/$prog"
        done
+       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/gitk
      '' else ''
        # Don't wrap Tcl/Tk, replace them by notification scripts
        for prog in bin/gitk libexec/git-core/git-gui; do
@@ -253,7 +254,10 @@ stdenv.mkDerivation {
   installCheckTarget = "test";
 
   # see also installCheckFlagsArray
-  installCheckFlags = "DEFAULT_TEST_TARGET=prove";
+  installCheckFlags = [
+    "DEFAULT_TEST_TARGET=prove"
+    "PERL_PATH=${buildPackages.perl}/bin/perl"
+  ];
 
   preInstallCheck = ''
     installCheckFlagsArray+=(
@@ -290,14 +294,18 @@ stdenv.mkDerivation {
     disable_test t1700-split-index "null sha1"
 
     # Tested to fail: 2.18.0
-    disable_test t7005-editor "editor with a space"
-    disable_test t7005-editor "core.editor with a space"
-
-    # Tested to fail: 2.18.0
     disable_test t9902-completion "sourcing the completion script clears cached --options"
 
-    # As of 2.19.0, t5562 refers to #!/usr/bin/perl
-    patchShebangs t/t5562/invoke-with-content-length.pl
+    ${stdenv.lib.optionalString (!perlSupport) ''
+      # request-pull is a Bash script that invokes Perl, so it is not available
+      # when NO_PERL=1, and the test should be skipped, but the test suite does
+      # not check for the Perl prerequisite.
+      disable_test t5150-request-pull
+    ''}
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # XXX: Some tests added in 2.24.0 fail.
+    # Please try to re-enable on the next release.
+    disable_test t7816-grep-binary-pattern
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     # Test fails (as of 2.17.0, musl 1.1.19)
     disable_test t3900-i18n-commit
diff --git a/pkgs/applications/version-management/git-and-tools/git/update.sh b/pkgs/applications/version-management/git-and-tools/git/update.sh
index 05944014743..a9fa18be155 100755
--- a/pkgs/applications/version-management/git-and-tools/git/update.sh
+++ b/pkgs/applications/version-management/git-and-tools/git/update.sh
@@ -1,9 +1,9 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl common-updater-scripts jq
+#!nix-shell -i bash -p curl common-updater-scripts jq git
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; git.version or (builtins.parseDrvName git.name).version" | tr -d '"')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')"
 latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')"
 
 if [ ! "${oldVersion}" = "${latestTag}" ]; then
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index e40bfc9961b..ee21a2158ac 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "hub";
-  version = "2.12.8";
+  version = "2.13.0";
 
   goPackagePath = "github.com/github/hub";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "github";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0a2dpg0w29nblk1dba9a35bpwwyf0zbqcgrwn4a8diyx27b77x3x";
+    sha256 = "18b0r16fk5wahvysqvg6vzjr7smyc2sdxp9sf55viby3kkwjfbkh";
   };
 
   nativeBuildInputs = [ groff utillinux ];
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index a1ef489b007..3e47631caf6 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -2,18 +2,20 @@
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.16.0";
+  version = "0.17.2";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "0f1gi4mlcxjvz2sgh0hzzsqxg5gfvq2ay7xjd0y1kz3pp8kxja7i";
+    sha256 = "0zkwvmzgj7h8lc8jkg2a81392b28c8hkwqzj6dds6q4asbmymx5c";
   };
 
   subPackages = [ "." ];
 
-  modSha256 = "0bw47dd1b46ywsian2b957a4ipm77ncidipzri9ra39paqlv7abb";
+  modSha256 = "03fqa7s6729g0a6ffiyc61dkldpi7vg8pvvpqak4c0mqi1dycivd";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
     mkdir -p "$out/share/bash-completion/completions" "$out/share/zsh/site-functions"
diff --git a/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index 03933788551..3636ad11fb6 100644
--- a/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "subgit-3.3.8";
+  name = "subgit-3.3.9";
 
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://subgit.com/download/${name}.zip";
-    sha256 = "0gvyyr4prx1v06f9j9fmmr8br1gjd45bnncl40c9agiqsyy0q06n";
+    sha256 = "0dwd2kymmprci3b61ayr6axzlkc8zgbc40jqxvvyzschfxw9y0v5";
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 59354598d00..424694d7262 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
+{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, fetchpatch
 , readline, makeWrapper, git, libiconv, autoreconfHook, findXMLCatalogs, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0i26yfn2vjgsg1kdvhhv55jwzds7ih7cnad1xqvilqm83zh47ksd";
+    sha256 = "1lrzgnq8ywq28qd4xyd0y5qfv3j25ra81lcbdqqfywasl8lwz3lf";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];
@@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
       rm -f contrib/config.make-*
   '';
 
+  patches = [
+    # Fix memory leak. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/jonas/tig/commit/6202c6032f17438a2facb23f02e330b9d0566d9d.patch";
+      sha256 = "15zn8hw9y7bqa1np4mj0qnm2z86nif7qwh7wc4vgy2rwxdil85bd";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   installPhase = ''
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index b4fee1c90fa..d5abb6d004b 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "1.13.7.1";
+  version = "1.13.8";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "0acsvrc45kdwpj5mi5i61mibr1fdx4g4835c3b8x0fdgrya4n37c";
+    sha256 = "1wmzgijmssgwkkw8g4zgmc4x64xkvz6nq1b3szcvawgv1ndwnb2j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-sizer/default.nix b/pkgs/applications/version-management/git-sizer/default.nix
index 7a92679583b..6d41098ee1a 100644
--- a/pkgs/applications/version-management/git-sizer/default.nix
+++ b/pkgs/applications/version-management/git-sizer/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "git-sizer";
-  version = "1.0.0";
+  version = "1.3.0";
 
   goPackagePath = "github.com/github/git-sizer";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "github";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11rvqpsyl41ph0fgm62k5q2p33zgnwj1jd91rd4lkaarpcd1sg5h";
+    sha256 = "0kmyvai5xfalm56ywa6mhdvvjnacdzwcyz28bw0pz9a4gyf1mgvh";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 6a7a42bacc1..99e660d9276 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.9.5";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "07isawbasshkgij2mh7pmp6h3ns758ysflngr18z0k2m38ny9h31";
+    sha256 = "1b1vmixc94kzfnd266r3hx25lcm3h4ywqg7d9kif83ixm612cj3g";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 01a73e6c212..2272e66faf5 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "6.3.0";
+  version = "6.4.1";
 
   src = fetchurl {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
-    sha256 = "06hjzkkrg2f9lb72ik16zgv813cxsv679szfdzrfygbb6wxnkjyp";
+    sha256 = "1w8iwpbr6nwzhhf63fvr7pd66yjx3jgjy4gx5y02qxa3ip5psq5b";
   };
 
   libPath = makeLibraryPath [
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index a0e62271373..76c681f7106 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "12.4.1",
-  "repo_hash": "0dmb8ds6c5paxg35nricaywfhsgmp5rr46kk21hy2hsddgwkyb4k",
+  "version": "12.5.5",
+  "repo_hash": "1vafy31s2sbs6xc2cp457k535yyawz630i8ks22ypyg2m2gy5n5m",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v12.4.1-ee",
+  "rev": "v12.5.5-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "1.67.0",
-    "GITLAB_PAGES_VERSION": "1.11.0",
+    "GITALY_SERVER_VERSION": "1.72.1",
+    "GITLAB_PAGES_VERSION": "1.12.0",
     "GITLAB_SHELL_VERSION": "10.2.0",
-    "GITLAB_WORKHORSE_VERSION": "8.14.0"
+    "GITLAB_WORKHORSE_VERSION": "8.14.1"
   }
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index e6ed0ef53a2..60035990ed0 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
 , ruby, tzdata, git, nettools, nixosTests, nodejs
 , gitlabEnterprise ? false, callPackage, yarn
-, yarn2nix-moretea, replace
+, fixup_yarn_lock, replace
 }:
 
 let
@@ -62,7 +62,12 @@ let
       yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
 
       # Fixup "resolved"-entries in yarn.lock to match our offline cache
-      ${yarn2nix-moretea.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+      ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+
+      # fixup_yarn_lock currently doesn't correctly fix the dagre-d3
+      # url, so we have to do it manually
+      ${replace}/bin/replace-literal -f -e '"https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b"' \
+                                           '"https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b"' yarn.lock
 
       yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
 
@@ -76,7 +81,7 @@ let
 
       bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
       bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
-      bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096"
+      bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=2048"
       bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
 
       runHook postBuild
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 9478dc9a84b..841f6bfdefc 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -4,13 +4,13 @@ source 'https://rubygems.org'
 gem 'bundler', '>= 1.17.3'
 
 gem 'rugged', '~> 0.28'
-gem 'github-linguist', '~> 6.1', require: 'linguist'
+gem 'github-linguist', '~> 7.5', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'activesupport', '~> 5.2.3'
-gem 'rdoc', '~> 4.2'
+gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 gem 'sentry-raven', '~> 2.9.0', require: false
 gem 'faraday', '~> 0.12'
 gem 'rbtrace', require: false
@@ -22,7 +22,7 @@ gem 'gitlab-labkit', '~> 0.5.0'
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 8.9.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index cb292af8cc3..90c4e1bccea 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -49,10 +49,10 @@ GEM
     ffi (1.11.1)
     gemojione (3.3.0)
       json
-    github-linguist (6.4.1)
+    github-linguist (7.5.1)
       charlock_holmes (~> 0.7.6)
       escape_utils (~> 1.2.0)
-      mime-types (>= 1.19)
+      mini_mime (~> 1.0)
       rugged (>= 0.25.1)
     github-markup (1.7.0)
     gitlab-gollum-lib (4.2.7.7)
@@ -81,12 +81,12 @@ GEM
     gitlab-markup (1.7.0)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     hashdiff (0.3.9)
     i18n (1.6.0)
       concurrent-ruby (~> 1.0)
@@ -99,7 +99,7 @@ GEM
     licensee (8.9.2)
       rugged (~> 0.24)
     listen (0.5.3)
-    loofah (2.2.3)
+    loofah (2.3.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -108,12 +108,13 @@ GEM
     mime-types (3.2.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2019.0331)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.0)
     multi_json (1.13.1)
     multipart-post (2.0.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
@@ -138,14 +139,14 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.2.0)
-      loofah (~> 2.2, >= 2.2.2)
+    rails-html-sanitizer (1.3.0)
+      loofah (~> 2.3)
     rainbow (3.0.0)
     rbtrace (0.4.11)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
-    rdoc (4.3.0)
+    rdoc (6.2.0)
     redis (4.1.2)
     rouge (3.11.0)
     rspec (3.8.0)
@@ -217,18 +218,18 @@ DEPENDENCIES
   bundler (>= 1.17.3)
   factory_bot
   faraday (~> 0.12)
-  github-linguist (~> 6.1)
+  github-linguist (~> 7.5)
   gitlab-gollum-lib (~> 4.2.7.7)
   gitlab-gollum-rugged_adapter (~> 0.4.4.2)
   gitlab-labkit (~> 0.5.0)
   gitlab-markup (~> 1.7.0)
-  google-protobuf (~> 3.7.1)
-  grpc (~> 1.19.0)
+  google-protobuf (~> 3.8.0)
+  grpc (~> 1.24.0)
   licensee (~> 8.9.0)
   listen (~> 0.5.0)
   pry (~> 0.12.2)
   rbtrace
-  rdoc (~> 4.2)
+  rdoc (~> 6.0)
   rspec
   rspec-parameterized
   rubocop (~> 0.69)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index b07c3590d3d..2c764162230 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,14 +17,14 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "1.67.0";
+  version = "1.72.1";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "1mj2l15hnxwqmyc8xn79d6qpmpqbqw2ishalr8qvn83nzdsbk8l3";
+    sha256 = "0gnhw7p8fgy3w15828qjgkkxcd4dg7gf1hpanc3xqawb8jqpfc91";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
@@ -55,7 +55,7 @@ in buildGoPackage rec {
   meta = with stdenv.lib; {
     homepage = https://gitlab.com/gitlab-org/gitaly;
     description = "A Git RPC service for handling all the git calls made by GitLab";
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ roblabla globin fpletz ];
     license = licenses.mit;
   };
diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 34c30f71054..951ea39e5be 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
@@ -19,6 +19,42 @@
     };
   }
   {
+    goPackagePath = "github.com/Joker/hpp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/hpp";
+      rev = "6893e659854a";
+      sha256 = "0lsx63c28rzqigv3lwzznqacpk7nr0dn6ig37v023x8lzc728ix5";
+    };
+  }
+  {
+    goPackagePath = "github.com/Joker/jade";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/jade";
+      rev = "v1.0.0";
+      sha256 = "0k9b8dcwwhajw6rzjmakqwmhw9z192pzzdhppcvam6dy63yl4zjf";
+    };
+  }
+  {
+    goPackagePath = "github.com/Shopify/goreferrer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Shopify/goreferrer";
+      rev = "ec9c9a553398";
+      sha256 = "0d740psj8czks1hl0nr6nlrwfbwq3nc51jj2p91d1wyhhmgn6jmn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ajg/form";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ajg/form";
+      rev = "v1.5.1";
+      sha256 = "1d6sxzzf9yycdf8jm5877y0khmhkmhxfw3sc4xpdcsrdlc7gqh5a";
+    };
+  }
+  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -37,6 +73,15 @@
     };
   }
   {
+    goPackagePath = "github.com/aymerick/raymond";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aymerick/raymond";
+      rev = "v2.0.2";
+      sha256 = "1w6am4142k8lyjnwwcgx94c2d8zviflzi0a9c81gn2j0gyx475i3";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
@@ -82,6 +127,15 @@
     };
   }
   {
+    goPackagePath = "github.com/codegangsta/inject";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/inject";
+      rev = "33e0aa1cb7c0";
+      sha256 = "1jqakr3z9l60qhcgrdzsb6rlk8ikcamisw0g2ndmrf27s0ibfcaj";
+    };
+  }
+  {
     goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
@@ -91,6 +145,42 @@
     };
   }
   {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/eknkc/amber";
+    fetch = {
+      type = "git";
+      url = "https://github.com/eknkc/amber";
+      rev = "cdade1c07385";
+      sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "v1.1.0";
+      sha256 = "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q";
+    };
+  }
+  {
+    goPackagePath = "github.com/flosch/pongo2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flosch/pongo2";
+      rev = "bbf5a6c351f4";
+      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
+    };
+  }
+  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -100,15 +190,69 @@
     };
   }
   {
+    goPackagePath = "github.com/gavv/monotime";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gavv/monotime";
+      rev = "30dba4353424";
+      sha256 = "0w67yyc9y11dp7lp4b712dkcgbiln1qmgfx1nbbrw3mfkzr61d7g";
+    };
+  }
+  {
     goPackagePath = "github.com/getsentry/raven-go";
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
+      rev = "v0.1.0";
       sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
     };
   }
   {
+    goPackagePath = "github.com/getsentry/sentry-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/getsentry/sentry-go";
+      rev = "v0.3.0";
+      sha256 = "1919lhvg1swcqyfa6mck6nz53c7n4df21jsz46f7x4wncb6f5il1";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-contrib/sse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-contrib/sse";
+      rev = "5545eab6dad3";
+      sha256 = "0jhcvi66rn7c1wg3rf7q7sylrvlk7c40yk79c5lypnz1dpsdcrb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-gonic/gin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-gonic/gin";
+      rev = "v1.4.0";
+      sha256 = "19nxip48p2s8l7p1p7wpd5li2fcngi4c58rgcg71izdmsmj2iw1d";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-errors/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-errors/errors";
+      rev = "v1.0.1";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
+    };
+  }
+  {
     goPackagePath = "github.com/go-kit/kit";
     fetch = {
       type = "git";
@@ -127,6 +271,15 @@
     };
   }
   {
+    goPackagePath = "github.com/go-martini/martini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-martini/martini";
+      rev = "22fa46961aab";
+      sha256 = "01ip3mwbnm5isq120ww73yrvbcn6n5944prhhbyf2ggyf6g46ylh";
+    };
+  }
+  {
     goPackagePath = "github.com/go-stack/stack";
     fetch = {
       type = "git";
@@ -176,8 +329,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
@@ -190,6 +361,24 @@
     };
   }
   {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/schema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/schema";
+      rev = "v1.1.0";
+      sha256 = "14d31i3h6bg83r7ncmwm2pirab66z9hza38in18l89pbazxyh2n9";
+    };
+  }
+  {
     goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
     fetch = {
       type = "git";
@@ -217,6 +406,51 @@
     };
   }
   {
+    goPackagePath = "github.com/imkira/go-interpol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imkira/go-interpol";
+      rev = "v1.1.0";
+      sha256 = "180h3pf2p0pch6hmqf45wk7wd87md83d3p122f8ll43x5nja5mph";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/blackfriday";
+      rev = "v2.0.0";
+      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/formBinder";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/formBinder";
+      rev = "v5.0.0";
+      sha256 = "0mqk6j7a9d3y28ad4ylqc7z5w4hmn1ws5wwnyll918xn1wkzr5rg";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/go.uuid";
+      rev = "v2.0.0";
+      sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/httpexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/httpexpect";
+      rev = "ebe99fcebbce";
+      sha256 = "126c50c6r5l2gdn60jirpb54pqwswxag3wgrv6wcn998h9w9gv8c";
+    };
+  }
+  {
     goPackagePath = "github.com/json-iterator/go";
     fetch = {
       type = "git";
@@ -226,6 +460,42 @@
     };
   }
   {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev = "089d3ea4e4d5";
+      sha256 = "056za75j1zgksky7pbf0pkjqz5ha15g3wj3p4ma10m9sywdyq79r";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/loggo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/loggo";
+      rev = "584905176618";
+      sha256 = "0hzi0652y74jf62wwyi9gf8bzrs7ynvhjfqc8rwr4l799d7i5gd4";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/testing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/testing";
+      rev = "472a3e8b2073";
+      sha256 = "05wjc2k0kwbam7anaxwnj30pl03dcdbrsz32icd70zl70ipsqsw4";
+    };
+  }
+  {
     goPackagePath = "github.com/julienschmidt/httprouter";
     fetch = {
       type = "git";
@@ -235,6 +505,42 @@
     };
   }
   {
+    goPackagePath = "github.com/k0kubun/colorstring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/k0kubun/colorstring";
+      rev = "9440f1994b88";
+      sha256 = "0isskya7ky4k9znrh85crfc2pxwyfz2s8j1a5cbjb8b8zf2v0qbj";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/golog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/golog";
+      rev = "99c81de45f40";
+      sha256 = "1dgrsvhzymgj7da54ldv8plkxk3n8zh3kc995qxl6mrpz65j801p";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/iris";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/iris";
+      rev = "v11.1.1";
+      sha256 = "1rxpr5hdj9mji26mlfp4zic0pc6nh93akzccw24a5kynj07g68wg";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/pio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/pio";
+      rev = "ea782b38602d";
+      sha256 = "0ca29wmkpx19qwnvi4fja3avkxkzz14x9wyzmg1l9074bxbj8cgj";
+    };
+  }
+  {
     goPackagePath = "github.com/kelseyhightower/envconfig";
     fetch = {
       type = "git";
@@ -253,6 +559,24 @@
     };
   }
   {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev = "v1.4.0";
+      sha256 = "1y7951q0ji894d111lqqbacq64cxyi2dxsni5sqi9488zsasgw8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev = "e7e905edc00e";
+      sha256 = "0cmyv3rwv5r5iqvvfhbiwp3jsfa40c6xfm42nxbngd5lygjcwwgf";
+    };
+  }
+  {
     goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
     fetch = {
       type = "git";
@@ -271,6 +595,51 @@
     };
   }
   {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/echo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/echo";
+      rev = "v4.1.10";
+      sha256 = "0qg9ykmhgldiv2v1w8sz8x0j0bgqf11ghzrim59fb6pxz8qgg25h";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/gommon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/gommon";
+      rev = "v0.3.0";
+      sha256 = "18z7akyzm75p6anm4b8qkqgm4iivx50z07hi5wf50w1pbsvbcdi0";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
@@ -289,6 +658,33 @@
     };
   }
   {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.2";
+      sha256 = "0512jm3wmzkkn7d99x9wflyqf48n5ri3npy1fqkq6l6adc5mni3n";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.9";
+      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/goveralls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/goveralls";
+      rev = "v0.0.2";
+      sha256 = "13ffdikvc594g1mryhi94m87skr7irwkjnpxp8ad2kprn6syfslp";
+    };
+  }
+  {
     goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
     fetch = {
       type = "git";
@@ -298,6 +694,15 @@
     };
   }
   {
+    goPackagePath = "github.com/microcosm-cc/bluemonday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/microcosm-cc/bluemonday";
+      rev = "v1.0.2";
+      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
+    };
+  }
+  {
     goPackagePath = "github.com/modern-go/concurrent";
     fetch = {
       type = "git";
@@ -316,6 +721,15 @@
     };
   }
   {
+    goPackagePath = "github.com/moul/http2curl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/moul/http2curl";
+      rev = "v1.0.0";
+      sha256 = "15bpx33d3ygya8dg8hbsn24h7acpajl27006pj8lw1c0bfvbnrl0";
+    };
+  }
+  {
     goPackagePath = "github.com/mwitkow/go-conntrack";
     fetch = {
       type = "git";
@@ -329,8 +743,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.7.0";
-      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -338,8 +752,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.4.3";
-      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
     };
   }
   {
@@ -361,12 +775,21 @@
     };
   }
   {
+    goPackagePath = "github.com/pingcap/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pingcap/errors";
+      rev = "v0.11.1";
+      sha256 = "00wr0l4cwq0qx8jw51j0n7pbh9l7hdq2874x9rf1mz5svz1wbmcp";
+    };
+  }
+  {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -415,6 +838,33 @@
     };
   }
   {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev = "v1.0.0";
+      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
+    };
+  }
+  {
     goPackagePath = "github.com/sirupsen/logrus";
     fetch = {
       type = "git";
@@ -424,6 +874,24 @@
     };
   }
   {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "505e41936337";
+      sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
+    };
+  }
+  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
@@ -437,8 +905,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -478,6 +946,123 @@
     };
   }
   {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "v1.1.4";
+      sha256 = "0ma2qvn5wqvjidpdz74x832a813qnr1cxbx6n6n125ak9b3wbn5w";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/negroni";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/negroni";
+      rev = "v1.0.0";
+      sha256 = "1gp6j74adi1cn8fq5v3wzlzhwl4zg43n2746m4fzdcdimihk3ccp";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/bytebufferpool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/bytebufferpool";
+      rev = "v1.0.0";
+      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasthttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasthttp";
+      rev = "v1.4.0";
+      sha256 = "0kypc7r91n61fm6qsadza1aiy9n6byghvcxzvx7agi6yzrllk956";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasttemplate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasttemplate";
+      rev = "v1.0.1";
+      sha256 = "0l131znbv8v67y20s4q361mwiww2c33zdc68mwvxchzk1gpy5ywq";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/tcplisten";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/tcplisten";
+      rev = "ceec8f93295a";
+      sha256 = "0ksbj1gsdqanbnhly5w1wcc107bib4w0zpnyl00prr89zch3imnf";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonpointer";
+      rev = "df4f5c81cb3b";
+      sha256 = "0dfwc66z5gq75m3z7va80c10c22ijiq99bahq86l26ki71g286xn";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonreference";
+      rev = "bd5ef7bd5415";
+      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonschema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonschema";
+      rev = "v1.1.0";
+      sha256 = "10gn5y4l72zknj21mff29d9vnk4pz7jnw39xnlsb373lsiih91xg";
+    };
+  }
+  {
+    goPackagePath = "github.com/yalp/jsonpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yalp/jsonpath";
+      rev = "5cc68e5049a0";
+      sha256 = "0kkyxp1cg3kfxy5hhwzxg132jin4xb492z5jpqq94ix15v6rdf4b";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/gojsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/gojsondiff";
+      rev = "v1.0.0";
+      sha256 = "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/golcs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/golcs";
+      rev = "ecda9a501e82";
+      sha256 = "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/pp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/pp";
+      rev = "v2.0.1";
+      sha256 = "18vbc7jagnjw1wpvhqjffl0np7bzzqdd9jpdcisvj5h85lbyn5gk";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/labkit";
     fetch = {
       type = "git";
@@ -500,8 +1085,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "20be4c3c3ed5";
-      sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
+      rev = "4def268fd1a4";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
     };
   }
   {
@@ -509,8 +1094,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
     };
   }
   {
@@ -536,8 +1121,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
@@ -545,8 +1130,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "953cdadca894";
-      sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
     };
   }
   {
@@ -563,8 +1148,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
+      rev = "2c0ae7006135";
+      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
     };
   }
   {
@@ -590,8 +1175,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev = "v1.16.0";
-      sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
     };
   }
   {
@@ -631,6 +1216,33 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/go-playground/assert.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/assert.v1";
+      rev = "v1.2.1";
+      sha256 = "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/go-playground/validator.v8";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/validator.v8";
+      rev = "v8.18.2";
+      sha256 = "1m2i48ph5a3kw9nlw2srx8i04v7chicds2hlzlrfm15045crga55";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/mgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/mgo.v2";
+      rev = "9856a29383ce";
+      sha256 = "1gfbcmvpwwf1lydxj3g42wv2g9w3pf0y02igqk4f4f21h02sazkw";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/tomb.v1";
     fetch = {
       type = "git";
@@ -653,8 +1265,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
+      rev = "ea95bdfd59fc";
+      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
     };
   }
 ]
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index a5140972ef0..47e1c3b3568 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -224,15 +224,15 @@
     version = "3.3.0";
   };
   github-linguist = {
-    dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
+    dependencies = ["charlock_holmes" "escape_utils" "mini_mime" "rugged"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nqsprsy4xd6yxzk3b54815hv0gk2r1xn0vsm81pkyy61bbm35hf";
+      sha256 = "092bq7bjfj2yvss2ig6jb71j0h04cigq79xxfis37j315iixl12j";
       type = "gem";
     };
-    version = "6.4.1";
+    version = "7.5.1";
   };
   github-markup = {
     source = {
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -330,10 +330,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   hashdiff = {
     groups = ["default" "development" "test"];
@@ -418,10 +418,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -459,6 +459,16 @@
     };
     version = "3.2019.0331";
   };
+  mini_mime = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -507,10 +517,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -640,10 +650,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   rainbow = {
     source = {
@@ -663,12 +673,14 @@
     version = "0.4.11";
   };
   rdoc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "6.2.0";
   };
   redis = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 03aad8c02c3..2a83cbe5f3c 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -25,7 +25,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "SSH access and repository management app for GitLab";
     homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz globin talyz ];
     license = licenses.mit;
   };
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
index 5b5d0b99bcf..d5ea22f960b 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
@@ -163,6 +163,15 @@
     };
   }
   {
+    goPackagePath = "github.com/golang/lint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/lint";
+      rev = "06c8688daad7";
+      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+    };
+  }
+  {
     goPackagePath = "github.com/golang/mock";
     fetch = {
       type = "git";
@@ -253,6 +262,15 @@
     };
   }
   {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
     goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
     fetch = {
       type = "git";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index b8364c1efeb..4f3322f3d0f 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.14.0";
+  version = "8.14.1";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1cqx75h4x4chjvp72kzbln8qkm5p7p2w7x8bdd99g38kf21wxxaq";
+    sha256 = "19flb9b9l9214ykwgjphcqrinncnfvhis7nrvcr4ns6rlpxnc9dl";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
@@ -29,7 +29,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.gitlab.com/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz globin talyz ];
     license = licenses.mit;
   };
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 920f778c053..bdfae5a24ec 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -8,12 +8,12 @@ gem 'bootsnap', '~> 1.4'
 gem 'nakayoshi_fork', '~> 0.0.4'
 
 # Responders respond_to and respond_with
-gem 'responders', '~> 2.0'
+gem 'responders', '~> 3.0'
 
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'default_value_for', '~> 3.2.0'
+gem 'default_value_for', '~> 3.3.0'
 
 # Supported DBs
 gem 'pg', '~> 1.1'
@@ -42,7 +42,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.2.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'omniauth_openid_connect', '~> 0.3.1'
+gem 'omniauth_openid_connect', '~> 0.3.3'
 gem "omniauth-ultraauth", '~> 0.0.2'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'rack-oauth2', '~> 1.9.3'
@@ -53,7 +53,7 @@ gem 'gssapi', group: :kerberos
 
 # Spam and anti-bot protection
 gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
-gem 'akismet', '~> 2.0'
+gem 'akismet', '~> 3.0'
 gem 'invisible_captcha', '~> 0.12.1'
 
 # Two-factor authentication
@@ -64,7 +64,7 @@ gem 'u2f', '~> 0.2.1'
 
 # GitLab Pages
 gem 'validates_hostname', '~> 1.0.6'
-gem 'rubyzip', '~> 1.2.2', require: 'zip'
+gem 'rubyzip', '~> 1.3.0', require: 'zip'
 # GitLab Pages letsencrypt support
 gem 'acme-client', '~> 2.0.2'
 
@@ -72,7 +72,7 @@ gem 'acme-client', '~> 2.0.2'
 gem 'browser', '~> 2.5'
 
 # GPG
-gem 'gpgme', '~> 2.0.18'
+gem 'gpgme', '~> 2.0.19'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -136,7 +136,7 @@ gem 'faraday_middleware-aws-signers-v4'
 
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 2.8'
-gem 'deckar01-task_list', '2.2.0'
+gem 'deckar01-task_list', '2.2.1'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.17'
@@ -151,7 +151,7 @@ gem 'asciidoctor-plantuml', '0.0.9'
 gem 'rouge', '~> 3.11.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.4'
+gem 'nokogiri', '~> 1.10.5'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -159,6 +159,7 @@ gem 'icalendar'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
+gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
 gem 'rack', '~> 2.0.7'
@@ -175,7 +176,7 @@ group :puma do
 end
 
 # State machine
-gem 'state_machines-activerecord', '~> 0.5.1'
+gem 'state_machines-activerecord', '~> 0.6.0'
 
 # Issue tags
 gem 'acts-as-taggable-on', '~> 6.0'
@@ -241,7 +242,7 @@ gem 'slack-notifier', '~> 1.5.1'
 gem 'hangouts-chat', '~> 0.0.5'
 
 # Asana integration
-gem 'asana', '~> 0.8.1'
+gem 'asana', '~> 0.9'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
@@ -259,9 +260,6 @@ gem 'loofah', '~> 2.2'
 # Working with license
 gem 'licensee', '~> 8.9'
 
-# Protect against bruteforcing
-gem 'rack-attack', '~> 4.4.1'
-
 # Ace editor
 gem 'ace-rails-ap', '~> 4.1.0'
 
@@ -293,10 +291,13 @@ gem 'base32', '~> 0.3.0'
 
 gem "gitlab-license", "~> 1.0"
 
+# Protect against bruteforcing
+gem 'rack-attack', '~> 6.2.0'
+
 # Sentry integration
 gem 'sentry-raven', '~> 2.9'
 
-gem 'premailer-rails', '~> 1.9.7'
+gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
 gem 'gitlab-labkit', '~> 0.5'
@@ -331,7 +332,6 @@ group :metrics do
 end
 
 group :development do
-  gem 'foreman', '~> 0.84.0'
   gem 'brakeman', '~> 4.2', require: false
   gem 'danger', '~> 6.0', require: false
 
@@ -388,7 +388,6 @@ group :development, :test do
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
-  gem 'license_finder', '~> 5.4', require: false
   gem 'knapsack', '~> 1.17'
 
   gem 'stackprof', '~> 0.2.10', require: false
@@ -398,6 +397,11 @@ group :development, :test do
   gem 'timecop', '~> 0.8.0'
 end
 
+# Gems required in omnibus-gitlab pipeline
+group :development, :test, :omnibus do
+  gem 'license_finder', '~> 5.4', require: false
+end
+
 group :test do
   gem 'shoulda-matchers', '~> 4.0.1', require: false
   gem 'email_spec', '~> 2.2.0'
@@ -407,6 +411,7 @@ group :test do
   gem 'concurrent-ruby', '~> 1.1'
   gem 'test-prof', '~> 0.10.0'
   gem 'rspec_junit_formatter'
+  gem 'guard-rspec'
 end
 
 gem 'octokit', '~> 4.9'
@@ -446,18 +451,18 @@ group :ed25519 do
 end
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 1.65.0'
+gem 'gitaly', '~> 1.70.0'
 
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 gem 'toml-rb', '~> 1.0.0', require: false
 
 # Feature toggles
-gem 'flipper', '~> 0.13.0'
-gem 'flipper-active_record', '~> 0.13.0'
-gem 'flipper-active_support_cache_store', '~> 0.13.0'
+gem 'flipper', '~> 0.17.1'
+gem 'flipper-active_record', '~> 0.17.1'
+gem 'flipper-active_support_cache_store', '~> 0.17.1'
 gem 'unleash', '~> 0.1.5'
 
 # Structured logging
@@ -469,3 +474,5 @@ gem 'gitlab-net-dns', '~> 0.9.1'
 
 # Countries list
 gem 'countries', '~> 3.0'
+
+gem 'retriable', '~> 3.1.2'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 18160932c56..469bea9d4fb 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -50,24 +50,24 @@ GEM
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    acts-as-taggable-on (6.0.0)
-      activerecord (~> 5.0)
+    acts-as-taggable-on (6.5.0)
+      activerecord (>= 5.0, < 6.1)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
     aes_key_wrap (1.0.1)
-    akismet (2.0.0)
+    akismet (3.0.0)
     apollo_upload_server (2.0.0.beta.3)
       graphql (>= 1.8)
       rails (>= 4.2)
     arel (9.0.0)
-    asana (0.8.1)
+    asana (0.9.3)
       faraday (~> 0.9)
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
-      oauth2 (~> 1.0)
+      oauth2 (~> 1.4)
     asciidoctor (2.0.10)
     asciidoctor-include-ext (0.3.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
@@ -80,14 +80,16 @@ GEM
       encryptor (~> 3.0.0)
     attr_required (1.0.1)
     awesome_print (1.8.0)
-    aws-sdk (2.9.32)
-      aws-sdk-resources (= 2.9.32)
-    aws-sdk-core (2.9.32)
+    aws-eventstream (1.0.3)
+    aws-sdk (2.11.374)
+      aws-sdk-resources (= 2.11.374)
+    aws-sdk-core (2.11.374)
       aws-sigv4 (~> 1.0)
       jmespath (~> 1.0)
-    aws-sdk-resources (2.9.32)
-      aws-sdk-core (= 2.9.32)
-    aws-sigv4 (1.0.0)
+    aws-sdk-resources (2.11.374)
+      aws-sdk-core (= 2.11.374)
+    aws-sigv4 (1.1.0)
+      aws-eventstream (~> 1.0, >= 1.0.2)
     axiom-types (0.1.1)
       descendants_tracker (~> 0.0.4)
       ice_nine (~> 0.11.0)
@@ -171,9 +173,9 @@ GEM
       unicode_utils (~> 1.4)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    crass (1.0.4)
+    crass (1.0.5)
     creole (0.5.0)
-    css_parser (1.5.0)
+    css_parser (1.7.0)
       addressable
     daemons (1.2.6)
     danger (6.0.9)
@@ -192,12 +194,12 @@ GEM
     database_cleaner (1.7.0)
     debug_inspector (0.0.3)
     debugger-ruby_core_source (1.3.8)
-    deckar01-task_list (2.2.0)
+    deckar01-task_list (2.2.1)
       html-pipeline
     declarative (0.0.10)
     declarative-option (0.1.0)
-    default_value_for (3.2.0)
-      activerecord (>= 3.2.0, < 6.0)
+    default_value_for (3.3.0)
+      activerecord (>= 3.2.0, < 6.1)
     derailed_benchmarks (1.3.5)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -222,6 +224,7 @@ GEM
       railties
       rotp (~> 2.0)
     diff-lcs (1.3)
+    diff_match_patch (0.1.0)
     diffy (3.1.0)
     discordrb-webhooks-blackst0ne (3.3.0)
       rest-client (~> 2.0)
@@ -285,13 +288,13 @@ GEM
     fast_gettext (1.6.0)
     ffaker (2.10.0)
     ffi (1.11.1)
-    flipper (0.13.0)
-    flipper-active_record (0.13.0)
-      activerecord (>= 3.2, < 6)
-      flipper (~> 0.13.0)
-    flipper-active_support_cache_store (0.13.0)
-      activesupport (>= 3.2, < 6)
-      flipper (~> 0.13.0)
+    flipper (0.17.1)
+    flipper-active_record (0.17.1)
+      activerecord (>= 4.2, < 7)
+      flipper (~> 0.17.1)
+    flipper-active_support_cache_store (0.17.1)
+      activesupport (>= 4.2, < 7)
+      flipper (~> 0.17.1)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
@@ -332,10 +335,8 @@ GEM
     fog-xml (0.1.3)
       fog-core
       nokogiri (>= 1.5.11, < 2.0.0)
-    font-awesome-rails (4.7.0.4)
-      railties (>= 3.2, < 6.0)
-    foreman (0.84.0)
-      thor (~> 0.19.1)
+    font-awesome-rails (4.7.0.5)
+      railties (>= 3.2, < 6.1)
     formatador (0.2.5)
     fugit (1.2.1)
       et-orbi (~> 1.1, >= 1.1.8)
@@ -358,12 +359,12 @@ GEM
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
     git (1.5.0)
-    gitaly (1.65.0)
+    gitaly (1.70.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-labkit (0.5.2)
-      actionpack (~> 5)
-      activesupport (~> 5)
+    gitlab-labkit (0.7.0)
+      actionpack (>= 5.0.0, < 6.1.0)
+      activesupport (>= 5.0.0, < 6.1.0)
       grpc (~> 1.19)
       jaeger-client (~> 0.10)
       opentracing (~> 0.4)
@@ -400,7 +401,7 @@ GEM
       mime-types (~> 3.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
     googleauth (0.6.6)
@@ -410,7 +411,7 @@ GEM
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
       signet (~> 0.7)
-    gpgme (2.0.18)
+    gpgme (2.0.19)
       mini_portile2 (~> 2.3)
     grape (1.1.0)
       activesupport
@@ -440,11 +441,25 @@ GEM
       graphql (~> 1.6)
       html-pipeline (~> 2.8)
       sass (~> 3.4)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
+    guard (2.15.1)
+      formatador (>= 0.2.4)
+      listen (>= 2.7, < 4.0)
+      lumberjack (>= 1.0.12, < 2.0)
+      nenv (~> 0.1)
+      notiffany (~> 0.0)
+      pry (>= 0.9.12)
+      shellany (~> 0.0)
+      thor (>= 0.18.1)
+    guard-compat (1.2.1)
+    guard-rspec (4.7.3)
+      guard (~> 2.1)
+      guard-compat (~> 1.1)
+      rspec (>= 2.99.0, < 4.0)
     haml (5.0.4)
       temple (>= 0.8.0)
       tilt
@@ -508,7 +523,7 @@ GEM
       atlassian-jwt
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
-    jmespath (1.3.1)
+    jmespath (1.4.0)
     js_regex (3.1.1)
       character_set (~> 1.1)
       regexp_parser (~> 1.1)
@@ -560,15 +575,20 @@ GEM
       xml-simple
     licensee (8.9.2)
       rugged (~> 0.24)
+    listen (3.1.5)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+      ruby_dep (~> 1.2)
     locale (2.1.2)
     lograge (0.10.0)
       actionpack (>= 4)
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.3.0)
+    loofah (2.3.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
+    lumberjack (1.0.13)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail_room (0.9.1)
@@ -584,7 +604,7 @@ GEM
     mime-types-data (3.2019.0331)
     mimemagic (0.3.2)
     mini_magick (4.9.5)
-    mini_mime (1.0.1)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.1)
@@ -597,16 +617,20 @@ GEM
       mustermann (~> 1.0.0)
     nakayoshi_fork (0.0.4)
     nap (1.1.0)
+    nenv (0.3.0)
     net-ldap (0.16.0)
     net-ntp (2.1.3)
     net-ssh (5.2.0)
     netrc (0.11.0)
     nio4r (2.3.1)
     no_proxy_fix (0.1.2)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
+    notiffany (0.1.3)
+      nenv (~> 0.1)
+      shellany (~> 0.0)
     numerizer (0.1.1)
     oauth (0.5.4)
     oauth2 (1.4.1)
@@ -675,12 +699,12 @@ GEM
       activesupport
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
-    omniauth_openid_connect (0.3.1)
+    omniauth_openid_connect (0.3.3)
       addressable (~> 2.5)
-      omniauth (~> 1.3)
+      omniauth (~> 1.9)
       openid_connect (~> 1.1)
     open4 (1.3.4)
-    openid_connect (1.1.6)
+    openid_connect (1.1.8)
       activemodel
       attr_required (>= 1.0.0)
       json-jwt (>= 1.5.0)
@@ -703,12 +727,12 @@ GEM
     pg (1.1.4)
     po_to_json (1.0.1)
       json (>= 1.6.0)
-    premailer (1.10.4)
+    premailer (1.11.1)
       addressable
-      css_parser (>= 1.4.10)
+      css_parser (>= 1.6.0)
       htmlentities (>= 4.0.0)
-    premailer-rails (1.9.7)
-      actionmailer (>= 3, < 6)
+    premailer-rails (1.10.3)
+      actionmailer (>= 3)
       premailer (~> 1.7, >= 1.7.9)
     proc_to_ast (0.1.0)
       coderay
@@ -724,7 +748,7 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.6)
       pry (>= 0.10.4)
-    public_suffix (3.1.0)
+    public_suffix (3.1.1)
     puma (3.12.0)
     puma_worker_killer (0.1.0)
       get_process_mem (~> 0.2)
@@ -734,8 +758,8 @@ GEM
     rack (2.0.7)
     rack-accept (0.4.5)
       rack (>= 0.4)
-    rack-attack (4.4.1)
-      rack
+    rack-attack (6.2.0)
+      rack (>= 1.0, < 3)
     rack-cors (1.0.2)
     rack-oauth2 (1.9.3)
       activesupport
@@ -763,10 +787,10 @@ GEM
       bundler (>= 1.3.0)
       railties (= 5.2.3)
       sprockets-rails (>= 2.0.0)
-    rails-controller-testing (1.0.2)
-      actionpack (~> 5.x, >= 5.0.1)
-      actionview (~> 5.x, >= 5.0.1)
-      activesupport (~> 5.x)
+    rails-controller-testing (1.0.4)
+      actionpack (>= 5.0.1.x)
+      actionview (>= 5.0.1.x)
+      activesupport (>= 5.0.1.x)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
@@ -798,25 +822,25 @@ GEM
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.0)
-    redis (4.1.2)
-    redis-actionpack (5.0.2)
-      actionpack (>= 4.0, < 6)
+    redis (4.1.3)
+    redis-actionpack (5.1.0)
+      actionpack (>= 4.0, < 7)
       redis-rack (>= 1, < 3)
       redis-store (>= 1.1.0, < 2)
-    redis-activesupport (5.0.7)
-      activesupport (>= 3, < 6)
+    redis-activesupport (5.2.0)
+      activesupport (>= 3, < 7)
       redis-store (>= 1.3, < 2)
     redis-namespace (1.6.0)
       redis (>= 3.0.4)
-    redis-rack (2.0.5)
+    redis-rack (2.0.6)
       rack (>= 1.5, < 3)
       redis-store (>= 1.2, < 2)
     redis-rails (5.0.2)
       redis-actionpack (>= 5.0, < 6)
       redis-activesupport (>= 5.0, < 6)
       redis-store (>= 1.2, < 2)
-    redis-store (1.6.0)
-      redis (>= 2.2, < 5)
+    redis-store (1.8.1)
+      redis (>= 4, < 5)
     regexp_parser (1.5.1)
     regexp_property_values (0.3.4)
     representable (3.0.4)
@@ -824,9 +848,9 @@ GEM
       declarative-option (< 0.2.0)
       uber (< 0.2.0)
     request_store (1.3.1)
-    responders (2.4.1)
-      actionpack (>= 4.2.0, < 6.0)
-      railties (>= 4.2.0, < 6.0)
+    responders (3.0.0)
+      actionpack (>= 5.0)
+      railties (>= 5.0)
     rest-client (2.0.2)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
@@ -897,11 +921,12 @@ GEM
     ruby-progressbar (1.10.1)
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
+    ruby_dep (1.5.0)
     ruby_parser (3.13.1)
       sexp_processor (~> 4.9)
     rubyntlm (0.6.2)
     rubypants (0.2.0)
-    rubyzip (1.2.2)
+    rubyzip (1.3.0)
     rugged (0.28.3.1)
     safe_yaml (1.0.4)
     sanitize (4.6.6)
@@ -938,6 +963,7 @@ GEM
       faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.12.0)
+    shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
     sidekiq (5.2.7)
@@ -978,11 +1004,11 @@ GEM
     sshkey (2.0.0)
     stackprof (0.2.10)
     state_machines (0.5.0)
-    state_machines-activemodel (0.5.1)
-      activemodel (>= 4.1, < 6.0)
+    state_machines-activemodel (0.7.1)
+      activemodel (>= 4.1)
       state_machines (>= 0.5.0)
-    state_machines-activerecord (0.5.1)
-      activerecord (>= 4.1, < 6.0)
+    state_machines-activerecord (0.6.0)
+      activerecord (>= 4.1)
       state_machines-activemodel (>= 0.5.0)
     swd (1.1.2)
       activesupport (>= 3)
@@ -1091,9 +1117,9 @@ DEPENDENCIES
   activerecord-explain-analyze (~> 0.1)
   acts-as-taggable-on (~> 6.0)
   addressable (~> 2.5.2)
-  akismet (~> 2.0)
+  akismet (~> 3.0)
   apollo_upload_server (~> 2.0.0.beta3)
-  asana (~> 0.8.1)
+  asana (~> 0.9)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
   asciidoctor-plantuml (= 0.0.9)
@@ -1127,12 +1153,13 @@ DEPENDENCIES
   creole (~> 0.5.0)
   danger (~> 6.0)
   database_cleaner (~> 1.7.0)
-  deckar01-task_list (= 2.2.0)
-  default_value_for (~> 3.2.0)
+  deckar01-task_list (= 2.2.1)
+  default_value_for (~> 3.3.0)
   derailed_benchmarks
   device_detector
   devise (~> 4.6)
   devise-two-factor (~> 3.0.0)
+  diff_match_patch (~> 0.1.0)
   diffy (~> 3.1.0)
   discordrb-webhooks-blackst0ne (~> 3.3)
   doorkeeper (~> 4.3)
@@ -1149,9 +1176,9 @@ DEPENDENCIES
   faraday_middleware-aws-signers-v4
   fast_blank
   ffaker (~> 2.10)
-  flipper (~> 0.13.0)
-  flipper-active_record (~> 0.13.0)
-  flipper-active_support_cache_store (~> 0.13.0)
+  flipper (~> 0.17.1)
+  flipper-active_record (~> 0.17.1)
+  flipper-active_support_cache_store (~> 0.17.1)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.5)
@@ -1161,14 +1188,13 @@ DEPENDENCIES
   fog-openstack (~> 1.0)
   fog-rackspace (~> 0.1.1)
   font-awesome-rails (~> 4.7)
-  foreman (~> 0.84.0)
   fugit (~> 1.2.1)
   fuubar (~> 2.2.0)
   gemojione (~> 3.3)
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 1.65.0)
+  gitaly (~> 1.70.0)
   github-markup (~> 1.7.0)
   gitlab-labkit (~> 0.5)
   gitlab-license (~> 1.0)
@@ -1181,8 +1207,8 @@ DEPENDENCIES
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
   google-api-client (~> 0.23)
-  google-protobuf (~> 3.7.1)
-  gpgme (~> 2.0.18)
+  google-protobuf (~> 3.8.0)
+  gpgme (~> 2.0.19)
   grape (~> 1.1.0)
   grape-entity (~> 0.7.1)
   grape-path-helpers (~> 1.1)
@@ -1190,8 +1216,9 @@ DEPENDENCIES
   graphiql-rails (~> 1.4.10)
   graphql (~> 1.9.11)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.19.0)
+  grpc (~> 1.24.0)
   gssapi
+  guard-rspec
   haml_lint (~> 0.31.0)
   hamlit (~> 2.8.8)
   hangouts-chat (~> 0.0.5)
@@ -1226,7 +1253,7 @@ DEPENDENCIES
   net-ldap
   net-ntp
   net-ssh (~> 5.2)
-  nokogiri (~> 1.10.4)
+  nokogiri (~> 1.10.5)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
   omniauth (~> 1.8)
@@ -1246,17 +1273,17 @@ DEPENDENCIES
   omniauth-twitter (~> 1.4)
   omniauth-ultraauth (~> 0.0.2)
   omniauth_crowd (~> 2.2.0)
-  omniauth_openid_connect (~> 0.3.1)
+  omniauth_openid_connect (~> 0.3.3)
   org-ruby (~> 0.9.12)
   pg (~> 1.1)
-  premailer-rails (~> 1.9.7)
+  premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.9.10)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   puma (~> 3.12)
   puma_worker_killer
   rack (~> 2.0.7)
-  rack-attack (~> 4.4.1)
+  rack-attack (~> 6.2.0)
   rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.9.3)
   rack-proxy (~> 0.6.0)
@@ -1275,7 +1302,8 @@ DEPENDENCIES
   redis-namespace (~> 1.6.0)
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
-  responders (~> 2.0)
+  responders (~> 3.0)
+  retriable (~> 3.1.2)
   rouge (~> 3.11.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
@@ -1291,7 +1319,7 @@ DEPENDENCIES
   ruby-prof (~> 1.0.0)
   ruby-progressbar
   ruby_parser (~> 3.8)
-  rubyzip (~> 1.2.2)
+  rubyzip (~> 1.3.0)
   rugged (~> 0.28)
   sanitize (~> 4.6)
   sassc-rails (~> 2.1.0)
@@ -1312,7 +1340,7 @@ DEPENDENCIES
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
   stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.5.1)
+  state_machines-activerecord (~> 0.6.0)
   sys-filesystem (~> 1.1.6)
   test-prof (~> 0.10.0)
   thin (~> 1.7.0)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 84a984ea2b3..73a64a62d4b 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -146,10 +146,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl";
+      sha256 = "1nvhd986xa6llyjnhikq4h1nrcf5b9r9s11if25qsj8358inrpga";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.5.0";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -188,10 +188,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
+      sha256 = "0c5jhqfgvpz84d8jai51hin018ldpfd0civbk7mfwmrj7n71p6bl";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.0.0";
   };
   apollo_upload_server = {
     dependencies = ["graphql" "rails"];
@@ -220,10 +220,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h0qiywvjjc9iyzq9nz5iaqyh6qsrix4ip0w86j5c4v5g940z6qx";
+      sha256 = "19yr6ibz481jizvx0cjfvql142v8izi474c4vmwy9qzksyq2xhdj";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.9.3";
   };
   asciidoctor = {
     groups = ["default"];
@@ -309,16 +309,26 @@
     };
     version = "1.8.0";
   };
+  aws-eventstream = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "100g77a5ixg4p5zwq77f28n2pdkk0y481f7v83qrlmnj22318qq6";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   aws-sdk = {
     dependencies = ["aws-sdk-resources"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03r754cqa0jayf1nxpcmp1anaypxwpcjyjaq5cz7i04l9jdxvsnn";
+      sha256 = "1yvl9bxzaxgcyzix2yw46cgll9nl0xfg5qx1j6y3xc1i78rk7vy0";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-core = {
     dependencies = ["aws-sigv4" "jmespath"];
@@ -326,10 +336,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pq09wwb74y4m5adk4hi4zlz05q6sxjxij6g71v6nkd0z83hi34x";
+      sha256 = "1d7nw1jihv7rglcmkd3hhidjflbzq5ik63n43q27pmx8ki108rd9";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-resources = {
     dependencies = ["aws-sdk-core"];
@@ -337,20 +347,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15m56k12x9gzkcyhwrab1qhi3wqla0qmv84dkqcjwp44d7c2xjyi";
+      sha256 = "0qx2a67vsw8rz1y0m04f97p1q4zx7miy06a5ck78hm77nvsigjj4";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sigv4 = {
+    dependencies = ["aws-eventstream"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cnrfxbaxn86qrxhfidg10f89ka1hddihakdhcvnri0dljaw7dsz";
+      sha256 = "1dfc8i5cxjwlvi4b665lbpbwvks8a6wfy3vfmwr3pjdmxwdmc2cs";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.1.0";
   };
   axiom-types = {
     dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
@@ -814,10 +825,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   creole = {
     groups = ["default"];
@@ -835,10 +846,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
+      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   daemons = {
     groups = ["default" "development"];
@@ -901,10 +912,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964";
+      sha256 = "09k7rlxsl7pd5kn3wyswgqi0hhbmlj40b66l4mf8v9mqf3c7v0yk";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.1";
   };
   declarative = {
     groups = ["default"];
@@ -932,10 +943,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
+      sha256 = "08hwnnqm3bxd4n627isliq79zysdlmfkf813403v0b4mkhika5my";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.3.0";
   };
   derailed_benchmarks = {
     dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
@@ -1001,6 +1012,16 @@
     };
     version = "1.3";
   };
+  diff_match_patch = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03n4g4w2pwiygmqq5lfhqrpbs9g6kv0jhb3vrffz3vgaryzmfq5k";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   diffy = {
     groups = ["default"];
     platforms = [];
@@ -1374,10 +1395,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw";
+      sha256 = "01gbn1qmcvn49gjcbvd5fga57qc8l3915kb04ikkffvb6n09q7f7";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_record = {
     dependencies = ["activerecord" "flipper"];
@@ -1385,10 +1406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1";
+      sha256 = "154q9xajqs64gxa9fv4hwpad44x3rmwgpldrb941i8wi37dpzskg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_support_cache_store = {
     dependencies = ["activesupport" "flipper"];
@@ -1396,10 +1417,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk";
+      sha256 = "0mkbyn3mx3f411x4z1l1djc9vix3wrfzd5rhrmxb83iqp60r42hg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flowdock = {
     dependencies = ["httparty" "multi_json"];
@@ -1517,21 +1538,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj";
-      type = "gem";
-    };
-    version = "4.7.0.4";
-  };
-  foreman = {
-    dependencies = ["thor"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
+      sha256 = "0a32q69rdsdw9zhmf2cflvvnikg20amidhn40sv2afw2qk91fcrz";
       type = "gem";
     };
-    version = "0.84.0";
+    version = "4.7.0.5";
   };
   formatador = {
     groups = ["default"];
@@ -1645,10 +1655,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h8jzwifqgkrgh9d05g0vsdkyrnk75i53lmm3pfp9rj47gvn1z1j";
+      sha256 = "0b705d2fmdisirf3hydakswdr8jq786wbqn053gvxgssrwcdlrq3";
       type = "gem";
     };
-    version = "1.65.0";
+    version = "1.70.0";
   };
   github-markup = {
     groups = ["default"];
@@ -1666,10 +1676,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
+      sha256 = "0r2zkxkj2l78c6qgr6k9lgcp7w6x7r703259rbsbrg7cfnjm43b7";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.7.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -1794,10 +1804,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -1827,10 +1837,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m";
+      sha256 = "0jbqajngi5ndqfarw9dxkhbphva0j71jav5wfym3fsiisvk5gg6p";
       type = "gem";
     };
-    version = "2.0.18";
+    version = "2.0.19";
   };
   grape = {
     dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
@@ -1914,10 +1924,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -1930,6 +1940,38 @@
     };
     version = "1.2.0";
   };
+  guard = {
+    dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "000hn5cdqz3wl99b245q958c5byi2dlsqi814q5gmyljv7i47zwf";
+      type = "gem";
+    };
+    version = "2.15.1";
+  };
+  guard-compat = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  guard-rspec = {
+    dependencies = ["guard" "guard-compat" "rspec"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4";
+      type = "gem";
+    };
+    version = "4.7.3";
+  };
   haml = {
     dependencies = ["temple" "tilt"];
     groups = ["default" "development" "test"];
@@ -2241,10 +2283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07w8ipjg59qavijq59hl82zs74jf3jsp7vxl9q3a2d0wpv5akz3y";
+      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.0";
   };
   js_regex = {
     dependencies = ["character_set" "regexp_parser" "regexp_property_values"];
@@ -2450,6 +2492,17 @@
     };
     version = "8.9.2";
   };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      type = "gem";
+    };
+    version = "3.1.5";
+  };
   locale = {
     groups = ["default" "development"];
     platforms = [];
@@ -2477,10 +2530,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
+      sha256 = "0npqav026zd7r4qdidq9x5nxcp2dzg71bnp421xxx7sngbxf2xbd";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
+  };
+  lumberjack = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n";
+      type = "gem";
+    };
+    version = "1.0.13";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -2605,10 +2668,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -2721,6 +2784,16 @@
     };
     version = "1.1.0";
   };
+  nenv = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
   net-ldap = {
     groups = ["default"];
     platforms = [];
@@ -2787,10 +2860,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -2803,6 +2876,17 @@
     };
     version = "1.5.0";
   };
+  notiffany = {
+    dependencies = ["nenv" "shellany"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk";
+      type = "gem";
+    };
+    version = "0.1.3";
+  };
   numerizer = {
     groups = ["default"];
     platforms = [];
@@ -3071,10 +3155,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb";
+      sha256 = "0awybp2jnai0w2qfgqnr3f478g3nbg5r0vcm6pa5g8k5f4rs19qr";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.3";
   };
   open4 = {
     groups = ["default" "development"];
@@ -3092,10 +3176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd";
+      sha256 = "0r50vwf9hsf6r8gx5mwqs3w3w92l864ikiz9d0fcibqsr1489pbg";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.8";
   };
   opentracing = {
     groups = ["default"];
@@ -3206,10 +3290,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf";
+      sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.11.1";
   };
   premailer-rails = {
     dependencies = ["actionmailer" "premailer"];
@@ -3217,10 +3301,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim";
+      sha256 = "0bqi7d4f15vy3f1g0xb3bxmncfbzv9dd3ilhqj0plvw64xqbkp3w";
       type = "gem";
     };
-    version = "1.9.7";
+    version = "1.10.3";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -3299,10 +3383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
+      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.1.1";
   };
   puma = {
     groups = ["puma"];
@@ -3372,10 +3456,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
+      sha256 = "1sqjqwa18c0l59zdymcvvvnh5nk3pjggnzaydb2q1qbrk3rypcnq";
       type = "gem";
     };
-    version = "4.4.1";
+    version = "6.2.0";
   };
   rack-cors = {
     groups = ["default"];
@@ -3458,10 +3542,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy";
+      sha256 = "1m1rklj6pvzi4fydxcmcv4q0xd7913hhhw1hw530nfz1wkl7vjlf";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.4";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -3640,10 +3724,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
+      sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh";
       type = "gem";
     };
-    version = "4.1.2";
+    version = "4.1.3";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -3651,10 +3735,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63";
+      sha256 = "1hvai5ygkyii9wq8h98wim8shgrm7vkv0js62zpm85vdl1xzvphz";
       type = "gem";
     };
-    version = "5.0.2";
+    version = "5.1.0";
   };
   redis-activesupport = {
     dependencies = ["activesupport" "redis-store"];
@@ -3662,10 +3746,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y1df62gpqgy0yrlmgl05rp4kb0xvn0kylprhv1k32bs33dgpv62";
+      sha256 = "14a3z8810j02ysvg53f3mvcfb4rw34m91yfd19zy9y5lb3yv2g59";
       type = "gem";
     };
-    version = "5.0.7";
+    version = "5.2.0";
   };
   redis-namespace = {
     dependencies = ["redis"];
@@ -3684,10 +3768,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03xgdmq4fh187aqlh8z05idbxrmgddcarlb8x1kw4wjfcsf5afqi";
+      sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   redis-rails = {
     dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
@@ -3706,10 +3790,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mrcnjgkbmx1zf569mly82agdizqayjvnp2k6055k1iy07in3j8b";
+      sha256 = "1isqzzds9kszc2nn8jiy8ikry01qspn7637ba9z2k6sk7vky46d9";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.1";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
@@ -3758,10 +3842,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lqbiyc7234vd6iwxia5yvvzg6bdvdwl2nm4a5y7ia5fxjl3kqm";
+      sha256 = "1p7pqcfq33q1z4xlp4qm94w4h3fzc1yvr3cny16d00i8b20v4rx2";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "3.0.0";
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
@@ -4052,6 +4136,16 @@
     };
     version = "1.7.2";
   };
+  ruby_dep = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
   ruby_parser = {
     dependencies = ["sexp_processor"];
     groups = ["default"];
@@ -4084,14 +4178,14 @@
     version = "0.2.0";
   };
   rubyzip = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "development" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
+      sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   rugged = {
     groups = ["default"];
@@ -4243,6 +4337,16 @@
     };
     version = "4.12.0";
   };
+  shellany = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
+      type = "gem";
+    };
+    version = "0.0.1";
+  };
   shoulda-matchers = {
     dependencies = ["activesupport"];
     groups = ["test"];
@@ -4439,10 +4543,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l";
+      sha256 = "05c2dw3115zj3pmyyqh2iypc7afj8ibhrghisg0d61z7gzmir1rd";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   state_machines-activerecord = {
     dependencies = ["activerecord" "state_machines-activemodel"];
@@ -4450,10 +4554,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3";
+      sha256 = "12g7yqy11fpfiprzc86pwa9jjky1h3haxj37kg47467fgg43p511";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.0";
   };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py
index 1aeb459f64c..a2231f813e8 100755
--- a/pkgs/applications/version-management/gitlab/update.py
+++ b/pkgs/applications/version-management/gitlab/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix-moretea.yarn2nix
+#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix
 
 import click
 import click_log
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index cff2603129d..04c0b44f4ac 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -42,14 +42,6 @@
       };
     }
     {
-      name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
-      path = fetchurl {
-        name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
-        sha1 = "a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4";
-      };
-    }
-    {
       name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
@@ -210,14 +202,6 @@
       };
     }
     {
-      name = "_babel_parser___parser_7.1.3.tgz";
-      path = fetchurl {
-        name = "_babel_parser___parser_7.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz";
-        sha1 = "2c92469bac2b7fbff810b67fca07bd138b48af77";
-      };
-    }
-    {
       name = "_babel_parser___parser_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_parser___parser_7.6.2.tgz";
@@ -242,22 +226,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz";
-        sha1 = "de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz";
-        sha1 = "ceb594d4a618545b00aa0b5cd61cad4aaaeb7a5a";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
@@ -266,38 +234,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz";
-        sha1 = "2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz";
-        sha1 = "ccd5ed05b06d700688ff1db01a9dd27155e0d2a0";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz";
-        sha1 = "94dc2cdc505cafc4e225c0014335a01648056bf7";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz";
-        sha1 = "39233aa801145e7d8072077cdb2d25f781c1ffd7";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
@@ -306,30 +242,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz";
-        sha1 = "8a5cea6c42a7c87446959e02fff5fad012c56f57";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz";
-        sha1 = "41c360d59481d88e0ce3a3f837df10121a769b39";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz";
-        sha1 = "646854daf4cd22fd6733f6076013a936310443ac";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
@@ -346,22 +258,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz";
-        sha1 = "ae454f4c21c6c2ce8cb2397dc332ae8b420c5441";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz";
-        sha1 = "4100ec55ef4f6a4c2490b5f5a4f2a22dfa272c06";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
@@ -370,14 +266,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz";
-        sha1 = "2d9e452d370f139000e51db65d0a85dc60c64739";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
@@ -394,22 +282,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz";
-        sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz";
-        sha1 = "f3d4b01be05ecde2892086d7cfd5f1fa1ead5a2a";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
@@ -418,46 +290,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz";
-        sha1 = "edd83b7adc2e0d059e2467ca96c650ab6d2f3820";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz";
-        sha1 = "8d257838c6b3b779db52c0224443459bd27fb039";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
-        sha1 = "a765f061f803bc48f240c26f8747faf97c26bf7c";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz";
-        sha1 = "68fe85b0c0da67125f87bf239c68051b06c66309";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz";
-        sha1 = "91474d4d400604e4c6cbd4d77cd6cb3b8565576c";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
@@ -474,38 +306,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
-        sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz";
-        sha1 = "fcab7388530e96c6f277ce494c55caa6c141fcfb";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz";
-        sha1 = "f75083dfd5ade73e783db729bbd87e7b9efb7624";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz";
-        sha1 = "7470fe070c2944469a756752a69a6963135018be";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
@@ -522,30 +322,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz";
-        sha1 = "a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz";
-        sha1 = "8ea7c2c22847c797748bf07752722a317079dc1e";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz";
-        sha1 = "79001ee2afe1b174b1733cdc2fc69c9a46a0f1f8";
-      };
-    }
-    {
       name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
@@ -626,14 +402,6 @@
       };
     }
     {
-      name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz";
-        sha1 = "d267a081f49a8705fc9146de0768c6b58dccd8f7";
-      };
-    }
-    {
       name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
@@ -738,38 +506,6 @@
       };
     }
     {
-      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz";
-        sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz";
-        sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz";
-        sha1 = "583b10c49cf057e237085bcbd8cc960bd83bd96b";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
-        sha1 = "f2cab99026631c767e2745a5368b331cfe8f5290";
-      };
-    }
-    {
       name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
@@ -842,30 +578,6 @@
       };
     }
     {
-      name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz";
-        sha1 = "afd764835d9535ec63d8c7d4caf1c06457263da2";
-      };
-    }
-    {
-      name = "_babel_preset_react___preset_react_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_react___preset_react_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz";
-        sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0";
-      };
-    }
-    {
-      name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz";
-        sha1 = "999aaec79ee8f0a763042c68c06539c97c6e0646";
-      };
-    }
-    {
       name = "_babel_standalone___standalone_7.5.5.tgz";
       path = fetchurl {
         name = "_babel_standalone___standalone_7.5.5.tgz";
@@ -938,27 +650,27 @@
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.78.0.tgz";
+      name = "_gitlab_svgs___svgs_1.82.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.78.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.78.0.tgz";
-        sha1 = "469493bd6cdd254eb5d1271edeab22bbbee2f4c4";
+        name = "_gitlab_svgs___svgs_1.82.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.82.0.tgz";
+        sha1 = "c059c460afc13ebfe9df370521ca8963fa5afb80";
       };
     }
     {
-      name = "_gitlab_ui___ui_5.36.0.tgz";
+      name = "_gitlab_ui___ui_7.11.0.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_5.36.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-5.36.0.tgz";
-        sha1 = "3087b23c138ad1c222f6b047e533f253371bc618";
+        name = "_gitlab_ui___ui_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-7.11.0.tgz";
+        sha1 = "b5c981f3b1edbf0ad75bcca8fa1cd81017676b3b";
       };
     }
     {
-      name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
+      name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
       path = fetchurl {
-        name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.0.3.tgz";
-        sha1 = "b49c4a6fd8af3a1517d7e7d04096562f8bcb5d14";
+        name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.2.0.tgz";
+        sha1 = "8d6757917193c1023012bb4a316dc1a97309a27a";
       };
     }
     {
@@ -1074,6 +786,62 @@
       };
     }
     {
+      name = "_sentry_browser___browser_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_browser___browser_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz";
+        sha1 = "1f8435e2a325d7a09f830065ebce40a2b3c708a4";
+      };
+    }
+    {
+      name = "_sentry_core___core_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_core___core_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz";
+        sha1 = "3eb2b7662cac68245931ee939ec809bf7a639d0e";
+      };
+    }
+    {
+      name = "_sentry_hub___hub_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_hub___hub_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.7.1.tgz";
+        sha1 = "a52acd9fead7f3779d96e9965c6978aecc8b9cad";
+      };
+    }
+    {
+      name = "_sentry_minimal___minimal_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_minimal___minimal_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.7.1.tgz";
+        sha1 = "56afc537737586929e25349765e37a367958c1e1";
+      };
+    }
+    {
+      name = "_sentry_types___types_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_types___types_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz";
+        sha1 = "4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090";
+      };
+    }
+    {
+      name = "_sentry_utils___utils_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_utils___utils_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.7.1.tgz";
+        sha1 = "cf37ad55f78e317665cd8680f202d307fa77f1d0";
+      };
+    }
+    {
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+      path = fetchurl {
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.13.tgz";
+        sha1 = "4fd5fe1e0088c63b2a26be231c5a2a4ca79b1596";
+      };
+    }
+    {
       name = "_types_anymatch___anymatch_1.3.0.tgz";
       path = fetchurl {
         name = "_types_anymatch___anymatch_1.3.0.tgz";
@@ -1434,6 +1202,22 @@
       };
     }
     {
+      name = "_wry_context___context_0.4.4.tgz";
+      path = fetchurl {
+        name = "_wry_context___context_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz";
+        sha1 = "e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8";
+      };
+    }
+    {
+      name = "_wry_equality___equality_0.1.9.tgz";
+      path = fetchurl {
+        name = "_wry_equality___equality_0.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.9.tgz";
+        sha1 = "b13e18b7a8053c6858aa6c85b54911fb31e3a909";
+      };
+    }
+    {
       name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
       path = fetchurl {
         name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
@@ -1458,14 +1242,6 @@
       };
     }
     {
-      name = "JSONStream___JSONStream_1.3.5.tgz";
-      path = fetchurl {
-        name = "JSONStream___JSONStream_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha1 = "3208c1f08d3a4d99261ab64f92302bc15e111ca0";
-      };
-    }
-    {
       name = "abab___abab_2.0.0.tgz";
       path = fetchurl {
         name = "abab___abab_2.0.0.tgz";
@@ -1658,27 +1434,27 @@
       };
     }
     {
-      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
+      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
       path = fetchurl {
-        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.5.1.tgz";
-        sha1 = "265d1ee67b0bf0aca9c37629d410bfae44e62953";
+        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
+        sha1 = "826861d20baca4abc45f7ca7a874105905b8525d";
       };
     }
     {
-      name = "apollo_cache___apollo_cache_1.2.1.tgz";
+      name = "apollo_cache___apollo_cache_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_cache___apollo_cache_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.2.1.tgz";
-        sha1 = "aae71eb4a11f1f7322adc343f84b1a39b0693644";
+        name = "apollo_cache___apollo_cache_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.2.tgz";
+        sha1 = "df4dce56240d6c95c613510d7e409f7214e6d26a";
       };
     }
     {
-      name = "apollo_client___apollo_client_2.5.1.tgz";
+      name = "apollo_client___apollo_client_2.6.4.tgz";
       path = fetchurl {
-        name = "apollo_client___apollo_client_2.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.5.1.tgz";
-        sha1 = "36126ed1d32edd79c3713c6684546a3bea80e6d1";
+        name = "apollo_client___apollo_client_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.4.tgz";
+        sha1 = "872c32927263a0d34655c5ef8a8949fbb20b6140";
       };
     }
     {
@@ -1698,14 +1474,6 @@
       };
     }
     {
-      name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-      path = fetchurl {
-        name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.10.tgz";
-        sha1 = "7b94589fe7f969777efd18a129043c78430800ae";
-      };
-    }
-    {
       name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
       path = fetchurl {
         name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
@@ -1730,19 +1498,11 @@
       };
     }
     {
-      name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
+      name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.2.1.tgz";
-        sha1 = "1c3a1ebf5607d7c8efe7636daaf58e7463b41b3c";
-      };
-    }
-    {
-      name = "append_buffer___append_buffer_1.0.2.tgz";
-      path = fetchurl {
-        name = "append_buffer___append_buffer_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz";
-        sha1 = "d8220cf466081525efea50614f3de6514dfa58f1";
+        name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
+        sha1 = "8cbdcf8b012f664cd6cb5767f6130f5aed9115c9";
       };
     }
     {
@@ -2122,14 +1882,6 @@
       };
     }
     {
-      name = "babelify___babelify_10.0.0.tgz";
-      path = fetchurl {
-        name = "babelify___babelify_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz";
-        sha1 = "fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5";
-      };
-    }
-    {
       name = "babylon___babylon_7.0.0_beta.19.tgz";
       path = fetchurl {
         name = "babylon___babylon_7.0.0_beta.19.tgz";
@@ -2298,14 +2050,6 @@
       };
     }
     {
-      name = "body___body_5.1.0.tgz";
-      path = fetchurl {
-        name = "body___body_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz";
-        sha1 = "e4ba0ce410a46936323367609ecb4e6553125069";
-      };
-    }
-    {
       name = "bonjour___bonjour_3.5.0.tgz";
       path = fetchurl {
         name = "bonjour___bonjour_3.5.0.tgz";
@@ -2458,14 +2202,6 @@
       };
     }
     {
-      name = "buffer_equal___buffer_equal_1.0.0.tgz";
-      path = fetchurl {
-        name = "buffer_equal___buffer_equal_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
-        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
-      };
-    }
-    {
       name = "buffer_from___buffer_from_1.1.1.tgz";
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
@@ -2490,14 +2226,6 @@
       };
     }
     {
-      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_xor___buffer_xor_1.0.3.tgz";
       path = fetchurl {
         name = "buffer_xor___buffer_xor_1.0.3.tgz";
@@ -2522,14 +2250,6 @@
       };
     }
     {
-      name = "bytes___bytes_1.0.0.tgz";
-      path = fetchurl {
-        name = "bytes___bytes_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      };
-    }
-    {
       name = "bytes___bytes_3.0.0.tgz";
       path = fetchurl {
         name = "bytes___bytes_3.0.0.tgz";
@@ -2578,14 +2298,6 @@
       };
     }
     {
-      name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
-      path = fetchurl {
-        name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz";
-        sha1 = "a13df4196d26776220cc3356eb147a52dba2c6db";
-      };
-    }
-    {
       name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
       path = fetchurl {
         name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
@@ -2994,14 +2706,6 @@
       };
     }
     {
-      name = "clone_buffer___clone_buffer_1.0.0.tgz";
-      path = fetchurl {
-        name = "clone_buffer___clone_buffer_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz";
-        sha1 = "e3e25b207ac4e701af721e2cb5a16792cac3dc58";
-      };
-    }
-    {
       name = "clone_deep___clone_deep_4.0.1.tgz";
       path = fetchurl {
         name = "clone_deep___clone_deep_4.0.1.tgz";
@@ -3018,30 +2722,6 @@
       };
     }
     {
-      name = "clone_stats___clone_stats_1.0.0.tgz";
-      path = fetchurl {
-        name = "clone_stats___clone_stats_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz";
-        sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
-      };
-    }
-    {
-      name = "clone___clone_2.1.2.tgz";
-      path = fetchurl {
-        name = "clone___clone_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz";
-        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
-      };
-    }
-    {
-      name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
-      path = fetchurl {
-        name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz";
-        sha1 = "120a00cb053bfb63a222e709f9683ea2e11d8cec";
-      };
-    }
-    {
       name = "co___co_4.6.0.tgz";
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
@@ -3138,14 +2818,6 @@
       };
     }
     {
-      name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
-      path = fetchurl {
-        name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz";
-        sha1 = "419cd7fb3258b1ed838dc0953167a25e152f5b59";
-      };
-    }
-    {
       name = "commander___commander_2.20.0.tgz";
       path = fetchurl {
         name = "commander___commander_2.20.0.tgz";
@@ -3242,14 +2914,6 @@
       };
     }
     {
-      name = "concat_stream___concat_stream_1.5.2.tgz";
-      path = fetchurl {
-        name = "concat_stream___concat_stream_1.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz";
-        sha1 = "708978624d856af41a5a741defdd261da752c266";
-      };
-    }
-    {
       name = "config_chain___config_chain_1.1.12.tgz";
       path = fetchurl {
         name = "config_chain___config_chain_1.1.12.tgz";
@@ -3346,14 +3010,6 @@
       };
     }
     {
-      name = "continuable_cache___continuable_cache_0.3.1.tgz";
-      path = fetchurl {
-        name = "continuable_cache___continuable_cache_0.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz";
-        sha1 = "bd727a7faed77e71ff3985ac93351a912733ad0f";
-      };
-    }
-    {
       name = "convert_source_map___convert_source_map_1.6.0.tgz";
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.6.0.tgz";
@@ -3554,6 +3210,14 @@
       };
     }
     {
+      name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+      path = fetchurl {
+        name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz";
+        sha1 = "29d7dc759d577a768afb3b7b2765dd9bd7ffe36a";
+      };
+    }
+    {
       name = "css_b64_images___css_b64_images_0.2.5.tgz";
       path = fetchurl {
         name = "css_b64_images___css_b64_images_0.2.5.tgz";
@@ -3618,6 +3282,14 @@
       };
     }
     {
+      name = "cssfontparser___cssfontparser_1.2.1.tgz";
+      path = fetchurl {
+        name = "cssfontparser___cssfontparser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz";
+        sha1 = "f4022fc8f9700c68029d542084afbaf425a3f3e3";
+      };
+    }
+    {
       name = "cssom___cssom_0.3.4.tgz";
       path = fetchurl {
         name = "cssom___cssom_0.3.4.tgz";
@@ -3946,27 +3618,27 @@
       };
     }
     {
-      name = "d3___d3_5.9.2.tgz";
+      name = "d3___d3_5.12.0.tgz";
       path = fetchurl {
-        name = "d3___d3_5.9.2.tgz";
-        url  = "https://registry.yarnpkg.com/d3/-/d3-5.9.2.tgz";
-        sha1 = "64e8a7e9c3d96d9e6e4999d2c8a2c829767e67f5";
+        name = "d3___d3_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz";
+        sha1 = "0ddeac879c28c882317cd439b495290acd59ab61";
       };
     }
     {
-      name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
+      name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
       path = fetchurl {
-        name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz";
-        sha1 = "aa071bb71d3c4d67426925906f3f6ddead49c1a3";
+        name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        url  = "https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        sha1 = "7400df3f5fe80538fde43d0201e1570e1d689004";
       };
     }
     {
-      name = "dagre_layout___dagre_layout_0.8.8.tgz";
+      name = "dagre___dagre_0.8.4.tgz";
       path = fetchurl {
-        name = "dagre_layout___dagre_layout_0.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-layout/-/dagre-layout-0.8.8.tgz";
-        sha1 = "9b6792f24229f402441c14162c1049e3f261f6d9";
+        name = "dagre___dagre_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/dagre/-/dagre-0.8.4.tgz";
+        sha1 = "26b9fb8f7bdc60c6110a0458c375261836786061";
       };
     }
     {
@@ -4066,11 +3738,11 @@
       };
     }
     {
-      name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
+      name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
       path = fetchurl {
-        name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.0.tgz";
-        sha1 = "5cc3ea06f01d3d786b1a667064a462eb5d069bd3";
+        name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.1.tgz";
+        sha1 = "e1e8a16c4fd6e153e51fd9258fdbee067ebcd86b";
       };
     }
     {
@@ -4162,14 +3834,6 @@
       };
     }
     {
-      name = "defined___defined_1.0.0.tgz";
-      path = fetchurl {
-        name = "defined___defined_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz";
-        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
-      };
-    }
-    {
       name = "del___del_2.2.2.tgz";
       path = fetchurl {
         name = "del___del_2.2.2.tgz";
@@ -4242,14 +3906,6 @@
       };
     }
     {
-      name = "detab___detab_2.0.2.tgz";
-      path = fetchurl {
-        name = "detab___detab_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz";
-        sha1 = "074970d1a807b045d0258a4235df5928dd683561";
-      };
-    }
-    {
       name = "detect_file___detect_file_1.0.0.tgz";
       path = fetchurl {
         name = "detect_file___detect_file_1.0.0.tgz";
@@ -4282,14 +3938,6 @@
       };
     }
     {
-      name = "detective___detective_4.7.1.tgz";
-      path = fetchurl {
-        name = "detective___detective_4.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz";
-        sha1 = "0eca7314338442febb6d65da54c10bb1c82b246e";
-      };
-    }
-    {
       name = "di___di_0.0.1.tgz";
       path = fetchurl {
         name = "di___di_0.0.1.tgz";
@@ -4314,14 +3962,6 @@
       };
     }
     {
-      name = "diff___diff_4.0.1.tgz";
-      path = fetchurl {
-        name = "diff___diff_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz";
-        sha1 = "0c667cb467ebbb5cea7f14f135cc2dba7780a8ff";
-      };
-    }
-    {
       name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
       path = fetchurl {
         name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
@@ -4370,14 +4010,6 @@
       };
     }
     {
-      name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
-      path = fetchurl {
-        name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz";
-        sha1 = "36f2154f556ee4f1e60311d391cd23de5187ed57";
-      };
-    }
-    {
       name = "doctrine___doctrine_1.5.0.tgz";
       path = fetchurl {
         name = "doctrine___doctrine_1.5.0.tgz";
@@ -4402,14 +4034,6 @@
       };
     }
     {
-      name = "documentation___documentation_12.0.3.tgz";
-      path = fetchurl {
-        name = "documentation___documentation_12.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/documentation/-/documentation-12.0.3.tgz";
-        sha1 = "32f91da8e5cb4104f69db9fd32c87773a1ad6240";
-      };
-    }
-    {
       name = "dom_serialize___dom_serialize_2.2.1.tgz";
       path = fetchurl {
         name = "dom_serialize___dom_serialize_2.2.1.tgz";
@@ -4490,14 +4114,6 @@
       };
     }
     {
-      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 = "duplexer3___duplexer3_0.1.4.tgz";
       path = fetchurl {
         name = "duplexer3___duplexer3_0.1.4.tgz";
@@ -4586,14 +4202,6 @@
       };
     }
     {
-      name = "emoji_regex___emoji_regex_6.1.1.tgz";
-      path = fetchurl {
-        name = "emoji_regex___emoji_regex_6.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz";
-        sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
-      };
-    }
-    {
       name = "emoji_regex___emoji_regex_7.0.3.tgz";
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
@@ -4714,14 +4322,6 @@
       };
     }
     {
-      name = "error___error_7.0.2.tgz";
-      path = fetchurl {
-        name = "error___error_7.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz";
-        sha1 = "a5f75fff4d9926126ddac0ea5dc38e689153cb02";
-      };
-    }
-    {
       name = "es_abstract___es_abstract_1.13.0.tgz";
       path = fetchurl {
         name = "es_abstract___es_abstract_1.13.0.tgz";
@@ -5546,14 +5146,6 @@
       };
     }
     {
-      name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
-      path = fetchurl {
-        name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz";
-        sha1 = "0b7815fc3201c6a69e14db98ce098c16935259eb";
-      };
-    }
-    {
       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";
@@ -5650,14 +5242,6 @@
       };
     }
     {
-      name = "get_port___get_port_4.2.0.tgz";
-      path = fetchurl {
-        name = "get_port___get_port_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz";
-        sha1 = "e37368b1e863b7629c43c5a323625f95cf24b119";
-      };
-    }
-    {
       name = "get_stdin___get_stdin_4.0.1.tgz";
       path = fetchurl {
         name = "get_stdin___get_stdin_4.0.1.tgz";
@@ -5738,38 +5322,6 @@
       };
     }
     {
-      name = "git_up___git_up_2.1.0.tgz";
-      path = fetchurl {
-        name = "git_up___git_up_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/git-up/-/git-up-2.1.0.tgz";
-        sha1 = "2f14cfe78327e7c4a2b92fcac7bfc674fdfad40c";
-      };
-    }
-    {
-      name = "git_url_parse___git_url_parse_10.1.0.tgz";
-      path = fetchurl {
-        name = "git_url_parse___git_url_parse_10.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-10.1.0.tgz";
-        sha1 = "a27813218f8777e91d15f1c121b83bf14721b67e";
-      };
-    }
-    {
-      name = "github_slugger___github_slugger_1.2.0.tgz";
-      path = fetchurl {
-        name = "github_slugger___github_slugger_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz";
-        sha1 = "8ada3286fd046d8951c3c952a8d7854cfd90fd9a";
-      };
-    }
-    {
-      name = "github_slugger___github_slugger_1.2.1.tgz";
-      path = fetchurl {
-        name = "github_slugger___github_slugger_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz";
-        sha1 = "47e904e70bf2dccd0014748142d31126cfd49508";
-      };
-    }
-    {
       name = "glob_parent___glob_parent_3.1.0.tgz";
       path = fetchurl {
         name = "glob_parent___glob_parent_3.1.0.tgz";
@@ -5786,14 +5338,6 @@
       };
     }
     {
-      name = "glob_stream___glob_stream_6.1.0.tgz";
-      path = fetchurl {
-        name = "glob_stream___glob_stream_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz";
-        sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
-      };
-    }
-    {
       name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
       path = fetchurl {
         name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
@@ -5858,14 +5402,6 @@
       };
     }
     {
-      name = "globals_docs___globals_docs_2.4.0.tgz";
-      path = fetchurl {
-        name = "globals_docs___globals_docs_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.0.tgz";
-        sha1 = "f2c647544eb6161c7c38452808e16e693c2dafbb";
-      };
-    }
-    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -5962,11 +5498,11 @@
       };
     }
     {
-      name = "graphlibrary___graphlibrary_2.2.0.tgz";
+      name = "graphlib___graphlib_2.1.7.tgz";
       path = fetchurl {
-        name = "graphlibrary___graphlibrary_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/graphlibrary/-/graphlibrary-2.2.0.tgz";
-        sha1 = "017a14899775228dec4497a39babfdd6bf56eac6";
+        name = "graphlib___graphlib_2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz";
+        sha1 = "b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc";
       };
     }
     {
@@ -6154,38 +5690,6 @@
       };
     }
     {
-      name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
-      path = fetchurl {
-        name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz";
-        sha1 = "423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4";
-      };
-    }
-    {
-      name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
-      path = fetchurl {
-        name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz";
-        sha1 = "4e60d66336bd67e52354d581967467029a933f2e";
-      };
-    }
-    {
-      name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
-      path = fetchurl {
-        name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz";
-        sha1 = "3666b05afb62bd69f8f5e6c94db04dea19438e2a";
-      };
-    }
-    {
-      name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
-      path = fetchurl {
-        name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz";
-        sha1 = "6d161b307bd0693b5ec000c7c7e8b5445109ee34";
-      };
-    }
-    {
       name = "he___he_1.2.0.tgz";
       path = fetchurl {
         name = "he___he_1.2.0.tgz";
@@ -6194,14 +5698,6 @@
       };
     }
     {
-      name = "highlight.js___highlight.js_9.15.8.tgz";
-      path = fetchurl {
-        name = "highlight.js___highlight.js_9.15.8.tgz";
-        url  = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz";
-        sha1 = "f344fda123f36f1a65490e932cf90569e4999971";
-      };
-    }
-    {
       name = "highlight.js___highlight.js_9.13.1.tgz";
       path = fetchurl {
         name = "highlight.js___highlight.js_9.13.1.tgz";
@@ -6282,14 +5778,6 @@
       };
     }
     {
-      name = "html_void_elements___html_void_elements_1.0.4.tgz";
-      path = fetchurl {
-        name = "html_void_elements___html_void_elements_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.4.tgz";
-        sha1 = "95e8bb5ecd6b88766569c2645f2b5f1591db9ba5";
-      };
-    }
-    {
       name = "htmlparser2___htmlparser2_3.10.0.tgz";
       path = fetchurl {
         name = "htmlparser2___htmlparser2_3.10.0.tgz";
@@ -6442,14 +5930,6 @@
       };
     }
     {
-      name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-      path = fetchurl {
-        name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-        url  = "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.9.tgz";
-        sha1 = "473ebdd6c169c461913a454bf87ef8f601a20ff0";
-      };
-    }
-    {
       name = "import_fresh___import_fresh_2.0.0.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_2.0.0.tgz";
@@ -6658,14 +6138,6 @@
       };
     }
     {
-      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";
@@ -6922,14 +6394,6 @@
       };
     }
     {
-      name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz";
-        sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
-      };
-    }
-    {
       name = "is_npm___is_npm_1.0.0.tgz";
       path = fetchurl {
         name = "is_npm___is_npm_1.0.0.tgz";
@@ -7066,14 +6530,6 @@
       };
     }
     {
-      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_resolvable___is_resolvable_1.1.0.tgz";
       path = fetchurl {
         name = "is_resolvable___is_resolvable_1.1.0.tgz";
@@ -7090,14 +6546,6 @@
       };
     }
     {
-      name = "is_ssh___is_ssh_1.3.1.tgz";
-      path = fetchurl {
-        name = "is_ssh___is_ssh_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz";
-        sha1 = "f349a8cadd24e65298037a522cf7520f2e81a0f3";
-      };
-    }
-    {
       name = "is_stream___is_stream_1.1.0.tgz";
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
@@ -7122,14 +6570,6 @@
       };
     }
     {
-      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_utf8___is_utf8_0.2.1.tgz";
       path = fetchurl {
         name = "is_utf8___is_utf8_0.2.1.tgz";
@@ -7138,14 +6578,6 @@
       };
     }
     {
-      name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz";
-        sha1 = "29bf3eff701be2d4d315dbacc39bc39fe8f601aa";
-      };
-    }
-    {
       name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
       path = fetchurl {
         name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
@@ -7338,6 +6770,14 @@
       };
     }
     {
+      name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.1.2.tgz";
+        sha1 = "0d16c9f91534f773fd132fc289f2e6b6db8faa28";
+      };
+    }
+    {
       name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
       path = fetchurl {
         name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
@@ -7802,14 +7242,6 @@
       };
     }
     {
-      name = "jsonparse___jsonparse_1.3.1.tgz";
-      path = fetchurl {
-        name = "jsonparse___jsonparse_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
-      };
-    }
-    {
       name = "jsprim___jsprim_1.4.1.tgz";
       path = fetchurl {
         name = "jsprim___jsprim_1.4.1.tgz";
@@ -7978,14 +7410,6 @@
       };
     }
     {
-      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 = "lcid___lcid_1.0.0.tgz";
       path = fetchurl {
         name = "lcid___lcid_1.0.0.tgz";
@@ -8002,14 +7426,6 @@
       };
     }
     {
-      name = "lead___lead_1.0.0.tgz";
-      path = fetchurl {
-        name = "lead___lead_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz";
-        sha1 = "6f14f99a37be3a9dd784f5495690e5903466ee42";
-      };
-    }
-    {
       name = "left_pad___left_pad_1.3.0.tgz";
       path = fetchurl {
         name = "left_pad___left_pad_1.3.0.tgz";
@@ -8066,14 +7482,6 @@
       };
     }
     {
-      name = "livereload_js___livereload_js_2.4.0.tgz";
-      path = fetchurl {
-        name = "livereload_js___livereload_js_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz";
-        sha1 = "447c31cf1ea9ab52fc20db615c5ddf678f78009c";
-      };
-    }
-    {
       name = "load_json_file___load_json_file_1.1.0.tgz";
       path = fetchurl {
         name = "load_json_file___load_json_file_1.1.0.tgz";
@@ -8186,6 +7594,22 @@
       };
     }
     {
+      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.kebabcase___lodash.kebabcase_4.1.1.tgz";
       path = fetchurl {
         name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
@@ -8514,46 +7938,6 @@
       };
     }
     {
-      name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
-      path = fetchurl {
-        name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz";
-        sha1 = "2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7";
-      };
-    }
-    {
-      name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
-      path = fetchurl {
-        name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz";
-        sha1 = "db06b8b585be959a2dcd2f87f472ba9b756f3675";
-      };
-    }
-    {
-      name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
-      path = fetchurl {
-        name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz";
-        sha1 = "132001b266031192348d3366a6b011f28e54dc40";
-      };
-    }
-    {
-      name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
-      path = fetchurl {
-        name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz";
-        sha1 = "7d85421021343b33de1552fc71cb8e5b4ae7536d";
-      };
-    }
-    {
-      name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
-      path = fetchurl {
-        name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz";
-        sha1 = "395eeb877f067f9d2165d990d77c7eea6f740934";
-      };
-    }
-    {
       name = "mdurl___mdurl_1.0.1.tgz";
       path = fetchurl {
         name = "mdurl___mdurl_1.0.1.tgz";
@@ -8642,11 +8026,11 @@
       };
     }
     {
-      name = "mermaid___mermaid_8.2.6.tgz";
+      name = "mermaid___mermaid_8.4.2.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_8.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.2.6.tgz";
-        sha1 = "e73f396461a435c39a998819171c2114f59e46e1";
+        name = "mermaid___mermaid_8.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.2.tgz";
+        sha1 = "91d3d8e9541e72eed7a78d0e882db11564fab3bb";
       };
     }
     {
@@ -8834,14 +8218,6 @@
       };
     }
     {
-      name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
-      path = fetchurl {
-        name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz";
-        sha1 = "99db5bb08f7eab55e4c31f6b7c722c6a2144ba74";
-      };
-    }
-    {
       name = "moment_mini___moment_mini_2.22.1.tgz";
       path = fetchurl {
         name = "moment_mini___moment_mini_2.22.1.tgz";
@@ -9154,22 +8530,6 @@
       };
     }
     {
-      name = "normalize_url___normalize_url_1.9.1.tgz";
-      path = fetchurl {
-        name = "normalize_url___normalize_url_1.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz";
-        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
-      };
-    }
-    {
-      name = "now_and_later___now_and_later_2.0.1.tgz";
-      path = fetchurl {
-        name = "now_and_later___now_and_later_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz";
-        sha1 = "8e579c8685764a7cc02cb680380e94f43ccb1f7c";
-      };
-    }
-    {
       name = "npm_bundled___npm_bundled_1.0.6.tgz";
       path = fetchurl {
         name = "npm_bundled___npm_bundled_1.0.6.tgz";
@@ -9362,11 +8722,11 @@
       };
     }
     {
-      name = "optimism___optimism_0.6.9.tgz";
+      name = "optimism___optimism_0.10.3.tgz";
       path = fetchurl {
-        name = "optimism___optimism_0.6.9.tgz";
-        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.6.9.tgz";
-        sha1 = "19258ff8b3be0cea29ac35f06bff818e026e30bb";
+        name = "optimism___optimism_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz";
+        sha1 = "163268fdc741dea2fb50f300bedda80356445fd7";
       };
     }
     {
@@ -9386,14 +8746,6 @@
       };
     }
     {
-      name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
-      path = fetchurl {
-        name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz";
-        sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
-      };
-    }
-    {
       name = "orderedmap___orderedmap_1.0.0.tgz";
       path = fetchurl {
         name = "orderedmap___orderedmap_1.0.0.tgz";
@@ -9610,27 +8962,19 @@
       };
     }
     {
-      name = "parse_entities___parse_entities_1.2.0.tgz";
+      name = "parse_color___parse_color_1.0.0.tgz";
       path = fetchurl {
-        name = "parse_entities___parse_entities_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
-        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
+        name = "parse_color___parse_color_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz";
+        sha1 = "7b748b95a83f03f16a94f535e52d7f3d94658619";
       };
     }
     {
-      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_git_config___parse_git_config_0.2.0.tgz";
+      name = "parse_entities___parse_entities_1.2.0.tgz";
       path = fetchurl {
-        name = "parse_git_config___parse_git_config_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz";
-        sha1 = "272833fdd15fea146fb75d336d236b963b6ff706";
+        name = "parse_entities___parse_entities_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
+        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
       };
     }
     {
@@ -9658,22 +9002,6 @@
       };
     }
     {
-      name = "parse_path___parse_path_3.0.4.tgz";
-      path = fetchurl {
-        name = "parse_path___parse_path_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/parse-path/-/parse-path-3.0.4.tgz";
-        sha1 = "a48b7b529da41f34d9d1428602a39b29fc7180e4";
-      };
-    }
-    {
-      name = "parse_url___parse_url_3.0.2.tgz";
-      path = fetchurl {
-        name = "parse_url___parse_url_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/parse-url/-/parse-url-3.0.2.tgz";
-        sha1 = "602787a7063a795d72b8673197505e72f60610be";
-      };
-    }
-    {
       name = "parse5___parse5_4.0.0.tgz";
       path = fetchurl {
         name = "parse5___parse5_4.0.0.tgz";
@@ -9794,22 +9122,6 @@
       };
     }
     {
-      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";
@@ -10194,11 +9506,11 @@
       };
     }
     {
-      name = "postcss___postcss_7.0.18.tgz";
+      name = "postcss___postcss_7.0.21.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.18.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
-        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+        name = "postcss___postcss_7.0.21.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz";
+        sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17";
       };
     }
     {
@@ -10258,14 +9570,6 @@
       };
     }
     {
-      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 = "process_nextick_args___process_nextick_args_1.0.7.tgz";
       path = fetchurl {
         name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
@@ -10274,6 +9578,14 @@
       };
     }
     {
+      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 = "process___process_0.11.10.tgz";
       path = fetchurl {
         name = "process___process_0.11.10.tgz";
@@ -10306,14 +9618,6 @@
       };
     }
     {
-      name = "property_information___property_information_4.2.0.tgz";
-      path = fetchurl {
-        name = "property_information___property_information_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz";
-        sha1 = "f0e66e07cbd6fed31d96844d958d153ad3eb486e";
-      };
-    }
-    {
       name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
       path = fetchurl {
         name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
@@ -10434,14 +9738,6 @@
       };
     }
     {
-      name = "protocols___protocols_1.4.7.tgz";
-      path = fetchurl {
-        name = "protocols___protocols_1.4.7.tgz";
-        url  = "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz";
-        sha1 = "95f788a4f0e979b291ffefcf5636ad113d037d32";
-      };
-    }
-    {
       name = "proxy_addr___proxy_addr_2.0.5.tgz";
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.5.tgz";
@@ -10562,14 +9858,6 @@
       };
     }
     {
-      name = "query_string___query_string_4.3.4.tgz";
-      path = fetchurl {
-        name = "query_string___query_string_4.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz";
-        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
-      };
-    }
-    {
       name = "querystring_es3___querystring_es3_0.2.1.tgz";
       path = fetchurl {
         name = "querystring_es3___querystring_es3_0.2.1.tgz";
@@ -10634,14 +9922,6 @@
       };
     }
     {
-      name = "raven_js___raven_js_3.22.1.tgz";
-      path = fetchurl {
-        name = "raven_js___raven_js_3.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/raven-js/-/raven-js-3.22.1.tgz";
-        sha1 = "1117f00dfefaa427ef6e1a7d50bbb1fb998a24da";
-      };
-    }
-    {
       name = "raw_body___raw_body_2.4.0.tgz";
       path = fetchurl {
         name = "raw_body___raw_body_2.4.0.tgz";
@@ -10650,14 +9930,6 @@
       };
     }
     {
-      name = "raw_body___raw_body_1.1.7.tgz";
-      path = fetchurl {
-        name = "raw_body___raw_body_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz";
-        sha1 = "1d027c2bfa116acc6623bca8f00016572a87d425";
-      };
-    }
-    {
       name = "raw_loader___raw_loader_3.1.0.tgz";
       path = fetchurl {
         name = "raw_loader___raw_loader_3.1.0.tgz";
@@ -10762,14 +10034,6 @@
       };
     }
     {
-      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 = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
       path = fetchurl {
         name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
@@ -10930,22 +10194,6 @@
       };
     }
     {
-      name = "remark_html___remark_html_8.0.0.tgz";
-      path = fetchurl {
-        name = "remark_html___remark_html_8.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz";
-        sha1 = "9fcb859a6f3cb40f3ef15402950f1a62ec301b3a";
-      };
-    }
-    {
-      name = "remark_parse___remark_parse_5.0.0.tgz";
-      path = fetchurl {
-        name = "remark_parse___remark_parse_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz";
-        sha1 = "4c077f9e499044d1d5c13f80d7a98cf7b9285d95";
-      };
-    }
-    {
       name = "remark_parse___remark_parse_6.0.3.tgz";
       path = fetchurl {
         name = "remark_parse___remark_parse_6.0.3.tgz";
@@ -10954,30 +10202,6 @@
       };
     }
     {
-      name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
-      path = fetchurl {
-        name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz";
-        sha1 = "190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab";
-      };
-    }
-    {
-      name = "remark_slug___remark_slug_5.1.2.tgz";
-      path = fetchurl {
-        name = "remark_slug___remark_slug_5.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz";
-        sha1 = "715ecdef8df1226786204b1887d31ab16aa24609";
-      };
-    }
-    {
-      name = "remark_stringify___remark_stringify_5.0.0.tgz";
-      path = fetchurl {
-        name = "remark_stringify___remark_stringify_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz";
-        sha1 = "336d3a4d4a6a3390d933eeba62e8de4bd280afba";
-      };
-    }
-    {
       name = "remark_stringify___remark_stringify_6.0.4.tgz";
       path = fetchurl {
         name = "remark_stringify___remark_stringify_6.0.4.tgz";
@@ -10986,14 +10210,6 @@
       };
     }
     {
-      name = "remark_toc___remark_toc_5.1.1.tgz";
-      path = fetchurl {
-        name = "remark_toc___remark_toc_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz";
-        sha1 = "8c229d6f834cdb43fde6685e2d43248d3fc82d78";
-      };
-    }
-    {
       name = "remark___remark_10.0.1.tgz";
       path = fetchurl {
         name = "remark___remark_10.0.1.tgz";
@@ -11002,38 +10218,6 @@
       };
     }
     {
-      name = "remark___remark_9.0.0.tgz";
-      path = fetchurl {
-        name = "remark___remark_9.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz";
-        sha1 = "c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60";
-      };
-    }
-    {
-      name = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-      path = fetchurl {
-        name = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz";
-        sha1 = "4d3e2902f34e2d37d1c263d87710b77eb4086a30";
-      };
-    }
-    {
-      name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
-      path = fetchurl {
-        name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz";
-        sha1 = "c2bf1e377520d324f623892e33c10cac2c252b53";
-      };
-    }
-    {
-      name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
-      path = fetchurl {
-        name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz";
-        sha1 = "05f1a593f16e42e1fb90ebf59de8e569525f9523";
-      };
-    }
-    {
       name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
       path = fetchurl {
         name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
@@ -11202,14 +10386,6 @@
       };
     }
     {
-      name = "resolve_options___resolve_options_1.1.0.tgz";
-      path = fetchurl {
-        name = "resolve_options___resolve_options_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz";
-        sha1 = "32bb9e39c06d67338dc9378c0d6d6074566ad131";
-      };
-    }
-    {
       name = "resolve_url___resolve_url_0.2.1.tgz";
       path = fetchurl {
         name = "resolve_url___resolve_url_0.2.1.tgz";
@@ -11338,14 +10514,6 @@
       };
     }
     {
-      name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
-      path = fetchurl {
-        name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz";
-        sha1 = "3e76723e38dfdda13c9b1d29a1e07ffee4b30b57";
-      };
-    }
-    {
       name = "safe_regex___safe_regex_1.1.0.tgz";
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
@@ -11370,11 +10538,11 @@
       };
     }
     {
-      name = "sanitize_html___sanitize_html_1.16.3.tgz";
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
       path = fetchurl {
-        name = "sanitize_html___sanitize_html_1.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.16.3.tgz";
-        sha1 = "96c1b44a36ff7312e1c22a14b05274370ac8bd56";
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
       };
     }
     {
@@ -11778,14 +10946,6 @@
       };
     }
     {
-      name = "sort_keys___sort_keys_1.1.2.tgz";
-      path = fetchurl {
-        name = "sort_keys___sort_keys_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz";
-        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
-      };
-    }
-    {
       name = "sortablejs___sortablejs_1.10.0.tgz";
       path = fetchurl {
         name = "sortablejs___sortablejs_1.10.0.tgz";
@@ -11866,14 +11026,6 @@
       };
     }
     {
-      name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
-      path = fetchurl {
-        name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz";
-        sha1 = "27910835ae00d0adfcdbd0ad7e611fb9544351fa";
-      };
-    }
-    {
       name = "spdx_correct___spdx_correct_1.0.2.tgz";
       path = fetchurl {
         name = "spdx_correct___spdx_correct_1.0.2.tgz";
@@ -12034,14 +11186,6 @@
       };
     }
     {
-      name = "stream_array___stream_array_1.1.2.tgz";
-      path = fetchurl {
-        name = "stream_array___stream_array_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz";
-        sha1 = "9e5f7345f2137c30ee3b498b9114e80b52bb7eb5";
-      };
-    }
-    {
       name = "stream_browserify___stream_browserify_2.0.1.tgz";
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.1.tgz";
@@ -12050,14 +11194,6 @@
       };
     }
     {
-      name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-      path = fetchurl {
-        name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
-      };
-    }
-    {
       name = "stream_each___stream_each_1.2.2.tgz";
       path = fetchurl {
         name = "stream_each___stream_each_1.2.2.tgz";
@@ -12090,14 +11226,6 @@
       };
     }
     {
-      name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
-      path = fetchurl {
-        name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
-        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
-      };
-    }
-    {
       name = "string_length___string_length_2.0.0.tgz";
       path = fetchurl {
         name = "string_length___string_length_2.0.0.tgz";
@@ -12106,14 +11234,6 @@
       };
     }
     {
-      name = "string_template___string_template_0.2.1.tgz";
-      path = fetchurl {
-        name = "string_template___string_template_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz";
-        sha1 = "42932e598a352d01fc22ec3367d9d84eec6c9add";
-      };
-    }
-    {
       name = "string_width___string_width_1.0.2.tgz";
       path = fetchurl {
         name = "string_width___string_width_1.0.2.tgz";
@@ -12146,14 +11266,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";
@@ -12162,6 +11274,14 @@
       };
     }
     {
+      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 = "stringify_entities___stringify_entities_1.3.2.tgz";
       path = fetchurl {
         name = "stringify_entities___stringify_entities_1.3.2.tgz";
@@ -12290,14 +11410,6 @@
       };
     }
     {
-      name = "subarg___subarg_1.0.0.tgz";
-      path = fetchurl {
-        name = "subarg___subarg_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz";
-        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
-      };
-    }
-    {
       name = "sugarss___sugarss_2.0.0.tgz";
       path = fetchurl {
         name = "sugarss___sugarss_2.0.0.tgz";
@@ -12498,14 +11610,6 @@
       };
     }
     {
-      name = "through2_filter___through2_filter_3.0.0.tgz";
-      path = fetchurl {
-        name = "through2_filter___through2_filter_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz";
-        sha1 = "700e786df2367c2c88cd8aa5be4cf9c1e7831254";
-      };
-    }
-    {
       name = "through2___through2_2.0.5.tgz";
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
@@ -12570,14 +11674,6 @@
       };
     }
     {
-      name = "tiny_lr___tiny_lr_1.1.1.tgz";
-      path = fetchurl {
-        name = "tiny_lr___tiny_lr_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz";
-        sha1 = "9fa547412f238fedb068ee295af8b682c98b2aab";
-      };
-    }
-    {
       name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
       path = fetchurl {
         name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
@@ -12626,14 +11722,6 @@
       };
     }
     {
-      name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
-      path = fetchurl {
-        name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz";
-        sha1 = "1865f43d9e74b0822db9f145b78cff7d0f7c849b";
-      };
-    }
-    {
       name = "to_array___to_array_0.1.4.tgz";
       path = fetchurl {
         name = "to_array___to_array_0.1.4.tgz";
@@ -12690,14 +11778,6 @@
       };
     }
     {
-      name = "to_through___to_through_2.0.0.tgz";
-      path = fetchurl {
-        name = "to_through___to_through_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz";
-        sha1 = "fc92adaba072647bc0b67d6b03664aa195093af6";
-      };
-    }
-    {
       name = "toggle_selection___toggle_selection_1.0.6.tgz";
       path = fetchurl {
         name = "toggle_selection___toggle_selection_1.0.6.tgz";
@@ -12738,14 +11818,6 @@
       };
     }
     {
-      name = "trim_lines___trim_lines_1.1.2.tgz";
-      path = fetchurl {
-        name = "trim_lines___trim_lines_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz";
-        sha1 = "c8adbdbdae21bb5c2766240a661f693afe23e59b";
-      };
-    }
-    {
       name = "trim_newlines___trim_newlines_1.0.0.tgz";
       path = fetchurl {
         name = "trim_newlines___trim_newlines_1.0.0.tgz";
@@ -12818,14 +11890,6 @@
       };
     }
     {
-      name = "ts_invariant___ts_invariant_0.2.1.tgz";
-      path = fetchurl {
-        name = "ts_invariant___ts_invariant_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz";
-        sha1 = "3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f";
-      };
-    }
-    {
       name = "ts_invariant___ts_invariant_0.3.2.tgz";
       path = fetchurl {
         name = "ts_invariant___ts_invariant_0.3.2.tgz";
@@ -12834,6 +11898,14 @@
       };
     }
     {
+      name = "ts_invariant___ts_invariant_0.4.4.tgz";
+      path = fetchurl {
+        name = "ts_invariant___ts_invariant_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz";
+        sha1 = "97a523518688f93aafad01b0e80eb803eb2abd86";
+      };
+    }
+    {
       name = "ts_jest___ts_jest_24.0.0.tgz";
       path = fetchurl {
         name = "ts_jest___ts_jest_24.0.0.tgz";
@@ -12882,6 +11954,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.5.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz";
+        sha1 = "d6ef42a0356c6cd45f49485c3b6281fc148e48a2";
+      };
+    }
+    {
       name = "type_is___type_is_1.6.18.tgz";
       path = fetchurl {
         name = "type_is___type_is_1.6.18.tgz";
@@ -12930,14 +12010,6 @@
       };
     }
     {
-      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 = "undefsafe___undefsafe_2.0.2.tgz";
       path = fetchurl {
         name = "undefsafe___undefsafe_2.0.2.tgz";
@@ -13018,14 +12090,6 @@
       };
     }
     {
-      name = "unified___unified_6.2.0.tgz";
-      path = fetchurl {
-        name = "unified___unified_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz";
-        sha1 = "7fbd630f719126d67d40c644b7e3f617035f6dba";
-      };
-    }
-    {
       name = "unified___unified_7.1.0.tgz";
       path = fetchurl {
         name = "unified___unified_7.1.0.tgz";
@@ -13066,14 +12130,6 @@
       };
     }
     {
-      name = "unique_stream___unique_stream_2.3.1.tgz";
-      path = fetchurl {
-        name = "unique_stream___unique_stream_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz";
-        sha1 = "c65d110e9a4adf9a6c5948b28053d9a8d04cbeac";
-      };
-    }
-    {
       name = "unique_string___unique_string_1.0.0.tgz";
       path = fetchurl {
         name = "unique_string___unique_string_1.0.0.tgz";
@@ -13082,14 +12138,6 @@
       };
     }
     {
-      name = "unist_builder___unist_builder_1.0.4.tgz";
-      path = fetchurl {
-        name = "unist_builder___unist_builder_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz";
-        sha1 = "e1808aed30bd72adc3607f25afecebef4dd59e17";
-      };
-    }
-    {
       name = "unist_util_find_all_after___unist_util_find_all_after_1.0.2.tgz";
       path = fetchurl {
         name = "unist_util_find_all_after___unist_util_find_all_after_1.0.2.tgz";
@@ -13098,14 +12146,6 @@
       };
     }
     {
-      name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
-      path = fetchurl {
-        name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz";
-        sha1 = "2261c033d9fc23fae41872cdb7663746e972c1a7";
-      };
-    }
-    {
       name = "unist_util_is___unist_util_is_2.1.2.tgz";
       path = fetchurl {
         name = "unist_util_is___unist_util_is_2.1.2.tgz";
@@ -13114,14 +12154,6 @@
       };
     }
     {
-      name = "unist_util_position___unist_util_position_3.0.3.tgz";
-      path = fetchurl {
-        name = "unist_util_position___unist_util_position_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz";
-        sha1 = "fff942b879538b242096c148153826664b1ca373";
-      };
-    }
-    {
       name = "unist_util_remove_position___unist_util_remove_position_1.1.2.tgz";
       path = fetchurl {
         name = "unist_util_remove_position___unist_util_remove_position_1.1.2.tgz";
@@ -13138,14 +12170,6 @@
       };
     }
     {
-      name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
-      path = fetchurl {
-        name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz";
-        sha1 = "de2a2bc8d3febfa606652673a91455b6a36fb9f3";
-      };
-    }
-    {
       name = "unist_util_visit_parents___unist_util_visit_parents_2.0.1.tgz";
       path = fetchurl {
         name = "unist_util_visit_parents___unist_util_visit_parents_2.0.1.tgz";
@@ -13362,14 +12386,6 @@
       };
     }
     {
-      name = "value_or_function___value_or_function_3.0.0.tgz";
-      path = fetchurl {
-        name = "value_or_function___value_or_function_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz";
-        sha1 = "1c243a50b595c1be54a754bfece8563b9ff8d813";
-      };
-    }
-    {
       name = "vary___vary_1.1.2.tgz";
       path = fetchurl {
         name = "vary___vary_1.1.2.tgz";
@@ -13402,46 +12418,6 @@
       };
     }
     {
-      name = "vfile_message___vfile_message_2.0.1.tgz";
-      path = fetchurl {
-        name = "vfile_message___vfile_message_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz";
-        sha1 = "951881861c22fc1eb39f873c0b93e336a64e8f6d";
-      };
-    }
-    {
-      name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
-      path = fetchurl {
-        name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.0.tgz";
-        sha1 = "753119f51dec9289b7508b457afc0cddf5e07f2e";
-      };
-    }
-    {
-      name = "vfile_sort___vfile_sort_2.2.1.tgz";
-      path = fetchurl {
-        name = "vfile_sort___vfile_sort_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.1.tgz";
-        sha1 = "74e714f9175618cdae96bcaedf1a3dc711d87567";
-      };
-    }
-    {
-      name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
-      path = fetchurl {
-        name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz";
-        sha1 = "e9c87071997fbcb4243764d2c3805e0bb0820c60";
-      };
-    }
-    {
-      name = "vfile___vfile_2.3.0.tgz";
-      path = fetchurl {
-        name = "vfile___vfile_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz";
-        sha1 = "e62d8e72b20e83c324bc6c67278ee272488bf84a";
-      };
-    }
-    {
       name = "vfile___vfile_3.0.1.tgz";
       path = fetchurl {
         name = "vfile___vfile_3.0.1.tgz";
@@ -13450,38 +12426,6 @@
       };
     }
     {
-      name = "vfile___vfile_4.0.1.tgz";
-      path = fetchurl {
-        name = "vfile___vfile_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz";
-        sha1 = "fc3d43a1c71916034216bf65926d5ee3c64ed60c";
-      };
-    }
-    {
-      name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
-      path = fetchurl {
-        name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz";
-        sha1 = "c85849405f67428feabbbd5c5dbdd64f47d31bc7";
-      };
-    }
-    {
-      name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
-      path = fetchurl {
-        name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz";
-        sha1 = "92a800593a38703a8cdb11d8b300ad4be63b3e16";
-      };
-    }
-    {
-      name = "vinyl___vinyl_2.2.0.tgz";
-      path = fetchurl {
-        name = "vinyl___vinyl_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz";
-        sha1 = "d85b07da96e458d25b2ffe19fece9f2caa13ed86";
-      };
-    }
-    {
       name = "visibilityjs___visibilityjs_1.2.4.tgz";
       path = fetchurl {
         name = "visibilityjs___visibilityjs_1.2.4.tgz";
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
index 7c157191ab9..9f298e0129e 100644
--- a/pkgs/applications/version-management/gitolite/default.nix
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, git, nettools, perl }:
+{ stdenv, fetchFromGitHub, git, lib, makeWrapper, nettools, perl }:
 
 stdenv.mkDerivation rec {
   pname = "gitolite";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1rkj7gknwjlc5ij9w39zf5mr647bm45la57yjczydmvrb8c56yrh";
   };
 
-  buildInputs = [ git nettools perl ];
+  buildInputs = [ nettools perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  propagatedBuildInputs = [ git ];
 
   dontBuild = true;
 
@@ -25,6 +27,11 @@ stdenv.mkDerivation rec {
       --replace hostname "${nettools}/bin/hostname"
   '';
 
+  postFixup = ''
+    wrapProgram $out/bin/gitolite-shell \
+      --prefix PATH : "${git}/bin"
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     perl ./install -to $out/bin
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 0a24cfbb3a0..2ce855d3a7f 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre
-, SDL2_image, freetype, glew, libGLU_combined, boost, glm
+, SDL2_image, freetype, glew, libGLU, libGL, boost, glm
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.49";
+  version = "0.51";
   pname = "gource";
 
   src = fetchurl {
     url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "12hf5ipcsp9dxsqn84n4kr63xaiskrnf5a084wr29qk171lj7pd9";
+    sha256 = "16p7b1x4r0915w883lp374jcdqqja37fnb7m8vnsfnl2n64gi8qr";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined
+    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL
     boost glm freetype
   ];
 
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index ee0ab375666..792e647324a 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchurl, python2Packages, makeWrapper, unzip
+{ stdenv, fetchurl, python3Packages, makeWrapper, unzip
 , guiSupport ? false, tk ? null
 , ApplicationServices
-, mercurialSrc ? fetchurl rec {
-    meta.name = "mercurial-${meta.version}";
-    meta.version = "4.9.1";
-    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
-  }
 }:
 
 let
-  inherit (python2Packages) docutils hg-git dulwich python;
+  inherit (python3Packages) docutils dulwich python;
 
-in python2Packages.buildPythonApplication {
+in python3Packages.buildPythonApplication rec {
+  pname = "mercurial";
+  version = "5.2.1";
 
-  inherit (mercurialSrc.meta) name version;
-  src = mercurialSrc;
+  src = fetchurl {
+    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+    sha256 = "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q";
+  };
 
   format = "other";
 
@@ -24,41 +22,39 @@ in python2Packages.buildPythonApplication {
   buildInputs = [ makeWrapper docutils unzip ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  propagatedBuildInputs = [ hg-git dulwich ];
+  propagatedBuildInputs = [ dulwich ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  postInstall = (stdenv.lib.optionalString guiSupport
-    ''
-      mkdir -p $out/etc/mercurial
-      cp contrib/hgk $out/bin
-      cat >> $out/etc/mercurial/hgrc << EOF
-      [extensions]
-      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
-      EOF
-      # setting HG so that hgk can be run itself as well (not only hg view)
-      WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
-                --set HG $out/bin/hg
-                --prefix PATH : ${tk}/bin "
-    '') +
-    ''
-      for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-          $WRAP_TK
-      done
+  postInstall = (stdenv.lib.optionalString guiSupport ''
+    mkdir -p $out/etc/mercurial
+    cp contrib/hgk $out/bin
+    cat >> $out/etc/mercurial/hgrc << EOF
+    [extensions]
+    hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+    EOF
+    # setting HG so that hgk can be run itself as well (not only hg view)
+    WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
+              --set HG $out/bin/hg
+              --prefix PATH : ${tk}/bin "
+  '') + ''
+    for i in $(cd $out/bin && ls); do
+      wrapProgram $out/bin/$i \
+        $WRAP_TK
+    done
 
-      # copy hgweb.cgi to allow use in apache
-      mkdir -p $out/share/cgi-bin
-      cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
-      chmod u+x $out/share/cgi-bin/hgweb.cgi
+    # copy hgweb.cgi to allow use in apache
+    mkdir -p $out/share/cgi-bin
+    cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
+    chmod u+x $out/share/cgi-bin/hgweb.cgi
 
-      # install bash/zsh completions
-      install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
-      install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
-    '';
+    # install bash/zsh completions
+    install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
+    install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
+  '';
 
   meta = {
-    inherit (mercurialSrc.meta) version;
+    inherit version;
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = https://www.mercurial-scm.org;
     downloadPage = https://www.mercurial-scm.org/release/;
diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix
index 7081e1a0899..bf8e5652d99 100644
--- a/pkgs/applications/version-management/monotone/default.nix
+++ b/pkgs/applications/version-management/monotone/default.nix
@@ -5,7 +5,7 @@
 
 let
   version = "1.1";
-  perlVersion = (builtins.parseDrvName perl.name).version;
+  perlVersion = stdenv.lib.getVersion perl;
 in
 
 assert perlVersion != "";
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 6d0e39d47bf..3c553918925 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -1,6 +1,17 @@
 { stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }:
 
-rustPlatform.buildRustPackage rec {
+let
+  # nettle-sys=1.0.1 requires the des-compat.h header, but it was removed in
+  # nettle 3.5.  See https://nest.pijul.com/pijul_org/pijul/discussions/416
+  # Remove with the next release
+  nettle_34 = nettle.overrideAttrs (_oldAttrs: rec {
+    version = "3.4.1";
+    src = fetchurl {
+      url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
+      sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr";
+    };
+  });
+in rustPlatform.buildRustPackage rec {
   pname = "pijul";
   version = "0.12.0";
 
@@ -20,7 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   LIBCLANG_PATH = libclang + "/lib";
 
-  buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
+  buildInputs = [ openssl libsodium nettle_34 libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [ CoreServices Security ]);
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/redmine/4.x/Gemfile b/pkgs/applications/version-management/redmine/4.x/Gemfile
deleted file mode 100644
index 343c7b3a547..00000000000
--- a/pkgs/applications/version-management/redmine/4.x/Gemfile
+++ /dev/null
@@ -1,72 +0,0 @@
-source 'https://rubygems.org'
-
-gem "bundler", ">= 1.5.0"
-
-gem "rails", "5.2.3"
-gem "rouge", "~> 3.3.0"
-gem "request_store", "1.0.5"
-gem "mini_mime", "~> 1.0.1"
-gem "actionpack-xml_parser"
-gem "roadie-rails", "~> 1.3.0"
-gem "mimemagic"
-gem "mail", "~> 2.7.1"
-gem "csv", "~> 3.0.1" if RUBY_VERSION >= "2.3" && RUBY_VERSION < "2.6"
-
-gem "nokogiri", (RUBY_VERSION >= "2.3" ? "~> 1.10.0" : "~> 1.9.1")
-gem "i18n", "~> 0.7.0"
-gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3"
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
-gem "rbpdf", "~> 1.19.6"
-
-# Optional gem for LDAP authentication
-group :ldap do
-  gem "net-ldap", "~> 0.16.0"
-end
-
-# Optional gem for OpenID authentication
-group :openid do
-  gem "ruby-openid", "~> 2.3.0", :require => "openid"
-  gem "rack-openid"
-end
-
-platforms :mri, :mingw, :x64_mingw do
-  # Optional gem for exporting the gantt to a PNG file, not supported with jruby
-  group :rmagick do
-    gem "rmagick", "~> 2.16.0"
-  end
-
-  # Optional Markdown support, not for JRuby
-  group :markdown do
-    gem "redcarpet", "~> 3.4.0"
-  end
-end
-
-# Include database gems for the database adapters NixOS supports
-gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
-gem "pg", "~> 1.1.4", :platforms => [:mri, :mingw, :x64_mingw]
-
-group :development do
-  gem "yard"
-end
-
-group :test do
-  gem "rails-dom-testing"
-  gem "mocha"
-  gem "simplecov", "~> 0.14.1", :require => false
-  # For running system tests
-  gem 'puma', '~> 3.7'
-  gem "capybara", '~> 2.13'
-  gem "selenium-webdriver"
-end
-
-local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
-if File.exists?(local_gemfile)
-  eval_gemfile local_gemfile
-end
-
-# Load plugins' Gemfiles
-Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
-  eval_gemfile file
-end
diff --git a/pkgs/applications/version-management/redmine/4.x/Gemfile.lock b/pkgs/applications/version-management/redmine/4.x/Gemfile.lock
deleted file mode 100644
index 671d2bb4ac1..00000000000
--- a/pkgs/applications/version-management/redmine/4.x/Gemfile.lock
+++ /dev/null
@@ -1,203 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actioncable (5.2.3)
-      actionpack (= 5.2.3)
-      nio4r (~> 2.0)
-      websocket-driver (>= 0.6.1)
-    actionmailer (5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 2.0)
-    actionpack (5.2.3)
-      actionview (= 5.2.3)
-      activesupport (= 5.2.3)
-      rack (~> 2.0)
-      rack-test (>= 0.6.3)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionpack-xml_parser (2.0.1)
-      actionpack (>= 5.0)
-      railties (>= 5.0)
-    actionview (5.2.3)
-      activesupport (= 5.2.3)
-      builder (~> 3.1)
-      erubi (~> 1.4)
-      rails-dom-testing (~> 2.0)
-      rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.2.3)
-      activesupport (= 5.2.3)
-      globalid (>= 0.3.6)
-    activemodel (5.2.3)
-      activesupport (= 5.2.3)
-    activerecord (5.2.3)
-      activemodel (= 5.2.3)
-      activesupport (= 5.2.3)
-      arel (>= 9.0)
-    activestorage (5.2.3)
-      actionpack (= 5.2.3)
-      activerecord (= 5.2.3)
-      marcel (~> 0.3.1)
-    activesupport (5.2.3)
-      concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    arel (9.0.0)
-    builder (3.2.3)
-    capybara (2.18.0)
-      addressable
-      mini_mime (>= 0.1.3)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (>= 2.0, < 4.0)
-    childprocess (1.0.1)
-      rake (< 13.0)
-    concurrent-ruby (1.1.5)
-    crass (1.0.4)
-    css_parser (1.7.0)
-      addressable
-    csv (3.0.9)
-    docile (1.1.5)
-    erubi (1.8.0)
-    globalid (0.4.2)
-      activesupport (>= 4.2.0)
-    htmlentities (4.3.4)
-    i18n (0.7.0)
-    json (2.2.0)
-    loofah (2.2.3)
-      crass (~> 1.0.2)
-      nokogiri (>= 1.5.9)
-    mail (2.7.1)
-      mini_mime (>= 0.1.1)
-    marcel (0.3.3)
-      mimemagic (~> 0.3.2)
-    metaclass (0.0.4)
-    method_source (0.9.2)
-    mimemagic (0.3.3)
-    mini_mime (1.0.1)
-    mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    mocha (1.8.0)
-      metaclass (~> 0.0.1)
-    mysql2 (0.5.2)
-    net-ldap (0.16.1)
-    nio4r (2.3.1)
-    nokogiri (1.10.3)
-      mini_portile2 (~> 2.4.0)
-    pg (1.1.4)
-    public_suffix (3.1.0)
-    puma (3.12.1)
-    rack (2.0.7)
-    rack-openid (1.4.2)
-      rack (>= 1.1.0)
-      ruby-openid (>= 2.1.8)
-    rack-test (1.1.0)
-      rack (>= 1.0, < 3)
-    rails (5.2.3)
-      actioncable (= 5.2.3)
-      actionmailer (= 5.2.3)
-      actionpack (= 5.2.3)
-      actionview (= 5.2.3)
-      activejob (= 5.2.3)
-      activemodel (= 5.2.3)
-      activerecord (= 5.2.3)
-      activestorage (= 5.2.3)
-      activesupport (= 5.2.3)
-      bundler (>= 1.3.0)
-      railties (= 5.2.3)
-      sprockets-rails (>= 2.0.0)
-    rails-dom-testing (2.0.3)
-      activesupport (>= 4.2.0)
-      nokogiri (>= 1.6)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
-    railties (5.2.3)
-      actionpack (= 5.2.3)
-      activesupport (= 5.2.3)
-      method_source
-      rake (>= 0.8.7)
-      thor (>= 0.19.0, < 2.0)
-    rake (12.3.2)
-    rbpdf (1.19.8)
-      htmlentities
-      rbpdf-font (~> 1.19.0)
-    rbpdf-font (1.19.1)
-    redcarpet (3.4.0)
-    request_store (1.0.5)
-    rmagick (2.16.0)
-    roadie (3.5.0)
-      css_parser (~> 1.4)
-      nokogiri (~> 1.8)
-    roadie-rails (1.3.0)
-      railties (>= 3.0, < 5.3)
-      roadie (~> 3.1)
-    rouge (3.3.0)
-    ruby-openid (2.3.0)
-    rubyzip (1.2.3)
-    selenium-webdriver (3.142.3)
-      childprocess (>= 0.5, < 2.0)
-      rubyzip (~> 1.2, >= 1.2.2)
-    simplecov (0.14.1)
-      docile (~> 1.1.0)
-      json (>= 1.8, < 3)
-      simplecov-html (~> 0.10.0)
-    simplecov-html (0.10.2)
-    sprockets (3.7.2)
-      concurrent-ruby (~> 1.0)
-      rack (> 1, < 3)
-    sprockets-rails (3.2.1)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
-      sprockets (>= 3.0.0)
-    thor (0.20.3)
-    thread_safe (0.3.6)
-    tzinfo (1.2.5)
-      thread_safe (~> 0.1)
-    websocket-driver (0.7.1)
-      websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.4)
-    xpath (3.2.0)
-      nokogiri (~> 1.8)
-    yard (0.9.19)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  actionpack-xml_parser
-  bundler (>= 1.5.0)
-  capybara (~> 2.13)
-  csv (~> 3.0.1)
-  i18n (~> 0.7.0)
-  mail (~> 2.7.1)
-  mimemagic
-  mini_mime (~> 1.0.1)
-  mocha
-  mysql2 (~> 0.5.0)
-  net-ldap (~> 0.16.0)
-  nokogiri (~> 1.10.0)
-  pg (~> 1.1.4)
-  puma (~> 3.7)
-  rack-openid
-  rails (= 5.2.3)
-  rails-dom-testing
-  rbpdf (~> 1.19.6)
-  redcarpet (~> 3.4.0)
-  request_store (= 1.0.5)
-  rmagick (~> 2.16.0)
-  roadie-rails (~> 1.3.0)
-  rouge (~> 3.3.0)
-  ruby-openid (~> 2.3.0)
-  selenium-webdriver
-  simplecov (~> 0.14.1)
-  tzinfo-data
-  yard
-
-BUNDLED WITH
-   1.16.3
diff --git a/pkgs/applications/version-management/redmine/4.x/default.nix b/pkgs/applications/version-management/redmine/4.x/default.nix
deleted file mode 100644
index a3ba418a146..00000000000
--- a/pkgs/applications/version-management/redmine/4.x/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, bundlerEnv, ruby }:
-
-let
-  version = "4.0.4";
-  rubyEnv = bundlerEnv {
-    name = "redmine-env-${version}";
-
-    inherit ruby;
-    gemdir = ./.;
-    groups = [ "ldap" "openid" ];
-  };
-in
-  stdenv.mkDerivation rec {
-    pname = "redmine";
-    inherit version;
-
-    src = fetchurl {
-      url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "0i5bmgdi3mahbis9hn0hk53rnz4ihp9yij4b4i07ny9vf3n4kp1a";
-    };
-
-    buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
-
-    buildPhase = ''
-      mv config config.dist
-      mv public/themes public/themes.dist
-    '';
-
-    installPhase = ''
-      mkdir -p $out/share
-      cp -r . $out/share/redmine
-      for i in config files log plugins public/plugin_assets public/themes tmp; do
-        rm -rf $out/share/redmine/$i
-        ln -fs /run/redmine/$i $out/share/redmine/$i
-      done
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = http://www.redmine.org/;
-      platforms = platforms.linux;
-      maintainers = [ maintainers.aanderse ];
-      license = licenses.gpl2;
-    };
-  }
diff --git a/pkgs/applications/version-management/redmine/4.x/gemset.nix b/pkgs/applications/version-management/redmine/4.x/gemset.nix
deleted file mode 100644
index 34e459111f8..00000000000
--- a/pkgs/applications/version-management/redmine/4.x/gemset.nix
+++ /dev/null
@@ -1,614 +0,0 @@
-{
-  actioncable = {
-    dependencies = ["actionpack" "nio4r" "websocket-driver"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04wd9rf8sglrqc8jz49apqcxbi51gdj7l1apf5qr4i86iddk6pkm";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15laym06zcm2021qdhlyr6y9jn1marw436i89hcxqg14a8zvyvwa";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  actionpack-xml_parser = {
-    dependencies = ["actionpack" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
-      type = "gem";
-    };
-    version = "2.0.1";
-  };
-  actionview = {
-    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activejob = {
-    dependencies = ["activesupport" "globalid"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17vizibxbsli5yppgrvmw13wj7a9xy19s5nqxf1k23bbk2s5b87s";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activemodel = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mghh9di8011ara9h1r5a216yzk1vjm9r3p0gdvdi8j1zmkl6k6h";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activerecord = {
-    dependencies = ["activemodel" "activesupport" "arel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d6036f592803iyvp6bw98p3sg638mia5dbw19lvachx6jgzfvpw";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activestorage = {
-    dependencies = ["actionpack" "activerecord" "marcel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04is6ipjqw1f337i8pm8w5bd99rpygqfd0fzzxkr7jd308ggmsjk";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  addressable = {
-    dependencies = ["public_suffix"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  arel = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
-      type = "gem";
-    };
-    version = "9.0.0";
-  };
-  builder = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
-      type = "gem";
-    };
-    version = "3.2.3";
-  };
-  capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yv77rnsjlvs8qpfn9n5vf1h6b9agxwhxw09gssbiw9zn9j20jh8";
-      type = "gem";
-    };
-    version = "2.18.0";
-  };
-  childprocess = {
-    dependencies = ["rake"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1d2gasf988jh2k3fjb7i54c68rq6ni6jf9w0gnsfhrq94a6mprkz";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  concurrent-ruby = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  crass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  css_parser = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
-      type = "gem";
-    };
-    version = "1.7.0";
-  };
-  csv = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "097rl10ivzlya5640530ayls2f1vid2mfgjy9ngd789qmp0j6x4b";
-      type = "gem";
-    };
-    version = "3.0.9";
-  };
-  docile = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  erubi = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  globalid = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
-  htmlentities = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
-      type = "gem";
-    };
-    version = "4.3.4";
-  };
-  i18n = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-      type = "gem";
-    };
-    version = "0.7.0";
-  };
-  json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  loofah = {
-    dependencies = ["crass" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
-  mail = {
-    dependencies = ["mini_mime"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
-      type = "gem";
-    };
-    version = "2.7.1";
-  };
-  marcel = {
-    dependencies = ["mimemagic"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  metaclass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
-  method_source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
-      type = "gem";
-    };
-    version = "0.9.2";
-  };
-  mimemagic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  mini_mime = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  mini_portile2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  minitest = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
-      type = "gem";
-    };
-    version = "5.11.3";
-  };
-  mocha = {
-    dependencies = ["metaclass"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12aglpiq1h18j5a4rlwvnsvnsi2f3407v5xm59lgcg3ymlyak4al";
-      type = "gem";
-    };
-    version = "1.8.0";
-  };
-  mysql2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4";
-      type = "gem";
-    };
-    version = "0.5.2";
-  };
-  net-ldap = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh";
-      type = "gem";
-    };
-    version = "0.16.1";
-  };
-  nio4r = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
-      type = "gem";
-    };
-    version = "2.3.1";
-  };
-  nokogiri = {
-    dependencies = ["mini_portile2"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
-      type = "gem";
-    };
-    version = "1.10.3";
-  };
-  pg = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  public_suffix = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
-  puma = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pkrbvak6rlf147qpd4zss031qrwwh53g8s6017037iwg0436kv3";
-      type = "gem";
-    };
-    version = "3.12.1";
-  };
-  rack = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i";
-      type = "gem";
-    };
-    version = "2.0.7";
-  };
-  rack-openid = {
-    dependencies = ["rack" "ruby-openid"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sg85yn981j3a0iri3ch4znzdwscvz29l7vrk3dafqw4fdg31llc";
-      type = "gem";
-    };
-    version = "1.4.2";
-  };
-  rack-test = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  rails = {
-    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p7cszi3n9ksxchxnccmz61pd1i3rjg4813dsdinsm8xm5k1pdgr";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
-      type = "gem";
-    };
-    version = "2.0.3";
-  };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
-      type = "gem";
-    };
-    version = "1.0.4";
-  };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gn9fwb5wm08fbj7zpilqgblfl315l5b7pg4jsvxlizvrzg8h8q4";
-      type = "gem";
-    };
-    version = "5.2.3";
-  };
-  rake = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
-      type = "gem";
-    };
-    version = "12.3.2";
-  };
-  rbpdf = {
-    dependencies = ["htmlentities" "rbpdf-font"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195";
-      type = "gem";
-    };
-    version = "1.19.8";
-  };
-  rbpdf-font = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pxlr0l4vf785qpy55m439dyii63a26l0sd0yyhbwwcy9zm9hd1v";
-      type = "gem";
-    };
-    version = "1.19.1";
-  };
-  redcarpet = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
-      type = "gem";
-    };
-    version = "3.4.0";
-  };
-  request_store = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
-      type = "gem";
-    };
-    version = "1.0.5";
-  };
-  rmagick = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0m9x15cdlkcb9826s3s2jd97hxf50hln22p94x8hcccxi1lwklq6";
-      type = "gem";
-    };
-    version = "2.16.0";
-  };
-  roadie = {
-    dependencies = ["css_parser" "nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b2qgr725hnscz3ldb607gwgjkr47ncs1jjnk6zh0h70p5dxrk2d";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  roadie-rails = {
-    dependencies = ["railties" "roadie"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02km0ama85mkw7kkn6qif86b781pglfdmqrwx5s6hwjlzk16qih3";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
-  rouge = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
-      type = "gem";
-    };
-    version = "3.3.0";
-  };
-  ruby-openid = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0yzaf2c1i88757554wk38rxqmj0xzgmwk2zx7gi98w2zx42d17pn";
-      type = "gem";
-    };
-    version = "2.3.0";
-  };
-  rubyzip = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
-      type = "gem";
-    };
-    version = "1.2.3";
-  };
-  selenium-webdriver = {
-    dependencies = ["childprocess" "rubyzip"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0i0jr4qrcvg5isc11ivjw7f9gywbimnz613k82bfcrnlzdf90mxy";
-      type = "gem";
-    };
-    version = "3.142.3";
-  };
-  simplecov = {
-    dependencies = ["docile" "json" "simplecov-html"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww";
-      type = "gem";
-    };
-    version = "0.14.1";
-  };
-  simplecov-html = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
-      type = "gem";
-    };
-    version = "0.10.2";
-  };
-  sprockets = {
-    dependencies = ["concurrent-ruby" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
-      type = "gem";
-    };
-    version = "3.7.2";
-  };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
-      type = "gem";
-    };
-    version = "3.2.1";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
-      type = "gem";
-    };
-    version = "0.20.3";
-  };
-  thread_safe = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
-  };
-  tzinfo = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
-      type = "gem";
-    };
-    version = "1.2.5";
-  };
-  websocket-driver = {
-    dependencies = ["websocket-extensions"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
-      type = "gem";
-    };
-    version = "0.7.1";
-  };
-  websocket-extensions = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  xpath = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-  yard = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v";
-      type = "gem";
-    };
-    version = "0.9.19";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile
index 5a0283e20ed..b1c651695c7 100644
--- a/pkgs/applications/version-management/redmine/Gemfile
+++ b/pkgs/applications/version-management/redmine/Gemfile
@@ -1,77 +1,65 @@
 source 'https://rubygems.org'
 
-gem "bundler", ">= 1.5.0", "< 2.0.0"
+gem "bundler", ">= 1.5.0"
 
-gem "rails", "4.2.11.1"
-gem "addressable", "2.4.0" if RUBY_VERSION < "2.0"
-if RUBY_VERSION < "2.1"
-  gem "public_suffix", (RUBY_VERSION < "2.0" ? "~> 1.4" : "~> 2.0.5")
-end
-gem "jquery-rails", "~> 3.1.4"
-gem "coderay", "~> 1.1.1"
-gem "request_store", "1.0.5"
-gem "mime-types", (RUBY_VERSION >= "2.0" ? "~> 3.0" : "~> 2.99")
-gem "protected_attributes"
+gem "rails", "5.2.4.1"
+gem "rouge", "~> 3.12.0"
+gem "request_store", "~> 1.4.1"
+gem "mini_mime", "~> 1.0.1"
 gem "actionpack-xml_parser"
-gem "roadie-rails", "~> 1.1.1"
-gem "roadie", "~> 3.2.1"
+gem "roadie-rails", (RUBY_VERSION < "2.5" ? "~> 1.3.0" : "~> 2.1.0")
 gem "mimemagic"
-gem "mail", "~> 2.6.4"
-
-gem "nokogiri", (RUBY_VERSION >= "2.1" ? "~> 1.8.1" : "~> 1.6.8")
-gem "i18n", "~> 0.7.0"
-gem "ffi", "1.9.14", :platforms => :mingw if RUBY_VERSION < "2.0"
-gem "xpath", "< 3.2.0" if RUBY_VERSION < "2.3"
-
-# Request at least rails-html-sanitizer 1.0.3 because of security advisories
-gem "rails-html-sanitizer", ">= 1.0.3"
+gem "mail", "~> 2.7.1"
+gem "csv", "~> 3.1.1"
+gem "nokogiri", "~> 1.10.0"
+gem "i18n", "~> 1.6.0"
+gem "rbpdf", "~> 1.20.0"
 
 # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
 gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
-gem "rbpdf", "~> 1.19.6"
 
 # Optional gem for LDAP authentication
 group :ldap do
-  gem "net-ldap", "~> 0.12.0"
+  gem "net-ldap", "~> 0.16.0"
 end
 
 # Optional gem for OpenID authentication
 group :openid do
-  gem "ruby-openid", "~> 2.3.0", :require => "openid"
+  gem "ruby-openid", "~> 2.9.2", :require => "openid"
   gem "rack-openid"
 end
 
-platforms :mri, :mingw, :x64_mingw do
-  # Optional gem for exporting the gantt to a PNG file, not supported with jruby
-  group :rmagick do
-    gem "rmagick", "~> 2.16.0"
-  end
+# Optional gem for exporting the gantt to a PNG file
+group :minimagick do
+  gem "mini_magick", "~> 4.9.5"
+end
 
-  # Optional Markdown support, not for JRuby
-  group :markdown do
-    gem "redcarpet", "~> 3.4.0"
-  end
+# Optional Markdown support, not for JRuby
+group :markdown do
+  gem "redcarpet", "~> 3.5.0"
 end
 
 # Include database gems for the database adapters NixOS supports
-gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
-gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
+gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
+gem "pg", "~> 1.1.4", :platforms => [:mri, :mingw, :x64_mingw]
 
 group :development do
-  gem "rdoc", "~> 4.3"
   gem "yard"
 end
 
 group :test do
-  gem "minitest"
   gem "rails-dom-testing"
-  gem "mocha"
-  gem "simplecov", "~> 0.9.1", :require => false
-  # TODO: remove this after upgrading to Rails 5
-  gem "test_after_commit", "~> 0.4.2"
-  # For running UI tests
-  gem "capybara", '~> 2.13'
-  gem "selenium-webdriver", "~> 2.53.4"
+  gem 'mocha', '>= 1.4.0'
+  gem "simplecov", "~> 0.17.0", :require => false
+  gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
+  # For running system tests
+  gem 'puma', '~> 3.7'
+  gem "capybara", (RUBY_VERSION < "2.4" ? "~> 3.15.1" : "~> 3.25.0")
+  gem "selenium-webdriver"
+  # RuboCop
+  gem 'rubocop', '~> 0.76.0'
+  gem 'rubocop-performance', '~> 1.5.0'
+  gem 'rubocop-rails', '~> 2.3.0'
 end
 
 local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
index 21296d343b4..806847a298e 100644
--- a/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -1,203 +1,226 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actionmailer (4.2.11.1)
-      actionpack (= 4.2.11.1)
-      actionview (= 4.2.11.1)
-      activejob (= 4.2.11.1)
+    actioncable (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      nio4r (~> 2.0)
+      websocket-driver (>= 0.6.1)
+    actionmailer (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      actionview (= 5.2.4.1)
+      activejob (= 5.2.4.1)
       mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.11.1)
-      actionview (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      rack (~> 1.6)
-      rack-test (~> 0.6.2)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-dom-testing (~> 2.0)
+    actionpack (5.2.4.1)
+      actionview (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      rack (~> 2.0, >= 2.0.8)
+      rack-test (>= 0.6.3)
+      rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionpack-xml_parser (1.0.2)
-      actionpack (>= 4.0.0, < 5)
-    actionview (4.2.11.1)
-      activesupport (= 4.2.11.1)
+    actionpack-xml_parser (2.0.1)
+      actionpack (>= 5.0)
+      railties (>= 5.0)
+    actionview (5.2.4.1)
+      activesupport (= 5.2.4.1)
       builder (~> 3.1)
-      erubis (~> 2.7.0)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
+      erubi (~> 1.4)
+      rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (4.2.11.1)
-      activesupport (= 4.2.11.1)
-      globalid (>= 0.3.0)
-    activemodel (4.2.11.1)
-      activesupport (= 4.2.11.1)
-      builder (~> 3.1)
-    activerecord (4.2.11.1)
-      activemodel (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      arel (~> 6.0)
-    activesupport (4.2.11.1)
-      i18n (~> 0.7)
+    activejob (5.2.4.1)
+      activesupport (= 5.2.4.1)
+      globalid (>= 0.3.6)
+    activemodel (5.2.4.1)
+      activesupport (= 5.2.4.1)
+    activerecord (5.2.4.1)
+      activemodel (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      arel (>= 9.0)
+    activestorage (5.2.4.1)
+      actionpack (= 5.2.4.1)
+      activerecord (= 5.2.4.1)
+      marcel (~> 0.3.1)
+    activesupport (5.2.4.1)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
       minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    arel (6.0.4)
-    builder (3.2.3)
-    capybara (2.18.0)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    arel (9.0.0)
+    ast (2.4.0)
+    builder (3.2.4)
+    capybara (3.25.0)
       addressable
       mini_mime (>= 0.1.3)
-      nokogiri (>= 1.3.3)
-      rack (>= 1.0.0)
-      rack-test (>= 0.5.4)
-      xpath (>= 2.0, < 4.0)
-    childprocess (0.9.0)
-      ffi (~> 1.0, >= 1.0.11)
-    coderay (1.1.2)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      regexp_parser (~> 1.5)
+      xpath (~> 3.2)
+    childprocess (3.0.0)
     concurrent-ruby (1.1.5)
-    crass (1.0.4)
-    css_parser (1.7.0)
+    crass (1.0.5)
+    css_parser (1.7.1)
       addressable
-    docile (1.1.5)
-    erubis (2.7.0)
-    ffi (1.11.1)
+    csv (3.1.2)
+    docile (1.3.2)
+    erubi (1.9.0)
     globalid (0.4.2)
       activesupport (>= 4.2.0)
     htmlentities (4.3.4)
-    i18n (0.7.0)
-    jquery-rails (3.1.5)
-      railties (>= 3.0, < 5.0)
-      thor (>= 0.14, < 2.0)
-    loofah (2.2.3)
+    i18n (1.6.0)
+      concurrent-ruby (~> 1.0)
+    jaro_winkler (1.5.4)
+    json (2.3.0)
+    loofah (2.4.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
-    mail (2.6.6)
-      mime-types (>= 1.16, < 4)
-    metaclass (0.0.4)
-    mime-types (3.2.2)
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mail (2.7.1)
+      mini_mime (>= 0.1.1)
+    marcel (0.3.3)
+      mimemagic (~> 0.3.2)
+    method_source (0.9.2)
     mimemagic (0.3.3)
-    mini_mime (1.0.1)
-    mini_portile2 (2.3.0)
-    minitest (5.11.3)
-    mocha (1.8.0)
-      metaclass (~> 0.0.1)
-    multi_json (1.13.1)
-    mysql2 (0.4.10)
-    net-ldap (0.12.1)
-    nokogiri (1.8.5)
-      mini_portile2 (~> 2.3.0)
-    pg (0.18.4)
-    protected_attributes (1.1.4)
-      activemodel (>= 4.0.1, < 5.0)
-    public_suffix (3.1.0)
-    rack (1.6.11)
+    mini_magick (4.9.5)
+    mini_mime (1.0.2)
+    mini_portile2 (2.4.0)
+    minitest (5.13.0)
+    mocha (1.11.1)
+    mysql2 (0.5.3)
+    net-ldap (0.16.2)
+    nio4r (2.5.2)
+    nokogiri (1.10.7)
+      mini_portile2 (~> 2.4.0)
+    parallel (1.19.1)
+    parser (2.6.5.0)
+      ast (~> 2.4.0)
+    pg (1.1.4)
+    public_suffix (4.0.1)
+    puma (3.12.2)
+    rack (2.0.8)
     rack-openid (1.4.2)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.2.11.1)
-      actionmailer (= 4.2.11.1)
-      actionpack (= 4.2.11.1)
-      actionview (= 4.2.11.1)
-      activejob (= 4.2.11.1)
-      activemodel (= 4.2.11.1)
-      activerecord (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.11.1)
-      sprockets-rails
-    rails-deprecated_sanitizer (1.0.3)
-      activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.9)
-      activesupport (>= 4.2.0, < 5.0)
-      nokogiri (~> 1.6)
-      rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.4)
-      loofah (~> 2.2, >= 2.2.2)
-    railties (4.2.11.1)
-      actionpack (= 4.2.11.1)
-      activesupport (= 4.2.11.1)
+    rack-test (1.1.0)
+      rack (>= 1.0, < 3)
+    rails (5.2.4.1)
+      actioncable (= 5.2.4.1)
+      actionmailer (= 5.2.4.1)
+      actionpack (= 5.2.4.1)
+      actionview (= 5.2.4.1)
+      activejob (= 5.2.4.1)
+      activemodel (= 5.2.4.1)
+      activerecord (= 5.2.4.1)
+      activestorage (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      bundler (>= 1.3.0)
+      railties (= 5.2.4.1)
+      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.4.1)
+      actionpack (= 5.2.4.1)
+      activesupport (= 5.2.4.1)
+      method_source
       rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (12.3.2)
-    rbpdf (1.19.8)
+      thor (>= 0.19.0, < 2.0)
+    rainbow (3.0.0)
+    rake (13.0.1)
+    rbpdf (1.20.1)
       htmlentities
       rbpdf-font (~> 1.19.0)
     rbpdf-font (1.19.1)
-    rdoc (4.3.0)
-    redcarpet (3.4.0)
-    request_store (1.0.5)
-    rmagick (2.16.0)
-    roadie (3.2.2)
+    redcarpet (3.5.0)
+    regexp_parser (1.6.0)
+    request_store (1.4.1)
+      rack (>= 1.4)
+    roadie (3.5.1)
       css_parser (~> 1.4)
-      nokogiri (~> 1.5)
-    roadie-rails (1.1.1)
-      railties (>= 3.0, < 5.1)
+      nokogiri (~> 1.8)
+    roadie-rails (2.1.0)
+      railties (>= 5.1, < 6.1)
       roadie (~> 3.1)
-    ruby-openid (2.3.0)
-    rubyzip (1.2.3)
-    selenium-webdriver (2.53.4)
-      childprocess (~> 0.5)
-      rubyzip (~> 1.0)
-      websocket (~> 1.0)
-    simplecov (0.9.2)
-      docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.9.0)
-    simplecov-html (0.9.0)
-    sprockets (3.7.2)
+    rouge (3.12.0)
+    rubocop (0.76.0)
+      jaro_winkler (~> 1.5.1)
+      parallel (~> 1.10)
+      parser (>= 2.6)
+      rainbow (>= 2.2.2, < 4.0)
+      ruby-progressbar (~> 1.7)
+      unicode-display_width (>= 1.4.0, < 1.7)
+    rubocop-performance (1.5.1)
+      rubocop (>= 0.71.0)
+    rubocop-rails (2.3.2)
+      rack (>= 1.1)
+      rubocop (>= 0.72.0)
+    ruby-openid (2.9.2)
+    ruby-progressbar (1.10.1)
+    rubyzip (2.0.0)
+    selenium-webdriver (3.142.6)
+      childprocess (>= 0.5, < 4.0)
+      rubyzip (>= 1.2.2)
+    simplecov (0.17.1)
+      docile (~> 1.1)
+      json (>= 1.8, < 3)
+      simplecov-html (~> 0.10.0)
+    simplecov-html (0.10.2)
+    sprockets (4.0.0)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
     sprockets-rails (3.2.1)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
-    test_after_commit (0.4.2)
-      activerecord (>= 3.2)
-    thor (0.20.3)
+    thor (1.0.1)
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    websocket (1.2.8)
+    unicode-display_width (1.6.0)
+    websocket-driver (0.7.1)
+      websocket-extensions (>= 0.1.0)
+    websocket-extensions (0.1.4)
     xpath (3.2.0)
       nokogiri (~> 1.8)
-    yard (0.9.19)
+    yard (0.9.20)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   actionpack-xml_parser
-  bundler (>= 1.5.0, < 2.0.0)
-  capybara (~> 2.13)
-  coderay (~> 1.1.1)
-  i18n (~> 0.7.0)
-  jquery-rails (~> 3.1.4)
-  mail (~> 2.6.4)
-  mime-types (~> 3.0)
+  bundler (>= 1.5.0)
+  capybara (~> 3.25.0)
+  csv (~> 3.1.1)
+  ffi
+  i18n (~> 1.6.0)
+  mail (~> 2.7.1)
   mimemagic
-  minitest
-  mocha
-  mysql2 (~> 0.4.6)
-  net-ldap (~> 0.12.0)
-  nokogiri (~> 1.8.1)
-  pg (~> 0.18.1)
-  protected_attributes
+  mini_magick (~> 4.9.5)
+  mini_mime (~> 1.0.1)
+  mocha (>= 1.4.0)
+  mysql2 (~> 0.5.0)
+  net-ldap (~> 0.16.0)
+  nokogiri (~> 1.10.0)
+  pg (~> 1.1.4)
+  puma (~> 3.7)
   rack-openid
-  rails (= 4.2.11.1)
+  rails (= 5.2.4.1)
   rails-dom-testing
-  rails-html-sanitizer (>= 1.0.3)
-  rbpdf (~> 1.19.6)
-  rdoc (~> 4.3)
-  redcarpet (~> 3.4.0)
-  request_store (= 1.0.5)
-  rmagick (~> 2.16.0)
-  roadie (~> 3.2.1)
-  roadie-rails (~> 1.1.1)
-  ruby-openid (~> 2.3.0)
-  selenium-webdriver (~> 2.53.4)
-  simplecov (~> 0.9.1)
-  test_after_commit (~> 0.4.2)
+  rbpdf (~> 1.20.0)
+  redcarpet (~> 3.5.0)
+  request_store (~> 1.4.1)
+  roadie-rails (~> 2.1.0)
+  rouge (~> 3.12.0)
+  rubocop (~> 0.76.0)
+  rubocop-performance (~> 1.5.0)
+  rubocop-rails (~> 2.3.0)
+  ruby-openid (~> 2.9.2)
+  selenium-webdriver
+  simplecov (~> 0.17.0)
   tzinfo-data
   yard
 
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
index 0b1f64b58a1..e25cde11af0 100644
--- a/pkgs/applications/version-management/redmine/default.nix
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bundlerEnv, ruby }:
 
 let
-  version = "3.4.11";
+  version = "4.1.0";
   rubyEnv = bundlerEnv {
     name = "redmine-env-${version}";
 
@@ -16,7 +16,7 @@ in
 
     src = fetchurl {
       url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-      sha256 = "14987sd9ff2n3982qlfwd4m0g1m10w8jyv791nica3wppvnrxh0r";
+      sha256 = "1fxc0xql54cfvj4g8v31vsv19jbij326qkgdz2h5xlp09r821wli";
     };
 
     buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix
index 4ef4bd40427..e69cbb0e1c2 100644
--- a/pkgs/applications/version-management/redmine/gemset.nix
+++ b/pkgs/applications/version-management/redmine/gemset.nix
@@ -1,126 +1,143 @@
 {
+  actioncable = {
+    dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yz5mcjl4is99650vq6rkv539xccq8mp5zsbvzh43wqzfga1llwm";
+      type = "gem";
+    };
+    version = "5.2.4.1";
+  };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18wwlj4f7jffv3vxm80d2z36nwza95l5xfcqc401hvvrls4xzhsy";
+      sha256 = "1dbw3q3yyh7m7wgc4196hc3v86v123z0xz40llmic8iwx3d9vnda";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rmldsk3a4lwxk0lrp6x1nz1v1r2xmbm3300l4ghgfygv3grdwjh";
+      sha256 = "0f5pm62y08j679k3vhcml8436f92kripd6j3v5dyvn760kwzz72z";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   actionpack-xml_parser = {
-    dependencies = ["actionpack"];
+    dependencies = ["actionpack" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17am4nd7x6g8x7f8i35rzzv2qrxlkc230rbgzg98af0yf50j8gka";
+      sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "2.0.1";
   };
   actionview = {
-    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x7vjn8q6blzyf7j3kwg0ciy7vnfh28bjdkd1mp9k4ghp9jn0g9p";
+      sha256 = "0hnkyx268czfb6ljv6ipcnz9dbgsb1z9n1gcr6279z9wx9550zij";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jy1c1r6syjqpa0sh9f1p4iaxzvp6qg4n6zs774j9z27q7h407mj";
+      sha256 = "0k4j3fcfc8m4hxwhs8xnbxazra760j3amn5r2zm2d5r1a1nqfh91";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activemodel = {
-    dependencies = ["activesupport" "builder"];
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c1x0rd6wnk1f0gsmxs6x3gx7yf6fs9qqkdv7r4hlbcdd849in33";
+      sha256 = "0sg1yyz710pxhq9z0jsbpbgn666y8iv4aj7pywglydipp4i0bpx1";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07ixiwi0zzs9skqarvpfamsnay7npfswymrn28ngxaf8hi279q5p";
+      sha256 = "1p35d6pj1370mnlppqq9lhr7m1ck82xvv621wq6hy12v41qfdnrg";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
+  };
+  activestorage = {
+    dependencies = ["actionpack" "activerecord" "marcel"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dd8k91b88b875mypwqific2jilgzj5bx1637cwmzi4c0cy1v17f";
+      type = "gem";
+    };
+    version = "5.2.4.1";
   };
   activesupport = {
-    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6";
+      sha256 = "0lmlnx79sv18xv1ddm4vq7z3mwdfa4468mq5186av0k8n1k471sp";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   arel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4";
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
       type = "gem";
     };
-    version = "6.0.4";
+    version = "9.0.0";
   };
-  builder = {
+  ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
+      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
       type = "gem";
     };
-    version = "3.2.3";
+    version = "2.4.0";
   };
-  capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
+  builder = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yv77rnsjlvs8qpfn9n5vf1h6b9agxwhxw09gssbiw9zn9j20jh8";
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "3.2.4";
   };
-  childprocess = {
-    dependencies = ["ffi"];
+  capybara = {
+    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
+      sha256 = "1bq1y3gy98rqgw8z69b42isc2klb75fvlwvpi36vycf1yk0sfmmx";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "3.25.0";
   };
-  coderay = {
+  childprocess = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "3.0.0";
   };
   concurrent-ruby = {
     source = {
@@ -133,43 +150,43 @@
   crass = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   css_parser = {
     dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
+      sha256 = "04c4dl8cm5rjr50k9qa6yl9r05fk9zcb1zxh0y0cdahxlsgcydfw";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.7.1";
   };
-  docile = {
+  csv = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+      sha256 = "00szzw96bqz59r0kaab4p75qb0wq54iahmq37wpdg96bxc8y80f5";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "3.1.2";
   };
-  erubis = {
+  docile = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "1.3.2";
   };
-  ffi = {
+  erubi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.9.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -189,64 +206,64 @@
     version = "4.3.4";
   };
   i18n = {
+    dependencies = ["concurrent-ruby"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "1.6.0";
   };
-  jquery-rails = {
-    dependencies = ["railties" "thor"];
+  jaro_winkler = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lk7xqmms45czylxs22kv5khlbm7a0yqcchqijxb9m10zsqc6lp5";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "1.5.4";
   };
-  loofah = {
-    dependencies = ["crass" "nokogiri"];
+  json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.0";
   };
-  mail = {
-    dependencies = ["mime-types"];
+  loofah = {
+    dependencies = ["crass" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d7lhj2dw52ycls6xigkfz6zvfhc6qggply9iycjmcyj9760yvz9";
+      sha256 = "1g7ps9m3s14cajhxrfgbzahv9i3gy47s4hqrv3mpybpj5cyr0srn";
       type = "gem";
     };
-    version = "2.6.6";
+    version = "2.4.0";
   };
-  metaclass = {
+  mail = {
+    dependencies = ["mini_mime"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
+      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "2.7.1";
   };
-  mime-types = {
-    dependencies = ["mime-types-data"];
+  marcel = {
+    dependencies = ["mimemagic"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "0.3.3";
   };
-  mime-types-data = {
+  method_source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "0.9.2";
   };
   mimemagic = {
     source = {
@@ -256,85 +273,100 @@
     };
     version = "0.3.3";
   };
+  mini_magick = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qy09qrd5bwh8mkbj514n5vcw9ni73218h9s3zmvbpmdwrnzi8j4";
+      type = "gem";
+    };
+    version = "4.9.5";
+  };
   mini_mime = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
+      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
   };
   minitest = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   mocha = {
-    dependencies = ["metaclass"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12aglpiq1h18j5a4rlwvnsvnsi2f3407v5xm59lgcg3ymlyak4al";
+      sha256 = "06i2q5qjr9mvjgjc8w41pdf3qalw340y33wjvzc0rp4a1cbbb7pp";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.11.1";
   };
-  multi_json = {
+  mysql2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0d14pcy5m4hjig0zdxnl9in5f4izszc7v9zcczf2gyi5kiyxk8jw";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "0.5.3";
   };
-  mysql2 = {
+  net-ldap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq";
+      sha256 = "1vzfhivjfr9q65hkln7xig3qcba6fw9y4kb4384fpm7d7ww0b7xg";
       type = "gem";
     };
-    version = "0.4.10";
+    version = "0.16.2";
   };
-  net-ldap = {
+  nio4r = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
+      sha256 = "0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "2.5.2";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.8.5";
+    version = "1.10.7";
   };
-  pg = {
+  parallel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "0.18.4";
+    version = "1.19.1";
   };
-  protected_attributes = {
-    dependencies = ["activemodel"];
+  parser = {
+    dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lvrvmcwjvjr2mrn20vaf68a0q6mg4cy9f0m1i7x83p0ljhhyar";
+      sha256 = "09davv4ld6caqlczw64vhwf8hr41apys3cj8v2h96yxs4qg1m2iw";
+      type = "gem";
+    };
+    version = "2.6.5.0";
+  };
+  pg = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
       type = "gem";
     };
     version = "1.1.4";
@@ -342,18 +374,26 @@
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
+      type = "gem";
+    };
+    version = "4.0.1";
+  };
+  puma = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07sb9xqc9bn5lvl9ia25w8x1fwzk52p5vgysnvjlc3hvn0r00ysj";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.12.2";
   };
   rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
+      sha256 = "1id0jsslx1ipv0pbqjfn7mjbb2vx2xybk7qypq59a17163xp30gr";
       type = "gem";
     };
-    version = "1.6.11";
+    version = "2.0.8";
   };
   rack-openid = {
     dependencies = ["rack" "ruby-openid"];
@@ -368,72 +408,71 @@
     dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
+      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
       type = "gem";
     };
-    version = "0.6.3";
+    version = "1.1.0";
   };
   rails = {
-    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ywvis59dd3v8qapi9ix6743zgk07l21x1cd6nb1ddpahxhm7dml";
+      sha256 = "1198azwbhlhq2n9xmpb19709d6smkanimip9cagvnlihagw80b20";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "5.2.4.1";
   };
-  rails-deprecated_sanitizer = {
-    dependencies = ["activesupport"];
+  rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
+      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "2.0.3";
   };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
+  rails-html-sanitizer = {
+    dependencies = ["loofah"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.0.9";
+    version = "1.3.0";
   };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
+  railties = {
+    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
+      sha256 = "1iqsqyyjscwnj2d3i0zl2k9apgsm7bb92l5h4wv1zbpdbb30wsqb";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "5.2.4.1";
   };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "rake" "thor"];
+  rainbow = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bjf21z9maiiazc1if56nnh9xmgbkcqlpznv34f40a1hsvgk1d1m";
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
       type = "gem";
     };
-    version = "4.2.11.1";
+    version = "3.0.0";
   };
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "13.0.1";
   };
   rbpdf = {
     dependencies = ["htmlentities" "rbpdf-font"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195";
+      sha256 = "0sdj8frakpdms820rwlil38h9bh3p24xmwnjrxsjc1p9irc3za71";
       type = "gem";
     };
-    version = "1.19.8";
+    version = "1.20.1";
   };
   rbpdf-font = {
     source = {
@@ -443,106 +482,142 @@
     };
     version = "1.19.1";
   };
-  rdoc = {
+  redcarpet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "0skcyx1h8b5ms0rp2zm3ql6g322b8c1adnkwkqyv7z3kypb4bm7k";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "3.5.0";
   };
-  redcarpet = {
+  regexp_parser = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
+      sha256 = "1l44ml30jvqpdi3707x1n1dinq7fx9887pv3q2ywyfmi4kja7yf2";
       type = "gem";
     };
-    version = "3.4.0";
+    version = "1.6.0";
   };
   request_store = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
+      sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.4.1";
+  };
+  roadie = {
+    dependencies = ["css_parser" "nokogiri"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zihd316bkbnrinz5s1s7pg7s0cadhhj6qs7wmc713j0g6ai1k9r";
+      type = "gem";
+    };
+    version = "3.5.1";
   };
-  rmagick = {
+  roadie-rails = {
+    dependencies = ["railties" "roadie"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m9x15cdlkcb9826s3s2jd97hxf50hln22p94x8hcccxi1lwklq6";
+      sha256 = "0hdkmnxrmw31dn9jq43xiypz2v6rbvg4x2yd2hgl2xbl3lm1ln7i";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.1.0";
   };
-  roadie = {
-    dependencies = ["css_parser" "nokogiri"];
+  rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0frp5yb07ib9y1k43shd4xjkb9a6wavhqq892l8yi9y73qi2cqbc";
+      sha256 = "08fpnxbhqv5sqpnfjasl1ysxafssyq4q1yhcqamqqzmb9czj1czw";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.12.0";
   };
-  roadie-rails = {
-    dependencies = ["railties" "roadie"];
+  rubocop = {
+    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07x51ixlx76y194xsszh5lbkaqakz44ykbrjxg3qaggbs18790q0";
+      type = "gem";
+    };
+    version = "0.76.0";
+  };
+  rubocop-performance = {
+    dependencies = ["rubocop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kn6rb0ma32gjp5qdvrbbb9ckh66rm6xpfrw8h3kr7svirsww2h8";
+      type = "gem";
+    };
+    version = "1.5.1";
+  };
+  rubocop-rails = {
+    dependencies = ["rack" "rubocop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hxgl5marq2hi6lcc73f7g6afd7dz4w893rrgrbh7m3k8zrwjyk1";
+      sha256 = "1q7ffsq1cjm4m949nh935kjzv4zf1pacnrl00siwh8flhcn3mmjf";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "2.3.2";
   };
   ruby-openid = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yzaf2c1i88757554wk38rxqmj0xzgmwk2zx7gi98w2zx42d17pn";
+      sha256 = "190p1m0bxd9xkfk1j6cpcv3x5c367g36nsglg4m1fcwqdd13k3kz";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.9.2";
+  };
+  ruby-progressbar = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
+      type = "gem";
+    };
+    version = "1.10.1";
   };
   rubyzip = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
+      sha256 = "1gz0ri0pa2xr7b6bf66yjc2wfvk51f4gi6yk7bklwl1nr65zc4gz";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "2.0.0";
   };
   selenium-webdriver = {
-    dependencies = ["childprocess" "rubyzip" "websocket"];
+    dependencies = ["childprocess" "rubyzip"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15qyf7b9fa2nxhhwp551b9fjj82kb3wmy65559yrrcwpdadqvcs4";
+      sha256 = "11abil34dr8p1kw7hlaqd6kr430v4srmhzf72zzqvhcimlfvm4yb";
       type = "gem";
     };
-    version = "2.53.4";
+    version = "3.142.6";
   };
   simplecov = {
-    dependencies = ["docile" "multi_json" "simplecov-html"];
+    dependencies = ["docile" "json" "simplecov-html"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12";
+      sha256 = "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.17.1";
   };
   simplecov-html = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc";
+      sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.10.2";
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
+      sha256 = "0jm37zpvvm1arxjwrd6am0wrdbfhrhc5y0l4p2i3p11z04bsvgap";
       type = "gem";
     };
-    version = "3.7.2";
+    version = "4.0.0";
   };
   sprockets-rails = {
     dependencies = ["actionpack" "activesupport" "sprockets"];
@@ -553,22 +628,13 @@
     };
     version = "3.2.1";
   };
-  test_after_commit = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
   thor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
+      sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
       type = "gem";
     };
-    version = "0.20.3";
+    version = "1.0.1";
   };
   thread_safe = {
     source = {
@@ -587,13 +653,30 @@
     };
     version = "1.2.5";
   };
-  websocket = {
+  unicode-display_width = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
+  websocket-extensions = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x";
+      sha256 = "00i624ng1nvkz1yckj3f8yxxp6hi7xaqf40qh9q3hj2n1l9i8g6m";
       type = "gem";
     };
-    version = "1.2.8";
+    version = "0.1.4";
   };
   xpath = {
     dependencies = ["nokogiri"];
@@ -607,9 +690,9 @@
   yard = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v";
+      sha256 = "0rxqwry3h2hjz069f0kfr140wgx1khgljnqf112dk5x9rm4l0xny";
       type = "gem";
     };
-    version = "0.9.19";
+    version = "0.9.20";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 8aa6128819f..d050895ca23 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, buildPythonPackage
 , python
-, srht, asyncpg, unidiff, aiosmtpd, emailthreads }:
+, srht, asyncpg, unidiff, aiosmtpd, pygit2, emailthreads }:
 
 buildPythonPackage rec {
   pname = "listssrht";
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     srht
+    pygit2
     asyncpg
     unidiff
     aiosmtpd
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 779c33627e8..653db11ab5d 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,43 +1,38 @@
-{ lib, fetchurl, python2Packages
-, mercurial
+{ lib, fetchurl, python3Packages
+, mercurial, qt5
 }@args:
 let
   tortoisehgSrc = fetchurl rec {
     meta.name = "tortoisehg-${meta.version}";
-    meta.version = "5.0.2";
-    url = "https://bitbucket.org/tortoisehg/targz/downloads/${meta.name}.tar.gz";
-    sha256 = "1fkawx4ymaacah2wpv2w7rxmv1mx08mg4x4r4fxh41jz1njjb8sz";
+    meta.version = "5.2.1";
+    url = "https://bitbucket.org/tortoisehg/thg/get/14221e991a5b623e0072d3bd340b759dbe9072ca.tar.gz";
+    sha256 = "01rpzf5z99izcdda1ps9bhqvhw6qghagd8c1y7x19rv223zi05dv";
   };
 
-  mercurial =
-    if args.mercurial.meta.version == tortoisehgSrc.meta.version
-      then args.mercurial
-      else args.mercurial.override {
-        mercurialSrc = fetchurl rec {
-          meta.name = "mercurial-${meta.version}";
-          meta.version = tortoisehgSrc.meta.version;
-          url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-          sha256 = "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19";
-        };
-      };
-
-in python2Packages.buildPythonApplication {
+  tortoiseMercurial = mercurial.overridePythonAttrs (old: rec {
+    inherit (tortoisehgSrc.meta) version;
+    src = fetchurl {
+      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+      sha256 = "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q";
+    };
+  });
 
+in python3Packages.buildPythonApplication {
     inherit (tortoisehgSrc.meta) name version;
     src = tortoisehgSrc;
 
-    pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
-
-    propagatedBuildInputs = with python2Packages; [ qscintilla iniparse ];
+    propagatedBuildInputs = with python3Packages; [
+      tortoiseMercurial qscintilla-qt5 iniparse
+    ];
+    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
     doCheck = false; # tests fail with "thg: cannot connect to X server"
-    dontStrip = true;
-    buildPhase = "";
-    installPhase = ''
-      ${python2Packages.python.executable} setup.py install --prefix=$out
+    postInstall = ''
       mkdir -p $out/share/doc/tortoisehg
-      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt.gz
-      ln -s $out/bin/thg $out/bin/tortoisehg     #convenient alias
+      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt
+      # convenient alias
+      ln -s $out/bin/thg $out/bin/tortoisehg
+      wrapQtApp $out/bin/thg
     '';
 
     checkPhase = ''
@@ -45,7 +40,7 @@ in python2Packages.buildPythonApplication {
       $out/bin/thg version
     '';
 
-    passthru.mercurial = mercurial;
+    passthru.mercurial = tortoiseMercurial;
 
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix
index 66b785e43b1..f3ddf8059b2 100644
--- a/pkgs/applications/version-management/yadm/default.nix
+++ b/pkgs/applications/version-management/yadm/default.nix
@@ -1,37 +1,39 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, git, gnupg }:
 
-let version = "1.12.0"; in
+let version = "2.3.0"; in
 stdenv.mkDerivation {
   pname = "yadm";
   inherit version;
 
+  buildInputs = [ git gnupg ];
+
   src = fetchFromGitHub {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
     rev    = version;
-    sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
+    sha256 = "1by21dh48qbi33wlyyvdwz7ac1lxrblzcr5v7hlnc4cbcgvgs1a0";
   };
 
-  buildCommand = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-    mkdir -p $out/share/zsh/site-functions
-    mkdir -p $out/share/bash-completion/completions
-    sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
-    chmod 755 $out/bin/yadm
-    install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
-    install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
-    install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin $src/yadm
+    install -Dt $out/share/man/man1 $src/yadm.1
+    install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
+    install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+    runHook postInstall
   '';
 
   meta = {
     homepage = https://github.com/TheLocehiliosan/yadm;
     description = "Yet Another Dotfiles Manager";
     longDescription = ''
-    yadm is a dotfile management tool with 3 main features: Manages files across
-    systems using a single Git repository. Provides a way to use alternate files on
-    a specific OS or host. Supplies a method of encrypting confidential data so it
-    can safely be stored in your repository.
+      yadm is a dotfile management tool with 3 main features:
+      * Manages files across systems using a single Git repository.
+      * Provides a way to use alternate files on a specific OS or host.
+      * Supplies a method of encrypting confidential data so it can safely be stored in your repository.
     '';
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 2734035b6de..83f7ebc29d1 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -1,16 +1,42 @@
-{ config, stdenv, fetchurl
-, libX11, wxGTK
-, libiconv, fontconfig, freetype
-, libGLU_combined
-, libass, fftw, ffms
-, ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
-, icu, boost, intltool # New dependencies
-, spellcheckSupport ? true, hunspell ? null
-, automationSupport ? true, lua ? null
-, openalSupport ? false, openal ? null
-, alsaSupport ? stdenv.isLinux, alsaLib ? null
-, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
-, portaudioSupport ? false, portaudio ? null }:
+{ config
+, stdenv
+, fetchurl
+, fetchpatch
+, libX11
+, wxGTK
+, libiconv
+, fontconfig
+, freetype
+, libGLU
+, libGL
+, libass
+, fftw
+, ffms
+, ffmpeg
+, pkg-config
+, zlib
+, icu
+, boost
+, intltool
+
+, spellcheckSupport ? true
+, hunspell ? null
+
+, automationSupport ? true
+, lua ? null
+
+, openalSupport ? false
+, openal ? null
+
+, alsaSupport ? stdenv.isLinux
+, alsaLib ? null
+
+, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
+, libpulseaudio ? null
+
+, portaudioSupport ? false
+, portaudio ? null
+}:
 
 assert spellcheckSupport -> (hunspell != null);
 assert automationSupport -> (lua != null);
@@ -20,7 +46,8 @@ assert pulseaudioSupport -> (libpulseaudio != null);
 assert portaudioSupport -> (portaudio != null);
 
 with stdenv.lib;
-stdenv.mkDerivation rec {
+stdenv.mkDerivation
+ rec {
   pname = "aegisub";
   version = "3.2.2";
 
@@ -29,12 +56,40 @@ stdenv.mkDerivation rec {
     sha256 = "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5";
   };
 
-  # Fixup build with icu-59
-  postPatch = "sed '1i#include <unicode/unistr.h>' -i src/utils.cpp";
+  patches = [
+    # Compatibility with ICU 59
+    (fetchpatch {
+      url = "https://github.com/Aegisub/Aegisub/commit/dd67db47cb2203e7a14058e52549721f6ff16a49.patch";
+      sha256 = "07qqlckiyy64lz8zk1as0vflk9kqnjb340420lp9f0xj93ncssj7";
+    })
+
+    # Compatbility with Boost 1.69
+    (fetchpatch {
+      url = "https://github.com/Aegisub/Aegisub/commit/c3c446a8d6abc5127c9432387f50c5ad50012561.patch";
+      sha256 = "1n8wmjka480j43b1pr30i665z8hdy6n3wdiz1ls81wyv7ai5yygf";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+  ];
 
-  buildInputs = with stdenv.lib;
-  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU_combined
-    libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
+  buildInputs = with stdenv.lib; [
+    libX11
+    wxGTK
+    fontconfig
+    freetype
+    libGLU
+    libGL
+    libass
+    fftw
+    ffms
+    ffmpeg
+    zlib
+    icu
+    boost
+    libiconv
   ]
     ++ optional spellcheckSupport hunspell
     ++ optional automationSupport lua
@@ -67,11 +122,11 @@ stdenv.mkDerivation rec {
       audio, and features many powerful tools for styling them, including a
       built-in real-time video preview.
     '';
-    homepage = http://www.aegisub.org/;
+    homepage = "http://www.aegisub.org/";
+    # The Aegisub sources are itself BSD/ISC,
+    # but they are linked against GPL'd softwares
+    # - so the resulting program will be GPL
     license = licenses.bsd3;
-              # The Aegisub sources are itself BSD/ISC,
-              # but they are linked against GPL'd softwares
-              # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix
index 9ff65483f26..a9d98a9a2a4 100644
--- a/pkgs/applications/video/bomi/default.nix
+++ b/pkgs/applications/video/bomi/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, fetchFromGitHub
 , fetchpatch, pkgconfig, perl, python, which
-, libX11, libxcb, libGLU_combined
+, libX11, libxcb, libGLU, libGL
 , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper
 , libchardet
 , ffmpeg
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = with stdenv.lib;
                 [ libX11
                   libxcb
-                  libGLU_combined
+                  libGLU libGL
                   qtbase
                   qtx11extras
                   qtdeclarative
diff --git a/pkgs/applications/video/celluloid/default.nix b/pkgs/applications/video/celluloid/default.nix
index 47a82470137..22fac11b018 100644
--- a/pkgs/applications/video/celluloid/default.nix
+++ b/pkgs/applications/video/celluloid/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "celluloid";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchFromGitHub {
     owner = "celluloid-player";
     repo = "celluloid";
     rev = "v${version}";
-    sha256 = "0pnxjv6n2q6igxdr8wzbahcj7vccw4nfjdk8fjdnaivf2lyrpv2d";
+    sha256 = "1j8z75y98liirr41rlcn89cshvp1xp71cspcclm6wx455i7q2cg1";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs meson-post-install.py src/generate-authors.py
-    sed -i '/gtk-update-icon-cache/s/^/#/' meson-post-install.py
   '';
 
   doCheck = true;
@@ -59,6 +58,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/celluloid-player/celluloid";
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index 145b7cc06c2..ad175b24676 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -5,10 +5,10 @@
 
 mkDerivation rec {
   pname = "clipgrab";
-  version = "3.8.5";
+  version = "3.8.6";
 
   src = fetchurl {
-    sha256 = "0jfjnzwvz4ynlld0ih7f7d575s5w2dag0hvb02c6qan7xm5jdhv9";
+    sha256 = "1w2j1wk9sf22nnschlraxdbxabqblrxyb8kq0lkyk7dkfa5d0hdq";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
   };
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index e8a81a192b5..4341055d084 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -9,9 +9,10 @@
 
 { stdenv, lib, fetchurl, fetchpatch,
   # Main build tools
-  python2, pkgconfig, autoconf, automake, cmake, nasm, libtool, m4, lzma,
+  python2, pkgconfig, autoconf, automake, libtool, m4, lzma,
+  numactl,
   # Processing, video codecs, containers
-  ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora,
+  ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora, dav1d,
   # Codecs, audio
   libopus, lame, libvorbis, a52dec, speex, libsamplerate,
   # Text processing
@@ -48,22 +49,22 @@ assert stdenv.isDarwin -> AudioToolbox != null && Foundation != null
 
 stdenv.mkDerivation rec {
   pname = "handbrake";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchurl {
     url = ''https://download2.handbrake.fr/${version}/HandBrake-${version}-source.tar.bz2'';
-    sha256 = "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z";
+    sha256 = "15hxncswmaj62hb40fxixsa6d519zb712z9xbdq979q4rasjxa59";
   };
 
   nativeBuildInputs = [
-    python2 pkgconfig autoconf automake cmake nasm libtool m4
+    python2 pkgconfig autoconf automake libtool m4
   ] ++ lib.optionals useGtk [ intltool wrapGAppsHook ];
 
   buildInputs = [
-    ffmpeg-full libogg libtheora x264 x265 libvpx
+    ffmpeg-full libogg libtheora x264 x265 libvpx dav1d
     libopus lame libvorbis a52dec speex libsamplerate
     libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz
-    libdvdread libdvdnav libdvdcss libbluray lzma
+    libdvdread libdvdnav libdvdcss libbluray lzma numactl
   ] ++ lib.optionals useGtk [
     glib gtk3 libappindicator-gtk3 libnotify
     gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
@@ -74,20 +75,6 @@ stdenv.mkDerivation rec {
   # look at ./make/configure.py search "enable_nvenc"
     ++ lib.optional stdenv.isLinux nv-codec-headers;
 
-  # NOTE: 2018-12-25: v1.2.0 now requires cmake dep
-  # (default distribution bundles&builds 3rd party libs),
-  # don't trigger cmake build
-  dontUseCmakeConfigure = true;
-  # cp: cannot create regular file './internal_defaults.json': File exists
-  enableParallelBuilding = false;
-
-  # The samplerate patch should be removed when HandBrake 1.3.0 is released
-  patches = [(fetchpatch {
-    name = "set-ffmpeg-samplerate.patch";
-    url = "https://patch-diff.githubusercontent.com/raw/HandBrake/HandBrake/pull/2126.patch";
-    sha256 = "00lds9h27cvyr53qpvv8gbv01hfxdxd8gphxcwbwg8akqrvk9gbf";
-  })];
-
   preConfigure = ''
     patchShebangs scripts
 
@@ -99,6 +86,9 @@ stdenv.mkDerivation rec {
     # Force using nixpkgs dependencies
     sed -i '/MODULES += contrib/d' make/include/main.defs
     sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
+    sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
+        -e '/    ## Additional library and tool checks/,/    ## MinGW specific library and tool checks/d' \
+        -i make/configure.py
   '';
 
   configureFlags = [
@@ -112,6 +102,8 @@ stdenv.mkDerivation rec {
   # NOTE: 2018-12-27: Check NixOS HandBrake test if changing
   NIX_LDFLAGS = [
     "-lx265"
+    # NOTE: The -ldl flag was fixed upstream for a release after 1.3.0    
+    "-ldl"
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
deleted file mode 100644
index 7dc350da647..00000000000
--- a/pkgs/applications/video/key-mon/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, gnome2, librsvg, pythonPackages }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "key-mon";
-  version = "1.17";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${pname}-${version}.tar.gz";
-    sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q";
-  };
-
-  propagatedBuildInputs =
-    [ gnome2.python_rsvg librsvg pythonPackages.pygtk pythonPackages.xlib ];
-
-  doCheck = false;
-
-  preFixup = ''
-      export makeWrapperArgs="--set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://code.google.com/archive/p/key-mon;
-    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
-    license = licenses.asl20;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 7953cde2413..d47797a3046 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -8,8 +8,8 @@
 , libXt, libXmu, libXext
 , libXinerama, libXrandr
 , libXtst, libXfixes, systemd
-, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
-, libjpeg, jasper, libpng, libtiff
+, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
+, libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
 , lzo, libcdio, libmodplug, libass, libbluray
@@ -43,15 +43,15 @@ assert vdpauSupport -> libvdpau != null;
 assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
 
 let
-  kodiReleaseDate = "20190901";
-  kodiVersion = "18.4";
+  kodiReleaseDate = "20191116";
+  kodiVersion = "18.5";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "1m0295czxabdcqyqf5m94av9d88pzhnzjvyfs1q07xqq82h313p7";
+    sha256 = "0pcrraj1ddzrd296br10yjnaxgb3iym74xzixcakaqhhp00f5hf6";
   };
 
   cmakeProto = fetchurl {
@@ -156,8 +156,8 @@ in stdenv.mkDerivation {
       openssl gperf tinyxml2 taglib libssh swig jre
       libX11 xorgproto libXt libXmu libXext
       libXinerama libXrandr libXtst libXfixes
-      alsaLib libGLU_combined glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff
+      alsaLib libGL libGLU glew fontconfig freetype ftgl
+      libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
       lzo libcdio libmodplug libass libbluray
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 77aa2779b5d..ca202c5ce60 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -3,21 +3,21 @@
 }:
 
 let
-  version = "1.14.5";
+  version = "1.14.7";
   # 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"
     ];
-    sha256 = "1rnkx0h149n3pawmk8d234x5w1xw4kady9pgrcc5aw6krbx38nis";
+    sha256 = "19j62vyk8havv38lh35108f7jmrqiqzikl3aqlsncxxa69m6fv5n";
   };
   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"
     ];
-    sha256 = "1jg10mslcl0sfwdd9p7hy9zfvk0xc7qhdakiv1kbilsl42bgaxyi";
+    sha256 = "1w6b4cvhfg1dv2claam0l6slhjqzy0n2lvwk1ggkh4c561qbfp59";
   };
 in mkDerivation {
   pname = "makemkv";
diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix
index a5de209854b..586779252b6 100644
--- a/pkgs/applications/video/mediathekview/default.nix
+++ b/pkgs/applications/video/mediathekview/default.nix
@@ -1,25 +1,29 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "13.2.1";
+  version = "13.5.0";
   pname = "mediathekview";
   src = fetchurl {
-    url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz";
-    sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a";
+    url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
+    sha256 = "0n05w2d6sh03rjms7m9b5nj84cl16gkrc9nsn53kvldglmqmmrac";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-    mkdir -p $out/{lib,bin,share/mediathekview}
+    mkdir -p $out/{bin,lib}
 
-    install -m644 MediathekView.jar $out/
-    install -m644 -t $out/lib lib/*
-    install -m755 bin/flv.sh $out/share/mediathekview
+    install -m644 MediathekView.jar $out/lib
 
     makeWrapper ${jre}/bin/java $out/bin/mediathek \
-      --add-flags "-cp '$out/lib/*' -jar $out/MediathekView.jar"
-    '';
+      --add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
+
+    makeWrapper ${jre}/bin/java $out/bin/MediathekView \
+      --add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
+
+    makeWrapper ${jre}/bin/java $out/bin/MediathekView_ipv4 \
+      --add-flags "-Xmx1G -Djava.net.preferIPv4Stack=true -jar $out/lib/MediathekView.jar"
+  '';
 
   meta = with stdenv.lib; {
     description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 153d0a20b6e..2d332a862c6 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "38.0.0";
+  version = "40.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0874rfslglywpa8ilhqv59zvn2hisdsbwd7r61psf5rd64v72ym4";
+    sha256 = "103rvj6f6nlzybzbkqix7q5f2017bmzsn9z5g7bwnjjwgih5mrpq";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Cross-platform tools for Matroska";
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
+    maintainers = with maintainers; [ codyopel rnhmjoj ];
     platforms   = platforms.linux
       ++ optionals (!withGUI) platforms.darwin;
   };
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 2afb7d1c68a..a75a7a11d67 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -2,7 +2,7 @@
 , aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
-, x11Support ? true, libX11 ? null, libXext ? null, libGLU_combined ? null
+, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
 , xineramaSupport ? true, libXinerama ? null
 , xvSupport ? true, libXv ? null
 , alsaSupport ? stdenv.isLinux, alsaLib ? null
@@ -32,7 +32,7 @@
 assert fontconfigSupport -> (fontconfig != null);
 assert (!fontconfigSupport) -> (freefont_ttf != null);
 assert fribidiSupport -> (fribidi != null);
-assert x11Support -> (libX11 != null && libXext != null && libGLU_combined != null);
+assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
 assert xvSupport -> (libXv != null && x11Support);
 assert alsaSupport -> alsaLib != null;
@@ -111,7 +111,7 @@ stdenv.mkDerivation rec {
     ++ optional aalibSupport aalib
     ++ optional fontconfigSupport fontconfig
     ++ optional fribidiSupport fribidi
-    ++ optionals x11Support [ libX11 libXext libGLU_combined ]
+    ++ optionals x11Support [ libX11 libXext libGLU libGL ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
     ++ optional theoraSupport libtheora
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 7aedce98d56..91a9f4a7d01 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -9,7 +9,7 @@
   , libxkbcommon      ? null
 
 , x11Support ? stdenv.isLinux
-  , libGLU_combined ? null
+  , libGLU, libGL ? null
   , libX11          ? null
   , libXext         ? null
   , libXxf86vm      ? null
@@ -39,7 +39,7 @@
 , pulseSupport       ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
 , rubberbandSupport  ? stdenv.isLinux, rubberband    ? null
 , screenSaverSupport ? true,           libXScrnSaver ? null
-, sambaSupport       ? true,           samba         ? null
+, sambaSupport       ? stdenv.isLinux, samba         ? null
 , sdl2Support        ? true,           SDL2          ? null
 , sndioSupport       ? true,           sndio         ? null
 , speexSupport       ? true,           speex         ? null
@@ -52,7 +52,7 @@
 , zimgSupport        ? true,           zimg          ? null
 , archiveSupport     ? false,          libarchive    ? null
 , jackaudioSupport   ? false,          libjack2      ? null
-, openalSupport      ? false,          openalSoft    ? null
+, openalSupport      ? true,          openalSoft    ? null
 , vapoursynthSupport ? false,          vapoursynth   ? null
 }:
 
@@ -86,7 +86,7 @@ assert vapoursynthSupport -> available vapoursynth;
 assert vdpauSupport       -> available libvdpau;
 assert vulkanSupport      -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ];
 assert waylandSupport     -> all available [ wayland wayland-protocols libxkbcommon ];
-assert x11Support         -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ];
+assert x11Support         -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ];
 assert xineramaSupport    -> x11Support && available libXinerama;
 assert xvSupport          -> x11Support && available libXv;
 assert youtubeSupport     -> available youtube-dl;
@@ -181,7 +181,7 @@ in stdenv.mkDerivation rec {
     ++ optionals drmSupport        [ libdrm mesa ]
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals waylandSupport    [ wayland wayland-protocols libxkbcommon ]
-    ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
+    ++ optionals x11Support        [ libX11 libXext libGLU libGL libXxf86vm libXrandr ]
     ++ optionals vulkanSupport     [ libplacebo shaderc vulkan-headers vulkan-loader ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       CoreFoundation Cocoa CoreAudio
@@ -235,7 +235,7 @@ in stdenv.mkDerivation rec {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ivan ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index 7914bb84c42..2c73d3e734c 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
-, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype
+, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsaLib, freetype
 , perl, pkgconfig , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
 , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders
 , libXNVCtrl, enableXnvctrl ? false
@@ -26,7 +26,7 @@ mkDerivation rec {
   setSourceRoot = ''sourceRoot=$(echo */mythtv)'';
 
   buildInputs = [
-    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined
+    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL
     perl libsamplerate libbluray lzo alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
     libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2
   ] ++ stdenv.lib.optional enableXnvctrl libXNVCtrl;
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index e5022242ef8..fdcfd7e0bec 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -37,13 +37,13 @@ let
   optional = stdenv.lib.optional;
 in mkDerivation rec {
   pname = "obs-studio";
-  version = "24.0.3";
+  version = "24.0.4";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = version;
-    sha256 = "0g8nzs696f3myz4hvygav85b0jgjmn6dicy50axmapdv8miff9xa";
+    sha256 = "0m15ch2ix9qrdf1a9mj7wcpl72z3h13zx60c9q72sb1435id2g1q";
   };
 
   nativeBuildInputs = [ cmake
diff --git a/pkgs/applications/video/obs-studio/fix-search-path.patch b/pkgs/applications/video/obs-studio/fix-search-path.patch
new file mode 100644
index 00000000000..4503447ff5d
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/fix-search-path.patch
@@ -0,0 +1,13 @@
+diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
+index ab0a3de..19c63ee 100644
+--- a/external/FindLibObs.cmake
++++ b/external/FindLibObs.cmake
+@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
+ 
+ 	set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
+ 	set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
+-	include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
++	include(external/ObsPluginHelpers.cmake)
+ 
+ 	# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
+ 	if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
diff --git a/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch b/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
new file mode 100644
index 00000000000..caef96c381f
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
@@ -0,0 +1,17 @@
+diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
+index 493831c..7b0f8db 100644
+--- a/src/obs-ndi.cpp
++++ b/src/obs-ndi.cpp
+@@ -197,11 +197,7 @@ const char* obs_module_description()
+ const NDIlib_v4* load_ndilib()
+ {
+ 	QStringList locations;
+-	locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
+-#if defined(__linux__) || defined(__APPLE__)
+-	locations << "/usr/lib";
+-	locations << "/usr/local/lib";
+-#endif
++	locations << "@NDI@/lib";
+ 
+ 	for (QString path : locations) {
+ 		blog(LOG_INFO, "Trying '%s'", path.toUtf8().constData());
diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/obs-ndi.nix
new file mode 100644
index 00000000000..452793f442e
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/obs-ndi.nix
@@ -0,0 +1,41 @@
+# We don't have a wrapper which can supply obs-studio plugins so you have to
+# somewhat manually install this:
+
+# nix-env -f "<nixpkgs>" -iA obs-ndi
+# mkdir -p ~/.config/obs-studio/plugins/bin
+# ln -s ~/.nix-profile/lib/obs-plugins/obs-ndi.so ~/.config/obs-studio/plugins/bin/
+
+{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5, ndi }:
+
+stdenv.mkDerivation rec {
+  pname = "obs-ndi";
+  version = "4.7.1";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio qt5.qtbase ndi ];
+
+  src = fetchFromGitHub {
+    owner = "Palakis";
+    repo = "obs-ndi";
+    rev = version;
+    sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh";
+  };
+
+  patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
+
+  postPatch = "sed -i -e s,@NDI@,${ndi},g src/obs-ndi.cpp";
+
+  cmakeFlags = [
+    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
+    "-DLIBOBS_LIB=${obs-studio}/lib"
+    "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Network A/V plugin for OBS Studio";
+    homepage = https://github.com/Palakis/obs-ndi;
+    maintainers = with maintainers; [ peti ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/video/recordmydesktop/default.nix b/pkgs/applications/video/recordmydesktop/default.nix
deleted file mode 100644
index e4d6e14d098..00000000000
--- a/pkgs/applications/video/recordmydesktop/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchsvn, autoreconfHook, zlib, popt, alsaLib, libvorbis, libtheora
-, libICE, libSM, libX11, libXext, libXfixes, libXdamage }:
-
-stdenv.mkDerivation rec {
-  pname = "recordmydesktop";
-  version = "0.3.8.1-svn${rev}";
-  rev = "602";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/recordmydesktop;
-    inherit rev;
-    sha256 = "1avirkc4ymrd575m616pi6wpgq1i0r5sb3qahps1g18sjpxks0lf";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [
-    zlib popt alsaLib libICE libSM libX11 libXext
-    libXfixes libXdamage libvorbis libtheora
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Desktop session recorder";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/gtk.nix b/pkgs/applications/video/recordmydesktop/gtk.nix
deleted file mode 100644
index cf02825501f..00000000000
--- a/pkgs/applications/video/recordmydesktop/gtk.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, pythonPackages, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "gtk-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/gtk-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "010aykgjfxhyiixq9a9fg3p1a1ixz59m1vkn16hpy0lybgf4dsby";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = with pythonPackages; [
-    python pygtk wrapPython
-  ];
-
-  pythonPath = with pythonPackages; [ pygtk ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/qt.nix b/pkgs/applications/video/recordmydesktop/qt.nix
deleted file mode 100644
index 573a18f62ce..00000000000
--- a/pkgs/applications/video/recordmydesktop/qt.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, glib, pythonPackages, qt4, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "qt-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/qt-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "0vz7amrmz317sbx2cv2186d0r57as4l26xa9rpim5gbvzk20caqc";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = [ glib qt4 ] ++ (with pythonPackages; [
-    python wrapPython pyqt4
-  ]);
-
-  pythonPath = with pythonPackages; [ pyqt4 ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 29ad928e27c..6191fd0f18a 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras
-, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja
+, libXfixes, libGLU, libGL, pkgconfig, libpulseaudio, qtbase, cmake, ninja
 }:
 
 mkDerivation rec {
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ninja ];
   buildInputs = [
-    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU_combined
+    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU libGL
     libpulseaudio qtbase qtx11extras
   ];
 
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index facb8fabe26..65a7f358d6f 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "smplayer";
-  version = "19.10.0";
+  version = "19.10.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0sq7hr10b4pbbi0y1q4mxs24h2lb042nv4rqr03r72bp57353xsl";
+    sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index b5ffdb018ff..ce22d8bed27 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.2.0";
+  version = "1.3.0";
   pname = "streamlink";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = version;
-    sha256 = "0l8b9ipfmd6dic07ajqqml26jdydz0k046hvx32mqp64jl5jpznh";
+    sha256 = "0f4qwwa5pxd4igvxq1qadqpphazlbs3c3cr29ybks2x5wajrvwah";
   };
 
   checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];
diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix
index 497ad7c77a0..50d3b9d65a8 100644
--- a/pkgs/applications/video/vdr/wrapper.nix
+++ b/pkgs/applications/video/vdr/wrapper.nix
@@ -8,7 +8,7 @@
 
 in symlinkJoin {
 
-  name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}";
+  name = "vdr-with-plugins-${lib.getVersion vdr}";
 
   paths = [ vdr ] ++ plugins;
 
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 4d3d88d5be8..e92d7384591 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -2,11 +2,11 @@
 , lirc, shared-mime-info, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "xine-ui-0.99.10";
+  name = "xine-ui-0.99.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "0i3jzhiipfs5p1jbxviwh42zcfzag6iqc6yycaan0vrqm90an86a";
+    sha256 = "10zmmss3hm8gjjyra20qhdc0lb1m6sym2nb2w62bmfk8isfw9gsl";
   };
 
   nativeBuildInputs = [ pkgconfig shared-mime-info ];
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index c0080329487..e475c4ed78a 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -16,7 +16,7 @@ let
   else
     throw "Unsupported architecture";
 
-  version = (builtins.parseDrvName edk2.name).version;
+  version = lib.getVersion edk2;
 in
 
 edk2.mkDerivation projectDscPath {
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 72db4f1e5aa..770154f1918 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , pkgconfig, libtool
-, gtk2, libGLU_combined, readline, libX11, libXpm
+, gtk2, libGLU, libGL, readline, libX11, libXpm
 , docbook_xml_dtd_45, docbook_xsl
 , sdlSupport ? true, SDL2 ? null
 , termSupport ? true, ncurses ? null
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig libtool gtk2 libGLU_combined readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL2 ]
   ++ optionals wxSupport [ wxGTK ]
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index 35c78dfd50a..a0694b7efbe 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.11";
+  version = "0.12";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "10dzas5fyh2lpa0kf1xv8z9c4g4cf0zlmnpilyvpcyccyfjf6cp2";
+    sha256 = "177rcf1klcxsp6x9cw75cmz3y2izgd1hvi1rb9vc6iz9qx1nmk3v";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/applications/virtualization/cntr/default.nix b/pkgs/applications/virtualization/cntr/default.nix
index 13afe0a4261..698f6df0673 100644
--- a/pkgs/applications/virtualization/cntr/default.nix
+++ b/pkgs/applications/virtualization/cntr/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cntr";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "cntr";
     rev = version;
-    sha256 = "0lmbsnjia44h4rskqkv9yc7xb6f3qjgbg8kcr9zqnr7ivr5fjcxg";
+    sha256 = "0dhfz7aj3cqi974ybf0axchih40rzrs9m8bxhwz1hgig57aisfc0";
   };
 
   cargoSha256 = "0xkwza9fx61pvlsm0s3dxc9i09mqp6c9df8w63fyiq7174vjxryx";
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index 89df7dae4a4..77f3d271b59 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -9,13 +9,13 @@
 stdenv.mkDerivation rec {
   project = "conmon";
   name = "${project}-${version}";
-  version = "2.0.2";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = project;
     rev = "v${version}";
-    sha256 = "1ha5vhjlb12kshh0j1vpl1vjk8ym9w2j1x762y6zdspkdha1w3dv";
+    sha256 = "17pv80ba79wh4nwxy3wl0vl1m8054s346hgcp87iy3mpnrvq2cv2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 07b6d024990..29111399ae9 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -17,7 +17,7 @@
 
 buildGoPackage rec {
   project = "cri-o";
-  version = "1.15.2";
+  version = "1.16.1";
   name = "${project}-${version}${flavor}";
 
   goPackagePath = "github.com/${project}/${project}";
@@ -26,7 +26,7 @@ buildGoPackage rec {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "0fiizxwxdq87h943421ivgw49jndk23yjz3saf1rzmn7g3xh2pn4";
+    sha256 = "0w690zhc55gdqzc31jc34nrzwd253pfb3rq23z51q22nqwmlsh9p";
   };
 
   outputs = [ "bin" "out" ];
@@ -42,17 +42,23 @@ buildGoPackage rec {
     pushd go/src/${goPackagePath}
 
     # Build pause
-    go build -tags ${makeFlags} -o bin/crio-config -buildmode=pie \
-      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio-config
-
     make -C pause
 
-    # Build the crio binary
-    go build -tags ${makeFlags} -o bin/crio -buildmode=pie \
-      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio
+    # Build the crio binaries
+    function build() {
+      go build \
+        -tags ${makeFlags} \
+        -o bin/"$1" \
+        -buildmode=pie \
+        -ldflags '-s -w ${ldflags}' \
+        ${goPackagePath}/cmd/"$1"
+    }
+    build crio
+    build crio-status
   '';
   installPhase = ''
     install -Dm755 bin/crio $bin/bin/crio${flavor}
+    install -Dm755 bin/crio-status $bin/bin/crio-status${flavor}
 
     mkdir -p $bin/libexec/crio
     install -Dm755 bin/pause $bin/libexec/crio/pause${flavor}
diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
new file mode 100644
index 00000000000..f1aa50ee102
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
@@ -0,0 +1,15 @@
+diff --git a/src/crosvm.rs b/src/crosvm.rs
+index b7055df..5989c87 100644
+--- a/src/crosvm.rs
++++ b/src/crosvm.rs
+@@ -141,7 +141,9 @@ impl Default for Config {
+             x_display: None,
+             shared_dirs: Vec::new(),
+             sandbox: !cfg!(feature = "default-no-sandbox"),
+-            seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR),
++            seccomp_policy_dir: PathBuf::from(
++                option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR),
++            ),
+             seccomp_log_failures: false,
+             cras_audio: false,
+             cras_capture: false,
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
new file mode 100644
index 00000000000..5035b65f981
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, rustPlatform, fetchgit, runCommand, symlinkJoin
+, pkgconfig, minijail, dtc, libusb1, libcap
+}:
+
+let
+
+  upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json);
+
+  arch = with stdenv.hostPlatform;
+    if isAarch64 then "arm"
+    else if isx86_64 then "x86_64"
+    else throw "no seccomp policy files available for host platform";
+
+  crosvmSrc = fetchgit {
+    inherit (upstreamInfo.components."chromiumos/platform/crosvm")
+      url rev sha256 fetchSubmodules;
+  };
+
+  adhdSrc = fetchgit {
+    inherit (upstreamInfo.components."chromiumos/third_party/adhd")
+      url rev sha256 fetchSubmodules;
+  };
+
+in
+
+  rustPlatform.buildRustPackage rec {
+    pname = "crosvm";
+    inherit (upstreamInfo) version;
+
+    unpackPhase = ''
+      runHook preUnpack
+
+      mkdir -p chromiumos/platform chromiumos/third_party
+
+      pushd chromiumos/platform
+      unpackFile ${crosvmSrc}
+      mv ${crosvmSrc.name} crosvm
+      popd
+
+      pushd chromiumos/third_party
+      unpackFile ${adhdSrc}
+      mv ${adhdSrc.name} adhd
+      popd
+
+      chmod -R u+w -- "$sourceRoot"
+
+      runHook postUnpack
+    '';
+
+    sourceRoot = "chromiumos/platform/crosvm";
+
+    patches = [
+      ./default-seccomp-policy-dir.diff
+    ];
+
+    cargoSha256 = "1d7y07wkliy5qnlyx5zj6ni39avhs3s48sqgvwxm5g5zrahg2a85";
+
+    nativeBuildInputs = [ pkgconfig ];
+
+    buildInputs = [ dtc libcap libusb1 minijail ];
+
+    postPatch = ''
+      sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \
+             seccomp/*/*.policy
+    '';
+
+    preBuild = ''
+      export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
+    '';
+
+    postInstall = ''
+      mkdir -p $out/share/policy/
+      cp seccomp/${arch}/* $out/share/policy/
+    '';
+
+    passthru = {
+      inherit adhdSrc;
+      src = crosvmSrc;
+      updateScript = ./update.py;
+    };
+
+    meta = with stdenv.lib; {
+      description = "A secure virtual machine monitor for KVM";
+      homepage = "https://chromium.googlesource.com/chromiumos/platform/crosvm/";
+      maintainers = with maintainers; [ qyliss ];
+      license = licenses.bsd3;
+      platforms = [ "aarch64-linux" "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py
new file mode 100755
index 00000000000..280d6ec1811
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/update.py
@@ -0,0 +1,91 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p nix-prefetch-git "python3.withPackages (ps: with ps; [ lxml ])"
+#! nix-shell -i python
+
+import base64
+import json
+import re
+import subprocess
+from codecs import iterdecode
+from os.path import dirname, splitext
+from lxml import etree
+from lxml.etree import HTMLParser
+from urllib.request import urlopen
+
+# ChromiumOS components required to build crosvm.
+components = ['chromiumos/platform/crosvm', 'chromiumos/third_party/adhd']
+
+git_root = 'https://chromium.googlesource.com/'
+manifest_versions = f'{git_root}chromiumos/manifest-versions'
+buildspecs_url = f'{manifest_versions}/+/refs/heads/master/paladin/buildspecs/'
+
+# CrOS version numbers look like this:
+# [<chrome-major-version>.]<tip-build>.<branch-build>.<branch-branch-build>
+#
+# As far as I can tell, branches are where internal Google
+# modifications are added to turn Chromium OS into Chrome OS, and
+# branch branches are used for fixes for specific devices.  So for
+# Chromium OS they will always be 0.  This is a best guess, and is not
+# documented.
+with urlopen('https://cros-updates-serving.appspot.com/') as resp:
+    document = etree.parse(resp, HTMLParser())
+    # bgcolor="lightgreen" is set on the most up-to-date version for
+    # each channel, so find a lightgreen cell in the "Stable" column.
+    (platform_version, chrome_version) = document.xpath("""
+        (//table[@id="cros-updates"]/tr/td[1 + count(
+            //table[@id="cros-updates"]/thead/tr[1]/th[text() = "Stable"]
+            /preceding-sibling::*)
+        ][@bgcolor="lightgreen"])[1]/text()
+    """)
+
+chrome_major_version = re.match(r'\d+', chrome_version)[0]
+chromeos_tip_build = re.match(r'\d+', platform_version)[0]
+
+# Find the most recent buildspec for the stable Chrome version and
+# Chromium OS build number.  Its branch build and branch branch build
+# numbers will (almost?) certainly be 0.  It will then end with an rc
+# number -- presumably these are release candidates, one of which
+# becomes the final release.  Presumably the one with the highest rc
+# number.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp:
+    listing = base64.decodebytes(resp.read()).decode('utf-8')
+    buildspecs = [(line.split('\t', 1)[1]) for line in listing.splitlines()]
+    buildspecs = [s for s in buildspecs if s.startswith(chromeos_tip_build)]
+    buildspecs.sort(reverse=True)
+    buildspec = splitext(buildspecs[0])[0]
+
+revisions = {}
+
+# Read the buildspec, and extract the git revisions for each component.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp:
+    xml = base64.decodebytes(resp.read())
+    root = etree.fromstring(xml)
+    for project in root.findall('project'):
+        revisions[project.get('name')] = project.get('revision')
+
+# Initialize the data that will be output from this script.  Leave the
+# rc number in buildspec so nobody else is subject to the same level
+# of confusion I have been.
+data = {'version': f'{chrome_major_version}.{buildspec}', 'components': {}}
+
+# Fill in the 'components' dictionary with the output from
+# nix-prefetch-git, which can be passed straight to fetchGit when
+# imported by Nix.
+for component in components:
+    argv = ['nix-prefetch-git',
+            '--url', git_root + component,
+            '--rev', revisions[component]]
+
+    output = subprocess.check_output(argv)
+    data['components'][component] = json.loads(output.decode('utf-8'))
+
+# Find the path to crosvm's default.nix, so the srcs data can be
+# written into the same directory.
+argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
+position = json.loads(subprocess.check_output(argv).decode('utf-8'))
+filename = re.match(r'[^:]*', position)[0]
+
+# Finally, write the output.
+with open(dirname(filename) + '/upstream-info.json', 'w') as out:
+    json.dump(data, out, indent=2)
+    out.write('\n')
diff --git a/pkgs/applications/virtualization/crosvm/upstream-info.json b/pkgs/applications/virtualization/crosvm/upstream-info.json
new file mode 100644
index 00000000000..690eca38bff
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/upstream-info.json
@@ -0,0 +1,19 @@
+{
+  "version": "79.12607.0.0-rc4",
+  "components": {
+    "chromiumos/platform/crosvm": {
+      "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm",
+      "rev": "cfb7db44eb9e5a0bca9a22bfb985252ef74ab251",
+      "date": "2019-10-17T23:22:08+00:00",
+      "sha256": "0gm1ggyzh9qfizm36jmh71c3anygxj1840cm94h71kzg9kiw0330",
+      "fetchSubmodules": false
+    },
+    "chromiumos/third_party/adhd": {
+      "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd",
+      "rev": "a8df1c52bde3bfd2aebc1d7adcd6f195eb212cb1",
+      "date": "2019-10-17T18:53:18+00:00",
+      "sha256": "1hyvnvwr5ka9zw4h7hhl6fpsfl2acp3zy4wr5qrw8s1cn8ljr9vy",
+      "fetchSubmodules": false
+    }
+  }
+}
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 7dddc3b533b..9376adf8d6a 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.8";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "1anvlgw373031w0pp0b28l10yrnyhbj192n60bbbjahw487dk2fi";
+    sha256 = "0v1hrlpnln0c976fb0k2ig4jv11qbyzf95z0wy92fd8r8in16rc1";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index b1c42b099b6..7e8dbf33a7b 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.24.1";
+  version = "1.25.0";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lx7bx6jvhydbab8vwry0bclhdf0dfj6jrns1m5y45yp9ybqxmd5";
+    sha256 = "0zlprmsgmj4z627snsl0qmq8y7ggcyqrqm5vxvrvcigl7zywnprc";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/virtualization/docker/distribution.nix b/pkgs/applications/virtualization/docker/distribution.nix
index ed4db853c38..a408d20f3ba 100644
--- a/pkgs/applications/virtualization/docker/distribution.nix
+++ b/pkgs/applications/virtualization/docker/distribution.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "distribution";
-  version = "2.6.2";
+  version = "2.7.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/docker/distribution";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "docker";
     repo = "distribution";
     inherit rev;
-    sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b";
+    sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/virtualization/gvisor/containerd-shim.nix b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
new file mode 100644
index 00000000000..0161a117def
--- /dev/null
+++ b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, buildGoModule, go-bindata }:
+
+buildGoModule rec {
+  name = "gvisor-containerd-shim-${version}";
+  version = "2019-10-09";
+
+  src = fetchFromGitHub {
+    owner  = "google";
+    repo   = "gvisor-containerd-shim";
+    rev    = "f299b553afdd8455a0057862004061ea12e660f5";
+    sha256 = "077bhrmjrpcxv1z020yxhx2c4asn66j21gxlpa6hz0av3lfck9lm";
+  };
+
+  modSha256 = "1jdhgbrn59ahnabwnig99i21f6kimmqx9f3dg10ffwfs3dx0gzlg";
+
+  buildPhase = ''
+    make
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test
+  '';
+
+  installPhase = ''
+    make install DESTDIR="$out"
+  '';
+
+  meta = with lib; {
+    description = "containerd shim for gVisor";
+    homepage    = https://github.com/google/gvisor-containerd-shim;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/gvisor/default.nix b/pkgs/applications/virtualization/gvisor/default.nix
new file mode 100644
index 00000000000..2d99fb3bf57
--- /dev/null
+++ b/pkgs/applications/virtualization/gvisor/default.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, buildBazelPackage
+, fetchFromGitHub
+, cacert
+, git
+, glibcLocales
+, go
+, iproute
+, iptables
+, makeWrapper
+, procps
+, python3
+}:
+
+let
+  preBuild = ''
+    patchShebangs .
+
+    # Tell rules_go to use the Go binary found in the PATH
+    sed -E -i \
+      -e 's|go_version\s*=\s*"[^"]+",|go_version = "host",|g' \
+      WORKSPACE
+
+    # The gazelle Go tooling needs CA certs
+    export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
+
+    # If we don't reset our GOPATH, the rules_go stdlib builder tries to
+    # install something into it. Ideally that wouldn't happen, but for now we
+    # can also get around it by unsetting GOPATH entirely, since rules_go
+    # doesn't need it.
+    export GOPATH=
+  '';
+
+in buildBazelPackage rec {
+  name = "gvisor-${version}";
+  version = "2019-11-14";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo  = "gvisor";
+    rev   = "release-20191114.0";
+    sha256 = "0kyixjjlws9iz2r2srgpdd4rrq94vpxkmh2rmmzxd9mcqy2i9bg1";
+  };
+
+  nativeBuildInputs = [ git glibcLocales go makeWrapper python3 ];
+
+  bazelTarget = "//runsc:runsc";
+
+  # gvisor uses the Starlark implementation of rules_cc, not the built-in one,
+  # so we shouldn't delete it from our dependencies.
+  removeRulesCC = false;
+
+  fetchAttrs = {
+    inherit preBuild;
+
+    preInstall = ''
+      # Remove the go_sdk (it's just a copy of the go derivation) and all
+      # references to it from the marker files. Bazel does not need to download
+      # this sdk because we have patched the WORKSPACE file to point to the one
+      # currently present in PATH. Without removing the go_sdk from the marker
+      # file, the hash of it will change anytime the Go derivation changes and
+      # that would lead to impurities in the marker files which would result in
+      # a different sha256 for the fetch phase.
+      rm -rf $bazelOut/external/{go_sdk,\@go_sdk.marker}
+
+      # Remove the gazelle tools, they contain go binaries that are built
+      # non-deterministically. As long as the gazelle version matches the tools
+      # should be equivalent.
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_tools,\@bazel_gazelle_go_repository_tools.marker}
+
+      # Remove the gazelle repository cache
+      chmod -R +w $bazelOut/external/bazel_gazelle_go_repository_cache
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_cache,\@bazel_gazelle_go_repository_cache.marker}
+
+      # Remove log file(s)
+      rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
+    '';
+
+    sha256 = "122qk6iv8hd7g2a84y9aqqhij4r0m47vpxzbqhhh6k5livc73qd6";
+  };
+
+  buildAttrs = {
+    inherit preBuild;
+
+    installPhase = ''
+      install -Dm755 bazel-bin/runsc/*_pure_stripped/runsc $out/bin/runsc
+
+      # Needed for the 'runsc do' subcomand
+      wrapProgram $out/bin/runsc \
+        --prefix PATH : ${stdenv.lib.makeBinPath [ iproute iptables procps ]}
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Container Runtime Sandbox";
+    homepage = https://github.com/google/gvisor;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/podman-compose/default.nix b/pkgs/applications/virtualization/podman-compose/default.nix
new file mode 100644
index 00000000000..31755f87f63
--- /dev/null
+++ b/pkgs/applications/virtualization/podman-compose/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonApplication, fetchPypi, podman, pyyaml }:
+
+buildPythonApplication rec {
+  version = "0.1.5";
+  pname = "podman-compose";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sgbc889zq127qhxa9frhswa1mid19fs5qnyzfihx648y5i968pv";
+  };
+
+  propagatedBuildInputs = [ pyyaml podman ];
+
+  meta = with lib; {
+    description = "An implementation of docker-compose with podman backend";
+    homepage = "https://github.com/containers/podman-compose";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index fa48c8b5e5e..9d94ced0bf2 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -5,13 +5,13 @@
 
 buildGoPackage rec {
   pname = "podman";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "libpod";
     rev    = "v${version}";
-    sha256 = "0cwyrzjjgxclnzc1yx6vm2bvq73mldwxfwalkprzlg8vpqbxji8y";
+    sha256 = "0y87pylpff2xl796n5s2vrm90pspzqfw8h4a5gndn1mx18s09s69";
   };
 
   goPackagePath = "github.com/containers/libpod";
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 5aa1f2e1f55..f90873c6e33 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -36,11 +36,10 @@ in
 
 stdenv.mkDerivation rec {
   version = "4.1.0";
-  name = "qemu-"
-    + stdenv.lib.optionalString xenSupport "xen-"
-    + stdenv.lib.optionalString hostCpuOnly "host-cpu-only-"
-    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
-    + version;
+  pname = "qemu"
+    + stdenv.lib.optionalString xenSupport "-xen"
+    + stdenv.lib.optionalString hostCpuOnly "-host-cpu-only"
+    + stdenv.lib.optionalString nixosTestRunner "-for-vm-tests";
 
   src = fetchurl {
     url = "https://wiki.qemu.org/download/qemu-${version}.tar.bz2";
diff --git a/pkgs/applications/virtualization/spike/default.nix b/pkgs/applications/virtualization/spike/default.nix
new file mode 100644
index 00000000000..4dbb7fbe4a5
--- /dev/null
+++ b/pkgs/applications/virtualization/spike/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, dtc }:
+
+stdenv.mkDerivation rec {
+  pname = "spike";
+  version = "1.0.0";
+
+  src = fetchgit {
+    url = "https://github.com/riscv/riscv-isa-sim.git";
+    rev = "v${version}";
+    sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww";
+  };
+
+  nativeBuildInputs = [ dtc ];
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    patchShebangs scripts/*.sh
+    patchShebangs tests/ebreak.py
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "A RISC-V ISA Simulator";
+    homepage = "https://github.com/riscv/riscv-isa-sim";
+    license = licenses.bsd3;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ blitz ];
+  };
+}
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 42860966fe1..99d20477a12 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -9,17 +9,12 @@
 
 with stdenv.lib;
 
-# TODO: remove after there's support for setupPyDistFlags
-let
-  setuppy = ../../../development/interpreters/python/run_setup.py;
-in
 python3Packages.buildPythonApplication rec {
-  name = "virt-manager-${version}";
+  pname = "virt-manager";
   version = "2.2.1";
-  namePrefix = "";
 
   src = fetchurl {
-    url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
+    url = "http://virt-manager.org/download/sources/virt-manager/${pname}-${version}.tar.gz";
     sha256 = "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g";
   };
 
@@ -49,13 +44,7 @@ python3Packages.buildPythonApplication rec {
     ${python3Packages.python.interpreter} setup.py configure --prefix=$out
   '';
 
-  # TODO: remove after there's support for setupPyDistFlags
-  buildPhase = ''
-    runHook preBuild
-    cp ${setuppy} nix_run_setup
-    ${python3Packages.python.pythonForBuild.interpreter} nix_run_setup --no-update-icon-cache build_ext bdist_wheel
-    runHook postBuild
-  '';
+  setupPyGlobalFlags = [ "--no-update-icon-cache" ];
 
   preFixup = ''
     gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index addcf125e27..6ecdf1d29bc 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -2,7 +2,7 @@
 , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras
 , qttools, qtsvg, qtwayland, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
-, alsaLib, curl, libvpx, nettools, dbus, substituteAll
+, alsaLib, curl, libvpx, nettools, dbus, substituteAll, fetchpatch
 , makeself, perl
 , javaBindings ? true, jdk ? null # Almost doesn't affect closure size
 , pythonBindings ? false, python3 ? null
@@ -21,8 +21,8 @@ let
   buildType = "release";
   # Remember to change the extpackRev and version in extpack.nix and
   # guest-additions/default.nix as well.
-  main = "1hxbvr78b0fddcn7npz72ki89lpmbgqj4b5qvxm1wik7v0d8v1y8";
-  version = "6.0.12";
+  main = "036x2mvkk22lbg72cz6pik9z538j1ag6mmwjjmfikgrq1i7v24jy";
+  version = "6.0.14";
 in stdenv.mkDerivation {
   pname = "virtualbox";
   inherit version;
@@ -92,9 +92,26 @@ in stdenv.mkDerivation {
     })
   ++ [
     ./qtx11extras.patch
-    # Kernel 5.3 fix, should be fixed with VirtualBox 6.0.14
-    # https://www.virtualbox.org/ticket/18911
-    ./kernel-5.3-fix.patch
+    # Kernel 5.4 fix, should be fixed with next upstream release
+    # https://www.virtualbox.org/ticket/18945
+    (fetchpatch {
+      name = "kernel-5.4-fix-1.patch";
+      url = "https://www.virtualbox.org/changeset/81586/vbox?format=diff";
+      sha256 = "0zbkc9v65pkdmjik53x29g39qyf7narkhpwpx5n1n1bfqnhf0k1r";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-2.patch";
+      url = "https://www.virtualbox.org/changeset/81587/vbox?format=diff";
+      sha256 = "1j98cqxj8qlqwaqr4mvwwbkmchw8jmygjwgzz82gix7fj76j2y9c";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      name = "kernel-5.4-fix-3.patch";
+      url = "https://www.virtualbox.org/changeset/81649/vbox?format=diff";
+      sha256 = "1d6p5k5dgzmjglqfkbcbvpn1x3wxila30q4gcbb7pxwfgclaw2hk";
+      stripLen = 1;
+    })
   ];
 
   postPatch = ''
@@ -214,7 +231,7 @@ in stdenv.mkDerivation {
     description = "PC emulator";
     license = licenses.gpl2;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander ];
+    maintainers = with maintainers; [ sander ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 56400a75945..c935a40c540 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -2,7 +2,7 @@
 
 with lib;
 
-let version = "6.0.12";
+let version = "6.0.14";
 in
 fetchurl rec {
   name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
@@ -11,14 +11,14 @@ 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 = "27a0956940654b0accf4d79692078bd496d9f062e4ed3da69e5421cba8d1e444";
+    let value = "c8a5cc980c9c94cdac3d94e23cf159c2433aae76b416dbfb5b1a918758f21e63";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
     description = "Oracle Extension pack for VirtualBox";
     license = licenses.virtualbox-puel;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander cdepillabout ];
+    maintainers = with maintainers; [ sander cdepillabout ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index af247af0051..690b72f3eeb 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
-, zlib, xorg, dbus, virtualbox, dos2unix }:
+, zlib, xorg, dbus, virtualbox, dos2unix, fetchpatch, findutils, patchutils }:
 
 let
   version = virtualbox.version;
@@ -21,12 +21,12 @@ let
     { name = "libXfixes.so"; pkg = xorg.libXfixes; }
   ];
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0hflsbx70dli34mpx94vd33p55ycfs3ahzwcdzqxdiwiiskjpykq";
+    sha256 = "1c9ysx0fhxxginmp607b4fk74dvlr32n6w52gawm06prf4xg90nb";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
@@ -43,13 +43,67 @@ in stdenv.mkDerivation {
   prePatch = ''
     substituteInPlace src/vboxguest-${version}/vboxvideo/vbox_ttm.c \
       --replace "<ttm/" "<drm/ttm/"
-    ${dos2unix}/bin/dos2unix src/vboxguest-${version}/vboxguest/r0drv/linux/mp-r0drv-linux.c
+    
+    echo ${lib.escapeShellArgs patches} | \
+      ${findutils}/bin/xargs -n1 ${patchutils}/bin/lsdiff --strip=1 --addprefix=src/vboxguest-${version}/ | \
+      ${findutils}/bin/xargs ${dos2unix}/bin/dos2unix
   '';
 
   patchFlags = [ "-p1" "-d" "src/vboxguest-${version}" ];
-  # Kernel 5.3 fix, should be fixed with VirtualBox 6.0.14
-  # https://www.virtualbox.org/ticket/18911
-  patches = [ ./kernel-5.3-fix.patch ];
+  # Kernel 5.4 fix, should be fixed with next upstream release
+  # https://www.virtualbox.org/ticket/18945
+  patches = lib.concatLists (lib.mapAttrsToList (changeset: args:
+    map (arg:
+      fetchpatch ({
+        name = "kernel-5.4-fix-${changeset}.patch";
+        url = "https://www.virtualbox.org/changeset/${changeset}/vbox?format=diff";
+      } // arg)) args) {
+        "81586" = [{
+          sha256 = "126z67x6vy65w6jlqbh4z4f1cffxnycwb69vns0154bawbsbxsiw";
+          stripLen = 5;
+          extraPrefix = "vboxguest/";
+        }];
+        "81587" = [
+          {
+            sha256 = "0simzswnl0wvnc2i9gixz99rfc7lxk1nrnskksrlrrl9hqnh0lva";
+            stripLen = 5;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+          {
+            sha256 = "0a8r9h3x3lcjq2fykgqhdaykp00rnnkbxz8xnxg847zgvca15y02";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/the-linux-kernel.h" ];
+          }
+        ];
+        "81649" = [
+          {
+            sha256 = "1p1skxlvqigydxr4sk7w51lpk7nxg0d9lppq39sdnfmgi1z0h0sc";
+            stripLen = 2;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "1j060ggdnndyjdhkfvs15306gl7g932sim9xjmx2mnx8gjdmg37f";
+            stripLen = 2;
+            extraPrefix = "vboxsf/";
+            includes = [ "*/cdefs.h" ];
+          }
+          {
+            sha256 = "060h3a5k2yklbvlg0hyg4x87xrg37cvv3rjb67xizlwvlyy6ykkg";
+            stripLen = 5;
+            extraPrefix = "vboxguest/";
+            includes = [ "*/thread2-r0drv-linux.c" ];
+          }
+          {
+            sha256 = "0cxlkf7cy751gl8dgzr7vkims1kmx5pgzsrxyk8w18zyp5nk9glw";
+            stripLen = 7;
+            extraPrefix = "vboxvideo/";
+            includes = [ "*/vbox_*.c" ];
+          }
+        ];
+      });
 
   unpackPhase = ''
     ${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch
deleted file mode 100644
index 0bdd9ec1056..00000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/kernel-5.3-fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/vboxguest/r0drv/linux/mp-r0drv-linux.c
-+++ a/vboxguest/r0drv/linux/mp-r0drv-linux.c
-@@ -283,12 +283,15 @@
-     if (RTCpuSetCount(&OnlineSet) > 1)
-     {
-         /* Fire the function on all other CPUs without waiting for completion. */
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+        smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+        Assert(!rc); NOREF(rc);
- # else
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
--# endif
-         Assert(!rc); NOREF(rc);
-+# endif
-     }
- #endif
-
-@@ -326,7 +329,6 @@
- {
- #ifdef CONFIG_SMP
-     IPRT_LINUX_SAVE_EFL_AC();
--    int rc;
-     RTMPARGS Args;
-
-     RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
-@@ -337,14 +339,17 @@
-     Args.cHits = 0;
-
-     RTThreadPreemptDisable(&PreemptState);
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+    smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # else /* older kernels */
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # endif /* older kernels */
-     RTThreadPreemptRestore(&PreemptState);
-
--    Assert(rc == 0); NOREF(rc);
-     IPRT_LINUX_RESTORE_EFL_AC();
- #else
-     RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch b/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
deleted file mode 100644
index ba9c7c941db..00000000000
--- a/pkgs/applications/virtualization/virtualbox/kernel-5.3-fix.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-@@ -2123,7 +2123,9 @@
- #endif
-     if (in_dev != NULL)
-     {
--        for_ifa(in_dev) {
-+        struct in_ifaddr *ifa;
-+
-+        for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
-             if (VBOX_IPV4_IS_LOOPBACK(ifa->ifa_address))
-                 return NOTIFY_OK;
-
-@@ -2137,7 +2139,7 @@
-
-             pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
-                 /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
--        } endfor_ifa(in_dev);
-+        }
-     }
-
-     /*
---- a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-+++ a/src/VBox/Runtime/r0drv/linux/mp-r0drv-linux.c
-@@ -283,12 +283,15 @@
-     if (RTCpuSetCount(&OnlineSet) > 1)
-     {
-         /* Fire the function on all other CPUs without waiting for completion. */
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+        smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
-+        Assert(!rc); NOREF(rc);
- # else
-         int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
--# endif
-         Assert(!rc); NOREF(rc);
-+# endif
-     }
- #endif
-
-@@ -326,7 +329,6 @@
- {
- #ifdef CONFIG_SMP
-     IPRT_LINUX_SAVE_EFL_AC();
--    int rc;
-     RTMPARGS Args;
-
-     RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
-@@ -337,14 +339,17 @@
-     Args.cHits = 0;
-
-     RTThreadPreemptDisable(&PreemptState);
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
-+    smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # else /* older kernels */
--    rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
-+    Assert(rc == 0); NOREF(rc);
- # endif /* older kernels */
-     RTThreadPreemptRestore(&PreemptState);
-
--    Assert(rc == 0); NOREF(rc);
-     IPRT_LINUX_RESTORE_EFL_AC();
- #else
-     RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index c57a7f6e771..0d6b3632bc7 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "6.3.0";
+  version = "6.5.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y";
+    sha256 = "1lh45cxzpdwvhahlcayzqwq1q5hra25mszs13j0dswklcjvjqw8b";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix
index be45d68dc5d..ce4031b92f5 100644
--- a/pkgs/applications/window-managers/cage/default.nix
+++ b/pkgs/applications/window-managers/cage/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , meson, ninja, pkgconfig, makeWrapper
 , wlroots, wayland, wayland-protocols, pixman, libxkbcommon
-, systemd, mesa, libX11
+, systemd, libGL, libX11
 , xwayland ? null
 }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     wlroots wayland wayland-protocols pixman libxkbcommon
     # TODO: Not specified but required:
-    systemd mesa libX11
+    systemd libGL libX11
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix
index 15bd5e74cdc..8c3101f8eb9 100644
--- a/pkgs/applications/window-managers/i3/blocks.nix
+++ b/pkgs/applications/window-managers/i3/blocks.nix
@@ -1,16 +1,16 @@
-{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook }:
+{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook, pkg-config }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation {
   pname = "i3blocks";
-  version = "unstable-2019-02-07";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "vivien";
     repo = "i3blocks";
-    rev = "ec050e79ad8489a6f8deb37d4c20ab10729c25c3";
-    sha256 = "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b";
+    rev = "3417602a2d8322bc866861297f535e1ef80b8cb0";
+    sha256 = "0v8mwnm8qzpv6xnqvrk43s4b9iyld4naqzbaxk4ldq1qkhai0wsv";
   };
 
   patches = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     })
   ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   meta = {
     description = "A flexible scheduler for your i3bar blocks";
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index c8731408951..80750ab61be 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15083nagd0kzpkay5jxcq5i16yvybd4sh03g9x4q9xq4cy0qwj11";
+    sha256 = "1banaiqj4gdsg886kb7l1fxhmf33vxnwwha46397s7gwfxkvxz4n";
   };
 
   cargoSha256 = "1cbx2jll0bj547dvwzjprzidndbqn1c4c6hmbfgjgdkxmmrpb0r1";
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index f388c2d99db..58fa0d194e1 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "1.6.0";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo   = "icewm";
     rev    = version;
-    sha256 = "1l8hjmb19d7ds7z21cx207h86wkjcmmmamcnalgkwh4alvbawc2p";
+    sha256 = "0h3w718x28fd4sz36ka9wpgcb98scna6qpycxzls4cjji3rjgm0l";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl asciidoc ];
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 215a576a578..6b4c33dc077 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -3,11 +3,11 @@
 , pkgconfig, scdoc
 , wayland, libxkbcommon, pcre, json_c, dbus, libevdev
 , pango, cairo, libinput, libcap, pam, gdk-pixbuf
-, wlroots, wayland-protocols, swaybg
+, wlroots, wayland-protocols
 }:
 
 stdenv.mkDerivation rec {
-  pname = "sway";
+  pname = "sway-unwrapped";
   version = "1.2";
 
   src = fetchFromGitHub {
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
     ./load-configuration-from-etc.patch
   ];
 
-  nativeBuildInputs = [ pkgconfig meson ninja scdoc makeWrapper ];
+  nativeBuildInputs = [
+    pkgconfig meson ninja scdoc
+  ];
 
   buildInputs = [
     wayland libxkbcommon pcre json_c dbus libevdev
@@ -37,10 +39,6 @@ stdenv.mkDerivation rec {
     "-Dtray=enabled" "-Dman-pages=enabled"
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/sway --prefix PATH : "${swaybg}/bin"
-  '';
-
   meta = with stdenv.lib; {
     description = "i3-compatible tiling Wayland compositor";
     homepage    = https://swaywm.org;
diff --git a/pkgs/applications/window-managers/sway/wrapper.nix b/pkgs/applications/window-managers/sway/wrapper.nix
new file mode 100644
index 00000000000..bd59ac5fa45
--- /dev/null
+++ b/pkgs/applications/window-managers/sway/wrapper.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv
+, sway-unwrapped, swaybg
+, makeWrapper, symlinkJoin, writeShellScriptBin
+, withBaseWrapper ? true, extraSessionCommands ? "", dbus
+, withGtkWrapper ? false, wrapGAppsHook, gdk-pixbuf
+}:
+
+assert extraSessionCommands != "" -> withBaseWrapper;
+
+with lib;
+
+let
+  baseWrapper = writeShellScriptBin "sway" ''
+     set -o errexit
+     if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
+       export _SWAY_WRAPPER_ALREADY_EXECUTED=1
+       ${extraSessionCommands}
+     fi
+     if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
+       export DBUS_SESSION_BUS_ADDRESS
+       exec ${sway-unwrapped}/bin/sway "$@"
+     else
+       exec ${dbus}/bin/dbus-run-session ${sway-unwrapped}/bin/sway "$@"
+     fi
+   '';
+in symlinkJoin {
+  name = "sway-${sway-unwrapped.version}";
+
+  paths = (optional withBaseWrapper baseWrapper)
+    ++ [ sway-unwrapped ];
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ (optional withGtkWrapper wrapGAppsHook);
+
+  buildInputs = optional withGtkWrapper gdk-pixbuf;
+
+  postBuild = ''
+    # We want to run wrapProgram manually to only wrap sway and add swaybg:
+    export dontWrapGApps=true
+    ${optionalString withGtkWrapper "wrapGAppsHook"}
+    wrapProgram $out/bin/sway \
+      --prefix PATH : "${swaybg}/bin" ${optionalString withGtkWrapper ''\
+        "''${gappsWrapperArgs[@]}"
+      ''}
+  '';
+
+  passthru.providedSessions = [ "sway" ];
+
+  inherit (sway-unwrapped) meta;
+}
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 16fe748c3e5..3e5d8e6c384 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -1,6 +1,4 @@
 # Builder for Agda packages. Mostly inspired by the cabal builder.
-#
-# Contact: stdenv.lib.maintainers.fuuzetsu
 
 { stdenv, Agda, glibcLocales
 , writeShellScriptBin
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 7e2b2b347d9..c871df787b7 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -185,7 +185,7 @@ rec {
       keyutils.lib
       libjack2
       fribidi
-      p11_kit
+      p11-kit
 
       # libraries not on the upstream include list, but nevertheless expected
       # by at least one appimage
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index e02e77de45e..c60abdd03e8 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -34,8 +34,8 @@ let
   targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
                                         (targetPlatform.config + "-");
 
-  bintoolsVersion = (builtins.parseDrvName bintools.name).version;
-  bintoolsName = (builtins.parseDrvName bintools.name).name;
+  bintoolsVersion = stdenv.lib.getVersion bintools;
+  bintoolsName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName bintools);
 
   libc_bin = if libc == null then null else getBin libc;
   libc_dev = if libc == null then null else getDev libc;
@@ -73,9 +73,9 @@ let
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${bintoolsName}-wrapper")
-    + (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${bintoolsName}-wrapper");
+  version = if bintools == null then null else bintoolsVersion;
 
   preferLocalBuild = true;
 
@@ -111,17 +111,13 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      set -u
-
       mkdir -p $out/bin $out/nix-support
 
       wrap() {
         local dst="$1"
         local wrapper="$2"
         export prog="$3"
-        set +u
         substituteAll "$wrapper" "$out/bin/$dst"
-        set -u
         chmod +x "$out/bin/$dst"
       }
     ''
@@ -163,8 +159,6 @@ stdenv.mkDerivation {
         [[ -e "$underlying" ]] || continue
         wrap ${targetPrefix}$variant ${./ld-wrapper.sh} $underlying
       done
-
-      set +u
     '';
 
   emulation = let
@@ -190,6 +184,7 @@ stdenv.mkDerivation {
       else if targetPlatform.isMsp430 then "msp430"
       else if targetPlatform.isAvr then "avr"
       else if targetPlatform.isAlpha then "alpha"
+      else if targetPlatform.isVc4 then "vc4"
       else throw "unknown emulation for platform: ${targetPlatform.config}";
     in if targetPlatform.useLLVM or false then ""
        else targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
@@ -205,11 +200,7 @@ stdenv.mkDerivation {
   ];
 
   postFixup =
-    ''
-      set -u
-    ''
-
-    + optionalString (libc != null) (''
+    optionalString (libc != null) (''
       ##
       ## General libc support
       ##
@@ -307,7 +298,6 @@ stdenv.mkDerivation {
     ''
 
     + ''
-      set +u
       substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh
       substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh
       substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash
diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh
index 2e15fa95c79..a714bd151c9 100644
--- a/pkgs/build-support/bintools-wrapper/setup-hook.sh
+++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh
@@ -2,8 +2,6 @@
 #
 # See comments in cc-wrapper's setup hook. This works exactly the same way.
 
-set -u
-
 # Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
 # native compile.
 #
@@ -73,4 +71,3 @@ export NIX_HARDENING_ENABLE
 
 # No local scope in sourced file
 unset -v role_pre role_post cmd upper_case
-set +u
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index a1a38484386..8fa3cc55279 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -4,10 +4,30 @@
 , lib
 }:
 
-args@{ name, bazelFlags ? [], bazelBuildFlags ? [], bazelFetchFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }:
+args@{
+  name
+, bazelFlags ? []
+, bazelBuildFlags ? []
+, bazelFetchFlags ? []
+, bazelTarget
+, buildAttrs
+, fetchAttrs
+
+# Newer versions of Bazel are moving away from built-in rules_cc and instead
+# allow fetching it as an external dependency in a WORKSPACE file[1]. If
+# removed in the fixed-output fetch phase, building will fail to download it.
+# This can be seen e.g. in #73097
+#
+# This option allows configuring the removal of rules_cc in cases where a
+# project depends on it via an external dependency.
+#
+# [1]: https://github.com/bazelbuild/rules_cc
+, removeRulesCC ? true
+, ...
+}:
 
 let
-  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" ];
+  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
   fBuildAttrs = fArgs // buildAttrs;
   fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
 
@@ -24,8 +44,12 @@ in stdenv.mkDerivation (fBuildAttrs // {
       export bazelOut="$(echo ''${NIX_BUILD_TOP}/output | sed -e 's,//,/,g')"
       export bazelUserRoot="$(echo ''${NIX_BUILD_TOP}/tmp | sed -e 's,//,/,g')"
       export HOME="$NIX_BUILD_TOP"
+      export USER="nix"
       # This is needed for git_repository with https remotes
       export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt"
+      # This is needed for Bazel fetchers that are themselves programs (e.g.
+      # rules_go using the go toolchain)
+      export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
     '';
 
     buildPhase = fFetchAttrs.buildPhase or ''
@@ -60,7 +84,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
 
       # Remove all built in external workspaces, Bazel will recreate them when building
       rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker}
-      rm -rf $bazelOut/external/{rules_cc,\@rules_cc.marker}
+      ${if removeRulesCC then "rm -rf $bazelOut/external/{rules_cc,\\@rules_cc.marker}" else ""}
       rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker}
       rm -rf $bazelOut/external/{local_*,\@local_*.marker}
 
diff --git a/pkgs/build-support/build-dotnet-package/default.nix b/pkgs/build-support/build-dotnet-package/default.nix
index f36c69e4339..dae9ed888c7 100644
--- a/pkgs/build-support/build-dotnet-package/default.nix
+++ b/pkgs/build-support/build-dotnet-package/default.nix
@@ -29,9 +29,9 @@ attrsOrig @
       configurePhase = ''
         runHook preConfigure
 
-        [ -z "$dontPlacateNuget" ] && placate-nuget.sh
-        [ -z "$dontPlacatePaket" ] && placate-paket.sh
-        [ -z "$dontPatchFSharpTargets" ] && patch-fsharp-targets.sh
+        [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
+        [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
+        [ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh
 
         runHook postConfigure
       '';
@@ -69,7 +69,7 @@ attrsOrig @
 
         cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target"
 
-        if [ -z "$dontRemoveDuplicatedDlls" ]
+        if [ -z "''${dontRemoveDuplicatedDlls-}" ]
         then
           pushd "$out"
           remove-duplicated-dlls.sh
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index cf2d38cd997..151313847e4 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -35,8 +35,8 @@ let
   targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
                                            (targetPlatform.config + "-");
 
-  ccVersion = (builtins.parseDrvName cc.name).version;
-  ccName = (builtins.parseDrvName cc.name).name;
+  ccVersion = stdenv.lib.getVersion cc;
+  ccName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName cc);
 
   libc_bin = if libc == null then null else getBin libc;
   libc_dev = if libc == null then null else getDev libc;
@@ -93,9 +93,9 @@ assert nativeLibc == bintools.nativeLibc;
 assert nativePrefix == bintools.nativePrefix;
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${ccName}-wrapper")
-    + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${ccName}-wrapper");
+  version = if cc == null then null else ccVersion;
 
   preferLocalBuild = true;
 
@@ -132,10 +132,10 @@ stdenv.mkDerivation {
     src=$PWD
   '';
 
+  wrapper = ./cc-wrapper.sh;
+
   installPhase =
     ''
-      set -u
-
       mkdir -p $out/bin $out/nix-support
 
       wrap() {
@@ -173,42 +173,42 @@ stdenv.mkDerivation {
       export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
       if [ -e $ccPath/${targetPrefix}gcc ]; then
-        wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
+        wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc
         ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}gcc
         export named_cxx=${targetPrefix}g++
       elif [ -e $ccPath/clang ]; then
-        wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
+        wrap ${targetPrefix}clang $wrapper $ccPath/clang
         ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}clang
         export named_cxx=${targetPrefix}clang++
       fi
 
       if [ -e $ccPath/${targetPrefix}g++ ]; then
-        wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
+        wrap ${targetPrefix}g++ $wrapper $ccPath/${targetPrefix}g++
         ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
       elif [ -e $ccPath/clang++ ]; then
-        wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        wrap ${targetPrefix}clang++ $wrapper $ccPath/clang++
         ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
       fi
 
       if [ -e $ccPath/cpp ]; then
-        wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
+        wrap ${targetPrefix}cpp $wrapper $ccPath/cpp
       fi
     ''
 
     + optionalString cc.langFortran or false ''
-      wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
+      wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
     ''
 
     + optionalString cc.langJava or false ''
-      wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
+      wrap ${targetPrefix}gcj $wrapper $ccPath/${targetPrefix}gcj
     ''
 
     + optionalString cc.langGo or false ''
-      wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
+      wrap ${targetPrefix}gccgo $wrapper $ccPath/${targetPrefix}gccgo
     '';
 
   strictDeps = true;
@@ -224,8 +224,6 @@ stdenv.mkDerivation {
 
   postFixup =
     ''
-      set -u
-
       # Backwards compatability for packages expecting this file, e.g. with
       # `$NIX_CC/nix-support/dynamic-linker`.
       #
@@ -239,7 +237,7 @@ stdenv.mkDerivation {
       fi
     ''
 
-    + optionalString (libc != null) ''
+    + optionalString (libc != null) (''
       ##
       ## General libc support
       ##
@@ -255,11 +253,17 @@ stdenv.mkDerivation {
       # compile, because it uses "#include_next <limits.h>" to find the
       # limits.h file in ../includes-fixed. To remedy the problem,
       # another -idirafter is necessary to add that directory again.
-      echo "-B${libc_lib}${libc.libdir or "/lib/"} -idirafter ${libc_dev}${libc.incdir or "/include"} ${optionalString isGNU "-idirafter ${cc}/lib/gcc/*/*/include-fixed"}" > $out/nix-support/libc-cflags
+      echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags
+      echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags
+    '' + optionalString isGNU ''
+      for dir in "${cc}"/lib/gcc/*/*/include-fixed; do
+        echo '-idirafter' ''${dir} >> $out/nix-support/libc-cflags
+      done
+    '' + ''
 
       echo "${libc_lib}" > $out/nix-support/orig-libc
       echo "${libc_dev}" > $out/nix-support/orig-libc-dev
-    ''
+    '')
 
     + optionalString (!nativeTools) ''
       ##
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
index 211b5063291..5b13f268309 100644
--- a/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -54,8 +54,6 @@
 # For more details, read the individual files where the mechanisms used to
 # accomplish this will be individually documented.
 
-set -u
-
 # Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a
 # native compile.
 #
@@ -120,4 +118,3 @@ export NIX_HARDENING_ENABLE
 
 # No local scope in sourced file
 unset -v role_pre role_post
-set +u
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 37b25232b96..e10ff269950 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -287,10 +287,16 @@ rec {
   # 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.
+  #
+  # NOTE: the `closures` parameter is a list of closures to include.
+  # The TOP LEVEL store paths themselves will never be present in the
+  # resulting image. At this time (2019-12-16) none of these layers
+  # are appropriate to include, as they are all created as
+  # implementation details of dockerTools.
   mkManyPureLayers = {
     name,
     # Files to add to the layer.
-    closure,
+    closures,
     configJson,
     # Docker has a 125-layer maximum, we pick 100 to ensure there is
     # plenty of room for extension.
@@ -303,10 +309,12 @@ rec {
         isExecutable = true;
         src = ./store-path-to-layer.sh;
       };
+
+      overallClosure = writeText "closure" (lib.concatStringsSep " " closures);
     in
     runCommand "${name}-granular-docker-layers" {
       inherit maxLayers;
-      paths = referencesByPopularity closure;
+      paths = referencesByPopularity overallClosure;
       nativeBuildInputs = [ jshon rsync tarsum ];
       enableParallelBuilding = true;
     }
@@ -317,15 +325,20 @@ rec {
         | jshon -d config \
         | jshon -s "1970-01-01T00:00:01Z" -i created > generic.json
 
+
       # WARNING!
       # The following code is fiddly w.r.t. ensuring every layer is
       # created, and that no paths are missed. If you change the
       # following head and tail call lines, double-check that your
       # code behaves properly when the number of layers equals:
       #      maxLayers-1, maxLayers, and maxLayers+1
-      head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
-      if [ $(cat $paths | wc -l) -ge $maxLayers ]; then
-        tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers
+      paths() {
+        cat $paths ${lib.concatMapStringsSep " " (path: "| grep -v ${path}") (closures ++ [ overallClosure ])}
+      }
+
+      paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
+      if [ $(paths | wc -l) -ge $maxLayers ]; then
+        paths | tail -n+$maxLayers | xargs ${storePathToLayer} $maxLayers
       fi
 
       echo "Finished building layer '$name'"
@@ -528,15 +541,18 @@ rec {
     created ? "1970-01-01T00:00:01Z",
     # Optional bash script to run on the files prior to fixturizing the layer.
     extraCommands ? "", uid ? 0, gid ? 0,
-    # Docker's lowest maximum layer limit is 42-layers for an old
-    # version of the AUFS graph driver. We pick 24 to ensure there is
-    # plenty of room for extension. I believe the actual maximum is
-    # 128.
-    maxLayers ? 24
+    # We pick 100 to ensure there is plenty of room for extension. I
+    # believe the actual maximum is 128.
+    maxLayers ? 100
   }:
     let
       baseName = baseNameOf name;
-      contentsEnv = symlinkJoin { name = "bulk-layers"; paths = (if builtins.isList contents then contents else [ contents ]); };
+      contentsEnv = symlinkJoin {
+        name = "bulk-layers";
+        paths = if builtins.isList contents
+          then contents
+          else [ contents ];
+      };
 
       configJson = let
           pure = writeText "${baseName}-config.json" (builtins.toJSON {
@@ -553,7 +569,7 @@ rec {
 
       bulkLayers = mkManyPureLayers {
           name = baseName;
-          closure = writeText "closure" "${contentsEnv} ${configJson}";
+          closures = [ contentsEnv configJson ];
           # One layer will be taken up by the customisationLayer, so
           # take up one less.
           maxLayers = maxLayers - 1;
@@ -845,6 +861,9 @@ rec {
         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
         ${nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
 
         mkdir -p nix/var/nix/gcroots/docker/
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 29eea33a7e1..d7d1a693310 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -117,7 +117,12 @@ rec {
       pkgs.nix
     ];
     config = {
-      Env = [ "NIX_PAGER=cat" ];
+      Env = [
+        "NIX_PAGER=cat"
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        "USER=nobody"
+      ];
     };
   };
 
@@ -231,7 +236,6 @@ rec {
     name = "another-layered-image";
     tag = "latest";
     config.Cmd = [ "${pkgs.hello}/bin/hello" ];
-    contents = [ pkgs.hello ];
   };
 
 }
diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/setup-hook.sh
index e1db3e828fd..b210511d670 100644
--- a/pkgs/build-support/emacs/setup-hook.sh
+++ b/pkgs/build-support/emacs/setup-hook.sh
@@ -1,11 +1,13 @@
 addEmacsVars () {
   if test -d $1/share/emacs/site-lisp; then
-      export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
+      # it turns out, that the trailing : is actually required
+      # see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
+      export EMACSLOADPATH="$1/share/emacs/site-lisp:${EMACSLOADPATH-}"
   fi
 }
 
 # If this is for a wrapper derivation, emacs and the dependencies are all
 # run-time dependencies. If this is for precompiling packages into bytecode,
 # emacs is a compile-time dependency of the package.
-addEnvHooks "$targetOffset" addEmacsVars
+addEnvHooks "$hostOffset" addEmacsVars
 addEnvHooks "$targetOffset" addEmacsVars
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 931be1a3700..8020ba46f3f 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -42,6 +42,7 @@ Options:
       --url url       Any url understood by 'git clone'.
       --rev ref       Any sha1 or references (such as refs/heads/master)
       --hash h        Expected hash.
+      --branch-name   Branch name to check out into
       --deepClone     Clone the entire repository.
       --no-deepClone  Make a shallow clone of just the required ref.
       --leave-dotGit  Keep the .git directories.
diff --git a/pkgs/build-support/fetchgit/private.nix b/pkgs/build-support/fetchgit/private.nix
deleted file mode 100644
index 6731cf87fbd..00000000000
--- a/pkgs/build-support/fetchgit/private.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchgit, runCommand, makeWrapper, openssh }: args: derivation ((fetchgit args).drvAttrs // {
-  SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
-    then builtins.toString <ssh-auth-sock>
-    else null;
-
-  GIT_SSH = let
-    config = let
-        sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
-          then <ssh-config-file>
-          else builtins.trace ''
-            Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
-
-            Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
-
-            You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
-          '' "/var/lib/empty/config";
-      in builtins.toString sshConfigFile;
-
-    ssh-wrapped = runCommand "fetchgit-ssh" {
-      nativeBuildInputs = [ makeWrapper ];
-    } ''
-      mkdir -p $out/bin
-      makeWrapper ${openssh}/bin/ssh $out/bin/ssh --prefix PATH : "$out/bin" --add-flags "-F ${config}" "$@"
-    '';
-  in "${ssh-wrapped}/bin/ssh";
-})
diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix
new file mode 100644
index 00000000000..827680992d6
--- /dev/null
+++ b/pkgs/build-support/fetchgitiles/default.nix
@@ -0,0 +1,10 @@
+{ fetchzip, lib }:
+
+{ url, rev, name ? "source", ... } @ args:
+
+fetchzip ({
+  inherit name;
+  url = "${url}/+archive/${rev}.tar.gz";
+  stripRoot = false;
+  meta.homepage = url;
+} // removeAttrs args [ "url" "rev" ]) // { inherit rev; }
diff --git a/pkgs/build-support/fetchgitlab/default.nix b/pkgs/build-support/fetchgitlab/default.nix
index be110cf8393..6c4d52a0533 100644
--- a/pkgs/build-support/fetchgitlab/default.nix
+++ b/pkgs/build-support/fetchgitlab/default.nix
@@ -3,8 +3,19 @@
 # gitlab example
 { owner, repo, rev, domain ? "gitlab.com", name ? "source", group ? null
 , ... # For hash agility
-}@args: fetchzip ({
+} @ args:
+
+with lib;
+
+let
+  slug = concatStringsSep "/"
+    ((optional (group != null) group) ++ [ owner repo ]);
+
+  escapedSlug = replaceStrings ["." "/"] ["%2E" "%2F"] slug;
+in
+
+fetchzip ({
   inherit name;
-  url = "https://${domain}/api/v4/projects/${lib.optionalString (group != null) "${lib.replaceStrings ["."] ["%2E"] group}%2F"}${lib.replaceStrings ["."] ["%2E"] owner}%2F${lib.replaceStrings ["."] ["%2E"] repo}/repository/archive.tar.gz?sha=${rev}";
-  meta.homepage = "https://${domain}/${lib.optionalString (group != null) "${group}/"}${owner}/${repo}/";
+  url = "https://${domain}/api/v4/projects/${escapedSlug}/repository/archive.tar.gz?sha=${rev}";
+  meta.homepage = "https://${domain}/${slug}/";
 } // removeAttrs args [ "domain" "owner" "group" "repo" "rev" ]) // { inherit rev; }
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index 6300587a7d1..7d23a3a7f8f 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
+{ lib, buildPackages ? { inherit stdenvNoCC; }, stdenvNoCC, curl }: # Note that `curl' may be `null', in case of the native stdenvNoCC.
 
 let
 
@@ -10,7 +10,7 @@ let
   # resulting store derivations (.drv files) much smaller, which in
   # turn makes nix-env/nix-instantiate faster.
   mirrorsFile =
-    stdenvNoCC.mkDerivation ({
+    buildPackages.stdenvNoCC.mkDerivation ({
       name = "mirrors-list";
       builder = ./write-mirror-list.sh;
       preferLocalBuild = true;
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 5658094872c..220f3b00a77 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -56,4 +56,12 @@ for module in $closure; do
     done
 done
 
+# copy module ordering hints for depmod
+cp $kernel/lib/modules/"$version"/modules.order $out/lib/modules/"$version"/.
+cp $kernel/lib/modules/"$version"/modules.builtin $out/lib/modules/"$version"/.
+
 depmod -b $out -a $version
+
+# remove original hints from final derivation
+rm $out/lib/modules/"$version"/modules.order
+rm $out/lib/modules/"$version"/modules.builtin
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index 8e8da00b02a..d31b7551e94 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -59,6 +59,11 @@ static const char * rewrite(const char * path, char * buf)
     return path;
 }
 
+static int open_needs_mode(int flags)
+{
+    return (flags & O_CREAT) || (flags & O_TMPFILE) == O_TMPFILE;
+}
+
 /* The following set of Glibc library functions is very incomplete -
    it contains only what we needed for programs in Nixpkgs. Just add
    more functions as needed. */
@@ -67,7 +72,7 @@ int open(const char * path, int flags, ...)
 {
     int (*open_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -81,7 +86,7 @@ int open64(const char * path, int flags, ...)
 {
     int (*open64_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -95,7 +100,7 @@ int openat(int dirfd, const char * path, int flags, ...)
 {
     int (*openat_real) (int, const char *, int, mode_t) = dlsym(RTLD_NEXT, "openat");
     mode_t mode = 0;
-    if (flags & O_CREAT) {
+    if (open_needs_mode(flags)) {
         va_list ap;
         va_start(ap, flags);
         mode = va_arg(ap, mode_t);
@@ -140,9 +145,9 @@ int stat(const char * path, struct stat * st)
     return __stat_real(rewrite(path, buf), st);
 }
 
-int * access(const char * path, int mode)
+int access(const char * path, int mode)
 {
-    int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
+    int (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
     char buf[PATH_MAX];
     return access_real(rewrite(path, buf), mode);
 }
diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix
index f8c31ed5c1d..67b82fd66db 100644
--- a/pkgs/build-support/make-desktopitem/default.nix
+++ b/pkgs/build-support/make-desktopitem/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib}:
+{ lib, runCommandLocal }:
 { name
 , type ? "Application"
 , exec
@@ -13,24 +13,20 @@
 , extraEntries ? null
 }:
 
-stdenv.mkDerivation {
-  name = "${name}.desktop";
+let
+  optionalEntriesList = [{k="Icon";          v=icon;}
+                         {k="Comment";       v=comment;}
+                         {k="GenericName";   v=genericName;}
+                         {k="MimeType";      v=mimeType;}
+                         {k="StartupNotify"; v=startupNotify;}];
 
-  buildCommand = let
+  valueNotNull = {k, v}: v != null;
+  entriesToKeep = builtins.filter valueNotNull optionalEntriesList;
 
-   optionalEntriesList = [{k="Icon";          v=icon;}
-                          {k="Comment";       v=comment;}
-                          {k="GenericName";   v=genericName;}
-                          {k="MimeType";      v=mimeType;}
-                          {k="StartupNotify"; v=startupNotify;}];
-
-   valueNotNull = {k, v}: v != null;
-   entriesToKeep = builtins.filter valueNotNull optionalEntriesList;
-
-   mkEntry = {k, v}:  k + "=" + v;
-   optionalEntriesString  = lib.concatMapStringsSep "\n" mkEntry entriesToKeep;
-
-  in
+  mkEntry = {k, v}:  k + "=" + v;
+  optionalEntriesString  = lib.concatMapStringsSep "\n" mkEntry entriesToKeep;
+in
+runCommandLocal "${name}.desktop" {}
   ''
     mkdir -p $out/share/applications
     cat > $out/share/applications/${name}.desktop <<EOF
@@ -44,5 +40,4 @@ stdenv.mkDerivation {
     ${if extraEntries == null then ''EOF'' else ''
     ${extraEntries}
     EOF''}
-  '';
-}
+  ''
diff --git a/pkgs/build-support/ocaml/default.nix b/pkgs/build-support/ocaml/default.nix
index cc2001c66e2..3957b955a2c 100644
--- a/pkgs/build-support/ocaml/default.nix
+++ b/pkgs/build-support/ocaml/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (args // {
 
   setupHook = if setupHook == null && hasSharedObjects
   then writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
     ''
   else setupHook;
 
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index e0a52e62561..db187d2ac14 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, makeDeps, rust }:
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
@@ -13,17 +13,6 @@
         (if release then "-C opt-level=3" else "-C debuginfo=2")
         (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
     rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
-
-    # Some platforms have different names for rustc.
-    rustPlatform =
-      with stdenv.hostPlatform.parsed;
-      let cpu_ = if cpu.name == "armv7a" then "armv7"
-                 else cpu.name;
-          vendor_ = vendor.name;
-          kernel_ = kernel.name;
-          abi_ = abi.name;
-      in
-      "${cpu_}-${vendor_}-${kernel_}-${abi_}";
   in ''
     runHook preBuild
     norm=""
@@ -67,7 +56,7 @@
         ${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
         $LINK ${deps}$EXTRA_LIB --cap-lints allow \
         $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors} \
-        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rustPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
+        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
       if [ "$crate_name_" != "$crate_name" ]; then
         mv target/bin/$crate_name_ target/bin/$crate_name
       fi
@@ -91,18 +80,18 @@
 
     echo "$EXTRA_LINK_SEARCH" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-L $lib" >> target/link
-           L=$(echo $lib | sed -e "s#$(pwd)/target/build#$out/lib#")
+         for library in $i; do
+           echo "-L $library" >> target/link
+           L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
            echo "-L $L" >> target/link.final
          done
        fi
     done
     echo "$EXTRA_LINK" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-l $lib" >> target/link
-           echo "-l $lib" >> target/link.final
+         for library in $i; do
+           echo "-l $library" >> target/link
+           echo "-l $library" >> target/link.final
          done
        fi
     done
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 6534e21c0f0..edff3941636 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -4,7 +4,7 @@
 # This can be useful for deploying packages with NixOps, and to share
 # binary dependencies between projects.
 
-{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc }:
+{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust }:
 
 let
     # This doesn't appear to be officially documented anywhere yet.
@@ -22,9 +22,9 @@ let
           else
             extern;
         in (if lib.lists.any (x: x == "lib") dep.crateType then
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
          else
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
       ) dependencies);
 
     echo_build_heading = colors: ''
@@ -59,7 +59,7 @@ let
     '';
 
     configureCrate = import ./configure-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
-    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
+    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps rust; };
     installCrate = import ./install-crate.nix;
 
     in
@@ -96,12 +96,12 @@ stdenv.mkDerivation (rec {
     buildInputs = (crate.buildInputs or []) ++ buildInputs_;
     dependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         dependencies_;
 
     buildDependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         buildDependencies_;
 
     completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
@@ -160,6 +160,9 @@ stdenv.mkDerivation (rec {
     };
     installPhase = installCrate crateName metadata;
 
+    outputs = [ "out" "lib" ];
+    outputDev = [ "lib" ];
+
 } // extraDerivationAttrs
 )) {
   rust = rustc;
diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
index 3b0282621ea..934c3a03176 100644
--- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
@@ -1,24 +1,26 @@
 crateName: metadata:
 ''
   runHook preInstall
-  mkdir -p $out
+  # always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib
+  mkdir $out
   if [[ -s target/env ]]; then
-    cp target/env $out/env
+    mkdir -p $lib
+    cp target/env $lib/env
   fi
   if [[ -s target/link.final ]]; then
-    mkdir -p $out/lib
-    cp target/link.final $out/lib/link
+    mkdir -p $lib/lib
+    cp target/link.final $lib/lib/link
   fi
   if [[ "$(ls -A target/lib)" ]]; then
-    mkdir -p $out/lib
-    cp target/lib/* $out/lib #*/
-    for lib in $out/lib/*.so $out/lib/*.dylib; do #*/
-      ln -s $lib $(echo $lib | sed -e "s/-${metadata}//")
+    mkdir -p $lib/lib
+    cp target/lib/* $lib/lib #*/
+    for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/
+      ln -s $library $(echo $library | sed -e "s/-${metadata}//")
     done
   fi
   if [[ "$(ls -A target/build)" ]]; then # */
-    mkdir -p $out/lib
-    cp -r target/build/* $out/lib # */
+    mkdir -p $lib/lib
+    cp -r target/build/* $lib/lib # */
   fi
   if [[ -d target/bin ]]; then
     if [[ "$(ls -A target/bin)" ]]; then
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index f0f949b2205..f9cf8f1f0c1 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }:
+{ stdenv, cacert, git, rust, cargo, rustc, fetchcargo, buildPackages, windows }:
 
 { name ? "${args.pname}-${args.version}"
 , cargoSha256 ? "unset"
 , src ? null
 , srcs ? null
+, unpackPhase ? null
 , cargoPatches ? []
 , patches ? []
 , sourceRoot ? null
@@ -29,7 +30,7 @@ assert buildType == "release" || buildType == "debug";
 let
   cargoDeps = if cargoVendorDir == null
     then fetchcargo {
-        inherit name src srcs sourceRoot cargoUpdateHook;
+        inherit name src srcs sourceRoot unpackPhase cargoUpdateHook;
         copyLockfile = verifyCargoDeps;
         patches = cargoPatches;
         sha256 = cargoSha256;
@@ -46,12 +47,7 @@ let
       cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
     '';
 
-  hostConfig = stdenv.hostPlatform.config;
-
-  rustHostConfig = {
-    x86_64-pc-mingw32 = "x86_64-pc-windows-gnu";
-  }.${hostConfig} or hostConfig;
-  rustTarget = if target == null then rustHostConfig else target;
+  rustTarget = if target == null then rust.toRustTarget stdenv.hostPlatform else target;
 
   ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
   cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
@@ -87,7 +83,7 @@ stdenv.mkDerivation (args // {
       --subst-var-by vendor "$(pwd)/$cargoDepsCopy"
 
     cat >> .cargo/config <<'EOF'
-    [target."${stdenv.buildPlatform.config}"]
+    [target."${rust.toRustTarget stdenv.buildPlatform}"]
     "linker" = "${ccForBuild}"
     ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
     [target."${rustTarget}"]
@@ -129,10 +125,10 @@ stdenv.mkDerivation (args // {
     (
     set -x
     env \
-      "CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \
-      "CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \
-      "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \
-      "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
+      "CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \
+      "CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \
+      "CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \
+      "CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \
       cargo build \
         ${stdenv.lib.optionalString (buildType == "release") "--release"} \
         --target ${rustTarget} \
diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix
index a515ce9c6eb..7a0ba38dce7 100644
--- a/pkgs/build-support/rust/fetchcargo.nix
+++ b/pkgs/build-support/rust/fetchcargo.nix
@@ -18,19 +18,19 @@ let cargo-vendor-normalise = stdenv.mkDerivation {
 };
 in
 { name ? "cargo-deps"
-, src
-, srcs
-, patches
+, src ? null
+, srcs ? []
+, patches ? []
 , sourceRoot
 , sha256
 , cargoUpdateHook ? ""
 , # whenever to also include the Cargo.lock in the output
   copyLockfile ? false
-}:
-stdenv.mkDerivation {
+, ...
+} @ args:
+stdenv.mkDerivation ({
   name = "${name}-vendor";
   nativeBuildInputs = [ cacert git cargo-vendor-normalise cargo ];
-  inherit src srcs patches sourceRoot;
 
   phases = "unpackPhase patchPhase installPhase";
 
@@ -76,4 +76,6 @@ stdenv.mkDerivation {
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
   preferLocalBuild = true;
-}
+} // (builtins.removeAttrs args [
+  "name" "sha256" "cargoUpdateHook" "copyLockfile"
+]))
diff --git a/pkgs/build-support/setup-hooks/audit-tmpdir.sh b/pkgs/build-support/setup-hooks/audit-tmpdir.sh
index 5264ce39851..c9dd32d1dd2 100644
--- a/pkgs/build-support/setup-hooks/audit-tmpdir.sh
+++ b/pkgs/build-support/setup-hooks/audit-tmpdir.sh
@@ -7,7 +7,7 @@
 # the moment that would produce too many spurious errors (e.g. debug
 # info or assertion messages that refer to $TMPDIR).
 
-fixupOutputHooks+=('if [ -z "$noAuditTmpdir" -a -e "$prefix" ]; then auditTmpdir "$prefix"; fi')
+fixupOutputHooks+=('if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi')
 
 auditTmpdir() {
     local dir="$1"
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh
index 6af8eb1aed9..52c50091d08 100644
--- a/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -228,7 +228,7 @@ autoPatchelf() {
 # behaviour as fixupOutputHooks because the setup hook for patchelf is run in
 # fixupOutput and the postFixup hook runs later.
 postFixupHooks+=('
-    if [ -z "$dontAutoPatchelf" ]; then
+    if [ -z "${dontAutoPatchelf-}" ]; then
         autoPatchelf -- $(for output in $outputs; do
             [ -e "${!output}" ] || continue
             echo "${!output}"
diff --git a/pkgs/build-support/setup-hooks/compress-man-pages.sh b/pkgs/build-support/setup-hooks/compress-man-pages.sh
index d10a898d6e4..82e48cd8aa7 100644
--- a/pkgs/build-support/setup-hooks/compress-man-pages.sh
+++ b/pkgs/build-support/setup-hooks/compress-man-pages.sh
@@ -1,4 +1,4 @@
-fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
+fixupOutputHooks+=('if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi')
 
 compressManPages() {
     local dir="$1"
diff --git a/pkgs/build-support/setup-hooks/find-xml-catalogs.sh b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
index 85364a61f61..f446a6f27fd 100644
--- a/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
+++ b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
@@ -11,12 +11,12 @@ addXMLCatalogs () {
     done
 }
 
-if [ -z "$libxmlHookDone" ]; then
+if [ -z "${libxmlHookDone-}" ]; then
     libxmlHookDone=1
 
     # Set up XML_CATALOG_FILES.  An empty initial value prevents
     # xmllint and xsltproc from looking in /etc/xml/catalog.
-    export XML_CATALOG_FILES
+    export XML_CATALOG_FILES=''
     if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
     addEnvHooks "$hostOffset" addXMLCatalogs
 fi
diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh
index 7724be369c9..9517af79732 100644
--- a/pkgs/build-support/setup-hooks/move-lib64.sh
+++ b/pkgs/build-support/setup-hooks/move-lib64.sh
@@ -8,7 +8,7 @@
 fixupOutputHooks+=(_moveLib64)
 
 _moveLib64() {
-    if [ "$dontMoveLib64" = 1 ]; then return; fi
+    if [ "${dontMoveLib64-}" = 1 ]; then return; fi
     if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
     echo "moving $prefix/lib64/* to $prefix/lib"
     mkdir -p $prefix/lib
diff --git a/pkgs/build-support/setup-hooks/move-sbin.sh b/pkgs/build-support/setup-hooks/move-sbin.sh
index cc51c27cafd..1c0c4dc9f2d 100644
--- a/pkgs/build-support/setup-hooks/move-sbin.sh
+++ b/pkgs/build-support/setup-hooks/move-sbin.sh
@@ -5,7 +5,7 @@
 fixupOutputHooks+=(_moveSbin)
 
 _moveSbin() {
-    if [ "$dontMoveSbin" = 1 ]; then return; fi
+    if [ "${dontMoveSbin-}" = 1 ]; then return; fi
     if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
     echo "moving $prefix/sbin/* to $prefix/bin"
     mkdir -p $prefix/bin
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh
index d43b1877674..2e95495c96f 100644
--- a/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -9,8 +9,8 @@ _assignFirst() {
     local varName="$1"
     local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name)
     shift
-    while [ $# -ge 1 ]; do
-        if [ -n "${!1}" ]; then eval "${varName}"="$1"; return; fi
+    while (( $# )); do
+        if [ -n "${!1-}" ]; then eval "${varName}"="$1"; return; fi
         shift
     done
     echo "Error: _assignFirst found no valid variant!"
@@ -19,7 +19,7 @@ _assignFirst() {
 
 # Same as _assignFirst, but only if "$1" = ""
 _overrideFirst() {
-    if [ -z "${!1}" ]; then
+    if [ -z "${!1-}" ]; then
         _assignFirst "$@"
     fi
 }
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index 3e900d0704c..29fed7ad794 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -105,7 +105,7 @@ patchShebangs() {
 }
 
 patchShebangsAuto () {
-    if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then
+    if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then
 
         # Dev output will end up being run on the build platform. An
         # example case of this is sdl2-config. Otherwise, we can just
diff --git a/pkgs/build-support/setup-hooks/prune-libtool-files.sh b/pkgs/build-support/setup-hooks/prune-libtool-files.sh
index 5d7432e8f09..0ec56549645 100644
--- a/pkgs/build-support/setup-hooks/prune-libtool-files.sh
+++ b/pkgs/build-support/setup-hooks/prune-libtool-files.sh
@@ -8,7 +8,7 @@
 fixupOutputHooks+=(_pruneLibtoolFiles)
 
 _pruneLibtoolFiles() {
-    if [ "$dontPruneLibtoolFiles" ] || [ ! -e "$prefix" ]; then
+    if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then
        return
     fi
 
diff --git a/pkgs/build-support/setup-hooks/set-java-classpath.sh b/pkgs/build-support/setup-hooks/set-java-classpath.sh
index 5d3548dc2e8..445fa56d61d 100644
--- a/pkgs/build-support/setup-hooks/set-java-classpath.sh
+++ b/pkgs/build-support/setup-hooks/set-java-classpath.sh
@@ -6,7 +6,7 @@ export CLASSPATH
 addPkgToClassPath () {
     local jar
     for jar in $1/share/java/*.jar; do
-        export CLASSPATH=''${CLASSPATH}''${CLASSPATH:+:}''${jar}
+        export CLASSPATH=''${CLASSPATH-}''${CLASSPATH:+:}''${jar}
     done
 }
 
diff --git a/pkgs/build-support/setup-hooks/strip.sh b/pkgs/build-support/setup-hooks/strip.sh
index fc4c7bfbaf9..f5fa9378fd7 100644
--- a/pkgs/build-support/setup-hooks/strip.sh
+++ b/pkgs/build-support/setup-hooks/strip.sh
@@ -10,7 +10,7 @@ _doStrip() {
     local -ra stripCmds=(STRIP TARGET_STRIP)
 
     # Optimization
-    if [[ "$STRIP" == "$TARGET_STRIP" ]]; then
+    if [[ "${STRIP-}" == "${TARGET_STRIP-}" ]]; then
         dontStripTarget+=1
     fi
 
@@ -20,7 +20,7 @@ _doStrip() {
         local -n stripCmd="${stripCmds[$i]}"
 
         # `dontStrip` disables them all
-        if [[ "$dontStrip" || "$flag" ]] || ! type -f "$stripCmd" 2>/dev/null
+        if [[ "${dontStrip-}" || "${flag-}" ]] || ! type -f "${stripCmd-}" 2>/dev/null
         then continue; fi
 
         stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
diff --git a/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh b/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
index 66f4e91c7bb..ebd3afa05d9 100644
--- a/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
+++ b/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh
@@ -1,7 +1,7 @@
 preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase"
 
 updateAutotoolsGnuConfigScriptsPhase() {
-    if [ -n "$dontUpdateAutotoolsGnuConfigScripts" ]; then return; fi
+    if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then return; fi
 
     for script in config.sub config.guess; do
         for f in $(find . -type f -name "$script"); do
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
index 717740f1f20..ff0cda7eaf0 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
@@ -15,7 +15,7 @@ wrapGApp() {
     wrapProgram "$program" "${gappsWrapperArgs[@]}" "$@"
 }
 
-# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
+# Note: $gappsWrapperArgs still gets defined even if ${dontWrapGApps-} is set.
 wrapGAppsHook() {
   # guard against running multiple times (e.g. due to propagation)
   [ -z "$wrapGAppsHookHasRun" ] || return 0
@@ -42,7 +42,9 @@ wrapGAppsHook() {
   fi
 
   for v in ${wrapPrefixVariables:-} GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
-    gappsWrapperArgs+=(--prefix "$v" : "${!v}")
+    if [ -n "${!v}" ]; then
+      gappsWrapperArgs+=(--prefix "$v" : "${!v}")
+    fi
   done
 
   if [[ -z "${dontWrapGApps:-}" ]]; then
diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix
index 9b159a994c8..9e4456a3a15 100644
--- a/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/pkgs/build-support/skaware/build-skaware-package.nix
@@ -18,12 +18,15 @@ in {
 , configureFlags
   # mostly for moving and deleting files from the build directory
   # : lines
-, postInstall
+, postInstall ? ""
+  # : lines
+, postFixup ? ""
   # : list Maintainer
 , maintainers ? []
-
-
-}:
+  # : attrs
+, meta ? {}
+, ...
+} @ args:
 
 let
 
@@ -50,16 +53,12 @@ let
     "README.*"
   ];
 
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
+in stdenv.mkDerivation ({
   src = fetchurl {
     url = "https://skarnet.org/software/${pname}/${pname}-${version}.tar.gz";
     inherit sha256;
   };
 
-  inherit outputs;
-
   dontDisableStatic = true;
   enableParallelBuilding = true;
 
@@ -84,13 +83,11 @@ in stdenv.mkDerivation {
        noiseFiles = commonNoiseFiles;
        docFiles = commonMetaFiles;
      }} $doc/share/doc/${pname}
-
-    ${postInstall}
-  '';
+  '' + postInstall;
 
   postFixup = ''
     ${cleanPackaging.checkForRemainingFiles}
-  '';
+  '' + postFixup;
 
   meta = {
     homepage = "https://skarnet.org/software/${pname}/";
@@ -98,6 +95,9 @@ in stdenv.mkDerivation {
     license = stdenv.lib.licenses.isc;
     maintainers = with lib.maintainers;
       [ pmahoney Profpatsch ] ++ maintainers;
-  };
+  } // meta;
 
-}
+} // builtins.removeAttrs args [
+  "sha256" "configureFlags" "postInstall" "postFixup"
+  "meta" "description" "platforms"  "maintainers"
+])
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 55df09121b4..5210b7d7ba2 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -2,11 +2,16 @@
 
 let
 
-  runCommand' = stdenv: name: env: buildCommand:
+  runCommand' = runLocal: stdenv: name: env: buildCommand:
     stdenv.mkDerivation ({
       inherit name buildCommand;
       passAsFile = [ "buildCommand" ];
-    } // env);
+    }
+    // (lib.optionalAttrs runLocal {
+          preferLocalBuild = true;
+          allowSubstitutes = false;
+       })
+    // env);
 
 in
 
@@ -21,11 +26,27 @@ rec {
   * runCommand "name" {envVariable = true;} ''echo hello > $out''
   * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior
   * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
+  *
+  * The `*Local` variants force a derivation to be built locally,
+  * it is not substituted.
+  *
+  * This is intended for very cheap commands (<1s execution time).
+  * It saves on the network roundrip and can speed up a build.
+  *
+  * It is the same as adding the special fields
+  * `preferLocalBuild = true;`
+  * `allowSubstitutes = false;`
+  * to a derivation’s attributes.
   */
   runCommand = runCommandNoCC;
-  runCommandNoCC = runCommand' stdenvNoCC;
-  runCommandCC = runCommand' stdenv;
+  runCommandLocal = runCommandNoCCLocal;
+
+  runCommandNoCC = runCommand' false stdenvNoCC;
+  runCommandNoCCLocal = runCommand' true stdenvNoCC;
 
+  runCommandCC = runCommand' false stdenv;
+  # `runCommandCCLocal` left out on purpose.
+  # We shouldn’t force the user to have a cc in scope.
 
   /* Writes a text file to the nix store.
    * The contents of text is added to the file in the store.
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 335cab7c45e..a7050f52e52 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -430,7 +430,7 @@ rec {
         set +o pipefail
         for i in $rpms; do
             echo "$i..."
-            ${rpm}/bin/rpm2cpio "$i" | chroot /mnt ${cpio}/bin/cpio -i --make-directories --unconditional --extract-over-symlinks
+            ${rpm}/bin/rpm2cpio "$i" | chroot /mnt ${cpio}/bin/cpio -i --make-directories --unconditional
         done
 
         eval "$preInstall"
diff --git a/pkgs/build-support/vm/windows/default.nix b/pkgs/build-support/vm/windows/default.nix
index 48ee2713d1f..309241c36de 100644
--- a/pkgs/build-support/vm/windows/default.nix
+++ b/pkgs/build-support/vm/windows/default.nix
@@ -20,8 +20,7 @@ let
   '';
 
 in {
-  runInWindowsVM = drv: let
-  in pkgs.lib.overrideDerivation drv (attrs: let
+  runInWindowsVM = drv: pkgs.lib.overrideDerivation drv (attrs: let
     bootstrap = bootstrapper attrs.windowsImage;
   in {
     requiredSystemFeatures = [ "kvm" ];
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 2cd4f1af022..b90c6490e4a 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -148,6 +148,7 @@ rec {
         cp $contentPath tmp.hs
         ${ghc.withPackages (_: libraries )}/bin/ghc tmp.hs
         mv tmp $out
+        ${pkgs.binutils-unwrapped}/bin/strip --strip-unneeded "$out"
       '';
     } name;
 
diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version
index 591ffa6ca5b..d051a0f75c1 100755
--- a/pkgs/common-updater/scripts/update-source-version
+++ b/pkgs/common-updater/scripts/update-source-version
@@ -92,8 +92,8 @@ if [ -z "$oldUrl" ]; then
     die "Couldn't evaluate source url from '$attr.src'!"
 fi
 
-drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"')
-oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"')
+drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; lib.getName $attr" | tr -d '"')
+oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (lib.getVersion $attr)" | tr -d '"')
 
 if [ -z "$drvName" -o -z "$oldVersion" ]; then
     die "Couldn't evaluate name and version from '$attr.name'!"
diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix
index 4bdfa70c63f..a47ec9ea790 100644
--- a/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/pkgs/data/documentation/gnome-user-docs/default.nix
@@ -1,27 +1,41 @@
-{ stdenv, fetchurl, itstool, libxml2, gettext, gnome3 }:
+{ stdenv
+, fetchurl
+, gettext
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-docs";
-  version = "3.2.2";
+  version = "3.34.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ka0nw2kc85p10y8x31v0wv06a88k7qrgafp4ys04y9fzz0rkcjj";
+    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "11m9fv8k2hynrcgah4jvbm6yczg0s1ly302mipysbwpn6gbdkvf2";
   };
 
-  nativeBuildInputs = [ itstool libxml2 gettext ];
+  nativeBuildInputs = [
+    gettext
+    itstool
+    libxml2
+    yelp-tools
+  ];
+
+  enableParallelBuilding = true;
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gnome3.gnome-user-docs";
     };
   };
 
-  meta = {
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-user-docs";
-    description = "GNOME User Documentation";
-    license = stdenv.lib.licenses.cc-by-30;
+  meta = with stdenv.lib; {
+    description = "User and system administration help for the GNOME desktop";
+    homepage = "https://help.gnome.org/users/gnome-help/";
+    license = licenses.cc-by-30;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index a266a597e0b..b4435fb911f 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "5.03";
+  version = "5.04";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz";
+    sha256 = "1bx4ws24bjq6iyfyilg7aih5f0qrhy9l97ksrwcd4yxvjh8gn13x";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix
index 113ee5b9204..0d46fc92d5f 100644
--- a/pkgs/data/fonts/babelstone-han/default.nix
+++ b/pkgs/data/fonts/babelstone-han/default.nix
@@ -5,7 +5,7 @@ let
 in fetchzip {
   name = "babelstone-han-${version}";
 
-  url = http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip;
+  url = https://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip;
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
     unzip $downloadedFile '*.ttf' -d $out/share/fonts/truetype
@@ -14,7 +14,7 @@ in fetchzip {
 
   meta = with lib; {
     description = "Unicode CJK font with over 36000 Han characters";
-    homepage = http://www.babelstone.co.uk/Fonts/Han.html;
+    homepage = https://www.babelstone.co.uk/Fonts/Han.html;
 
     license = licenses.free;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 4403d690a16..4c3459d0f11 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -33,6 +33,6 @@ in stdenv.mkDerivation rec {
     description = "Default typeface used in the user interface of GNOME since version 3.0";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.ofl;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/data/fonts/cascadia-code/default.nix b/pkgs/data/fonts/cascadia-code/default.nix
index d2d2ad34256..c89d4c6dfd4 100644
--- a/pkgs/data/fonts/cascadia-code/default.nix
+++ b/pkgs/data/fonts/cascadia-code/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "cascadia-code";
-  version = "1910.04";
+  version = "1911.21";
 in
 fetchurl {
   name = "${pname}-${version}";
@@ -15,7 +15,7 @@ fetchurl {
     install -Dm444 $downloadedFile $out/share/fonts/truetype/Cascadia.ttf
   '';
 
-  sha256 = "124zbv7xwirwwxrm988h3plwd2vynqxyx7p2gijqrnw69q9pf67q";
+  sha256 = "0b41xkpqx4ybpw5ar8njy0yznbk0hwf1ypigxf8f16chsfim7dkr";
 
   meta = with lib; {
     description = "Monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal";
diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix
index 2615d0260f0..6dcefe90055 100644
--- a/pkgs/data/fonts/comic-neue/default.nix
+++ b/pkgs/data/fonts/comic-neue/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "2.2";
+  version = "2.3";
 in fetchzip rec {
   name = "comic-neue-${version}";
 
@@ -9,15 +9,15 @@ in fetchzip rec {
 
   postFetch = ''
     mkdir -vp $out/share/{doc,fonts}
-    unzip -j $downloadedFile comic-neue-2.2/\*.otf   -d $out/share/fonts/opentype
-    unzip -j $downloadedFile comic-neue-2.2/\*.ttf   -d $out/share/fonts/truetype
-    unzip -j $downloadedFile comic-neue-2.2/\*.eot   -d $out/share/fonts/EOT
-    unzip -j $downloadedFile comic-neue-2.2/\*.woff  -d $out/share/fonts/WOFF
-    unzip -j $downloadedFile comic-neue-2.2/\*.woff2 -d $out/share/fonts/WOFF2
-    unzip -j $downloadedFile comic-neue-2.2/\*.pdf comic-neue-2.2/FONTLOG.txt comic-neue-2.2/OFL-FAQ.txt comic-neue-2.2/SIL-License.txt -d $out/share/doc/${name}
+    unzip -j $downloadedFile OTF/\*.otf   -d $out/share/fonts/opentype
+    unzip -j $downloadedFile Web/\*.ttf   -d $out/share/fonts/truetype
+    unzip -j $downloadedFile Web/\*.eot   -d $out/share/fonts/EOT
+    unzip -j $downloadedFile Web/\*.woff  -d $out/share/fonts/WOFF
+    unzip -j $downloadedFile Web/\*.woff2 -d $out/share/fonts/WOFF2
+    unzip -j $downloadedFile \*.pdf FONTLOG.txt OFL-FAQ.txt SIL-License.txt -d $out/share/doc/${name}
   '';
 
-  sha256 = "1yypq5aqqzv3q1c6vx5130mi2iwihzzvrawhwqpwsfjl0p25sq9q";
+  sha256 = "1gs4vhys0m3qsw06qaxzyi81f06w5v66kbyl64yw3pq2rb656779";
 
   meta = with lib; {
     homepage = http://comicneue.com/;
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
index 5b982dcaa3e..156db5d214c 100644
--- a/pkgs/data/fonts/fantasque-sans-mono/default.nix
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.7.2";
+  version = "1.8.0";
 in
 
 fetchzip rec {
@@ -15,7 +15,7 @@ fetchzip rec {
     unzip -j $downloadedFile README.md -d $out/share/doc/${name}
   '';
 
-  sha256 = "1fwvbqfrgb539xybwdawvwa8cg4f215kw905rgl9a6p0iwa1nxqk";
+  sha256 = "07y2w6xzkbaj6vr95fvvnmwq1pw9jib4z02xf8937dx812yic9ni";
 
   meta = with lib; {
     homepage = https://github.com/belluzj/fantasque-sans;
diff --git a/pkgs/data/fonts/gohufont/default.nix b/pkgs/data/fonts/gohufont/default.nix
index 29b4241be92..e4e9954d118 100644
--- a/pkgs/data/fonts/gohufont/default.nix
+++ b/pkgs/data/fonts/gohufont/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "2.1";
 
   src = fetchurl {
-    url = "http://font.gohu.org/${pname}-${version}.tar.gz";
+    url = "https://font.gohu.org/${pname}-${version}.tar.gz";
     sha256 = "10dsl7insnw95hinkcgmp9rx39lyzb7bpx5g70vswl8d6p4n53bm";
   };
 
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
     description = ''
       A monospace bitmap font well suited for programming and terminal use
     '';
-    homepage    = http://font.gohu.org/;
+    homepage    = https://font.gohu.org/;
     license     = licenses.wtfpl;
     maintainers = with maintainers; [ epitrochoid rnhmjoj ];
   };
diff --git a/pkgs/data/fonts/gubbi/default.nix b/pkgs/data/fonts/gubbi/default.nix
new file mode 100644
index 00000000000..2d1c520e610
--- /dev/null
+++ b/pkgs/data/fonts/gubbi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, fontforge }:
+
+stdenv.mkDerivation rec {
+  pname = "gubbi-font";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "aravindavk";
+    repo = "gubbi";
+    rev = "v${version}";
+    sha256 = "10w9i3pmjvs1b3xclrgn4q5a95ss4ipldbxbqrys2dmfivx7i994";
+  };
+
+  nativeBuildInputs = [ fontforge ];
+
+  dontConfigure = true;
+
+  preBuild = "patchShebangs generate.pe";
+
+  installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Gubbi.ttf";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "A Kannada font";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index d4a673533af..ffd6a49be5c 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.0";
+  version = "4.0.2";
 in fetchzip {
   name = "ibm-plex-${version}";
   url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
@@ -9,7 +9,7 @@ in fetchzip {
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
   '';
-  sha256 = "1vv0lf2fn0y0ln14s4my8x2mykq1lwqpmkjkhs6cm48mzf740nhs";
+  sha256 = "1v00y1l9sjcv9w8d3115w1vv1b7bgwbrv4d3zv68galk8wz8px1x";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/pkgs/data/fonts/input-fonts/default.nix b/pkgs/data/fonts/input-fonts/default.nix
index 3bc836fa4e4..c3d3bf4aa6a 100644
--- a/pkgs/data/fonts/input-fonts/default.nix
+++ b/pkgs/data/fonts/input-fonts/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "input-fonts";
-  version = "2017-08-10"; # date of the download and checksum
+  version = "2019-11-25"; # date of the download and checksum
 
   src = requireFile {
     name = "Input-Font.zip";
     url = "https://input.fontbureau.com/download/";
-    sha256 = "07fkyvbb12agkb2kpnq2j45nycgbjvb4n1s5hjyqsipdh2z9zihq";
+    sha256 = "10rax2a7vzidcs7kyfg5lv5bwp9i7kvjpdcsd10p0517syijkp3b";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0k7xqkgqldd110ch9s144ilh762q777qcjvg3plmrb9s6xiaqvvd";
+  outputHash = "15sdhqqqd4jgk80fw7ncx49avi9cxbdgyrvnrfya0066x4q4r6lv";
 
   meta = with stdenv.lib; {
     description = "Fonts for Code, from Font Bureau";
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       generous spacing, large punctuation, and easily distinguishable
       characters — but without the limitations of a fixed width.
     '';
-    homepage = http://input.fontbureau.com;
+    homepage = https://input.fontbureau.com;
     license = licenses.unfree;
     maintainers = with maintainers; [ romildo ];
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index d6d986c699a..cbe4b25bd36 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "2.3.2";
+  version = "2.3.3";
 in fetchzip {
   name = "iosevka-bin-${version}";
 
@@ -12,7 +12,7 @@ in fetchzip {
     unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
   '';
 
-  sha256 = "1dkfh354scjgzq7kgy4cn70z030wmfgxixqp8p9m6i0ps8gccjgs";
+  sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl";
 
   meta = with stdenv.lib; {
     homepage = https://be5invis.github.io/Iosevka/;
diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix
index 4730a67e290..1d0cf04d756 100644
--- a/pkgs/data/fonts/overpass/default.nix
+++ b/pkgs/data/fonts/overpass/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.3";
+  version = "3.0.4";
 in fetchzip rec {
   name = "overpass-${version}";
 
@@ -12,10 +12,10 @@ in fetchzip rec {
     mkdir -p $out/share/doc/${name}    ; unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
   '';
 
-  sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
+  sha256 = "13b4yam0nycclccxidzj2fa3nwms5qji7gfkixdnl4ybf0f56b64";
 
   meta = with lib; {
-    homepage = http://overpassfont.org/;
+    homepage = "https://overpassfont.org/";
     description = "Font heavily inspired by Highway Gothic";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/public-sans/default.nix b/pkgs/data/fonts/public-sans/default.nix
index cb4c5523a70..326fe73341f 100644
--- a/pkgs/data/fonts/public-sans/default.nix
+++ b/pkgs/data/fonts/public-sans/default.nix
@@ -1,18 +1,22 @@
 { lib, fetchzip }:
 
 let
-  version = "1.006";
+  version = "1.007";
 in fetchzip {
   name = "public-sans-${version}";
 
   url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip";
 
   postFetch = ''
-    mkdir -p $out/share
-    unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile binaries/otf/\*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile binaries/variable/\*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile binaries/webfonts/\*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile binaries/webfonts/\*.woff -d $out/share/fonts/woff
+    unzip -j $downloadedFile binaries/webfonts/\*.woff2 -d $out/share/fonts/woff2
   '';
 
-  sha256 = "1x04mpynfhcgiwx68w5sawgn69xld7k65mbq7n5vcgbfzh2sjwhq";
+  sha256 = "1yzraw08qm1ig7ks850b329xp6zv2znjwl610dppax34kwhqghsm";
 
   meta = with lib; {
     description = "A strong, neutral, principles-driven, open source typeface for text or display";
diff --git a/pkgs/data/fonts/recursive/default.nix b/pkgs/data/fonts/recursive/default.nix
new file mode 100644
index 00000000000..d3d65f8e515
--- /dev/null
+++ b/pkgs/data/fonts/recursive/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "recursive";
+  version = "1.022";
+
+  srcs = [
+    (fetchzip {
+      name = "${pname}";
+      url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-beta_1_022.zip";
+      sha256 = "09nr1fli7ksv8z4yb25c4xidwsqq50av18qrybsy4kqy5c22957v";
+      stripRoot = false;
+    })
+
+    (fetchzip {
+      name = "${pname}-static";
+      url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-static_fonts-b020.zip";
+      sha256 = "1wlj113gjm26ra9y2r2b3syis2wx0mjq2m8i8xpwscp1kflma1r6";
+      stripRoot = false;
+    })
+  ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/{opentype,truetype,woff2}
+    find -name "*.otf" -exec cp "{}" $out/share/fonts/opentype \;
+    find -name "*.ttf" -exec cp "{}" $out/share/fonts/truetype \;
+    find -name "*.woff2" -exec cp "{}" $out/share/fonts/woff2 \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/arrowtype/recursive;
+    description = "A variable font family for code & UI";
+    license = licenses.ofl;
+    maintainers = [ maintainers.eadwu ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/rhodium-libre/default.nix b/pkgs/data/fonts/rhodium-libre/default.nix
new file mode 100644
index 00000000000..fc89d652592
--- /dev/null
+++ b/pkgs/data/fonts/rhodium-libre/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub }:
+
+let
+  pname = "RhodiumLibre";
+  version = "1.2.0";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+
+  owner = "DunwichType";
+  repo = pname;
+  rev = version;
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -Dm444 -t $out/share/fonts/opentype/ RhodiumLibre-Regular.otf
+    install -Dm444 -t $out/share/fonts/truetype/ RhodiumLibre-Regular.ttf
+  '';
+
+  sha256 = "04ax6bri5vsji465806p8d7zbdf12r5bpvcm9nb8isfqm81ggj0r";
+
+  meta = with lib; {
+    description = "F/OSS/Libre font for Latin and Devanagari";
+    homepage = "https://github.com/DunwichType/RhodiumLibre";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/data/fonts/spleen/default.nix b/pkgs/data/fonts/spleen/default.nix
index c5dfc1e156f..3e843e30f5e 100644
--- a/pkgs/data/fonts/spleen/default.nix
+++ b/pkgs/data/fonts/spleen/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "spleen";
-  version = "1.5.0";
+  version = "1.6.0";
 in fetchurl {
   name = "${pname}-${version}";
   url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
@@ -18,7 +18,7 @@ in fetchurl {
     # create fonts.dir so NixOS xorg module adds to fp
     ${mkfontdir}/bin/mkfontdir $d
   '';
-  sha256 = "13ndyw1m6c778k7jr7qwbfg28gqmpcgksprn2mjgsv75wvy51z19";
+  sha256 = "0h9gj7syn87hl5rhwckih92r228zac6b1dvh3034caml8ad3fyla";
 
   meta = with lib; {
     description = "Monospaced bitmap fonts";
diff --git a/pkgs/data/fonts/stix-two/default.nix b/pkgs/data/fonts/stix-two/default.nix
index 1d5ed37767c..c71b51ad75d 100644
--- a/pkgs/data/fonts/stix-two/default.nix
+++ b/pkgs/data/fonts/stix-two/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchFromGitHub }:
 
 let
-  version = "2.0.0";
-in fetchzip {
+  version = "2.0.2";
+in fetchFromGitHub {
   name = "stix-two-${version}";
 
-  url = "https://github.com/stipub/stixfonts/archive/${version}.zip";
+  owner = "stipub";
+  repo = "stixfonts";
+  rev = "v${version}";
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype/ OTF/*.otf
+    install -m444 -Dt $out/share/fonts/woff/     WOFF/*.woff
+    install -m444 -Dt $out/share/fonts/woff2/    WOFF2/*.woff2
   '';
 
-  sha256 = "19i30d2xjk52bjj7xva1hnlyh58yd5phas1njcc8ldcz87a1lhql";
+  sha256 = "1ah8s0cb67yv4ll8zfs01mdh9m5i2lbkrfbmkhi1xdid6pxsk32x";
 
   meta = with stdenv.lib; {
     homepage = http://www.stixfonts.org/;
diff --git a/pkgs/data/fonts/uw-ttyp0/default.nix b/pkgs/data/fonts/uw-ttyp0/default.nix
new file mode 100644
index 00000000000..eae820fb0d1
--- /dev/null
+++ b/pkgs/data/fonts/uw-ttyp0/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, perl
+, bdftopcf, bdf2psf, mkfontdir
+, fonttosfnt
+, targetsDat  ? null
+, variantsDat ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uw-ttyp0";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "https://people.mpi-inf.mpg.de/~uwe/misc/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1vp053bwv8sr40p3pn4sjaiq570zp7knh99z9ynk30v7ml4cz2i8";
+  };
+
+  # remove for version >1.3
+  patches = [ ./determinism.patch ];
+
+  nativeBuildInputs = [ perl bdftopcf bdf2psf fonttosfnt mkfontdir ];
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash     = "0hzhaakbbcnz5ksi5p8mavw9578rsqlqadkrirrkhfnyqqlrii4j";
+
+  # configure sizes, encodings and variants
+  preConfigure =
+    (if targetsDat == null
+      then ''
+        cat << EOF > TARGETS.dat
+        SIZES = 11 12 13 14 15 16 17 18 22 \
+        11b 12b 13b 14b 15b 16b 17b 18b 22b 15i 16i 17i 18i
+        ENCODINGS = uni
+        EOF
+      ''
+      else ''cp "${targetsDat}" TARGETS.dat'') +
+    (if variantsDat == null
+      then ''
+        cat << EOF > VARIANTS.dat
+        COPYTO AccStress PApostropheAscii
+        COPYTO PAmComma AccGraveAscii
+        COPYTO Digit0Slashed Digit0
+        EOF
+      ''
+      else ''cp "${variantsDat}" VARIANTS.dat'');
+
+  postBuild = ''
+    # convert bdf to psf and otb fonts
+    build=$(pwd)
+    mkdir {psf,otb}
+    cd ${bdf2psf}/share/bdf2psf
+    for i in $build/genbdf/*.bdf; do
+      name="$(basename $i .bdf)"
+      bdf2psf \
+        --fb "$i" standard.equivalents \
+        ascii.set+useful.set+linux.set 512 \
+        "$build/psf/$name.psf"
+      fonttosfnt -v -o "$build/otb/$name.otb" "$i"
+    done
+    cd $build
+  '';
+
+  postInstall = ''
+    # install psf fonts
+    fontDir="$out/share/consolefonts"
+    mkdir -p "$fontDir"
+    mv -t "$fontDir" psf/*.psf
+    mv -t "$out/share/fonts/X11/misc" otb/*.otb
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Monospace bitmap screen fonts for X11";
+    homepage = https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/;
+    license = with licenses; [ free mit ];
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+
+}
diff --git a/pkgs/data/fonts/uw-ttyp0/determinism.patch b/pkgs/data/fonts/uw-ttyp0/determinism.patch
new file mode 100644
index 00000000000..8546ad35933
--- /dev/null
+++ b/pkgs/data/fonts/uw-ttyp0/determinism.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index b9736cd..5740412 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -76,7 +76,7 @@ bdf : $(bdf)
+ 
+ genpcf/%.pcf.gz : genbdf/%.bdf
+ 	$(BDFTOPCF) $< > $(@:.pcf.gz=.pcf)
+-	gzip -9 -f $(@:.pcf.gz=.pcf)
++	gzip -n -9 -f $(@:.pcf.gz=.pcf)
+ 
+ genbdf/t0-11-uni.bdf : bdf/t0-11.bdf bdf/t0-12.bdf VARIANTS.dat mgl/unicode.mgl
+ 	$(MKSHALLOW) bdf/t0-12.bdf | cat - bdf/t0-11.bdf | $(BDFMANGLE) - VARIANTS.dat mgl/unicode.mgl > $@
diff --git a/pkgs/data/fonts/xits-math/default.nix b/pkgs/data/fonts/xits-math/default.nix
index 24e9f2a3935..db0ed425dee 100644
--- a/pkgs/data/fonts/xits-math/default.nix
+++ b/pkgs/data/fonts/xits-math/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, python2Packages, fontforge }:
+{ stdenv, fetchFromGitHub, python3Packages}:
 
 stdenv.mkDerivation rec {
   pname = "xits-math";
-  version = "1.200";
+  version = "1.301";
 
   src = fetchFromGitHub {
     owner = "alif-type";
     repo = "xits";
     rev = "v${version}";
-    sha256 = "0s1qqqg3zv9k4wqn1vkx0z895fjccg96n58syc1d5f2wba9kyfcm";
+    sha256 = "043g0gnjc7wn1szvrs0rc1vvrq1qmhqh45b0y2kwrlxsgprpv8ll";
   };
 
-  nativeBuildInputs = [ fontforge ] ++ (with python2Packages; [ python fonttools ]);
+  nativeBuildInputs = (with python3Packages; [ python fonttools fontforge ]);
 
   postPatch = ''
     rm *.otf
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/khaledhosny/xits-math;
+    homepage = "https://github.com/alif-type/xits";
     description = "OpenType implementation of STIX fonts with math support";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix
new file mode 100644
index 00000000000..f0e13b21dfd
--- /dev/null
+++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub , gtk3 }:
+
+stdenv.mkDerivation rec  {
+  pname = "flat-remix-icon-theme";
+  version = "20191018";
+
+  src = fetchFromGitHub  {
+    owner = "daniruiz";
+    repo = "flat-remix";
+    rev = version;
+    sha256 = "13ibxvrvri04lb5phm49b6d553jh0aigm57z5i0nsins405gixn9";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv Flat-Remix* $out/share/icons/
+  '';
+
+  postFixup = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flat remix is a pretty simple icon theme inspired on material design";
+    homepage = https://drasite.com/flat-remix;
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mschneider ];
+  };
+}
+ 
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 5658f20c744..ed4b2581e85 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
     done
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 76176f9ad04..620ef02fde7 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
     done
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index 88611faa308..c4092e3d858 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20191101";
+  version = "20191201";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "17as9i5b9wqzvj08hwxqk9dlv6hrvkylns85s8gzhv6b5x2q5ma3";
+    sha256 = "02bkd9gx9z14x5gjhpwchhhngiigzvb51a4z67aqfdnmqirv102n";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix
index 0b28a02ba4d..c3670a6f58c 100644
--- a/pkgs/data/icons/zafiro-icons/default.nix
+++ b/pkgs/data/icons/zafiro-icons/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zafiro-icons";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "zayronxio";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zmnhih4gz8bidyzf1wimy85z7zx9i29mv1zirmykpqj819g7mx9";
+    rev = "${version}";
+    sha256 = "0gy3c0jkj1icnwcs23b6km9cj9cccv8y5z1w11nfdv91cq3mdhmb";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/cldr-emoji-annotation/default.nix b/pkgs/data/misc/cldr-emoji-annotation/default.nix
new file mode 100644
index 00000000000..4279cf8aec4
--- /dev/null
+++ b/pkgs/data/misc/cldr-emoji-annotation/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cldr-emoji-annotation";
+  version = "36.12.120191002_0";
+
+  src = fetchFromGitHub {
+    owner = "fujiwarat";
+    repo = "cldr-emoji-annotation";
+    rev = version;
+    sha256 = "0nxigzs3mxjgi7c8mmdaxsy5sfl7ihsc2nysaj0db198b33w9clw";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Emoji annotation files in CLDR";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 7548ddcce3e..0537a5d5373 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/ac01c6f574b4d9466be25edc107530b14276a89b.tar.gz";
-  sha256 = "0a9yd0470848bbng3pfhjzla8pw7mbgql0a827wm2daman0icrqq";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/477d50a859be91a25b2fed6494d414044d7e71ab.tar.gz";
+  sha256 = "0wzi2wgcp5ykwp4wrhcfdaxlbdzrmlgalparx3ap80q069c8fd0n";
 }
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 8af161e8707..31f7eb7efdb 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20190920";
+  version = "20191125";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "12kwlqljaai4fsa08m7l28v41q6244dbracvqzcbg1cs0y9jxqy8";
+    sha256 = "102mdykp5pjv7lw7saig640vb5a8ivy4ji8sa68q2wzfwg1yix78";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index b2363b4b549..3227d9a7623 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "tzdata";
-  version = "2019b";
+  version = "2019c";
 
   srcs =
     [ (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
-        sha256 = "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85";
+        sha256 = "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr";
       })
       (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
-        sha256 = "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf";
+        sha256 = "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn";
       })
     ];
 
diff --git a/pkgs/data/misc/unicode-character-database/default.nix b/pkgs/data/misc/unicode-character-database/default.nix
new file mode 100644
index 00000000000..5f50049856f
--- /dev/null
+++ b/pkgs/data/misc/unicode-character-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unicode-character-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/UCD.zip";
+    sha256 = "19m06iw0jl7lhlggcmghi12p6jld0qrmfpksgc243yn6sjh53fi5";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Character Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix
new file mode 100644
index 00000000000..05472b26d88
--- /dev/null
+++ b/pkgs/data/misc/unicode-emoji/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, fetchurl
+, symlinkJoin
+, lib
+}:
+
+let
+  version = "12.1";
+
+  fetchData = { file, sha256 }: fetchurl {
+    url = "https://www.unicode.org/Public/emoji/${version}/${file}";
+    inherit sha256;
+    downloadToTemp = true;
+    recursiveHash = true;
+    postFetch = ''
+      installDir="$out/share/unicode/emoji"
+      mkdir -p "$installDir"
+      mv "$downloadedFile" "$installDir/${file}"
+    '';
+  };
+
+  srcs = {
+    emoji-data = fetchData {
+      file = "emoji-data.txt";
+      sha256 = "17gfm5a28lsymx36prbjy2g0b27gf3rcgggy0yxdshbxwf6zpf9k";
+    };
+    emoji-sequences = fetchData {
+      file = "emoji-sequences.txt";
+      sha256 = "1fckw5hfyvz5jfp2jczzx8qcs79vf0zyq0z2942230j99arq70vc";
+    };
+    emoji-test = fetchData {
+      file = "emoji-test.txt";
+      sha256 = "0w29lva7gp9g9lf7bz1i24qdalvf440bcq8npsbwr3cpp7na95kh";
+    };
+    emoji-variation-sequences = fetchData {
+      file = "emoji-variation-sequences.txt";
+      sha256 = "0akpib3cinr8xcs045hda5wnpfj6qfdjlkzmq5vgdc50gyhrd2z3";
+    };
+    emoji-zwj-sequences = fetchData {
+      file = "emoji-zwj-sequences.txt";
+      sha256 = "0s2mvy1nr2v1x0rr1fxlsv8ly1vyf9978rb4hwry5vnr678ls522";
+    };
+  };
+in
+
+symlinkJoin rec {
+  name = "unicode-emoji-${version}";
+
+  paths = lib.attrValues srcs;
+
+  passthru = srcs;
+
+  meta = with stdenv.lib; {
+    description = "Unicode Emoji Data Files";
+    homepage = "https://home.unicode.org/emoji/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/unihan-database/default.nix b/pkgs/data/misc/unihan-database/default.nix
new file mode 100644
index 00000000000..77da77242a9
--- /dev/null
+++ b/pkgs/data/misc/unihan-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unihan-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
+    sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Han Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/themes/adapta-kde/default.nix b/pkgs/data/themes/adapta-kde/default.nix
index a7624d2889b..47740aa6762 100644
--- a/pkgs/misc/themes/adapta-kde/default.nix
+++ b/pkgs/data/themes/adapta-kde/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "adapta-kde-theme";
-  version = "20180512";
+  version = "20180828";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "adapta-kde";
     rev = version;
-    sha256 = "1lgpkylhzbayk892inql16sjyy9d3v126f9i1v7qgha1203rwcji";
+    sha256 = "1q85678sff8is2kwvgd703ckcns42gdga2c1rqlp61gb6bqf09j8";
   };
 
-  makeFlags = ["PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # Make this a fixed-output derivation
   outputHashMode = "recursive";
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/data/themes/adapta/default.nix
index 02812b1f939..02812b1f939 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/data/themes/adapta/default.nix
diff --git a/pkgs/misc/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix
index 9b979a11b93..7428b5fab2f 100644
--- a/pkgs/misc/themes/adwaita-qt/default.nix
+++ b/pkgs/data/themes/adwaita-qt/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, qtbase, pantheon }:
 
 mkDerivation rec {
   pname = "adwaita-qt";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = pname;
     rev = version;
-    sha256 = "1jlh4l3sxiwglgx6h4aqi364gr4xipmn09bk88cp997r9sm8jcp9";
+    sha256 = "1z1zl6b1190nffcdyjnwz2xy4s6cvgd98aas9z71l5iddwzy32fm";
   };
 
   nativeBuildInputs = [
@@ -26,6 +26,12 @@ mkDerivation rec {
        --replace "DESTINATION \"\''${QT_PLUGINS_DIR}/styles" "DESTINATION \"$qtPluginPrefix/styles"
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A style to bend Qt applications to look like they belong into GNOME Shell";
     homepage = https://github.com/FedoraQt/adwaita-qt;
diff --git a/pkgs/misc/themes/albatross/default.nix b/pkgs/data/themes/albatross/default.nix
index 870b348cc32..870b348cc32 100644
--- a/pkgs/misc/themes/albatross/default.nix
+++ b/pkgs/data/themes/albatross/default.nix
diff --git a/pkgs/misc/themes/arc-kde/default.nix b/pkgs/data/themes/arc-kde/default.nix
index decdbdfac2d..4937a99daec 100644
--- a/pkgs/misc/themes/arc-kde/default.nix
+++ b/pkgs/data/themes/arc-kde/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "arc-kde-theme";
-  version = "2017-11-09";
+  version = "20180614";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "arc-kde";
-    rev = "a0abe6fc5ebf74f9ae88b8a2035957cc16f706f5";
-    sha256 = "1p6f4ny97096nb054lrgyjwikmvg0qlbcnsjag7m5dfbclfnvzkg";
+    rev = version;
+    sha256 = "0wli16k9my7m8a9561545vjwfifmxm4w606z1h0j08msvlky40xw";
   };
 
-  makeFlags = ["PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # Make this a fixed-output derivation
   outputHashMode = "recursive";
diff --git a/pkgs/misc/themes/blackbird/default.nix b/pkgs/data/themes/blackbird/default.nix
index 7ffefb1d67f..7ffefb1d67f 100644
--- a/pkgs/misc/themes/blackbird/default.nix
+++ b/pkgs/data/themes/blackbird/default.nix
diff --git a/pkgs/misc/themes/clearlooks-phenix/default.nix b/pkgs/data/themes/clearlooks-phenix/default.nix
index 7c1eb54f92f..2f701b9b765 100644
--- a/pkgs/misc/themes/clearlooks-phenix/default.nix
+++ b/pkgs/data/themes/clearlooks-phenix/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchzip }:
 
 stdenv.mkDerivation rec {
   version = "7.0.1";
   pname = "clearlooks-phenix";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz";
-    sha256 = "1x2psfbhxc3bk3q795bafxv6p890yfsankfw64p44q4r1x0236ra";
+    sha256 = "1b6y4l3rf3c5r4v72fyj3ppvnvw13kvr2a1dyl63ni1jxnlk50kd";
   };
 
   dontBuild = true;
diff --git a/pkgs/misc/themes/e17gtk/default.nix b/pkgs/data/themes/e17gtk/default.nix
index 74f0a54ccef..74f0a54ccef 100644
--- a/pkgs/misc/themes/e17gtk/default.nix
+++ b/pkgs/data/themes/e17gtk/default.nix
diff --git a/pkgs/misc/themes/equilux-theme/default.nix b/pkgs/data/themes/equilux-theme/default.nix
index f24524eb6b9..f24524eb6b9 100644
--- a/pkgs/misc/themes/equilux-theme/default.nix
+++ b/pkgs/data/themes/equilux-theme/default.nix
diff --git a/pkgs/misc/themes/gnome-breeze/default.nix b/pkgs/data/themes/gnome-breeze/default.nix
index 200cc4bae05..200cc4bae05 100644
--- a/pkgs/misc/themes/gnome-breeze/default.nix
+++ b/pkgs/data/themes/gnome-breeze/default.nix
diff --git a/pkgs/misc/themes/kde2/default.nix b/pkgs/data/themes/kde2/default.nix
index fac8c38eeca..547e4f30aa6 100644
--- a/pkgs/misc/themes/kde2/default.nix
+++ b/pkgs/data/themes/kde2/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchFromGitHub, mkDerivation
+{ lib, fetchFromGitHub, mkDerivation
 , cmake, extra-cmake-modules
-, qtbase, kcoreaddons, kdecoration }:
+, qtbase, kcoreaddons, kdecoration
+}:
 
-let
-  version = "2017-03-15";
-in mkDerivation rec {
+mkDerivation rec {
   pname = "kde2-decoration";
-  inherit version;
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "repos-holder";
     repo = "kdecoration2-kde2";
-    rev = "2a9cf18ac0646b3532d4db2dd28bd73c4c229783";
-    sha256 = "0kilw6sd3blvm6gx9w4w5ivkjfxlv6wnyivw46pwwvhgxqymkbxk";
+    rev = version;
+    sha256 = "1766z9wscybcqvr828xih93b3rab3hb0ghsf818iflhp1xy0js08";
   };
 
   enableParallelBuilding = true;
@@ -21,9 +20,9 @@ in mkDerivation rec {
 
   buildInputs = [ qtbase kcoreaddons kdecoration ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "KDE 2 window decoration ported to Plasma 5";
-    homepage = src.meta.homepage;
+    homepage = "https://github.com/repos-holder/kdecoration2-kde2";
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ gnidorah ];
diff --git a/pkgs/data/themes/lounge/default.nix b/pkgs/data/themes/lounge/default.nix
new file mode 100644
index 00000000000..15ec68b0757
--- /dev/null
+++ b/pkgs/data/themes/lounge/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome3, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  pname = "lounge-gtk-theme";
+  version = "1.22";
+
+  src = fetchFromGitHub {
+    owner = "monday15";
+    repo = pname;
+    rev = version;
+    sha256 = "1y1wkfsv2zrxqcqr53lmr9743mvzcy4swi5j6sxmk1aykx6ccs1p";
+  };
+
+  nativeBuildInputs = [ meson ninja sassc gtk3 ];
+
+  buildInputs = [ gdk-pixbuf librsvg ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  mesonFlags = [
+    "-D gnome_version=${stdenv.lib.versions.majorMinor gnome3.gnome-shell.version}"
+  ];
+
+  postFixup = ''
+    gtk-update-icon-cache "$out"/share/icons/Lounge-aux;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple and clean GTK theme with vintage scrollbars, inspired by Absolute, based on Adwaita";
+    homepage = https://github.com/monday15/lounge-gtk-theme;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/data/themes/mojave/default.nix b/pkgs/data/themes/mojave/default.nix
index 714e026d32c..6c38e3aaba4 100644
--- a/pkgs/data/themes/mojave/default.nix
+++ b/pkgs/data/themes/mojave/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, fetchurl, gtk_engines, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   pname = "mojave-gtk-theme";
-  version = "2019-09-09";
+  version = "2019-12-12";
 
-  src = fetchFromGitHub {
-    owner = "vinceliuice";
-    repo = pname;
-    rev = version;
-    sha256 = "1qffh6jsvy61f29ymw1v9hpjnsvhqin19mp05cys1lnwc7y810zr";
-  };
+  srcs = [
+    (fetchFromGitHub {
+      owner = "vinceliuice";
+      repo = pname;
+      rev = version;
+      sha256 = "0d5m9gh97db01ygqlp2sv9v1m183d9fgid9n9wms9r5rrrw6bs8m";
+    })
+    (fetchurl {
+      url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
+      sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7";
+    })
+  ];
+
+  sourceRoot = "source";
 
   buildInputs = [ gtk_engines ];
 
@@ -17,8 +25,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     patchShebangs .
-    mkdir -p $out/share/themes
     name= ./install.sh -d $out/share/themes
+    install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/themes/numix-solarized/default.nix b/pkgs/data/themes/numix-solarized/default.nix
index 4fd06fae61b..0596141da80 100644
--- a/pkgs/misc/themes/numix-solarized/default.nix
+++ b/pkgs/data/themes/numix-solarized/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20170810";
+  version = "20180913";
   pname = "numix-solarized-gtk-theme";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "numix-solarized-gtk-theme";
     rev = version;
-    sha256 = "0l4xvsiyg15kp6xwpvm3jckxyhr1lxd678lkhrcyf40n7rd4xinl";
+    sha256 = "1kda0lyqi3cxh163fbj8yyi6jj6pf0y980k4s0cmyi3hkh4cqyd5";
   };
 
   nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape optipng ];
diff --git a/pkgs/misc/themes/numix-sx/default.nix b/pkgs/data/themes/numix-sx/default.nix
index 72e87e2e274..72e87e2e274 100644
--- a/pkgs/misc/themes/numix-sx/default.nix
+++ b/pkgs/data/themes/numix-sx/default.nix
diff --git a/pkgs/misc/themes/numix/default.nix b/pkgs/data/themes/numix/default.nix
index e01f8174e9e..e01f8174e9e 100644
--- a/pkgs/misc/themes/numix/default.nix
+++ b/pkgs/data/themes/numix/default.nix
diff --git a/pkgs/misc/themes/onestepback/default.nix b/pkgs/data/themes/onestepback/default.nix
index 64ead2f75f4..64ead2f75f4 100644
--- a/pkgs/misc/themes/onestepback/default.nix
+++ b/pkgs/data/themes/onestepback/default.nix
diff --git a/pkgs/misc/themes/orion/default.nix b/pkgs/data/themes/orion/default.nix
index 9ba8cd368cf..9ba8cd368cf 100644
--- a/pkgs/misc/themes/orion/default.nix
+++ b/pkgs/data/themes/orion/default.nix
diff --git a/pkgs/misc/themes/paper/default.nix b/pkgs/data/themes/paper-gtk/default.nix
index e7235a900cf..e7235a900cf 100644
--- a/pkgs/misc/themes/paper/default.nix
+++ b/pkgs/data/themes/paper-gtk/default.nix
diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix
index d1d7228183c..37eb9b7e5bc 100644
--- a/pkgs/data/themes/plata/default.nix
+++ b/pkgs/data/themes/plata/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "1bcjrnh6bm7pxyqrr39yx5zykf3yzxrsydd5xcawjfihnph3yrlg";
+    sha256 = "0rva56xdvsj6vwwvrn55137mw83c9p4xy00i3mq0ryh43imyj4mg";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/data/themes/pop-gtk/default.nix b/pkgs/data/themes/pop-gtk/default.nix
new file mode 100644
index 00000000000..151fadddc16
--- /dev/null
+++ b/pkgs/data/themes/pop-gtk/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, sassc
+, gtk3
+, inkscape
+, optipng
+, gtk-engine-murrine
+, gdk-pixbuf
+, librsvg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pop-gtk-theme";
+  version = "2019-12-17";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "gtk-theme";
+    rev = "77601545f049251bce9c63a07f0d9819aa27cb60";
+    sha256 = "0bmkcdr1z9m3inrw33zprq2a4jawql4724a84nr89r19xllj2z1s";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    sassc
+    gtk3
+    inkscape
+    optipng
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    librsvg
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  postPatch = ''
+    for file in $(find -name render-\*.sh); do
+      patchShebangs "$file"
+
+      substituteInPlace "$file" \
+        --replace 'INKSCAPE="/usr/bin/inkscape"' \
+                  'INKSCAPE="inkscape"' \
+        --replace 'OPTIPNG="/usr/bin/optipng"' \
+                  'OPTIPNG="optipng"'
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "System76 Pop GTK+ Theme";
+    homepage = "https://github.com/pop-os/gtk-theme";
+    license = with licenses; [ gpl3 lgpl21 cc-by-sa-40 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ elyhaka ];
+  };
+}
diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/data/themes/qtcurve/default.nix
index 0071e386e88..673b97cc137 100644
--- a/pkgs/misc/themes/qtcurve/default.nix
+++ b/pkgs/data/themes/qtcurve/default.nix
@@ -11,7 +11,7 @@ in mkDerivation {
   pname = "qtcurve";
   inherit version;
   src = fetchurl {
-    url = "http://download.kde.org/stable/qtcurve/qtcurve-${version}.tar.xz";
+    url = "https://download.kde.org/stable/qtcurve/qtcurve-${version}.tar.xz";
     sha256 = "169gdny1cdld0qnx3nqvx568zjzdba4pwp3gxapc1hdh2cymw7r8";
   };
 
diff --git a/pkgs/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix
index e5b5ad8d611..0c9cef9e097 100644
--- a/pkgs/data/themes/sierra/default.nix
+++ b/pkgs/data/themes/sierra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sierra-gtk-theme";
-  version = "2019-05-07";
+  version = "2019-12-16";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0rm9lcwp89ljxqrya9bi882qcs339pc1l945cr1xq2rganqyk9cq";
+    sha256 = "14hlz8kbrjypyd6wyrwmnj2wm9w3kc8y00ms35ard7x8lmhs56hr";
   };
 
   nativeBuildInputs = [ libxml2 ];
diff --git a/pkgs/misc/themes/solarc/default.nix b/pkgs/data/themes/solarc/default.nix
index 96843e8d78b..96843e8d78b 100644
--- a/pkgs/misc/themes/solarc/default.nix
+++ b/pkgs/data/themes/solarc/default.nix
diff --git a/pkgs/data/themes/sweet/default.nix b/pkgs/data/themes/sweet/default.nix
new file mode 100644
index 00000000000..9d3603cbf52
--- /dev/null
+++ b/pkgs/data/themes/sweet/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "sweet";
+  version = "1.10.5";
+
+  srcs = [
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar-Blue.zip";
+      sha256 = "11040hx8ci4vbnyaj63zj924v0ln7rjm9a28mcqdax60h3dp12lj";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar.zip";
+      sha256 = "0lvnjmirpwdav8q0bfbhybwkr2h6dilc7lhhj18xd2k57xadjmxr";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Dark.zip";
+      sha256 = "0a7mh1pgvi8w1ahsmvgnmpdawm30lcjqk4zqvg0lqadsd04dn4h1";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-mars.zip";
+      sha256 = "0n2dkl35qrik10wvhvkayyra987p03g56pxhz5kc73cbsl5zd96l";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet.zip";
+      sha256 = "0wwmc3wj2pjg4kimfkvcsimk3s4s7l7k000vxqi8yjlfs70f273c";
+    })
+  ];
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/themes/
+    cp -a Sweet* $out/share/themes/
+    rm $out/share/themes/*/{LICENSE,README*}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Light and dark colorful Gtk3.20+ theme";
+    homepage = "https://github.com/EliverLara/Sweet";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fuzen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/themes/vertex/default.nix b/pkgs/data/themes/vertex/default.nix
index 81c681f5371..81c681f5371 100644
--- a/pkgs/misc/themes/vertex/default.nix
+++ b/pkgs/data/themes/vertex/default.nix
diff --git a/pkgs/desktops/cdesktopenv/default.nix b/pkgs/desktops/cdesktopenv/default.nix
new file mode 100644
index 00000000000..09d53cdd1c5
--- /dev/null
+++ b/pkgs/desktops/cdesktopenv/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchgit, xorgproto, libX11, bison, ksh, perl, gnum4
+, libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps
+, libjpeg, libXmu, libXdmcp, libXScrnSaver, symlinkJoin, bdftopcf
+, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales, gawk
+, autoPatchelfHook, libredirect, makeWrapper, xset, xrdb, fakeroot }:
+
+let
+  x11ProjectRoot = symlinkJoin {
+    name = "x11ProjectRoot";
+    paths = [
+      bdftopcf mkfontdir
+      xset # fonts
+      xrdb # session load
+    ];
+  };
+in stdenv.mkDerivation rec {
+  version = "2019-11-30";
+  name = "cde-${version}";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/cdesktopenv/code";
+    rev = "5cebd7c4da1afea353a3baef250e31a4cf867bc5";
+    sha256 = "06wvnb3n8hn98kxvmrf6v3lyqp8bxpzl8wrixlw9jinmsivfs4b9";
+  };
+  setSourceRoot = ''export sourceRoot="$(echo */cde)"'';
+
+  buildInputs = [
+    libX11 libXinerama libXt libXext libtirpc motif libXft xbitmaps
+    libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh
+  ];
+  nativeBuildInputs = [
+    bison ncompress gawk autoPatchelfHook makeWrapper fakeroot
+  ];
+
+  makeFlags = [
+    "World"
+    "BOOTSTRAPCFLAGS=-I${xorgproto}/include/X11"
+    "IMAKECPP=cpp"
+    "LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive"
+  ];
+
+  preBuild = ''
+    while IFS= read -r -d ''$'\0' i; do
+      substituteInPlace "$i" --replace /usr/dt $out/opt/dt
+    done < <(find "." -type f -exec grep -Iq /usr/dt {} \; -and -print0)
+
+    cat >> config/cf/site.def << EOF
+#define MakeFlagsToShellFlags(makeflags,shellcmd) set -e
+#define KornShell ${ksh}/bin/ksh
+#define PerlCmd ${perl}/bin/perl
+#define M4Cmd ${gnum4}/bin/m4
+#define X11ProjectRoot ${x11ProjectRoot}
+#define CppCmd ${gcc}/bin/cpp
+TIRPCINC = -I${libtirpc.dev}/include/tirpc
+EOF
+
+    patchShebangs .
+    unset AR
+  '';
+
+  installPhase = ''
+    fakeroot admin/IntegTools/dbTools/installCDE -s . -DontRunScripts
+
+    mkdir -p $out/bin
+    mv $out/opt/dt/bin/dtmail $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Common Desktop Environment";
+    homepage = https://sourceforge.net/projects/cdesktopenv/;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
new file mode 100644
index 00000000000..44589078241
--- /dev/null
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, lib }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+  xapps = callPackage ./xapps {};
+})
diff --git a/pkgs/desktops/cinnamon/xapps/default.nix b/pkgs/desktops/cinnamon/xapps/default.nix
new file mode 100644
index 00000000000..f63ab3cedd8
--- /dev/null
+++ b/pkgs/desktops/cinnamon/xapps/default.nix
@@ -0,0 +1,104 @@
+{ fetchFromGitHub
+, fetchpatch
+, glib
+, gobject-introspection
+, gtk3
+, libgnomekbd
+, gdk-pixbuf
+, cairo
+, xorg
+, meson
+, ninja
+, pkgconfig
+, python3
+, stdenv
+, vala
+, wrapGAppsHook
+, inxi
+, mate
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xapps";
+  version = "1.6.8";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "09f77vsydv8r6r43py8hrpq7pb4a1pfivy19zgijjy2241i7059v";
+  };
+
+  # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+  NIX_CFLAGS_COMPILE = [
+    "-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
+  patches = [
+    (fetchpatch { # details see https://github.com/linuxmint/xapps/pull/65
+      url = "https://github.com/linuxmint/xapps/compare/d361d9cf357fade59b4bb68df2dcb2c0c39f90e1...2dfe82ec68981ea046345b2be349bd56293579f7.diff";
+      sha256 = "0sffclamvjas8ad57kxrg0vrgrd95xsk0xdl53dc3yivpxkfxrnk";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    (python3.withPackages(ps: with ps; [
+      pygobject3
+      setproctitle # mate applet
+    ]))
+    libgnomekbd
+    gdk-pixbuf
+    xorg.libxkbfile
+    python3.pkgs.pygobject3 # for .pc file
+    mate.mate-panel # for gobject-introspection
+  ];
+
+  # Requires in xapp.pc
+  propagatedBuildInputs = [
+    gtk3
+    cairo
+    glib
+  ];
+
+  mesonFlags = [
+    "-Dpy-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
+  ];
+
+  postPatch = ''
+    chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
+
+    # The fetchpatch hook removes the renames, so postPatch has to rename those files, remove once PR merged
+    mv files/usr/bin/pastebin scripts/pastebin
+    mv files/usr/bin/upload-system-info scripts/upload-system-info
+    mv files/usr/bin/xfce4-set-wallpaper scripts/xfce4-set-wallpaper
+    mv files/usr/share/icons/hicolor icons
+
+    patchShebangs \
+      libxapp/g-codegen.py \
+      schemas/meson_install_schemas.py
+
+    # Patch pastebin & inxi location
+    sed "s|/usr/bin/pastebin|$out/bin/pastebin|" -i scripts/upload-system-info
+    sed "s|'inxi'|'${inxi}/bin/inxi'|" -i scripts/upload-system-info
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/xapps";
+    description = "Cross-desktop libraries and common resources";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/desktops/deepin/dbus-factory/default.nix b/pkgs/desktops/deepin/dbus-factory/default.nix
index 2511f05c4ea..9f7b0e478e1 100644
--- a/pkgs/desktops/deepin/dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dbus-factory/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generates static DBus bindings for Golang and QML at build-time";
diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix
index b052a104240..c4082ce454c 100644
--- a/pkgs/desktops/deepin/dde-api/default.nix
+++ b/pkgs/desktops/deepin/dde-api/default.nix
@@ -24,7 +24,7 @@
 
 buildGoPackage rec {
   pname = "dde-api";
-  version = "3.18.4.1";
+  version = "5.0.0";
 
   goPackagePath = "pkg.deepin.io/dde/api";
 
@@ -32,7 +32,7 @@ buildGoPackage rec {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0bcjp5ijwa4wmx6p43lik6vjlb7d5rk7nf8xl495i3yk9x70wyfa";
+    sha256 = "0iv4krj6dqdknwvmax7aj40k1h96259kqcfnljadrwpl7cvsvp5p";
   };
 
   goDeps = ./deps.nix;
@@ -113,7 +113,7 @@ buildGoPackage rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go-lang bindings for dde-daemon";
diff --git a/pkgs/desktops/deepin/dde-api/deps.nix b/pkgs/desktops/deepin/dde-api/deps.nix
index a3b5e20effc..5ebe1f6af95 100644
--- a/pkgs/desktops/deepin/dde-api/deps.nix
+++ b/pkgs/desktops/deepin/dde-api/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+      rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
+      sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+      rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
+      sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
     };
   }
   {
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/disintegration/imaging";
-      rev = "465faf0892b5c7b3325643b0e47282e1331672e7";
-      sha256 = "1z9rkphmqgyphznl53pp1gmf0dfrfrmr95bx46p422ldml26c5a0";
+      rev = "9aab30e6aa535fe3337b489b76759ef97dfaf362";
+      sha256 = "015amm3x989hl3r4gxnixj602fl9j8z53n0lrq804cbfbk7a31fw";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/fogleman/gg";
-      rev = "f194ddec6f45226fc9e1b4a61b7237f186edd543";
-      sha256 = "095g5hpqvpy5w9l4kb65cif013snsvlbw6sgln0kwdix0z099j3i";
+      rev = "4dc34561c649343936bb2d29e23959bd6d98ab12";
+      sha256 = "1x1finzdrr80dd3r7wvf7zb184yjf4dawz7s581p2dr64dcialww";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "7e034cad644213bc79b336b52fce73624259aeca";
-      sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va";
+      rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
+      sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "daa7c04131f568e31c51927b359a2d197a357058";
+      sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
     };
   }
   {
diff --git a/pkgs/desktops/deepin/dde-calendar/default.nix b/pkgs/desktops/deepin/dde-calendar/default.nix
index 427cb1249c9..5460a932962 100644
--- a/pkgs/desktops/deepin/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/dde-calendar/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "dde-calendar";
-  version = "1.2.10";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "00aqx24jccf88vvkpb9svyjz8knrqyjgd0152psf9dxc9q13f61h";
+    sha256 = "1zzr3crkz4l5l135y0m53vqhv7fkrbvbspk8295swz9gsm3f7ah9";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ mkDerivation rec {
       -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Calendar for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-control-center/default.nix b/pkgs/desktops/deepin/dde-control-center/default.nix
index 0871e004e5f..97e44c6c36e 100644
--- a/pkgs/desktops/deepin/dde-control-center/default.nix
+++ b/pkgs/desktops/deepin/dde-control-center/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "dde-control-center";
-  version = "4.10.11";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1ip8wjwf0n9q8xnqymzh8lz0j5gcnns976n291np6k5kdh2wqhr5";
+    sha256 = "10bx8bpvi3ib32a3l4nyb1j0iq3bch8jm9wfm6d5v0ym1zb92x3b";
   };
 
   nativeBuildInputs = [
@@ -99,7 +99,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Control panel of Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-daemon/default.nix b/pkgs/desktops/deepin/dde-daemon/default.nix
index da217186e27..b5460029f78 100644
--- a/pkgs/desktops/deepin/dde-daemon/default.nix
+++ b/pkgs/desktops/deepin/dde-daemon/default.nix
@@ -8,7 +8,7 @@
 
 buildGoPackage rec {
   pname = "dde-daemon";
-  version = "3.27.2.6";
+  version = "5.0.0";
 
   goPackagePath = "pkg.deepin.io/dde/daemon";
 
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "14g138h23f1lh1y98pdrfhnph1m7pw8lq8ypiwv9qf3fmdyn35d4";
+    sha256 = "08jri31bvzbaxaq78rpp46ndv0li2dij63hakvd9b9gs786srql1";
   };
 
   patches = [
@@ -121,7 +121,7 @@ buildGoPackage rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Daemon for handling Deepin Desktop Environment session settings";
diff --git a/pkgs/desktops/deepin/dde-daemon/deps.nix b/pkgs/desktops/deepin/dde-daemon/deps.nix
index c9a15ad88d4..bcc5ab81808 100644
--- a/pkgs/desktops/deepin/dde-daemon/deps.nix
+++ b/pkgs/desktops/deepin/dde-daemon/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/template";
-      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
-      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+      rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
+      sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/units";
-      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
-      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+      rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
+      sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "7e034cad644213bc79b336b52fce73624259aeca";
-      sha256 = "04n4yi0p2yjv8sr9dmnzwc2k6hvzzvl6jdq2xd043kvjwzk583va";
+      rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
+      sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859c4b73bb64fdc8285971fd33e3938";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "daa7c04131f568e31c51927b359a2d197a357058";
+      sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+      rev = "4b67af870c6ffd08258ef1202f371aebccaf7b68";
+      sha256 = "01mhy1xs2dh18kp6wdk1xnb34lbzv2qkvdwj7w5ha2qgm5rrm4ik";
     };
   }
   {
diff --git a/pkgs/desktops/deepin/dde-dock/default.nix b/pkgs/desktops/deepin/dde-dock/default.nix
index fc25d007f20..7b44b69d5b7 100644
--- a/pkgs/desktops/deepin/dde-dock/default.nix
+++ b/pkgs/desktops/deepin/dde-dock/default.nix
@@ -7,13 +7,13 @@
 let
 unwrapped = mkDerivation rec {
   pname = "dde-dock";
-  version = "4.10.3";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "17iy78r0frpv42g521igfdcgdklbifzig1wzxq2nl14fq0bgxg4v";
+    sha256 = "12dshsqhzajnxm7r53qg0c84b6xlj313qnssnx2m25z4jdp5i7pr";
   };
 
   nativeBuildInputs = [
@@ -68,7 +68,7 @@ unwrapped = mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Dock for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-file-manager/default.nix b/pkgs/desktops/deepin/dde-file-manager/default.nix
index 081c93a65c8..62b4da71dd6 100644
--- a/pkgs/desktops/deepin/dde-file-manager/default.nix
+++ b/pkgs/desktops/deepin/dde-file-manager/default.nix
@@ -1,22 +1,23 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, avfs, dde-daemon, dde-dock,
-  dde-polkit-agent, dde-qt-dbus-factory, deepin, deepin-anything,
-  deepin-desktop-schemas, deepin-gettext-tools, deepin-movie-reborn,
-  deepin-shortcut-viewer, deepin-terminal, dtkcore, dtkwidget,
-  ffmpegthumbnailer, file, glib, gnugrep, gsettings-qt, gvfs,
-  jemalloc, kcodecs, libX11, libsecret, polkit, polkit-qt, poppler,
-  procps, qmake, qt5integration, qtmultimedia, qtsvg, qttools,
-  qtx11extras, runtimeShell, samba, shadow, taglib, udisks2-qt5,
-  xdg-user-dirs, xorg, zlib, wrapGAppsHook }:
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, avfs, dde-daemon,
+  dde-dock, dde-polkit-agent, dde-qt-dbus-factory, deepin,
+  deepin-anything, deepin-desktop-schemas, deepin-gettext-tools,
+  deepin-movie-reborn, deepin-shortcut-viewer, deepin-terminal,
+  disomaster, dtkcore, dtkwidget, ffmpegthumbnailer, file, glib,
+  gnugrep, gsettings-qt, gvfs, jemalloc, kcodecs, libX11, libsecret,
+  polkit, polkit-qt, poppler, procps, qmake, qt5integration,
+  qtmultimedia, qtsvg, qttools, qtx11extras, runtimeShell, samba,
+  shadow, taglib, udisks2-qt5, xdg-user-dirs, xorg, zlib,
+  wrapGAppsHook }:
 
 mkDerivation rec {
   pname = "dde-file-manager";
-  version = "4.8.6.4";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1m0ykw5a91rm5xcah8bzk21xsambqvncj8104ihdhf9h0z9kdmm2";
+    sha256 = "0n2nl09anqdq0n5yn688n385rn81lcpybs0sa8m311k3k9ndkkyr";
   };
 
   nativeBuildInputs = [
@@ -39,6 +40,7 @@ mkDerivation rec {
     deepin-movie-reborn.dev
     deepin-shortcut-viewer
     deepin-terminal
+    disomaster
     dtkcore
     dtkwidget
     ffmpegthumbnailer
@@ -238,7 +240,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "File manager and desktop module for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-launcher/default.nix b/pkgs/desktops/deepin/dde-launcher/default.nix
index b36d87604e7..f5e5f23cc2c 100644
--- a/pkgs/desktops/deepin/dde-launcher/default.nix
+++ b/pkgs/desktops/deepin/dde-launcher/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "dde-launcher";
-  version = "4.6.13";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1lwwn2qjbd4i7wx18mi8n7hzdh832i3kdadrivr10sbafdank7ky";
+    sha256 = "0zh6bb0r3pgjrnw9rba46ghdzza1ka1mv7r1znf8gw24wsjgjcpn";
   };
 
   nativeBuildInputs = [
@@ -63,7 +63,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Desktop Environment launcher module";
diff --git a/pkgs/desktops/deepin/dde-network-utils/default.nix b/pkgs/desktops/deepin/dde-network-utils/default.nix
index 5397439949b..778481fc651 100644
--- a/pkgs/desktops/deepin/dde-network-utils/default.nix
+++ b/pkgs/desktops/deepin/dde-network-utils/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "dde-network-utils";
-  version = "0.1.4";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0nj9lf455lf2hyqv6xwhm4vrr825ldbl83azzrrzqs6p781x65i1";
+    sha256 = "0670kfnkplf7skkd1ql6y9x15kmrcbdv1005qwkg4vn8hic6s0z3";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin network utils";
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
index 9d181c188d4..7aaddf53872 100644
--- a/pkgs/desktops/deepin/dde-polkit-agent/default.nix
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "dde-polkit-agent";
-  version = "0.2.10";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0syg121slpd6d9xpifgcf85lg9ca0k96cl1g3rjvsmczs2d2ffgf";
+    sha256 = "00p8syx6rfwhq7wdsk37hm9mvwd0kwj9h0s39hii892h1psd84q9";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "PolicyKit agent for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
index a0e1e35ad85..ba237bcf755 100644
--- a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-qt-dbus-factory";
-  version = "1.1.5";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1jzfblsmnfpgym95mmbd8mjkk8wqqfb0kz6n6fy742hmqlzrpsj7";
+    sha256 = "1wbh4jgvy3c09ivy0vvfk0azkg4d2sv37y23c9rq49jb3sakcjgm";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt DBus interface library for Deepin software";
diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix
index bad409303d9..699403567b7 100644
--- a/pkgs/desktops/deepin/dde-session-ui/default.nix
+++ b/pkgs/desktops/deepin/dde-session-ui/default.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   pname = "dde-session-ui";
-  version = "4.9.12";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "00i45xv87wx9cww1d445lg6zjbhda5kki8nhsaav8gf2d4cmwzf4";
+    sha256 = "1gy9nlpkr9ayrs1z2dvd7h0dqlw6fq2m66d9cs48qyfkr6c8l9jj";
   };
 
   nativeBuildInputs = [
@@ -89,8 +89,8 @@ mkDerivation rec {
     substituteInPlace lightdm-deepin-greeter/scripts/lightdm-deepin-greeter --replace "/usr/bin/lightdm-deepin-greeter" "$out/bin/lightdm-deepin-greeter"
     substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-lock" "$out/bin/dde-lock"
     substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-shutdown" "$out/bin/dde-shutdown"
-    substituteInPlace session-widgets/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter"
-    substituteInPlace session-widgets/lockworker.cpp --replace "which" "${which}/bin/which"
+    substituteInPlace dde-lock/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter"
+    substituteInPlace dde-lock/lockworker.cpp --replace "which" "${which}/bin/which"
     substituteInPlace session-widgets/userinfo.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
     substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
     substituteInPlace widgets/kblayoutwidget.cpp --replace "setxkbmap" "${setxkbmap}/bin/setxkbmap"
@@ -113,7 +113,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin desktop-environment - Session UI module";
diff --git a/pkgs/desktops/deepin/deepin-anything/default.nix b/pkgs/desktops/deepin/deepin-anything/default.nix
index 7c88102c5f3..184153a3981 100644
--- a/pkgs/desktops/deepin/deepin-anything/default.nix
+++ b/pkgs/desktops/deepin/deepin-anything/default.nix
@@ -3,7 +3,7 @@
 
 mkDerivation rec {
   pname = "deepin-anything";
-  version = "0.1.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -51,7 +51,7 @@ mkDerivation rec {
     searchHardCodedPaths $modsrc  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin file search tool";
diff --git a/pkgs/desktops/deepin/deepin-calculator/default.nix b/pkgs/desktops/deepin/deepin-calculator/default.nix
index 97d2b53da70..26f2b99612e 100644
--- a/pkgs/desktops/deepin/deepin-calculator/default.nix
+++ b/pkgs/desktops/deepin/deepin-calculator/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "deepin-calculator";
-  version = "1.0.11";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "10bfq0h8v0a8i46gcbsy79l194g8sc0ysg289ndrra209fhwlidq";
+    sha256 = "0f26y7b3giybybhvlzbnwcw8kidzvhq66h0c15n9ww81gnlqf7v5";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy to use calculator for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
index ba826eb9063..0ca42a88761 100644
--- a/pkgs/desktops/deepin/deepin-desktop-base/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-desktop-base";
-  version = "2019.06.19";
+  version = "2019.07.10";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1r158x4z4qalv4q1ni3aln05krdzblvr7y6wyciwl7cr5ag1i1jy";
+    sha256 = "0rs7bjy35k5gc5nbba1cijhdz16zny30lgmcf2ckx1pkdszk2vra";
   };
 
   nativeBuildInputs = [ deepin.setupHook ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Base assets and definitions for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
index 4f2427e8237..579ceb442be 100644
--- a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, python3, gnome3, glib, deepin-gtk-theme,
+{ stdenv, fetchFromGitHub, python3, dconf, glib, deepin-gtk-theme,
   deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, deepin }:
 
 stdenv.mkDerivation rec {
   pname = "deepin-desktop-schemas";
-  version = "3.13.6";
+  version = "3.13.9";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "03jqb47kjyb9b43m2yincfjn2i43ma1pn1hddyicrrpg937caa81";
+    sha256 = "1c69j6s7561zb1hrd1j3ihji1nvpgfzfgnp6svsv8jd8dg8vs8l1";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     deepin-gtk-theme
     deepin-icon-theme
     deepin-sound-theme
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GSettings deepin desktop-wide schemas";
diff --git a/pkgs/desktops/deepin/deepin-editor/default.nix b/pkgs/desktops/deepin/deepin-editor/default.nix
new file mode 100644
index 00000000000..0aea9558ec0
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-editor/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, deepin,
+  dtkcore, dtkwidget, kcodecs, qttools, syntax-highlighting,
+  wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-editor";
+  version = "1.2.9.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0g7c3adqwn8i4ndxdrzibahr75dddz1fiqnsh3bjj1jjr86rv4ks";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+    wrapQtAppsHook
+    deepin.setupHook
+  ];
+
+  buildInputs = [
+    dtkcore
+    dtkwidget
+    kcodecs
+    syntax-highlighting
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths  # debugging
+
+    patchShebangs translate_generation.sh
+
+    fixPath $out /usr \
+      CMakeLists.txt \
+      dedit/main.cpp \
+      src/resources/settings.json \
+      src/thememodule/themelistmodel.cpp
+
+    substituteInPlace deepin-editor.desktop \
+      --replace "Exec=deepin-editor" "Exec=$out/bin/deepin-editor"
+
+    substituteInPlace src/editwrapper.cpp \
+      --replace "appExec = \"deepin-editor\"" "appExec = \"$out/bin/deepin-editor\""
+  '';
+
+  postFixup = ''
+    searchHardCodedPaths $out  # debugging
+  '';
+
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
+  meta = with stdenv.lib; {
+    description = "Simple editor for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-editor;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo worldofpeace ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
index 67fcc36bcef..915cb8c6ac7 100644
--- a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
+++ b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Internationalization utilities";
diff --git a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
index 8e2469a2c78..7c10e873209 100644
--- a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin GTK Theme";
diff --git a/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
index 51b67e05554..f8258a1d8cd 100644
--- a/pkgs/desktops/deepin/deepin-icon-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     cp -a ./Sea ./usr/share/icons/hicolor "$out"/share/icons/
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Icons for the Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-image-viewer/default.nix b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
index 733f4846f5c..aa13eb76055 100644
--- a/pkgs/desktops/deepin/deepin-image-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "deepin-image-viewer";
-  version = "1.3.17";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0hz4f1kqcycyvggwfzpkblhhha87rqd427hq0mf31jfh5x17ymnh";
+    sha256 = "01524hfdy3wvdf07n9b3qb8jdpxzg2hwjpl4gxvr68qws5nbnb3c";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ mkDerivation rec {
       -e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Image Viewer for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-menu/default.nix b/pkgs/desktops/deepin/deepin-menu/default.nix
index 9aef8a15eb9..b23a7491aaf 100644
--- a/pkgs/desktops/deepin/deepin-menu/default.nix
+++ b/pkgs/desktops/deepin/deepin-menu/default.nix
@@ -34,7 +34,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin menu service";
diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
index 046f589263b..b3930c8e399 100644
--- a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
+++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras,
+{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkgconfig, qttools, qtx11extras,
   dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio,
   libdvdnav, libdvdread, xorg, deepin }:
 
 mkDerivation rec {
   pname = "deepin-movie-reborn";
-  version = "3.2.24";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "16mxym7dm6qk90q2w7xqm62047rq0lirrjmnnpaxshzaww9gngkh";
+    sha256 = "0cly8q0514a58s3h3wsvx9yxar7flz6i2q8xkrkfjias22b3z7b0";
   };
 
   outputs = [ "out" "dev" ];
@@ -19,6 +19,7 @@ mkDerivation rec {
     cmake
     pkgconfig
     qttools
+    deepin.setupHook
   ];
 
   buildInputs = [
@@ -37,14 +38,27 @@ mkDerivation rec {
     xorg.xcbproto
   ];
 
+  patches = [
+    # fix: build failed if cannot find dtk-settings tool
+    (fetchpatch {
+      url = "https://github.com/linuxdeepin/deepin-movie-reborn/commit/fbb307b.patch";
+      sha256 = "0915za0khki0729rvcfpxkh6vxhqwc47cgcmjc90kfq1004221vx";
+    })
+  ];
+
   NIX_LDFLAGS = "-ldvdnav";
 
+
   postPatch = ''
-    sed -i src/CMakeLists.txt -e "s,/usr/lib/dtk2,${dtkcore}/lib/dtk2,"
+    searchHardCodedPaths  # debugging
+
     sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
+
+    substituteInPlace src/deepin-movie.desktop \
+      --replace "Exec=deepin-movie" "Exec=$out/bin/deepin-movie"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin movie player";
diff --git a/pkgs/desktops/deepin/deepin-screenshot/default.nix b/pkgs/desktops/deepin/deepin-screenshot/default.nix
index e77aa5e68c6..374af8be2be 100644
--- a/pkgs/desktops/deepin/deepin-screenshot/default.nix
+++ b/pkgs/desktops/deepin/deepin-screenshot/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "deepin-screenshot";
-  version = "4.2.1";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "16wy1ywp4lm7fg488laqxgxpir745rbpj9z410r6x7krpgjds189";
+    sha256 = "0h1kcf9i8q6rz4jhym3yf84zr6svzff0hh9sl7b24sflzkxx6zwk";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy-to-use screenshot tool for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
index 62c6c7ed925..a8d143ff8b0 100644
--- a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
@@ -3,7 +3,7 @@
 
 mkDerivation rec {
   pname = "deepin-shortcut-viewer";
-  version = "1.3.5";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Pop-up shortcut viewer for Deepin applications";
diff --git a/pkgs/desktops/deepin/deepin-sound-theme/default.nix b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
index e61e91fc87c..378945ac1dd 100644
--- a/pkgs/desktops/deepin/deepin-sound-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin sound theme";
diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix
index bb2ab7bc8a1..049c856419d 100644
--- a/pkgs/desktops/deepin/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/deepin-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, ninja, vala_0_44,
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, ninja, vala_0_40,
   gettext, at-spi2-core, dbus, epoxy, expect, gtk3, json-glib,
   libXdmcp, libgee, libpthreadstubs, librsvg, libsecret, libtasn1,
   libxcb, libxkbcommon, p11-kit, pcre, vte, wnck, libselinux, gnutls, pcre2,
@@ -6,20 +6,20 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-terminal";
-  version = "3.2.6";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = "deepin-terminal";
     rev = version;
-    sha256 = "09s5gvzfxfb353kb61x1b6z3h2aqgln3s3mah3f3zkf5y8hrp2pj";
+    sha256 = "1929saj828b438d07caw3cjhqq60v6gni7mi3fqrg9wdjz81xwv7";
   };
 
   nativeBuildInputs = [
     pkgconfig
     cmake
     ninja
-    vala_0_44 # xcb.vapi:411.3-411.48: error: missing return statement at end of subroutine body
+    vala_0_40 # xcb.vapi:411.3-411.48: error: missing return statement at end of subroutine body
     gettext
     libselinux libsepol utillinux # required by gio
     deepin.setupHook
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     "-DVERSION=${version}"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Default terminal emulator for Deepin";
diff --git a/pkgs/desktops/deepin/deepin-turbo/default.nix b/pkgs/desktops/deepin/deepin-turbo/default.nix
index 299db533674..3aa6003592b 100644
--- a/pkgs/desktops/deepin/deepin-turbo/default.nix
+++ b/pkgs/desktops/deepin/deepin-turbo/default.nix
@@ -31,7 +31,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "A daemon that helps to launch applications faster";
diff --git a/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
index e822cf6269d..6baee0eda11 100644
--- a/pkgs/desktops/deepin/deepin-wallpapers/default.nix
+++ b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Wallpapers for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 5d4b6f73244..57b0b35a532 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -23,6 +23,7 @@ let
     deepin-calculator = callPackage ./deepin-calculator { };
     deepin-desktop-base = callPackage ./deepin-desktop-base { };
     deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
+    deepin-editor = callPackage ./deepin-editor { };
     deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
     deepin-icon-theme = callPackage ./deepin-icon-theme { };
@@ -37,6 +38,7 @@ let
     };
     deepin-turbo = callPackage ./deepin-turbo { };
     deepin-wallpapers = callPackage ./deepin-wallpapers { };
+    disomaster = callPackage ./disomaster { };
     dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
     dtkcore = callPackage ./dtkcore { };
     dtkwidget = callPackage ./dtkwidget { };
diff --git a/pkgs/desktops/deepin/disomaster/default.nix b/pkgs/desktops/deepin/disomaster/default.nix
new file mode 100644
index 00000000000..3ce2adba098
--- /dev/null
+++ b/pkgs/desktops/deepin/disomaster/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtbase, libisoburn, deepin }:
+
+mkDerivation rec {
+  pname = "disomaster";
+  version = "5.0.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "13144gq0mpbpclzxc79fb1kirh0vvi50jvjnbpla9s8lvh59xl62";
+  };
+
+  nativeBuildInputs = [
+    deepin.setupHook
+    pkgconfig
+    qmake
+  ];
+
+  buildInputs = [
+    libisoburn
+    qtbase
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths  # debugging
+
+    sed -i '/^QMAKE_PKGCONFIG_DESTDIR/i QMAKE_PKGCONFIG_PREFIX = $$PREFIX' \
+       libdisomaster/libdisomaster.pro
+  '';
+
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
+
+  meta = with stdenv.lib; {
+    description = "A libisoburn wrapper for Qt";
+    homepage = https://github.com/linuxdeepin/disomaster;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo worldofpeace ];
+  };
+}
diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
index f645be0f4d9..ed01cd92c7c 100644
--- a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
+++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dpa-ext-gnomekeyring";
-  version = "0.1.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GNOME keyring extension for dde-polkit-agent";
diff --git a/pkgs/desktops/deepin/dtkcore/default.nix b/pkgs/desktops/deepin/dtkcore/default.nix
index 2ed10f99368..8ae1c6f0952 100644
--- a/pkgs/desktops/deepin/dtkcore/default.nix
+++ b/pkgs/desktops/deepin/dtkcore/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "dtkcore";
-  version = "2.0.14";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "0yc6zx8rhzg9mj2brggcsr1jy1pzfvgqy1h305y2dwnx5haazd04";
+    sha256 = "0xdh6mmrv8yr6mjmlwj0fv037parkkwfwlaibcbrskwxqp9iri1y";
   };
 
   nativeBuildInputs = [
@@ -31,21 +31,22 @@ mkDerivation rec {
 
   qmakeFlags = [
     "DTK_VERSION=${version}"
+    "LIB_INSTALL_DIR=${placeholder "out"}/lib"
     "MKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs"
   ];
 
   postFixup = ''
-    chmod +x $out/lib/dtk2/*.py
-    wrapPythonProgramsIn "$out/lib/dtk2" "$out $pythonPath"
+    chmod +x $out/lib/libdtk-${version}/DCore/bin/*.py
+    wrapPythonProgramsIn "$out/lib/libdtk-${version}/DCore/bin" "$out $pythonPath"
     searchHardCodedPaths $out  # debugging
   '';
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
-    description = "Deepin tool kit core modules";
+    description = "Deepin tool kit core library";
     homepage = https://github.com/linuxdeepin/dtkcore;
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/deepin/dtkwidget/default.nix b/pkgs/desktops/deepin/dtkwidget/default.nix
index 54c4163fcd1..751fe02562f 100644
--- a/pkgs/desktops/deepin/dtkwidget/default.nix
+++ b/pkgs/desktops/deepin/dtkwidget/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "dtkwidget";
-  version = "2.0.14";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "11ws0rl7rhlgwbqd4nqpqxhngf4lcyfrrdq33wzxwdlk33d69i1h";
+    sha256 = "0yqrm1p0k1843ldvcd79dxl26ybyl5kljl6vwhzc58sx7pw4qmvh";
   };
 
   nativeBuildInputs = [
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/pkgs/desktops/deepin/dtkwm/default.nix b/pkgs/desktops/deepin/dtkwm/default.nix
index 4807c3d312b..ead96fe2533 100644
--- a/pkgs/desktops/deepin/dtkwm/default.nix
+++ b/pkgs/desktops/deepin/dtkwm/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, qtx11extras, dtkcore,
-  deepin }:
+{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, pkgconfig, qmake, qtx11extras, dtkcore, deepin }:
 
 mkDerivation rec {
   pname = "dtkwm";
-  version = "2.0.11";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "10l89i84vsh5knq9wg2php7vfg5rj5c9hrrl9rjlcidn1rz8yx6f";
+    sha256 = "0rdzzqsggqarldwb4yp5s4sf5czicgxbdmibjn0pw32129r2d1g3";
   };
 
   nativeBuildInputs = [
@@ -22,6 +21,14 @@ mkDerivation rec {
     qtx11extras
   ];
 
+  patches = [
+    # Set DTK_MODULE_NAME
+    (fetchpatch {
+      url = "https://github.com/linuxdeepin/dtkwm/commit/2490891a.patch";
+      sha256 = "0krydxjpnaihkgs1n49b6mcf3rd3lkispcnkb1j5vpfs9hp9f48j";
+    })
+  ];
+
   outRef = placeholder "out";
 
   qmakeFlags = [
@@ -30,7 +37,7 @@ mkDerivation rec {
     "LIB_INSTALL_DIR=${outRef}/lib"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/pkgs/desktops/deepin/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-dbus-factory/default.nix
index d302cc3417f..0b7c6cfdc91 100644
--- a/pkgs/desktops/deepin/go-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-factory/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GoLang DBus factory for the Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/go-dbus-generator/default.nix b/pkgs/desktops/deepin/go-dbus-generator/default.nix
index 12562976490..fed8b6f2c6a 100644
--- a/pkgs/desktops/deepin/go-dbus-generator/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-generator/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "go-dbus-generator";
-  version = "0.6.6";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Convert dbus interfaces to go-lang or qml wrapper code";
diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix
index 2f431bd941b..5a10efa1932 100644
--- a/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generate static golang bindings for GObject";
diff --git a/pkgs/desktops/deepin/go-lib/default.nix b/pkgs/desktops/deepin/go-lib/default.nix
index fff92b595f8..730412a58f3 100644
--- a/pkgs/desktops/deepin/go-lib/default.nix
+++ b/pkgs/desktops/deepin/go-lib/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "go-lib";
-  version = "1.10.2";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "05z7ayl23cm8mbn4vkn3isy5kgwxljc26ifmzrhmnqm5yibd6lsf";
+    sha256 = "0j1ik5hfrysqgync8cyv815cwyjn67k8n69x6llxdp39jli1k8q0";
   };
 
   buildInputs = [
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     rm -r $out/share/go/src/pkg.deepin.io/lib/debian
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go bindings for Deepin Desktop Environment development";
diff --git a/pkgs/desktops/deepin/qcef/default.nix b/pkgs/desktops/deepin/qcef/default.nix
index ffbc230d2e2..38ca4f3b676 100644
--- a/pkgs/desktops/deepin/qcef/default.nix
+++ b/pkgs/desktops/deepin/qcef/default.nix
@@ -40,7 +40,7 @@ in
 
 mkDerivation rec {
   pname = "qcef";
-  version = "1.1.6";
+  version = "1.1.7";
 
   srcs = [
     (fetchFromGitHub {
@@ -53,8 +53,8 @@ mkDerivation rec {
     (fetchFromGitHub {
       owner = "linuxdeepin";
       repo = "cef-binary";
-      rev = "059a0c9cef4e289a50dc7a2f4c91fe69db95035e";
-      sha256 = "1h7cq63n94y2a6fprq4g63admh49rcci7avl5z9kdimkhqb2jb84";
+      rev = "fecf00339545d2819224333cc506d5aa22ae8008";
+      sha256 = "06i1zc7ciy7d0qhndiwpjrsii0x5i5hg9j6ddi4w5yf1nzgsrj4n";
       name = "cef-binary";
     })
   ];
@@ -90,7 +90,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt5 binding of Chromium Embedded Framework";
diff --git a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
index f382e605bac..6b1f212716c 100644
--- a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
+++ b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
@@ -43,7 +43,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugin for DDE";
diff --git a/pkgs/desktops/deepin/qt5integration/default.nix b/pkgs/desktops/deepin/qt5integration/default.nix
index 97e60be6d67..5de46f8a1dd 100644
--- a/pkgs/desktops/deepin/qt5integration/default.nix
+++ b/pkgs/desktops/deepin/qt5integration/default.nix
@@ -4,7 +4,7 @@
 
 mkDerivation rec {
   pname = "qt5integration";
-  version = "0.3.12";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugins for DDE";
diff --git a/pkgs/desktops/deepin/udisks2-qt5/default.nix b/pkgs/desktops/deepin/udisks2-qt5/default.nix
index 51c38f6d347..7972d8f9a3f 100644
--- a/pkgs/desktops/deepin/udisks2-qt5/default.nix
+++ b/pkgs/desktops/deepin/udisks2-qt5/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "udisks2-qt5";
-  version = "0.0.1";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "1gk4jmq7mrzk181r6man2rz1iyzkfasz7053a30h4nn24mq8ikig";
+    sha256 = "0mqxm6ixzpbg0rr6ly2kvnkpag8gjza67ya7jv4i4rihbq1d0wzi";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "UDisks2 D-Bus interfaces binding for Qt5";
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index 153616a3bc8..355cc58f348 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, avahi, bullet, check, curl, dbus,
-  doxygen, expat, fontconfig, freetype, fribidi, ghostscript, giflib,
-  glib, gst_all_1, gtk3, harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput,
-  libjpeg, libpng, libpulseaudio, libraw, librsvg, libsndfile,
-  libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, mesa,
-  openjpeg, openssl, poppler, python27Packages, systemd, udev,
-  utillinux, writeText, xorg, zlib
+{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib,
+  avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig,
+  freetype, fribidi, ghostscript, giflib, glib, gst_all_1, gtk3,
+  harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, libjpeg, libpng,
+  libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff,
+  libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl,
+  poppler, python27Packages, systemd, udev, utillinux, writeText,
+  xorg, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "efl";
-  version = "1.23.1";
+  version = "1.23.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn";
+    sha256 = "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix
index 3563b9aabc1..b00b3d7a846 100644
--- a/pkgs/desktops/enlightenment/ephoto.nix
+++ b/pkgs/desktops/enlightenment/ephoto.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Image viewer and editor written using the Enlightenment Foundation Libraries";
-    homepage = http://smhouston.us/ephoto/;
+    homepage = https://smhouston.us/projects/ephoto/;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.romildo ];
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index 672e1b3da73..ee140e09150 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "terminology";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy";
+    sha256 = "0xxx4xyhis6fy3frgb34ip0aj0kc4zashf60gzbxmq5gadbb0p5r";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 6cc6848b316..d0a7a890355 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -37,9 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
 
-  gnome_vfs = callPackage ./platform/gnome-vfs {
-    openssl = pkgs.openssl_1_0_2;
-  };
+  gnome_vfs = callPackage ./platform/gnome-vfs { };
 
   libgnome = callPackage ./platform/libgnome { };
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index c15f43b542a..7196840978f 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus-glib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libxml2, bzip2, openssl, dbus-glib
 , glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
@@ -20,6 +20,18 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ GConf glib ];
 
+  # struct SSL is opaque in openssl-1.1; and the SSL_free() man page
+  # says that one should not free members of it manually (in both
+  # the openssl-1.0 and openssl-1.1 man pages).
+  # https://bugs.gentoo.org/592540
+  patches = [ (fetchpatch {
+                name = "gnome-vfs-2.24.4-openssl-1.1.patch";
+                url = "https://bugs.gentoo.org/attachment.cgi?id=535944";
+                sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040";
+                extraPrefix = "";
+              })
+            ];
+
   postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
 
   doCheck = false; # needs dbus daemon
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 27caaa70634..522c5ce6b06 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,32 +1,58 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }:
+{ stdenv
+, fetchFromGitLab
+, pkgconfig
+, gtk-doc
+, autoconf
+, automake
+, which
+, libtool
+, gobject-introspection
+, glib
+, gtk2
+, libGLU
+, libGL
+, pango
+, xorg
+}:
 
 stdenv.mkDerivation rec {
-  name = "gtkglext-1.2.0";
+  pname = "gtkglext";
+  version = "unstable-2019-12-19";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gtkglext/1.2/${name}.tar.bz2";
-    sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "Archive";
+    repo = pname;
+    # build fixes
+    # https://gitlab.gnome.org/Archive/gtkglext/merge_requests/1
+    rev = "ad95fbab68398f81d7a5c895276903b0695887e2";
+    sha256 = "1d1bp4635nla7d07ci40c7w4drkagdqk8wg93hywvdipmjfb4yqb";
   };
 
-  buildInputs = with xorg;
-    [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ];
-  propagatedBuildInputs = [ pangox_compat ];
+  nativeBuildInputs = [
+    pkgconfig
+    gtk-doc
+    autoconf
+    automake
+    which
+    libtool
+    gobject-introspection
+  ];
 
-  patches = [
-    # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
-    # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.
-    (fetchpatch {
-      name = "02_fix_gtk-2.20_deprecated_symbols.diff";
-      url = https://git.gnome.org/browse/gtkglext/patch/?id=d8f285d1397f6c41099c67e668288eecc1cdae67;
-      sha256 = "1zxak73plhy3m6psil1q9ssvjh9aqrif7kcbcz69y480qfb4ja08";
-    })
-    # Fix build with glibc ≥ 2.27
-    (fetchurl {
-      url = https://salsa.debian.org/gewo/gtkglext/raw/3b002677c907890c7de002c9f5b4b3ec71d11b31/debian/patches/04_glibc2.27-ftbfs.diff;
-      sha256 = "1l1swkjkai6pnah23xfsfpbq2fgbhp5pzj3l0ybsx6b858cxqzj5";
-    })
+  buildInputs = [
+    glib
+    gtk2
+    libGLU
+    libGL
+    pango
+    xorg.libX11
+    xorg.libXmu
   ];
 
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://projects.gnome.org/gtkglext/;
     description = "GtkGLExt, an OpenGL extension to GTK";
diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index c801657f74b..0b833a876b6 100644
--- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -17,13 +17,13 @@
 
  python3.pkgs.buildPythonApplication rec {
   name = "accerciser-${version}";
-  version = "3.34.1";
+  version = "3.34.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/accerciser/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1awf7fcm52r23s51gllyybhywf2kljqkaw4znblajph9sawnfs3l";
+    sha256 = "1n6sy95j0r0v01sc9rbbpzikq2z4z42j8ah73hzmjdmck4iniik4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 701f894939e..a8c5d93b88d 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -43,11 +43,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hmxz3b9paqlpfjpqn379a8c01z3gb8lz0jgxxpgn6iygzfr4sk5";
+    sha256 = "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
index 36b89a31052..387f0ebdc44 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "file-roller";
-  version = "3.32.2";
+  version = "3.32.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w8s6hakgsvb2nqwbv0lr8ki4cbf1pz5z3qwkb0b2k7ppbh7j2n6";
+    sha256 = "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy";
   };
 
   LANG = "en_US.UTF-8"; # postinstall.py
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index 5115c2d8fb4..6ea04910d23 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "3.34.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zjh3p3lns7a7kx3g3v7gkgcqdzyx1zyv8ssr6d5ljfb7hfyb59y";
+    sha256 = "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index c48e6a7446f..d59746adc3d 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,37 +1,118 @@
-{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig, gettext, itstool, libvirt-glib
-, glib, gobject-introspection, libxml2, gtk3, gtk-vnc, freerdp, libvirt, spice-gtk, python3
-, spice-protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
-, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop-file-utils
-, mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, libsecret
-, libcap_ng, numactl, xen, libapparmor, json-glib, webkitgtk, vte
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, wrapGAppsHook
+, pkgconfig
+, gettext
+, itstool
+, libvirt-glib
+, glib
+, gobject-introspection
+, libxml2
+, gtk3
+, gtk-vnc
+, freerdp
+, libvirt
+, spice-gtk
+, python3
+, spice-protocol
+, libsoup
+, libosinfo
+, systemd
+, tracker
+, tracker-miners
+, vala
+, libcap
+, yajl
+, gmp
+, gdbm
+, cyrus_sasl
+, gnome3
+, librsvg
+, desktop-file-utils
+, mtools
+, cdrkit
+, libcdio
+, libusb
+, libarchive
+, acl
+, libgudev
+, libsecret
+, libcap_ng
+, numactl
+, xen
+, libapparmor
+, json-glib
+, webkitgtk
+, vte
+, glib-networking
 }:
 
-let
-  version = "3.34.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  inherit version;
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1758k5b79kyywdg67b4byqhva9045i13lzg5r62my950c4c2p0pc";
+    sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5";
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobject-introspection desktop-file-utils python3
+    desktop-file-utils
+    gettext
+    gobject-introspection
+    itstool
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
   ];
 
   # Required for USB redirection PolicyKit rules file
-  propagatedUserEnvPkgs = [ spice-gtk ];
+  propagatedUserEnvPkgs = [
+    spice-gtk
+  ];
 
   buildInputs = [
-    libvirt-glib glib gtk3 gtk-vnc freerdp libxml2
-    libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd
-    tracker tracker-miners libcap yajl gmp gdbm cyrus_sasl libusb libarchive
-    gnome3.adwaita-icon-theme librsvg acl libgudev libsecret
-    libcap_ng numactl xen libapparmor vte
+    acl
+    cyrus_sasl
+    freerdp
+    gdbm
+    glib
+    glib-networking
+    gmp
+    gnome3.adwaita-icon-theme
+    gtk-vnc
+    gtk3
+    json-glib
+    libapparmor
+    libarchive
+    libcap
+    libcap_ng
+    libgudev
+    libosinfo
+    librsvg
+    libsecret
+    libsoup
+    libusb
+    libvirt
+    libvirt-glib
+    libxml2
+    numactl
+    spice-gtk
+    spice-protocol
+    systemd
+    tracker
+    tracker-miners
+    vte
+    webkitgtk
+    xen
+    yajl
   ];
 
   preFixup = ''
@@ -45,8 +126,8 @@ in stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-boxes";
-      attrPath = "gnome3.gnome-boxes";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index 3a7e1473332..5aa39e09cd6 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -1,36 +1,86 @@
-{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib, tracker, tracker-miners
-, itstool, libxslt, webkitgtk, libgdata
-, gnome-desktop, libzapojit, libgepub
-, gnome3, gdk-pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42
-, gobject-introspection, inkscape, poppler_utils
-, desktop-file-utils, wrapGAppsHook, python3, gsettings-desktop-schemas }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, evince
+, gjs
+, pkgconfig
+, gtk3
+, glib
+, tracker
+, tracker-miners
+, itstool
+, libxslt
+, webkitgtk
+, libgdata
+, gnome-desktop
+, libzapojit
+, libgepub
+, gnome3
+, gdk-pixbuf
+, libsoup
+, docbook_xsl
+, docbook_xml_dtd_42
+, gobject-introspection
+, inkscape
+, poppler_utils
+, desktop-file-utils
+, wrapGAppsHook
+, python3
+, gsettings-desktop-schemas
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-documents";
-  version = "3.33.90";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0l9g10i380bnjp1y3pslsy8ph1hd5x1d57dadvq70p5ki4r3qjaw";
+    sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq";
   };
 
-  doCheck = true;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    itstool
+    libxslt
+    desktop-file-utils
+    docbook_xsl
+    docbook_xml_dtd_42
+    wrapGAppsHook
+    python3
 
-  mesonFlags = [
-    "-Dgetting-started=true"
+    # building getting started
+    inkscape
+    poppler_utils
   ];
 
-  nativeBuildInputs = [
-    meson ninja pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3
-    inkscape poppler_utils # building getting started
-  ];
   buildInputs = [
-    gtk3 glib gsettings-desktop-schemas
-    gdk-pixbuf gnome3.adwaita-icon-theme evince
-    libsoup webkitgtk gjs gobject-introspection
-    tracker tracker-miners libgdata
-    gnome-desktop libzapojit libgepub
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    gdk-pixbuf
+    gnome3.adwaita-icon-theme
+    evince
+    libsoup
+    webkitgtk
+    gjs
+    gobject-introspection
+    tracker
+    tracker-miners
+    libgdata
+    gnome-desktop
+    libzapojit
+    libgepub
+  ];
+
+  doCheck = true;
+
+  mesonFlags = [
+    "-Dgetting_started=true"
   ];
 
   postPatch = ''
@@ -44,13 +94,13 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-documents";
-      attrPath = "gnome3.gnome-documents";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Documents;
+    homepage = "https://wiki.gnome.org/Apps/Documents";
     description = "Document manager application designed to work with GNOME 3";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index 49b44f5f283..12dba8b41e1 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-maps";
-  version = "3.34.1";
+  version = "3.34.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "03nswj60lqznr2j3ld2lgjzr4j9x2gblqx2ip4l2yxnm9kgbm14s";
+    sha256 = "00xslcnhhwslqglgfv2im7vq3awa49y2jxzr8wsby7f713k28vf5";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 204d0a8982e..61ceb55aaf0 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,29 +1,85 @@
-{ stdenv, meson, ninja, gettext, fetchurl, gdk-pixbuf, tracker
-, libxml2, python3, libnotify, wrapGAppsHook, libmediaart
-, gobject-introspection, gnome-online-accounts, grilo, grilo-plugins
-, pkgconfig, gtk3, glib, desktop-file-utils, appstream-glib
-, itstool, gnome3, gst_all_1, libdazzle, libsoup, gsettings-desktop-schemas }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, gdk-pixbuf
+, tracker
+, libxml2
+, python3
+, libnotify
+, wrapGAppsHook
+, libmediaart
+, gobject-introspection
+, gnome-online-accounts
+, grilo
+, grilo-plugins
+, pkgconfig
+, gtk3
+, glib
+, desktop-file-utils
+, appstream-glib
+, itstool
+, gnome3
+, gst_all_1
+, libdazzle
+, libsoup
+, gsettings-desktop-schemas
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "3.34.0";
+  version = "3.34.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1a566ifx08clfm22qzdh1i6w8cr2kv7avqzkk6zgc5adba0vmzx4";
+    sha256 = "19d28ndk3i6b5dqgfv7jr2cpk86vxh0mx1xzagb43xpxaaq02jdr";
   };
 
-  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ];
-  buildInputs = with gst_all_1; [
-    gtk3 glib libmediaart gnome-online-accounts gobject-introspection
-    gdk-pixbuf gnome3.adwaita-icon-theme python3
-    grilo grilo-plugins libnotify libdazzle libsoup
-    gsettings-desktop-schemas tracker
-    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    itstool
+    pkgconfig
+    libxml2
+    wrapGAppsHook
+    desktop-file-utils
+    appstream-glib
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    libmediaart
+    gnome-online-accounts
+    gobject-introspection
+    gdk-pixbuf
+    gnome3.adwaita-icon-theme
+    python3
+    grilo
+    grilo-plugins
+    libnotify
+    libdazzle
+    libsoup
+    gsettings-desktop-schemas
+    tracker
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-plugins-ugly
+  ]);
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pycairo
+    dbus-python
+    pygobject3
   ];
-  propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python pygobject3 ];
 
 
   postPatch = ''
@@ -43,10 +99,10 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Music;
+    homepage = "https://wiki.gnome.org/Apps/Music";
     description = "Music player and management application for the GNOME desktop environment";
     maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index 0202821f7d5..02b476c2eea 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "polari";
-  version = "3.34.0";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "09g2ylx2fwm55h28w0c03fxkdvlwmr2yc033m93c4acz1h30rjns";
+    sha256 = "0wcfkib673fpys7hcpi5cqc0zgqzqmqvpzjzx4wwmim8lb121x5w";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index d2f161f23b4..4900717898f 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "3.34.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zvwikj3a07i3g3rir4cc63b14822lrzzgprs1j2nmb3h8gykds0";
+    sha256 = "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index c7a126034f2..5934f56274c 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3, dconf
 , libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     gettext docbook_xsl libxml2 gobject-introspection python3
   ];
 
-  buildInputs = [ glib gtk3 gnome3.dconf ];
+  buildInputs = [ glib gtk3 dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index bfcf01591e5..f042bbd146a 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nf1pqv3pdgrlq7fbic06rl3731dx5ihpfsphpai9grcmnbwjyx0";
+    sha256 = "18d48vcp2nxs63bddkdplslgbnlfq79pm2ivl8hk38kkggy3dahf";
   };
 
   # Tests need an X display
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 61f27f10ae1..bab84eeb78c 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1pr6fvbaam1mzxjwyqd53hcxzdjzf73idn10j4j7n54nwg6hgr45";
+    sha256 = "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index fa70ecea264..6c293cb55b9 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1gisymfjhkibqy73pmd0d3fwl43a23d0lvlxzqkycfdn9jh6pxbg";
+    sha256 = "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 9d1602dfccd..ba660a64418 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
-, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, accountsservice, libX11, gnome3, systemd, autoreconfHook, dconf
 , gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
 , librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     "--with-udevdir=$(out)/lib/udev"
   ];
 
-  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
+  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool dconf ];
   buildInputs = [
     glib accountsservice systemd
     gobject-introspection libX11 gtk3
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 6770f3df850..f7f83b56932 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nnwc837k244gjsmx8wff5sfvm8xnhm8xr39qxk73lnscrbfpny1";
+    sha256 = "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index 8aaf68ea1e3..459512017c5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0q366pns99f6wka5ikahqpasnsm72q9pg0c0nnfb2ld7spi1z06p";
+    sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb";
   };
 
   patches = [
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
       packageName = "gnome-session";
       attrPath = "gnome3.gnome-session";
     };
+    providedSessions = [ "gnome" "gnome-xorg" ];
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index 3d9f901b66b..36da3349c46 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-settings-daemon";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr";
+    sha256 = "1vfpgbdxkhh9xwvb3ja174jk3gpzj4n3jzcy9ygbjlvy45zfdflz";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
index 92c96001682..44c9e3eff44 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ny7mk82kpfac977j02860c75d7zn05gvy0h9bphvx0v7ca53bdh";
+    sha256 = "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index e8d5b7dbffd..e2d14ffcd26 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -15,11 +15,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07kd7wdk12nba33jfr44xqdlryiy86wgvsyjs8cw55y8p5cnbn6c";
+    sha256 = "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh";
   };
 
   LANG = "en_US.UTF-8";
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index fb4114a524a..051f0e4b432 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -11,11 +11,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1yd806dp1c51ym6sidbfafzcywkbxmzxbr4zz57i0yhfjmwr9mjx";
+    sha256 = "1zhi6zkphq0wfm9z2d1rp1ym8x52c7as4r8h2nrcd34mmv02xnm7";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
deleted file mode 100644
index cb0c1494b94..00000000000
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, itstool, libxml2, intltool }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-user-docs";
-  version = "3.34.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1v94mz8zwzx67db2avbi9p2klw36cz45qr6fbskpvygz2pzhg6cg";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-user-docs"; attrPath = "gnome3.gnome-user-docs"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gnome3.yelp itstool libxml2 intltool ];
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-help/;
-    description = "User and system administration help for the GNOME desktop";
-    maintainers = gnome3.maintainers;
-    license = licenses.cc-by-30;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index 6c291c1874f..ce5e073ac06 100644
--- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,11 +1,48 @@
-{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, adwaita-icon-theme
-, glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool
-, wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools
-, docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas
-, callPackage, unzip, gobject-introspection }:
+{ stdenv
+, intltool
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, gtk3
+, adwaita-icon-theme
+, glib
+, desktop-file-utils
+, gtk-doc
+, autoconf
+, automake
+, libtool
+, wrapGAppsHook
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+, docbook_xsl
+, docbook_xml_dtd_412
+, gsettings-desktop-schemas
+, callPackage
+, unzip
+, unicode-character-database
+, unihan-database
+, runCommand
+, symlinkJoin
+, gobject-introspection
+}:
 
 let
-  unicode-data = callPackage ./unicode-data.nix {};
+  # TODO: make upstream patch allowing to use the uncompressed file,
+  # preferably from XDG_DATA_DIRS.
+  # https://gitlab.gnome.org/GNOME/gucharmap/issues/13
+  unihanZip = runCommand "unihan" {} ''
+    mkdir -p $out/share/unicode
+    ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip
+  '';
+  ucd = symlinkJoin {
+    name = "ucd+unihan";
+    paths = [
+      unihanZip
+      unicode-character-database
+    ];
+  };
 in stdenv.mkDerivation rec {
   pname = "gucharmap";
   version = "12.0.1";
@@ -20,16 +57,41 @@ in stdenv.mkDerivation rec {
     sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw";
   };
 
+  patches = [
+    # fix build with Unicode 12.1
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gucharmap/raw/de079ad494a15f662416257fca2f2b8db757f4ea/debian/patches/update-to-unicode-12.1.patch";
+      sha256 = "093gqsxfpp3s0b88p1dgkskr4ng3hv8irmxc60l3fdrkl8am00xh";
+    })
+  ];
+
   nativeBuildInputs = [
-    pkgconfig wrapGAppsHook unzip intltool itstool
-    autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412
-    yelp-tools libxml2 desktop-file-utils gobject-introspection
+    pkgconfig
+    wrapGAppsHook
+    unzip
+    intltool
+    itstool
+    autoconf
+    automake
+    libtool
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+    yelp-tools
+    libxml2
+    desktop-file-utils
+    gobject-introspection
   ];
 
-  buildInputs = [ gtk3 glib gsettings-desktop-schemas adwaita-icon-theme ];
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    adwaita-icon-theme
+  ];
 
   configureFlags = [
-    "--with-unicode-data=${unicode-data}"
+    "--with-unicode-data=${ucd}/share/unicode"
     "--enable-gtk-doc"
   ];
 
@@ -51,7 +113,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GNOME Character Map, based on the Unicode Character Database";
-    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    homepage = "https://wiki.gnome.org/Apps/Gucharmap";
     license = licenses.gpl3;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix b/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
deleted file mode 100644
index 56104aff484..00000000000
--- a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl, stdenv, gnome3 }:
-stdenv.mkDerivation rec {
-  pname = "unicode-data";
-  version = "12.0.0";
-  srcs = [
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Blocks.txt";
-      sha256 = "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/DerivedAge.txt";
-      sha256 = "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/NamesList.txt";
-      sha256 = "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Scripts.txt";
-      sha256 = "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/UnicodeData.txt";
-      sha256 = "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Unihan.zip";
-      sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
-    })
-  ];
-  phases = "installPhase";
-  installPhase = with stdenv.lib; ''
-    mkdir $out
-    for f in $srcs;do
-      cp $f $out/$(stripHash $f)
-    done
-  '';
-  meta = with stdenv.lib; {
-    homepage = http://www.unicode.org/ucd/;
-    description = "Unicode Character Database";
-    maintainers = gnome3.maintainers;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
index cc00fc5ece4..85208163415 100644
--- a/pkgs/desktops/gnome-3/core/mutter/3.28.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
     })
     # See patch commit message
     ./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
+    # Fix build with libglvnd provided headers
+    ./libglvnd-328.patch
   ];
 
   configureFlags = [
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index c8b1ac7e466..61024788f15 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,61 +1,123 @@
-{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo
-, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
-, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
-, gsettings-desktop-schemas, glib, gtk3, gnome-desktop
-, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson
+{ fetchurl
+, fetchpatch
+, substituteAll
+, stdenv
+, pkgconfig
+, gnome3
+, gettext
+, gobject-introspection
+, upower
+, cairo
+, pango
+, cogl
+, json-glib
+, libstartup_notification
+, zenity
+, libcanberra-gtk3
+, ninja
+, xkeyboard_config
+, libxkbfile
+, libxkbcommon
+, libXtst
+, libinput
+, gsettings-desktop-schemas
+, glib
+, gtk3
+, gnome-desktop
+, geocode-glib
+, pipewire
+, libgudev
+, libwacom
+, xwayland
+, meson
 , gnome-settings-daemon
 , xorgserver
 , python3
 , wrapGAppsHook
 , sysprof
 , desktop-file-utils
+, libcap_ng
+, egl-wayland
 }:
 
 stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13kmmgg2zizr0522clwc2zn3bkwbir503b1wjiiixf5xi37jc65s";
+    sha256 = "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd";
   };
 
   mesonFlags = [
-    "-Dxwayland-path=${xwayland}/bin/Xwayland"
+    "-Degl_device=true"
     "-Dinstalled_tests=false" # TODO: enable these
+    "-Dwayland_eglstream=true"
+    "-Dxwayland-path=${xwayland}/bin/Xwayland"
   ];
 
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
+    json-glib
     libXtst
+    libcap_ng
   ];
 
   nativeBuildInputs = [
-    meson
-    pkgconfig
+    desktop-file-utils
     gettext
+    meson
     ninja
+    pkgconfig
     python3
-    # for cvt command
-    xorgserver
     wrapGAppsHook
-    desktop-file-utils
+    xorgserver # for cvt command
   ];
 
   buildInputs = [
-    glib gobject-introspection gtk3 gsettings-desktop-schemas upower
-    gnome-desktop cairo pango cogl clutter zenity libstartup_notification
-    geocode-glib libinput libgudev libwacom
-    libcanberra-gtk3 zenity xkeyboard_config libxkbfile
-    libxkbcommon pipewire xwayland
-    gnome-settings-daemon sysprof
+    cairo
+    cogl
+    egl-wayland
+    geocode-glib
+    glib
+    gnome-desktop
+    gnome-settings-daemon
+    gobject-introspection
+    gsettings-desktop-schemas
+    gtk3
+    libcanberra-gtk3
+    libgudev
+    libinput
+    libstartup_notification
+    libwacom
+    libxkbcommon
+    libxkbfile
+    pango
+    pipewire
+    sysprof
+    upower
+    xkeyboard_config
+    xwayland
+    zenity
+    zenity
   ];
 
   patches = [
-   # TODO: submit upstream
-   ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+    # Fix build with libglvnd provided headers
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
+      sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
+    })
+
+    # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
+    # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
+    ./drop-inheritable.patch
+
+    # TODO: submit upstream
+    ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+
     (substituteAll {
       src = ./fix-paths.patch;
       inherit zenity;
@@ -70,18 +132,18 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "mutter";
-      attrPath = "gnome3.mutter";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
+    description = "A window manager for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/mutter";
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch b/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
new file mode 100644
index 00000000000..574ed572561
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
@@ -0,0 +1,132 @@
+From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= <torhedinbronner@gmail.com>
+Date: Sat, 19 Oct 2019 13:26:05 +0200
+Subject: [PATCH] drop inheritable
+
+Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
+
+We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
+
+---
+ config.h.meson    |  3 +++
+ meson.build       |  5 +++++
+ meson_options.txt |  6 ++++++
+ src/core/main.c   | 11 +++++++++++
+ src/meson.build   |  1 +
+ 5 files changed, 26 insertions(+)
+
+diff --git a/config.h.meson b/config.h.meson
+index 0bab71848..202fb7ed1 100644
+--- a/config.h.meson
++++ b/config.h.meson
+@@ -58,6 +58,9 @@
+ /* Xwayland applications allowed to issue keyboard grabs */
+ #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
+ 
++/* Defined if libcap-ng is available */
++#mesondefine HAVE_LIBCAPNG
++
+ /* XKB base prefix */
+ #mesondefine XKB_BASE
+ 
+diff --git a/meson.build b/meson.build
+index 3322bd3b1..01c8020fa 100644
+--- a/meson.build
++++ b/meson.build
+@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
+ libcanberra_req = '>= 0.26'
+ libwacom_req = '>= 0.13'
+ atk_req = '>= 2.5.3'
++libcapng_req = '>= 0.7.9'
+ 
+ # optional version requirements
+ udev_req = '>= 228'
+@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
+ ice_dep = dependency('ice')
+ atk_dep = dependency('atk', version: atk_req)
+ libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
++libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
+ 
+ # For now always require X11 support
+ have_x11 = true
+@@ -256,6 +258,7 @@ have_core_tests = false
+ have_cogl_tests = false
+ have_clutter_tests = false
+ have_installed_tests = false
++have_libcapng = libcapng_dep.found()
+ 
+ if have_tests
+   have_core_tests = get_option('core_tests')
+@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
+ cdata.set('HAVE_SM', have_sm)
+ cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification)
+ cdata.set('HAVE_INTROSPECTION', have_introspection)
++cdata.set('HAVE_LIBCAPNG', have_libcapng)
+ cdata.set('HAVE_PROFILER', have_profiler)
+ 
+ xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
+@@ -443,6 +447,7 @@ output = [
+   '        Startup notification..... ' + have_startup_notification.to_string(),
+   '        Introspection............ ' + have_introspection.to_string(),
+   '        Profiler................. ' + have_profiler.to_string(),
++  '        libcap-ng................ ' + have_libcapng.to_string(),
+   '',
+   '    Tests:',
+   '',
+diff --git a/meson_options.txt b/meson_options.txt
+index 73aa7adde..8bfaacd9a 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
+   value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
+   description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
+ )
++
++option('libcapng',
++  type: 'feature',
++  value: 'auto',
++  description: 'Enable libcap-ng support'
++)
+diff --git a/src/core/main.c b/src/core/main.c
+index 7f4f666d2..b27968f13 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -66,6 +66,10 @@
+ #include <girepository.h>
+ #endif
+ 
++#ifdef HAVE_LIBCAPNG
++#include <cap-ng.h>
++#endif
++
+ #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
+ #include <systemd/sd-login.h>
+ #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
+@@ -673,6 +677,12 @@ meta_run (void)
+   if (!meta_display_open ())
+     meta_exit (META_EXIT_ERROR);
+ 
++#ifdef HAVE_LIBCAPNG
++  capng_clear(CAPNG_SELECT_BOTH);
++  capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
++  capng_apply(CAPNG_SELECT_BOTH);
++#endif
++
+   g_main_loop_run (meta_main_loop);
+ 
+   meta_finalize ();
+diff --git a/src/meson.build b/src/meson.build
+index 90d80734f..a9fffa2c2 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -18,6 +18,7 @@ mutter_pkg_deps = [
+   glib_dep,
+   gsettings_desktop_schemas_dep,
+   gtk3_dep,
++  libcapng_dep,
+   pango_dep,
+ ]
+ 
+-- 
+2.23.0
+
diff --git a/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch b/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
new file mode 100644
index 00000000000..96e27559828
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
@@ -0,0 +1,63 @@
+diff --git a/cogl/configure.ac b/cogl/configure.ac
+index 3be282f..d338cd1 100644
+--- a/cogl/configure.ac
++++ b/cogl/configure.ac
+@@ -490,6 +490,11 @@ AS_IF([test "x$enable_gles1" = "xyes"],
+ #include <EGL/eglext.h>"],
+                              [],
+                              [$COGL_EGL_INCLUDES])
++            AC_CHECK_HEADERS([EGL/eglmesaext.h],
++                             [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
++#include <EGL/eglmesaext.h>"],
++                             [],
++                             [$COGL_EGL_INCLUDES])
+ 
+             # Check for a GLES 1.x Common Profile library with/without EGL.
+             #
+@@ -759,7 +764,9 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
+           )
+ 
+         COGL_EGL_INCLUDES="#include <EGL/egl.h>
+-#include <EGL/eglext.h>"
++#include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++"
+         AC_SUBST([COGL_EGL_INCLUDES])
+       ])
+ 
+diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
+index 8705e7d..db0b74f 100644
+--- a/src/backends/meta-egl-ext.h
++++ b/src/backends/meta-egl-ext.h
+@@ -29,6 +29,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ /*
+  * This is a little different to the tests shipped with EGL implementations,
+diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
+index 755ec49..bd253c9 100644
+--- a/src/backends/meta-egl.c
++++ b/src/backends/meta-egl.c
+@@ -31,6 +31,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib-object.h>
+diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
+index 060c7cd..2fef264 100644
+--- a/src/backends/meta-egl.h
++++ b/src/backends/meta-egl.h
+@@ -27,6 +27,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <glib-object.h>
+ 
+ #define META_EGL_ERROR meta_egl_error_quark ()
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 48f47be04bc..e55bf19f528 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -32,11 +32,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wvp0272wky2v1pcx6z27275crb48j9903v6qzf8ki8hlqb2rkip";
+    sha256 = "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix
index c38e677a421..415974d0c2b 100644
--- a/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rygel";
-  version = "0.38.1";
+  version = "0.38.3";
 
   # TODO: split out lib
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1w8bi2rw91qyfny1zxhy32k4qn62hdjl2m38f75cp7wv6494d7w0";
+    sha256 = "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 21e198a867f..8d737b22a7a 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq";
+    sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index 7cb63b8df79..34f6accdd5f 100644
--- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "3.34.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1qjfw4s8yf4hmyqrcqy6q2rsnb8b2cl1qbq67m7n7pyiczp3l1p8";
+    sha256 = "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 952f6eaf4f8..c7c26cec7c3 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -14,10 +14,9 @@ lib.makeScope pkgs.newScope (self: with self; {
   */
   removePackagesByName = packages: packagesToRemove:
     let
-      pkgName = drv: (builtins.parseDrvName drv.name).name;
-      namesToRemove = map pkgName packagesToRemove;
+      namesToRemove = map lib.getName packagesToRemove;
     in
-      lib.filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages;
+      lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages;
 
   maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning worldofpeace ];
 
@@ -36,7 +35,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   caribou = callPackage ./core/caribou { };
 
-  dconf = callPackage ./core/dconf { };
   dconf-editor = callPackage ./core/dconf-editor { };
 
   empathy = callPackage ./core/empathy { };
@@ -49,8 +47,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gdm = callPackage ./core/gdm { };
 
-  gjs = callPackage ./core/gjs { };
-
   gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
 
   gnome-bluetooth = callPackage ./core/gnome-bluetooth { };
@@ -101,8 +97,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-themes-extra = callPackage ./core/gnome-themes-extra { };
 
-  gnome-user-docs = callPackage ./core/gnome-user-docs { };
-
   gnome-user-share = callPackage ./core/gnome-user-share { };
 
   gucharmap = callPackage ./core/gucharmap { };
@@ -144,10 +138,6 @@ lib.makeScope pkgs.newScope (self: with self; {
     withGnome = true;
   };
 
-  networkmanagerapplet = pkgs.networkmanagerapplet.override {
-    withGnome = true;
-  };
-
   rygel = callPackage ./core/rygel { };
 
   simple-scan = callPackage ./core/simple-scan { };
@@ -162,8 +152,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   yelp-xsl = callPackage ./core/yelp-xsl { };
 
-  yelp-tools = callPackage ./core/yelp-tools { };
-
   zenity = callPackage ./core/zenity { };
 
 
@@ -351,13 +339,23 @@ lib.makeScope pkgs.newScope (self: with self; {
   pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01
 
   # added 2019-08-25
-  corePackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-shell.enable`";
-  optionalPackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-utilities.enable`";
-  gamesPackages = throw "deprecated 2019-08-25: please use `services.gnome3.games.enable`";
+  corePackages = throw "gnome3.corePackages is removed since 2019-08-25: please use `services.gnome3.core-shell.enable`";
+  optionalPackages = throw "gnome3.optionalPackages is removed since 2019-08-25: please use `services.gnome3.core-utilities.enable`";
+  gamesPackages = throw "gnome3.gamesPackages is removed since 2019-08-25: please use `services.gnome3.games.enable`";
 
-  nautilus-sendto = throw "deprecated 2019-09-17: abandoned";
+  nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream";
 
   inherit (pkgs) vala; # added 2019-10-10
 
+  inherit (pkgs) gnome-user-docs; # added 2019-11-20
+
   inherit (pkgs) gegl_0_4; # added 2019-10-31
+
+  inherit (pkgs) gjs; # added 2019-01-05
+
+  inherit (pkgs) yelp-tools; # added 2019-11-20
+
+  inherit (pkgs) dconf; # added 2019-11-30
+
+  inherit (pkgs) networkmanagerapplet; # added 2019-12-12
 })
diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
index 4df3ed10a69..4f5562bbffa 100644
--- a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, gjs, flex, bison, libxml2, intltool,
   gdl, libgda, gtksourceview, gsettings-desktop-schemas,
   itstool, python3, ncurses, makeWrapper }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     ncurses
   ];
   buildInputs = [
-    flex bison gtk3 libxml2 gnome3.gjs gdl
+    flex bison gtk3 libxml2 gjs gdl
     libgda gtksourceview
     gsettings-desktop-schemas
   ];
diff --git a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
index 8cf9fb9f0e6..1761887f8fb 100644
--- a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-caffeine";
-  version = "unstable-2019-04-02";
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "eonpatapon";
     repo = "gnome-shell-extension-caffeine";
-    rev = "a6b37dee108cddf50a0f0a19f0101854a75bf173";
-    sha256 = "1j3q12j36v97551sjb0c8qc8zr7a7gmxibygczryfdfmwjzp6icl";
+    rev = "v${version}";
+    sha256 = "1v74xfk7csgc4kw1fg75brmhk2aby3d453ksnmj4k8ivyxkzxmfg";
   };
 
   uuid = "caffeine@patapon.info";
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ eperuffo ];
     homepage = https://github.com/eonpatapon/gnome-shell-extension-caffeine;
-    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
index f7f189e23bd..33261472487 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-dash-to-panel";
-  version = "23";
+  version = "26";
 
   src = fetchFromGitHub {
     owner = "home-sweet-gnome";
     repo = "dash-to-panel";
     rev = "v${version}";
-    sha256 = "12smkz3clcvgicr0pdc0fk6igf82nw4hzih1ywv9q43xkqh9w1i6";
+    sha256 = "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix
index c0ecfc29e2c..4e7fa17d495 100644
--- a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, substituteAll, gnome3, vte }:
+{ stdenv, fetchFromGitHub, substituteAll, gjs, vte }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-drop-down-terminal";
@@ -16,8 +16,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./fix_vte_and_gjs.patch;
-      inherit vte;
-      gjs = gnome3.gjs;
+      inherit gjs vte;
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index cb1dd5ceaa8..ca232d090a8 100644
--- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, substituteAll, python3, openssl, folks, gsound
 , meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook
-, glib, gtk3, at-spi2-core, upower, openssh, gnome3 }:
+, glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-gsconnect";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     gsound
     upower
     gnome3.caribou
-    gnome3.gjs # for running daemon
+    gjs # for running daemon
     gnome3.evolution-data-server # for libebook-contacts typelib
   ];
 
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 921991a33ae..13b2d6a1db4 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }:
+{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-system-monitor";
@@ -41,6 +41,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ aneeshusa tiramiseb ];
     homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
-    broken = versionAtLeast gnome3.gnome-shell.version "3.32";
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
deleted file mode 100644
index 811e9911f62..00000000000
--- a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, glib }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-workspace-grid";
-  version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b";
-
-  src = fetchFromGitHub {
-    owner = "zakkak";
-    repo = "workspace-grid-gnome-shell-extension";
-    rev = version;
-    sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69";
-  };
-
-  buildInputs = [
-    glib
-  ];
-
-  installPhase = ''
-    cp -r ${uuid} $out
-  '';
-
-  uuid = "workspace-grid@mathematical.coffee.gmail.com";
-
-  meta = with stdenv.lib; {
-    description = "Arranges workspaces in a configurable grid";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aneeshusa ];
-    homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
new file mode 100644
index 00000000000..ca4b72111c6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, findutils, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-workspace-matrix";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "mzur";
+    repo = "gnome-shell-wsmatrix";
+    rev = "v${version}";
+    sha256 = "1fgyzmd16kklcca7600bwg8w8pbb4klmapqsvmahlwa99vmkhfkn";
+  };
+
+  uuid = "wsmatrix@martin.zurowietz.de";
+
+  nativeBuildInputs = [
+    findutils
+    glib
+  ];
+
+  buildFlags = "schemas";
+
+  installPhase = ''
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r ${uuid} $out/share/gnome-shell/extensions
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Arrange workspaces in a two dimensional grid with workspace thumbnails";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ chkno ];
+    homepage =  https://github.com/mzur/gnome-shell-wsmatrix;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index dd7908ba726..9edeb3ea5de 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-taquin";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0vyrfhkfpx83n9p70jssykbndvb3sxwdihqvvvb94rbw7n6c4q4r";
+    sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index c679f3f74b8..33cd60f5272 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iagno";
-  version = "3.34.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0r31k6b8mqgn5c55hi94gpdr776ykq7ww55vq6pmp5irhdwb3gn9";
+    sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index 787bdd97ebf..07319337a9a 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, gtk3, vala, enchant2, wrapGAppsHook, meson, ninja
 , desktop-file-utils, gnome-online-accounts, gsettings-desktop-schemas, adwaita-icon-theme
-, libcanberra-gtk3, libsecret, gmime, isocodes, libxml2, gettext
+, libcanberra-gtk3, libsecret, gmime, isocodes, libxml2, gettext, fetchpatch
 , sqlite, gcr, json-glib, itstool, libgee, gnome3, webkitgtk, python3
 , xvfb_run, dbus, shared-mime-info, libunwind, libunity, folks, glib-networking
 , gobject-introspection, gspell, appstream-glib, libytnef, libhandy }:
@@ -33,6 +33,14 @@ stdenv.mkDerivation rec {
     "-Dcontractor=true" # install the contractor file (Pantheon specific)
   ];
 
+  patches = [
+    # Longer timeout for client test.
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/geary/raw/04be1e058a2e65075dd8cf8843d469ee45a9e09a/debian/patches/Bump-client-test-timeout-to-300s.patch";
+      sha256 = "1zvnq8bgla160531bjdra8hcg15mp8r1j1n53m1xfgm0ssnj5knx";
+    })
+  ];
+
   postPatch = ''
     chmod +x build-aux/post_install.py build-aux/git_version.py
     patchShebangs build-aux/post_install.py build-aux/git_version.py
diff --git a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
index 8ccf5107046..8f1d193a6d3 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.2.3";
+  version = "0.2.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax";
+    sha256 = "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index e381860ca2c..c1791ee5bbd 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -22,18 +22,19 @@
 , writeTextFile
 , writeShellScriptBin
 , xkeyboard_config
+, runCommand
 }:
 
 let
   pname = "gnome-flashback";
-  version = "3.34.1";
+  version = "3.34.2";
   requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;";
   gnome-flashback = stdenv.mkDerivation rec {
     name = "${pname}-${version}";
 
     src = fetchurl {
       url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-      sha256 = "0xxw5w66gx04amyxhf4xbz0s4bf0rdp7y9nyrf6bb4xdc6b0rfnx";
+      sha256 = "1726xcm2q94nfvb055d3m61m20s0xy3xl1fc3ds3k3rcrn457riv";
     };
 
     # make .desktop Execs absolute
@@ -140,7 +141,16 @@ let
           Type=Application
           DesktopNames=GNOME-Flashback;GNOME;
         '';
+      } // {
+        providedSessions = [ "gnome-flashback-${wmName}" ];
       };
+
+      mkSystemdTargetForWm = { wmName }:
+        runCommand "gnome-flashback-${wmName}.target" {} ''
+          mkdir -p $out/lib/systemd/user
+          cp "${gnome-flashback}/lib/systemd/user/gnome-session-x11@gnome-flashback-metacity.target" \
+            "$out/lib/systemd/user/gnome-session-x11@gnome-flashback-${wmName}.target"
+        '';
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnustep/make/setup-hook.sh b/pkgs/desktops/gnustep/make/setup-hook.sh
index 53138901116..b2b90f1e522 100644
--- a/pkgs/desktops/gnustep/make/setup-hook.sh
+++ b/pkgs/desktops/gnustep/make/setup-hook.sh
@@ -20,57 +20,57 @@ addEnvVars() {
     local filename
 
     for filename in $1/share/GNUstep/Makefiles/Additional/*.make ; do
-	if case "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" in *"{$filename}"*) false;; *) true;; esac; then
+	if case "${NIX_GNUSTEP_MAKEFILES_ADDITIONAL-}" in *"{$filename}"*) false;; *) true;; esac; then
 	    export NIX_GNUSTEP_MAKEFILES_ADDITIONAL+=" $filename"
 	fi
     done
 
     local tmp="$1/lib/GNUstep/Applications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_APPS "$tmp"
     fi
     tmp="$1/lib/GNUstep/Applications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_ADMIN_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_APPS "$tmp"
     fi
     tmp="$1/lib/GNUstep/WebApplications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_WEB_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_WEB_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_WEB_APPS "$tmp"
     fi
     tmp="$1/bin"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_TOOLS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_TOOLS "$tmp"
     fi
     tmp="$1/sbin"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS "$tmp"
     fi
     tmp="$1/lib/GNUstep"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARY" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_LIBRARY-}" in *"${tmp}"*) false;; *) true;; esac; then
     	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARY "$tmp"
     fi
     tmp="$1/include"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_HEADERS" in *"${tmp}"*) false;; *) true;; esac; then
-    	if [ -z "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_HEADERS-}" in *"${tmp}"*) false;; *) true;; esac; then
+    	if [ -z "${NIX_GNUSTEP_SYSTEM_HEADERS-}" ]; then
     	    export NIX_GNUSTEP_SYSTEM_HEADERS="$tmp"
     	else
     	    export NIX_GNUSTEP_SYSTEM_HEADERS+=" $tmp"
     	fi
     fi
     tmp="$1/lib"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARIES" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_LIBRARIES-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARIES "$tmp"
     fi
     tmp="$1/share/GNUstep/Documentation"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC "$tmp"
     fi
     tmp="$1/share/man"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_MAN" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC_MAN-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_MAN "$tmp"
     fi
     tmp="$1/share/info"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_INFO" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC_INFO-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_INFO "$tmp"
     fi
 }
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index f19114a5442..ecb9ea2e377 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11l78zkxszvsjr74cmk1wff5ycqrzd89y6k36rydv2rb5af2nsfw";
+    sha256 = "06hmyw7fwdrdyl3n79b8qxlrwbzf240n82arzmlg62q9zxzdc0is";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix
index 597391eb135..820b1e905ec 100644
--- a/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "18cnd3yw2ingvl38mhmfbl5k0kfg8pzcf2649j00i6v90cwiril5";
   };
 
diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix
index 74b184d2cb0..10595bbbaec 100644
--- a/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/pkgs/desktops/mate/caja-extensions/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0xzhphzvaxbwyyp242pnhl5zjrkiznj90i0xjmy7pvi155pmp16h";
   };
 
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 265b0b92222..c460a2cf2dc 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1c5yr4b8pzd7nz7g7ln9jwp4fx6qgq8vgbv4spfryy53il3gv75h";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1w2liq9h1kr5zyaaq82xz8pic04qi5sra8kaycfg1iddmknkfqn7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 0278fd7fec8..4eefc7aa2e1 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0ph7ngk32nnzc3psqjs5zy52zbjilk30spr2r4sixqxvmz7d28gd";
   };
 
diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index 2d32d8301c9..457a9e56c5d 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0za1lw4awg1i0ls0r9iw0ail2hqa34y1dx65b50bw9kx9kbfyl9l";
   };
 
diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index d6709c375e6..6364b89204a 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/pkgs/desktops/mate/libmatekbd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8";
   };
 
diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix
index 17fee5d61cb..9c2dc412d4d 100644
--- a/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/pkgs/desktops/mate/libmatemixer/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9";
   };
 
diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index c22c849a165..0c14cdb96b5 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/pkgs/desktops/mate/libmateweather/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1y3z82ymc7q6z8ly9f6nys0hbs373fjnvr6j7zwlgf6zc88f71h3";
   };
 
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 88dd9e79bc8..fd551c0cc78 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.22.3";
+  version = "1.22.4";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0faiqj9i1mqqy1v4jdcwy8nsbkkvs0cwd2dqypgscmcqpbq7jf8a";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0z8q4nwm43imbnbxz348ylgzfl25sknb19kml57d6z6flxws19k3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index a99405d517a..3b5a4ccf2a2 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1c32rkkry6kka2arrx5psjj037j79icp5jr1s0qh596dvsgxciqc";
   };
 
diff --git a/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix
index 2667c25959e..4b41caba710 100644
--- a/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9";
   };
 
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index 81cfd3201a6..d89e1e35d92 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1as4gshydcf84vynq8ijd9n8pslz5jpw6aj18ri4bdc91a6q3rpg";
   };
 
diff --git a/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix
index 5eacbd08146..b0a7096c5e7 100644
--- a/pkgs/desktops/mate/mate-common/default.nix
+++ b/pkgs/desktops/mate/mate-common/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1xx7qrw8kc6355r1a1nybncf8s2rxjb2nqzw0gv2r5j5sqx8fzgf";
   };
 
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index e16effed670..d5c39a67d20 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus-glib,
   libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3,
-  desktop-file-utils, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
+  desktop-file-utils, dconf, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1ybdjibi6wgqn3587a66ckxp2qkvl4mcvv2smhflyxksl5djrjgh";
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     librsvg
     libappindicator-gtk3
     gtk3
-    gnome3.dconf
+    dconf
     hicolor-icon-theme
     mate.mate-desktop
     mate.libmatekbd
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 8d157a201be..2dca83bcd46 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, dconf, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "18w5r9p3bqpvxqqy2am7z686xf65cz5vhj247kki8s2yvvap6rlh";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     gtk3
     isocodes
   ];
diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index 1e1b2b837c3..a4fa6fedae3 100644
--- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.20.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna";
   };
 
diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index 74777a7ef5e..d374092c48a 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0r2bk4flb6kjj97badj2lnml4lfwpl2ym5hkf7r6f7cj8g6pzc4r";
   };
 
diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix
index 9b471805ad3..b2e07d0a3e7 100644
--- a/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "05j5s6r4kx1rbz0j7a7xv38d0kbdi1r8iv8b6nx3lkbkdzq1x0w2";
   };
 
diff --git a/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix
index ca1d7867807..156a305a63f 100644
--- a/pkgs/desktops/mate/mate-media/default.nix
+++ b/pkgs/desktops/mate/mate-media/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0m8q2rqbxzvh82yj63syd8sbfjrc8y4a8caa42zs66j9x60d1agw";
   };
 
diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix
index 3788c2d4894..299c9b0e60f 100644
--- a/pkgs/desktops/mate/mate-menus/default.nix
+++ b/pkgs/desktops/mate/mate-menus/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0kh6y76f1rhp3nr22rp93bx77wcgqnygag2ir076cqkppayjc3c0";
   };
 
diff --git a/pkgs/desktops/mate/mate-netbook/default.nix b/pkgs/desktops/mate/mate-netbook/default.nix
index 077ba2268c9..337e2bfdb3b 100644
--- a/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/pkgs/desktops/mate/mate-netbook/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0m38v2276s2d3zs7smxyf70nyl7bcwp5665zgva28lvs8ip3gijx";
   };
 
diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
index a44b73c81a3..a83bbcb3ffb 100644
--- a/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0f8m3m94iqj2x61dzwwvwq2qlsl2ma8pqr6rfns5pzd0nj0waz0m";
   };
 
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index db45dc9c472..06e9b386adb 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, dconf, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1sm0fniywcxg8rbakhhc37bamwq1x3jqqyaqcvqwxvm6jg1hc97y";
   };
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     librsvg
     libxml2
     gtk3
-    gnome3.dconf
+    dconf
     mate.libmateweather
     mate.mate-desktop
     mate.mate-menus
diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix
index 253472e3987..e11bcb10257 100644
--- a/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/pkgs/desktops/mate/mate-polkit/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.0";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0";
   };
 
diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index df7223e2288..3f84e60f9b6 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "12pnj7y01k1fhfhswxmf6q9yyb0772am5anm338hzfhjp0lcxlbn";
   };
 
diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix
index 4a2c0a5e2b8..0e99d03c081 100644
--- a/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1y8828g4bys8y4r5y478z6i7dgdqm2wkymi5fq75vxx4lzq919cb";
   };
 
diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix
index bd9ed9f6cbe..0c20880d7ec 100644
--- a/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0rv19jxxviqqwk2wlhxlm98jsxa26scvs7ilp2i6plhn3ap2alq3";
   };
 
diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index fb9ea7699ac..61dec6b3484 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-session-manager";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1v0a9jbsmf9axfqm2cnsqp5ihwffw7rl0z77dyw0m4j2pmyb0558";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1ys26af75xl1psck8v32gygxipd8ms1xgpvdhwmnj7bqhabhh249";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 73dd7011d49..f126918afca 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
-  libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
+  libcanberra-gtk3, libnotify, nss, polkit, dconf, gtk3, mate,
   pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
   wrapGAppsHook, fetchpatch, autoreconfHook }:
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0idw02z0iig0pfxvlhc4dq4sr7kl1w50xscvg0jzzswnxid2l4ip";
   };
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     nss
     polkit
     gtk3
-    gnome3.dconf
+    dconf
     mate.mate-desktop
     mate.libmatekbd
     mate.libmatemixer
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index 12818d206a8..982d2d77b3e 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1d4l5rv01343jf8bk2j5hxvrbp3d705nd4v2pdrjn4h5dw8nxsl1";
   };
 
diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index 7ec9944aa0e..905e5643898 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, gnome3, gtk3, vte, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, dconf, gtk3, vte, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-terminal";
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "08210ry5lrivsgzqpdaxrchhpj0n5s1q0x4pxmwdpnksjpcj11mn";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
      vte
      gtk3
-     gnome3.dconf
+     dconf
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index 9ed5515ea3e..c994513273b 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "3.22.20";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx";
   };
 
diff --git a/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix
index 72330317bc4..386b53837b1 100644
--- a/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.3";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0zv8arsxnbab0qk3ck9i1wp3d4gfclcv6vq6nh5i8zjz6rpp9cjs";
   };
 
diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix
index 999bee2e5d1..7f5e4e10f14 100644
--- a/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/pkgs/desktops/mate/mate-user-share/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1krsar1pwa8720qz2dckcg0f6z9mvfk49djdxaz1afvi7blmqd6k";
   };
 
diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix
index adb8fef27f5..0afeb00610b 100644
--- a/pkgs/desktops/mate/mate-utils/default.nix
+++ b/pkgs/desktops/mate/mate-utils/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1i6fnm3y1hj8r57x4jpc4ixqs77zln8f7477d0haypflxm3s4kjr";
   };
 
diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix
index 9d61f45e18e..365a471dd7a 100644
--- a/pkgs/desktops/mate/mozo/default.nix
+++ b/pkgs/desktops/mate/mozo/default.nix
@@ -8,7 +8,7 @@ python3.pkgs.buildPythonApplication rec {
   doCheck = false;
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1lzcwsz940v218frwzhpywp1an9x3cgfvqr7r8dplpdapvd0khrs";
   };
 
diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index e0b61fd35cb..cb1e3de376e 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.2";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1gsj8grdhzb1jvl5zwd8zjc9cj9ys2ndny04gy4bbh80sjaj6xva";
   };
 
diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix
index d861ddbf4d7..c566c8a6953 100644
--- a/pkgs/desktops/mate/python-caja/default.nix
+++ b/pkgs/desktops/mate/python-caja/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.22.1";
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "07hkvs4a6anrvh28zjsrj8anbcz32p19hslhq66yhcvh0hh4kvqk";
   };
 
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix
index db674f4fb7e..244146771c4 100644
--- a/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -28,18 +28,18 @@
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0xsxm0qgmnljd4s8m6xajzsjp9skpsa8wwlwqmc5yx34diad7zag";
+    sha256 = "18l0kbm778728rksifslnaw2arnpr92sk24nw26k1zvs4prz5i7j";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index bcbe50e5de3..1876020a8fe 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.5.2";
+  version = "1.5.4";
 
   repoName = "calculator";
 
@@ -26,13 +26,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl";
+    sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index 4e5f69fc9e6..5a70fa94c5e 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -25,22 +25,20 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "unstable-2019-10-29";
+  version = "5.0.3";
 
   repoName = "calendar";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = "7d201fc5ea9e8dc25c46427397594fcab2016ed6"; # needed for libical 2.0 compat
-    sha256 = "11bqf3nxrj1sfd0qq5h0jsmimc6mwkd2g7q9ycizn9x5ak2gb8xi";
+    rev = version;
+    sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
-      versionPolicy = "master";
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
index aedc445b05f..7c95d88053d 100644
--- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
@@ -36,8 +36,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 355f3ea8d0f..0e692a8e806 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -40,8 +40,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
index 70d8f63c13c..fb56b3d1b33 100644
--- a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -31,8 +31,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 1b5de7c168e..1cb81344ea6 100644
--- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -45,8 +45,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index 7d235551a80..b5303021772 100644
--- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -42,8 +42,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 94b6a2fce8e..ea74686e504 100644
--- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -33,7 +33,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.6.4";
+  version = "2.6.5";
 
   repoName = "photos";
 
@@ -41,13 +41,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1";
+    sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
index 4dd168f25f0..8485a1df9f3 100644
--- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
-  version = "1.6.2";
+  version = "1.7.0";
 
   repoName = "screenshot";
 
@@ -25,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q";
+    sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 8bd335c6530..8416898710d 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.3.6";
+  version = "5.4.0";
 
   repoName = "terminal";
 
@@ -28,13 +28,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3";
+    sha256 = "1rj4hrg5qljsv11apgdp0x4dazlfmjq3s0lk0dvwjvh9nqkr6jbw";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index 9132707db2b..c8bde494399 100644
--- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-videos";
-  version = "2.6.3";
+  version = "2.7.0";
 
   repoName = "videos";
 
@@ -27,13 +27,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx";
+    sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix
index 1fcd486263b..f04cb7cd53b 100644
--- a/pkgs/desktops/pantheon/apps/sideload/default.nix
+++ b/pkgs/desktops/pantheon/apps/sideload/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index 7a79f72f1a2..5cd5d365ed9 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index c179160ddab..d501cba7c06 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-about";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "12ysymk5y2k49yh3rzmra7jmimxrd54gz2f4ssc9i8w06xj5djp7";
+    sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index ddb589c9e79..0d0a7507afe 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -13,18 +13,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-applications";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir";
+    sha256 = "19l979sdn9jzibvn98ag3ys28ka7zqlsbs0gj2gs9jcxhzngrxvg";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -42,8 +42,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Applications Plug";
     homepage = https://github.com/elementary/switchboard-plug-applications;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index ca29ab65afc..6f2fefa4873 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index cafb4014407..501059896f2 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 00524786f4b..bd9669e2499 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -13,18 +13,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.1.9";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0g9apywxgkan82h933rjjdm9fhd8vak8mziwsbqlprdz310b2jb2";
+    sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index e31355b7b7e..81a694f2ea9 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index a8556bd5401..260b340c223 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,27 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.2.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv";
+    sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn";
   };
 
-  patches = [
-    ./hardcode-settings-daemon-gsettings.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace src/Views/General.vala \
-      --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -51,11 +42,10 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    elementary-settings-daemon
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Mouse & Touchpad Plug";
     homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
deleted file mode 100644
index b904fe15309..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/src/Views/General.vala b/src/Views/General.vala
-index 4b19b73..dfa3d4d 100644
---- a/src/Views/General.vala
-+++ b/src/Views/General.vala
-@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid {
-         attach (pointer_speed_scale, 3, 8);
-         attach (pointer_speed_help, 1, 9, 3);
- 
--        var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
--        if (xsettings_schema != null) {
--            var primary_paste_switch = new Gtk.Switch ();
--            primary_paste_switch.halign = Gtk.Align.START;
--
--            var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
--            primary_paste_help.margin_bottom = 18;
--            primary_paste_help.wrap = true;
--            primary_paste_help.xalign = 0;
--            primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
--
--            attach (new SettingLabel (_("Middle click paste:")), 0, 4);
--            attach (primary_paste_switch, 1, 4);
--            attach (primary_paste_help, 1, 5, 3);
--
--            var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings");
--            primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
--
--            var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
--            if (current_value != null) {
--                primary_paste_switch.active = current_value.get_int32 () == 1;
--            }
-+        var primary_paste_switch = new Gtk.Switch ();
-+        primary_paste_switch.halign = Gtk.Align.START;
-+
-+        var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text"));
-+        primary_paste_help.margin_bottom = 18;
-+        primary_paste_help.wrap = true;
-+        primary_paste_help.xalign = 0;
-+        primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
-+
-+        attach (new SettingLabel (_("Middle click paste:")), 0, 4);
-+        attach (primary_paste_switch, 1, 4);
-+        attach (primary_paste_help, 1, 5, 3);
-+
-+        SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true);
-+        SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
-+
-+        var xsettings = new GLib.Settings.full (xsettings_schema, null, null);
-+        primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings));
-+
-+        var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32);
-+        if (current_value != null) {
-+            primary_paste_switch.active = current_value.get_int32 () == 1;
-         }
- 
--        var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse");
--        daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
-+        SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false);
-+
-+        var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null);
-+        daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT);
- 
-         var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse");
-         a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT);
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 175f0e45f46..6e050c92d80 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.1.4";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k";
+    sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -49,14 +49,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     (substituteAll {
-      src = ./nma.patch;
-      networkmanagerapplet = networkmanagerapplet;
+      src = ./fix-paths.patch;
+      inherit networkmanagerapplet;
     })
   ];
 
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Networking Plug";
     homepage = https://github.com/elementary/switchboard-plug-network;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
new file mode 100644
index 00000000000..e2d7a6d4970
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
@@ -0,0 +1,35 @@
+diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala
+index 82e7826..cf00145 100644
+--- a/src/Views/VPNPage.vala
++++ b/src/Views/VPNPage.vala
+@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page {
+     private void try_connection_editor (string args) {
+         try {
+             var appinfo = AppInfo.create_from_commandline (
+-                "nm-connection-editor %s".printf (args),
++                "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args),
+                 null,
+                 GLib.AppInfoCreateFlags.NONE
+             );
+diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
+index ed36b38..bc71c0c 100644
+--- a/src/Widgets/SettingsButton.vala
++++ b/src/Widgets/SettingsButton.vala
+@@ -24,7 +24,7 @@
+             clicked.connect (() => {
+                 try {
+                     var appinfo = AppInfo.create_from_commandline (
+-                        "nm-connection-editor",
++                        "@networkmanagerapplet@/bin/nm-connection-editor",
+                         null,
+                         AppInfoCreateFlags.NONE
+                     );
+@@ -71,7 +71,7 @@
+         private void edit_connection_uuid (string uuid) {
+             try {
+                 var appinfo = AppInfo.create_from_commandline (
+-                    "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
++                    "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
+                 );
+ 
+                 appinfo.launch (null, null);
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
deleted file mode 100644
index a5fff9d6a32..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
-index 19fd514..bc800d9 100644
---- a/src/Widgets/SettingsButton.vala
-+++ b/src/Widgets/SettingsButton.vala
-@@ -23,7 +23,7 @@
-             label = _("Edit Connections…");
-             clicked.connect (() => {
-                 try {
--                    var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE);
-+                    var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE);
-                     appinfo.launch (null, null);
-                 } catch (Error e) {
-                     warning ("%s", e.message);
-@@ -61,13 +61,13 @@
-             label = title;
-             clicked.connect (() => {
-                 edit_connection_uuid (connection.get_uuid ());
--            });  
-+            });
-         }
- 
-         private void edit_connection_uuid (string uuid) {
-             try {
-                 var appinfo = AppInfo.create_from_commandline (
--                    "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
-+                    "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
-                 );
- 
-                 appinfo.launch (null, null);
-diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala
-index 23c3ae9..c71984c 100644
---- a/src/Widgets/VPN/VPNPage.vala
-+++ b/src/Widgets/VPN/VPNPage.vala
-@@ -86,8 +86,7 @@ namespace Network {
-             add_button.tooltip_text = _("Add VPN Connection…");
-             add_button.clicked.connect (() => {
-                 add_button.sensitive = false;
--                var command = new Granite.Services.SimpleCommand ("/usr/bin",
--                                                    "nm-connection-editor --create --type=vpn");
-+                var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn");
-                 command.done.connect ((exit) => {
-                     if (exit != 0) {
-                         var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor."));
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index a6112495469..bd7fee51d8d 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
index fd1719814b8..fdd3f4f5765 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index 35dd958483d..ab9ecbc5a33 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -4,18 +4,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-pantheon-shell";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw";
+    sha256 = "0l4js2gqvn8lmky5b3jjqw6mzxcv9i2gjqr1vka0z40px6vfzf0z";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -36,30 +36,16 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    gala
+    wingpanel
     plank
     switchboard
   ];
 
   patches = [
     ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded
-    ./hardcode-gsettings.patch
-    # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch";
-      sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y";
-    })
   ];
 
-  postPatch = ''
-    substituteInPlace src/Views/Appearance.vala \
-      --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala}
-    substituteInPlace src/Views/Appearance.vala \
-      --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel}
-  '';
-
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Desktop Plug";
     homepage = https://github.com/elementary/switchboard-plug-pantheon-shell;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
deleted file mode 100644
index d023e1b55ce..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala
-index 721d458..17e1c58 100644
---- a/src/Views/Appearance.vala
-+++ b/src/Views/Appearance.vala
-@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid {
-         attach (text_size_label, 0, 2);
-         attach (text_size_modebutton, 1, 2);
- 
--        var animations_settings = new Settings (ANIMATIONS_SCHEMA);
-+        SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false);
-+
-+        var animations_settings = new Settings.full (animations_schema, null, null);
-         animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT);
- 
--        var panel_settings = new Settings (PANEL_SCHEMA);
-+        SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false);
-+
-+        var panel_settings = new Settings.full (panel_schema, null, null);
-         panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT);
- 
-         var interface_settings = new Settings (INTERFACE_SCHEMA);
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 7bc3f6ba7ad..a8513f0b29b 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -19,18 +19,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-power";
-  version = "2.3.5";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9";
+    sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
+    elementary-dpms-helper
+    elementary-settings-daemon
     glib
     granite
     gtk3
@@ -56,21 +58,8 @@ stdenv.mkDerivation rec {
       src = ./dpms-helper-exec.patch;
       elementary_dpms_helper = elementary-dpms-helper;
     })
-    ./hardcode-gsettings.patch
   ];
 
-  postPatch = ''
-    substituteInPlace src/MainView.vala \
-      --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper}
-    substituteInPlace src/MainView.vala \
-      --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-  PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services";
-  PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc";
-  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
-
   meta = with stdenv.lib; {
     description = "Switchboard Power Plug";
     homepage = https://github.com/elementary/switchboard-plug-power;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
deleted file mode 100644
index caacdad6eda..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/MainView.vala b/src/MainView.vala
-index 1654e68..ad8fed9 100644
---- a/src/MainView.vala
-+++ b/src/MainView.vala
-@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid {
-
-         var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL);
-
--        settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power");
--        elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms");
-+        SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true);
-+        SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false);
-+        settings = new GLib.Settings.full (gsd_schema, null, null);
-+
-+        SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true);
-+        SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false);
-+        elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null);
-
-         battery = new Battery ();
-         power_supply = new PowerSupply ();
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index aa65934acdb..b21fc1c099f 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -15,18 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-printers";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc";
+    sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -45,16 +45,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    # Fix build with latest vala.
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-printers/commit/3175c2ebf106145a95355d2571e0a2aa4834e884.patch";
-      sha256 = "1b2q48a1284037nz79vjcrz8g2qpsyg7s5rag6bfp03a1ijb7gw3";
-    })
-  ];
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Printers Plug";
     homepage = https://github.com/elementary/switchboard-plug-printers;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 5c72af92397..9d457aedc96 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -48,21 +48,13 @@ stdenv.mkDerivation rec {
     libgee
     polkit
     switchboard
+    lightlocker
     zeitgeist
   ];
 
-  patches = [
-    ./hardcode-gsettings.patch
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
-
-    substituteInPlace src/Views/LockPanel.vala \
-      --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker}
-    substituteInPlace src/Views/FirewallPanel.vala \
-      --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
deleted file mode 100644
index 24a104248f8..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala
-index 0335c29..481b1c8 100644
---- a/src/Views/FirewallPanel.vala
-+++ b/src/Views/FirewallPanel.vala
-@@ -49,7 +49,11 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        settings = new Settings ("io.elementary.switchboard.security-privacy");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false);
-+
-+        settings = new Settings.full (security_privacy_schema, null, null);
-+
-         disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> ();
-         load_disabled_rules ();
- 
-diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala
-index 4f523f9..7135a83 100644
---- a/src/Views/LockPanel.vala
-+++ b/src/Views/LockPanel.vala
-@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        locker = new Settings ("apps.light-locker");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false);
-+
-+        locker = new Settings.full (locker_schema, null, null);
- 
-         var lock_suspend_label = new Gtk.Label (_("Lock on suspend:"));
-         var lock_suspend_switch = new Gtk.Switch ();
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index 57e7fe6af44..3d240fc6221 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index dee2f851e3f..8d8cd1c940a 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sound";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2";
+    sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -48,8 +48,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Sound Plug";
     homepage = https://github.com/elementary/switchboard-plug-sound;
diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
index 5c10cc0e9e4..03e6ef999eb 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -11,25 +11,24 @@
 , granite
 , gettext
 , clutter-gtk
-, libunity
 , elementary-icon-theme
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lsrn636b0f9a58jbid6mlhgrf8ajnh7phwmhgxz55sz7k7qa58g";
+    sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -49,7 +48,6 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
-    libunity
   ];
 
   patches = [
diff --git a/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch b/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
index f5d8567bffe..d5931d59ec9 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
+++ b/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
@@ -1,13 +1,9 @@
 diff --git a/lib/PlugsManager.vala b/lib/PlugsManager.vala
-index 75d0eaf..c227908 100644
+index 8b21e7b..bc36321 100644
 --- a/lib/PlugsManager.vala
 +++ b/lib/PlugsManager.vala
-@@ -34,10 +34,18 @@ public class Switchboard.PlugsManager : GLib.Object {
-     private Gee.LinkedList<Switchboard.Plug> plugs;
-     
-     public signal void plug_added (Switchboard.Plug plug);
--    
-+
+@@ -36,7 +36,15 @@ public class Switchboard.PlugsManager : GLib.Object {
+ 
      private PlugsManager () {
          plugs = new Gee.LinkedList<Switchboard.Plug> ();
 -        var base_folder = File.new_for_path (Build.PLUGS_DIR);
diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
index 756ae86bb19..cc6b37095fd 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
@@ -1,23 +1,38 @@
-{ makeWrapper
+{ wrapGAppsHook
+, glib
+, lib
 , symlinkJoin
 , switchboard
 , switchboardPlugs
 , plugs
+  # Only useful to disable for development testing.
+, useDefaultPlugs ? true
 }:
 
 let
-  selectedPlugs = if plugs == null then switchboardPlugs else plugs;
+  selectedPlugs =
+    if plugs == null then switchboardPlugs
+    else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs);
 in
 symlinkJoin {
   name = "${switchboard.name}-with-plugs";
 
-  paths = [ switchboard ] ++ selectedPlugs;
+  paths = [
+    switchboard
+  ] ++ selectedPlugs;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    wrapGAppsHook
+    glib
+  ] ++ (lib.forEach selectedPlugs (x: x.buildInputs))
+    ++ selectedPlugs;
 
   postBuild = ''
-    wrapProgram $out/bin/io.elementary.switchboard \
-      --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard"
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard")
+
+    wrapGAppsHook
   '';
 
   inherit (switchboard) meta;
diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index 34a87a6cb16..be8df39ab06 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -21,8 +21,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 1fba6a949d6..9943415a457 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
index aff830fda56..c19a465e9b1 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
@@ -19,19 +19,18 @@ stdenv.mkDerivation rec {
     sha256 = "1dc583lq61c361arjl3s44d2k72c46bqvcqv1c3s69f2ndsnxjdz";
   };
 
-  passthru = {
-    updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
-    };
-  };
-
   nativeBuildInputs = [
     meson
     ninja
     pkgconfig
   ];
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A set of system sounds for elementary";
     homepage = https://github.com/elementary/sound-theme;
diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index c48dd761e08..2f3b0ee059f 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -1,11 +1,14 @@
 { stdenv
 , fetchFromGitHub
 , pantheon
+, meson
+, ninja
+, gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-wallpapers";
-  version = "5.4";
+  version = "5.5.0";
 
   repoName = "wallpapers";
 
@@ -13,24 +16,21 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ihvv9v8m5f2n2v3bgg769l52wbg241zgp3d45q6phk7p8s1gz3s";
+    sha256 = "0c63nds2ylqgcp39s13mfwhipgyw8cirn0bhybp291l5g86ii6s3";
   };
 
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+  ];
+
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/share/backgrounds/elementary
-    cp -av *.jpg $out/share/backgrounds/elementary
-  '';
-
   meta = with stdenv.lib; {
     description = "Collection of wallpapers for elementary";
     homepage = https://github.com/elementary/wallpapers;
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 9e5391243bd..d4e6b192f20 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -3,37 +3,6 @@
 
 lib.makeScope pkgs.newScope (self: with self; {
 
-  apps = [
-    elementary-calculator elementary-calendar
-    elementary-camera elementary-code elementary-files
-    elementary-music elementary-photos elementary-screenshot-tool
-    elementary-terminal elementary-videos switchboard-with-plugs
-  ];
-
-  artwork = [
-    elementary-gtk-theme
-    elementary-icon-theme
-    elementary-sound-theme
-    elementary-wallpapers
-  ];
-
-  desktop = [
-    elementary-default-settings
-    elementary-session-settings
-    elementary-shortcut-overlay
-    gala
-    wingpanel-with-indicators
-  ];
-
-  services = [
-    cerbere
-    elementary-capnet-assist
-    elementary-settings-daemon
-    elementary-dpms-helper
-    pantheon-agent-geoclue2
-    pantheon-agent-polkit
-  ];
-
   switchboardPlugs = [
     switchboard-plug-a11y switchboard-plug-about
     switchboard-plug-applications switchboard-plug-bluetooth
@@ -54,6 +23,8 @@ lib.makeScope pkgs.newScope (self: with self; {
     wingpanel-indicator-session wingpanel-indicator-sound
   ];
 
+  nixpkgs-github-update = callPackage ./nixpkgs_github_update { };
+
   updateScript = callPackage ./update.nix { };
 
   maintainers = with pkgs.stdenv.lib.maintainers; [ worldofpeace ];
@@ -155,9 +126,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   wingpanel-indicator-keyboard = callPackage ./desktop/wingpanel-indicators/keyboard { };
 
-  wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network {
-    inherit (gnome3) networkmanagerapplet;
-  };
+  wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { };
 
   wingpanel-indicator-nightlight = callPackage ./desktop/wingpanel-indicators/nightlight { };
 
@@ -193,9 +162,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   switchboard-plug-mouse-touchpad = callPackage ./apps/switchboard-plugs/mouse-touchpad { };
 
-  switchboard-plug-network = callPackage ./apps/switchboard-plugs/network {
-    inherit (gnome3) networkmanagerapplet;
-  };
+  switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { };
 
   switchboard-plug-notifications = callPackage ./apps/switchboard-plugs/notifications { };
 
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index f20f1197499..e601c99108b 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -27,8 +27,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 440893935f8..dc0b764d319 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -41,8 +41,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
 
     xgreeters = linkFarm "pantheon-greeter-xgreeters" [{
diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
index 3ee55a141b8..06b5183c1e0 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -14,12 +14,13 @@
 , elementary-icon-theme
 , elementary-gtk-theme
 , gettext
+, libhandy
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-onboarding";
-  version = "1.0.1";
+  version = "1.1.0";
 
   repoName = "onboarding";
 
@@ -27,13 +28,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "025i9av4waqwp1gn8d6sjp8qdwg2j3jskxhmyf9qxbzwfc5msysg";
+    sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -48,20 +48,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    elementary-gtk-theme
     elementary-icon-theme
+    glib
     granite
     gtk3
-    elementary-gtk-theme
     libgee
-    glib
-  ];
-
-  patches = [
-    # Make sure we use our logo from /etc/os-release
-    (fetchpatch {
-      url = "https://github.com/elementary/onboarding/commit/03975bacb75741d3dd391a126217e415f43c6059.patch";
-      sha256 = "1yw7dysav90abxnmkv86bc60dyl8nvi0sgaiz8v39cc2x00rqsg1";
-    })
+    libhandy
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
index 0be2431d33d..e79a85bee95 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
@@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index ab7333212a0..58acdd12147 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -128,9 +128,9 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
+    providedSessions = [ "pantheon" ];
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index 20b1ac7d353..2ba5f4becc1 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-shortcut-overlay";
-  version = "1.0.1";
+  version = "1.1.0";
 
   repoName = "shortcut-overlay";
 
@@ -25,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4";
+    sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
index 4b75b3bff56..baff9871105 100644
--- a/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -37,8 +37,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
-      versionPolicy = "master";
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index a266223eced..34c29c1b72a 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.4.4";
+  version = "2.5.0";
 
   repoName = "applications-menu";
 
@@ -34,13 +34,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "09ssxn264v6nzrxgk529kpdxq5j3b14z8mbwq0gni1bgjcla773d";
+    sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -73,13 +72,10 @@ stdenv.mkDerivation rec {
     "--sysconfdir=${placeholder "out"}/etc"
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   patches = [
     (substituteAll {
-      src = ./bc.patch;
-      exec = "${bc}/bin/bc";
+      src = ./fix-paths.patch;
+      bc = "${bc}/bin/bc";
     })
   ];
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
new file mode 100644
index 00000000000..25e3891a205
--- /dev/null
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
+index 18ca3af..f5d1076 100644
+--- a/src/synapse-plugins/calculator-plugin.vala
++++ b/src/synapse-plugins/calculator-plugin.vala
+@@ -44,9 +44,7 @@ namespace Synapse {
+                 _("Calculator"),
+                 _("Calculate basic expressions."),
+                 "accessories-calculator",
+-                register_plugin,
+-                Environment.find_program_in_path ("bc") != null,
+-                _("bc is not installed")
++                register_plugin
+             );
+         }
+ 
+@@ -87,7 +85,7 @@ namespace Synapse {
+             if (matched) {
+                 Pid pid;
+                 int read_fd, write_fd;
+-                string[] argv = {"bc", "-l"};
++                string[] argv = {"@bc@", "-l"};
+                 string? solution = null;
+ 
+                 try {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 3a462219f1e..93ddb0e1dee 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-bluetooth";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9";
+    sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -48,8 +48,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 91549342052..f6ff962a944 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -16,37 +16,22 @@
 , libxml2
 , libsoup
 , elementary-calendar
-, fetchurl
 }:
 
-let
-
-  # Terrible workaround https://github.com/elementary/wingpanel-indicator-datetime/issues/122
-  # Evolution Data Server functionality will be broken (events from calendar in indicator)
-  # but at least we don't fail to build.
-  old-evolution-data-server = evolution-data-server.overrideAttrs(old: {
-    src = fetchurl {
-      url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor "3.32.4"}/${old.pname}-3.32.4.tar.xz";
-      sha256 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3";
-    };
-  });
-
-in
-
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-datetime";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1whdx0vgm0qbbzsw8dg2liz3cbh3ad5ybkriy4lmx5ynyhpbz0sx";
+    sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -60,7 +45,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    old-evolution-data-server
+    evolution-data-server
     granite
     gtk3
     libgee
@@ -69,6 +54,14 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
+  patches = [
+    # Add support for libecal-2.0
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch";
+      sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6";
+    })
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index 2f917b19f11..66f805b9a49 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -17,18 +17,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-keyboard";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lrd474m6p8di73hqjilqnnl7qg72ky5narkgcvm4lk8dyi78mz0";
+    sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index 01a815404a6..fd22de25d63 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 3b50866c0ed..9d2669821de 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index 4dbf6528c70..e5dabead7c5 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -14,18 +14,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-notifications";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld";
+    sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -44,8 +44,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Notifications Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-notifications;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index b989bada571..12223644971 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 7efb03f9d66..72f94252cca 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -14,18 +14,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5";
+    sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -44,8 +44,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Session Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-session;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index fa89cca68c0..ccd233e1a3e 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -18,18 +18,18 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-sound";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda";
+    sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -52,8 +52,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 1fc7304feb2..694166a5d64 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
index 6b554d89caa..596ee816f89 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
@@ -1,29 +1,44 @@
 { lib
-, makeWrapper
+, wrapGAppsHook
+, glib
 , symlinkJoin
 , wingpanel
 , wingpanelIndicators
 , switchboard-with-plugs
 , indicators ? null
+  # Only useful to disable for development testing.
+, useDefaultIndicators ? true
 }:
 
 let
-  selectedIndicators = if indicators == null then wingpanelIndicators else indicators;
+  selectedIndicators =
+    if indicators == null then wingpanelIndicators
+    else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
 in
 symlinkJoin {
   name = "${wingpanel.name}-with-indicators";
 
-  paths = [ wingpanel ] ++ selectedIndicators;
+  paths = [
+    wingpanel
+  ] ++ selectedIndicators;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    glib
+    wrapGAppsHook
+  ] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
+    ++ selectedIndicators;
 
   # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
   # has a plugin to search switchboard settings
   postBuild = ''
-    wrapProgram $out/bin/wingpanel \
-      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \
-      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \
-      --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators}
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(
+      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
+      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
+    )
+
+    wrapGAppsHook
   '';
 
   inherit (wingpanel) meta;
diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix
index ab673832857..198be9f3430 100644
--- a/pkgs/desktops/pantheon/granite/default.nix
+++ b/pkgs/desktops/pantheon/granite/default.nix
@@ -16,18 +16,18 @@
 
 stdenv.mkDerivation rec {
   pname = "granite";
-  version = "5.2.5";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi";
+    sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc b/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc
new file mode 100644
index 00000000000..1d953f4bd73
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc
@@ -0,0 +1 @@
+use nix
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs
new file mode 100644
index 00000000000..d2cda26eddc
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs
@@ -0,0 +1,4 @@
+# Used by "mix format"
+[
+  inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
+]
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore b/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore
new file mode 100644
index 00000000000..877c95f1f63
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore
@@ -0,0 +1,32 @@
+# The directory Mix will write compiled artifacts to.
+_build/
+
+# If you run "mix test --cover", coverage assets end up here.
+cover/
+
+# The directory Mix downloads your dependencies sources to.
+deps/
+
+# Where third-party dependencies like ExDoc output generated docs.
+doc/
+
+# Ignore .fetch files in case you like to edit your project deps locally.
+.fetch
+
+# If the VM crashes, it generates a dump, let's ignore it too.
+erl_crash.dump
+
+# Also ignore archive artifacts (built via "mix archive.build").
+*.ez
+
+# Ignore package tarball (built via "mix hex.build").
+nixpkgs_github_update-*.tar
+
+# Ignore elixir_ls
+.elixir_ls
+
+# mix escript.build result
+nixpkgs_github_update
+
+# lockfile. only because this is nixpkgs.
+mix.lock
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix b/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix
new file mode 100644
index 00000000000..834291222cf
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, beamPackages
+, makeWrapper
+, common-updater-scripts
+}:
+
+let
+
+  poison_4 = beamPackages.buildMix {
+    name = "poison";
+    version = "4.0.1";
+
+    src = beamPackages.fetchHex {
+      pkg = "poison";
+      version = "4.0.1";
+      sha256 = "098gdz7xzfmnjzgnnv80nl4h3zl8l9czqqd132vlnfabxbz3d25s";
+    };
+  };
+
+
+in
+
+beamPackages.buildMix {
+  name = "nixpkgs-github-update";
+  version = "0.1.0";
+
+  src = lib.cleanSource ./.;
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  beamDeps = with beamPackages; [ erlang poison_4 ];
+
+  buildPhase = ''
+    export HEX_OFFLINE=1
+    export HEX_HOME=`pwd`
+    export MIX_ENV=prod
+    export MIX_NO_DEPS=1
+
+    mix escript.build --no-deps-check
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp nixpkgs_github_update $out/bin
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/nixpkgs_github_update \
+      --prefix PATH : "${lib.makeBinPath [ common-updater-scripts ]}"
+  '';
+}
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex
new file mode 100644
index 00000000000..e735c428516
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex
@@ -0,0 +1,71 @@
+defmodule NixpkgsGitHubUpdate.CLI do
+  @moduledoc """
+  Run updates on Nix Expressions that use fetchFromGitHub.
+
+  Arguments the script accepts:
+  --attribute <attribute_path>
+
+  Example usage:
+  ```
+  ./nixpkgs_github_update --attribute "notes-up"
+  ```
+  """
+  alias NixpkgsGitHubUpdate.{Nix, GitHubLatestVersion}
+
+  def help do
+    IO.puts("""
+    Run updates on Nix Expressions that use fetchFromGitHub.
+
+    Arguments the script accepts:
+    --attribute <attribute_path>
+
+    Example usage:
+    ./nixpkgs_github_update --attribute "notes-up"
+    """)
+  end
+
+  def main([]) do
+    help()
+  end
+
+  def main(args) do
+    opts = parse_args(args)
+
+    attribute = opts[:attribute]
+
+    case Nix.attribute_exists?(attribute) do
+      true -> update(attribute)
+      _ -> exit("Requested attribute doesn't exist.")
+    end
+  end
+
+  def parse_args(args) do
+    {options, _, _} =
+      args
+      |> OptionParser.parse(strict: [attribute: :string])
+
+    options
+  end
+
+  def update(attribute) do
+    version =
+      Nix.get_owner_repo(attribute)
+      |> GitHubLatestVersion.fetch()
+      |> decode_response()
+      |> construct_version()
+
+    Nix.update_source_version(attribute, version)
+  end
+
+  def decode_response({:ok, response}), do: response
+
+  def decode_response({:error, error}) do
+    IO.puts("Error getting latest release from GitHub: #{error["message"]}")
+    System.halt(2)
+  end
+
+  def construct_version(response) do
+    Map.get(response, "tag_name")
+    |> String.trim_leading("v")
+  end
+end
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
new file mode 100644
index 00000000000..bd4bb8100ba
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
@@ -0,0 +1,42 @@
+defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do
+  @user_agent 'httpc'
+
+  def fetch({owner, repo}) do
+    endpoint = releases_endpoint(owner, repo)
+    headers = construct_headers()
+
+    :httpc.request(:get, {endpoint, headers}, [], [])
+    |> handle_response
+  end
+
+  def releases_endpoint(owner, repo) do
+    'https://api.github.com/repos/#{owner}/#{repo}/releases/latest'
+  end
+
+  def construct_headers do
+    headers = %{'User-Agent' => @user_agent}
+
+    put_token(headers, get_token())
+    |> Map.to_list
+  end
+
+  defp get_token do
+    String.to_charlist("#{System.get_env("OAUTH_TOKEN")}")
+  end
+
+  defp put_token(headers, token) when is_binary(token) do
+    Map.put_new(headers, 'Authorization', 'token #{token}')
+  end
+
+  defp put_token(headers, _), do: headers
+
+  def handle_response({_, {{_httpv, status_code, _}, _headers, response}}) do
+    {
+      status_code |> check_for_error(),
+      response |> Poison.Parser.parse!(%{})
+    }
+  end
+
+  defp check_for_error(200), do: :ok
+  defp check_for_error(_), do: :error
+end
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex
new file mode 100644
index 00000000000..d5d9af84a6b
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex
@@ -0,0 +1,85 @@
+defmodule NixpkgsGitHubUpdate.Nix do
+  def executable do
+    nix = System.find_executable("nix")
+
+    if nix == nil do
+      raise RuntimeError, message: "missing executable for 'nix'"
+    end
+
+    nix
+  end
+
+  def eval!(attribute) do
+    System.cmd(
+      executable(),
+      [
+        "eval",
+        "--json",
+        attribute
+      ],
+      stderr_to_stdout: true
+    )
+    |> handle_eval
+  end
+
+  defp handle_eval({eval_result, 0}) do
+    case eval_result do
+      "" -> eval_result
+      _ -> Poison.Parser.parse!(eval_result, %{})
+    end
+  end
+
+  defp handle_eval({eval_result, _}) do
+    raise RuntimeError, message: "Error running nix eval: #{eval_result}"
+  end
+
+  def attribute_exists?(attribute) do
+    attr_exist_expression = """
+      with import <nixpkgs> {};
+
+      let
+        attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." "#{attribute}") null pkgs;
+      in
+        if attrSet == null then false
+        else true
+    """
+
+    eval!("(#{attr_exist_expression})")
+  end
+
+  def update_source_version(attribute, version) do
+    System.cmd("update-source-version", [
+      attribute,
+      version
+    ])
+  end
+
+  def get_url_attr(attribute) do
+    case attribute_exists?("#{attribute}.src.fetchSubmodules") do
+      true -> "url"
+      false -> "urls"
+    end
+  end
+
+  def get_owner_repo(attribute) do
+    url_attr = get_url_attr(attribute)
+
+    eval!("nixpkgs.#{attribute}.src.#{url_attr}")
+    |> case do
+      # It's fetchFromGitHub if we got a list
+      [url | _] ->
+        URI.parse(url).path
+        |> String.split("/archive", trim: true)
+        |> List.first()
+        |> String.split("/", trim: true)
+
+      # It's fetchgit if we got a plain string
+      url ->
+        URI.parse(url).path
+        |> String.split(".git", trim: true)
+        |> List.first()
+        |> String.split("/", trim: true)
+    end
+    |> List.to_tuple()
+  end
+end
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs
new file mode 100644
index 00000000000..3498c7066a4
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs
@@ -0,0 +1,28 @@
+defmodule NixpkgsGitHubUpdate.MixProject do
+  use Mix.Project
+
+  def project do
+    [
+      app: :nixpkgs_github_update,
+      version: "0.1.0",
+      elixir: "~> 1.9",
+      escript: [main_module: NixpkgsGitHubUpdate.CLI],
+      start_permanent: Mix.env() == :prod,
+      deps: deps()
+    ]
+  end
+
+  # Run "mix help compile.app" to learn about applications.
+  def application do
+    [
+      extra_applications: [:logger, :inets, :ssl]
+    ]
+  end
+
+  # Run "mix help deps" to learn about dependencies.
+  defp deps do
+    [
+      {:poison, "~> 4.0.1"}
+    ]
+  end
+end
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix b/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix
new file mode 100644
index 00000000000..0bb4e58a6a1
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix
@@ -0,0 +1,19 @@
+with import <nixpkgs> {};
+
+let
+  inherit (lib) optional;
+in
+
+mkShell rec {
+  name = "nixpkgs-github-update-shell";
+
+  buildInputs = [
+    elixir
+    erlang
+    common-updater-scripts
+  ]
+  ++ optional stdenv.isLinux libnotify # For ExUnit Notifier on Linux.
+  ++ optional stdenv.isLinux inotify-tools # For file_system on Linux.
+  ;
+
+}
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs
new file mode 100644
index 00000000000..c5a57698fed
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs
@@ -0,0 +1,49 @@
+defmodule NixTest do
+  @fake_package "asanotehhhuh"
+  @fetchgit_package "polybar"
+  @fetchgithub_package "notes-up"
+
+  use ExUnit.Case
+
+  import NixpkgsGitHubUpdate.Nix
+
+  def check_for_nix(_context) do
+    try do
+      executable()
+    rescue
+      RuntimeError ->
+        IO.puts("You need Nix installed to run these tests.")
+        System.halt(127)
+    end
+
+    :ok
+  end
+
+  setup_all :check_for_nix
+
+  describe "evaluation tests" do
+    test "evaluation handling" do
+      exists_attr = "nixpkgs.#{@fetchgithub_package}"
+
+      assert is_binary(eval!(exists_attr)) == true
+      catch_error(eval!(@fake_package) == 1)
+    end
+
+    # This should always be true or false
+    test "package exists?" do
+      assert attribute_exists?(@fetchgithub_package) == true
+      assert attribute_exists?(@fake_package) == false
+    end
+  end
+
+  test "owner repo" do
+    assert get_url_attr(@fetchgit_package) == "url"
+    assert get_url_attr(@fetchgithub_package) == "urls"
+
+    assert get_owner_repo(@fetchgit_package) ==
+             {@fetchgit_package, @fetchgit_package}
+
+    assert get_owner_repo(@fetchgithub_package) ==
+             {"Philip-Scott", String.capitalize(@fetchgithub_package)}
+  end
+end
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs
new file mode 100644
index 00000000000..869559e709e
--- /dev/null
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs
@@ -0,0 +1 @@
+ExUnit.start()
diff --git a/pkgs/desktops/pantheon/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix
index a8eaf766664..a911440fa5d 100644
--- a/pkgs/desktops/pantheon/services/cerbere/default.nix
+++ b/pkgs/desktops/pantheon/services/cerbere/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix
index b10e97f77d7..68532bdd812 100644
--- a/pkgs/desktops/pantheon/services/contractor/default.nix
+++ b/pkgs/desktops/pantheon/services/contractor/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A desktop-wide extension service used by elementary OS";
-    homepage = https://github.com/elementarycontractor;
+    homepage = "https://github.com/elementary/contractor";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index 6305c872b2f..d41750f8dfc 100644
--- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.2.3";
+  version = "2.2.4";
 
   repoName = "capnet-assist";
 
@@ -25,13 +25,12 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji";
+    sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
index fb9d28eaf6b..4ec1df36bea 100644
--- a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
@@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = pantheon.updateScript {
-      inherit repoName;
-      attrPath = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index 8afbbbeed82..0f919c7c94d 100644
--- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -15,18 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-geoclue2";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1hjnbbzsch09090b200b3i85x8fv95agfqd6nrlc9za3jqjhm2xs";
+    sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index 53a65ddb947..f244e0e4637 100644
--- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -7,24 +7,25 @@
 , vala
 , gtk3
 , libgee
+, granite
 , polkit
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-polkit";
-  version = "0.1.6";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1g9l2jzpvv0dbvxh93w98a7ijsfqv3s3382li4s256179gihhd67";
+    sha256 = "1yybblprcn0cgcf9j76yckqcimm4h8l41cczxjvgp789p1pki3bn";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
-      repoName = pname;
+      attrPath = "pantheon.${pname}";
     };
   };
 
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    granite
     gtk3
     libgee
     polkit
diff --git a/pkgs/desktops/pantheon/update.nix b/pkgs/desktops/pantheon/update.nix
index 3bc432c5d32..1137c533016 100644
--- a/pkgs/desktops/pantheon/update.nix
+++ b/pkgs/desktops/pantheon/update.nix
@@ -1,36 +1,6 @@
-{ runCommand
-, nix
-, bash
-, git
-, jq
-, nix-prefetch-scripts
-, coreutils
-, common-updater-scripts
-, gnugrep
-, gnused
-, curl
-}:
+{ nixpkgs-github-update }:
 
-{ repoName
-, attrPath ? repoName
-, versionPolicy ? "release"
-}:
+{ attrPath }:
 
-let
-  script = ./update.sh;
 
-  updateScript = runCommand "update.sh" {
-    inherit bash git jq nix coreutils gnugrep gnused curl;
-    # These weren't being substituted
-    nix_prefetch_scripts = nix-prefetch-scripts;
-    common_updater_scripts = common-updater-scripts;
-  } ''
-    substituteAll ${script} $out
-    chmod +x $out
-  '';
-
-  throwFlag = throw "${versionPolicy} is not a valid versionPolicy - Options are either 'release' or 'master' (defaults to release).";
-
-  versionFlag = { release = "-r"; master = "-m"; }.${versionPolicy} or throwFlag;
-
-in [ updateScript versionFlag repoName attrPath ]
+[ "${nixpkgs-github-update}/bin/nixpkgs_github_update" "--attribute" attrPath ]
diff --git a/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh
deleted file mode 100755
index 8d002fe47c2..00000000000
--- a/pkgs/desktops/pantheon/update.sh
+++ /dev/null
@@ -1,217 +0,0 @@
-#!@bash@/bin/bash
-PATH=@bash@/bin:@nix_prefetch_scripts@/bin:@common_updater_scripts@/bin:@git@/bin:@jq@/bin:@nix@/bin:@gnugrep@/bin:@gnused@/bin:@curl@/bin:$PATH
-#!/usr/bin/env bash
-
-set -eu -o pipefail
-
-#
-# ─── HOW TO USE ─────────────────────────────────────────────────────────────────
-#
-
-function usage ( ) {
-    cat <<EOF
-Usage: update.sh <repo_name> <attr>
-EOF
-}
-
-#
-# ─── POINTS YOU IN THE RIGHT DIRECTION ──────────────────────────────────────────
-#
-
-    function usage_tip ( ) {
-      echo 'run `update.sh -h` for usage instructions' >&2
-      exit 1
-    }
-
-#
-# ─── OPTIONS: RELEASE | MASTER ────────────────────────────────────────────────────
-#
-
-    while getopts ":hrm" opt; do
-        case $opt in
-            r)
-                release=1
-                master=0
-                ;;
-            m)
-                master=1
-                release=0
-                ;;
-            h)
-                usage
-                exit
-                ;;
-            ?)
-                echo "Invalid option: -$OPTARG" >&2
-                usage_tip
-                ;;
-      esac
-    done
-
-    shift $((OPTIND-1))
-
-#
-# ─── FAIL WITH MESSAGE AND NON-ZERO EXIT STATUS ─────────────────────────────────
-#
-
-    function fail ( ) {
-        echo "$1" >&2
-        exit 1
-    }
-
-#
-# ─── UPDATES PACKAGE TO LATEST TAGGED RELEASE ───────────────────────────────
-#
-
-    function update_to_latest_release ( ) {
-        repo_name="$1"
-        attr="$2"
-
-        version=$(get_latest_tag "$repo_name")
-        fetch=$(fetch "$repo_name" "refs/tags/${version}")
-        sha256=$(get_hash "${fetch}")
-
-        update-source-version "pantheon.$attr" "$version" "$sha256"
-
-        nix_file=$(get_file_path $attr)
-
-        if [ ! -f "$nix_file" ]; then
-            fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!"
-        fi
-
-        correct_rev "$attr" "$nix_file" "version"
-    }
-
-#
-# ─── UPDATES PACKAGE TO MASTER ──────────────────────────────────────────────────
-#
-
-    function update_to_master ( ) {
-        repo_name="$1"
-        attr="$2"
-
-        fetch=$(fetch "$repo_name" "refs/heads/master")
-
-        version=$(get_version "$fetch")
-        sha256=$(get_hash "$fetch")
-        proper_version=$(get_master_date "$fetch")
-
-        update-source-version "pantheon.$attr" "$proper_version" "$sha256"
-
-        nix_file=$(get_file_path $attr)
-
-        if [ ! -f "$nix_file" ]; then
-            fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!"
-        fi
-
-        correct_rev "$attr" "$nix_file" '"'$version'"'
-    }
-
-#
-# ─── GETS THE LATEST TAGGED RELEASE NAME FROM GITHUB ─────────────────────
-#
-
-    function get_latest_tag ( ) {
-        repo_name="$1"
-
-        curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name'
-    }
-
-#
-# ─── FETCHES REPO AND RETURNS RELEVANT INFORMATION ──────────────────
-#
-
-    function fetch ( ) {
-        repo_name="$1"
-        version="$2"
-
-        base_url="https://github.com/elementary"
-        full_url="$base_url/$repo_name"
-
-        nix-prefetch-git --quiet --no-deepClone --url "$full_url" --rev "$version"
-    }
-
-#
-# ─── PARSES GIT REVISION FROM FETCH ─────────────────────────────────────────────
-#
-
-    function get_version ( ) {
-        fetch_info="$1"
-
-        echo "$fetch_info" | jq -r '.rev'
-    }
-
-#
-# ─── PARSES HASH FROM FETCH ─────────────────────────────────────────────────────
-#
-
-    function get_hash ( ) {
-        fetch_info="$1"
-
-        echo "$fetch_info" | jq -r '.sha256'
-    }
-
-#
-# ─── PARSES DATE FROM FETCH AND NORMALIZES IT TO NIXPKGS STANDARD ───────────────
-#
-
-    function get_master_date ( ) {
-        fetch_info="$1"
-
-        full_date=$(echo "$fetch_info" | jq -r '.date')
-        short_date=$(date -d "$full_date" +"%Y-%m-%d")
-
-        echo "unstable-$short_date"
-    }
-
-#
-# ─── RETURN NIX EXPRESSION PATH ─────────────────────────────────────────────────
-#
-
-    function get_file_path () {
-        attr="$1"
-
-        nix-instantiate --eval --strict -A "pantheon.$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/'
-    }
-
-#
-# ─── CORRECTS REV VERSION ───────────────────────────────────────────────────────────
-#
-
-    function correct_rev ( ) {
-        attr="$1"
-        nix_file="$2"
-        rev="$3"
-
-        check_pattern1='^\s*rev\s*=\s*"[0-9a-f]{5,40}"'
-        check_pattern2='^\s*rev\s*=\s*version'
-
-        replace_pattern1='/\brev\b\s*=/ s|\"[0-9a-f]{5,40}\"|'$rev'|'
-        replace_pattern2='/\brev\b\s*=/ s|version|'$rev'|'
-
-        if [ $(grep -c -P "$check_pattern1" "$nix_file") = 1 ]; then
-            pattern="$replace_pattern1"
-        elif [ $(grep -c -P "$check_pattern2" "$nix_file") = 1 ]; then
-            pattern="$replace_pattern2"
-        else
-            fail "Couldn't figure out where out where to patch in the correct version in pantheon.$attr!"
-        fi
-
-        sed -i.bak "$nix_file" -re "$pattern"
-        rm -f "$nix_file.bak"
-    }
-
-
-#
-# ─── WHETHER TO UPDATE TO RELEASE OR MASTER ──────────────────────────────────
-#
-
-    if [ $release = 1 ]; then
-        update_to_latest_release $1 $2
-    elif [ $master = 1 ]; then
-        update_to_master $1 $2
-    else
-      exit 1
-    fi
-
-# ────────────────────────────────────────────────────────────────────────────────
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index e188e4e3fcd..a199a4a959d 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -43,11 +43,11 @@ let
       propagate = out:
         let setupHook = { writeScript }:
               writeScript "setup-hook" ''
-                if [ "$hookName" != postHook ]; then
+                if [[ "''${hookName-}" != postHook ]]; then
                     postHooks+=("source @dev@/nix-support/setup-hook")
                 else
                     # Propagate $${out} output
-                    propagatedUserEnvPkgs="$propagatedUserEnvPkgs @${out}@"
+                    propagatedUserEnvPkgs+=" @${out}@"
 
                     if [ -z "$outputDev" ]; then
                         echo "error: \$outputDev is unset!" >&2
@@ -57,7 +57,7 @@ let
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "$outputDev" != out ]; then
-                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
+                        propagatedBuildInputs+=" @dev@"
                     fi
                 fi
               '';
diff --git a/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix b/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
new file mode 100644
index 00000000000..7a7c88b6bcf
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
@@ -0,0 +1,39 @@
+{ lib, mkDerivation, fetchFromGitHub
+, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+
+mkDerivation rec {
+  pname = "krohnkite";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "esjeon";
+    repo = "krohnkite";
+    rev = "v${version}";
+    sha256 = "0i0xr5aj565dzr72zjg7wmyca2gwg9izhnri63pab5y5gp5zjqn2";
+  };
+
+  buildInputs = [
+    kcoreaddons kwindowsystem plasma-framework systemsettings
+  ];
+
+  dontBuild = true;
+
+  # 1. --global still installs to $HOME/.local/share so we use --packageroot
+  # 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
+  installPhase = ''
+    runHook preInstall
+
+    plasmapkg2 --type kwinscript --install ${src}/res/ --packageroot $out/share/kwin/scripts
+    install -Dm644 ${src}/res/metadata.desktop $out/share/kservices5/krohnkite.desktop
+
+    runHook postInstalll
+  '';
+
+  meta = with lib; {
+    description = "A dynamic tiling extension for KWin";
+    license = licenses.mit;
+    maintainers = with maintainers; [ seqizz ];
+    inherit (src.meta) homepage;
+    inherit (kwindowsystem.meta) platforms;
+  };
+}
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 5c27eee5010..5159328ed3f 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -1,9 +1,8 @@
 diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
-index 69d3070..52e9102 100644
+index ea9a943..f98ddd2 100644
 --- a/sddm-theme/theme.conf.cmake
 +++ b/sddm-theme/theme.conf.cmake
-@@ -1,5 +1,5 @@
- [General]
+@@ -2,4 +2,4 @@
  type=image
  color=#1d99f3
  fontSize=10
@@ -37,7 +36,7 @@ index 493218e..d507aa5 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index b68f0c6..a0ec214 100644
+index b68f0c6..97a13a1 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -443,7 +442,7 @@ index b68f0c6..a0ec214 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-@@ -286,36 +387,36 @@ fi
+@@ -286,19 +387,19 @@ fi
  #Anything after here is logout
  #It is not called after shutdown/restart
 
@@ -465,13 +464,12 @@ index b68f0c6..a0ec214 100644
              # ask remaining drkonqis to die in a graceful way
 -            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
 -                qdbus "$address" "/MainApplication" "quit"
--            done
--            break
 +            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
 +                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
+             done
+             break
          fi
-     done
- fi
+@@ -307,15 +408,17 @@ fi
 
  echo 'startkde: Shutting down...'  1>&2
  # just in case
@@ -1008,5 +1006,3 @@ index dcb473a..0988740 100644
 
  echo 'startplasmacompositor: Shutting down...'  1>&2
 
---
-2.19.2
diff --git a/pkgs/desktops/surf-display/default.nix b/pkgs/desktops/surf-display/default.nix
index 47b7e117206..dd064486647 100644
--- a/pkgs/desktops/surf-display/default.nix
+++ b/pkgs/desktops/surf-display/default.nix
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
+  passthru = {
+    providedSessions = [ "surf-display" ];
+  };
+
   meta = with stdenv.lib; {
     description = "Kiosk browser session manager based on the surf browser";
     homepage = "https://code.it-zukunft-schule.de/cgit/surf-display/";
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix
index bce5795a9c7..3c0fbafc784 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -1,21 +1,19 @@
 { stdenv, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg_utils, gnome3, gtk3, pythonPackages,
+  findutils, xdg_utils, dconf, gtk3, python3Packages,
   wrapGAppsHook
 }:
 
-pythonPackages.buildPythonApplication rec {
-  majorver = "1.4";
-  minorver = "10";
-  version = "${majorver}.${minorver}";
+python3Packages.buildPythonApplication rec {
   pname = "catfish";
+  version = "1.4.11";
 
   src = fetchurl {
-    url = "https://archive.xfce.org/src/apps/${pname}/${majorver}/${pname}-${version}.tar.bz2";
-    sha256 = "0g9l5sv5d7wmyb23cvpz5mpvjnxiqjh25v9gr5qzhcah202a0wr5";
+    url = "https://archive.xfce.org/src/apps/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
+    sha256 = "11fdzz3l5mydscs4a398siphxwr6xf3cfyimr0hgpkg3169syyv1";
   };
 
   nativeBuildInputs = [
-    pythonPackages.distutils_extra
+    python3Packages.distutils_extra
     file
     which
     intltool
@@ -25,17 +23,17 @@ pythonPackages.buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gnome3.dconf
-    pythonPackages.pyxdg
-    pythonPackages.ptyprocess
-    pythonPackages.pycairo
+    dconf
+    python3Packages.pyxdg
+    python3Packages.ptyprocess
+    python3Packages.pycairo
     gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943
   ];
 
   propagatedBuildInputs = [
-    pythonPackages.dbus-python
-    pythonPackages.pygobject3
-    pythonPackages.pexpect
+    python3Packages.dbus-python
+    python3Packages.pygobject3
+    python3Packages.pexpect
     xdg_utils
     findutils
   ];
diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix
deleted file mode 100644
index d0fc55e77e8..00000000000
--- a/pkgs/desktops/xfce/applications/gigolo.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, gtk, gvfs }:
-
-stdenv.mkDerivation rec {
-  p_name  = "gigolo";
-  ver_maj = "0.4";
-  ver_min = "2";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ python gettext intltool gtk gvfs];
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "A frontend to easily manage connections to remote filesystems";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index 5b25e474af2..32486aab981 100644
--- a/pkgs/desktops/xfce4-14/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 glib gvfs ];
+
+  meta = {
+    description = "A frontend to easily manage connections to remote filesystems";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/mousepad-12134.patch b/pkgs/desktops/xfce/applications/mousepad-12134.patch
deleted file mode 100644
index 74a28ecf61a..00000000000
--- a/pkgs/desktops/xfce/applications/mousepad-12134.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -urNZ a/mousepad/mousepad-action-group.c b/mousepad/mousepad-action-group.c
---- a/mousepad/mousepad-action-group.c	2014-09-01 20:50:07.000000000 +0000
-+++ b/mousepad/mousepad-action-group.c	2017-12-18 16:57:46.836538403 +0000
-@@ -302,11 +302,6 @@
-   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
-   self->locked = FALSE;
- 
--  /* update the setting when the active action is changed */
--  self->locked = TRUE;
--  MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, gtk_source_style_scheme_get_id (scheme));
--  self->locked = FALSE;
--
-   g_object_notify (G_OBJECT (self), "active-style-scheme");
- }
- 
-@@ -473,6 +468,8 @@
- mousepad_action_group_style_scheme_action_activate (MousepadActionGroup       *self,
-                                                     MousepadStyleSchemeAction *action)
- {
-+  const gchar *scheme_name = NULL;
-+
-   /* only update the active action if we're not already in the process of
-    * setting it and the sender action is actually active */
-   if (! self->locked &&
-@@ -481,7 +478,14 @@
-       GtkSourceStyleScheme *scheme;
- 
-       scheme = mousepad_style_scheme_action_get_style_scheme (action);
--      mousepad_action_group_set_active_style_scheme (self, scheme);
-+
-+      /* update the setting when the active action is changed */
-+      if (scheme != NULL)
-+        scheme_name = gtk_source_style_scheme_get_id(scheme);
-+
-+      self->locked = TRUE;
-+      MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, scheme_name);
-+      self->locked = FALSE;
-     }
- }
- 
-diff -urNZ a/mousepad/mousepad-window.c b/mousepad/mousepad-window.c
---- a/mousepad/mousepad-window.c	2014-09-01 20:58:02.000000000 +0000
-+++ b/mousepad/mousepad-window.c	2017-12-18 17:07:51.099321408 +0000
-@@ -712,32 +712,6 @@
- 
- 
- static void
--mousepad_window_action_group_style_scheme_changed (MousepadWindow      *window,
--                                                   GParamSpec          *pspec,
--                                                   MousepadActionGroup *group)
--{
--  GtkSourceStyleScheme *scheme;
--  const gchar          *scheme_id;
--  gint                  npages, i;
--
--  /* get the new active language */
--  scheme = mousepad_action_group_get_active_style_scheme (group);
--  scheme_id = gtk_source_style_scheme_get_id (scheme);
--
--  /* update the color scheme on all the documents */
--  npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->notebook));
--  for (i = 0; i < npages; i++)
--    {
--      MousepadDocument *document;
--
--      document = MOUSEPAD_DOCUMENT (gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->notebook), i));
--      mousepad_view_set_color_scheme (document->textview, scheme_id);
--    }
--}
--
--
--
--static void
- mousepad_window_create_style_schemes_menu (MousepadWindow *window)
- {
-   GtkWidget           *menu, *item;
-@@ -751,13 +725,6 @@
-   gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
-   gtk_widget_show_all (menu);
-   gtk_widget_show (item);
--  
--  /* watch for activations of the style schemes actions */
--  g_signal_connect_object (window->action_group,
--                           "notify::active-style-scheme",
--                           G_CALLBACK (mousepad_window_action_group_style_scheme_changed),
--                           window,
--                           G_CONNECT_SWAPPED);
- }
- 
- 
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
deleted file mode 100644
index 2dca1fa29b0..00000000000
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util
-, gtk, gtksourceview, dbus, dbus-glib, makeWrapper
-, dconf }:
-
-stdenv.mkDerivation rec {
-  p_name  = "mousepad";
-  ver_maj = "0.4";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  patches = [ ./mousepad-12134.patch ];
-
-  buildInputs =
-    [ pkgconfig intltool libxfce4util
-      gtk gtksourceview dbus dbus-glib makeWrapper
-      dconf
-    ];
-
-  configureFlags = [ "--enable-keyfile-settings" ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/mousepad" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
-  '';
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "A simple text editor for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix
index 77559aaf329..6f841958c79 100644
--- a/pkgs/desktops/xfce4-14/mousepad/default.nix
+++ b/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -12,4 +12,8 @@ mkXfceDerivation {
 
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  meta = {
+    description = "A simple text editor for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/orage.nix b/pkgs/desktops/xfce/applications/orage.nix
deleted file mode 100644
index 19bd560cbae..00000000000
--- a/pkgs/desktops/xfce/applications/orage.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata
-, libnotify, popt, xfce }:
-
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-  p_name  = "orage";
-  ver_maj = "4.12";
-  ver_min = "1";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
-  };
-
-  patches = [
-    # Fix build with libical 3.0
-    (fetchpatch {
-      name = "fix-libical3.patch";
-      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f;
-      sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace src/parameters.c        --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-    substituteInPlace src/tz_zoneinfo_read.c  --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-    substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-  '';
-
-  postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources
-
-  nativeBuildInputs = [ pkgconfig intltool bison flex ];
-
-  buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
-    xfce.xfce4-panel ];
-
-  meta = {
-    homepage = https://www.xfce.org/projects/;
-    description = "A simple calendar application with reminders";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index 7bb10c2fd94..4a48cc83dda 100644
--- a/pkgs/desktops/xfce4-14/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -32,4 +32,8 @@ mkXfceDerivation {
       sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
     })
   ];
+
+  meta = {
+    description = "A simple calendar application with reminders";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
deleted file mode 100644
index ac0180c20fe..00000000000
--- a/pkgs/desktops/xfce/applications/parole.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
-, gtk, dbus-glib, libxfce4ui, libxfce4util, xfconf
-, taglib, libnotify, hicolor-icon-theme
-, withGstPlugins ? true
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "parole";
-  ver_maj = "0.5";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [
-    makeWrapper hicolor-icon-theme
-    gtk dbus-glib libxfce4ui libxfce4util xfconf
-    taglib libnotify
-  ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]);
-
-  configureFlags = [ "--with-gstreamer=1.0" ];
-
-  postInstall = stdenv.lib.optionalString withGstPlugins ''
-    wrapProgram "$out/bin/parole" --prefix \
-      GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
-  '';
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Modern simple media player";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix
index ed3979072ed..20b899165f0 100644
--- a/pkgs/desktops/xfce4-14/parole/default.nix
+++ b/pkgs/desktops/xfce/applications/parole/default.nix
@@ -1,6 +1,5 @@
 { mkXfceDerivation, dbus, dbus-glib
-, gst-plugins-bad, gst-plugins-base, gst-plugins-good
-, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util
+, gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
 , taglib, xfconf }:
 
 # Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
@@ -17,7 +16,7 @@ mkXfceDerivation {
       --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
   '';
 
-  buildInputs = [
+  buildInputs = with gst_all_1; [
     dbus
     dbus-glib
     gst-plugins-bad
@@ -31,4 +30,8 @@ mkXfceDerivation {
     taglib
     xfconf
   ];
+
+  meta = {
+    description = "Modern simple media player";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix
deleted file mode 100644
index 3c0e8040c3b..00000000000
--- a/pkgs/desktops/xfce/applications/ristretto.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk
-, exo, dbus-glib, libxfce4util, libxfce4ui, xfconf
-, hicolor-icon-theme, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "ristretto";
-  ver_maj = "0.6";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  buildInputs =
-    [ pkgconfig intltool libexif gtk dbus-glib exo libxfce4util
-      libxfce4ui xfconf hicolor-icon-theme makeWrapper
-    ];
-
-  postInstall = ''
-    wrapProgram "$out/bin/ristretto" \
-      --prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share"
-  '';
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index 4a24bf90532..8766bd302ab 100644
--- a/pkgs/desktops/xfce4-14/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -10,4 +10,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
+
+  meta = {
+    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/terminal.nix b/pkgs/desktops/xfce/applications/terminal.nix
deleted file mode 100644
index 31e851a469d..00000000000
--- a/pkgs/desktops/xfce/applications/terminal.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, ncurses, gtk, vte, dbus-glib
-, exo, libxfce4util, libxfce4ui
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-terminal";
-  ver_maj = "0.6";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool exo gtk vte libxfce4util ncurses dbus-glib libxfce4ui ];
-
-  meta = {
-    homepage = https://www.xfce.org/projects/terminal;
-    description = "A modern terminal emulator primarily for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce/applications/xfburn/default.nix b/pkgs/desktops/xfce/applications/xfburn/default.nix
new file mode 100644
index 00000000000..08f2bd511a8
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfburn/default.nix
@@ -0,0 +1,12 @@
+{ mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }:
+
+mkXfceDerivation {
+  category = "apps";
+  pname = "xfburn";
+  version = "0.6.1";
+
+  sha256 = "0a1ly79x7j5pgr3vbsabb4i0jd5rryaigj9z8iqzr8p9miypx20v";
+
+  nativeBuildInputs = [ libxslt docbook_xsl ];
+  buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
+}
diff --git a/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch b/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
index 787b63511a2..787b63511a2 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
diff --git a/pkgs/desktops/xfce4-14/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 66ca7affa48..b2682080216 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dict/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
   '';
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ];
+
+  meta = {
+    description = "A Dictionary Client for the Xfce desktop environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
deleted file mode 100644
index e1646d93a61..00000000000
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
-, glib, gstreamer, gst-plugins-base, gtk
-, libxfce4util, libxfce4ui, xfce4-panel, xfconf, libunique ? null
-, pulseaudioSupport ? false, gst-plugins-good
-}:
-
-let
-  # The usual Gstreamer plugins package has a zillion dependencies
-  # that we don't need for a simple mixer, so build a minimal package.
-  gst_plugins_minimal = gst-plugins-base.override {
-    minimalDeps = true;
-  };
-  gst_plugins_pulse = gst-plugins-good.override {
-    minimalDeps = true;
-  };
-  gst_plugins = [ gst_plugins_minimal ] ++ stdenv.lib.optional pulseaudioSupport gst_plugins_pulse;
-
-in
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-mixer";
-  ver_maj = "4.10";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  buildInputs =
-    [ pkgconfig intltool glib gstreamer gtk
-      libxfce4util libxfce4ui xfce4-panel xfconf libunique makeWrapper
-    ] ++ gst_plugins;
-
-  postInstall =
-    ''
-      wrapProgram "$out/bin/xfce4-mixer" \
-        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
-    '';
-
-  passthru = { inherit gst_plugins; };
-
-  meta = {
-    homepage = https://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
-    description = "A volume control application for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
deleted file mode 100644
index 19ecff29093..00000000000
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libnotify
-, gtk , libxfce4util, libxfce4ui, xfconf, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-notifyd";
-  ver_maj = "0.2";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1l6fpfk0fkizdx7vwbyjdyzzj5i2ng8pf7r8j49nv0cnjhpxczlc";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libnotify gtk libxfce4util libxfce4ui xfconf hicolor-icon-theme ];
-
-  preFixup = ''
-    # to be able to run the daemon we need it in PATH
-    ln -rs $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
-  '';
-
-  doCheck = true;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Notification daemon for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index e468fea637e..a991e8c8180 100644
--- a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
   sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai";
 
   buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Simple notification daemon for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
deleted file mode 100644
index 085cfd7b8f9..00000000000
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, xfce4-panel, libxfce4util, gtk, libsoup
-, glib-networking, exo, hicolor-icon-theme, wrapGAppsHook }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-screenshooter";
-  ver_maj = "1.8";
-  ver_min = "2";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook
-  ];
-
-  buildInputs = [
-    xfce4-panel libxfce4util gtk libsoup exo hicolor-icon-theme glib-networking
-  ];
-
-  meta = {
-    homepage = https://goodies.xfce.org/projects/applications/xfce4-screenshooter;
-    description = "Xfce screenshooter";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index f13a8fba6d0..012486baac9 100644
--- a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";
 
   buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
+
+  meta = {
+    description = "Screenshot utility for the Xfce desktop";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
deleted file mode 100644
index 96f71e004a8..00000000000
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk, libwnck }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-taskmanager";
-  ver_maj = "1.1";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk libwnck ];
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Easy to use task manager for Xfce";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 776b3797f76..e3d8b4b87d9 100644
--- a/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 libwnck3 libXmu ];
+
+  meta = {
+    description = "Easy to use task manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 3b9cd268d55..3b9cd268d55 100644
--- a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
deleted file mode 100644
index 4344d34f13f..00000000000
--- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libpulseaudio
-, gtk2, libnotify
-, keybinder, xfconf
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-volumed-pulse";
-  ver_maj = "0.2";
-  ver_min = "2";
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0xjcs1b6ix6rwj9xgr9n89h315r3yhdm8wh5bkincd4lhz6ibhqf";
-  };
-
-  buildInputs =
-    [ libpulseaudio gtk2
-      keybinder xfconf libnotify
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = with stdenv.lib; {
-    homepage = https://launchpad.net/xfce4-volumed-pulse;
-    description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.abbradar ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 97a00e9b67f..413c04a84cc 100644
--- a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
@@ -10,6 +10,8 @@ mkXfceDerivation {
   buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
 
   meta = with lib; {
+    description = "A volume keys control daemon for Xfce using pulseaudio";
     license = licenses.gpl3Plus;
+    maintainers = [ maintainers.abbradar ];
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
index dafb72582b3..dafb72582b3 100644
--- a/pkgs/desktops/xfce/applications/xfce4-volumed.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
diff --git a/pkgs/desktops/xfce4-14/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index a17c29f6723..a17c29f6723 100644
--- a/pkgs/desktops/xfce4-14/xfdashboard/default.nix
+++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
diff --git a/pkgs/desktops/xfce4-14/automakeAddFlags.sh b/pkgs/desktops/xfce/automakeAddFlags.sh
index 92d5659d05c..92d5659d05c 100644
--- a/pkgs/desktops/xfce4-14/automakeAddFlags.sh
+++ b/pkgs/desktops/xfce/automakeAddFlags.sh
diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix
deleted file mode 100644
index 6b5ee4b3132..00000000000
--- a/pkgs/desktops/xfce/core/exo.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util
-, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "exo";
-  ver_maj = "0.10";
-  ver_min = "7";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "521581481128af93e815f9690020998181f947ac9e9c2b232b1f144d76b1b35c";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  outputs = [ "out" "dev" "devdoc" ];
-    # lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor-icon-theme ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.xfce.org/projects/${p_name}";
-    description = "Application library for the Xfce desktop environment";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/exo/default.nix b/pkgs/desktops/xfce/core/exo/default.nix
index 59ab5823314..59ab5823314 100644
--- a/pkgs/desktops/xfce4-14/exo/default.nix
+++ b/pkgs/desktops/xfce/core/exo/default.nix
diff --git a/pkgs/desktops/xfce/core/garcon-10967.patch b/pkgs/desktops/xfce/core/garcon-10967.patch
deleted file mode 100644
index aea12325547..00000000000
--- a/pkgs/desktops/xfce/core/garcon-10967.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -urNZ a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
---- a/garcon-gtk/garcon-gtk-menu.c	2017-11-16 19:22:33.551926068 +0000
-+++ b/garcon-gtk/garcon-gtk-menu.c	2017-11-16 19:23:33.055497211 +0000
-@@ -676,6 +676,9 @@
-                   G_CALLBACK (garcon_gtk_menu_deactivate), menu);
-               gtk_widget_show (mi);
- 
-+	      /* submenu are child items, too. */
-+	      has_children = TRUE;
-+	      
-               if (menu->priv->show_menu_icons)
-                 {
-                   icon_name = garcon_menu_element_get_icon_name (li->data);
-Binary files a/.git/index and b/.git/index differ
diff --git a/pkgs/desktops/xfce/core/garcon-12700.patch b/pkgs/desktops/xfce/core/garcon-12700.patch
deleted file mode 100644
index b95a65cc219..00000000000
--- a/pkgs/desktops/xfce/core/garcon-12700.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 222080e6d5fce85eb2a8a5c33df671bd9f21add8 Mon Sep 17 00:00:00 2001
-From: Yegor Timoshenko <yegortimoshenko@gmail.com>
-Date: Thu, 14 Dec 2017 22:04:04 +0000
-Subject: [PATCH] Decrement allocation counter on item unref (#12700)
-
----
- garcon/garcon-menu-item-pool.c | 7 ++++++-
- garcon/garcon-menu-item.c      | 2 ++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
-index 2017180..355e520 100644
---- a/garcon/garcon-menu-item-pool.c
-+++ b/garcon/garcon-menu-item-pool.c
-@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar    *desktop_id,
-   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
-   g_return_val_if_fail (node != NULL, FALSE);
- 
--  return garcon_menu_node_tree_rule_matches (node, item);
-+  gboolean matches = garcon_menu_node_tree_rule_matches (node, item);
-+
-+  if (matches)
-+    garcon_menu_item_increment_allocated (item);
-+
-+  return matches;
- }
- 
- 
-diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
-index 66a86bf..d61c88f 100644
---- a/garcon/garcon-menu-item.c
-+++ b/garcon/garcon-menu-item.c
-@@ -1516,6 +1516,8 @@ garcon_menu_item_unref (GarconMenuItem *item)
- {
-   g_return_if_fail (GARCON_IS_MENU_ITEM (item));
- 
-+  garcon_menu_item_decrement_allocated (item);
-+
-   /* Decrement the reference counter */
-   g_object_unref (G_OBJECT (item));
- }
--- 
-2.15.1
-
diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix
deleted file mode 100644
index 41d98f17516..00000000000
--- a/pkgs/desktops/xfce/core/garcon.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
-let
-  p_name  = "garcon";
-  ver_maj = "0.4";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
-  };
-
-  outputs = [ "out" "dev" ];
-  patches = [ ./garcon-10967.patch ./garcon-12700.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib libxfce4util gtk libxfce4ui ];
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/;
-    description = "Xfce menu support library";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/garcon/default.nix b/pkgs/desktops/xfce/core/garcon/default.nix
index 0d6cb8c410e..69184f2afa8 100644
--- a/pkgs/desktops/xfce4-14/garcon/default.nix
+++ b/pkgs/desktops/xfce/core/garcon/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util ];
+
+  meta = {
+    description = "Xfce menu support library";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
deleted file mode 100644
index 567d3b80387..00000000000
--- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk2, withGtk3 ? false, gtk3 ? null }:
-
-assert withGtk3 -> (gtk3 != null);
-
-stdenv.mkDerivation rec {
-  p_name  = "gtk-xfce-engine";
-  ver_maj = "3.2";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1va71f3gpl8gikfkmqsd5ikgp7qj8b64jii2l98g1ylnv8xrqp47";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk2 ] ++ stdenv.lib.optional withGtk3 gtk3;
-
-  # `glib-mkenums' is unhappy that some source files are not valid UTF-8
-  postPatch = ''find . -type f -name '*.[ch]' -exec sed -r -i 's/\xD6/O/g' {} +'';
-
-  configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "GTK theme engine for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
deleted file mode 100644
index 797b51de8e4..00000000000
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, xorg, gtk, libxfce4util, xfconf
-, libglade, libstartup_notification, hicolor-icon-theme
-, withGtk3 ? false, gtk3
-}:
-let
-  p_name  = "libxfce4ui";
-  ver_maj = "4.12";
-  ver_min = "1";
-  inherit (stdenv.lib) optional;
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs =
-    [ gtk libxfce4util xfconf libglade
-      libstartup_notification hicolor-icon-theme
-    ] ++ optional withGtk3 gtk3;
-
-  propagatedBuildInputs = [ xorg.libICE xorg.libSM ];
-
-  #TODO: glade?
-  configureFlags = optional withGtk3 "--enable-gtk3";
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/;
-    description = "Basic GUI library for Xfce";
-    license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index 79c8ec74b62..79c8ec74b62 100644
--- a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix
deleted file mode 100644
index b68b7059f8d..00000000000
--- a/pkgs/desktops/xfce/core/libxfce4util.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool }:
-let
-  p_name  = "libxfce4util";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib intltool ];
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "Basic utility non-GUI functions for Xfce";
-    license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/libxfce4util/default.nix b/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 4540d235251..4540d235251 100644
--- a/pkgs/desktops/xfce4-14/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util/default.nix
diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix
deleted file mode 100644
index 5c61c16cbcc..00000000000
--- a/pkgs/desktops/xfce/core/libxfcegui4.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk
-, libxfce4util, xfconf, libglade, libstartup_notification, hicolor-icon-theme }:
-let
-  p_name  = "libxfcegui4";
-  ver_maj = "4.10";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  #TODO: gladeui
-  # By default, libxfcegui4 tries to install into libglade's prefix.
-  # Install into our own prefix instead.
-  configureFlags = [
-    "--with-libglade-module-path=$(out)/lib/libglade/2.0"
-  ];
-  #NOTE: missing keyboard library support is OK according to the mailing-list
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util xfconf libglade
-      libstartup_notification hicolor-icon-theme
-    ];
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "Basic GUI library for Xfce";
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix
deleted file mode 100644
index 0b606ee5fdd..00000000000
--- a/pkgs/desktops/xfce/core/thunar-build.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
-, exo, libxfce4util, xfconf, xfce4-panel, hicolor-icon-theme, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "thunar";
-  ver_maj = "1.6";
-  ver_min = "10";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
-    sha256 = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a";
-  };
-
-  name = "${p_name}-build-${ver_maj}.${ver_min}";
-
-  patches = [ ./thunarx_plugins_directory.patch ];
-
-  postPatch = ''
-    sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
-  '';
-
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [
-    intltool
-    gtk dbus-glib libstartup_notification libnotify libexif pcre udev
-    exo libxfce4util xfconf xfce4-panel
-    hicolor-icon-theme
-  ];
-  # TODO: optionality?
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://thunar.xfce.org/;
-    description = "Xfce file manager";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix
deleted file mode 100644
index eda3aab070a..00000000000
--- a/pkgs/desktops/xfce/core/thunar-volman.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
-, xfconf, udev, libgudev, libnotify, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "thunar-volman";
-  ver_maj = "0.8";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
-  };
-
-
-  buildInputs =
-    [ pkgconfig intltool exo gtk udev libgudev libxfce4ui libxfce4util
-      xfconf libnotify hicolor-icon-theme
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://goodies.xfce.org/projects/thunar-plugins/thunar-volman;
-    description = "Thunar extension for automatic management of removable drives and media";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/thunar-volman/default.nix b/pkgs/desktops/xfce/core/thunar-volman/default.nix
index 11b29c64b33..fc6db0fcce4 100644
--- a/pkgs/desktops/xfce4-14/thunar-volman/default.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
 
   sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
+
+  meta = {
+    description = "Thunar extension for automatic management of removable drives and media";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix
deleted file mode 100644
index 83e3a2879d7..00000000000
--- a/pkgs/desktops/xfce/core/thunar.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ stdenv, buildEnv, runCommand, makeWrapper, lndir, thunar-bare
-, thunarPlugins ? []
-}:
-
-with stdenv.lib; 
-
-let
-
-  build = thunar-bare;
-
-  replaceLnExeListWithWrapped = exeDir: exeNameList: mkWrapArgs: ''
-    exeDir="${exeDir}"
-    oriDir=`realpath -e "$exeDir"`
-    unlink "$exeDir"
-    mkdir -p "$exeDir"
-    lndir "$oriDir" "$exeDir"
-
-    exeList="${concatStrings (intersperse " " (map (x: "${exeDir}/${x}") exeNameList))}"
-
-    for exe in $exeList; do
-      oriExe=`realpath -e "$exe"`
-      rm -f "$exe"
-      makeWrapper "$oriExe" "$exe" ${concatStrings (intersperse " " mkWrapArgs)}
-    done
-  '';
-
-  name = "${build.p_name}-${build.ver_maj}.${build.ver_min}";
-
-  meta = {
-    inherit (build.meta) homepage license platforms;
-
-    description = build.meta.description + optionalString
-      (0 != length thunarPlugins)
-      " (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
-    maintainers = build.meta.maintainers /*++ [ jraygauthier ]*/;
-  };
-
-in
-
-# TODO: To be replaced with `buildEnv` awaiting missing features.
-runCommand name {
-  inherit build;
-  inherit meta;
-
-  nativeBuildInputs = [ makeWrapper lndir ];
-
-  dontPatchELF = true;
-  dontStrip = true;
-
-} 
-(let
-  buildWithPlugins = buildEnv {
-    name = "thunar-bare-with-plugins";
-    paths = [ build ] ++ thunarPlugins;
-  };
-
-in ''
-  mkdir -p $out
-  pushd ${buildWithPlugins} > /dev/null
-  for d in `find . -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do
-    ln -s "${buildWithPlugins}/$d" "$out/$d"
-  done
-  popd > /dev/null
-
-  ${replaceLnExeListWithWrapped "$out/bin" [ "thunar" "thunar-settings" ] [
-    "--set THUNARX_MODULE_DIR \"${buildWithPlugins}/lib/thunarx-2\""
-  ]}
-'')
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
new file mode 100644
index 00000000000..11220141d2a
--- /dev/null
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -0,0 +1,70 @@
+{ mkXfceDerivation
+, lib
+, docbook_xsl
+, exo
+, gdk-pixbuf
+, gtk3
+, libgudev
+, libnotify
+, libX11
+, libxfce4ui
+, libxfce4util
+, libxslt
+, xfconf
+, gobject-introspection
+, gvfs
+, makeWrapper
+, symlinkJoin
+, thunarPlugins ? []
+}:
+
+let unwrapped = mkXfceDerivation {
+  category = "xfce";
+  pname = "thunar";
+  version = "1.8.9";
+
+  sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w";
+
+  nativeBuildInputs = [
+    docbook_xsl
+    gobject-introspection
+    libxslt
+  ];
+
+  buildInputs = [
+    exo
+    gdk-pixbuf
+    gtk3
+    gvfs
+    libX11
+    libgudev
+    libnotify
+    libxfce4ui
+    libxfce4util
+    xfconf
+  ];
+
+  patches = [
+    ./thunarx_plugins_directory.patch
+  ];
+
+  # the desktop file … is in an insecure location»
+  # which pops up when invoking desktop files that are
+  # symlinks to the /nix/store
+  #
+  # this error was added by this commit:
+  # https://github.com/xfce-mirror/thunar/commit/1ec8ff89ec5a3314fcd6a57f1475654ddecc9875
+  postPatch = ''
+    sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
+  '';
+
+  meta = {
+    description = "Xfce file manager";
+  };
+};
+
+in if thunarPlugins == [] then unwrapped
+  else import ./wrapper.nix {
+    inherit makeWrapper symlinkJoin thunarPlugins lib;
+    thunar = unwrapped;
+  }
diff --git a/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch b/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch
index e1431d86b14..594a81c829e 100644
--- a/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch
+++ b/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch
@@ -1,8 +1,8 @@
 diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c
-index 31b8835..a3e7f4e 100644
+index 94b11545..1f66c982 100644
 --- a/thunarx/thunarx-provider-factory.c
 +++ b/thunarx/thunarx-provider-factory.c
-@@ -141,12 +141,19 @@ static GList*
+@@ -150,12 +150,19 @@ static GList*
  thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory)
  {
    ThunarxProviderModule *module;
@@ -24,7 +24,7 @@ index 31b8835..a3e7f4e 100644
      {
        /* determine the types for all existing plugins */
 diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c
-index 023ad2a..6c21997 100644
+index 023ad2ae..b1d1be8f 100644
 --- a/thunarx/thunarx-provider-module.c
 +++ b/thunarx/thunarx-provider-module.c
 @@ -174,10 +174,17 @@ static gboolean
@@ -33,13 +33,13 @@ index 023ad2a..6c21997 100644
    ThunarxProviderModule *module = THUNARX_PROVIDER_MODULE (type_module);
 +  const gchar           *thunar_dir;
    gchar                 *path;
-+    
+ 
 +  thunar_dir = g_getenv("THUNARX_MODULE_DIR");
 +  if (NULL == thunar_dir)
 +    {
 +      thunar_dir = THUNARX_DIRECTORY;
 +    }
- 
++
    /* load the module using the runtime link editor */
 -  path = g_build_filename (THUNARX_DIRECTORY, type_module->name, NULL);
 +  path = g_build_filename (thunar_dir, type_module->name, NULL);
diff --git a/pkgs/desktops/xfce/core/thunar/wrapper.nix b/pkgs/desktops/xfce/core/thunar/wrapper.nix
new file mode 100644
index 00000000000..cc44e662457
--- /dev/null
+++ b/pkgs/desktops/xfce/core/thunar/wrapper.nix
@@ -0,0 +1,34 @@
+{ makeWrapper, symlinkJoin, thunar, thunarPlugins, lib }:
+
+symlinkJoin {
+  name = "thunar-with-plugins-${thunar.version}";
+
+  paths = [ thunar ] ++ thunarPlugins;
+
+  buildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram "$out/bin/thunar" \
+      --set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
+
+    wrapProgram "$out/bin/thunar-settings" \
+      --set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
+
+    for file in "lib/systemd/user/thunar.service" "share/dbus-1/services/org.xfce.FileManager.service" \
+      "share/dbus-1/services/org.xfce.Thunar.FileManager1.service" \
+      "share/dbus-1/services/org.xfce.Thunar.service"
+    do
+      rm -f "$out/$file"
+      substitute "${thunar}/$file" "$out/$file" \
+        --replace "${thunar}" "$out"
+    done
+  '';
+
+   meta = with lib; {
+    inherit (thunar.meta) homepage license platforms maintainers;
+
+    description = thunar.meta.description + optionalString
+      (0 != length thunarPlugins)
+      " (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
+  };
+}
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
deleted file mode 100644
index 9087d3a0255..00000000000
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, gdk-pixbuf, curl, freetype
-, libgsf, poppler, bzip2 }:
-let
-  p_name  = "tumbler";
-  ver_maj = "0.1";
-  ver_min = "31";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    intltool dbus-glib gdk-pixbuf curl freetype
-    poppler libgsf bzip2
-  ];
-
-  configureFlags = [
-    # Needs gst-tag
-    # "--enable-gstreamer-thumbnailer"
-
-    # Needs libffmpegthumbnailer
-    # "--enable-ffmpeg-thumbnailer"
-
-    "--enable-odf-thumbnailer"
-    "--enable-poppler-thumbnailer"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = http://git.xfce.org/xfce/tumbler/;
-    description = "A D-Bus thumbnailer service";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index e99551bd8d2..b795007ca7c 100644
--- a/pkgs/desktops/xfce4-14/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -32,4 +32,8 @@ mkXfceDerivation {
   postFixup = ''
     wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}"
   '';
+
+  meta = {
+    description = "A D-Bus thumbnailer service";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
deleted file mode 100644
index d39708dd523..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util
-, libxfce4ui, garcon, xfconf }:
-let
-  p_name  = "xfce4-appfinder";
-  ver_maj = "4.12";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://docs.xfce.org/xfce/xfce4-appfinder/;
-    description = "Xfce application finder, a tool to locate and launch programs on your system";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index 6c4af66c866..cbb444c6c76 100644
--- a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
+
+  meta = {
+    description = "Appfinder for the Xfce4 Desktop Environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
deleted file mode 100644
index 109c22f1e58..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }:
-let
-  p_name  = "xfce4-dev-tools";
-  ver_maj = "4.12";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib ];
-
-  # not needed to build it but to use it
-  propagatedBuildInputs = [ autoconf automake libtool intltool ];
-
-  meta = {
-    homepage = http://foo-projects.org/~benny/projects/xfce4-dev-tools/;
-    description = "Tools and M4 macros for Xfce4 developers";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 38fe82ffb01..38fe82ffb01 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
index 600bf47fd87..600bf47fd87 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
diff --git a/pkgs/desktops/xfce/core/xfce4-light-locker.patch b/pkgs/desktops/xfce/core/xfce4-light-locker.patch
deleted file mode 100644
index 0fabdffd7ed..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-light-locker.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./scripts/xflock4.orig	2017-08-06 23:05:53.807688995 +0100
-+++ ./scripts/xflock4	2017-08-06 23:09:06.171789989 +0100
-@@ -24,12 +24,19 @
- PATH=/bin:/usr/bin
- export PATH
- 
--# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
-+# First test for the command set in the session's xfconf channel
-+LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand)
-+
-+# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running
- for lock_cmd in \
-+    "$LOCK_CMD" \
-     "xscreensaver-command -lock" \
--    "gnome-screensaver-command --lock"
-+    "gnome-screensaver-command --lock" \
-+    "light-locker-command -l"
- do
--    $lock_cmd >/dev/null 2>&1 && exit
-+    if [ ! -z "$lock_cmd" ]; then
-+        $lock_cmd >/dev/null 2>&1 && exit
-+    fi
- done
- 
- # else run another access locking utility, if installed
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
deleted file mode 100644
index b8ecae7e4e6..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification
-, makeWrapper, xfce4-mixer, hicolor-icon-theme, tzdata
-, withGtk3 ? false, gtk3, gettext, glib-networking
-}:
-let
-  inherit (stdenv.lib) optional;
-  p_name  = "xfce4-panel";
-  ver_maj = "4.12";
-  ver_min = "2";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1s8cvsrgmkmmm84g6mghpj2k4777gm22g5lrsf8pdy5qh6xql1a2";
-  };
-
-  patches = [ ./xfce4-panel-datadir.patch ];
-  patchFlags = "-p1";
-
-  postPatch = ''
-    for f in $(find . -name \*.sh); do
-      substituteInPlace $f --replace gettext ${gettext}/bin/gettext
-    done
-    substituteInPlace plugins/clock/clock.c \
-       --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \
-       --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" ""
-  '';
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util exo libwnck
-      garcon xfconf libstartup_notification makeWrapper hicolor-icon-theme
-    ] ++ xfce4-mixer.gst_plugins
-      ++ optional withGtk3 gtk3;
-
-  propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ];
-
-  configureFlags = optional withGtk3 "--enable-gtk3";
-
-  postInstall = ''
-    wrapProgram "$out/bin/xfce4-panel" \
-      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-panel;
-    description = "Xfce panel";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index c571666e5c4..f7e500bdf54 100644
--- a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -10,7 +10,7 @@ mkXfceDerivation {
   nativeBuildInputs = [ gobject-introspection ];
   buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ];
 
-  patches = [ ../../xfce/core/xfce4-panel-datadir.patch ];
+  patches = [ ./xfce4-panel-datadir.patch ];
   patchFlags = "-p1";
 
   postPatch = ''
diff --git a/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch b/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
index ed9df9ef36f..ed9df9ef36f 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch
+++ b/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
deleted file mode 100644
index 266f3064507..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, lib, fetchurl, pkgconfig, intltool, glib, gtk, dbus-glib, upower, xfconf
-, libxfce4ui, libxfce4util, libnotify, xfce4-panel, hicolor-icon-theme
-, withGtk3 ? false, gtk3, libxfce4ui_gtk3, xfce4panel_gtk3 }:
-let
-  p_name  = "xfce4-power-manager";
-  ver_maj = if withGtk3 then "1.6" else "1.4";
-  ver_min = if withGtk3 then "0"   else "4";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 =
-      if withGtk3
-      then "0avzhllpimcn7a6z9aa4jn0zg5ahxr9ks5ldchizycdb0rz1bqxx"
-      else "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool glib dbus-glib upower xfconf libxfce4util
-      libnotify hicolor-icon-theme
-    ] ++
-    (if withGtk3
-    then [ gtk3 libxfce4ui_gtk3 xfce4panel_gtk3 ]
-    else [ gtk  libxfce4ui      xfce4-panel      ]);
-
-  postPatch = lib.optionalString withGtk3 ''
-    substituteInPlace configure --replace gio-2.0 gio-unix-2.0
-  '';
-
-  postConfigure = lib.optionalString withGtk3 ''
-    substituteInPlace src/Makefile      --replace "xfce4_power_manager_CFLAGS = "          "xfce4_power_manager_CFLAGS = \$(GIO_CFLAGS) "
-    substituteInPlace settings/Makefile --replace "xfce4_power_manager_settings_CFLAGS = " "xfce4_power_manager_settings_CFLAGS = \$(GIO_CFLAGS) "
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://goodies.xfce.org/projects/applications/xfce4-power-manager;
-    description = "A power manager for the Xfce Desktop Environment";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 985146c8257..fb3f05b3664 100644
--- a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
     automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS
     automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS
   '';
+
+  meta = {
+    description = "A power manager for the Xfce Desktop Environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
deleted file mode 100644
index b57dd252033..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, polkit
-, libxfce4util, libxfce4ui, xfce4-panel, libwnck, dbus-glib, xfconf, libglade, xorg
-, hicolor-icon-theme
-}:
-
-let
-  p_name  = "xfce4-session";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd";
-  };
-
-  patches = [
-    # Fix "lock screen" not working for light-locker
-    ./xfce4-light-locker.patch
-  ];
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus-glib
-      xfconf xfce4-panel libglade xorg.iceauth xorg.libSM
-      polkit hicolor-icon-theme
-    ]; #TODO: upower-glib, gconf (assistive?), gnome keyring
-
-  preBuild = ''
-    sed '/^PATH=/d'        -i scripts/xflock4
-    sed '/^export PATH$/d' -i scripts/xflock4
-  '';
-
-  configureFlags = [ "--with-xsession-prefix=$(out)" ];
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-session;
-    description = "Session manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index d44cd8b0dd7..0ab362aa21d 100644
--- a/pkgs/desktops/xfce4-14/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }:
 
 mkXfceDerivation {
   category = "xfce";
@@ -14,6 +14,8 @@ mkXfceDerivation {
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
+  passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
+
   meta =  {
     description = "Session manager for Xfce";
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch b/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
deleted file mode 100644
index 2683b3c3dfd..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xfsettingsd/xsettings.xml       2015-02-28 22:32:02.681796319 +0100
-+++ b/xfsettingsd/xsettings.xml       2015-02-28 22:32:27.881214735 +0100
-@@ -7,7 +7,7 @@
- <channel name="xsettings" version="1.0">
-   <property name="Net" type="empty">
-     <property name="ThemeName" type="empty"/>
--    <property name="IconThemeName" type="empty"/>
-+    <property name="IconThemeName" type="string" value="Rodent"/>
-     <property name="DoubleClickTime" type="int" value="400"/>
-     <property name="DoubleClickDistance" type="int" value="5"/>
-     <property name="DndDragThreshold" type="int" value="8"/>
\ No newline at end of file
diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix
deleted file mode 100644
index 584055c8ddf..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-settings.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, garcon, libxfce4util
-, libxfce4ui, xfconf, libXi, upower ? null, libnotify ? null
-, libXcursor ? null, xf86inputlibinput ? null, libxklavier ? null }:
-
-let
-  p_name  = "xfce4-settings";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0x35i1cvkqp0hib1knwa58mckdwrfbhaisz4bsx6bbbx385llj7n";
-  };
-
-  patches = [ ./xfce4-settings-default-icon-theme.patch ];
-
-  postPatch = ''
-    for f in $(find . -name \*.c); do
-      substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
-    done
-  '';
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [
-    exo
-    gtk
-    garcon
-    libxfce4util
-    libxfce4ui
-    xfconf
-    libXi
-    upower
-    libnotify
-    libXcursor
-    xf86inputlibinput
-    libxklavier
-  ];
-
-  configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-settings;
-    description = "Settings manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 8cda66359e3..74ab96ed1bc 100644
--- a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -33,4 +33,8 @@ mkXfceDerivation {
     "--enable-pluggable-dialogs"
     "--enable-sound-settings"
   ];
+
+  meta = {
+    description = "Settings manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix
deleted file mode 100644
index 9af365c6f14..00000000000
--- a/pkgs/desktops/xfce/core/xfconf.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus-glib }:
-let
-  p_name  = "xfconf";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0dns190bwb615wy9ma2654sw4vz1d0rcv061zmaalkv9wmj8bx1m";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  #TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib)
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib libxfce4util ];
-  propagatedBuildInputs = [ dbus-glib ];
-
-  doCheck = false; # requires dbus daemon
-
-  meta = with stdenv.lib; {
-    homepage = http://docs.xfce.org/xfce/xfconf/start;
-    description = "Simple client-server configuration storage and query system for Xfce";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix
index a9d6ceaf469..a0923f0fda1 100644
--- a/pkgs/desktops/xfce4-14/xfconf/default.nix
+++ b/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "1mbqc1463xgn7gafbh2fyshshdxin33iwk96y4nw2gl48nhx4sgs";
 
   buildInputs = [ libxfce4util ];
+
+  meta = {
+    description = "Simple client-server configuration storage and query system for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix
deleted file mode 100644
index 091dd03c0bc..00000000000
--- a/pkgs/desktops/xfce/core/xfdesktop.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libwnck, xfconf, libglade, xfce4-panel, thunar, exo, garcon, libnotify
-, hicolor-icon-theme }:
-let
-  p_name  = "xfdesktop";
-  ver_maj = "4.12";
-  ver_min = "3";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac";
-  };
-
-  buildInputs = [
-    pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf
-    libglade xfce4-panel thunar exo garcon libnotify hicolor-icon-theme
-  ];
-
-  patches = [(fetchpatch {
-    url = https://git.xfce.org/xfce/xfdesktop/patch?id=157f5b55cfc3629d595ef38984278de5915aac27;
-    sha256 = "0ki7hnyfpz7bdmsxqnm9qvyk040iyv1fawnhzfbyyzrh4nc5jd3x";
-  })];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfdesktop;
-    description = "Xfce desktop manager";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfdesktop/default.nix b/pkgs/desktops/xfce/core/xfdesktop/default.nix
index afcd0d19dc3..afcd0d19dc3 100644
--- a/pkgs/desktops/xfce4-14/xfdesktop/default.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop/default.nix
diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix
deleted file mode 100644
index d26649ee6ce..00000000000
--- a/pkgs/desktops/xfce/core/xfwm4.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util
-, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
-let
-  p_name  = "xfwm4";
-  ver_maj = "4.12";
-  ver_min = "4";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0dpvdrd5lclkcrzmdpva38gfsgvdf3xkqfknvy96x6k4fn508x7s";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf
-      libwnck libstartup_notification
-      xorg.libXcomposite xorg.libXfixes xorg.libXdamage
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfwm4;
-    description = "Window manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfwm4/default.nix b/pkgs/desktops/xfce/core/xfwm4/default.nix
index 358e99c893f..2dff3302617 100644
--- a/pkgs/desktops/xfce4-14/xfwm4/default.nix
+++ b/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -23,4 +23,8 @@ mkXfceDerivation {
     libXpresent
     xfconf
   ];
+
+  meta = {
+    description = "Window manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 20d5175fed6..7442ff478f5 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -3,91 +3,91 @@
 lib.makeScope pkgs.newScope (self: with self; {
   #### NixOS support
 
-  inherit (pkgs.gnome2) libglade vte gtksourceview;
-  inherit (pkgs.gnome3) dconf;
-  inherit (pkgs.perlPackages) URI;
+  mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
 
-  gtk = pkgs.gtk2;
+  automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
 
   # Samba is a rather heavy dependency
   gvfs = pkgs.gvfs.override { samba = null; };
 
-  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
-
   #### CORE
 
-  exo = callPackage ./core/exo.nix { };
-
-  garcon = callPackage ./core/garcon.nix { };
-
-  # When built with GTK 3, it was breaking GTK 3 app layout
-  gtk-xfce-engine = callPackage ./core/gtk-xfce-engine.nix { withGtk3 = false; };
+  exo = callPackage ./core/exo { };
 
-  libxfce4ui = callPackage ./core/libxfce4ui.nix { };
+  garcon = callPackage ./core/garcon { };
 
-  libxfce4util = callPackage ./core/libxfce4util.nix { };
+  libxfce4ui = callPackage ./core/libxfce4ui { };
 
-  libxfcegui4 = callPackage ./core/libxfcegui4.nix { };
+  libxfce4util = callPackage ./core/libxfce4util { };
 
-  thunar-bare = callPackage ./core/thunar-build.nix { };
+  thunar = callPackage ./core/thunar {
+    thunarPlugins = [];
+  };
 
-  thunar = callPackage ./core/thunar.nix { };
-
-  # NB: thunar already has it
-  thunar-volman = callPackage ./core/thunar-volman.nix { };
+  thunar-volman = callPackage ./core/thunar-volman { };
 
   thunar-archive-plugin = callPackage ./thunar-plugins/archive { };
 
   thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
 
-  tumbler = callPackage ./core/tumbler.nix { };
+  tumbler = callPackage ./core/tumbler { };
 
-  # TODO: impure plugins from /run/current-system/sw/lib/xfce4
-  xfce4-panel = callPackage ./core/xfce4-panel.nix { };
+  xfce4-panel = callPackage ./core/xfce4-panel { };
 
-  xfce4-session = callPackage ./core/xfce4-session.nix { };
+  xfce4-session = callPackage ./core/xfce4-session { };
 
-  xfce4-settings = callPackage ./core/xfce4-settings.nix { };
+  xfce4-settings = callPackage ./core/xfce4-settings { };
 
-  xfce4-power-manager = callPackage ./core/xfce4-power-manager.nix { };
+  xfce4-power-manager = callPackage ./core/xfce4-power-manager { };
 
-  xfconf = callPackage ./core/xfconf.nix { };
+  xfconf = callPackage ./core/xfconf { };
 
-  xfdesktop = callPackage ./core/xfdesktop.nix { };
+  xfdesktop = callPackage ./core/xfdesktop { };
 
-  xfwm4 = callPackage ./core/xfwm4.nix { };
+  xfwm4 = callPackage ./core/xfwm4 { };
 
-  xfce4-appfinder = callPackage ./core/xfce4-appfinder.nix { };
+  xfce4-appfinder = callPackage ./core/xfce4-appfinder { };
 
-  xfce4-dev-tools = callPackage ./core/xfce4-dev-tools.nix { };
+  xfce4-dev-tools = callPackage ./core/xfce4-dev-tools {
+    mkXfceDerivation = mkXfceDerivation.override {
+      xfce4-dev-tools = null;
+    };
+  };
 
   #### APPLICATIONS
 
-  gigolo = callPackage ./applications/gigolo.nix { };
+  catfish = callPackage ./applications/catfish { };
+
+  gigolo = callPackage ./applications/gigolo { };
+
+  mousepad = callPackage ./applications/mousepad { };
 
-  mousepad = callPackage ./applications/mousepad.nix { };
+  orage = callPackage ./applications/orage { };
 
-  orage = callPackage ./applications/orage.nix { };
+  parole = callPackage ./applications/parole { };
 
-  parole = callPackage ./applications/parole.nix { };
+  ristretto = callPackage ./applications/ristretto { };
 
-  ristretto = callPackage ./applications/ristretto.nix { };
+  xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { };
 
-  xfce4-mixer = callPackage ./applications/xfce4-mixer.nix { };
+  xfce4-dict = callPackage ./applications/xfce4-dict { };
 
-  xfce4-mixer-pulse = callPackage ./applications/xfce4-mixer.nix { pulseaudioSupport = true; };
+  xfce4-terminal = callPackage ./applications/xfce4-terminal { };
 
-  xfce4-notifyd = callPackage ./applications/xfce4-notifyd.nix { };
+  xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter {
+    inherit (pkgs.gnome3) libsoup;
+  };
 
-  xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager.nix { };
+  xfdashbooard = callPackage ./applications/xfdashboard {};
 
-  xfce4-terminal = callPackage ./applications/terminal.nix { };
+  # TODO: this repo is inactive for many years. Remove?
+  xfce4-volumed = callPackage ./applications/xfce4-volumed { };
 
-  xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
+  xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { };
 
-  xfce4-volumed = callPackage ./applications/xfce4-volumed.nix { };
+  xfce4-notifyd = callPackage ./applications/xfce4-notifyd { };
 
-  xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
+  xfburn = callPackage ./applications/xfburn { };
 
   #### ART
 
@@ -99,15 +99,15 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-vala-panel-appmenu-plugin = callPackage ./panel-plugins/xfce4-vala-panel-appmenu-plugin { };
 
-  xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin.nix { };
+  xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin { };
 
-  xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin.nix { };
+  xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin { };
 
-  xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
+  xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin { };
 
   xfce4-cpugraph-plugin = callPackage ./panel-plugins/xfce4-cpugraph-plugin.nix { };
 
-  xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin.nix { };
+  xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin { };
 
   xfce4-dict-plugin = callPackage ./panel-plugins/xfce4-dict-plugin.nix { };
 
@@ -125,7 +125,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin.nix { };
 
-  xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
+  xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin { };
 
   xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
 
@@ -139,25 +139,17 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin.nix { };
 
-  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
+  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { };
 
-  xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { };
+  xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin { };
 
   xfce4-weather-plugin = callPackage ./panel-plugins/xfce4-weather-plugin.nix { };
 
-  xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { };
+  xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin { };
 
   xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin.nix { };
 
-  xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix { };
-
-  #### GTK3 (deprecated, see NixOS/nixpkgs#32763)
-
-  libxfce4ui_gtk3 = libxfce4ui.override { withGtk3 = true; };
-
-  xfce4panel_gtk3 = xfce4-panel.override { withGtk3 = true; };
-
-  xfce4_power_manager_gtk3 = xfce4-power-manager.override { withGtk3 = true; };
+  xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { };
 
 } // lib.optionalAttrs (config.allowAliases or true) {
   #### ALIASES - added 2018-01
@@ -208,4 +200,24 @@ lib.makeScope pkgs.newScope (self: with self; {
   xfce4_whiskermenu_plugin = xfce4-whiskermenu-plugin;
   xfce4_windowck_plugin = xfce4-windowck-plugin;
   xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin;
+
+  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18
+  gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17
+
+  # added 2019-11-04
+  libxfce4ui_gtk3 = libxfce4ui;
+  xfce4panel_gtk3 = xfce4-panel;
+  xfce4_power_manager_gtk3 = xfce4-power-manager;
+  gtk = pkgs.gtk2;
+  libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library";
+  xinitrc = xfce4-session.xinitrc;
+  inherit (pkgs.gnome2) libglade;
+  inherit (pkgs.gnome3) vte gtksourceview;
+  xfce4-mixer-pulse = xfce4-mixer;
+  thunar-bare = thunar.override {
+    thunarPlugins = [];
+  };
+
+  # added 2019-11-30
+  inherit (pkgs) dconf;
 })
diff --git a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index b7dc8322569..b7dc8322569 100644
--- a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
deleted file mode 100644
index 6399aa3cc20..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-battery-plugin";
-  ver_maj = "1.0";
-  ver_min = "5";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Battery plugin for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
index 376551b09c0..3966e256b16 100644
--- a/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Battery plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
deleted file mode 100644
index 280f39f8d99..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-clipman-plugin";
-  ver_maj = "1.2";
-  ver_min = "6";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Clipboard manager for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index 74628a325d4..bd1a3b5e5e3 100644
--- a/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq";
 
   buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Clipboard manager for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
deleted file mode 100644
index 07838f8fe7c..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-cpufreq-plugin";
-  ver_maj = "1.1";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0crd21l5cw0xgm6w7s049xa36k203yx7l56ssnah9nq1w73n58bl";
-  };
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [ libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "CPU Freq load plugin for Xfce panel";
-    license = [ licenses.gpl2Plus ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index 22793963df3..3798edbf89d 100644
--- a/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -7,4 +7,8 @@ mkXfceDerivation {
   sha256 = "1p7c4g3yfc19ksdckxpzq1q35jvplh5g55299cvv0afhdb5l8zhv";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "CPU Freq load plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
index e088e74cfb1..ef7f7e58020 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk, hicolor-icon-theme }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk hicolor-icon-theme ];
+  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk2 hicolor-icon-theme ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
deleted file mode 100644
index c6317010031..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4-panel
-, gtk }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-datetime-plugin";
-  ver_maj = "0.6";
-  ver_min = "2";
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0b4yril07qgkmywjym1qp12r4g35bnh96879zbjps7cd3rkxld4p";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfcegui4 xfce4-panel gtk ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
new file mode 100644
index 00000000000..3cfb010b12d
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
@@ -0,0 +1,34 @@
+{ mkXfceDerivation
+, stdenv
+, intltool
+, libxfce4ui
+, xfce4-panel
+, gtk3
+, gettext
+}:
+
+mkXfceDerivation rec {
+  category = "panel-plugins";
+  pname = "xfce4-datetime-plugin";
+  version = "0.8.0";
+
+  rev = "datetime-${version}";
+
+  sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah";
+
+  nativeBuildInputs = [
+    gettext
+    intltool
+  ];
+
+  buildInputs = [
+    gtk3
+    libxfce4ui
+    xfce4-panel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
index 8210fc62ccb..0b31bac8d54 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
index 3a79f67068c..03e5a222967 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Eyes following you!";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
index 6d0f8ee73a4..ee663aa71ca 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Filesystem monitor";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
index 039ac144094..193d27af98a 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Cyclically spawns a command and captures its output";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
index 541b30ec1b3..e9d2eb590be 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
-libxfcegui4, xfconf, gtk, exo, gnutls, libgcrypt }:
+ xfconf, gtk2, exo, gnutls, libgcrypt }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
-    libxfcegui4 xfconf gtk exo gnutls libgcrypt ];
+    xfconf gtk2 exo gnutls libgcrypt ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Mailwatch plugin for Xfce panel";
     platforms = platforms.linux;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
index 5331c29a454..b909540144a 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
-libxfcegui4, xfconf, gtk, exo }:
+ xfconf, gtk2, exo }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
-    libxfcegui4 xfconf gtk exo ];
+    xfconf gtk2 exo ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "MPD plugin for Xfce panel";
     platforms = platforms.linux;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
deleted file mode 100644
index e82669cc1a3..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-netload-plugin";
-  ver_maj = "1.2";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1lrhhzxmybcfl52hnadr2dvasis9wmk6a48pcy02s09ch8cfkb7z";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Battery plugin for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
index d9f517981d3..d774649b536 100644
--- a/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "0nm8advafw4jpc9p1qszyfqa56194sz51z216rdh4c6ilcrrpy1h";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Battery plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
index d61dae6bdd5..2876c1b1f7d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, libunique }:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk libunique ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 libunique ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix
deleted file mode 100644
index 6f6f5699b6e..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel_gtk3, xfconf
-, gtk3, libpulseaudio, hicolor-icon-theme
-, withKeybinder ? true, keybinder3
-, withLibnotify ? true, libnotify
-}:
-
-assert withKeybinder -> keybinder3 != null;
-assert withLibnotify -> libnotify != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-pulseaudio-plugin";
-  ver_maj = "0.2";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "e82836bc8cf7d905b4e60d43dc630ba8e32dea785989700c71d4aeee9f583b33";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ libxfce4util xfce4panel_gtk3 xfconf gtk3 libpulseaudio hicolor-icon-theme ]
-    ++ optional withKeybinder keybinder3
-    ++ optional withLibnotify libnotify;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Adjust the audio volume of the PulseAudio sound system";
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index 6fca6069d1e..59f282d7411 100644
--- a/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
   '';
 
   buildInputs = [ gtk3 libnotify libpulseaudio libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Adjust the audio volume of the PulseAudio sound system";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
index 5a4dfee76fc..2e7233e6cdb 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome2, libxfce4ui,
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxfce4ui,
   libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome2.gtk
+    gtk2
     libxfce4ui
     libxfce4util
     xfce4-panel
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
index 698d4aae532..5575962ab77 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
index 57cd48c6f27..4eddfe8df57 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel
-, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
+, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf
-    gtk hicolor-icon-theme ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf
+    gtk2 hicolor-icon-theme ];
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
deleted file mode 100644
index 96ef08cbeb7..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
-, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-verve-plugin";
-  ver_maj = "1.1";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "114wkmgjxkim1jkswih20zg9d7rbzmlf30b5rlcpvmbsij0ny6d3";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk ];
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "A command-line plugin";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
new file mode 100644
index 00000000000..288aaddfb98
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, gtk3, libxfce4ui, pcre, libxfce4util, xfce4-panel, xfconf }:
+
+mkXfceDerivation rec {
+  category = "panel-plugins";
+  pname = "xfce4-verve-plugin";
+  version = "2.0.0";
+  rev = version;
+  sha256 = "09vpa6m0ah7pgmra094c16vb79xrcwva808g6zpawwrhcwz85lcz";
+
+  buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    description = "A command-line plugin";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
index 15cd526d6de..5ab311ef16f 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxml2, libsoup, upower,
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxml2, libsoup, upower,
 libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs = [ gtk libxml2 libsoup upower libxfce4ui libxfce4util
+  buildInputs = [ gtk2 libxml2 libsoup upower libxfce4ui libxfce4util
    xfce4-panel hicolor-icon-theme ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
deleted file mode 100644
index c29758452ae..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, intltool, libxfce4util, libxfcegui4
-, xfce4-panel, gtk, exo, garcon }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-whiskermenu-plugin";
-  version = "1.7.2";
-
-  name = "${p_name}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "gottcode";
-    repo = "xfce4-whiskermenu-plugin";
-    rev = "v${version}";
-    sha256 = "1rpazgnjp443abc31bgi6gp9q3sgbg13v7v74nn7vf6kl4v725ah";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig intltool ];
-
-  buildInputs = [ libxfce4util libxfcegui4 xfce4-panel gtk exo garcon ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    substituteInPlace $out/bin/xfce4-popup-whiskermenu \
-      --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
-  '';
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Alternate application launcher for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.pjbarnoy ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index f943f2ab333..ef47d37e5ef 100644
--- a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -15,4 +15,8 @@ mkXfceDerivation rec {
     substituteInPlace $out/bin/xfce4-popup-whiskermenu \
       --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
   '';
+
+  meta = {
+    description = "Alternate application launcher for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
deleted file mode 100644
index 307d2e81bf2..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4-panel
-, garcon, gtk, libxklavier, librsvg, libwnck
-}:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-xkb-plugin";
-  ver_maj = "0.7";
-  ver_min = "1";
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel garcon
-    gtk libxklavier librsvg libwnck  ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Allows you to setup and use multiple keyboard layouts";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index a024d3a88ba..4497a7b0e36 100644
--- a/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
+{ lib, mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
 
 mkXfceDerivation rec {
   category = "panel-plugins";
@@ -8,4 +8,9 @@ mkXfceDerivation rec {
   sha256 = "1gyky4raynp2ggdnq0g96c6646fjm679fzipcsmf1q0aymr8d5ky";
 
   buildInputs = [ garcon gtk3 librsvg libxfce4ui libxfce4util libxklavier libwnck3 xfce4-panel xfconf ];
+
+  meta = with lib; {
+    description = "Allows you to setup and use multiple keyboard layouts";
+    maintainers = [ maintainers.AndersonTorres ];
+  };
 }
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index ea3a0f08443..e3c72d3b50e 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -1,57 +1,38 @@
-{ stdenv, fetchFromGitHub, pkgconfig, xfce4-dev-tools
-, gtk
-, thunar-bare
-, exo, libxfce4util, libxfce4ui
-, xfconf, udev, libnotify, hicolor-icon-theme
+{ stdenv
+, mkXfceDerivation
+, fetchFromGitHub
+, gtk3
+, thunar
+, exo
+, libxfce4util
+, intltool
+, gettext
 }:
 
-stdenv.mkDerivation rec {
-  p_name  = "thunar-archive-plugin";
-  ver_maj = "0.3";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
+mkXfceDerivation rec {
+  category = "thunar-plugins";
+  pname  = "thunar-archive-plugin";
+  version = "0.4.0";
 
-  src = fetchFromGitHub {
-    owner = "xfce-mirror";
-    repo = p_name;
-    rev = "72b23eefc348bee31e06a04f968e430bc7dfa51e";
-    sha256 = "0l8715x23qmk0jkywiza3qx0xxmafxi4grp7p82kkc5df5ccs8kx";
-  };
+  sha256 = "1793zicm00fail4iknliwy2b668j239ndxhc9hy6jarvdyp08h38";
+
+  nativeBuildInputs = [
+    intltool
+    gettext
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    xfce4-dev-tools
-    thunar-bare
-    exo gtk libxfce4util libxfce4ui
-    xfconf udev libnotify hicolor-icon-theme
+    thunar
+    exo
+    gtk3
+    libxfce4util
   ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  /*
-    File roller `*.desktop` situation
-    ---------------------------------
-
-    For some odd reason, in nix os, gnome file-roller's desktop file has the non-standard name
-    `org.gnome.FileRoller.desktop`. In order to be compatible with this odd context, create
-    a `*.tap` file of the same name.
-
-    IMPORTANT: Adapt or remove the symbolic link if the situation changes.
-  */
-  preFixup = ''
-    pushd $out/libexec/thunar-archive-plugin > /dev/null
-    ln -s ./file-roller.tap org.gnome.FileRoller.tap
-    popd > /dev/null
-  '';
-
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
-    homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
     description = "Thunar plugin providing file context menus for archives";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index 217cecf85a8..8674c586552 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -1,31 +1,39 @@
-{ stdenv, fetchurl, pkgconfig
-, gtk
-, thunar-bare, python2, hicolor-icon-theme
-, wafHook
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, gtk3
+, thunar
+, cmake
+, ninja
 }:
 
 stdenv.mkDerivation rec {
-  p_name  = "thunar-dropbox-plugin";
-  ver_maj = "0.2";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
+  pname  = "thunar-dropbox";
+  version = "0.3.1";
 
-  src = fetchurl {
-    url = "http://softwarebakery.com/maato/files/thunar-dropbox/thunar-dropbox-${ver_maj}.${ver_min}.tar.bz2";
-    sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf";
+  src = fetchFromGitHub {
+    owner = "Jeinzi";
+    repo = "thunar-dropbox";
+    rev = version;
+    sha256 = "1fshjvh542ffa8npfxv3cassgn6jclb2ix9ir997y4k0abzp1fxb";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    cmake
+    ninja
+  ];
+
   buildInputs = [
-    gtk
-    thunar-bare python2 hicolor-icon-theme
+    thunar
+    gtk3
   ];
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://softwarebakery.com/maato/thunar-dropbox.html;
-    description = "A plugin for thunar that adds context-menu items from dropbox";
+    homepage = "https://github.com/Jeinzi/thunar-dropbox";
+    description = "A plugin that adds context-menu items for Dropbox to Thunar";
     license = licenses.gpl3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/xfce4-14/default.nix b/pkgs/desktops/xfce4-14/default.nix
deleted file mode 100644
index 0e2c8c1696b..00000000000
--- a/pkgs/desktops/xfce4-14/default.nix
+++ /dev/null
@@ -1,116 +0,0 @@
-{ lib, makeSetupHook, newScope, gnome3, gst_all_1 }:
-
-let
-  inherit (lib) makeScope;
-in
-
-makeScope newScope (self: with self; {
-  mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
-
-  automakeAddFlags = makeSetupHook { } ./automakeAddFlags.sh;
-
-  exo = callPackage ./exo { };
-
-  garcon = callPackage ./garcon { };
-
-  gigolo = callPackage ./gigolo { };
-
-  libxfce4util = callPackage ./libxfce4util { };
-
-  libxfce4ui = callPackage ./libxfce4ui { };
-
-  mousepad = callPackage ./mousepad { };
-
-  orage = callPackage ./orage { };
-
-  parole = callPackage ./parole {
-    inherit (gst_all_1) gst-plugins-bad gst-plugins-base gst-plugins-good;
-    gst-plugins-ugly = null;
-  };
-
-  ristretto = callPackage ./ristretto { };
-
-  thunar = callPackage ./thunar { };
-
-  thunar-volman = callPackage ./thunar-volman { };
-
-  tumbler = callPackage ./tumbler { };
-
-  xfburn = callPackage ./xfburn { };
-
-  xfconf = callPackage ./xfconf { };
-
-  xfdesktop = callPackage ./xfdesktop { };
-
-  xfce4-appfinder = callPackage ./xfce4-appfinder { };
-
-  xfce4-battery-plugin = callPackage ./xfce4-battery-plugin { };
-
-  xfce4-cpufreq-plugin = callPackage ./xfce4-cpufreq-plugin { };
-
-  xfce4-clipman-plugin = callPackage ./xfce4-clipman-plugin { };
-
-  xfce4-dev-tools = callPackage ./xfce4-dev-tools {
-    mkXfceDerivation = mkXfceDerivation.override {
-      xfce4-dev-tools = null;
-    };
-  };
-
-  xfce4-dict = callPackage ./xfce4-dict { };
-
-  xfce4-netload-plugin = callPackage ./xfce4-netload-plugin { };
-
-  xfce4-notifyd = callPackage ./xfce4-notifyd { };
-
-  xfce4-panel = callPackage ./xfce4-panel { };
-
-  xfce4-power-manager = callPackage ./xfce4-power-manager { };
-
-  xfce4-pulseaudio-plugin = callPackage ./xfce4-pulseaudio-plugin { };
-
-  xfce4-screenshooter = callPackage ./xfce4-screenshooter {
-    inherit (gnome3) libsoup;
-  };
-
-  xfce4-session = callPackage ./xfce4-session { };
-  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
-
-  xfce4-settings = callPackage ./xfce4-settings { };
-
-  xfce4-taskmanager = callPackage ./xfce4-taskmanager { };
-
-  xfce4-terminal = callPackage ./xfce4-terminal { };
-
-  xfdashboard = callPackage ./xfdashboard { };
-
-  xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { };
-
-  xfce4-whiskermenu-plugin = callPackage ./xfce4-whiskermenu-plugin { };
-
-  xfce4-xkb-plugin = callPackage ./xfce4-xkb-plugin { };
-
-  xfwm4 = callPackage ./xfwm4 { };
-
-  ## COMMON PARTS WITH XFCE 4.12
-
-  xfce4-icon-theme = callPackage ../xfce/art/xfce4-icon-theme.nix { };
-
-  xfwm4-themes = callPackage ../xfce/art/xfwm4-themes.nix { };
-
-  xfce4-embed-plugin = callPackage ../xfce/panel-plugins/xfce4-embed-plugin.nix { };
-
-  xfce4-hardware-monitor-plugin = callPackage ../xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix { };
-
-  ## THIRD PARTY PLIGINS
-
-  xfce4-dockbarx-plugin = callPackage ../xfce/panel-plugins/xfce4-dockbarx-plugin.nix { };
-
-  xfce4-namebar-plugin = callPackage ../xfce/panel-plugins/xfce4-namebar-plugin.nix { };
-
-  xfce4-windowck-plugin = callPackage ../xfce/panel-plugins/xfce4-windowck-plugin.nix { };
-
-
-  ## ALIASES
-  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18
-  gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17
-})
diff --git a/pkgs/desktops/xfce4-14/thunar/default.nix b/pkgs/desktops/xfce4-14/thunar/default.nix
deleted file mode 100644
index 12a1a62991a..00000000000
--- a/pkgs/desktops/xfce4-14/thunar/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ mkXfceDerivation, docbook_xsl, exo, gdk-pixbuf, gtk3, libgudev
-, libnotify, libX11, libxfce4ui, libxfce4util, libxslt, xfconf, gobject-introspection, gvfs }:
-
-mkXfceDerivation {
-  category = "xfce";
-  pname = "thunar";
-  version = "1.8.9";
-
-  sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w";
-
-  nativeBuildInputs = [ libxslt docbook_xsl gobject-introspection ];
-
-  buildInputs = [
-    exo
-    gdk-pixbuf
-    gtk3
-    libgudev
-    libnotify
-    libX11
-    libxfce4ui
-    libxfce4util
-    xfconf
-    gvfs
-  ];
-}
diff --git a/pkgs/desktops/xfce4-14/xfburn/default.nix b/pkgs/desktops/xfce4-14/xfburn/default.nix
deleted file mode 100644
index dd3a9af1680..00000000000
--- a/pkgs/desktops/xfce4-14/xfburn/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ mkXfceDerivation, docbook_xsl, exo, gtk2, libburn, libisofs, libxfce4ui, libxslt }:
-
-mkXfceDerivation {
-  category = "apps";
-  pname = "xfburn";
-  version = "0.5.5";
-
-  sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp";
-
-  nativeBuildInputs = [ libxslt docbook_xsl ];
-  buildInputs = [ exo gtk2 libburn libisofs libxfce4ui ];
-  meta.broken = true;
-}
diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
index 6bcfcfc3023..f8be40eecab 100644
--- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
+++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
@@ -56,7 +56,7 @@ rec {
   binaries = runCommand "ndk-gcc-binutils" {
     isClang = true; # clang based cc, but bintools ld
     nativeBuildInputs = [ makeWrapper ];
-    propgatedBuildInputs = [ androidndk ];
+    propagatedBuildInputs = [ androidndk ];
   } ''
     mkdir -p $out/bin
 
diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix
index d947acc3ea6..9aebad2dabf 100644
--- a/pkgs/development/beam-modules/build-mix.nix
+++ b/pkgs/development/beam-modules/build-mix.nix
@@ -1,4 +1,4 @@
-{ stdenv, writeText, elixir, erlang, hexRegistrySnapshot, hex, lib }:
+{ stdenv, writeText, elixir, erlang, hex, lib }:
 
 { name
 , version
@@ -43,7 +43,7 @@ let
     else setupHook;
 
     inherit buildInputs;
-    propagatedBuildInputs = [ hexRegistrySnapshot hex elixir ] ++ beamDeps;
+    propagatedBuildInputs = [ hex elixir ] ++ beamDeps;
 
     configurePhase = if configurePhase == null
     then ''
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index eb9353a4a63..031f7b5dda7 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -14,16 +14,11 @@ let
       defaultScope = mkScope self;
       callPackage = drv: args: callPackageWithScope defaultScope drv args;
     in
-      import ./hex-packages.nix {
-        inherit pkgs stdenv callPackage;
-      } // rec {
+      rec {
         inherit callPackage erlang;
         beamPackages = self;
 
-        hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
-
         rebar = callPackage ../tools/build-managers/rebar { };
-        rebar3-open = callPackage ../tools/build-managers/rebar3 { };
         rebar3 = callPackage ../tools/build-managers/rebar3 { };
 
         # rebar3 port compiler plugin is required by buildRebar3
@@ -80,9 +75,6 @@ let
         webdriver = callPackage ./webdriver {};
         relxExe = callPackage ../tools/erlang/relx-exe {};
 
-        # The tool used to upgrade hex-packages.nix.
-        hex2nix = callPackage ../tools/erlang/hex2nix {};
-
         # An example of Erlang/C++ package.
         cuter = callPackage ../tools/erlang/cuter {};
       };
diff --git a/pkgs/development/beam-modules/hex-packages.nix b/pkgs/development/beam-modules/hex-packages.nix
deleted file mode 100644
index df781d3e247..00000000000
--- a/pkgs/development/beam-modules/hex-packages.nix
+++ /dev/null
@@ -1,37751 +0,0 @@
-/* hex-packages.nix is an auto-generated file -- DO NOT EDIT! */
-
-/* Unbuildable packages:
-
- * absinthe_relay_0_9_3
- * active_0_9_0
- * addict_0_2_5
- * address_us_0_1_1
- * airbrake_0_1_0
- * airbrake_plug_0_1_1
- * airbrakex_0_0_8
- * alembic_2_1_0
- * algolia_0_3_2
- * alice_0_3_6
- * alice_against_humanity_0_1_2
- * alice_google_images_0_1_3
- * alice_karma_0_2_0
- * alice_personable_0_0_2
- * alice_reddit_0_0_3
- * alice_shizzle_0_1_2
- * alice_tielurs_heart_rate_0_0_5
- * alice_xkcd_0_0_3
- * alphonse_0_1_0
- * amqp_0_1_1
- * amqp_0_1_4
- * amqp_client_3_5_6
- * amrita_0_4_0
- * angellist_0_0_0
- * anubis_0_1_0
- * anubis_0_3_0
- * apache_passwd_md5_1_0_0
- * apostle_0_0_3
- * arc_0_5_2
- * arc_ecto_0_4_1
- * as_nested_set_0_1_0
- * asanaficator_0_0_1
- * atlas_0_2_0
- * authable_0_3_1
- * aws_erlang_0_1_1
- * aws_http_0_2_4
- * b2_client_0_0_1
- * backoff_1_1_3
- * backy_0_0_5
- * balanced_3_1_0
- * bamboo_sendgrid_0_1_0
- * bandwidth_1_2_1
- * barrel_jiffy_0_14_4
- * barrel_jiffy_0_14_5
- * basehangul_0_2_1
- * basho_exometer_core_1_0_0
- * basic_auth_1_0_0
- * bbmustache_1_0_1
- * bbsmq_0_0_6
- * beaker_1_2_0
- * benchwarmer_0_0_2
- * bencoder_0_0_7
- * bertex_1_2_0
- * bgg_0_1_0
- * bitbucket_api_0_0_2
- * bitpay_0_2_5
- * blackbook_0_3_1
- * block_timer_0_0_1
- * bno055_0_0_1
- * boltun_1_0_1
- * booter_0_1_0
- * bottler_0_5_0
- * bouncer_0_1_5
- * brady_0_0_2
- * brod_2_1_4
- * bson_0_4_4
- * bugsnag_erl_0_1_4
- * bugsnex_0_0_1
- * bump_0_1_0
- * bureaucrat_0_1_4
- * butler_0_6_2
- * butler_0_7_1
- * butler_cage_0_0_2
- * butler_cowsay_0_2_1
- * butler_new_0_4_3
- * butler_tableflip_0_0_3
- * cache_tab_1_0_2
- * calecto_0_6_0
- * calendar_0_16_0
- * calendar_0_6_8
- * calendar_translations_0_0_3
- * can_0_0_4
- * canada_1_0_0
- * canary_0_14_1
- * carrier_1_0_4
- * cassius_0_0_1
- * cauldron_0_1_5
- * ccc_0_0_2
- * certifi_0_1_1
- * cesso_0_1_3
- * cet_0_2_3
- * channels_0_0_2
- * charlotte_0_4_0
- * charm_0_0_1
- * chatter_0_0_15
- * cipher_1_0_5
- * cldr_0_0_1
- * cleverbot_0_0_1
- * cloak_0_2_2
- * cloudi_core_1_4_0_rc_4
- * cloudi_core_1_5_1
- * cloudi_service_api_requests_1_5_1
- * cloudi_service_db_1_5_1
- * cloudi_service_db_cassandra_1_3_3
- * cloudi_service_db_cassandra_cql_1_5_1
- * cloudi_service_db_couchdb_1_5_1
- * cloudi_service_db_elasticsearch_1_3_3
- * cloudi_service_db_http_elli_1_5_1
- * cloudi_service_db_memcached_1_5_1
- * cloudi_service_db_mysql_1_5_1
- * cloudi_service_db_pgsql_1_5_1
- * cloudi_service_db_riak_1_3_3
- * cloudi_service_db_tokyotyrant_1_5_0
- * cloudi_service_filesystem_1_5_1
- * cloudi_service_http_client_1_5_1
- * cloudi_service_http_cowboy_1_5_1
- * cloudi_service_http_rest_1_5_1
- * cloudi_service_map_reduce_1_5_1
- * cloudi_service_monitoring_1_5_1
- * cloudi_service_queue_1_5_1
- * cloudi_service_quorum_1_5_1
- * cloudi_service_router_1_5_1
- * cloudi_service_tcp_1_5_1
- * cloudi_service_timers_1_5_1
- * cloudi_service_udp_1_5_1
- * cloudi_service_validate_1_5_1
- * cloudi_service_zeromq_1_5_1
- * clox_0_1_3
- * coffee_rotor_0_2_1
- * coinbase_0_0_1
- * comeonin_ecto_password_2_0_0_rc_0
- * commerce_billing_0_0_2
- * concierge_0_0_1
- * conferl_0_0_1
- * conform_0_16_0
- * conform_1_0_0_rc8
- * conform_2_0_0
- * conform_exrm_1_0_0
- * console_0_0_1
- * consul_1_0_3
- * core_0_14_1
- * couchdb_client_0_2_5
- * couchdb_connector_0_3_0
- * countries_1_1_2
- * countries_erlang_0_2_0
- * courier_web_0_0_8
- * coverex_1_4_9
- * cowboy_oauth_0_2_14
- * cowboy_routes_tree_0_2_0
- * cpg_1_4_0
- * cpg_1_5_1
- * cqrex_0_0_1
- * cqrs_0_0_7
- * cqrs_events_0_0_4
- * craterl_0_2_3
- * crudex_0_0_2
- * crypto_ext_0_1_3
- * cure_0_4_1
- * currently_0_0_3
- * datomex_0_0_5
- * datomic_gen_server_2_0_1
- * dayron_0_1_1
- * db_0_9_0
- * db_connection_1_0_0_rc_0
- * dbschema_0_2_0
- * dbus_0_5_0
- * ddb_client_0_1_17
- * ddb_client_0_1_21
- * ddb_connection_0_1_3
- * decimal_0_2_5
- * decorators_0_1_0
- * denrei_0_2_3
- * descriptive_statistics_0_0_1
- * dexts_0_2_1
- * dialyze_0_1_4
- * diane_0_0_1
- * dicer_0_8_0
- * dicks_0_1_0
- * difficult_0_0_2
- * diplomat_0_0_3
- * discount_0_7_0
- * discovery_0_5_7
- * distance_api_matrix_2_0_1
- * dns_0_0_3
- * docker_0_3_0
- * dotenv_0_0_4
- * dotenv_elixir_0_0_2
- * dpd_client_0_0_6
- * dproto_0_1_12
- * dproto_0_1_16
- * dqe_0_2_2
- * dqe_fun_0_1_1
- * dqe_idx_ddb_0_1_13
- * dqe_idx_pg_0_1_29
- * drawille_0_0_1
- * dropbox_0_0_7
- * earmark_0_1_0
- * ecc_0_1_3
- * ecdo_0_1_4
- * ecrontab_0_2_0
- * ecto_0_2_4
- * ecto_2_0_0_beta_0
- * ecto_2_0_0_rc_5
- * ecto_enum_0_3_1
- * ecto_factory_0_0_1
- * ecto_fixtures_0_0_2
- * ecto_gettext_0_1_6
- * ecto_hstore_0_0_1
- * ecto_it_0_2_0
- * ecto_lazy_float_0_1_2
- * ecto_ldap_0_2_8
- * ecto_migrate_0_6_3
- * ecto_ordered_0_0_2
- * ecto_state_machine_0_0_4
- * ecto_validation_case_0_1_1
- * ectograph_0_0_8
- * ectoo_0_0_4
- * ectophile_0_3_0
- * edeliver_1_2_9
- * eden_0_1_3
- * edgarex_0_0_2
- * efrisby_0_2_0
- * egithub_0_2_6
- * eini_1_2_1
- * ejabberd_16_4_1
- * ekstat_0_2_2
- * elastix_0_2_0
- * eleveldb_2_1_3
- * elibphonenumber_0_1_1
- * elistrix_0_0_5
- * elixilorem_0_0_1
- * elixir_ale_0_4_1
- * elixir_ale_0_5_3
- * elixir_drawille_0_0_3
- * elixir_ipfs_api_0_1_0
- * elixir_locker_0_1_4
- * elixir_nsq_1_0_3
- * elixometer_1_2_1
- * elixtagram_0_2_7
- * elixush_0_0_4
- * elli_xpblfe_0_1_1
- * elmit_0_0_1
- * email_checker_0_0_3
- * emodel_1_3_1
- * eno_0_0_1
- * enotify_0_1_0
- * ensq_0_1_6
- * env_conf_0_3_0
- * eplugin_0_1_4
- * epubnub_0_1_0
- * eql_0_1_2
- * eredis_cluster_0_5_7
- * erlang_dbus_0_2_0
- * erlang_lua_0_1_0
- * erlang_osc_1_0_1
- * erlang_tls_1_0_3
- * erlastic_search_1_2_0
- * erlcloud_0_13_4
- * erldn_1_0_5
- * erldyn_0_7_2
- * erlogger_0_1_0
- * erltrace_0_1_4
- * erocksdb_0_4_1
- * erwatch_0_3_0
- * es_0_0_1
- * escalus_2_6_4
- * esip_1_0_4
- * espec_phoenix_0_2_1
- * etcd_0_0_2
- * etude_0_1_5
- * etude_request_0_1_0
- * euler_0_0_1
- * event_source_encoder_0_0_3
- * eventstore_0_2_1
- * everex_0_1_1
- * everyoneapi_0_0_1
- * everything_location_0_0_1
- * ex_admin_0_7_6
- * ex_aerospike_0_0_1
- * ex_aws_0_4_19
- * ex_bitcask_0_1_0
- * ex_chimp_0_0_2
- * ex_cloudinary_0_2_2
- * ex_conf_0_1_2
- * ex_conf_0_1_3
- * ex_doc_0_10_0
- * ex_doc_0_11_5
- * ex_doc_0_8_4
- * ex_doc_dash_0_3_0
- * ex_doc_epub_0_0_2
- * ex_dockerapi_0_0_1
- * ex_edn_0_1_2
- * ex_hubic_0_1_0
- * ex_orient_1_3_0
- * ex_ovh_0_1_2
- * ex_parsec_0_2_1
- * ex_queb_0_1_2
- * ex_sharp_0_0_6
- * ex_slp_0_1_0
- * ex_unit_emacs_0_1_2
- * exauth_0_0_1
- * excheck_0_3_3
- * excountries_0_0_3
- * excoveralls_0_5_4
- * exdjango_0_3_1
- * exdm_0_0_4
- * exdn_2_1_2
- * exdns_0_0_1
- * exdweet_0_0_1
- * exeque_0_1_0
- * exfile_0_1_5
- * exfile_0_3_3
- * exfile_b2_0_2_2
- * exfile_encryption_0_0_2
- * exfile_imagemagick_0_1_2
- * exfile_memory_0_1_0
- * exfile_s3_0_0_1
- * exgpg_0_0_3
- * exgrid_0_3_0
- * exhal_4_12_3
- * exintercom_0_1_6
- * exjira_0_0_1
- * exjprop_0_0_5
- * exkad_0_0_2
- * exmagick_0_0_1
- * exometer_core_1_0_0
- * exometer_core_1_4_0
- * exometer_datadog_0_4_3
- * exometer_zabbix_0_0_3
- * exos_1_0_0
- * expcap_0_1_0
- * exprotobuf_0_10_2
- * exprotobuf_0_13_0
- * exprotobuf_1_0_0
- * exq_0_7_1
- * exq_ui_0_7_1
- * exquery_0_0_11
- * exrabbit_0_0_2
- * exrecaptcha_0_0_3
- * exrm_0_14_10
- * exrm_0_14_17
- * exrm_0_18_8
- * exrm_0_19_9
- * exrm_1_0_5
- * exrm_deb_0_0_6
- * exrm_docker_0_1_0
- * exrm_heroku_0_1_1
- * exrm_rpm_0_3_3
- * exrm_smartos_gz_1_0_0
- * exseed_0_0_3
- * exsentry_0_5_0
- * exsyslog_1_0_1
- * extreme_0_5_1
- * exurban_0_0_1
- * ezlib_1_0_1
- * ezmq_0_2_0
- * facebook_0_10_0
- * fast_tls_1_0_3
- * fast_xml_1_1_11
- * fast_yaml_1_0_3
- * favicon_0_0_7
- * feedistiller_2_0_2
- * feedlex_0_0_1
- * fernet_ecto_0_2_0
- * ffi_0_0_1_alpha
- * fifo_db_0_2_2
- * fifo_dt_0_1_66
- * fifo_dt_0_1_69
- * fifo_lager_0_1_4
- * fifo_spec_0_1_27
- * fifo_utils_0_1_20
- * fifo_utils_0_1_22
- * figaro_0_1_0
- * filepreviews_1_0_1
- * filtrex_0_2_0
- * finch_0_0_3
- * fintex_0_3_0
- * fireworks_0_5_1
- * fitbit_0_0_1
- * fitex_0_0_1
- * flames_0_1_0
- * fleet_api_0_0_15
- * floorplan_0_1_1
- * flower_power_0_3_2
- * flub_0_9_0
- * fluent_client_0_1_0
- * folsom_ddb_0_1_22
- * font_awesome_phoenix_0_3_2
- * form_data_0_1_1
- * forms_0_0_1
- * fqc_0_1_7
- * frank_0_0_3
- * fuentes_0_0_3
- * funnel_0_4_1
- * gcloudex_0_4_4
- * gcm_1_3_1
- * gcmex_0_0_1
- * gen_leader_0_1_0
- * gen_rpc_1_0_2
- * gen_state_machine_0_0_2
- * geo_1_0_4
- * geocoder_0_4_2
- * gil_0_0_3
- * gimei_0_0_2
- * gimei_ex_1_0_0
- * gpb_3_18_10
- * gpb_3_18_8
- * gpb_3_21_2
- * gpb_3_22_2
- * graphql_parser_0_0_3
- * graphql_relay_0_3_0
- * group_manager_0_0_8
- * guardian_0_10_1
- * guardian_0_12_0
- * guardian_0_9_1
- * guardian_db_0_4_0
- * guardian_db_0_7_0
- * hackney_1_1_0
- * hackney_1_3_1
- * hackney_1_3_2
- * hackney_1_4_10
- * hackney_1_4_4
- * hackney_1_4_8
- * hamcrest_0_1_1
- * hash_ring_ex_1_1_2
- * hdr_histogram_0_2_0
- * hedwig_flowdock_0_1_1
- * hedwig_hipchat_0_9_4
- * hedwig_irc_0_1_3
- * hedwig_slack_0_1_0
- * hedwig_sms_0_1_0
- * hedwig_xmpp_1_0_0_rc2
- * hello_world_header_0_0_1
- * hexoku_0_1_0
- * hmc5883l_0_5_0
- * honeydew_0_0_9
- * hr_0_2_2
- * hstore_0_0_2
- * htpasswd_1_0_2
- * http_0_0_1
- * httpc_aws_0_1_3
- * httpoison_0_7_1
- * httpoison_0_7_5
- * httpoison_0_8_0
- * httprot_0_1_7
- * iconv_1_0_0
- * ielixir_0_9_5
- * ifttt_oauth_0_0_1
- * inch_ex_0_5_3
- * inch_test_0_0_1
- * inflex_0_2_0
- * inquisitor_0_1_0
- * instream_0_12_0
- * intellij_elixir_0_1_2
- * iona_0_2_1
- * ipgeobase_0_0_1
- * isn_1_0_0
- * ja_serializer_0_9_0
- * japanese_holiday_0_0_2
- * jazz_0_1_1
- * jazz_0_2_1
- * jiffy_0_14_7
- * joken_0_13_1
- * joken_1_2_1
- * jsxn_0_2_1
- * kafka_protocol_0_3_2
- * kalecto_0_3_3
- * kalends_0_6_5
- * kane_0_1_1
- * katipo_0_3_4
- * kcl_0_6_2
- * keccakf1600_2_0_0
- * keelless_0_1_0
- * keenex_0_3_0
- * kerosene_0_0_1
- * kindred_0_0_1
- * kovacs_0_9_2
- * kvs_2_1_0
- * lager_2_1_1
- * lager_graylog_0_1_1
- * lager_logstash_backend_0_1_1
- * lager_watchdog_0_1_10
- * lasp_0_0_5
- * lazymaru_0_2_5
- * ledx_0_0_1
- * letsencrypt_0_5_0
- * lfe_1_0_2
- * libchunter_0_1_48
- * libdecaf_0_0_2
- * libex_config_0_2_0
- * libhowl_0_1_36
- * libleofs_0_1_2
- * librex_1_0_1
- * libsnarl_0_3_40
- * libsnarl_0_3_46
- * libsniffle_0_3_47
- * libsodium_0_0_7
- * link_shrinkex_1_0_0
- * locker_1_0_8
- * logger_json_file_backend_0_1_2
- * logger_logentries_backend_0_0_1
- * logster_0_2_0
- * lyn_0_0_16
- * mad_0_9_0
- * mailchimp_0_0_5
- * mailgun_webhook_auth_1_0_0
- * mailibex_0_1_0
- * mailman_0_2_2
- * mandrag_0_1_1
- * mandrillex_0_2_0
- * mariaex_0_7_5
- * maru_0_10_1
- * maru_swagger_0_8_0
- * marvel_1_0_0
- * marvin_0_3_0
- * mc_protocol_0_0_2
- * mcrypt_0_1_1
- * mdns_client_0_1_7
- * mdns_client_lib_0_1_33
- * mdns_client_lib_0_1_39
- * medex_0_1_2
- * merkle_0_0_4
- * message_pack_0_2_0
- * meta_0_0_1
- * migratrex_0_0_1
- * mimerl_1_0_0
- * mixstar_0_0_1
- * mmath_0_1_15
- * mobiledoc_0_0_1
- * moebius_2_0_1
- * monetized_0_4_0
- * money_1_0_0
- * mongo_0_5_4
- * mongodb_ecto_0_1_4
- * motor_hat_0_6_1
- * mstore_0_1_11
- * mt940_1_0_0
- * mustachex_0_0_1
- * mynumber_1_0_0
- * nacl_0_3_0
- * naughtygram_0_2_0
- * neo4j_0_3_0
- * neo4j_sips_0_1_26
- * neo4j_sips_models_0_1_1
- * neotoma_1_7_3
- * neotomex_0_1_4
- * nerves_0_3_2
- * nerves_interim_wifi_0_0_1
- * nerves_network_interface_0_3_1
- * nerves_system_ag150_0_5_1
- * nerves_system_alix_0_5_1
- * nerves_system_bbb_0_6_2
- * nerves_system_ev3_0_5_1
- * nerves_system_galileo_0_5_1
- * nerves_system_qemu_arm_0_5_1
- * nerves_system_rpi_0_5_2
- * nerves_system_rpi2_0_5_2
- * nerves_system_rpi3_0_5_2
- * nerves_toolchain_arm_unknown_linux_gnueabi_0_6_2
- * nerves_toolchain_arm_unknown_linux_gnueabihf_0_6_1
- * nerves_toolchain_armv6_rpi_linux_gnueabi_0_6_1
- * nerves_toolchain_i586_unknown_linux_gnu_0_6_1
- * nerves_wpa_supplicant_0_2_1
- * nested_set_0_0_2
- * new_relixir_0_1_0
- * newrelic_0_1_0
- * nice_nickname_0_0_1
- * nifty_0_0_3
- * nio_google_authenticator_1_0_1
- * nio_google_geocoder_0_7_0
- * nodefinder_1_4_0
- * nodefinder_1_5_1
- * nomad_0_6_0
- * normalixr_0_4_0
- * oauth2_0_6_0
- * oauth2_server_0_1_1
- * oauth2cli_0_0_4
- * oauth2ex_0_0_9
- * obelisk_0_10_0
- * observer_cli_1_0_5
- * okta_0_0_1
- * omise_0_2_2
- * openmaize_0_18_1
- * overpass_0_1_1
- * oxr_0_3_1
- * p1_mysql_1_0_1
- * p1_oauth2_0_6_1
- * p1_pgsql_1_1_0
- * p1_stringprep_1_0_1
- * p1_utils_1_0_0
- * p1_utils_1_0_3
- * p1_utils_1_0_4
- * p1_xml_1_1_1
- * p1_xmlrpc_1_15_1
- * params_2_0_0_beta_0
- * parse_client_0_2_3
- * parse_trans_2_9_0
- * parsex_0_0_2
- * passport_0_0_4
- * peatio_client_1_5_0
- * pet_0_1_1
- * pgpool_1_0_0
- * phoenix_0_2_6
- * phoenix_0_4_1
- * phoenix_1_2_0_rc_1
- * phoenix_active_link_0_0_1
- * phoenix_calendar_0_1_2
- * phoenix_dtl_0_0_1
- * phoenix_ecto_3_0_0_rc_0
- * phoenix_ember_0_0_1
- * phoenix_facebook_messenger_0_3_0
- * phoenix_gen_gulp_jspm_1_0_0
- * phoenix_haml_0_2_1
- * phoenix_html_2_4_0_dev
- * phoenix_html_2_5_1
- * phoenix_html_sanitizer_1_0_2
- * phoenix_html_simplified_helpers_0_3_3
- * phoenix_linguist_0_0_1
- * phoenix_live_reload_1_0_5
- * phoenix_microsoftbot_0_1_0
- * phoenix_pubsub_postgres_0_0_2
- * phoenix_pubsub_rabbitmq_0_0_1
- * phoenix_pubsub_redis_2_0_0
- * phoenix_ratchet_0_2_0
- * phoenix_reactor_0_0_3
- * phoenix_simple_form_0_0_2
- * phoenix_slim_0_4_1
- * phoenix_slime_0_6_0
- * phoenix_swoosh_0_1_2
- * phoenix_timex_1_0_1
- * phoenix_token_auth_0_4_0
- * picosat_0_1_0
- * pin_elixir_0_0_1
- * pixie_0_3_5
- * placid_0_1_3
- * plain_sitemap_0_0_1
- * plasm_0_3_0
- * plug_0_4_4
- * plug_0_5_3
- * plug_0_7_0
- * plug_abort_2_1_1
- * plug_auth_0_3_0
- * plug_basic_auth_1_1_0
- * plug_byte_serve_0_3_2
- * plug_cors_0_8_2
- * plug_exception_handler_0_0_4
- * plug_graphql_0_3_1
- * plug_json_parser_0_0_6
- * plug_jwt_0_7_1
- * plug_newrelic_0_0_5
- * plug_secure_headers_0_0_1
- * plug_session_memcached_0_3_3
- * plug_session_redis_0_1_0
- * png_0_1_1
- * poison_1_0_3
- * poison_1_1_1
- * poison_1_2_1
- * pool_0_0_2
- * pooler_1_4_0
- * portal_0_0_1
- * porterstemmer_0_0_1
- * portmidi_5_0_0
- * posterize_0_11_0
- * postgrex_0_11_1
- * postgrex_0_6_0
- * pqueue_1_4_0
- * proper_1_1_1_beta
- * protego_0_1_0
- * protobuffs_0_8_2
- * provider_asn1_0_2_1
- * pulse_0_1_3
- * pulse_libs_1_0_0
- * pusher_0_1_3
- * pushex_0_0_5
- * pynchon_0_1_1
- * quick_chex_0_2_1
- * quinn_0_0_4
- * rackla_1_0_0
- * radpath_0_0_5
- * random_0_2_2
- * ratchet_0_3_1
- * raven_0_0_5
- * raygun_0_3_0
- * reactive_0_0_1
- * readme_md_doc_0_1_2
- * reagent_0_1_9
- * reaxt_0_3_2
- * rebar3_abnfc_plugin_0_1_0
- * rebar3_auto_0_3_0
- * rebar3_auto_applications_1_0_0
- * rebar3_autotest_0_1_1
- * rebar3_cuttlefish_0_11_0
- * rebar3_diameter_compiler_0_4_0
- * rebar3_elixir_0_0_5
- * rebar3_elixirc_0_1_0
- * rebar3_eqc_0_0_10
- * rebar3_exunit_0_1_1
- * rebar3_git_vsn_1_1_0
- * rebar3_gpb_plugin_1_3_3
- * rebar3_hex_2_5_1
- * rebar3_idl_compiler_0_4_0
- * rebar3_lfe_compile_0_4_1
- * rebar3_live_0_1_3
- * rebar3_neotoma_plugin_0_2_0
- * rebar3_proper_0_6_0
- * rebar3_proper_plugin_0_1_0
- * rebar3_protobuffs_0_2_0
- * rebar3_raw_deps_2_0_0
- * rebar3_run_0_2_0
- * rebar3_shellrpc_0_1_0
- * rebar3_tsung_0_1_4
- * rebar3_vendor_0_3_0
- * rebar3_yang_plugin_0_2_1
- * rebar_alias_0_1_0
- * rebar_cmd_0_2_3
- * rebar_erl_vsn_0_1_0
- * rebar_protobuffs_0_1_0
- * rebind_0_1_3
- * recaptcha_1_1_1
- * receipt_verifier_0_0_1
- * recon_2_2_1
- * recon_2_3_1
- * recon_ex_0_9_1
- * record_translator_0_0_3
- * red_0_0_5
- * red_black_tree_1_2_0
- * reddhl_0_0_1
- * redis_pool_0_2_3
- * redis_poolex_0_0_5
- * redix_0_3_6
- * redo_2_0_1
- * redtube_1_0_0
- * ref_inspector_0_9_0
- * regdom_0_0_1
- * relax_0_3_0
- * relflow_1_0_5
- * relief_0_0_1
- * relisa_0_1_0
- * relocker_0_0_8
- * reltool_util_1_4_0
- * reltool_util_1_5_1
- * relx_3_1_0
- * relx_3_19_0
- * relx_3_5_0
- * remix_0_0_2
- * remodel_0_0_1
- * remote_ip_rewriter_0_0_2
- * rendezvous_0_0_1
- * repg2_0_0_4
- * repo_0_4_1
- * repoquery_0_0_2
- * reporter_0_5_1
- * reprise_0_5_0
- * resin_0_4_1
- * rest_1_5_0
- * rest_client_0_0_1
- * rethinkdb_0_4_0
- * rethinkdb_changefeed_0_0_1
- * retrieval_0_9_1
- * retry_0_1_0
- * reup_0_1_0
- * reverse_proxy_0_1_0
- * revision_plate_ex_0_1_0
- * rfc3339_0_9_0
- * riak_1_0_0
- * riak_core_ng_2_2_5
- * riak_dt_2_1_1
- * riak_ensemble_2_1_3
- * riak_pb_2_1_0
- * riak_sysmon_2_1_2
- * riakc_2_1_1
- * riboflavin_0_0_2
- * riemann_0_0_15
- * rlist_0_0_1
- * robotex_0_0_1
- * rogger_0_1_0
- * rollbax_0_6_0
- * rollex_0_4_0
- * roman_numerals_1_0_1
- * romanex_0_1_0
- * romeo_0_5_0
- * roombex_0_0_4
- * rop_0_5_3
- * rotor_0_2_2
- * rquote_0_0_1
- * rsa_0_0_1
- * rss_0_2_1
- * rstats_1_0_2
- * rubix_0_0_2
- * rulex_0_2_0
- * russian_0_1_0
- * rustler_0_0_7
- * safetybox_0_1_2
- * sage_0_0_1
- * salsa20_0_3_0
- * saltie_0_3_2
- * saltpack_1_0_1
- * sap_0_0_2
- * sasl_ex_0_1_0
- * sass_elixir_0_0_1
- * savory_0_0_2
- * sbroker_0_6_2
- * sbroker_0_7_0
- * sbroker_1_0_0_beta_2
- * scaffold_0_0_5
- * scarab_0_1_0
- * schedule_0_1_0
- * schizo_0_0_1
- * scientist_0_2_0
- * scientist_ex_0_1_0
- * scrape_1_0_4
- * scrivener_1_1_4
- * scrivener_1_2_1
- * scrivener_headers_1_0_1
- * scrivener_html_1_1_1
- * seasonal_0_3_0
- * seat_json_0_0_18
- * sec_cik_ticker_mapper_0_0_2
- * sec_company_filings_rss_feed_parser_0_0_2
- * sec_recent_filings_rss_feed_parser_0_0_6
- * secure_0_1_0
- * secure_compare_0_0_1
- * secure_headers_0_0_1
- * secure_password_0_4_3
- * secure_random_0_1_1
- * secure_random_0_3_0
- * seedex_0_1_2
- * seg_seg_0_0_1
- * seg_seg_0_1_0
- * segment_0_1_0
- * select_0_0_1
- * selenium_0_0_2
- * semver_0_1_2
- * sendgrid_0_1_0
- * sentient_0_0_2
- * sentinel_0_1_0
- * sentry_0_3_2
- * sequences_1_1_0
- * serial_0_1_2
- * serve_this_1_0_0
- * service_1_5_1
- * setup_1_7_0
- * setup_tag_0_1_2
- * sfmt_0_12_7
- * sfmt_0_13_0
- * sfsobject_0_0_3
- * sh_1_1_2
- * sha3_1_0_0
- * shameless_plug_1_0_0
- * shape_0_0_2
- * shell_stream_0_0_1
- * short_maps_0_1_1
- * shorter_maps_1_0_0
- * shotgun_0_3_0
- * shouldi_0_3_0
- * shove_0_0_1
- * shrivel_0_0_3
- * sidejob_2_0_0
- * sideshow_0_0_2
- * sidetask_1_1_0
- * signaturex_1_0_1
- * simetric_0_1_0
- * simple_agent_0_0_7
- * simple_bar_0_0_7
- * simple_format_0_1_0
- * simple_markdown_0_0_1
- * simple_secrets_1_0_0
- * simple_statistics_0_0_1
- * simplex_0_4_0
- * simplify_0_2_1
- * simpre_0_1_0
- * siphash_3_1_0
- * sips_downloader_0_2_2
- * sitemap_0_7_0
- * skills_0_0_1
- * skroutz_0_1_0
- * slack_0_3_0
- * slack_0_4_2
- * slack_0_5_0
- * slack_logger_backend_0_1_4
- * slack_webhook_0_0_2
- * slacker_0_0_2
- * slackex_0_0_1
- * slim_fast_0_10_0
- * slime_0_13_0
- * slp_0_0_2
- * slugerl_1_0_0
- * slugger_0_1_0
- * smex_0_0_1
- * sms506_0_2_0
- * sms_blitz_0_0_1
- * smurf_0_1_3
- * snappy_1_1_1
- * snowflake_client_0_1_1
- * socket_0_2_8
- * socket_0_3_4
- * solage_0_0_1
- * sonic_0_1_3
- * sorted_set_1_1_0
- * soundcloud_ex_0_0_1
- * spaceapi_0_1_2
- * spaced_repetitions_0_0_1
- * spacesaving_0_0_3
- * spaghetti_pool_0_1_0
- * sparkpost_0_1_0
- * spartan_0_0_1
- * spawndir_0_1_1
- * spirit_0_0_1
- * sql_dust_0_3_4
- * sqlite3_1_1_5
- * sqlite_ecto_0_5_0
- * sqlite_ecto_1_0_2
- * sqlite_ecto_1_1_0
- * ssdb_0_3_0
- * ssdb_elixir_0_2_2
- * sshex_1_1_0
- * ssl_verify_hostname_1_0_0
- * ssl_verify_hostname_1_0_5
- * ssl_verify_hostname_1_0_6
- * statman_0_5_0
- * stmd_0_0_2
- * strava_0_0_1
- * stringprep_1_0_3
- * stripe_0_0_1
- * stripe_client_0_0_3
- * stripe_eventex_1_0_0
- * stripity_stripe_1_4_0
- * structurez_0_0_1
- * stun_1_0_3
- * sugar_0_4_11
- * supermemo_1_0_0
- * supervisord_0_1_0
- * swaggerdoc_0_0_1
- * sweet_xml_0_4_0
- * switchboard_0_3_2
- * swoosh_0_3_0
- * syslog_1_0_2
- * tagplay_0_1_0
- * tarantool_0_0_2
- * tcs34725_0_0_1
- * tds_ecto_1_0_2
- * telebot_0_1_2
- * templates_0_0_5
- * texas_0_0_2
- * theriac_0_0_1
- * thesis_0_0_14
- * thing_0_0_1
- * timex_0_12_9
- * timex_0_13_5
- * timex_0_16_2
- * timex_1_0_0_rc4
- * timex_ecto_1_0_4
- * timex_ecto_1_1_3
- * timex_interval_0_6_0
- * tirerl_1_0_1
- * tomlex_0_0_4
- * topo_0_1_1
- * tracker_request_0_0_4
- * tractor_0_1_0
- * traitify_elixir_0_1_1
- * trans_0_1_0
- * translator_0_0_1
- * tributary_0_0_2
- * tuco_tuco_0_8_1
- * twittertex_0_1_0
- * twittex_0_0_4
- * u2f_0_1_3
- * u_token_0_0_2
- * ucol_2_0_0
- * ucol_nif_1_1_5
- * ueberauth_facebook_0_3_2
- * ueberauth_fitbit_0_2_1
- * ueberauth_github_0_2_0
- * ueberauth_google_0_2_0
- * ueberauth_linkedin_0_2_0
- * ueberauth_paypal_0_1_0
- * ueberauth_slack_0_2_0
- * ueberauth_spotify_0_0_1
- * ueberauth_strava_0_1_1
- * ueberauth_vk_0_1_1
- * ueberauth_vkontakte_0_1_0
- * ueberauth_weibo_0_0_3
- * ui_0_1_1
- * ulitos_0_3_0
- * unsplash_0_4_0
- * upyun_0_0_1
- * uri_template_1_2_0
- * urna_0_1_4
- * uuid_erl_1_4_0
- * uuid_erl_1_5_1
- * valid_field_0_3_0
- * velkoz_1_2_0
- * verk_0_12_0
- * verk_web_0_11_0
- * vimeo_0_0_2
- * voorhees_0_1_1
- * wayback_archiver_0_0_1
- * webdriver_0_8_1
- * weber_0_1_0
- * weebo_0_1_2
- * wifi_0_2_0
- * win_notify_0_0_4
- * wire_0_2_0
- * xlsx_parser_0_0_7
- * xref_runner_1_0_0
- * yar_0_1_0
- * yggdrasil_1_2_3
- * yodlee_0_1_4
- * yomel_0_5_0
- * zanox_0_0_1
- * zencoder_1_0_1
- * zipper_1_0_0
- * zuppler_users_client_0_0_5
-
-*/
-{ stdenv, pkgs, callPackage, overrides ? (self: super: {}) }:
-
-let
-  packages = self: rec {
-    abnf_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "abnf";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "abnf";
-              version = "0.0.1";
-              sha256 =
-                "81e263f061ba677bda3e0d7f8884730eb51c14d7bc6526647c46cce659f1b054";
-            };
-
-            meta = {
-              description = ''ABNF parser for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vanstee/abnf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    abnf = abnf_0_0_1;
-
-    absinthe_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "absinthe";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "absinthe";
-              version = "1.0.0";
-              sha256 =
-                "c5606be8b46003e7ac47e87c924908cb390b892fef0eae390deb66f8ee123a1c";
-            };
-
-            meta = {
-              description = ''GraphQL for Elixir'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/absinthe-graphql/absinthe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_1_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "absinthe";
-            version = "1.1.6";
-            src = fetchHex {
-              pkg = "absinthe";
-              version = "1.1.6";
-              sha256 =
-                "3e83ea139967975a025850c0efc5aba7a864aded6b10d6483a60264a3523411f";
-            };
-
-            meta = {
-              description = ''GraphQL for Elixir'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/absinthe-graphql/absinthe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe = absinthe_1_1_6;
-
-    absinthe_plug_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          absinthe_1_0_0
-        }:
-          buildMix ({
-            name = "absinthe_plug";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "absinthe_plug";
-              version = "1.0.0";
-              sha256 =
-                "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-            };
-            beamDeps  = [ plug_1_1_5 absinthe_1_0_0 ];
-
-            meta = {
-              description = ''A plug for Absinthe, an experimental GraphQL
-                            toolkit'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/CargoSense/absinthe_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_plug_1_1_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          absinthe_1_1_6
-        }:
-          buildMix ({
-            name = "absinthe_plug";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "absinthe_plug";
-              version = "1.1.3";
-              sha256 =
-                "9fa66d56b4ddbd42fc11510780ed6c9758d539b9c8e538930ff8b383ae71814e";
-            };
-            beamDeps  = [ plug_1_1_5 absinthe_1_1_6 ];
-
-            meta = {
-              description = ''A plug for Absinthe, an experimental GraphQL
-                            toolkit'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/CargoSense/absinthe_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_plug = absinthe_plug_1_1_3;
-
-    access_token_extractor_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "access_token_extractor";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "access_token_extractor";
-              version = "0.1.1";
-              sha256 =
-                "40f76799f8fbb5b03230b31d4d55c5a169e7c3ad82d776a9d87fe0c65c85396d";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Simple Plug to extract access_token from
-                                request and add it to private map in Plug.Conn
-                                struct.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/rohanpujaris/access_token_extractor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    access_token_extractor = access_token_extractor_0_1_1;
-
-    adam7_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, apex_0_3_7 }:
-          buildMix ({
-            name = "adam7";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "adam7";
-              version = "0.4.0";
-              sha256 =
-                "8b540817f2fa92ba4b198d42d1ee4af348ed1edf8bd02d69691e0d8bdbecdcee";
-            };
-            beamDeps  = [ apex_0_3_7 ];
-
-            meta = {
-              longDescription = ''Adam7 interlacing library for Elixir.
-                                Primarily used for interlacing and
-                                de-interlacing image data for PNGs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/imagineer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    adam7 = adam7_0_4_0;
-
-    adap_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "adap";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "adap";
-              version = "0.0.1";
-              sha256 =
-                "10679369764e2aa68560008c1f8bea40d5c715389e27e10b35b1ceda3fedadbb";
-            };
-
-            meta = {
-              longDescription = '' Create a data stream across your information
-                                systems to query, augment and transform data
-                                according to Elixir matching rules. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/adap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    adap = adap_0_0_1;
-
-    adt_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "adt";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "adt";
-              version = "0.0.2";
-              sha256 =
-                "a5b310b1ed8093b0f786ca4facdd0c9ff073acf3e47db6a9771005b77e0d7259";
-            };
-
-            meta = {
-              description = ''A light ADT module for Elixir.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    adt = adt_0_0_2;
-
-    aeacus_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, comeonin_1_6_0 }:
-          buildMix ({
-            name = "aeacus";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "aeacus";
-              version = "0.3.0";
-              sha256 =
-                "3cc138cfc7c508cfd85afddd0881632dde2e663d222c9e3749fae8c80ebb2c0b";
-            };
-            beamDeps  = [ comeonin_1_6_0 ];
-
-            meta = {
-              longDescription = ''A simple, secure, and highly configurable
-                                Elixir identity [username | email | id |
-                                etc.]/password authentication module; Compatible
-                                with Ecto.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/zmoshansky/aeacus";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aeacus = aeacus_0_3_0;
-
-    ahab_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ahab";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ahab";
-              version = "0.1.1";
-              sha256 =
-                "c981c2f62dccd15a055083f9bc088aa0e4a029625ef9aa45104c4ba0ead12bd2";
-            };
-
-            meta = {
-              description = ''A lightweight, low latency TCP acceptor pool for
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jquadrin/ahab";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ahab = ahab_0_1_1;
-
-    airbrakify_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "airbrakify";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "airbrakify";
-              version = "0.0.1";
-              sha256 =
-                "973f895ba83e6dd71cf87182419e144db5c3ac23e43b7a1247e51559bf2737b6";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''A simple Airbrake/Errbit library for
-                                Elixir/Phoenix projects. Currently only supports
-                                error/exception notifications via a Plug.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Diamond/airbrakify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    airbrakify = airbrakify_0_0_1;
-
-    alambic_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alambic";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "alambic";
-              version = "0.1.0";
-              sha256 =
-                "04dc4cc88d56539ec4006a84668186501be9be4c369f145af6a606bb63d97ce0";
-            };
-
-            meta = {
-              longDescription = ''A collection of small elixir utilities.
-                                Semaphore: quick way of limiting access to a
-                                resource CountDown: quick way of counting fan
-                                in/out events'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/sdanzan/alambic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alambic = alambic_0_1_0;
-
-    alchemic_avatar_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemic_avatar";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alchemic_avatar";
-              version = "0.1.2";
-              sha256 =
-                "329ae15eb6a304d6d425f86e6890f1d5c3901475b3fbc9eb07ad03f1394144b4";
-            };
-
-            meta = {
-              description = ''Creating letter avatar from user`s name(or any
-                            other strong / character).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhangsoledad/alchemic_avatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemic_avatar = alchemic_avatar_0_1_2;
-
-    alchemic_pinyin_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemic_pinyin";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alchemic_pinyin";
-              version = "0.1.2";
-              sha256 =
-                "1fbd8300984699370b4a97ab10b64023494d2f9755eddf0abe1dcd9a5f2498c6";
-            };
-
-            meta = {
-              description = ''中文汉字转拼音.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhangsoledad/alchemic_pinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemic_pinyin = alchemic_pinyin_0_1_2;
-
-    alchemist_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemist";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "alchemist";
-              version = "0.0.2";
-              sha256 =
-                "095ad9b47258b2d482b782a5794ed800df1c4024abbc126f347738be72a1aa51";
-            };
-
-            meta = {
-              description = ''Carefully refactor critical paths'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jkakar/alchemist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemist = alchemist_0_0_2;
-
-    alchemy_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "alchemy";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "alchemy";
-              version = "0.0.1";
-              sha256 =
-                "109ce3f83d596a6ab9a947f472516f87da7b0df823fe2d91e27bc6594a305c3d";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              description = ''Perform experiments in production'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/alchemy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemy = alchemy_0_0_1;
-
-    aleppo_0_9_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "aleppo";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "aleppo";
-              version = "0.9.0";
-              sha256 =
-                "2f360631d64da53f40621714e157fd33805a95d0160d5c62fcfb3e132986ce71";
-            };
-
-            meta = {
-              description = ''Aleppo: ALternative Erlang Pre-ProcessOr'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/ErlyORM/aleppo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aleppo = aleppo_0_9_0;
-
-    alexa_0_1_14 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "alexa";
-            version = "0.1.14";
-            src = fetchHex {
-              pkg = "alexa";
-              version = "0.1.14";
-              sha256 =
-                "a15cc63ef736f45326a3065ff59e1211365929387957f246e7b8cee76a31bbe8";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Framework for implementing an Amazon Alexa
-                            Skill.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/alexa";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa = alexa_0_1_14;
-
-    alexa_plug_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "alexa_plug";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "alexa_plug";
-              version = "0.2.0";
-              sha256 =
-                "a78f6fa5e3ba33ce0943f4cb96d6cfcc9b36637a4575314469c8a0d45fff40d0";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A simple set of plugs and utilities for
-                                interfacing with the Amazon Echo and the Alexa
-                                Skills Kit.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jordantdavis/alexa_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa_plug = alexa_plug_0_2_0;
-
-    alexa_web_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4,
-          alexa_0_1_14
-        }:
-          buildMix ({
-            name = "alexa_web";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "alexa_web";
-              version = "0.0.2";
-              sha256 =
-                "e60a7fa60eb52bbb91e445cf0ee3781e0e2a148855befa638b274e6720421126";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 alexa_0_1_14 ];
-
-            meta = {
-              description = ''A web endpoint for deploying one or a collection
-                            of Amazon Alexa Skills'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/alexa_web";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa_web = alexa_web_0_0_2;
-
-    algae_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, quark_1_0_2 }:
-          buildMix ({
-            name = "algae";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "algae";
-              version = "0.10.0";
-              sha256 =
-                "02d89132d99da1e13271007d1109be958ef8b3b7a5e64323299b84d0aa2353e1";
-            };
-            beamDeps  = [ quark_1_0_2 ];
-
-            meta = {
-              description = ''Bootstrapped algebraic data types for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/algae";
-            };
-          } // packageOverrides)
-      ) {};
-
-    algae = algae_0_10_0;
-
-    amazon_product_advertising_client_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "amazon_product_advertising_client";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "amazon_product_advertising_client";
-              version = "0.1.1";
-              sha256 =
-                "406111cedbd475cab29bdcc69f48ddc3670e57d2e3294e8d948c117ae492951c";
-            };
-            beamDeps  = [ timex_1_0_2 sweet_xml_0_6_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Amazon Product Advertising API client for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/zachgarwood/elixir-amazon-product-advertising-client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    amazon_product_advertising_client =
-      amazon_product_advertising_client_0_1_1;
-
-    amnesia_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exquisite_0_1_6 }:
-          buildMix ({
-            name = "amnesia";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "amnesia";
-              version = "0.2.4";
-              sha256 =
-                "fba1e39f5c51d860b22618046a25525170530bc595d0f2dbb45f070c3b40da8f";
-            };
-            beamDeps  = [ exquisite_0_1_6 ];
-
-            meta = {
-              description = ''mnesia wrapper for Elixir'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/amnesia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    amnesia = amnesia_0_2_4;
-
-    anagram_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "anagram";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "anagram";
-              version = "1.0.0";
-              sha256 =
-                "8c41013b8b586728adbf821fe809c277e30f99323138b8e8ccff2311317c8fac";
-            };
-
-            meta = {
-              longDescription = ''Find anagrams of words and \"words that can
-                                be made with a set of letters\" (sort of a sub
-                                anagram)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-anagram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anagram = anagram_1_0_0;
-
-    anaphora_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "anaphora";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "anaphora";
-              version = "0.1.2";
-              sha256 =
-                "fb60a214b2be57d7a08aa8237cd7afb009b637563d64ed5e6ec486e36c484001";
-            };
-
-            meta = {
-              description = ''The anaphoric macro collection for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sviridov/anaphora-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anaphora = anaphora_0_1_2;
-
-    anilixir_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "anilixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "anilixir";
-              version = "1.0.0";
-              sha256 =
-                "ee5c6dfa7e5250d8ec5c9b04910e3202788ceeba231cb3ff8b22e479cc64f1c3";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Anilist API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sotojuan/anilixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anilixir = anilixir_1_0_0;
-
-    apex_0_3_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apex";
-            version = "0.3.7";
-            src = fetchHex {
-              pkg = "apex";
-              version = "0.3.7";
-              sha256 =
-                "a1c8313e9c909ff2489f004b3514430293b1aafb81569b93a1822d486f56080d";
-            };
-
-            meta = {
-              description = ''Elixir clone of Ruby`s awesome_print gem'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bjro/apex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "apex";
-              version = "0.5.0";
-              sha256 =
-                "dd8863ebef2a42be331eece2d3a2f721c4ec3c8495bc0e198703aea7927f156a";
-            };
-
-            meta = {
-              description = ''Elixir clone of Ruby`s awesome_print gem'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bjro/apex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apex = apex_0_5_0;
-
-    apix_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apix";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "apix";
-              version = "0.1.0";
-              sha256 =
-                "d1d809cf41731e39a6c23e02fb41c9375bf04db35c8ce595c99c03eea694f30e";
-            };
-
-            meta = {
-              longDescription = ''Simple convention and DSL for transformation
-                                of elixir functions to a documented and ready
-                                for validation API.'';
-
-              homepage = "https://github.com/liveforeverx/apix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apix = apix_0_1_0;
-
-    apns_0_9_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "apns";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "apns";
-              version = "0.9.2";
-              sha256 =
-                "7d63bd108572fadac777006957e45db5da1a8adf2e94e76f83c89942adf54f68";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_2_1_0 connection_1_0_2 ];
-
-            meta = {
-              description = ''APNS (Apple Push Notification Service) library
-                            for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chvanikoff/apns4ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apns = apns_0_9_2;
-
-    ar2ecto_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ar2ecto";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "ar2ecto";
-              version = "0.1.2";
-              sha256 =
-                "a32322d39f1c0cff335b05b5c2252e531091565c3cf754811087edd2e115a718";
-            };
-
-            meta = {
-              description = ''Ar2ecto is a set of mix tasks to help you migrate
-                            from ActiveRecord to Ecto.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/aforward/ar2ecto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ar2ecto = ar2ecto_0_1_2;
-
-    argent_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "argent";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "argent";
-              version = "0.0.1";
-              sha256 =
-                "dde0920308efca2c8dd9681057e5196f625b53ed8dff86a27242807c3653d645";
-            };
-
-            meta = {
-              description = ''A currency management library for elixir.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    argent = argent_0_0_1;
-
-    argument_parser_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "argument_parser";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "argument_parser";
-              version = "0.1.3";
-              sha256 =
-                "2c56a6c9dfa9790aabdb8f9268ac501404376ffb13396ff515e66f1ebf64817d";
-            };
-
-            meta = {
-              description = ''More powerful argument parser for creating nice
-                            scripts'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jisaacstone/ex_argument_parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    argument_parser = argument_parser_0_1_3;
-
-    array_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "array";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "array";
-              version = "1.0.1";
-              sha256 =
-                "626ac1383566dadee3a10357cd6d192151c6d604ee3266809daf0da6b5e33bbb";
-            };
-
-            meta = {
-              description = ''An elixir wrapper library for Erlang`s array.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/takscape/elixir-array";
-            };
-          } // packageOverrides)
-      ) {};
-
-    array = array_1_0_1;
-
-    artifact_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poolboy_1_5_1,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "artifact";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "artifact";
-              version = "0.4.0";
-              sha256 =
-                "6c66a3c745418e1f1207940c3815828d1a0f022d8186e5da593599d1f460197f";
-            };
-            beamDeps  = [ porcelain_2_0_1 poolboy_1_5_1 plug_1_1_5 ];
-
-            meta = {
-              description = ''File upload and on-the-fly processing for
-                            Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/doomspork/artifact";
-            };
-          } // packageOverrides)
-      ) {};
-
-    artifact = artifact_0_4_0;
-
-    aruspex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          zipper_tree_0_1_1,
-          exyz_1_0_0
-        }:
-          buildMix ({
-            name = "aruspex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "aruspex";
-              version = "0.1.0";
-              sha256 =
-                "2effd16e1081a7af2e5ade9c58cdf4c4d90e2095749ccf733332be2924a6d771";
-            };
-            beamDeps  = [ zipper_tree_0_1_1 exyz_1_0_0 ];
-
-            meta = {
-              description = ''A configurable constraint solver with an API
-                            based on JSR 331.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/dkendal/aruspex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aruspex = aruspex_0_1_0;
-
-    ashes_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ashes";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ashes";
-              version = "0.0.3";
-              sha256 =
-                "2178ab8c0fa1cf53b6d6152773ae79ca6100c80861d59e55e5fa06c5979b042b";
-            };
-
-            meta = {
-              description = ''A code generation tool for the phoenix web
-                            framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nickgartmann/ashes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ashes = ashes_0_0_3;
-
-    assembla_api_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "assembla_api";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "assembla_api";
-              version = "0.1.0";
-              sha256 =
-                "b4a3898de536e4820702c0f119993fd2804e91e2525d1e7eba57d8744983ef24";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Assembla API client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Assembla/ex_assembla_api";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assembla_api = assembla_api_0_1_0;
-
-    assembly_line_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gproc_0_5_0 }:
-          buildMix ({
-            name = "assembly_line";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "assembly_line";
-              version = "1.0.0";
-              sha256 =
-                "3b687890bf750cd893e8a73c261710c1014ba4d5b2247f695f7730b2a84a5473";
-            };
-            beamDeps  = [ gproc_0_5_0 ];
-
-            meta = {
-              description = ''A light-weight job queue (think DAG) manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/LeakyBucket/assembly_line";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assembly_line = assembly_line_1_0_0;
-
-    assert_diff_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "assert_diff";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "assert_diff";
-              version = "0.0.5";
-              sha256 =
-                "ad53a2819c33d39ad2f71404a964625691e9d6bf3d63dbc28442acda71109426";
-            };
-
-            meta = {
-              description = ''assert_diff which fallbacks to git diff'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ske77/assert_diff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assert_diff = assert_diff_0_0_5;
-
-    atomic_map_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "atomic_map";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "atomic_map";
-              version = "0.9.0";
-              sha256 =
-                "f95d5fd4e0f5e4a8ecfead77fa1957cfbcee52307692bcd632159e01326cbf78";
-            };
-
-            meta = {
-              longDescription = ''A small utility to convert deep Elixir maps
-                                with mixed string/atom keys to atom-only keyed
-                                maps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/atomic_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    atomic_map = atomic_map_0_9_0;
-
-    auth_test_support_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "auth_test_support";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "auth_test_support";
-              version = "0.0.6";
-              sha256 =
-                "930596c61d237fbf74b86d87819f0a7df8da8ef79051294a1982ded403cb2401";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Authentication and authorization test support
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/auth_test_support";
-            };
-          } // packageOverrides)
-      ) {};
-
-    auth_test_support = auth_test_support_0_0_6;
-
-    authentic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "authentic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "authentic";
-              version = "0.0.1";
-              sha256 =
-                "2fba6e1efde9fef4866d17499907811a3957ded8c07866c7b34474f0f0d59e29";
-            };
-
-            meta = {
-              description = ''Auth for Phoenix'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    authentic = authentic_0_0_1;
-
-    auto_doc_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "auto_doc";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "auto_doc";
-              version = "0.0.2";
-              sha256 =
-                "9c4b30c526e59f63173fe2f0d0c360ac678f1e7a11adcf209dfc843a3e63e6f7";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 ];
-
-            meta = {
-              description = ''A package that will create REST API docs based on
-                            your ExUnit tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meatherly/auto_doc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    auto_doc = auto_doc_0_0_2;
-
-    autobots_license_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "autobots_license";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "autobots_license";
-              version = "0.1.0";
-              sha256 =
-                "7cfa258ce5eff01018dfd6faf509b430d03770fb733c1b10217b9e52770014b3";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    autobots_license = autobots_license_0_1_0;
-
-    avex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "avex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "avex";
-              version = "0.2.0";
-              sha256 =
-                "e63970026cc566e9aa9c24c261f43843a7553835d2009b16e838217644ded815";
-            };
-
-            meta = {
-              description = ''Awesome validations for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jonhkr/avex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    avex = avex_0_2_0;
-
-    aws_0_0_11 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "aws";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "aws";
-              version = "0.0.11";
-              sha256 =
-                "f9f3f9b0e02bb6aa29268a746b2110deaebe34f205d689e9d57ccb90f0caf072";
-            };
-            beamDeps  = [ timex_2_1_6 poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''AWS clients for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jkakar/aws-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws = aws_0_0_11;
-
-    aws_auth_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "aws_auth";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "aws_auth";
-              version = "0.4.0";
-              sha256 =
-                "67f28f8e4ffdd3f3155e124f20ef325ff32ea3f525cf85e2df96f2f09d245976";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''AWS Signature Version 4 Signing Library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/bryanjos/aws_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws_auth = aws_auth_0_4_0;
-
-    aws_cli_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, erlexec_1_1_0 }:
-          buildRebar3 ({
-            name = "aws_cli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "aws_cli";
-              version = "0.1.0";
-              sha256 =
-                "14fd91c4752a5eb5b2c781c4843589824b35750d7785b57e0460ba6d96bfe8c1";
-            };
-
-            beamDeps  = [ erlexec_1_1_0 ];
-
-            meta = {
-              description = ''AWS cli wrapper for Erlang'';
-
-              homepage = "https://github.com/fyler/aws_cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws_cli = aws_cli_0_1_0;
-
-    azure_push_client_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "azure_push_client";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "azure_push_client";
-              version = "0.0.2";
-              sha256 =
-                "d58bbac5e5260d92ef62916e74dbb8743e413a9f69afa2d8e1940071407a2f06";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Azure Push Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chaione/azure_push_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    azure_push_client = azure_push_client_0_0_2;
-
-    b2_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "b2";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "b2";
-              version = "0.0.6";
-              sha256 =
-                "f8b33d1ec36576dfbca3f2f4c5fad1a9a227207d1ef63b3a388778e8fad3333a";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir B2 cloud API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    b2 = b2_0_0_6;
-
-    bamboo_0_3_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.3.2";
-              sha256 =
-                "1b4bfdddae49f6fc66616c63b4d2d9a0e99d40a08619004f5c4f4e4aebfa20ed";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.5.0";
-              sha256 =
-                "29e46e8c9e861e93103cde6fab9712bb077317e517af75a05e118763f7c5fc35";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_0_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.6.0";
-              sha256 =
-                "81a48add86d8b08da8a4ca8249caa0d42cb51d0cb654bf8ed921f3055995441d";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo = bamboo_0_6_0;
-
-    bamboo_smtp_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          gen_smtp_0_10_0,
-          bamboo_0_5_0
-        }:
-          buildMix ({
-            name = "bamboo_smtp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "bamboo_smtp";
-              version = "0.0.2";
-              sha256 =
-                "34c621806c8f9a2e316d5bc5f63bf85f5387418ff60222a383189611a367de4d";
-            };
-            beamDeps  = [ gen_smtp_0_10_0 bamboo_0_5_0 ];
-
-            meta = {
-              description = ''A Bamboo adapter for SMTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fewlinesco/bamboo_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_smtp = bamboo_smtp_0_0_2;
-
-    bamboo_sparkpost_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bamboo_0_6_0 }:
-          buildMix ({
-            name = "bamboo_sparkpost";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "bamboo_sparkpost";
-              version = "0.5.1";
-              sha256 =
-                "dc4165282d13fe431b78dbf04db5e280bc4fef9f87d3b0e20e78e008c8c6b3de";
-            };
-            beamDeps  = [ bamboo_0_6_0 ];
-
-            meta = {
-              description = ''A Bamboo adapter for the SparkPost email
-                            service'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/andrewtimberlake/bamboo_sparkpost";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_sparkpost = bamboo_sparkpost_0_5_1;
-
-    bankster_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bankster";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "bankster";
-              version = "0.2.2";
-              sha256 =
-                "000df06a7701e11f1b9cba4595873f8c7d8e55afde22153fd3d6d19e55bc29f7";
-            };
-
-            meta = {
-              description = ''Bankster is an IBAN and BIC validation tool for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/railsmechanic/bankster";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bankster = bankster_0_2_2;
-
-    banner_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "banner";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "banner";
-              version = "0.1.0";
-              sha256 =
-                "309a752cd592bd8dda3526865d050b1e20a953baed8b7480d0489001688f7a0f";
-            };
-
-            meta = {
-              description = ''It is Elixir sysvbanner port from
-                            https://github.com/uffejakobsen/sysvbanner.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/winebarrel/elixir-sysvbanner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    banner = banner_0_1_0;
-
-    barrel_ibrowse_4_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "barrel_ibrowse";
-            version = "4.2.0";
-            src = fetchHex {
-              pkg = "barrel_ibrowse";
-              version = "4.2.0";
-              sha256 =
-                "58bd9e45932c10fd3d0ceb5c4e47952c3243ea300b388192761ac20be197b2ca";
-            };
-
-            meta = {
-              description = ''Erlang HTTP client application'';
-
-              homepage = "https://github.com/barrel-db/ibrowse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    barrel_ibrowse = barrel_ibrowse_4_2_0;
-
-    barrel_oauth_1_6_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "barrel_oauth";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "barrel_oauth";
-              version = "1.6.0";
-              sha256 =
-                "b2a800b771d45f32a9a55d416054b3bdfab3a925b62e8000f2c08b719390d4dd";
-            };
-
-            meta = {
-              description = ''An Erlang OAuth 1.0 implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/erlang-oauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    barrel_oauth = barrel_oauth_1_6_0;
-
-    base16_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "base16";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "base16";
-              version = "1.0.0";
-              sha256 =
-                "02afd0827e61a7b07093873e063575ca3a2b07520567c7f8cec7c5d42f052d76";
-            };
-
-            meta = {
-              description = ''Base16 encoding and decoding'';
-              license = with stdenv.lib.licenses; [ bsd3 free ];
-              homepage = "https://github.com/goj/base16";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base16 = base16_1_0_0;
-
-    base36_1_0_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, custom_base_0_2_0
-        }:
-          buildMix ({
-            name = "base36";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "base36";
-              version = "1.0.0";
-              sha256 =
-                "6022d73272ebd0a6f600248da05b47576b94f064c6444dd0401df67e717c189e";
-            };
-            beamDeps  = [ custom_base_0_2_0 ];
-
-            meta = {
-              description = ''Base36 encoder/decoder.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nscyclone/base36";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base36 = base36_1_0_0;
-
-    base58_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "base58";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "base58";
-              version = "0.1.0";
-              sha256 =
-                "e9746b7fa618f15d22e3098e06b35083977aff8fe0594628baae282769a2ceff";
-            };
-
-            meta = {
-              description = ''Base58 encoding/decoding for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jrdnull/base58";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base58 = base58_0_1_0;
-
-    base58check_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "base58check";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "base58check";
-              version = "0.1.0";
-              sha256 =
-                "29617beb2aaffe27ef40d7232a60beb5ad208667df4f2b619552367698cd4ca4";
-            };
-
-            meta = {
-              description = ''Elixir implementation of Base58Check encoding
-                            meant for Bitcoin '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gjaldon/base58check";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base58check = base58check_0_1_0;
-
-    base62_1_2_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, custom_base_0_2_0
-        }:
-          buildMix ({
-            name = "base62";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "base62";
-              version = "1.2.0";
-              sha256 =
-                "14aac55c7978b7a710906ee29df65ba1cee5af2d43efe236c96311696618088b";
-            };
-            beamDeps  = [ custom_base_0_2_0 ];
-
-            meta = {
-              description = ''Base62 encoder/decoder in pure Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/base62";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base62 = base62_1_2_0;
-
-    base64url_0_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "base64url";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "base64url";
-              version = "0.0.1";
-              sha256 =
-                "fab09b20e3f5db886725544cbcf875b8e73ec93363954eb8a1a9ed834aa8c1f9";
-            };
-
-            meta = {
-              description = ''URL safe base64-compatible codec'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dvv/base64url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base64url = base64url_0_0_1;
-
-    basex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "basex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "basex";
-              version = "0.2.1";
-              sha256 =
-                "190fcbb9d03fe325aee3bc1eea67e663ace1209d4515518c25098e307070f551";
-            };
-
-            meta = {
-              description = ''BaseX - arbitrary alphabet encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/basex_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basex = basex_0_2_1;
-
-    basho_poolboy_0_8_1_p3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "basho_poolboy";
-            version = "0.8.1-p3";
-            src = fetchHex {
-              pkg = "basho_poolboy";
-              version = "0.8.1-p3";
-              sha256 =
-                "8e2ead104eaa80bbfcf5c688774f4ddab73733cab79230e78d097c7ba880c42d";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/riak_sysmon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basho_poolboy = basho_poolboy_0_8_1_p3;
-
-    basho_stats_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "basho_stats";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "basho_stats";
-              version = "1.0.3";
-              sha256 =
-                "d739e733b1c8afcaa467289fca50221753fc8cde6e7b53a79b67f98a2a261f5a";
-            };
-
-            meta = {
-              description = ''Basic Erlang statistics library'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/basho/basho_stats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basho_stats = basho_stats_1_0_3;
-
-    batcher_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "batcher";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "batcher";
-              version = "0.0.1";
-              sha256 =
-                "738a930f809603dc21e6612c1df38cbc452887ddf34670d20f05e136231f3671";
-            };
-
-            meta = {
-              longDescription = ''Process a backlog of items after it has grown
-                                to a certain size or a defined time has
-                                passed'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/behe/batcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    batcher = batcher_0_0_1;
-
-    battlenet_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "battlenet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "battlenet";
-              version = "0.0.2";
-              sha256 =
-                "cdd4e182da5a2db478e0da9ac1a467fc8f2b8ec638e3e38dd7962ff3fe8c9342";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir library for the Battle.net API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cazrin/battlenet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    battlenet = battlenet_0_0_2;
-
-    bbmustache_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.0.3";
-              sha256 =
-                "d79d9f3f90d14e20bda0c801063801ce9b72b71f5831d70b8d36065fb1a52208";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache_1_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.0.4";
-              sha256 =
-                "03b0d47db66e86df993896dce7578d7e4aae5f84636809b45fa8a3e34ee59b12";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.1.0";
-              sha256 =
-                "aa22469836bb8a9928ad741bdd2038d49116228bfbe0c2d6c792e1bdd4b256d9";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache = bbmustache_1_1_0;
-
-    bcrypt_0_5_0_p3a = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bcrypt";
-            version = "0.5.0-p3a";
-            src = fetchHex {
-              pkg = "bcrypt";
-              version = "0.5.0-p3a";
-              sha256 =
-                "492decdc633399b356a3bbfe8279c10a49b1040fc082c8cbf2d30b41ff88f310";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''An Erlang wrapper (NIF or port program) for the
-                            OpenBSD password scheme, bcrypt.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/chef/erlang-bcrypt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bcrypt = bcrypt_0_5_0_p3a;
-
-    beam_analyzer_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "beam_analyzer";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "beam_analyzer";
-              version = "0.0.3";
-              sha256 =
-                "acfb7b4d92c1147401f2de8e0fe5ad33236814a57fdcfbcb184e9292e43c7d27";
-            };
-
-            meta = {
-              description = ''Get information about Erlang/Elixir modules and
-                            BEAM files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyates/beam_analyzer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    beam_analyzer = beam_analyzer_0_0_3;
-
-    bear_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bear";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "bear";
-              version = "0.8.3";
-              sha256 =
-                "0a04ce4702e00e0a43c0fcdd63e38c9c7d64dceb32b27ffed261709e7c3861ad";
-            };
-
-            meta = {
-              description = ''Statistics functions for Erlang'';
-
-              homepage = "https://github.com/puzza007/bear";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bear = bear_0_8_3;
-
-    beersearch_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "beersearch";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "beersearch";
-              version = "0.0.6";
-              sha256 =
-                "d830a7e1a6384d62b1dca430b6ab7dd99467f4ca1555a2ce7fed9422c3c86c6a";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_8_1 ];
-
-            meta = {
-              description = ''A simple Elixir module that searches for beers on
-                            Untappd.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nicksergeant/elixir-beersearch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    beersearch = beersearch_0_0_6;
-
-    bees_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          jsx_2_8_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bees";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "bees";
-              version = "0.0.2";
-              sha256 =
-                "3b6c0eee9359a87aff7b7e625a571a646d1932f8b4835fc18cc14f07cf0810fc";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 jsx_2_8_0 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''Foursquare API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danieltomlinson/bees";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bees = bees_0_0_2;
-
-    belixir_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "belixir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "belixir";
-              version = "0.2.0";
-              sha256 =
-                "1d4cea63bf593f8ccdbad32270158704d65aa6f88ee2df48422aced2566465e3";
-            };
-
-            meta = {
-              longDescription = ''Benchmark ips tool for elixir-lang. Runs
-                                given codes in given seconds and compares
-                                them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meinac/belixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    belixir = belixir_0_2_0;
-
-    belvedere_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "belvedere";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "belvedere";
-              version = "0.0.1";
-              sha256 =
-                "b222f5c3ab855655b7950681542e2c3941c52533bd8b6cbb08be60f91427113e";
-            };
-
-            meta = {
-              description = ''An example Elixir project with CircleCI, Docker,
-                            Dialyzer integration.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "http://nirvana.io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    belvedere = belvedere_0_0_1;
-
-    benchee_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchee";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchee";
-              version = "0.2.0";
-              sha256 =
-                "892b4463b3add8cb0a1c68fc45e03c6297895979bd0c77283460bad90d029dc3";
-            };
-
-            meta = {
-              longDescription = ''Versatile (micro) benchmarking that is
-                                extensible. Get statistics such as: average,
-                                iterations per second, standard deviation and
-                                the median.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PragTob/benchee";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchee = benchee_0_2_0;
-
-    benchee_csv_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          csv_1_4_1,
-          benchee_0_2_0
-        }:
-          buildMix ({
-            name = "benchee_csv";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchee_csv";
-              version = "0.2.0";
-              sha256 =
-                "43a864f1be2e9755a7cfed9e7a26aec466887773a76d1a9ef04f8737fe5b3968";
-            };
-            beamDeps  = [ csv_1_4_1 benchee_0_2_0 ];
-
-            meta = {
-              description = ''Get CSV from your benchee benchmarks to them into
-                            graphs or whatever!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PragTob/benchee_csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchee_csv = benchee_csv_0_2_0;
-
-    benchfella_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchfella";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "benchfella";
-              version = "0.3.2";
-              sha256 =
-                "322270993f38246b02c8a98d64491a2b46a4efef5667a479d55a49ec53ea6dcf";
-            };
-
-            meta = {
-              description = ''Microbenchmarking tool for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/benchfella";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchfella = benchfella_0_3_2;
-
-    benchmark_ips_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchmark_ips";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchmark_ips";
-              version = "0.2.0";
-              sha256 =
-                "7c55c4317dae5b8dae6a655e25a7aa491acd076e36efb9c9852a789a3592b703";
-            };
-
-            meta = {
-              description = ''A tool to run benchmarks to determine iteration
-                            per second.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mxhold/benchmark_ips";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchmark_ips = benchmark_ips_0_2_0;
-
-    bencode_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bencode";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bencode";
-              version = "0.3.0";
-              sha256 =
-                "98d397fd0a13ba47bfb51927fede25c780539d38946e6d53c6b83c998636a002";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''A complete and correct Bencode encoder and
-                                decoder written in pure Elixir. The decoder will
-                                return the info hash with along with the decoded
-                                data, and the encoder is implemented as a
-                                protocol, allowing any data structure to be
-                                bcode encoded.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencode_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bencode";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "bencode";
-              version = "0.3.1";
-              sha256 =
-                "a66ba85941c0115fae4f96309d6a1eeeee12571aef72a53bf2c990f236b895be";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''A complete and correct Bencode encoder and
-                                decoder written in pure Elixir. The decoder will
-                                return the info hash with along with the decoded
-                                data, and the encoder is implemented as a
-                                protocol, allowing any data structure to be
-                                bcode encoded.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencode = bencode_0_3_1;
-
-    bencodex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bencodex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bencodex";
-              version = "1.0.0";
-              sha256 =
-                "a70c319eed907d4d0520bf2ed6eedc77cbf1312274b144341dc4ecc74136124d";
-            };
-
-            meta = {
-              description = ''Encoder and decoder for the bencode format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/patrickgombert/bencodex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencodex = bencodex_1_0_0;
-
-    bento_0_9_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "bento";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "bento";
-              version = "0.9.2";
-              sha256 =
-                "8be4312c4eacf57ef0c319f5ddd0b31872b510dc8ca02c64206ee648ec0f91d1";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir Bencoding
-                            library.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/folz/bento";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bento = bento_0_9_2;
-
-    bert_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bert";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bert";
-              version = "0.1.0";
-              sha256 =
-                "2a561521ec3529b248658a3e2d3d4bfe6729b0ab8291c701bf15ef413eda1506";
-            };
-
-            meta = {
-              description = ''BERT Encoder/Decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/bert.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bert = bert_0_1_0;
-
-    big_query_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          jose_1_4_2,
-          httpoison_0_8_2
-        }:
-          buildMix ({
-            name = "big_query";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "big_query";
-              version = "0.0.5";
-              sha256 =
-                "f15795ee81245699d2d7a5cbf667637cbfc56a6b52143cacdfa145c0c4c11fbf";
-            };
-            beamDeps  = [ poison_2_1_0 jose_1_4_2 httpoison_0_8_2 ];
-
-            meta = {
-              description = ''A Google BigQuery API client.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/companykitchen/big_query";
-            };
-          } // packageOverrides)
-      ) {};
-
-    big_query = big_query_0_0_5;
-
-    bigflake_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base62_1_2_0 }:
-          buildMix ({
-            name = "bigflake";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bigflake";
-              version = "0.3.0";
-              sha256 =
-                "18505f0ca3a7b77fe267840b9172ec5000e118587cb36d148d73c5e642c400a5";
-            };
-            beamDeps  = [ base62_1_2_0 ];
-
-            meta = {
-              description = ''128-bit, k-ordered, conflict-free IDs Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevedomin/bigflake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bigflake = bigflake_0_3_0;
-
-    billiards_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "billiards";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "billiards";
-              version = "0.0.1";
-              sha256 =
-                "5b8d8eab12e35c0c7eff5be02a4adf0a7aa4cf10688a5faeec9b10f2c2f04046";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    billiards = billiards_0_0_1;
-
-    bin_format_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bin_format";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bin_format";
-              version = "0.0.1";
-              sha256 =
-                "f73b9d1691499964d248b4a19b56284b2c51652015a63b77c2688b92cb55d66a";
-            };
-
-            meta = {
-              longDescription = ''Automatically generate the boilerplate to
-                                convert between binaries and Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/willpenington/bin_format";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bin_format = bin_format_0_0_1;
-
-    bing_translator_0_2_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "bing_translator";
-            version = "0.2.7";
-            src = fetchHex {
-              pkg = "bing_translator";
-              version = "0.2.7";
-              sha256 =
-                "6dc4e9680f93ebc3f63bce85cbadf592145e635279dc23da87b2cb83d93b08ff";
-            };
-            beamDeps  = [
-                          timex_2_1_6 poison_1_5_2 httpoison_0_8_3 floki_0_8_1
-                        ];
-
-            meta = {
-              longDescription = ''Translate strings using the Bing HTTP API.
-                                Requires that you have a Client ID and Secret.
-                                See README.md for information.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/bing_translator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bing_translator = bing_translator_0_2_7;
-
-    binstructor_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "binstructor";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "binstructor";
-              version = "0.0.1";
-              sha256 =
-                "ab6e619628d4308a47744dcf9dd0c9ff48f4a5cc5e00ce6bb3852d92e654ba74";
-            };
-
-            meta = {
-              longDescription = ''Automatically generate the boilerplate to
-                                convert between binaries and Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/willpenington/binstructor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    binstructor = binstructor_0_0_1;
-
-    biometrics_facade_1_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "biometrics_facade";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "biometrics_facade";
-              version = "1.2.0";
-              sha256 =
-                "b0b40c11fc884229936e6547a31c44eae3fedea0bd47355e33153c8b8c7dd81b";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''An API facade for a private biometrics
-                            service.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    biometrics_facade = biometrics_facade_1_2_0;
-
-    bit_field_set_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bit_field_set";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bit_field_set";
-              version = "0.1.0";
-              sha256 =
-                "63a9c8eb05dc0f9cd79590d718db56ccc1b41cd48d91457d94754a44a2663044";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''Store and manipulate a set of bit flags,
-                                mostly used for syncing the state between peers
-                                in a peer to peer network, such as
-                                BitTorrent.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bit_field_set";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bit_field_set = bit_field_set_0_1_0;
-
-    bitcask_2_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bitcask";
-            version = "2.0.2";
-            src = fetchHex {
-              pkg = "bitcask";
-              version = "2.0.2";
-              sha256 =
-                "666bd79d17faabd62a626ed6fc98176b818266f7bb9639d76244f003ed5b2fe2";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''Bitcask key value store'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/bitcask";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitcask = bitcask_2_0_2;
-
-    bitfield_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bitfield";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bitfield";
-              version = "1.0.0";
-              sha256 =
-                "0f1ca3f3e9f8661cc2686561717c326309541f95e4f82f7b7d927e150f5f7b5a";
-            };
-
-            meta = {
-              description = ''Simple bitfields for erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/bitfield.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitfield = bitfield_1_0_0;
-
-    bitmap_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bitmap";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bitmap";
-              version = "1.0.0";
-              sha256 =
-                "c33ca1dd28d6979e61f3517140ef71e80f8ded4029debabbb6482ef650384b34";
-            };
-
-            meta = {
-              longDescription = ''Package to help you create and work with
-                                bitmaps
-                                (https://en.wikipedia.org/wiki/Bitmap)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hashd/bitmap-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitmap = bitmap_1_0_0;
-
-    blacksmith_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, faker_0_6_0 }:
-          buildMix ({
-            name = "blacksmith";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "blacksmith";
-              version = "0.1.3";
-              sha256 =
-                "d070295cac13fef8d05cc50b900413e8e6dd863f4958bd55986b56d3874a20b4";
-            };
-            beamDeps  = [ faker_0_6_0 ];
-
-            meta = {
-              description = ''Elixir fake data generation for testing and
-                            development'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/batate/blacksmith";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blacksmith = blacksmith_0_1_3;
-
-    blaguth_1_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "blaguth";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "blaguth";
-              version = "1.2.1";
-              sha256 =
-                "2900dc5b7c6f7810bdf5e0ede8749632997811ae5b72ada34f59699b4310a65a";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Basic Access Authentication in Plug
-                            applications.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/blaguth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blaguth = blaguth_1_2_1;
-
-    blake2_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blake2";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "blake2";
-              version = "0.1.0";
-              sha256 =
-                "5d1ac81724568d173ef9fa198b37abe39eb54ecd1f4871d8c62aabaf5d1ace25";
-            };
-
-            meta = {
-              description = ''BLAKE2 hash functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/blake2_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blake2 = blake2_0_1_0;
-
-    blanket_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blanket";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "blanket";
-              version = "0.3.1";
-              sha256 =
-                "9d7f382c1254b83ba3334d143b942afd4a03c0ae1d32f7fee5fd3de184f4c016";
-            };
-
-            meta = {
-              description = ''Blanket covers your tables ! Don`t loose your ETS
-                            tables with Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/blanket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blanket = blanket_0_3_1;
-
-    blast_furnace_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blast_furnace";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "blast_furnace";
-              version = "0.0.1";
-              sha256 =
-                "361bff3352803779f481ce56662228825c74ef45d34d05c79df5f56a37a2adb2";
-            };
-
-            meta = {
-              description = ''Elixir port of invaluable blast furnace
-                            functionality'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/markryall/blast_furnace_exs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blast_furnace = blast_furnace_0_0_1;
-
-    blaze_cloud_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "blaze_cloud";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "blaze_cloud";
-              version = "0.0.1";
-              sha256 =
-                "c5a26f194691d7c40a008c5aded034ca0a43d4fa6a9173952333479cf2661b2b";
-            };
-            beamDeps  = [ poison_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir Library for Backblaze B2 Cloud Storage.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PerishableDave/blaze_cloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blaze_cloud = blaze_cloud_0_0_1;
-
-    blazon_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blazon";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "blazon";
-              version = "0.2.0";
-              sha256 =
-                "ef63180cafb9241602feb79155919e18eebd8da62e79544e4dae4273522f58c7";
-            };
-
-            meta = {
-              description = ''Declarative abstract serializers.'';
-              license = stdenv.lib.licenses.publicDomain;
-              homepage = "https://github.com/mtwilliams/blazon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blazon = blazon_0_2_0;
-
-    blockchain_info_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "blockchain_info";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "blockchain_info";
-              version = "0.0.2";
-              sha256 =
-                "81593db73e409e008a785798ee7e5482d4274fd5e748e8d74f458c1e187e822b";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''WIP BlockchainInfo API wrapper for Elixir.
-                                Provides access to bitcoin blockchain data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cyberpunk-ventures/blockchain_info_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blockchain_info = blockchain_info_0_0_2;
-
-    blocking_queue_1_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blocking_queue";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "blocking_queue";
-              version = "1.3.0";
-              sha256 =
-                "10f2b942a29f83c3bfef6285096d7f42028201c89f317c731e708b528a7fc17d";
-            };
-
-            meta = {
-              longDescription = ''BlockingQueue is a simple queue implemented
-                                as a GenServer. It has a fixed maximum length
-                                established when it is created.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joekain/BlockingQueue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blocking_queue = blocking_queue_1_3_0;
-
-    bloodhound_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bloodhound";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "bloodhound";
-              version = "0.1.1";
-              sha256 =
-                "6aaab638fe90fc3714b650b659df774c7cdb12d098fee3910952e0a0f8fcd6ec";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An ElasticSearch library for Elixir that can be
-                            easily integrated with Ecto'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ianwalter/bloodhound";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloodhound = bloodhound_0_1_1;
-
-    bloom_filter_1_0_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, math_0_2_0, fnv_0_3_2
-        }:
-          buildMix ({
-            name = "bloom_filter";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "bloom_filter";
-              version = "1.0.1";
-              sha256 =
-                "324d819a3901c0318e9cea51cc4a5555cc15ad6243c7150676e6e1b76d7aa081";
-            };
-            beamDeps  = [ math_0_2_0 fnv_0_3_2 ];
-
-            meta = {
-              longDescription = ''Bloom Filter implementation in Elixir. Bloom
-                                filters are probabilistic data structures
-                                designed to efficiently tell you whether an
-                                element is present in a set.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Leventhan/bloom_filter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloom_filter = bloom_filter_1_0_1;
-
-    bloomex_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bloomex";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "bloomex";
-              version = "1.0.1";
-              sha256 =
-                "2d8424142550f226043e4e6fc05c10552022dfb8f5fe3e5f131252c8da45f6e9";
-            };
-
-            meta = {
-              description = ''Bloomex is a pure Elixir implementation of
-                            Scalable Bloom Filters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/bloomex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloomex = bloomex_1_0_1;
-
-    blume_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "blume";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "blume";
-              version = "0.1.0";
-              sha256 =
-                "8a87a43607d9dab1e3138052c18355bc1fc2a98bbcc4cb1657494c395aca0fd6";
-            };
-
-            meta = {
-              description = ''Pure erlang bloom Filters'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    blume = blume_0_1_0;
-
-    bmark_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bmark";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "bmark";
-              version = "1.0.3";
-              sha256 =
-                "243b04d2e2431d01d93f442896d5e6ee52396782c161ef0a0e4f51a353393d93";
-            };
-
-            meta = {
-              longDescription = ''A benchmarking tool for Elixir with a focus
-                                on comparing results with confidence.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joekain/bmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bmark = bmark_1_0_3;
-
-    bmfont_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tonic_0_0_1 }:
-          buildMix ({
-            name = "bmfont";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bmfont";
-              version = "0.0.1";
-              sha256 =
-                "5b52d65c0345e64b2a72c54641593de19dcd33b0e8af6c80ebc29485a98bd279";
-            };
-            beamDeps  = [ tonic_0_0_1 ];
-
-            meta = {
-              description = ''A BMFont file format parser'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/BMFontEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bmfont = bmfont_0_0_1;
-
-    bookingsync_api_client_v3_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "bookingsync_api_client_v3";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bookingsync_api_client_v3";
-              version = "0.0.1";
-              sha256 =
-                "7f0625828f7c38dd37f5ea0f2054b5b902851dbc9679bd354bb928a1f66c5db0";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''Elixir BookingSync
-                                (https://www.bookingsync.com) API v3 client.
-                                Find more at:
-                                http://developers.bookingsync.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/Azdaroth/ex_bookingsync_api_client_v3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bookingsync_api_client_v3 = bookingsync_api_client_v3_0_0_1;
-
-    botan_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "botan";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "botan";
-              version = "0.1.2";
-              sha256 =
-                "43541b5c52c91e46295a015f58857c347c85a7753d7c3cd3a1f835b25fdedaa9";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for Botan.io'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mendab1e/exBotan";
-            };
-          } // packageOverrides)
-      ) {};
-
-    botan = botan_0_1_2;
-
-    bowfish_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bowfish";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bowfish";
-              version = "0.1.0";
-              sha256 =
-                "fcf3cccddd5d39adf5c5aceae924854d500f99bb45af97e118695db1cb633f67";
-            };
-
-            meta = {
-              longDescription = ''A fun, positional pipe operator macro >>> for
-                                when piping to the first arg just won`t cut
-                                it.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/coconaut/bowfish";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bowfish = bowfish_0_1_0;
-
-    braintree_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "braintree";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "braintree";
-              version = "0.5.0";
-              sha256 =
-                "9610f2c63e76732e733ee7a97d6971fb0698ae7425cb9b3faba83acfa8734fac";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Native Braintree client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sorentwo/braintree-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    braintree = braintree_0_5_0;
-
-    braise_0_3_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "braise";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "braise";
-              version = "0.3.4";
-              sha256 =
-                "10325449af9365e886b2731a7709efded8e3443253c10c9af7a50fcfe5597707";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''A library that converts JSON Schema into ember
-                            models/adapters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/IoraHealth/braise";
-            };
-          } // packageOverrides)
-      ) {};
-
-    braise = braise_0_3_4;
-
-    brcpfcnpj_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "brcpfcnpj";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "brcpfcnpj";
-              version = "0.1.0";
-              sha256 =
-                "19ba4d572c93c70d571a36d6ada2fca4d03330d8f96c6b7d8e4c47fa9f809c90";
-            };
-
-            meta = {
-              longDescription = ''Valida Cpf/Cnpj e Formatar em String caso
-                                necessario Number format and Validate, to the
-                                documents brazilians (CPF/CNPJ)'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/williamgueiros/Brcpfcnpj";
-            };
-          } // packageOverrides)
-      ) {};
-
-    brcpfcnpj = brcpfcnpj_0_1_0;
-
-    breadcrumble_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "breadcrumble";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "breadcrumble";
-              version = "1.0.3";
-              sha256 =
-                "f1d3ec0d3bf74670c58d4ff6c1d10cad0757c003b56ba9f77e3d76a05ac68be3";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Elixir port of Breadcrumble library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/breadcrumble_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    breadcrumble = breadcrumble_1_0_3;
-
-    briefly_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "briefly";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "briefly";
-              version = "0.3.0";
-              sha256 =
-                "c6ebf8fc3dcd4950dd10c03e953fb4f553a8bcf0ff4c8c40d71542434cd7e046";
-            };
-
-            meta = {
-              description = ''Simple, robust temporary file support'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/CargoSense/briefly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    briefly = briefly_0_3_0;
-
-    brighterx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "brighterx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "brighterx";
-              version = "0.0.2";
-              sha256 =
-                "f05d90a6e01e6244aa0adfc68e9a5c92bf2a3d740f3093929557c043fc6b87b8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple brighterlink api implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Brightergy/brighterx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    brighterx = brighterx_0_0_2;
-
-    browser_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "browser";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "browser";
-              version = "0.1.3";
-              sha256 =
-                "e009b1af32a665393eb3e81b812e87f29f9e606426e30ae73507bf5c4c592af1";
-            };
-
-            meta = {
-              description = ''Browser detection library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-browser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    browser = browser_0_1_3;
-
-    bstr_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bstr";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bstr";
-              version = "0.3.0";
-              sha256 =
-                "0fb4e05619663d48dabcd21023915741277ba392f2a5710dde7ab6034760284d";
-            };
-
-            meta = {
-              description = ''Erlang library that uses binaries as strings'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/jcomellas/bstr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bstr = bstr_0_3_0;
-
-    buffer_0_3_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "buffer";
-            version = "0.3.6";
-            src = fetchHex {
-              pkg = "buffer";
-              version = "0.3.6";
-              sha256 =
-                "409f4d725b69bd36635ec18df9e2c3b6e78ef6ebc14a0e55a98dc58b4c65b7c3";
-            };
-
-            meta = {
-              description = ''Provide read and write buffers for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adrienmo/buffer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    buffer = buffer_0_3_6;
-
-    bugsnag_1_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bugsnag";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "bugsnag";
-              version = "1.2.0";
-              sha256 =
-                "23c6e8eb827ec1294684b5fe788d4d1cd670804ddfb74bb2bd427aed44a68f05";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir interface to the Bugsnag API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/bugsnag-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bugsnag = bugsnag_1_2_0;
-
-    build_client_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "build_client";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "build_client";
-              version = "0.0.1";
-              sha256 =
-                "ee28ca64db404b76316fa578f30888b7725cbde91d6f89fa7dfc384a32b9c095";
-            };
-
-            meta = {
-              description = ''AX Deployment Client'';
-
-              homepage = "https://github.com/dapdizzy/build_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    build_client = build_client_0_0_1;
-
-    bunt_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bunt";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "bunt";
-              version = "0.1.6";
-              sha256 =
-                "4fb7b2f7b04af13cf210b132f8d10db52d4a57d36cb974e8025d7fdb12ca97fc";
-            };
-
-            meta = {
-              description = ''256 color ANSI coloring in the terminal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/bunt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bunt = bunt_0_1_6;
-
-    bus_bar_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bus_bar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bus_bar";
-              version = "0.0.1";
-              sha256 =
-                "1781eebe238d7106cecaf947062684a0658033898282a4a0ab15f037a92ab985";
-            };
-
-            meta = {
-              description = ''A simple event bus.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JonRowe/busbar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bus_bar = bus_bar_0_0_1;
-
-    bypass_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "bypass";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "bypass";
-              version = "0.5.1";
-              sha256 =
-                "bbff87f453cd98a81c9caeb305e5bcee25fe4fe31089cb19127a36dd224c2454";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Bypass provides a quick way to create a
-                                custom plug that can be put in place instead of
-                                an actual HTTP server to return prebaked
-                                responses to client requests. This is most
-                                useful in tests, when you want to create a mock
-                                HTTP server and test how your HTTP client
-                                handles different types of responses from the
-                                server.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pspdfkit-labs/bypass";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bypass = bypass_0_5_1;
-
-    cachex_1_1_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, gen_delegate_1_0_0
-        }:
-          buildMix ({
-            name = "cachex";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "cachex";
-              version = "1.1.1";
-              sha256 =
-                "b9f179ee6f61cbaec9d4be604b0001ff035158923aa4d53b56de495ebf025683";
-            };
-            beamDeps  = [ gen_delegate_1_0_0 ];
-
-            meta = {
-              description = ''Powerful in-memory key/value storage for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/cachex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cachex = cachex_1_1_1;
-
-    calendar_0_12_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.12.4";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.12.4";
-              sha256 =
-                "1df7cc23b7dfa3228498fff3bd298495d8431433be94db62a60e93ffa455a060";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calendar_0_13_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.13.2";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.13.2";
-              sha256 =
-                "5be3a69db1a177ed39d24d582ac7be3dab59ee8aeae41ee17c36a263a9818460";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calendar_0_14_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.14.2";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.14.2";
-              sha256 =
-                "8b76c5bcfbe77b454c4e38696ea0fb77d52fc212e377a4299884073012960f27";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "calliope";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "calliope";
-              version = "0.3.0";
-              sha256 =
-                "0a0ccf87616459c36ff1f1551701da38485eb601500e74cffd7e42fe9862f74d";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing haml templates.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/calliope";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "calliope";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "calliope";
-              version = "0.4.0";
-              sha256 =
-                "4b5d6c87da9f635e8596f9ebb63f51aa10c6884a1898b308219281c8a897ff3a";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing haml templates.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/calliope";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope = calliope_0_4_0;
-
-    campminder_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "campminder";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "campminder";
-              version = "0.1.0";
-              sha256 =
-                "bd54e1c20b5cf566f28a827bcc0e32adb4aaf86206f4d9f90415adee2e9e5189";
-            };
-            beamDeps  = [
-                          timex_2_1_6 poison_2_1_0 httpoison_0_8_3 hackney_1_6_0
-                        ];
-
-            meta = {
-              description = ''A CampMinder API library for Elixir.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/GimliLongBow/campminder-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    campminder = campminder_0_1_0;
-
-    cartel_0_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          httpotion_2_2_2,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "cartel";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "cartel";
-              version = "0.6.0";
-              sha256 =
-                "04615b867d257b6cb9a32da568666f9e490b80f020a069be38fe261a60734fb8";
-            };
-            beamDeps  = [ poolboy_1_5_1 httpotion_2_2_2 poison_2_1_0 ];
-
-            meta = {
-              description = ''Multi platform, multi app push notifications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucacorti/cartel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cartel = cartel_0_6_0;
-
-    cartographer_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cartographer";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cartographer";
-              version = "0.0.1";
-              sha256 =
-                "8f070615ca221b94a22e846303a3b9cc7ae31c2dea5c3d8f39a116f0d8c4b18f";
-            };
-
-            meta = {
-              description = ''Geohash algorithm implementation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/afronski/cartographer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cartographer = cartographer_0_0_1;
-
-    cassette_1_2_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exml_0_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cassette";
-            version = "1.2.4";
-            src = fetchHex {
-              pkg = "cassette";
-              version = "1.2.4";
-              sha256 =
-                "945a595edbaeaab781910bba0defedda2c6fc40fc5b35fdd7214dfae8c375137";
-            };
-            beamDeps  = [ exml_0_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A CAS client and validation library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/locaweb/elixir-cassette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cassette = cassette_1_2_4;
-
-    cassette_plug_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cassette_1_2_4
-        }:
-          buildMix ({
-            name = "cassette_plug";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "cassette_plug";
-              version = "1.0.1";
-              sha256 =
-                "7c6ca0bacb3660efd1367b95c8a2d70e485e2842b9bfc87bdeb85c33882dc164";
-            };
-            beamDeps  = [ plug_1_1_5 cassette_1_2_4 ];
-
-            meta = {
-              description = ''An auth Plug using Cassette'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/locaweb/cassette-plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cassette_plug = cassette_plug_1_0_1;
-
-    caylir_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "caylir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "caylir";
-              version = "0.2.0";
-              sha256 =
-                "b3699171f2bef699ce1968394cb2aee3b5ec7db529a395d8bf7d85163067f888";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_1_5_2 hackney_1_6_0 ];
-
-            meta = {
-              description = ''Cayley driver for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/caylir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    caylir = caylir_0_2_0;
-
-    cep_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          codepagex_0_1_2
-        }:
-          buildMix ({
-            name = "cep";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cep";
-              version = "0.0.1";
-              sha256 =
-                "f76e67e1d989fc2edbfbd265f79e4a33a0aa7f9ff06934a1f2d49903df72b79f";
-            };
-            beamDeps  = [
-                          sweet_xml_0_6_1
-                          poolboy_1_5_1
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          codepagex_0_1_2
-                        ];
-
-            meta = {
-              longDescription = ''A package to query Brazilian CEP codes. Has
-                                support for multiple source APIs (Correios,
-                                ViaCep, Postmon, etc). It can query one specific
-                                source or query until one source returns a valid
-                                result.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/douglascamata/cep";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cep = cep_0_0_1;
-
-    certifi_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "certifi";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "certifi";
-              version = "0.3.0";
-              sha256 =
-                "42ae85fe91c038a634a5fb8d0c77f4fc581914c508f087c7138e9366a1517f6a";
-            };
-
-            meta = {
-              description = ''An OTP library'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/certifi/erlang-certifi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    certifi_0_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "certifi";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "certifi";
-              version = "0.4.0";
-              sha256 =
-                "1cc233bee2d6990e7b0ff4c5824d7f401edda8a3cfad04d3328e35ad97de7611";
-            };
-
-            meta = {
-              description = ''An OTP library'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/certifi/erlang-certifi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    certifi = certifi_0_4_0;
-
-    cf_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cf";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "cf";
-              version = "0.1.2";
-              sha256 =
-                "c86f56bca74dd3616057b28574d920973fe665ecb064aa458dc6a2447f3f4924";
-            };
-
-            meta = {
-              description = ''Terminal colour helper'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cf_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cf";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "cf";
-              version = "0.2.1";
-              sha256 =
-                "baee9aa7ec2dfa3cb4486b67211177caa293f876780f0b313b45718edef6a0a5";
-            };
-
-            meta = {
-              description = ''Terminal colour helper'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cf = cf_0_2_1;
-
-    chacha20_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chacha20";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "chacha20";
-              version = "0.3.2";
-              sha256 =
-                "26882c84da45dd1158a0249031f5a67329a6c4cd89e075d409324eee30444410";
-            };
-
-            meta = {
-              description = ''Chacha20 symmetric stream cipher'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/chacha20_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chacha20 = chacha20_0_3_2;
-
-    changeset_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, defmemo_0_1_1 }:
-          buildMix ({
-            name = "changeset";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "changeset";
-              version = "0.2.2";
-              sha256 =
-                "81aebf1c232620193fb4eab90962e4a69bbb84709fa4296bdc5593578d7d2758";
-            };
-            beamDeps  = [ defmemo_0_1_1 ];
-
-            meta = {
-              description = ''A package for calculating between-list edit
-                            distances.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erwald/elixir-changeset";
-            };
-          } // packageOverrides)
-      ) {};
-
-    changeset = changeset_0_2_2;
-
-    changex_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "changex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "changex";
-              version = "0.1.1";
-              sha256 =
-                "e087a4c3cc8eb3e94eba6050c5b1cc24dba3427eb4e4e15cebdb4000582c9851";
-            };
-
-            meta = {
-              description = ''Automatically generate a CHANGELOG.md file based
-                            on git commit history. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Gazler/changex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    changex = changex_0_1_1;
-
-    chaos_spawn_0_7_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_0_19_5,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "chaos_spawn";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "chaos_spawn";
-              version = "0.7.0";
-              sha256 =
-                "c4c8e985e750706fb4351d6eb036b513a4b7ea3e689a9aecd424251991f21eaa";
-            };
-            beamDeps  = [ timex_0_19_5 exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''Providing tools to randomly kill proceses.
-                                With the goal of creating robust supevision
-                                trees.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/chaos-spawn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chaos_spawn = chaos_spawn_0_7_0;
-
-    chartkick_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_1_5_2
-        }:
-          buildMix ({
-            name = "chartkick";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "chartkick";
-              version = "0.0.2";
-              sha256 =
-                "6a4f4170b162117f3be9d0a9d98b63b58da8ec2cea4e29155d14441a0b12ac6c";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_1_5_2 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    chartkick = chartkick_0_0_2;
-
-    chash_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "chash";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "chash";
-              version = "0.1.1";
-              sha256 =
-                "607d369e56016a51218c42f2692312cd116834193805c99debbe02889013c84a";
-            };
-
-            meta = {
-              description = ''Riaks CHash implementation'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/project-fifo/chash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chash = chash_0_1_1;
-
-    chinese_translation_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "chinese_translation";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "chinese_translation";
-              version = "0.1.0";
-              sha256 =
-                "d5e4f59421bad59e465322ce7a8f366179e5f6a732d7e06435e8a7c01f42e7ab";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''ChineseTranslation provides traditional
-                                chinese <-> simplified chinese translation, as
-                                well as pinyin translation and slugify for
-                                chinese phrases/characters. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tyrchen/chinese_translation";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chinese_translation = chinese_translation_0_1_0;
-
-    chronos_0_3_9 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chronos";
-            version = "0.3.9";
-            src = fetchHex {
-              pkg = "chronos";
-              version = "0.3.9";
-              sha256 =
-                "973e1273088677a12afc1a72aad78fe5070fb0ad6f9b1c648d79dd251292dee4";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library for handling dates. It can
-                                be used to quickly determine a date. In a human
-                                readable format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/chronos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chronos_1_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chronos";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "chronos";
-              version = "1.5.1";
-              sha256 =
-                "015d881b1d095b53f626dc32f8db05e5faca8635b199d3cc2022a057c469904b";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library for handling dates. It can
-                                be used to quickly determine a date. In a human
-                                readable format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/chronos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chronos = chronos_1_5_1;
-
-    chunky_svg_0_0_4 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, xml_builder_0_0_8
-        }:
-          buildMix ({
-            name = "chunky_svg";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "chunky_svg";
-              version = "0.0.4";
-              sha256 =
-                "c8d7212148d72b03b6ed102410017a2cf77987a09fb889320fc381d383e68c75";
-            };
-            beamDeps  = [ xml_builder_0_0_8 ];
-
-            meta = {
-              description = '' A library for drawing things with SVG '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/chunky_svg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chunky_svg = chunky_svg_0_0_4;
-
-    cidr_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cidr";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cidr";
-              version = "1.0.0";
-              sha256 =
-                "3bffa78af48cfbcd89461144bd2e1990b4f2631a8328c42cb033fa71c14b8f46";
-            };
-
-            meta = {
-              description = ''Classless Inter-Domain Routing (CIDR) for
-                            Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/c-rack/cidr-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cidr = cidr_1_0_0;
-
-    cirru_parser_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cirru_parser";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cirru_parser";
-              version = "0.0.1";
-              sha256 =
-                "259f533ee97805c50eb12fa8472b5553eaca5bfd58216d54a734dfa1c4d0c678";
-            };
-
-            meta = {
-              description = ''Cirru Parser in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Cirru/parser.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cirru_parser = cirru_parser_0_0_1;
-
-    ckan_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ckan";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ckan";
-              version = "0.0.2";
-              sha256 =
-                "471a58f1d38df7a6ff36af9a1e9d4c6cb9d310c5acb2db95ff3184717d7762a0";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''A small library for interacting with CKAN
-                            (ckan.org) instances'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/rossjones/ckan_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ckan = ckan_0_0_2;
-
-    clicksign_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          cowboy_1_0_4,
-          bypass_0_5_1
-        }:
-          buildMix ({
-            name = "clicksign";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "clicksign";
-              version = "0.0.2";
-              sha256 =
-                "e6e9335c86298d5d5af6c18b85f3533554eca74d6129e1aea7dae17849b48ed2";
-            };
-            beamDeps  = [
-                          plug_1_1_5
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          cowboy_1_0_4
-                          bypass_0_5_1
-                        ];
-
-            meta = {
-              description = ''Clicksign client'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    clicksign = clicksign_0_0_2;
-
-    clint_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_0_11_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "clint";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "clint";
-              version = "0.0.1";
-              sha256 =
-                "41c6781b5f4b986bce14c3578d39c497bcb8427f1d36d8cde5fcaa6e03cae2b1";
-            };
-            beamDeps  = [ plug_0_11_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An Elixir web micro-framework, inspired by
-                            Sinatra'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/clint";
-            };
-          } // packageOverrides)
-      ) {};
-
-    clint = clint_0_0_1;
-
-    clique_3_0_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, cuttlefish_2_0_7
-        }:
-          buildRebar3 ({
-            name = "clique";
-            version = "3.0.1";
-            src = fetchHex {
-              pkg = "clique";
-              version = "3.0.1";
-              sha256 =
-                "f26bd1d293a88223b9dc21dc5a2643e64823f3e8e178536fb66e97c4ff4a2ac2";
-            };
-
-            beamDeps  = [ cuttlefish_2_0_7 ];
-
-            meta = {
-              description = ''A CLI library for erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/clique";
-            };
-          } // packageOverrides)
-      ) {};
-
-    clique = clique_3_0_1;
-
-    close_enough_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "close_enough";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "close_enough";
-              version = "0.0.1";
-              sha256 =
-                "cbd73a651bffc50259035a311e5a03cb01176667b76aece059778dda9bd72079";
-            };
-
-            meta = {
-              description = ''Forget typos in function names name, CloseEnough
-                            handles them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/close_enough";
-            };
-          } // packageOverrides)
-      ) {};
-
-    close_enough = close_enough_0_0_1;
-
-    cloudex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          timex_0_19_5,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudex";
-              version = "0.0.2";
-              sha256 =
-                "eb424a8e6610de6f7a2f2be074937c571a86d11e4b942d2ea39900855a66b306";
-            };
-            beamDeps  = [
-                          tzdata_0_5_8 timex_0_19_5 poison_1_5_2 httpoison_0_8_3
-                        ];
-
-            meta = {
-              longDescription = ''A library that helps with uploading image
-                                files and urls to cloudinary. Also provides an
-                                helper to generate transformations and
-                                cloudinary urls pointing to your images'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/smeevil/cloudex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudex = cloudex_0_0_2;
-
-    cloudinary_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudinary";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudinary";
-              version = "0.0.2";
-              sha256 =
-                "9e32b21717b193f90a526203725811b96294d7c88391e5ad4a57bf178678cc4c";
-            };
-            beamDeps  = [ poison_1_4_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Library to upload to Cloudinary'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudinary = cloudinary_0_0_2;
-
-    cloudinaryex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudinaryex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudinaryex";
-              version = "0.0.2";
-              sha256 =
-                "31518baacfcca428e30ee8f1c411d76568344e7032ed93cf34535e279c8472fc";
-            };
-            beamDeps  = [ timex_1_0_2 poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A library for connecting with Cloudinary in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/micahwedemeyer/cloudinaryex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudinaryex = cloudinaryex_0_0_2;
-
-    cmark_0_6_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cmark";
-            version = "0.6.10";
-            src = fetchHex {
-              pkg = "cmark";
-              version = "0.6.10";
-              sha256 =
-                "df6dd77f8fe0774b6e4cdedcadef56c1c7cb478c6aaed7445535ec87dba3a608";
-            };
-
-            meta = {
-              longDescription = ''Elixir NIF for cmark (C), a parser library
-                                following the CommonMark spec, a compatible
-                                implementation of Markdown.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/cmark.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cmark = cmark_0_6_10;
-
-    cobertura_cover_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cobertura_cover";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "cobertura_cover";
-              version = "0.9.0";
-              sha256 =
-                "870bc4658cacc5c80d13f1206b688925234d2dc4e00278e8a3e72fbbd6bea0b1";
-            };
-
-            meta = {
-              longDescription = ''A plugin for `mix test --cover` that writes a
-                                `coverage.xml` file compatible with Jenkins`
-                                Cobertura plugin. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/PSPDFKit-labs/cobertura_cover";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cobertura_cover = cobertura_cover_0_9_0;
-
-    codepagex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "codepagex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "codepagex";
-              version = "0.1.2";
-              sha256 =
-                "cb6fbd1ebf1b1748aee9d956fb15115af407db3348efc26bc9d3d637c6441074";
-            };
-
-            meta = {
-              longDescription = ''Codepagex is an elixir library to convert
-                                between string encodings to and from utf-8. Like
-                                iconv, but written in pure Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tallakt/codepagex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    codepagex = codepagex_0_1_2;
-
-    coincap_io_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "coincap_io";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "coincap_io";
-              version = "0.0.2";
-              sha256 =
-                "23492902655cfff97d9988278dc1478562e236be631608a50d4d47106f132664";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 exconstructor_1_0_2 ];
-
-            meta = {
-              longDescription = ''WIP, unstable Elixir API wrapper for
-                                coincap.io. Provides access to market
-                                capitalization data of bitcoin, altcoins and
-                                cryptotokens.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cyberpunk-ventures/coincap_io_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    coincap_io = coincap_io_0_0_2;
-
-    colixir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colixir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "colixir";
-              version = "0.0.1";
-              sha256 =
-                "38dc49351419c6fcfdb76bbc785e07c3acf83cc29f632719dd601ecadbfb73b8";
-            };
-
-            meta = {
-              description = ''Colixir creates colorized text for terminal
-                            output'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mondok/colixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colixir = colixir_0_0_1;
-
-    color_stream_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "color_stream";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "color_stream";
-              version = "0.0.2";
-              sha256 =
-                "b1181f32b310311016006f4f8d52b3418d1af6f06e71903daabafdcaa602a29d";
-            };
-
-            meta = {
-              description = ''Generate random colors that are fairly spaced out
-                            and look nice.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/code-lever/color-stream-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    color_stream = color_stream_0_0_2;
-
-    color_utils_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "color_utils";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "color_utils";
-              version = "0.2.0";
-              sha256 =
-                "bf16a1a9de7d837a68ede139c6e06bc9d57f9eccedff302f730105bd80d98647";
-            };
-
-            meta = {
-              description = ''A Color Util library for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/barakyo/color_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    color_utils = color_utils_0_2_0;
-
-    colorful_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colorful";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "colorful";
-              version = "0.6.0";
-              sha256 =
-                "6b00225f137efdde7901d3ddc7626a3b33031c20ea145097b2442680e72adc3d";
-            };
-
-            meta = {
-              description = ''Modules which manage colors'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/colorful";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colorful = colorful_0_6_0;
-
-    colorize_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colorize";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "colorize";
-              version = "0.2.0";
-              sha256 =
-                "d43757bae49d6da310d641cf7ec809bdc0b6a9eb40fb7ac4c57c1dbbb7d4e32e";
-            };
-
-            meta = {
-              description = ''Colorize your text in the console'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/colorize";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colorize = colorize_0_2_0;
-
-    colors_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colors";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "colors";
-              version = "1.0.1";
-              sha256 =
-                "960aa874a3cbbf4356c64ef8194d5215c8373537a720fc0ab46c90400ecf8949";
-            };
-
-            meta = {
-              description = ''a colors util'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/colors";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colors = colors_1_0_1;
-
-    combination_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combination";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "combination";
-              version = "0.0.2";
-              sha256 =
-                "f3e4934d2077d161e4ec8c6e54a2c4b6b39d8189a1434866ca3e2afedd38be04";
-            };
-
-            meta = {
-              description = ''Elixir library computing simple combination and
-                            permutation on Enumerables.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-combination";
-            };
-          } // packageOverrides)
-      ) {};
-
-    combination = combination_0_0_2;
-
-    combine_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combine";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "combine";
-              version = "0.7.0";
-              sha256 =
-                "3ac1b6622e6149204899c7069b850a53ed38d1a749cc7357aeffe86e8bfc593c";
-            };
-
-            meta = {
-              description = ''A parser combinator library for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    combine_0_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combine";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "combine";
-              version = "0.8.0";
-              sha256 =
-                "3adc5354d03ef96bc494850e5014e11150ddf16b3feee9ff3292a0da55f64301";
-            };
-
-            meta = {
-              description = ''A parser combinator library for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    combine = combine_0_8_0;
-
-    comeonin_1_6_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, comeonin_i18n_0_1_3
-        }:
-          buildMix ({
-            name = "comeonin";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "1.6.0";
-              sha256 =
-                "40dd0da2c33696d19515888fd86b9ffdcad92d49e9a6b3b13df98e824897a1b1";
-            };
-            beamDeps  = [ comeonin_i18n_0_1_3 ];
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.0.3";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.0.3";
-              sha256 =
-                "a9a6f87107ebf6898adeca7130adb1b9e421c1be7e8b30b13ac1e0354ea15198";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.1.1";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.1.1";
-              sha256 =
-                "7f85774ae5d453f664d0e7809cc1ab32ff22855d16ff6a2edd68c6d36cb1a1aa";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.4.0";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.4.0";
-              sha256 =
-                "b326290a3143fdf4847a735f272ebd16d15216e97e968266a7b24125af4620be";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin = comeonin_2_4_0;
-
-    comeonin_i18n_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "comeonin_i18n";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "comeonin_i18n";
-              version = "0.1.3";
-              sha256 =
-                "4b45ca5af3cbf20bf7d3f7e874629041a2a921ad5a62ca9b94546a1e559023a6";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Internationalization support for the Comeonin
-                            password hashing library.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin_i18n";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_i18n = comeonin_i18n_0_1_3;
-
-    commander_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "commander";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "commander";
-              version = "0.1.4";
-              sha256 =
-                "091cd4de551771fed7eb258dbf1918875822896d44a730414fc6ac268e9ad3e4";
-            };
-
-            meta = {
-              description = ''A macro library to help create telegram bot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/commander";
-            };
-          } // packageOverrides)
-      ) {};
-
-    commander = commander_0_1_4;
-
-    complex_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exprintf_0_1_6,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "complex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "complex";
-              version = "0.2.0";
-              sha256 =
-                "6db6a2850ed907c4d9e062591110dc70c35c3818ccf609f1268052a3f4bf10b0";
-            };
-            beamDeps  = [ exprintf_0_1_6 earmark_0_2_1 ];
-
-            meta = {
-              description = ''Complex is a library for types and mathematical
-                            functions for complex numbers.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-complex.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    complex = complex_0_2_0;
-
-    comredis_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "comredis";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "comredis";
-              version = "1.0.1";
-              sha256 =
-                "03aa3a9235f39c666854027b88915b9f256c357ce6e0a493da54d6dec7b3a207";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Comredis is your comrade for Redis command
-                            generation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/iurifq/comredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comredis = comredis_1_0_1;
-
-    con_cache_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "con_cache";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "con_cache";
-              version = "0.11.0";
-              sha256 =
-                "cd6d3dd4f6900520e3975592e1bbb57ac217e15f1f350f5bcba0c63578cb0a49";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''ETS based key-value storage with support for
-                                row-level isolated writes, TTL auto-purge, and
-                                modification callbacks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/con_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    con_cache = con_cache_0_11_0;
-
-    con_cache_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "con_cache";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "con_cache";
-              version = "0.9.0";
-              sha256 =
-                "600b122653d7e5f6414bb0728fa6133c656e2d24fad7f0a31bb89c1c70ec68bb";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''ETS based key-value storage with support for
-                                row-level isolated writes, TTL auto-purge, and
-                                modification callbacks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/con_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    concerto_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "concerto";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "concerto";
-              version = "0.1.4";
-              sha256 =
-                "3c8337ecc810f8812ab9dec8a63b4aa8feaed6142b24acbb89ad7938481ae912";
-            };
-
-            meta = {
-              description = ''file-based routing library for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/exstruct/concerto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    concerto = concerto_0_1_4;
-
-    config_values_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "config_values";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "config_values";
-              version = "1.0.0";
-              sha256 =
-                "cdbd33fd68cf7fa4fe88dfc1f73e5d26f69d86132650dfba9a636dc75f6cb26c";
-            };
-
-            meta = {
-              description = ''Interpolated configuration values'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hassox/config_values";
-            };
-          } // packageOverrides)
-      ) {};
-
-    config_values = config_values_1_0_0;
-
-    configparser_ex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "configparser_ex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "configparser_ex";
-              version = "0.2.1";
-              sha256 =
-                "3319861498f5e711058b1b3b54f88275af85e1bf9493bd0b904393d5971f117e";
-            };
-
-            meta = {
-              description = ''A module that parses INI-like files. Not unlike
-                            Python configparser package.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/easco/configparser_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    configparser_ex = configparser_ex_0_2_1;
-
-    connection_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "connection";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "connection";
-              version = "1.0.2";
-              sha256 =
-                "b4ffd56c0ad3caac8dc6125a007e416ba2dab54a1d4b380766bb9e87c56120fb";
-            };
-
-            meta = {
-              description = ''Connection behaviour for connection processes'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/connection";
-            };
-          } // packageOverrides)
-      ) {};
-
-    connection = connection_1_0_2;
-
-    conqueuer_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          inflex_1_5_0
-        }:
-          buildMix ({
-            name = "conqueuer";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "conqueuer";
-              version = "0.5.1";
-              sha256 =
-                "7370e2a0201f73ced6b202877b4dcb6872e1b6bbb0c024b1edee3a058dd653ab";
-            };
-            beamDeps  = [ poolboy_1_5_1 inflex_1_5_0 ];
-
-            meta = {
-              description = ''An Elixir in memory work queue.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/midas/conqueuer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    conqueuer = conqueuer_0_5_1;
-
-    console_tree_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "console_tree";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "console_tree";
-              version = "0.0.1";
-              sha256 =
-                "c7dea20c14fd8bc6697a68f2917def38d20c772eb4b5715b18197672e7ddc0eb";
-            };
-
-            meta = {
-              longDescription = ''A simple library to print a text
-                                representation of a tree structure, intended for
-                                use in a terminal environment.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ciaran/console_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    console_tree = console_tree_0_0_1;
-
-    consolex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "consolex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "consolex";
-              version = "0.1.0";
-              sha256 =
-                "d258becb7d14295e4df337ca1f5466de55c54d0be2761b9a93003814427c0ec1";
-            };
-            beamDeps  = [ exjsx_3_2_0 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An IEx web console'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/consolex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    consolex = consolex_0_1_0;
-
-    control_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "control";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "control";
-              version = "0.0.4";
-              sha256 =
-                "c806da1d82614a27f876aea5d222edb1cdb52d883553ada03f1ff79c09c024d9";
-            };
-
-            meta = {
-              description = ''An exploratory look into functors, applicatives,
-                            and monads for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/elixir-control";
-            };
-          } // packageOverrides)
-      ) {};
-
-    control = control_0_0_4;
-
-    convertat_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "convertat";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "convertat";
-              version = "1.1.0";
-              sha256 =
-                "603229c43df6769f2166c78c5c3f31316390bf6e19fa8e15f02026170ab51a79";
-            };
-
-            meta = {
-              description = ''Provides functions for converting from and to
-                            arbitrary bases. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/convertat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    convertat = convertat_1_1_0;
-
-    core_data_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_1_1 }:
-          buildMix ({
-            name = "core_data";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "core_data";
-              version = "0.1.0";
-              sha256 =
-                "09b308a42f0697053c68f253e7f687c0f6b5f96bb1b114a7b1852c5b6804122e";
-            };
-            beamDeps  = [ floki_0_1_1 ];
-
-            meta = {
-              description = ''iOS Core Data parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/evolet-project/core_data";
-            };
-          } // packageOverrides)
-      ) {};
-
-    core_data = core_data_0_1_0;
-
-    cors_plug_1_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "cors_plug";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "cors_plug";
-              version = "1.1.2";
-              sha256 =
-                "2604f8352d3c072a8fd94dd1b6ed076b74f0952710c4a58269ffea56bfb6b2a7";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''An elixir plug that adds CORS headers to
-                                requests and responds to preflight requests
-                                (OPTIONS)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mschae/cors_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cors_plug = cors_plug_1_1_2;
-
-    corsica_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "corsica";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "corsica";
-              version = "0.4.2";
-              sha256 =
-                "6a06d3ffb4395cec11f253618d6411db4b14edb6e76e700abc757722deaf0f8d";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug-based swiss-army knife for CORS requests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/corsica";
-            };
-          } // packageOverrides)
-      ) {};
-
-    corsica = corsica_0_4_2;
-
-    couch_factory_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "couch_factory";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "couch_factory";
-              version = "0.1.1";
-              sha256 =
-                "79b2e2c48bf6b036f959ff70c14b0d4da767e4bca7efae8f6c758eefab1a28d5";
-            };
-
-            meta = {
-              description = ''Factory Girl implementation with CouchDb
-                            persistence.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/javierg/couch_factory";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couch_factory = couch_factory_0_1_1;
-
-    couchbeam_1_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          hackney_1_5_7
-        }:
-          buildMix ({
-            name = "couchbeam";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "couchbeam";
-              version = "1.3.0";
-              sha256 =
-                "5d94bfc80532999e4f8e7f5da3abff74fbf3b59d5e02e0a99eb0dc3697c97a50";
-            };
-            beamDeps  = [ jsx_2_8_0 hackney_1_5_7 ];
-
-            meta = {
-              description = ''Erlang CouchDB client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/couchbeam";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couchbeam = couchbeam_1_3_0;
-
-    couchex_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "couchex";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "couchex";
-              version = "0.6.0";
-              sha256 =
-                "44e02558dc29d739cf27dad76bfc8e8632c4779ce2c701a418409912641b7c3b";
-            };
-
-            meta = {
-              description = ''CouchDB client, wrapping couchbeam erlang
-                            client.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/ringling/couchex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couchex = couchex_0_6_0;
-
-    count_buffer_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, pool_ring_0_1_5 }:
-          buildMix ({
-            name = "count_buffer";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "count_buffer";
-              version = "0.1.5";
-              sha256 =
-                "6e78dc0458dac8dae9d41d7857c7185b3164cecd9992a1407265ebfa3455544e";
-            };
-            beamDeps  = [ pool_ring_0_1_5 ];
-
-            meta = {
-              description = ''buffer a large set of counters and flush
-                            periodically'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/count_buffer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    count_buffer = count_buffer_0_1_5;
-
-    courier_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          mail_0_0_4,
-          gen_smtp_0_9_0
-        }:
-          buildMix ({
-            name = "courier";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "courier";
-              version = "0.0.3";
-              sha256 =
-                "8c8c560da7011c8846ed5ee60af867124ff043a7d37773156b6d8a08390b73fc";
-            };
-            beamDeps  = [ mail_0_0_4 gen_smtp_0_9_0 ];
-
-            meta = {
-              description = ''Adapter based email delivery'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/courier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    courier = courier_0_0_3;
-
-    cowbell_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cowbell";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "cowbell";
-              version = "0.1.0";
-              sha256 =
-                "8a75f73afd29421150cc4dbe2993b5a2a7e3fe5fa5628a06ddb22adc2c36c998";
-            };
-
-            meta = {
-              description = ''A node connection manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ostinelli/cowbell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowbell = cowbell_0_1_0;
-
-    cowboy_1_0_4 = callPackage
-      (
-        {
-          buildErlangMk,
-          packageOverrides ? {},
-          fetchHex,
-          cowlib_1_0_2,
-          ranch_1_2_1
-        }:
-          buildErlangMk ({
-            name = "cowboy";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "cowboy";
-              version = "1.0.4";
-              sha256 =
-                "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac";
-            };
-            beamDeps  = [ cowlib_1_0_2 ranch_1_2_1 ];
-
-            meta = {
-              description = ''Small, fast, modular HTTP server written in
-                            Erlang.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowboy = cowboy_1_0_4;
-
-    cowgirl_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cowgirl";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cowgirl";
-              version = "0.0.1";
-              sha256 =
-                "3b06ca6bb82fa3674ddad182cc479d9ab1538b83a4cf616c666e0d6f873c44e5";
-            };
-
-            meta = {
-              description = ''Small, fast, modular HTTP server written in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/larrylv/cowgirl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowgirl = cowgirl_0_0_1;
-
-    cowlib_1_0_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.0.0";
-              sha256 =
-                "4dacd60356177ec8cf93dbff399de17435b613f3318202614d3d5acbccee1474";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib_1_0_2 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.0.2";
-              sha256 =
-                "db622da03aa039e6366ab953e31186cc8190d32905e33788a1acb22744e6abd2";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib_1_3_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.3.0";
-              sha256 =
-                "2b1ac020ec92e7a59cb7322779870c2d3adc7c904ecb3b9fa406f04dc9816b73";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib = cowlib_1_3_0;
-
-    cowsay_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cowsay";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cowsay";
-              version = "0.0.1";
-              sha256 =
-                "9f8a6634710974787751279b22ef5d7cb3c6a74db42636540ae5db37c4632e2a";
-            };
-
-            meta = {
-              description = ''A cow-friend who will speak your mind'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bbrock25/cowsay";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowsay = cowsay_0_0_1;
-
-    cqex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cqex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "cqex";
-              version = "0.2.0";
-              sha256 =
-                "2180cb8083d38765bd3912f128b603826686300aef6f61adf9dc89fde3bb5429";
-            };
-
-            meta = {
-              description = ''Idiomatic Elixir client for Cassandra.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/matehat/cqex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqex = cqex_0_2_0;
-
-    cqrs_commands_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          uuid_1_1_4,
-          poison_2_0_1,
-          plug_1_1_5,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "cqrs_commands";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "cqrs_commands";
-              version = "0.0.6";
-              sha256 =
-                "3bc8419a057daf10db5a0a8895d7b917948e6e901f3e8286163f829b2f5652f3";
-            };
-            beamDeps  = [
-                          vex_0_5_5
-                          uuid_1_1_4
-                          poison_2_0_1
-                          plug_1_1_5
-                          exconstructor_1_0_2
-                        ];
-
-            meta = {
-              description = ''This is not production ready yet but I want your
-                            feedback.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amberbit/cqrs_commands";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqrs_commands = cqrs_commands_0_0_6;
-
-    crazy_pants_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crazy_pants";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "crazy_pants";
-              version = "0.0.1";
-              sha256 =
-                "46e50adccb0d858e5a540c834d4e358ffa43ed9cdcac20ae36569fc7eaffa532";
-            };
-
-            meta = {
-              description = ''These pretzels are making me thirsty'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whodat/crazy_pants";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crazy_pants = crazy_pants_0_0_1;
-
-    crc_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crc";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "crc";
-              version = "0.4.0";
-              sha256 =
-                "4f0d872d46faea966aeb687158b7e02bfc61c49c4f2fb33f5e52e3d167f4faeb";
-            };
-
-            meta = {
-              description = ''A library used to calculate CRC checksums for
-                            binary data'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TattdCodeMonkey/crc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crc = crc_0_4_0;
-
-    credit_card_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "credit_card";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "credit_card";
-              version = "1.0.0";
-              sha256 =
-                "c7dee15035f4ff925f08bc806c4bd1817209c64d8ba089d0731808ee35e97ba0";
-            };
-
-            meta = {
-              description = ''A library for validating credit card numbers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abakhi/credit_card";
-            };
-          } // packageOverrides)
-      ) {};
-
-    credit_card = credit_card_1_0_0;
-
-    credo_0_4_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bunt_0_1_6 }:
-          buildMix ({
-            name = "credo";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "credo";
-              version = "0.4.3";
-              sha256 =
-                "2ab51e2446ebad5abc327fb18a4410f41bbab311cd760379e75d696dea8ed6ee";
-            };
-            beamDeps  = [ bunt_0_1_6 ];
-
-            meta = {
-              longDescription = ''A static code analysis tool for the Elixir
-                                language with a focus on code consistency and
-                                teaching.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/credo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    credo = credo_0_4_3;
-
-    croma_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "croma";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "croma";
-              version = "0.4.4";
-              sha256 =
-                "8dbcf50e925aa765f521d948250cafd5409fd4dbd5f23b2db6d6032e9397e312";
-            };
-
-            meta = {
-              description = ''Elixir macro utilities'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    croma = croma_0_4_4;
-
-    cronitor_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cronitor";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cronitor";
-              version = "1.0.0";
-              sha256 =
-                "d1353c83d1949b60e824ed934be02e7a4cc536fb5b7c912618b0052e0e01d490";
-            };
-
-            meta = {
-              description = ''An extremely simple wrapper for the cronitor.io
-                            ping endpoints.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jordan0day/cronitor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cronitor = cronitor_1_0_0;
-
-    crutches_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crutches";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "crutches";
-              version = "1.0.0";
-              sha256 =
-                "cfd97962a22fe30820e6ca6d0671c763232a7edf149aa11bd62ee77dff0ffff0";
-            };
-
-            meta = {
-              description = ''An Elixir toolbelt freely inspired from Ruby`s
-                            ActiveSupport'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mykewould/crutches";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crutches = crutches_1_0_0;
-
-    cryptex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cryptex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cryptex";
-              version = "0.0.1";
-              sha256 =
-                "19d709c6ffbda3c74ec811190d168170db0435720cbe788c0233bea4afee1d16";
-            };
-
-            meta = {
-              description = ''An Elixir library for encrypting/decrypting,
-                            signing/verifying data. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/cryptex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cryptex = cryptex_0_0_1;
-
-    crypto_rsassa_pss_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "crypto_rsassa_pss";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "crypto_rsassa_pss";
-              version = "1.0.0";
-              sha256 =
-                "d8f48874dbef940a8954126249499714e702d8ae0a8f23230a6c2f4a92833313";
-            };
-
-            meta = {
-              description = ''RSASSA-PSS Public Key Cryptographic Signature
-                            Algorithm for Erlang'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage =
-                "https://github.com/potatosalad/erlang-crypto_rsassa_pss";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crypto_rsassa_pss = crypto_rsassa_pss_1_0_0;
-
-    cspex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cspex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "cspex";
-              version = "1.1.0";
-              sha256 =
-                "1eb6d83e0f4c43c68fe14ede5bb711654a6a653e94aa39d75ad67cf53ba79df1";
-            };
-
-            meta = {
-              description = ''A library that brings all the CSP joy to the
-                            Elixir land.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vidalraphael/cspex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cspex = cspex_1_1_0;
-
-    csv_1_4_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, parallel_stream_1_0_3
-        }:
-          buildMix ({
-            name = "csv";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "csv";
-              version = "1.4.1";
-              sha256 =
-                "167e5d3dd2e7716e5865f5a8d064d7a9f7004516c796684083f1cd180c2d4296";
-            };
-            beamDeps  = [ parallel_stream_1_0_3 ];
-
-            meta = {
-              description = ''CSV Decoding and Encoding for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/beatrichartz/csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    csv = csv_1_4_1;
-
-    csvlixir_2_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "csvlixir";
-            version = "2.0.3";
-            src = fetchHex {
-              pkg = "csvlixir";
-              version = "2.0.3";
-              sha256 =
-                "8539326c9a484f94f9443878f5df21b3ed12d5a00be069b8b8346dff8cf35436";
-            };
-
-            meta = {
-              longDescription = ''CSVLixir is a CSV reader/writer for Elixir.
-                                It operates on files and strings. The reader can
-                                read CSV files or CSV strings. Reading from
-                                files returns a stream of lists. Reading from
-                                strings returns a list of lists. The writer
-                                transforms a (possibly lazy) list of lists into
-                                a stream of CSV strings. It can also take a
-                                single list and return a single CSV string.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jimm/csvlixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    csvlixir = csvlixir_2_0_3;
-
-    cth_readable_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "cth_readable";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "cth_readable";
-              version = "1.2.2";
-              sha256 =
-                "77585432b98b45b9ee086399cefa97b2191b6d780c4e795bf43c529412d9694d";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Common Test hooks for more readable logs'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/cth_readable";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cth_readable = cth_readable_1_2_2;
-
-    cuckoo_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, murmur_1_0_0 }:
-          buildMix ({
-            name = "cuckoo";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cuckoo";
-              version = "1.0.0";
-              sha256 =
-                "18f31763c50c20bb89e1fbc4b9eb5b97f6ffc23e3a90ba4cf5e97ccd96da8df2";
-            };
-            beamDeps  = [ murmur_1_0_0 ];
-
-            meta = {
-              description = ''Cuckoo is a pure Elixir implementation of Cuckoo
-                            Filters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/cuckoo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuckoo = cuckoo_1_0_0;
-
-    cucumberl_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cucumberl";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "cucumberl";
-              version = "0.0.10";
-              sha256 =
-                "53bd73d016602c8c46883dbcc5a57ee814fe4708b14e4406d566b5ca9d119110";
-            };
-
-            meta = {
-              longDescription = ''A pure-erlang, open-source, implementation of
-                                Cucumber (http://cukes.info). This provides a
-                                subset of the Cucumber feature definition
-                                language.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ericbmerritt/cucumberl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cucumberl = cucumberl_0_0_10;
-
-    cuid_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cuid";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "cuid";
-              version = "0.1.0";
-              sha256 =
-                "80cd46bd323e05b706c60008368e631b559307b554c0acc54292ab2c73a3340b";
-            };
-
-            meta = {
-              description = ''Generate collision-resistant ids, in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duailibe/cuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuid = cuid_0_1_0;
-
-    curl2httpoison_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curl2httpoison";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "curl2httpoison";
-              version = "0.2.6";
-              sha256 =
-                "d22fda1a85db812e9f6e0c8770f004cb7942f463bc59b07ad272c01330a7bfca";
-            };
-
-            meta = {
-              description = ''Curl2HTTPoison transform your curl request to
-                            HTTPPoison request code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curl2httpoison = curl2httpoison_0_2_6;
-
-    currency_formatter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "currency_formatter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "currency_formatter";
-              version = "0.0.1";
-              sha256 =
-                "dab55279ae6377f00a9d01a0a7ab015d380d550d71f303900ae554f8d0065606";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A function to format a number to a currency using
-                            iso standards'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/smeevil/currency_formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    currency_formatter = currency_formatter_0_0_1;
-
-    current_streak_ex_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "current_streak_ex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "current_streak_ex";
-              version = "0.1.1";
-              sha256 =
-                "1c62bcd7bdd69818dc05f0602e03a5aca6b21554206cb6634bedb807ee27d5a7";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Get github current streak which support only
-                            public repositories.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/current_streak_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    current_streak_ex = current_streak_ex_0_1_1;
-
-    current_user_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "current_user";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "current_user";
-              version = "0.0.1";
-              sha256 =
-                "8a400d8cbd02da89bccf67a357733b682e0d6d4c421b7230405ac16b1988809c";
-            };
-
-            meta = {
-              description = ''Configurable user authentication for Phoenix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/halogenandtoast/current_user";
-            };
-          } // packageOverrides)
-      ) {};
-
-    current_user = current_user_0_0_1;
-
-    curry_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curry";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "curry";
-              version = "0.0.1";
-              sha256 =
-                "e8f56fee1cb82ae2616c36021d4dd8c2b4169490e224dea84f63feb47475d6f0";
-            };
-
-            meta = {
-              description = ''A simple currying macro allowing to define
-                            curried functions in Elixir modules.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/elixir-curry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curry = curry_0_0_1;
-
-    curtail_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curtail";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "curtail";
-              version = "0.1.0";
-              sha256 =
-                "0d43f4bcecf91c935a89cd52af62efa62e264b4c82a07e29e9945988735fdc1f";
-            };
-
-            meta = {
-              description = ''HTML-safe string truncation.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/seankay/curtail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curtail = curtail_0_1_0;
-
-    curtains_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_0_3 }:
-          buildMix ({
-            name = "curtains";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "curtains";
-              version = "0.0.1";
-              sha256 =
-                "d547bd024049630fd072994a759befaab908fa69f5e200b2b584e12f12e9842f";
-            };
-            beamDeps  = [ plug_1_0_3 ];
-
-            meta = {
-              longDescription = ''Curtains is a Elixir package that \"takes
-                                over\" your Elixir website by returning content
-                                of a specified file (if it exists). This makes
-                                it perfect for \"Under construction\" and
-                                \"Maintenance\" pages. At it`s heart, it`s just
-                                a Plug.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fteem/curtains";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curtains = curtains_0_0_1;
-
-    curve25519_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curve25519";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "curve25519";
-              version = "0.1.0";
-              sha256 =
-                "786f9ede0aa9503f65015c19d9cd1b9263c5e7523cd215ee23d6d94ba16473d1";
-            };
-
-            meta = {
-              description = ''Curve25519 Diffie-Hellman functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/curve25519_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curve25519 = curve25519_0_1_0;
-
-    cushion_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpotion_2_2_2 }:
-          buildMix ({
-            name = "cushion";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "cushion";
-              version = "0.0.3";
-              sha256 =
-                "1371ab210bd3b7ef7381dbe3f53fedb8afbbb0c562f45d614e4849373919482b";
-            };
-            beamDeps  = [ httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''A really simple Buffer API client for sending
-                                updates. Right now it only supports sending text
-                                updates, but hopefully will support more in the
-                                future.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryanbillingsley/cushion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cushion = cushion_0_0_3;
-
-    custom_base_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "custom_base";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "custom_base";
-              version = "0.2.0";
-              sha256 =
-                "d7c26409eb22b00d69f591fd89cc4e84550656862c655c7ae3edf63f7381899b";
-            };
-
-            meta = {
-              description = ''Allow you to make custom base conversion in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/custom_base";
-            };
-          } // packageOverrides)
-      ) {};
-
-    custom_base = custom_base_0_2_0;
-
-    cuttlefish_2_0_7 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          lager_3_0_2,
-          getopt_0_8_2
-        }:
-          buildRebar3 ({
-            name = "cuttlefish";
-            version = "2.0.7";
-            src = fetchHex {
-              pkg = "cuttlefish";
-              version = "2.0.7";
-              sha256 =
-                "57589747ba40a75c53872002cd251a2933102457cdcc99b8ed72823ba1288869";
-            };
-
-            beamDeps  = [ lager_3_0_2 getopt_0_8_2 ];
-
-            meta = {
-              description = ''cuttlefish configuration abstraction'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/tsloughter/cuttlefish";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuttlefish = cuttlefish_2_0_7;
-
-    cypher_query_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cypher_query";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cypher_query";
-              version = "0.0.1";
-              sha256 =
-                "068bee4f13275d3448a4676bf113d5b2e414b47a9f84bb6e1614a009104c3f30";
-            };
-
-            meta = {
-              description = ''A dumb string-based query builder for neo4j
-                            Cypher queries'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/collin/cypher_query";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cypher_query = cypher_query_0_0_1;
-
-    damm_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "damm";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "damm";
-              version = "0.1.0";
-              sha256 =
-                "2d2d0adbf0ffe5888d0aaee784a25b3bb9b99acf33b6de350aee9f58c588cbd5";
-            };
-
-            meta = {
-              description = ''Damm algorithm implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mururu/damm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    damm = damm_0_1_0;
-
-    data_leaf_walker_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "data_leaf_walker";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "data_leaf_walker";
-              version = "0.1.0";
-              sha256 =
-                "9d3a8688c3751765453f04e8f60f3826757396dce66baf7e2cf7335c9c373bbd";
-            };
-
-            meta = {
-              longDescription = ''Traverse and map values of deeply nested data
-                                structures: Provides a `map_deeply/2` function
-                                for Maps and Lists and Keyword Lists'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-map-deeply";
-            };
-          } // packageOverrides)
-      ) {};
-
-    data_leaf_walker = data_leaf_walker_0_1_0;
-
-    data_pool_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, e_queue_1_0_1 }:
-          buildMix ({
-            name = "data_pool";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "data_pool";
-              version = "1.0.1";
-              sha256 =
-                "ad5a2bdf81215d71e47f87624142f58d32a808ea98f4837fc1d28dc971124613";
-            };
-            beamDeps  = [ e_queue_1_0_1 ];
-
-            meta = {
-              longDescription = ''Utility to buffer items into a queue that
-                                follow a simple block pattern on calls to push
-                                and pop when the queue at a max size or
-                                empty.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/data_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    data_pool = data_pool_1_0_1;
-
-    database_url_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "database_url";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "database_url";
-              version = "0.1.0";
-              sha256 =
-                "273c8c926761d5716fee17c8a8494583d729a4419e30479a292eb6cea3d9a756";
-            };
-
-            meta = {
-              description = ''Parse database URL and renturn keyword list for
-                            use with Ecto.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/s-m-i-t-a/database_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    database_url = database_url_0_1_0;
-
-    datastructures_0_2_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "datastructures";
-            version = "0.2.5";
-            src = fetchHex {
-              pkg = "datastructures";
-              version = "0.2.5";
-              sha256 =
-                "ef4387043ecaa635995832f32473e8b6708044a6bc73983168eee4ab71b01f92";
-            };
-
-            meta = {
-              description = ''Elixir protocols and implementations for various
-                            data structures.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/elixir-datastructures";
-            };
-          } // packageOverrides)
-      ) {};
-
-    datastructures = datastructures_0_2_5;
-
-    dbg_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dbg";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "dbg";
-              version = "1.0.1";
-              sha256 =
-                "866159f496a1ad9b959501f16db3d1338bb6cef029a75a67ca5615d25b38345f";
-            };
-
-            meta = {
-              description = ''Distributed tracing'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/dbg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dbg = dbg_1_0_1;
-
-    dbux_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, connection_1_0_2 }:
-          buildMix ({
-            name = "dbux";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "dbux";
-              version = "1.0.3";
-              sha256 =
-                "79d01f620dd32ec4ed11423e0724bf7d8a46353e56f8d28cbdbf499a352caa1e";
-            };
-            beamDeps  = [ connection_1_0_2 ];
-
-            meta = {
-              description = ''Bindings for the D-Bus IPC protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/dbux";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dbux = dbux_1_0_3;
-
-    dealer_0_8_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "dealer";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "dealer";
-              version = "0.8.0";
-              sha256 =
-                "c8c72d38e1cff6a181a6b6f627fb6fd5998279827519e598eb28bcef2be721ee";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API Client for Stockfighter.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/larrylv/dealer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dealer = dealer_0_8_0;
-
-    decimal_1_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decimal";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "decimal";
-              version = "1.1.2";
-              sha256 =
-                "7a6dfa1f4d389497acd7b807bf38c55022487c68b73d339d5114e3a691e006c5";
-            };
-
-            meta = {
-              description = ''Arbitrary precision decimal arithmetic for
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/decimal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decimal = decimal_1_1_2;
-
-    decimal_arithmetic_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "decimal_arithmetic";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "decimal_arithmetic";
-              version = "0.1.1";
-              sha256 =
-                "b9c5dc722cc770aa5b905418d56e23eaa16e64659da0ccb552341a75068e0cfe";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Extended arithmetic for Decimal library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jacek-adamek/decimal_arithmetic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decimal_arithmetic = decimal_arithmetic_0_1_1;
-
-    decks_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decks";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "decks";
-              version = "0.0.1";
-              sha256 =
-                "de75b96c66f23c365935949ec53efab1f2f5d187803c26d733dd3b2df535af7d";
-            };
-
-            meta = {
-              description = ''Implements standard card decks for Elixir-based
-                            card games.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    decks = decks_0_0_1;
-
-    decoction_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decoction";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "decoction";
-              version = "0.0.1";
-              sha256 =
-                "cdf7ad35cdf87962e153bb56d9c68f8dd061469d58cae8923cbdcd2980d7adc0";
-            };
-
-            meta = {
-              description = ''Decoction is a static site generator written in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarvay/decoction";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decoction = decoction_0_0_1;
-
-    defmemo_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "defmemo";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "defmemo";
-              version = "0.1.1";
-              sha256 =
-                "8fefc49ff64b06fdb1ee15292419c16919a7a3c6b8e5cac6afd7a13919715e0f";
-            };
-
-            meta = {
-              description = '' A memoization macro (defmemo) for elixir using a
-                            genserver backing store. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/os6sense/DefMemo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    defmemo = defmemo_0_1_1;
-
-    delayed_otp_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "delayed_otp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "delayed_otp";
-              version = "0.0.2";
-              sha256 =
-                "22fe457d78fe1f216dcfca8c84431ac1f31e93267fdd563a5ca86c8289e2620f";
-            };
-
-            meta = {
-              longDescription = ''Delay death of supervisor children or
-                                gen_server : for instance Erlang supervisor with
-                                exponential backoff restart strategy.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/delayed_otp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    delayed_otp = delayed_otp_0_0_2;
-
-    delegate_behaviour_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "delegate_behaviour";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "delegate_behaviour";
-              version = "0.1.5";
-              sha256 =
-                "d46e9c39d5be4e6b1ee62a9419d1a44d138aca5af0161f42f78b4eb24659ca58";
-            };
-
-            meta = {
-              description = ''Macros to define modules that delegate to
-                            concrete implementations of behaviours'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    delegate_behaviour = delegate_behaviour_0_1_5;
-
-    deltek_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          html_entities_0_3_0
-        }:
-          buildMix ({
-            name = "deltek";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "deltek";
-              version = "0.0.4";
-              sha256 =
-                "274eecc6aba76e19e30e5850746ee81241ac8cc334d9729588b2ba770ac53988";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 html_entities_0_3_0 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the SOAP Deltek API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/elixir-deltek";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deltek = deltek_0_0_4;
-
-    demacro_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "demacro";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "demacro";
-              version = "0.0.1";
-              sha256 =
-                "e2a83d48f6b3e03764baf2e149dd5420e632d0d4daa77c5226697a3755a89d16";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    demacro = demacro_0_0_1;
-
-    depcache_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "depcache";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "depcache";
-              version = "1.2.2";
-              sha256 =
-                "0e70807140d485f1bf5ac50cd9a87b71ba5c5496a8ad02029847e569af80ed91";
-            };
-
-            meta = {
-              description = ''In-memory cache with cache key dependencies'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/zotonic/depcache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    depcache = depcache_1_2_2;
-
-    deppie_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "deppie";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "deppie";
-              version = "1.0.0";
-              sha256 =
-                "6712dbae54f274d7f4f92979d82cec2d4636a0598e2474e47b190fc3c0ed378a";
-            };
-
-            meta = {
-              description = ''Elixir`s coolest deprecation logger'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/deppie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deppie = deppie_1_0_0;
-
-    detergent_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "detergent";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "detergent";
-              version = "0.3.0";
-              sha256 =
-                "510cfb5d35b4b344762f074b73c8696b4bdde654ea046b3365cf92760ae33362";
-            };
-
-            meta = {
-              description = ''An emulsifying Erlang SOAP library'';
-              license = with stdenv.lib.licenses; [ unlicense bsd3 ];
-              homepage = "https://github.com/devinus/detergent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    detergent = detergent_0_3_0;
-
-    detergentex_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, detergent_0_3_0 }:
-          buildMix ({
-            name = "detergentex";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "detergentex";
-              version = "0.0.7";
-              sha256 =
-                "6bb1bc2fe9228f97e512ef012c473ed822263dc38c3dbaa727fcd111ce1c4771";
-            };
-            beamDeps  = [ detergent_0_3_0 ];
-
-            meta = {
-              description = ''Elixir binding to Detergent erlang library used
-                            to call WSDL SOAP Services'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/r-icarus/detergentex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    detergentex = detergentex_0_0_7;
-
-    deviant_elixir_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          feeder_ex_0_0_2
-        }:
-          buildMix ({
-            name = "deviant_elixir";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "deviant_elixir";
-              version = "0.0.4";
-              sha256 =
-                "42473969889a47edab66384988e70ab6b4da158043e9231deab822743e3d9943";
-            };
-            beamDeps  = [ httpoison_0_8_3 feeder_ex_0_0_2 ];
-
-            meta = {
-              longDescription = ''WIP. Unstable alpha. Elixir API wrapper for
-                                Deviant Art. At this moment provides only RSS
-                                feeds intergac.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vdaniuk/deviant-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deviant_elixir = deviant_elixir_0_0_4;
-
-    dflow_0_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dflow";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "dflow";
-              version = "0.1.5";
-              sha256 =
-                "f08e73f22d4c620ef5f358a0b40f8fe3b91219ca3922fbdbe7e42f1cb58f737e";
-            };
-
-            meta = {
-              description = ''Pipelined flow processing engine'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/dflow";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dflow = dflow_0_1_5;
-
-    di_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "di";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "di";
-              version = "0.1.0";
-              sha256 =
-                "d7a89568c986c98399667faeb618d5cc42a89965717e758323aa5370d1547260";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for DI.FM'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JoshuaThompson/di";
-            };
-          } // packageOverrides)
-      ) {};
-
-    di = di_0_1_0;
-
-    dialyxir_0_3_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dialyxir";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "dialyxir";
-              version = "0.3.3";
-              sha256 =
-                "8851d7c582ce9db43b0564f026b2f6a461df62e139a7891fde50f9b6a7fc496c";
-            };
-
-            meta = {
-              description = ''Mix tasks to simplify use of Dialyzer in Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jeremyjh/dialyxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dialyxir = dialyxir_0_3_3;
-
-    dialyze_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dialyze";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "dialyze";
-              version = "0.2.1";
-              sha256 =
-                "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48";
-            };
-
-            meta = {
-              description = ''Dialyzer Mix task'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/dialyze";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dialyze = dialyze_0_2_1;
-
-    dice_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dice";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "dice";
-              version = "0.0.1";
-              sha256 =
-                "975795636d6374bf120669cdbd6008a64bdd193a2ff202ffbdeefaa03d11bb9c";
-            };
-
-            meta = {
-              description = ''Library and CLI app for rolling dice '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/dice";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dice = dice_0_0_1;
-
-    dice_roller_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dice_roller";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "dice_roller";
-              version = "1.1.0";
-              sha256 =
-                "90e3485951605338f23686dcc001599354cb6eff7df851b1a1f6514b1c7fbd5c";
-            };
-
-            meta = {
-              description = ''An Elixir library for simulating dice rolls'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KevinGreene/DiceRoller";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dice_roller = dice_roller_1_1_0;
-
-    dicon_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dicon";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "dicon";
-              version = "0.4.0";
-              sha256 =
-                "d6a5c56e376b13dcfd721bc2571fbabcb41409ac5f2b8fa243a0f14393e6b145";
-            };
-
-            meta = {
-              description = ''Simple release deliverer for Elixir'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/dicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dicon = dicon_0_4_0;
-
-    diff_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "diff";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "diff";
-              version = "1.0.0";
-              sha256 =
-                "0dbd7abbf558031ccb8d703c751a20349326191026b07b53f4a3c603817728fb";
-            };
-
-            meta = {
-              description = ''A simple diff library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/diff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    diff = diff_1_0_0;
-
-    digoc_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "digoc";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "digoc";
-              version = "0.3.3";
-              sha256 =
-                "23d5c2f1b977b1f3e12567879a20bc211898efdfcac9a0b6802324bc42ea0605";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the Digital Ocean API v2.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kevinmontuori/digoc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    digoc = digoc_0_3_3;
-
-    dir_walker_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dir_walker";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "dir_walker";
-              version = "0.0.6";
-              sha256 =
-                "5bf891b970cca8df7d6e7d94857c508d2f5b48c615903427edbcbc483358fc92";
-            };
-
-            meta = {
-              longDescription = ''DirWalker lazily traverses one or more
-                                directory trees, depth first, returning
-                                successive file names. Initialize the walker
-                                using {:ok, walker} = DirWalker.start_link(path)
-                                # or [path, path...] Then return the next `n`
-                                path names using paths = DirWalker.next(walker
-                                <, n \\ 1>) Successive calls to `next` will
-                                return successive file names, until all file
-                                names have been returned. These methods have
-                                also been wrapped into a Stream resource. paths
-                                = DirWalker.stream(path) # or [path,path...] '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/dir_walker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dir_walker = dir_walker_0_0_6;
-
-    disc_union_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "disc_union";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "disc_union";
-              version = "0.1.0";
-              sha256 =
-                "017f5532d1b444f3e0950771a80ed34b82aa405ca650174529706b8587ea23da";
-            };
-
-            meta = {
-              description = ''Discriminated unions for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/X4lldux/disc_union";
-            };
-          } // packageOverrides)
-      ) {};
-
-    disc_union = disc_union_0_1_0;
-
-    discourse_as_sso_erlang_0_7_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cowlib_1_3_0 }:
-          buildRebar3 ({
-            name = "discourse_as_sso_erlang";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "discourse_as_sso_erlang";
-              version = "0.7.0";
-              sha256 =
-                "be569178e6b0cb49d3fc48457b5233f9e82dc447bd452e5708a071412c24bc2d";
-            };
-
-            beamDeps  = [ cowlib_1_3_0 ];
-
-            meta = {
-              longDescription = ''Low-level erlang library to encode/decode
-                                payloads for using the forum software Discourse
-                                as an SSO endpoint.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage =
-                "https://github.com/reverendpaco/discourse-as-sso-erlang";
-            };
-          } // packageOverrides)
-      ) {};
-
-    discourse_as_sso_erlang = discourse_as_sso_erlang_0_7_0;
-
-    dismake_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dismake";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dismake";
-              version = "1.0.0";
-              sha256 =
-                "7eeff4a362ed4b4250e4090caa6861ee7b27a524919f574b9f836067b63ac058";
-            };
-
-            meta = {
-              description = ''Dismake is a \"compiler\" (as in Mix.compilers)
-                            that just runs make. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/dismake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dismake = dismake_1_0_0;
-
-    distance_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "distance";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "distance";
-              version = "0.2.1";
-              sha256 =
-                "847cf16e80c6905adc7f359b845358bbfbeb3383459f2bc1e9b310cfa1e917ec";
-            };
-
-            meta = {
-              description = ''Various distance functions for geometric or
-                            geographic calculations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/distance";
-            };
-          } // packageOverrides)
-      ) {};
-
-    distance = distance_0_2_1;
-
-    distancex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "distancex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "distancex";
-              version = "0.1.0";
-              sha256 =
-                "62d78de83026d809dc93c1ea92452cffc6e905f157e9dfa25cbc51b44e54d6f4";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''Elixir-wrapper for Google Directions API. Can
-                                return the drive time and driving distance
-                                between two places.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vysakh0/distancex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    distancex = distancex_0_1_0;
-
-    diver_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "diver";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "diver";
-              version = "0.1.1";
-              sha256 =
-                "6860e05da87741be919e0b4264178e0ca1b50a108bcaeb1a2a51c9e1726d3079";
-            };
-
-            meta = {
-              longDescription = ''A HBase driver for Erlang/Elixir using
-                                jinterface and the Asynchbase Java client to
-                                query the database. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/novabyte/diver";
-            };
-          } // packageOverrides)
-      ) {};
-
-    diver = diver_0_1_1;
-
-    dlist_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dlist";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "dlist";
-              version = "0.0.1";
-              sha256 =
-                "51c9d4a9e02c9a8892450876939d1e18b7f9ae78b237a683f0efad47d46e5f9a";
-            };
-
-            meta = {
-              description = ''Deque implementations '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/dlist.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dlist = dlist_0_0_1;
-
-    dnsimple_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "dnsimple";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "dnsimple";
-              version = "0.1.0";
-              sha256 =
-                "f10326124aeabcfdcb388100d480413314609cbabfa5de31d0c486150ab28ebc";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An (experimental) Elixir client for the DNSimple
-                            API v2.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aetrion/dnsimple-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dnsimple = dnsimple_0_1_0;
-
-    doc_first_formatter_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "doc_first_formatter";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "doc_first_formatter";
-              version = "0.0.2";
-              sha256 =
-                "88500d55349571173f88d0f691e1ac7908b9663bfc06f9f0862e60ea8378313c";
-            };
-
-            meta = {
-              longDescription = ''An ExUnit formatter that puts a list of tests
-                                first, distinguishes pending from failed tests,
-                                and saves detailed error information for once
-                                the test suite is finished.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/bkerley/doc_first_formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doc_first_formatter = doc_first_formatter_0_0_2;
-
-    doc_plug_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "doc_plug";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "doc_plug";
-              version = "1.0.2";
-              sha256 =
-                "2813f85dcd4f7228d54c277898d3d7483d03ef27ed4f9abc9eae6f57b00e79b8";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Plug to automatically generate and serve project
-                            documentation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hild/doc_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doc_plug = doc_plug_1_0_2;
-
-    dogma_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "dogma";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "dogma";
-              version = "0.1.6";
-              sha256 =
-                "cd50b91d8b9ef53ee688d1e437bf4b186ec6bc6e922de7dbf7a7df7aea6dde45";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A code style linter for Elixir, powered by
-                            shame.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/dogma";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogma = dogma_0_1_6;
-
-    dogstatsd_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dogstatsd";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dogstatsd";
-              version = "0.0.3";
-              sha256 =
-                "4632886c61e928f57359790ad345d3cc58c37b0f82fb7d35d485a8e2385cf887";
-            };
-
-            meta = {
-              description = ''A client for DogStatsd, an extension of the
-                            StatsD metric server for Datadog.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamkittelson/dogstatsd-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogstatsd = dogstatsd_0_0_3;
-
-    dogstatsde_0_6_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          worker_pool_1_0_4,
-          stillir_1_0_0
-        }:
-          buildRebar3 ({
-            name = "dogstatsde";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "dogstatsde";
-              version = "0.6.0";
-              sha256 =
-                "7d24f8a5573fcbdc3f072ff93685e5277900236df4a7d49d73d8579cf566eb45";
-            };
-
-            beamDeps  = [ worker_pool_1_0_4 stillir_1_0_0 ];
-
-            meta = {
-              description = ''Send StatsD metrics to Datadog'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/WhoopInc/dogstatsde";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogstatsde = dogstatsde_0_6_0;
-
-    domainr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "domainr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "domainr";
-              version = "0.0.1";
-              sha256 =
-                "f66ccfe9fdc6b388ce7633974313826f9acffe96b4b369bb904d519e4aa26039";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Domainr is an [Domainr wrapper
-                                for](https://domainr.build) in Elixir that makes
-                                it easy to search and find available domains and
-                                TLDs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/e-fu/domainr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    domainr = domainr_0_0_1;
-
-    doorman_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          comeonin_2_4_0
-        }:
-          buildMix ({
-            name = "doorman";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "doorman";
-              version = "0.0.3";
-              sha256 =
-                "07c9e7569ec6a8bf26702b6d6a201840b4e11213c5dc42aaecd23d2e169b8c85";
-            };
-            beamDeps  = [ plug_1_1_5 comeonin_2_4_0 ];
-
-            meta = {
-              description = ''Tools to make Elixir authentication simple and
-                            flexible'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/doorman";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doorman = doorman_0_0_3;
-
-    dot_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dot";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dot";
-              version = "0.0.3";
-              sha256 =
-                "3411bf1f70bb8ea0caa64515054a4a161b711667a5cdb0e7c14e766ce04b06ae";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    dot = dot_0_0_3;
-
-    dot_notes_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dot_notes";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dot_notes";
-              version = "1.0.0";
-              sha256 =
-                "0689a006ca36716eadac9f8f83699aff6d56520a15403610d08e2f397fd60996";
-            };
-
-            meta = {
-              description = ''Simple dot/bracket notation parsing/conversion
-                            for Maps/Lists'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/dot-notes-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dot_notes = dot_notes_1_0_0;
-
-    dotenv_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dotenv";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "dotenv";
-              version = "2.1.0";
-              sha256 =
-                "caddac72cac4955ae346306b210608dd6cf380a439b4e18bcdc3d6021f3e4d6b";
-            };
-
-            meta = {
-              description = ''A port of dotenv to Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/avdi/dotenv_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dotenv = dotenv_2_1_0;
-
-    dovetail_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dovetail";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dovetail";
-              version = "0.0.3";
-              sha256 =
-                "01b6c3085ebb9cb7d43115c7a2d9780a840017e521daeb7d0a2233f61f8b0306";
-            };
-
-            meta = {
-              description = ''Dovetail provides a harness for running test
-                            dovecot servers.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/thusfresh/dovetail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dovetail = dovetail_0_0_3;
-
-    dp_decoder_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dp_decoder";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "dp_decoder";
-              version = "0.2.1";
-              sha256 =
-                "66449f7691e4f4c8041d82d910c2c86b8ec1bdc6dd2b008d9b9169fda86b22e0";
-            };
-
-            meta = {
-              description = ''Collection of decoders for different metric
-                            protocols'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/dp_decoder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dp_decoder = dp_decoder_0_2_1;
-
-    dqe_idx_0_1_18 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dqe_idx";
-            version = "0.1.18";
-            src = fetchHex {
-              pkg = "dqe_idx";
-              version = "0.1.18";
-              sha256 =
-                "6af4897e3e5fdff5055179dd765778450cdf8a43c61b5e2a2aeec483c4309c6c";
-            };
-
-            meta = {
-              description = ''Dalmatiner QE indexing'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    dqe_idx = dqe_idx_0_1_18;
-
-    druuid_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "druuid";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "druuid";
-              version = "0.3.0";
-              sha256 =
-                "238dfa36cbb4f1277e44cd9ed5900ff3045c4c19724412bb94173ed2659d0ec8";
-            };
-
-            meta = {
-              longDescription = ''Date-relative (and relatively universally
-                                unique) UUID generation. Based on
-                                https://github.com/recurly/druuid'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhelx/druuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    druuid = druuid_0_3_0;
-
-    dublin_bus_api_0_1_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "dublin_bus_api";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "dublin_bus_api";
-              version = "0.1.8";
-              sha256 =
-                "b373da947594dfc4b3a2ef11e77f7e3a1ce7875d6aab90fc39a4f285b1e77e63";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Access to the Real Time Passenger Information
-                            (RTPI) for Dublin Bus services.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/dublin-bus-api";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dublin_bus_api = dublin_bus_api_0_1_8;
-
-    duckduckgo_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "duckduckgo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "duckduckgo";
-              version = "0.1.0";
-              sha256 =
-                "349fd4b837634507a8e11280c244b064d1eb4e0d3333994f79e5341eec522c2f";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the DuckDuckGo Instant
-                            Answer API.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/pjhampton/DuckDuckElixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    duckduckgo = duckduckgo_0_1_0;
-
-    durga_transport_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "durga_transport";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "durga_transport";
-              version = "1.0.1";
-              sha256 =
-                "42db857eba0e78c4eb15823b5137e8ccad13711cc2c873b6f1b469c4c0771009";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    durga_transport = durga_transport_1_0_1;
-
-    dye_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dye";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "dye";
-              version = "0.4.0";
-              sha256 =
-                "95c11e5baafc79531f37bee1256066a8fef63739707723ac1e349739a3217003";
-            };
-
-            meta = {
-              description = ''Dyeing your terminal!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Kabie/dye";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dye = dye_0_4_0;
-
-    dynamic_compile_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dynamic_compile";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dynamic_compile";
-              version = "1.0.0";
-              sha256 =
-                "eb73d8e9a6334914f79c15ee8214acad9659c42222d49beda3e8b6f6789a980a";
-            };
-
-            meta = {
-              description = ''compile and load erlang modules from string
-                            input'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/okeuday/dynamic_compile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dynamic_compile = dynamic_compile_1_0_0;
-
-    e2qc_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "e2qc";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "e2qc";
-              version = "0.1.0";
-              sha256 =
-                "3a97f9b3c60ec723002a816c041ac224dc5aba3360bd922c5e38cfd40f59c65b";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''2q cache'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/project-fifo/e2qc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e2qc = e2qc_0_1_0;
-
-    e_queue_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "e_queue";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "e_queue";
-              version = "1.0.1";
-              sha256 =
-                "aff37843191c1229ec49d0d067b18d5e0871a28fe049a4a82c7884e66320b7e8";
-            };
-
-            meta = {
-              longDescription = ''An Elixir wrapper around the Erlang optimized
-                                `queue` that supports the FIFO, first-in
-                                first-out, pattern. This is useful is when you
-                                can`t predict when an item needs to be taken or
-                                added to the queue. Use this instead of using
-                                `++` or double reversing lists to add items to
-                                the \"back\" of a queue.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/e_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e_queue = e_queue_1_0_1;
-
-    e_quip_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "e_quip";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "e_quip";
-              version = "0.0.1";
-              sha256 =
-                "e6fe9eeb96dbc863b527a792e730ea41aea43caef2a5db68ea2c4c9fc21f552a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Quip API Client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mmartinson/e_quip";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e_quip = e_quip_0_0_1;
-
-    earmark_0_1_19 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "earmark";
-            version = "0.1.19";
-            src = fetchHex {
-              pkg = "earmark";
-              version = "0.1.19";
-              sha256 =
-                "db85f989ba3030d40d3a901d7eebbf926ee07355bf6113d730b8aaf9404a6bd7";
-            };
-
-            meta = {
-              longDescription = ''Earmark is a pure-Elixir Markdown converter.
-                                It is intended to be used as a library (just
-                                call Earmark.to_html), but can also be used as a
-                                command-line tool (just run mix escript.build
-                                first). Output generation is pluggable.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/earmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    earmark_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "earmark";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "earmark";
-              version = "0.2.1";
-              sha256 =
-                "c86afb8d22a5aa8315afd4257c7512011c0c9a48b0fea43af7612836b958098b";
-            };
-
-            meta = {
-              longDescription = ''Earmark is a pure-Elixir Markdown converter.
-                                It is intended to be used as a library (just
-                                call Earmark.to_html), but can also be used as a
-                                command-line tool (just run mix escript.build
-                                first). Output generation is pluggable.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/earmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    earmark = earmark_0_2_1;
-
-    eastar_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eastar";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "eastar";
-              version = "0.4.0";
-              sha256 =
-                "21a74b1ac6da2a24eb5e6e14e5537389dd671fa2fc94a4594e0e7ddcf4b4c87a";
-            };
-
-            meta = {
-              longDescription = ''Eastar is a pure-Elixir implementation of A*
-                                graph pathfinding algorithm. All graph
-                                environment, like nodes connectivity, distance &
-                                H-metric are abstracted away - you provide them
-                                as functions.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/herenowcoder/eastar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eastar = eastar_0_4_0;
-
-    easy_server_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "easy_server";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "easy_server";
-              version = "0.0.1";
-              sha256 =
-                "af9faac0c7c440cf04bbb5d1f8aea1fc00b0c60da384c8103fafdaf0df00a0bb";
-            };
-
-            meta = {
-              description = ''Easier GenServer for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/termoose/EasyServer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    easy_server = easy_server_0_0_1;
-
-    easypost_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "easypost";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "easypost";
-              version = "0.0.1";
-              sha256 =
-                "8339fcfb60a1d4833b99aa611d194bf1ae94f22509dc81cf90d07ee2db0e074e";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Elixir Easypost Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Dania02525/easypost";
-            };
-          } // packageOverrides)
-      ) {};
-
-    easypost = easypost_0_0_1;
-
-    ec2_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "ec2";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "ec2";
-              version = "0.9.1";
-              sha256 =
-                "ae857fe633bca078fd1ee54232dd3bc74566ff46b93aa53e38d74c546c3d9b6f";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''helper library for working with aws ec2
-                            metadata'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/talentdeficit/ec2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ec2 = ec2_0_9_1;
-
-    echo_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "echo";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "echo";
-              version = "0.2.0";
-              sha256 =
-                "e03b37ada0457fbf3e91b2e721c9367b1590a17a5fb9be35672a46206309f1a4";
-            };
-
-            meta = {
-              longDescription = ''A simple & highly extendable,
-                                meta-notification system; Echo checks
-                                notification preferences & dispatch
-                                notifications to different adapters (ex. email,
-                                logger, analytics, sms, etc.)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/zmoshansky/echo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echo = echo_0_2_0;
-
-    echo_bot_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          telegram_0_0_3,
-          poison_2_1_0,
-          gproc_0_5_0
-        }:
-          buildMix ({
-            name = "echo_bot";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "echo_bot";
-              version = "0.0.2";
-              sha256 =
-                "f353984ab5ea36b423b2a18d788d5eeeb6ae45aca254129b99c5bbab9865b38c";
-            };
-            beamDeps  = [ telegram_0_0_3 poison_2_1_0 gproc_0_5_0 ];
-
-            meta = {
-              description = ''A demo telegram bot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/echo_bot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echo_bot = echo_bot_0_0_2;
-
-    echonest_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "echonest_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "echonest_ex";
-              version = "0.0.2";
-              sha256 =
-                "d8b3d7f2b04eb48b689877aaf9db30f33acea3ea02daca5aad8d105ac785bd98";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Echonest api wrapper for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/desmondhume/echonest_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echonest_ex = echonest_ex_0_0_2;
-
-    econfig_0_7_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "econfig";
-            version = "0.7.3";
-            src = fetchHex {
-              pkg = "econfig";
-              version = "0.7.3";
-              sha256 =
-                "bddff19a757209d3e98b6952897fbf8790f6cf33d9e5caf2501263ea4ad46e3c";
-            };
-
-            meta = {
-              description = ''simple Erlang config handler using INI files'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/benoitc/econfig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    econfig = econfig_0_7_3;
-
-    ecs_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ecs";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "ecs";
-              version = "0.3.0";
-              sha256 =
-                "266fe69adcb3772352bc47b1312e00e8ec0a15a03c412be1b63b147a916f6156";
-            };
-
-            meta = {
-              description = ''An experimental Entity-Component System (ECS)
-                            game engine.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshforisha/ecs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ecs = ecs_0_3_0;
-
-    ecto_audit_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ecto_audit";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ecto_audit";
-              version = "0.0.1";
-              sha256 =
-                "04829a9670d4258b96c6218043093b68a1d3b03c37ee316a1c19366a59dbbd59";
-            };
-
-            meta = {
-              description = ''Ecto extension to support auditing data changes
-                            in your Schema.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/ecto_audit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ecto_audit = ecto_audit_0_0_1;
-
-    ed25519_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ed25519";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ed25519";
-              version = "0.2.0";
-              sha256 =
-                "ddd159c41eea85a2fc198a0a8ed06d69ef42b4657f7122610d5e0a5653d2ef03";
-            };
-
-            meta = {
-              description = ''Ed25519 signature functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/ed25519_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ed25519 = ed25519_0_2_0;
-
-    edib_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "edib";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "edib";
-              version = "0.7.0";
-              sha256 =
-                "4ff16e9397a14d13a0a4bcef30634393999c24ed17e6f90817f5f115e09db5a2";
-            };
-
-            meta = {
-              longDescription = ''Mix task to create a docker image of your
-                                application release. More detailed information
-                                about release image building at:
-                                https://github.com/edib-tool/elixir-docker-image-builder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edib-tool/mix-edib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edib = edib_0_7_0;
-
-    edip_0_4_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "edip";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "edip";
-              version = "0.4.3";
-              sha256 =
-                "b0b9f34b2048b3f03c1f25b6dc60a1567b6f3ec8c6ad945de30dc313d7608800";
-            };
-
-            meta = {
-              longDescription = ''Mix task to create a docker image of your
-                                application release. More detailed information
-                                about release image packaging at:
-                                https://github.com/asaaki/elixir-docker-image-packager'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/mix-edip";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edip = edip_0_4_3;
-
-    edown_0_7_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "edown";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "edown";
-              version = "0.7.0";
-              sha256 =
-                "6d7365a7854cd724e8d1fd005f5faa4444eae6a87eb6df9b789b6e7f6f09110a";
-            };
-
-            meta = {
-              description = ''Markdown generated from Edoc.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/uwiger/edown";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edown = edown_0_7_0;
-
-    eeb_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_1_201603,
-          timex_1_0_2,
-          plug_0_14_0,
-          earmark_0_1_19,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "eeb";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "eeb";
-              version = "0.2.0";
-              sha256 =
-                "0615ccea012507ae35f6f1f4f8a46eac6d9eceba0cdface2df5c0d70b7caddbc";
-            };
-            beamDeps  = [
-                          tzdata_0_1_201603
-                          timex_1_0_2
-                          plug_0_14_0
-                          earmark_0_1_19
-                          cowboy_1_0_4
-                        ];
-
-            meta = {
-              description = ''Elixir extendable blog.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aborn/eeb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eeb = eeb_0_2_0;
-
-    efirebirdsql_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "efirebirdsql";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "efirebirdsql";
-              version = "0.1.1";
-              sha256 =
-                "dff29bcd6f5f99baa18dd339c01f441b498030e88ac4a1d7c4524da79b0a4cb7";
-            };
-
-            meta = {
-              description = ''Firebird Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nakagami/efirebirdsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    efirebirdsql = efirebirdsql_0_1_1;
-
-    egaugex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "egaugex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "egaugex";
-              version = "0.0.2";
-              sha256 =
-                "307c0a21c196db45431e5472ad090548f956ccb0e02f97491fba07a2a52d0c51";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''A simple egauge parser to retrieve and parse data
-                            from egauge devices'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Brightergy/egaugex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    egaugex = egaugex_0_0_2;
-
-    eh_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eh";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "eh";
-              version = "0.2.0";
-              sha256 =
-                "91013c78138c8854c5699ef42324e66286fed0048c4d4212c4dc3012d764c628";
-            };
-
-            meta = {
-              description = ''Lookup Elixir documentation from the command line
-                            '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Frost/eh.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eh = eh_0_2_0;
-
-    eight_ball_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eight_ball";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "eight_ball";
-              version = "0.0.1";
-              sha256 =
-                "1ba1b2b5f3dfaba751b51f101c3c526a09f0c989768f265e82a6a065447a6aa4";
-            };
-
-            meta = {
-              description = ''Library that acts like a real life Magic 8
-                            Ball.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fteem/eight_ball";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eight_ball = eight_ball_0_0_1;
-
-    eight_ball_dj_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eight_ball_dj";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "eight_ball_dj";
-              version = "0.0.2";
-              sha256 =
-                "5b0d4f92a76f3d48d5541936ae8540154ed2a14ccda1a45e250d6a577bb541f5";
-            };
-
-            meta = {
-              description = ''Ask a question to the Magic Eight Ball'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/djkianoosh/eight_ball";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eight_ball_dj = eight_ball_dj_0_0_2;
-
-    eikon_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eikon";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "eikon";
-              version = "0.0.2";
-              sha256 =
-                "fc624850b69504dd3f05e65ce40b4480aef70b605045f3d79d218c39c443a205";
-            };
-
-            meta = {
-              description = ''Eikōn is an Elixir library providing a read-only
-                            interface for image files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tchoutri/eikon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eikon = eikon_0_0_2;
-
-    eio_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "eio";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "eio";
-              version = "0.1.0";
-              sha256 =
-                "f39f017c73713b36ee27d8a0635634ac2e96b4d540f28db9dd358d8744dccd88";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Engine.io server for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/eio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eio = eio_0_1_0;
-
-    ejabberd_dev_15_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ejabberd_dev";
-            version = "15.9.0";
-            src = fetchHex {
-              pkg = "ejabberd_dev";
-              version = "15.9.0";
-              sha256 =
-                "4c4ca5b3ee1900bd7e5babed76cae361b6350ed5793ce013cbfccc06208c291e";
-            };
-
-            meta = {
-              longDescription = ''A package to help with building ejabberd
-                                modules. This package includes source and header
-                                files from the ejabberd project that are
-                                necessary in order to build a gen_mod module.'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/scrogson/ejabberd_dev";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ejabberd_dev = ejabberd_dev_15_9_0;
-
-    ejwt_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildRebar3 ({
-            name = "ejwt";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ejwt";
-              version = "0.1.0";
-              sha256 =
-                "c316a4b7fd21b07b401a3a01db9039b7006f5a1c7e96a981b6cbcb36da1a4a84";
-            };
-
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''Encode/decode JSON Web Token'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/artefactop/ejwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ejwt = ejwt_0_1_0;
-
-    elastex_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "elastex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "elastex";
-              version = "0.1.2";
-              sha256 =
-                "eaab5305db3d5d326e471dc1799606b7055971dfb7d9a27571850d2ce7e97f9b";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Data driven elixir client for Elasticsearch.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaeldoaty/elastex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elastex = elastex_0_1_2;
-
-    elaxtic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "elaxtic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "elaxtic";
-              version = "0.0.1";
-              sha256 =
-                "a912a0327bfe1c6443cec47a03d11450fed2e649bfdcd4e77bdb9176baa8cd45";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ElasticSearch client for Elixir and Ecto
-                            driver.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/elaxtic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elaxtic = elaxtic_0_0_1;
-
-    elixir_ami_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_ami";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "elixir_ami";
-              version = "0.0.3";
-              sha256 =
-                "781171af1bcc20466117fb119646b55ad473c93ce57549ffec4c65f7ba8a1ede";
-            };
-
-            meta = {
-              longDescription = ''Elixir client for the Asterisk AMI protocol.
-                                Find the user guide in the github repo at:
-                                https://github.com/marcelog/elixir_ami.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_ami";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_ami = elixir_ami_0_0_3;
-
-    elixir_authorizenet_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          exmerl_0_1_1
-        }:
-          buildMix ({
-            name = "elixir_authorizenet";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "elixir_authorizenet";
-              version = "0.2.2";
-              sha256 =
-                "10111f4fe073d69a5ae817838377ba52bf6b04199c8386f48ca13804db6e2f70";
-            };
-            beamDeps  = [ xml_builder_0_0_8 exmerl_0_1_1 ];
-
-            meta = {
-              longDescription = ''Elixir client for the Authorize.Net merchant
-                                API. This should help you integrate using the
-                                AIM. A nice number of features are implemented
-                                (probably most of the ones used on a daily basis
-                                are already there), but since the API offers a
-                                big number of features and combinations, I still
-                                consider this as WIP, and pull requests,
-                                suggestions, or other kind of feedback are very
-                                welcome! Find the user guide in the github repo
-                                at:
-                                https://github.com/marcelog/elixir_authorizenet.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_authorizenet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_authorizenet = elixir_authorizenet_0_2_2;
-
-    elixir_bencode_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_bencode";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_bencode";
-              version = "1.0.0";
-              sha256 =
-                "2c4c86843b2377182da7cff125784a227c7bc63ef9e92ce7257f14b132667ebe";
-            };
-
-            meta = {
-              description = ''Bencode encoder / decoder in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/AntonFagerberg/elixir_bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_bencode = elixir_bencode_1_0_0;
-
-    elixir_exif_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_exif";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "elixir_exif";
-              version = "0.1.1";
-              sha256 =
-                "a491a3e134c00f2a1f59c8e3a1bd62b9b94c1ce4179a20d737903f3edcc9bd78";
-            };
-
-            meta = {
-              description = ''Parse exif and thumbnail data from jpeg/tiff
-                            images.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/ElixirExif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_exif = elixir_exif_0_1_1;
-
-    elixir_feed_parser_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "elixir_feed_parser";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "elixir_feed_parser";
-              version = "1.1.0";
-              sha256 =
-                "d623eaf020971979601ff135b56776d1b4a73da7eb75d7ae757a8ea18fd41ca0";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''An Elixir Atom/RSS2 feed parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fdietz/elixir-feed-parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_feed_parser = elixir_feed_parser_1_1_0;
-
-    elixir_freshbooks_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          exmerl_0_1_1
-        }:
-          buildMix ({
-            name = "elixir_freshbooks";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "elixir_freshbooks";
-              version = "0.0.4";
-              sha256 =
-                "404ba66129bb1a756f6c06460d483d72d59990bc460616a1e61bd87af4108628";
-            };
-            beamDeps  = [ xml_builder_0_0_8 exmerl_0_1_1 ];
-
-            meta = {
-              description = ''Elixir client for FreshBooks.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_freshbooks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_freshbooks = elixir_freshbooks_0_0_4;
-
-    elixir_gravatar_url_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_gravatar_url";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_gravatar_url";
-              version = "1.0.0";
-              sha256 =
-                "e298fbfc6c4ebf401cf4e62739d79696eff3ce454f037055523c08f2cf815db1";
-            };
-
-            meta = {
-              description = ''An Elixir module for generating Gravatar urls'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_gravatar_url = elixir_gravatar_url_1_0_0;
-
-    elixir_make_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_make";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_make";
-              version = "0.1.0";
-              sha256 =
-                "940d1a8e6f6ed8f8bc5c349371b200416bcb657e3a7d0fc64e7292263bf02de6";
-            };
-
-            meta = {
-              description = ''A Make compiler for Mix'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/elixir_make";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_make = elixir_make_0_1_0;
-
-    elixir_mbcs_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_mbcs";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "elixir_mbcs";
-              version = "0.1.2";
-              sha256 =
-                "45d2572ed4c2bae10e961ddf95846ffd64f83ed7427898b8fdf3221607f610b5";
-            };
-
-            meta = {
-              description = ''Convert the character encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/woxtu/elixir-mbcs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_mbcs = elixir_mbcs_0_1_2;
-
-    elixir_mod_event_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "elixir_mod_event";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "elixir_mod_event";
-              version = "0.0.5";
-              sha256 =
-                "d38fe29a32107e889c52f849ceec6267709591b7db98db14bd3890683ca78b0f";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              longDescription = ''Elixir client for FreeSWITCH
-                                mod_event_socket. Find the user guide in the
-                                github repo at:
-                                https://github.com/marcelog/elixir_mod_event.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_mod_event";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_mod_event = elixir_mod_event_0_0_5;
-
-    elixir_prelude_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_prelude";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "elixir_prelude";
-              version = "0.2.1";
-              sha256 =
-                "178d8de9762447e8f8271bd6af356a171af9fb7c20fcd4fa510a05e19b24240d";
-            };
-
-            meta = {
-              description = ''Small set of useful utility functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/elixir_prelude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_prelude = elixir_prelude_0_2_1;
-
-    elixir_radius_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_radius";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_radius";
-              version = "0.1.0";
-              sha256 =
-                "40f4c2a792c5967e21d4e7914a91a62fbed3712bf9c6ec5f0a549e659e4ddc94";
-            };
-
-            meta = {
-              description = ''Decode & encode RADIUS packets '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bearice/elixir-radius";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_radius = elixir_radius_0_1_0;
-
-    elixir_script_0_20_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2, estree_2_3_0
-        }:
-          buildMix ({
-            name = "elixir_script";
-            version = "0.20.0";
-            src = fetchHex {
-              pkg = "elixir_script";
-              version = "0.20.0";
-              sha256 =
-                "259c8ff57f171eda4a9ac15fe6307063b76630168fd582f27e3dfb1c621e0533";
-            };
-            beamDeps  = [ fs_0_9_2 estree_2_3_0 ];
-
-            meta = {
-              description = ''ElixirScript: compiles Elixir code to
-                            JavaScript'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/elixirscript";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_script = elixir_script_0_20_0;
-
-    elixir_talk_1_1_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, yaml_elixir_1_0_0
-        }:
-          buildMix ({
-            name = "elixir_talk";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "elixir_talk";
-              version = "1.1.1";
-              sha256 =
-                "29735f954662da43179de5af018e22b54eb44b5680dd526a5a158b3201324b47";
-            };
-            beamDeps  = [ yaml_elixir_1_0_0 ];
-
-            meta = {
-              description = ''ElixirTalk is an Elixir client for beanstalkd.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jsvisa/elixir_talk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_talk = elixir_talk_1_1_1;
-
-    elixir_tea_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_tea";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_tea";
-              version = "1.0.0";
-              sha256 =
-                "c1e46d2d7b07a926ba8730452f517db45cf4f8f35d119b84aa0f0f676048cdcc";
-            };
-
-            meta = {
-              description = ''A TEA (Tiny Encryption Algorithm) implemented in
-                            pure Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keichan34/elixir_tea";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_tea = elixir_tea_1_0_0;
-
-    elixir_v8_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "elixir_v8";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "elixir_v8";
-              version = "0.2.2";
-              sha256 =
-                "71034e37c2b8113156b19b1ca5b9b772fb454fe11c1cba33567fb61d3c8cedbe";
-            };
-            beamDeps  = [ poolboy_1_5_1 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''V8 engine for Elixir with pools.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/le0pard/elixir_v8";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_v8 = elixir_v8_0_2_2;
-
-    elixir_wit_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "elixir_wit";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_wit";
-              version = "0.1.0";
-              sha256 =
-                "75b9046cd41146c4e3b486541cf37a5e27eea42d179af7fda127bdb391855224";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''Elixir client for the Wit API. Wit is the
-                                natural language engine for creating Bots.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zabirauf/elixir_wit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_wit = elixir_wit_0_1_0;
-
-    elixlsx_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixlsx";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "elixlsx";
-              version = "0.0.3";
-              sha256 =
-                "baa903f52efd18705bc4f11f25674249e38ba22d111f49321b8f750c063fb932";
-            };
-
-            meta = {
-              description = ''a writer for XLSX spreadsheet files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/xou/elixlsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixlsx = elixlsx_0_0_3;
-
-    elli_1_0_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "elli";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "elli";
-              version = "1.0.5";
-              sha256 =
-                "fb55bab884f1d921f2e86c00738909a9e56aca14604e617b138e163093609c97";
-            };
-
-            meta = {
-              description = ''Fast and robust web server for building
-                            high-throughput, low-latency apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knutin/elli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elli = elli_1_0_5;
-
-    elmer_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elmer";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "elmer";
-              version = "0.0.11";
-              sha256 =
-                "cefb6a31a8e4ab5de698cd24f9a02c1fef690f0111f49ffa3e3d57c027c5160c";
-            };
-
-            meta = {
-              description = ''Helper mix tasks for generating elm files like
-                            Main, Ports, Models, Msgs, etc.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanjohnson320/elmer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elmer = elmer_0_0_11;
-
-    elmxir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elmxir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "elmxir";
-              version = "0.0.1";
-              sha256 =
-                "65ad59b4922b75fb7b6c888f3e5c7dea1d01a4a085a376261bcaa3cfd6ce0845";
-            };
-
-            meta = {
-              description = ''Helper functions for working with Elm + Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/NoRedInk/elmxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elmxir = elmxir_0_0_1;
-
-    eministat_0_10_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "eministat";
-            version = "0.10.1";
-            src = fetchHex {
-              pkg = "eministat";
-              version = "0.10.1";
-              sha256 =
-                "1e581fe282e8851c036fb6e4908add91956eba62ce0cce97fceee66067157d5f";
-            };
-
-            meta = {
-              description = ''Basic statistics for comparing datasets from
-                            benchmarks'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    eministat = eministat_0_10_1;
-
-    eml_0_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eml";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "eml";
-              version = "0.7.1";
-              sha256 =
-                "f03a35e2684455ee9e8b641f9550d41893f5b013c1277751685414f56cee9c0a";
-            };
-
-            meta = {
-              longDescription = ''Eml makes markup a first class citizen in
-                                Elixir. It provides a flexible and modular
-                                toolkit for generating, parsing and manipulating
-                                markup. It`s main focus is html, but other
-                                markup languages could be implemented as well.
-                                '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zambal/eml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eml = eml_0_7_1;
-
-    env_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "env";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "env";
-              version = "0.1.0";
-              sha256 =
-                "befbc0d4a4fc368c05a693a5d29860932c812f8dff2cd14dd62a590ba49b8875";
-            };
-
-            meta = {
-              description = ''Env is an improved application configuration
-                            reader for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/michalmuskala/env";
-            };
-          } // packageOverrides)
-      ) {};
-
-    env = env_0_1_0;
-
-    env_helper_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "env_helper";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "env_helper";
-              version = "0.0.2";
-              sha256 =
-                "36bb88f51ea9a967a9c86d0c9de790f1d88f8b25863c03e4a733d75b9bfb9f54";
-            };
-
-            meta = {
-              description = ''A simple add on to make working with environment
-                            variables slightly easier.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manheim/env_helper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    env_helper = env_helper_0_0_2;
-
-    envy_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "envy";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "envy";
-              version = "0.0.2";
-              sha256 =
-                "01e20425b7b5acfa1f43d7431601015e059d9363bf9d50b00f2aeb6b0e3fa03f";
-            };
-
-            meta = {
-              description = ''A package for managing env files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/envy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    envy = envy_0_0_2;
-
-    eon_3_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eon";
-            version = "3.0.0";
-            src = fetchHex {
-              pkg = "eon";
-              version = "3.0.0";
-              sha256 =
-                "a19006b99ffbe846fe064adfb128cbb6b49c85d08becb60d1e204e1d1f0db94e";
-            };
-
-            meta = {
-              description = ''Use Elixir maps as a document storage format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/supernintendo/eon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eon = eon_3_0_0;
-
-    eper_0_94_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eper";
-            version = "0.94.0";
-            src = fetchHex {
-              pkg = "eper";
-              version = "0.94.0";
-              sha256 =
-                "8d853792fa61a7fd068fe9c113a8a44bc839e11ad70cb8d5d2884566e3bede39";
-            };
-
-            meta = {
-              longDescription = ''Erlang Performance and Debugging Tools sherk
-                                - a profiler, similar to Linux oprofile or MacOs
-                                shark gperf - a graphical performance monitor;
-                                shows CPU, memory and network usage dtop -
-                                similar to unix top redbug- similar to the OTP
-                                dbg application, but safer, better etc.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/massemanet/eper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eper = eper_0_94_0;
-
-    epgpool_1_0_1 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_4_2,
-          lager_3_0_2,
-          epgsql_3_2_0
-        }:
-          buildRebar3 ({
-            name = "epgpool";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "epgpool";
-              version = "1.0.1";
-              sha256 =
-                "23435ebb6b6c8615b1e6ccd6277eb1e6b69b57d0a2079b536b0aaa60ddb094bd";
-            };
-
-            beamDeps  = [ poolboy_1_4_2 lager_3_0_2 epgsql_3_2_0 ];
-
-            meta = {
-              description = ''Erlang postgresql pool application'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/epgpool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgpool = epgpool_1_0_1;
-
-    epgsql_3_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "epgsql";
-            version = "3.1.1";
-            src = fetchHex {
-              pkg = "epgsql";
-              version = "3.1.1";
-              sha256 =
-                "4b3f478ad090aed7200b2a8c9f2d5ef45c3aaa167be896b5237bba4b40f461d8";
-            };
-
-            meta = {
-              description = ''PostgreSQL Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/epgsql/epgsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgsql_3_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "epgsql";
-            version = "3.2.0";
-            src = fetchHex {
-              pkg = "epgsql";
-              version = "3.2.0";
-              sha256 =
-                "ff88a419df7b3084e8358538ade8b1844f5d6d18e9fa8c2124acea889720665a";
-            };
-
-            meta = {
-              description = ''PostgreSQL Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/epgsql/epgsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgsql = epgsql_3_2_0;
-
-    epiphany_0_1_0_dev = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, connection_1_0_2 }:
-          buildMix ({
-            name = "epiphany";
-            version = "0.1.0-dev";
-            src = fetchHex {
-              pkg = "epiphany";
-              version = "0.1.0-dev";
-              sha256 =
-                "38b15e762a4bb8c57a3ef238531dd465113b1019fb5aa63d7c8b38ed579f15f9";
-            };
-            beamDeps  = [ connection_1_0_2 ];
-
-            meta = {
-              description = ''Cassandra driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vptheron/epiphany";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epiphany = epiphany_0_1_0_dev;
-
-    episcina_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, gproc_0_3_1 }:
-          buildRebar3 ({
-            name = "episcina";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "episcina";
-              version = "1.1.0";
-              sha256 =
-                "16238717bfbc8cb226342f6b098bb1fafb48c7547265a10ad3e6e83899abc46f";
-            };
-
-            beamDeps  = [ gproc_0_3_1 ];
-
-            meta = {
-              description = ''Erlang Connection Pool'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    episcina = episcina_1_1_0;
-
-    eqc_ex_1_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eqc_ex";
-            version = "1.2.4";
-            src = fetchHex {
-              pkg = "eqc_ex";
-              version = "1.2.4";
-              sha256 =
-                "2d2895bedf784ffaf11144d25e6ca11a4cfff5b73c35ec6bedd3c5ec5cabc5e9";
-            };
-
-            meta = {
-              description = ''Wrappers to facilitate using Quviq QuickCheck
-                            with Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-            };
-          } // packageOverrides)
-      ) {};
-
-    eqc_ex = eqc_ex_1_2_4;
-
-    equery_0_6_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "equery";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "equery";
-              version = "0.6.1";
-              sha256 =
-                "4a492b7cb64c0014c6be8fc763df665ec129bd56c7350e00cbd3d6fd556a8c60";
-            };
-
-            meta = {
-              description = ''Sql generator library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/equery";
-            };
-          } // packageOverrides)
-      ) {};
-
-    equery = equery_0_6_1;
-
-    equivalex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "equivalex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "equivalex";
-              version = "0.1.0";
-              sha256 =
-                "8c5cd7fb186085ce088839098a98366f798674a4018cb328978a5e0b2f55ad7d";
-            };
-
-            meta = {
-              description = ''constant time polymorphic comparisons'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/equivalex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    equivalex = equivalex_0_1_0;
-
-    eredis_1_0_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eredis";
-            version = "1.0.8";
-            src = fetchHex {
-              pkg = "eredis";
-              version = "1.0.8";
-              sha256 =
-                "f303533e72129b264a2d8217c4ddc977c7527ff4b8a6a55f92f62b7fcc099334";
-            };
-
-            meta = {
-              description = ''Erlang Redis client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wooga/eredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eredis = eredis_1_0_8;
-
-    erl2ex_0_0_9 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "erl2ex";
-            version = "0.0.9";
-            src = fetchHex {
-              pkg = "erl2ex";
-              version = "0.0.9";
-              sha256 =
-                "4e49c461ecffc33986bb72a43ae87211fb33fed39077fb522c381b884d189514";
-            };
-
-            meta = {
-              longDescription = ''Erl2ex is an Erlang to Elixir transpiler,
-                                converting well-formed Erlang source to Elixir
-                                source with equivalent functionality.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/dazuma/erl2ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erl2ex = erl2ex_0_0_9;
-
-    erlang_localtime_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_localtime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "erlang_localtime";
-              version = "1.0.0";
-              sha256 =
-                "46e3f7b18477b377ec71f9dcd91c4d30fe82a128ffa9f89be1595d4d08414844";
-            };
-
-            meta = {
-              description = ''Erlang library for conversion from one local time
-                            to another'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/choptastic/erlang_localtime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_localtime = erlang_localtime_1_0_0;
-
-    erlang_term_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_term";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "erlang_term";
-              version = "1.4.0";
-              sha256 =
-                "1a4d491dbd13b7a714815af10fc658948a5a440de23755a32b741ca07d8ba592";
-            };
-
-            meta = {
-              description = ''Provide the in-memory size of Erlang terms'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/erlang_term";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_term_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_term";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "erlang_term";
-              version = "1.5.1";
-              sha256 =
-                "88bae81a80306e82fd3fc43e2d8228049e666f3cfe4627687832cd7edb878e06";
-            };
-
-            meta = {
-              description = ''Provide the in-memory size of Erlang terms'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/erlang_term";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_term = erlang_term_1_5_1;
-
-    erlang_version_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_version";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "erlang_version";
-              version = "0.2.0";
-              sha256 =
-                "74daddba65a247ec57913e5de8f243af42bbbc3d6a0c411a1252da81c09ae661";
-            };
-
-            meta = {
-              description = ''Retrieve Erlang/OTP version like `18.1`'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sapporo-beam/erlang_version";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_version = erlang_version_0_2_0;
-
-    erlaudio_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "erlaudio";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "erlaudio";
-              version = "0.2.3";
-              sha256 =
-                "cb9efb0ce80faae003ab39f8cc2d3fccbb4bd1c8f5f525aea392f28662517032";
-            };
-
-            meta = {
-              description = ''Erlang audio bindings to portaudio'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/asonge/erlaudio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlaudio = erlaudio_0_2_3;
-
-    erlcloud_0_11_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_3,
-          lhttpc_1_3_0,
-          jsx_2_6_2
-        }:
-          buildRebar3 ({
-            name = "erlcloud";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "erlcloud";
-              version = "0.11.0";
-              sha256 =
-                "ca9876dab57ed8fb5fb75ab6ce11e59a346387d357d7a038a2e18d1d31a30716";
-            };
-
-            beamDeps  = [ meck_0_8_3 lhttpc_1_3_0 jsx_2_6_2 ];
-
-            meta = {
-              description = ''Erlang cloud computing library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlcloud/erlcloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlcloud_0_13_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          lhttpc_1_4_0,
-          jsx_2_8_0
-        }:
-          buildRebar3 ({
-            name = "erlcloud";
-            version = "0.13.2";
-            src = fetchHex {
-              pkg = "erlcloud";
-              version = "0.13.2";
-              sha256 =
-                "568d464760802322b7dc81e95f9c7bfb2fa8121423e67b2db6ed1c80697e1277";
-            };
-
-            beamDeps  = [ lhttpc_1_4_0 jsx_2_8_0 ];
-
-            meta = {
-              description = ''Erlang cloud computing library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlcloud/erlcloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.1.0";
-              sha256 =
-                "772162f0f0349f89ea11b9f27401cb437ccaabf480320284a13f2259bb63cb87";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.1.3";
-              sha256 =
-                "a4e62b46796a1b1b5e77798346e553e1460b4f97670c868f29d1e2853c02ae33";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.2.1";
-              sha256 =
-                "47846ec5bcff158468bcbe4a0608c9c89e3822d1ba10ea4d2f04b0395dc03880";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec = erlexec_1_2_1;
-
-    erlsh_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlsh";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "erlsh";
-              version = "0.1.0";
-              sha256 =
-                "94ef1492dd59fef211f01ffd40c47b6e51c0f59e2a3d0739366e4890961332d9";
-            };
-            compilePorts = true;
-
-            meta = {
-              longDescription = ''Family of functions and ports involving
-                                interacting with the system shell, paths and
-                                external programs.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlsh = erlsh_0_1_0;
-
-    erlsom_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlsom";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "erlsom";
-              version = "1.4.1";
-              sha256 =
-                "57b777fe2522e342badfa35873b2266c6961e3a9f4d2ac195d761985c40c3247";
-            };
-
-            meta = {
-              longDescription = ''XML parser. Supports SAX style parsing as
-                                well as XML Schema based data mapping: create
-                                records from XML (and vice versa)'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/willemdj/erlsom";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlsom = erlsom_1_4_1;
-
-    erlware_commons_0_13_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.13.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.13.0";
-              sha256 =
-                "d083bbb622a5df09857464f45e1b20a34c66c1376870ece6f9b093a236bbea27";
-            };
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_15_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.15.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.15.0";
-              sha256 =
-                "5f38cb1df90148a7b21d48b221f399244ce86256584e6ea7986f2de732dee3c6";
-            };
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_18_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.18.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.18.0";
-              sha256 =
-                "e71dda7cd5dcf34c9d07255d49c67e1d229dd230c101fdb996820bcdb5b03c49";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_19_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.19.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.19.0";
-              sha256 =
-                "5bbff9402cd9e973af81745a8a40177d245b55b4c239f80a236949b856f2dabd";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_20_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.20.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.20.0";
-              sha256 =
-                "bff981dbd0acb12ac9d10b41ca96ba76a26e2a1f2714d1e0cb0112f4a67d956a";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_21_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.21.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.21.0";
-              sha256 =
-                "e70a95762458a489dc37fe869f41517bd43c130e156ef08462f90c534300ab3f";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons = erlware_commons_0_21_0;
-
-    erlydtl_0_11_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlydtl";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "erlydtl";
-              version = "0.11.1";
-              sha256 =
-                "b1958c0ec95de69458c6af8b5bffbdde0070d5042710a63b1616cacdf39ae188";
-            };
-
-            meta = {
-              description = ''Django Template Language for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/project-fifo/fifo_spec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlydtl = erlydtl_0_11_1;
-
-    erlydtl2_0_11_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlydtl2";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "erlydtl2";
-              version = "0.11.1";
-              sha256 =
-                "ae0d9f293ce8a2eeaabedf2b5f950d21e14570e67e5a38c11fe1e4ca598e6d5b";
-            };
-
-            meta = {
-              description = ''Django Template Language for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlydtl/erlydtl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlydtl2 = erlydtl2_0_11_1;
-
-    erlzk_0_6_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlzk";
-            version = "0.6.2";
-            src = fetchHex {
-              pkg = "erlzk";
-              version = "0.6.2";
-              sha256 =
-                "b9b8e85e34f33550078e58e13fcb29c6bfe75e0585ee94f809d434fce546c246";
-            };
-
-            meta = {
-              description = ''A Pure Erlang ZooKeeper Client (no C
-                            dependency)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/huaban/erlzk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlzk = erlzk_0_6_2;
-
-    esel_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esel";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "esel";
-              version = "0.1.2";
-              sha256 =
-                "874d1775c86d27d9e88486a37351ffc09f826ef062c8ea211e65d08e103f946c";
-            };
-
-            meta = {
-              description = ''An wrapper around openssl'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    esel = esel_0_1_2;
-
-    espec_0_8_21 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "espec";
-            version = "0.8.21";
-            src = fetchHex {
-              pkg = "espec";
-              version = "0.8.21";
-              sha256 =
-                "147d91a367d6bca9772b064195fd64f373a03e2d0bf57be5664ae780fd3508f5";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              description = ''BDD testing framework for Elixir inspired by
-                            RSpec.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/antonmi/espec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    espec = espec_0_8_21;
-
-    esqlcipher_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esqlcipher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "esqlcipher";
-              version = "1.0.0";
-              sha256 =
-                "f3a47df8cf7277b9352054e96a9745c77aa475a51ea36a18692a437b2af79b0b";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''sqlcipher nif interface'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    esqlcipher = esqlcipher_1_0_0;
-
-    esqlite_0_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esqlite";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "esqlite";
-              version = "0.2.2";
-              sha256 =
-                "5f15f8014baa9d31ee83817afe9164b3ecd76f77b2de7515f2cca2ca75b642e0";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''A Sqlite3 NIF'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mmzeeman/esqlite";
-            };
-          } // packageOverrides)
-      ) {};
-
-    esqlite = esqlite_0_2_2;
-
-    estree_2_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "estree";
-            version = "2.3.0";
-            src = fetchHex {
-              pkg = "estree";
-              version = "2.3.0";
-              sha256 =
-                "f73bf510523aac5518845d4d844a9690ba30450fc666ac138e8965a6c88b26ae";
-            };
-
-            meta = {
-              longDescription = ''Represents the JavaScript AST from the ESTree
-                                spec. Includes tools for building an AST and
-                                generating code from it.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/elixir-estree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    estree = estree_2_3_0;
-
-    esync_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "esync";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "esync";
-              version = "0.0.1";
-              sha256 =
-                "28a59a0cbe885ec39dec4992aac8495147d1ec9b623883b01e8aa775cb334f03";
-            };
-
-            meta = {
-              description = ''Concurrently sync two or more directories so that
-                            their contents are identical'';
-
-              homepage = "https://github.com/GrahamGoudeau21/ElixirSync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    esync = esync_0_0_1;
-
-    ether_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ether";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ether";
-              version = "0.0.1";
-              sha256 =
-                "867752143aa09e07d0a50ae9526b7c8f620e189f509326a635c304b453496f16";
-            };
-
-            meta = {
-              description = ''Elixir Debugger '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/maarek/ether";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ether = ether_0_0_1;
-
-    etherchain_org_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "etherchain_org";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "etherchain_org";
-              version = "0.0.5";
-              sha256 =
-                "2ff545b4d78b507a664a5c246bb351be110cc647d960e39e65f2d9ce08669752";
-            };
-            beamDeps  = [ vex_0_5_5 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''WIP Elixir API wrapper for etherchain.org.
-                                Provides access to ethereum blockchain data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cyberpunk-ventures/etherchain_org_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etherchain_org = etherchain_org_0_0_5;
-
-    ets_map_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ets_map";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ets_map";
-              version = "0.0.1";
-              sha256 =
-                "c33d714212c56d99b2472d522e24db808cd8a407101051d407be310412d61eae";
-            };
-
-            meta = {
-              description = ''A Map-like Elixir data structure that is backed
-                            by an ETS table.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/ets_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ets_map = ets_map_0_0_1;
-
-    ets_owner_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ets_owner";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ets_owner";
-              version = "1.0.0";
-              sha256 =
-                "54c0228a9134f4afe5c2a5418712a8b010bbc3f3e4864f3c854110f6cb65bca9";
-            };
-
-            meta = {
-              description = ''A simple GenServer that owns your ETS tables and
-                            won`t die, even if you do.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meyercm/ets_owner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ets_owner = ets_owner_1_0_0;
-
-    etude_1_0_0_beta_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          nile_0_1_3
-        }:
-          buildMix ({
-            name = "etude";
-            version = "1.0.0-beta.0";
-            src = fetchHex {
-              pkg = "etude";
-              version = "1.0.0-beta.0";
-              sha256 =
-                "f5a2896982cd062fe188dcb0216ef5c960959aa2ba77f4d31b00d0dda56890dd";
-            };
-            beamDeps  = [ poison_2_1_0 nile_0_1_3 ];
-
-            meta = {
-              description = ''parallel computation coordination utilities for
-                            erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/etude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etude_1_0_0_beta_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          nile_0_1_3
-        }:
-          buildMix ({
-            name = "etude";
-            version = "1.0.0-beta.2";
-            src = fetchHex {
-              pkg = "etude";
-              version = "1.0.0-beta.2";
-              sha256 =
-                "f05d1c5b191a19a3828a89be221b4a8f7bf9fb2227ebc05b7116dc1965872cef";
-            };
-            beamDeps  = [ poison_2_1_0 nile_0_1_3 ];
-
-            meta = {
-              description = ''parallel computation coordination utilities for
-                            erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/etude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etude = etude_1_0_0_beta_2;
-
-    eunit_formatters_0_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eunit_formatters";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "eunit_formatters";
-              version = "0.3.1";
-              sha256 =
-                "64a40741429b7aff149c605d5a6135a48046af394a7282074e6003b3b56ae931";
-            };
-
-            meta = {
-              description = ''Better output for eunit suites'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/seancribbs/eunit_formatters";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eunit_formatters = eunit_formatters_0_3_1;
-
-    eunit_sugar_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eunit_sugar";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "eunit_sugar";
-              version = "0.1.0";
-              sha256 =
-                "f30c41d711650270d8654f9067a3b5d16d73242e0eed19082b70676e9f05bb6e";
-            };
-
-            meta = {
-              description = ''Helpers and sugars for eunit tests'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/xenolinguist/eunit_sugar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eunit_sugar = eunit_sugar_0_1_0;
-
-    evel_0_1_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, hash_ring_0_4_0
-        }:
-          buildRebar3 ({
-            name = "evel";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "evel";
-              version = "0.1.1";
-              sha256 =
-                "b849699912f797e2b0082b43d0f58b18de838379b499c47dc24194d9fec03e6e";
-            };
-
-            beamDeps  = [ hash_ring_0_4_0 ];
-
-            meta = {
-              description = ''An Eventual Leader Election Library for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/evel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    evel = evel_0_1_1;
-
-    event_nanny_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "event_nanny";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "event_nanny";
-              version = "0.1.1";
-              sha256 =
-                "4d46b285e5187fc8e63f7911087dcff54fb46ca347b457013e9bd9901f9cc9d1";
-            };
-
-            meta = {
-              description = ''Nanny for GenEvent restart handler when it exit
-                            abnormally'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ammbot/event-nanny.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    event_nanny = event_nanny_0_1_1;
-
-    eventstore_client_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "eventstore_client";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "eventstore_client";
-              version = "0.1.4";
-              sha256 =
-                "fa77e1a7906b3ed27c0dfa0bd41f27b3129285857948aa23a3f888b0dd531109";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''HTTP Client for EventStore (geteventstore.com)'';
-
-              homepage =
-                "https://github.com/tbug/elixir-eventstore-http-client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eventstore_client = eventstore_client_0_1_4;
-
-    ewebmachine_2_0_12 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "ewebmachine";
-            version = "2.0.12";
-            src = fetchHex {
-              pkg = "ewebmachine";
-              version = "2.0.12";
-              sha256 =
-                "66a4ca701594da9396d6bab03f074f1ab56080a62e6545e6e455a24296c96a1a";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Ewebmachine contains macros and plugs to
-                                allow you to compose HTTP decision handlers and
-                                run the HTTP decision tree to get your HTTP
-                                response. This project is a rewrite for Elixir
-                                and Plug of basho webmachine.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/ewebmachine";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ewebmachine = ewebmachine_2_0_12;
-
-    ex2ms_1_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex2ms";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "ex2ms";
-              version = "1.4.0";
-              sha256 =
-                "8a743796d9f067f047e50d9726dfd8eb2791e6ce00c79edbd5ced6a06fe5e388";
-            };
-
-            meta = {
-              description = ''Translates Elixir functions to match
-                            specifications for use with `ets`.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/ex2ms";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex2ms = ex2ms_1_4_0;
-
-    ex_abnf_0_2_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_abnf";
-            version = "0.2.7";
-            src = fetchHex {
-              pkg = "ex_abnf";
-              version = "0.2.7";
-              sha256 =
-                "2ca070a97b392a142619f0a126e48c7e27d39353be9a76fb358c401821495e1a";
-            };
-
-            meta = {
-              longDescription = ''A parser and interpreter for ABNF grammars.
-                                This is not a parser generator, but an
-                                interpreter. It will load up an ABNF grammar,
-                                and generate an AST for it. Then one can apply
-                                any of the rules to an input and the interpreter
-                                will parse the input according to the rule.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_abnf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_abnf = ex_abnf_0_2_7;
-
-    ex_bcrypt_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bcrypt_0_5_0_p3a }:
-          buildMix ({
-            name = "ex_bcrypt";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_bcrypt";
-              version = "0.0.1";
-              sha256 =
-                "c6c91e333f3e84733bb8fca08af9fda01b20f3b2a8801e456b31103118418e81";
-            };
-            beamDeps  = [ bcrypt_0_5_0_p3a ];
-
-            meta = {
-              description = ''Elixir wrapper for the OpenBSD bcrypt password
-                            hashing algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manelli/ex_bcrypt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_bcrypt = ex_bcrypt_0_0_1;
-
-    ex_blocktrail_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          yuri_1_0_0,
-          vex_0_5_5,
-          exconstructor_1_0_2,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_blocktrail";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "ex_blocktrail";
-              version = "0.2.1";
-              sha256 =
-                "96a4090676a01f6644b95e8f65b1bd19f4142435d2f1b3cb2dbd79d883579f42";
-            };
-            beamDeps  = [
-                          yuri_1_0_0
-                          vex_0_5_5
-                          exconstructor_1_0_2
-                          poison_2_1_0
-                          httpoison_0_8_3
-                        ];
-
-            meta = {
-              longDescription = ''WIP. Alpha. Elixir wrapper for blocktrail.com
-                                Bitcoin api and some utility functions.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_blocktrail = ex_blocktrail_0_2_1;
-
-    ex_brace_expansion_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_brace_expansion";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_brace_expansion";
-              version = "0.0.2";
-              sha256 =
-                "d7470a00cffe4425f89e83d7288c24b641c3f6cbde136a08089e7420467cd237";
-            };
-
-            meta = {
-              longDescription = ''Brace expansion, as known from sh/bash, in
-                                Elixir. Quick example:
-                                ExBraceExpansion.expand(\"file-{a,b,c}.jpg\") =>
-                                [\"file-a.jpg\", \"file-b.jpg\", \"file-c.jpg\"]
-                                '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gniquil/ex_brace_expansion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_brace_expansion = ex_brace_expansion_0_0_2;
-
-    ex_clacks_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "ex_clacks";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "ex_clacks";
-              version = "0.1.2";
-              sha256 =
-                "8299396f26982bbaed7f12988277174d3d3e92e0a5efe685c8d0133e08e013cc";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A Plug that pays homage to Terry Pratchett'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/polymetis/ex_clacks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_clacks = ex_clacks_0_1_2;
-
-    ex_cli_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_cli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_cli";
-              version = "0.1.0";
-              sha256 =
-                "81e42a05730752f891b8fc1cbced2e5733d48df144ab91aeb41a8093cb42264e";
-            };
-
-            meta = {
-              description = ''Library to build CLI applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/ex_cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_cli = ex_cli_0_1_0;
-
-    ex_closeio_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_closeio";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_closeio";
-              version = "0.1.1";
-              sha256 =
-                "0bf03085e9ac1d548a73f5e8fa91d78c201c8fa46b3e65b89aca82f887af9cce";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Close.io client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/taylorbrooks/ex_closeio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_closeio = ex_closeio_0_1_1;
-
-    ex_cron_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_cron";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_cron";
-              version = "0.0.2";
-              sha256 =
-                "2d0be58e834bdadd69336f0dd9d61d5e678d99b4de9a766ed45ea85fc87a97cb";
-            };
-
-            meta = {
-              description = ''Cron schedule generator for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codestuffers/ex-cron";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_cron = ex_cron_0_0_2;
-
-    ex_crypto_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          pipe_0_0_2
-        }:
-          buildMix ({
-            name = "ex_crypto";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_crypto";
-              version = "0.1.1";
-              sha256 =
-                "6686151799d3fb5be28e43a05ef3689e1d1144a0d97e4ff3b41fb039265146cb";
-            };
-            beamDeps  = [ poison_2_1_0 pipe_0_0_2 ];
-
-            meta = {
-              longDescription = ''A wrapper around the Erlang Crypto module
-                                with sensible defaults for common tasks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ntrepid8/ex_crypto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_crypto = ex_crypto_0_1_1;
-
-    ex_csv_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_csv";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "ex_csv";
-              version = "0.1.4";
-              sha256 =
-                "56ee6b70564aa1762f5bfc2b205e55caa83aef046d974614a22b8ec0f839005e";
-            };
-
-            meta = {
-              description = ''CSV for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/ex_csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_csv = ex_csv_0_1_4;
-
-    ex_enum_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "ex_enum";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_enum";
-              version = "0.1.0";
-              sha256 =
-                "f6685959ef337018e42c4baccdce98cc9618974759d1fdb969fcf9a266e590ea";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Enum library for Elixir inspired by
-                            ActiveHash::Enum.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kenta-aktsk/ex_enum";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_enum = ex_enum_0_1_0;
-
-    ex_fabricators_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_fabricators";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_fabricators";
-              version = "0.1.0";
-              sha256 =
-                "edde1017f8a8fc3dbb3915c8791a6d0801f06fbe72f69ec50222dc47930c57d9";
-            };
-
-            meta = {
-              description = ''Easy way to cook your structs for tests'';
-
-              homepage = "https://github.com/alterego-labs/ex_fabricators";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_fabricators = ex_fabricators_0_1_0;
-
-    ex_guard_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "ex_guard";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ex_guard";
-              version = "1.1.0";
-              sha256 =
-                "5f990eb24b673c782b4e742351bab14ce466146f3ea1e5324b6b7c34122bd4f9";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              longDescription = ''ExGuard automates various tasks by running
-                                custom rules whenever file or directories are
-                                modified.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slashmili/ex_guard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_guard = ex_guard_1_1_0;
-
-    ex_hl7_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_hl7";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "ex_hl7";
-              version = "0.2.2";
-              sha256 =
-                "b6653fd28949f5dc37f18af4320f13dcdea796553e0c429a8260d5c4bf481b0f";
-            };
-
-            meta = {
-              description = ''HL7 Parser for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jcomellas/ex_hl7";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_hl7 = ex_hl7_0_2_2;
-
-    ex_ical_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "ex_ical";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_ical";
-              version = "0.0.3";
-              sha256 =
-                "435bade398c8b72e2515f91eef89f6309951800e8bd30a0a616c1039502c8c95";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''ICalendar parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fazibear/ex_ical";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_ical = ex_ical_0_0_3;
-
-    ex_iss_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_iss";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_iss";
-              version = "1.0.0";
-              sha256 =
-                "8b2b2eebbd75593e814e712555c7f69138864317cf2f0093a82ca305138baa83";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''This package is for interfacing with the Open
-                                Notify API to information such as the ISS`s
-                                current location, crew, and when it will pass
-                                over a location.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/cryptobird/ex_iss";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_iss = ex_iss_1_0_0;
-
-    ex_json_schema_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_json_schema";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "ex_json_schema";
-              version = "0.4.1";
-              sha256 =
-                "4acefaa5da4de55d984d1e86be40f6af2173e744cc4f77e70a701a0ea1604328";
-            };
-
-            meta = {
-              longDescription = ''A JSON Schema validator with full support for
-                                the draft 4 specification and zero
-                                dependencies.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jonasschmidt/ex_json_schema";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_json_schema = ex_json_schema_0_4_1;
-
-    ex_link_header_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_link_header";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "ex_link_header";
-              version = "0.0.4";
-              sha256 =
-                "4ced0014c98703184c1afaf390298593a88503f7fc26b138b20c0a53cc614558";
-            };
-
-            meta = {
-              description = ''Parse HTTP link headers in Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/simonrand/ex_link_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_link_header = ex_link_header_0_0_4;
-
-    ex_machina_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_machina";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "ex_machina";
-              version = "0.6.1";
-              sha256 =
-                "f55476400ca109d24f216ee961a6d04be4a932429ecd3ae6a948d5d04f4fa2ea";
-            };
-
-            meta = {
-              description = ''A factory library by the creators of
-                            FactoryGirl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/thoughtbot/ex_machina";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_machina = ex_machina_0_6_1;
-
-    ex_mark2pdf_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_1_19 }:
-          buildMix ({
-            name = "ex_mark2pdf";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_mark2pdf";
-              version = "0.1.0";
-              sha256 =
-                "d1458c9b01bc53b9c365d4d12ac8187b09e06f02667639d4a63c4543427dfb1d";
-            };
-            beamDeps  = [ earmark_0_1_19 ];
-
-            meta = {
-              description = ''Generate a PDF from Markdown file.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/darui00kara/ex_mark2pdf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_mark2pdf = ex_mark2pdf_0_1_0;
-
-    ex_marshal_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "ex_marshal";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_marshal";
-              version = "0.0.3";
-              sha256 =
-                "28eaf18799bca83519d0ac517a4fd0a9a2211bea7f96c74b27952a20be2938a8";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Ruby Marshal format implemented in Elixir.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/gaynetdinov/ex_marshal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_marshal = ex_marshal_0_0_3;
-
-    ex_microsoftbot_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_microsoftbot";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_microsoftbot";
-              version = "0.1.0";
-              sha256 =
-                "638a30cab3f9bc85b76beb0dacd3e5d71724ad10de73170f00df12a29eed8d0a";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''This library provides Elixir API wrapper for the
-                            Microsoft Bot Framework.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zabirauf/ex_microsoftbot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_microsoftbot = ex_microsoftbot_0_1_0;
-
-    ex_minimatch_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ex_brace_expansion_0_0_2
-        }:
-          buildMix ({
-            name = "ex_minimatch";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_minimatch";
-              version = "0.0.1";
-              sha256 =
-                "3255bb8496635d3ef5d86ec6829958a3573ff730ca01534b0fead9c2e3af7de4";
-            };
-            beamDeps  = [ ex_brace_expansion_0_0_2 ];
-
-            meta = {
-              longDescription = ''Globbing paths without walking the tree!
-                                Elixir and Erlang provide `wildcard` functions
-                                in the stdlib. But these will walk the directory
-                                tree. If you simply want to test whether a file
-                                path matches a glob, ExMinimatch is for you. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gniquil/ex_minimatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_minimatch = ex_minimatch_0_0_1;
-
-    ex_modbus_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_modbus";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_modbus";
-              version = "0.0.3";
-              sha256 =
-                "bdfd52c43e690a9af041f34b7cd1f6c2843e39fe51b9afcc2a83fbf4d254fd50";
-            };
-
-            meta = {
-              description = ''An Elixir ModbusTCP client implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hirschenberger/ex_modbus";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_modbus = ex_modbus_0_0_3;
-
-    ex_parametarized_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_parametarized";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_parametarized";
-              version = "1.0.0";
-              sha256 =
-                "daa04087cc41608f1604f2cc52dfe3e3c3ee4612c3b6091d7b6025d10d79f31a";
-            };
-
-            meta = {
-              description = ''Simple macro for parametarized testing'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/ex_parametarized";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_parametarized = ex_parametarized_1_0_0;
-
-    ex_parameterized_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_parameterized";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "ex_parameterized";
-              version = "1.0.2";
-              sha256 =
-                "c3a9b2471060a7f2cfc4cac4617125d4272991315d6223156d67c10abd055b10";
-            };
-
-            meta = {
-              description = ''Simple macro for parameterized testing'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/ex_parameterized";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_parameterized = ex_parameterized_1_0_2;
-
-    ex_pool_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_pool";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_pool";
-              version = "0.1.1";
-              sha256 =
-                "0e2a945acefa067f902dbfa6cb683884838099d6be496dc43cb7dccf31df978d";
-            };
-
-            meta = {
-              description = ''A generic pooling library for Elixir'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/jcabotc/ex_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_pool = ex_pool_0_1_1;
-
-    ex_prima_toolbox_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_cli_0_1_0 }:
-          buildMix ({
-            name = "ex_prima_toolbox";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_prima_toolbox";
-              version = "0.0.2";
-              sha256 =
-                "7fc93cf69afba247bbd97118fc56b6d3d79dc6767126581a262b97bff2ffd045";
-            };
-            beamDeps  = [ ex_cli_0_1_0 ];
-
-            meta = {
-              description = ''elixir toolbox for prima.it'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/primait/ex_toolbox";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_prima_toolbox = ex_prima_toolbox_0_0_2;
-
-    ex_prometheus_io_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "ex_prometheus_io";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_prometheus_io";
-              version = "0.0.3";
-              sha256 =
-                "7c2baaf0eef43d3e68d822532e0ca22daea41f6cce85de6b0ba538819fdb3832";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Prometheus.io Elixir client API library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/kennyballou/ex_prometheus_io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_prometheus_io = ex_prometheus_io_0_0_3;
-
-    ex_rated_1_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex2ms_1_4_0 }:
-          buildMix ({
-            name = "ex_rated";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "ex_rated";
-              version = "1.2.2";
-              sha256 =
-                "65f7e9aaba3ba5bf8995b34a29c9572652b051cfdd7988e5f9b7ea329bb71ca1";
-            };
-            beamDeps  = [ ex2ms_1_4_0 ];
-
-            meta = {
-              longDescription = ''ExRated, the OTP GenServer with the naughty
-                                name that allows you to rate-limit calls to any
-                                service that requires it. For example,
-                                rate-limit calls to your favorite API which
-                                requires no more than `limit` API calls within a
-                                `scale` milliseconds time window. You can
-                                enforce limits for windows as narrow as
-                                milliseconds, or as broad as you like.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/grempe/ex_rated";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rated = ex_rated_1_2_2;
-
-    ex_rfc3966_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_abnf_0_2_7 }:
-          buildMix ({
-            name = "ex_rfc3966";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "ex_rfc3966";
-              version = "0.2.3";
-              sha256 =
-                "730e14d9670ab0d2b2b24c2d3bfabe861bf21d4163c01db747a91c54090cc0d5";
-            };
-            beamDeps  = [ ex_abnf_0_2_7 ];
-
-            meta = {
-              longDescription = ''A \"tel\" URI parser trying to be strictly
-                                compatible with RFC3966. Uses official ABNF
-                                grammar and ex_abnf as interpreter.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_rfc3966";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rfc3966 = ex_rfc3966_0_2_3;
-
-    ex_rfc3986_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_abnf_0_2_7 }:
-          buildMix ({
-            name = "ex_rfc3986";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "ex_rfc3986";
-              version = "0.2.6";
-              sha256 =
-                "bfc8ce510f910dbbd1f4a8433de85090375d1701e0b9a488ba7afd8efae98bfa";
-            };
-            beamDeps  = [ ex_abnf_0_2_7 ];
-
-            meta = {
-              longDescription = ''An URI parser trying to be strictly
-                                compatible with RFC3986. Uses official ABNF
-                                grammar and ex_abnf as interpreter.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_rfc3986";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rfc3986 = ex_rfc3986_0_2_6;
-
-    ex_sider_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_sider";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_sider";
-              version = "0.1.0";
-              sha256 =
-                "00e1fba7bf19e4e072a98941c7ef11cc171e3ed44fdfd0c9bd0c110babf80e34";
-            };
-
-            meta = {
-              description = ''Elixir Map/List/Set interfaces for Redis
-                            datastructures.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/ephe-meral/ex_sider";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sider = ex_sider_0_1_0;
-
-    ex_sonar_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          floki_0_8_1,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_sonar";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "ex_sonar";
-              version = "0.0.4";
-              sha256 =
-                "a0e83e87ae58522ed6f37bb8742a0873be0870e6a60673efa615551b68d5bd4b";
-            };
-            beamDeps  = [ floki_0_8_1 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Send Sonar API interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/enilsen16/ex_sonar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sonar = ex_sonar_0_0_4;
-
-    ex_spec_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_spec";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_spec";
-              version = "1.0.0";
-              sha256 =
-                "e5f4b6ee0a918015d1d190ead7807f31ec62a8d8920fc93602bf722c171e7ae8";
-            };
-
-            meta = {
-              description = ''BDD-like syntax for ExUnit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/drewolson/ex_spec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_spec = ex_spec_1_0_0;
-
-    ex_sshd_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_sshd";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_sshd";
-              version = "0.0.2";
-              sha256 =
-                "9c7f73aab2d7697ef81eea582dfbde8033e8266dd6de2d34c36bd7e4905b7de4";
-            };
-
-            meta = {
-              longDescription = ''Simple Elixir SSH worker that provides an
-                                Elixir shell over SSH into your application.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tverlaan/ex_sshd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sshd = ex_sshd_0_0_2;
-
-    ex_statsd_0_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_statsd";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "ex_statsd";
-              version = "0.5.3";
-              sha256 =
-                "357c616a327a40133e49a54db1d46b0d7c9ab2de186f7bfecdc0efca6394adf6";
-            };
-
-            meta = {
-              description = ''A StatsD client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/ex_statsd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_statsd = ex_statsd_0_5_3;
-
-    ex_sync_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "ex_sync";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_sync";
-              version = "0.0.3";
-              sha256 =
-                "bccd72623f75430ca10d5660c7316a6439921161beb7aa65b686713503ea147a";
-            };
-            beamDeps  = [ poolboy_1_5_1 connection_1_0_2 ];
-
-            meta = {
-              longDescription = ''A library to handle [Differential
-                                Synchroniazation](https://neil.fraser.name/writing/sync/)
-                                in an Elixir app.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/invrs/exsync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sync = ex_sync_0_0_3;
-
-    ex_test_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_test";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_test";
-              version = "0.0.2";
-              sha256 =
-                "fdc33e0fa2fdab921fa54f0484645681ed0695f69439a6f40430e31fbc589756";
-            };
-
-            meta = {
-              description = ''Wrapper around ExUnit to support BBD (rspec) like
-                            syntax'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mcb/ex_test";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_test = ex_test_0_0_2;
-
-    ex_tumblr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          oauther_1_0_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_tumblr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_tumblr";
-              version = "0.0.1";
-              sha256 =
-                "9517b1ca411c91ad7e9776f7e2783908b400fee1779e497fdb1b3c515f61a253";
-            };
-            beamDeps  = [ poison_2_1_0 oauther_1_0_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A client for the Tumblr API v2.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_tumblr = ex_tumblr_0_0_1;
-
-    ex_twilio_0_1_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflex_1_5_0,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_twilio";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "ex_twilio";
-              version = "0.1.8";
-              sha256 =
-                "0c7aed748ff4bfb9d8e1f43422d36d41433caa6cf19dc2fa208031d9f8240077";
-            };
-            beamDeps  = [ inflex_1_5_0 poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Twilio API library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/ex_twilio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_twilio = ex_twilio_0_1_8;
-
-    ex_twiml_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_twiml";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "ex_twiml";
-              version = "2.1.0";
-              sha256 =
-                "7515c90ea4342e178b2894ca4cf8f03225a20c35e94c1f19e47bb839cc5f627d";
-            };
-
-            meta = {
-              description = ''Generate TwiML with Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/ex_twiml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_twiml = ex_twiml_2_1_0;
-
-    ex_unit_fixtures_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_unit_fixtures";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "ex_unit_fixtures";
-              version = "0.3.1";
-              sha256 =
-                "b4b988211bf4cd08a26eb76756e4563c94c6648c195e45af26ea62e4d37a65f6";
-            };
-
-            meta = {
-              description = ''A modular fixture system for ExUnit, inspired by
-                            py.test fixtures.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/obmarg/ex_unit_fixtures";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_unit_fixtures = ex_unit_fixtures_0_3_1;
-
-    ex_unit_notifier_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_unit_notifier";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_unit_notifier";
-              version = "0.1.1";
-              sha256 =
-                "78afb11d6a470b379de113bde1ff9e0537f5243bc957614961d8e8dadc062268";
-            };
-
-            meta = {
-              description = ''Show status notifications for ExUnit test runs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/navinpeiris/ex_unit_notifier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_unit_notifier = ex_unit_notifier_0_1_1;
-
-    ex_victor_ops_0_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_victor_ops";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "ex_victor_ops";
-              version = "0.3.1";
-              sha256 =
-                "7a8065e44c105952a843f532ab6b1cb59209e886f0770e20bf917fb742f0b9af";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''VictorOps API library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cagedata/ex_victor_ops";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_victor_ops = ex_victor_ops_0_3_1;
-
-    ex_vmstats_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_vmstats";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_vmstats";
-              version = "0.0.1";
-              sha256 =
-                "587d088696b51b0e053b2626c6de51ca7be67b5e3a49c7320da5b4e7cd96d347";
-            };
-
-            meta = {
-              description = ''An Elixir package for pushing Erlang VM stats
-                            into StatsD.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fanduel/ex_vmstats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_vmstats = ex_vmstats_0_0_1;
-
-    exactor_2_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exactor";
-            version = "2.2.0";
-            src = fetchHex {
-              pkg = "exactor";
-              version = "2.2.0";
-              sha256 =
-                "c60cd68899db3ec0bdbd41c7ccf3ae3b52391a18704040461763f052e97b5e15";
-            };
-
-            meta = {
-              description = ''Simplified creation of GenServer based processes
-                            in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/exactor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exactor = exactor_2_2_0;
-
-    exalgebra_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exalgebra";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "exalgebra";
-              version = "0.0.5";
-              sha256 =
-                "b84a96ffb7a2dd0c497f176c2e9d0ef07c719f09702d71fb8a801a3f2db1ab50";
-            };
-
-            meta = {
-              longDescription = ''The ExAlgebra library is a collection of
-                                functions that are commonly used in linear
-                                algebra.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/leighshepperson/exalgebra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exalgebra = exalgebra_0_0_5;
-
-    exalice_0_0_6_alpha = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tirexs_0_8_0_beta6,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exalice";
-            version = "0.0.6-alpha";
-            src = fetchHex {
-              pkg = "exalice";
-              version = "0.0.6-alpha";
-              sha256 =
-                "b5f95ddebb9def3efb926fc7e4c639bbad008e5e19073b56e13d684417520922";
-            };
-            beamDeps  = [ tirexs_0_8_0_beta6 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ExAlice, a geocoder with swappable storage'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/kpanic/exalice";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exalice = exalice_0_0_6_alpha;
-
-    example_files_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "example_files";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "example_files";
-              version = "0.2.0";
-              sha256 =
-                "5454a42e421f5b35669fa80aeac067ca010dfb4fd7f834a530070e2a95d71689";
-            };
-
-            meta = {
-              longDescription = ''Mix tasks for managing example files in your
-                                project. Your project may contain files that are
-                                intended to serve as explanatory samples of
-                                files provided by a project contributor or user,
-                                such as configuration and the like. The Mix
-                                tasks provided here enable you to easily find,
-                                copy, and check the freshness of example files
-                                and your copies of them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/njonsson/example_files";
-            };
-          } // packageOverrides)
-      ) {};
-
-    example_files = example_files_0_2_0;
-
-    exbackoff_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exbackoff";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exbackoff";
-              version = "0.0.3";
-              sha256 =
-                "dc3df168c73800c0978d732c121cd934ce2e5564d6addb953f8601e3010ae225";
-            };
-
-            meta = {
-              description = ''Simple exponential backoffs in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mingchuno/exbackoff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exbackoff = exbackoff_0_0_3;
-
-    exbouncer_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exbouncer";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exbouncer";
-              version = "0.0.1";
-              sha256 =
-                "1152124b31dd00eddfb59fff015d92632744fa5cd4630a7eb8976a82aa012e41";
-            };
-
-            meta = {
-              longDescription = ''An authorization library in Elixir for Plug
-                                applications that restricts what resources the
-                                current user/admin or any role is allowed to
-                                access,'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vysakh0/exbouncer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exbouncer = exbouncer_0_0_1;
-
-    excaliper_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excaliper";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excaliper";
-              version = "0.0.1";
-              sha256 =
-                "d43430518ffcf8de60a1d44355f6a200f348ec1ca8bc4287ca17c97543e86732";
-            };
-
-            meta = {
-              description = ''Fast image dimension detector inspired by the
-                            Node.JS module Calipers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgartner/excaliper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excaliper = excaliper_0_0_1;
-
-    excellent_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excellent";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excellent";
-              version = "0.0.1";
-              sha256 =
-                "a0628dce02de6a33cf441883723c480b0f07fdacade46f6d608465bb717491bd";
-            };
-
-            meta = {
-              description = ''A OpenXL (Excel files ending with .xlsx) parser
-                            for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/leifg/excellent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excellent = excellent_0_0_1;
-
-    excetera_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "excetera";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "excetera";
-              version = "0.0.3";
-              sha256 =
-                "e127e4f553c3925ce301b782cd8e8f123c72cf2463f7f032042f59892e5f37c3";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir bindings for etcd`s HTTP API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mingchuno/excetera";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excetera = excetera_0_0_3;
-
-    excoap_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excoap";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excoap";
-              version = "0.0.1";
-              sha256 =
-                "06caae698590da85aded80db7996300127d48a4e9cf7bdca8d35113c094e5094";
-            };
-
-            meta = {
-              description = ''CoAP implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mbialon/excoap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excoap = excoap_0_0_1;
-
-    excollections_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excollections";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "excollections";
-              version = "0.0.2";
-              sha256 =
-                "1924fd5bd3c1c7418a9150ca8fcb2d2700a82671f3a76972edc9bc51d32a2093";
-            };
-
-            meta = {
-              longDescription = ''A collection of data-structures and related
-                                algorithms for Elixir, implemented in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/metabrain/elixir-playground/tree/master/excollections";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excollections = excollections_0_0_2;
-
-    exconstructor_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exconstructor";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "exconstructor";
-              version = "1.0.2";
-              sha256 =
-                "e8cd1c88d5ea044a340fed75deb1fda2edc71afaac157dce561288a6bf733035";
-            };
-
-            meta = {
-              longDescription = ''ExConstructor generates constructor functions
-                                for your structs, handling map-vs-keyword-list,
-                                string-vs-atom-keys, and
-                                camelCase-vs-under_score issues
-                                automatically.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/appcues/exconstructor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exconstructor = exconstructor_1_0_2;
-
-    exdash_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exdash";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "exdash";
-              version = "0.3.1";
-              sha256 =
-                "6a2a3e3c8ea80e5a9e6641db4a109a0a1e0a09c6b7bf190a8b98fa9a650325c5";
-            };
-
-            meta = {
-              description = ''Lodash implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TFarla/exdash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdash = exdash_0_3_1;
-
-    exdatauri_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exdatauri";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exdatauri";
-              version = "0.1.0";
-              sha256 =
-                "46d064019d4d785428226baafbc3f11fc8621838b0d633768f18182d2cf4a719";
-            };
-
-            meta = {
-              description = ''A RFC 2397 URI parser for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/flupke/exdatauri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdatauri = exdatauri_0_1_0;
-
-    exddb_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlcloud_0_11_0 }:
-          buildMix ({
-            name = "exddb";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "exddb";
-              version = "0.1.3";
-              sha256 =
-                "e57bd285110585476a457a843fdcff3cce6923c9472b6bec95ac9bf986dd27e4";
-            };
-            beamDeps  = [ erlcloud_0_11_0 ];
-
-            meta = {
-              description = ''Simple library for working with data in
-                            DynamoDB.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/muhmi/exddb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exddb = exddb_0_1_3;
-
-    exdesk_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exdesk";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exdesk";
-              version = "0.2.0";
-              sha256 =
-                "0c1e02bb4aef9075ff4affb3354c0e318dc3be1817faae8b450ef590c7d67688";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Desk.com client library for elixir.'';
-
-              homepage = "https://github.com/deadkarma/exdesk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdesk = exdesk_0_2_0;
-
-    exdisque_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eredis_1_0_8 }:
-          buildMix ({
-            name = "exdisque";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exdisque";
-              version = "0.0.1";
-              sha256 =
-                "c3b7ec89217df46ae6cf1adadb81118877c66272266f0ee5e2c7ff45d048fb31";
-            };
-            beamDeps  = [ eredis_1_0_8 ];
-
-            meta = {
-              description = ''Elixir client library for Disque:
-                            https://github.com/antirez/disque'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mosic/exdisque";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdisque = exdisque_0_0_1;
-
-    exec_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "exec";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "exec";
-              version = "1.0.1";
-              sha256 =
-                "87c7ef2dea2bb503bb0eec8cb34776172999aecc6e12d90f7629796a7a3ccb1f";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exec = exec_1_0_1;
-
-    execjs_1_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "execjs";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "execjs";
-              version = "1.1.3";
-              sha256 =
-                "a0992d14ccc3458563be305d70fd6f6f6e9db6e8b62dd4e15bf69aeb382eb074";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Run JavaScript code from Elixir'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/execjs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    execjs = execjs_1_1_3;
-
-    exelli_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exelli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exelli";
-              version = "0.1.0";
-              sha256 =
-                "9777493429d5b4e3f3a9391ede7706deba65b253aa0d810efa9e26859b6f269c";
-            };
-
-            meta = {
-              longDescription = ''Elli wrapper in elixir, with some sugar
-                                syntax. (even 2 times faster than Plug on
-                                Cowboy) '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pigmej/exelli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exelli = exelli_0_1_0;
-
-    exexec_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlexec_1_1_3 }:
-          buildMix ({
-            name = "exexec";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exexec";
-              version = "0.0.1";
-              sha256 =
-                "890122cae91cc739f84dad66b7358c9e7961dadbebeb650e71ccdeab8963ff91";
-            };
-            beamDeps  = [ erlexec_1_1_3 ];
-
-            meta = {
-              description = ''An idiomatic Elixir wrapper for erlexec.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/exexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exexec = exexec_0_0_1;
-
-    exexif_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exexif";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exexif";
-              version = "0.0.1";
-              sha256 =
-                "48db21d8a77a9f922046ad6018266c0df32efb82331113ccb787e08fb7464a74";
-            };
-
-            meta = {
-              longDescription = ''Read TIFF and EXIF information from a
-                                JPEG-format image. 1. Retrieve data from a file:
-                                iex> {:ok, info} =
-                                Exexif.exif_from_jpeg_file(path) Retrieve data
-                                from a binary containing the JPEG (you don`t
-                                need the whole thing—the exif is near the
-                                beginning of a JPEG, so 100k or so should do
-                                fine). iex> {:ok, info} =
-                                Exexif.exif_from_jpeg_buffer(buffer) 2. Access
-                                the high level TIFF data: iex> info.x_resolution
-                                72 iex> info.model \"DSC-RX100M2\" 3. The exif
-                                data is in there, too. iex>
-                                info.exif.color_space \"sRGB\" iex> info.exif |>
-                                Dict.keys [:brightness_value, :color_space,
-                                :component_configuration,
-                                :compressed_bits_per_pixel, :contrast,
-                                :custom_rendered, :datetime_original,
-                                :datetime_tigitized, :digital_zoom_ratio,
-                                :exif_image_height, :exif_image_width,
-                                :exif_version, :exposure_bias_value,
-                                :exposure_mode, :exposure_program,
-                                :exposure_time, :f_number, :file_source, :flash,
-                                :flash_pix_persion, :focal_length,
-                                :focal_length_in_35mm_film, :iso_speed_ratings,
-                                :lens_info, :light_source, :max_aperture_value,
-                                :metering_mode, :recommended_exposure,
-                                :saturation, :scene_capture_type, :scene_type,
-                                :sensitivity_type, :sharpness, :white_balance]
-                                '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/exexif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exexif = exexif_0_0_1;
-
-    exfavicon_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "exfavicon";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "exfavicon";
-              version = "0.3.3";
-              sha256 =
-                "f1c5aa3506c90ba28e6f3ddcf3e9feda8518af1b4b12a6d2f518f86a10d1719b";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''A exfavicon to detect a site`s favicon.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exfavicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfavicon = exfavicon_0_3_3;
-
-    exfirebase_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "exfirebase";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "exfirebase";
-              version = "0.4.0";
-              sha256 =
-                "acd2f1fe87e83437a5d52b811b3e86bc75933bc29b0daa2da836a97ddd60b478";
-            };
-            beamDeps  = [ httpotion_2_2_2 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An elixir library for accessing the Firebase REST
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exfirebase";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfirebase = exfirebase_0_4_0;
-
-    exfoaas_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exfoaas";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exfoaas";
-              version = "0.0.2";
-              sha256 =
-                "521f355f8c38c056f66cd8ac236f561c2a3502e451c07a88761e05c22c8848aa";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''brings the utility of FOAAS to elixir.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/cryptobird/ExFOAAS.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfoaas = exfoaas_0_0_2;
-
-    exfsm_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exfsm";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "exfsm";
-              version = "0.1.3";
-              sha256 =
-                "6535a0565d6013ca728c10e11c9ac85216d995652892469f7380147da8c3d727";
-            };
-
-            meta = {
-              longDescription = ''Simple elixir library to define composable
-                                FSM as function (not related at all with
-                                `:gen_fsm`, no state/process management)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/exfsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfsm = exfsm_0_1_3;
-
-    exfswatch_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "exfswatch";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exfswatch";
-              version = "0.1.1";
-              sha256 =
-                "b97d5e120dc9efbf31e182625e1382f09202cf66863161570221bb4e1bfa82a1";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              description = ''A file change watcher wrapper based on
-                            [fs](https://github.com/synrc/fs)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/exfswatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfswatch = exfswatch_0_1_1;
-
-    exfuck_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exfuck";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exfuck";
-              version = "0.1.0";
-              sha256 =
-                "c71358ae7a31682d84f89f7f5fdc1c6b545ea93f70391a9ec15987458d70dbe8";
-            };
-
-            meta = {
-              description = ''Brainfuck interpreter written in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/exfuck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfuck = exfuck_0_1_0;
-
-    exgenius_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "exgenius";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "exgenius";
-              version = "0.0.5";
-              sha256 =
-                "f0f4463ac9ad79a102a1bf0ded91d77ed87ce262da6045990be51450ef240fd5";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              longDescription = '' Elixir library for the (undocumented) Rap
-                                Genius (and also Rock, Tech, Pop, Country, etc)
-                                API '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/exgenius";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgenius = exgenius_0_0_5;
-
-    exgingerapi_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exgingerapi";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exgingerapi";
-              version = "0.0.3";
-              sha256 =
-                "7375b282a1b290e851bbbb7de499c099ff0310443e8a51d8741554b92d4a08f1";
-            };
-            beamDeps  = [ poison_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for ginger proofreading API
-                            (english)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/nathanjohnson320/exgingerapi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgingerapi = exgingerapi_0_0_3;
-
-    exgravatar_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exgravatar";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "exgravatar";
-              version = "2.0.0";
-              sha256 =
-                "ddfcfc899f24fd98c811a6824964c85b5c87a60f41fe034380081680d5c8e765";
-            };
-
-            meta = {
-              description = ''An Elixir module for generating Gravatar urls.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/exgravatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgravatar = exgravatar_2_0_0;
-
-    exhcl_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exhcl";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "exhcl";
-              version = "0.2.1";
-              sha256 =
-                "9c7ab6216cd978b2dd3f6573dd3ccf0a9d5055b36008a0ada01d9431198c17f7";
-            };
-
-            meta = {
-              description = ''Configuration language inspired by HCL'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asakura/exhcl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exhcl = exhcl_0_2_1;
-
-    exiban_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exiban";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "exiban";
-              version = "0.0.4";
-              sha256 =
-                "c1d1da991db264ca99b9e9245bb09d69f6297050b18329be1e4c01d5106778b5";
-            };
-
-            meta = {
-              description = ''Library for manipulating and validating IBAN
-                            account numbers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kkempin/exiban";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exiban = exiban_0_0_4;
-
-    exirc_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exirc";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "exirc";
-              version = "0.10.0";
-              sha256 =
-                "f2382ad3d97e791cc38ce54558296bb0afe7d222dc5f248ec72c6a0ca9c494a8";
-            };
-
-            meta = {
-              description = ''An IRC client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/exirc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exirc_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exirc";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "exirc";
-              version = "0.11.0";
-              sha256 =
-                "797a91fd92ca93d639bf323ea4b31a42ed4ac2d67d3096100df7b1b615a88ace";
-            };
-
-            meta = {
-              description = ''An IRC client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/exirc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exirc = exirc_0_11_0;
-
-    exjson_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exjson";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "exjson";
-              version = "0.5.0";
-              sha256 =
-                "749422adf4381c8089a910d0ca545282ff0bd506cd4e17a6a08f4f9e7799fa94";
-            };
-
-            meta = {
-              description = ''A simple Elixir implementation of JSON with an
-                            Erlang parser.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/guedes/exjson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjson = exjson_0_5_0;
-
-    exjsx_3_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_5_3 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.0.2";
-              sha256 =
-                "2cd67240a54e9cd2616bc83c0c352d47f87bccd2ec599eceedc00bcbe9063f07";
-            };
-            beamDeps  = [ jsx_2_5_3 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx_3_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_5_3 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.1.0";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.1.0";
-              sha256 =
-                "588a0b67ed0c45b21f018515fc478efac83c088661bd588831e41c9073a818fb";
-            };
-            beamDeps  = [ jsx_2_5_3 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx_3_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_6_2 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.2.0";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.2.0";
-              sha256 =
-                "9c8600822e894e3c31bed800c78a5a04812b71a6e5a5656426c6ce01ebe2cf1c";
-            };
-            beamDeps  = [ jsx_2_6_2 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx = exjsx_3_2_0;
-
-    exkanji_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exromaji_0_3_0 }:
-          buildMix ({
-            name = "exkanji";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "exkanji";
-              version = "0.2.6";
-              sha256 =
-                "2de4907764e9f1f2c67d9bc6b49a44d50fd0cbc86b5848cbada14438616636d1";
-            };
-            beamDeps  = [ exromaji_0_3_0 ];
-
-            meta = {
-              longDescription = ''A Elixir library for translating between
-                                hiragana, katakana, romaji and kanji. It uses
-                                Mecab.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exkanji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exkanji = exkanji_0_2_6;
-
-    exkismet_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exkismet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exkismet";
-              version = "0.0.2";
-              sha256 =
-                "3648f010eb80891b0195f9ced0e02a5a08860a9d96e8f7bbe328c68f27b85b64";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A client (completely unofficial) for the
-                            Akismet.com comment-spam detection API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cameronp/exkismet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exkismet = exkismet_0_0_2;
-
-    exldap_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exldap";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exldap";
-              version = "0.2.0";
-              sha256 =
-                "7e2d1e96dacaddd6b515cc2033b5c9e21d23d1897e3a9f8ca2b6f31d091d72a6";
-            };
-
-            meta = {
-              description = ''A module for working with LDAP from Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jmerriweather/exldap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exldap = exldap_0_2_0;
-
-    exleveldb_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exleveldb";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "exleveldb";
-              version = "0.7.0";
-              sha256 =
-                "90ff2b76b58c889e60203951c1cf5072cf24fd1fad9faad3dce6c96bf34330fc";
-            };
-
-            meta = {
-              longDescription = ''Exleveldb is a thin wrapper around Basho`s
-                                eleveldb (github.com/basho/eleveldb). At the
-                                moment, Exleveldb exposes functions for the
-                                following features of LevelDB: - Opening a new
-                                datastore. - Closing an open datastore. -
-                                Getting values by key. - Storing individual
-                                key-value pairs. - Deleting stored key-value
-                                pairs. - Checking if a datastore is empty. -
-                                Folding over key-value pairs in the datastore. -
-                                Folding over keys in the datastore. - Batch
-                                writes to the datastore (put or delete). -
-                                Destroying a datastore. Additionally, the option
-                                of streaming key-value pairs or keys from the
-                                datastore has been added in v0.5.0. Note:
-                                Because eleveldb is not a hex package, you will
-                                need to include it as a separate dependency in
-                                your project (See `README.md`).'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/skovsgaard/exleveldb.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exleveldb = exleveldb_0_7_0;
-
-    exlibris_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exlibris";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exlibris";
-              version = "0.0.1";
-              sha256 =
-                "c6f957233b464eeddf590bad43368427ee9c715470e89d2f348d7d01935ad7be";
-            };
-
-            meta = {
-              longDescription = ''A collection of random library functions I
-                                use across multiple projects: pipe_while_ok:
-                                Create pipelines that terminate early if any
-                                step fails to return a tuple that starts {:ok,
-                                ...} before_returning: Like Ruby`s returning, it
-                                evaluates its first argument, then evalates the
-                                do block. It always returns the value of its
-                                first argument. '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/exlibris";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exlibris = exlibris_0_0_1;
-
-    exlingr_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exlingr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exlingr";
-              version = "0.0.1";
-              sha256 =
-                "b45acd0e10f719b88c943b3194b7fded6ece9874c7da2c1f18b2ce2425581701";
-            };
-
-            meta = {
-              description = ''Lingr client library for elixir. '';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/mtwtkman/exlingr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exlingr = exlingr_0_0_1;
-
-    exmatrix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, benchfella_0_3_2 }:
-          buildMix ({
-            name = "exmatrix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exmatrix";
-              version = "0.0.1";
-              sha256 =
-                "58fe316b1ee31f9394f246ec91a6a9157dfae0c38ea649a4c11f70976ca1d13b";
-            };
-            beamDeps  = [ benchfella_0_3_2 ];
-
-            meta = {
-              longDescription = ''ExMatrix is a small library for working with
-                                matrices, originally developed for testing
-                                matrix multiplication in parallel.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/a115/exmatrix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmatrix = exmatrix_0_0_1;
-
-    exmerl_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exmerl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exmerl";
-              version = "0.1.1";
-              sha256 =
-                "4bb5d6c1863c5e381b460416c9b517a211db9abd9abf0f32c99b07e128b842aa";
-            };
-
-            meta = {
-              description = ''An Elixir wrapper for parsing XML through the
-                            xmerl_* suite of modules '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pwoolcoc/exmerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmerl = exmerl_0_1_1;
-
-    exmetrics_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exmetrics";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "exmetrics";
-              version = "1.1.0";
-              sha256 =
-                "1f4645ca0e9ef9b1815c0b301ff2f9a5b5548bc45adb68386cb6529998513d1b";
-            };
-
-            meta = {
-              longDescription = ''Exmetrics provides counters, gauges and
-                                histograms for instrumenting an elixir
-                                application.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmetrics = exmetrics_1_1_0;
-
-    exml_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exml";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exml";
-              version = "0.1.0";
-              sha256 =
-                "aeed2cc53cae303180fa18eb552241af32e7f05af94ac82de9b81d67b71dee78";
-            };
-
-            meta = {
-              description = ''Most simple Elixir wrapper for xmerl xpath'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    exml = exml_0_1_0;
-
-    exmoji_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "exmoji";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "exmoji";
-              version = "0.2.2";
-              sha256 =
-                "d0123ec6fd14506da93b0e8fdb7c2efa819cc69addeb56a78f3c1e0b8a09d015";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Emoji encoding swiss army knife for dealing with
-                            Unicode and other gotchas.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mroth/exmoji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmoji = exmoji_0_2_2;
-
-    exns_0_3_5_beta = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          msgpax_0_8_2
-        }:
-          buildMix ({
-            name = "exns";
-            version = "0.3.5-beta";
-            src = fetchHex {
-              pkg = "exns";
-              version = "0.3.5-beta";
-              sha256 =
-                "2c5b1f263ebfe9636802cca5559e74009ae4384418e44820f0ff05130dbcb593";
-            };
-            beamDeps  = [ uuid_1_1_4 poolboy_1_5_1 poison_1_5_2 msgpax_0_8_2
-                      ];
-
-            meta = {
-              longDescription = ''A library for writing clients to communicate
-                                with Python nanoservices via nanomsg.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/walkr/exns";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exns = exns_0_3_5_beta;
-
-    exnumerable_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumerable";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exnumerable";
-              version = "0.0.1";
-              sha256 =
-                "ea6041540da09b96176a37bdd71e3c6fbacb8353aca3b084deedb17cee265e2e";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumerable";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumerable = exnumerable_0_0_1;
-
-    exnumerator_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumerator";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "exnumerator";
-              version = "1.1.0";
-              sha256 =
-                "1c52033471dfae7b32c897cb0034eb1d3602bcb14342ca08090c42b02001b2fd";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumerator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumerator = exnumerator_1_1_0;
-
-    exnumterator_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumterator";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "exnumterator";
-              version = "1.0.0";
-              sha256 =
-                "895b1dfff48d0459e66338ca8a8b831c2f31654fc0758a24e11a2f54a9cb1106";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumterator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumterator = exnumterator_1_0_0;
-
-    exoddic_1_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exoddic";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "exoddic";
-              version = "1.3.1";
-              sha256 =
-                "e244c4aab1a25836300973f8afd42aef41dea19121c748c4b6d7b447db842194";
-            };
-
-            meta = {
-              description = ''Odds and probability handling and conversions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/exoddic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exoddic = exoddic_1_3_1;
-
-    expand_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expand";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "expand";
-              version = "0.0.3";
-              sha256 =
-                "5f2ce07ba074392100fc5f6b8e8af9ec728ce4716e592422c510997d543efa63";
-            };
-
-            meta = {
-              description = ''A pretty printer'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyates/expand";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expand = expand_0_0_3;
-
-    exparticle_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exparticle";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exparticle";
-              version = "0.0.2";
-              sha256 =
-                "ce70b77da48e84307791af00143ad4b9677d39765459865976d459d3b1bdcaf2";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ExParticle is an elixir client to communicate
-                            with Particle Cloud API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mtanzi/exparticle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exparticle = exparticle_0_0_2;
-
-    experiment_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "experiment";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "experiment";
-              version = "0.0.3";
-              sha256 =
-                "5acb6c232aff08719f97254ca27ed1eb165c3f2d229e03cda85e4d31ad7b3156";
-            };
-
-            meta = {
-              description = ''Experiment is a library for carefully refactoring
-                            critical paths in production.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewvy/experiment";
-            };
-          } // packageOverrides)
-      ) {};
-
-    experiment = experiment_0_0_3;
-
-    expinboard_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ibrowse_4_2_2,
-          httpotion_2_2_2,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "expinboard";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "expinboard";
-              version = "0.0.1";
-              sha256 =
-                "3ff152d837293c0f53ead6cba4180ced55308d2869faa698e459abbe23d59bdc";
-            };
-            beamDeps  = [ ibrowse_4_2_2 httpotion_2_2_2 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''A simple elixir pinboard client.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/thilko/expinboard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expinboard = expinboard_0_0_1;
-
-    expletive_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expletive";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "expletive";
-              version = "0.1.4";
-              sha256 =
-                "dfb9ac919526bcb7f28b5acadad634b7e9d220203874ef124a87264a078f24b4";
-            };
-
-            meta = {
-              description = ''Profanity detection and sanitization library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/expletive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expletive = expletive_0_1_4;
-
-    expool_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expool";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "expool";
-              version = "0.2.0";
-              sha256 =
-                "f0cc61c365d1950522ad5816cf638353602db5a5d74feb7c96748dfa2b6f9d07";
-            };
-
-            meta = {
-              description = ''Simple process pooling and task submission'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/expool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expool = expool_0_2_0;
-
-    export_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "export";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "export";
-              version = "0.0.7";
-              sha256 =
-                "76c2a174b01f0fac1c3bc5083a7982fb8d41778518e279a526b40e4ced05d1d0";
-            };
-
-            meta = {
-              description = ''Erlport wrapper for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fazibear/export";
-            };
-          } // packageOverrides)
-      ) {};
-
-    export = export_0_0_7;
-
-    expr_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expr";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "expr";
-              version = "0.1.0";
-              sha256 =
-                "5076c73cb6beaafeab5fab4731170c29dca5581eec44df3be363660a872abb97";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing and evaluating
-                            mathematical expressions '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Rob-bie/Expr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expr = expr_0_1_0;
-
-    exprintf_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exprintf";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "exprintf";
-              version = "0.1.6";
-              sha256 =
-                "7acb31f93cef83effd3aa1f0572f9e29d7d1b4f50a6d456e2830fa7594c16182";
-            };
-
-            meta = {
-              description = ''A printf / sprintf library for Elixir. It works
-                            as a wrapper for :io.format. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exprintf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exprintf = exprintf_0_1_6;
-
-    exprof_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exprintf_0_1_6 }:
-          buildMix ({
-            name = "exprof";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exprof";
-              version = "0.2.0";
-              sha256 =
-                "2b3b8c623873172a6c7ba1707981f51feea6b6edbabd5347752030803ad0c954";
-            };
-            beamDeps  = [ exprintf_0_1_6 ];
-
-            meta = {
-              description = ''A simple code profiler for Elixir using eprof.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exprof";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exprof = exprof_0_2_0;
-
-    exql_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tds_0_5_4 }:
-          buildMix ({
-            name = "exql";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exql";
-              version = "0.0.3";
-              sha256 =
-                "0dea2cd0f6cb1ba6c1cd4298716131fafb4271f2c076df0dd6e73e37cecb4705";
-            };
-            beamDeps  = [ tds_0_5_4 ];
-
-            meta = {
-              description = ''A functional query tool for MSSQL.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/exql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exql = exql_0_0_3;
-
-    exquisite_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exquisite";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "exquisite";
-              version = "0.1.6";
-              sha256 =
-                "8bd974eea0ef20d841f999818e4b6f0edd8e52b6723e8c5b2c4ba7a22fa07c7a";
-            };
-
-            meta = {
-              description = ''DSL to match_spec'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/exquisite";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exquisite = exquisite_0_1_6;
-
-    exredis_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eredis_1_0_8 }:
-          buildMix ({
-            name = "exredis";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "exredis";
-              version = "0.2.4";
-              sha256 =
-                "fe43dc6e39220af9c06d575b86c24513dcb1c3ba48f31881a3708cdafe7d3188";
-            };
-            beamDeps  = [ eredis_1_0_8 ];
-
-            meta = {
-              description = ''Redis client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/exredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exredis = exredis_0_2_4;
-
-    exref_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exref";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exref";
-              version = "0.1.1";
-              sha256 =
-                "92d73f1eff56f2d0493a2dbf5e932b48b99a2cdd2e3cc3fc0ffeb9c1ae5ed86c";
-            };
-
-            meta = {
-              description = ''Damn simple mix integration of xref.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    exref = exref_0_1_1;
-
-    exrequester_0_5_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "exrequester";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "exrequester";
-              version = "0.5.2";
-              sha256 =
-                "9c55974b2f9a4294dd9a53ebed8f9b1c2788cd0845dccbc9471cf6869201903a";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Quickly create API clients using module
-                            attributes.'';
-
-              homepage = "https://github.com/oarrabi/exrequester";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrequester = exrequester_0_5_2;
-
-    exrethinkdb_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_4_0 }:
-          buildMix ({
-            name = "exrethinkdb";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exrethinkdb";
-              version = "0.0.3";
-              sha256 =
-                "c48a25a613de9f4c8ffe490044e448f01d816e0f6806af018494c3a19890ed1a";
-            };
-            beamDeps  = [ poison_1_4_0 ];
-
-            meta = {
-              description = ''RethinkDB driver for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hamiltop/exrethinkdb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrethinkdb = exrethinkdb_0_0_3;
-
-    exromaji_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exromaji";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "exromaji";
-              version = "0.3.0";
-              sha256 =
-                "d1b820b3de05bb3729b3b1d8b3e22ee965899a90abbec44ed6d18507a5f174d3";
-            };
-
-            meta = {
-              description = ''A Elixir library for translating between
-                            hiragana, katakana, and romaji.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exromaji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exromaji = exromaji_0_3_0;
-
-    exrun_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exrun";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "exrun";
-              version = "0.1.2";
-              sha256 =
-                "db9ea4befa015d7abe88ca610501187f12956d6fe6e527f02f8e4d9e630decf5";
-            };
-
-            meta = {
-              longDescription = ''Elixir - save and easy to use standalone,
-                                tracing tools for running elixir and erlang
-                                applications'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/liveforeverx/exrun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrun = exrun_0_1_2;
-
-    exsamples_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exsamples";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exsamples";
-              version = "0.1.0";
-              sha256 =
-                "92acafe7e8a5d6b1c1b5ca937b9dab887f9a4474cfd6510a7117690a6c6da86d";
-            };
-
-            meta = {
-              longDescription = ''Initializes lists of maps, structs or keyword
-                                lists using tabular data in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/msaraiva/exsamples";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsamples = exsamples_0_1_0;
-
-    exscript_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exscript";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exscript";
-              version = "0.0.1";
-              sha256 =
-                "56360c7f6063df2088deb0ec7683dee90c4bfede861ef85b81fa94cc0abe302b";
-            };
-
-            meta = {
-              description = ''Escript generator '';
-
-              homepage = "https://github.com/liveforeverx/exscript";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exscript = exscript_0_0_1;
-
-    exsolr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exsolr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exsolr";
-              version = "0.0.1";
-              sha256 =
-                "dcd26d0301730cb1746702bfacf31de10be5d1b15475a1a7ec4da8c7c49e55d1";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Thin Wrapper around Solr api.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/dcarneiro/exsolr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsolr = exsolr_0_0_1;
-
-    exstatic_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "exstatic";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exstatic";
-              version = "0.1.0";
-              sha256 =
-                "e063b91c0b2995e4a1a2c1aa56cdd578374320a8755844cc6471b58fa3874d0d";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Serve static files from memory in the Phoenix
-                                Framework. This extension compiles all of a
-                                project`s static assets (e.g. Javascript, HTML,
-                                images, etc) into Erlang modules and loads them
-                                into the Erlang VM, with the purpose of serving
-                                them fast and without a dependency on a
-                                filesystem.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/arjan/exstatic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exstatic = exstatic_0_1_0;
-
-    exstatsd_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "exstatsd";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "exstatsd";
-              version = "0.1.5";
-              sha256 =
-                "4fcad707df57fdb91338dae212355704924bea8db10207715b95e3c110e7b219";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              description = ''An Elixir ports client for StatsD'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/upbit/ExStatsD";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exstatsd = exstatsd_0_1_5;
-
-    exsync_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exfswatch_0_1_1 }:
-          buildMix ({
-            name = "exsync";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "exsync";
-              version = "0.1.2";
-              sha256 =
-                "21a1106d5e62ced84a567bde2acbdff73ddf06d2a78fbd80ffa488fae4bde48b";
-            };
-            beamDeps  = [ exfswatch_0_1_1 ];
-
-            meta = {
-              description = ''Yet another Elixir reloader.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/exsync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsync = exsync_0_1_2;
-
-    extripe_0_3_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "extripe";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "extripe";
-              version = "0.3.2";
-              sha256 =
-                "4df5dd859ad780bdb4dc0d1c823a8df82cf7421037f1ed40adf20b426d6729a1";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Stripe API wrapper'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/princemaple/extripe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    extripe = extripe_0_3_2;
-
-    exts_0_3_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, datastructures_0_2_5
-        }:
-          buildMix ({
-            name = "exts";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "exts";
-              version = "0.3.1";
-              sha256 =
-                "428226945831d77083cab2a7f9a1f818e6554d789ed7183c215390d7f43cfa40";
-            };
-            beamDeps  = [ datastructures_0_2_5 ];
-
-            meta = {
-              description = ''ets wrapper'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/exts";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exts = exts_0_3_1;
-
-    extwitter_0_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "extwitter";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "extwitter";
-              version = "0.7.1";
-              sha256 =
-                "9cc83932fbe77d47f0fafc2000574805aa42341eed07a8867b1c27df27c3554a";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Twitter client library for elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/extwitter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    extwitter = extwitter_0_7_1;
-
-    exvcr_0_3_9 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_4,
-          httpotion_2_2_2,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "exvcr";
-            version = "0.3.9";
-            src = fetchHex {
-              pkg = "exvcr";
-              version = "0.3.9";
-              sha256 =
-                "25645f6598111ba76ed30b4a2079169ae1aed0795ef87bf74d70a3a7ca8f2112";
-            };
-            beamDeps  = [
-                          meck_0_8_4
-                          httpotion_2_2_2
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          exactor_2_2_0
-                        ];
-
-            meta = {
-              description = ''HTTP request/response recording library for
-                            elixir, inspired by VCR.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exvcr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exvcr_0_7_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_4,
-          httpotion_2_2_2,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "exvcr";
-            version = "0.7.4";
-            src = fetchHex {
-              pkg = "exvcr";
-              version = "0.7.4";
-              sha256 =
-                "620eac79a63426340d31dcc44b66a0d8be89ce4c2dc59b09986e83114bd4c525";
-            };
-            beamDeps  = [
-                          meck_0_8_4
-                          httpotion_2_2_2
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          exactor_2_2_0
-                        ];
-
-            meta = {
-              description = ''HTTP request/response recording library for
-                            elixir, inspired by VCR.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exvcr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exvcr = exvcr_0_7_4;
-
-    exyelp_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          oauther_1_0_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exyelp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exyelp";
-              version = "0.0.2";
-              sha256 =
-                "1be8553ea0369a092eac1b6a0b47652b7c0570911483aa3ca454bef05ddd4d5d";
-            };
-            beamDeps  = [ poison_2_1_0 oauther_1_0_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir Yelp API client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gaslight/exyelp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exyelp = exyelp_0_0_2;
-
-    exyz_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exyz";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "exyz";
-              version = "1.0.0";
-              sha256 =
-                "b1d53964ca72f70dd71c91327bf912858619d0357a53765ed3a08671e6769ef5";
-            };
-
-            meta = {
-              description = ''Z-combinator in elixir: recursive anonymous
-                            functions.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/Dkendal/exyz";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exyz = exyz_1_0_0;
-
-    eye_drops_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "eye_drops";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "eye_drops";
-              version = "1.2.0";
-              sha256 =
-                "0e0fe7ccf1fc4208ae0811c60a0f0d1e37ef9a60dfaefc8ff235a8be51fa9ae7";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              longDescription = ''A configurable mix task to watch file changes
-                                Watch file changes in a project and run the
-                                corresponding command when a change happens.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rkotze/eye_drops";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eye_drops = eye_drops_1_2_0;
-
-    ezcryptex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cryptex_0_0_1 }:
-          buildMix ({
-            name = "ezcryptex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ezcryptex";
-              version = "0.0.1";
-              sha256 =
-                "0c1c295cf5500106f7288949021ccbdc0d3a9276c2ae9938e45254b7500017b5";
-            };
-            beamDeps  = [ cryptex_0_0_1 ];
-
-            meta = {
-              longDescription = ''Thin layer on top of Cryptex for more easily
-                                encrypting/decrypting, signing/verifying data in
-                                elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/ezcryptex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ezcryptex = ezcryptex_0_0_1;
-
-    facebook_messenger_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "facebook_messenger";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "facebook_messenger";
-              version = "0.3.0";
-              sha256 =
-                "30b1f7334649b671a4844dfcf7af1df00ad3082e8d42399466003636d95902ab";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''ExFacebookMessenger is a library that easy
-                                the creation of facebook messenger bots.'';
-
-              homepage = "https://github.com/oarrabi/facebook_messenger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    facebook_messenger = facebook_messenger_0_3_0;
-
-    factory_girl_elixir_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "factory_girl_elixir";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "factory_girl_elixir";
-              version = "0.1.1";
-              sha256 =
-                "2e07de9813089c6e6a45f0584eb2bfd28d3acbf654073b9e2ed6d0fd531b8f7e";
-            };
-
-            meta = {
-              description = ''Minimal implementation of Ruby`s factory_girl in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sinetris/factory_girl_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    factory_girl_elixir = factory_girl_elixir_0_1_1;
-
-    fake_cas_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4,
-          bypass_0_5_1
-        }:
-          buildMix ({
-            name = "fake_cas";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "fake_cas";
-              version = "1.1.0";
-              sha256 =
-                "2e3ce97b181f9de122fd7dc07bffdbe2a6f6439524407b976c9d1b70332206ae";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 bypass_0_5_1 ];
-
-            meta = {
-              description = ''A Cas server stub'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rhruiz/elixir-fake_cas";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fake_cas = fake_cas_1_1_0;
-
-    faker_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "faker";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "faker";
-              version = "0.6.0";
-              sha256 =
-                "4f305a9ec9a2645bf4777dda1b56643d04333b7ff601145bf4b80acca030c2a0";
-            };
-
-            meta = {
-              description = ''Faker is a pure Elixir library for generating
-                            fake data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/faker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    faker = faker_0_6_0;
-
-    fasta_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, parallel_0_0_3 }:
-          buildMix ({
-            name = "fasta";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "fasta";
-              version = "0.1.0";
-              sha256 =
-                "ebacba161985bf3d1bc5cf35e6ab0c01ce7f1f0fcc52151a35605eb9a6fac44b";
-            };
-            beamDeps  = [ parallel_0_0_3 ];
-
-            meta = {
-              description = ''FASTA is a tool for parsing FASTA-formatted
-                            strings in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/annejohnson/FASTA";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fasta = fasta_0_1_0;
-
-    faust_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "faust";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "faust";
-              version = "0.1.0";
-              sha256 =
-                "0ab347a6f377a97e621db0f659841436d6dbb31f1b7c8309e3fb543bec0c473e";
-            };
-
-            meta = {
-              description = ''A Markov chain text generator for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jquadrin/faust";
-            };
-          } // packageOverrides)
-      ) {};
-
-    faust = faust_0_1_0;
-
-    fdg_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fdg";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "fdg";
-              version = "0.0.4";
-              sha256 =
-                "a5ec0f8214e52c63186e620a3556a3d61c6fa9118bf4a6b84b67ff236b8a98da";
-            };
-
-            meta = {
-              longDescription = ''This project aims to be a simple library with
-                                which to build force directed graphs. Ideally,
-                                FDG will be used to produce visualiations of
-                                networks and static analysis of code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnhamelink/elixir-fdg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fdg = fdg_0_0_4;
-
-    feature_toggler_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exredis_0_2_4 }:
-          buildMix ({
-            name = "feature_toggler";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "feature_toggler";
-              version = "0.0.1";
-              sha256 =
-                "dac607aa67971e87b9d8fb8eb3057246d4480c99e11951faa1ed9f204b7f48ae";
-            };
-            beamDeps  = [ exredis_0_2_4 ];
-
-            meta = {
-              description = ''This is a simple feature toggler/switch with
-                            redis database written in elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aravindgd/feature_toggler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feature_toggler = feature_toggler_0_0_1;
-
-    feeder_1_4_7 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "feeder";
-            version = "1.4.7";
-            src = fetchHex {
-              pkg = "feeder";
-              version = "1.4.7";
-              sha256 =
-                "1ac4696d0801c5e433caedeb38001341a9e22120998dcb0ee6d358266260c3da";
-            };
-
-            meta = {
-              description = ''Stream parse RSS and Atom formatted XML feeds.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaelnisi/feeder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder_2_0_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "feeder";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "feeder";
-              version = "2.0.0";
-              sha256 =
-                "9780c5f032d3480cf7d9fd71d3f0c5f73211e0d3a8d9cdabcb1327b3a4ff758e";
-            };
-
-            meta = {
-              description = ''Stream parse RSS and Atom formatted XML feeds.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaelnisi/feeder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder = feeder_2_0_0;
-
-    feeder_ex_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, feeder_1_4_7 }:
-          buildMix ({
-            name = "feeder_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "feeder_ex";
-              version = "0.0.2";
-              sha256 =
-                "0816c5c2757098d02727dcba55dfb8b4ecff66736d0f74d4bd36ffe93f033c31";
-            };
-            beamDeps  = [ feeder_1_4_7 ];
-
-            meta = {
-              description = ''RSS feed parser. Simple wrapper for feeder.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manukall/feeder_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder_ex = feeder_ex_0_0_2;
-
-    feederer_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "feederer";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "feederer";
-              version = "0.6.0";
-              sha256 =
-                "c5041617fc7e71db9a0763f36fbda3fa41598203ab8b47972e3e9dae81039861";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              longDescription = ''Parses XML syndication feeds such as RSS,
-                                Atom, etc. Elixir feedparser wrapper using
-                                erlport.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/draftli/feederer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feederer = feederer_0_6_0;
-
-    feedme_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_0_19_5 }:
-          buildMix ({
-            name = "feedme";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "feedme";
-              version = "0.0.1";
-              sha256 =
-                "021621981bbb03b317e4a948a39d269ab1a2dc6d9ec6ee1c744e565000da680d";
-            };
-            beamDeps  = [ timex_0_19_5 ];
-
-            meta = {
-              description = ''Elixir RSS/Atom parser built on erlang`s xmerl
-                            xml parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/umurgdk/elixir-feedme";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feedme = feedme_0_0_1;
-
-    feedparser_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "feedparser";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "feedparser";
-              version = "0.0.3";
-              sha256 =
-                "ef19d82d5d0db4ca10e1a83c8eefe82678538cdeb143e707bf7ef738177c3eeb";
-            };
-
-            meta = {
-              description = ''Discover and parse RSS and Atom feeds'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/l3kn/Elixir-Feedparser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feedparser = feedparser_0_0_3;
-
-    fernetex_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "fernetex";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "fernetex";
-              version = "0.2.3";
-              sha256 =
-                "cf8ac1334cd1937e448bb0c873c1df94dc8bb38cb2320966ba69d9ff8f755805";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''Elixir implementation of Fernet library based on
-                            https://github.com/fernet/spec'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kennyp/fernetex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fernetex = fernetex_0_2_3;
-
-    fifo_s3_0_2_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          lager_3_0_2,
-          hackney_1_6_0,
-          erlcloud_0_13_2,
-          base16_1_0_0
-        }:
-          buildRebar3 ({
-            name = "fifo_s3";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "fifo_s3";
-              version = "0.2.2";
-              sha256 =
-                "871809a49fdb22ad7e9ee04fa7a53368e216072cf473046d8f74ee956e735b19";
-            };
-
-            beamDeps  = [
-                          poolboy_1_5_1
-                          lager_3_0_2
-                          hackney_1_6_0
-                          erlcloud_0_13_2
-                          base16_1_0_0
-                        ];
-
-            meta = {
-              description = ''S3 storange client library for erlang'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fifo_s3 = fifo_s3_0_2_2;
-
-    fifocache_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fifocache";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "fifocache";
-              version = "1.0.1";
-              sha256 =
-                "363f03e2871b8d8c7564a47133162ce18c362bd70897f5bd58fa246a0e169a43";
-            };
-
-            meta = {
-              description = ''Fixed size FIFO cache implementation'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/mururu/fifocache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fifocache = fifocache_1_0_1;
-
-    figaro_elixir_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "figaro_elixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "figaro_elixir";
-              version = "1.0.0";
-              sha256 =
-                "98a7690c60fc32874e73b025b7deb5887d7cdff4556178af1849bde38a7ba104";
-            };
-
-            meta = {
-              description = ''Environmental variables manager and configuration
-                            management tool.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/figaro-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    figaro_elixir = figaro_elixir_1_0_0;
-
-    file_info_0_0_2 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mimetype_parser_0_1_2
-        }:
-          buildMix ({
-            name = "file_info";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "file_info";
-              version = "0.0.2";
-              sha256 =
-                "f28456aafd014c01a4188fee36c1571e9669b0506eb22c830db357084c0c9cb2";
-            };
-            beamDeps  = [ mimetype_parser_0_1_2 ];
-
-            meta = {
-              description = ''Get MIME-type of a file by its magic number
-                            (linux only)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NobbZ/file_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    file_info = file_info_0_0_2;
-
-    finance_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "finance";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "finance";
-              version = "0.0.1";
-              sha256 =
-                "fe08fc521e65605d54fd8b68fbdfdbd233b408e8330cf8038337214b553c2c17";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''A library to calculate Xirr through the
-                                bisection method using parallel processes.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    finance = finance_0_0_1;
-
-    finicity_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          httpotion_2_2_2,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "finicity";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "finicity";
-              version = "0.0.5";
-              sha256 =
-                "b58ef39987976cf50851311a95b40504ba763c0d82256b012f5b1246bd92d9b4";
-            };
-            beamDeps  = [ xml_builder_0_0_8 httpotion_2_2_2 floki_0_8_1 ];
-
-            meta = {
-              description = ''Client library for Finicity.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    finicity = finicity_0_0_5;
-
-    firmata_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "firmata";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "firmata";
-              version = "0.0.1";
-              sha256 =
-                "c3f928839c32e366389b3f9d34cfc73505952f854dd13c52eff56b9e5853ea6c";
-            };
-
-            meta = {
-              longDescription = ''This package implements the Firmata protocol.
-                                Firmata is a MIDI-based protocol for
-                                communicating with microcontrollers.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/kfatehi/firmata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    firmata = firmata_0_0_1;
-
-    fixby_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fixby";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "fixby";
-              version = "0.0.1";
-              sha256 =
-                "e361bb9324c616e397fc78bda81a3629a39189f4675aefdeb54e85dfa74a629f";
-            };
-
-            meta = {
-              description = ''FIXBY comments that raise after a given version
-                            of Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CoderDennis/fixby-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fixby = fixby_0_0_1;
-
-    fixme_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fixme";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "fixme";
-              version = "0.0.4";
-              sha256 =
-                "e5e36db0c083a96a459723d89c151fc1f33f9873122e6c4924e06d18d20f9e84";
-            };
-
-            meta = {
-              description = ''FIXME comments that raise after a certain point
-                            in time.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/henrik/fixme-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fixme = fixme_0_0_4;
-
-    flasked_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "flasked";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "flasked";
-              version = "0.4.0";
-              sha256 =
-                "8499535ce20f8e9d2e38ce7e9ecac1a9fc5f402f3f0ab58661c1ed8795f3178c";
-            };
-
-            meta = {
-              longDescription = ''Flasked injects application environment
-                                configuration at runtime based on given ENV
-                                variables and a mapping. This is pretty useful
-                                for applications following the 12factor app
-                                principle or which are deployed in
-                                containerization infrastructures like Docker.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/flasked";
-            };
-          } // packageOverrides)
-      ) {};
-
-    flasked = flasked_0_4_0;
-
-    flock_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "flock";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "flock";
-              version = "0.0.1";
-              sha256 =
-                "3a533d32a450cb0e5b78880c421080fb34fb95d4cf3c1ee053b4e97c6cadd4c8";
-            };
-
-            meta = {
-              description = ''Distributed Services '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/flock";
-            };
-          } // packageOverrides)
-      ) {};
-
-    flock = flock_0_0_1;
-
-    floki_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "floki";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.0.5";
-              sha256 =
-                "05044b8dade147bc0390300eefe48c3118eb61d94a57bd73966549a24c76e795";
-            };
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "floki";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.1.1";
-              sha256 =
-                "b608415520f6701acdbbffed86b62291b00ce695f7f3b067919594534c9858a9";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_7_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "floki";
-            version = "0.7.2";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.7.2";
-              sha256 =
-                "c7078ac2a54501a16ff469c78292bac5013e457ffa8801b74bc293616aa5b0d0";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_8_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mochiweb_html_2_15_0
-        }:
-          buildMix ({
-            name = "floki";
-            version = "0.8.1";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.8.1";
-              sha256 =
-                "40da7fa2ae84a7e662d169ff375f745ae3d50200bba7262567d75e97a8b44485";
-            };
-            beamDeps  = [ mochiweb_html_2_15_0 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki = floki_0_8_1;
-
-    fluxter_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fluxter";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "fluxter";
-              version = "0.3.1";
-              sha256 =
-                "0d0fd8497bd83e6c5552c7eff30a87be75da835f55874c3b2c8a36f5cc784337";
-            };
-
-            meta = {
-              description = ''An InfluxDB writer for Elixir'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/fluxter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fluxter = fluxter_0_3_1;
-
-    fn_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fn";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "fn";
-              version = "1.0.0";
-              sha256 =
-                "1433b353c8739bb28ac0d6826c9f6a05033f158e8c8195faf01a863668b3bbc7";
-            };
-
-            meta = {
-              description = ''More functional Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/fn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fn = fn_1_0_0;
-
-    fnv_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hexate_0_5_1 }:
-          buildMix ({
-            name = "fnv";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "fnv";
-              version = "0.3.2";
-              sha256 =
-                "1993ca598fe7ca402f89ed1836c4a5de320330177104ca7eaac230312e069fe5";
-            };
-            beamDeps  = [ hexate_0_5_1 ];
-
-            meta = {
-              longDescription = ''Some string transformation functions for
-                                Elixir. Heavily inspired by ActiveSupport`s
-                                String extensions (Ruby).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/strinx.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fnv = fnv_0_3_2;
-
-    folsom_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, bear_0_8_3 }:
-          buildRebar3 ({
-            name = "folsom";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "folsom";
-              version = "0.8.3";
-              sha256 =
-                "afaa1ea4cd2a10a32242ac5d76fa7b17e98d202883859136b791d9a383b26820";
-            };
-
-            beamDeps  = [ bear_0_8_3 ];
-
-            meta = {
-              description = ''Erlang based metrics system'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    folsom = folsom_0_8_3;
-
-    folsomite_1_2_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, folsom_0_8_3 }:
-          buildRebar3 ({
-            name = "folsomite";
-            version = "1.2.8";
-            src = fetchHex {
-              pkg = "folsomite";
-              version = "1.2.8";
-              sha256 =
-                "9ce64603cdffb8ad55e950142146b3fe05533020906a81aa9c2f524635d813dc";
-            };
-
-            beamDeps  = [ folsom_0_8_3 ];
-
-            meta = {
-              description = ''Blow up your Graphite server with Folsom
-                            metrics'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    folsomite = folsomite_1_2_8;
-
-    forcex_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "forcex";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "forcex";
-              version = "0.4.1";
-              sha256 =
-                "82d1c772a369dfb8c705beaf1dae55853402cab06c2dfac1b3e056dbc4cb2c21";
-            };
-            beamDeps  = [ timex_2_1_6 httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir library for the Force.com / SalesForce /
-                            SFDC REST API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/forcex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    forcex = forcex_0_4_1;
-
-    forecast_io_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "forecast_io";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "forecast_io";
-              version = "0.2.2";
-              sha256 =
-                "d76c4f1839cb77038404c3d291e2449495e81469ddf05bef0dc01ed8544917ca";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Simple wrapper for Forecast.IO API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/r-icarus/forecast_io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    forecast_io = forecast_io_0_2_2;
-
-    fox_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fox";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "fox";
-              version = "1.0.1";
-              sha256 =
-                "e790c4dec0f840283c3e93825db259075ee45953ff1c29758a2aec22164c6865";
-            };
-
-            meta = {
-              longDescription = ''Collection of support utility functions and
-                                extensions for day-to-day web development with
-                                Elixir. Includes utility extension to strings,
-                                uri, dicts, integers, functions, parallel,
-                                records, random, and time'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/fox";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fox = fox_1_0_1;
-
-    freegeoip_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "freegeoip";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "freegeoip";
-              version = "0.0.4";
-              sha256 =
-                "6776938ddc1318ee8a34ef6e3a5dcb85013bbb27feeae3c7d65487ff17e2b558";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for freegeoip.net HTTP
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/juljimm/freegeoip-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    freegeoip = freegeoip_0_0_4;
-
-    friendly_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_8_1 }:
-          buildMix ({
-            name = "friendly";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "friendly";
-              version = "1.0.1";
-              sha256 =
-                "5bacdeba9a6752613c037f7ffacd4f7185cf9b348b3b41c73497e539bbb17602";
-            };
-            beamDeps  = [ floki_0_8_1 ];
-
-            meta = {
-              longDescription = ''HTML and XML parser with the most friendly
-                                API in Elixir land. CSS selector in, list of
-                                elements out.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/qertoip/friendly/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    friendly = friendly_1_0_1;
-
-    fs_0_9_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fs";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "fs";
-              version = "0.9.2";
-              sha256 =
-                "9a00246e8af58cdf465ae7c48fd6fd7ba2e43300413dfcc25447ecd3bf76f0c1";
-            };
-            compilePorts = true;
-
-            meta = {
-              description = ''FS VXZ Listener'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fs = fs_0_9_2;
-
-    fsm_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fsm";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "fsm";
-              version = "0.2.0";
-              sha256 =
-                "dbc7b316d37f258db4f1a897109da14c2c76aa706fe85859532eff2ea30986bf";
-            };
-
-            meta = {
-              description = ''Finite state machine as a functional data
-                            structure.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fsm = fsm_0_2_0;
-
-    fugue_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "fugue";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "fugue";
-              version = "0.1.3";
-              sha256 =
-                "de7fcfbbe261e189de894773c9332591a7ab42311972d8685bdb0524057c72f1";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Extendable testing utilities for Plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/fugue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fugue = fugue_0_1_3;
-
-    fulcrum_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "fulcrum";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "fulcrum";
-              version = "0.0.6";
-              sha256 =
-                "9cddd3906bad693cad791841d19b2be089e064a5f2dd35d340f46e6cd15d7930";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Fulcrum library for Elixir. The aim is to
-                                present the Fulcrum API as a replacement for an
-                                Ecto Repo. So, instead of Repo.all(Form), you
-                                can write Fulcrum.all(Form). In this way, you
-                                only have to make minor changes to your
-                                controllers, to work with Fulcrum.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pinx/fulcrum";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fulcrum = fulcrum_0_0_6;
-
-    fumanchu_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fumanchu";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "fumanchu";
-              version = "0.0.1";
-              sha256 =
-                "3ae3f825b598d2af9ace3f9ef25ff23b7724507cddb2dddb2176e4a49afabc89";
-            };
-
-            meta = {
-              description = ''An (almost) spec-compliant Mustache parser
-                            written in Elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fumanchu = fumanchu_0_0_1;
-
-    funchaku_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "funchaku";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "funchaku";
-              version = "0.1.0";
-              sha256 =
-                "621ed289eadcc5333d11b698c2d7c459143ff11036f3eedc0d79d3df76a5fd43";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for the Nu HTML Checker'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sitevalidator/funchaku";
-            };
-          } // packageOverrides)
-      ) {};
-
-    funchaku = funchaku_0_1_0;
-
-    function_decorating_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "function_decorating";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "function_decorating";
-              version = "0.0.6";
-              sha256 =
-                "8faf5588f98c833a25c9463df27e709cc5c645083a592b1a5add25fbb9e68d9a";
-            };
-
-            meta = {
-              longDescription = ''A function decorator macro for Elixir. Used
-                                mainly for adding log statements to the function
-                                calls.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/elpddev/elixir-function-decorating";
-            };
-          } // packageOverrides)
-      ) {};
-
-    function_decorating = function_decorating_0_0_6;
-
-    funkspector_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          floki_0_8_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "funkspector";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "funkspector";
-              version = "0.0.1";
-              sha256 =
-                "709574d5b5612c6188764b72b36c4eb2b85f3e27d859d1fe5631f31d17e79695";
-            };
-            beamDeps  = [ floki_0_8_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Web page inspector for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sitevalidator/funkspector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    funkspector = funkspector_0_0_1;
-
-    fuse_2_3_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "fuse";
-            version = "2.3.1";
-            src = fetchHex {
-              pkg = "fuse";
-              version = "2.3.1";
-              sha256 =
-                "580b6279115b74058982d58a898ac9e2e8fdb1884287d565f1ad987cacf1f8e7";
-            };
-
-            meta = {
-              description = ''A Circuit breaker implementation for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jlouis/fuse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fuse = fuse_2_3_1;
-
-    fuzzyurl_0_8_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fuzzyurl";
-            version = "0.8.1";
-            src = fetchHex {
-              pkg = "fuzzyurl";
-              version = "0.8.1";
-              sha256 =
-                "8229d3d14bcbaf792a550ee68347662efd93022e7fc0221f7681c104b3356900";
-            };
-
-            meta = {
-              longDescription = ''Fuzzyurl is a library for non-strict parsing,
-                                construction, and fuzzy-matching of URLs.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gamache/fuzzyurl.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fuzzyurl = fuzzyurl_0_8_1;
-
-    fwatch_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          fs_0_9_2,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "fwatch";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "fwatch";
-              version = "0.5.0";
-              sha256 =
-                "1cd46bcae7074c10a4a4d25989ef20ab515d075d762af8e6c86e8d50c011604c";
-            };
-            beamDeps  = [ fs_0_9_2 earmark_0_2_1 ];
-
-            meta = {
-              description = ''A file watcher for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/fwatch-ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fwatch = fwatch_0_5_0;
-
-    game_of_life_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "game_of_life";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "game_of_life";
-              version = "1.0.0";
-              sha256 =
-                "4a7e64722d5841d91152352a19db51476fa3e950d7316aba089870248019958b";
-            };
-
-            meta = {
-              description = ''Distributed Game of Life with Board Server API.
-                            Run it on multiple nodes.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BeyondScheme/elixir-game_of_life";
-            };
-          } // packageOverrides)
-      ) {};
-
-    game_of_life = game_of_life_1_0_0;
-
-    gardien_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gardien";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "gardien";
-              version = "0.0.3";
-              sha256 =
-                "3b4f69bee6359789e57e6c7efb01358fa94ae52d48b9fced8ee22c8cc99740df";
-            };
-
-            meta = {
-              description = ''Authorization for Phoenix projects'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rpelyush/gardien";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gardien = gardien_0_0_3;
-
-    garph_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "garph";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "garph";
-              version = "0.0.1";
-              sha256 =
-                "32829d25bdc8cf78256c8fdf1e7294707f94b683ec6ce6d1da0a6a8cd4d77c9e";
-            };
-
-            meta = {
-              longDescription = ''Garph is a simple way to implement complex
-                                decision trees by using graphs. It can be used
-                                with plain elixir or beneath a phoenix
-                                project.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/faber-lotto/garph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    garph = garph_0_0_1;
-
-    gatekeeper_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gatekeeper";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gatekeeper";
-              version = "0.0.1";
-              sha256 =
-                "d1ad9549998054c6ca4d4c7954687937e46b97f2ca4176c7e1d5bfdaf683ac2c";
-            };
-
-            meta = {
-              description = ''An opinionated authorization framework for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/austinsmorris/gatekeeper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gatekeeper = gatekeeper_0_0_1;
-
-    gateway_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          fox_1_0_1
-        }:
-          buildMix ({
-            name = "gateway";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "gateway";
-              version = "0.0.6";
-              sha256 =
-                "4d0de05b0168ee0cc41c9c38491a4b4641d446f38170ca170d0d7440b0c8f619";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 fox_1_0_1 ];
-
-            meta = {
-              longDescription = ''A generic set of macros and conventions to
-                                build clients to communicate with JSON REST
-                                APIs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/gateway";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gateway = gateway_0_0_6;
-
-    gb2260_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "gb2260";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "gb2260";
-              version = "0.5.0";
-              sha256 =
-                "a3e4fc9435802613f2abc506c480321ac6eafa2eed72b52d85d2c19f8b84ffe7";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''The Elixir implementation for looking up the
-                            Chinese administrative divisions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/LcpMarvel/gb2260";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gb2260 = gb2260_0_5_0;
-
-    gealts_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gealts";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gealts";
-              version = "0.0.1";
-              sha256 =
-                "c23b96986b19801c3428ff961e26e5b7327cd38141c2161951fdba233b71ac2b";
-            };
-
-            meta = {
-              description = ''A crude genetic programming library.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/0010-IO/gealts";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gealts = gealts_0_0_1;
-
-    gelf_logger_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "gelf_logger";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gelf_logger";
-              version = "0.2.0";
-              sha256 =
-                "3729e42e3c8d492ec4b18cd7a70783cc2d15811b7096613a60da04743d1f7838";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              longDescription = ''A Logger backend that will generate Graylog
-                                Extended Log Format messages and send them to a
-                                compatible server.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jschniper/gelf_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gelf_logger = gelf_logger_0_2_0;
-
-    gelfex_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "gelfex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gelfex";
-              version = "0.0.1";
-              sha256 =
-                "35ca2deb8221379fc8eb2d4e33888ce590defe91dbbaaa10ef352d6654723279";
-            };
-            beamDeps  = [ poison_1_5_2 connection_1_0_2 ];
-
-            meta = {
-              description = ''Elixir client for logging GELF messages to
-                            Graylog.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/donpinkster/gelfex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gelfex = gelfex_0_0_1;
-
-    gen_delegate_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_delegate";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "gen_delegate";
-              version = "1.0.0";
-              sha256 =
-                "9790952ba41538e835613f064774189bd819c79fde8fa09c2ab2bc5143b9efbf";
-            };
-
-            meta = {
-              description = ''Easy delegation of internal function to a
-                            GenServer interface'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/gen_delegate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_delegate = gen_delegate_1_0_0;
-
-    gen_fsm_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_fsm";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "gen_fsm";
-              version = "0.0.4";
-              sha256 =
-                "c92bf89ea8dee0f924362b12b61d3cd02306e77a0e8174354044238329b6506a";
-            };
-
-            meta = {
-              description = ''Elixir wrapper around Erlang`s OTP gen_fsm.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pavlos/gen_fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_fsm_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_fsm";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gen_fsm";
-              version = "0.1.0";
-              sha256 =
-                "273281dbb6cf6171a6fb963538fde67146a11f6025a80113eae4b29822083a62";
-            };
-
-            meta = {
-              description = ''Elixir wrapper around Erlang`s OTP gen_fsm.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pavlos/gen_fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_fsm = gen_fsm_0_1_0;
-
-    gen_listener_tcp_0_3_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_listener_tcp";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "gen_listener_tcp";
-              version = "0.3.2";
-              sha256 =
-                "b3c3fbc525ba2b32d947b06811d38470d5b0abe2ca81b623192a71539ed22336";
-            };
-
-            meta = {
-              description = ''Generic TCP Server'';
-
-              homepage = "https://github.com/travelping/gen_listener_tcp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_listener_tcp = gen_listener_tcp_0_3_2;
-
-    gen_mqtt_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_mqtt";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "gen_mqtt";
-              version = "0.2.1";
-              sha256 =
-                "3cb7f6099eca4fb46befdc0bee41d21756f50cc263a7234286c8fb9800db197a";
-            };
-
-            meta = {
-              description = ''An Elixir behaviour that makes it possible to
-                            communicate with a MQTT server'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/gen_mqtt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_mqtt = gen_mqtt_0_2_1;
-
-    gen_retry_0_3_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "gen_retry";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "gen_retry";
-              version = "0.3.0";
-              sha256 =
-                "dca3dd6948ed3683bb1414f7b8131a12dfdc38677fb3730f522c85c6640d73b7";
-            };
-            beamDeps  = [ exconstructor_1_0_2 ];
-
-            meta = {
-              longDescription = ''GenRetry provides utilities for retrying
-                                Elixir functions, with configurable delay and
-                                backoff characteristics.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/appcues/gen_retry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_retry = gen_retry_0_3_0;
-
-    gen_smtp_0_10_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_smtp";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "gen_smtp";
-              version = "0.10.0";
-              sha256 =
-                "87baa484762849cdb9f9082fd12449eb02cca059ac6a225f24f436fdf6f683ae";
-            };
-
-            meta = {
-              description = ''A generic Erlang SMTP server/client framework'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/Vagabond/gen_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_smtp = gen_smtp_0_10_0;
-
-    gen_smtp_0_9_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_smtp";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "gen_smtp";
-              version = "0.9.0";
-              sha256 =
-                "5a05f23a7cbe0c6242d290b445c6bbc0c287e3d0e09d3fcdc6bcd2c8973b6688";
-            };
-
-            meta = {
-              description = ''A generic Erlang SMTP server/client framework'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/Vagabond/gen_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gendex_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gendex";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "gendex";
-              version = "0.5.1";
-              sha256 =
-                "b3eedba31b1a76ab33e6b57689e4312625fafb2667ac7b485df22c05b4c9439f";
-            };
-
-            meta = {
-              description = ''Gendex tells you the most likely gender of a
-                            person based on first name.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dre1080/gendex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gendex = gendex_0_5_1;
-
-    geocalc_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "geocalc";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "geocalc";
-              version = "0.4.0";
-              sha256 =
-                "353bcb1efc5b64fc3f8ca33338e51b47ae5f39b272da79be7f1ff7a6daa8dafb";
-            };
-
-            meta = {
-              description = ''Calculate distance, bearing and more between
-                            latitude/longitude points.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yltsrc/geocalc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geocalc = geocalc_0_4_0;
-
-    geohash_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "geohash";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "geohash";
-              version = "0.1.1";
-              sha256 =
-                "ffca8ce73cce9c52aae2000c5f417009b87f23d6e2df69cd6985bc5cc05aa998";
-            };
-
-            meta = {
-              description = ''Geohash encode/decode implementation for
-                            Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/polmuz/elixir-geohash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geohash = geohash_0_1_1;
-
-    geolite2data_0_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "geolite2data";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "geolite2data";
-              version = "0.0.1";
-              sha256 =
-                "ba3f48f86302c8f6214afb7822923fcd6b07470ce83cefa1db474e97eb57df97";
-            };
-
-            meta = {
-              description = ''Periodically fetches the free MaxMind GeoLite2
-                            databases'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-geolite2data";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geolite2data = geolite2data_0_0_1;
-
-    geolix_0_10_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "geolix";
-            version = "0.10.1";
-            src = fetchHex {
-              pkg = "geolix";
-              version = "0.10.1";
-              sha256 =
-                "4f269b8b22f01b78b5e0929a3432679f692ae1ac9b31a0f23ca989efd13f9ae0";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''MaxMind GeoIP2 database reader/decoder'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/geolix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geolix = geolix_0_10_1;
-
-    getopt_0_8_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "getopt";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "getopt";
-              version = "0.8.2";
-              sha256 =
-                "736e6db3679fbbad46373efb96b69509f8e420281635e9d92989af9f0a0483f7";
-            };
-
-            meta = {
-              description = ''Command-line options parser for Erlang'';
-
-              homepage = "https://github.com/jcomellas/getopt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    getopt = getopt_0_8_2;
-
-    gettext_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gettext";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "gettext";
-              version = "0.10.0";
-              sha256 =
-                "c37747dced24fe00cb4245cb348a36556fa82851c10748cfe4c6a0253aea374e";
-            };
-
-            meta = {
-              description = ''Internationalization and localization through
-                            gettext'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-lang/gettext";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gettext_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gettext";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "gettext";
-              version = "0.11.0";
-              sha256 =
-                "9688cb656d6bc13d174051256784066dde15c4ddae1f0335590a62952780b58b";
-            };
-
-            meta = {
-              description = ''Internationalization and localization through
-                            gettext'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-lang/gettext";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gettext = gettext_0_11_0;
-
-    gh_webhook_plug_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "gh_webhook_plug";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "gh_webhook_plug";
-              version = "0.0.3";
-              sha256 =
-                "9509e2a82e8b48e7eb3c90cb79602c5fbb12196d36d5e5f8bcd1ce1ac1b442a9";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''This Plug makes it easy to listen and respond
-                                to Github webhook requests in your Elixir
-                                apps.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/emilsoman/gh_webhook_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gh_webhook_plug = gh_webhook_plug_0_0_3;
-
-    gibran_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gibran";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gibran";
-              version = "0.0.2";
-              sha256 =
-                "bdf0eb8c7469ac17e14e898b26fb47d4a360409f7a750bfde5d7d0765f327ca4";
-            };
-
-            meta = {
-              description = ''An Elixir natural language processor.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abitdodgy/gibran";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gibran = gibran_0_0_2;
-
-    git_cli_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "git_cli";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "git_cli";
-              version = "0.2.0";
-              sha256 =
-                "8e52506764fd6ba5f153d2bcd5635c160ed83a7a4e8834b4e67eee317a37f962";
-            };
-
-            meta = {
-              description = ''A simple interface to Git CLI'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-git-cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    git_cli = git_cli_0_2_0;
-
-    gitex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gitex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gitex";
-              version = "0.1.0";
-              sha256 =
-                "ac3bfa723cf2f734837fc7d89a330fa80156f96eaa2e6326d2ab60880a804de7";
-            };
-
-            meta = {
-              longDescription = ''Elixir implementation of the Git object
-                                storage, but with the goal to implement the same
-                                semantic with other storage and topics'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/gitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gitex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gitex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gitex";
-              version = "0.2.0";
-              sha256 =
-                "68074becf5e9a01d00096c306a05b023d0107bafca178ff0f043f893b7b95450";
-            };
-
-            meta = {
-              longDescription = ''Elixir implementation of the Git object
-                                storage, but with the goal to implement the same
-                                semantic with other storage and topics'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/gitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gitex = gitex_0_2_0;
-
-    github_oauth_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "github_oauth";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "github_oauth";
-              version = "0.1.1";
-              sha256 =
-                "4e68983af9ed8146a2505ad759cb151c3202471285f07df6132a4acd47aa91f2";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''simple github oauth library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/github_oauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    github_oauth = github_oauth_0_1_1;
-
-    github_trend_ex_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "github_trend_ex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "github_trend_ex";
-              version = "0.1.2";
-              sha256 =
-                "019565ad8efe6c25414dcddc6a7fc99e34f0ff457989ec7b5ad03b79b0c8ca8b";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Get trend repositories from Github.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/github_trend_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    github_trend_ex = github_trend_ex_0_1_2;
-
-    gizoogle_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "gizoogle";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gizoogle";
-              version = "0.0.2";
-              sha256 =
-                "c22d720fc60df8670a194c6ed1fb17fe272a7560b478037aef4a1437331f60e3";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Uses Gizoogle ta allow you ta drop a rhyme
-                                like a thug n` retrieve links fo` translated
-                                sitez'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/gizoogle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gizoogle = gizoogle_0_0_2;
-
-    gl_utils_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gl_utils";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gl_utils";
-              version = "0.0.1";
-              sha256 =
-                "ae529fef193423baa50c673b3f852e0c3ca7b08a85817be7113615dbdacb53f3";
-            };
-
-            meta = {
-              description = ''All of the Erlang gl macros exposed as normal
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/requnix/gl_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gl_utils = gl_utils_0_0_1;
-
-    glitchylicious_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "glitchylicious";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "glitchylicious";
-              version = "0.0.1";
-              sha256 =
-                "2d7c55bd138722ff810006d4b36873d80ad0473e074ccc377e381c5a88f0a9db";
-            };
-
-            meta = {
-              description = ''Glitching and image corruption library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/0010-IO/glitchylicious";
-            };
-          } // packageOverrides)
-      ) {};
-
-    glitchylicious = glitchylicious_0_0_1;
-
-    global_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "global";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "global";
-              version = "1.0.0";
-              sha256 =
-                "00b0637bc2d86154af2885807296d4b6616e6b50a2d52c8ce187ddfe317890ee";
-            };
-
-            meta = {
-              description = ''A wrapper for Erlang`s :global module with
-                            documentation.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/mgwidmann/global";
-            };
-          } // packageOverrides)
-      ) {};
-
-    global = global_1_0_0;
-
-    gm_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gm";
-              version = "0.0.2";
-              sha256 =
-                "3dc6e1d336afe370219b8b465a651012168f6fe7b9e9d2b0609b6384e1bcb8f7";
-            };
-
-            meta = {
-              description = ''Idiomatic GraphicsMagick wrapper for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/gm.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gm = gm_0_0_2;
-
-    gmail_0_1_11 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "gmail";
-            version = "0.1.11";
-            src = fetchHex {
-              pkg = "gmail";
-              version = "0.1.11";
-              sha256 =
-                "14ff16f5eb2e705762dc383e59a22905f1f53d3f3e9e17615159bac3add91f7a";
-            };
-            beamDeps  = [ timex_2_1_6 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple Gmail REST API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigp/elixir-gmail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gmail = gmail_0_1_11;
-
-    gold_0_12_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "gold";
-            version = "0.12.0";
-            src = fetchHex {
-              pkg = "gold";
-              version = "0.12.0";
-              sha256 =
-                "fba43501f6c25116c29358c4b5494de5e078cc516572045ac73a7944b918105b";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 decimal_1_1_2 ];
-
-            meta = {
-              description = ''An Elixir library to interface with the Bitcoin
-                            core JSON-RPC API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/solatis/gold";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gold = gold_0_12_0;
-
-    goldrush_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "goldrush";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "goldrush";
-              version = "0.1.7";
-              sha256 =
-                "a94a74cd363ce5f4970ed8242c551ec62b71939db1bbfd2e030142cab25a4ffe";
-            };
-
-            meta = {
-              description = ''Erlang event stream processor'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/DeadZen/goldrush";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goldrush_0_1_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "goldrush";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "goldrush";
-              version = "0.1.8";
-              sha256 =
-                "ba71e005bbb6ebbc3c510a58b2bd6d3b25a8d091a8e87ac3d33ef10522cdcd51";
-            };
-
-            meta = {
-              description = ''Erlang event stream processor'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/DeadZen/goldrush";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goldrush = goldrush_0_1_8;
-
-    good_enough_geoid_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, csv_1_4_1 }:
-          buildMix ({
-            name = "good_enough_geoid";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "good_enough_geoid";
-              version = "0.0.2";
-              sha256 =
-                "7b2a556206f71e743d77c26a55b60b3282bd799b8254510f62afe2a4ec330746";
-            };
-            beamDeps  = [ csv_1_4_1 ];
-
-            meta = {
-              description = ''Get EGM Geoid heights that are good enough for
-                            some purposes (maybe yours).'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/code-lever/good-enough-geoid-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    good_enough_geoid = good_enough_geoid_0_0_2;
-
-    good_times_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "good_times";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "good_times";
-              version = "1.1.1";
-              sha256 =
-                "1ecb4524b506a5dde5fa9e2312d6f98249b4b45e49a74cf799a8577b52157b90";
-            };
-
-            meta = {
-              description = ''Expressive and easy to use datetime functions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/good_times";
-            };
-          } // packageOverrides)
-      ) {};
-
-    good_times = good_times_1_1_1;
-
-    google_auth_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          module_mocker_0_2_0,
-          cowboy_1_0_4,
-          access_token_extractor_0_1_1
-        }:
-          buildMix ({
-            name = "google_auth";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "google_auth";
-              version = "0.0.2";
-              sha256 =
-                "029f2399456a7b7474635cab36544d35e200ddd7a470a905191de0fc3612adb5";
-            };
-            beamDeps  = [
-                          plug_1_1_5
-                          module_mocker_0_2_0
-                          cowboy_1_0_4
-                          access_token_extractor_0_1_1
-                        ];
-
-            meta = {
-              longDescription = ''Simple Plug to provide google based
-                                authentication. Just pass access_token received
-                                from client side google auth flow and this plug
-                                will get name, emai and picture of user from
-                                google and add it to private inside Plug.Conn'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rohanpujaris/google_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_auth = google_auth_0_0_2;
-
-    google_books_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "google_books";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "google_books";
-              version = "0.0.2";
-              sha256 =
-                "d20b5ca090df63cf4ed32d7257dcdad780bd89ca93bd644721c9d4d696e5734d";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple wrapper for Google Books API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nithinbekal/google_books.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_books = google_books_0_0_2;
-
-    google_sheets_2_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "google_sheets";
-            version = "2.0.5";
-            src = fetchHex {
-              pkg = "google_sheets";
-              version = "2.0.5";
-              sha256 =
-                "aeaaab3e2df75289cf14740a76b014652fb77a5ef95be3921fc36f4165812682";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 httpoison_0_8_3 hackney_1_6_0 ];
-
-            meta = {
-              description = ''OTP application for fetching and polling Google
-                            spreadsheet data in CSV format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/GrandCru/GoogleSheets";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_sheets = google_sheets_2_0_5;
-
-    goomoji_translator_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "goomoji_translator";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "goomoji_translator";
-              version = "0.0.2";
-              sha256 =
-                "b794dcccc306c4c5712895456c28012e1b9f8e8496392bafcfa9c1fc2c251f82";
-            };
-
-            meta = {
-              description = ''Used to change goomoji codes into normal emoji
-                            codes'';
-              license = stdenv.lib.licenses.asl20;
-              homepage =
-                "https://github.com/azranel/goomoji-translator_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goomoji_translator = goomoji_translator_0_0_2;
-
-    goth_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          json_web_token_0_2_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "goth";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "goth";
-              version = "0.0.3";
-              sha256 =
-                "0bbf59ae842dc4518cf42123b0fb0d0255bcb72ea37c8ec13bab2efe2339ccc3";
-            };
-            beamDeps  = [ poison_1_5_2 json_web_token_0_2_5 httpoison_0_8_3
-                      ];
-
-            meta = {
-              longDescription = ''A simple library to generate and retrieve
-                                Oauth2 tokens for use with Google Cloud Service
-                                accounts.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/goth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goth_0_1_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          json_web_token_0_2_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "goth";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "goth";
-              version = "0.1.3";
-              sha256 =
-                "64a26a9b0682757acd59838eaa08f76b394c7fa086b5106c7b3f8682a8416d05";
-            };
-            beamDeps  = [ poison_2_1_0 json_web_token_0_2_5 httpoison_0_8_3
-                      ];
-
-            meta = {
-              longDescription = ''A simple library to generate and retrieve
-                                Oauth2 tokens for use with Google Cloud Service
-                                accounts.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/goth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goth = goth_0_1_3;
-
-    gproc_0_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gproc";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "gproc";
-              version = "0.3.1";
-              sha256 =
-                "3c449925a5cbf57cc40d13c6c282bc1080b5ed3bad97e1acdbe969fd63a65fce";
-            };
-
-            meta = {
-              longDescription = ''Gproc is a process dictionary for Erlang,
-                                which provides a number of useful features
-                                beyond what the built-in dictionary has: * Use
-                                any term as a process alias * Register a process
-                                under several aliases * Non-unique properties
-                                can be registered simultaneously by many
-                                processes * QLC and match specification
-                                interface for efficient queries on the
-                                dictionary * Await registration, let`s you wait
-                                until a process registers itself * Atomically
-                                give away registered names and properties to
-                                another process * Counters, and aggregated
-                                counters, which automatically maintain the total
-                                of all counters with a given name * Global
-                                registry, with all the above functions applied
-                                to a network of nodes'';
-              license = stdenv.lib.licenses.epl10;
-              homepage = "https://github.com/uwiger/gproc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gproc_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gproc";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "gproc";
-              version = "0.5.0";
-              sha256 =
-                "5bc0fa4e999a6665b92ce57a7f12d7e9d1c26bfc39b0f657994be05cd3818b18";
-            };
-
-            meta = {
-              longDescription = ''Gproc is a process dictionary for Erlang,
-                                which provides a number of useful features
-                                beyond what the built-in dictionary has: * Use
-                                any term as a process alias * Register a process
-                                under several aliases * Non-unique properties
-                                can be registered simultaneously by many
-                                processes * QLC and match specification
-                                interface for efficient queries on the
-                                dictionary * Await registration, let`s you wait
-                                until a process registers itself * Atomically
-                                give away registered names and properties to
-                                another process * Counters, and aggregated
-                                counters, which automatically maintain the total
-                                of all counters with a given name * Global
-                                registry, with all the above functions applied
-                                to a network of nodes'';
-              license = stdenv.lib.licenses.epl10;
-              homepage = "https://github.com/uwiger/gproc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gproc = gproc_0_5_0;
-
-    graphex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "graphex";
-              version = "0.2.1";
-              sha256 =
-                "9279db515110de152479903488b1df6ad2de409f5b48d00fac55211bfab2e728";
-            };
-
-            meta = {
-              description = ''A task graph execution library for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/graphex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphex = graphex_0_2_1;
-
-    graphixir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphixir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "graphixir";
-              version = "0.0.1";
-              sha256 =
-                "8d355dc2ac225c2d74f15707908103ca051c74ef1668abf5240f6d3582750518";
-            };
-
-            meta = {
-              description = ''Graphite framework for elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphixir = graphixir_0_0_1;
-
-    graphmath_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphmath";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "graphmath";
-              version = "1.0.2";
-              sha256 =
-                "6be38a7f4c6167f2c766ee74fd2642c8d98412c4b2bd4c1238cad493f30f4524";
-            };
-
-            meta = {
-              description = ''Graphmath is a library for doing 2D and 3D
-                            mathemtical operations.'';
-              license = with stdenv.lib.licenses; [ free wtfpl free ];
-              homepage = "https://github.com/crertel/graphmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphmath = graphmath_1_0_2;
-
-    graphql_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "graphql";
-              version = "0.2.0";
-              sha256 =
-                "2469337ef663fb63922e67beafa2a50d56de14176c699758a855210140c269df";
-            };
-
-            meta = {
-              description = ''GraphQL Elixir implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/graphql-elixir/graphql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphql_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "graphql";
-              version = "0.3.1";
-              sha256 =
-                "ed756b2ee62d3e33c6eef6ffc4bf1a7184c1b5cd022a4550b085768eefa8f4a2";
-            };
-
-            meta = {
-              description = ''GraphQL Elixir implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/graphql-elixir/graphql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphql = graphql_0_3_1;
-
-    graphql_ex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql_ex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "graphql_ex";
-              version = "0.0.1";
-              sha256 =
-                "51884d5275d354b915db03eb390e858ead88b3f3e4f699b2fa7dc8eb442bc343";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    graphql_ex = graphql_ex_0_0_1;
-
-    gravatar_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gravatar";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gravatar";
-              version = "0.1.0";
-              sha256 =
-                "4fab4a0313312d4319496662b55f25d3aabaa740ef3d084456425db8c9bdb4fd";
-            };
-
-            meta = {
-              description = ''Gravatar URLs generator'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pilu/gravatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gravatar = gravatar_0_1_0;
-
-    gravatarify_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gravatarify";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gravatarify";
-              version = "0.1.0";
-              sha256 =
-                "d11f416611ed802d72e57f649c74f17c6dbf0e751da87e355cbfd14d4047d17e";
-            };
-
-            meta = {
-              description = ''Gravatar images with an ease'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/gravatarify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gravatarify = gravatarify_0_1_0;
-
-    gray_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gray";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gray";
-              version = "0.0.2";
-              sha256 =
-                "95b071e0742ed10298c5d0ff027aec3eaadf3a807ed5e88bd4d2861a5220be62";
-            };
-
-            meta = {
-              longDescription = ''Package to help you operate with [gray codes]
-                                (https://en.wikipedia.org/wiki/Gray_code)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hashd/gray";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gray = gray_0_0_2;
-
-    greenhouse_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "greenhouse";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "greenhouse";
-              version = "0.0.1";
-              sha256 =
-                "7b32075492339d6ef03572891287689d48d938f36e19601433f47b4ad2f75b5d";
-            };
-            beamDeps  = [ timex_2_1_6 httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir library for access the Greenhouse Harvest
-                            API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/greenhouse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    greenhouse = greenhouse_0_0_1;
-
-    growl_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "growl";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "growl";
-              version = "0.0.2";
-              sha256 =
-                "0b43fba8d18349b5bd507b457016298cfafea4a50831e8ce944569b45d3bceb8";
-            };
-
-            meta = {
-              longDescription = ''# Growl A simple wrapper to the command line
-                                interface for the [Growl OSX notification
-                                system](http://growl.info/). ## Setup ```Elixir
-                                defp deps do [ {:growl, github:
-                                \"zhallett/growl\"} ] ``` ## Usage Within the
-                                script you would like to create a `growl`
-                                notification, make the module call as follows:
-                                ```Elixir Growl.notify(\"This is a
-                                notification\") ``` The API accepts messages in
-                                a string format, as well as a list. If the first
-                                argument is a list, the first object is the
-                                title line, with subsequent lines being the body
-                                of the notification. ```Elixir
-                                Growl.notify([\"Example\", \"This is an example
-                                notification\"]) ``` would give the following
-                                notification: ![Forced
-                                Update](https://github.com/zhallett/growl/blob/master/multi_line_notification.png?raw=true
-                                \"Multi-Line notification Screenshot\")) ##
-                                Contributing 1. Fork it 2. Create your feature
-                                branch (`git checkout -b my-new-feature`) 3.
-                                Commit your changes (`git commit -am `Add some
-                                feature``) 4. Push to the branch (`git push
-                                origin my-new-feature`) 5. Create new Pull
-                                Request '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/zhallett/growl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    growl = growl_0_0_2;
-
-    gtfs_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, csv_1_4_1 }:
-          buildMix ({
-            name = "gtfs";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "gtfs";
-              version = "0.3.0";
-              sha256 =
-                "a77116b8886f3fa56fb1c9e722b7d62939ff85a38fa99a24daef5a26a0c939a5";
-            };
-            beamDeps  = [ csv_1_4_1 ];
-
-            meta = {
-              description = ''A library for parsing a GTFS folder into a
-                            hierarchy of structured data'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhelx/gtfs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gtfs = gtfs_0_3_0;
-
-    guardsafe_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "guardsafe";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "guardsafe";
-              version = "0.5.0";
-              sha256 =
-                "e6808876c07f21d78c3935c0607791cd2ceec40f3b855fa03774e8087bcfc277";
-            };
-
-            meta = {
-              description = ''Macros expanding into code that can be safely
-                            used in guard clauses.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/guardsafe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    guardsafe = guardsafe_0_5_0;
-
-    gun_1_0_0_pre_1 = callPackage
-      (
-        {
-          buildErlangMk,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          cowlib_1_3_0
-        }:
-          buildErlangMk ({
-            name = "gun";
-            version = "1.0.0-pre.1";
-            src = fetchHex {
-              pkg = "gun";
-              version = "1.0.0-pre.1";
-              sha256 =
-                "53aca19e83b15127aa4e299435823b367d5ba6797852984af6c2b9b493be9d56";
-            };
-            beamDeps  = [ ranch_1_1_0 cowlib_1_3_0 ];
-
-            meta = {
-              description = ''Asynchronous SPDY, HTTP and Websocket client.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    gun = gun_1_0_0_pre_1;
-
-    guri_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          websocket_client_1_1_0,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "guri";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "guri";
-              version = "0.2.1";
-              sha256 =
-                "7fa0f2ebff111c368895798041d982f00eec34589d93f10bb323bb5a09e1f888";
-            };
-            beamDeps  = [ websocket_client_1_1_0 poison_1_5_2 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''Automate tasks and keep everyone in the loop with
-                            Guri'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/elvio/guri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    guri = guri_0_2_1;
-
-    gurka_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gurka";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "gurka";
-              version = "0.1.7";
-              sha256 =
-                "b46c96446f46a53411a3b45d126ec19e724178818206ca1d2dd16abff28df6b5";
-            };
-
-            meta = {
-              description = ''Erlang implementation of Cucumber'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    gurka = gurka_0_1_7;
-
-    gutenex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, imagineer_0_2_1 }:
-          buildMix ({
-            name = "gutenex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gutenex";
-              version = "0.2.0";
-              sha256 =
-                "5c8ab30570d7ddcd6cdb2eeaf1d3eba4db83f6ef955f4030f05cf476cbce79fa";
-            };
-            beamDeps  = [ imagineer_0_2_1 ];
-
-            meta = {
-              description = ''PDF Generation in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/gutenex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gutenex = gutenex_0_2_0;
-
-    hackney_1_5_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ssl_verify_fun_1_1_0,
-          mimerl_1_0_2,
-          metrics_1_0_1,
-          idna_1_2_0,
-          certifi_0_4_0
-        }:
-          buildMix ({
-            name = "hackney";
-            version = "1.5.7";
-            src = fetchHex {
-              pkg = "hackney";
-              version = "1.5.7";
-              sha256 =
-                "627ed3f048b950d2dbbec918519f89f498a2136d74ca8180c15fad412b9bc869";
-            };
-            beamDeps  = [
-                          ssl_verify_fun_1_1_0
-                          mimerl_1_0_2
-                          metrics_1_0_1
-                          idna_1_2_0
-                          certifi_0_4_0
-                        ];
-
-            meta = {
-              description = ''simple HTTP client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/benoitc/hackney";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hackney_1_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ssl_verify_fun_1_1_0,
-          mimerl_1_0_2,
-          metrics_1_0_1,
-          idna_1_2_0,
-          certifi_0_4_0
-        }:
-          buildMix ({
-            name = "hackney";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "hackney";
-              version = "1.6.0";
-              sha256 =
-                "8b517f17c794ab611815042d24e149daafbd898d63aac8baf6750b890261c716";
-            };
-            beamDeps  = [
-                          ssl_verify_fun_1_1_0
-                          mimerl_1_0_2
-                          metrics_1_0_1
-                          idna_1_2_0
-                          certifi_0_4_0
-                        ];
-
-            meta = {
-              description = ''simple HTTP client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/benoitc/hackney";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hackney = hackney_1_6_0;
-
-    haikunator_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "haikunator";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "haikunator";
-              version = "1.0.1";
-              sha256 =
-                "60692df3a559df14bac6a8c115091977f0a45eea55123a5cb37e3d763cbe92e8";
-            };
-
-            meta = {
-              longDescription = ''Generate Heroku-like memorable random names
-                                to use in your apps or anywhere else.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/Haikunator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    haikunator = haikunator_1_0_1;
-
-    hairnet_1_0_0 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, base64url_0_0_1
-        }:
-          buildRebar3 ({
-            name = "hairnet";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hairnet";
-              version = "1.0.0";
-              sha256 =
-                "b3f15cdb7d9e6183a5cde401ded684c88cc2ea09dca75facf82b5281f4596606";
-            };
-
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''An Erlang library wrapping AES-GCM (AEAD) crypto
-                            in a Fernet-like interface'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/hairnet/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hairnet = hairnet_1_0_0;
-
-    happy_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "happy";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "happy";
-              version = "1.1.1";
-              sha256 =
-                "3b2ee083ea1d68063df4fb0561eb462703e6188d9352d0763b458ee6ce385060";
-            };
-
-            meta = {
-              longDescription = ''Happy path programming in elixir. Alternative
-                                to ok_jose, elixir`s 1.2 `with` keyword and that
-                                kind of stuff.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/happy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    happy = happy_1_1_1;
-
-    harakiri_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "harakiri";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "harakiri";
-              version = "1.0.1";
-              sha256 =
-                "2c3bc7300cbded03bb1b01ebe67e74507a5350c79fe08276a2a17359a6c28d79";
-            };
-
-            meta = {
-              description = ''Help applications do things to themselves.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/harakiri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    harakiri = harakiri_1_0_1;
-
-    harvest_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "harvest";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "harvest";
-              version = "0.0.3";
-              sha256 =
-                "a9b52f37959a97e876603da5a34a0683e9e4a8e534fb7c672175602768fc812a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Harvest Time Tracking API wrapper written in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/luishurtado/harvest";
-            };
-          } // packageOverrides)
-      ) {};
-
-    harvest = harvest_0_0_3;
-
-    hash_n_cache_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hash_n_cache";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hash_n_cache";
-              version = "0.0.2";
-              sha256 =
-                "3cd95f04cd6017894b1829307e568a72a3d42c6b70379c37b86c80ab0a6f68ec";
-            };
-
-            meta = {
-              longDescription = ''A simple utility to hash an erlang term, and
-                                cache the term in ETS with the hash as the key
-                                and the term as the value.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/elbow-jason/hash_n_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hash_n_cache = hash_n_cache_0_0_2;
-
-    hash_ring_0_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hash_ring";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "hash_ring";
-              version = "0.4.0";
-              sha256 =
-                "97f7b4252e660ae3c66fd163277267d3445cfea097342027fe6cc3512fdafd16";
-            };
-
-            meta = {
-              description = ''Consistent Hash Ring'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/hash_ring";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hash_ring = hash_ring_0_4_0;
-
-    hashids_2_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hashids";
-            version = "2.0.2";
-            src = fetchHex {
-              pkg = "hashids";
-              version = "2.0.2";
-              sha256 =
-                "3dae063908483454ec691e61da580a056997b4c9affcf12b2330937ee48e6bf0";
-            };
-
-            meta = {
-              description = ''Hashids lets you obfuscate numerical identifiers
-                            via reversible mapping.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/hashids-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hashids = hashids_2_0_2;
-
-    heap_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "heap";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "heap";
-              version = "1.0.0";
-              sha256 =
-                "39ddb188337ef43dd46e1920abba0bb88821a8cc19cc8688aa36045a58f733d0";
-            };
-
-            meta = {
-              description = ''Heap data structure and tools'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    heap = heap_1_0_0;
-
-    heapq_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "heapq";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "heapq";
-              version = "0.0.1";
-              sha256 =
-                "60bc20c109360c6899203f4015fae42c9e5a4f82707f76b064e10d6da135d4fd";
-            };
-
-            meta = {
-              description = ''A Heap-based Priority Queue Implementation in
-                            Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/takscape/elixir-heapq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    heapq = heapq_0_0_1;
-
-    hedwig_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hedwig";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "hedwig";
-              version = "0.1.0";
-              sha256 =
-                "75139dc3ce629dcb703a17d053acf84da0787ab398e20566e10152cdf1ccad9c";
-            };
-
-            meta = {
-              description = ''An adapter-based chat bot framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hedwig-im/hedwig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hedwig_1_0_0_rc3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gproc_0_5_0 }:
-          buildMix ({
-            name = "hedwig";
-            version = "1.0.0-rc3";
-            src = fetchHex {
-              pkg = "hedwig";
-              version = "1.0.0-rc3";
-              sha256 =
-                "846347c6ae462e98b8c8c8a60f0bef8ee2c4ffa28463a0df030ae8a938cc773f";
-            };
-            beamDeps  = [ gproc_0_5_0 ];
-
-            meta = {
-              description = ''An adapter-based chat bot framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hedwig-im/hedwig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hedwig = hedwig_1_0_0_rc3;
-
-    hermes_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, chronos_1_5_1 }:
-          buildMix ({
-            name = "hermes";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "hermes";
-              version = "0.1.0";
-              sha256 =
-                "f28880392a8b1b027c58c387870099f854f842fdeb1f7a0ba94a0b1ca07643bf";
-            };
-            beamDeps  = [ chronos_1_5_1 ];
-
-            meta = {
-              longDescription = ''Is a mailer component for sending & recieving
-                                emails. The name comes from the greek messanger
-                                of the gods.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/hemes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hermes = hermes_0_1_0;
-
-    hex2bin_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hex2bin";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hex2bin";
-              version = "1.0.0";
-              sha256 =
-                "e7012d1d9aadd26e680f0983d26fb8923707f05fac9688f19f530fa3795e716f";
-            };
-
-            meta = {
-              description = ''Hex string/binary conversion utilities'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/aesedepece/hex2bin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex2bin = hex2bin_1_0_0;
-
-    hex_math_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hex_math";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hex_math";
-              version = "0.0.2";
-              sha256 =
-                "1dd9284c402d06bcd63ccb8df6022342defb2de4bd666066ed409e3b3c47761b";
-            };
-
-            meta = {
-              description = ''Library for working with hex grids.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tjcelaya/hex_math";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex_math = hex_math_0_0_2;
-
-    hex_searcher_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          table_rex_0_4_0,
-          ibrowse_4_2_2,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "hex_searcher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hex_searcher";
-              version = "1.0.0";
-              sha256 =
-                "26d2097aa0f950c67ea55822e15cfec26976f76a60ec51d758af9d60126b3538";
-            };
-            beamDeps  = [
-                          table_rex_0_4_0
-                          ibrowse_4_2_2
-                          httpotion_2_2_2
-                          floki_0_7_2
-                        ];
-
-            meta = {
-              description = ''Search hex packages from terminal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nguyenvinhlinh/HexSearcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex_searcher = hex_searcher_1_0_0;
-
-    hexate_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hexate";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "hexate";
-              version = "0.5.1";
-              sha256 =
-                "b146d4c48380bef3eee74e16bc243f91783f72502759f1f18460b6a8da441270";
-            };
-
-            meta = {
-              description = ''A simple module for working with hex strings in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rjsamson/hexate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexate = hexate_0_5_1;
-
-    hexbot_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hexbot";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hexbot";
-              version = "0.0.1";
-              sha256 =
-                "f9b8c9805468f7b93fa88440f1e75d8ed2fc3b7d11a68c455abf81efcc31590c";
-            };
-
-            meta = {
-              description = ''A hubot-like bot framework for chatops.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tombell/hexbot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexbot = hexbot_0_0_1;
-
-    hexdocset_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_0_5 }:
-          buildMix ({
-            name = "hexdocset";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hexdocset";
-              version = "1.0.0";
-              sha256 =
-                "846ed02411d759710f0f72a401d81a67cbc181421e461d3246540b3d471044be";
-            };
-            beamDeps  = [ floki_0_0_5 ];
-
-            meta = {
-              description = ''Convert hex doc to Dash.app`s docset format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yesmeck/hexdocset";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexdocset = hexdocset_1_0_0;
-
-    hipchat_logger_backend_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "hipchat_logger_backend";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "hipchat_logger_backend";
-              version = "0.1.2";
-              sha256 =
-                "211bb8e174858c7858c76f992fa7b19d9373a29d7f501b774517534af17bf590";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A logger backend for posting errors to
-                            HipChat.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fbcouch/hipchat_logger_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hipchat_logger_backend = hipchat_logger_backend_0_1_2;
-
-    hlc_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hlc";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "hlc";
-              version = "2.0.0";
-              sha256 =
-                "460ac04654e920e068d1fd17aec1f78b1879cc42ac7f3def7497f0d1cc5056ad";
-            };
-
-            meta = {
-              description = ''hybrid logical clock'';
-
-              homepage = "https://github.com/barrel-db/hlc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hlc = hlc_2_0_0;
-
-    hoax_0_11_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hoax";
-            version = "0.11.2";
-            src = fetchHex {
-              pkg = "hoax";
-              version = "0.11.2";
-              sha256 =
-                "fca0d9056201e671719736b4f86fe2b8da6f8b42d88b28b1bcb2b307586928a8";
-            };
-
-            meta = {
-              description = ''Yet another mocking library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/xenolinguist/hoax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hoax = hoax_0_11_2;
-
-    holidays_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "holidays";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "holidays";
-              version = "0.1.1";
-              sha256 =
-                "098f192bd02f1fd68fd22ae69dc608a03e89a4c814c3c3901d56c8f697cda622";
-            };
-
-            meta = {
-              description = ''Library for finding which holidays fall on given
-                            dates.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CoderDennis/holidays";
-            };
-          } // packageOverrides)
-      ) {};
-
-    holidays = holidays_0_1_1;
-
-    honeybadger_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "honeybadger";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "honeybadger";
-              version = "0.5.0";
-              sha256 =
-                "a19b507955a229276af2af14b4a324d4b352d17b468e9c29215e1637bd493c42";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir client, Plug and error_logger for
-                                integrating with the Honeybadger.io exception
-                                tracker'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/honeybadger-io/honeybadger-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    honeybadger = honeybadger_0_5_0;
-
-    hooks_1_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hooks";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "hooks";
-              version = "1.1.1";
-              sha256 =
-                "6834ad3a2a624a5ffd49e9cb146ff49ded423b67f31905b122d24128c72c5c85";
-            };
-
-            meta = {
-              description = ''generic plugin & hook system'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/hooks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hooks = hooks_1_1_1;
-
-    hound_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "hound";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hound";
-              version = "1.0.0";
-              sha256 =
-                "433c541048096b864f4a346231967d63f4acfcc32fd280f80505b95a2f9738a4";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Webdriver library for integration testing and
-                            browser automation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/HashNuke/hound";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hound = hound_1_0_0;
-
-    hpack_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hpack";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hpack";
-              version = "1.0.0";
-              sha256 =
-                "092fe46ef1c59bf2d7d47f627520321eb6965861db1516c95ef19d484958aea5";
-            };
-
-            meta = {
-              longDescription = ''Implementation of the
-                                [HPack](https://http2.github.io/http2-spec/compression.html)
-                                protocol, a compression format for efficiently
-                                representing HTTP header fields, to be used in
-                                HTTP/2.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    hpack = hpack_1_0_0;
-
-    html_builder_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_builder";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "html_builder";
-              version = "0.1.1";
-              sha256 =
-                "7cba41180419a26e2fb8ff1c075efcdf31e4079e06144d58623c32c1de3835d9";
-            };
-
-            meta = {
-              description = ''generate html in elixir with simple data
-                            structures'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/html_builder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_builder = html_builder_0_1_1;
-
-    html_entities_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_entities";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "html_entities";
-              version = "0.3.0";
-              sha256 =
-                "93811511394efeee964f6e7df3b72b37ad39c1d185030c3561aebf1c15c4d995";
-            };
-
-            meta = {
-              description = ''Decode and encode HTML entities in a string.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/martinsvalin/html_entities";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_entities = html_entities_0_3_0;
-
-    html_sanitize_ex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "html_sanitize_ex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "html_sanitize_ex";
-              version = "0.1.2";
-              sha256 =
-                "e6937b25832bcdccb8b547632428de7fe034199c871f037311d4340c345348a7";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''HTML sanitizer for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/html_sanitize_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_sanitize_ex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "html_sanitize_ex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "html_sanitize_ex";
-              version = "1.0.0";
-              sha256 =
-                "5bf36372dafe900da8d9613502ce4efad3d885af5beb0d298386da0b6a1dbbc6";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''HTML sanitizer for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/html_sanitize_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_sanitize_ex = html_sanitize_ex_1_0_0;
-
-    html_to_pdf_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_to_pdf";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "html_to_pdf";
-              version = "0.5.2";
-              sha256 =
-                "7adcde56c221e8f2447837d3b5983775f53071035d9ce9f179635a5e94c795e3";
-            };
-
-            meta = {
-              description = ''Super simple library for turning raw HTML or
-                            webpages into beautiful PDFs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/html_to_pdf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_to_pdf = html_to_pdf_0_5_2;
-
-    http2_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http2";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "http2";
-              version = "0.0.2";
-              sha256 =
-                "fd8354d9c7800223ffcb66c2c359a40a5be3809ea4e3b2046fee253a5d049250";
-            };
-
-            meta = {
-              description = ''HPACK implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kiennt/hpack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http2 = http2_0_0_2;
-
-    http_digex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_digex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "http_digex";
-              version = "0.0.1";
-              sha256 =
-                "43bca23be7809bd4e2a5efa23d294117457192c98bd1cdf6b90b61285bc4109a";
-            };
-
-            meta = {
-              description = ''A module to create basic digest http auth
-                            header'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/techgaun/http_digex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_digex = http_digex_0_0_1;
-
-    http_params_serializer_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_params_serializer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "http_params_serializer";
-              version = "0.1.1";
-              sha256 =
-                "7d6c2184814b7232130a3193c9832827c5eeaaae928155d96863ec426da6ce69";
-            };
-
-            meta = {
-              longDescription = ''A small library to serialize deeply nested
-                                datastructures into HTTP parameters that most
-                                backends do understand'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/ruby2elixir/http_params_serializer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_params_serializer = http_params_serializer_0_1_1;
-
-    http_proxy_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          hackney_1_6_0,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "http_proxy";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "http_proxy";
-              version = "1.0.2";
-              sha256 =
-                "157f7a75f41f9f1532244c0eb1587fa638518c2e9b0f95aaaf3f6d1489ec94e3";
-            };
-            beamDeps  = [ plug_1_1_5 hackney_1_6_0 exjsx_3_2_0 cowboy_1_0_4
-                      ];
-
-            meta = {
-              description = ''Multi port HTTP Proxy and support record/play
-                            request.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/http_proxy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_proxy = http_proxy_1_0_2;
-
-    http_router_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "http_router";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "http_router";
-              version = "0.0.8";
-              sha256 =
-                "9a2844cc8c880621ca2689e0056f50e2c19e3b0e87a8e2524489459b377a8dc3";
-            };
-            beamDeps  = [
-                          xml_builder_0_0_8 poison_1_5_2 plug_1_1_5 cowboy_1_0_4
-                        ];
-
-            meta = {
-              longDescription = ''HTTP Router with various macros to assist in
-                                developing your application and organizing your
-                                code'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/sugar-framework/elixir-http-router";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_router = http_router_0_0_8;
-
-    http_signature_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_signature";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "http_signature";
-              version = "1.1.0";
-              sha256 =
-                "3e6036d9c29289ed0e35dd6f41821dec9061ce20aad3c4d35dcbae8c84eb3baa";
-            };
-
-            meta = {
-              description = ''Erlang and Elixir implementations of Joyent`s
-                            HTTP Signature Scheme.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage =
-                "https://github.com/potatosalad/erlang-http_signature";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_signature = http_signature_1_1_0;
-
-    httparrot_0_3_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "httparrot";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "httparrot";
-              version = "0.3.4";
-              sha256 =
-                "05dc3a30de92a5fc284c937339131c478d57b125cb3d65e97b99bc0fce3d3452";
-            };
-            beamDeps  = [ exjsx_3_2_0 cowboy_1_0_4 ];
-
-            meta = {
-              description = '' HTTP Request & Response Server. An incomplete
-                            clone of http://httpbin.org '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httparrot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httparrot = httparrot_0_3_4;
-
-    httpehaviour_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "httpehaviour";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "httpehaviour";
-              version = "0.9.0";
-              sha256 =
-                "54e93dcf0e62d392781078cf029478194797fe67c98dffe99a91b5d5ec33e4e5";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Yet Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpehaviour";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpehaviour = httpehaviour_0_9_0;
-
-    httplacebo_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "httplacebo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "httplacebo";
-              version = "0.1.0";
-              sha256 =
-                "0f1873e65bb97227d43b5c6fc2138f33ef83f90cd068d9a9aee06ed8ef44a7ec";
-            };
-
-            meta = {
-              description = ''The `do nothing` HTTP client for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/guilleiguaran/httplacebo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httplacebo = httplacebo_0_1_0;
-
-    httpoison_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_5_7 }:
-          buildMix ({
-            name = "httpoison";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "httpoison";
-              version = "0.8.2";
-              sha256 =
-                "00738e34fe2e254199c0324ef60b8150a7b2ced66c2296c4df8425c8e9b8d5c0";
-            };
-            beamDeps  = [ hackney_1_5_7 ];
-
-            meta = {
-              description = ''Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpoison_0_8_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "httpoison";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "httpoison";
-              version = "0.8.3";
-              sha256 =
-                "74f2103e6eff47dcc2b288e37f42629874df3e4a4dce5fbc9dea508de4785e06";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpoison = httpoison_0_8_3;
-
-    httpotion_2_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ibrowse_4_2_2 }:
-          buildMix ({
-            name = "httpotion";
-            version = "2.2.2";
-            src = fetchHex {
-              pkg = "httpotion";
-              version = "2.2.2";
-              sha256 =
-                "47c6b6c535592547366fe16bfa175385e7de09eecbb2dc6b0f2cea526ef45fbd";
-            };
-            beamDeps  = [ ibrowse_4_2_2 ];
-
-            meta = {
-              description = ''Fancy HTTP client for Elixir, based on
-                            ibrowse.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/myfreeweb/httpotion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpotion_3_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ibrowse_4_2_2 }:
-          buildMix ({
-            name = "httpotion";
-            version = "3.0.0";
-            src = fetchHex {
-              pkg = "httpotion";
-              version = "3.0.0";
-              sha256 =
-                "ca6364eaa9737ba305307e17d0277c80e57003fc0934b99f6a5048d7a4f932b8";
-            };
-            beamDeps  = [ ibrowse_4_2_2 ];
-
-            meta = {
-              description = ''Fancy HTTP client for Elixir, based on
-                            ibrowse.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/myfreeweb/httpotion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpotion = httpotion_3_0_0;
-
-    huami_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "huami";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "huami";
-              version = "0.0.1";
-              sha256 =
-                "c12f38e24e7b085422e5f57c991792cd5045bd083574b1cca0458d8f2dfae40d";
-            };
-
-            meta = {
-              description = ''A CLI version of flower password writing in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yesmeck/huami.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huami = huami_0_0_1;
-
-    huex_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "huex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "huex";
-              version = "0.5.0";
-              sha256 =
-                "e5fe37fdc4299567922697516df8ade2f64d2c1573dc9a253e5037f66576858f";
-            };
-            beamDeps  = [ json_0_3_3 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for Philips Hue connected light
-                            bulbs'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/huex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huex = huex_0_5_0;
-
-    hufflehoff_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hufflehoff";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hufflehoff";
-              version = "0.0.1";
-              sha256 =
-                "f10c6ffceb3b6d161ff5aa4dfeb8fe77affabf073f0bc7059d8296a4256093f2";
-            };
-
-            meta = {
-              description = ''A Huffman encoder/decoder for HTTP/2 headers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sideshow/hufflehoff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hufflehoff = hufflehoff_0_0_1;
-
-    huffman_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "huffman";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "huffman";
-              version = "1.1.1";
-              sha256 =
-                "6983b0eebb29e6f7b4e971cf46e04ebcf52f073ca97f7ed29b5c0de68d58c496";
-            };
-
-            meta = {
-              description = ''Huffman encoding and decoding.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/huffman";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huffman = huffman_1_1_1;
-
-    hulaaki_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hulaaki";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hulaaki";
-              version = "0.0.2";
-              sha256 =
-                "d1bea8de565a4ca49f0e362c37597c3e8744b0323a7e9104cf09ac555e713ebe";
-            };
-
-            meta = {
-              description = ''An MQTT 3.1.1 client library written in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/suvash/hulaaki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hulaaki = hulaaki_0_0_2;
-
-    hyde_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exredis_0_2_4 }:
-          buildMix ({
-            name = "hyde";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hyde";
-              version = "0.0.1";
-              sha256 =
-                "d4424adbf13e2aecafa38f73318885f56bd70eb8e5fede22858af8cf76e2475e";
-            };
-            beamDeps  = [ exredis_0_2_4 ];
-
-            meta = {
-              longDescription = ''Feature Toggles for Elixir - Basic Redis
-                                backed feature toggles for individual users or
-                                named groups'';
-
-              homepage = "https://github.com/beautifulcode/hyde";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hyde = hyde_0_0_1;
-
-    hydra_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "hydra";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hydra";
-              version = "0.0.1";
-              sha256 =
-                "ea35ec756dfaa0390ba53a0313bb50b924517f746922a98e3489bddf8e066b7d";
-            };
-            beamDeps  = [
-                          porcelain_2_0_1
-                          poison_1_5_2
-                          plug_1_1_5
-                          httpoison_0_8_3
-                          cowboy_1_0_4
-                        ];
-
-            meta = {
-              description = ''A multi-headed beast: API gateway, request cache,
-                            and data transformations'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/doomspork/hydra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hydra = hydra_0_0_1;
-
-    hypermedia_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hypermedia";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hypermedia";
-              version = "0.0.1";
-              sha256 =
-                "595c174772c45206f293f61b338105e61d96dba1436b07ed5b3b12eb07842721";
-            };
-
-            meta = {
-              description = ''A Elixir library for creating HAL/JSON Hypermedia
-                            APIs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jurriaan/hypermedia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hypermedia = hypermedia_0_0_1;
-
-    hypermock_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "hypermock";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hypermock";
-              version = "0.0.2";
-              sha256 =
-                "dbb7ad24f651a3bb99475f39f9b0d6b7e9b3f959d8a80577ea6c803a5b548516";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    hypermock = hypermock_0_0_2;
-
-    hypex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hypex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "hypex";
-              version = "1.1.0";
-              sha256 =
-                "32e153bee0dabea8941940711c9ed9a7e15c50fc3d474c5b75b14359fb408363";
-            };
-
-            meta = {
-              description = ''Fast HyperLogLog implementation for
-                            Elixir/Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/hypex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hypex = hypex_1_1_0;
-
-    i18n_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tipo_0_0_3,
-          exprintf_0_1_6
-        }:
-          buildMix ({
-            name = "i18n";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "i18n";
-              version = "0.0.2";
-              sha256 =
-                "d3fbaccb502540565a9659fd21cff930b12ee698bfdac6d3df6487e2c101891f";
-            };
-            beamDeps  = [ tipo_0_0_3 exprintf_0_1_6 ];
-
-            meta = {
-              description = ''i18n locale translations helpers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-i18n";
-            };
-          } // packageOverrides)
-      ) {};
-
-    i18n = i18n_0_0_2;
-
-    iam_role_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsone_1_2_3 }:
-          buildMix ({
-            name = "iam_role";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "iam_role";
-              version = "1.0.0";
-              sha256 =
-                "acfc5d5c5130a36dfb2b460f790bd9e32bf39274f17333bd65c28d216983761d";
-            };
-            beamDeps  = [ jsone_1_2_3 ];
-
-            meta = {
-              description = ''Application for automatically fetching AWS IAM
-                            role security credentials.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsharju/iam_role";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iam_role = iam_role_1_0_0;
-
-    ibrowse_4_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ibrowse";
-            version = "4.2.2";
-            src = fetchHex {
-              pkg = "ibrowse";
-              version = "4.2.2";
-              sha256 =
-                "b800cb7442bcc852c6832821e9d0a7098ff626e1415bddaeff4596640b31c0ae";
-            };
-
-            meta = {
-              description = ''Erlang HTTP client application'';
-              license = with stdenv.lib.licenses; [ free bsd3 ];
-              homepage = "https://github.com/cmullaparthi/ibrowse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ibrowse = ibrowse_4_2_2;
-
-    identicon_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "identicon";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "identicon";
-              version = "0.2.0";
-              sha256 =
-                "38b11bb3ed2c76956fcbf8673be8cbf6570ef8a85d92b51ce45304ed0368d88c";
-            };
-
-            meta = {
-              description = ''Elixir library for generating 5x5 symmetrical
-                            identicons'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/rbishop/identicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    identicon = identicon_0_2_0;
-
-    idfk_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "idfk";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "idfk";
-              version = "0.1.0";
-              sha256 =
-                "dab162904f49c852db763719364d5b3e6d75bfc319fe3d8f5179c6bb656acf6d";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''The library of Elixir chunks of code that didn`t
-                            clearly belong anywhere else.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amorphid/idfk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idfk = idfk_0_1_0;
-
-    idna_1_0_2 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "idna";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.0.2";
-              sha256 =
-                "a5d645e307aa4f67efe31682f720b7eaf431ab148b3d6fb66cbaf6314499610f";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.0.3";
-              sha256 =
-                "357d489a51112db4f216034406834f9172b3c0ff5a12f83fb28b25ca271541d1";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.1.0";
-              sha256 =
-                "d399393011cd2fa93761d70199b604b2f055bcf6cb45cac922870e122d2eb2fe";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.2.0";
-              sha256 =
-                "1d724cdafb66397e61774ead242c9b725de7033cde8ea98fa4a91e64ac5ef5b3";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "2.0.0";
-              sha256 =
-                "881226593c79eb4b2bf7106a3f2995c70ee6ffbb371c8d1bc71f2869686089f4";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna = idna_2_0_0;
-
-    ieex_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ieex";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ieex";
-              version = "0.0.3";
-              sha256 =
-                "c448a86c7979bc75f98e9eb32473041975fb633bc9715f1965958e4a9dbbd1ff";
-            };
-
-            meta = {
-              description = ''Biblioteca para validacao de Inscricao
-                            Estadual'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edmaarcosta/IEEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ieex = ieex_0_0_3;
-
-    imagineer_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, apex_0_3_7 }:
-          buildMix ({
-            name = "imagineer";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "imagineer";
-              version = "0.2.1";
-              sha256 =
-                "31a8430b89770fdd6ec9d96a6e3d9ea92296dfc57e98bb812cd376e60f2e70f8";
-            };
-            beamDeps  = [ apex_0_3_7 ];
-
-            meta = {
-              description = ''Image processing in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/imagineer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    imagineer = imagineer_0_2_1;
-
-    imgex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "imgex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "imgex";
-              version = "0.1.0";
-              sha256 =
-                "783e78b0624b87d1431d8acaa790998ac75d8654312e5799eff7b12956246c49";
-            };
-
-            meta = {
-              description = ''Unofficial client library for generating imgix
-                            URLs in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ianwalter/imgex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    imgex = imgex_0_1_0;
-
-    immortal_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "immortal";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "immortal";
-              version = "0.2.0";
-              sha256 =
-                "4387bffa9e2c25b8bfed0bf9d80fd918861c6a4098b853138d2398d5b6f24be2";
-            };
-
-            meta = {
-              description = ''Helpers for fault-tolerant OTP applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/immortal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    immortal = immortal_0_2_0;
-
-    inaka_aleppo_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "inaka_aleppo";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "inaka_aleppo";
-              version = "1.0.0";
-              sha256 =
-                "06754b98702607ec742d8315b2e79188b38fbb60e3f1a1582de5673e230f74d4";
-            };
-
-            meta = {
-              description = ''Aleppo: ALternative Erlang Pre-ProcessOr'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/aleppo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inaka_aleppo = inaka_aleppo_1_0_0;
-
-    inaka_mixer_0_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "inaka_mixer";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "inaka_mixer";
-              version = "0.1.5";
-              sha256 =
-                "37af35b1c17a94a0cb643cba23cba2ca68d6fe51c3ad8337629d4c3c017cc912";
-            };
-
-            meta = {
-              description = ''Mix in public functions from external modules'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/mixer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inaka_mixer = inaka_mixer_0_1_5;
-
-    indefinite_article_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "indefinite_article";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "indefinite_article";
-              version = "0.0.1";
-              sha256 =
-                "cb59d3373c5ff05693f74f445e7807d1fe5c38b9cfa6bcedfd9efedb4a0861ae";
-            };
-
-            meta = {
-              description = ''Returns you the indefinite article of a string
-                            (*a* banana, *an* apple, etc)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Buyapowa/indefinite_article";
-            };
-          } // packageOverrides)
-      ) {};
-
-    indefinite_article = indefinite_article_0_0_1;
-
-    inet_cidr_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inet_cidr";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "inet_cidr";
-              version = "1.0.1";
-              sha256 =
-                "4809be88cf1a436b819acec2b07a33e7ad24beb0cf9b6c8a94217aea7d298d8a";
-            };
-
-            meta = {
-              longDescription = ''Classless Inter-Domain Routing (CIDR) library
-                                for Elixir Compatible with Erlang`s :inet module
-                                and support for IPv4 and IPv6'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/cobenian/inet_cidr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inet_cidr = inet_cidr_1_0_1;
-
-    inflect_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflect";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "inflect";
-              version = "0.0.11";
-              sha256 =
-                "36636ccb31b1ca9f34d95af8fff97aa68d34d925c5128dc8f04fc77764fa208a";
-            };
-
-            meta = {
-              description = ''case sensitive regular expression for splitting
-                            strings'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflect";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflect = inflect_0_0_11;
-
-    inflections_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, inflector_0_0_11 }:
-          buildMix ({
-            name = "inflections";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections";
-              version = "0.0.1";
-              sha256 =
-                "f1fe5f35313eb1bd6bfc3a0d5e3bd169a31bfbf09021b9928ecfff3052731efc";
-            };
-            beamDeps  = [ inflector_0_0_11 ];
-
-            meta = {
-              description = ''inflector helpers for managing different
-                            locales'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections = inflections_0_0_1;
-
-    inflections_en_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflector_0_0_11,
-          inflections_0_0_1
-        }:
-          buildMix ({
-            name = "inflections_en";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections_en";
-              version = "0.0.1";
-              sha256 =
-                "28c8e2f52974879499ea039bc8bf369b75e978f4ee60de8641e7efdef575bd77";
-            };
-            beamDeps  = [ inflector_0_0_11 inflections_0_0_1 ];
-
-            meta = {
-              description = ''inflector english rules'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections_en";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections_en = inflections_en_0_0_1;
-
-    inflections_es_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflector_0_0_11,
-          inflections_0_0_1
-        }:
-          buildMix ({
-            name = "inflections_es";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections_es";
-              version = "0.0.1";
-              sha256 =
-                "28c6323f851d2287f77d7dd0b888e9888f5f785ff105a356078aff4a46544495";
-            };
-            beamDeps  = [ inflector_0_0_11 inflections_0_0_1 ];
-
-            meta = {
-              description = ''inflector spanish rules'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections_es";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections_es = inflections_es_0_0_1;
-
-    inflector_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflector";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "inflector";
-              version = "0.0.11";
-              sha256 =
-                "4abd1e267d0df9536d3f54c579d74a0951fbbc6100e4b034a0905d99296a9e08";
-            };
-
-            meta = {
-              description = ''simple rule based inflector'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflector = inflector_0_0_11;
-
-    inflex_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "0.3.0";
-              sha256 =
-                "2cb9896a2572eb0989d92d7d98653829e079ccb804aa1b98beafff7678275852";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.0.0";
-              sha256 =
-                "549ebe94420051cdf845028372d1f89c8fbdd7b5f5ddd51e0619b827b7be6793";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.4.1";
-              sha256 =
-                "d316fecd9db83db97828bbcbdb689f5c412e3aaf658329cf479cad5baa856c92";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.5.0";
-              sha256 =
-                "d48609edc5bb7901b95dcc00c1e38f259e8006904865a028954ccfe9336a3384";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex = inflex_1_5_0;
-
-    ini_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ini";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ini";
-              version = "0.0.1";
-              sha256 =
-                "96b86cf664ca8247cdad166c29251ef4ddc156f16f906bdf2ea1c37831fbf804";
-            };
-
-            meta = {
-              description = ''Module to parse ini files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanjohnson320/ini";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ini = ini_0_0_1;
-
-    insert_ordered_set_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "insert_ordered_set";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "insert_ordered_set";
-              version = "0.0.1";
-              sha256 =
-                "78ebc47d780aa1e8fabce7d4f4d5f3b9c90e1443514ad830b32f7c5184f87634";
-            };
-
-            meta = {
-              longDescription = ''Provides a data structure with the following
-                                properties: 1. Contains unique values. 2. O(1)
-                                manipulation operations (e.g. insert, delete) by
-                                using an underlying Map. 3. Preserves insertion
-                                order when converting to a list. Allows reverse
-                                insertion ordering.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/localshred/insert_ordered_set";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insert_ordered_set = insert_ordered_set_0_0_1;
-
-    insight_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "insight";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "insight";
-              version = "0.1.4";
-              sha256 =
-                "97b4bfd6f0b595b3febca7ea2f0bdf5cb429c18309f7acc8a2a308847aaded07";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir package for consuming any Insight-powered
-                            Bitcoin explorer.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stampery/elixir-insight";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insight = insight_0_1_4;
-
-    insights_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "insights";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "insights";
-              version = "0.0.2";
-              sha256 =
-                "92794ab7ba760a7b17ffac1f98ecff1a848148d15a1d9fabe58b0150767cddbd";
-            };
-
-            meta = {
-              longDescription = ''Insights is a wrapper for sending and data
-                                capture for keen.io or others adapters'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gullitmiranda/insights";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insights = insights_0_0_2;
-
-    instrumental_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "instrumental";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "instrumental";
-              version = "0.1.3";
-              sha256 =
-                "26d3c6dcd2b04d716266afa9d12ba193fc1f038d21c67178e50f77ef1671acec";
-            };
-
-            meta = {
-              description = ''An Elixir client for Instrumental
-                            (http://instrumentalapp.com).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/undeadlabs/instrumental-ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    instrumental = instrumental_0_1_3;
-
-    ip2location_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "ip2location";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ip2location";
-              version = "0.1.0";
-              sha256 =
-                "77e059326d6c3f1348c53b3486dfa59d2b0ad90c999f51da86cabbb2d0099685";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''An Elixir library for the IP2Location
-                            database.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/nazipov/ip2location-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ip2location = ip2location_0_1_0;
-
-    ipa_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ipa";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ipa";
-              version = "0.0.3";
-              sha256 =
-                "ff365e6ec32ae9159877fb464c6754387fe97168e15a0ce7de346106ec6d75a6";
-            };
-
-            meta = {
-              longDescription = ''A pale, hoppy library for working with IP
-                                Addresses. Validate and transform IPv4 addresses
-                                and subnet masks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bordeltabernacle/IPA";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ipa = ipa_0_0_3;
-
-    iplist_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          earmark_0_2_1,
-          cidr_1_0_0
-        }:
-          buildMix ({
-            name = "iplist";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "iplist";
-              version = "1.0.2";
-              sha256 =
-                "fae5b5accc8b7a7618c2d1fbf94607ce6e79ca3b493da6643dbb1bd92be30bd4";
-            };
-            beamDeps  = [ earmark_0_2_1 cidr_1_0_0 ];
-
-            meta = {
-              description = ''Library and CLI tool to expand IPv4 ranges to
-                            lists of IP numbers'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/digitalronin/iplist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iplist = iplist_1_0_2;
-
-    iptools_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "iptools";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "iptools";
-              version = "0.0.2";
-              sha256 =
-                "33bf27bc72094bbc4e67c664c979e5cebfe17c5369c91fc2e2610cc726b252db";
-            };
-
-            meta = {
-              description = ''A set of functions for validating and
-                            transforming IPv4 addresses'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/blackfist/iptools";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iptools = iptools_0_0_2;
-
-    is_chinese_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_chinese";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "is_chinese";
-              version = "1.0.0";
-              sha256 =
-                "907da2e2995c104bb89152d276c41337b6c4075aa866663e3fb7ebe48da8ff62";
-            };
-
-            meta = {
-              description = ''Check whether string is Chinese'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/is_chinese";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_chinese = is_chinese_1_0_0;
-
-    is_email_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_email";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "is_email";
-              version = "0.0.2";
-              sha256 =
-                "fefcf35b6ca506cd7d2e3d1d850b49e9a2545180db46e291845aa9fd54812d82";
-            };
-
-            meta = {
-              description = ''Loosely check whether a given string is an
-                            email'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_email";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_email = is_email_0_0_2;
-
-    is_up_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpotion_2_2_2 }:
-          buildMix ({
-            name = "is_up";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "is_up";
-              version = "1.0.2";
-              sha256 =
-                "e73713422ef99f9788d130eec1fd880ea15cc5e023137658263fe94bd12a56e1";
-            };
-            beamDeps  = [ httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Check whether a given url is up.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_up";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_up = is_up_1_0_2;
-
-    is_url_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_url";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "is_url";
-              version = "0.0.1";
-              sha256 =
-                "4c3f86302e0c675ece51a247838f64ce88335008035463c8c20b21667399d413";
-            };
-
-            meta = {
-              description = ''Validate a url'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_url = is_url_0_0_1;
-
-    isaac_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "isaac";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "isaac";
-              version = "0.0.1";
-              sha256 =
-                "e43c136931b8003def7cf8a9eaa49e9713ab91a76729c667591e0a4c03511fa1";
-            };
-
-            meta = {
-              longDescription = ''Isaac is an elixir module for the [ISAAC
-                                Stream
-                                Cipher](http://burtleburtle.net/bob/rand/isaacafa.html)
-                                It wraps around https://github.com/arianvp/ISAAC
-                                which is a port of the ISAAC stream cipher to
-                                platforms which have words bigger than 32 bits.
-                                '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/arianvp/elixir-isaac";
-            };
-          } // packageOverrides)
-      ) {};
-
-    isaac = isaac_0_0_1;
-
-    isbndbex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "isbndbex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "isbndbex";
-              version = "0.1.0";
-              sha256 =
-                "5c9fe6840a3beadb78a3b5f8d243475258d9d117ef0976cceb0d4c464a4cf4f4";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for isbndb rest api.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rcoedo/isbndbex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    isbndbex = isbndbex_0_1_0;
-
-    iso3166_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "iso3166";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "iso3166";
-              version = "0.0.4";
-              sha256 =
-                "fde520eac52e491e0492a42a8f5f00b03435733e81f35e58685998e9142c4215";
-            };
-            beamDeps  = [ poison_2_1_0 floki_0_8_1 ];
-
-            meta = {
-              longDescription = ''A library that provides a list of ISO3166
-                                country names, two letter abbreviations, three
-                                letter abbreviations, and functions for
-                                converting between them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joelpm/iso3166ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iso3166 = iso3166_0_0_4;
-
-    janrain_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "janrain";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "janrain";
-              version = "0.0.1";
-              sha256 =
-                "35299ee088dfd5647e7a5cd129d5011f2d6319fe53045b2a8ce3ddf70792cc78";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''A small library to help with Janrain logins.
-                                Probably most useful when used in conjuction
-                                with Phoenix and Guardian.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rickr/janrain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    janrain = janrain_0_0_1;
-
-    japan_municipality_code_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "japan_municipality_code";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "japan_municipality_code";
-              version = "1.0.1";
-              sha256 =
-                "b03879f6a716f04579d19c9be818b0e3780b61ab2e79057ed3a7f64e576b5378";
-            };
-
-            meta = {
-              description = ''Elixir Library for Japan municipality key
-                            converting'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hykw/japan_municipality_key";
-            };
-          } // packageOverrides)
-      ) {};
-
-    japan_municipality_code = japan_municipality_code_1_0_1;
-
-    jc_1_2_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          lager_3_0_1,
-          jwalk_1_1_0,
-          jsone_1_2_0
-        }:
-          buildRebar3 ({
-            name = "jc";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "jc";
-              version = "1.2.0";
-              sha256 =
-                "cbc043e4d0e6b1ccd6279426babcfd73ac186f9ddf780c0bff24f7e586aa3a6c";
-            };
-
-            beamDeps  = [ ranch_1_1_0 lager_3_0_1 jwalk_1_1_0 jsone_1_2_0 ];
-
-            meta = {
-              description = ''A simple, distributed, in-memory caching
-                            system'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jc = jc_1_2_0;
-
-    jequalson_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jequalson";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "jequalson";
-              version = "0.1.1";
-              sha256 =
-                "5ed0a54b8aaa457cb441b3baafc508d8be4fc90db29a0cc27980eeeb65db18ac";
-            };
-
-            meta = {
-              description = ''Helpers for testing JSON responses.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dm1try/jequalson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jequalson = jequalson_0_1_1;
-
-    jesse_0_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildRebar3 ({
-            name = "jesse";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "jesse";
-              version = "0.1.3";
-              sha256 =
-                "679702baf154d8e078c60b8eb4f2b7f53304e24deea03b32cbff350772afba4d";
-            };
-
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''jesse'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/for-GET/jesse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jesse = jesse_0_1_3;
-
-    jira_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "jira";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "jira";
-              version = "0.0.8";
-              sha256 =
-                "71c19ef23ea7351a2dc7b8f14d0c5794ff00382fa43a88a2235ec9c1741a73cb";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client library for JIRA + JIRA Agile /
-                            Greenhopper'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/jira";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jira = jira_0_0_8;
-
-    jobspool_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "jobspool";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "jobspool";
-              version = "0.1.0";
-              sha256 =
-                "f4ba59374f844fe8ac018606748b120b7860c0f568364514d1dc87eb42829aad";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              description = ''Simple Elixir jobs pool'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/flupke/exjobspool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jobspool = jobspool_0_1_0;
-
-    joken_0_16_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          jose_1_7_5
-        }:
-          buildMix ({
-            name = "joken";
-            version = "0.16.1";
-            src = fetchHex {
-              pkg = "joken";
-              version = "0.16.1";
-              sha256 =
-                "a804bfd350f61688f6ce8d9898bc17fd4b59990c054debeea44234d53048d93d";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 jose_1_7_5 ];
-
-            meta = {
-              description = ''JWT Library for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/bryanjos/joken";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jolt_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "jolt";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "jolt";
-              version = "0.1.0";
-              sha256 =
-                "922498b234a1b0a813255d3abf5caa64a9afdc41eb4d8d71f87d71c41fe792e8";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''A full REST JSON API with zero coding,
-                                powered by Elixir. It is intended to be used as
-                                a command-line tool (just run mix escript.build
-                                first).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/clarkware/jolt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jolt = jolt_0_1_0;
-
-    jorel_mix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jorel_mix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "jorel_mix";
-              version = "0.0.1";
-              sha256 =
-                "be990099dc7d13dd22e741d96dd3282ba9096f9e132c047ebc0f134b3d470461";
-            };
-
-            meta = {
-              description = ''Just anOther RELease assembler'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/emedia-project/jorel_mix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jorel_mix = jorel_mix_0_0_1;
-
-    jose_1_4_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base64url_0_0_1 }:
-          buildMix ({
-            name = "jose";
-            version = "1.4.2";
-            src = fetchHex {
-              pkg = "jose";
-              version = "1.4.2";
-              sha256 =
-                "7bc79dfa28b0194c9334eddeaf33d02b51d4101d5b18f08086503a7b82be7cb0";
-            };
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''JSON Object Signing and Encryption (JOSE) for
-                            Erlang and Elixir.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jose_1_7_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base64url_0_0_1 }:
-          buildMix ({
-            name = "jose";
-            version = "1.7.5";
-            src = fetchHex {
-              pkg = "jose";
-              version = "1.7.5";
-              sha256 =
-                "c473f64b03fb4541b8b3f56982e563d1090a1168d0dc154e6275135515c4b65d";
-            };
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''JSON Object Signing and Encryption (JOSE) for
-                            Erlang and Elixir.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jose = jose_1_7_5;
-
-    jsex_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "jsex";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "jsex";
-              version = "2.0.0";
-              sha256 =
-                "98c1501645e31efdbcbb6172983d4deb1335de993966197e6a4343492fa7d872";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''json for elixir '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsex = jsex_2_0_0;
-
-    json_0_3_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "json";
-              version = "0.3.3";
-              sha256 =
-                "d1986548847189b51f1efb65d196e6ab9f2e88a6878a363aec0e3c77e2550616";
-            };
-
-            meta = {
-              description = ''Native Elixir library for JSON encoding and
-                            decoding'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/cblage/elixir-json";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json = json_0_3_3;
-
-    json_api_assert_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_api_assert";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "json_api_assert";
-              version = "0.0.1";
-              sha256 =
-                "b85f48d26e62977b77ed0a8a62b2079ae9e1ddd6dfba988a13b3366cb6dfd51e";
-            };
-
-            meta = {
-              description = ''assertions for JSON API payload'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/json_api_assert";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_api_assert = json_api_assert_0_0_1;
-
-    json_diff_ex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_diff_ex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "json_diff_ex";
-              version = "0.5.0";
-              sha256 =
-                "314fe606c76dea0c5b70ca918f5dd75a89456c6330596d707bbbf70c800352c9";
-            };
-
-            meta = {
-              description = ''Diff and patch for JSON in Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/olafura/json_diff_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_diff_ex = json_diff_ex_0_5_0;
-
-    json_logger_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, json_0_3_3 }:
-          buildMix ({
-            name = "json_logger";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "json_logger";
-              version = "0.6.0";
-              sha256 =
-                "4b3aaa23c2d0fec4fe4ba7c001ec6a72b1ae36f0268ede87557c59663843a0c3";
-            };
-            beamDeps  = [ json_0_3_3 ];
-
-            meta = {
-              description = ''A simple library for logging with JSON, best
-                            suited with Logstash.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/LeeroyDing/json_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_logger = json_logger_0_6_0;
-
-    json_pointer_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_pointer";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "json_pointer";
-              version = "0.0.2";
-              sha256 =
-                "150b37bc4ff689758f17aee180fbf8f7226c3eeff7d28a782e6f0a74f859417e";
-            };
-
-            meta = {
-              longDescription = ''Implementation of RFC 6901 which defines a
-                                string syntax for identifying a specific value
-                                within a JSON document'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/json_pointer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_pointer = json_pointer_0_0_2;
-
-    json_stream_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "json_stream";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "json_stream";
-              version = "0.0.1";
-              sha256 =
-                "07e2283f7f211f50d4fa686f1814f7a8b9637cfe3f358f6f15332489b2b7f2ab";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              longDescription = ''Small but useful wrapper above erlang `jsx`
-                                to stream json elements from an Elixir binary
-                                stream.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/json_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_stream = json_stream_0_0_1;
-
-    json_web_token_0_2_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "json_web_token";
-            version = "0.2.5";
-            src = fetchHex {
-              pkg = "json_web_token";
-              version = "0.2.5";
-              sha256 =
-                "2e90fca59a7f9a4862ff8688622da5f12e880134b11ac1eb0eb0b19143d7a309";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Elixir implementation of the JSON Web Token
-                            (JWT), RFC 7519'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/garyf/json_web_token_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_web_token = json_web_token_0_2_5;
-
-    jsonapi_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "jsonapi";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "jsonapi";
-              version = "0.3.0";
-              sha256 =
-                "f0e3c00a2af7394621695ded4e31cdf369436916ffc47347835f06616d594b33";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Fully functional JSONAPI V1 Serializer as
-                                well as a QueryParser for Plug based projects
-                                and applications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeregrine/jsonapi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsonapi = jsonapi_0_3_0;
-
-    jsone_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.0";
-              sha256 =
-                "a60e74284d3a923cde65c00a39dd4542fd7da7c22e8385c0378ad419c54b2e08";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.2";
-              sha256 =
-                "253c18c7dc6fc27290b1f507f3adc6863f4396b099d0eb396e3c0e58dcfe0ee4";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone_1_2_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.3";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.3";
-              sha256 =
-                "629369e718a50a2fcb23c210b6f2eb2fd08b0a6a2c5edade4fca24cda368ac13";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone = jsone_1_2_3;
-
-    jsx_1_4_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsx";
-            version = "1.4.5";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "1.4.5";
-              sha256 =
-                "ff5115611c5dd789cebe3addc07d18b86340f701c52ad063caba6fe8da3a489b";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mixunit_0_9_2 }:
-          buildMix ({
-            name = "jsx";
-            version = "2.5.3";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.5.3";
-              sha256 =
-                "528ab2fdadbcfe95a44ddb831724ee28d48bd3dbd11f2e8109874c855c43dd12";
-            };
-            beamDeps  = [ mixunit_0_9_2 ];
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_6_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.6.2";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.6.2";
-              sha256 =
-                "6bfccb6461cc3c7d5cc63f3e69ffeb2f1f8de50eca5980065311c056a69a907f";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.7.1";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.7.1";
-              sha256 =
-                "52d0e8bda0c8624bc59c3119236eb49bb66289702ea3d59ad76fd2a56cdf9089";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.8.0";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.8.0";
-              sha256 =
-                "a8ba15d5bac2c48b2be1224a0542ad794538d79e2cc16841a4e24ca75f0f8378";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx = jsx_2_8_0;
-
-    jsxd_0_1_10 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsxd";
-            version = "0.1.10";
-            src = fetchHex {
-              pkg = "jsxd";
-              version = "0.1.10";
-              sha256 =
-                "f71a8238f08a1dee130e8959ff5343524891fa6531392667a5b911cead5f5082";
-            };
-
-            meta = {
-              description = ''jsx data structire traversing and modification
-                            library.'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/Licenser/jsxd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsxd = jsxd_0_1_10;
-
-    junit_formatter_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "junit_formatter";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "junit_formatter";
-              version = "1.1.0";
-              sha256 =
-                "d173ee429c98c9829eb9b24a8615ac584b49c58c29cefc9532eff5e19404ea8b";
-            };
-
-            meta = {
-              longDescription = ''An ExUnit.Formatter that produces an XML
-                                report of the tests run in the project _build
-                                dir. It is a good fit with Jenkins test
-                                reporting plugin, for example.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorolinasc/junit-formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    junit_formatter = junit_formatter_1_1_0;
-
-    jwalk_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jwalk";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "jwalk";
-              version = "1.1.0";
-              sha256 =
-                "10c150910ba3539583887cb2b5c3f70d602138471e6f6b5c22498aa18ed654e1";
-            };
-
-            meta = {
-              longDescription = ''Helper module for working with Erlang
-                                representations of JSON, handling eep-18, map,
-                                mochijson-style and proplists representations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jwalk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwalk_1_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jwalk";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "jwalk";
-              version = "1.1.2";
-              sha256 =
-                "322d6bc04c1b16efdd711711c101415f9df18a87af31315e6d04e48e678d1bf0";
-            };
-
-            meta = {
-              longDescription = ''Helper module for working with Erlang
-                                representations of JSON, handling eep-18, map,
-                                mochijson-style and proplists representations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jwalk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwalk = jwalk_1_1_2;
-
-    jwt_0_1_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          base64url_0_0_1
-        }:
-          buildRebar3 ({
-            name = "jwt";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "jwt";
-              version = "0.1.2";
-              sha256 =
-                "be9a6502857f40e3c285909a80a21d00dffcb9330951abe86e6c9cffb17770f1";
-            };
-
-            beamDeps  = [ jsx_2_8_0 base64url_0_0_1 ];
-
-            meta = {
-              description = ''Erlang JWT library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/jwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwt = jwt_0_1_2;
-
-    jwt_claims_0_0_3 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, json_web_token_0_2_5
-        }:
-          buildMix ({
-            name = "jwt_claims";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "jwt_claims";
-              version = "0.0.3";
-              sha256 =
-                "baf94583907a4d774079a8a98c13c0cf5d306ee6211e805f156523a20658e230";
-            };
-            beamDeps  = [ json_web_token_0_2_5 ];
-
-            meta = {
-              description = ''Elixir implementation of JWT registered claims,
-                            RFC 7519'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/garyf/jwt_claims_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwt_claims = jwt_claims_0_0_3;
-
-    jwtex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "jwtex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "jwtex";
-              version = "0.0.1";
-              sha256 =
-                "5b8b826e8543e323f62a0e8cb2fb5714d8e7110ecce97419cd0a4a656fa411cf";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''JWT decoding library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mschae/jwtex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwtex = jwtex_0_0_1;
-
-    k6_bytea_1_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "k6_bytea";
-            version = "1.1.5";
-            src = fetchHex {
-              pkg = "k6_bytea";
-              version = "1.1.5";
-              sha256 =
-                "1ce4ca84bbe45890bc3c07809f8e01fb80c4613226fbd318aaac73d4cd233132";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''A mutable byte array for Erlang.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    k6_bytea = k6_bytea_1_1_5;
-
-    kafka_ex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kafka_ex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "kafka_ex";
-              version = "0.5.0";
-              sha256 =
-                "5e5d5be9bad3d9b9e77f75047c479aadc140d7e13be85a912cef8e7d647f0ae7";
-            };
-
-            meta = {
-              description = ''Kafka client for Elixir/Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kafkaex/kafka_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kafka_ex = kafka_ex_0_5_0;
-
-    kaguya_0_4_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kaguya";
-            version = "0.4.7";
-            src = fetchHex {
-              pkg = "kaguya";
-              version = "0.4.7";
-              sha256 =
-                "d687b8832c42e4d3d03e09e68b9df3a9bb4b208d287d8c2835170c343e2e4554";
-            };
-
-            meta = {
-              longDescription = ''A small, powerful, and modular IRC bot
-                                framework. Using a flexible macro based routing
-                                system, modules can be easily created and
-                                used.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/Luminarys/Kaguya";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kaguya = kaguya_0_4_7;
-
-    kennitala_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kennitala";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "kennitala";
-              version = "1.0.0";
-              sha256 =
-                "8f22c152fb5de86455d4570ec23f96b3ee110c8f7243e9fd7ffd85fbccf63838";
-            };
-
-            meta = {
-              longDescription = ''Elixir library for validating and handling
-                                the Icelandic Kennitala identity number.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JonGretar/Kennitala.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kennitala = kennitala_1_0_0;
-
-    key2value_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "key2value";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "key2value";
-              version = "1.4.0";
-              sha256 =
-                "ad63453fcf54ab853581b78c6d2df56be41ea691ba4bc05920264c19f35a0ded";
-            };
-
-            meta = {
-              description = ''Erlang 2-way Map'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/key2value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    key2value_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "key2value";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "key2value";
-              version = "1.5.1";
-              sha256 =
-                "2a40464b9f8ef62e8828d869ac8d2bf9135b4956d29ba4eb044e8522b2d35ffa";
-            };
-
-            meta = {
-              description = ''Erlang 2-way Map'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/key2value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    key2value = key2value_1_5_1;
-
-    keymaster_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "keymaster";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "keymaster";
-              version = "0.0.3";
-              sha256 =
-                "93ba90778f0dbe162fde8584c1510a61fcbf0f08d20ed24ea8548a3f84790fa8";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''An opinionated OAuth 2.0 server for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/austinsmorris/keymaster";
-            };
-          } // packageOverrides)
-      ) {};
-
-    keymaster = keymaster_0_0_3;
-
-    keys1value_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "keys1value";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "keys1value";
-              version = "1.5.1";
-              sha256 =
-                "2385132be0903c170fe21e54a0c3e746a604777b66ee458bb6e5f25650d3354f";
-            };
-
-            meta = {
-              description = ''Erlang Set Associative Map For Key Lists'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/keys1value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    keys1value = keys1value_1_5_1;
-
-    kinja_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "kinja";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "kinja";
-              version = "0.0.1";
-              sha256 =
-                "97b68a603fb5e665f07aac0396ee53d28690bdc42845c38b23741675c053b761";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper for the Kinja API.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/adampash/kinjaex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kinja = kinja_0_0_1;
-
-    kitsune_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "kitsune";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "kitsune";
-              version = "0.5.2";
-              sha256 =
-                "f8d48f1f3abe89aa9df7b37bc59c9bfa5932142d076d5322f97e92ec732bf993";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''Kitsune is an Elixir library for transforming
-                                the representation of data inspired by
-                                Representable.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edubkendo/kitsune";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kitsune = kitsune_0_5_2;
-
-    kitto_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "kitto";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "kitto";
-              version = "0.0.1";
-              sha256 =
-                "36a2c19a364fd9998ee3d0635fb6386104733d9887143f2ade8fe39f7096e635";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Framework for creating interactive dashboards'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kittoframework/kitto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kitto = kitto_0_0_1;
-
-    kubex_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "kubex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "kubex";
-              version = "0.1.1";
-              sha256 =
-                "b0bd22246731b1c4d4d7f832cd0015fd6586022c779fb6672f45a648da7dcf79";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Kubernetes integration for and in pure Elixir.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/ingerslevio/kubex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kubex = kubex_0_1_1;
-
-    kwfuns_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kwfuns";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "kwfuns";
-              version = "0.0.4";
-              sha256 =
-                "ce1ac52be8d3c3cb7c77fc339eaa877a190899e889bf97cdb92e01922fd52b54";
-            };
-
-            meta = {
-              longDescription = ''Macros to create functions with syntax based
-                                keyword parameters with default values defkw
-                                make_list_elem( parent, text, spaced: false,
-                                type: :ul ) do ... end translates to def
-                                make_list_elem( parent, text, keywords \\ [] )
-                                do some_code_with( spaces, typed) end'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/RobertDober/lab42_defkw";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kwfuns = kwfuns_0_0_4;
-
-    lager_3_0_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_7
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.0.1";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.0.1";
-              sha256 =
-                "d32c9233105b72dc5c1f6a8fe9a33cc205ecccc359c4449950060cee5a329e35";
-            };
-
-            beamDeps  = [ goldrush_0_1_7 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_3_0_2 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_7
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.0.2";
-              sha256 =
-                "527f3b233e01b6cb68780c14ef675ed08ec02247dc029cacecbb56c78dfca100";
-            };
-
-            beamDeps  = [ goldrush_0_1_7 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_3_2_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_8
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.2.1";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.2.1";
-              sha256 =
-                "09a751789852094bf1ffad239a602bc47829da13ca5937b9d12df27470692095";
-            };
-
-            beamDeps  = [ goldrush_0_1_8 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager = lager_3_2_1;
-
-    lager_hipchat_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, lager_3_0_2 }:
-          buildRebar3 ({
-            name = "lager_hipchat";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "lager_hipchat";
-              version = "0.2.0";
-              sha256 =
-                "83dc3246822b33b2889c431975ff0f8ffc6954c9e5f744bfd99acd9fa8605a1c";
-            };
-
-            beamDeps  = [ lager_3_0_2 ];
-
-            meta = {
-              description = ''HipChat backend for Lager'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synlay/lager_hipchat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_hipchat = lager_hipchat_0_2_0;
-
-    lager_logger_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, lager_3_2_1 }:
-          buildMix ({
-            name = "lager_logger";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "lager_logger";
-              version = "1.0.2";
-              sha256 =
-                "28e13b1a5d43acefdf7f49d219ecb268dd934da448d2e1d4c3f74378fdea9e89";
-            };
-            beamDeps  = [ lager_3_2_1 ];
-
-            meta = {
-              longDescription = ''LagerLogger is a lager backend that forwards
-                                all log messages to Elixir`s Logger.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/PSPDFKit-labs/lager_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_logger = lager_logger_1_0_2;
-
-    lasse_1_1_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "lasse";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "lasse";
-              version = "1.1.0";
-              sha256 =
-                "53e70ea9031f7583331a9f9bdbb29da933e591e5c4cce521b4bf85c68e7f3385";
-            };
-
-            meta = {
-              description = ''Lasse: Server-Sent Event handler for Cowboy.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/lasse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lasse = lasse_1_1_0;
-
-    ldap_ex_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ldap_ex";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "ldap_ex";
-              version = "0.2.4";
-              sha256 =
-                "5ecdbce6e0243f92ce012b4fdf7daff4bbf6e748d37e028a4674e1ec87d81dbe";
-            };
-
-            meta = {
-              longDescription = ''This is a binary instead of char_list version
-                                of the stock Erlang :eldap library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OvermindDL1/ldap_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ldap_ex = ldap_ex_0_2_4;
-
-    left_pad_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "left_pad";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "left_pad";
-              version = "0.0.3";
-              sha256 =
-                "9b14a4b7f84f320175bd2ed2f24754a62206fdd67d90117602876c415cf22374";
-            };
-
-            meta = {
-              description = ''Pad a string to the left with any number of
-                            characters.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/folz/left_pad.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    left_pad = left_pad_0_0_3;
-
-    leftpad_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "leftpad";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "leftpad";
-              version = "1.0.1";
-              sha256 =
-                "88e4cd8039461f2558f6e8378d834772b9315554080c5b729d65472209824a89";
-            };
-
-            meta = {
-              description = ''left pad for elixir, because why not?
-                            ¯\\_(ツ)_/¯'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/colinrymer/leftpad.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    leftpad = leftpad_1_0_1;
-
-    lessonly_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "lessonly";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lessonly";
-              version = "0.0.1";
-              sha256 =
-                "a7c53da4a3153043a36636e9c9b188e7bad54caac4c994705afe4d47fd2ef111";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the Lesson.ly API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevegrossi/lessonly-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lessonly = lessonly_0_0_1;
-
-    level_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "level";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "level";
-              version = "1.0.0";
-              sha256 =
-                "42d54a840e79af5833e5ae335b374699c46d996053f2f3480e181a57cad2ae62";
-            };
-
-            meta = {
-              longDescription = ''Level implements various helper functions and
-                                data types for working with Googles Level data
-                                store. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gausby/level";
-            };
-          } // packageOverrides)
-      ) {};
-
-    level = level_1_0_0;
-
-    lex_luthor_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lex_luthor";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lex_luthor";
-              version = "0.1.0";
-              sha256 =
-                "1a8ebf646f9cd29f3696659e67f4bbb65a5a558e4b3e1f43013c5e85022189a2";
-            };
-
-            meta = {
-              longDescription = ''LexLuthor is a Lexer in Elixir (say that 10
-                                times fast) which uses macros to generate a
-                                reusable lexers. Good times.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jamesotron/lex_luthor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lex_luthor = lex_luthor_0_1_0;
-
-    lfsr_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lfsr";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "lfsr";
-              version = "0.0.2";
-              sha256 =
-                "8a14455bd0ce5c6b7dc56bf1027007c67e48979b49b70e09372cc36769d16b90";
-            };
-
-            meta = {
-              description = ''Elixir implementation of a binary Galois Linear
-                            Feedback Shift Register. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pma/lfsr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lfsr = lfsr_0_0_2;
-
-    lhttpc_1_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lhttpc";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "lhttpc";
-              version = "1.3.0";
-              sha256 =
-                "ddd2bd4b85159bc987c954b14877168e6a3c3e516105702189776e97c50296a4";
-            };
-
-            meta = {
-              description = ''Lightweight HTTP Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/talko/lhttpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lhttpc_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lhttpc";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "lhttpc";
-              version = "1.4.0";
-              sha256 =
-                "26d5a12b63fedb3e862a816a472258007dc1e85b75a9bcdb0223425e39827777";
-            };
-
-            meta = {
-              description = ''Lightweight HTTP Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/talko/lhttpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lhttpc = lhttpc_1_4_0;
-
-    libsnarlmatch_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "libsnarlmatch";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "libsnarlmatch";
-              version = "0.1.7";
-              sha256 =
-                "72e9bcf7968e75774393778146ac6596116f1c60136dd607ad249183684ee380";
-            };
-
-            meta = {
-              description = ''permission matcher library'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/project-fifo/libsnarlmatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    libsnarlmatch = libsnarlmatch_0_1_7;
-
-    lineo_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lineo";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lineo";
-              version = "0.0.1";
-              sha256 =
-                "cbf80d2a2315803949dc186decce770c6850fb45fb919982ed24da758893093a";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/lineo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lineo_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lineo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lineo";
-              version = "0.1.0";
-              sha256 =
-                "842733d2aae3b8cfadf3acfe456241eb3434e68984d1fdbb7be15e335591e21c";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/lineo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lineo = lineo_0_1_0;
-
-    linguist_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "linguist";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "linguist";
-              version = "0.1.5";
-              sha256 =
-                "d8b0665512a800854152082f6d56142e56e5da5f5b0d879298117b7dfd55ba97";
-            };
-
-            meta = {
-              description = ''Elixir Internationalization library '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/linguist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    linguist = linguist_0_1_5;
-
-    liquid_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "liquid";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "liquid";
-              version = "0.2.2";
-              sha256 =
-                "b68ae1dbc002e05028f7a74bb717d9a7863397eddde802d6ed5d96394120d1b1";
-            };
-
-            meta = {
-              description = ''Liquid implementation in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nulian/liquid-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    liquid = liquid_0_2_2;
-
-    lob_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          chacha20_0_3_2
-        }:
-          buildMix ({
-            name = "lob";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lob";
-              version = "0.1.0";
-              sha256 =
-                "adf071a07fde2fbd2393c06a18959e6d48622c7a3769e868cf577095c7eac67e";
-            };
-            beamDeps  = [ poison_2_1_0 chacha20_0_3_2 ];
-
-            meta = {
-              description = ''Length-Object-Binary (LOB) Packet Encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/lob_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lob = lob_0_1_0;
-
-    logfmt_3_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logfmt";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "logfmt";
-              version = "3.0.2";
-              sha256 =
-                "d079aab159c3682d90054dbf8228cc0f86c8d5df6e6145c60d69a81110c3ee1c";
-            };
-
-            meta = {
-              description = ''Logfmt is a module for encoding and decoding
-                            logfmt-style log lines.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jclem/logfmt-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logfmt = logfmt_3_0_2;
-
-    logger_file_backend_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_file_backend";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "logger_file_backend";
-              version = "0.0.8";
-              sha256 =
-                "1d89664561365545517114eeba9f96b193fd1f52c90b5f055b79f1e40547ffea";
-            };
-
-            meta = {
-              description = ''Simple logger backend that writes to a file'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/onkel-dirtus/logger_file_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_file_backend = logger_file_backend_0_0_8;
-
-    logger_lager_backend_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_lager_backend";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "logger_lager_backend";
-              version = "0.0.2";
-              sha256 =
-                "cd9f4c0df86d9209d905b451f4177aa0cbe341488ae36969c49af772830432a0";
-            };
-
-            meta = {
-              description = ''A Logger backend that forwards messages to
-                            lager'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/jonathanperret/logger_lager_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_lager_backend = logger_lager_backend_0_0_2;
-
-    logger_loggly_backend_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "logger_loggly_backend";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "logger_loggly_backend";
-              version = "0.2.0";
-              sha256 =
-                "111d0e256ace86e2af366b1afc7152b4aadd3cd6c093d5d2b119c08a84395fd6";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Loggly logger backend'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyfeldberg/loggly_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_loggly_backend = logger_loggly_backend_0_2_0;
-
-    logger_logstash_backend_2_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "logger_logstash_backend";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "logger_logstash_backend";
-              version = "2.0.0";
-              sha256 =
-                "e0c709aa8fbddd825ef5cc5287e0d04f4470498173555e07156675aeba2b2b7a";
-            };
-            beamDeps  = [ timex_2_1_6 exjsx_3_1_0 ];
-
-            meta = {
-              description = ''Logstash UDP producer backend for Logger.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/logger_logstash_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_logstash_backend = logger_logstash_backend_2_0_0;
-
-    logger_papertrail_backend_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_papertrail_backend";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "logger_papertrail_backend";
-              version = "0.1.0";
-              sha256 =
-                "ae2bff0588a702cb3bd87080c5f4558d34efd0fbf19f976397fe9b0538b1c20b";
-            };
-
-            meta = {
-              description = ''A Papertrail backend for Elixir Logger'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/larskrantz/logger_papertrail_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_papertrail_backend = logger_papertrail_backend_0_1_0;
-
-    logglix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "logglix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "logglix";
-              version = "0.0.1";
-              sha256 =
-                "c193945b52e7fe3f6973e7defec46683b794baacd784eaa0c1f7c65978fea654";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir loggly application event subscriber'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/pragmaticivan/logglix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logglix = logglix_0_0_1;
-
-    logi_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "logi";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "logi";
-              version = "0.5.0";
-              sha256 =
-                "45619004d3735f27e6f397ba0696c5fc6ea1ee89e037fd50847d975e0330de8f";
-            };
-
-            meta = {
-              description = ''A Logger Interface Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/logi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logi = logi_0_5_0;
-
-    logi_stdlib_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, logi_0_5_0 }:
-          buildRebar3 ({
-            name = "logi_stdlib";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "logi_stdlib";
-              version = "0.1.0";
-              sha256 =
-                "a2e12cf14fe6660e81b6351f51711c4891147eb4140d1b2b8c23007bb750312b";
-            };
-
-            beamDeps  = [ logi_0_5_0 ];
-
-            meta = {
-              description = ''Standard Library for logi'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/logi_stdlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logi_stdlib = logi_stdlib_0_1_0;
-
-    lolcat_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          quickrand_1_5_1,
-          colorful_0_6_0
-        }:
-          buildMix ({
-            name = "lolcat";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lolcat";
-              version = "0.0.1";
-              sha256 =
-                "884799d2e7f294a6a5455e19c9816592d7b1314cefaba18952876fef0c4a10af";
-            };
-            beamDeps  = [ quickrand_1_5_1 colorful_0_6_0 ];
-
-            meta = {
-              description = ''The clone of lolcat. written in elixir '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/restartr/ex-lolcat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lolcat = lolcat_0_0_1;
-
-    loom_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "loom";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "loom";
-              version = "0.0.10";
-              sha256 =
-                "f32cf0fe1c14efb9b4fda15285a5d331b64e952da7a0561c66f7e2b671d36cb8";
-            };
-
-            meta = {
-              description = ''A modern CRDT library that uses protocols to
-                            create composable CRDTs.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/asonge/loom";
-            };
-          } // packageOverrides)
-      ) {};
-
-    loom = loom_0_0_10;
-
-    lru_1_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lru";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "lru";
-              version = "1.3.1";
-              sha256 =
-                "cd6ac15c383d58cd2933df9cb918617b24b12b6e5fb24d94c4c8f200fd93f619";
-            };
-
-            meta = {
-              description = ''implements a fixed-size LRU cache'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/erlang-lru";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lru = lru_1_3_1;
-
-    lru_cache_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lru_cache";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lru_cache";
-              version = "0.1.0";
-              sha256 =
-                "9543e4b00ad3763fa2a92cf9ed7429dff645d912f5d9134b32d573bb327f56b5";
-            };
-
-            meta = {
-              description = ''ETS-based LRU Cache'';
-
-              homepage = "https://github.com/arago/lru_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lru_cache = lru_cache_0_1_0;
-
-    ltsv_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ltsv";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ltsv";
-              version = "0.1.0";
-              sha256 =
-                "62e56251331da6cf5b95de9ecf6e0984749b0ba935356397151fa19f2491a449";
-            };
-
-            meta = {
-              description = ''A Labeled Tab-separated Values Parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/ltsvex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ltsv = ltsv_0_1_0;
-
-    luhn_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "luhn";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "luhn";
-              version = "0.3.1";
-              sha256 =
-                "86aba88228660238ad981b92cb7a0e92be04772fc54fe5effb338c94b3b7d9fa";
-            };
-
-            meta = {
-              description = ''Luhn algorithm in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/luhn_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    luhn = luhn_0_3_1;
-
-    luhnatex_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "luhnatex";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "luhnatex";
-              version = "0.5.1";
-              sha256 =
-                "f08bb73777cd8a12780ea12697064c942a08184074512d4e593443da74526eed";
-            };
-
-            meta = {
-              description = ''Luhn algorithm in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/my-flow/luhnatex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    luhnatex = luhnatex_0_5_1;
-
-    lz4_0_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lz4";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "lz4";
-              version = "0.2.2";
-              sha256 =
-                "a59522221e7cdfe3792bf8b3bb21cfe7ac657790e5826201fa2c5d0bc7484a2d";
-            };
-            compilePorts = true;
-
-            meta = {
-              description = ''LZ4 bindings for Erlang'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/szktty/erlang-lz4.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lz4 = lz4_0_2_2;
-
-    lz_string_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lz_string";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "lz_string";
-              version = "0.0.5";
-              sha256 =
-                "318ce091382febc3ca63e0ff9bff6bda78a797dd90f2a2f95fec6d0e2757d6fa";
-            };
-
-            meta = {
-              description = ''Elixir implementation of pieroxy`s lz-string
-                            compression algorithm.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/koudelka/elixir-lz-string";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lz_string = lz_string_0_0_5;
-
-    m2x_2_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "m2x";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "m2x";
-              version = "2.0.0";
-              sha256 =
-                "e125cf588d48d9b04fb4a003bb62ab1a8e8df359866dba0cde6444e9fd7ce939";
-            };
-            beamDeps  = [ json_0_3_3 hackney_1_6_0 ];
-
-            meta = {
-              longDescription = ''Elixir client library for the AT&T M2X
-                                (http://m2x.att.com) API. AT&T M2X is a
-                                cloud-based fully managed time-series data
-                                storage service for network connected
-                                machine-to-machine (M2M) devices and the
-                                Internet of Things (IoT).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/attm2x/m2x-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    m2x = m2x_2_0_0;
-
-    m2x_erlang_1_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "m2x_erlang";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "m2x_erlang";
-              version = "1.3.1";
-              sha256 =
-                "873db746f4428490670b54aabcc93fda8d94c3c4e25c94a9aef7275858a8b809";
-            };
-            beamDeps  = [ jsx_2_8_0 hackney_1_6_0 ];
-
-            meta = {
-              longDescription = ''Erlang client library for the AT&T M2X
-                                (http://m2x.att.com) API. AT&T M2X is a
-                                cloud-based fully managed time-series data
-                                storage service for network connected
-                                machine-to-machine (M2M) devices and the
-                                Internet of Things (IoT).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/attm2x/m2x-erlang";
-            };
-          } // packageOverrides)
-      ) {};
-
-    m2x_erlang = m2x_erlang_1_3_1;
-
-    maas_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "maas";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maas";
-              version = "1.0.0";
-              sha256 =
-                "f6c2a3dd4e291b7000d45938abd975a21e055ef2eba57701ed7e0399e7a64617";
-            };
-            beamDeps  = [ httpoison_0_8_3 poison_2_1_0 ];
-
-            meta = {
-              description = ''A wrapper for the Mars Atmospheric Weather System
-                            API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/ex-maas";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maas = maas_1_0_0;
-
-    maester_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "maester";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maester";
-              version = "1.0.0";
-              sha256 =
-                "4fa324e1545ba5805d2eef2341c9554b52a51dfd79146dc13ec4b589e55efddd";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API of Ice and Fire client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sotojuan/maester";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maester = maester_1_0_0;
-
-    magic_number_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "magic_number";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "magic_number";
-              version = "0.0.4";
-              sha256 =
-                "5b6fa41f5d24c3fd2f3cf9a96fefcf762c98bdd301158a95ab5355fe4f9eb61a";
-            };
-
-            meta = {
-              description = ''MagicNumber is the module to determine a file`s
-                            type from its magic number.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ishikawa/elixir-magic-number";
-            };
-          } // packageOverrides)
-      ) {};
-
-    magic_number = magic_number_0_0_4;
-
-    magnet_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "magnet";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "magnet";
-              version = "0.0.1";
-              sha256 =
-                "064af72e9422262813977752e2f7439501894bce48e5679576ceb93f6b649581";
-            };
-
-            meta = {
-              description = ''A magnet-uri encoder and decoder'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/magnet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    magnet = magnet_0_0_1;
-
-    mail_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mail";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "mail";
-              version = "0.0.4";
-              sha256 =
-                "015bb93bc3233fbf0bb28daf71963ddc290d574d9b3d63e1b45641d1a2d4571e";
-            };
-
-            meta = {
-              description = ''Easily build a composable mail message'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/elixir-mail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mail = mail_0_0_4;
-
-    mailer_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          gen_smtp_0_10_0
-        }:
-          buildMix ({
-            name = "mailer";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "mailer";
-              version = "1.0.1";
-              sha256 =
-                "08b834102ad6eb2f2a363b70939935d3d23d1e3a68d96a2a7f8730fb7834c63d";
-            };
-            beamDeps  = [ timex_2_1_6 gen_smtp_0_10_0 ];
-
-            meta = {
-              description = ''Mailer - A simple email client'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/antp/mailer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mailer = mailer_1_0_1;
-
-    mailgun_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "mailgun";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mailgun";
-              version = "0.1.2";
-              sha256 =
-                "9cc828e06238045c92414db8f2e9a64a6004aca9b9a4856e5222db99bd8528e8";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Elixir Mailgun Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/mailgun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mailgun = mailgun_0_1_2;
-
-    majremind_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "majremind";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "majremind";
-              version = "0.0.1";
-              sha256 =
-                "604ba3b2142497b2384c73b2320f9738711a9cc07b4348f8e870ee6e470c4749";
-            };
-
-            meta = {
-              longDescription = ''A self-maintained database of your updated
-                                server which tells you which one needs to be
-                                updated. It uses Disk Erlang Term Storage for
-                                its internal database, located at
-                                $HOME/.config/majremind/ '';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    majremind = majremind_0_0_1;
-
-    mandrake_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mandrake";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "mandrake";
-              version = "0.0.4";
-              sha256 =
-                "ed672e094f68ff07c1f8e78a3c8a95af3e23a71ca90515ad441738446ee18887";
-            };
-
-            meta = {
-              longDescription = ''Mandrake is a functional programming library
-                                that bring something else magic in elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mbasso/mandrake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mandrake = mandrake_0_0_4;
-
-    mandrill_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "mandrill";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "mandrill";
-              version = "0.5.0";
-              sha256 =
-                "9fb3a65d01de47cfc979a492079960506f21f8975e37e994478a70ee04c8d9a6";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              longDescription = ''A Mandrill wrapper for Elixir Requires an
-                                active account with Mandrill
-                                (http://mandrill.com).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/mandrill-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mandrill = mandrill_0_5_0;
-
-    maptu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maptu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "maptu";
-              version = "0.1.0";
-              sha256 =
-                "8dc5fd69e78a948a6cd3b95a1b1cb1a7056948a4445e4abed773cae8c88c16da";
-            };
-
-            meta = {
-              description = ''Tiny library to convert from \"encoded\" maps to
-                            Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/maptu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maptu = maptu_0_1_0;
-
-    marco_polo_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          decimal_1_1_2,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "marco_polo";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "marco_polo";
-              version = "0.2.2";
-              sha256 =
-                "a3107bb545590f4533dee040432659566b9c5ddbbbdbf7d1ee92381f450c0956";
-            };
-            beamDeps  = [ decimal_1_1_2 connection_1_0_2 ];
-
-            meta = {
-              description = ''Binary driver for the OrientDB database.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/MyMedsAndMe/marco_polo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    marco_polo = marco_polo_0_2_2;
-
-    mariaex_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "mariaex";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "mariaex";
-              version = "0.4.4";
-              sha256 =
-                "fadba91ff3719ac0fae7d454abfd812819630ea9f9aec768c5321331baa38b79";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Pure elixir database driver for MariaDB /
-                            MySQL.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xerions/mariaex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    marked_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "marked";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "marked";
-              version = "0.0.1";
-              sha256 =
-                "6e16369d41355bef05b18f98230afe08dcb3ccfaaab168382513d86c19721035";
-            };
-
-            meta = {
-              description = ''CommonMark compatible Markdown parser'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    marked = marked_0_0_1;
-
-    markit_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "markit";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "markit";
-              version = "0.1.2";
-              sha256 =
-                "6304ceb1e7a5787555bc7d048bf3c9c0b432fe5378c6d630fb02d0bb871e57b5";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Access stock market data from markit.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/markit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    markit = markit_0_1_2;
-
-    markit_skill_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          markit_0_1_2,
-          inflex_1_5_0,
-          alexa_0_1_14
-        }:
-          buildMix ({
-            name = "markit_skill";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "markit_skill";
-              version = "0.0.2";
-              sha256 =
-                "166d8ef88c08c21821dda379a053af761db4de5dff50226bfcb0e3a18fc855db";
-            };
-            beamDeps  = [ markit_0_1_2 inflex_1_5_0 alexa_0_1_14 ];
-
-            meta = {
-              description = ''Amazon Alexa skill that uses data from
-                            Markit.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/markit_skill";
-            };
-          } // packageOverrides)
-      ) {};
-
-    markit_skill = markit_skill_0_0_2;
-
-    maru_entity_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maru_entity";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "maru_entity";
-              version = "0.1.2";
-              sha256 =
-                "93b1f9f3941032cdf98b999cf4db85cace7e6259a78427322c5af8a5621e45b6";
-            };
-
-            meta = {
-              description = ''Elixir copy of grape-entity'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    maru_entity = maru_entity_0_1_2;
-
-    math_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "math";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "math";
-              version = "0.2.0";
-              sha256 =
-                "75557fb9743e866f743d894102da851531ffc69b4c0f8fdd12cd749acb1a6215";
-            };
-
-            meta = {
-              longDescription = ''The Math module adds many useful functions
-                                that extend Elixir`s standard library. - General
-                                Functions • a <~> b Comparison of floats, to
-                                check if they are _nearly_ equal. •
-                                Math.pow(x, n) Arithmetic exponentiation. Works
-                                both with integer powers and floats. •
-                                Math.sqrt(x) The square root of x. •
-                                Math.nth_root(x, n) The n-th root of x. •
-                                Math.isqrt(x) The integer square root of x. •
-                                Math.gcd(a, b) The greatest common divisor of a
-                                and b. • Math.lcm(a, b) The least common
-                                multiple of a and b. • Math.factorial(n) The
-                                n-th factorial number. •
-                                Math.k_permutations(n, k) The number of distinct
-                                ways to create groups of size k from n distinct
-                                elements. • Math.k_combinations(n, k) The
-                                number of distinct ways to create groups of size
-                                k from n distinct elements where order does not
-                                matter. - Logarithms • Math.exp(x) Calculates
-                                ℯ to the xth power. • Math.log(x) Calculates
-                                the natural logarithm (base ℯ) of x. •
-                                Math.log(x, b) Calculates the base-b logarithm
-                                of x • Math.log2(x) Calculates the binary
-                                logarithm (base 2) of x. • Math.log10(x)
-                                Calculates the common logarithm (base 10) of x.
-                                • Math.e Returns a floating-point
-                                approximation of the number ℯ. - Trigonometry
-                                • Math.pi Returns a floating-point
-                                approximation of the number π. •
-                                Math.deg2rad(x) converts from degrees to
-                                radians. • Math.rad2deg(x) converts from
-                                radians to degrees. • Math.sin(x) The sine of
-                                x. • Math.cos(x) The cosine of x. •
-                                Math.tan(x) The tangent of x. • Math.asin(x)
-                                The inverse sine of x. • Math.acos(x) The
-                                inverse cosine of x. • Math.atan(x) The
-                                inverse tangent of x. • Math.atan2(x, y) The
-                                inverse tangent of x and y. This variant returns
-                                the inverse tangent in the correct quadrant, as
-                                the signs of both x and y are known. •
-                                Math.sinh(x) The hyperbolic sine of x. •
-                                Math.cosh(x) The hyperbolic cosine of x. •
-                                Math.tanh(x) The hyperbolic tangent of x. •
-                                Math.asinh(x) The inverse hyperbolic sine of x.
-                                • Math.acosh(x) The inverse hyperbolic cosine
-                                of x. • Math.atanh(x) The inverse hyperbolic
-                                tangent of x. - Working with Collections •
-                                Math.Enum.product(collection) The result of
-                                multiplying all elements in the passed
-                                collection. • Math.Enum.mean(collection) the
-                                mean of the numbers in the collection. •
-                                Math.Enum.median(collection) the median of the
-                                numbers in the collection.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/folz/math";
-            };
-          } // packageOverrides)
-      ) {};
-
-    math = math_0_2_0;
-
-    matrix_0_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exprintf_0_1_6,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "matrix";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "matrix";
-              version = "0.3.1";
-              sha256 =
-                "3184d70b36666d52e011caf8be4590e2ecf3cc772203ec22b44d90c302592523";
-            };
-            beamDeps  = [ exprintf_0_1_6 earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''Matrix is a linear algebra library for
-                                manipulating dense matrices. Its primary design
-                                goal is ease of use.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-matrix.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    matrix = matrix_0_3_1;
-
-    maxwell_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mimerl_1_0_2 }:
-          buildMix ({
-            name = "maxwell";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maxwell";
-              version = "1.0.0";
-              sha256 =
-                "4a71f54a7645210f5274c00171a217a03a04635620d5eef52d0463a88f64d106";
-            };
-            beamDeps  = [ mimerl_1_0_2 ];
-
-            meta = {
-              longDescription = ''Maxwell is an HTTP client that provides a
-                                common interface over many adapters (such as
-                                hackney, ibrowse) and embraces the concept of
-                                Rack middleware when processing the
-                                request/response cycle.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhongwencool/maxwell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maxwell = maxwell_1_0_0;
-
-    maybe_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maybe";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "maybe";
-              version = "0.0.1";
-              sha256 =
-                "b1915afa2dd6a2db64ad7b20b41eeb2d3cb576cdbd20679594eb6ef76f612638";
-            };
-
-            meta = {
-              description = ''Utils to deal with errors'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/maybe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maybe = maybe_0_0_1;
-
-    mazurka_1_0_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mimetype_parser_0_1_2
-        }:
-          buildMix ({
-            name = "mazurka";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mazurka";
-              version = "1.0.0";
-              sha256 =
-                "7f035374ceb139b7531ca24bd111ee25cbf3be11b45af1bbf663ed3b832e7b13";
-            };
-            beamDeps  = [ mimetype_parser_0_1_2 ];
-
-            meta = {
-              description = ''hypermedia api toolkit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka = mazurka_1_0_0;
-
-    mazurka_dsl_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mazurka_dsl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mazurka_dsl";
-              version = "0.1.1";
-              sha256 =
-                "2877b27736daa1f5757ff1c2b34ec35d43c8e501b5292be5f9db7de95b88ea69";
-            };
-
-            meta = {
-              description = ''DSL for defining mazurka resources'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka_dsl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_dsl = mazurka_dsl_0_1_1;
-
-    mazurka_mediatype_0_2_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, etude_1_0_0_beta_2
-        }:
-          buildMix ({
-            name = "mazurka_mediatype";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mazurka_mediatype";
-              version = "0.2.0";
-              sha256 =
-                "4ccd8b27d6405e93cb34861f211d69b79ab46c2dbc5c7874d4ee3c580a5754bb";
-            };
-            beamDeps  = [ etude_1_0_0_beta_2 ];
-
-            meta = {
-              description = ''mazurka mediatype interface'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka_mediatype";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_mediatype = mazurka_mediatype_0_2_0;
-
-    mazurka_mediatype_hyperjson_0_2_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          mazurka_mediatype_0_2_0,
-          etude_1_0_0_beta_2
-        }:
-          buildMix ({
-            name = "mazurka_mediatype_hyperjson";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "mazurka_mediatype_hyperjson";
-              version = "0.2.3";
-              sha256 =
-                "f09489f242598ece8496f50c9dfc3d1a051b6115a654ebbb9ce5336e04b2cb8d";
-            };
-            beamDeps  = [
-                          poison_1_3_1
-                          mazurka_mediatype_0_2_0
-                          etude_1_0_0_beta_2
-                        ];
-
-            meta = {
-              description = ''hyper+json mediatype compiler for mazurka'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/mazurka/mazurka_mediatype_hyperjson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_mediatype_hyperjson = mazurka_mediatype_hyperjson_0_2_3;
-
-    mc_data_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "mc_data";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "mc_data";
-              version = "0.0.5";
-              sha256 =
-                "0ad4b4489554951f93fc9da39b8f14e5b87dada3005d6d012528cbc387d0aa27";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Provides access to data from the game
-                            Minecraft.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/McEx/McData";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mc_data = mc_data_0_0_5;
-
-    mcup_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mcup";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mcup";
-              version = "0.0.2";
-              sha256 =
-                "c59537882707237c961d3d69b149619ec35c808cd5e98646cbcb7985e300b975";
-            };
-
-            meta = {
-              description = ''DSL for markup. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/mcup";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mcup = mcup_0_0_2;
-
-    mdns_server_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mdns_server";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mdns_server";
-              version = "0.2.0";
-              sha256 =
-                "bc9465880e15e57033960ab6820258b87134bef69032210c67e53e3718e289d0";
-            };
-
-            meta = {
-              description = ''mDNS service discovery server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Licenser/erlang-mdns-server";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mdns_server = mdns_server_0_2_0;
-
-    mdns_server_lib_0_2_3 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          mdns_server_0_2_0,
-          lager_3_0_2
-        }:
-          buildRebar3 ({
-            name = "mdns_server_lib";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "mdns_server_lib";
-              version = "0.2.3";
-              sha256 =
-                "078775ccea5d768095716ca6bd82f657601203352495d9726f4cc080c8c07695";
-            };
-
-            beamDeps  = [ ranch_1_1_0 mdns_server_0_2_0 lager_3_0_2 ];
-
-            meta = {
-              description = ''server side for mdns client server
-                            implementation'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/Licenser/mdns_server_lib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mdns_server_lib = mdns_server_lib_0_2_3;
-
-    meck_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "meck";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "meck";
-              version = "0.8.3";
-              sha256 =
-                "53bd3873d0193d6b2b4a165cfc4b9ffc3934355c3ba19e88239ef6a027cc02b6";
-            };
-
-            meta = {
-              description = ''A mocking framework for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/meck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meck_0_8_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "meck";
-            version = "0.8.4";
-            src = fetchHex {
-              pkg = "meck";
-              version = "0.8.4";
-              sha256 =
-                "2cdfbd0edd8f62b3d2061efc03c0e490282dd2ea6de44e15d2006e83f4f8eead";
-            };
-
-            meta = {
-              description = ''A mocking framework for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/meck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meck = meck_0_8_4;
-
-    meld_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "meld";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "meld";
-              version = "0.1.2";
-              sha256 =
-                "3f86b810df38e0767a472829a26f92c07c986c1bcc41421eba021a5a6c174e83";
-            };
-
-            meta = {
-              description = ''create real CLIs in elixir, using mix tasks'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/conflate/meld";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meld = meld_0_1_2;
-
-    mellon_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "mellon";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mellon";
-              version = "0.1.1";
-              sha256 =
-                "2b05fca901c0b9609cdd65cfb015a7646a9ec239cf1694ee8f1384a53a5ac0b4";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Mellon is a Plug used in authentication of
-                                APIs. It`s flexible, you can define your own
-                                validator etc.'';
-
-              homepage = "https://github.com/sajmoon/mellon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mellon = mellon_0_1_1;
-
-    mem_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mem";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mem";
-              version = "0.2.0";
-              sha256 =
-                "6a97047af66ab2c4283460ae43611c9a843abb95584dca4e648ed320c7fdfa34";
-            };
-
-            meta = {
-              description = ''KV cache with TTL, LRU and Persistence support'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/mem";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mem = mem_0_2_0;
-
-    memcache_client_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "memcache_client";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "memcache_client";
-              version = "1.1.0";
-              sha256 =
-                "e12d6add6d9ef817f7cf47d85c37c75c9ec81512a7ad88f23b50963048bce439";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_2_1_0 connection_1_0_2 ];
-
-            meta = {
-              description = ''Memcache client library utilizing the memcache
-                            binary protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsharju/memcache_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    memcache_client = memcache_client_1_1_0;
-
-    merkle_tree_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "merkle_tree";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "merkle_tree";
-              version = "1.1.1";
-              sha256 =
-                "6020578ceee91ae26c63aab9bf8112fbb83cc029d25e6ad4f35b2ed4bfdcaf7a";
-            };
-
-            meta = {
-              longDescription = ''A hash tree or Merkle tree is a tree in which
-                                every non-leaf node is labelled with the hash of
-                                the labels or values (in case of leaves) of its
-                                child nodes. Hash trees are useful because they
-                                allow efficient and secure verification of the
-                                contents of large data structures.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yosriady/merkle_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    merkle_tree = merkle_tree_1_1_1;
-
-    messagepack_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "messagepack";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "messagepack";
-              version = "0.4.1";
-              sha256 =
-                "cdf2d4a2af846a8c3cd43a9f80082883ff7c2c5e221ec078375102db0fb5ca2f";
-            };
-
-            meta = {
-              description = ''MessagePack for Erlang / Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tomaon/messagepack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    messagepack = messagepack_0_4_1;
-
-    messenger_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "messenger";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "messenger";
-              version = "0.0.2";
-              sha256 =
-                "dda5b1bde69852ac8f2ae7f2d10d55209fd7b6babfc4e664779e3204a9e258b8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Facebook messenger API client for Elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    messenger = messenger_0_0_2;
-
-    meta_inspector_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "meta_inspector";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "meta_inspector";
-              version = "0.0.2";
-              sha256 =
-                "60edc00c2af5ab30e2abebe5f40614421fde2861e147147b33ae54bf4beb180a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''HTTP Metadata inspector'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    meta_inspector = meta_inspector_0_0_2;
-
-    metainvestigator_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_8_1 }:
-          buildMix ({
-            name = "metainvestigator";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "metainvestigator";
-              version = "0.0.3";
-              sha256 =
-                "774b3973090491a9a342a68c5cf099c98581ae0f1b1d313a08a7d2030d541781";
-            };
-            beamDeps  = [ floki_0_8_1 ];
-
-            meta = {
-              description = ''A library for web scraping, inspired by
-                            MetaInspector'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nekova/metainvestigator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metainvestigator = metainvestigator_0_0_3;
-
-    meter_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "meter";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "meter";
-              version = "0.1.0";
-              sha256 =
-                "029f4f4a05b10c05b45c70671a353d780964759c3f4b90cf1531c02ef5466724";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Track your elixir application on google
-                            analytycs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/meter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meter = meter_0_1_0;
-
-    metrics_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.0.1";
-              sha256 =
-                "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.1.0";
-              sha256 =
-                "48bd4774cef5bd88680cf71c9db46acbe5a80f23072cb2a0a42e8f7d5bd33549";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.2.0";
-              sha256 =
-                "c27c7786b8ad0c5f941956fc413f7f31a2e26ba72ebf2fb1396cf363b0b9e70b";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics = metrics_1_2_0;
-
-    metrix_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, logfmt_3_0_2 }:
-          buildMix ({
-            name = "metrix";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "metrix";
-              version = "0.2.0";
-              sha256 =
-                "544fbe90988d7ac1e828287b44d88166c8aa2738ec983b1578af7d51d7b63dd7";
-            };
-            beamDeps  = [ logfmt_3_0_2 ];
-
-            meta = {
-              longDescription = ''Metrix is a library to log custom application
-                                metrics, in a well-structured, human *and*
-                                machine readable format, for use by downstream
-                                log processing systems (like Librato, Reimann,
-                                etc...)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rwdaigle/metrix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrix = metrix_0_2_0;
-
-    mex_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "mex";
-              version = "0.0.5";
-              sha256 =
-                "52765dc6f5d0b03dba9f08424b85cfbc96f873dfc769cdb6a26ac391ad3344e3";
-            };
-
-            meta = {
-              description = ''Macro-expansion display helper for IEx.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mrluc/mex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mex = mex_0_0_5;
-
-    microformats2_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "microformats2";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "microformats2";
-              version = "0.0.5";
-              sha256 =
-                "890ca1812738869aa65865339a730c5542949cac4b017b25fc276e81b37157b2";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_7_2 ];
-
-            meta = {
-              description = ''A microformats2 parser
-                            (http://microformats.org/wiki/microformats-2) for
-                            Elixir'';
-              license = stdenv.lib.licenses.agpl3;
-              homepage = "https://github.com/ckruse/microformats2-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    microformats2 = microformats2_0_0_5;
-
-    milkpotion_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "milkpotion";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "milkpotion";
-              version = "0.0.2";
-              sha256 =
-                "1106589d5bdb3d65fd18ff997760b8c3ad9bca7744ae1a0b48b2995227f0c0fd";
-            };
-            beamDeps  = [ httpoison_0_8_3 poison_2_1_0 ];
-
-            meta = {
-              description = ''milkpotion is an api wrapper for Remember the
-                            Milk'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/croesnick/milkpotion.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    milkpotion = milkpotion_0_0_2;
-
-    milliseconds_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "milliseconds";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "milliseconds";
-              version = "0.0.1";
-              sha256 =
-                "6f82b9f47590e96ed90761d6eb331a9c11a40b68216d5e4867420899420035f0";
-            };
-
-            meta = {
-              longDescription = '' Simple library to work with milliseconds.
-                                Convert text to milliseconds: convert(\"2d\")
-                                Convert milliseconds to text: convert(8640000)
-                                Calculate future time: future_time(\"6hrs\") '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/davebryson/elixir_milliseconds";
-            };
-          } // packageOverrides)
-      ) {};
-
-    milliseconds = milliseconds_0_0_1;
-
-    mime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mime";
-              version = "1.0.0";
-              sha256 =
-                "069f07e17e67069195b747ed8b935c547a79adf32c4f8b4cae6dec7d3f1c805c";
-            };
-
-            meta = {
-              description = ''A MIME type module for Elixir'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/mime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mime = mime_1_0_0;
-
-    mime_types_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mime_types";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mime_types";
-              version = "0.1.1";
-              sha256 =
-                "46b4f4a52deda3ac9fa48ae6e3582efb851d6c72de4a11e4dfcc7e386dab710b";
-            };
-
-            meta = {
-              description = ''A toolbelt for working with MIME types in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/christhekeele/mime_types";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mime_types = mime_types_0_1_1;
-
-    mimerl_1_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mimerl";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mimerl";
-              version = "1.0.2";
-              sha256 =
-                "7a4c8e1115a2732a67d7624e28cf6c9f30c66711a9e92928e745c255887ba465";
-            };
-
-            meta = {
-              description = ''Library to handle mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/mimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimerl_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mimerl";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "mimerl";
-              version = "1.1.0";
-              sha256 =
-                "def0f1922a5dcdeeee6e4f41139b364e7f0f40239774b528a0986b12bcb42ddc";
-            };
-
-            meta = {
-              description = ''Library to handle mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/mimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimerl = mimerl_1_1_0;
-
-    mimetype_parser_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mimetype_parser";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mimetype_parser";
-              version = "0.1.2";
-              sha256 =
-                "c495521cad6cf49fb79098e68e921c58955312df46c9c5aa5abab44224c2647d";
-            };
-
-            meta = {
-              description = ''parse mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/mimetype_parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimetype_parser = mimetype_parser_0_1_2;
-
-    mimex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mimex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mimex";
-              version = "0.1.0";
-              sha256 =
-                "68858d5fb6a59780c3b94a445fd994856c3f1d0f3ed8dff6a95b6aa80027e4de";
-            };
-
-            meta = {
-              description = ''MIME type utilities for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hex-sh/mimex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimex = mimex_0_1_0;
-
-    minmaxlist_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "minmaxlist";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "minmaxlist";
-              version = "0.0.6";
-              sha256 =
-                "cc9bc50dc971c8c3743bcecdaca35330593d6466d911c656ba7d718836e68a57";
-            };
-
-            meta = {
-              longDescription = ''Elixir library extending `Enum.min_by/2`,
-                                `Enum.max_by/2` and `Enum.min_max_by/2` to
-                                return a list of results instead of just one.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-minmaxlist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    minmaxlist = minmaxlist_0_0_6;
-
-    misc_random_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "misc_random";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "misc_random";
-              version = "0.2.6";
-              sha256 =
-                "4fe3db3bddcf55d93404fa9f5bf006800d54bfeb78bcf583376750d28ac0d7bc";
-            };
-
-            meta = {
-              longDescription = ''This is a very thin wrapper around erlang`s
-                                random:uniform method. It allows you to create
-                                random strings or numbers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-helper-random";
-            };
-          } // packageOverrides)
-      ) {};
-
-    misc_random = misc_random_0_2_6;
-
-    mix_apidoc_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "mix_apidoc";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mix_apidoc";
-              version = "0.2.0";
-              sha256 =
-                "0f6119dc530050b8344e62e82b450dcd8cdad9a370d39af17420d8e7299eb059";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''A mix task that triggers apidoc to create
-                                documentation for RESTful web APIs from inline
-                                code annotations.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sldab/mix_apidoc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_apidoc = mix_apidoc_0_2_0;
-
-    mix_deps_tree_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_deps_tree";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mix_deps_tree";
-              version = "0.1.0";
-              sha256 =
-                "de19ea3eebf578080263f25fdf6a248fdc460aa86e41d582cc0d0379329fa6b6";
-            };
-
-            meta = {
-              description = ''Mix task to print dependency tree of an
-                            application to a terminal'';
-
-              homepage = "https://github.com/liveforeverx/mix_deps_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_deps_tree = mix_deps_tree_0_1_0;
-
-    mix_erlang_tasks_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_erlang_tasks";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mix_erlang_tasks";
-              version = "0.1.0";
-              sha256 =
-                "95d2839c422c482a70c08a8702da8242f86b773f8ab6e8602a4eb72da8da04ed";
-            };
-
-            meta = {
-              longDescription = ''This project provides a few Mix tasks that
-                                make it more convenient to use Mix as a build
-                                tool and package manager when developing
-                                applications in Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/mix-erlang-tasks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_erlang_tasks = mix_erlang_tasks_0_1_0;
-
-    mix_eunit_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_eunit";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mix_eunit";
-              version = "0.1.2";
-              sha256 =
-                "910cd611635e845be3c57b2c6c0dac7af24c87055b3d289fe93d7df1dafaeb6c";
-            };
-
-            meta = {
-              description = ''A mix task to run eunit tests, works for umbrella
-                            projects'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dantswain/mix_eunit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_eunit = mix_eunit_0_1_2;
-
-    mix_info_0_7_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_info";
-            version = "0.7.2";
-            src = fetchHex {
-              pkg = "mix_info";
-              version = "0.7.2";
-              sha256 =
-                "7b4430ea649bb0c978f3b761403c068b08d9781c3f325c3f0dc57c1b44f395a2";
-            };
-
-            meta = {
-              longDescription = ''A mix task that counts directories, files,
-                                lines of code, modules, functions etc and
-                                displays the results.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pskordilakis/mix_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_info = mix_info_0_7_2;
-
-    mix_test_watch_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "mix_test_watch";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "mix_test_watch";
-              version = "0.2.6";
-              sha256 =
-                "b7019e9a0eba42bc98f15be9c1402f23c2b0dab7b67e71bba8bc5b337b0ab273";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              description = ''Automatically run tests when files change'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/mix-test.watch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_test_watch = mix_test_watch_0_2_6;
-
-    mixgraph_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "mixgraph";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mixgraph";
-              version = "0.0.1";
-              sha256 =
-                "0c911c4e300d7e5196ff9d427b9d66d935d540309cb8a54a397641f7059f1700";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Create an interactive dependency graph for any
-                            hex package published in hex.pm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/mixgraph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixgraph = mixgraph_0_0_1;
-
-    mixpanel_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "mixpanel";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "mixpanel";
-              version = "0.0.3";
-              sha256 =
-                "7b81d80d3705e5d4451951984bac49d476e3c79131138e9ffb66538f9c51a56e";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''A client for the Mixpanel HTTP API. See
-                            mixpanel.com.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michihuber/mixpanel_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel = mixpanel_0_0_3;
-
-    mixpanel_api_ex_0_8_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mixpanel_api_ex";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "mixpanel_api_ex";
-              version = "0.8.3";
-              sha256 =
-                "1ff5eb4aa333495a86868873deb8fcd04c5f2e6f2560d77ac6ccbe07e2e3d7b4";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for the Mixpanel API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/agevio/mixpanel_api_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel_api_ex = mixpanel_api_ex_0_8_3;
-
-    mixpanel_data_client_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mixpanel_data_client";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mixpanel_data_client";
-              version = "0.0.2";
-              sha256 =
-                "7f3bbd608ae18153655f27bd50ea01ad85630d6c1cc6ab9ed336e95419f06c86";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client library for interacting with the Mixpanel
-                            Data API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeregrine/mixpanel_data_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel_data_client = mixpanel_data_client_0_0_2;
-
-    mixunit_0_9_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mixunit";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "mixunit";
-              version = "0.9.2";
-              sha256 =
-                "2c0e66d10d479ec95c636d2de1db04cba03574282182af0df49c297230b22d43";
-            };
-
-            meta = {
-              description = ''an eunit task for mix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/mixunit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixunit = mixunit_0_9_2;
-
-    mmExchangeRate_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "mmExchangeRate";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mmExchangeRate";
-              version = "0.0.1";
-              sha256 =
-                "6daf6e74bf3ce8f9d7cc19b18b023d700201a847dde94a0eef1f263ce65efbac";
-            };
-            beamDeps  = [ jsx_2_8_0 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''A simple exchange rate checker and calculator
-                                based on Central Bank of Myanmar Api. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Arkar-Aung/mmExchangeRate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmExchangeRate = mmExchangeRate_0_0_1;
-
-    mmath_0_2_0_alpha4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mmath";
-            version = "0.2.0-alpha4";
-            src = fetchHex {
-              pkg = "mmath";
-              version = "0.2.0-alpha4";
-              sha256 =
-                "a855fe72b1939659a2856b32c74e148ed6c1d58cfb6eea5a24787995d66c05d7";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''math library for metric sequences and binary
-                            arrays.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/mmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmath_0_2_0_alpha7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mmath";
-            version = "0.2.0-alpha7";
-            src = fetchHex {
-              pkg = "mmath";
-              version = "0.2.0-alpha7";
-              sha256 =
-                "b4d68cce7e243b4e16f7a93cbdb16605f00c469cd9ebf7aa58c8b3214f8f8868";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''math library for metric sequences and binary
-                            arrays.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/mmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmath = mmath_0_2_0_alpha7;
-
-    mnemonex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, the_fuzz_0_3_0 }:
-          buildMix ({
-            name = "mnemonex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "mnemonex";
-              version = "1.1.0";
-              sha256 =
-                "e3b0bf58cdee4d18cdc324d3bb6f6241724e6d38b4fcb24fc04e2dae243339b9";
-            };
-            beamDeps  = [ the_fuzz_0_3_0 ];
-
-            meta = {
-              description = ''mnemonicode encoder/decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/mnemonex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mnemonex = mnemonex_1_1_0;
-
-    mnemonic_slugs_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mnemonic_slugs";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mnemonic_slugs";
-              version = "0.0.1";
-              sha256 =
-                "d5200aaf06da3f9f307b58464f5eca2ed1a0dc379a12fe4f42444bb1e30a4bd8";
-            };
-
-            meta = {
-              description = ''MnemonicSlugs is an Elixir library for generating
-                            memorable slugs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/devshane/mnemonic_slugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mnemonic_slugs = mnemonic_slugs_0_0_1;
-
-    mochiweb_2_12_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mochiweb";
-            version = "2.12.2";
-            src = fetchHex {
-              pkg = "mochiweb";
-              version = "2.12.2";
-              sha256 =
-                "d3e681d4054b74a96cf2efcd09e94157ab83a5f55ddc4ce69f90b8144673bd7a";
-            };
-
-            meta = {
-              description = ''MochiWeb is an Erlang library for building
-                            lightweight HTTP servers. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mochi/mochiweb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mochiweb = mochiweb_2_12_2;
-
-    mochiweb_html_2_15_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mochiweb_html";
-            version = "2.15.0";
-            src = fetchHex {
-              pkg = "mochiweb_html";
-              version = "2.15.0";
-              sha256 =
-                "7651a4ef29bd6d69819b37b6aa12c7616c5cf75e67ccd849cfb499e2bbbf0ce6";
-            };
-
-            meta = {
-              description = ''Mochiweb HTML parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/mochiweb_html";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mochiweb_html = mochiweb_html_2_15_0;
-
-    mock_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "mock";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "mock";
-              version = "0.1.3";
-              sha256 =
-                "bf7cf50d528394d870cdecac4920ab719cec0af98eff95759b57cab0e5ee143e";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              longDescription = ''A mocking libary for the Elixir language. We
-                                use the Erlang meck library to provide module
-                                mocking functionality for Elixir. It uses macros
-                                in Elixir to expose the functionality in a
-                                convenient manner for integrating in Elixir
-                                tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jjh42/mock";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mock = mock_0_1_3;
-
-    module_mocker_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "module_mocker";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "module_mocker";
-              version = "0.2.0";
-              sha256 =
-                "ce8aa59f0c58ce7d333a1853f6a3a106fe0cbbe79f6f9aeb72370d66ed454f5b";
-            };
-
-            meta = {
-              longDescription = ''ModuleMocker allows to use different module
-                                in development and test environment. It allows
-                                convention to mock module for test'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rohanpujaris/module_mocker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    module_mocker = module_mocker_0_2_0;
-
-    mogrify_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mogrify";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "mogrify";
-              version = "0.3.0";
-              sha256 =
-                "490631d662a0303d468b48868929df99cc62081b5711c3a6b3eb7b0b2dac21e5";
-            };
-
-            meta = {
-              description = ''ImageMagick command line wrapper.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/route/mogrify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mogrify = mogrify_0_3_0;
-
-    mojoauth_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "mojoauth";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mojoauth";
-              version = "1.0.2";
-              sha256 =
-                "72d8b3fdff6d6571d7dcc9ad46b249823c84e0321920a0e9d6f39ee5f9fc2f23";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''MojoAuth is a set of standard approaches to
-                                cross-app authentication based on HMAC.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adhearsion/mojo-auth.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mojoauth = mojoauth_1_0_2;
-
-    moment_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "moment";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "moment";
-              version = "0.1.0";
-              sha256 =
-                "0cc098c8ba88f768ffd41e4bc4bb45b559d49361a2f8f7a39c686020da3f1842";
-            };
-
-            meta = {
-              description = ''Parse, validate, manipulate, and display dates in
-                            Elixir.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/atabary/moment";
-            };
-          } // packageOverrides)
-      ) {};
-
-    moment = moment_0_1_0;
-
-    mon_handler_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, dialyze_0_2_1 }:
-          buildMix ({
-            name = "mon_handler";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mon_handler";
-              version = "1.0.2";
-              sha256 =
-                "d18942f95750b94e3da1d9fca7a2ea4b1b1d27c017feff76cb109b29bb308f58";
-            };
-            beamDeps  = [ dialyze_0_2_1 ];
-
-            meta = {
-              longDescription = ''A minimal GenServer that monitors a given
-                                GenEvent handler. This server will handle exits
-                                of the Handler and attempt to re-add it to the
-                                manager when unexpected exits occur. Exits for
-                                :normal, :shutdown or :swapped reasons will not
-                                attempt a re-add to the manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tattdcodemonkey/mon_handler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mon_handler = mon_handler_1_0_2;
-
-    monad_1_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monad";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "monad";
-              version = "1.0.5";
-              sha256 =
-                "d8ebe20971160e96bd6cdf11b5e8b5c24b70fddde3d198e5f7c3b5ebfbc78d6e";
-            };
-
-            meta = {
-              description = ''Monads and do-syntax for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rmies/monad";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monad = monad_1_0_5;
-
-    monadex_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monadex";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "monadex";
-              version = "1.0.2";
-              sha256 =
-                "968784f2789fcb30b118399e51736f2265ca6b2823cc8fcabd73d6e4ac23e082";
-            };
-
-            meta = {
-              description = ''Improve pipelines with monads.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rob-brown/MonadEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monadex = monadex_1_0_2;
-
-    mondo_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mondo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mondo";
-              version = "0.1.0";
-              sha256 =
-                "f557216314e098137f5140f1194e2eba7a2a030d78affc23ea5943f586ab1095";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the Mondo API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevedomin/mondo_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mondo = mondo_0_1_0;
-
-    mongodb_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "mongodb";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mongodb";
-              version = "0.1.1";
-              sha256 =
-                "714f0543288c42bc42bf3ee6ac5f52db3fbc0b152610aa2536b51c244652abe0";
-            };
-            beamDeps  = [ poolboy_1_5_1 connection_1_0_2 ];
-
-            meta = {
-              description = ''MongoDB driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/mongodb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mongodb = mongodb_0_1_1;
-
-    monk_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monk";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "monk";
-              version = "0.1.3";
-              sha256 =
-                "35e6a2eea7090612fa25a003fb95ac120f27087f203445bbc33ac18682ddd724";
-            };
-
-            meta = {
-              description = ''Monk helps to distinguish good from evil with an
-                            simple ok/error monad'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/monk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monk = monk_0_1_3;
-
-    morph_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "morph";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "morph";
-              version = "0.1.0";
-              sha256 =
-                "a20a6bfda56cb8f2d9904e2ea4b2b0a4159ab2692181919f6eb4fe9f52abf3f2";
-            };
-
-            meta = {
-              description = ''Lightweight string transformations for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/cmoncrief/elixir-morph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    morph = morph_0_1_0;
-
-    mortgage_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mortgage";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mortgage";
-              version = "0.0.2";
-              sha256 =
-                "fbd6e7dcf2d8213b4b1ab3b00904482a6aadf32625245bdc02eb76b7cd265173";
-            };
-
-            meta = {
-              description = ''A set of functions for working with mortgages and
-                            mortgage notes.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/geolessel/mortgage";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mortgage = mortgage_0_0_2;
-
-    moxie_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "moxie";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "moxie";
-              version = "0.0.1";
-              sha256 =
-                "193e18ce0888f01fe2b43d0dcf79af5f48e50eba3a73609703cb4c04bea2ae46";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/molossus/moxie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    moxie = moxie_0_0_1;
-
-    mpinyin_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mpinyin";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mpinyin";
-              version = "0.0.2";
-              sha256 =
-                "1de0911391e6a76a91166f5210d4254165692ea28c00d4f153763d0a5757cb92";
-            };
-
-            meta = {
-              description = ''Pinyin module for Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Hor/mpinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mpinyin = mpinyin_0_0_2;
-
-    mpower_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mpower";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "mpower";
-              version = "1.0.1";
-              sha256 =
-                "d08a6ec51f1da683507ed08d0787a726eb3e56dd16084fffc279a5391fa02014";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for MPowerPayments API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abakhi/mpower";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mpower = mpower_1_0_1;
-
-    mr_roboto_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "mr_roboto";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mr_roboto";
-              version = "1.0.0";
-              sha256 =
-                "80c5af8f07bd85f28b60e350a5cfc92d1a5c2bcde9a0c3d93fcaa378a033a371";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple robots.txt service'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    mr_roboto = mr_roboto_1_0_0;
-
-    msgpack_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "msgpack";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "msgpack";
-              version = "0.5.0";
-              sha256 =
-                "520ae767b3c3c0796d2913c92f463bc8b4dee091880734f5b99a90921e18b704";
-            };
-
-            meta = {
-              description = ''MessagePack serializer/deserializer'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "http://msgpack.org";
-            };
-          } // packageOverrides)
-      ) {};
-
-    msgpack = msgpack_0_5_0;
-
-    msgpax_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "msgpax";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "msgpax";
-              version = "0.8.2";
-              sha256 =
-                "aa0baa382383160d90275a1b5d8f72c457a2feed89cbb1bd080a5c3821389507";
-            };
-
-            meta = {
-              longDescription = ''This library provides an API for serializing
-                                and de-serializing Elixir terms using the
-                                MessagePack format'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/msgpax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    msgpax = msgpax_0_8_2;
-
-    mtx_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mtx";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mtx";
-              version = "1.0.0";
-              sha256 =
-                "3bdcb209fe3cdfc5a6b5b95f619ecd123b7ee1d9203ace2178c8ff73be5bb90f";
-            };
-
-            meta = {
-              description = ''Metrics Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synrc/mtx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mtx = mtx_1_0_0;
-
-    multidef_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "multidef";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "multidef";
-              version = "0.2.1";
-              sha256 =
-                "719dfdb9206ea34fc7b49c282b30adab752f9d1efb22678907d54fa0b54c50c6";
-            };
-
-            meta = {
-              longDescription = ''Lets you define multiple heads for the same
-                                function: defmodule Test do import MultiDef mdef
-                                fred do { :init, val } -> fred {:double, val} {
-                                :double, val } -> IO.puts(val*2) a, b -> a+b end
-                                end IO.inspect Test.fred 1, 2 #=> 3 IO.inspect
-                                Test.fred { :init, 4 } #=> 8 '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/mdef";
-            };
-          } // packageOverrides)
-      ) {};
-
-    multidef = multidef_0_2_1;
-
-    multiset_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "multiset";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "multiset";
-              version = "0.0.4";
-              sha256 =
-                "f713b5102d17963fc516e0017725d716dade0b1fec979f0e3a53b8d203748c45";
-            };
-
-            meta = {
-              description = ''Multisets for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hilverd/multiset-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    multiset = multiset_0_0_4;
-
-    murdoch_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          goth_0_0_3
-        }:
-          buildMix ({
-            name = "murdoch";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "murdoch";
-              version = "0.0.1";
-              sha256 =
-                "77ec44ca76d6b4a14df7222104a36cb29ed25f7d52fb3ffe30807ddc82a2d9ad";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 goth_0_0_3 ];
-
-            meta = {
-              longDescription = ''A library for interacting with Google Cloud
-                                Pub/Sub (PubSub). Supports both publication and
-                                pull subscription'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/murdoch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murdoch = murdoch_0_0_1;
-
-    murmur_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "murmur";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "murmur";
-              version = "0.2.1";
-              sha256 =
-                "7e38b2f136d4e8039abb88f6cbdf50c939408d3819be4b18b639a968ee9c2bce";
-            };
-
-            meta = {
-              longDescription = ''Murmur is a pure Elixir implementation of the
-                                non-cryptographic hash Murmur3. It aims to
-                                implement the x86_32bit, x86_128bit and
-                                x64_128bit variants.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/murmur";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murmur_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "murmur";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "murmur";
-              version = "1.0.0";
-              sha256 =
-                "5e81af1fe3c7a166830e5a695e2f2253a5255888c2f510d206d103914b4e28da";
-            };
-
-            meta = {
-              longDescription = ''Murmur is a pure Elixir implementation of the
-                                non-cryptographic hash Murmur3. It aims to
-                                implement the x86_32bit, x86_128bit and
-                                x64_128bit variants.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/murmur";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murmur = murmur_1_0_0;
-
-    mustache_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mustache";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mustache";
-              version = "0.0.2";
-              sha256 =
-                "0d91f0a6221f482e736987c59032e84f6bade6ae9179e595592e2cc0b728b441";
-            };
-
-            meta = {
-              description = ''Mustache templates for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/schultyy/Mustache.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mustache = mustache_0_0_2;
-
-    mutant_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mutant";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mutant";
-              version = "0.0.2";
-              sha256 =
-                "c875062e082242b79c85356993ad3cfd7d550392d34fc6da23a132495b0dcb6f";
-            };
-
-            meta = {
-              description = ''Now you can create mutable structs, use this with
-                            care and only as a last resort'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hackersguildco/Mutant";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mutant = mutant_0_0_2;
-
-    mysql_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mysql";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mysql";
-              version = "1.0.0";
-              sha256 =
-                "34b8e9252e150d329798a0d7f7054f40c08703ccdd7e37dfc5116fe388513251";
-            };
-
-            meta = {
-              description = ''MySQL/OTP – MySQL driver for Erlang/OTP'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/mysql-otp/mysql-otp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mysql = mysql_1_0_0;
-
-    mysqlex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mysql_1_0_0 }:
-          buildMix ({
-            name = "mysqlex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mysqlex";
-              version = "0.0.1";
-              sha256 =
-                "5df9c80e9ff9a61fe9ddb4c8883963686f66e21168b64acfa55b14c50e9305ee";
-            };
-            beamDeps  = [ mysql_1_0_0 ];
-
-            meta = {
-              longDescription = ''An Ecto-compatible wrapper around the
-                                mysql-otp library.
-                                https://github.com/mysql-otp/mysql-otp'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tjheeta/mysqlex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mysqlex = mysqlex_0_0_1;
-
-    n2o_2_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "n2o";
-            version = "2.3.0";
-            src = fetchHex {
-              pkg = "n2o";
-              version = "2.3.0";
-              sha256 =
-                "fca4f0a259fda332784d6d7948f8aadec5fb6a7695d5ac79b849b0ae547fb7b8";
-            };
-
-            meta = {
-              description = ''N2O Application Server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synrc/n2o";
-            };
-          } // packageOverrides)
-      ) {};
-
-    n2o = n2o_2_3_0;
-
-    nadia_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "nadia";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "nadia";
-              version = "0.4.0";
-              sha256 =
-                "e76217333ad6d02ec971bfa781e70268285fc417aebb486318e0584affccb08d";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Telegram Bot API Wrapper written in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhyu/nadia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nadia = nadia_0_4_0;
-
-    naive_bayes_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "naive_bayes";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "naive_bayes";
-              version = "0.1.3";
-              sha256 =
-                "4b65f199852dcb95ba483b7eeae0afed36931418854aadf6b8235197a985d29e";
-            };
-
-            meta = {
-              description = ''An Elixir implementation of Naive Bayes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ashleyw/naive_bayes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    naive_bayes = naive_bayes_0_1_3;
-
-    named_args_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "named_args";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "named_args";
-              version = "0.1.0";
-              sha256 =
-                "d90285d6fab53c66762e6b3cec655d79df24251e8ed277faa4b308d6f2789c1e";
-            };
-
-            meta = {
-              description = ''Ensures default maps and keyword lists have the
-                            defaults specified.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgwidmann/named_args";
-            };
-          } // packageOverrides)
-      ) {};
-
-    named_args = named_args_0_1_0;
-
-    narp_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "narp";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "narp";
-              version = "0.0.1";
-              sha256 =
-                "90800be330ed49563b24d891a578678865ce108cd77fa2427e09dbb6b1bac737";
-            };
-
-            meta = {
-              description = ''Narp is an easy and flexible way to authorize
-                            function calls in elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/faber-lotto/narp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    narp = narp_0_0_1;
-
-    nat_set_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nat_set";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nat_set";
-              version = "0.0.1";
-              sha256 =
-                "cc6ed65c754153d7c98c9825370780831cfbe638d162cb4ae2178eadcdd00611";
-            };
-
-            meta = {
-              description = ''Represent sets of natural numbers compactly in
-                            Elixir using bitwise operations'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hilverd/nat-set-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nat_set = nat_set_0_0_1;
-
-    nativegen_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nativegen";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "nativegen";
-              version = "0.4.1";
-              sha256 =
-                "54c36ca3c0333f04b84f8b15fa028fcecfe77614954c78e87b22ed56e977f46f";
-            };
-
-            meta = {
-              description = ''Accessible REST API code generator for native
-                            app.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/nativegen";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nativegen = nativegen_0_4_1;
-
-    nats_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          json_0_3_3
-        }:
-          buildMix ({
-            name = "nats";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nats";
-              version = "0.0.1";
-              sha256 =
-                "5568e91f56f65388ad6cb92ddbd70cec5227dadea9d12ec558e93bfe71c9bf78";
-            };
-            beamDeps  = [ poolboy_1_5_1 json_0_3_3 ];
-
-            meta = {
-              description = ''A NATS client written in elixir supporting
-                            pub/sub for microservices'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aforward/elixir_nats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nats = nats_0_0_1;
-
-    nats_msg_0_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "nats_msg";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "nats_msg";
-              version = "0.4.1";
-              sha256 =
-                "8e21a78bf2ae76d7702bcc03eb87bdddac1b99edebfc99db98e8e94a7a5361c4";
-            };
-
-            meta = {
-              description = ''Pure Erlang NATS Protocol Message
-                            Encoder/Decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/nats_msg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nats_msg = nats_msg_0_4_1;
-
-    natsio_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "natsio";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "natsio";
-              version = "0.1.4";
-              sha256 =
-                "3ed391e3e5f494828da2cb4949e661df782004cfe8273b9f1685ba4bc858187e";
-            };
-
-            meta = {
-              description = ''NATS framework for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nats-io/elixir-nats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    natsio = natsio_0_1_4;
-
-    natural_sort_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "natural_sort";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "natural_sort";
-              version = "0.3.0";
-              sha256 =
-                "6c3476edf395c487a8b55d104458e0f029ca2adb7a0373d12a7a08643f7e7172";
-            };
-
-            meta = {
-              description = ''Sort a list of strings containing numbers in a
-                            natural manner. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DanCouper/natural_sort";
-            };
-          } // packageOverrides)
-      ) {};
-
-    natural_sort = natural_sort_0_3_0;
-
-    navigation_history_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "navigation_history";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "navigation_history";
-              version = "0.2.0";
-              sha256 =
-                "9fbddedd831930c3f2e784c53442558d90d68040f9921dfa9441da63d6b8dacc";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Navigation history tracking plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/tuvistavie/plug-navigation-history";
-            };
-          } // packageOverrides)
-      ) {};
-
-    navigation_history = navigation_history_0_2_0;
-
-    navigation_tree_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "navigation_tree";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "navigation_tree";
-              version = "0.4.4";
-              sha256 =
-                "a4e6aad3224ad9c463a1ac0412463a18ac71b7a78ea16303ad72f43f1fb217c6";
-            };
-
-            meta = {
-              longDescription = ''A navigation tree representation with helpers
-                                to generate HTML out of it - depending of
-                                userroles. Also creates nice HTML navbars for
-                                Bootstrap. Implemented as Agent to hold config
-                                state.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/gutschilla/elixir-navigation-tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    navigation_tree = navigation_tree_0_4_4;
-
-    ndc_ex_sdk_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpotion_2_2_2,
-          ibrowse_4_2_2,
-          pipe_0_0_2,
-          xml_builder_0_0_8
-        }:
-          buildMix ({
-            name = "ndc_ex_sdk";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "ndc_ex_sdk";
-              version = "0.2.1";
-              sha256 =
-                "2d17a23afbbe4f348abb6c1e9fb787ff609ba678828f2cd41dedb6a79b9c8232";
-            };
-            beamDeps  = [
-                          timex_2_1_6
-                          httpotion_2_2_2
-                          ibrowse_4_2_2
-                          pipe_0_0_2
-                          xml_builder_0_0_8
-                        ];
-
-            meta = {
-              longDescription = ''This is an Elixir package that wrapps any
-                                NDC-compliant API. It`s host-agnostic and quite
-                                flexible-through-configuration so that it can
-                                reach NDC hosts with a certain flexibility'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ndc_ex_sdk = ndc_ex_sdk_0_2_1;
-
-    neat_ex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, json_0_3_3 }:
-          buildMix ({
-            name = "neat_ex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "neat_ex";
-              version = "1.1.0";
-              sha256 =
-                "42d08b8c1bb5245d19864f683df77354ee466b285bac48abed3dd3471a738b21";
-            };
-            beamDeps  = [ json_0_3_3 ];
-
-            meta = {
-              longDescription = ''This project provides the means to define,
-                                simulate, and serialize
-                                Artificial-Neural-Networks (ANNs), as well as
-                                the means to develop them through use of the
-                                Neuro-Evolution of Augmenting Toplogies (NEAT)
-                                algorithm created by Dr. Kenneth Stanley.
-                                Neuro-Evolution, unlike back-propogation, easily
-                                allows the usage of recurrent neural networks
-                                instead of just feed-forward networks, and
-                                fitness functions instead of just training data.
-                                Additionally, since NEAT augments topologies,
-                                all the engine needs to start is the
-                                input/output layout, and a fitness function.'';
-              license = stdenv.lib.licenses.asl20;
-            };
-          } // packageOverrides)
-      ) {};
-
-    neat_ex = neat_ex_1_1_0;
-
-    nectar_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nectar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nectar";
-              version = "0.0.1";
-              sha256 =
-                "dffc5f1c68c83d9eb83ca1c8868d923beaccfdf36ae2e5122dc7bc8edd5665f5";
-            };
-
-            meta = {
-              description = ''Placeholder package for nectar ecommerce'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    nectar = nectar_0_0_1;
-
-    nerves_io_neopixel_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nerves_io_neopixel";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "nerves_io_neopixel";
-              version = "0.2.0";
-              sha256 =
-                "662ca0af01330399eba9aff9806c086027ec5b3a2e235af4cd909282a6d09afa";
-            };
-
-            meta = {
-              description = ''Drive WS2812B \"NeoPixel\" RGB LED strips from a
-                            Raspberry Pi using Elixir.'';
-              license = with stdenv.lib.licenses; [ mit bsd2 ];
-              homepage = "https://github.com/GregMefford/nerves_io_neopixel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_io_neopixel = nerves_io_neopixel_0_2_0;
-
-    nerves_system_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "nerves_system";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "nerves_system";
-              version = "0.1.4";
-              sha256 =
-                "2ad32ff5a6d9a827fb89f93a9c0626add1c72ffaf9068f3cea94fa5fd0eff591";
-            };
-            beamDeps  = [ porcelain_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir compilers and scripts for building
-                                Nerves Systems. For useable system
-                                configurations see nerves_system_*'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_system";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_system = nerves_system_0_1_4;
-
-    nerves_system_br_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nerves_system_br";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "nerves_system_br";
-              version = "0.5.2";
-              sha256 =
-                "43747294af52161eb7d58269a18d1927d7fe66185047fbfae204938d9ebe56c3";
-            };
-
-            meta = {
-              description = ''Nerves System BR - Buildroot based build platform
-                            for Nerves Systems'';
-              license = with stdenv.lib.licenses; [ asl20 free ];
-              homepage = "https://github.com/nerves-project/nerves_system_br";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_system_br = nerves_system_br_0_5_2;
-
-    nerves_toolchain_0_6_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "nerves_toolchain";
-            version = "0.6.2";
-            src = fetchHex {
-              pkg = "nerves_toolchain";
-              version = "0.6.2";
-              sha256 =
-                "0e2c841389de2b3a9d527dee288e5a8d01883cea424edf951e70e7d9855f45f1";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir compilers and scripts for building
-                                Nerves Toolchains. For useable toolchain
-                                configurations see nerves_toolchain_*'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_toolchain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_toolchain = nerves_toolchain_0_6_2;
-
-    nerves_uart_0_0_6 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, elixir_make_0_1_0
-        }:
-          buildMix ({
-            name = "nerves_uart";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "nerves_uart";
-              version = "0.0.6";
-              sha256 =
-                "1de94781598204b33f21ac27346390421f377c18b9503c86de60265b37573768";
-            };
-            beamDeps  = [ elixir_make_0_1_0 ];
-
-            meta = {
-              description = ''Discover and use UARTs and serial ports in
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_uart";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_uart = nerves_uart_0_0_6;
-
-    nest_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nest";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nest";
-              version = "0.0.1";
-              sha256 =
-                "4092651c14022a285eb4ffb8b6e9c3d6c5937729644fcc88b43f74324bc3bac3";
-            };
-
-            meta = {
-              longDescription = ''A library for using the Nest API, allowing
-                                integration with Nest Thermostats and other Nest
-                                devices.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/nest";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nest = nest_0_0_1;
-
-    netrc_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "netrc";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "netrc";
-              version = "0.0.2";
-              sha256 =
-                "a82b1702d8702a51b17e1756261b316ae3a72ac07bbf04e3a1258cc1210f6000";
-            };
-
-            meta = {
-              description = ''Read netrc files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/netrcex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    netrc = netrc_0_0_2;
-
-    netstrings_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "netstrings";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "netstrings";
-              version = "2.0.1";
-              sha256 =
-                "f6a3727dba6ae5aa3371ffddf7adf6aaf46bf387e84873f65152083ecf821845";
-            };
-
-            meta = {
-              description = ''Netstrings implementaton'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/netstrings_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    netstrings = netstrings_2_0_1;
-
-    neural_net_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "neural_net";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "neural_net";
-              version = "1.0.0";
-              sha256 =
-                "164cead198d6f8e2ba396346c4c4f8ec8c5b6e6ae00d6915eec902c436779239";
-            };
-
-            meta = {
-              longDescription = ''NeuralNet is an A.I. library that allows for
-                                the construction and training of complex
-                                recurrent neural networks. Architectures such as
-                                LSTM or GRU can be specified in under 20 lines
-                                of code. Any neural network that can be built
-                                with the NeuralNet DSL can be trainined with
-                                automatically implemented BPTT (back-propagation
-                                through time).'';
-              license = stdenv.lib.licenses.asl20;
-            };
-          } // packageOverrides)
-      ) {};
-
-    neural_net = neural_net_1_0_0;
-
-    neural_network_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "neural_network";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "neural_network";
-              version = "0.1.0";
-              sha256 =
-                "80e84eaf4e0ff5455651c6c7cef484b9eefd60d6bd8e59606eb72a42cf18587c";
-            };
-
-            meta = {
-              longDescription = ''A neural network made up of layers of neurons
-                                connected to each other to form a relationship
-                                allowing it to learn.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kblake/neural-net-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    neural_network = neural_network_0_1_0;
-
-    news_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "news";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "news";
-              version = "0.3.0";
-              sha256 =
-                "b8759a3cb0bb40e86d5a5ea65b911a066da4ec197b097be88fb67f6358838124";
-            };
-
-            meta = {
-              description = ''Publish elixir and erlang new weekly'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhongwencool/news";
-            };
-          } // packageOverrides)
-      ) {};
-
-    news = news_0_3_0;
-
-    ngram_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ngram";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ngram";
-              version = "0.0.1";
-              sha256 =
-                "13185be68166d8314ae63f70eceb58a4e00b441d3294633450d4f8a7c565e218";
-            };
-
-            meta = {
-              description = ''n-gram tokenization and distance calculations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ardcore/ngram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ngram = ngram_0_0_1;
-
-    nile_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nile";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "nile";
-              version = "0.1.3";
-              sha256 =
-                "73a2c8be8507bb39de74eb3fa5ae40e3c40cabef30cd884f67ab6d3400a7bea4";
-            };
-
-            meta = {
-              description = ''Elixir stream extensions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/nile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nile = nile_0_1_3;
-
-    ninjaproxies_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ninjaproxies";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ninjaproxies";
-              version = "0.2.0";
-              sha256 =
-                "5524329d00944690b362d30fef9c4032c03c401cc44d0ad9e98e147f5792fade";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Ninjaproxies client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zensavona/ninjaproxies";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ninjaproxies = ninjaproxies_0_2_0;
-
-    njord_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "njord";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "njord";
-              version = "0.1.1";
-              sha256 =
-                "b438430dbf6ceaf2bede01a285c5032be3041cbedd7c1552653d75179fab4dfb";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper over HTTPoison to build client APIs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmtprime/njord";
-            };
-          } // packageOverrides)
-      ) {};
-
-    njord = njord_0_1_1;
-
-    noise_0_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "noise";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "noise";
-              version = "0.0.4";
-              sha256 =
-                "2a448e5aff72edd08a587de16c9887ca80ffcde00004eaa2f94dae56536958be";
-            };
-
-            meta = {
-              description = ''A pseudo-random noise generation library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshforisha/noise";
-            };
-          } // packageOverrides)
-      ) {};
-
-    noise = noise_0_0_4;
-
-    normalize_email_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, is_email_0_0_2 }:
-          buildMix ({
-            name = "normalize_email";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "normalize_email";
-              version = "0.0.1";
-              sha256 =
-                "ac5864ecf0d002ecbc56f9296bff7c01fc1d7e2e84e2529f7726f1a068f5d584";
-            };
-            beamDeps  = [ is_email_0_0_2 ];
-
-            meta = {
-              description = ''Normalize an email address'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/normalize_email";
-            };
-          } // packageOverrides)
-      ) {};
-
-    normalize_email = normalize_email_0_0_1;
-
-    normalize_url_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "normalize_url";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "normalize_url";
-              version = "0.1.1";
-              sha256 =
-                "7d1c75f4bf5156636e8d0b5c6addb0cae802b970f8412f4b0429b3547220d88e";
-            };
-
-            meta = {
-              description = ''Normalize a url'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/normalize_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    normalize_url = normalize_url_0_1_1;
-
-    not_qwerty123_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "not_qwerty123";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "not_qwerty123";
-              version = "1.1.0";
-              sha256 =
-                "4997296d742f72fe95f8933cba92ab6cee3147888dc9bbd7b703c7f970e8ab58";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Library to check password strength and generate
-                            random passwords.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/riverrun/notqwerty123";
-            };
-          } // packageOverrides)
-      ) {};
-
-    not_qwerty123 = not_qwerty123_1_1_0;
-
-    number_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "number";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "number";
-              version = "0.4.1";
-              sha256 =
-                "773d28c837acf17b0056deb54b7d966a3d6a9d853e88c08829b5732cb7029fb9";
-            };
-
-            meta = {
-              description = ''Convert numbers to various string formats, such
-                            as currency'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/number";
-            };
-          } // packageOverrides)
-      ) {};
-
-    number = number_0_4_1;
-
-    numerix_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "numerix";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "numerix";
-              version = "0.0.4";
-              sha256 =
-                "b837acc1c095fe580cc69314b72c9171a0d7d6f8734f81ee2ec1f917614c997f";
-            };
-
-            meta = {
-              description = ''A collection of (potentially) useful mathematical
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/safwank/Numerix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    numerix = numerix_0_0_4;
-
-    oauth2_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "oauth2";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "oauth2";
-              version = "0.3.0";
-              sha256 =
-                "ee23e6fb6ac84abce23713ba93f1df2fd368c9ad7b9288f0ef6fcec0e0249043";
-            };
-            beamDeps  = [
-                          poison_1_5_2 plug_1_1_5 httpoison_0_8_3 hackney_1_6_0
-                        ];
-
-            meta = {
-              description = ''An Elixir OAuth 2.0 Client Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/oauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauth2_erlang_0_6_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "oauth2_erlang";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "oauth2_erlang";
-              version = "0.6.1";
-              sha256 =
-                "dc60e92de379fd27c3b9296e2368e97797233a092297d41f47f3a72846b2a974";
-            };
-
-            meta = {
-              description = ''Erlang OAuth 2.0 implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kivra/oauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauth2_erlang = oauth2_erlang_0_6_1;
-
-    oauther_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "oauther";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "oauther";
-              version = "1.0.2";
-              sha256 =
-                "2b65e6408600d5daed7bb1b108533624b6c34491f0278b44013400aa7b551e4d";
-            };
-
-            meta = {
-              description = ''Library to authenticate with OAuth 1.0
-                            protocol.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/oauther";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauther = oauther_1_0_2;
-
-    octet_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "octet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "octet";
-              version = "0.0.2";
-              sha256 =
-                "12c7d7cff035f48139e7304913e7c227ce5bf95508ad8096ed510328d916ede3";
-            };
-
-            meta = {
-              description = ''Octet string converter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kiennt/octet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    octet = octet_0_0_2;
-
-    octokit_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "octokit";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "octokit";
-              version = "0.1.0";
-              sha256 =
-                "1c761130e94dbbe16a7751ee1289e1334c9208222da03a8ae9fd77c50f5e969b";
-            };
-            beamDeps  = [ timex_1_0_2 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir library for accessing the GitHub
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lee-dohm/octokit.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    octokit = octokit_0_1_0;
-
-    odgn_json_pointer_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odgn_json_pointer";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "odgn_json_pointer";
-              version = "1.2.0";
-              sha256 =
-                "fd99e3d11e4d2a52fd3b4ee5d3d1fb1f1d316ebaf1b7e699e563c813cc7f8e77";
-            };
-
-            meta = {
-              description = ''This is an implementation of JSON Pointer (RFC
-                            6901) for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/odogono/elixir-jsonpointer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odgn_json_pointer = odgn_json_pointer_1_2_0;
-
-    odin_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odin";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "odin";
-              version = "0.0.1";
-              sha256 =
-                "17951e0c8c73f10b38e4110e6ecefe507b4ea6203bcea7d55e34320be60b5a4a";
-            };
-
-            meta = {
-              description = ''elixir toolkit for building command-line
-                            interfaces.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/plus-eg/odin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odin = odin_0_0_1;
-
-    odt_potion_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odt_potion";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "odt_potion";
-              version = "0.0.1";
-              sha256 =
-                "f2c429129dc1e636dbd3563750c667315aff650ddfe7aefe06991299f76f35bd";
-            };
-
-            meta = {
-              description = ''Substitute placeholders in ODT`s with custom
-                            information'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/andrewcottage/odt_potion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odt_potion = odt_potion_0_0_1;
-
-    og_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "og";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "og";
-              version = "0.1.0";
-              sha256 =
-                "0b858c07cb6d6d40eca28e3462c03213aeb1f3f1a22bd98e53c2bda445ee98b7";
-            };
-
-            meta = {
-              description = ''Og is a small collection of logger helper
-                            functions in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stephenmoloney/og";
-            };
-          } // packageOverrides)
-      ) {};
-
-    og = og_0_1_0;
-
-    ok_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ok";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "ok";
-              version = "0.1.3";
-              sha256 =
-                "e5ac8a719f097467925d492da2cd2ad9543dfd8729739fa4a32a671337eb08bb";
-            };
-
-            meta = {
-              description = ''Effecient error handling in elixir pipelines.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/CrowdHailer/OK";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ok = ok_0_1_3;
-
-    ok_jose_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ok_jose";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "ok_jose";
-              version = "2.0.0";
-              sha256 =
-                "55377aa3f9b6e563aeb14b3960e4d2a697a059799e8d8ee390059faeaab219eb";
-            };
-
-            meta = {
-              description = ''Pipe functions that produce ok/error tuples.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/ok_jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ok_jose = ok_jose_2_0_0;
-
-    one_signal_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "one_signal";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "one_signal";
-              version = "0.0.6";
-              sha256 =
-                "d90ec5f9e43d164e2942422d3c1e9a6b26a956ea135eb1a316380e12ef6b27d1";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper of OneSignal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/one_signal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    one_signal = one_signal_0_0_6;
-
-    onetime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "onetime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "onetime";
-              version = "1.0.0";
-              sha256 =
-                "28481e7e239caa0002a42178af46cb80c3501faca7c1b953558e9d8dbba76c4c";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''An onetime key-value store'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/onetime-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    onetime = onetime_1_0_0;
-
-    oop_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "oop";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "oop";
-              version = "0.1.0";
-              sha256 =
-                "eee8595a9f8bee5967850b143070d1a6c9b819c69ea19c82ae7c353e5991785e";
-            };
-
-            meta = {
-              description = ''OOP in Elixir!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wojtekmach/oop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oop = oop_0_1_0;
-
-    opbeat_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "opbeat";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "opbeat";
-              version = "0.3.0";
-              sha256 =
-                "20977e8ae08a1789326a3e5c0c8fa3265dd0e6ddc1fb6abe25c3a33d3fc9e692";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for opbeat'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/teodor-pripoae/opbeat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    opbeat = opbeat_0_3_0;
-
-    open_graphx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "open_graphx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "open_graphx";
-              version = "0.0.2";
-              sha256 =
-                "2eef951c4fbb8a01f11ed3ab6ca62dc695a84baf9ae0fbe7698058eac8020b70";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Load Open Graph Protocol'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/open_graphx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    open_graphx = open_graphx_0_0_2;
-
-    openmaize_jwt_0_9_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "openmaize_jwt";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "openmaize_jwt";
-              version = "0.9.0";
-              sha256 =
-                "1c07dc9646a6270d9a21669ca27b55453e3af568724715a26feef395d5b105ab";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''JSON Web Token library for use with the Openmaize
-                            authentication library.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/riverrun/openmaizejwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openmaize_jwt = openmaize_jwt_0_9_0;
-
-    openstack_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          maybe_0_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "openstack";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "openstack";
-              version = "0.0.5";
-              sha256 =
-                "f3387f15fea0ae51eacc7c7b3667ac5cc611c479ae48a7ce8ea61d5ae1c6ba57";
-            };
-            beamDeps  = [ poison_1_5_2 maybe_0_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Openstack Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/openstack.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstack = openstack_0_0_5;
-
-    openstax_keystone_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "openstax_keystone";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "openstax_keystone";
-              version = "0.1.1";
-              sha256 =
-                "0ca484da2caef05a6aa4ce71c009f249142cc83f504160c179e783e9639c7de9";
-            };
-            beamDeps  = [
-                          timex_2_1_6
-                          poison_1_5_2
-                          httpoison_0_8_3
-                          connection_1_0_2
-                        ];
-
-            meta = {
-              description = ''OpenStack Keystone client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/openstax_keystone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstax_keystone = openstax_keystone_0_1_1;
-
-    openstax_swift_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "openstax_swift";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "openstax_swift";
-              version = "0.1.4";
-              sha256 =
-                "244bf77997b366950ec9852b2a65ab58bb1370e86028ae5efe8f84668384e903";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''OpenStack Swift client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/openstax_swift";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstax_swift = openstax_swift_0_1_4;
-
-    ordered_list_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ordered_list";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ordered_list";
-              version = "0.1.0";
-              sha256 =
-                "6b6410f35d1bda7335fc0c5f16e2b6f5a6a8c162363073931347dc184521159d";
-            };
-
-            meta = {
-              description = ''Sorting and reordering positions in a list.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarondufall/ordered_list";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ordered_list = ordered_list_0_1_0;
-
-    os_utils_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "os_utils";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "os_utils";
-              version = "0.3.0";
-              sha256 =
-                "b49e32630b3f198b5fe4f6858aa03d1236d659564f98d522c9e646c045e13b64";
-            };
-
-            meta = {
-              description = ''OS utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/orderthruchaos/os_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    os_utils = os_utils_0_3_0;
-
-    osc_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "osc";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "osc";
-              version = "0.1.1";
-              sha256 =
-                "41830bf1494e6f2419ab8e35d11c0f650aab1d37b45d1b3fdfcc3682e191324c";
-            };
-
-            meta = {
-              description = ''OSC encoder/decoder for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/osc_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    osc = osc_0_1_1;
-
-    pact_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pact";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pact";
-              version = "0.2.0";
-              sha256 =
-                "a19000dcfd6c6b220e508ed44e9040d83e4814db2f6f74b11de1a4597a8de05e";
-            };
-
-            meta = {
-              description = ''Elixir dependency registry for better testing and
-                            cleaner code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/pact";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pact = pact_0_2_0;
-
-    pagarmex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pagarmex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pagarmex";
-              version = "0.1.0";
-              sha256 =
-                "9678030fc6b9ffe0d312967f85a3dacd4ef70e4b14f6eea7d8c6c3fc3796816e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A PagarMe Library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gullitmiranda/pagarmex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pagarmex = pagarmex_0_1_0;
-
-    pagexduty_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "pagexduty";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pagexduty";
-              version = "0.1.0";
-              sha256 =
-                "7292a63eeb27637ff19f91f50910d2bbbc860e1eb0413aa5a5035ef32b41b232";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_1_0 ];
-
-            meta = {
-              description = ''A Pagerduty client for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ride/pagexduty";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pagexduty = pagexduty_0_1_0;
-
-    paginex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "paginex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "paginex";
-              version = "0.0.1";
-              sha256 =
-                "4fdc1a0bb02fbd910d24c59caae6d5793fd24a2a29d6498c04a332095e616770";
-            };
-
-            meta = {
-              description = ''Exposes a pagination struct that can be helpful
-                            to render the pagination html.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhserna/paginex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    paginex = paginex_0_0_1;
-
-    painstaking_0_5_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exoddic_1_3_1 }:
-          buildMix ({
-            name = "painstaking";
-            version = "0.5.8";
-            src = fetchHex {
-              pkg = "painstaking";
-              version = "0.5.8";
-              sha256 =
-                "f9de5ab6139fdda653df0a90e57fe229728a25f3611bf520c9433edd2ab81318";
-            };
-            beamDeps  = [ exoddic_1_3_1 ];
-
-            meta = {
-              description = ''Bet stake sizing recommendations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/painstaking";
-            };
-          } // packageOverrides)
-      ) {};
-
-    painstaking = painstaking_0_5_8;
-
-    palette_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "palette";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "palette";
-              version = "0.0.2";
-              sha256 =
-                "0ad5bbd207b4462078888882b494de937690659bb72ca34ff247b1c9c4784033";
-            };
-
-            meta = {
-              description = ''A handy library for colouring strings.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/palette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    palette = palette_0_0_2;
-
-    pandex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pandex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pandex";
-              version = "0.1.0";
-              sha256 =
-                "a9c6b401be16af5f385c4ff8fc7e3eb9686e2829b0855854de428ff2bd23e34f";
-            };
-
-            meta = {
-              longDescription = ''Pandex is a lightweight Elixir wrapper for
-                                [Pandoc](http://pandoc.org). Pandex enables you
-                                to convert Markdown, CommonMark, HTML, Latex,
-                                json, html to HTML, HTML5, opendocument, rtf,
-                                texttile, asciidoc, markdown, json and others.
-                                Pandex has no dependencies other than Pandoc
-                                itself.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/filterkaapi/pandex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pandex = pandex_0_1_0;
-
-    pangu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pangu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pangu";
-              version = "0.1.0";
-              sha256 =
-                "2634cc2463421757aca0a76665de83940d4fda12f8ed316ae929bb29f64d06c5";
-            };
-
-            meta = {
-              description = ''Paranoid text spacing in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cataska/pangu.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pangu = pangu_0_1_0;
-
-    parabaikElixirConverter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parabaikElixirConverter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "parabaikElixirConverter";
-              version = "0.0.1";
-              sha256 =
-                "ac72f871ac393ca2e42d11f9103019f6270209b1b0fe58d6f110f5dd66c387e4";
-            };
-
-            meta = {
-              longDescription = ''ParabaikElixirConverter is just a Elixir
-                                version of Parabaik converter. It can convert
-                                from Unicode to Zawgyi-One and Zawgyi-One to
-                                Unicode vice versa. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage =
-                "https://github.com/Arkar-Aung/ParabaikElixirConverter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parabaikElixirConverter = parabaikElixirConverter_0_0_1;
-
-    parallel_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parallel";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "parallel";
-              version = "0.0.3";
-              sha256 =
-                "d9b5e98c1892f5376b4dfa28c48a3a17029f86a28d1f9ec2f7c1a2747f256a4d";
-            };
-
-            meta = {
-              description = ''Straightforward parallel processing for Elixir'';
-
-              homepage = "https://github.com/Anonyfox/parallel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parallel = parallel_0_0_3;
-
-    parallel_stream_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parallel_stream";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "parallel_stream";
-              version = "1.0.3";
-              sha256 =
-                "8b0090b13a42343ad709ed088111fd40a9e4c2d1819ef6c1e601347134ed34d0";
-            };
-
-            meta = {
-              description = ''Parallel stream operations for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/beatrichartz/parallel_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parallel_stream = parallel_stream_1_0_3;
-
-    paratize_2_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "paratize";
-            version = "2.1.3";
-            src = fetchHex {
-              pkg = "paratize";
-              version = "2.1.3";
-              sha256 =
-                "7dc6135524c65473f680ec3ade55c2f65b77ad40451ffd2bbd4128066b037d84";
-            };
-
-            meta = {
-              description = ''Elixir library providing some handy parallel
-                            processing facilities.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-paratize";
-            };
-          } // packageOverrides)
-      ) {};
-
-    paratize = paratize_2_1_3;
-
-    parse_torrent_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          earmark_0_2_1,
-          bencode_0_3_0
-        }:
-          buildMix ({
-            name = "parse_torrent";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "parse_torrent";
-              version = "0.2.0";
-              sha256 =
-                "444d49f20ede110e33e0817134ef3f0b843a7af01c88e9c168acc4892ae2d320";
-            };
-            beamDeps  = [ earmark_0_2_1 bencode_0_3_0 ];
-
-            meta = {
-              description = ''Parses a .torrent file and returns a map'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/preciz/parse_torrent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parse_torrent = parse_torrent_0_2_0;
-
-    parselix_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parselix";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "parselix";
-              version = "0.1.0";
-              sha256 =
-                "c728426e1361e94918a7b24d45b86f00e0e7225e9086b02074ac7b33a4307406";
-            };
-
-            meta = {
-              description = ''A Parser Combinator Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/Parselix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parselix = parselix_0_1_0;
-
-    parsey_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parsey";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "parsey";
-              version = "0.0.1";
-              sha256 =
-                "5d2db82a9f9109e3ae95058d7405ff379c88635ef2393dda27d76b13cd28d155";
-            };
-
-            meta = {
-              description = ''A library to parse non-complex nested inputs with
-                            a given ruleset.'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/Parsey";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parsey = parsey_0_0_1;
-
-    pass_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          json_web_token_0_2_5
-        }:
-          buildMix ({
-            name = "pass";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "pass";
-              version = "0.3.0";
-              sha256 =
-                "e2d44e9a94ce802b0723cd6e8c149c85c696e8ff3bf939f4c81ebd08938d0496";
-            };
-            beamDeps  = [ plug_1_1_5 json_web_token_0_2_5 ];
-
-            meta = {
-              description = ''A simple authentication manager for Plug
-                            applications.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-extracts/pass";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pass = pass_0_3_0;
-
-    pathway_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "pathway";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pathway";
-              version = "0.1.0";
-              sha256 =
-                "ae734bc8db0d91c0876e15b7e22e8d7616701eff94b1bd2930d2783a1b11c01d";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''A HTTP client library for the Trak.io REST API.
-                            '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/novabyte/pathway";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pathway = pathway_0_1_0;
-
-    pattern_tap_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pattern_tap";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "pattern_tap";
-              version = "0.2.2";
-              sha256 =
-                "2d17fe4c076b12efe39a362ade88d11d8bed204009027755802213db9feb3675";
-            };
-
-            meta = {
-              description = ''Macro for tapping into a pattern match while
-                            using the pipe operator '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgwidmann/elixir-pattern_tap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pattern_tap = pattern_tap_0_2_2;
-
-    pavlov_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "pavlov";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "pavlov";
-              version = "0.2.3";
-              sha256 =
-                "4d38e96b7581261a49f00d2046603ad3c9af6d52abd26d16bbf6a0a5a82c9643";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              longDescription = ''Pavlov is a BDD library for your Elixir
-                                projects, allowing you to write expressive unit
-                                tests that tell the story of how your
-                                application behaves. The syntax tries to follow
-                                RSpec`s wherever possible.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sproutapp/pavlov";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pavlov = pavlov_0_2_3;
-
-    pbkdf2_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pbkdf2";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "pbkdf2";
-              version = "2.0.0";
-              sha256 =
-                "1e793ce6fdb0576613115714deae9dfc1d1537eaba74f07efb36de139774488d";
-            };
-
-            meta = {
-              description = ''Erlang PBKDF2 Key Derivation Function'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/erlang-pbkdf2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pbkdf2 = pbkdf2_2_0_0;
-
-    pbkdf2_nif_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pbkdf2_nif";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "pbkdf2_nif";
-              version = "0.3.0";
-              sha256 =
-                "7ad61389164cceac87e2bed9d8f184cd713cca85d51e096604c40bf86d96a8b7";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''PBKDF2 NIF implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/barrel-db/erlang-pbkdf2-nif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pbkdf2_nif = pbkdf2_nif_0_3_0;
-
-    pc_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pc";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "pc";
-              version = "1.2.0";
-              sha256 =
-                "ef0f59d26a25af0a5247ef1a06d28d8300f8624647b02dc521ac79a7eceb8883";
-            };
-
-            meta = {
-              description = ''a rebar3 port compiler for native code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/blt/port_compiler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pc = pc_1_2_0;
-
-    pdf2htmlex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pdf2htmlex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pdf2htmlex";
-              version = "0.2.0";
-              sha256 =
-                "50885e995d25362b1f25c74796c0627657147d4d10ccb4be736be3b06b8a44a3";
-            };
-
-            meta = {
-              description = ''Convert PDF docs to beautiful HTML files without
-                            losing text or format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ricn/pdf2htmlex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pdf2htmlex = pdf2htmlex_0_2_0;
-
-    pdf_generator_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          misc_random_0_2_6
-        }:
-          buildMix ({
-            name = "pdf_generator";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "pdf_generator";
-              version = "0.3.3";
-              sha256 =
-                "1aeb29a3b4821de0f86985e65661c7dedae28d2c924ef42677e1f02093607856";
-            };
-            beamDeps  = [ porcelain_2_0_1 misc_random_0_2_6 ];
-
-            meta = {
-              longDescription = ''A wrapper for wkhtmltopdf (HTML to PDF) and
-                                PDFTK (adds in encryption) for use in Elixir
-                                projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-pdf-generator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pdf_generator = pdf_generator_0_3_3;
-
-    peon_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "peon";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "peon";
-              version = "2.0.0";
-              sha256 =
-                "3d87e626f5d014563d1cf319c0fe8576c8eb3f4399ecc9a0d7fb2385a180aaab";
-            };
-
-            meta = {
-              description = ''Use Elixir maps as a document storage format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/supernintendo/peon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    peon = peon_2_0_0;
-
-    permission_ex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "permission_ex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "permission_ex";
-              version = "0.2.0";
-              sha256 =
-                "efaf05029f498689b93e254f120bb01dd7bafd205a23e4246b70e97565af097e";
-            };
-
-            meta = {
-              description = ''Permission management and checking library for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OvermindDL1/permission_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    permission_ex = permission_ex_0_2_0;
-
-    petick_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "petick";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "petick";
-              version = "0.0.1";
-              sha256 =
-                "77ca306a379109aeb98528fdc5642dccc0b66379e67058814470d0cf30053586";
-            };
-
-            meta = {
-              description = ''Periodic timer'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niku/petick";
-            };
-          } // packageOverrides)
-      ) {};
-
-    petick = petick_0_0_1;
-
-    pg2pubsub_0_2_13 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pg2pubsub";
-            version = "0.2.13";
-            src = fetchHex {
-              pkg = "pg2pubsub";
-              version = "0.2.13";
-              sha256 =
-                "a2c3ef4dcf031c71c75781ec49236220f405e836f4ee384bdcfbbf8abd6fc4db";
-            };
-
-            meta = {
-              description = ''A PubSub implementation for Elixir, using PG2
-                            (Erlang process groups).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kbremner/pg2pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pg2pubsub = pg2pubsub_0_2_13;
-
-    pgapp_0_0_1 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          epgsql_3_1_1
-        }:
-          buildRebar3 ({
-            name = "pgapp";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pgapp";
-              version = "0.0.1";
-              sha256 =
-                "5155404f5caa82d6b4f052703cdadddfbc2089e9512bfeef72092933ec1e521d";
-            };
-
-            beamDeps  = [ poolboy_1_5_1 epgsql_3_1_1 ];
-
-            meta = {
-              description = ''epgsql application'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    pgapp = pgapp_0_0_1;
-
-    phasedb_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          inflex_1_5_0,
-          heap_1_0_0,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "phasedb";
-              version = "0.0.2";
-              sha256 =
-                "d9d7d5f7317ad0ce20da3b95e26b286d45d91a61a63a684fba42681a5ced68ee";
-            };
-            beamDeps  = [
-                          poison_2_1_0 inflex_1_5_0 heap_1_0_0 calendar_0_12_4
-                        ];
-
-            meta = {
-              description = ''A real-time time series database.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb = phasedb_0_0_2;
-
-    phasedb_client_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          websocket_client_1_1_0,
-          table_rex_0_8_0,
-          poison_2_1_0,
-          phasedb_0_0_2,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb_client";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phasedb_client";
-              version = "0.0.1";
-              sha256 =
-                "11019f0c5c2ecbfe578150434f064c84a54752093d004a9cc15296fa054b94fa";
-            };
-            beamDeps  = [
-                          websocket_client_1_1_0
-                          table_rex_0_8_0
-                          poison_2_1_0
-                          phasedb_0_0_2
-                          calendar_0_12_4
-                        ];
-
-            meta = {
-              description = ''A real-time time series database - command line
-                            client.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb_client = phasedb_client_0_0_1;
-
-    phasedb_server_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          phasedb_0_0_2,
-          cowboy_1_0_4,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb_server";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phasedb_server";
-              version = "0.0.1";
-              sha256 =
-                "dfde579bb29ed0d805276effb4f7a27d6a302a9615881051fb25eba8cf16da05";
-            };
-            beamDeps  = [ phasedb_0_0_2 cowboy_1_0_4 calendar_0_12_4 ];
-
-            meta = {
-              description = ''A real-time time series database.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb_server = phasedb_server_0_0_1;
-
-    phoenix_1_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "phoenix";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "phoenix";
-              version = "1.0.4";
-              sha256 =
-                "591d5f7f3a6f5407e8491a92dc6a2d0b7b94ef4f3526ad8ef4eb82660e6f69f6";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Productive. Reliable. Fast. A productive web
-                                framework that does not compromise speed and
-                                maintainability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_generator_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, inflex_0_3_0 }:
-          buildMix ({
-            name = "phoenix_generator";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "phoenix_generator";
-              version = "0.2.1";
-              sha256 =
-                "2be3753fba7b4a9afa461d270ab5111d76d1e5997b8e1587344051d85b6a1a36";
-            };
-            beamDeps  = [ inflex_0_3_0 ];
-
-            meta = {
-              description = ''A collection of boilerplate generators for the
-                            Phoenix web framework.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/etufe/phoenix_generator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_generator = phoenix_generator_0_2_1;
-
-    phoenix_jsroutes_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_jsroutes";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phoenix_jsroutes";
-              version = "0.0.1";
-              sha256 =
-                "f1f94ced7edb338d802290265e25784e32ad9e5f51eea65286f22663d831e44e";
-            };
-
-            meta = {
-              description = ''Brings phoenix router helpers to your javascript
-                            code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tiagoengel/phoenix-jsroutes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_jsroutes = phoenix_jsroutes_0_0_1;
-
-    phoenix_pubsub_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phoenix_pubsub";
-              version = "0.0.1";
-              sha256 =
-                "ea9f1853699e838965155af063f536f440afacadca316fb657858b3ac40da2eb";
-            };
-
-            meta = {
-              description = ''Distributed PubSub and Presence platform'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub_1_0_0_rc_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub";
-            version = "1.0.0-rc.0";
-            src = fetchHex {
-              pkg = "phoenix_pubsub";
-              version = "1.0.0-rc.0";
-              sha256 =
-                "94765c0866ffe55f76894daa5e5adcc30822d3710718b0c03980db8f093b575f";
-            };
-
-            meta = {
-              description = ''Distributed PubSub and Presence platform'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub = phoenix_pubsub_1_0_0_rc_0;
-
-    phoenix_pubsub_vernemq_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub_vernemq";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "phoenix_pubsub_vernemq";
-              version = "0.0.3";
-              sha256 =
-                "92c228aee119d21c68b0b43250414686dee16986cb4d0039608612abd0d22824";
-            };
-
-            meta = {
-              description = ''The VerneMQ MQTT pubsub adapter for the Phoenix
-                            framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/larshesel/phoenix_pubsub_vernemq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub_vernemq = phoenix_pubsub_vernemq_0_0_3;
-
-    phoenix_webpack_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_webpack";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "phoenix_webpack";
-              version = "0.1.0";
-              sha256 =
-                "9a5b53836b60bfc3baf36e9aa85b48cfc227f004419b81c195e5e08936562ba7";
-            };
-
-            meta = {
-              description = ''Easily generate webpack configs for phoenix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/phoenix_webpack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_webpack = phoenix_webpack_0_1_0;
-
-    phone_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phone";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "phone";
-              version = "0.2.0";
-              sha256 =
-                "af836882ba2e1b8feec420d181a15ac3c9a9230f9f7a87753e33e2da8a591d22";
-            };
-
-            meta = {
-              description = ''Get useful info from telephone numbers.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fcevado/phone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phone = phone_0_2_0;
-
-    phst_transform_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phst_transform";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "phst_transform";
-              version = "1.0.0";
-              sha256 =
-                "f18683a70d858a9d9459881458f985d13233a3c04e6b0005458a51e560fdfd84";
-            };
-
-            meta = {
-              longDescription = ''An Elixir Protocol and implementation for
-                                creating a tranform of any elixir data.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/philosophers-stone/transform";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phst_transform = phst_transform_1_0_0;
-
-    pigeon_0_7_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pigeon";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "pigeon";
-              version = "0.7.0";
-              sha256 =
-                "16d2745d952553088248185d5371b42a17c9885293f54e7c7871d8a256e182be";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''HTTP2-compliant wrapper for sending iOS
-                                (APNS) and Android (GCM) push notifications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codedge-llc/pigeon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pigeon = pigeon_0_7_0;
-
-    piliponi_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "piliponi";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "piliponi";
-              version = "0.0.1";
-              sha256 =
-                "1729646601f1f12aff154e0401063298ec54bfd745f9137a64f63384f106a645";
-            };
-
-            meta = {
-              description = ''Simple mobile phone formatter for the
-                            Philippines'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wetoolaguer/piliponi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    piliponi = piliponi_0_0_1;
-
-    pinboardixir_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pinboardixir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pinboardixir";
-              version = "0.2.0";
-              sha256 =
-                "360050f089cd50515bf51a5634420beab54bb7ec3b2063d49d91179182e423d7";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Pinboard client in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ElaWorkshop/pinboardixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinboardixir = pinboardixir_0_2_0;
-
-    pinglix_1_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_0_19_5,
-          poison_1_4_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "pinglix";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "pinglix";
-              version = "1.1.1";
-              sha256 =
-                "bff8166655cc143518c0089aca104755ab188816707fb73a5739dd094f45e895";
-            };
-            beamDeps  = [ timex_0_19_5 poison_1_4_0 plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Plug compatible health check system in Elixir
-                                based on
-                                https://github.com/jbarnette/pinglish.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pvdvreede/pinglix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinglix = pinglix_1_1_1;
-
-    pinyin_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pinyin";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "pinyin";
-              version = "0.1.4";
-              sha256 =
-                "e0fc3dc148bc938ad12f5aefabf017620eb314ca4cf045b91ad195c557d5fa96";
-            };
-
-            meta = {
-              description = ''chinese pinyin library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/pinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinyin = pinyin_0_1_4;
-
-    pipe_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pipe";
-              version = "0.0.2";
-              sha256 =
-                "ad6d90981606bb04d040c0af49cf493417994214ce6e74ac572dc2ee67e2c064";
-            };
-
-            meta = {
-              description = ''An Elixir extension that extends the pipe (|>)
-                            operator through macros. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/batate/elixir-pipes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe = pipe_0_0_2;
-
-    pipe_here_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe_here";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pipe_here";
-              version = "1.0.0";
-              sha256 =
-                "95558a60ec7736685029e1b28b1c7cd7c7eae714fab779406aa2512c0f29c51e";
-            };
-
-            meta = {
-              description = ''An Elixir macro for easily piping arguments at
-                            any position.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/pipe_here";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe_here = pipe_here_1_0_0;
-
-    pipe_while_ok_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe_while_ok";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pipe_while_ok";
-              version = "0.0.2";
-              sha256 =
-                "b62708d0a0b82f421f937b99c5ff21a966e21d9a1f42ba75b8788100ac2c6567";
-            };
-
-            meta = {
-              description = ''PipeWhileOk =========== Moved to
-                            https://githib.com/pragdave/exlibris '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/pipe_while_ok";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe_while_ok = pipe_while_ok_0_0_2;
-
-    pipette_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mock_0_1_3 }:
-          buildMix ({
-            name = "pipette";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "pipette";
-              version = "0.0.4";
-              sha256 =
-                "8742ea9b115071c3aa7cec4ddacfa161ff63fd647e0491ac442cb118d7198e26";
-            };
-            beamDeps  = [ mock_0_1_3 ];
-
-            meta = {
-              description = ''new_data = pipette(data, template)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/liquidz/pipette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipette = pipette_0_0_4;
-
-    pipper_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipper";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pipper";
-              version = "1.0.0";
-              sha256 =
-                "a6b5100f6bab060674e5a828dcfb1b7c12e65739186e54809a23320a5550e149";
-            };
-
-            meta = {
-              description = ''Provides a \"pipe-equals\" operator'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/drewblas/pipper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipper = pipper_1_0_0;
-
-    pkcs7_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pkcs7";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "pkcs7";
-              version = "1.0.2";
-              sha256 =
-                "0e4faa65411e204b7952712d58f657335109ecbb24cf79163dc96458ba8d6518";
-            };
-
-            meta = {
-              description = ''PKCS7 binary padding for erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/pkcs7.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pkcs7 = pkcs7_1_0_2;
-
-    plaid_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "plaid";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plaid";
-              version = "0.0.1";
-              sha256 =
-                "1168a916f1a2fa5528b7891fe32784a1c415dbd5fc8b05bb9a7571f887f3ee9e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client for Plaid, the finance API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/travisjeffery/plaid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plaid = plaid_0_0_1;
-
-    plantuml_mix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plantuml_mix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plantuml_mix";
-              version = "0.0.1";
-              sha256 =
-                "6d064ebc3be722642875ea5e2ce63a5678b95d96353c3605f6e83684651947f0";
-            };
-
-            meta = {
-              longDescription = ''Add plantuml task to mix. Execute mix
-                                plantuml --help for options. Requires that the
-                                env var PLANTUML_JAR points to a valid PlantUML
-                                jar file. Requires Java > 1.6 installed on the
-                                system.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/binarytemple/plantuml_mix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plantuml_mix = plantuml_mix_0_0_1;
-
-    plist_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plist";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "plist";
-              version = "0.0.4";
-              sha256 =
-                "533836ee86188fa2a0aed92410534851aac3cb46ee0919c98553b1f38a63aa1a";
-            };
-
-            meta = {
-              description = ''An Elixir library to parse files in Apple`s
-                            property list formats'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ciaran/plist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plist = plist_0_0_4;
-
-    plivo_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "plivo";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plivo";
-              version = "0.0.1";
-              sha256 =
-                "e710b4132ece4f648b772dc540dd1ba7d0fb241fe2f271639cf0764bdb024848";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An elixir client for Plivo API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarvay/plivo-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plivo = plivo_0_0_1;
-
-    plug_0_11_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.11.3";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.11.3";
-              sha256 =
-                "82834fa130af2520b9dad4a271f4fe5c25a456cf2334aae35ef84989efec65e3";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_12_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.12.2";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.12.2";
-              sha256 =
-                "b26e8c636fc5b83e0b69767fb3cb2c693703b7f8c1eed11091e57f6e7caebc2d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_13_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.13.1";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.13.1";
-              sha256 =
-                "50b7ef7c753e703b04ed79bc254ed0fbe07db3ed90894598d377c41e15f4490b";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_14_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.14.0";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.14.0";
-              sha256 =
-                "bacee77168bce635d959d8c41e0723936fba41170edf11665deaf30ee668303d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_8_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.8.4";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.8.4";
-              sha256 =
-                "22c18f351cb30df9ca0b33bedd545bdbbc7eee60f1321cfcfe703228355ff2ec";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.9.0";
-              sha256 =
-                "2715df7f9e2650d1725576f5a683317d8dcaf656f524c14b384d7a54d74a09d1";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "plug";
-              version = "1.0.3";
-              sha256 =
-                "31d1cc267cf48e3db8ce00b7a7bb6ced41c04d8f3593a61318f9a7f721997f6e";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_1_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "1.1.5";
-            src = fetchHex {
-              pkg = "plug";
-              version = "1.1.5";
-              sha256 =
-                "706871cb3d66c8c44cad4bceaa1f500eba34d5400450b9d63163d9dd4de88d3d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug = plug_1_1_5;
-
-    plug_accept_language_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_accept_language";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_accept_language";
-              version = "0.1.0";
-              sha256 =
-                "5535c842805ba980f3bf5fa5cde202fd3375c049e3681e206de1976c5765765a";
-            };
-
-            meta = {
-              description = ''parse the accept-language header'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/plug_accept_language";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_accept_language = plug_accept_language_0_1_0;
-
-    plug_accesslog_0_11_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          timex_2_1_6,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_accesslog";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "plug_accesslog";
-              version = "0.11.0";
-              sha256 =
-                "86ee180fd234a3c6d413153764f2a9e2d57171d3e89df2643a276b8760bcc867";
-            };
-            beamDeps  = [ tzdata_0_5_8 timex_2_1_6 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug for writing access logs'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/plug_accesslog";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_accesslog = plug_accesslog_0_11_0;
-
-    plug_assign_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_0_3 }:
-          buildMix ({
-            name = "plug_assign";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "plug_assign";
-              version = "1.0.0";
-              sha256 =
-                "293a2885e8d23fce64b9f81019882e14512d57cf82b863f9be860157e5f79708";
-            };
-            beamDeps  = [ plug_1_0_3 ];
-
-            meta = {
-              description = ''A simple plug to allow setting variables in a
-                            connection.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nshafer/plug_assign";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_assign = plug_assign_1_0_0;
-
-    plug_cloudflare_1_3_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5, cidr_1_0_0
-        }:
-          buildMix ({
-            name = "plug_cloudflare";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "plug_cloudflare";
-              version = "1.3.0";
-              sha256 =
-                "641df2e40267446172c43b2f52dd9a1cbcd1f24dccd101bda29732a13335ab21";
-            };
-            beamDeps  = [ plug_1_1_5 cidr_1_0_0 ];
-
-            meta = {
-              description = ''Convert CloudFlare`s CF-Connecting-IP header to
-                            Plug.Conn`s remote_ip field.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/plug_cloudflare";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_cloudflare = plug_cloudflare_1_3_0;
-
-    plug_forwarded_peer_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_forwarded_peer";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_forwarded_peer";
-              version = "0.0.2";
-              sha256 =
-                "c2466e0f0ef75a0d925a957fa50dfcded2c4788fe67857a675411e7184ae5ec3";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Very simple plug which reads
-                                `X-Forwarded-For` or `Forwarded` header
-                                according to rfc7239 and fill `conn.remote_ip`
-                                with the root client ip.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/plug_forwarded_peer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_forwarded_peer = plug_forwarded_peer_0_0_2;
-
-    plug_fprof_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_fprof";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plug_fprof";
-              version = "0.0.1";
-              sha256 =
-                "4c5e6171ab7ebb29b6d473f8c5fd758a11ade5847d31add676c944a302ab006c";
-            };
-
-            meta = {
-              description = ''A Plug that adds fprof tracing to requests, to
-                            allow for easy profiling.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/obmarg/plug_fprof";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_fprof = plug_fprof_0_0_1;
-
-    plug_geoip2_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          geolix_0_10_1
-        }:
-          buildMix ({
-            name = "plug_geoip2";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "plug_geoip2";
-              version = "0.4.2";
-              sha256 =
-                "2a6443040e07e677b0ff7749d2cdf7797a97254466f6740aee11544a18f4993a";
-            };
-            beamDeps  = [ plug_1_1_5 geolix_0_10_1 ];
-
-            meta = {
-              longDescription = ''Adds geo location to a Plug connection based
-                                upon the client IP address by using MaxMind`s
-                                GeoIP2 database.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_geoip2 = plug_geoip2_0_4_2;
-
-    plug_heartbeat_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_heartbeat";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "plug_heartbeat";
-              version = "0.2.0";
-              sha256 =
-                "23cb357dad510695b6bb339fdbf5d3fc8581546124f7389d63c9cf723e4ad40f";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A tiny plug for responding to heartbeat requests
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/plug_heartbeat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_heartbeat = plug_heartbeat_0_2_0;
-
-    plug_media_type_router_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_media_type_router";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_media_type_router";
-              version = "0.0.2";
-              sha256 =
-                "e5f72ee4fd1a43321532e3165b3609a1184ba2d576279a1a63e17afba084f12b";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''An Elixir Plug for routing requests to other
-                                Plugs based on the request`s Media Type'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cazrin/plug_media_type_router";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_media_type_router = plug_media_type_router_0_0_2;
-
-    plug_pagecache_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_pagecache";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "plug_pagecache";
-              version = "0.2.0";
-              sha256 =
-                "8f33202de45d772dd1f416a10d43f8e2daabf937d459e010fa9c850834e1877f";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug for full page response caching'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/plug_pagecache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_pagecache = plug_pagecache_0_2_0;
-
-    plug_rails_cookie_session_store_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_rails_cookie_session_store";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_rails_cookie_session_store";
-              version = "0.1.0";
-              sha256 =
-                "e08041d2ad4884826d8296a5560609df04a936ceca492d094f06458699ac69da";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Rails compatible Plug session store'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cconstantin/plug_rails_cookie_session_store";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_rails_cookie_session_store =
-      plug_rails_cookie_session_store_0_1_0;
-
-    plug_range_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_range";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_range";
-              version = "0.0.2";
-              sha256 =
-                "0dbe3c166e01180913f07a5e4c46cd9427f3e797dd7be515871631b0ed60b9eb";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An elixir plug that serves HTTP range requests'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TheSquad/plug_range";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_range = plug_range_0_0_2;
-
-    plug_redirect_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_redirect";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "plug_redirect";
-              version = "0.1.2";
-              sha256 =
-                "f5fb2653ed39cf843bcc3cb13ba2bf547b1f66ef7c24f963551acd0b8e1c4705";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A plug builder for redirecting requests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/plug-redirect";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_redirect = plug_redirect_0_1_2;
-
-    plug_redirect_https_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_redirect_https";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "plug_redirect_https";
-              version = "0.0.6";
-              sha256 =
-                "73f1b3172183005f0fb59a43c50a94a708c06ffcc35a7387967d87e001369068";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Plug to redirect http requests to https requests
-                            behind a reverse proxy'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/plug_redirect_https.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_redirect_https = plug_redirect_https_0_0_6;
-
-    plug_require_header_0_8_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "plug_require_header";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "plug_require_header";
-              version = "0.8.0";
-              sha256 =
-                "b721158316f6d2efd4b24bd05a8a1c06caa699ee25249185c8c4f03f9204b283";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Plug for requiring and extracting a
-                            given header.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/plug_require_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_require_header = plug_require_header_0_8_0;
-
-    plug_response_header_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_response_header";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "plug_response_header";
-              version = "0.2.1";
-              sha256 =
-                "82fd11fc70d925ed5a608ac13a9f604a80e24827f6603999d6a0f3f123862048";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''This plug allows manipulation of HTTP response
-                            headers'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/plug_response_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_response_header = plug_response_header_0_2_1;
-
-    plug_ribbon_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_ribbon";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "plug_ribbon";
-              version = "0.2.1";
-              sha256 =
-                "34fcbffb6fc3adde6bb167506934ab19787d2fff82b6bf93918e0000159bfe9d";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Injects a ribbon to your web application
-                            depending on the environment'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://git.io/plug_ribbon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_ribbon = plug_ribbon_0_2_1;
-
-    plug_runtime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_runtime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "plug_runtime";
-              version = "1.0.0";
-              sha256 =
-                "58e213a40fe339771ab93520da56c2108488cfd9e99c7e92def367567ce225a7";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A simple Plug to measure the runtime of a
-                                request. Results will be in the X-Runtime
-                                header.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mje113/plug_runtime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_runtime = plug_runtime_1_0_0;
-
-    plug_statsd_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          ex_statsd_0_5_3
-        }:
-          buildMix ({
-            name = "plug_statsd";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "plug_statsd";
-              version = "0.4.1";
-              sha256 =
-                "af3158b9d43101e39e22472fcea98180911298c92a735d5ff14dce309e5e30f2";
-            };
-            beamDeps  = [ plug_1_1_5 ex_statsd_0_5_3 ];
-
-            meta = {
-              description = ''A (Phoenix) plug for sending request counts and
-                            response times to statsd'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/plug_statsd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_statsd = plug_statsd_0_4_1;
-
-    plug_test_helpers_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_0_8_4,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_test_helpers";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_test_helpers";
-              version = "0.1.0";
-              sha256 =
-                "f542d679a33d42147612164ade572fa973344b4550ffcbbb0ef540492c9e97fe";
-            };
-            beamDeps  = [ plug_0_8_4 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Helpers to test your Plugs with ExUnit'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/plug_test_helpers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_test_helpers = plug_test_helpers_0_1_0;
-
-    plug_utm_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_utm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_utm";
-              version = "0.0.2";
-              sha256 =
-                "d473d6b360f5a9189cee2a0f95c06ffb1cb9495a9bb8c729a631c2fa33ed5fc9";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''UTM tracking parameters to cookies'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/honeypotio/plug_utm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_utm = plug_utm_0_0_2;
-
-    plug_wait1_0_1_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          plug_0_13_1,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_wait1";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "plug_wait1";
-              version = "0.1.5";
-              sha256 =
-                "33d45e8c5dba4b9639c115b079581954877184c2c7ab394b80514cfd4199bb15";
-            };
-            beamDeps  = [ poison_1_3_1 plug_0_13_1 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug adapter for the wait1 protocol'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wait1/plug_wait1";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_wait1 = plug_wait1_0_1_5;
-
-    plug_x_forwarded_for_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_x_forwarded_for";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_x_forwarded_for";
-              version = "0.1.0";
-              sha256 =
-                "7a12dff0f850855ae85d70ed0e71aff5ec55dad6c52fc46d6ba21119e6183b33";
-            };
-
-            meta = {
-              description = ''x-forwarded-for plug middleware'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/plug_x_forwarded_for";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_x_forwarded_for = plug_x_forwarded_for_0_1_0;
-
-    plugin_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plugin";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plugin";
-              version = "0.1.0";
-              sha256 =
-                "f596a2e9e14081884a841d1805e024d435c6a27e5e38b9c64214017659560fad";
-            };
-
-            meta = {
-              longDescription = ''Like Plug, only without web-specific logic
-                                and without a typed Conn-datastructure'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/plugin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugin = plugin_0_1_0;
-
-    plugs_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plugs";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "plugs";
-              version = "0.1.1";
-              sha256 =
-                "d11f4122bcd3fd83ac1b442ebf908ebb1f1ad535fa305446c90cf2ce51222c07";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A collection of Plug middleware for web
-                            applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sugar-framework/plugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugs = plugs_0_1_1;
-
-    plugsnag_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bugsnag_1_2_0 }:
-          buildMix ({
-            name = "plugsnag";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "plugsnag";
-              version = "1.1.0";
-              sha256 =
-                "aa3a9e587042f5519d8309fc4cf764a0262eda0da752ddf87c5fcfea176208ad";
-            };
-            beamDeps  = [ bugsnag_1_2_0 ];
-
-            meta = {
-              description = ''Bugsnag reporter for Elixir`s Plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/plugsnag";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugsnag = plugsnag_1_1_0;
-
-    plumber_girl_0_9_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plumber_girl";
-            version = "0.9.6";
-            src = fetchHex {
-              pkg = "plumber_girl";
-              version = "0.9.6";
-              sha256 =
-                "2a9faf9980cae59e11a6f9cf151a634cd809de220293bbbaba849f216c247a45";
-            };
-
-            meta = {
-              description = ''PlumberGirl takes care of your Elixir piping
-                            issues!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/plumber_girl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plumber_girl = plumber_girl_0_9_6;
-
-    pmbag_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pmbag";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pmbag";
-              version = "1.0.0";
-              sha256 =
-                "9f12262ac93faf29c00e3da5f5836086542fbcfa0539bf733ab3e5cca0d34872";
-            };
-
-            meta = {
-              description = ''Erlang Private Mail Bag.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/pmbag";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pmbag = pmbag_1_0_0;
-
-    pobox_1_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pobox";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "pobox";
-              version = "1.0.2";
-              sha256 =
-                "372090633c2565cd645acf2d1e2354c0791d5a5dc2f74885795b8807d402fe88";
-            };
-
-            meta = {
-              description = ''External buffer processes to protect against
-                            mailbox overflow'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ferd/pobox/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pobox = pobox_1_0_2;
-
-    pocketeer_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "pocketeer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "pocketeer";
-              version = "0.1.1";
-              sha256 =
-                "886367d81a41a7668805e06877aedfa1b9b4f1506ef1b42e95a4b3bf722d8e76";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''An Elixir client for the Pocket API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/justahero/pocketeer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pocketeer = pocketeer_0_1_1;
-
-    pocketex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pocketex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pocketex";
-              version = "0.1.0";
-              sha256 =
-                "b832df8e3f3102b69892cc5cfab4418de876a6ecc5780805458b9946aa407cbf";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Pocketex is an Elixir client for the Pocket read
-                            later service (getpocket.com) '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/essenciary/pocketex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pocketex = pocketex_0_1_0;
-
-    poison_1_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.3.1";
-              sha256 =
-                "fbd78dd3e5abbadc17ddd89905002f6d20a03046f7555a6098d28a9f14feaf58";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.4.0";
-              sha256 =
-                "b2715aaeb9f549f4e30739d43993e3c1b1053a4ed69d50c660621bdd1eb96606";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.5.0";
-              sha256 =
-                "a31ffdaf77494ff12d6c2c9cb03235d4373596d2faf62ee5b99c1ae479618400";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.5.2";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.5.2";
-              sha256 =
-                "4afc59dcadf71be7edc8b934b39f554ec7b31e2b1b1a4767383a663f86958ce3";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "poison";
-              version = "2.0.1";
-              sha256 =
-                "7f34906a0839f3b49b9b7647461c5144787611f599e8d743214280761699df2b";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "2.1.0";
-              sha256 =
-                "002caaf939b97c84533ef0f621d3ed414ed703fcd03c91ec0dd62043df102c63";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison = poison_2_1_0;
-
-    poker_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poker";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "poker";
-              version = "0.0.2";
-              sha256 =
-                "9599ef62b0a2e1b15ff2697cb1603dd7be00911d8a613e1d01cfdf8c8b5d63b3";
-            };
-
-            meta = {
-              description = ''An Elixir library to work with Poker hands.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wojtekmach/poker_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poker = poker_0_0_2;
-
-    poloniex_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "poloniex";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "poloniex";
-              version = "0.0.8";
-              sha256 =
-                "7890a5f26178ec224379fa4160092d55f9098131eaab8711a75ef1fe6808cc83";
-            };
-            beamDeps  = [
-                          vex_0_5_5
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          exconstructor_1_0_2
-                        ];
-
-            meta = {
-              longDescription = ''WIP Poloniex API wrapper for Elixir. Provides
-                                access to market data including trading pairs
-                                between ETH, BTC, DOGE, LTC and others.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cyberpunk-ventures/poloniex_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poloniex = poloniex_0_0_8;
-
-    poly1305_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          equivalex_0_1_0,
-          chacha20_0_3_2
-        }:
-          buildMix ({
-            name = "poly1305";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "poly1305";
-              version = "0.4.1";
-              sha256 =
-                "b0f804a21e3c1f57cd37b6e439107a1eaf8d7a2404717fb95d21eb3f134973bb";
-            };
-            beamDeps  = [ equivalex_0_1_0 chacha20_0_3_2 ];
-
-            meta = {
-              description = ''Poly1305 message authentication'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/poly1305_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poly1305 = poly1305_0_4_1;
-
-    polyglot_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "polyglot";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "polyglot";
-              version = "0.0.1";
-              sha256 =
-                "83aaf990f322ea5c314b469932e87db7175374b0e0b28d078defba60dca0fb78";
-            };
-
-            meta = {
-              longDescription = ''Polyglot is a localization library for Elixir
-                                that provides reusable formatting rules and
-                                translations for a large number of languages.'';
-              license = with stdenv.lib.licenses; [ mit free ];
-              homepage = "https://github.com/padde/polyglot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyglot = polyglot_0_0_1;
-
-    polyline_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, vector_0_3_0 }:
-          buildMix ({
-            name = "polyline";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "polyline";
-              version = "0.1.0";
-              sha256 =
-                "6df2ebd1a5f55d6f680924200175bc5473beadd013acec72d201fcec18d31afd";
-            };
-            beamDeps  = [ vector_0_3_0 ];
-
-            meta = {
-              description = ''Encoding and decoding of Polylines'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/polyline_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyline = polyline_0_1_0;
-
-    polyvox_id3_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "polyvox_id3";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "polyvox_id3";
-              version = "0.2.1";
-              sha256 =
-                "2bb3e3b9edde6630160857563c992f7e9ea56d11d263172c95161b4275f6b48c";
-            };
-
-            meta = {
-              description = ''A podcast-centric ID3 library for parsing and
-                            writing ID3 tags.'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/polyvox/polyvox_id3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyvox_id3 = polyvox_id3_0_2_1;
-
-    pool_ring_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pool_ring";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "pool_ring";
-              version = "0.1.5";
-              sha256 =
-                "a5d965379d8cb05e772e606951ba1b33c45b58a0809ba9f44eff453ea43068ce";
-            };
-
-            meta = {
-              description = ''create a pool based on a hash ring'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/pool_ring";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pool_ring = pool_ring_0_1_5;
-
-    pool_sup_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, croma_0_4_4 }:
-          buildMix ({
-            name = "pool_sup";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "pool_sup";
-              version = "0.2.2";
-              sha256 =
-                "73cebc2ad393a7ef92c6787b8b581051ddc299372d25bc1175d94dee0ec28e90";
-            };
-            beamDeps  = [ croma_0_4_4 ];
-
-            meta = {
-              description = ''A supervisor specialized to manage pool of
-                            workers'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    pool_sup = pool_sup_0_2_2;
-
-    poolboy_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.4.1";
-              sha256 =
-                "b112f2bfa13010f751ecc013f74af0601eb41315bb0ccfa5eed641d73fbbe899";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy_1_4_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.4.2";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.4.2";
-              sha256 =
-                "6133b67251080f32ffed4f71913cd2998fd6f02fa076677aadf7278b62853938";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.5.1";
-              sha256 =
-                "8f7168911120e13419e086e78d20e4d1a6776f1eee2411ac9f790af10813389f";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy = poolboy_1_5_1;
-
-    pooler_1_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pooler";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "pooler";
-              version = "1.5.0";
-              sha256 =
-                "f493b4b947967fa4250dd1f96e86a5440ecab51da114d2c256cced58ad991908";
-            };
-
-            meta = {
-              description = ''An OTP Process Pool Application'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/seth/pooler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pooler = pooler_1_5_0;
-
-    pop3mail_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pop3mail";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "pop3mail";
-              version = "0.1.6";
-              sha256 =
-                "ca8496c92a3c0caa479836f254980c2af69a66a29e08cea45a164874801c54da";
-            };
-
-            meta = {
-              longDescription = ''Pop3 client to download email (including
-                                attachments) from the inbox. Decodes multipart
-                                content, quoted-printables, base64 and
-                                encoded-words. Uses an Erlang pop3 client with
-                                SSL support derived from the epop package. Add
-                                this dependency in mix.exs: {:erlpop, github:
-                                \"trifork/erlpop\"}'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nico-amsterdam/pop3mail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pop3mail = pop3mail_0_1_6;
-
-    populator_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "populator";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "populator";
-              version = "0.4.0";
-              sha256 =
-                "4f2b2720676db740139ebd69ca0c26b111721d7d049f185f0e5a50cfca18085d";
-            };
-
-            meta = {
-              description = ''Supervisor population control library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/populator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    populator = populator_0_4_0;
-
-    porcelain_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "porcelain";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "porcelain";
-              version = "2.0.1";
-              sha256 =
-                "dbe57a57c3917654694ea6be7e756e26345a59d2974fe6ec861a71f469767ad9";
-            };
-
-            meta = {
-              longDescription = ''Porcelain implements a saner approach to
-                                launching and communicating with external OS
-                                processes from Elixir. Built on top of Erlang`s
-                                ports, it provides richer functionality and
-                                simpler API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/porcelain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    porcelain = porcelain_2_0_1;
-
-    porter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "porter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "porter";
-              version = "0.0.1";
-              sha256 =
-                "81ef97a1d6eb495b6a919cdaae4268a49a3591903424d4ed00f67104d09e89dd";
-            };
-
-            meta = {
-              longDescription = ''Porter provides an OTP application that runs
-                                the specified system command using the Erlang
-                                Port library and then streams the results back
-                                to you.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    porter = porter_0_0_1;
-
-    posexional_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "posexional";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "posexional";
-              version = "0.2.1";
-              sha256 =
-                "c3cedc2c99ed10c400be538e558fcb09cdb675d972d3f5deb33d4029b916da82";
-            };
-
-            meta = {
-              description = ''A library to manage positional files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/primait/posexional";
-            };
-          } // packageOverrides)
-      ) {};
-
-    posexional = posexional_0_2_1;
-
-    positive_13_3_7 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "positive";
-            version = "13.3.7";
-            src = fetchHex {
-              pkg = "positive";
-              version = "13.3.7";
-              sha256 =
-                "516964039cbae4e64226d9e50787f32134f3411bc0ae8cedf26488ba004616be";
-            };
-
-            meta = {
-              description = ''Library: check if an integer is positive'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jlouis/positive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    positive = positive_13_3_7;
-
-    postgrex_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "postgrex";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "postgrex";
-              version = "0.9.1";
-              sha256 =
-                "9c9a4ffca145479b343d7a51730557305425aab69e8d31cc32f348f85996fb5a";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''PostgreSQL driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/postgrex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pot_0_9_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pot";
-            version = "0.9.4";
-            src = fetchHex {
-              pkg = "pot";
-              version = "0.9.4";
-              sha256 =
-                "ba6814a8e2be50d64ee65612cf627aba4784555054c22ac5066e6543f349887c";
-            };
-
-            meta = {
-              longDescription = ''POT is an Erlang library for generating
-                                Google Authenticator compatible one time
-                                passwords.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/pot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pot = pot_0_9_4;
-
-    power_assert_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "power_assert";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "power_assert";
-              version = "0.0.8";
-              sha256 =
-                "b4e1d27ab8e05f01d458ba84c4caced1f9b0209b3178dfcf4334e857a8aa6cd0";
-            };
-
-            meta = {
-              description = ''Power Assert in Elixir. Shows evaluation results
-                            each expression.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ma2gedev/power_assert_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    power_assert = power_assert_0_0_8;
-
-    ppg_0_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, evel_0_1_1 }:
-          buildRebar3 ({
-            name = "ppg";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "ppg";
-              version = "0.1.3";
-              sha256 =
-                "8bbd51b5c1f2e08636839ad6f6151b3ad2a5c46e3fe8bdb1f33f79a2b57d1e13";
-            };
-
-            beamDeps  = [ evel_0_1_1 ];
-
-            meta = {
-              description = ''Plumtree based Process Group'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/ppg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ppg = ppg_0_1_3;
-
-    pqueue_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pqueue";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "pqueue";
-              version = "1.5.1";
-              sha256 =
-                "7ba01afe6b50ea4b239fa770f9e2c2db4871b3927ac44aea180d1fd52601b317";
-            };
-
-            meta = {
-              description = ''Erlang Priority Queue Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/pqueue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pqueue = pqueue_1_5_1;
-
-    pragmatic_0_1_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pragmatic";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "pragmatic";
-              version = "0.1.7";
-              sha256 =
-                "a86e89bf594108715bf7db70ccb93eb2a020367a9bb6c441ca74d3eb92c35fa3";
-            };
-
-            meta = {
-              longDescription = ''A small, simple library to deal with the
-                                practical issues arising from using Elixir on
-                                Windows'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OnorioCatenacci/pragmatic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pragmatic = pragmatic_0_1_7;
-
-    prefecture_jp_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "prefecture_jp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "prefecture_jp";
-              version = "0.0.2";
-              sha256 =
-                "ffc29fc76ee098b5f6c7c93db3736916cc23b0ace424dd8c0f946570aeb75c22";
-            };
-
-            meta = {
-              description = ''PrefectureJp is a library for Japanese
-                            prefecture.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ymmtmsys/prefecture_jp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prefecture_jp = prefecture_jp_0_0_2;
-
-    prelude_0_0_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, etude_1_0_0_beta_0
-        }:
-          buildMix ({
-            name = "prelude";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "prelude";
-              version = "0.0.1";
-              sha256 =
-                "805c5a43a043864b4793f4aeff574b88e9eaac18e49d93cb71cbd6270283bde9";
-            };
-            beamDeps  = [ etude_1_0_0_beta_0 ];
-
-            meta = {
-              description = ''a preprocessor/compiler toolset for erlang and
-                            elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/prelude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prelude = prelude_0_0_1;
-
-    presentex_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "presentex";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "presentex";
-              version = "0.0.10";
-              sha256 =
-                "86479a0b79146dadc3f224d2023d06d7f4f87fd455a3267bbd11759ebde1404c";
-            };
-
-            meta = {
-              description = ''An Elixir -> HTML/JavaScript presentation
-                            generation tool. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Cobenian/Presentex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    presentex = presentex_0_0_10;
-
-    pretty_hex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pretty_hex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pretty_hex";
-              version = "0.0.1";
-              sha256 =
-                "ab91a38480049af4811ffdaf15dbee9370acb9b20cdc870281d2006a8fe928b4";
-            };
-
-            meta = {
-              description = ''A binary hex dumping library in Elixir. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/polsab/pretty_hex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pretty_hex = pretty_hex_0_0_1;
-
-    pricing_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          porcelain_2_0_1
-        }:
-          buildMix ({
-            name = "pricing";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pricing";
-              version = "0.0.1";
-              sha256 =
-                "82e0438611507f600bd799c986872588f88627fdcf7a15d4031d779c9d1cd4d7";
-            };
-            beamDeps  = [ timex_1_0_2 porcelain_2_0_1 ];
-
-            meta = {
-              description = ''Pricing financial instruments in Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/arthurcolle/pricing";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pricing = pricing_0_0_1;
-
-    priority_queue_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "priority_queue";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "priority_queue";
-              version = "1.0.0";
-              sha256 =
-                "ba3dc420a5898d863803455c05ad870c6b6f3adb12b50ebea6cd6aeed1b358b7";
-            };
-
-            meta = {
-              description = ''Priority Queue for Elixir. Heap implementation'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir_priority_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    priority_queue = priority_queue_1_0_0;
-
-    progress_bar_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "progress_bar";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "progress_bar";
-              version = "1.5.0";
-              sha256 =
-                "36fa99f89b876078a19f9d929dd74a043a5e34bbf8d62cda5d9cd26e2ce94426";
-            };
-
-            meta = {
-              description = ''Command-line progress bars and spinners.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/henrik/progress_bar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    progress_bar = progress_bar_1_5_0;
-
-    project_info_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "project_info";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "project_info";
-              version = "1.0.0";
-              sha256 =
-                "749553b710d363e5b900a6d3d37da7c461b8f7a977c9da814124f5862cf209a0";
-            };
-
-            meta = {
-              longDescription = ''A mix task to get info about the current mix
-                                project such as name or version number. Useful
-                                to automate tasks using a CI server or a build
-                                script.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nubleer/project_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    project_info = project_info_1_0_0;
-
-    prometheus_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "prometheus";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "prometheus";
-              version = "0.2.0";
-              sha256 =
-                "9fbf8aeee723667f86f1d24bbe2562a4db4322ef850d5d6cc353d15c54f64937";
-            };
-
-            meta = {
-              description = ''Prometheus monitoring system and time series
-                            database client in Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/prometheus.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prometheus = prometheus_0_2_0;
-
-    prometheus_plugs_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          prometheus_0_2_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "prometheus_plugs";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "prometheus_plugs";
-              version = "0.0.3";
-              sha256 =
-                "b15e425ba78e1c76368b66b22f5e22d283fa3cff26f3a4d45a2498cb5db6c0ff";
-            };
-            beamDeps  = [ prometheus_0_2_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Prometheus monitoring system client Plugs. Http
-                            metrics collector and exporter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/prometheus-plugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prometheus_plugs = prometheus_plugs_0_0_3;
-
-    prop_types_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tipo_0_0_3 }:
-          buildMix ({
-            name = "prop_types";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "prop_types";
-              version = "0.0.11";
-              sha256 =
-                "d786fbef06701e21871f39c9c1bb3354966f24cd606d1b1fd7bff1cc97d2873f";
-            };
-            beamDeps  = [ tipo_0_0_3 ];
-
-            meta = {
-              description = ''Property Type validations and checkers for elixir
-                            apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bakasho/prop_types";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prop_types = prop_types_0_0_11;
-
-    proper_case_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "proper_case";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "proper_case";
-              version = "0.1.1";
-              sha256 =
-                "63c279ad8721fb91175f74a03584fda2baaea6f5d79d5e899dddfd934e924d8a";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library that converts keys in maps
-                                between `snake_case` and `camel_case`. Useful as
-                                a plug in Phoenix for converting incoming params
-                                from JavaScript`s `camelCase` to Elixir`s
-                                `snake_case`'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/johnnyji/proper_case";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proper_case = proper_case_0_1_1;
-
-    proplist_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "proplist";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "proplist";
-              version = "1.1.0";
-              sha256 =
-                "6fc73362d15b4810f4979ddf72ec53c1efc020657a57b7cdd1f682bd38c08298";
-            };
-
-            meta = {
-              description = ''Proplist provides the complete Keyword API, but
-                            for Proplists.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/proplist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proplist = proplist_1_1_0;
-
-    proto_def_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          estree_2_3_0
-        }:
-          buildMix ({
-            name = "proto_def";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "proto_def";
-              version = "0.0.4";
-              sha256 =
-                "155b17cd62296cc1d5ee0333a87df4b25616a6dff7863a8e7ad219437db5a37e";
-            };
-            beamDeps  = [ poison_2_1_0 estree_2_3_0 ];
-
-            meta = {
-              longDescription = ''ProtoDef compiler for Elixir. (mostly)
-                                Compatible with
-                                https://github.com/ProtoDef-io/ProtoDef.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ProtoDef-io/elixir-protodef";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proto_def = proto_def_0_0_4;
-
-    providers_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, getopt_0_8_2 }:
-          buildRebar3 ({
-            name = "providers";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "providers";
-              version = "1.4.1";
-              sha256 =
-                "dfd88305670a3d942c08a2d852eeb4c20ec40ee2ba589339a48083ac74f14e36";
-            };
-
-            beamDeps  = [ getopt_0_8_2 ];
-
-            meta = {
-              description = ''Providers provider.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsloughter/providers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    providers_1_6_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, getopt_0_8_2 }:
-          buildRebar3 ({
-            name = "providers";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "providers";
-              version = "1.6.0";
-              sha256 =
-                "0f6876529a613d34224de8c61d3660388eb981142360f2699486d8536050ce2f";
-            };
-
-            beamDeps  = [ getopt_0_8_2 ];
-
-            meta = {
-              description = ''Providers provider.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsloughter/providers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    providers = providers_1_6_0;
-
-    proxy_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "proxy";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "proxy";
-              version = "0.0.1";
-              sha256 =
-                "74691b18a0918d6e14df1f254ee9f342a547bc280151a4d88a540839ae75bbae";
-            };
-            beamDeps  = [ plug_1_1_5 httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Proxy plug for upstream servers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chadwpry/elixir-proxy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proxy = proxy_0_0_1;
-
-    public_suffix_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, idna_2_0_0 }:
-          buildMix ({
-            name = "public_suffix";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "public_suffix";
-              version = "0.3.0";
-              sha256 =
-                "ffced61dca1d881ed91b4c6ee675e707bd1dbff14adb48adebf0bebbaeccae48";
-            };
-            beamDeps  = [ idna_2_0_0 ];
-
-            meta = {
-              longDescription = ''Operate on domain names using the public
-                                suffix rules provided by
-                                https://publicsuffix.org/.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seomoz/publicsuffix-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    public_suffix = public_suffix_0_3_0;
-
-    publicsuffix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "publicsuffix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "publicsuffix";
-              version = "0.0.1";
-              sha256 =
-                "c20351c883ab00a424c6eace4adb23726fbf242240bc63f583f4c07cbe0a824b";
-            };
-
-            meta = {
-              description = ''Domain name parser for Elixir based on the Public
-                            Suffix List.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/weppos/publicsuffix-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    publicsuffix = publicsuffix_0_0_1;
-
-    pubnub_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "pubnub_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pubnub_ex";
-              version = "0.0.2";
-              sha256 =
-                "83d270cfe2be6728fb96d9145371a87ddc876a97f91cdca2584cc82c2a0b91cb";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''A pubsub tool for pubnub.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryuone/pubnub_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pubnub_ex = pubnub_ex_0_0_2;
-
-    pubsub_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pubsub";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pubsub";
-              version = "0.0.2";
-              sha256 =
-                "2072bf67d5d4b6d41c81f0e89697d72ca323c5640e883b0d0cec7d43cf6c8ae8";
-            };
-
-            meta = {
-              description = ''Publish-Subscribe utility'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/simonewebdesign/elixir_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pubsub = pubsub_0_0_2;
-
-    qdate_0_4_3 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          erlware_commons_0_20_0,
-          erlang_localtime_1_0_0
-        }:
-          buildRebar3 ({
-            name = "qdate";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "qdate";
-              version = "0.4.3";
-              sha256 =
-                "0bbad4929a7cf2432c832fe45310080776c64973037c5b1aa21bbe05dbc61401";
-            };
-
-            beamDeps  = [ erlware_commons_0_20_0 erlang_localtime_1_0_0 ];
-
-            meta = {
-              description = ''Simple Date and Timezone handling for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/choptastic/qdate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qdate = qdate_0_4_3;
-
-    qiita_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "qiita_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "qiita_ex";
-              version = "0.0.2";
-              sha256 =
-                "0bb9a5535c0915c426ff13350b907cbd2b455bb99d8bcb8324ffadb6c9bcf1eb";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Qiita API v2 Interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/qiita_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qiita_ex = qiita_ex_0_0_2;
-
-    qiniu_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "qiniu";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "qiniu";
-              version = "0.3.0";
-              sha256 =
-                "f47360528cd289be5f5bb444d289e90f5f330a3230c9386f5a7aecd019a73081";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Qiniu Resource (Cloud) Storage SDK for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tony612/qiniu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qiniu = qiniu_0_3_0;
-
-    qlc_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "qlc";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "qlc";
-              version = "1.0.0";
-              sha256 =
-                "80df25fc032ced6f8c0c21df4099434db09d6de87ee32237719c776974ad15cc";
-            };
-
-            meta = {
-              description = ''QLC interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/k1complete/qlc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qlc = qlc_1_0_0;
-
-    quantum_1_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "quantum";
-            version = "1.7.1";
-            src = fetchHex {
-              pkg = "quantum";
-              version = "1.7.1";
-              sha256 =
-                "55a74be6a021816fe78d9a4a9450281e027302806313c9fa6e51694d44106c0a";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''Cron-like job scheduler for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/quantum-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quantum = quantum_1_7_1;
-
-    quark_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "quark";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "quark";
-              version = "1.0.2";
-              sha256 =
-                "c24950acc4d6f44aff612302871b2cff5f56d6b702285bc04e7b71179e5b13c7";
-            };
-
-            meta = {
-              description = ''Common combinators for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/quark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quark = quark_1_0_2;
-
-    queue_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "queue";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "queue";
-              version = "0.0.1";
-              sha256 =
-                "a383d4b4a64e7639e66f314ae9e38e387453bcce6c96173e3d90b497c82bed9b";
-            };
-
-            meta = {
-              description = ''Elixir wrapper for erlang double sided FIFO
-                            queue'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    queue = queue_0_0_1;
-
-    queuex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "queuex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "queuex";
-              version = "0.2.0";
-              sha256 =
-                "e40b25befc34ecff962c92536e6a520967dd2d6031cb70a58be62269a6aec623";
-            };
-
-            meta = {
-              description = ''Priority Queue'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/queuex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    queuex = queuex_0_2_0;
-
-    quickrand_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "quickrand";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "quickrand";
-              version = "1.5.1";
-              sha256 =
-                "0b3dcc6ddb23319c1f6a5ed143778864b8ad2f0ebd693a2d121cf5ae0c4db507";
-            };
-
-            meta = {
-              longDescription = ''Quick Random Number Generation: Provides a
-                                simple interface to call efficient random number
-                                generation functions based on the context.
-                                Proper random number seeding is enforced.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/quickrand";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quickrand = quickrand_1_5_1;
-
-    quintana_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, folsom_0_8_3 }:
-          buildRebar3 ({
-            name = "quintana";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "quintana";
-              version = "0.2.1";
-              sha256 =
-                "d4683eb33c71f6cab3b17b896b4fa9180f17a0a8b086440bfe0c5675182f0194";
-            };
-
-            beamDeps  = [ folsom_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper around some Folsom functions'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    quintana = quintana_0_2_1;
-
-    ra_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ra";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "ra";
-              version = "0.3.2";
-              sha256 =
-                "696cc4fd2dc1a36c705af7e7a1551bd054ad245841fccbc5d9d210f375c2dcf4";
-            };
-
-            meta = {
-              description = ''Ra is a framework for building command line
-                            applications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NobbZ/ra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ra = ra_0_3_2;
-
-    rabbitElixir_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "rabbitElixir";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "rabbitElixir";
-              version = "1.0.1";
-              sha256 =
-                "bc0ddae7fa0b869a6688db2e5d909d375ff0692a959aa768eed586bcfd2d0a2f";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''Another Zawgyi <=> Unicode Converter '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Rabbit-Converter/Rabbit-Elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rabbitElixir = rabbitElixir_1_0_1;
-
-    rabbit_common_3_5_6 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rabbit_common";
-            version = "3.5.6";
-            src = fetchHex {
-              pkg = "rabbit_common";
-              version = "3.5.6";
-              sha256 =
-                "9335ab3ebc4e8e140d7bc9b1b0e7ee99c0aa87d0a746b704184121ba35c04f1c";
-            };
-
-            meta = {
-              longDescription = ''Includes modules which are a runtime
-                                dependency of the RabbitMQ/AMQP Erlang client
-                                and are common to the RabbitMQ server.'';
-              license = stdenv.lib.licenses.mpl11;
-              homepage = "https://github.com/jbrisbin/rabbit_common";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rabbit_common = rabbit_common_3_5_6;
-
-    rails_4_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "rails";
-            version = "4.2.0";
-            src = fetchHex {
-              pkg = "rails";
-              version = "4.2.0";
-              sha256 =
-                "731692769aa106a20c87b12dca15336fd1d16a7f02e2615ad76f6ce83a2b0b46";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A plug to get your plug/phoenix applications
-                                performance more in line with Rails.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/rails";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rails = rails_4_2_0;
-
-    ralitobu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ralitobu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ralitobu";
-              version = "0.1.0";
-              sha256 =
-                "c131ef38e9f9e438e7479ba34430c7c874d1646670d6636a8cc98db2f113d075";
-            };
-
-            meta = {
-              description = ''The Rate Limiter with Token Bucket algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/ralitobu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ralitobu = ralitobu_0_1_0;
-
-    ralitobu_plug_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ralitobu_0_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "ralitobu_plug";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ralitobu_plug";
-              version = "0.1.0";
-              sha256 =
-                "f6c425f0dea74222243ffb3d4aaefd24b5ee0547ec71ac78896f1cfe02821e74";
-            };
-            beamDeps  = [ ralitobu_0_1_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''Elixir Plug for Ralitobu, the Rate Limiter with
-                            Token Bucket algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/ralitobu_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ralitobu_plug = ralitobu_plug_0_1_0;
-
-    ranch_1_1_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "ranch";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ranch";
-              version = "1.1.0";
-              sha256 =
-                "98ade939e63e6567da5dec5bc5bd93cbdc53d53f8b1aa998adec60dc4057f048";
-            };
-
-            meta = {
-              description = ''Socket acceptor pool for TCP protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/ranch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ranch_1_2_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "ranch";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "ranch";
-              version = "1.2.1";
-              sha256 =
-                "f602d057615ce737945c239e9c8155d3f5300fc5b1255abf81f2a9d0d08e5b04";
-            };
-
-            meta = {
-              description = ''Socket acceptor pool for TCP protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/ranch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ranch = ranch_1_2_1;
-
-    random_string_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "random_string";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "random_string";
-              version = "0.0.1";
-              sha256 =
-                "4a90483956764f6ad3d928e27d2e6a1e830bc53b28ded5464c715eb2ec6b8ed8";
-            };
-
-            meta = {
-              description = ''Generates random string (or a stream of
-                            characters) of desired character sets.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sylph01/random_string";
-            };
-          } // packageOverrides)
-      ) {};
-
-    random_string = random_string_0_0_1;
-
-    range_extras_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "range_extras";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "range_extras";
-              version = "0.1.0";
-              sha256 =
-                "edc50d31341e1370d009df8b51d7d0e355a966068520ff38e88b8b542953e15c";
-            };
-
-            meta = {
-              description = ''Elixir range utilities: constant-time random
-                            sampling and set operations.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lnikkila/elixir-range-extras";
-            };
-          } // packageOverrides)
-      ) {};
-
-    range_extras = range_extras_0_1_0;
-
-    rankmatcher_0_1_5 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, libsnarlmatch_0_1_7
-        }:
-          buildRebar3 ({
-            name = "rankmatcher";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "rankmatcher";
-              version = "0.1.5";
-              sha256 =
-                "304704fcc294c636d80f030001495ada0e6b66a36c7a2f785964c8f491e3f197";
-            };
-
-            beamDeps  = [ libsnarlmatch_0_1_7 ];
-
-            meta = {
-              description = ''Library to rank and match lists'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/dalmatinerdb/mstore";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rankmatcher = rankmatcher_0_1_5;
-
-    rapidax_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "rapidax";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "rapidax";
-              version = "0.0.3";
-              sha256 =
-                "9912b79b3d2729465bf66315bd955e031aeb038f05a63faa2dc0414026edb18c";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Rapidly develop your API client - based on
-                            rapidash gem'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorlcampos/rapidax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rapidax = rapidax_0_0_3;
-
-    ratio_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ratio";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ratio";
-              version = "1.0.0";
-              sha256 =
-                "bd20f7aff8c5052a59037a66b603df55a7f23db1b23e7f8287bd331c0d9b8e9c";
-            };
-
-            meta = {
-              longDescription = ''This library allows you to use Rational
-                                numbers in Elixir, to enable exact calculations
-                                with all numbers big and small. It defines the
-                                new <|> operator, (optionally) overrides the
-                                arithmetic +, -, * and / operators to work with
-                                ints, floats and Rational numbers all alike.
-                                Floats are also automatically coerced into
-                                Rationals whenever possible. And don`t worry: If
-                                you don`t like operator-overloading: There are
-                                longhand function aliases available too.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/qqwy/elixir-rational";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ratio = ratio_1_0_0;
-
-    rational_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_2_1 }:
-          buildMix ({
-            name = "rational";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "rational";
-              version = "0.2.0";
-              sha256 =
-                "640093486afd882e5283d4269d9ab624369239016fed67e3b8038845322107b7";
-            };
-            beamDeps  = [ earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''Rational is a module for exact representation
-                                and manipulation of rational fractions, that is,
-                                those fractions that can be exactly represented
-                                by a ratio of integers (e.g., 1/3 or
-                                4176/22687).'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-rational.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rational = rational_0_2_0;
-
-    ratx_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ratx";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ratx";
-              version = "0.1.0";
-              sha256 =
-                "fbf933ff32fdc127200880f5b567820bf03504ade1bd697ffbc0535dbafc23d6";
-            };
-
-            meta = {
-              description = ''Rate limiter and overload protection for erlang
-                            and elixir applications. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/liveforeverx/ratx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ratx = ratx_0_1_0;
-
-    ravel_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ravel";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "ravel";
-              version = "0.0.6";
-              sha256 =
-                "a8fc97393216e2c4429982deefb77b48031ca7feca1f81835451af8977d4932e";
-            };
-
-            meta = {
-              description = ''Extendable validation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/revati/ravel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ravel = ravel_0_0_6;
-
-    ravenex_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ravenex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "ravenex";
-              version = "0.0.5";
-              sha256 =
-                "909039771fc414dd95d72d3e57c474f5ba7e593c9a9b448e3849ea68aa9d58cc";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Ravenex is an Elixir client for Sentry.
-                                Automatically send error notifications to
-                                Sentry. Easily connects with Phoenix through
-                                adding a logger or Plug.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hayesgm/ravenex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ravenex = ravenex_0_0_5;
-
-    raxx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "raxx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "raxx";
-              version = "0.0.1";
-              sha256 =
-                "b4a2fbb7d4e85932626656d38adb4de95d47bce04255a9c5b7c2562a27f92111";
-            };
-            beamDeps  = [ httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''A Elixir webserver interface, for stateless
-                                HTTP. Raxx exists to simplify handling the HTTP
-                                request-response cycle. It deliberately does not
-                                handle other communication styles that are part
-                                of the modern web.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/crowdhailer/raxx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    raxx = raxx_0_0_1;
-
-    react_on_elixir_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_1_5_2
-        }:
-          buildMix ({
-            name = "react_on_elixir";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "react_on_elixir";
-              version = "0.0.4";
-              sha256 =
-                "5747938079acd15a39768a77ab013b199d429d725397fcd1e8313abf6eeb7c3b";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_1_5_2 ];
-
-            meta = {
-              description = ''Server render react components from Elixir'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/gauravtiwari/react_on_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    react_on_elixir = react_on_elixir_0_0_4;
-
-    read_repos_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "read_repos";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "read_repos";
-              version = "0.0.1";
-              sha256 =
-                "f981ea689d21956e1470d947ba24c5480e808fdf1a9da4cd148e5a4e1247e8b4";
-            };
-
-            meta = {
-              description = ''Simple master-slave library for Ecto.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kenta-aktsk/read_repos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    read_repos = read_repos_0_0_1;
-
-    readability_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "readability";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "readability";
-              version = "0.5.0";
-              sha256 =
-                "82b03705957be376e748029a9ac94a699f5dac072fdef662c46258c83d7e1a3e";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Readability library for extracting and curating
-                            articles.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/keepcosmos/readability";
-            };
-          } // packageOverrides)
-      ) {};
-
-    readability = readability_0_5_0;
-
-    readit_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "readit";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "readit";
-              version = "0.0.3";
-              sha256 =
-                "a3f99c65e9ef62c625c81150735b7456db71e350cf892ee1119d3839cfab361e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Simple Read-Only Reddit API Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/readit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    readit = readit_0_0_3;
-
-    reap_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsex_2_0_0 }:
-          buildMix ({
-            name = "reap";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "reap";
-              version = "0.1.3";
-              sha256 =
-                "e260540500a29ac9945db512a550cd9b56ba4295b4aa3c1b408ad62720e7807b";
-            };
-            beamDeps  = [ jsex_2_0_0 ];
-
-            meta = {
-              description = ''A library for working with the refheap API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Raynes/reap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    reap = reap_0_1_3;
-
-    reaxive_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "reaxive";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "reaxive";
-              version = "0.1.0";
-              sha256 =
-                "d185c80da34499999000f6aaab3ab891cdff34cb3a2079835e8e6f5b4e813fa2";
-            };
-
-            meta = {
-              longDescription = ''Reaxive is a library inspired by Reactive
-                                Extensions and ELM to provide functional
-                                reactive programming to Elixir. It allows for
-                                active sequences of events and a set of
-                                stream-reducer like transformations such as map
-                                or filter. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/alfert/reaxive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    reaxive = reaxive_0_1_0;
-
-    rebar3_appup_plugin_1_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rebar3_appup_plugin";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "rebar3_appup_plugin";
-              version = "1.1.1";
-              sha256 =
-                "ea6d33c962770187021c528d0472a4f0b123c4adaf3242afb33465b796a34497";
-            };
-
-            meta = {
-              description = ''A rebar3 plugin for handling .appup files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lrascao/rebar3_appup_plugin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rebar3_appup_plugin = rebar3_appup_plugin_1_1_1;
-
-    rebar3_asn1_compiler_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rebar3_asn1_compiler";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "rebar3_asn1_compiler";
-              version = "1.0.0";
-              sha256 =
-                "25ec1d5c97393195650ac8c7a06a267a886a1479950ee047c43b5228c07b30b9";
-            };
-
-            meta = {
-              description = ''Compile ASN.1 modules with Rebar3'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pyykkis/rebar3_asn1_compiler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rebar3_asn1_compiler = rebar3_asn1_compiler_1_0_0;
-
-    spell_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          msgpax_0_8_2
-        }:
-          buildMix ({
-            name = "spell";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "spell";
-              version = "0.1.0";
-              sha256 =
-                "c768ada54d3cbda57d63344b0b9c91520362700dde4b939a825358f01f1dbfa9";
-            };
-            beamDeps  = [ poison_1_4_0 msgpax_0_8_2 ];
-
-            meta = {
-              longDescription = ''Spell is an extensible Elixir WAMP client.
-                                Spell supports the client subscriber, publisher,
-                                callee, and caller roles.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/MyMedsAndMe/spell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spell = spell_0_1_0;
-
-    spex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "spex";
-              version = "0.1.2";
-              sha256 =
-                "102a1a74e19cd68c843ba45ac8580f44b5b8e4cc572e206e143cab56f369fb93";
-            };
-
-            meta = {
-              description = ''Validate your Elixir values against value-based
-                            specs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codegram/spex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spex = spex_0_1_2;
-
-    spf_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spf";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spf";
-              version = "0.0.1";
-              sha256 =
-                "64126066eaac871e08a1ece2721e0fccb36220b28a4c6b03f08f0d4d459909a3";
-            };
-
-            meta = {
-              description = ''SPF implementation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hex-sh/spf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spf = spf_0_0_1;
-
-    spherical_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spherical";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spherical";
-              version = "0.0.1";
-              sha256 =
-                "eaa7f1a4d265a0a6d0b8e23b530882dda0e68e35780a5af50ac6a2d9d2ba2fac";
-            };
-
-            meta = {
-              description = ''An spherical geometry library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/arpunk/spherical";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spherical = spherical_0_0_1;
-
-    spotify_ex_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "spotify_ex";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "spotify_ex";
-              version = "0.0.4";
-              sha256 =
-                "f2e8647410096d34d9baecf8d9622896214320641ed72c11c711f9a463e4a961";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for Spotify API O-Auth.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/jsncmgs1/spotify_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spotify_ex = spotify_ex_0_0_4;
-
-    spout_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spout";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spout";
-              version = "0.0.1";
-              sha256 =
-                "5389628219cfa6df18ba366cb668055e44e97eccfea38d385d0581c489f3926a";
-            };
-
-            meta = {
-              longDescription = ''A TAP producer that integrates with existing
-                                ExUnit tests via an ExUnit formatter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Stratus3D/Spout";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spout = spout_0_0_1;
-
-    spreedly_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "spreedly";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "spreedly";
-              version = "0.1.2";
-              sha256 =
-                "b5c770da8627fb1a3a570ffeec1a15e9ee1d643383f26018855ac028471e1329";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper for the Spreedly API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duff/spreedly-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spreedly = spreedly_0_1_2;
-
-    sqlcx_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          esqlcipher_1_0_0,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlcx";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "sqlcx";
-              version = "1.1.0";
-              sha256 =
-                "203c9b39da2e359322c9d83bb64d2559dd26e0f22a03d493bfc817120c394e8d";
-            };
-            beamDeps  = [ esqlcipher_1_0_0 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlcipher'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/FelixKiunke/sqlcx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlcx = sqlcx_1_1_0;
-
-    sqlitex_0_8_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          pipe_0_0_2,
-          esqlite_0_2_2,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlitex";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "sqlitex";
-              version = "0.8.3";
-              sha256 =
-                "44daaeb135178165d0a6cd6754e4af05e56e5d2943c0b1108df7df718745ec0f";
-            };
-            beamDeps  = [ pipe_0_0_2 esqlite_0_2_2 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlite'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/sqlitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlitex_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          esqlite_0_2_2,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlitex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "sqlitex";
-              version = "1.0.0";
-              sha256 =
-                "cbd7310e900841aa2dc6071b497330e730de1cd9618003006e0af48afb24d5f8";
-            };
-            beamDeps  = [ esqlite_0_2_2 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlite'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/sqlitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlitex = sqlitex_1_0_0;
-
-    sshex_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sshex";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "sshex";
-              version = "2.1.0";
-              sha256 =
-                "303bd8fd007bf2d10ddfae83b74acafc747f24908c2590b098ba2e85c570c58b";
-            };
-
-            meta = {
-              description = ''Simple SSH helpers for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/sshex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sshex = sshex_2_1_0;
-
-    ssl_verify_fun_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ssl_verify_fun";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ssl_verify_fun";
-              version = "1.1.0";
-              sha256 =
-                "6c0e0d857fdb031ba67b0a791202bee116bea2313db7b649839000847591ba1e";
-            };
-
-            meta = {
-              description = ''SSL verification functions for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/ssl_verify_fun.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ssl_verify_fun = ssl_verify_fun_1_1_0;
-
-    stache_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stache";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "stache";
-              version = "0.2.1";
-              sha256 =
-                "475e80a2b6e713a75d0a085b067489e2fc1606751aab47413e12a33cf2ae4712";
-            };
-
-            meta = {
-              description = ''Mustache templates in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cwbriones/stache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stache = stache_0_2_1;
-
-    stackd_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stackd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stackd";
-              version = "0.0.1";
-              sha256 =
-                "41749dc834f92af4954988b5e9155d45fcbf63224ecfcabce6f1fc80f3aff8f9";
-            };
-
-            meta = {
-              description = ''Stackd'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    stackd = stackd_0_0_1;
-
-    stash_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stash";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "stash";
-              version = "1.0.0";
-              sha256 =
-                "ac68a470ed2a292b59c1dbf286a97e8b25ec72adaeeb3734c183dc54b659f7d6";
-            };
-
-            meta = {
-              description = ''Simple ETS backed key/value store for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/stash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stash = stash_1_0_0;
-
-    stathat_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stathat";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "stathat";
-              version = "0.0.3";
-              sha256 =
-                "2d3663d1bbbf13fbae688a89656dd53f747e69d23ec73bcfd8835c2ca9d09c35";
-            };
-
-            meta = {
-              description = ''StatHat client library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/travisjeffery/stathat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stathat = stathat_0_0_3;
-
-    statistics_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "statistics";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "statistics";
-              version = "0.4.1";
-              sha256 =
-                "726d8791e9bafb08b3ceeb5b08df6664f29a73a0e6ac0db835500b686a153bd5";
-            };
-
-            meta = {
-              description = ''Functions for descriptive statistics and common
-                            distributions'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/msharp/elixir-statistics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    statistics = statistics_0_4_1;
-
-    statix_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "statix";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "statix";
-              version = "0.7.0";
-              sha256 =
-                "0439c5698eaef7c2de213d9bff5681eeccc1dec789931e9ae73b9d2b2968234b";
-            };
-
-            meta = {
-              description = ''An Elixir client for StatsD compatible
-                            servers.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/statix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    statix = statix_0_7_0;
-
-    std_json_io_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          fs_0_9_2
-        }:
-          buildMix ({
-            name = "std_json_io";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "std_json_io";
-              version = "0.1.0";
-              sha256 =
-                "14f1c18c31a0b0b3ffb1e654247925335059eec9c800d81dd6379166e7403d1e";
-            };
-            beamDeps  = [ porcelain_2_0_1 poolboy_1_5_1 poison_1_5_2 fs_0_9_2
-                      ];
-
-            meta = {
-              description = ''Application for managing and communicating with
-                            IO servers via JSON'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    std_json_io = std_json_io_0_1_0;
-
-    steamex_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "steamex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "steamex";
-              version = "0.0.5";
-              sha256 =
-                "4a290c432c0480cf372fece76cc4f09e231261fda64ef5027e8855e16aa5a2f6";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Steam API and Auth (with Phoenix/Plug
-                            integration) for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/steamex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    steamex = steamex_0_0_5;
-
-    stemex_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stemex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "stemex";
-              version = "0.1.1";
-              sha256 =
-                "219b8e81fedba5a9bb978b8f7eaf230e77f2702d58e409adcca998fde1788521";
-            };
-
-            meta = {
-              longDescription = ''Stemex is a NIF wrapper above snowball
-                                containing stemmers for : danish, dutch,
-                                english, finnish, french, german, hungarian,
-                                italian, kraaij_pohlmann, lovins, norwegian,
-                                portuguese, romanian, russian, spanish, swedish,
-                                turkish.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/stemex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stemex = stemex_0_1_1;
-
-    stillir_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "stillir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "stillir";
-              version = "1.0.0";
-              sha256 =
-                "04afdee2e5123b6da11fcc28c38d581f74db0cbe1faa1c36ed4f364797b588c0";
-            };
-
-            meta = {
-              description = ''Read Unix env vars into application config'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/heroku/stillir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stillir = stillir_1_0_0;
-
-    stockastic_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "stockastic";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "stockastic";
-              version = "0.0.2";
-              sha256 =
-                "f180915a21d4aa4a64f660696b77c5788334d4bae2639a58814565af0d75ca56";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the Stockfighter API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shanewilton/stockastic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stockastic = stockastic_0_0_2;
-
-    stockfighter_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "stockfighter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stockfighter";
-              version = "0.0.1";
-              sha256 =
-                "d72726cf055068e2b62ef9091ec17ab9292b60bc7f4a7306c17cad6d022a3bd7";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''a simple wrapper of stockfighter http api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lerencao/stockfighter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stockfighter = stockfighter_0_0_1;
-
-    stopwatch_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "stopwatch";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "stopwatch";
-              version = "0.0.7";
-              sha256 =
-                "de20ad70ca3b0f70d0a2000858e80c0afd4163101e18d0428ee62a58e7c8360a";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''The stopwatch provides an easy api to measure
-                            elapsed time and profile code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/matteosister/stopwatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stopwatch = stopwatch_0_0_7;
-
-    stream_runner_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_runner";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "stream_runner";
-              version = "1.1.0";
-              sha256 =
-                "3c2da3658440ba57224cd484de4b0d8b128e5463413ac05285cdfa4b37e30798";
-            };
-
-            meta = {
-              description = ''Run a Stream as a process'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/stream_runner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_runner = stream_runner_1_1_0;
-
-    stream_weaver_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_weaver";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "stream_weaver";
-              version = "0.0.2";
-              sha256 =
-                "6664a585d4afaac63e69f367e79bcc6af886dbebd1f8b66a099f6164973dc168";
-            };
-
-            meta = {
-              description = ''Library for working with streams'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_weaver = stream_weaver_0_0_2;
-
-    stream_x_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_x";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stream_x";
-              version = "0.0.1";
-              sha256 =
-                "68832e9ac5542ca7763e5ea8493f2f775b84d79995fd63eda608ef6f786d1395";
-            };
-
-            meta = {
-              description = ''Extra Elixir Stream utilities'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/koyeung/stream_x";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_x = stream_x_0_0_1;
-
-    strftimerl_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "strftimerl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "strftimerl";
-              version = "0.1.1";
-              sha256 =
-                "c09c7cd6a421bcbc1020c1440a2e73e312b852adbb3034d11f3dffa27d7953b1";
-            };
-
-            meta = {
-              description = ''strftime formatting in erlang'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/gmr/strftimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strftimerl = strftimerl_0_1_1;
-
-    strict_comparison_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "strict_comparison";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "strict_comparison";
-              version = "0.0.1";
-              sha256 =
-                "c033d7c5befc4971171a20c8fce96ae04fc0ebf0bae790b7ee0e7498f9d7997e";
-            };
-
-            meta = {
-              description = ''Provides strict number comparison in both regular
-                            code and guards.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/strict_comparison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strict_comparison = strict_comparison_0_0_1;
-
-    strinx_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "strinx";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "strinx";
-              version = "0.2.1";
-              sha256 =
-                "b3a083b3c0f28d35d283cb5e50b03798840e401eb723d44d8e9137735a3798e7";
-            };
-
-            meta = {
-              longDescription = ''Some string transformation functions for
-                                Elixir. Heavily inspired by ActiveSupport`s
-                                String extensions (Ruby).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/strinx.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strinx = strinx_0_2_1;
-
-    stripex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gateway_0_0_6 }:
-          buildMix ({
-            name = "stripex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "stripex";
-              version = "0.1.0";
-              sha256 =
-                "49959c78e677d3e30edd808cce7a013a7120f337705d0e2fd646c000d9b30853";
-            };
-            beamDeps  = [ gateway_0_0_6 ];
-
-            meta = {
-              longDescription = ''A much more ruby-stripe-like wrapper around
-                                Stripe`s API (built with Poison). Full
-                                documentation can be found at
-                                https://stripe.com/docs/api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/stripex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stripex = stripex_0_1_0;
-
-    struct_fields_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "struct_fields";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "struct_fields";
-              version = "0.3.0";
-              sha256 =
-                "d0ec469ccb59d2207a94cb8e3d3ce9b8bf09f239695e33a0e2447e2a1ff2178b";
-            };
-
-            meta = {
-              description = ''Tiny module to easily get a list of fields for
-                            structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nTraum/struct_fields";
-            };
-          } // packageOverrides)
-      ) {};
-
-    struct_fields = struct_fields_0_3_0;
-
-    styledown_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, execjs_1_1_3 }:
-          buildMix ({
-            name = "styledown";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "styledown";
-              version = "0.0.3";
-              sha256 =
-                "8dc31569257a9d5fe3eb67ca87d0cd29f6d14c4a62191262b41a28fc9bca18fc";
-            };
-            beamDeps  = [ execjs_1_1_3 ];
-
-            meta = {
-              description = ''Elixir integration of Styledown'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/styledown/styledown_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    styledown = styledown_0_0_3;
-
-    supervisor3_1_1_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "supervisor3";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "supervisor3";
-              version = "1.1.1";
-              sha256 =
-                "0d17df36f524f7420d7e1afb0d65054ffdfcd5438de63597d6ab626deb38f94c";
-            };
-
-            meta = {
-              description = ''A copy of supervisor.erl from the R16B Erlang/OTP
-                            with modifications'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/klarna/supervisor3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    supervisor3 = supervisor3_1_1_1;
-
-    supool_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "supool";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "supool";
-              version = "1.5.1";
-              sha256 =
-                "c191d63ff19ae177bf4cfba02303ae4552d8b48ec4133e24053e037513dfae09";
-            };
-
-            meta = {
-              description = ''Erlang Process Pool as a Supervisor'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/supool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    supool = supool_1_5_1;
-
-    swapi_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "swapi";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "swapi";
-              version = "1.0.0";
-              sha256 =
-                "55b40ddd97d632b027463aefccb8d6fa9ffa77f224a25af5565bbaecff5c7a3c";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the Star Wars API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/twhitacre/swapi.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    swapi = swapi_1_0_0;
-
-    sweet_xml_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sweet_xml";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "sweet_xml";
-              version = "0.5.1";
-              sha256 =
-                "3266dedc5e2e6c6b1c5b8a088504a58980632727803de22a5a276da847ea6947";
-            };
-
-            meta = {
-              description = ''An sweet wrapper of :xmerl to help query xml
-                            docs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/sweet_xml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sweet_xml_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sweet_xml";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "sweet_xml";
-              version = "0.6.1";
-              sha256 =
-                "30059e5367a4728ca4b246682adc72618a0a8c997eca6f52a107b2fe3ab4f313";
-            };
-
-            meta = {
-              description = ''An sweet wrapper of :xmerl to help query xml
-                            docs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/sweet_xml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sweet_xml = sweet_xml_0_6_1;
-
-    syn_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "syn";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "syn";
-              version = "1.4.0";
-              sha256 =
-                "cec944ba1768a5142ba496bc84b62ebeab68e8ddd2c8e3263c95f89660275d9c";
-            };
-
-            meta = {
-              description = ''A global Process Registry and Process Group
-                            manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ostinelli/syn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syn = syn_1_4_0;
-
-    syn_osc_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, osc_0_1_1 }:
-          buildMix ({
-            name = "syn_osc";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "syn_osc";
-              version = "0.1.0";
-              sha256 =
-                "7cdb75d8e9a64f3e2baf77bce83d06e0da4361d34a82c3ddda68a6efb3d21df9";
-            };
-            beamDeps  = [ osc_0_1_1 ];
-
-            meta = {
-              description = ''SynOSC encoder/decoder for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/syn_osc_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syn_osc = syn_osc_0_1_0;
-
-    syntactic_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "syntactic";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "syntactic";
-              version = "0.0.2";
-              sha256 =
-                "20adf1f265ebb17ab79d53355b7854c751cee68c73f8a66baca7035da06f65db";
-            };
-
-            meta = {
-              description = ''A collection of Elixir syntactic sugars.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hzamani/elixir-syntactic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syntactic = syntactic_0_0_2;
-
-    synthex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "synthex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "synthex";
-              version = "0.1.0";
-              sha256 =
-                "111932916800698a032b9cf7e883146613acc788d165066210e1e09b00e476bc";
-            };
-
-            meta = {
-              description = ''A signal synthesis library'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/bitgamma/synthex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    synthex = synthex_0_1_0;
-
-    system_env_loader_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "system_env_loader";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "system_env_loader";
-              version = "0.1.0";
-              sha256 =
-                "b271e8dcc857d7e36159554c343ed0af950e9dc8adf0f4cee399228142f68ec6";
-            };
-
-            meta = {
-              longDescription = ''A little package to load (bashlike) files
-                                with exported ENV variables into Elixir
-                                runtime'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/system_env_loader";
-            };
-          } // packageOverrides)
-      ) {};
-
-    system_env_loader = system_env_loader_0_1_0;
-
-    table_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "table";
-              version = "0.0.5";
-              sha256 =
-                "8d1f3ac55512f92eeba1345842278ee6f89d2a4f19be0e272a5f32a958f066d5";
-            };
-
-            meta = {
-              description = ''ascii tables for cli'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/table";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table = table_0_0_5;
-
-    table_rex_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table_rex";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "table_rex";
-              version = "0.4.0";
-              sha256 =
-                "71776a56629b850c647d298577f153faa41d3a98cff41446dd799c6bf30fcf19";
-            };
-
-            meta = {
-              description = ''Generate configurable text-based tables for
-                            display (ASCII & more)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/djm/table_rex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table_rex_0_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table_rex";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "table_rex";
-              version = "0.8.0";
-              sha256 =
-                "8d026afe99ac07f1261eae09334edbf8ec7ce55b812c3a60440ed88db83aad82";
-            };
-
-            meta = {
-              description = ''Generate configurable text-based tables for
-                            display (ASCII & more)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/djm/table_rex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table_rex = table_rex_0_8_0;
-
-    tabula_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tabula";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "tabula";
-              version = "2.0.1";
-              sha256 =
-                "ed66a6d83890eaece976daf1083aa4e0ed9d877e185a1a9ccf1f2c87ee61b49e";
-            };
-
-            meta = {
-              description = ''Pretty printer for maps/structs collections'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aerosol/Tabula";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tabula = tabula_2_0_1;
-
-    tachometer_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tachometer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "tachometer";
-              version = "0.1.1";
-              sha256 =
-                "ead8f6a964b79df0b2948a59c72ec0e2b319bb7684079e7170fa191c78481a42";
-            };
-
-            meta = {
-              description = ''Scheduler instrumentation for BEAM in Elixir'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/pavlos/tachometer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tachometer_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, watcher_1_0_0 }:
-          buildMix ({
-            name = "tachometer";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "tachometer";
-              version = "0.2.0";
-              sha256 =
-                "de5e0bda346e31130f33ca118cdd4afccd0ba6728c571ccae35f65d3020074aa";
-            };
-            beamDeps  = [ watcher_1_0_0 ];
-
-            meta = {
-              description = ''Scheduler instrumentation for BEAM in Elixir'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/pavlos/tachometer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tachometer = tachometer_0_2_0;
-
-    tail_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tail";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "tail";
-              version = "1.0.1";
-              sha256 =
-                "8cec5c708be02aab6094f9c6fdf5b6b0e68c0c3d4f2f9ae341e743d119e9c07f";
-            };
-
-            meta = {
-              longDescription = ''A simple file tail functionality. Calls a
-                                callback function whenever new lines are
-                                detected on a file.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TheFirstAvenger/elixir-tail.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tail = tail_1_0_1;
-
-    tally_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tally";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tally";
-              version = "0.0.1";
-              sha256 =
-                "cd9e07c47f5ce6f01a33a98552aa028e4f9a4c0ec35a2cb16178a9bf37117a36";
-            };
-
-            meta = {
-              description = ''A reporting library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/boudra/tally";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tally = tally_0_0_1;
-
-    tane_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tane";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "tane";
-              version = "0.3.1";
-              sha256 =
-                "8154bcc365b7f21d7ab6ff6d122f6dc110dda05bbfcd7f331a7f514512913e0a";
-            };
-
-            meta = {
-              description = ''Library for Seeding Databases'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/tane";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tane = tane_0_3_1;
-
-    tanuki_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tanuki";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "tanuki";
-              version = "0.2.0";
-              sha256 =
-                "f499d6bcb80fc29f2d0b68d16d8309cb25589583b1f4d0eb23cbc4fe5afbab8c";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''GitLab API wrapper in Elixir, named after GitLabs
-                            mascot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ZJvandeWeg/Tanuki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tanuki = tanuki_0_2_0;
-
-    tap_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tap";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "tap";
-              version = "0.1.4";
-              sha256 =
-                "573cba12e7152f6e577fd485e9f0d834bdf1ea60229123bbfbaefcfd91879218";
-            };
-
-            meta = {
-              description = ''Elixir tracing'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/tap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tap = tap_0_1_4;
-
-    tau_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tau";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "tau";
-              version = "0.0.6";
-              sha256 =
-                "6469f53ae39221f045b6dbd8199eaa95ed5f6c1252b063bc6edd1f21ae2ad0e7";
-            };
-
-            meta = {
-              description = ''The mathematical constant tau'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/FranklinChen/tau";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tau = tau_0_0_6;
-
-    taxon_search_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "taxon_search";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "taxon_search";
-              version = "0.0.1";
-              sha256 =
-                "eb185015a4f238e8a540f60d187edb28b19e643526e595f4cb0e4b553bdf1a6f";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''TaxonSearch is a tool for looking up species
-                            names in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/annejohnson/taxon_search";
-            };
-          } // packageOverrides)
-      ) {};
-
-    taxon_search = taxon_search_0_0_1;
-
-    tds_0_5_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "tds";
-            version = "0.5.4";
-            src = fetchHex {
-              pkg = "tds";
-              version = "0.5.4";
-              sha256 =
-                "110eb8d8a58d0d5fe629bfe75dacb56fa14bde441d2baffbfa2bb0c65ee66cba";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''MSSQL / TDS Driver for Ecto.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/livehelpnow/tds";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tds = tds_0_5_4;
-
-    tea_crypto_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "tea_crypto";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "tea_crypto";
-              version = "1.0.0";
-              sha256 =
-                "0e7e60d0afe79f0624faa8a358a3a00c912cfa548f3632383927abca4db29cc6";
-            };
-
-            meta = {
-              description = ''A TEA implementation in Erlang. '';
-
-              homepage = "https://github.com/keichan34/tea_crypto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tea_crypto = tea_crypto_1_0_0;
-
-    teacup_0_3_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "teacup";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "teacup";
-              version = "0.3.4";
-              sha256 =
-                "59495d566e810f481ec22b263e8bf0ed90efea9c9272e4980e36d921cd6ab5f9";
-            };
-
-            meta = {
-              description = ''Simple TCP client library for Erlang'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    teacup = teacup_0_3_4;
-
-    teacup_nats_0_4_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          teacup_0_3_4,
-          nats_msg_0_4_1,
-          jsx_2_8_0
-        }:
-          buildRebar3 ({
-            name = "teacup_nats";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "teacup_nats";
-              version = "0.4.0";
-              sha256 =
-                "f0f891f8f9b384517380d643ecf2121a9e383fd05416997778597c5647a9dd6f";
-            };
-
-            beamDeps  = [ teacup_0_3_4 nats_msg_0_4_1 jsx_2_8_0 ];
-
-            meta = {
-              description = ''Teacup based NATS Client for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/yuce/teacup_nats.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    teacup_nats = teacup_nats_0_4_0;
-
-    teamcity_exunit_formatter_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "teamcity_exunit_formatter";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "teamcity_exunit_formatter";
-              version = "0.3.0";
-              sha256 =
-                "0d209ca85fcd3d8112be29288988ce6329b2b2e7c10cd7deab636508716de82f";
-            };
-
-            meta = {
-              longDescription = ''A formatter for Elixirs ExUnit that formats
-                                as TeamCity Service Messages. Will let you track
-                                test results in TeamCitys UI'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lixhq/teamcity-exunit-formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    teamcity_exunit_formatter = teamcity_exunit_formatter_0_3_0;
-
-    telegram_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "telegram";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "telegram";
-              version = "0.0.3";
-              sha256 =
-                "ad7b74cec90ade9090a9056aa69c055398fd3f60352b50c732849f06c503287d";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Simple module for parsing Telegram bot updates'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/telegram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telegram = telegram_0_0_3;
-
-    telehashname_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "telehashname";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "telehashname";
-              version = "0.0.2";
-              sha256 =
-                "301a92653dafa69f118fdb8b8ca42259ac2e82441175231e1d67afcd26409f71";
-            };
-
-            meta = {
-              description = ''Telehash hashname implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/telehashname_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telehashname = telehashname_0_0_2;
-
-    telephonist_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          immortal_0_2_0,
-          ex_twiml_2_1_0
-        }:
-          buildMix ({
-            name = "telephonist";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "telephonist";
-              version = "0.1.2";
-              sha256 =
-                "c89922cfc4137dace4fd6458a6ff32f624dd9775b2e90efffbd864cdaa537a3e";
-            };
-            beamDeps  = [ immortal_0_2_0 ex_twiml_2_1_0 ];
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/telephonist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telephonist = telephonist_0_1_2;
-
-    temp_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "temp";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "temp";
-              version = "0.4.0";
-              sha256 =
-                "1a852035e1c8bb9b33d00d322161689553d412fea783617afbd22112d481ffff";
-            };
-
-            meta = {
-              description = ''An Elixir module to easily create and use
-                            temporary files and directories.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-temp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    temp = temp_0_4_0;
-
-    tempdir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tempdir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tempdir";
-              version = "0.0.1";
-              sha256 =
-                "fa658ebbdbddfa729b8276652949d20ac2fbb4eff0261a61fb5f9c96fc943ffd";
-            };
-
-            meta = {
-              description = ''Simple Elixir Library for creating self-cleaning
-                            tmp directories'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewvy/tempdir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tempdir = tempdir_0_0_1;
-
-    tempfile_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tempfile";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "tempfile";
-              version = "0.1.0";
-              sha256 =
-                "e6e505207616d1bb77e85ac4b4d9a11437ed1eb58eb06e99c582498602a9a45b";
-            };
-
-            meta = {
-              description = ''Auto cleaning and randomly named temporary
-                            files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sorentwo/tempfile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tempfile = tempfile_0_1_0;
-
-    temporary_env_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "temporary_env";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "temporary_env";
-              version = "1.0.1";
-              sha256 =
-                "64bd9bade983bbdbb0c59c35343faa4c86d5533a8fe596891be84d52a41bdfe0";
-            };
-
-            meta = {
-              description = ''A tool for managing application env state within
-                            tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/temporary-env";
-            };
-          } // packageOverrides)
-      ) {};
-
-    temporary_env = temporary_env_1_0_1;
-
-    tentabucket_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "tentabucket";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tentabucket";
-              version = "0.0.1";
-              sha256 =
-                "5784dad17f973efcc3c4ea7672927095864d58af1f830614e4c8f06c63d4822d";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Bitbucket API client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duksis/tentabucket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tentabucket = tentabucket_0_0_1;
-
-    tentacat_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "tentacat";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "tentacat";
-              version = "0.5.1";
-              sha256 =
-                "eabbffa3f2529848bb44ecdd1c140fdd06fb382a9c76a5f3ed018b87c2691946";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the GitHub API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/tentacat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tentacat = tentacat_0_5_1;
-
-    term_table_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "term_table";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "term_table";
-              version = "0.0.2";
-              sha256 =
-                "e0a39ef8fa4343ded18bf53b381c12ae557ca2982e24351788db457b38bd7924";
-            };
-
-            meta = {
-              description = ''Pretty terminal table for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ske77/term_table";
-            };
-          } // packageOverrides)
-      ) {};
-
-    term_table = term_table_0_0_2;
-
-    termcap_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "termcap";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "termcap";
-              version = "0.1.0";
-              sha256 =
-                "8c5167d68759bd1cd020eeaf5fd94153430fd19fa5a5fdeeb0b3129f0aba2a21";
-            };
-
-            meta = {
-              description = ''Pure erlang termcap library'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    termcap = termcap_0_1_0;
-
-    tesla_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "tesla";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "tesla";
-              version = "0.2.1";
-              sha256 =
-                "02193ace70596445a5924e33a7e89ee15378dde07197b59bb5fba9217d8afc10";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''HTTP client library, with support for middleware
-                            and multiple adapters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/monterail/tesla";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tesla = tesla_0_2_1;
-
-    test_times_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "test_times";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "test_times";
-              version = "1.0.0";
-              sha256 =
-                "be468ea6002d247f743bd005c4ed71b5f86ae0e9b112ab52fea8c4f5db71cced";
-            };
-
-            meta = {
-              description = ''Report individual test times in ascending
-                            order'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pinfieldharm/test_times";
-            };
-          } // packageOverrides)
-      ) {};
-
-    test_times = test_times_1_0_0;
-
-    tfidf_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tfidf";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "tfidf";
-              version = "0.1.2";
-              sha256 =
-                "9dc3b778a31998671a3a3e91d5abcf1c7e9794e39d97d4eba4ce4150d80e2b36";
-            };
-
-            meta = {
-              description = ''Elixir implementation of tf-idf (Term
-                            frequency-inverse document frequency)'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/OCannings/tf-idf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tfidf = tfidf_0_1_2;
-
-    the_fuzz_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "the_fuzz";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "the_fuzz";
-              version = "0.3.0";
-              sha256 =
-                "f959818716b25f2c535648e9dc6dc8558c6b9fce5f337e1fcf11f913178087b8";
-            };
-
-            meta = {
-              longDescription = ''String metrics and phonetic algorithms for
-                                Elixir (e.g. Dice/Sorensen, Hamming, Jaccard,
-                                Jaro, Jaro-Winkler, Levenshtein, Metaphone,
-                                N-Gram, NYSIIS, Overlap, Ratcliff/Obershelp,
-                                Refined NYSIIS, Refined Soundex, Soundex,
-                                Tversky, Tanimoto, Weighted Levenshtein). Based
-                                Heavily on StringMetrics for Scala written by
-                                Rocky Madden.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/smashedtoatoms/the_fuzz";
-            };
-          } // packageOverrides)
-      ) {};
-
-    the_fuzz = the_fuzz_0_3_0;
-
-    thermex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thermex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "thermex";
-              version = "0.1.0";
-              sha256 =
-                "0fd2767f5fd6a73ab57d65f5797a84675341d923b5a4c10652223c4969846656";
-            };
-
-            meta = {
-              description = ''An OTP application for watching temperature
-                            sensors'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    thermex = thermex_0_1_0;
-
-    thoth_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thoth";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "thoth";
-              version = "0.0.5";
-              sha256 =
-                "2712b42e23e730ec8e9a226e1d9f86fb003d60e7b44b0674c9d44132a0fc3a83";
-            };
-
-            meta = {
-              description = ''An Elixir digraph inspired local Graph DB'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/oakfang/thoth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thoth = thoth_0_0_5;
-
-    thrash_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thrash";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "thrash";
-              version = "0.1.0";
-              sha256 =
-                "cebcabe309682f04d030f24f71498579fd16f688965cc5e29262a660082953e7";
-            };
-
-            meta = {
-              description = ''Fast serializer/deserializer for Apache Thrift`s
-                            binary protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dantswain/thrash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thrash = thrash_0_1_0;
-
-    thrift_1_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thrift";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "thrift";
-              version = "1.2.1";
-              sha256 =
-                "52dbe7126498efa96039b0b7689a96295af244cb6203f891f1b4b10c1f7f539d";
-            };
-
-            meta = {
-              longDescription = ''A collection of utilities for working with
-                                Thrift in Elixir. Provides a copy of the Apache
-                                Thrift Erlang runtime.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pinterest/elixir-thrift";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thrift = thrift_1_2_1;
-
-    tiled_map_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "tiled_map";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tiled_map";
-              version = "0.0.1";
-              sha256 =
-                "c285c5293bb97d0e526c1cab14cdcf4b17dd12a76e2a0d707f1b71a4fcf9501e";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Basic parsing of JSON Map Format from Tiled map
-                            editor'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kentdahl/tiled_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tiled_map = tiled_map_0_0_1;
-
-    time_ago_words_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "time_ago_words";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "time_ago_words";
-              version = "0.0.2";
-              sha256 =
-                "8cf37434618123ce09ebbba90f9b86eca0fdfdce6cd2887b2a03e5d171515f50";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              longDescription = ''A simple function to return the approximate
-                                difference between two times using words.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/midwire/time_ago_words";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_ago_words = time_ago_words_0_0_2;
-
-    time_distance_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "time_distance";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "time_distance";
-              version = "0.0.1";
-              sha256 =
-                "41ebe658882f2defd2cd472960e5a31b18d7ea2a4520c06907f7f2093d030e58";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''Show the difference between two specified
-                                times, or between a specified time and now in
-                                words (eg. 1 week ago)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aussiegeek/time_distance";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_distance = time_distance_0_0_1;
-
-    time_seer_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "time_seer";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "time_seer";
-              version = "0.0.6";
-              sha256 =
-                "b5cfe4b5126deef913a91463c735c214efdde1cfb57e9303444d1a687fde53f5";
-            };
-
-            meta = {
-              longDescription = ''TimeSeer is an Elixir library for parsing
-                                dates and times and returning Erlang style date
-                                and time tuples. Eg. \"15:12:07\" \"2:42pm\"
-                                \"24/12/2014\" will become {15,12,7}, {14,42,0},
-                                and {2014,12,24} respectively.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/time_seer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_seer = time_seer_0_0_6;
-
-    timex_0_19_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          combine_0_8_0
-        }:
-          buildMix ({
-            name = "timex";
-            version = "0.19.5";
-            src = fetchHex {
-              pkg = "timex";
-              version = "0.19.5";
-              sha256 =
-                "be1985ab99a6aebc3672b1d82b27e409c9a7af4658f3cc5900fa8754e159b02c";
-            };
-            beamDeps  = [ tzdata_0_5_8 combine_0_8_0 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_0_1,
-          combine_0_8_0
-        }:
-          buildMix ({
-            name = "timex";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "timex";
-              version = "1.0.2";
-              sha256 =
-                "cbc359d21b5e2e694ab437e614bb4198af5be1031da4969dfd7ddf1b56064c88";
-            };
-            beamDeps  = [ tzdata_0_0_1 combine_0_8_0 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex_2_1_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          gettext_0_11_0,
-          combine_0_8_0,
-          tzdata_0_0_1
-        }:
-          buildMix ({
-            name = "timex";
-            version = "2.1.6";
-            src = fetchHex {
-              pkg = "timex";
-              version = "2.1.6";
-              sha256 =
-                "c0e3b74beb0734f0602eed0de5bbcce984fc435f258c974bde4169a407330d12";
-            };
-            beamDeps  = [ gettext_0_11_0 combine_0_8_0 tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex = timex_2_1_6;
-
-    tinymt_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tinymt";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "tinymt";
-              version = "0.3.1";
-              sha256 =
-                "9de8fcedf254661bc4aa550aac317e28be35d4a5d91adf3fa3689dfad6cc1e5a";
-            };
-
-            meta = {
-              description = ''Tiny Mersenne Twister (TinyMT) for Erlang'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/jj1bdx/tinymt-erlang/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tinymt = tinymt_0_3_1;
-
-    tipo_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tipo";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "tipo";
-              version = "0.0.3";
-              sha256 =
-                "3feeb200a1806b41afe6404b09493fb98a140ab0c642c2c0328c96cbf9cf66c8";
-            };
-
-            meta = {
-              description = ''Type checking for primitive elixir data types'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jwaterfaucett/tipo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tipo = tipo_0_0_3;
-
-    tirexs_0_8_0_beta6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_2_0 }:
-          buildMix ({
-            name = "tirexs";
-            version = "0.8.0-beta6";
-            src = fetchHex {
-              pkg = "tirexs";
-              version = "0.8.0-beta6";
-              sha256 =
-                "eee9deb8bb020f482ac9e6e77505819931b2db1050e7b999643bf9ca73beab15";
-            };
-            beamDeps  = [ exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An Elixir flavored DSL for building JSON based
-                            queries to Elasticsearch engine'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Zatvobor/tirexs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tirexs_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_2_0 }:
-          buildMix ({
-            name = "tirexs";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "tirexs";
-              version = "0.8.2";
-              sha256 =
-                "0412e42030723f179579987bb9f6281cb0dc0db95134296058e2e95554a5b198";
-            };
-            beamDeps  = [ exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An Elixir flavored DSL for building JSON based
-                            queries to Elasticsearch engine'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Zatvobor/tirexs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tirexs = tirexs_0_8_2;
-
-    tlv_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tlv";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "tlv";
-              version = "0.1.0";
-              sha256 =
-                "bc040b662594ad6c83f1d931ee2e74f8d00697afa215087297f64546a0c500e9";
-            };
-
-            meta = {
-              description = ''Encodes/Decodes BER-TLVs structures'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitgamma/elixir_tlv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tlv = tlv_0_1_0;
-
-    tmdb_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          httpoison_0_8_3,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "tmdb";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "tmdb";
-              version = "0.0.6";
-              sha256 =
-                "4cbad6ffa556a0eeecb22c3960d47451e918313e5651808439f039403dd38d3a";
-            };
-            beamDeps  = [ poison_1_4_0 httpoison_0_8_3 exjsx_3_1_0 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    tmdb = tmdb_0_0_6;
-
-    todo_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "todo";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "todo";
-              version = "1.2.0";
-              sha256 =
-                "92b0da31ee335a4caff5bb91950688fc3195c2eb78cc70be80e3b616f2be88bc";
-            };
-
-            meta = {
-              description = ''A small TODO comments utility.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/elixir-todo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    todo = todo_1_2_0;
-
-    togglex_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "togglex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "togglex";
-              version = "0.2.0";
-              sha256 =
-                "725b4299c5aad1c87900e667d6a01c88ba18f8e545283f31d2f726745c174e30";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the Toggl API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/diacode/togglex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    togglex = togglex_0_2_0;
-
-    toglx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          togglex_0_2_0,
-          configparser_ex_0_2_1,
-          argument_parser_0_1_3
-        }:
-          buildMix ({
-            name = "toglx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "toglx";
-              version = "0.0.1";
-              sha256 =
-                "e6952e6955f5d61d479254a9b4a99831c4d73237e6fc8b39eeea6e4277979ba5";
-            };
-            beamDeps  = [
-                          togglex_0_2_0
-                          configparser_ex_0_2_1
-                          argument_parser_0_1_3
-                        ];
-
-            meta = {
-              description = ''Toggl(ex) time tracking client'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/kennyballou/toglx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    toglx = toglx_0_0_1;
-
-    tonic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tonic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tonic";
-              version = "0.0.1";
-              sha256 =
-                "a94df1788fe102a001ec565846cf8b15d0eacc2e1644bf21c8c510b8294d24a6";
-            };
-
-            meta = {
-              description = ''A DSL for conveniently loading binary
-                            data/files.'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/Tonic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tonic = tonic_0_0_1;
-
-    toniq_1_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          exredis_0_2_4
-        }:
-          buildMix ({
-            name = "toniq";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "toniq";
-              version = "1.0.5";
-              sha256 =
-                "aa67c43131393872d82d53b9a8bf4a3d5b97c52a6588d53aaa61c29828e0664a";
-            };
-            beamDeps  = [ uuid_1_1_4 exredis_0_2_4 ];
-
-            meta = {
-              longDescription = ''Simple and reliable background job processing
-                                library for Elixir. Has persistence, retries,
-                                concurrency limiting, error handling and is
-                                heroku friendly.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joakimk/toniq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    toniq = toniq_1_0_5;
-
-    towel_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "towel";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "towel";
-              version = "0.2.1";
-              sha256 =
-                "e7b7c5e7e6d8df9e781e130d1defccc9a27f888f7b95c132d8ccd1d6957d3b7a";
-            };
-
-            meta = {
-              description = ''A delightfully simple monad library that`s
-                            written for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/towel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    towel = towel_0_2_1;
-
-    tqdm_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tqdm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "tqdm";
-              version = "0.0.2";
-              sha256 =
-                "2791905b98c0d3371ebf98fd7185d0af58ca8d2911182d908b970afab0b8801d";
-            };
-
-            meta = {
-              longDescription = ''Add a progress bar to your enumerables
-                                (Lists, Maps, Streams, Ranges, etc.) in a
-                                second.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/tqdm_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tqdm = tqdm_0_0_2;
-
-    tracing_helper_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tracing_helper";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "tracing_helper";
-              version = "0.0.3";
-              sha256 =
-                "a1d22c5901ed688acab63c0195aba2826f774a8d7e7f1b882878b715cd4688fb";
-            };
-
-            meta = {
-              description = ''TracingHelper is a helper module with predefined
-                            tracing functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrzejsliwa/tracing_helper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tracing_helper = tracing_helper_0_0_3;
-
-    trackline_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          exml_0_1_0,
-          exmerl_0_1_1,
-          erlsom_1_4_1,
-          apex_0_3_7
-        }:
-          buildMix ({
-            name = "trackline";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "trackline";
-              version = "0.0.1";
-              sha256 =
-                "42ee5d56b2ec0c55715e7f03a9aacd6d7ce8543519e9ec696335348eb1a24f7c";
-            };
-            beamDeps  = [
-                          timex_1_0_2
-                          exml_0_1_0
-                          exmerl_0_1_1
-                          erlsom_1_4_1
-                          apex_0_3_7
-                        ];
-
-            meta = {
-              description = ''A GPX parser for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewhao/trackline";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trackline = trackline_0_0_1;
-
-    trackstar_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          erlsom_1_4_1
-        }:
-          buildMix ({
-            name = "trackstar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "trackstar";
-              version = "0.0.1";
-              sha256 =
-                "04a7634755da273b640737c8bef015f5ef4360524940fa763c3100e13db47cd4";
-            };
-            beamDeps  = [ poison_2_1_0 erlsom_1_4_1 ];
-
-            meta = {
-              longDescription = ''Trackstar is a GPX parser. Specify the path
-                                to a GPX file and it will output a GeoJSON of
-                                the track as a LineString. It currently works
-                                with Strava-exported GPX files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andydangerous/trackstar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trackstar = trackstar_0_0_1;
-
-    tradie_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tradie";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tradie";
-              version = "0.0.1";
-              sha256 =
-                "d317c61c9bd9ab46184df8036057855e676d8598905c6708b9a9e26af3b7fd04";
-            };
-
-            meta = {
-              longDescription = ''Execute multiple tasks in parallel, allowing
-                                retry for each task, and a global timeout. Based
-                                loosely on
-                                http://theerlangelist.com/article/beyond_taskasync.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/madlep/tradie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tradie = tradie_0_0_1;
-
-    trailing_format_plug_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "trailing_format_plug";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "trailing_format_plug";
-              version = "0.0.4";
-              sha256 =
-                "16e2485b7069c8e025460d183d4711d9c5bbf46ae532dde859cc6623d12bfc71";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''An elixir plug to support legacy APIs that
-                                use a rails-like trailing format:
-                                http://api.dev/resources.format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mschae/trailing_format_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trailing_format_plug = trailing_format_plug_0_0_4;
-
-    transducer_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "transducer";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "transducer";
-              version = "0.1.0";
-              sha256 =
-                "89533238e42bace715485c5113bb5c39beecb333c00f4624ae85d5c0f6e96db4";
-            };
-
-            meta = {
-              longDescription = ''Composable algorithmic transformations.
-                                Transducers let you combine reduction operations
-                                like `map`, `filter`, `take_while`, `take`, and
-                                so on into a single reducing function. As with
-                                Stream, but in contrast to Enum, all operations
-                                are performed for each item before the next item
-                                in the enumerable is processed. One difference
-                                with the Stream module is that the transducers`
-                                reducing functions don`t have to produce an
-                                enumerable, while Stream module transformations
-                                always do.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/garyposter/elixir-transducer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    transducer = transducer_0_1_0;
-
-    travis_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "travis_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "travis_ex";
-              version = "0.0.2";
-              sha256 =
-                "80589ec01596dfc1e02cef61ce0adc3c9b73977b56a528e214c37af079efa10a";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Travis-ci API client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duksis/travis_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    travis_ex = travis_ex_0_0_2;
-
-    trello_1_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "trello";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "trello";
-              version = "1.3.0";
-              sha256 =
-                "776d6514b766a9290b102bf8682dd13d1b63b1cab68fd73880a6da3b81014cd6";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Trello wrapper for elixir api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mikaak/trello-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trello = trello_1_3_0;
-
-    trie_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "trie";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "trie";
-              version = "1.4.0";
-              sha256 =
-                "befef786527fd17678716f9dc86a064a11811e7087094967204715804a23ea4b";
-            };
-
-            meta = {
-              description = ''Erlang Trie Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/trie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trie_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "trie";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "trie";
-              version = "1.5.1";
-              sha256 =
-                "4b845dccfca8962b90584e98d270e2ff43e2e181bb046c4aae0e0f457679f98d";
-            };
-
-            meta = {
-              description = ''Erlang Trie Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/trie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trie = trie_1_5_1;
-
-    trot_0_5_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_heartbeat_0_2_0,
-          plug_0_14_0,
-          cowboy_1_0_4,
-          calliope_0_3_0
-        }:
-          buildMix ({
-            name = "trot";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "trot";
-              version = "0.5.3";
-              sha256 =
-                "982a4ff3a0fffe1e9cc752313fd4c45487fdd484dde7265728da4579c29354e1";
-            };
-            beamDeps  = [
-                          poison_1_5_2
-                          plug_heartbeat_0_2_0
-                          plug_0_14_0
-                          cowboy_1_0_4
-                          calliope_0_3_0
-                        ];
-
-            meta = {
-              description = ''A web micro-framework based on Plug and
-                            Cowboy.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hexedpackets/trot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trot = trot_0_5_3;
-
-    tsuru_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "tsuru";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "tsuru";
-              version = "1.4.0";
-              sha256 =
-                "7825d3b530b46a8c4ff93b3c83a31d0f2ce042ddc741a89d3776edfd9f2828f7";
-            };
-
-            meta = {
-              description = ''A collection of useful tools for Erlang
-                            applications'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    tsuru = tsuru_1_4_0;
-
-    tubex_0_0_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tubex";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "tubex";
-              version = "0.0.7";
-              sha256 =
-                "8b34ade3d0484ee5ebb1155c16454d545284d0c215bf999a206cbcc198acea83";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper of YouTube Data API v3'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/tubex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tubex = tubex_0_0_7;
-
-    tunnerl_0_2_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_2_1,
-          lager_3_0_2
-        }:
-          buildRebar3 ({
-            name = "tunnerl";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "tunnerl";
-              version = "0.2.2";
-              sha256 =
-                "8b630b43d77f5c92901d6a1909be7ce3c8cd5668fa05263e2fcdf73b00d63bd0";
-            };
-
-            beamDeps  = [ ranch_1_2_1 lager_3_0_2 ];
-
-            meta = {
-              description = ''SOCKS4 and SOCKS5 proxy server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/surik/tunnerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tunnerl = tunnerl_0_2_2;
-
-    tvdb_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tvdb";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tvdb";
-              version = "0.0.1";
-              sha256 =
-                "627d0ce97938039748960550abe9bebe1f55be39701f85e85ff9f2b6e4af9f00";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper for TVDb API'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/markman123/tvdb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tvdb = tvdb_0_0_1;
-
-    twilex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "twilex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "twilex";
-              version = "0.0.2";
-              sha256 =
-                "b032ee0327c90a9a0545756d771778129d6ded10dfade86b2c8dd1eb80fb56de";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Twilio client for elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hisea/twilex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    twilex = twilex_0_0_2;
-
-    type_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "type";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "type";
-              version = "0.0.2";
-              sha256 =
-                "1553ec18df7781cc1144477e075ac3c907aa7900db308d9d43cf7cfbeeb7a8ac";
-            };
-
-            meta = {
-              description = ''A module for checking the type of an argument'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffreybaird/type";
-            };
-          } // packageOverrides)
-      ) {};
-
-    type = type_0_0_2;
-
-    typeformx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "typeformx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "typeformx";
-              version = "0.0.1";
-              sha256 =
-                "8f6f1613f53f8c5012eb6d05276f5d305bdb9d4b0e94926680b536d0e1d94a62";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client library for the Typeform API
-                            (typeform.io)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/netflakes/TypeformX";
-            };
-          } // packageOverrides)
-      ) {};
-
-    typeformx = typeformx_0_0_1;
-
-    tzdata_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.0.1";
-              sha256 =
-                "67020b94ec70faceef822dc5bffea0361c4fc9d812c8872c4edb6a2084b16b25";
-            };
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata_0_1_201603 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.1.201603";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.1.201603";
-              sha256 =
-                "77598cedfb09cfdfb8f431c51131eb84229c46b2c5a7eebdf5904b2b8f003225";
-            };
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata_0_5_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.5.8";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.5.8";
-              sha256 =
-                "218ab89e51fb297f1e4bf512e9e551b8214d361e61b7683179da303ba5be8c60";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata = tzdata_0_5_8;
-
-    ua_classifier_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ua_classifier";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ua_classifier";
-              version = "1.0.0";
-              sha256 =
-                "59c3b3ed96a10fe05e91202a3ca983b40215c41dde0733fe6dd8a6841b6e315d";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''Erlang User Agent Classifier - NIF for
-                            WeatherChannel dClass'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/zotonic/ua_classifier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ua_classifier = ua_classifier_1_0_0;
-
-    ua_inspector_0_11_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "ua_inspector";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "ua_inspector";
-              version = "0.11.1";
-              sha256 =
-                "943787d2a766ed8fd50e30f6787c9775304bd1215ffbdb5fe0b445153af8d02b";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''User agent parser library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixytics/ua_inspector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ua_inspector = ua_inspector_0_11_1;
-
-    uber_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uber";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "uber";
-              version = "0.1.0";
-              sha256 =
-                "bf3dde22ad6207577ea1093649394d968ef94725fdc56d5ea6afd22d12886d9a";
-            };
-
-            meta = {
-              description = ''Utilities for working with the UBER hypermedia
-                            format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gamache/uber.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uber = uber_0_1_0;
-
-    udpflux_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "udpflux";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "udpflux";
-              version = "0.0.2";
-              sha256 =
-                "0a6d0003b818364bad9ed8bc55b8789b8fc129d055799cd517a551445fe0649e";
-            };
-
-            meta = {
-              description = ''An opinionated UDP-only InfluxDB client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/timbuchwaldt/udpflux";
-            };
-          } // packageOverrides)
-      ) {};
-
-    udpflux = udpflux_0_0_2;
-
-    ueberauth_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "ueberauth";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ueberauth";
-              version = "0.2.0";
-              sha256 =
-                "d6ee9cfe96be0e2b4005cb482b8e29c20ae0d6f7332ea9f686397c4ab20bf4de";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Authentication System for Plug-based
-                            Web Applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth = ueberauth_0_2_0;
-
-    ueberauth_identity_0_2_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ueberauth_0_2_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "ueberauth_identity";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "ueberauth_identity";
-              version = "0.2.3";
-              sha256 =
-                "ebbb4d7fe6c94053486a32794ab2a561f004f01fd1099c7e0a69901dc32c51ca";
-            };
-            beamDeps  = [ ueberauth_0_2_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''An Ueberauth strategy for basic
-                            username/password'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth_identity";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth_identity = ueberauth_identity_0_2_3;
-
-    ueberauth_twitter_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ueberauth_0_2_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ueberauth_twitter";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "ueberauth_twitter";
-              version = "0.2.2";
-              sha256 =
-                "911a227b8290e8d65cee8d45015477d4ea51dbcf637c8a41ff88b34fcc5ab65a";
-            };
-            beamDeps  = [ ueberauth_0_2_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Uberauth strategy for Twitter
-                            authentication.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth_twitter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth_twitter = ueberauth_twitter_0_2_2;
-
-    uk_postcode_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uk_postcode";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "uk_postcode";
-              version = "0.3.0";
-              sha256 =
-                "a03250f6896bef8851f243856d36952e7776a8d2fa654aa4d3336d841cbb59f8";
-            };
-
-            meta = {
-              longDescription = ''UK postcode parsing and validation library.
-                                Validate full postcodes or parts of a postcode,
-                                and can extract parts of a full postcode. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KushalP/uk_postcode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uk_postcode = uk_postcode_0_3_0;
-
-    unicode_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_2_1 }:
-          buildMix ({
-            name = "unicode";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "unicode";
-              version = "0.0.1";
-              sha256 =
-                "646bd8c3c9967a26b14aaa167e1bd08451d9db885d2736046b5fe5ada04bd2d6";
-            };
-            beamDeps  = [ earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''The _Unicode_ package provides functionality
-                                to check properties of unicode codepoints,
-                                graphemes and strings. This is often useful when
-                                checking or validating the contents of strings
-                                in situations where using Regular Expressions is
-                                not necessary and/or too slow. The Unicode
-                                package is based on Version 8.0.0 of the Unicode
-                                standard.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Qqwy/elixir-unicode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    unicode = unicode_0_0_1;
-
-    unit_fun_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "unit_fun";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "unit_fun";
-              version = "0.5.1";
-              sha256 =
-                "adc90b1e6363234d2507b6f1af08186831fb556ee8c8cb62d13fb03b8c3cc93c";
-            };
-
-            meta = {
-              description = ''Library for adding units/dimensions to numeric
-                            types.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/unit_fun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    unit_fun = unit_fun_0_5_1;
-
-    units_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "units";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "units";
-              version = "1.0.0";
-              sha256 =
-                "edac76cb036b993ef35781701fc561b4a6c95e4d7c89dba0d6f96ae3077b8ffe";
-            };
-
-            meta = {
-              description = ''Common unit conversions for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/solatis/units";
-            };
-          } // packageOverrides)
-      ) {};
-
-    units = units_1_0_0;
-
-    untappd_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "untappd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "untappd";
-              version = "0.0.1";
-              sha256 =
-                "f4560612cd78002202234660cf248f004c91ade8c10dc87ad136eb5d8f49d66a";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir wrapper for the Untappd API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nimi/untappd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    untappd = untappd_0_0_1;
-
-    until_then_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, calendar_0_14_2 }:
-          buildMix ({
-            name = "until_then";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "until_then";
-              version = "0.0.1";
-              sha256 =
-                "9bc5c61346d18a770efc25e5f3cb55c9cb68fe2d7ff179964ac8b314d779c111";
-            };
-            beamDeps  = [ calendar_0_14_2 ];
-
-            meta = {
-              longDescription = ''This library tells you how many milliseconds
-                                to the next occurrence of a scheduled event.
-                                This is very convenient to combine with
-                                `:timer.sleep/1` or `Process.send_after/3` as a
-                                means of repeatedly invoking some code on a
-                                schedule and not having those invocations
-                                drift.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NoRedInk/until_then";
-            };
-          } // packageOverrides)
-      ) {};
-
-    until_then = until_then_0_0_1;
-
-    uri_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "uri";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "uri";
-              version = "0.1.0";
-              sha256 =
-                "3833c3b5745fc0822df86c3a3591219048026fea8a535223b440d26029218996";
-            };
-
-            meta = {
-              description = ''URI Parsing/Encoding Library'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    uri = uri_0_1_0;
-
-    urilib_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "urilib";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "urilib";
-              version = "0.1.1";
-              sha256 =
-                "6000180e6977263e5996921f243e0c152aad29c87d202f8a650acb412c5aa758";
-            };
-
-            meta = {
-              description = ''A RFC-3986 URI Library for parsing and building
-                            URIs'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/gmr/urilib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    urilib = urilib_0_1_1;
-
-    url_tincture_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "url_tincture";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "url_tincture";
-              version = "0.0.6";
-              sha256 =
-                "00a00bfca54cea1f5d9b340c90d9ed52ad86fe7bc8b657f3cc27c7404c33c1f5";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A package to reduce extended forms of URLs to a
-                            canonical reference'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigwaterman/url_tincture";
-            };
-          } // packageOverrides)
-      ) {};
-
-    url_tincture = url_tincture_0_0_6;
-
-    url_unroller_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "url_unroller";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "url_unroller";
-              version = "0.0.3";
-              sha256 =
-                "65a46b7335060111bdc5ad164548361f3c7ff5a39ff9493a9109dd20b98498b9";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple url unroller/unshortener'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/semanticart/url_unroller";
-            };
-          } // packageOverrides)
-      ) {};
-
-    url_unroller = url_unroller_0_0_3;
-
-    usefulness_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "usefulness";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "usefulness";
-              version = "0.0.6";
-              sha256 =
-                "993b6d5ef4a8c4a4c254c92c49290f245ea34f071a9acd100abd654b381ec238";
-            };
-
-            meta = {
-              description = ''Useful things'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/b-filip/usefulness";
-            };
-          } // packageOverrides)
-      ) {};
-
-    usefulness = usefulness_0_0_6;
-
-    user_agent_parser_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "user_agent_parser";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "user_agent_parser";
-              version = "1.0.1";
-              sha256 =
-                "ba049dfe5d9c611a0ba3ac13c9ef0d17ea49e8bdfab68c54e7415423f32aa74f";
-            };
-
-            meta = {
-              longDescription = ''A simple Elixir package for parsing user
-                                agent strings with the help of BrowserScope`s UA
-                                database'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/romul/uap-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    user_agent_parser = user_agent_parser_1_0_1;
-
-    uuid_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uuid";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "uuid";
-              version = "0.1.5";
-              sha256 =
-                "5cfb91972f5cacb0bcb2f00414d5747dd575d84b864c96f668ab3b729cc08422";
-            };
-
-            meta = {
-              description = ''UUID generator and utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zyro/elixir-uuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uuid_1_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uuid";
-            version = "1.1.4";
-            src = fetchHex {
-              pkg = "uuid";
-              version = "1.1.4";
-              sha256 =
-                "55ceed2fe12062e3e0bf19baa118d0ac64eb6edd79f242aaaf090236f09965f0";
-            };
-
-            meta = {
-              description = ''UUID generator and utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zyro/elixir-uuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uuid = uuid_1_1_4;
-
-    vagrant_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vagrant";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "vagrant";
-              version = "0.0.1";
-              sha256 =
-                "805a78a9ee586546d0716ddc9afc3417630c48faab4606cf54c863b10a05ce52";
-            };
-
-            meta = {
-              description = ''Vagrant CLI Wrapper'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mobileoverlord/vagrant";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vagrant = vagrant_0_0_1;
-
-    varpool_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "varpool";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "varpool";
-              version = "1.5.1";
-              sha256 =
-                "ff6059bdcd0efad606e8c54ee623cfeaef59778c18e343dd772e84d99d188e26";
-            };
-
-            meta = {
-              description = ''Erlang Process Pools as a Local Variable'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/varpool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    varpool = varpool_1_5_1;
-
-    vector_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vector";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "vector";
-              version = "0.3.0";
-              sha256 =
-                "e1f7645d090d58c9efc63046be1ade8b7a431c6428460c3290d6eb6da85cba45";
-            };
-
-            meta = {
-              longDescription = ''Library of common vector functions for use in
-                                geometric or graphical calculations.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/vector_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vector = vector_0_3_0;
-
-    verhoeff_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "verhoeff";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "verhoeff";
-              version = "0.1.2";
-              sha256 =
-                "1110f266fb3e2b69c7ba29cdae13e583f32af99e6a24843cefa04690c529e8f9";
-            };
-
-            meta = {
-              description = ''The Verhoeff algorithm implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mururu/verhoeff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    verhoeff = verhoeff_0_1_2;
-
-    verify_origin_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "verify_origin";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "verify_origin";
-              version = "0.1.0";
-              sha256 =
-                "90834033676cb0ca632f208f489f6eb92ae94323fe7243efba577e1deb031167";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A library for using Origin header checking to
-                            prevent CSRF'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danmcclain/verify_origin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    verify_origin = verify_origin_0_1_0;
-
-    vex_0_5_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vex";
-            version = "0.5.5";
-            src = fetchHex {
-              pkg = "vex";
-              version = "0.5.5";
-              sha256 =
-                "fade5440a742304214d1cb53d5ce6bd39dafb6e2ae87e5ce36041a7aa4c365f9";
-            };
-
-            meta = {
-              description = ''An extensible data validation library for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/vex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vex = vex_0_5_5;
-
-    viktor_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "viktor";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "viktor";
-              version = "0.1.1";
-              sha256 =
-                "9796d7174806bae878082d53befc1efcd1a374715650afc9956ed63f648227fe";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client API wrapper for League of Legends API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/josephyi/viktor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    viktor = viktor_0_1_1;
-
-    virus_total_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "virus_total";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "virus_total";
-              version = "0.0.1";
-              sha256 =
-                "bed3680d17c98f978a90f5b443b6e269ee0a3f2239d2262502d8d10ee042ebfa";
-            };
-            beamDeps  = [ jsx_2_8_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir OTP application for the VirusTotal Public
-                            API v2.0'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dtykocki/virus_total";
-            };
-          } // packageOverrides)
-      ) {};
-
-    virus_total = virus_total_0_0_1;
-
-    vmstats_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "vmstats";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "vmstats";
-              version = "2.0.0";
-              sha256 =
-                "5cfac88ae597762dc38fcec0b56012ca7a2fbfcc00936326f63f5ddca4da0b53";
-            };
-
-            meta = {
-              description = ''Tiny application to gather VM statistics'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/vmstats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vmstats = vmstats_2_0_0;
-
-    voxpop_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "voxpop";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "voxpop";
-              version = "0.0.2";
-              sha256 =
-                "74e3a74fb71aea428eeaea9c4b1e6705568070a014e7bc1d158be1000e3e8c88";
-            };
-
-            meta = {
-              description = ''Voxpop generates text from declarative
-                            grammars.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zovafit/voxpop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    voxpop = voxpop_0_0_2;
-
-    wallaby_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          dialyze_0_2_1
-        }:
-          buildMix ({
-            name = "wallaby";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "wallaby";
-              version = "0.5.0";
-              sha256 =
-                "0ff4debbefb06e76affa7dfb09072898e744471e8e0b41e7b665382969015265";
-            };
-            beamDeps  = [
-                          poolboy_1_5_1
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          dialyze_0_2_1
-                        ];
-
-            meta = {
-              description = ''Concurrent feature tests for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/wallaby";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wallaby = wallaby_0_5_0;
-
-    watcher_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "watcher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "watcher";
-              version = "1.0.0";
-              sha256 =
-                "53620951438e857d24f1ef324f94f42b90e8d6069dd6553ec4e6331370418b2b";
-            };
-
-            meta = {
-              description = ''Watcher for GenEvent'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/watcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    watcher = watcher_1_0_0;
-
-    weather_report_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          trie_1_5_1,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3,
-          feeder_2_0_0
-        }:
-          buildMix ({
-            name = "weather_report";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "weather_report";
-              version = "0.2.0";
-              sha256 =
-                "d052a6b7d2a6c5a7e2c310f8a0be2fe70ee1a62ef2b0b89e1a804016c6fbeed5";
-            };
-            beamDeps  = [
-                          trie_1_5_1
-                          sweet_xml_0_6_1
-                          httpoison_0_8_3
-                          feeder_2_0_0
-                        ];
-
-            meta = {
-              longDescription = ''Get weather forecasts from the National
-                                Oceanic and Atmospheric Administration! As the
-                                NOAA is a United States government agency, only
-                                forecasts in the US are supported.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/weather_report";
-            };
-          } // packageOverrides)
-      ) {};
-
-    weather_report = weather_report_0_2_0;
-
-    web_push_encryption_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "web_push_encryption";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "web_push_encryption";
-              version = "0.1.1";
-              sha256 =
-                "64f3c28f0ab40d3f1366285a8d9166b44959be56525f0a32db0a33d7cfb3feb2";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Web push encryption lilbrary'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/tuvistavie/elixir-web-push-encryption";
-            };
-          } // packageOverrides)
-      ) {};
-
-    web_push_encryption = web_push_encryption_0_1_1;
-
-    web_socket_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          plug_0_12_2,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "web_socket";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "web_socket";
-              version = "0.0.1";
-              sha256 =
-                "b0afdac11840d17b2a2af5cc1939416fac13f64209083e06e6873002ae44ce12";
-            };
-            beamDeps  = [ poison_1_4_0 plug_0_12_2 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Modular web framework '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/plug-web-socket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    web_socket = web_socket_0_0_1;
-
-    webassembly_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "webassembly";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "webassembly";
-              version = "0.6.1";
-              sha256 =
-                "687cc567c6c58e154ca5f5bd45986c6fda530c42702ab7c6007f6cb663db4137";
-            };
-
-            meta = {
-              longDescription = ''WebAssembly is a web DSL for Elixir. You
-                                create html structure straight using do blocks.
-                                Means, you can intermix html-building blocks
-                                with full Elixir syntax. DSL output is an
-                                iolist, which you can flatten to string, but
-                                better use is to just feed it to the socket (via
-                                Plug & Cowboy). WebAssembly aims to have 100%
-                                test coverage.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/herenowcoder/webassembly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    webassembly = webassembly_0_6_1;
-
-    webmentions_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "webmentions";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "webmentions";
-              version = "0.1.0";
-              sha256 =
-                "5409b9237578fd67601b77c601093ab599a1bc507a6e1457a853c20e516c3d81";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_7_2 ];
-
-            meta = {
-              description = ''A Webmentions
-                            (https://indiewebcamp.com/Webmention) module for
-                            Elixir'';
-              license = stdenv.lib.licenses.agpl3;
-              homepage = "https://github.com/ckruse/webmentions-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    webmentions = webmentions_0_1_0;
-
-    webpay_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "webpay";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "webpay";
-              version = "0.0.4";
-              sha256 =
-                "abab40fc7fda25a55d3a3dce4327d3f322df378432a9ed5e7c43e553989f467e";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir Webpay API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    webpay = webpay_0_0_4;
-
-    websocket_client_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "websocket_client";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "websocket_client";
-              version = "1.1.0";
-              sha256 =
-                "21c3d0df073634f2ca349af5b54a61755d637d6390c34d8d57c064f68ca92acd";
-            };
-
-            meta = {
-              description = ''Erlang websocket client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sanmiguel/websocket_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    websocket_client = websocket_client_1_1_0;
-
-    wechat_check_signature_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "wechat_check_signature";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wechat_check_signature";
-              version = "0.0.1";
-              sha256 =
-                "5c5bb053c15082e12ad6da485fc4f711efa9198107368a42456aeafcf870caec";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Plug for checking wechat signature.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/octocandy/wechat_check_signature";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechat_check_signature = wechat_check_signature_0_0_1;
-
-    wechat_mp_auth_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          mimetype_parser_0_1_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "wechat_mp_auth";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "wechat_mp_auth";
-              version = "0.0.2";
-              sha256 =
-                "da88ac42f476eb8bb594cc702bd2e085c93adf6ebd7bf245e507cacf77e78ab9";
-            };
-            beamDeps  = [ poison_2_1_0 mimetype_parser_0_1_2 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''An Elixir WeChat Media Platform Authentication
-                            Client Library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/he9qi/wechat_mp_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechat_mp_auth = wechat_mp_auth_0_0_2;
-
-    wechatex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "wechatex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wechatex";
-              version = "0.0.1";
-              sha256 =
-                "211971a79d38326dbf5e603ee00165708eb17670f2a84e54df929191c6fef81c";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Wechat plugins for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/octocandy/wechatex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechatex = wechatex_0_0_1;
-
-    what3words_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "what3words";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "what3words";
-              version = "1.0.0";
-              sha256 =
-                "a704976567fd49cc6450eb0de10a7a39acb49b8db5b9ea7b9d9c1491b7453bf7";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper for the What3Words API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/w3w-elixir-wrapper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    what3words = what3words_1_0_0;
-
-    white_bread_2_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "white_bread";
-            version = "2.7.0";
-            src = fetchHex {
-              pkg = "white_bread";
-              version = "2.7.0";
-              sha256 =
-                "8938204a78b9081a2c097cb1c39e19037356f4d71a011897b1d51d728ba15946";
-            };
-
-            meta = {
-              longDescription = ''Story BDD tool based on cucumber. Parses
-                                Gherkin formatted feature files and executes
-                                them as tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/white-bread";
-            };
-          } // packageOverrides)
-      ) {};
-
-    white_bread = white_bread_2_7_0;
-
-    whois_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "whois";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "whois";
-              version = "0.0.1";
-              sha256 =
-                "71c21201c0bcf9934503a21e693e380fcf0e91d29728492dce182b15ff686636";
-            };
-
-            meta = {
-              description = ''Pure Elixir WHOIS client and parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/whois.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    whois = whois_0_0_1;
-
-    witchcraft_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          quark_1_0_2,
-          algae_0_10_0
-        }:
-          buildMix ({
-            name = "witchcraft";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "witchcraft";
-              version = "0.4.2";
-              sha256 =
-                "cdd6379d5a8b0baab3b79b0c9b87473d8292e0d9a80fa2e21fac61d31218609f";
-            };
-            beamDeps  = [ quark_1_0_2 algae_0_10_0 ];
-
-            meta = {
-              description = ''Common algebraic structures and functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/witchcraft";
-            };
-          } // packageOverrides)
-      ) {};
-
-    witchcraft = witchcraft_0_4_2;
-
-    wizard_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wizard";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "wizard";
-              version = "0.1.0";
-              sha256 =
-                "cc22faf9e76f50592906b816027fef4ee1942a59005cf8c831c7f76e48b9193e";
-            };
-
-            meta = {
-              description = ''Wizard is a math and statistics library for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/raywan/wizard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wizard = wizard_0_1_0;
-
-    wizardry_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          comeonin_1_6_0
-        }:
-          buildMix ({
-            name = "wizardry";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wizardry";
-              version = "0.0.1";
-              sha256 =
-                "4a85b8c3e5813dee20aa0d5503811568743644883723c9b226436616c9a779a3";
-            };
-            beamDeps  = [ plug_1_1_5 comeonin_1_6_0 ];
-
-            meta = {
-              description = ''Simple, low-level user account framework for
-                            Phoenix Framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/wizardry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wizardry = wizardry_0_0_1;
-
-    woolly_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "woolly";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "woolly";
-              version = "0.1.2";
-              sha256 =
-                "34677dae0bcca0c66fd611d6528e1d0532247e0ad9478a4b469476058308b40d";
-            };
-
-            meta = {
-              longDescription = ''Woolly is the text mining and natural
-                                language toolkit for the Elixir programming
-                                language.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pjhampton/Woolly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    woolly = woolly_0_1_2;
-
-    word_smith_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "word_smith";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "word_smith";
-              version = "0.1.2";
-              sha256 =
-                "481e643c5d26f113235ee577ea9b11c2c639228e0573670329c4385ee6d4cb32";
-            };
-
-            meta = {
-              longDescription = ''General text utility library to help with
-                                string manipulation not found in the standard
-                                Elixir library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/word_smith";
-            };
-          } // packageOverrides)
-      ) {};
-
-    word_smith = word_smith_0_1_2;
-
-    work_queue_0_0_3 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, pipe_while_ok_0_0_2
-        }:
-          buildMix ({
-            name = "work_queue";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "work_queue";
-              version = "0.0.3";
-              sha256 =
-                "31b000cf454ee0a8f90408ea10c33ee6cdd062256a7dd3aac7fe67c48fcbb424";
-            };
-            beamDeps  = [ pipe_while_ok_0_0_2 ];
-
-            meta = {
-              description = ''A simple implement of the Hungry Consumer model
-                            of concurrent servers. '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/work_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    work_queue = work_queue_0_0_3;
-
-    worker_pool_1_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "worker_pool";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "worker_pool";
-              version = "1.0.4";
-              sha256 =
-                "7854a3b94e9624728db3a0475d00e7d0728adf3bf2ee3802bbf8ca10356d6f64";
-            };
-
-            meta = {
-              description = ''Erlang Worker Pool'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/inaka/worker_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    worker_pool_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "worker_pool";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "worker_pool";
-              version = "2.0.0";
-              sha256 =
-                "915d3a1276d3c00c1438ae49785ff974f7b36772d5a13ad6a2c487e7c005f272";
-            };
-
-            meta = {
-              description = ''Erlang Worker Pool'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/inaka/worker_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    worker_pool = worker_pool_2_0_0;
-
-    workex_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "workex";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "workex";
-              version = "0.10.0";
-              sha256 =
-                "9bb48e3ff0294021ecc78d86d4a7521dbe46e129ae9e51a46c9f2a67a63e9cbd";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              description = ''A behaviour for simple flow control and
-                            backpressure.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/workex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    workex = workex_0_10_0;
-
-    workshop_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "workshop";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "workshop";
-              version = "0.5.1";
-              sha256 =
-                "f6eaab9360764e83cca6892d939357e505fe163412b22acca7ea4fe307c8bed2";
-            };
-
-            meta = {
-              longDescription = ''Mix tasks for creating and running
-                                interactive workshops for teaching people how to
-                                program in Elixir, and other things.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/workshop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    workshop = workshop_0_5_1;
-
-    world_json_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "world_json";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "world_json";
-              version = "0.1.6";
-              sha256 =
-                "f91493355bc522e6ee58eed6d21fca41c32f246052c1324cb5f08b2eb1eb5e83";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''topojson country and state/province collections
-                            for elixir/erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/world_json_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    world_json = world_json_0_1_6;
-
-    wpa_supplicant_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wpa_supplicant";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "wpa_supplicant";
-              version = "0.2.0";
-              sha256 =
-                "40c86728b254dd9a9a96d862049a85ccf8b8ce9d1fe27985fe5d7c7a32c56bb6";
-            };
-
-            meta = {
-              longDescription = ''Elixir interface to the wpa_supplicant
-                                daemon. The wpa_supplicant provides application
-                                support for scanning for access points, managing
-                                Wi-Fi connections, and handling all of the
-                                security and other parameters associated with
-                                Wi-Fi.'';
-              license = with stdenv.lib.licenses; [ asl20 free ];
-              homepage = "https://github.com/fhunleth/wpa_supplicant.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wpa_supplicant = wpa_supplicant_0_2_0;
-
-    ws_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ws";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ws";
-              version = "0.0.1";
-              sha256 =
-                "31185c57989f16c4d337974cf1896bb8da452b4f08258a48583cce211fbcf316";
-            };
-
-            meta = {
-              description = ''An RFC 6455 WebSocket implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ws = ws_0_0_1;
-
-    wx_utils_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wx_utils";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "wx_utils";
-              version = "0.0.2";
-              sha256 =
-                "78bb6d423327e7cf41446a35741fe079fb138a4671d0a01e70223f6219afc3d4";
-            };
-
-            meta = {
-              description = ''All of the erlang wx macros exposed as normal
-                            functions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/wx_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wx_utils = wx_utils_0_0_2;
-
-    wykop_api_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "wykop_api";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "wykop_api";
-              version = "0.0.4";
-              sha256 =
-                "0c2acade581168e5cdf3d1dbde53183bc1c49882c8ba8793e045f20d5a9a26d0";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Library for Wykop API.'';
-              license = stdenv.lib.licenses.cc0;
-              homepage = "https://github.com/remiq/wykop_api_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wykop_api = wykop_api_0_0_4;
-
-    xain_0_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xain";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "xain";
-              version = "0.5.3";
-              sha256 =
-                "c71c2b8180b317a361b4691cf6e9e72d1cf2ad00f7e31f5f5e72d79489eb6e24";
-            };
-
-            meta = {
-              description = ''An html DSL package.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/smpallen99/xain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xain = xain_0_5_3;
-
-    xe_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "xe";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xe";
-              version = "0.0.1";
-              sha256 =
-                "53d693612db1343c36a7bbe6286c23f7ccfdbd44500c2a38970743238d230a77";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Real time conversion for currencies'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/paulodiniz/xe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xe = xe_0_0_1;
-
-    xepcache_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, depcache_1_2_2 }:
-          buildMix ({
-            name = "xepcache";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "xepcache";
-              version = "1.0.1";
-              sha256 =
-                "b163b26145c2ab3f37ec004dc24ca49c53c1c7b50529c068e94cfcfd78ec62dd";
-            };
-            beamDeps  = [ depcache_1_2_2 ];
-
-            meta = {
-              longDescription = ''A wrapper around Erlang`s depcache, an
-                                in-memory caching server. depcache bases its
-                                caching around ETS but can also switch to using
-                                the in-process dictionary for maintaining a
-                                process-local cache. Convenient functions are
-                                provided for getting/setting cache values, with
-                                ttl and cache key dependencies, as well as a
-                                memo function for caching the result of function
-                                executions.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/arjan/xepcache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xepcache = xepcache_1_0_1;
-
-    xfighter_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xfighter";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "xfighter";
-              version = "0.2.1";
-              sha256 =
-                "67bb43379cd89b4b95f65f02ad5421719723d262fdbe7e399fb82ac7f3b490a8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API wrapper for the programming game
-                            Stockfighter.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitchef/xfighter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xfighter = xfighter_0_2_1;
-
-    xjs_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "xjs";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "xjs";
-              version = "0.1.1";
-              sha256 =
-                "51f93b5008fb73ad6d9320bc97892cd861171852a59408b02823b03fe8c1b751";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''elixir syntax, javascript semantics'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/aaron-lebo/xjs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xjs = xjs_0_1_1;
-
-    xkcd_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xkcd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xkcd";
-              version = "0.0.1";
-              sha256 =
-                "1c757360b9c5ff3d098e9c04874ed273289ea890e4d87e7dd99164633fe061b5";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Uses the XKCD JSON API to retrieve the
-                                random, specific and the latest XKCD comic.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/xkcd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xkcd = xkcd_0_0_1;
-
-    xlsxir_1_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlsom_1_4_1 }:
-          buildMix ({
-            name = "xlsxir";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "xlsxir";
-              version = "1.3.0";
-              sha256 =
-                "8c5985daeafaa388b63dde1f9827d650c5c964a0d4c1a91aba9ff8463c6d7833";
-            };
-            beamDeps  = [ erlsom_1_4_1 ];
-
-            meta = {
-              longDescription = ''Xlsx file parser. Supports large files,
-                                multiple worksheets and ISO 8601 date formats.
-                                Data is extracted to an Erlang Term Storage
-                                (ETS) table and is accessed through various
-                                functions. Tested with Excel and LibreOffice.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kennellroxco/xlsxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xlsxir = xlsxir_1_3_0;
-
-    xml_builder_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xml_builder";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "xml_builder";
-              version = "0.0.8";
-              sha256 =
-                "51922bc50e0ef79c757d1016eda2a486f8688cd7307c4519102ea1fea4c5a3cd";
-            };
-
-            meta = {
-              description = ''XML builder for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshnuss/xml_builder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xml_builder = xml_builder_0_0_8;
-
-    xml_to_keyword_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xml_to_keyword";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xml_to_keyword";
-              version = "0.0.1";
-              sha256 =
-                "64433848f0ed0ad8f26f1c6e1a6509a6fbaf017701577bd8122bfbb6ee277e97";
-            };
-
-            meta = {
-              longDescription = ''This is an Elixir package that can convert
-                                xml into Elixir`s Keyword List, which is
-                                compilable with XmlBuilder
-                                (joshnuss/xml_builder) package'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    xml_to_keyword = xml_to_keyword_0_0_1;
-
-    xmlrpc_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xmlrpc";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "xmlrpc";
-              version = "0.9.1";
-              sha256 =
-                "b2f6941248fa2e55e89dcb69304f58a7cc4203ce68b986260836933be8fac879";
-            };
-
-            meta = {
-              longDescription = ''XML-RPC encoder/decder for Elixir. Supports
-                                all valid datatypes. Input (ie untrusted) is
-                                parsed with erlsom against an xml-schema for
-                                security.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-xml_rpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xmlrpc_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xmlrpc";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "xmlrpc";
-              version = "1.0.0";
-              sha256 =
-                "8b7dc690a64df7e72d192e9211a20084079933272c14c3e9c158eb101025a7ec";
-            };
-
-            meta = {
-              longDescription = ''XML-RPC encoder/decder for Elixir. Supports
-                                all valid datatypes. Input (ie untrusted) is
-                                parsed with erlsom against an xml-schema for
-                                security.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-xml_rpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xmlrpc = xmlrpc_1_0_0;
-
-    xoauth2_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          mock_0_1_3,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xoauth2";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "xoauth2";
-              version = "0.0.3";
-              sha256 =
-                "4a43a0bca1707b579c6a141524666006dd25ed2efdc19aee5d6eeedf6efc3418";
-            };
-            beamDeps  = [ poison_1_5_2 mock_0_1_3 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple XOAuth2 module for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigp/elixir_xoauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xoauth2 = xoauth2_0_0_3;
-
-    xxhash_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xxhash";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "xxhash";
-              version = "0.2.0";
-              sha256 =
-                "ed57fd84e2c4fc440c28fa6a59d2c2ec0d3957b58dfd05cf06da8824ee6494d8";
-            };
-
-            meta = {
-              description = ''Native Elixir xxHash port.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/ttvd/elixir-xxhash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xxhash = xxhash_0_2_0;
-
-    y_process_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "y_process";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "y_process";
-              version = "0.0.1";
-              sha256 =
-                "3329d3fbe253d605b1f7a91a601c672ff4bc0e7b8c960871d82c964e92372bcb";
-            };
-
-            meta = {
-              description = ''GenServer wrapper behaviour for pubsub between
-                            processes.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmtprime/y_process";
-            };
-          } // packageOverrides)
-      ) {};
-
-    y_process = y_process_0_0_1;
-
-    yahoo_fx_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          time_seer_0_0_6,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "yahoo_fx";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "yahoo_fx";
-              version = "0.2.0";
-              sha256 =
-                "e06b6986c483cad62081e19fba3089f3eab4a4f1e1cc06cd17aa45d34dd14913";
-            };
-            beamDeps  = [ time_seer_0_0_6 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''YahooFx is an Elixir library for getting
-                                currency exchange rates from Yahoo Finance'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/yahoo_fx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yahoo_fx = yahoo_fx_0_2_0;
-
-    yaml_elixir_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_elixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "yaml_elixir";
-              version = "1.0.0";
-              sha256 =
-                "8d318d459561678bbe42bdcc7282ebe9dd7538f34045812054edf226634bf4a7";
-            };
-
-            meta = {
-              description = ''Yaml parser for Elixir based on native Erlang
-                            implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/yaml-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_elixir_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_elixir";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "yaml_elixir";
-              version = "1.2.0";
-              sha256 =
-                "7827069a57fc1d830c3025acbb9611f4cd51ee139e8e75de85d0c4e835df4c16";
-            };
-
-            meta = {
-              description = ''Yaml parser for Elixir based on native Erlang
-                            implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/yaml-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_elixir = yaml_elixir_1_2_0;
-
-    yaml_encoder_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_encoder";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "yaml_encoder";
-              version = "0.0.2";
-              sha256 =
-                "ff3713e793daed297bca7252651deafd15c5f2f353a4ab03bf3f13a71fcb60a6";
-            };
-
-            meta = {
-              description = ''Simple module to encode data to YAML. Not ready
-                            for production, still WIP.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pilu/yaml_encoder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_encoder = yaml_encoder_0_0_2;
-
-    yes_msg_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "yes_msg";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "yes_msg";
-              version = "0.1.0";
-              sha256 =
-                "45e0a13d87cf84fa50001b27f898b470c610207947e4ddb1b1160804b4e62e0e";
-            };
-
-            meta = {
-              description = ''Yet another simple message (YES) parser for
-                            Erlang.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    yes_msg = yes_msg_0_1_0;
-
-    yocingo_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "yocingo";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "yocingo";
-              version = "0.0.3";
-              sha256 =
-                "e222ea0050a5678568d463f8ae7cf7ccd8efba4dfee1637eb0e52c1a1c7809f1";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''This is a full Telegram Bot API. With this
-                                module you can create your own Telegram Bot.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Yawolf/yocingo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yocingo = yocingo_0_0_3;
-
-    ytx_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, rapidax_0_0_3 }:
-          buildMix ({
-            name = "ytx";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "ytx";
-              version = "0.0.5";
-              sha256 =
-                "a30877517201e1c964627782345273fa7ae2157591d1ae6f5663333f370db6f6";
-            };
-            beamDeps  = [ rapidax_0_0_3 ];
-
-            meta = {
-              description = ''Youtube API Client for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorlcampos/ytx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ytx = ytx_0_0_5;
-
-    yubico_0_1_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "yubico";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "yubico";
-              version = "0.1.4";
-              sha256 =
-                "0609f63f3b6141e56014b5247526448a41bf9f61431800891b8c219310f425ad";
-            };
-
-            meta = {
-              description = ''Client implementing the Yubico Validation
-                            Protocol Version 2.0.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/project-fifo/erlang-yubico";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yubico = yubico_0_1_4;
-
-    yuri_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yuri";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "yuri";
-              version = "1.0.0";
-              sha256 =
-                "4a4c851f7ea20141201a9b69eaefb300b420e6c94a1513519aaef39f63d939c5";
-            };
-
-            meta = {
-              description = ''Simple struct for representing URIs.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/kemonomachi/yuri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yuri = yuri_1_0_0;
-
-    yyid_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yyid";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "yyid";
-              version = "0.1.2";
-              sha256 =
-                "37fb0acf8e7f30e66fbba18326b357aeaeb19b671b59d4beb8c8bd943370eeab";
-            };
-
-            meta = {
-              longDescription = ''Generates random tokens that look like type 4
-                                UUIDs: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/janlelis/yyid.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yyid = yyid_0_1_2;
-
-    zarex_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zarex";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "zarex";
-              version = "0.3.0";
-              sha256 =
-                "b4c59af6ccc9c0ffea797920a7f66cdaaa498cda83e4bc4c077ff09cb3b21961";
-            };
-
-            meta = {
-              description = ''Filename sanitization for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ricn/zarex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zarex = zarex_0_3_0;
-
-    zbase32_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zbase32";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "zbase32";
-              version = "1.0.0";
-              sha256 =
-                "bea25493cb512cf0d0ee4e1140c4dc276a27cc299c9b304117ec7b7e4af557b6";
-            };
-
-            meta = {
-              longDescription = ''Efficient implementation of z-base-32, Phil
-                                Zimmermann`s human-oriented base-32 encoding.
-                                z-base-32 is a Base32 encoding designed to be
-                                easier for human use and more compact. It
-                                includes 1, 8 and 9 but excludes l, v and 2. It
-                                also permutes the alphabet so that the easier
-                                characters are the ones that occur more
-                                frequently. It compactly encodes bitstrings
-                                whose length in bits is not a multiple of 8, and
-                                omits trailing padding characters. z-base-32 was
-                                used in Mnet open source project, and is
-                                currently used in Phil Zimmermann`s ZRTP
-                                protocol, and in the Tahoe-LAFS open source
-                                project.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pspdfkit-labs/zbase32";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zbase32 = zbase32_1_0_0;
-
-    zigzag_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zigzag";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "zigzag";
-              version = "0.0.1";
-              sha256 =
-                "27a151e219cf0dcabda9977aad3fbae7b8c366c88a88846e830bc4364f31ed95";
-            };
-
-            meta = {
-              description = ''Zigzag is a fast and flexible parallel processing
-                            library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/zigzag.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zigzag = zigzag_0_0_1;
-
-    zip_stream_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zip_stream";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "zip_stream";
-              version = "0.1.0";
-              sha256 =
-                "a712e24d5fe74e3761c74f3e05cb03df0aa9440f3edee957445f9c9be73c9a4e";
-            };
-
-            meta = {
-              longDescription = ''Library to read zip file in a stream. Zip
-                                file binary stream -> stream of {:new_file,name}
-                                or uncompressed_bin Erlang zlib library only
-                                allows deflate decompress stream. But Erlang zip
-                                library does not allow content streaming.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/zip_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zip_stream = zip_stream_0_1_0;
-
-    zipcloudx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "zipcloudx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "zipcloudx";
-              version = "0.0.2";
-              sha256 =
-                "1e474ec0229b6dd1404c34fbd2a851d136d9549d5ecccbd01d017baac64b264e";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir zipcloud API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipcloudx = zipcloudx_0_0_2;
-
-    zipflow_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zipflow";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "zipflow";
-              version = "0.0.1";
-              sha256 =
-                "1b6e43e3a40529e41fbbb47d27470a3842834be066b676b68f5b0bfed68c8f39";
-            };
-
-            meta = {
-              description = ''stream zip archives while building them'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/dgvncsz0f/zipflow";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipflow = zipflow_0_0_1;
-
-    zipper_tree_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zipper_tree";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "zipper_tree";
-              version = "0.1.1";
-              sha256 =
-                "df6e81d6be9c9ac582bcde541e263d1379485f5cbb5b7cd1b55cd031fe7741ea";
-            };
-
-            meta = {
-              description = ''Methods for travelsal and modification of Trees
-                            using a zipper. '';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/Dkendal/zipper_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipper_tree = zipper_tree_0_1_1;
-
-    zlist_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "zlist";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "zlist";
-              version = "1.0.3";
-              sha256 =
-                "c5ed3928628cfc9041afb6b1ee3d73d5c85473e6d3ce0f4cb6b1fcb20a207b89";
-            };
-
-            meta = {
-              description = ''Erlang lazy list library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/zlist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zlist = zlist_1_0_3;
-
-  };
-in stdenv.lib.fix' (stdenv.lib.extends overrides packages)
\ No newline at end of file
diff --git a/pkgs/development/beam-modules/hex-registry-snapshot.nix b/pkgs/development/beam-modules/hex-registry-snapshot.nix
deleted file mode 100644
index fbd2950b6d5..00000000000
--- a/pkgs/development/beam-modules/hex-registry-snapshot.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, writeText, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-    pname = "hex-registry";
-    rev = "11d7a24e9f53f52490ce255a6248e71128e73aa1";
-    version = "unstable-2018-07-12";
-
-    src = fetchFromGitHub {
-        inherit rev;
-        owner  = "erlang-nix";
-        repo   = "hex-pm-registry-snapshots";
-        sha256 = "0dbpcrdh6jqmvnm1ysmy7ixyc95vnbqmikyx5kk77qwgyd43fqgi";
-    };
-
-    installPhase = ''
-       mkdir -p "$out/var/hex"
-       zcat "registry.ets.gz" > "$out/var/hex/registry.ets"
-    '';
-
-    setupHook = writeText "setupHook.sh" ''
-        export HEX_REGISTRY_SNAPSHOT="$1/var/hex/registry.ets"
-   '';
-
-    meta = {
-        platforms = stdenv.lib.platforms.unix;
-    };
-}
diff --git a/pkgs/development/beam-modules/mix-bootstrap b/pkgs/development/beam-modules/mix-bootstrap
index d7a912ee1ed..7e31def71fa 100755
--- a/pkgs/development/beam-modules/mix-bootstrap
+++ b/pkgs/development/beam-modules/mix-bootstrap
@@ -25,8 +25,7 @@
 -record(data, {version
               , erl_libs
               , root
-              , name
-              , registry_snapshot}).
+              , name}).
 -define(LOCAL_HEX_REGISTRY, "registry.ets").
 
 main(Args) ->
@@ -51,8 +50,7 @@ gather_required_data_from_the_environment(_) ->
     {ok, #data{ version = guard_env("version")
               , erl_libs = os:getenv("ERL_LIBS", [])
               , root = code:root_dir()
-              , name = guard_env("name")
-              , registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
+              , name = guard_env("name")}}.
 
 -spec guard_env(string()) -> string().
 guard_env(Name) ->
diff --git a/pkgs/development/chez-modules/chez-matchable/default.nix b/pkgs/development/chez-modules/chez-matchable/default.nix
new file mode 100644
index 00000000000..2b3de233f9b
--- /dev/null
+++ b/pkgs/development/chez-modules/chez-matchable/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, chez }:
+
+stdenv.mkDerivation rec {
+  pname = "chez-matchable";
+  version = "20160306";
+
+  src = fetchFromGitHub {
+    owner = "fedeinthemix";
+    repo = "chez-matchable";
+    rev = "v${version}";
+    sha256 = "02qn7x348p23z1x5lwhkyj7i8z6mgwpzpnwr8dyina0yzsdkr71s";
+  };
+
+  buildInputs = [ chez ];
+
+  buildPhase = ''
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a Library for ChezScheme providing the protable hygenic pattern matcher by Alex Shinn";
+    homepage = https://github.com/fedeinthemix/chez-matchable/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.publicDomain;
+  };
+
+}
diff --git a/pkgs/development/chez-modules/chez-mit/default.nix b/pkgs/development/chez-modules/chez-mit/default.nix
new file mode 100644
index 00000000000..3614e97d9ea
--- /dev/null
+++ b/pkgs/development/chez-modules/chez-mit/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, chez, chez-srfi }:
+
+stdenv.mkDerivation {
+  pname = "chez-mit";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-mit.git";
+    rev = "68f3d7562e77f694847dc74dabb5ecbd106cd6be";
+    sha256 = "0c7i3b6i90xk96nmxn1pc9272a4yal4v40dm1a4ybdi87x53zkk0";
+  };
+
+  buildInputs = [ chez chez-srfi ];
+
+  buildPhase = ''
+    export CHEZSCHEMELIBDIRS=${chez-srfi}/lib/csv9.5-site
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a MIT/GNU Scheme compatibility library for Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-mit/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.free;
+  };
+
+}
diff --git a/pkgs/development/chez-modules/chez-scmutils/default.nix b/pkgs/development/chez-modules/chez-scmutils/default.nix
new file mode 100644
index 00000000000..ceebef11363
--- /dev/null
+++ b/pkgs/development/chez-modules/chez-scmutils/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, chez, chez-srfi, chez-mit }:
+
+stdenv.mkDerivation {
+  pname = "chez-scmutils";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-scmutils.git";
+    rev = "5eaeea6289fd239358d7eed99cc9588528fb52b2";
+    sha256 = "0lb05wlf8qpgg8y0gdsyaxg1nbfx1qbaqdjvygrp64ndn8fnhq7l";
+  };
+
+  buildInputs = [ chez chez-srfi chez-mit ];
+
+  buildPhase = ''
+    export CHEZSCHEMELIBDIRS=${chez-srfi}/lib/csv9.5-site:${chez-mit}/lib/csv9.5-site
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This is a port of the ‘MIT Scmutils’ library to Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-scmutils/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/chez-modules/chez-srfi/default.nix b/pkgs/development/chez-modules/chez-srfi/default.nix
new file mode 100644
index 00000000000..7f88b8fe7b0
--- /dev/null
+++ b/pkgs/development/chez-modules/chez-srfi/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, chez }:
+
+stdenv.mkDerivation {
+  pname = "chez-srfi";
+  version = "1.0";
+
+  src = fetchgit {
+    url = "https://github.com/fedeinthemix/chez-srfi.git";
+    rev = "5770486c2a85d0e3dd4ac62a97918e7c394ea507";
+    sha256 = "1s47v7b7w0ycd2g6gyv8qbzmh4jjln5iday8n9l3m996ns8is9zj";
+  };
+
+  buildInputs = [ chez ];
+
+  buildPhase = ''
+    make PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out CHEZ=${chez}/bin/scheme
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "This package provides a collection of SRFI libraries for Chez Scheme";
+    homepage = https://github.com/fedeinthemix/chez-srfi/;
+    maintainers = [ stdenv.lib.maintainers.jitwit ];
+    license = stdenv.lib.licenses.free;
+  };
+
+}
diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix
index accedf9a7af..44f72a93c3a 100644
--- a/pkgs/development/compilers/abcl/default.nix
+++ b/pkgs/development/compilers/abcl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ant, jre, jdk}:
 stdenv.mkDerivation rec {
   pname = "abcl";
-  version = "1.5.0";
+  version = "1.6.0";
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
     url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "1hhvcg050nfpjbdmskc1cv2j38qi6qfl77a61b5cxx576kbff3lj";
+    sha256 = "0hvbcsffr8n2xwdixc8wyw1bfl9fxn2gyy0c4nma7j9zbn0wwgw9";
   };
   configurePhase = ''
     mkdir nix-tools
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index 03857627952..5e402b2d728 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -28,16 +28,13 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name;
     # Remove some broken manpages.
     rm -rf $out/Home/man/ja*
 
-    # for backward compatibility
-    ln -s $out/Contents/Home $out/jre
-
     ln -s $out/Contents/Home/* $out/
 
     mkdir -p $out/nix-support
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index 509050209fb..fe38f2b2163 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -54,7 +54,7 @@ let result = stdenv.mkDerivation rec {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> "$out/nix-support/setup-hook"
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 403bd96efb0..e40ed72c46c 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -10,34 +10,34 @@
             "version": "11.0.4"
           },
           "armv6l": {
-            "build": "7",
-            "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz",
-            "version": "11.0.3"
+            "build": "10",
+            "sha256": "c6b1fda3f8807028cbfcc34a4ded2e8a5a6b6239d2bcc1f06673ea6b1530df94",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           },
           "armv7l": {
-            "build": "7",
-            "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz",
-            "version": "11.0.3"
+            "build": "10",
+            "sha256": "c6b1fda3f8807028cbfcc34a4ded2e8a5a6b6239d2bcc1f06673ea6b1530df94",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "90c33cf3f2ed0bd773f648815de7347e69cfbb3416ef3bf41616ab1c4aa0f5a8",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "6dd0c9c8a740e6c19149e98034fba8e368fd9aa16ab417aa636854d40db1a161",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "b1099cccc80a3f434728c9bc3b8a90395793b625f4680ca05267cf635143d64d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "6ead0515aecb24c6a8f5f3800a070b7d20a66c8f26cba5dad137824da590a532",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10_openj9-0.17.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       },
@@ -52,20 +52,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "70d2cc675155476f1d8516a7ae6729d44681e4fad5a6fc8dfa65cab36a67b7e0",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_linux_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "2f08c469c9a8adea1b6ee3444ba2a8242a7e99d87976a077faf037a9eb7f884b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "c2601e7cb22af7a910e03883280cee805074656104d6d3dcaaf30e3bbb832690",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "2b68ea68d41281238a9dbe494cec762bd97fe34cf4fb6ba44ee1ce66bcec9d38",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10_openj9-0.17.0/OpenJDK11U-jre_x64_linux_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       }
@@ -76,20 +76,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "a50b211f475b9497311c9b65594764d7b852b1653f249582bb20fc3c302846a5",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_mac_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "0825d0d3177832320b697944cd8e7b2e7fe3893fafe8bfcf33ee3631aa5ca96b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "7c09678d9c2d9dd0366693c6ab27bed39c76a23e7ac69b8a25c794e99dcf3ba7",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "97dc8234b73e233316b5dfdca75af9a0d54aa23b1309b1a68fd0a5d2fa928e05",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10.1_openj9-0.17.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       },
@@ -98,20 +98,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "1647fded28d25e562811f7bce2092eb9c21d30608843b04250c023b40604ff26",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_mac_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "dfd212023321ebb41bce8cced15b4668001e86ecff6bffdd4f2591ccaae41566",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "1a8e84bae517a848aa5f25c7b04f26ab3a3bfffaa7fdf9be24e1f83325e46766",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "ea6bd0be4562e766c035b997447c059d10d5d2e58ca464c57f9078858da1c967",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10.1_openj9-0.17.0/OpenJDK11U-jre_x64_mac_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       }
@@ -122,56 +122,56 @@
       "jdk": {
         "hotspot": {
           "aarch64": {
-            "build": "10",
-            "sha256": "652776586ede124189dc218174b5922cc97feac81021ad81905900b349a352d2",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_aarch64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "35799a2fd4b467115aff1bc3a54853b5131ba9068e53e1ab0fbe5521a3f2ba83",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "37356281345b93feb4212e6267109b4409b55b06f107619dde4960e402bafa77",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "7b7884f2eb2ba2d47f4c0bf3bb1a2a95b73a3a7734bd47ebf9798483a7bcc423",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "20cff719c6de43f8bb58c7f59e251da7c1fa2207897c9a4768c8c669716dc819",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "abea758c7e102f3c4a3be8757ee0ce039a70e2d498c160400dfb83c6f7004dbf",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09_openj9-0.17.0/OpenJDK8U-jdk_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       },
       "jre": {
         "hotspot": {
           "aarch64": {
-            "build": "10",
-            "sha256": "dfaf5a121f7606c54bd6232793677a4267eddf65d29cde352b84d84edbccbb51",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_aarch64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "4540db665260fdc84ae2f191e21beec9168a70a4227718bee5edd317707e2fda",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           },
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "a418ce895c8bf3ca2e7b2f423f038b8b093941684c9430f2e40da0982e12b52d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "bd06b84a1fc10e0a555431bc49a84e86df45de0be93c8ee4d09d13513219843b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_x64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "ae56994a7c8e8c19939c0c2ff8fe5a850eb2f23845c499aa5ede26deb3d5ad28",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "30bdfdb38901d4807d96a72a33b83f7a4f40255e11a88853c1e8732acc4644a7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09_openj9-0.17.0/OpenJDK8U-jre_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       }
@@ -182,20 +182,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "9605fd00d2960934422437f601c7a9a1c5537309b9199d5bc75f84f20cd29a76",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_mac_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "c237b2c2c32c893e4ee60cdac8c4bcc34ca731a5445986c03b95cf79918e40c3",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_mac_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "df185e167756332163633a826b329db067f8a721f7d5d27f0b353a35fc415de0",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "168079dcc20f62ac4409800c78d23a63ba7c665e58cd7ac8bde21ebbbb2b6d48",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09.1_openj9-0.17.0/OpenJDK8U-jdk_x64_mac_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       },
@@ -204,20 +204,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "b3ac2436534cea932ccf665b317dbf5ffc0ee065efca808b22b6c2d795ca1b90",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_mac_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "5ec5f11dbc81ab65641b765e1ef2f924736c0d1cc797cb95b078598d9d863afd",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_x64_mac_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "d5754413d7bc3a3233aaa7f8465451fbdabaf2a0c2a91743155bf135a3047ec8",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "60b70aa16c8ca38b96c305003f3d9871897555d0b4039b8e1f8db9ceeab16d53",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09.1_openj9-0.17.0/OpenJDK8U-jre_x64_mac_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       }
diff --git a/pkgs/development/compilers/bs-platform/bs-platform-62.nix b/pkgs/development/compilers/bs-platform/bs-platform-62.nix
new file mode 100644
index 00000000000..d2913caaee6
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/bs-platform-62.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3 }:
+let
+  version = "6.2.1";
+  ocaml-version = "4.06.1";
+  src = fetchFromGitHub {
+    owner = "BuckleScript";
+    repo = "bucklescript";
+    rev = "${version}";
+    sha256 = "0zx9nq7cik0c60n3rndqfqy3vdbj5lcrx6zcqcz2d60jjxi1z32y";
+    fetchSubmodules = true;
+  };
+  ocaml =  import ./ocaml.nix {
+    bs-version = version;
+    version = ocaml-version;
+    inherit stdenv;
+    src = "${src}/ocaml";
+  };
+in
+stdenv.mkDerivation {
+  inherit src version;
+  pname = "bs-platform";
+  BS_RELEASE_BUILD = "true";
+  buildInputs = [ nodejs python3 ];
+
+  patchPhase = ''
+    sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js
+
+    mkdir -p ./native/${ocaml-version}/bin
+    ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin
+
+    rm -f vendor/ninja/snapshot/ninja.linux
+    cp ${ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux
+  '';
+
+  configurePhase = ''
+    node scripts/ninja.js config
+  '';
+
+  buildPhase = ''
+    node scripts/ninja.js build
+  '';
+
+  installPhase = ''
+    node scripts/install.js
+
+    mkdir -p $out/bin
+
+    cp -rf jscomp lib vendor odoc_gen native $out
+    cp bsconfig.json package.json $out
+
+    ln -s $out/lib/bsb $out/bin/bsb
+    ln -s $out/lib/bsc $out/bin/bsc
+    ln -s $out/lib/bsrefmt $out/bin/bsrefmt
+  '';
+}
diff --git a/pkgs/development/compilers/bs-platform/default.nix b/pkgs/development/compilers/bs-platform/default.nix
new file mode 100644
index 00000000000..5eb11671ca9
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchFromGitHub, ninja, nodejs, python3, ... }:
+let
+  meta = with stdenv.lib; {
+    description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code.";
+    homepage = https://bucklescript.github.io;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ turbomack gamb ];
+    platforms = platforms.all;
+  };
+in
+{
+  bs-platform-621 = import ./bs-platform-62.nix {
+    inherit stdenv fetchFromGitHub ninja nodejs python3;
+  } // { inherit meta; };
+}
diff --git a/pkgs/development/compilers/bs-platform/ocaml.nix b/pkgs/development/compilers/bs-platform/ocaml.nix
new file mode 100644
index 00000000000..1f2fdd571f3
--- /dev/null
+++ b/pkgs/development/compilers/bs-platform/ocaml.nix
@@ -0,0 +1,16 @@
+{ stdenv, src, version, bs-version }:
+stdenv.mkDerivation rec {
+  inherit src version;
+  name = "ocaml-${version}+bs-${bs-version}";
+  configurePhase = ''
+    ./configure -prefix $out
+  '';
+  buildPhase = ''
+    make -j9 world.opt
+  '';
+
+  meta = with stdenv.lib; {
+    branch = "4.06";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/carp/default.nix b/pkgs/development/compilers/carp/default.nix
index 235ec409039..e02880b314e 100644
--- a/pkgs/development/compilers/carp/default.nix
+++ b/pkgs/development/compilers/carp/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchFromGitHub, makeWrapper, clang, haskellPackages }:
 
-haskellPackages.mkDerivation {
+haskellPackages.mkDerivation rec {
 
   pname = "carp";
-  version = "unstable-2018-09-15";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "carp-lang";
     repo = "Carp";
-    rev = "cf9286c35cab1c170aa819f7b30b5871b9e812e6";
-    sha256 = "1k6kdxbbaclhi40b9p3fgbkc1x6pc4v0029xjm6gny6pcdci2cli";
+    rev = "v${version}";
+    sha256 = "07yk3gy4l6h3k7sh8al7lgwk75a13zxwfp7siqpb5gnnqr1z3brc";
   };
 
   buildDepends = [ makeWrapper ];
 
   executableHaskellDepends = with haskellPackages; [
-    HUnit blaze-markup blaze-html split cmdargs
+    HUnit blaze-markup blaze-html split cmdargs ansi-terminal cmark
+    edit-distance
   ];
 
   isExecutable = true;
diff --git a/pkgs/development/compilers/chicken/4/chicken.nix b/pkgs/development/compilers/chicken/4/chicken.nix
index 34512fc8ef0..4112a74d5ee 100644
--- a/pkgs/development/compilers/chicken/4/chicken.nix
+++ b/pkgs/development/compilers/chicken/4/chicken.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.call-cc.org/;
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
     platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
diff --git a/pkgs/development/compilers/chicken/4/egg2nix.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix
index d0f3b8a4e26..8f796d09ee5 100644
--- a/pkgs/development/compilers/chicken/4/egg2nix.nix
+++ b/pkgs/development/compilers/chicken/4/egg2nix.nix
@@ -22,6 +22,6 @@ eggDerivation {
     homepage = https://github.com/the-kenny/egg2nix;
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
   };
 }
diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 4dc7ebe6671..cd340c22174 100644
--- a/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -8,7 +8,7 @@
 let
   libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
   overrides = import ./overrides.nix;
-  baseName = (builtins.parseDrvName name).name;
+  baseName = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/pkgs/development/compilers/chicken/4/eggs.nix b/pkgs/development/compilers/chicken/4/eggs.nix
index 1f786f127c9..6e6f104f8a0 100644
--- a/pkgs/development/compilers/chicken/4/eggs.nix
+++ b/pkgs/development/compilers/chicken/4/eggs.nix
@@ -1,4 +1,4 @@
-{ pkgs }:
+{ pkgs, stdenv }:
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
@@ -16,35 +16,6 @@ rec {
     ];
   };
 
-  blob-utils = eggDerivation {
-    name = "blob-utils-1.0.3";
-
-    src = fetchegg {
-      name = "blob-utils";
-      version = "1.0.3";
-      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
-    };
-
-    buildInputs = [
-      setup-helper
-      string-utils
-    ];
-  };
-
-  check-errors = eggDerivation {
-    name = "check-errors-1.13.0";
-
-    src = fetchegg {
-      name = "check-errors";
-      version = "1.13.0";
-      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
-    };
-
-    buildInputs = [
-      setup-helper
-    ];
-  };
-
   defstruct = eggDerivation {
     name = "defstruct-1.6";
 
@@ -60,31 +31,29 @@ rec {
   };
 
   http-client = eggDerivation {
-    name = "http-client-0.7.1";
+    name = "http-client-0.18";
 
     src = fetchegg {
       name = "http-client";
-      version = "0.7.1";
-      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+      version = "0.18";
+      sha256 = "1b9x66kfcglld4xhm06vba00gw37vr07c859kj7lmwnk9nwhcplg";
     };
 
     buildInputs = [
       intarweb
       uri-common
-      message-digest
-      md5
-      string-utils
+      simple-md5
       sendfile
     ];
   };
 
   intarweb = eggDerivation {
-    name = "intarweb-1.3";
+    name = "intarweb-1.7";
 
     src = fetchegg {
       name = "intarweb";
-      version = "1.3";
-      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+      version = "1.7";
+      sha256 = "1arjgn5g4jfdzj3nlrhxk235qwf6k6jxr14yhnncnfbgdb820xp8";
     };
 
     buildInputs = [
@@ -94,92 +63,13 @@ rec {
     ];
   };
 
-  lookup-table = eggDerivation {
-    name = "lookup-table-1.13.5";
-
-    src = fetchegg {
-      name = "lookup-table";
-      version = "1.13.5";
-      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-      miscmacros
-      record-variants
-      synch
-    ];
-  };
-
   matchable = eggDerivation {
-    name = "matchable-3.3";
+    name = "matchable-3.7";
 
     src = fetchegg {
       name = "matchable";
-      version = "3.3";
-      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  md5 = eggDerivation {
-    name = "md5-3.1.0";
-
-    src = fetchegg {
-      name = "md5";
-      version = "3.1.0";
-      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
-    };
-
-    buildInputs = [
-      message-digest
-    ];
-  };
-
-  message-digest = eggDerivation {
-    name = "message-digest-3.1.0";
-
-    src = fetchegg {
-      name = "message-digest";
-      version = "3.1.0";
-      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      check-errors
-      variable-item
-      blob-utils
-      string-utils
-    ];
-  };
-
-  miscmacros = eggDerivation {
-    name = "miscmacros-2.96";
-
-    src = fetchegg {
-      name = "miscmacros";
-      version = "2.96";
-      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
-    };
-
-    buildInputs = [
-      
-    ];
-  };
-
-  record-variants = eggDerivation {
-    name = "record-variants-0.5.1";
-
-    src = fetchegg {
-      name = "record-variants";
-      version = "0.5.1";
-      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+      version = "3.7";
+      sha256 = "1vc9rpb44fhn0n91hzglin986dw9zj87fikvfrd7j308z22a41yh";
     };
 
     buildInputs = [
@@ -188,12 +78,12 @@ rec {
   };
 
   sendfile = eggDerivation {
-    name = "sendfile-1.7.29";
+    name = "sendfile-1.8.3";
 
     src = fetchegg {
       name = "sendfile";
-      version = "1.7.29";
-      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+      version = "1.8.3";
+      sha256 = "036x4xdndx7qly94afnag5b9idd1yymdm8d832w2cy054y7lxqsi";
     };
 
     buildInputs = [
@@ -201,13 +91,13 @@ rec {
     ];
   };
 
-  setup-helper = eggDerivation {
-    name = "setup-helper-1.5.4";
+  simple-md5 = eggDerivation {
+    name = "simple-md5-0.0.1";
 
     src = fetchegg {
-      name = "setup-helper";
-      version = "1.5.4";
-      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+      name = "simple-md5";
+      version = "0.0.1";
+      sha256 = "1h0b51p9wl1dl3pzs39hdq3hk2qnjgn8n750bgmh0651g4lzmq3i";
     };
 
     buildInputs = [
@@ -215,38 +105,6 @@ rec {
     ];
   };
 
-  string-utils = eggDerivation {
-    name = "string-utils-1.2.4";
-
-    src = fetchegg {
-      name = "string-utils";
-      version = "1.2.4";
-      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
-    };
-
-    buildInputs = [
-      setup-helper
-      miscmacros
-      lookup-table
-      check-errors
-    ];
-  };
-
-  synch = eggDerivation {
-    name = "synch-2.1.2";
-
-    src = fetchegg {
-      name = "synch";
-      version = "2.1.2";
-      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
-    ];
-  };
-
   uri-common = eggDerivation {
     name = "uri-common-1.4";
 
@@ -264,32 +122,16 @@ rec {
   };
 
   uri-generic = eggDerivation {
-    name = "uri-generic-2.41";
+    name = "uri-generic-2.46";
 
     src = fetchegg {
       name = "uri-generic";
-      version = "2.41";
-      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+      version = "2.46";
+      sha256 = "10ivf4xlmr6jcm00l2phq1y73hjv6g3qgr38ycc8rw56wv6sbm4g";
     };
 
     buildInputs = [
       matchable
-      defstruct
-    ];
-  };
-
-  variable-item = eggDerivation {
-    name = "variable-item-1.3.1";
-
-    src = fetchegg {
-      name = "variable-item";
-      version = "1.3.1";
-      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
-    };
-
-    buildInputs = [
-      setup-helper
-      check-errors
     ];
   };
 }
diff --git a/pkgs/development/compilers/chicken/4/setup-hook.sh b/pkgs/development/compilers/chicken/4/setup-hook.sh
index b0d9b53b537..661dc08c090 100644
--- a/pkgs/development/compilers/chicken/4/setup-hook.sh
+++ b/pkgs/development/compilers/chicken/4/setup-hook.sh
@@ -1,7 +1,6 @@
 addChickenRepositoryPath() {
     addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/8/"
-    # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
-    export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+    export CHICKEN_INCLUDE_PATH="$1/share${CHICKEN_INCLUDE_PATH:+;$CHICKEN_INCLUDE_PATH}"
 }
 
 addEnvHooks "$targetOffset" addChickenRepositoryPath
diff --git a/pkgs/development/compilers/chicken/5/chicken.nix b/pkgs/development/compilers/chicken/5/chicken.nix
index 5fefce12dbf..fb280795d88 100644
--- a/pkgs/development/compilers/chicken/5/chicken.nix
+++ b/pkgs/development/compilers/chicken/5/chicken.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.call-cc.org/;
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
     platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
diff --git a/pkgs/development/compilers/chicken/5/egg2nix.nix b/pkgs/development/compilers/chicken/5/egg2nix.nix
index 21e12849b3a..77ed32cafe1 100644
--- a/pkgs/development/compilers/chicken/5/egg2nix.nix
+++ b/pkgs/development/compilers/chicken/5/egg2nix.nix
@@ -24,6 +24,6 @@ eggDerivation {
     homepage = https://github.com/the-kenny/egg2nix;
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
   };
 }
diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix
index 3dc1c4afce9..8d4a62776d0 100644
--- a/pkgs/development/compilers/chicken/5/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -7,7 +7,7 @@
 
 let
   overrides = import ./overrides.nix;
-  baseName = (builtins.parseDrvName name).name;
+  baseName = stdenv.lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix
index a8e3ee5976e..a35b1f05891 100644
--- a/pkgs/development/compilers/chicken/5/eggs.nix
+++ b/pkgs/development/compilers/chicken/5/eggs.nix
@@ -47,12 +47,12 @@ rec {
   };
 
   srfi-13 = eggDerivation {
-    name = "srfi-13-0.2.1";
+    name = "srfi-13-0.3";
 
     src = fetchegg {
       name = "srfi-13";
-      version = "0.2.1";
-      sha256 = "0204i7fhc4dy0l89lbi2lv9cjndrvwyrk68z3wy7x445jb4ky1gq";
+      version = "0.3";
+      sha256 = "0yaw9i6zhpxl1794pirh168clprjgmsb0xlr96drirjzsslgm3zp";
     };
 
     buildInputs = [
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 409ac03d92f..03a914695a0 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
 , coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml
-, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib
+, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig
 , callPackage }:
 
 # We need multiple binaries as a given binary isn't always able to build
@@ -38,8 +38,14 @@ let
     '';
   };
 
-  generic = { version, sha256, binary, doCheck ? true }:
-  let compiler = stdenv.mkDerivation rec {
+  commonBuildInputs = extraBuildInputs: [
+    boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl_1_0_2
+  ] ++ extraBuildInputs
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
+
+
+  generic = ({ version, sha256, binary, doCheck ? true, extraBuildInputs ? [] }:
+  lib.fix (compiler: stdenv.mkDerivation {
     pname = "crystal";
     inherit doCheck version;
 
@@ -50,6 +56,8 @@ let
       inherit sha256;
     };
 
+    outputs = [ "out" "lib" "bin" ];
+
     # we are almost able to run the full test suite now
     postPatch = ''
       substituteInPlace src/crystal/system/unix/time.cr \
@@ -72,14 +80,9 @@ let
         --replace '`hostname`' '`${nettools}/bin/hostname`'
     '';
 
-    buildInputs = [
-      boehmgc libatomic_ops pcre libevent libyaml
-      llvm zlib openssl_1_0_2
-    ] ++ stdenv.lib.optionals stdenv.isDarwin [
-      libiconv
-    ];
+    buildInputs = commonBuildInputs extraBuildInputs;
 
-    nativeBuildInputs = [ binary makeWrapper which ];
+    nativeBuildInputs = [ binary makeWrapper which pkgconfig llvm ];
 
     makeFlags = [
       "CRYSTAL_CONFIG_VERSION=${version}"
@@ -91,22 +94,27 @@ let
 
     FLAGS = [
       "--release"
-      "--no-debug"
       "--single-module" # needed for deterministic builds
     ];
 
+    # This makes sure we don't keep depending on the previous version of
+    # crystal used to build this one.
+    CRYSTAL_LIBRARY_PATH = "${placeholder "lib"}/crystal";
+
     # We *have* to add `which` to the PATH or crystal is unable to build stuff
     # later if which is not available.
     installPhase = ''
       runHook preInstall
 
-      install -Dm755 .build/crystal $out/bin/crystal
-      wrapProgram $out/bin/crystal \
-          --suffix PATH : ${lib.makeBinPath [ clang which ]} \
-          --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
-          --suffix LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}
-      install -dm755 $out/lib/crystal
-      cp -r src/* $out/lib/crystal/
+      install -Dm755 .build/crystal $bin/bin/crystal
+      wrapProgram $bin/bin/crystal \
+          --suffix PATH : ${lib.makeBinPath [ pkgconfig clang which ]} \
+          --suffix CRYSTAL_PATH : lib:$lib/crystal \
+          --suffix CRYSTAL_LIBRARY_PATH : ${
+            lib.makeLibraryPath (commonBuildInputs extraBuildInputs)
+          }
+      install -dm755 $lib/crystal
+      cp -r src/* $lib/crystal/
 
       install -dm755 $out/share/doc/crystal/api
       cp -r docs/* $out/share/doc/crystal/api/
@@ -119,6 +127,10 @@ let
 
       install -Dm644 -t $out/share/licenses/crystal LICENSE README.md
 
+      mkdir -p $out
+      ln -s $bin/bin $out/bin
+      ln -s $lib $out/lib
+
       runHook postInstall
     '';
 
@@ -147,7 +159,7 @@ let
       maintainers = with maintainers; [ manveru david50407 peterhoeg ];
       platforms = builtins.attrNames archs;
     };
-  }; in compiler;
+  }));
 
 in rec {
   binaryCrystal_0_26 = genericBinary {
@@ -212,7 +224,22 @@ in rec {
     binary = binaryCrystal_0_29;
   };
 
-  crystal = crystal_0_30;
+  crystal_0_31 = generic {
+    version = "0.31.1";
+    sha256  = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
+    doCheck = false; # 5 checks are failing now
+    binary = crystal_0_30;
+  };
+
+  crystal_0_32 = generic {
+    version = "255bfc5fa925b95b72e34b26ad997fb2b3f83059";
+    sha256  = "1dgk36cj5lwhs1c4zp0s1c9hjk0h3vljq6zwhlnzkl1xs7cgzim1";
+    doCheck = false; # 5 checks are failing now
+    binary = crystal_0_31;
+    extraBuildInputs = [ readline ];
+  };
+
+  crystal = crystal_0_31;
 
   crystal2nix = callPackage ./crystal2nix.nix {};
 }
diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix
new file mode 100644
index 00000000000..2e93c0b661b
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/common.nix
@@ -0,0 +1,220 @@
+args@
+{ version
+, sha256
+, url ? ""
+, name ? ""
+, developerProgram ? false
+, runPatches ? []
+, addOpenGLRunpath
+, alsaLib
+, expat
+, fetchurl
+, fontconfig
+, freetype
+, gcc
+, gdk-pixbuf
+, glib
+, glibc
+, gtk2
+, lib
+, makeWrapper
+, ncurses5
+, perl
+, python27
+, requireFile
+, stdenv
+, unixODBC
+, xorg
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cudatoolkit";
+  inherit version runPatches;
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if developerProgram then
+      requireFile {
+        message = ''
+          This nix expression requires that ${args.name} is already part of the store.
+          Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
+          at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
+          nix-prefetch-url file://\$PWD/${args.name}
+        '';
+        inherit (args) name sha256;
+      }
+    else
+      fetchurl {
+        inherit (args) url sha256;
+      };
+
+  outputs = [ "out" "lib" "doc" ];
+
+  nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
+  buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
+  runtimeDependencies = [
+    ncurses5 expat python27 zlib glibc
+    xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
+    gtk2 glib fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+      cd pkg/run_files
+      sh cuda-linux*.run --keep --noexec
+      sh cuda-samples*.run --keep --noexec
+      mv pkg ../../$(basename $src)
+      cd ../..
+      rm -rf pkg
+
+      for patch in $runPatches; do
+        sh $patch --keep --noexec
+        mv pkg $(basename $patch)
+      done
+    ''}
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir $out
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+    cd $(basename $src)
+    export PERL5LIB=.
+    perl ./install-linux.pl --prefix="$out"
+    cd ..
+    for patch in $runPatches; do
+      cd $(basename $patch)
+      perl ./install_patch.pl --silent --accept-eula --installdir="$out"
+      cd ..
+    done
+    ''}
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      cd pkg/builds/cuda-toolkit
+      mv * $out/
+    ''}
+
+    rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
+
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+    # let's remove the 32-bit libraries, they confuse the lib64->lib mover
+    rm -rf $out/lib
+    ''}
+
+    # Remove some cruft.
+    ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
+      "rm $out/bin/uninstall*"}
+
+    # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
+    if [ -d "$out"/cuda-samples ]; then
+        mv "$out"/cuda-samples "$out"/samples
+    fi
+
+    # Change the #error on GCC > 4.9 to a #warning.
+    sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
+
+    # Fix builds with newer glibc version
+    sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
+
+    # Ensure that cmake can find CUDA.
+    mkdir -p $out/nix-support
+    echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
+
+    # Move some libraries to the lib output so that programs that
+    # depend on them don't pull in this entire monstrosity.
+    mkdir -p $lib/lib
+    mv -v $out/lib64/libcudart* $lib/lib/
+
+    # Remove OpenCL libraries as they are provided by ocl-icd and driver.
+    rm -f $out/lib64/libOpenCL*
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      mv $out/lib64 $out/lib
+    ''}
+
+    # Set compiler for NVCC.
+    wrapProgram $out/bin/nvcc \
+      --prefix PATH : ${gcc}/bin
+
+    # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
+    wrapProgram $out/bin/nvprof \
+      --prefix LD_LIBRARY_PATH : $out/lib
+  '' + lib.optionalString (lib.versionOlder version "8.0") ''
+    # Hack to fix building against recent Glibc/GCC.
+    echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
+  '' + ''
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    for b in nvvp nsight; do
+      wrapProgram "$out/bin/$b" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+    done
+  '';
+
+  preFixup = ''
+    while IFS= read -r -d ''$'\0' i; do
+      if ! isELF "$i"; then continue; fi
+      echo "patching $i..."
+      if [[ ! $i =~ \.so ]]; then
+        patchelf \
+          --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
+      fi
+      if [[ $i =~ libcudart ]]; then
+        rpath2=
+      else
+        rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+      fi
+      patchelf --set-rpath "$rpath2" --force-rpath $i
+    done < <(find $out $lib $doc -type f -print0)
+  '';
+
+  # Set RPATH so that libcuda and other libraries in
+  # /run/opengl-driver(-32)/lib can be found. See the explanation in
+  # addOpenGLRunpath.  Don't try to figure out which libraries really need
+  # it, just patch all (but not the stubs libraries). Note that
+  # --force-rpath prevents changing RPATH (set above) to RUNPATH.
+  postFixup = ''
+    addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
+  '';
+
+  # cuda-gdb doesn't run correctly when not using sandboxing, so
+  # temporarily disabling the install check.  This should be set to true
+  # when we figure out how to get `cuda-gdb --version` to run correctly
+  # when not using sandboxing.
+  doInstallCheck = false;
+  postInstallCheck = let
+  in ''
+    # Smoke test binaries
+    pushd $out/bin
+    for f in *; do
+      case $f in
+        crt)                           continue;;
+        nvcc.profile)                  continue;;
+        nsight_ee_plugins_manage.sh)   continue;;
+        uninstall_cuda_toolkit_6.5.pl) continue;;
+        computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
+        *)                             echo "Executing '$f --version':"; ./$f --version;;
+      esac
+    done
+    popd
+  '';
+  passthru = {
+    cc = gcc;
+    majorVersion = lib.versions.majorMinor version;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A compiler for NVIDIA GPUs, math libraries, and tools";
+    homepage = "https://developer.nvidia.com/cuda-toolkit";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+  };
+}
+
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 0a7b74b465f..6531316fa12 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -1,196 +1,15 @@
-{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib
-, gcc48, gcc49, gcc5, gcc6, gcc7
-, xorg, gtk2, gdk-pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
-, addOpenGLRunpath
+{ lib
+, callPackage
+, fetchurl
+, gcc48
+, gcc49
+, gcc5
+, gcc6
+, gcc7
 }:
 
 let
-
-  common =
-    args@{ gcc, version, sha256
-    , url ? ""
-    , name ? ""
-    , developerProgram ? false
-    , python ? python27
-    , runPatches ? []
-    }:
-
-    stdenv.mkDerivation rec {
-      pname = "cudatoolkit";
-      inherit version runPatches;
-
-      dontPatchELF = true;
-      dontStrip = true;
-
-      src =
-        if developerProgram then
-          requireFile {
-            message = ''
-              This nix expression requires that ${args.name} is already part of the store.
-              Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
-              at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
-              nix-prefetch-url file://\$PWD/${args.name}
-            '';
-            inherit (args) name sha256;
-          }
-        else
-          fetchurl {
-            inherit (args) url sha256;
-          };
-
-      outputs = [ "out" "lib" "doc" ];
-
-      nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
-      buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
-      runtimeDependencies = [
-        ncurses5 expat python zlib glibc
-        xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
-        gtk2 glib fontconfig freetype unixODBC alsaLib
-      ];
-
-      rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
-
-      unpackPhase = ''
-        sh $src --keep --noexec
-
-        cd pkg/run_files
-        sh cuda-linux*.run --keep --noexec
-        sh cuda-samples*.run --keep --noexec
-        mv pkg ../../$(basename $src)
-        cd ../..
-        rm -rf pkg
-
-        for patch in $runPatches; do
-          sh $patch --keep --noexec
-          mv pkg $(basename $patch)
-        done
-      '';
-
-      installPhase = ''
-        runHook preInstall
-        mkdir $out
-        cd $(basename $src)
-        export PERL5LIB=.
-        perl ./install-linux.pl --prefix="$out"
-        cd ..
-        for patch in $runPatches; do
-          cd $(basename $patch)
-          perl ./install_patch.pl --silent --accept-eula --installdir="$out"
-          cd ..
-        done
-
-        rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
-
-        # let's remove the 32-bit libraries, they confuse the lib64->lib mover
-        rm -rf $out/lib
-
-        # Remove some cruft.
-        ${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
-
-        # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
-        if [ -d "$out"/cuda-samples ]; then
-            mv "$out"/cuda-samples "$out"/samples
-        fi
-
-        # Change the #error on GCC > 4.9 to a #warning.
-        sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
-
-        # Fix builds with newer glibc version
-        sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
-
-        # Ensure that cmake can find CUDA.
-        mkdir -p $out/nix-support
-        echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
-
-        # Move some libraries to the lib output so that programs that
-        # depend on them don't pull in this entire monstrosity.
-        mkdir -p $lib/lib
-        mv -v $out/lib64/libcudart* $lib/lib/
-
-        # Remove OpenCL libraries as they are provided by ocl-icd and driver.
-        rm -f $out/lib64/libOpenCL*
-
-        # Set compiler for NVCC.
-        wrapProgram $out/bin/nvcc \
-          --prefix PATH : ${gcc}/bin
-
-        # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
-        wrapProgram $out/bin/nvprof \
-          --prefix LD_LIBRARY_PATH : $out/lib
-      '' + lib.optionalString (lib.versionOlder version "8.0") ''
-        # Hack to fix building against recent Glibc/GCC.
-        echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
-      '' + ''
-        runHook postInstall
-      '';
-
-      postInstall = ''
-        for b in nvvp nsight; do
-          wrapProgram "$out/bin/$b" \
-            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-        done
-      '';
-
-      preFixup = ''
-        while IFS= read -r -d ''$'\0' i; do
-          if ! isELF "$i"; then continue; fi
-          echo "patching $i..."
-          if [[ ! $i =~ \.so ]]; then
-            patchelf \
-              --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
-          fi
-          if [[ $i =~ libcudart ]]; then
-            rpath2=
-          else
-            rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
-          fi
-          patchelf --set-rpath "$rpath2" --force-rpath $i
-        done < <(find $out $lib $doc -type f -print0)
-      '';
-
-      # Set RPATH so that libcuda and other libraries in
-      # /run/opengl-driver(-32)/lib can be found. See the explanation in
-      # addOpenGLRunpath.  Don't try to figure out which libraries really need
-      # it, just patch all (but not the stubs libraries). Note that
-      # --force-rpath prevents changing RPATH (set above) to RUNPATH.
-      postFixup = ''
-        addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
-      '';
-
-      # cuda-gdb doesn't run correctly when not using sandboxing, so
-      # temporarily disabling the install check.  This should be set to true
-      # when we figure out how to get `cuda-gdb --version` to run correctly
-      # when not using sandboxing.
-      doInstallCheck = false;
-      postInstallCheck = let
-      in ''
-        # Smoke test binaries
-        pushd $out/bin
-        for f in *; do
-          case $f in
-            crt)                           continue;;
-            nvcc.profile)                  continue;;
-            nsight_ee_plugins_manage.sh)   continue;;
-            uninstall_cuda_toolkit_6.5.pl) continue;;
-            computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
-            *)                             echo "Executing '$f --version':"; ./$f --version;;
-          esac
-        done
-        popd
-      '';
-      passthru = {
-        cc = gcc;
-        majorVersion = lib.versions.majorMinor version;
-      };
-
-      meta = with stdenv.lib; {
-        description = "A compiler for NVIDIA GPUs, math libraries, and tools";
-        homepage = "https://developer.nvidia.com/cuda-toolkit";
-        platforms = [ "x86_64-linux" ];
-        license = licenses.unfree;
-      };
-    };
-
+  common = callPackage ./common.nix;
 in rec {
   cudatoolkit_6 = common {
     version = "6.0.37";
@@ -302,5 +121,21 @@ in rec {
     gcc = gcc7;
   };
 
-  cudatoolkit_10 = cudatoolkit_10_0;
+  cudatoolkit_10_1 = common {
+    version = "10.1.243";
+    url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run";
+    sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7";
+
+    gcc = gcc7;
+  };
+
+  cudatoolkit_10_2 = common {
+    version = "10.2.89";
+    url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run";
+    sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an";
+
+    gcc = gcc7;
+  };
+
+  cudatoolkit_10 = cudatoolkit_10_2;
 }
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
index bede9fa4aa6..a7b2aa6be74 100644
--- a/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation {
       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
       sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb";
     })
+    ./ecl-1.16.2-libffi-3.3-abi.patch
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 33ed690772e..375b38f1dc6 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -35,6 +35,10 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
 
+  patches = [
+    ./libffi-3.3-abi.patch
+  ];
+
   configureFlags = [
     (if threadSupport then "--enable-threads" else "--disable-threads")
     "--with-gmp-prefix=${gmp.dev}"
diff --git a/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
new file mode 100644
index 00000000000..28dd7d0805b
--- /dev/null
+++ b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8861303e..8a959c23 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -145,8 +145,8 @@ static struct {
+ #elif defined(X86_WIN64)
+         {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+-        {@':cdecl', FFI_SYSV},
+-        {@':sysv', FFI_SYSV},
++        {@':cdecl', FFI_UNIX64},
++        {@':sysv', FFI_UNIX64},
+         {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
new file mode 100644
index 00000000000..0a2b5f4dd56
--- /dev/null
+++ b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8174977a..caa69f39 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -133,8 +133,8 @@ static struct {
+ #elif defined(X86_WIN64)
+   {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+-  {@':cdecl', FFI_SYSV},
+-  {@':sysv', FFI_SYSV},
++  {@':cdecl', FFI_UNIX64},
++  {@':sysv', FFI_UNIX64},
+   {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index ef445faec92..314a2d0fc52 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
 
   src = fetchurl {
-    url = http://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
+    url = https://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
     sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri";
   };
 
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://factorcode.org;
+    homepage = https://factorcode.org;
     license = licenses.bsd2;
     description = "A concatenative, stack-based programming language";
 
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 5353862424a..14610af10ae 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.16";
+  version = "1.73.18";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k";
+    sha256 = "0m88vi8ac9mlak430nyrg3nxsj0fzy3yli8kk0mqsw8rqw2pfvqb";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 06c2aa838c5..ae96d5a1ef9 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -47,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "4.8.5";
+let majorVersion = "4";
+    version = "${majorVersion}.8.5";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -96,69 +102,8 @@ let version = "4.8.5";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -166,7 +111,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -232,98 +178,47 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-    optionals (cloog != null) [
-      "--with-cloog=${cloog}"
-      "--disable-cloog-version-check"
-      "--enable-cloog-backend=isl"
-    ] ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+      cloog
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -366,24 +261,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index ebcf20d4e09..5194f607f3b 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -47,10 +49,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "4.9.4";
+let majorVersion = "4";
+    version = "${majorVersion}.9.4";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -101,72 +107,8 @@ let version = "4.9.4";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -174,7 +116,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -241,102 +184,47 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    sed -i -e "s/-lrt//g" libstdc++-v3/configure
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  ''
-  + stdenv.lib.optionalString (langJava || langGo) ''
-    export lib=$out;
-  '';
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-    optionals (cloog != null) [
-      "--with-cloog=${cloog}"
-      "--disable-cloog-version-check"
-      "--enable-cloog-backend=isl"
-    ] ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+      cloog
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -379,24 +267,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 0adedb6f842..cddfd58aa53 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -7,6 +7,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
@@ -23,6 +24,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -45,10 +47,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "5.5.0";
+let majorVersion = "5";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -61,6 +67,10 @@ let version = "5.5.0";
       ++ optional stdenv.hostPlatform.isMusl (fetchpatch {
         url = https://raw.githubusercontent.com/richfelker/musl-cross-make/e84b1bd1fc12a3def33111ca6df522cd6e5ec361/patches/gcc-5.3.0/0001-musl.diff;
         sha256 = "0pppbf8myi2kjhm3z3479ihn1cm60kycfv60gj8yy1bs0pl1qcfm";
+      })
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "074bl5n27d1ksa31pvzj4vd8xd46r118k0w94gdv3s1vydg7mah0";
       });
 
     javaEcj = fetchurl {
@@ -88,72 +98,8 @@ let version = "5.5.0";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -161,7 +107,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -247,101 +194,48 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -384,24 +278,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 959b5e62381..3ac4fa7032a 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -7,7 +7,9 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
+, flex
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
@@ -23,6 +25,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -45,10 +48,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "6.5.0";
+let majorVersion = "6";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -58,7 +65,10 @@ let version = "6.5.0";
       ++ optional noSysDirs ../no-sys-dirs.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
-      ;
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1c449jgm1vx9g4kv82bxmvlgrwb8f6kwkl0gqmjlmhf7f4hjy2nr";
+      });
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -85,74 +95,8 @@ let version = "6.5.0";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -160,11 +104,17 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
-  src = fetchurl {
+  src = if stdenv.targetPlatform.isVc4 then fetchFromGitHub {
+    owner = "itszor";
+    repo = "gcc-vc4";
+    rev = "e90ff43f9671c760cf0d1dd62f569a0fb9bf8918";
+    sha256 = "0gxf66hwqk26h8f853sybphqa5ca0cva2kmrw5jsiv6139g0qnp8";
+  } else fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
     sha256 = "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby";
   };
@@ -229,7 +179,8 @@ stdenv.mkDerivation ({
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
     ++ (optional (perl != null) perl)
-    ++ (optional javaAwtGtk pkgconfig);
+    ++ (optional javaAwtGtk pkgconfig)
+    ++ (optional (stdenv.targetPlatform.isVc4) flex);
 
   # For building runtime libs
   depsBuildTarget =
@@ -251,104 +202,48 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  ''
-  + stdenv.lib.optionalString (langJava || langGo) ''
-    export lib=$out;
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langJava langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langJava     "java"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    # Java options
-    optionals langJava [
-      "--with-ecj-jar=${javaEcj}"
-
-      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
-      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
-      "--enable-java-home"
-      "--with-java-home=\${prefix}/lib/jvm/jre"
-    ] ++
-    optional javaAwtGtk "--enable-java-awt=gtk" ++
-    optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langJava javaAwtGtk javaAntlr javaEcj
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -391,24 +286,13 @@ stdenv.mkDerivation ({
     ++ optionals javaAwtGtk [ gmp mpfr ]
   ));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 39b3e4734fe..237cb455f9f 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -17,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -35,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "7.4.0";
+let majorVersion = "7";
+    version = "${majorVersion}.5.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -59,90 +64,28 @@ let version = "7.4.0";
       })
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
-      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
+      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            # No final libdecnumber (it may work only in 386)
-            "--disable-decimal-float"
-          ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd";
+    sha256 = "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq";
   };
 
   inherit patches;
@@ -228,91 +171,50 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      (if enableLTO then "--enable-lto" else "--disable-lto")
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-    ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  } ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
     ++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
   ;
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -342,24 +244,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 52f568b2ed9..c9302cc4f74 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -17,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -35,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "8.3.0";
+let majorVersion = "8";
+    version = "${majorVersion}.3.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -51,83 +56,22 @@ let version = "8.3.0";
       }) */
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
-      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch;
+      ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -219,88 +163,47 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      (if enableLTO then "--enable-lto" else "--disable-lto")
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -328,24 +231,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index de4d893b99e..9698f4db286 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -34,10 +36,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "9.2.0";
+let majorVersion = "9";
+    version = "${majorVersion}.2.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -49,83 +55,22 @@ let version = "9.2.0";
         sha256 = ""; # TODO: uncomment and check hash when available.
       }) */
       ++ optional langFortran ../gfortran-driving.patch
-      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch;
+      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-            # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-            "--disable-libmpx"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -217,88 +162,47 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if (enableMultilib || targetPlatform.isAvr)
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-    ++ optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
-      "--disable-libsanitizer"
-      "--disable-symvers"
-      "libat_cv_have_ifunc=no"
-      "--disable-gnu-indirect-function"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
   buildFlags = optional
-    (bootstrap && hostPlatform == buildPlatform)
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
@@ -326,24 +230,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix
new file mode 100644
index 00000000000..3b96f432e96
--- /dev/null
+++ b/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -0,0 +1,174 @@
+{ stdenv
+, targetPackages
+
+, crossStageStatic, libcCross
+, version
+
+, gmp, mpfr, libmpc, libelf, isl
+, cloog ? null
+
+, enableLTO
+, enableMultilib
+, enablePlugin
+, enableShared
+
+, langC
+, langCC
+, langFortran
+, langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null
+, langGo
+, langObjC
+, langObjCpp
+}:
+
+assert cloog != null -> stdenv.lib.versionOlder version "5";
+assert langJava -> stdenv.lib.versionOlder version "7";
+
+let
+  inherit (stdenv)
+    buildPlatform hostPlatform targetPlatform
+    lib;
+
+  crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+  crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
+
+  crossConfigureFlags =
+    # Ensure that -print-prog-name is able to find the correct programs.
+    [
+      "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
+      "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld"
+    ]
+    ++ (if crossStageStatic then [
+      "--disable-libssp"
+      "--disable-nls"
+      "--without-headers"
+      "--disable-threads"
+      "--disable-libgomp"
+      "--disable-libquadmath"
+      "--disable-shared"
+      "--disable-libatomic" # requires libc
+      "--disable-decimal-float" # requires libc
+      "--disable-libmpx" # requires libc
+    ] ++ lib.optionals crossMingw [
+      "--with-headers=${lib.getDev libcCross}/include"
+      "--with-gcc"
+      "--with-gnu-as"
+      "--with-gnu-ld"
+      "--disable-debug"
+      "--enable-sjlj-exceptions"
+      "--disable-win32-registry"
+    ] else [
+      (if crossDarwin then "--with-sysroot=${lib.getLib libcCross}/share/sysroot"
+       else                "--with-headers=${lib.getDev libcCross}${libcCross.incdir or "/include"}")
+      "--enable-__cxa_atexit"
+      "--enable-long-long"
+      "--enable-threads=${if targetPlatform.isUnix then "posix"
+                          else if targetPlatform.isWindows then "mcf"
+                          else "single"}"
+      "--enable-nls"
+      "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
+    ] ++ lib.optionals (targetPlatform.libc == "uclibc" || targetPlatform.libc == "musl") [
+      # libsanitizer requires netrom/netrom.h which is not
+      # available in uclibc.
+      "--disable-libsanitizer"
+      # In uclibc cases, libgomp needs an additional '-ldl'
+      # and as I don't know how to pass it, I disable libgomp.
+      "--disable-libgomp"
+    ] ++ lib.optionals (targetPlatform.libc == "musl") [
+      # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
+      "--disable-libmpx"
+    ] ++ lib.optionals crossMingw [
+      "--enable-sjlj-exceptions"
+      "--enable-hash-synchronization"
+      "--enable-libssp"
+      "--disable-nls"
+      "--with-dwarf2"
+      # To keep ABI compatibility with upstream mingw-w64
+      "--enable-fully-dynamic-string"
+    ] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib"
+      ++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
+    );
+
+  configureFlags =
+    # Basic dependencies
+    [
+      "--with-gmp-include=${gmp.dev}/include"
+      "--with-gmp-lib=${gmp.out}/lib"
+      "--with-mpfr-include=${mpfr.dev}/include"
+      "--with-mpfr-lib=${mpfr.out}/lib"
+      "--with-mpc=${libmpc}"
+    ]
+    ++ lib.optional (libelf != null) "--with-libelf=${libelf}"
+    ++ lib.optional (!(crossMingw && crossStageStatic))
+      "--with-native-system-header-dir=${lib.getDev stdenv.cc.libc}/include"
+
+    # Basic configuration
+    ++ [
+      (lib.enableFeature enableLTO "lto")
+      "--disable-libstdcxx-pch"
+      "--without-included-gettext"
+      "--with-system-zlib"
+      "--enable-static"
+      "--enable-languages=${
+        lib.concatStrings (lib.intersperse ","
+          (  lib.optional langC        "c"
+          ++ lib.optional langCC       "c++"
+          ++ lib.optional langFortran  "fortran"
+          ++ lib.optional langJava     "java"
+          ++ lib.optional langGo       "go"
+          ++ lib.optional langObjC     "objc"
+          ++ lib.optional langObjCpp   "obj-c++"
+          ++ lib.optionals crossDarwin [ "objc" "obj-c++" ]
+          )
+        )
+      }"
+    ]
+
+    ++ (if (enableMultilib || targetPlatform.isAvr)
+      then ["--enable-multilib" "--disable-libquadmath"]
+      else ["--disable-multilib"])
+    ++ lib.optional (!enableShared) "--disable-shared"
+    ++ [
+      (lib.enableFeature enablePlugin "plugin")
+    ]
+
+    # Optional features
+    ++ lib.optional (isl != null) "--with-isl=${isl}"
+    ++ lib.optionals (cloog != null) [
+      "--with-cloog=${cloog}"
+      "--disable-cloog-version-check"
+      "--enable-cloog-backend=isl"
+    ]
+
+    # Java options
+    ++ lib.optionals langJava [
+      "--with-ecj-jar=${javaEcj}"
+
+      # Follow Sun's layout for the convenience of IcedTea/OpenJDK.  See
+      # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
+      "--enable-java-home"
+      "--with-java-home=\${prefix}/lib/jvm/jre"
+    ]
+    ++ lib.optional javaAwtGtk "--enable-java-awt=gtk"
+    ++ lib.optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}"
+
+    ++ (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; })
+    ++ lib.optional (targetPlatform != hostPlatform) crossConfigureFlags
+    ++ lib.optional (targetPlatform != hostPlatform) "--disable-bootstrap"
+
+    # Platform-specific flags
+    ++ lib.optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
+    ++ lib.optionals hostPlatform.isSunOS [
+      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
+      # On Illumos/Solaris GNU as is preferred
+      "--with-gnu-as" "--without-gnu-ld"
+    ]
+    ++ lib.optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
+      "--disable-libsanitizer"
+      "--disable-symvers"
+      "libat_cv_have_ifunc=no"
+      "--disable-gnu-indirect-function"
+    ]
+  ;
+
+in configureFlags
diff --git a/pkgs/development/compilers/gcc/common/extra-target-flags.nix b/pkgs/development/compilers/gcc/common/extra-target-flags.nix
new file mode 100644
index 00000000000..bce9a8d4738
--- /dev/null
+++ b/pkgs/development/compilers/gcc/common/extra-target-flags.nix
@@ -0,0 +1,30 @@
+{ stdenv, crossStageStatic, libcCross, threadsCross }:
+
+let
+  inherit (stdenv) lib hostPlatform targetPlatform;
+in
+
+{
+  EXTRA_TARGET_FLAGS = let
+      mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
+        "-idirafter ${lib.getDev dep}${dep.incdir or "/include"}"
+      ] ++ stdenv.lib.optionals (! crossStageStatic) [
+        "-B${lib.getLib dep}${dep.libdir or "/lib"}"
+      ]);
+    in mkFlags libcCross
+    ++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
+    ;
+
+  EXTRA_TARGET_LDFLAGS = let
+      mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
+        "-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}"
+      ] ++ (if crossStageStatic then [
+          "-B${lib.getLib dep}${dep.libdir or "/lib"}"
+        ] else [
+          "-Wl,-rpath,${lib.getLib dep}${dep.libdir or "/lib"}"
+          "-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}"
+      ]));
+    in mkFlags libcCross
+    ++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
+    ;
+}
diff --git a/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix b/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix
new file mode 100644
index 00000000000..f8822c6dba0
--- /dev/null
+++ b/pkgs/development/compilers/gcc/common/mfcgthreads-patches-repo.nix
@@ -0,0 +1 @@
+"740f233da00c4fb5bcc225b2e29768824bcecc58"
diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix
new file mode 100644
index 00000000000..4c86d37e243
--- /dev/null
+++ b/pkgs/development/compilers/gcc/common/pre-configure.nix
@@ -0,0 +1,12 @@
+{ lib, version, hostPlatform, langJava ? false, langGo }:
+
+assert langJava -> lib.versionOlder version "7";
+
+lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
+  export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
+  export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
+  export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
+  export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
+'' + lib.optionalString (lib.versionOlder version "7" && (langJava || langGo)) ''
+  export lib=$out;
+''
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index a07f6f1feb2..0441296ef17 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -6,6 +6,7 @@
 , profiledCompiler ? false
 , staticCompiler ? false
 , enableShared ? true
+, enableLTO ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
 , gmp, mpfr, libmpc, gettext, which
@@ -16,6 +17,7 @@
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
 , name ? "gcc"
 , libcCross ? null
+, threadsCross ? null # for MinGW
 , crossStageStatic ? false
 , # Strip kills static libs of other archs (hence no cross)
   stripped ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -35,10 +37,14 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
 # The go frontend is written in c++
 assert langGo -> langCC;
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 with stdenv.lib;
 with builtins;
 
-let version = "7-20170409";
+let majorVersion = "7";
+    version = "${majorVersion}-20170409";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -46,81 +52,22 @@ let version = "7-20170409";
       [ ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
-      ++ optional langFortran ../gfortran-driving.patch;
+      ++ optional langFortran ../gfortran-driving.patch
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
+        url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
+        sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
+      });
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
-    crossConfigureFlags =
-      # Ensure that -print-prog-name is able to find the correct programs.
-      [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as"
-        "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++
-      (if crossMingw && crossStageStatic then [
-        "--with-headers=${libcCross}/include"
-        "--with-gcc"
-        "--with-gnu-as"
-        "--with-gnu-ld"
-        "--with-gnu-ld"
-        "--disable-shared"
-        "--disable-nls"
-        "--disable-debug"
-        "--enable-sjlj-exceptions"
-        "--enable-threads=win32"
-        "--disable-win32-registry"
-        "--disable-libmpx" # requires libc
-      ] else if crossStageStatic then [
-        "--disable-libssp"
-        "--disable-nls"
-        "--without-headers"
-        "--disable-threads"
-        "--disable-libgomp"
-        "--disable-libquadmath"
-        "--disable-shared"
-        "--disable-libatomic" # requires libc
-        "--disable-decimal-float" # requires libc
-        "--disable-libmpx" # requires libc
-      ] else [
-        (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot"
-         else                "--with-headers=${getDev libcCross}/include")
-        "--enable-__cxa_atexit"
-        "--enable-long-long"
-      ] ++
-        (if crossMingw then [
-          "--enable-threads=win32"
-          "--enable-sjlj-exceptions"
-          "--enable-hash-synchronization"
-          "--enable-libssp"
-          "--disable-nls"
-          "--with-dwarf2"
-          # To keep ABI compatibility with upstream mingw-w64
-          "--enable-fully-dynamic-string"
-        ] else
-          optionals (targetPlatform.libc == "uclibc") [
-            # libsanitizer requires netrom/netrom.h which is not
-            # available in uclibc.
-            "--disable-libsanitizer"
-            # In uclibc cases, libgomp needs an additional '-ldl'
-            # and as I don't know how to pass it, I disable libgomp.
-            "--disable-libgomp"
-          ]
-          ++ optional (targetPlatform.libc == "newlib") "--with-newlib"
-          ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
-          ++ [
-            "--enable-threads=${if targetPlatform.isUnix then "posix"
-                                else if targetPlatform.isWindows then "win32"
-                                else "single"}"
-            "--enable-nls"
-            "--disable-decimal-float" # No final libdecnumber (it may work only in 386)
-        ]));
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
-
-    bootstrap = targetPlatform == hostPlatform;
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
@@ -182,84 +129,48 @@ stdenv.mkDerivation ({
     ++ (optional hostPlatform.isDarwin gnused)
     ;
 
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
 
-  preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
-    export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
-    export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
-    export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
-    export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  preConfigure = import ../common/pre-configure.nix {
+    inherit (stdenv) lib;
+    inherit version hostPlatform langGo;
+  };
 
   dontDisableStatic = true;
 
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
 
-  configureFlags =
-    # Basic dependencies
-    [
-      "--with-gmp-include=${gmp.dev}/include"
-      "--with-gmp-lib=${gmp.out}/lib"
-      "--with-mpfr-include=${mpfr.dev}/include"
-      "--with-mpfr-lib=${mpfr.out}/lib"
-      "--with-mpc=${libmpc}"
-    ] ++
-    optional (libelf != null) "--with-libelf=${libelf}" ++
-    optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++
-
-    # Basic configuration
-    [
-      "--enable-lto"
-      "--disable-libstdcxx-pch"
-      "--without-included-gettext"
-      "--with-system-zlib"
-      "--enable-static"
-      "--enable-languages=${
-        concatStrings (intersperse ","
-          (  optional langC        "c"
-          ++ optional langCC       "c++"
-          ++ optional langFortran  "fortran"
-          ++ optional langGo       "go"
-          ++ optional langObjC     "objc"
-          ++ optional langObjCpp   "obj-c++"
-          ++ optionals crossDarwin [ "objc" "obj-c++" ]
-          )
-        )
-      }"
-    ] ++
-
-    (if enableMultilib
-      then ["--enable-multilib" "--disable-libquadmath"]
-      else ["--disable-multilib"]) ++
-    optional (!enableShared) "--disable-shared" ++
-    (if enablePlugin
-      then ["--enable-plugin"]
-      else ["--disable-plugin"]) ++
-
-    # Optional features
-    optional (isl != null) "--with-isl=${isl}" ++
-
-
-    (import ../common/platform-flags.nix { inherit (stdenv) lib targetPlatform; }) ++
-    optional (targetPlatform != hostPlatform) crossConfigureFlags ++
-    optional (!bootstrap) "--disable-bootstrap" ++
-
-    # Platform-specific flags
-    optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++
-    optionals hostPlatform.isSunOS [
-      "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit"
-      # On Illumos/Solaris GNU as is preferred
-      "--with-gnu-as" "--without-gnu-ld"
-    ]
-  ;
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langGo
+      langObjC
+      langObjCpp
+      ;
+  };
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags = optional
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   dontStrip = !stripped;
   NIX_STRIP_DEBUG = !stripped;
@@ -287,24 +198,13 @@ stdenv.mkDerivation ({
 
   LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
 
-  EXTRA_TARGET_FLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}"
-    ] ++ optionals (! crossStageStatic) [
-      "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]);
-
-  EXTRA_TARGET_LDFLAGS = optionals
-    (targetPlatform != hostPlatform && libcCross != null)
-    ([
-      "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}"
-    ] ++ (if crossStageStatic then [
-        "-B${libcCross.out}${libcCross.libdir or "/lib"}"
-      ] else [
-        "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}"
-        "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}"
-    ]));
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_TARGET_FLAGS
+    EXTRA_TARGET_LDFLAGS
+    ;
 
   passthru = {
     inherit langC langCC langObjC langObjCpp langFortran langGo version;
diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix
index a9618a7e066..5f0347aa9a6 100644
--- a/pkgs/development/compilers/gerbil/unstable.nix
+++ b/pkgs/development/compilers/gerbil/unstable.nix
@@ -1,14 +1,15 @@
-{ stdenv, callPackage, fetchFromGitHub, gambit-unstable }:
+{ stdenv, callPackage, fetchFromGitHub, gambit, gambit-unstable }:
 
 callPackage ./build.nix {
-  version = "unstable-2019-08-11";
-  git-version = "0.16-DEV-132-gcb58f9a3";
-  gambit = gambit-unstable;
+  version = "unstable-2019-11-15";
+  git-version = "0.15.1-461-gee22de62";
+  #gambit = gambit-unstable;
+  gambit = gambit;
   src = fetchFromGitHub {
     owner = "vyzo";
     repo = "gerbil";
-    rev = "cb58f9a30630a6f3e85a55f2c1dcc654f517ffed";
-    sha256 = "18jh64v1gi6z3pks9zf19f2wcjpv21cs270dnaq617kgwp53vysh";
+    rev = "ee22de628a656ee59c6c72bc25d7b2e25a4ece2f";
+    sha256 = "1n1j596b91k9xcmv22l72nga6wv20bka2q51ik2jw2vkcw8zkc1c";
   };
   inherit stdenv;
 }
diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix
index 52fb926cdc6..73c7e4708d5 100644
--- a/pkgs/development/compilers/ghc/8.4.4.nix
+++ b/pkgs/development/compilers/ghc/8.4.4.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation (rec {
     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${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".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"
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index cdbcb8e1aed..f285e271c62 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -125,7 +125,7 @@ stdenv.mkDerivation (rec {
     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${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".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"
diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix
index 95bbab3cb3e..6872cea4e2a 100644
--- a/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/pkgs/development/compilers/ghc/8.8.1.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation (rec {
     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${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".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"
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 565c545e48c..8d22c0a674b 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -2,11 +2,14 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
+, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
 , bash
 
 , libiconv ? null, ncurses
 
+, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
+                !stdenv.targetPlatform.isWindows, elfutils # for DWARF support
+
 , 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
@@ -27,7 +30,7 @@
 , # Whetherto build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
 
-, version ? "8.9.20190924"
+, version ? "8.10.20191119"
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
   ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -73,7 +76,8 @@ let
   # Splicer will pull out correct variations
   libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
     ++ stdenv.lib.optional (!enableIntegerSimple) gmp
-    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
+    ++ stdenv.lib.optional enableDwarf elfutils;
 
   toolsForTarget = [
     pkgsBuildTarget.targetPackages.stdenv.cc
@@ -89,8 +93,8 @@ stdenv.mkDerivation (rec {
 
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/ghc.git/";
-    rev = "795986aaf33e2ffc233836b86a92a77366c91db2";
-    sha256 = "0a111x6c53r07q5qdg6c8mnydqp0wh4mpxmw7ga4x5wlap8i0bji";
+    rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e";
+    sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi";
   };
 
   enableParallelBuilding = true;
@@ -98,13 +102,6 @@ stdenv.mkDerivation (rec {
   outputs = [ "out" "doc" ];
 
   patches = [
-    (fetchpatch { # https://github.com/haskell/haddock/issues/900
-     url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff";
-     name = "loadpluginsinmodules.diff";
-     sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1";
-     extraPrefix = "utils/haddock/";
-     stripLen = 1;
-   })
   ];
 
   postPatch = "patchShebangs .";
@@ -120,7 +117,7 @@ stdenv.mkDerivation (rec {
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
     # and more generally have a faster linker.
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".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"
@@ -176,13 +173,17 @@ stdenv.mkDerivation (rec {
     "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
   ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
     "--disable-large-address-space"
+  ] ++ stdenv.lib.optional enableDwarf [
+    "--enable-dwarf-unwind"
+    "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
+    "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
   ];
 
   # Make sure we never relax`$PATH` and hooks support for compatability.
   strictDeps = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3 sphinx
+    perl autoconf autoreconfHook automake m4 python3 sphinx
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
diff --git a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
index 56b69ea267f..943866d5f24 100644
--- a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
+++ b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
@@ -16,7 +16,7 @@
 }:
 
 runCommand "configured-ghcjs-src" {
-  buildInputs = [
+  nativeBuildInputs = [
     perl
     autoconf
     automake
diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix
new file mode 100644
index 00000000000..2080a643959
--- /dev/null
+++ b/pkgs/development/compilers/gleam/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gleam";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "lpil";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17h573fm5b1f71ivyipl76p0vw7injm7j3cbg6plkfizcb1j5m7f";
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  cargoSha256 = "04v1gj5nmmcizyrsg6b87qsfzw2zqi57vf1zlnq8680yc54qdah9";
+
+  meta = with stdenv.lib; {
+    description = "A statically typed language for the Erlang VM";
+    homepage = "https://gleam.run/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix
index e051d41993c..94919090367 100644
--- a/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/pkgs/development/compilers/go-jsonnet/default.nix
@@ -1,33 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-jsonnet";
-  version = "0.13.0";
-
-  goPackagePath = "github.com/google/go-jsonnet";
-
-  # regenerate deps.nix using following steps:
-  #
-  # go get -u github.com/google/go-jsonnet
-  # cd $GOPATH/src/github.com/google/go-jsonnet
-  # git checkout <version>
-  # dep init
-  # dep2nix
-  goDeps = ./deps.nix;
+  version = "0.14.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "google";
     repo = "go-jsonnet";
-    sha256 = "0x95sqhrw4pscxq0q8781wix0w881k9my5kn5nf6k0fg1d6qlgiy";
-    fetchSubmodules = true;
+    rev = "v${version}";
+    sha256 = "1q0mpydh8h0zrml605q9r259y8584kbwcr9g4sqcb1n13b4d1sgp";
   };
 
-  meta = {
+  modSha256 = "1b6hz5a66hhlzpcv1badxr1b4nmk4lw0507d5jks7lqzvvwd0sxq";
+
+  subPackages = [ "cmd/jsonnet" ];
+
+  meta = with lib; {
     description = "An implementation of Jsonnet in pure Go";
-    maintainers = with lib.maintainers; [ nshalman ];
-    license = lib.licenses.asl20;
-    homepage = https://github.com/google/go-jsonnet;
-    platforms = lib.platforms.unix;
+    homepage = "https://github.com/google/go-jsonnet";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nshalman ];
   };
 }
diff --git a/pkgs/development/compilers/go-jsonnet/deps.nix b/pkgs/development/compilers/go-jsonnet/deps.nix
deleted file mode 100644
index 1f413a16d81..00000000000
--- a/pkgs/development/compilers/go-jsonnet/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev =  "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
-      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev =  "1311e847b0cb909da63b5fecfb5370aa66236465";
-      sha256 = "0rqfh1rj6f5wm8p2ky7inm8g10152p7w6n2cli17kf9gad797i8h";
-    };
-  }
-  {
-    goPackagePath  = "github.com/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev =  "1744e2970ca51c86172c8190fadad617561ed6e7";
-      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "4c4f7f33c9ed00de01c4c741d2177abfcfe19307";
-      sha256 = "191001bxqyc3xfs46nnqmm7jdk0r73vk7a4zqngfl7zwjv9smwsq";
-    };
-  }
-]
\ No newline at end of file
diff --git a/pkgs/development/compilers/go/1.13.nix b/pkgs/development/compilers/go/1.13.nix
index 95c51e2e880..6b7c99c0743 100644
--- a/pkgs/development/compilers/go/1.13.nix
+++ b/pkgs/development/compilers/go/1.13.nix
@@ -30,11 +30,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.13.3";
+  version = "1.13.5";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "1pz3423gw3z2zwcmk9l2c6v68w5is39gndq7502c9mbm8c226wag";
+    sha256 = "1zr6lravlmyld57nnymkcr092pys4pr8qy0ans1rj3dkl3i5dlr7";
   };
 
   # perl is used for testing go vet
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
       --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
 
     # Patch the mimetype database location which is missing on NixOS.
-    substituteInPlace src/mime/type_unix.go \
-      --replace '/etc/mime.types' '${mailcap}/etc/mime.types'
+    # 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)
@@ -97,7 +97,10 @@ stdenv.mkDerivation rec {
     rm src/net/cgo_unix_test.go
 
   '' + optionalString stdenv.isLinux ''
-    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
+
   '' + optionalString stdenv.isAarch32 ''
     echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
   '' + optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index 1052f1f1ae1..0dd852a1ef1 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -61,7 +61,9 @@ stdenv.mkDerivation rec {
 
     sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
   '' + lib.optionalString stdenv.isLinux ''
-    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
     # Find the loader dynamically
     LOADER="$(find ${lib.getLib libc}/lib -name ld-linux\* | head -n 1)"
diff --git a/pkgs/development/compilers/graalvm/default.nix b/pkgs/development/compilers/graalvm/default.nix
index 61e3b6c16ae..11a94ebcce5 100644
--- a/pkgs/development/compilers/graalvm/default.nix
+++ b/pkgs/development/compilers/graalvm/default.nix
@@ -270,7 +270,7 @@ in rec {
       # 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
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
     postFixup = openjdk.postFixup or null;
@@ -293,7 +293,7 @@ in rec {
                     # gfortran readline bzip2 lzma pcre.dev curl ed ## WIP: fastr dependencies
                   ];
     postUnpack = ''
-      cp ${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/stdlib.h \
+      cp ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/stdlib.h \
         $sourceRoot/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include
       cp ${truffleMake} $TMP && mv *truffle.make truffle.make
       rm $sourceRoot/truffle/src/libffi/patches/others/0001-Add-mx-bootstrap-Makefile.patch
@@ -318,7 +318,7 @@ in rec {
         --replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";'
       # prevent cyclical imports caused by identical <include> names
       substituteInPlace sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include/stdlib.h \
-        --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/cstdlib"'
+        --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/cstdlib"'
       # dragonegg can't seem to compile on nix, so let's not require it
       substituteInPlace sulong/mx.sulong/suite.py \
         --replace '"requireDragonegg" : True,' '"requireDragonegg" : False,'
diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix
index 84cb38aa8d1..e180455cb7c 100644
--- a/pkgs/development/compilers/graalvm/enterprise-edition.nix
+++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix
@@ -72,7 +72,7 @@ let
       # 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
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index c8fbffcc164..a365761b014 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.10";
+  version = "1.0.2878";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    sha256 = "1yqd2zvvvxxxzb5d3v0f03n0jdivid5l2cj11dw7ff7xz7jwiv2i";
+    sha256 = "0rgij1013fy2x2szfchy3z6390mjfqw3nz4zprcb5v2v6mpvcj4l";
   };
 
   nativeBuildInputs = [ clang cmake bison flex llvm python ];
diff --git a/pkgs/development/compilers/jasmin/default.nix b/pkgs/development/compilers/jasmin/default.nix
new file mode 100644
index 00000000000..ef1b3055190
--- /dev/null
+++ b/pkgs/development/compilers/jasmin/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchurl
+, unzip
+, jdk
+, ant
+, makeWrapper
+, jre
+, callPackage
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jasmin";
+  version = "2.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/jasmin/jasmin-${version}/jasmin-${version}.zip";
+    sha256 = "17a41vr96glcdrdbk88805wwvv1r6w8wg7if23yhd0n6rrl0r8ga";
+  };
+
+  nativeBuildInputs = [ unzip jdk ant makeWrapper ];
+
+  buildPhase = "ant all";
+  installPhase =
+  ''
+    install -Dm644 jasmin.jar $out/share/java/jasmin.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/jasmin \
+      --add-flags "-jar $out/share/java/jasmin.jar"
+  '';
+
+  passthru.tests = {
+    minimal-module = callPackage ./test-assemble-hello-world {};
+  };
+
+  meta = with stdenv.lib; {
+    description = "An assembler for the Java Virtual Machine";
+    homepage = "http://jasmin.sourceforge.net/";
+    downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j b/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j
new file mode 100644
index 00000000000..564e6c8a9aa
--- /dev/null
+++ b/pkgs/development/compilers/jasmin/test-assemble-hello-world/HelloWorld.j
@@ -0,0 +1,31 @@
+.class public HelloWorld
+.super java/lang/Object
+
+;
+; standard initializer (calls java.lang.Object's initializer)
+;
+.method public <init>()V
+   aload_0
+   invokenonvirtual java/lang/Object/<init>()V
+   return
+.end method
+
+;
+; main() - prints out Hello World
+;
+.method public static main([Ljava/lang/String;)V
+   .limit stack 2   ; up to two items can be pushed
+
+   ; push System.out onto the stack
+   getstatic java/lang/System/out Ljava/io/PrintStream;
+
+   ; push a string onto the stack
+   ldc "Hello World!"
+
+   ; call the PrintStream.println() method.
+   invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
+
+   ; done
+   return
+.end method
+
diff --git a/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix b/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix
new file mode 100644
index 00000000000..1840edffa77
--- /dev/null
+++ b/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix
@@ -0,0 +1,12 @@
+{ stdenv, jasmin, jre }:
+
+stdenv.mkDerivation {
+  name = "jasmin-test-assemble-hello-world";
+  meta.timeout = 60;
+  buildCommand = ''
+    ${jasmin}/bin/jasmin ${./HelloWorld.j}
+    ${jre}/bin/java HelloWorld | grep "Hello World"
+    touch $out
+  '';
+}
+
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 12a75eb8f14..6ad3f96bf59 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.3.50";
+  version = "1.3.61";
 in stdenv.mkDerivation {
   inherit version;
   pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "1v66pnk810agf26khwdv7l8jpc11x6na5fyqxs9jvxdpls8l0hk9";
+    sha256 = "073vb402b03llscgr298iih5lc3y1dn1qxyid2i9hiyrsld1a09r";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index f50da39a624..6b67e2cc856 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1";
 
@@ -91,7 +92,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index c443303f373..317a5ea06f4 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -24,7 +24,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s";
 
@@ -173,7 +174,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index 7a3b151f835..6695609b8ec 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index a99b3fa96ae..d26af8438e7 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -23,7 +23,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
 
@@ -156,7 +157,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix
index ff9064f455e..d093379b3c9 100644
--- a/pkgs/development/compilers/llvm/6/clang/default.nix
+++ b/pkgs/development/compilers/llvm/6/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix
index a250c9fefac..c6d2c09c2df 100644
--- a/pkgs/development/compilers/llvm/6/llvm.nix
+++ b/pkgs/development/compilers/llvm/6/llvm.nix
@@ -26,7 +26,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn";
 
@@ -154,7 +155,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix
index e49c8387f7e..5ac9a7a2672 100644
--- a/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/7/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9";
 
@@ -93,7 +94,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 5d7266f39ec..a7d4bcb8696 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false || stdenv.isDarwin) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix
index 7a0716a6eb3..f6f9970d7a6 100644
--- a/pkgs/development/compilers/llvm/7/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/7/libc++/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version
+, enableShared ? ! stdenv.hostPlatform.isMusl }:
 
 stdenv.mkDerivation {
   pname = "libc++";
@@ -31,7 +32,8 @@ stdenv.mkDerivation {
     "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
     "-DLIBCXX_CXX_ABI=libcxxabi"
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
+  ++ stdenv.lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix
index 522c8d1a163..9067bf43a8f 100644
--- a/pkgs/development/compilers/llvm/7/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/7/libc++abi.nix
@@ -1,4 +1,6 @@
-{ stdenv, cmake, fetch, libcxx, llvm, version }:
+{ stdenv, cmake, fetch, libcxx, llvm, version
+  # on musl the shared objects don't build
+, enableShared ? ! stdenv.hostPlatform.isMusl }:
 
 stdenv.mkDerivation {
   pname = "libc++abi";
@@ -11,13 +13,15 @@ stdenv.mkDerivation {
   postUnpack = ''
     unpackFile ${libcxx.src}
     unpackFile ${llvm.src}
-    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+    cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) )
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export TRIPLE=x86_64-apple-darwin
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
   '';
 
+  cmakeFlags = stdenv.lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF";
+
   installPhase = if stdenv.isDarwin
     then ''
       for file in lib/*.dylib; do
@@ -34,10 +38,10 @@ stdenv.mkDerivation {
     else ''
       install -d -m 755 $out/include $out/lib
       install -m 644 lib/libc++abi.a $out/lib
-      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      ${stdenv.lib.optionalString enableShared "install -m 644 lib/libc++abi.so.1.0 $out/lib"}
       install -m 644 ../include/cxxabi.h $out/include
-      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
+      ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so"}
+      ${stdenv.lib.optionalString enableShared "ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1"}
     '';
 
   meta = {
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix
index 068791406e8..c56bbfd0eab 100644
--- a/pkgs/development/compilers/llvm/7/llvm.nix
+++ b/pkgs/development/compilers/llvm/7/llvm.nix
@@ -30,7 +30,8 @@ let
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v";
   polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h";
@@ -94,6 +95,9 @@ in stdenv.mkDerivation ({
     rm test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s
     rm test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
     rm test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s
+  '' + 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
   '';
@@ -172,7 +176,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
index 6911089250e..8c540e45b28 100644
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh";
 
@@ -105,7 +106,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 88788852862..344ff725675 100644
--- a/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix
index 160e2a72366..b556a638f1f 100644
--- a/pkgs/development/compilers/llvm/8/llvm.nix
+++ b/pkgs/development/compilers/llvm/8/llvm.nix
@@ -28,7 +28,8 @@ let
     concatStringsSep "." (take 1 (splitVersion release_version));
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1rvm5gqp5v8hfn17kqws3zhk94w4kxndal12bqa0y57p09nply24";
   polly_src = fetch "polly" "1lfjdz3ilj5xmjxvicd8f5ykybks67ry2pdb777352r3mzlgg8g8";
@@ -150,7 +151,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix
index 9a333ad7c11..5826f0fbb35 100644
--- a/pkgs/development/compilers/llvm/9/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/9/llvm.nix b/pkgs/development/compilers/llvm/9/llvm.nix
index 9bc7e1fc20b..c8f78f5f7f2 100644
--- a/pkgs/development/compilers/llvm/9/llvm.nix
+++ b/pkgs/development/compilers/llvm/9/llvm.nix
@@ -75,6 +75,15 @@ in stdenv.mkDerivation (rec {
     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
 
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
index 1e9b77cfb79..adfde05e658 100644
--- a/pkgs/development/compilers/manticore/default.nix
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
 
 let
-  rev= "4528ccacdfd53d36f5959c005b27cd7ab6175b83";
+  rev = "7376cb20ba5285a6b076a73c821e4743809c1d9d";
 in stdenv.mkDerivation {
   pname = "manticore";
-  version = "2019.09.20";
+  version = "2019.12.03";
  
   src = fetchFromGitHub {
     owner = "ManticoreProject";
     repo = "manticore";
-    sha256 = "1xz7msiq5x2c56zjxydbxlj6r001mm5zszcda6f6v5qfmmd1bakz";
+    sha256 = "17h3ar7d6145dyrm006r3gd5frk3v4apjk383n78dh4vlniv1ay2";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index 03f3d56fd93..e4c756e9c7d 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mruby";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
     rev     = version;
-    sha256  = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9";
+    sha256  = "1y072c7dh9jf8xwy7kia6cb4dkpspq4zf24ssn7zm5f46p4waxni";
   };
 
   nativeBuildInputs = [ ruby bison ];
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 48808bf356b..dee0b351a60 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nim";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
-    sha256 = "1rjinrs119c8i6wzz5fzjfml7n7kbd5hb9642g4rr8qxkq4sx83k";
+    sha256 = "1q5fx9g40bk4ajghi856w5l34fmrl7avq5j6p0dr2xa4l52ib149";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 9557d0a79ae..d39c0d86fd5 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -12,16 +12,18 @@ in
 
 { stdenv, fetchurl, ncurses, buildEnv
 , libX11, xorgproto, useX11 ? safeX11 stdenv
+, aflSupport ? false
 , flambdaSupport ? false
 }:
 
 assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
+assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
 assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
 
 let
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optional optionals optionalString;
-   name = "ocaml${optionalString flambdaSupport "+flambda"}-${version}";
+   name = "ocaml${optionalString aflSupport "+afl"}${optionalString flambdaSupport "+flambda"}-${version}";
 in
 
 let
@@ -41,11 +43,16 @@ stdenv.mkDerivation (args // {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = optionals useX11 (
-    if stdenv.lib.versionAtLeast version "4.08"
-    then [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
-    else [ "-x11lib" x11lib "-x11include" x11inc ])
-  ++ optional flambdaSupport "-flambda"
+  configureFlags =
+    let flags = new: old:
+      if stdenv.lib.versionAtLeast version "4.08"
+      then new else old
+    ; in
+    optionals useX11 (flags
+      [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
+      [ "-x11lib" x11lib "-x11include" x11inc ])
+  ++ optional aflSupport (flags "--with-afl" "-afl-instrument")
+  ++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
   ;
 
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 57911f2d58e..e365b9b28b3 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -106,7 +106,7 @@ let
       # 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/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 1a5848cd1a6..4debf10c0cb 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -193,6 +193,11 @@ let
       mkdir $out/lib/openjdk/jre
       lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
 
+      # Make sure cmm/*.pf are not symlinks:
+      # https://youtrack.jetbrains.com/issue/IDEA-147272
+      rm -rf $out/lib/openjdk/jre/lib/cmm
+      ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm
+
       # Setup fallback fonts
       ${lib.optionalString (!headless) ''
         mkdir -p $jre/lib/openjdk/jre/lib/fonts
@@ -231,7 +236,7 @@ let
       # 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/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix
index 4c808302b4f..0b659b95aa8 100644
--- a/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
index d2fef9bb481..bc7a33932b2 100644
--- a/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/openjdk/darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix
index 58e4ba99014..c954a8e2cf8 100644
--- a/pkgs/development/compilers/openjdk/darwin/default.nix
+++ b/pkgs/development/compilers/openjdk/darwin/default.nix
@@ -44,7 +44,7 @@ let
 
       # Set JAVA_HOME automatically.
       cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index 094bd57e6e9..03121daf961 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -114,7 +114,7 @@ let
       # 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/lib/openjdk; fi
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
       EOF
     '';
 
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index e80d81dc5a0..a96e703b28c 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -156,7 +156,7 @@ let result = stdenv.mkDerivation rec {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
@@ -201,4 +201,4 @@ let result = stdenv.mkDerivation rec {
     platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "aarch64-linux" ]; # some inherit jre.meta.platforms
   };
 
-}; in stdenv.lib.trivial.warn "Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license. See https://java.com/en/download/release_notice.jsp for more information." result
+}; in result
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 4540a301610..987c86ba264 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = with licenses; [ bsd3 bsd2 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix
index 26ef76382a3..86a13a776ce 100644
--- a/pkgs/development/compilers/osl/default.nix
+++ b/pkgs/development/compilers/osl/default.nix
@@ -8,13 +8,13 @@ in clangStdenv.mkDerivation rec {
   # In theory this could use GCC + Clang rather than just Clang,
   # but https://github.com/NixOS/nixpkgs/issues/29877 stops this
   name = "openshadinglanguage-${version}";
-  version = "1.10.7";
+  version = "1.10.8";
 
   src = fetchFromGitHub {
     owner = "imageworks";
     repo = "OpenShadingLanguage";
-    rev = "Release-1.10.7";
-    sha256 = "15grach34grp8x65sq8xzs2s6nfzjhn4blpfnaicw46jdi4c2w59";
+    rev = "Release-1.10.8";
+    sha256 = "1vfdbs1yprr22nx64ff89jcqabfw0md8drifpbzqn2v6ipc8gz6a";
   };
 
   cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ];
diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix
index 370c08f001a..70a56e6f41e 100644
--- a/pkgs/development/compilers/polyml/5.6.nix
+++ b/pkgs/development/compilers/polyml/5.6.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = [ #Add your name here!
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix
index eef972a2cc3..db1c7613f65 100644
--- a/pkgs/development/compilers/polyml/5.7.nix
+++ b/pkgs/development/compilers/polyml/5.7.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.polyml.org/;
     license = licenses.lgpl21;
     platforms = with platforms; (linux ++ darwin);
-    maintainers = with maintainers; [ z77z yurrriq ];
+    maintainers = with maintainers; [ maggesi yurrriq ];
   };
 }
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 5ab13d5f761..7be5fd993ae 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.polyml.org/;
     license = licenses.lgpl21;
     platforms = with platforms; (linux ++ darwin);
-    maintainers = with maintainers; [ z77z yurrriq ];
+    maintainers = with maintainers; [ maggesi yurrriq ];
   };
 }
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 7e525648691..071709fa2d1 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl,
+{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, libxml2,
   cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
 
 stdenv.mkDerivation ( rec {
   pname = "ponyc";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "07ai5lr0zdrcdmfjxsypp33fpj8lnak7y5177s7qd19163z0ia20";
+    sha256 = "0a0sw902nrayg0s1zrkhfpvrmdqw19nif67hsv0ijrckcq37bjcz";
   };
 
-  buildInputs = [ llvm makeWrapper which ];
+  buildInputs = [ llvm makeWrapper which libxml2 ];
   propagatedBuildInputs = [ cc ];
 
   # Disable problematic networking tests
diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix
index 6719293af2a..23e7f3b28f7 100644
--- a/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pony-stable";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "pony-stable";
     rev = version;
-    sha256 = "1wiinw35bp3zpq9kx61x2zvid7ln00jrw052ah8801s0d9dbwrdr";
+    sha256 = "0nzvsqvl315brp3yb4j5kl82xnkmib4jk416jjc7yrz4k3jgr278";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 7a677821687..f1126fdeddf 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.3";
+  version = "0.13.5";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "04ylhqadj7wnclhiar9il6fkrxmh9qkz6fpas7z3b37w4qg0gshl";
+      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "1xcn694qfql87pdjh09hhvfvpakzxb2hagss61vh9msqq3s96l3z";
+      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
     };
 
 
diff --git a/pkgs/development/compilers/rasm/default.nix b/pkgs/development/compilers/rasm/default.nix
new file mode 100644
index 00000000000..ced0855597c
--- /dev/null
+++ b/pkgs/development/compilers/rasm/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "rasm";
+  version = "0.117";
+
+  src = fetchurl {
+    url = "www.roudoudou.com/export/cpc/rasm/${pname}_v0117_src.zip";
+    sha256 = "1hwily4cfays59qm7qd1ax48i7cpbxhs5l9mfpyn7m2lxsfqrl3z";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ unzip ];
+
+  buildPhase = ''
+      # according to official documentation
+      cc rasm_v*.c -O2 -lm -lrt -march=native -o rasm
+  '';
+
+  installPhase = ''
+    install -Dt $out/bin rasm
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.roudoudou.com/rasm/";
+    description = "Z80 assembler";
+    # use -n option to display all licenses
+    license = licenses.mit; # expat version
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index 5ade7fd6fba..20286dcc43c 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-reason-${version}";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "reason";
-    rev = "ea207004e021efef5a92ecd011d9d5b9b16bbded";
-    sha256 = "0cdjy7sw15rlk63prrwy8lavqrz8fqwsgwr19ihvj99x332r98kk";
+    rev = "aea245a43eb44034d2fccac7028b640a437af239";
+    sha256 = "0ff7rjxbsg9zkq6sxlm9bkx7yk8x2cvras7z8436msczgd1wmmyf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/rtop \
       --prefix PATH : "${utop}/bin" \
-      --set CAML_LD_LIBRARY_PATH ${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib:$CAML_LD_LIBRARY_PATH \
-      --set OCAMLPATH $out/lib/ocaml/${ocaml.version}/site-lib:$OCAMLPATH
+      --prefix CAML_LD_LIBRARY_PATH : "${ocaml_lwt}/lib/ocaml/${ocaml.version}/site-lib" \
+      --prefix OCAMLPATH : "$out/lib/ocaml/${ocaml.version}/site-lib"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/rgbds/default.nix b/pkgs/development/compilers/rgbds/default.nix
index 3856ced250e..99519c53fcd 100644
--- a/pkgs/development/compilers/rgbds/default.nix
+++ b/pkgs/development/compilers/rgbds/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "rgbds";
-  version = "0.3.8";
+  version = "0.3.9";
   src = fetchFromGitHub {
     owner = "rednex";
     repo = "rgbds";
     rev = "v${version}";
-    sha256 = "0db37z886026svhj6qnc3wk56sndbnz1vi41gn2k3bl6ppbnjlpk";
+    sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv";
   };
   nativeBuildInputs = [ bison flex pkg-config libpng ];
   installFlags = "PREFIX=\${out}";
diff --git a/pkgs/development/compilers/rust/1_38_0.nix b/pkgs/development/compilers/rust/1_38_0.nix
new file mode 100644
index 00000000000..be43e074228
--- /dev/null
+++ b/pkgs/development/compilers/rust/1_38_0.nix
@@ -0,0 +1,21 @@
+import ./default.nix {
+  rustcVersion = "1.38.0";
+  rustcSha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
+
+  # Note: the version MUST be one version prior to the version we're
+  # building
+  bootstrapVersion = "1.37.0";
+
+  # fetch hashes by running `print-hashes.sh 1.37.0`
+  bootstrapHashes = {
+    i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
+    x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
+    arm-unknown-linux-gnueabihf = "272739fbb23cf6c2040c1813af9c8c7f386cac37d9de638f22a1816eb96bc0ae";
+    armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
+    aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
+    i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";
+    x86_64-apple-darwin = "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d";
+  };
+
+  selectRustPackage = pkgs: pkgs.rust_1_38_0;
+}
diff --git a/pkgs/development/compilers/rust/1_39_0.nix b/pkgs/development/compilers/rust/1_39_0.nix
new file mode 100644
index 00000000000..e86be63bf3a
--- /dev/null
+++ b/pkgs/development/compilers/rust/1_39_0.nix
@@ -0,0 +1,29 @@
+# New rust versions should first go to staging.
+# Things to check after updating:
+# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
+#    i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
+#    This testing can be also done by other volunteers as part of the pull
+#    request review, in case platforms cannot be covered.
+# 2. The LLVM version used for building should match with rust upstream.
+# 3. Firefox and Thunderbird should still build on x86_64-linux.
+import ./default.nix {
+  rustcVersion = "1.39.0";
+  rustcSha256 = "0mwkc1bnil2cfyf6nglpvbn2y0zfbv44zfhsd5qg4c9rm6vgd8dl";
+
+  # Note: the version MUST be one version prior to the version we're
+  # building
+  bootstrapVersion = "1.38.0";
+
+  # fetch hashes by running `print-hashes.sh 1.38.0`
+  bootstrapHashes = {
+    i686-unknown-linux-gnu = "41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af";
+    x86_64-unknown-linux-gnu = "adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221";
+    arm-unknown-linux-gnueabihf = "0603a3d3d16ae8f3b3b117eb699e8f3ef7532a6f6d3c29d13e7d4614fc3c9e7a";
+    armv7-unknown-linux-gnueabihf = "8b1bf1680a61a643d6b5c7a3b1a1ce88448652756395e20ba5846739cbd085c4";
+    aarch64-unknown-linux-gnu = "06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda";
+    i686-apple-darwin = "cdbf2807774bed350a3af6f41d7f7dd7ceff28777cde310c3ba90033188eb2f8";
+    x86_64-apple-darwin = "bd301b78ddcd5d4553962b115e1dca5436dd3755ed323f86f4485769286a8a5a";
+  };
+
+  selectRustPackage = pkgs: pkgs.rust_1_39_0;
+}
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 7b774d066b7..7c0b46d5593 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,38 +1,11 @@
-{ stdenv, fetchurl, callPackage }:
+{ stdenv, fetchurl, rust, callPackage, version, hashes }:
 
 let
-  # Note: the version MUST be one version prior to the version we're
-  # building
-  version = "1.37.0";
-
-  # fetch hashes by running `print-hashes.sh 1.37.0`
-  hashes = {
-    i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
-    x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
-    armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
-    aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
-    i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";
-    x86_64-apple-darwin = "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d";
-  };
-
-  platform =
-    if stdenv.hostPlatform.system == "i686-linux"
-    then "i686-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "x86_64-linux"
-    then "x86_64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "armv7l-linux"
-    then "armv7-unknown-linux-gnueabihf"
-    else if stdenv.hostPlatform.system == "aarch64-linux"
-    then "aarch64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "i686-darwin"
-    then "i686-apple-darwin"
-    else if stdenv.hostPlatform.system == "x86_64-darwin"
-    then "x86_64-apple-darwin"
-    else throw "missing bootstrap url for platform ${stdenv.hostPlatform.system}";
+  platform = rust.toRustTarget stdenv.hostPlatform;
 
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
-     sha256 = hashes.${platform};
+     sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}");
   };
 
 in callPackage ./binary.nix
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index a39cd785cf7..60e31c6def4 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -1,3 +1,9 @@
+{ rustcVersion
+, rustcSha256
+, bootstrapVersion
+, bootstrapHashes
+, selectRustPackage
+}:
 { stdenv, lib
 , buildPackages
 , newScope, callPackage
@@ -5,17 +11,25 @@
 , llvmPackages_5
 , pkgsBuildTarget, pkgsBuildBuild
 }: rec {
-  makeRustPlatform = { rustc, cargo, ... }: {
+  toRustTarget = platform: with platform.parsed; let
+    cpu_ = {
+      "armv7a" = "armv7";
+      "armv7l" = "armv7";
+      "armv6l" = "arm";
+    }.${cpu.name} or cpu.name;
+  in "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
+
+  makeRustPlatform = { rustc, cargo, ... }: rec {
     rust = {
       inherit rustc cargo;
     };
 
-    buildRustPackage = callPackage ../../../build-support/rust {
-      inherit rustc cargo;
+    fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix {
+      inherit cargo;
+    };
 
-      fetchcargo = buildPackages.callPackage ../../../build-support/rust/fetchcargo.nix {
-        inherit cargo;
-      };
+    buildRustPackage = callPackage ../../../build-support/rust {
+      inherit rustc cargo fetchcargo;
     };
 
     rustcSrc = callPackage ./rust-src.nix {
@@ -36,21 +50,27 @@
   # cycles / purify builds). In this way, nixpkgs would be in control of all
   # bootstrapping.
   packages = {
-    prebuilt = callPackage ./bootstrap.nix {};
+    prebuilt = callPackage ./bootstrap.nix {
+      version = bootstrapVersion;
+      hashes = bootstrapHashes;
+    };
     stable = lib.makeScope newScope (self: let
       # Like `buildRustPackages`, but may also contain prebuilt binaries to
       # break cycle. Just like `bootstrapTools` for nixpkgs as a whole,
       # nothing in the final package set should refer to this.
       bootstrapRustPackages = self.buildRustPackages.overrideScope' (_: _:
         lib.optionalAttrs (stdenv.buildPlatform == stdenv.hostPlatform)
-          buildPackages.rust.packages.prebuilt);
+          (selectRustPackage buildPackages).packages.prebuilt);
       bootRustPlatform = makeRustPlatform bootstrapRustPackages;
     in {
       # Packages suitable for build-time, e.g. `build.rs`-type stuff.
-      buildRustPackages = buildPackages.rust.packages.stable;
+      buildRustPackages = (selectRustPackage buildPackages).packages.stable;
       # Analogous to stdenv
       rustPlatform = makeRustPlatform self.buildRustPackages;
       rustc = self.callPackage ./rustc.nix ({
+        version = rustcVersion;
+        sha256 = rustcSha256;
+
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
       } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) {
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index 7eb00a30ad7..1d46fe376d4 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -10,6 +10,7 @@ set -euo pipefail
 PLATFORMS=(
   i686-unknown-linux-gnu
   x86_64-unknown-linux-gnu
+  arm-unknown-linux-gnueabihf
   armv7-unknown-linux-gnueabihf
   aarch64-unknown-linux-gnu
   i686-apple-darwin
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 430d22f7653..ca9bf05b7e7 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,28 +1,30 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
 , fetchurl, file, python2
-, llvm_7, darwin, git, cmake, rustPlatform
+, llvm_9, darwin, git, cmake, rust, rustPlatform
 , pkgconfig, openssl
 , which, libffi
 , withBundledLLVM ? false
+, version
+, sha256
 }:
 
 let
   inherit (stdenv.lib) optional optionalString;
   inherit (darwin.apple_sdk.frameworks) Security;
 
-  llvmSharedForBuild = pkgsBuildBuild.llvm_7.override { enableSharedLibraries = true; };
-  llvmSharedForHost = pkgsBuildHost.llvm_7.override { enableSharedLibraries = true; };
-  llvmSharedForTarget = pkgsBuildTarget.llvm_7.override { enableSharedLibraries = true; };
+  llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; };
+  llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; };
+  llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; };
 
   # For use at runtime
-  llvmShared = llvm_7.override { enableSharedLibraries = true; };
+  llvmShared = llvm_9.override { enableSharedLibraries = true; };
 in stdenv.mkDerivation rec {
   pname = "rustc";
-  version = "1.38.0";
+  inherit version;
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
+    inherit sha256;
   };
 
   __darwinAllowLocalNetworking = true;
@@ -51,9 +53,9 @@ in stdenv.mkDerivation rec {
   # We need rust to build rust. If we don't provide it, configure will try to download it.
   # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
   configureFlags = let
-    setBuild  = "--set=target.${stdenv.buildPlatform.config}";
-    setHost   = "--set=target.${stdenv.hostPlatform.config}";
-    setTarget = "--set=target.${stdenv.targetPlatform.config}";
+    setBuild  = "--set=target.${rust.toRustTarget stdenv.buildPlatform}";
+    setHost   = "--set=target.${rust.toRustTarget stdenv.hostPlatform}";
+    setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}";
     ccForBuild  = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc";
     cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++";
     ccForHost  = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc";
@@ -66,9 +68,9 @@ in stdenv.mkDerivation rec {
     "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
     "--enable-rpath"
     "--enable-vendor"
-    "--build=${stdenv.buildPlatform.config}"
-    "--host=${stdenv.hostPlatform.config}"
-    "--target=${stdenv.targetPlatform.config}"
+    "--build=${rust.toRustTarget stdenv.buildPlatform}"
+    "--host=${rust.toRustTarget stdenv.hostPlatform}"
+    "--target=${rust.toRustTarget stdenv.targetPlatform}"
 
     "${setBuild}.cc=${ccForBuild}"
     "${setHost}.cc=${ccForHost}"
diff --git a/pkgs/development/compilers/rust/setup-hook.sh b/pkgs/development/compilers/rust/setup-hook.sh
index 7078ec7060b..5d4eb642fec 100644
--- a/pkgs/development/compilers/rust/setup-hook.sh
+++ b/pkgs/development/compilers/rust/setup-hook.sh
@@ -1,4 +1,4 @@
 # Fix 'failed to open: /homeless-shelter/.cargo/.package-cache' in rust 1.36.
-if [[ -z $IN_NIX_SHELL && -z $CARGO_HOME ]]; then
+if [[ -z ${IN_NIX_SHELL-} && -z ${CARGO_HOME-} ]]; then
     export CARGO_HOME=$TMPDIR
 fi
diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix
index 5a01e295e49..675e91b302a 100644
--- a/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/pkgs/development/compilers/scala/dotty-bare.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.0-RC1";
+  version = "0.20.0-RC1";
   pname = "dotty-bare";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
-    sha256 = "0nrgsyhqjlpvnjqgb18pryr8q7knq3dq25jhp98s4wh76nssm1zr";
+    sha256 = "08qs3m32cbh6516gcwraa1b5k935awmjxls6kg6xll722hkdd9l6";
   };
 
   propagatedBuildInputs = [ jre ncurses.dev ] ;
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = http://dotty.epfl.ch/;
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = [maintainers.karolchmist];
+    maintainers = [maintainers.karolchmist maintainers.virusdave];
   };
 }
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index 89912ac9ad6..a79c9a702c4 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,32 +1,47 @@
 { stdenv, fetchurl }:
 let
-  version = "110.91";
+  version = "110.95";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
+  isArch64 = stdenv.system == "x86_64-linux";
+
+  arch = if isArch64
+    then "64"
+    else "32";
+
+  boot32 = { url = "${baseurl}/boot.x86-unix.tgz";
+             sha256 = "07bcrvjphyin1ygjbymcqhd1mbfk4hff82wmxcllh77lr28l5dxf"; };
+  boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
+             sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
+
+  bootBinary = if isArch64
+               then boot64
+               else boot32;
+
   sources = map fetchurl [
-    { url = "${baseurl}/config.tgz";              sha256 = "00vbg2kpwgkf272m697p5hd35pawficbrifchn7dnd519wpdx436"; }
-    { url = "${baseurl}/cm.tgz";                  sha256 = "0wxb0s2fwh7lbb3z2pfvmvhk5v0gm75kchkv7gg9f895ahyvm6yd"; }
-    { url = "${baseurl}/compiler.tgz";            sha256 = "0iq06ycivy562i59vvbma9zi575zw1djhdfkcy0bn7m9kfzzbgkh"; }
-    { url = "${baseurl}/runtime.tgz";             sha256 = "0km8p4vmy3m38xv0rl8d3mh2nlk2mvx010npm34gs374bmmzc7z9"; }
-    { url = "${baseurl}/system.tgz";              sha256 = "16d5vs1rn7ly6jxjm08222cj0sry73pr57xpc9d6k286b1v0910b"; }
-    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1c9sw8zm90ykas5nwbhk2wic7sxkjrylb610x37v46m5ips1wlma"; }
-    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "09ka20ym7ahrpj4r6vc5phflc8y57dj09qvwk8ambfwb2p2274sw"; }
-    { url = "${baseurl}/old-basis.tgz";           sha256 = "1bhq9fv6p8diz489h9571g0xrsi8yx7h6gh9410255klxjrw964h"; }
-    { url = "${baseurl}/ckit.tgz";                sha256 = "1lq9ljai0shc6hszx5v6bqmkz16a3f295mfg7q622apzgzark3vd"; }
-    { url = "${baseurl}/nlffi.tgz";               sha256 = "1xjmlwiclgckj73z5hz3hnqlavp3ax9sfvgc0rvj3xpy3i3n6axj"; }
-    { url = "${baseurl}/cml.tgz";                 sha256 = "1sjzipxnvr9dgcg16bllfk3b46ac9f8h353nh1ccykwwq4whi9bf"; }
-    { url = "${baseurl}/eXene.tgz";               sha256 = "04clbchrlqx5v35gkbydbfnpl720i4nqijkshiwn0v592n4xfdf4"; }
-    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "0max073nzwv7vx13caj7zmlhslvxlgg8rj52278g7f6fqcrwp5cf"; }
-    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0x2mbg45l71049sgvvkl6bnqc5svz70vh1m1rbf3xk41z5bapcgr"; }
-    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0a1pbwpw1y6d1xn9yjarqpmybrxqwp5snp28by36745h1jvb1p1b"; }
-    { url = "${baseurl}/ml-burg.tgz";             sha256 = "119mq5jrbkn9vf9fgb0wyz483hf26al9hwb91xpmlmfx5qqnfzik"; }
-    { url = "${baseurl}/pgraph.tgz";              sha256 = "1s7jmh3q88rz29bk02y3gzdqrgvk484j5ji8bn7s6fc78m50nqp8"; }
-    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1gzf1pbmw2cn5w6f5qfdm3d6n6069n1nnzz6z4v7mr07x54c6mdv"; }
-    { url = "${baseurl}/heap2asm.tgz";            sha256 = "09cgj568a9x017awysjdx35mlp5zkdmc2fs67fvnm5ifl7ivfs8j"; }
-    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1g4xhcxychs9q25x7a5lvqfamq52c5ljlx84bc5cazvpkhixyg04"; }
-    { url = "${baseurl}/doc.tgz";                 sha256 = "1l0x91dscizk2pyj1lw595r84h1h0shxh0x5hva891717a1hfa51"; }
-    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "0f6x4nfhrgm1z4dx862df2yaffdh1sd6zx2lyb2vph5mhp7x9n58"; }
-    { url = "${baseurl}/asdl.tgz";                sha256 = "1pi3m21jllyd2h0zpz4bajskfv58g6pjhpprqiwgmikn6w1pryp8"; }
+    bootBinary
+    { url = "${baseurl}/config.tgz";              sha256 = "09srqxkxl86iaz6l6dz83c1apsac0pxpfq6b74i6l0nfl261jibw"; }
+    { url = "${baseurl}/cm.tgz";                  sha256 = "0gh8inrb07z597axw8qipwyx52m8nac5d5r0rvgzvdnnjg9nr9zy"; }
+    { url = "${baseurl}/compiler.tgz";            sha256 = "1kk6jwzyc261l5nii3n8rwccmgvcj1mg5fgycfsfsiyyy1v8xfx7"; }
+    { url = "${baseurl}/runtime.tgz";             sha256 = "17i069h5cv411sgzx3ynlf4v3wlrxiba9bwy1b0x0cyhs879kppc"; }
+    { url = "${baseurl}/system.tgz";              sha256 = "0s8ij3wfxpjrmrwxrgrirfxjj8vkda6l32j88al5q1ic3ncwc58s"; }
+    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1v2d3gjxrcgc95x5glqcw0nfp13aapkcw03fyi70m3k1yc61izmz"; }
+    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "04i11ki8v9s7yz3lg6b0djhi03zzkzav0b5cr81ypxlkmf4hh6bp"; }
+    { url = "${baseurl}/old-basis.tgz";           sha256 = "1ryqpy0n7c9gd995ndmjvaci74f95nr8n1jjgm28yd1sn7hnavhi"; }
+    { url = "${baseurl}/ckit.tgz";                sha256 = "18mcs3j8c5gq9cmck7r175am60blaznqmhzyir622yfc8fpw1map"; }
+    { url = "${baseurl}/nlffi.tgz";               sha256 = "16mrl5aqbgsgljxa3z8kj5max9drddml34bq7rn1i78594jfvkwk"; }
+    { url = "${baseurl}/cml.tgz";                 sha256 = "00x784nv1pi6534k3vva26i9qx84cvw242vgwbs5020zkm6gvrmn"; }
+    { url = "${baseurl}/eXene.tgz";               sha256 = "143825h36v6z77kwvrvpszgwnhmjs3yldb18i9z4lwkqfb4kn7f7"; }
+    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "17ly9h9ry8r94dx6lkas6w2cxknwkpma4z9pj8rgzmd3w6qm7j1z"; }
+    { url = "${baseurl}/ml-lex.tgz";              sha256 = "1ja3l2kiq17754c58mwdiqi25f7ax0cji2wk0vq4872iwwxc22px"; }
+    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "1m48nkwvw87yg39sjihlw8na5m34bzz3d4zpfbjaj2f75fkjy3jf"; }
+    { url = "${baseurl}/ml-burg.tgz";             sha256 = "13nbvbah7bn8gjm4gi41m412vpl69wd6d3x3wzbb6xpia9vm4z4j"; }
+    { url = "${baseurl}/pgraph.tgz";              sha256 = "1aizkl8avz01kx221xy5z7a1a1b5xqn2hrk66wr8d0iav2nh5c98"; }
+    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1c80xgck9sb2rm554nfg4f5mpjkdbrwkcx88pj120056225l10vx"; }
+    { url = "${baseurl}/heap2asm.tgz";            sha256 = "1n68drd7as5dy20ccfvgd9cmnhfpfvz7g3f0gc8kpaqaz3vpy36g"; }
+    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1b6svh2kk5211rq73fdwx3sf80d2rshf0dmkkrq5mw4852nzqz3p"; }
+    { url = "${baseurl}/doc.tgz";                 sha256 = "021yzhy9maypq4ahz0d0qpr601spndg583fn9mapv6rl42kwhjq6"; }
+    { url = "${baseurl}/asdl.tgz";                sha256 = "0nqavqcbidwnphbbwjrxhpy8glbyad51wy0cpqimbsw3sgns0zkd"; }
   ];
 in stdenv.mkDerivation {
   pname = "smlnj";
@@ -37,6 +52,7 @@ in stdenv.mkDerivation {
   patchPhase = ''
     sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
     echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
+    patch --verbose config/_heap2exec ${./heap2exec.diff}
   '';
 
   unpackPhase = ''
@@ -50,7 +66,7 @@ in stdenv.mkDerivation {
   '';
 
   buildPhase = ''
-    ./config/install.sh
+    ./config/install.sh -default ${arch}
   '';
 
   installPhase = ''
@@ -67,7 +83,7 @@ in stdenv.mkDerivation {
     description = "Standard ML of New Jersey, a compiler";
     homepage    = http://smlnj.org;
     license     = licenses.bsd3;
-    platforms   = [ "i686-linux" ];
+    platforms   = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/smlnj/heap2exec.diff b/pkgs/development/compilers/smlnj/heap2exec.diff
new file mode 100644
index 00000000000..ef21a8e7f07
--- /dev/null
+++ b/pkgs/development/compilers/smlnj/heap2exec.diff
@@ -0,0 +1,9 @@
+@@ -35,7 +35,7 @@
+     BIN_DIR=${SMLNJ_HOME}/bin
+ fi
+ 
+-ARCH_N_OPSYS=`"$BIN_DIR/.arch-n-opsys $SIZE_OPT"`
++ARCH_N_OPSYS=`$BIN_DIR/.arch-n-opsys $SIZE_OPT`
+ if [ "$?" != "0" ]; then
+ 	die "unable to determine architecture/operating system"
+ fi
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index a39a6c4a2e4..35ee7de7a2d 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "souffle";
-  version = "1.6.1";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8";
+    sha256 = "0px8kh5875q2iyza4ylpa6vxpy6qxg0qvn2idk1j6dcdf5pdryph";
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix
new file mode 100644
index 00000000000..015c955000c
--- /dev/null
+++ b/pkgs/development/compilers/tinygo/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildGoModule, fetchFromGitHub, llvm, clang-unwrapped, lld, avrgcc
+, avrdude, openocd, gcc-arm-embedded, makeWrapper }:
+
+buildGoModule rec {
+  pname = "tinygo";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "tinygo-org";
+    repo = "tinygo";
+    rev = "v${version}";
+    sha256 = "03di8500dqk25giiajglcdf2gbc0jidsn8qsw2sxmkmnd1np7gyd";
+  };
+
+  modSha256 = "0r3lfi1bj550sf3b7ysz62c2c33f8zfli8208xixj3jadycb6r3z";
+  enableParallelBuilding = true;
+  subPackages = [ "." ];
+  buildInputs = [ llvm clang-unwrapped makeWrapper ];
+  propagatedBuildInputs = [ lld avrgcc avrdude openocd gcc-arm-embedded ];
+
+  postInstall = ''
+    mkdir -p $out/share/tinygo
+    cp -a lib src targets $out/share/tinygo
+    wrapProgram $out/bin/tinygo --prefix "TINYGOROOT" : "$out/share/tinygo"
+    ln -sf $out/bin $out/share/tinygo
+  '';
+
+  meta = with lib; {
+    homepage = "https://tinygo.org/";
+    description = "Go compiler for small places";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ chiiruno ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index d4e536484c4..2a8c07fa0fe 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -4,18 +4,18 @@
 
 stdenv.mkDerivation rec {
   pname = "unison-code-manager";
-  milestone_id = "M1d";
+  milestone_id = "M1g";
   version = "1.0.${milestone_id}-alpha";
 
   src = if (stdenv.isDarwin) then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz";
-      sha256 = "0cgkqwniw2fclsxgx6b1kgjmylqnn67kjs61iygzbpip8nvcm7pv";
+      sha256 = "186y7y7ffg976w01cbb8am84ajbifb7lcnsc4g3x262mkswr7lry";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
-      sha256 = "0rpz40d23daad16r2s4appiay3brbk0awp38yamavlr6dh23c9ws";
+      sha256 = "1ki9car1clpaspnl5jb5qnr6nzv108q279n8m8bjm8azfcnl61ab";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Modern, statically-typed purely functional language";
-    homepage = http://unisonweb.org/posts/;
-    license = licenses.free;
+    homepage = https://unisonweb.org/;
+    license = with licenses; [ mit bsd3 ];
     maintainers = [ maintainers.virusdave ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
   };
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 8079daf59a5..d84503caa60 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -106,18 +106,18 @@ in rec {
   };
 
   vala_0_40 = generic {
-    version = "0.40.16";
-    sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
+    version = "0.40.18";
+    sha256 = "1f7cdkjdysg4dcri1wbzdddm46amk2s48jkwb5ghpdvhjb4l5j2m";
   };
 
   vala_0_44 = generic {
-    version = "0.44.8";
-    sha256 = "0f7pc496zvxfhbkhg8ayxykjas6f55mgv452wsnh0bz5zbxm8xrl";
+    version = "0.44.11";
+    sha256 = "06spdvm9q9k4riq1d2fxkyc8d88bcv460v360465iy1lnj3z9x2s";
   };
 
   vala_0_46 = generic {
-    version = "0.46.2";
-    sha256 = "1g20fzcwh3j7ab46jalabyi005h2in0cp7xj0yga4b8hx29h61wj";
+    version = "0.46.5";
+    sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s";
   };
 
   vala = vala_0_46;
diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix
index 3d955c4394b..147ec13c555 100644
--- a/pkgs/development/compilers/x11basic/default.nix
+++ b/pkgs/development/compilers/x11basic/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "X11basic";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchFromGitHub {
     owner = "kollokollo";
     repo = pname;
     rev = version;
-    sha256 = "0rwj9cf496xailply0rgw695bzdladh2dhy7vdqac1pwbkl53nvd";
+    sha256 = "1hpxzdqnjl1fiwgs2vrjg4kxm29c7pqwk3g1m4p5pm4x33a3d1q2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index d4caabc6cb8..d05ec1a682a 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index 5f345c87355..5fe2473bac6 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation {
 
     # Set JAVA_HOME automatically.
     cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
   '';
 
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 898272d402b..588172aea61 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -5,8 +5,8 @@ let params =
     "8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; };
     "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
     "8.7" = { version = "0.9.7"; sha256 = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; };
-    "8.8" = { version = "0.9.8"; sha256 = "0z1ix855kdjl7zw5ca664h5njd1x8mmvf5wi37fck4dj9dgamwlz"; };
-    "8.9" = { version = "0.10.1"; sha256 = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95"; };
+    "8.8" = { version = "0.10.3"; sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; };
+    "8.9" = { version = "0.10.3"; sha256 = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb"; };
   };
   param = params.${coq.coq-version};
 in
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/coq-ext-lib/coq-ext-lib;
     description = "A collection of theories and plugins that may be useful in other Coq developments";
-    maintainers = with maintainers; [ jwiegley ];
+    maintainers = with maintainers; [ jwiegley ptival ];
     platforms = coq.meta.platforms;
   };
 
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 6798236591c..3c0a9632c95 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -108,7 +108,7 @@ let
         '';
 
         meta = with stdenv.lib; {
-          homepage = http://ssr.msr-inria.inria.fr/;
+          homepage = "https://math-comp.github.io/";
           license = licenses.cecill-b;
           maintainers = [ maintainers.vbgl maintainers.jwiegley ];
           platforms = coq.meta.platforms;
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index 86a1301d3c7..fee6de7b35b 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -1,13 +1,36 @@
-{stdenv, fetchurl, coq, unzip}:
+{stdenv, fetchFromGitHub, coq, unzip}:
+
+let
+  versions = {
+    pre_8_6 = rec {
+      rev = "v${version}";
+      version = "1.2.8";
+      sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb";
+    };
+    post_8_6 = rec {
+      rev = "v${version}";
+      version = "4.0.0";
+      sha256 = "1ncrdyijkgf0s2q4rg1s9r2nrcb17gq3jz63iqdlyjq3ylv8gyx0";
+    };
+  };
+  params = {
+    "8.5" = versions.pre_8_6;
+    "8.6" = versions.post_8_6;
+    "8.7" = versions.post_8_6;
+    "8.8" = versions.post_8_6;
+    "8.9" = versions.post_8_6;
+  };
+  param = params.${coq.coq-version};
+in
 
 stdenv.mkDerivation rec {
-
+  inherit (param) version;
   name = "coq-paco-${coq.coq-version}-${version}";
-  version = "1.2.8";
 
-  src = fetchurl {
-    url = "http://plv.mpi-sws.org/paco/paco-${version}.zip";
-    sha256 = "1lcmdr0y2d7gzyvr8dal3pi7fibbd60bpi1l32fw89xiyrgqhsqy";
+  src = fetchFromGitHub {
+    inherit (param) rev sha256;
+    owner = "snu-sf";
+    repo = "paco";
   };
 
   buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
@@ -24,12 +47,12 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://plv.mpi-sws.org/paco/;
     description = "A Coq library implementing parameterized coinduction";
-    maintainers = with maintainers; [ jwiegley ];
+    maintainers = with maintainers; [ jwiegley ptival ];
     platforms = coq.meta.platforms;
   };
 
   passthru = {
-    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
+    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
   };
 
 }
diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix
index d1e7ac882d7..a260beb5104 100644
--- a/pkgs/development/em-modules/generic/default.nix
+++ b/pkgs/development/em-modules/generic/default.nix
@@ -10,8 +10,8 @@ pkgs.stdenv.mkDerivation (
   args //
   {
 
-  pname = "emscripten-${args.pname or (builtins.parseDrvName args.name).name}";
-  version = args.version or (builtins.parseDrvName args.name).version;
+  pname = "emscripten-${lib.getName args}";
+  version = lib.getVersion args;
   buildInputs = [ emscripten python ] ++ buildInputs;
   nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs;
 
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 9adebe51247..b3c583da51e 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -10,6 +10,9 @@
 # A function to override the go-modules derivation
 , overrideModAttrs ? (_oldAttrs : {})
 
+# path to go.mod and go.sum directory
+, modRoot ? "./"
+
 # modSha256 is the sha256 of the vendored dependencies
 , modSha256
 
@@ -58,7 +61,7 @@ let
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
       mkdir -p "''${GOPATH}/pkg/mod/cache/download"
-
+      cd "${modRoot}"
       runHook postConfigure
     '';
 
@@ -98,8 +101,11 @@ let
 
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
+      export GOSUMDB=off
       export GOPROXY=file://${go-modules}
 
+      cd "$modRoot"
+
       runHook postConfigure
     '';
 
diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix
index b3386aaf24b..03d777d5c88 100644
--- a/pkgs/development/go-packages/generic/default.nix
+++ b/pkgs/development/go-packages/generic/default.nix
@@ -84,6 +84,8 @@ let
     GOHOSTARCH = go.GOHOSTARCH or null;
     GOHOSTOS = go.GOHOSTOS or null;
 
+    GO111MODULE = "off";
+
     GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
 
     configurePhase = args.configurePhase or ''
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index c9ac52c46ea..90030c0c8d1 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -74,7 +74,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 = "0gfb7r3pj2cdzbm2lbymlx27kgy2adnvlzpv4s3lmdfpyzgflf1y";
+      sha256 = "04l1yrjq7n4nlzkmkg73xp6p7vpw1iq53mrmyb8162wqb7zapg4f";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -275,6 +275,7 @@ self: super: {
   dlist = dontCheck super.dlist;
   docopt = dontCheck super.docopt;                      # http://hydra.cryp.to/build/499172/log/raw
   dom-selector = dontCheck super.dom-selector;          # http://hydra.cryp.to/build/497670/log/raw
+  dotenv = dontCheck super.dotenv;                      # Tests fail because of missing test file on version 0.8.0.2 fixed on version 0.8.0.4
   dotfs = dontCheck super.dotfs;                        # http://hydra.cryp.to/build/498599/log/raw
   DRBG = dontCheck super.DRBG;                          # http://hydra.cryp.to/build/498245/nixlog/1/raw
   ed25519 = dontCheck super.ed25519;
@@ -288,6 +289,7 @@ self: super: {
   ghc-parmake = dontCheck super.ghc-parmake;
   ghcid = dontCheck super.ghcid;
   git-vogue = dontCheck super.git-vogue;
+  github-rest = dontCheck super.github-rest;  # test suite needs the network
   gitlib-cmdline = dontCheck super.gitlib-cmdline;
   GLFW-b = dontCheck super.GLFW-b;                      # https://github.com/bsl/GLFW-b/issues/50
   hackport = dontCheck super.hackport;
@@ -321,8 +323,8 @@ self: super: {
   influxdb = dontCheck super.influxdb;
   itanium-abi = dontCheck super.itanium-abi;
   katt = dontCheck super.katt;
-  language-slice = dontCheck super.language-slice;
   language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275
+  language-slice = dontCheck super.language-slice;
   ldap-client = dontCheck super.ldap-client;
   lensref = dontCheck super.lensref;
   lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
@@ -368,6 +370,8 @@ self: super: {
   separated = dontCheck super.separated;
   shadowsocks = dontCheck super.shadowsocks;
   shake-language-c = dontCheck super.shake-language-c;
+  snap-core = dontCheck super.snap-core;
+  sourcemap = dontCheck super.sourcemap;
   static-resources = dontCheck super.static-resources;
   strive = dontCheck super.strive;                      # fails its own hlint test with tons of warnings
   svndump = dontCheck super.svndump;
@@ -384,14 +388,17 @@ self: super: {
   webdriver = dontCheck super.webdriver;
   webdriver-angular = dontCheck super.webdriver-angular;
   xsd = dontCheck super.xsd;
-  snap-core = dontCheck super.snap-core;
-  sourcemap = dontCheck super.sourcemap;
   zip-archive = dontCheck super.zip-archive;  # https://github.com/jgm/zip-archive/issues/57
 
   # These test suites run for ages, even on a fast machine. This is nuts.
   Random123 = dontCheck super.Random123;
   systemd = dontCheck super.systemd;
 
+  # use the correct version of network
+  systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override {
+    network = self.network_3_1_1_1;
+  });
+
   # https://github.com/eli-frey/cmdtheline/issues/28
   cmdtheline = dontCheck super.cmdtheline;
 
@@ -509,7 +516,9 @@ self: super: {
      else dontCheck super.tasty-discover);
 
   # generic-deriving bound is too tight
-  aeson = doJailbreak super.aeson;
+  # aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4
+  # https://github.com/bos/aeson/issues/740
+  aeson = dontCheck (doJailbreak super.aeson);
 
   # containers >=0.4 && <0.6 is too tight
   # https://github.com/RaphaelJ/friday/issues/34
@@ -1048,8 +1057,7 @@ self: super: {
     generateOptparseApplicativeCompletion "dhall" (
       dontCheck super.dhall
   );
-  dhall_1_27_0 = dontCheck super.dhall_1_27_0;
-
+  dhall_1_28_0 = dontCheck super.dhall_1_28_0;
 
   # Missing test files in source distribution, fixed once 1.4.0 is bumped
   # https://github.com/dhall-lang/dhall-haskell/pull/997
@@ -1076,6 +1084,7 @@ self: super: {
 
   # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
   haddock-library = doJailbreak (dontCheck super.haddock-library);
+  haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0;
 
   # Generate shell completion.
   cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
@@ -1114,8 +1123,23 @@ self: super: {
   # https://github.com/snapframework/xmlhtml/pull/37
   xmlhtml = doJailbreak super.xmlhtml;
 
-  # Generate shell completions
-  purescript = generateOptparseApplicativeCompletion "purs" super.purescript;
+  purescript =
+    let
+      purescriptWithOverrides = super.purescript.override {
+        # PureScript requires an older version of happy.
+        happy = self.happy_1_19_9;
+      };
+
+      # PureScript is built against LTS-13, so we need to jailbreak it to
+      # accept more recent versions of the libraries it requires.
+      jailBrokenPurescript = doJailbreak purescriptWithOverrides;
+
+      # Haddocks for PureScript can't be built.
+      # https://github.com/purescript/purescript/pull/3745
+      dontHaddockPurescript = dontHaddock jailBrokenPurescript;
+    in
+    # Generate shell completions
+    generateOptparseApplicativeCompletion "purs" dontHaddockPurescript;
 
   # https://github.com/kcsongor/generic-lens/pull/65
   generic-lens = dontCheck super.generic-lens;
@@ -1166,18 +1190,6 @@ self: super: {
   # test suite failure: https://github.com/jgm/pandoc/issues/5582
   pandoc = dontCheck super.pandoc;
 
-  # The latest release version is ancient. You really need this tool from git.
-  haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
-    (addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
-      version = "20190814-git";
-      src = pkgs.fetchFromGitHub {
-        owner = "haskell-CI";
-        repo = "haskell-ci";
-        rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
-        sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
-      };
-  }) (with self; [temporary lattices Cabal_3_0_0_0]));
-
   # Fix build with attr-2.4.48 (see #53716)
   xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
 
@@ -1202,8 +1214,8 @@ self: super: {
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
   # Requires dhall >= 1.23.0
-  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_27_0; };
-  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_27_0; };
+  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; };
+  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; };
 
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
@@ -1213,7 +1225,7 @@ self: super: {
   constraints-deriving = dontCheck super.constraints-deriving;
 
   # need newer version of ghc-libparser
-  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1; };
+  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; };
 
   # https://github.com/sol/hpack/issues/366
   hpack = self.hpack_0_33_0;
@@ -1233,8 +1245,9 @@ self: super: {
     '';
   });
 
-  # The LTS-14.x version of optparse-applicative is too old.
-  cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; };
+  # The LTS-14.x version of their dependencies are too old.
+  cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_0; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
+  hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
 
   # Version bounds for http-client are too strict:
   # https://github.com/bitnomial/prometheus/issues/34
@@ -1274,22 +1287,44 @@ self: super: {
 
   # polysemy-plugin requires polysemy >= 1.2.0.0
   polysemy = self.polysemy_1_2_3_0;
-
-  # The polysemy-plugin tests failed because it couldn't find
-  # the polysemy-plugin package in the doctests:
-  # https://github.com/NixOS/nixpkgs/issues/71164
-  # I've addressed this with a PR upstream:
-  # https://github.com/polysemy-research/polysemy/pull/265
-  # the patch of which is applied here.
-  polysemy-plugin = appendPatch (addSetupDepend super.polysemy-plugin self.cabal-doctest) (pkgs.fetchpatch {
-    url = "https://github.com/polysemy-research/polysemy/pull/265.patch";
-    sha256 = "19237js70chq84w7vqgvj49n6bs9lp95k13ia3xzbr1r9yyrfkhq";
-    stripLen = 1;
-  });
-
   polysemy-zoo = self.polysemy-zoo_0_6_0_1;
 
   # https://github.com/Happstack/web-routes-th/pull/3
   web-routes-th = doJailbreak super.web-routes-th;
 
+  # Remove for hail > 0.2.0.0
+  hail = overrideCabal super.hail (drv: {
+    patches = [
+      (pkgs.fetchpatch {
+        # Relax dependency constraints,
+        # upstream PR: https://github.com/james-preston/hail/pull/13
+        url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/13.patch";
+        sha256 = "039p5mqgicbhld2z44cbvsmam3pz0py3ybaifwrjsn1y69ldsmkx";
+      })
+      (pkgs.fetchpatch {
+        # Relax dependency constraints,
+        # upstream PR: https://github.com/james-preston/hail/pull/15
+        url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/15.patch";
+        sha256 = "03kdvr8hxi6isb8yxp5rgcmz855n19m1yacn3d56a4i58j2mldjw";
+      })
+    ];
+  });
+
+  # Needs the corresponding version of haskell-src-exts.
+  haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
+
+  # https://github.com/Daniel-Diaz/HaTeX/issues/144
+  HaTeX = dontCheck super.HaTeX;
+
+  # https://github.com/kazu-yamamoto/dns/issues/150
+  dns = dontCheck super.dns;
+
+  # needs newer version of the systemd package
+  spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
+
+  # ghcide needs the latest versions of haskell-lsp.
+  ghcide = super.ghcide.override { haskell-lsp = self.haskell-lsp_0_18_0_0; lsp-test = self.lsp-test_0_8_2_0; };
+  haskell-lsp_0_18_0_0 = super.haskell-lsp_0_18_0_0.override { haskell-lsp-types = self.haskell-lsp-types_0_18_0_0; };
+  lsp-test_0_8_2_0 = (dontCheck super.lsp-test_0_8_2_0).override { haskell-lsp = self.haskell-lsp_0_18_0_0; };
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 5c54a90ce7e..b785c531479 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -67,22 +67,50 @@ self: super: {
   # TODO: remove when upstream accepts https://github.com/snapframework/io-streams-haproxy/pull/17
   io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
   snap-server = doJailbreak super.snap-server;
+  xmobar = doJailbreak super.xmobar;
 
   # use latest version to fix the build
+  brick = self.brick_0_50_1;
+  dbus = self.dbus_1_2_11;
+  doctemplates = self.doctemplates_0_8;
+  exact-pi = doJailbreak super.exact-pi;
   generics-sop = self.generics-sop_0_5_0_0;
   hackage-db = self.hackage-db_2_1_0;
+  haddock-library = self.haddock-library_1_8_0;
+  haskell-src-meta = self.haskell-src-meta_0_8_5;
+  haskell-src-meta_0_8_5 = dontCheck super.haskell-src-meta_0_8_5;
+  HaTeX = self.HaTeX_3_22_0_0;
+  HsYAML = self.HsYAML_0_2_1_0;
+  json-autotype = doJailbreak super.json-autotype;
   lens = self.lens_4_18_1;
   memory = self.memory_0_15_0;
   microlens = self.microlens_0_4_11_2;
+  microlens-ghc = self.microlens-ghc_0_4_11_1;
+  microlens-mtl = self.microlens-mtl_0_2_0_1;
+  microlens-platform = self.microlens-platform_0_4_0;
+  microlens-th = self.microlens-th_0_4_3_2;
+  network = self.network_3_1_1_1;
   optparse-applicative = self.optparse-applicative_0_15_1_0;
+  pandoc = self.pandoc_2_9;
+  pandoc-types = self.pandoc-types_1_20;
+  prettyprinter = self.prettyprinter_1_5_1;
   primitive = dontCheck super.primitive_0_7_0_0;  # evaluating the test suite gives an infinite recursion
   regex-base = self.regex-base_0_94_0_0;
+  regex-compat = self.regex-compat_0_95_2_0;
   regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
   regex-posix = self.regex-posix_0_96_0_0;
-  regex-tdfa = self.regex-tdfa_1_3_0;
+  regex-tdfa = self.regex-tdfa_1_3_1_0;
   shelly = self.shelly_1_9_0;
+  singletons = self.singletons_2_6;
+  skylighting = self.skylighting_0_8_3;
+  skylighting-core = self.skylighting-core_0_8_3;
   sop-core = self.sop-core_0_5_0_0;
+  texmath = self.texmath_0_12;
+  th-desugar = self.th-desugar_1_10;
   tls = self.tls_1_5_2;
+  trifecta = self.trifecta_2_1;
+  vty = self.vty_5_26;
+  xml-conduit = overrideCabal super.xml-conduit (drv: { version = "1.9.0.0"; sha256 = "1p57v127882rxvvmwjmvnqdmk3x2wg1z4d8y03849h0xaz1vid0w"; });
   xmonad-contrib = self.xmonad-contrib_0_16;
 
   # These packages don't work and need patching and/or an update.
@@ -95,18 +123,8 @@ self: super: {
     sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
   });
   foundation = dontCheck super.foundation;
-  haskell-src-meta = appendPatch (dontCheck (doJailbreak super.haskell-src-meta)) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/haskell-src-meta-0.8.3.patch";
-    sha256 = "1asl932mibr5y057xx8v1a7n3qy87lcnclsfh8pbxq1m3iwjkxy8";
-  });
   vault = dontHaddock super.vault;
-  monad-par = dontCheck super.monad-par;   # test suite does not compile in monad-par-0.3.4.8
 
-  # TODO dont fetch patch if https://github.com/simonmar/alex/issues/140 is resolved
-  alex = appendPatch super.alex (pkgs.fetchpatch {
-    url = "https://github.com/simonmar/alex/commit/deaae6eddef5186bfd0e42e2c3ced39e26afa4d6.patch";
-    sha256 = "1v40gmnw4lqyk271wngdwz8whpfdhmza58srbkka8icwwwrck3l5";
-  });
   # https://github.com/snapframework/snap-core/issues/288
   snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail   = Fail.fail' ''"; });
   # needs a release
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 611e7a24e0e..0645db14eb0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,7 +43,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.12
+  # LTS Haskell 14.17
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -55,24 +55,24 @@ default-package-overrides:
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
   - advent-of-code-api ==0.1.2.3
-  - aeson ==1.4.5.0
+  - aeson ==1.4.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.2.0.0
   - aeson-compat ==0.3.9
-  - aeson-diff ==1.1.0.7
+  - aeson-diff ==1.1.0.8
   - aeson-extra ==0.4.1.3
   - aeson-generic-compat ==0.0.1.3
   - aeson-iproute ==0.2
   - aeson-picker ==0.1.0.5
   - aeson-pretty ==0.8.8
-  - aeson-qq ==0.8.2
+  - aeson-qq ==0.8.3
   - aeson-utils ==0.3.0.2
   - aeson-yak ==0.1.1.3
   - al ==0.1.4.2
   - alarmclock ==0.7.0.2
   - alerts ==0.1.2.0
-  - alex ==3.2.4
+  - alex ==3.2.5
   - alg ==0.2.12.0
   - algebraic-graphs ==0.4
   - Allure ==0.9.5.0
@@ -84,102 +84,13 @@ default-package-overrides:
   - alternative-vector ==0.0.0
   - alternators ==1.0.0.0
   - ALUT ==2.4.0.3
-  - amazonka ==1.6.1
-  - amazonka-apigateway ==1.6.1
-  - amazonka-application-autoscaling ==1.6.1
-  - amazonka-appstream ==1.6.1
-  - amazonka-athena ==1.6.1
-  - amazonka-autoscaling ==1.6.1
-  - amazonka-budgets ==1.6.1
-  - amazonka-certificatemanager ==1.6.1
-  - amazonka-cloudformation ==1.6.1
-  - amazonka-cloudfront ==1.6.1
-  - amazonka-cloudhsm ==1.6.1
-  - amazonka-cloudsearch ==1.6.1
-  - amazonka-cloudsearch-domains ==1.6.1
-  - amazonka-cloudtrail ==1.6.1
-  - amazonka-cloudwatch ==1.6.1
-  - amazonka-cloudwatch-events ==1.6.1
-  - amazonka-cloudwatch-logs ==1.6.1
-  - amazonka-codebuild ==1.6.1
-  - amazonka-codecommit ==1.6.1
-  - amazonka-codedeploy ==1.6.1
-  - amazonka-codepipeline ==1.6.1
-  - amazonka-cognito-identity ==1.6.1
-  - amazonka-cognito-idp ==1.6.1
-  - amazonka-cognito-sync ==1.6.1
-  - amazonka-config ==1.6.1
-  - amazonka-core ==1.6.1
-  - amazonka-datapipeline ==1.6.1
-  - amazonka-devicefarm ==1.6.1
-  - amazonka-discovery ==1.6.1
-  - amazonka-dms ==1.6.1
-  - amazonka-ds ==1.6.1
-  - amazonka-dynamodb ==1.6.1
-  - amazonka-dynamodb-streams ==1.6.1
-  - amazonka-ecr ==1.6.1
-  - amazonka-ecs ==1.6.1
-  - amazonka-efs ==1.6.1
-  - amazonka-elasticache ==1.6.1
-  - amazonka-elasticbeanstalk ==1.6.1
-  - amazonka-elasticsearch ==1.6.1
-  - amazonka-elastictranscoder ==1.6.1
-  - amazonka-elb ==1.6.1
-  - amazonka-elbv2 ==1.6.1
-  - amazonka-emr ==1.6.1
-  - amazonka-gamelift ==1.6.1
-  - amazonka-glacier ==1.6.1
-  - amazonka-glue ==1.6.1
-  - amazonka-health ==1.6.1
-  - amazonka-iam ==1.6.1
-  - amazonka-importexport ==1.6.1
-  - amazonka-inspector ==1.6.1
-  - amazonka-iot ==1.6.1
-  - amazonka-iot-dataplane ==1.6.1
-  - amazonka-kinesis ==1.6.1
-  - amazonka-kinesis-analytics ==1.6.1
-  - amazonka-kinesis-firehose ==1.6.1
-  - amazonka-kms ==1.6.1
-  - amazonka-lambda ==1.6.1
-  - amazonka-lightsail ==1.6.1
-  - amazonka-marketplace-analytics ==1.6.1
-  - amazonka-marketplace-metering ==1.6.1
-  - amazonka-ml ==1.6.1
-  - amazonka-opsworks ==1.6.1
-  - amazonka-opsworks-cm ==1.6.1
-  - amazonka-pinpoint ==1.6.1
-  - amazonka-polly ==1.6.1
-  - amazonka-rds ==1.6.1
-  - amazonka-redshift ==1.6.1
-  - amazonka-rekognition ==1.6.1
-  - amazonka-route53 ==1.6.1
-  - amazonka-route53-domains ==1.6.1
-  - amazonka-s3 ==1.6.1
-  - amazonka-sdb ==1.6.1
-  - amazonka-servicecatalog ==1.6.1
-  - amazonka-ses ==1.6.1
-  - amazonka-shield ==1.6.1
-  - amazonka-sms ==1.6.1
-  - amazonka-snowball ==1.6.1
-  - amazonka-sns ==1.6.1
-  - amazonka-sqs ==1.6.1
-  - amazonka-ssm ==1.6.1
-  - amazonka-stepfunctions ==1.6.1
-  - amazonka-storagegateway ==1.6.1
-  - amazonka-sts ==1.6.1
-  - amazonka-support ==1.6.1
-  - amazonka-swf ==1.6.1
-  - amazonka-test ==1.6.1
-  - amazonka-waf ==1.6.1
-  - amazonka-workspaces ==1.6.1
-  - amazonka-xray ==1.6.1
   - amqp ==0.18.3
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.9.1
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
   - aos-signature ==0.1.1
-  - apecs ==0.8.1
+  - apecs ==0.8.2
   - apecs-gloss ==0.2.3
   - apecs-physics ==0.4.2
   - api-field-json-th ==0.1.0.2
@@ -200,7 +111,7 @@ default-package-overrides:
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.3
   - assert-failure ==0.1.2.2
-  - assoc ==1
+  - assoc ==1.0.1
   - astro ==0.4.2.1
   - async ==2.2.2
   - async-extra ==0.2.0.0
@@ -209,7 +120,7 @@ default-package-overrides:
   - async-timer ==0.2.0.0
   - atom-basic ==0.2.5
   - atomic-primops ==0.8.3
-  - atomic-write ==0.2.0.6
+  - atomic-write ==0.2.0.7
   - attoparsec ==0.13.2.3
   - attoparsec-base64 ==0.0.0
   - attoparsec-binary ==0.2
@@ -220,18 +131,18 @@ default-package-overrides:
   - attoparsec-uri ==0.0.7
   - audacity ==0.0.2
   - aur ==6.2.0.1
-  - authenticate ==1.3.4
+  - authenticate ==1.3.5
   - authenticate-oauth ==1.6.0.1
   - auto ==0.4.3.1
-  - autoexporter ==1.1.14
+  - autoexporter ==1.1.15
   - auto-update ==0.1.6
   - avers ==0.0.17.1
   - avers-api ==0.1.0
   - avers-server ==0.1.0.1
-  - avro ==0.4.5.3
+  - avro ==0.4.5.4
   - avwx ==0.3.0.2
   - aws-cloudfront-signed-cookies ==0.2.0.1
-  - aws-lambda-haskell-runtime ==2.0.1
+  - aws-lambda-haskell-runtime ==2.0.2
   - backprop ==0.2.6.3
   - bank-holidays-england ==0.2.0.2
   - barbies ==1.1.3.0
@@ -262,10 +173,10 @@ default-package-overrides:
   - benchpress ==0.2.2.12
   - bench-show ==0.3.0
   - bencode ==0.6.0.0
-  - bencoding ==0.4.5.1
+  - bencoding ==0.4.5.2
   - between ==0.11.0.0
   - bibtex ==0.1.0.6
-  - bifunctors ==5.5.5
+  - bifunctors ==5.5.6
   - bimap ==0.4.0
   - bimap-server ==0.1.0.1
   - binary-bits ==0.5
@@ -311,7 +222,7 @@ default-package-overrides:
   - boltzmann-samplers ==0.1.1.0
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
-  - boolean-normal-forms ==0.0.1
+  - boolean-normal-forms ==0.0.1.1
   - boolsimplifier ==0.1.8
   - boots ==0.0.100
   - bordacount ==0.1.0.0
@@ -356,7 +267,7 @@ default-package-overrides:
   - cabal-doctest ==1.0.8
   - cabal-file-th ==0.2.6
   - cabal-rpm ==1.0.1
-  - cache ==0.1.1.2
+  - cache ==0.1.2.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.1.0
@@ -368,7 +279,7 @@ default-package-overrides:
   - casing ==0.1.4.1
   - cassava ==0.5.2.0
   - cassava-conduit ==0.5.1
-  - cassava-megaparsec ==2.0.0
+  - cassava-megaparsec ==2.0.1
   - cassava-records ==0.1.0.4
   - cast ==0.1.0.2
   - caster ==0.0.3.0
@@ -397,10 +308,10 @@ default-package-overrides:
   - checkers ==0.5.2
   - checksum ==0.0
   - chimera ==0.2.0.0
-  - chiphunk ==0.1.2.0
+  - chiphunk ==0.1.2.1
   - choice ==0.2.2
   - chronologique ==0.3.1.1
-  - chronos ==1.0.7
+  - chronos ==1.0.9
   - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -415,7 +326,7 @@ default-package-overrides:
   - classy-prelude ==1.5.0
   - classy-prelude-conduit ==1.5.0
   - classy-prelude-yesod ==1.5.0
-  - clay ==0.13.1
+  - clay ==0.13.3
   - clientsession ==0.9.1.2
   - Clipboard ==2.3.2.0
   - clock ==0.8
@@ -425,7 +336,7 @@ default-package-overrides:
   - clr-marshal ==0.2.0.0
   - clumpiness ==0.17.0.2
   - cmark ==0.6
-  - cmark-gfm ==0.2.0
+  - cmark-gfm ==0.2.1
   - cmdargs ==0.10.20
   - codec ==0.2.1
   - codec-beam ==0.2.0
@@ -444,7 +355,7 @@ default-package-overrides:
   - comfort-array ==0.4
   - comfort-graph ==0.0.3.1
   - commutative ==0.0.2
-  - comonad ==5.0.5
+  - comonad ==5.0.6
   - compact ==0.1.0.1
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.3
@@ -477,18 +388,18 @@ default-package-overrides:
   - connection ==0.3.1
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
-  - constraint ==0.1.3.0
+  - constraint ==0.1.4.0
   - constraints ==0.10.1
   - contravariant ==1.5.2
-  - contravariant-extras ==0.3.4
+  - contravariant-extras ==0.3.5
   - control-bool ==0.2.1
   - control-dsl ==0.2.1.3
   - control-monad-free ==0.6.2
   - control-monad-omega ==0.3.2
   - convertible ==1.1.1.0
-  - cookie ==0.4.4
-  - core-data ==0.2.0.0
-  - core-text ==0.2.0.0
+  - cookie ==0.4.5
+  - core-data ==0.2.1.4
+  - core-text ==0.2.2.4
   - countable ==1.0
   - country ==0.1.6
   - courier ==0.1.1.5
@@ -497,7 +408,7 @@ default-package-overrides:
   - cprng-aes ==0.6.1
   - cpu ==0.1.2
   - cpuinfo ==0.1.0.1
-  - cql ==4.0.1
+  - cql ==4.0.2
   - cql-io ==1.1.1
   - crackNum ==2.3
   - crc32c ==0.0.0
@@ -563,7 +474,7 @@ default-package-overrides:
   - data-diverse ==4.6.0.0
   - data-diverse-lens ==4.3.0.0
   - datadog ==0.2.4.0
-  - data-dword ==0.3.1.2
+  - data-dword ==0.3.1.3
   - data-endian ==0.1.1
   - data-fix ==0.2.0
   - data-has ==0.3.0.0
@@ -576,9 +487,9 @@ default-package-overrides:
   - data-ordlist ==0.4.7.0
   - data-ref ==0.0.2
   - data-reify ==0.6.1
-  - data-serializer ==0.3.4
+  - data-serializer ==0.3.4.1
   - datasets ==0.4.0
-  - data-textual ==0.3.0.2
+  - data-textual ==0.3.0.3
   - data-tree-print ==0.1.0.2
   - dataurl ==0.1.0.0
   - DAV ==1.3.3
@@ -601,27 +512,27 @@ default-package-overrides:
   - dependent-sum-template ==0.0.0.6
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-compat ==0.5.7
-  - derulo ==1.0.5
+  - deriving-compat ==0.5.8
+  - derulo ==1.0.7
   - detour-via-sci ==1.0.0
   - dhall ==1.24.0
   - dhall-bash ==1.0.21
   - dhall-json ==1.3.0
   - diagrams ==1.4
-  - diagrams-contrib ==1.4.3
+  - diagrams-contrib ==1.4.4
   - diagrams-core ==1.4.2
-  - diagrams-lib ==1.4.2.3
+  - diagrams-lib ==1.4.3
   - diagrams-postscript ==1.4.1
   - diagrams-rasterific ==1.4.1.1
   - diagrams-solve ==0.1.1
   - diagrams-svg ==1.4.2
-  - di-core ==1.0.3
+  - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.3.4
   - digest ==0.0.1.2
   - digits ==0.3.1
   - dimensional ==1.3
-  - di-monad ==1.3
+  - di-monad ==1.3.1
   - directory-tree ==0.12.1
   - direct-sqlite ==2.3.24
   - discount ==0.1.1
@@ -633,18 +544,18 @@ default-package-overrides:
   - dlist ==0.8.0.7
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==4.0.0
+  - dns ==4.0.1
   - dockerfile ==0.2.0
   - docopt ==0.7.0.5
   - doctemplates ==0.2.2.1
   - doctest ==0.16.2
   - doctest-discover ==0.2.0.0
-  - doctest-driver-gen ==0.3.0.1
+  - doctest-driver-gen ==0.3.0.2
   - doldol ==0.4.1.2
   - do-list ==1.0.1
   - dom-parser ==3.1.0
   - do-notation ==0.1.0.2
-  - dotenv ==0.8.0.2
+  - dotenv ==0.8.0.4
   - dotgen ==0.4.2
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
@@ -680,7 +591,7 @@ default-package-overrides:
   - elerea ==2.9.0
   - elf ==0.30
   - eliminators ==0.5.1
-  - elm2nix ==0.1.1
+  - elm2nix ==0.1.2
   - elm-bridge ==0.5.2
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
@@ -753,7 +664,7 @@ default-package-overrides:
   - filecache ==0.4.1
   - file-embed ==0.0.11
   - file-embed-lzma ==0
-  - filelock ==0.1.1.3
+  - filelock ==0.1.1.4
   - filemanip ==0.3.6.3
   - file-modules ==0.1.2.4
   - filepattern ==0.1.1
@@ -773,10 +684,10 @@ default-package-overrides:
   - fixed-vector-hetero ==0.5.0.0
   - flac ==0.2.0
   - flac-picture ==0.1.2
-  - flags-applicative ==0.1.0.1
+  - flags-applicative ==0.1.0.2
   - flat-mcmc ==1.5.0
   - flay ==0.4
-  - flexible-defaults ==0.0.2
+  - flexible-defaults ==0.0.3
   - FloatingHex ==0.4
   - floatshow ==0.2.4
   - flow ==1.0.19
@@ -796,11 +707,11 @@ default-package-overrides:
   - force-layout ==0.4.0.6
   - foreign-store ==0.2
   - forkable-monad ==0.2.0.3
-  - forma ==1.1.2
+  - forma ==1.1.3
   - format-numbers ==0.1.0.0
   - formatting ==6.3.7
   - foundation ==0.0.25
-  - free ==5.1.2
+  - free ==5.1.3
   - freenect ==1.2.1
   - freer-simple ==1.2.1.1
   - freetype2 ==0.1.2
@@ -823,7 +734,7 @@ default-package-overrides:
   - gauge ==0.2.5
   - gc ==0.0.3
   - gd ==3000.7.3
-  - gdp ==0.0.0.2
+  - gdp ==0.0.3.0
   - general-games ==1.1.1
   - generic-arbitrary ==0.1.0
   - generic-data ==0.7.0.0
@@ -859,7 +770,7 @@ default-package-overrides:
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
   - ghc-exactprint ==0.6.1
-  - ghcid ==0.7.6
+  - ghcid ==0.7.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghc-lib ==8.8.0.20190424
@@ -888,7 +799,7 @@ default-package-overrides:
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.22
   - githash ==0.1.3.3
-  - github-release ==1.2.4
+  - github-release ==1.2.5
   - github-types ==0.2.1
   - github-webhooks ==0.10.1
   - gitrev ==1.3.1
@@ -936,14 +847,14 @@ default-package-overrides:
   - hackage-db ==2.0.1
   - hackage-security ==0.5.3.0
   - haddock-library ==1.7.0
-  - hadolint ==1.17.2
+  - hadolint ==1.17.3
   - half ==0.3
   - hamilton ==0.1.0.3
   - hamtsolo ==1.0.3
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.3.9.3
+  - hapistrano ==0.3.10.0
   - happy ==1.19.12
-  - hasbolt ==0.1.3.5
+  - hasbolt ==0.1.3.6
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
   - hashids ==1.0.2.4
@@ -956,7 +867,7 @@ default-package-overrides:
   - haskell-lexer ==1.0.2
   - haskell-lsp ==0.15.0.0
   - haskell-lsp-types ==0.15.0.0
-  - haskell-names ==0.9.6
+  - haskell-names ==0.9.7
   - haskell-spacegoo ==0.2.0.1
   - haskell-src ==1.0.3.0
   - haskell-src-exts ==1.21.1
@@ -964,8 +875,8 @@ default-package-overrides:
   - haskell-src-meta ==0.8.3
   - haskey-btree ==0.3.0.1
   - haskintex ==0.8.0.0
-  - haskoin-core ==0.9.5
-  - hasql ==1.4
+  - haskoin-core ==0.9.7
+  - hasql ==1.4.0.1
   - hasql-optparse-applicative ==0.3.0.5
   - hasql-pool ==0.5.1
   - hasql-transaction ==0.7.2
@@ -974,7 +885,7 @@ default-package-overrides:
   - haxl ==2.1.2.0
   - hbeanstalk ==0.2.4
   - HCodecs ==0.5.1
-  - hdaemonize ==0.5.5
+  - hdaemonize ==0.5.6
   - HDBC ==2.4.0.3
   - HDBC-mysql ==0.7.1.0
   - HDBC-session ==0.1.2.0
@@ -984,7 +895,7 @@ default-package-overrides:
   - hedgehog ==1.0.1
   - hedgehog-corpus ==0.1.0
   - hedgehog-fn ==1.0
-  - hedis ==0.12.8
+  - hedis ==0.12.10
   - hedn ==0.2.0.1
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -1018,7 +929,7 @@ default-package-overrides:
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.9
   - Hoed ==0.5.1
-  - hOpenPGP ==2.8
+  - hOpenPGP ==2.8.5
   - hopenpgp-tools ==0.21.3
   - hopfli ==0.2.2.1
   - hosc ==0.17
@@ -1096,9 +1007,8 @@ default-package-overrides:
   - htoml ==1.0.0.3
   - http2 ==1.6.5
   - HTTP ==4000.3.14
-  - http-api-data ==0.4.1
+  - http-api-data ==0.4.1.1
   - http-client ==0.6.4
-  - http-client-openssl ==0.3.0.0
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
   - http-conduit ==2.3.7.3
@@ -1118,7 +1028,7 @@ default-package-overrides:
   - hvect ==0.4.0.0
   - hvega ==0.3.0.1
   - hw-balancedparens ==0.2.0.4
-  - hw-bits ==0.7.0.8
+  - hw-bits ==0.7.1.0
   - hw-conduit ==0.2.0.6
   - hw-conduit-merges ==0.2.0.0
   - hw-diagnostics ==0.0.0.7
@@ -1137,9 +1047,9 @@ default-package-overrides:
   - hw-mquery ==0.2.0.2
   - hw-packed-vector ==0.0.0.3
   - hw-parser ==0.1.0.2
-  - hw-prim ==0.6.2.36
+  - hw-prim ==0.6.2.39
   - hw-rankselect ==0.13.0.0
-  - hw-rankselect-base ==0.3.2.3
+  - hw-rankselect-base ==0.3.3.0
   - hw-simd ==0.1.1.5
   - hw-streams ==0.0.0.12
   - hw-string-parse ==0.0.0.4
@@ -1176,9 +1086,8 @@ default-package-overrides:
   - indents ==0.5.0.1
   - indexed ==0.1.3
   - indexed-list-literals ==0.2.1.2
-  - indexed-profunctors ==0.1
   - infer-license ==0.2.0
-  - inflections ==0.4.0.4
+  - inflections ==0.4.0.5
   - influxdb ==1.7.1.1
   - ini ==0.4.1
   - inj ==1.0
@@ -1186,7 +1095,7 @@ default-package-overrides:
   - inline-c-cpp ==0.3.0.3
   - inline-r ==0.10.2
   - inliterate ==0.1.0
-  - insert-ordered-containers ==0.2.3
+  - insert-ordered-containers ==0.2.2
   - inspection-testing ==0.4.2.2
   - instance-control ==0.1.2.0
   - int-cast ==0.2.0.0
@@ -1215,7 +1124,7 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.1.0
   - ip ==1.5.1
   - ip6addr ==1.0.0
-  - iproute ==1.7.7
+  - iproute ==1.7.8
   - IPv6Addr ==1.1.2
   - ipynb ==0.1
   - ipython-kernel ==0.10.1.0
@@ -1231,15 +1140,15 @@ default-package-overrides:
   - ixset-typed ==0.4.0.1
   - ix-shapable ==0.1.0
   - jack ==0.7.1.4
-  - jose ==0.8.1.0
+  - jose ==0.8.2.0
   - jose-jwt ==0.8.0
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.9.3
   - json-alt ==1.0.0
-  - json-feed ==1.0.6
-  - jsonpath ==0.1.0.1
+  - json-feed ==1.0.7
+  - jsonpath ==0.1.0.2
   - json-rpc ==1.0.0
   - json-rpc-client ==0.2.5.0
   - json-rpc-generic ==0.2.1.5
@@ -1266,7 +1175,7 @@ default-package-overrides:
   - kraken ==0.1.0
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==1.0.9
+  - lackey ==1.0.10
   - LambdaHack ==0.9.5.0
   - lame ==0.2.0
   - language-c ==0.8.3
@@ -1315,18 +1224,18 @@ default-package-overrides:
   - libmpd ==0.9.0.10
   - liboath-hs ==0.0.1.1
   - libraft ==0.5.0.0
-  - libyaml ==0.1.1.0
+  - libyaml ==0.1.1.1
   - LibZip ==1.0.1
   - lifted-async ==0.10.0.4
   - lifted-base ==0.2.3.12
-  - lift-generics ==0.1.2
+  - lift-generics ==0.1.3
   - line ==4.0.1
   - linear ==1.20.9
   - linear-circuit ==0.1.0.2
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
   - List ==0.6.2
-  - ListLike ==4.6.2
+  - ListLike ==4.6.3
   - listsafe ==0.1.0.1
   - list-t ==1.0.4
   - ListTree ==0.2.3
@@ -1343,7 +1252,7 @@ default-package-overrides:
   - log-domain ==0.12
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.3.7
+  - logging-effect ==1.3.8
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.7.0.2
@@ -1352,7 +1261,7 @@ default-package-overrides:
   - lrucache ==1.2.0.1
   - lrucaching ==0.3.3
   - lsp-test ==0.6.1.0
-  - lucid ==2.9.11
+  - lucid ==2.9.12
   - lucid-extras ==0.2.2
   - lxd-client-config ==0.1.0.1
   - lzma ==0.0.0.3
@@ -1369,8 +1278,8 @@ default-package-overrides:
   - markdown ==0.1.17.4
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
-  - massiv ==0.4.3.0
-  - massiv-io ==0.1.7.0
+  - massiv ==0.4.4.0
+  - massiv-io ==0.1.9.0
   - massiv-test ==0.1.1
   - mathexpr ==0.3.0.0
   - math-functions ==0.3.3.0
@@ -1378,7 +1287,7 @@ default-package-overrides:
   - matrices ==0.5.0
   - matrix ==0.3.6.1
   - matrix-market-attoparsec ==0.1.0.8
-  - matrix-static ==0.2
+  - matrix-static ==0.2.1
   - maximal-cliques ==0.1.1
   - mbox ==0.3.4
   - mbtiles ==0.6.0.0
@@ -1388,7 +1297,7 @@ default-package-overrides:
   - megaparsec-tests ==7.0.5
   - mega-sdist ==0.4.0.1
   - memory ==0.14.18
-  - MemoTrie ==0.6.9
+  - MemoTrie ==0.6.10
   - menshen ==0.0.3
   - mercury-api ==0.1.0.2
   - merkle-tree ==0.1.1
@@ -1415,7 +1324,7 @@ default-package-overrides:
   - mime-mail-ses ==0.4.1
   - mime-types ==0.1.0.9
   - minimorph ==0.2.1.0
-  - minio-hs ==1.5.0
+  - minio-hs ==1.5.1
   - miniutter ==0.5.0.0
   - mintty ==0.1.2
   - miso ==1.2.0.0
@@ -1439,14 +1348,14 @@ default-package-overrides:
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
-  - monad-logger ==0.3.30
+  - monad-logger ==0.3.31
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.11
-  - monad-logger-syslog ==0.1.4.0
+  - monad-logger-syslog ==0.1.6.0
   - monad-loops ==0.4.3
   - monad-memo ==0.5.1
   - monad-metrics ==0.2.1.4
-  - monad-par ==0.3.4.8
+  - monad-par ==0.3.5
   - monad-parallel ==0.7.2.3
   - monad-par-extras ==0.3.3
   - monad-peel ==0.2.1.2
@@ -1503,7 +1412,7 @@ default-package-overrides:
   - natural-sort ==0.1.2
   - natural-transformation ==0.4
   - ndjson-conduit ==0.1.0.5
-  - neat-interpolation ==0.3.2.4
+  - neat-interpolation ==0.3.2.5
   - netlib-carray ==0.1
   - netlib-comfort-array ==0.0.0.1
   - netlib-ffi ==0.1.1
@@ -1517,12 +1426,12 @@ default-package-overrides:
   - network-anonymous-i2p ==0.10.0
   - network-attoparsec ==0.12.2
   - network-bsd ==2.8.0.0
-  - network-byte-order ==0.1.1.1
+  - network-byte-order ==0.1.2.0
   - network-conduit-tls ==1.3.2
   - network-house ==0.1.0.2
   - network-info ==0.2.0.10
-  - network-ip ==0.3.0.2
-  - network-messagepack-rpc ==0.1.1.4
+  - network-ip ==0.3.0.3
+  - network-messagepack-rpc ==0.1.2.0
   - network-multicast ==0.3.2
   - network-simple ==0.4.5
   - network-simple-tls ==0.3.2
@@ -1538,10 +1447,9 @@ default-package-overrides:
   - nonce ==1.0.7
   - nondeterminism ==1.4
   - non-empty ==0.3.2
-  - nonempty-containers ==0.3.2.0
+  - nonempty-containers ==0.3.1.0
   - nonemptymap ==0.0.6.0
-  - non-empty-sequence ==0.2.0.2
-  - nonempty-vector ==0.1.0.0
+  - non-empty-sequence ==0.2.0.4
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1551,7 +1459,7 @@ default-package-overrides:
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
   - numeric-prelude ==0.4.3.1
-  - numhask ==0.3.0.0
+  - numhask ==0.3.1
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.2
   - nuxeo ==0.3.2
@@ -1578,15 +1486,13 @@ default-package-overrides:
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
-  - OpenGLRaw ==3.3.3.0
+  - OpenGLRaw ==3.3.4.0
   - openpgp-asciiarmor ==0.1.2
   - opensource ==0.1.1.0
   - openssl-streams ==1.2.2.0
   - open-witness ==0.4.0.1
   - operational ==0.2.3.5
   - operational-class ==0.3.0.0
-  - optics-core ==0.2
-  - optics-extra ==0.2
   - optional-args ==1.0.2
   - options ==1.2.1.1
   - optparse-applicative ==0.14.3.0
@@ -1638,7 +1544,7 @@ default-package-overrides:
   - pcf-font-embed ==0.1.2.0
   - pcg-random ==0.1.3.6
   - pcre-heavy ==1.0.0.2
-  - pcre-light ==0.4.0.4
+  - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.1.1
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
@@ -1668,7 +1574,7 @@ default-package-overrides:
   - phantom-state ==0.2.1.2
   - pid1 ==0.1.2.0
   - pinboard ==0.10.1.4
-  - pipes ==4.3.12
+  - pipes ==4.3.13
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
   - pipes-binary ==0.4.2
@@ -1701,13 +1607,13 @@ default-package-overrides:
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.12.1
   - polysemy ==1.0.0.0
-  - polysemy-plugin ==0.2.3.0
+  - polysemy-plugin ==0.2.4.0
   - polysemy-zoo ==0.5.0.1
   - pooled-io ==0.0.2.2
   - port-utils ==0.2.1.0
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
-  - postgresql-binary ==0.12.1.3
+  - postgresql-binary ==0.12.2
   - postgresql-libpq ==0.9.4.2
   - postgresql-orm ==0.5.1
   - postgresql-schema ==0.1.14
@@ -1741,7 +1647,7 @@ default-package-overrides:
   - primitive ==0.6.4.0
   - primitive-extras ==0.7.1.1
   - prim-uniq ==0.1.0.1
-  - probability ==0.2.5.2
+  - probability ==0.2.6
   - process-extras ==0.7.4
   - product-isomorphic ==0.0.3.3
   - product-profunctors ==0.10.0.0
@@ -1755,13 +1661,13 @@ default-package-overrides:
   - prospect ==0.1.0.0
   - protobuf ==0.2.1.2
   - protobuf-simple ==0.1.1.0
-  - protocol-buffers ==2.4.12
-  - protocol-buffers-descriptor ==2.4.12
+  - protocol-buffers ==2.4.13
+  - protocol-buffers-descriptor ==2.4.13
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
   - proto-lens ==0.5.1.0
-  - proto-lens-arbitrary ==0.1.2.7
-  - proto-lens-optparse ==0.1.1.5
+  - proto-lens-arbitrary ==0.1.2.8
+  - proto-lens-optparse ==0.1.1.6
   - proto-lens-protobuf-types ==0.5.0.0
   - proto-lens-protoc ==0.5.0.0
   - proto-lens-runtime ==0.5.0.0
@@ -1775,7 +1681,6 @@ default-package-overrides:
   - pure-zlib ==0.6.6
   - pushbullet-types ==0.4.1.0
   - pusher-http-haskell ==1.5.1.11
-  - PyF ==0.8.1.1
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qnap-decrypt ==0.3.5
@@ -1803,7 +1708,7 @@ default-package-overrides:
   - rando ==0.0.0.4
   - random ==1.1
   - random-bytestring ==0.1.3.2
-  - random-fu ==0.2.7.0
+  - random-fu ==0.2.7.3
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.6
   - random-tree ==0.6.0.5
@@ -1812,12 +1717,12 @@ default-package-overrides:
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.0
   - rank2classes ==1.3.1.2
-  - Rasterific ==0.7.4.4
+  - Rasterific ==0.7.5
   - rasterific-svg ==0.3.3.2
-  - ratel ==1.0.8
-  - ratel-wai ==1.1.0
+  - ratel ==1.0.9
+  - ratel-wai ==1.1.1
   - rattle ==0.1
-  - rattletrap ==9.0.6
+  - rattletrap ==9.0.7
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
@@ -1830,7 +1735,7 @@ default-package-overrides:
   - reanimate ==0.1.8.0
   - reanimate-svg ==0.9.3.1
   - rebase ==1.3.1.1
-  - record-dot-preprocessor ==0.2
+  - record-dot-preprocessor ==0.2.2
   - record-hasfield ==1.0
   - records-sop ==0.1.0.3
   - recursion-schemes ==5.1.3
@@ -1899,7 +1804,7 @@ default-package-overrides:
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.3
   - s3-signer ==0.5.0.0
-  - safe ==0.3.17
+  - safe ==0.3.18
   - safecopy ==0.9.4.3
   - safe-exceptions ==0.1.7.0
   - safe-exceptions-checked ==0.1.0
@@ -1912,7 +1817,7 @@ default-package-overrides:
   - salak-toml ==0.3.5.3
   - salak-yaml ==0.3.5.3
   - saltine ==0.1.0.2
-  - salve ==1.0.6
+  - salve ==1.0.8
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
   - sampling ==0.3.3
@@ -1942,7 +1847,7 @@ default-package-overrides:
   - selective ==0.3
   - semialign ==1
   - semigroupoid-extras ==5
-  - semigroupoids ==5.3.3
+  - semigroupoids ==5.3.4
   - semigroups ==0.18.5
   - semirings ==0.4.2
   - semiring-simple ==1.0.0.1
@@ -2000,7 +1905,7 @@ default-package-overrides:
   - sexpr-parser ==0.1.1.2
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
-  - shakespeare ==2.0.22
+  - shakespeare ==2.0.23
   - shared-memory ==0.2.0.0
   - shell-conduit ==4.7.0
   - shell-escape ==0.2.0
@@ -2019,7 +1924,7 @@ default-package-overrides:
   - simple ==0.11.3
   - simple-cabal ==0.1.1
   - simple-cmd ==0.2.0.1
-  - simple-cmd-args ==0.1.3
+  - simple-cmd-args ==0.1.4
   - simple-log ==0.9.12
   - simple-reflect ==0.3.3
   - simple-sendfile ==0.2.30
@@ -2044,7 +1949,7 @@ default-package-overrides:
   - smallcheck-series ==0.6.1
   - smoothie ==0.4.2.9
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.4.0
+  - snap-core ==1.0.4.1
   - snap-server ==1.1.1.1
   - snowflake ==0.1.1.1
   - soap ==0.2.3.6
@@ -2123,7 +2028,7 @@ default-package-overrides:
   - stripe-scotty ==1.0.0.0
   - stripe-signature ==1.0.0.1
   - stripe-wreq ==1.0.1.0
-  - strive ==5.0.8
+  - strive ==5.0.9
   - structs ==0.1.2
   - structured-cli ==2.5.1.0
   - summoner ==1.3.0.1
@@ -2216,7 +2121,7 @@ default-package-overrides:
   - text-region ==0.3.1.0
   - text-short ==0.1.3
   - text-show ==3.8.2
-  - text-show-instances ==3.8.2
+  - text-show-instances ==3.8.3
   - text-zipper ==0.10.1
   - tfp ==1.0.1.1
   - tf-random ==0.5
@@ -2226,7 +2131,7 @@ default-package-overrides:
   - these ==1.0.1
   - th-expand-syns ==0.4.5.0
   - th-extras ==0.0.0.4
-  - th-lift ==0.8.0.1
+  - th-lift ==0.8.1
   - th-lift-instances ==0.1.14
   - th-nowq ==0.1.0.3
   - th-orphans ==0.13.9
@@ -2285,7 +2190,7 @@ default-package-overrides:
   - transformers-bifunctors ==0.1
   - transformers-compat ==0.6.5
   - transformers-fix ==1.0
-  - traverse-with-class ==1.0.0.0
+  - traverse-with-class ==1.0.1.0
   - tree-diff ==0.1
   - tree-fun ==0.8.1.0
   - trifecta ==2
@@ -2317,7 +2222,7 @@ default-package-overrides:
   - type-operators ==0.2.0.0
   - typerep-map ==0.3.2
   - type-spec ==0.4.0.0
-  - tz ==0.1.3.2
+  - tz ==0.1.3.3
   - tzdata ==0.1.20190325.0
   - ua-parser ==0.7.5.1
   - ucam-webauth ==0.1.0.0
@@ -2373,7 +2278,7 @@ default-package-overrides:
   - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.1.1
-  - util ==0.1.14.0
+  - util ==0.1.14.1
   - utility-ht ==0.0.14
   - uuid ==1.3.13
   - uuid-types ==1.0.3
@@ -2393,7 +2298,7 @@ default-package-overrides:
   - vault ==0.3.1.3
   - vec ==0.1.1.1
   - vector ==0.12.0.3
-  - vector-algorithms ==0.8.0.1
+  - vector-algorithms ==0.8.0.3
   - vector-binary-instances ==0.2.5.1
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8
@@ -2446,13 +2351,13 @@ default-package-overrides:
   - webex-teams-api ==0.2.0.0
   - webex-teams-conduit ==0.2.0.0
   - webex-teams-pipes ==0.2.0.0
-  - web-routes ==0.27.14.2
+  - web-routes ==0.27.14.3
   - web-routes-hsp ==0.24.6.1
   - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
-  - websockets ==0.12.5.3
+  - websockets ==0.12.6.1
   - websockets-snap ==0.10.3.1
-  - weigh ==0.0.14
+  - weigh ==0.0.16
   - wide-word ==0.1.0.9
   - wikicfp-scraper ==0.1.0.11
   - wild-bind ==0.1.2.4
@@ -2481,7 +2386,7 @@ default-package-overrides:
   - writer-cps-mtl ==0.1.1.6
   - writer-cps-transformers ==0.5.6.1
   - ws ==0.0.5
-  - wuss ==1.1.14
+  - wuss ==1.1.15
   - X11 ==1.9.1
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
@@ -2492,7 +2397,7 @@ default-package-overrides:
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
   - xdg-userdirs ==0.1.0.2
-  - xeno ==0.3.5.1
+  - xeno ==0.3.5.2
   - xenstore ==0.1.1
   - xls ==0.1.2
   - xlsx ==0.7.2
@@ -2519,7 +2424,7 @@ default-package-overrides:
   - xmonad-extras ==0.15.2
   - xss-sanitize ==0.3.6
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.11.1.2
+  - yaml ==0.11.2.0
   - yeshql ==4.1.0.1
   - yeshql-core ==4.1.0.2
   - yeshql-hdbc ==4.1.0.2
@@ -2528,8 +2433,8 @@ default-package-overrides:
   - yesod-auth ==1.6.8
   - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.2
-  - yesod-bin ==1.6.0.3
-  - yesod-core ==1.6.16.1
+  - yesod-bin ==1.6.0.4
+  - yesod-core ==1.6.17
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
   - yesod-fb ==0.5.0
@@ -2539,11 +2444,11 @@ default-package-overrides:
   - yesod-gitrev ==0.2.1
   - yesod-newsfeed ==1.6.1.0
   - yesod-paginator ==1.1.0.2
-  - yesod-persistent ==1.6.0.2
+  - yesod-persistent ==1.6.0.3
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.7
+  - yesod-test ==1.6.9
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -2589,6 +2494,7 @@ extra-packages:
   - haddock == 2.22.*                   # required on GHC 8.0.x
   - haddock-api == 2.22.*               # required on GHC 7.8.x
   - happy <1.19.6                       # newer versions break Agda
+  - happy == 1.19.9                     # for purescript
   - haskell-gi-overloading == 0.0       # gi-* packages use this dependency to disable overloading support
   - haskell-src-exts == 1.19.*          # required by hindent and structured-haskell-mode
   - hinotify == 0.3.9                   # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
@@ -2638,7 +2544,6 @@ package-maintainers:
     - funcmp
     - git-annex
     - hackage-db
-    - haskell-ci
     - hledger
     - hledger-interest
     - hledger-ui
@@ -2681,6 +2586,11 @@ package-maintainers:
     - Agda
   roberth:
     - arion-compose
+  cdepillabout:
+    - pretty-simple
+    - purescript
+    - spago
+    - termonad
 
 unsupported-platforms:
   alsa-mixer:                                   [ x86_64-darwin ]
@@ -2941,6 +2851,7 @@ broken-packages:
   - alerta
   - alex-meta
   - alex-prelude
+  - alex-tools
   - alfred
   - alg
   - alga
@@ -3023,6 +2934,8 @@ broken-packages:
   - apecs-stm
   - apelsin
   - api-builder
+  - api-rpc-factom
+  - api-rpc-pegnet
   - api-tools
   - api-yoti
   - apiary
@@ -3083,6 +2996,7 @@ broken-packages:
   - array-chunks
   - array-forth
   - array-primops
+  - arrayfire
   - arraylist
   - ArrayRef
   - arrow-improve
@@ -3349,6 +3263,7 @@ broken-packages:
   - biofasta
   - biofastq
   - biohazard
+  - BioHMM
   - bioinformatics-toolkit
   - biophd
   - biopsl
@@ -3358,6 +3273,7 @@ broken-packages:
   - bird
   - BirdPP
   - bisect-binary
+  - bishbosh
   - bit-array
   - bit-stream
   - bitcoin-hs
@@ -3473,6 +3389,7 @@ broken-packages:
   - buffer
   - buffer-builder-aeson
   - BufferedSocket
+  - buffet
   - buffon
   - bugzilla
   - build
@@ -3531,11 +3448,13 @@ broken-packages:
   - cabal-ghc-dynflags
   - cabal-ghci
   - cabal-graphdeps
+  - cabal-helper
   - Cabal-ide-backend
   - cabal-info
   - cabal-install-bundle
   - cabal-install-ghc72
   - cabal-install-ghc74
+  - cabal-install-parsers
   - cabal-meta
   - cabal-mon
   - cabal-nirvana
@@ -3577,7 +3496,9 @@ broken-packages:
   - calculator
   - caldims
   - caledon
+  - calenderweek
   - call
+  - call-alloy
   - call-haskell-from-anything
   - camfort
   - campfire
@@ -3736,7 +3657,6 @@ broken-packages:
   - classy-miso
   - classy-parallel
   - ClassyPrelude
-  - clay
   - clckwrks
   - clckwrks-cli
   - clckwrks-dot-com
@@ -3770,6 +3690,7 @@ broken-packages:
   - cloud-haskell
   - cloud-seeder
   - cloudfront-signer
+  - cloudi
   - clr-inline
   - clua
   - cluss
@@ -3798,6 +3719,8 @@ broken-packages:
   - co-log-sys
   - Coadjute
   - coalpit
+  - cobot-io
+  - cobot-tools
   - code-builder
   - codec-beam
   - codec-libevent
@@ -3849,6 +3772,7 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - compact-word-vectors
   - Compactable
   - compdata-dags
   - competition
@@ -3912,6 +3836,7 @@ broken-packages:
   - conkin
   - conlogger
   - connection-string
+  - connections
   - Conscript
   - consistent
   - const-math-ghc-plugin
@@ -4262,9 +4187,11 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
+  - dhall-fly
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
+  - dhall-yaml
   - dhcp-lease-parser
   - dhrun
   - dia-base
@@ -4395,7 +4322,6 @@ broken-packages:
   - domplate
   - dot-linker
   - dot2graphml
-  - dotenv
   - dotfs
   - doublify-toolkit
   - dovin
@@ -4441,6 +4367,7 @@ broken-packages:
   - dtd-text
   - dtw
   - dual
+  - duet
   - Dung
   - duplo
   - Dust
@@ -4516,6 +4443,7 @@ broken-packages:
   - email
   - email-header
   - email-postmark
+  - email-validator
   - emailparse
   - embeddock
   - embeddock-example
@@ -4628,6 +4556,7 @@ broken-packages:
   - exif
   - exinst-deepseq
   - exinst-hashable
+  - exist-instances
   - exists
   - exitcode
   - expand
@@ -4657,6 +4586,7 @@ broken-packages:
   - f-ree-hack-cheats-free-v-bucks-generator
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
+  - factory
   - Facts
   - factual-api
   - fadno
@@ -4751,6 +4681,7 @@ broken-packages:
   - FilePather
   - filepather
   - Files
+  - filestore
   - FileSystem
   - filesystem-conduit
   - filesystem-enumerator
@@ -4773,6 +4704,7 @@ broken-packages:
   - first-and-last
   - firstify
   - FirstOrderTheory
+  - fishfood
   - fit
   - fits-parse
   - fitsio
@@ -4843,6 +4775,7 @@ broken-packages:
   - Forestry
   - forger
   - ForkableT
+  - forma
   - formal
   - FormalGrammars
   - format
@@ -4863,6 +4796,7 @@ broken-packages:
   - foscam-sort
   - Foster
   - fpco-api
+  - fplll
   - fpnla-examples
   - FPretty
   - fptest
@@ -4948,6 +4882,10 @@ broken-packages:
   - funnyprint
   - funpat
   - funsat
+  - fused-effects-exceptions
+  - fused-effects-lens
+  - fused-effects-random
+  - fused-effects-resumable
   - fusion
   - futhark
   - futun
@@ -4961,6 +4899,7 @@ broken-packages:
   - g2q
   - g4ip
   - gact
+  - galois-fft
   - game-probability
   - gameclock
   - gamgee
@@ -5043,6 +4982,7 @@ broken-packages:
   - getflag
   - GGg
   - ggtsTC
+  - gh-labeler
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-dump-tree
@@ -5074,7 +5014,6 @@ broken-packages:
   - ghci-lib
   - ghci-ng
   - ghci-pretty
-  - ghcide
   - ghcjs-base-stub
   - ghcjs-dom-jsffi
   - ghcjs-fetch
@@ -5272,6 +5211,8 @@ broken-packages:
   - GrowlNotify
   - grpc-api-etcd
   - grpc-etcd-client
+  - grpc-haskell
+  - grpc-haskell-core
   - gruff
   - gruff-examples
   - gsc-weighting
@@ -5353,7 +5294,6 @@ broken-packages:
   - Haggressive
   - hahp
   - haiji
-  - hail
   - hailgun
   - hailgun-send
   - hailgun-simple
@@ -5374,7 +5314,6 @@ broken-packages:
   - hakyll-dir-list
   - hakyll-favicon
   - hakyll-filestore
-  - hakyll-images
   - hakyll-ogmarkup
   - hakyll-R
   - hakyll-sass
@@ -5404,7 +5343,6 @@ broken-packages:
   - hans
   - hans-pcap
   - haphviz
-  - hapistrano
   - happindicator
   - happindicator3
   - happlets
@@ -5498,6 +5436,7 @@ broken-packages:
   - haskell-bitmex-client
   - haskell-bitmex-rest
   - haskell-brainfuck
+  - haskell-ci
   - haskell-cnc
   - haskell-coffee
   - haskell-compression
@@ -5591,6 +5530,7 @@ broken-packages:
   - haskmon
   - haskoin
   - haskoin-bitcoind
+  - haskoin-core
   - haskoin-crypto
   - haskoin-node
   - haskoin-protocol
@@ -5720,6 +5660,7 @@ broken-packages:
   - hedgehog-classes
   - hedgehog-gen-json
   - hedgehog-generic
+  - hedgehog-golden
   - Hedi
   - hedis-config
   - hedis-pile
@@ -5975,6 +5916,7 @@ broken-packages:
   - hoovie
   - hopencc
   - hopencl
+  - hOpenPGP
   - hopenpgp-tools
   - hopfield
   - hoppy-docs
@@ -6032,6 +5974,9 @@ broken-packages:
   - hR
   - hranker
   - HRay
+  - hreq-client
+  - hreq-conduit
+  - hreq-core
   - Hricket
   - hricket
   - hriemann
@@ -6242,6 +6187,7 @@ broken-packages:
   - http-dispatch
   - http-enumerator
   - http-grammar
+  - http-io-streams
   - http-kinder
   - http-monad
   - http-pony-serve-wai
@@ -6252,6 +6198,7 @@ broken-packages:
   - http-streams
   - http-wget
   - http2-client-grpc
+  - http2-grpc-proto3-wire
   - https-everywhere-rules
   - https-everywhere-rules-raw
   - httpspec
@@ -6285,6 +6232,7 @@ broken-packages:
   - huttons-razor
   - huzzy
   - hVOIDP
+  - hw-all
   - hw-balancedparens
   - hw-bits
   - hw-ci-assist
@@ -6645,6 +6593,7 @@ broken-packages:
   - JYU-Utils
   - kademlia
   - kafka-client
+  - kafka-client-sync
   - kaleidoscope
   - Kalman
   - kalman
@@ -7126,6 +7075,7 @@ broken-packages:
   - mangopay
   - manifold-random
   - manifolds
+  - Map
   - map-exts
   - map-reduce-folds
   - map-syntax
@@ -7150,6 +7100,10 @@ broken-packages:
   - marxup
   - masakazu-bot
   - MASMGen
+  - mason
+  - massiv
+  - massiv-io
+  - massiv-test
   - master-plan
   - matchable-th
   - matchers
@@ -7292,6 +7246,7 @@ broken-packages:
   - mm2
   - mmsyn2
   - mmsyn4
+  - mmsyn6ukr
   - mmtf
   - mmtl
   - mmtl-base
@@ -7377,6 +7332,7 @@ broken-packages:
   - monoids
   - monopati
   - monte-carlo
+  - months
   - monzo
   - moo
   - moonshine
@@ -7385,11 +7341,14 @@ broken-packages:
   - morley
   - morley-prelude
   - morph
+  - morpheus-graphql-cli
   - morphisms-functors
   - morphisms-functors-inventory
   - morphisms-objects
   - morte
   - mosaico-lib
+  - moto
+  - moto-postgresql
   - mount
   - movie-monad
   - mp
@@ -7533,6 +7492,7 @@ broken-packages:
   - NestedFunctor
   - nestedmap
   - net-mqtt
+  - net-mqtt-rpc
   - net-spider
   - net-spider-cli
   - net-spider-pangraph
@@ -7607,6 +7567,7 @@ broken-packages:
   - nirum
   - nitro
   - nixfromnpm
+  - nixpkgs-update
   - nkjp
   - nlp-scores
   - nlp-scores-scripts
@@ -7632,6 +7593,7 @@ broken-packages:
   - NoSlow
   - not-gloss-examples
   - notcpp
+  - notifications-tray-icon
   - notmuch-haskell
   - notmuch-web
   - now-haskell
@@ -7657,6 +7619,7 @@ broken-packages:
   - numhask-histogram
   - numhask-prelude
   - numhask-range
+  - numhask-space
   - numhask-test
   - Nussinov78
   - Nutri
@@ -7762,6 +7725,7 @@ broken-packages:
   - orgstat
   - origami
   - orizentic
+  - ormolu
   - OrPatterns
   - osc
   - oscpacking
@@ -7797,12 +7761,13 @@ broken-packages:
   - pairing
   - pam
   - panda
+  - pandoc-citeproc-preamble
+  - pandoc-crossref
   - pandoc-include
   - pandoc-include-code
   - pandoc-japanese-filters
   - pandoc-lens
   - pandoc-markdown-ghci-filter
-  - pandoc-placetable
   - pandoc-plantuml-diagrams
   - pandoc-pyplot
   - pandoc-unlit
@@ -7968,6 +7933,7 @@ broken-packages:
   - piet
   - pig
   - pinchot
+  - pine
   - ping
   - pinpon
   - Pipe
@@ -8042,6 +8008,7 @@ broken-packages:
   - pocket-dns
   - point-octree
   - pointfree-fancy
+  - pointful
   - pointless-lenses
   - pointless-rewrite
   - pokemon-go-protobuf-types
@@ -8052,6 +8019,7 @@ broken-packages:
   - polh-lexicon
   - polimorf
   - Pollutocracy
+  - poly
   - poly-control
   - polydata
   - polydata-core
@@ -8175,6 +8143,7 @@ broken-packages:
   - product
   - prof2dot
   - prof2pretty
+  - profunctor-optics
   - progress
   - progress-meter
   - progressbar
@@ -8198,6 +8167,7 @@ broken-packages:
   - proteome
   - proto-lens-combinators
   - proto-lens-descriptors
+  - proto-lens-jsonpb
   - proto3-suite
   - protobuf-native
   - protocol-buffers-descriptor-fork
@@ -8231,7 +8201,6 @@ broken-packages:
   - pure-priority-queue
   - pure-priority-queue-tests
   - purebred-email
-  - purescript
   - purescript-iso
   - purescript-tsd-gen
   - push-notify
@@ -8310,6 +8279,7 @@ broken-packages:
   - quiver-instances
   - quiver-interleave
   - quiver-sort
+  - quokka
   - quoridor-hs
   - qux
   - R-pandoc
@@ -8421,6 +8391,7 @@ broken-packages:
   - Referees
   - refh
   - refined
+  - refined-http-api-data
   - reflection-extras
   - reflex
   - reflex-animation
@@ -8431,6 +8402,7 @@ broken-packages:
   - reflex-dom-svg
   - reflex-gloss
   - reflex-gloss-scene
+  - reflex-libtelnet
   - reflex-orphans
   - reflex-sdl2
   - reflex-transformers
@@ -8440,6 +8412,7 @@ broken-packages:
   - reformat
   - refresht
   - refurb
+  - reg-alloc
   - regex-deriv
   - regex-dfa
   - regex-generator
@@ -8567,6 +8540,7 @@ broken-packages:
   - riff
   - ring-buffer
   - ring-buffers
+  - rings
   - riot
   - risc386
   - riscv-isa
@@ -8637,6 +8611,7 @@ broken-packages:
   - rws
   - RxHaskell
   - s-expression
+  - S3
   - SableCC2Hs
   - safe-access
   - safe-buffer-monad
@@ -8686,7 +8661,6 @@ broken-packages:
   - savage
   - sax
   - SBench
-  - sbv
   - sbvPlugin
   - sc2-lowlevel
   - sc2-proto
@@ -8702,6 +8676,7 @@ broken-packages:
   - scenegraph
   - schedevr
   - schedule-planner
+  - scheduler
   - schedyield
   - schemas
   - schematic
@@ -8769,6 +8744,7 @@ broken-packages:
   - Semantique
   - semdoc
   - semi-iso
+  - semialign-extras
   - semialign-indexed
   - semialign-optics
   - semibounded-lattices
@@ -8977,6 +8953,7 @@ broken-packages:
   - singleton-dict
   - singleton-typelits
   - singnal
+  - singular-factory
   - sink
   - siphon
   - siren-json
@@ -9125,6 +9102,7 @@ broken-packages:
   - sorted
   - sorting
   - sorty
+  - souffle-haskell
   - sound-collage
   - sounddelay
   - soundgen
@@ -9132,7 +9110,6 @@ broken-packages:
   - SourceGraph
   - sousit
   - soyuz
-  - spacecookie
   - SpaceInvaders
   - spacepart
   - SpacePrivateers
@@ -9195,6 +9172,7 @@ broken-packages:
   - sqlvalue-list
   - sqsd-local
   - squeal-postgresql
+  - squeeze
   - sr-extra
   - srcinst
   - sscan
@@ -9205,6 +9183,7 @@ broken-packages:
   - sssp
   - sstable
   - SSTG
+  - st2
   - stable-heap
   - stable-maps
   - stable-marriage
@@ -9219,6 +9198,7 @@ broken-packages:
   - stack-run
   - stack-run-auto
   - stack-type
+  - stack-wrapper
   - stack2cabal
   - stack2nix
   - stackage
@@ -9463,6 +9443,7 @@ broken-packages:
   - tasty-laws
   - tasty-lens
   - tasty-stats
+  - tasty-tap
   - Taxonomy
   - TaxonomyTools
   - TBC
@@ -9777,6 +9758,7 @@ broken-packages:
   - twilio
   - twill
   - twine
+  - twirp
   - twitter
   - twitter-conduit
   - twitter-enumerator
@@ -9987,6 +9969,7 @@ broken-packages:
   - vector-space-opengl
   - vector-static
   - vectortiles
+  - venzone
   - Verba
   - verbalexpressions
   - verdict
@@ -10108,6 +10091,7 @@ broken-packages:
   - web-output
   - web-page
   - web-push
+  - web-rep
   - web-routes-happstack
   - web-routes-quasi
   - web-routes-regular
@@ -10139,6 +10123,7 @@ broken-packages:
   - websockets-simple
   - websockets-simple-extra
   - webwire
+  - weekdaze
   - weighted
   - weighted-regexp
   - welshy
@@ -10310,6 +10295,7 @@ broken-packages:
   - yam-servant
   - yam-transaction-odbc
   - yam-web
+  - yaml-combinators
   - yaml-pretty-extras
   - yaml-rpc
   - yaml-rpc-scotty
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index f3692d48a29..472e4c66fc7 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -259,7 +259,7 @@ self: super: builtins.intersectAttrs super {
   wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
 
   # Test suite wants to connect to $DISPLAY.
-  hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.libGLU_combined);
+  hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]);
 
   # Tests attempt to use NPM to install from the network into
   # /homeless-shelter. Disabled.
@@ -297,10 +297,22 @@ self: super: builtins.intersectAttrs super {
     );
 
   llvm-hs =
-      let dontCheckDarwin = if pkgs.stdenv.isDarwin
-                            then dontCheck
-                            else pkgs.lib.id;
-      in dontCheckDarwin (super.llvm-hs.override { llvm-config = pkgs.llvm_8; });
+    let llvmHsWithLlvm8 = super.llvm-hs.override { llvm-config = pkgs.llvm_8; };
+    in
+    if pkgs.stdenv.isDarwin
+    then
+      overrideCabal llvmHsWithLlvm8 (oldAttrs: {
+        # One test fails on darwin.
+        doCheck = false;
+        # llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to
+        # the DYLD_LIBRARY_PATH environment variable.  This messes up clang
+        # when called from GHC, probably because clang is version 7, but we are
+        # using LLVM8.
+        preCompileBuildDriver = oldAttrs.preCompileBuildDriver or "" + ''
+          substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()"
+        '';
+      })
+    else llvmHsWithLlvm8;
 
   # Needs help finding LLVM.
   spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
@@ -500,8 +512,8 @@ self: super: builtins.intersectAttrs super {
   # requires autotools to build
   secp256k1 = addBuildTools super.secp256k1 [ pkgs.buildPackages.autoconf pkgs.buildPackages.automake pkgs.buildPackages.libtool ];
 
-  # tests require git
-  hapistrano = addBuildTool super.hapistrano pkgs.buildPackages.git;
+  # tests require git and zsh
+  hapistrano = addBuildTools super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ];
 
   # This propagates this to everything depending on haskell-gi-base
   haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobject-introspection;
@@ -517,9 +529,9 @@ self: super: builtins.intersectAttrs super {
   # https://github.com/plow-technologies/servant-streaming/issues/12
   servant-streaming-server = dontCheck super.servant-streaming-server;
 
-  # https://github.com/haskell-servant/servant/pull/1128
-  servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.15" then
-    appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch
+  # https://github.com/haskell-servant/servant/pull/1238
+  servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.16" then
+    appendPatch super.servant-client-core ./patches/servant-client-core-redact-auth-header.patch
   else
     super.servant-client-core;
 
@@ -625,4 +637,59 @@ self: super: builtins.intersectAttrs super {
   cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools;
   pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"];
 
+  spago =
+    let
+      # Spago basically compiles with LTS-14, but it requires a newer version
+      # of directory.  This is to work around a bug only present on windows, so
+      # we can safely jailbreak spago and use the older directory package from
+      # LTS-14.
+      spagoWithOverrides = doJailbreak (super.spago.override {
+        # spago requires the latest version of dhall.
+        directory = self.dhall_1_28_0;
+      });
+
+      docsSearchAppJsFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js";
+        sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2";
+      };
+
+      purescriptDocsSearchFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search";
+        sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5";
+      };
+
+      spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
+        postUnpack = (drv.postUnpack or "") + ''
+          # The source for spago is pulled directly from GitHub.  It uses a
+          # package.yaml file with hpack, not a .cabal file.  In the package.yaml file,
+          # it uses defaults from the master branch of the hspec repo.  It will try to
+          # fetch these at build-time (but it will fail if running in the sandbox).
+          #
+          # The following line modifies the package.yaml to not pull in
+          # defaults from the hspec repo.
+          substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' ""
+
+          # Spago includes the following two files directly into the binary
+          # with Template Haskell.  They are fetched at build-time from the
+          # `purescript-docs-search` repo above.  If they cannot be fetched at
+          # build-time, they are pulled in from the `templates/` directory in
+          # the spago source.
+          #
+          # However, they are not actually available in the spago source, so they
+          # need to fetched with nix and put in the correct place.
+          # https://github.com/spacchetti/spago/issues/510
+          cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
+          cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
+        '';
+      });
+
+      # Haddock generation is broken for spago.
+      # https://github.com/spacchetti/spago/issues/511
+      spagoWithoutHaddocks = dontHaddock spagoFixHpack;
+
+      # Because of the problem above with pulling in hspec defaults to the
+      # package.yaml file, the tests are disabled.
+      spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
+    in
+    spagoWithoutChecks;
 }
diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix
index 96774f71730..45c1a8fbd33 100644
--- a/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -20,6 +20,10 @@ let
 
 in stdenv.mkDerivation (args // {
 
+  # Doesn't work in the sandbox. Pass `--option sandbox relaxed` or
+  # `--option sandbox false` to be able to build this
+  __noChroot = true;
+
   buildInputs = buildInputs
     ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales;
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index b3327e4fe57..0ec409dc8ed 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -756,18 +756,21 @@ self: {
      }) {};
 
   "AesonBson" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit, text
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit
+     , QuickCheck, scientific, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "AesonBson";
-       version = "0.2.2";
-       sha256 = "1p7636bjczcwwi2c0cdzvpj95vx2fr27qnmh8pcs8hqgmisagq8s";
+       version = "0.4.0";
+       sha256 = "08ffz1fr8x5z3ipvk99wc5n363ghxrq1z0cv1yh57wx18ialk1cx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bson unordered-containers vector
+         aeson attoparsec base bson scientific text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bson hspec HUnit QuickCheck scientific text
        ];
-       testHaskellDepends = [ aeson base bson hspec HUnit text ];
        description = "Mapping between Aeson's JSON and Bson objects";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -1509,6 +1512,8 @@ self: {
        ];
        description = "Libary for Hidden Markov Models in HMMER3 format";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Biobase" = callPackage
@@ -1668,8 +1673,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseHTTP";
-       version = "1.1.0";
-       sha256 = "0y26d4aqxqpdr142y26p70v6cnrr48dhxm5nnnhqxg0lsirbxad0";
+       version = "1.2.0";
+       sha256 = "1m6lfs08zyk2xcxcmapcdfqp7afmzz3n2r3rr3qzlibwc6w7pj1d";
        libraryHaskellDepends = [
          aeson base BiobaseEnsembl bytestring conduit either-unwrap HTTP
          http-conduit hxt mtl network Taxonomy text transformers
@@ -3163,12 +3168,14 @@ self: {
      }:
      mkDerivation {
        pname = "ClustalParser";
-       version = "1.2.3";
-       sha256 = "0wjs6bsbyykrm0hjdybnap86zsnhjjifampm08dqg7fqp7f7pmpy";
+       version = "1.3.0";
+       sha256 = "0zm0n4pvs9dspfh3x7zfjs20k78mkhsqy6xkg4002b7g8c5bwkp6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec text vector ];
-       executableHaskellDepends = [ base cmdargs either-unwrap ];
+       executableHaskellDepends = [
+         base cmdargs either-unwrap parsec text vector
+       ];
        testHaskellDepends = [ base hspec hspec-discover parsec text ];
        testToolDepends = [ hspec-discover ];
        description = "Libary for parsing Clustal tools output";
@@ -5207,12 +5214,13 @@ self: {
      }) {};
 
   "Enum" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, smallcheck, tasty, tasty-hunit }:
      mkDerivation {
        pname = "Enum";
-       version = "0.1.0.0";
-       sha256 = "1zl5w5w3rqbh4awp4b4rbamkqcvnrzn944rjc84sq3rqad3wlww2";
+       version = "0.2.0.0";
+       sha256 = "0bk44zim92b5qb95byvcyy8cmbgzbxf06mp0nr765p9v48rjkr91";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base smallcheck tasty tasty-hunit ];
        description = "Non-crashing `Enum` operations";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -8025,12 +8033,12 @@ self: {
      }) {};
 
   "HGL" = callPackage
-    ({ mkDerivation, array, base, X11 }:
+    ({ mkDerivation, array, base, stm, X11 }:
      mkDerivation {
        pname = "HGL";
-       version = "3.2.3.1";
-       sha256 = "0m9y2sdlbmw0n4xad26viajr391w0clpqw1256lanidwkrxfwpfh";
-       libraryHaskellDepends = [ array base X11 ];
+       version = "3.2.3.2";
+       sha256 = "087k8i0bha3mzpqa3z3c6npl5vmccg7xcwl28lbv0yzbvj1qkg38";
+       libraryHaskellDepends = [ array base stm X11 ];
        description = "A simple graphics library based on X11 or Win32";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -9227,6 +9235,42 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
+  "HTF_0_14_0_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, bytestring, Cabal, containers, cpphs, Diff
+     , directory, filepath, haskell-src, HUnit, lifted-base
+     , monad-control, mtl, old-time, pretty, process, QuickCheck, random
+     , regex-compat, template-haskell, temporary, text, time, unix
+     , unordered-containers, vector, xmlgen
+     }:
+     mkDerivation {
+       pname = "HTF";
+       version = "0.14.0.3";
+       sha256 = "138gh5a2nx25czhp9qpaav2lq7ff142q4n6sbkrglfsyn48rifqp";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring bytestring containers cpphs Diff
+         directory haskell-src HUnit lifted-base monad-control mtl old-time
+         pretty process QuickCheck random regex-compat text time unix vector
+         xmlgen
+       ];
+       libraryToolDepends = [ cpphs ];
+       executableHaskellDepends = [
+         array base cpphs directory HUnit mtl old-time random text
+       ];
+       executableToolDepends = [ cpphs ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath HUnit mtl
+         process random regex-compat template-haskell temporary text
+         unordered-containers
+       ];
+       description = "The Haskell Test Framework";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HTTP" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, httpd-shed
      , HUnit, mtl, network, network-uri, parsec, pureMD5, split
@@ -11942,21 +11986,22 @@ self: {
 
   "LDAPv3" = callPackage
     ({ mkDerivation, base, base-encoding, binary, bytestring
-     , containers, deepseq, int-cast, newtype, quickcheck-instances
-     , tasty, tasty-hunit, tasty-quickcheck, text-short
+     , containers, deepseq, int-cast, newtype, parsec
+     , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, text
+     , text-short
      }:
      mkDerivation {
        pname = "LDAPv3";
-       version = "0.0.0.0";
-       sha256 = "0522g4i24y4fj2i63hdcvab3cis88wbwaz5cv9lizsgxrwqvn40d";
+       version = "0.1.0.0";
+       sha256 = "1zsl14qd7vzgvkz77mgdl5fyh4444gw3vjl443d09wra087j94bx";
        libraryHaskellDepends = [
-         base binary bytestring containers deepseq int-cast newtype
-         text-short
+         base binary bytestring containers deepseq int-cast newtype parsec
+         text text-short
        ];
        testHaskellDepends = [
          base base-encoding binary bytestring containers deepseq int-cast
-         newtype quickcheck-instances tasty tasty-hunit tasty-quickcheck
-         text-short
+         newtype parsec quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck text text-short
        ];
        description = "Lightweight Directory Access Protocol (LDAP) version 3";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -12441,8 +12486,8 @@ self: {
      }:
      mkDerivation {
        pname = "ListLike";
-       version = "4.6.2";
-       sha256 = "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh";
+       version = "4.6.3";
+       sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
        libraryHaskellDepends = [
          array base bytestring containers deepseq dlist fmlist text
          utf8-string vector
@@ -12836,15 +12881,15 @@ self: {
      }:
      mkDerivation {
        pname = "MagicHaskeller";
-       version = "0.9.6.7";
-       sha256 = "0cl0lq45x8pxsbdiqg9sx39jvs8h2h32mni5zq2jb61ac7wim9g1";
+       version = "0.9.6.8";
+       sha256 = "1091s8jrynjb76wg5r53kp0siv0dgbsxsb9y2djrq1iz06h01m55";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring containers directory ghc ghc-paths hashable
          haskell-src html mtl network network-uri pretty random syb
-         template-haskell tf-random time
+         template-haskell tf-random time transformers
        ];
        executableHaskellDepends = [
          abstract-par array base bytestring cgi containers directory
@@ -12884,14 +12929,16 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.1.2.0";
-       sha256 = "1fvs9im82ylfij01cn2pb21wycvb6wsj8dayaj34g3av82g9dagw";
+       version = "0.1.3.2";
+       sha256 = "03bc7mswiw5n76g34pll6dgz7f46l9gafl1bfanv74p21xjr829g";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Class of key-value maps";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Mapping" = callPackage
@@ -13025,8 +13072,8 @@ self: {
     ({ mkDerivation, base, newtype-generics }:
      mkDerivation {
        pname = "MemoTrie";
-       version = "0.6.9";
-       sha256 = "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x";
+       version = "0.6.10";
+       sha256 = "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base newtype-generics ];
@@ -14037,8 +14084,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.5";
-       sha256 = "1s11idqg8bvimhal86569wlw746cyyq67dxvvabnbn3q23mjkflh";
+       version = "0.4.6";
+       sha256 = "0aq8888z0fcsd18shsqjsgrpxm417cfh250vyd2660ajc0ymj3q3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -14776,8 +14823,8 @@ self: {
      }:
      mkDerivation {
        pname = "OpenGLRaw";
-       version = "3.3.3.0";
-       sha256 = "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx";
+       version = "3.3.4.0";
+       sha256 = "0gmsmysqzpm13qnyq4vvqxm4dzw25nayfd9wi5x645pympm6jqbm";
        libraryHaskellDepends = [
          base bytestring containers fixed half text transformers
        ];
@@ -15063,6 +15110,8 @@ self: {
        pname = "PSQueue";
        version = "1.1.0.1";
        sha256 = "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza";
+       revision = "1";
+       editedCabalFile = "0pswr49mg0ww0w579w4qsv5hjgcnsswdi283lxk6cvxw3wafif07";
        libraryHaskellDepends = [ base ];
        description = "Priority Search Queue";
        license = stdenv.lib.licenses.bsd3;
@@ -15939,8 +15988,8 @@ self: {
      }:
      mkDerivation {
        pname = "PyF";
-       version = "0.8.1.1";
-       sha256 = "0kwva2ia02z3l0g8vzp9029sv5y4smllc8x9y6qv599f2sy8h31w";
+       version = "0.8.1.2";
+       sha256 = "00rvzfv2xa9ibcsx6y3cpmckl2mlsmck519mp4zqllxwn1nzbb52";
        libraryHaskellDepends = [
          base containers haskell-src-exts haskell-src-meta megaparsec mtl
          template-haskell text
@@ -16095,8 +16144,8 @@ self: {
     ({ mkDerivation, base, mtl, QuickCheck, random }:
      mkDerivation {
        pname = "QuickCheck-GenT";
-       version = "0.2.1";
-       sha256 = "1bf3vx2szdb0svnmhn0k7vfkv86vhfxgcfklzlf5w7y49s4369k0";
+       version = "0.2.2";
+       sha256 = "0bn594bgvavbphm5543kqljcc7hgxk4ir0fcdjw399sbfaxpn5yz";
        libraryHaskellDepends = [ base mtl QuickCheck random ];
        description = "A GenT monad transformer for QuickCheck library";
        license = stdenv.lib.licenses.mit;
@@ -16174,15 +16223,14 @@ self: {
      }:
      mkDerivation {
        pname = "R-pandoc";
-       version = "0.2.2";
-       sha256 = "1kb9dnwbkinx3wi7fr8i9a7dpl1gx08f4ysml1jacf1p6nvhi1lq";
+       version = "0.2.3";
+       sha256 = "05pb2gr0s4fjd3lj90r6hdj30bzsz16jsibmi99xi3172plyk449";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base directory filepath pandoc-types process split
        ];
        executableHaskellDepends = [ base pandoc-types ];
-       description = "A pandoc filter to express R plots inside markdown";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -16664,8 +16712,8 @@ self: {
      }:
      mkDerivation {
        pname = "Rasterific";
-       version = "0.7.4.4";
-       sha256 = "1s8d0yyh2xz8kb9476nr11jzxvgq0y9sgspgzhh9shf44fbz4gs0";
+       version = "0.7.5";
+       sha256 = "158s0w95x0yxhffcccvhil827jmv7mmbh65nbg8qypvw9j4ldb9j";
        libraryHaskellDepends = [
          base bytestring containers dlist FontyFruity free JuicyPixels mtl
          primitive transformers vector vector-algorithms
@@ -16930,6 +16978,8 @@ self: {
        ];
        description = "Library for accessing S3 compatible storage services";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "SBench" = callPackage
@@ -18545,8 +18595,8 @@ self: {
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.2";
-       sha256 = "1x41m0xcmz9j4gypbl4pi6a6v53j6v37ndl8g5rq60fqfl18hizb";
+       version = "1.2.0";
+       sha256 = "0zz437d771cb4zpjzcddjl8xvz9qxmj1pyxql70lqczvqrk6k78y";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools SVGFonts text vector
@@ -19046,8 +19096,8 @@ self: {
      }:
      mkDerivation {
        pname = "Taxonomy";
-       version = "1.0.3";
-       sha256 = "0w4j1v2l7c8a8x0rpvq1gxbvjcw83kj84m5bw6bwx3x6gc997xxn";
+       version = "2.0.0";
+       sha256 = "1b2x0lkg5pgjk1jyanbi8g9rs1sr7llihyjhdfsg6fajklrzh3m9";
        libraryHaskellDepends = [
          aeson base bytestring either-unwrap fgl graphviz parsec text vector
        ];
@@ -20648,10 +20698,8 @@ self: {
     ({ mkDerivation, base, bytestring, deepseq, text, text-short }:
      mkDerivation {
        pname = "X";
-       version = "0.3.0.0";
-       sha256 = "0grjiznl8j44mq3m0jkhm9z7wcr4cywrnfmk92nk3g6ddhcyakkc";
-       revision = "1";
-       editedCabalFile = "1nbp0zci2sp07cr5j5xlh7gswcnj52z9dp6akh9xk4mzk3salxwq";
+       version = "0.3.1.0";
+       sha256 = "10paczbaiwag50v8ay9pl0f6whqds6y0yy14z0h8s6j04p9zd50f";
        libraryHaskellDepends = [
          base bytestring deepseq text text-short
        ];
@@ -22002,19 +22050,20 @@ self: {
   "acid-state" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , criterion, deepseq, directory, filelock, filepath, hedgehog
-     , hspec, hspec-discover, mtl, network, random, safecopy, stm
-     , system-fileio, system-filepath, template-haskell, text
-     , th-expand-syns, time, unix
+     , hspec, hspec-discover, mtl, network, network-bsd, random
+     , safecopy, stm, system-fileio, system-filepath, template-haskell
+     , text, th-expand-syns, time, unix
      }:
      mkDerivation {
        pname = "acid-state";
-       version = "0.15.2";
-       sha256 = "08v807yxkd13m1zffw1yryifjgn7w28a31hb0sg0n3yw7vzk9ny3";
+       version = "0.16.0";
+       sha256 = "18pdxawx28wsvjah2rih6fa8mgxpkrpskfkvb5gjb1yn29dd8cmn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base bytestring cereal containers directory filelock filepath
-         mtl network safecopy stm template-haskell th-expand-syns unix
+         mtl network network-bsd safecopy stm template-haskell
+         th-expand-syns unix
        ];
        executableHaskellDepends = [ base directory ];
        testHaskellDepends = [
@@ -22647,8 +22696,8 @@ self: {
     ({ mkDerivation, base, criterion, time }:
      mkDerivation {
        pname = "acme-year";
-       version = "2016";
-       sha256 = "1zvhy62hrc47idl1awbdjzrhbhqjplsfy7lpybvdhc298criygdl";
+       version = "2019";
+       sha256 = "011vpap3j0riw6y23j8c4h7610yhjq00jpcfjg2g7lagb62gmkpa";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base time ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -22662,8 +22711,8 @@ self: {
        pname = "acme-zalgo";
        version = "0.1.2.1";
        sha256 = "1yd3xrdkxf3hgapi4w5vg79nxmw8y5rnyki5pqi00mca9wjspdhz";
-       revision = "1";
-       editedCabalFile = "1bwpaqqvp8mwpw7966xjn8zhi0rs9iqpwkhkzjxw8c885h45n1za";
+       revision = "2";
+       editedCabalFile = "1l2m9hh6mbc59h17z17gcfzgza25jj912d413pw1q37r3v4y0a1c";
        libraryHaskellDepends = [ array base random ];
        description = "A somewhat flexible Zalgo̐ te̳͜x̥̖̉̓͞t̍̌̔ ̀̃t̴̢̞̜͓̝r̶̬̆̂̒͟á̧̡͎͔̯̰̕n̹̾̓ͬͦ̍͘ṡ̢͓͉ͮ͆l̠̖̹̗̳̖̽̌ͤ͞a͚̭͙̹̲ͭͩt͈͐o̢̭͇͍̟͐ͬ̾ͪ͜r͇.̸̅ͭ̐̀̊ͨ͛";
        license = stdenv.lib.licenses.mit;
@@ -23104,6 +23153,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "advent-of-code-api_0_2_7_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , directory, filepath, finite-typelits, http-api-data, http-client
+     , http-client-tls, http-media, HUnit, megaparsec, mtl, profunctors
+     , servant, servant-client, servant-client-core, stm, tagsoup, text
+     , time, time-compat
+     }:
+     mkDerivation {
+       pname = "advent-of-code-api";
+       version = "0.2.7.0";
+       sha256 = "0a1h2kwmfnhs1sj7wmnc4hgfwq45d8xl2ah0s6432k13v8lfpxwr";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq directory filepath
+         finite-typelits http-api-data http-client http-client-tls
+         http-media megaparsec mtl profunctors servant servant-client
+         servant-client-core stm tagsoup text time time-compat
+       ];
+       testHaskellDepends = [ base directory filepath HUnit text ];
+       description = "Advent of Code REST API bindings and servant API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aern2-mp" = callPackage
     ({ mkDerivation, base, convertible, hspec, integer-logarithms, lens
      , mixed-types-num, QuickCheck, regex-tdfa, rounded
@@ -23189,8 +23261,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "1.4.5.0";
-       sha256 = "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz";
+       version = "1.4.6.0";
+       sha256 = "12s8nfsady47zlz94f7m978irwwj0l0v2x41hk8w1i14wb3b4gwj";
        libraryHaskellDepends = [
          attoparsec base base-compat bytestring containers deepseq dlist
          ghc-prim hashable primitive scientific tagged template-haskell text
@@ -23351,8 +23423,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-diff";
-       version = "1.1.0.7";
-       sha256 = "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r";
+       version = "1.1.0.8";
+       sha256 = "1pim103mywlhxssrhr0ca0gsvql52g799fk73bdj5h31ziibdsi4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -23423,8 +23495,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-filthy";
-       version = "0.1.3";
-       sha256 = "121ygm5k9qjizwjj7w5dklxs5sv0zysrnpvwb37ar4bjkcxhs0ap";
+       version = "0.1.4";
+       sha256 = "1mjlgq1h09plpllmh7manbcjnl57pmjap0kz9ahzrpv02zrfkszi";
        libraryHaskellDepends = [
          aeson base bytestring text time unordered-containers
        ];
@@ -23738,27 +23810,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-qq";
-       version = "0.8.2";
-       sha256 = "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat haskell-src-meta parsec
-         scientific template-haskell text vector
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base-compat ghc-prim haskell-src-meta hspec
-         parsec scientific template-haskell text vector
-       ];
-       description = "JSON quasiquoter for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "aeson-qq_0_8_3" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat, ghc-prim
-     , haskell-src-meta, hspec, parsec, scientific, template-haskell
-     , text, vector
-     }:
-     mkDerivation {
-       pname = "aeson-qq";
        version = "0.8.3";
        sha256 = "10plwzz05qc8068av00jak8rcciw99cbxh3lkx522lmzi37jjccg";
        libraryHaskellDepends = [
@@ -23771,7 +23822,6 @@ self: {
        ];
        description = "JSON quasiquoter for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-quick" = callPackage
@@ -23834,6 +23884,8 @@ self: {
        pname = "aeson-schemas";
        version = "1.0.3";
        sha256 = "0fmhqibw6mw9shxh94riqq465njbgjsv539xb6sx7qpkhcck2csi";
+       revision = "1";
+       editedCabalFile = "19fk0ccb68143mj7ndp6qflksz7vlja0gbmrqqyaf1zr5z0f9q1v";
        libraryHaskellDepends = [
          aeson base bytestring first-class-families megaparsec
          template-haskell text unordered-containers
@@ -24023,8 +24075,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-yaml";
-       version = "1.0.2.0";
-       sha256 = "1h0pk3nw8y6c2z5rd1shjm8bcdgdvg1v9iqw5hc9b6rffi332n6q";
+       version = "1.0.5.0";
+       sha256 = "0cx54xqv2w4lcnnmcwapbizxjzxaf0x2xbr7lbhcy380nx99pi73";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24725,8 +24777,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.4";
-       sha256 = "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm";
+       version = "3.2.5";
+       sha256 = "1qz0ar9dl0zx42y1gbpd2yx09nbwxs8nw6mjmpi68z3nf098lz5p";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -24771,16 +24823,21 @@ self: {
      }) {};
 
   "alex-tools" = callPackage
-    ({ mkDerivation, base, deepseq, template-haskell, text }:
+    ({ mkDerivation, base, bytestring, deepseq, template-haskell, text
+     }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.4";
-       sha256 = "0qyh3dr5nh7whv3qh431l8x4lx3nzkildlyl3xgnaxpbs8gr8sgi";
-       revision = "2";
-       editedCabalFile = "1hz7gdff15bxvx5jijgh6ih1m2v39nadfy2yjsb43c48p9hcn93z";
-       libraryHaskellDepends = [ base deepseq template-haskell text ];
+       version = "0.5";
+       sha256 = "06ghkigqabz9h17wjpc3jwv1f4k6fajpzblzvysqzg71pfncx88m";
+       revision = "1";
+       editedCabalFile = "0br92hrl0pxw2a5k9wgzk3zwyz2dimcwwjxijgzrd2yg0s1vnm9p";
+       libraryHaskellDepends = [
+         base bytestring deepseq template-haskell text
+       ];
        description = "A set of functions for a common use case of Alex";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "alfred" = callPackage
@@ -25476,6 +25533,22 @@ self: {
        broken = true;
      }) {};
 
+  "altsvc" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "altsvc";
+       version = "0.1.0.0";
+       sha256 = "0lgfj02ryc3130ymrkw179j311df2cj0ry9w32mvd77mwx48396c";
+       libraryHaskellDepends = [ base bytestring cereal ];
+       testHaskellDepends = [
+         base bytestring cereal tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "HTTP Alternative Services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alure" = callPackage
     ({ mkDerivation, alure, base, OpenAL }:
      mkDerivation {
@@ -28093,18 +28166,18 @@ self: {
 
   "amqp-utils" = callPackage
     ({ mkDerivation, amqp, base, bytestring, connection, containers
-     , data-default-class, hinotify, magic, process, text, time, tls
-     , unix, x509-system
+     , data-default-class, hinotify, magic, network, process, text, time
+     , tls, unix, x509-system
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.3.7.1";
-       sha256 = "1z7jf7ai7r2rlnwylqs60pqcz0h4dxj4g372c919lcvinmql1yfx";
+       version = "0.4.1.0";
+       sha256 = "1p0pvl88xp9m0b9k7nqxln3702kp4lk05f60mag3swa09rvzcg47";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          amqp base bytestring connection containers data-default-class
-         hinotify magic process text time tls unix x509-system
+         hinotify magic network process text time tls unix x509-system
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
@@ -28647,10 +28720,8 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-pretty";
-       version = "0.1.2.1";
-       sha256 = "1ill2dlzbxn97smkzdqcjfx9z3fw7pgwvz6w36d92n8p7zwik23h";
-       revision = "6";
-       editedCabalFile = "1j2iyzf61wmwdrb8i3xynins7shjv89y4028sy13rfywsbqpjg4s";
+       version = "0.1.2.2";
+       sha256 = "0q72y2pnx5qx7jk1waq3qdry1azq07wygb9hcgjqz78lbszg19cm";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -28673,12 +28744,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_10_1" = callPackage
+  "ansi-terminal_0_10_2" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.10.1";
-       sha256 = "1b168z688b1lg4d2bmbxmm2mj51mwm2wv0smfb1vcwjp2vzpqf9i";
+       version = "0.10.2";
+       sha256 = "0h09lia7gqchp023hbgwq4w8bmg33a02chaixdsx8nqbj8jf5558";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -28690,21 +28761,24 @@ self: {
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, exceptions, hspec, linebreak, mintty, mtl, QuickCheck
-     , split, terminal-size, timers-tick
+     , random, split, terminal-size, timers-tick
      }:
      mkDerivation {
        pname = "ansi-terminal-game";
-       version = "0.4.0.0";
-       sha256 = "1mjc62z7d6gzvwnwg2gsgf42hlv1l2xqpjy9v83my4s945p422lg";
+       version = "1.0.0.0";
+       sha256 = "0h33ih7sxzyp1a6r6ivk73lrfx6haxxzmgh56n75sa7p8vhr8f1i";
+       revision = "1";
+       editedCabalFile = "1x601p97ragf9k56qy1ndmn7g3brs8fvvmf1wcrxz1ynhndqqpjw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions
-         linebreak mintty mtl QuickCheck split terminal-size timers-tick
+         linebreak mintty mtl QuickCheck random split terminal-size
+         timers-tick
        ];
        testHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions hspec
-         linebreak mtl QuickCheck split terminal-size timers-tick
+         linebreak mtl QuickCheck random split terminal-size timers-tick
        ];
        description = "sdl-like functions for terminal applications, based on ansi-terminal";
        license = stdenv.lib.licenses.gpl3;
@@ -29361,8 +29435,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.8.1";
-       sha256 = "10m3lbfg97psnk3z2ml1q9g2ymwa2fnsknrh6ggp9k5c7mskslv0";
+       version = "0.8.2";
+       sha256 = "06dhq7knzxj48563ll7r1srlgq5nd2kbk5fzrf7x6yjp0w2c9kmp";
        libraryHaskellDepends = [
          array base containers mtl template-haskell vector
        ];
@@ -29573,6 +29647,28 @@ self: {
        testHaskellDepends = [ base bytestring ];
        description = "RPC API client for Factom";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "api-rpc-pegnet" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring, http-client
+     , http-client-tls, http-conduit, json-alt, network, remote-json
+     , remote-json-client, remote-monad, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "api-rpc-pegnet";
+       version = "0.1.0.0";
+       sha256 = "14jb78bkdd8ywwnks3pvi8ynagsri938znyh9ylvyr5mph9ngmnc";
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit json-alt network remote-json remote-json-client
+         remote-monad text time transformers
+       ];
+       description = "simple json-rpc client for PegNet";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "api-tools" = callPackage
@@ -30481,6 +30577,8 @@ self: {
        pname = "arbor-monad-logger";
        version = "0.1.1.3";
        sha256 = "1x44kavmgm7nffvnakyrmcxq03vshg15vkk8wcpvkq43dndk9jb2";
+       revision = "1";
+       editedCabalFile = "0srypscv4gd1q2h6namm507211xd3cnqv144h2pb1mayy20m9a8m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30528,8 +30626,8 @@ self: {
      }:
      mkDerivation {
        pname = "arbor-monad-metric-datadog";
-       version = "1.1.1";
-       sha256 = "1188xwwxx7ykdh7v15gqnh0kv9w1g66wp09jp1fpfyms1qj12nqj";
+       version = "1.1.2";
+       sha256 = "1wja13n9k2vad0icqsm8lydrxkgb01062ajm3y1xq7fybn5g6rbx";
        libraryHaskellDepends = [
          arbor-datadog arbor-monad-metric base bytestring containers
          generic-lens lens mtl network resourcet stm text transformers
@@ -31323,6 +31421,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "arrayfire" = callPackage
+    ({ mkDerivation, af, base, Cabal, cabal-doctest, directory
+     , filepath, hspec, hspec-discover, parsec, QuickCheck
+     , quickcheck-classes, text, vector
+     }:
+     mkDerivation {
+       pname = "arrayfire";
+       version = "0.6.0.0";
+       sha256 = "0vm1m3bc3c29dwbpzkp0pnxnz7rah8gqrgc0p4haivm5w4r10bf8";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ base filepath vector ];
+       librarySystemDepends = [ af ];
+       executableHaskellDepends = [ base directory parsec text vector ];
+       testHaskellDepends = [
+         base directory hspec hspec-discover QuickCheck quickcheck-classes
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell bindings to the ArrayFire general-purpose GPU library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {af = null;};
+
   "arraylist" = callPackage
     ({ mkDerivation, base, hashable, initialize, MonadRandom, primitive
      , smallcheck, tasty, tasty-smallcheck
@@ -32046,14 +32170,12 @@ self: {
      }) {inherit (pkgs) assimp;};
 
   "assoc" = callPackage
-    ({ mkDerivation, base, bifunctors }:
+    ({ mkDerivation, base, bifunctors, tagged }:
      mkDerivation {
        pname = "assoc";
-       version = "1";
-       sha256 = "0i1jj6lrabl0fhh1iya4nxr2hw1s4xmhca5qnim93ng5znziv9n2";
-       revision = "1";
-       editedCabalFile = "0hcpyypnj9qwbpk079h6lnm8aa3mp3fzjilk9qwibkmnnqwwwcld";
-       libraryHaskellDepends = [ base bifunctors ];
+       version = "1.0.1";
+       sha256 = "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020";
+       libraryHaskellDepends = [ base bifunctors tagged ];
        description = "swap and assoc: Symmetric and Semigroupy Bifunctors";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -32746,8 +32868,8 @@ self: {
      }:
      mkDerivation {
        pname = "atomic-write";
-       version = "0.2.0.6";
-       sha256 = "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl";
+       version = "0.2.0.7";
+       sha256 = "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm";
        libraryHaskellDepends = [
          base bytestring directory filepath temporary text unix-compat
        ];
@@ -32815,19 +32937,19 @@ self: {
 
   "ats-format" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, Cabal, cli-setup, directory
-     , file-embed, filepath, language-ats, optparse-applicative, process
-     , text, toml-parser
+     , filepath, language-ats, optparse-applicative, process, text
+     , toml-parser
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.2.0.32";
-       sha256 = "0waxsxj13jcxams5zz13skg46lbf5c0zkwmjap8hibrrkrrilbcv";
+       version = "0.2.0.36";
+       sha256 = "1a7mfpqc09lfk1pp237f2wrizgm2c1indgjdi810599ns19hicd2";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup filepath ];
        executableHaskellDepends = [
-         ansi-wl-pprint base directory file-embed language-ats
-         optparse-applicative process text toml-parser
+         ansi-wl-pprint base directory language-ats optparse-applicative
+         process text toml-parser
        ];
        description = "A source-code formatter for ATS";
        license = stdenv.lib.licenses.bsd3;
@@ -32846,8 +32968,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.3.0.1";
-       sha256 = "1avk5nzzpp9rjf09fxwhkj2zyi6gvsj7y9vl318xv5g1fw0cvs4w";
+       version = "3.4.0.1";
+       sha256 = "0lfmlsnxa7fvifqay4xvnkl8cpbx7a6vbfb0szvb5j0nfa8607n6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -33491,21 +33613,18 @@ self: {
 
   "authenticate" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, conduit, containers, http-conduit, http-types
-     , network-uri, resourcet, tagstream-conduit, text, transformers
+     , case-insensitive, conduit, containers, html-conduit, http-conduit
+     , http-types, network-uri, resourcet, text, transformers
      , unordered-containers, xml-conduit
      }:
      mkDerivation {
        pname = "authenticate";
-       version = "1.3.4";
-       sha256 = "1f1gjggfq114h3nrlzg2svm0j5ghp6n9zlgb3fnq2pgpzpdndm9z";
-       revision = "1";
-       editedCabalFile = "0ipbmf633c0kmcwwb7d51ac8s4220nfyk5xghhq66mpgna77j2c2";
+       version = "1.3.5";
+       sha256 = "10df40ycd4r45p58xzdh0vcsa401909fa99nkgd18fx5alqh84sz";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring case-insensitive
-         conduit containers http-conduit http-types network-uri resourcet
-         tagstream-conduit text transformers unordered-containers
-         xml-conduit
+         conduit containers html-conduit http-conduit http-types network-uri
+         resourcet text transformers unordered-containers xml-conduit
        ];
        description = "Authentication methods for Haskell web applications";
        license = stdenv.lib.licenses.mit;
@@ -33617,8 +33736,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.14";
-       sha256 = "0ijykr8qg7ijadlkn0gx3n06n14ihar8dvaddmmaab2awpmaa3l8";
+       version = "1.1.15";
+       sha256 = "061pincl8110ifm2d6jahxkgpvwid1anv3hvswbs4zqwkg6ll8lx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
@@ -33974,8 +34093,8 @@ self: {
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.4.5.3";
-       sha256 = "0az1mlil8h7scpma16f52zwkbi5iw6mdl6r7vywqhlgsdd2xl9kx";
+       version = "0.4.5.4";
+       sha256 = "0syf968w8vvb5x18znnzc36w5i4ab1fsdpwsph31sxz3rvsv9sr6";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bifunctors binary bytestring
          containers data-binary-ieee754 deepseq fail hashable mtl scientific
@@ -34504,8 +34623,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-lambda-haskell-runtime";
-       version = "2.0.1";
-       sha256 = "0q8x5zqxql403wm9ndii42lac8737i0qhd7p7nsy3i2sswfr5gry";
+       version = "2.0.2";
+       sha256 = "11pkvq3d5w56bsqdha9cfsbqw0rhfda9bh7zipik1b0lc3mk8p0a";
        libraryHaskellDepends = [
          aeson base bytestring http-client http-types path path-io
          safe-exceptions-checked template-haskell text
@@ -35162,8 +35281,8 @@ self: {
      }:
      mkDerivation {
        pname = "backstop";
-       version = "1.3.0.352";
-       sha256 = "1790n52amkvwlm92rh6i6rxfxbw2n2cfam2sf0cx4yf160jxvyj3";
+       version = "1.3.0.354";
+       sha256 = "0r8j5qyccgl0vnjylpsn7xlrhqm588j7nsl938wj3bjn2dq8myan";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -35460,6 +35579,20 @@ self: {
        broken = true;
      }) {};
 
+  "ban-instance" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "ban-instance";
+       version = "0.1.0.1";
+       sha256 = "0504qsjbqbrdf9avfrhs290baszc9dickx7wknbyxwrzpzzbpggk";
+       revision = "1";
+       editedCabalFile = "1ii8z13xlnn9avkpvbwbm3m8pwvd5rrkp34n1klcdy9r96bk9pw3";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "For when a type should never be an instance of a class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bank-holiday-usa" = callPackage
     ({ mkDerivation, base, hspec, HUnit, QuickCheck, time }:
      mkDerivation {
@@ -35995,8 +36128,8 @@ self: {
        pname = "base62";
        version = "0.1.0.0";
        sha256 = "1ns8hr9xjmrlq5lgi47630gpn8xdglk33ncqw4kjvdrb1x90iz0p";
-       revision = "1";
-       editedCabalFile = "13n150czdd97hrpjnrkd0wcg7ch9d5zvqlv38n61pjcds6dvvdsy";
+       revision = "2";
+       editedCabalFile = "0i1ipcawbnjf0mjdva4q8s2kw4hd4lfnygmvc81sjxd9crlwy4vm";
        libraryHaskellDepends = [
          base byteslice natural-arithmetic primitive small-bytearray-builder
          wide-word
@@ -37191,31 +37324,6 @@ self: {
      }:
      mkDerivation {
        pname = "bencoding";
-       version = "0.4.5.1";
-       sha256 = "1q2xpcskpj3hk3vkk09flrnbyss1aq5yqngkxwm7qrcly2798pxa";
-       revision = "1";
-       editedCabalFile = "17yr0lcpsm482as9qcl44padm2ahz51al4izfq2z1p1jizih4mxv";
-       libraryHaskellDepends = [
-         attoparsec base bytestring deepseq ghc-prim integer-gmp mtl pretty
-         text
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring containers ghc-prim hspec QuickCheck
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base bencode bytestring criterion deepseq ghc-prim
-       ];
-       description = "A library for encoding and decoding of BEncode data";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bencoding_0_4_5_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bencode, bytestring, containers
-     , criterion, deepseq, ghc-prim, hspec, integer-gmp, mtl, pretty
-     , QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "bencoding";
        version = "0.4.5.2";
        sha256 = "1q0v56jj5vdhd5qgs8kwnbnb4wz84bn7ghnki8c36k6hsm1f56kq";
        libraryHaskellDepends = [
@@ -37230,7 +37338,6 @@ self: {
        ];
        description = "A library for encoding and decoding of BEncode data";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bento" = callPackage
@@ -37615,8 +37722,8 @@ self: {
      }:
      mkDerivation {
        pname = "bifunctors";
-       version = "5.5.5";
-       sha256 = "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb";
+       version = "5.5.6";
+       sha256 = "1jnsnc0rj3vkx8rjwsf2aacla9xzdfy1am9mmjk8crxp2gkazcnc";
        libraryHaskellDepends = [
          base base-orphans comonad containers tagged template-haskell
          th-abstraction transformers
@@ -37823,6 +37930,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bin" = callPackage
+    ({ mkDerivation, base, dec, deepseq, fin, hashable, QuickCheck }:
+     mkDerivation {
+       pname = "bin";
+       version = "0.1";
+       sha256 = "008i0yxvg9v05gby6ysq3f7ygh125p9xa5vwrcrbq5xw79igyzq5";
+       libraryHaskellDepends = [
+         base dec deepseq fin hashable QuickCheck
+       ];
+       description = "Bin: binary natural numbers";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "binary_0_7_6_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal, cereal
      , containers, criterion, deepseq, directory, filepath, HUnit, mtl
@@ -39069,8 +39189,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL, portaudio, vector }:
      mkDerivation {
        pname = "bindings-portaudio";
-       version = "0.2";
-       sha256 = "0jxpp8iwb6v0g0y81vnqxqycfh4gzykq4ijn4ir8hzajy7bglb1n";
+       version = "0.2.1";
+       sha256 = "1i2r01jhf8k7820zzwqbss0z3kxd15pvdz7ss8s9gczv88nwxvxk";
        libraryHaskellDepends = [ base bindings-DSL vector ];
        libraryPkgconfigDepends = [ portaudio ];
        description = "Low-level bindings to portaudio library";
@@ -39722,6 +39842,8 @@ self: {
        ];
        description = "Plays chess";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "bit-array" = callPackage
@@ -40176,6 +40298,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bits-extra_0_0_1_5" = callPackage
+    ({ mkDerivation, base, criterion, doctest, doctest-discover
+     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hedgehog
+     , hw-hspec-hedgehog, vector
+     }:
+     mkDerivation {
+       pname = "bits-extra";
+       version = "0.0.1.5";
+       sha256 = "1f29jn8gxmi9nrwnrykq4z88cg8zsknbw7licmf44hlid0s5glf5";
+       libraryHaskellDepends = [ base ghc-prim vector ];
+       testHaskellDepends = [
+         base doctest doctest-discover ghc-prim hedgehog hspec hw-hedgehog
+         hw-hspec-hedgehog
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion ghc-prim vector ];
+       description = "Useful bitwise operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bits-extras" = callPackage
     ({ mkDerivation, base, gcc_s }:
      mkDerivation {
@@ -41629,25 +41772,26 @@ self: {
 
   "boltzmann-brain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , edit-distance, graphviz, haskell-src-exts, hmatrix, megaparsec
-     , MonadRandom, mtl, multiset, pretty-terminal, process, random
-     , text, time, transformers
+     , edit-distance, filepath, graphviz, haskell-src-exts, hmatrix
+     , megaparsec, MonadRandom, mtl, multiset, pretty-terminal, process
+     , random, template-haskell, text, time, transformers
      }:
      mkDerivation {
        pname = "boltzmann-brain";
-       version = "1.4";
-       sha256 = "17xny78fkqm344cddkklv4sj8c7dnps8bn1n21xa392l2zyf7mqz";
+       version = "1.6";
+       sha256 = "1k6zsj4wijvxbbf3n95b61bii3p5m257capdw382613v7wp1yh6a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers edit-distance graphviz haskell-src-exts
-         hmatrix megaparsec MonadRandom mtl multiset pretty-terminal process
-         random text time transformers
+         aeson base bytestring containers edit-distance graphviz
+         haskell-src-exts hmatrix megaparsec MonadRandom mtl multiset
+         pretty-terminal process random template-haskell text time
+         transformers
        ];
        executableHaskellDepends = [
-         aeson base bytestring containers directory megaparsec text
+         aeson base bytestring containers directory filepath megaparsec text
        ];
-       description = "Boltzmann sampler compiler for combinatorial systems";
+       description = "Analytic sampler compiler for combinatorial systems";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -41672,15 +41816,16 @@ self: {
 
   "bond" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
-     , cmdargs, derive, Diff, directory, filepath, HUnit, megaparsec
-     , monad-loops, mtl, pretty, process, QuickCheck, scientific
-     , shakespeare, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , text, unordered-containers
+     , cmdargs, Diff, directory, filepath, HUnit, megaparsec
+     , monad-loops, mtl, pretty, process, QuickCheck
+     , quickcheck-arbitrary-template, scientific, shakespeare, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "bond";
-       version = "0.11.0.3";
-       sha256 = "1zarrlhcp8q1impikmqsz8mnaxi8l8b4nl02qp8xm6y6gpbyhaqj";
+       version = "0.12.0.1";
+       sha256 = "0zhfhr1ya0ljvg5s0s6fpqyrb0f25qdkschblfcmf68c6xmy4ws0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41689,12 +41834,14 @@ self: {
        ];
        executableHaskellDepends = [
          aeson async base bytestring cmdargs directory filepath megaparsec
-         monad-loops process text
+         monad-loops mtl process scientific shakespeare text
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring cmdargs derive Diff directory
-         filepath HUnit megaparsec monad-loops pretty QuickCheck shakespeare
-         tasty tasty-golden tasty-hunit tasty-quickcheck text
+         aeson aeson-pretty base bytestring cmdargs Diff directory filepath
+         HUnit megaparsec monad-loops mtl pretty QuickCheck
+         quickcheck-arbitrary-template scientific shakespeare tasty
+         tasty-golden tasty-hunit tasty-quickcheck text unordered-containers
        ];
        description = "Bond schema compiler and code generator";
        license = stdenv.lib.licenses.mit;
@@ -41883,10 +42030,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolean-normal-forms";
-       version = "0.0.1";
-       sha256 = "12i0jarbv7gq2p8zw0jgh2gq3wqk6s0vsc9rd0g7c36srcmr944b";
-       revision = "1";
-       editedCabalFile = "1p31kqxp77xdhkszppmnzqgxp883vasrh5910qfif50lch39myfm";
+       version = "0.0.1.1";
+       sha256 = "0zsll476c7g5syfz54kwcb4d2chh9q6gh0f42847n3ja1d64gaar";
        libraryHaskellDepends = [ base cond containers deepseq ];
        testHaskellDepends = [
          base cond containers QuickCheck tasty tasty-quickcheck
@@ -41993,8 +42138,8 @@ self: {
     ({ mkDerivation, base, mtl, semigroups, template-haskell, text }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.5.6";
-       sha256 = "0zkr9w9qqrcicdm6r928a1z1svspnx6vh0b9mac4q7cd1h021ph3";
+       version = "1.4.5.7";
+       sha256 = "11ycghpgngnw0ks47h3wmp0xdfl3qw1wnwdil1vmr1b5a4gngzi1";
        libraryHaskellDepends = [
          base mtl semigroups template-haskell text
        ];
@@ -42199,6 +42344,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "boring_0_1_3" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, bin, constraints
+     , dec, fin, generics-sop, ral, singleton-bool, streams, tagged
+     , transformers, transformers-compat, vec
+     }:
+     mkDerivation {
+       pname = "boring";
+       version = "0.1.3";
+       sha256 = "1fljlkzc5016xbq9jykh0wr1mbyfcikh818pp54djws5vm66hh6d";
+       libraryHaskellDepends = [
+         adjunctions base base-compat bin constraints dec fin generics-sop
+         ral singleton-bool streams tagged transformers transformers-compat
+         vec
+       ];
+       description = "Boring and Absurd types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "boring-game" = callPackage
     ({ mkDerivation, base, gloss }:
      mkDerivation {
@@ -42413,35 +42577,26 @@ self: {
 
   "box" = callPackage
     ({ mkDerivation, async, attoparsec, base, concurrency
-     , contravariant, data-default, dejafu, doctest, exceptions, flow
-     , foldl, generic-lens, lens, mmorph, pipes, profunctors, protolude
-     , random, stm, streaming, text, time, transformers
-     , transformers-base
+     , contravariant, dejafu, doctest, exceptions, foldl, generic-lens
+     , lens, mtl, pipes, profunctors, random, streaming, text, time
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "box";
-       version = "0.0.1.2";
-       sha256 = "11g3ig1n1myfgcfvp6gkn5lyr2gdzj4zpginwmjac1c599xiyf8i";
+       version = "0.1.0";
+       sha256 = "1q03sgz4qzm61rs5chkvk0h9qj7idxxzmyr29awkxigv18nab18h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         exceptions flow foldl generic-lens lens mmorph pipes profunctors
-         protolude random stm streaming text time transformers
+         async attoparsec base concurrency contravariant exceptions foldl
+         lens pipes profunctors streaming text time transformers
          transformers-base
        ];
        executableHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         exceptions flow foldl generic-lens lens mmorph pipes profunctors
-         protolude random stm streaming text time transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base concurrency contravariant data-default dejafu
-         doctest exceptions flow foldl generic-lens lens mmorph pipes
-         profunctors protolude random stm streaming text time transformers
-         transformers-base
+         base concurrency dejafu generic-lens lens mtl random streaming text
+         transformers
        ];
+       testHaskellDepends = [ base doctest ];
        description = "boxes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -42607,22 +42762,22 @@ self: {
 
   "breve" = callPackage
     ({ mkDerivation, aeson, base, binary, blaze-html, bytestring
-     , configurator, cryptohash, directory, hashtables, http-types, mtl
-     , random, Spock, Spock-core, text, tls, transformers, wai
-     , wai-extra, wai-middleware-static, warp, warp-tls, xdg-basedir
+     , configurator, cryptohash, directory, hashtables, http-api-data
+     , mtl, random, servant, servant-blaze, servant-server
+     , streaming-commons, text, tls, wai, wai-extra, warp, warp-tls
      }:
      mkDerivation {
        pname = "breve";
-       version = "0.4.5.1";
-       sha256 = "1db93l3lb09rsb6yh3pkbfpyh736a9ki0q1x8s8rcp4dsy79b3va";
+       version = "0.5.0.0";
+       sha256 = "1rdamkzy502lvz773lh7zjqw76in8v46218dfj4b5xsljkh605jm";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          aeson base binary blaze-html bytestring configurator cryptohash
-         directory hashtables http-types mtl random Spock Spock-core text
-         tls transformers wai wai-extra wai-middleware-static warp warp-tls
-         xdg-basedir
+         directory hashtables http-api-data mtl random servant servant-blaze
+         servant-server streaming-commons text tls wai wai-extra warp
+         warp-tls
        ];
        description = "a url shortener";
        license = stdenv.lib.licenses.gpl3;
@@ -42670,7 +42825,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_50" = callPackage
+  "brick_0_50_1" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, filepath
      , microlens, microlens-mtl, microlens-th, QuickCheck, stm
@@ -42679,10 +42834,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.50";
-       sha256 = "0g2c420zpvjv8v3y5l4jhmml279d920k9d92yga8d86jymanbvy9";
-       revision = "1";
-       editedCabalFile = "0sknkg4fkmxs78ysk76xhrz5mixndazxnmw7ss1j560z8z368ry0";
+       version = "0.50.1";
+       sha256 = "0wv69pbs4xqfdqw9ag32fhqhmh8djxb14h8jpyblmykirlznx77y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42944,17 +43097,55 @@ self: {
        license = stdenv.lib.licenses.agpl3;
      }) {};
 
+  "brittany_0_12_1_1" = callPackage
+    ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
+     , containers, czipwith, data-tree-print, deepseq, directory, extra
+     , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
+     , monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
+     , random, safe, semigroups, strict, syb, text, transformers
+     , uniplate, unsafe, yaml
+     }:
+     mkDerivation {
+       pname = "brittany";
+       version = "0.12.1.1";
+       sha256 = "0nw7ymdb7xam634w42l1xjgyvpla8grcg02aj19fscw2fn9gfh7z";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths monad-memo mtl multistate
+         neat-interpolation pretty random safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       executableHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths monad-memo mtl multistate
+         neat-interpolation pretty safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       testHaskellDepends = [
+         aeson base butcher bytestring cmdargs containers czipwith
+         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths hspec monad-memo mtl multistate
+         neat-interpolation parsec pretty safe semigroups strict syb text
+         transformers uniplate unsafe yaml
+       ];
+       description = "Haskell source code formatter";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "broadcast-chan" = callPackage
-    ({ mkDerivation, async, base, criterion, deepseq, stm
+    ({ mkDerivation, async, base, criterion, deepseq, stm, transformers
      , unliftio-core
      }:
      mkDerivation {
        pname = "broadcast-chan";
-       version = "0.2.0.2";
-       sha256 = "12ax37y9i3cs8wifz01lpq0awm9c235l5xkybf13ywvyk5svb0jv";
-       revision = "1";
-       editedCabalFile = "1sgifhdf9l8zkc0dddnkfy8f1bkry061vm67iich489fi8nlhfjn";
-       libraryHaskellDepends = [ base unliftio-core ];
+       version = "0.2.1";
+       sha256 = "1pigxkncv71p51qnhxkag6hry14jp5s2skmxxbq2pmlrkj9j6rgs";
+       libraryHaskellDepends = [ base transformers unliftio-core ];
        benchmarkHaskellDepends = [ async base criterion deepseq stm ];
        description = "Closable, fair, single-wakeup channel type that avoids 0 reader space leaks";
        license = stdenv.lib.licenses.bsd3;
@@ -42966,8 +43157,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-conduit";
-       version = "0.2.0.2";
-       sha256 = "1xnf1ibgnzi4xbmfgrkkfg3pkig7v8vv0xpfhhcdmnybwm2yhlli";
+       version = "0.2.1";
+       sha256 = "1n9hqmdyw3v58kv8czbvvw5sfy4il3izqvn6rk8gak84hb51brxq";
        libraryHaskellDepends = [
          base broadcast-chan conduit resourcet transformers unliftio-core
        ];
@@ -42986,8 +43177,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-pipes";
-       version = "0.2.0.2";
-       sha256 = "1brr0vjrsd53qji8pmns003m3k1s28hvr2w8875hv2fznmm8x1g7";
+       version = "0.2.1";
+       sha256 = "0yifpd97cihagflmh0xs0wcl541k89hick4h9hh8zrah72g71fqr";
        libraryHaskellDepends = [ base broadcast-chan pipes pipes-safe ];
        testHaskellDepends = [
          base broadcast-chan-tests containers foldl pipes pipes-safe
@@ -43006,10 +43197,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-tests";
-       version = "0.2.0.2";
-       sha256 = "1m7m06pd9vfvz0rfnylpr6pjvizxv31qizri3a400rkz3zanhkym";
-       revision = "2";
-       editedCabalFile = "0mfld36ppfyhx2w9a99gxa8qxnik0mnznl7bvqhbbaf1ayinhx91";
+       version = "0.2.1";
+       sha256 = "01vlhxxwhkakllffw7vdqr7fcsf9m7rkwkbs8x6d5dfwb5qxs6gk";
        libraryHaskellDepends = [
          async base broadcast-chan clock containers optparse-applicative
          paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis
@@ -43171,6 +43360,8 @@ self: {
        pname = "brotli-streams";
        version = "0.0.0.0";
        sha256 = "14jc1nhm50razsl99d95amdf4njf75dnzx8vqkihgrgp7qisyz3z";
+       revision = "1";
+       editedCabalFile = "1mpd5wf027g1f46a9a2g1wvsaxhr1asyj5f3k69vq3226dfisnn7";
        libraryHaskellDepends = [ base brotli bytestring io-streams ];
        testHaskellDepends = [
          base bytestring HUnit io-streams QuickCheck test-framework
@@ -43209,8 +43400,8 @@ self: {
        pname = "bsb-http-chunked";
        version = "0.0.0.4";
        sha256 = "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql";
-       revision = "1";
-       editedCabalFile = "07k9422yaw7rz66awmc20ni17xw2bd1pn48ja79c66d5va89f6wz";
+       revision = "2";
+       editedCabalFile = "0bz62lxdbnwkfr1d4ngm8xi4y1ndpdflbv71s6h43vp5lbd546hr";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          attoparsec base blaze-builder bytestring doctest hedgehog tasty
@@ -43525,6 +43716,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "buffet" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
+     , containers, directory, filepath, language-docker, mustache
+     , optparse-applicative, parsec, random, split, tasty, tasty-hunit
+     , text, typed-process, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "buffet";
+       version = "0.3.0";
+       sha256 = "1dsnbx148yrqikqx9qfxivz52szlqaah7q6dg80m87g997x428m7";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring cassava containers directory
+         filepath language-docker mustache optparse-applicative parsec
+         random split text typed-process unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath tasty tasty-hunit text
+         typed-process unordered-containers vector yaml
+       ];
+       doHaddock = false;
+       description = "Assembles many Dockerfiles in one";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "buffon" = callPackage
     ({ mkDerivation, base, monad-primitive, mwc-random
      , mwc-random-monad, primitive, transformers
@@ -43821,8 +44041,8 @@ self: {
      }:
      mkDerivation {
        pname = "bulmex";
-       version = "2.1.0";
-       sha256 = "0awdbwh9s5wdj05fnkzr7dpp2riipv9rlvknrcxf4dpxp9c72n1g";
+       version = "4.0.0";
+       sha256 = "0892prpi8hf8mkwr6n9228bfyji0wgdz9hyh619k20f6xim13ysc";
        libraryHaskellDepends = [
          aeson base bytestring containers generic-lens jsaddle jsaddle-dom
          keycode lens network-uri reflex reflex-dom-core reflex-dom-helpers
@@ -44306,16 +44526,16 @@ self: {
      }) {};
 
   "byteslice" = callPackage
-    ({ mkDerivation, base, primitive, primitive-addr, run-st, tasty
-     , tasty-hunit, tasty-quickcheck
+    ({ mkDerivation, base, bytestring, primitive, primitive-addr
+     , run-st, tasty, tasty-hunit, tasty-quickcheck
      }:
      mkDerivation {
        pname = "byteslice";
-       version = "0.1.3.0";
-       sha256 = "0lx69pcac7p20zs790x6ygqlgc3vljn4wjjp1jlcnp1jv6nhfwgf";
+       version = "0.1.4.0";
+       sha256 = "0kpamfmbgc31xha3p3rm2mqgngmdivkxl4z8lr0rjbil16r02nqr";
        libraryHaskellDepends = [ base primitive primitive-addr run-st ];
        testHaskellDepends = [
-         base primitive tasty tasty-hunit tasty-quickcheck
+         base bytestring primitive tasty tasty-hunit tasty-quickcheck
        ];
        description = "Slicing managed and unmanaged memory";
        license = stdenv.lib.licenses.bsd3;
@@ -44324,19 +44544,23 @@ self: {
      }) {};
 
   "bytesmith" = callPackage
-    ({ mkDerivation, base, byteslice, bytestring, contiguous, gauge
-     , primitive, run-st, tasty, tasty-hunit, tasty-quickcheck
-     , text-short
+    ({ mkDerivation, base, byte-order, byteslice, bytestring
+     , contiguous, gauge, primitive, run-st, tasty, tasty-hunit
+     , tasty-quickcheck, text-short, wide-word
      }:
      mkDerivation {
        pname = "bytesmith";
-       version = "0.3.0.0";
-       sha256 = "0zwa0klj1slazsvd37l33p5j2ii3ab114ic5fvd10aic37y6w82s";
+       version = "0.3.1.0";
+       sha256 = "1wkwxb9ygc6hii90jr7cjbv4s5d0l4wv0197p9jn4lj7h4i79iqd";
+       revision = "1";
+       editedCabalFile = "13maddwkl9ajczvnrsnsa9f7w20fzq8il09xh9lqhwyrz9yak4ii";
        libraryHaskellDepends = [
          base byteslice bytestring contiguous primitive run-st text-short
+         wide-word
        ];
        testHaskellDepends = [
-         base byteslice primitive tasty tasty-hunit tasty-quickcheck
+         base byte-order byteslice primitive tasty tasty-hunit
+         tasty-quickcheck text-short wide-word
        ];
        benchmarkHaskellDepends = [
          base byteslice bytestring gauge primitive
@@ -44782,6 +45006,8 @@ self: {
        pname = "bytestring-trie";
        version = "0.2.5.0";
        sha256 = "1jpynpyarikxhlc4ifdswvkj0ph9fd5d0vcxhjv0lrv0zwqvv488";
+       revision = "1";
+       editedCabalFile = "1qpv52ywp8r30s3m9qyjiqiwa6clg3zp095yhs2d4533amprryly";
        libraryHaskellDepends = [ base binary bytestring ];
        description = "An efficient finite map from (byte)strings to values";
        license = stdenv.lib.licenses.bsd3;
@@ -45228,8 +45454,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.1.2";
-       sha256 = "10njmjlg20rcn223581q013cdmmr2q5x1w62wz7gjq32n6l9fv4r";
+       version = "1.0.1.3";
+       sha256 = "03x5p2yz6vdrhl8dnmgc7phbsmrg7x51syg41i2hjcw9bm2js8wg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45454,8 +45680,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-fmt";
-       version = "0.1.1";
-       sha256 = "07hx1s7l5zmh7vs2zmmm56msz2m7wnzn919mvnpypvrsswmmnnd9";
+       version = "0.1.2";
+       sha256 = "0h4qxbwykddbdbiw5j140v8cin5h4aqi260wd9fddpxdpkpmdrda";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45557,6 +45783,8 @@ self: {
        doCheck = false;
        description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-info" = callPackage
@@ -45674,6 +45902,32 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-install-parsers" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
+     , binary, binary-instances, bytestring, Cabal, containers
+     , cryptohash-sha256, directory, filepath, lukko, network-uri
+     , parsec, pretty, tar, tasty, tasty-golden, tasty-hunit, text, time
+     , transformers, tree-diff
+     }:
+     mkDerivation {
+       pname = "cabal-install-parsers";
+       version = "0.2";
+       sha256 = "14bfiw8ddfm323a8870wazdb6rlyq52ykrhhm24vd2lxg61sn4aa";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring binary binary-instances bytestring
+         Cabal containers cryptohash-sha256 directory filepath lukko
+         network-uri parsec pretty tar text time transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal base bytestring Cabal containers directory filepath
+         tasty tasty-golden tasty-hunit tree-diff
+       ];
+       description = "Utilities to work with cabal-install files";
+       license = "GPL-2.0-or-later AND BSD-3-Clause";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-lenses" = callPackage
     ({ mkDerivation, base, Cabal, lens, strict, system-fileio
      , system-filepath, text, transformers, unordered-containers
@@ -45780,18 +46034,16 @@ self: {
      }) {};
 
   "cabal-plan" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base-compat
+    ({ mkDerivation, aeson, ansi-terminal, async, base, base-compat
      , base16-bytestring, bytestring, containers, directory, filepath
-     , mtl, optics-core, optparse-applicative, parsec, process-extras
+     , mtl, optics-core, optparse-applicative, parsec, process
      , semialign, singleton-bool, text, these, topograph, transformers
      , vector
      }:
      mkDerivation {
        pname = "cabal-plan";
-       version = "0.6.1.0";
-       sha256 = "0jb50a45aky1jljl6g84h61wrirk6gh5pwk0m0pkhd1q7zj58jgi";
-       revision = "1";
-       editedCabalFile = "02krq0ibb4q2ypj7cp8yclc175a2hlaa9x5x3j3i8wjkf8pyyvx1";
+       version = "0.6.2.0";
+       sha256 = "0gwbyyj4xih9barg2c589v6z82s0gx98airs6icivg301khg9fzg";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -45800,9 +46052,9 @@ self: {
          filepath text
        ];
        executableHaskellDepends = [
-         ansi-terminal base base-compat bytestring containers directory mtl
-         optics-core optparse-applicative parsec process-extras semialign
-         singleton-bool text these topograph transformers vector
+         ansi-terminal async base base-compat bytestring containers
+         directory mtl optics-core optparse-applicative parsec process
+         semialign singleton-bool text these topograph transformers vector
        ];
        description = "Library and utility for processing cabal's plan.json file";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -45863,6 +46115,28 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-rpm_1_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , http-client, http-client-tls, http-conduit, optparse-applicative
+     , process, simple-cabal, simple-cmd, simple-cmd-args, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "1.0.2";
+       sha256 = "03315wka46mqz090cijz1rk69i861nm6yc0jm6xjlgrbhi4ngmri";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory filepath http-client
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
+       ];
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-scripts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -46374,8 +46648,8 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.1.2";
-       sha256 = "0b0jggcbnrs0pppn60kaggxkwmg0ri7b1i4j5613abgw8bj258s8";
+       version = "0.1.2.0";
+       sha256 = "12mxziwz8qn26v5xkp0bh13jqf9hd8pi9flm68nz82p15vhcs01s";
        libraryHaskellDepends = [
          base clock hashable stm transformers unordered-containers
        ];
@@ -46384,6 +46658,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cache_0_1_3_0" = callPackage
+    ({ mkDerivation, base, clock, hashable, hspec, stm, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "cache";
+       version = "0.1.3.0";
+       sha256 = "0d75257kvjpnv95ja50x5cs77pj8ccfr0nh9q5gzvcps83qdksa2";
+       libraryHaskellDepends = [
+         base clock hashable stm transformers unordered-containers
+       ];
+       testHaskellDepends = [ base clock hspec stm transformers ];
+       description = "An in-memory key/value store with expiration support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cached" = callPackage
     ({ mkDerivation, base, containers, directory, doctest, filepath
      , protolude, QuickCheck, quickcheck-assertions, shake, text
@@ -46871,6 +47162,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "calenderweek" = callPackage
+    ({ mkDerivation, base, megaparsec, optparse-generic, text, time }:
+     mkDerivation {
+       pname = "calenderweek";
+       version = "1.0.0";
+       sha256 = "10lv7c74jrw8v06vaz8assgqlvrk0spn08sw0nvzz1q0x0zbbwff";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base megaparsec optparse-generic text time
+       ];
+       description = "Commandline tool to get week of the year";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "call" = callPackage
     ({ mkDerivation, base, bindings-portaudio, boundingboxes, colors
      , containers, control-bool, deepseq, directory, filepath, free
@@ -46900,22 +47208,24 @@ self: {
 
   "call-alloy" = callPackage
     ({ mkDerivation, base, bytestring, directory, file-embed, filepath
-     , hashable, hspec, process, split
+     , hashable, hspec, process, split, unix
      }:
      mkDerivation {
        pname = "call-alloy";
-       version = "0.1.0.0";
-       sha256 = "07wcrvi7ajdkbv054npn6nfqq7pnndpssqx3nshiqgmh90248lb8";
+       version = "0.1.0.2";
+       sha256 = "0blimzaambck8z4sy24s7d0l4v4hcaqxfbkidj2sjvgm0xidd2gb";
        libraryHaskellDepends = [
          base bytestring directory file-embed filepath hashable process
-         split
+         split unix
        ];
        testHaskellDepends = [
          base bytestring directory file-embed filepath hashable hspec
-         process split
+         process split unix
        ];
        description = "A simple library to call Alloy given a specification";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "call-haskell-from-anything" = callPackage
@@ -47037,13 +47347,13 @@ self: {
      }) {};
 
   "can-i-haz" = callPackage
-    ({ mkDerivation, base, deepseq, hspec, HUnit }:
+    ({ mkDerivation, base, deepseq, hspec, HUnit, mtl }:
      mkDerivation {
        pname = "can-i-haz";
-       version = "0.2.1.0";
-       sha256 = "0jkk0a02mdaicyp1k4c5zgycj157d9vpmahsqji8nld8npifpl48";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base deepseq hspec HUnit ];
+       version = "0.3.0.0";
+       sha256 = "0m77szr91q8p7n9c91chafzypiadi565a4k3y949m1cd3r3b0pjr";
+       libraryHaskellDepends = [ base mtl ];
+       testHaskellDepends = [ base deepseq hspec HUnit mtl ];
        description = "Generic implementation of the Has and CoHas patterns";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -47226,8 +47536,8 @@ self: {
        pname = "cantor-pairing";
        version = "0.1.1.0";
        sha256 = "03vl7qd5962kr0mi4ymgmh667948rzqiq9f1ixcvycyjz8hz0yqw";
-       revision = "2";
-       editedCabalFile = "0vl4b3v7qzbsd93vb0flyd6xkpayji49il97d2a6v35cliph5yw2";
+       revision = "3";
+       editedCabalFile = "0rcjz2r4l4crxxda3hjpi5kkxrh4pgdrcbw29bj5w9a4jph0d0ld";
        libraryHaskellDepends = [
          arithmoi base containers integer-gmp integer-logarithms
        ];
@@ -48138,8 +48448,8 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-megaparsec";
-       version = "2.0.0";
-       sha256 = "0jwhvgfkgxpxp6cci9ahp3kryr4vaxbpqgjzf8ylr2592dm2irnf";
+       version = "2.0.1";
+       sha256 = "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3";
        libraryHaskellDepends = [
          base bytestring cassava megaparsec unordered-containers vector
        ];
@@ -48246,6 +48556,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "castagnoli" = callPackage
+    ({ mkDerivation, base, byteslice, bytestring, primitive
+     , primitive-slice, primitive-unlifted, text
+     }:
+     mkDerivation {
+       pname = "castagnoli";
+       version = "0.1.0.0";
+       sha256 = "10mznwl00lmx5zmha7w0p7yx406k0qvv74x6lcms4ynq4z5hi8fj";
+       revision = "1";
+       editedCabalFile = "1yp0c8klbf81m2v7qwj22l2yh0w6q6xgnk44zwxdkgpbsjghdp14";
+       libraryHaskellDepends = [
+         base byteslice primitive primitive-slice primitive-unlifted
+       ];
+       testHaskellDepends = [ base bytestring primitive text ];
+       description = "Portable CRC-32C";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {primitive-slice = null;};
+
   "caster" = callPackage
     ({ mkDerivation, base, bytestring, directory, fast-builder, mtl
      , QuickCheck, quickcheck-instances, stm, tasty, tasty-discover
@@ -50102,24 +50432,6 @@ self: {
      }:
      mkDerivation {
        pname = "chiphunk";
-       version = "0.1.2.0";
-       sha256 = "0bdmvsspbnyqqf4bp8g8xggly1xs2yglh60y63633h27qdy2062b";
-       libraryHaskellDepends = [
-         base hashable safe-exceptions StateVar vector-space
-       ];
-       libraryToolDepends = [ c2hs ];
-       description = "Haskell bindings for Chipmunk2D physics engine";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "chiphunk_0_1_2_1" = callPackage
-    ({ mkDerivation, base, c2hs, hashable, safe-exceptions, StateVar
-     , vector-space
-     }:
-     mkDerivation {
-       pname = "chiphunk";
        version = "0.1.2.1";
        sha256 = "03mjx286kbxnnsalqii7fbq3zgdbdsb2mr6x334jffif801sjmbq";
        libraryHaskellDepends = [
@@ -50473,10 +50785,8 @@ self: {
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.7";
-       sha256 = "0yqk43ax20sk3rpxd5s857ivbgigvd5qdq4axawzmqr2na6jlikx";
-       revision = "1";
-       editedCabalFile = "0rf2rcdx7cvx1aa6yb9khbgkrh08v4l52sg1w89qz0245dalw14r";
+       version = "1.0.9";
+       sha256 = "103vwpdjqk1csw8famc62ba5ck9s6yd8w5hfa6a0qj3bx9vmf9qv";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock hashable primitive
          semigroups text torsor vector
@@ -50493,6 +50803,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "chronos_1_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , deepseq, doctest, hashable, HUnit, old-locale, primitive
+     , QuickCheck, semigroups, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, thyme, time, torsor, vector
+     }:
+     mkDerivation {
+       pname = "chronos";
+       version = "1.1";
+       sha256 = "0g41hchir6rxfnd8halg49y80pc9dr38k7b7cik18gqdasswwg6c";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring hashable primitive semigroups text
+         torsor vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring doctest HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text torsor
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring criterion deepseq old-locale QuickCheck
+         text thyme time vector
+       ];
+       description = "A performant time library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "chronos-bench" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, chronos
      , containers, deepseq, optparse-applicative, process, terminal-size
@@ -50517,8 +50854,8 @@ self: {
     ({ mkDerivation, base, Cabal, chs-deps }:
      mkDerivation {
        pname = "chs-cabal";
-       version = "0.1.0.1";
-       sha256 = "0s734zls7gjihw0l27mfxyzbphq4n443vy08d47s3znri4fn6r58";
+       version = "0.1.1.0";
+       sha256 = "0zan47md9zivzc1gd1j1g0200n8d0ffx4dcmkd9vriqjsdwhqvl5";
        libraryHaskellDepends = [ base Cabal chs-deps ];
        description = "Cabal with c2hs dependencies";
        license = stdenv.lib.licenses.bsd3;
@@ -50926,8 +51263,8 @@ self: {
        pname = "circle-packing";
        version = "0.1.0.6";
        sha256 = "06z8irwrjxxgk5xqlpy6a9mjl44kp9pgx2xpslhgxrd31nll9vk4";
-       revision = "2";
-       editedCabalFile = "1ag213lv6yfzxdc4ghbywy165qblnqx5b3j9d23kc6fcyf19nfyk";
+       revision = "3";
+       editedCabalFile = "0rcv84a6bp6dll8df4pfmjl03cm87hrlrf6mbig26ifp9ql4542m";
        libraryHaskellDepends = [ base ];
        description = "Simple heuristic for packing discs of varying radii in a circle";
        license = stdenv.lib.licenses.bsd3;
@@ -51744,15 +52081,13 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
-       version = "0.13.1";
-       sha256 = "18r8lgzyscxnw6xdxg0jxvp2977i02fjh3n5p89fnd8qrh0r2kl4";
+       version = "0.13.3";
+       sha256 = "192lsbyj6azjs2ygpx4i47fyr8zfmvwcas8mia07ndqglk2c9csx";
        libraryHaskellDepends = [ base mtl text ];
        testHaskellDepends = [ base hspec hspec-discover mtl text ];
        testToolDepends = [ hspec-discover ];
        description = "CSS preprocessor as embedded Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "clckwrks" = callPackage
@@ -51769,8 +52104,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.25.2";
-       sha256 = "087k0n6ri0pg5wmjnw3gkjaz5d627519vby9kmiagck7id7f89q9";
+       version = "0.25.4";
+       sha256 = "0mlrkyhs095b8bwsk4mjq4wys6ydn4m9nds37lxqnw6qzl6rk5hl";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
@@ -51798,8 +52133,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.3.0";
-       sha256 = "0ardhl27n3al945s88dmygnw42ki5sn23s59rkhbs4pdyp9yawhs";
+       version = "0.3.0.1";
+       sha256 = "0f44ndvnkivwc72lxfr779kyn20g7f4wy3prqazdhk47xvl1fps6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51926,8 +52261,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-media";
-       version = "0.6.16.6";
-       sha256 = "05gmr0y5ygsybmdp1k2xcfhbn7wix9mrwvwsv4x0has9l8xc92q1";
+       version = "0.6.16.8";
+       sha256 = "0l6rb5gjag9mxcn067yp3h0bd37jg18p3sg79gkf2pzkxyzhgwqk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state attoparsec base blaze-html cereal clckwrks containers
@@ -51953,8 +52288,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.18";
-       sha256 = "0fgz0rxzkbavzqci4kcav1pljkhdy1mgmf3mldbxp8f88pr5lm42";
+       version = "0.4.3.19";
+       sha256 = "06lvr3sq5slcfc1r3vmip9flh5dn50mz6ar7x11zk4dm365g4vhk";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
@@ -51977,14 +52312,13 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.2.1";
-       sha256 = "1mkqi3qx6k86d2xr4cyxg0ym5c71ip4ijgg6mg20gf3jkjjzvha4";
+       version = "0.4.2.2";
+       sha256 = "0sa3k34m1kf6r7i42rfg5v3g1m9drisfnn2bvlfcbyk8sna7mf80";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
          mtl text web-plugins
        ];
-       libraryToolDepends = [ hsx2hs ];
        description = "simple bootstrap based template for clckwrks";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -52153,8 +52487,8 @@ self: {
      }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.0.7";
-       sha256 = "1fp1m48rpgnq3db4nvcnry3h46m7k07g8blivv0mb62w8fdm9smq";
+       version = "0.2.1.2";
+       sha256 = "0fh9lp8r73mslhwxcjpfzvm0j0qbq0prr4bkkwq2v16izg14ccda";
        libraryHaskellDepends = [
          base bytestring directory file-embed process
        ];
@@ -52612,13 +52946,15 @@ self: {
      }:
      mkDerivation {
        pname = "cloudi";
-       version = "1.7.5";
-       sha256 = "08cklswxmd7x0zxkkrlwh1qy57jbqp0dv3x57xskxpmwyhws2vgs";
+       version = "1.8.0";
+       sha256 = "0j98dbyhc845y26abyp8sdcajpxvpsjcqrmcls4jnb4bhnz21jkc";
        libraryHaskellDepends = [
          array base binary bytestring containers network time unix zlib
        ];
        description = "Haskell CloudI API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cloudyfs" = callPackage
@@ -52926,8 +53262,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-gfm";
-       version = "0.2.0";
-       sha256 = "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq";
+       version = "0.2.1";
+       sha256 = "1qbhcirg7a0r68l3ifq8q9clnkai5hyhk62jb232bjplrl6y4c23";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [ base HUnit text ];
        benchmarkHaskellDepends = [
@@ -53129,6 +53465,18 @@ self: {
        broken = true;
      }) {};
 
+  "cmf" = callPackage
+    ({ mkDerivation, base, containers, hedgehog }:
+     mkDerivation {
+       pname = "cmf";
+       version = "0.1";
+       sha256 = "16d83x6qggifljm7n8sqlawy79iz7lkrb6vknrr825wa0zg1bc49";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base containers hedgehog ];
+       description = "(C)oncurrent (M)onoidal (F)olds";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cml" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -53396,6 +53744,81 @@ self: {
        broken = true;
      }) {};
 
+  "cobot" = callPackage
+    ({ mkDerivation, array, base, bytestring, clock, containers
+     , criterion, deepseq, hspec, lens, linear, megaparsec, mtl
+     , parallel, random, split, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "cobot";
+       version = "0.1.1.0";
+       sha256 = "17cl8dh4y7wyas6afslb1d27ibjc2633dcyx6pc6zng2p36m83l9";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq lens linear megaparsec mtl
+         split template-haskell text
+       ];
+       testHaskellDepends = [
+         array base bytestring containers deepseq hspec lens linear
+         megaparsec mtl split template-haskell text
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring clock containers criterion deepseq lens
+         linear megaparsec mtl parallel random split template-haskell text
+       ];
+       description = "Computational biology toolkit to collaborate with researchers in constructive protein engineering";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cobot-io" = callPackage
+    ({ mkDerivation, array, attoparsec, base, binary, bytestring
+     , containers, data-msgpack, deepseq, directory, hspec, http-conduit
+     , hyraxAbif, lens, linear, mtl, neat-interpolation, QuickCheck
+     , split, text, vector
+     }:
+     mkDerivation {
+       pname = "cobot-io";
+       version = "0.1.2.3";
+       sha256 = "0z4im9z5yi18kdw99d50zbcala619hba3iwka7ny5krladnz75ha";
+       libraryHaskellDepends = [
+         array attoparsec base binary bytestring containers data-msgpack
+         deepseq http-conduit hyraxAbif lens linear mtl split text vector
+       ];
+       testHaskellDepends = [
+         array attoparsec base binary bytestring containers data-msgpack
+         deepseq directory hspec http-conduit hyraxAbif lens linear mtl
+         neat-interpolation QuickCheck split text vector
+       ];
+       description = "Biological data file formats and IO";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "cobot-tools" = callPackage
+    ({ mkDerivation, array, base, bytestring, cobot, containers
+     , data-default, data-msgpack, deepseq, hspec, lens, mtl
+     , neat-interpolation, QuickCheck, random, regex-tdfa, RNA, text
+     }:
+     mkDerivation {
+       pname = "cobot-tools";
+       version = "0.1.2.1";
+       sha256 = "0qd3w9y3fps7kkpkvdh3wd54mm9z6ikr16f9f8jvn2gza0xc4l0m";
+       libraryHaskellDepends = [
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq lens mtl regex-tdfa text
+       ];
+       librarySystemDepends = [ RNA ];
+       testHaskellDepends = [
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq hspec lens mtl neat-interpolation QuickCheck random
+         regex-tdfa text
+       ];
+       description = "Biological data file formats and IO";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {RNA = null;};
+
   "code-builder" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -53580,17 +54003,26 @@ self: {
      }) {};
 
   "codeworld-api" = callPackage
-    ({ mkDerivation, base, blank-canvas, cereal, cereal-text
-     , containers, ghc-prim, hashable, mtl, random, random-shuffle, text
-     , time
+    ({ mkDerivation, aeson, base, base64-bytestring, blank-canvas
+     , bytestring, cereal, cereal-text, containers, deepseq
+     , dependent-sum, ghc-prim, hashable, HUnit, monad-loops, mtl
+     , random, ref-tf, reflex, template-haskell, test-framework
+     , test-framework-hunit, text, time
      }:
      mkDerivation {
        pname = "codeworld-api";
-       version = "0.3.1";
-       sha256 = "13kggrhm7hvkh3c9pilzgsb7yhkdbyxzj6jmfxqf4lskws17h0bg";
+       version = "0.4.0";
+       sha256 = "0smw8xjigq1sl3rppbhvifsrzjfbhy4d41m0rpjf1d1ahvby64ja";
        libraryHaskellDepends = [
-         base blank-canvas cereal cereal-text containers ghc-prim hashable
-         mtl random random-shuffle text time
+         aeson base base64-bytestring blank-canvas bytestring cereal
+         cereal-text containers deepseq dependent-sum ghc-prim hashable
+         monad-loops mtl random ref-tf reflex template-haskell text time
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring blank-canvas bytestring cereal
+         cereal-text containers deepseq dependent-sum ghc-prim hashable
+         HUnit monad-loops mtl random ref-tf reflex template-haskell
+         test-framework test-framework-hunit text time
        ];
        description = "Graphics library for CodeWorld";
        license = stdenv.lib.licenses.asl20;
@@ -54776,8 +55208,8 @@ self: {
      }:
      mkDerivation {
        pname = "comonad";
-       version = "5.0.5";
-       sha256 = "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c";
+       version = "5.0.6";
+       sha256 = "1blgp2nm9cvnsdi2bmkmly5m0gz91npjvf1i5j4pnx6imhbb1kvp";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers distributive tagged transformers
@@ -54968,6 +55400,24 @@ self: {
        broken = true;
      }) {};
 
+  "compact-word-vectors" = callPackage
+    ({ mkDerivation, base, primitive, QuickCheck, random, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "compact-word-vectors";
+       version = "0.2.0.1";
+       sha256 = "0ix8l6vvnf62vp6716gmypwqsrs6x5pzcx5yfj24bn4gk0xak3lm";
+       libraryHaskellDepends = [ base primitive ];
+       testHaskellDepends = [
+         base primitive QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Small vectors of small integers stored very compactly";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "compactable" = callPackage
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
@@ -55112,6 +55562,30 @@ self: {
        pname = "compensated";
        version = "0.7.3";
        sha256 = "089xj9j3gznxz66ywapjd9kasjcnv197ipj4azgjfbpl2y11l8dg";
+       revision = "1";
+       editedCabalFile = "1ax4jq2hp5737yvi3lxvyj3c4bzkg10h4c7w3nw0hgfcn1ng49kc";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bifunctors binary bytes cereal comonad deepseq distributive
+         hashable lens log-domain safecopy semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Compensated floating-point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compensated_0_8" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
+     , cabal-doctest, cereal, comonad, deepseq, distributive, doctest
+     , generic-deriving, hashable, lens, log-domain, safecopy
+     , semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "compensated";
+       version = "0.8";
+       sha256 = "1jvvsa1dqsds6ri6f746y47flwrlfxnc7jsgic2m6kvf1b700qr9";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq distributive
@@ -55122,6 +55596,7 @@ self: {
        ];
        description = "Compensated floating-point arithmetic";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "competition" = callPackage
@@ -55940,14 +56415,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_8_0_0" = callPackage
+  "concurrency_1_8_1_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.8.0.0";
-       sha256 = "091nv78c4cfcrg4hwxhn97l0xr5x2n4pfh802ysxmn2zvnm9fbf4";
+       version = "1.8.1.0";
+       sha256 = "0nw5i85lzh03ppcprzpvrlp3bmdam1z50bp7ddq9mp2ycyjbvrp5";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -57498,12 +57973,14 @@ self: {
      }:
      mkDerivation {
        pname = "connections";
-       version = "0.0.2";
-       sha256 = "06z83z172c0p0k8wycjfr26dd9nq2dgg6pjp1v8m3iy4dpmar7fq";
+       version = "0.0.2.1";
+       sha256 = "0pjvxy0167gl6yki2cvjlynzw7biifng82ybnxjmp1b4w7il2qdm";
        libraryHaskellDepends = [ base containers property semigroupoids ];
        testHaskellDepends = [ base hedgehog property ];
        description = "Partial orders & Galois connections";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "consistent" = callPackage
@@ -57720,8 +58197,8 @@ self: {
     ({ mkDerivation, base, category, unconstrained }:
      mkDerivation {
        pname = "constraint";
-       version = "0.1.3.0";
-       sha256 = "0yp09vg9hx5p7ncyh8h6mhcl14kanhhjldyn892lmp0jmlm7flyy";
+       version = "0.1.4.0";
+       sha256 = "0cdncdzpgyr9a0v213g9f6fqfd4311j5rg84gh85xynp8hhh0rr4";
        libraryHaskellDepends = [ base category unconstrained ];
        description = "Reified constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -57770,8 +58247,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "constraint-tuples";
-       version = "0.1.1";
-       sha256 = "0jml9sqgmfz3yqpd8g7k0ki1n036a6ws4m5ywbjmcyiz6gr52czl";
+       version = "0.1.2";
+       sha256 = "16f9y0q771f3mc38g8jpr875c8grjav6sg9lwbhg7nmcvcczwqk2";
        libraryHaskellDepends = [ base ];
        description = "Partially applicable constraint tuples";
        license = stdenv.lib.licenses.bsd3;
@@ -57943,6 +58420,8 @@ self: {
        pname = "consumers";
        version = "2.2.0.1";
        sha256 = "14gs07nl759qfnmi44pyhj24xqmd2xl3ikwhl8s5zykavdpjaimx";
+       revision = "1";
+       editedCabalFile = "1rh1hk1zr0yd82hsam8fjjs6jsssk49lvaasd3dqyx6d4nl1y63i";
        libraryHaskellDepends = [
          base containers exceptions extra hpqtypes lifted-base
          lifted-threads log-base monad-control monad-time mtl stm time
@@ -58313,24 +58792,6 @@ self: {
      }:
      mkDerivation {
        pname = "contravariant-extras";
-       version = "0.3.4";
-       sha256 = "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n";
-       revision = "1";
-       editedCabalFile = "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp";
-       libraryHaskellDepends = [
-         base base-prelude contravariant semigroups template-haskell
-         tuple-th
-       ];
-       description = "Extras for the \"contravariant\" package";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "contravariant-extras_0_3_5" = callPackage
-    ({ mkDerivation, base, base-prelude, contravariant, semigroups
-     , template-haskell, tuple-th
-     }:
-     mkDerivation {
-       pname = "contravariant-extras";
        version = "0.3.5";
        sha256 = "18hzip2i3r9hlw69pdvlkf9g7yg6bpm4b794m2ck84kpb4ajpm6p";
        libraryHaskellDepends = [
@@ -58339,7 +58800,6 @@ self: {
        ];
        description = "Extras for the \"contravariant\" package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "control" = callPackage
@@ -58810,8 +59270,8 @@ self: {
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.4";
-       sha256 = "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j";
+       version = "0.4.5";
+       sha256 = "10rmdasb7mypbwxdj2mhr810vqhkakpik7hyd8fvj60hng8r8zvh";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq text time
        ];
@@ -58855,12 +59315,15 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.0.1";
-       sha256 = "0sfvrk8ik6zaim6xlkvlnz3rnrqbiqvq7i6yxjiba74qx5w8yv4m";
+       version = "3.1";
+       sha256 = "1dw7bkmadwsncd39pkngaxglfsnrnc9km7y8ld0l9bkiiw136x2w";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base copilot-c99 copilot-core copilot-language copilot-libraries
          copilot-theorem directory filepath optparse-applicative
        ];
+       executableHaskellDepends = [ base copilot-c99 copilot-libraries ];
        description = "A stream DSL for writing embedded C programs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -58874,8 +59337,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.0.2";
-       sha256 = "02987kxwsrxcjicgfnj55prabiv12y5d1s82nr34kk3scrlixl1y";
+       version = "3.1";
+       sha256 = "1cwypmis5dcdzjasq03wcas4lnml7l4a4ymw1v55aybfmz94mxc3";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -58903,14 +59366,12 @@ self: {
      }) {};
 
   "copilot-core" = callPackage
-    ({ mkDerivation, base, containers, dlist, mtl, pretty, random }:
+    ({ mkDerivation, base, containers, dlist, mtl, pretty }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.0.1";
-       sha256 = "0gq55db39fsg3kim83s86nw58f9wbg59nlrhi4ic70864iv55zs8";
-       libraryHaskellDepends = [
-         base containers dlist mtl pretty random
-       ];
+       version = "3.1";
+       sha256 = "08xz5s0b2fd5igja5wiaq93ignx6bsf942rg4hy42fmh4c03hylp";
+       libraryHaskellDepends = [ base containers dlist mtl pretty ];
        description = "An intermediate representation for Copilot";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -58921,8 +59382,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.0.1";
-       sha256 = "1vx656vdjvdbsd3zv5cpb9xjvj85ylfqbbk8iibkbdgbq6sm11f6";
+       version = "3.1";
+       sha256 = "0hdk8418l30vz9lv7c4bzh8m5gn8knpvg296b14n66si9g36qglp";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify
          ghc-prim mtl
@@ -58939,8 +59400,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.0";
-       sha256 = "0xrv37m770qnc722iv5x67kjic11q2sd1bcx2b0gr93p54frbjs4";
+       version = "3.1";
+       sha256 = "094hjzg22b55n4kv89ccr7pbgqpbd0z8f5myn93nyw6yqpmpp30v";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -58974,8 +59435,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.0";
-       sha256 = "1h8gjlfhl473d6h8zafmqv3dzdhmgpyp8bsvysfzb7s2ga5hwnrq";
+       version = "3.1";
+       sha256 = "15vnl5lg9s6h9s98f1nvva3ab0gdn3a5314mxdfxxa53ywmiq2a0";
        libraryHaskellDepends = [
          ansi-terminal base bimap containers copilot-core data-default
          directory mtl parsec pretty process random transformers xml
@@ -59046,26 +59507,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.2.0.0";
-       sha256 = "1lzvs99qqw8nvgqqz080zdsxl5vdxdmnffxl8s26c7p41izycp5n";
-       libraryHaskellDepends = [
-         aeson base bytestring containers core-text hashable prettyprinter
-         prettyprinter-ansi-terminal scientific text unordered-containers
-         vector
-       ];
-       description = "Convenience wrappers around common data structures and encodings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "core-data_0_2_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, core-text
-     , hashable, prettyprinter, prettyprinter-ansi-terminal, scientific
-     , text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "core-data";
-       version = "0.2.1.0";
-       sha256 = "1d4sf0383kcc7wzy1bld1hlagf9g934bwnx6xdvj45grdkj8l787";
+       version = "0.2.1.4";
+       sha256 = "1arrw5xbzxpwqzpxcyw13lv4sazn5pzv448crw54284kyi798hc3";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          prettyprinter-ansi-terminal scientific text unordered-containers
@@ -59073,7 +59516,6 @@ self: {
        ];
        description = "Convenience wrappers around common data structures and encodings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "core-haskell" = callPackage
@@ -59102,8 +59544,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.2.2.0";
-       sha256 = "1k92rj2y48hdr844rnp1wqksm1blq7jahxfqqq21f252vyjj06pq";
+       version = "0.2.2.4";
+       sha256 = "0l30qvn118bb6vj39ca6wl7ynhf7hkwq7pbh60vhcmwcr20rj4b1";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath hashable hinotify hourglass mtl prettyprinter
@@ -59123,32 +59565,14 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.2.0.0";
-       sha256 = "1rkbz43vnjv8vv68xh98qcp59lmahw4sdpfnhvgrh92wj0namifk";
-       libraryHaskellDepends = [
-         base bytestring deepseq fingertree hashable prettyprinter
-         prettyprinter-ansi-terminal template-haskell text text-short
-       ];
-       description = "A text type based on a finger tree over UTF-8 fragments";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "core-text_0_2_2_1" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, fingertree, hashable
-     , prettyprinter, prettyprinter-ansi-terminal, template-haskell
-     , text, text-short
-     }:
-     mkDerivation {
-       pname = "core-text";
-       version = "0.2.2.1";
-       sha256 = "0bql1ksfblnplhj4rbzsjwjbdqdy3z28c51i63q6vhy20mr3bxqk";
+       version = "0.2.2.4";
+       sha256 = "1lfxphm5y9irrs225vr0gbvb129lxzfr0xjxy23dz6d0cc3pr1ph";
        libraryHaskellDepends = [
          base bytestring deepseq fingertree hashable prettyprinter
          prettyprinter-ansi-terminal template-haskell text text-short
        ];
        description = "A rope type based on a finger tree over UTF-8 fragments";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -59460,6 +59884,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "country_0_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
+     , ghc-prim, hashable, primitive, QuickCheck, quickcheck-classes
+     , scientific, tasty, tasty-quickcheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "country";
+       version = "0.2";
+       sha256 = "09qimpqgg4zhiiyw13n5r1ckswr5x3m8k1hdx9hwhd52j45zhbkg";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring deepseq ghc-prim hashable
+         primitive scientific text unordered-containers
+       ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-classes tasty tasty-quickcheck
+       ];
+       description = "Country data type and functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "country-codes" = callPackage
     ({ mkDerivation, aeson, base, deepseq, HTF, HUnit, shakespeare
      , text
@@ -59734,8 +60179,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.4";
-       sha256 = "05q3di6p3xr3qmw36bpbc4dzhjrfl7vf3v44i5v7shxpma2qylpf";
+       version = "3.6.5";
+       sha256 = "03qf4gd28097ra0vndizxxdqvqdgl4p3cl41w9r0rfcw4367bzjf";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -59819,8 +60264,8 @@ self: {
      }:
      mkDerivation {
        pname = "cql";
-       version = "4.0.1";
-       sha256 = "021qaz6qvbdp76gdyfcs07wnnq6k6r1cmqky0g3giinjdrm4qac9";
+       version = "4.0.2";
+       sha256 = "0b6806ahmg4yacx5wc4v53gihhkwywajhqm13kb11nxabww3lapl";
        libraryHaskellDepends = [
          base bytestring cereal containers Decimal iproute network
          template-haskell text time transformers uuid vector
@@ -60398,19 +60843,17 @@ self: {
      }) {};
 
   "crf-chain1" = callPackage
-    ({ mkDerivation, array, base, binary, containers, data-lens
+    ({ mkDerivation, array, base, binary, containers, data-lens-light
      , logfloat, monad-codec, parallel, random, sgd, vector
-     , vector-binary, vector-th-unbox
+     , vector-binary-instances, vector-th-unbox
      }:
      mkDerivation {
        pname = "crf-chain1";
-       version = "0.2.2";
-       sha256 = "0v0mmpvn9qma3xz92s13ywk9p5czxzshh2rf06hb2zqqq5m6iwhq";
-       revision = "1";
-       editedCabalFile = "16h297h22wfkq8sgvfxm4gv7wi7pz7pl481b6lgk04rw23bgd2x2";
+       version = "0.2.3";
+       sha256 = "0k805zqjqixicf4s0gs04jc1gijckcnrb3w43sykhhsbz194p0s2";
        libraryHaskellDepends = [
-         array base binary containers data-lens logfloat monad-codec
-         parallel random sgd vector vector-binary vector-th-unbox
+         array base binary containers data-lens-light logfloat monad-codec
+         parallel random sgd vector vector-binary-instances vector-th-unbox
        ];
        description = "First-order, linear-chain conditional random fields";
        license = stdenv.lib.licenses.bsd3;
@@ -60964,6 +61407,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "crypto-keys-ssh" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring }:
+     mkDerivation {
+       pname = "crypto-keys-ssh";
+       version = "0.1.0.0";
+       sha256 = "17r15w7rw6klcw5nlq6acka7rq3kba3vikwggb2fssr8x7wfrm5r";
+       libraryHaskellDepends = [
+         base base64-bytestring binary bytestring
+       ];
+       description = "Like crypto-pubkey-openssh but not dependent on any specific crypto library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "crypto-multihash" = callPackage
     ({ mkDerivation, base, base58-bytestring, bytestring, containers
      , cryptonite, hspec, memory, QuickCheck, string-conversions
@@ -62205,6 +62661,8 @@ self: {
        pname = "cue-sheet";
        version = "2.0.1";
        sha256 = "0papll3xcq2ipmya61jr71gf3zx2swmys829x5sbz7lv6abj9r3i";
+       revision = "1";
+       editedCabalFile = "0md9051a0jp4vkss15dyyf1w7ylpqmvzfdj9xb1rgj95s1x7cx2g";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers exceptions megaparsec mtl QuickCheck
@@ -62405,8 +62863,8 @@ self: {
      }:
      mkDerivation {
        pname = "curry-base";
-       version = "1.1.0";
-       sha256 = "1hxac2mx7irphcyhljwivx1w6j6li0s7gl54yb50na6qpna7arqg";
+       version = "1.1.1";
+       sha256 = "0dczgya46jk80j8b7sswjcck64hzw7fifipixnhylhlfvd1cqdlb";
        libraryHaskellDepends = [
          base containers directory extra filepath mtl parsec pretty time
          transformers
@@ -62417,24 +62875,26 @@ self: {
      }) {};
 
   "curry-frontend" = callPackage
-    ({ mkDerivation, base, Cabal, containers, curry-base, directory
-     , extra, filepath, mtl, network-uri, pretty, process, set-extra
-     , transformers
+    ({ mkDerivation, base, bytestring, Cabal, containers, curry-base
+     , directory, extra, file-embed, filepath, mtl, network-uri, pretty
+     , process, set-extra, template-haskell, transformers
      }:
      mkDerivation {
        pname = "curry-frontend";
-       version = "1.0.3";
-       sha256 = "0dqmmvn6iziyzdmig1gbcpdpbpg1hjp57pldzcv03fm2bjhq0a4q";
+       version = "1.0.4";
+       sha256 = "1dfljqyrp9w0sw3zmyy9rglpnjv14qj8ky1yjslmiaanjnl0m07b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        executableHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        testHaskellDepends = [ base Cabal curry-base filepath ];
        description = "Compile the functional logic language Curry to several intermediate formats";
@@ -63925,6 +64385,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "data-diverse_4_7_0_0" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, ghc-prim
+     , hspec, tagged
+     }:
+     mkDerivation {
+       pname = "data-diverse";
+       version = "4.7.0.0";
+       sha256 = "0ccbb8kf2spaa2h6k10y26zzaij1w28vrifhc8c1ljlvsmc9dkf3";
+       libraryHaskellDepends = [
+         base containers deepseq ghc-prim tagged
+       ];
+       testHaskellDepends = [ base hspec tagged ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Extensible records and polymorphic variants";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-diverse-lens" = callPackage
     ({ mkDerivation, base, data-diverse, data-has, hspec, lens
      , profunctors, tagged
@@ -63947,22 +64425,6 @@ self: {
      }:
      mkDerivation {
        pname = "data-dword";
-       version = "0.3.1.2";
-       sha256 = "084invjg8zj7ndxnz9clqmq06ch47k1d9lhxwap6xs0x4807crvb";
-       libraryHaskellDepends = [
-         base data-bword ghc-prim hashable template-haskell
-       ];
-       testHaskellDepends = [ base tasty tasty-quickcheck ];
-       description = "Stick two binary words together to get a bigger one";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "data-dword_0_3_1_3" = callPackage
-    ({ mkDerivation, base, data-bword, ghc-prim, hashable, tasty
-     , tasty-quickcheck, template-haskell
-     }:
-     mkDerivation {
-       pname = "data-dword";
        version = "0.3.1.3";
        sha256 = "1l4g8xbsix6xqljadfq49rs39m2lsbrfz4i7l80q0yhafbm4ax8b";
        libraryHaskellDepends = [
@@ -63971,7 +64433,6 @@ self: {
        testHaskellDepends = [ base tasty tasty-quickcheck ];
        description = "Stick two binary words together to get a bigger one";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-easy" = callPackage
@@ -64568,8 +65029,8 @@ self: {
     ({ mkDerivation, attoparsec, base, binary, containers, text }:
      mkDerivation {
        pname = "data-named";
-       version = "0.6.1";
-       sha256 = "14xhjp13hq2d9raybw50v85pax54xb1niczd6f32gvn8cdd28pji";
+       version = "0.6.2";
+       sha256 = "03f4xc4ayql17s48ajza2ny79j885mcmp0x3mrwcfdc42dlnd7nb";
        libraryHaskellDepends = [ attoparsec base binary containers text ];
        description = "Data types for named entities";
        license = stdenv.lib.licenses.bsd3;
@@ -64832,24 +65293,6 @@ self: {
      }:
      mkDerivation {
        pname = "data-serializer";
-       version = "0.3.4";
-       sha256 = "1ijy8l5lxmm8wpzx4h2vh9q21zz66xgh979s32aa4b16l9m1b4z7";
-       libraryHaskellDepends = [
-         base binary bytestring cereal data-endian parsers semigroups split
-       ];
-       testHaskellDepends = [
-         base binary bytestring cereal tasty tasty-quickcheck
-       ];
-       description = "Common API for serialization libraries";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "data-serializer_0_3_4_1" = callPackage
-    ({ mkDerivation, base, binary, bytestring, cereal, data-endian
-     , parsers, semigroups, split, tasty, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "data-serializer";
        version = "0.3.4.1";
        sha256 = "1md6zkv1yqxmyca6mljw8y5g3xaqz3g087qd49qpi94w0x1lqgnk";
        libraryHaskellDepends = [
@@ -64860,7 +65303,6 @@ self: {
        ];
        description = "Common API for serialization libraries";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-size" = callPackage
@@ -65032,26 +65474,6 @@ self: {
      }:
      mkDerivation {
        pname = "data-textual";
-       version = "0.3.0.2";
-       sha256 = "0c4qs923dj4jnvvkjvbij0c1yg922iw66140cq6wb1m4h6q31ia4";
-       libraryHaskellDepends = [
-         base bytestring parsers text text-latin1 text-printer
-       ];
-       testHaskellDepends = [
-         base parsers QuickCheck test-framework test-framework-quickcheck2
-         text-printer type-hint
-       ];
-       description = "Human-friendly textual representations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "data-textual_0_3_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, parsers, QuickCheck
-     , test-framework, test-framework-quickcheck2, text, text-latin1
-     , text-printer, type-hint
-     }:
-     mkDerivation {
-       pname = "data-textual";
        version = "0.3.0.3";
        sha256 = "16pcfpr5y66q6cga1hs5ggqg03qqcymgjyrhv4yj091zs36fi7jb";
        libraryHaskellDepends = [
@@ -65063,7 +65485,6 @@ self: {
        ];
        description = "Human-friendly textual representations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-timeout" = callPackage
@@ -67433,8 +67854,8 @@ self: {
      }:
      mkDerivation {
        pname = "dependent-monoidal-map";
-       version = "0.1.1.0";
-       sha256 = "0l5nj7jalyca6vv9aqsx0j799vrr65cm1jzh17fcnwkxair3lkgx";
+       version = "0.1.1.1";
+       sha256 = "0i3zgngcdli6hw09h985ca4n7l9cpsrxalbhg8lbq32hwh7dim89";
        libraryHaskellDepends = [
          aeson base constraints constraints-extras dependent-map
          dependent-sum dependent-sum-aeson-orphans
@@ -67863,8 +68284,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.7";
-       sha256 = "0bp4f0is84cv139s35669dv23mcp6lhp2wall72yvkk12lp2l2mg";
+       version = "0.5.8";
+       sha256 = "1dznwypw0w935z30zi9pf9k4mr5yfl6jfp43nv9vx3f6zy5gip9r";
        libraryHaskellDepends = [
          base containers ghc-boot-th ghc-prim template-haskell
          th-abstraction transformers transformers-compat
@@ -67906,8 +68327,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.5";
-       sha256 = "1pyal6rhnyhqx8gwyh42vf66i18y9nplmqka546ikzps439rvmly";
+       version = "1.0.7";
+       sha256 = "0ph4szgn009asgcpd6rzdach41jzyrwilk4x9vnrqk3mjk36zxy5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -68166,8 +68587,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.3.1";
-       sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij";
+       version = "0.3.2";
+       sha256 = "1iywyrz2pfdpichfq6n77x8fpmfikj20rhkgnrwcf63ichav6xfp";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -68320,37 +68741,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_27_0" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
-     , bytestring, case-insensitive, cborg, cborg-json, containers
+  "dhall_1_28_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, hashable, haskeline, http-client, http-client-tls
      , http-types, lens-family-core, megaparsec, memory, mockery, mtl
-     , network-uri, optparse-applicative, parsers, prettyprinter
-     , prettyprinter-ansi-terminal, profunctors, QuickCheck
-     , quickcheck-instances, repline, scientific, semigroups, serialise
-     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, th-lift-instances
-     , transformers, transformers-compat, turtle, unordered-containers
-     , uri-encode, vector
+     , network-uri, optparse-applicative, parsers, pretty-simple
+     , prettyprinter, prettyprinter-ansi-terminal, profunctors
+     , QuickCheck, quickcheck-instances, repline, scientific, semigroups
+     , serialise, special-values, spoon, tasty, tasty-expected-failure
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-lift-instances, transformers, transformers-compat, turtle
+     , unordered-containers, uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.27.0";
-       sha256 = "04hpf0g8anhynrc3gd96cg1z4qadrk2xg9094qjm68d2kv6zx2g1";
+       version = "1.28.0";
+       sha256 = "0kiw8a9im768j304s80pv90vp1hh38v7fxfh2bb4hmglh3a8kc21";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal base bytestring case-insensitive
-         cborg cborg-json containers contravariant cryptonite data-fix
-         deepseq Diff directory dotgen either exceptions filepath hashable
-         haskeline http-client http-client-tls http-types lens-family-core
-         megaparsec memory mtl network-uri optparse-applicative parsers
-         prettyprinter prettyprinter-ansi-terminal profunctors repline
-         scientific serialise template-haskell text th-lift-instances
-         transformers transformers-compat unordered-containers uri-encode
-         vector
+         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 hashable haskeline http-client http-client-tls http-types
+         lens-family-core megaparsec memory mtl network-uri
+         optparse-applicative parsers pretty-simple prettyprinter
+         prettyprinter-ansi-terminal profunctors repline scientific
+         serialise template-haskell text th-lift-instances transformers
+         transformers-compat unordered-containers uri-encode vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -68390,14 +68811,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_24" = callPackage
+  "dhall-bash_1_0_25" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.24";
-       sha256 = "0llc8232qrlrhzdww5a1blqdsxpf3ra9hcdjwgahcfxsk1gh4z9g";
+       version = "1.0.25";
+       sha256 = "0bxfx2hj06q1w1372zc7cfibsqw2hckz5116zz447mz5zmcfkjv3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68431,6 +68852,40 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-fly" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, aeson-yaml, base, bytestring
+     , dhall, dhall-json, hspec, hspec-discover, optparse-applicative
+     , ordered-containers, scientific, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dhall-fly";
+       version = "0.2.2";
+       sha256 = "1pp5lzg8nv1j0y9mrjb4zd9immd7i14ri0x2rgp7zjs86ygcmlf7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base dhall optparse-applicative
+         ordered-containers scientific text transformers
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson aeson-casing aeson-yaml base bytestring dhall dhall-json
+         optparse-applicative ordered-containers scientific text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson aeson-casing base dhall hspec optparse-applicative
+         ordered-containers scientific text transformers
+         unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Translate concourse config from Dhall to YAML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhall-json" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , dhall, exceptions, lens, libyaml, optparse-applicative
@@ -68461,7 +68916,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_5_0" = callPackage
+  "dhall-json_1_6_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
      , base, bytestring, containers, dhall, exceptions, filepath
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
@@ -68470,8 +68925,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.5.0";
-       sha256 = "1xr2p1k4bx6djbq5z8bd77vv0w77vfb0xgbsz3b9g03g6w4zifsd";
+       version = "1.6.0";
+       sha256 = "1fb3w7p2blnxqc6q3q620vpr0fpqs2my7hh33ykh7jpzs7p031h5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68515,15 +68970,13 @@ self: {
      , data-default, dhall, dhall-json, directory, doctest, filepath
      , haskell-lsp, haskell-lsp-types, hslogger, lens, lens-family-core
      , lsp-test, megaparsec, mtl, network-uri, optparse-applicative
-     , prettyprinter, rope-utf16-splay, tasty, tasty-hspec, text
-     , transformers, unordered-containers, uri-encode
+     , prettyprinter, QuickCheck, rope-utf16-splay, tasty, tasty-hspec
+     , text, transformers, unordered-containers, uri-encode
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.2";
-       sha256 = "1q5kncgy4cdys27j43jfwsnjcg8nr1w4i0ip910c6w56x1p7vnnv";
-       revision = "1";
-       editedCabalFile = "18j3fiskp6i4kccbhp3zc0dfvxnq29gyq3yq9vylq9gx0kh98jyd";
+       version = "1.0.3";
+       sha256 = "1ym7v3blgj4ccchg6cpyxpllp6xz6fh8kfyy3i0b1kd5lzm90s0n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68534,8 +68987,8 @@ self: {
        ];
        executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [
-         base directory doctest filepath haskell-lsp-types lsp-test tasty
-         tasty-hspec text
+         base directory doctest filepath haskell-lsp-types lsp-test
+         QuickCheck tasty tasty-hspec text
        ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = stdenv.lib.licenses.mit;
@@ -68549,8 +69002,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.9";
-       sha256 = "153r0h4qdfnw7bw4hfbh1imx5hrxh419qny3zj3d0bmsidf8gakr";
+       version = "1.1.10";
+       sha256 = "04fb8l9qh70fqa50ck0hz8134s1bmcyscbf5xg5ylnxpdrs3n7as";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68612,6 +69065,36 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-yaml" = 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.0.0";
+       sha256 = "05jhcvikm3rbcf9jzw747x70c3dsslcij977yhqks0c59nr9pqn6";
+       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 = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dhcp-lease-parser" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, chronos, ip, tasty
      , tasty-hunit, text
@@ -68673,8 +69156,8 @@ self: {
      }:
      mkDerivation {
        pname = "di";
-       version = "1.2";
-       sha256 = "0d4ywmnibg9h12bah4bdh03fs2l50f5s590kv45baz010bcqyx0b";
+       version = "1.3";
+       sha256 = "13d503xhmnj2br9m4r4xx58hd2p8jsj8hxf9b4k4451p31kbzs54";
        libraryHaskellDepends = [
          base containers df1 di-core di-df1 di-handle di-monad exceptions
        ];
@@ -68688,8 +69171,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-core";
-       version = "1.0.3";
-       sha256 = "1rfza96ljcf754mj44m2ffm51k9v6c0ii2sqqnddjkva3h3hx47h";
+       version = "1.0.4";
+       sha256 = "0wrj2ndzk9r7izjvwkjjmqb3gg1zy93ch7j7fdalzadzzsd4sqsm";
        libraryHaskellDepends = [
          base containers safe-exceptions stm time
        ];
@@ -68707,8 +69190,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-df1";
-       version = "1.0.2";
-       sha256 = "1imk26njmr7hj56227yxgshjh4dicgr2c9bpc2m9nvsw2qbqslfh";
+       version = "1.2";
+       sha256 = "0bixrinmmb496j55c3vlh914nq6zfsaxq0pp2fcdxhwig1y53fgr";
        libraryHaskellDepends = [
          base df1 di-core di-handle di-monad stm
        ];
@@ -68739,8 +69222,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-monad";
-       version = "1.3";
-       sha256 = "019k7jc3lvh6cgmrgdjq13hcvh6ar76n38li4nviikqbsvxmpqsl";
+       version = "1.3.1";
+       sha256 = "190n6hwa7xs4b75bfvk4k2kn3rq8hkgs52f9plxfixlrl7jympgm";
        libraryHaskellDepends = [
          base containers di-core exceptions mtl pipes stm transformers
        ];
@@ -68920,10 +69403,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-contrib";
-       version = "1.4.3";
-       sha256 = "01r081rvxkb9i56iqi28zw4054nm62pf9f1szd9i0avmnxxsiyv5";
-       revision = "3";
-       editedCabalFile = "0mm1mmagx6q8g6dxk1cagqka38z6393ihp0lvf6095prlvidasqs";
+       version = "1.4.4";
+       sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -69066,15 +69547,13 @@ self: {
      , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable
      , intervals, JuicyPixels, lens, linear, monoid-extras, mtl
      , numeric-extras, optparse-applicative, process, profunctors
-     , semigroups, tagged, tasty, tasty-hunit, tasty-quickcheck, text
-     , transformers, unordered-containers
+     , QuickCheck, semigroups, tagged, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "diagrams-lib";
-       version = "1.4.2.3";
-       sha256 = "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5";
-       revision = "3";
-       editedCabalFile = "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai";
+       version = "1.4.3";
+       sha256 = "0gqrcyjyp3p78vmfxvhfjbkkl2xvwcv3qyyinbdcmalb5zb8vyy6";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -69084,8 +69563,8 @@ self: {
          transformers unordered-containers
        ];
        testHaskellDepends = [
-         base deepseq diagrams-solve distributive lens numeric-extras tasty
-         tasty-hunit tasty-quickcheck
+         base deepseq diagrams-solve distributive lens numeric-extras
+         QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ base criterion diagrams-core ];
        description = "Embedded domain-specific language for declarative graphics";
@@ -69144,8 +69623,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-pgf";
-       version = "1.4.1";
-       sha256 = "00nw2zraanwb20wl9iaynw0kffwshgmy94yn50pgj3vlykj399lr";
+       version = "1.4.1.1";
+       sha256 = "10glg5pqy8zw6l77wnskcawl8da0c10sqfg9dx2jydksd3xpns2f";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
@@ -69174,6 +69653,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-postscript_1_5" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, hashable, lens, monoid-extras, mtl
+     , semigroups, split, statestack
+     }:
+     mkDerivation {
+       pname = "diagrams-postscript";
+       version = "1.5";
+       sha256 = "00j58mc84srjvrf21v6zjxxlbw6b8ahhn1jmbq697w8kw3cvygpa";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib hashable lens monoid-extras mtl semigroups split
+         statestack
+       ];
+       description = "Postscript backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-qrcode" = callPackage
     ({ mkDerivation, array, base, colour, diagrams-core, diagrams-lib
      }:
@@ -69211,6 +69709,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-rasterific_1_4_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, file-embed, filepath, FontyFruity
+     , hashable, JuicyPixels, lens, mtl, optparse-applicative
+     , Rasterific
+     }:
+     mkDerivation {
+       pname = "diagrams-rasterific";
+       version = "1.4.2";
+       sha256 = "161rsy3g59n3sfrbfyvd4i4hszl0zm59w21b7pk6w88n0bk8gf2l";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
+         lens mtl optparse-applicative Rasterific
+       ];
+       testHaskellDepends = [ base diagrams-core diagrams-lib ];
+       description = "Rasterific backend for diagrams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-reflex" = callPackage
     ({ mkDerivation, base, colour, containers, diagrams-core
      , diagrams-lib, lens, monoid-extras, mtl, reflex, reflex-dom
@@ -69283,6 +69802,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-svg_1_4_3" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, colour
+     , containers, diagrams-core, diagrams-lib, filepath, hashable
+     , JuicyPixels, lens, monoid-extras, mtl, optparse-applicative
+     , semigroups, split, svg-builder, text
+     }:
+     mkDerivation {
+       pname = "diagrams-svg";
+       version = "1.4.3";
+       sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring colour containers diagrams-core
+         diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
+         optparse-applicative semigroups split svg-builder text
+       ];
+       description = "SVG backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-tikz" = callPackage
     ({ mkDerivation, base, diagrams-core, diagrams-lib, dlist, mtl }:
      mkDerivation {
@@ -69944,8 +70483,8 @@ self: {
      }:
      mkDerivation {
        pname = "digit";
-       version = "0.8";
-       sha256 = "0m3m9c2452b0x7ccglkz7mr3ivi7r98qa44zwfnf7a55d6xckfa9";
+       version = "0.9";
+       sha256 = "0xyghgg8kzjrvhrcjizqnbprcyq5a3ma3x0dfijrdvbyd3lzghvm";
        libraryHaskellDepends = [
          base lens parsers scientific semigroupoids semigroups
          template-haskell
@@ -70163,8 +70702,8 @@ self: {
      }:
      mkDerivation {
        pname = "dino";
-       version = "0.1.1";
-       sha256 = "05n0zsl9wvwilnmh28s89cda8a72qfbnhwkbbnw9yihpbamx59z9";
+       version = "0.1.2";
+       sha256 = "0sk7p89fmjynykk7djfn8cmmjrqyv5pml9ny2dycr1n86cnxr88x";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers errors exceptions hashable
          monad-loops mtl text transformers tree-view unordered-containers
@@ -70845,8 +71384,8 @@ self: {
      }:
      mkDerivation {
        pname = "diskhash";
-       version = "0.0.4.0";
-       sha256 = "03kc5jc63726vk3airvwag69855rilanvjvqcqxi3ylvjg2p9dil";
+       version = "0.0.4.2";
+       sha256 = "0rjbjjvvr75ki8kw8y3xf1z8x8cg46h10c73600lcz3bnxba188c";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring directory HUnit QuickCheck test-framework
@@ -72013,17 +72552,14 @@ self: {
 
   "dns" = callPackage
     ({ mkDerivation, array, async, attoparsec, auto-update, base
-     , base16-bytestring, base64-bytestring, bytestring, Cabal
-     , cabal-doctest, containers, cryptonite, doctest, hourglass, hspec
-     , iproute, mtl, network, psqueues, QuickCheck, word8
+     , base16-bytestring, base64-bytestring, bytestring, containers
+     , cryptonite, doctest, hourglass, hspec, iproute, mtl, network
+     , psqueues, QuickCheck, word8
      }:
      mkDerivation {
        pname = "dns";
-       version = "4.0.0";
-       sha256 = "0gq0y8pw4x8fja0f3hhwpbxh4rg2i8nzfnp2rxh2py49qfhg38mj";
-       revision = "1";
-       editedCabalFile = "0cg5jhn5g28qspkinx44zyz0yn08ddcsylhmvlpp4clyb9zlz1si";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "4.0.1";
+       sha256 = "1jv89bdhvwb51d9h9157k2r1cg7x0gzari91lddwvghrkx8v9k90";
        libraryHaskellDepends = [
          array async attoparsec auto-update base base16-bytestring
          base64-bytestring bytestring containers cryptonite hourglass
@@ -72032,6 +72568,7 @@ self: {
        testHaskellDepends = [
          base bytestring doctest hspec iproute network QuickCheck word8
        ];
+       doHaddock = false;
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -72391,7 +72928,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_7" = callPackage
+  "doctemplates_0_8" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
      , tasty, tasty-golden, tasty-hunit, temporary, text
@@ -72399,16 +72936,16 @@ self: {
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.7";
-       sha256 = "061llh59b69a84175z5wp0y0s2nw461kmf2w986wd5qcrjanxi62";
+       version = "0.8";
+       sha256 = "0zhnhdpbh0cyh6nr655yfik135gssa1qhfhzsvaph2n1qwq1l6nn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers doclayout filepath HsYAML mtl parsec safe
          scientific text text-conversions unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring doclayout filepath Glob tasty tasty-golden
-         tasty-hunit temporary text
+         aeson base bytestring containers doclayout filepath Glob tasty
+         tasty-golden tasty-hunit temporary text
        ];
        benchmarkHaskellDepends = [
          aeson base containers criterion doclayout filepath mtl text
@@ -72498,8 +73035,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "doctest-driver-gen";
-       version = "0.3.0.1";
-       sha256 = "1sa47c1wml8k00h4h1gzbckfzbr3w7k3j0lvr1x5z6fh05s5xbsn";
+       version = "0.3.0.2";
+       sha256 = "1xkq9fpdm8ayjwf2lypkfnh1w08zimvhf27ffn71hfckd5nw4h2q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -72859,8 +73396,8 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.8.0.2";
-       sha256 = "0an7spi0cgvzr64nyy7p8pdslyf0jlh9l2ww52jbh1habsxjn6fp";
+       version = "0.8.0.4";
+       sha256 = "05dqa91zmxkzkz1dcpx2jxkzhdr4f51gw0qql47da9bllavl0jj4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -72878,8 +73415,6 @@ self: {
        ];
        description = "Loads environment variables from dotenv files";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "dotfs" = callPackage
@@ -73098,6 +73633,22 @@ self: {
        broken = true;
      }) {};
 
+  "downloader" = callPackage
+    ({ mkDerivation, base, directory, filepath, network-uri, process
+     , safe
+     }:
+     mkDerivation {
+       pname = "downloader";
+       version = "0.1.0.1";
+       sha256 = "1mjsdnghlbi1c0pzhrng1dcvs1syisxrv7ygg5267f9hmcwk5zgn";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base directory filepath network-uri process safe
+       ];
+       description = "A small, low-dependency library that provides turn-key file download over HTTP and HTTPS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dozenal" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -73968,6 +74519,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "duet" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, edit-distance
+     , exceptions, hspec, monad-logger, mtl, optparse-simple, parsec
+     , syb, text
+     }:
+     mkDerivation {
+       pname = "duet";
+       version = "0.0.2";
+       sha256 = "16hjhyn254d307ibg5541y00x0l6n5rwk06r5cdkj5x07jmgcafm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base containers deepseq edit-distance exceptions monad-logger
+         mtl parsec syb text
+       ];
+       executableHaskellDepends = [
+         aeson base containers deepseq exceptions monad-logger mtl
+         optparse-simple syb text
+       ];
+       testHaskellDepends = [
+         aeson base containers deepseq edit-distance exceptions hspec
+         monad-logger mtl parsec syb text
+       ];
+       description = "A tiny language, a subset of Haskell (with type classes) aimed at aiding teachers to teach Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dumb-cas" = callPackage
     ({ mkDerivation, base, containers, decimal-literals, hashable
      , tasty, tasty-hunit, template-haskell, unordered-containers
@@ -75369,6 +75949,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "edit-distance-linear" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, edit-distance
+     , hspec, QuickCheck, text, text-metrics
+     }:
+     mkDerivation {
+       pname = "edit-distance-linear";
+       version = "0.2.0.2";
+       sha256 = "0l95jjhjn39slyaixis2z6w0mly1vk1c2ia3nykhkvwp2adyn5nf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ array base bytestring ];
+       testHaskellDepends = [
+         array base bytestring edit-distance hspec QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring criterion text text-metrics
+       ];
+       description = "Efficient implementation of the Levenshtein edit distance in linear memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "edit-distance-vector" = callPackage
     ({ mkDerivation, base, QuickCheck, quickcheck-instances, vector }:
      mkDerivation {
@@ -75598,29 +76199,29 @@ self: {
      }) {};
 
   "egison" = callPackage
-    ({ mkDerivation, alex, array, base, containers, criterion, deepseq
-     , directory, filepath, ghc, ghc-paths, Glob, happy, hashable
-     , haskeline, HUnit, mtl, optparse-applicative, parallel, parsec
-     , process, random, regex-tdfa, split, test-framework
-     , test-framework-hunit, text, transformers, unordered-containers
-     , vector
+    ({ mkDerivation, array, base, containers, criterion, deepseq
+     , directory, filepath, ghc, ghc-paths, Glob, hashable, haskeline
+     , HUnit, megaparsec, mtl, optparse-applicative, parsec
+     , parser-combinators, prettyprinter, process, random, regex-tdfa
+     , split, test-framework, test-framework-hunit, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.9.1";
-       sha256 = "1q4hyvr52zv2p827cvkmi4rl1d1dvrdg9bly6wykbhdv6ycbihn5";
+       version = "3.10.1";
+       sha256 = "047l2knxhzlrmc4n6xaannnwa1zhq7lxr3iswwrji5xcqbbag5xp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base containers directory ghc ghc-paths hashable haskeline
-         mtl parallel parsec process random regex-tdfa split text
-         transformers unordered-containers vector
+         megaparsec mtl optparse-applicative parsec parser-combinators
+         prettyprinter process random regex-tdfa split text transformers
+         unordered-containers vector
        ];
-       libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
          array base containers directory filepath ghc ghc-paths haskeline
-         mtl optparse-applicative parsec process regex-tdfa text
+         mtl optparse-applicative parsec prettyprinter process split text
          transformers unordered-containers vector
        ];
        testHaskellDepends = [
@@ -75658,8 +76259,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.7.14";
-       sha256 = "1ar5yg00arqd09wva0q1y4d8lfpd0vjw9sgk47jsyqs7ydm59hnb";
+       version = "3.10.0";
+       sha256 = "109j17iskxs7gwgvxyyvmipf3xsbnysjxj20z6hhjzz1sb3sw5x5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -76673,31 +77274,6 @@ self: {
      }:
      mkDerivation {
        pname = "elm2nix";
-       version = "0.1.1";
-       sha256 = "16b7vv7ndn8mpkg05rhljpmld2dazsgl9yqg8j3mza1f5x4f6jwp";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson async base binary bytestring containers data-default
-         directory filepath here mtl process req text transformers
-         unordered-containers
-       ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base directory here optparse-applicative
-       ];
-       testHaskellDepends = [ base ];
-       description = "Turn your Elm project into buildable Nix project";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "elm2nix_0_1_2" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, async, base, binary
-     , bytestring, containers, data-default, directory, filepath, here
-     , mtl, optparse-applicative, process, req, text, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "elm2nix";
        version = "0.1.2";
        sha256 = "1fbxr1k6iarmzx7xam3bvgayhxmgq1yn47crckgka4s667dgsnjd";
        isLibrary = true;
@@ -76713,7 +77289,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Turn your Elm project into buildable Nix project";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elminator" = callPackage
@@ -77015,6 +77590,8 @@ self: {
        ];
        description = "Perform basic syntax and deliverability checks on email addresses";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "emailaddress" = callPackage
@@ -77211,6 +77788,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "emojis" = callPackage
+    ({ mkDerivation, base, containers, HUnit, text }:
+     mkDerivation {
+       pname = "emojis";
+       version = "0.1";
+       sha256 = "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss";
+       libraryHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base HUnit text ];
+       description = "Conversion between emoji characters and their names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "empty" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -78746,7 +79335,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_2_2" = callPackage
+  "esqueleto_3_3_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
      , mysql-simple, persistent, persistent-mysql, persistent-postgresql
@@ -78756,8 +79345,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.2.2";
-       sha256 = "1pnhnnsxx21jah4rnv8qy7jb4n7f6vbrxjh9cs2rygvrwqkg3n9c";
+       version = "3.3.0";
+       sha256 = "0qscm9b4zqb0w78xpf1yhmjlbapvghmvsqxqwx2x0grb4yvv7cwq";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -79343,15 +79932,15 @@ self: {
   "evdev" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, composition, containers
      , either, evdev, extra, hinotify, posix-paths, process, rawfilepath
-     , streamly, time, unix
+     , safe, streamly, time, unix
      }:
      mkDerivation {
        pname = "evdev";
-       version = "0.1.0.1";
-       sha256 = "17y1rg6p8inzf3zdakfxwp4f3yrak83lqfdjiwg786x4f0ab3jaq";
+       version = "0.2.0.1";
+       sha256 = "0b005anc3bxs8ys5zmzzs81n4wmjabvv7fbcj5w62ddsjfq38p62";
        libraryHaskellDepends = [
          base bytestring composition containers either extra hinotify
-         posix-paths process rawfilepath streamly time unix
+         posix-paths process rawfilepath safe streamly time unix
        ];
        librarySystemDepends = [ evdev ];
        libraryToolDepends = [ c2hs ];
@@ -80394,6 +80983,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "exist" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, util }:
+     mkDerivation {
+       pname = "exist";
+       version = "0.2.0.0";
+       sha256 = "0w2ip29f99qzi3wxicydkv991ws0lhnar3w0qka54r2mjb3xzrk9";
+       libraryHaskellDepends = [ base base-unicode-symbols util ];
+       description = "Dependent sum type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exist-instances" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, constraint, exist
+     , util
+     }:
+     mkDerivation {
+       pname = "exist-instances";
+       version = "0.1.0.0";
+       sha256 = "09714dl2gwpr44fhkq5w9fswn4fk0zhddg21mgcw2nb5l7930d7x";
+       libraryHaskellDepends = [
+         base base-unicode-symbols constraint exist util
+       ];
+       description = "Instances for \"exist\" package (requires more language extensions and dependencies)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "existential" = callPackage
     ({ mkDerivation, base, cereal, constraints, control-invariants
      , lens, portable-template-haskell-lens, QuickCheck
@@ -80837,8 +81454,8 @@ self: {
      }:
      mkDerivation {
        pname = "expresso";
-       version = "0.1.2.0";
-       sha256 = "15s4gpf7pv6wv13q5i1cff7s93nx5vb8gyjfm4ifz76ki3xafgcn";
+       version = "0.1.2.2";
+       sha256 = "1fa37bqyw8zlva3z6sj10sp4r7sslh4xakrmr7d5diqynyrgdjax";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -81301,6 +81918,8 @@ self: {
        ];
        description = "Rational arithmetic in an irrational world";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "facts" = callPackage
@@ -81550,7 +82169,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fakedata_0_3_1" = callPackage
+  "fakedata_0_4_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hashable, hspec, hspec-discover
      , random, template-haskell, text, time, unordered-containers
@@ -81558,8 +82177,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "0.3.1";
-       sha256 = "0y5gnqjgn3n2px80xbpqx0kaxrdkaqhw8n9ah4ry310j80m9z8ma";
+       version = "0.4.0";
+       sha256 = "0q90aa92wraqjnj256bpv34mhsl42wyp31y2g4nv2sgzj7mi9jjg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers directory exceptions filepath hashable
@@ -81789,15 +82408,15 @@ self: {
      }) {};
 
   "fast-downward" = callPackage
-    ({ mkDerivation, base, containers, list-t, mtl, process, temporary
-     , text, transformers
+    ({ mkDerivation, base, containers, mtl, process, temporary, text
+     , transformers
      }:
      mkDerivation {
        pname = "fast-downward";
-       version = "0.1.1.0";
-       sha256 = "1c4qsihjf6wjmmh4nm088pxaj7xc1mm9di8jq124zgllf85j1lfl";
+       version = "0.2.0.0";
+       sha256 = "0a2ax0z326mf02p5wyp1d8knxj6afn92n9bqxav2qhkc2v5kijhw";
        libraryHaskellDepends = [
-         base containers list-t mtl process temporary text transformers
+         base containers mtl process temporary text transformers
        ];
        description = "Solve classical planning problems (STRIPS/SAS+) using Haskell & Fast Downward";
        license = stdenv.lib.licenses.bsd3;
@@ -82083,10 +82702,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastsum";
-       version = "0.1.1.0";
-       sha256 = "0fa3wjdsjl8wwlw194g1b7j8rvwix2b1hgwm1s10fq91a10mca6n";
-       revision = "1";
-       editedCabalFile = "0cjzy6q0srff2ygwrffgf4a6clpva4fd7jx5z3pv7ym64w5f4l97";
+       version = "0.1.1.1";
+       sha256 = "0j9jd068xgk7nn2ilgdkv1pxngflqqgxz1pnhdssgiih04v8zw5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -82774,6 +83391,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "feed_1_3_0_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, HUnit
+     , markdown-unlit, old-locale, old-time, safe, syb, test-framework
+     , test-framework-hunit, text, time, time-locale-compat, utf8-string
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "feed";
+       version = "1.3.0.0";
+       sha256 = "19xqkx8ars0sjana18m34d7qg9l0qbg1i3v14a5rqabdppzcfrp2";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base base-compat bytestring old-locale old-time safe text time
+         time-locale-compat utf8-string xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base base-compat HUnit old-time syb test-framework
+         test-framework-hunit text time xml-conduit xml-types
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "feed-cli" = callPackage
     ({ mkDerivation, base, directory, feed, old-locale, old-time, time
      , xml
@@ -83778,8 +84420,8 @@ self: {
     ({ mkDerivation, async, base, process, unix }:
      mkDerivation {
        pname = "filelock";
-       version = "0.1.1.3";
-       sha256 = "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5";
+       version = "0.1.1.4";
+       sha256 = "189n4pvq7f4d235smg2iqs2m5rqmnjdxflifq0mnb2qdbc4jjznr";
        libraryHaskellDepends = [ base unix ];
        testHaskellDepends = [ async base process ];
        description = "Portable interface to file locking (flock / LockFileEx)";
@@ -83829,6 +84471,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "filepath-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, QuickCheck, unix }:
+     mkDerivation {
+       pname = "filepath-bytestring";
+       version = "1.4.2.1.0";
+       sha256 = "1q2d02p87yfvqbqhgry6lzqkjhscqfacpcxgnc6xz9b1rvg1mwvj";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring filepath QuickCheck ];
+       description = "Library for manipulating RawFilePaths in a cross platform way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "filepath-crypto" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
      , cryptoids, cryptoids-class, cryptoids-types, exceptions, filepath
@@ -83914,8 +84568,8 @@ self: {
      }:
      mkDerivation {
        pname = "filestore";
-       version = "0.6.3.4";
-       sha256 = "0q1ynqjslcxx5r93l6w2hsmd1khlq38c5g5mwrifrv12qnh28sx0";
+       version = "0.6.4";
+       sha256 = "1z967kviqsy3ma8xdfffx864f7ji6nsrbd5riis0nasm1bbwm8rr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers Diff directory filepath old-locale
@@ -83926,6 +84580,8 @@ self: {
        ];
        description = "Interface for versioning file stores";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "filesystem-abstractions" = callPackage
@@ -84067,6 +84723,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fin_0_1_1" = callPackage
+    ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
+     , QuickCheck, tagged
+     }:
+     mkDerivation {
+       pname = "fin";
+       version = "0.1.1";
+       sha256 = "0zwc8x2ilbk1bhsk85brf6g300cx4w2j3602gjh6rv900961gqri";
+       libraryHaskellDepends = [ base dec deepseq hashable QuickCheck ];
+       testHaskellDepends = [ base inspection-testing tagged ];
+       description = "Nat and Fin: peano naturals and finite numbers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "final" = callPackage
     ({ mkDerivation, base, stm, transformers }:
      mkDerivation {
@@ -84259,24 +84930,25 @@ self: {
      }) {};
 
   "finitary-derive" = callPackage
-    ({ mkDerivation, base, binary, coercible-utils, deepseq, finitary
-     , finite-typelits, ghc-typelits-extra, ghc-typelits-knownnat
-     , hashable, hedgehog, hedgehog-classes, monad-loops, mtl, vector
-     , vector-sized
+    ({ mkDerivation, base, binary, bitvec, coercible-utils, deepseq
+     , finitary, finite-typelits, ghc-typelits-extra
+     , ghc-typelits-knownnat, hashable, hedgehog, hedgehog-classes
+     , transformers, vector, vector-binary-instances, vector-instances
      }:
      mkDerivation {
        pname = "finitary-derive";
-       version = "1.0.0.1";
-       sha256 = "1wv9jjvv1jd5y39pybfawb19pxzwb6r3p69ajyh2f7m8nn81kcim";
+       version = "2.2.0.0";
+       sha256 = "11nkryzbhkbz4v2i4kwaggw67nlhs5jljqczmvliyz1df75f5kh3";
        libraryHaskellDepends = [
-         base binary coercible-utils deepseq finitary finite-typelits
-         ghc-typelits-extra ghc-typelits-knownnat hashable mtl vector
-         vector-sized
+         base binary bitvec coercible-utils deepseq finitary finite-typelits
+         ghc-typelits-extra ghc-typelits-knownnat hashable transformers
+         vector vector-binary-instances vector-instances
        ];
        testHaskellDepends = [
-         base finitary finite-typelits hedgehog hedgehog-classes monad-loops
+         base binary deepseq finitary finite-typelits hashable hedgehog
+         hedgehog-classes
        ];
-       description = "Easy and efficient Unbox, Storable, Binary and Hashable instances for Finitary types";
+       description = "Flexible and easy deriving of type classes for finitary types";
        license = stdenv.lib.licenses.gpl3Plus;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -84468,6 +85140,8 @@ self: {
        ];
        description = "Calculates file-size frequency-distribution";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fit" = callPackage
@@ -84938,10 +85612,8 @@ self: {
      }:
      mkDerivation {
        pname = "fixplate";
-       version = "0.1.7";
-       sha256 = "0brll5vkb3341l5iblrc1r50jzg8q6ycvbqvrc9jnj2nc86mslay";
-       revision = "1";
-       editedCabalFile = "0ynmm06iblqsyzfc068sdvmlpll8zwyccwkdlji3nf535biv56hb";
+       version = "0.1.8";
+       sha256 = "0m0g7gbdhigfc0k0sbvxhcl3gilv1wfmffwl14wr6jqbmpqy0as5";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers QuickCheck tasty tasty-quickcheck
@@ -85086,8 +85758,8 @@ self: {
      }:
      mkDerivation {
        pname = "flags-applicative";
-       version = "0.1.0.1";
-       sha256 = "1pamcfv5g6d42ksq10af0l2a6k8y997zx3y4pvf5gcy5hlxr2gwv";
+       version = "0.1.0.2";
+       sha256 = "192yghdmylynn57l22ahb6dhrbl590dxmv2cdn755r22v7dbhsgf";
        libraryHaskellDepends = [
          base casing containers mtl network text
        ];
@@ -85251,23 +85923,6 @@ self: {
      }:
      mkDerivation {
        pname = "flexible-defaults";
-       version = "0.0.2";
-       sha256 = "0r4aq6n5h9xnal535hds111vq8whzsvyc3yibmcbp7fndldd9mgk";
-       revision = "1";
-       editedCabalFile = "1bmqmxv5nijb837xwxnb46w3bglmakfj1qs3xwkcnfh5ab0zazwr";
-       libraryHaskellDepends = [
-         base containers template-haskell th-extras transformers
-       ];
-       description = "Generate default function implementations for complex type classes";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "flexible-defaults_0_0_3" = callPackage
-    ({ mkDerivation, base, containers, template-haskell, th-extras
-     , transformers
-     }:
-     mkDerivation {
-       pname = "flexible-defaults";
        version = "0.0.3";
        sha256 = "02v35b3ahbw46q9xipyh4n46drlz1xrx1rixdmggjr0fwkygd1k5";
        libraryHaskellDepends = [
@@ -85275,7 +85930,6 @@ self: {
        ];
        description = "Generate default function implementations for complex type classes";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flexible-time" = callPackage
@@ -85536,8 +86190,8 @@ self: {
      }:
      mkDerivation {
        pname = "floskell";
-       version = "0.10.1";
-       sha256 = "1y79f6a6frcmhs70z34rdcpm5bqpgqf46bx29jnixgs313lwz229";
+       version = "0.10.2";
+       sha256 = "1id1bwvzl5x4wq6i2ailvmvy2gcdzfgs8q59pg7s2j5cv35gf80h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -85752,7 +86406,7 @@ self: {
 
   "fltkhs" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, directory, filepath
-     , fltk14, libGLU_combined, mtl, OpenGLRaw, parsec, pkgconfig, text
+     , fltk14, libGL, libGLU, mtl, OpenGLRaw, parsec, pkg-config, text
      , vector
      }:
      mkDerivation {
@@ -85765,15 +86419,15 @@ self: {
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base bytestring text vector ];
        librarySystemDepends = [ fltk14 ];
-       libraryPkgconfigDepends = [ libGLU_combined ];
-       libraryToolDepends = [ c2hs pkgconfig ];
+       libraryPkgconfigDepends = [ libGL libGLU ];
+       libraryToolDepends = [ c2hs pkg-config ];
        executableHaskellDepends = [
          base directory filepath mtl OpenGLRaw parsec text
        ];
        description = "FLTK bindings";
        license = stdenv.lib.licenses.mit;
-     }) {inherit (pkgs) fltk14; inherit (pkgs) libGLU_combined; 
-         pkgconfig = null;};
+     }) {inherit (pkgs) fltk14; inherit (pkgs) libGL; 
+         inherit (pkgs) libGLU; inherit (pkgs) pkg-config;};
 
   "fltkhs-demos" = callPackage
     ({ mkDerivation, base, bytestring, directory, fltkhs, process, stm
@@ -86764,14 +87418,16 @@ self: {
      }:
      mkDerivation {
        pname = "forma";
-       version = "1.1.2";
-       sha256 = "1ppgqwqm157ygj992r0cbarfii127g7nm63wbnrqvr9k1wmnlxx0";
+       version = "1.1.3";
+       sha256 = "0pd2qzibffbkw2c4mk687yg109pl0nfjq0kpwi2cl0l8d0qlyv0c";
        libraryHaskellDepends = [
          aeson base containers mtl text unordered-containers
        ];
        testHaskellDepends = [ aeson base containers hspec mtl text ];
        description = "Parse and validate forms in JSON format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "formal" = callPackage
@@ -87257,6 +87913,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fplll" = callPackage
+    ({ mkDerivation, base, fplll, hgmp, lattices, semibounded-lattices
+     }:
+     mkDerivation {
+       pname = "fplll";
+       version = "0.1.0.0";
+       sha256 = "1q9njmsgxx4cpziw2llnbpg5ic6sag7qdhial00rak3iq29rzlhh";
+       libraryHaskellDepends = [
+         base hgmp lattices semibounded-lattices
+       ];
+       libraryPkgconfigDepends = [ fplll ];
+       testHaskellDepends = [ base ];
+       description = "Haskell bindings to <https://fplll.github.io/fplll/ fplll>";
+       license = stdenv.lib.licenses.lgpl21Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) fplll;};
+
   "fpnla" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -87511,8 +88185,8 @@ self: {
      }:
      mkDerivation {
        pname = "free";
-       version = "5.1.2";
-       sha256 = "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb";
+       version = "5.1.3";
+       sha256 = "0b9f9jrfgkq13333px6p1faxpcypqvzi0m9dnbj2rm8s79pdcw1c";
        libraryHaskellDepends = [
          base comonad containers distributive exceptions mtl profunctors
          semigroupoids template-haskell transformers transformers-base
@@ -87527,8 +88201,8 @@ self: {
      }:
      mkDerivation {
        pname = "free-algebras";
-       version = "0.0.8.0";
-       sha256 = "0hwvjvly1ab7bnb4knqxz0gpxkw8pn1x5xbqf3g0k98cqr0zpsj7";
+       version = "0.0.8.1";
+       sha256 = "07p1nmg88b6nvqi33q80vb2aj6svx9r33ax85ry6d7adkg83s4jz";
        libraryHaskellDepends = [
          base containers data-fix dlist free groups kan-extensions mtl
          transformers
@@ -87537,7 +88211,7 @@ self: {
          base containers data-fix dlist free groups hedgehog kan-extensions
          mtl transformers
        ];
-       description = "Free algebras in Haskell";
+       description = "Free algebras";
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
@@ -87553,13 +88227,19 @@ self: {
      }) {};
 
   "free-category" = callPackage
-    ({ mkDerivation, base, free-algebras }:
+    ({ mkDerivation, base, criterion, free-algebras, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
      mkDerivation {
        pname = "free-category";
-       version = "0.0.2.0";
-       sha256 = "16gs7n3gl5whda376j87qm9jfdx6zhmnyp43fjfaj6s5y2s0z53z";
+       version = "0.0.4.1";
+       sha256 = "1d7r9mcq4163g665bgzwxhvrk2iiypgss8s3j2lmqccb461s7a4j";
        libraryHaskellDepends = [ base free-algebras ];
-       description = "Free category";
+       testHaskellDepends = [
+         base free-algebras QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "efficient data types for free categories and arrows";
        license = stdenv.lib.licenses.mpl20;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -89214,6 +89894,33 @@ self: {
        broken = true;
      }) {};
 
+  "functor-combinators_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, constraints, containers
+     , dependent-sum, deriving-compat, free, hedgehog, kan-extensions
+     , mmorph, mtl, natural-transformation, nonempty-containers, pointed
+     , profunctors, semigroupoids, tagged, tasty, tasty-hedgehog, these
+     , transformers, trivial-constraint, vinyl
+     }:
+     mkDerivation {
+       pname = "functor-combinators";
+       version = "0.2.0.0";
+       sha256 = "0z8r9z08cayyv2ag748aa8550sd2mnj2zagdkf5i5yn3lvhd0k6j";
+       libraryHaskellDepends = [
+         base bifunctors comonad constraints containers deriving-compat free
+         kan-extensions mmorph mtl natural-transformation
+         nonempty-containers pointed profunctors semigroupoids tagged these
+         transformers trivial-constraint vinyl
+       ];
+       testHaskellDepends = [
+         base bifunctors dependent-sum free hedgehog nonempty-containers
+         semigroupoids tasty tasty-hedgehog transformers
+       ];
+       description = "Tools for functor combinator-based program design";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "functor-combo" = callPackage
     ({ mkDerivation, base, base-orphans, containers, data-inttrie, lub
      , type-unary, TypeCompose
@@ -89496,31 +90203,90 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fused-effects_1_0_0_0" = callPackage
+    ({ mkDerivation, base, containers, gauge, hedgehog, hedgehog-fn
+     , inspection-testing, markdown-unlit, mtl, tasty, tasty-hedgehog
+     , tasty-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "fused-effects";
+       version = "1.0.0.0";
+       sha256 = "120jvgh35wl5vb2qad8c1dhpr1ddlbhm5b03dy9kcb7d8s89qfs6";
+       libraryHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base containers hedgehog hedgehog-fn inspection-testing mtl tasty
+         tasty-hedgehog tasty-hunit transformers
+       ];
+       testToolDepends = [ markdown-unlit ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "A fast, flexible, fused effect system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fused-effects-exceptions" = callPackage
-    ({ mkDerivation, base, fused-effects, safe-exceptions
-     , unliftio-core
+    ({ mkDerivation, base, fused-effects, markdown-unlit, tasty
+     , tasty-hunit, transformers
      }:
      mkDerivation {
        pname = "fused-effects-exceptions";
-       version = "0.2.0.0";
-       sha256 = "1hgvl48vdrgcb45izmwad40x5jgxiaf3rdhhm5x0gjd9848drmbb";
-       libraryHaskellDepends = [
-         base fused-effects safe-exceptions unliftio-core
+       version = "1.0.0.0";
+       sha256 = "13ki1fzjsqd762bbc5ia9k4agsa634lflidnzs6lahxmar1sqmid";
+       libraryHaskellDepends = [ base fused-effects transformers ];
+       testHaskellDepends = [
+         base fused-effects tasty tasty-hunit transformers
        ];
+       testToolDepends = [ markdown-unlit ];
        description = "Handle exceptions thrown in IO with fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fused-effects-lens" = callPackage
-    ({ mkDerivation, base, fused-effects, hspec, lens, microlens }:
+    ({ mkDerivation, base, fused-effects, hspec, microlens }:
      mkDerivation {
        pname = "fused-effects-lens";
-       version = "0.2.0.0";
-       sha256 = "199afrkhb1dhah3jy3xyq5k71cqbzf9m8ninyh95qmam600r8q0m";
+       version = "1.0.0.0";
+       sha256 = "0qix94bw9rzv7frwxn4d9l8bz133fbmazzsvmilfz6bm6k8ci6nx";
        libraryHaskellDepends = [ base fused-effects microlens ];
-       testHaskellDepends = [ base fused-effects hspec lens ];
+       testHaskellDepends = [ base fused-effects hspec microlens ];
        description = "Monadic lens combinators for fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "fused-effects-random" = callPackage
+    ({ mkDerivation, base, fused-effects, MonadRandom, random
+     , transformers
+     }:
+     mkDerivation {
+       pname = "fused-effects-random";
+       version = "1.0.0.0";
+       sha256 = "14s65ndb5ik47wasn62pd0m5ls02a0v2vinv69jz9z630q9y7ay4";
+       libraryHaskellDepends = [
+         base fused-effects MonadRandom random transformers
+       ];
+       description = "Random number generation for fused-effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "fused-effects-resumable" = callPackage
+    ({ mkDerivation, base, deepseq, fused-effects, transformers }:
+     mkDerivation {
+       pname = "fused-effects-resumable";
+       version = "0.1.0.0";
+       sha256 = "0w0ih8sspb7ffpvbf9bcqsiv7683g3ccfpgd48hq0h819zpa58m9";
+       libraryHaskellDepends = [
+         base deepseq fused-effects transformers
+       ];
+       description = "Resumable exceptions for the fused-effects ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fusion" = callPackage
@@ -89554,8 +90320,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.12.2";
-       sha256 = "1q9k725wwf94gamjsi7rjazjgwdmh42h3fchlf25qm0w27llcrkc";
+       version = "0.13.1";
+       sha256 = "0h92q21hg3850f7hv5n497mn90dv3hxp8fa3cl29gwkn0pkaz33b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89922,6 +90688,34 @@ self: {
        broken = true;
      }) {};
 
+  "galois-fft" = callPackage
+    ({ mkDerivation, base, criterion, elliptic-curve, galois-field
+     , pairing, poly, protolude, QuickCheck, quickcheck-instances, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "galois-fft";
+       version = "0.1.0";
+       sha256 = "1qyhx0b0p3avag82g1fdwbiwxdr0npw39k4f2nv0x772rr4h9rz1";
+       libraryHaskellDepends = [
+         base elliptic-curve galois-field poly protolude vector
+       ];
+       testHaskellDepends = [
+         base elliptic-curve galois-field pairing poly protolude QuickCheck
+         quickcheck-instances tasty tasty-discover tasty-hunit
+         tasty-quickcheck vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base criterion elliptic-curve galois-field pairing poly protolude
+         vector
+       ];
+       description = "FFTs over finite fields";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "galois-field" = callPackage
     ({ mkDerivation, base, criterion, integer-gmp, MonadRandom
      , protolude, tasty, tasty-quickcheck, wl-pprint-text
@@ -90193,12 +90987,12 @@ self: {
      }) {};
 
   "gasp" = callPackage
-    ({ mkDerivation, base, binary, containers }:
+    ({ mkDerivation, base, binary, containers, mtl }:
      mkDerivation {
        pname = "gasp";
-       version = "1.1.0.0";
-       sha256 = "1zv7jq60nw2nd0np7xkz83y7jnvnshccz63j0i9bl0d9x1grhzbq";
-       libraryHaskellDepends = [ base binary containers ];
+       version = "1.2.0.0";
+       sha256 = "0dq867kgil7xp7wqk8ylmx9ninxrqwc375g5l13iskvyz1li7474";
+       libraryHaskellDepends = [ base binary containers mtl ];
        description = "A framework of algebraic classes";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -90439,8 +91233,8 @@ self: {
     ({ mkDerivation, base, lawful }:
      mkDerivation {
        pname = "gdp";
-       version = "0.0.0.2";
-       sha256 = "1gqs19wjyng0nacwvi7sjxnhnxjy2az0jwjyy6w2r5g4w9dgykr1";
+       version = "0.0.3.0";
+       sha256 = "0pkx6j557p9rm39pr6pw8p2j3nz8s4q839n6y9p6c31dnlz0zxx0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base lawful ];
@@ -91006,14 +91800,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "generic-deriving_1_13" = callPackage
+  "generic-deriving_1_13_1" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
      , template-haskell, th-abstraction
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.13";
-       sha256 = "0k4av4jamgpavn82q54g345la5i2ckfbq2w9nnf2a6vhvk1lnw8g";
+       version = "1.13.1";
+       sha256 = "1glsl15dc40wn1r851bray6i450g82xa2n0q53p1i3p5x903mdg9";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell th-abstraction
        ];
@@ -91276,19 +92070,15 @@ self: {
      }) {};
 
   "generic-xmlpickler" = callPackage
-    ({ mkDerivation, base, generic-deriving, hxt, hxt-pickle-utils
-     , tasty, tasty-hunit, tasty-th, text
+    ({ mkDerivation, base, generic-deriving, hxt, tasty, tasty-hunit
+     , tasty-th, text
      }:
      mkDerivation {
        pname = "generic-xmlpickler";
-       version = "0.1.0.5";
-       sha256 = "1brnlgnbys811qy64aps2j03ks2p0rkihaqzaszfwl80cpsn05ym";
-       revision = "8";
-       editedCabalFile = "1hpcglml4b5yv192syxazminr5v7qjrgqwb2wk0cf7f0sjpm5d0q";
+       version = "0.1.0.6";
+       sha256 = "0cbigrfiilwr2dfcnd2mskj1pjgwrjj72anfpa1yii7q9rs0gdh3";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
-       testHaskellDepends = [
-         base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
-       ];
+       testHaskellDepends = [ base hxt tasty tasty-hunit tasty-th ];
        description = "Generic generation of HXT XmlPickler instances using GHC Generics";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -91660,12 +92450,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "genvalidity_0_9_0_1" = callPackage
+  "genvalidity_0_9_1_0" = callPackage
     ({ mkDerivation, base, hspec, hspec-core, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.9.0.1";
-       sha256 = "1f0jhahgh0kyyk74g2vmjb3vcv4qvg2xhib1n92r8yyggxih3msl";
+       version = "0.9.1.0";
+       sha256 = "0pkc0ys8g6g0d22s83xwk1vkx476qhassdqn4d7m6z0zcsq0shkg";
        libraryHaskellDepends = [ base QuickCheck validity ];
        testHaskellDepends = [ base hspec hspec-core QuickCheck ];
        description = "Testing utilities for the validity library";
@@ -91733,15 +92523,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "genvalidity-containers_0_8_0_0" = callPackage
+  "genvalidity-containers_0_8_0_1" = callPackage
     ({ mkDerivation, base, containers, genvalidity, genvalidity-hspec
      , genvalidity-property, hspec, QuickCheck, validity
      , validity-containers
      }:
      mkDerivation {
        pname = "genvalidity-containers";
-       version = "0.8.0.0";
-       sha256 = "1397i50dzd7jhq2ymzs2msgbgkih9dfn74bhl2va2rrgjhnypnw6";
+       version = "0.8.0.1";
+       sha256 = "1iamvqrrvqa07hkpfcsmmrg3zppm2gk5gn97qpgmwn0h1pq9fmjp";
        libraryHaskellDepends = [
          base containers genvalidity QuickCheck validity validity-containers
        ];
@@ -92029,6 +92819,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-text_0_7_0_1" = callPackage
+    ({ mkDerivation, array, base, criterion, genvalidity
+     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
+     , random, text, validity, validity-text
+     }:
+     mkDerivation {
+       pname = "genvalidity-text";
+       version = "0.7.0.1";
+       sha256 = "13lpvjid379acapk8if3355zrgaaw2dg8fw52vzby9hqj4ki4gxs";
+       libraryHaskellDepends = [
+         array base genvalidity QuickCheck random text validity
+         validity-text
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck text
+       ];
+       benchmarkHaskellDepends = [
+         base criterion genvalidity genvalidity-criterion QuickCheck text
+       ];
+       description = "GenValidity support for Text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {genvalidity-criterion = null;};
+
   "genvalidity-time" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, time, validity-time
@@ -92255,8 +93070,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.4.0.0";
-       sha256 = "1a2wxblnv611asfwkgm2ndam1jvm2xqajj3rk0ii9qi7j9s5w8v0";
+       version = "0.4.0.1";
+       sha256 = "0q0clfmq7spfplxr6dxhq0d39f5l95yfr87ixnv2cn0ahcx7fpi7";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute lens mmap
          reinterpret-cast text
@@ -92484,6 +93299,8 @@ self: {
        ];
        description = "Github Standard Labeler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gh-pocket-knife" = callPackage
@@ -92723,8 +93540,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.11.0";
-       sha256 = "0ssm19fp6phpj7b0xgylz29fcbzq8chgfz62kax3wc1acd40vmp0";
+       version = "0.12.0";
+       sha256 = "08lrpi6dn32m9ih2w6s7s7fq95k5k015jxkj73z1kss092l3pwi6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92988,27 +93805,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_1" = callPackage
+  "ghc-lib_8_8_1_20191204" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
-     , haskeline, hpc, pretty, process, time, transformers, unix
+     , hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.1";
-       sha256 = "0lilr12pamss6x2vkqb700zy7yd15vd4y8f0h4q8fdp068bxn177";
-       isLibrary = true;
-       isExecutable = true;
+       version = "8.8.1.20191204";
+       sha256 = "1xj2l9w4jmwxavs5s6p50wciracqlvkx9mg015m8gv1s8sxn6sqh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          ghc-lib-parser ghc-prim hpc pretty process time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [
-         array base bytestring containers deepseq directory filepath
-         ghc-prim haskeline process time transformers unix
-       ];
        description = "The GHC API, decoupled from GHC versions";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -93033,15 +93844,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_8_8_1" = callPackage
+  "ghc-lib-parser_8_8_1_20191204" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
      , process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.8.1";
-       sha256 = "12aicsvc45ld2hv2qq0wdky4qa2mg8s6hhamilavcbp0da2s6wnh";
+       version = "8.8.1.20191204";
+       sha256 = "0acfq70mhhb76v0fhgqnijb4yp4njzxwc3c6d53r594cix3grvdp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -93467,6 +94278,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-syntax-highlighter_0_0_5_0" = callPackage
+    ({ mkDerivation, base, ghc-lib-parser, hspec, hspec-discover, text
+     }:
+     mkDerivation {
+       pname = "ghc-syntax-highlighter";
+       version = "0.0.5.0";
+       sha256 = "09h911wqja56b9j9dwjqv7dlim9rm50vra1bkp8zhnlw9fa2s127";
+       revision = "1";
+       editedCabalFile = "15ykgzk8f1kslvwl645saz7q1d6iv3fk5xyri65v2gaiaih0r640";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ghc-lib-parser text ];
+       testHaskellDepends = [ base hspec text ];
+       testToolDepends = [ hspec-discover ];
+       description = "Syntax highlighter for Haskell using lexer of GHC itself";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-tcplugins-extra" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -93516,11 +94345,11 @@ self: {
     ({ mkDerivation, base, bytestring, criterion, text }:
      mkDerivation {
        pname = "ghc-trace-events";
-       version = "0.0.0.1";
-       sha256 = "0b9s07wy26f9xswg6ysylpjaa9gv9iqw50n3zqpkj3jr8ah8y3kl";
+       version = "0.1.0";
+       sha256 = "0i68zk3k02f3hp6yvkgmdvdjfm8kgh3pwhr3qff4bc9isfh6qks2";
        libraryHaskellDepends = [ base bytestring text ];
        benchmarkHaskellDepends = [ base bytestring criterion ];
-       description = "Faster replacements for traceEvent and traceMarker";
+       description = "Faster traceEvent and traceMarker, and binary object logging for eventlog";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -93684,8 +94513,8 @@ self: {
     ({ mkDerivation, base, directory, ghc, time }:
      mkDerivation {
        pname = "ghcflags";
-       version = "1.0.1";
-       sha256 = "1s7xx13ka5jc8c5ga2yzzx3m6l9kn8fjgrfq6g7y6z8kw38590vb";
+       version = "1.0.2";
+       sha256 = "17j7bkx7ki5vqr0a3vl0f0v4l9cz2q7lm9xpkj3144y9sqmiqzy3";
        libraryHaskellDepends = [ base directory ghc time ];
        description = "Dump the ghc flags during compilation";
        license = stdenv.lib.licenses.bsd2;
@@ -93860,8 +94689,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.7.6";
-       sha256 = "0ic4v2l2mlcbgshd2p3834mdzagprc2bqjhnm9z38yvwj4bjgp5r";
+       version = "0.7.7";
+       sha256 = "1qrj6is1f6jnx9m2g7cp2009dik7inzf5yqlvqv4pwzzxp0nhl3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93879,21 +94708,48 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcid_0_8" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.8";
+       sha256 = "1vyjsxxp0jqqfkxp9r8by9qg794g0nj3k5zg7vlvh5v8xzigv8qg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base cmdargs directory extra filepath process time
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process terminal-size time unix
+       ];
+       testHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process tasty tasty-hunit terminal-size time unix
+       ];
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcide" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , data-default, deepseq, directory, extra, filepath, ghc, ghc-boot
-     , ghc-boot-th, ghc-paths, hashable, haskell-lsp, haskell-lsp-types
-     , hie-bios, hslogger, lens, lsp-test, mtl, network-uri
-     , optparse-applicative, parser-combinators, prettyprinter
-     , prettyprinter-ansi-terminal, rope-utf16-splay, safe-exceptions
-     , shake, sorted-list, stm, syb, tasty, tasty-expected-failure
-     , tasty-hunit, text, time, transformers, unix, unordered-containers
-     , utf8-string
+     , ghc-boot-th, ghc-paths, ghc-typelits-knownnat, hashable
+     , haskell-lsp, haskell-lsp-types, hie-bios, hslogger, lens
+     , lsp-test, mtl, network-uri, optparse-applicative
+     , parser-combinators, prettyprinter, prettyprinter-ansi-terminal
+     , rope-utf16-splay, safe-exceptions, shake, sorted-list, stm, syb
+     , tasty, tasty-expected-failure, tasty-hunit, text, time
+     , transformers, unix, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "0.0.4";
-       sha256 = "19iasnsqz9a07gw1f3cxraij1hykwxsidx1c26ws8l13nhnh6mpr";
+       version = "0.0.5";
+       sha256 = "014l2gg7ln2q9c7qpga45iicxi5mcyjzllvyiwb4vd8rmbkvr1bm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93909,14 +94765,12 @@ self: {
          haskell-lsp hie-bios hslogger optparse-applicative shake text
        ];
        testHaskellDepends = [
-         base containers directory extra filepath ghc haskell-lsp-types lens
-         lsp-test parser-combinators tasty tasty-expected-failure
-         tasty-hunit text
+         base bytestring containers directory extra filepath ghc
+         ghc-typelits-knownnat haskell-lsp-types lens lsp-test
+         parser-combinators tasty tasty-expected-failure tasty-hunit text
        ];
        description = "The core of an IDE";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -95546,8 +96400,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20191024";
-       sha256 = "11n0wvw7i1rgrsmm2wkv01rfa0azgaw1ib7jbmy4fyg9pw0s27y1";
+       version = "7.20191114";
+       sha256 = "1afrn5g3b80f3n6ncfph6pmf9jdpc7a6ay55k2pmkn96pyv4hfmm";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -95646,8 +96500,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-config";
-       version = "0.1.1";
-       sha256 = "0vspjqscw02x3hr6n0d0d4kyjfh5lij4wy58fp4z301vmyv77vgl";
+       version = "0.1.2";
+       sha256 = "1kp5yqn7pz5haq41m2za2f3bw0ygf1zlnn3n0b76zh0jbrndgknh";
        libraryHaskellDepends = [
          base megaparsec text unordered-containers
        ];
@@ -96056,8 +96910,8 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.23";
-       sha256 = "1d08m0kajl6zaralz1rbm4miv2a5zrbm6asjyrl75n915l56m9mb";
+       version = "0.24";
+       sha256 = "0jbk34aibm5bqbax8f2sif840f31g81yipnkav96lr4pfdv5b4mr";
        libraryHaskellDepends = [
          aeson base base-compat base16-bytestring binary binary-instances
          bytestring containers cryptohash-sha1 deepseq deepseq-generics
@@ -96152,8 +97006,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.2.4";
-       sha256 = "1s4vmqrzq7w35kfij9pyxm9b672khhx03whi4adz6l51xij6a3yb";
+       version = "1.2.5";
+       sha256 = "1ilmq8sjxidyna41gm97ygskjzkbf3rggb2m6lqpxpjcycay7jfr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96168,6 +97022,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-rest" = 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.0.1";
+       sha256 = "0dv959xmfpwbkjnjkisgxldkb89ln0wypz4cb65biijqfw0i4399";
+       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 = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -96399,22 +97276,16 @@ self: {
 
   "gitlab-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, optparse-applicative, text, transformers, unliftio
-     , unliftio-core
+     , http-types, text, time, transformers, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.1.2";
-       sha256 = "0m5gxf7799ds3ff46bz7j3rxycwnbaaik7lffyh22ipp3wlxjxpn";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.4";
+       sha256 = "09va5xbb2qya149gzrm3d3q9g6s4axxx6qkv4z764dryqq7fm7ly";
        libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types text
+         aeson base bytestring connection http-conduit http-types text time
          transformers unliftio unliftio-core
        ];
-       executableHaskellDepends = [
-         base http-types optparse-applicative text
-       ];
        description = "A Haskell library for the GitLab web API";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -97423,10 +98294,15 @@ self: {
      }:
      mkDerivation {
        pname = "glpk-hs";
-       version = "0.5";
-       sha256 = "1scr5iyxn83172g3d7wjww3frcrgk8kh3hzni11qchskllkx0vm3";
+       version = "0.7";
+       sha256 = "0cbdlidq14hmhndlgxid4gdzyg0jlm5habp5389xl3zkbmm2hni9";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ array base containers deepseq gasp mtl ];
        librarySystemDepends = [ glpk ];
+       executableHaskellDepends = [
+         array base containers deepseq gasp mtl
+       ];
        description = "Comprehensive GLPK linear programming bindings";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -101702,21 +102578,22 @@ self: {
      }) {};
 
   "graphql" = callPackage
-    ({ mkDerivation, aeson, base, hspec, hspec-expectations
+    ({ mkDerivation, aeson, base, containers, hspec, hspec-expectations
      , hspec-megaparsec, megaparsec, raw-strings-qq, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.5.1.0";
-       sha256 = "0wnn4nhszcciv06h17qkaxn649w48fw876v85934mfbn56fczzdd";
+       version = "0.6.0.0";
+       sha256 = "0gippn2y1ngykfz33825r4r4m5km7m8qch7ijics1q9d1jnszs5a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base megaparsec text transformers unordered-containers
+         aeson base containers megaparsec text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson base hspec hspec-expectations hspec-megaparsec megaparsec
-         raw-strings-qq text transformers unordered-containers
+         aeson base containers hspec hspec-expectations hspec-megaparsec
+         megaparsec raw-strings-qq text transformers unordered-containers
        ];
        description = "Haskell GraphQL implementation";
        license = stdenv.lib.licenses.bsd3;
@@ -101759,8 +102636,8 @@ self: {
     ({ mkDerivation, base, containers, json, text }:
      mkDerivation {
        pname = "graphql-w-persistent";
-       version = "0.6.0.0";
-       sha256 = "03m247xmj8gvvjs4bgsc06daz9avklza7ngs575psaqmkpxd8ga3";
+       version = "0.7.0.0";
+       sha256 = "02qbwkbr8hckr6z9ivszdnwlilz7mkh6zinb33s7gas7iwzkf9jc";
        libraryHaskellDepends = [ base containers json text ];
        description = "GraphQL interface middleware for (SQL) databases";
        license = stdenv.lib.licenses.isc;
@@ -102676,8 +103553,8 @@ self: {
      }:
      mkDerivation {
        pname = "grpc-haskell";
-       version = "0.0.0.0";
-       sha256 = "1d1njhrg6sfwy9f6xaxj0p8bbp2g6qjsa4cq7zq43h3vc1lkb0ii";
+       version = "0.0.1.0";
+       sha256 = "1cl12g88wvml3s5jazcb4gi4zwf6fp28hc9jp1fj25qpbr14il5c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102696,7 +103573,34 @@ self: {
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {grpc-haskell-core = null;};
+     }) {};
+
+  "grpc-haskell-core" = callPackage
+    ({ mkDerivation, async, base, bytestring, c2hs, clock, containers
+     , gpr, grpc, managed, pipes, proto3-suite, QuickCheck, safe
+     , sorted-list, stm, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, transformers, turtle, unix
+     }:
+     mkDerivation {
+       pname = "grpc-haskell-core";
+       version = "0.0.0.0";
+       sha256 = "1pvcdr1jrn94nwhni5992l8mv401150wl8yi519hncs173n2fx88";
+       libraryHaskellDepends = [
+         base bytestring clock containers managed sorted-list stm
+         transformers
+       ];
+       librarySystemDepends = [ gpr grpc ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         async base bytestring clock containers managed pipes proto3-suite
+         QuickCheck safe tasty tasty-hunit tasty-quickcheck text time
+         transformers turtle unix
+       ];
+       description = "Haskell implementation of gRPC layered on shared C library";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {gpr = null; inherit (pkgs) grpc;};
 
   "gruff" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
@@ -103881,29 +104785,28 @@ self: {
 
   "hOpenPGP" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
-     , base16-bytestring, base64-bytestring, bifunctors, binary
-     , binary-conduit, bytestring, bzlib, conduit, conduit-extra
-     , containers, criterion, crypto-cipher-types, cryptonite, errors
-     , hashable, incremental-parser, ixset-typed, lens, memory
-     , monad-loops, nettle, network, network-uri, newtype
-     , openpgp-asciiarmor, prettyprinter, QuickCheck
-     , quickcheck-instances, resourcet, semigroups, split, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, time-locale-compat
-     , transformers, unliftio-core, unordered-containers, zlib
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.8";
-       sha256 = "1n6cpwgg934ii3b4ap2gp347q3k4b64dc9x37d4bj51hs6910pmw";
-       libraryHaskellDepends = [
-         aeson asn1-encoding attoparsec base base16-bytestring
-         base64-bytestring bifunctors binary binary-conduit bytestring bzlib
-         conduit conduit-extra containers crypto-cipher-types cryptonite
-         errors hashable incremental-parser ixset-typed lens memory
-         monad-loops nettle network-uri newtype openpgp-asciiarmor
-         prettyprinter resourcet semigroups split text time
-         time-locale-compat transformers unliftio-core unordered-containers
-         zlib
+       version = "2.8.5";
+       sha256 = "1d5cmgj3rg8snc2b5jn9h7hb83j2hhf0c9shiiyrpr8rrl4hx2mj";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
        ];
        testHaskellDepends = [
          aeson asn1-encoding attoparsec base base16-bytestring bifunctors
@@ -103916,16 +104819,68 @@ self: {
          unliftio-core unordered-containers zlib
        ];
        benchmarkHaskellDepends = [
-         aeson base base16-bytestring base64-bytestring bifunctors binary
-         binary-conduit bytestring bzlib conduit conduit-extra containers
-         criterion crypto-cipher-types cryptonite errors hashable
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
+       ];
+       description = "native Haskell implementation of OpenPGP (RFC4880)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hOpenPGP_2_9" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.9";
+       sha256 = "0xdb1ggd7pw0faan8cs3hs29sqb3bgjfhxqs5x43hh1k64k3vdjk";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
          incremental-parser ixset-typed lens memory monad-loops nettle
-         network network-uri newtype openpgp-asciiarmor prettyprinter
-         resourcet semigroups split text time time-locale-compat
-         transformers unliftio-core unordered-containers zlib
+         network network-uri newtype prettyprinter QuickCheck
+         quickcheck-instances resourcet semigroups split tasty tasty-hunit
+         tasty-quickcheck text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       benchmarkHaskellDepends = [
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
        ];
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hPDB" = callPackage
@@ -104816,22 +105771,23 @@ self: {
 
   "hackage-repo-tool" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , hackage-security, network, network-uri, old-time
+     , hackage-security, microlens, network, network-uri, old-time
      , optparse-applicative, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "hackage-repo-tool";
-       version = "0.1.1.1";
-       sha256 = "05r4i7zhwbsv9ci4yid57fnb5lkx254pch9arq5a11dvwsvdzvzw";
-       revision = "2";
-       editedCabalFile = "04ghg9chkqj3s4g24jszcpb4m8fi9qbgs04bbb1kny3c6ihin93x";
+       version = "0.1.1.2";
+       sha256 = "1zgsmibi24w2wsd828hnls1yv9lrl9xwsi2aay3d603j8mg8vd0r";
+       revision = "1";
+       editedCabalFile = "1x8cqmfyc168jrmvg2c8as1gj4qys10hyr71nmcyskvqrk5bsxf8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring Cabal directory filepath hackage-security network
-         network-uri old-time optparse-applicative tar time unix zlib
+         base bytestring Cabal directory filepath hackage-security microlens
+         network network-uri old-time optparse-applicative tar time unix
+         zlib
        ];
-       description = "Utility to manage secure file-based package repositories";
+       description = "Manage secure file-based package repositories";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -104864,6 +105820,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hackage-security_0_6_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
+     , bytestring, Cabal, containers, cryptohash-sha256, directory
+     , ed25519, filepath, ghc-prim, lukko, mtl, network, network-uri
+     , parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, time, transformers
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-security";
+       version = "0.6.0.0";
+       sha256 = "1y9vs30y474ri8b9jqkbwfkcfh7p7jaafzwxina9z0xl32d0bn1c";
+       revision = "1";
+       editedCabalFile = "0iw1vy9xapwrwsg38pb6lr26yprwhz1j2w2kzkqfapxmwx37v639";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring Cabal
+         containers cryptohash-sha256 directory ed25519 filepath ghc-prim
+         lukko mtl network network-uri parsec pretty tar template-haskell
+         time transformers zlib
+       ];
+       testHaskellDepends = [
+         aeson base bytestring Cabal containers network-uri QuickCheck tar
+         tasty tasty-hunit tasty-quickcheck temporary time
+         unordered-containers vector zlib
+       ];
+       description = "Hackage security library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hackage-security-HTTP" = callPackage
     ({ mkDerivation, base, bytestring, hackage-security, HTTP, mtl
      , network, network-uri, zlib
@@ -105278,6 +106264,8 @@ self: {
        pname = "haddock-library";
        version = "1.8.0";
        sha256 = "15xpv29yh3kb9qq9gmws2l8m64i7phvf47y08vxc2j55101sg4vh";
+       revision = "1";
+       editedCabalFile = "09v6lq3ncf3ax7b6n36vhsflm488x0qc8sgc3w17m09x1jl48d99";
        libraryHaskellDepends = [
          base bytestring containers parsec text transformers
        ];
@@ -105340,8 +106328,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.17.2";
-       sha256 = "0s9q0016j3y56sblkq12mai1j58h8w8cy8k2x1bzvhb95zpg1va9";
+       version = "1.17.3";
+       sha256 = "00lyf2m6q866383q79b705xhn987504wz3fp3zh7m8580v8phy5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -105553,8 +106541,6 @@ self: {
        ];
        description = "A service for pull-based continuous deployment based on hydra";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hailgun" = callPackage
@@ -106097,8 +107083,6 @@ self: {
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-ogmarkup" = callPackage
@@ -106894,37 +107878,6 @@ self: {
      }) {};
 
   "hapistrano" = callPackage
-    ({ mkDerivation, aeson, async, base, directory, filepath
-     , formatting, gitrev, hspec, mtl, optparse-applicative, path
-     , path-io, process, QuickCheck, silently, stm, temporary, time
-     , transformers, typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
-       version = "0.3.9.3";
-       sha256 = "1kp2gdr0xjzr0qi584lqiqh7hjk8vymz04af2zcgdhbw68brj2cx";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base filepath formatting gitrev mtl path process stm time
-         transformers typed-process
-       ];
-       executableHaskellDepends = [
-         aeson async base formatting gitrev optparse-applicative path
-         path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process QuickCheck
-         silently temporary
-       ];
-       description = "A deployment library for Haskell applications";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hapistrano_0_3_10_0" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, directory
      , filepath, formatting, gitrev, hspec, hspec-discover, mtl
      , optparse-applicative, path, path-io, process, QuickCheck
@@ -106952,8 +107905,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A deployment library for Haskell applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "happindicator" = callPackage
@@ -107157,8 +108108,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.4.0";
-       sha256 = "1q4k8x6mwh9g7y5njcjd1xyn79yjnjv01nk4xa5q9yspmsa4685m";
+       version = "2.4.0.2";
+       sha256 = "16f4rs4h3lznkci5axibliiwfr3vrm03arxcjfjiv6mypkcpnp2r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -107417,8 +108368,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-hsp";
-       version = "7.3.7.3";
-       sha256 = "0m7psd6dg33xijshs3dxz2xrqghmpbs402h67b52pkqsk5nmy633";
+       version = "7.3.7.4";
+       sha256 = "188fqqpq7m921qkfv2b64pikcx8zzsy376l4py4wxlkabl7fkydr";
        libraryHaskellDepends = [
          base bytestring happstack-server harp hsp hsx2hs mtl syb text
          utf8-string
@@ -107473,8 +108424,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-jmacro";
-       version = "7.0.12.1";
-       sha256 = "0bx2wa0pdj73f11xhkk0qq3k8zwh6ccc3kqli9q59617s05wq6zz";
+       version = "7.0.12.2";
+       sha256 = "0zgmh75z59g6hs8n924sbnhswjdd6b947ywiird2a3y6d2zwqj3v";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cereal digest happstack-server
          jmacro text utf8-string wl-pprint-text
@@ -107538,22 +108489,22 @@ self: {
     ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
      , containers, directory, exceptions, extensible-exceptions
      , filepath, hslogger, html, HUnit, monad-control, mtl, network
-     , network-uri, old-locale, parsec, process, semigroups, sendfile
-     , syb, system-filepath, template-haskell, text, threads, time
-     , transformers, transformers-base, transformers-compat, unix
+     , network-bsd, network-uri, old-locale, parsec, process, semigroups
+     , sendfile, syb, system-filepath, template-haskell, text, threads
+     , time, transformers, transformers-base, transformers-compat, unix
      , utf8-string, xhtml, zlib
      }:
      mkDerivation {
        pname = "happstack-server";
-       version = "7.5.4";
-       sha256 = "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70";
+       version = "7.6.0";
+       sha256 = "0dixzrqr6y96ldx7ls2n19ilfph798jkflgcpzbj6gaw3y20w2b7";
        libraryHaskellDepends = [
          base base64-bytestring blaze-html bytestring containers directory
          exceptions extensible-exceptions filepath hslogger html
-         monad-control mtl network network-uri old-locale parsec process
-         semigroups sendfile syb system-filepath template-haskell text
-         threads time transformers transformers-base transformers-compat
-         unix utf8-string xhtml zlib
+         monad-control mtl network network-bsd network-uri old-locale parsec
+         process semigroups sendfile syb system-filepath template-haskell
+         text threads time transformers transformers-base
+         transformers-compat unix utf8-string xhtml zlib
        ];
        testHaskellDepends = [
          base bytestring containers HUnit parsec zlib
@@ -107571,8 +108522,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server-tls";
-       version = "7.1.6.7";
-       sha256 = "18jvim1hm1d4ia8ka2kxwzzzpdvs6wy0v2k5qz6bg9lsv4wi9xil";
+       version = "7.2.1";
+       sha256 = "1cihzjxl1v5sgmaxn8qny8b9yzm7p1gccgy1iaa3dk2jpl07a2dp";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions happstack-server hslogger
          HsOpenSSL network sendfile time unix
@@ -107710,6 +108661,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "happy_1_19_9" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, mtl, process
+     }:
+     mkDerivation {
+       pname = "happy";
+       version = "1.19.9";
+       sha256 = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y";
+       revision = "3";
+       editedCabalFile = "0kwlh964nyqvfbm02np8vpc28gbhsby0r65jhz1918rm0wip9izq";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [ array base containers mtl ];
+       testHaskellDepends = [ base process ];
+       description = "Happy is a parser generator for Haskell";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happy" = callPackage
     ({ mkDerivation, array, base, containers, mtl, process }:
      mkDerivation {
@@ -108034,8 +109005,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3.2";
-       sha256 = "1abyfsr0ya7j0s6znixhfhsr9mlmcg16rg5d9909b0xr896bkbn6";
+       version = "0.4.3.3";
+       sha256 = "16bmv3ymiiyvy65vf4s5h4fhp6q5hrw40xfdba4yarwgpbm0frm2";
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -108114,8 +109085,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.3.5";
-       sha256 = "0qd5rh0jdwhkjcz5kg1bqwd5hpz5w9ph9k0vxaam1lnjjniw7zbj";
+       version = "0.1.3.6";
+       sha256 = "0sgxvgvxqykslbjslrb5mzmaaar4nbc59p94qhk7rzbjsas01vp2";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default mtl network text
@@ -108129,14 +109100,14 @@ self: {
 
   "hasbolt-extras" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers
-     , data-default, free, hasbolt, lens, mtl, neat-interpolation
-     , scientific, template-haskell, text, th-lift-instances
-     , unordered-containers, vector
+     , data-default, doctest, free, hasbolt, lens, mtl
+     , neat-interpolation, scientific, template-haskell, text
+     , th-lift-instances, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.22";
-       sha256 = "06bad2hbzmrrav1f7fsszrspxghziy6jpmgr39nbs375fbqib4kp";
+       version = "0.0.0.25";
+       sha256 = "0cd0c6vcyfzrg3bzs1mv2c7alr7ncz5gkj6r70n2fb41mxnz9i2l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108147,6 +109118,7 @@ self: {
        executableHaskellDepends = [
          aeson base bytestring containers data-default hasbolt mtl text
        ];
+       testHaskellDepends = [ base doctest ];
        description = "Extras for hasbolt library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -109110,23 +110082,24 @@ self: {
 
   "haskell-ci" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base-compat
-     , bytestring, Cabal, containers, deepseq, Diff, directory
-     , exceptions, filepath, generic-lens, HsYAML, lattices, microlens
-     , mtl, network-uri, optparse-applicative, parsec, pretty, process
-     , ShellCheck, tasty, tasty-golden, temporary, text, transformers
-     , unordered-containers
+     , bytestring, Cabal, cabal-install-parsers, containers, deepseq
+     , Diff, directory, exceptions, filepath, generic-lens, HsYAML
+     , lattices, microlens, mtl, network-uri, optparse-applicative
+     , parsec, pretty, process, ShellCheck, tasty, tasty-golden
+     , temporary, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-ci";
-       version = "0.6";
-       sha256 = "1g9zfdw4z00sbh3mkaz2hzn09hjlawkb7h67mqn4qsdjw6dbwaab";
+       version = "0.8";
+       sha256 = "1wm5fs8fdy85lvjyy9n0yh66ax6bs0ll4gq7d8ba0ibsp69g6pm3";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory exceptions filepath generic-lens HsYAML lattices
-         microlens mtl network-uri optparse-applicative parsec pretty
-         process ShellCheck temporary text transformers unordered-containers
+         aeson base base-compat bytestring Cabal cabal-install-parsers
+         containers deepseq directory exceptions filepath generic-lens
+         HsYAML lattices microlens mtl network-uri optparse-applicative
+         parsec pretty process ShellCheck temporary text transformers
+         unordered-containers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -109136,7 +110109,8 @@ self: {
        doHaddock = false;
        description = "Cabal package script generator for Travis-CI";
        license = stdenv.lib.licenses.gpl3Plus;
-       maintainers = with stdenv.lib.maintainers; [ peti ];
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-cnc" = callPackage
@@ -109676,7 +110650,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_17_0_0" = callPackage
+  "haskell-lsp_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, directory, filepath, hashable
      , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
@@ -109685,8 +110659,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.17.0.0";
-       sha256 = "17c95ndm6jadab04q707pmv6x9cwshk463c8gc9ai0m7763win7x";
+       version = "0.18.0.0";
+       sha256 = "0q9xpjgr3n7svhd9f7mmkw113avswvfm08fnbijdr1sblipd12sl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109745,15 +110719,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_17_0_0" = callPackage
+  "haskell-lsp-types_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, deepseq
      , filepath, hashable, lens, network-uri, scientific, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-lsp-types";
-       version = "0.17.0.0";
-       sha256 = "03i3s7f82imv4ysclhjv07mcs0dl3m5nmjxmfa5wafircai4yi3p";
+       version = "0.18.0.0";
+       sha256 = "1ypa3gxxcg7dl905d4nprcqzw2fcl7z7xy1hpg5har1dw3w9fyiq";
        libraryHaskellDepends = [
          aeson base bytestring data-default deepseq filepath hashable lens
          network-uri scientific text unordered-containers
@@ -109847,8 +110821,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-names";
-       version = "0.9.6";
-       sha256 = "06g1h1dvsh31hm18v3hkx2s4bcrv2h49kgc2x9k1xk6532a9503w";
+       version = "0.9.7";
+       sha256 = "1ad0kdp4a9gq10g9flmmjn0ibfaipq2qnrz5a13r1mgyb6skzc5j";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers data-lens-light filepath
@@ -110211,6 +111185,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-src_1_0_3_1" = callPackage
+    ({ mkDerivation, array, base, happy, pretty, syb }:
+     mkDerivation {
+       pname = "haskell-src";
+       version = "1.0.3.1";
+       sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
+       libraryHaskellDepends = [ array base pretty syb ];
+       libraryToolDepends = [ happy ];
+       description = "Support for manipulating Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-src-exts_1_19_1" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, directory
      , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
@@ -110342,10 +111329,8 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-simple";
-       version = "1.21.1.0";
-       sha256 = "1zw95fdbqgn9653fgbcpdc364ps07v0zgvwxng8yi2dhdnlhjqra";
-       revision = "1";
-       editedCabalFile = "0mc1n7bkwbykrw1wivj1mvm69a0j1089vbrg8vc1cfkmcdib3xdj";
+       version = "1.22.0.0";
+       sha256 = "1zfb12r7fpq5nnfgn27m8grql2bx50w7g2jbgy9404rjcr1gk59c";
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
@@ -110386,6 +111371,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-src-meta_0_8_5" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts, HUnit, pretty
+     , syb, tasty, tasty-hunit, template-haskell, th-orphans
+     }:
+     mkDerivation {
+       pname = "haskell-src-meta";
+       version = "0.8.5";
+       sha256 = "1csqp3n7330rhia9msyw34z7qwwj64gdy5qlv8w4jbm49dap24ik";
+       libraryHaskellDepends = [
+         base haskell-src-exts pretty syb template-haskell th-orphans
+       ];
+       testHaskellDepends = [
+         base containers haskell-src-exts HUnit pretty syb tasty tasty-hunit
+         template-haskell
+       ];
+       description = "Parse source to template-haskell abstract syntax";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-src-meta-mwotton" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, haskell-src-exts
      , pretty, syb, template-haskell
@@ -111362,6 +112367,17 @@ self: {
        broken = true;
      }) {};
 
+  "haskellish" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "haskellish";
+       version = "0.1.1";
+       sha256 = "1smgr42m4dz6yd8w34dmc3w2l06jllli831bq66l3mdbrfb3964h";
+       libraryHaskellDepends = [ base haskell-src-exts ];
+       description = "For parsing Haskell-ish languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskellscrabble" = callPackage
     ({ mkDerivation, array, arrows, base, containers, directory, errors
      , filepath, HUnit, listsafe, mtl, parsec, QuickCheck, random, safe
@@ -111472,20 +112488,20 @@ self: {
 
   "haskey" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
-     , directory, exceptions, filepath, focus, haskey-btree, HUnit
-     , list-t, lz4, mtl, QuickCheck, random, semigroups, stm
+     , directory, exceptions, filepath, focus, hashable, haskey-btree
+     , HUnit, list-t, lz4, mtl, QuickCheck, random, semigroups, stm
      , stm-containers, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, transformers, unix, vector
      , xxhash-ffi
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.3.0.2";
-       sha256 = "1s24k6mwb1231j3ryd4iizday4l966vs9rcghr53k3jx2nl0h74h";
+       version = "0.3.1.0";
+       sha256 = "06q5gwjpgrgjq07iz7368yfghsfc2im1gbwqqixb1lqbiz7q6dbs";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
-         focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
-         transformers unix xxhash-ffi
+         focus hashable haskey-btree list-t lz4 mtl semigroups stm
+         stm-containers transformers unix xxhash-ffi
        ];
        testHaskellDepends = [
          async base binary bytestring containers directory exceptions
@@ -111687,39 +112703,14 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.9.5";
-       sha256 = "1q7v7cyabka4yy9di0z88li131sxf1pgc330aiw9gazxchz05jx9";
+       version = "0.9.7";
+       sha256 = "04bh21sdkqzp7rlvs49wqq9lj8cyf2mm8cdjyg3zr4kqsfbw2z73";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bytestring cereal conduit
-         containers cryptonite entropy hashable memory mtl murmur3 network
-         QuickCheck scientific secp256k1-haskell split string-conversions
-         text time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
-         safe split string-conversions text unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bitcoin & Bitcoin Cash library for Haskell";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "haskoin-core_0_9_6" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
-     , cereal, conduit, containers, cryptonite, entropy, hashable, hspec
-     , hspec-discover, HUnit, memory, mtl, murmur3, network, QuickCheck
-     , safe, scientific, secp256k1-haskell, split, string-conversions
-     , text, time, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "haskoin-core";
-       version = "0.9.6";
-       sha256 = "1sj54ajnqdkf3fnsz5i41p0mglixabyh5csnpzlvhh0wmaca0g52";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring bytestring cereal conduit
-         containers cryptonite entropy hashable memory mtl murmur3 network
-         QuickCheck scientific secp256k1-haskell split string-conversions
-         text time transformers unordered-containers vector
+         containers cryptonite entropy hashable hspec HUnit memory mtl
+         murmur3 network QuickCheck safe scientific secp256k1-haskell split
+         string-conversions text time transformers unordered-containers
+         vector
        ];
        testHaskellDepends = [
          aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
@@ -111729,6 +112720,7 @@ self: {
        description = "Bitcoin & Bitcoin Cash library for Haskell";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskoin-crypto" = callPackage
@@ -111765,8 +112757,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.9.13";
-       sha256 = "15z6qnaj5lk6kd151nl6ddjza0ngpgx8j29ayd5pcwr59r40hl95";
+       version = "0.9.14";
+       sha256 = "17nd6spm2bskgnxp2v7jfb66ds2qgxzhzlvd4yhgbf63kqfhlkjl";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -111844,8 +112836,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.18.6";
-       sha256 = "0hgjawlvlvz2wz711dgfbg8wvinzl4faisw8fpi7v00v6agwz2gx";
+       version = "0.18.9";
+       sha256 = "0gfvlah265mdc52nxkb2mlq1qblli0fm7lrxhwbggjjssj0jbp05";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112711,8 +113703,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.4";
-       sha256 = "0j2arb96i1dinpz1yxl2cjl4qhbljk9yph52cj9az50mvl8vx3w4";
+       version = "1.4.0.1";
+       sha256 = "04112217385hh7bqzs4sr0263yy3pzny10ym4j5vmy9kwrbygk2d";
        libraryHaskellDepends = [
          attoparsec base base-prelude bytestring bytestring-strict-builder
          contravariant contravariant-extras dlist hashable hashtables
@@ -112996,14 +113988,27 @@ self: {
      }) {};
 
   "hasql-th" = callPackage
-    ({ mkDerivation, base-prelude, bytestring, template-haskell, text
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , contravariant, fast-builder, foldl, hashable, hasql
+     , headed-megaparsec, hedgehog, megaparsec, parser-combinators
+     , selective, template-haskell, text, text-builder, tuple-th
+     , unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.2.1";
-       sha256 = "0lfnmlpxxzm06cr3p6b2x0wzf11913w6ps6hlv290mdd0l3wk1mg";
+       version = "0.3.0.1";
+       sha256 = "03wfzwf3rr83j158757llq23zi17pkpmpracwisbz4acvk0vb3s0";
        libraryHaskellDepends = [
-         base-prelude bytestring template-haskell text
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec megaparsec
+         parser-combinators selective template-haskell text text-builder
+         tuple-th unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec hedgehog
+         megaparsec parser-combinators selective template-haskell text
+         text-builder tuple-th unordered-containers uuid vector
        ];
        description = "Template Haskell utilities for Hasql";
        license = stdenv.lib.licenses.mit;
@@ -113027,21 +114032,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hasql-transaction_1" = callPackage
+  "hasql-transaction_1_0_0_1" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rebase
      , transformers
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "1";
-       sha256 = "1k82b0bx4j2g7lhr2p4z4a365kx1i23dr6zikwg1yyhpvhl3xbcj";
+       version = "1.0.0.1";
+       sha256 = "0jfvabsjpj56piny41hzbblhprjsk5xkpk35x502q2isl2mkk5ql";
        libraryHaskellDepends = [
          base bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
        ];
        testHaskellDepends = [ async hasql rebase ];
-       description = "A composable abstraction over the retryable transactions for Hasql";
+       description = "Composable abstraction over retryable transactions for Hasql";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -114235,8 +115240,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdaemonize";
-       version = "0.5.5";
-       sha256 = "17q2zr9bv6xwnldgbsh1idwfgybp8q4xzq79p2lmmi3f0q6cnl6j";
+       version = "0.5.6";
+       sha256 = "097fgjgskigy3grnd3ijzyhdq34vjmd9bjk2rscixi59j8j30vxd";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions filepath hsyslog mtl unix
        ];
@@ -114714,6 +115719,21 @@ self: {
        broken = true;
      }) {};
 
+  "headed-megaparsec" = callPackage
+    ({ mkDerivation, base, case-insensitive, megaparsec
+     , parser-combinators, selective
+     }:
+     mkDerivation {
+       pname = "headed-megaparsec";
+       version = "0.1.0.2";
+       sha256 = "0npkkphm4gv7cgm08asr5qxjyk6jdbm4h4w0jwsvxzpxh3nfxgbr";
+       libraryHaskellDepends = [
+         base case-insensitive megaparsec parser-combinators selective
+       ];
+       description = "More informative parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "headergen" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , filepath, haskeline, time
@@ -114775,8 +115795,8 @@ self: {
     ({ mkDerivation, async, base, io-streams, time }:
      mkDerivation {
        pname = "heartbeat-streams";
-       version = "0.1.0.1";
-       sha256 = "0arfwp0qkk5p6wh2lwh05r17mwkpn3dcmy382n1rgxr8k03fzv57";
+       version = "0.1.0.2";
+       sha256 = "059dx7paaniwmxgyzapv0542jf8yb4vzbg8501d2j779ixvzm80d";
        libraryHaskellDepends = [ async base io-streams time ];
        description = "Heartbeats for io-streams";
        license = stdenv.lib.licenses.bsd3;
@@ -114955,6 +115975,18 @@ self: {
        broken = true;
      }) {};
 
+  "heckin" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "heckin";
+       version = "0.0.1.0";
+       sha256 = "0nvcjkpsk4n96hjah4m85issr47abz3g0csv34sdwk59dx201zbi";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       description = "Oh heck, it's a heckin' case conversion library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "heckle" = callPackage
     ({ mkDerivation, base, blaze-html, directory, pandoc, pandoc-types
      , process, split, tagsoup, time
@@ -115120,6 +116152,25 @@ self: {
        broken = true;
      }) {};
 
+  "hedgehog-golden" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , Diff, directory, extra, hedgehog, text
+     }:
+     mkDerivation {
+       pname = "hedgehog-golden";
+       version = "1.0.0";
+       sha256 = "17ja3ch042kvk0fpd1gd9nnj9x5jbl37vxn579hr9rimwgf99az7";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring containers Diff directory extra
+         hedgehog text
+       ];
+       testHaskellDepends = [ base hedgehog ];
+       description = "Golden testing capabilities for hedgehog using Aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hedgehog-quickcheck" = callPackage
     ({ mkDerivation, base, hedgehog, QuickCheck, transformers }:
      mkDerivation {
@@ -115131,6 +116182,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedgehog-servant" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , hedgehog, http-client, http-media, http-types, servant
+     , servant-client, servant-server, string-conversions, text
+     }:
+     mkDerivation {
+       pname = "hedgehog-servant";
+       version = "0.0.0.1";
+       sha256 = "04plk39ni5m9arcphb4464bpl12r6aw2zfnzlzhpa1i49qlpivc3";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive hedgehog http-client http-media
+         http-types servant servant-client servant-server string-conversions
+         text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive hedgehog http-client
+         http-media http-types servant servant-client servant-server
+         string-conversions text
+       ];
+       description = "Hedgehog property testing for Servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hedis" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
      , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
@@ -115139,8 +116213,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.12.8";
-       sha256 = "119j0g6b2ci04bax6xl2biwwf7cfk2vybypx3089fm69xgm8spcz";
+       version = "0.12.10";
+       sha256 = "0n9rm73h9lgrqavzjlakb95jvpg0lfjhj6grb5rgwpi4rhvqiygb";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq errors HTTP mtl
          network network-uri resource-pool scanner stm text time tls
@@ -117307,8 +118381,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgrev";
-       version = "0.2.3";
-       sha256 = "0cf0pwl4218wvp6il8h82qnkjd1c9vh6bc8g7dxns0hw4vda3ly8";
+       version = "0.2.4";
+       sha256 = "1mmnz6vipl42p2raxn26hjlcrjhrk3xfbvzyxhjl5ciybgi6dc3w";
        libraryHaskellDepends = [
          aeson base bytestring directory filepath process template-haskell
        ];
@@ -118402,8 +119476,8 @@ self: {
      }:
      mkDerivation {
        pname = "hinterface";
-       version = "0.11.0";
-       sha256 = "1p878194kl4dma6xmp73j4m87yjs7lprjqm3pb81li222fcylz88";
+       version = "1.0.0";
+       sha256 = "18vhpmhpfam1nbh5fgbcfjnmsnsbkzq9qmr64alldlvwf6brs0kp";
        libraryHaskellDepends = [
          array async base binary bytestring containers cryptonite deepseq
          exceptions lifted-async lifted-base memory monad-control
@@ -118450,20 +119524,22 @@ self: {
      }) {};
 
   "hip" = callPackage
-    ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
-     , criterion, deepseq, directory, filepath, hspec, JuicyPixels
-     , netpbm, primitive, process, QuickCheck, repa, repa-algorithms
-     , temporary, vector
+    ({ mkDerivation, array, base, bytestring, Chart, Chart-diagrams
+     , colour, criterion, deepseq, directory, filepath, hspec
+     , hspec-discover, JuicyPixels, netpbm, primitive, process
+     , QuickCheck, random, repa, repa-algorithms, temporary, vector
      }:
      mkDerivation {
        pname = "hip";
-       version = "1.5.3.0";
-       sha256 = "07jgqz5dz8qk96xz0q92hpn172jaqivfmn0mrynhicmvkx7a7izr";
+       version = "1.5.4.0";
+       sha256 = "09vv9zshgy6g9333pyny5lcja8662rxnldg1m0vvfiywcjafbn14";
        libraryHaskellDepends = [
-         base bytestring Chart Chart-diagrams colour deepseq directory
-         filepath JuicyPixels netpbm primitive process repa temporary vector
+         array base bytestring Chart Chart-diagrams colour deepseq directory
+         filepath JuicyPixels netpbm primitive process random repa temporary
+         vector
        ];
        testHaskellDepends = [ base bytestring hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base criterion deepseq repa repa-algorithms vector
        ];
@@ -119015,8 +120091,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjugement-cli";
-       version = "0.0.0.20191031";
-       sha256 = "1rsm0byqg2dgqn3pcs7c89q98zcnblsj0qjb129xkdf3r6i0p26w";
+       version = "0.0.0.20191104";
+       sha256 = "17bz2cb9i7iv1s1s5g17797x07h80p3h682zkq9i4s5cbqjga44g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -119041,8 +120117,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjugement-protocol";
-       version = "0.0.9.20191031";
-       sha256 = "1dh77mrrl1a5qazdqrymcllygwjl54n12vi6rx7jyp01c62k35bk";
+       version = "0.0.10.20191104";
+       sha256 = "1zra21x92bvgnqj4if2lhhzbf4kwj9xn1lp8glzngvby0914na7x";
        libraryHaskellDepends = [
          aeson base base64-bytestring binary bytestring containers
          cryptonite deepseq memory random reflection text transformers
@@ -119060,6 +120136,18 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "hkd" = callPackage
+    ({ mkDerivation, base, some }:
+     mkDerivation {
+       pname = "hkd";
+       version = "0.1";
+       sha256 = "1xz0i8lkh0rp55b0s7npkzqgyz9pf1bwq9b66cwbg073r9sz41wa";
+       libraryHaskellDepends = [ base some ];
+       testHaskellDepends = [ base some ];
+       description = "\"higher-kinded data\"";
+       license = "(BSD-2-Clause OR Apache-2.0)";
+     }) {};
+
   "hkd-delta" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -119214,55 +120302,44 @@ self: {
 
   "hledger" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat-batteries
-     , bytestring, cmdargs, containers, criterion, data-default, Decimal
-     , Diff, directory, easytest, extra, filepath, hashable, haskeline
-     , hledger-lib, html, lucid, math-functions, megaparsec, mtl
-     , mtl-compat, old-time, parsec, pretty-show, process, regex-tdfa
-     , safe, shakespeare, split, tabular, temporary, terminfo
-     , test-framework, test-framework-hunit, text, time, timeit
+     , bytestring, cmdargs, containers, data-default, Decimal, Diff
+     , directory, extra, filepath, hashable, haskeline, hledger-lib
+     , lucid, math-functions, megaparsec, mtl, old-time, parsec
+     , pretty-show, process, regex-tdfa, safe, shakespeare, split
+     , tabular, tasty, temporary, terminfo, text, time, timeit
      , transformers, unordered-containers, utf8-string, utility-ht
      , wizards
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.15.2";
-       sha256 = "16mpj58519p4ksd0iwwkd63xxcr21k99h015l4kgi6zd934v2qix";
+       version = "1.16.1";
+       sha256 = "1dw04sjgji6iprs0hqxr0nynkg5qsqh20l0d48vqjkgaral4sxma";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal Diff directory easytest extra
-         filepath hashable haskeline hledger-lib lucid math-functions
-         megaparsec mtl mtl-compat old-time parsec pretty-show process
-         regex-tdfa safe shakespeare split tabular temporary terminfo text
-         time timeit transformers unordered-containers utf8-string
-         utility-ht wizards
+         containers data-default Decimal Diff directory extra filepath
+         hashable haskeline hledger-lib lucid math-functions megaparsec mtl
+         old-time parsec pretty-show process regex-tdfa safe shakespeare
+         split tabular tasty temporary terminfo text time timeit
+         transformers unordered-containers utf8-string utility-ht wizards
        ];
        executableHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
        testHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo test-framework
-         test-framework-hunit text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
-       benchmarkHaskellDepends = [
-         ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers criterion data-default Decimal directory easytest extra
-         filepath haskeline hledger-lib html math-functions megaparsec mtl
-         mtl-compat old-time parsec pretty-show process regex-tdfa safe
-         shakespeare split tabular temporary terminfo text time timeit
-         transformers unordered-containers utf8-string utility-ht wizards
-       ];
        description = "Command-line interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
@@ -119363,8 +120440,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.9";
        sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq";
-       revision = "1";
-       editedCabalFile = "18qjkl79gwmdgk6vl8cg3m94wm0qw30kxn4lvlnj9n6gnv2p0b3k";
+       revision = "3";
+       editedCabalFile = "1c06v50lhhzsa4872j9khqvga7pvfrvns8sp3srn9vfwxbiw5x7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119430,33 +120507,33 @@ self: {
     ({ mkDerivation, ansi-terminal, array, base, base-compat-batteries
      , blaze-markup, bytestring, call-stack, cassava, cassava-megaparsec
      , cmdargs, containers, data-default, Decimal, deepseq, directory
-     , doctest, easytest, extra, fgl, file-embed, filepath, Glob
-     , hashtables, megaparsec, mtl, mtl-compat, old-time, parsec
-     , parser-combinators, pretty-show, regex-tdfa, safe, split, tabular
+     , extra, fgl, file-embed, filepath, Glob, hashtables, megaparsec
+     , mtl, old-time, parsec, parser-combinators, pretty-show
+     , regex-tdfa, safe, split, tabular, tasty, tasty-hunit
      , template-haskell, text, time, timeit, transformers, uglymemo
      , utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.15.2";
-       sha256 = "0q6ppizyadilxma3l8bwlswa6syyzkdri0yq0bqfmdzxvh9s3bcm";
+       version = "1.16.1";
+       sha256 = "14rwigcmal1dy286qnw93nnn4rl42hgcnz882wmjmhpyjrs4l5ig";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        testHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory doctest easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        description = "Core data types, parsers and functionality for the hledger accounting tools";
        license = stdenv.lib.licenses.gpl3;
@@ -119492,8 +120569,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.15";
-       sha256 = "047ssmix7pxq61hknd40z983aw8110zxzh6z2ick8xkhdsnw3s1q";
+       version = "1.16.1";
+       sha256 = "0cn1pwr87lvi65m619v845vj17v27hp3h6fcgy1cpb4gjsdvq861";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -119503,7 +120580,7 @@ self: {
          process safe split text text-zipper time transformers unix vector
          vty
        ];
-       description = "Curses-style user interface for the hledger accounting tool";
+       description = "Terminal user interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
@@ -119531,24 +120608,25 @@ self: {
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , case-insensitive, clientsession, cmdargs, conduit, conduit-extra
      , containers, data-default, Decimal, directory, filepath, hjsmin
-     , hledger, hledger-lib, http-client, http-conduit, http-types, json
+     , hledger, hledger-lib, http-client, http-conduit, http-types
      , megaparsec, mtl, semigroups, shakespeare, template-haskell, text
-     , time, transformers, wai, wai-extra, wai-handler-launch, warp
-     , yaml, yesod, yesod-core, yesod-form, yesod-static
+     , time, transformers, utf8-string, wai, wai-cors, wai-extra
+     , wai-handler-launch, warp, yaml, yesod, yesod-core, yesod-form
+     , yesod-static
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.15";
-       sha256 = "1m54m8v1fzlazrh9hhv4ff7jrg95d03i8wx360l1y731gry54zw3";
+       version = "1.16.1";
+       sha256 = "1mn3mk4v6akbzl2hc8k89q4njffxpj832h5pywy9rj2mc7fbw5s5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring case-insensitive
          clientsession cmdargs conduit conduit-extra containers data-default
          Decimal directory filepath hjsmin hledger hledger-lib http-client
-         http-conduit http-types json megaparsec mtl semigroups shakespeare
-         template-haskell text time transformers wai wai-extra
-         wai-handler-launch warp yaml yesod yesod-core yesod-form
+         http-conduit http-types megaparsec mtl semigroups shakespeare
+         template-haskell text time transformers utf8-string wai wai-cors
+         wai-extra wai-handler-launch warp yaml yesod yesod-core yesod-form
          yesod-static
        ];
        executableHaskellDepends = [ base ];
@@ -119621,7 +120699,7 @@ self: {
        pname = "hlibsass";
        version = "0.1.8.0";
        sha256 = "1ssgvr0jvl79k1vckp5nq2zw6mx8l4xasydymzjwmhg0fl99mpi6";
-       configureFlags = [ "-fexternalLibsass" ];
+       configureFlags = [ "-fexternallibsass" ];
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ libsass ];
@@ -119633,20 +120711,20 @@ self: {
   "hlint" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
      , containers, cpphs, data-default, directory, extra, filepath
-     , ghc-lib-parser, haskell-src-exts, haskell-src-exts-util, hscolour
-     , mtl, process, refact, syb, text, transformers, uniplate
-     , unordered-containers, vector, yaml
+     , filepattern, ghc-lib-parser, haskell-src-exts
+     , haskell-src-exts-util, hscolour, mtl, process, refact, syb, text
+     , transformers, uniplate, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.2.3";
-       sha256 = "0amkk315mpqc1b2pf5mngfzmzfx4bad4pzcg4h0120825909zpz6";
+       version = "2.2.5";
+       sha256 = "1ygyk1rg07j5x1qa6af3a76ps1cqicz4cv9i986kcfpzhzlf7iqd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring cmdargs containers cpphs
-         data-default directory extra filepath ghc-lib-parser
+         data-default directory extra filepath filepattern ghc-lib-parser
          haskell-src-exts haskell-src-exts-util hscolour mtl process refact
          syb text transformers uniplate unordered-containers vector yaml
        ];
@@ -119741,6 +120819,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.0.0";
        sha256 = "0pc3hqi6v9b78fijisnarfs59w6mw8jgyww25r1wmblgwyakl5ab";
+       revision = "1";
+       editedCabalFile = "1ycglx3b5n1l97pq0rd50wd313gwz1is10snf8s0c9bjlrzspbn5";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers
@@ -119755,8 +120835,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.4.0";
-       sha256 = "1sn23347mm9r4j45ba2jz4vw7swh6jgn5fds9xnwgr8rch9b0ljc";
+       version = "0.1.5.0";
+       sha256 = "0aznzrwv021nppb5cxbpnr7hiajny4s40diz6kcmddsbml56xmk9";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -120395,8 +121475,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmp3-ng";
-       version = "2.7.1";
-       sha256 = "1flwj8dp18w1vn34lzd44i5wy13m8qmcykmaziwbhz9npv097pnc";
+       version = "2.7.3.1";
+       sha256 = "1g4r9kkd0cqcarg220bj481b2j1gid68l0dfycy47hl8glqhv2w9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -121649,8 +122729,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.11";
-       sha256 = "1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1";
+       version = "5.0.17.13";
+       sha256 = "1lbn4ji8l20pvyn5r2cdys0cnxhhac1559q54c6kb4vz4fr0a82p";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -121838,6 +122918,40 @@ self: {
        broken = true;
      }) {};
 
+  "hopenpgp-tools_0_23" = callPackage
+    ({ mkDerivation, aeson, alex, array, attoparsec, base
+     , base16-bytestring, binary, binary-conduit, bytestring, conduit
+     , conduit-extra, containers, crypto-pubkey, cryptohash, cryptonite
+     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
+     , http-client-tls, http-types, ixset-typed, lens, monad-loops, mtl
+     , openpgp-asciiarmor, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, prettyprinter-convert-ansi-wl-pprint
+     , resourcet, text, time, time-locale-compat, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hopenpgp-tools";
+       version = "0.23";
+       sha256 = "1sgqx8b1sq89hpjzbdmkjsmrfagh5v0jfxyqphzkh1bq2zydj0jl";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson array attoparsec base base16-bytestring binary binary-conduit
+         bytestring conduit conduit-extra containers crypto-pubkey
+         cryptohash cryptonite directory errors fgl graphviz hOpenPGP
+         http-client http-client-tls http-types ixset-typed lens monad-loops
+         mtl openpgp-asciiarmor optparse-applicative prettyprinter
+         prettyprinter-ansi-terminal prettyprinter-convert-ansi-wl-pprint
+         resourcet text time time-locale-compat transformers
+         unordered-containers vector yaml
+       ];
+       executableToolDepends = [ alex happy ];
+       description = "hOpenPGP-based command-line tools";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hopenssl" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, openssl }:
      mkDerivation {
@@ -122955,12 +124069,12 @@ self: {
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
      , cryptohash, exceptions, fields-json, hpqtypes, lifted-base
      , log-base, monad-control, mtl, safe, semigroups, tasty
-     , tasty-hunit, text, text-show, transformers
+     , tasty-hunit, text, text-show, transformers, uuid-types
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.9.0.1";
-       sha256 = "04qlcs5vdzyxfdmamz65lhw1bjbm8rl9h5qf4xback6lcxr2h5q7";
+       version = "1.10.0.0";
+       sha256 = "0gh8gg3hl64i851q3zaigg8i5axrgxw169m1xzzgximhzhzbl7m8";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          fields-json hpqtypes lifted-base log-base monad-control mtl safe
@@ -122968,7 +124082,7 @@ self: {
        ];
        testHaskellDepends = [
          base exceptions hpqtypes lifted-base log-base monad-control tasty
-         tasty-hunit text transformers
+         tasty-hunit text transformers uuid-types
        ];
        description = "Extra utilities for hpqtypes library";
        license = stdenv.lib.licenses.bsd3;
@@ -122983,8 +124097,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprotoc";
-       version = "2.4.12";
-       sha256 = "0xj000ikh3y8dg5sbrl7ycb471qgra4khmk4kq079biasjvhf58a";
+       version = "2.4.13";
+       sha256 = "0z88kiirwpnzw6hxg99kg42j2hkf002vcsmbcm7nqdfqajrggiy0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123306,6 +124420,84 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hreq-client" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, Cabal
+     , cabal-doctest, containers, doctest, exceptions, hreq-core, hspec
+     , hspec-discover, http-client, http-client-tls, http-media
+     , http-types, mtl, retry, stm, string-conversions, text, time
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "hreq-client";
+       version = "0.1.1.0";
+       sha256 = "0bx4vhvwh4arkp5ly6clj55dmai3npl2p87l64radhyqr9z0il24";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-compat bytestring containers exceptions hreq-core
+         http-client http-client-tls http-media http-types mtl retry stm
+         string-conversions text time unliftio-core
+       ];
+       executableHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [
+         aeson base containers doctest hreq-core hspec http-types
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A Type dependent Highlevel HTTP client library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hreq-conduit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, cabal-doctest
+     , conduit, doctest, exceptions, hreq-client, hreq-core, hspec
+     , hspec-discover, http-client, http-types, markdown-unlit, mtl
+     , retry, string-conversions, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "hreq-conduit";
+       version = "0.1.0.0";
+       sha256 = "0rdi3nxmq3g7gzlc3w1vc27djwd2pbsifm6mvi6d9nk3ynnrc2vv";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bytestring conduit exceptions hreq-client hreq-core
+         http-client http-types mtl retry unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring conduit doctest hspec http-types
+         string-conversions text
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Conduit streaming support for Hreq";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hreq-core" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , Cabal, cabal-doctest, containers, doctest, exceptions
+     , http-api-data, http-media, http-types, mtl, string-conversions
+     , text
+     }:
+     mkDerivation {
+       pname = "hreq-core";
+       version = "0.1.1.0";
+       sha256 = "0lc1bc3kr3j6rkrz9w0s5aqb5bb60xhafg1v02n7vcyishdh2iwl";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bytestring containers exceptions
+         http-api-data http-media http-types mtl string-conversions text
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Core functionality for Hreq Http client library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hrfsize" = callPackage
     ({ mkDerivation, base, process, tasty, tasty-hunit }:
      mkDerivation {
@@ -124064,8 +125256,8 @@ self: {
     ({ mkDerivation, aeson, base, extra, ghc-events, text, vector }:
      mkDerivation {
        pname = "hs-speedscope";
-       version = "0.1.0.0";
-       sha256 = "1q6rqf07akrcwvp84sw9l0niy8vjmllwlfqx8v8nzj67zw5jcj3q";
+       version = "0.1.1.0";
+       sha256 = "0dldhndlags3ig991yvddfaw472cjwfy9dz3i12hq5ny6s9qz8qa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125710,8 +126902,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.7";
-       sha256 = "0vwhxlycvmyczd412llpsjfl63f58bz4ad4fbhiiqw754d7qwaka";
+       version = "0.0.8";
+       sha256 = "1lqczihv7qjh1yy51qds4sg95riwaq1i0fd9mgn3kvhgbyx1r9nn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126373,6 +127565,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-bracket" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "hspec-bracket";
+       version = "0.0.1.0";
+       sha256 = "1d6262frfaghmq77nqsvcalm6w4jl7bn995bkphx461skhm8n300";
+       libraryHaskellDepends = [ base hspec ];
+       description = "The bracket definitions for Hspec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hspec-checkers" = callPackage
     ({ mkDerivation, base, checkers, hspec }:
      mkDerivation {
@@ -126691,6 +127894,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-megaparsec_2_1_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-expectations
+     , megaparsec
+     }:
+     mkDerivation {
+       pname = "hspec-megaparsec";
+       version = "2.1.0";
+       sha256 = "1x8qbih5ci9flc3b5c1g4cc8xgq504bw5q26cpkcnlaanrp01p5x";
+       libraryHaskellDepends = [
+         base containers hspec-expectations megaparsec
+       ];
+       testHaskellDepends = [ base hspec hspec-expectations megaparsec ];
+       description = "Utility functions for testing Megaparsec parsers with Hspec";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-meta" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
      , deepseq, directory, filepath, hspec-expectations, HUnit
@@ -127905,8 +129125,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.5";
-       sha256 = "0cw66j3firzgg5c7689y0kffgfq36yn4y17yprbbgv6kw4g7wid4";
+       version = "0.14.1.6";
+       sha256 = "09qynnmy5pq7yl8zic91wysrvjb1a1ibcjc9ry458wgbz236br4n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128517,8 +129737,8 @@ self: {
        pname = "htoml-megaparsec";
        version = "2.1.0.3";
        sha256 = "1fpvfrib4igcmwhfms1spxr2b78srhrh4hrflrlgdgdn9x1m5w1x";
-       revision = "1";
-       editedCabalFile = "07zw749vwqdr2lznxivfa22smq7k3h0innanl5wwyf29dq4gk464";
+       revision = "2";
+       editedCabalFile = "0vlyr965g1x5hk2mxlp8w4vv9ijq1gbm3i76slkl2aa38bf2i4ki";
        libraryHaskellDepends = [
          base composition-prelude containers deepseq megaparsec mtl text
          time unordered-containers vector
@@ -128654,27 +129874,23 @@ self: {
 
   "http-api-data" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
-     , bytestring, Cabal, cabal-doctest, containers, cookie, directory
-     , doctest, filepath, hashable, hspec, hspec-discover, http-types
-     , HUnit, nats, QuickCheck, quickcheck-instances, tagged, text
-     , time-compat, unordered-containers, uuid-types
+     , bytestring, containers, cookie, hashable, hspec, hspec-discover
+     , http-types, HUnit, nats, QuickCheck, quickcheck-instances, tagged
+     , text, time-compat, unordered-containers, uuid-types
      }:
      mkDerivation {
        pname = "http-api-data";
-       version = "0.4.1";
-       sha256 = "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv";
-       revision = "2";
-       editedCabalFile = "14gvcqdxxs9s74r73i5f5g2819dfyp05m0p4s729ynwm7c20fzfs";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.4.1.1";
+       sha256 = "1s93m2vh4c1p073xasvknnj3czbf8xsyg48kyznr4jwfhzi17anh";
        libraryHaskellDepends = [
          attoparsec attoparsec-iso8601 base base-compat bytestring
          containers cookie hashable http-types tagged text time-compat
          unordered-containers uuid-types
        ];
        testHaskellDepends = [
-         base base-compat bytestring cookie directory doctest filepath hspec
-         HUnit nats QuickCheck quickcheck-instances text time-compat
-         unordered-containers uuid-types
+         base base-compat bytestring cookie hspec HUnit nats QuickCheck
+         quickcheck-instances text time-compat unordered-containers
+         uuid-types
        ];
        testToolDepends = [ hspec-discover ];
        description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
@@ -129204,23 +130420,24 @@ self: {
 
   "http-io-streams" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
-     , bytestring, case-insensitive, containers, directory, HsOpenSSL
-     , io-streams, mtl, network, network-uri, openssl-streams, text
-     , transformers
+     , brotli-streams, bytestring, case-insensitive, containers
+     , directory, HsOpenSSL, io-streams, mtl, network, network-uri
+     , openssl-streams, text, transformers
      }:
      mkDerivation {
        pname = "http-io-streams";
-       version = "0.1.0.0";
-       sha256 = "0fxz7p5n7gd99xjq9rwm6x74qzpfp4wdmhj1hm08c7hkinizdvgv";
-       revision = "2";
-       editedCabalFile = "0l6afs6bhf5q73nmlmc37qi0anr1dlrz1x10m9ipfssnkb5hp25k";
+       version = "0.1.2.0";
+       sha256 = "1xn3lbpxsbl79qgaq9qmhlr78g44h0qpx0jyyb3z8q28z5p39wcy";
        libraryHaskellDepends = [
-         attoparsec base base64-bytestring blaze-builder bytestring
-         case-insensitive containers directory HsOpenSSL io-streams mtl
-         network network-uri openssl-streams text transformers
+         attoparsec base base64-bytestring blaze-builder brotli-streams
+         bytestring case-insensitive containers directory HsOpenSSL
+         io-streams mtl network network-uri openssl-streams text
+         transformers
        ];
        description = "HTTP client based on io-streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http-kinder" = callPackage
@@ -129770,17 +130987,17 @@ self: {
 
   "http2-client-grpc" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, case-insensitive
-     , data-default-class, http2, http2-client, http2-grpc-types, lens
-     , lifted-async, lifted-base, proto-lens, text, tls
+     , data-default-class, http2, http2-client, http2-grpc-types
+     , lifted-async, lifted-base, text, tls
      }:
      mkDerivation {
        pname = "http2-client-grpc";
-       version = "0.7.0.0";
-       sha256 = "1iy825wrn2ai2qpbkq4p9k2amc5rarr57b9sa2vm8vqdrclcvzn1";
+       version = "0.8.0.0";
+       sha256 = "1dprkdcylyvmvnhn94wzkxzgm6rx3bs4iv82xyg9y317d348pn12";
        libraryHaskellDepends = [
          async base binary bytestring case-insensitive data-default-class
-         http2 http2-client http2-grpc-types lens lifted-async lifted-base
-         proto-lens text tls
+         http2 http2-client http2-grpc-types lifted-async lifted-base text
+         tls
        ];
        testHaskellDepends = [ base ];
        description = "Implement gRPC-over-HTTP2 clients";
@@ -129789,16 +131006,49 @@ self: {
        broken = true;
      }) {};
 
-  "http2-grpc-types" = callPackage
+  "http2-grpc-proto-lens" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
-     , proto-lens, zlib
+     , http2-grpc-types, proto-lens, zlib
+     }:
+     mkDerivation {
+       pname = "http2-grpc-proto-lens";
+       version = "0.1.0.0";
+       sha256 = "0nhygkv1z7qrhnrgms3kzzay5h5qqrdi4081v896prwjl2xd2p4f";
+       libraryHaskellDepends = [
+         base binary bytestring case-insensitive http2-grpc-types proto-lens
+         zlib
+       ];
+       description = "Encoders based on `proto-lens` for gRPC over HTTP2";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http2-grpc-proto3-wire" = callPackage
+    ({ mkDerivation, base, binary, bytestring, case-insensitive
+     , http2-grpc-types, proto3-wire, zlib
+     }:
+     mkDerivation {
+       pname = "http2-grpc-proto3-wire";
+       version = "0.1.0.0";
+       sha256 = "00k7sm7z0q8k1zr3lcsyaciylk03c18cpdciqq33rfj6p7jwyphv";
+       libraryHaskellDepends = [
+         base binary bytestring case-insensitive http2-grpc-types
+         proto3-wire zlib
+       ];
+       description = "Encoders based on `proto3-wire` for gRPC over HTTP2";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "http2-grpc-types" = callPackage
+    ({ mkDerivation, base, binary, bytestring, case-insensitive, zlib
      }:
      mkDerivation {
        pname = "http2-grpc-types";
-       version = "0.4.0.0";
-       sha256 = "1h15smbncifn0c9n0dmwzpwr0fnb3jby9zch71rmsnsirclycsb5";
+       version = "0.5.0.0";
+       sha256 = "0p479rj60lpd9vc4hb0jybjb0f8gw42dpfc7h2nxapcihafr4knb";
        libraryHaskellDepends = [
-         base binary bytestring case-insensitive proto-lens zlib
+         base binary bytestring case-insensitive zlib
        ];
        description = "Types for gRPC over HTTP2 common for client and servers";
        license = stdenv.lib.licenses.bsd3;
@@ -130615,6 +131865,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-all" = callPackage
+    ({ mkDerivation, base, bits-extra, hw-aeson, hw-balancedparens
+     , hw-bits, hw-conduit, hw-diagnostics, hw-dsv, hw-dump
+     , hw-eliasfano, hw-excess, hw-fingertree, hw-fingertree-strict
+     , hw-hedgehog, hw-hspec-hedgehog, hw-int, hw-ip, hw-json
+     , hw-json-lens, hw-json-simd, hw-json-simple-cursor
+     , hw-json-standard-cursor, hw-mquery, hw-packed-vector, hw-parser
+     , hw-prim, hw-rankselect, hw-rankselect-base, hw-simd, hw-streams
+     , hw-string-parse, hw-succinct, hw-uri, hw-xml
+     }:
+     mkDerivation {
+       pname = "hw-all";
+       version = "0.0.0.1";
+       sha256 = "09yp4aq5jd6jkabk9hqmvq7hjigabwa5s8wfjl6pswgpadvqpsmm";
+       libraryHaskellDepends = [
+         base bits-extra hw-aeson hw-balancedparens hw-bits hw-conduit
+         hw-diagnostics hw-dsv hw-dump hw-eliasfano hw-excess hw-fingertree
+         hw-fingertree-strict hw-hedgehog hw-hspec-hedgehog hw-int hw-ip
+         hw-json hw-json-lens hw-json-simd hw-json-simple-cursor
+         hw-json-standard-cursor hw-mquery hw-packed-vector hw-parser
+         hw-prim hw-rankselect hw-rankselect-base hw-simd hw-streams
+         hw-string-parse hw-succinct hw-uri hw-xml
+       ];
+       description = "Demo library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hspec, hspec-discover
      , hw-bits, hw-excess, hw-prim, hw-rankselect-base, QuickCheck
@@ -130670,19 +131949,21 @@ self: {
      }) {};
 
   "hw-bits" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec
-     , hspec-discover, hw-hspec-hedgehog, hw-int, hw-prim
-     , hw-string-parse, vector
+    ({ mkDerivation, base, bitvec, bytestring, criterion, deepseq
+     , hedgehog, hspec, hspec-discover, hw-hspec-hedgehog, hw-int
+     , hw-prim, hw-string-parse, vector
      }:
      mkDerivation {
        pname = "hw-bits";
-       version = "0.7.0.8";
-       sha256 = "1yrck20adphrqai9nq8qxyi3l5y7gx9gjvr4vgdzg39mnl6057s4";
+       version = "0.7.1.0";
+       sha256 = "0r4jinz2h5zkjap6f6qrjgfq6xhaz3j34fjwawv8qvgc4qgq7bil";
        libraryHaskellDepends = [
-         base bytestring hw-int hw-prim hw-string-parse vector
+         base bitvec bytestring deepseq hw-int hw-prim hw-string-parse
+         vector
        ];
        testHaskellDepends = [
-         base bytestring hedgehog hspec hw-hspec-hedgehog hw-prim vector
+         base bitvec bytestring hedgehog hspec hw-hspec-hedgehog hw-prim
+         vector
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [ base criterion vector ];
@@ -130928,6 +132209,8 @@ self: {
        pname = "hw-eliasfano";
        version = "0.1.1.1";
        sha256 = "0fmbcddw13m49xvw8gnpjh246mw4k9h3hr94k956bi1vdvywyqv7";
+       revision = "1";
+       editedCabalFile = "1i5in5h9jnx4p873qv80jmdd1ak6yyyf70002j3lhxyaxx9byy7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131091,6 +132374,36 @@ self: {
        broken = true;
      }) {};
 
+  "hw-ip_2_4_0_1" = callPackage
+    ({ mkDerivation, appar, base, binary, bytestring, containers
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, iproute, lens, optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "hw-ip";
+       version = "2.4.0.1";
+       sha256 = "0ypz0m5vnwirxap17ws44a0q6vfbg48dk6n8gb9aii2hfcdapds0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         appar base containers generic-lens hedgehog hw-bits iproute text
+       ];
+       executableHaskellDepends = [
+         appar base binary bytestring generic-lens lens optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         appar base generic-lens hedgehog hspec hw-bits hw-hspec-hedgehog
+         text
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       description = "Library for manipulating IP addresses and CIDR blocks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-json" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
      , bits-extra, bytestring, criterion, directory, dlist, generic-lens
@@ -131177,16 +132490,24 @@ self: {
      }) {};
 
   "hw-json-lens" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, hw-json
-     , lens, scientific, word8
+    ({ mkDerivation, base, bytestring, containers, criterion, hedgehog
+     , hspec, hspec-discover, hw-balancedparens, hw-bits
+     , hw-hspec-hedgehog, hw-json, hw-json-standard-cursor, hw-prim
+     , lens, scientific, text, vector, word8
      }:
      mkDerivation {
        pname = "hw-json-lens";
-       version = "0.1.0.0";
-       sha256 = "1dbgxdbm8xp83hmdygi0y4h5lysacvdhms5g6i7p5i2w6prwqvid";
+       version = "0.2.0.0";
+       sha256 = "0byl0hqizqgpbajcgid0xca6jiqzm6syiz48jlywzg27niv3xdpd";
        libraryHaskellDepends = [
-         base bytestring containers hw-json lens scientific word8
+         base bytestring containers hw-json lens scientific text word8
+       ];
+       testHaskellDepends = [
+         base bytestring hedgehog hspec hw-balancedparens hw-bits
+         hw-hspec-hedgehog hw-json hw-json-standard-cursor hw-prim lens
+         vector
        ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base bytestring criterion hw-json lens
        ];
@@ -131461,31 +132782,6 @@ self: {
      }) {};
 
   "hw-prim" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, directory, exceptions
-     , ghc-prim, hedgehog, hspec, hspec-discover, hw-hspec-hedgehog
-     , mmap, QuickCheck, semigroups, transformers, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "hw-prim";
-       version = "0.6.2.36";
-       sha256 = "0anbwaz0hlskrlhp7nmzxzv7mgrs063d7qxhcv4iq9d46j90p031";
-       libraryHaskellDepends = [
-         base bytestring ghc-prim mmap semigroups transformers unliftio-core
-         vector
-       ];
-       testHaskellDepends = [
-         base bytestring directory exceptions hedgehog hspec
-         hw-hspec-hedgehog mmap QuickCheck semigroups transformers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion mmap semigroups transformers vector
-       ];
-       description = "Primitive functions and data types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hw-prim_0_6_2_38" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, directory
      , exceptions, ghc-prim, hedgehog, hspec, hspec-discover
      , hw-hspec-hedgehog, mmap, QuickCheck, semigroups, transformers
@@ -131493,8 +132789,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.2.38";
-       sha256 = "0669dkpwax4nh66c2ll4lb0fvzqhvpvirwnbzzskvykqkq1sj3kr";
+       version = "0.6.2.39";
+       sha256 = "06f4ygwmfb3ambzw972cninj9v0i7pir97qq0832a1mb19h4222g";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim mmap semigroups transformers
          unliftio-core vector
@@ -131509,7 +132805,6 @@ self: {
        ];
        description = "Primitive functions and data types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-prim-bits" = callPackage
@@ -131610,19 +132905,20 @@ self: {
      }) {};
 
   "hw-rankselect-base" = callPackage
-    ({ mkDerivation, base, bits-extra, criterion, hedgehog, hspec
-     , hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog, hw-int
-     , hw-prim, hw-string-parse, QuickCheck, vector
+    ({ mkDerivation, base, bits-extra, bitvec, criterion, hedgehog
+     , hspec, hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog
+     , hw-int, hw-prim, hw-string-parse, QuickCheck, vector
      }:
      mkDerivation {
        pname = "hw-rankselect-base";
-       version = "0.3.2.3";
-       sha256 = "1gkgbrpklzzfxs5b2w98l5zr48pvdc1l4zll77s2ya7lw0hc69m5";
+       version = "0.3.3.0";
+       sha256 = "17h4kmi9zcgm4sdpbmqh6rzygz7w0v95lfc6rmhc9a8bmmg30i5b";
        libraryHaskellDepends = [
-         base bits-extra hw-bits hw-int hw-prim hw-string-parse vector
+         base bits-extra bitvec hw-bits hw-int hw-prim hw-string-parse
+         vector
        ];
        testHaskellDepends = [
-         base bits-extra hedgehog hspec hw-bits hw-hedgehog
+         base bits-extra bitvec hedgehog hspec hw-bits hw-hedgehog
          hw-hspec-hedgehog hw-prim QuickCheck vector
        ];
        testToolDepends = [ hspec-discover ];
@@ -131788,25 +133084,26 @@ self: {
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.4.0.2";
-       sha256 = "122viqivv2csgrv144xc88xhafiq5vcsy545jpmg052d3kg1x4g2";
+       version = "0.5.0.0";
+       sha256 = "0cqrs19bd9yh67yczhhb1yf5dhcx2v6xikybd88vqwxdh51pxyyn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array attoparsec base bytestring cereal containers
          deepseq ghc-prim hw-balancedparens hw-bits hw-parser hw-prim
-         hw-rankselect hw-rankselect-base lens mmap mtl resourcet
+         hw-rankselect hw-rankselect-base lens mmap mtl resourcet text
          transformers vector word8
        ];
        executableHaskellDepends = [
-         attoparsec base bytestring generic-lens hw-balancedparens hw-bits
-         hw-prim hw-rankselect lens mmap mtl optparse-applicative resourcet
-         text vector
+         attoparsec base bytestring deepseq generic-lens hw-balancedparens
+         hw-bits hw-prim hw-rankselect lens mmap mtl optparse-applicative
+         resourcet text vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits
-         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base vector
+         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base text
+         vector
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
@@ -135561,8 +136858,8 @@ self: {
      }:
      mkDerivation {
        pname = "inflections";
-       version = "0.4.0.4";
-       sha256 = "0lspb0xpfj4q6wrzgss7pfjmr6xb5clj7y686vsairbkpcj3cfcl";
+       version = "0.4.0.5";
+       sha256 = "0fdq3iwa2vgb5k19ck6jxzh7f1xsf1kpwx4p3agpdpsrylrcanvb";
        libraryHaskellDepends = [
          base exceptions megaparsec text unordered-containers
        ];
@@ -135815,16 +137112,16 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "inline-c_0_8_0_1" = callPackage
+  "inline-c_0_9_0_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq
-     , regex-posix, template-haskell, transformers, unordered-containers
-     , vector
+     , regex-posix, split, template-haskell, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "inline-c";
-       version = "0.8.0.1";
-       sha256 = "1w8njc8k1g8kmpk8c8q5p7m8adgpv5v4k4643hsi5422jdaq0g3i";
+       version = "0.9.0.0";
+       sha256 = "086kqca1vcxhi7wdzmdv3rjwh9k50k3wj4rzig1yjz3x12d0h6q6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -135833,7 +137130,7 @@ self: {
        ];
        testHaskellDepends = [
          ansi-wl-pprint base containers hashable hspec parsers QuickCheck
-         raw-strings-qq regex-posix template-haskell transformers
+         raw-strings-qq regex-posix split template-haskell transformers
          unordered-containers vector
        ];
        description = "Write Haskell source files including C code inline. No FFI required.";
@@ -135870,6 +137167,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-cpp_0_4_0_1" = callPackage
+    ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "inline-c-cpp";
+       version = "0.4.0.1";
+       sha256 = "1bsmm6sqxjzlk6mdq5a8vwsc1cy0ag0lvajdpsbqq7vradj54yqq";
+       libraryHaskellDepends = [
+         base containers inline-c safe-exceptions template-haskell
+       ];
+       testHaskellDepends = [
+         base containers hspec inline-c safe-exceptions
+       ];
+       description = "Lets you embed C++ code into Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inline-c-win32" = callPackage
     ({ mkDerivation, base, containers, inline-c, template-haskell
      , Win32
@@ -135976,6 +137292,30 @@ self: {
 
   "insert-ordered-containers" = callPackage
     ({ mkDerivation, aeson, base, base-compat, hashable, lens
+     , QuickCheck, semigroupoids, semigroups, tasty, tasty-quickcheck
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "insert-ordered-containers";
+       version = "0.2.2";
+       sha256 = "1ikjhg0pdfpnx1d645r92k2dwlk7y935j1w5lcsk23nzpwhbkxja";
+       revision = "1";
+       editedCabalFile = "1hlinc8nnjlzc6ds3wf8jvkihpcbhz2dk0rqxq1ns0c5zbbhnylq";
+       libraryHaskellDepends = [
+         aeson base base-compat hashable lens semigroupoids semigroups text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat hashable lens QuickCheck semigroupoids
+         semigroups tasty tasty-quickcheck text transformers
+         unordered-containers
+       ];
+       description = "Associative containers retaining insertion order for traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "insert-ordered-containers_0_2_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, hashable, lens
      , optics-core, optics-extra, QuickCheck, semigroupoids, semigroups
      , tasty, tasty-quickcheck, text, transformers, unordered-containers
      }:
@@ -135994,6 +137334,7 @@ self: {
        ];
        description = "Associative containers retaining insertion order for traversals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inserts" = callPackage
@@ -136934,6 +138275,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "intro_0_6_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, dlist
+     , extra, hashable, lens, mtl, QuickCheck, safe, text, transformers
+     , unordered-containers, writer-cps-mtl
+     }:
+     mkDerivation {
+       pname = "intro";
+       version = "0.6.0.1";
+       sha256 = "1kka6dnlyqppjx9ykk3zixfyslr8cf4ja6sa2hgq6h69mmsicp67";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable mtl safe
+         text transformers unordered-containers writer-cps-mtl
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable lens mtl
+         QuickCheck safe text transformers unordered-containers
+         writer-cps-mtl
+       ];
+       description = "Safe and minimal prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "intro-prelude" = callPackage
     ({ mkDerivation, intro }:
      mkDerivation {
@@ -137037,6 +138401,8 @@ self: {
        pname = "invariant";
        version = "0.5.3";
        sha256 = "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp";
+       revision = "1";
+       editedCabalFile = "0sjy375npw6lqcckhyicizzv91v8jh3ca5yjkygiaj22bw5k8c74";
        libraryHaskellDepends = [
          array base bifunctors comonad containers contravariant ghc-prim
          profunctors StateVar stm tagged template-haskell th-abstraction
@@ -137250,7 +138616,7 @@ self: {
        sha256 = "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la";
        revision = "1";
        editedCabalFile = "0n0qs5lgryh3zxy73j3qbpnxand43yd2bj6pclvyii8apqqp901a";
-       configureFlags = [ "-fNoInteractiveTests" ];
+       configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder network primitive
          process text time transformers vector zlib-bindings
@@ -137273,8 +138639,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
-       revision = "1";
-       editedCabalFile = "00zbqcxfkrxidrli5qd8jvdw0jkyvcb3bwv29w8nbk9cr8vmmfl3";
+       revision = "2";
+       editedCabalFile = "1pvw39f0vrzb5hdx6nqpdg4ccsxa59vwjspfjkh6vvw1zwmidgja";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -137444,7 +138810,7 @@ self: {
        broken = true;
      }) {};
 
-  "ip_1_6_0" = callPackage
+  "ip_1_7_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, byteslice, bytesmith
      , bytestring, criterion, deepseq, doctest, hashable, hspec
      , hspec-discover, HUnit, natural-arithmetic, primitive, QuickCheck
@@ -137453,8 +138819,10 @@ self: {
      }:
      mkDerivation {
        pname = "ip";
-       version = "1.6.0";
-       sha256 = "19qs04lcjpzcdl9b1yi6clc72w25i0qc04nm877bgy3sqp7qj2zm";
+       version = "1.7.0";
+       sha256 = "18m8586ns6kijvk8wwflkhr9apki1h0gd7rkxd4w6qq66x034hk2";
+       revision = "1";
+       editedCabalFile = "1yjz4822vq22zh8mb96ccplqmm6rxrvy334n34gwyq0cfddsilr0";
        libraryHaskellDepends = [
          aeson attoparsec base byteslice bytesmith bytestring deepseq
          hashable natural-arithmetic primitive small-bytearray-builder text
@@ -137463,7 +138831,7 @@ self: {
        testHaskellDepends = [
          attoparsec base byteslice bytestring doctest hspec HUnit QuickCheck
          quickcheck-classes tasty tasty-hunit tasty-quickcheck text
-         text-short wide-word
+         text-short vector wide-word
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
@@ -137493,8 +138861,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2location";
-       version = "8.1.0";
-       sha256 = "07n5xnspl318hrmff4gr274zpgszgviilwhjd7vdrhm1sq9sdir8";
+       version = "8.2.0";
+       sha256 = "01ia5647y608xr5kqkxaamhaxs39k3x81wpj8aqzf24mirkalf23";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Location Haskell package for IP geolocation";
        license = stdenv.lib.licenses.mit;
@@ -137506,8 +138874,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2proxy";
-       version = "2.1.0";
-       sha256 = "0qcmqy8p13hg9aih8m9w7qpbr6zcbvgc9y6bzh2cqm2sbx7ksvqm";
+       version = "2.2.0";
+       sha256 = "12j8jd0ir24xgghvmac2npf9zqfbfq7fwj1ni2xdi8p673k3d0kd";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Proxy Haskell package for proxy detection";
        license = stdenv.lib.licenses.mit;
@@ -137661,8 +139029,8 @@ self: {
      }:
      mkDerivation {
        pname = "iproute";
-       version = "1.7.7";
-       sha256 = "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6";
+       version = "1.7.8";
+       sha256 = "0k2qzdw36qp9qs2j0bxsn95ymk3wpjvw6s5c1535aw677gw19bad";
        libraryHaskellDepends = [
          appar base byteorder containers network
        ];
@@ -139025,8 +140393,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset";
-       version = "1.1.1";
-       sha256 = "1wjv6jfkv5z5j3af6dg7zlbir780mshq01x2wzlyav5dwr40di3m";
+       version = "1.1.1.1";
+       sha256 = "1d3h53sq8i8azzr71yi4h5zma2bb2f623gpfw25x2kd4slhpkrgf";
        libraryHaskellDepends = [
          base containers safecopy syb syb-with-class template-haskell
        ];
@@ -139763,6 +141131,21 @@ self: {
        broken = true;
      }) {};
 
+  "jira-wiki-markup" = callPackage
+    ({ mkDerivation, base, parsec, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "jira-wiki-markup";
+       version = "0.1.1";
+       sha256 = "1a6vk4aryppay87fyirxprwklqvpjh6nj9x2k9s3ybrwhapf1wdx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec text ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [ base parsec tasty tasty-hunit text ];
+       description = "Handle Jira wiki markup";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "jmacro" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , haskell-src-exts, haskell-src-meta, mtl, parseargs, parsec
@@ -139771,10 +141154,8 @@ self: {
      }:
      mkDerivation {
        pname = "jmacro";
-       version = "0.6.16";
-       sha256 = "1kyrvxg5fwwrwv72aby694ar071yl2xmnfkjyrwi5wbc7hsb8rda";
-       revision = "1";
-       editedCabalFile = "0g7fn738ljrhh6ydmvkigj9znhh2szdvp79kqxw62m4ryqan23qq";
+       version = "0.6.17";
+       sha256 = "14vmnaqr3lhcj7y5rj4jgm2w89kkznfksy53pinmc1xq1bd8b7px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140039,8 +141420,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.8.1.0";
-       sha256 = "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl";
+       version = "0.8.2.0";
+       sha256 = "0kv2kmws9kwymx8pm6j8nnlk1d8pwv22hw2ka2kwlipjvmb7mld4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140660,8 +142041,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.6";
-       sha256 = "1j5x5ibax81348m4m1fv8pz0044gbvlskgh9gpn5dn8d0cpd7vf7";
+       version = "1.0.7";
+       sha256 = "0rjszis4l0sb15v2gjiwnq6avl4bkqp186v449ms4qwbbqz11sc7";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -140928,8 +142309,8 @@ self: {
        pname = "json-rpc-server";
        version = "0.2.6.0";
        sha256 = "1xfcxbwri9a5p3xxbc4kvr1kqdnm4c1axd8kgb8dglabffbrk7hn";
-       revision = "6";
-       editedCabalFile = "1rfabr679pk605v141gm0ynbp3l6x87s3ip3wa49lwnpab495mxs";
+       revision = "7";
+       editedCabalFile = "1fjkl0p5glkk01jny6ar62356pmp2a2vf9v1jq67ly3y14dcvywq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -141229,10 +142610,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonpath";
-       version = "0.1.0.1";
-       sha256 = "0wp5516g33spb9ilphjkzamr88xl64fb6y9zjfci1kac5vkl4qqk";
-       revision = "3";
-       editedCabalFile = "01x3mx3l00cwjkf9am6aaivmccpyzj85cjww7djy3dzh63m3ak3d";
+       version = "0.1.0.2";
+       sha256 = "1b889p98z2sq93n996p0r892dsvy4is2c10xwpag1vbr8dlr614c";
        libraryHaskellDepends = [
          aeson attoparsec base text unordered-containers vector
        ];
@@ -141325,6 +142704,8 @@ self: {
        pname = "jsonschema-gen";
        version = "0.4.1.0";
        sha256 = "1ssgci0nnpdj5sgw7wghnca8ndx20azb5z7svbxk6a1gmh9pfndj";
+       revision = "1";
+       editedCabalFile = "0fiwjdyp4fmw662x7bcdp1wglxxm39l6ivshkb65zmczc3szac5d";
        libraryHaskellDepends = [
          aeson base bytestring containers scientific tagged text time
          unordered-containers vector
@@ -141753,8 +143134,8 @@ self: {
        pname = "jwt";
        version = "0.10.0";
        sha256 = "1a1fqmqfm2ajq75mq2x6la8jb2g5hzl4dk8cgx9xsrikp8c7n75w";
-       revision = "1";
-       editedCabalFile = "0agwck6lidcxlixk5jgw0pw162xrsnlsgj8y8jwlyhjpqfq52ifi";
+       revision = "2";
+       editedCabalFile = "1ld5dh4x3sb28416bk3k39k46vmx1s7agk17v7cb5cxam4hj3c1c";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite http-types memory
          network-uri scientific semigroups text time unordered-containers
@@ -141825,6 +143206,22 @@ self: {
        broken = true;
      }) {};
 
+  "kafka-client-sync" = callPackage
+    ({ mkDerivation, base, containers, hw-kafka-client, monad-parallel
+     , text
+     }:
+     mkDerivation {
+       pname = "kafka-client-sync";
+       version = "0.1.1.0";
+       sha256 = "0m8y3sinyl7f6srqk0q9yvj6f896y70zisrz4qa5qfnjik0c8ds1";
+       libraryHaskellDepends = [ base containers hw-kafka-client ];
+       testHaskellDepends = [ base hw-kafka-client monad-parallel text ];
+       description = "Synchronous Kafka Client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kafka-device" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, cereal, linear
      , milena, mtl
@@ -143128,6 +144525,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "key-vault" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers, key, util
+     }:
+     mkDerivation {
+       pname = "key-vault";
+       version = "0.1.0.0";
+       sha256 = "1cgsrfckph7zc5iwxjpcglz8vjk5ligmmp2rhp4nrc14njm06v8x";
+       libraryHaskellDepends = [
+         base base-unicode-symbols containers key util
+       ];
+       description = "Store of values of arbitrary types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "keycloak-hs" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, base64-bytestring
      , bytestring, containers, exceptions, hslogger, http-api-data
@@ -143136,13 +144547,16 @@ self: {
      }:
      mkDerivation {
        pname = "keycloak-hs";
-       version = "0.2.0";
-       sha256 = "1mavfrgvvc1jg8y9gbv9jdmnd0ml71adaib1g9appnarsiqd0gkp";
+       version = "1.1.1";
+       sha256 = "1ycr1q7sfr68zbx1jxnfv0c19w2nv2rxczi5aixd01ck8v1kx798";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-casing base base64-bytestring bytestring containers
          exceptions hslogger http-api-data http-client http-types jwt lens
          mtl safe string-conversions text word8 wreq
        ];
+       executableHaskellDepends = [ base ];
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -143154,8 +144568,8 @@ self: {
        pname = "keycode";
        version = "0.2.2";
        sha256 = "046k8d1h5wwadf5z4pppjkc3g7v2zxlzb06s1xgixc42y5y41yan";
-       revision = "4";
-       editedCabalFile = "081spzhywygv90i7jwhbcm7p1aqz6qqph02ddxvqncghar5kjc7n";
+       revision = "5";
+       editedCabalFile = "17fhzhlbqgd5pqp357n3z0k176q79c2jxvpwqryl3gbad3s8qsfw";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -143619,15 +145033,17 @@ self: {
 
   "knead" = callPackage
     ({ mkDerivation, base, bool8, comfort-array, llvm-extra, llvm-tf
-     , storable-record, storable-tuple, tfp, transformers, utility-ht
+     , prelude-compat, storable-enum, storable-record, storable-tuple
+     , tagged, tfp, transformers, utility-ht
      }:
      mkDerivation {
        pname = "knead";
-       version = "0.4";
-       sha256 = "1p1zfa2mihy2di5wjb189mdq6kygr47y19194ycxdx47sh8y6s6y";
+       version = "0.4.1";
+       sha256 = "07jjs6qx58whwh61n4avrbi6krpl3qawx3mp8wacbjyrjfskcyln";
        libraryHaskellDepends = [
-         base bool8 comfort-array llvm-extra llvm-tf storable-record
-         storable-tuple tfp transformers utility-ht
+         base bool8 comfort-array llvm-extra llvm-tf prelude-compat
+         storable-enum storable-record storable-tuple tagged tfp
+         transformers utility-ht
        ];
        description = "Repa-like array processing using LLVM JIT";
        license = stdenv.lib.licenses.bsd3;
@@ -144290,8 +145706,8 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.9";
-       sha256 = "0prkaxa9f03m5a333zsl75jdv2hi48w9ghv1ff1r68gnqf4hbvlr";
+       version = "1.0.10";
+       sha256 = "13nvrsw29l25ysln0di0bd5lrwnwwp0mkwvymdgf2kc2jg7x46dj";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
@@ -144461,12 +145877,12 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-options";
-       version = "1.0.0.0";
-       sha256 = "1cpd5s0m10d09mqbpy1qxnrpy8np21ci6fcd09d01xj7lx8p2yzx";
+       version = "1.1.0.0";
+       sha256 = "0ihbwml2l4jyd3h2kj5qz7fxzzkq47xk4fkybhp1rnfzxjlqfib3";
        libraryHaskellDepends = [
          base containers funspection mtl read-bounded
        ];
-       description = "Declarative command-line parser using type-driven pattern matching";
+       description = "Declarative command-line parser with type-driven pattern matching";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -145398,8 +146814,8 @@ self: {
     ({ mkDerivation, base, pretty }:
      mkDerivation {
        pname = "language-c99";
-       version = "0.1.1";
-       sha256 = "1a6n9n3jzplwgm6136rvhm6zmkvnhxz0nw1bfplikg8kkfgbp5al";
+       version = "0.1.2";
+       sha256 = "0k4a1chca328sa3w7aghhi446kqfrbp6h5jaj2rddd8f8qjz5pag";
        libraryHaskellDepends = [ base pretty ];
        description = "An implementation of the C99 AST that strictly follows the standard";
        license = stdenv.lib.licenses.mit;
@@ -146147,6 +147563,17 @@ self: {
        broken = true;
      }) {};
 
+  "language-protobuf" = callPackage
+    ({ mkDerivation, base, megaparsec, text }:
+     mkDerivation {
+       pname = "language-protobuf";
+       version = "1.0";
+       sha256 = "1qg9c862srf7klcan53sa92ylnfx6xz8b1jqgw6rmpznfsw4h2c8";
+       libraryHaskellDepends = [ base megaparsec text ];
+       description = "Language definition and parser for Protocol Buffers";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "language-puppet" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, async, attoparsec, base
      , base16-bytestring, bytestring, case-insensitive, containers
@@ -146664,6 +148091,8 @@ self: {
        pname = "latex-formulae-hakyll";
        version = "0.2.0.4";
        sha256 = "0q16p3ccql38ri3rnbsx54vj6jn154j3m6vic64zi4nk54g0sc5f";
+       revision = "1";
+       editedCabalFile = "08502482n0szzg32bcrdyhs853hlmx3r14bpjww1fv2dijk5asrw";
        libraryHaskellDepends = [
          base hakyll latex-formulae-image latex-formulae-pandoc lrucache
          pandoc-types
@@ -146682,6 +148111,8 @@ self: {
        pname = "latex-formulae-image";
        version = "0.1.1.4";
        sha256 = "0s3r0qd235lgmw4g5j52r2d97zsr3nd0ikzffgpwigvcbzshddv0";
+       revision = "1";
+       editedCabalFile = "0m15dyrxala5dh5sh228bsrfa3nym9wd719byj19vfl4i2nabw9d";
        libraryHaskellDepends = [
          base directory errors filepath JuicyPixels process temporary
          transformers
@@ -147240,8 +148671,8 @@ self: {
      }:
      mkDerivation {
        pname = "ldap-client";
-       version = "0.3.0";
-       sha256 = "0fii1yi3mn1dqvzbsx63fqrb53v81a7d2gqn3xma8v9vsp9nxv7v";
+       version = "0.4.0";
+       sha256 = "1n15yab8mg12f80rq47ansdxmxj4n6symx11ihy2m4bjn7yq31mk";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring connection
          containers fail network semigroups stm text
@@ -148150,22 +149581,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens-regex-pcre_1_0_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, gauge, hspec, lens, pcre-heavy
-     , template-haskell, text
+  "lens-regex-pcre_1_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, gauge, hspec, lens
+     , pcre-heavy, pcre-light, template-haskell, text
      }:
      mkDerivation {
        pname = "lens-regex-pcre";
-       version = "1.0.0.1";
-       sha256 = "0g103a415npasr9a8ay1bs1f7m24w8f53h9x3wrpvvbaf0v3z74i";
+       version = "1.1.0.0";
+       sha256 = "06540l3rylgpdhfdvd9nwkf6v8hyky4l3igs45zblrmhz4sdql5i";
        libraryHaskellDepends = [
-         base bytestring lens pcre-heavy template-haskell text
+         base bytestring containers lens pcre-heavy pcre-light
+         template-haskell text
        ];
        testHaskellDepends = [
-         base bytestring hspec lens pcre-heavy template-haskell text
+         base bytestring containers hspec lens pcre-heavy pcre-light
+         template-haskell text
        ];
        benchmarkHaskellDepends = [
-         base bytestring gauge lens pcre-heavy template-haskell text
+         base bytestring containers gauge lens pcre-heavy pcre-light
+         template-haskell text
        ];
        description = "A lensy interface to regular expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -148405,8 +149839,8 @@ self: {
        pname = "lenz-template";
        version = "0.2.0.0";
        sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn";
-       revision = "3";
-       editedCabalFile = "1ydlnn3cppjr3c0ink0k0668dmxk057gild2k84j8f27hcyb0w2j";
+       revision = "5";
+       editedCabalFile = "0l75fkl778r9kgigyiijnkw2wn2kd4xkpjj7s3bkswg75dvnrbk0";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -148714,23 +150148,26 @@ self: {
      }) {};
 
   "libarchive" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, chs-cabal
-     , composition-prelude, criterion, deepseq, directory, dlist
-     , filepath, hspec, libarchive, mtl, tar, tar-conduit, temporary
-     , unix-compat
+    ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
+     , composition-prelude, criterion, deepseq, dir-traverse, directory
+     , dlist, filepath, hspec, libarchive, mtl, tar, tar-conduit
+     , temporary, unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "2.0.0.2";
-       sha256 = "126cq8sg2siirxkg1718n86xhlqxa1a96339dm1mw9r68ckj2jd0";
-       setupHaskellDepends = [ base chs-cabal ];
+       version = "2.1.2.0";
+       sha256 = "00j1xrfwcmfb2dhz04dy4p2aryp751mmp6hpdcbm2xdhzdxrgkjf";
+       setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
          unix-compat
        ];
        libraryPkgconfigDepends = [ libarchive ];
        libraryToolDepends = [ c2hs ];
-       testHaskellDepends = [ base bytestring directory filepath hspec ];
+       testHaskellDepends = [
+         base bytestring composition-prelude dir-traverse directory filepath
+         hspec mtl temporary
+       ];
        benchmarkHaskellDepends = [
          base bytestring criterion tar tar-conduit temporary
        ];
@@ -149596,8 +151033,8 @@ self: {
     ({ mkDerivation, base, bytestring, conduit, resourcet }:
      mkDerivation {
        pname = "libyaml";
-       version = "0.1.1.0";
-       sha256 = "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va";
+       version = "0.1.1.1";
+       sha256 = "0qjq0w8gqzzg3lf53mg9avkdd6z609kaacyyzjz0rbjjks4gl1db";
        libraryHaskellDepends = [ base bytestring conduit resourcet ];
        description = "Low-level, streaming YAML interface";
        license = stdenv.lib.licenses.bsd3;
@@ -149702,20 +151139,19 @@ self: {
 
   "lift-generics" = callPackage
     ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
-     , hspec, template-haskell
+     , hspec, hspec-discover, template-haskell
      }:
      mkDerivation {
        pname = "lift-generics";
-       version = "0.1.2";
-       sha256 = "0kk05dp6n93jgxq4x1lrckjrca6lrwa7qklr3vpzc6iyrlbvv7qf";
-       revision = "3";
-       editedCabalFile = "0ackkmjfqxyxhy9w03zlqvmi68la9yv4jf0sc8qdhyr5y30ac68s";
+       version = "0.1.3";
+       sha256 = "0r2rbik5lh5x8psy5cblzd1ly1ybizdcyjdg8n79m7k3rqp2w6v7";
        libraryHaskellDepends = [
          base generic-deriving ghc-prim template-haskell
        ];
        testHaskellDepends = [
          base base-compat generic-deriving hspec template-haskell
        ];
+       testToolDepends = [ hspec-discover ];
        description = "GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -149928,22 +151364,24 @@ self: {
      }) {};
 
   "lightstep-haskell" = callPackage
-    ({ mkDerivation, async, base, chronos, containers, http2-client
-     , http2-client-grpc, lens, mtl, proto-lens, proto-lens-runtime
-     , safe-exceptions, stm, text, transformers, unordered-containers
+    ({ mkDerivation, async, base, bytestring, chronos, containers
+     , http-types, http2-client, http2-client-grpc
+     , http2-grpc-proto-lens, lens, mtl, proto-lens
+     , proto-lens-protobuf-types, proto-lens-runtime, safe-exceptions
+     , stm, text, transformers, unordered-containers, wai
      }:
      mkDerivation {
        pname = "lightstep-haskell";
-       version = "0.2.0";
-       sha256 = "1ayb6s4mx9h3vywl4vrldqsh62k9m9s8z0lj62ws8hy39djhdy4p";
+       version = "0.4.4";
+       sha256 = "0y1pvb4ic9q3ma9vjlsg0spw3wq6ll9za8nys88083bm08098wfd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base chronos containers http2-client http2-client-grpc lens
-         mtl proto-lens proto-lens-runtime safe-exceptions stm text
-         transformers unordered-containers
+         async base bytestring chronos containers http-types http2-client
+         http2-client-grpc http2-grpc-proto-lens lens mtl proto-lens
+         proto-lens-protobuf-types proto-lens-runtime safe-exceptions stm
+         text transformers unordered-containers wai
        ];
-       executableHaskellDepends = [ async base http2-client text ];
        description = "LightStep OpenTracing client library";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -150180,13 +151618,13 @@ self: {
      }) {};
 
   "line-drawing" = callPackage
-    ({ mkDerivation, base, hspec }:
+    ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
        pname = "line-drawing";
-       version = "0.1.0.0";
-       sha256 = "19hdx810mraygd1li8bw9l3i18ygbzmyxsqkyvh6q90saayglr4f";
+       version = "0.4.0.0";
+       sha256 = "0f0dj3hr1b9vryrmd88ghhn0jrv3nn5yhl5kj1bwwl99z59ww7bp";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base hspec QuickCheck ];
        description = "raster line drawing";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -150789,8 +152227,8 @@ self: {
        pname = "linux-evdev";
        version = "0.3.2";
        sha256 = "04ajbcvn8i2xa678f3sgbbrn00rxm1k86wrj9n6w2r8h2yda9s9r";
-       revision = "1";
-       editedCabalFile = "0s7yb9wwh5rp4v2phm5lih29f033rgffldhkm9i2mxsag2qbfg0k";
+       revision = "2";
+       editedCabalFile = "1gnjyc8q7xq60pm362hwibwh97jw8pv66xvqv88cm9nbh0ccf6q2";
        libraryHaskellDepends = [ base bytestring time unix ];
        description = "Bindings to Linux evdev input device interface";
        license = stdenv.lib.licenses.bsd3;
@@ -151849,18 +153287,20 @@ self: {
      }) {};
 
   "llvm-extra" = callPackage
-    ({ mkDerivation, base, bool8, containers, cpuid, llvm-tf, non-empty
-     , prelude-compat, tfp, transformers, unsafe, utility-ht
+    ({ mkDerivation, base, bool8, containers, cpuid, enumset, llvm-tf
+     , non-empty, prelude-compat, storable-enum, tagged, tfp
+     , transformers, unsafe, utility-ht
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.8.0.3";
-       sha256 = "1cqxfrjhfgliwxjgbmjkbpcy4dlv0fwwqzdd9jd8fiq96njfqfvp";
+       version = "0.8.3";
+       sha256 = "08d1ywx1m82qdyrcg607mbi7szg7mg4vszbnz4i3rgj9snlqj8hr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bool8 containers cpuid llvm-tf non-empty prelude-compat tfp
-         transformers unsafe utility-ht
+         base bool8 containers cpuid enumset llvm-tf non-empty
+         prelude-compat storable-enum tagged tfp transformers unsafe
+         utility-ht
        ];
        description = "Utility functions for the llvm interface";
        license = stdenv.lib.licenses.bsd3;
@@ -151872,8 +153312,8 @@ self: {
     ({ mkDerivation, base, enumset, LLVM }:
      mkDerivation {
        pname = "llvm-ffi";
-       version = "3.8.1.2";
-       sha256 = "04k2ag8nh54f9hh3blgyn1xa88hfv6c6ps51i5b84g4jdvja7f5v";
+       version = "3.9.1";
+       sha256 = "0gyda3bh43iib5isp6fd0rsf1rxkgidnmxrdm31xwjc0qnz71yf2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base enumset ];
@@ -152177,8 +153617,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.1.1.1";
-       sha256 = "1rqszg06r8md7cgw2zgf30yvri4isndj608r9l8grqfnyi4lfjay";
+       version = "3.9";
+       sha256 = "02x2pq4p9dgal6fri9w1r6dj37m0l8jh0gq6ry2xq0rmq2mz70w4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -152678,6 +154118,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "log-domain_0_13" = callPackage
+    ({ mkDerivation, base, binary, bytes, Cabal, cabal-doctest, cereal
+     , comonad, deepseq, distributive, doctest, generic-deriving
+     , hashable, semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "log-domain";
+       version = "0.13";
+       sha256 = "0isl8rs0k5088sxapfh351sff3lh7r1qkgwz8lmai3gvqasb3avv";
+       revision = "1";
+       editedCabalFile = "0wcy54axpnym55f1skagnbmdpw6y2ys6zvn99x8i6qcfzw00i6l9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base binary bytes cereal comonad deepseq distributive hashable
+         semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Log-domain arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log-effect" = callPackage
     ({ mkDerivation, base, bytestring, extensible-effects
      , monad-control, text, transformers-base
@@ -152747,6 +154211,8 @@ self: {
        pname = "log-postgres";
        version = "0.7.1.1";
        sha256 = "1mx43qbv9rbzzkxz7qgwgp26aq00a97rwka7a823l5hm5hamx74k";
+       revision = "1";
+       editedCabalFile = "012vyqrw0ncwxdrlbcb97x9lcmaizxspfc9dd5jxq8dfmqw5xgq7";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          hpqtypes http-client lifted-base log-base mtl semigroups split text
@@ -152956,8 +154422,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.7";
-       sha256 = "1m8f9s6v1xxfp3li1yjfwdhn2an29lk07ijqcrb1db8chrlx93vd";
+       version = "1.3.8";
+       sha256 = "0ksavyvcz0c9fadik9yksm4zskzh313srf3713migwrdza5ci5q3";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl prettyprinter
          semigroups stm stm-delay text time transformers transformers-base
@@ -153794,8 +155260,8 @@ self: {
      }:
      mkDerivation {
        pname = "lp-diagrams";
-       version = "2.1.1";
-       sha256 = "0dynm0kib4lgyz00gbg4gi0ds5cgpbdx40davk53cknwxv7icri0";
+       version = "2.1.2";
+       sha256 = "0q0qzij6j0nv01hhrd417swyyf5vhgi2m83bmk98dvrd0309l9xl";
        libraryHaskellDepends = [
          base containers gasp graphviz labeled-tree lens mtl parsek
          polynomials-bernstein process reflection text typography-geometry
@@ -153923,7 +155389,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_8_0_0" = callPackage
+  "lsp-test_0_8_2_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -153932,8 +155398,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.8.0.0";
-       sha256 = "1w8ag6v8mdgxynz32nzxmvfaar68abmsh3fchdfbhz2ky07p6085";
+       version = "0.8.2.0";
+       sha256 = "1762avrs4fkkd9v8i76giaf6km5f3lds5laickn7la7zq7ysh8a3";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -154168,10 +155634,8 @@ self: {
      }:
      mkDerivation {
        pname = "lucid";
-       version = "2.9.11";
-       sha256 = "13xz21hf9ywbyqwm33z8pfrjq03rzffhqswi30xsi13rrawj99cc";
-       revision = "1";
-       editedCabalFile = "10k3x9cn4a23kqk909xiv8phkfgagf7p16qlfpr9swn1dn4xasgf";
+       version = "2.9.12";
+       sha256 = "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers hashable mmorph mtl text
          transformers unordered-containers
@@ -154324,6 +155788,23 @@ self: {
        broken = true;
      }) {objc = null;};
 
+  "lukko" = callPackage
+    ({ mkDerivation, async, base, bytestring, filepath, singleton-bool
+     , tasty, tasty-expected-failure, tasty-hunit, temporary
+     }:
+     mkDerivation {
+       pname = "lukko";
+       version = "0.1.1.1";
+       sha256 = "13wf2vgi3bq48h757qs0zi1sxa6ip9pk8fxfiq7qrrb9p5silcpj";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         async base bytestring filepath singleton-bool tasty
+         tasty-expected-failure tasty-hunit temporary
+       ];
+       description = "File locking";
+       license = "GPL-2.0-or-later AND BSD-3-Clause";
+     }) {};
+
   "luminance" = callPackage
     ({ mkDerivation, base, containers, contravariant, dlist, gl, linear
      , mtl, resourcet, semigroups, transformers, vector, void
@@ -154598,8 +156079,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.3.0.0";
-       sha256 = "1gav8x226703k7jsjbw4g6y74xh2id5adlnqb7hpwv314d45v76a";
+       version = "0.3.0.1";
+       sha256 = "0rq7kafqnv16313ymcq6vcslgf4ls4zjw7n5i73vp7iwsh80pl5d";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -155101,6 +156582,28 @@ self: {
        broken = true;
      }) {};
 
+  "mad-props" = callPackage
+    ({ mkDerivation, base, containers, lens, logict, MonadRandom, mtl
+     , psqueues, random, random-shuffle, raw-strings-qq, transformers
+     }:
+     mkDerivation {
+       pname = "mad-props";
+       version = "0.2.1.0";
+       sha256 = "0cz01majj5m0a9wszdzlz4arzf3xzppi835k2xrkd3hpzl2fxpiv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers lens logict MonadRandom mtl psqueues random
+         random-shuffle raw-strings-qq transformers
+       ];
+       executableHaskellDepends = [
+         base containers lens logict MonadRandom mtl psqueues random
+         random-shuffle raw-strings-qq transformers
+       ];
+       description = "Monadic DSL for building constraint solvers using basic propagators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "madlang" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, Cabal, cli-setup
      , composition-prelude, containers, criterion, directory, file-embed
@@ -155111,8 +156614,8 @@ self: {
      }:
      mkDerivation {
        pname = "madlang";
-       version = "4.0.2.15";
-       sha256 = "0fv2p6f6gj9jg72kmlf56nymvs3sf6hn98jh4q0ighn6k5dkhbf3";
+       version = "4.0.2.16";
+       sha256 = "0n4y2s5m854akdy482wmhh3m5s77mgq1q91619lc2lsfg21xr80w";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
@@ -156047,8 +157550,8 @@ self: {
      }:
      mkDerivation {
        pname = "mandrill";
-       version = "0.5.3.6";
-       sha256 = "1jvgxhc3x7867cryvsbpj7hks9syhpqbwyh4y0v6b0yp0xil8qrl";
+       version = "0.5.4.0";
+       sha256 = "0cp0xd4by5ml1526lybqvxr1g5ccgskmj9ibl3xnrcmkbi9a14y6";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring containers
          email-validate http-client http-client-tls http-types microlens-th
@@ -156255,8 +157758,8 @@ self: {
        pname = "map-syntax";
        version = "0.3";
        sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
-       revision = "1";
-       editedCabalFile = "1qfjficc7b6hbg44r3czk8iqgkjmgnp14wmzcdcz4ai93kx8dp44";
+       revision = "2";
+       editedCabalFile = "1cpiarychx4cmv7v71rbd5ccfsjac928isd52sf42mzs2nb492ya";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -156753,8 +158256,8 @@ self: {
      }:
      mkDerivation {
        pname = "marxup";
-       version = "3.1.1.0";
-       sha256 = "0b22mf14qajkpf7hlm6086d951g0wgihlyiw93m0nh4yl1kmgf5q";
+       version = "3.1.2.0";
+       sha256 = "0a6lfjh5brkjm66y4yizzskra4007shqnsb5bjljxwg0vwphp112";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -156795,6 +158298,23 @@ self: {
        broken = true;
      }) {};
 
+  "mason" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, integer-gmp, network
+     , text
+     }:
+     mkDerivation {
+       pname = "mason";
+       version = "0.1";
+       sha256 = "1h9ch2q84n9hbcr6nvb7vllxb05m81vjwlk1vkarp31qjbfcmh29";
+       libraryHaskellDepends = [
+         base bytestring ghc-prim integer-gmp network text
+       ];
+       description = "Fast and extensible bytestring builder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "massiv" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
      , data-default-class, deepseq, doctest, exceptions
@@ -156803,8 +158323,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.4.3.0";
-       sha256 = "0sydba4dr9y0ap8d0sqr52x1pi2qq56ciznznjgdzz6f5gip667c";
+       version = "0.4.4.0";
+       sha256 = "13hwf1z9iqybrjsn21gkglqq3knin6x84rflv3wk6wplk7dfhd2n";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq exceptions primitive
@@ -156816,6 +158336,8 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-io" = callPackage
@@ -156824,14 +158346,16 @@ self: {
      }:
      mkDerivation {
        pname = "massiv-io";
-       version = "0.1.7.0";
-       sha256 = "0w3yffkrsjkgfqdfmhq42am2hpmkblnfg0prifr2ja5pfwr02l5c";
+       version = "0.1.9.0";
+       sha256 = "0splwbavahv3g0p1pyhym9hwncaw7zd5f12girwxlwhcdwrsgz3r";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq directory filepath
          JuicyPixels massiv netpbm process vector
        ];
        description = "Import/export of Image files into massiv Arrays";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-scheduler" = callPackage
@@ -156873,6 +158397,8 @@ self: {
        ];
        description = "Library that contains generators, properties and tests for Massiv Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "master-plan" = callPackage
@@ -157000,15 +158526,16 @@ self: {
      }) {};
 
   "math-grads" = callPackage
-    ({ mkDerivation, aeson, array, base, containers, hspec, linear
-     , matrix, mtl, random, vector
+    ({ mkDerivation, aeson, array, base, bimap, containers, hspec
+     , ilist, lens, linear, matrix, mtl, random, vector
      }:
      mkDerivation {
        pname = "math-grads";
-       version = "0.1.5.1";
-       sha256 = "0bq08gh1fv83glx4i2gs560cynl2dv1610kby7vlvjnhg0kkyjgl";
+       version = "0.1.6.2";
+       sha256 = "02flkabfqwgmgcsrlxcfk9zm8b94l65imr3xprdap1g9z26si66l";
        libraryHaskellDepends = [
-         aeson array base containers linear matrix mtl random vector
+         aeson array base bimap containers ilist lens linear matrix mtl
+         random vector
        ];
        testHaskellDepends = [ array base containers hspec random ];
        description = "Library containing graph data structures and graph algorithms";
@@ -157291,26 +158818,6 @@ self: {
      }) {};
 
   "matrix-static" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, matrix, tasty, tasty-hunit, vector
-     }:
-     mkDerivation {
-       pname = "matrix-static";
-       version = "0.2";
-       sha256 = "0g4vkzc6jw4sx2an86d20fv9b23jzly8dxsan7ygih1mp8rn5r07";
-       libraryHaskellDepends = [
-         base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         vector
-       ];
-       testHaskellDepends = [
-         base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         tasty tasty-hunit vector
-       ];
-       description = "Type-safe matrix operations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "matrix-static_0_2_1" = callPackage
     ({ mkDerivation, base, deepseq, ghc-typelits-natnormalise, matrix
      , tasty, tasty-hunit, vector
      }:
@@ -157327,7 +158834,6 @@ self: {
        ];
        description = "Type-safe matrix operations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "matsuri" = callPackage
@@ -158226,6 +159732,27 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "megaparsec_8_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, mtl, parser-combinators, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "8.0.0";
+       sha256 = "0633rqzrxzhq43z6i7ancncd633fm2b8755683si4v818r3cdmxm";
+       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 = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "megaparsec-tests" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
@@ -158252,6 +159779,31 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "megaparsec-tests_8_0_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 = "8.0.0";
+       sha256 = "1l71s16fhl2054myj02fnnjr71pfypjvwxd0hxzf83zwmqnv558f";
+       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 = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "meldable-heap" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -160292,8 +161844,8 @@ self: {
      }:
      mkDerivation {
        pname = "mini-egison";
-       version = "0.1.5";
-       sha256 = "19g5743q2h0vr9r7m854pi60r6z7f8cqr3l3fqi4b308jb492ngq";
+       version = "0.1.6";
+       sha256 = "08348nw7xnni81iwcah43x5hi0hyqz286g3zpmkhja8if99l59lj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160367,8 +161919,8 @@ self: {
      }:
      mkDerivation {
        pname = "minilight";
-       version = "0.4.0";
-       sha256 = "1ishxvijigfjfvrqiibbds2l7bb5vp51lsy933q4nphapvqrhk2m";
+       version = "0.4.1";
+       sha256 = "0zx21dhnzc8p0x6v827178rl2s215gik705fggmg31hqhwkzfy4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160445,43 +161997,6 @@ self: {
      }:
      mkDerivation {
        pname = "minio-hs";
-       version = "1.5.0";
-       sha256 = "0qp8zl7f055lpchg8abcc27jq4s0nn14qp474qrj4wdmynfi8bc8";
-       libraryHaskellDepends = [
-         aeson base base64-bytestring binary bytestring case-insensitive
-         conduit conduit-extra connection cryptonite cryptonite-conduit
-         digest directory exceptions filepath http-client http-client-tls
-         http-conduit http-types ini memory protolude raw-strings-qq
-         resourcet retry text time transformers unliftio unliftio-core
-         unordered-containers xml-conduit
-       ];
-       testHaskellDepends = [
-         aeson base base64-bytestring binary bytestring case-insensitive
-         conduit conduit-extra connection cryptonite cryptonite-conduit
-         digest directory exceptions filepath http-client http-client-tls
-         http-conduit http-types ini memory protolude QuickCheck
-         raw-strings-qq resourcet retry tasty tasty-hunit tasty-quickcheck
-         tasty-smallcheck temporary text time transformers unliftio
-         unliftio-core unordered-containers xml-conduit
-       ];
-       description = "A MinIO Haskell Library for Amazon S3 compatible cloud storage";
-       license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "minio-hs_1_5_1" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
-     , case-insensitive, conduit, conduit-extra, connection, cryptonite
-     , cryptonite-conduit, digest, directory, exceptions, filepath
-     , http-client, http-client-tls, http-conduit, http-types, ini
-     , memory, protolude, QuickCheck, raw-strings-qq, resourcet, retry
-     , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, temporary
-     , text, time, transformers, unliftio, unliftio-core
-     , unordered-containers, xml-conduit
-     }:
-     mkDerivation {
-       pname = "minio-hs";
        version = "1.5.1";
        sha256 = "11y8l1x5wp8pjcl3kxdlxyhfvkifpgxiywp82hwdr3r7rjc80wlw";
        libraryHaskellDepends = [
@@ -160885,15 +162400,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "miso_1_3_0_0" = callPackage
+  "miso_1_4_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-api-data
      , http-types, lucid, network-uri, servant, servant-lucid, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "miso";
-       version = "1.3.0.0";
-       sha256 = "1vz7k7ajngmrzczw4bl33g081hbmbk1bkixsm47y4x8jzxa0lk7x";
+       version = "1.4.0.0";
+       sha256 = "067z49ial3dwkbcza54aivdh8r4yx54zmpyxmd6mpyqlv96dv8gc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161246,6 +162761,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmark_0_0_7_2" = callPackage
+    ({ mkDerivation, aeson, base, case-insensitive, containers
+     , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
+     , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens
+     , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck
+     , text, text-metrics, unordered-containers, weigh, yaml
+     }:
+     mkDerivation {
+       pname = "mmark";
+       version = "0.0.7.2";
+       sha256 = "1wwszzba6fvg0r4q5z2dzashim0nkaxzx4rmjl216kdi08jkp7mm";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base case-insensitive containers deepseq dlist email-validate
+         foldl hashable html-entity-map lucid megaparsec microlens
+         microlens-th modern-uri mtl parser-combinators text text-metrics
+         unordered-containers yaml
+       ];
+       testHaskellDepends = [
+         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
+         QuickCheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion text weigh ];
+       description = "Strict markdown processor for writers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmark-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
@@ -161256,8 +162799,8 @@ self: {
        pname = "mmark-cli";
        version = "0.0.5.0";
        sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "1";
-       editedCabalFile = "11yrsr4hpl5vxrfav1nfg3gidcr1qy0rjv5mkh5hqsxdpxy6c7aj";
+       revision = "2";
+       editedCabalFile = "1kpxrf3gwcl0l8jqq3dic49705p338rcvach95vp1g1jjpwd8kbj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -161321,8 +162864,8 @@ self: {
     ({ mkDerivation, base, directory }:
      mkDerivation {
        pname = "mmsyn3";
-       version = "0.1.2.0";
-       sha256 = "1cjjdiyb1n5y5bswpm1lckqnn97lvn4mx8nrkydzsi1lfmxjvhk3";
+       version = "0.1.3.0";
+       sha256 = "0asxxv2ykwn82lr744ihfip8lhck888l3rvn4qadjdapv1sn3zfx";
        libraryHaskellDepends = [ base directory ];
        description = "A small library to deal with executable endings";
        license = stdenv.lib.licenses.mit;
@@ -161346,6 +162889,40 @@ self: {
        broken = true;
      }) {};
 
+  "mmsyn5" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mmsyn5";
+       version = "0.4.2.2";
+       sha256 = "1y5f9fwc9k7hbmnk8fvm6m6h2lrdsfijr6jn0dfj6fhc17kmp46p";
+       libraryHaskellDepends = [ base ];
+       description = "Various additional operations on lists (some with intermediate Monads)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mmsyn6ukr" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn5, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn6ukr";
+       version = "0.5.1.0";
+       sha256 = "1jmbfs0yi7r9lmaxq3dfyrw1rrwhknb7v4xfhrz3w7s8jg3vqs2x";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       description = "A musical instrument synthesizer or a tool for Ukrainian language listening";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-msgpack, deepseq, hspec, http-conduit, QuickCheck, text
@@ -161463,6 +163040,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mod" = callPackage
+    ({ mkDerivation, base, deepseq, integer-gmp, quickcheck-classes
+     , quickcheck-classes-base, semirings, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "mod";
+       version = "0.1.0.0";
+       sha256 = "10cvd4275jzd8h1f227nivbvf52kbk0hn00zwrb1hmrgif6a31gd";
+       libraryHaskellDepends = [ base deepseq integer-gmp semirings ];
+       testHaskellDepends = [
+         base quickcheck-classes quickcheck-classes-base semirings tasty
+         tasty-quickcheck
+       ];
+       description = "Fast type-safe modular arithmetic";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "modbus-tcp" = callPackage
     ({ mkDerivation, base, bytestring, cereal, mtl, transformers }:
      mkDerivation {
@@ -161523,8 +163117,8 @@ self: {
        pname = "modern-uri";
        version = "0.3.1.0";
        sha256 = "1pi7la2rrpfa9qszz7zm4dd7dihakm4kjrhjzvxpbp4n34ihl8h5";
-       revision = "1";
-       editedCabalFile = "09fwv2sx49kbabkllag01g1g85m92fmz60k5lf0w8qnr7hkxv3rd";
+       revision = "2";
+       editedCabalFile = "0slfswzl4khpn0z8g7frn63gx7hw9n7nc3yff659q18nq7c6vjxd";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -161987,12 +163581,14 @@ self: {
      }) {};
 
   "monad-codec" = callPackage
-    ({ mkDerivation, base, binary, containers, data-lens, mtl }:
+    ({ mkDerivation, base, binary, containers, data-lens-light, mtl }:
      mkDerivation {
        pname = "monad-codec";
-       version = "0.2.0";
-       sha256 = "0jim6hk891jby2gch6f1k4262jm8fl9jgl808dj204ylz8w1475l";
-       libraryHaskellDepends = [ base binary containers data-lens mtl ];
+       version = "0.2.1";
+       sha256 = "0n9mjzx6p75nm4f7ndlha9jmyvwdxaknhnds9cm8p4sj9mpsmgid";
+       libraryHaskellDepends = [
+         base binary containers data-lens-light mtl
+       ];
        description = "Monadic conversion between complex data structures and unique integers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -162301,10 +163897,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.30";
-       sha256 = "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7";
-       revision = "1";
-       editedCabalFile = "0gm3gqbxkj8447js4a672snz0ir78syk890nqdmjb18hsjqy5p6a";
+       version = "0.3.31";
+       sha256 = "0awr06bh5d51kci2w2xsj34qvh98sb6dm48a4k05k8awv8hrrpmd";
        libraryHaskellDepends = [
          base bytestring conduit conduit-extra exceptions fast-logger
          lifted-base monad-control monad-loops mtl resourcet stm stm-chans
@@ -162354,8 +163948,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.4.0";
-       sha256 = "1jwwpjn35mvl7z05xcykpxdyhaa6mgiighgcr8qzprrmw89kwb05";
+       version = "0.1.6.0";
+       sha256 = "1n4r0fl043r18683ym3k03sdm3b9wlxfzjgmnxi804kwna639rj3";
        libraryHaskellDepends = [
          base bytestring fast-logger hsyslog monad-logger text transformers
        ];
@@ -162549,8 +164143,10 @@ self: {
      }:
      mkDerivation {
        pname = "monad-par";
-       version = "0.3.4.8";
-       sha256 = "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q";
+       version = "0.3.5";
+       sha256 = "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2";
+       revision = "1";
+       editedCabalFile = "17l7zjykf5iqjmw1pq4iwls7v9x9d3in94iikxabx43q5l2iccsm";
        libraryHaskellDepends = [
          abstract-deque abstract-par array base containers deepseq
          monad-par-extras mtl mwc-random parallel
@@ -163697,16 +165293,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monoidal-containers_0_6" = callPackage
+  "monoidal-containers_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, hashable, lens
      , newtype, semialign, semigroups, these, unordered-containers
      }:
      mkDerivation {
        pname = "monoidal-containers";
-       version = "0.6";
-       sha256 = "1ii09s068g6bj2j10ig3g3ymv1ci6zg596pmmaw6als15j9bybc9";
-       revision = "2";
-       editedCabalFile = "17qv2kds7m4mi3r4rd89d2nhcjc06lzdfg93qsn6ldssnypq0rra";
+       version = "0.6.0.1";
+       sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -163844,6 +165438,28 @@ self: {
        broken = true;
      }) {};
 
+  "months" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, cassava
+     , deepseq, hashable, http-api-data, intervals, lens, lucid
+     , QuickCheck, swagger2, text, time-compat
+     }:
+     mkDerivation {
+       pname = "months";
+       version = "0.1";
+       sha256 = "000fqmd5j3pxmfa5bpyk5fd0hbn9iq3g5v1slk4hrjdjm8k19wa0";
+       revision = "2";
+       editedCabalFile = "030d693d4acc3zlha2rjzalrqn8i5pyqkw0zdp3i1hjr0694hwaf";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat cassava deepseq hashable
+         http-api-data intervals lens lucid QuickCheck swagger2 text
+         time-compat
+       ];
+       description = "Month, YearMonth, Quarter, YearQuarter types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "monus" = callPackage
     ({ mkDerivation, base, containers, smallcheck, tasty
      , tasty-quickcheck, tasty-smallcheck
@@ -164073,37 +165689,28 @@ self: {
      }) {};
 
   "morpheus-graphql" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, filepath
-     , megaparsec, mtl, optparse-applicative, scientific, scotty, tasty
-     , tasty-hunit, template-haskell, text, transformers
-     , unordered-containers, uuid, vector, wai, wai-websockets, warp
-     , websockets
+    ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
+     , mtl, scientific, tasty, tasty-hunit, template-haskell, text
+     , th-lift-instances, transformers, unordered-containers, uuid
+     , vector, websockets
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.5.0";
-       sha256 = "0481kz9wr8d3fhnmcgxnzffq97qqirk5fznddn3nsb3zl7r7c3g9";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.7.1";
+       sha256 = "1yh49icsq68xbw9gmvqssy4piaqb97cy39jg4a20360j9sfr87dp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific
-         template-haskell text transformers unordered-containers uuid vector
-         websockets
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring containers filepath megaparsec mtl
-         optparse-applicative scientific scotty template-haskell text
-         transformers unordered-containers uuid vector wai wai-websockets
-         warp websockets
+         template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        testHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific tasty
-         tasty-hunit template-haskell text transformers unordered-containers
-         uuid vector websockets
+         tasty-hunit template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        description = "Morpheus GraphQL";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "morpheus-graphql-cli" = callPackage
@@ -164124,6 +165731,8 @@ self: {
        ];
        description = "Morpheus GraphQL CLI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "morphisms" = callPackage
@@ -164185,8 +165794,8 @@ self: {
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.7.1";
-       sha256 = "1ff9h3zzcz59q07v0yx93v537z6swy65j88z9cn6mgfjrxjmqx2b";
+       version = "1.7.2";
+       sha256 = "0dpl0siabfyiw940ymy7ba3rx3p939x3ya6ias6l75saw1qw9lvn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -164280,6 +165889,8 @@ self: {
        ];
        description = "General purpose migrations library";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "moto-postgresql" = callPackage
@@ -164295,6 +165906,8 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "motor" = callPackage
@@ -166368,6 +167981,26 @@ self: {
        broken = true;
      }) {};
 
+  "musicw" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , file-embed, ghcjs-base, ghcjs-dom, ghcjs-prim, json, monad-loops
+     , mtl, safe, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "musicw";
+       version = "0.3.0";
+       sha256 = "143yxcj9c1wabg2nmm3ljpdi1r2ah9mf1c8hc2m74gwq08dl78zj";
+       libraryHaskellDepends = [
+         array base bytestring containers data-default file-embed ghcjs-base
+         ghcjs-dom ghcjs-prim json monad-loops mtl safe text time
+         transformers
+       ];
+       description = "Sound synthesis library, to be used with GHCJS and Web Audio API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {ghcjs-prim = null;};
+
   "musicxml" = callPackage
     ({ mkDerivation, base, containers, directory, HaXml, old-time
      , pretty
@@ -166670,6 +168303,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mx-state-codes" = callPackage
+    ({ mkDerivation, aeson, base, hspec, QuickCheck, text }:
+     mkDerivation {
+       pname = "mx-state-codes";
+       version = "1.0.0.0";
+       sha256 = "1jxw7hh24rqs1c5y4b7bmllvcwq3gsrrn0rixq9lzhn2915ykaq6";
+       libraryHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [ aeson base hspec QuickCheck text ];
+       description = "ISO 3166-2:MX State Codes and Names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mxnet" = callPackage
     ({ mkDerivation, base, c2hs, c2hs-extra, mxnet, pretty, tasty
      , tasty-hunit, template-haskell, unordered-containers, vector
@@ -167910,8 +169555,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "natural-arithmetic";
-       version = "0.1.0.0";
-       sha256 = "0h5ga04hw7v54xsxjj852238spl3px190g67qjqzxvnyn0f76jrp";
+       version = "0.1.1.0";
+       sha256 = "0n2330b2g4gy1ljpcww9vmj74ig23m0zxkg92721zpdfywlcy44g";
        libraryHaskellDepends = [ base ];
        description = "Arithmetic of natural numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -168114,8 +169759,8 @@ self: {
      }:
      mkDerivation {
        pname = "neat-interpolation";
-       version = "0.3.2.4";
-       sha256 = "0lhpjckwhzlvx4cdhrwprwb85vc7hc44ybvk5nswgn7z73cp0wyy";
+       version = "0.3.2.5";
+       sha256 = "09nb0bypjpfxcm71012c2xxfrq5drvd1nhdmnmhk8wc0r8254g8c";
        libraryHaskellDepends = [
          base base-prelude megaparsec template-haskell text
        ];
@@ -168242,8 +169887,8 @@ self: {
      }:
      mkDerivation {
        pname = "neko-obfs";
-       version = "0.1.0.2";
-       sha256 = "1kqki738d7jfjgr0jcybs9w0fzccmdb1i64caanydpfn6x9rkiac";
+       version = "0.1.0.4";
+       sha256 = "1vffkpxxvxykrjy9awx0vqda6gbpmzz2ybr5ijmb47dl7mr7sl88";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -168299,8 +169944,8 @@ self: {
      }:
      mkDerivation {
        pname = "nerf";
-       version = "0.5.3";
-       sha256 = "18rkjgk2r6784mjbdd2lydv9yac252xvj18m78bbaplnac1504ak";
+       version = "0.5.4.1";
+       sha256 = "1dwfm00r64vi6by92ggi184747v2mq94fbyl18r46icvgq0h1dl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -168308,8 +169953,12 @@ self: {
          dawg IntervalMap monad-ox mtl network polimorf polysoup sgd tagsoup
          text text-binary tokenize vector
        ];
-       executableHaskellDepends = [ directory filepath temporary ];
-       description = "Nerf, the named entity recognition tool based on linear-chain CRFs";
+       executableHaskellDepends = [
+         base binary bytestring cmdargs containers crf-chain1 data-named
+         dawg directory filepath IntervalMap monad-ox mtl network polimorf
+         polysoup sgd tagsoup temporary text text-binary tokenize vector
+       ];
+       description = "Nerf, a named entity recognition tool based on linear-chain CRFs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -168487,8 +170136,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.6.1.1";
-       sha256 = "1ym4p5p3g0bzxvvijjafsdh3rkz17infvn2kc2rwpdrvig7j65yg";
+       version = "0.6.2.1";
+       sha256 = "09l9m213x1v7cvrfr039hg2c1pa4dknyhj827h9n0w9pawj61r55";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -168513,6 +170162,29 @@ self: {
        broken = true;
      }) {};
 
+  "net-mqtt-rpc" = callPackage
+    ({ mkDerivation, base, bytestring, net-mqtt, network-uri
+     , optparse-applicative, random, stm, text, uuid
+     }:
+     mkDerivation {
+       pname = "net-mqtt-rpc";
+       version = "0.1.0.0";
+       sha256 = "0wzpsjyskgbnyyy7bbbg7plsypwnyi2rblvyn17a33ak43zi1fx5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring net-mqtt random stm text uuid
+       ];
+       executableHaskellDepends = [
+         base bytestring net-mqtt network-uri optparse-applicative random
+         stm text uuid
+       ];
+       description = "Make RPC calls via an MQTT broker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "net-spider" = callPackage
     ({ mkDerivation, aeson, base, containers, data-interval, doctest
      , doctest-discover, extended-reals, greskell, greskell-websocket
@@ -169110,14 +170782,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "network_3_1_1_0" = callPackage
+  "network_3_1_1_1" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit
      }:
      mkDerivation {
        pname = "network";
-       version = "3.1.1.0";
-       sha256 = "0gr99ksn7khijfjf0g4bkp13kb6jbxnq23b6pxflnvlsf5la8yks";
+       version = "3.1.1.1";
+       sha256 = "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp";
        libraryHaskellDepends = [ base bytestring deepseq ];
        testHaskellDepends = [ base bytestring directory hspec HUnit ];
        testToolDepends = [ hspec-discover ];
@@ -169305,8 +170977,8 @@ self: {
        pname = "network-bsd";
        version = "2.8.1.0";
        sha256 = "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr";
-       revision = "2";
-       editedCabalFile = "1cqb720gl960zfzbzxakc2wvrvw8plncgarbb1v1hdzmdxw07js7";
+       revision = "3";
+       editedCabalFile = "1hc3jdbmpq2wxh82xfx452v2m2l97jbdaqqbmj5nz4lljxa2696r";
        libraryHaskellDepends = [ base deepseq network ];
        description = "POSIX network database (<netdb.h>) API";
        license = stdenv.lib.licenses.bsd3;
@@ -169340,8 +171012,8 @@ self: {
     ({ mkDerivation, base, bytestring, doctest }:
      mkDerivation {
        pname = "network-byte-order";
-       version = "0.1.1.1";
-       sha256 = "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c";
+       version = "0.1.2.0";
+       sha256 = "1y2azf5zbydzvi4b0hxmy7am4kgpkq8ajnsbrpfrqz87b5y87ccy";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ base bytestring doctest ];
        description = "Network byte order utilities";
@@ -169560,8 +171232,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-ip";
-       version = "0.3.0.2";
-       sha256 = "1zjy232pamkd3977cyaq5w5r6ksbpqpgzzlds15zrahjccirs9gf";
+       version = "0.3.0.3";
+       sha256 = "0p4mn7vz74kxmsc8xvg7gx5rs38knnv518bc0qv0b07ki51wq7g0";
        libraryHaskellDepends = [
          base data-default-class data-dword data-endian data-serializer
          data-textual hashable parsers text-printer type-hint
@@ -169604,8 +171276,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc";
-       version = "0.1.1.4";
-       sha256 = "040kj2rs80kg7746rqrrsgpbi3vpbfg4c6r5n08nvqqslcx932xb";
+       version = "0.1.2.0";
+       sha256 = "118agkkbvfyynk6qg5yzazbs0s7w0bw9n0ndj8nm35yy6cil9lky";
        libraryHaskellDepends = [
          base bytestring data-msgpack safe-exceptions text
          unordered-containers
@@ -169621,8 +171293,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc-websocket";
-       version = "0.1.1.0";
-       sha256 = "05cd6cqyydjwymnk8rscqngvz3knyibl674rcbjpz28him6gbc7d";
+       version = "0.1.1.1";
+       sha256 = "0adkav3nl7ghbx2r7dx83ki6m397clxaw37s54ivnkxydqscjv06";
        libraryHaskellDepends = [
          base network-messagepack-rpc text websockets wss-client
        ];
@@ -169887,6 +171559,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-simple-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, network
+     , network-simple, safe-exceptions, tls, tls-session-manager
+     , transformers, x509, x509-store, x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "network-simple-tls";
+       version = "0.4";
+       sha256 = "0c5xxqp2xw1q046sngd5gnwp7gn0ima9wm8drxxry13l0i0bnmn1";
+       libraryHaskellDepends = [
+         base bytestring data-default network network-simple safe-exceptions
+         tls tls-session-manager transformers x509 x509-store x509-system
+         x509-validation
+       ];
+       description = "Simple interface to TLS secured network sockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-simple-ws" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, network-simple
      , safe-exceptions, websockets
@@ -170508,6 +172199,8 @@ self: {
        pname = "newtype-generics";
        version = "0.5.4";
        sha256 = "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0";
+       revision = "1";
+       editedCabalFile = "1id9a6prj2bzdsyfsfr0pnfy9p8v9wlw59x12fny6y2szfcxcrv7";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -170695,8 +172388,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.1.0.0";
-       sha256 = "0j3bfrmic9zrivsnaf4kzf5bf0inianmnn7v0c21s5ip775k5jy8";
+       version = "0.1.0.1";
+       sha256 = "0f55j4742rimq7jawgk0ca5kcxg9nz0lfpip5p3sw03w3g52xqxh";
        libraryHaskellDepends = [
          aeson base bytestring containers enclosed-exceptions http-client
          ngx-export-tools snap-core snap-server template-haskell text time
@@ -170921,26 +172614,26 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, directory, file-embed, filepath, hashable
      , http-conduit, mtl, optparse-applicative, process, profunctors
-     , string-qq, tasty, tasty-hunit, text, unliftio
+     , pureMD5, string-qq, tasty, tasty-hunit, text, unliftio
      , unordered-containers
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.1";
-       sha256 = "18ym8zqxillqf0psc9xyjzgnxhfrfgy5sj3hvrdmggy4dlnn500j";
+       version = "0.2.8";
+       sha256 = "0nggarlbfc8x5y7rp8n5fdzy3xipykxq4fk6irz1jsz4m6fbi9a4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty tasty-hunit text unliftio
-         unordered-containers
+         process profunctors pureMD5 string-qq tasty tasty-hunit text
+         unliftio unordered-containers
        ];
        executableHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty text unliftio
+         process profunctors pureMD5 string-qq tasty text unliftio
          unordered-containers
        ];
        description = "Easy dependency management for Nix projects";
@@ -170972,8 +172665,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-deploy";
-       version = "1.0.3";
-       sha256 = "0anhmc9g9k40nwj87f24hq4wnj6mkli36dzhzdpa0p3cpg7sh2kh";
+       version = "1.0.4";
+       sha256 = "1wmwrnm6wflkdaq0m84az1q6245iyvkzd2r47vdy9a2a1szqnvl3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -171164,6 +172857,8 @@ self: {
        ];
        description = "Tool for semi-automatic updating of nixpkgs repository";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "nkjp" = callPackage
@@ -171599,8 +173294,8 @@ self: {
     ({ mkDerivation, base, containers, semigroups }:
      mkDerivation {
        pname = "non-empty-sequence";
-       version = "0.2.0.2";
-       sha256 = "1qfidlv190wxrrp67h7rcrlczwfv7r0mdbwm31rrf08l1i6618yr";
+       version = "0.2.0.4";
+       sha256 = "0a6xk2ijj3lzhqzdrk6q89538d1a62aw8x0ccvkq2kyl1dlahwc0";
        libraryHaskellDepends = [ base containers semigroups ];
        description = "Non-empty sequence";
        license = stdenv.lib.licenses.bsd3;
@@ -171686,13 +173381,32 @@ self: {
 
   "nonempty-containers" = callPackage
     ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
+     , hedgehog-fn, semigroupoids, tasty, tasty-hedgehog, text, these
+     }:
+     mkDerivation {
+       pname = "nonempty-containers";
+       version = "0.3.1.0";
+       sha256 = "15flyfv6w4078wk69d2nb2lx21b76xr6c34rxs0w8jz1mb497f6l";
+       libraryHaskellDepends = [
+         base comonad containers deepseq semigroupoids these
+       ];
+       testHaskellDepends = [
+         base comonad containers hedgehog hedgehog-fn semigroupoids tasty
+         tasty-hedgehog text these
+       ];
+       description = "Non-empty variants of containers data types, with full API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nonempty-containers_0_3_3_0" = callPackage
+    ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
      , hedgehog-fn, nonempty-vector, semigroupoids, tasty
      , tasty-hedgehog, text, these, vector
      }:
      mkDerivation {
        pname = "nonempty-containers";
-       version = "0.3.2.0";
-       sha256 = "0h0djvjhlrm4s79q881gbag4kkabacvj0d5x0dc0xvhg1i0hs9da";
+       version = "0.3.3.0";
+       sha256 = "11mrv2vzdqxjx3xn93zlwfxh7z2d5ca5cbsr25y4zv34brn114g2";
        libraryHaskellDepends = [
          base comonad containers deepseq nonempty-vector semigroupoids these
          vector
@@ -171703,6 +173417,7 @@ self: {
        ];
        description = "Non-empty variants of containers data types, with full API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonempty-lift" = callPackage
@@ -171722,29 +173437,13 @@ self: {
      }) {};
 
   "nonempty-vector" = callPackage
-    ({ mkDerivation, base, deepseq, hedgehog, primitive, semigroups
-     , vector
-     }:
-     mkDerivation {
-       pname = "nonempty-vector";
-       version = "0.1.0.0";
-       sha256 = "1yc9x0mc30fl348by3586wf2g7q40c98yskyw15cnxj3588p5zv3";
-       libraryHaskellDepends = [
-         base deepseq primitive semigroups vector
-       ];
-       testHaskellDepends = [ base hedgehog semigroups vector ];
-       description = "Non-empty vectors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "nonempty-vector_0_2_0_0" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest
      , primitive, semigroups, vector
      }:
      mkDerivation {
        pname = "nonempty-vector";
-       version = "0.2.0.0";
-       sha256 = "1pgl4kvr1mry3zn4gmdxphx8f9lv1zq8j6s79yrw69h940r6v4r7";
+       version = "0.2.0.1";
+       sha256 = "0qiwl58d5bvack33djhwqkblwk541w63a3hjqc7mik54y3j40s71";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base deepseq primitive semigroups vector
@@ -171752,7 +173451,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Non-empty vectors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonemptymap" = callPackage
@@ -171977,6 +173675,8 @@ self: {
          transformers tuple
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "notmuch" = callPackage
@@ -172673,8 +174373,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "numhask";
-       version = "0.3.0.0";
-       sha256 = "1zkiqav683mmghxz0hj0wjzg3sf95zfd4ghicw674d9j3vl4gmcw";
+       version = "0.3.1";
+       sha256 = "0r7raa7sw9k6p5xb3kl7jfpfkg4dym2kb8hrdkq9xvj2yrajzg77";
        libraryHaskellDepends = [ base ];
        description = "numeric classes";
        license = stdenv.lib.licenses.bsd3;
@@ -172709,8 +174409,8 @@ self: {
      }:
      mkDerivation {
        pname = "numhask-hedgehog";
-       version = "0.3";
-       sha256 = "0f7h2ah0z63v40hnk4fcxhj4b8qzi1fy8hipxwvi29g0mvpkxjds";
+       version = "0.3.1";
+       sha256 = "1glg0lapr0fm06z5s8k4xsi99yx3khay4ynvic3kb1xf0iqay818";
        libraryHaskellDepends = [
          base hedgehog numhask numhask-prelude numhask-space
        ];
@@ -172722,17 +174422,17 @@ self: {
      }) {};
 
   "numhask-histogram" = callPackage
-    ({ mkDerivation, base, containers, doctest, foldl, numhask-prelude
-     , numhask-range, tdigest
+    ({ mkDerivation, base, containers, doctest, foldl, numhask-space
+     , tdigest
      }:
      mkDerivation {
        pname = "numhask-histogram";
-       version = "0.1.3.0";
-       sha256 = "1d4b1iv6czhc9747p5df3qlbj34nzlz608qp975cg31i63inz2ix";
+       version = "0.2.0";
+       sha256 = "0bkqn7h2cs5m318zira6idf2jmslgacci4mr2948dki1hbnj59xi";
        libraryHaskellDepends = [
-         base containers foldl numhask-prelude numhask-range tdigest
+         base containers foldl numhask-space tdigest
        ];
-       testHaskellDepends = [ base doctest numhask-prelude ];
+       testHaskellDepends = [ base doctest ];
        description = "See readme.md";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -172740,13 +174440,12 @@ self: {
      }) {};
 
   "numhask-prelude" = callPackage
-    ({ mkDerivation, base, doctest, numhask, numhask-space, protolude
-     }:
+    ({ mkDerivation, base, doctest, numhask, protolude }:
      mkDerivation {
        pname = "numhask-prelude";
-       version = "0.3.1";
-       sha256 = "1j9da7ldacfzkw4yxrc84p0diygvbglj4xdqj9bam8ld2hv5i1mq";
-       libraryHaskellDepends = [ base numhask numhask-space protolude ];
+       version = "0.3.2";
+       sha256 = "1884pm13wyhqwwl9n2k9wv7r7q86x4c682m78291sh6yinrymazk";
+       libraryHaskellDepends = [ base numhask protolude ];
        testHaskellDepends = [ doctest ];
        description = "A numeric prelude";
        license = stdenv.lib.licenses.bsd3;
@@ -172777,18 +174476,22 @@ self: {
      }) {};
 
   "numhask-space" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, numhask
-     , semigroupoids
+    ({ mkDerivation, adjunctions, base, containers, distributive
+     , doctest, foldl, lattices, semigroupoids, tdigest, text, time
      }:
      mkDerivation {
        pname = "numhask-space";
-       version = "0.1.1";
-       sha256 = "1rf86fbyrbs2a1dxrbr35a2dhfimclindlb4iimijs28is0zdz8s";
+       version = "0.3.0";
+       sha256 = "0j75qig7smx2lnl6drmsj2zs4zg6rw9vvcb1d0cjv47haw9xgz62";
        libraryHaskellDepends = [
-         adjunctions base distributive numhask semigroupoids
+         adjunctions base containers distributive foldl lattices
+         semigroupoids tdigest text time
        ];
+       testHaskellDepends = [ base doctest ];
        description = "numerical spaces";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "numhask-test" = callPackage
@@ -173051,8 +174754,8 @@ self: {
      }:
      mkDerivation {
        pname = "nyx-game";
-       version = "1.0.0.0";
-       sha256 = "16a1bkw8i81qcp7diblgkc17snxppdsfqly6diirm0sxpbsx5d8s";
+       version = "1.0.1.0";
+       sha256 = "14zxg7znqjglzqlsfvgksknz5ry369x0smjja8dx6h2ih0xf3i06";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -174122,18 +175825,17 @@ self: {
      }) {};
 
   "online" = callPackage
-    ({ mkDerivation, base, doctest, foldl, numhask-prelude, protolude
-     , tasty, tdigest, vector, vector-algorithms
+    ({ mkDerivation, base, doctest, foldl, tasty, tdigest, vector
+     , vector-algorithms
      }:
      mkDerivation {
        pname = "online";
-       version = "0.3.0.0";
-       sha256 = "056a9dkrzfgj0wf9f9d9d25f6yc03jx9z0p0z5xm8n8brk6b3bds";
+       version = "0.4.0.0";
+       sha256 = "1vb9x90qzmqjydxjcn06gz5lfikwrx73jkkhmqdd5vxmzzj36spz";
        libraryHaskellDepends = [
-         base foldl numhask-prelude protolude tdigest vector
-         vector-algorithms
+         base foldl tdigest vector vector-algorithms
        ];
-       testHaskellDepends = [ base doctest protolude tasty ];
+       testHaskellDepends = [ base doctest tasty ];
        description = "online statistics";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -174190,6 +175892,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "op" = callPackage
+    ({ mkDerivation, base, containers, doctest }:
+     mkDerivation {
+       pname = "op";
+       version = "0.3.0.0";
+       sha256 = "0as0nswa28mbw7qp1p1pjvvr4iv6zd81rka9g51fy2w52260lmpv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base containers doctest ];
+       description = "Common operators encouraging large-scale easy reading";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "opaleye" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
@@ -174270,10 +175984,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.5.0";
-       sha256 = "18y9qcs771647g5xy7209rq32w7fqflcr313mdw1fv0m2ak65wb2";
-       revision = "2";
-       editedCabalFile = "1p51w0q74f8by2yw2hs1z9pfh6jxnlizf4jffjmj6j2kpm9hh3md";
+       version = "0.5.1";
+       sha256 = "11vfp8rb46fvrhryyw9k66cbfnd920n5r4mcasdcnxhn1n8hc7i4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -175997,8 +177709,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgmode-parse";
-       version = "0.2.2";
-       sha256 = "1f6wcxkln5ddaa2z7wbkp6wndgq38qv9h1wnn27gqcms02758v2r";
+       version = "0.2.3";
+       sha256 = "0vwmxgxvyr44qx2zvc796i7jid3c5nrfa82pf696vvjnxgb805sa";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable
          old-locale semigroups text thyme unordered-containers
@@ -176022,8 +177734,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgstat";
-       version = "0.1.6";
-       sha256 = "1w6nbgq29bdx0skqsy7h46x46g6rzpsgp2n5ldxv2nmbwbhq6bib";
+       version = "0.1.7";
+       sha256 = "1yvzs6sdkdgi5gfdgznnz1f03sf57icnn7bb5njcam7gxwvswbkp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176111,23 +177823,22 @@ self: {
 
   "ormolu" = callPackage
     ({ mkDerivation, base, bytestring, containers, dlist, exceptions
-     , filepath, ghc, ghc-boot-th, ghc-paths, gitrev, hspec
-     , hspec-discover, mtl, optparse-applicative, path, path-io, syb
-     , text
+     , filepath, ghc-lib-parser, gitrev, hspec, hspec-discover, mtl
+     , optparse-applicative, path, path-io, syb, text
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.0.1.0";
-       sha256 = "1p4m9hiavirnhf941fb5pdnrlrknr5rhcvznhqywianvvw6qcm30";
+       version = "0.0.2.0";
+       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring containers dlist exceptions ghc ghc-boot-th
-         ghc-paths mtl syb text
+         base bytestring containers dlist exceptions ghc-lib-parser mtl syb
+         text
        ];
        executableHaskellDepends = [
-         base ghc gitrev optparse-applicative text
+         base ghc-lib-parser gitrev optparse-applicative text
        ];
        testHaskellDepends = [
          base containers filepath hspec path path-io text
@@ -176135,6 +177846,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "os-release" = callPackage
@@ -176419,10 +178132,8 @@ self: {
      }:
      mkDerivation {
        pname = "overloaded";
-       version = "0.1.2";
-       sha256 = "0m2ddb48vsl0x0hz6pq8wabl1s6vl7s66rz7z9v2i6d809zl83kw";
-       revision = "1";
-       editedCabalFile = "08w1f1g0vq0q8v93fdhb8w7a2xmq6mbyh8c3s5y5sli1bynsgbzb";
+       version = "0.1.3";
+       sha256 = "0yz94zzcwdw34c5v9qmqak9bwqz8gq1s80phf9rn8p0bg6a4l0h4";
        libraryHaskellDepends = [
          base bytestring containers fin ghc optics-core record-hasfield
          sop-core split syb symbols text time vec
@@ -176883,6 +178594,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pagure-cli" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , microlens, microlens-aeson, optparse-applicative, simple-cmd-args
+     , text
+     }:
+     mkDerivation {
+       pname = "pagure-cli";
+       version = "0.1";
+       sha256 = "092frs6240wf4nyqdkhny3jkd4v7gjmnd5gwxv9vlprimszns1vi";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring http-client http-client-tls microlens
+         microlens-aeson optparse-applicative simple-cmd-args text
+       ];
+       description = "Pagure client";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "pagure-hook-receiver" = callPackage
     ({ mkDerivation, base, containers, scotty, shelly, text
      , transformers, unix
@@ -177093,6 +178823,61 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_9" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , case-insensitive, cmark-gfm, containers, criterion, data-default
+     , deepseq, Diff, directory, doclayout, doctemplates, emojis
+     , exceptions, executable-path, filepath, Glob, haddock-library
+     , hslua, hslua-module-system, hslua-module-text, HsYAML, HTTP
+     , http-client, http-client-tls, http-types, ipynb, JuicyPixels, mtl
+     , network, network-uri, pandoc-types, parsec, process, QuickCheck
+     , random, safe, scientific, SHA, skylighting, skylighting-core
+     , split, syb, tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
+     , tasty-quickcheck, temporary, texmath, text, text-conversions
+     , time, unicode-transforms, unix, unordered-containers, vector
+     , weigh, xml, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "pandoc";
+       version = "2.9";
+       sha256 = "1j4n7r4rh22ba4m4h3psy2jm3cxfd6pxlbpw0z613z01g30mr90c";
+       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring binary
+         blaze-html blaze-markup bytestring case-insensitive cmark-gfm
+         containers data-default deepseq directory doclayout doctemplates
+         emojis exceptions filepath Glob haddock-library hslua
+         hslua-module-system hslua-module-text HsYAML HTTP http-client
+         http-client-tls http-types ipynb 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-transforms unix
+         unordered-containers vector xml zip-archive zlib
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base base64-bytestring bytestring containers Diff directory
+         doctemplates executable-path filepath Glob hslua mtl pandoc-types
+         process QuickCheck tasty tasty-golden tasty-hunit tasty-lua
+         tasty-quickcheck temporary text time xml zip-archive
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion mtl text time weigh
+       ];
+       postInstall = ''
+         mkdir -p $out/share/man/man1
+         mv "man/"*.1 $out/share/man/man1/
+       '';
+       description = "Conversion between markup formats";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -177129,7 +178914,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_16_3" = callPackage
+  "pandoc-citeproc_0_16_4_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , HsYAML, HsYAML-aeson, libyaml, mtl, network, old-locale, pandoc
@@ -177139,8 +178924,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.16.3";
-       sha256 = "1jj4j71xx63k3hhcr2l9vgxsj3v038dska1pdlz8pi6b4kmp00hb";
+       version = "0.16.4.1";
+       sha256 = "1jbd6g82sn3546kimm0p6n7spfqr3b4dssjkr5v679jwb5w6hwmx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -177167,18 +178952,21 @@ self: {
 
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
+     , text-conversions
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.4";
-       sha256 = "0bdarf6rjncd8lfap4xn479675vsvqzxrmdqd367l2gxfi1nmrv5";
+       version = "1.3";
+       sha256 = "1lnsklvqvi9569wxdkyk2qwc33mm5d3n28xj64847i8g9af2jqs9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base directory filepath pandoc-types process
+         base directory filepath pandoc-types process text-conversions
        ];
        description = "Insert a preamble before pandoc-citeproc's bibliography";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-crossref" = callPackage
@@ -177190,8 +178978,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.4.1";
-       sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny";
+       version = "0.3.6.0";
+       sha256 = "0k1wvkjhlwgr8njsrjiivzyb1pbi17y6nxky4pb5wkkg57fd5847";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -177215,6 +179003,8 @@ self: {
        ];
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-csv2table" = callPackage
@@ -177403,24 +179193,23 @@ self: {
 
   "pandoc-placetable" = callPackage
     ({ mkDerivation, aeson, base, bytestring, explicit-exception
-     , http-conduit, pandoc-types, spreadsheet, text, utf8-string
+     , http-conduit, pandoc, pandoc-types, spreadsheet, text
+     , utf8-string
      }:
      mkDerivation {
        pname = "pandoc-placetable";
        version = "0.5.1";
        sha256 = "0zfqmsq86jvwm4kpjb02whcdxk5xpgaj1sbdh471kr2vz8q4p112";
-       configureFlags = [ "-finlineMarkdown" ];
+       configureFlags = [ "-finlinemarkdown" ];
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         aeson base bytestring explicit-exception http-conduit pandoc-types
-         spreadsheet text utf8-string
+         aeson base bytestring explicit-exception http-conduit pandoc
+         pandoc-types spreadsheet text utf8-string
        ];
        description = "Pandoc filter to include CSV files";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-plantuml-diagrams" = callPackage
@@ -177479,6 +179268,38 @@ self: {
        broken = true;
      }) {};
 
+  "pandoc-pyplot_2_3_0_1" = callPackage
+    ({ mkDerivation, base, containers, data-default-class, deepseq
+     , directory, filepath, hashable, hspec, hspec-expectations, mtl
+     , open-browser, optparse-applicative, pandoc, pandoc-types
+     , shakespeare, tasty, tasty-hspec, tasty-hunit, template-haskell
+     , temporary, text, typed-process, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-pyplot";
+       version = "2.3.0.1";
+       sha256 = "0jpf1fvn3qqaw7094sa79k12v7a7nbqcr6cambl6jr0mk307zm0a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-default-class directory filepath hashable mtl
+         pandoc pandoc-types shakespeare temporary text typed-process yaml
+       ];
+       executableHaskellDepends = [
+         base data-default-class deepseq directory filepath open-browser
+         optparse-applicative pandoc pandoc-types template-haskell temporary
+         text
+       ];
+       testHaskellDepends = [
+         base data-default-class directory filepath hspec hspec-expectations
+         mtl pandoc-types tasty tasty-hspec tasty-hunit temporary text
+       ];
+       description = "A Pandoc filter to include figures generated from Python code blocks";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "pandoc-sidenote" = callPackage
     ({ mkDerivation, base, monad-gen, pandoc, pandoc-types }:
      mkDerivation {
@@ -177494,17 +179315,17 @@ self: {
      }) {};
 
   "pandoc-stylefrommeta" = callPackage
-    ({ mkDerivation, base, bytestring, containers, MissingH, pandoc
+    ({ mkDerivation, base, bytestring, containers, extra, pandoc
      , pandoc-types, text
      }:
      mkDerivation {
        pname = "pandoc-stylefrommeta";
-       version = "0.2.1.1";
-       sha256 = "0jqgpgz1yx85zhm4f6qjaqcj94zi71ab0gam5vdz0jad79szr5l8";
+       version = "0.2.3.0";
+       sha256 = "1145flz4jkn5knqkc5cppc1412m6hfzd13124k2kfm8dmw196k31";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring containers MissingH pandoc pandoc-types text
+         base bytestring containers extra pandoc pandoc-types text
        ];
        description = "Pandoc filter to customize links, images and paragraphs";
        license = stdenv.lib.licenses.bsd3;
@@ -177533,6 +179354,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-types_1_20" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , deepseq, ghc-prim, HUnit, QuickCheck, string-qq, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "pandoc-types";
+       version = "1.20";
+       sha256 = "0wz89ywyhvxz8daw4ia132kg6ynx5y4wva4g899wvq4kyjy1dixa";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq ghc-prim QuickCheck syb
+         text transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers HUnit QuickCheck string-qq syb
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       benchmarkHaskellDepends = [ base criterion text ];
+       description = "Types for representing a structured document";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-unlit" = callPackage
     ({ mkDerivation, base, pandoc }:
      mkDerivation {
@@ -177550,17 +179395,17 @@ self: {
 
   "pandoc-vimhl" = callPackage
     ({ mkDerivation, base, cond, directory, filepath, pandoc-types
-     , process, regex-compat, temporary
+     , process, regex-compat, temporary, text
      }:
      mkDerivation {
        pname = "pandoc-vimhl";
-       version = "0.1.2.4";
-       sha256 = "16gvlskbp2d000mbx2rkbz6dg6758ni4x2mkzxjyk5m475h13w6b";
+       version = "0.1.3.0";
+       sha256 = "0ppn42jicmx3v0qk6ql0ccx61kk53c75n5wnl3dppgnv1xgmlnq8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base cond directory filepath pandoc-types process regex-compat
-         temporary
+         temporary text
        ];
        description = "Pandoc filter for native Vim code highlighting";
        license = stdenv.lib.licenses.bsd3;
@@ -178460,21 +180305,21 @@ self: {
 
   "parameterized-utils" = callPackage
     ({ mkDerivation, base, constraints, containers, deepseq, ghc-prim
-     , hashable, hashtables, lens, mtl, QuickCheck, tasty, tasty-ant-xml
-     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , hashable, hashtables, hedgehog, lens, mtl, tasty, tasty-ant-xml
+     , tasty-hedgehog, tasty-hunit, template-haskell, text
      , th-abstraction, vector
      }:
      mkDerivation {
        pname = "parameterized-utils";
-       version = "2.0";
-       sha256 = "0wbgjpwmiqll5pjfcf3p2ds3jaqvwx4m2v12a4r658fv18s9c14n";
+       version = "2.0.1.0";
+       sha256 = "1r7bxlb82np6xg7wkqhvja7zkp0l6adwwg0b0h3ji2mcmi47xd2z";
        libraryHaskellDepends = [
          base constraints containers deepseq ghc-prim hashable hashtables
          lens mtl template-haskell text th-abstraction vector
        ];
        testHaskellDepends = [
-         base ghc-prim hashable hashtables lens mtl QuickCheck tasty
-         tasty-ant-xml tasty-hunit tasty-quickcheck
+         base ghc-prim hashable hashtables hedgehog lens mtl tasty
+         tasty-ant-xml tasty-hedgehog tasty-hunit
        ];
        description = "Classes and data structures for working with data-kind indexed types";
        license = stdenv.lib.licenses.bsd3;
@@ -178970,12 +180815,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "parser-combinators_1_2_0" = callPackage
+  "parser-combinators_1_2_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "parser-combinators";
-       version = "1.2.0";
-       sha256 = "18kfg4sxighqzd64ad98xhc62sh7pd63pv7xhcj601pw922iappa";
+       version = "1.2.1";
+       sha256 = "0k95nvgnl5820y094yfh7b868l0xd1diclm4kx9560p5rm02w5h3";
        libraryHaskellDepends = [ base ];
        description = "Lightweight package providing commonly useful parser combinators";
        license = stdenv.lib.licenses.bsd3;
@@ -179006,15 +180851,15 @@ self: {
        broken = true;
      }) {};
 
-  "parser-combinators-tests_1_2_0" = callPackage
+  "parser-combinators-tests_1_2_1" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
      , hspec-megaparsec, megaparsec, megaparsec-tests
      , parser-combinators, QuickCheck
      }:
      mkDerivation {
        pname = "parser-combinators-tests";
-       version = "1.2.0";
-       sha256 = "0ainpyrxm03brn6z27jkqp65rc1z3lza00k6mg10506qk83fa52l";
+       version = "1.2.1";
+       sha256 = "0iy4iajpjka1diy660x3mvmh8kldwf3svwdmvlxh26dsqy2s8sx8";
        isLibrary = false;
        isExecutable = false;
        testHaskellDepends = [
@@ -179772,8 +181617,8 @@ self: {
        pname = "paths";
        version = "0.2.0.0";
        sha256 = "18pzjlnmx7w79riig7qzyhw13jla92lals9lwayl23qr02ndna4v";
-       revision = "1";
-       editedCabalFile = "1k477vwhahdgkf3sm2yjl1638qwq6ddm2x10vdf3cq48js2pkrw5";
+       revision = "2";
+       editedCabalFile = "0r5nm9qqqa4nkz6aymhh62lfmmkjip25a4lk441a108i1ngkjl5m";
        libraryHaskellDepends = [
          base bytestring deepseq directory filepath template-haskell text
          time
@@ -180240,13 +182085,14 @@ self: {
      }) {};
 
   "pcre-light" = callPackage
-    ({ mkDerivation, base, bytestring, pcre }:
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl, pcre }:
      mkDerivation {
        pname = "pcre-light";
-       version = "0.4.0.4";
-       sha256 = "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82";
+       version = "0.4.1.0";
+       sha256 = "0lqvsmc6bfhdv6igm3fmw8nklyhw3j3jsl0s1k6r3fhb6ambzxhn";
        libraryHaskellDepends = [ base bytestring ];
-       libraryPkgconfigDepends = [ pcre ];
+       librarySystemDepends = [ pcre ];
+       testHaskellDepends = [ base bytestring containers HUnit mtl ];
        description = "Portable regex library for Perl 5 compatible regular expressions";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) pcre;};
@@ -180683,8 +182529,8 @@ self: {
      }:
      mkDerivation {
        pname = "pell";
-       version = "0.1.1.0";
-       sha256 = "1m2avh9cn51k3m57q4yaqhikipfs7nx2xg3x0kixpgcp1j90482y";
+       version = "0.1.3.0";
+       sha256 = "07l623ja134s99qlhvjrsfcyaj9s504xfm9ml8afc78k9yarly9w";
        libraryHaskellDepends = [ arithmoi base containers ];
        testHaskellDepends = [
          arithmoi base Cabal cabal-test-quickcheck containers primes
@@ -180975,8 +182821,8 @@ self: {
      }:
      mkDerivation {
        pname = "perf";
-       version = "0.4.1.0";
-       sha256 = "1z0128fnqlraj8sj26fsfy9izfr1ld3k5c3sh0471fh36vf507c8";
+       version = "0.5.0.0";
+       sha256 = "1qbsk523xq27fww7bzd6zcj117630sji9szw3g3d75pbw4x5i5nl";
        libraryHaskellDepends = [
          base containers deepseq foldl rdtsc text time transformers
        ];
@@ -180994,17 +182840,16 @@ self: {
      }:
      mkDerivation {
        pname = "perf-analysis";
-       version = "0.1.0.0";
-       sha256 = "0w7c60fvyqbb4cyffbjz31v0skafcxdzg3fjp10xk7sj6i3w7l4q";
+       version = "0.2.0.0";
+       sha256 = "1dnanink5j2dhqh91dmvrw42n7b1cfrbwglp7yikabwg9888nmax";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base deepseq formatting perf protolude readme-lhs scientific
-         tdigest text vector
+         base formatting perf protolude readme-lhs scientific tdigest text
        ];
        executableHaskellDepends = [
          base containers deepseq formatting optparse-generic perf protolude
-         readme-lhs scientific tdigest text vector
+         readme-lhs text vector
        ];
        description = "analysis example using perf";
        license = stdenv.lib.licenses.bsd3;
@@ -181527,6 +183372,8 @@ self: {
        pname = "persistent-iproute";
        version = "0.2.3";
        sha256 = "1amzxmwispqi29ln50mfj43i1srl53n5iz7lsq8rxhd1x8fa35gm";
+       revision = "1";
+       editedCabalFile = "1jly9db968q5j5ly75f77hwxrhky3s6xx8ydgsjn5cdr9rc4iz8k";
        libraryHaskellDepends = [
          aeson aeson-iproute base bytestring http-api-data iproute
          path-pieces persistent text
@@ -181535,6 +183382,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "persistent-iproute_0_2_4" = callPackage
+    ({ mkDerivation, aeson, aeson-iproute, base, bytestring
+     , http-api-data, iproute, path-pieces, persistent, text
+     }:
+     mkDerivation {
+       pname = "persistent-iproute";
+       version = "0.2.4";
+       sha256 = "1lsprnlgcnj8v38cnbgf2vpj9ivgsvgi3yy3nh1gmvyj7maznkq5";
+       libraryHaskellDepends = [
+         aeson aeson-iproute base bytestring http-api-data iproute
+         path-pieces persistent text
+       ];
+       description = "Persistent instances for types in iproute";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-map" = callPackage
     ({ mkDerivation, base, binary, containers, directory, EdisonAPI
      , EdisonCore, filepath, LRU, mtl, stm-io-hooks
@@ -183326,6 +185190,27 @@ self: {
        broken = true;
      }) {};
 
+  "pine" = callPackage
+    ({ mkDerivation, base, containers, sdl2, sdl2-image, stm, text }:
+     mkDerivation {
+       pname = "pine";
+       version = "0.1.0.2";
+       sha256 = "0896l27g1cmrvkq2b1bdy7sfr6z0jg2pk1mvhwr1n3f0gwgiy36i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers sdl2 sdl2-image stm text
+       ];
+       executableHaskellDepends = [
+         base containers sdl2 sdl2-image stm text
+       ];
+       testHaskellDepends = [ base containers sdl2 sdl2-image stm text ];
+       description = "Functional 2D Game Framework";
+       license = stdenv.lib.licenses.zlib;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ping" = callPackage
     ({ mkDerivation, base, cpu, ip, posix-api, primitive
      , primitive-addr, primitive-containers, stm, transformers
@@ -183496,8 +185381,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.12";
-       sha256 = "0ni5szs9jl4map05lcyl97dgb69g2xk1a1rdiw8p4024vfyskp8c";
+       version = "4.3.13";
+       sha256 = "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn";
        libraryHaskellDepends = [
          base exceptions mmorph mtl semigroups transformers void
        ];
@@ -184261,6 +186146,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-network-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, network, network-simple
+     , network-simple-tls, pipes, pipes-network, pipes-safe, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-network-tls";
+       version = "0.4";
+       sha256 = "161nqwgv0r5vlnpa1bq0y2wyh2yp8b583dxbwpbgxfjrnsy5f5vm";
+       libraryHaskellDepends = [
+         base bytestring network network-simple network-simple-tls pipes
+         pipes-network pipes-safe tls transformers
+       ];
+       description = "TLS-secured network connections support for pipes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-network-ws" = callPackage
     ({ mkDerivation, base, bytestring, network-simple-ws, pipes }:
      mkDerivation {
@@ -185762,8 +187665,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree-fancy";
-       version = "1.1.1.14";
-       sha256 = "08b2dslkblxch8k6wlc6xx50lva8abdkdwibgfxdj2yw4mgdnhry";
+       version = "1.1.1.15";
+       sha256 = "1jbxgn4raa5zzy5riflvx1sch6ar78fi84yf0ag86yxda3lh70qd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185794,6 +187697,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Pointful refactoring tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pointless-fun" = callPackage
@@ -185963,15 +187868,13 @@ self: {
      }) {};
 
   "polimorf" = callPackage
-    ({ mkDerivation, base, binary, containers, text, text-binary }:
+    ({ mkDerivation, base, binary, containers, text }:
      mkDerivation {
        pname = "polimorf";
-       version = "0.7.3";
-       sha256 = "0vv7j1l0wnjwpd3hpxswq0k33izl0ck2njspcga885bkrd45lzdr";
-       libraryHaskellDepends = [
-         base binary containers text text-binary
-       ];
-       description = "Working with the PoliMorf dictionary";
+       version = "0.7.4";
+       sha256 = "0pdz9fwqdwhqm1l81jnji3nm8y51dmfg5i84ggp8gmqfsiczvbj3";
+       libraryHaskellDepends = [ base binary containers text ];
+       description = "Handling the PoliMorf dictionary";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -185997,6 +187900,8 @@ self: {
        pname = "poly";
        version = "0.3.1.0";
        sha256 = "1c8xnkqxwzbpx01clz9spz9zwa18qhsbvscrc381r0f46cjax2ph";
+       revision = "1";
+       editedCabalFile = "10lcg7x6vzrzgj5libfwnmxj2y3f1j5gpz9l8mgzivapknvhhpfx";
        libraryHaskellDepends = [
          base primitive semirings vector vector-algorithms
        ];
@@ -186007,17 +187912,21 @@ self: {
        benchmarkHaskellDepends = [ base gauge semirings vector ];
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "poly_0_3_2_0" = callPackage
+  "poly_0_3_3_0" = callPackage
     ({ mkDerivation, base, deepseq, gauge, primitive, QuickCheck
      , quickcheck-classes, semirings, tasty, tasty-quickcheck, vector
      , vector-algorithms
      }:
      mkDerivation {
        pname = "poly";
-       version = "0.3.2.0";
-       sha256 = "0liphgwfqnpsf410l1hldzqhgjg5p45nlcybyby1fk0ijx96yl5y";
+       version = "0.3.3.0";
+       sha256 = "1hj77nzyfipsycy77h8ccsx4iyy47ljjv0j8ckihxhaq36g0fpan";
+       revision = "1";
+       editedCabalFile = "0iv4363iq22hkwrkgsijgv8ykvj26q895rsbzrrzkydblf4psra9";
        libraryHaskellDepends = [
          base deepseq primitive semirings vector vector-algorithms
        ];
@@ -186029,6 +187938,7 @@ self: {
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly-arity" = callPackage
@@ -186286,27 +188196,6 @@ self: {
      }) {};
 
   "polysemy-plugin" = callPackage
-    ({ mkDerivation, base, containers, doctest, ghc
-     , ghc-tcplugins-extra, hspec, hspec-discover, inspection-testing
-     , polysemy, should-not-typecheck, syb, transformers
-     }:
-     mkDerivation {
-       pname = "polysemy-plugin";
-       version = "0.2.3.0";
-       sha256 = "1icaxdw2670svhns5g40d1kzxxx3yhcza660a0csdh83f3jzjy2w";
-       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 = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "polysemy-plugin_0_2_4_0" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
      , ghc, ghc-tcplugins-extra, hspec, hspec-discover
      , inspection-testing, polysemy, should-not-typecheck, syb
@@ -186327,7 +188216,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Disambiguate obvious uses of effects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "polysemy-zoo" = callPackage
@@ -187307,12 +189195,17 @@ self: {
      }) {};
 
   "postgres-options" = callPackage
-    ({ mkDerivation, base, bytestring }:
+    ({ mkDerivation, base, bytestring, generic-monoid, hspec, split
+     , uri-bytestring
+     }:
      mkDerivation {
        pname = "postgres-options";
-       version = "0.1.0.1";
-       sha256 = "0pysvgg2p032j5a9qdysbndy0a0fzm41zgv070cwqk199w1lh3h7";
-       libraryHaskellDepends = [ base bytestring ];
+       version = "0.2.0.0";
+       sha256 = "1dfr15bg77117y27rr1kvbxcsyh36ha30c8rgiqd15y7pjd4apy4";
+       libraryHaskellDepends = [
+         base bytestring generic-monoid split uri-bytestring
+       ];
+       testHaskellDepends = [ base hspec ];
        description = "An Options type representing options for postgres connections";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -187377,8 +189270,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-binary";
-       version = "0.12.1.3";
-       sha256 = "0y2irx1fw0xqs77qpaa3lk06r2q7j7wzbzriyc274h6lmn85sjdw";
+       version = "0.12.2";
+       sha256 = "1zkhwl8g141p1zgnbxjhh0r6wgvzlpwdbvyl80z31fdxd5v29bv8";
        libraryHaskellDepends = [
          aeson base base-prelude binary-parser bytestring
          bytestring-strict-builder containers loch-th network-ip
@@ -187466,8 +189359,8 @@ self: {
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
        pname = "postgresql-copy-escape";
-       version = "0.1";
-       sha256 = "063phxj8r3vy25awwwn47k9ac0s8z59igpgqrhb9gbfdq4ldrlpm";
+       version = "0.1.0.1";
+       sha256 = "08ld3rqjjjhlikcv1cpxjqs8wlsjhvv7qq9fjb032hx6mvcqwz0i";
        libraryHaskellDepends = [ base bytestring ];
        description = "Format data to feed to a PostgreSQL COPY FROM statement";
        license = stdenv.lib.licenses.bsd3;
@@ -188665,25 +190558,25 @@ self: {
      }) {};
 
   "predicate-typed" = callPackage
-    ({ mkDerivation, aeson, assoc, base, binary, bytestring, comonad
-     , containers, deepseq, directory, doctest, ghc-prim, lens, mtl
-     , pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck, safe
-     , stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
-     , th-lift, these, time, tree-view
+    ({ mkDerivation, aeson, base, binary, bytestring, comonad
+     , containers, deepseq, directory, doctest, ghc-prim, hashable, lens
+     , mtl, pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck
+     , safe, stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , text, th-lift, these, time, tree-view
      }:
      mkDerivation {
        pname = "predicate-typed";
-       version = "0.1.0.4";
-       sha256 = "04bk5p5d91zgaab1z10qy9jm66ksjdsdx0ldvfcs03pn0zfhg8hb";
+       version = "0.6.0.0";
+       sha256 = "0fk30pn759fg9v2k5gw51hk6vkp2vq4sh574zlqdk4vx6r2r5jrp";
        libraryHaskellDepends = [
-         aeson assoc base binary bytestring comonad containers deepseq
-         directory ghc-prim lens mtl pcre-heavy pcre-light pretty
+         aeson base binary bytestring comonad containers deepseq directory
+         ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
          pretty-terminal QuickCheck safe template-haskell text th-lift these
          time tree-view
        ];
        testHaskellDepends = [
-         aeson assoc base binary bytestring comonad containers deepseq
-         directory doctest ghc-prim lens mtl pcre-heavy pcre-light pretty
+         aeson base binary bytestring comonad containers deepseq directory
+         doctest ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
          pretty-terminal QuickCheck safe stm tasty tasty-hunit
          tasty-quickcheck template-haskell text th-lift these time tree-view
        ];
@@ -189207,6 +191100,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-hex_1_1" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pretty-hex";
+       version = "1.1";
+       sha256 = "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7";
+       libraryHaskellDepends = [ base bytestring ];
+       description = "A library for hex dumps of ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-loc" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -189303,17 +191208,18 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "pretty printer for data types with a 'Show' instance";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_1_0_0" = callPackage
+  "pretty-simple_3_1_1_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
      , containers, criterion, doctest, Glob, mtl, QuickCheck
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.1.0.0";
-       sha256 = "0p3p5i2rjwv19hzgqyarv7x6g6hvam159y50irvs0dd5wwphd2pa";
+       version = "3.1.1.0";
+       sha256 = "073x8jwnar4p7615dk0x92d76in2xwsgpip3w3hgq948c4ydmv58";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -189327,6 +191233,7 @@ self: {
        description = "pretty printer for data types with a 'Show' instance";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
   "pretty-sop" = callPackage
@@ -189429,7 +191336,7 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "prettyprinter_1_4_0" = callPackage
+  "prettyprinter_1_5_1" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, base-compat, bytestring
      , containers, criterion, deepseq, doctest, mtl, pgp-wordlist
      , QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck, text
@@ -189437,8 +191344,8 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter";
-       version = "1.4.0";
-       sha256 = "0ifb77nsd2jppc8ryg2am29lw1rgpjvbx5d6vljfnxz5z4j947bz";
+       version = "1.5.1";
+       sha256 = "151p75gkbmjfjb4bw14xxpka6i44x14hpbxxdbrsfsnlrncb8rpv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base text ];
@@ -189759,10 +191666,8 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-containers";
-       version = "0.4.0";
-       sha256 = "0ljb6np2yxnclqvz2sbpvjs027z701nsdhvmgy607am95sskxlrz";
-       revision = "1";
-       editedCabalFile = "18pxbfqjy2kfxgq1033bp3ci6xjj1ilnik2v5dzdcqlxr923zvkc";
+       version = "0.4.1";
+       sha256 = "1gi4fbxdhlzdyi9nnfmfyxl012hs5bam2kgvv8240mq5kxgimf06";
        libraryHaskellDepends = [
          base contiguous deepseq hashable primitive primitive-sort
          primitive-unlifted
@@ -189842,8 +191747,8 @@ self: {
     ({ mkDerivation, base, primitive, QuickCheck }:
      mkDerivation {
        pname = "primitive-foreign";
-       version = "0.1";
-       sha256 = "0qznygyj4fsgdggrb02nc78nfjyvfjsdaznw01a0sw2b1yld0zqg";
+       version = "0.1.1";
+       sha256 = "15fv32c5q1x1q4qwwcaqhn01bzv887njc8qnqhnp7p3h5m0xz2pc";
        libraryHaskellDepends = [ base primitive ];
        testHaskellDepends = [ base primitive QuickCheck ];
        description = "using the `Prim` interface for the FFI";
@@ -190214,8 +192119,8 @@ self: {
      }:
      mkDerivation {
        pname = "probability";
-       version = "0.2.5.2";
-       sha256 = "059l9by2zxb92dd2vshxx9f3sm1kazc2i2ll168hfsya9rrqqaqg";
+       version = "0.2.6";
+       sha256 = "12qzgn9jb9hvbpbkb75ad55yhmhai945rvdbamx6zspbrjlsb9sz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers random transformers utility-ht
@@ -190281,16 +192186,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_6_6_0" = callPackage
+  "process_1_6_7_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.6.0";
-       sha256 = "140as37rfad7hy1lg03n19dzfbcdaahv64aydl6frv06qvdlc49w";
-       revision = "1";
-       editedCabalFile = "0y3v5ly6fg42ngv41d28ny4x06ddqkivxx16whsfss06k15x3vz5";
+       version = "1.6.7.0";
+       sha256 = "1qplrcdzdv8dhzh859f709facw7xc6kmfwhwmm26qks4arkih7j5";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -190715,6 +192618,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "profunctor-arrows" = callPackage
+    ({ mkDerivation, base, comonad, profunctors }:
+     mkDerivation {
+       pname = "profunctor-arrows";
+       version = "0.0.0.2";
+       sha256 = "01ia949b45izrq6p8qvizz05kvy45qydwj5crdac9spad2asr1s3";
+       libraryHaskellDepends = [ base comonad profunctors ];
+       description = "Profunctor arrows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "profunctor-extras" = callPackage
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
@@ -190754,6 +192668,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "profunctor-optics" = callPackage
+    ({ mkDerivation, base, comonad, connections, containers
+     , distributive, doctest, ilist, mtl, newtype-generics
+     , profunctor-arrows, profunctors, rings, semigroupoids, tagged
+     , transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "profunctor-optics";
+       version = "0.0.0.2";
+       sha256 = "0xf7aikcbp1vgdd5bd4rf94w6iavwbxrxbr67prddqanv3jmjqn9";
+       libraryHaskellDepends = [
+         base comonad connections containers distributive ilist mtl
+         newtype-generics profunctor-arrows profunctors rings semigroupoids
+         tagged transformers unliftio-core
+       ];
+       testHaskellDepends = [ base containers doctest mtl ];
+       description = "An optics library compatible with the typeclasses in 'profunctors'";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "profunctors" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, semigroups, tagged, transformers
@@ -190772,14 +192708,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "profunctors_5_5" = callPackage
+  "profunctors_5_5_1" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, tagged, transformers
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.5";
-       sha256 = "0z7kf8hkfk5wfxw80zs9jsh22mk3mjzfvqbdkihrw1wiyw4xkjfl";
+       version = "5.5.1";
+       sha256 = "0nmiv7hhmimiwj4jnh5vd5n96bihpairq2rf6hrw11rignal2dqx";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          tagged transformers
@@ -191112,16 +193048,16 @@ self: {
 
   "prometheus" = callPackage
     ({ mkDerivation, atomic-primops, base, bytestring, containers
-     , http-client, http-types, network-uri, text, transformers, wai
-     , warp
+     , http-client, http-client-tls, http-types, network-uri, text
+     , transformers, wai, warp
      }:
      mkDerivation {
        pname = "prometheus";
-       version = "2.1.2";
-       sha256 = "1qr8nnijzlp0rwz3rab7y49kxwa4ka7ipix9dix5d1mzqpa1sj5m";
+       version = "2.1.3";
+       sha256 = "1z8mar0l8kh8wd0hsv4ckgnr5ha1vsx83afg63z9pwmv5l3phj0q";
        libraryHaskellDepends = [
-         atomic-primops base bytestring containers http-client http-types
-         network-uri text transformers wai warp
+         atomic-primops base bytestring containers http-client
+         http-client-tls http-types network-uri text transformers wai warp
        ];
        description = "Prometheus Haskell Client";
        license = stdenv.lib.licenses.bsd3;
@@ -191309,8 +193245,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.9.1";
-       sha256 = "1v4cpj4kbmhl4xkxm7gxm2z9pqf6zmr4psawaxixvsav6xpxgphr";
+       version = "5.10.1";
+       sha256 = "1ymjlfp7gri82sa26s6a10lqqmzplvl68siai04wshx3jwr3b5y8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -191555,21 +193491,6 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-arbitrary";
-       version = "0.1.2.7";
-       sha256 = "092gdxw1jbhp0pxzgyg8jmcwiimyhzvhxh29h7c7vmvb6m956d0f";
-       libraryHaskellDepends = [
-         base bytestring containers lens-family proto-lens QuickCheck text
-       ];
-       description = "Arbitrary instances for proto-lens";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "proto-lens-arbitrary_0_1_2_8" = callPackage
-    ({ mkDerivation, base, bytestring, containers, lens-family
-     , proto-lens, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "proto-lens-arbitrary";
        version = "0.1.2.8";
        sha256 = "0jms2wldjnv455gc3mf232500nidh9vh8g07fw7sdc4m2clch043";
        libraryHaskellDepends = [
@@ -191577,7 +193498,6 @@ self: {
        ];
        description = "Arbitrary instances for proto-lens";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "proto-lens-combinators" = callPackage
@@ -191621,20 +193541,25 @@ self: {
        broken = true;
      }) {};
 
-  "proto-lens-optparse" = callPackage
-    ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
+  "proto-lens-jsonpb" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, proto-lens-runtime, text, vector
+     }:
      mkDerivation {
-       pname = "proto-lens-optparse";
-       version = "0.1.1.5";
-       sha256 = "0p8acjhvaca9bz7hmifi2p39dbzis8gm6f91fz1bn36s0xzb42f2";
+       pname = "proto-lens-jsonpb";
+       version = "0.2.0.0";
+       sha256 = "01m88qfi5lak15n14zlxb5yjyi67h5m47czkzirhi0a615v8bwbr";
        libraryHaskellDepends = [
-         base optparse-applicative proto-lens text
+         aeson attoparsec base base64-bytestring bytestring
+         proto-lens-runtime text vector
        ];
-       description = "Adapting proto-lens to optparse-applicative ReadMs";
+       description = "JSON protobuf encoding for proto-lens";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "proto-lens-optparse_0_1_1_6" = callPackage
+  "proto-lens-optparse" = callPackage
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
        pname = "proto-lens-optparse";
@@ -191645,7 +193570,6 @@ self: {
        ];
        description = "Adapting proto-lens to optparse-applicative ReadMs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "proto-lens-protobuf-types_0_2_2_0" = callPackage
@@ -191842,9 +193766,10 @@ self: {
   "proto3-suite" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base64-bytestring, binary, bytestring, cereal, containers
-     , contravariant, deepseq, doctest, filepath, foldl, hashable
-     , haskell-src, insert-ordered-containers, lens, mtl
-     , neat-interpolation, optparse-generic, parsec, parsers, pretty
+     , contravariant, deepseq, doctest, filepath, foldl
+     , generic-arbitrary, hashable, haskell-src
+     , insert-ordered-containers, lens, mtl, neat-interpolation
+     , optparse-applicative, optparse-generic, parsec, parsers, pretty
      , pretty-show, proto3-wire, QuickCheck, quickcheck-instances
      , range-set-list, safe, semigroups, swagger2, system-filepath
      , tasty, tasty-hunit, tasty-quickcheck, text, transformers, turtle
@@ -191852,8 +193777,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-suite";
-       version = "0.3.0.0";
-       sha256 = "1dmblb640jc2smm023py3sg49k07v85qmalir5swkj154vlszgli";
+       version = "0.4.0.0";
+       sha256 = "0pmd7fhw4y90h1qffmgxkqijdscqw0qj7nhj0pvrvz1av6svhvr1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -191866,14 +193791,14 @@ self: {
          system-filepath text transformers turtle vector
        ];
        executableHaskellDepends = [
-         base containers optparse-generic proto3-wire range-set-list
-         system-filepath text turtle
+         base containers mtl optparse-applicative optparse-generic
+         proto3-wire range-set-list system-filepath text turtle
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring cereal
-         containers doctest pretty-show proto3-wire QuickCheck semigroups
-         swagger2 tasty tasty-hunit tasty-quickcheck text transformers
-         turtle vector
+         containers deepseq doctest generic-arbitrary mtl pretty-show
+         proto3-wire QuickCheck semigroups swagger2 tasty tasty-hunit
+         tasty-quickcheck text transformers turtle vector
        ];
        description = "A low level library for writing out data in the Protocol Buffers wire format";
        license = stdenv.lib.licenses.asl20;
@@ -191888,8 +193813,10 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-wire";
-       version = "1.0.0";
-       sha256 = "1r090s4mqmx0ixr8y6xyzkgcwv0sfjwah7jhb4vr75zpzsvx0bqk";
+       version = "1.1.0";
+       sha256 = "1f8vllbysz6d7njkqd6f52k4nixjj4wf2k4nh4gb4b7dihdzhnmg";
+       revision = "1";
+       editedCabalFile = "1ws072947d8lmchknyhrzpg9mh6dacya872a4b9dw0cdgkn13zm8";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq hashable QuickCheck safe
          text unordered-containers
@@ -191980,8 +193907,8 @@ self: {
      }:
      mkDerivation {
        pname = "protocol-buffers";
-       version = "2.4.12";
-       sha256 = "0z1vkqdhj41bqnjhks4d82jby6l9j91k8ycna76bhv9p2w0gvp4g";
+       version = "2.4.13";
+       sha256 = "0xwfb2bkh4nd34s24q786ph4zyrnnl3bcry2kqx3sw20yk3zfdsc";
        libraryHaskellDepends = [
          aeson array base base16-bytestring binary bytestring containers
          directory filepath mtl parsec syb text utf8-string vector
@@ -191994,8 +193921,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
        pname = "protocol-buffers-descriptor";
-       version = "2.4.12";
-       sha256 = "0h4c1pgl51h7xrsm76mz6wd1l41ps93y3nvdl0p7mks9w7wlpccn";
+       version = "2.4.13";
+       sha256 = "1c3aiysjlk7r02l5902iq020iasiswk9c1mvf4f9h1yijba4x4fp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers protocol-buffers
@@ -192478,29 +194405,29 @@ self: {
      }) {};
 
   "publish" = callPackage
-    ({ mkDerivation, base, bytestring, chronologique, deepseq
-     , directory, filepath, hinotify, hspec, megaparsec, pandoc
-     , pandoc-types, template-haskell, text, typed-process, unbeliever
-     , unix, unordered-containers
+    ({ mkDerivation, base, bytestring, chronologique, core-program
+     , core-text, deepseq, directory, filepath, hinotify, hspec
+     , megaparsec, pandoc, pandoc-types, template-haskell, text
+     , typed-process, unix, unordered-containers
      }:
      mkDerivation {
        pname = "publish";
-       version = "2.0.1";
-       sha256 = "12jhwihg6nlhs1q2cf4ivd7qw724qz1wk1i5rmi4akfga8ad7n4l";
+       version = "2.1.0";
+       sha256 = "03fwk0ami5xxqacqb8gikqzxdp7cavvni5bmxd5bi1lvavk49sh7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         megaparsec pandoc pandoc-types template-haskell text typed-process
-         unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        testHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         hspec megaparsec pandoc pandoc-types template-haskell text
-         typed-process unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify hspec megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        description = "Publishing tools for papers, books, and presentations";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -192958,8 +194885,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.13.4";
-       sha256 = "06qy5il369z6f7723zb676wjwqa4rj5wz75isq3s346avsmr3j84";
+       version = "0.13.5";
+       sha256 = "0plqzlcfaw2ik2im7aq8yy1b1y88cnc8qd7wwaayndbdz060s9j4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -193006,8 +194933,7 @@ self: {
        doCheck = false;
        description = "PureScript Programming Language Compiler";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
   "purescript-bridge" = callPackage
@@ -195257,8 +197183,8 @@ self: {
      }:
      mkDerivation {
        pname = "quokka";
-       version = "0.1.1";
-       sha256 = "03qzh0s1hmz7fnhyv0krvzr80dz4117nb54br44nc5ybn747r0s0";
+       version = "0.1.2";
+       sha256 = "1g6qphxbfrszsmypyd67dr0rl7vcid1wds2if0pp76yvwhpgdnl5";
        libraryHaskellDepends = [
          base pcre-utils postgresql-simple regex-pcre-builtin text
        ];
@@ -195267,6 +197193,8 @@ self: {
        ];
        description = "Test helpers which help generate data for projects that use postgresql";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "quoridor-hs" = callPackage
@@ -195635,6 +197563,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbow_0_34_2_2" = callPackage
+    ({ mkDerivation, base, bytestring, lens, QuickCheck, terminfo, text
+     }:
+     mkDerivation {
+       pname = "rainbow";
+       version = "0.34.2.2";
+       sha256 = "1rx5kci69m7fdi94x35a2wg88fprlix61mvzsqq3waqb7ahc2mlf";
+       libraryHaskellDepends = [ base bytestring lens terminfo text ];
+       testHaskellDepends = [
+         base bytestring lens QuickCheck terminfo text
+       ];
+       description = "Print text to terminal with colors and effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rainbow-tests" = callPackage
     ({ mkDerivation, barecheck, base, QuickCheck, rainbow, terminfo
      , text
@@ -195671,6 +197615,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbox_0_24_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, QuickCheck
+     , rainbow, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "rainbox";
+       version = "0.24.4.0";
+       sha256 = "13532qzpvlq976049bdfyqzhb4g843ij3b7w654xqb2ng9q4inwz";
+       libraryHaskellDepends = [
+         base bytestring containers lens rainbow text
+       ];
+       testHaskellDepends = [
+         base bytestring containers lens QuickCheck rainbow tasty
+         tasty-quickcheck text
+       ];
+       description = "Two-dimensional box pretty printing, with colors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rake" = callPackage
     ({ mkDerivation, base, containers, text }:
      mkDerivation {
@@ -195758,6 +197722,45 @@ self: {
        broken = true;
      }) {};
 
+  "ral" = callPackage
+    ({ mkDerivation, adjunctions, base, bin, criterion, deepseq
+     , distributive, fin, hashable, QuickCheck, semigroupoids, vector
+     }:
+     mkDerivation {
+       pname = "ral";
+       version = "0.1";
+       sha256 = "0h8jqaapagrp9faixq817lib8l4nq4ycjj6ppl1ra8llnfsz5304";
+       libraryHaskellDepends = [
+         adjunctions base bin deepseq distributive fin hashable QuickCheck
+         semigroupoids
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Random access lists";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-lens" = callPackage
+    ({ mkDerivation, base, bin, fin, lens, ral }:
+     mkDerivation {
+       pname = "ral-lens";
+       version = "0.1";
+       sha256 = "0hm8mzj51hdql8rp3v0yvmcvmgha4ys8zsgbbx93mlp2b4rfhzpv";
+       libraryHaskellDepends = [ base bin fin lens ral ];
+       description = "Length-indexed random access lists: lens utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
+  "ral-optics" = callPackage
+    ({ mkDerivation, base, bin, fin, optics-core, ral }:
+     mkDerivation {
+       pname = "ral-optics";
+       version = "0.1";
+       sha256 = "0sky2zbh6wn4xlfc6sbrx7lvvy01qv69j80k0n4w9fyrq9ammb3r";
+       libraryHaskellDepends = [ base bin fin optics-core ral ];
+       description = "Length-indexed random access lists: optics utilities";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "ralist" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hspec }:
      mkDerivation {
@@ -196000,16 +198003,16 @@ self: {
      }) {};
 
   "random-fu" = callPackage
-    ({ mkDerivation, base, erf, log-domain, math-functions, monad-loops
-     , mtl, random-shuffle, random-source, rvar, syb, template-haskell
+    ({ mkDerivation, base, erf, math-functions, monad-loops, mtl
+     , random-shuffle, random-source, rvar, syb, template-haskell
      , transformers, vector
      }:
      mkDerivation {
        pname = "random-fu";
-       version = "0.2.7.0";
-       sha256 = "1i5hg74gv6885vnhmyknydhsyrps2h5zjiq4dv992jg3xnrs9cxn";
+       version = "0.2.7.3";
+       sha256 = "071b3gi88kmrfiy6kyz1x67mqljwqb4l45vzg1rc2zig3iwy66ih";
        libraryHaskellDepends = [
-         base erf log-domain math-functions monad-loops mtl random-shuffle
+         base erf math-functions monad-loops mtl random-shuffle
          random-source rvar syb template-haskell transformers vector
        ];
        description = "Random number generation";
@@ -196680,8 +198683,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "1.0.8";
-       sha256 = "045hr0jilydb1xcvhh9q5iwazpf1k1d2q1y0h4gkgnbn6qmgwhnk";
+       version = "1.0.9";
+       sha256 = "1kwn7ahjbp8w83ph73w43mh0szywqd2f817b7mz2wqimzb153k5b";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -196700,8 +198703,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "1.1.0";
-       sha256 = "1wgmlcazfbz4y4q9k6367i76l8cal1qgqhqbh2p69ca365w9pf56";
+       version = "1.1.1";
+       sha256 = "1qpbhi1g7j5qbn15s0h8vdhc6zisz5j2hgr6qwg2kipi4kvvsgy9";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers http-client ratel wai
        ];
@@ -196807,8 +198810,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "9.0.6";
-       sha256 = "1kb3nfm8izgb97f6lbkwcvnc9a2z4hy89hj5hnxmnph7r9s1njii";
+       version = "9.0.7";
+       sha256 = "0kgg1qfhgjajzrw22yvcxmiim14pxr2gim1aak3ivnmhn4yff4fg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197465,7 +199468,7 @@ self: {
        pname = "reactive-banana-wx";
        version = "1.1.1.0";
        sha256 = "1yzymc6qpjj8d0fal09vxy2yicbrgrg42khylbbsrzmdgqfnf3kr";
-       configureFlags = [ "-f-buildExamples" ];
+       configureFlags = [ "-f-buildexamples" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -197748,16 +199751,16 @@ self: {
 
   "readme-lhs" = callPackage
     ({ mkDerivation, base, containers, doctest, pandoc, pandoc-types
-     , protolude, text
+     , protolude, text, transformers
      }:
      mkDerivation {
        pname = "readme-lhs";
-       version = "0.2.2";
-       sha256 = "1lxa119c7zbqwvjhxrr6cli14f3zrj93ziivi9y8nr0hcv1dx9z6";
+       version = "0.3.0";
+       sha256 = "1w113jr7sjmq4wkilwjmcaic6sgxp3vzg67dfs0imbd730xhqda8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers pandoc pandoc-types protolude text
+         base containers pandoc pandoc-types protolude text transformers
        ];
        executableHaskellDepends = [ base protolude ];
        testHaskellDepends = [ base doctest protolude ];
@@ -198007,22 +200010,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rebase_1_4" = callPackage
+  "rebase_1_4_1" = callPackage
     ({ mkDerivation, base, base-prelude, bifunctors, bytestring
-     , containers, contravariant, contravariant-extras, deepseq, dlist
-     , either, fail, hashable, mtl, profunctors, scientific, selective
-     , semigroupoids, semigroups, stm, text, time, transformers
-     , unordered-containers, uuid, vector, void
+     , comonad, containers, contravariant, contravariant-extras, deepseq
+     , dlist, either, fail, hashable, mtl, profunctors, scientific
+     , selective, semigroupoids, semigroups, stm, text, time
+     , transformers, unordered-containers, uuid, vector, void
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.4";
-       sha256 = "05l1wfriaa391wbbri2kc70svx47djl0k7hhpz21l4h5piizc4j5";
+       version = "1.4.1";
+       sha256 = "13fvhsxkzrghl6d2isjsxjkfkbkpnfgbdb20lc1z7izqjkvjj8rc";
        libraryHaskellDepends = [
-         base base-prelude bifunctors bytestring containers contravariant
-         contravariant-extras deepseq dlist either fail hashable mtl
-         profunctors scientific selective semigroupoids semigroups stm text
-         time transformers unordered-containers uuid vector void
+         base base-prelude bifunctors bytestring comonad containers
+         contravariant contravariant-extras deepseq dlist either fail
+         hashable mtl profunctors scientific selective semigroupoids
+         semigroups stm text time transformers unordered-containers uuid
+         vector void
        ];
        description = "A more progressive alternative to the \"base\" package";
        license = stdenv.lib.licenses.mit;
@@ -198092,8 +200096,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2";
-       sha256 = "1k2bdinvygn00l12am5n8m2i3vqp6h555mcj6d8xshy320v85np8";
+       version = "0.2.2";
+       sha256 = "1rxa8dzh0ga9xrlwrwzf5lm9miql9lkmcyiy0nrc3s5lkxdsppww";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -198269,10 +200273,10 @@ self: {
     ({ mkDerivation, base, composition-prelude }:
      mkDerivation {
        pname = "recursion";
-       version = "2.2.4.0";
-       sha256 = "0n50nv1lzahy2mfvia5v41f8jx9w2yygzq584xbkirazhj73sjbx";
+       version = "2.2.4.1";
+       sha256 = "09r4a9h4rd48nqdn08v3mvibqvgb0ym05142jrk0qqq8f4la3dni";
        libraryHaskellDepends = [ base composition-prelude ];
-       description = "A recursion schemes library for GHC";
+       description = "A recursion schemes library for Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -198284,8 +200288,8 @@ self: {
        pname = "recursion-schemes";
        version = "5.1.3";
        sha256 = "0a0mkwy3sxg5f1mdlblpn0xl3lwgilnmzs94jqab0pqx9gjkc5xj";
-       revision = "1";
-       editedCabalFile = "0zxcmga4fy42arbyv1kzbyfnsghnll3prkpva58x654x4cg4diwk";
+       revision = "2";
+       editedCabalFile = "01q18gplv5k328qf74innnx2z2p15pg5nc6sikxq6fkkw4v3rkyb";
        libraryHaskellDepends = [
          base base-orphans comonad free template-haskell th-abstraction
          transformers
@@ -198351,8 +200355,8 @@ self: {
      }:
      mkDerivation {
        pname = "red-black-record";
-       version = "2.1.0.2";
-       sha256 = "0xfvvhdqnhialxf13xw894mpsf8xj8jig5zipqj1hh6galb0b164";
+       version = "2.1.0.3";
+       sha256 = "0g1av0w52m0admcqif5imkla43yk6id4y8jmiy843xbdqs3qzcx4";
        libraryHaskellDepends = [ base sop-core ];
        testHaskellDepends = [
          aeson base bytestring doctest profunctors sop-core tasty
@@ -198802,6 +200806,19 @@ self: {
        broken = true;
      }) {};
 
+  "refined-http-api-data" = callPackage
+    ({ mkDerivation, base, http-api-data, refined, text }:
+     mkDerivation {
+       pname = "refined-http-api-data";
+       version = "0.1.0.0";
+       sha256 = "0064cz00lp023kbn5vqpcsgjzsxd5a9s5fl1klsq6jlk1cmi5c0m";
+       libraryHaskellDepends = [ base http-api-data refined text ];
+       description = "http-api-data instances for refined types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "refinery" = callPackage
     ({ mkDerivation, base, containers, exceptions, mmorph, mtl, pipes
      , semigroupoids
@@ -198994,8 +201011,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom";
-       version = "0.5";
-       sha256 = "167yghrwf6fay03y46xf87p9bhr6s3rlxn0yk5vnx1s5i95ps1x5";
+       version = "0.5.2.0";
+       sha256 = "01sqql44jcn7d9xcb00br99zgyghiyqzcmncfpz4dgik10dam1hv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -199048,32 +201065,33 @@ self: {
      , containers, contravariant, data-default, dependent-map
      , dependent-sum, dependent-sum-template, directory
      , exception-transformers, exceptions, filepath, ghcjs-dom, hlint
-     , hspec, hspec-webdriver, http-types, HUnit, jsaddle, jsaddle-warp
-     , keycode, lens, lifted-base, monad-control, mtl, network
-     , network-uri, primitive, process, random, ref-tf, reflex
-     , semigroups, silently, stm, template-haskell, temporary, text
-     , these, transformers, unix, wai, wai-websockets, warp, webdriver
-     , websockets, zenc
+     , hspec, hspec-core, hspec-webdriver, http-types, HUnit, jsaddle
+     , jsaddle-warp, keycode, lens, lifted-base, monad-control, mtl
+     , network, network-uri, primitive, process, random, ref-tf, reflex
+     , semialign, semigroups, silently, stm, template-haskell, temporary
+     , text, these, transformers, unix, wai, wai-websockets, warp
+     , webdriver, websockets, which, zenc
      }:
      mkDerivation {
        pname = "reflex-dom-core";
-       version = "0.5";
-       sha256 = "1vzlrqgl48krvm58w4mg5s3xwyc565rgjy7f2g1rxxljr30z95p4";
+       version = "0.5.2.0";
+       sha256 = "1vqd6viqg9di9z0wchi3ffcia4spljf3dal8l21k7qhwcbz4g3jz";
        libraryHaskellDepends = [
          aeson base bifunctors bimap blaze-builder bytestring constraints
          containers contravariant data-default dependent-map dependent-sum
          dependent-sum-template directory exception-transformers ghcjs-dom
          jsaddle keycode lens monad-control mtl network-uri primitive random
-         ref-tf reflex semigroups stm template-haskell text these
+         ref-tf reflex semialign semigroups stm template-haskell text these
          transformers unix zenc
        ];
        testHaskellDepends = [
          aeson base bytestring chrome-test-utils constraints
          constraints-extras containers dependent-map dependent-sum
          dependent-sum-template directory exceptions filepath ghcjs-dom
-         hlint hspec hspec-webdriver http-types HUnit jsaddle jsaddle-warp
-         lens lifted-base network process random ref-tf reflex silently
-         temporary text wai wai-websockets warp webdriver websockets
+         hlint hspec hspec-core hspec-webdriver http-types HUnit jsaddle
+         jsaddle-warp lens lifted-base network process random ref-tf reflex
+         silently temporary text wai wai-websockets warp webdriver
+         websockets which
        ];
        description = "Functional Reactive Web Apps with Reflex";
        license = stdenv.lib.licenses.bsd3;
@@ -199215,6 +201233,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "reflex-libtelnet" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, dependent-map
+     , dependent-sum, dependent-sum-template, lens, libtelnet, reflex
+     }:
+     mkDerivation {
+       pname = "reflex-libtelnet";
+       version = "0.1.0.0";
+       sha256 = "0abqbbbzgsq2sz1yx9cjl7cjfjaygcv4vc8hp6g4gk7744xdshz3";
+       libraryHaskellDepends = [
+         base bytestring data-default dependent-map dependent-sum
+         dependent-sum-template lens libtelnet reflex
+       ];
+       description = "Reflex bindings for libtelnet";
+       license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-orphans" = callPackage
     ({ mkDerivation, base, deepseq, dependent-map, mtl, ref-tf, reflex
      , tasty, tasty-hunit, these
@@ -199340,8 +201376,8 @@ self: {
      }:
      mkDerivation {
        pname = "reform-happstack";
-       version = "0.2.5.2";
-       sha256 = "0d6w500y47ghmiawlv116hqrknr1sx4k525c7arq340slzch03r6";
+       version = "0.2.5.3";
+       sha256 = "04fnn47rcm7n98q0qifyyg9jrh09mzchirwsgi2zzb6j9mciz6ci";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl random reform text utf8-string
        ];
@@ -199355,8 +201391,8 @@ self: {
     ({ mkDerivation, base, hsp, hsx2hs, reform, text }:
      mkDerivation {
        pname = "reform-hsp";
-       version = "0.2.7.1";
-       sha256 = "084d03inyplx3n2zykaz2g7gskzs9hcjq8klhlnzpb1b6ahx5va8";
+       version = "0.2.7.2";
+       sha256 = "1vjbj41yl158h59wcx190jb4s627bhrhcbp21ykn93n4j454kfns";
        libraryHaskellDepends = [ base hsp hsx2hs reform text ];
        description = "Add support for using HSP with Reform";
        license = stdenv.lib.licenses.bsd3;
@@ -199455,6 +201491,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Register allocation API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "reg-alloc-types" = callPackage
@@ -199478,6 +201516,8 @@ self: {
        pname = "regex";
        version = "1.0.2.0";
        sha256 = "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda";
+       revision = "1";
+       editedCabalFile = "1476dxzj482j6zkvbvyszsjw1bm7jn2nwk40rq99ylvzm2sj0asn";
        libraryHaskellDepends = [
          array base base-compat bytestring containers hashable regex-base
          regex-pcre-builtin regex-tdfa regex-tdfa-text template-haskell text
@@ -199913,22 +201953,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "regex-tdfa_1_3_0" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, file-embed
-     , filepath, ghc-prim, mtl, parsec, regex-base, utf8-string
+  "regex-tdfa_1_3_1_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, mtl, parsec, regex-base, text, utf8-string
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.0";
-       sha256 = "1qzcix4bmz5lj0w433qrfi576rvy8y8flv5wvlp6cchb2s8mfq0v";
+       version = "1.3.1.0";
+       sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
        libraryHaskellDepends = [
-         array base bytestring containers ghc-prim mtl parsec regex-base
+         array base bytestring containers mtl parsec regex-base text
        ];
        testHaskellDepends = [
-         array base bytestring containers file-embed filepath mtl regex-base
-         utf8-string
+         array base bytestring containers directory filepath mtl regex-base
+         text utf8-string
        ];
-       description = "Replaces/Enhances Text.Regex";
+       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -200077,6 +202117,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-wrapper" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hashable
+     , regex-tdfa, string-conv, text
+     }:
+     mkDerivation {
+       pname = "regex-wrapper";
+       version = "0.1.0.1";
+       sha256 = "0ibkdd5xpilzm5qngn01csrin6ial1hhjzgpi3wjv6krlswdil34";
+       libraryHaskellDepends = [
+         aeson base bytestring containers hashable regex-tdfa string-conv
+         text
+       ];
+       description = "Types that can only be constructed if they match a regular expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regex-xmlschema" = callPackage
     ({ mkDerivation, base, haskell98, parsec }:
      mkDerivation {
@@ -200349,6 +202405,17 @@ self: {
        broken = true;
      }) {};
 
+  "regression-simple" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "regression-simple";
+       version = "0.1";
+       sha256 = "0f74xwyrnz39cl24kazvk8rd3px2l2ycx6a5jaqlab6wiwi5xclq";
+       libraryHaskellDepends = [ base vector ];
+       description = "Simple linear and quadratic regression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regular" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -200698,8 +202765,8 @@ self: {
      }:
      mkDerivation {
        pname = "releaser";
-       version = "0.2.0.0";
-       sha256 = "1hh4z87rc11pgapbrz0sjcy21pvgnm201b85prn09kiwcqrawz8r";
+       version = "0.2.1.0";
+       sha256 = "1nmbqilik3zdcyi7b5hq7xrk1f62g6lw0i8014zxqz56lcwkaj4z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201719,6 +203786,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "req_3_0_0" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
+     , bytestring, case-insensitive, connection, hspec, hspec-core
+     , hspec-discover, http-api-data, http-client, http-client-tls
+     , http-types, modern-uri, monad-control, mtl, QuickCheck, retry
+     , text, time, transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "req";
+       version = "3.0.0";
+       sha256 = "0zcali98wlw2r4rl405268n4fsia1gvvnq7ckkinb3adp4aksk18";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson authenticate-oauth base blaze-builder bytestring
+         case-insensitive connection http-api-data http-client
+         http-client-tls http-types modern-uri monad-control mtl retry text
+         time transformers transformers-base
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder bytestring case-insensitive hspec
+         hspec-core http-client http-types modern-uri monad-control mtl
+         QuickCheck retry text time unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       doCheck = false;
+       description = "Easy-to-use, type-safe, expandable, high-level HTTP client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "req-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-extra, hspec
      , http-client, req, resourcet, temporary, transformers, weigh
@@ -201727,8 +203824,8 @@ self: {
        pname = "req-conduit";
        version = "1.0.0";
        sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
-       revision = "5";
-       editedCabalFile = "1vbki857d5xj54s83r7kqirrg9a738xr55d40xqcaxxm7ki4s63i";
+       revision = "6";
+       editedCabalFile = "0wmzf62r5jawlccbndvsrr6cj4r0bdl4mqqwcnxz412cdq71w8hz";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -201860,12 +203957,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rerebase_1_4" = callPackage
+  "rerebase_1_4_1" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.4";
-       sha256 = "1xqcjzkwjf3zrwsrj4l2d1kg685a4x3bapfypsvk61m1qhvwwxzl";
+       version = "1.4.1";
+       sha256 = "19a3pwi801kfaflnag9n7zzxapcjfpqpykr6rq8b6axhyqj3vxim";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = stdenv.lib.licenses.mit;
@@ -203190,21 +205287,21 @@ self: {
      }) {};
 
   "rib" = callPackage
-    ({ mkDerivation, aeson, async, base, binary, bytestring, clay
-     , cmdargs, containers, data-default, fsnotify, http-types, lens
-     , lens-aeson, lucid, mtl, pandoc, pandoc-include-code, pandoc-types
-     , safe, shake, skylighting, text, time, wai, wai-app-static
-     , wai-extra, warp
+    ({ mkDerivation, aeson, async, base-noprelude, binary, clay
+     , cmdargs, containers, directory, exceptions, foldl, fsnotify
+     , lucid, megaparsec, mmark, mmark-ext, modern-uri, mtl, named
+     , pandoc, pandoc-include-code, pandoc-types, path, path-io, relude
+     , shake, text, wai, wai-app-static, warp
      }:
      mkDerivation {
        pname = "rib";
-       version = "0.3.0.0";
-       sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18";
+       version = "0.5.0.0";
+       sha256 = "1h9faqwicvgkw5lfj14mcmk0sn8fjzv1vl9887s4y4q4jpi2wfvb";
        libraryHaskellDepends = [
-         aeson async base binary bytestring clay cmdargs containers
-         data-default fsnotify http-types lens lens-aeson lucid mtl pandoc
-         pandoc-include-code pandoc-types safe shake skylighting text time
-         wai wai-app-static wai-extra warp
+         aeson async base-noprelude binary clay cmdargs containers directory
+         exceptions foldl fsnotify lucid megaparsec mmark mmark-ext
+         modern-uri mtl named pandoc pandoc-include-code pandoc-types path
+         path-io relude shake text wai wai-app-static warp
        ];
        description = "Static site generator using Shake";
        license = stdenv.lib.licenses.bsd3;
@@ -203216,10 +205313,12 @@ self: {
     ({ mkDerivation, base, Only, postgresql-simple, text, time }:
      mkDerivation {
        pname = "ribbit";
-       version = "0.4.0.0";
-       sha256 = "0nmpsi8b6m88za9jxawz36jjhsybn39ldi503ap7m9wd765j1dbz";
+       version = "0.4.1.0";
+       sha256 = "1pgyh7ar03k62mpn09g8qm13m1j07wq257hpva3f9sx9n5qd8z2a";
+       revision = "1";
+       editedCabalFile = "11ky88hgkys3bzsqr3sl9j685h6l97r2zccpz1ylinsrvinwnq8s";
        libraryHaskellDepends = [ base Only postgresql-simple text time ];
-       description = "Type-level Relational DB combinators";
+       description = "Type-level Relational DB language";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -203468,19 +205567,21 @@ self: {
      }) {};
 
   "rings" = callPackage
-    ({ mkDerivation, base, connections, containers, contravariant
-     , hedgehog, property, semigroupoids
+    ({ mkDerivation, base, connections, containers, hedgehog, property
+     , semigroupoids
      }:
      mkDerivation {
        pname = "rings";
-       version = "0.0.2";
-       sha256 = "1jw9wzwixzm970rgv5fbji74dajz8ii4pqngjpihp2g0x8wq1scx";
+       version = "0.0.2.1";
+       sha256 = "00aks4frrnp5wk97zgbg9f1bsj3wm7hppfwa8mwr77lfgvbsd1hn";
        libraryHaskellDepends = [
-         base connections containers contravariant property semigroupoids
+         base connections containers property semigroupoids
        ];
        testHaskellDepends = [ base connections hedgehog property ];
        description = "Rings, semirings, and dioids";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "rio" = callPackage
@@ -204443,17 +206544,18 @@ self: {
   "rosa" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, lens
      , namecoin-update, optparse-applicative, text, unordered-containers
-     , vector, wreq
+     , uri-encode, vector, wreq
      }:
      mkDerivation {
        pname = "rosa";
-       version = "0.4.0.0";
-       sha256 = "0326ghscyg5rrw54610x8n6mkdr5pim3c7pspb01dg77gbzr0mrm";
+       version = "0.5.0.1";
+       sha256 = "1nk56nm6gcrcgi2i3x683i0ygbl8x5qc3xqhq14n2s5l45fmgw10";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson base bytestring directory lens namecoin-update
-         optparse-applicative text unordered-containers vector wreq
+         optparse-applicative text unordered-containers uri-encode vector
+         wreq
        ];
        description = "Query the namecoin blockchain";
        license = stdenv.lib.licenses.gpl3;
@@ -205642,8 +207744,10 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "safe";
-       version = "0.3.17";
-       sha256 = "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr";
+       version = "0.3.18";
+       sha256 = "1v8gxjlq5wz5adyrd8i3dax5hcxrqq0i54m85zpfwfzqibi5nxyp";
+       revision = "1";
+       editedCabalFile = "0zr1di94nbvs6848g1ng6azl7nwm7454kjig2c7gcf9sp4q7z8ba";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base deepseq QuickCheck ];
        description = "Library of safe (exception free) functions";
@@ -206320,6 +208424,8 @@ self: {
        pname = "salak";
        version = "0.3.5.3";
        sha256 = "0k6z2vjxg6za6rfhx1xgjdck7ainnsbhrvzav2ngwpvy8li5g02b";
+       revision = "1";
+       editedCabalFile = "138c763crbfipcb9ss1lk3wx3482nm2v4zbm3k88h6jszxhmxvav";
        libraryHaskellDepends = [
          base bytestring containers data-default directory dlist exceptions
          filepath hashable heaps megaparsec mtl scientific text time
@@ -206424,8 +208530,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.6";
-       sha256 = "1vgpj0yg27n6hw1gb763hgxv99hpq7511n2ihys0qdi0ri8bpj1j";
+       version = "1.0.8";
+       sha256 = "1hgcyincccib0v671kd8qybgf8q9m0n8lcrpj37pgq9wzq6x34sm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Semantic version numbers and constraints";
@@ -207050,8 +209156,6 @@ self: {
        testSystemDepends = [ z3 ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "sbv_8_5" = callPackage
@@ -207084,7 +209188,6 @@ self: {
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "sbvPlugin" = callPackage
@@ -207563,6 +209666,8 @@ self: {
        ];
        description = "Work stealing scheduler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedyield" = callPackage
@@ -207792,31 +209897,33 @@ self: {
      }) {};
 
   "scidb-hquery" = callPackage
-    ({ mkDerivation, alex, array, base, BNFC, bytestring, Cabal
-     , connection, cryptonite, data-default-class, directory, exceptions
-     , filepath, happy, haskeline, hostname-validate, HTTP, http-client
-     , http-client-tls, http-conduit, http-types, memory, mtl, network
-     , process, regex, safe, split, terminal-size, text, tls, x509-store
+    ({ mkDerivation, alex, array, base, base-compat, BNFC, bytestring
+     , Cabal, connection, cryptonite, data-default-class, directory
+     , exceptions, filepath, happy, haskeline, hostname-validate, HTTP
+     , http-client, http-client-tls, http-conduit, http-types, memory
+     , mtl, network, process, regex, safe, split, terminal-size, text
+     , tls, x509-store
      }:
      mkDerivation {
        pname = "scidb-hquery";
-       version = "2.8.0.434";
-       sha256 = "0q994ac1krcw312nklxxjr9d4r231s50lb2crbpph1swv6h8jwrq";
+       version = "2.8.0.436";
+       sha256 = "0mkicmfvwc7xg37d46s7xrcsdaff09v7x86npd1bgv1k60m4c8gq";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
-         array base bytestring connection cryptonite data-default-class
-         exceptions haskeline hostname-validate HTTP http-client
-         http-client-tls http-conduit http-types memory mtl network process
-         regex safe split terminal-size text tls x509-store
+         array base base-compat bytestring connection cryptonite
+         data-default-class exceptions haskeline hostname-validate HTTP
+         http-client http-client-tls http-conduit http-types memory mtl
+         network process regex safe split terminal-size text tls x509-store
        ];
        libraryToolDepends = [ alex BNFC happy ];
        executableHaskellDepends = [
-         array base bytestring connection cryptonite data-default-class
-         directory exceptions filepath haskeline hostname-validate HTTP
-         http-client http-client-tls http-conduit http-types memory mtl
-         network process regex safe split terminal-size text tls x509-store
+         array base base-compat bytestring connection cryptonite
+         data-default-class directory exceptions filepath haskeline
+         hostname-validate HTTP http-client http-client-tls http-conduit
+         http-types memory mtl network process regex safe split
+         terminal-size text tls x509-store
        ];
        description = "Haskell query for SciDB via shim";
        license = stdenv.lib.licenses.gpl3;
@@ -207881,8 +209988,8 @@ self: {
      }:
      mkDerivation {
        pname = "scientific-notation";
-       version = "0.1.0.1";
-       sha256 = "1a877ryswq5h7i3lml55ksrx5hzd9gwbm2yzp0a7cw1hb6r5pjs7";
+       version = "0.1.1.0";
+       sha256 = "1s0iyj6dn0nbn8s31b5wwwlyfx5jcnwa3i9gp45idcwfsz5hmdvq";
        libraryHaskellDepends = [ base bytesmith ];
        testHaskellDepends = [
          base byteslice bytesmith bytestring primitive QuickCheck tasty
@@ -208629,6 +210736,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "sdl-try-drivers" = callPackage
+    ({ mkDerivation, base, pretty-simple, sdl2, text }:
+     mkDerivation {
+       pname = "sdl-try-drivers";
+       version = "0.0.0.2";
+       sha256 = "0456j3c6a76ph01cz0cdhgfqyyamrwh0y7v5f336kvh5cmsdyw57";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base pretty-simple sdl2 text ];
+       description = "small testing tool for sdl2 and accelerated drivers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sdl2" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
      , SDL2, StateVar, text, transformers, vector, weigh
@@ -209594,6 +211714,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "semialign-extras" = callPackage
+    ({ mkDerivation, base, doctest, lens, QuickCheck, semialign
+     , semialign-indexed, these, witherable
+     }:
+     mkDerivation {
+       pname = "semialign-extras";
+       version = "0.1.0.0";
+       sha256 = "0wnaspwfj9rm7g9mz2q9xad5a9rvkfsrjb5lir64csppy3p11276";
+       libraryHaskellDepends = [
+         base lens semialign semialign-indexed these witherable
+       ];
+       testHaskellDepends = [ base doctest QuickCheck ];
+       description = "Extra functions for working with Semialigns";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "semialign-indexed" = callPackage
     ({ mkDerivation, base, containers, hashable, lens, semialign, these
      , unordered-containers, vector
@@ -209663,8 +211801,8 @@ self: {
      }:
      mkDerivation {
        pname = "semigroupoids";
-       version = "5.3.3";
-       sha256 = "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61";
+       version = "5.3.4";
+       sha256 = "0r49qpbi803jk3v4i09jr1a98l6hcgnjhrv1a9fhmay3ff4y9lh0";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
@@ -209779,10 +211917,8 @@ self: {
      }:
      mkDerivation {
        pname = "semiring-num";
-       version = "1.6.0.1";
-       sha256 = "1l9j59r0ph34fqkjw1gdf3yzyzk8p6362cznixzx6qnhphbkqjsi";
-       revision = "1";
-       editedCabalFile = "123jk59i4ziv6ghmy8349icpvzgw90xjd6dxzlnayf0qg01adzsr";
+       version = "1.6.0.4";
+       sha256 = "1wpszhdjh2hmgnfzwdsdai1xzq0y1panay9jz5sa82hg11p4wa44";
        libraryHaskellDepends = [
          base containers deepseq hashable log-domain scientific
          template-haskell time unordered-containers vector
@@ -210171,8 +212307,8 @@ self: {
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
        pname = "seqid";
-       version = "0.6.0";
-       sha256 = "1zm1zmzp3i60wb17ghr4rp5ljlhvsblll69x2ibjk7kh5icvwfqc";
+       version = "0.6.1";
+       sha256 = "0gqmnckrrs85cwz2jvp2ip7a5c5qfbav4nb9d8bxax093jziz301";
        libraryHaskellDepends = [ base mtl transformers ];
        description = "Sequence ID production and consumption";
        license = stdenv.lib.licenses.bsd3;
@@ -210197,8 +212333,8 @@ self: {
     ({ mkDerivation, base, io-streams, seqid }:
      mkDerivation {
        pname = "seqid-streams";
-       version = "0.7.0";
-       sha256 = "0z80cclvzkr6dg81n96dpan9a7285rlq9nmchiy4raxsjw4cza58";
+       version = "0.7.1";
+       sha256 = "0yasm87kjhdq13zacpd4qa3kssalwvkipf3rz2cq1dgdgps5mxf7";
        libraryHaskellDepends = [ base io-streams seqid ];
        description = "Sequence ID IO-Streams";
        license = stdenv.lib.licenses.bsd3;
@@ -210668,8 +212804,8 @@ self: {
        pname = "servant-auth";
        version = "0.3.2.0";
        sha256 = "12s1m7vqp0ka8nani4cnrb6fad2y5mxji95bba2b6b07ih8xbd3v";
-       revision = "1";
-       editedCabalFile = "10ss4v45lclf5n0k6rch22zzs59v7p5ppd04dbc97pqxiygpbnd9";
+       revision = "2";
+       editedCabalFile = "06jpxqz5444k19p1n4i4yf2pvql37w9ngssp1grxl42dxk2bcg94";
        libraryHaskellDepends = [ base ];
        description = "Authentication combinators for servant";
        license = stdenv.lib.licenses.bsd3;
@@ -210686,8 +212822,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.0.0";
        sha256 = "1kh4kq3cc9fn49vmh304zyzn7idb4k1j0803yp7a6qc733panf9g";
-       revision = "1";
-       editedCabalFile = "0cynalya2y5bfnhkc49vwf0ldxg4km6nklk77nlxjcrvwas21g7z";
+       revision = "2";
+       editedCabalFile = "0c67m1ckksnmwkya78nn9hy65xb7c4023fy7d3pp6zyq8izrp1v8";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -210742,8 +212878,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "3";
-       editedCabalFile = "0in6rhgwn5idc2rsl4zbh6kkhxq471iczjd3i6ap60xg46ciymga";
+       revision = "4";
+       editedCabalFile = "1dvwkaihrm7dc2zdrqqvc0j7zmij487klrmsggsdiid7y68nyrqh";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -210832,8 +212968,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.0";
        sha256 = "04ndbbhdmpgb8yshki6q2j46a5q8fzvlb4nn8x8gv0mqkriq79sh";
-       revision = "2";
-       editedCabalFile = "1vr0qss87gi6r9z876v9vnmfhr4m58n5x44fgzpmjkn7wlh1i6m7";
+       revision = "3";
+       editedCabalFile = "087faa5bg2hlxyhg7jzy2jj4fzs3dkp0znsbabrharcvdlkpqj1r";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -210896,8 +213032,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-token-api";
-       version = "0.5.3.0";
-       sha256 = "0i9i89a9h9xq6r23p6xxyf7ywgr90p2dyw8862qz0pdj0qdbbi5v";
+       version = "0.5.4.0";
+       sha256 = "1rjmhyskxypl9gm4g8yq9zfj91dmbz72qxmrijd1gjjv5s5cr91m";
        libraryHaskellDepends = [
          aeson aeson-injector base lens raw-strings-qq servant servant-docs
          servant-swagger swagger2 text
@@ -211101,6 +213237,37 @@ self: {
        pname = "servant-cli";
        version = "0.1.0.1";
        sha256 = "12d18ca90b7mijaav3glx60b9c9qd1f2g4p5m4m7hzz2m22dyimn";
+       revision = "1";
+       editedCabalFile = "1h29x87kqyylwigz86bwrgjdykk1119alsy65a7jkkcrj7a3syqa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers filepath free
+         functor-combinators http-types optparse-applicative profunctors
+         recursion-schemes servant servant-client-core servant-docs text
+         transformers vinyl
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers http-client optparse-applicative
+         random servant servant-client servant-server text vinyl warp
+       ];
+       description = "Command line interface for Servant API clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "servant-cli_0_1_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, free, functor-combinators, http-client
+     , http-types, optparse-applicative, profunctors, random
+     , recursion-schemes, servant, servant-client, servant-client-core
+     , servant-docs, servant-server, text, transformers, vinyl, warp
+     }:
+     mkDerivation {
+       pname = "servant-cli";
+       version = "0.1.0.2";
+       sha256 = "11pl9z3l2f7py16drqq9zvl9z5358jv1q7pqslhkhrqg5vhp822k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -213052,8 +215219,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.9.1";
-       sha256 = "09l9d43ls4ca10y0fx39l8bqsmb226sa0f5yprsm5jz5nbvl70qv";
+       version = "0.9.4";
+       sha256 = "11svl9km810xw4vbn3vd9jqnv9fglf5jqfyfshnjachiz38fdsih";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -213793,6 +215960,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sexpresso" = callPackage
+    ({ mkDerivation, base, containers, megaparsec, smallcheck, tasty
+     , tasty-hunit, tasty-smallcheck, text
+     }:
+     mkDerivation {
+       pname = "sexpresso";
+       version = "1.0.0.2";
+       sha256 = "1pyhzxpnzc34dyhs4xh29dzqp8f5zqgdhb20g2gy2l63lh0fickn";
+       libraryHaskellDepends = [ base containers megaparsec text ];
+       testHaskellDepends = [
+         base containers megaparsec smallcheck tasty tasty-hunit
+         tasty-smallcheck text
+       ];
+       description = "A flexible library for parsing and printing S-expression";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sext" = callPackage
     ({ mkDerivation, base, bytestring, tasty, tasty-hunit
      , template-haskell, text, vector
@@ -213869,8 +216054,8 @@ self: {
      }:
      mkDerivation {
        pname = "sgd";
-       version = "0.8.0.2";
-       sha256 = "1lzfnzk2iqjrsp6xksfa4qm7a2qh4q1y10mdqigl8slr5nsy9045";
+       version = "0.8.0.3";
+       sha256 = "0nl7hiw9b25jgp2742ykx8f4c7irz1b7rd9i19vpcmshkkmqcvsl";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq filepath
          hmatrix logfloat monad-par mtl parallel pipes primitive random
@@ -214108,8 +216293,8 @@ self: {
      }:
      mkDerivation {
        pname = "shake-ats";
-       version = "1.10.4.0";
-       sha256 = "1kkwkcbzq3dks290c23axg6jidbkjxx750gmixa8n5gr34wmz7hf";
+       version = "1.10.4.1";
+       sha256 = "14b1yiw0bhj81pj1dhax7pdf9c68iwlndqg5c3n3c2p6qlcbbd8f";
        libraryHaskellDepends = [
          base binary cdeps dependency directory hs2ats language-ats
          microlens shake shake-c shake-cabal shake-ext text
@@ -214188,8 +216373,8 @@ self: {
     ({ mkDerivation, base, directory, shake }:
      mkDerivation {
        pname = "shake-ext";
-       version = "3.1.0.2";
-       sha256 = "04nhjq2s7iycjabh33jwbdc8pxdyxnfrwjvl1mxmwrx0zx96dbi9";
+       version = "3.1.1.0";
+       sha256 = "12pfi6rc4y8rjndym0crzyjfmcqnnrh61hww1vrnl614hs00iw6h";
        libraryHaskellDepends = [ base directory shake ];
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
@@ -214377,8 +216562,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.22";
-       sha256 = "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh";
+       version = "2.0.23";
+       sha256 = "0i1k6ahpvc45z05lycxs0f70ngm8xrazp6ayyxv1bzw8q8d4bkz3";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
          exceptions ghc-prim parsec process scientific template-haskell text
@@ -215878,18 +218063,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "simple-cmd-args" = callPackage
-    ({ mkDerivation, base, optparse-applicative }:
+  "simple-cmd_0_2_1" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, unix }:
      mkDerivation {
-       pname = "simple-cmd-args";
-       version = "0.1.3";
-       sha256 = "09cp664flacsq565pqva7vsqcq5ddndck4rh74y6n2j3xzl24a2k";
-       libraryHaskellDepends = [ base optparse-applicative ];
-       description = "Simple command args parsing and execution";
+       pname = "simple-cmd";
+       version = "0.2.1";
+       sha256 = "1b35hsxr63n3nbpjdf7ailsmp4yk6k8nscx8xxv453v0r3v89hss";
+       libraryHaskellDepends = [ base directory filepath process unix ];
+       description = "Simple String-based process commands";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "simple-cmd-args_0_1_4" = callPackage
+  "simple-cmd-args" = callPackage
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
        pname = "simple-cmd-args";
@@ -215898,7 +218084,6 @@ self: {
        libraryHaskellDepends = [ base optparse-applicative ];
        description = "Simple command args parsing and execution";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "simple-conduit" = callPackage
@@ -216991,6 +219176,28 @@ self: {
        broken = true;
      }) {};
 
+  "singular-factory" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hgmp
+     , process, QuickCheck, random, singular-factory, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "singular-factory";
+       version = "0.1";
+       sha256 = "0gz9p32y37ci7i1xnq4n086p1ql5nli84z15xyq6dl1jaz0f541r";
+       libraryHaskellDepends = [
+         base containers directory filepath hgmp process text
+       ];
+       libraryPkgconfigDepends = [ singular-factory ];
+       testHaskellDepends = [
+         base QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Multivariate polynomial factorization via bindings to Singular-factory";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {singular-factory = null;};
+
   "sink" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -217115,8 +219322,8 @@ self: {
      }:
      mkDerivation {
        pname = "sitepipe";
-       version = "0.4.0.0";
-       sha256 = "0y8llic3imc1zs53glig24vjm59f2dnw4sw32gzkvlzq33689s7s";
+       version = "0.4.0.1";
+       sha256 = "1iq7i2zs1bqnxqjp5bwsx8q2vvp1kngwg45mzsiwmhzq4m88x80h";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions filepath Glob
          lens lens-aeson megaparsec MissingH mtl mustache
@@ -217542,14 +219749,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_8_2_3" = callPackage
+  "skylighting_0_8_3" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , skylighting-core
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.8.2.3";
-       sha256 = "10byr42qnsrqs368li412n8zz405annwmh4vvq2yh6xskipgb32p";
+       version = "0.8.3";
+       sha256 = "1gsmbzgfxwsfvnk3mbd29llv5wkvn5v7ybs46y6kvf51sdf4v6i6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -217592,7 +219799,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "skylighting-core_0_8_2_3" = callPackage
+  "skylighting-core_0_8_3" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
      , case-insensitive, colour, containers, criterion, Diff, directory
@@ -217602,8 +219809,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.8.2.3";
-       sha256 = "005ancb8y846xsiagnb4gp4bn4h86r551rvpm3x4xj5zpr795pnc";
+       version = "0.8.3";
+       sha256 = "07l8n290wm533qp7h1kdn99b47f2lrq4mag2snfpllll8ss35773";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -217905,8 +220112,8 @@ self: {
      }:
      mkDerivation {
        pname = "slick";
-       version = "1.0.0.0";
-       sha256 = "11wzfgxx5cjdkwgs23afidvjck8q8vs4p2qm7g9f2zxiq6706y89";
+       version = "1.0.1.0";
+       sha256 = "0zmg8k12dd8apjd6bjjhf5vdfc927pq372r5gvyjx5rmrfkcwx4l";
        libraryHaskellDepends = [
          aeson base bytestring directory extra mustache pandoc shake text
          unordered-containers
@@ -217956,8 +220163,8 @@ self: {
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "slist";
-       version = "0.0.0";
-       sha256 = "0w9rgy0afma2gk36jbk7r8kyvl4vfhd0pfbv6ank2pr6kd5a4a0z";
+       version = "0.1.0.0";
+       sha256 = "0yvcy8v9qpg517njy3sr5vqr4jgpynii7lw8gqh9pwjk40q628wf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Sized list";
@@ -218107,20 +220314,21 @@ self: {
   "small-bytearray-builder" = callPackage
     ({ mkDerivation, base, byteslice, bytestring, gauge
      , natural-arithmetic, primitive, primitive-offset, QuickCheck
-     , run-st, tasty, tasty-hunit, tasty-quickcheck, text, text-short
-     , vector
+     , quickcheck-classes, run-st, tasty, tasty-hunit, tasty-quickcheck
+     , text, text-short, vector, wide-word
      }:
      mkDerivation {
        pname = "small-bytearray-builder";
-       version = "0.3.0.0";
-       sha256 = "17c0mwanwj96djirh6vac9k5dh8qsl9inx237wwbln4j3br4mkz4";
+       version = "0.3.1.0";
+       sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
-         primitive-offset run-st text-short
+         primitive-offset run-st text-short wide-word
        ];
        testHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive QuickCheck
-         tasty tasty-hunit tasty-quickcheck text vector
+         quickcheck-classes tasty tasty-hunit tasty-quickcheck text vector
+         wide-word
        ];
        benchmarkHaskellDepends = [
          base byteslice gauge natural-arithmetic primitive text-short
@@ -218372,28 +220580,27 @@ self: {
      }) {};
 
   "smcdel" = callPackage
-    ({ mkDerivation, alex, ansi-terminal, array, base, containers
-     , criterion, cudd, directory, file-embed, filepath, graphviz, happy
-     , HasCacBDD, hspec, js-jquery, lens, process, QuickCheck, scotty
-     , tagged, template-haskell, temporary, text, time
+    ({ mkDerivation, ansi-terminal, array, base, containers, criterion
+     , cudd, directory, file-embed, filepath, graphviz, HasCacBDD, hspec
+     , js-jquery, process, QuickCheck, scotty, tagged, template-haskell
+     , temporary, text, time
      }:
      mkDerivation {
        pname = "smcdel";
-       version = "1.0.0";
-       sha256 = "1yi2qw76i9cch1flnqd7gsradkm2gr31i8595rwf11xgvj3r3s3f";
+       version = "1.1.0";
+       sha256 = "0dz1hbhf3y57cn4hh5s2fscnpw7zjnrl2hl644xl81vbpl1zbzyn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base containers cudd graphviz HasCacBDD lens process
-         QuickCheck tagged temporary text time
+         array base containers cudd graphviz HasCacBDD process QuickCheck
+         tagged temporary text time
        ];
        executableHaskellDepends = [
          ansi-terminal base directory file-embed filepath HasCacBDD
          js-jquery process scotty template-haskell text
        ];
-       executableToolDepends = [ alex happy ];
        testHaskellDepends = [ base containers hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base containers criterion time ];
+       benchmarkHaskellDepends = [ base criterion time ];
        description = "Symbolic Model Checking for Dynamic Epistemic Logic";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -218930,10 +221137,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.4.0";
-       sha256 = "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr";
-       revision = "1";
-       editedCabalFile = "1nw74vpfag6gdh66kq82a0kdb05c2xnwcfacwlcg77j24gxcgi6s";
+       version = "1.0.4.1";
+       sha256 = "19dmfqbsfyk1rkjnnrnajpjfam2xjxgmpfmx10yr5qffgza7gcf0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -220862,8 +223067,8 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "some";
-       version = "1.0.0.3";
-       sha256 = "0c2y51gw94faafa0jvb3awnsvj89saan4ryy0d5dwivp0zp9gg64";
+       version = "1.0.1";
+       sha256 = "13dpvxswjcsmic8h2vayp77qzl820gg4g29g5n2xcja8gnzjkkii";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base ];
        description = "Existential type: Some";
@@ -221026,6 +223231,26 @@ self: {
        broken = true;
      }) {};
 
+  "souffle-haskell" = callPackage
+    ({ mkDerivation, base, hspec, mtl, template-haskell
+     , type-errors-pretty
+     }:
+     mkDerivation {
+       pname = "souffle-haskell";
+       version = "0.0.1";
+       sha256 = "1sz5xaw24fknq4y9a9cpp36h6fm46ipclp3nwmpqpnc5svsslgbz";
+       libraryHaskellDepends = [
+         base mtl template-haskell type-errors-pretty
+       ];
+       testHaskellDepends = [
+         base hspec mtl template-haskell type-errors-pretty
+       ];
+       description = "Souffle Datalog bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "sound-collage" = callPackage
     ({ mkDerivation, array, base, Cabal, carray, containers, fft
      , filepath, numeric-prelude, optparse-applicative, pathtype
@@ -221231,8 +223456,8 @@ self: {
      }:
      mkDerivation {
        pname = "spacecookie";
-       version = "0.2.1.0";
-       sha256 = "0a8zsywkmbw7rj4iin72l2zcbyzjb0yhpmz6bv226cn0x44iy1nc";
+       version = "0.2.1.1";
+       sha256 = "0l3knzsqab58yyk6kafpxxh465ncgqr2gi388k89gxwrlcqkl8wr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -221245,8 +223470,6 @@ self: {
        ];
        description = "Gopher Library and Server Daemon";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "spacefill" = callPackage
@@ -222840,6 +225063,8 @@ self: {
        ];
        description = "A file-packing application";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "sr-extra" = callPackage
@@ -223147,6 +225372,8 @@ self: {
        libraryHaskellDepends = [ base gdp ghc-prim primitive ];
        description = "shared heap regions between local mutable state threads";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "stable-heap" = callPackage
@@ -223273,8 +225500,8 @@ self: {
        pname = "stache";
        version = "2.1.0";
        sha256 = "1q34h46px7miy2kx1yzaj785ai70mkchmijpdq2iih1fffir8kvk";
-       revision = "1";
-       editedCabalFile = "19vkvp6gkhld4lm8d87sicw63cd6d5awphyjpsdg9iha44j6sh11";
+       revision = "2";
+       editedCabalFile = "0vzby2q8qp6z74ighqalw05b94821cl9w6dbwy4hkgd67pc38nph";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
@@ -223623,6 +225850,24 @@ self: {
        broken = true;
      }) {};
 
+  "stack-wrapper" = callPackage
+    ({ mkDerivation, base, filepath, process }:
+     mkDerivation {
+       pname = "stack-wrapper";
+       version = "0.1.0";
+       sha256 = "002id9nd6lsg3hyy93ylj9x1jjdwrg2xhahsnp6m1igxq2yns0xr";
+       revision = "1";
+       editedCabalFile = "0biz4w2xrfj0bsb6xj0sjlrs567zvd207f1bkh7c265ip47gfhni";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base filepath process ];
+       executableHaskellDepends = [ base filepath process ];
+       description = "Call ghc within stack by calling ghc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "stack-yaml" = callPackage
     ({ mkDerivation, base, bytestring, directory, doctest, filepath
      , Glob, text, yaml
@@ -223640,18 +225885,25 @@ self: {
      }) {};
 
   "stack2cabal" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, extra
-     , filepath, hpack, stackage-to-hackage, text
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , extra, filepath, hpack, HsYAML, http-client, http-client-tls
+     , text
      }:
      mkDerivation {
        pname = "stack2cabal";
-       version = "1.0.3";
-       sha256 = "1bmghzb866p3225ai3w4xxy3s2qic3vr4srcx7xb113qjvmadran";
-       isLibrary = false;
+       version = "1.0.5";
+       sha256 = "15swq7rv997fh1qka7ga5hc90gc889xzkx61910jz3an6sy5zx0p";
+       revision = "1";
+       editedCabalFile = "15qc686alcfbxjpr7iyi2bxv801cmbkqvncpb6jd0879ll9lznrh";
+       isLibrary = true;
        isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
+       ];
        executableHaskellDepends = [
-         base bytestring Cabal directory extra filepath hpack
-         stackage-to-hackage text
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
        ];
        description = "Convert stack projects to cabal.project + cabal.project.freeze";
        license = stdenv.lib.licenses.gpl3Plus;
@@ -223955,6 +226207,8 @@ self: {
        pname = "stackage-to-hackage";
        version = "1.1.1";
        sha256 = "10zd3wqla54mfnwv65gklvmglhcpzhanqfka0l0ilnbkqlgx4acm";
+       revision = "3";
+       editedCabalFile = "07iflizm4w02w8samh5bcydd3jiqxhcwx2w5zylga8g1107cpaa3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -224137,8 +226391,8 @@ self: {
      }:
      mkDerivation {
        pname = "standalone-haddock";
-       version = "1.3.0.0";
-       sha256 = "1s9b2frpsgvc7nghi314adga8z8rmj1x40j7cic2m3m88nqz3g77";
+       version = "1.4.0.0";
+       sha256 = "0ans74cbh592yramp50056n66cqn3fmyv4qkd1gz4awx6d6xryc1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -224391,6 +226645,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "statestack_0_3" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "statestack";
+       version = "0.3";
+       sha256 = "1b8yd314h8a97ggjv82cy4mr0f4scb5pjvslxq7hwxxq7cw7mgns";
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Simple State-like monad transformer with saveable and restorable state";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "statethread" = callPackage
     ({ mkDerivation, applicative, base, transformers }:
      mkDerivation {
@@ -225747,7 +228015,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "store_0_6_0_1" = callPackage
+  "store_0_7_1" = callPackage
     ({ mkDerivation, array, async, base, base-orphans
      , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
      , clock, containers, contravariant, criterion, cryptohash, deepseq
@@ -225761,8 +228029,8 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.6.0.1";
-       sha256 = "0h64fm3rrz6c5bhg1bk9hvl7invjh24mrh7db4dsx12hc8vlz17p";
+       version = "0.7.1";
+       sha256 = "0mxvyy7l0vg545f3v1y5kh7q58ajhwz02fhfk0km2198bhsdfrij";
        libraryHaskellDepends = [
          array async base base-orphans base64-bytestring bifunctors
          bytestring containers contravariant cryptohash deepseq directory
@@ -225894,15 +228162,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_44_0" = callPackage
+  "stratosphere_0_46_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.44.0";
-       sha256 = "10brxs6hs8s0nb17aycbpn4xhiixxhxnv1wgmkc4jy0pbbrp942w";
+       version = "0.46.0";
+       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -226082,12 +228350,12 @@ self: {
      }) {};
 
   "streamdeck" = callPackage
-    ({ mkDerivation, base, bytestring, hidapi, mtl }:
+    ({ mkDerivation, base, bytestring, hidapi, mtl, split }:
      mkDerivation {
        pname = "streamdeck";
-       version = "0.0.3";
-       sha256 = "1cjvdf9ld55pv7n9cx2c4rsczqjxkrx1mkci8aziz59bs2ipqhak";
-       libraryHaskellDepends = [ base bytestring hidapi mtl ];
+       version = "0.1.0";
+       sha256 = "0dg5hmv61jnpqby4v5g4wpsb7ynsm56fmb3xj2pixswnzqz31ian";
+       libraryHaskellDepends = [ base bytestring hidapi mtl split ];
        description = "Control library for the Elgato Stream Deck";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -226520,8 +228788,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-postgresql-simple";
-       version = "0.2.0.3";
-       sha256 = "1gy6yy14q18zfbbj6rvsnhvhkra78m2jwbyd3hnpbx25jgvz230n";
+       version = "0.2.0.4";
+       sha256 = "1qdfqp1w7pszks4iqbvgqsxmr2c6bx81jgkyz9k8wfz7vajg6f67";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq postgresql-simple
          resourcet safe-exceptions streaming transformers
@@ -226657,6 +228925,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streamly_0_7_0" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers, deepseq
+     , directory, exceptions, gauge, ghc-prim, heaps, hspec
+     , lockfree-queue, monad-control, mtl, network, QuickCheck, random
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "streamly";
+       version = "0.7.0";
+       sha256 = "1v9fndyh1bhdidwg9jpq4j10i5d1w9hw0rbhd69x8pd02gzqkpbh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         atomic-primops base containers deepseq directory exceptions
+         ghc-prim heaps lockfree-queue monad-control mtl network
+         transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec mtl QuickCheck random transformers
+       ];
+       benchmarkHaskellDepends = [ base deepseq gauge random ];
+       description = "Beautiful Streaming, Concurrent and Reactive Composition";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streamly-cassava" = callPackage
     ({ mkDerivation, base, bytestring, cassava, criterion, exceptions
      , hspec, mtl, QuickCheck, quickcheck-instances, streaming
@@ -226683,6 +228977,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streamly-fsnotify" = callPackage
+    ({ mkDerivation, base, fsnotify, paths, semirings, streamly, text
+     , time
+     }:
+     mkDerivation {
+       pname = "streamly-fsnotify";
+       version = "1.0.0.1";
+       sha256 = "0w81r0szdf4q8v6n389qlzwslhfwvjf0m9nihxsm1y0jgxbzy5cb";
+       libraryHaskellDepends = [
+         base fsnotify paths semirings streamly text time
+       ];
+       description = "Folder watching as a Streamly stream";
+       license = stdenv.lib.licenses.gpl3Plus;
+     }) {};
+
   "streamproc" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -227508,8 +229817,8 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.8";
-       sha256 = "0wfi3s8hv11xs0wpvbc9z4nsskdpg5q7ivcpci8cnhn20wffb0nn";
+       version = "5.0.9";
+       sha256 = "1022ir4m0r43717rdb1miynd61mfkfd3mp0dcv5ryb983znn3ag2";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
@@ -227575,8 +229884,8 @@ self: {
        pname = "structs";
        version = "0.1.2";
        sha256 = "0myv13g48y8vn397lvg45lb942fmw4n9gs80v5nnjfvgika7qbw4";
-       revision = "1";
-       editedCabalFile = "1snsprlbv9npn06iliy937vxqpsjpcmv880bnkbzj3nz4c6c59pa";
+       revision = "2";
+       editedCabalFile = "0ma2s0by622kaq7p57g859pxha02bqrd7n86cczfb2gzcm7kqma7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base deepseq ghc-prim primitive template-haskell
@@ -227841,8 +230150,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.9.4.3";
-       sha256 = "152nzxalmkmsk06i9jhbx1mjqyb0ws96gr5xl3blmyhqiyfc81a6";
+       version = "0.9.4.4";
+       sha256 = "1399q6chjhnyf2vifmwp3cw8253ra762wm5873ndjjd2z6da8gg2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227864,18 +230173,18 @@ self: {
 
   "stylist" = callPackage
     ({ mkDerivation, base, css-syntax, hashable, hspec, network-uri
-     , QuickCheck, text, unordered-containers
+     , QuickCheck, scientific, text, unordered-containers
      }:
      mkDerivation {
        pname = "stylist";
-       version = "1.0.0.0";
-       sha256 = "0lh8x8wqq4rsy4zn025qhs6jr9iaw65xqpbrk233h620prj23525";
+       version = "1.1.0.0";
+       sha256 = "1sgfyslbsppndgbywlqynzfxd63y6vr9mig6d76czh427qvn7qpp";
        libraryHaskellDepends = [
          base css-syntax hashable network-uri text unordered-containers
        ];
        testHaskellDepends = [
-         base css-syntax hashable hspec network-uri QuickCheck text
-         unordered-containers
+         base css-syntax hashable hspec network-uri QuickCheck scientific
+         text unordered-containers
        ];
        description = "Apply CSS styles to a document tree";
        license = stdenv.lib.licenses.mit;
@@ -228906,8 +231215,8 @@ self: {
        pname = "svg-builder";
        version = "0.1.1";
        sha256 = "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g";
-       revision = "1";
-       editedCabalFile = "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1";
+       revision = "2";
+       editedCabalFile = "100nmkgcm1ncv4mkr1xcsa7bb3z6zx0lfayk8innd4hm62xsvhj3";
        libraryHaskellDepends = [
          base blaze-builder bytestring hashable text unordered-containers
        ];
@@ -229173,6 +231482,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "swagger2_2_5" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
+     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
+     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
+     , optics-th, QuickCheck, quickcheck-instances, scientific
+     , template-haskell, text, time, transformers, transformers-compat
+     , unordered-containers, utf8-string, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "swagger2";
+       version = "2.5";
+       sha256 = "0ywj4536daz43vrxibqn271gq96bzkawx3qcwbm547315jfd4fqf";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat-batteries bytestring containers
+         cookie generics-sop hashable http-media insert-ordered-containers
+         lens mtl network optics-core optics-th QuickCheck scientific
+         template-haskell text time transformers transformers-compat
+         unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Swagger 2.0 data model";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "swapper" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
      , happstack-state, parallel, tokyocabinet
@@ -229337,8 +231679,8 @@ self: {
      }:
      mkDerivation {
        pname = "syb-with-class";
-       version = "0.6.1.11";
-       sha256 = "0fgmcxhrhcjcv5nmb5irp6mqcwknpk15azzd0qhajwx8mqpw6b8l";
+       version = "0.6.1.12";
+       sha256 = "1cxy0mph0kqdi3hzy5x3c754a3sjdn14x64ga4bkhvzi6iwbfcq0";
        libraryHaskellDepends = [
          array base bytestring containers template-haskell
        ];
@@ -230268,8 +232610,8 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-llvm";
-       version = "0.8.2";
-       sha256 = "0vf0p1ajs7k327cc1dwm6ja2qyby865g1bqc6mzrjn826dv2vric";
+       version = "0.8.2.1";
+       sha256 = "0bgla347pfdaai41rp9jny2k1hv0k1s8jdmqhd54v5c60cxl6p9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231130,8 +233472,8 @@ self: {
        pname = "tagged";
        version = "0.8.6";
        sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md";
-       revision = "1";
-       editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh";
+       revision = "2";
+       editedCabalFile = "1y8z8hmm846z7h3wqncpi0d4zhsnkwf08q0wchivkjw8di7ahz0z";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -231425,8 +233767,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup-navigate";
-       version = "0.1.0.2";
-       sha256 = "16n0s9vpwrnbknm9yfsh3qv2j3k1h579fwfqjbr1kzjn40729348";
+       version = "0.1.0.4";
+       sha256 = "1mds95a0xz3iklidmvczjpmm9vjhzdrdvcj3dg0n3ivwwli672m9";
        libraryHaskellDepends = [
          base deriving-compat lens mmorph mtl semigroupoids semigroups
          tagsoup tagsoup-selection transformers
@@ -231797,6 +234139,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
+       revision = "1";
+       editedCabalFile = "1ni8zym7k6f1hg6wfvnnf3xcs2ar3z8xaabkgjg8q329arjcm8wp";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -232024,6 +234368,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "taskwarrior" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, hspec-discover
+     , process, QuickCheck, quickcheck-instances, random
+     , string-interpolate, text, time, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "taskwarrior";
+       version = "0.1.1.0";
+       sha256 = "1vr25n4q4rb5z760dpd247h3z6r8ydqgg5z5hihmps1vhazvxa8c";
+       libraryHaskellDepends = [
+         aeson base bytestring process random string-interpolate text time
+         unordered-containers uuid
+       ];
+       testHaskellDepends = [
+         aeson base hspec QuickCheck quickcheck-instances text time
+         unordered-containers uuid
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Types and aeson instances for taskwarrior tasks";
+       license = stdenv.lib.licenses.agpl3Plus;
+     }) {};
+
   "tasty" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, clock, containers, mtl
      , optparse-applicative, stm, tagged, unbounded-delays, unix
@@ -232470,18 +234836,18 @@ self: {
      }) {};
 
   "tasty-rerun" = callPackage
-    ({ mkDerivation, base, containers, mtl, optparse-applicative
-     , reducers, split, stm, tagged, tasty, transformers
+    ({ mkDerivation, base, containers, mtl, optparse-applicative, split
+     , stm, tagged, tasty, transformers
      }:
      mkDerivation {
        pname = "tasty-rerun";
-       version = "1.1.14";
-       sha256 = "0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr";
+       version = "1.1.15";
+       sha256 = "008pwf3mqn18vxzxym6zbfm7kf4g415g3722r41vdbh972xkz3w2";
        libraryHaskellDepends = [
-         base containers mtl optparse-applicative reducers split stm tagged
-         tasty transformers
+         base containers mtl optparse-applicative split stm tagged tasty
+         transformers
        ];
-       description = "Run tests by filtering the test tree depending on the result of previous test runs";
+       description = "Rerun only tests which failed in a previous test run";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -232542,14 +234908,16 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tap";
-       version = "0.0.4";
-       sha256 = "0xgz5qyvaabj13jnb5ry1i05c9lldnhaqnyxd9sz7kbvdwsycpn8";
+       version = "0.1.0";
+       sha256 = "16i7pd0xis1fyqgmsy4mq04y87ny61dh2lddnjijcf1s9jz9b6x8";
        libraryHaskellDepends = [ base containers stm tasty ];
        testHaskellDepends = [
          base directory tasty tasty-golden tasty-hunit
        ];
        description = "TAP (Test Anything Protocol) Version 13 formatter for tasty";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-test-vector" = callPackage
@@ -232585,8 +234953,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tmux";
-       version = "0.1.0.1";
-       sha256 = "07jx1ik8bmirc6ycimzv763kfqvhi712ivk32npw5iprpn94k6h2";
+       version = "0.1.0.2";
+       sha256 = "0lksanhb1nsk45vqg1h9jigllfg0lrqsynxkplh8lyx6g8k0naav";
        libraryHaskellDepends = [
          base bytestring mtl regex-posix tasty tasty-hunit text
          typed-process
@@ -232886,8 +235254,8 @@ self: {
        pname = "tdigest-Chart";
        version = "0.2";
        sha256 = "1ciq7d187as9sk1dpccm2s02b6jdhij1l477wff0a7labgw21l0l";
-       revision = "1";
-       editedCabalFile = "1095k2sgyjd5m38j1qxa1df9izzdpjl80lrsmwhjm1jw4lmk8cys";
+       revision = "2";
+       editedCabalFile = "07fg2pnj06vz2cwyxqyx40ghd0d7p9byazds7lhim4z397gngk0f";
        libraryHaskellDepends = [
          base base-compat Chart colour lens semigroupoids tdigest
        ];
@@ -233940,8 +236308,8 @@ self: {
      }:
      mkDerivation {
        pname = "terminal-punch";
-       version = "0.1.1";
-       sha256 = "11z6jb130300yjkrl511960anjac9ncc3g1yj6jqpah6j2imsa8s";
+       version = "0.1.3";
+       sha256 = "1hc8gl0bjrz8h9nfrvlkxbkgys62xr7mcdk22lm8dc1cl8y42nkv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -234033,12 +236401,12 @@ self: {
      , hedgehog, inline-c, lens, mono-traversable, pcre2, pretty-simple
      , QuickCheck, singletons, tasty, tasty-hedgehog, tasty-hspec
      , template-haskell, text, transformers, vte_291, xml-conduit
-     , xml-html-qq
+     , xml-html-qq, yaml
      }:
      mkDerivation {
        pname = "termonad";
-       version = "2.1.0.0";
-       sha256 = "0acw3qkph2j5vxl1zw4g21z6xn3w8r6q0v6wpnavd3drzyvw6hyn";
+       version = "3.0.0.0";
+       sha256 = "11c58k6iyqry5dfdbxsvmca19w10igb4yd1nk2ap6h7zsav2rjgn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -234049,6 +236417,7 @@ self: {
          focuslist gi-gdk gi-gio gi-glib gi-gtk gi-pango gi-vte
          haskell-gi-base inline-c lens mono-traversable pretty-simple
          QuickCheck singletons text transformers xml-conduit xml-html-qq
+         yaml
        ];
        libraryPkgconfigDepends = [ gtk3 pcre2 vte_291 ];
        executableHaskellDepends = [ base ];
@@ -234058,6 +236427,7 @@ self: {
        ];
        description = "Terminal emulator configurable in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {inherit (pkgs) gtk3; inherit (pkgs) pcre2; 
          vte_291 = pkgs.vte;};
 
@@ -234136,6 +236506,29 @@ self: {
        broken = true;
      }) {};
 
+  "tesla" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, casing, containers
+     , generic-deriving, HUnit, lens, lens-aeson, mtl, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , vector, wreq
+     }:
+     mkDerivation {
+       pname = "tesla";
+       version = "0.1.0.0";
+       sha256 = "1asifxkc73n8g30qmr1nr83vpvgx8smi505322n9sknlb1hadgms";
+       libraryHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving lens
+         lens-aeson mtl template-haskell text time vector wreq
+       ];
+       testHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving HUnit lens
+         lens-aeson mtl tasty tasty-hunit tasty-quickcheck template-haskell
+         text time vector wreq
+       ];
+       description = "Tesla API client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "test-fixture" = callPackage
     ({ mkDerivation, base, data-default-class, exceptions
      , haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
@@ -234812,6 +237205,29 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "texmath_0_12" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, pandoc-types, parsec, process, syb, temporary, text
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.12";
+       sha256 = "09c1ga3nw0r0wcw84lf862mp02h5ykhprm2wawrqfhklfyl1a6ay";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl pandoc-types parsec syb text xml
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath process temporary text
+         utf8-string xml
+       ];
+       description = "Conversion between formats used to represent mathematics";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "texrunner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , HUnit, io-streams, lens, mtl, process, semigroups, temporary
@@ -234821,8 +237237,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
-       revision = "1";
-       editedCabalFile = "137bbyxrrg9yn1060aqkamdk1mb7x12nwndradwp57057ix79fp4";
+       revision = "2";
+       editedCabalFile = "0zv8xp8z2gx9zjqn1f81hri4hn0bws7cq39g5i2g2axrkm9nwj5q";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -235504,6 +237920,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "text-show_3_8_3" = callPackage
+    ({ mkDerivation, array, base, base-compat-batteries, base-orphans
+     , bifunctors, bytestring, bytestring-builder, containers, criterion
+     , deepseq, deriving-compat, generic-deriving, ghc-boot-th, ghc-prim
+     , hspec, hspec-discover, integer-gmp, QuickCheck
+     , quickcheck-instances, template-haskell, text, th-abstraction
+     , th-lift, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "text-show";
+       version = "3.8.3";
+       sha256 = "1l4mg4vgdixhpsncqyf9xq7nw0dskcd41hg4rb12s2623sjdxb2p";
+       libraryHaskellDepends = [
+         array base base-compat-batteries bifunctors bytestring
+         bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
+         integer-gmp template-haskell text th-abstraction th-lift
+         transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         array base base-compat-batteries base-orphans bytestring
+         bytestring-builder deriving-compat generic-deriving ghc-prim hspec
+         QuickCheck quickcheck-instances template-haskell text transformers
+         transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion deepseq ghc-prim text ];
+       description = "Efficient conversion of values into Text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-show-instances" = callPackage
     ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
@@ -235515,8 +237962,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.8.2";
-       sha256 = "075a2dzbdkh13q9a1w4v0dm40rqrv1wq8nsqh4g4872h29df5mka";
+       version = "3.8.3";
+       sha256 = "11v335p3wzf9ijqlkls5mk4m16dfak8fckn4gj7mahs8c7l9lm5d";
        libraryHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
@@ -235887,6 +238334,8 @@ self: {
        pname = "th-abstraction";
        version = "0.3.1.0";
        sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb";
+       revision = "1";
+       editedCabalFile = "1c0sy614vfcdvshn0z09nzfiq89v5if31yvvpxzrivrdy9gf912s";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -236123,8 +238572,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-format";
-       version = "0.1.2.0";
-       sha256 = "1wc9ndqv2qxk75b47s44j0lrx5h9hc1r4h1nvl01pbdks6yyi43j";
+       version = "0.1.3.0";
+       sha256 = "0ckyf5r5sz3x8ixj5nclqsi6ifk7zz08b6wf09gbwb4gbydklw7c";
        libraryHaskellDepends = [
          base Earley haskell-src-meta template-haskell text
        ];
@@ -236230,8 +238679,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-lift";
-       version = "0.8.0.1";
-       sha256 = "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0";
+       version = "0.8.1";
+       sha256 = "1msyisgn30l2sd7jagab38r8q9mbi4phmqk4g3fddn4l6wcz989z";
        libraryHaskellDepends = [
          base ghc-prim template-haskell th-abstraction
        ];
@@ -236280,6 +238729,8 @@ self: {
        pname = "th-orphans";
        version = "0.13.9";
        sha256 = "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z";
+       revision = "1";
+       editedCabalFile = "100gpi0np50vxlapyl6d05w8ss9l2gqacn28i228hsvhvrxxwjdy";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
@@ -236396,14 +238847,14 @@ self: {
 
   "th-tc" = callPackage
     ({ mkDerivation, base, containers, lens, mtl, template-haskell
-     , transformers
+     , th-orphans, transformers
      }:
      mkDerivation {
        pname = "th-tc";
-       version = "0.1.1.0";
-       sha256 = "0i2j3iwr5az4hmxhnanh6zrvi1k51jjmwaly4z3rw3h4n717qa2m";
+       version = "0.2.1.0";
+       sha256 = "1wgvglb6k73mslrw1whxyqgxp90l042lm4865qdgvvbli5gk5dva";
        libraryHaskellDepends = [
-         base containers lens mtl template-haskell transformers
+         base containers lens mtl template-haskell th-orphans transformers
        ];
        description = "Typechecking in Template Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -237042,8 +239493,8 @@ self: {
      }:
      mkDerivation {
        pname = "thrift";
-       version = "0.12.0";
-       sha256 = "1yzfq671apw3mjaws16a6agjw3vpm7yz0gdp3kyh8vvbp5d0czyf";
+       version = "0.13.0";
+       sha256 = "005gaw3n548l7ij8m2di2b7nmfz2sg6nhafb3xjccw9wgwzl9qs2";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring containers
          ghc-prim hashable hspec-core HTTP network network-uri QuickCheck
@@ -237285,10 +239736,8 @@ self: {
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.1.10";
-       sha256 = "11bzcan2vfhdz6lwfvfgiyycqf30p4kdkzn47pm4ydr6bbpz8aia";
-       revision = "1";
-       editedCabalFile = "0gm271p3m3y0x9lfi5yviznqfr65f0if553z6h977dqk3f3psyfd";
+       version = "0.1.2.0";
+       sha256 = "1bw10jahy0s9ai6ryfdx58jzjib146x7kzqkg65z71brvm0cliza";
        libraryHaskellDepends = [
          base composition-prelude megaparsec text
        ];
@@ -237374,8 +239823,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.4.4";
-       sha256 = "0ibaq9gyn0iz00jsdmifw5fcj4f01l6z8ds13gxz365r1wgcn2pj";
+       version = "1.4.5";
+       sha256 = "146nhi2y8c5acqmkhgh4f1bb3wrasba0i1w4v2vwnbznpdv6cxs1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -238254,8 +240703,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "timers-tick";
-       version = "0.4.1.0";
-       sha256 = "1dbkgsvzfxgf4cgkzlmn1dcjw3rb7rrx56ix7n5r1k42n0wsyfsg";
+       version = "0.4.2.0";
+       sha256 = "079pgfgpgdmn9yqyd81rz615a035zjw24na8q332m1ld51xc0n8f";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "tick based timers";
@@ -238999,27 +241448,37 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_1_0_0_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, directory, either
-     , generic-monoid, hspec, hspec-discover, mtl, network, port-utils
-     , postgres-options, postgresql-libpq, postgresql-simple
-     , postgresql-simple-opts, process, temporary, transformers, unix
+  "tmp-postgres_1_31_0_1" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, async, base, base64-bytestring
+     , bytestring, containers, criterion, cryptohash-sha1, deepseq
+     , directory, generic-monoid, hspec, mtl, network, port-utils
+     , postgres-options, postgresql-simple, process, stm, temporary
+     , transformers, unix
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "1.0.0.1";
-       sha256 = "0i777dhx58fwg9m3f4q25bxg5s21rvbg3yqwhfx39zh4pj34pin2";
+       version = "1.31.0.1";
+       sha256 = "0nlg0hi0rcfk77jm927i1w63mh4x9y1p4j3fqbd13c2a6pg084vw";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         async base bytestring directory either generic-monoid network
-         port-utils postgres-options postgresql-simple
-         postgresql-simple-opts process temporary transformers unix
+         ansi-wl-pprint async base base64-bytestring bytestring containers
+         cryptohash-sha1 deepseq directory generic-monoid port-utils
+         postgres-options postgresql-simple process stm temporary
+         transformers unix
+       ];
+       executableHaskellDepends = [
+         async base directory postgres-options postgresql-simple process
+         temporary
        ];
        testHaskellDepends = [
-         base bytestring directory either hspec hspec-discover mtl
-         postgres-options postgresql-libpq postgresql-simple
-         postgresql-simple-opts process temporary transformers unix
+         base containers directory generic-monoid hspec mtl network
+         port-utils postgres-options postgresql-simple process temporary
+         unix
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq postgres-options postgresql-simple temporary
        ];
-       testToolDepends = [ hspec-discover ];
        description = "Start and stop a temporary postgres";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -239257,9 +241716,14 @@ self: {
      }:
      mkDerivation {
        pname = "token-limiter";
-       version = "0.1.0.0";
-       sha256 = "1ypvc44h68kshy4nsngxhqip6040cabrf6nf6p48ccav3s5497a2";
+       version = "0.2.0.3";
+       sha256 = "0gplyhx8wicha8j56khiw7992bm1qx7hbckicpfrd1qc94h3iyiy";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base clock ghc-prim ];
+       executableHaskellDepends = [
+         async base clock QuickCheck tasty tasty-hunit text
+       ];
        testHaskellDepends = [
          async base clock QuickCheck tasty tasty-hunit text
        ];
@@ -239422,8 +241886,8 @@ self: {
        pname = "toml-parser";
        version = "0.1.0.0";
        sha256 = "0p1nl3009qlcqn4jjggbm1v719a6bswklkyjb3plm0cz3bsyr0fs";
-       revision = "1";
-       editedCabalFile = "0w5vpr6gh0671znv3k90gy9fzjvxzn3g7bir2c6z27ks6y39w0qf";
+       revision = "2";
+       editedCabalFile = "02vblwkja1in6fi3zbvxmw6k1c0zny9jljiis0krvn94h2rdflwd";
        libraryHaskellDepends = [ array base text time ];
        libraryToolDepends = [ alex happy ];
        description = "Parser for the TOML configuration language";
@@ -239466,7 +241930,7 @@ self: {
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
-  "tomland_1_2_0_0" = callPackage
+  "tomland_1_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , hashable, hedgehog, hspec-megaparsec, markdown-unlit, megaparsec
      , mtl, parser-combinators, tasty, tasty-discover, tasty-hedgehog
@@ -239475,8 +241939,10 @@ self: {
      }:
      mkDerivation {
        pname = "tomland";
-       version = "1.2.0.0";
-       sha256 = "1kwrp12x2gyb3syijrd2jbx7sd13p78aq2nspnfff453ki17z8zf";
+       version = "1.2.1.0";
+       sha256 = "0bzwmk3zw2lzhppgr73b5v3i4qz0hxn1zag665vpakq6knssj7qy";
+       revision = "1";
+       editedCabalFile = "00lb4ivrqrj5yqnfz5ji3vjaa284img9xhkjvrzc291bs83vl4kr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -239890,10 +242356,10 @@ self: {
     ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.1.0";
-       sha256 = "0fqgazhs3ppv4ywdxjrhrdzp5z1szgkq4l0lqpbzqwrhi7axgl69";
+       version = "0.1.3";
+       sha256 = "015bj6g4hjp38fc8bm5z57w6akdgvyab6j2sc666x0qdxgrdwp88";
        libraryHaskellDepends = [ base containers semiring-num ];
-       description = "Finitely represented /total/ maps";
+       description = "Finitely represented total maps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -240141,19 +242607,19 @@ self: {
      }) {};
 
   "tptp" = callPackage
-    ({ mkDerivation, attoparsec, base, Cabal, directory, doctest, extra
+    ({ mkDerivation, attoparsec, base, Cabal, directory, extra
      , generic-random, prettyprinter, QuickCheck, scientific, text
      }:
      mkDerivation {
        pname = "tptp";
-       version = "0.1.0.3";
-       sha256 = "1h00g4263akyfgirvdw5ylbiskl3hhrx58jar59blj57k0i969wi";
+       version = "0.1.1.0";
+       sha256 = "0cwjl8531zzl9mmgp7hq9jr9i9m32yf2j016v2p6h3r93kysbhrf";
        libraryHaskellDepends = [
          attoparsec base prettyprinter scientific text
        ];
        testHaskellDepends = [
-         attoparsec base Cabal directory doctest extra generic-random
-         prettyprinter QuickCheck scientific text
+         attoparsec base Cabal directory extra generic-random prettyprinter
+         QuickCheck scientific text
        ];
        description = "A parser and a pretty printer for the TPTP language";
        license = stdenv.lib.licenses.gpl3;
@@ -241013,8 +243479,8 @@ self: {
      }:
      mkDerivation {
        pname = "traverse-with-class";
-       version = "1.0.0.0";
-       sha256 = "1fqz35kaffq79qs7kgdx2bml2a99x6k87hlczsfjcs1bcpqj18k5";
+       version = "1.0.1.0";
+       sha256 = "1yni197sxfpsjvjablhn8mjqpp1mz0v30r73f9ncs3pjcl93g6yn";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Generic applicative traversals";
@@ -241191,8 +243657,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.5.0.0";
-       sha256 = "0gf2mcrrib4id0374hs9mf24g09d4rz7nrrgf92ls7b8279xvjkd";
+       version = "0.7.1.0";
+       sha256 = "1xbgii27xn858373nly4q73y1ghrpv069pxjd5bc30rff611rqvz";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -241208,8 +243674,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.2.0.1";
-       sha256 = "1l1phqnsfsi47pqcjn84i8pqxfyslnrhw8an9g6fxx21gc6sdn45";
+       version = "0.3.0.0";
+       sha256 = "07r8dlx8r3g1sdc23w544clb658wiw5rjl33m967li5sq7g1w1aj";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Go";
@@ -241235,26 +243701,35 @@ self: {
      }) {};
 
   "tree-sitter-java" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, pathtype, semantic-source, tasty
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.4.0.0";
-       sha256 = "0v8mw4slp6rgyw2h3qpqkjqs13kg8dcigq7014dh77h804plk0w7";
+       version = "0.6.0.0";
+       sha256 = "1jz740pj2ihmkf06ixii93msfn40lh5mky3qc5bvwk5xqf4ai716";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       libraryHaskellDepends = [
+         base semantic-source template-haskell tree-sitter
+       ];
+       testHaskellDepends = [
+         base bytestring pathtype tasty tasty-hunit text tree-sitter
+         tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Java";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-json" = callPackage
     ({ mkDerivation, base, template-haskell, text, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.3.0.0";
-       sha256 = "09489gikbmddw28ckgf6mg526j43386sdilvb7gzs5x9kc86sd4q";
+       version = "0.5.0.0";
+       sha256 = "1mq1v81d00l80pg6mji9w1g464hxvgv28djnxany5vy2g38ns7q9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
        doHaddock = false;
@@ -241270,6 +243745,8 @@ self: {
        pname = "tree-sitter-php";
        version = "0.2.0.1";
        sha256 = "0dxszds10fr3zp1vjcj18b44mv6hmbzskmai14x03zgimxgwwaqm";
+       revision = "1";
+       editedCabalFile = "0k5qq7m0m3imgyhwyakrfjzxf5pjw6p7p3iwm01bj96ya8iy71ia";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for PHP";
@@ -241280,31 +243757,36 @@ self: {
 
   "tree-sitter-python" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, semantic-source, template-haskell, tree-sitter
+     , hedgehog, pathtype, semantic-source, tasty, tasty-hedgehog
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.6.0.0";
-       sha256 = "041qrxdkn19x9h0vcjb0jvc6d0mp6ysdak7i4yqqww683npxjkp1";
+       version = "0.8.0.0";
+       sha256 = "08a698qqjck0nml11nrgyzvgrjbkanyvfv0x0bqng0w3mjk62yf0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base directory filepath semantic-source template-haskell
          tree-sitter
        ];
-       testHaskellDepends = [ base bytestring hedgehog tree-sitter ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Python";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.2.0.1";
-       sha256 = "1rk49pm93avr9fap8xim7zl26wms50q2f5x2yp9nq5w3mbm3j3sc";
+       version = "0.3.1.0";
+       sha256 = "0kndnmnhfff4d936irvsc545x3npxqspf21qwwqwn4c5n3ispv2p";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Ruby";
@@ -241317,8 +243799,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.2.1.1";
-       sha256 = "1r4kr4c0vslw3j2hanzf8wifabfynz5brayd6kz1hpczg8icandm";
+       version = "0.3.0.0";
+       sha256 = "029dapll3jw4m0fxmbxn3nj4jgi8j777ajyc8zx8m2f12zly3y5i";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for TSX";
@@ -241331,8 +243813,8 @@ self: {
     ({ mkDerivation, base, template-haskell, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.2.1.1";
-       sha256 = "0i8vnc0afqnf8lnl8rmsax6b9pfx3s14s8q35f0h3ghpv9b38bs6";
+       version = "0.3.0.0";
+       sha256 = "0gkhbsmrjkf6q4bwlhws2zmnkhjval7qrbvqlcnmmvx384aiis72";
        libraryHaskellDepends = [ base template-haskell tree-sitter ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for TypeScript";
@@ -241345,8 +243827,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, mtl }:
      mkDerivation {
        pname = "tree-traversals";
-       version = "0.1.0.0";
-       sha256 = "0wdy1p94096qdc00w8pmbz6qcawc0ivlhy0sg0b3jir0s2ksdccb";
+       version = "0.1.1.0";
+       sha256 = "0wsa4qxlxk6308smv957by8fmnsnsxnxxga8c66bvnhlr95rg9rk";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest mtl ];
        description = "Functions and newtype wrappers for traversing Trees";
@@ -242083,6 +244565,22 @@ self: {
        broken = true;
      }) {};
 
+  "ttc" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "0.1.0.1";
+       sha256 = "12c781fsa1i2iw03ysdh5fpg0912w9kmzgixzq16kb4mdb0crq30";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       description = "Textual Type Classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ttl-hashtables" = callPackage
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
@@ -242983,6 +245481,29 @@ self: {
        broken = true;
      }) {};
 
+  "twirp" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-media, http-types
+     , proto-lens, proto-lens-jsonpb, proto-lens-runtime, servant, text
+     , wai
+     }:
+     mkDerivation {
+       pname = "twirp";
+       version = "0.2.0.0";
+       sha256 = "00dc6bil998fdvb5p0r2782cy3nknw6s8k5a0cv4yqmha4iyn32m";
+       libraryHaskellDepends = [
+         aeson base bytestring http-media http-types proto-lens
+         proto-lens-jsonpb proto-lens-runtime servant text wai
+       ];
+       testHaskellDepends = [
+         aeson base bytestring http-media http-types proto-lens
+         proto-lens-jsonpb proto-lens-runtime servant text wai
+       ];
+       description = "Haskell twirp foundations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "twisty" = callPackage
     ({ mkDerivation, array, base, containers, data-memocombinators
      , MonadRandom, parallel
@@ -243123,8 +245644,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types";
-       version = "0.9.0";
-       sha256 = "0hfm2zdgvpkfn06x140pnnbylmgram3i5zqf62c4yg6khi78m7hg";
+       version = "0.10.0";
+       sha256 = "0a2wgidg5dk3cxszb0q07cg0sywqgyxl5scswlr91yjvmjmlnkby";
        libraryHaskellDepends = [
          aeson base text time unordered-containers
        ];
@@ -243145,8 +245666,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types-lens";
-       version = "0.9.0";
-       sha256 = "0xp6dwzw0mba4i6vq1sginn7d6ini2c3ig2ss0pn1m0sjwj8x7yq";
+       version = "0.10.0";
+       sha256 = "1x9w68mr6r6354in9l4vmawk5symvfh2qlhjn2gd30m8b1mzbrjg";
        libraryHaskellDepends = [
          base lens template-haskell text time twitter-types
        ];
@@ -244025,6 +246546,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "typed-digits" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hspec, hspec-discover, nats
+     , QuickCheck, singletons
+     }:
+     mkDerivation {
+       pname = "typed-digits";
+       version = "0.1.0.0";
+       sha256 = "1x2kyvz0bdcy9iqh0222386r4kbj2in7dpll9jn461v4v0s9bgvc";
+       libraryHaskellDepends = [ base nats singletons ];
+       testHaskellDepends = [
+         base doctest Glob hspec hspec-discover QuickCheck
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Digits, indexed by their base at the type level";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "typed-duration" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control
      , transformers-base
@@ -244482,8 +247020,8 @@ self: {
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.2";
-       sha256 = "0k35pw27a3hwg5wqjpfqij0y7rkdlmd85n4kj4ckna4z2v86dl7h";
+       version = "0.1.3.3";
+       sha256 = "1cnin3dlk6xmvk5cz1sjj88djdv1rq87hvwmhc2dj22hgbs3p3ni";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq
          template-haskell time tzdata vector
@@ -244683,6 +247221,24 @@ self: {
        license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
+  "ucd" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, gauge
+     , regex-applicative, util
+     }:
+     mkDerivation {
+       pname = "ucd";
+       version = "0.0.1.3";
+       sha256 = "1za494jgm3zml4ik203863kwni6pz5dsw6ssn06bjbyk7l7pbg33";
+       setupHaskellDepends = [
+         base Cabal containers directory regex-applicative util
+       ];
+       libraryHaskellDepends = [ base util ];
+       testHaskellDepends = [ base util ];
+       benchmarkHaskellDepends = [ base gauge util ];
+       description = "Unicode Character Database — Predicates on characters specified by Unicode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "uconv" = callPackage
     ({ mkDerivation, base, icu }:
      mkDerivation {
@@ -244999,8 +247555,8 @@ self: {
     ({ mkDerivation, base, io-streams, unagi-chan }:
      mkDerivation {
        pname = "unagi-streams";
-       version = "0.2.4";
-       sha256 = "126d900vyp0ybg9v80xhj3fv0c8jl9rbqjzq4yy6dazsw270q3lk";
+       version = "0.2.6";
+       sha256 = "1mw5h7dizrh4bg1avah201chfl96lapaj3141czfs9w8hyq4lp9h";
        libraryHaskellDepends = [ base io-streams unagi-chan ];
        description = "Unagi Chan IO-Streams";
        license = stdenv.lib.licenses.bsd3;
@@ -245264,12 +247820,16 @@ self: {
      }) {};
 
   "unexceptionalio" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     }:
      mkDerivation {
        pname = "unexceptionalio";
-       version = "0.4.0";
-       sha256 = "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p";
+       version = "0.5.0";
+       sha256 = "04jrmv075cas6qs58m3j0q9h4w14kd4b87bp42k3x3v6hcl62xi9";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
        description = "IO without any non-error, synchronous exceptions";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -245279,8 +247839,8 @@ self: {
     ({ mkDerivation, base, transformers, unexceptionalio }:
      mkDerivation {
        pname = "unexceptionalio-trans";
-       version = "0.4.0";
-       sha256 = "19jzvxx0z4w7d1mp09spiz01sd349376hf5xkg8r2zfr8fx7hj71";
+       version = "0.5.0";
+       sha256 = "1sd5q97zjk1qkffbhj4rzdrvwwz4q7b6vwrmb6mpkbg7ra4ks49p";
        libraryHaskellDepends = [ base transformers unexceptionalio ];
        description = "A wrapper around UnexceptionalIO using monad transformers";
        license = "unknown";
@@ -246267,7 +248827,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "universum_1_6_0" = callPackage
+  "universum_1_6_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, doctest
      , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
      , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
@@ -246275,8 +248835,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.6.0";
-       sha256 = "12gz4hpwmykb73dplbd8j628f54ipk0pygrswy0k1k7j68awnjl6";
+       version = "1.6.1";
+       sha256 = "007nh8kw5a2m681bjwvcdjdf69nb768kwdsckj2kdd7406mfgdm7";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text transformers
@@ -247695,8 +250255,8 @@ self: {
      }:
      mkDerivation {
        pname = "userid";
-       version = "0.1.3.3";
-       sha256 = "1p1dfbr68bkn09zpy50i1xazvfblds46bs60vra2sqn4hv8vj0s9";
+       version = "0.1.3.4";
+       sha256 = "149c32v5fa4aqkknqwlamf1r06ki0g0q03nbsc0giaw5qsavf7x1";
        libraryHaskellDepends = [
          aeson base boomerang cereal safecopy web-routes web-routes-th
        ];
@@ -247885,8 +250445,8 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "util";
-       version = "0.1.14.0";
-       sha256 = "0z3zwn3990nx26xrvdaz9dmlr01477jjfiqcjk5h5qy9h0npc4jd";
+       version = "0.1.14.1";
+       sha256 = "17y07674dkhgq8yxrdfqj3ycaw5232rc1dnfh7r0v4ca2fyhx5a8";
        libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = stdenv.lib.licenses.bsd3;
@@ -248250,8 +250810,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.3";
-       sha256 = "0bfjyc6dg0k7vrd0i1w7ijdld3ns46jdy3dhybh9r2k08kr7fkgy";
+       version = "1.4.4";
+       sha256 = "1qmlnzqdm9wrczlknw53y91yvdzfjbxs10szxvg9xaa4bj7gs5rw";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -249316,17 +251876,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vec_0_2" = callPackage
+  "vec_0_3" = callPackage
     ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
-     , distributive, fin, hashable, inspection-testing, lens
+     , distributive, fin, hashable, inspection-testing, QuickCheck
      , semigroupoids, tagged, transformers, vector
      }:
      mkDerivation {
        pname = "vec";
-       version = "0.2";
-       sha256 = "0jh3na9nvljvshzij3hca8g2gpbsrp253fqnqzpq4p8bkv8zkfj1";
+       version = "0.3";
+       sha256 = "0r2jk3jqwn0r4wnpgc8k8i664g3rrs6dkyfsysysn4w10j22j5sr";
        libraryHaskellDepends = [
-         adjunctions base base-compat deepseq distributive fin hashable lens
+         adjunctions base deepseq distributive fin hashable QuickCheck
          semigroupoids transformers
        ];
        testHaskellDepends = [
@@ -249338,6 +251898,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vec-lens" = callPackage
+    ({ mkDerivation, base, fin, lens, vec }:
+     mkDerivation {
+       pname = "vec-lens";
+       version = "0.3";
+       sha256 = "0i08p7rfmivf03mir7hcbkr7rarji95icsyvi6diclav1jd6fa7q";
+       libraryHaskellDepends = [ base fin lens vec ];
+       description = "Vec: length-indexed (sized) list: lens support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vec-optics" = callPackage
+    ({ mkDerivation, base, fin, optics-core, vec }:
+     mkDerivation {
+       pname = "vec-optics";
+       version = "0.3";
+       sha256 = "13g0j9hn27jfjlrm7c6bdsb2lhwrg016cal7hdic8azdxgdp8n0a";
+       libraryHaskellDepends = [ base fin optics-core vec ];
+       description = "Vec: length-indexed (sized) list: optics support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "vect" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -249429,10 +252011,8 @@ self: {
      }:
      mkDerivation {
        pname = "vector-algorithms";
-       version = "0.8.0.1";
-       sha256 = "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m";
-       revision = "2";
-       editedCabalFile = "0ms473xd1d81dbg47kjr9gxqs11ipg2j1kk99q37rhvrbr5xv5l4";
+       version = "0.8.0.3";
+       sha256 = "11vks2h9f5gk0irsx5j9xwlicbzkv3k80sx76j5k3zb38q0izi0s";
        libraryHaskellDepends = [ base bytestring primitive vector ];
        testHaskellDepends = [
          base bytestring containers QuickCheck vector
@@ -249955,6 +252535,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "venzone" = callPackage
+    ({ mkDerivation, ansi-terminal-game, base, containers, directory
+     , file-embed, filepath, fsnotify, hspec, line-drawing, megaparsec
+     , microlens, microlens-platform, mtl, QuickCheck, utf8-light
+     }:
+     mkDerivation {
+       pname = "venzone";
+       version = "1.0.0.4";
+       sha256 = "1jqhv6xi0yn970h0wlzhlhrfwjr44drpwvys9kvfi4di7cg4pc74";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         fsnotify line-drawing megaparsec microlens microlens-platform mtl
+         utf8-light
+       ];
+       testHaskellDepends = [
+         ansi-terminal-game base containers directory file-embed filepath
+         hspec line-drawing megaparsec microlens microlens-platform mtl
+         QuickCheck utf8-light
+       ];
+       description = "ASCII platform-adventure game";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "verbalexpressions" = callPackage
     ({ mkDerivation, base, regex-pcre }:
      mkDerivation {
@@ -253299,7 +255907,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "warp_3_3_3" = callPackage
+  "warp_3_3_4" = callPackage
     ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, directory, gauge
      , ghc-prim, hashable, hspec, http-client, http-date, http-types
@@ -253309,8 +255917,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.3";
-       sha256 = "0s01zj1j518ipf22wpyln7zri15qxmg5p198fsy9qwc84k08h19x";
+       version = "3.3.4";
+       sha256 = "0v9r892xgzaf260fsk2gx747ipkf9b2c1fsjgynwy355xrip8z06";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -253353,17 +255961,15 @@ self: {
 
   "warp-grpc" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, case-insensitive
-     , http-types, http2-grpc-types, proto-lens, wai, warp, warp-tls
+     , http-types, http2, http2-grpc-types, wai, warp, warp-tls
      }:
      mkDerivation {
        pname = "warp-grpc";
-       version = "0.1.0.3";
-       sha256 = "1x40jskp4c2dj4w3pfrw4f3ys9c64nlas2068s7zl05qayw21srf";
-       revision = "1";
-       editedCabalFile = "18mnn9wdhx8kv3y8nagkn7z7qmcyxnrcvigjyy378sfipcgjmdwc";
+       version = "0.2.0.0";
+       sha256 = "180h609sc1ck3xxs4r2hk6bij0g22lxlllpmhqkkf1drvbgygssi";
        libraryHaskellDepends = [
-         async base binary bytestring case-insensitive http-types
-         http2-grpc-types proto-lens wai warp warp-tls
+         async base binary bytestring case-insensitive http-types http2
+         http2-grpc-types wai warp warp-tls
        ];
        description = "A minimal gRPC server on top of Warp";
        license = stdenv.lib.licenses.bsd3;
@@ -253879,6 +256485,40 @@ self: {
        broken = true;
      }) {};
 
+  "web-rep" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, box, clay
+     , foldl, generic-lens, interpolatedstring-perl6, javascript-bridge
+     , JuicyPixels, language-javascript, lens, lucid, lucid-svg, mmorph
+     , mtl, optparse-generic, protolude, scotty, streaming, tasty
+     , tasty-hspec, text, text-format, transformers
+     , unordered-containers, wai, wai-extra, wai-middleware-static
+     }:
+     mkDerivation {
+       pname = "web-rep";
+       version = "0.1.3";
+       sha256 = "174q9zaznsy5v9zypxxf6c5xi5syyhdzmwgi07siqp07in8w1jvf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bifunctors box clay foldl generic-lens
+         interpolatedstring-perl6 javascript-bridge JuicyPixels
+         language-javascript lens lucid lucid-svg mmorph mtl protolude
+         scotty streaming text text-format transformers unordered-containers
+         wai-middleware-static
+       ];
+       executableHaskellDepends = [
+         attoparsec base box lens lucid optparse-generic protolude scotty
+         text wai wai-extra wai-middleware-static
+       ];
+       testHaskellDepends = [
+         base lens lucid protolude tasty tasty-hspec text
+       ];
+       description = "representations of a web pag";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "web-routes" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, exceptions
      , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
@@ -253886,8 +256526,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14.2";
-       sha256 = "0jpps7ay2hw41595hlfrx5k4lh9p2nib02n3rhd1vphpbnf392xg";
+       version = "0.27.14.3";
+       sha256 = "1a66m261ilqafbwwgjvalh3rz38qxcwxw9a99wr18lm0ah27lvx4";
        libraryHaskellDepends = [
          base blaze-builder bytestring exceptions ghc-prim http-types mtl
          parsec split text utf8-string
@@ -253927,8 +256567,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-happstack";
-       version = "0.23.11";
-       sha256 = "0jzxcwh3g6y5y4whjbw86y94hfrl73iwnwhhm728l69z5knqry9y";
+       version = "0.23.12";
+       sha256 = "0p5fa2cdpk6s9n0wa7nllhk1naa3a8a8vx63q6da8ifk6x8jn68a";
        libraryHaskellDepends = [
          base bytestring happstack-server text web-routes
        ];
@@ -253994,8 +256634,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-th";
-       version = "0.22.6.4";
-       sha256 = "0r0z39hdxm3ggqq9n71wy0k44gb27zpka4pnmp07855czc4l61ca";
+       version = "0.22.6.5";
+       sha256 = "1amzab59hhd723clg9skcn5nhwvlw1la1acc9qdbyg302a75s0l9";
        libraryHaskellDepends = [
          base parsec split template-haskell text web-routes
        ];
@@ -254663,40 +257303,6 @@ self: {
      }) {};
 
   "websockets" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, binary
-     , bytestring, bytestring-builder, case-insensitive, containers
-     , criterion, entropy, HUnit, network, QuickCheck, random, SHA
-     , streaming-commons, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "websockets";
-       version = "0.12.5.3";
-       sha256 = "0mkxl7iwl5pl2w0svji9248v4c0hi45k725jj5ybaknb73650ns4";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
-         bytestring-builder case-insensitive containers entropy network
-         random SHA streaming-commons text
-       ];
-       testHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
-         bytestring-builder case-insensitive containers entropy HUnit
-         network QuickCheck random SHA streaming-commons test-framework
-         test-framework-hunit test-framework-quickcheck2 text
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base base64-bytestring binary bytestring
-         bytestring-builder case-insensitive containers criterion entropy
-         network random SHA text
-       ];
-       doCheck = false;
-       description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "websockets_0_12_6_1" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring, binary
      , bytestring, bytestring-builder, case-insensitive, containers
      , criterion, entropy, HUnit, network, QuickCheck, random, SHA
@@ -254728,7 +257334,6 @@ self: {
        doCheck = false;
        description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "websockets-rpc" = callPackage
@@ -254915,16 +257520,19 @@ self: {
        ];
        description = "A school-timetable problem-solver";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "weigh" = callPackage
-    ({ mkDerivation, base, deepseq, mtl, process, split, temporary }:
+    ({ mkDerivation, base, deepseq, ghc, mtl, process, split, temporary
+     }:
      mkDerivation {
        pname = "weigh";
-       version = "0.0.14";
-       sha256 = "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g";
+       version = "0.0.16";
+       sha256 = "13pbjr7fzqy3s9c1nd2jhfwzbpccmpfwdn7y46z9k2bfkch1jam9";
        libraryHaskellDepends = [
-         base deepseq mtl process split temporary
+         base deepseq ghc mtl process split temporary
        ];
        testHaskellDepends = [ base deepseq ];
        description = "Measure allocations of a Haskell functions/values";
@@ -255410,6 +258018,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
+       revision = "1";
+       editedCabalFile = "17d44pzi4q5yvrygimdrwdrabz62s1ylw918w28sxgcvj64ir22g";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -256102,8 +258712,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.7";
-       sha256 = "06xz5xk14fiy1z4j6q7lbjwj13m4hy22pzrcdwk6c078w85rp4yd";
+       version = "0.1.2.8";
+       sha256 = "0ncs3g174db6508fic7x2xibvkccmz068g6hizp8fi20bwxb9js8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -256959,10 +259569,8 @@ self: {
      }:
      mkDerivation {
        pname = "wss-client";
-       version = "0.2.1.1";
-       sha256 = "1wgqd8hh22ld72c1ccfr191ydqb5fija6c1l0vbg7n8pldhmi92w";
-       revision = "1";
-       editedCabalFile = "03q6mpdy93y8kjmjcxpjasg6q1mg64az28z99gm2w2iih3mqa702";
+       version = "0.3.0.0";
+       sha256 = "1licynhnyhfdq4gxpsya3gaypjs9inqzr2xqmjs9f99ymbvin8d8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257109,8 +259717,8 @@ self: {
      }:
      mkDerivation {
        pname = "wuss";
-       version = "1.1.14";
-       sha256 = "1r0ljrp7kfksvmm4029b633cypdg5lqk5nga31si22bi5yz7fkiq";
+       version = "1.1.15";
+       sha256 = "1i2q96mapld4mnhmy321qyzzizw3k3schhm473qrszdi1yxc837q";
        libraryHaskellDepends = [
          base bytestring connection network websockets
        ];
@@ -257684,12 +260292,10 @@ self: {
      }:
      mkDerivation {
        pname = "xeno";
-       version = "0.3.5.1";
-       sha256 = "1bdvj5ql0q9i8vb3429d8kl3hyk45r37s23rm76mhwhazhqxcm60";
-       revision = "1";
-       editedCabalFile = "0d9w9x6lwhvshy4dbvd80ckb9p0g4vcmzy6kvwai9rqmszf89cnh";
+       version = "0.3.5.2";
+       sha256 = "0xfhdi5d0y3rlsmzczdg8b896l9q31nify1vsq0vfqqhfn75pw8l";
        libraryHaskellDepends = [
-         array base bytestring deepseq hspec mtl mutable-containers vector
+         array base bytestring deepseq mtl mutable-containers vector
        ];
        testHaskellDepends = [ base bytestring hexml hspec ];
        benchmarkHaskellDepends = [
@@ -258071,6 +260677,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xlsx_0_8_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
+     , old-locale, raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xeno
+     , xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.8.0";
+       sha256 = "1wp2ybkf5z4x87a73yygi3g1nqjy6pfb1wdwyvmjqk64ibjz0p7d";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq errors extra filepath lens mtl
+         network-uri old-locale safe text time transformers vector xeno
+         xml-conduit zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
+         xml-conduit
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -258962,8 +261597,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.31";
-       sha256 = "1sbxva4zaj060bigmxivpn4zlz0q1qbq2np8gljdqkjvysjzpbka";
+       version = "0.32";
+       sha256 = "0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -260065,8 +262700,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.11.1.2";
-       sha256 = "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc";
+       version = "0.11.2.0";
+       sha256 = "035sqc2bnya3ghv5i0qk9jdg9q6jvqzgnc5gkg9mgf4drjrd5wni";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -260092,8 +262727,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-combinators";
-       version = "1.1.1.1";
-       sha256 = "1343q4wddqmszi21qx5a0jjawvqa1aqfzbkn8npi3sy2gmk42zi8";
+       version = "1.1.1.2";
+       sha256 = "13f5z4xq5k8ss3x0afw21cylhpmr1mzsnrj9ck5531p407rj3glw";
        libraryHaskellDepends = [
          aeson base bytestring generics-sop scientific text transformers
          unordered-containers vector yaml
@@ -260103,6 +262738,8 @@ self: {
        ];
        description = "YAML parsing combinators for improved validation and error reporting";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-config" = callPackage
@@ -260464,8 +263101,8 @@ self: {
      }:
      mkDerivation {
        pname = "yarn-lock";
-       version = "0.5.0";
-       sha256 = "1nwb0zc4qddvq2rkzb56c56iba7v0yms0hlam8y1nlcbvsqxrnc6";
+       version = "0.6.1";
+       sha256 = "19lkg7qj6m9afy6v6bkkcczz7yp8fsn7q2bpbcnyc06cnkn6hcdn";
        libraryHaskellDepends = [
          base containers either megaparsec protolude text
        ];
@@ -260592,22 +263229,18 @@ self: {
 
   "yaya" = callPackage
     ({ mkDerivation, base, bifunctors, comonad, constraints, containers
-     , deriving-compat, distributive, either, errors, free, hedgehog
-     , kan-extensions, lens, profunctors, template-haskell, transformers
-     , yaya-hedgehog
+     , distributive, either, errors, free, kan-extensions, lens
+     , profunctors, template-haskell, transformers
      }:
      mkDerivation {
        pname = "yaya";
-       version = "0.2.1.0";
-       sha256 = "0wm01cspfpnfhijmbxpr4n0nr1qgc8g8cg9lqpz8n4lkd8i8bfds";
+       version = "0.2.1.2";
+       sha256 = "179mq32b5gjlwfpldm4msqnxv316gb2gj3s0kzhkcyk0l3i3y8fi";
        libraryHaskellDepends = [
          base bifunctors comonad constraints containers distributive either
          errors free kan-extensions lens profunctors template-haskell
          transformers
        ];
-       testHaskellDepends = [
-         base deriving-compat hedgehog yaya-hedgehog
-       ];
        description = "Total recursion schemes";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -260618,8 +263251,8 @@ self: {
     ({ mkDerivation, base, deriving-compat, hedgehog, yaya }:
      mkDerivation {
        pname = "yaya-hedgehog";
-       version = "0.1.1.0";
-       sha256 = "070xv97j402li75fzhs03svankg0nl2fb1g223kjkq7a704f3dk1";
+       version = "0.1.2.1";
+       sha256 = "18lyhb7fqdbp2p71y5jydcb8xzbahqzy1jmsnsb4hym8v8ax71cv";
        libraryHaskellDepends = [ base deriving-compat hedgehog yaya ];
        description = "Hedgehog testing support for the Yaya recursion scheme library";
        license = stdenv.lib.licenses.agpl3;
@@ -260628,17 +263261,16 @@ self: {
      }) {};
 
   "yaya-unsafe" = callPackage
-    ({ mkDerivation, base, bifunctors, comonad, either, free, hedgehog
-     , lens, yaya, yaya-hedgehog
+    ({ mkDerivation, base, bifunctors, comonad, either, free, lens
+     , yaya
      }:
      mkDerivation {
        pname = "yaya-unsafe";
-       version = "0.1.1.0";
-       sha256 = "081lha6m5c3iyy61xfrj237g0098l5jsm94yqjbaddl4qixk697q";
+       version = "0.1.1.2";
+       sha256 = "0cvfrzqx5d56nld60p1n5qmwn4j4gbsvy7jf5lk4ar5da4w8a90c";
        libraryHaskellDepends = [
          base bifunctors comonad either free lens yaya
        ];
-       testHaskellDepends = [ base hedgehog yaya yaya-hedgehog ];
        description = "Non-total extensions to the Yaya recursion scheme library";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -261364,33 +263996,27 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
-     , bytestring, Cabal, conduit, conduit-extra, containers
-     , data-default-class, directory, file-embed, filepath, fsnotify
-     , http-client, http-client-tls, http-reverse-proxy, http-types
-     , network, optparse-applicative, parsec, process, project-template
-     , resourcet, say, shakespeare, split, stm, streaming-commons, tar
-     , template-haskell, text, time, transformers, transformers-compat
-     , unix-compat, unliftio, unordered-containers, wai, wai-extra, warp
-     , warp-tls, yaml, zlib
+    ({ mkDerivation, base, bytestring, Cabal, conduit, conduit-extra
+     , containers, data-default-class, directory, file-embed, filepath
+     , fsnotify, http-client, http-client-tls, http-reverse-proxy
+     , http-types, network, optparse-applicative, process
+     , project-template, say, split, stm, streaming-commons, tar, text
+     , time, transformers, transformers-compat, unliftio
+     , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.0.3";
-       sha256 = "1p5f6bl4gynm47m1xg1x1xh9nz913i83iprh2xd207359idjknz4";
-       revision = "4";
-       editedCabalFile = "1iw9m3z6m4n9dlwamf1kwr7pp2wpk6awf1m63zjkgw5j4vwxlcpg";
+       version = "1.6.0.4";
+       sha256 = "0wz44w4c86513ss81a18rknkrkalxyj2g4rlq324ykqwwkihlr1a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         attoparsec base base64-bytestring blaze-builder bytestring Cabal
-         conduit conduit-extra containers data-default-class directory
-         file-embed filepath fsnotify http-client http-client-tls
-         http-reverse-proxy http-types network optparse-applicative parsec
-         process project-template resourcet say shakespeare split stm
-         streaming-commons tar template-haskell text time transformers
-         transformers-compat unix-compat unliftio unordered-containers wai
-         wai-extra warp warp-tls yaml zlib
+         base bytestring Cabal conduit conduit-extra containers
+         data-default-class directory file-embed filepath fsnotify
+         http-client http-client-tls http-reverse-proxy http-types network
+         optparse-applicative process project-template say split stm
+         streaming-commons tar text time transformers transformers-compat
+         unliftio unordered-containers wai wai-extra warp warp-tls yaml zlib
        ];
        description = "The yesod helper executable";
        license = stdenv.lib.licenses.mit;
@@ -261546,20 +264172,20 @@ self: {
      , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
      , gauge, hspec, hspec-expectations, http-types, HUnit, memory
      , monad-logger, mtl, network, parsec, path-pieces, primitive
-     , random, resourcet, rio, shakespeare, streaming-commons
+     , random, resourcet, shakespeare, streaming-commons
      , template-haskell, text, time, transformers, unix-compat, unliftio
      , unordered-containers, vector, wai, wai-extra, wai-logger, warp
      , word8
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.16.1";
-       sha256 = "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2";
+       version = "1.6.17";
+       sha256 = "1i31xx9ili9r9il0mqpb04pgnq67rfsfr61pw9xmc163akgdfi4l";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
          containers cookie deepseq fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet rio
+         monad-logger mtl parsec path-pieces primitive random resourcet
          shakespeare template-haskell text time transformers unix-compat
          unliftio unordered-containers vector wai wai-extra wai-logger warp
          word8
@@ -262011,6 +264637,8 @@ self: {
        pname = "yesod-ip";
        version = "0.5.1";
        sha256 = "1gla2w9xi88y9d149n2r18xj5y1bmaykf258nl7x4hrkl0zgdq62";
+       revision = "2";
+       editedCabalFile = "0yvi3mmknky12dqgjpfwa9nd6sn0n02xal6qcmr37dvnwnl4w87x";
        libraryHaskellDepends = [
          base http-api-data ip path-pieces persistent text yesod-core
          yesod-form
@@ -262269,27 +264897,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.6.0.2";
-       sha256 = "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd";
-       libraryHaskellDepends = [
-         base blaze-builder conduit persistent persistent-template
-         resource-pool resourcet transformers yesod-core
-       ];
-       testHaskellDepends = [
-         base blaze-builder conduit hspec persistent persistent-sqlite text
-         wai-extra yesod-core
-       ];
-       description = "Some helpers for using Persistent from Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-persistent_1_6_0_3" = callPackage
-    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
-     , persistent-sqlite, persistent-template, resource-pool, resourcet
-     , text, transformers, wai-extra, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-persistent";
        version = "1.6.0.3";
        sha256 = "1pl8an3zpmsj3f5rrscb13sn8479vqxn2fpzvzn77lz8hbdi6n6l";
        libraryHaskellDepends = [
@@ -262302,7 +264909,6 @@ self: {
        ];
        description = "Some helpers for using Persistent from Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-platform" = callPackage
@@ -262876,25 +265482,27 @@ self: {
      }) {};
 
   "yesod-test" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , bytestring, case-insensitive, conduit, containers, cookie, hspec
      , hspec-core, html-conduit, http-types, HUnit, memory, network
-     , pretty-show, semigroups, text, time, transformers, unliftio, wai
-     , wai-extra, xml-conduit, xml-types, yesod-core, yesod-form
+     , pretty-show, semigroups, text, time, transformers, unliftio
+     , unliftio-core, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.7";
-       sha256 = "1x7fmp1q3zn15av6rhdddnilkb54xmkpb6pkfzfpjm3vff27i7jj";
+       version = "1.6.9";
+       sha256 = "0v25lqq7hgd5lggnyfd9kamkzd4126rd7vlhc131n253n4by4yak";
        libraryHaskellDepends = [
-         attoparsec base blaze-builder blaze-html bytestring
+         aeson attoparsec base blaze-builder blaze-html bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
          http-types HUnit memory network pretty-show semigroups text time
          transformers wai wai-extra xml-conduit xml-types yesod-core
        ];
        testHaskellDepends = [
          base bytestring containers cookie hspec html-conduit http-types
-         HUnit text unliftio wai wai-extra xml-conduit yesod-core yesod-form
+         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
+         yesod-core yesod-form
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
@@ -263112,6 +265720,19 @@ self: {
        broken = true;
      }) {};
 
+  "yhseq" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover }:
+     mkDerivation {
+       pname = "yhseq";
+       version = "0.2.1.2";
+       sha256 = "1mxjfbnic6pn4jnyc83afpmgq4wnb09f72d359pwx693mfi6vbiy";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec hspec-discover ];
+       testToolDepends = [ hspec-discover ];
+       description = "Calculation of Y-sequence Hexirp edition";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "yi" = callPackage
     ({ mkDerivation, base, microlens-platform, mtl
      , optparse-applicative, yi-core, yi-frontend-vty, yi-keymap-emacs
@@ -263814,8 +266435,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.7.0.1";
-       sha256 = "1cmdx2bghp508qm26xydnljswgldvvv5rapmzcivmnn8pzp9g9kl";
+       version = "0.7.1";
+       sha256 = "0clvfkdrmw7lmrcyn8cilgf0k7438c384vwvjx256pyl46y3ym5m";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -263955,14 +266576,12 @@ self: {
      }) {};
 
   "yx" = callPackage
-    ({ mkDerivation, array, base, bytestring, hspec }:
+    ({ mkDerivation, array, base, bytestring, hspec, lattices }:
      mkDerivation {
        pname = "yx";
-       version = "0.0.2.0";
-       sha256 = "05xh7x02ddh87kwslgckzh3g5i22r01vfrb160gns3zl6fv8sj2z";
-       revision = "1";
-       editedCabalFile = "19px5wf8ca7awam013ij62z04rsplgn7ks56j8jzhznarsg45ksq";
-       libraryHaskellDepends = [ array base bytestring ];
+       version = "0.0.3.0";
+       sha256 = "068xdmi5dn00cx58qrc5hx6vz6byvnh5cp803j7inlynziw3fcgz";
+       libraryHaskellDepends = [ array base bytestring lattices ];
        testHaskellDepends = [ array base bytestring hspec ];
        description = "Row-major coordinates";
        license = stdenv.lib.licenses.bsd3;
@@ -264637,6 +267256,24 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "zinza" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parsec, tasty
+     , tasty-golden, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "zinza";
+       version = "0.1";
+       sha256 = "0p7m15qkp7lsdhckkj2xz7ck54kkaz8pw0gz9dddll57mqjyy6zk";
+       libraryHaskellDepends = [
+         base containers parsec text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers tasty tasty-golden tasty-hunit
+       ];
+       description = "Typed templates with jinja like syntax";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "zip" = callPackage
     ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
      , cereal, conduit, conduit-extra, containers, digest, directory
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ba477e06e2f..e2d01c5798f 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -181,7 +181,10 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #    '... foo = self.callHackage "foo" "1.5.3" {}; ...'
     callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
 
-    # callHackageDirect :: Text -> Text -> AttrSet -> HaskellPackage
+    # callHackageDirect
+    #   :: { pkg :: Text, ver :: Text, sha256 :: Text }
+    #   -> AttrSet
+    #   -> HaskellPackage
     #
     # This function does not depend on all-cabal-hashes and therefore will work
     # for any version that has been released on hackage as opposed to only
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index 8b667a1e669..c292eeec128 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -13,4 +13,7 @@ self: super: {
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
 
+  # spago is not released to Hackage.
+  # https://github.com/spacchetti/spago/issues/512
+  spago = self.callPackage ../tools/purescript/spago { };
 }
diff --git a/pkgs/development/haskell-modules/patches/GLUT.patch b/pkgs/development/haskell-modules/patches/GLUT.patch
index 3025812213b..f2b63738611 100644
--- a/pkgs/development/haskell-modules/patches/GLUT.patch
+++ b/pkgs/development/haskell-modules/patches/GLUT.patch
@@ -6,7 +6,7 @@ index f370d6c..a404e1e 100644
    else
      cpp-options: "-DCALLCONV=ccall"
      cc-options: "-DUSE_DLSYM"
-+  pkgconfig-depends: freeglut
++  pkgconfig-depends: glut
  
  executable BOGLGP01-OnYourOwn1
    if !flag(BuildExamples)
diff --git a/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch b/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
index 26ea0eaa5a8..48cf6a035af 100644
--- a/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
+++ b/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
@@ -43,13 +43,13 @@ index c87565d..88b3db4 100644
 +ghc     = fromMaybe GHC_PATHS_GHC     nixGhc
 +ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg
 diff --git a/Setup.hs b/Setup.hs
-index fad5026..1651650 100644
+index f2d1733..ca4792e 100644
 --- a/Setup.hs
 +++ b/Setup.hs
-@@ -27,13 +27,13 @@ main = defaultMainWithHooks simpleUserHooks {
-     defaultPostConf :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()
-     defaultPostConf args flags pkgdescr lbi = do
+@@ -39,13 +39,13 @@ main = defaultMainWithHooks simpleUserHooks {
+ #else
        libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags))
+ #endif
 -                     ghcProgram (withPrograms lbi) ["--print-libdir"]
 +                     ghcjsProgram (withPrograms lbi) ["--print-libdir"]
        let libdir = reverse $ dropWhile isSpace $ reverse libdir_
diff --git a/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch b/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch
new file mode 100644
index 00000000000..0f6a34f4f26
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/servant-client-core-redact-auth-header.patch
@@ -0,0 +1,75 @@
+diff --git a/servant-client-core.cabal b/servant-client-core.cabal
+index 5789da601..3faf65bb4 100644
+--- a/servant-client-core.cabal
++++ b/servant-client-core.cabal
+@@ -96,6 +96,7 @@ test-suite spec
+   main-is:             Spec.hs
+   other-modules:
+       Servant.Client.Core.Internal.BaseUrlSpec
++      Servant.Client.Core.RequestSpec
+ 
+   -- Dependencies inherited from the library. No need to specify bounds.
+   build-depends:
+diff --git a/src/Servant/Client/Core/Request.hs b/src/Servant/Client/Core/Request.hs
+index 73756e702..0276d46f8 100644
+--- a/src/Servant/Client/Core/Request.hs
++++ b/src/Servant/Client/Core/Request.hs
+@@ -64,8 +64,32 @@ data RequestF body path = Request
+   , requestHeaders     :: Seq.Seq Header
+   , requestHttpVersion :: HttpVersion
+   , requestMethod      :: Method
+-  } deriving (Generic, Typeable, Eq, Show, Functor, Foldable, Traversable)
++  } deriving (Generic, Typeable, Eq, Functor, Foldable, Traversable)
+ 
++instance (Show a, Show b) =>
++           Show (Servant.Client.Core.Request.RequestF a b) where
++    showsPrec p req
++      = showParen
++        (p >= 11)
++        ( showString "Request {requestPath = "
++        . showsPrec 0 (requestPath req)
++        . showString ", requestQueryString = "
++        . showsPrec 0 (requestQueryString req)
++        . showString ", requestBody = "
++        . showsPrec 0 (requestBody req)
++        . showString ", requestAccept = "
++        . showsPrec 0 (requestAccept req)
++        . showString ", requestHeaders = "
++        . showsPrec 0 (redactSensitiveHeader <$> requestHeaders req))
++        . showString ", requestHttpVersion = "
++        . showsPrec 0 (requestHttpVersion req)
++        . showString ", requestMethod = "
++        . showsPrec 0 (requestMethod req)
++        . showString "}"
++       where
++        redactSensitiveHeader :: Header -> Header
++        redactSensitiveHeader ("Authorization", _) = ("Authorization", "<REDACTED>")
++        redactSensitiveHeader h = h
+ instance Bifunctor RequestF where bimap = bimapDefault
+ instance Bifoldable RequestF where bifoldMap = bifoldMapDefault
+ instance Bitraversable RequestF where
+diff --git a/test/Servant/Client/Core/RequestSpec.hs b/test/Servant/Client/Core/RequestSpec.hs
+new file mode 100644
+index 000000000..99a1db7d3
+--- /dev/null
++++ b/test/Servant/Client/Core/RequestSpec.hs
+@@ -0,0 +1,19 @@
++{-# OPTIONS_GHC -fno-warn-orphans #-}
++{-# LANGUAGE OverloadedStrings #-}
++module Servant.Client.Core.RequestSpec (spec) where
++
++
++import           Prelude ()
++import           Prelude.Compat
++import           Control.Monad
++import           Data.List (isInfixOf)
++import           Servant.Client.Core.Request
++import           Test.Hspec
++
++spec :: Spec
++spec = do
++  describe "Request" $ do
++    describe "show" $ do
++      it "redacts the authorization header" $ do
++        let request = void $ defaultRequest { requestHeaders = pure ("authorization", "secret") }
++        isInfixOf "secret" (show request) `shouldBe` False
diff --git a/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch b/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
deleted file mode 100644
index ebadd215cb7..00000000000
--- a/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs
-index 712007006..6be92ec6d 100644
---- a/src/Servant/Client/Core/Internal/HasClient.hs
-+++ b/src/Servant/Client/Core/Internal/HasClient.hs
-@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where
- import           Prelude ()
- import           Prelude.Compat
- 
-+import           Control.Concurrent.MVar
-+                 (modifyMVar, newMVar)
- import qualified Data.ByteString                        as BS
- import qualified Data.ByteString.Lazy                   as BL
- import           Data.Foldable
-@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types                     as H
- import           Servant.API
-                  ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
-                  BuildHeadersTo (..), Capture', CaptureAll, Description,
--                 EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header',
--                 Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender),
-+                 EmptyAPI, FramingRender (..), FramingUnrender (..),
-+                 FromSourceIO (..), Header', Headers (..), HttpVersion,
-+                 IsSecure, MimeRender (mimeRender),
-                  MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
-                  QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
-                  ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
--                 Vault, Verb, WithNamedContext, contentType, getHeadersHList,
--                 getResponse, toQueryParam, toUrlPiece)
-+                 ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
-+                 getHeadersHList, getResponse, toQueryParam, toUrlPiece)
- import           Servant.API.ContentTypes
-                  (contentTypes)
- import           Servant.API.Modifiers
-@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api)
-     hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
- 
- instance
--    ( HasClient m api
-+    ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a
-     ) => HasClient m (StreamBody' mods framing ctype a :> api)
-   where
- 
-@@ -547,7 +550,39 @@ instance
-     hoistClientMonad pm _ f cl = \a ->
-       hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
- 
--    clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody"
-+    clientWithRoute pm Proxy req body
-+        = clientWithRoute pm (Proxy :: Proxy api)
-+        $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req
-+      where
-+        ctypeP   = Proxy :: Proxy ctype
-+        framingP = Proxy :: Proxy framing
-+
-+        sourceIO = framingRender
-+            framingP
-+            (mimeRender ctypeP :: chunk -> BL.ByteString)
-+            (toSourceIO body)
-+
-+        -- not pretty.
-+        givesPopper :: (IO BS.ByteString -> IO ()) -> IO ()
-+        givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do
-+            ref <- newMVar step0
-+
-+            -- Note sure we need locking, but it's feels safer.
-+            let popper :: IO BS.ByteString
-+                popper = modifyMVar ref nextBs
-+
-+            needsPopper popper
-+
-+        nextBs S.Stop          = return (S.Stop, BS.empty)
-+        nextBs (S.Error err)   = fail err
-+        nextBs (S.Skip s)      = nextBs s
-+        nextBs (S.Effect ms)   = ms >>= nextBs
-+        nextBs (S.Yield lbs s) = case BL.toChunks lbs of
-+            []     -> nextBs s
-+            (x:xs) | BS.null x -> nextBs step'
-+                   | otherwise -> return (step', x)
-+                where
-+                  step' = S.Yield (BL.fromChunks xs) s
-
-
-
diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix
index 650d843be84..599ca72c615 100644
--- a/pkgs/development/idris-modules/tparsec.nix
+++ b/pkgs/development/idris-modules/tparsec.nix
@@ -1,18 +1,21 @@
 { build-idris-package
 , fetchFromGitHub
+, contrib
 , lib
 }:
 build-idris-package  {
   name = "tparsec";
-  version = "2019-06-18";
+  version = "2019-09-19";
 
   ipkgName = "TParsec";
+  
+  idrisDeps = [ contrib ];
 
   src = fetchFromGitHub {
     owner = "gallais";
     repo = "idris-tparsec";
-    rev = "3809afd8735b0054e5db788f18a7fa8ed71d8278";
-    sha256 = "0wmgg1zg9p8gqlfvcsnww17jsifx9987cxqdq6kbdgasn26w2rqx";
+    rev = "cbaea6ec7e5b62536666329940f3ffb5b8b59036";
+    sha256 = "0bzdv90a83irn7ca268acl19mjg9vxjmc4saa4naj4hdmg7srb2v";
   };
 
   meta = {
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index b5a7c2b467e..8187bf4af8e 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,30 +2,30 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.469";
+  version = "1.10.1.492";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq";
+    sha256 = "09mhy5xw9kdr10a1xpbn5v97qyyhngw5s1n1alrs45a4m3l11iky";
   };
 
   buildInputs = [ makeWrapper ];
 
-  outputs = [ "out" "prefix" ];
-
   installPhase = let
     binPath = stdenv.lib.makeBinPath [ rlwrap jdk11 ];
-  in ''
-    mkdir -p $prefix/libexec
-    cp clojure-tools-${version}.jar $prefix/libexec
-    cp example-deps.edn $prefix
-
-    substituteInPlace clojure --replace PREFIX $prefix
-
-    install -Dt $out/bin clj clojure
-    wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
-    wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
-  '';
+  in
+    ''
+      mkdir -p $out/libexec
+      cp clojure-tools-${version}.jar $out/libexec
+      cp example-deps.edn $out
+      cp deps.edn $out
+
+      substituteInPlace clojure --replace PREFIX $out
+
+      install -Dt $out/bin clj clojure
+      wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath}
+      wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath}
+    '';
 
   meta = with stdenv.lib; {
     description = "A Lisp dialect for the JVM";
diff --git a/pkgs/development/interpreters/duktape/default.nix b/pkgs/development/interpreters/duktape/default.nix
index f968e04bbe9..369c3840b87 100644
--- a/pkgs/development/interpreters/duktape/default.nix
+++ b/pkgs/development/interpreters/duktape/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "duktape";
-  version = "2.4.0";
+  version = "2.5.0";
   src = fetchurl {
     url = "http://duktape.org/duktape-${version}.tar.xz";
-    sha256 = "1z3i0ymnkk6q48bmbgh59g1ryrwjdv46vrf6nbnmqfv3s43r7a46";
+    sha256 = "05ln6b2a0s8ynz28armwqs2r5zjyi3cxi0dx6ahnxlqw19b13m43";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
index 7c7cd9abb7e..9da2b0d899d 100644
--- a/pkgs/development/interpreters/eff/default.nix
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   checkTarget = "test";
 
   meta = with stdenv.lib; {
-    homepage = http://www.eff-lang.org;
+    homepage = https://www.eff-lang.org;
     description = "A functional programming language based on algebraic effects and their handlers";
     longDescription = ''
       Eff is a functional language with handlers of not only exceptions,
diff --git a/pkgs/development/interpreters/elixir/1.9.nix b/pkgs/development/interpreters/elixir/1.9.nix
index 2d9fec02e10..4eead35bae3 100644
--- a/pkgs/development/interpreters/elixir/1.9.nix
+++ b/pkgs/development/interpreters/elixir/1.9.nix
@@ -1,7 +1,9 @@
 { mkDerivation }:
 
+# How to obtain `sha256`:
+# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
 mkDerivation {
-  version = "1.9.2";
-  sha256 = "19yn6nx6r627f5zbyc7ckgr96d6b45sgwx95n2gp2imqwqvpj8wc";
+  version = "1.9.4";
+  sha256 = "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b";
   minimumOTPVersion = "20";
 }
diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix
index 8b471f63247..88fe21453a8 100644
--- a/pkgs/development/interpreters/erlang/R22.nix
+++ b/pkgs/development/interpreters/erlang/R22.nix
@@ -1,8 +1,10 @@
 { mkDerivation }:
 
+# How to obtain `sha256`:
+# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "22.0.4";
-  sha256 = "1aqkhd6nwdn4xp5yz02zbymd4x8ij8fjw9ji8kh860n1a513k9ai";
+  version = "22.1.7";
+  sha256 = "18aqy2s8nqd82v4lzzxknrwjva8mv1y2hvai9cakz5nkyd3vwq62";
 
   prePatch = ''
     substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 3f1c21cc881..76f71745f35 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, ncurses, openssl, perl, autoconf
 , openjdk ? null # javacSupport
 , unixODBC ? null # odbcSupport
-, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
 , withSystemd ? stdenv.isLinux, systemd # systemd support in epmd
 }:
 
@@ -18,7 +18,7 @@
 , enableKernelPoll ? true
 , javacSupport ? false, javacPackages ? [ openjdk ]
 , odbcSupport ? false, odbcPackages ? [ unixODBC ]
-, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
+, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
 , preUnpack ? "", postUnpack ? ""
 , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
 , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
@@ -32,7 +32,7 @@
 
 assert wxSupport -> (if stdenv.isDarwin
   then wxmac != null
-  else libGLU_combined != null && wxGTK != null && xorg != null);
+  else libGL != null && libGLU != null && wxGTK != null && xorg != null);
 
 assert odbcSupport -> unixODBC != null;
 assert javacSupport -> openjdk != null;
@@ -121,8 +121,7 @@ in stdenv.mkDerivation ({
       tolerance.
     '';
 
-    # aarch64 is supposed to work but started failing in https://hydra.nixos.org/build/83735973
-    platforms = subtractLists [ "aarch64-linux" ] platforms.unix;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ the-kenny sjmackenzie couchemar gleber ];
     license = licenses.asl20;
   } // meta);
diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix
index 71542046af9..9b38d1e4ad5 100644
--- a/pkgs/development/interpreters/gauche/default.nix
+++ b/pkgs/development/interpreters/gauche/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gauche";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/gauche/Gauche-${version}.tgz";
-    sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry";
+    sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo ];
diff --git a/pkgs/development/interpreters/gtk-server/default.nix b/pkgs/development/interpreters/gtk-server/default.nix
index 6f5a5ec0f19..4a8330f2749 100644
--- a/pkgs/development/interpreters/gtk-server/default.nix
+++ b/pkgs/development/interpreters/gtk-server/default.nix
@@ -1,28 +1,34 @@
-{ stdenv, fetchurl, libffcall, gtk2, pkgconfig }:
+{ stdenv, fetchurl
+, glib
+, gtk3
+, libffcall
+, pkgconfig
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
-  v = "2.3.1";
-  name = "gtk-server-${v}";
+  pname = "gtk-server";
+  version = "2.4.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gtk-server/${name}-sr.tar.gz";
-    sha256 = "0z8ng5rhxc7fpsj3d50h25wkgcnxjfy030jm8r9w9m729w2c9hxb";
+    url = "https://www.gtk-server.org/stable/gtk-server-${version}.tar.gz";
+    sha256 = "0vlx5ibvc7hyc8yipjgvrx1azvmh42i9fv1khg3dvn09nrdkrc7f";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libffcall gtk2 ];
+  preConfigure = ''
+    cd src
+  '';
 
-  configureOptions = [ "--with-gtk2" ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  buildInputs = [ libffcall glib gtk3 ];
 
-  NIX_LDFLAGS = [
-    "-ldl"
-  ];
+  configureOptions = [ "--with-gtk3" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "gtk-server for interpreted GUI programming";
-    homepage = http://www.gtk-server.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [stdenv.lib.maintainers.tohl];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://www.gtk-server.org/";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.tohl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.0.sh b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
index c7fb4f70fc6..6bb3910aaff 100644
--- a/pkgs/development/interpreters/guile/setup-hook-2.0.sh
+++ b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
@@ -1,12 +1,12 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site/2.0"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
     elif test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.2.sh b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
index 73e700bde02..4b3541fcc7f 100644
--- a/pkgs/development/interpreters/guile/setup-hook-2.2.sh
+++ b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
@@ -1,12 +1,12 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site/2.2"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
     elif test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/guile/setup-hook.sh b/pkgs/development/interpreters/guile/setup-hook.sh
index bf04fee1e89..d006b50ce8e 100644
--- a/pkgs/development/interpreters/guile/setup-hook.sh
+++ b/pkgs/development/interpreters/guile/setup-hook.sh
@@ -1,7 +1,7 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
index a6acd603c81..5816b3a175c 100644
--- a/pkgs/development/interpreters/hy/default.nix
+++ b/pkgs/development/interpreters/hy/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "hy";
   version = "0.17.0";
 
-  src = pythonPackages.fetchPypi {
+  src = python2Packages.fetchPypi {
     inherit pname version;
     sha256 = "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python2Packages; [
     appdirs
     astor
     clint
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index 6c0568d6813..f763274c15d 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo,
-  ncurses, freetype, libGLU_combined, libpng, libtiff, libjpeg, readline, libsndfile,
+  ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile,
   libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl,
   python3, openssl, glfw, pkgconfig, libpthreadstubs, libXdmcp, libmemcached
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     zlib sqlite gmp libffi cairo ncurses freetype
-    libGLU_combined libpng libtiff libjpeg readline libsndfile libxml2
+    libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2
     freeglut libsamplerate pcre libevent libedit yajl
     pkgconfig glfw openssl libpthreadstubs libXdmcp
     libmemcached python3
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
 
     maintainers = with maintainers; [
       raskin
-      z77z
+      maggesi
       vrthra
     ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 337b83767f4..be5da812530 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xszmgw5nl5b6gd3344h1mic1c1a3hj7nivp4d9hqzzh131qvbn5";
+    sha256 = "13b4haaanlgi8qpwwvf59zf7qsw8p0zdqv7xdxjjyid5yww7jmm2";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index 91b4c0b9a9e..09d7fa622fc 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -5,35 +5,53 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jimtcl";
-  version = "0.78";
+  version = "0.79";
 
   src = fetchFromGitHub {
     owner = "msteveb";
     repo = "jimtcl";
     rev = version;
-    sha256 = "1nrjxjfh69i35ig8sxdlal4ydd3cl0x68c05s6svnf1y2i1bl23j";
+    sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
   };
 
-  buildInputs = [
-    sqlite readline asciidoc SDL SDL_gfx
+  nativeBuildInputs = [
+    asciidoc
   ];
 
-  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+  buildInputs = [
+    sqlite readline SDL SDL_gfx
+  ];
 
   configureFlags = [
+    "--shared"
     "--with-ext=oo"
     "--with-ext=tree"
     "--with-ext=binary"
     "--with-ext=sqlite3"
     "--with-ext=readline"
     "--with-ext=sdl"
+    "--with-ext=json"
     "--enable-utf8"
     "--ipv6"
   ];
 
+  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = ''
+    # test exec2-3.2 fails depending on platform or sandboxing (?)
+    rm tests/exec2.test
+  '';
+
+  postInstall = ''
+    ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
+  '';
+
   meta = {
     description = "An open source small-footprint implementation of the Tcl programming language";
-    homepage = http://jim.tcl.tk/;
+    homepage = "http://jim.tcl.tk/";
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
index 7e90c6dfb28..6a3aa9f648f 100644
--- a/pkgs/development/interpreters/love/0.10.nix
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 7f39259c298..3bf8aee0d07 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 , libmng
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng
   ];
 
diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix
index 792fe299e4d..57c1a6ce564 100644
--- a/pkgs/development/interpreters/love/0.8.nix
+++ b/pkgs/development/interpreters/love/0.8.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
index f1571dc726c..a2182f45436 100644
--- a/pkgs/development/interpreters/love/0.9.nix
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL2, libGLU_combined, openal, luajit
+, SDL2, libGLU, libGL, openal, luajit
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit
+    SDL2 libGLU libGL openal luajit
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix
index 6f3f7161a0b..0a60a4cacfe 100644
--- a/pkgs/development/interpreters/love/11.1.nix
+++ b/pkgs/development/interpreters/love/11.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch b/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
index 31d3b8bdee7..31d3b8bdee7 100644
--- a/pkgs/development/interpreters/lua-5/5.1.0004-Fix-stack-overflow-in-vararg-functions.patch
+++ b/pkgs/development/interpreters/lua-5/CVE-2014-5461.patch
diff --git a/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch
new file mode 100644
index 00000000000..89e81b7eb68
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch
@@ -0,0 +1,22 @@
+--- a/src/lapi.c
++++ b/src/lapi.c
+@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State *
+ 
+ LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
+                                             int fidx2, int n2) {
+-  LClosure *f1;
+-  UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
++  UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */
+   UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
++  if (*up1 == *up2) return; /* Already joined */
++  (*up2)->refcount++;
++  if (upisopen(*up2)) (*up2)->u.open.touched = 1;
++  luaC_upvalbarrier(L, *up2);
+   luaC_upvdeccount(L, *up1);
+   *up1 = *up2;
+-  (*up1)->refcount++;
+-  if (upisopen(*up1)) (*up1)->u.open.touched = 1;
+-  luaC_upvalbarrier(L, *up1);
+ }
+ 
+ 
diff --git a/pkgs/development/interpreters/lua-5/build-lua-package.nix b/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 74ccb91030a..be7aa5fc09d 100644
--- a/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-lua-package.nix
@@ -161,7 +161,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // {
 
   # enabled only for src.rock
   setSourceRoot= let
-    name_only=(builtins.parseDrvName name).name;
+    name_only= lib.getName name;
   in
     lib.optionalString (knownRockspec == null) ''
     # format is rockspec_basename/source_basename
diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix
index 08645dfb77f..7e79ff8f117 100644
--- a/pkgs/development/interpreters/lua-5/default.nix
+++ b/pkgs/development/interpreters/lua-5/default.nix
@@ -1,5 +1,5 @@
 # similar to interpreters/python/default.nix
-{ stdenv, lib, callPackage, fetchurl }:
+{ stdenv, lib, callPackage, fetchurl, fetchpatch }:
 let
   dsoPatch51 = fetchurl {
     url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51";
@@ -18,7 +18,10 @@ in rec {
   lua5_3 = callPackage ./interpreter.nix {
     sourceVersion = { major = "5"; minor = "3"; patch = "5"; };
     hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac";
-    patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ;
+    patches =
+      lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ++ [
+        ./CVE-2019-6706.patch
+      ];
     postConfigure = lib.optionalString (!stdenv.isDarwin) ''
       cat ${./lua-5.3-dso.make} >> src/Makefile
       sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
@@ -49,7 +52,7 @@ in rec {
     sourceVersion = { major = "5"; minor = "1"; patch = "5"; };
     hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
     patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch51 ])
-      ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ];
+      ++ [ ./CVE-2014-5461.patch ];
   };
 
   luajit_2_0 = import ../luajit/2.0.nix {
diff --git a/pkgs/development/interpreters/lua-5/setup-hook.sh b/pkgs/development/interpreters/lua-5/setup-hook.sh
index f7e56b62ac9..1c445b82afd 100644
--- a/pkgs/development/interpreters/lua-5/setup-hook.sh
+++ b/pkgs/development/interpreters/lua-5/setup-hook.sh
@@ -20,7 +20,7 @@ addToLuaSearchPathWithCustomDelimiter() {
   if [[ ! -d "$topDir" ]]; then return; fi
 
   # export only if we haven't already got this dir in the search path
-  if [[ ${!varName} == *"$absPattern"* ]]; then return; fi
+  if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
 
   export "${varName}=${!varName:+${!varName};}${absPattern}"
 }
diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix
index 816744e61cf..53ec2baeb5e 100644
--- a/pkgs/development/interpreters/lua-5/wrapper.nix
+++ b/pkgs/development/interpreters/lua-5/wrapper.nix
@@ -11,7 +11,7 @@
 let
   env = let
     paths =  requiredLuaModules (extraLibs ++ [ lua ] );
-  in buildEnv {
+  in (buildEnv {
     name = "${lua.name}-env";
 
     inherit paths;
@@ -20,12 +20,6 @@ let
 
     # we create wrapper for the binaries in the different packages
     postBuild = ''
-
-      . "${makeWrapper}/nix-support/setup-hook"
-
-      # get access to lua functions
-      . ${lua}/nix-support/setup-hook
-
       if [ -L "$out/bin" ]; then
           unlink "$out/bin"
       fi
@@ -68,5 +62,8 @@ let
         '';
     };
     };
-  };
+  }).overrideAttrs (_: {
+    # Add extra deps needed for postBuild hook.
+    nativeBuildInputs = [ makeWrapper lua ];
+  });
 in env
diff --git a/pkgs/development/interpreters/lush/default.nix b/pkgs/development/interpreters/lush/default.nix
index 5a241fbf83e..a8db08e87a2 100644
--- a/pkgs/development/interpreters/lush/default.nix
+++ b/pkgs/development/interpreters/lush/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
+{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU, libGL, SDL
 , blas, libbfd, intltool, gettext, zlib, libSM}:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
+    libX11 libSM xorgproto indent readline gsl freeglut libGLU libGL SDL blas libbfd
     intltool gettext zlib
   ];
 
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index cc9f6fcc3c9..eb9827969e1 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
-, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGLU_combined, fltk
-, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
+, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
+, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp, gl2ps
 , qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
 , suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull
     graphicsmagick pcre pkgconfig fltk zlib curl openblas libsndfile fftw
-    fftwSinglePrec portaudio qrupdate arpack libwebp ]
+    fftwSinglePrec portaudio qrupdate arpack libwebp gl2ps ]
     ++ (stdenv.lib.optional (qt != null) qt)
     ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     ++ (stdenv.lib.optional (jdk != null) jdk)
     ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
     ++ (stdenv.lib.optional (python != null) python)
-    ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGLU_combined libX11 ])
+    ++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
     ;
 
   # makeinfo is required by Octave at runtime to display help
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 2ecc5cbb2ef..89979e18bdc 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
-, enableThreading ? stdenv ? glibc, makeWrapper
+, enableThreading ? stdenv ? glibc, coreutils, makeWrapper
 }:
 
 with lib;
@@ -35,7 +35,7 @@ let
 
     # TODO: Add a "dev" output containing the header files.
     outputs = [ "out" "man" "devdoc" ] ++
-      stdenv.lib.optional crossCompiling "dev";
+      optional crossCompiling "dev";
     setOutputFlags = false;
 
     disallowedReferences = [ stdenv.cc ];
@@ -57,12 +57,20 @@ let
       ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
       ++ optional crossCompiling ./MakeMaker-cross.patch;
 
-    postPatch = ''
-      pwd="$(type -P pwd)"
+    # This is not done for native builds because pwd may need to come from
+    # bootstrap tools when building bootstrap perl.
+    postPatch = (if crossCompiling then ''
       substituteInPlace dist/PathTools/Cwd.pm \
-        --replace "/bin/pwd" "$pwd"
-    '' + stdenv.lib.optionalString crossCompiling ''
+        --replace "/bin/pwd" '${coreutils}/bin/pwd'
       substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
+    '' else ''
+      substituteInPlace dist/PathTools/Cwd.pm \
+        --replace "/bin/pwd" "$(type -P pwd)"
+    '') +
+    # Perl's build system uses the src variable, and its value may end up in
+    # the output in some cases (when cross-compiling)
+    ''
+      unset src
     '';
 
     # Build a thread-safe Perl with a dynamic libperls.o.  We need the
@@ -85,7 +93,7 @@ let
       ++ optional stdenv.isSunOS "-Dcc=gcc"
       ++ optional enableThreading "-Dusethreads";
 
-    configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
+    configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
 
     dontAddPrefix = !crossCompiling;
 
@@ -140,7 +148,7 @@ let
             }" /no-such-path \
           --replace "${stdenv.cc}" /no-such-path \
           --replace "$man" /no-such-path
-      '' + stdenv.lib.optionalString crossCompiling
+      '' + optionalString crossCompiling
       ''
         mkdir -p $dev/lib/perl5/cross_perl/${version}
         for dir in cnf/{stub,cpan}; do
@@ -172,12 +180,12 @@ let
       platforms = platforms.all;
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
-  } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
+  } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
+    crossVersion = "ba90816ef2c24dc06fd6cd2c854abcfa1aae00a3"; # Nov 22, 2019
 
     perl-cross-src = fetchurl {
       url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
-      sha256 = "1hg3k2rhjs5gclrm05z87nvlh4j9pg7mkm9998h9gy6mzk8224q5";
+      sha256 = "19jq5fz6l64s0v6j64n5mkk5v2srpyfn9sc09hwbpkp9n74q82j4";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -205,15 +213,15 @@ in {
   perl530 = common {
     perl = pkgs.perl530;
     buildPerl = buildPackages.perl530;
-    version = "5.30.0";
-    sha256 = "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5";
+    version = "5.30.1";
+    sha256 = "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz";
   };
 
   # the latest Devel version
   perldevel = common {
     perl = pkgs.perldevel;
     buildPerl = buildPackages.perldevel;
-    version = "5.31.2";
-    sha256 = "00bdh9lmjb0m7dhk8mj7kab7cg2zn9zgw82y4hgkwydzg6d1jis0";
+    version = "5.31.6";
+    sha256 = "08n3c8xm1brxpckqy8i1xgjrpl4afrhcva9bhxswr938n675x71k";
   };
 }
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 4778f08560d..26798d676e0 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -4,7 +4,7 @@
 , openssl, pcre, pcre2, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
 , uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
-, libzip, valgrind
+, libzip, valgrind, oniguruma
 }:
 
 with lib;
@@ -78,6 +78,7 @@ let
       buildInputs = [ ]
         ++ optional (versionOlder version "7.3") pcre
         ++ optional (versionAtLeast version "7.3") pcre2
+        ++ optional (versionAtLeast version "7.4") oniguruma
         ++ optional withSystemd systemd
         ++ optionals imapSupport [ uwimap openssl pam ]
         ++ optionals curlSupport [ curl openssl ]
@@ -114,7 +115,8 @@ let
         "--with-config-file-scan-dir=/etc/php.d"
       ]
       ++ optional (versionOlder version "7.3") "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
-      ++ optional (versionAtLeast version "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
+      ++ optional (versions.majorMinor version == "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
+      ++ optional (versionAtLeast version "7.4") "--with-external-pcre=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
       ++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
       ++ optional withSystemd "--with-fpm-systemd"
       ++ optionals imapSupport [
@@ -133,10 +135,11 @@ let
       ++ optional mhashSupport "--with-mhash"
       ++ optional curlSupport "--with-curl=${curl.dev}"
       ++ optional zlibSupport "--with-zlib=${zlib.dev}"
-      ++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
+      ++ optional (libxml2Support && (versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
       ++ optional (!libxml2Support) [
         "--disable-dom"
         "--disable-libxml"
+        (if (versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
         "--disable-simplexml"
         "--disable-xml"
         "--disable-xmlreader"
@@ -156,7 +159,12 @@ let
       ++ optional ( pdo_mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
       ++ optional bcmathSupport "--enable-bcmath"
       # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
-      ++ optionals gdSupport [
+      ++ optionals (gdSupport && versionAtLeast version "7.4") [
+        "--enable-gd"
+        "--with-jpeg=${libjpeg.dev}"
+        "--with-freetype=${freetype.dev}"
+        "--enable-gd-jis-conv"
+      ] ++ optionals (gdSupport && versionOlder version "7.4") [
         "--with-gd"
         "--with-freetype-dir=${freetype.dev}"
         "--with-png-dir=${libpng.dev}"
@@ -173,7 +181,8 @@ let
       ++ optional xslSupport "--with-xsl=${libxslt.dev}"
       ++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
       ++ optional bz2Support "--with-bz2=${bzip2.dev}"
-      ++ optional zipSupport "--enable-zip"
+      ++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
+      ++ optional (zipSupport && (versionAtLeast version "7.4")) "--with-zip"
       ++ optional ftpSupport "--enable-ftp"
       ++ optional fpmSupport "--enable-fpm"
       ++ optional ztsSupport "--enable-maintainer-zts"
@@ -181,7 +190,7 @@ let
       ++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
       ++ optional tidySupport "--with-tidy=${html-tidy}"
       ++ optional argon2Support "--with-password-argon2=${libargon2}"
-      ++ optional libzipSupport "--with-libzip=${libzip.dev}"
+      ++ optional (libzipSupport && (versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
       ++ optional phpdbgSupport "--enable-phpdbg"
       ++ optional (!phpdbgSupport) "--disable-phpdbg"
       ++ optional (!cgiSupport) "--disable-cgi"
@@ -254,18 +263,23 @@ let
 
 in {
   php72 = generic {
-    version = "7.2.24";
-    sha256 = "00znhjcn6k4mbxz6jqlqf6bzr4cqdf8pnbmxkg6bns1hnr6r6yd0";
+    version = "7.2.26";
+    sha256 = "0yw49v3rk3cd0fb4gsli74pgd4qrykhn9c37dyfr3zsprzp8cvgk";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
   };
 
   php73 = generic {
-    version = "7.3.11";
-    sha256 = "1rxm256vhnvyabfwmyv51sqrkjlid1g8lczcy4skc2f72d5zzlcj";
+    version = "7.3.13";
+    sha256 = "1g376b9caw21mw8738z354llbzb3shzgc60m7naw7wql5038jysw";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
   };
+
+  php74 = generic {
+    version = "7.4.1";
+    sha256 = "0klfwhm2935ariwzqdri1fwh4a0vbrk3jis53qzi18isp3qa073b";
+  };
 }
diff --git a/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
new file mode 100644
index 00000000000..a1f9d68eb16
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
@@ -0,0 +1,100 @@
+From 597e73f2a4b2f0b508127931b36d5540d6941823 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Mon, 28 Aug 2017 09:24:06 +0200
+Subject: [PATCH] Don't use ldconfig
+
+---
+ Lib/ctypes/util.py | 70 ++----------------------------------------------------
+ 1 file changed, 2 insertions(+), 68 deletions(-)
+
+diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
+index 5e8b31a854..7b45ce6c15 100644
+--- a/Lib/ctypes/util.py
++++ b/Lib/ctypes/util.py
+@@ -94,46 +94,7 @@ elif os.name == "posix":
+     import re, tempfile
+ 
+     def _findLib_gcc(name):
+-        # Run GCC's linker with the -t (aka --trace) option and examine the
+-        # library name it prints out. The GCC command will fail because we
+-        # haven't supplied a proper program with main(), but that does not
+-        # matter.
+-        expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
+-
+-        c_compiler = shutil.which('gcc')
+-        if not c_compiler:
+-            c_compiler = shutil.which('cc')
+-        if not c_compiler:
+-            # No C compiler available, give up
+-            return None
+-
+-        temp = tempfile.NamedTemporaryFile()
+-        try:
+-            args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
+-
+-            env = dict(os.environ)
+-            env['LC_ALL'] = 'C'
+-            env['LANG'] = 'C'
+-            try:
+-                proc = subprocess.Popen(args,
+-                                        stdout=subprocess.PIPE,
+-                                        stderr=subprocess.STDOUT,
+-                                        env=env)
+-            except OSError:  # E.g. bad executable
+-                return None
+-            with proc:
+-                trace = proc.stdout.read()
+-        finally:
+-            try:
+-                temp.close()
+-            except FileNotFoundError:
+-                # Raised if the file was already removed, which is the normal
+-                # behaviour of GCC if linking fails
+-                pass
+-        res = re.search(expr, trace)
+-        if not res:
+-            return None
+-        return os.fsdecode(res.group(0))
++        return None
+ 
+ 
+     if sys.platform == "sunos5":
+@@ -255,34 +216,7 @@ elif os.name == "posix":
+     else:
+ 
+         def _findSoname_ldconfig(name):
+-            import struct
+-            if struct.calcsize('l') == 4:
+-                machine = os.uname().machine + '-32'
+-            else:
+-                machine = os.uname().machine + '-64'
+-            mach_map = {
+-                'x86_64-64': 'libc6,x86-64',
+-                'ppc64-64': 'libc6,64bit',
+-                'sparc64-64': 'libc6,64bit',
+-                's390x-64': 'libc6,64bit',
+-                'ia64-64': 'libc6,IA-64',
+-                }
+-            abi_type = mach_map.get(machine, 'libc6')
+-
+-            # XXX assuming GLIBC's ldconfig (with option -p)
+-            regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
+-            regex = os.fsencode(regex % (re.escape(name), abi_type))
+-            try:
+-                with subprocess.Popen(['/sbin/ldconfig', '-p'],
+-                                      stdin=subprocess.DEVNULL,
+-                                      stderr=subprocess.DEVNULL,
+-                                      stdout=subprocess.PIPE,
+-                                      env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
+-                    res = re.search(regex, p.stdout.read())
+-                    if res:
+-                        return os.fsdecode(res.group(1))
+-            except OSError:
+-                pass
++            return None
+ 
+         def _findLib_ld(name):
+             # See issue #9998 for why this is needed
+-- 
+2.15.0
+
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 09c324716bd..43d2d159e36 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -17,6 +17,7 @@
 # For the Python package set
 , packageOverrides ? (self: super: {})
 , buildPackages
+, pythonForBuild ? buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"}
 , sourceVersion
 , sha256
 , passthruFun
@@ -63,7 +64,7 @@ let
 
   hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
 
-  pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"};
+  inherit pythonForBuild;
 
   pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then
     "$out/bin/python"
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index ddfa9557582..76065dcdc29 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -29,6 +29,7 @@ with pkgs;
         isPy36 = pythonVersion == "3.6";
         isPy37 = pythonVersion == "3.7";
         isPy38 = pythonVersion == "3.8";
+        isPy39 = pythonVersion == "3.9";
         isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
         isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
         isPy3k = isPy3;
@@ -78,10 +79,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "6";
-      patch = "9";
+      patch = "10";
       suffix = "";
     };
-    sha256 = "1nkh70azbv866aw5a9bbxsxarsf40233vrzpjq17z3rz9ramybsy";
+    sha256 = "1pj0mz1xl27khi250p29c0y99vxg662js8zp71aprkf8i8wkr0qa";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
@@ -104,27 +105,31 @@ in {
     sourceVersion = {
       major = "3";
       minor = "8";
-      patch = "0";
+      patch = "1";
       suffix = "";
     };
-    sha256 = "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk";
+    sha256 = "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm";
     inherit (darwin) CF configd;
     inherit passthruFun;
   };
 
-  # Minimal versions of Python (built without optional dependencies)
-  python3Minimal = (callPackage ./cpython {
-    self = python3Minimal;
+  python39 = callPackage ./cpython {
+    self = python39;
     sourceVersion = {
       major = "3";
-      minor = "7";
-      patch = "4";
-      suffix = "";
+      minor = "9";
+      patch = "0";
+      suffix = "a2";
     };
-    sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
+    sha256 = "02a301bdcldin05ksdg8xw8xr6gdkpf73p0cabvn9rdl6yhkr3q8";
     inherit (darwin) CF configd;
     inherit passthruFun;
+  };
 
+  # Minimal versions of Python (built without optional dependencies)
+  python3Minimal = (python37.override {
+    self = python3Minimal;
+    pythonForBuild = pkgs.buildPackages.python3Minimal;
     # strip down that python version as much as possible
     openssl = null;
     readline = null;
diff --git a/pkgs/development/interpreters/python/hooks/flit-build-hook.sh b/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
index 48295dc3643..45893aae00f 100644
--- a/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/flit-build-hook.sh
@@ -9,7 +9,7 @@ flitBuildPhase () {
     echo "Finished executing flitBuildPhase"
 }
 
-if [ -z "$dontUseFlitBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUseFlitBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using flitBuildPhase"
     buildPhase=flitBuildPhase
 fi
diff --git a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
index c297bfffb1e..292f13d3015 100644
--- a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
@@ -31,12 +31,12 @@ pipShellHook() {
     echo "Finished executing pipShellHook"
 }
 
-if [ -z "$dontUsePipBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using pipBuildPhase"
     buildPhase=pipBuildPhase
 fi
 
-if [ -z "$shellHook" ]; then
+if [ -z "${shellHook-}" ]; then
     echo "Using pipShellHook"
     shellHook=pipShellHook
 fi
diff --git a/pkgs/development/interpreters/python/hooks/pip-install-hook.sh b/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
index f528ec63cb8..4eefe22d3f2 100644
--- a/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/pip-install-hook.sh
@@ -18,7 +18,7 @@ pipInstallPhase() {
     echo "Finished executing pipInstallPhase"
 }
 
-if [ -z "$dontUsePipInstall" ] && [ -z "$installPhase" ]; then
+if [ -z "${dontUsePipInstall-}" ] && [ -z "${installPhase-}" ]; then
     echo "Using pipInstallPhase"
     installPhase=pipInstallPhase
 fi
diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
index 24510b9f993..18f05b6d218 100644
--- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
@@ -43,7 +43,7 @@ function pytestCheckPhase() {
     echo "Finished executing pytestCheckPhase"
 }
 
-if [ -z "$dontUsePytestCheck" ] && [ -z "$installCheckPhase" ]; then
+if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
     echo "Using pytestCheckPhase"
     preDistPhases+=" pytestCheckPhase"
 fi
diff --git a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
index e9065cf1793..374a2eddb40 100644
--- a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh
@@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
     @pythonInterpreter@ @catchConflicts@
 }
 
-if [ -z "$dontUsePythonCatchConflicts" ]; then
+if [ -z "${dontUsePythonCatchConflicts-}" ]; then
     preDistPhases+=" pythonCatchConflictsPhase"
 fi
diff --git a/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh b/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
index 7e2b3f69d6d..0fc55145a8e 100644
--- a/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh
@@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
     fi
 }
 
-if [ -z "$dontUsePythonImportsCheck" ]; then
+if [ -z "${dontUsePythonImportsCheck-}" ]; then
     echo "Using pythonImportsCheckPhase"
     preDistPhases+=" pythonImportsCheckPhase"
 fi
diff --git a/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh b/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
index 960de767be7..2add23f2316 100644
--- a/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh
@@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
     fi
 }
 
-if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
+if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
     preDistPhases+=" pythonRemoveBinBytecodePhase"
 fi
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index c99ef313c10..2aec9279382 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -17,7 +17,7 @@ setuptoolsBuildPhase() {
     eval "@pythonInterpreter@ nix_run_setup $args bdist_wheel"
 
     runHook postBuild
-    echo "Finished executing setuptoolsInstallPhase"
+    echo "Finished executing setuptoolsBuildPhase"
 }
 
 setuptoolsShellHook() {
@@ -36,12 +36,12 @@ setuptoolsShellHook() {
     echo "Finished executing setuptoolsShellHook"
 }
 
-if [ -z "$dontUseSetuptoolsBuild" ] && [ -z "$buildPhase" ]; then
+if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
     echo "Using setuptoolsBuildPhase"
     buildPhase=setuptoolsBuildPhase
 fi
 
-if [ -z "$dontUseSetuptoolsShellHook" ] && [ -z "$shellHook" ]; then
+if [ -z "${dontUseSetuptoolsShellHook-}" ] && [ -z "${shellHook-}" ]; then
     echo "Using setuptoolsShellHook"
     shellHook=setuptoolsShellHook
 fi
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
index 71bb036a91a..88b7b11931b 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-check-hook.sh
@@ -12,7 +12,7 @@ setuptoolsCheckPhase() {
     echo "Finished executing setuptoolsCheckPhase"
 }
 
-if [ -z "$dontUseSetuptoolsCheck" ] && [ -z "$installCheckPhase" ]; then
+if [ -z "${dontUseSetuptoolsCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
     echo "Using setuptoolsCheckPhase"
     preDistPhases+=" setuptoolsCheckPhase"
 fi
diff --git a/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh b/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
index 6dd0c5be4cb..fca808a933b 100644
--- a/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/wheel-unpack-hook.sh
@@ -12,7 +12,7 @@ wheelUnpackPhase(){
     echo "Finished executing wheelUnpackPhase"
 }
 
-if [ -z "$dontUseWheelUnpack" ] && [ -z "$unpackPhase" ]; then
+if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
     echo "Using wheelUnpackPhase"
     unpackPhase=wheelUnpackPhase
 fi
diff --git a/pkgs/development/interpreters/python/manylinux/default.nix b/pkgs/development/interpreters/python/manylinux/default.nix
new file mode 100644
index 00000000000..a44ead23752
--- /dev/null
+++ b/pkgs/development/interpreters/python/manylinux/default.nix
@@ -0,0 +1,86 @@
+{ lib, pkgs }:
+
+let
+  # Create a derivation that links all desired manylinux libraries
+  createManyLinuxPackage = name: libs: let
+    drvs = lib.unique (lib.attrValues libs);
+    names = lib.attrNames libs;
+  in pkgs.runCommand name {
+    buildInputs = drvs;
+  } ''
+    mkdir -p $out/lib
+    num_found=0
+
+    IFS=:
+    export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names}
+    export LIBRARY_PATH=${lib.makeLibraryPath drvs}
+    for desired in $DESIRED_LIBRARIES; do
+      for path in $LIBRARY_PATH; do
+        if [ -e $path/$desired ]; then
+          echo "FOUND $path/$desired"
+          ln -s $path/$desired $out/lib/$desired
+          num_found=$((num_found+1))
+          break
+        fi
+      done
+    done
+
+    num_desired=${toString (lib.length names)}
+    echo "Found $num_found of $num_desired libraries"
+    if [ "$num_found" -ne "$num_desired" ]; then
+      echo "Error: not all desired libraries were found"
+      exit 1
+    fi
+  '';
+
+  getLibOutputs = lib.mapAttrs (k: v: lib.getLib v);
+
+  # https://www.python.org/dev/peps/pep-0599/
+  manylinux2014Libs = getLibOutputs(with pkgs; {
+    "libgcc_s.so.1" = glibc;
+    "libstdc++.so.6" = stdenv.cc.cc;
+    "libm.so.6" = glibc;
+    "libdl.so.2" = glibc;
+    "librt.so.1" = glibc;
+    "libc.so.6" = glibc;
+    "libnsl.so.1" = glibc;
+    "libutil.so.1" = glibc;
+    "libpthread.so.0" = glibc;
+    "libresolv.so.2" = glibc;
+    "libX11.so.6" = xorg.libX11;
+    "libXext.so.6" = xorg.libXext;
+    "libXrender.so.1" = xorg.libXrender;
+    "libICE.so.6" = xorg.libICE;
+    "libSM.so.6" = xorg.libSM;
+    "libGL.so.1" = libGL;
+    "libgobject-2.0.so.0" = glib;
+    "libgthread-2.0.so.0" = glib;
+    "libglib-2.0.so.0" = glib;
+    });
+
+  # https://www.python.org/dev/peps/pep-0571/
+  manylinux2010Libs = manylinux2014Libs;
+
+  # https://www.python.org/dev/peps/pep-0513/
+  manylinux1Libs = getLibOutputs(manylinux2010Libs // (with pkgs; {
+    "libpanelw.so.5" = ncurses5;
+    "libncursesw.so.5" = ncurses5;
+    "libcrypt.so.1" = glibc;
+    }));
+
+in {
+  # List of libraries that are needed for manylinux compatibility.
+  # When using a wheel that is manylinux1 compatible, just extend
+  # the `buildInputs` with one of these `manylinux` lists.
+  # Additionally, add `autoPatchelfHook` to `nativeBuildInputs`.
+  manylinux1 = lib.unique (lib.attrValues manylinux1Libs);
+  manylinux2010 = lib.unique (lib.attrValues manylinux2010Libs);
+  manylinux2014 = lib.unique (lib.attrValues manylinux2014Libs);
+
+  # These are symlink trees to the relevant libs and are typically not needed
+  # These exist so as to quickly test whether all required libraries are provided
+  # by the mapped packages.
+  manylinux1Package = createManyLinuxPackage "manylinux1" manylinux1Libs;
+  manylinux2010Package = createManyLinuxPackage "manylinux2010" manylinux2010Libs;
+  manylinux2014Package = createManyLinuxPackage "manylinux2014" manylinux2014Libs;
+}
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 82b2aac39a9..7e0580ce063 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -229,6 +229,8 @@ def _determine_extension(text, fetcher):
                 raise ValueError("Don't know how to update a Flit package.")
             elif src_format == 'other':
                 raise ValueError("Don't know how to update a format='other' package.")
+            elif src_format == 'pyproject':
+                raise ValueError("Don't know how to update a pyproject package.")
             extension = FORMATS[src_format]
 
     elif fetcher == 'fetchurl':
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
new file mode 100644
index 00000000000..23191b0e6d3
--- /dev/null
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "quickjs";
+  version = "2019-10-27";
+
+  src = fetchurl {
+    url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0xm16ja3c0k80jy0xkx0f40r44v2lgx2si4dnaw2w7c5nx7cmkai";
+  };
+
+  makeFlags = [ "prefix=${placeholder ''out''}" ];
+  enableParallelBuilding = true;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    PATH="$out/bin:$PATH"
+
+    # Programs exit with code 1 when testing help, so grep for a string
+    set +o pipefail
+    qjs     --help 2>&1 | grep "QuickJS version"
+    qjsbn   --help 2>&1 | grep "QuickJS version"
+    qjscalc --help 2>&1 | grep "QuickJS version"
+    set -o pipefail
+
+    temp=$(mktemp).js
+    echo "console.log('Output from compiled program');" > "$temp"
+    set -o verbose
+    out=$(mktemp) && qjsc         "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsbnc       "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsc   -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small and embeddable Javascript engine";
+    homepage = "https://bellard.org/quickjs/";
+    maintainers = with maintainers; [ stesie ivan ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 22b4d84f050..3b3b91afd6f 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -46,7 +46,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "7.4"; # always change at once with ./minimal.nix
+  version = "7.5"; # always change at once with ./minimal.nix
 
   src = (stdenv.lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
       inherit sha256;
     }
   )) {
-    inherit ;name = "${pname}-${version}";
-    sha256 = "07rf8sakwssl0gn9g4d3ls2cr10zlhghz0pscrh0jc6mnprrb10i";
+    name = "${pname}-${version}";
+    sha256 = "0b74v0pqkx57x2gk0m4sp94jaf6bi1mci4ix9vx4sh2442sbds1j";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
       GUIs and charts.
     '';
     homepage = http://racket-lang.org/;
-    license = licenses.lgpl3;
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ kkallio henrytill vrthra ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
     broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index b05d449ea2f..df7c72c4a68 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/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 = "0ixha4hcxlrsqjszjlr7xv6nn3mc5pb6szlbn4cq0880avakmml7";
+    sha256 = "0478f0phkjch10ncsl8lm8a1m8qvgchrkgzpcaxyhmg2clyjgn8r";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 846bba9e7e7..759a44b5760 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL2
-, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib
+{ stdenv, fetchurl, python2Packages, pkgconfig, SDL2
+, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
 , glib
 }:
 
-with pythonPackages;
+with python2Packages;
 
 stdenv.mkDerivation rec {
   pname = "renpy";
-  version = "7.3.3";
+  version = "7.3.5";
 
   meta = with stdenv.lib; {
     description = "Ren'Py Visual Novel Engine";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
-    sha256 = "0wwsm0vg6zd07xmkqrqprymahdl4ifg7bc1lpbrh0qlfs1pvjlss";
+    sha256 = "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4";
   };
 
   patches = [
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     python cython wrapPython tkinter
-    SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
+    SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
   ];
 
   pythonPath = [ pygame_sdl2 tkinter ];
 
   RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: path) [
-    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
+    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
   ]);
 
   buildPhase = ''
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 723a4978234..ee9b61259bb 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -3,7 +3,7 @@
 , zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, autoreconfHook, bison
 , autoconf, libiconv, libobjc, libunwind, Foundation
 , buildEnv, bundler, bundix
-, makeWrapper, buildRubyGem, defaultGemConfig
+, makeWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo
 } @ args:
 
 let
@@ -27,6 +27,7 @@ let
     ver = version;
     tag = ver.gitTag;
     atLeast25 = lib.versionAtLeast ver.majMin "2.5";
+    atLeast27 = lib.versionAtLeast ver.majMin "2.7";
     baseruby = self.override {
       useRailsExpress = false;
       docSupport = false;
@@ -44,6 +45,11 @@ let
       , groff, docSupport ? true
       , libyaml, yamlSupport ? true
       , libffi, fiddleSupport ? true
+      # ruby -e "puts RbConfig::CONFIG['configure_args']"
+      # puts a reference to the C compiler in the binary.
+      # This might be required by some gems at runtime,
+      # but we allow to strip it out for smaller closure size.
+      , removeReferencesTo, removeReferenceToCC ? false
       , autoreconfHook, bison, autoconf
       , buildEnv, bundler, bundix
       , libiconv, libobjc, libunwind, Foundation
@@ -111,7 +117,13 @@ let
           cp ${config}/config.sub tool/
         '';
 
-        configureFlags = ["--enable-shared" "--enable-pthread"]
+        # Force the revision.h generation. Somehow `revision.tmp` is an empty
+        # file and because we don't add `git` to buildInputs, hence the check is
+        # always true.
+        # https://github.com/ruby/ruby/commit/97a5af62a318fcd93a4e5e4428d576c0280ddbae
+        buildFlags = lib.optionals atLeast27 [ "REVISION_LATEST=0" ];
+
+        configureFlags = ["--enable-shared" "--enable-pthread" "--with-soname=ruby_${tag}"]
           ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
           ++ op (!docSupport) "--disable-install-doc"
           ++ ops stdenv.isDarwin [
@@ -144,7 +156,14 @@ let
         postInstall = ''
           # Remove unnecessary groff reference from runtime closure, since it's big
           sed -i '/NROFF/d' $out/lib/ruby/*/*/rbconfig.rb
-
+          ${
+            lib.optionalString removeReferenceToCC ''
+              # Get rid of the CC runtime dependency
+              ${removeReferencesTo}/bin/remove-references-to \
+                -t ${stdenv.cc} \
+                $out/lib/libruby*
+            ''
+          }
           # Bundler tries to create this directory
           mkdir -p $out/nix-support
           cat > $out/nix-support/setup-hook <<EOF
@@ -234,4 +253,12 @@ in {
       git = "0pay6ic22ag3bnvxffhgwp7z6clkd0p93944a1l4lvc5hxc8v77j";
     };
   };
+
+  ruby_2_7 = generic {
+    version = rubyVersion "2" "7" "0" "";
+    sha256 = {
+      src = "1glc3zpnih6h8mrgfcak0aa7cgmi4zyvxfyi6y2brwg2nn9sm6cc";
+      git = "11iz64k95czs273mb10195d1j75mmbcgddfdx1vay5876ffw81dq";
+    };
+  };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index 6fbb33b27fc..4838a1a09e5 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -16,4 +16,6 @@
     "${patchSet}/patches/ruby/2.6/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.6/head/railsexpress/03-more-detailed-stacktrace.patch"
   ];
+  "2.7.0" = ops useRailsExpress [ # no patches yet (2019-12-25)
+  ];
 }
diff --git a/pkgs/development/interpreters/ruby/rubygems/default.nix b/pkgs/development/interpreters/ruby/rubygems/default.nix
index 1042caa41ac..dd1db5a8450 100644
--- a/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "rubygems";
-  version = "3.0.6";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-    sha256 = "1ca1i4xmggizr59m6p28gprlvshczsbx30q8iyzxb2vj4jn8arzx";
+    sha256 = "0h7ij4jpj8rgnpkl63cwh2lnav73pw5wpfqra3va7077lsyadlgd";
   };
 
   patches = [
diff --git a/pkgs/development/interpreters/wasmtime/cargo-lock.patch b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
index 85479886570..56c9879dd6e 100644
--- a/pkgs/development/interpreters/wasmtime/cargo-lock.patch
+++ b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
@@ -1,17 +1,25 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..b961a31
+index 00000000..3b45d5eb
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,1608 @@
+@@ -0,0 +1,2272 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
++name = "ahash"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "aho-corasick"
-+version = "0.7.3"
++version = "0.7.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -19,110 +27,183 @@ index 0000000..b961a31
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "arrayref"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayvec"
-+version = "0.4.10"
++version = "0.4.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "atty"
-+version = "0.2.11"
++version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.4"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.30"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (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)",
-+ "rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "backtrace-sys"
-+version = "0.1.28"
++version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bincode"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bindgen"
-+version = "0.49.2"
++version = "0.51.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clang-sys 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "peeking_take_while 0.1.2 (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)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.1.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "byteorder"
-+version = "1.3.1"
++name = "blake2b_simd"
++version = "0.5.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "capstone"
-+version = "0.5.0"
++name = "block-buffer"
++version = "0.7.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "capstone-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "capstone-sys"
-+version = "0.9.1"
++name = "block-padding"
++version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "cast"
++name = "byte-tools"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "c2-chacha"
 +version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "capstone"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "capstone-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "capstone-sys"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.37"
++version = "1.0.46"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cexpr"
@@ -134,14 +215,15 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "chrono"
-+version = "0.4.6"
++version = "0.4.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "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)",
@@ -149,12 +231,12 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "clang-sys"
-+version = "0.28.0"
++version = "0.28.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -163,11 +245,11 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "strsim 0.8.0 (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)",
++ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -176,119 +258,216 @@ index 0000000..b961a31
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cmake"
-+version = "0.1.40"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "const-random"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "const-random-macro"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cpu-time"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-bforest"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-bforest 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-meta 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-meta"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "cranelift-codegen-shared"
++version = "0.49.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "cranelift-entity"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "cranelift-frontend"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-native"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-wasm"
-+version = "0.30.0"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-deque"
-+version = "0.2.0"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-epoch"
-+version = "0.3.1"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-queue"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-utils"
-+version = "0.2.2"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ctor"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cvt"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "digest"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "directories"
++version = "2.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -296,62 +475,49 @@ index 0000000..b961a31
 +version = "1.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 + "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "dynasm"
-+version = "0.3.2"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "owning_ref 0.3.3 (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)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "dynasmrt"
-+version = "0.3.1"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "either"
-+version = "1.5.2"
++version = "1.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "env_logger"
-+version = "0.5.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "env_logger"
-+version = "0.6.1"
++version = "0.6.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -361,8 +527,8 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -371,49 +537,51 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "faerie"
-+version = "0.9.1"
++version = "0.12.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "string-interner 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "structopt-derive 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure_derive"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "fake-simd"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "fallible-iterator"
-+version = "0.1.6"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -421,8 +589,19 @@ index 0000000..b961a31
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -431,58 +610,78 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "fxhash"
-+version = "0.2.1"
++name = "gcc"
++version = "0.3.55"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "generic-array"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "gcc"
-+version = "0.3.55"
++name = "getrandom"
++version = "0.1.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ghost"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "gimli"
-+version = "0.17.0"
++version = "0.19.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fallible-iterator 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "glob"
-+version = "0.2.11"
++version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "goblin"
-+version = "0.0.21"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hashbrown"
-+version = "0.1.8"
++version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
-+name = "hashmap_core"
-+version = "0.1.10"
++name = "hashbrown"
++version = "0.6.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "heck"
@@ -494,23 +693,69 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "humantime"
-+version = "1.2.0"
++version = "1.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "id-arena"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "indexmap"
-+version = "1.0.2"
++version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "indoc"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "indoc-impl 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "indoc-impl"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "inventory"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inventory-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "inventory-impl"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "itertools"
 +version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -519,52 +764,67 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "jobserver"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "lazy_static"
-+version = "1.3.0"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "leb128"
++version = "0.2.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.58"
++version = "0.2.64"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "libloading"
-+version = "0.5.1"
++version = "0.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "lightbeam"
 +version = "0.0.0"
 +dependencies = [
-+ "capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dynasm 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dynasmrt 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dynasm 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dynasmrt 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quickcheck 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "log"
-+version = "0.4.6"
++version = "0.4.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -572,56 +832,56 @@ index 0000000..b961a31
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.0"
++version = "2.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "memmap"
-+version = "0.6.2"
++version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "memoffset"
-+version = "0.3.0"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "more-asserts"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "multi_mut"
 +version = "0.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "nix"
-+version = "0.13.0"
++version = "0.15.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (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)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "nodrop"
-+version = "0.1.13"
++version = "0.1.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -629,16 +889,57 @@ index 0000000..b961a31
 +version = "4.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "num"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "num-integer"
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "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)",
 +]
 +
@@ -647,31 +948,60 @@ index 0000000..b961a31
 +version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num_cpus"
-+version = "1.10.0"
++version = "1.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "numtoa"
-+version = "0.1.0"
++name = "opaque-debug"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "os_pipe"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "owning_ref"
-+version = "0.3.3"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "paste"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "paste-impl"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "peeking_take_while"
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -682,131 +1012,152 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "ppv-lite86"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "pretty_env_logger"
-+version = "0.3.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "proc-macro2"
-+version = "0.4.30"
++name = "proc-macro-hack"
++version = "0.5.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "quick-error"
-+version = "1.2.2"
++name = "proc-macro2"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "quickcheck"
-+version = "0.7.2"
++name = "pyo3"
++version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indoc 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inventory 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3cls 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "quote"
-+version = "0.6.12"
++name = "pyo3-derive-backend"
++version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand"
-+version = "0.5.6"
++name = "pyo3cls"
++version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand"
-+version = "0.6.5"
++name = "quick-error"
++version = "1.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "quickcheck"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
++name = "quote"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_core"
-+version = "0.2.2"
++name = "rand"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_core"
-+version = "0.3.1"
++name = "rand_chacha"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_core"
-+version = "0.4.0"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
-+name = "rand_hc"
-+version = "0.1.0"
++name = "rand_core"
++version = "0.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
-+name = "rand_isaac"
-+version = "0.1.1"
++name = "rand_core"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "rand_jitter"
-+version = "0.1.4"
++name = "rand_hc"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -816,58 +1167,51 @@ index 0000000..b961a31
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_pcg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_xorshift"
-+version = "0.1.1"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "raw-cpuid"
-+version = "6.1.0"
++version = "7.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon"
-+version = "1.0.3"
++version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.4.1"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -880,54 +1224,79 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.54"
++version = "0.1.56"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "redox_termios"
-+version = "0.1.1"
++name = "redox_users"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "regex"
-+version = "1.1.6"
++version = "1.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.6"
++version = "0.6.12"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "region"
-+version = "2.0.0"
++version = "2.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rust-argon2"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rustc-demangle"
-+version = "0.1.15"
++version = "0.1.16"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "rustc-hash"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "rustc_version"
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -937,31 +1306,30 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "ryu"
-+version = "0.2.8"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "scopeguard"
-+version = "0.3.3"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "scroll"
-+version = "0.9.2"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "scroll_derive"
-+version = "0.9.5"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -979,30 +1347,41 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.92"
++version = "1.0.101"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.92"
++version = "1.0.101"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.39"
++version = "1.0.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "sha2"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1012,7 +1391,12 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.9"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "spin"
++version = "0.5.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1022,10 +1406,10 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "string-interner"
-+version = "0.6.3"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1039,86 +1423,76 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "structopt"
-+version = "0.2.17"
++name = "syn"
++version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "structopt-derive"
-+version = "0.2.17"
++name = "synstructure"
++version = "0.12.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "syn"
-+version = "0.15.34"
++name = "target-lexicon"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+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)",
-+]
 +
 +[[package]]
-+name = "synstructure"
-+version = "0.10.2"
++name = "tempfile"
++version = "3.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "take_mut"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "target-lexicon"
-+version = "0.3.0"
++name = "termcolor"
++version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "termcolor"
-+version = "1.0.5"
++name = "textwrap"
++version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "termion"
-+version = "1.5.2"
++name = "thiserror"
++version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
++ "thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "textwrap"
-+version = "0.11.0"
++name = "thiserror-impl"
++version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1126,7 +1500,7 @@ index 0000000..b961a31
 +version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1134,9 +1508,17 @@ index 0000000..b961a31
 +version = "0.1.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1145,6 +1527,19 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "trybuild"
++version = "1.0.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "typemap"
 +version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1153,8 +1548,8 @@ index 0000000..b961a31
 +]
 +
 +[[package]]
-+name = "ucd-util"
-+version = "0.1.3"
++name = "typenum"
++version = "1.11.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1164,12 +1559,17 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "unicode-width"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unindent"
++version = "0.1.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1181,11 +1581,6 @@ index 0000000..b961a31
 +]
 +
 +[[package]]
-+name = "utf8-ranges"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
 +name = "vec_map"
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1196,235 +1591,408 @@ index 0000000..b961a31
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "version_check"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "void"
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "wabt"
-+version = "0.7.4"
++name = "walrus"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "wabt-sys"
-+version = "0.5.4"
++name = "walrus-macro"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "wasi"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "wasi-common"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common#9a66400cd8cb31badaf4e43d0e27afd76639b3ac"
++version = "0.5.0"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common-cbindgen 0.5.0",
++ "wasmtime 0.1.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wasmtime-wasi 0.2.0",
++ "wig 0.1.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winx 0.5.0",
 +]
 +
 +[[package]]
 +name = "wasi-common-cbindgen"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common#9a66400cd8cb31badaf4e43d0e27afd76639b3ac"
++version = "0.5.0"
 +dependencies = [
-+ "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)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasm-webidl-bindings"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmparser"
-+version = "0.29.2"
++version = "0.39.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime"
 +version = "0.1.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pretty_env_logger 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-debug 0.1.0",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-obj 0.1.0",
-+ "wasmtime-runtime 0.1.0",
-+ "wasmtime-wasi 0.0.0",
-+ "wasmtime-wasi-c 0.0.0",
-+ "wasmtime-wast 0.1.0",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wasmtime-wasi 0.2.0",
++ "wasmtime-wast 0.2.0",
++]
++
++[[package]]
++name = "wasmtime-cli"
++version = "0.2.0"
++dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.1.0",
++ "wasmtime-debug 0.2.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-interface-types 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-obj 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wasmtime-wasi 0.2.0",
++ "wasmtime-wasi-c 0.2.0",
++ "wasmtime-wast 0.2.0",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-debug"
-+version = "0.1.0"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gimli 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-environ"
-+version = "0.1.0"
++version = "0.2.0"
 +dependencies = [
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lightbeam 0.0.0",
-+ "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasmtime-interface-types"
++version = "0.2.0"
++dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-jit"
-+version = "0.1.0"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-debug 0.1.0",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-debug 0.2.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-obj"
-+version = "0.1.0"
++version = "0.2.0"
++dependencies = [
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++]
++
++[[package]]
++name = "wasmtime-py"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-interface-types 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-runtime"
-+version = "0.1.0"
++version = "0.2.0"
 +dependencies = [
-+ "bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wasmtime-rust"
++version = "0.2.0"
++dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-interface-types 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-rust-macro 0.2.0",
++ "wasmtime-wasi 0.2.0",
++]
++
++[[package]]
++name = "wasmtime-rust-macro"
++version = "0.2.0"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-wasi"
-+version = "0.0.0"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-wasi-c"
-+version = "0.0.0"
++version = "0.2.0"
 +dependencies = [
-+ "bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-wast"
-+version = "0.1.0"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-environ 0.1.0",
-+ "wasmtime-jit 0.1.0",
-+ "wasmtime-runtime 0.1.0",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wast"
++version = "3.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wat"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "which"
-+version = "2.0.1"
++version = "3.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wig"
++version = "0.1.0"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "witx 0.4.0",
 +]
 +
 +[[package]]
 +name = "winapi"
-+version = "0.3.7"
++version = "0.3.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1441,7 +2009,7 @@ index 0000000..b961a31
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1451,164 +2019,260 @@ index 0000000..b961a31
 +
 +[[package]]
 +name = "wincolor"
-+version = "1.0.1"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
++[[package]]
++name = "winx"
++version = "0.5.0"
++dependencies = [
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cvt 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "witx"
++version = "0.4.0"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zstd"
++version = "0.5.1+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zstd-safe"
++version = "2.0.3+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zstd-sys"
++version = "1.4.15+zstd.1.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
 +[metadata]
-+"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
++"checksum ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "b35dfc96a657c1842b4eb73180b65e37152d4b94d0eb5cb51708aee7826950b4"
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-+"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
-+"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-+"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
-+"checksum backtrace 0.3.30 (registry+https://github.com/rust-lang/crates.io-index)" = "ada4c783bb7e7443c14e0480f429ae2cc99da95065aeab7ee1b81ada0419404f"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum bindgen 0.49.2 (registry+https://github.com/rust-lang/crates.io-index)" = "846a1fba6535362a01487ef6b10f0275faa12e5c5d835c5c1c627aabc46ccbd6"
-+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
-+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
-+"checksum capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "00be9d203fa0e078b93b24603633fb081851dfe0c1086364431f52587a47157e"
-+"checksum capstone-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc8d32bc5c1e6d0fcde10af411c98b07d93498d51654f678757f08fa2acd6a6"
-+"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
-+"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d"
++"checksum anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "57114fc2a6cc374bce195d3482057c846e706d252ff3604363449695684d7a0d"
++"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
++"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
++"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
++"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
++"checksum bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ab639324e3ee8774d296864fbc0dbbb256cf1a41c490b94cba90c082915f92"
++"checksum bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebd71393f1ec0509b553aa012b9b58e81dadbdff7130bd3b8cba576e69b32f75"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
++"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
++"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
++"checksum capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "031ba51c39151a1d6336ec859646153187204b0147c7b3f6fe2de636f1b8dbb3"
++"checksum capstone-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fae25eddcb80e24f98c35952c37a91ff7f8d0f60dbbdafb9763e8d5cc566b8d7"
++"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
 +"checksum cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af"
-+"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 clang-sys 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4227269cec09f5f83ff160be12a1e9b0262dd1aa305302d5ba296c2ebd291055"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
++"checksum clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81de550971c976f176130da4b2978d3b524eaa0fd9ac31f3ceb5ae1231fb4853"
 +"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+"checksum cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "2ca4386c8954b76a8415b63959337d940d724b336cabd3afe189c2b51a7e1ff0"
-+"checksum cranelift-bforest 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e5a357d20666bf4a8c2d626a19f1b59dbca66cd844fb1e66c5612254fd0f7505"
-+"checksum cranelift-codegen 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab00cb149a5bb0f7e6dd391357356a5d71c335a431e8eece94f32da2d5a043f7"
-+"checksum cranelift-codegen-meta 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3797a2f450ac71297e083dd440d0cdd0d3bceabe4a3ca6bcb9e4077e9c0327d"
-+"checksum cranelift-entity 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b66e28877b75b3d2b31250f780bb5db8f68ae3df681cd56add803b2567ac4fd"
-+"checksum cranelift-frontend 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b72d55fd732b1f7a99d043a36c54a5679b6ec8bc777c8d954fb97c4fa0fce7eb"
-+"checksum cranelift-native 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0239f34836621a127c2132980b2f5c32a1be1c40e2d1a9a1a9bd5af33c12aee"
-+"checksum cranelift-wasm 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740ebfba28c8433f06750f84819f1eb663ea9f5e4b9a81c01f4e52262d868b56"
-+"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
-+"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
-+"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
++"checksum cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "81fb25b677f8bf1eb325017cb6bb8452f87969db0fedb4f757b297bee78a7c62"
++"checksum const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b641a8c9867e341f3295564203b1c250eb8ce6cb6126e007941f78c4d2ed7fe"
++"checksum const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c750ec12b83377637110d5a57f5ae08e895b06c4b16e2bdbf1a94ef717428c59"
++"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
++"checksum cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded"
++"checksum cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba29e425110674c89fdc2f79479d767f31003dd9187c29ba2dad57fe4d321670"
++"checksum cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8cb71c7ce1438c41f3d35383fa41eee26f5adf9815c7f5c2e7029a6c9356df2c"
++"checksum cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4aa634fd60290d5047d40172028a0aa86458e32a72c76fcce0a317bbbbcca4e5"
++"checksum cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fa6cf5c2adc031be07cd5bc88145ebb93d9d2a05a28a93136782b2167eacb62"
++"checksum cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "932d5f9622b336e10e8cf843ded09a688ec49f32c32b3101d7c5a7b71cad3dc9"
++"checksum cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d1a3c105c657cd65c20d9183bbd4f2b16bf3548db4b865c065bf7028f3021de"
++"checksum cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba5e34645453b73a9e2def05561f957a9df17253996379dd59c4afe3cf7db0f1"
++"checksum cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23410ae1f5edf7d83e95bf8537e771345ecc2b11e5c7208cbee8151ea3b88e97"
++"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
++"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
++"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8ce37ad4184ab2ce004c33bf6379185d3b1c95801cab51026bd271bf68eedc"
++"checksum cvt 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34ac344c7efccb80cd25bc61b2170aec26f2f693fd40e765a539a1243db48c71"
++"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
 +"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
-+"checksum dynasm 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f36d49ab6f8ecc642d2c6ee10fda04ba68003ef0277300866745cdde160e6b40"
-+"checksum dynasmrt 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c408a211e7f5762829f5e46bdff0c14bc3b1517a21a4bb781c716bf88b0c68"
-+"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
-+"checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
-+"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
++"checksum dynasm 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8654f63488a94cd11feac2a609fdcdecd09e02fb582731f635783689fbb429f3"
++"checksum dynasmrt 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b0046b083139885c38990f2fb9822d06f6c5902068d93a6ed9e56b63011b9932"
++"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
++"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
 +"checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e"
 +"checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067"
-+"checksum faerie 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f48412f92b56015a240e249847295b38b0a731435806c21a199403b2c317272c"
-+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
-+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
-+"checksum fallible-iterator 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eb7217124812dc5672b7476d0c2d20cfe9f7c0f1ba0904b674a9762a0212f72e"
++"checksum faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01fed63609767c70e34203201032c249d60a24578a67ef0ce7cc13ff010e9cf2"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
++"checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
 +"checksum file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8505b75b31ef7285168dd237c4a7db3c1f3e0927e7d314e670bc98e854272fe9"
++"checksum filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
 +"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-+"checksum gimli 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eb3243218ca3773e9aa00d27602f35bd1daca3be1b7112ea5fc23b2899f1a4f3"
-+"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
-+"checksum goblin 0.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6a4013e9182f2345c6b7829b9ef6e670bce0dfca12c6f974457ed2160c2c7fe9"
-+"checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da"
-+"checksum hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8e04cb7a5051270ef3fa79f8c7604d581ecfa73d520e74f554e45541c4b5881a"
++"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
++"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
++"checksum ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6"
++"checksum gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "162d18ae5f2e3b90a993d202f1ba17a5633c2484426f8bcae201f86194bacd00"
++"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++"checksum goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6040506480da04a63de51a478e8021892d65d8411f29b2a422c2648bdd8bcb"
++"checksum hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353"
++"checksum hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6587d09be37fb98a11cb08b9000a3f592451c1b1b613ca69d949160e313a430a"
 +"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 indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
++"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++"checksum id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
++"checksum indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a61202fbe46c4a951e9404a720a0180bcf3212c750d735cb5c4ba4dc551299f3"
++"checksum indoc 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9553c1e16c114b8b77ebeb329e5f2876eed62a8d51178c8bc6bff0d65f98f8"
++"checksum indoc-impl 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b714fc08d0961716390977cdff1536234415ac37b509e34e5a983def8340fb75"
++"checksum inventory 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4cece20baea71d9f3435e7bbe9adf4765f091c5fe404975f844006964a71299"
++"checksum inventory-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2869bf972e998977b1cb87e60df70341d48e48dca0823f534feb91ea44adaf9"
 +"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
 +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
-+"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
-+"checksum libloading 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5692f82b51823e27c4118b3e5c0d98aee9be90633ebc71ad12afef380b50219"
-+"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
++"checksum jobserver 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160"
++"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++"checksum leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
++"checksum libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)" = "74dfca3d9957906e8d1e6a0b641dc9a59848e793f1da2165889fd4f62d10d79c"
++"checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
++"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
-+"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
-+"checksum memoffset 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7efacc914ca612fc1022f27b7dc51585e1a9f94c08fd5d322cfd741399260ce0"
++"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
++"checksum more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238"
 +"checksum multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "816df386e5557ac1843a96f1ba8a7cbf4ab175d05ccc15c87a3cda27b4fbdece"
-+"checksum nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46f0f3210768d796e8fa79ec70ee6af172dacbe7147f5e69be5240a47778302b"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
++"checksum nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b2e0b4f3320ed72aaedb9a5ac838690a8047c7b275da22711fddff4f8a14229"
++"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
 +"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
-+"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
-+"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
++"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
++"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
++"checksum os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "db4d06355a7090ce852965b2d08e11426c315438462638c6d721448d0b47aa22"
++"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
++"checksum paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "423a519e1c6e828f1e73b720f9d9ed2fa643dce8a7737fb43235ce0b41eeaa49"
++"checksum paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4214c9e912ef61bf42b81ba9a47e8aad1b2ffaf739ab162bf96d1e011f54e6c5"
 +"checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 +"checksum plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
-+"checksum pretty_env_logger 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df8b3f4e0475def7d9c2e5de8e5a1306949849761e107b360d03e98eafaffd61"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
++"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
++"checksum pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
++"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++"checksum pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a00f96312ebe4082db7d93ad062df1818f597660002541c1bbae6752ec583244"
++"checksum pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a7caa60cb986fca5b488e29d078fb25ae228e01dab080b855168ce061bbef0a"
++"checksum pyo3cls 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5ccfa624ed9b5d805079f1ad64b3f1de5d551a946d4cf494f1f032b5572d39f"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
-+"checksum quickcheck 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4537d3e4edf73a15dd059b75bed1c292d17d3ea7517f583cebe716794fcf816"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
-+"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-+"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
++"checksum quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5ca504a2fdaa08d3517f442fbbba91ac24d1ec4c51ea68688a038765e3b2662"
++"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
++"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
-+"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-+"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-+"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-+"checksum raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "30a9d219c32c9132f7be513c18be77c9881c7107d2ab5569d205a6a0f0e6dc7d"
-+"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473"
-+"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356"
++"checksum rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e196346cbbc5c70c77e7b4926147ee8e383a38ee4d15d58a08098b169e492b6"
++"checksum raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf"
++"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
++"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"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 regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58"
-+"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
-+"checksum region 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ace21a7fc79cffefeb66f2cc3ef22c7687015023bf7f85bec8840f0d46cb51cc"
-+"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
++"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++"checksum region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "448e868c6e4cfddfa49b6a72c95906c04e8547465e9536575b95c70a4044f856"
++"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
++"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8"
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
-+"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
-+"checksum scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f84d114ef17fd144153d608fba7c446b0145d038985e7a8cc5d08bb0ce20383"
-+"checksum scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1aa96c45e7f5a91cb7fabe7b279f02fea7126239fc40b732316e8b6a2d0fcb"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++"checksum scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "abb2332cb595d33f7edd5700f4cbf94892e680c7f0ae56adab58a35190b66cb1"
++"checksum scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8584eea9b9ff42825b46faf46a8c24d2cff13ec152fa2a50df788b87c07ee28"
 +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)" = "32746bf0f26eab52f06af0d0aa1984f641341d06d8d673c693871da2d188c9be"
-+"checksum serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)" = "46a3223d0c9ba936b61c0d2e3e559e3217dbfb8d65d06d26e8b3c25de38bae3e"
-+"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
++"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
++"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
++"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
++"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
 +"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-+"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
++"checksum smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
++"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
-+"checksum string-interner 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "abb38a0d8fe673c40b10b6b75abcb076a958cc10fb894f14993d9737c4c87000"
++"checksum string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd710eadff449a1531351b0e43eb81ea404336fa2f56c777427ab0e32a4cf183"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 +"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
-+"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 synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
-+"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
-+"checksum target-lexicon 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d6923974ce4eb5bd28814756256d8ab71c28dd6e7483313fe7ab6614306bf633"
++"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
++"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
++"checksum target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"
++"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
-+"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 thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f9fb62ff737e573b1e677459bea6fd023cd5d6e868c3242d3cdf3ef2f0554824"
++"checksum thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24069c0ba08aab54289d6a25f5036d94afc61e1538bbc42ae5501df141c9027d"
 +"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 toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
++"checksum trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e6851bf8351876984fbab8a2391de6378947b898410d8714edd12164d2137127"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
-+"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
++"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
 +"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 unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
++"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++"checksum unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "63f18aa3b0e35fed5a0048f029558b1518095ffe2a0a31fb87c93dece93a4993"
 +"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
-+"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
 +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
 +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "74e463a508e390cc7447e70f640fbf44ad52e1bd095314ace1fdf99516d32add"
-+"checksum wabt-sys 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a6265b25719e82598d104b3717375e37661d41753e2c84cde3f51050c7ed7e3c"
-+"checksum wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common)" = "<none>"
-+"checksum wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common)" = "<none>"
-+"checksum wasmparser 0.29.2 (registry+https://github.com/rust-lang/crates.io-index)" = "981a8797cf89762e0233ec45fae731cb79a4dfaee12d9f0fe6cee01e4ac58d00"
-+"checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"checksum walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85ce93ab0c27412ba41d509f2410fa575ecbfdb4a6aba0e02e79e12c09745485"
++"checksum walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8757b0da38353d55a9687f4dee68a8f441f980dd36e16ab07d6e6c673f505f76"
++"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
++"checksum wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cae185868c6038a48f487b9af3766ee0c68d4a85fa3610c3a0522092b3cec1"
++"checksum wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5083b449454f7de0b15f131eee17de54b5a71dcb9adcf11df2b2f78fad0cd82"
++"checksum wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "86b52202bd73a756b216bbfea019991ff317b1e5f22677da5cef2964696a3245"
++"checksum wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "80db13d155bab63db0f19c24a0e12bf60c3fe346edba8da508ba6962e08c137b"
++"checksum which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "240a31163872f7e8e49f35b42b58485e35355b07eb009d9f3686733541339a69"
++"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
++"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++"checksum zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5d978b793ae64375b80baf652919b148f6a496ac8802922d9999f5a553194f"
++"checksum zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bee25eac9753cfedd48133fa1736cbd23b774e253d89badbeac7d12b23848d3f"
++"checksum zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "89719b034dc22d240d5b407fb0a3fe6d29952c181cff9a9f95c0bd40b4f8f7d8"
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index b53b3ed9dbf..0cdf1aae3f7 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -1,24 +1,24 @@
-{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang }:
+{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang, stdenv, darwin }:
 
 rustPlatform.buildRustPackage {
   pname = "wasmtime";
-  version = "20190521";
+  version = "20191111";
 
   src = fetchFromGitHub {
-    owner = "CraneStation";
+    owner = "bytecodealliance";
     repo = "wasmtime";
-    rev = "e530a582afe6a2b5735fd7cdf5e2e88391e58669";
-    sha256 = "13lqf9dp1cnw7ms7hcgirmlfkr0v7nrn3p5g7yacfasrqgnwsyl8";
+    rev = "0006a2af954eba74c79885cb1fe8cdeb68f531c1";
+    sha256 = "0lf3pdkjxcrjmjic7xxyjl5dka3arxi809sp9hm4hih5p2fhf2gw";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "1jbpq09czm295316gdv3y0pfapqs0ynj3qbarwlnrv7valq5ak13";
+  cargoSha256 = "0mnwaipa2az3vpgbz4m9siz6bfyhmzwz174k678cv158m7mxx12f";
 
   cargoPatches = [ ./cargo-lock.patch ];
 
   nativeBuildInputs = [ python cmake clang ];
-  buildInputs = [ llvmPackages.libclang ];
-
+  buildInputs = [ llvmPackages.libclang ] ++
+   lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix
index 94b36b855f2..1ae6346cbe5 100644
--- a/pkgs/development/libraries/AntTweakBar/default.nix
+++ b/pkgs/development/libraries/AntTweakBar/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, unzip, xorg, libGLU_combined }:
+{ stdenv, fetchurl, unzip, xorg, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "AntTweakBar-1.16";
 
-  buildInputs = [ unzip xorg.libX11 libGLU_combined ];
+  buildInputs = [ unzip xorg.libX11 libGLU libGL ];
 
   src = fetchurl {
     url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip";
diff --git a/pkgs/development/libraries/CGAL/4.nix b/pkgs/development/libraries/CGAL/4.nix
new file mode 100644
index 00000000000..60c244009ce
--- /dev/null
+++ b/pkgs/development/libraries/CGAL/4.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
+
+stdenv.mkDerivation rec {
+  version = "4.14.2";
+  name = "cgal-" + version;
+
+  src = fetchFromGitHub {
+    owner = "CGAL";
+    repo = "releases";
+    rev = "CGAL-${version}";
+    sha256 = "1p1xyws2s9h2c8hlkz1af4ix48qma160av24by6lcm8al1g44pca";
+  };
+
+  # note: optional component libCGAL_ImageIO would need zlib and opengl;
+  #   there are also libCGAL_Qt{3,4} omitted ATM
+  buildInputs = [ boost gmp mpfr ];
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Computational Geometry Algorithms Library";
+    homepage = http://cgal.org;
+    license = with licenses; [ gpl3Plus lgpl3Plus];
+    platforms = platforms.all;
+    maintainers = [ maintainers.raskin ];
+  };
+}
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 95984c97001..d2d74769a1f 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.14";
+  version = "5.0";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "0p0s1dl5a261zwy0hxa7ylkypk45rwc6n84lx507dwdhfz4ihv12";
+    sha256 = "15r631kddphw3wsvrxrkdbq9y7m0q8kx0kwc9zq97x6ksg3v0gs3";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh
index e8f96fdd1ac..553e8553a77 100644
--- a/pkgs/development/libraries/SDL/setup-hook.sh
+++ b/pkgs/development/libraries/SDL/setup-hook.sh
@@ -1,7 +1,9 @@
 addSDLPath () {
   if [ -e "$1/include/SDL" ]; then
-    export SDL_PATH="$SDL_PATH $1/include/SDL"
-    export SDL_LIB_PATH="$SDL_LIB_PATH -L$1/lib"
+    export SDL_PATH="${SDL_PATH-}${SDL_PATH:+ }$1/include/SDL"
+  fi
+  if [ -e "$1/lib" ]; then
+    export SDL_LIB_PATH="${SDL_LIB_PATH-}${SDL_LIB_PATH:+ }-L$1/lib"
   fi
 }
 
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 8fe6bbe6113..e02ea05a726 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -75,9 +75,21 @@ stdenv.mkDerivation rec {
     ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
     ++ optional stdenv.isDarwin "--disable-sdltest";
 
+  # We remove libtool .la files when static libs are requested,
+  # because they make the builds of downstream libs like `SDL_tff`
+  # fail with `cannot find -lXext, `-lXcursor` etc. linker errors
+  # because the `.la` files are not pruned if static libs exist
+  # (see https://github.com/NixOS/nixpkgs/commit/fd97db43bcb05e37f6bb77f363f1e1e239d9de53)
+  # and they also don't carry the necessary `-L` paths of their
+  # X11 dependencies.
+  # For static linking, it is better to rely on `pkg-config` `.pc`
+  # files.
   postInstall = ''
-    moveToOutput lib/libSDL2main.a "$dev"
-    rm $out/lib/*.a
+    if [ "$dontDisableStatic" -eq "1" ]; then
+      rm $out/lib/*.la
+    else
+      rm $out/lib/*.a
+    fi
     moveToOutput bin/sdl2-config "$dev"
   '';
 
diff --git a/pkgs/development/libraries/SDL2/setup-hook.sh b/pkgs/development/libraries/SDL2/setup-hook.sh
index 3acce9d473c..0119926491a 100644
--- a/pkgs/development/libraries/SDL2/setup-hook.sh
+++ b/pkgs/development/libraries/SDL2/setup-hook.sh
@@ -1,6 +1,6 @@
 addSDL2Path () {
   if [ -e "$1/include/SDL2" ]; then
-    export SDL2_PATH="$SDL2_PATH $1/include/SDL2"
+    export SDL2_PATH="${SDL2_PATH-}${SDL2_PATH:+ }$1/include/SDL2"
   fi
 }
 
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 04ab1331475..ea352772b33 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "6.5.6";
+  version = "6.5.7";
 
   src = fetchurl {
     url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "15lfjc8r854hvjfvimhnqc3987b3cdngilhkii9rwpzginbyipi4";
+    sha256 = "0hvd7y3hs8r3r7qbllfaqrva3jrx5razcnwlws822k66v4r10cbx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/agda/Agda-Sheaves/default.nix b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
index 6ab7455915c..62856157b4b 100644
--- a/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
+++ b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sheaves in Agda";
     license = stdenv.lib.licenses.cc-by-40;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # replaced by constructive-sheaf-semantics
   };
 })
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
index ac9ce9dd84f..344da00d04f 100644
--- a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "A monadic parser combinator library which guarantees termination of parsing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-base/default.nix b/pkgs/development/libraries/agda/agda-base/default.nix
index 146e44182ed..1bc9d0cb882 100644
--- a/pkgs/development/libraries/agda/agda-base/default.nix
+++ b/pkgs/development/libraries/agda/agda-base/default.nix
@@ -17,7 +17,7 @@ agda.mkDerivation (self: rec {
     description = "Base library for HoTT in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # largely replaced by HoTT-Agda
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index e2d64841985..30a03980e44 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -22,6 +22,6 @@ agda.mkDerivation (self: rec {
     description = "Agda standard library developed at Iowa";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix
index a57ee6e08ba..bcdad18bede 100644
--- a/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -18,6 +18,6 @@ agda.mkDerivation (self: rec {
     description = "Programming library for Agda";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu mudri ];
+    maintainers = with maintainers; [ mudri ];
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index 4d071251ee8..033ba67f661 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -23,7 +23,6 @@ agda.mkDerivation (self: rec {
     description = "A standard library for use with the Agda compiler";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    broken = stdenv.isDarwin;
-    maintainers = with maintainers; [ jwiegley fuuzetsu mudri ];
+    maintainers = with maintainers; [ jwiegley mudri ];
   };
 })
diff --git a/pkgs/development/libraries/agda/bitvector/default.nix b/pkgs/development/libraries/agda/bitvector/default.nix
index 6306bb89b5c..c09702c48d7 100644
--- a/pkgs/development/libraries/agda/bitvector/default.nix
+++ b/pkgs/development/libraries/agda/bitvector/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sequences of bits and common operations on them";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/agda/categories/default.nix b/pkgs/development/libraries/agda/categories/default.nix
index ea232f2853d..a58afd7e866 100644
--- a/pkgs/development/libraries/agda/categories/default.nix
+++ b/pkgs/development/libraries/agda/categories/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Categories parametrized by morphism equality, in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true; # doesn't work due to new agdastdlib, see #9471
   };
 })
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
index 0e4f1da6e14..ffae1f6f900 100644
--- a/pkgs/development/libraries/agda/pretty/default.nix
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "Correct-by-Construction Pretty-Printing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true; # 2018-04-11
   };
 })
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index b267c62d6c7..5f5368f2866 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined, libjpeg, flac
+, libXxf86vm, openal, libGLU, libGL, libjpeg, flac
 , libXi, libXfixes, freetype, libopus, libtheora
 , physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs
 , libXdmcp
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
     libjpeg flac
     libXi libXfixes
     enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 6b44ec1b598..64488b25b09 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined }:
+, libXxf86vm, openal, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "allegro";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/aqbanking/libchipcard.nix b/pkgs/development/libraries/aqbanking/libchipcard.nix
index 23c300ab48a..32ec4dd06fd 100644
--- a/pkgs/development/libraries/aqbanking/libchipcard.nix
+++ b/pkgs/development/libraries/aqbanking/libchipcard.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library for access to chipcards";
-    homepage = http://www2.aquamaniac.de/sites/download/packages.php?package=02&showall=1;
+    homepage = "https://www.aquamaniac.de/rdm/projects/libchipcard";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ aszlig ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index 0e24d556b1a..6393e25f561 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchFromGitHub, mpir, gmp, mpfr, flint}:
 stdenv.mkDerivation rec {
   pname = "arb";
-  version = "2.16.0";
+  version = "2.17.0";
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = pname;
     rev = version;
-    sha256 = "0478671wfwy3gl26sbxh1jq1ih36z4k72waa8y2y2lvn649gb7cd";
+    sha256 = "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1";
   };
   buildInputs = [mpir gmp mpfr flint];
   configureFlags = [
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     inherit version;
     description = ''A library for arbitrary-precision interval arithmetic'';
+    homepage = "http://arblib.org/";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = with maintainers; [ raskin timokau ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/argp-standalone/default.nix b/pkgs/development/libraries/argp-standalone/default.nix
index 17093deae00..8fe3bd287c1 100644
--- a/pkgs/development/libraries/argp-standalone/default.nix
+++ b/pkgs/development/libraries/argp-standalone/default.nix
@@ -43,6 +43,8 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
+  makeFlags = [ "AR:=$(AR)" ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index a74e883dca5..8dec9827141 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "9.800.1";
+  version = "9.800.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "1vnshgkz4d992kk2fwqigqfx7gx3145ryb8d2794hn2667h5gkzb";
+    sha256 = "16bm1pa5a8wsk497y9s18dyi3hax03z6g2x2z19b6z0bi3ff30d4";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix
index 17f43a9ddfa..21e93a8cd49 100644
--- a/pkgs/development/libraries/arrayfire/default.nix
+++ b/pkgs/development/libraries/arrayfire/default.nix
@@ -1,36 +1,16 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
 , cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl
-, blas, openblas, boost, mesa, libGLU_combined
-, freeimage, python
+, blas, openblas, boost, mesa, libGLU, libGL
+, freeimage, python, clfft, clblas
+, doxygen, buildDocs ? false
 }:
 
 let
-  version = "3.6.4";
-
-  clfftSource = fetchFromGitHub {
-    owner = "arrayfire";
-    repo = "clFFT";
-    rev = "16925fb93338b3cac66490b5cf764953d6a5dac7";
-    sha256 = "0y35nrdz7w4n1l17myhkni3hwm37z775xn6f76xmf1ph7dbkslsc";
-    fetchSubmodules = true;
-  };
-
-  clblasSource = fetchFromGitHub {
-    owner = "arrayfire";
-    repo = "clBLAS";
-    rev = "1f3de2ae5582972f665c685b18ef0df43c1792bb";
-    sha256 = "154mz52r5hm0jrp5fqrirzzbki14c1jkacj75flplnykbl36ibjs";
-    fetchSubmodules = true;
-  };
-
-  cl2hppSource = fetchurl {
-    url = "https://github.com/KhronosGroup/OpenCL-CLHPP/releases/download/v2.0.10/cl2.hpp";
-    sha256 = "1v4q0g6b6mwwsi0kn7kbjn749j3qafb9r4ld3zdq1163ln9cwnvw";
-  };
+  strOnLinux = stdenv.lib.optionalString stdenv.isLinux;
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "arrayfire";
-  inherit version;
+  version = "3.6.4";
 
   src = fetchurl {
     url = "http://arrayfire.com/arrayfire_source/arrayfire-full-${version}.tar.bz2";
@@ -41,21 +21,21 @@ in stdenv.mkDerivation {
     "-DAF_BUILD_OPENCL=OFF"
     "-DAF_BUILD_EXAMPLES=OFF"
     "-DBUILD_TESTING=OFF"
-    "-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib/stubs"
+    (strOnLinux "-DCMAKE_LIBRARY_PATH=${cudatoolkit}/lib/stubs")
   ];
 
   patches = [ ./no-download.patch ];
 
   postPatch = ''
     mkdir -p ./build/third_party/clFFT/src
-    cp -R --no-preserve=mode,ownership ${clfftSource}/ ./build/third_party/clFFT/src/clFFT-ext/
+    cp -R --no-preserve=mode,ownership ${clfft.src}/ ./build/third_party/clFFT/src/clFFT-ext/
     mkdir -p ./build/third_party/clBLAS/src
-    cp -R --no-preserve=mode,ownership ${clblasSource}/ ./build/third_party/clBLAS/src/clBLAS-ext/
+    cp -R --no-preserve=mode,ownership ${clblas.src}/ ./build/third_party/clBLAS/src/clBLAS-ext/
     mkdir -p ./build/include/CL
-    cp -R --no-preserve=mode,ownership ${cl2hppSource} ./build/include/CL/cl2.hpp
+    cp -R --no-preserve=mode,ownership ${opencl-clhpp}/include/CL/cl2.hpp ./build/include/CL/cl2.hpp
   '';
 
-  preBuild = ''
+  preBuild = strOnLinux ''
     export CUDA_PATH="${cudatoolkit}"
   '';
 
@@ -64,23 +44,27 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [
     cmake
     pkgconfig
+    python
   ];
 
   buildInputs = [
     opencl-clhpp fftw fftwFloat
     mkl
     openblas
-    libGLU_combined
+    libGLU libGL
     mesa freeimage
-    boost.out boost.dev python
-  ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ]);
+    boost.out boost.dev
+  ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ])
+    ++ (stdenv.lib.optional buildDocs [ doxygen ]);
 
   meta = with stdenv.lib; {
-    description = "A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices";
+    description = "A general-purpose library for parallel and massively-parallel computations";
+    longDescription = ''
+      A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.";
+    '';
     license = licenses.bsd3;
-    homepage = https://arrayfire.com/ ;
+    homepage = "https://arrayfire.com/";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with stdenv.lib.maintainers; [ chessai ];
-    inherit version;
+    maintainers = with maintainers; [ chessai ];
   };
 }
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index aaf228e73a6..f6f3493002a 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -12,12 +12,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "0n7xrn5490r2snjl45pm2a4pr2x8a29sh8mpyi4nj5pr9f62s1yi";
+    sha256 = "1jbghpppabsix2rkxbnh41inj9lcxfz4q94p96xzxshh4g3mhb4s";
   };
 
   sourceRoot = "apache-arrow-${version}/cpp";
@@ -93,7 +93,7 @@ in stdenv.mkDerivation rec {
     ];
   in ''
     ctest -L unittest -V \
-      --exclude-regex '(${builtins.concatStringsSep "|" excludedTests})'
+      --exclude-regex '^(${builtins.concatStringsSep "|" excludedTests})$'
   '');
 
   meta = {
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 5c3c6272f83..ad0f910dcbf 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -15,26 +15,20 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "aspell-0.60.6.1";
+  name = "aspell-0.60.8";
 
   src = fetchurl {
     url = "mirror://gnu/aspell/${name}.tar.gz";
-    sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
+    sha256 = "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr";
   };
 
-  patches = [
-    (fetchpatch { # remove in >= 0.60.7
-      name = "gcc-7.patch";
-      url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff";
-      sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix";
-    })
-  ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
+  patches = stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
 
   postPatch = ''
     patch interfaces/cc/aspell.h < ${./clang.patch}
   '';
 
-  nativeBuildInputs = [ perl ];
+  buildInputs = [ perl ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index 4af9c9ce32b..f63a341e26e 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-atk";
-  version = "2.34.0";
+  version = "2.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "00250s72ii8w6lb6ww61v49y9k4cswfj0hhawqlram7bl6b7x6is";
+    sha256 = "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig ];
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index bda809b1a5a..84a8a6b9026 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -10,6 +10,7 @@
 
 , dbus
 , glib
+, dconf
 , libX11
 , libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
 , libXi
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Cannot use wrapGAppsHook'due to a dependency cycle
     wrapProgram $out/libexec/at-spi-bus-launcher \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
   '';
 
diff --git a/pkgs/development/libraries/audio/libmysofa/default.nix b/pkgs/development/libraries/audio/libmysofa/default.nix
index ac8d7873123..c541159a96e 100644
--- a/pkgs/development/libraries/audio/libmysofa/default.nix
+++ b/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysofa";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "hoene";
     repo = "libmysofa";
     rev = "v${version}";
-    sha256 = "1gas6fp0xy57wwdvsdfq1yq2hg4zl2c074b260y7hh92z96pj22j";
+    sha256 = "14k8c31xh0v4r34h89ld440j9zri4plblmlhj5ddhdmzqmh4lr9f";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix
index 58d44a54137..1bce315878d 100644
--- a/pkgs/development/libraries/bamf/default.nix
+++ b/pkgs/development/libraries/bamf/default.nix
@@ -1,6 +1,25 @@
-{ stdenv, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
-, libstartup_notification, gobject-introspection, gtk-doc, docbook_xsl
-, xorgserver, dbus, python2, wrapGAppsHook }:
+{ stdenv
+, pantheon
+, autoconf
+, automake
+, libtool
+, gnome3
+, which
+, fetchgit
+, libgtop
+, libwnck3
+, glib
+, vala
+, pkgconfig
+, libstartup_notification
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, xorgserver
+, dbus
+, python3
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "bamf";
@@ -9,14 +28,16 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchgit {
-    url = https://git.launchpad.net/~unity-team/bamf;
+    url = "https://git.launchpad.net/~unity-team/bamf";
     rev = version;
     sha256 = "1klvij1wyhdj5d8sr3b16pfixc1yk8ihglpjykg7zrr1f50jfgsz";
   };
 
   nativeBuildInputs = [
+    (python3.withPackages (ps: with ps; [ lxml ])) # Tests
     autoconf
     automake
+    dbus
     docbook_xsl
     gnome3.gnome-common
     gobject-introspection
@@ -25,13 +46,8 @@ stdenv.mkDerivation rec {
     pkgconfig
     vala
     which
-    # Tests
-    python2
-    python2.pkgs.libxslt
-    python2.pkgs.libxml2
-    dbus
-    xorgserver
     wrapGAppsHook
+    xorgserver
   ];
 
   buildInputs = [
@@ -41,6 +57,11 @@ stdenv.mkDerivation rec {
     libwnck3
   ];
 
+  patches = [
+    # Port tests and checks to python3 lxml.
+    ./gtester2xunit-python3.patch
+  ];
+
   # Fix hard-coded path
   # https://bugs.launchpad.net/bamf/+bug/1780557
   postPatch = ''
@@ -49,8 +70,8 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--enable-headless-tests"
     "--enable-gtk-doc"
+    "--enable-headless-tests"
   ];
 
   # fix paths
@@ -67,7 +88,9 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
+  NIX_CFLAGS_COMPILE = [
+    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
+  ];
 
   meta = with stdenv.lib; {
     description = "Application matching framework";
@@ -78,6 +101,6 @@ stdenv.mkDerivation rec {
     homepage = https://launchpad.net/bamf;
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ davidak ];
+    maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers;
   };
 }
diff --git a/pkgs/development/libraries/bamf/gtester2xunit-python3.patch b/pkgs/development/libraries/bamf/gtester2xunit-python3.patch
new file mode 100644
index 00000000000..8dc47854194
--- /dev/null
+++ b/pkgs/development/libraries/bamf/gtester2xunit-python3.patch
@@ -0,0 +1,53 @@
+diff --git a/configure.ac b/configure.ac
+index 41cb7db..93ef0ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,9 +115,9 @@ GTK_DOC_CHECK(1.0)
+ 
+ AC_PATH_PROG([PYTHON],[python])
+ AC_MSG_CHECKING(for gtester2xunit dependencies)
+-if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then
++if !($PYTHON -c "import lxml" 2> /dev/null); then
+   AC_MSG_RESULT([no])
+-  AC_MSG_ERROR([You need to install python-libxslt1 and python-libxml2]);
++  AC_MSG_ERROR([You need to install python-lxml]);
+ fi
+ AC_MSG_RESULT([yes])
+ 
+@@ -189,6 +189,6 @@ ${PACKAGE}-${VERSION}
+     Introspection:        ${enable_introspection}
+     Headless tests:       ${enable_headless_tests}
+     Coverage Reporting:   ${use_gcov}
+-    Export actions menus: ${enable_export_actions_menu} 
++    Export actions menus: ${enable_export_actions_menu}
+ 
+ EOF
+diff --git a/tests/gtester2xunit.py b/tests/gtester2xunit.py
+index fbe3c66..861d541 100755
+--- a/tests/gtester2xunit.py
++++ b/tests/gtester2xunit.py
+@@ -1,18 +1,17 @@
+ #! /usr/bin/python
+ from argparse import ArgumentParser
+-import libxslt
+-import libxml2
+ import sys
+ import os
++from lxml import etree
+ 
+ XSL_TRANSFORM='/usr/share/gtester2xunit/gtester.xsl'
+ 
+ def transform_file(input_filename, output_filename, xsl_file):
+-    gtester = libxml2.parseFile(xsl_file)
+-    style = libxslt.parseStylesheetDoc(gtester)
+-    doc = libxml2.parseFile(input_filename)
+-    result = style.applyStylesheet(doc, None)
+-    result.saveFormatFile(filename=output_filename, format=True)
++    gtester = etree.parse(xsl_file)
++    style = etree.XSLT(gtester)
++    doc = etree.parse(input_filename)
++    result = style(doc)
++    result.write(filename=output_filename, format=True)
+ 
+ 
+ def get_output_filename(input_filename):
diff --git a/pkgs/development/libraries/bcg729/default.nix b/pkgs/development/libraries/bcg729/default.nix
new file mode 100644
index 00000000000..4363948e830
--- /dev/null
+++ b/pkgs/development/libraries/bcg729/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bcg729";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = pname;
+    rev = version;
+    sha256 = "05s0c5ps3a763y0v34wg5zghj0cdjnq4ch7g81848xxry7q90fwa";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/a5907daf1b111e4ad7aab4f558f57e2af1e37e55.patch";
+      sha256 = "0445syfwj4w4chh8ak80rq77iqcr27924n1ld5snshk3d21nxd64";
+    })
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/697bf6653a8c7421f0e821ee8d42471246e6850f.patch";
+      sha256 = "1h3gf5sj2sg5cs5iv1lcav3lkqmd5jf4agvjzz83l89wd5f5hp5l";
+    })
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/d63ce04a93711820d9a6985b1d11d8d91ed8e6b6.patch";
+      sha256 = "1piwf63ci2gma6jd6b4adkvxirysvazf0vklb5pc6vx1g93nkgxs";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec";
+    homepage = "https://linphone.org/technical-corner/bcg729";
+    changelog = "https://gitlab.linphone.org/BC/public/bcg729/raw/${version}/NEWS";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ c0bw3b ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index 3f64ca2addf..a9d21a1f5a9 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -1,27 +1,23 @@
-{stdenv, fetchpatch, fetchFromGitHub, cmake, mbedtls, bcunit, srtp}:
+{ stdenv, fetchFromGitHub, cmake, bcunit, mbedtls }:
+
 stdenv.mkDerivation rec {
-  name = "${baseName}-${version}";
-  baseName = "bctoolbox";
+  pname = "bctoolbox";
   version = "0.6.0";
-  nativeBuildInputs = [cmake];
-  buildInputs = [mbedtls bcunit srtp];
-  patches = [
-    (fetchpatch {
-      name = "fix-gcc9.patch";
-      url = "https://github.com/BelledonneCommunications/bctoolbox/commit/2425a224634c7a70ae91f809bbab51771f0a30d7.patch";
-      sha256 = "0ib859mwwlr6jk6qbwp6x25pp8wgv21lh0qgdsx5hyzwdzqx1b3h";
-    })
-  ];
+
+  nativeBuildInputs = [ cmake bcunit ];
+  buildInputs = [ mbedtls ];
+
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "1cxx243wyzkd4xnvpyqf97n0rjhfckpvw1vhwnbwshq3q6fra909";
   };
 
   meta = {
     inherit version;
-    description = ''Utilities library for Linphone'';
+    description = "Utilities library for Linphone";
+    homepage = "https://github.com/BelledonneCommunications/bctoolbox";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index d4420e40ab6..1745614f741 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, antlr3_4, libantlr3c, jre, polarssl, fetchFromGitHub
+{ stdenv, antlr3_4, libantlr3c, jre, mbedtls, fetchFromGitHub
   , cmake, zlib, bctoolbox
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "belle-sip";
+  pname = "belle-sip";
   version = "1.6.3";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "0q70db1klvhca1af29bm9paka3gyii5hfbzrj4178gclsg7cj8fk";
   };
@@ -24,18 +23,14 @@ stdenv.mkDerivation rec {
     "-Wno-error=cast-function-type"
   ];
 
-  propagatedBuildInputs = [ antlr3_4 libantlr3c polarssl bctoolbox ];
-
-  configureFlags = [
-    "--with-polarssl=${polarssl}"
-  ];
+  propagatedBuildInputs = [ antlr3_4 libantlr3c mbedtls bctoolbox ];
 
   # Fails to build with lots of parallel jobs
   enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.linphone.org/index.php/eng;
-    description = "A Voice-over-IP phone";
+    homepage = https://linphone.org/technical-corner/belle-sip;
+    description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers";
     license = licenses.gpl2;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/boehm-gc/7.6.6.nix b/pkgs/development/libraries/boehm-gc/7.6.6.nix
index c2b5c7b6062..1cbbee469e6 100644
--- a/pkgs/development/libraries/boehm-gc/7.6.6.nix
+++ b/pkgs/development/libraries/boehm-gc/7.6.6.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
+      "https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
     ];
     sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
@@ -63,10 +63,10 @@ stdenv.mkDerivation rec {
       C or C++ programs, though that is not its primary goal.
     '';
 
-    homepage = http://hboehm.info/gc/;
+    homepage = https://hboehm.info/gc/;
 
     # non-copyleft, X11-style license
-    license = http://hboehm.info/gc/license.txt;
+    license = https://hboehm.info/gc/license.txt;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index bc8b7a8c760..f061626a897 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl
+, autoreconfHook
 , enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
 }:
 
@@ -9,7 +10,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
-      "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
+      "https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
     ];
     sha256 = "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3";
   };
@@ -22,12 +23,17 @@ stdenv.mkDerivation rec {
   '';
 
   patches = # https://github.com/ivmai/bdwgc/pull/208
-    lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
+    lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch
+    # boehm-gc whitelists GCC threading models
+    ++ lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
 
   configureFlags =
     [ "--enable-cplusplus" "--with-libatomic-ops=none" ]
     ++ lib.optional enableLargeConfig "--enable-large-config";
 
+  nativeBuildInputs =
+    lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
+
   doCheck = true; # not cross;
 
   enableParallelBuilding = true;
@@ -52,10 +58,10 @@ stdenv.mkDerivation rec {
       C or C++ programs, though that is not its primary goal.
     '';
 
-    homepage = http://hboehm.info/gc/;
+    homepage = https://hboehm.info/gc/;
 
     # non-copyleft, X11-style license
-    license = http://hboehm.info/gc/license.txt;
+    license = https://hboehm.info/gc/license.txt;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/boehm-gc/mcfgthread.patch b/pkgs/development/libraries/boehm-gc/mcfgthread.patch
new file mode 100644
index 00000000000..c4aa996aebd
--- /dev/null
+++ b/pkgs/development/libraries/boehm-gc/mcfgthread.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -277,7 +277,7 @@ case "$THREADS" in
+         ;;
+     esac
+     ;;
+- win32)
++ win32 | mcf)
+     AC_DEFINE(GC_THREADS)
+     use_parallel_mark=$enable_parallel_mark
+     if test "${enable_parallel_mark}" != no \
diff --git a/pkgs/development/libraries/boost/1.71.nix b/pkgs/development/libraries/boost/1.71.nix
new file mode 100644
index 00000000000..f66bd4cd6fb
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.71.nix
@@ -0,0 +1,15 @@
+{ stdenv, 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/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index f7bd189022f..2d0a5a63d6f 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -14,6 +14,7 @@
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 , patches ? []
 , mpi ? null
+, extraB2Args ? []
 
 # Attributes inherit from specific versions
 , version, src
@@ -92,7 +93,8 @@ let
     ++ optional (mpi != null || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
     ++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
     "threadapi=win32"
-  ]);
+  ] ++ extraB2Args
+  );
 
 in
 
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 328ac434d85..d4b4c33f35b 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, cmake, libGLU_combined, freeglut, libX11, xorgproto
+{ stdenv, fetchurl, unzip, cmake, libGLU, libGL, freeglut, libX11, xorgproto
 , libXi, pkgconfig }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    unzip cmake libGLU_combined freeglut libX11 xorgproto libXi
+    unzip cmake libGLU libGL freeglut libX11 xorgproto libXi
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/boxfort/default.nix b/pkgs/development/libraries/boxfort/default.nix
new file mode 100644
index 00000000000..95c1afd090f
--- /dev/null
+++ b/pkgs/development/libraries/boxfort/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, gettext, libcsptr, dyncall
+, nanomsg, python37Packages }:
+
+stdenv.mkDerivation rec {
+  version = "unstable-2019-09-19";
+  pname = "boxfort";
+
+  src = fetchFromGitHub {
+    owner = "Snaipe";
+    repo = "BoxFort";
+    rev = "926bd4ce968592dbbba97ec1bb9aeca3edf29b0d";
+    sha256 = "0mzy4f8qij6ckn5578y3l4rni2470pdkjy5xww7ak99l1kh3p3v6";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    dyncall
+    gettext
+    libcsptr
+    nanomsg
+  ];
+
+  checkInputs = with python37Packages; [ cram ];
+
+  cmakeFlags = [ "-DBXF_FORK_RESILIENCE=OFF" ];
+
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
+  '';
+
+  outputs = [ "dev" "out" ];
+
+  meta = with stdenv.lib; {
+    description = "Convenient & cross-platform sandboxing C library";
+    homepage = "https://github.com/Snaipe/BoxFort";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      thesola10
+      Yumasi
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 1b6c56f13af..5b4e37eff9f 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/bullet/roboschool-fork.nix b/pkgs/development/libraries/bullet/roboschool-fork.nix
index 8b0901832d1..34a9ee3b6ee 100644
--- a/pkgs/development/libraries/bullet/roboschool-fork.nix
+++ b/pkgs/development/libraries/bullet/roboschool-fork.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix
index 196dd9ca3f9..4a9e627e544 100644
--- a/pkgs/development/libraries/c-blosc/default.nix
+++ b/pkgs/development/libraries/c-blosc/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A blocking, shuffling and loss-less compression library";
-    homepage = http://www.blosc.org;
+    homepage = https://www.blosc.org;
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index 4a4cba31735..ecf991cb59c 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -1,23 +1,36 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "actor-framework";
-  version = "0.17.1";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = version;
-    sha256 = "1xbq591m3v6pkz4z3dg2lsxr6bxv1lpz4yhdci3vi55y6x9pwyfw";
+    sha256 = "187r7vc4kpd0v6bb1y51zwqm9y1lh0m84vkwmrxn8rrp4bwdxlpj";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = [ openssl ];
+
+  cmakeFlags = [
+    "-DCAF_NO_EXAMPLES:BOOL=TRUE"
+  ];
+
+  doCheck = true;
+  checkTarget = "test";
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$PWD/lib
+  '';
+
   meta = with stdenv.lib; {
     description = "An open source implementation of the actor model in C++";
     homepage = http://actor-framework.org/;
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ bobakker ];
+    maintainers = with maintainers; [ bobakker tobim ];
   };
 }
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 82570fbf7b4..80f8f9498d7 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -4,8 +4,8 @@
 , gobjectSupport ? true, glib
 , xcbSupport ? x11Support, libxcb, xcbutil # no longer experimental since 1.12
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux && !stdenv.isAarch32 && !stdenv.isMips)
-, libGL ? null # libGLU_combined is no longer a big dependency
+, glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux)
+, libGL ? null # libGLU libGL is no longer a big dependency
 , pdfSupport ? true
 , darwin
 }:
diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix
index 19768d77a8d..86a5e52353a 100644
--- a/pkgs/development/libraries/catch2/default.nix
+++ b/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.10.2";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="01ldfv4337s3vdhsx415d49jchpvqy61c77dhnri30ip5af0ipjs";
+    sha256="1b07drrclvxj17s67ivypr9vr27rg0m36jqnrbci6f4wsp1b0gbl";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index 08610d1e9af..6a94d9a71ce 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "check";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchurl {
     url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz";
-    sha256 = "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6";
+    sha256 = "02crar51gniijrrl9p8f9maibnwc33n76kw5cqr7xk3s8hqnncy4";
   };
 
   # Test can randomly fail: http://hydra.nixos.org/build/7243912
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index 76f722f31aa..5dd9917bc52 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, freeglut, libGLU_combined, glfw2, glew, libX11, xorgproto
+{ stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto
 , libXi, libXmu
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs =
-    [ freeglut libGLU_combined glfw2 glew libX11 xorgproto libXi libXmu ];
+    [ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu ];
 
   postInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
index a7d7a0ea982..2c8ac5113b1 100644
--- a/pkgs/development/libraries/cl/default.nix
+++ b/pkgs/development/libraries/cl/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ erlang rebar opencl-headers ocl-icd ];
-  
+
   buildPhase = ''
     rebar compile
   '';
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/tonyrog/cl;
     description = "OpenCL binding for Erlang";
     license = licenses.mit;
+    # https://github.com/tonyrog/cl/issues/39
+    broken = stdenv.isAarch64;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/clipper/default.nix b/pkgs/development/libraries/clipper/default.nix
index 11752423906..ebb41fde423 100644
--- a/pkgs/development/libraries/clipper/default.nix
+++ b/pkgs/development/libraries/clipper/default.nix
@@ -15,11 +15,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja unzip ];
 
   meta = with stdenv.lib; {
+    description = "A polygon and line clipping and offsetting library (C++, C#, Delphi)";
     longDescription = ''
       The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
       and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
     '';
-    homepage = https://sourceforge.net/projects/polyclipping;
+    homepage = "https://sourceforge.net/projects/polyclipping";
     license = licenses.boost;
     maintainers = with maintainers; [ mpickering ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 7adc2a365c5..dc36414fc28 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "cln";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchurl {
     url = "${meta.homepage}${pname}-${version}.tar.bz2";
-    sha256 = "0j5p18hwbbrchsdbnc8d2bf9ncslhflri4i950gdnq7v6g2dg69d";
+    sha256 = "0bc43v4fyxwik9gjkvm8jan74bkx9bjssv61lfh9jhhblmj010bq";
   };
 
   buildInputs = [ gmp ];
 
   meta = with stdenv.lib; {
     description = "C/C++ library for numbers, a part of GiNaC";
-    homepage = http://www.ginac.de/CLN/;
+    homepage = https://www.ginac.de/CLN/;
     license = licenses.gpl2;
     platforms = platforms.unix; # Once had cygwin problems
   };
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 7095a808540..32e723671e8 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
+{ stdenv, fetchurl, pkgconfig, libGLU, libGL, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
 , gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk3 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
-    [ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
+    [ libX11 libGL libGLU libXext libXfixes libXdamage libXcomposite libXi cogl pango
       atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
     ];
 
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index 7c42a7479b1..9c31b50c028 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchsvn, cmake } :
+{ stdenv, fetchFromGitHub, cmake } :
 
 let
-  version = "0.8";
+  version = "0.9.2";
 
 in stdenv.mkDerivation {
   pname = "codec2";
   inherit version;
 
-  src = fetchsvn {
-    url = "https://svn.code.sf.net/p/freetel/code/codec2/branches/${version}";
-    sha256 = "0qbyaqdn37253s30n6m2ric8nfdsxhkslb9h572kdx18j2yjccki";
+  src = fetchFromGitHub {
+    owner = "drowe67";
+    repo = "codec2";
+    rev = "v${version}";
+    sha256 = "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index 4700d9e2418..e122c1e7b12 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
 , pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
-, mesa
+, mesa, automake, autoconf
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
@@ -29,11 +29,17 @@ in stdenv.mkDerivation rec {
       url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
       sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
     })
+
+    # Fix build with libglvnd headers (these headers used to be provided by mesa)
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/cogl/commit/9c4764224aded552fb855b1c2b85b26d2b894adf.patch";
+      sha256 = "1v9drpzgcd5pq2shhdcw5px7mdiggk6ga13qjbklq8xpd92ac0i1";
+    })
   ];
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig libintl ];
+  nativeBuildInputs = [ pkgconfig libintl automake autoconf ];
 
   configureFlags = [
     "--enable-introspection"
@@ -41,7 +47,7 @@ in stdenv.mkDerivation rec {
     "--enable-wayland-egl-platform"
     "--enable-wayland-egl-server"
   ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
+  ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
 
   propagatedBuildInputs = with xorg; [
       glib gdk-pixbuf gobject-introspection wayland mesa
diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix
index 74fd12ffea2..634ac27058b 100644
--- a/pkgs/development/libraries/coin3d/default.nix
+++ b/pkgs/development/libraries/coin3d/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromBitbucket, stdenv, boost, cmake, libGLU_combined }:
+{ fetchFromBitbucket, stdenv, boost, cmake, libGL, libGLU }:
 
 stdenv.mkDerivation {
   pname = "coin";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost libGLU_combined ];
+  buildInputs = [ boost libGL libGLU ];
 
   meta = {
     homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";
diff --git a/pkgs/development/libraries/coprthr/default.nix b/pkgs/development/libraries/coprthr/default.nix
deleted file mode 100644
index 86f4485a900..00000000000
--- a/pkgs/development/libraries/coprthr/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, libelf, libconfig, libevent, which, unzip, perl, python
-, bison, flex }:
-
-stdenv.mkDerivation rec {
-  pname = "coprthr";
-  version = "1.6";
-
-  src = fetchurl {
-    url    = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip";
-    sha256 = "0ilx4v1ydppjnq1i0z5j0x4lmi29z39sappar7c0wqady0b5dpz9";
-  };
-
-  buildInputs =
-    [ libelf libconfig libevent which unzip perl python bison flex ];
-
-  patchPhase = ''
-    for x in src/libocl/gen_oclcall_hook.pl tools/cltrace/gen_interceptor.pl src/libocl/gen_oclcall.pl src/scripts/gen_ocl_call_vector.pl src/libstdcl/gen_clarg_setn.pl; do
-      substituteInPlace $x --replace "/usr/bin/perl" ${perl}/bin/perl
-    done
-  '';
-
-  configureFlags =
-    [ "--with-libelf=${libelf}"
-      "--with-libevent=${libevent.dev}"
-      "--with-libconfig=${libconfig}"
-      "--with-opencl-icd-path=$out/etc/OpenCL/vendors"
-      "--enable-user-install"
-    ];
-
-  meta = {
-    description = "The CO-PRocessing THReads SDK for OpenCL/STDCL";
-    homepage    = "http://www.browndeertechnology.com/coprthr.htm";
-    license     = stdenv.lib.licenses.lgpl3;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/coredumper/default.nix b/pkgs/development/libraries/coredumper/default.nix
deleted file mode 100644
index ddd0d87a551..00000000000
--- a/pkgs/development/libraries/coredumper/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "coredumper-1.1";
-  src = fetchurl {
-    url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
-    sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
-  };
-
-  # Doesn't build:
-  #
-  # src/elfcore.c: In function 'CreatePipeline':
-  # src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function)
-  #                           CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0);
-  #                           ^
-  # src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in
-  meta.broken = true;
-}
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
index 2328bd53362..ccf38fa09fb 100644
--- a/pkgs/development/libraries/cppzmq/default.nix
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cppzmq";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
     rev = "v${version}";
-    sha256 = "15dgkv51csfkafplf0n0vqbjdr4pxqxq44dln0dcizhsn1p0a57q";
+    sha256 = "1n34sj322ay8839q6cxivckkrhz9avy31615i5jdxfal06mgya43";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/criterion/default.nix b/pkgs/development/libraries/criterion/default.nix
new file mode 100644
index 00000000000..c2721d3839a
--- /dev/null
+++ b/pkgs/development/libraries/criterion/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, boxfort, cmake, libcsptr, pkg-config, gettext
+, dyncall , nanomsg, python37Packages }:
+
+stdenv.mkDerivation rec {
+  version = "2.3.3";
+  pname = "criterion";
+
+  src = fetchFromGitHub {
+    owner = "Snaipe";
+    repo = "Criterion";
+    rev = "v${version}";
+    sha256 = "0y1ay8is54k3y82vagdy0jsa3nfkczpvnqfcjm5n9iarayaxaq8p";
+    fetchSubmodules = true;
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    boxfort.dev
+    dyncall
+    gettext
+    libcsptr
+    nanomsg
+  ];
+
+  checkInputs = with python37Packages; [ cram ];
+
+  cmakeFlags = [ "-DCTESTS=ON" ];
+  doCheck = true;
+  preCheck = ''
+    export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
+  '';
+  checkTarget = "criterion_tests test";
+
+  outputs = [ "dev" "out" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform C and C++ unit testing framework for the 21th century";
+    homepage = "https://github.com/Snaipe/Criterion";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      thesola10
+      Yumasi
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/csfml/default.nix b/pkgs/development/libraries/csfml/default.nix
index 506aa5f475d..9bfff5c4aa8 100644
--- a/pkgs/development/libraries/csfml/default.nix
+++ b/pkgs/development/libraries/csfml/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, sfml }:
 
 let
-  version = "2.4";
+  version = "2.5";
 in
 
 stdenv.mkDerivation {
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "SFML";
     repo  = "CSFML";
-    rev   = "b5facb85d13bff451a5fd2d088a97472a685576c";
-    sha256 = "1q716gd7c7jlxzwpq5z4rjj5lsrn71ql2djphccdf9jannllqizn";
+    rev   = version;
+    sha256 = "071magxif5nrdddzk2z34czqmz1dfws4d7dqynb2zpn7cwhwxcpm";
   };
   buildInputs = [ cmake sfml ];
   cmakeFlags = [ "-DCMAKE_MODULE_PATH=${sfml}/share/SFML/cmake/Modules/" ];
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index 8abae8b8bb3..5542a37661a 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -9,14 +9,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "08cgccp7xvwn24w9iab4fzi18x3m6xyvvnz36qf7clcz0aqbfb9w";
+    sha256 = "0acxlgyz6c8ckw8vfgn60y2zg2n00l5xsq5jlxvwbh5w5pkc3ahf";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix
index 7ce498da9f3..5b37088cd95 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/development/libraries/dconf/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Fix build with Meson 0.52
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/dconf/commit/cc32667c5d7d9ff95e65cc21f59905d8f9218394.patch";
+      sha256 = "02gfadn34bg818a7vb3crhsiahskiflcvx9l6iqwf1v269q93mr8";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/dleyna-core/setup-hook.sh b/pkgs/development/libraries/dleyna-core/setup-hook.sh
index 87b5c67dff5..287ad4dc189 100644
--- a/pkgs/development/libraries/dleyna-core/setup-hook.sh
+++ b/pkgs/development/libraries/dleyna-core/setup-hook.sh
@@ -1,7 +1,7 @@
 addDleynaConnectorPath () {
     if test -d "$1/lib/dleyna-1.0/connectors"
     then
-        export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
+        export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH-}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
     fi
 }
 
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index aae8989c238..6d6bef21f39 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.18";
+  version = "19.19";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "1kbrcf35pn2ymyr8q48ls98n2zb7rrz5207kwpisfh6k22g802ic";
+    sha256 = "0574p46zf85nx33cam4yqcg20g94kkmrvi5689r1xshprr0szghp";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/egl-wayland/default.nix b/pkgs/development/libraries/egl-wayland/default.nix
new file mode 100644
index 00000000000..fa2c3687ba7
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkgconfig
+, meson
+, ninja
+, libX11
+, mesa
+, libGL
+, wayland
+}:
+
+let
+  eglexternalplatform = stdenv.mkDerivation {
+    pname = "eglexternalplatform";
+    version = "1.1";
+
+    src = fetchFromGitHub {
+      owner = "Nvidia";
+      repo = "eglexternalplatform";
+      rev = "7c8f8e2218e46b1a4aa9538520919747f1184d86";
+      sha256 = "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb";
+    };
+
+    installPhase = ''
+      mkdir -p "$out/include/"
+      cp interface/eglexternalplatform.h "$out/include/"
+      cp interface/eglexternalplatformversion.h "$out/include/"
+
+      substituteInPlace eglexternalplatform.pc \
+        --replace "/usr/include/EGL" "$out/include"
+      mkdir -p "$out/share/pkgconfig"
+      cp eglexternalplatform.pc "$out/share/pkgconfig/"
+    '';
+
+    meta = with lib; {
+      license = licenses.mit;
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "egl-wayland";
+  version = "1.1.4";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "Nvidia";
+    repo = pname;
+    rev = version;
+    sha256 = "0wvamjcfycd7rgk7v14g2rin55xin9rfkxmivyay3cm08vnl7y1d";
+  };
+
+  # Add missing include
+  # https://github.com/NVIDIA/egl-wayland/pull/24
+  patches = [ ./eglmesaext.patch ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  buildInputs = [
+    eglexternalplatform
+    libX11
+    mesa
+    libGL
+    wayland
+  ];
+
+  meta = with lib; {
+    description = "The EGLStream-based Wayland external platform";
+    homepage = https://github.com/NVIDIA/egl-wayland/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ hedning ];
+  };
+}
diff --git a/pkgs/development/libraries/egl-wayland/eglmesaext.patch b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
new file mode 100644
index 00000000000..9384ecff9b0
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
@@ -0,0 +1,12 @@
+diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
+index 01c9cb3..45736b0 100644
+--- a/src/wayland-eglsurface.c
++++ b/src/wayland-eglsurface.c
+@@ -37,6 +37,7 @@
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ #include <fcntl.h>
++#include <EGL/eglmesaext.h>
+ 
+ #define WL_EGL_WINDOW_DESTROY_CALLBACK_SINCE 3
+ 
diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index c0df404e60e..bf6260ca766 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     homepage = http://enet.bespin.org/;
     description = "Simple and robust network communication layer on top of UDP";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 22c812ba4c2..5638db71245 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.isLinux;
 
   meta = with stdenv.lib; {
-    homepage = https://libopenraw.freedesktop.org/wiki/Exempi/;
+    description = "An implementation of XMP (Adobe's Extensible Metadata Platform)";
+    homepage = "https://libopenraw.freedesktop.org/wiki/Exempi/";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix
index b0818d79dfa..1658d69d7a1 100644
--- a/pkgs/development/libraries/faudio/default.nix
+++ b/pkgs/development/libraries/faudio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
 	pname = "faudio";
-  version = "19.10";
+  version = "19.12";
 
   src = fetchFromGitHub {
     owner = "FNA-XNA";
     repo = "FAudio";
     rev = version;
-    sha256 = "1z7j803nxhgvjwpxr1m5d490yji727v7pn0ghhipbrfxlwzkw1sz";
+    sha256 = "0y8dc7lnhh69wcwqma9spyxcahfhbfyg92h35sqkin6qfh5mngxr";
   };
 
 	nativeBuildInputs = [cmake];
diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
index 70269002e2f..16560f19c86 100644
--- a/pkgs/development/libraries/fdk-aac/default.nix
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "fdk-aac";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencore-amr/fdk-aac/${pname}-${version}.tar.gz";
-    sha256 = "0v6rbyw9f9lpfvcg3v1qyapga5hqfnb3wp3x5yaxpwcgjw7ydmpp";
+    sha256 = "0wgjjc0dfkm2w966lc9c8ir8f671vl1ppch3mya3h58jjjm360c4";
   };
 
   configureFlags = [ ]
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 9ab112dac12..afdc6c0f5e8 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -104,7 +104,7 @@
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
-, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
+, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
 #, openh264 ? null # H.264/AVC encoder
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
@@ -234,7 +234,7 @@ assert gnutls != null -> !opensslExtlib;
 assert libxcbshmExtlib -> libxcb != null;
 assert libxcbxfixesExtlib -> libxcb != null;
 assert libxcbshapeExtlib -> libxcb != null;
-assert openglExtlib -> libGLU_combined != null;
+assert openglExtlib -> libGL != null && libGLU != null;
 assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
@@ -353,6 +353,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
     (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
     (enableFeature (libiconv != null) "iconv")
+    (enableFeature (libjack2 != null) "libjack")
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
     (enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx")
     (enableFeature (libmodplug != null) "libmodplug")
@@ -424,7 +425,7 @@ stdenv.mkDerivation rec {
     libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
     samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
     zeromq4 zlib
-  ] ++ optional openglExtlib libGLU_combined
+  ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
@@ -466,6 +467,6 @@ stdenv.mkDerivation rec {
         licenses.lgpl21Plus
     );
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index 5ffbc215d8b..98ada9a3f09 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = "${branch}.14";
   branch = "2.8";
   sha256 = "1g6x3lyjl1zlfksizj1ys61kj97yg0xf4dlr6sr5acpbja3a26yn";
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index bea367b2554..759fba65587 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -4,9 +4,9 @@
 , ...
 }@args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = branch;
   branch = "3.4.6";
   sha256 = "1s20wzgxxrm56gckyb8cf1lh36hdnkdxvmmnnvdxvia4zb3grf1b";
   darwinFrameworks = [ Cocoa CoreMedia ];
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index a0b95cecaab..387069d1618 100644
--- a/pkgs/development/libraries/ffmpeg/4.nix
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -4,9 +4,9 @@
 , ...
 }@args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = "4.2.1";
   branch = "4.2";
   sha256 = "090naa6rj46pzkgh03bf51hbqdz356qqckr2pw6pykc6ysiryak8";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index b3310e44ae0..3424493c209 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -2,7 +2,9 @@
 , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
 , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
-, openglSupport ? false, libGLU_combined ? null
+, openglSupport ? false, libGLU ? null, libGL ? null
+, libmfxSupport ? false, intel-media-sdk ? null
+, libaomSupport ? false, libaom ? null
 # Build options
 , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
 , multithreadBuild ? true # Multithreading via pthreads/win32 threads
@@ -61,7 +63,9 @@ let
   vpxSupport = reqMin "0.6" && !isAarch32;
 in
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
+assert libmfxSupport -> intel-media-sdk != null;
+assert libaomSupport -> libaom != null;
 
 stdenv.mkDerivation rec {
 
@@ -135,6 +139,8 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
       (ifMinVer "2.4" "--enable-lzma")
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
+      (ifMinVer "4.2" (enableFeature libmfxSupport "libmfx"))
+      (ifMinVer "4.2" (enableFeature libaomSupport "libaom"))
       (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
       (ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2
       (ifMinVer "1.2" "--enable-libsoxr")
@@ -162,7 +168,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
     libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
-  ] ++ optional openglSupport libGLU_combined
+  ] ++ optionals openglSupport [ libGL libGLU ]
+    ++ optional libmfxSupport intel-media-sdk
+    ++ optional vpxSupport libaom
     ++ optional vpxSupport libvpx
     ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
     ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
@@ -210,7 +218,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
     inherit branch;
   };
 }
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index c404a12f3df..30fb94aa248 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/FFMS/ffms2/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
     license = licenses.mit;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index edb3c27ebf5..945f1d4931f 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
 , gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
-, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse
-, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3, gsettings-desktop-schemas, librsvg }:
+, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse, nixosTests
+, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, dconf, gsettings-desktop-schemas, librsvg }:
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    bubblewrap bzip2 dbus gnome3.dconf glib gpgme json-glib libarchive libcap libseccomp
+    bubblewrap bzip2 dbus dconf glib gpgme json-glib libarchive libcap libseccomp
     libsoup lzma ostree polkit python3 systemd xorg.libXau fuse
     gsettings-desktop-schemas glib-networking
     librsvg # for flatpak-validate-icon
@@ -76,6 +76,12 @@ stdenv.mkDerivation rec {
     patchShebangs tests
   '';
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.flatpak;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Linux application sandboxing and distribution framework";
     homepage = https://flatpak.org/;
diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix
index eebe119d142..1fe50b402cb 100644
--- a/pkgs/development/libraries/fltk/1.4.nix
+++ b/pkgs/development/libraries/fltk/1.4.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng
 , libtiff, freetype, Cocoa, AGL, GLUT
 }:
 
@@ -12,14 +12,14 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "http://fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
+    url = "https://www.fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
     sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+  buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
     ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
 
   propagatedBuildInputs = [ xorgproto ]
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A C++ cross-platform lightweight GUI library";
-    homepage = http://www.fltk.org;
+    homepage = https://www.fltk.org;
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix
index a22b5eef8d2..fe7de504b4f 100644
--- a/pkgs/development/libraries/fltk/default.nix
+++ b/pkgs/development/libraries/fltk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, freeglut, libGL, libGLU, libjpeg, zlib, libXft, libpng
 , libtiff, freetype, Cocoa, AGL, GLUT
 }:
 
@@ -12,14 +12,14 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
+    url = "https://www.fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
     sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+  buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
     ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
 
   propagatedBuildInputs = [ xorgproto ]
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A C++ cross-platform lightweight GUI library";
-    homepage = http://www.fltk.org;
+    homepage = https://www.fltk.org;
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 2dfb5e9e248..15f29ce77f5 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2019.10.21.00";
+  version = "2019.11.11.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "1jy0yxqzcxxs6sq8161zbdzj4ngwjs0h2aca6n9qkaj1v5jd27c7";
+    sha256 = "1sgv7sdalbs7zhz3zcc95gn2h8j2xjf7hkw2c618zc3pdn6aa58w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/fontconfig-ultimate/default.nix b/pkgs/development/libraries/fontconfig-ultimate/default.nix
deleted file mode 100644
index b95d6dd559d..00000000000
--- a/pkgs/development/libraries/fontconfig-ultimate/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-let version = "2016-04-23"; in
-stdenv.mkDerivation {
-  pname = "fontconfig-ultimate";
-  inherit version;
-
-  src = fetchFromGitHub {
-    sha256 = "1rd2n60l8bamx84q3l91pd9a0wz9h7p6ajvx1dw22qn8rah4h498";
-    rev = version;
-    repo = "fontconfig-ultimate";
-    owner = "bohoomil";
-  };
-
-  installPhase = ''
-    mkdir -p $out/etc/fonts/conf.d
-    cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
-
-    # Base rendering settings will be determined by NixOS module
-    rm $out/etc/fonts/conf.d/10-base-rendering.conf
-
-    # Options controlled by NixOS module
-    rm $out/etc/fonts/conf.d/35-repl-custom.conf
-    rm $out/etc/fonts/conf.d/38-repl-*.conf
-    rm $out/etc/fonts/conf.d/82-*.conf
-    rm $out/etc/fonts/conf.d/83-*.conf
-
-    # Inclusion of local and user configs handled by global configuration
-    rm $out/etc/fonts/conf.d/29-local.conf
-    rm $out/etc/fonts/conf.d/28-user.conf
-
-    cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
-
-    # fix font priority issue https://github.com/bohoomil/fontconfig-ultimate/issues/173
-    mv $out/etc/fonts/conf.d/{43,60}-wqy-zenhei-sharp.conf
-
-    mkdir -p $out/etc/fonts/presets/{combi,free,ms}
-    cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
-    cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
-    cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Font configuration files, patches, scripts and source packages (Infinality & friends)";
-    homepage = https://github.com/bohoomil/fontconfig-ultimate;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
index 5b98d6523b9..f1a2e865bb7 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
+++ b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
@@ -2,7 +2,7 @@
 
 runCommand "fc-cache"
   {
-    buildInputs = [ fontconfig.bin ];
+    nativeBuildInputs = [ fontconfig.bin ];
     preferLocalBuild = true;
     allowSubstitutes = false;
     passAsFile = [ "fontDirs" ];
diff --git a/pkgs/development/libraries/forge/default.nix b/pkgs/development/libraries/forge/default.nix
index e6e002f16c5..83630aef9aa 100644
--- a/pkgs/development/libraries/forge/default.nix
+++ b/pkgs/development/libraries/forge/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
 , arrayfire, expat, fontconfig, freeimage, freetype, boost
-, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit
+, mesa, libGLU, libGL, glfw3, SDL2, cudatoolkit
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     boost.dev
     freeimage
     mesa
-    libGLU_combined
+    libGLU libGL
     glfw3
     SDL2
     cudatoolkit
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index af387b7232f..bb59a34b1cc 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, xlibsWrapper, libpng, libjpeg, libtiff, zlib, bzip2, libXcursor
-, libXrandr, libGLU_combined, libXft, libXfixes, xinput
+, libXrandr, libGLU, libGL, libXft, libXfixes, xinput
 , CoreServices }:
 
 let
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xlibsWrapper libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr
-    libXft libGLU_combined libXfixes xinput
+    libXft libGLU libGL libXfixes xinput
   ] ++ stdenv.lib.optional stdenv.isDarwin CoreServices;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix
index c2952cb47f1..f53d55c2ca9 100644
--- a/pkgs/development/libraries/fplll/default.nix
+++ b/pkgs/development/libraries/fplll/default.nix
@@ -1,22 +1,46 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
-, gmp, mpfr
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, gettext
+, autoreconfHook
+, gmp
+, mpfr
 }:
+
 stdenv.mkDerivation rec {
   pname = "fplll";
-  version = "5.2.1";
+  version = "5.3.1";
+
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "fplll";
+    repo = "fplll";
     rev = version;
-    sha256 = "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg";
+    sha256 = "1bzlqavbch5smra75znh4ljr490wyx5v6hax8r9rjbgk605i33ns";
   };
-  nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
-  buildInputs = [gmp mpfr];
-  meta = {
-    inherit version;
+
+  nativeBuildInputs = [
+    gettext
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    gmp
+    mpfr
+  ];
+
+  meta = with stdenv.lib; {
     description = ''Lattice algorithms using floating-point arithmetic'';
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
+    changelog = [
+      # Some release notes are added to the github tags, though they are not
+      # always complete.
+      "https://github.com/fplll/fplll/releases/tag/${version}"
+      # Releases are announced on this mailing list. Unfortunately it is not
+      # possible to generate a direct link to the most recent announcement, but
+      # this search should find it.
+      "https://groups.google.com/forum/#!searchin/fplll-devel/FPLLL$20${version}"
+    ];
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [raskin timokau];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix
index 8412248b617..16c35347bc5 100644
--- a/pkgs/development/libraries/freeglut/default.nix
+++ b/pkgs/development/libraries/freeglut/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libXi, libXrandr, libXxf86vm, libGL, libGLU, xlibsWrapper, cmake }:
 
-let version = "3.0.0";
+let version = "3.2.1";
 in stdenv.mkDerivation {
   pname = "freeglut";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz";
-    sha256 = "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra";
+    sha256 = "0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix
index 41480789a08..9520542481c 100644
--- a/pkgs/development/libraries/freenect/default.nix
+++ b/pkgs/development/libraries/freenect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu
+{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU, libGL, libXi, libXmu
 , GLUT, Cocoa
  }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vnc7z2avckh4mccqq6alsd2z7xvsh3kaslc5b0gnfxw0j269gl6";
   };
 
-  buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ]
+  buildInputs = [ libusb freeglut libGLU libGL libXi libXmu ]
     ++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 0ff9cea3d27..855ca0385df 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
-    homepage    = http://www.freetds.org;
+    homepage    = https://www.freetds.org;
     license     = licenses.lgpl2;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 859258f5956..3b0b30f573b 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
     sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-18397.patch";
+      url = "https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch";
+      sha256 = "102xrbf1l5gvavkxd6csx8pj3rlgcw10c0y4h4d40yhn84b1p0y8";
+    })
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/development/libraries/ftgl/default.nix b/pkgs/development/libraries/ftgl/default.nix
index 289a5739985..a99228efcf4 100644
--- a/pkgs/development/libraries/ftgl/default.nix
+++ b/pkgs/development/libraries/ftgl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, freetype, libGLU_combined, OpenGL }:
+{ stdenv, fetchurl, freetype, libGL, libGLU, OpenGL }:
 
 let
   name = "ftgl-2.1.3-rc5";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     ++ (if stdenv.isDarwin then
       [ OpenGL ]
     else
-      [ libGLU_combined ])
+      [ libGL libGLU ])
     ;
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gaia/default.nix b/pkgs/development/libraries/gaia/default.nix
new file mode 100644
index 00000000000..b154f80c1dd
--- /dev/null
+++ b/pkgs/development/libraries/gaia/default.nix
@@ -0,0 +1,87 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, libyaml
+, swig
+, eigen
+, pkgconfig
+, wafHook
+, makeWrapper
+, qt4
+, pythonPackages
+, pythonSupport ? false
+# Default to false since it breaks the build, see https://github.com/MTG/gaia/issues/11
+, stlfacadeSupport ? false
+, assertsSupport ? true
+, cyclopsSupport ? true
+}:
+
+assert pythonSupport -> pythonPackages != null;
+
+stdenv.mkDerivation rec {
+  pname = "gaia";
+  version = "2.4.6";
+
+  src = fetchFromGitHub {
+    owner = "MTG";
+    repo = "gaia";
+    rev = "v${version}";
+    sha256 = "03vmdq7ca4f7zp2f4sxyqa8sdpdma3mn9fz4z7d93qryl0bhi7z3";
+  };
+
+  # Fix installation error when waf tries to put files in /etc/
+  prePatch = ''
+  '' + lib.optionalString cyclopsSupport ''
+    substituteInPlace src/wscript \
+      --replace "/etc/cyclops" "$out/etc/cyclops" \
+      --replace "/etc/init.d" "$out/etc/init.d"
+  '';
+
+  nativeBuildInputs = [
+    wafHook
+    pkgconfig
+    swig
+  ]
+    # The gaiafusion binary inside $out/bin needs a shebangs patch, and
+    # wrapping with the appropriate $PYTHONPATH
+    ++ lib.optionals (pythonSupport) [
+      pythonPackages.wrapPython
+    ]
+  ;
+
+  buildInputs = [
+    libyaml
+    eigen
+    qt4
+  ];
+
+  propagatedBuildInputs = []
+    ++ lib.optionals (pythonSupport) [
+      # This is not exactly specified in upstream's README but it's needed by the
+      # resulting $out/bin/gaiafusion script
+      pythonPackages.pyyaml
+    ]
+  ;
+
+  wafConfigureFlags = []
+    ++ lib.optionals (pythonSupport) [ "--with-python-bindings" ]
+    ++ lib.optionals (stlfacadeSupport) [ "--with-stlfacade" ]
+    ++ lib.optionals (assertsSupport) [ "--with-asserts" ]
+    ++ lib.optionals (cyclopsSupport) [ "--with-cyclops" ]
+  ;
+
+  postFixup = ''
+  ''
+    + lib.optionalString pythonSupport ''
+      wrapPythonPrograms
+    ''
+  ;
+
+  meta = with lib; {
+    homepage = "https://github.com/MTG/gaia";
+    description = "General library to work with points in a semimetric space";
+    maintainers = with maintainers; [ doronbehar ];
+    platforms = platforms.x86; # upstream assume SSE2 / fails on ARM
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/development/libraries/garmintools/default.nix b/pkgs/development/libraries/garmintools/default.nix
index c1f9c6ad013..a086648c912 100644
--- a/pkgs/development/libraries/garmintools/default.nix
+++ b/pkgs/development/libraries/garmintools/default.nix
@@ -7,7 +7,8 @@ stdenv.mkDerivation {
   };
   buildInputs = [ libusb ];
   meta = {
-    homepage = https://code.google.com/archive/p/garmintools/; # community clone at https://github.com/ianmartin/garmintools
+    description = "Provides the ability to communicate with the Garmin Forerunner 305 via the USB interface";
+    homepage = "https://code.google.com/archive/p/garmintools/"; # community clone at https://github.com/ianmartin/garmintools
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index ee5988b30f5..c05bb95913e 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -1,38 +1,83 @@
-{ stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
-, meson, ninja, glibcLocales, git, vala, glib, zlib, gnome3
+{ stdenv
+, fetchurl
+, gettext
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, pkgconfig
+, meson
+, ninja
+, git
+, vala
+, glib
+, zlib
+, gnome3
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "gcab";
-  version = "1.2";
+  version = "1.3";
 
-  LC_ALL = "en_US.UTF-8";
+  outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas";
+    sha256 = "1rv81b37d5ya7xpfdxrfk173jjcwabxyng7vafgwyl5myv44qc0h";
   };
 
-  nativeBuildInputs = [ meson ninja glibcLocales git pkgconfig vala gettext gobject-introspection ];
+  patches = [
+    # allow installing installed tests to a separate output
+    ./installed-tests-path.patch
+  ];
 
-  buildInputs = [ glib zlib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    git
+    pkgconfig
+    vala
+    gettext
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
+
+  buildInputs = [
+    glib
+    zlib
+  ];
+
+  # required by libgcab-1.0.pc
+  propagatedBuildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    "-Ddocs=false"
-    "-Dtests=false"
+    "-Dinstalled_tests=true"
+    "-Dinstalled_test_prefix=${placeholder ''installedTests''}"
   ];
 
+  doCheck = true;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
       versionPolicy = "none";
     };
+
+    tests = {
+      installedTests = nixosTests.installed-tests.gcab;
+    };
   };
 
   meta = with stdenv.lib; {
+    description = "GObject library to create cabinet files";
+    homepage = "https://gitlab.gnome.org/GNOME/gcab";
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
     platforms = platforms.linux;
-    license = licenses.lgpl21;
-    homepage = "https://wiki.gnome.org/msitools";
-    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/development/libraries/gcab/installed-tests-path.patch b/pkgs/development/libraries/gcab/installed-tests-path.patch
new file mode 100644
index 00000000000..ab3b6b3fae3
--- /dev/null
+++ b/pkgs/development/libraries/gcab/installed-tests-path.patch
@@ -0,0 +1,21 @@
+diff --git a/meson_options.txt b/meson_options.txt
+index c1b1da1..9b76022 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -4,3 +4,4 @@
+ option('vapi', type : 'boolean', value : true, description: 'generate Vala bindings (requires introspection)')
+ option('tests', type : 'boolean', value : true, description : 'enable tests')
+ option('installed_tests', type : 'boolean', value : false, description : 'install tests for "as-installed" testing')
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
+diff --git a/tests/meson.build b/tests/meson.build
+index 1e46e2a..aa780d0 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,5 +1,5 @@
+-installed_tests_metadir = join_paths(get_option('datadir'), 'installed-tests', 'libgcab-1.0')
+-installed_tests_execdir = join_paths(get_option('libexecdir'), 'installed-tests', 'libgcab-1.0')
++installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'libgcab-1.0')
++installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', 'libgcab-1.0')
+ installed_tests_enabled = get_option('installed_tests')
+ installed_tests_template_tap = files('template-tap.test.in')
+ abs_installed_tests_execdir = join_paths(get_option('prefix'), installed_tests_execdir)
diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix
index 1947d40dc85..cf0f22fdd40 100644
--- a/pkgs/development/libraries/gcr/default.nix
+++ b/pkgs/development/libraries/gcr/default.nix
@@ -1,49 +1,84 @@
-{ stdenv, fetchurl, pkgconfig, gettext, gnupg, p11-kit, glib
-, libgcrypt, libtasn1, dbus-glib, gtk3, pango, gdk-pixbuf, atk
-, gobject-introspection, makeWrapper, libxslt, vala, gnome3
-, python3 }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, gettext
+, gnupg
+, p11-kit
+, glib
+, libgcrypt
+, libtasn1
+, gtk3
+, pango
+, gobject-introspection
+, makeWrapper
+, libxslt
+, vala
+, gnome3
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "gcr";
-  version = "3.33.4";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1hf06p4qfyywnb6334ysnr6aqxik3srb37glclvr4yhb3wzrjqnm";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = pname; };
+    sha256 = "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9";
   };
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs build/ gcr/fixtures/
   '';
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gettext gobject-introspection libxslt makeWrapper vala ];
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    gobject-introspection
+    libxslt
+    makeWrapper
+    vala
+  ];
+
+  buildInputs = [
+    gnupg
+    libgcrypt
+    libtasn1
+    pango
+  ];
 
-  buildInputs = [ gnupg libgcrypt libtasn1 dbus-glib pango gdk-pixbuf atk ];
+  propagatedBuildInputs = [
+    glib
+    gtk3
+    p11-kit
+  ];
 
-  propagatedBuildInputs = [ glib gtk3 p11-kit ];
+  checkInputs = [
+    python3
+  ];
 
-  checkInputs = [ python3 ];
   doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
 
-  #enableParallelBuilding = true; issues on hydra
+  enableParallelBuilding = true;
 
   preFixup = ''
     wrapProgram "$out/bin/gcr-viewer" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
     description = "GNOME crypto services (daemon and tools)";
-    homepage    = https://gitlab.gnome.org/GNOME/gcr;
-    license     = licenses.gpl2;
+    homepage = "https://gitlab.gnome.org/GNOME/gcr";
+    license = licenses.lgpl2Plus;
 
     longDescription = ''
       GCR is a library for displaying certificates, and crypto UI, accessing
diff --git a/pkgs/development/libraries/gdal/2.4.0.nix b/pkgs/development/libraries/gdal/2.4.0.nix
index d41b4c55f86..f914a112e10 100644
--- a/pkgs/development/libraries/gdal/2.4.0.nix
+++ b/pkgs/development/libraries/gdal/2.4.0.nix
@@ -16,6 +16,15 @@ stdenv.mkDerivation rec {
     sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-17545.patch";
+      url = "https://github.com/OSGeo/gdal/commit/8cd2d2eb6327cf782a74dae263ffa6f89f46c93d.patch";
+      stripLen = 1;
+      sha256 = "06h88a659jcqf6ps1m91qy78s6s9krbkwnz28f5qh7032vlp6qpw";
+    })
+  ];
+
   buildInputs = [ unzip libjpeg libtiff libgeotiff libpng proj openssl sqlite
     libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
   ++ (with pythonPackages; [ python numpy wrapPython ])
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index bb53277075f..922877f6f46 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -20,7 +20,15 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "source/gdal";
 
-  patches = [ ./001.3_0_1.darwin.patch ];
+  patches = [
+    ./001.3_0_1.darwin.patch
+    (fetchpatch {
+      name = "CVE-2019-17545.patch";
+      url = "https://github.com/OSGeo/gdal/commit/148115fcc40f1651a5d15fa34c9a8c528e7147bb.patch";
+      stripLen = 1;
+      sha256 = "0hai59hhvrci9xwjw4lp3wc1brn00imngmqrbbs8v9yr3b0fzbgs";
+    })
+  ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 4cf28b7dbee..9c2da3c5b69 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
+{ stdenv, fetchurl, nixosTests, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
 , docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, gobject-introspection, doCheck ? false, makeWrapper }:
+, gobject-introspection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
@@ -31,11 +31,10 @@ in stdenv.mkDerivation rec {
   ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
+  propagatedBuildInputs = [ glib libtiff libjpeg libpng ];
 
   mesonFlags = [
     "-Ddocs=true"
-    "-Djasper=true"
     "-Dx11=true"
     "-Dgir=${if gobject-introspection != null then "true" else "false"}"
     "-Dgio_sniffing=false"
@@ -85,6 +84,10 @@ in stdenv.mkDerivation rec {
       packageName = pname;
     };
 
+    tests = {
+      installedTests = nixosTests.installed-tests.gdk-pixbuf;
+    };
+
     # gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
     moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
   };
diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
index 5a7dcd79299..06958be3213 100644
--- a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
+++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
@@ -2,9 +2,9 @@ findGdkPixbufLoaders() {
 
 	# choose the longest loaders.cache
 	local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
-	if [ -f "$loadersCache" ]; then
-		if [ -f "$GDK_PIXBUF_MODULE_FILE" ]; then
-			if [ $(cat "$loadersCache"|wc -l) -gt $(cat "$GDK_PIXBUF_MODULE_FILE"|wc -l) ]; then
+	if [[ -f "$loadersCache" ]]; then
+		if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
+			if (( "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" )); then
 				export GDK_PIXBUF_MODULE_FILE="$loadersCache"
 			fi
 		else
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
index 2edb47cb9bb..ca7163af49b 100644
--- a/pkgs/development/libraries/gegl/4.0.nix
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -105,6 +105,9 @@ stdenv.mkDerivation rec {
     "-Dlibv4l=disabled"
     "-Dlibv4l2=disabled"
     "-Dumfpack=disabled"
+    # Disabled due to multiple vulnerabilities, see
+    # https://github.com/NixOS/nixpkgs/pull/73586
+    "-Djasper=disabled"
   ];
 
   # TODO: Fix missing math symbols in gegl seamless clone.
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 4525f923286..d55983952b8 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ thoughtpolice raskin ];
     license     = licenses.lgpl21;
     platforms   = platforms.unix;
-    homepage    = "http://maxmind.com";
+    homepage    = "https://www.maxmind.com";
   };
 }
diff --git a/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch b/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch
deleted file mode 100644
index b734c1c8b02..00000000000
--- a/pkgs/development/libraries/gettext/CVE-2018-18751-bison.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-This patch was generated by re-running Bison 3.0.4 on pro-gram-gen.y after
-applying CVE-2018-18751.patch. This patch removes the need to add bison to
-nativeBuildInputs.
-
---- a/gettext-tools/src/po-gram-gen.c
-+++ b/gettext-tools/src/po-gram-gen.c
-@@ -568,9 +568,9 @@ static const yytype_uint8 yytranslate[] =
- static const yytype_uint16 yyrline[] =
- {
-        0,   169,   169,   171,   172,   173,   174,   179,   187,   195,
--     216,   240,   249,   258,   269,   278,   292,   301,   315,   321,
--     332,   338,   350,   361,   372,   376,   391,   414,   422,   434,
--     442
-+     216,   237,   246,   255,   266,   275,   289,   298,   312,   318,
-+     329,   335,   347,   358,   369,   373,   388,   411,   419,   431,
-+     439
- };
- #endif
-
-@@ -1419,14 +1419,11 @@ yyreduce:
-                   check_obsolete ((yyvsp[-3].message_intro), (yyvsp[-1].string));
-                   check_obsolete ((yyvsp[-3].message_intro), (yyvsp[0].rhs));
-                   if (!(yyvsp[-3].message_intro).obsolete || pass_obsolete_entries)
--                    {
--                      do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
--                                           (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
--                                           (yyvsp[-3].message_intro).prev_ctxt,
--                                           (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
--                                           (yyvsp[-3].message_intro).obsolete);
--                      free ((yyvsp[-1].string).string);
--                    }
-+                    do_callback_message ((yyvsp[-3].message_intro).ctxt, string2, &(yyvsp[-3].message_intro).pos, (yyvsp[-1].string).string,
-+                                         (yyvsp[0].rhs).rhs.msgstr, (yyvsp[0].rhs).rhs.msgstr_len, &(yyvsp[0].rhs).pos,
-+                                         (yyvsp[-3].message_intro).prev_ctxt,
-+                                         (yyvsp[-3].message_intro).prev_id, (yyvsp[-3].message_intro).prev_id_plural,
-+                                         (yyvsp[-3].message_intro).obsolete);
-                   else
-                     {
-                       free_message_intro ((yyvsp[-3].message_intro));
-@@ -1435,11 +1432,11 @@ yyreduce:
-                       free ((yyvsp[0].rhs).rhs.msgstr);
-                     }
-                 }
--#line 1439 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1436 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 11:
--#line 241 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 238 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].string));
-@@ -1448,11 +1445,11 @@ yyreduce:
-                   string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
-                   free ((yyvsp[0].string).string);
-                 }
--#line 1452 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1449 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 12:
--#line 250 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 247 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].message_intro), (yyvsp[0].rhs));
-@@ -1461,22 +1458,22 @@ yyreduce:
-                   string_list_destroy (&(yyvsp[-1].stringlist).stringlist);
-                   free ((yyvsp[0].rhs).rhs.msgstr);
-                 }
--#line 1465 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1462 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 13:
--#line 259 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 256 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].message_intro), (yyvsp[0].stringlist));
-                   po_gram_error_at_line (&(yyvsp[-1].message_intro).pos, _("missing 'msgstr' section"));
-                   free_message_intro ((yyvsp[-1].message_intro));
-                   string_list_destroy (&(yyvsp[0].stringlist).stringlist);
-                 }
--#line 1476 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1473 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 14:
--#line 270 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 267 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.message_intro).prev_ctxt = NULL;
-                   (yyval.message_intro).prev_id = NULL;
-@@ -1485,11 +1482,11 @@ yyreduce:
-                   (yyval.message_intro).pos = (yyvsp[0].string).pos;
-                   (yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1489 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1486 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 15:
--#line 279 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 276 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].prev), (yyvsp[0].string));
-                   (yyval.message_intro).prev_ctxt = (yyvsp[-1].prev).ctxt;
-@@ -1499,11 +1496,11 @@ yyreduce:
-                   (yyval.message_intro).pos = (yyvsp[0].string).pos;
-                   (yyval.message_intro).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1503 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1500 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 16:
--#line 293 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 290 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].string), (yyvsp[0].stringlist));
-                   (yyval.prev).ctxt = (yyvsp[-1].string).string;
-@@ -1512,11 +1509,11 @@ yyreduce:
-                   (yyval.prev).pos = (yyvsp[-1].string).pos;
-                   (yyval.prev).obsolete = (yyvsp[-1].string).obsolete;
-                 }
--#line 1516 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1513 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 17:
--#line 302 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 299 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].string), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].string), (yyvsp[0].string));
-@@ -1526,21 +1523,21 @@ yyreduce:
-                   (yyval.prev).pos = (yyvsp[-2].string).pos;
-                   (yyval.prev).obsolete = (yyvsp[-2].string).obsolete;
-                 }
--#line 1530 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1527 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 18:
--#line 316 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 313 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.string).string = NULL;
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1540 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1537 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 19:
--#line 322 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 319 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
-@@ -1548,21 +1545,21 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1552 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1549 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 20:
--#line 333 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 330 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.string).string = NULL;
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1562 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1559 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 21:
--#line 339 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 336 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[-1].stringlist));
-                   check_obsolete ((yyvsp[-2].pos), (yyvsp[0].pos));
-@@ -1570,11 +1567,11 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[0].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[0].pos).obsolete;
-                 }
--#line 1574 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1571 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 22:
--#line 351 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 348 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
-                   plural_counter = 0;
-@@ -1582,30 +1579,30 @@ yyreduce:
-                   (yyval.string).pos = (yyvsp[-1].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
-                 }
--#line 1586 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1583 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 23:
--#line 362 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 359 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].pos), (yyvsp[0].stringlist));
-                   (yyval.string).string = string_list_concat_destroy (&(yyvsp[0].stringlist).stringlist);
-                   (yyval.string).pos = (yyvsp[-1].pos).pos;
-                   (yyval.string).obsolete = (yyvsp[-1].pos).obsolete;
-                 }
--#line 1597 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1594 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 24:
--#line 373 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 370 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   (yyval.rhs) = (yyvsp[0].rhs);
-                 }
--#line 1605 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1602 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 25:
--#line 377 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 374 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].rhs), (yyvsp[0].rhs));
-                   (yyval.rhs).rhs.msgstr = XNMALLOC ((yyvsp[-1].rhs).rhs.msgstr_len + (yyvsp[0].rhs).rhs.msgstr_len, char);
-@@ -1617,11 +1614,11 @@ yyreduce:
-                   (yyval.rhs).pos = (yyvsp[-1].rhs).pos;
-                   (yyval.rhs).obsolete = (yyvsp[-1].rhs).obsolete;
-                 }
--#line 1621 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1618 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 26:
--#line 392 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 389 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-4].pos), (yyvsp[-3].pos));
-                   check_obsolete ((yyvsp[-4].pos), (yyvsp[-2].number));
-@@ -1640,11 +1637,11 @@ yyreduce:
-                   (yyval.rhs).pos = (yyvsp[-4].pos).pos;
-                   (yyval.rhs).obsolete = (yyvsp[-4].pos).obsolete;
-                 }
--#line 1644 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1641 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 27:
--#line 415 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 412 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   string_list_init (&(yyval.stringlist).stringlist);
-                   string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
-@@ -1652,11 +1649,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[0].string).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1656 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1653 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 28:
--#line 423 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 420 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
-                   (yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
-@@ -1665,11 +1662,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
-                 }
--#line 1669 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1666 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 29:
--#line 435 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 432 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   string_list_init (&(yyval.stringlist).stringlist);
-                   string_list_append (&(yyval.stringlist).stringlist, (yyvsp[0].string).string);
-@@ -1677,11 +1674,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[0].string).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[0].string).obsolete;
-                 }
--#line 1681 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1678 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-   case 30:
--#line 443 "po-gram-gen.y" /* yacc.c:1646  */
-+#line 440 "po-gram-gen.y" /* yacc.c:1646  */
-     {
-                   check_obsolete ((yyvsp[-1].stringlist), (yyvsp[0].string));
-                   (yyval.stringlist).stringlist = (yyvsp[-1].stringlist).stringlist;
-@@ -1690,11 +1687,11 @@ yyreduce:
-                   (yyval.stringlist).pos = (yyvsp[-1].stringlist).pos;
-                   (yyval.stringlist).obsolete = (yyvsp[-1].stringlist).obsolete;
-                 }
--#line 1694 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1691 "po-gram-gen.c" /* yacc.c:1646  */
-     break;
-
-
--#line 1698 "po-gram-gen.c" /* yacc.c:1646  */
-+#line 1695 "po-gram-gen.c" /* yacc.c:1646  */
-       default: break;
-     }
-   /* User semantic actions sometimes alter yychar, and that requires
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 9547c6c31ad..157f801d2f2 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,24 +1,16 @@
-{ stdenv, lib, fetchurl, libiconv, xz, bison, automake115x, autoconf }:
+{ stdenv, lib, fetchurl, libiconv, xz }:
 
-let allowBisonDependency = !stdenv.isDarwin; in
 stdenv.mkDerivation rec {
   pname = "gettext";
-  version = "0.19.8.1";
+  version = "0.20.1";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
-    sha256 = "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z";
+    sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6";
   };
   patches = [
     ./absolute-paths.diff
-    (fetchurl {
-      name = "CVE-2018-18751.patch";
-      url = "https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=patch;h=dce3a16e5e9368245735e29bf498dcd5e3e474a4";
-      sha256 = "1lpjwwcjr1sb879faj0xyzw02kma0ivab6xwn3qciy13qy6fq5xn";
-    })
-  ] ++ lib.optionals (!allowBisonDependency) [
-    # Only necessary for CVE-2018-18751.patch:
-    ./CVE-2018-18751-bison.patch
+    ./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
   ];
 
   outputs = [ "out" "man" "doc" "info" ];
@@ -29,10 +21,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
      "--disable-csharp" "--with-xz"
-     # avoid retaining reference to CF during stdenv bootstrap
-  ] ++ lib.optionals stdenv.isDarwin [
-    "gt_cv_func_CFPreferencesCopyAppValue=no"
-    "gt_cv_func_CFLocaleCopyCurrent=no"
   ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # On cross building, gettext supposes that the wchar.h from libc
     # does not fulfill gettext needs, so it tries to work with its
@@ -54,14 +42,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     xz
     xz.bin
-  ]
-  # Only necessary for CVE-2018-18751.patch (unless CVE-2018-18751-bison.patch
-  # is also applied):
-  ++ lib.optional allowBisonDependency bison
-  ++ [
-    # Only necessary for CVE-2018-18751.patch:
-    automake115x
-    autoconf
   ];
   # HACK, see #10874 (and 14664)
   buildInputs = stdenv.lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv;
diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index ad3763c29b6..69020146f84 100644
--- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -10,7 +10,7 @@ addEnvHooks "$hostOffset" gettextDataDirsHook
 
 # libintl must be listed in load flags on non-Glibc
 # it doesn't hurt to have it in Glibc either though
-if [ -n "@gettextNeedsLdflags@" -a -z "$dontAddExtraLibs" ]; then
+if [ -n "@gettextNeedsLdflags@" -a -z "${dontAddExtraLibs-}" ]; then
     # See pkgs/build-support/setup-hooks/role.bash
     getHostRole
     export NIX_${role_pre}LDFLAGS+=" -lintl"
diff --git a/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch b/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
new file mode 100644
index 00000000000..4a19b11507a
--- /dev/null
+++ b/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch
@@ -0,0 +1,82 @@
+From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 19 May 2019 13:10:06 +0200
+Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no
+ translations.
+
+Reported by Don Lawrence <dlawrence@iecok.com>
+in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
+via Daiki Ueno
+in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
+
+* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
+is true.
+* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
+---
+ gettext-tools/src/msgmerge.c    |  4 ++--
+ gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++---
+ 2 files changed, 35 insertions(+), 5 deletions(-)
+
+diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
+index cd762c0..92c9b7a 100644
+--- a/gettext-tools/src/msgmerge.c
++++ b/gettext-tools/src/msgmerge.c
+@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\
+   else
+     {
+       /* Write the merged message list out.  */
+-      msgdomain_list_print (result, output_file, output_syntax, force_po,
+-                            false);
++      msgdomain_list_print (result, output_file, output_syntax,
++                            for_msgfmt || force_po, false);
+     }
+ 
+   exit (EXIT_SUCCESS);
+diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26
+index cd3862e..b86f7a0 100755
+--- a/gettext-tools/tests/msgmerge-26
++++ b/gettext-tools/tests/msgmerge-26
+@@ -73,7 +73,37 @@ msgstr "Papaya"
+ EOF
+ 
+ : ${DIFF=diff}
+-${DIFF} mm-test26.ok mm-test26.out
+-result=$?
++${DIFF} mm-test26.ok mm-test26.out || Exit 1
+ 
+-exit $result
++# Test with a PO file that has no translated messages.
++
++cat <<\EOF > mm-test26a.in1
++msgid ""
++msgstr ""
++"Content-Type: text/plain; charset=UTF-8\n"
++
++msgid "Hello world"
++msgstr "Hallo Welt"
++EOF
++
++cat <<\EOF > mm-test26a.in2
++msgid ""
++msgstr ""
++"Content-Type: text/plain; charset=ASCII\n"
++
++msgid "Hello, world!"
++msgstr ""
++EOF
++
++: ${MSGMERGE=msgmerge}
++${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \
++    || Exit 1
++LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1
++
++cat <<\EOF > mm-test26a.ok
++msgid ""
++msgstr "Content-Type: text/plain; charset=UTF-8\n"
++EOF
++
++: ${DIFF=diff}
++${DIFF} mm-test26a.ok mm-test26a.out || Exit 1
+-- 
+1.9.1
+
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index e047bdbb648..5d7b95136dd 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "A library for reading and writing gif images";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     branch = "5.2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index b0c1e2d3077..7facdc1426f 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -1,26 +1,50 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection
-, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk-pixbuf
-, makeWrapper }:
+{ fetchurl
+, stdenv
+, pkgconfig
+, gnome3
+, gtk3
+, atk
+, gobject-introspection
+, spidermonkey_60
+, pango
+, cairo
+, readline
+, glib
+, libxml2
+, dbus
+, gdk-pixbuf
+, makeWrapper
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.58.1";
+  version = "1.58.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
+    sha256 = "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gjs"; attrPath = "gnome3.gjs"; };
-  };
+  outputs = [ "out" "dev" "installedTests" ];
 
-  outputs = [ "out" "installedTests" ];
+  nativeBuildInputs = [
+    pkgconfig
+    makeWrapper
+    libxml2 # for xml-stripblanks
+  ];
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ libxml2 gobject-introspection glib pango readline dbus ];
+  buildInputs = [
+    gobject-introspection
+    cairo
+    readline
+    spidermonkey_60
+    dbus # for dbus-run-session
+  ];
 
-  propagatedBuildInputs = [ spidermonkey_60 ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   configureFlags = [
     "--enable-installed-tests"
@@ -33,8 +57,6 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
-
     moveToOutput "share/installed-tests" "$installedTests"
     moveToOutput "libexec/gjs/installed-tests" "$installedTests"
 
@@ -42,10 +64,23 @@ stdenv.mkDerivation rec {
       --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests"
   '';
 
+  separateDebugInfo = stdenv.isLinux;
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.gjs;
+    };
+
+    updateScript = gnome3.updateScript {
+      packageName = "gjs";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "JavaScript bindings for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md";
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
-    license = licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/gle/default.nix b/pkgs/development/libraries/gle/default.nix
index dd72637f2eb..d656473ba80 100644
--- a/pkgs/development/libraries/gle/default.nix
+++ b/pkgs/development/libraries/gle/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, libGLU_combined, freeglut, libX11, libXt, libXmu, libXi, libXext}:
+{stdenv, fetchurl, freeglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}:
 stdenv.mkDerivation {
   name = "gle-3.1.0";
-  buildInputs = [libGLU_combined freeglut libX11 libXt libXmu libXi libXext];
+  buildInputs = [libGLU libGL freeglut libX11 libXt libXmu libXi libXext];
   src = fetchurl {
     urls = [
       "mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index 6532d6f81b5..cf988d32399 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -1,16 +1,17 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libGL, libXrandr, libXinerama, libXcursor, libX11
+{ stdenv, lib, fetchFromGitHub, cmake
+, libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext
 , Cocoa, Kernel, fixDarwinDylibNames
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.3";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "0gq6ad38b3azk0w2yy298yz2vmg2jmf9g0ydidqbmiswpk25ills";
+    sha256 = "1f1hqpqffzg46z33ybs2c3akmkly7b3qmgp5byk50nvad6g2pm4p";
   };
 
   enableParallelBuilding = true;
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libX11 libXrandr libXinerama libXcursor ]
+  buildInputs = [ libX11 libXrandr libXinerama libXcursor libXi libXext ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel fixDarwinDylibNames ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
     homepage = https://www.glfw.org/;
     license = licenses.zlib;
-    maintainers = with maintainers; [ marcweber ];
+    maintainers = with maintainers; [ marcweber twey ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index a571fffebf0..802a18dfda5 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     };
 
     tests = {
-      installedTests = nixosTests.glib-networking;
+      installedTests = nixosTests.installed-tests.glib-networking;
     };
   };
 
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 68bc169bb89..706e99179f5 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -48,11 +48,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.62.1";
+  version = "2.62.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1pzrw2x9r0kyghrvwdbx3nqn2wcrrxy962f5gbdacwh83m705n9x";
+    sha256 = "1i2mlrd351dnmpfi465qmx9rhgyff01j29a2x3lczzyky34ss024";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh
index a1cb1f40c58..37c750b8db6 100644
--- a/pkgs/development/libraries/glib/setup-hook.sh
+++ b/pkgs/development/libraries/glib/setup-hook.sh
@@ -1,9 +1,11 @@
 
 make_glib_find_gsettings_schemas() {
     # For packages that need gschemas of other packages (e.g. empathy)
-    if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then
-        addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"*
-    fi
+    for maybe_dir in "$1"/share/gsettings-schemas/*; do
+        if [[ -d "$maybe_dir/glib-2.0/schemas" ]]; then
+            addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir"
+        fi
+    done
 }
 addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas
 
diff --git a/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch b/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
new file mode 100644
index 00000000000..2c558f53b73
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.27-CVE-2019-19126.patch
@@ -0,0 +1,18 @@
+Adapted from https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=4d5cfeb510125345cb41431afc9022492994cffa, omitting changes to NEWS
+diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+index 1943691..ac694c0 100644
+--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
++++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+@@ -31,7 +31,8 @@
+    environment variable, LD_PREFER_MAP_32BIT_EXEC.  */
+ #define EXTRA_LD_ENVVARS \
+   case 21:								  \
+-    if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
++    if (!__libc_enable_secure						  \
++	&& memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0)		  \
+       GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
+ 	|= bit_arch_Prefer_MAP_32BIT_EXEC;				  \
+     break;
+-- 
+2.9.3
+
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index edf4d135aba..32be2205bcc 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -98,7 +98,10 @@ stdenv.mkDerivation ({
       # https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f51c8367685dc888a02f7304c729ed5277904aff
       ./CVE-2018-11237.patch
     ]
-    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
+    ++ lib.optionals stdenv.isx86_64 [
+      ./fix-x64-abi.patch
+      ./2.27-CVE-2019-19126.patch
+    ]
     ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
     ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
 
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
index e7d4c934db8..88b33601ee7 100644
--- a/pkgs/development/libraries/glm/default.nix
+++ b/pkgs/development/libraries/glm/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     homepage = http://glm.g-truc.net/;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index 6aa300e2b62..792217043da 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, perl }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, perl }:
 
 stdenv.mkDerivation rec {
   pname = "glog";
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b";
   };
 
+  patches = lib.optionals stdenv.hostPlatform.isMusl [
+    # TODO: Remove at next release that includes this commit.
+    (fetchpatch {
+      name = "glog-Fix-symbolize_unittest-for-musl-builds.patch";
+      url = "https://github.com/google/glog/commit/834dd780bf1fe0704b8ed0350ca355a55f711a9f.patch";
+      sha256 = "0k4lanxg85anyvjsj3mh93bcgds8gizpiamcy2zvs3yyfjl40awn";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
 
   checkInputs = [ perl ];
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 51e981a2a33..3343c78bea1 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -11,7 +11,7 @@ assert idnSupport -> libidn != null;
 with stdenv.lib;
 
 let
-  version = "1.0.22";
+  version = "1.0.23";
 in
 stdenv.mkDerivation {
   pname = "gloox";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "0r69gq8if9yy1amjzl7qrq9lzhhna7qgz905ln4wvkwchha1ppja";
+    sha256 = "12jz8glg9zmyk0iyv1ywf5i0hq93dfq8lvn6lyjgy8730w66mjwp";
   };
 
   buildInputs = [ ]
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     description = "A portable high-level Jabber/XMPP library for C++";
     homepage = http://camaya.net/gloox;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glui/default.nix b/pkgs/development/libraries/glui/default.nix
index 59357bf6fb1..d84a9227c3b 100644
--- a/pkgs/development/libraries/glui/default.nix
+++ b/pkgs/development/libraries/glui/default.nix
@@ -1,8 +1,27 @@
-{stdenv, fetchurl, freeglut, libGLU_combined, libXmu, libXext, libX11, libXi}:
-stdenv.mkDerivation {
-  name = "glui-2.35";
-  buildInputs = [freeglut libGLU_combined libXmu libXext libX11 libXi];
-  preConfigure = ''cd src'';
+{ stdenv
+, fetchFromGitHub
+, freeglut
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXi
+, libXmu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "glui";
+  version = "2.37";
+
+  src = fetchFromGitHub {
+    owner = "libglui";
+    repo = "glui";
+    rev = version;
+    sha256 = "0qg2y8w95s03zay1qsqs8pqxxlg6l9kwm7rrs1qmx0h22sxb360i";
+  };
+
+  buildInputs = [ freeglut libGLU libGL libXmu libXext libX11 libXi ];
+
   installPhase = ''
     mkdir -p "$out"/{bin,lib,share/glui/doc,include}
     cp -rT bin "$out/bin"
@@ -11,14 +30,11 @@ stdenv.mkDerivation {
     cp -rT doc "$out/share/glui/doc"
     cp LICENSE.txt "$out/share/glui/doc"
   '';
-  src = fetchurl {
-    url = "mirror://sourceforge/project/glui/Source/2.36/glui-2.36.tgz";
-    sha256 = "11r7f0k5jlbl825ibhm5c6bck0fn1hbliya9x1f253ikry1mxvy1";
-  };
-  meta = {
+
+  meta = with stdenv.lib; {
     description = ''A user interface library using OpenGL'';
-    license = stdenv.lib.licenses.zlib ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.zlib ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 81546e5c127..754d5aa7411 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.3";
+  version = "3.2.5";
   pname = "gmime";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
-    sha256 = "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a";
+    sha256 = "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index d9ea5a71dd3..4b35f7828fe 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -37,7 +37,9 @@ let self = stdenv.mkDerivation rec {
     "--build=${stdenv.buildPlatform.config}"
   ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
     ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64"
-    ++ optional (with stdenv.hostPlatform; (useAndroidPrebuilt || useiOSPrebuilt) && !isx86) "--disable-assembly"
+    # to build a .dll on windows, we need --disable-static + --enable-shared
+    # see https://gmplib.org/manual/Notes-for-Particular-Systems.html
+    ++ optional (!withStatic && stdenv.hostPlatform.isWindows) "--disable-static --enable-shared"
     ;
 
   doCheck = true; # not cross;
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index 6ae1f47e38c..b5b8add2db5 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, buildPackages, fetchurl, pciutils }:
+{ stdenv, buildPackages, fetchurl, fetchpatch, pciutils }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gnu-efi";
-  version = "3.0.9";
+  version = "3.0.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${pname}-${version}.tar.bz2";
-    sha256 = "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7";
+    sha256 = "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj";
   };
 
+  patches = [
+    # Fix build on armv6l
+    (fetchpatch {
+      url = "https://sourceforge.net/p/gnu-efi/patches/_discuss/thread/25bb273a18/9c4d/attachment/0001-Fix-ARCH-on-armv6-and-other-32-bit-ARM-platforms.patch";
+      sha256 = "0pj03h20g2bbz6fr753bj1scry6919h57l1h86z3b6q7hqfj0b4r";
+    })
+  ];
+
   buildInputs = [ pciutils ];
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 1b97c369edf..deef141c5df 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -8,7 +8,7 @@
 
 assert guileBindings -> guile != null;
 let
-  version = "3.6.10";
+  version = "3.6.11.1";
 
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
-    sha256 = "14r2h73yfj66cm14k9mnb3kgzq5a7qjg5b31m53bf19vcxkwmwxi";
+    sha256 = "1y1wadpsrj5ai603xv5bgssl9v0pb1si2hg14zqdnmcsvgri5fpv";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index a18bdb17744..f41fa73a6ef 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.45";
+  version = "0.10.46";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "702ba567e9ec0bbdd9b1a8161cd24648b4868d57a6cb89128f13c125f6f31947";
+    sha256 = "058d6d3a40e1f60525682ec6b857c441d5deb50d0d30a76804f9f36f865a13a9";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/gom/default.nix b/pkgs/development/libraries/gom/default.nix
index 9a947c3ff82..e006f8cd6f8 100644
--- a/pkgs/development/libraries/gom/default.nix
+++ b/pkgs/development/libraries/gom/default.nix
@@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
     "-Dpygobject-override-dir=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
   ];
 
-  doCheck = true;
+  # Success is more likely on x86_64
+  doCheck = stdenv.isx86_64;
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 26d5e9c88c7..63072273c2e 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ lgpl21Plus gpl3Plus ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu primeos ];
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix
index f1a9dacd4e2..e540604c9cb 100644
--- a/pkgs/development/libraries/graphene/default.nix
+++ b/pkgs/development/libraries/graphene/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests = {
-      installedTests = nixosTests.graphene;
+      installedTests = nixosTests.installed-tests.graphene;
     };
   };
 
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index 38243ce5a6d..0c9e4bf3156 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -1,5 +1,5 @@
-{ fetchurl, stdenv,
-  cmake, netcdf, gfortran, jasper, libpng,
+{ fetchurl, fetchpatch, stdenv,
+  cmake, netcdf, gfortran, libpng, openjpeg,
   enablePython ? false, pythonPackages }:
 
 stdenv.mkDerivation rec{
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec{
     sha256 = "0qbj12ap7yy2rl1pq629chnss2jl73wxdj1lwzv0xp87r6z5qdfl";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/science-team/grib-api/raw/debian/1.28.0-2/debian/patches/openjpeg2.patch";
+      sha256 = "05faxh51vlidiazxq1ssd3k4cjivk1adyn30k94mxqa1xnb2r2pc";
+    })
+  ];
+
   preConfigure = ''
     # Fix "no member named 'inmem_' in 'jas_image_t'"
     substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
@@ -19,8 +26,8 @@ stdenv.mkDerivation rec{
   buildInputs = [ cmake
                   netcdf
                   gfortran
-                  jasper
                   libpng
+                  openjpeg
                 ] ++ stdenv.lib.optionals enablePython [
                   pythonPackages.python
                 ];
@@ -32,6 +39,7 @@ stdenv.mkDerivation rec{
   cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
                  "-DENABLE_PNG=ON"
                  "-DENABLE_FORTRAN=ON"
+                 "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/${openjpeg.incDir}"
                ];
 
   enableParallelBuilding = true;
@@ -52,13 +60,15 @@ stdenv.mkDerivation rec{
     homepage = https://software.ecmwf.int/wiki/display/GRIB/Home;
     license = licenses.asl20;
     platforms = with platforms; linux ++ darwin;
-    description = "ECMWF Library for the GRIB file format";
+    description = "ECMWF Library for the GRIB file format -- DEPRECATED";
     longDescription = ''
       The ECMWF GRIB API is an application program interface accessible from C,
       FORTRAN and Python programs developed for encoding and decoding WMO FM-92
       GRIB edition 1 and edition 2 messages.
+
+      Please note: GRIB-API support is being discontinued at the end of 2018.
+      After which there will be no further releases. Please upgrade to ecCodes
     '';
     maintainers = with maintainers; [ knedlsepp ];
   };
 }
-
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 5d6a10ff113..2fa76b2e085 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.24.3"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
+  version = "1.25.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "19g3fihds9rih2ciypkwi4jahjaymyqnjhd9id397fgj1qkw4w69";
+    sha256 = "02nbmbk1xpibjzvbhi8xpazmwry46ki24vks1sh2p0aqwy4hv6yb";
     fetchSubmodules = true;
   };
+  patches = [
+    # Fix build on armv6l (https://github.com/grpc/grpc/pull/21341)
+    (fetchpatch {
+      url = "https://github.com/grpc/grpc/commit/ffb8a278389c8e3403b23a9897b65a7390c34645.patch";
+      sha256 = "1lc12a3gccg9wxqhnwgldlj3zmlm6lxg8dssvvj1x7hf655kw3w3";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
 
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 735ab4e6e18..9b2d3d0e247 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,16 +1,40 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
 , config
-, pkgconfig, python3, gst-plugins-base, orc
+, pkgconfig
+, python3
+, gst-plugins-base
+, orc
 , gobject-introspection
 , enableZbar ? true
-, faacSupport ? false, faac ? null
-, faad2, libass, libkate, libmms, librdf, ladspaH
-, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
-, libbs2b, libmodplug, mpeg2dec
-, openjpeg, libopus, librsvg
+, faacSupport ? false
+, faac ? null
+, faad2
+, libass
+, libkate
+, libmms
+, librdf
+, ladspaH
+, libnice
+, webrtc-audio-processing
+, lilv
+, lv2
+, serd
+, sord
+, sratom
+, libbs2b
+, libmodplug
+, mpeg2dec
+, openjpeg
+, libopus
+, librsvg
 , bluez
 , chromaprint
 , curl
+, darwin
 , directfb
 , fdk_aac
 , flite
@@ -27,7 +51,7 @@
 , libusb1
 , neon
 , openal
-, opencv3
+, opencv4
 , openexr
 , openh264
 , pango
@@ -38,10 +62,21 @@
 , srtp
 , zbar
 , wayland-protocols
-, wildmidi, fluidsynth, libvdpau, wayland
-, libwebp, xvidcore, gnutls, mjpegtools
-, libGLU_combined, libintl, libgme
-, openssl, x265, libxml2
+, wildmidi
+, fluidsynth
+, libvdpau
+, wayland
+, libwebp
+, xvidcore
+, gnutls
+, mjpegtools
+, libGLU
+, libGL
+, libintl
+, libgme
+, openssl
+, x265
+, libxml2
 , srt
 }:
 
@@ -49,113 +84,128 @@ assert faacSupport -> faac != null;
 
 let
   inherit (stdenv.lib) optional optionals;
-in
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Bad Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that aren't up to par compared to the
-      rest.  They might be close to being good quality, but they're missing
-      something - be it a good code review, some documentation, a set of tests,
-      a real live maintainer, or some actual wide use.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
-  preConfigure = ''
-    patchShebangs .
-  '';
+  src = fetchurl {
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi";
+  };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/99790eaad9083cce5ab2b1646489e1a1c0faad1e.patch";
-      sha256 = "11bqy4sl05qq5mj4bx5s09rq106s3j0vnpjl4np058im32j69lr3";
-    })
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/1872da81c48d3a719bd39955fd97deac7d037d74.patch";
-      sha256 = "11zwrr5ggflmvr0qfssj7dmhgd3ybiadmy79b4zh24022zgw3xpz";
-    })
   ];
 
-  src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-bad/${pname}-${version}.tar.xz";
-    sha256 = "019b0yqjrcg6jmfd4cc336h1bz5p4wxl58yz1c4sdb96avirs4r2";
-  };
-
-  outputs = [ "out" "dev" ];
-
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gettext gobject-introspection
-  ]
-  ++ optionals stdenv.isLinux [
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+  ] ++ optionals stdenv.isLinux [
     wayland-protocols
   ];
 
   buildInputs = [
-    gst-plugins-base orc
-    faad2 libass libkate libmms
-    libnice webrtc-audio-processing # webrtc
+    gst-plugins-base
+    orc
+    faad2
+    libass
+    libkate
+    libmms
+    webrtc-audio-processing # webrtc
     libbs2b
-    ladspaH librdf # ladspa plug-in
-    lilv lv2 serd sord sratom # lv2 plug-in
-    libmodplug mpeg2dec
-    openjpeg libopus librsvg
-    bluez
-    chromaprint
+    libmodplug
+    mpeg2dec
+    openjpeg
+    libopus
+    librsvg
     curl.dev
-    directfb
     fdk_aac
-    flite
     gsm
     libaom
     libdc1394
     libde265
-    libdrm
     libdvdnav
     libdvdread
-    libgudev
-    libofa
     libsndfile
     libusb1
+    mjpegtools
     neon
     openal
-    opencv3
+    opencv4
     openexr
     openh264
     rtmpdump
     pango
-    sbc
     soundtouch
-    spandsp
     srtp
-    fluidsynth libvdpau
-    libwebp xvidcore gnutls libGLU_combined
-    libgme openssl x265 libxml2
+    fluidsynth
+    libvdpau
+    libwebp
+    xvidcore
+    gnutls
+    libGL
+    libGLU
+    libgme
+    openssl
+    x265
+    libxml2
     libintl
     srt
-  ]
-    ++ optional enableZbar zbar
-    ++ optional faacSupport faac
-    ++ optional stdenv.isLinux wayland
+  ] ++ optionals enableZbar [
+    zbar
+  ] ++ optionals faacSupport [
+    faac
+  ] ++ optionals stdenv.isLinux [
+    bluez
+    wayland
+  ] ++ optionals (!stdenv.isDarwin) [
     # wildmidi requires apple's OpenAL
     # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
-    ++ optional (!stdenv.isDarwin) wildmidi
+    wildmidi
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
-    ++ optional (!stdenv.isDarwin) mjpegtools;
+    mjpegtools
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+    chromaprint
+    directfb
+    flite
+    libdrm
+    libgudev
+    libnice
+    libofa
+    librdf
+    sbc
+    spandsp
+
+    # ladspa plug-in
+    ladspaH
+    librdf # TODO: make build on Darwin
 
+    # lv2 plug-in
+    lilv
+    lv2
+    serd
+    sord
+    sratom
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    # For unknown reasons the order is important, e.g. if
+    # VideoToolbox is last, we get:
+    #     fatal error: 'VideoToolbox/VideoToolbox.h' file not found
+    VideoToolbox
+    AudioToolbox
+    AVFoundation
+    CoreMedia
+    CoreVideo
+    Foundation
+    MediaToolbox
+  ]);
+
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
 
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
@@ -191,10 +241,50 @@ stdenv.mkDerivation rec {
     # see https://github.com/NixOS/nixpkgs/issues/54395
     "-Dnvdec=disabled"
     "-Dnvenc=disabled"
+  ]
+  ++ optionals stdenv.isDarwin [
+    "-Dbluez=disabled"
+    "-Dchromaprint=disabled"
+    "-Ddirectfb=disabled"
+    "-Dflite=disabled"
+    "-Dkms=disabled" # renders to libdrm output
+    "-Dofa=disabled"
+    "-Dlv2=disabled"
+    "-Dsbc=disabled"
+    "-Dspandsp=disabled"
+    "-Ddvb=disabled"
+    "-Dfbdev=disabled"
+    "-Duvch264=disabled" # requires gudev
+    "-Dladspa=disabled" # requires lrdf
+    "-Dwebrtc=disabled" # requires libnice, which as of writing doesn't work on Darwin in nixpkgs
+    "-Dwildmidi=disabled" # see dependencies above
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    "-Dgl=disabled"]
+  ++ optionals (!gst-plugins-base.waylandEnabled) [
+    "-Dwayland=disabled"
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    # `applemedia/videotexturecache.h` requires `gst/gl/gl.h`,
+    # but its meson build system does not declare the dependency.
+    "-Dapplemedia=disabled"
   ];
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails 20 out of 58 tests, expensive
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Bad Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that aren't up to par compared to the
+      rest.  They might be close to being good quality, but they're missing
+      something - be it a good code review, some documentation, a set of tests,
+      a real live maintainer, or some actual wide use.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 81d91458132..178f6a1fe89 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,100 +1,158 @@
-{ stdenv, fetchurl, fetchpatch, lib
-, pkgconfig, meson, ninja, gettext, gobject-introspection
-, python3, gstreamer, orc, pango, libtheora
-, libintl, libopus
+{ stdenv
+, fetchurl
+, lib
+, pkgconfig
+, meson
+, ninja
+, gettext
+, gobject-introspection
+, python3
+, gstreamer
+, orc
+, pango
+, libtheora
+, libintl
+, libopus
 , isocodes
 , libjpeg
+, libpng
 , libvisual
 , tremor # provides 'virbisidec'
 , libGL
-, gtk-doc, docbook_xsl, docbook_xml_dtd_412
-, enableX11 ? stdenv.isLinux, libXv
-, enableWayland ? stdenv.isLinux, wayland
-, enableAlsa ? stdenv.isLinux, alsaLib
-, enableCocoa ? false, darwin
-, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, enableX11 ? stdenv.isLinux
+, libXv
+, enableWayland ? stdenv.isLinux
+, wayland
+, wayland-protocols
+, enableAlsa ? stdenv.isLinux
+, alsaLib
+# Enabling Cocoa seems to currently not work, giving compile
+# errors. Suspected is that a newer version than clang
+# is needed than 5.0 but it is not clear.
+, enableCocoa ? false
+, darwin
+, enableGl ? (enableX11 || enableWayland || enableCocoa)
+, enableCdparanoia ? (!stdenv.isDarwin)
+, cdparanoia
+}:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib; {
-    description = "Base plugins and helper libraries";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-base/${pname}-${version}.tar.xz";
-    sha256 = "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
 
   nativeBuildInputs = [
-    pkgconfig python3 gettext gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+
+    # docs
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
-  ]
-  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
-  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
-  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
 
-  # On Darwin, we currently use autoconf, on all other systems Meson
-  # TODO Switch to Meson on Darwin as well
+  buildInputs = [
+    orc
+    libtheora
+    libintl
+    libopus
+    isocodes
+    libpng
+    libjpeg
+    tremor
+    libGL
+  ] ++ lib.optional (!stdenv.isDarwin) [
+    libvisual
+  ] ++ lib.optionals stdenv.isDarwin [
+    pango
+    darwin.apple_sdk.frameworks.OpenGL
+  ] ++ lib.optionals enableAlsa [
+    alsaLib
+  ] ++ lib.optionals enableX11 [
+    libXv
+    pango
+  ] ++ lib.optionals enableWayland [
+    wayland
+    wayland-protocols
+  ] ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
 
-  # TODO How to pass these to Meson?
-  configureFlags = lib.optionals stdenv.isDarwin [
-    "--enable-x11=${if enableX11 then "yes" else "no"}"
-    "--enable-wayland=${if enableWayland then "yes" else "no"}"
-    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
-  ]
-  # Introspection fails on my MacBook currently
-  ++ lib.optional stdenv.isDarwin "--disable-introspection";
+  propagatedBuildInputs = [
+    gstreamer
+  ];
 
-  mesonFlags = lib.optionals (!stdenv.isDarwin) [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
     # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
-    "-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]"
+    "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
     # We must currently disable gtk_doc API docs generation,
     # because it is not compatible with some features being disabled.
     # See for example
-    #     https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/38
+    #     https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/564
     # for it failing because some Wayland symbols are missing.
     # This problem appeared between 1.15.1 and 1.16.0.
+    # In 1.18 they should switch to hotdoc, which should make this issue irrelevant.
     "-Dgtk_doc=disabled"
   ]
   ++ lib.optional (!enableX11) "-Dx11=disabled"
   # TODO How to disable Wayland?
+  ++ lib.optional (!enableGl) "-Dgl=disabled"
   ++ lib.optional (!enableAlsa) "-Dalsa=disabled"
   ++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
-  ;
-
-  buildInputs = [ orc libtheora libintl libopus isocodes libjpeg tremor libGL ]
-    ++ lib.optional (!stdenv.isDarwin) libvisual
-    ++ lib.optional enableAlsa alsaLib
-    ++ lib.optionals enableX11 [ libXv pango ]
-    ++ lib.optional enableWayland wayland
-    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
-    ++ lib.optional enableCdparanoia cdparanoia;
-
-  propagatedBuildInputs = [ gstreamer ];
+  ++ lib.optionals stdenv.isDarwin [
+    "-Dlibvisual=disabled"
+  ];
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs common/scangobj-merge.py
   '';
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails, wants DRI access for OpenGL
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
+  passthru = {
+    # Downstream `gst-*` packages depending on `gst-plugins-base`
+    # have meson build options like 'gl' etc. that depend
+    # on these features being built in `-base`.
+    # If they are not built here, then the downstream builds
+    # will fail, as they, too, use `-Dauto_features=enabled`
+    # which would enable these options unconditionally.
+    # That means we must communicate to these downstream packages
+    # if the `-base` enabled these options or not, so that
+    # the can enable/disable those features accordingly.
+    # The naming `*Enabled` vs `enable*` is intentional to
+    # distinguish inputs from outputs (what is to be built
+    # vs what was built) and to make them easier to search for.
+    glEnabled = enableGl;
+    waylandEnabled = enableWayland;
+  };
+
+  meta = with lib; {
+    description = "Base GStreamer plug-ins and helper libraries";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index f0f01a977fd..3dd7a547de9 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,10 +1,23 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, gettext, gobject-introspection
-, bison, flex, python3, glib, makeWrapper
-, libcap,libunwind, darwin
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, bison
+, flex
+, python3
+, glib
+, makeWrapper
+, libcap
+, libunwind
+, darwin
 , elfutils # for libdw
 , bash-completion
-, docbook_xsl, docbook_xml_dtd_412
+, docbook_xsl
+, docbook_xml_dtd_43
 , gtk-doc
 , lib
 , CoreServices
@@ -12,50 +25,66 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib ;{
-    description = "Open source multimedia framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ttuegel matthewbauer ];
-  };
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
-    sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73";
   };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
   ];
 
-  outputs = [ "out" "dev" ];
-  outputBin = "dev";
-
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    gettext
+    bison
+    flex
+    python3
+    makeWrapper
+    gobject-introspection
     bash-completion
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_43
   ];
 
-  buildInputs =
-       lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
-    ++ lib.optional stdenv.isDarwin CoreServices;
+  buildInputs = lib.optionals stdenv.isLinux [
+    libcap
+    libunwind
+    elfutils
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
+  ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
-  ]
+  ] ++ lib.optionals stdenv.isDarwin [
     # darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it.
-    ++ stdenv.lib.optionals stdenv.isDarwin [ "-Dlibunwind=disabled" "-Dlibdw=disabled" ];
+    "-Dlibunwind=disabled"
+    "-Dlibdw=disabled"
+  ];
+
+  postPatch = ''
+    patchShebangs \
+      gst/parse/get_flex_version.py \
+      gst/parse/gen_grammar.py.in \
+      gst/parse/gen_lex.py.in \
+      libs/gst/helpers/ptp_helper_post_install.sh
+  '';
 
   postInstall = ''
     for prog in "$dev/bin/"*; do
@@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preConfigure=
-    # These files are not executable upstream, so we need to
-    # make them executable for `patchShebangs` to pick them up.
-    # Can be removed when this is merged and available:
-    #     https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/141
-    ''
-      chmod +x gst/parse/get_flex_version.py
-    '' +
-    ''
-      patchShebangs .
-    '';
-
   preFixup = ''
     moveToOutput "share/bash-completion" "$dev"
   '';
 
   setupHook = ./setup-hook.sh;
+
+  meta = with lib ;{
+    description = "Open source multimedia framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
index b8c741af578..026a4e5f55a 100644
--- a/pkgs/development/libraries/gstreamer/core/setup-hook.sh
+++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
@@ -1,7 +1,7 @@
 addGstreamer1LibPath () {
     if test -d "$1/lib/gstreamer-1.0"
     then
-        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
+        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0-}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
     fi
 }
 
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 810cee650ca..6e9a604f794 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,39 +1,66 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, python, gst-plugins-base, libxml2
-, flex, perl, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, libxml2
+, flex
+, perl
+, gettext
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-editing-services";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Library for creation of audio/video non-linear editors";
-    homepage    = "https://gstreamer.freedesktop.org";
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-editing-services/${pname}-${version}.tar.xz";
-    sha256 = "1las94jkx83sxmzi5w6b0xm89dqqwzpdsb6h9w9ixndhnbpzm8w2";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    gobject-introspection
+    python
+    flex
+    perl
+  ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
+  buildInputs = [
+    libxml2
+  ];
 
-  propagatedBuildInputs = [ gst-plugins-base libxml2 ];
+  propagatedBuildInputs = [
+    gst-plugins-base
+  ];
 
   mesonFlags = [
     "-Dgtk_doc=disabled"
   ];
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   postPatch = ''
+    # for some reason, gst-plugins-bad cannot be found
+    # fortunately, they are only used by tests, which we do not run
     sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build
   '';
+
+  meta = with stdenv.lib; {
+    description = "Library for creation of audio/video non-linear editors";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index c801684b065..136dd1e1712 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -1,14 +1,37 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, bzip2, gettext
-, libv4l, libdv, libavc1394, libiec61883
-, libvpx, speex, flac, taglib, libshout
-, cairo, gdk-pixbuf, aalib, libcaca
-, libsoup, libpulseaudio, libintl
-, darwin, lame, mpg123, twolame
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, orc
+, bzip2
+, gettext
+, libv4l
+, libdv
+, libavc1394
+, libiec61883
+, libvpx
+, speex
+, flac
+, taglib
+, libshout
+, cairo
+, gdk-pixbuf
+, aalib
+, libcaca
+, libsoup
+, libpulseaudio
+, libintl
+, darwin
+, lame
+, mpg123
+, twolame
 , gtkSupport ? false, gtk3 ? null
-# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
-# In the fuure we should probably split `ffado`.
-, enableJack ? false
+  # As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
+  # In the future we should probably split `ffado`.
+, enableJack ? false, jack2
 , libXdamage
 , libXext
 , libXfixes
@@ -16,49 +39,53 @@
 , xorg
 , libgudev
 , wavpack
-, jack2
 }:
 
 assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optional optionals;
+  inherit (stdenv.lib) optionals;
 in
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Good Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that we consider to have good quality code,
-      correct functionality, our preferred license (LGPL for the plug-in
-      code, LGPL or LGPL-compatible for the supporting library).
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz";
-    sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0";
   };
 
-  outputs = [ "out" "dev" ];
-
   patches = [ ./fix_pkgconfig_includedir.patch ];
 
-  nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
-
-  NIX_LDFLAGS = "-lncurses";
+  nativeBuildInputs = [
+    pkgconfig
+    python
+    meson
+    ninja
+    gettext
+  ];
 
   buildInputs = [
-    gst-plugins-base orc bzip2
-    libdv libvpx speex flac taglib
-    cairo gdk-pixbuf aalib libcaca
-    libsoup libshout lame mpg123 twolame libintl
+    gst-plugins-base
+    orc
+    bzip2
+    libdv
+    libvpx
+    speex
+    flac
+    taglib
+    cairo
+    gdk-pixbuf
+    aalib
+    libcaca
+    libsoup
+    libshout
+    lame
+    mpg123
+    twolame
+    libintl
     libXdamage
     libXext
     libXfixes
@@ -66,29 +93,59 @@ stdenv.mkDerivation rec {
     xorg.libXfixes
     xorg.libXdamage
     wavpack
-  ]
-  ++ optional gtkSupport gtk3 # for gtksink
-  ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
-  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 libgudev ]
-  ++ optionals (stdenv.isLinux && enableJack) [
+  ] ++ optionals gtkSupport [
+    # for gtksink
+    gtk3
+  ] ++ optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+  ] ++ optionals stdenv.isLinux [
+    libv4l
+    libpulseaudio
+    libavc1394
+    libiec61883
+    libgudev
+  ] ++ optionals (stdenv.isLinux && enableJack) [
     jack2
   ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
-  ]
-  ++ optional (!gtkSupport) "-Dgtk3=disabled"
-  ++ optionals (!stdenv.isLinux || !enableJack) [
+  ] ++ optionals (!gtkSupport) [
+    "-Dgtk3=disabled"
+  ] ++ optionals (!stdenv.isLinux || !enableJack) [
     "-Djack=disabled" # unclear whether Jack works on Darwin
-  ]
-  ++ optionals (!stdenv.isLinux) [
-    "-Dv4l2-gudev=disabled"
+  ] ++ optionals (!stdenv.isLinux) [
+    "-Ddv1394=disabled" # Linux only
+    "-Doss4=disabled" # Linux only
+    "-Doss=disabled" # Linux only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+    "-Dv4l2-gudev=disabled" # Linux-only
+    "-Dv4l2=disabled" # Linux-only
+    "-Dximagesrc=disabled" # Linux-only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+  ];
+
+
+  NIX_LDFLAGS = [
+    # linking error on Darwin
+    # https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896
+    "-lncurses"
   ];
 
   # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
   doCheck = false;
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Good Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that we consider to have good quality code,
+      correct functionality, our preferred license (LGPL for the plug-in
+      code, LGPL or LGPL-compatible for the supporting library).
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index 5a942b49cc0..eed9d423fdb 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
+{ fetchurl, fetchpatch, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
 , libintl
 , ApplicationServices
@@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./gcc-4.9.patch
-    (fetchurl {
+    (fetchpatch {
       url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/f672277509705c4034bc92a141eefee4524d15aa.patch";
       name = "CVE-2019-9928.patch";
-      sha256 = "0hz3lsq3ppmaf329sbyi05y1qniqfj9vlp2f3z918383pvrcms4i";
+      sha256 = "1dlamsmyr7chrb6vqqmwikqvvqcx5l7k72p98448qm6k59ndnimc";
     })
   ];
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
index 65ce2611251..636e20b732b 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh
@@ -1,7 +1,7 @@
 addGstreamerLibPath () {
     if test -d "$1/lib/gstreamer-0.10"
     then
-        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
+        export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH-}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10"
     fi
 }
 
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 1847b8d0c12..e36eba37007 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,43 +1,46 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, python, yasm, gst-plugins-base, orc, bzip2
-, gettext, withSystemLibav ? true, libav ? null
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python3
+, gst-plugins-base
+, gettext
+, libav
 }:
 
 # Note that since gst-libav-1.6, libav is actually ffmpeg. See
 # https://gstreamer.freedesktop.org/releases/1.6/ for more info.
 
-assert withSystemLibav -> libav != null;
-
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.16.0";
-
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
-    sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = with stdenv.lib;
-    [ meson ninja gettext pkgconfig python ]
-    ++ optional (!withSystemLibav) yasm
-    ;
-
-  buildInputs = with stdenv.lib;
-    [ gst-plugins-base orc bzip2 ]
-    ++ optional withSystemLibav libav
-    ;
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python3
+  ];
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  buildInputs = [
+    gst-plugins-base
+    libav
   ];
 
+  meta = with lib; {
+    description = "FFmpeg/libav plugin for GStreamer";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 5c571fa4a1e..dfb18754c83 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,38 +1,50 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
 , gst-plugins-base
 , gst-plugins-bad
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.16.0";
-
-  meta = with stdenv.lib; {
-    description = "Gstreamer RTSP server";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a library on top of GStreamer for building an RTSP server.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ bkchr ];
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
-    sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0vn23nxwvs96g7gcxw5zbnw23hkhky8a8r42wq68411vgf1s41yy";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    pkgconfig
+  ];
 
-  buildInputs = [ gst-plugins-base gst-plugins-bad ];
+  buildInputs = [
+    gst-plugins-base
+    gst-plugins-bad
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
+
+  meta = with stdenv.lib; {
+    description = "GStreamer RTSP server";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      A library on top of GStreamer for building an RTSP server.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bkchr ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 552ab1ec292..870b4468860 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -1,53 +1,76 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, gettext
-, a52dec, libcdio, libdvdread
-, libmad, libmpeg2, x264, libintl, lib
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, orc
+, gettext
+, a52dec
+, libcdio
+, libdvdread
+, libmad
+, libmpeg2
+, x264
+, libintl
+, lib
 , opencore-amr
 , darwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.16.0";
+  version = "1.16.2";
 
-  meta = with lib; {
-    description = "Gstreamer Ugly Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that have good quality and correct functionality,
-      but distributing them might pose problems.  The license on either
-      the plug-ins or the supporting libraries might not be how we'd
-      like. The code might be widely known to present patent problems.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-ugly/${pname}-${version}.tar.xz";
-    sha256 = "1hm46c1fy9vl1wfwipsj41zp79cm7in1fpmjw24j5hriy32n82g3";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m";
   };
 
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python
+  ];
 
   buildInputs = [
-    gst-plugins-base orc
-    a52dec libcdio libdvdread
-    libmad libmpeg2 x264
+    gst-plugins-base
+    orc
+    a52dec
+    libcdio
+    libdvdread
+    libmad
+    libmpeg2
+    x264
     libintl
     opencore-amr
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
-    [ IOKit CoreFoundation DiskArbitration ]);
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    IOKit
+    CoreFoundation
+    DiskArbitration
+  ]);
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
   ];
 
-  NIX_LDFLAGS = [ "-lm" ];
+  meta = with lib; {
+    description = "Gstreamer Ugly Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that have good quality and correct functionality,
+      but distributing them might pose problems.  The license on either
+      the plug-ins or the supporting libraries might not be how we'd
+      like. The code might be widely known to present patent problems.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index adb495689e3..cac56f64cc9 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,49 +1,72 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
-, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
-, libvpx, python, fetchpatch
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gst-plugins-base
+, bzip2
+, libva
+, wayland
+, libdrm
+, udev
+, xorg
+, libGLU
+, libGL
+, gstreamer
+, gst-plugins-bad
+, nasm
+, libvpx
+, python
 }:
 
 stdenv.mkDerivation rec {
-  pname = "gst-vaapi";
-  version = "1.16.0";
+  pname = "gstreamer-vaapi";
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "00f6sx700qm1ximi1ag2c27m35dywwhhg6awhz85va34mfqff78r";
   };
 
-  patches = [
-    # See: https://mail.gnome.org/archives/distributor-list/2019-September/msg00000.html
-    # Note that the patch has now been actually accepted upstream.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/commit/a90daabb84f983d2fa05ff3159f7ad59aa648b55.patch";
-      sha256 = "0p2qygq6b5h6nxjdfnlzbsyih43hjq5c94ag8sbyyb8pmnids9rb";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    bzip2
+  ];
 
   buildInputs = [
-    gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
-    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
-    xorg.libICE libGLU_combined nasm libvpx python
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    libva
+    wayland
+    libdrm
+    udev
+    xorg.libX11
+    xorg.libXext
+    xorg.libXv
+    xorg.libXrandr
+    xorg.libSM
+    xorg.libICE
+    libGL
+    libGLU
+    nasm
+    libvpx
+    python
   ];
 
-  preConfigure = ''
-    export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
-    mkdir -p $GST_PLUGIN_PATH_1_0
-  '';
-
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  meta = with stdenv.lib; {
+    description = "Set of VAAPI GStreamer Plug-ins";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index ad013d1570e..9439ddd94e8 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -1,39 +1,43 @@
-{ stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
-, python, gobject-introspection, json-glib
+{ stdenv
+, fetchurl
+, pkgconfig
+, gstreamer
+, gst-plugins-base
+, python
+, gobject-introspection
+, json-glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-validate";
-  version = "1.16.0";
-
-  meta = {
-    description = "Integration testing infrastructure for the GStreamer framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-validate/${pname}-${version}.tar.xz";
-    sha256 = "1jfnd0g9hmdbqfxsx96yc9vpf1w6m33hqwrr6lj4i83kl54awcck";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1jpfrzg3yc6kp66bgq3jy14xsj3x71mk2zh0k16yf0326awwqqa8";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    pkgconfig gobject-introspection
+    pkgconfig
+    gobject-introspection
   ];
 
   buildInputs = [
-    python json-glib
+    python
+    json-glib
   ];
 
-  propagatedBuildInputs = [ gstreamer gst-plugins-base ];
-
-  enableParallelBuilding = true;
-
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  propagatedBuildInputs = [
+    gstreamer
+    gst-plugins-base
   ];
+
+  meta = with stdenv.lib; {
+    description = "Integration testing infrastructure for the GStreamer framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index 5fecd45b7da..4326be59724 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gtest";
-  version = "1.8.1";
+  version = "1.10.0";
 
   outputs = [ "out" "dev" ];
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "google";
     repo = "googletest";
     rev = "release-${version}";
-    sha256 = "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk";
+    sha256 = "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz";
   };
 
   patches = [
diff --git a/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
index 99ca221f5ba..99ca221f5ba 100644
--- a/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix
+++ b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
diff --git a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix b/pkgs/development/libraries/gtk-engine-murrine/default.nix
index 9acb7b25a0d..9acb7b25a0d 100644
--- a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
+++ b/pkgs/development/libraries/gtk-engine-murrine/default.nix
diff --git a/pkgs/misc/themes/gtk2/gtk-engines/default.nix b/pkgs/development/libraries/gtk-engines/default.nix
index 2f56f6eb4c5..2f56f6eb4c5 100644
--- a/pkgs/misc/themes/gtk2/gtk-engines/default.nix
+++ b/pkgs/development/libraries/gtk-engines/default.nix
diff --git a/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh b/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh
index 8f2cb8a334a..f28a856c4f5 100644
--- a/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh
+++ b/pkgs/development/libraries/gtk/hooks/drop-icon-theme-cache.sh
@@ -16,4 +16,4 @@ dropIconThemeCache() {
     fi
 }
 
-preFixupPhases="$preFixupPhases dropIconThemeCache"
+preFixupPhases="${preFixupPhases-} dropIconThemeCache"
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 54b4b001d81..b68c814ad54 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Word-processor-style highlighting GtkTextView widget";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 181d5e4c196..f8db6f573d9 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.42.1";
+  version = "1.42.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c3pqc8qc2pn08by43rkkmk725k3cqmw7qyhfqgng0qx98dhf1lx";
+    sha256 = "0jgrbid8a61hgh05wl8c4f4638x7dffd5vip02jmladxfdszjymm";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 361ac4f27aa..42f68eea83f 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "2.6.2";
+  version = "2.6.4";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz";
-    sha256 = "097ncrkaawdzpgwlrpp4kwciq4z5pqz2n4f3yra5vc7jyxr6lk1v";
+    sha256 = "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index a8dcea0059a..f2f8cdcab20 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     license = with licenses; [ gpl2 lgpl21 mpl11 ];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/hyphen/default.nix b/pkgs/development/libraries/hyphen/default.nix
new file mode 100644
index 00000000000..9f30ff54823
--- /dev/null
+++ b/pkgs/development/libraries/hyphen/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl, ... }:
+
+let
+  version = "2.8.8";
+  folder = with builtins;
+    let parts = splitVersion version;
+    in concatStringsSep "." [ (elemAt parts 0) (elemAt parts 1) ];
+in stdenv.mkDerivation rec {
+  pname = "hyphen";
+  inherit version;
+
+  nativeBuildInputs = [ perl ];
+
+  src = fetchurl {
+    url =
+      "https://sourceforge.net/projects/hunspell/files/Hyphen/${folder}/${pname}-${version}.tar.gz";
+    sha256 = "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A text hyphenation library";
+    homepage = "https://sourceforge.net/projects/hunspell/files/Hyphen/";
+    platforms = platforms.all;
+    license = with licenses; [ gpl2 lgpl21 mpl11 ];
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix
index 0a8cb7d4684..47ca63fca99 100644
--- a/pkgs/development/libraries/icu/base.nix
+++ b/pkgs/development/libraries/icu/base.nix
@@ -63,10 +63,16 @@ let
     # remove dependency on bootstrap-tools in early stdenv build
     postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
       sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
-    '' + ''
+    '' + (let
+      replacements = [
+        { from = "\${prefix}/include"; to = "${placeholder "dev"}/include"; } # --cppflags-searchpath
+        { from = "\${pkglibdir}/Makefile.inc"; to = "${placeholder "dev"}/lib/icu/Makefile.inc"; } # --incfile
+        { from = "\${pkglibdir}/pkgdata.inc"; to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; } # --incpkgdatafile
+      ];
+    in ''
       substituteInPlace "$dev/bin/icu-config" \
-        --replace \''${pkglibdir}/Makefile.inc "$dev/lib/icu/Makefile.inc"
-    '';
+        ${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements}
+    '');
 
     postFixup = ''moveToOutput lib/icu "$dev" '';
   };
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 5cc0f7c1f46..a25a590b370 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which }:
+{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which,
+  fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "ilmbase";
@@ -21,7 +22,17 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = [ "-pthread" ];
 
-  patches = [ ./bootstrap.patch ./cross.patch ];
+  patches = [
+    ./bootstrap.patch
+    ./cross.patch
+    (fetchpatch {
+      name = "CVE-2018-18443.patch";
+      url = "https://github.com/kdt3rd/openexr/commit/5fa930b82cff2db386c64ca512af19e60c14d32a.patch";
+      sha256 = "1j6xd0qkx99acc1szycxaj0wwp01yac67jz48hwc4fwwpz8blx4s";
+      stripLen = 1;
+      excludes = [ "CHANGES.md" ];
+    })
+  ];
 
   # fails 1 out of 1 tests with
   # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
@@ -29,6 +40,7 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.isx86_64;
 
   meta = with stdenv.lib; {
+    description = " A library for 2D/3D vectors and matrices and other mathematical objects, functions and data types for computer graphics";
     homepage = https://www.openexr.com/;
     license = licenses.bsd3;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/incrtcl/default.nix b/pkgs/development/libraries/incrtcl/default.nix
index f74477eab38..e7f575b04be 100644
--- a/pkgs/development/libraries/incrtcl/default.nix
+++ b/pkgs/development/libraries/incrtcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "incrtcl";
-  version = "4.0.4";
+  version = "4.2.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz;
-    sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3";
+    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.2.0.tar.gz;
+    sha256 = "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw";
   };
 
   buildInputs = [ tcl ];
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 6657409a708..6c872272e37 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "19.3.2";
+  version = "19.3.4";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "04jmzyciswvfb31h9shkja9183bmm1clw0l0sn1flq76888nngma";
+    sha256 = "1vgh14vdmwr34l6rfzmbpsdwp4xi7qp8lg527p16pm7nv0bwx2zk";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 731289d6f9c..49375830ccb 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "19.3.0";
+  version = "19.3.1";
 
   src = fetchurl {
     url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz";
-    sha256 = "0pgg16a4gsh8yjyz64r28bmkg9xxcy8m0dkvrdz03svkll9v7v3n";
+    sha256 = "12w1f3krcrjyhax4y3hbs7galhf4rabxym2fxjyil8cszx5fh433";
   };
 
   # patchelf is needed for binaries in $out/share/samples
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Intel Media SDK.";
     license = licenses.mit;
     maintainers = with maintainers; [ midchildan ];
-    platforms = with platforms; linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 35ef14cbc13..788772888c6 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, libGLU_combined, unzip, libXrandr, libX11, libXxf86vm }:
+{ stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }:
 
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib
   '';
 
-  buildInputs = [ unzip libGLU_combined libXrandr libX11 libXxf86vm ];
+  buildInputs = [ unzip libGLU libGL libXrandr libX11 libXxf86vm ];
 
   meta = {
     homepage = http://irrlicht.sourceforge.net/;
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 1bad3394b6a..093fd0c5f28 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -42,5 +42,10 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.jasper;
     maintainers = with maintainers; [ pSub ];
+    knownVulnerabilities = [
+      "Numerous CVE unsolved upstream"
+      "See: https://github.com/NixOS/nixpkgs/pull/57681#issuecomment-475857499"
+      "See: https://github.com/mdadams/jasper/issues/208"
+    ];
   };
 }
diff --git a/pkgs/development/libraries/java/hsqldb/builder.sh b/pkgs/development/libraries/java/hsqldb/builder.sh
deleted file mode 100755
index d7de23ab95e..00000000000
--- a/pkgs/development/libraries/java/hsqldb/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-unzip $src
-cd hsqldb*
-mkdir -p $out
-cp -R * $out/
diff --git a/pkgs/development/libraries/java/hsqldb/default.nix b/pkgs/development/libraries/java/hsqldb/default.nix
index a478ab0fc50..d9139ec1d82 100644
--- a/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/pkgs/development/libraries/java/hsqldb/default.nix
@@ -1,19 +1,37 @@
-{ stdenv, fetchurl, unzip
-}:
+{ stdenv, fetchurl, unzip, makeWrapper, jre }:
 
-stdenv.mkDerivation {
-  name = "hsqldb-2.4.0";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "hsqldb";
+  version = "2.5.0";
+  underscoreMajMin = stdenv.lib.strings.replaceChars ["."] ["_"] (stdenv.lib.versions.majorMinor version);
 
   src = fetchurl {
-    url = mirror://sourceforge/hsqldb/hsqldb_1_8_0_9.zip;
-    sha256 = "1v5dslwsqb7csjmi5g78pghsay2pszidvlzhyi79y18mra5iv3g9";
+    url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip";
+    sha256 = "0s64w7qq5vayrzcmdhrdfmd6iqqv6x6fpiq9lpy2gva3dckv3q6j";
   };
 
-  buildInputs = [ unzip
-  ];
+  nativeBuildInputs = [ unzip makeWrapper ];
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib $out/bin
+    cp -R hsqldb/lib/*.jar $out/lib
+
+    makeWrapper ${jre}/bin/java $out/bin/hsqldb --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server"
+    makeWrapper ${jre}/bin/java $out/bin/runServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server"
+    makeWrapper ${jre}/bin/java $out/bin/runManagerSwing --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing"
+    makeWrapper ${jre}/bin/java $out/bin/runWebServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.WebServer"
+    makeWrapper ${jre}/bin/java $out/bin/runManager --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManager"
+    makeWrapper ${jre}/bin/java $out/bin/sqltool --add-flags "-jar $out/lib/sqltool.jar"
+
+   runHook postInstall
+  '';
 
   meta = with stdenv.lib; {
+    homepage = "http://hsqldb.org";
+    description = "A relational, embedable database management system written in Java and a set of related tools";
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index e28925c65bb..d5f8ac217f3 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
   };
 
   meta = {
+    description = "A XMPP (Jabber) client library for instant messaging and presence";
+    homepage = "http://www.igniterealtime.org/projects/smack/";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.asl20;
   };
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index a93d7774291..6eb5a1f5355 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2
-, libXt, libXtst, libXi, libGLU_combined, webkitgtk, libsoup, xorg
+, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg
 , pango, gdk-pixbuf, glib
 }:
 
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   nativeBuildInputs = [ unzip pkgconfig ];
-  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU_combined webkitgtk libsoup ];
+  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ];
 
   NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) ++
     [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ];
diff --git a/pkgs/development/libraries/jbig2dec/default.nix b/pkgs/development/libraries/jbig2dec/default.nix
index 31c9c89d96f..35fbdfe488a 100644
--- a/pkgs/development/libraries/jbig2dec/default.nix
+++ b/pkgs/development/libraries/jbig2dec/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "jbig2dec-0.16";
+  name = "jbig2dec-0.17";
 
   src = fetchurl {
-    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/${name}.tar.gz";
-    sha256 = "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4";
+    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs950/${name}.tar.gz";
+    sha256 = "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/jitterentropy/default.nix b/pkgs/development/libraries/jitterentropy/default.nix
index f6a70deb8c2..ddf4ba62169 100644
--- a/pkgs/development/libraries/jitterentropy/default.nix
+++ b/pkgs/development/libraries/jitterentropy/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
 
   preInstall = ''
     mkdir -p $out/include
+    substituteInPlace Makefile \
+      --replace "install -m 0755 -s" \
+                'install -m 0755 -s --strip-program $(STRIP)'
   '';
 
   installFlags = [
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index c62f1e2de3f..72158e186ac 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,14 +1,14 @@
-{ stdenv , fetchFromGitHub , cmake , python }:
+{ stdenv, fetchFromGitHub, cmake, python, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "jsoncpp";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "open-source-parsers";
     repo = "jsoncpp";
     rev = version;
-    sha256 = "00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj";
+    sha256 = "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg";
   };
 
   /* During darwin bootstrap, we have a cp that doesn't understand the
@@ -30,6 +30,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake python ];
 
+  # fix inverted sense in isAnyCharRequiredQuoting on aarch64. See: https://github.com/open-source-parsers/jsoncpp/pull/1120
+  patches = stdenv.lib.optionals stdenv.isAarch64 [
+    (fetchpatch {
+      url = "https://github.com/open-source-parsers/jsoncpp/commit/9093358efae9e5981aa60013487fc7215f040a59.patch";
+      sha256 = "1wiqp70sck2md14sfc0zdkblqk9750cl55ykf9d6b9vs1ifzzzq5";
+     })
+  ];
+
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DBUILD_STATIC_LIBS=OFF"
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index ef1171b1760..d18dea1c381 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -42,13 +42,13 @@ let
       propagate = out:
         let setupHook = { writeScript }:
               writeScript "setup-hook" ''
-                if [ "$hookName" != postHook ]; then
+                if [ "''${hookName:-}" != postHook ]; then
                     postHooks+=("source @dev@/nix-support/setup-hook")
                 else
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "''${outputDev:?}" != out ]; then
-                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
+                        propagatedBuildInputs="''${propagatedBuildInputs-} @dev@"
                     fi
                 fi
               '';
@@ -97,6 +97,7 @@ let
       breeze-icons = callPackage ./breeze-icons.nix {};
       kapidox = callPackage ./kapidox.nix {};
       karchive = callPackage ./karchive.nix {};
+      kcalendarcore = callPackage ./kcalendarcore.nix {};
       kcodecs = callPackage ./kcodecs.nix {};
       kconfig = callPackage ./kconfig.nix {};
       kcoreaddons = callPackage ./kcoreaddons.nix {};
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 35982e86628..4135f6bfd7a 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -42,12 +42,12 @@ ecmPostHook() {
     cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg"
     cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart"
 
-    if [ -n "$qtPluginPrefix" ]; then
+    if [ -n "${qtPluginPrefix-}" ]; then
         cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix"
         cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix"
     fi
 
-    if [ -n "$qtQmlPrefix" ]; then
+    if [ -n "${qtQmlPrefix-}" ]; then
         cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix"
     fi
 }
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index f06a515a83b..c76ff9fb2c8 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.62/ )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.64/ )
diff --git a/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix b/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
new file mode 100644
index 00000000000..e0b6c5313bb
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
@@ -0,0 +1,16 @@
+{
+  mkDerivation,
+  lib,
+  extra-cmake-modules,
+  libical
+}:
+
+mkDerivation {
+  name = "kcalendarcore";
+  meta = {
+    maintainers = [ lib.maintainers.nyanloutre ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ libical ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix
index 3b9ca74bbd0..69ad2fbc737 100644
--- a/pkgs/development/libraries/kde-frameworks/ki18n.nix
+++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules, gettext, python,
+  extra-cmake-modules, gettext, python3,
   qtbase, qtdeclarative, qtscript,
 }:
 
@@ -11,6 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedNativeBuildInputs = [ gettext python ];
+  propagatedNativeBuildInputs = [ gettext python3 ];
   buildInputs = [ qtdeclarative qtscript ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 6cf89669df0..fee21a6a923 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -20,5 +20,6 @@ mkDerivation {
     kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
     kxmlgui qtbase qttools solid
   ];
+  outputs = [ "out" "dev" ];
   patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
index 7c86454c5cf..27501732210 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
@@ -1,17 +1,19 @@
-diff --git a/src/pluginwrapper.cpp b/src/pluginwrapper.cpp
-index 8e6298a..210989a 100644
---- a/src/pluginwrapper.cpp
-+++ b/src/pluginwrapper.cpp
-@@ -37,14 +37,10 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapper, s_pluginWrapper)
+Index: kwindowsystem-5.64.0/src/pluginwrapper.cpp
+===================================================================
+--- kwindowsystem-5.64.0.orig/src/pluginwrapper.cpp
++++ kwindowsystem-5.64.0/src/pluginwrapper.cpp
+@@ -37,16 +37,10 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp
  static QStringList pluginCandidates()
  {
      QStringList ret;
--    foreach (const QString &path, QCoreApplication::libraryPaths()) {
+-    const auto paths = QCoreApplication::libraryPaths();
+-    for (const QString &path : paths) {
 -        QDir pluginDir(path + QLatin1String("/kf5/org.kde.kwindowsystem.platforms"));
 -        if (!pluginDir.exists()) {
 -            continue;
 -        }
--        foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) {
+-        const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
+-        for (const QString &entry : entries) {
 -            ret << pluginDir.absoluteFilePath(entry);
 -        }
 +    QDir pluginDir(QLatin1String(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 6a7c7bc0c9c..32edca38710 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,651 @@
 
 {
   attica = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/attica-5.62.0.tar.xz";
-      sha256 = "86b5388c93dd3375dbdca23b20d539af5ed9516f6a573e32549baac3200d029f";
-      name = "attica-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/attica-5.64.0.tar.xz";
+      sha256 = "c9b060693656a458f92905091e12d800be020abbf47bb68b9f769a191aa368d9";
+      name = "attica-5.64.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/baloo-5.62.0.tar.xz";
-      sha256 = "454e6808a5fe523785e5e67b7c0453fd1b6c42035aaf8084c39ad30bcbbc8d1a";
-      name = "baloo-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/baloo-5.64.0.tar.xz";
+      sha256 = "adaaef1aeec07ccc210210a2e67f4d12c0275226bb05d0220da0281f1a3984c2";
+      name = "baloo-5.64.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/bluez-qt-5.62.0.tar.xz";
-      sha256 = "545a6c76042a077f04b0a6c2b8dfbe3b5b1a582edaae4454d7a57c06ab033715";
-      name = "bluez-qt-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/bluez-qt-5.64.0.tar.xz";
+      sha256 = "7d6c7ba913cea6059327726325b8af4cf2baa7594b8be3143e0649eaa36f8384";
+      name = "bluez-qt-5.64.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/breeze-icons-5.62.0.tar.xz";
-      sha256 = "5858100f1a87dc865f44cde159aaee025ec46f894f544c75086ea0e8f9555951";
-      name = "breeze-icons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/breeze-icons-5.64.0.tar.xz";
+      sha256 = "08c2f7efc5f1550668dd2e0cff1641b1b6ec8a91f01614ee14c6abc4d975672f";
+      name = "breeze-icons-5.64.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/extra-cmake-modules-5.62.0.tar.xz";
-      sha256 = "e07acfecef1b4c7a481a253b58b75072a4f887376301108ed2c753b5002adcd4";
-      name = "extra-cmake-modules-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/extra-cmake-modules-5.64.0.tar.xz";
+      sha256 = "1865efc6254bed44e0a6918c5af3da62be4008ba7a197a47f35251f298041a69";
+      name = "extra-cmake-modules-5.64.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/frameworkintegration-5.62.0.tar.xz";
-      sha256 = "0d43d6cd008359eac4840c8b6e12d2b17eeb53c95111af1f7e8ca6ae8e6aca2c";
-      name = "frameworkintegration-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/frameworkintegration-5.64.0.tar.xz";
+      sha256 = "6c1880f8300a014bb835ce29fd68651bfd38400de8044fe5914cb4392df48a26";
+      name = "frameworkintegration-5.64.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kactivities-5.62.0.tar.xz";
-      sha256 = "b466b8921adad6d887f93f760634dfa344ae52df83c58dd7ae75174961def85b";
-      name = "kactivities-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kactivities-5.64.0.tar.xz";
+      sha256 = "5afbd0785c04127c91f1ad7402c95ce3f994fb94b216baf56cd802a3a230a3f9";
+      name = "kactivities-5.64.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kactivities-stats-5.62.0.tar.xz";
-      sha256 = "e6850a59d2e3dd566c77aa2b2fdc684737634b59755dcc7de231b8b496acbc1a";
-      name = "kactivities-stats-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kactivities-stats-5.64.0.tar.xz";
+      sha256 = "ca1c07b1250735372a4f6aa6b493536d420a902de0d7a8c9777b437fb6ab0bf9";
+      name = "kactivities-stats-5.64.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kapidox-5.62.0.tar.xz";
-      sha256 = "6aa3928b26acc23f5271ba0591d64a55c342e36ae16094e09be1ef038538952f";
-      name = "kapidox-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kapidox-5.64.0.tar.xz";
+      sha256 = "f75eedfa1af51f5224b14d8bc4c229c2c2d27f607e00172d24bdcede1c899fb4";
+      name = "kapidox-5.64.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/karchive-5.62.0.tar.xz";
-      sha256 = "99980ebdc16dd9ac062fcfda0974c0ce894c09a395caf914518646ffdc48e3ca";
-      name = "karchive-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/karchive-5.64.0.tar.xz";
+      sha256 = "135fbfb2dfe107e4487723a5f887d1d074e13258a4583d592639366094aafe1a";
+      name = "karchive-5.64.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kauth-5.62.0.tar.xz";
-      sha256 = "31162621200df4b927719e34ce62004c51e79b9d785f9c3056c6902f80eeefe6";
-      name = "kauth-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kauth-5.64.0.tar.xz";
+      sha256 = "ac95525bf1430868c8f54dbdc986478cf7b21192ad3b486381485b429eadddcc";
+      name = "kauth-5.64.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kbookmarks-5.62.0.tar.xz";
-      sha256 = "69318784fa5feaee3e60bb159fb6c827475a8ce28a74bedf5939ad592c29ea4f";
-      name = "kbookmarks-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kbookmarks-5.64.0.tar.xz";
+      sha256 = "51343a57b50032d60ffae123f426cdd67cd290ce306ae494c1956d0b899d4ff2";
+      name = "kbookmarks-5.64.0.tar.xz";
+    };
+  };
+  kcalendarcore = {
+    version = "5.64.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.64/kcalendarcore-5.64.0.tar.xz";
+      sha256 = "983f240a7478a780dc403d577827f027856f9f67e8c3bfe8b69d56093e5bb80e";
+      name = "kcalendarcore-5.64.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kcmutils-5.62.0.tar.xz";
-      sha256 = "93fd9b7b97cb4488f2007a4f518159129f0caafc05a004be56c87dd355870b1b";
-      name = "kcmutils-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcmutils-5.64.0.tar.xz";
+      sha256 = "f55938c566669e9fcdd786ebfd89edfc11b0c283532aed04cfe4162b58a8b649";
+      name = "kcmutils-5.64.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kcodecs-5.62.0.tar.xz";
-      sha256 = "1b015be0200444f1ce18ecc5c05dbafde62575a8e094e48698b4b64f43f307b1";
-      name = "kcodecs-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcodecs-5.64.0.tar.xz";
+      sha256 = "24cbffb123179cf4386500ae7bc7c99f65c4422cd7b91f314152f11cd596402a";
+      name = "kcodecs-5.64.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kcompletion-5.62.0.tar.xz";
-      sha256 = "af774190ca1a0e4d335485548d6e5c1e02042a5d0e29a3c0db17c24e3656edec";
-      name = "kcompletion-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcompletion-5.64.0.tar.xz";
+      sha256 = "4fe5b9254e038e654d55167163b2812582f31fe550c977979d692b69424c2508";
+      name = "kcompletion-5.64.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kconfig-5.62.0.tar.xz";
-      sha256 = "fffe16924245e34d6267e67a6d425dc7b4fdab405968bffa4fff7bea5779bb51";
-      name = "kconfig-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kconfig-5.64.0.tar.xz";
+      sha256 = "112c1db9f038dbacf357d08645c83ca103d8c3e7fb0c880ac16f665fdf7d9157";
+      name = "kconfig-5.64.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.62.0";
+    version = "5.64.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.64/kconfigwidgets-5.64.0.tar.xz";
+      sha256 = "e84d590c064f2a86d5b9d2fb5d8aa7abc8ac8752125f5d3197cca6dc7e115c56";
+      name = "kconfigwidgets-5.64.0.tar.xz";
+    };
+  };
+  kcontacts = {
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kconfigwidgets-5.62.0.tar.xz";
-      sha256 = "6c10810725e0b109c96ddc2246ca1741bcae012296e31caf7b41167a04ae31d6";
-      name = "kconfigwidgets-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcontacts-5.64.0.tar.xz";
+      sha256 = "0bf0a1ba6ebedd400bed7a490093962cde6a2b26c49627d6770a71524db63058";
+      name = "kcontacts-5.64.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kcoreaddons-5.62.0.tar.xz";
-      sha256 = "3819e2792a2e61444e337cd1a4cbdc362c18810918376eefc30b203fbd160b41";
-      name = "kcoreaddons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcoreaddons-5.64.0.tar.xz";
+      sha256 = "3f0cb3273debf9791dda3f1ad135b6b1a20d88fed1e21890c4b70bac64fdb188";
+      name = "kcoreaddons-5.64.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kcrash-5.62.0.tar.xz";
-      sha256 = "9fac9396212148aade4b59665ec1725fa76e229f24c46b601f066e0026eddd2c";
-      name = "kcrash-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kcrash-5.64.0.tar.xz";
+      sha256 = "9e9ad5e7a6a3e9a128128a7863204f8c4a555bd8659d8ed4ef4cc6bb2fc48290";
+      name = "kcrash-5.64.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kdbusaddons-5.62.0.tar.xz";
-      sha256 = "d32e0b16abcb2b1593a567b0ef12cfb94ec2f08e5b8a3ec56efac19b22ca0152";
-      name = "kdbusaddons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdbusaddons-5.64.0.tar.xz";
+      sha256 = "74a6eb443a74eb74a859238b555a3b16be1d6367c4db2a7af5b16da528d57f62";
+      name = "kdbusaddons-5.64.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kdeclarative-5.62.0.tar.xz";
-      sha256 = "804bc6dd1848fe38b9160a680f3d9f9b67d47150ee9683b3d2c5a07b96a12e46";
-      name = "kdeclarative-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdeclarative-5.64.0.tar.xz";
+      sha256 = "1bf199aebabe63880babc364572de44f6b0a94ffbbffd955bc85916c2be7701d";
+      name = "kdeclarative-5.64.0.tar.xz";
     };
   };
   kded = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kded-5.62.0.tar.xz";
-      sha256 = "d2d7a979114ca770442cec0f89fe87730ff0c44b98ee64b39c2cada672fc03b1";
-      name = "kded-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kded-5.64.0.tar.xz";
+      sha256 = "2e8bda93918ac174254c8f70a71c9d6966a4721e14a631760e1b912d108001be";
+      name = "kded-5.64.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kdelibs4support-5.62.0.tar.xz";
-      sha256 = "9cc10b4727b8ee3bae46af796e7da5d6ae620c543278814176a389ea178595ed";
-      name = "kdelibs4support-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdelibs4support-5.64.0.tar.xz";
+      sha256 = "8c9e23e0e22ccec8b46b4c4b160adb8c8765c1dc308bf297f6f72ccc97c7b682";
+      name = "kdelibs4support-5.64.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kdesignerplugin-5.62.0.tar.xz";
-      sha256 = "b5c0769d0b1df99f456c3c6f22a48e8bdf9c15f00be2e0795ae5bc5170596e47";
-      name = "kdesignerplugin-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdesignerplugin-5.64.0.tar.xz";
+      sha256 = "1ca638ec822d9882f4a865d599ce8ad94785fa890ce73bccd5e78210c4a3d95b";
+      name = "kdesignerplugin-5.64.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kdesu-5.62.0.tar.xz";
-      sha256 = "9c22ad0a5c1d948a91846a34066155f64758b69ab005eb423bb02ba06301c80e";
-      name = "kdesu-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdesu-5.64.0.tar.xz";
+      sha256 = "f4644b0ee91c55473589909c20a7fa1cfbd3d466f1c72b330d53871a2346d4f0";
+      name = "kdesu-5.64.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kdewebkit-5.62.0.tar.xz";
-      sha256 = "5e45a7866b28d69e6d28f821011c020e53cc6e5b59bcdb7a5d9cb7bda37175e4";
-      name = "kdewebkit-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kdewebkit-5.64.0.tar.xz";
+      sha256 = "882801a1fd944b08918cb7d9341985e4330e7adac00ae4e6dddcea5343393ac1";
+      name = "kdewebkit-5.64.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kdnssd-5.62.0.tar.xz";
-      sha256 = "21554c6faf2f7136fb8f7a2908340c120ed0d5dc1475f5aeb8cafed1e4228009";
-      name = "kdnssd-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdnssd-5.64.0.tar.xz";
+      sha256 = "92d9a4947c45e56ea15e417eaf87121b4b3a4f1f81dfd154d2ee968a9797f46b";
+      name = "kdnssd-5.64.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kdoctools-5.62.0.tar.xz";
-      sha256 = "471ce5106f80af7272d2ea54265bde5a833c8de7716e8bd82f7a5742939c3f48";
-      name = "kdoctools-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kdoctools-5.64.0.tar.xz";
+      sha256 = "3e669c9bdf8822c262d834a9fbe9250ffdc91ea49c916b2c16ac8483b62f8fce";
+      name = "kdoctools-5.64.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kemoticons-5.62.0.tar.xz";
-      sha256 = "fab145b2c4106be8a4f0024cb436d02d0fdcbf8666e9a790cc1cd98db1e70313";
-      name = "kemoticons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kemoticons-5.64.0.tar.xz";
+      sha256 = "0b586957bfe26ce0fe44eca305992f99e3c31fbeb19a9d369c4abfdf9cc0400f";
+      name = "kemoticons-5.64.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kfilemetadata-5.62.0.tar.xz";
-      sha256 = "2d8488500b19a7d8f90712775e0353e16957857a89162d6c7b947dd5536245b0";
-      name = "kfilemetadata-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kfilemetadata-5.64.0.tar.xz";
+      sha256 = "4b581e4d659defe4db595a984ed4c037bc80e0bf7b298ec79e6aa5061fa56e23";
+      name = "kfilemetadata-5.64.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kglobalaccel-5.62.0.tar.xz";
-      sha256 = "b087ec1a23a50787d27e8c5d618d4097375a2f7b6188bc9077a5e60d11e2c04d";
-      name = "kglobalaccel-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kglobalaccel-5.64.0.tar.xz";
+      sha256 = "6863515428988c129acfcceaa3518f90d72c590aff2c295a958a68d0c4cd02ab";
+      name = "kglobalaccel-5.64.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kguiaddons-5.62.0.tar.xz";
-      sha256 = "5fc61818ed054901a8b1a6a56a83ccaf5f38d9ea7c5761fa6279cd7316d81e44";
-      name = "kguiaddons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kguiaddons-5.64.0.tar.xz";
+      sha256 = "4caac79b7341c7796f3ca5e1d88cef57ecab2eefcac9ab654fd977706c89bae4";
+      name = "kguiaddons-5.64.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kholidays-5.62.0.tar.xz";
-      sha256 = "f9f7cc399b35cef9348b8fbaabb87145b689165a66b874e3250456f6bbdcb329";
-      name = "kholidays-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kholidays-5.64.0.tar.xz";
+      sha256 = "65b847ba7a00e1a42c0048fe05a400f584e1d9e746edb5d935331ffcb1f5d4ab";
+      name = "kholidays-5.64.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/khtml-5.62.0.tar.xz";
-      sha256 = "35e3f7e419041f0892ea42c6506b627661137602c25f0f1d6a81537b583682c1";
-      name = "khtml-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/khtml-5.64.0.tar.xz";
+      sha256 = "00d3a3e8c8b8072f4894d74f91d963cfefbd681e47da0b8e80e1297224c5af85";
+      name = "khtml-5.64.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/ki18n-5.62.0.tar.xz";
-      sha256 = "b11a0c94c7149798f3f6592e2c386a682d9c528d1e10a59ed3934a93acbc79cb";
-      name = "ki18n-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ki18n-5.64.0.tar.xz";
+      sha256 = "ccd2c2f8b14251701f902c9e7d046da1582e544d31edae743911f3554022d024";
+      name = "ki18n-5.64.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kiconthemes-5.62.0.tar.xz";
-      sha256 = "33fb5caf28ee763edeb3def66386a27f6a7b2bac6a6a0f0728dd4b222d11ebfe";
-      name = "kiconthemes-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kiconthemes-5.64.0.tar.xz";
+      sha256 = "f89a97e9501d841d4543249776783ebd1fc4d7f69e114f8a56027f59ad32000a";
+      name = "kiconthemes-5.64.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kidletime-5.62.0.tar.xz";
-      sha256 = "dd2b6a9f7815c8e84b635e694cbf9ee207996d2cf3adb5a85eadd4a8de37f276";
-      name = "kidletime-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kidletime-5.64.0.tar.xz";
+      sha256 = "8287e958a8a2a9538bec1038f5e31ebba338ff522de9c51265ca1d63030581d0";
+      name = "kidletime-5.64.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kimageformats-5.62.0.tar.xz";
-      sha256 = "65c179e15dd9c81a4515eb9189951641cca4aad9e7456067a208658ce205c2c2";
-      name = "kimageformats-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kimageformats-5.64.0.tar.xz";
+      sha256 = "48c6a7026854127fc83698ab11e6639a525d387cf384f2558db6c7478bceae4c";
+      name = "kimageformats-5.64.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kinit-5.62.0.tar.xz";
-      sha256 = "5c4b066362ab6528b5c9ac654c20cc4eeed87e5384b26b3aa1df968c98c1e21a";
-      name = "kinit-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kinit-5.64.0.tar.xz";
+      sha256 = "5298b783499cedb681c334b20234a511cb3377e66d140e7df6b7c1899186263d";
+      name = "kinit-5.64.0.tar.xz";
     };
   };
   kio = {
-    version = "5.62.1";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kio-5.62.1.tar.xz";
-      sha256 = "4b149085bcfbcd729d808a34bcbd4b11f5f9526aa919c82eaddabc1e88113df0";
-      name = "kio-5.62.1.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kio-5.64.0.tar.xz";
+      sha256 = "e38c8dcf634989f0f7ec95b68bdd936b9e05f7d242e4050b01f79b7021108f59";
+      name = "kio-5.64.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kirigami2-5.62.0.tar.xz";
-      sha256 = "b3cc36bddb5e52617075961b2cbaecbb94492523bcc6801a3ad29a35c43bd912";
-      name = "kirigami2-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kirigami2-5.64.0.tar.xz";
+      sha256 = "c394360e2323c55cf654d09ec762a03c47db0027e6a992646ea32d27ce8b228e";
+      name = "kirigami2-5.64.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kitemmodels-5.62.0.tar.xz";
-      sha256 = "4ed6c4081cf6493d6f40ab45deb61325346ab8577eadec7ba8af6a36d7a6485e";
-      name = "kitemmodels-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kitemmodels-5.64.0.tar.xz";
+      sha256 = "1bae70e4c6a033eea649efc17f0a060aba89144f4c469f235fbf5023dba5abc4";
+      name = "kitemmodels-5.64.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kitemviews-5.62.0.tar.xz";
-      sha256 = "34881a269bdae7e3643ab73290931859437fde72042a066170e7467422408065";
-      name = "kitemviews-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kitemviews-5.64.0.tar.xz";
+      sha256 = "0b3f8a0116c042ae187b67f35ffd40872352b91f5f236d19dd26ffad8db83fee";
+      name = "kitemviews-5.64.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kjobwidgets-5.62.0.tar.xz";
-      sha256 = "e3607167361fdd6874a165881de523505bd00d8fabb755abf62114c017a39c93";
-      name = "kjobwidgets-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kjobwidgets-5.64.0.tar.xz";
+      sha256 = "3b39fc5dfc0f1a9cc9bffed3d05b90ba46c52c63cbbeffa0666f5f09e7093ce0";
+      name = "kjobwidgets-5.64.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kjs-5.62.0.tar.xz";
-      sha256 = "aaff97d97e3163f890001b7d2e4c0329fdd9d9c53ce4924233246f3ef6cd5962";
-      name = "kjs-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kjs-5.64.0.tar.xz";
+      sha256 = "93855cde810feb7208443a93f81c952bdb42f9886154959bc7a6509c9863e503";
+      name = "kjs-5.64.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kjsembed-5.62.0.tar.xz";
-      sha256 = "3763c5f67fa92803b5003a41c5b696524be3d0528018a3d5643abc25b161c23b";
-      name = "kjsembed-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kjsembed-5.64.0.tar.xz";
+      sha256 = "939226116cb47fd66dc45a41baa3c0f45b7ab904ec7674088ced3df5c7bae62e";
+      name = "kjsembed-5.64.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kmediaplayer-5.62.0.tar.xz";
-      sha256 = "2d7fa77c085ab0a48e3ce41ec5d6ffa16fbf7194f2d6ace43e37967c0ffb7880";
-      name = "kmediaplayer-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kmediaplayer-5.64.0.tar.xz";
+      sha256 = "ce4816a14134c4968559ff5030895ab69b63b66e9b541b74595ce05e4fe68d1d";
+      name = "kmediaplayer-5.64.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/knewstuff-5.62.0.tar.xz";
-      sha256 = "5ec7806bf1c5d24a0f393fc48950afefc4bbd1b04b2ad1db59f5f05ecd8f0195";
-      name = "knewstuff-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knewstuff-5.64.0.tar.xz";
+      sha256 = "91334c95a1082ae402ee869da399e5bdbac986c8b30a85d0a899b30de1f3be72";
+      name = "knewstuff-5.64.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/knotifications-5.62.0.tar.xz";
-      sha256 = "55ec35bc9ddccd12289d9501b11d453885eabb9caebd4b93199d7c662a147263";
-      name = "knotifications-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knotifications-5.64.0.tar.xz";
+      sha256 = "5f0c3b158ba253e8df81016c8921d689836ecac063a39766c0290352c9f71bc1";
+      name = "knotifications-5.64.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/knotifyconfig-5.62.0.tar.xz";
-      sha256 = "bb51d1a3f69f9faf274ee381d6d267bf4a69edbbdfcfd9efcab76270db4f8e4d";
-      name = "knotifyconfig-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/knotifyconfig-5.64.0.tar.xz";
+      sha256 = "f496ed0728e688347da360f7aad7f2666cb0310ab669c6006ce9661233218b27";
+      name = "knotifyconfig-5.64.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kpackage-5.62.0.tar.xz";
-      sha256 = "588e6f7b0c066993dbd9b6a0fd2535cd2f1c58ea5bd7ebe1dc381049776bbf62";
-      name = "kpackage-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpackage-5.64.0.tar.xz";
+      sha256 = "c39c80317c75206ec347edf6d301cb66c2117489f37725374fcfe3b1459aaed6";
+      name = "kpackage-5.64.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kparts-5.62.0.tar.xz";
-      sha256 = "2249e70de0b57f13d8ee7a2840106b5a4aed05a6b73da9245101e0cbc9c846ef";
-      name = "kparts-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kparts-5.64.0.tar.xz";
+      sha256 = "61338a37015c2df787b8e0fe49f0ef320474a82831b4f110fb5aefd1635b1d9f";
+      name = "kparts-5.64.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kpeople-5.62.0.tar.xz";
-      sha256 = "e061991f08e6642e61531a630a81927ea0ccd7402f469806a6cfeecf9b5064a2";
-      name = "kpeople-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpeople-5.64.0.tar.xz";
+      sha256 = "b5bc8d037dab124ea65be1c480b25943e789a403176f8b31599383dcdec20a0e";
+      name = "kpeople-5.64.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kplotting-5.62.0.tar.xz";
-      sha256 = "7472943518a4b0e2fe1877ce47b9f667e178822926985a0efc9c20361097b94e";
-      name = "kplotting-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kplotting-5.64.0.tar.xz";
+      sha256 = "f38f65c97d199077c88213bce84c6162ba254c443f06ccfaf62088ff0e217f7b";
+      name = "kplotting-5.64.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kpty-5.62.0.tar.xz";
-      sha256 = "6efd3a3103f15ee825b220ac309bcce3bbce56e9b915e61a4277a2cb096bcb96";
-      name = "kpty-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kpty-5.64.0.tar.xz";
+      sha256 = "c2ece8c6b336ee85973e005969f1228bbfac87cbace6853e9d01a7b5c5fe319e";
+      name = "kpty-5.64.0.tar.xz";
     };
   };
   kross = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/portingAids/kross-5.62.0.tar.xz";
-      sha256 = "38bf9a57f181d823974a00896d89ae7106488c2ccbd7179e295d297edb338563";
-      name = "kross-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/portingAids/kross-5.64.0.tar.xz";
+      sha256 = "d8a7e9fbeba4d16d6288d13d72a5f7581aa8be5894b06f83dbc6068b04551ebd";
+      name = "kross-5.64.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/krunner-5.62.0.tar.xz";
-      sha256 = "21b9564d07395f0e1c5c09557ffc64eb1929dd8925914fdb581f5daa537b01fc";
-      name = "krunner-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/krunner-5.64.0.tar.xz";
+      sha256 = "e056635f347eb4d8b2a1545de993b28ead1af4e8e4acc43f1dd1637b528fe0b2";
+      name = "krunner-5.64.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kservice-5.62.0.tar.xz";
-      sha256 = "a2e105ae8202fa0d9f443490c56e25083c0b9ee285aa82fa26bb8a14f9999db8";
-      name = "kservice-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kservice-5.64.0.tar.xz";
+      sha256 = "60e0c111485158f89211a62403697714dfe141e3539c1c7e1bf04550db74f02f";
+      name = "kservice-5.64.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/ktexteditor-5.62.0.tar.xz";
-      sha256 = "e02d54035367071d44a1499a7f6c482491116c5676fa8ceb57b1e9f564975092";
-      name = "ktexteditor-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ktexteditor-5.64.0.tar.xz";
+      sha256 = "0fe12c57a7428d78c46d3367bdae47a0b9fbbd762be4f57f0c52dcd76e309ed5";
+      name = "ktexteditor-5.64.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/ktextwidgets-5.62.0.tar.xz";
-      sha256 = "ec34931658cbe3a7ad7419a6e588cd9f9981e9b5ab2400e8b6f2b79b29f83774";
-      name = "ktextwidgets-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/ktextwidgets-5.64.0.tar.xz";
+      sha256 = "0e94c36c7d836450d4c52bd933c492235ea0071b15702c302aed003e8400bbfd";
+      name = "ktextwidgets-5.64.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kunitconversion-5.62.0.tar.xz";
-      sha256 = "e96ce3efcb6efe3afc0d5cf093971ea89fe2f20660da16349309cf6748446f41";
-      name = "kunitconversion-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kunitconversion-5.64.0.tar.xz";
+      sha256 = "6783d6180b132a80dce2a4cc6c793dae0f5859b0709207c5fc6f4501ef53a822";
+      name = "kunitconversion-5.64.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kwallet-5.62.0.tar.xz";
-      sha256 = "911d1f3320e7e3d25243e134ba0e42cd5e3ed2ee6c846dbb13777b1a4b338a5b";
-      name = "kwallet-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwallet-5.64.0.tar.xz";
+      sha256 = "16ff5bb5724105c3d59404f292232c03c6003f6229b483509e395e1171ccabde";
+      name = "kwallet-5.64.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kwayland-5.62.0.tar.xz";
-      sha256 = "c9f513008c91e70b09f5acb76dde332491afde0e94948066c2f1e621bc368eb6";
-      name = "kwayland-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwayland-5.64.0.tar.xz";
+      sha256 = "1540d4ff62afd0bff234e08618fc77d2c54b5cd69bf9c478c45a08a6e69349d3";
+      name = "kwayland-5.64.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kwidgetsaddons-5.62.0.tar.xz";
-      sha256 = "3a8e75d544783a1f567016f2669c3cfdbf2809b0a3d25afd03d38af62a493671";
-      name = "kwidgetsaddons-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwidgetsaddons-5.64.0.tar.xz";
+      sha256 = "a2d4a47489621d095c4979ea25d5d8304cf4004b10a892a2b314d74cd30cb5da";
+      name = "kwidgetsaddons-5.64.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kwindowsystem-5.62.0.tar.xz";
-      sha256 = "116d75216ea001b2fc8688a72bcc6105b0b0966a2c5a084497f3aef80d158a67";
-      name = "kwindowsystem-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kwindowsystem-5.64.0.tar.xz";
+      sha256 = "77c2e6b0032a79547f80bcd36682aa72c0e901e3b5acc83a58f69d644ce03dab";
+      name = "kwindowsystem-5.64.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kxmlgui-5.62.0.tar.xz";
-      sha256 = "bc4321b4d44b0af1c2808814b89231a8c9e86de22ca1c0b080a769819ebc5d50";
-      name = "kxmlgui-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kxmlgui-5.64.0.tar.xz";
+      sha256 = "faa95b92b3b03130022841a6797d5beb3efb6a0d757afaefe038889af76a1dd1";
+      name = "kxmlgui-5.64.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/kxmlrpcclient-5.62.0.tar.xz";
-      sha256 = "c284c3e5962d2ed6d0737e5814b85fa4d7926131b7799272cb56c464a12c4530";
-      name = "kxmlrpcclient-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/kxmlrpcclient-5.64.0.tar.xz";
+      sha256 = "8c36472cb69a2d5eeb88c437907f7b0b46703ef34d04df7b45a8c90eb95fd6b0";
+      name = "kxmlrpcclient-5.64.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/modemmanager-qt-5.62.0.tar.xz";
-      sha256 = "b2a6517377b53aca895efd657d553dc5b057a673c07ccb10786031240b11adf5";
-      name = "modemmanager-qt-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/modemmanager-qt-5.64.0.tar.xz";
+      sha256 = "a9d8554b3720cf46aaaa70da87c79688afc5baa155ffd19ea00e4cae2a1caa21";
+      name = "modemmanager-qt-5.64.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/networkmanager-qt-5.62.0.tar.xz";
-      sha256 = "08f73ced96866b9dfded574a87c9e887dc907fc510d2764a4aa09315511cedf9";
-      name = "networkmanager-qt-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/networkmanager-qt-5.64.0.tar.xz";
+      sha256 = "369d0391e199d059dd2faa554324cbd45334f7864ccfc462699b06c89af04bbf";
+      name = "networkmanager-qt-5.64.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/oxygen-icons5-5.62.0.tar.xz";
-      sha256 = "c066bc96fd45f3553e3c344c7cef34afda3180c95bf67af6cf20e964fd5c1a00";
-      name = "oxygen-icons5-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/oxygen-icons5-5.64.0.tar.xz";
+      sha256 = "41d415b4bd9cca0d9abc43b187059d833ce92b3fff3da66eb8ff4004215e91ef";
+      name = "oxygen-icons5-5.64.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/plasma-framework-5.62.0.tar.xz";
-      sha256 = "324bf14078459954c355bb6f146b927f6cbf915109365cdc58c1d81c8495bdb4";
-      name = "plasma-framework-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/plasma-framework-5.64.0.tar.xz";
+      sha256 = "3f1311a48826ab0a76f47d05b02f9a9486f821cc1ad757b895b570e371acfd09";
+      name = "plasma-framework-5.64.0.tar.xz";
     };
   };
   prison = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/prison-5.62.0.tar.xz";
-      sha256 = "d7a024881119e2e91fe2ef98ec982f33e87d3f5584c3e4438638e23cf0106fb0";
-      name = "prison-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/prison-5.64.0.tar.xz";
+      sha256 = "31e136dd33940f32fdb87699b113c57aab566112bb9649f20a057c4eee20db2e";
+      name = "prison-5.64.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/purpose-5.62.0.tar.xz";
-      sha256 = "ed0bdc72b1b95fe988fb2ceba5cc1bd36b5bf00d30c098e9de50fdc36d3b3492";
-      name = "purpose-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/purpose-5.64.0.tar.xz";
+      sha256 = "004794dfa2d0bcef316d582f37e5691e3980c99240ef570313a98a8d44235b0d";
+      name = "purpose-5.64.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/qqc2-desktop-style-5.62.0.tar.xz";
-      sha256 = "97234e956a7fc09bef0665e9a759d6f370419bd3cd2bbbd700849e4cbe549bfa";
-      name = "qqc2-desktop-style-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/qqc2-desktop-style-5.64.0.tar.xz";
+      sha256 = "b0e6ad1ccbd01b6974c3222c6098b6c1ae1fe594c26fe0e2817c35dd90b6013a";
+      name = "qqc2-desktop-style-5.64.0.tar.xz";
     };
   };
   solid = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/solid-5.62.0.tar.xz";
-      sha256 = "24a01a7e89b2c1e39cb9ebc477f80f5ab966d35fce00f63682b159a15de64cc3";
-      name = "solid-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/solid-5.64.0.tar.xz";
+      sha256 = "fcbbfd124759854bde2da74e1768da818361f61f2839877b4efbcd38b825da6b";
+      name = "solid-5.64.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/sonnet-5.62.0.tar.xz";
-      sha256 = "a1a2d3500d7fc51d94fd6f9d951c83be86436284aeda8416963fc5213956a69a";
-      name = "sonnet-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/sonnet-5.64.0.tar.xz";
+      sha256 = "3af364858f76c0206136ae8f3c03da5442ea5e42d2560877f5e00f33850c84dc";
+      name = "sonnet-5.64.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/syndication-5.62.0.tar.xz";
-      sha256 = "d315a5a5e691925df44ce30abbd5208b764a72eb42d38dc5b5ca134d71c05462";
-      name = "syndication-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/syndication-5.64.0.tar.xz";
+      sha256 = "bffcd673a70646c8cb683ed7b26f6ef251a2ffe439fc78123ccee4332b567b57";
+      name = "syndication-5.64.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/syntax-highlighting-5.62.0.tar.xz";
-      sha256 = "897fac9ec2e5112d629da464d47223129e547c314369e1518a12c5c94ff2a6fd";
-      name = "syntax-highlighting-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/syntax-highlighting-5.64.0.tar.xz";
+      sha256 = "9655fa79d99fb7d585ae1a11c03d204c83263fe19391e7610575fb0436052b5f";
+      name = "syntax-highlighting-5.64.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.62.0";
+    version = "5.64.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.62/threadweaver-5.62.0.tar.xz";
-      sha256 = "aa1704c20c6d38fde4f9988e13cb97356e1c69c7a9d0401870b1515a2814294a";
-      name = "threadweaver-5.62.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.64/threadweaver-5.64.0.tar.xz";
+      sha256 = "4a3ec0b2b45a5997b24d60059d95006fca5fd86f5d619d8fb1fd30d7510f5a02";
+      name = "threadweaver-5.64.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
new file mode 100644
index 00000000000..a57b103b0d9
--- /dev/null
+++ b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, opencl-clhpp, cmake, withTracing ? false }:
+
+stdenv.mkDerivation rec {
+  name = "khronos-ocl-icd-loader-${version}";
+  version = "6c03f8b";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenCL-ICD-Loader";
+    rev = "6c03f8b58fafd9dd693eaac826749a5cfad515f8";
+    sha256 = "00icrlc00dpc87prbd2j1350igi9pbgkz27hc3rf73s5994yn86a";
+  };
+
+  patches = stdenv.lib.lists.optional withTracing ./tracing.patch;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ opencl-clhpp ];
+
+  meta = with stdenv.lib; {
+    description = "Offical Khronos OpenCL ICD Loader";
+    homepage = https://github.com/KhronosGroup/OpenCL-ICD-Loader;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidtwco ];
+  };
+}
diff --git a/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch b/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
new file mode 100644
index 00000000000..415a1b1dfe4
--- /dev/null
+++ b/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
@@ -0,0 +1,13 @@
+diff --git a/loader/icd.h b/loader/icd.h
+index a1b6969..cf4e272 100644
+--- a/loader/icd.h
++++ b/loader/icd.h
+@@ -122,7 +122,7 @@ void khrIcdContextPropertiesGetPlatform(
+     cl_platform_id *outPlatform);
+
+ // internal tracing macros
+-#if 0
++#if 1
+     #include <stdio.h>
+     #define KHR_ICD_TRACE(...) \
+     do \
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 1aa208c2044..74ac59fef28 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -1,29 +1,14 @@
-{ stdenv, fetchurl, fetchpatch, openssl, perl, which, dns-root-data }:
+{ stdenv, fetchurl, openssl, perl, which, dns-root-data }:
 
 stdenv.mkDerivation rec {
   pname = "ldns";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/ldns/${pname}-${version}.tar.gz";
-    sha256 = "1k56jw4hz8njspfxcfw0czf1smg0n48ylia89ziwyx5k9wdmp7y1";
+    sha256 = "0ac242n7996fswq1a3nlh1bbbhrsdwsq4mx7xq8ffq6aplb4rj4a";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-1000231.patch";
-      url = "https://git.nlnetlabs.nl/ldns/patch/?id=c8391790";
-      sha256 = "1rprfh0y1c28dqiy3vgwvwdhn7b5rsylfzzblx5xdhwfqgdw8vn0";
-      excludes = [ "Changelog" ];
-    })
-    (fetchpatch {
-      name = "CVE-2017-1000232.patch";
-      url = "https://git.nlnetlabs.nl/ldns/patch/?id=3bdeed02";
-      sha256 = "0bv0s5jjp0sswfg8da47d346iwp9yjhj9w7fa3bxh174br0zj07r";
-      excludes = [ "Changelog" ];
-    })
-  ];
-
   postPatch = ''
     patchShebangs doc/doxyparse.pl
   '';
@@ -38,6 +23,7 @@ stdenv.mkDerivation rec {
     "--with-trust-anchor=${dns-root-data}/root.key"
     "--with-drill"
     "--disable-gost"
+    "--with-examples"
   ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_func_malloc_0_nonnull=yes"
     "ac_cv_func_realloc_0_nonnull=yes"
@@ -47,16 +33,11 @@ stdenv.mkDerivation rec {
   doCheck = false; # fails. missing some files
 
   postInstall = ''
+    # Only 'drill' stays in $out
+    # the rest are examples:
+    moveToOutput "bin/ldns*" "$examples"
+    # with exception of ldns-config, which goes to $dev:
     moveToOutput "bin/ldns-config" "$dev"
-
-    pushd examples
-    configureFlagsArray+=( "--bindir=$examples/bin" )
-    configurePhase
-    make
-    make install
-    popd
-
-    sed -i "$out/lib/libldns.la" -e "s,-L${openssl.dev},-L${openssl.out},g"
   '';
 
   meta = with stdenv.lib; {
@@ -64,6 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     homepage = http://www.nlnetlabs.nl/projects/ldns/;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dtzWill ];
   };
 }
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 7f7d34199be..44c393baf8e 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
-    sha256 = "029n16rsvj2abii6d1d4q01fygkicw8n3ja0iaribk4b4h5mc7vc";
+    sha256 = "1aij0prpf7rvxx25qjf1krf0szb922hq9m6q58p90f5bjgymfzwh";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index 62c01e4f356..e26f4f6022a 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   checkInputs = [ which gnuplot ];
-  doCheck = !stdenv.isDarwin;
+
+  # Fails on pngio_reg for unknown reason
+  doCheck = false; # !stdenv.isDarwin;
 
   meta = {
     description = "Image processing and analysis library";
diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix
index 11b31d62b5d..87eeac4b4f5 100644
--- a/pkgs/development/libraries/libaal/default.nix
+++ b/pkgs/development/libraries/libaal/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.namesys.com/;
     description = "Support library for Reiser4";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix
index 630b1712158..c0a43efc27e 100644
--- a/pkgs/development/libraries/libagar/default.nix
+++ b/pkgs/development/libraries/libagar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libtool, perl, bsdbuild, gettext, mandoc
-, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU_combined
+, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL
 , libsndfile, portaudio, libmysqlclient, fontconfig
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     "--enable-nls=yes"
     "--with-gettext=${gettext}"
     "--with-jpeg=${libjpeg.dev}"
-    "--with-gl=${libGLU_combined}"
+    "--with-gl=${libGL}"
     "--with-mysql=${libmysqlclient}"
     "--with-manpages=yes"
   ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig libtool gettext ];
 
   buildInputs = [
-    bsdbuild perl xlibsWrapper libXinerama SDL libGLU_combined libmysqlclient mandoc
+    bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc
     freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile
   ];
 
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index f67b3cee607..2d7edee4041 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://xiph.org/ao/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 46cc30a8944..e9fccaf28ab 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -1,19 +1,18 @@
 # TODO: Resolve the issues with the Mono bindings.
 
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, autoreconfHook
 , glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python2Packages, gobject-introspection, vala
+, vala, gobject-introspection
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
-let
-  inherit (python2Packages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
   version = "${versionMajor}.${versionMinor}";
@@ -25,7 +24,7 @@ in stdenv.mkDerivation rec {
     sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection ];
 
   propagatedBuildInputs =
     if gtkVersion == "2"
@@ -34,20 +33,18 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus-glib
-    python pygobject2 pygtk gobject-introspection vala
   ] ++ (if gtkVersion == "2"
     then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ libindicator-gtk3 ]);
 
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
+  patches = [
+    # Remove python2 from libappindicator.
+    (fetchpatch {
+      name = "no-python.patch";
+      url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
+      sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
+    })
+  ];
 
   configureFlags = [
     "CFLAGS=-Wno-error"
@@ -56,15 +53,10 @@ in stdenv.mkDerivation rec {
     "--with-gtk=${gtkVersion}"
   ];
 
-  postConfigure = ''
-    substituteInPlace configure \
-      --replace /usr/bin/file ${file}/bin/file
-  '';
-
   doCheck = false; # generates shebangs in check phase, too lazy to fix
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=\${TMPDIR}"
   ];
 
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index c48818972b5..df7e93de063 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
   };
 
   meta = {
+    description = "A portable library for controlling audio CDs";
+    homepage = "http://libcdaudio.sourceforge.net";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl2;
   };
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
index 2688881e66d..070cb58149c 100644
--- a/pkgs/development/libraries/libcec/default.nix
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform }:
+{ stdenv, fetchurl, cmake, pkgconfig, udev, libcec_platform, libraspberrypi ? null }:
 
 let version = "4.0.4"; in
 
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake udev libcec_platform ];
+  buildInputs = [ cmake udev libcec_platform ] ++
+    stdenv.lib.optional (libraspberrypi != null) libraspberrypi;
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
 
diff --git a/pkgs/development/libraries/libcerf/default.nix b/pkgs/development/libraries/libcerf/default.nix
index fd5ee8dcaaf..0ffb2085967 100644
--- a/pkgs/development/libraries/libcerf/default.nix
+++ b/pkgs/development/libraries/libcerf/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, cmake, perl }:
 
-stdenv.mkDerivation {
-  name = "libcerf-1.5";
+stdenv.mkDerivation rec {
+  pname = "libcerf";
+  version = "1.13";
 
   src = fetchurl {
-    url = "http://apps.jcns.fz-juelich.de/src/libcerf/libcerf-1.5.tgz";
-    sha256 = "11jwr8ql4a9kmv04ycgwk4dsqnlv4l65a8aa0x1i3y7zwx3w2vg3";
+    url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
+    sha256 = "01d3fr4qa0080xdgp66mjbsa884qivn9y83p7rdyz2l3my0rysg4";
   };
 
+  nativeBuildInputs = [ cmake perl ];
+
   meta = with lib; {
     description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
-    homepage = http://apps.jcns.fz-juelich.de/doku/sc/libcerf;
+    homepage = https://jugit.fz-juelich.de/mlz/libcerf;
     license = licenses.mit;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libco-canonical/default.nix b/pkgs/development/libraries/libco-canonical/default.nix
index 09c27ae7c9c..56974fcca7b 100644
--- a/pkgs/development/libraries/libco-canonical/default.nix
+++ b/pkgs/development/libraries/libco-canonical/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libco-canonical";
-  version = "19.1";
+  version = "20";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "libco";
     rev = "v${version}";
-    sha256 = "03a0fq8f8gc4hjzcf0zsjib4mzag47rxrrg9b5r6bx53vj5rhj78";
+    sha256 = "0r5b1r0sxngx349s5a3zkkvfw5by9y492kr34b25gjspzvjchlxq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -19,6 +19,17 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" ];
 
+  patchPhase = ''
+    # upstream project assumes all build products will go into single directory
+    # `$prefix` but we need `includedir` to point to "dev", not "out"
+    #
+    # pkgs/build-support/setup-hooks/multiple-outputs.sh would normally patch
+    # this automatically, but it fails here due to use of absolute paths
+
+    substituteInPlace Makefile \
+      --replace "@includedir@|\$(PREFIX)" "@includedir@|${placeholder "dev"}"
+  '';
+
   meta = {
     description = "A cooperative multithreading library written in C89";
     homepage = "https://github.com/canonical/libco";
diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix
index fc12096ef5b..c4a351739b6 100644
--- a/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/pkgs/development/libraries/libdigidocpp/default.nix
@@ -2,12 +2,12 @@
 , xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-  version = "3.14.0";
+  version = "3.14.1";
   pname = "libdigidocpp";
 
   src = fetchurl {
      url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
-     sha256 = "0klbr881d56661d1lqlv4ivxhxcv2q16ivlz7r0rb901wilq5jyl";
+     sha256 = "0yrcfw5i1jddz7x3j9zzlcwjlzdbi10wns7kbblbp03nx7vk2vqy";
   };
 
   nativeBuildInputs = [ cmake pkgconfig xxd ];
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index 2d15e419a76..591ad72e4ec 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libebml";
-  version = "1.3.9";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner  = "Matroska-Org";
     repo   = "libebml";
     rev    = "release-${version}";
-    sha256 = "0q2xfabaymrf0xkhwc9akx6m04lgra2b53wcn9mnh5dqiiazizi7";
+    sha256 = "1vn0g4hsygrm29qvnzhrblpwjcy2x6swf799ibxv3bzpi1j0gris";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index 5a8f5126680..833ccf5dca5 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -9,21 +9,32 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-   (fetchpatch {
-     name = "CVE-2017-7544.patch";
-     url = https://sourceforge.net/p/libexif/bugs/_discuss/thread/fc394c4b/489a/attachment/xx.pat;
-     sha256 = "1qgk8hgnxr8d63jsc4vljxz9yg33mbml280dq4a6050rmk9wq4la";
-   })
+    (fetchpatch {
+      name = "CVE-2017-7544.patch";
+      url = "https://github.com/libexif/libexif/commit/c39acd1692023b26290778a02a9232c873f9d71a.patch";
+      sha256 = "0xgx6ly2i4q05shb61mfx6njwf1yp347jkznm0ka4m85i41xm6sd";
+    })
+    (fetchpatch {
+      name = "CVE-2018-20030-1.patch";
+      url = "https://github.com/libexif/libexif/commit/5d28011c40ec86cf52cffad541093d37c263898a.patch";
+      sha256 = "1wv8s962wmbn2m2xypgirf12g6msrbplpsmd5bh86irfwhkcppj3";
+    })
+    (fetchpatch {
+      name = "CVE-2018-20030-2.patch";
+      url = "https://github.com/libexif/libexif/commit/6aa11df549114ebda520dde4cdaea2f9357b2c89.patch";
+      sha256 = "01aqvz63glwq6wg0wr7ykqqghb4abgq77ghvhizbzadg1k4h7drx";
+      excludes = [ "NEWS" ];
+    })
   ];
-  patchFlags = "-p0";
 
   buildInputs = [ gettext ];
 
   meta = {
-    homepage = http://libexif.sourceforge.net/;
+    homepage = https://libexif.github.io/;
     description = "A library to read and manipulate EXIF data in digital photographs";
     license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.erictapen ];
   };
 
 }
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index 8fd01dbd506..ea155440c8d 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
       url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/libextractor-exiv2-0.27.patch?h=packages/libextractor&id=4dc53f7fc69210ae571285dface108ed65d8ee53";
       sha256 = "0w4gc1q1m1yxsd4hv105nblmif465nw3g5nxzldy0x2rl9mdncg6";
     })
+    (fetchpatch {
+      name = "CVE-2019-15531.patch";
+      url = "https://git.gnunet.org/libextractor.git/patch/?id=d2b032452241708bee68d02aa02092cfbfba951a";
+      sha256 = "01xhcjbzv6p53wz7y2ii76kb8m9iwvnm4ip9w4a0bpgaxqz4b9fw";
+      excludes = [ "ChangeLog" ];
+    })
   ];
 
   preConfigure =
diff --git a/pkgs/development/libraries/libffi/3.2.1-cygwin.patch b/pkgs/development/libraries/libffi/3.2.1-cygwin.patch
deleted file mode 100644
index f3b38dbd1c1..00000000000
--- a/pkgs/development/libraries/libffi/3.2.1-cygwin.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libffi-3.2.1/src/closures.c	2014-11-08 13:47:24.000000000 +0100
-+++ libffi-3.2.1/src/closures.c	2015-05-19 10:15:50.059325900 +0200
-@@ -212,6 +212,7 @@
- #include <sys/mman.h>
- 
- /* Cygwin is Linux-like, but not quite that Linux-like.  */
-+#define is_emutramp_enabled() 0
- #define is_selinux_enabled() 0
- 
- #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 2918276ef21..cc080e7c638 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -7,45 +7,17 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libffi-3.2.1";
+  name = "libffi-3.3";
 
   src = fetchurl {
     url = "https://sourceware.org/pub/libffi/${name}.tar.gz";
-    sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
+    sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj";
   };
 
-  patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch
-    ++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
-      url = https://src.fedoraproject.org/rpms/libffi/raw/ccffc1700abfadb0969495a6e51b964117fc03f6/f/libffi-aarch64-rhbz1174037.patch;
-      sha256 = "1vpirrgny43hp0885rswgv3xski8hg7791vskpbg3wdjdpb20wbc";
-    })
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      name = "gnu-linux-define.patch";
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/libffi/gnu-linux-define.patch?id=bb024fd8ec6f27a76d88396c9f7c5c4b5800d580";
-      sha256 = "11pvy3xkhyvnjfyy293v51f1xjy3x0azrahv1nw9y9mw8bifa2j2";
-    })
-    ++ stdenv.lib.optional stdenv.hostPlatform.isRiscV (fetchpatch {
-      name = "riscv-support.patch";
-      url = https://github.com/sorear/libffi-riscv/commit/e46492e8bb1695a19bc1053ed869e6c2bab02ff2.patch;
-      sha256 = "1vl1vbvdkigs617kckxvj8j4m2cwg62kxm1clav1w5rnw9afxg0y";
-    })
-    ++ stdenv.lib.optionals stdenv.isMips [
-      (fetchpatch {
-        name = "0001-mips-Use-compiler-internal-define-for-linux.patch";
-        url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
-        sha256 = "1gc53lw90p6hc0cmhj3csrwincfz7va5ss995ksw5gm0yrr9mrvb";
-      })
-      (fetchpatch {
-        name = "0001-mips-fix-MIPS-softfloat-build-issue.patch";
-        url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
-        sha256 = "0l8xgdciqalg4z9rcwyk87h8fdxpfv4hfqxwsy2agpnpszl5jjdq";
-      })
-    ];
+  patches = [];
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  nativeBuildInputs = stdenv.lib.optional stdenv.hostPlatform.isRiscV autoreconfHook;
-
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
     "--enable-pax_emutramp"
@@ -62,15 +34,6 @@ stdenv.mkDerivation rec {
 
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
 
-  # Install headers and libs in the right places.
-  postFixup = ''
-    mkdir -p "$dev/"
-    mv "$out/lib/${name}/include" "$dev/include"
-    rmdir "$out/lib/${name}"
-    substituteInPlace "$dev/lib/pkgconfig/libffi.pc" \
-      --replace 'includedir=''${libdir}/libffi-3.2.1' "includedir=$dev"
-  '';
-
   meta = with stdenv.lib; {
     description = "A foreign function call interface library";
     longDescription = ''
@@ -88,9 +51,8 @@ stdenv.mkDerivation rec {
       conversions for values passed between the two languages.
     '';
     homepage = http://sourceware.org/libffi/;
-    # See https://github.com/atgreen/libffi/blob/master/LICENSE .
-    license = licenses.free;
-    maintainers = [ ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index 5fefdad08e7..a0f44a33220 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.2.0";
+  version = "1.3.0";
   src = fetchurl {
-    url = "https://developers.yubico.com/libfido2/Releases/libfido2-${version}.tar.gz";
-    sha256 = "1pbllhzcrzkgxad00bai7lna8dpkwiv8khx8p20miy661abv956v";
+    url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
+    sha256 = "1izyl3as9rn7zcxpsvgngjwr55gli5gy822ac3ajzm65qiqkcbhb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 95954a120c8..fd17267b615 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.18.2";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1j9da9xi2k4nw97m14mpp7h39rh03br0gmjj9ff819l6nhlnkn20";
+    sha256 = "0cjscv68nnqivzba94xapx1c970j1jbdbm0h3g2ym9i0hgnyyhha";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index 9a6db72ae05..6819ffba21c 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -1,41 +1,27 @@
-{ thinkpad ? false
-, stdenv
-, fetchFromGitHub
+{ stdenv
 , fetchurl
 , pkgconfig
 , meson
 , ninja
-, libusb
+, gusb
 , pixman
 , glib
 , nss
-, gtk3
+, gobject-introspection
 , coreutils
 , gtk-doc
 , docbook_xsl
 , docbook_xml_dtd_43
-, openssl ? null
 }:
 
-assert thinkpad -> openssl != null;
-
 stdenv.mkDerivation rec {
-  pname = "libfprint" + stdenv.lib.optionalString thinkpad "-thinkpad";
-  version = "1.0";
+  pname = "libfprint";
+  version = "1.90";
 
-  src = {
-    libfprint-thinkpad =
-      fetchFromGitHub {
-        owner = "3v1n0";
-        repo = "libfprint";
-        rev = "2e2e3821717e9042e93a995bdbd3d00f2df0be9c";
-        sha256 = "1vps1wrp7hskf13f7jrv0dwry2fcid76x2w463wplngp63cj7b3b";
-      };
-    libfprint = fetchurl {
-      url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/aff93e9921d1cff53d7c070944952ff9/libfprint-${version}.tar.xz";
-      sha256 = "0v84pd12v016m8iimhq39fgzamlarqccsr7d98cvrrwrzrgcixrd";
-    };
-  }.${pname};
+  src = fetchurl {
+    url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/1bba17b5daa130aa548bc7ea96dc58c4/libfprint-1.90.0.tar.xz";
+    sha256 = "930f530df369ff874d7971f0b7c7bdb7c81597e91af4668694b98fe30b4b3371";
+  };
 
   nativeBuildInputs = [
     pkgconfig
@@ -44,17 +30,15 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_43
+    gobject-introspection
   ];
 
   buildInputs = [
-    libusb
+    gusb
     pixman
     glib
     nss
-    gtk3
-  ]
-  ++ stdenv.lib.optional thinkpad openssl
-  ;
+  ];
 
   mesonFlags = [
     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 1b00ff4c0fb..26002725d91 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, libusb1, libconfuse
 , cppSupport ? true, boost ? null
-, pythonSupport ? true, python ? null, swig ? null
+, pythonSupport ? true, python3 ? null, swig ? null
 , docSupport ? true, doxygen ? null
 }:
 
 assert cppSupport -> boost != null;
-assert pythonSupport -> python != null && swig != null;
+assert pythonSupport -> python3 != null && swig != null;
 assert docSupport -> doxygen != null;
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = with stdenv.lib; [ libconfuse ]
     ++ optionals cppSupport [ boost ]
-    ++ optionals pythonSupport [ python swig ]
+    ++ optionals pythonSupport [ python3 swig ]
     ++ optionals docSupport [ doxygen ];
 
   preBuild = stdenv.lib.optionalString docSupport ''
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 75d8e6710e0..e7a9ec60a6d 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
-  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ];
+  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]
+   ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-asm";
 
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix
index c7ff6d10da3..6830d47df74 100644
--- a/pkgs/development/libraries/libgdata/default.nix
+++ b/pkgs/development/libraries/libgdata/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     };
 
     tests = {
-      installedTests = nixosTests.libgdata;
+      installedTests = nixosTests.installed-tests.libgdata;
     };
   };
 
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index 30b27d9329a..5df1246a0eb 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -14,6 +14,22 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
   buildInputs = [ libX11 libXext xorgproto ];
 
+  # The following 3 patches should be removed once libglvnd >1.2.0 is released
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/6f52473dac08c44b081b792874b4ce73122096da.patch";
+      sha256 = "0rd9ihl8n33cm0rya5a7ki0hn31fh52r0gaj5d4w80jrsah2ayij";
+    })
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch";
+      sha256 = "1qx3nw8vq5xcrixmi7xw1vpy4gbf7kmx38rx8wg8x046g4mv8ijj";
+    })
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/5dfdc5a6dc60a3bdc63cd4510dabacba388da13a.patch";
+      sha256 = "0gmb3619yz3z7n22afjh8p2y13bmsky4r0z0csm14is3wvdi64ya";
+    })
+  ];
+
   postPatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/GLX/Makefile.am \
       --replace "-Wl,-Bsymbolic " ""
diff --git a/pkgs/development/libraries/libgnomekbd/default.nix b/pkgs/development/libraries/libgnomekbd/default.nix
index 0951ab1fe0c..21523bf2e1a 100644
--- a/pkgs/development/libraries/libgnomekbd/default.nix
+++ b/pkgs/development/libraries/libgnomekbd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "libgnomekbd";
@@ -13,13 +13,19 @@ stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript { packageName = pname; };
   };
 
-  nativeBuildInputs = [ pkgconfig file intltool makeWrapper ];
-  buildInputs = [ glib gtk3 libxklavier ];
+  nativeBuildInputs = [
+    file
+    intltool
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  preFixup = ''
-    wrapProgram $out/bin/gkbd-keyboard-display \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
+  # Requires in libgnomekbd.pc
+  propagatedBuildInputs = [
+    gtk3
+    libxklavier
+    glib
+  ];
 
   meta = with stdenv.lib; {
     description = "Keyboard management library";
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 1736e97f466..a1e8ef76394 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgnurl";
-  version = "7.66.0";
+  version = "7.67.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
-    sha256 = "03bkzcld384z7i3zh3k9k3pr0xpyqbcr8cxjqya1zqs5lk7i55x5";
+    sha256 = "0ima9hz5d54iyvvih51s8xn6dsfxd3qyzgnj9l7w9f1smia295rb";
   };
 
   nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A fork of libcurl used by GNUnet";
-    homepage    = https://gnunet.org/gnurl;
+    homepage    = "https://gnunet.org/en/gnurl.html";
     maintainers = with maintainers; [ falsifian vrthra ];
     platforms = platforms.linux;
     license = licenses.curl;
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index d7fb35897dc..69c236d7220 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -78,6 +78,6 @@ in stdenv.mkDerivation (rec {
 
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.fuuzetsu maintainers.vrthra ];
+    maintainers = [ maintainers.vrthra ];
   };
 } // genPosixLockObjOnlyAttrs)
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index d561ebcd7af..063588e9f1e 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,18 +1,20 @@
-{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
+{ stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
   libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib,
-  libimobiledevice, pythonPackages, mutagen,
+  libimobiledevice, mutagen,
   monoSupport ? false, mono, gtk-sharp-2_0
 }:
 
-let
-  inherit (pythonPackages) python pygobject2;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
   name = "libgpod-0.8.3";
+
   src = fetchurl {
     url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
     sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
   };
 
+  outputs = [ "out" "dev" ];
+
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
 
   configureFlags = [
@@ -23,7 +25,7 @@ in stdenv.mkDerivation rec {
   dontStrip = true;
 
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
-    gdk-pixbuf taglib libimobiledevice python pygobject2 mutagen ];
+    gdk-pixbuf taglib libimobiledevice  mutagen ];
 
   nativeBuildInputs = [ gettext intltool pkgconfig ]
     ++ (with perlPackages; [ perl XMLParser ])
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index b52a2b1e0fa..8023acb75d2 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "A library that provides GObject bindings for libudev";
     homepage = https://wiki.gnome.org/Projects/libgudev;
     maintainers = [ maintainers.eelco ] ++ gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index c4f353fb6d5..88736113ee5 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "0.0.11";
+  version = "0.0.12";
 
   outputs = [ "out" "dev" "devdoc" "glade" ];
   outputBin = "dev";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0622zp5wrvn5bvgardijxd11y76g1i54fs32y03dw9nrar7i6vb0";
+    sha256 = "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix
index f69241ad552..85174e9c3e6 100644
--- a/pkgs/development/libraries/libheif/default.nix
+++ b/pkgs/development/libraries/libheif/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.5.1";
+  version = "1.6.0";
+
+  outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "0x6207hiy15k2696476qx9jcbzs90fq8cfv4jw6hi14w4wzq89kr";
+    sha256 = "0im9k2pqghlsppj165kh3nc26c4wx1brckmncdmpy0mcj56jjmba";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 050cba5460d..903a1a26eb7 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.5";
+  version = "3.0.6";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "03kjc4s1svmzkmzkr0irgczq37aslhj4bxnvjqav0jwa2zrynhra";
+    sha256 = "181lf07fj36fp0rbcjjmb53yzdvv9i4qxpnbpax8hayjhha8pjh3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 298d6124505..27ec8b17c0d 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -1,14 +1,24 @@
-{ stdenv, fetchurl, libpng, jasper }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, libpng, openjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "libicns-0.8.1";
+  pname = "libicns";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/icns/${name}.tar.gz";
+    url = "mirror://sourceforge/icns/${pname}-${version}.tar.gz";
     sha256 = "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk";
   };
 
-  buildInputs = [ libpng jasper ];
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/libi/libicns/0.8.1-3.1/debian/patches/support-libopenjp2.patch";
+      sha256 = "0ss298lyzvydxvaxsadi6kbbjpwykd86jw3za76brcsg2dpssgas";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libpng openjpeg ];
+  NIX_CFLAGS_COMPILE = [ "-I${openjpeg.dev}/include/${openjpeg.incDir}" ];
 
   meta = with stdenv.lib; {
     description = "Library for manipulation of the Mac OS icns resource format";
diff --git a/pkgs/development/libraries/libiconv/setup-hook.sh b/pkgs/development/libraries/libiconv/setup-hook.sh
index f89361a6299..120cf06c61b 100644
--- a/pkgs/development/libraries/libiconv/setup-hook.sh
+++ b/pkgs/development/libraries/libiconv/setup-hook.sh
@@ -2,7 +2,7 @@
 # it doesn't hurt to have it in Glibc either though
 
 # See pkgs/build-support/setup-hooks/role.bash
-if [ -z "$dontAddExtraLibs" ]; then
+if [ -z "${dontAddExtraLibs-}" ]; then
     getHostRole
     export NIX_${role_pre}LDFLAGS+=" -liconv"
 fi
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index 674862d694c..c6d430e10fc 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "ID3 tag manipulation library";
     homepage = http://mad.sourceforge.net/;
     license = licenses.gpl2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index 7e7b691e3c1..c1363d7a928 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libidn2";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${pname}-${version}.tar.gz";
-    sha256 = "1zl1cc2xgxw31pdhvhr5ij36x4vvpy16jq667rspin06nlr4fwzw";
+    sha256 = "1ddqr80kmz4l8g3r3gf7bmf2v29fgivlc2bgxfiscjg2sarivjz1";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
deleted file mode 100644
index f6dc85b629d..00000000000
--- a/pkgs/development/libraries/libindicate/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# TODO: Resolve the issues with the Mono bindings.
-
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
-, glib, dbus-glib, libdbusmenu
-, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
-, pythonPackages, gobject-introspection, vala, gnome-doc-utils
-, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
- }:
-
-with lib;
-
-let
-  inherit (pythonPackages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
-          in "libindicate-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
-
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicate-${version}.tar.gz";
-    sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoconf gobject-introspection vala gnome-doc-utils ];
-
-  buildInputs = [
-    glib dbus-glib libdbusmenu
-    python pygobject2 pygtk
-  ] ++ (if gtkVersion == "2"
-    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
-    else [ gtk3 ]);
-
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' \
-      --replace 'pyglib-2.0-python$PYTHON_VERSION' 'pyglib-2.0-python'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
-
-  configureFlags = [
-    "CFLAGS=-Wno-error"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-gtk=${gtkVersion}"
-  ];
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
-  ];
-
-  meta = {
-    description = "Library for raising indicators via DBus";
-    homepage = https://launchpad.net/libindicate;
-    license = with licenses; [ lgpl21 lgpl3 ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.msteen ];
-  };
-}
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 044ef2dd6a7..8d48082e1d9 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.14.1";
+  version = "1.14.3";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz";
-    sha256 = "0w7fas37mp2k06f12i3lnj717lw73asziknj6z51kh1m50ja6cz3";
+    sha256 = "1dy58j8dvr7ri34bx0lppmh5638m956azgwk501w373hi42kmsqg";
   };
 
   outputs = [ "bin" "out" "dev" ];
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     (mkFlag documentationSupport "documentation")
     (mkFlag eventGUISupport "debug-gui")
     (mkFlag testsSupport "tests")
+    "--sysconfdir=/etc"
     "--libexecdir=${placeholder "bin"}/libexec"
   ];
 
diff --git a/pkgs/development/libraries/libisds/default.nix b/pkgs/development/libraries/libisds/default.nix
new file mode 100644
index 00000000000..4ed5a830964
--- /dev/null
+++ b/pkgs/development/libraries/libisds/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchurl
+, expat
+, gpgme
+, libgcrypt
+, libxml2
+, libxslt
+, curl
+, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libisds";
+  version = "0.11";
+
+  src = fetchurl {
+    url = "http://xpisar.wz.cz/${pname}/dist/${pname}-${version}.tar.xz";
+    sha256 = "1cy161l7rl25xji2xpb9vjpvg02bc7mwd4fpp2sx9zhpifn5dfbr";
+  };
+
+  configureFlags = [
+    "--with-docbook-xsl-stylesheets=${docbook_xsl}/xml/xsl/docbook"
+  ];
+
+  buildInputs = [ expat gpgme libgcrypt libxml2 libxslt curl docbook_xsl ];
+
+  meta = with stdenv.lib; {
+    description = "Client library for accessing SOAP services of Czech government-provided Databox infomation system";
+    homepage = "http://xpisar.wz.cz/libisds/";
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libisoburn/default.nix b/pkgs/development/libraries/libisoburn/default.nix
index cefce19d465..633f19cef79 100644
--- a/pkgs/development/libraries/libisoburn/default.nix
+++ b/pkgs/development/libraries/libisoburn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libisoburn";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r8xbhw21bmcp3jhfmvadivh0fa7f4k6larv8lvg4ka0kiigbhfs";
+    sha256 = "1v4hanapr02wf2i6rncc62z8cyc18078nb2y6q4hp3hxa74hnwnc";
   };
 
   buildInputs = [ attr zlib libburn libisofs ];
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index 0f73be7ebce..932edd20e9a 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "1y0pypgxchxczdnjkblibbvvy4gdk2pf8dzpqmbf824c7zpy8z5r";
+    sha256 = "0sw7iwb9158z7jslxj9jwh2vqbg0q8wq6fbmk9iz7sfkjqhi80hv";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
diff --git a/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch b/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch
deleted file mode 100644
index 1d8b385e0c5..00000000000
--- a/pkgs/development/libraries/libmad/001-mips_removal_h_constraint.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Taken from openwrt:
-https://dev.openwrt.org/browser/packages/libs/libmad/patches/001-mips_removal_h_constraint.patch?rev=18548
-
-diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h
---- libmad-0.15.1b-orig/fixed.h	2004-02-17 12:32:03.000000000 +1030
-+++ libmad-0.15.1b/fixed.h	2009-08-05 10:46:30.000000000 +0930
-@@ -299,6 +299,23 @@
- 
- # elif defined(FPM_MIPS)
- 
-+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
-+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-+#define __GNUC_PREREQ(maj, min) \
-+	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-+#else
-+#define __GNUC_PREREQ(maj, min)  0
-+#endif
-+
-+#if __GNUC_PREREQ(4,4)
-+  typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
-+# define MAD_F_MLX(hi, lo, x, y) \
-+   do { \
-+      u64_di_t __ll = (u64_di_t) (x) * (y); \
-+      hi = __ll >> 32; \
-+      lo = __ll; \
-+   } while (0) 
-+#else
- /*
-  * This MIPS version is fast and accurate; the disposition of the least
-  * significant bit depends on OPT_ACCURACY via mad_f_scale64().
-@@ -328,6 +345,7 @@
- 	 : "%r" ((x) >> 12), "r" ((y) >> 16))
- #  define MAD_F_MLZ(hi, lo)  ((mad_fixed_t) (lo))
- # endif
-+#endif /* __GNU_PREREQ(4,4) */
- 
- # if defined(OPT_SPEED)
- #  define mad_f_scale64(hi, lo)  \
-diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h
---- libmad-0.15.1b-orig/mad.h	2004-02-17 13:25:44.000000000 +1030
-+++ libmad-0.15.1b/mad.h	2009-08-05 10:42:40.000000000 +0930
-@@ -344,6 +344,23 @@
- 
- # elif defined(FPM_MIPS)
- 
-+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
-+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-+#define __GNUC_PREREQ(maj, min) \
-+	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-+#else
-+#define __GNUC_PREREQ(maj, min)  0
-+#endif
-+
-+#if __GNUC_PREREQ(4,4)
-+  typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
-+# define MAD_F_MLX(hi, lo, x, y) \
-+   do { \
-+      u64_di_t __ll = (u64_di_t) (x) * (y); \
-+      hi = __ll >> 32; \
-+      lo = __ll; \
-+   } while (0) 
-+#else
- /*
-  * This MIPS version is fast and accurate; the disposition of the least
-  * significant bit depends on OPT_ACCURACY via mad_f_scale64().
-@@ -373,6 +390,7 @@
- 	 : "%r" ((x) >> 12), "r" ((y) >> 16))
- #  define MAD_F_MLZ(hi, lo)  ((mad_fixed_t) (lo))
- # endif
-+#endif /* __GNU_PREREQ(4,4) */
- 
- # if defined(OPT_SPEED)
- #  define mad_f_scale64(hi, lo)  \
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index f6df090e8b5..9d935daddad 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -1,28 +1,58 @@
-{stdenv, fetchurl, autoconf}:
+{ stdenv, fetchurl, fetchpatch, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "libmad-0.15.1b";
-  
+  pname = "libmad";
+  version = "0.15.1b";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mad/${name}.tar.gz";
-    sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
+    url = "mirror://sourceforge/mad/${pname}-${version}.tar.gz";
+    sha256 = "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv";
   };
 
-  patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ]
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/001-mips_removal_h_constraint.patch";
+      sha256 = "0layswr6qg6axf4vyz6xrv73jwga34mkma3ifk9w9vrk41454hr5";
+    })
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/libmad.patch";
+      sha256 = "0rysq0sn3dfdz6pa6bfqkmk4ymc4rzk5ym7p16dyk37sldg1pbzs";
+    })
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/amd64-64bit.diff";
+      sha256 = "0mx56dmkbvw3zxnqd2hjng48q0d7q7473pns4n0ksdam29b0c5ar";
+    })
+    (fetchpatch {
+      name = "CVE-2017-8372-CVE-2017-8373.patch";
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/102-CVE-2017-8373-CVE-2017-8372-md-size.patch";
+      sha256 = "0p6mkpn66h1ds8jvww28q4vlr58jwm58m9vb7pkvvyvy764agqnk";
+    })
+    (fetchpatch {
+      name = "CVE-2017-8374.patch";
+      url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/101-CVE-2017-8374-length-check.patch";
+      sha256 = "1j1ssxwmx9nfahzl62frbzck93xrjc2v3w30c12vmk29iflf1890";
+    })
+  ]
   # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad
   # It is included here in order to fix a build failure in Clang
   # But it may be useful to fix other, currently unknown problems as well
-  ++ stdenv.lib.optional stdenv.cc.isClang [ ./optimize.diff ];
-
-  nativeBuildInputs = [ autoconf ];
+  ++ stdenv.lib.optionals stdenv.cc.isClang [
+    (fetchpatch {
+      url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff";
+      sha256 = "1wp60ywzk6nmxc3kq3v6i8b7s4cibvf5cjir859zv10y5aa1d0pk";
+    })
+  ];
 
   # The -fforce-mem flag has been removed in GCC 4.3.
-  preConfigure = ''
-    autoconf
-    substituteInPlace configure --replace "-fforce-mem" ""
-    substituteInPlace configure --replace "arch=\"-march=i486\"" ""
+  postPatch = ''
+    substituteInPlace configure.ac --replace "-fforce-mem" ""
+    substituteInPlace configure.ac --replace "arch=\"-march=i486\"" ""
   '';
 
+  nativeBuildInputs = [ autoconf ];
+
+  preConfigure = "autoconf";
+
   meta = with stdenv.lib; {
     homepage    = https://sourceforge.net/projects/mad/;
     description = "A high-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2";
diff --git a/pkgs/development/libraries/libmad/optimize.diff b/pkgs/development/libraries/libmad/optimize.diff
deleted file mode 100644
index 1418dc92707..00000000000
--- a/pkgs/development/libraries/libmad/optimize.diff
+++ /dev/null
@@ -1,77 +0,0 @@
-Index: libmad-0.15.1b/configure.ac
-===================================================================
---- libmad-0.15.1b.orig/configure.ac	2008-03-07 20:31:23.000000000 +0000
-+++ libmad-0.15.1b/configure.ac	2008-03-07 20:34:26.000000000 +0000
-@@ -124,71 +124,7 @@
- 
- if test "$GCC" = yes
- then
--    if test -z "$arch"
--    then
--	case "$host" in
--	    i386-*)           ;;
--	    i?86-*)           arch="-march=i486" ;;
--	    arm*-empeg-*)     arch="-march=armv4 -mtune=strongarm1100" ;;
--	    armv4*-*)         arch="-march=armv4 -mtune=strongarm" ;;
--	    powerpc-*)        ;;
--	    mips*-agenda-*)   arch="-mcpu=vr4100" ;;
--	    mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
--	esac
--    fi
--
--    case "$optimize" in
--	-O|"-O "*)
--	    optimize="-O"
--	    optimize="$optimize -fforce-mem"
--	    optimize="$optimize -fforce-addr"
--	    : #x optimize="$optimize -finline-functions"
--	    : #- optimize="$optimize -fstrength-reduce"
--	    optimize="$optimize -fthread-jumps"
--	    optimize="$optimize -fcse-follow-jumps"
--	    optimize="$optimize -fcse-skip-blocks"
--	    : #x optimize="$optimize -frerun-cse-after-loop"
--	    : #x optimize="$optimize -frerun-loop-opt"
--	    : #x optimize="$optimize -fgcse"
--	    optimize="$optimize -fexpensive-optimizations"
--	    optimize="$optimize -fregmove"
--	    : #* optimize="$optimize -fdelayed-branch"
--	    : #x optimize="$optimize -fschedule-insns"
--	    optimize="$optimize -fschedule-insns2"
--	    : #? optimize="$optimize -ffunction-sections"
--	    : #? optimize="$optimize -fcaller-saves"
--	    : #> optimize="$optimize -funroll-loops"
--	    : #> optimize="$optimize -funroll-all-loops"
--	    : #x optimize="$optimize -fmove-all-movables"
--	    : #x optimize="$optimize -freduce-all-givs"
--	    : #? optimize="$optimize -fstrict-aliasing"
--	    : #* optimize="$optimize -fstructure-noalias"
--
--	    case "$host" in
--		arm*-*)
--		    optimize="$optimize -fstrength-reduce"
--		    ;;
--		mips*-*)
--		    optimize="$optimize -fstrength-reduce"
--		    optimize="$optimize -finline-functions"
--		    ;;
--		i?86-*)
--		    optimize="$optimize -fstrength-reduce"
--		    ;;
--		powerpc-apple-*)
--		    # this triggers an internal compiler error with gcc2
--		    : #optimize="$optimize -fstrength-reduce"
--
--		    # this is really only beneficial with gcc3
--		    : #optimize="$optimize -finline-functions"
--		    ;;
--		*)
--		    # this sometimes provokes bugs in gcc 2.95.2
--		    : #optimize="$optimize -fstrength-reduce"
--		    ;;
--	    esac
--	    ;;
--    esac
-+    optimize="-O2"
- fi
- 
- case "$host" in
diff --git a/pkgs/development/libraries/libmad/pkgconfig.patch b/pkgs/development/libraries/libmad/pkgconfig.patch
deleted file mode 100644
index 0ac88acb841..00000000000
--- a/pkgs/development/libraries/libmad/pkgconfig.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff -ruN libmad-0.15.1b.orig/Makefile.am libmad-0.15.1b/Makefile.am
---- libmad-0.15.1b.orig/Makefile.am	2004-02-17 02:02:03.000000000 +0000
-+++ libmad-0.15.1b/Makefile.am	2005-08-25 12:08:04.000000000 +0000
-@@ -33,9 +33,12 @@
- minimad_INCLUDES =	
- minimad_LDADD =		libmad.la
- 
--EXTRA_DIST =		mad.h.sed  \
-+EXTRA_DIST =		mad.h.sed mad.pc.in \
- 			CHANGES COPYRIGHT CREDITS README TODO VERSION
- 
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA= mad.pc
-+
- exported_headers =	version.h fixed.h bit.h timer.h stream.h frame.h  \
- 			synth.h decoder.h
- 
-diff -ruN libmad-0.15.1b.orig/Makefile.in libmad-0.15.1b/Makefile.in
---- libmad-0.15.1b.orig/Makefile.in	2004-02-17 02:33:23.000000000 +0000
-+++ libmad-0.15.1b/Makefile.in	2005-08-25 12:09:34.000000000 +0000
-@@ -14,6 +14,8 @@
- 
- @SET_MAKE@
- 
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = mad.pc
- 
- SOURCES = $(libmad_la_SOURCES) $(EXTRA_libmad_la_SOURCES) $(minimad_SOURCES)
- 
-@@ -43,7 +45,7 @@
- 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(srcdir)/config.h.in $(srcdir)/libmad.list.in \
- 	$(top_srcdir)/configure COPYING INSTALL TODO config.guess \
--	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
-+	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs mad.pc.in
- subdir = .
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-@@ -53,7 +55,7 @@
-  configure.lineno configure.status.lineno
- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
- CONFIG_HEADER = config.h
--CONFIG_CLEAN_FILES = libmad.list
-+CONFIG_CLEAN_FILES = libmad.list mad.pc
- am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
- libLTLIBRARIES_INSTALL = $(INSTALL)
- LTLIBRARIES = $(lib_LTLIBRARIES)
-@@ -218,7 +220,7 @@
- minimad_SOURCES = minimad.c
- minimad_INCLUDES = 
- minimad_LDADD = libmad.la
--EXTRA_DIST = mad.h.sed  \
-+EXTRA_DIST = mad.h.sed  mad.pc.in \
- 			CHANGES COPYRIGHT CREDITS README TODO VERSION
- 
- exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h  \
-@@ -298,6 +300,28 @@
- 	rm -f stamp-h1
- 	touch $@
- 
-+mad.pc: $(top_builddir)/config.status mad.pc.in
-+	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-+
-+install-pkgconfigDATA: $(pkgconfig_DATA)
-+	@$(NORMAL_INSTALL)
-+	$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
-+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
-+	  if test -f $(srcdir)/$$p; then \
-+	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-+	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	  else if test -f $$p; then \
-+	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
-+	    $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	  fi; fi; \
-+	done
-+
-+uninstall-pkgconfigDATA:
-+	@$(NORMAL_UNINSTALL)
-+	list='$(pkgconfig_DATA)'; for p in $$list; do \
-+	  rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
-+	done
-+
- distclean-hdr:
- 	-rm -f config.h stamp-h1
- libmad.list: $(top_builddir)/config.status $(srcdir)/libmad.list.in
-@@ -726,7 +750,7 @@
- 
- info-am:
- 
--install-data-am: install-includeHEADERS
-+install-data-am: install-includeHEADERS install-pkgconfigDATA
- 
- install-exec-am: install-libLTLIBRARIES
- 
-@@ -757,7 +781,7 @@
- ps-am:
- 
- uninstall-am: uninstall-includeHEADERS uninstall-info-am \
--	uninstall-libLTLIBRARIES
-+	uninstall-libLTLIBRARIES install-pkgconfigDATA
- 
- uninstall-info: uninstall-info-recursive
- 
-diff -ruN libmad-0.15.1b.orig/mad.pc.in libmad-0.15.1b/mad.pc.in
---- libmad-0.15.1b.orig/mad.pc.in	1970-01-01 00:00:00.000000000 +0000
-+++ libmad-0.15.1b/mad.pc.in	2005-08-25 12:08:04.000000000 +0000
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: MAD
-+Description: libmad - MPEG audio decoder library
-+Version: @VERSION@
-+Libs: -L${libdir} -lmad
-+Cflags:
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
index 2fa162b7e8b..5cf12ea46ba 100644
--- a/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmaxminddb";
-  version = "1.3.2";
+  version = "1.4.2";
 
   src = fetchurl {
     url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1w60yq26x3yr3abxk7fwqqaggw8dc98595jdliaa3kyqdfm83y76";
+    sha256 = "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 2d026452e6f..46255e276f5 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.20.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "0rm8j4zh9gnb3yi324cnxy91gdimc1vg5gv1kxc2m5lymb3wdxrc";
+    sha256 = "16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 866edcc437c..c8340626935 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmicrohttpd";
-  version = "0.9.67";
+  version = "0.9.68";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${pname}-${version}.tar.gz";
-    sha256 = "1584lv2miq7sp7yjd58lcbddh3yh5p8f9gbygn1d96fh4ckqa7vy";
+    sha256 = "0q8bc4hrxn6llml7w2vam6n833x8injs39wgdkhwkawr50m6wwf5";
   };
 
   outputs = [ "out" "dev" "devdoc" "info" ];
diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix
index aea7a5959fa..53b6af40b51 100644
--- a/pkgs/development/libraries/libminc/default.nix
+++ b/pkgs/development/libraries/libminc/default.nix
@@ -1,17 +1,16 @@
 { stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }:
 
 stdenv.mkDerivation rec {
-  pname = "libminc";
-  name  = "${pname}-2018-01-17";
+  pname   = "libminc";
+  version = "2.4.03";
 
   owner = "BIC-MNI";
 
-  # current master is significantly ahead of most recent release, so use Git version:
   src = fetchFromGitHub {
     inherit owner;
     repo   = pname;
-    rev    = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b";
-    sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa";
+    rev    = "release-${version}";
+    sha256 = "0kpmqs9df836ywsqj749qbsfavf5bnldblxrmnmxqq9pywc8yfrm";
   };
 
   postPatch = ''
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
     "-DLIBMINC_USE_SYSTEM_NIFTI=ON"
   ];
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
   checkPhase = ''
     export LD_LIBRARY_PATH="$(pwd)"  # see #22060
     ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure
diff --git a/pkgs/development/libraries/libmodule/default.nix b/pkgs/development/libraries/libmodule/default.nix
index bcd20c3b407..26b81d4d412 100644
--- a/pkgs/development/libraries/libmodule/default.nix
+++ b/pkgs/development/libraries/libmodule/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmodule";
-  version = "4.2.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "libmodule";
     rev = version;
-    sha256 = "1qn54pysdm0q7v1gnisd43i5i4ylf8s8an77jk6jd8qimysv08mx";
+    sha256 = "1cf81sl33xmfn5g150iqcdrjn0lpjlgp53mganwi6x7jda2qk7r6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index 4c886078aa8..321204a0c4f 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libmypaint/default.nix b/pkgs/development/libraries/libmypaint/default.nix
index 91e0b5ef072..c36633edfff 100644
--- a/pkgs/development/libraries/libmypaint/default.nix
+++ b/pkgs/development/libraries/libmypaint/default.nix
@@ -7,7 +7,7 @@
 , json_c
 , libtool
 , pkgconfig
-, python2
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     intltool
     libtool
     pkgconfig
-    python2
+    python3
   ];
 
   buildInputs = [
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    sed 's|python2|python|' -i autogen.sh
+  '';
+
   preConfigure = "./autogen.sh";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix
index bfff0c84522..613103db69f 100644
--- a/pkgs/development/libraries/libndctl/default.nix
+++ b/pkgs/development/libraries/libndctl/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libndctl";
-  version = "66";
+  version = "67";
 
   src = fetchFromGitHub {
     owner  = "pmem";
     repo   = "ndctl";
     rev    = "v${version}";
-    sha256 = "1pq1ss6b1lnyfnvdfhpi0x70jjrnm567fcyvkgvhmp2ndzsn393f";
+    sha256 = "076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index 815ed3a6bd4..a4f98eed417 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.4";
+  version = "1.1.5";
   pname = "libnftnl";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "087dfc2n4saf2k68hyi4byvgz5grwpw5kfjvmkpn3wmd8y1riiy8";
+    sha256 = "1wqlxf76bkqf3qhka9sw32qhb2ni20q1k6rn3iril2kw482lvpk6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libngspice/default.nix b/pkgs/development/libraries/libngspice/default.nix
index d9b2df6148a..ffecfcb61d0 100644
--- a/pkgs/development/libraries/libngspice/default.nix
+++ b/pkgs/development/libraries/libngspice/default.nix
@@ -4,11 +4,11 @@
 # the ngspice derivation.
 stdenv.mkDerivation rec {
   pname = "libngspice";
-  version = "30";
+  version = "31";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "15v0jdfy2a2zxp8dmy04fdp7w7a4vwvffcwa688r81b86wphxzh8";
+    sha256 = "10n2lnfrpsv4vyrirkphr4jwjjhy7i617g6za78dwirfjq63npw4";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index f4ce1f6eea0..90bdb06bb7f 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -1,4 +1,19 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, python3, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp-igd, gst_all_1, gnutls }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python3
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, glib
+, gupnp-igd
+, gst_all_1
+, gnutls
+}:
 
 stdenv.mkDerivation rec {
   name = "libnice-0.1.16";
@@ -21,27 +36,40 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gobject-introspection
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
+
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gnutls
+    gupnp-igd
+  ];
+
+  propagatedBuildInputs = [
+    glib
   ];
-  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
-  propagatedBuildInputs = [ glib gupnp-igd ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  # TODO; see #53293 etc.
-  #doCheck = true;
+  # Tests are flaky
+  # see https://github.com/NixOS/nixpkgs/pull/53293#issuecomment-453739295
+  doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://nice.freedesktop.org/wiki/;
-    description = "The GLib ICE implementation";
+    description = "GLib ICE implementation";
     longDescription = ''
       Libnice is an implementation of the IETF's Interactice Connectivity
       Establishment (ICE) standard (RFC 5245) and the Session Traversal
@@ -49,6 +77,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
+    homepage = "https://nice.freedesktop.org/wiki/";
     platforms = platforms.linux;
     license = with licenses; [ lgpl21 mpl11 ];
   };
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index d4ac3ae8dc9..59039aadb89 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -1,5 +1,14 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, fetchpatch
-, glib, gdk-pixbuf, gobject-introspection, gnome3 }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, fetchpatch
+, glib
+, gdk-pixbuf
+, gobject-introspection
+, gnome3
+}:
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
@@ -26,8 +35,17 @@ stdenv.mkDerivation rec {
     "-Dgtk_doc=false"
   ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
-  buildInputs = [ glib gdk-pixbuf ];
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  propagatedBuildInputs = [
+    gdk-pixbuf
+    glib
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -40,6 +58,7 @@ stdenv.mkDerivation rec {
     homepage = https://developer.gnome.org/notification-spec/;
     description = "A library that sends desktop notifications to a notification daemon";
     platforms = platforms.unix;
+    maintainers = gnome3.maintainers;
     license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 6723c08f082..76276f0ce0f 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,23 +1,27 @@
-{ stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
-        
+{ stdenv, fetchFromGitHub, opensp, pkgconfig, libxml2, curl
+, autoconf, automake, libtool, gengetopt, libiconv }:
+
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.14";
+  pname = "libofx";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "02i9zxkp66yxjpjay5dscfh53bz5vxy03zcxncpw09svl6zmf9xq";
+  src = fetchFromGitHub {
+    owner = "LibOFX";
+    repo = pname;
+    rev = version;
+    sha256 = "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy";
   };
 
+  preConfigure = "./autogen.sh";
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ opensp libxml2 curl ];
+  nativeBuildInputs = [ pkgconfig libtool autoconf automake gengetopt ];
+  buildInputs = [ opensp libxml2 curl ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   meta = { 
     description = "Opensource implementation of the Open Financial eXchange specification";
     homepage = http://libofx.sourceforge.net/;
     license = "LGPL";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
-
diff --git a/pkgs/development/libraries/libosmium/default.nix b/pkgs/development/libraries/libosmium/default.nix
index 8005fb9dbbe..e6abe620aaf 100644
--- a/pkgs/development/libraries/libosmium/default.nix
+++ b/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.15.3";
+  version = "2.15.4";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "14xpzac93f8pqjkz1r0ckqv8h691z5p6pd06wn8ib1aryzc7ps97";
+    sha256 = "0mlcvqrhp40bzj5r5j9nfc5vbis8hmzcq9xi8jylkciyydaynhz4";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libowfat/default.nix b/pkgs/development/libraries/libowfat/default.nix
index 8c0094a3152..4f1a5f8a179 100644
--- a/pkgs/development/libraries/libowfat/default.nix
+++ b/pkgs/development/libraries/libowfat/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
+    description = "A GPL reimplementation of libdjb";
     homepage = https://www.fefe.de/libowfat/;
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix
index eaa11d1a864..cee6d3f1845 100644
--- a/pkgs/development/libraries/libplacebo/default.nix
+++ b/pkgs/development/libraries/libplacebo/default.nix
@@ -12,16 +12,18 @@
 
 stdenv.mkDerivation rec {
   pname = "libplacebo";
-  version = "1.21.0";
+  version = "1.29.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "099qwla0yl76qw16lzdx33svyhx84p5gsa50ksy4828b18fy3bgb";
+    sha256 = "1ly5bwy0pwgvqigpaak8hnig5hksjwf0pzvj3mdv3j2f6f7ya2zz";
   };
 
+  postPatch = "substituteInPlace meson.build --replace 1.29.0 1.29.1";
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 6f59c94a56b..14ae1156087 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     branch = "1.2";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 849f7d29ef6..95ef6201346 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -34,6 +34,6 @@ in stdenv.mkDerivation rec {
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng2;
     platforms = platforms.all;
-    maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 15aa7c9e22d..d2012760dcf 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -1,5 +1,16 @@
-{ stdenv, fetchurl, autoreconfHook, docbook_xsl, docbook_xml_dtd_43, gtk-doc, lzip
-, libidn2, libunistring, libxslt, pkgconfig, python3, valgrind
+{ stdenv
+, fetchurl
+, autoreconfHook
+, docbook_xsl
+, docbook_xml_dtd_43
+, gtk-doc
+, lzip
+, libidn2
+, libunistring
+, libxslt
+, pkgconfig
+, python3
+, valgrind
 , publicsuffix-list
 }:
 
@@ -12,9 +23,26 @@ stdenv.mkDerivation rec {
     sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
   };
 
-  nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_43 gtk-doc lzip pkgconfig python3 valgrind ];
-  buildInputs = [ libidn2 libunistring libxslt ];
-  propagatedBuildInputs = [ publicsuffix-list ];
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xsl
+    docbook_xml_dtd_43
+    gtk-doc
+    lzip
+    pkgconfig
+    python3
+    valgrind
+  ];
+
+  buildInputs = [
+    libidn2
+    libunistring
+    libxslt
+  ];
+
+  propagatedBuildInputs = [
+    publicsuffix-list
+  ];
 
   postPatch = ''
     patchShebangs src/psl-make-dafsa
@@ -25,7 +53,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-#    "--enable-gtk-doc"
+    # "--enable-gtk-doc"
     "--enable-man"
     "--enable-valgrind-tests"
     "--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
@@ -35,7 +63,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "C library for the Publix Suffix List";
diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix
index df3595adc01..b0d5513ca0f 100644
--- a/pkgs/development/libraries/libpwquality/default.nix
+++ b/pkgs/development/libraries/libpwquality/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpwquality";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "libpwquality";
     repo = "libpwquality";
     rev = "${pname}-${version}";
-    sha256 = "150gk1d0gq9cig3ylyns7fgihgm3qb1basncahgyh1kzxplrdqm7";
+    sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h";
   };
 
   nativeBuildInputs = [ autoreconfHook perl ];
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 4ba976a9fb8..d369eebd88f 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "0jfi9h8wsj7h5z3dxdijq6ddxiygik9j86pjxl3hza4v2ilsbwy3";
+    sha256 = "0qfdgxb46c18cp43z67n986xhj6x0sa95hryq42spf1p5ymbylqy";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix
new file mode 100644
index 00000000000..ec31a29d053
--- /dev/null
+++ b/pkgs/development/libraries/libraspberrypi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, cmake, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "libraspberrypi";
+  version = "2019-10-22";
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "userland";
+    rev = "5070cb7fc150fc98f1ed64a7739c3356970d9f76";
+    sha256 = "08yfzwn9s7lhrblcsxyag9p5lj5vk3n66b1pv3f7r3hah7qcggyq";
+  };
+
+  cmakeFlags = if (stdenv.targetPlatform.system == "aarch64-linux")
+    then "-DARM64=ON"
+    else "-DARM64=OFF";
+  preConfigure = ''cmakeFlags="$cmakeFlags -DVMCS_INSTALL_PREFIX=$out"'';
+  nativeBuildInputs = [ cmake ];
+  meta = with stdenv.lib; {
+    description = "Userland libraries for interfacing with Raspberry Pi hardware";
+    homepage = https://github.com/raspberrypi/userland;
+    license = licenses.bsd3;
+    platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ tkerber ];
+  };
+}
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 62fa8c1a675..00288e359df 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, lcms2, jasper, pkgconfig }:
+{ stdenv, fetchurl, lcms2, pkgconfig
+, jasper ? null, withJpeg2k ? false
+# disable JPEG2000 support by default as jasper has many CVE
+}:
 
 stdenv.mkDerivation rec {
   pname = "libraw";
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
-  buildInputs = [ jasper ];
+  buildInputs = stdenv.lib.optionals withJpeg2k [ jasper ];
 
   propagatedBuildInputs = [ lcms2 ];
 
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index e365ec7a01a..433597cde6f 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    homepage = http://www.creytiv.com/re.html;
+    description = "A library for real-time communications with async IO support and a complete SIP stack";
+    homepage = "http://www.creytiv.com/re.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 468bcfb0a18..91c093c991a 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
+{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.25.0";
+  version = "2.29.0";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
-    repo = "librealsense";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "029qps0bbck0m2xj0mb5g3pgkk7a1zq8wcilfkvpx72sn7039xvw";
+    sha256 = "0wrg1c4fcd5ky96hmnczg9izfgd0yxls8ghxxzrdvgdlg269f443";
   };
 
   buildInputs = [
-    libusb
+    libusb1
   ];
 
   nativeBuildInputs = [
@@ -25,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
-    homepage = https://github.com/IntelRealSense/librealsense;
+    homepage = "https://github.com/IntelRealSense/librealsense";
     license = licenses.asl20;
     maintainers = with maintainers; [ brian-dawn ];
-    platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index aeda663342e..012ac2a46a7 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    homepage = http://www.creytiv.com/rem.html;
+    description = " A library for real-time audio and video processing";
+    homepage = "http://www.creytiv.com/rem.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index e54098b4459..11c7f3fed84 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -4,14 +4,14 @@
 
 let
   pname = "librsvg";
-  version = "2.46.1";
+  version = "2.46.4";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0hvnqrgfi8c2xh94gxs6xwwg1m2z3l0lblqs2anlx8k3g9ag589d";
+    sha256 = "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index b2a79967477..9bf246f556d 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, automake, autoconf, pkgconfig, libtool, python2Packages, glib, jansson}:
 
 stdenv.mkDerivation rec {
-  version = "3.1.0";
+  version = "3.2.0";
   pname = "libsearpc";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "libsearpc";
     rev = "v${version}";
-    sha256 = "1zf8xxsl95wdx0372kl8s153hd8q3lhwwvwr2k96ia8scbn2ylkp";
+    sha256 = "18i5zvrp6dv6vygxx5nc93mai2p2x786n5lnf5avrin6xiz2j6hd";
   };
 
   patches = [ ./libsearpc.pc.patch ];
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 8c9c6ac107c..08c276c4d55 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw";
+    sha256 = "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 0a3c110bbbd..ca2449adefd 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, gettext, libxslt, python3, docbook_xsl, docbook_xml_dtd_42
-, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, libintl, dbus, xvfb_run }:
+, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, gjs, libintl, dbus, xvfb_run }:
 
 stdenv.mkDerivation rec {
   pname = "libsecret";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gnome3.gjs ];
+  installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gjs ];
 
   # needs to run after install because typelibs point to absolute paths
   doInstallCheck = false; # Failed to load shared library '/force/shared/libmock_service.so.0' referenced by the typelib
diff --git a/pkgs/development/libraries/libsexy/default.nix b/pkgs/development/libraries/libsexy/default.nix
deleted file mode 100644
index cb22d9f97bc..00000000000
--- a/pkgs/development/libraries/libsexy/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, glib, gtk2, libxml2, pango
-}:
-
-stdenv.mkDerivation {
-  name = "libsexy-0.1.11";
-
-  src = fetchurl {
-    url = http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.11.tar.gz;
-    sha256 = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ glib gtk2 libxml2 pango ];
-
-  meta = with stdenv.lib; {
-    description = "A collection of GTK widgets";
-    homepage = https://blog.chipx86.com/tag/libsexy/;
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 84f6656d0b8..c3fe1ad619a 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.7";
+  version  = "0.7.9";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "0f6r5j5d4fbzx9ihbbwrqylayw90qac8kapkhmfcvsh7f8whr623";
+    sha256 = "1ijb4nywc3hx142194d85x7db0j5g2n0i750665fal30qrw2x43y";
   };
 
   cmakeFlags = [
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A free package dependency solver";
+    homepage    = "https://github.com/openSUSE/libsolv";
     license     = licenses.bsd3;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 7c4772c9cf1..2d2f2da6a39 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "2.68.2";
+  version = "2.68.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0crr9qprmacr626fx83cx81ggk85zsgxr4mn577kpzj6m40k1bai";
+    sha256 = "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libspectrum/default.nix b/pkgs/development/libraries/libspectrum/default.nix
new file mode 100644
index 00000000000..c09a45abf59
--- /dev/null
+++ b/pkgs/development/libraries/libspectrum/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchurl, perl, pkgconfig, audiofile, bzip2, glib, libgcrypt, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "libspectrum-1.4.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/fuse-emulator/${name}.tar.gz";
+    sha256 = "1cc0jx617sym6qj1f9fm115q44cq5azsxplqq2cgrg0pmlmjpyzx";
+  };
+
+  nativeBuildInputs = [ perl pkgconfig ];
+
+  buildInputs = [ audiofile bzip2 glib libgcrypt zlib ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = http://fuse-emulator.sourceforge.net/libspectrum.php;
+    description = "ZX Spectrum input and output support library";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 6d95d81e5d9..5a7fb3395eb 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU_combined, upx, zlib }:
+{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU, libGL, upx, zlib }:
 
 stdenv.mkDerivation {
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
 
-  buildInputs = [ cmake SDL libGLU_combined upx zlib ];
+  buildInputs = [ cmake SDL libGLU libGL upx zlib ];
 
   meta = {
     description = "API for roguelike games";
diff --git a/pkgs/development/libraries/libtermkey/default.nix b/pkgs/development/libraries/libtermkey/default.nix
index a30d3235411..989d26b64e1 100644
--- a/pkgs/development/libraries/libtermkey/default.nix
+++ b/pkgs/development/libraries/libtermkey/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses }:
+{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses, unibilium }:
 
 stdenv.mkDerivation rec {
   pname = "libtermkey";
@@ -13,11 +13,12 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ]
     ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libtool ncurses ];
+  nativeBuildInputs = [ libtool pkgconfig ];
+  buildInputs = [ ncurses unibilium ];
 
   meta = with lib; {
     description = "Terminal keypress reading library";
+    homepage = http://www.leonerd.org.uk/code/libtermkey;
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libtiff/CVE-2019-14973.patch b/pkgs/development/libraries/libtiff/CVE-2019-14973.patch
deleted file mode 100644
index 1dc75246902..00000000000
--- a/pkgs/development/libraries/libtiff/CVE-2019-14973.patch
+++ /dev/null
@@ -1,384 +0,0 @@
-diff -ru tiff-4.0.10-orig/libtiff/tif_aux.c tiff-4.0.10/libtiff/tif_aux.c
---- tiff-4.0.10-orig/libtiff/tif_aux.c	2017-12-02 16:21:47.305709555 +0100
-+++ tiff-4.0.10/libtiff/tif_aux.c	2019-10-02 22:35:17.392184463 +0200
-@@ -57,18 +57,57 @@
- 	return bytes;
- }
- 
-+tmsize_t
-+_TIFFMultiplySSize(TIFF* tif, tmsize_t first, tmsize_t second, const char* where)
-+{
-+    if( first <= 0 || second <= 0 )
-+    {
-+        if( tif != NULL && where != NULL )
-+        {
-+            TIFFErrorExt(tif->tif_clientdata, where,
-+                        "Invalid argument to _TIFFMultiplySSize() in %s", where);
-+        }
-+        return 0;
-+    }
-+
-+    if( first > TIFF_TMSIZE_T_MAX / second )
-+    {
-+        if( tif != NULL && where != NULL )
-+        {
-+            TIFFErrorExt(tif->tif_clientdata, where,
-+                        "Integer overflow in %s", where);
-+        }
-+        return 0;
-+    }
-+    return first * second;
-+}
-+
-+tmsize_t _TIFFCastUInt64ToSSize(TIFF* tif, uint64 val, const char* module)
-+{
-+    if( val > (uint64)TIFF_TMSIZE_T_MAX )
-+    {
-+        if( tif != NULL && module != NULL )
-+        {
-+            TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
-+        }
-+        return 0;
-+    }
-+    return (tmsize_t)val;
-+}
-+
- void*
- _TIFFCheckRealloc(TIFF* tif, void* buffer,
- 		  tmsize_t nmemb, tmsize_t elem_size, const char* what)
- {
- 	void* cp = NULL;
--	tmsize_t bytes = nmemb * elem_size;
--
-+        tmsize_t count = _TIFFMultiplySSize(tif, nmemb, elem_size, NULL);
- 	/*
--	 * XXX: Check for integer overflow.
-+	 * Check for integer overflow.
- 	 */
--	if (nmemb && elem_size && bytes / elem_size == nmemb)
--		cp = _TIFFrealloc(buffer, bytes);
-+	if (count != 0)
-+	{
-+		cp = _TIFFrealloc(buffer, count);
-+	}
- 
- 	if (cp == NULL) {
- 		TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
-diff -ru tiff-4.0.10-orig/libtiff/tiffiop.h tiff-4.0.10/libtiff/tiffiop.h
---- tiff-4.0.10-orig/libtiff/tiffiop.h	2018-11-03 15:28:37.748910968 +0100
-+++ tiff-4.0.10/libtiff/tiffiop.h	2019-10-02 22:35:17.396184535 +0200
-@@ -77,6 +77,9 @@
- #define	FALSE	0
- #endif
- 
-+#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
-+#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
-+
- typedef struct client_info {
-     struct client_info *next;
-     void *data;
-@@ -258,7 +261,7 @@
- #define TIFFhowmany8_64(x) (((x)&0x07)?((uint64)(x)>>3)+1:(uint64)(x)>>3)
- #define TIFFroundup_64(x, y) (TIFFhowmany_64(x,y)*(y))
- 
--/* Safe multiply which returns zero if there is an integer overflow */
-+/* Safe multiply which returns zero if there is an *unsigned* integer overflow. This macro is not safe for *signed* integer types */
- #define TIFFSafeMultiply(t,v,m) ((((t)(m) != (t)0) && (((t)(((v)*(m))/(m))) == (t)(v))) ? (t)((v)*(m)) : (t)0)
- 
- #define TIFFmax(A,B) ((A)>(B)?(A):(B))
-@@ -368,6 +371,8 @@
- 
- extern uint32 _TIFFMultiply32(TIFF*, uint32, uint32, const char*);
- extern uint64 _TIFFMultiply64(TIFF*, uint64, uint64, const char*);
-+extern tmsize_t _TIFFMultiplySSize(TIFF*, tmsize_t, tmsize_t, const char*);
-+extern tmsize_t _TIFFCastUInt64ToSSize(TIFF*, uint64, const char*);
- extern void* _TIFFCheckMalloc(TIFF*, tmsize_t, tmsize_t, const char*);
- extern void* _TIFFCheckRealloc(TIFF*, void*, tmsize_t, tmsize_t, const char*);
- 
-diff -ru tiff-4.0.10-orig/libtiff/tif_getimage.c tiff-4.0.10/libtiff/tif_getimage.c
---- tiff-4.0.10-orig/libtiff/tif_getimage.c	2017-12-02 16:21:47.654716127 +0100
-+++ tiff-4.0.10/libtiff/tif_getimage.c	2019-10-02 22:35:17.393184481 +0200
-@@ -755,9 +755,8 @@
- 	uint32 leftmost_tw;
- 
- 	tilesize = TIFFTileSize(tif);  
--	bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,tilesize);
-+	bufsize = _TIFFMultiplySSize(tif, alpha?4:3,tilesize, "gtTileSeparate");
- 	if (bufsize == 0) {
--		TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtTileSeparate");
- 		return (0);
- 	}
- 
-@@ -1019,9 +1018,8 @@
-         uint16 colorchannels;
- 
- 	stripsize = TIFFStripSize(tif);  
--	bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,stripsize);
-+	bufsize = _TIFFMultiplySSize(tif,alpha?4:3,stripsize, "gtStripSeparate");
- 	if (bufsize == 0) {
--		TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtStripSeparate");
- 		return (0);
- 	}
- 
-diff -ru tiff-4.0.10-orig/libtiff/tif_luv.c tiff-4.0.10/libtiff/tif_luv.c
---- tiff-4.0.10-orig/libtiff/tif_luv.c	2018-05-05 15:50:35.884596907 +0200
-+++ tiff-4.0.10/libtiff/tif_luv.c	2019-10-02 22:35:17.393184481 +0200
-@@ -1264,16 +1264,10 @@
- 	return (SGILOGDATAFMT_UNKNOWN);
- }
- 
--
--#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
--#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
--
- static tmsize_t
- multiply_ms(tmsize_t m1, tmsize_t m2)
- {
--        if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
--            return 0;
--        return m1 * m2;
-+        return _TIFFMultiplySSize(NULL, m1, m2, NULL);
- }
- 
- static int
-diff -ru tiff-4.0.10-orig/libtiff/tif_pixarlog.c tiff-4.0.10/libtiff/tif_pixarlog.c
---- tiff-4.0.10-orig/libtiff/tif_pixarlog.c	2017-12-02 16:21:47.841162432 +0100
-+++ tiff-4.0.10/libtiff/tif_pixarlog.c	2019-10-02 22:36:01.223970118 +0200
-@@ -634,15 +634,10 @@
- 	return guess;
- }
- 
--#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
--#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
--
- static tmsize_t
- multiply_ms(tmsize_t m1, tmsize_t m2)
- {
--        if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
--            return 0;
--        return m1 * m2;
-+        return _TIFFMultiplySSize(NULL, m1, m2, NULL);
- }
- 
- static tmsize_t
-diff -ru tiff-4.0.10-orig/libtiff/tif_read.c tiff-4.0.10/libtiff/tif_read.c
---- tiff-4.0.10-orig/libtiff/tif_read.c	2018-10-14 21:15:27.551093695 +0200
-+++ tiff-4.0.10/libtiff/tif_read.c	2019-10-02 22:41:09.387290927 +0200
-@@ -29,9 +29,6 @@
- #include "tiffiop.h"
- #include <stdio.h>
- 
--#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
--#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
--
- int TIFFFillStrip(TIFF* tif, uint32 strip);
- int TIFFFillTile(TIFF* tif, uint32 tile);
- static int TIFFStartStrip(TIFF* tif, uint32 strip);
-@@ -49,6 +46,8 @@
- #define THRESHOLD_MULTIPLIER 10
- #define MAX_THRESHOLD (THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * INITIAL_THRESHOLD)
- 
-+#define TIFF_INT64_MAX ((((int64)0x7FFFFFFF) << 32) | 0xFFFFFFFF)
-+
- /* Read 'size' bytes in tif_rawdata buffer starting at offset 'rawdata_offset'
-  * Returns 1 in case of success, 0 otherwise. */
- static int TIFFReadAndRealloc( TIFF* tif, tmsize_t size,
-@@ -734,23 +733,8 @@
- 		return ((tmsize_t)(-1));
- 	}
- 	bytecount = td->td_stripbytecount[strip];
--	if ((int64)bytecount <= 0) {
--#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
--		TIFFErrorExt(tif->tif_clientdata, module,
--			     "%I64u: Invalid strip byte count, strip %lu",
--			     (unsigned __int64) bytecount,
--			     (unsigned long) strip);
--#else
--		TIFFErrorExt(tif->tif_clientdata, module,
--			     "%llu: Invalid strip byte count, strip %lu",
--			     (unsigned long long) bytecount,
--			     (unsigned long) strip);
--#endif
--		return ((tmsize_t)(-1));
--	}
--	bytecountm = (tmsize_t)bytecount;
--	if ((uint64)bytecountm!=bytecount) {
--		TIFFErrorExt(tif->tif_clientdata, module, "Integer overflow");
-+	bytecountm =  _TIFFCastUInt64ToSSize(tif, bytecount, module);
-+	if (bytecountm == 0) {
- 		return ((tmsize_t)(-1));
- 	}
- 	if (size != (tmsize_t)(-1) && size < bytecountm)
-@@ -774,7 +758,7 @@
- 	if ((tif->tif_flags&TIFF_NOREADRAW)==0)
- 	{
- 		uint64 bytecount = td->td_stripbytecount[strip];
--		if ((int64)bytecount <= 0) {
-+		if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
- #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- 			TIFFErrorExt(tif->tif_clientdata, module,
- 				"Invalid strip byte count %I64u, strip %lu",
-@@ -801,7 +785,7 @@
- 			    (bytecount - 4096) / 10 > (uint64)stripsize  )
- 			{
- 				uint64 newbytecount = (uint64)stripsize * 10 + 4096;
--				if( (int64)newbytecount >= 0 )
-+				if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
- 				{
- #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- 					TIFFWarningExt(tif->tif_clientdata, module,
-@@ -1196,10 +1180,8 @@
- 	bytecount64 = td->td_stripbytecount[tile];
- 	if (size != (tmsize_t)(-1) && (uint64)size < bytecount64)
- 		bytecount64 = (uint64)size;
--	bytecountm = (tmsize_t)bytecount64;
--	if ((uint64)bytecountm!=bytecount64)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
-+	bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount64, module);
-+        if( bytecountm == 0 ) {
- 		return ((tmsize_t)(-1));
- 	}
- 	return (TIFFReadRawTile1(tif, tile, buf, bytecountm, module));
-@@ -1221,7 +1203,7 @@
- 	if ((tif->tif_flags&TIFF_NOREADRAW)==0)
- 	{
- 		uint64 bytecount = td->td_stripbytecount[tile];
--		if ((int64)bytecount <= 0) {
-+		if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
- #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- 			TIFFErrorExt(tif->tif_clientdata, module,
- 				"%I64u: Invalid tile byte count, tile %lu",
-@@ -1248,7 +1230,7 @@
- 			    (bytecount - 4096) / 10 > (uint64)stripsize  )
- 			{
- 				uint64 newbytecount = (uint64)stripsize * 10 + 4096;
--				if( (int64)newbytecount >= 0 )
-+				if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
- 				{
- #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- 					TIFFWarningExt(tif->tif_clientdata, module,
-diff -ru tiff-4.0.10-orig/libtiff/tif_strip.c tiff-4.0.10/libtiff/tif_strip.c
---- tiff-4.0.10-orig/libtiff/tif_strip.c	2017-12-02 16:21:47.947867167 +0100
-+++ tiff-4.0.10/libtiff/tif_strip.c	2019-10-02 22:35:17.395184517 +0200
-@@ -129,15 +129,8 @@
- {
- 	static const char module[] = "TIFFVStripSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFVStripSize64(tif,nrows);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
--		n=0;
--	}
--	return(n);
-+        return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
-@@ -211,15 +204,8 @@
- {
- 	static const char module[] = "TIFFStripSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFStripSize64(tif);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
-@@ -330,14 +316,8 @@
- {
- 	static const char module[] = "TIFFScanlineSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFScanlineSize64(tif);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m) {
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
-@@ -366,15 +346,8 @@
- {
- 	static const char module[] = "TIFFRasterScanlineSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFRasterScanlineSize64(tif);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /* vim: set ts=8 sts=8 sw=8 noet: */
-diff -ru tiff-4.0.10-orig/libtiff/tif_tile.c tiff-4.0.10/libtiff/tif_tile.c
---- tiff-4.0.10-orig/libtiff/tif_tile.c	2017-12-02 16:21:47.993972977 +0100
-+++ tiff-4.0.10/libtiff/tif_tile.c	2019-10-02 22:35:17.395184517 +0200
-@@ -181,15 +181,8 @@
- {
- 	static const char module[] = "TIFFTileRowSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFTileRowSize64(tif);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
-@@ -248,15 +241,8 @@
- {
- 	static const char module[] = "TIFFVTileSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFVTileSize64(tif,nrows);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
-@@ -272,15 +258,8 @@
- {
- 	static const char module[] = "TIFFTileSize";
- 	uint64 m;
--	tmsize_t n;
- 	m=TIFFTileSize64(tif);
--	n=(tmsize_t)m;
--	if ((uint64)n!=m)
--	{
--		TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
--		n=0;
--	}
--	return(n);
-+	return _TIFFCastUInt64ToSSize(tif, m, module);
- }
- 
- /*
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index c35923071b0..795ed439093 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -9,24 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.10";
+  version = "4.1.0";
   pname = "libtiff";
 
   src = fetchurl {
     url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
-    sha256 = "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic";
+    sha256 = "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax";
   };
 
-  patches = [
-    (fetchurl {
-      url = "https://gitlab.com/libtiff/libtiff/commit/0c74a9f49b8d7a36b17b54a7428b3526d20f88a8.patch";
-      name = "CVE-2019-6128.patch";
-      sha256 = "03yvsfq6dxjd3v8ypfwz6cpz2iymqwcbawqqlmkh40dayi7fgizr";
-    })
-    # Manual backport of https://gitlab.com/libtiff/libtiff/commit/1b5e3b6a23827c33acf19ad50ce5ce78f12b3773.patch
-    ./CVE-2019-14973.patch
-  ];
-
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libtommath/default.nix b/pkgs/development/libraries/libtommath/default.nix
index 8ce82bcf07c..0fde422b9aa 100644
--- a/pkgs/development/libraries/libtommath/default.nix
+++ b/pkgs/development/libraries/libtommath/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libtommath";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz";
-    sha256 = "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh";
+    sha256 = "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp";
   };
 
   nativeBuildInputs = [ libtool ];
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index e9267df5047..76362f8f883 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -33,6 +33,12 @@ let
     doCheck = false; # hangs, tries to access the net?
     checkInputs = [ check ];
 
+    postFixup =''
+      sed -i $out/lib/pkgconfig/*.pc \
+        -e "s|^libdir=.*|libdir=$out/lib|" \
+        -e "s|^includedir=.*|includedir=$out/include|"
+    '';
+
     meta = with stdenv.lib; {
       description = "P2P FOSS instant messaging application aimed to replace Skype";
       homepage = https://tox.chat;
diff --git a/pkgs/development/libraries/libtxc_dxtn/default.nix b/pkgs/development/libraries/libtxc_dxtn/default.nix
index 5ac456a60f6..600b1fb510a 100644
--- a/pkgs/development/libraries/libtxc_dxtn/default.nix
+++ b/pkgs/development/libraries/libtxc_dxtn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
+{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
 
 let version = "1.0.1"; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libGLU_combined ];
+  buildInputs = [ libGL libGLU ];
 
   meta = with stdenv.lib; {
     homepage = http://dri.freedesktop.org/wiki/S3TC;
diff --git a/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
index 4959674f0ad..f9f44f5a653 100644
--- a/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
+++ b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
+{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
 
 let version = "1.0"; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libGLU_combined ];
+  buildInputs = [ libGL libGLU ];
 
   meta = {
     description = "A patent-free S3TC compatible implementation";
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix
index ad8c08b3cce..386354b48e4 100644
--- a/pkgs/development/libraries/liburing/default.nix
+++ b/pkgs/development/libraries/liburing/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Userspace library for the Linux io_uring API";
-    homepage    = http://git.kernel.dk/cgit/liburing/;
+    homepage    = https://git.kernel.dk/cgit/liburing/;
     license     = licenses.lgpl21;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 9a08a7756c8..9d90304042c 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -28,13 +28,8 @@ stdenv.mkDerivation (rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
-  configureFlags =
-    # We use `isLinux` here only to avoid mass rebuilds for Darwin, where
-    # disabling udev happens automatically. Remove `isLinux` at next big change!
-    stdenv.lib.optional (stdenv.isLinux && !enableSystemd) "--disable-udev";
-
-  preFixup = stdenv.lib.optionalString enableSystemd ''
-    sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
+  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
+    sed 's,-ludev,-L${stdenv.lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index f9b49a46ebf..524896b8bfd 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.32.0";
+  version = "1.34.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ifazxr5ssw2ay6j66acaxgfwq0x8130fvsyjs1wxvf2r9g4ds9w";
+    sha256 = "0vcrrqf0zqgsfmgbyl45qhajyab98kxqq66l0w4lkj5say86aln8";
   };
 
   postPatch = let
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 1803ce1dc20..7dd874ebc83 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libvirt-glib-2.0.0";
+  name = "libvirt-glib-3.0.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://libvirt.org/sources/glib/${name}.tar.gz";
-    sha256 = "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l";
+    sha256 = "1zpbv4ninc57c9rw4zmmkvvqn7154iv1qfr20kyxn8xplalqrzvz";
   };
 
   nativeBuildInputs = [ pkgconfig intltool vala gobject-introspection ];
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index 0a7819743e0..c9adad6f645 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -1,41 +1,43 @@
-{stdenv, fetchurl, fetchpatch,
- libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng,
- systemd
+{ stdenv, fetchzip, fetchpatch, cmake
+, libjpeg, openssl, zlib, libgcrypt, libpng
+, systemd
 }:
 
 let
   s = # Generated upstream information
   rec {
-    baseName="libvncserver";
-    version="0.9.11";
-    name="${baseName}-${version}";
-    url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
-    sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
+    pname = "libvncserver";
+    version = "0.9.12";
+    url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
+    sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum
   };
 in
 stdenv.mkDerivation {
-  inherit (s) name version;
-  src = fetchurl {
+  inherit (s) pname version;
+  src = fetchzip {
     inherit (s) url sha256;
   };
   patches = [
-    # CVE-2018-7225. Remove with the next release
     (fetchpatch {
-      url = https://salsa.debian.org/debian/libvncserver/raw/master/debian/patches/CVE-2018-7225.patch;
-      sha256 = "1hj1lzxsrdmzzl061vg0ncdpvfmvvkrpk8q12mp70qvszcqa7ja3";
+      name = "CVE-2018-20750.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch";
+      sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm";
+    })
+    (fetchpatch {
+      name = "CVE-2019-15681.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch";
+      sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s";
     })
   ];
-  preConfigure = ''
-    sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
-  '';
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
-    libtool libjpeg openssl libgcrypt libpng
+    libjpeg openssl libgcrypt libpng
   ] ++ stdenv.lib.optional stdenv.isLinux systemd;
   propagatedBuildInputs = [ zlib ];
   meta = {
     inherit (s) version;
-    description =  "VNC server library";
+    description = "VNC server library";
+    homepage = "https://libvnc.github.io/";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 5457b1075a3..263fa0a5216 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
+    description = "Vorbis audio compression reference implementation";
     homepage = https://xiph.org/vorbis/;
     license = licenses.bsd3;
     maintainers = [ maintainers.ehmry ];
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
index 231b426e6a7..50ee7e4d387 100644
--- a/pkgs/development/libraries/libvterm-neovim/default.nix
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "libvterm-neovim";
-  version = "2019-08-28";
+  version = "2019-10-08";
 
   src = fetchFromGitHub {
     owner = "neovim";
     repo = "libvterm";
-    rev = "1aa95e24d8f07a396aa80b7cd52f93e2b5bcca79";
-    sha256 = "0vjd397lqrfv4kc79i5izva4bynbymx3gllkg281fnk0b15vxfif";
+    rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da";
+    sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index fc9932567cf..56c3f638d52 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , threadingSupport ? true # multi-threading
-, openglSupport ? false, freeglut ? null, libGLU_combined ? null # OpenGL (required for vwebp)
+, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp)
 , pngSupport ? true, libpng ? null # PNG image format
 , jpegSupport ? true, libjpeg ? null # JPEG image format
 , tiffSupport ? true, libtiff ? null # TIFF image format
@@ -14,7 +14,7 @@
 , libwebpdecoderSupport ? true # Build libwebpdecoder
 }:
 
-assert openglSupport -> ((freeglut != null) && (libGLU_combined != null));
+assert openglSupport -> freeglut != null && libGL != null && libGLU != null;
 assert pngSupport -> (libpng != null);
 assert jpegSupport -> (libjpeg != null);
 assert tiffSupport -> (libtiff != null);
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ ]
-    ++ optionals openglSupport [ freeglut libGLU_combined ]
+    ++ optionals openglSupport [ freeglut libGL libGLU ]
     ++ optional pngSupport libpng
     ++ optional jpegSupport libjpeg
     ++ optional tiffSupport libtiff
diff --git a/pkgs/development/libraries/libwmf/default.nix b/pkgs/development/libraries/libwmf/default.nix
index e7aa5f7ecc9..5c684c7fd77 100644
--- a/pkgs/development/libraries/libwmf/default.nix
+++ b/pkgs/development/libraries/libwmf/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation rec {
   pname = "libwmf";
   version = "0.2.12";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "caolanm";
     repo = pname;
diff --git a/pkgs/development/libraries/libxl/default.nix b/pkgs/development/libraries/libxl/default.nix
index 8153fb883ca..8618fc80a52 100644
--- a/pkgs/development/libraries/libxl/default.nix
+++ b/pkgs/development/libraries/libxl/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libxl";
-  version = "3.8.5";
+  version = "3.8.7";
 
   src = fetchurl {
     url = "http://www.libxl.com/download/${pname}-lin-${version}.tar.gz";
-    sha256 = "15n8gxyznk1nm2kgp86hd36rnivjsby9ccl12lyabv6q3fab6fsx";
+    sha256 = "0mfi2mlsgqjw9ki3c5bsb6nr2aqym7s1priw70f69r12azzxfqw3";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  dontConfigure = true;
+  dontBuild = true;
 
   installPhase = ''
     mkdir $out
@@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A lbrary for parsing excel files";
+    description = "A library for parsing Excel files";
+    homepage    = "http://www.libxl.com/";
     license     = licenses.unfree;
     platforms   = platforms.linux;
     maintainers = with maintainers; [  ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 04954f3e1f5..f5dcb3357f7 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,22 +1,33 @@
 { stdenv, lib, fetchurl
-, zlib, xz, python2, ncurses, findXMLCatalogs
+, zlib, xz, python, ncurses, findXMLCatalogs
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt"
 , enableStatic ? !enableShared,
 }:
 
-let
-  python = python2;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.9";
+  version = "2.9.10";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl";
+    sha256 = "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma";
   };
+  patches = [
+    # Upstream bugs:
+    #   https://bugzilla.gnome.org/show_bug.cgi?id=789714
+    #   https://gitlab.gnome.org/GNOME/libxml2/issues/64
+    # Patch from https://bugzilla.opensuse.org/show_bug.cgi?id=1065270 ,
+    # but only the UTF-8 part.
+    # Can also be mitigated by fixing malformed XML inputs, such as in
+    # https://gitlab.gnome.org/GNOME/gnumeric/merge_requests/3 .
+    # Other discussion:
+    #   https://github.com/itstool/itstool/issues/22
+    #   https://github.com/NixOS/nixpkgs/pull/63174
+    #   https://github.com/NixOS/nixpkgs/pull/72342
+    ./utf8-xmlErrorFuncHandler.patch
+  ];
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
     ++ lib.optional pythonSupport "py"
@@ -42,6 +53,12 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable test that's problematic with newer pythons: see
+  # https://mail.gnome.org/archives/xml/2017-August/msg00014.html
+  preCheck = lib.optionalString (pythonSupport && !(python?pythonOlder && python.pythonOlder "3.5")) ''
+    echo "" > python/tests/tstLastError.py
+  '';
+
   doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
     stdenv.hostPlatform.libc != "musl";
 
diff --git a/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch b/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
new file mode 100644
index 00000000000..9f4c99b0934
--- /dev/null
+++ b/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
@@ -0,0 +1,30 @@
+Index: libxml2-2.9.5/python/libxml.c
+===================================================================
+--- libxml2-2.9.5.orig/python/libxml.c
++++ libxml2-2.9.5/python/libxml.c
+@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+     PyObject *message;
+     PyObject *result;
+     char str[1000];
++    unsigned char *ptr = (unsigned char *)str;
+ 
+ #ifdef DEBUG_ERROR
+     printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
+@@ -1636,10 +1637,16 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
+ 	    str[999] = 0;
+         va_end(ap);
+ 
++#if PY_MAJOR_VERSION >= 3
++        /* Ensure the error string doesn't start at UTF8 continuation. */
++        while (*ptr && (*ptr & 0xc0) == 0x80)
++            ptr++;
++#endif
++
+         list = PyTuple_New(2);
+         PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt);
+         Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
+-        message = libxml_charPtrConstWrap(str);
++        message = libxml_charPtrConstWrap(ptr);
+         PyTuple_SetItem(list, 1, message);
+         result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
+         Py_XDECREF(list);
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 0469cf13b0c..75fffa83d24 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests = {
-      installed-tests = nixosTests.libxmlb;
+      installed-tests = nixosTests.installed-tests.libxmlb;
     };
   };
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 1a3efee176a..6d12329a7f5 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,44 +1,26 @@
-{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, python2, libgcrypt
+{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, python, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
 
-assert pythonSupport -> python2 != null;
+assert pythonSupport -> python != null;
 assert pythonSupport -> libxml2.pythonSupport;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.33";
+  version = "1.1.34";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf";
+    sha256 = "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-11068.patch";
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
-      sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/c5eb6cf3aba0af048596106ed839b4ae17ecbcb1.patch";
-      name = "CVE-2019-13117.patch";
-      sha256 = "0ynfq8y5h623cypj1426iiz7796n3mqbjqa24ndvh2am6rl5lw15";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/6ce8de69330783977dd14f6569419489875fb71b.patch";
-      name = "CVE-2019-13118.patch";
-      sha256 = "0bglz9m9sh2vi50qxcm06iqrazw3h45ycgxnp15iankq95z283iq";
-    })
-  ];
-
   outputs = [ "bin" "dev" "out" "man" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
 
   buildInputs = [ libxml2.dev ]
-    ++ stdenv.lib.optionals pythonSupport [ libxml2.py python2 ]
+    ++ stdenv.lib.optionals pythonSupport [ libxml2.py python ]
     ++ stdenv.lib.optionals cryptoSupport [ libgcrypt ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
@@ -48,7 +30,7 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ optional pythonSupport "--with-python=${python2}"
+  ] ++ optional pythonSupport "--with-python=${python}"
     ++ optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
@@ -58,7 +40,7 @@ stdenv.mkDerivation rec {
   '' + optionalString pythonSupport ''
     mkdir -p $py/nix-support
     echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
-    moveToOutput lib/python2.7 "$py"
+    moveToOutput ${python.libPrefix} "$py"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 43a5f7dc841..9f9331b90dd 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -1,37 +1,31 @@
-{ stdenv, fetchurl, perl, zlib }:
+{ stdenv, fetchurl, cmake, perl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "libzip";
-  version = "1.3.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://www.nih.at/libzip/${pname}-${version}.tar.gz";
-    sha256 = "1633dvjc08zwwhzqhnv62rjf1abx8y5njmm8y16ik9iwd07ka6d9";
+    sha256 = "05ay8cbm882br0ir2cmzrvdq8q5mr1bnf53l4305xzigpd54lsdy";
   };
 
+  # Fix pkgconfig file paths
   postPatch = ''
-    patchShebangs test-driver
-    patchShebangs man/handle_links
+    sed -i CMakeLists.txt \
+      -e 's#\\''${exec_prefix}/''${CMAKE_INSTALL_LIBDIR}#''${CMAKE_INSTALL_FULL_LIBDIR}#' \
+      -e 's#\\''${prefix}/''${CMAKE_INSTALL_INCLUDEDIR}#''${CMAKE_INSTALL_FULL_INCLUDEDIR}#'
   '';
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ perl ];
+  nativeBuildInputs = [ cmake perl ];
   propagatedBuildInputs = [ zlib ];
 
   preCheck = ''
-    # regress/runtests is a generated file
+    # regress/runtest is a generated file
     patchShebangs regress
   '';
 
-  # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
-  # had this same problem.  This links it somewhere that mysqlworkbench looks.
-  postInstall = ''
-    mkdir -p $dev/lib
-    mv $out/lib/libzip $dev/lib/libzip
-    ( cd $dev/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://www.nih.at/libzip;
     description = "A C library for reading, creating and modifying zip archives";
diff --git a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
index 7f82d49462c..7fba3f3baa6 100644
--- a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
+++ b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
@@ -1,44 +1,35 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, protobuf, cmake, zlib
-, opentracing-cpp, enableGrpc ? false
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake
+, opentracing-cpp, protobuf, zlib
+, enableGrpc ? false, grpc ? null, openssl ? null, c-ares ? null
 }:
 
-let
-  # be sure to use the right revision based on the submodule!
-  common =
-    fetchFromGitHub {
-      owner = "lightstep";
-      repo = "lightstep-tracer-common";
-      rev = "5fe3bf885bcece14c3c65df06c86c826ba45ad69";
-      sha256 = "1q39a0zaqbnqyhl2hza2xzc44235p65bbkfkzs2981niscmggq8w";
-    };
-
-in
+assert enableGrpc -> grpc != null;
+assert enableGrpc -> openssl != null;
+assert enableGrpc -> c-ares != null;
 
 stdenv.mkDerivation rec {
   pname = "lightstep-tracer-cpp";
-  version = "0.8.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "lightstep";
-    repo = "lightstep-tracer-cpp";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1m4kl70lhvy1bsmkdh6bf2fddz5v1ikb27vgi99i2akpq40g4fvf";
+    sha256 = "1x7n3b5i9a0481azy3ymfybjfvr5z0i8wm17d964hsv7ryvnapj0";
   };
 
-  postUnpack = ''
-    cp -r ${common}/* $sourceRoot/lightstep-tracer-common
-  '';
-
-  cmakeFlags = ["-DOPENTRACING_INCLUDE_DIR=${opentracing-cpp}/include" "-DOPENTRACING_LIBRARY=${opentracing-cpp}/lib/libopentracing.so"] ++ lib.optional (!enableGrpc) [ "-DWITH_GRPC=OFF" ];
-
   nativeBuildInputs = [
-    pkgconfig cmake
+    cmake pkgconfig
   ];
 
   buildInputs = [
-    protobuf zlib
+    opentracing-cpp protobuf zlib
+  ] ++ lib.optionals enableGrpc [
+    grpc openssl c-ares c-ares.cmake-config
   ];
 
+  cmakeFlags = lib.optionals (!enableGrpc) [ "-DWITH_GRPC=OFF" ];
+
   meta = with lib; {
     description = "Distributed tracing system built on top of the OpenTracing standard";
     homepage = "https://lightstep.com/";
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
index 70320ead5d1..709a237aed9 100644
--- a/pkgs/development/libraries/linbox/default.nix
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.timokau];
     platforms = stdenv.lib.platforms.unix;
-    homepage = http://linalg.org/;
+    homepage = https://linalg.org/;
   };
 }
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 2df7ef94cf3..74952456e64 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, cmake, libGLU_combined, libX11, libXi }:
+{ stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }:
 
 let 
   sourceInfo = rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   };
 
   inherit (sourceInfo) name version;
-  buildInputs = [ cmake libGLU_combined libX11 libXi ];
+  buildInputs = [ cmake libGLU libGL libX11 libXi ];
 
   sourceRoot = "liquidfun/Box2D/";
 
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index dbebe0af80f..84907a42860 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -3,14 +3,14 @@
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.10.20";
+  version = "2019.11.22";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     urls = [
       "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
     ];
-    sha256 = "085csq31s4kak0sym5y170f82wp542bg1ff3kycanvs8w4d4n9j4";
+    sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index 1feea915c02..53c4594f535 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An open source toolkit for developing mapping applications";
-    homepage = http://mapnik.org;
+    homepage = https://mapnik.org;
     maintainers = with maintainers; [ hrdinka ];
     license = licenses.lgpl21;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/mbedtls/1.3.nix b/pkgs/development/libraries/mbedtls/1.3.nix
deleted file mode 100644
index 8b8d8cd0be8..00000000000
--- a/pkgs/development/libraries/mbedtls/1.3.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, perl }:
-
-stdenv.mkDerivation rec {
-  name = "mbedtls-1.3.22";
-
-  src = fetchurl {
-    url = "https://tls.mbed.org/download/${name}-gpl.tgz";
-    sha256 = "0ms4s41z88mz7b6gsnp7jslms4v0115k7gw51i6kx6ng9am43l6y";
-  };
-
-  nativeBuildInputs = [ perl ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  makeFlags = [
-    "SHARED=1"
-  ];
-
-  installFlags = [
-    "DESTDIR=\${out}"
-  ];
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://tls.mbed.org/;
-    description = "Portable cryptographic and SSL/TLS library, aka polarssl";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ fpletz ];
-  };
-}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index b482176ff29..ca62391e781 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,17 +1,16 @@
 { stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
-, libopus, ffmpeg, libX11, libXv, libGLU_combined, glew, libtheora, libvpx, SDL, libupnp
+, libopus, ffmpeg, libX11, libXv, libGLU, libGL, glew, libtheora, libvpx, SDL, libupnp
 , ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
-, python, libXext, libmatroska, openssl, fetchpatch
+, python, libXext, libmatroska, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "mediastreamer2";
+  pname = "mediastreamer2";
   version = "2.16.1";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "02745bzl2r1jqvdqzyv94fjd4w92zr976la4c4nfvsy52waqah7j";
   };
@@ -29,23 +28,22 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     alsaLib libpulseaudio speex gsm libopus
-    ffmpeg libX11 libXv libGLU_combined glew libtheora libvpx SDL libupnp
+    ffmpeg libX11 libXv libGLU libGL glew libtheora libvpx SDL libupnp
     ortp libv4l libpcap srtp bctoolbox libXext libmatroska
-    openssl
   ];
 
   NIX_CFLAGS_COMPILE = [
-    "-DGIT_VERSION=\"v2.14.0\""
+    "-DGIT_VERSION=\"v${version}\""
     "-Wno-error=deprecated-declarations"
     "-Wno-error=cast-function-type"
     "-Wno-error=stringop-truncation"
     "-Wno-error=stringop-overflow"
   ];
-  NIX_LDFLAGS = "-lXext -lssl";
+  NIX_LDFLAGS = "-lXext";
 
   meta = with stdenv.lib; {
     description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications";
-    homepage = http://www.linphone.org/technical-corner/mediastreamer2/overview;
+    homepage = http://www.linphone.org/technical-corner/mediastreamer2;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 38261bd1e53..f1e9fc30151 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -1,23 +1,30 @@
 { stdenv, autoreconfHook, pkgconfig, mediastreamer, openh264
-, fetchgit, cmake
+, fetchurl, fetchpatch, cmake
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "mediastreamer-openh264";
-  version = "0.0pre20160801";
+  version = "1.2.1";
 
-  src = fetchgit {
-    url = "git://git.linphone.org/msopenh264.git";
-    rev = "4cb4b134bf0f1538fd0c2c928eee2d5388115abc";
-    sha256 = "001km4xy1ifwbg1c19ncc75h867fzfcxy9pxvl4pxqb64169xc1k";
+  src = fetchurl {
+    url = "https://www.linphone.org/releases/sources/plugins/msopenh264/msopenh264-${version}.tar.gz";
+    sha256 = "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "msopenh264-build-with-openh264-v2.patch";
+      url = "https://git.pld-linux.org/?p=packages/mediastreamer-plugin-msopenh264.git;a=blob_plain;f=mediastreamer-plugin-msopenh264-openh264.patch;hb=344b8af379701a7e58b4ffb3cbac1517eff079fd";
+      sha256 = "10c24b0afchx78q28176pd8iz7i1nlf57f6v6lyqxpz60fm5nrcc";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook cmake pkgconfig ];
   buildInputs = [ mediastreamer openh264 ];
 
   meta = with stdenv.lib; {
     description = "H.264 encoder/decoder plugin for mediastreamer2";
-    homepage = http://www.linphone.org/technical-corner/mediastreamer2/overview;
+    homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index caeb8dba8a6..9582e1bf1bf 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -27,7 +27,7 @@
 with stdenv.lib;
 
 let
-  version = "19.2.1";
+  version = "19.2.7";
   branch  = versions.major version;
 in
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "4cc53ca1a8d12c6ff0e5ea44a5213c05c88447ab50d7e28bb350cd29199f01e9";
+    sha256 = "17jp8ghipgz62vqqz5llskxypkcmgf8gnlgnj0pyvnbgi6vryyg3";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/mesa/stubs.nix b/pkgs/development/libraries/mesa/stubs.nix
index 5cb6ac3d4d1..a53f2dc28e7 100644
--- a/pkgs/development/libraries/mesa/stubs.nix
+++ b/pkgs/development/libraries/mesa/stubs.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     ln -s ${libglvnd.out}/lib $out/lib
 
     mkdir -p $dev/{,lib/pkgconfig,nix-support}
-    echo "$out" > $dev/nix-support/propagated-build-inputs
+    echo "$out ${libglvnd} ${libglvnd.dev}" > $dev/nix-support/propagated-build-inputs
     ln -s ${mesa.dev}/include $dev/include
 
     genPkgConfig() {
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
     Description: $lib library
     Version: ${mesa.version}
     Libs: -L${libglvnd.out}/lib -l$lib
-    Cflags: -I${mesa.dev}/include
+    Cflags: -I${mesa.dev}/include -I${libglvnd.dev}/include
     EOF
     }
 
diff --git a/pkgs/development/libraries/mimalloc/default.nix b/pkgs/development/libraries/mimalloc/default.nix
index 460be100b16..b3f63ec7e9b 100644
--- a/pkgs/development/libraries/mimalloc/default.nix
+++ b/pkgs/development/libraries/mimalloc/default.nix
@@ -1,37 +1,45 @@
-{ stdenv, fetchFromGitHub, cmake
-, secureBuild ? true
+{ stdenv, fetchFromGitHub, cmake, ninja
+, secureBuild ? false
 }:
 
 let
   soext = stdenv.hostPlatform.extensions.sharedLibrary;
 in
 stdenv.mkDerivation rec {
-  name    = "mimalloc-${version}";
+  pname   = "mimalloc";
   version = "1.1.0";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
-    repo   = "mimalloc";
+    repo   = pname;
     rev    = "refs/tags/v${version}";
     sha256 = "1i8pwzpcmbf7dxncb984xrnczn1737xqhf1jaizlyw0k1hpiam4v";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   enableParallelBuilding = true;
-
   cmakeFlags = stdenv.lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = ''
+    # first, install headers, that's easy
     mkdir -p $dev
     mv $out/lib/*/include $dev/include
 
-    rm -f $out/lib/libmimalloc*${soext} # weird duplicate
-
-    mv $out/lib/*/libmimalloc*${soext} $out/lib/libmimalloc${soext}
-    mv $out/lib/*/libmimalloc*.a       $out/lib/libmimalloc.a
-    mv $out/lib/*/mimalloc*.o          $out/lib/mimalloc.o
-
-    rm -rf $out/lib/mimalloc-*
+    # move .a and .o files into place
+    mv $out/lib/mimalloc-1.0/libmimalloc*.a           $out/lib/libmimalloc.a
+    mv $out/lib/mimalloc-1.0/mimalloc*.o              $out/lib/mimalloc.o
+
+  '' + (if secureBuild then ''
+    mv $out/lib/mimalloc-1.0/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}.1.0
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc${soext}
+  '' else ''
+    mv $out/lib/mimalloc-1.0/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}.1.0
+    ln -sfv $out/lib/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}
+  '') + ''
+    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
+    # so we can re-use it for dependencies...
+    rm -rf $out/lib/mimalloc-1.0
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index c88a978574a..5ee1f38ca8b 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation {
   sourceRoot = "zlib-${zlib.version}/contrib/minizip";
 
   meta = {
+    description = "Compression library implementing the deflate compression method found in gzip and PKZIP";
     inherit (zlib.meta) license homepage;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index 2232bfb9a38..21803de5e06 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "1raism1r4jsx4cybc9ddyr1xkccbxm0l8j3ryrw8kslfkkr1wmgy";
+    sha256 = "1farz5zfx4cd0c3a0wb9pgfypzw0xxql1j1294z1sxslga1ziyjb";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
index d058322660c..4d3fe41dff8 100644
--- a/pkgs/development/libraries/muparser/default.nix
+++ b/pkgs/development/libraries/muparser/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip}:
+{stdenv, fetchurl, unzip, setfile}:
 
 stdenv.mkDerivation rec {
   pname = "muparser";
@@ -10,12 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
   };
 
-  buildInputs = [ unzip ];
+  buildInputs = [
+    unzip
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [setfile];
 
   meta = {
     homepage = http://muparser.sourceforge.net;
     description = "An extensible high performance math expression parser library written in C++";
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index 0907f0174c9..c277b7934b9 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -1,5 +1,5 @@
 {  stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid,
-   boost, pkgconfig, withOgre ? false, ogre ? null, libGLU_combined ? null } :
+   boost, pkgconfig, withOgre ? false, ogre ? null, libGL, libGLU ? null } :
 
 let
   renderSystem = if withOgre then "3" else "4";
@@ -17,7 +17,8 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost (if withOgre then ogre else libGLU_combined) ];
+  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost ]
+    ++ (if withOgre then [ ogre ] else [libGL libGLU]);
 
   # Tools are disabled due to compilation failures.
   cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ];
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 5c0238fe41e..8480cc868c1 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,24 +1,28 @@
 {stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.0";
+  version = "1.3.1";
   pname = "nanoflann";
   
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "1bwdmrz1qygp9qy2nzrp1axa1i4nvm0ljkn6mnhlcvbfsyvhzigv";
+    sha256 = "07vi3yn5y9zk9acdbxy954ghdml15wnyqfizzqwsw8zmc9bf30ih";
   };
 
   buildInputs = [ cmake ];
 
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES=OFF"
+  ];
+
   doCheck = true;
   checkTarget = "test";
 
   meta = {
-    homepage = https://github.com/jlblancoc/nanoflann;
-    license = stdenv.lib.licenses.bsd3;
+    homepage = "https://github.com/jlblancoc/nanoflann";
+    license = stdenv.lib.licenses.bsd2;
     description = "Header only C++ library for approximate nearest neighbor search";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index c842eac4311..7b03c32ada5 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchurl, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex }:
+{ stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex }:
 
 stdenv.mkDerivation rec {
-  version = "4.8.1";
+  version = "4.9.1";
   pname = "nco";
 
-  buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr which curl flex ];
+  nativeBuildInputs = [ flex which ];
+  buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr curl ];
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/nco/nco/archive/${version}.tar.gz";
-    sha256 = "0s1ww78p4cb2d9qkr4zs439x4xk3ndq6lv8ps677jrn28vnkzbnx";
+    sha256 = "14r44wi9ina8h8gh5cmkcddxl5ziwv42mv60sp4l5wfmjz5xwa4x";
   };
 
   meta = {
     description = "NetCDF Operator toolkit";
     longDescription = "The NCO (netCDF Operator) toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5";
-    homepage = http://nco.sourceforge.net/;
+    homepage = "http://nco.sourceforge.net/";
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.bzizou ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 708ba46b42e..540ea71abfb 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -141,6 +141,7 @@ stdenv.mkDerivation rec {
     moveToOutput "bin/tset" "$out"
     moveToOutput "bin/captoinfo" "$out"
     moveToOutput "bin/infotocap" "$out"
+    moveToOutput "bin/infocmp" "$out"
   '';
 
   preFixup = lib.optionalString (!stdenv.hostPlatform.isCygwin && !enableStatic) ''
diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix
new file mode 100644
index 00000000000..fcf9457c691
--- /dev/null
+++ b/pkgs/development/libraries/ndi/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, requireFile, avahi }:
+
+stdenv.mkDerivation rec {
+  pname = "ndi";
+  version = "4";
+
+  src = requireFile rec {
+    name    = "InstallNDISDK_v${version}_Linux.tar.gz";
+    sha256  = "1hac5npyg8nifs9ipj34pkn0zjyx8774x3i3h8znhmijx2j2982p";
+    message = ''
+      In order to use the NDI SDK, you need to comply with NewTek's license and
+      download the Linux version ${version} tarball from:
+
+      ${meta.homepage}
+
+      Once you have downloaded the file, please use the following command and
+      re-run the installation:
+
+      nix-prefetch-url file://\$PWD/${name}
+    '';
+  };
+
+  buildInputs = [ avahi ];
+
+  unpackPhase = ''
+    unpackFile ${src}
+    echo y | ./InstallNDISDK_v4_Linux.sh
+    sourceRoot="NDI SDK for Linux";
+  '';
+
+  installPhase = ''
+    mkdir $out
+    mv bin/x86_64-linux-gnu $out/bin
+    for i in $out/bin/*; do
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"
+    done
+    patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" $out/bin/ndi-record
+    mv lib/x86_64-linux-gnu $out/lib
+    for i in $out/lib/*; do
+      if [ -L "$i" ]; then continue; fi
+      patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" "$i"
+    done
+    mv include examples $out/
+    mkdir -p $out/share/doc/${pname}-${version}
+    mv licenses $out/share/doc/${pname}-${version}/licenses
+    mv logos $out/share/doc/${pname}-${version}/logos
+    mv documentation/* $out/share/doc/${pname}-${version}/
+  '';
+
+  # Stripping breaks ndi-record.
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://ndi.tv/sdk/";
+    description = "NDI Software Developer Kit";
+    platforms = ["x86_64-linux"];
+    hydraPlatforms = [];
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 0c597fc4b33..1436fb02127 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -9,11 +9,12 @@ let
   mpiSupport = hdf5.mpiSupport;
   mpi = hdf5.mpi;
 in stdenv.mkDerivation rec {
-  name = "netcdf-4.6.1";
+  pname = "netcdf";
+  version = "4.7.3";
 
   src = fetchurl {
-    url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
-    sha256 = "0hi61cdihwwvz5jz1l7yq712j7ca1cj4bhr8x0x7c2vlb1s9biw9";
+    url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${pname}-c-${version}.tar.gz";
+    sha256 = "12s4w2s96p51hlsa81lw92w56rdx8i3mk21pz2ydwcamw579z34f";
   };
 
   postPatch = ''
@@ -37,10 +38,14 @@ in stdenv.mkDerivation rec {
       "--enable-netcdf-4"
       "--enable-dap"
       "--enable-shared"
+      "--disable-dap-remote-tests"
   ]
   ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
 
+  doCheck = !mpiSupport;
+
   meta = {
+      description = "Libraries for the Unidata network Common Data Format";
       platforms = stdenv.lib.platforms.unix;
       homepage = https://www.unidata.ucar.edu/software/netcdf/;
       license = {
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index d02247196b1..57ed5891275 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, pkgconfig
 
 # Optional Dependencies
-, openssl ? null, libev ? null, zlib ? null, c-ares ? null
+, openssl ? null, zlib ? null
+, enableLibEv ? !stdenv.hostPlatform.isWindows, libev ? null
+, enableCAres ? !stdenv.hostPlatform.isWindows, c-ares ? null
 , enableHpack ? false, jansson ? null
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
@@ -18,17 +20,20 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   pname = "nghttp2";
-  version = "1.39.2";
+  version = "1.40.0";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1l51q8xqg7d7y9413z8l0scxgbbl1qkwgq4f09jqb31j492kx8lj";
+    sha256 = "0kyrgd4s2pq51ps5z385kw1hn62m8qp7c4h6im0g4ibrf89qwxc2";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libev zlib c-ares ]
+  buildInputs = [ openssl ]
+    ++ optional enableLibEv libev
+    ++ [ zlib ]
+    ++ optional enableCAres c-ares
     ++ optional enableHpack jansson
     ++ optional enableAsioLib boost
     ++ optional enableGetAssets libxml2
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 3a51c2ec72b..43a7cf15c15 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nlohmann_json";
-  version = "3.7.0";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap";
+    sha256 = "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,7 +21,9 @@ stdenv.mkDerivation rec {
     "-DJSON_MultipleHeaders=ON"
   ];
 
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  # A test cause the build to timeout https://github.com/nlohmann/json/issues/1816
+  #doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  doCheck = false;
 
   postInstall = "rm -rf $out/lib64";
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index f5e4843a826..44195ce325b 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -2,7 +2,7 @@
 , CoreServices ? null
 , buildPackages }:
 
-let version = "4.22"; in
+let version = "4.24"; in
 
 stdenv.mkDerivation {
   pname = "nspr";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0c6ljv3bdqhc169srbpjy0cs52xk715p04zy08rcjvl54k6bdr69";
+    sha256 = "1l0ksiny032jijgk0g76wf0kiq673i01izj7jrs2h5d1yq6rm9ch";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index ff72d87f3c3..7499750c1f0 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,7 +5,7 @@ let
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
-  version = "3.46.1";
+  version = "3.47.1";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv";
+    sha256 = "1yx68a1ks63s8914zmiz9h1nh0261aqzcblgg1cb4ig33p5x3qqs";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -27,7 +27,8 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ nspr ];
 
   prePatch = ''
-    xz -d < ${nssPEM} | patch -p1
+    # strip the trailing whitespace from the patch line…
+    xz -d < ${nssPEM} | sed -e '/^-DIRS = builtins $/ s/ $//' | patch -p1
   '';
 
   patches =
diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix
index 79eb4d1e10e..40ee4f890d4 100644
--- a/pkgs/development/libraries/nss_wrapper/default.nix
+++ b/pkgs/development/libraries/nss_wrapper/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "nss_wrapper-1.1.6";
+  name = "nss_wrapper-1.1.7";
 
   src = fetchurl {
     url = "mirror://samba/cwrap/${name}.tar.gz";
-    sha256 = "1hijnwabj4nh0m0a913pq07iqq0bw8qb2zxcv73zbnsaay7pa55h";
+    sha256 = "1pa7gakprkxblxdqbcy2242lk924gvzdgfr5648wb7cslksm7hbq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/ntl/default.nix b/pkgs/development/libraries/ntl/default.nix
index efb307507a3..10e59c5117c 100644
--- a/pkgs/development/libraries/ntl/default.nix
+++ b/pkgs/development/libraries/ntl/default.nix
@@ -14,11 +14,11 @@ assert withGf2x -> gf2x != null;
 
 stdenv.mkDerivation rec {
   pname = "ntl";
-  version = "11.3.4";
+  version = "11.4.1";
 
   src = fetchurl {
     url = "http://www.shoup.net/ntl/ntl-${version}.tar.gz";
-    sha256 = "0fdy63x6iglp20ypqhkpjj6wqjzpxlyl2wfw2dqlgiy6l6ibm4rd";
+    sha256 = "03k2hb6yn49d1f9cdig2ci7h5ga0x3nb3li60hh19wdqzg28f1m3";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix
index db542ec93a9..c1f354a1ac9 100644
--- a/pkgs/development/libraries/nuspell/default.nix
+++ b/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "0n5cajrp1fhk8p54ch3akkd9nl8b9c6wwf25980dhagcdys3vab3";
+    sha256 = "1cyvvf5f92a777qgh00ja43z43j5nhc9dw5l3wvw9j6j9bqc4i8p";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ronn ];
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index d847f447048..b66759524fa 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix
index 2855d1139c3..ced01580185 100644
--- a/pkgs/development/libraries/ogre/1.9.x.nix
+++ b/pkgs/development/libraries/ogre/1.9.x.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index dc3bf8cf009..235da872392 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index dd3f83a0130..224c01e2c50 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -2,18 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.0.0";
-
-  meta = {
-    description = "Implements double cryptographic ratchet and Megolm ratchet";
-    license = stdenv.lib.licenses.asl20;
-    homepage = https://matrix.org/git/olm/about;
-    platforms = with stdenv.lib.platforms; darwin ++ linux;
-  };
+  version = "3.1.4";
 
   src = fetchurl {
-    url = "https://matrix.org/git/olm/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "1iivxjk458v9lhqgzp0c4k5azligsh9k3rk6irf9ssj29wzgjm2c";
+    url = "https://matrix.org/git/olm/-/archive/${version}/${pname}-${version}.tar.gz";
+    sha256 = "0f7azjxc77n4ib9nj3cwyk3vhk8r2dsyf7id6nvqyxqxwxn95a8w";
   };
 
   doCheck = true;
@@ -25,4 +18,11 @@ stdenv.mkDerivation rec {
   makeFlags = if stdenv.cc.isClang then [ "CC=cc" ] else null;
 
   installFlags = "PREFIX=$(out)";
+
+  meta = {
+    description = "Implements double cryptographic ratchet and Megolm ratchet";
+    license = stdenv.lib.licenses.asl20;
+    homepage = https://matrix.org/git/olm/about;
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
+  };
 }
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 8a1e1d37c1d..e9041993657 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/kkos/oniguruma;
     description = "Regular expressions library";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/onnxruntime/default.nix b/pkgs/development/libraries/onnxruntime/default.nix
index b5549c6735f..33bc4c6e82c 100644
--- a/pkgs/development/libraries/onnxruntime/default.nix
+++ b/pkgs/development/libraries/onnxruntime/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onnxruntime";
-  version = "0.5.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "onnxruntime";
     rev = "v${version}";
-    sha256 = "0s8ylc5xr55490hbz7zn3hnp9dnyp92d320ln8xw5hqkw3mgyr3p";
+    sha256 = "1d28lzrjnq69yl8j9ncxlsxl0bniacn3hnsr9van10zgp527436v";
     # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc.
     # submodules increase src size and compile times significantly
     # not currently feasible due to how integrated cmake build is with git
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
     rm -r $out/bin   # ctest runner
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Cross-platform, high performance scoring engine for ML models";
     longDescription = ''
@@ -55,6 +57,9 @@ stdenv.mkDerivation rec {
       compatibility.
     '';
     homepage = "https://github.com/microsoft/onnxruntime";
+    changelog = "https://github.com/microsoft/onnxruntime/releases";
+    # https://github.com/microsoft/onnxruntime/blob/master/BUILD.md#architectures
+    platforms = platforms.unix;
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 89ac85b752b..76f2861428d 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
     sha256 = "0b0g0q1c36nfb289xcaaj3cmyfpiswvvgky3qyalsf9n4dj7vnzi";
   };
 
+  # this will make it find its own data files (e.g. HRTF profiles)
+  # without any other configuration
+  patches = [ ./search-out.patch ];
+  postPatch = ''
+    substituteInPlace Alc/helpers.c \
+      --replace "@OUT@" $out
+  '';
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = []
diff --git a/pkgs/development/libraries/openal-soft/search-out.patch b/pkgs/development/libraries/openal-soft/search-out.patch
new file mode 100644
index 00000000000..0f9c2abad3c
--- /dev/null
+++ b/pkgs/development/libraries/openal-soft/search-out.patch
@@ -0,0 +1,12 @@
+diff -Nuar a/Alc/helpers.c b/Alc/helpers.c
+--- a/Alc/helpers.c	1970-01-01 00:00:01.000000000 +0000
++++ b/Alc/helpers.c	1970-01-01 00:00:02.000000000 +0000
+@@ -951,6 +951,8 @@
+             }
+         }
+ 
++        DirectorySearch("@OUT@/share", ext, &results);
++
+         alstr_reset(&path);
+     }
+ 
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index 26bcf3d20ff..3838e1103ba 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   meta = {
+    description = "A toolbox designed to speak the many languages of chemical data";
+    homepage = "http://openbabel.org";
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/libraries/openbsm/default.nix b/pkgs/development/libraries/openbsm/default.nix
index 25e7267b3c9..269b0138091 100644
--- a/pkgs/development/libraries/openbsm/default.nix
+++ b/pkgs/development/libraries/openbsm/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   configureFlags = [ "ac_cv_file__usr_include_mach_audit_triggers_defs=no" ];
 
   meta = {
-    homepage = http://www.openbsm.org/;
+    description = "An implementation of Sun's Basic Security Module (BSM) security audit API and file format";
+    homepage = "http://www.openbsm.org/";
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ matthewbauer ];
     license = lib.licenses.bsd2;
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index cbd05848173..06eff9d17f3 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://opencolorio.org;
+    homepage = https://opencolorio.org;
     description = "A color management framework for visual effects and animation";
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 724c0d7c764..cf46077a56c 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libGLU_combined, freeglut, glew, libXmu, libXext, libX11
+{stdenv, fetchurl, libGLU, libGL, freeglut, glew, libXmu, libXext, libX11
 , qmake, GLUT, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   buildInputs = [ glew ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut libXmu libXext libX11 ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut libXmu libXext libX11 ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   doCheck = false;
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index d8946dae095..97df84637ef 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
@@ -36,20 +36,20 @@
 }:
 
 let
-  version = "3.4.7";
+  version = "3.4.8";
 
   src = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv";
     rev    = version;
-    sha256 = "0r5rrcnqx2lsnr1ja5ij2chb7yk9kkamr4p0ik52sqxydwkv3z50";
+    sha256 = "1dnz3gfj70lm1gbrk8pz28apinlqi2x6nvd6xcy5hs08505nqnjp";
   };
 
   contribSrc = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv_contrib";
     rev    = version;
-    sha256 = "1ik6acsmgrx66awf19r2y3ijqvv9xg43gaphwszbiyi0jq3r43yw";
+    sha256 = "0psaa1yx36n34l09zd1y8jxgf8q4jzxd3vn06fqmzwzy85hcqn8i";
   };
 
   # Contrib must be built in order to enable Tesseract support:
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index a5eb1029ad9..408368b89c4 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index b91a1489eb6..db8a5e5a41b 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -6,7 +6,7 @@
 , enablePNG ? true, libpng
 , enableTIFF ? true, libtiff
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper  # disable jasper by default (many CVE)
 , enableFfmpeg ? false, ffmpeg
 , enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 9eef138c532..328bce35357 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, buildPackages, fetchurl, autoconf, automake, libtool, pkgconfig, zlib, ilmbase, }:
+{ lib, stdenv, buildPackages, fetchurl, autoconf, automake, libtool, pkgconfig,
+  zlib, ilmbase, fetchpatch }:
 
 let
   # Doesn't really do anything when not crosscompiling
@@ -16,6 +17,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./bootstrap.patch
+    (fetchpatch {
+      name = "CVE-2018-18444.patch";
+      url = "https://github.com/openexr/openexr/commit/1b0f1e5d7dcf2e9d6cbb4e005e803808b010b1e0.patch";
+      sha256 = "0f5m4wdwqqg8wfg7azzsz5yfpdrvws314rd4sqfc74j1g6wrcnqj";
+      stripLen = 1;
+    })
   ];
 
   outputs = [ "bin" "dev" "out" "doc" ];
@@ -48,7 +55,8 @@ stdenv.mkDerivation rec {
   doCheck = false; # fails 1 of 1 tests
 
   meta = with stdenv.lib; {
-    homepage = https://www.openexr.com/;
+    description = "A high dynamic-range (HDR) image file format";
+    homepage = "https://www.openexr.com/";
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix
index b8a3c4a81e0..92cd343cf6a 100644
--- a/pkgs/development/libraries/openexrid-unstable/default.nix
+++ b/pkgs/development/libraries/openexrid-unstable/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU_combined, openexr }:
+{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU, libGL, openexr }:
 
 stdenv.mkDerivation {
   pname = "openexrid-unstable";
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
                        -I${openfx.dev}/include/OpenFX
                       '';
 
-  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU_combined openexr ];
+  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU libGL openexr ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/openh264/default.nix b/pkgs/development/libraries/openh264/default.nix
index cd91a132597..fe46d25421a 100644
--- a/pkgs/development/libraries/openh264/default.nix
+++ b/pkgs/development/libraries/openh264/default.nix
@@ -2,25 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "openh264";
-  version = "1.8.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "cisco";
-    repo = "openh264";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1pl7hpk25nh7lcx1lbbv984gvnim0d6hxf4qfmrjjfjf6w37sjw4";
+    sha256 = "0sa4n4xshmiiv6h767jjq9qxapxxjwwwm3bpcignkxv5xn5sls5r";
   };
 
-  buildInputs = [ nasm ];
+  nativeBuildInputs = [ nasm ];
 
-  installPhase = ''
-    make PREFIX=$out install
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "A codec library which supports H.264 encoding and decoding";
-    homepage = http://www.openh264.org;
-    license = stdenv.lib.licenses.bsd2;
+    homepage = "https://www.openh264.org";
+    license = licenses.bsd2;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 1398e829dd5..b12ca67655b 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkgconfig, doxygen,
-  libX11, libXinerama, libXrandr, libGLU_combined,
+  libX11, libXinerama, libXrandr, libGLU, libGL,
   glib, ilmbase, libxml2, pcre, zlib,
   jpegSupport ? true, libjpeg,
-  jasperSupport ? true, jasper,
+  jasperSupport ? false, jasper,  # disable jasper by default (many CVE)
   exrSupport ? false, openexr,
   gifSupport ? true, giflib,
   pngSupport ? true, libpng,
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig cmake doxygen ];
 
   buildInputs = [
-    libX11 libXinerama libXrandr libGLU_combined
+    libX11 libXinerama libXrandr libGLU libGL
     glib ilmbase libxml2 pcre zlib
   ] ++ lib.optional jpegSupport libjpeg
     ++ lib.optional jasperSupport jasper
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 8510e897332..68e890e3368 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,13 +1,12 @@
 { stdenv, cmake, fetchFromGitHub, bctoolbox }:
 
 stdenv.mkDerivation rec {
-  baseName = "ortp";
+  pname = "ortp";
   version = "1.0.2";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "12cwv593bsdnxs0zfcp07vwyk7ghlz2wv7vdbs1ksv293w3vj2rv";
   };
@@ -19,8 +18,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Real-Time Transport Protocol (RFC3550) stack";
-    homepage = http://www.linphone.org/index.php/eng/code_review/ortp;
-    license = licenses.lgpl21;
+    homepage = https://linphone.org/technical-corner/ortp;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 9ca329c6761..f13ae141a81 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.23.16.1";
+  version = "0.23.18.1";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "0jr62qkbqxp3iawgksk1qc3gp8p6x09sg5v7xac80ghyfxil15wy";
+    sha256 = "0l4ndipcbikblfjz729zkscvni5lzdzvbvsar2538pylw556rx73";
   };
 
   outputs = [ "out" "dev"];
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 9f1e7d5c2fc..ecb0f16c72c 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -9,13 +9,13 @@ with stdenv.lib;
 
 let
   pname = "pango";
-  version = "1.43.0";
+  version = "1.44.7";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1lnxldmv1a12dq5h0dlq5jyzl4w75k76dp8cn360x2ijlm9w5h6j";
+    sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6";
   };
 
   # FIXME: docs fail on darwin
@@ -26,31 +26,18 @@ in stdenv.mkDerivation rec {
     pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43
   ];
   buildInputs = [
-    harfbuzz fribidi
+    fribidi
   ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     ApplicationServices
     Carbon
     CoreGraphics
     CoreText
   ]);
-  propagatedBuildInputs = [ cairo glib libintl ] ++
+  propagatedBuildInputs = [ cairo glib libintl harfbuzz ] ++
     optional x11Support libXft;
 
-  patches = [
-    (fetchpatch {
-      # Add gobject-2 to .pc file
-      url = "https://gitlab.gnome.org/GNOME/pango/commit/546f4c242d6f4fe312de3b7c918a848e5172e18d.patch";
-      sha256 = "1cqhy4xbwx3ad7z5d1ks7smf038b9as8c6qy84rml44h0fgiq4m2";
-    })
-    (fetchpatch {
-      # Fixes CVE-2019-1010238
-      url = "https://gitlab.gnome.org/GNOME/pango/commit/490f8979a260c16b1df055eab386345da18a2d54.diff";
-      sha256 = "1s0qclbaknkx3dkc3n6mlmx3fnhlr2pkncqjkywprpvahmmypr7k";
-    })
-  ];
-
   mesonFlags = [
-    "-Denable_docs=${if stdenv.isDarwin then "false" else "true"}"
+    "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix
deleted file mode 100644
index 1ae2f1b8132..00000000000
--- a/pkgs/development/libraries/pangox-compat/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, pango, libX11 }:
-
-stdenv.mkDerivation rec {
-  pname = "pangox-compat";
-  version = "0.0.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib pango libX11 ];
-
-  meta = {
-    description = "A compatibility library for pango>1.30.*";
-    homepage = "https://gitlab.gnome.org/Archive/pangox-compat";
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/partio/default.nix b/pkgs/development/libraries/partio/default.nix
index b08936dd34d..ba042562320 100644
--- a/pkgs/development/libraries/partio/default.nix
+++ b/pkgs/development/libraries/partio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU_combined, zlib, swig, python, doxygen, xorg }:
+{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU, libGL, zlib, swig, python, doxygen, xorg }:
 
 stdenv.mkDerivation {
   pname = "partio";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "out" "lib" ];
 
   nativeBuildInputs = [ unzip cmake doxygen ];
-  buildInputs = [ freeglut libGLU_combined zlib swig python xorg.libXi xorg.libXmu ];
+  buildInputs = [ freeglut libGLU libGL zlib swig python xorg.libXi xorg.libXmu ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/pcaudiolib/default.nix b/pkgs/development/libraries/pcaudiolib/default.nix
index 5a02229cb0e..1831d969249 100644
--- a/pkgs/development/libraries/pcaudiolib/default.nix
+++ b/pkgs/development/libraries/pcaudiolib/default.nix
@@ -3,15 +3,15 @@
 , portaudio, alsaLib
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "pcaudiolib";
-  version = "2016-07-19";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "rhdunn";
     repo = "pcaudiolib";
-    rev = "4f836ea909bdaa8a6e0e89c587efc745b546b459";
-    sha256 = "0z99nh4ibb9md2cd21762n1dmv6jk988785s1cxd8lsy4hp4pwfa";
+    rev = "${version}";
+    sha256 = "0c55hlqqh0m7bcb3nlgv1s4a22s5bgczr1cakjh3767rjb10khi0";
   };
 
   nativeBuildInputs = [ autoconf automake which libtool pkgconfig ];
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 2e111240758..cf08f989369 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -29,8 +29,6 @@ in stdenv.mkDerivation {
   ]
     ++ optional (variant != null) "--enable-${variant}";
 
-  buildInputs = optional (stdenv.hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads;
-
   # https://bugs.exim.org/show_bug.cgi?id=2173
   patches = [ ./stacksize-detection.patch ];
 
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index e27c71314d9..b988c4ea02c 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.33";
+  version = "10.34";
   src = fetchurl {
     url = "https://ftp.pcre.org/pub/pcre/${pname}-${version}.tar.bz2";
-    sha256 = "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m";
+    sha256 = "1jlqnzcz2yi70dm40wyfa9w8is9z2kh4dl8zjnv3vqd9mgzp7i3l";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index ef7633dadaf..d9267827e77 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -1,21 +1,13 @@
 { stdenv, lib, fetchurl, cmake, gst_all_1, phonon, pkgconfig
-, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null
-, withQt5 ? false
+, extra-cmake-modules, qttools, qtbase, qtx11extras
 , debug ? false
 }:
 
 with lib;
 
-let
-  v = "4.9.0";
+stdenv.mkDerivation rec {
   pname = "phonon-backend-gstreamer";
-in
-
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qtx11extras != null;
-
-stdenv.mkDerivation {
-  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${v}";
+  version = "4.10.0";
 
   meta = with stdenv.lib; {
     homepage = https://phonon.kde.org/;
@@ -26,8 +18,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf";
+    url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5";
   };
 
   # Hardcode paths to useful plugins so the backend doesn't depend
@@ -52,17 +44,26 @@ stdenv.mkDerivation {
       ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"''
     ];
 
-  buildInputs = with gst_all_1;
-    [ gstreamer gst-plugins-base phonon ]
-    ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
+  buildInputs = with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    phonon
+    qtbase
+    qtx11extras
+  ];
 
   # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
   # if DESTDIR is unset
   DESTDIR="/";
 
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules;
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    extra-cmake-modules
+    qttools
+  ];
 
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 }
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 98c6be85672..9ed137e4f45 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -1,22 +1,13 @@
 { stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc
-, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null
-, withQt4 ? false
+, extra-cmake-modules, qttools, qtbase, qtx11extras
 , debug ? false
 }:
 
 with lib;
 
-let
-  v = "0.10.2";
+stdenv.mkDerivation rec {
   pname = "phonon-backend-vlc";
-in
-
-assert withQt4 -> qt4 != null;
-assert !withQt4 -> qtbase != null;
-assert !withQt4 -> qtx11extras != null;
-
-stdenv.mkDerivation {
-  name = "${pname}-${if withQt4 then "qt4" else "qt5"}-${v}";
+  version = "0.11.1";
 
   meta = with stdenv.lib; {
     homepage = https://phonon.kde.org/;
@@ -26,17 +17,25 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "163jqq5p9n0yfw2fqk0cqn3c6mqycxsvc4956zhkw5345g81a2a9";
+    url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "1vp52i5996khpxs233an7mlrzdji50gcs58ig8nrwfwlgyb1xnfc";
   };
 
-  buildInputs =
-    [ phonon vlc ]
-    ++ (if withQt4 then [ qt4 ] else [ qtbase qtx11extras ]);
-
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional (!withQt4) extra-cmake-modules;
-
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional (!withQt4) "-DPHONON_BUILD_PHONON4QT5=ON";
+  buildInputs = [
+    phonon
+    vlc
+    qtbase
+    qtx11extras
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+    extra-cmake-modules
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 }
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index dc32c4ebfb0..86e3caaa148 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, lib, fetchurl, cmake, libGLU_combined, pkgconfig, libpulseaudio
-, qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null
-, withQt5 ? false
-, debug ? false }:
+{ stdenv
+, lib
+, fetchurl
+, cmake
+, libGLU
+, libGL
+, pkgconfig
+, libpulseaudio
+, extra-cmake-modules
+, qtbase
+, qttools
+, debug ? false
+}:
 
 with lib;
 
 let
-  v = "4.10.3";
-
-  soname = if withQt5 then "phonon4qt5" else "phonon";
+  soname = "phonon4qt5";
   buildsystemdir = "share/cmake/${soname}";
 in
 
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qttools != null;
-
-stdenv.mkDerivation {
-  name = "phonon-${if withQt5 then "qt5" else "qt4"}-${v}";
+stdenv.mkDerivation rec {
+  pname = "phonon";
+  version = "4.11.1";
 
   meta = {
     homepage = https://phonon.kde.org/;
@@ -27,25 +32,31 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
-    sha256 = "15f2vndpqfcivifzl1s07r0wkavpfrjln1p46cwfk85gd5b192rf";
+    url = "mirror://kde/stable/phonon/${version}/phonon-${version}.tar.xz";
+    sha256 = "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl";
   };
 
-  buildInputs =
-    [ libGLU_combined libpulseaudio ]
-    ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ]);
+  buildInputs = [
+    libGLU
+    libGL
+    libpulseaudio
+    qtbase
+    qttools
+  ];
 
-  nativeBuildInputs =
-    [ cmake pkgconfig ]
-    ++ optional withQt5 extra-cmake-modules;
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    extra-cmake-modules
+  ];
 
   outputs = [ "out" "dev" ];
 
   NIX_CFLAGS_COMPILE = "-fPIC";
 
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 
   preConfigure = ''
     cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs"
@@ -63,10 +74,8 @@ stdenv.mkDerivation {
     sed -i cmake/FindPhononInternal.cmake \
         -e "/set(INCLUDE_INSTALL_DIR/ c set(INCLUDE_INSTALL_DIR \"''${!outputDev}/include\")"
 
-    ${optionalString withQt5 ''
     sed -i cmake/FindPhononInternal.cmake \
         -e "/set(PLUGIN_INSTALL_DIR/ c set(PLUGIN_INSTALL_DIR \"$qtPluginPrefix/..\")"
-    ''}
 
     sed -i CMakeLists.txt \
         -e "/set(BUILDSYSTEM_INSTALL_DIR/ c set(BUILDSYSTEM_INSTALL_DIR \"''${!outputDev}/${buildsystemdir}\")"
diff --git a/pkgs/development/libraries/physics/apfel/default.nix b/pkgs/development/libraries/physics/apfel/default.nix
index 5302ad21258..4ebfd6fbfa3 100644
--- a/pkgs/development/libraries/physics/apfel/default.nix
+++ b/pkgs/development/libraries/physics/apfel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gfortran, lhapdf, python2 }:
+{ stdenv, fetchFromGitHub, gfortran, lhapdf, python2, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "apfel";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "13n5ygbqvskg3qq5n4sff1nbii0li0zf1vqissai7x0hynxgy7p6";
   };
 
-  buildInputs = [ gfortran lhapdf python2 ];
+  buildInputs = [ gfortran lhapdf python2 zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/physics/applgrid/default.nix b/pkgs/development/libraries/physics/applgrid/default.nix
index edda5148068..3e2a53d81dd 100644
--- a/pkgs/development/libraries/physics/applgrid/default.nix
+++ b/pkgs/development/libraries/physics/applgrid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gfortran, hoppet, lhapdf, root5 }:
+{ stdenv, fetchurl, gfortran, hoppet, lhapdf, root5, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "applgrid";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1yw9wrk3vjv84kd3j4s1scfhinirknwk6xq0hvj7x2srx3h93q9p";
   };
 
-  buildInputs = [ gfortran hoppet lhapdf root5 ];
+  # For some reason zlib was only needed after bump to gfortran8
+  buildInputs = [ gfortran hoppet lhapdf root5 zlib ];
 
   patches = [
     ./bad_code.patch
diff --git a/pkgs/development/libraries/physics/fastjet-contrib/default.nix b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
new file mode 100644
index 00000000000..2bc5b12dfb7
--- /dev/null
+++ b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fastjet }:
+
+stdenv.mkDerivation rec {
+  pname = "fastjet-contrib";
+  version = "1.042";
+
+  src = fetchurl {
+    url = "http://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
+    sha256 = "0cc8dn6g7adj2pgs8hvczg68i3xhlk6978m4gxamgibilf9jw1av";
+  };
+
+  buildInputs = [ fastjet ];
+
+  postPatch = ''
+    for f in Makefile.in */Makefile; do
+      substituteInPlace "$f" --replace "CXX=g++" ""
+    done
+    patchShebangs ./configure ./utils/check.sh ./utils/install-sh
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  postBuild = ''
+    make fragile-shared
+  '';
+
+  postInstall = ''
+    make fragile-shared-install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Third party extensions for FastJet";
+    homepage = "http://fastjet.fr/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 96715882c23..007e4ad0c32 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -30,7 +30,7 @@
 , libXpm
 
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined
+, libGLU, libGL
 , xlibsWrapper
 , libXmu
 }:
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs =  [ cmake ];
-  buildInputs = [ clhep expat zlib libGLU_combined xlibsWrapper libXmu ]
+  buildInputs = [ clhep expat zlib libGLU libGL xlibsWrapper libXmu ]
     ++ stdenv.lib.optionals enableGDML [ xercesc ]
     ++ stdenv.lib.optionals enableXM [ motif ]
     ++ stdenv.lib.optionals enableQT [ qtbase ]
diff --git a/pkgs/development/libraries/physics/herwig/default.nix b/pkgs/development/libraries/physics/herwig/default.nix
index d252e62286b..d52f92d9639 100644
--- a/pkgs/development/libraries/physics/herwig/default.nix
+++ b/pkgs/development/libraries/physics/herwig/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "herwig";
-  version = "7.1.5";
+  version = "7.2.0";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
-    sha256 = "0jnrv59zfa41gc37pqr3vaiz5jkh7w0k0alcax37b3mlbsnacr9r";
+    sha256 = "0r5iyai2j99pk9p36g4rp98bxm55zd1ik9kgm2zf5zgpvxfm8csr";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
 
   buildInputs = [ boost fastjet gfortran gsl thepeg zlib ]
-    # There is a bug that requires for MMHT PDF's to be presend during the build
-    ++ (with lhapdf.pdf_sets; [ MMHT2014lo68cl MMHT2014nlo68cl ]);
+    # There is a bug that requires for default PDF's to be present during the build
+    ++ (with lhapdf.pdf_sets; [ CT14lo CT14nlo ]);
 
   postPatch = ''
     patchShebangs ./
@@ -25,12 +25,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A multi-purpose particle physics event generator";
-    license     = stdenv.lib.licenses.gpl2;
-    homepage    = https://herwig.hepforge.org/;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
-    broken      = stdenv.isAarch64; # doesn't compile: ignoring return value of 'FILE* freopen...
+    homepage = https://herwig.hepforge.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
+    broken = stdenv.isAarch64; # doesn't compile: ignoring return value of 'FILE* freopen...
   };
 }
diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix
index 0398175a9a2..c37d4b9d2f1 100644
--- a/pkgs/development/libraries/physics/pythia/default.nix
+++ b/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pythia";
-  version = "8.243";
+  version = "8.244";
 
   src = fetchurl {
     url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "0y8w5gdaczg8vdw63rkgjr1dcvqs2clqkdia34p30xcwgm1jgv7q";
+    sha256 = "1jlj9hgmk2gcm5p0zqsiz0dpv9vvj8ip261si7frrwfsk7wq0j73";
   };
 
   buildInputs = [ boost fastjet hepmc2 zlib rsync lhapdf ];
diff --git a/pkgs/development/libraries/physics/qcdnum/default.nix b/pkgs/development/libraries/physics/qcdnum/default.nix
index ad5f994620f..8b002ce8195 100644
--- a/pkgs/development/libraries/physics/qcdnum/default.nix
+++ b/pkgs/development/libraries/physics/qcdnum/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gfortran }:
+{ stdenv, fetchurl, gfortran, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "QCDNUM";
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ gfortran ];
+  buildInputs = [ zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 914eee5c286..95e44f2364c 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
+{ stdenv, fetchurl, fetchpatch, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "rivet";
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
+    (fetchpatch {
+      url = "https://phab-files.hepforge.org/file/data/j3ja4jirrdyrovrmnbuh/PHID-FILE-6vnor4aoz3s2ejruisrg/file";
+      sha256 = "0flxv08wcd0m5di75s2zvm015k2k70nqgpcgcbq7m604z26pd6ab";
+    })
   ];
 
   latex = texlive.combine { inherit (texlive)
diff --git a/pkgs/development/libraries/physics/thepeg/default.nix b/pkgs/development/libraries/physics/thepeg/default.nix
index fa293eab350..15c94668581 100644
--- a/pkgs/development/libraries/physics/thepeg/default.nix
+++ b/pkgs/development/libraries/physics/thepeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thepeg";
-  version = "2.1.5";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
-    sha256 = "1rmmwhk9abn9mc9j3127axjwpvymv21ld4wcivwz01pldkxh06n6";
+    sha256 = "1y7vwsc4zk629np4rpjh7a8qzvyqc2fixnwq98dgdndp2544gqfk";
   };
 
   buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Toolkit for High Energy Physics Event Generation";
-    license     = stdenv.lib.licenses.gpl2;
-    homepage    = https://herwig.hepforge.org/;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+    homepage = https://herwig.hepforge.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix
index c9e8c632c7f..bbc5eb21c27 100644
--- a/pkgs/development/libraries/plib/default.nix
+++ b/pkgs/development/libraries/plib/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, libGLU_combined, freeglut, SDL
+{ fetchurl, fetchpatch, stdenv, libGLU, libGL, freeglut, SDL
 , libXi, libSM, libXmu, libXext, libX11 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    libGLU_combined freeglut SDL
+    libGLU libGL freeglut SDL
 
     # The following libs ought to be propagated build inputs of Mesa.
     libXi libSM libXmu libXext libX11
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 9fdf53a1372..17163c2206c 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -2,7 +2,7 @@
 , intltool, spidermonkey_60 , gobject-introspection, libxslt, docbook_xsl, dbus
 , docbook_xml_dtd_412, gtk-doc, coreutils
 , useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
-, withGnome ? true
+, withIntrospection ? true
 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
 # Not yet investigated; it may be due to the "Make netgroup support optional"
 # patch not updating the tests correctly yet, or doing something wrong,
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
 
   patches = [
     # Don't use etc/dbus-1/system.d
+    # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/11
     (fetchpatch {
-      url = "https://gitlab.freedesktop.org/polkit/polkit/merge_requests/11.patch";
+      url = "https://gitlab.freedesktop.org/polkit/polkit/commit/5dd4e22efd05d55833c4634b56e473812b5acbf2.patch";
       sha256 = "17lv7xj5ksa27iv4zpm4zwd4iy8zbwjj4ximslfq3sasiz9kxhlp";
     })
   ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
@@ -54,8 +55,9 @@ stdenv.mkDerivation rec {
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
     [ expat pam spidermonkey_60 ]
-    ++ (if useSystemd then [systemd] else [elogind])
-    ++ stdenv.lib.optional withGnome gobject-introspection;
+    # On Linux, fall back to elogind when systemd support is off.
+    ++ stdenv.lib.optional stdenv.isLinux (if useSystemd then systemd else elogind)
+    ++ stdenv.lib.optional withIntrospection gobject-introspection;
 
   propagatedBuildInputs = [
     glib # in .pc Requires
@@ -84,7 +86,7 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
     "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
-    (if withGnome then "--enable-introspection" else "--disable-introspection")
+    (if withIntrospection then "--enable-introspection" else "--disable-introspection")
   ] ++ stdenv.lib.optional (!doCheck) "--disable-test";
 
   makeFlags = [
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 523e372996b..eb1e9ec732f 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -7,28 +7,20 @@
 , minimal ? false, suffix ? "glib"
 }:
 
-let # beware: updates often break cups-filters build
-  version = "0.74.0";
+let
   mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
+  version = "0.83.0"; # beware: updates often break cups-filters build
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "0bvb0yq9zsl2b811j4l4x0vf8g5lgmqbndkb2hvgsrr5639rzq4j";
+    sha256 = "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38";
   };
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-9959.patch";
-      url = "https://gitlab.freedesktop.org/poppler/poppler/commit/68ef84e5968a4249c2162b839ca6d7975048a557.patch";
-      sha256 = "17a3qs74fnnrhjys23f4aw5y7yfsk5d507jcj4hh1bndqv6dpwg1";
-    })
-  ];
-
   buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
 
   # TODO: reduce propagation to necessary libs
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
new file mode 100644
index 00000000000..cdce346fe79
--- /dev/null
+++ b/pkgs/development/libraries/precice/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, openmpi, python2, python2Packages }:
+
+stdenv.mkDerivation rec {
+  pname = "precice";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "precice";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00631zw6cpm67j35cwad04nwgfcvlxa8p660fwz30pgj2hzdx3d2";
+  };
+
+  preConfigure = ''
+    cmakeFlags="-DBUILD_SHARED_LIBS=ON -DPETSC=off"
+  '';
+
+  nativeBuildInputs = [ cmake gcc ];
+  buildInputs = [ boost eigen libxml2 openmpi python2 python2Packages.numpy ];
+  installPhase = ''
+    mkdir -p $out/lib
+    cp libprecice.so libprecice.so.1.6.1 $out/lib/
+  '';
+
+  meta = {
+    description = "preCICE stands for Precise Code Interaction Coupling Environment";
+    license = with lib.licenses; [ gpl3 ];
+    homepage = "https://www.precice.org/";
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ Scriptkiddi ];
+  };
+}
+
diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix
index 6f49db4d206..b047322c35e 100644
--- a/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/pkgs/development/libraries/prometheus-cpp/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "prometheus-cpp";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "jupp0r";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15bda1q1jbvixbx1qf41ykcdmsywhhwmi4xgsha12r5m9fh8jzxj";
+    sha256 = "0j12ir8skw3y2q8n743zql4ddp7v1j4h030pjcsqn0xqrqw7m5hg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/protobuf/3.11.nix b/pkgs/development/libraries/protobuf/3.11.nix
new file mode 100644
index 00000000000..7e89463aad6
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.11.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.11.1";
+  sha256 = "1mq8dp94mlp72ri27bgvc2i370r8kfig87wfai7vxjdnh3vng0y1";
+}
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index a36e9e0fd0d..f1eb3ae51f3 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protolock";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "nilslice";
     repo = "protolock";
     rev = "v${version}";
-    sha256 = "0assk7hp9s3m7zm5i1v0pggz00a54yf2w3y0b8mlq5v51y2h8h2z";
+    sha256 = "0qg26vcqdhgy91p6wiv16dq73ay0fymran3d8ylca9264zwi2vxw";
   };
 
-  modSha256 = "079hbv0f8k5lljrb1cr9568wq8sb9yry9smgbrji19yavd9fzcmh";
+  modSha256 = "1q755ipqsfpr41s5fxzmx50lwcdqc5a7akwx6mzn789w2z07x8lg";
 
   postInstall = ''
     rm $out/bin/plugin*
diff --git a/pkgs/development/libraries/pybind11/default.nix b/pkgs/development/libraries/pybind11/default.nix
deleted file mode 100644
index 7dfbdc4d64a..00000000000
--- a/pkgs/development/libraries/pybind11/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, catch, python, eigen }:
-
-stdenv.mkDerivation rec {
-  pname = "pybind";
-  version = "2.2.4";
-
-  src = fetchFromGitHub {
-    owner = "pybind";
-    repo = "pybind11";
-    rev = "v${version}";
-    sha256 = "0pa79ymcasv8br5ifbx7878id5py2jpjac3i20cqxr6gs9l6ivlv";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  checkInputs = with python.pkgs; [ catch eigen pytest numpy scipy ];
-
-  # Disable test_cmake_build test, as it fails in sandbox
-  # https://github.com/pybind/pybind11/issues/1355
-  patches = [
-    ./no_test_cmake_build.patch
-    (fetchurl { # Remove on bump to v2.2.5
-      name = "pytest_namespace_to_configure.patch";
-      url = "https://github.com/pybind/pybind11/commit/e7ef34f23f194cfa40bdbf967c6d34712261a4ee.patch";
-      sha256 = "1dhv6p0b5fxzxc8j3sfy8kvfmdshczk22xfxh6bk0cfnfdy9iqrq";
-    })
-  ];
-
-  doCheck = true;
-
-  cmakeFlags = [ 
-    "-DPYTHON_EXECUTABLE=${python.interpreter}" 
-    "-DPYBIND11_TEST=${if doCheck then "ON" else "OFF"}"
-  ];
-
-  meta = {
-    homepage = https://github.com/pybind/pybind11;
-    description = "Seamless operability between C++11 and Python";
-    longDescription = ''
-      Pybind11 is a lightweight header-only library that exposes
-      C++ types in Python and vice versa, mainly to create Python
-      bindings of existing C++ code.
-    '';
-    platforms = with stdenv.lib.platforms; unix;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
-  };
-}
diff --git a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch b/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
deleted file mode 100644
index c5d6ecc4481..00000000000
--- a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/tests/CMakeLists.txt	2019-01-28 14:13:55.822119328 +0100
-+++ b/tests/CMakeLists.txt	2019-01-28 14:14:06.741161928 +0100
-@@ -233,4 +233,3 @@
- add_subdirectory(test_embed)
- 
- # Test CMake build using functions and targets from subdirectory or installed location
--add_subdirectory(test_cmake_build)
diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix
index 94c69a4a14b..3626e15cfc7 100644
--- a/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake }:
+{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake, qtx11extras, pantheon }:
 
 mkDerivation rec {
   pname = "qgnomeplatform";
-  version = "0.5";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "QGnomePlatform";
     rev = version;
-    sha256 = "01ncj21cxd5p7pch6p3zbhv5wp0dgn9vy5hrw54g49fmqnbb1ymz";
+    sha256 = "0fb1mzs6sx76bl7f0z2xhc0jq6y1c55jrw1v3na8577is6g5ji0a";
   };
 
   nativeBuildInputs = [
@@ -19,14 +19,23 @@ mkDerivation rec {
   buildInputs = [
     gtk3
     qtbase
+    qtx11extras
   ];
 
   postPatch = ''
     # Fix plugin dir
-    substituteInPlace qgnomeplatform.pro \
+    substituteInPlace decoration/decoration.pro \
+      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
+    substituteInPlace theme/theme.pro \
       --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "QPlatformTheme for a better Qt application inclusion in GNOME";
     homepage = https://github.com/FedoraQt/QGnomePlatform;
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 5cdde468416..68362be596b 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libjpeg, zlib, perl }:
 
-let version = "9.0.2";
+let version = "9.1.0";
 in
 stdenv.mkDerivation rec {
   pname = "qpdf";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0b6jhhsifgiwrznxxi3h7hqm7bi91wph65jjbvs4g2860vcm296h";
+    sha256 = "0ygd80wxcmh613n04x2kmf8wlsl0drxyd5wwdcrm1rzj0xwvpfrs";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index a46dcec0312..98519ae294a 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -8,7 +8,7 @@
 , mysqlSupport ? false, libmysqlclient ? null
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , openglSupport ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, libGLU_combined ? null, libXmu ? null
+, libGL ? null, libGLU ? null, libXmu ? null
 , xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which
 }:
 
@@ -17,7 +17,7 @@ assert xrenderSupport -> xftSupport && libXrender != null;
 assert xrandrSupport -> libXrandr != null;
 assert cursorSupport -> libXcursor != null;
 assert mysqlSupport -> libmysqlclient != null;
-assert openglSupport -> libGLU_combined != null && libXmu != null;
+assert openglSupport -> libGL != null && libGLU != null && libXmu != null;
 
 stdenv.mkDerivation {
   name = "qt-3.3.8";
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     (mk xftSupport "xft")
   ] ++ stdenv.lib.optionals openglSupport [
     "-dlopen-opengl"
-    "-L${libGLU_combined}/lib" "-I${libGLU_combined}/include"
+    "-L${libGL}/lib" "-I${libGLU}/include"
     "-L${libXmu.out}/lib" "-I${libXmu.dev}/include"
   ] ++ stdenv.lib.optionals xrenderSupport [
     "-L${libXrender.out}/lib" "-I${libXrender.dev}/include"
diff --git a/pkgs/development/libraries/qt-5/5.11/fetch.sh b/pkgs/development/libraries/qt-5/5.11/fetch.sh
deleted file mode 100644
index 2ab3dd71c24..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase.patch b/pkgs/development/libraries/qt-5/5.11/qtbase.patch
deleted file mode 100644
index 7d8407f6daf..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase.patch
+++ /dev/null
@@ -1,1106 +0,0 @@
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,7 +23,7 @@
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -21,7 +21,7 @@
- # at cmake time whether package has been found via a symlink, and correct
- # that to an absolute path. This is only done for installations to
- # the /usr or / prefix.
--CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
-+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
- contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
- 
- CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -51,45 +51,20 @@
-         $$cmake_extra_source_includes.output
- }
- 
--CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
--    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
--    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
-+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
- 
--CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
--    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--    CMAKE_LIB_DIR_IS_ABSOLUTE = True
--} else {
--    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
--    # We need to go up another two levels because the CMake files are
--    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
--    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
--}
-+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_DIR_IS_ABSOLUTE = True
- 
--CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
--    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
--    CMAKE_BIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
- 
--CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
--    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
--    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
--}
--
--win32:!static:!staticlib {
--    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
--    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
--        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
--        CMAKE_DLL_DIR_IS_ABSOLUTE = True
--    }
--} else {
--    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
--    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
--}
-+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
-+ 
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -169,7 +144,7 @@
-       cmake_target_file
- 
-     cmake_qt5_plugin_file.files = $$cmake_target_file.output
--    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
-     INSTALLS += cmake_qt5_plugin_file
- 
-     return()
-@@ -316,7 +291,7 @@
-     cmake_qt5_module_files.files += $$cmake_macros_file.output
- }
- 
--cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
- 
- # We are generating cmake files. Most developers of Qt are not aware of cmake,
- # so we require automatic tests to be available. The only module which should
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2019-01-31 00:42:55.843577249 +0100
-@@ -3,30 +3,6 @@
-     message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
- endif()
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
-@@ -52,11 +28,7 @@
- macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -69,11 +41,7 @@
-     )
- 
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
-     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
-     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
-         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -89,24 +57,13 @@
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
--!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -122,7 +79,6 @@
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -269,25 +225,13 @@
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -306,25 +250,13 @@
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -343,11 +275,7 @@
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf	2019-01-31 00:45:14.585621324 +0100
-@@ -62,199 +62,3 @@
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
--    !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
--        qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
--    else: \
--        qmake_pkginfo_typeinfo.value = "????"
--    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
--
--    !isEmpty(VERSION) {
--        l = $$split(VERSION, '.') 0 0  # make sure there are at least three
--        VER_MAJ = $$member(l, 0, 0)
--        VER_MIN = $$member(l, 1, 1)
--        VER_PAT = $$member(l, 2, 2)
--        unset(l)
--
--        qmake_full_version.name = QMAKE_FULL_VERSION
--        qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
--
--        qmake_short_version.name = QMAKE_SHORT_VERSION
--        qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
--    }
--
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
--
--xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
--xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
--isEmpty(xcode_product_bundle_identifier_setting.value): \
--    xcode_product_bundle_identifier_setting.value = "com.yourcompany"
--xcode_product_bundle_target = $$QMAKE_BUNDLE
--isEmpty(xcode_product_bundle_target): \
--    xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
--xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
--QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features/mac: default_post.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,60 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
--
--xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
--xcode_copy_phase_strip_setting.value = NO
--QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,58 +1 @@
- 
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        infoarg = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        infoarg = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        infoarg = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,13 +23,8 @@
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -48,13 +48,8 @@
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- target.path = $$instbase/$$TARGETPATH
- INSTALLS += target
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -33,7 +33,7 @@
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(debug_and_release): CONFIG += release
--    target.path = $$[QT_INSTALL_BINS]
-+    target.path = $$NIX_OUTPUT_BIN/bin
-     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
- }
- INSTALLS += target
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -24,6 +24,6 @@
- !force_independent {
-     # If the module is not built independently, everything ends up in qtbase.
-     # This is the case in non-prefix builds, except for selected modules.
--    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
--    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
-+    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
-+    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
- }
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features: qt_build_paths.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -32,8 +32,8 @@
-         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
-         qt_libdir = $$[QT_HOST_LIBS]
-     } else {
--        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
--        qt_libdir = $$[QT_INSTALL_LIBS]
-+        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
-+        qt_libdir = $$NIX_OUTPUT_OUT/lib
-     }
-     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
-         lib_replace.match = "[^ ']*$$rplbase/lib"
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -45,7 +45,7 @@
- 
- QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
- !build_online_docs: \
--    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
-+    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
- PREP_DOC_INDEXES =
- DOC_INDEXES =
- !isEmpty(QTREPOS) {
-@@ -64,8 +64,8 @@
-         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
- } else {
-     prepare_docs: \
--        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
--    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
-+        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
-+    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,12 @@
-     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
- 
-     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
--    inst_html_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_html_docs.path = $$NIX_OUTPUT_DOC
-     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
-     INSTALLS += inst_html_docs
- 
-     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
--    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_qch_docs.path = $$NIX_OUTPUT_DOC
-     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
-     INSTALLS += inst_qch_docs
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
-     $$DBUS_ADAPTORS $$DBUS_INTERFACES
- addInstallFiles(sources.files, $$sourcefiles)
--sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
-+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
- INSTALLS += sources
- 
- check_examples {
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -69,7 +69,7 @@
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -12,16 +12,10 @@
- #library
- !qt_no_install_library {
-     win32 {
--       host_build: \
--           dlltarget.path = $$[QT_HOST_BINS]
--       else: \
--           dlltarget.path = $$[QT_INSTALL_BINS]
-+        dlltarget.path = $$NIX_OUTPUT_BIN/bin
-        INSTALLS += dlltarget
-     }
--    host_build: \
--        target.path = $$[QT_HOST_LIBS]
--    else: \
--        target.path = $$[QT_INSTALL_LIBS]
-+    target.path = $$NIX_OUTPUT_OUT/lib
-     !static: target.CONFIG = no_dll
-     INSTALLS += target
- }
-@@ -29,33 +23,33 @@
- #headers
- qt_install_headers {
-     gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
--    gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += gen_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
--    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += targ_headers
- 
-     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
--    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-+    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-     INSTALLS += private_headers
- 
-     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
--    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-+    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-     INSTALLS += qpa_headers
- }
- 
- #module
- qt_install_module {
-     !isEmpty(MODULE_PRI) {
--        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         pritarget.files = $$MODULE_PRI
-         INSTALLS += pritarget
-     } else: isEmpty(MODULE_PRIVATE_PRI) {
-         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
-     }
-     !isEmpty(MODULE_PRIVATE_PRI) {
--        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         privpritarget.files = $$MODULE_PRIVATE_PRI
-         INSTALLS += privpritarget
-     }
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -2612,6 +2612,15 @@
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-Only in qtbase-everywhere-src-5.11.3/src/corelib/kernel: qcoreapplication.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -3,7 +3,7 @@
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -116,7 +116,7 @@
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -130,7 +130,7 @@
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -70,7 +70,11 @@
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -644,12 +648,16 @@
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -2,11 +2,7 @@
- if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
-@@ -17,11 +13,7 @@
- if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -265,12 +265,9 @@
-     m_possibleLocations.reserve(7);
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -650,9 +650,14 @@
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
--                if (!lib.load())
--                    lib.setFileNameAndVersion(QLatin1String("GL"), 1);
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
-Only in qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx: qglxintegration.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -316,10 +316,10 @@
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h
---- qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h	2019-01-31 00:42:55.846577295 +0100
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
- #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
--
- #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2019-01-31 00:42:55.846577295 +0100
-@@ -3,7 +3,7 @@
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
deleted file mode 100644
index cfa68eb8102..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index 005db4248..685c5b1b2 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
-diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-index 56cb3fb55..74509d601 100644
---- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-+++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-@@ -17,7 +17,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles)
- 
-     find_package(Qt5 COMPONENTS Qml Core)
- 
--    set(compiler_path "${_qt5Core_install_prefix}/bin/qmlcachegen")
-+    set(compiler_path "qmlcachegen")
- 
-     get_target_property(rcc_path ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
- 
-diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 537eaf62e..e21de58f6 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.11/qtscript.patch b/pkgs/development/libraries/qt-5/5.11/qtscript.patch
deleted file mode 100644
index 5508dec1280..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
deleted file mode 100644
index f25524e80bc..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.11/qttools.patch b/pkgs/development/libraries/qt-5/5.11/qttools.patch
deleted file mode 100644
index 622efc35b6b..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qttools.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
---- a/src/macdeployqt/shared/shared.cpp
-+++ b/src/macdeployqt/shared/shared.cpp
-@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
-     if (!QFile(qmlImportScannerPath).exists())
-         qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
- 
-+#ifdef NIXPKGS_QMLIMPORTSCANNER
-+    // Fallback: Nixpkgs hardcoded path
-+    if (!QFile(qmlImportScannerPath).exists())
-+        qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
-+#endif
-+
-     // Verify that we found a qmlimportscanner binary
-     if (!QFile(qmlImportScannerPath).exists()) {
-         LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 3e1a8762b36..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
---- a/mkspecs/features/platform.prf
-+++ b/mkspecs/features/platform.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-          return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(7, 3) {
--      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 7.3 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Building Qt WebEngine requires macOS version 10.11 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
deleted file mode 100644
index b94a4b76cba..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
---- a/Source/WebKit2/PlatformQt.cmake
-+++ b/Source/WebKit2/PlatformQt.cmake
-@@ -261,6 +261,7 @@
- list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
-     ${GLIB_INCLUDE_DIRS}
-     ${GSTREAMER_INCLUDE_DIRS}
-+    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
-     ${Qt5Quick_INCLUDE_DIRS}
-     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
-     ${SQLITE_INCLUDE_DIR}
-
diff --git a/pkgs/development/libraries/qt-5/5.11/srcs.nix b/pkgs/development/libraries/qt-5/5.11/srcs.nix
deleted file mode 100644
index cff49b18033..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/srcs.nix
+++ /dev/null
@@ -1,325 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1awyv40jgbb30yp5zxf6j9wq96nmk8zyhbh4fpn9gn35ychmr984";
-      name = "qt3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtactiveqt-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0g35yhp01c34m91fp5vzzq0d2kzz0yswpjjk5cg36j0ddnfcsh4d";
-      name = "qtactiveqt-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtandroidextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0clqz10ry70f0v8hbw37fhlwrsr5jddg99yjsk9db250dwbqzq27";
-      name = "qtandroidextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz";
-      sha256 = "071yc9iz14qs4s8yvrwllyfdzp5yjxsdpvbjxdrf0g5q69vqigy6";
-      name = "qtbase-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0f110z7cmkzns9k00aa5zhzq2fpybfxkd7gdlwzcbhc8hn20986m";
-      name = "qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1p4m1nkbbxlkwmbmasx5r83skzssmlcgfzyvj30x2dyrqkmz7627";
-      name = "qtcharts-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0amks3qad31i7cha85kvcaxvlmmgkc3gm4jdkw2p02ixxfygr30l";
-      name = "qtconnectivity-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1kqwr3avcvcyy4i28vjgxk1bsjj9011zr668hsk1zrjxnnwjwdl3";
-      name = "qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1rhsf9bma2zwwpixk2fsg31x7c1pmsk144npypgc9w86swhkc9lf";
-      name = "qtdeclarative-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdoc-everywhere-src-5.11.3.tar.xz";
-      sha256 = "06nl8lzrilj8yify5qy4fm9la6dh71aamg19jhvvi657cshiclsq";
-      name = "qtdoc-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgamepad-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1k222cx18zq48sfna91hmy427qzk2n2xz3dlyz59iyz72k6915g9";
-      name = "qtgamepad-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1qjpdzkamf27cg5n1wsf0zk939lcgppgydfjzap9s4fxzj1nkn0l";
-      name = "qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0zq8igsjyyhxsjr43vpaasrqjw3x0g6rwqf8kaz7y9vs7ny63ch4";
-      name = "qtimageformats-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1sq0f41jwmsimv9a1wl2nk5nifjppm5j92rr4n4s7qwnnjjrir2q";
-      name = "qtlocation-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmacextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1j9sqmcwswr8v9z8mcbm10bj7nz8nv9mir0xsc5123ik1gw2c3lk";
-      name = "qtmacextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0h9wx86zj20n4xc3qnml0i360x2dc1yd2z2af1flj8fwyzppi03j";
-      name = "qtmultimedia-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dd35698wzg89975vi2ijl2lym495fjizsl03mjixsjnvb1x0q50";
-      name = "qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtpurchasing-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1fd0gxdj5mrh81iwimq1243i3n47sqv9ik8nslahfh0q3dsx7k8n";
-      name = "qtpurchasing-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dvmy31qbl76yy0j5y8m7mvnmqyg2c01fmlkn0snvc5h5ah5skjf";
-      name = "qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11nhpb0xckv5jjkqj5szr94c2rvyjwr89ch58hh64nsqaav30mpl";
-      name = "qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1d3jzsxfyjhgb6wj9iv1388bv7j6pi08346nmkm1c1a4iykhc0zp";
-      name = "qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz";
-      sha256 = "027cvggbcvwyz76cn1bl1zvqg0nq7iica1b7yx7xyy0hb36g715v";
-      name = "qtscript-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1mv8mz36v34dckrzy5r41mq3sqznbalrhndk3avz2154xmkjf5qk";
-      name = "qtscxml-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0n88c8xi9pbyh7q1pcqv4yjv6nx62abflj8qgfr4qzb0sp8m6mx7";
-      name = "qtsensors-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0vf12jk1ma0v0dlpliw1x9i04iaik1kjkiaby7gaxm2abprxwr2n";
-      name = "qtserialbus-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1nkbfsxzgicwns3k11hhzjxy2hgrigj8xcw2by0jc1j71mnmxi4n";
-      name = "qtserialport-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtspeech-everywhere-src-5.11.3.tar.xz";
-      sha256 = "158p7zqd0vg55gf88jzc3d4f7649ihh80k0m1q46m2yp6fpdjbxr";
-      name = "qtspeech-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz";
-      sha256 = "14a4rprbj9f9rhixbk7143xdz34d7d39xh9v2sc1w43q9sf2rsi1";
-      name = "qtsvg-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz";
-      sha256 = "13lzdxxi02yhvx4mflhisl6aqv2fiss5m804cqccd1wvp8dyh1f2";
-      name = "qttools-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttranslations-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0j8i2kabz22vqb0qj41pkjv848zblqxs71sydc3xcd5av22b517s";
-      name = "qttranslations-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-      sha256 = "17jb7cbfy5c19fr9frql6q22in3ra3a4fbff0kjykllxb8j40p4c";
-      name = "qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1chz4wchgkzd45h143i5hkqg0whcgdbj37gkg7j4kj31whllzjb2";
-      name = "qtwayland-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1wrdawlqvcw84h8q52mvbjhp1vkd6fhz6c8ijlg9rw0s3fj4y99w";
-      name = "qtwebchannel-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v";
-      name = "qtwebengine-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebglplugin = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0wqz8lycmi7pffzy0pz5960w109lbk4mkbw0l1lh64avl6clq7b9";
-      name = "qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1ffmapfy68xwwbxbg19ng6b5h8v42cf78s21j7rgq49gm70r0402";
-      name = "qtwebsockets-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebview-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1njmn1n03dp4md8cz58cq2z6bsxd8nwlw0238zmavh7px3jzc9kh";
-      name = "qtwebview-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwinextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1xf9gc0wqk9jz2ayx29vx0vmm72x9h4qxp2fvgpclns621wyhw72";
-      name = "qtwinextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11fd2mc20qmnyv1vqhaqad2q6m0i4lmkr432rmqvpkgphpkfp7pr";
-      name = "qtx11extras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1vhfvgi39miqsx3iq7c9sii2sykq0yfng69b70i0smr20zihpl4b";
-      name = "qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index 2800f2d7797..8d27f3a0d4b 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -54,6 +54,7 @@ let
       optionals stdenv.isDarwin [
         ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
         ./qtbase.patch.d/0002-qtbase-mac.patch
+        ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
       ]
       ++ [
         ./qtbase.patch.d/0003-qtbase-mkspecs.patch
diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh
index 575115c9bdf..9f99879511e 100644
--- a/pkgs/development/libraries/qt-5/5.12/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/ )
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.6/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
index ae5d016c99f..bb535b8a0c0 100644
--- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
@@ -5,11 +5,11 @@ Subject: [PATCH 01/12] qtbase-mkspecs-mac
 
 ---
  mkspecs/common/mac.conf               |   2 +-
- mkspecs/features/mac/default_post.prf | 201 --------------------------
- mkspecs/features/mac/default_pre.prf  |  58 --------
- mkspecs/features/mac/sdk.mk           |  25 ----
- mkspecs/features/mac/sdk.prf          |  61 --------
- 5 files changed, 1 insertion(+), 346 deletions(-)
+ mkspecs/features/mac/default_post.prf | 202 ----------------------------------
+ mkspecs/features/mac/default_pre.prf  |  58 ----------
+ mkspecs/features/mac/sdk.mk           |  25 -----
+ mkspecs/features/mac/sdk.prf          |  61 ----------
+ 5 files changed, 1 insertion(+), 347 deletions(-)
 
 diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
 index b77494ec9b..470c38e772 100644
@@ -25,10 +25,10 @@ index b77494ec9b..470c38e772 100644
  
  QMAKE_LFLAGS_REL_RPATH  =
 diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index 26bd3e2e98..b80ec1e801 100644
+index 993f4d56a9..b80ec1e801 100644
 --- a/mkspecs/features/mac/default_post.prf
 +++ b/mkspecs/features/mac/default_post.prf
-@@ -68,207 +68,6 @@ qt {
+@@ -68,208 +68,6 @@ qt {
      }
  }
  
@@ -61,21 +61,22 @@ index 26bd3e2e98..b80ec1e801 100644
 -        qmake_pkginfo_typeinfo.value = "????"
 -    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
 -
--    !isEmpty(VERSION) {
--        l = $$split(VERSION, '.') 0 0  # make sure there are at least three
--        VER_MAJ = $$member(l, 0, 0)
--        VER_MIN = $$member(l, 1, 1)
--        VER_PAT = $$member(l, 2, 2)
--        unset(l)
+-    bundle_version = $$VERSION
+-    isEmpty(bundle_version): bundle_version = 1.0.0
 -
--        qmake_full_version.name = QMAKE_FULL_VERSION
--        qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-    l = $$split(bundle_version, '.') 0 0  # make sure there are at least three
+-    VER_MAJ = $$member(l, 0, 0)
+-    VER_MIN = $$member(l, 1, 1)
+-    VER_PAT = $$member(l, 2, 2)
+-    unset(l)
 -
--        qmake_short_version.name = QMAKE_SHORT_VERSION
--        qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
--    }
+-    qmake_full_version.name = QMAKE_FULL_VERSION
+-    qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-
+-    qmake_short_version.name = QMAKE_SHORT_VERSION
+-    qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
 -
 -    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
 -        debug_information_format.name = DEBUG_INFORMATION_FORMAT
diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch
new file mode 100644
index 00000000000..a43a46d8a69
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0013-define-kiosurfacesuccess.patch
@@ -0,0 +1,16 @@
+diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
+index a367487e..c3aeca1d 100644
+--- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
++++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
+@@ -49,6 +49,11 @@
+ // but was only added in the 10.14 SDK, so declare it just in case.
+ extern "C" CFPropertyListRef CGColorSpaceCopyPropertyList(CGColorSpaceRef space);
+ 
++// Introduced in 10.13: http://codeworkshop.net/objc-diff/sdkdiffs/macos/10.13/IOSurface.html
++#if !defined(kIOSurfaceSuccess)
++#define kIOSurfaceSuccess KERN_SUCCESS
++#endif
++
+ QT_BEGIN_NAMESPACE
+ 
+ Q_LOGGING_CATEGORY(lcQpaIOSurface, "qt.qpa.backingstore.iosurface");
diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix
index 3b4d761c16c..b4494593fd0 100644
--- a/pkgs/development/libraries/qt-5/5.12/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix
@@ -3,323 +3,323 @@
 
 {
   qt3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qt3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "2a35b144768c7ad8a9265d16a04f038d9bc51016bd2c4b2b516e374f81ff29c4";
-      name = "qt3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qt3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "cf34ce99a2592270abbf32a13fa824d99c76412fc493a3f1c37e37892b198baf";
+      name = "qt3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtactiveqt-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d673a1269dd900c78dbfe88eb16e086e36d236571722712a64401cdec7b73a40";
-      name = "qtactiveqt-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtactiveqt-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c50f082588bf7dad2091a5b67c426791bf36d7d1503c56dc79b9e26444931f09";
+      name = "qtactiveqt-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtandroidextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f115ccef1e808da7c5d0348f3e245952a2973966f34d18b935f9e3eb16062eab";
-      name = "qtandroidextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtandroidextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a0f15a4ba29abe90de2b2c221efd22ecfb6793590ff9610f85e6e6b6562784fe";
+      name = "qtandroidextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtbase = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtbase-everywhere-src-5.12.5.tar.xz";
-      sha256 = "fc8abffbbda9da3e593d8d62b56bc17dbaab13ff71b72915ddda11dabde4d625";
-      name = "qtbase-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtbase-everywhere-src-5.12.6.tar.xz";
+      sha256 = "6ab52649d74d7c1728cf4a6cf335d1142b3bf617d476e2857eb7961ef43f9f27";
+      name = "qtbase-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcanvas3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1553e06ce3cc5afb36aed3698b85c00e734eac07f7f41895426bebd84216d80c";
-      name = "qtcanvas3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcanvas3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2d33e6c944e5a2eed7528fdfe9deadfb1b7a0fcf17bab1f8b83988b1327d9d08";
+      name = "qtcanvas3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcharts-everywhere-src-5.12.5.tar.xz";
-      sha256 = "4c7c30a916ba0100a1635b89f48bc5a8af4cdedac79c3fc18456af54dc0a6608";
-      name = "qtcharts-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcharts-everywhere-src-5.12.6.tar.xz";
+      sha256 = "14dbdb5bb18d774e3b7ac3042a3f349080ab42c2588527ff04123df1c9ccaa3d";
+      name = "qtcharts-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtconnectivity-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdf62c72d689f47c4d17ecdde934d9f85a1164091e58fce02873de259e8de88b";
-      name = "qtconnectivity-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtconnectivity-everywhere-src-5.12.6.tar.xz";
+      sha256 = "10f1c6727aedc375a1bfab4bb33fd2111bf2c1dfc19049e361c0f58608ea22da";
+      name = "qtconnectivity-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdatavis3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1de165bf5330c7fb18c6fbb8c0e5cda47fa19c2eaba657b3792fd75e653444f3";
-      name = "qtdatavis3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdatavis3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "414d91aae5e7d3404a0b526f944961871b1abf1fda51f0861d19cb28a2eba4fe";
+      name = "qtdatavis3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdeclarative-everywhere-src-5.12.5.tar.xz";
-      sha256 = "22c5323d4b01259e6e352eef1b54129d6dfee00a406f0312905fa7db322b9190";
-      name = "qtdeclarative-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdeclarative-everywhere-src-5.12.6.tar.xz";
+      sha256 = "34b1d1ae5562f1d433e22c255ac1a37a2fb030ef05bf6123d4b9496644b686d3";
+      name = "qtdeclarative-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdoc-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f1de30227b8854c284e9c23e9c0c44d9fe768880aef826b0f880a44dd7c7538d";
-      name = "qtdoc-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdoc-everywhere-src-5.12.6.tar.xz";
+      sha256 = "82549278120236ece0e02f9bab351319e4469c242ce97b05f269964aee924aac";
+      name = "qtdoc-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgamepad-everywhere-src-5.12.5.tar.xz";
-      sha256 = "de88f01d47f7cc5d54a1af783c5fae9f2b0101948ff33b8290f71b2657aded33";
-      name = "qtgamepad-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgamepad-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e1ebc5f3593c5234724663106790fbf1831d4ac8ea50a9d9805d2dd0a1c5b3b3";
+      name = "qtgamepad-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdbddba7e0e0d041809a98d97c07da8be8936ec48537335cbaea9b0049c646ad";
-      name = "qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ded0327624a13bf7fab07e5fe762473194ed898b0442ef9325498e41c8c077ef";
+      name = "qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtimageformats-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f19394830542fb9e6bde6806b6216b7207f96bff674b91e8e8a8f89699e1f0a";
-      name = "qtimageformats-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtimageformats-everywhere-src-5.12.6.tar.xz";
+      sha256 = "330d1c29a135c44bb36b5ffc2ba4f8915dbc446d5d75563523ebcfd373617858";
+      name = "qtimageformats-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtlocation-everywhere-src-5.12.5.tar.xz";
-      sha256 = "12c8b59755abc4ca56e135e8ae3db7c6ba1bd95c779060f10a01393ae1040122";
-      name = "qtlocation-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtlocation-everywhere-src-5.12.6.tar.xz";
+      sha256 = "7ae231ca4de3c0915e92bb95440b0ddc7113790b1acb536c9394472e8dde2278";
+      name = "qtlocation-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmacextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "984c3c95834aaa6fd85234ab1987a79662911c510e419611ce88fb4756313194";
-      name = "qtmacextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmacextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "eae25b8858fef348667b938f5c88a014ee78945c419e4e6d856d4a6adc5e43a3";
+      name = "qtmacextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmultimedia-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d5a0a4fddc5ef14d641160a1fc0011b190ff8d9f19009498d586516b8ee3479c";
-      name = "qtmultimedia-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmultimedia-everywhere-src-5.12.6.tar.xz";
+      sha256 = "9f580e8962ca6a09608570e77b38d7c3f71d344ff6de1c39bc6905226b679570";
+      name = "qtmultimedia-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtnetworkauth-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0933475a2d30550c70ce4026c72678cbfdac73211593c78d442e038ef531a9f1";
-      name = "qtnetworkauth-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtnetworkauth-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ea122d86a960863bbe0e0f4b5a12f0a376455beed3c26f1b61926e065b366abd";
+      name = "qtnetworkauth-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtpurchasing-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7bcebc4985d387f3fa4ffcc19eada1f4f0f000ed0fd3e1d1dc37eb1db0be615b";
-      name = "qtpurchasing-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtpurchasing-everywhere-src-5.12.6.tar.xz";
+      sha256 = "1fa0b7e3da4755b64559177f507718320c1aa9e66ec49e17595e04c3f3af70cd";
+      name = "qtpurchasing-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols-everywhere-src-5.12.5.tar.xz";
-      sha256 = "46deaefbdac3daa576c748e807956f5f82b2318923b1a36e434a3ff32d1d2559";
-      name = "qtquickcontrols-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c48d96a187ff924f1ae4b4abe9cc073adeb06a6c2b07c4191aa595ad22df2c99";
+      name = "qtquickcontrols-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d744bdc492486db6cb521b1d4891e2358719399825ca1cf2a50968a80f6acb8f";
-      name = "qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5cab0712f946405db269851b96cca02ef8ba98f3ee2c4fa9c0877dba3808a970";
+      name = "qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtremoteobjects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "acf131af93dd1fefbf30c7e03e29b8a1da3180e00c49f95c14a1cb6158cfeacd";
-      name = "qtremoteobjects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtremoteobjects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "49b5353d020fb6ab9bdf90c941a4b3acc6b036266f6c68a42fc44a7ac151d699";
+      name = "qtremoteobjects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscript = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscript-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0083734ae827840334b774decb15de37f1b4ea5c88e442e2f485c530f24f1df4";
-      name = "qtscript-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscript-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a18082ad338e2378cccab932045804ad3077ec924fed2efc59d4b726d622777c";
+      name = "qtscript-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscxml-everywhere-src-5.12.5.tar.xz";
-      sha256 = "6f1ec74100cdb2e7dfc3535e09d356fc53ba42e61b32fc3b93d5a7efed49960c";
-      name = "qtscxml-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscxml-everywhere-src-5.12.6.tar.xz";
+      sha256 = "53d7837c8b5b1f9beb26cb64ea4334211218533e0126167e4e7e75238f7ac68b";
+      name = "qtscxml-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsensors-everywhere-src-5.12.5.tar.xz";
-      sha256 = "e3a86a706f475bb23fc874de56026482de223ebd24f8cb4e94a28d1985ca0b85";
-      name = "qtsensors-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsensors-everywhere-src-5.12.6.tar.xz";
+      sha256 = "59dba4c0bc72846d938e0862f14d8064fb664d893f270a41d3abf4e871290ef5";
+      name = "qtsensors-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialbus-everywhere-src-5.12.5.tar.xz";
-      sha256 = "8474ae61a703c56e327ae0755c27643f2eafe0d915e8c6afb21728548dc02c22";
-      name = "qtserialbus-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialbus-everywhere-src-5.12.6.tar.xz";
+      sha256 = "071b421282118c507a996e3cee4070f2c545335dfd891a44bf54100935cff5de";
+      name = "qtserialbus-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialport-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f8ef0321a59ecfe2c72adc2ee220e0047403439a3c7b9efb719b1476af1fb862";
-      name = "qtserialport-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialport-everywhere-src-5.12.6.tar.xz";
+      sha256 = "77d0def93078fb5d9de6faa9ccff05cce5b934899e856b04bcf7f721a4e190be";
+      name = "qtserialport-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtspeech-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f94c0cd7236d1a20d97d314d2c17c45c967cd7f24b869c43f5f46253f436f25b";
-      name = "qtspeech-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtspeech-everywhere-src-5.12.6.tar.xz";
+      sha256 = "27ae7b2c7073377a617f32b0f4adfc1807774f02d13469ed4bcd282799cf878a";
+      name = "qtspeech-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsvg-everywhere-src-5.12.5.tar.xz";
-      sha256 = "75a791cf749f671d7ea9090b403ca513f745795018db512e7eecbf418b679840";
-      name = "qtsvg-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsvg-everywhere-src-5.12.6.tar.xz";
+      sha256 = "46243e6c425827ab4e91fbe31567f683ff14cb01d12f9f7543a83a571228ef8f";
+      name = "qtsvg-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttools = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttools-everywhere-src-5.12.5.tar.xz";
-      sha256 = "28e095047b4985437dd66120cbcb49ac091bf4f12576ecad7ebc781b7dd44025";
-      name = "qttools-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttools-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e94991c7885c2650cefd71189873e45b1d64d6042e439a0a0d9652c191d3c777";
+      name = "qttools-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttranslations-everywhere-src-5.12.5.tar.xz";
-      sha256 = "72eb6317190fdcc3f8de37996adc646ab8772988766bacaab60a5bcc7d6a3f2a";
-      name = "qttranslations-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttranslations-everywhere-src-5.12.6.tar.xz";
+      sha256 = "798ac44414206898d0192653118de3f115c59016e2bf82ad0c659f9f8c864768";
+      name = "qttranslations-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
-      sha256 = "786d745b34b1f145073488d492325e98bcde81b07ab984032ea5eb2fb52e6e5e";
-      name = "qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
+      sha256 = "04699888d6e1e8e04db8043a37212fa3b1fcb1b23aef41c2f3ae7a4278e34d2c";
+      name = "qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwayland-everywhere-src-5.12.5.tar.xz";
-      sha256 = "29fd31267149451f93faa15f031e0a14506e704086033f70d51479522c6f3846";
-      name = "qtwayland-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwayland-everywhere-src-5.12.6.tar.xz";
+      sha256 = "fa9c6aa84ddc0334b44f0f47d69569e496e5d9f3a1ed67aab42214854d2351c4";
+      name = "qtwayland-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebchannel-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f1d1ac20722ee053ecf071d4ec0070a45a765cb67b6e31add61004fb4b3c5e8";
-      name = "qtwebchannel-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebchannel-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2745d1703de1a749405727a74786184c950ba7465dc5d02e2f39f51635dbc8d7";
+      name = "qtwebchannel-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebengine-everywhere-src-5.12.5.tar.xz";
-      sha256 = "31881130e69eb8336e9480f9f33cd5a93e86de8d7323c0ae1893e1a72ce70743";
-      name = "qtwebengine-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebengine-everywhere-src-5.12.6.tar.xz";
+      sha256 = "caa5f257c3bc33c1d2fcb9b7cd414fd5c46e8eee8a103231ab28d592a0058621";
+      name = "qtwebengine-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebglplugin = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebglplugin-everywhere-src-5.12.5.tar.xz";
-      sha256 = "aac3b2b2e5b6f26dd7abba6eab616777fecbb4d06de05ddab68c1296652bc4f7";
-      name = "qtwebglplugin-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebglplugin-everywhere-src-5.12.6.tar.xz";
+      sha256 = "21d88852f69f0f06c5899e61fe76b2cefc2b65be4ed3c334ec01431ba16f50dd";
+      name = "qtwebglplugin-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebsockets-everywhere-src-5.12.5.tar.xz";
-      sha256 = "5d58e697c49c0ea19a8299deba84b5360dca8c336a1636d38de0351757293262";
-      name = "qtwebsockets-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebsockets-everywhere-src-5.12.6.tar.xz";
+      sha256 = "f00bfbaa73e60a4c3371e729167d7acb465cbb2db32535d745982cab21fed61e";
+      name = "qtwebsockets-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebview-everywhere-src-5.12.5.tar.xz";
-      sha256 = "a6d4d8c335cd6838f4638874fcd67655e80db569ed567a774a84f6bf7d332f26";
-      name = "qtwebview-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebview-everywhere-src-5.12.6.tar.xz";
+      sha256 = "42c0623c1c066620ab1afc3736a4a5f42115f9c190dafdf643e16ccec6e7727a";
+      name = "qtwebview-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwinextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7ee2fc73bc95c5e36e8ed2d02fc89822d56c406c540fbfa52bb0e3929ff2f93d";
-      name = "qtwinextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwinextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "02c2b2393073a22498a5645faed34040428ace9cf09f18e2f12e75e31be54bea";
+      name = "qtwinextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtx11extras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "89425af3e48b040878c6a64ace58c17a83b87c9330e6366b09a41d6797062a68";
-      name = "qtx11extras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtx11extras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5f3991f557116034731ed059895e73b5d34e1b22e85536a8eb6e92350b3a1d6b";
+      name = "qtx11extras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
-      sha256 = "b905d9107f87798ef0f142942fc45c0f63fc113522ab041e791d3cb744a8babd";
-      name = "qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
+      sha256 = "76977bc834e6c6118ae2bab31e68ae54843358936b03e432d919ad15cd2184d0";
+      name = "qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
deleted file mode 100644
index 8854ed54700..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  qtCompatVersion = srcs.qtbase.version;
-
-  mirror = "http://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
-
-  patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-      ./qtbase-openssl_1_1.patch
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [
-      ./qtscript.patch
-      # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
-      # fixed in qtscript 5.12.2
-      (fetchpatch {
-        url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
-        sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
-      })
-    ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [
-      ./qtwebengine-no-build-skip.patch
-      # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
-      # https://bugreports.qt.io/browse/QTBUG-77037
-      (fetchpatch {
-        name = "fix-build-with-pulseaudio-13.0.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
-        sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
-      })
-    ] ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
-  
-    qtwebkit = [ ./qtwebkit.patch ];
-    qtvirtualkeyboard = [
-      (fetchpatch {
-        name = "CVE-2018-19865-A.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=61780a113f02b3c62fb14516fe8ea47d91f9ed9a";
-        sha256 = "0jd4nzaz9ndm9ryvrkav7kjs437l661288diklhbmgh249f8gki0";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-B.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=c0ac7a4c684e2fed60a72ceee53da89eea3f95a7";
-        sha256 = "0yvxrx5vx6845vgnq8ml3q93y61py5j0bvhqj7nqvpbmyj1wy1p3";
-
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-C.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=a2e7b8412f56841e12ed20a39f4a38e32d3c1e30";
-        sha256 = "1yijysa9gy5xbxndx5ri0dkfrjqja0d1bsx52qz4mhzi4pkbib02";
-      })
-    ];
-
-  };
-
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit (stdenv) lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
-    in {
-
-      mkDerivationWith =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
-
-      mkDerivation = mkDerivationWith stdenv.mkDerivation;
-
-      qtbase = callPackage ../modules/qtbase.nix {
-        inherit (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtcharts = callPackage ../modules/qtcharts.nix {};
-      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
-      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
-      qtdoc = callPackage ../modules/qtdoc.nix {};
-      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ../modules/qtimageformats.nix {};
-      qtlocation = callPackage ../modules/qtlocation.nix {};
-      qtmacextras = callPackage ../modules/qtmacextras.nix {};
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
-      qtquick1 = null;
-      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
-      qtscript = callPackage ../modules/qtscript.nix {};
-      qtsensors = callPackage ../modules/qtsensors.nix {};
-      qtserialport = callPackage ../modules/qtserialport.nix {};
-      qtsvg = callPackage ../modules/qtsvg.nix {};
-      qttools = callPackage ../modules/qttools.nix {};
-      qttranslations = callPackage ../modules/qttranslations.nix {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
-      qtwayland = callPackage ../modules/qtwayland.nix {};
-      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
-      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      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
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations
-        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
-        qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = {
-          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
-        };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.9/fetch.sh b/pkgs/development/libraries/qt-5/5.9/fetch.sh
deleted file mode 100644
index 17ebe1e532d..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.9/5.9.7/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
deleted file mode 100644
index d5f4d7527cb..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
+++ /dev/null
@@ -1,3985 +0,0 @@
-commit 2d88fc0ce4ac76924a65ffd797183de9422ba672
-Author: Andreas Rammhold <andreas@rammhold.de>
-Date:   Wed Mar 6 00:18:51 2019 +0100
-
-    openssl1.1 compat
-
-diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp
-index 6c8a9e8f19..d33b62389c 100644
---- a/config.tests/openssl/openssl.cpp
-+++ b/config.tests/openssl/openssl.cpp
-@@ -39,8 +39,8 @@
- 
- #include <openssl/opensslv.h>
- 
--#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L
--#  error "OpenSSL >= 0.9.7, and < 1.1.0 is required"
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL
-+#  error "OpenSSL >= 0.9.7 is required"
- #endif
- 
- #include <openssl/ssl.h>
-diff --git a/config.tests/openssl11/openssl.cpp b/config.tests/openssl11/openssl.cpp
-new file mode 100644
-index 0000000000..c20cc59deb
---- /dev/null
-+++ b/config.tests/openssl11/openssl.cpp
-@@ -0,0 +1,48 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <openssl/opensslv.h>
-+
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
-+#  error "OpenSSL >= 1.1 is required"
-+#endif
-+
-+int main()
-+{
-+}
-diff --git a/config.tests/openssl11/openssl11.pro b/config.tests/openssl11/openssl11.pro
-new file mode 100644
-index 0000000000..a023aee4aa
---- /dev/null
-+++ b/config.tests/openssl11/openssl11.pro
-@@ -0,0 +1,2 @@
-+SOURCES = openssl.cpp
-+CONFIG -= x11 qt
-diff --git a/src/network/configure.json b/src/network/configure.json
-index 2cf90ed94b..a021c0734b 100644
---- a/src/network/configure.json
-+++ b/src/network/configure.json
-@@ -77,6 +77,17 @@
-                 },
-                 { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
-             ]
-+        },
-+        "openssl11": {
-+            "label": "OpenSSL v. 1.1 support",
-+            "type": "compile",
-+            "test": "openssl11",
-+	    "sources": [
-+		{
-+                    "comment": "placeholder for OPENSSL_PATH",
-+                    "libs": ""
-+                }
-+	    ]
-         }
-     },
- 
-@@ -182,7 +193,7 @@
-             "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
-             "disable": "input.openssl == 'no' || input.ssl == 'no'",
-             "autoDetect": "!config.winrt",
--            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
-+            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
-@@ -193,7 +204,7 @@
-             "label": "  Qt directly linked to OpenSSL",
-             "enable": "input.openssl == 'linked'",
-             "disable": "input.openssl != 'linked'",
--            "condition": "!features.securetransport && libs.openssl",
-+            "condition": "!features.securetransport && (libs.openssl || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "define", "name": "QT_LINKED_OPENSSL" }
-@@ -213,6 +224,11 @@
-             "condition": "config.winrt || features.securetransport || features.openssl",
-             "output": [ "publicFeature", "feature" ]
-         },
-+        "opensslv11": {
-+            "label": "OpenSSL v. 1.1",
-+            "condition": "libs.openssl11",
-+            "output": ["publicFeature", "feature"]
-+        },
-         "sctp": {
-             "label": "SCTP",
-             "autoDetect": false,
-diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp
-index 28b7eda54a..71e514a025 100644
---- a/src/network/ssl/qsslcertificate_openssl.cpp
-+++ b/src/network/ssl/qsslcertificate_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const
- uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW
- {
-     if (X509 * const x509 = key.d->x509) {
--        (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash
--                                      // (if someone knows a better way...)
--        return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
--    } else {
--        return seed;
-+        const EVP_MD *sha1 = q_EVP_sha1();
-+        unsigned int len = 0;
-+        unsigned char md[EVP_MAX_MD_SIZE];
-+        q_X509_digest(x509, sha1, md, &len);
-+        return qHashBits(md, len, seed);
-     }
-+
-+    return seed;
- }
- 
- bool QSslCertificate::isNull() const
-@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->versionString.isEmpty() && d->x509)
--        d->versionString =
--            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
-+        d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
- 
-     return d->versionString;
- }
-@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->serialNumberString.isEmpty() && d->x509) {
--        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
-         QByteArray hexString;
-         hexString.reserve(serialNumber->length * 3);
-         for (int a = 0; a < serialNumber->length; ++a) {
-@@ -199,14 +201,15 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
-                 continue;
-             }
- 
--            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
-+            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(genName->d.ia5));
-             const QString altName = QString::fromLatin1(altNameStr, len);
-             if (genName->type == GEN_DNS)
-                 result.insert(QSsl::DnsEntry, altName);
-             else if (genName->type == GEN_EMAIL)
-                 result.insert(QSsl::EmailEntry, altName);
-         }
--        q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
-+
-+        q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_OPENSSL_sk_free));
-     }
- 
-     return result;
-@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const
-     QSslKey key;
- 
-     key.d->type = QSsl::PublicKey;
--    X509_PUBKEY *xkey = d->x509->cert_info->key;
--    EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
-+
-+    EVP_PKEY *pkey = q_X509_get_pubkey(d->x509);
-     Q_ASSERT(pkey);
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
- 
--    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+    if (keyType == EVP_PKEY_RSA) {
-         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
-         key.d->algorithm = QSsl::Rsa;
-         key.d->isNull = false;
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
-         key.d->algorithm = QSsl::Dsa;
-         key.d->isNull = false;
- #ifndef OPENSSL_NO_EC
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
-+    } else if (keyType == EVP_PKEY_EC) {
-         key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         key.d->algorithm = QSsl::Ec;
-         key.d->isNull = false;
- #endif
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+    } else if (keyType == EVP_PKEY_DH) {
-         // DH unsupported
-     } else {
-         // error?
-@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext)
-     X509V3_EXT_METHOD *meth = const_cast<X509V3_EXT_METHOD *>(q_X509V3_EXT_get(ext));
-     if (!meth) {
-         ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext);
--        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_data(value)),
-+        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(value)),
-                            q_ASN1_STRING_length(value));
-         return result;
-     }
-@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                         continue;
-                     }
- 
--                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(name->d.uniformResourceIdentifier));
-+                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier));
-                     const QString uri = QString::fromUtf8(uriStr, len);
- 
-                     result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri;
-@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                 }
-             }
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_pop_free((_STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#else
--            q_sk_pop_free((STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#endif
-+            q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast<void(*)(void *)>(q_OPENSSL_sk_free));
-             return result;
-         }
-         break;
-@@ -607,7 +607,11 @@ static QMap<QByteArray, QString> _q_mapFromX509Name(X509_NAME *name)
-         unsigned char *data = 0;
-         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
-         info.insertMulti(name, QString::fromUtf8((char*)data, size));
-+#if QT_CONFIG(opensslv11)
-+        q_CRYPTO_free(data, 0, 0);
-+#else
-         q_CRYPTO_free(data);
-+#endif
-     }
- 
-     return info;
-@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509)
-     if (!x509 || !QSslSocket::supportsSsl())
-         return certificate;
- 
--    ASN1_TIME *nbef = q_X509_get_notBefore(x509);
--    ASN1_TIME *naft = q_X509_get_notAfter(x509);
-+    ASN1_TIME *nbef = q_X509_getm_notBefore(x509);
-+    ASN1_TIME *naft = q_X509_getm_notAfter(x509);
-+
-     certificate.d->notValidBefore = q_getTimeFromASN1(nbef);
-     certificate.d->notValidAfter = q_getTimeFromASN1(naft);
-     certificate.d->null = false;
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index c92d8fc3f8..cef503710c 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
- ** Contact: https://www.qt.io/licensing/
-@@ -41,22 +41,14 @@
- 
- 
- #include <QtNetwork/qsslsocket.h>
--#include <QtNetwork/qssldiffiehellmanparameters.h>
--#include <QtCore/qmutex.h>
- 
- #include "private/qssl_p.h"
- #include "private/qsslcontext_openssl_p.h"
--#include "private/qsslsocket_p.h"
- #include "private/qsslsocket_openssl_p.h"
- #include "private/qsslsocket_openssl_symbols_p.h"
--#include "private/qssldiffiehellmanparameters_p.h"
- 
- QT_BEGIN_NAMESPACE
- 
--// defined in qsslsocket_openssl.cpp:
--extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
--extern QString getErrorsFromOpenSsl();
--
- QSslContext::QSslContext()
-     : ctx(0),
-     pkey(0),
-@@ -78,301 +70,6 @@ QSslContext::~QSslContext()
-         q_SSL_SESSION_free(session);
- }
- 
--static inline QString msgErrorSettingEllipticCurves(const QString &why)
--{
--    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
--}
--
--// static
--void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
--{
--    sslContext->sslConfiguration = configuration;
--    sslContext->errorCode = QSslError::NoError;
--
--    bool client = (mode == QSslSocket::SslClientMode);
--
--    bool reinitialized = false;
--    bool unsupportedProtocol = false;
--init_context:
--    switch (sslContext->sslConfiguration.protocol()) {
--    case QSsl::SslV2:
--#ifndef OPENSSL_NO_SSL2
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
--#else
--        // SSL 2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SslV3:
--#ifndef OPENSSL_NO_SSL3_METHOD
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
--#else
--        // SSL 3 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SecureProtocols:
--        // SSLv2 and SSLv3 will be disabled by SSL options
--        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
--    case QSsl::TlsV1SslV3:
--        // SSLv2 will will be disabled by SSL options
--    case QSsl::AnyProtocol:
--    default:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_0:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
--        break;
--    case QSsl::TlsV1_1:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
--#else
--        // TLS 1.1 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_2:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
--#else
--        // TLS 1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_0OrLater:
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_1OrLater:
--    case QSsl::TlsV1_2OrLater:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--#else
--        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    }
--
--    if (!sslContext->ctx) {
--        // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them
--        // by re-initializing the library.
--        if (!reinitialized) {
--            reinitialized = true;
--            if (q_SSL_library_init() == 1)
--                goto init_context;
--        }
--
--        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
--            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
--        );
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    // Enable bug workarounds.
--    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
--    q_SSL_CTX_set_options(sslContext->ctx, options);
--
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // Tell OpenSSL to release memory early
--    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
--    if (q_SSLeay() >= 0x10000000L)
--        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
--#endif
--
--    // Initialize ciphers
--    QByteArray cipherString;
--    bool first = true;
--    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
--    if (ciphers.isEmpty())
--        ciphers = QSslSocketPrivate::defaultCiphers();
--    for (const QSslCipher &cipher : qAsConst(ciphers)) {
--        if (first)
--            first = false;
--        else
--            cipherString.append(':');
--        cipherString.append(cipher.name().toLatin1());
--    }
--
--    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
--        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    const QDateTime now = QDateTime::currentDateTimeUtc();
--
--    // Add all our CAs to this store.
--    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
--    for (const QSslCertificate &caCertificate : caCertificates) {
--        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
--        //
--        // If several CA certificates matching the name, key identifier, and
--        // serial number condition are available, only the first one will be
--        // examined. This may lead to unexpected results if the same CA
--        // certificate is available with different expiration dates. If a
--        // ``certificate expired'' verification error occurs, no other
--        // certificate will be searched. Make sure to not have expired
--        // certificates mixed with valid ones.
--        //
--        // See also: QSslSocketBackendPrivate::verify()
--        if (caCertificate.expiryDate() >= now) {
--            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
--        }
--    }
--
--    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
--        // tell OpenSSL the directories where to look up the root certs on demand
--        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
--        for (const QByteArray &unixDir : unixDirs)
--            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
--    }
--
--    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
--        // Require a private key as well.
--        if (sslContext->sslConfiguration.privateKey().isNull()) {
--            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // Load certificate
--        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
--            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
--            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
--        } else {
--            // Load private key
--            sslContext->pkey = q_EVP_PKEY_new();
--            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
--            // this lead to a memory leak. Now we use the *_set1_* functions which do not
--            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
--            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
--                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
--            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
--                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
--#ifndef OPENSSL_NO_EC
--            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
--                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
--#endif
--        }
--
--        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
--            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
--            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
--
--        // Check if the certificate matches the private key.
--        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
--            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // If we have any intermediate certificates then we need to add them to our chain
--        bool first = true;
--        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
--            if (first) {
--                first = false;
--                continue;
--            }
--            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
--                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
--        }
--    }
--
--    // Initialize peer verification.
--    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
--    } else {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
--    }
--
--    // Set verification depth.
--    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
--        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
--
--    // set persisted session if the user set it
--    if (!configuration.sessionTicket().isEmpty())
--        sslContext->setSessionASN1(configuration.sessionTicket());
--
--    // Set temp DH params
--    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
--
--    if (!dhparams.isValid()) {
--        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    if (!dhparams.isEmpty()) {
--        const QByteArray &params = dhparams.d->derData;
--        const char *ptr = params.constData();
--        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
--        if (dh == NULL)
--            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
--        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
--        q_DH_free(dh);
--    }
--
--#ifndef OPENSSL_NO_EC
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L) {
--        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
--    } else
--#endif
--    {
--        // Set temp ECDH params
--        EC_KEY *ecdh = 0;
--        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
--        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
--        q_EC_KEY_free(ecdh);
--    }
--#endif // OPENSSL_NO_EC
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--    if (!client)
--        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
--#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--
--    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
--    if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        // Set the curves to be used
--        if (q_SSLeay() >= 0x10002000L) {
--            // SSL_CTX_ctrl wants a non-const pointer as last argument,
--            // but let's avoid a copy into a temporary array
--            if (!q_SSL_CTX_ctrl(sslContext->ctx,
--                                SSL_CTRL_SET_CURVES,
--                                qcurves.size(),
--                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
--                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--                sslContext->errorCode = QSslError::UnspecifiedError;
--            }
--        } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        {
--            // specific curves requested, but not possible to set -> error
--            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
--            sslContext->errorCode = QSslError::UnspecifiedError;
--        }
--    }
--}
--
- QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
- {
-     QSslContext *sslContext = new QSslContext();
-@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl()
-         m_npnContext.len = m_supportedNPNVersions.count();
-         m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone;
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
-+        if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
-             // Callback's type has a parameter 'const unsigned char ** out'
-             // since it was introduced in 1.0.2. Internally, OpenSSL's own code
-             // (tests/examples) cast it to unsigned char * (since it's 'out').
-@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl)
-             unsigned char *data = reinterpret_cast<unsigned char *>(m_sessionASN1.data());
-             if (!q_i2d_SSL_SESSION(session, &data))
-                 qCWarning(lcSsl, "could not store persistent version of SSL session");
--            m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint;
-+            m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session);
-         }
-     }
- 
-diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp
-new file mode 100644
-index 0000000000..787b6ae3f5
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_openssl11.cpp
-@@ -0,0 +1,277 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+#include <vector>
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) {
-+        // SSL 2 is no longer supported, but chosen deliberately -> error
-+        sslContext->ctx = nullptr;
-+        unsupportedProtocol = true;
-+    } else {
-+        // The ssl options will actually control the supported methods
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method());
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_OPENSSL_init_ssl(0, nullptr) == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_PSK
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // !OPENSSL_NO_PSK
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#ifdef OPENSSL_NO_EC
-+        sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves"));
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+#else
-+        // Set the curves to be used.
-+        std::vector<int> curves;
-+        curves.reserve(qcurves.size());
-+        for (const auto &sslCurve : qcurves)
-+            curves.push_back(sslCurve.id);
-+        if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) {
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+#endif
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp
-new file mode 100644
-index 0000000000..9c01c2f2dc
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_opensslpre11.cpp
-@@ -0,0 +1,354 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    switch (sslContext->sslConfiguration.protocol()) {
-+    case QSsl::SslV2:
-+#ifndef OPENSSL_NO_SSL2
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
-+#else
-+        // SSL 2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+        // SSL 3 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SecureProtocols:
-+        // SSLv2 and SSLv3 will be disabled by SSL options
-+        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
-+    case QSsl::TlsV1SslV3:
-+        // SSLv2 will will be disabled by SSL options
-+    case QSsl::AnyProtocol:
-+    default:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_0:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
-+        break;
-+    case QSsl::TlsV1_1:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
-+#else
-+        // TLS 1.1 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_2:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
-+#else
-+        // TLS 1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_0OrLater:
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_1OrLater:
-+    case QSsl::TlsV1_2OrLater:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+#else
-+        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_SSL_library_init() == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    if (q_SSLeay() >= 0x10000000L)
-+        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+#endif
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L) {
-+        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
-+    } else
-+#endif
-+    {
-+        // Set temp ECDH params
-+        EC_KEY *ecdh = 0;
-+        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
-+        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
-+        q_EC_KEY_free(ecdh);
-+    }
-+#endif // OPENSSL_NO_EC
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        // Set the curves to be used
-+        if (q_SSLeay() >= 0x10002000L) {
-+            // SSL_CTX_ctrl wants a non-const pointer as last argument,
-+            // but let's avoid a copy into a temporary array
-+            if (!q_SSL_CTX_ctrl(sslContext->ctx,
-+                                SSL_CTRL_SET_CURVES,
-+                                qcurves.size(),
-+                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
-+                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+                sslContext->errorCode = QSslError::UnspecifiedError;
-+            }
-+        } else
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        {
-+            // specific curves requested, but not possible to set -> error
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-index 90687b05c5..5ebad822f1 100644
---- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-+++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2015 Mikkel Krautz <mikkel@krautz.dk>
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -50,8 +51,8 @@
- #include <QtCore/qdebug.h>
- #endif
- 
--// For q_BN_is_word.
- #include <openssl/bn.h>
-+#include <openssl/dh.h>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh)
- 
-     QSslSocketPrivate::ensureInitialized();
- 
--    // Mark p < 1024 bits as unsafe.
--    if (q_BN_num_bits(dh->p) < 1024) {
--        return false;
--    }
--
--    if (q_DH_check(dh, &status) != 1)
--        return false;
- 
-     // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters:
-     //
-@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh)
-     //     Without the test, the IETF parameters would
-     //     fail validation. For details, see Diffie-Hellman
-     //     Parameter Check (when g = 2, must p mod 24 == 11?).
-+#if QT_CONFIG(opensslv11)
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_DH_bits(dh) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-+    const BIGNUM *p = nullptr;
-+    const BIGNUM *q = nullptr;
-+    const BIGNUM *g = nullptr;
-+    q_DH_get0_pqg(dh, &p, &q, &g);
-+
-+    if (q_BN_is_word(const_cast<BIGNUM *>(g), DH_GENERATOR_2)) {
-+        long residue = q_BN_mod_word(p, 24);
-+        if (residue == 11 || residue == 23)
-+            status &= ~DH_NOT_SUITABLE_GENERATOR;
-+    }
-+
-+#else
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_BN_num_bits(dh->p) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-     if (q_BN_is_word(dh->g, DH_GENERATOR_2)) {
-         long residue = q_BN_mod_word(dh->p, 24);
-         if (residue == 11 || residue == 23)
-             status &= ~DH_NOT_SUITABLE_GENERATOR;
-     }
-+#endif
- 
-     bad |= DH_CHECK_P_NOT_PRIME;
-     bad |= DH_CHECK_P_NOT_SAFE_PRIME;
-diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
-index 231566063e..57dda19bad 100644
---- a/src/network/ssl/qsslellipticcurve.h
-+++ b/src/network/ssl/qsslellipticcurve.h
-@@ -80,6 +80,7 @@ private:
-     friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW;
-     friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW;
- 
-+    friend class QSslContext;
-     friend class QSslSocketPrivate;
-     friend class QSslSocketBackendPrivate;
- };
-diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
-index e18197b703..8cd14837f0 100644
---- a/src/network/ssl/qsslellipticcurve_openssl.cpp
-+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
-     QSslEllipticCurve result;
- 
- #ifndef OPENSSL_NO_EC
--    const QByteArray curveNameLatin1 = name.toLatin1();
- 
-+    const QByteArray curveNameLatin1 = name.toLatin1();
-     int nid = q_OBJ_sn2nid(curveNameLatin1.data());
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (nid == 0 && q_SSLeay() >= 0x10002000L)
-+    if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L)
-         nid = q_EC_curve_nist2nid(curveNameLatin1.data());
- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- 
-     result.id = nid;
--#endif
-+
-+#endif // !OPENSSL_NO_EC
- 
-     return result;
- }
-diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
-index 26119023d1..2b03af9441 100644
---- a/src/network/ssl/qsslkey_openssl.cpp
-+++ b/src/network/ssl/qsslkey_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey)
-     if (pkey == nullptr)
-         return false;
- 
--    if (pkey->type == EVP_PKEY_RSA) {
-+#if QT_CONFIG(opensslv11)
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
-+#else
-+    const int keyType = pkey->type;
-+#endif
-+    if (keyType == EVP_PKEY_RSA) {
-         isNull = false;
-         algorithm = QSsl::Rsa;
-         type = QSsl::PrivateKey;
- 
--        rsa = q_RSA_new();
--        memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA));
--
-+        rsa = q_EVP_PKEY_get1_RSA(pkey);
-         return true;
--    }
--    else if (pkey->type == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         isNull = false;
-         algorithm = QSsl::Dsa;
-         type = QSsl::PrivateKey;
- 
--        dsa = q_DSA_new();
--        memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA));
--
-+        dsa = q_EVP_PKEY_get1_DSA(pkey);
-         return true;
-     }
- #ifndef OPENSSL_NO_EC
--    else if (pkey->type == EVP_PKEY_EC) {
-+    else if (keyType == EVP_PKEY_EC) {
-         isNull = false;
-         algorithm = QSsl::Ec;
-         type = QSsl::PrivateKey;
--        ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey));
--
-+        ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         return true;
-     }
- #endif
-@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const
-         return -1;
- 
-     switch (algorithm) {
--        case QSsl::Rsa: return q_BN_num_bits(rsa->n);
--        case QSsl::Dsa: return q_BN_num_bits(dsa->p);
-+        case QSsl::Rsa: return q_RSA_bits(rsa);
-+        case QSsl::Dsa: return q_DSA_bits(dsa);
- #ifndef OPENSSL_NO_EC
-         case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec));
- #endif
-@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const
- 
- static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc)
- {
--    EVP_CIPHER_CTX ctx;
-+#if QT_CONFIG(opensslv11)
-+    EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new();
-+#else
-+    EVP_CIPHER_CTX evpCipherContext;
-+    EVP_CIPHER_CTX *ctx = &evpCipherContext;
-+#endif
-+
-     const EVP_CIPHER* type = 0;
-     int i = 0, len = 0;
- 
-@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data,
- 
-     QByteArray output;
-     output.resize(data.size() + EVP_MAX_BLOCK_LENGTH);
--    q_EVP_CIPHER_CTX_init(&ctx);
--    q_EVP_CipherInit(&ctx, type, NULL, NULL, enc);
--    q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size());
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_init(ctx);
-+#endif
-+
-+    q_EVP_CipherInit(ctx, type, NULL, NULL, enc);
-+    q_EVP_CIPHER_CTX_set_key_length(ctx, key.size());
-     if (cipher == QSslKeyPrivate::Rc2Cbc)
--        q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
--    q_EVP_CipherInit(&ctx, NULL,
-+        q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
-+
-+#if QT_CONFIG(opensslv11)
-+    // EVP_CipherInit in 1.1 resets the context thus making the calls above useless.
-+    // We call EVP_CipherInit_ex instead.
-+    q_EVP_CipherInit_ex(ctx, nullptr, nullptr,
-+                        reinterpret_cast<const unsigned char *>(key.constData()),
-+                        reinterpret_cast<const unsigned char *>(iv.constData()),
-+                        enc);
-+#else
-+    q_EVP_CipherInit(ctx, NULL,
-         reinterpret_cast<const unsigned char *>(key.constData()),
-         reinterpret_cast<const unsigned char *>(iv.constData()), enc);
--    q_EVP_CipherUpdate(&ctx,
-+#endif // opensslv11
-+
-+    q_EVP_CipherUpdate(ctx,
-         reinterpret_cast<unsigned char *>(output.data()), &len,
-         reinterpret_cast<const unsigned char *>(data.constData()), data.size());
--    q_EVP_CipherFinal(&ctx,
-+    q_EVP_CipherFinal(ctx,
-         reinterpret_cast<unsigned char *>(output.data()) + len, &i);
-     len += i;
--    q_EVP_CIPHER_CTX_cleanup(&ctx);
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+    q_EVP_CIPHER_CTX_free(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
- 
-     return output.left(len);
- }
-diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
-index f5b493897e..45cea490fc 100644
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
- int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1;
- #endif
- 
--/* \internal
--
--    From OpenSSL's thread(3) manual page:
--
--    OpenSSL can safely be used in multi-threaded applications provided that at
--    least two callback functions are set.
--
--    locking_function(int mode, int n, const char *file, int line) is needed to
--    perform locking on shared data structures.  (Note that OpenSSL uses a
--    number of global data structures that will be implicitly shared
--    whenever multiple threads use OpenSSL.)  Multi-threaded
--    applications will crash at random if it is not set.  ...
--    ...
--    id_function(void) is a function that returns a thread ID. It is not
--    needed on Windows nor on platforms where getpid() returns a different
--    ID for each thread (most notably Linux)
--*/
--class QOpenSslLocks
--{
--public:
--    inline QOpenSslLocks()
--        : initLocker(QMutex::Recursive),
--          locksLocker(QMutex::Recursive)
--    {
--        QMutexLocker locker(&locksLocker);
--        int numLocks = q_CRYPTO_num_locks();
--        locks = new QMutex *[numLocks];
--        memset(locks, 0, numLocks * sizeof(QMutex *));
--    }
--    inline ~QOpenSslLocks()
--    {
--        QMutexLocker locker(&locksLocker);
--        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
--            delete locks[i];
--        delete [] locks;
--
--        QSslSocketPrivate::deinitialize();
--    }
--    inline QMutex *lock(int num)
--    {
--        QMutexLocker locker(&locksLocker);
--        QMutex *tmp = locks[num];
--        if (!tmp)
--            tmp = locks[num] = new QMutex(QMutex::Recursive);
--        return tmp;
--    }
--
--    QMutex *globalLock()
--    {
--        return &locksLocker;
--    }
--
--    QMutex *initLock()
--    {
--        return &initLocker;
--    }
--
--private:
--    QMutex initLocker;
--    QMutex locksLocker;
--    QMutex **locks;
--};
--Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
--
- QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- {
-     QString errorString;
-@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- }
- 
- extern "C" {
--static void locking_function(int mode, int lockNumber, const char *, int)
--{
--    QMutex *mutex = openssl_locks()->lock(lockNumber);
--
--    // Lock or unlock it
--    if (mode & CRYPTO_LOCK)
--        mutex->lock();
--    else
--        mutex->unlock();
--}
--static unsigned long id_function()
--{
--    return (quintptr)QThread::currentThreadId();
--}
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
- static unsigned int q_ssl_psk_client_callback(SSL *ssl,
-@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate()
-     destroySslContext();
- }
- 
--QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher)
-+QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher)
- {
-     QSslCipher ciph;
- 
-@@ -283,6 +205,7 @@ struct QSslErrorList
-     QMutex mutex;
-     QVector<QSslErrorEntry> errors;
- };
-+
- Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList)
- 
- int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-         }
- #endif
-     }
--    // Always return OK to allow verification to continue. We're handle the
-+    // Always return OK to allow verification to continue. We handle the
-     // errors gracefully after collecting all errors, after verification has
-     // completed.
-     return 1;
-@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext()
-     if (configuration.protocol != QSsl::SslV2 &&
-         configuration.protocol != QSsl::SslV3 &&
-         configuration.protocol != QSsl::UnknownProtocol &&
--        mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) {
-+        mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) {
-         // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format.
-         QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName;
-         if (tlsHostName.isEmpty())
-@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext()
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
-     // Save a pointer to this object into the SSL structure.
--    if (q_SSLeay() >= 0x10001000L)
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L)
-         q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this);
- #endif
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-     // Set the client callback for PSK
--    if (q_SSLeay() >= 0x10001000L) {
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) {
-         if (mode == QSslSocket::SslClientMode)
-             q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback);
-         else if (mode == QSslSocket::SslServerMode)
-@@ -464,16 +387,6 @@ void QSslSocketBackendPrivate::destroySslContext()
-     sslContextPointer.clear();
- }
- 
--/*!
--    \internal
--*/
--void QSslSocketPrivate::deinitialize()
--{
--    q_CRYPTO_set_id_callback(0);
--    q_CRYPTO_set_locking_callback(0);
--    q_ERR_free_strings();
--}
--
- /*!
-     \internal
- 
-@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl()
-     return ensureLibraryLoaded();
- }
- 
--bool QSslSocketPrivate::ensureLibraryLoaded()
--{
--    if (!q_resolveOpenSslSymbols())
--        return false;
--
--    // Check if the library itself needs to be initialized.
--    QMutexLocker locker(openssl_locks()->initLock());
--
--    if (!s_libraryLoaded) {
--        s_libraryLoaded = true;
--
--        // Initialize OpenSSL.
--        q_CRYPTO_set_id_callback(id_function);
--        q_CRYPTO_set_locking_callback(locking_function);
--        if (q_SSL_library_init() != 1)
--            return false;
--        q_SSL_load_error_strings();
--        q_OpenSSL_add_all_algorithms();
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        if (q_SSLeay() >= 0x10001000L)
--            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
--#endif
--
--        // Initialize OpenSSL's random seed.
--        if (!q_RAND_status()) {
--            qWarning("Random number generator not seeded, disabling SSL support");
--            return false;
--        }
--    }
--    return true;
--}
--
--void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
--{
--    QMutexLocker locker(openssl_locks()->initLock());
--    if (s_loadedCiphersAndCerts)
--        return;
--    s_loadedCiphersAndCerts = true;
--
--    resetDefaultCiphers();
--    resetDefaultEllipticCurves();
--
--#if QT_CONFIG(library)
--    //load symbols needed to receive certificates from system store
--#if defined(Q_OS_WIN)
--    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
--    if (hLib) {
--        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
--        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
--        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
--        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
--            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
--    } else {
--        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
--    }
--#elif defined(Q_OS_QNX)
--    s_loadRootCertsOnDemand = true;
--#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
--    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
--    QList<QByteArray> dirs = unixRootCertDirectories();
--    QStringList symLinkFilter;
--    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
--    for (int a = 0; a < dirs.count(); ++a) {
--        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
--        if (iterator.hasNext()) {
--            s_loadRootCertsOnDemand = true;
--            break;
--        }
--    }
--#endif
--#endif // QT_CONFIG(library)
--    // if on-demand loading was not enabled, load the certs now
--    if (!s_loadRootCertsOnDemand)
--        setDefaultCaCertificates(systemCaCertificates());
--#ifdef Q_OS_WIN
--    //Enabled for fetching additional root certs from windows update on windows 6+
--    //This flag is set false by setDefaultCaCertificates() indicating the app uses
--    //its own cert bundle rather than the system one.
--    //Same logic that disables the unix on demand cert loading.
--    //Unlike unix, we do preload the certificates from the cert store.
--    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
--        s_loadRootCertsOnDemand = true;
--#endif
--}
- 
- /*!
-     \internal
-@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized()
-     ensureCiphersAndCertsLoaded();
- }
- 
--long QSslSocketPrivate::sslLibraryVersionNumber()
--{
--    if (!supportsSsl())
--        return 0;
--
--    return q_SSLeay();
--}
--
--QString QSslSocketPrivate::sslLibraryVersionString()
--{
--    if (!supportsSsl())
--        return QString();
--
--    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
--    if (!versionString)
--        return QString();
--
--    return QString::fromLatin1(versionString);
--}
--
- long QSslSocketPrivate::sslLibraryBuildVersionNumber()
- {
-     return OPENSSL_VERSION_NUMBER;
-@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString()
- */
- void QSslSocketPrivate::resetDefaultCiphers()
- {
-+#if QT_CONFIG(opensslv11)
-+    SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method());
-+#else
-     SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method());
-+#endif
-     SSL *mySsl = q_SSL_new(myCtx);
- 
-     QList<QSslCipher> ciphers;
-@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves()
-     QVector<QSslEllipticCurve> curves;
- 
- #ifndef OPENSSL_NO_EC
--    const size_t curveCount = q_EC_get_builtin_curves(NULL, 0);
-+    const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0);
- 
-     QVarLengthArray<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
- 
-@@ -698,13 +510,14 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
-     if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
-         HCERTSTORE hSystemStore;
-         hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT");
--        if(hSystemStore) {
--            PCCERT_CONTEXT pc = NULL;
--            while(1) {
--                pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc);
--                if(!pc)
-+        if (hSystemStore) {
-+            PCCERT_CONTEXT pc = nullptr;
-+            while (1) {
-+                pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc);
-+                if (!pc)
-                     break;
--                QByteArray der((const char *)(pc->pbCertEncoded), static_cast<int>(pc->cbCertEncoded));
-+                QByteArray der(reinterpret_cast<const char *>(pc->pbCertEncoded),
-+                               static_cast<int>(pc->cbCertEncoded));
-                 QSslCertificate cert(der, QSsl::Der);
-                 systemCerts.append(cert);
-             }
-@@ -1504,14 +1317,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const
- {
-     if (!ssl)
-         return QSslCipher();
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // FIXME This is fairly evil, but needed to keep source level compatibility
--    // with the OpenSSL 0.9.x implementation at maximum -- some other functions
--    // don't take a const SSL_CIPHER* when they should
--    SSL_CIPHER *sessionCipher = const_cast<SSL_CIPHER *>(q_SSL_get_current_cipher(ssl));
--#else
--    SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
--#endif
-+
-+    const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
-     return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
- }
- 
-@@ -1537,112 +1344,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const
-     return QSsl::UnknownProtocol;
- }
- 
--void QSslSocketBackendPrivate::continueHandshake()
--{
--    Q_Q(QSslSocket);
--    // if we have a max read buffer size, reset the plain socket's to match
--    if (readBufferMaxSize)
--        plainSocket->setReadBufferSize(readBufferMaxSize);
--
--    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
--        configuration.peerSessionShared = true;
--
--#ifdef QT_DECRYPT_SSL_TRAFFIC
--    if (ssl->session && ssl->s3) {
--        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
--        QByteArray masterKey(mk, ssl->session->master_key_length);
--        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
--        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
--
--        // different format, needed for e.g. older Wireshark versions:
--//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
--//        QByteArray sessionID(sid, ssl->session->session_id_length);
--//        QByteArray debugLineRSA("RSA Session-ID:");
--//        debugLineRSA.append(sessionID.toHex().toUpper());
--//        debugLineRSA.append(" Master-Key:");
--//        debugLineRSA.append(masterKey.toHex().toUpper());
--//        debugLineRSA.append("\n");
--
--        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
--        debugLineClientRandom.append(clientRandom.toHex().toUpper());
--        debugLineClientRandom.append(" ");
--        debugLineClientRandom.append(masterKey.toHex().toUpper());
--        debugLineClientRandom.append("\n");
--
--        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
--        QFile file(sslKeyFile);
--        if (!file.open(QIODevice::Append))
--            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
--        if (!file.write(debugLineClientRandom))
--            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
--        file.close();
--    } else {
--        qCWarning(lcSsl, "could not decrypt SSL traffic");
--    }
--#endif
--
--    // Cache this SSL session inside the QSslContext
--    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
--        if (!sslContextPointer->cacheSession(ssl)) {
--            sslContextPointer.clear(); // we could not cache the session
--        } else {
--            // Cache the session for permanent usage as well
--            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
--                if (!sslContextPointer->sessionASN1().isEmpty())
--                    configuration.sslSession = sslContextPointer->sessionASN1();
--                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
--            }
--        }
--    }
--
--#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
--
--    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
--    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
--        // we could not agree -> be conservative and use HTTP/1.1
--        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
--    } else {
--        const unsigned char *proto = 0;
--        unsigned int proto_len = 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
--            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
--            if (proto_len && mode == QSslSocket::SslClientMode) {
--                // Client does not have a callback that sets it ...
--                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
--            }
--        }
--
--        if (!proto_len) { // Test if NPN was more lucky ...
--#else
--        {
--#endif
--            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
--        }
--
--        if (proto_len)
--            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
--        else
--            configuration.nextNegotiatedProtocol.clear();
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
--
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
--        EVP_PKEY *key;
--        if (q_SSL_get_server_tmp_key(ssl, &key))
--            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
--
--    connectionEncrypted = true;
--    emit q->encrypted();
--    if (autoStartHandshake && pendingClose) {
--        pendingClose = false;
--        q->disconnectFromHost();
--    }
--}
--
- QList<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509)
- {
-     ensureInitialized();
-@@ -1696,12 +1397,12 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex);
- 
-     // Register a custom callback to get all verification errors.
--    X509_STORE_set_verify_cb_func(certStore, q_X509Callback);
-+    q_X509_STORE_set_verify_cb(certStore, q_X509Callback);
- 
-     // Build the chain of intermediate certificates
-     STACK_OF(X509) *intermediates = 0;
-     if (certificateChain.length() > 1) {
--        intermediates = (STACK_OF(X509) *) q_sk_new_null();
-+        intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null();
- 
-         if (!intermediates) {
-             q_X509_STORE_free(certStore);
-@@ -1715,11 +1416,8 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-                 first = false;
-                 continue;
-             }
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_push( (_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
--#else
--            q_sk_push( (STACK *)intermediates, reinterpret_cast<char *>(cert.handle()));
--#endif
-+
-+            q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
-         }
-     }
- 
-@@ -1743,11 +1441,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     (void) q_X509_verify_cert(storeContext);
- 
-     q_X509_STORE_CTX_free(storeContext);
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    q_sk_free( (_STACK *) intermediates);
--#else
--    q_sk_free( (STACK *) intermediates);
--#endif
-+    q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates);
- 
-     // Now process the errors
-     const auto errorList = std::move(_q_sslErrorList()->errors);
-@@ -1821,7 +1515,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-     // Convert to Qt types
-     if (!key->d->fromEVP_PKEY(pkey)) {
-         qCWarning(lcSsl, "Unable to convert private key");
--        q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+        q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                              reinterpret_cast<void (*)(void *)>(q_OPENSSL_sk_free));
-         q_X509_free(x509);
-         q_EVP_PKEY_free(pkey);
-         q_PKCS12_free(p12);
-@@ -1836,7 +1531,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-         *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca);
- 
-     // Clean up
--    q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+    // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free
-+    // which seems to be blatantly wrong and even crashes with 1.1.
-+    q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                          reinterpret_cast<void (*)(void *)>(q_X509_free));
-+
-     q_X509_free(x509);
-     q_EVP_PKEY_free(pkey);
-     q_PKCS12_free(p12);
-diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp
-new file mode 100644
-index 0000000000..b6d18943a5
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11.cpp
-@@ -0,0 +1,285 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive))
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    // This function exists only for compatibility with the pre-11 code,
-+    // where deinitialize() actually does some cleanup. To be discarded
-+    // once we retire < 1.1.
-+}
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        if (q_OPENSSL_init_ssl(0, nullptr) != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms();
-+
-+        QSslSocketBackendPrivate::s_indexForSSLExtraData
-+            = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr,
-+                                        nullptr, nullptr);
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_OpenSSL_version_num();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_OpenSSL_version(OPENSSL_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_session_reused(ssl))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (q_SSL_get_session(ssl)) {
-+        size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0);
-+        size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0);
-+        QByteArray masterKey(int(master_key_len), 0); // Will not overflow
-+        QByteArray clientRandom(int(client_random_len), 0); // Will not overflow
-+
-+        q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl),
-+                                     reinterpret_cast<unsigned char*>(masterKey.data()),
-+                                     masterKey.size());
-+        q_SSL_get_client_random(ssl, reinterpret_cast<unsigned char *>(clientRandom.data()),
-+                                clientRandom.size());
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+
-+        q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+        if (proto_len && mode == QSslSocket::SslClientMode) {
-+            // Client does not have a callback that sets it ...
-+            configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    if (mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-new file mode 100644
-index 0000000000..2980b3d23e
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-@@ -0,0 +1,132 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is not part of the Qt API. It exists purely as an
-+// implementation detail. This header file may change from version to
-+// version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done
-+// in qsslsocket_openssl_symbols_p.h.
-+
-+#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
-+#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead"
-+#endif
-+
-+const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x);
-+
-+Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a);
-+Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
-+
-+int q_DSA_bits(DSA *a);
-+int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
-+int q_EVP_PKEY_base_id(EVP_PKEY *a);
-+int q_RSA_bits(RSA *a);
-+int q_OPENSSL_sk_num(OPENSSL_STACK *a);
-+void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
-+OPENSSL_STACK *q_OPENSSL_sk_new_null();
-+void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
-+void q_OPENSSL_sk_free(OPENSSL_STACK *a);
-+void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
-+int q_SSL_session_reused(SSL *a);
-+unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
-+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen);
-+size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen);
-+int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
-+const SSL_METHOD *q_TLS_method();
-+const SSL_METHOD *q_TLS_client_method();
-+const SSL_METHOD *q_TLS_server_method();
-+ASN1_TIME *q_X509_getm_notBefore(X509 *a);
-+ASN1_TIME *q_X509_getm_notAfter(X509 *a);
-+
-+long q_X509_get_version(X509 *a);
-+EVP_PKEY *q_X509_get_pubkey(X509 *a);
-+void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
-+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
-+void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
-+int q_DH_bits(DH *dh);
-+
-+# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
-+                                                       | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
-+
-+#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st)
-+#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i)
-+
-+#define q_OPENSSL_add_all_algorithms_conf()  q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                   | OPENSSL_INIT_ADD_ALL_DIGESTS \
-+                                                                   | OPENSSL_INIT_LOAD_CONFIG, NULL)
-+#define  q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                    | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
-+
-+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+void q_CRYPTO_free(void *str, const char *file, int line);
-+
-+long q_OpenSSL_version_num();
-+const char *q_OpenSSL_version(int type);
-+
-+unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session);
-+
-+#endif
-diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
-index b2adb3e547..7f9e884045 100644
---- a/src/network/ssl/qsslsocket_openssl_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -98,8 +98,8 @@
- #include <openssl/crypto.h>
- #include <openssl/tls1.h>
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--typedef _STACK STACK;
-+#if QT_CONFIG(opensslv11)
-+#include <openssl/dh.h>
- #endif
- 
- QT_BEGIN_NAMESPACE
-@@ -151,7 +151,7 @@ public:
- #endif
- 
-     Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions);
--    static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher);
-+    static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher);
-     static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
-     static QList<QSslError> verify(const QList<QSslCertificate> &certificateChain, const QString &hostName);
-     static QString getErrorsFromOpenSsl();
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-index c344a94427..0ef8bf6b5e 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -1,7 +1,8 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName)
- 
- #endif // QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+
-+// Below are the functions first introduced in version 1.1:
-+
-+DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
-+DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return)
-+DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return)
-+DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return)
-+DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return)
-+DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
-+DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return)
-+DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+
-+DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return)
-+DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return)
-+DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG)
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
-+DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG)
-+DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return)
-+DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return)
-+DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG)
-+DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return)
-+
-+#else // QT_CONFIG(opensslv11)
-+
-+// Functions below are either deprecated or removed in OpenSSL >= 1.1:
-+
-+DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
-+
- #ifdef SSLEAY_MACROS
- DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return)
- #endif
-+DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return)
-+DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+#endif // SSLEAY_MACROS
-+
-+DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#else
-+DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
-+
-+DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
-+DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#else
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
-+DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
-+#endif
-+DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#endif
-+#endif
-+DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
-+
-+#endif // QT_CONFIG(opensslv11)
-+
- DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return)
--DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
- DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return)
--DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
-+DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return)
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
--DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
--DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
--DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
--#endif
- DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast<BN_ULONG>(-1), return)
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return)
- DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return)
- #endif
--DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
- DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return)
- DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return)
- DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return);
-+DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return)
- DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return)
--DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return);
--DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return);
--DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return);
-+DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return)
-+DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return)
-@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur
- DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return)
- 
- DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--#else
-+
-+#ifndef SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
- DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
- DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
--DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
--DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
--#else
--DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
--#endif
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
--DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
--DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return)
-+DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return)
- DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return)
- DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
-@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return)
- #else
- DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
- #endif
--DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
--DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
- DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
- DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return)
-@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG)
- DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return)
- DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
- DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return)
- DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return)
- #endif
-@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb
- DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG)
- DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return)
- #endif
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#else
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
- DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
-+DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return)
- #ifndef SSLEAY_MACROS
- DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return)
- #endif
-@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu
- DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return)
- DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return)
- DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return)
- DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return)
- DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return)
-@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret
- DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
--DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
- DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
--DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
--#endif
--DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
--#endif
--#endif
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
--DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
--DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
- DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return)
- DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -694,8 +765,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
- #ifndef Q_OS_DARWIN
-     // second attempt: find the development files libssl.so and libcrypto.so
-     //
--    // disabled on OS X/iOS:
--    //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-+    // disabled on macOS/iOS:
-+    //  macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
-     libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
-@@ -754,7 +825,11 @@ bool q_resolveOpenSslSymbols()
-     static bool symbolsResolved = false;
-     static bool triedToResolveSymbols = false;
- #ifndef QT_NO_THREAD
-+#if QT_CONFIG(opensslv11)
-+    QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
-+#else
-     QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
-+#endif
- #endif
-     if (symbolsResolved)
-         return true;
-@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols()
-         // failed to load them
-         return false;
- 
-+#if QT_CONFIG(opensslv11)
-+
-+    RESOLVEFUNC(OPENSSL_init_ssl)
-+    RESOLVEFUNC(OPENSSL_init_crypto)
-+    RESOLVEFUNC(ASN1_STRING_get0_data)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_reset)
-+    RESOLVEFUNC(EVP_PKEY_base_id)
-+    RESOLVEFUNC(RSA_bits)
-+    RESOLVEFUNC(OPENSSL_sk_new_null)
-+    RESOLVEFUNC(OPENSSL_sk_push)
-+    RESOLVEFUNC(OPENSSL_sk_free)
-+    RESOLVEFUNC(OPENSSL_sk_num)
-+    RESOLVEFUNC(OPENSSL_sk_pop_free)
-+    RESOLVEFUNC(OPENSSL_sk_value)
-+    RESOLVEFUNC(DH_get0_pqg)
-+    RESOLVEFUNC(SSL_CTX_set_options)
-+    RESOLVEFUNC(SSL_get_client_random)
-+    RESOLVEFUNC(SSL_SESSION_get_master_key)
-+    RESOLVEFUNC(SSL_session_reused)
-+    RESOLVEFUNC(SSL_get_session)
-+    RESOLVEFUNC(CRYPTO_get_ex_new_index)
-+    RESOLVEFUNC(TLS_method)
-+    RESOLVEFUNC(TLS_client_method)
-+    RESOLVEFUNC(TLS_server_method)
-+    RESOLVEFUNC(X509_STORE_CTX_get0_chain)
-+    RESOLVEFUNC(X509_getm_notBefore)
-+    RESOLVEFUNC(X509_getm_notAfter)
-+    RESOLVEFUNC(X509_get_version)
-+    RESOLVEFUNC(X509_get_pubkey)
-+    RESOLVEFUNC(X509_STORE_set_verify_cb)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(OpenSSL_version_num)
-+    RESOLVEFUNC(OpenSSL_version)
-+    if (!_q_OpenSSL_version) {
-+        // Apparently, we were built with OpenSSL 1.1 enabled but are now using
-+        // a wrong library.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+    RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint)
-+    RESOLVEFUNC(DH_bits)
-+    RESOLVEFUNC(DSA_bits)
-+
-+#else // !opensslv11
-+
-+    RESOLVEFUNC(ASN1_STRING_data)
-+
- #ifdef SSLEAY_MACROS
-     RESOLVEFUNC(ASN1_dup)
-+#endif // SSLEAY_MACROS
-+    RESOLVEFUNC(BIO_new_file)
-+    RESOLVEFUNC(ERR_clear_error)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(CRYPTO_num_locks)
-+    RESOLVEFUNC(CRYPTO_set_id_callback)
-+    RESOLVEFUNC(CRYPTO_set_locking_callback)
-+    RESOLVEFUNC(ERR_peek_last_error)
-+    RESOLVEFUNC(ERR_free_strings)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+
-+#ifdef SSLEAY_MACROS // ### verify
-+    RESOLVEFUNC(PEM_ASN1_read_bio)
-+#endif // SSLEAY_MACROS
-+
-+    RESOLVEFUNC(sk_new_null)
-+    RESOLVEFUNC(sk_push)
-+    RESOLVEFUNC(sk_free)
-+    RESOLVEFUNC(sk_num)
-+    RESOLVEFUNC(sk_pop_free)
-+    RESOLVEFUNC(sk_value)
-+    RESOLVEFUNC(SSL_library_init)
-+    RESOLVEFUNC(SSL_load_error_strings)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(SSL_get_ex_new_index)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_client_method)
- #endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_client_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_client_method)
-+    RESOLVEFUNC(TLSv1_client_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_client_method)
-+    RESOLVEFUNC(TLSv1_2_client_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_server_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_server_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_server_method)
-+    RESOLVEFUNC(TLSv1_server_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_server_method)
-+    RESOLVEFUNC(TLSv1_2_server_method)
-+#endif
-+    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-+#ifdef SSLEAY_MACROS
-+    RESOLVEFUNC(i2d_DSAPrivateKey)
-+    RESOLVEFUNC(i2d_RSAPrivateKey)
-+    RESOLVEFUNC(d2i_DSAPrivateKey)
-+    RESOLVEFUNC(d2i_RSAPrivateKey)
-+#endif
-+    RESOLVEFUNC(CONF_get1_default_config_file)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-+    RESOLVEFUNC(SSLeay)
-+
-+    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
-+        // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to
-+        // resolve this symbol as a failure to resolve symbols.
-+        // The right operand of '||' above is ... a bit of paranoia.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+
-+    RESOLVEFUNC(SSLeay_version)
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L)
-+        RESOLVEFUNC(EC_curve_nist2nid)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#endif // OPENSSL_NO_EC
-+
-+
-+#endif // !opensslv11
-+
-     RESOLVEFUNC(ASN1_INTEGER_get)
--    RESOLVEFUNC(ASN1_STRING_data)
-     RESOLVEFUNC(ASN1_STRING_length)
-     RESOLVEFUNC(ASN1_STRING_to_UTF8)
-     RESOLVEFUNC(BIO_ctrl)
-@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(BN_is_word)
- #endif
-     RESOLVEFUNC(BN_mod_word)
--    RESOLVEFUNC(CRYPTO_free)
--    RESOLVEFUNC(CRYPTO_num_locks)
--    RESOLVEFUNC(CRYPTO_set_id_callback)
--    RESOLVEFUNC(CRYPTO_set_locking_callback)
-     RESOLVEFUNC(DSA_new)
-     RESOLVEFUNC(DSA_free)
-     RESOLVEFUNC(ERR_error_string)
-     RESOLVEFUNC(ERR_get_error)
--    RESOLVEFUNC(ERR_free_strings)
--    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
--    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_new)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_free)
-     RESOLVEFUNC(EVP_CIPHER_CTX_ctrl)
-     RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length)
-     RESOLVEFUNC(EVP_CipherInit)
-+    RESOLVEFUNC(EVP_CipherInit_ex)
-     RESOLVEFUNC(EVP_CipherUpdate)
-     RESOLVEFUNC(EVP_CipherFinal)
-     RESOLVEFUNC(EVP_des_cbc)
-     RESOLVEFUNC(EVP_des_ede3_cbc)
-     RESOLVEFUNC(EVP_rc2_cbc)
-+    RESOLVEFUNC(EVP_sha1)
-     RESOLVEFUNC(EVP_PKEY_assign)
-     RESOLVEFUNC(EVP_PKEY_set1_RSA)
-     RESOLVEFUNC(EVP_PKEY_set1_DSA)
-@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(i2t_ASN1_OBJECT)
-     RESOLVEFUNC(OBJ_obj2txt)
-     RESOLVEFUNC(OBJ_obj2nid)
--#ifdef SSLEAY_MACROS // ### verify
--    RESOLVEFUNC(PEM_ASN1_read_bio)
--#else
-+
-+#ifndef SSLEAY_MACROS
-     RESOLVEFUNC(PEM_read_bio_PrivateKey)
-     RESOLVEFUNC(PEM_read_bio_DSAPrivateKey)
-     RESOLVEFUNC(PEM_read_bio_RSAPrivateKey)
-@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols()
- #ifndef OPENSSL_NO_EC
-     RESOLVEFUNC(PEM_write_bio_ECPrivateKey)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
-+
-     RESOLVEFUNC(PEM_read_bio_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY)
-@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(RAND_status)
-     RESOLVEFUNC(RSA_new)
-     RESOLVEFUNC(RSA_free)
--    RESOLVEFUNC(sk_new_null)
--    RESOLVEFUNC(sk_push)
--    RESOLVEFUNC(sk_free)
--    RESOLVEFUNC(sk_num)
--    RESOLVEFUNC(sk_pop_free)
--    RESOLVEFUNC(sk_value)
-     RESOLVEFUNC(SSL_CIPHER_description)
-     RESOLVEFUNC(SSL_CIPHER_get_bits)
-     RESOLVEFUNC(SSL_CTX_check_private_key)
-@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get_peer_cert_chain)
-     RESOLVEFUNC(SSL_get_peer_certificate)
-     RESOLVEFUNC(SSL_get_verify_result)
--    RESOLVEFUNC(SSL_library_init)
--    RESOLVEFUNC(SSL_load_error_strings)
-     RESOLVEFUNC(SSL_new)
-     RESOLVEFUNC(SSL_ctrl)
-     RESOLVEFUNC(SSL_read)
-@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get1_session)
-     RESOLVEFUNC(SSL_get_session)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(SSL_get_ex_new_index)
-     RESOLVEFUNC(SSL_set_ex_data)
-     RESOLVEFUNC(SSL_get_ex_data)
- #endif
-@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_CTX_use_psk_identity_hint)
- #endif
-     RESOLVEFUNC(SSL_write)
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_client_method)
--#endif
--    RESOLVEFUNC(SSLv23_client_method)
--    RESOLVEFUNC(TLSv1_client_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_client_method)
--    RESOLVEFUNC(TLSv1_2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_server_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_server_method)
--#endif
--    RESOLVEFUNC(SSLv23_server_method)
--    RESOLVEFUNC(TLSv1_server_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_server_method)
--    RESOLVEFUNC(TLSv1_2_server_method)
--#endif
-     RESOLVEFUNC(X509_NAME_entry_count)
-     RESOLVEFUNC(X509_NAME_get_entry)
-     RESOLVEFUNC(X509_NAME_ENTRY_get_data)
-@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_STORE_CTX_get_error)
-     RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
-     RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
--    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-     RESOLVEFUNC(X509_cmp)
- #ifndef SSLEAY_MACROS
-     RESOLVEFUNC(X509_dup)
- #endif
-     RESOLVEFUNC(X509_print)
-+    RESOLVEFUNC(X509_digest)
-     RESOLVEFUNC(X509_EXTENSION_get_object)
-     RESOLVEFUNC(X509_free)
-     RESOLVEFUNC(X509_get_ext)
-@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_check_issued)
-     RESOLVEFUNC(X509_get_issuer_name)
-     RESOLVEFUNC(X509_get_subject_name)
-+    RESOLVEFUNC(X509_get_serialNumber)
-     RESOLVEFUNC(X509_verify_cert)
-     RESOLVEFUNC(d2i_X509)
-     RESOLVEFUNC(i2d_X509)
--#ifdef SSLEAY_MACROS
--    RESOLVEFUNC(i2d_DSAPrivateKey)
--    RESOLVEFUNC(i2d_RSAPrivateKey)
--    RESOLVEFUNC(d2i_DSAPrivateKey)
--    RESOLVEFUNC(d2i_RSAPrivateKey)
--#endif
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-     RESOLVEFUNC(SSL_CTX_load_verify_locations)
--    RESOLVEFUNC(SSLeay)
--    RESOLVEFUNC(SSLeay_version)
-     RESOLVEFUNC(i2d_SSL_SESSION)
-     RESOLVEFUNC(d2i_SSL_SESSION)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(EC_KEY_new_by_curve_name)
-     RESOLVEFUNC(EC_KEY_free)
-     RESOLVEFUNC(EC_get_builtin_curves)
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L)
--        RESOLVEFUNC(EC_curve_nist2nid)
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- #endif // OPENSSL_NO_EC
-     RESOLVEFUNC(PKCS12_parse)
-     RESOLVEFUNC(d2i_PKCS12_bio)
-     RESOLVEFUNC(PKCS12_free)
- 
-+    symbolsResolved = true;
-     delete libs.first;
-     delete libs.second;
--    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
--        // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to
--        // resolve this symbol as a failure to resolve symbols.
--        // The right operand of '||' above ... a bit of paranoia.
--        qCWarning(lcSsl, "Incompatible version of OpenSSL");
--        return false;
--    }
--
--    symbolsResolved = true;
--
-     return true;
- }
- #endif // QT_CONFIG(library)
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-index b35a895d38..796bf2d4f5 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -56,6 +56,7 @@
- #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- 
-+
- //
- //  W A R N I N G
- //  -------------
-@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE
- 
- #endif // !defined QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+#include "qsslsocket_openssl11_symbols_p.h"
-+#else
-+#include "qsslsocket_opensslpre11_symbols_p.h"
-+#endif // QT_CONFIG
-+
- bool q_resolveOpenSslSymbols();
- long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
--unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
- int q_ASN1_STRING_length(ASN1_STRING *a);
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a);
--Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a);
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
--Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem();
- Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L
-@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w);
- const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k);
- int q_EC_GROUP_get_degree(const EC_GROUP* g);
- #endif
--int q_CRYPTO_num_locks();
--void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
--void q_CRYPTO_set_id_callback(unsigned long (*a)());
--void q_CRYPTO_free(void *a);
- DSA *q_DSA_new();
- void q_DSA_free(DSA *a);
- X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c);
- char *q_ERR_error_string(unsigned long a, char *b);
- unsigned long q_ERR_get_error();
--void q_ERR_free_strings();
--void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
--void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
-+EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new();
-+void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a);
- int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
- int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
- int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc);
-+int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc);
- int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl);
- int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
- const EVP_CIPHER *q_EVP_des_cbc();
- const EVP_CIPHER *q_EVP_des_ede3_cbc();
- const EVP_CIPHER *q_EVP_rc2_cbc();
-+const EVP_MD *q_EVP_sha1();
- int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c);
- Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b);
- int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b);
-@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned
- int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d,
-                                   int e, pem_password_cb *f, void *g);
- #endif
--#endif
-+#endif // SSLEAY_MACROS
- Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d);
- DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d);
- RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d);
-@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- RSA *q_RSA_new();
- void q_RSA_free(RSA *a);
--int q_sk_num(STACK *a);
--void q_sk_pop_free(STACK *a, void (*b)(void *));
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--_STACK *q_sk_new_null();
--void q_sk_push(_STACK *st, void *data);
--void q_sk_free(_STACK *a);
--void * q_sk_value(STACK *a, int b);
--#else
--STACK *q_sk_new_null();
--void q_sk_push(STACK *st, char *data);
--void q_sk_free(STACK *a);
--char * q_sk_value(STACK *a, int b);
--#endif
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
--char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
--int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b);
-+char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b);
- int q_SSL_connect(SSL *a);
- int q_SSL_CTX_check_private_key(const SSL_CTX *a);
- long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
-@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b);
- STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
- X509 *q_SSL_get_peer_certificate(SSL *a);
- long q_SSL_get_verify_result(const SSL *a);
--int q_SSL_library_init();
--void q_SSL_load_error_strings();
- SSL *q_SSL_new(SSL_CTX *a);
- long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
- int q_SSL_read(SSL *a, void *b, int c);
-@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses);
- SSL_SESSION *q_SSL_get1_session(SSL *ssl);
- SSL_SESSION *q_SSL_get_session(const SSL *ssl);
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
- int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg);
- void *q_SSL_get_ex_data(const SSL *ssl, int idx);
- #endif
-@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity,
- void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback);
- int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);
- #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_client_method();
--#endif
--const SSL_METHOD *q_SSLv23_client_method();
--const SSL_METHOD *q_TLSv1_client_method();
--const SSL_METHOD *q_TLSv1_1_client_method();
--const SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_server_method();
--#endif
--const SSL_METHOD *q_SSLv23_server_method();
--const SSL_METHOD *q_TLSv1_server_method();
--const SSL_METHOD *q_TLSv1_1_server_method();
--const SSL_METHOD *q_TLSv1_2_server_method();
--#else
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_client_method();
--#endif
--SSL_METHOD *q_SSLv23_client_method();
--SSL_METHOD *q_TLSv1_client_method();
--SSL_METHOD *q_TLSv1_1_client_method();
--SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_server_method();
--#endif
--SSL_METHOD *q_SSLv23_server_method();
--SSL_METHOD *q_TLSv1_server_method();
--SSL_METHOD *q_TLSv1_1_server_method();
--SSL_METHOD *q_TLSv1_2_server_method();
--#endif
- int q_SSL_write(SSL *a, const void *b, int c);
- int q_X509_cmp(X509 *a, X509 *b);
- #ifdef SSLEAY_MACROS
-@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);
- X509 *q_X509_dup(X509 *a);
- #endif
- void q_X509_print(BIO *a, X509*b);
-+int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len);
- ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a);
- void q_X509_free(X509 *a);
- X509_EXTENSION *q_X509_get_ext(X509 *a, int b);
-@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b);
- int q_X509_check_issued(X509 *a, X509 *b);
- X509_NAME *q_X509_get_issuer_name(X509 *a);
- X509_NAME *q_X509_get_subject_name(X509 *a);
-+ASN1_INTEGER *q_X509_get_serialNumber(X509 *a);
- int q_X509_verify_cert(X509_STORE_CTX *ctx);
- int q_X509_NAME_entry_count(X509_NAME *a);
- X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b);
-@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
- int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
- int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
- X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
--STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
- 
- // Diffie-Hellman support
- DH *q_DH_new();
-@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
- PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12);
- void q_PKCS12_free(PKCS12 *pkcs12);
- 
--
- #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
- #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
--#ifdef SSLEAY_MACROS
--int     q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
--int     q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp);
--RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);
--DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
--#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \
--        (RSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u)
--#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \
--        (DSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u)
--#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \
--        (DH *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u)
--#endif
--#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
- #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
--#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
--#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
- #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i))
- #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st))
-@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
-         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
--#define q_X509_get_notAfter(x) X509_get_notAfter(x)
--#define q_X509_get_notBefore(x) X509_get_notBefore(x)
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
-                                         (char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
-                                         (char *)(dsa))
- #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf()
--void q_OPENSSL_add_all_algorithms_noconf();
--void q_OPENSSL_add_all_algorithms_conf();
- int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
--long q_SSLeay();
--const char *q_SSLeay_version(int type);
- int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
- SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
- 
-diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp
-new file mode 100644
-index 0000000000..e51888c5f2
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_opensslpre11.cpp
-@@ -0,0 +1,424 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qthread.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+/* \internal
-+
-+    From OpenSSL's thread(3) manual page:
-+
-+    OpenSSL can safely be used in multi-threaded applications provided that at
-+    least two callback functions are set.
-+
-+    locking_function(int mode, int n, const char *file, int line) is needed to
-+    perform locking on shared data structures.  (Note that OpenSSL uses a
-+    number of global data structures that will be implicitly shared
-+    whenever multiple threads use OpenSSL.)  Multi-threaded
-+    applications will crash at random if it is not set.  ...
-+    ...
-+    id_function(void) is a function that returns a thread ID. It is not
-+    needed on Windows nor on platforms where getpid() returns a different
-+    ID for each thread (most notably Linux)
-+*/
-+
-+class QOpenSslLocks
-+{
-+public:
-+    QOpenSslLocks()
-+        : initLocker(QMutex::Recursive),
-+          locksLocker(QMutex::Recursive)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        int numLocks = q_CRYPTO_num_locks();
-+        locks = new QMutex *[numLocks];
-+        memset(locks, 0, numLocks * sizeof(QMutex *));
-+    }
-+    ~QOpenSslLocks()
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
-+            delete locks[i];
-+        delete [] locks;
-+
-+        QSslSocketPrivate::deinitialize();
-+    }
-+    QMutex *lock(int num)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        QMutex *tmp = locks[num];
-+        if (!tmp)
-+            tmp = locks[num] = new QMutex(QMutex::Recursive);
-+        return tmp;
-+    }
-+
-+    QMutex *globalLock()
-+    {
-+        return &locksLocker;
-+    }
-+
-+    QMutex *initLock()
-+    {
-+        return &initLocker;
-+    }
-+
-+private:
-+    QMutex initLocker;
-+    QMutex locksLocker;
-+    QMutex **locks;
-+};
-+
-+Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
-+
-+extern "C" {
-+static void locking_function(int mode, int lockNumber, const char *, int)
-+{
-+    QMutex *mutex = openssl_locks()->lock(lockNumber);
-+
-+    // Lock or unlock it
-+    if (mode & CRYPTO_LOCK)
-+        mutex->lock();
-+    else
-+        mutex->unlock();
-+}
-+static unsigned long id_function()
-+{
-+    return (quintptr)QThread::currentThreadId();
-+}
-+
-+} // extern "C"
-+
-+static void q_OpenSSL_add_all_algorithms_safe()
-+{
-+#ifdef Q_OS_WIN
-+    // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on
-+    // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843).
-+    // We can predict this and avoid OPENSSL_add_all_algorithms call.
-+    // From OpenSSL docs:
-+    // "An application does not need to add algorithms to use them explicitly,
-+    // for example by EVP_sha1(). It just needs to add them if it (or any of
-+    // the functions it calls) needs to lookup algorithms.
-+    // The cipher and digest lookup functions are used in many parts of the
-+    // library. If the table is not initialized several functions will
-+    // misbehave and complain they cannot find algorithms. This includes the
-+    // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in
-+    // the OpenSSL mailing lists."
-+    //
-+    // Anyway, as a result, we chose not to call this function if it would exit.
-+
-+    if (q_SSLeay() < 0x100010DFL)
-+    {
-+        // Now, before we try to call it, check if an attempt to open config file
-+        // will result in exit:
-+        if (char *confFileName = q_CONF_get1_default_config_file()) {
-+            BIO *confFile = q_BIO_new_file(confFileName, "r");
-+            const auto lastError = q_ERR_peek_last_error();
-+            q_CRYPTO_free(confFileName);
-+            if (confFile) {
-+                q_BIO_free(confFile);
-+            } else {
-+                q_ERR_clear_error();
-+                if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) {
-+                    qCWarning(lcSsl, "failed to open openssl.conf file");
-+                    return;
-+                }
-+            }
-+        }
-+    }
-+#endif // Q_OS_WIN
-+
-+    q_OpenSSL_add_all_algorithms();
-+}
-+
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    q_CRYPTO_set_id_callback(0);
-+    q_CRYPTO_set_locking_callback(0);
-+    q_ERR_free_strings();
-+}
-+
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    // Check if the library itself needs to be initialized.
-+    QMutexLocker locker(openssl_locks()->initLock());
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        q_CRYPTO_set_id_callback(id_function);
-+        q_CRYPTO_set_locking_callback(locking_function);
-+        if (q_SSL_library_init() != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms_safe();
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        if (q_SSLeay() >= 0x10001000L)
-+            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
-+#endif
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    QMutexLocker locker(openssl_locks()->initLock());
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_SSLeay();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (ssl->session && ssl->s3) {
-+        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
-+        QByteArray masterKey(mk, ssl->session->master_key_length);
-+        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
-+        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
-+
-+        // different format, needed for e.g. older Wireshark versions:
-+//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
-+//        QByteArray sessionID(sid, ssl->session->session_id_length);
-+//        QByteArray debugLineRSA("RSA Session-ID:");
-+//        debugLineRSA.append(sessionID.toHex().toUpper());
-+//        debugLineRSA.append(" Master-Key:");
-+//        debugLineRSA.append(masterKey.toHex().toUpper());
-+//        debugLineRSA.append("\n");
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+        if (q_SSLeay() >= 0x10002000L) {
-+            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+            if (proto_len && mode == QSslSocket::SslClientMode) {
-+                // Client does not have a callback that sets it ...
-+                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+            }
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+#else
-+        {
-+#endif
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
-index d2b0c2d60d..2783effaf1 100644
---- a/src/network/ssl/ssl.pri
-+++ b/src/network/ssl/ssl.pri
-@@ -60,13 +60,25 @@ qtConfig(ssl) {
-         HEADERS += ssl/qsslcontext_openssl_p.h \
-                    ssl/qsslsocket_openssl_p.h \
-                    ssl/qsslsocket_openssl_symbols_p.h
--        SOURCES += ssl/qsslcertificate_openssl.cpp \
--                   ssl/qsslcontext_openssl.cpp \
-+        SOURCES += ssl/qsslsocket_openssl_symbols.cpp \
-                    ssl/qssldiffiehellmanparameters_openssl.cpp \
-+                   ssl/qsslcertificate_openssl.cpp \
-                    ssl/qsslellipticcurve_openssl.cpp \
-                    ssl/qsslkey_openssl.cpp \
-                    ssl/qsslsocket_openssl.cpp \
--                   ssl/qsslsocket_openssl_symbols.cpp
-+                   ssl/qsslcontext_openssl.cpp
-+
-+        qtConfig(opensslv11) {
-+            HEADERS += ssl/qsslsocket_openssl11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_openssl11.cpp \
-+                       ssl/qsslcontext_openssl11.cpp
-+
-+            QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L
-+        } else {
-+            HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_opensslpre11.cpp \
-+                       ssl/qsslcontext_opensslpre11.cpp
-+        }
- 
-         darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
deleted file mode 100644
index f87c508a380..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ /dev/null
@@ -1,1119 +0,0 @@
-diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
-index 5208379f9a..92fe29a0ac 100644
---- a/mkspecs/common/mac.conf
-+++ b/mkspecs/common/mac.conf
-@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index bb5083c925..77034f9bb6 100644
---- a/mkspecs/features/create_cmake.prf
-+++ b/mkspecs/features/create_cmake.prf
-@@ -21,7 +21,7 @@ load(cmake_functions)
- # at cmake time whether package has been found via a symlink, and correct
- # that to an absolute path. This is only done for installations to
- # the /usr or / prefix.
--CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
-+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
- contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
- 
- CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -47,47 +47,22 @@ split_incpath {
-         $$cmake_extra_source_includes.output
- }
- 
--CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
--    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
--    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
-+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
- 
- !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
- 
--CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
--    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--    CMAKE_LIB_DIR_IS_ABSOLUTE = True
--} else {
--    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
--    # We need to go up another two levels because the CMake files are
--    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
--    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
--}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
- 
--CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
--    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
--    CMAKE_BIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_DIR_IS_ABSOLUTE = True
- 
--CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
--    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
--    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
- 
--win32:!static:!staticlib {
--    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
--    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
--        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
--        CMAKE_DLL_DIR_IS_ABSOLUTE = True
--    }
--} else {
--    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
--    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
--}
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
-       cmake_target_file
- 
-     cmake_qt5_plugin_file.files = $$cmake_target_file.output
--    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
-     INSTALLS += cmake_qt5_plugin_file
- 
-     return()
-@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
-     cmake_qt5_module_files.files += $$cmake_macros_file.output
- }
- 
--cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
- 
- # We are generating cmake files. Most developers of Qt are not aware of cmake,
- # so we require automatic tests to be available. The only module which should
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 55c74aad66..0bbc8718eb 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
-@@ -58,11 +34,7 @@ endmacro()
- macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
-     )
- 
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
-     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
-     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
-         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
--!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -280,25 +236,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index e645ba5803..a0e5c68b7e 100644
---- a/mkspecs/features/mac/default_post.prf
-+++ b/mkspecs/features/mac/default_post.prf
-@@ -24,166 +24,3 @@ qt {
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
-diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
-index 44636f2288..3b01424e67 100644
---- a/mkspecs/features/mac/default_pre.prf
-+++ b/mkspecs/features/mac/default_pre.prf
-@@ -1,56 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
-diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
-index 3f6dc076ca..e69de29bb2 100644
---- a/mkspecs/features/mac/sdk.prf
-+++ b/mkspecs/features/mac/sdk.prf
-@@ -1,58 +0,0 @@
--
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        info = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        info = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        info = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\'")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
-index 4db0040dc5..65d6da1f4d 100644
---- a/mkspecs/features/qml_module.prf
-+++ b/mkspecs/features/qml_module.prf
-@@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
-index d49f4c49c1..097dcd7d39 100644
---- a/mkspecs/features/qml_plugin.prf
-+++ b/mkspecs/features/qml_plugin.prf
-@@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_QML_FILES += $$QMLTYPEFILE
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- target.path = $$instbase/$$TARGETPATH
- INSTALLS += target
-diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
-index 883f8ca215..81db8eb2d4 100644
---- a/mkspecs/features/qt_app.prf
-+++ b/mkspecs/features/qt_app.prf
-@@ -33,7 +33,7 @@ host_build:force_bootstrap {
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(debug_and_release): CONFIG += release
--    target.path = $$[QT_INSTALL_BINS]
-+    target.path = $$NIX_OUTPUT_BIN/bin
-     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
- }
- INSTALLS += target
-diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
-index 1848f00e90..2af93675c5 100644
---- a/mkspecs/features/qt_build_paths.prf
-+++ b/mkspecs/features/qt_build_paths.prf
-@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \
- !force_independent {
-     # If the module is not built independently, everything ends up in qtbase.
-     # This is the case in non-prefix builds, except for selected modules.
--    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
--    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
-+    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
-+    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
- }
-diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index fb96d1b6a0..508ed17d30 100644
---- a/mkspecs/features/qt_common.prf
-+++ b/mkspecs/features/qt_common.prf
-@@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) {
-         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
-         qt_libdir = $$[QT_HOST_LIBS]
-     } else {
--        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
--        qt_libdir = $$[QT_INSTALL_LIBS]
-+        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
-+        qt_libdir = $$NIX_OUTPUT_OUT/lib
-     }
-     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
-         lib_replace.match = "[^ ']*$$rplbase/lib"
-diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
-index 72dde61a40..f891a2baed 100644
---- a/mkspecs/features/qt_docs.prf
-+++ b/mkspecs/features/qt_docs.prf
-@@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
- 
- QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
- !build_online_docs: \
--    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
-+    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
- PREP_DOC_INDEXES =
- DOC_INDEXES =
- !isEmpty(QTREPOS) {
-@@ -64,8 +64,8 @@ DOC_INDEXES =
-         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
- } else {
-     prepare_docs: \
--        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
--    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
-+        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
-+    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,12 @@ prepare_docs {
-     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
- 
-     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
--    inst_html_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_html_docs.path = $$NIX_OUTPUT_DOC
-     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
-     INSTALLS += inst_html_docs
- 
-     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
--    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_qch_docs.path = $$NIX_OUTPUT_DOC
-     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
-     INSTALLS += inst_qch_docs
- 
-diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
-index 668669e4cd..eb4840a0aa 100644
---- a/mkspecs/features/qt_example_installs.prf
-+++ b/mkspecs/features/qt_example_installs.prf
-@@ -82,7 +82,7 @@ sourcefiles += \
-     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
-     $$DBUS_ADAPTORS $$DBUS_INTERFACES
- addInstallFiles(sources.files, $$sourcefiles)
--sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
-+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
- INSTALLS += sources
- 
- check_examples {
-diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 1903e509c8..ae7b585989 100644
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
-index 0d3dfb6b93..5f935b4424 100644
---- a/mkspecs/features/qt_installs.prf
-+++ b/mkspecs/features/qt_installs.prf
-@@ -12,16 +12,10 @@
- #library
- !qt_no_install_library {
-     win32 {
--       host_build: \
--           dlltarget.path = $$[QT_HOST_BINS]
--       else: \
--           dlltarget.path = $$[QT_INSTALL_BINS]
-+        dlltarget.path = $$NIX_OUTPUT_BIN/bin
-        INSTALLS += dlltarget
-     }
--    host_build: \
--        target.path = $$[QT_HOST_LIBS]
--    else: \
--        target.path = $$[QT_INSTALL_LIBS]
-+    target.path = $$NIX_OUTPUT_OUT/lib
-     !static: target.CONFIG = no_dll
-     INSTALLS += target
- }
-@@ -29,33 +23,33 @@
- #headers
- qt_install_headers {
-     class_headers.files = $$SYNCQT.HEADER_CLASSES
--    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += class_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES
--    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += targ_headers
- 
-     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
--    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-+    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-     INSTALLS += private_headers
- 
-     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
--    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-+    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-     INSTALLS += qpa_headers
- }
- 
- #module
- qt_install_module {
-     !isEmpty(MODULE_PRI) {
--        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         pritarget.files = $$MODULE_PRI
-         INSTALLS += pritarget
-     } else: isEmpty(MODULE_PRIVATE_PRI) {
-         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
-     }
-     !isEmpty(MODULE_PRIVATE_PRI) {
--        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         privpritarget.files = $$MODULE_PRIVATE_PRI
-         INSTALLS += privpritarget
-     }
-diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
-index 62e1b69fde..abd63123f9 100644
---- a/mkspecs/features/qt_plugin.prf
-+++ b/mkspecs/features/qt_plugin.prf
-@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 545b9a3d1e..6ac0cdefe4 100644
---- a/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-index c357237d0e..6f0c75de3c 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-index 706304cf34..546420f6ad 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
-index cba279c184..5ae3fd62e5 100644
---- a/src/corelib/kernel/qcoreapplication.cpp
-+++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
-index 4fdc2e36ac..d3ec222543 100644
---- a/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -645,12 +649,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
-diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
-index 1d947159e2..b36865fc48 100644
---- a/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -2,11 +2,7 @@
- if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
-@@ -17,11 +13,7 @@ endif()
- if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
-diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
-index 07869efd7d..fb4183bada 100644
---- a/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
-index 1da00813ce..0bf877afcb 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -92,7 +92,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
-index 9a24938284..74962b4ae2 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -102,7 +102,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-index b5a0a5bbeb..6c20305f4d 100644
---- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations()
-     m_possibleLocations.reserve(7);
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
-diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-index e2e573f0e1..1c8289f81e 100644
---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
-diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
-index 7c62c2e2b3..fefa40e0f6 100644
---- a/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
-diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
-index c4cd66c33b..b6f2691587 100644
---- a/src/plugins/platformthemes/gtk3/main.cpp
-+++ b/src/plugins/platformthemes/gtk3/main.cpp
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@ public:
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
-index 6498ea84ef..d821ced7fc 100644
---- a/src/testlib/qtestassert.h
-+++ b/src/testlib/qtestassert.h
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
- #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
--
- #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-index 99d87e2e46..a4eab2aa72 100644
---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
deleted file mode 100644
index bb1bbbeb05e..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index ee5b38717..bbccef8c4 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1678,6 +1678,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
-diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 330da358b..cdf570205 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript.patch b/pkgs/development/libraries/qt-5/5.9/qtscript.patch
deleted file mode 100644
index 5508dec1280..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
deleted file mode 100644
index f25524e80bc..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools.patch b/pkgs/development/libraries/qt-5/5.9/qttools.patch
deleted file mode 100644
index fbba439ef7a..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
deleted file mode 100644
index cf082cddd11..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix a following build error:
-
-In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7:
-In file included from ../../3rdparty/chromium/base/bind.h:8:
-../../3rdparty/chromium/base/bind_internal.h:214:31: error: cannot initialize a parameter of type 'NSError *' with an lvalue of type 'const long'
-    return (receiver.*method)(std::forward<RunArgs>(args)...);
-                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../3rdparty/chromium/base/bind_internal.h:285:20: note: in instantiation of function template specialization 'base::internal::FunctorTraits<void (device::BluetoothRemoteGat
-tCharacteristicMac::*)(NSError *), void>::Invoke<device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return Traits::Invoke(std::forward<Functor>(functor),
-                   ^
-../../3rdparty/chromium/base/bind_internal.h:361:43: note: in instantiation of function template specialization 'base::internal::InvokeHelper<false, void>::MakeItSo<void (devi
-ce::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return InvokeHelper<is_weak_call, R>::MakeItSo(
-                                          ^
-../../3rdparty/chromium/base/bind_internal.h:339:12: note: in instantiation of function template specialization 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::RunImpl<void (device::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), const std::__1::tuple<base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long> &, 0, 1>' requested here
-    return RunImpl(storage->functor_,
-           ^
-../../3rdparty/chromium/base/bind.h:62:45: note: in instantiation of member function 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::Run' requested here
-  PolymorphicInvoke invoke_func = &Invoker::Run;
-                                            ^
-../../3rdparty/chromium/base/bind.h:77:10: note: in instantiation of function template specialization 'base::BindRepeating<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-  return BindRepeating(std::forward<Functor>(functor),
-         ^
-../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:241:15: note: in instantiation of function template specialization 'base::Bind<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-        base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
-
---- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-+++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-@@ -239,7 +239,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic(
-     base::ThreadTaskRunnerHandle::Get()->PostTask(
-         FROM_HERE,
-         base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
--                   base::Unretained(this), nil));
-+                   base::Unretained(this), nullptr));
-   }
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 7156c41c5ec..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
---- a/mkspecs/features/configure.prf
-+++ b/mkspecs/features/configure.prf
-@@ -194,9 +194,6 @@ defineTest(runConfigure) {
-         } else {
-             log("Native Spellchecker .............. Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_native_spellchecker)$${EOL}")
-         }
--        !isMinOSXSDKVersion(10, 10, 3) {
--            log("  Force Touch API usage .............. Not enabled         (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
--        }
-     }
- }
- 
-diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
---- a/mkspecs/features/functions.prf
-+++ b/mkspecs/features/functions.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-       return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(5, 1) {
--      skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Qt WebEngine requires OS X version 10.10 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Qt WebEngine requires an OS X SDK version of 10.10 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and OS X.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
deleted file mode 100644
index 718bda36194..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49aa..46772a4bb 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2fea..86fe39ef1 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de65216b..38f5c05e5 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff684..0f6ff63d1 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/srcs.nix b/pkgs/development/libraries/qt-5/5.9/srcs.nix
deleted file mode 100644
index 09b6293daeb..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/srcs.nix
+++ /dev/null
@@ -1,333 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qt3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "0skdp72jlfy97cw9lpa3l2ivs6f5x9w53978sf2xbkl9k1ai268l";
-      name = "qt3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtactiveqt-opensource-src-5.9.7.tar.xz";
-      sha256 = "01yp0railyc80ldvpiy36lpsdk26rs8vfp78xca9jy1glm4cmaik";
-      name = "qtactiveqt-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtandroidextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1bl05hr0zm23z7qig3kxhzyvm440wfrjfgsxvpmlvk9pbb8h2q63";
-      name = "qtandroidextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtbase-opensource-src-5.9.7.tar.xz";
-      sha256 = "004gs95ig51jv2wz64kwzl4rvqqzs4rln3kqmzjs3sh6y1s9bp9n";
-      name = "qtbase-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcanvas3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "131zwqddjns7cpkdbr33jahqgvnw6f8gdcr1b2hmadi0p2shrcwq";
-      name = "qtcanvas3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcharts-opensource-src-5.9.7.tar.xz";
-      sha256 = "1rkj4lkpgdqk4ygxivkj7gc8mlccb5sgi9mfr0xwvq5j85r3dk8n";
-      name = "qtcharts-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtconnectivity-opensource-src-5.9.7.tar.xz";
-      sha256 = "0f7g2lfnfgsjka7y5hdf0lbzpfxlxh8bfhdxix44cwlmwzjizy3l";
-      name = "qtconnectivity-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdatavis3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "08anm8byxcym7h1n49j3cbxkh3kh3xjlxd3b8vi8fxyqqhvll4lv";
-      name = "qtdatavis3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdeclarative-opensource-src-5.9.7.tar.xz";
-      sha256 = "0p26c96fb33khbf7ws91ha73n72lwmn714v8spg0bla9m1jkfhk8";
-      name = "qtdeclarative-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdoc-opensource-src-5.9.7.tar.xz";
-      sha256 = "1vs6dy0mdcn65fhpl8nib0pjw9bliqkjnaahqm833ayvxr15vzyj";
-      name = "qtdoc-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgamepad-opensource-src-5.9.7.tar.xz";
-      sha256 = "0242683h9jz6b0n11s4m4ii2691dbws0gkj45n6sx6z513blfx9f";
-      name = "qtgamepad-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1yhxa3i3jvfnc9l6a3q3pyk7y702a3pp87ypshb63607xvrxrv2d";
-      name = "qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtimageformats-opensource-src-5.9.7.tar.xz";
-      sha256 = "1an0k3rzxjc4x4rscnibdk36zff6g1n41lh5dasys4jc05k3w1b2";
-      name = "qtimageformats-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtlocation-opensource-src-5.9.7.tar.xz";
-      sha256 = "0lp6zn630px1lj7623shq47dlv02nr0aj7iqscrk0yzhygbv7dc2";
-      name = "qtlocation-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmacextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "0b0znccbach41la226cmps9aaigpz8mj940xj890arjf8hn4jd97";
-      name = "qtmacextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmultimedia-opensource-src-5.9.7.tar.xz";
-      sha256 = "060gic3gl27r7k4vw4n550384b4wadqfn3biajbq6lbyj3zhgxxx";
-      name = "qtmultimedia-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtnetworkauth-opensource-src-5.9.7.tar.xz";
-      sha256 = "14n8wzsyq7bw67r1k442widfvszawgi5sh0b10h2jcrp5aikqr0p";
-      name = "qtnetworkauth-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtpurchasing-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qvxsi0ar04qy0zajbhvwj5blldhfq2mn3laq15g0xxy1xh4m46i";
-      name = "qtpurchasing-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols-opensource-src-5.9.7.tar.xz";
-      sha256 = "1jkz2b2wzxzmskvwwb4afqxz0yp0siaf3yhj2i01y865sp6q1wz0";
-      name = "qtquickcontrols-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-      sha256 = "0w9rq77a8vc9avhbwbx7swg7zw7jn21wd7si59822rw9ln1p6zb0";
-      name = "qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtremoteobjects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1ninscf4jkframv585zzi76fml1lyz0mhb091r2r54lrf66wl3lw";
-      name = "qtremoteobjects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscript-opensource-src-5.9.7.tar.xz";
-      sha256 = "0mv33a1mjaahq7ixfasvjasc881bprfbkjhx8pn3z5f0l8213m67";
-      name = "qtscript-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscxml-opensource-src-5.9.7.tar.xz";
-      sha256 = "0xz2q2bl1n43gxx00nrzyc0bsnq4wch0k2rkj3prc9gsgmpq0bih";
-      name = "qtscxml-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsensors-opensource-src-5.9.7.tar.xz";
-      sha256 = "0pfh4lr9zxsh9winzx1lmcgl2hgp9lr45smcvslr4an93z6mbf8r";
-      name = "qtsensors-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialbus-opensource-src-5.9.7.tar.xz";
-      sha256 = "0n6z56axm0gbrxmnwbz8fv40ar9mw1rlfvmpqvpg5xb9031qil1b";
-      name = "qtserialbus-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialport-opensource-src-5.9.7.tar.xz";
-      sha256 = "05qy4m1p5j5bh6af7d97iblsmgy9kppm5wif3bl63p6yghn319sh";
-      name = "qtserialport-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtspeech-opensource-src-5.9.7.tar.xz";
-      sha256 = "0nnbqnh18vw26vphancs38vjr816xha8m6wl389kjqi01kjrcz70";
-      name = "qtspeech-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsvg-opensource-src-5.9.7.tar.xz";
-      sha256 = "0r2mqy6lb2ypmilf83zyp73v5d9ars314jfm6f0fv5if8yw253v2";
-      name = "qtsvg-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttools-opensource-src-5.9.7.tar.xz";
-      sha256 = "18b7jg25434p80yr929nfihk0i124bxpd2dv9mqdcicnv5q0ybnn";
-      name = "qttools-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttranslations-opensource-src-5.9.7.tar.xz";
-      sha256 = "051a3igp1qnd7d7bg2dvjaqwh6f67fvkn19jdfjzrdis7kcsfvdk";
-      name = "qttranslations-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qcj6ncg53rv4pg4ijdq7vbkzgzfr9bn40aif7g4dndykj0zwla7";
-      name = "qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwayland-opensource-src-5.9.7.tar.xz";
-      sha256 = "0y6ky1ipg42gq390ibgr4nns9i4j648yb7bkmx6b7lhsi7mvnp2n";
-      name = "qtwayland-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebchannel-opensource-src-5.9.7.tar.xz";
-      sha256 = "189qkfxixddfblwkaf46yrqjp91vhmw90gpafjryqfmd2141r8qj";
-      name = "qtwebchannel-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebengine-opensource-src-5.9.7.tar.xz";
-      sha256 = "0kzpgks5h19rm7gbhr688lr5f5d9ykf062kj91q7wf6fk7qd72v2";
-      name = "qtwebengine-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz";
-      sha256 = "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998";
-      name = "qtwebkit-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-      sha256 = "1l2l7ycgqql6rf4gx6sjhsqjapdhvy6vxaxssax3l938nkk4vkp4";
-      name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebsockets-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qqvd6qf7m2xq71mdaidwabj5c03cbbi1hwc7p95fvbnz9crz79x";
-      name = "qtwebsockets-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebview-opensource-src-5.9.7.tar.xz";
-      sha256 = "1zwqkmzik4f83hdffmw0hz90mzga34hkyz7d0skfbdp25y278r12";
-      name = "qtwebview-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwinextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1a57v7krglfdi4gizm402jn9pg7fqpcma7xk6sm68zg1siv11a6x";
-      name = "qtwinextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtx11extras-opensource-src-5.9.7.tar.xz";
-      sha256 = "02jdiw94dasnkszi5w1pysfgz8xrr71pzah37nbnqg0knn4dzich";
-      name = "qtx11extras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-      sha256 = "0j0rxkpyww5cgcjhy0332jsyka1d811wf6zmr16d5fdkbryp7d65";
-      name = "qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
index c3373983e32..7f6ddb76ad5 100644
--- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
@@ -1,6 +1,6 @@
 . @fix_qmake_libtool@
 
-qmakeFlags=( $qmakeFlags )
+qmakeFlags=( ${qmakeFlags-} )
 
 qmakePrePhase() {
     qmakeFlags=( \
@@ -31,6 +31,6 @@ qmakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseQmakeConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=qmakeConfigurePhase
 fi
diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
index 436c2e1d032..9f2a9f06f1a 100644
--- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
@@ -61,6 +61,6 @@ postPatchMkspecs() {
         fixQtBuiltinPaths "$dev/mkspecs" '*.pr?'
     fi
 }
-if [ -z "$dontPatchMkspecs" ]; then
-    postPhases="${postPhases}${postPhases:+ }postPatchMkspecs"
+if [ -z "${dontPatchMkspecs-}" ]; then
+    postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs"
 fi
diff --git a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
index d2aadbd956a..7356c8ee356 100644
--- a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
@@ -1,5 +1,5 @@
 # Inherit arguments given in mkDerivation
-qtWrapperArgs=( $qtWrapperArgs )
+qtWrapperArgs=( ${qtWrapperArgs-} )
 
 qtHostPathSeen=()
 
@@ -64,16 +64,16 @@ qtOwnPathsHook() {
 
 preFixupPhases+=" qtOwnPathsHook"
 
-# Note: $qtWrapperArgs still gets defined even if $dontWrapQtApps is set.
+# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set.
 wrapQtAppsHook() {
     # skip this hook when requested
-    [ -z "$dontWrapQtApps" ] || return 0
+    [ -z "${dontWrapQtApps-}" ] || return 0
 
     # guard against running multiple times (e.g. due to propagation)
     [ -z "$wrapQtAppsHookHasRun" ] || return 0
     wrapQtAppsHookHasRun=1
 
-    local targetDirs=( "$prefix/bin" "$prefix/libexec"  )
+    local targetDirs=( "$prefix/bin" "$prefix/sbin" "$prefix/libexec"  )
     echo "wrapping Qt applications in ${targetDirs[@]}"
 
     for targetDir in "${targetDirs[@]}"
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index d1ec209c95d..3dbdb2a9770 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
           # 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
+          darwin.libobjc libiconv MetalKit IOKit
         ]
       else
         [
diff --git a/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch b/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch
new file mode 100644
index 00000000000..30d93cd7bf8
--- /dev/null
+++ b/pkgs/development/libraries/qtkeychain/0002-Fix-install-name-Darwin.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -215,7 +215,6 @@
+     VERSION ${QTKEYCHAIN_VERSION}
+     SOVERSION ${QTKEYCHAIN_SOVERSION}
+     MACOSX_RPATH 1
+-    INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
+     INSTALL_RPATH_USE_LINK_PATH TRUE
+ )
+ 
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 3de84d85911..4951670f896 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
   };
 
-  patches = if withQt5 then null else [ ./0001-Fixes-build-with-Qt4.patch ];
+  patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []);
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
 
diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix
index 8ad908013bd..5f3f8c4a66a 100644
--- a/pkgs/development/libraries/qtpbfimageplugin/default.nix
+++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtpbfimageplugin";
-  version = "1.4";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "QtPBFImagePlugin";
     rev = version;
-    sha256 = "0d39i7rmhrmm2df49gd47zm37gnz3fmyr6hfc6hhzvk08jb6956r";
+    sha256 = "16qsax1p09gldbg83df77ixaz7bkxl8wm806lc55y19pwnid9m7p";
   };
 
   nativeBuildInputs = [ qmake ];
@@ -31,9 +31,9 @@ stdenv.mkDerivation rec {
       displaying raster MBTiles maps or raster XYZ online maps to also display PBF
       vector tiles without (almost) any application modifications.
     '';
-    homepage = https://github.com/tumic0/QtPBFImagePlugin;
+    homepage = "https://github.com/tumic0/QtPBFImagePlugin";
     license = licenses.lgpl3;
-    maintainers = [ maintainers.sikmir ];
+    maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/quesoglc/default.nix b/pkgs/development/libraries/quesoglc/default.nix
index 2e47a213565..fe24d0fcddf 100644
--- a/pkgs/development/libraries/quesoglc/default.nix
+++ b/pkgs/development/libraries/quesoglc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, freetype, fontconfig, fribidi, libX11 }:
+{ stdenv, fetchurl, libGLU, libGL, glew, freetype, fontconfig, fribidi, libX11 }:
 stdenv.mkDerivation rec {
   pname = "quesoglc";
   version = "0.7.2";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl";
   };
-  buildInputs = [ libGLU_combined glew freetype fontconfig fribidi libX11 ];
+  buildInputs = [ libGLU libGL glew freetype fontconfig fribidi libX11 ];
   # FIXME: Configure fails to use system glew.
   meta = with stdenv.lib; {
     description = "A free implementation of the OpenGL Character Renderer";
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
index fe48d99b383..487de0976bd 100644
--- a/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-c";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "alanxz";
     repo = "rabbitmq-c";
     rev = "v${version}";
-    sha256 = "1mhzxyh9pmpxjjbyy8hd34gm39sxf73r1ldk8zjfsfbs26ggrppz";
+    sha256 = "1iv7aww4pam8497s524xjxbbxypyqd01qgrb0b429y3q9x06m4sw";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix
new file mode 100644
index 00000000000..9e6cdfecb95
--- /dev/null
+++ b/pkgs/development/libraries/randomx/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "randomX";
+  version = "1.1.7";
+
+  nativeBuildInputs = [ cmake ];
+
+  src = fetchFromGitHub {
+    owner = "tevador";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Proof of work algorithm based on random code execution";
+    homepage = https://github.com/tevador/RandomX;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index f02093001e4..56c5754831e 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "range-v3";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "0qga2fnfrlrzrvnnk1z1plpmvcr8b4c75g5xz0jv0sav0kmq5zwn";
+    sha256 = "1h9h5j7pdi0afpip9ncq76h1xjhvb8bnm585q17afz2l4fydy8qj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index 670d2a832ee..cb1b176ce35 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "03h4yxnbnig17zapnnyvvnh1bsp0qalvlpb4fc3bpvs7yj4d8v25";
+    sha256 = "1arwpvva2b1m3yd618s59v38gwsi0nnm07g6yc9dapcgxrkg5n0h";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/rnnoise/default.nix b/pkgs/development/libraries/rnnoise/default.nix
new file mode 100644
index 00000000000..fe6b75446b2
--- /dev/null
+++ b/pkgs/development/libraries/rnnoise/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation (rec {
+  name = "rnnoise-${version}";
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner = "xiph";
+    repo = "rnnoise";
+    rev = "91ef401f4c3536c6de999ac609262691ec888c4c";
+    sha256 = "1h2ibg67gfcwnpvkq1rx0sngf9lk9j8pqsmsmmk5hclvrr2lp3yb";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    homepage = https://people.xiph.org/~jm/demo/rnnoise/;
+    description = "Recurrent neural network for audio noise reduction.";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.nh2 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 60b02a13cb7..3f3b50ea8fe 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -1,19 +1,31 @@
-{ stdenv, fetchFromGitHub, lib, bzip2, cmake, lz4, snappy, zlib, zstd, enableLite ? false }:
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, ninja
+, bzip2, lz4, snappy, zlib, zstd
+, enableLite ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.3.6";
+  version = "6.4.6";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i993z7xxsbs595y7wxfhgm69mg5893lfkpidcbaqnzj8j0kn0ab";
+    sha256 = "0s0n4p1b4jzmslz9d2xd4ajra0m6l9x26mjwlbgw0klxjggmy8qn";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   buildInputs = [ bzip2 lz4 snappy zlib zstd ];
 
+  patches = [
+    # https://github.com/facebook/rocksdb/pull/6076
+    (fetchpatch {
+      url = "https://github.com/facebook/rocksdb/commit/c0be4b2ff1a5393419673fab961cb9b09ba38752.diff";
+      sha256 = "1f2wg9kqlmf2hiiihmbp8m5fr2wnn7896g6i9yg9hdgi40pw30w6";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace CMakeLists.txt --replace "find_package(zlib " "find_package(ZLIB "
   '';
@@ -32,13 +44,18 @@ stdenv.mkDerivation rec {
     "-DWITH_ZLIB=1"
     "-DWITH_ZSTD=1"
     "-DWITH_GFLAGS=0"
-    (lib.optional
-        (stdenv.hostPlatform.system == "i686-linux"
-         || stdenv.hostPlatform.system == "x86_64-linux")
+    "-DUSE_RTTI=1"
+    "-DROCKSDB_INSTALL_ON_WINDOWS=YES" # harmless elsewhere
+    (stdenv.lib.optional
+        (stdenv.hostPlatform.isx86 && stdenv.hostPlatform.isLinux)
         "-DFORCE_SSE42=1")
-    (lib.optional enableLite "-DROCKSDB_LITE=1")
+    (stdenv.lib.optional enableLite "-DROCKSDB_LITE=1")
+    "-DFAIL_ON_WARNINGS=${if stdenv.hostPlatform.isMinGW then "NO" else "YES"}"
   ];
 
+  # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
+  hardeningDisable = stdenv.lib.optional stdenv.hostPlatform.isWindows "format";
+
   meta = with stdenv.lib; {
     homepage = https://rocksdb.org;
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index 25126edbc0f..f78ed0f7925 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -4,10 +4,7 @@ stdenv.mkDerivation {
   name = "schroedinger-1.0.11";
 
   src = fetchurl {
-    urls = [
-      http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
-      https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
-    ];
+    url = https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz;
     sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
@@ -27,7 +24,8 @@ stdenv.mkDerivation {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://diracvideo.org/;
+    description = "An implementation of the Dirac video codec in ANSI C";
+    homepage = "https://sourceforge.net/projects/schrodinger/";
     maintainers = [ maintainers.spwhitt ];
     license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix
index 9105b1c52ac..4cfc07c1cba 100644
--- a/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/pkgs/development/libraries/science/biology/elastix/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, cmake, itk, python }:
+{ stdenv, fetchFromGitHub, cmake, itk, python }:
 
 stdenv.mkDerivation rec {
   pname    = "elastix";
-  pversion = "4.9.0";
-  name  = "${pname}-${pversion}";
+  version = "5.0.0";
 
-  src = fetchurl {
-    url    = "https://github.com/SuperElastix/${pname}/archive/${pversion}.tar.gz";
-    sha256 = "02pbln36nq98xxfyqwlxg7b6gmigdq4fgfqr9mym1qn58aj04shg";
+  src = fetchFromGitHub {
+    owner  = "SuperElastix";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1zrl7rz4lwsx88b2shnl985f3a97lmp4ksbd437h9y0hfjq8l0lj";
   };
-
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ itk ];
 
@@ -19,6 +19,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.linux;
     license = licenses.asl20;
-    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/science/biology/nifticlib/default.nix b/pkgs/development/libraries/science/biology/nifticlib/default.nix
index 51eed36312d..8c7da7968f5 100644
--- a/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/pkgs/development/libraries/science/biology/nifticlib/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/niftilib;
     description = "Medical imaging format C API";
     maintainers = with maintainers; [ bcdarwin ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/libraries/science/math/QuadProgpp/default.nix b/pkgs/development/libraries/science/math/QuadProgpp/default.nix
index d4333146406..69ccbfc26b4 100644
--- a/pkgs/development/libraries/science/math/QuadProgpp/default.nix
+++ b/pkgs/development/libraries/science/math/QuadProgpp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       A C++ library for Quadratic Programming which implements the
       Goldfarb-Idnani active-set dual method.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/science/math/brial/default.nix b/pkgs/development/libraries/science/math/brial/default.nix
index f08f6425655..56a78b00cd6 100644
--- a/pkgs/development/libraries/science/math/brial/default.nix
+++ b/pkgs/development/libraries/science/math/brial/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "brial";
 
   src = fetchFromGitHub {
     owner = "BRiAl";
     repo = "BRiAl";
     rev = version;
-    sha256 = "1nv56fp3brpzanxj7vwvxqdafqfsfhdgq5imr3m94psw5gdfqwja";
+    sha256 = "1mc1zjr3mxcx6bg0js5k9jx65japg7644b0aj1al75m4nwh2ygab";
   };
 
   # FIXME package boost-test and enable checks
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
index 26ec1237601..a5c373ecde9 100644
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/pkgs/development/libraries/science/math/caffe2/default.nix
@@ -57,7 +57,7 @@ let
     dst = "pybind11";
   };
 
-  ccVersion = (builtins.parseDrvName stdenv.cc.name).version;
+  ccVersion = lib.getVersion stdenv.cc;
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index a33e3ec2009..8cd74939959 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -65,5 +65,12 @@ in rec {
     sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
   };
 
-  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_0;
+  cudnn_cudatoolkit_10_1 = generic rec {
+    version = "7.6.3";
+    cudatoolkit = cudatoolkit_10_1;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.3.30.tgz";
+    sha256 = "0qc9f1xpyfibwqrpqxxq2v9h6w90j0dbx564akwy44c1dls5f99m";
+  };
+
+  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_1;
 }
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index 076376dc3c1..a7d01e22d96 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,6 +1,6 @@
 {
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
   gfortran,
   cmake,
   python2,
@@ -8,19 +8,22 @@
 }:
 let
   inherit (stdenv.lib) optional;
-  version = "3.8.0";
+  version = "3.9.0";
 in
 
 stdenv.mkDerivation {
   pname = "liblapack";
   inherit version;
-  src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tar.gz";
-    sha256 = "1xmwi2mqmipvg950gb0rhgprcps8gy8sjm8ic9rgy2qjlv22rcny";
+
+  src = fetchFromGitHub {
+    owner = "Reference-LAPACK";
+    repo = "lapack";
+    rev = "v${version}";
+    sha256 = "0sxnc97z67i7phdmcnq8f8lmxgw10wdwvr8ami0w3pb179cgrbpb";
   };
 
-  buildInputs = [ gfortran cmake ];
-  nativeBuildInputs = [ python2 ];
+  buildInputs = [ gfortran ];
+  nativeBuildInputs = [ python2 cmake ];
 
   cmakeFlags = [
     "-DCMAKE_Fortran_FLAGS=-fPIC"
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix
index c1a5ea2969e..382d2c303e3 100644
--- a/pkgs/development/libraries/science/math/mkl/default.nix
+++ b/pkgs/development/libraries/science/math/mkl/default.nix
@@ -46,6 +46,7 @@ in stdenvNoCC.mkDerivation {
       tar xzvf $f
     done
   '' else ''
+    rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm
     rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm
     rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm
     rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm
diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix
index 224f4239a22..15aea5803bf 100644
--- a/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     description = ''
       Google's software suite for combinatorial optimization.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 14277c8c631..bff0d9a85fa 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchurl, cmake, openssh
+{ stdenv, fetchFromGitHub, cmake, openssh
 , gfortran, mpi, openblasCompat
 } :
 
 
 stdenv.mkDerivation rec {
   pname = "scalapack";
-  version = "2.0.2";
+  version = "2.1";
 
-  src = fetchurl {
-    url = "http://www.netlib.org/scalapack/scalapack-${version}.tgz";
-    sha256 = "0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c";
+  src = fetchFromGitHub {
+    owner = "Reference-ScaLAPACK";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "042q9kc383h7y0had9a37702z4s0szavss063ljvfdsbjy07gzb1";
   };
 
-  # patch to rename outdated MPI functions
-  patches = [ ./openmpi4.patch ];
-
   nativeBuildInputs = [ cmake openssh ];
   buildInputs = [ mpi gfortran openblasCompat ];
 
diff --git a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch b/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
deleted file mode 100644
index 5d0afb58c02..00000000000
--- a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c
-index e979767..d4b04cf 100644
---- a/BLACS/SRC/blacs_get_.c
-+++ b/BLACS/SRC/blacs_get_.c
-@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val)
-    case SGET_MSGIDS:
-       if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]);
-       iptr = &val[1];
--      ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
-+      ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
-       val[0] = 0;
-       val[1] = *iptr;
-       break;
-diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c
-index 2db6ccb..6958f32 100644
---- a/BLACS/SRC/cgamn2d_.c
-+++ b/BLACS/SRC/cgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c
-index 707c0b6..f802d01 100644
---- a/BLACS/SRC/cgamx2d_.c
-+++ b/BLACS/SRC/cgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c
-index dff23b4..a2627ac 100644
---- a/BLACS/SRC/dgamn2d_.c
-+++ b/BLACS/SRC/dgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c
-index a51f731..2a644d0 100644
---- a/BLACS/SRC/dgamx2d_.c
-+++ b/BLACS/SRC/dgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c
-index 16bc003..f6a7859 100644
---- a/BLACS/SRC/igamn2d_.c
-+++ b/BLACS/SRC/igamn2d_.c
-@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c
-index 8165cbe..a7cfcc6 100644
---- a/BLACS/SRC/igamx2d_.c
-+++ b/BLACS/SRC/igamx2d_.c
-@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c
-index d6c95e5..569c797 100644
---- a/BLACS/SRC/sgamn2d_.c
-+++ b/BLACS/SRC/sgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c
-index 4b0af6f..8897ece 100644
---- a/BLACS/SRC/sgamx2d_.c
-+++ b/BLACS/SRC/sgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c
-index 9de2b23..37897df 100644
---- a/BLACS/SRC/zgamn2d_.c
-+++ b/BLACS/SRC/zgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c
-index 414c381..0e9d474 100644
---- a/BLACS/SRC/zgamx2d_.c
-+++ b/BLACS/SRC/zgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
diff --git a/pkgs/development/libraries/sentencepiece/default.nix b/pkgs/development/libraries/sentencepiece/default.nix
new file mode 100644
index 00000000000..556f77ef8b5
--- /dev/null
+++ b/pkgs/development/libraries/sentencepiece/default.nix
@@ -0,0 +1,31 @@
+{ config
+, fetchFromGitHub
+, stdenv
+, lib
+, cmake
+, gperftools
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sentencepiece";
+  version = "0.1.84";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "144y25nj4rwxmgvzqbr7al9fjwh3539ssjswvzrx4gsgfk62lsm0";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake gperftools ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/google/sentencepiece;
+    description = "Unsupervised text tokenizer for Neural Network-based text generation";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index 14af55c2afc..6b1c4ca97ba 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freetype, cmake, python }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.6";
+  version = "1.3.13";
   pname = "graphite2";
 
   src = fetchurl {
     url = "https://github.com/silnrsi/graphite/releases/download/"
-      + "${version}/graphite-${version}.tgz";
-    sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
+      + "${version}/graphite2-${version}.tgz";
+    sha256 = "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 471bcb22234..bdd8dd9d999 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, plib, freeglut, xorgproto, libX11, libXext, libXi
-, libICE, libSM, libXt, libXmu, libGLU_combined, boost, zlib, libjpeg, freealut
+, libICE, libSM, libXt, libXmu, libGLU, libGL, boost, zlib, libjpeg, freealut
 , openscenegraph, openal, expat, cmake, apr
 , curl
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ plib freeglut xorgproto libX11 libXext libXi
-                  libICE libSM libXt libXmu libGLU_combined boost zlib libjpeg freealut
+                  libICE libSM libXt libXmu libGLU libGL boost zlib libjpeg freealut
                   openscenegraph openal expat apr curl ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index 2afd7650618..cbb6a4b64f1 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "v${version}";
-    sha256 = "0nmsq0qx4jmrrhrc6bfm11wwvyszvfgl45xizw69yra3cv9pgmm6";
+    sha256 = "0dvf2407z9n6lczm0l5vzcvpw6r6z1wzrs2gk3dqjrgynq6952qr";
   };
 
   nativeBuildInputs = [ cmake git swig ];
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index f868f6bd494..d1cafbce117 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "A multi-platform programmer's library designed to allow a developer to create robust software";
     homepage = http://www.jedsoft.org/slang/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/smarty3/default.nix b/pkgs/development/libraries/smarty3/default.nix
index 4876c39ce83..b3214cc01df 100644
--- a/pkgs/development/libraries/smarty3/default.nix
+++ b/pkgs/development/libraries/smarty3/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
   pname = "smarty3";
-  version = "3.1.33";
+  version = "3.1.34";
 
   src = fetchFromGitHub {
     owner = "smarty-php";
     repo = "smarty";
     rev = "v${version}";
-    sha256 = "12kll8nv4b90nlx3y0213lsncqw2ydshjx4g6dv7jah6j1pv29ix";
+    sha256 = "0a44p71aqyifm7qkp892aczb0bn6a9fv4657dsscxszvdm25a92x";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index e2866788302..a7ffc146f41 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU_combined, makeWrapper }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU, libGL, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL gtk2 libGLU_combined ];
+  buildInputs = [ SDL gtk2 libGLU libGL ];
 
   nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index 80c3630af29..f35f5bfc55a 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = https://google.github.io/snappy/;
     license = licenses.bsd3;
     description = "Compression/decompression library for very high speeds";
-    platforms = platforms.unix;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/sonic/default.nix b/pkgs/development/libraries/sonic/default.nix
index 4a744c08ae3..3e93302f3d7 100644
--- a/pkgs/development/libraries/sonic/default.nix
+++ b/pkgs/development/libraries/sonic/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, fftw }:
 
 stdenv.mkDerivation {
   pname = "sonic";
-  version = "2016-03-01";
+  version = "2018-07-06";
 
   src = fetchFromGitHub {
     owner = "waywardgeek";
     repo = "sonic";
-    rev = "71bdf26c55716a45af50c667c0335a9519e952dd";
-    sha256 = "1kcl8fdf92kafmfhvyjal5gvkn99brkjyzbi9gw3rd5b30m3xz2b";
+    rev = "71c51195de71627d7443d05378c680ba756545e8";
+    sha256 = "1z9qdk3pk507hdg39v2z1hanlw2wv7mhn8br4cb8qry9z9qwi87i";
   };
 
   postPatch = ''
     sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile
   '';
 
+  buildInputs = [ fftw ];
+
   meta = with stdenv.lib; {
     description = "Simple library to speed up or slow down speech";
     homepage = https://github.com/waywardgeek/sonic;
diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix
index 11ba48c5971..4afb310d49a 100644
--- a/pkgs/development/libraries/soxt/default.nix
+++ b/pkgs/development/libraries/soxt/default.nix
@@ -1,4 +1,4 @@
-{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU_combined }:
+{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "soxt";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ coin3d motif xlibsWrapper libGLU_combined libXmu ];
+  buildInputs = [ coin3d motif xlibsWrapper libGLU libGL libXmu ];
 
   meta = with stdenv.lib; {
     homepage = https://bitbucket.org/Coin3D/coin/wiki/Home;
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index ba1d3e992d6..95827ba364a 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [audiofile libtiff];
   meta = {
+    description = "A portable and modular SIP User-Agent with audio and video support";
     homepage = http://www.creytiv.com/baresip.html;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index 57c3ae40fd9..3e4d64c47ad 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (rec {
     homepage = http://cmusphinx.sourceforge.net;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 } // (stdenv.lib.optionalAttrs multipleOutputs {
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 4bc066df32e..d19ecf34ab9 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -2,24 +2,22 @@
 , cmake
 , fetchurl
 , python
-, liblapack
+, openblas
 , gfortran
 , lapackSupport ? true }:
 
-let liblapackShared = liblapack.override {
-  shared = true;
-};
+let openblas32 = openblas.override { blas64 = false; };
 
 in stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "4.1.0";
+  version = "5.0.0";
 
-  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
+  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran openblas32 ];
   nativeBuildInputs = [ cmake ];
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398";
+    sha256 = "1lvx5pddjxgyr8kqlira36kxckz7nxwc8xilzfyx0hf607n42l9l";
   };
 
   patches = [
@@ -33,8 +31,6 @@ in stdenv.mkDerivation rec {
       url = "https://github.com/LLNL/sundials/pull/20/commits/2d951bbe1ff7842fcd0dafa28c61b0aa94015f66.patch";
       sha256 = "0lcr6m4lk14yqrxah4rdscpczny5l7m1zpfsjh8bgspadfsgk512";
     })
-    # https://github.com/LLNL/sundials/pull/21
-    ./tests-parallel.patch
   ];
 
   cmakeFlags = [
@@ -42,7 +38,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optionals (lapackSupport) [
     "-DSUNDIALS_INDEX_TYPE=int32_t"
     "-DLAPACK_ENABLE=ON"
-    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
+    "-DLAPACK_LIBRARIES=${openblas32}/lib/libopenblas${stdenv.hostPlatform.extensions.sharedLibrary}"
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/sundials/tests-parallel.patch b/pkgs/development/libraries/sundials/tests-parallel.patch
deleted file mode 100644
index a785a1dade9..00000000000
--- a/pkgs/development/libraries/sundials/tests-parallel.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/config/SundialsAddTest.cmake b/config/SundialsAddTest.cmake
-index e965fed..a7fb1d2 100644
---- a/config/SundialsAddTest.cmake
-+++ b/config/SundialsAddTest.cmake
-@@ -70,7 +70,7 @@ MACRO(SUNDIALS_ADD_TEST NAME EXECUTABLE)
-         "--verbose"
-         "--testname=${NAME}"
-         "--executablename=$<TARGET_FILE:${EXECUTABLE}>"
--        "--outputdir=${CMAKE_BINARY_DIR}/Testing/output"
-+        "--outputdir=${TEST_OUTPUT_DIR}"
-         )
- 
-       # do not diff the output and answer files
-diff --git a/config/SundialsTesting.cmake b/config/SundialsTesting.cmake
-index 815576a..d91801a 100644
---- a/config/SundialsTesting.cmake
-+++ b/config/SundialsTesting.cmake
-@@ -29,6 +29,13 @@ IF(SUNDIALS_DEVTESTS)
-     ENDIF()
-   ENDIF()
- 
-+  # Directory for test output
-+  SET(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Testing/output)
-+
-+  IF(NOT EXISTS ${TEST_OUTPUT_DIR})
-+    FILE(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
-+  ENDIF()
-+
-   # look for the testRunner script in the test directory
-   FIND_PROGRAM(TESTRUNNER testRunner PATHS test)
-   HIDE_VARIABLE(TESTRUNNER)
-diff --git a/test/testRunner b/test/testRunner
-index f450ec2..f1c8deb 100755
---- a/test/testRunner
-+++ b/test/testRunner
-@@ -106,7 +106,8 @@ def main():
- 
-     # create output directory if necessary
-     if not os.path.exists(outDir):
--        os.makedirs(outDir)
-+        error("Output directory does not exist, it must be created.", outDir)
-+        sys.exit(1)
-     elif not os.path.isdir(outDir):
-         error("Output directory exists but is not a directory, it must be deleted.", outDir)
-         sys.exit(1)
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
index 40e137204e2..b1add708902 100644
--- a/pkgs/development/libraries/tcllib/default.nix
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcllib";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "173abxaazdmf210v651708ab6h7xhskvd52krxk6ifam337qgzh1";
+    sha256 = "0wax281h6ksz974a5qpfgf9y34lmlpd8i87lkm1w94ybbd3rgc73";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index 4df80140aa5..9e90e3d3be4 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tdb-1.3.16";
+  name = "tdb-1.3.18";
 
   src = fetchurl {
     url = "mirror://samba/tdb/${name}.tar.gz";
-    sha256 = "1ibcz466xwk1x6xvzlgzd5va4lyrjzm3rnjak29kkwk7cmhw4gva";
+    sha256 = "1drnsdh1w0px35r0y7l7g59yvyr67mvcsdrli4wab0mwi07b8mn1";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
index 0ca382baeca..997b874ac5b 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , amtk, gnome3, gtk3, gtksourceview4, libuchardet, libxml2, pkgconfig }:
 let
-  version = "4.2.0";
+  version = "4.3.1";
   pname = "tepl";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1kcwcr72dv3xwi2ni579c9raa0cnbazfnmy6mgapzn6dir1d8fc8";
+    sha256 = "08y6vss29b65pqzv708cyqmbszgxsqqgw7g0vh6f1389ayi2lvs0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tiledb/default.nix b/pkgs/development/libraries/tiledb/default.nix
new file mode 100644
index 00000000000..605307e080e
--- /dev/null
+++ b/pkgs/development/libraries/tiledb/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, zlib
+, lz4
+, bzip2
+, zstd
+, spdlog_0
+, tbb
+, openssl
+, boost
+, libpqxx
+, clang-tools
+, catch2
+, python
+, gtest
+, doxygen
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tiledb";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB";
+    rev = version;
+    sha256 = "07wh9q72vsaf5j2m2c6cfmllwhr3m9f8xzg8h0i6mhd7d0wr4lna";
+  };
+
+  nativeBuildInputs = [
+    clang-tools
+    cmake
+    python
+    doxygen
+  ];
+
+  checkInputs = [
+    gtest
+  ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    catch2
+    zlib
+    lz4
+    bzip2
+    zstd
+    spdlog_0
+    tbb
+    openssl
+    boost
+    libpqxx
+  ];
+
+  # emulate the process of pulling catch down
+  postPatch = ''
+    mkdir -p build/externals/src/ep_catch
+    ln -sf ${catch2}/include/catch2 build/externals/src/ep_catch/single_include
+  '';
+
+  doCheck = false; # 9 failing tests due to what seems an overflow
+
+  installTargets = [ "install-tiledb" "doc" ];
+
+  meta = with lib; {
+    description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data";
+    homepage = https://github.com/TileDB-Inc/TileDB;
+    license = licenses.mit;
+    platforms = [ "x86_64-linux"];
+    maintainers = with maintainers; [ rakesh4g ];
+  };
+
+}
diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix
index 0bff95f02a7..3ad33615b3e 100644
--- a/pkgs/development/libraries/tpm2-tss/default.nix
+++ b/pkgs/development/libraries/tpm2-tss/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tss";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1ryy6da3s91ks3m66y3xp6yh3v096kny0f9br74mxf2635n5g5kh";
+    sha256 = "19jg09sxy3aj4dc1yv32jjv0m62cnmhjlw02jbh4d4pk2439m4l2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tre/default.nix b/pkgs/development/libraries/tre/default.nix
index 901b6aa097f..d5ed35694c5 100644
--- a/pkgs/development/libraries/tre/default.nix
+++ b/pkgs/development/libraries/tre/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
+    description = "Lightweight and robust POSIX compliant regexp matching library";
+    homepage = "https://laurikari.net/tre/";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.bsd2;
   };
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index c1810443bdb..78f85afca91 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, libmysqlclient, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf }:
+{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf, libiconv, fetchFromGitHub }:
 
 # I haven't done any parameter tweaking.. So the defaults provided here might be bad
 
@@ -29,35 +29,42 @@
 
   mariadb = stdenv.mkDerivation rec {
     pname = "mariadb-connector-odbc";
-    version = "3.1.2";
-
-    src = fetchurl {
-      url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/${pname}-${version}-ga-src.tar.gz";
-      sha256 = "0iibly2mbqijqyq4pzpb6dh40clqhvqrhgnj8knm4bw3nlksd0d5";
+    version = "3.1.4";
+
+    src = fetchFromGitHub {
+      owner = "MariaDB";
+      repo = "mariadb-connector-odbc";
+      rev = version;
+      sha256 = "1kbz5mng9vx89cw2sx7gsvhbv4h86zwp31fr0hxqing3cwxhkfgw";
+      # this driver only seems to build correctly when built against the mariadb-connect-c subrepo
+      # (see https://github.com/NixOS/nixpkgs/issues/73258)
+      fetchSubmodules = true;
     };
 
     nativeBuildInputs = [ cmake ];
-    buildInputs = [ unixODBC libmysqlclient openssl ];
+    buildInputs = [ unixODBC openssl libiconv ];
+
+    preConfigure = ''
+      # we don't want to build a .pkg
+      sed -i 's/ADD_SUBDIRECTORY(osxinstall)//g' CMakeLists.txt
+    '';
 
     cmakeFlags = [
       "-DWITH_OPENSSL=ON"
-    ];
-
-   NIX_CFLAGS_COMPILE = [
-     "-I${libmysqlclient}/include/mysql"
-     "-L${libmysqlclient}/lib/mysql"
+      # on darwin this defaults to ON but we want to build against unixODBC
+      "-DWITH_IODBC=OFF"
     ];
 
     passthru = {
       fancyName = "MariaDB";
-      driver = "lib/libmaodbc.so";
+      driver = if stdenv.isDarwin then "lib/libmaodbc.dylib" else "lib/libmaodbc.so";
     };
 
     meta = with stdenv.lib; {
       description = "MariaDB ODBC database driver";
       homepage =  https://downloads.mariadb.org/connector-odbc/;
       license = licenses.gpl2;
-      platforms = platforms.linux;
+      platforms = platforms.linux ++ platforms.darwin;
     };
   };
 
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index 722079ff347..1775d5fffc5 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -5,16 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-vaapi-driver";
-  # TODO: go back to stable releases with the next stable release after 2.3.0.
-  #       see: https://github.com/NixOS/nixpkgs/issues/55975 (and the libva comment v)
-  rev = "329975c63123610fc750241654a3bd18add75beb"; # generally try to match libva version, but not required
-  version = "git-20190211";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "intel-vaapi-driver";
-    rev    = rev;
-    sha256 = "10333wh2d0hvz5lxl3gjvqs71s7v9ajb0269b3bj5kbflj03v3n5";
+    rev    = version;
+    sha256 = "019w0hvjc9l85yqhy01z2bvvljq208nkb43ai2v377l02krgcrbl";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index e3fd7ad57e0..94f96b867d5 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU_combined, libva, pkgconfig }:
+{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU, libGL, libva, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "libva-vdpau-driver";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libvdpau libGLU_combined libva ];
+  buildInputs = [ libvdpau libGLU libGL libva ];
 
   postPatch = ''
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix
index 0ae5ba147cb..688dc8d451e 100644
--- a/pkgs/development/libraries/vrpn/default.nix
+++ b/pkgs/development/libraries/vrpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, unzip, cmake, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${date}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "032q295d68w34rk5q8nfqdd29s55n00bfik84y7xzkjrpspaprlh";
   };
 
-  buildInputs = [ unzip cmake libGLU_combined ];
+  buildInputs = [ unzip cmake libGLU libGL ];
 
   doCheck = false; # FIXME: test failure
   checkTarget = "test";
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index 3cb8998485a..482d691fc7c 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, libGLU_combined, libX11, xorgproto, libXt, libtiff
+{ stdenv, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libtiff
 , qtLib ? null
 # Darwin support
 , Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libtiff ]
     ++ optional (qtLib != null) qtLib
-    ++ optionals stdenv.isLinux [ libGLU_combined libX11 xorgproto libXt ]
+    ++ optionals stdenv.isLinux [ libGLU libGL libX11 xorgproto libXt ]
     ++ optionals stdenv.isDarwin [ xpc Cocoa CoreServices DiskArbitration IOKit
                                    CFNetwork Security ApplicationServices CoreText
                                    IOSurface ImageIO OpenGL GLUT ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   # built and requiring one of the shared objects.
   # At least, we use -fPIC for other packages to be able to use this in shared
   # objects.
-  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" ]
+  cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" "-DOPENGL_INCLUDE_DIR=${libGL}/include" ]
     ++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ]
     ++ optional stdenv.isDarwin "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks";
 
diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
deleted file mode 100644
index 060109072b4..00000000000
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobject-introspection
-, gtk2, gtk3, wayland, libwebp, enchant, sqlite
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg
-, gst-plugins-base, libobjc
-, withGtk2 ? false
-, enableIntrospection ? !stdenv.isDarwin
-, enableCredentialStorage ? !stdenv.isDarwin
-, readline, libedit
-}:
-
-assert stdenv.isDarwin -> !enableIntrospection;
-assert stdenv.isDarwin -> !enableCredentialStorage;
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  pname = "webkitgtk";
-  version = "2.4.11";
-
-  meta = with stdenv.lib; {
-    description = "Web content rendering engine, GTK port";
-    homepage = http://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = [];
-    knownVulnerabilities = [
-      "WSA-2016-0004"
-      "WSA-2016-0005"
-      "WSA-2016-0006"
-      "WSA-2017-0001"
-      "WSA-2017-0002"
-    ];
-  };
-
-  src = fetchurl {
-    url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1xsvnvyvlywwyf6m9ainpsg87jkxjmd37q6zgz9cxb7v3c2ym2jq";
-  };
-
-  CC = "cc";
-
-  prePatch = ''
-    patchShebangs Tools/gtk
-  '';
-  patches = [
-    ./webcore-svg-libxml-cflags.patch
-    (fetchpatch {
-      url = https://raw.githubusercontent.com/gentoo/gentoo/7c5457e265bd40c156a8fe6b2ff94a4e34bcea8e/net-libs/webkit-gtk/files/webkit-gtk-2.4.9-gcc-6.patch;
-      sha256 = "0ll93dr5vxd40wvly1jaw41lvw86krac0jc6k6cacrps4i5ql5j0";
-    })
-  ] ++ optionals stdenv.isDarwin [
-    ./configure.patch
-    ./quartz-webcore.patch
-    ./libc++.patch
-    ./plugin-none.patch
-  ] ++ optionals stdenv.hostPlatform.isMusl [
-    ./fix-execinfo.patch
-  ];
-
-  configureFlags = with stdenv.lib; [
-    "--disable-geolocation"
-    "--disable-jit"
-    # needed for parallel building
-    "--enable-dependency-tracking"
-    (optionalString enableIntrospection "--enable-introspection")
-  ] ++ optional withGtk2 [
-    "--with-gtk=2.0"
-  ] ++ optionals (withGtk2 || stdenv.isDarwin) [
-    "--disable-webkit2"
-  ] ++ optionals stdenv.isDarwin [
-    "--disable-x11-target"
-    "--enable-quartz-target"
-    "--disable-web-audio"
-    "CFLAGS=-DJSC_OBJC_API_ENABLED=0"
-    "CXXFLAGS=-DJSC_OBJC_API_ENABLED=0"
-  ] ++ optionals (!enableCredentialStorage) [
-    "--disable-credential-storage"
-  ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-DU_NOEXCEPT="
-    "-Wno-expansion-to-defined"
-  ];
-
-  dontAddDisableDepTrack = true;
-
-  nativeBuildInputs = [
-    perl python ruby bison gperf flex
-    pkgconfig which gettext gobject-introspection
-  ];
-
-  buildInputs = [
-    gtk2 libwebp enchant
-    libxml2 libxslt
-    gst-plugins-base sqlite xorg.libXt xorg.libXdamage
-  ] ++ optionals enableCredentialStorage [
-    libsecret
-  ] ++ (if stdenv.isDarwin then [
-    readline libedit libobjc
-  ] else [
-    wayland
-  ]);
-
-  propagatedBuildInputs = [
-    libsoup harfbuzz/*icu in *.la*/
-    (if withGtk2 then gtk2 else gtk3)
-  ];
-
-  enableParallelBuilding = true;
-
-}
diff --git a/pkgs/development/libraries/webkitgtk/configure.patch b/pkgs/development/libraries/webkitgtk/configure.patch
deleted file mode 100644
index 2f4c1e7ad31..00000000000
--- a/pkgs/development/libraries/webkitgtk/configure.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.11-orig/configure	2016-04-10 17:00:06.000000000 +0800
-+++ webkitgtk-2.4.11/configure	2016-07-21 23:04:10.000000000 +0800
-@@ -17738,7 +17738,7 @@
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_WEBP_DECODE_H 1
- _ACEOF
-- WEBP_LIBS='-lwebp'
-+ WEBP_LIBS=`$PKG_CONFIG --libs libwebp`
- else
-   as_fn_error $? "WebP library (libwebp) not found" "$LINENO" 5
- fi
-@@ -18388,7 +18388,7 @@
- case "$host" in
-     *-*-darwin*)
-         UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu"
--        UNICODE_LIBS="-licucore"
-+        UNICODE_LIBS="/usr/lib/libicucore.dylib"
-         ;;
-     *-*-mingw*)
- 
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 7d48b68d14c..d1e171566ee 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,12 +1,56 @@
-{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja
-, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt
-, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGLU_combined, libintl, openjpeg
-, enableGeoLocation ? true, geoclue2, sqlite
-, enableGtk2Plugins ? false, gtk2 ? null
-, gst-plugins-base, gst-plugins-bad, woff2
-, bubblewrap, libseccomp, xdg-dbus-proxy, substituteAll
+{ stdenv
+, fetchurl
+, perl
+, python3
+, ruby
+, bison
+, gperf
+, cmake
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, libnotify
+, gnutls
+, libgcrypt
+, gtk3
+, wayland
+, libwebp
+, enchant2
+, xorg
+, libxkbcommon
+, epoxy
+, at-spi2-core
+, libxml2
+, libsoup
+, libsecret
+, libxslt
+, harfbuzz
+, libpthreadstubs
+, pcre
+, nettle
+, libtasn1
+, p11-kit
+, libidn
+, libedit
+, readline
+, libGL
+, libGLU
+, libintl
+, openjpeg
+, enableGeoLocation ? true
+, geoclue2
+, sqlite
+, enableGtk2Plugins ? false
+, gtk2 ? null
+, gst-plugins-base
+, gst-plugins-bad
+, woff2
+, bubblewrap
+, libseccomp
+, xdg-dbus-proxy
+, substituteAll
+, gnome3
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
@@ -14,22 +58,16 @@ assert enableGtk2Plugins -> gtk2 != null;
 assert stdenv.isDarwin -> !enableGtk2Plugins;
 
 with stdenv.lib;
+
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.26.1";
+  version = "2.26.2";
 
-  meta = {
-    description = "Web content rendering engine, GTK port";
-    homepage = https://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = platforms.linux;
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0mfikjfjhwcnrxbzdyh3fl9bbs2azgbdnx8h5910h41b3n022jvb";
+    sha256 = "04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b";
   };
 
   patches = optionals stdenv.isLinux [
@@ -37,55 +75,100 @@ stdenv.mkDerivation rec {
       src = ./fix-bubblewrap-paths.patch;
       inherit (builtins) storeDir;
     })
-  ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  cmakeFlags = [
-  "-DPORT=GTK"
-  "-DUSE_LIBHYPHEN=OFF"
-  "-DENABLE_INTROSPECTION=ON"
-  "-DUSE_WPE_RENDERER=OFF"
-  ]
-  ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-  ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
-  ++ optionals stdenv.isDarwin [
-  "-DUSE_SYSTEM_MALLOC=ON"
-  "-DUSE_ACCELERATE=0"
-  "-DENABLE_MINIBROWSER=OFF"
-  "-DENABLE_VIDEO=ON"
-  "-DENABLE_QUARTZ_TARGET=ON"
-  "-DENABLE_X11_TARGET=OFF"
-  "-DENABLE_OPENGL=OFF"
-  "-DENABLE_WEB_AUDIO=OFF"
-  "-DENABLE_WEBGL=OFF"
-  "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
-  "-DENABLE_GTKDOC=OFF"
+    ./libglvnd-headers.patch
   ];
 
   nativeBuildInputs = [
-    cmake ninja perl python2 ruby bison gperf
-    pkgconfig gettext gobject-introspection
+    bison
+    cmake
+    gettext
+    gobject-introspection
+    gperf
+    ninja
+    perl
+    pkgconfig
+    python3
+    ruby
   ];
 
   buildInputs = [
-    libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit openjpeg
-    sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
+    at-spi2-core
+    enchant2
+    epoxy
+    gnutls
+    gst-plugins-bad
+    gst-plugins-base
+    harfbuzz
+    libGL
+    libGLU
+    libgcrypt
+    libidn
+    libintl
+    libnotify
+    libpthreadstubs
+    libsecret
+    libtasn1
+    libwebp
+    libxkbcommon
+    libxml2
+    libxslt
+    nettle
+    openjpeg
+    p11-kit
+    pcre
+    sqlite
+    woff2
+  ] ++ (with xorg; [
+    libXdamage
+    libXdmcp
+    libXt
+    libXtst
+  ]) ++ optionals stdenv.isDarwin [
+    libedit
+    readline
+  ] ++ optionals stdenv.isLinux [
+    bubblewrap
+    libseccomp
+    wayland
+    xdg-dbus-proxy
   ] ++ optional enableGeoLocation geoclue2
-    ++ optional enableGtk2Plugins gtk2
-    ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
-    ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
-    ++ optionals stdenv.isLinux [
-      wayland bubblewrap libseccomp xdg-dbus-proxy
-  ];
+    ++ optional enableGtk2Plugins gtk2;
 
   propagatedBuildInputs = [
-    libsoup gtk3
+    gtk3
+    libsoup
   ];
 
-  outputs = [ "out" "dev" ];
+  cmakeFlags = [
+    "-DENABLE_INTROSPECTION=ON"
+    "-DPORT=GTK"
+    "-DUSE_LIBHYPHEN=OFF"
+    "-DUSE_WPE_RENDERER=OFF"
+  ] ++ optionals stdenv.isDarwin [
+    "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
+    "-DENABLE_GTKDOC=OFF"
+    "-DENABLE_MINIBROWSER=OFF"
+    "-DENABLE_OPENGL=OFF"
+    "-DENABLE_QUARTZ_TARGET=ON"
+    "-DENABLE_VIDEO=ON"
+    "-DENABLE_WEBGL=OFF"
+    "-DENABLE_WEB_AUDIO=OFF"
+    "-DENABLE_X11_TARGET=OFF"
+    "-DUSE_ACCELERATE=0"
+    "-DUSE_SYSTEM_MALLOC=ON"
+  ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
+    ++ optional stdenv.isLinux "-DENABLE_GLES2=ON";
+
+  postPatch = ''
+    patchShebangs .
+  '';
 
+  meta = {
+    description = "Web content rendering engine, GTK port";
+    homepage = https://webkitgtk.org/;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    hydraPlatforms = [];
+    maintainers = gnome3.maintainers;
+  };
 }
diff --git a/pkgs/development/libraries/webkitgtk/fix-execinfo.patch b/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
deleted file mode 100644
index eb825312f3b..00000000000
--- a/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.2.0.orig/Source/WTF/wtf/Assertions.cpp
-+++ webkitgtk-2.2.0/Source/WTF/wtf/Assertions.cpp
-@@ -64,7 +64,7 @@
- #include <windows.h>
- #endif
- 
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -242,7 +242,7 @@
- 
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
-     *size = backtrace(stack, *size);
- #elif OS(WINDOWS) && !OS(WINCE)
-     // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/pkgs/development/libraries/webkitgtk/libc++.patch b/pkgs/development/libraries/webkitgtk/libc++.patch
deleted file mode 100644
index 5a9df0ddae9..00000000000
--- a/pkgs/development/libraries/webkitgtk/libc++.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-02 22:10:23.000000000 -0500
-@@ -23321,7 +23321,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_minidom_LDFLAGS = \
- 	-no-install
-@@ -23344,7 +23344,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_LLIntOffsetsExtractor_LDFLAGS = \
- 	-no-install
diff --git a/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch b/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
new file mode 100644
index 00000000000..17264f3b588
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
@@ -0,0 +1,586 @@
+diff --git a/Source/ThirdParty/ANGLE/scripts/generate_loader.py b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
+index a408dac4..92ddca90 100644
+--- a/Source/ThirdParty/ANGLE/scripts/generate_loader.py
++++ b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
+@@ -201,6 +201,8 @@ def main():
+ 
+ libegl_preamble = """#include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++#include <EGL/eglmesaext.h>
+ """
+ 
+ util_gles_preamble = """#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES
+@@ -215,6 +217,8 @@ util_egl_preamble = """#include "util/util_export.h"
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++#include <EGL/eglmesaext.h>
+ """
+ 
+ util_wgl_preamble = """
+diff --git a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
+index 68c65d8b..0dc9c8e3 100644
+--- a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <angle_gl.h>
+ 
+ #include <cstdint>
+diff --git a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
+index cd651150..17719bc2 100644
+--- a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <angle_gl.h>
+ 
+ #include <cstdint>
+diff --git a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
+index 2f77e725..5ea54f1f 100644
+--- a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
++++ b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
+@@ -71,6 +71,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT.
+ #include <angle_gl.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <cstdint>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/common/utilities.h b/Source/ThirdParty/ANGLE/src/common/utilities.h
+index 7a1429a4..dd20bcca 100644
+--- a/Source/ThirdParty/ANGLE/src/common/utilities.h
++++ b/Source/ThirdParty/ANGLE/src/common/utilities.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <math.h>
+ #include <string>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
+index 4134226d..5dd1065f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
+@@ -15,6 +15,7 @@
+ #include <vector>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include "angle_gl.h"
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
+index 13ae4e61..b964b755 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
+@@ -12,6 +12,7 @@
+ #include <iterator>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
+index 21064073..a46628bd 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
+@@ -17,6 +17,7 @@
+ #include <vector>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
+index 37df5b0c..b2e3885b 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include "angle_gl.h"
+ #include "common/angleutils.h"
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
+index b7bc84c8..538cb3e0 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
+@@ -10,6 +10,7 @@
+ #include "libANGLE/Stream.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <platform/Platform.h>
+ 
+ #include "common/debug.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
+index 9157aa51..d8e58f2d 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
+@@ -14,6 +14,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/angleutils.h"
+ #include "libANGLE/AttributeMap.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
+index 6daec4f6..941f34ca 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
+@@ -11,6 +11,7 @@
+ #include "libANGLE/Surface.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/Config.h"
+ #include "libANGLE/Context.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
+index ea1a0510..db7cf0c8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/angleutils.h"
+ #include "libANGLE/Error.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
+index ba5cf532..43304da5 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
+@@ -13,6 +13,7 @@
+ #include "libANGLE/Display.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+index de60dfff..93b5bdf8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/DisplayD3D.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/Config.h"
+ #include "libANGLE/Context.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
+index a7255d0d..a7e37777 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
+@@ -20,6 +20,7 @@
+ #include "libANGLE/renderer/d3d/TextureStorage.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+index 61dc8ffa..87276514 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+@@ -19,6 +19,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <tchar.h>
+ #include <algorithm>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
+index 443cadd6..e64bdfc4 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
+@@ -12,6 +12,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <GLES2/gl2.h>
+ 
+ #include "common/angleutils.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+index 33dfa6b0..eb3393d2 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <versionhelpers.h>
+ #include <sstream>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+index fe4def6e..2550b52c 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "libANGLE/features.h"
+ #include "libANGLE/renderer/d3d/DisplayD3D.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+index f4a4ce43..0cad5540 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <sstream>
+ 
+ #include "common/utilities.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
+index a89e1365..0fe4fa98 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
+@@ -18,6 +18,7 @@
+ #include "libANGLE/renderer/gl/SurfaceGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
+index 10b15594..7ae1ac6b 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/gl/RendererGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/debug.h"
+ #include "libANGLE/AttributeMap.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
+index 115a7afb..abb200e6 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <string>
+ #include <vector>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+index 47ed6ce0..9d11560c 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <drm_fourcc.h>
+ #include <gbm.h>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+index 23b4a5c5..daeb5789 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+@@ -9,6 +9,7 @@
+ #include "libANGLE/renderer/gl/glx/DisplayGLX.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <algorithm>
+ #include <cstring>
+ #include <fstream>
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
+index 698b51e2..32e6126f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
+@@ -27,6 +27,7 @@
+ #include "libANGLE/renderer/gl/formatutilsgl.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <algorithm>
+ #include <sstream>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
+index 5b686321..16ae890f 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
+@@ -18,6 +18,7 @@
+ #include "libANGLE/renderer/gl/wgl/FunctionsWGL.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace rx
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+index 12679ba7..93503812 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+@@ -28,6 +28,7 @@
+ #include "platform/Platform.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <sstream>
+ #include <string>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
+index df900f4d..4385be88 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
+@@ -13,6 +13,7 @@
+ #include "libANGLE/renderer/vulkan/vk_utils.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "common/debug.h"
+ #include "common/platform.h"
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
+index 1c0b25f4..64e96f73 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
+@@ -22,6 +22,7 @@
+ #include "libANGLE/formatutils.h"
+ 
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace egl
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
+index a671bb0d..248f0ae8 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ namespace gl
+ {
+diff --git a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
+index ae4a427c..a802b65d 100644
+--- a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
++++ b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
+@@ -13,6 +13,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ extern PFNEGLCHOOSECONFIGPROC EGL_ChooseConfig;
+ extern PFNEGLCOPYBUFFERSPROC EGL_CopyBuffers;
+diff --git a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
+index 3c64b290..96201b31 100644
+--- a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
++++ b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <export.h>
+ 
+ extern "C" {
+diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+index 777b09e1..dbb0bd2f 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "deClock.h"
+ #include "deMemory.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
+index 6b4a25bf..1c4ac864 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
+@@ -22,6 +22,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "egluGLContextFactory.hpp"
+ #include "tcuANGLENativeDisplayFactory.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
+index 90abb931..aea4e153 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
+@@ -10,6 +10,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <X11/Xlib.h>
+ 
+ #include "test_utils/ANGLETest.h"
+diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
+index e888a239..71606b8c 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
+@@ -11,6 +11,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <string>
+ 
+diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
+index 7fdddcc6..e40b8905 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
+@@ -10,6 +10,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include <map>
+ #include <string>
+diff --git a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
+index 7bc7a027..ebb2827b 100644
+--- a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
++++ b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
+@@ -16,6 +16,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "GLSLANG/ShaderLang.h"
+ #include "angle_test_instantiate.h"
+diff --git a/Source/ThirdParty/ANGLE/util/OSPixmap.h b/Source/ThirdParty/ANGLE/util/OSPixmap.h
+index ba6ccf4a..563d2578 100644
+--- a/Source/ThirdParty/ANGLE/util/OSPixmap.h
++++ b/Source/ThirdParty/ANGLE/util/OSPixmap.h
+@@ -13,6 +13,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "util/Event.h"
+ #include "util/util_export.h"
+diff --git a/Source/ThirdParty/ANGLE/util/OSWindow.h b/Source/ThirdParty/ANGLE/util/OSWindow.h
+index 3cdb458c..3178fa44 100644
+--- a/Source/ThirdParty/ANGLE/util/OSWindow.h
++++ b/Source/ThirdParty/ANGLE/util/OSWindow.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ #include "util/Event.h"
+ #include "util/util_export.h"
+diff --git a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
+index 5fbec82f..77a30330 100644
+--- a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
++++ b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
+@@ -15,6 +15,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC eglChooseConfig;
+ ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
+diff --git a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
+index a8a82d70..050893a9 100644
+--- a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
++++ b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
+@@ -29,6 +29,7 @@
+ #else
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #endif
+ 
+ #if USE(CAIRO)
+diff --git a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
+index 05f92c22..636df34a 100644
+--- a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
++++ b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
+@@ -35,6 +35,7 @@
+ #include <wayland-egl.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <wtf/Assertions.h>
+ 
+ namespace WebCore {
+diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+index 8c81119b..bf9ed4bd 100644
+--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
++++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+@@ -38,6 +38,7 @@
+ #if USE(EGL)
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #endif
+ 
+ namespace WebCore {
+diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
+index 973b3168..5586236a 100644
+--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
++++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
+@@ -35,6 +35,7 @@
+ #include <gdk/gdkwayland.h>
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <WebCore/CairoUtilities.h>
+ #include <WebCore/GLContext.h>
+ 
+diff --git a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
+index 8d848ce4..46d42c11 100644
+--- a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
++++ b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
+@@ -31,6 +31,7 @@
+ #include "WebKitWaylandServerProtocol.h"
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <WebCore/GLContext.h>
+ #include <WebCore/PlatformDisplayWayland.h>
+ #include <WebCore/Region.h>
diff --git a/pkgs/development/libraries/webkitgtk/plugin-none.patch b/pkgs/development/libraries/webkitgtk/plugin-none.patch
deleted file mode 100644
index 5e2b36bf62d..00000000000
--- a/pkgs/development/libraries/webkitgtk/plugin-none.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-08 00:27:10.000000000 -0500
-@@ -4799,6 +4799,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
-@@ -6375,6 +6377,8 @@
- 	Source/WebCore/plugins/libWebCore_la-PluginPackage.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginStream.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginView.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginViewNone.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginPackageNone.lo \
- 	Source/WebCore/rendering/libWebCore_la-AutoTableLayout.lo \
- 	Source/WebCore/rendering/libWebCore_la-BidiRun.lo \
- 	Source/WebCore/rendering/libWebCore_la-break_lines.lo \
-@@ -10796,6 +10800,8 @@
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProcessConnectionManager.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProxy.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginView.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginViewNone.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginPackageNone.lo \
- 	Source/WebKit2/WebProcess/ResourceCache/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-WebResourceCacheManager.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaImpl.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaMap.lo \
-@@ -19503,6 +19509,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
diff --git a/pkgs/development/libraries/webkitgtk/quartz-webcore.patch b/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
deleted file mode 100644
index a7bf859d6c6..00000000000
--- a/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.cpp	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.cpp	2016-02-02 18:28:07.000000000 -0500
-@@ -839,7 +839,7 @@
- #if defined(XP_MACOSX)
-     , m_contextRef(0)
- #endif
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if defined(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-     , m_hasPendingGeometryChange(true)
-     , m_drawable(0)
-     , m_visual(0)
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.h	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.h	2016-02-02 18:26:37.000000000 -0500
-@@ -378,7 +378,7 @@
-         void setNPWindowIfNeeded();
- #endif
- 
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-         bool m_hasPendingGeometryChange;
-         Pixmap m_drawable;
-         Visual* m_visual;
diff --git a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
deleted file mode 100644
index 03fc3f3f97d..00000000000
--- a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- webkitgtk-2.2.3-orig/GNUmakefile.in	2013-12-04 17:56:28.000000000 +0800
-+++ webkitgtk-2.2.3/GNUmakefile.in	2013-12-05 17:32:37.976689248 +0800
-@@ -21911,6 +21911,7 @@
- @ENABLE_SVG_TRUE@	$(CAIRO_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(FREETYPE_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(LIBSOUP_CFLAGS) \
-+@ENABLE_SVG_TRUE@	$(LIBXML_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(UNICODE_CFLAGS)
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 54464ffd4b6..a567e66285c 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fetchpatch
 , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
 , libpng, ffmpeg_4, freerdp
@@ -15,6 +15,15 @@ stdenv.mkDerivation rec {
     sha256 = "1ak86kx617c81dy85wg9rldy1z3n8ch93cjc05a4j6sifv0nkyfm";
   };
 
+  patches = [
+    # add missing header that changed in mesa-19.2.2
+    # https://github.com/swaywm/wlroots/issues/1862
+    (fetchpatch {
+      url = "https://github.com/swaywm/wlroots/commit/d113e48a2a32542fe6e12f1759f07888364609bf.diff";
+      sha256 = "1h09j1gmnzlz4py92a92chgy8xzsd8h8xn5irq9s2hq4cla66h87";
+    })
+  ];
+
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
index 74792f8f34c..7c819487a33 100644
--- a/pkgs/development/libraries/wt/default.nix
+++ b/pkgs/development/libraries/wt/default.nix
@@ -49,12 +49,12 @@ let
     };
 in {
   wt3 = generic {
-    version = "3.4.2";
-    sha256 = "03mwr4yv3705y74pdh19lmh8szad6gk2x2m23f4pr0wrmqg73307";
+    version = "3.5.0";
+    sha256 = "1xcwzldbval5zrf7f3n2gkpscagg51cw2jp6p3q1yh6bi59haida";
   };
 
   wt4 = generic {
-    version = "4.1.2";
-    sha256 = "06bnadpgflg8inikzynnz4l4r6w1bphjwlva4pzf51w648vpkknl";
+    version = "4.2.0";
+    sha256 = "0zrrdjz0sa8hrmybjp4aap1lcqcqvsicd7dj49zj1m5k8gnfpm4v";
   };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index a12447562b8..3bbfb139279 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -6,15 +6,16 @@
 , libGLU ? null, libGL ? null
 , compat24 ? false, compat26 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix
index 8fe75153de6..0984472e860 100644
--- a/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -5,15 +5,16 @@
 , withMesa ? libGLSupported, libGLU ? null, libGL ? null
 , compat28 ? false, compat30 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.1.2";
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index dfec2197385..971ab485221 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -37,5 +37,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.13" "0z0k8902bz2ckdggikj5yz11ik2n8krmdwzvpqv60phcm3zzzy4k";
+  xapian_1_4 = generic "1.4.14" "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp";
 }
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 4be7bd1474c..d16c5d670e5 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, substituteAll, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fontconfig, flatpak, gsettings-desktop-schemas, acl, dbus, fuse, geoclue2, json-glib, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, nixosTests, substituteAll, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fontconfig, flatpak, gsettings-desktop-schemas, acl, dbus, fuse, geoclue2, json-glib, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=$(installedTests)/share/installed-tests/xdg-desktop-portal"
   ];
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.xdg-desktop-portal;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Desktop integration portals for sandboxed apps";
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index fd772a1ff9d..adcb2e74b0b 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU, libGL, aalib
 , libvorbis, libtheora, speex, zlib, perl, ffmpeg
 , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
 , libmpcdec
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext
-    alsaLib libGLU_combined aalib libvorbis libtheora speex perl ffmpeg flac
+    alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg flac
     libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec
   ];
 
diff --git a/pkgs/development/libraries/yajl/default.nix b/pkgs/development/libraries/yajl/default.nix
index f9ce555cf27..947b08e7bc5 100644
--- a/pkgs/development/libraries/yajl/default.nix
+++ b/pkgs/development/libraries/yajl/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://lloyd.github.com/yajl/;
     license = stdenv.lib.licenses.isc;
     platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = with stdenv.lib.maintainers; [ z77z ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ];
   };
 }
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 9e3b06453bf..98c94cfecca 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,7 +1,23 @@
-{ stdenv, fetchFromGitLab, pkgconfig, glib, sqlite, gobject-introspection, vala
-, autoconf, automake, libtool, gettext, dbus, telepathy-glib
-, gtk3, json-glib, librdf_raptor2, dbus-glib
-, pythonSupport ? true, python2Packages
+{ stdenv
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, glib
+, sqlite
+, gobject-introspection
+, vala
+, autoconf
+, automake
+, libtool
+, gettext
+, dbus
+, telepathy-glib
+, gtk3
+, json-glib
+, librdf_raptor2
+, dbus-glib
+, pythonSupport ? true
+, python2Packages
 }:
 
 stdenv.mkDerivation rec {
@@ -18,31 +34,58 @@ stdenv.mkDerivation rec {
     sha256 = "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv";
   };
 
-  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
-
-  configureFlags = [ "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services" ];
+  patches = [
+    # Fix build with gettext 0.20
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/zeitgeist/zeitgeist/commit/b5c00e80189fd59a059a95c4e276728a2492cb89.patch";
+      sha256 = "1r7f7j3l2p6xlzxajihgx8bzbc2sxcb9spc9pi26rz9bwmngdyq7";
+    })
+  ];
 
   nativeBuildInputs = [
-    autoconf automake libtool pkgconfig gettext gobject-introspection vala python2Packages.python
+    autoconf
+    automake
+    libtool
+    pkgconfig
+    gettext
+    gobject-introspection
+    vala
+    python2Packages.python
   ];
+
   buildInputs = [
-    glib sqlite dbus telepathy-glib dbus-glib
-    gtk3 json-glib librdf_raptor2 python2Packages.rdflib
+    glib
+    sqlite
+    dbus
+    telepathy-glib
+    dbus-glib
+    gtk3
+    json-glib
+    librdf_raptor2
+    python2Packages.rdflib
+  ];
+
+  configureFlags = [
+    "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services"
   ];
 
+  enableParallelBuilding = true;
+
   postPatch = ''
     patchShebangs data/ontology2code
   '';
 
-  enableParallelBuilding = true;
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
 
   postFixup = stdenv.lib.optionalString pythonSupport ''
     moveToOutput lib/${python2Packages.python.libPrefix} "$py"
   '';
 
   meta = with stdenv.lib; {
-    description = "A service which logs the users's activities and events";
-    homepage = https://zeitgeist.freedesktop.org/;
+    description = "A service which logs the users’s activities and events";
+    homepage = "https://zeitgeist.freedesktop.org/";
     maintainers = with maintainers; [ lethalman worldofpeace ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index b0f8ae503ea..71da686ce48 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -5,7 +5,7 @@
 , shared ? true
 , static ? true
 # If true, a separate .static ouput is created and the .a is moved there.
-# In this case `pkg-config` will auto detection will currently not work if the
+# In this case `pkg-config` auto detection does not currently work if the
 # .static output is given as `buildInputs` to another package (#66461), because
 # the `.pc` file lists only the main output's lib dir.
 # If false, and if `{ static = true; }`, the .a stays in the main output.
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index 019a44482b9..3cb8219e687 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation {
     chmod a+x "$out"/bin/*
 
     substituteAll "${./setup-hook.sh}" "setup-hook-parsed"
+    addEnvHooks(){ true; };
     source setup-hook-parsed
     setLisp "${lisp}"
     echo "$NIX_LISP"
diff --git a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
index 8975ada5320..abbbdc3e77a 100644
--- a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
+++ b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
@@ -9,7 +9,7 @@ addASDFPaths () {
 }
 
 setLisp () {
-    if [ -z "$NIX_LISP_COMMAND" ]; then 
+    if [ -z "${NIX_LISP_COMMAND:-}" ]; then 
       for j in "$1"/bin/*; do
           case "$(basename "$j")" in
               sbcl) NIX_LISP_COMMAND="$j" ;;
@@ -20,14 +20,14 @@ setLisp () {
           esac
       done
     fi
-    if [ -z "$NIX_LISP" ]; then 
+    if [ -n "${NIX_LISP_COMMAND:-}" ] && [ -z "${NIX_LISP:-}" ]; then 
         NIX_LISP="${NIX_LISP_COMMAND##*/}"
     fi
 }
 
 collectNixLispLDLP () {
      if echo "$1/lib"/lib*.so* | grep . > /dev/null; then
-	 export NIX_LISP_LD_LIBRARY_PATH="$NIX_LISP_LD_LIBRARY_PATH${NIX_LISP_LD_LIBRARY_PATH:+:}$1/lib"
+	 export NIX_LISP_LD_LIBRARY_PATH="${NIX_LISP_LD_LIBRARY_PATH-}${NIX_LISP_LD_LIBRARY_PATH:+:}$1/lib"
      fi
 }
 
@@ -35,5 +35,5 @@ export NIX_LISP_COMMAND NIX_LISP CL_SOURCE_REGISTRY NIX_LISP_ASDF
 
 addEnvHooks "$targetOffset" addASDFPaths setLisp collectNixLispLDLP
 
-mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-$USER-home"
+mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-${USER:-nixbld}-home"
 mkdir -p "$HOME"/.cache/common-lisp
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 49eb9c40344..67a688342b2 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -18,7 +18,7 @@ let
     touch "$path_config_script"
     chmod a+x "$config_script"
     chmod a+x "$path_config_script"
-    echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script"
+    echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script"
     echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ \$NIX_CFLAGS_COMPILE}\"" >> "$config_script"
     echo "export NIX_LDFLAGS='$NIX_LDFLAGS'\"\''${NIX_LDFLAGS:+ \$NIX_LDFLAGS}\"" >> "$config_script"
     echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script"
@@ -28,12 +28,12 @@ let
     echo "echo \"\$ASDF_OUTPUT_TRANSLATIONS\" | grep -E '(^|:)$store_translation(:|\$)' >/dev/null || export ASDF_OUTPUT_TRANSLATIONS=\"\''${ASDF_OUTPUT_TRANSLATIONS:+\$ASDF_OUTPUT_TRANSLATIONS:}\"'$store_translation'" >> "$config_script"
     echo "source '$path_config_script'" >> "$config_script"
     echo "fi" >> "$config_script"
-    echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
-    echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
+    echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
+    echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\''${NIX_LISP_ASDF_PATHS:-}"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
     test -n "$LD_LIBRARY_PATH" &&
         echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script"
     test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
-        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script"
+        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\''${NIX_LISP_LD_LIBRARY_PATH:-}\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script"
     echo "fi" >> "$path_config_script"
   '';
   deployLaunchScript = ''
diff --git a/pkgs/development/lisp-modules/openssl-lib-marked.nix b/pkgs/development/lisp-modules/openssl-lib-marked.nix
index e2c632b8eba..186ef14b406 100644
--- a/pkgs/development/lisp-modules/openssl-lib-marked.nix
+++ b/pkgs/development/lisp-modules/openssl-lib-marked.nix
@@ -2,7 +2,7 @@ with import ../../../default.nix {};
 runCommand "openssl-lib-marked" {} ''
   mkdir -p "$out/lib"
   for lib in ssl crypto; do
-    version="${(builtins.parseDrvName openssl.name).version}"
+    version="${lib.getVersion openssl}"
     ln -s "${lib.getLib openssl}/lib/lib$lib.so" "$out/lib/lib$lib.so.$version"
     version="$(echo "$version" | sed -re 's/[a-z]+$//')"
     while test -n "$version"; do
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index bb640cb09a5..9139befe020 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -105,7 +105,7 @@ with super;
     ];
     buildInputs = [
       pkgs.glib
-      pkgs.gobjectIntrospection
+      pkgs.gobject-introspection
     ];
     patches = [
       (pkgs.fetchpatch {
@@ -224,7 +224,7 @@ with super;
   });
 
   luasystem = super.luasystem.override({
-    buildInputs = [
+    buildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [
       pkgs.glibc
     ];
   });
diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix
index 4169b9e4d35..c3bf3217b6a 100644
--- a/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/pkgs/development/misc/amdapp-sdk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, libGLU_combined, xorg,
+{ stdenv, fetchurl, makeWrapper, perl, libGLU, libGL, xorg,
   version? "2.8", # What version
   samples? false # Should samples be installed
 }:
@@ -47,7 +47,7 @@ in stdenv.mkDerivation {
   patches = stdenv.lib.attrByPath [version "patches"] [] src_info;
 
   patchFlags = "-p0";
-  buildInputs = [ makeWrapper perl libGLU_combined xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
+  buildInputs = [ makeWrapper perl libGLU libGL xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
   propagatedBuildInputs = [ stdenv.cc ];
   NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
   doCheck = false;
diff --git a/pkgs/development/misc/vc4/newlib.nix b/pkgs/development/misc/vc4/newlib.nix
new file mode 100644
index 00000000000..e1a8b2eeaa6
--- /dev/null
+++ b/pkgs/development/misc/vc4/newlib.nix
@@ -0,0 +1,28 @@
+{ stdenv, texinfo, flex, bison, fetchFromGitHub, crossLibcStdenv, buildPackages }:
+
+crossLibcStdenv.mkDerivation {
+  name = "newlib";
+  src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "newlib-vc4";
+    rev = "89abe4a5263d216e923fbbc80495743ff269a510";
+    sha256 = "131r4v0nn68flnqibjcvhsrys3hs89bn0i4vwmrzgjd7v1rbgqav";
+  };
+  dontUpdateAutotoolsGnuConfigScripts = true;
+  configurePlatforms = [ "target" ];
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ texinfo flex bison ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  # newlib expects CC to build for build platform, not host platform
+  preConfigure = ''
+    export CC=cc
+  '';
+
+  dontStrip = true;
+
+  passthru = {
+    incdir = "/${stdenv.targetPlatform.config}/include";
+    libdir = "/${stdenv.targetPlatform.config}/lib";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix
index 43863bf7f85..75754bec7a1 100644
--- a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ b/pkgs/development/misc/yelp-tools/default.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp-tools"; attrPath = "gnome3.yelp-tools"; };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/mobile/androidenv/deploy-androidpackage.nix b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
index 97fd197cb7d..839a14f7033 100644
--- a/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
+++ b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation ({
   name = package.name + "-" + package.revision;
   src = if os != null && builtins.hasAttr os package.archives then package.archives.${os} else package.archives.all;
   buildInputs = [ unzip ] ++ buildInputs;
+  preferLocalBuild = true;
 
   # Most Android Zip packages have a root folder, but some don't. We unpack
   # the zip file in a folder and we try to discover whether it has a single root
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index 9d2f6eb6075..5b4cad1f264 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -8,7 +8,7 @@ deployAndroidPackage {
     addAutoPatchelfSearchPath $packageBaseDir/lib64
     autoPatchelf --no-recurse $packageBaseDir/lib64
     autoPatchelf --no-recurse $packageBaseDir
-
+  '' + ''
     mkdir -p $out/bin
     cd $out/bin
     find $out/libexec/android-sdk/platform-tools -type f -executable -mindepth 1 -maxdepth 1 -not -name sqlite3 | while read i
diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
index 5a30e40293e..c077132a9f3 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
+++ b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.1)
+    CFPropertyList (3.0.2)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
@@ -12,10 +12,10 @@ GEM
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.8.1)
+    cocoapods (1.9.0.beta.1)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.8.1)
+      cocoapods-core (= 1.9.0.beta.1)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -30,15 +30,17 @@ GEM
       molinillo (~> 0.6.6)
       nap (~> 1.0)
       ruby-macho (~> 1.4)
-      xcodeproj (>= 1.11.1, < 2.0)
-    cocoapods-core (1.8.1)
+      xcodeproj (>= 1.14.0, < 2.0)
+    cocoapods-core (1.9.0.beta.1)
       activesupport (>= 4.0.2, < 6)
       algoliasearch (~> 1.0)
       concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
+      netrc (~> 0.11)
+      typhoeus (~> 1.0)
     cocoapods-deintegrate (1.0.4)
-    cocoapods-downloader (1.2.2)
+    cocoapods-downloader (1.3.0)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
@@ -50,23 +52,28 @@ GEM
     colored2 (3.1.2)
     concurrent-ruby (1.1.5)
     escape (0.0.4)
+    ethon (0.12.0)
+      ffi (>= 1.3.0)
+    ffi (1.11.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    json (2.2.0)
-    minitest (5.12.0)
+    json (2.3.0)
+    minitest (5.13.0)
     molinillo (0.6.6)
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
     ruby-macho (1.4.0)
     thread_safe (0.3.6)
+    typhoeus (1.3.1)
+      ethon (>= 0.9.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    xcodeproj (1.12.0)
+    xcodeproj (1.14.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -80,4 +87,4 @@ DEPENDENCIES
   cocoapods (>= 1.7.0.beta.1)!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/mobile/cocoapods/Gemfile.lock b/pkgs/development/mobile/cocoapods/Gemfile.lock
index e2de7cb0bf1..958f36192f9 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile.lock
+++ b/pkgs/development/mobile/cocoapods/Gemfile.lock
@@ -12,10 +12,10 @@ GEM
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.8.1)
+    cocoapods (1.8.4)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.8.1)
+      cocoapods-core (= 1.8.4)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -31,7 +31,7 @@ GEM
       nap (~> 1.0)
       ruby-macho (~> 1.4)
       xcodeproj (>= 1.11.1, < 2.0)
-    cocoapods-core (1.8.1)
+    cocoapods-core (1.8.4)
       activesupport (>= 4.0.2, < 6)
       algoliasearch (~> 1.0)
       concurrent-ruby (~> 1.1)
@@ -57,7 +57,7 @@ GEM
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
     json (2.2.0)
-    minitest (5.12.0)
+    minitest (5.12.2)
     molinillo (0.6.6)
     nanaimo (0.2.6)
     nap (1.1.0)
@@ -66,7 +66,7 @@ GEM
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    xcodeproj (1.12.0)
+    xcodeproj (1.13.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/mobile/cocoapods/gemset-beta.nix
index f5f95db3ced..120680f658d 100644
--- a/pkgs/development/mobile/cocoapods/gemset-beta.nix
+++ b/pkgs/development/mobile/cocoapods/gemset-beta.nix
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+      sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   claide = {
     groups = ["default"];
@@ -57,21 +57,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "108zj698l44wnc0jgx81gxra86c7mrzyqrx6rxssalrc5rviadw7";
+      sha256 = "14447zrbg90gvjhfpwmjsfh4n7i9f0p1zd0jj3m2cx4y8102djiy";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.0.beta.1";
   };
   cocoapods-core = {
-    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
+    dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15bcc7771jws4p3n3sd26faxslah0yvqgpb0y8gh6d0dwjdygmk0";
+      sha256 = "0nhrqwrvblpgf4k3cy0nyxfphyzw46zql1pdv1x7y42h4cn5z8qp";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.0.beta.1";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -88,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+      sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -175,6 +175,27 @@
     };
     version = "0.0.4";
   };
+  ethon = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+      type = "gem";
+    };
+    version = "0.12.0";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
+      type = "gem";
+    };
+    version = "1.11.3";
+  };
   fourflusher = {
     groups = ["default"];
     platforms = [];
@@ -231,20 +252,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kj5m8gg643w8jh8nsdy15bpddmnnafhyzhjx7gp28l1acb4fik7";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.12.0";
+    version = "5.13.0";
   };
   molinillo = {
     groups = ["default"];
@@ -306,6 +327,17 @@
     };
     version = "0.3.6";
   };
+  typhoeus = {
+    dependencies = ["ethon"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
   tzinfo = {
     dependencies = ["thread_safe"];
     groups = ["default"];
@@ -323,9 +355,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162gwhrl7ppj6hlmnpp1scvy1ylcv5xqk51826v075sckdqjp8c8";
+      sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/mobile/cocoapods/gemset.nix b/pkgs/development/mobile/cocoapods/gemset.nix
index 2eb630e0f93..2f268a60c94 100644
--- a/pkgs/development/mobile/cocoapods/gemset.nix
+++ b/pkgs/development/mobile/cocoapods/gemset.nix
@@ -55,10 +55,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "108zj698l44wnc0jgx81gxra86c7mrzyqrx6rxssalrc5rviadw7";
+      sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.8.4";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
@@ -66,10 +66,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15bcc7771jws4p3n3sd26faxslah0yvqgpb0y8gh6d0dwjdygmk0";
+      sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.8.4";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -223,10 +223,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kj5m8gg643w8jh8nsdy15bpddmnnafhyzhjx7gp28l1acb4fik7";
+      sha256 = "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw";
       type = "gem";
     };
-    version = "5.12.0";
+    version = "5.12.2";
   };
   molinillo = {
     source = {
@@ -293,9 +293,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162gwhrl7ppj6hlmnpp1scvy1ylcv5xqk51826v075sckdqjp8c8";
+      sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.13.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index 6821474c4d0..c85eab108ff 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,8 +1,8 @@
-{pkgs, androidenv, xcodeenv, tiVersion ? "7.1.0.GA"}:
+{pkgs, androidenv, xcodeenv, tiVersion ? "8.2.1.GA"}:
 
 rec {
   titaniumsdk = let
-    titaniumSdkFile = if tiVersion == "7.1.0.GA" then ./titaniumsdk-7.1.nix
+    titaniumSdkFile = if tiVersion == "8.2.1.GA" then ./titaniumsdk-8.2.nix
       else if tiVersion == "7.5.1.GA" then ./titaniumsdk-7.5.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
index 13abc18f76e..45523fad908 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.1.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
@@ -53,14 +53,14 @@ let
   };
 in
 stdenv.mkDerivation {
-  name = "mobilesdk-7.1.0.GA";
+  name = "mobilesdk-8.2.1.GA";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
-    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-linux.zip;
-    sha256 = "18b3jnr65sdn5wj191bcl48gvhyklxmighxakv4vrz1fb59kyvqn";
+    url = https://builds.appcelerator.com/mobile/8_2_X/mobilesdk-8.2.1.v20191025070136-linux.zip;
+    sha256 = "1nvcmm6cby6bmwdiacq46n5y4zjpz9qlipakvglw27j3p4rbmkwl";
   }
   else if stdenv.system == "x86_64-darwin" then fetchurl {
-    url = http://builds.appcelerator.com/mobile/7_1_X/mobilesdk-7.1.0.v20180314133955-osx.zip;
-    sha256 = "1f62616biwsw1fqxz2sq7lpa6bsfjazffliplyf5dpnh298cnc1m";
+    url = https://builds.appcelerator.com/mobile/8_2_X/mobilesdk-8.2.1.v20191025070136-osx.zip;
+    sha256 = "1nxwmyw3vqc5wghj38kpksisy0i808x0x3pa8w3p290w709g311l";
   }
   else throw "Platform: ${stdenv.system} not supported!";
 
@@ -73,7 +73,7 @@ stdenv.mkDerivation {
 
     # Rename ugly version number
     cd mobilesdk/*
-    mv * 7.1.0.GA
+    mv * 8.2.1.GA
     cd *
 
     # Patch bundled gradle build infrastructure to make shebangs work
@@ -87,6 +87,13 @@ stdenv.mkDerivation {
     # Patch maven central repository with our own local directory. This prevents the builder from downloading Maven artifacts
     sed -i -e 's|mavenCentral()|maven { url "${fakeMavenRepo}" }|' android/templates/build/proguard.gradle
 
+    ${stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+      # Patch the strip frameworks script in the iPhone build template to not let
+      # it skip the strip phase. This is caused by an assumption on the file
+      # permissions in which Nix deviates from the standard.
+      sed -i -e "s|-perm +111|-perm /111|" iphone/templates/build/strip-frameworks.sh
+    ''}
+
     # Patch some executables
 
     ${if stdenv.system == "i686-linux" then
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index 05ddf5366c7..fa108c8e470 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -1,7 +1,7 @@
 {stdenv, composeXcodeWrapper}:
 { name
 , src
-, sdkVersion ? "12.1"
+, sdkVersion ? "13.1"
 , target ? null
 , configuration ? null
 , scheme ? null
diff --git a/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
index f1941e051bc..0a469da418a 100644
--- a/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
@@ -1,5 +1,5 @@
 {stdenv}:
-{version ? "10.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
+{version ? "11.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
 
 assert stdenv.isDarwin;
 
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 670556bf271..7cc212c41bd 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -363,7 +363,7 @@ let
 
         npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
 
-        if [ "$dontNpmInstall" != "1" ]
+        if [ "''${dontNpmInstall-}" != "1" ]
         then
             # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
             rm -f npm-shrinkwrap.json
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
index 18f96e2cc02..07066787fae 100644
--- a/pkgs/development/node-packages/node-packages-v10.json
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -15,6 +15,7 @@
 , "bower2nix"
 , "browserify"
 , "castnow"
+, { "texlab-citeproc-build-deps": "../tools/misc/texlab/citeproc" }
 , "clean-css"
 , "coffee-script"
 , "coinmon"
@@ -41,6 +42,7 @@
 , "git-run"
 , "git-ssb"
 , "git-standup"
+, "gitmoji-cli"
 , "graphql-cli"
 , "grunt-cli"
 , "gtop"
@@ -101,7 +103,9 @@
 , "peerflix-server"
 , "pnpm"
 , "prettier"
+, "pscid"
 , "pulp"
+, "purescript-psa"
 , "react-native-cli"
 , "react-tools"
 , "reveal.js"
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index 27636c5395f..4c9c44faddc 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "2-thenable-1.0.0" = {
+      name = "2-thenable";
+      packageName = "2-thenable";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz";
+        sha512 = "HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==";
+      };
+    };
     "@akryum/winattr-3.0.0" = {
       name = "_at_akryum_slash_winattr";
       packageName = "@akryum/winattr";
@@ -13,67 +22,67 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@angular-devkit/architect-0.803.14" = {
+    "@angular-devkit/architect-0.803.21" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.803.14";
+      version = "0.803.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.14.tgz";
-        sha512 = "CPDDNTpM/9XWCFxCRL1/mYB54ivZcmWaVSjUgN2zcHWBc0gW3lrJrmmb+cJ1KSlOI7hoZaMTV1gWoX2QXd4JrA==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.21.tgz";
+        sha512 = "E2K/YexIWVyKM/xmyxvDjkJf+wX9u4c8YYpNaK4htsRzA06juc7N1MhlL/jURZiRl5b/K9sapYeq3tMX76saxA==";
       };
     };
-    "@angular-devkit/core-8.3.14" = {
+    "@angular-devkit/core-8.3.21" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "8.3.14";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.14.tgz";
-        sha512 = "+IYLbtCxwIpaieRj0wurEXBzZ/fDSdWbyrCfajzDerzsxqghNcafAXSazHXWwISqtbr/pAOuqUNR+mEk2XBz3Q==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.21.tgz";
+        sha512 = "BYyVbrbys535FplX0+GVOlYBg/cyk1U5SRhSxRRFZYi9epVlEBBPk8/6wV4cQPGb6EwXkVj7YtPWXjXcGfzWmA==";
       };
     };
-    "@angular-devkit/schematics-8.3.14" = {
+    "@angular-devkit/schematics-8.3.21" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "8.3.14";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.14.tgz";
-        sha512 = "5gPmTBN85a2gTxz/FsM5fO9Bxw4KG6uJNLMDAWfPG8vvSQEl7J64ujyqxPz39TernQTEKeuhRC4I5H1aaW9I/Q==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.21.tgz";
+        sha512 = "+wH0362CRr/SijVX4w2baY2ANZ4scQ1k2xO8lT+NMeZQkw3IJQPOfwk1IaqiAs2xuBJZcSDH1Gn80+Jh4Dit7w==";
       };
     };
-    "@antora/asciidoc-loader-2.1.2" = {
+    "@antora/asciidoc-loader-2.2.0" = {
       name = "_at_antora_slash_asciidoc-loader";
       packageName = "@antora/asciidoc-loader";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-2.1.2.tgz";
-        sha512 = "Hm/E+ff5HgafFi4iAkMHTHP0/iHRrTg96wnX4fFtogHW3tuAOCN+e0d1e4HmHeUwRwy+PSJgXECKyswWA5h8cw==";
+        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-2.2.0.tgz";
+        sha512 = "dwKXao6eqbAh8O7OS1ZUgVHmbfl38z7RzBCM6DbTb1VODk1HGIgp6gxauGmy5rBvjrJTtz7M1Dxs+BzBApeyMw==";
       };
     };
-    "@antora/content-aggregator-2.1.2" = {
+    "@antora/content-aggregator-2.2.0" = {
       name = "_at_antora_slash_content-aggregator";
       packageName = "@antora/content-aggregator";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-2.1.2.tgz";
-        sha512 = "yNhtS2JcHlwcgz06HS2jtkWmbruxqRENT2raN9xk1PkKeubDEOKmbBXNQHvUjQviDXwpB2jehgIpGFlo/UcqoA==";
+        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-2.2.0.tgz";
+        sha512 = "Dd3jvjIty75G5X04lf6XFK8wKwKo1bfJfafsvwwJuApILASt0Nrv+Z3O+rfc4MhaswgZNqVBrEcSJW9BJxXPtw==";
       };
     };
-    "@antora/content-classifier-2.1.2" = {
+    "@antora/content-classifier-2.2.0" = {
       name = "_at_antora_slash_content-classifier";
       packageName = "@antora/content-classifier";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-2.1.2.tgz";
-        sha512 = "JiuBrvJFmjtvka5zcpYOxXbf8n7wWTHDcCMsCxFeadoyXBvUrdGHmT/oKq9/IiyCrda9onwV/IY/mdrD4Gr9uQ==";
+        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-2.2.0.tgz";
+        sha512 = "cVoL7aR619FNFN3bKiiFhLinaFktQ06OmMG+QMJW0tNRaeI1ATYtrpUvwG5KVuciwDZFKp+GboRUoud0OGLfJQ==";
       };
     };
-    "@antora/document-converter-2.1.2" = {
+    "@antora/document-converter-2.2.0" = {
       name = "_at_antora_slash_document-converter";
       packageName = "@antora/document-converter";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-2.1.2.tgz";
-        sha512 = "gmjXV5gSkDi6dhagojQAMHeMH0jvqmkce8AZCPAePeQfc5gpdiSCtRMP/vld5InfYQJ40ckxdQilPqFUpxJk3Q==";
+        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-2.2.0.tgz";
+        sha512 = "Ka3moJL5HRoaHUz6U1s9M36WGJg8vUmlQziUpKsC96GbgWyiNXIvNwvQN9kdAW0AXR1CNpIcZ8sl7ygIaa7pLA==";
       };
     };
     "@antora/expand-path-helper-1.0.0" = {
@@ -85,85 +94,94 @@ let
         sha512 = "hg3y6M3OvRTb7jtLAnwwloYDxafbyKYttcf16kGCXvP7Wqosh7c+Ag+ltaZ7VSebpzpphO/umb/BXdpU7rxapw==";
       };
     };
-    "@antora/navigation-builder-2.1.2" = {
+    "@antora/navigation-builder-2.2.0" = {
       name = "_at_antora_slash_navigation-builder";
       packageName = "@antora/navigation-builder";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-2.1.2.tgz";
-        sha512 = "LDc5j9VJWjeBtvGHiQWd3GHSJAUXuLze5oRpO3WaHjlR6oxt0q9vlfWWNTQg+5yj0BBXdINkHv+LzuxcWys0mw==";
+        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-2.2.0.tgz";
+        sha512 = "r78NVNN/PbbSbXI5+NJ4d5G0RM1cklv++djPI0xIjFPK8R7GsuQagAaEpZS9o8UKcRlIyyGTeaT8dWKnFxZh2w==";
       };
     };
-    "@antora/page-composer-2.1.2" = {
+    "@antora/page-composer-2.2.0" = {
       name = "_at_antora_slash_page-composer";
       packageName = "@antora/page-composer";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-2.1.2.tgz";
-        sha512 = "COMB+t/9l/QM4G6o3VwP+IBkI24CvhTp2yEmlt/dQ0JE1yFuO/jEKGXmBoL02rll3g/WRlUxSIGNJLt7R1QWZQ==";
+        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-2.2.0.tgz";
+        sha512 = "JBRqWjJE8pUJG7AU6GMYWo2avBHLzxBisyfFq9FGH7Uf+Shv+0RYImFH0fDX0Et+83sfg2i3y39SfTYXKLsc3g==";
       };
     };
-    "@antora/playbook-builder-2.1.2" = {
+    "@antora/playbook-builder-2.2.0" = {
       name = "_at_antora_slash_playbook-builder";
       packageName = "@antora/playbook-builder";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-2.1.2.tgz";
-        sha512 = "JggjwTxiguVyAJaOuAVqpg06aYtahYiTXmSsczOILEEP6viehxuXS1dbNCqg+xwvdvPxJhsBI5x3bfWhcTWs0w==";
+        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-2.2.0.tgz";
+        sha512 = "GIbkyCnwdTJVHYwSEG4d6Px2Uh/zBiwLXK7zGsaMY4/DmbYBKzNK4xpt7fHXvIw2IyH9GA1XRQ7+vpBSg8VP8w==";
       };
     };
-    "@antora/redirect-producer-2.1.2" = {
+    "@antora/redirect-producer-2.2.0" = {
       name = "_at_antora_slash_redirect-producer";
       packageName = "@antora/redirect-producer";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-2.1.2.tgz";
-        sha512 = "Y5H5/7Mm9c6rMnLMTRI+c3f2AqHisMDAvBy8OyBW75rlg2+fwG1I1VdZxOoTkCXmAS93QyPX/wDymbRUpiBOHQ==";
+        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-2.2.0.tgz";
+        sha512 = "ZkUe95Wj3TiFrbXA0sRDCv+0yD1HxI84/2pQj6cnMV01vrfj9HKeMdbBG1Sgf5bmaDDJ1nImlT0l2g6t+pBIJg==";
       };
     };
-    "@antora/site-mapper-2.1.2" = {
+    "@antora/site-mapper-2.2.0" = {
       name = "_at_antora_slash_site-mapper";
       packageName = "@antora/site-mapper";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-2.1.2.tgz";
-        sha512 = "KgXn7W47HW7WIYuoptawvkXq2Fg1Es6zn0IlTCyQF/zjQmfoxgHrMk6dW93YjD75RdhKTEeI7hhMzKfwoTYRHA==";
+        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-2.2.0.tgz";
+        sha512 = "318hg4n6SjisAA5e3uq02IdSeW6hQwCo+2TfQQQlCY/+DlFV0V2ML2bicwSrdfweJ42o5TxgSQAtTuOc1YPjgA==";
       };
     };
-    "@antora/site-publisher-2.1.2" = {
+    "@antora/site-publisher-2.2.0" = {
       name = "_at_antora_slash_site-publisher";
       packageName = "@antora/site-publisher";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-2.1.2.tgz";
-        sha512 = "5ekXPBRk3YMVeqhPCnPdjKNRqcI8OKqxisVhWplS/YgY9n2TGICyz01ZtAmueWD0l3mHH5cJRfPHPnTPNXc7Aw==";
+        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-2.2.0.tgz";
+        sha512 = "3pcGacS72sOKnm7Hnx328AUWGMEDsNHHQla6lwHL7gtWGtn/9tpt0M+MtgkxZnOLmoif8pt/JWPmlnv6td2xSw==";
       };
     };
-    "@antora/ui-loader-2.1.2" = {
+    "@antora/ui-loader-2.2.0" = {
       name = "_at_antora_slash_ui-loader";
       packageName = "@antora/ui-loader";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-2.1.2.tgz";
-        sha512 = "fHjJ0wBr0NIaWn6+xDMFOtCc7kf7sdt8I9g/r090X4lImodD2rNm5Jf3wnvAL91M66hDrFaJmE2Fkpbv8fmkBA==";
+        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-2.2.0.tgz";
+        sha512 = "3d6SqtknM3PiLRw2wLtcMVVfmyHtfNuWo8+ZBRmUrZs8HfhGteV8/s4vpiOJZmLYhW4KLFgIgG09lFdD5t78Ow==";
       };
     };
-    "@apollo/federation-0.10.2" = {
+    "@apollo/federation-0.11.2" = {
       name = "_at_apollo_slash_federation";
       packageName = "@apollo/federation";
-      version = "0.10.2";
+      version = "0.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollo/federation/-/federation-0.10.2.tgz";
-        sha512 = "N+JoD7YraGAgDJq1GTkAzRRPUA+FgclFgAUcUDng9ICA4N147nuGUrbrpQdgLnE59nCLJAhcFvOgQRs177XMWw==";
+        url = "https://registry.npmjs.org/@apollo/federation/-/federation-0.11.2.tgz";
+        sha512 = "MSMBGOS9lAE0K4VmV/3mkd2qfLQTGt2OcsryRNbGMXr9gUVZDtM9quD5JUQoENkz9YFwcOY9jI+i/X5J+Fcw6A==";
       };
     };
-    "@apollographql/apollo-tools-0.4.0" = {
+    "@apollo/protobufjs-1.0.3" = {
+      name = "_at_apollo_slash_protobufjs";
+      packageName = "@apollo/protobufjs";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.0.3.tgz";
+        sha512 = "gqeT810Ect9WIqsrgfUvr+ljSB5m1PyBae9HGdrRyQ3HjHjTcjVvxpsMYXlUk4rUHnrfUqyoGvLSy2yLlRGEOw==";
+      };
+    };
+    "@apollographql/apollo-tools-0.4.2" = {
       name = "_at_apollographql_slash_apollo-tools";
       packageName = "@apollographql/apollo-tools";
-      version = "0.4.0";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.0.tgz";
-        sha512 = "7wEO+S+zgz/wVe3ilFQqICufRBYYDSNUkd1V03JWvXuSydbYq2SM5EgvWmFF+04iadt+aQ0XCCsRzCzRPQODfQ==";
+        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.2.tgz";
+        sha512 = "/kTaguTNSowXR/zWU4hjeL41yAdEbQO05f882c6cRIrVE7xIgJcBNEcYz2kzi94eaUbE2YY3SSxDJ6vPeV07OQ==";
       };
     };
     "@apollographql/graphql-language-service-interface-2.0.2" = {
@@ -238,13 +256,13 @@ let
         sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
       };
     };
-    "@babel/core-7.6.4" = {
+    "@babel/core-7.7.7" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.6.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz";
-        sha512 = "Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz";
+        sha512 = "jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==";
       };
     };
     "@babel/generator-7.0.0-beta.38" = {
@@ -256,139 +274,157 @@ let
         sha512 = "aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==";
       };
     };
-    "@babel/generator-7.6.4" = {
+    "@babel/generator-7.7.4" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz";
+        sha512 = "m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==";
+      };
+    };
+    "@babel/generator-7.7.7" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.6.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz";
-        sha512 = "jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz";
+        sha512 = "/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.0.0" = {
+    "@babel/helper-annotate-as-pure-7.7.4" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
-        sha512 = "3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz";
+        sha512 = "2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.1.0" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.7.4" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
-        sha512 = "qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz";
+        sha512 = "Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==";
       };
     };
-    "@babel/helper-builder-react-jsx-7.3.0" = {
+    "@babel/helper-builder-react-jsx-7.7.4" = {
       name = "_at_babel_slash_helper-builder-react-jsx";
       packageName = "@babel/helper-builder-react-jsx";
-      version = "7.3.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
-        sha512 = "MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz";
+        sha512 = "kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA==";
       };
     };
-    "@babel/helper-call-delegate-7.4.4" = {
+    "@babel/helper-call-delegate-7.7.4" = {
       name = "_at_babel_slash_helper-call-delegate";
       packageName = "@babel/helper-call-delegate";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
-        sha512 = "l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==";
+        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz";
+        sha512 = "8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.6.0" = {
+    "@babel/helper-create-class-features-plugin-7.7.4" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
-        sha512 = "O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz";
+        sha512 = "l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==";
       };
     };
-    "@babel/helper-define-map-7.5.5" = {
+    "@babel/helper-create-regexp-features-plugin-7.7.4" = {
+      name = "_at_babel_slash_helper-create-regexp-features-plugin";
+      packageName = "@babel/helper-create-regexp-features-plugin";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz";
+        sha512 = "Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==";
+      };
+    };
+    "@babel/helper-define-map-7.7.4" = {
       name = "_at_babel_slash_helper-define-map";
       packageName = "@babel/helper-define-map";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
-        sha512 = "fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==";
+        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz";
+        sha512 = "v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.1.0" = {
+    "@babel/helper-explode-assignable-expression-7.7.4" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
-        sha512 = "NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz";
+        sha512 = "2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==";
       };
     };
-    "@babel/helper-function-name-7.1.0" = {
+    "@babel/helper-function-name-7.7.4" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
-        sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz";
+        sha512 = "AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==";
       };
     };
-    "@babel/helper-get-function-arity-7.0.0" = {
+    "@babel/helper-get-function-arity-7.7.4" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
-        sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz";
+        sha512 = "QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==";
       };
     };
-    "@babel/helper-hoist-variables-7.4.4" = {
+    "@babel/helper-hoist-variables-7.7.4" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
-        sha512 = "VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz";
+        sha512 = "wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.5.5" = {
+    "@babel/helper-member-expression-to-functions-7.7.4" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
-        sha512 = "5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz";
+        sha512 = "9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==";
       };
     };
-    "@babel/helper-module-imports-7.0.0" = {
+    "@babel/helper-module-imports-7.7.4" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
-        sha512 = "aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz";
+        sha512 = "dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==";
       };
     };
-    "@babel/helper-module-transforms-7.5.5" = {
+    "@babel/helper-module-transforms-7.7.5" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.5.5";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
-        sha512 = "jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz";
+        sha512 = "A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.0.0" = {
+    "@babel/helper-optimise-call-expression-7.7.4" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
-        sha512 = "u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz";
+        sha512 = "VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==";
       };
     };
     "@babel/helper-plugin-utils-7.0.0" = {
@@ -409,58 +445,58 @@ let
         sha512 = "CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.1.0" = {
+    "@babel/helper-remap-async-to-generator-7.7.4" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
-        sha512 = "3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz";
+        sha512 = "Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==";
       };
     };
-    "@babel/helper-replace-supers-7.5.5" = {
+    "@babel/helper-replace-supers-7.7.4" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
-        sha512 = "XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz";
+        sha512 = "pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==";
       };
     };
-    "@babel/helper-simple-access-7.1.0" = {
+    "@babel/helper-simple-access-7.7.4" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.1.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
-        sha512 = "Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz";
+        sha512 = "zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==";
       };
     };
-    "@babel/helper-split-export-declaration-7.4.4" = {
+    "@babel/helper-split-export-declaration-7.7.4" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
-        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz";
+        sha512 = "guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==";
       };
     };
-    "@babel/helper-wrap-function-7.2.0" = {
+    "@babel/helper-wrap-function-7.7.4" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
-        sha512 = "o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz";
+        sha512 = "VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==";
       };
     };
-    "@babel/helpers-7.6.2" = {
+    "@babel/helpers-7.7.4" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.6.2";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz";
-        sha512 = "3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz";
+        sha512 = "ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==";
       };
     };
     "@babel/highlight-7.5.0" = {
@@ -472,13 +508,13 @@ let
         sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
       };
     };
-    "@babel/parser-7.6.4" = {
+    "@babel/parser-7.7.7" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.6.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz";
-        sha512 = "D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz";
+        sha512 = "WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==";
       };
     };
     "@babel/plugin-external-helpers-7.0.0" = {
@@ -490,454 +526,463 @@ let
         sha512 = "tZKTMdhZvTy0KCEX5EGQQm1RHr7jUa36q/yax1baEA0yZapVYmu10yW7LTqijITgSq416gPVjrcexiA6y4pJlA==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.2.0" = {
+    "@babel/plugin-proposal-async-generator-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
-        sha512 = "+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz";
+        sha512 = "1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.5.5" = {
+    "@babel/plugin-proposal-class-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
-        sha512 = "AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz";
+        sha512 = "EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.5.0" = {
+    "@babel/plugin-proposal-dynamic-import-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
-        sha512 = "x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz";
+        sha512 = "StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.2.0" = {
+    "@babel/plugin-proposal-json-strings-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
-        sha512 = "MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz";
+        sha512 = "wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.6.2" = {
+    "@babel/plugin-proposal-object-rest-spread-7.7.7" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.6.2";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz";
-        sha512 = "LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz";
+        sha512 = "3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.2.0" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.7.4" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
-        sha512 = "mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz";
+        sha512 = "DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.6.2" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.7.7" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.6.2";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz";
-        sha512 = "NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz";
+        sha512 = "80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==";
       };
     };
-    "@babel/plugin-syntax-async-generators-7.2.0" = {
+    "@babel/plugin-syntax-async-generators-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-async-generators";
       packageName = "@babel/plugin-syntax-async-generators";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
-        sha512 = "1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz";
+        sha512 = "Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==";
       };
     };
-    "@babel/plugin-syntax-dynamic-import-7.2.0" = {
+    "@babel/plugin-syntax-dynamic-import-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-dynamic-import";
       packageName = "@babel/plugin-syntax-dynamic-import";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
-        sha512 = "mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz";
+        sha512 = "jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==";
       };
     };
-    "@babel/plugin-syntax-flow-7.2.0" = {
+    "@babel/plugin-syntax-flow-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-flow";
       packageName = "@babel/plugin-syntax-flow";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
-        sha512 = "r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz";
+        sha512 = "2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw==";
       };
     };
-    "@babel/plugin-syntax-json-strings-7.2.0" = {
+    "@babel/plugin-syntax-json-strings-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-json-strings";
       packageName = "@babel/plugin-syntax-json-strings";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
-        sha512 = "5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz";
+        sha512 = "QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==";
       };
     };
-    "@babel/plugin-syntax-jsx-7.2.0" = {
+    "@babel/plugin-syntax-jsx-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-jsx";
       packageName = "@babel/plugin-syntax-jsx";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
-        sha512 = "VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz";
+        sha512 = "wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==";
       };
     };
-    "@babel/plugin-syntax-object-rest-spread-7.2.0" = {
+    "@babel/plugin-syntax-object-rest-spread-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-object-rest-spread";
       packageName = "@babel/plugin-syntax-object-rest-spread";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
-        sha512 = "t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz";
+        sha512 = "mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==";
       };
     };
-    "@babel/plugin-syntax-optional-catch-binding-7.2.0" = {
+    "@babel/plugin-syntax-optional-catch-binding-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
       packageName = "@babel/plugin-syntax-optional-catch-binding";
-      version = "7.2.0";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz";
+        sha512 = "4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==";
+      };
+    };
+    "@babel/plugin-syntax-top-level-await-7.7.4" = {
+      name = "_at_babel_slash_plugin-syntax-top-level-await";
+      packageName = "@babel/plugin-syntax-top-level-await";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
-        sha512 = "bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz";
+        sha512 = "wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.3.3" = {
+    "@babel/plugin-syntax-typescript-7.7.4" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.3.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
-        sha512 = "dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.7.4.tgz";
+        sha512 = "77blgY18Hud4NM1ggTA8xVT/dBENQf17OpiToSa2jSmEY3fWXD2jwrdVlO4kq5yzUTeF15WSQ6b4fByNvJcjpQ==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.2.0" = {
+    "@babel/plugin-transform-arrow-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
-        sha512 = "ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz";
+        sha512 = "zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.5.0" = {
+    "@babel/plugin-transform-async-to-generator-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
-        sha512 = "mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz";
+        sha512 = "zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.2.0" = {
+    "@babel/plugin-transform-block-scoped-functions-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
-        sha512 = "ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz";
+        sha512 = "kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.6.3" = {
+    "@babel/plugin-transform-block-scoping-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz";
-        sha512 = "7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz";
+        sha512 = "2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==";
       };
     };
-    "@babel/plugin-transform-classes-7.5.5" = {
+    "@babel/plugin-transform-classes-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
-        sha512 = "U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz";
+        sha512 = "sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.2.0" = {
+    "@babel/plugin-transform-computed-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
-        sha512 = "kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz";
+        sha512 = "bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.6.0" = {
+    "@babel/plugin-transform-destructuring-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
-        sha512 = "2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz";
+        sha512 = "4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.6.2" = {
+    "@babel/plugin-transform-dotall-regex-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.6.2";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz";
-        sha512 = "KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz";
+        sha512 = "b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.5.0" = {
+    "@babel/plugin-transform-duplicate-keys-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
-        sha512 = "igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz";
+        sha512 = "g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.2.0" = {
+    "@babel/plugin-transform-exponentiation-operator-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
-        sha512 = "umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz";
+        sha512 = "MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.6.3" = {
+    "@babel/plugin-transform-flow-strip-types-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-flow-strip-types";
       packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.6.3.tgz";
-        sha512 = "l0ETkyEofkqFJ9LS6HChNIKtVJw2ylKbhYMlJ5C6df+ldxxaLIyXY4yOdDQQspfFpV8/vDiaWoJlvflstlYNxg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.7.4.tgz";
+        sha512 = "w9dRNlHY5ElNimyMYy0oQowvQpwt/PRHI0QS98ZJCTZU2bvSnKXo5zEiD5u76FBPigTm8TkqzmnUTg16T7qbkA==";
       };
     };
-    "@babel/plugin-transform-for-of-7.4.4" = {
+    "@babel/plugin-transform-for-of-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
-        sha512 = "9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz";
+        sha512 = "zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==";
       };
     };
-    "@babel/plugin-transform-function-name-7.4.4" = {
+    "@babel/plugin-transform-function-name-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
-        sha512 = "iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz";
+        sha512 = "E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==";
       };
     };
-    "@babel/plugin-transform-literals-7.2.0" = {
+    "@babel/plugin-transform-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
-        sha512 = "2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz";
+        sha512 = "X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.2.0" = {
+    "@babel/plugin-transform-member-expression-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
-        sha512 = "HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz";
+        sha512 = "9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.5.0" = {
+    "@babel/plugin-transform-modules-amd-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.5.0";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
-        sha512 = "n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz";
+        sha512 = "CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.6.0" = {
+    "@babel/plugin-transform-modules-commonjs-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.6.0";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
-        sha512 = "Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz";
+        sha512 = "9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.5.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.5.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
-        sha512 = "Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz";
+        sha512 = "y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.2.0" = {
+    "@babel/plugin-transform-modules-umd-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
-        sha512 = "BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz";
+        sha512 = "u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.6.3" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz";
-        sha512 = "jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz";
+        sha512 = "jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==";
       };
     };
-    "@babel/plugin-transform-new-target-7.4.4" = {
+    "@babel/plugin-transform-new-target-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
-        sha512 = "r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz";
+        sha512 = "CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==";
       };
     };
-    "@babel/plugin-transform-object-super-7.5.5" = {
+    "@babel/plugin-transform-object-super-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.5.5";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
-        sha512 = "un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz";
+        sha512 = "ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==";
       };
     };
-    "@babel/plugin-transform-parameters-7.4.4" = {
+    "@babel/plugin-transform-parameters-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.4.4";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
-        sha512 = "oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz";
+        sha512 = "OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.2.0" = {
+    "@babel/plugin-transform-property-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
-        sha512 = "9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz";
+        sha512 = "MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.3.0" = {
+    "@babel/plugin-transform-react-jsx-7.7.7" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.3.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
-        sha512 = "a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.7.tgz";
+        sha512 = "SlPjWPbva2+7/ZJbGcoqjl4LsQaLpKEzxW9hcxU7675s24JmdotJOSJ4cgAbV82W3FcZpHIGmRZIlUL8ayMvjw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.4.5" = {
+    "@babel/plugin-transform-regenerator-7.7.5" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.4.5";
+      version = "7.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
-        sha512 = "gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz";
+        sha512 = "/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.2.0" = {
+    "@babel/plugin-transform-reserved-words-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
-        sha512 = "fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz";
+        sha512 = "OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==";
       };
     };
-    "@babel/plugin-transform-runtime-7.6.2" = {
+    "@babel/plugin-transform-runtime-7.7.6" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.6.2";
+      version = "7.7.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz";
-        sha512 = "cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz";
+        sha512 = "tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.2.0" = {
+    "@babel/plugin-transform-shorthand-properties-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
-        sha512 = "QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz";
+        sha512 = "q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==";
       };
     };
-    "@babel/plugin-transform-spread-7.6.2" = {
+    "@babel/plugin-transform-spread-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.6.2";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz";
-        sha512 = "DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz";
+        sha512 = "8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.2.0" = {
+    "@babel/plugin-transform-sticky-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
-        sha512 = "KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz";
+        sha512 = "Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.4.4" = {
+    "@babel/plugin-transform-template-literals-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.4.4";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
-        sha512 = "mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz";
+        sha512 = "sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.2.0" = {
+    "@babel/plugin-transform-typeof-symbol-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.2.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
-        sha512 = "2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz";
+        sha512 = "KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==";
       };
     };
-    "@babel/plugin-transform-typescript-7.6.3" = {
+    "@babel/plugin-transform-typescript-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz";
-        sha512 = "aiWINBrPMSC3xTXRNM/dfmyYuPNKY/aexYqBgh0HBI5Y+WO5oRAqW/oROYeYHrF4Zw12r9rK4fMk/ZlAmqx/FQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.4.tgz";
+        sha512 = "X8e3tcPEKnwwPVG+vP/vSqEShkwODOEeyQGod82qrIuidwIrfnsGn11qPM1jBLF4MqguTXXYzm58d0dY+/wdpg==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.6.2" = {
+    "@babel/plugin-transform-unicode-regex-7.7.4" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.6.2";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz";
-        sha512 = "orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz";
+        sha512 = "N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==";
       };
     };
     "@babel/polyfill-7.6.0" = {
@@ -949,22 +994,22 @@ let
         sha512 = "q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==";
       };
     };
-    "@babel/preset-env-7.6.3" = {
+    "@babel/preset-env-7.7.7" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.6.3";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz";
-        sha512 = "CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz";
+        sha512 = "pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==";
       };
     };
-    "@babel/preset-flow-7.0.0" = {
+    "@babel/preset-flow-7.7.4" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
-      version = "7.0.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz";
-        sha512 = "bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==";
+        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.7.4.tgz";
+        sha512 = "6LbUqcHD8BcRtXMOp5bc5nJeU8RlKh6q5U8TgZeCrf9ebBdW8Wyy5ujAUnbJfmzQ56Kkq5XtwErC/5+5RHyFYA==";
       };
     };
     "@babel/preset-stage-2-7.0.0" = {
@@ -976,22 +1021,22 @@ let
         sha512 = "A8ia2Wus0OAP6hh28ZgPSCBJEX3Jnql3kg9di/I+Lmg1gbJXgDZBrHr/UGZXl20Vi1lXgMuUq8c8J899KFr5gA==";
       };
     };
-    "@babel/preset-typescript-7.6.0" = {
+    "@babel/preset-typescript-7.7.7" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.6.0";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz";
-        sha512 = "4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.7.7.tgz";
+        sha512 = "Apg0sCTovsSA+pEaI8efnA44b9x4X/7z4P8vsWMiN8rSUaM4y4+Shl5NMWnMl6njvt96+CEb6jwpXAKYAVCSQA==";
       };
     };
-    "@babel/register-7.6.2" = {
+    "@babel/register-7.7.7" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.6.2";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.6.2.tgz";
-        sha512 = "xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.7.7.tgz";
+        sha512 = "S2mv9a5dc2pcpg/ConlKZx/6wXaEwHeqfo7x/QbXsdCAZm+WJC1ekVvL1TVxNsedTs5y/gG63MhJTEsmwmjtiA==";
       };
     };
     "@babel/runtime-7.6.2" = {
@@ -1003,40 +1048,40 @@ let
         sha512 = "EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==";
       };
     };
-    "@babel/runtime-7.6.3" = {
+    "@babel/runtime-7.7.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.6.3";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz";
-        sha512 = "kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz";
+        sha512 = "uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==";
       };
     };
-    "@babel/runtime-corejs2-7.6.3" = {
+    "@babel/runtime-corejs2-7.7.7" = {
       name = "_at_babel_slash_runtime-corejs2";
       packageName = "@babel/runtime-corejs2";
-      version = "7.6.3";
+      version = "7.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.6.3.tgz";
-        sha512 = "nuA2o+rgX2+PrNTZ063ehncVcg7sn+tU71BB81SaWRVUbGwCOlb0+yQA1e0QqmzOfRSYOxfvf8cosYqFbJEiwQ==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.7.7.tgz";
+        sha512 = "P91T3dFYQL7aj44PxOMIAbo66Ag3NbmXG9fseSYaXxapp3K9XTct5HU9IpTOm2D0AoktKusgqzN5YcSxZXEKBQ==";
       };
     };
-    "@babel/template-7.6.0" = {
+    "@babel/template-7.7.4" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.6.0";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz";
-        sha512 = "5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz";
+        sha512 = "qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==";
       };
     };
-    "@babel/traverse-7.6.3" = {
+    "@babel/traverse-7.7.4" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz";
-        sha512 = "unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz";
+        sha512 = "P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==";
       };
     };
     "@babel/types-7.0.0-beta.38" = {
@@ -1048,13 +1093,13 @@ let
         sha512 = "SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==";
       };
     };
-    "@babel/types-7.6.3" = {
+    "@babel/types-7.7.4" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.6.3";
+      version = "7.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz";
-        sha512 = "CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz";
+        sha512 = "cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==";
       };
     };
     "@calebboyd/semaphore-1.3.1" = {
@@ -1066,6 +1111,51 @@ let
         sha512 = "17z9me12RgAEcMhIgR7f+BiXKbzwF9p1VraI69OxrUUSWGuSMOyOTEHQNVtMKuVrkEDVD0/Av5uiGZPBMYZljw==";
       };
     };
+    "@citation-js/core-0.4.9" = {
+      name = "_at_citation-js_slash_core";
+      packageName = "@citation-js/core";
+      version = "0.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/core/-/core-0.4.9.tgz";
+        sha512 = "nVfoZQqJjTsEMIAzUFkJMFqoZuUA03vadiTGBsq0jrbmonTGDVtk50D0/bzwAZVjjoxSWjs5w/DqXXrpcFqFkQ==";
+      };
+    };
+    "@citation-js/date-0.4.4" = {
+      name = "_at_citation-js_slash_date";
+      packageName = "@citation-js/date";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/date/-/date-0.4.4.tgz";
+        sha512 = "wD195pZPwCCN8idhxz4HYZbf5mMnPZMRhOipcU8v1orZWqZp6YDRjOplNKo6yX7tf6fB4ZO8QLuNaNjuic5AWQ==";
+      };
+    };
+    "@citation-js/name-0.4.2" = {
+      name = "_at_citation-js_slash_name";
+      packageName = "@citation-js/name";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/name/-/name-0.4.2.tgz";
+        sha512 = "brSPsjs2fOVzSnARLKu0qncn6suWjHVQtrqSUrnqyaRH95r/Ad4wPF5EsoWr+Dx8HzkCGb/ogmoAzfCsqlTwTQ==";
+      };
+    };
+    "@citation-js/plugin-bibtex-0.4.9" = {
+      name = "_at_citation-js_slash_plugin-bibtex";
+      packageName = "@citation-js/plugin-bibtex";
+      version = "0.4.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/plugin-bibtex/-/plugin-bibtex-0.4.9.tgz";
+        sha512 = "PGfyn8GeJMvhcpr1PiWkJR25N2rH7+t6JQYoN35ngT3KzIIVcpC81dG2jQOy+t10D55tu7H61KfJZGFAnhgpWg==";
+      };
+    };
+    "@citation-js/plugin-csl-0.4.10" = {
+      name = "_at_citation-js_slash_plugin-csl";
+      packageName = "@citation-js/plugin-csl";
+      version = "0.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@citation-js/plugin-csl/-/plugin-csl-0.4.10.tgz";
+        sha512 = "8AnlLKZ9sAK/p2L3vi9IBDxB9D0vXukFC7hjS16WNW5HkHNfb2FN91APEXQfvHbJ0RePy5xvHe5Ou8T1muFeoQ==";
+      };
+    };
     "@cliqz-oss/firefox-client-0.3.1" = {
       name = "_at_cliqz-oss_slash_firefox-client";
       packageName = "@cliqz-oss/firefox-client";
@@ -1228,13 +1318,13 @@ let
         sha1 = "890ae7c5d8c877f6d384860215ace9d7ec945bda";
       };
     };
-    "@hapi/address-2.1.2" = {
+    "@hapi/address-2.1.4" = {
       name = "_at_hapi_slash_address";
       packageName = "@hapi/address";
-      version = "2.1.2";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz";
-        sha512 = "O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==";
+        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz";
+        sha512 = "QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==";
       };
     };
     "@hapi/bourne-1.3.2" = {
@@ -1246,13 +1336,13 @@ let
         sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
       };
     };
-    "@hapi/hoek-8.3.2" = {
+    "@hapi/hoek-8.5.0" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
-      version = "8.3.2";
+      version = "8.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.2.tgz";
-        sha512 = "NP5SG4bzix+EtSMtcudp8TvI0lB46mXNo8uFpTDw6tqxGx4z5yx+giIunEFA0Z7oUO4DuWrOJV9xqR2tJVEdyA==";
+        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz";
+        sha512 = "7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==";
       };
     };
     "@hapi/joi-15.1.1" = {
@@ -1282,103 +1372,103 @@ let
         sha512 = "FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==";
       };
     };
-    "@ionic/cli-framework-3.0.0" = {
+    "@ionic/cli-framework-3.0.5" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "3.0.0";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-3.0.0.tgz";
-        sha512 = "Pm7Kq2xg/Zas1eU98UC9Ghb4l2kUQh2/IH06SUof5dpB+YpK9mh78IRAcppPnYC5d7SNDYy8fWeo6m+NR9il/w==";
+        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-3.0.5.tgz";
+        sha512 = "pskdkbWlEM+QO4qN5Oj+SQMEPx1oyFtbqKUsUE3v7StWK1E4ovl6YsG+y4CBnYF2qDj3Vs+Yh52osarN8jM8jg==";
       };
     };
-    "@ionic/cli-framework-prompts-1.0.1" = {
+    "@ionic/cli-framework-prompts-1.0.4" = {
       name = "_at_ionic_slash_cli-framework-prompts";
       packageName = "@ionic/cli-framework-prompts";
-      version = "1.0.1";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-1.0.1.tgz";
-        sha512 = "jYFc8pA9Vk64CX5S0wJ6Mq/WtowsZcebfvQe0X2JRwMkwpiOa2ZqK00CYrw1ytS9jeUzJChNX6n1hBUdarwlsw==";
+        url = "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-1.0.4.tgz";
+        sha512 = "mII1sPCWDsQYxOSBFjQBPzis2UJuM59T6O1/6EelCQGilHEMZ39bFNb8O2f3Irnx6y6sX/4VVTy2BQwDHMK1yA==";
       };
     };
-    "@ionic/discover-2.0.6" = {
+    "@ionic/discover-2.0.7" = {
       name = "_at_ionic_slash_discover";
       packageName = "@ionic/discover";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/discover/-/discover-2.0.6.tgz";
-        sha512 = "OEjUcVDliTqCWlFGFbD+msTLwQCXNHXUTdg6PQIjDn5RipVSWtpVB+DjLO+D1zYkY6TgD9mxBcIwiYJBRuw5dg==";
+        url = "https://registry.npmjs.org/@ionic/discover/-/discover-2.0.7.tgz";
+        sha512 = "2pPhSqzD6tSi2BvQehnXxhlFZ1eTgHlRyS7A5yjZ85c5LMj1GsMxrD69EhhurINCKSmtrr/Bl2erW6mpwsKuUQ==";
       };
     };
-    "@ionic/utils-array-1.2.1" = {
+    "@ionic/utils-array-1.2.2" = {
       name = "_at_ionic_slash_utils-array";
       packageName = "@ionic/utils-array";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-1.2.1.tgz";
-        sha512 = "t0/gXFf70oDPpviGUHpaDD9++zIx8nFXpPm8c3We8iH5dRwEJLSun+AJTqxO/XPzEhM24KBuj3rLY9bSYBadEg==";
+        url = "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-1.2.2.tgz";
+        sha512 = "t9FkPHw1OfWkbGobvr2z5bMfpQT3WE/LEFGLraNFiygtOrS3JQnjmqgUHQXk+WVf9RAt5pMUKcmNRCd+AUCvwQ==";
       };
     };
-    "@ionic/utils-fs-2.0.8" = {
+    "@ionic/utils-fs-2.0.9" = {
       name = "_at_ionic_slash_utils-fs";
       packageName = "@ionic/utils-fs";
-      version = "2.0.8";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-2.0.8.tgz";
-        sha512 = "7yuU+L+tlt9NIwA6nb/3A+zPr7NIKuvIAo5ijVdHX3VTAdw/x5JXJgGl0BApKcqT1cTJImNt5tc2O4CB1cnhKA==";
+        url = "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-2.0.9.tgz";
+        sha512 = "koOcdQlMHLIncPVZYQ+GkBHFhu7CJd0PdzDf9EfQBpOZwY66muS7UAlzVtoeY6tURYYniJlQsmg3auTIgVy9bQ==";
       };
     };
-    "@ionic/utils-network-1.0.5" = {
+    "@ionic/utils-network-1.0.6" = {
       name = "_at_ionic_slash_utils-network";
       packageName = "@ionic/utils-network";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-1.0.5.tgz";
-        sha512 = "seOoxQUKTugpNjQWYVAmylh6mfddPyE2EsWWyn6ojkp7HurMadvRZa9OQ/PrhMjkphHupPMyuIukaD7F2zMW9Q==";
+        url = "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-1.0.6.tgz";
+        sha512 = "a7W44S+1ACuRAle9o6YuyTtt6MgxcKhK65Qf1M6rVpzfhW/rJ9gpyACbICHXst5jh2k7ngp5CT9Jyw5fByHNlQ==";
       };
     };
-    "@ionic/utils-object-1.0.5" = {
+    "@ionic/utils-object-1.0.6" = {
       name = "_at_ionic_slash_utils-object";
       packageName = "@ionic/utils-object";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-1.0.5.tgz";
-        sha512 = "nyNH8EJcE/xl5G7Zyz5Thy5f1Otj+fhsXca3C5WsCG6y7yb2biDaaw3lgq/KtEYfXyH1znHsbs9hdJNLgCefGQ==";
+        url = "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-1.0.6.tgz";
+        sha512 = "3defzcaHsdZQgQMKIDMki4Klp9hDKVbRfDCet6f6Xpmd8ycgIgW4wBbtcJRkasps2KJYJLs810mvI/1szOYrSA==";
       };
     };
-    "@ionic/utils-process-1.0.5" = {
+    "@ionic/utils-process-1.0.8" = {
       name = "_at_ionic_slash_utils-process";
       packageName = "@ionic/utils-process";
-      version = "1.0.5";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-1.0.5.tgz";
-        sha512 = "zzDeLiz2lnpI9hKoMHbQiKfbnfFor9LXcW1ZWIKy9YkGOXv80UWbQq43CstMtnDtghcXLS02DaOVtcJPh47psw==";
+        url = "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-1.0.8.tgz";
+        sha512 = "N6T6fwZczPW0+BAxiE6UgrlSXpb2di02D91aRkTM5aX2mQJ3kHI/O7nJ6uasksyipcwr3ou0HWtRMjcu+demYg==";
       };
     };
-    "@ionic/utils-stream-2.0.4" = {
+    "@ionic/utils-stream-2.0.5" = {
       name = "_at_ionic_slash_utils-stream";
       packageName = "@ionic/utils-stream";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-2.0.4.tgz";
-        sha512 = "qha4Msonb44++xvf8YppBR27dNBRuMLSty4/THH9uD6UEdjU2+23LWACKuqnQUSsZjQdvALVDMcRRWEIYEL2VQ==";
+        url = "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-2.0.5.tgz";
+        sha512 = "GOjEsgEyFTpX5Y6MpDDograU7PgPcclKvrhe1Lhft7VSg6RzeEzmZykzkDK89visw2Qb45G0gfyOuxLlq+WetA==";
       };
     };
-    "@ionic/utils-subprocess-1.0.9" = {
+    "@ionic/utils-subprocess-1.0.12" = {
       name = "_at_ionic_slash_utils-subprocess";
       packageName = "@ionic/utils-subprocess";
-      version = "1.0.9";
+      version = "1.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-1.0.9.tgz";
-        sha512 = "rNT5/aVsstNebIGM+sq/iibKe1q07NMShKODeRSq1DUVSs8SVQdJGKPZ4/3rGFT5CYsqCZVPQDk/VzDhjQoHMA==";
+        url = "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-1.0.12.tgz";
+        sha512 = "up+C4u96xJ4Bnr2R8BehnteUZdROxVVOOxcaghbRd2A4xvPe6pEHK9cAmIIO1qMdDWfz2ET28/AgdqRgpA5wOw==";
       };
     };
-    "@ionic/utils-terminal-1.0.5" = {
+    "@ionic/utils-terminal-1.1.2" = {
       name = "_at_ionic_slash_utils-terminal";
       packageName = "@ionic/utils-terminal";
-      version = "1.0.5";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-1.0.5.tgz";
-        sha512 = "kaE/sKG3p6y9n73IfR0hU218YORS9P1sg4+GYCie+iGxSTixcKIX7yUBOCY1s2Oav0xS9mjGcpa6ppzANC70bw==";
+        url = "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-1.1.2.tgz";
+        sha512 = "ODXbta2kvFNkMIEGwl7KX5gJTcZZHkzSLoBh3wND2H+EsG0KpIqOZKWMtkj+suuPut85wyLZ7fGfARnrNf7dtA==";
       };
     };
     "@kbrandwijk/swagger-to-graphql-2.4.3" = {
@@ -1390,31 +1480,31 @@ let
         sha512 = "CNVsCrMge/jq6DCT5buNZ8PACY9RTvPJbCNoIcndfkJOCsNxOx9dnc5qw4pHZdHi8GS6l3qlgkuFKp33iD8J2Q==";
       };
     };
-    "@lerna/add-3.18.0" = {
+    "@lerna/add-3.19.0" = {
       name = "_at_lerna_slash_add";
       packageName = "@lerna/add";
-      version = "3.18.0";
+      version = "3.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/add/-/add-3.18.0.tgz";
-        sha512 = "Z5EaQbBnJn1LEPb0zb0Q2o9T8F8zOnlCsj6JYpY6aSke17UUT7xx0QMN98iBK+ueUHKjN/vdFdYlNCYRSIdujA==";
+        url = "https://registry.npmjs.org/@lerna/add/-/add-3.19.0.tgz";
+        sha512 = "qzhxPyoczvvT1W0wwCK9I0iJ4B9WR+HzYsusmRuzM3mEhWjowhbuvKEl5BjGYuXc9AvEErM/S0Fm5K0RcuS39Q==";
       };
     };
-    "@lerna/bootstrap-3.18.0" = {
+    "@lerna/bootstrap-3.18.5" = {
       name = "_at_lerna_slash_bootstrap";
       packageName = "@lerna/bootstrap";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.18.0.tgz";
-        sha512 = "3DZKWIaKvr7sUImoKqSz6eqn84SsOVMnA5QHwgzXiQjoeZ/5cg9x2r+Xj3+3w/lvLoh0j8U2GNtrIaPNis4bKQ==";
+        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.18.5.tgz";
+        sha512 = "9vD/BfCz8YSF2Dx7sHaMVo6Cy33WjLEmoN1yrHgNkHjm7ykWbLHG5wru0f4Y4pvwa0s5Hf76rvT8aJWzGHk9IQ==";
       };
     };
-    "@lerna/changed-3.18.3" = {
+    "@lerna/changed-3.18.5" = {
       name = "_at_lerna_slash_changed";
       packageName = "@lerna/changed";
-      version = "3.18.3";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.18.3.tgz";
-        sha512 = "xZW7Rm+DlDIGc0EvKGyJZgT9f8FFa4d52mr/Y752dZuXR2qRmf9tXhVloRG39881s2A6yi3jqLtXZggKhsQW4Q==";
+        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.18.5.tgz";
+        sha512 = "IXS7VZ5VDQUfCsgK56WYxd42luMBxL456cNUf1yBgQ1cy1U2FPVMitIdLN4AcP7bJizdPWeG8yDptf47jN/xVw==";
       };
     };
     "@lerna/check-working-tree-3.16.5" = {
@@ -1435,22 +1525,22 @@ let
         sha512 = "vdcI7mzei9ERRV4oO8Y1LHBZ3A5+ampRKg1wq5nutLsUA4mEBN6H7JqjWOMY9xZemv6+kATm2ofjJ3lW5TszQg==";
       };
     };
-    "@lerna/clean-3.18.0" = {
+    "@lerna/clean-3.18.5" = {
       name = "_at_lerna_slash_clean";
       packageName = "@lerna/clean";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.18.0.tgz";
-        sha512 = "BiwBELZNkarRQqj+v5NPB1aIzsOX+Y5jkZ9a5UbwHzEdBUQ5lQa0qaMLSOve/fSkaiZQxe6qnTyatN75lOcDMg==";
+        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.18.5.tgz";
+        sha512 = "tHxOj9frTIhB/H2gtgMU3xpIc4IJEhXcUlReko6RJt8TTiDZGPDudCcgjg6i7n15v9jXMOc1y4F+y5/1089bfA==";
       };
     };
-    "@lerna/cli-3.18.0" = {
+    "@lerna/cli-3.18.5" = {
       name = "_at_lerna_slash_cli";
       packageName = "@lerna/cli";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.0.tgz";
-        sha512 = "AwDyfGx7fxJgeaZllEuyJ9LZ6Tdv9yqRD9RX762yCJu+PCAFvB9bp6OYuRSGli7QQgM0CuOYnSg4xVNOmuGKDA==";
+        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.18.5.tgz";
+        sha512 = "erkbxkj9jfc89vVs/jBLY/fM0I80oLmJkFUV3Q3wk9J3miYhP14zgVEBsPZY68IZlEjT6T3Xlq2xO1AVaatHsA==";
       };
     };
     "@lerna/collect-uncommitted-3.16.5" = {
@@ -1471,31 +1561,31 @@ let
         sha512 = "LJMKgWsE/var1RSvpKDIxS8eJ7POADEc0HM3FQiTpEczhP6aZfv9x3wlDjaHpZm9MxJyQilqxZcasRANmRcNgw==";
       };
     };
-    "@lerna/command-3.18.0" = {
+    "@lerna/command-3.18.5" = {
       name = "_at_lerna_slash_command";
       packageName = "@lerna/command";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/command/-/command-3.18.0.tgz";
-        sha512 = "JQ0TGzuZc9Ky8xtwtSLywuvmkU8X62NTUT3rMNrUykIkOxBaO+tE0O98u2yo/9BYOeTRji9IsjKZEl5i9Qt0xQ==";
+        url = "https://registry.npmjs.org/@lerna/command/-/command-3.18.5.tgz";
+        sha512 = "36EnqR59yaTU4HrR1C9XDFti2jRx0BgpIUBeWn129LZZB8kAB3ov1/dJNa1KcNRKp91DncoKHLY99FZ6zTNpMQ==";
       };
     };
-    "@lerna/conventional-commits-3.16.4" = {
+    "@lerna/conventional-commits-3.18.5" = {
       name = "_at_lerna_slash_conventional-commits";
       packageName = "@lerna/conventional-commits";
-      version = "3.16.4";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.16.4.tgz";
-        sha512 = "QSZJ0bC9n6FVaf+7KDIq5zMv8WnHXnwhyL5jG1Nyh3SgOg9q2uflqh7YsYB+G6FwaRfnPaKosh6obijpYg0llA==";
+        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.18.5.tgz";
+        sha512 = "qcvXIEJ3qSgalxXnQ7Yxp5H9Ta5TVyai6vEor6AAEHc20WiO7UIdbLDCxBtiiHMdGdpH85dTYlsoYUwsCJu3HQ==";
       };
     };
-    "@lerna/create-3.18.0" = {
+    "@lerna/create-3.18.5" = {
       name = "_at_lerna_slash_create";
       packageName = "@lerna/create";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/create/-/create-3.18.0.tgz";
-        sha512 = "y9oS7ND5T13c+cCTJHa2Y9in02ppzyjsNynVWFuS40eIzZ3z058d9+3qSBt1nkbbQlVyfLoP6+bZPsjyzap5ig==";
+        url = "https://registry.npmjs.org/@lerna/create/-/create-3.18.5.tgz";
+        sha512 = "cHpjocbpKmLopCuZFI7cKEM3E/QY8y+yC7VtZ4FQRSaLU8D8i2xXtXmYaP1GOlVNavji0iwoXjuNpnRMInIr2g==";
       };
     };
     "@lerna/create-symlink-3.16.2" = {
@@ -1516,31 +1606,31 @@ let
         sha512 = "c01+4gUF0saOOtDBzbLMFOTJDHTKbDFNErEY6q6i9QaXuzy9LNN62z+Hw4acAAZuJQhrVWncVathcmkkjvSVGw==";
       };
     };
-    "@lerna/diff-3.18.0" = {
+    "@lerna/diff-3.18.5" = {
       name = "_at_lerna_slash_diff";
       packageName = "@lerna/diff";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.18.0.tgz";
-        sha512 = "3iLNlpurc2nV9k22w8ini2Zjm2UPo3xtQgWyqdA6eJjvge0+5AlNAWfPoV6cV+Hc1xDbJD2YDSFpZPJ1ZGilRw==";
+        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.18.5.tgz";
+        sha512 = "u90lGs+B8DRA9Z/2xX4YaS3h9X6GbypmGV6ITzx9+1Ga12UWGTVlKaCXBgONMBjzJDzAQOK8qPTwLA57SeBLgA==";
       };
     };
-    "@lerna/exec-3.18.0" = {
+    "@lerna/exec-3.18.5" = {
       name = "_at_lerna_slash_exec";
       packageName = "@lerna/exec";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.18.0.tgz";
-        sha512 = "hwkuzg1+38+pbzdZPhGtLIYJ59z498/BCNzR8d4/nfMYm8lFbw9RgJJajLcdbuJ9LJ08cZ93hf8OlzetL84TYg==";
+        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.18.5.tgz";
+        sha512 = "Q1nz95MeAxctS9bF+aG8FkjixzqEjRpg6ujtnDW84J42GgxedkPtNcJ2o/MBqLd/mxAlr+fW3UZ6CPC/zgoyCg==";
       };
     };
-    "@lerna/filter-options-3.18.0" = {
+    "@lerna/filter-options-3.18.4" = {
       name = "_at_lerna_slash_filter-options";
       packageName = "@lerna/filter-options";
-      version = "3.18.0";
+      version = "3.18.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.18.0.tgz";
-        sha512 = "UGVcixs3TGzD8XSmFSbwUVVQnAjaZ6Rmt8Vuq2RcR98ULkGB1LiGNMY89XaNBhaaA8vx7yQWiLmJi2AfmD63Qg==";
+        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.18.4.tgz";
+        sha512 = "4giVQD6tauRwweO/322LP2gfVDOVrt/xN4khkXyfkJDfcsZziFXq+668otD9KSLL8Ps+To4Fah3XbK0MoNuEvA==";
       };
     };
     "@lerna/filter-packages-3.18.0" = {
@@ -1606,49 +1696,49 @@ let
         sha512 = "WL7LycR9bkftyqbYop5rEGJ9sRFIV55tSGmbN1HLrF9idwOCD7CLrT64t235t3t4O5gehDnwKI5h2U3oxTrF8Q==";
       };
     };
-    "@lerna/import-3.18.0" = {
+    "@lerna/import-3.18.5" = {
       name = "_at_lerna_slash_import";
       packageName = "@lerna/import";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/import/-/import-3.18.0.tgz";
-        sha512 = "2pYIkkBTZsEdccfc+dPsKZeSw3tBzKSyl0b2lGrfmNX2Y41qqOzsJCyI1WO1uvEIP8aOaLy4hPpqRIBe4ee7hw==";
+        url = "https://registry.npmjs.org/@lerna/import/-/import-3.18.5.tgz";
+        sha512 = "PH0WVLEgp+ORyNKbGGwUcrueW89K3Iuk/DDCz8mFyG2IG09l/jOF0vzckEyGyz6PO5CMcz4TI1al/qnp3FrahQ==";
       };
     };
-    "@lerna/init-3.18.0" = {
+    "@lerna/init-3.18.5" = {
       name = "_at_lerna_slash_init";
       packageName = "@lerna/init";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/init/-/init-3.18.0.tgz";
-        sha512 = "/vHpmXkMlSaJaq25v5K13mcs/2L7E32O6dSsEkHaZCDRiV2BOqsZng9jjbE/4ynfsWfLLlU9ZcydwG72C3I+mQ==";
+        url = "https://registry.npmjs.org/@lerna/init/-/init-3.18.5.tgz";
+        sha512 = "oCwipWrha98EcJAHm8AGd2YFFLNI7AW9AWi0/LbClj1+XY9ah+uifXIgYGfTk63LbgophDd8936ZEpHMxBsbAg==";
       };
     };
-    "@lerna/link-3.18.0" = {
+    "@lerna/link-3.18.5" = {
       name = "_at_lerna_slash_link";
       packageName = "@lerna/link";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/link/-/link-3.18.0.tgz";
-        sha512 = "FbbIpH0EpsC+dpAbvxCoF3cn7F1MAyJjEa5Lh3XkDGATOlinMFuKCbmX0NLpOPQZ5zghvrui97cx+jz5F2IlHw==";
+        url = "https://registry.npmjs.org/@lerna/link/-/link-3.18.5.tgz";
+        sha512 = "xTN3vktJpkT7Nqc3QkZRtHO4bT5NvuLMtKNIBDkks0HpGxC9PRyyqwOoCoh1yOGbrWIuDezhfMg3Qow+6I69IQ==";
       };
     };
-    "@lerna/list-3.18.0" = {
+    "@lerna/list-3.18.5" = {
       name = "_at_lerna_slash_list";
       packageName = "@lerna/list";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/list/-/list-3.18.0.tgz";
-        sha512 = "mpB7Q6T+n2CaiPFz0LuOE+rXphDfHm0mKIwShnyS/XDcii8jXv+z9Iytj8p3rfCH2I1L80j2qL6jWzyGy/uzKA==";
+        url = "https://registry.npmjs.org/@lerna/list/-/list-3.18.5.tgz";
+        sha512 = "qIeomm28C2OCM8TMjEe/chTnQf6XLN54wPVQ6kZy+axMYxANFNt/uhs6GZEmhem7GEVawzkyHSz5ZJPsfH3IFg==";
       };
     };
-    "@lerna/listable-3.18.0" = {
+    "@lerna/listable-3.18.5" = {
       name = "_at_lerna_slash_listable";
       packageName = "@lerna/listable";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.0.tgz";
-        sha512 = "9gLGKYNLSKeurD+sJ2RA+nz4Ftulr91U127gefz0RlmAPpYSjwcJkxwa0UfJvpQTXv9C7yzHLnn0BjyAQRjuew==";
+        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.18.5.tgz";
+        sha512 = "Sdr3pVyaEv5A7ZkGGYR7zN+tTl2iDcinryBPvtuv20VJrXBE8wYcOks1edBTcOWsPjCE/rMP4bo1pseyk3UTsg==";
       };
     };
     "@lerna/log-packed-3.16.0" = {
@@ -1669,13 +1759,13 @@ let
         sha512 = "HbO3DUrTkCAn2iQ9+FF/eisDpWY5POQAOF1m7q//CZjdC2HSW3UYbKEGsSisFxSfaF9Z4jtrV+F/wX6qWs3CuA==";
       };
     };
-    "@lerna/npm-dist-tag-3.18.1" = {
+    "@lerna/npm-dist-tag-3.18.5" = {
       name = "_at_lerna_slash_npm-dist-tag";
       packageName = "@lerna/npm-dist-tag";
-      version = "3.18.1";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.1.tgz";
-        sha512 = "vWkZh2T/O9OjPLDrba0BTWO7ug/C3sCwjw7Qyk1aEbxMBXB/eEJPqirwJTWT+EtRJQYB01ky3K8ZFOhElVyjLw==";
+        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.18.5.tgz";
+        sha512 = "xw0HDoIG6HreVsJND9/dGls1c+lf6vhu7yJoo56Sz5bvncTloYGLUppIfDHQr4ZvmPCK8rsh0euCVh2giPxzKQ==";
       };
     };
     "@lerna/npm-install-3.16.5" = {
@@ -1687,13 +1777,13 @@ let
         sha512 = "hfiKk8Eku6rB9uApqsalHHTHY+mOrrHeWEs+gtg7+meQZMTS3kzv4oVp5cBZigndQr3knTLjwthT/FX4KvseFg==";
       };
     };
-    "@lerna/npm-publish-3.16.2" = {
+    "@lerna/npm-publish-3.18.5" = {
       name = "_at_lerna_slash_npm-publish";
       packageName = "@lerna/npm-publish";
-      version = "3.16.2";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.16.2.tgz";
-        sha512 = "tGMb9vfTxP57vUV5svkBQxd5Tzc+imZbu9ZYf8Mtwe0+HYfDjNiiHLIQw7G95w4YRdc5KsCE8sQ0uSj+f2soIg==";
+        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.18.5.tgz";
+        sha512 = "3etLT9+2L8JAx5F8uf7qp6iAtOLSMj+ZYWY6oUgozPi/uLqU0/gsMsEXh3F0+YVW33q0M61RpduBoAlOOZnaTg==";
       };
     };
     "@lerna/npm-run-script-3.16.5" = {
@@ -1705,13 +1795,13 @@ let
         sha512 = "1asRi+LjmVn3pMjEdpqKJZFT/3ZNpb+VVeJMwrJaV/3DivdNg7XlPK9LTrORuKU4PSvhdEZvJmSlxCKyDpiXsQ==";
       };
     };
-    "@lerna/otplease-3.16.0" = {
+    "@lerna/otplease-3.18.5" = {
       name = "_at_lerna_slash_otplease";
       packageName = "@lerna/otplease";
-      version = "3.16.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.16.0.tgz";
-        sha512 = "uqZ15wYOHC+/V0WnD2iTLXARjvx3vNrpiIeyIvVlDB7rWse9mL4egex/QSgZ+lDx1OID7l2kgvcUD9cFpbqB7Q==";
+        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-3.18.5.tgz";
+        sha512 = "S+SldXAbcXTEDhzdxYLU0ZBKuYyURP/ND2/dK6IpKgLxQYh/z4ScljPDMyKymmEvgiEJmBsPZAAPfmNPEzxjog==";
       };
     };
     "@lerna/output-3.13.0" = {
@@ -1741,13 +1831,13 @@ let
         sha512 = "2lHBWpaxcBoiNVbtyLtPUuTYEaB/Z+eEqRS9duxpZs6D+mTTZMNy6/5vpEVSCBmzvdYpyqhqaYjjSLvjjr5Riw==";
       };
     };
-    "@lerna/package-graph-3.18.0" = {
+    "@lerna/package-graph-3.18.5" = {
       name = "_at_lerna_slash_package-graph";
       packageName = "@lerna/package-graph";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.0.tgz";
-        sha512 = "BLYDHO5ihPh20i3zoXfLZ5ZWDCrPuGANgVhl7k5pCmRj90LCvT+C7V3zrw70fErGAfvkcYepMqxD+oBrAYwquQ==";
+        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.18.5.tgz";
+        sha512 = "8QDrR9T+dBegjeLr+n9WZTVxUYUhIUjUgZ0gvNxUBN8S1WB9r6H5Yk56/MVaB64tA3oGAN9IIxX6w0WvTfFudA==";
       };
     };
     "@lerna/prerelease-id-from-version-3.16.0" = {
@@ -1768,22 +1858,22 @@ let
         sha512 = "+LDwvdAp0BurOAWmeHE3uuticsq9hNxBI0+FMHiIai8jrygpJGahaQrBYWpwbshbQyVLeQgx3+YJdW2TbEdFWA==";
       };
     };
-    "@lerna/prompt-3.13.0" = {
+    "@lerna/prompt-3.18.5" = {
       name = "_at_lerna_slash_prompt";
       packageName = "@lerna/prompt";
-      version = "3.13.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.13.0.tgz";
-        sha512 = "P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==";
+        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.18.5.tgz";
+        sha512 = "rkKj4nm1twSbBEb69+Em/2jAERK8htUuV8/xSjN0NPC+6UjzAwY52/x9n5cfmpa9lyKf/uItp7chCI7eDmNTKQ==";
       };
     };
-    "@lerna/publish-3.18.3" = {
+    "@lerna/publish-3.18.5" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "3.18.3";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.18.3.tgz";
-        sha512 = "XlfWOWIhaSK0Y2sX5ppNWI5Y3CDtlxMcQa1hTbZlC5rrDA6vD32iutbmH6Ix3c6wtvVbSkgA39GWsQEXxPS+7w==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.18.5.tgz";
+        sha512 = "ifYqLX6mvw95T8vYRlhT68UC7Al0flQvnf5uF9lDgdrgR5Bs+BTwzk3D+0ctdqMtfooekrV6pqfW0R3gtwRffQ==";
       };
     };
     "@lerna/pulse-till-done-3.13.0" = {
@@ -1795,13 +1885,13 @@ let
         sha512 = "1SOHpy7ZNTPulzIbargrgaJX387csN7cF1cLOGZiJQA6VqnS5eWs2CIrG8i8wmaUavj2QlQ5oEbRMVVXSsGrzA==";
       };
     };
-    "@lerna/query-graph-3.18.0" = {
+    "@lerna/query-graph-3.18.5" = {
       name = "_at_lerna_slash_query-graph";
       packageName = "@lerna/query-graph";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.0.tgz";
-        sha512 = "fgUhLx6V0jDuKZaKj562jkuuhrfVcjl5sscdfttJ8dXNVADfDz76nzzwLY0ZU7/0m69jDedohn5Fx5p7hDEVEg==";
+        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-3.18.5.tgz";
+        sha512 = "50Lf4uuMpMWvJ306be3oQDHrWV42nai9gbIVByPBYJuVW8dT8O8pA3EzitNYBUdLL9/qEVbrR0ry1HD7EXwtRA==";
       };
     };
     "@lerna/resolve-symlink-3.16.0" = {
@@ -1822,13 +1912,13 @@ let
         sha512 = "bQlKmO0pXUsXoF8lOLknhyQjOZsCc0bosQDoX4lujBXSWxHVTg1VxURtWf2lUjz/ACsJVDfvHZbDm8kyBk5okA==";
       };
     };
-    "@lerna/run-3.18.0" = {
+    "@lerna/run-3.18.5" = {
       name = "_at_lerna_slash_run";
       packageName = "@lerna/run";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run/-/run-3.18.0.tgz";
-        sha512 = "sblxHBZ9djaaG7wefPcfEicDqzrB7CP1m/jIB0JvPEQwG4C2qp++ewBpkjRw/mBtjtzg0t7v0nNMXzaWYrQckQ==";
+        url = "https://registry.npmjs.org/@lerna/run/-/run-3.18.5.tgz";
+        sha512 = "1S0dZccNJO8+gT5ztYE4rHTEnbXVwThHOfDnlVt2KDxl9cbnBALk3xprGLW7lSzJsxegS849hxrAPUh0UorMgw==";
       };
     };
     "@lerna/run-lifecycle-3.16.2" = {
@@ -1840,13 +1930,13 @@ let
         sha512 = "RqFoznE8rDpyyF0rOJy3+KjZCeTkO8y/OB9orPauR7G2xQ7PTdCpgo7EO6ZNdz3Al+k1BydClZz/j78gNCmL2A==";
       };
     };
-    "@lerna/run-topologically-3.18.0" = {
+    "@lerna/run-topologically-3.18.5" = {
       name = "_at_lerna_slash_run-topologically";
       packageName = "@lerna/run-topologically";
-      version = "3.18.0";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.0.tgz";
-        sha512 = "lrfEewwuUMC3ioxf9Z9NdHUakN6ihekcPfdYbzR2slmdbjYKmIA5srkWdrK8NwOpQCAuekpOovH2s8X3FGEopg==";
+        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-3.18.5.tgz";
+        sha512 = "6N1I+6wf4hLOnPW+XDZqwufyIQ6gqoPfHZFkfWlvTQ+Ue7CuF8qIVQ1Eddw5HKQMkxqN10thKOFfq/9NQZ4NUg==";
       };
     };
     "@lerna/symlink-binary-3.17.0" = {
@@ -1885,13 +1975,13 @@ let
         sha512 = "SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==";
       };
     };
-    "@lerna/version-3.18.3" = {
+    "@lerna/version-3.18.5" = {
       name = "_at_lerna_slash_version";
       packageName = "@lerna/version";
-      version = "3.18.3";
+      version = "3.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/version/-/version-3.18.3.tgz";
-        sha512 = "IXXRlyM3Q/jrc+QZio+bgjG4ZaK+4LYmY4Yql1xyY0wZhAKsWP/Q6ho7e1EJNjNC5dUJO99Fq7qB05MkDf2OcQ==";
+        url = "https://registry.npmjs.org/@lerna/version/-/version-3.18.5.tgz";
+        sha512 = "eSMxLIDuVxZIq0JZKNih50x1IZuMmViwF59uwOGMx0hHB84N3waE8HXOF9CJXDSjeP6sHB8tS+Y+X5fFpBop2Q==";
       };
     };
     "@lerna/write-log-file-3.13.0" = {
@@ -1912,58 +2002,58 @@ let
         sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
       };
     };
-    "@node-red/editor-api-1.0.2" = {
+    "@node-red/editor-api-1.0.3" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.0.2.tgz";
-        sha512 = "yUvTU5b7gDL35NIC2qC54NY0uuIAewVzcPWsc+Rbjy9YpY1DUD2Gt5Ub9gR2QPWYtVPG4zSPOBtPhZEcZvBSxQ==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.0.3.tgz";
+        sha512 = "q/AFIIo7oORS5D3Tf94FniTNxRlPtdy4W/bp58UDzPpKamsgNbqdTFU0XG8vm87zDrYZeW3ZSuHQaYR6qMpxKQ==";
       };
     };
-    "@node-red/editor-client-1.0.2" = {
+    "@node-red/editor-client-1.0.3" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.0.2.tgz";
-        sha512 = "BhgzwWjxjrQJnZC/BMIZvco4H5ksZl+qh+3hy40ReDrNpp8xSc3mDIFoB785CZrYBtFMhasE2q0kqdYuNKE/Zw==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.0.3.tgz";
+        sha512 = "qCMDsyL5rKzw7vjwUUw53zBEnfzk0mOFufLVb3eEICuXRzFfQ9nNGr4r3W/ed29eLNZSAXOqOF4NZXeGdh3cbA==";
       };
     };
-    "@node-red/nodes-1.0.2" = {
+    "@node-red/nodes-1.0.3" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.0.2.tgz";
-        sha512 = "o5N0FZnLAEd1lF2ArLGoETosukFVI+nPTHWKUOoSd069eLuaS262BOTbbnk/oY4H2DEWQzjGZ2KKBItWlhbpXQ==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.0.3.tgz";
+        sha512 = "vSyeQCKKeX1lmlsseF3KmQVW/vP+kvWJa1l07F/26dCAKmfD85P06Bw+H8coBtmEjh/oMoecW1SSO9pfan6AWg==";
       };
     };
-    "@node-red/registry-1.0.2" = {
+    "@node-red/registry-1.0.3" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-1.0.2.tgz";
-        sha512 = "i6TZvVriini0732IN2DVMofkG8RmiaLKpkHaP1aRceHvweDQB4yorcQsPDxqU+uiJo3lQlc1oB5j13X3mdq8DQ==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-1.0.3.tgz";
+        sha512 = "zSlW8lnS6Bgez8Sbr+1XPVI4NG0LuQj+IQ2Ra0WU805nDNjwzcfLPOx2fjSXeKIgGjT3pU/K63oeNuzkcMfnEg==";
       };
     };
-    "@node-red/runtime-1.0.2" = {
+    "@node-red/runtime-1.0.3" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.0.2.tgz";
-        sha512 = "YMKu5HA4WWYdf2PinysONiEFkmoz+PHD4u9ormREBXPr4iCWmZ2+XqL4QRGAc/RA8FJQ8liCr2rLDUvAuSSVOQ==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.0.3.tgz";
+        sha512 = "wpFbylDo6ekIY48CptoYq5q55Ota4CjbvIaE7XNX/jF0D3YakzxLsAe0z7RGXI6NiFVfhmnhzWK6fIEFlm6ZRA==";
       };
     };
-    "@node-red/util-1.0.2" = {
+    "@node-red/util-1.0.3" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-1.0.2.tgz";
-        sha512 = "DwaS8ZDcIFcMUQCWpMEVt38Pr6H2JBCeghZEs5v6nH+pnemUi1x6Mi+CSvwywVc4WN4uzGhVr8dWxFh1Q6/iEQ==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-1.0.3.tgz";
+        sha512 = "55NKHIU6l1Rl6GtZus/rtcgdLJmXN40cXqNuj6JV1JyMz6t/K0FEQwHRhjIpoxFVznctAL+vt3UmgeU+MpnYWg==";
       };
     };
     "@nodelib/fs.stat-1.1.3" = {
@@ -2029,22 +2119,22 @@ let
         sha512 = "cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA==";
       };
     };
-    "@oclif/plugin-autocomplete-0.1.4" = {
+    "@oclif/plugin-autocomplete-0.1.5" = {
       name = "_at_oclif_slash_plugin-autocomplete";
       packageName = "@oclif/plugin-autocomplete";
-      version = "0.1.4";
+      version = "0.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-0.1.4.tgz";
-        sha512 = "ZyxJyL6jSt9Df68Smeu14xhZZwELE9IB5twhie1/56rt62nG6TJB4CZhaMqRk+33MDfU3JyWxNbIDMNMESlGqg==";
+        url = "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-0.1.5.tgz";
+        sha512 = "Afchpdd8FNfx9GaU/1D9IzyfiXvjfGybgzQ6G4GTFvPO0/hLdkXX3YyYq+SnxE6/bCrhg4pleiB+GuJACmmkEA==";
       };
     };
-    "@oclif/plugin-help-2.2.1" = {
+    "@oclif/plugin-help-2.2.2" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.1.tgz";
-        sha512 = "psEA3t41MSGBErLk6xCaAq2jKrRtx3Br+kHpd43vZeGEeZ7Gos4wgK0JAaHBbvhvUQskCHg8dzoqv4XEeTWeVQ==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.2.tgz";
+        sha512 = "Xh4o3TKEg5CsIpQx1XzzV0RYCShfksFuFF0CBodv5Eh1boAw06cBGv225LYdAX8lcSo9qklw/tuz2RsAsH0o9A==";
       };
     };
     "@oclif/plugin-not-found-1.2.3" = {
@@ -2083,13 +2173,13 @@ let
         sha512 = "60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==";
       };
     };
-    "@octokit/endpoint-5.5.0" = {
+    "@octokit/endpoint-5.5.1" = {
       name = "_at_octokit_slash_endpoint";
       packageName = "@octokit/endpoint";
-      version = "5.5.0";
+      version = "5.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.0.tgz";
-        sha512 = "TXYS6zXeBImNB9BVj+LneMDqXX+H0exkOpyXobvp92O3B1348QsKnNioISFKgOMsb3ibZvQGwCdpiwQd3KAjIA==";
+        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz";
+        sha512 = "nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==";
       };
     };
     "@octokit/plugin-enterprise-rest-3.6.2" = {
@@ -2101,40 +2191,40 @@ let
         sha512 = "3wF5eueS5OHQYuAEudkpN+xVeUsg8vYEMMenEzLphUZ7PRZ8OJtDcsreL3ad9zxXmBbaFWzLmFcdob5CLyZftA==";
       };
     };
-    "@octokit/request-5.3.0" = {
+    "@octokit/request-5.3.1" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-5.3.0.tgz";
-        sha512 = "mMIeNrtYyNEIYNsKivDyUAukBkw0M5ckyJX56xoFRXSasDPCloIXaQOnaKNopzQ8dIOvpdq1ma8gmrS+h6O2OQ==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz";
+        sha512 = "5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==";
       };
     };
-    "@octokit/request-error-1.0.4" = {
+    "@octokit/request-error-1.2.0" = {
       name = "_at_octokit_slash_request-error";
       packageName = "@octokit/request-error";
-      version = "1.0.4";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz";
-        sha512 = "L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==";
+        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz";
+        sha512 = "DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==";
       };
     };
-    "@octokit/rest-16.34.0" = {
+    "@octokit/rest-16.35.2" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "16.34.0";
+      version = "16.35.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.0.tgz";
-        sha512 = "EBe5qMQQOZRuezahWCXCnSe0J6tAqrW2hrEH9U8esXzKor1+HUDf8jgImaZf5lkTyWCQA296x9kAH5c0pxEgVQ==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.2.tgz";
+        sha512 = "iijaNZpn9hBpUdh8YdXqNiWazmq4R1vCUsmxpBB0kCQ0asHZpCx+HNs22eiHuwYKRhO31ZSAGBJLi0c+3XHaKQ==";
       };
     };
-    "@octokit/types-1.1.0" = {
+    "@octokit/types-2.0.2" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "1.1.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-1.1.0.tgz";
-        sha512 = "t4ZD74UnNVMq6kZBDZceflRKK3q4o5PoCKMAGht0RK84W57tqonqKL3vCxJHtbGExdan9RwV8r7VJBZxIM1O7Q==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-2.0.2.tgz";
+        sha512 = "StASIL2lgT3TRjxv17z9pAqbnI7HGu9DrJlg3sEBFfCLaMEqp+O3IQPUF6EZtQ4xkAu2ml6kMBBCtGxjvmtmuQ==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -2182,6 +2272,15 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
+    "@primer/octicons-9.3.1" = {
+      name = "_at_primer_slash_octicons";
+      packageName = "@primer/octicons";
+      version = "9.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-9.3.1.tgz";
+        sha512 = "E0Knv/hUfwpfJOVh7cPXXJf6gfNiIMBtMbhnqjkWHnpT/+bPJk4Q3l/YG6sCWELZ05KYpHBunpHNOlTyw3mbwg==";
+      };
+    };
     "@protobufjs/aspromise-1.1.2" = {
       name = "_at_protobufjs_slash_aspromise";
       packageName = "@protobufjs/aspromise";
@@ -2290,22 +2389,22 @@ let
         sha512 = "MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==";
       };
     };
-    "@schematics/angular-8.3.14" = {
+    "@schematics/angular-8.3.21" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "8.3.14";
+      version = "8.3.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.14.tgz";
-        sha512 = "1XXBh9+lowvltRlcCjDJa4GEr5Xq+uNJcxULHBaNY7YfQSwZ5KuyhTBWjCdKmMaTOV3pEcIHwyuNh26mpn98Bw==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.21.tgz";
+        sha512 = "KahQ+dHvTsGOZwY6IdzqJZLDEn0G89rrK3OY+7okZujoaLM+LXhxlPoznW1udnZJVTa3VNxYGx11fkgLtRJRqA==";
       };
     };
-    "@schematics/update-0.803.14" = {
+    "@schematics/update-0.803.21" = {
       name = "_at_schematics_slash_update";
       packageName = "@schematics/update";
-      version = "0.803.14";
+      version = "0.803.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/update/-/update-0.803.14.tgz";
-        sha512 = "1erj7oaR2vKXo1DLE0s4BbbouBmgeAHEkPHQM7FPtyroZ18kytlT+qjTbsSnlRCwcFsjxmRkbRjXaXDz7ttsYQ==";
+        url = "https://registry.npmjs.org/@schematics/update/-/update-0.803.21.tgz";
+        sha512 = "D3BRvEBF2cJEgogvFaNOfqtTFHHv/ctSRfOeAYWjUxILtb+2DpuZ9h5QYDFhN9MPgz/vRaOqFORa3sEZCRkX4g==";
       };
     };
     "@serverless/cli-1.4.0" = {
@@ -2335,13 +2434,13 @@ let
         sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
       };
     };
-    "@serverless/enterprise-plugin-3.2.0" = {
+    "@serverless/enterprise-plugin-3.2.6" = {
       name = "_at_serverless_slash_enterprise-plugin";
       packageName = "@serverless/enterprise-plugin";
-      version = "3.2.0";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-3.2.0.tgz";
-        sha512 = "FNOlna7fdC9HPAM6l0LG/4dV9z+UOgl0Ju/pwfSHmXanl+ROUg6lcU1ZXX4+fK6T0+doWGcGSP+ksd9XWSBNqw==";
+        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-3.2.6.tgz";
+        sha512 = "4KDHMhGx5qdoEBGlWqOr/IMAQoz1HdMLbS7VamdZ8AEFsczuIiGKVMoBsN0Wd87CYH3K7SFeEF2ozg+bJvrMaQ==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -2353,13 +2452,13 @@ let
         sha512 = "YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==";
       };
     };
-    "@serverless/platform-sdk-2.1.2" = {
+    "@serverless/platform-sdk-2.2.1" = {
       name = "_at_serverless_slash_platform-sdk";
       packageName = "@serverless/platform-sdk";
-      version = "2.1.2";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-2.1.2.tgz";
-        sha512 = "+mMrcagi6ROhlhHaZ5CBSJrWbs/Rk+/24Vqm+KEQliDpktr5CHTC5sFGk01uiKVFyceR3fTwxmNlRyywM7DRPA==";
+        url = "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-2.2.1.tgz";
+        sha512 = "XOpYzV9AKrWuW1IJqLxhwZZbspUTCe+f/bmkdMCzWZX7HpHtasYWCcAwZN/DsYq/3af/tBp8gkEsYh0GnaAaYg==";
       };
     };
     "@serverless/template-1.1.3" = {
@@ -2416,40 +2515,40 @@ let
         sha512 = "sA7V2JhgqJB9z5uYotgQc5iNDv//y+Mdm39rANxmFjtZMSYJZHkP80arzPjw1mB5ni/sWec7ieYUUFeySZBfVg==";
       };
     };
-    "@snyk/cocoapods-lockfile-parser-2.0.4" = {
+    "@snyk/cli-interface-2.3.0" = {
+      name = "_at_snyk_slash_cli-interface";
+      packageName = "@snyk/cli-interface";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.3.0.tgz";
+        sha512 = "ecbylK5Ol2ySb/WbfPj0s0GuLQR+KWKFzUgVaoNHaSoN6371qRWwf2uVr+hPUP4gXqCai21Ug/RDArfOhlPwrQ==";
+      };
+    };
+    "@snyk/cocoapods-lockfile-parser-3.0.0" = {
       name = "_at_snyk_slash_cocoapods-lockfile-parser";
       packageName = "@snyk/cocoapods-lockfile-parser";
-      version = "2.0.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-2.0.4.tgz";
-        sha512 = "d57bajPjqCiNXMuyMmt9Zt98zbjABZUFw+91B705flzV6oB7OThgtA40Eoin6iatYoStIx28bC3T6b0mScy/iA==";
+        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.0.0.tgz";
+        sha512 = "AebCc+v9vtOL9tFkU4/tommgVsXxqdx6t45kCkBW+FC4PaYvfYEg9Eg/9GqlY9+nFrLFo/uTr+E/aR0AF/KqYA==";
       };
     };
-    "@snyk/composer-lockfile-parser-1.0.3" = {
+    "@snyk/composer-lockfile-parser-1.2.0" = {
       name = "_at_snyk_slash_composer-lockfile-parser";
       packageName = "@snyk/composer-lockfile-parser";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.0.3.tgz";
-        sha512 = "hb+6E7kMzWlcwfe//ILDoktBPKL2a3+RnJT/CXnzRXaiLQpsdkf5li4q2v0fmvd+4v7L3tTN8KM+//lJyviEkg==";
-      };
-    };
-    "@snyk/dep-graph-1.12.0" = {
-      name = "_at_snyk_slash_dep-graph";
-      packageName = "@snyk/dep-graph";
-      version = "1.12.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.12.0.tgz";
-        sha512 = "n7+PlHn3SqznHgsCpeBRfEvU1oiQydoGkXQlnSB2+tfImiKXvY7YZbrg4wlbvYgylYiTbpCi5CpPNkJG14S+UQ==";
+        url = "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.2.0.tgz";
+        sha512 = "kZT+HTqgNcQMeoE5NM9M3jj463M8zI7ZxqZXLw9WoyVs5JTt9g0qFWxIG1cNwZdGVI+y7tzZbNWw9BlMD1vCCQ==";
       };
     };
-    "@snyk/dep-graph-1.13.0" = {
+    "@snyk/dep-graph-1.13.1" = {
       name = "_at_snyk_slash_dep-graph";
       packageName = "@snyk/dep-graph";
-      version = "1.13.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.13.0.tgz";
-        sha512 = "e0XcLH6Kgs/lunf6iDjbxEnm9+JYFEJn6eo/PlEUW+SMWBZ2uEXHBTDNp9oxjJou48PngzWMveEkniBAN+ulOQ==";
+        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.13.1.tgz";
+        sha512 = "Ww2xvm5UQgrq9eV0SdTBCh+w/4oI2rCx5vn1IOSeypaR0CO4p+do1vm3IDZ2ugg4jLSfHP8+LiD6ORESZMkQ2w==";
       };
     };
     "@snyk/gemfile-1.2.0" = {
@@ -2470,13 +2569,13 @@ let
         sha512 = "ceMD4CBS3qtAg+O0BUvkKdsheUNCqi+/+Rju243Ul8PsUgZnXmGiqfk/2z7DCprRQnxUTra4+IyeDQT7wAheCQ==";
       };
     };
-    "@snyk/snyk-cocoapods-plugin-1.0.3" = {
+    "@snyk/snyk-cocoapods-plugin-2.0.1" = {
       name = "_at_snyk_slash_snyk-cocoapods-plugin";
       packageName = "@snyk/snyk-cocoapods-plugin";
-      version = "1.0.3";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-1.0.3.tgz";
-        sha512 = "AHAA7z23nPi1eHODsDxeSkl73Ze3yphuqJjMl39ie323EzBDcb9g6uAACrk0Qn2K/K2D8uyxMAf2zDtc+JGQfw==";
+        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.0.1.tgz";
+        sha512 = "XVkvaMvMzQ3miJi/YZmsRJSAUfDloYhfg6pXPgzAeAugB4p+cNi01Z68pT62ypB8U/Ugh1Xx2pb9aoOFqBbSjA==";
       };
     };
     "@starptech/expression-parser-0.9.0" = {
@@ -2596,40 +2695,40 @@ let
         sha512 = "qSPTUptR/C4YwoeVXRLUij6TpxbXT7U0P9S0No+p9Q+EYJeNvl1NUTrcpQmzrRydo6vCR0RzVkHmj+gEckH2Ug==";
       };
     };
-    "@textlint/feature-flag-3.1.4" = {
+    "@textlint/feature-flag-3.1.5" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "3.1.4";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.4.tgz";
-        sha512 = "sQle1237X/ckMnHkSAuQYDRuCnKgBHdJuWFPHMpgT4CBb2UjWSZkjCgmzf3Ov6UZQL/1BwuA53wT4T+i1rB1zw==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.5.tgz";
+        sha512 = "KHQ/hYO4O2dNRcdSJQo/alLqMyVwsYIncMlCQdgmRDnr65vxTcKtMKEKFQ+CkelyCH1tKSIyp776xpXop6SWFQ==";
       };
     };
-    "@textlint/fixer-formatter-3.1.9" = {
+    "@textlint/fixer-formatter-3.1.10" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "3.1.9";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.9.tgz";
-        sha512 = "4eU2kJC0A5EljfhbVhwVaNUEiBSCaRq0k4h19/OeVk9blkAwmILtBbAgbuxGuQAOquBLJGLx+3+tspBOlydS2g==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.10.tgz";
+        sha512 = "rYGL3KKSSx+9un9EbONYnZVxj3yFMSGC1B/TQXC52C7Hpt6vpx5aRoovKpr4qTzzX1IhvxaMmlCyEKI6UZz1qw==";
       };
     };
-    "@textlint/kernel-3.1.9" = {
+    "@textlint/kernel-3.1.10" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "3.1.9";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.9.tgz";
-        sha512 = "WGD5Xb0wyYMdiqF+Ozo1TqnAo1LA5n+jmpFT/Q/Pnx2zifT4/OszwBd9g43g3xGdsUJKk00eKwvSQaCXxj07wg==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.10.tgz";
+        sha512 = "umCapHNApEYPzvUVBvPLwuF874+37Tw5Poa5Vhx8B8Y7MPfWg+q3bMvjnZvf9eBOKxxJdhxz8LtK7JrLuJIoFg==";
       };
     };
-    "@textlint/linter-formatter-3.1.8" = {
+    "@textlint/linter-formatter-3.1.9" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "3.1.8";
+      version = "3.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.8.tgz";
-        sha512 = "gq8g5GbRDxYlffjP+CuggSk5Hb35jg1fXLbffkLGbiWiJn/s6InbcBqCkxGLCzPqdRhN6uHE40ID3idKJWp2Rg==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.9.tgz";
+        sha512 = "jahCeq+g8aLJcQZaTXURYeyY2fw5hVbNilPxnYqvaXGSbrw0vrTPa2dJhfAEJ+H/Gw0ZSM9abNSoZI4GqAtWlA==";
       };
     };
     "@textlint/markdown-to-ast-6.1.6" = {
@@ -2659,31 +2758,31 @@ let
         sha512 = "w0oBF3OeTT8syF+Y3BT1/pFYhBT2ZbzBDGqFELZVeBQNtGUKCpvJtu4Q1fCftElTbOIY01aSecj3GJTS6tmlBg==";
       };
     };
-    "@textlint/textlint-plugin-markdown-5.1.9" = {
+    "@textlint/textlint-plugin-markdown-5.1.10" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "5.1.9";
+      version = "5.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.9.tgz";
-        sha512 = "5bYPGid5dIWBjY3oKhmWmeWvBfl04ZGp0c4OD24MZHRkxrARKJg7i+hR7qhedAGdkeZ33fxQt/NILvbuLSvQVw==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.10.tgz";
+        sha512 = "G7xoAugkwGY6pt262Coeab5TKq+dTBl1E6Uv83EW1iK6DZoHC0xxUrdRHGFeKbtGa0iM6BmKgEqjZfWOjus0LQ==";
       };
     };
-    "@textlint/textlint-plugin-text-4.1.9" = {
+    "@textlint/textlint-plugin-text-4.1.10" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "4.1.9";
+      version = "4.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.9.tgz";
-        sha512 = "7iWNs2gsc+GXcDQfaow/S/BVjlu/bSw1dbiMJLfVaRb+D9gAojVm+sGHt9ePAhr9MWjt1uDUsWsvSNDL0UpZWA==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.10.tgz";
+        sha512 = "w20Mt5RnWnZq4ai/H9yYEMSudPOSUBJ9+rNO8Ld2s1O2FiPnq++A/QQLuhhIJOjC9+slUemMYnlvVpa5PH775g==";
       };
     };
-    "@textlint/types-1.2.2" = {
+    "@textlint/types-1.2.3" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-1.2.2.tgz";
-        sha512 = "eo+/NSmJxAk47Dvnjp4p3jbA/z/adVoAXjFURRhVQ4W/1KTVLyvB+WdiJBp8fiT5t5Kf3XSxyiS7mZcrY2bf/Q==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-1.2.3.tgz";
+        sha512 = "48wXioiKIKAWPkgTWf/KyvZpjGH5L2ohmrSVgtx/u8q+KcY+q+/dslKy7QN0H+Yeu5Vj4GZRHOzCYWtzHMQleQ==";
       };
     };
     "@textlint/utils-1.0.3" = {
@@ -2713,6 +2812,15 @@ let
         sha512 = "8mrhPstU+ZX0Ugya8tl5DsDZ1I5ZwQzbL/8PA0z8Gj0k9nql7nkaMzmPVLj+l/nixWaliXi+EBiLA8bptw3z7Q==";
       };
     };
+    "@types/anymatch-1.3.1" = {
+      name = "_at_types_slash_anymatch";
+      packageName = "@types/anymatch";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz";
+        sha512 = "/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==";
+      };
+    };
     "@types/babel-types-7.0.7" = {
       name = "_at_types_slash_babel-types";
       packageName = "@types/babel-types";
@@ -2731,13 +2839,13 @@ let
         sha512 = "xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==";
       };
     };
-    "@types/bluebird-3.5.28" = {
+    "@types/bluebird-3.5.29" = {
       name = "_at_types_slash_bluebird";
       packageName = "@types/bluebird";
-      version = "3.5.28";
+      version = "3.5.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.28.tgz";
-        sha512 = "0Vk/kqkukxPKSzP9c8WJgisgGDx5oZDbsLLWIP5t70yThO/YleE+GEm2S1GlRALTaack3O7U5OS5qEm7q2kciA==";
+        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.29.tgz";
+        sha512 = "kmVtnxTuUuhCET669irqQmPAez4KFnFVKvpleVRyfC3g+SHD1hIkFZcWLim9BVcwUBLO59o8VZE4yGCmTif8Yw==";
       };
     };
     "@types/body-parser-1.17.1" = {
@@ -2758,13 +2866,31 @@ let
         sha512 = "YiozPOOsS6bIuz31ilYqR5SlLif4TBWsousN2aCWLi5233nZSX19tFbcQUPdR7xJ8ypPyxkCGNxg0CIV5n9qxQ==";
       };
     };
-    "@types/connect-3.4.32" = {
+    "@types/color-name-1.1.1" = {
+      name = "_at_types_slash_color-name";
+      packageName = "@types/color-name";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz";
+        sha512 = "rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==";
+      };
+    };
+    "@types/concat-stream-1.6.0" = {
+      name = "_at_types_slash_concat-stream";
+      packageName = "@types/concat-stream";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz";
+        sha1 = "394dbe0bb5fee46b38d896735e8b68ef2390d00d";
+      };
+    };
+    "@types/connect-3.4.33" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.32";
+      version = "3.4.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
-        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz";
+        sha512 = "2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==";
       };
     };
     "@types/cookiejar-2.1.1" = {
@@ -2830,13 +2956,22 @@ let
         sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
       };
     };
-    "@types/express-serve-static-core-4.16.10" = {
+    "@types/express-serve-static-core-4.17.1" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.16.10";
+      version = "4.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.10.tgz";
-        sha512 = "gM6evDj0OvTILTRKilh9T5dTaGpv1oYiFcJAfgSejuMJgGJUsD9hKEU2lB4aiTNy4WwChxRnjfYFuBQsULzsJw==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.1.tgz";
+        sha512 = "9e7jj549ZI+RxY21Cl0t8uBnWyb22HzILupyHZjYEVK//5TT/1bZodU+yUbLnPdoYViBBnNWbxp4zYjGV0zUGw==";
+      };
+    };
+    "@types/form-data-0.0.33" = {
+      name = "_at_types_slash_form-data";
+      packageName = "@types/form-data";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz";
+        sha1 = "c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8";
       };
     };
     "@types/fs-capacitor-2.0.0" = {
@@ -2848,15 +2983,6 @@ let
         sha512 = "FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==";
       };
     };
-    "@types/fs-extra-5.1.0" = {
-      name = "_at_types_slash_fs-extra";
-      packageName = "@types/fs-extra";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz";
-        sha512 = "AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==";
-      };
-    };
     "@types/glob-7.1.1" = {
       name = "_at_types_slash_glob";
       packageName = "@types/glob";
@@ -2902,31 +3028,31 @@ let
         sha1 = "ff540462d2fb4d0a88441ceaf27d287b01c3d878";
       };
     };
-    "@types/koa-2.0.51" = {
+    "@types/koa-2.11.0" = {
       name = "_at_types_slash_koa";
       packageName = "@types/koa";
-      version = "2.0.51";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa/-/koa-2.0.51.tgz";
-        sha512 = "L5e/l6Z+SR9Jk6HM0wNYdkvWhSUBOvi+7Q5Uwn7kE/VmBXX7NIxARMigARWAyXAtXiv5Ry1P2HmebolFdvuIVg==";
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.11.0.tgz";
+        sha512 = "Hgx/1/rVlJvqYBrdeCsS7PDiR2qbxlMt1RnmNWD4Uxi5FF9nwkYqIldo7urjc+dfNpk+2NRGcnAYd4L5xEhCcQ==";
       };
     };
-    "@types/koa-compose-3.2.4" = {
+    "@types/koa-compose-3.2.5" = {
       name = "_at_types_slash_koa-compose";
       packageName = "@types/koa-compose";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.4.tgz";
-        sha512 = "ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==";
+        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz";
+        sha512 = "B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==";
       };
     };
-    "@types/lodash-4.14.144" = {
+    "@types/lodash-4.14.149" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.144";
+      version = "4.14.149";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.144.tgz";
-        sha512 = "ogI4g9W5qIQQUhXAclq6zhqgqNUr7UlFaqDHbch7WLSLeeM/7d3CRaw7GLajxvyFvhJqw4Rpcz5bhoaYtIx6Tg==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz";
+        sha512 = "ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==";
       };
     };
     "@types/long-4.0.0" = {
@@ -2956,31 +3082,58 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-10.17.0" = {
+    "@types/node-10.17.11" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.17.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.17.11.tgz";
+        sha512 = "dNd2pp8qTzzNLAs3O8nH3iU9DG9866KHq9L3ISPB7DOGERZN81nW/5/g/KzMJpCU8jrbCiMRBzV9/sCEdRosig==";
+      };
+    };
+    "@types/node-11.15.3" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.17.0";
+      version = "11.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.17.0.tgz";
-        sha512 = "wuJwN2KV4tIRz1bu9vq5kSPasJ8IsEjZaP1ZR7KlmdUZvGF/rXy8DmXOVwUD0kAtvtJ7aqMKPqUXC0NUTDbrDg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-11.15.3.tgz";
+        sha512 = "5RzvXVietaB8S4dwDjxjltAOHtTO87fiksjqjWGZih97j6KSrdCDaRfmYMNrgrLM87odGBrsTHAl6N3fLraQaw==";
       };
     };
-    "@types/node-12.11.7" = {
+    "@types/node-12.12.21" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.11.7";
+      version = "12.12.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.11.7.tgz";
-        sha512 = "JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.21.tgz";
+        sha512 = "8sRGhbpU+ck1n0PGAUgVrWrWdjSW2aqNeyC15W88GRsMpSwzv6RJGlLhE7s2RhVSOdyDmxbqlWSeThq4/7xqlA==";
       };
     };
-    "@types/node-6.14.8" = {
+    "@types/node-6.14.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "6.14.8";
+      version = "6.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-6.14.8.tgz";
-        sha512 = "ZVswkI0zxOcADy2b4T9Lj3N+OYyHwCyzMtmkRIi1P94vF/GOLpDPB76P1uBXX/QM6e5wICriSz2XBPSBdxIN5g==";
+        url = "https://registry.npmjs.org/@types/node/-/node-6.14.9.tgz";
+        sha512 = "leP/gxHunuazPdZaCvsCefPQxinqUDsCxCR5xaDUrY2MkYxQRFZZwU5e7GojyYsGB7QVtCi7iVEl/hoFXQYc+w==";
+      };
+    };
+    "@types/node-7.10.9" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "7.10.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.10.9.tgz";
+        sha512 = "usSpgoUsRtO5xNV5YEPU8PPnHisFx8u0rokj1BPVn/hDF7zwUDzVLiuKZM38B7z8V2111Fj6kd4rGtQFUZpNOw==";
+      };
+    };
+    "@types/node-8.10.59" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "8.10.59";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.59.tgz";
+        sha512 = "8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ==";
       };
     };
     "@types/q-1.5.2" = {
@@ -2992,6 +3145,15 @@ let
         sha512 = "ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==";
       };
     };
+    "@types/qs-6.9.0" = {
+      name = "_at_types_slash_qs";
+      packageName = "@types/qs";
+      version = "6.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.0.tgz";
+        sha512 = "c4zji5CjWv1tJxIZkz1oUtGcdOlsH3aza28Nqmm+uNDWBRHoMsjooBEN4czZp1V3iXPihE/VRUOBqg+4Xq0W4g==";
+      };
+    };
     "@types/range-parser-1.2.3" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
@@ -3028,6 +3190,15 @@ let
         sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
+    "@types/source-list-map-0.1.2" = {
+      name = "_at_types_slash_source-list-map";
+      packageName = "@types/source-list-map";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz";
+        sha512 = "K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==";
+      };
+    };
     "@types/superagent-3.8.2" = {
       name = "_at_types_slash_superagent";
       packageName = "@types/superagent";
@@ -3037,6 +3208,24 @@ let
         sha512 = "kdU8ydio1weSvhIIh9rptZ6MdMiR2NQGFnlnZ5qQ7OiQS1ej79zK4GaJ9qX3naSTpOA7iWqwUnZCQpd7SpD1NA==";
       };
     };
+    "@types/tapable-1.0.4" = {
+      name = "_at_types_slash_tapable";
+      packageName = "@types/tapable";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz";
+        sha512 = "78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==";
+      };
+    };
+    "@types/uglify-js-3.0.4" = {
+      name = "_at_types_slash_uglify-js";
+      packageName = "@types/uglify-js";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz";
+        sha512 = "SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==";
+      };
+    };
     "@types/unist-2.0.3" = {
       name = "_at_types_slash_unist";
       packageName = "@types/unist";
@@ -3055,22 +3244,40 @@ let
         sha512 = "b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==";
       };
     };
-    "@types/vfile-message-1.0.1" = {
+    "@types/vfile-message-2.0.0" = {
       name = "_at_types_slash_vfile-message";
       packageName = "@types/vfile-message";
-      version = "1.0.1";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz";
+        sha512 = "GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==";
+      };
+    };
+    "@types/webpack-4.41.0" = {
+      name = "_at_types_slash_webpack";
+      packageName = "@types/webpack";
+      version = "4.41.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz";
-        sha512 = "mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==";
+        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.0.tgz";
+        sha512 = "tWkdf9nO0zFgAY/EumUKwrDUhraHKDqCPhwfFR/R8l0qnPdgb9le0Gzhvb7uzVpouuDGBgiE//ZdY+5jcZy2TA==";
       };
     };
-    "@types/ws-6.0.3" = {
+    "@types/webpack-sources-0.1.5" = {
+      name = "_at_types_slash_webpack-sources";
+      packageName = "@types/webpack-sources";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz";
+        sha512 = "zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==";
+      };
+    };
+    "@types/ws-6.0.4" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "6.0.3";
+      version = "6.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.3.tgz";
-        sha512 = "yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz";
+        sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
       };
     };
     "@types/xml2js-0.4.3" = {
@@ -3091,40 +3298,40 @@ let
         sha512 = "te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==";
       };
     };
-    "@vue/cli-shared-utils-4.0.5" = {
+    "@vue/cli-shared-utils-4.1.1" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.5.tgz";
-        sha512 = "NlNZ4Dx5QcP5uO5fCOLgkN2tbhNan5EcptPvXawW/md18cIpMlKbph6L6lEfJj8vrSvTUf2i/FyoFSh1rV53hw==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.1.1.tgz";
+        sha512 = "nsxNW8Sy9y2yx/r9DqgZoYg/DoygvASIQl0XXG+imQUDWEXKmD6UZA6y5ANfStCljzZ/wd7WgWP+txmjy6exOw==";
       };
     };
-    "@vue/cli-ui-4.0.5" = {
+    "@vue/cli-ui-4.1.1" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-4.0.5.tgz";
-        sha512 = "pnK0qRMEocjhL965o2Zxw9iYYwwCDOIxAl7jg6pmQybgmz68ipi/gXDTe3IyDzyEJraVIsGDScvJL9/IbRLDZw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-4.1.1.tgz";
+        sha512 = "uXrIX4IJeXBDEchY+AeoeKf9FiYlHILFR4JjJvI6p6nq7tHhCN3UFt7/XScWzEfYyGRuHVtY3MCejMIR9LaKvA==";
       };
     };
-    "@vue/cli-ui-addon-webpack-4.0.5" = {
+    "@vue/cli-ui-addon-webpack-4.1.1" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-4.0.5.tgz";
-        sha512 = "BMRW+g374RnqQNFLyUGHg099lADoZbYEjycCKZzBI4v+QCqUXEnn70l02/7H3sEee6PqR/dfquSJiZqxhSIJmQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-4.1.1.tgz";
+        sha512 = "AKWt4ahv19gB3oV12lTb1G7AlimpTudCuWuMOL3BlaWZNNbspseFegq1I7mSJQHK45z3iy6GysIAsn9fHCAKvg==";
       };
     };
-    "@vue/cli-ui-addon-widgets-4.0.5" = {
+    "@vue/cli-ui-addon-widgets-4.1.1" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-4.0.5.tgz";
-        sha512 = "55KgyH0yDiStE0j04+5z+UTLATReQjIc1s7n9aVGsRte+nnt9bN74pBg9//CW8EWpD1OmEpTtsidn2NafuaxLQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-4.1.1.tgz";
+        sha512 = "M98L2PcC6LStUV9IftXS6jjwjM0BXIan/7T+FBN1U69WyTRRSNbbGmhicn9HzcfmAiHbS9Ac5Pk3nz3KXafNTQ==";
       };
     };
     "@webassemblyjs/ast-1.8.1" = {
@@ -3604,13 +3811,13 @@ let
         sha1 = "5faad9c2c07f60dd76770f71cf025b62a63cfd4e";
       };
     };
-    "abab-2.0.2" = {
+    "abab-2.0.3" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz";
-        sha512 = "2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz";
+        sha512 = "tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==";
       };
     };
     "abbrev-1.1.1" = {
@@ -3748,13 +3955,13 @@ let
         sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
       };
     };
-    "acorn-6.3.0" = {
+    "acorn-6.4.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "6.3.0";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz";
-        sha512 = "/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz";
+        sha512 = "gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==";
       };
     };
     "acorn-7.1.0" = {
@@ -4279,13 +4486,13 @@ let
         sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
       };
     };
-    "ansi-escapes-4.2.1" = {
+    "ansi-escapes-4.3.0" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
-      version = "4.2.1";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
-        sha512 = "Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==";
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz";
+        sha512 = "EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==";
       };
     };
     "ansi-gray-0.1.1" = {
@@ -4351,6 +4558,15 @@ let
         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-split-1.0.1" = {
       name = "ansi-split";
       packageName = "ansi-split";
@@ -4396,13 +4612,13 @@ let
         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
-    "ansi-styles-4.1.0" = {
+    "ansi-styles-4.2.0" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.1.0.tgz";
-        sha512 = "Qts4KCLKG+waHc9C4m07weIY8qyeixoS0h6RnbsNVD6Fw+pEZGW3vTyObL3WXpE09Mq4Oi7/lBEyLmOiLtlYWQ==";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz";
+        sha512 = "7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==";
       };
     };
     "ansi-term-0.0.2" = {
@@ -4414,13 +4630,13 @@ let
         sha1 = "fd753efa4beada0eac99981bc52a3f6ff019deb7";
       };
     };
-    "ansi-to-html-0.6.12" = {
+    "ansi-to-html-0.6.13" = {
       name = "ansi-to-html";
       packageName = "ansi-to-html";
-      version = "0.6.12";
+      version = "0.6.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.12.tgz";
-        sha512 = "qBkIqLW979675mP76yB7yVkzeAWtATegdnDQ0RA3CZzknx0yUlNxMSML4xFdBfTs2GWYFQ1FELfbGbVSPzJ+LA==";
+        url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.13.tgz";
+        sha512 = "Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw==";
       };
     };
     "ansi-wrap-0.1.0" = {
@@ -4522,49 +4738,49 @@ let
         sha1 = "ee49736b639b4f108b6e9e626c6da99306b41692";
       };
     };
-    "apollo-2.21.0" = {
+    "apollo-2.21.2" = {
       name = "apollo";
       packageName = "apollo";
-      version = "2.21.0";
+      version = "2.21.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo/-/apollo-2.21.0.tgz";
-        sha512 = "S0PzWA6Ja3E68/LjG3D4wbOW5BiWo+PdST/TZD7n4TjRKV4eeMONEd95OSv5OzMMYaLtHSRq8xZmQEDe4l0NsA==";
+        url = "https://registry.npmjs.org/apollo/-/apollo-2.21.2.tgz";
+        sha512 = "RhiH3ffaIvobyDf3jXUmeIWvFCfxXwCYTU84hfRClRaL4bTaTd8T2/J5eVbcsd3AhPRbi4HJPxJBge4ewMepVw==";
       };
     };
-    "apollo-cache-1.3.2" = {
+    "apollo-cache-1.3.4" = {
       name = "apollo-cache";
       packageName = "apollo-cache";
-      version = "1.3.2";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.2.tgz";
-        sha512 = "+KA685AV5ETEJfjZuviRTEImGA11uNBp/MJGnaCvkgr+BYRrGLruVKBv6WvyFod27WEB2sp7SsG8cNBKANhGLg==";
+        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.3.4.tgz";
+        sha512 = "7X5aGbqaOWYG+SSkCzJNHTz2ZKDcyRwtmvW4mGVLRqdQs+HxfXS4dUS2CcwrAj449se6tZ6NLUMnjko4KMt3KA==";
       };
     };
-    "apollo-cache-control-0.8.5" = {
+    "apollo-cache-control-0.8.9" = {
       name = "apollo-cache-control";
       packageName = "apollo-cache-control";
-      version = "0.8.5";
+      version = "0.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.8.5.tgz";
-        sha512 = "2yQ1vKgJQ54SGkoQS/ZLZrDX3La6cluAYYdruFYJMJtL4zQrSdeOCy11CQliCMYEd6eKNyE70Rpln51QswW2Og==";
+        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.8.9.tgz";
+        sha512 = "EFRAEL13QkMbXhl0NSABVS0wfiKYIVV4sDR+XNtRy3EWf2rWw7xulYFDMPiujjtElF2qjTswzcpLtYOXgOZN9A==";
       };
     };
-    "apollo-cache-inmemory-1.6.3" = {
+    "apollo-cache-inmemory-1.6.5" = {
       name = "apollo-cache-inmemory";
       packageName = "apollo-cache-inmemory";
-      version = "1.6.3";
+      version = "1.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
-        sha512 = "S4B/zQNSuYc0M/1Wq8dJDTIO9yRgU0ZwDGnmlqxGGmFombOZb9mLjylewSfQKmjNpciZ7iUIBbJ0mHlPJTzdXg==";
+        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.5.tgz";
+        sha512 = "koB76JUDJaycfejHmrXBbWIN9pRKM0Z9CJGQcBzIOtmte1JhEBSuzsOUu7NQgiXKYI4iGoMREcnaWffsosZynA==";
       };
     };
-    "apollo-client-2.6.4" = {
+    "apollo-client-2.6.8" = {
       name = "apollo-client";
       packageName = "apollo-client";
-      version = "2.6.4";
+      version = "2.6.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.4.tgz";
-        sha512 = "oWOwEOxQ9neHHVZrQhHDbI6bIibp9SHgxaLRVPoGvOFy7OH5XUykZE7hBQAVxq99tQjBzgytaZffQkeWo1B4VQ==";
+        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.6.8.tgz";
+        sha512 = "0zvJtAcONiozpa5z5zgou83iEKkBaXhhSSXJebFHRXs100SecDojyUWKjwTtBPn9HbM6o5xrvC5mo9VQ5fgAjw==";
       };
     };
     "apollo-codegen-0.20.2" = {
@@ -4585,13 +4801,13 @@ let
         sha512 = "sanUIqXWyyDpxY3fYOVU+Hsxwxdj5fmn3Zcy6CcMGnWmh9o7tautQAuod2a63wrDs1jcNQcFq3EKIpeB+2xECw==";
       };
     };
-    "apollo-codegen-core-0.35.7" = {
+    "apollo-codegen-core-0.35.9" = {
       name = "apollo-codegen-core";
       packageName = "apollo-codegen-core";
-      version = "0.35.7";
+      version = "0.35.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.35.7.tgz";
-        sha512 = "Aj8bzwUnnsILaOxjPLJKpkzb4yNNQCpY21Atj0NZYGi6Zzfl9EK/PZn7BE2/4pyNpomErjd2C7X3m9bdvndTAg==";
+        url = "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.35.9.tgz";
+        sha512 = "HBBv15ILH8Yiy65jtoZRmupT2pLY8dAGLbF4sZixmbPwI9D0wFq3Kt8zEaS2EHU9FBlPtR2fsx0/beUeftHqzA==";
       };
     };
     "apollo-codegen-flow-0.20.0" = {
@@ -4603,13 +4819,13 @@ let
         sha512 = "XgKE19B0Q74PBLVqHP/77NcCFrcvrN9wi3CcotH+FV8BeHTjvpHlilTsQMmd2STPt19cCvY2Qtz0EOeLXTUQ2Q==";
       };
     };
-    "apollo-codegen-flow-0.33.32" = {
+    "apollo-codegen-flow-0.33.34" = {
       name = "apollo-codegen-flow";
       packageName = "apollo-codegen-flow";
-      version = "0.33.32";
+      version = "0.33.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.33.32.tgz";
-        sha512 = "/DWh6/8/BKYlwPg5/kQQQU78skC3TCRxhg4rUaR0s23px/N3YiLCcqmcV6HzcMKpjNE+dIxpha+WLNMAtb4ypg==";
+        url = "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.33.34.tgz";
+        sha512 = "UseAJlQfjTvLEpmRRP2JOVsuZQL/wyXSOXmK06iiZwednwWC54VbARS+fO2tfublB5q0i2d6GWXYBy9sIe6MQw==";
       };
     };
     "apollo-codegen-flow-legacy-0.20.0" = {
@@ -4630,13 +4846,13 @@ let
         sha512 = "NbnMOfUXXovlTGRj4mIZGXB9HvidQhwKfAmdYHox5peHPkjjsqEzxGCIuWCSnubWiCF2uHZnQoIkg4sXWf0KLw==";
       };
     };
-    "apollo-codegen-scala-0.34.32" = {
+    "apollo-codegen-scala-0.34.34" = {
       name = "apollo-codegen-scala";
       packageName = "apollo-codegen-scala";
-      version = "0.34.32";
+      version = "0.34.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.34.32.tgz";
-        sha512 = "c41a6NdEsPo/uRSY1FBbEJ2MUfM+NKlLVe3hBulc3huqaStz3PuQuOtQ5ZA0XjCwL8GhLFgC1D8TAiuDCA5+tQ==";
+        url = "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.34.34.tgz";
+        sha512 = "uYgGNmzZklynvB+d+grbsyGsXBMnfgM5EXlRjKJZN/Ss3Nz5l/bBtK7v+Ob3r/85P0rS0jreWL8Ddc6TLazRRQ==";
       };
     };
     "apollo-codegen-swift-0.20.0" = {
@@ -4648,13 +4864,13 @@ let
         sha512 = "L9Y4StbXw0t/nuF+miz0ybSt/io6tsLc063Yeh1A8GCvhFFQyXE/yK0Rf3nO1Bl5Z9UZ5o8Aae9kK4GSWYIGNQ==";
       };
     };
-    "apollo-codegen-swift-0.35.12" = {
+    "apollo-codegen-swift-0.35.14" = {
       name = "apollo-codegen-swift";
       packageName = "apollo-codegen-swift";
-      version = "0.35.12";
+      version = "0.35.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.35.12.tgz";
-        sha512 = "pbeUwkLEpfr/hkCLnwmxfxroib5QFP0xz7cvORN3Hh9xxtpqfd0SdnrbXS8RpRxBN2jTbV78ubA6hDFm4B0BCA==";
+        url = "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.35.14.tgz";
+        sha512 = "dt6F4DAzq7Icy0BNg5QaRZLVBSJ8GXEW5cKbofKJjMNzIScXUS9Bp1u6+iWFajtsJCJjmTuTu863cn5SvrFSag==";
       };
     };
     "apollo-codegen-typescript-0.20.0" = {
@@ -4666,13 +4882,13 @@ let
         sha512 = "mzlIJXz+5WPwzeALqRHHR9aPPEf6IlhSrjCawpUHmFU1NK9hgwbguYCEYZv9mKkYBUUgDY+9cGFK1cafJX70AQ==";
       };
     };
-    "apollo-codegen-typescript-0.35.7" = {
+    "apollo-codegen-typescript-0.35.9" = {
       name = "apollo-codegen-typescript";
       packageName = "apollo-codegen-typescript";
-      version = "0.35.7";
+      version = "0.35.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.35.7.tgz";
-        sha512 = "r5MzXwWVPvkuyWfUV5kWzIsezoiDw2o459L3i07iM2JwOl7AW88/wkPsp/GrKh5q/Y2HRABg4oSqEiaQtrVazQ==";
+        url = "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.35.9.tgz";
+        sha512 = "C2Q0U/htb4iIrGgkzGoepJGDcVf/FZ34b9IGtqPCWmrdQADMzgccI0h4rwXrjZGTQBr9+vHvlV/YFs+lriOR2g==";
       };
     };
     "apollo-codegen-typescript-legacy-0.20.0" = {
@@ -4693,49 +4909,49 @@ let
         sha512 = "gRYyFVpJgHE2hhS+VxMeOerxXQ/QYxWG7T6QddfugJWYAG9DRCl65e2b7txcGq2NP3r+O1iCm4GNwhRBDJbd8A==";
       };
     };
-    "apollo-engine-reporting-1.4.7" = {
+    "apollo-engine-reporting-1.4.12" = {
       name = "apollo-engine-reporting";
       packageName = "apollo-engine-reporting";
-      version = "1.4.7";
+      version = "1.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.4.7.tgz";
-        sha512 = "qsKDz9VkoctFhojM3Nj3nvRBO98t8TS2uTgtiIjUGs3Hln2poKMP6fIQ37Nm2Q2B3JJst76HQtpPwXmRJd1ZUg==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.4.12.tgz";
+        sha512 = "W1PpXaXSrqZu4Ae9NrjWXtTL9HFbQPynQLiGDAsDmCsL/wRAVyl6qRhVteSj7drwgXgAH5TwtUCnjJgSI+ixlg==";
       };
     };
-    "apollo-engine-reporting-protobuf-0.4.1" = {
+    "apollo-engine-reporting-protobuf-0.4.4" = {
       name = "apollo-engine-reporting-protobuf";
       packageName = "apollo-engine-reporting-protobuf";
-      version = "0.4.1";
+      version = "0.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.1.tgz";
-        sha512 = "d7vFFZ2oUrvGaN0Hpet8joe2ZG0X0lIGilN+SwgVP38dJnOuadjsaYMyrD9JudGQJg0bJA5wVQfYzcCVy0slrw==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.4.tgz";
+        sha512 = "SGrIkUR7Q/VjU8YG98xcvo340C4DaNUhg/TXOtGsMlfiJDzHwVau/Bv6zifAzBafp2lj0XND6Daj5kyT/eSI/w==";
       };
     };
-    "apollo-env-0.5.1" = {
+    "apollo-env-0.6.0" = {
       name = "apollo-env";
       packageName = "apollo-env";
-      version = "0.5.1";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.5.1.tgz";
-        sha512 = "fndST2xojgSdH02k5hxk1cbqA9Ti8RX4YzzBoAB4oIe1Puhq7+YlhXGXfXB5Y4XN0al8dLg+5nAkyjNAR2qZTw==";
+        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.0.tgz";
+        sha512 = "DttHOpLISRej8STjbXjQCXq3YeE2pATaC4UEd2YE7TjjYhQmp9yxohlkHfSR78BvPzczhyDs6WQQEzasHv0M0A==";
       };
     };
-    "apollo-graphql-0.3.4" = {
+    "apollo-graphql-0.3.6" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
-      version = "0.3.4";
+      version = "0.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.3.4.tgz";
-        sha512 = "w+Az1qxePH4oQ8jvbhQBl5iEVvqcqynmU++x/M7MM5xqN1C7m1kyIzpN17gybXlTJXY4Oxej2WNURC2/hwpfYw==";
+        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.3.6.tgz";
+        sha512 = "PUBfW6t20U4CgPODTZB+3Z1Z+qhca8SNEHMPreiw+qEjXwEJF7SZItOIAs93HO0mA2K7eiZjCtZQZknaaQRZNA==";
       };
     };
-    "apollo-language-server-1.17.0" = {
+    "apollo-language-server-1.17.2" = {
       name = "apollo-language-server";
       packageName = "apollo-language-server";
-      version = "1.17.0";
+      version = "1.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.17.0.tgz";
-        sha512 = "x/CfKYl+GSFGLxLDx6d3aWLzpQssnHUdwczZxTHyU/RkQlfnNyLdZXodCmWBRpSj2Ifkuzii+uxwj4kjWG6jOA==";
+        url = "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.17.2.tgz";
+        sha512 = "ml865Z9jzI5Y+48c5jsoSJCKz6ofOy45gCa+8SrJ/FyhOaIEEaXTfV4IgMIm/O4nz18zg4xPFu8dn4UCEr7O4w==";
       };
     };
     "apollo-link-1.2.13" = {
@@ -4819,13 +5035,13 @@ let
         sha512 = "l7ieNCGxUaUAVAAp600HjbUJxVaxjJygtPV0tPTe1Q3HkPy6LEWoY6mNHV7T268g1hxtPTxcdRu7WLsJrg7ufw==";
       };
     };
-    "apollo-server-core-2.9.7" = {
+    "apollo-server-core-2.9.14" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "2.9.7";
+      version = "2.9.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.9.7.tgz";
-        sha512 = "EqKyROy+21sM93YHjGpy6wlnzK/vH0fnZh7RCf3uB69aQ3OjgdP4AQ5oWRQ62NDN+aoic7OLhChSDJeDonq/NQ==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.9.14.tgz";
+        sha512 = "Vc8TicXFFZGuEgo5AY1Ey0XuvHn7NQS1y7WxOQnr85KJ2zeRa6uIT8tU+73ZObzan3nlm9ysYtfSXh2QL21oyg==";
       };
     };
     "apollo-server-env-2.4.3" = {
@@ -4846,40 +5062,40 @@ let
         sha512 = "Y0PKQvkrb2Kd18d1NPlHdSqmlr8TgqJ7JQcNIfhNDgdb45CnqZlxL1abuIRhr8tiw8OhVOcFxz2KyglBi8TKdA==";
       };
     };
-    "apollo-server-express-2.9.7" = {
+    "apollo-server-express-2.9.14" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "2.9.7";
+      version = "2.9.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.9.7.tgz";
-        sha512 = "+DuJk1oq34Zx0bLYzgBgJH/eXS0JNxw2JycHQvV0+PAQ0Qi01oomJRA2r1S5isnfnSAnHb2E9jyBTptoHdw3MQ==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.9.14.tgz";
+        sha512 = "ai+VKPlOUzJsbSQcazjATNtWwdgcvZBWBCbTF7ZUC9Uo6FfSlKOmP3raQAq+gKqsnFwv34p4k17c/Asw5ZjSMQ==";
       };
     };
-    "apollo-server-plugin-base-0.6.5" = {
+    "apollo-server-plugin-base-0.6.9" = {
       name = "apollo-server-plugin-base";
       packageName = "apollo-server-plugin-base";
-      version = "0.6.5";
+      version = "0.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.5.tgz";
-        sha512 = "z2ve7HEPWmZI3EzL0iiY9qyt1i0hitT+afN5PzssCw594LB6DfUQWsI14UW+W+gcw8hvl8VQUpXByfUntAx5vw==";
+        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.6.9.tgz";
+        sha512 = "75rorl0y07PK7A/U1Oe9unLIGgbmy1T6uaCQ5zl8zy+mtmFFcH1nYERfXZha1eTDWLCx0F/xNI6YJmWxSisc5w==";
       };
     };
-    "apollo-server-types-0.2.5" = {
+    "apollo-server-types-0.2.9" = {
       name = "apollo-server-types";
       packageName = "apollo-server-types";
-      version = "0.2.5";
+      version = "0.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.2.5.tgz";
-        sha512 = "6iJQsPh59FWu4K7ABrVmpnQVgeK8Ockx8BcawBh+saFYWTlVczwcLyGSZPeV1tPSKwFwKZutyEslrYSafcarXQ==";
+        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.2.9.tgz";
+        sha512 = "Iu9twx3lycH41F8shmrb33b4y0mNBz1chBdTIaSgIMmNwPDR4xs4eB6iyTK5swnaYC1eW+c+t5lHRUk7yexs/g==";
       };
     };
-    "apollo-tracing-0.8.5" = {
+    "apollo-tracing-0.8.9" = {
       name = "apollo-tracing";
       packageName = "apollo-tracing";
-      version = "0.8.5";
+      version = "0.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.8.5.tgz";
-        sha512 = "lZn10/GRBZUlMxVYLghLMFsGcLN0jTYDd98qZfBtxw+wEWUx+PKkZdljDT+XNoOm/kDvEutFGmi5tSLhArIzWQ==";
+        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.8.9.tgz";
+        sha512 = "DYHPUW0rFcxxtI8+qU3leNU+fKfq9NPTjgPMr/AJmxKfsdOI6QgfVzVP/khiik0kU0+BMl5zBplwEDDdgbkUlg==";
       };
     };
     "apollo-upload-client-11.0.0" = {
@@ -4891,13 +5107,13 @@ let
         sha512 = "JChTrBi1VSF8u6OPrkWUApJlyUvzwhw98kqRB3fSi7/CU6z0OUD42Mee9s5h8mfjKEfOanK6GNZhF4t2tIPXSw==";
       };
     };
-    "apollo-utilities-1.3.2" = {
+    "apollo-utilities-1.3.3" = {
       name = "apollo-utilities";
       packageName = "apollo-utilities";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
-        sha512 = "JWNHj8XChz7S4OZghV6yc9FNnzEXj285QYp/nLNh943iObycI5GTDO3NGR9Dth12LRrSFMeDOConPfPln+WGfg==";
+        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.3.tgz";
+        sha512 = "F14aX2R/fKNYMvhuP2t9GD9fggID7zp5I96MF5QeKYWDWTrkRdHRp4+SVfXUVN+cXOaB/IebfvRtzPf25CM0zw==";
       };
     };
     "app-builder-5.2.0" = {
@@ -5080,13 +5296,13 @@ let
         sha512 = "XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==";
       };
     };
-    "arg-4.1.1" = {
+    "arg-4.1.2" = {
       name = "arg";
       packageName = "arg";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz";
-        sha512 = "SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==";
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz";
+        sha512 = "+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==";
       };
     };
     "argparse-0.1.15" = {
@@ -5305,13 +5521,13 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "array-includes-3.0.3" = {
+    "array-includes-3.1.0" = {
       name = "array-includes";
       packageName = "array-includes";
-      version = "3.0.3";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz";
-        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.0.tgz";
+        sha512 = "ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ==";
       };
     };
     "array-initial-1.1.0" = {
@@ -5692,6 +5908,15 @@ let
         sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
       };
     };
+    "astral-regex-2.0.0" = {
+      name = "astral-regex";
+      packageName = "astral-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
+      };
+    };
     "async-0.1.22" = {
       name = "async";
       packageName = "async";
@@ -5989,13 +6214,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.556.0" = {
+    "aws-sdk-2.595.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.556.0";
+      version = "2.595.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.556.0.tgz";
-        sha512 = "qILMUNl/a7FYWU67Y24OGsXFhyDHM4qYdplMR2tps/g17pN9bEQ5ijxvGzW2T8VVyAsTanmn+dFyl/CH38pC5Q==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.595.0.tgz";
+        sha512 = "bE/XzwlvEv3YPGfU7EfvAOi1IaEzmM+9VWP6xD9xN1lLhdBgCIiQIvSnr52LDR4J7ohqVP+oYpuBZcXrqZaP2Q==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -6016,13 +6241,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "axios-0.17.1" = {
@@ -6844,15 +7069,6 @@ let
         sha512 = "IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==";
       };
     };
-    "benchmark-1.0.0" = {
-      name = "benchmark";
-      packageName = "benchmark";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz";
-        sha1 = "2f1e2fa4c359f11122aa183082218e957e390c73";
-      };
-    };
     "bencode-0.7.0" = {
       name = "bencode";
       packageName = "bencode";
@@ -6925,13 +7141,13 @@ let
         sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
       };
     };
-    "big-integer-1.6.47" = {
+    "big-integer-1.6.48" = {
       name = "big-integer";
       packageName = "big-integer";
-      version = "1.6.47";
+      version = "1.6.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.47.tgz";
-        sha512 = "9t9f7X3as2XGX8b52GqG6ox0GvIdM86LyIXASJnDCFhYNgt+A+MByQZ3W2PyMRZjEvG5f8TEbSPfEotVuMJnQg==";
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz";
+        sha512 = "j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==";
       };
     };
     "big.js-5.2.2" = {
@@ -7294,13 +7510,13 @@ let
         sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
       };
     };
-    "bluebird-3.7.1" = {
+    "bluebird-3.7.2" = {
       name = "bluebird";
       packageName = "bluebird";
-      version = "3.7.1";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz";
-        sha512 = "DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==";
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     };
     "blueimp-md5-2.10.0" = {
@@ -7402,13 +7618,13 @@ let
         sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
       };
     };
-    "boolean-2.0.2" = {
+    "boolean-3.0.0" = {
       name = "boolean";
       packageName = "boolean";
-      version = "2.0.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-2.0.2.tgz";
-        sha512 = "ymsbJQlux/uogyEWfsXJUYzuyoOzPyp6NvEV71s6/ptQR7ptKO9uHF+WZL2GRATDeN52EFhNyrIu+exNZKh3Cw==";
+        url = "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz";
+        sha512 = "OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==";
       };
     };
     "boom-2.10.1" = {
@@ -7510,13 +7726,13 @@ let
         sha512 = "cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==";
       };
     };
-    "boxen-4.1.0" = {
+    "boxen-4.2.0" = {
       name = "boxen";
       packageName = "boxen";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-4.1.0.tgz";
-        sha512 = "Iwq1qOkmEsl0EVABa864Bbj3HCL4186DRZgFW/NrFs5y5GMM3ljsxzMLgOHdWISDRvcM8beh8q4tTNzXz+mSKg==";
+        url = "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz";
+        sha512 = "eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==";
       };
     };
     "bplist-creator-0.0.6" = {
@@ -7753,13 +7969,13 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-4.7.2" = {
+    "browserslist-4.8.2" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.7.2";
+      version = "4.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz";
-        sha512 = "uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.8.2.tgz";
+        sha512 = "+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA==";
       };
     };
     "btoa-lite-1.0.0" = {
@@ -7807,6 +8023,15 @@ let
         sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
       };
     };
+    "buffer-4.9.2" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
+        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
+      };
+    };
     "buffer-5.4.3" = {
       name = "buffer";
       packageName = "buffer";
@@ -8203,6 +8428,15 @@ let
         sha512 = "kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==";
       };
     };
+    "cacache-13.0.1" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "13.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz";
+        sha512 = "5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==";
+      };
+    };
     "cache-base-1.0.1" = {
       name = "cache-base";
       packageName = "cache-base";
@@ -8248,13 +8482,13 @@ let
         sha512 = "5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==";
       };
     };
-    "cachedir-2.2.0" = {
+    "cachedir-2.3.0" = {
       name = "cachedir";
       packageName = "cachedir";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz";
-        sha512 = "VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==";
+        url = "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz";
+        sha512 = "A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==";
       };
     };
     "call-me-maybe-1.0.1" = {
@@ -8419,13 +8653,13 @@ let
         sha1 = "a2aa5fb1af688758259c32c141426d78923b9b77";
       };
     };
-    "camelcase-keys-6.0.1" = {
+    "camelcase-keys-6.1.1" = {
       name = "camelcase-keys";
       packageName = "camelcase-keys";
-      version = "6.0.1";
+      version = "6.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.0.1.tgz";
-        sha512 = "Pet+fVo99HMVy183qJuyTiQECQlb0dCXg89qhixcud88j4BSns+gzhSrjRT0ustEYSWJqKMO42arm1cS1VG5FA==";
+        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.1.1.tgz";
+        sha512 = "kEPCddRFChEzO0d6w61yh0WbBiSv9gBnfZWGfXRYPlGqIdIGef6HMR6pgqVSEWCYkrp8B0AtEpEXNY+Jx0xk1A==";
       };
     };
     "caniuse-api-3.0.0" = {
@@ -8437,13 +8671,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001004" = {
+    "caniuse-lite-1.0.30001016" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001004";
+      version = "1.0.30001016";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001004.tgz";
-        sha512 = "3nfOR4O8Wa2RWoYfJkMtwRVOsK96TQ+eq57wd0iKaEWl8dwG4hKZ/g0MVBfCvysFvMLi9fQGR/DvozMdkEPl3g==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz";
+        sha512 = "yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA==";
       };
     };
     "capture-stack-trace-1.0.1" = {
@@ -8635,6 +8869,15 @@ let
         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
+    "chalk-3.0.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz";
+        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
+      };
+    };
     "chance-1.0.18" = {
       name = "chance";
       packageName = "chance";
@@ -8878,13 +9121,13 @@ let
         sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
       };
     };
-    "chokidar-3.2.2" = {
+    "chokidar-3.3.1" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.2.2";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.2.2.tgz";
-        sha512 = "bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz";
+        sha512 = "4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==";
       };
     };
     "chownr-0.0.2" = {
@@ -8905,13 +9148,13 @@ let
         sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
       };
     };
-    "chroma-js-2.0.6" = {
+    "chroma-js-2.1.0" = {
       name = "chroma-js";
       packageName = "chroma-js";
-      version = "2.0.6";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.0.6.tgz";
-        sha512 = "IiiClbBRkRwuXNl6impq5ssEhUGpmWvc5zzImZbDUWLWcFbj6ZbtsdZEx6sIXMKes7azgYaUpnmsY1T8BL6PqQ==";
+        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.0.tgz";
+        sha512 = "uiRdh4ZZy+UTPSrAdp8hqEdVb1EllLtTHOt5TMaOjJUvi+O54/83Fc5K2ld1P+TJX+dw5B+8/sCgzI6eaur/lg==";
       };
     };
     "chrome-dgram-3.0.4" = {
@@ -9067,6 +9310,15 @@ let
         sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==";
       };
     };
+    "citeproc-2.2.30" = {
+      name = "citeproc";
+      packageName = "citeproc";
+      version = "2.2.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/citeproc/-/citeproc-2.2.30.tgz";
+        sha512 = "8EFCQiKCh4MC5mKgNiME/8tco4sehq2iZDvkX7NlI3tAS8fhUGlnbQZopeHVdHnj/LD69OEsj/yjiNZYPjHHCw==";
+      };
+    };
     "class-utils-0.3.6" = {
       name = "class-utils";
       packageName = "class-utils";
@@ -9094,13 +9346,13 @@ let
         sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==";
       };
     };
-    "clean-git-ref-1.0.3" = {
+    "clean-git-ref-2.0.1" = {
       name = "clean-git-ref";
       packageName = "clean-git-ref";
-      version = "1.0.3";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-1.0.3.tgz";
-        sha1 = "5325dc839eab01c974ae0e97f5734782750f88ec";
+        url = "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz";
+        sha512 = "bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==";
       };
     };
     "clean-html-1.5.0" = {
@@ -9202,6 +9454,15 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
+    "cli-progress-3.4.0" = {
+      name = "cli-progress";
+      packageName = "cli-progress";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.4.0.tgz";
+        sha512 = "35zcc1FsbPfN2dVonxUQwEnqMnI5kDFx2G4qGFGWgIDYqZ6+3t4/GjX/Vk0tq6bNgI9dEFcWLJ6AaLN17NLBDA==";
+      };
+    };
     "cli-spinner-0.2.10" = {
       name = "cli-spinner";
       packageName = "cli-spinner";
@@ -9274,13 +9535,13 @@ let
         sha512 = "/1owvF0SZ5Gn54cgrikJ0QskgTzeg30HGjkmjFoaHDJzAqFpuX1DBpFR8aLvsE1J5s9MgeYRENQK4BFwOag5VA==";
       };
     };
-    "cli-ux-5.3.3" = {
+    "cli-ux-5.4.1" = {
       name = "cli-ux";
       packageName = "cli-ux";
-      version = "5.3.3";
+      version = "5.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-ux/-/cli-ux-5.3.3.tgz";
-        sha512 = "a16g+BTjASUH41s1pevai4P3JKwhx85wkOSm6sXWsk6KkdSmDeJ16pSCn2x3nqK7W8n35igOu2YiW+qFkqLRJg==";
+        url = "https://registry.npmjs.org/cli-ux/-/cli-ux-5.4.1.tgz";
+        sha512 = "x5CJXJPKBrEo6o8Uy/Upajb9OWYMhTzOpRvKZyZ68kkHysiGd9phGP71WyHZfLUkhwdvpNUFkY2tsDr0ogyocg==";
       };
     };
     "cli-width-1.1.1" = {
@@ -9481,6 +9742,15 @@ let
         sha1 = "348c61ae9cdbe0edfe053d91ff4cc521d790ede8";
       };
     };
+    "clone-deep-4.0.1" = {
+      name = "clone-deep";
+      packageName = "clone-deep";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==";
+      };
+    };
     "clone-regexp-1.0.1" = {
       name = "clone-regexp";
       packageName = "clone-regexp";
@@ -10039,22 +10309,22 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
-    "commander-3.0.0" = {
+    "commander-3.0.2" = {
       name = "commander";
       packageName = "commander";
-      version = "3.0.0";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-3.0.0.tgz";
-        sha512 = "pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow==";
+        url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
+        sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
       };
     };
-    "commander-3.0.2" = {
+    "commander-4.0.1" = {
       name = "commander";
       packageName = "commander";
-      version = "3.0.2";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz";
-        sha512 = "Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==";
+        url = "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz";
+        sha512 = "IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==";
       };
     };
     "commist-1.1.0" = {
@@ -10264,6 +10534,15 @@ let
         sha512 = "bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==";
       };
     };
+    "conf-6.2.0" = {
+      name = "conf";
+      packageName = "conf";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conf/-/conf-6.2.0.tgz";
+        sha512 = "fvl40R6YemHrFsNiyP7TD0tzOe3pQD2dfT2s20WvCaq57A1oV+RImbhn2Y4sQGDz1lB0wNSb7dPcPIvQB69YNA==";
+      };
+    };
     "config-1.31.0" = {
       name = "config";
       packageName = "config";
@@ -10372,6 +10651,15 @@ let
         sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
       };
     };
+    "console-browserify-1.2.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
+        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
+      };
+    };
     "console-control-strings-1.1.0" = {
       name = "console-control-strings";
       packageName = "console-control-strings";
@@ -10543,13 +10831,13 @@ let
         sha1 = "3243397ae93a71d655b3026834a51590b958b9e8";
       };
     };
-    "conventional-changelog-angular-5.0.5" = {
+    "conventional-changelog-angular-5.0.6" = {
       name = "conventional-changelog-angular";
       packageName = "conventional-changelog-angular";
-      version = "5.0.5";
+      version = "5.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.5.tgz";
-        sha512 = "RrkdWnL/TVyWV1ayWmSsrWorsTDqjL/VwG5ZSEneBQrd65ONcfeA1cW7FLtNweQyMiKOyriCMTKRSlk18DjTrw==";
+        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz";
+        sha512 = "QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==";
       };
     };
     "conventional-changelog-core-3.2.3" = {
@@ -10570,13 +10858,13 @@ let
         sha512 = "/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==";
       };
     };
-    "conventional-changelog-writer-4.0.10" = {
+    "conventional-changelog-writer-4.0.11" = {
       name = "conventional-changelog-writer";
       packageName = "conventional-changelog-writer";
-      version = "4.0.10";
+      version = "4.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.10.tgz";
-        sha512 = "vtO9vBAVh7XnSpGLTB1BOGgsGTz1MdvFjzbSXLrtapWCHWwuVOZFgwdLhlS0MaXwlF1dksWdEb6tnr42Ie2INw==";
+        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz";
+        sha512 = "g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==";
       };
     };
     "conventional-commits-filter-2.0.2" = {
@@ -10588,13 +10876,13 @@ let
         sha512 = "WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==";
       };
     };
-    "conventional-commits-parser-3.0.6" = {
+    "conventional-commits-parser-3.0.8" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "3.0.6";
+      version = "3.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.6.tgz";
-        sha512 = "9FDoCTnNQRhiDRhlRx6UEaxpcKPy6hiHYWZqJO80BAmFlbovAnMcCkdcxGyJGTe8sDidVHEiqPkLoJuG/aUs0A==";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz";
+        sha512 = "YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==";
       };
     };
     "conventional-recommended-bump-5.0.1" = {
@@ -10615,13 +10903,13 @@ let
         sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
       };
     };
-    "convert-source-map-1.6.0" = {
+    "convert-source-map-1.7.0" = {
       name = "convert-source-map";
       packageName = "convert-source-map";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
-        sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz";
+        sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==";
       };
     };
     "convert-to-ecmascript-compatible-varname-0.1.5" = {
@@ -10633,13 +10921,13 @@ let
         sha1 = "f67a4938c5233443564250479c67014bac878499";
       };
     };
-    "convict-5.1.0" = {
+    "convict-5.2.0" = {
       name = "convict";
       packageName = "convict";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-5.1.0.tgz";
-        sha512 = "0+Rf3wUfEpz+UuwksNgjREf+81eRDsiQ64ZAs3Gh2rZeXIjiI5m0pxwybRZUebpSKEfOFxN5oUthIUpnqIMh6w==";
+        url = "https://registry.npmjs.org/convict/-/convict-5.2.0.tgz";
+        sha512 = "C3cdUwo47cCikZNzu5Vv8AL0MuXVVeg9t/Gyr9qyK5ZpCjOkMPmJ85KUF3CowNeSfj4UtztHxS+hoO9wGRh6kg==";
       };
     };
     "cookie-0.0.4" = {
@@ -10804,13 +11092,13 @@ let
         sha512 = "hTNYHUJT5YyMa1cQQE1naGyU6Eh5D5Jl33sMnCh3+q15ZwWTL/TOy3k8+mUvjTp8bwhO5eECGKULYoVO+fp9ZA==";
       };
     };
-    "cordova-common-3.2.0" = {
+    "cordova-common-3.2.1" = {
       name = "cordova-common";
       packageName = "cordova-common";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.0.tgz";
-        sha512 = "EvlQ6PirfR65hGDoQvsluW00uSS2MTVIRKQ3c1Xvsddx7D5T5JgF3fHWkGik/Y/8yNcpI0zI2NcJyie2z/ak2A==";
+        url = "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz";
+        sha512 = "xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==";
       };
     };
     "cordova-create-2.0.0" = {
@@ -10849,31 +11137,31 @@ let
         sha512 = "h479g/5a0PXn//yiFuMrD5MDEbB+mtihNkWcE6uD/aCh/6z0FRZ9sWH3NfZbHDB+Bp1yGLYsjbH8LZBL8KOQ0w==";
       };
     };
-    "core-js-2.6.10" = {
+    "core-js-2.6.11" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.10";
+      version = "2.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz";
-        sha512 = "I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz";
+        sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==";
       };
     };
-    "core-js-3.3.4" = {
+    "core-js-3.6.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.3.4";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.3.4.tgz";
-        sha512 = "BtibooaAmSOptGLRccsuX/dqgPtXwNgqcvYA6kOTTMzonRxZ+pJS4e+6mvVutESfXMeTnK8m3M+aBu3bkJbR+w==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.6.0.tgz";
+        sha512 = "AHPTNKzyB+YwgDWoSOCaid9PUSEF6781vsfiK8qUz62zRR448/XgK2NtCbpiUGizbep8Lrpt0Du19PpGGZvw3Q==";
       };
     };
-    "core-js-compat-3.3.4" = {
+    "core-js-compat-3.6.0" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.3.4";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.4.tgz";
-        sha512 = "7OK3/LPP8R3Ovasf3GilEOp+o1w0ZKJ75FMou2RDfTwIV69G5RkKCGFnqgBv/ZhR6xo9GCzlfVALyHmydbE7DA==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.0.tgz";
+        sha512 = "Z3eCNjGgoYluH89Jt4wVkfYsc/VdLrA2/woX5lm0isO/pCT+P+Y+o65bOuEnjDJLthdwTBxbCVzptTXtc18fJg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -10948,22 +11236,22 @@ let
         sha1 = "aba6c5833be410d45b1eca3e6d583844ce682c77";
       };
     };
-    "cp-file-6.2.0" = {
+    "cp-file-7.0.0" = {
       name = "cp-file";
       packageName = "cp-file";
-      version = "6.2.0";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz";
-        sha512 = "fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==";
+        url = "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz";
+        sha512 = "0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==";
       };
     };
-    "cpy-7.3.0" = {
+    "cpy-8.0.0" = {
       name = "cpy";
       packageName = "cpy";
-      version = "7.3.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cpy/-/cpy-7.3.0.tgz";
-        sha512 = "auvDu6h/J+cO1uqV40ymL/VoPM0+qPpNGaNttTzkYVXO/+GeynuyAK/MwFcWgU/P82ezcZw7RaN34CIIWajKLA==";
+        url = "https://registry.npmjs.org/cpy/-/cpy-8.0.0.tgz";
+        sha512 = "iTjLUqtVr45e17GFAyxA0lqFinbGMblMCTtAqrPzT/IETNtDuyyhDDk8weEZ08MiCc6EcuyNq2KtGH5J2BIAoQ==";
       };
     };
     "crc-0.2.0" = {
@@ -11065,22 +11353,22 @@ let
         sha512 = "LuoXnCRMKEo3KR3jEbCRpP3Nu2TUhLTlb/axP9+rl+ouhBpxTaHaTTN1bdUS2x2VK3wWyCBl1OZHyHhlRBntWg==";
       };
     };
-    "creato-1.0.7" = {
+    "creato-1.1.0" = {
       name = "creato";
       packageName = "creato";
-      version = "1.0.7";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/creato/-/creato-1.0.7.tgz";
-        sha512 = "FuIJS+j87XAZGeblY2GINN+C4QHoFGP1gMAbsdr2uU+m8HvSHokzE/Ok6SLVFnSMQMLjDX0jS0EW6jlVmo5MsQ==";
+        url = "https://registry.npmjs.org/creato/-/creato-1.1.0.tgz";
+        sha512 = "fxVZGER1+o5HTBtGYuQEtaYe4uTvplCoPm28uu/7nMzMdBdPvZJlA5qyONJUEevJQGssWJxcmrGMOOCbv25CeA==";
       };
     };
-    "cron-1.7.1" = {
+    "cron-1.7.2" = {
       name = "cron";
       packageName = "cron";
-      version = "1.7.1";
+      version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cron/-/cron-1.7.1.tgz";
-        sha512 = "gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A==";
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.2.tgz";
+        sha512 = "+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==";
       };
     };
     "cross-env-5.2.0" = {
@@ -11092,6 +11380,15 @@ let
         sha512 = "jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==";
       };
     };
+    "cross-env-6.0.3" = {
+      name = "cross-env";
+      packageName = "cross-env";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz";
+        sha512 = "+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==";
+      };
+    };
     "cross-fetch-2.2.2" = {
       name = "cross-fetch";
       packageName = "cross-fetch";
@@ -11272,13 +11569,13 @@ let
         sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
       };
     };
-    "css-select-2.0.2" = {
+    "css-select-2.1.0" = {
       name = "css-select";
       packageName = "css-select";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz";
-        sha512 = "dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==";
+        url = "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz";
+        sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
     "css-select-base-adapter-0.1.1" = {
@@ -11299,22 +11596,13 @@ let
         sha512 = "xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==";
       };
     };
-    "css-tree-1.0.0-alpha.29" = {
-      name = "css-tree";
-      packageName = "css-tree";
-      version = "1.0.0-alpha.29";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
-        sha512 = "sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==";
-      };
-    };
-    "css-tree-1.0.0-alpha.33" = {
+    "css-tree-1.0.0-alpha.37" = {
       name = "css-tree";
       packageName = "css-tree";
-      version = "1.0.0-alpha.33";
+      version = "1.0.0-alpha.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
-        sha512 = "SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==";
+        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
+        sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==";
       };
     };
     "css-unit-converter-1.1.1" = {
@@ -11335,6 +11623,15 @@ let
         sha512 = "a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==";
       };
     };
+    "css-what-3.2.1" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz";
+        sha512 = "WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==";
+      };
+    };
     "cssauron-1.4.0" = {
       name = "cssauron";
       packageName = "cssauron";
@@ -11434,13 +11731,13 @@ let
         sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
       };
     };
-    "csso-3.5.1" = {
+    "csso-4.0.2" = {
       name = "csso";
       packageName = "csso";
-      version = "3.5.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz";
-        sha512 = "vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==";
+        url = "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz";
+        sha512 = "kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==";
       };
     };
     "cssom-0.3.8" = {
@@ -11875,6 +12172,15 @@ let
         sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==";
       };
     };
+    "dayjs-1.8.18" = {
+      name = "dayjs";
+      packageName = "dayjs";
+      version = "1.8.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.8.18.tgz";
+        sha512 = "JBMJZghNK8TtuoPnKNIzW9xavVVigld/zmZNpZSyQbkb2Opp55YIfZUpE4OEqPF/iyUVQTKcn1bC2HtC8B7s3g==";
+      };
+    };
     "de-indent-1.0.2" = {
       name = "de-indent";
       packageName = "de-indent";
@@ -11884,13 +12190,13 @@ let
         sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
       };
     };
-    "deasync-0.1.15" = {
+    "deasync-0.1.19" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.15";
+      version = "0.1.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.15.tgz";
-        sha512 = "pxMaCYu8cQIbGkA4Y1R0PLSooPIpH1WgFBLeJ+zLxQgHfkZG86ViJSmZmONSjZJ/R3NjwkMcIWZAzpLB2G9/CA==";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.19.tgz";
+        sha512 = "oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg==";
       };
     };
     "death-1.1.0" = {
@@ -11911,6 +12217,15 @@ let
         sha512 = "mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==";
       };
     };
+    "debounce-fn-3.0.1" = {
+      name = "debounce-fn";
+      packageName = "debounce-fn";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debounce-fn/-/debounce-fn-3.0.1.tgz";
+        sha512 = "aBoJh5AhpqlRoHZjHmOzZlRx+wz2xVwGL9rjs+Kj0EWUrL4/h4K7OD176thl2Tdoqui/AaA4xhHrNArGLAaI3Q==";
+      };
+    };
     "debounced-seeker-1.0.0" = {
       name = "debounced-seeker";
       packageName = "debounced-seeker";
@@ -11947,15 +12262,6 @@ let
         sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       };
     };
-    "debug-0.8.1" = {
-      name = "debug";
-      packageName = "debug";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
-        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
-      };
-    };
     "debug-1.0.5" = {
       name = "debug";
       packageName = "debug";
@@ -12181,22 +12487,22 @@ let
         sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
       };
     };
-    "deep-equal-1.0.1" = {
+    "deep-equal-1.1.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
-      version = "1.0.1";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
-        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
+        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
       };
     };
-    "deep-equal-1.1.0" = {
+    "deep-equal-2.0.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
-      version = "1.1.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz";
-        sha512 = "ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==";
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz";
+        sha512 = "7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==";
       };
     };
     "deep-extend-0.2.11" = {
@@ -12298,13 +12604,13 @@ let
         sha512 = "YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==";
       };
     };
-    "deepmerge-4.2.1" = {
+    "deepmerge-4.2.2" = {
       name = "deepmerge";
       packageName = "deepmerge";
-      version = "4.2.1";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.1.tgz";
-        sha512 = "32P7FIV6JKt0hPMFNlWFytzVGpppYHFKdnhFUEMXheWc8Lw4HnHEzJa5yxhaQedDAXv2SI6zD7+UbqnC5k9g9Q==";
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     };
     "default-browser-id-1.0.4" = {
@@ -12352,13 +12658,13 @@ let
         sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
       };
     };
-    "defer-to-connect-1.0.2" = {
+    "defer-to-connect-1.1.1" = {
       name = "defer-to-connect";
       packageName = "defer-to-connect";
-      version = "1.0.2";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz";
-        sha512 = "k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==";
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz";
+        sha512 = "J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==";
       };
     };
     "deferred-0.7.11" = {
@@ -12568,13 +12874,13 @@ let
         sha512 = "xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==";
       };
     };
-    "deps-sort-2.0.0" = {
+    "deps-sort-2.0.1" = {
       name = "deps-sort";
       packageName = "deps-sort";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz";
-        sha1 = "091724902e84658260eb910748cccd1af6e21fb5";
+        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";
+        sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
       };
     };
     "deref-0.6.4" = {
@@ -12586,13 +12892,13 @@ let
         sha1 = "bd5a96d45dbed3011bb81bdf68ddf54be8e1bd4e";
       };
     };
-    "des.js-1.0.0" = {
+    "des.js-1.0.1" = {
       name = "des.js";
       packageName = "des.js";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
-        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
+        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
       };
     };
     "destroy-1.0.3" = {
@@ -12802,15 +13108,6 @@ let
         sha512 = "s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==";
       };
     };
-    "diff-lines-1.1.1" = {
-      name = "diff-lines";
-      packageName = "diff-lines";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-lines/-/diff-lines-1.1.1.tgz";
-        sha512 = "Oo5JzEEriF/+T0usOeRP5yOzr6SWvni2rrxvIgijMZSxPcEvf8JOvCO5GpnWwkte7fcOgnue/f5ECg1H9lMPCw==";
-      };
-    };
     "diff-match-patch-1.0.4" = {
       name = "diff-match-patch";
       packageName = "diff-match-patch";
@@ -12829,6 +13126,15 @@ let
         sha512 = "YDadfvH7ge833dKRGNr1gWZLa00tihMhwACUuQwrIQcPu/tnZ9t/Dq5W6fTQaKnLZ7iY7snGoyikTmF9mqBx+Q==";
       };
     };
+    "diff3-0.0.3" = {
+      name = "diff3";
+      packageName = "diff3";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz";
+        sha1 = "d4e5c3a4cdf4e5fe1211ab42e693fcb4321580fc";
+      };
+    };
     "diffie-hellman-5.0.3" = {
       name = "diffie-hellman";
       packageName = "diffie-hellman";
@@ -13144,13 +13450,13 @@ let
         sha512 = "l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==";
       };
     };
-    "dom-serializer-0.2.1" = {
+    "dom-serializer-0.2.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "0.2.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz";
-        sha512 = "sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
+        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
     "dom-walk-0.1.1" = {
@@ -13288,6 +13594,15 @@ let
         sha512 = "tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==";
       };
     };
+    "dot-prop-5.2.0" = {
+      name = "dot-prop";
+      packageName = "dot-prop";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz";
+        sha512 = "uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==";
+      };
+    };
     "dotenv-4.0.0" = {
       name = "dotenv";
       packageName = "dotenv";
@@ -13333,13 +13648,13 @@ let
         sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
       };
     };
-    "dotnet-deps-parser-4.5.2" = {
+    "dotnet-deps-parser-4.9.0" = {
       name = "dotnet-deps-parser";
       packageName = "dotnet-deps-parser";
-      version = "4.5.2";
+      version = "4.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-4.5.2.tgz";
-        sha512 = "bk5Q1luEwQ10rrBwZbtTxUNadaLz2dM6xzOLoTK+oUBcaq6saCeELmkIgdG+Fwkn58XRgLQvOySVS0gp4OG6RA==";
+        url = "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-4.9.0.tgz";
+        sha512 = "V0O+7pI7Ei+iL5Kgy6nYq1UTwzrpqci5K/zf8cXyP5RWBSQBUl/JOE9I67zLUkKiwOdfPhbMQgcRj/yGA+NL1A==";
       };
     };
     "downgrade-root-1.2.2" = {
@@ -13513,13 +13828,13 @@ let
         sha512 = "vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==";
       };
     };
-    "eachr-3.2.0" = {
+    "eachr-3.3.0" = {
       name = "eachr";
       packageName = "eachr";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eachr/-/eachr-3.2.0.tgz";
-        sha1 = "2c35e43ea086516f7997cf80b7aa64d55a4a4484";
+        url = "https://registry.npmjs.org/eachr/-/eachr-3.3.0.tgz";
+        sha512 = "yKWuGwOE283CTgbEuvqXXusLH4VBXnY2nZbDkeWev+cpAXY6zCIADSPLdvfkAROc0t8S4l07U1fateCdEDuuvg==";
       };
     };
     "easy-stack-1.0.0" = {
@@ -13540,15 +13855,6 @@ let
         sha1 = "3a83a904e54353287874c564b7549386849a98c9";
       };
     };
-    "ecc-jsbn-0.2.0" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.2.0.tgz";
-        sha1 = "7c98afab245f6df32290473c0abee2f2d39334c7";
-      };
-    };
     "ecdsa-sig-formatter-1.0.11" = {
       name = "ecdsa-sig-formatter";
       packageName = "ecdsa-sig-formatter";
@@ -13585,22 +13891,13 @@ let
         sha1 = "94a44248bb87da35db0eff7af0aa576168117f59";
       };
     };
-    "editions-1.3.4" = {
-      name = "editions";
-      packageName = "editions";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz";
-        sha512 = "gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==";
-      };
-    };
-    "editions-2.2.0" = {
+    "editions-2.3.0" = {
       name = "editions";
       packageName = "editions";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/editions/-/editions-2.2.0.tgz";
-        sha512 = "RYg3iEA2BDLCNVe8PUkD+ox5vAKxB9XS/mAhx1bdxGCF0CpX077C0pyTA9t5D6idCYA3avl5/XDHKPsHFrygfw==";
+        url = "https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";
+        sha512 = "jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==";
       };
     };
     "editor-1.0.0" = {
@@ -13657,22 +13954,22 @@ let
         sha1 = "cc872c168880ae3c7189762fd5ffc00896c9518a";
       };
     };
-    "ejs-2.7.1" = {
+    "ejs-2.7.4" = {
       name = "ejs";
       packageName = "ejs";
-      version = "2.7.1";
+      version = "2.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz";
-        sha512 = "kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==";
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz";
+        sha512 = "7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==";
       };
     };
-    "electron-to-chromium-1.3.296" = {
+    "electron-to-chromium-1.3.322" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.296";
+      version = "1.3.322";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.296.tgz";
-        sha512 = "s5hv+TSJSVRsxH190De66YHb50pBGTweT9XGWYu/LMR20KX6TsjFzObo36CjVAzM+PUeeKSBRtm/mISlCzeojQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz";
+        sha512 = "Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==";
       };
     };
     "elegant-spinner-1.0.1" = {
@@ -13702,13 +13999,13 @@ let
         sha1 = "9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0";
       };
     };
-    "elliptic-6.5.1" = {
+    "elliptic-6.5.2" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.1";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz";
-        sha512 = "xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz";
+        sha512 = "f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==";
       };
     };
     "email-validator-2.0.4" = {
@@ -14099,6 +14396,15 @@ let
         sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
       };
     };
+    "env-paths-2.2.0" = {
+      name = "env-paths";
+      packageName = "env-paths";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz";
+        sha512 = "6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==";
+      };
+    };
     "env-variable-0.0.5" = {
       name = "env-variable";
       packageName = "env-variable";
@@ -14108,22 +14414,13 @@ let
         sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
       };
     };
-    "envinfo-7.3.1" = {
+    "envinfo-7.5.0" = {
       name = "envinfo";
       packageName = "envinfo";
-      version = "7.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.3.1.tgz";
-        sha512 = "GvXiDTqLYrORVSCuJCsWHPXF5BFvoWMQA9xX4YVjPT1jyS3aZEHUBwjzxU/6LTPF9ReHgVEbX7IEN5UvSXHw/A==";
-      };
-    };
-    "envinfo-7.4.0" = {
-      name = "envinfo";
-      packageName = "envinfo";
-      version = "7.4.0";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.4.0.tgz";
-        sha512 = "FdDfnWnCVjxTTpWE3d6Jgh5JDIA3Cw7LCgpM/pI7kK1ORkjaqI2r6NqQ+ln2j0dfpgxY00AWieSvtkiZQKIItA==";
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz";
+        sha512 = "jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==";
       };
     };
     "epidemic-broadcast-trees-7.0.0" = {
@@ -14144,13 +14441,13 @@ let
         sha1 = "06e0116d3028f6aef4806849eb0ea6a748ae6960";
       };
     };
-    "errlop-1.1.2" = {
+    "errlop-2.0.0" = {
       name = "errlop";
       packageName = "errlop";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errlop/-/errlop-1.1.2.tgz";
-        sha512 = "djkRp+urJ+SmqDBd7F6LUgm4Be1TTYBxia2bhjNdFBuBDQtJDHExD2VbxR6eyst3h1TZy3qPRCdqb6FBoFttTA==";
+        url = "https://registry.npmjs.org/errlop/-/errlop-2.0.0.tgz";
+        sha512 = "z00WIrQhtOMUnjdTG0O4f6hMG64EVccVDBy2WwgjcF8S4UB1exGYuc2OFwmdQmsJwLQVEIHWHPCz/omXXgAZHw==";
       };
     };
     "errno-0.1.7" = {
@@ -14189,31 +14486,40 @@ let
         sha512 = "rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==";
       };
     };
-    "es-abstract-1.16.0" = {
+    "es-abstract-1.17.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.16.0";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz";
+        sha512 = "yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==";
+      };
+    };
+    "es-get-iterator-1.0.2" = {
+      name = "es-get-iterator";
+      packageName = "es-get-iterator";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz";
-        sha512 = "xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==";
+        url = "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.0.2.tgz";
+        sha512 = "ZHb4fuNK3HKHEOvDGyHPKf5cSWh/OvAMskeM/+21NMnTuvqFvz8uHatolu+7Kf6b6oK9C+3Uo1T37pSGPWv0MA==";
       };
     };
-    "es-to-primitive-1.2.0" = {
+    "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
-        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
-    "es5-ext-0.10.51" = {
+    "es5-ext-0.10.53" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.51";
+      version = "0.10.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz";
-        sha512 = "oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
       };
     };
     "es5-ext-0.8.2" = {
@@ -14342,13 +14648,13 @@ let
         sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
       };
     };
-    "es6-symbol-3.1.2" = {
+    "es6-symbol-3.1.3" = {
       name = "es6-symbol";
       packageName = "es6-symbol";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz";
-        sha512 = "/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==";
+        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" = {
@@ -14504,13 +14810,13 @@ let
         sha512 = "S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==";
       };
     };
-    "eslint-6.6.0" = {
+    "eslint-6.8.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "6.6.0";
+      version = "6.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz";
-        sha512 = "PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
       };
     };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
@@ -14729,6 +15035,15 @@ let
         sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
       };
     };
+    "essentials-1.1.1" = {
+      name = "essentials";
+      packageName = "essentials";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/essentials/-/essentials-1.1.1.tgz";
+        sha512 = "SmaxoAdVu86XkZQM/u6TYSu96ZlFGwhvSk1l9zAkznFuQkMb9mRDS2iq/XWDow7R8OwBwdYH8nLyDKznMD+GWw==";
+      };
+    };
     "esshorten-1.1.1" = {
       name = "esshorten";
       packageName = "esshorten";
@@ -15062,24 +15377,6 @@ let
         sha512 = "7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==";
       };
     };
-    "execa-0.4.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.4.0.tgz";
-        sha1 = "4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3";
-      };
-    };
-    "execa-0.6.3" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz";
-        sha1 = "57b69a594f081759c69e5370f0d17b9cb11658fe";
-      };
-    };
     "execa-0.7.0" = {
       name = "execa";
       packageName = "execa";
@@ -15116,13 +15413,13 @@ let
         sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
-    "execa-3.2.0" = {
+    "execa-3.4.0" = {
       name = "execa";
       packageName = "execa";
-      version = "3.2.0";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-3.2.0.tgz";
-        sha512 = "kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==";
+        url = "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz";
+        sha512 = "r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==";
       };
     };
     "execall-1.0.0" = {
@@ -15296,6 +15593,15 @@ let
         sha512 = "oy0sRsdw6n93E9wpCNWKRnSsxYnSDX9Dnr9mhZgqUEEorzcq5nshGYSZ4ZReHFhKQ80WI5iVUUSPW7u3GaKauw==";
       };
     };
+    "express-session-1.17.0" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz";
+        sha512 = "t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==";
+      };
+    };
     "express-urlrewrite-1.2.0" = {
       name = "express-urlrewrite";
       packageName = "express-urlrewrite";
@@ -15314,6 +15620,15 @@ let
         sha1 = "f5fc2f9fa9e9a8578634f10e86ba5a4346b96f4f";
       };
     };
+    "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==";
+      };
+    };
     "ext-list-2.2.2" = {
       name = "ext-list";
       packageName = "ext-list";
@@ -15458,13 +15773,13 @@ let
         sha512 = "qRW6y9eKF0VbCyOoOEtFhzJ3uykAw8GKwQVXyAIqwocyEWW4m+v+evec34RwtUkkxxHh7NKBLJ6AnXM8W4dH5w==";
       };
     };
-    "extract-opts-3.3.1" = {
+    "extract-opts-3.4.0" = {
       name = "extract-opts";
       packageName = "extract-opts";
-      version = "3.3.1";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/extract-opts/-/extract-opts-3.3.1.tgz";
-        sha1 = "5abbedc98c0d5202e3278727f9192d7e086c6be1";
+        url = "https://registry.npmjs.org/extract-opts/-/extract-opts-3.4.0.tgz";
+        sha512 = "M7Y+1cJDkzOWqvGH5F/V2qgkD6+uitW3NV9rQGl+pLSVuXZ4IDDQgxxMeLPKcWUyfypBWczIILiroSuhXG7Ytg==";
       };
     };
     "extract-stack-1.0.0" = {
@@ -15638,6 +15953,15 @@ let
         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
+    "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.0.7" = {
       name = "fast-levenshtein";
       packageName = "fast-levenshtein";
@@ -15854,13 +16178,13 @@ let
         sha512 = "uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==";
       };
     };
-    "file-type-12.1.0" = {
+    "file-type-12.3.1" = {
       name = "file-type";
       packageName = "file-type";
-      version = "12.1.0";
+      version = "12.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-type/-/file-type-12.1.0.tgz";
-        sha512 = "aZkf42yWGiH+vSOpbVgvbnoRuX4JiitMX9pHYqTHemNQ3lrx64iHi33YGAP7TSJSno56kxQY1lHmw8S6ujlFUg==";
+        url = "https://registry.npmjs.org/file-type/-/file-type-12.3.1.tgz";
+        sha512 = "FXxY5h6vSYMjrRal4YqbtfuoKD/oE0AMjJ7E5Hm+BdaQECcFVD03B41RAWYJ7wyuLr/wRnCtFo7y37l+nh+TAA==";
       };
     };
     "file-type-3.9.0" = {
@@ -16007,13 +16331,13 @@ let
         sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
-    "filter-obj-1.1.0" = {
+    "filter-obj-2.0.1" = {
       name = "filter-obj";
       packageName = "filter-obj";
-      version = "1.1.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz";
-        sha1 = "9b311112bc6c6127a16e016c6c5d7f19e0805c5b";
+        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.1.tgz";
+        sha512 = "yDEp513p7+iLdFHWBVdZFnRiOYwg8ZqmpaAiZCMjzqsbo7tCS4Qm4ulXOht337NGzkukKa9u3W4wqQ9tQPm3Ug==";
       };
     };
     "finalhandler-0.3.3" = {
@@ -16322,13 +16646,13 @@ let
         sha512 = "ougBA2q6Rn9sZrjZQ9r5pTFxCotlGouySpD2yRIuq5AYwwfIT8HHhVMeSwrN5qJayjHINLJyrnsSkkPCZyfMrQ==";
       };
     };
-    "flow-parser-0.110.1" = {
+    "flow-parser-0.114.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.110.1";
+      version = "0.114.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.110.1.tgz";
-        sha512 = "k0QoogCKfE7cr3WSgHYTt8QhZxxoi0tun4uVMSqx68L0E9ao1ltxlhJAKibTGlwR1V6lnGfKXU1zU9JB1q2ZRg==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.114.0.tgz";
+        sha512 = "Qt9HT3v507bCerJfp4FX4N5E7ysinBzxjpK1rL7bJ/Bw12puF6lva2MAIXYS1d83bV7BT/F7EDk+faJQY5MpRA==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -16394,13 +16718,13 @@ let
         sha512 = "73LAN0qF4zVMHMExYhK0z1swDo6FEh/bt1HF5/UnWkgI5JsECXOK2bTokWVU1levtr9bd+IxYChnJKJNnEzD0A==";
       };
     };
-    "flumeview-level-3.0.13" = {
+    "flumeview-level-3.0.14" = {
       name = "flumeview-level";
       packageName = "flumeview-level";
-      version = "3.0.13";
+      version = "3.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.13.tgz";
-        sha512 = "K8sM6AoWVGWps5H/MiqEHxWd0Ts3NtcWEsBjGmC3LD2EPOhrTcDQFn4dVpGAdiZma3RGFRVHE7OTperHrfJnkA==";
+        url = "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.14.tgz";
+        sha512 = "Nl0gJOgrDGpJGZDkP6gvo6s1Q9WmRynbHUvI/JY3eQ81YgzUUa2FKLlfu6OHV5ho5NeXP+00F+0K1yBVaEgJOQ==";
       };
     };
     "flumeview-query-6.3.0" = {
@@ -16781,15 +17105,6 @@ let
         sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
       };
     };
-    "fs-copy-file-sync-1.1.1" = {
-      name = "fs-copy-file-sync";
-      packageName = "fs-copy-file-sync";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz";
-        sha512 = "2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==";
-      };
-    };
     "fs-exists-sync-0.1.0" = {
       name = "fs-exists-sync";
       packageName = "fs-exists-sync";
@@ -16907,6 +17222,15 @@ let
         sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
+    "fs-minipass-2.0.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz";
+        sha512 = "40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==";
+      };
+    };
     "fs-mkdirp-stream-1.0.0" = {
       name = "fs-mkdirp-stream";
       packageName = "fs-mkdirp-stream";
@@ -16952,22 +17276,22 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fs2-0.3.6" = {
+    "fs2-0.3.7" = {
       name = "fs2";
       packageName = "fs2";
-      version = "0.3.6";
+      version = "0.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs2/-/fs2-0.3.6.tgz";
-        sha512 = "Zs7c3SBPiiNEEg+w3PTIgxTbWA6ZWVJP+1DlwUCxNDtwQD2qM5pfdho7IaiR0ceu4UVvXRj9l6Ml+X6rs21ERw==";
+        url = "https://registry.npmjs.org/fs2/-/fs2-0.3.7.tgz";
+        sha512 = "fwfd9MBI/fnXtR/ClVTyeuPXJ+oI5WNyXvBQPmc4btgqLYTKOuBRTRUVjmVpDUri0C88HLwMlc5ESg48fEAGjw==";
       };
     };
-    "fsevents-1.2.9" = {
+    "fsevents-1.2.11" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.9";
+      version = "1.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
-        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz";
+        sha512 = "+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==";
       };
     };
     "fsevents-2.0.7" = {
@@ -16979,13 +17303,13 @@ let
         sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
       };
     };
-    "fsevents-2.1.1" = {
+    "fsevents-2.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz";
-        sha512 = "4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz";
+        sha512 = "R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==";
       };
     };
     "fstream-0.1.31" = {
@@ -17033,13 +17357,13 @@ let
         sha1 = "9197d861ad8142f3e63d5a83bfe4c59f7330885d";
       };
     };
-    "fullname-3.3.0" = {
+    "fullname-4.0.1" = {
       name = "fullname";
       packageName = "fullname";
-      version = "3.3.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fullname/-/fullname-3.3.0.tgz";
-        sha1 = "a08747d6921229610b8178b7614fce10cb185f5a";
+        url = "https://registry.npmjs.org/fullname/-/fullname-4.0.1.tgz";
+        sha512 = "jVT8q9Ah9JwqfIGKwKzTdbRRthdPpIjEe9kgvxM104Tv+q6SgOAQqJMVP90R0DBRAqejGMHDRWJtl3Ats6BjfQ==";
       };
     };
     "function-bind-1.1.1" = {
@@ -17393,13 +17717,13 @@ let
         sha1 = "6d33f7ed63db0d0e118131503bab3aca47d54664";
       };
     };
-    "git-diff-tree-1.0.0" = {
+    "git-diff-tree-1.1.0" = {
       name = "git-diff-tree";
       packageName = "git-diff-tree";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-diff-tree/-/git-diff-tree-1.0.0.tgz";
-        sha1 = "141e5641769d065997a6b94c3a2c60e062b54da8";
+        url = "https://registry.npmjs.org/git-diff-tree/-/git-diff-tree-1.1.0.tgz";
+        sha512 = "PdNkH2snpXsKIzho6OWMZKEl+KZG6Zm+1ghQIDi0tEq1sz/S1tDjvNuYrX2ZpomalHAB89OUQim8O6vN+jesNQ==";
       };
     };
     "git-packidx-parser-1.0.0" = {
@@ -17465,13 +17789,13 @@ let
         sha512 = "tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==";
       };
     };
-    "git-spawned-stream-0.1.1" = {
+    "git-spawned-stream-1.0.1" = {
       name = "git-spawned-stream";
       packageName = "git-spawned-stream";
-      version = "0.1.1";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-0.1.1.tgz";
-        sha1 = "38927da02e52d862396861bf996557452643802b";
+        url = "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-1.0.1.tgz";
+        sha512 = "W2Zo3sCiq5Hqv1/FLsNmGomkXdyimmkHncGzqjBHh7nWx+CbH5dkWGb6CiFdknooL7wfeZJ3gz14KrXl/gotCw==";
       };
     };
     "git-ssb-web-2.8.0" = {
@@ -17627,6 +17951,15 @@ let
         sha512 = "J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==";
       };
     };
+    "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-base-0.3.0" = {
       name = "glob-base";
       packageName = "glob-base";
@@ -17726,13 +18059,13 @@ let
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     };
-    "global-agent-2.1.5" = {
+    "global-agent-2.1.7" = {
       name = "global-agent";
       packageName = "global-agent";
-      version = "2.1.5";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/global-agent/-/global-agent-2.1.5.tgz";
-        sha512 = "pYJjCxxNBzYxo6iNO62JZn8iCFVbvpiM0zE4w/G5hBNIvLjnvzIeCVQPMKc3aK8ju5L7Q8NNI/oBSosU0eeSYw==";
+        url = "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz";
+        sha512 = "ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==";
       };
     };
     "global-dirs-0.1.1" = {
@@ -17835,6 +18168,15 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
+    "globals-12.3.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "12.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz";
+        sha512 = "wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==";
+      };
+    };
     "globals-9.18.0" = {
       name = "globals";
       packageName = "globals";
@@ -17844,13 +18186,13 @@ let
         sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     };
-    "globalthis-1.0.0" = {
+    "globalthis-1.0.1" = {
       name = "globalthis";
       packageName = "globalthis";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.0.tgz";
-        sha512 = "vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==";
+        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz";
+        sha512 = "mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==";
       };
     };
     "globalyzer-0.1.4" = {
@@ -17916,13 +18258,13 @@ let
         sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
       };
     };
-    "globule-1.2.1" = {
+    "globule-1.3.0" = {
       name = "globule";
       packageName = "globule";
-      version = "1.2.1";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz";
-        sha512 = "g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==";
+        url = "https://registry.npmjs.org/globule/-/globule-1.3.0.tgz";
+        sha512 = "YlD4kdMqRCQHrhVdonet4TdRtv1/sZKepvoxNT4Nrhrp5HI8XFfc8kFlGlBn2myBo80aGp8Eft259mbcUJhgSg==";
       };
     };
     "glogg-1.0.2" = {
@@ -18114,13 +18456,13 @@ let
         sha512 = "bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==";
       };
     };
-    "graphlib-2.1.7" = {
+    "graphlib-2.1.8" = {
       name = "graphlib";
       packageName = "graphlib";
-      version = "2.1.7";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz";
-        sha512 = "TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==";
+        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz";
+        sha512 = "jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==";
       };
     };
     "graphql-0.13.2" = {
@@ -18141,13 +18483,13 @@ let
         sha512 = "MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==";
       };
     };
-    "graphql-anywhere-4.2.4" = {
+    "graphql-anywhere-4.2.6" = {
       name = "graphql-anywhere";
       packageName = "graphql-anywhere";
-      version = "4.2.4";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.2.4.tgz";
-        sha512 = "rN6Op5vle0Ucqo8uOVPuFzRz1L/MB+ZVa+XezhFcQ6iP13vy95HOXRysrRtWcu2kQQTLyukSGmfU08D8LXWSIw==";
+        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.2.6.tgz";
+        sha512 = "re4fqaii3l0fCsC3qFKQrmwffephI9rinrwXAy+4EnWip2YkGlV8wC4en42eW8KI2nlWBh9lkJPfR/5TZf/l1w==";
       };
     };
     "graphql-cli-prepare-1.4.19" = {
@@ -18186,13 +18528,13 @@ let
         sha512 = "bOufkkog0cSfHJ9gVD3Wy+KHmkSTHWcFfPaV/NVpIvfJx15gU0/CzuC6lcTjioWmn+UGzYdoqmP7OrJAWT57sw==";
       };
     };
-    "graphql-extensions-0.10.4" = {
+    "graphql-extensions-0.10.8" = {
       name = "graphql-extensions";
       packageName = "graphql-extensions";
-      version = "0.10.4";
+      version = "0.10.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.10.4.tgz";
-        sha512 = "lE6MroluEYocbR/ICwccv39w+Pz4cBPadJ11z1rJkbZv5wstISEganbDOwl9qN21rcZGiWzh7QUNxUiFUXXEDw==";
+        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.10.8.tgz";
+        sha512 = "cUcc014vz+pfwcER8pc4ts/WWhDCrC9jhNFIiWYYntd2TshS+tZFsZ362i4P2VYLbpYCgFiO+xRY1f2mylyz5A==";
       };
     };
     "graphql-import-0.4.5" = {
@@ -18285,13 +18627,13 @@ let
         sha512 = "jHLQw8x3xmSNRBCsaZqelXXsFfUSUSktSCUP8KYHiX1Z9qEuwcMpAf+FkdBzk8aTAFqOlPdNZ3OI4DKKqGKUqg==";
       };
     };
-    "graphql-type-json-0.3.0" = {
+    "graphql-type-json-0.3.1" = {
       name = "graphql-type-json";
       packageName = "graphql-type-json";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.0.tgz";
-        sha512 = "lnxg5HiB95yxy+/5cDKtP6pZo0zgntsOmqsjeCBXFGJ4YoMF3+1YaSEKWJntNTu+VsAm3zf6lPxFpp1kxzofLA==";
+        url = "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.1.tgz";
+        sha512 = "1lPkUXQ2L8o+ERLzVAuc3rzc/E6pGF+6HnjihCVTK0VzR0jCuUd92FqNxoHdfILXqOn2L6b4y47TBxiPyieUVA==";
       };
     };
     "graphql-upload-8.1.0" = {
@@ -18438,13 +18780,13 @@ let
         sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f";
       };
     };
-    "gulp-vinyl-zip-2.1.2" = {
+    "gulp-vinyl-zip-2.1.3" = {
       name = "gulp-vinyl-zip";
       packageName = "gulp-vinyl-zip";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.2.tgz";
-        sha512 = "wJn09jsb8PyvUeyFF7y7ImEJqJwYy40BqL9GKfJs6UGpaGW9A+N68Q+ajsIpb9AeR6lAdjMbIdDPclIGo1/b7Q==";
+        url = "https://registry.npmjs.org/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.3.tgz";
+        sha512 = "wOHNPddyZ45il4wNz3Bk9ChpEq5FK/P76SSkqAMCLVZSOVtLBiDIVXDbYWDlfZpoYEjZQl+28I+Uzmmr6pSnBQ==";
       };
     };
     "gulplog-1.0.0" = {
@@ -18456,13 +18798,13 @@ let
         sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
       };
     };
-    "handlebars-4.4.5" = {
+    "handlebars-4.5.3" = {
       name = "handlebars";
       packageName = "handlebars";
-      version = "4.4.5";
+      version = "4.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.4.5.tgz";
-        sha512 = "0Ce31oWVB7YidkaTq33ZxEbN+UDxMMgThvCe8ptgQViymL5DPis9uLdTA13MiRPhgvqyxIegugrP97iK3JeBHg==";
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz";
+        sha512 = "3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==";
       };
     };
     "har-schema-1.0.5" = {
@@ -18636,6 +18978,15 @@ let
         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-generators-1.0.1" = {
       name = "has-generators";
       packageName = "has-generators";
@@ -18672,13 +19023,13 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
-    "has-symbols-1.0.0" = {
+    "has-symbols-1.0.1" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
-        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "has-to-string-tag-x-1.4.1" = {
@@ -18834,13 +19185,13 @@ let
         sha512 = "C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==";
       };
     };
-    "hast-util-parse-selector-2.2.2" = {
+    "hast-util-parse-selector-2.2.3" = {
       name = "hast-util-parse-selector";
       packageName = "hast-util-parse-selector";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz";
-        sha512 = "jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==";
+        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz";
+        sha512 = "nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==";
       };
     };
     "hast-util-to-string-1.0.2" = {
@@ -18978,13 +19329,13 @@ let
         sha1 = "e6d9dbe57cbefe60751f02af336195870c90c01e";
       };
     };
-    "highlight.js-9.15.10" = {
+    "highlight.js-9.17.1" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "9.15.10";
+      version = "9.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz";
-        sha512 = "RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.17.1.tgz";
+        sha512 = "TA2/doAur5Ol8+iM3Ov7qy3jYcr/QiJ2eDTdRF4dfbjG7AaaB99J5G+zSl11ljbl6cIcahgPY6SKb3sC3EJ0fw==";
       };
     };
     "hipchatter-0.3.2" = {
@@ -19068,6 +19419,15 @@ let
         sha512 = "kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==";
       };
     };
+    "hosted-git-info-3.0.2" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.2.tgz";
+        sha512 = "ezZMWtHXm7Eb7Rq4Mwnx2vs79WUx2QmRg3+ZqeGroKzfDO+EprOcgRPYghsOP9JuYBfK18VojmRTGCg8Ma+ktw==";
+      };
+    };
     "hsl-regex-1.0.0" = {
       name = "hsl-regex";
       packageName = "hsl-regex";
@@ -19158,13 +19518,13 @@ let
         sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351";
       };
     };
-    "htmlnano-0.2.4" = {
+    "htmlnano-0.2.5" = {
       name = "htmlnano";
       packageName = "htmlnano";
-      version = "0.2.4";
+      version = "0.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.4.tgz";
-        sha512 = "wsg7+Hjyi1gHpMUixkeOjeRUNhBBTnEDB//kzvVHR+LUK4p+/31DAyE+pEACT0SQk3W0KE7Xdylk9+uNxdHXLg==";
+        url = "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz";
+        sha512 = "X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA==";
       };
     };
     "htmlparser2-3.10.1" = {
@@ -19212,6 +19572,15 @@ let
         sha1 = "945cfadd66521eaf8f7c84913d377d7b15f24e31";
       };
     };
+    "http-basic-6.0.0" = {
+      name = "http-basic";
+      packageName = "http-basic";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-basic/-/http-basic-6.0.0.tgz";
+        sha512 = "7ScbVjuiReYe8S+OZOpNjoKGXrbhJHIrQQe7eq1TpLTJkxH8MPKvnTUzq/TNLjww1hdFQy8yUIC42wuLhCjYcQ==";
+      };
+    };
     "http-cache-semantics-3.8.1" = {
       name = "http-cache-semantics";
       packageName = "http-cache-semantics";
@@ -19230,13 +19599,13 @@ let
         sha512 = "TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==";
       };
     };
-    "http-call-5.2.5" = {
+    "http-call-5.3.0" = {
       name = "http-call";
       packageName = "http-call";
-      version = "5.2.5";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-call/-/http-call-5.2.5.tgz";
-        sha512 = "SfJ9j2xfi8zhQuJxcBCN1AhPCUAvPhipNaoeHWHfHiV0gz4uf9RUt2kl+xu9mxJLKxhNP7We87aRGbaSGPjr8A==";
+        url = "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz";
+        sha512 = "ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==";
       };
     };
     "http-errors-1.6.3" = {
@@ -19312,15 +19681,6 @@ let
         sha1 = "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137";
       };
     };
-    "http-proxy-1.17.0" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz";
-        sha512 = "Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==";
-      };
-    };
     "http-proxy-1.18.0" = {
       name = "http-proxy";
       packageName = "http-proxy";
@@ -19339,6 +19699,15 @@ let
         sha512 = "qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==";
       };
     };
+    "http-response-object-3.0.2" = {
+      name = "http-response-object";
+      packageName = "http-response-object";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz";
+        sha512 = "bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==";
+      };
+    };
     "http-signature-0.11.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -19366,6 +19735,15 @@ 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_ece-1.1.0" = {
       name = "http_ece";
       packageName = "http_ece";
@@ -19393,15 +19771,6 @@ let
         sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
       };
     };
-    "https-proxy-agent-2.2.2" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz";
-        sha512 = "c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==";
-      };
-    };
     "https-proxy-agent-2.2.4" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
@@ -19771,6 +20140,15 @@ let
         sha512 = "PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==";
       };
     };
+    "import-fresh-3.2.1" = {
+      name = "import-fresh";
+      packageName = "import-fresh";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz";
+        sha512 = "6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==";
+      };
+    };
     "import-global-0.1.0" = {
       name = "import-global";
       packageName = "import-global";
@@ -20104,13 +20482,13 @@ let
         sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==";
       };
     };
-    "inquirer-7.0.0" = {
+    "inquirer-7.0.1" = {
       name = "inquirer";
       packageName = "inquirer";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz";
-        sha512 = "rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz";
+        sha512 = "V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==";
       };
     };
     "inquirer-autocomplete-prompt-1.0.1" = {
@@ -20140,13 +20518,13 @@ let
         sha512 = "YOncxSN6Omh+1Oqxt+OJAvJVMDKw7l6IEG0wT2cTMGxjsTcroOGW4IR926QDzxg/uZHcFZ2cZbckDWdZhc2pZw==";
       };
     };
-    "inspect-custom-symbol-1.1.0" = {
+    "inspect-custom-symbol-1.1.1" = {
       name = "inspect-custom-symbol";
       packageName = "inspect-custom-symbol";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.0.tgz";
-        sha512 = "vtI2YXBRZBkU6DlfHfd0GtZENfiEiTacAXUd0ZY6HA+X7aPznpFfPmzSC+tHKXAkz9KDSdI4AYfwAMXR5t+isg==";
+        url = "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz";
+        sha512 = "GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==";
       };
     };
     "inspect-function-0.2.2" = {
@@ -20563,6 +20941,15 @@ let
         sha1 = "f02ad0259a0921cd199ff21ce1b09e0f6b4e3929";
       };
     };
+    "is-bigint-1.0.0" = {
+      name = "is-bigint";
+      packageName = "is-bigint";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz";
+        sha512 = "t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==";
+      };
+    };
     "is-binary-path-1.0.1" = {
       name = "is-binary-path";
       packageName = "is-binary-path";
@@ -20581,6 +20968,15 @@ let
         sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
+    "is-boolean-object-1.0.1" = {
+      name = "is-boolean-object";
+      packageName = "is-boolean-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz";
+        sha512 = "TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==";
+      };
+    };
     "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
@@ -20599,13 +20995,13 @@ let
         sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
       };
     };
-    "is-callable-1.1.4" = {
+    "is-callable-1.1.5" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
-        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
       };
     };
     "is-canonical-base64-1.1.1" = {
@@ -20671,13 +21067,13 @@ let
         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
-    "is-date-object-1.0.1" = {
+    "is-date-object-1.0.2" = {
       name = "is-date-object";
       packageName = "is-date-object";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
-        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     };
     "is-decimal-1.0.3" = {
@@ -20950,6 +21346,15 @@ let
         sha1 = "7e147be4768dc466db3bfb21cc60b31e6ad69393";
       };
     };
+    "is-map-2.0.1" = {
+      name = "is-map";
+      packageName = "is-map";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz";
+        sha512 = "T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==";
+      };
+    };
     "is-mergeable-object-1.1.1" = {
       name = "is-mergeable-object";
       packageName = "is-mergeable-object";
@@ -21058,6 +21463,15 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
+    "is-number-object-1.0.4" = {
+      name = "is-number-object";
+      packageName = "is-number-object";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz";
+        sha512 = "zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==";
+      };
+    };
     "is-obj-1.0.1" = {
       name = "is-obj";
       packageName = "is-obj";
@@ -21067,6 +21481,15 @@ let
         sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
       };
     };
+    "is-obj-2.0.0" = {
+      name = "is-obj";
+      packageName = "is-obj";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz";
+        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
+      };
+    };
     "is-object-1.0.1" = {
       name = "is-object";
       packageName = "is-object";
@@ -21175,13 +21598,13 @@ let
         sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
       };
     };
-    "is-regex-1.0.4" = {
+    "is-regex-1.0.5" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
-        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
+        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
       };
     };
     "is-regexp-1.0.0" = {
@@ -21265,6 +21688,15 @@ let
         sha1 = "449ca98299e713038256289ecb2b540dc437cb30";
       };
     };
+    "is-set-2.0.1" = {
+      name = "is-set";
+      packageName = "is-set";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz";
+        sha512 = "eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==";
+      };
+    };
     "is-ssh-1.3.1" = {
       name = "is-ssh";
       packageName = "is-ssh";
@@ -21292,13 +21724,13 @@ let
         sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
       };
     };
-    "is-string-1.0.4" = {
+    "is-string-1.0.5" = {
       name = "is-string";
       packageName = "is-string";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz";
-        sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
+        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz";
+        sha512 = "buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==";
       };
     };
     "is-supported-regexp-flag-1.0.1" = {
@@ -21319,13 +21751,13 @@ let
         sha512 = "gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==";
       };
     };
-    "is-symbol-1.0.2" = {
+    "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
-        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
     "is-text-path-1.0.1" = {
@@ -21427,6 +21859,24 @@ let
         sha1 = "110f9ff74c37f663e1ec7915eb451f2db93ac9df";
       };
     };
+    "is-weakmap-2.0.1" = {
+      name = "is-weakmap";
+      packageName = "is-weakmap";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz";
+        sha512 = "NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==";
+      };
+    };
+    "is-weakset-2.0.1" = {
+      name = "is-weakset";
+      packageName = "is-weakset";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz";
+        sha512 = "pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==";
+      };
+    };
     "is-whitespace-character-1.0.3" = {
       name = "is-whitespace-character";
       packageName = "is-whitespace-character";
@@ -21526,6 +21976,15 @@ let
         sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
       };
     };
+    "isarray-2.0.5" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz";
+        sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==";
+      };
+    };
     "isbinaryfile-3.0.3" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
@@ -21616,13 +22075,13 @@ let
         sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
       };
     };
-    "isomorphic-git-0.47.0" = {
+    "isomorphic-git-0.70.4" = {
       name = "isomorphic-git";
       packageName = "isomorphic-git";
-      version = "0.47.0";
+      version = "0.70.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.47.0.tgz";
-        sha512 = "oea4It03KvuJrEbwYGMrRmlY+Wh7a/J/jBYKezkiUW/s6GrcAePOCnpfLR8TXkHiASZlEHCgckMd7uMAfJ9w/w==";
+        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-0.70.4.tgz";
+        sha512 = "Nk/iD4iEL35zY1B4l2PgPOJpVgTQzVH9W0oRkKc3vDbMjcfvs7nle4Y8NRghXIG27Z6KQVSTi/om6lTbzpfl+A==";
       };
     };
     "isomorphic-textencoder-1.0.1" = {
@@ -21796,13 +22255,13 @@ let
         sha1 = "06d4912255093419477d425633606e0e90782967";
       };
     };
-    "joplin-turndown-4.0.18" = {
+    "joplin-turndown-4.0.19" = {
       name = "joplin-turndown";
       packageName = "joplin-turndown";
-      version = "4.0.18";
+      version = "4.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.18.tgz";
-        sha512 = "YD0pkj2a7+XjjNNI1X9ZIwYthFwNsswvO4gl5aAoWdwJj5m8tunnoSyVenvqleXzAcaURIi/q9EOAQ1jw7xDiQ==";
+        url = "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.19.tgz";
+        sha512 = "B9XeR7bjsPWhwevnCk+EN8VQmaesDqGP3sjkk+ROMuNoQAj0p0RMkZB3actv6Ej6Q9EnRJm3JokfM3Ua4TVYvA==";
       };
     };
     "joplin-turndown-plugin-gfm-1.0.11" = {
@@ -22048,13 +22507,13 @@ let
         sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     };
-    "jshint-2.10.2" = {
+    "jshint-2.10.3" = {
       name = "jshint";
       packageName = "jshint";
-      version = "2.10.2";
+      version = "2.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz";
-        sha512 = "e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==";
+        url = "https://registry.npmjs.org/jshint/-/jshint-2.10.3.tgz";
+        sha512 = "d8AoXcNNYzmm7cdmulQ3dQApbrPYArtVBO6n4xOICe4QsXGNHCAKDcFORzqP52LhK61KX0VhY39yYzCsNq+bxQ==";
       };
     };
     "json-buffer-2.0.11" = {
@@ -22102,6 +22561,15 @@ let
         sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
       };
     };
+    "json-parse-even-better-errors-2.0.1" = {
+      name = "json-parse-even-better-errors";
+      packageName = "json-parse-even-better-errors";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.0.1.tgz";
+        sha512 = "XFY2Mbnmg+8r7MRsxfArVkZcfjxGlF/NjM3LsPXVeCX/GBF/1FTCv+idHBYC4qLPtK7q8HC8bapLoWqnhP/bXw==";
+      };
+    };
     "json-parse-helpfulerror-1.0.3" = {
       name = "json-parse-helpfulerror";
       packageName = "json-parse-helpfulerror";
@@ -22201,6 +22669,15 @@ let
         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
+    "json-schema-typed-7.0.3" = {
+      name = "json-schema-typed";
+      packageName = "json-schema-typed";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz";
+        sha512 = "7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==";
+      };
+    };
     "json-stable-stringify-0.0.1" = {
       name = "json-stable-stringify";
       packageName = "json-stable-stringify";
@@ -22282,15 +22759,6 @@ let
         sha512 = "l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==";
       };
     };
-    "jsonata-1.6.5" = {
-      name = "jsonata";
-      packageName = "jsonata";
-      version = "1.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonata/-/jsonata-1.6.5.tgz";
-        sha512 = "iRx9U6AkvsjrRdFf9MMbQmGVAL3bXVANR12vbVxjgXouMPU9VJQEcFnLWUCaW8IDmOzdxsaxK4Xe7SGlBYr5Bg==";
-      };
-    };
     "jsonata-1.7.0" = {
       name = "jsonata";
       packageName = "jsonata";
@@ -22787,13 +23255,13 @@ let
         sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     };
-    "knockout-3.5.0" = {
+    "knockout-3.5.1" = {
       name = "knockout";
       packageName = "knockout";
-      version = "3.5.0";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.0.tgz";
-        sha512 = "vBUF/IsBDzaejHkNpiquKdc5uPrImXuQ4Mb9lEfNNJ5cyHGI8ThDupR+h3eMFZhfmPE/brfwcIAn/fm0yOvJUg==";
+        url = "https://registry.npmjs.org/knockout/-/knockout-3.5.1.tgz";
+        sha512 = "wRJ9I4az0QcsH7A4v4l0enUpkS++MBx0BnL/68KaLzJg7x1qmbjSlwEoCNol7KTYZ+pmtI7Eh2J0Nu6/2Z5J/Q==";
       };
     };
     "kuler-1.0.1" = {
@@ -22976,6 +23444,15 @@ let
         sha1 = "f2b842be0b86da3352798505b31ebcae590d77d0";
       };
     };
+    "ldap-filter-0.3.3" = {
+      name = "ldap-filter";
+      packageName = "ldap-filter";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.3.3.tgz";
+        sha1 = "2b14c68a2a9d4104dbdbc910a1ca85fd189e9797";
+      };
+    };
     "ldapjs-1.0.2" = {
       name = "ldapjs";
       packageName = "ldapjs";
@@ -22985,6 +23462,15 @@ let
         sha1 = "544ff7032b7b83c68f0701328d9297aa694340f9";
       };
     };
+    "ldapjs-2.0.0-pre.2" = {
+      name = "ldapjs";
+      packageName = "ldapjs";
+      version = "2.0.0-pre.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapjs/-/ldapjs-2.0.0-pre.2.tgz";
+        sha512 = "KZnKiFXu5eEU4jKWoz29yUWh6fS8pIBuxFq9njji8LfHu3T4i05j6lsnGyDLayhJDw+rtKpEgmS3/As7CXg7WQ==";
+      };
+    };
     "lead-1.0.0" = {
       name = "lead";
       packageName = "lead";
@@ -23084,22 +23570,22 @@ let
         sha512 = "ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==";
       };
     };
-    "level-js-4.0.1" = {
+    "level-js-4.0.2" = {
       name = "level-js";
       packageName = "level-js";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/level-js/-/level-js-4.0.1.tgz";
-        sha512 = "m5JRIyHZn5VnCCFeRegJkn5bQd3MJK5qZX12zg3Oivc8+BUIS2yFS6ANMMeHX2ieGxucNvEn6/ZnyjmZQLLUWw==";
+        url = "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz";
+        sha512 = "PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==";
       };
     };
-    "level-packager-5.1.0" = {
+    "level-packager-5.1.1" = {
       name = "level-packager";
       packageName = "level-packager";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/level-packager/-/level-packager-5.1.0.tgz";
-        sha512 = "3pbJmDgGvp/lUQNULPoYQZtUbhMI8KoViYDw7Sa0kWl1mPeHWWJF7T/9upWI/NTMuEikkEE/cd6wBvmrW1+ZnQ==";
+        url = "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz";
+        sha512 = "HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==";
       };
     };
     "level-post-1.0.7" = {
@@ -23300,13 +23786,13 @@ let
         sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
       };
     };
-    "link-check-4.4.6" = {
+    "link-check-4.4.7" = {
       name = "link-check";
       packageName = "link-check";
-      version = "4.4.6";
+      version = "4.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/link-check/-/link-check-4.4.6.tgz";
-        sha512 = "83RPcCsgZ1BsSuUtcdEOYv7zndQ3fbZCuoKIrKCuUfDhBWqBzWnU+Un1WdGuveMGAOHahL0LHLFUr6KqZ2Mrzg==";
+        url = "https://registry.npmjs.org/link-check/-/link-check-4.4.7.tgz";
+        sha512 = "E5MJf3+4OiHJzqDw9CQpOeJT3yOoKUxLHVaPPzNPXvaYPJ20C5MRzk1lPoojWnf5xwoRZjK+ydzfq2kPTwJr/g==";
       };
     };
     "linkify-it-2.2.0" = {
@@ -24596,13 +25082,13 @@ let
         sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
-    "loglevel-1.6.4" = {
+    "loglevel-1.6.6" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.6.4";
+      version = "1.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz";
-        sha512 = "p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz";
+        sha512 = "Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==";
       };
     };
     "loglevel-colored-level-prefix-1.0.0" = {
@@ -25055,6 +25541,15 @@ let
         sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     };
+    "make-dir-3.0.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz";
+        sha512 = "grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==";
+      };
+    };
     "make-error-1.3.5" = {
       name = "make-error";
       packageName = "make-error";
@@ -25073,13 +25568,22 @@ let
         sha1 = "df0388fcd0b37816dff0a5fb8108939777dcbc9d";
       };
     };
-    "make-fetch-happen-5.0.1" = {
+    "make-fetch-happen-5.0.2" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "5.0.1";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz";
+        sha512 = "07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==";
+      };
+    };
+    "make-fetch-happen-6.1.0" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.1.tgz";
-        sha512 = "b4dfaMvUDR67zxUq1+GN7Ke9rH5WvGRmoHuMH7l+gmUCR2tCXFP6mpeJ9Dp+jB6z8mShRopSf1vLRBhRs8Cu5w==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-6.1.0.tgz";
+        sha512 = "Q/RHcHofC+BnleSGDiO3SQQX2mCvXz639s+kJ7+loR4RPT487itVJ8RWIyBEfnqpnkaUFaWgNyV6CxT7eyDdEA==";
       };
     };
     "make-iterator-1.0.1" = {
@@ -25370,6 +25874,15 @@ let
         sha512 = "nlmfSlgHBFx36j/Pl/KQPbIaqE8Zf0TqmSMjsuddHDg6PMSVgmyW9HpkLs0o0M1n2GIZ/S2BZBLIww/xjhiGng==";
       };
     };
+    "matcher-2.1.0" = {
+      name = "matcher";
+      packageName = "matcher";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz";
+        sha512 = "o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==";
+      };
+    };
     "matcher-collection-1.1.2" = {
       name = "matcher-collection";
       packageName = "matcher-collection";
@@ -25388,16 +25901,6 @@ let
         sha512 = "rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==";
       };
     };
-    "mathjax-full-git://github.com/mathjax/MathJax-src.git" = {
-      name = "mathjax-full";
-      packageName = "mathjax-full";
-      version = "3.0.0";
-      src = fetchgit {
-        url = "git://github.com/mathjax/MathJax-src.git";
-        rev = "1e1a30f0a89e52fa7764dbb510763145a4da49f1";
-        sha256 = "e44c97d2d7ade5ac91d13456a631778a9f2f3d73ef7e4cffc2b5e7bffa02164b";
-      };
-    };
     "mathjs-5.10.3" = {
       name = "mathjs";
       packageName = "mathjs";
@@ -25470,15 +25973,6 @@ let
         sha512 = "O3zJqbmehz0Hn3wpk62taA0+jNF7yn6BDWqQ9Wh2bEoO9Rx1BYiTmNX565eNVbW0ixfQkY6Sp9FvY/rr79Qmyg==";
       };
     };
-    "mdn-data-1.1.4" = {
-      name = "mdn-data";
-      packageName = "mdn-data";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz";
-        sha512 = "FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==";
-      };
-    };
     "mdn-data-2.0.4" = {
       name = "mdn-data";
       packageName = "mdn-data";
@@ -26037,6 +26531,15 @@ let
         sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
+    "mime-types-2.1.25" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
+      };
+    };
     "mimic-fn-1.2.0" = {
       name = "mimic-fn";
       packageName = "mimic-fn";
@@ -26217,6 +26720,69 @@ let
         sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
+    "minipass-3.1.1" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz";
+        sha512 = "UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==";
+      };
+    };
+    "minipass-collect-1.0.2" = {
+      name = "minipass-collect";
+      packageName = "minipass-collect";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
+        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
+      };
+    };
+    "minipass-fetch-1.2.1" = {
+      name = "minipass-fetch";
+      packageName = "minipass-fetch";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.2.1.tgz";
+        sha512 = "ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==";
+      };
+    };
+    "minipass-flush-1.0.5" = {
+      name = "minipass-flush";
+      packageName = "minipass-flush";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz";
+        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
+      };
+    };
+    "minipass-json-stream-1.0.1" = {
+      name = "minipass-json-stream";
+      packageName = "minipass-json-stream";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz";
+        sha512 = "ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==";
+      };
+    };
+    "minipass-pipeline-1.2.2" = {
+      name = "minipass-pipeline";
+      packageName = "minipass-pipeline";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz";
+        sha512 = "3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==";
+      };
+    };
+    "minipass-sized-1.0.3" = {
+      name = "minipass-sized";
+      packageName = "minipass-sized";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz";
+        sha512 = "MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==";
+      };
+    };
     "minitouch-prebuilt-1.2.0" = {
       name = "minitouch-prebuilt";
       packageName = "minitouch-prebuilt";
@@ -26235,6 +26801,15 @@ let
         sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
+    "minizlib-2.1.0" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz";
+        sha512 = "EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==";
+      };
+    };
     "mired-0.0.0" = {
       name = "mired";
       packageName = "mired";
@@ -26289,15 +26864,6 @@ let
         sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
       };
     };
-    "mj-context-menu-0.2.0" = {
-      name = "mj-context-menu";
-      packageName = "mj-context-menu";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.2.0.tgz";
-        sha512 = "yJxrWBHCjFZEHsZgfs7m5g9OSCNzsVYadW6f6lX3pgZL67vmodtSW/4zhsYmuDKweXfHs0M1kJge1uQIasWA+g==";
-      };
-    };
     "mkdirp-0.3.0" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -26361,13 +26927,22 @@ let
         sha512 = "xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==";
       };
     };
-    "module-deps-6.2.1" = {
+    "module-alias-2.2.2" = {
+      name = "module-alias";
+      packageName = "module-alias";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz";
+        sha512 = "A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==";
+      };
+    };
+    "module-deps-6.2.2" = {
       name = "module-deps";
       packageName = "module-deps";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz";
-        sha512 = "UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==";
+        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";
+        sha512 = "a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==";
       };
     };
     "mold-source-map-0.4.0" = {
@@ -26595,13 +27170,13 @@ let
         sha1 = "6462f1b204109ccc644601650110a828443d66e2";
       };
     };
-    "multiblob-1.13.4" = {
+    "multiblob-1.13.6" = {
       name = "multiblob";
       packageName = "multiblob";
-      version = "1.13.4";
+      version = "1.13.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiblob/-/multiblob-1.13.4.tgz";
-        sha512 = "2uv89W7I5brTx6ETpE7kXv0dGC3iA+xrAxNtwjwb3lwBTXIYrJ4jhhVX5UyNaRWHdmfLe0dJeEvJm9uoekkmag==";
+        url = "https://registry.npmjs.org/multiblob/-/multiblob-1.13.6.tgz";
+        sha512 = "1yKhCPwLXitdw3b3OF+SE0+vD06NGcL/7yumKWCrPkJaMdNv2gaO0lCukZaFKYyu05GimwXEynxGWPNBv5qbBA==";
       };
     };
     "multiblob-http-1.0.0" = {
@@ -26847,13 +27422,13 @@ let
         sha512 = "oprzxd2zhfrJqEuB98qc1dRMMonClBQ57UPDjnbcrah4orEMTq1jq3+AcdFe5ePzdbJXI7zmdhfftIdMnhYFoQ==";
       };
     };
-    "muxrpc-6.4.2" = {
+    "muxrpc-6.4.8" = {
       name = "muxrpc";
       packageName = "muxrpc";
-      version = "6.4.2";
+      version = "6.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.2.tgz";
-        sha512 = "1wRnouHgHO3JYN3xbyzQGTFsd/wo12/zaikmQusP8ma+lmL+ewNvuvuwKSEJasKQTRnbTwbzh/OPdt9N76CA4g==";
+        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.8.tgz";
+        sha512 = "9oLoLbiAWZAhgxQzquApj0eSfiTYPWLq4AV5mvCBjsicJKWOJlxAAxypHdlnmHeUbOxrPRweneHI7l+nzY/+aQ==";
       };
     };
     "muxrpc-usage-2.1.0" = {
@@ -26982,22 +27557,22 @@ let
         sha512 = "Hv9USGyH8EsPy0o8pPWE7x3YRIfuZDgMBirzjU6XLebhiSK2g53JlfqgolD0c39ne6wXAfaBNcIAvYe22Bav+Q==";
       };
     };
-    "nanoguard-1.2.1" = {
+    "nanoguard-1.2.2" = {
       name = "nanoguard";
       packageName = "nanoguard";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.1.tgz";
-        sha512 = "XowCxURA68arCQEypYKAxyIvBUP2EkqA8mZCXqJ2yzLpFblxSjiP06PUUpVK2no3cgGhsbRlBrsEuYIflxu79w==";
+        url = "https://registry.npmjs.org/nanoguard/-/nanoguard-1.2.2.tgz";
+        sha512 = "IMVIZkHP7Ep01foXurcJR59Hj/0yyApNK3JWpVHq2QVdLgo8wGU/ZsodlpL7jJ/m24+lxT0eyavrLCEuYQK2fg==";
       };
     };
-    "nanoid-2.1.6" = {
+    "nanoid-2.1.8" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "2.1.6";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-2.1.6.tgz";
-        sha512 = "2NDzpiuEy3+H0AVtdt8LoFi7PnqkOnIzYmJQp7xsEU6VexLluHQwKREuiz57XaQC5006seIadPrIZJhyS2n7aw==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-2.1.8.tgz";
+        sha512 = "g1z+n5s26w0TGKh7gjn7HCqurNKMZWzH08elXzh/gM/csQHd/UqDV6uxMghQYg9IvqRPm1QpeMk50YMofHvEjQ==";
       };
     };
     "nanolru-1.0.0" = {
@@ -27472,15 +28047,6 @@ let
         sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     };
-    "nick-0.1.3" = {
-      name = "nick";
-      packageName = "nick";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nick/-/nick-0.1.3.tgz";
-        sha1 = "d8a30b7da789d417e0baa5437f33c487be9b6020";
-      };
-    };
     "nijs-0.0.25" = {
       name = "nijs";
       packageName = "nijs";
@@ -27553,13 +28119,13 @@ let
         sha512 = "iEOqDAOFl6uN5jZGRj39Jdo8qALzf2HPXtpFso8+BMaDylDrUMYMwhFbfYGgxdnMlsRnxYTwv68kaXEpsHIapg==";
       };
     };
-    "node-abi-2.12.0" = {
+    "node-abi-2.13.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "2.12.0";
+      version = "2.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.12.0.tgz";
-        sha512 = "VhPBXCIcvmo/5K8HPmnWJyyhvgKxnHTUMXR/XwGHV68+wrgkzST4UmQrY/XszSWA5dtnXpNp528zkcyJ/pzVcw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.13.0.tgz";
+        sha512 = "9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA==";
       };
     };
     "node-addon-api-1.7.1" = {
@@ -27716,13 +28282,13 @@ let
         sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
       };
     };
-    "node-gyp-5.0.5" = {
+    "node-gyp-5.0.7" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "5.0.5";
+      version = "5.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.5.tgz";
-        sha512 = "WABl9s4/mqQdZneZHVWVG4TVr6QQJZUC6PAx47ITSk9lreZ1n+7Z9mMAIbA3vnO4J9W20P7LhCxtzfWsAD/KDw==";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.7.tgz";
+        sha512 = "K8aByl8OJD51V0VbUURTKsmdswkQQusIvlvmTyhHlIT1hBvaSxzdxpSle857XuXa7uc02UEZx9OR5aDxSWS5Qw==";
       };
     };
     "node-gyp-build-3.7.0" = {
@@ -27752,6 +28318,15 @@ let
         sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
       };
     };
+    "node-gyp-build-4.2.0" = {
+      name = "node-gyp-build";
+      packageName = "node-gyp-build";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz";
+        sha512 = "4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==";
+      };
+    };
     "node-int64-0.4.0" = {
       name = "node-int64";
       packageName = "node-int64";
@@ -27860,13 +28435,13 @@ let
         sha512 = "OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==";
       };
     };
-    "node-red-node-rbe-0.2.5" = {
+    "node-red-node-rbe-0.2.6" = {
       name = "node-red-node-rbe";
       packageName = "node-red-node-rbe";
-      version = "0.2.5";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.5.tgz";
-        sha512 = "WPwIOZIdDprgfqOe8bEun47wkFFc+5Uw/1w3O/kZn/kS2IpI1q+wijUDK+Hw8q4d8KgA58B30wh+10UvXzsPDA==";
+        url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.2.6.tgz";
+        sha512 = "3shW4Q6sHbqNQZPbfKx7HdcUuytgfJQGXwR4wdNH03q8JwAwPeuA0Z+FLOy/PcZeLDawIrV4IoqwbLsSfGAqmQ==";
       };
     };
     "node-red-node-tail-0.0.3" = {
@@ -27878,13 +28453,13 @@ let
         sha512 = "wEiT7bSeU9oVHPK7S+mHb3cR6cIf9l205wTiHzhnUAuoDJS+IdwQkkpFgKTYmkL4Py2LvqCU90h85YpQul7QFQ==";
       };
     };
-    "node-releases-1.1.39" = {
+    "node-releases-1.1.43" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.39";
+      version = "1.1.43";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz";
-        sha512 = "8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.43.tgz";
+        sha512 = "Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w==";
       };
     };
     "node-request-by-swagger-1.1.4" = {
@@ -27968,13 +28543,13 @@ let
         sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
       };
     };
-    "node.extend-2.0.0" = {
+    "node.extend-2.0.2" = {
       name = "node.extend";
       packageName = "node.extend";
-      version = "2.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node.extend/-/node.extend-2.0.0.tgz";
-        sha1 = "7525a2875677ea534784a5e10ac78956139614df";
+        url = "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz";
+        sha512 = "pDT4Dchl94/+kkgdwyS2PauDFjZG0Hk0IcHIB+LkW27HLDtdoeMxHTxZh39DYbPP8UflWXWj9JcdDozF+YDOpQ==";
       };
     };
     "nodebmc-0.0.7" = {
@@ -28166,22 +28741,22 @@ let
         sha1 = "df7c3ed5a277c3f9d4b5d819b05311d10a200ae6";
       };
     };
-    "npm-6.9.2" = {
+    "npm-6.12.1" = {
       name = "npm";
       packageName = "npm";
-      version = "6.9.2";
+      version = "6.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm/-/npm-6.9.2.tgz";
-        sha512 = "b0sEGRYrVdcV/DedLrqV4VMpdMHJbvpt9bopivh4K9RisHFMbj+G6RNbB6lRdr9rpYIoqHG9YP9CYmxdI9k81g==";
+        url = "https://registry.npmjs.org/npm/-/npm-6.12.1.tgz";
+        sha512 = "+pMvUpgSXVBythrv//64j4i6DaLLJ1O0y8kwjNgjAE7atBNGzX4rcOEWvmsuiei6J+mA38O0nUZ/P35GuCD/jg==";
       };
     };
-    "npm-bundled-1.0.6" = {
+    "npm-bundled-1.1.1" = {
       name = "npm-bundled";
       packageName = "npm-bundled";
-      version = "1.0.6";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz";
-        sha512 = "8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==";
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
+        sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
       };
     };
     "npm-conf-1.1.3" = {
@@ -28211,6 +28786,15 @@ let
         sha512 = "tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A==";
       };
     };
+    "npm-normalize-package-bin-1.0.1" = {
+      name = "npm-normalize-package-bin";
+      packageName = "npm-normalize-package-bin";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
+        sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
+      };
+    };
     "npm-package-arg-6.1.0" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
@@ -28229,13 +28813,22 @@ let
         sha512 = "qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==";
       };
     };
-    "npm-packlist-1.4.6" = {
+    "npm-package-arg-7.0.0" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz";
+        sha512 = "xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==";
+      };
+    };
+    "npm-packlist-1.4.7" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "1.4.6";
+      version = "1.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz";
-        sha512 = "u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz";
+        sha512 = "vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==";
       };
     };
     "npm-path-2.0.4" = {
@@ -28274,6 +28867,15 @@ let
         sha512 = "wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==";
       };
     };
+    "npm-pick-manifest-4.0.0" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-4.0.0.tgz";
+        sha512 = "SsYReLe/16UgSL6GKX6GO4o3RVBthVy1uuHq6kZ9mkPeQXpOHbrLZoV13i8fr3LQtET+pLPSfD13e4RIYfkX5Q==";
+      };
+    };
     "npm-prefix-1.2.0" = {
       name = "npm-prefix";
       packageName = "npm-prefix";
@@ -28310,6 +28912,15 @@ let
         sha512 = "Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A==";
       };
     };
+    "npm-registry-fetch-5.0.1" = {
+      name = "npm-registry-fetch";
+      packageName = "npm-registry-fetch";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-5.0.1.tgz";
+        sha512 = "GK7SUx188KSkPvbceOGO59L3FGHLBYoP0YEhUAKYjAypL15v5xmoempZ9rIJS2R/1eOS0KS1Y9AQe79YfgNxaw==";
+      };
+    };
     "npm-run-4.1.2" = {
       name = "npm-run";
       packageName = "npm-run";
@@ -28319,15 +28930,6 @@ let
         sha1 = "1030e1ec56908c89fcc3fa366d03a2c2ba98eb99";
       };
     };
-    "npm-run-path-1.0.0" = {
-      name = "npm-run-path";
-      packageName = "npm-run-path";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz";
-        sha1 = "f5c32bf595fe81ae927daec52e82f8b000ac3c8f";
-      };
-    };
     "npm-run-path-2.0.2" = {
       name = "npm-run-path";
       packageName = "npm-run-path";
@@ -28427,6 +29029,15 @@ let
         sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
       };
     };
+    "null-loader-0.1.1" = {
+      name = "null-loader";
+      packageName = "null-loader";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz";
+        sha1 = "17be9abfcd3ff0e1512f6fc4afcb1f5039378fae";
+      };
+    };
     "num-sort-1.0.0" = {
       name = "num-sort";
       packageName = "num-sort";
@@ -28481,13 +29092,13 @@ let
         sha512 = "3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==";
       };
     };
-    "nwsapi-2.1.4" = {
+    "nwsapi-2.2.0" = {
       name = "nwsapi";
       packageName = "nwsapi";
-      version = "2.1.4";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
-        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     };
     "oauth-0.9.15" = {
@@ -28608,22 +29219,22 @@ let
         sha512 = "wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==";
       };
     };
-    "object-inspect-1.6.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
-        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
-    "object-is-1.0.1" = {
+    "object-is-1.0.2" = {
       name = "object-is";
       packageName = "object-is";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz";
-        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+        url = "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz";
+        sha512 = "Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==";
       };
     };
     "object-keys-0.4.0" = {
@@ -28689,13 +29300,13 @@ let
         sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
       };
     };
-    "object.getownpropertydescriptors-2.0.3" = {
+    "object.getownpropertydescriptors-2.1.0" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
-        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
+        sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==";
       };
     };
     "object.map-1.0.1" = {
@@ -28734,13 +29345,13 @@ let
         sha1 = "6fe348f2ac7fa0f95ca621226599096825bb03ad";
       };
     };
-    "object.values-1.1.0" = {
+    "object.values-1.1.1" = {
       name = "object.values";
       packageName = "object.values";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz";
-        sha512 = "8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==";
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz";
+        sha512 = "WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==";
       };
     };
     "objectorarray-1.0.3" = {
@@ -28779,15 +29390,6 @@ let
         sha1 = "cb236106341536f0dac4815e06708221cad7fb5e";
       };
     };
-    "octicons-3.5.0" = {
-      name = "octicons";
-      packageName = "octicons";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/octicons/-/octicons-3.5.0.tgz";
-        sha1 = "f7ff5935674d8b114f6d80c454bfaa01797a4e30";
-      };
-    };
     "octokit-pagination-methods-1.1.0" = {
       name = "octokit-pagination-methods";
       packageName = "octokit-pagination-methods";
@@ -29013,13 +29615,13 @@ let
         sha512 = "pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==";
       };
     };
-    "opener-1.4.3" = {
+    "opener-1.5.1" = {
       name = "opener";
       packageName = "opener";
-      version = "1.4.3";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz";
-        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
+        url = "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz";
+        sha512 = "goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==";
       };
     };
     "openid-2.0.6" = {
@@ -29121,13 +29723,13 @@ let
         sha1 = "9715a8b5f5e7586cff06c8249e039cd7364d3f54";
       };
     };
-    "optionator-0.8.2" = {
+    "optionator-0.8.3" = {
       name = "optionator";
       packageName = "optionator";
-      version = "0.8.2";
+      version = "0.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
-        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
       };
     };
     "options-0.0.6" = {
@@ -29193,13 +29795,13 @@ let
         sha512 = "eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==";
       };
     };
-    "ora-4.0.2" = {
+    "ora-4.0.3" = {
       name = "ora";
       packageName = "ora";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz";
-        sha512 = "YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==";
+        url = "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz";
+        sha512 = "fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==";
       };
     };
     "orchestrator-0.3.8" = {
@@ -29337,13 +29939,22 @@ let
         sha512 = "0RFgy9TDsgTF/1UJ8bSQ4heTYRatDz3HOXXh8d3WyXReqeOU+edgkbG4ERMFPdzFnA+SgqKTnPRg+2pduZsmSQ==";
       };
     };
-    "p-any-1.1.0" = {
+    "p-all-2.1.0" = {
+      name = "p-all";
+      packageName = "p-all";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz";
+        sha512 = "HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==";
+      };
+    };
+    "p-any-2.1.0" = {
       name = "p-any";
       packageName = "p-any";
-      version = "1.1.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
-        sha512 = "Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==";
+        url = "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz";
+        sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
       };
     };
     "p-cancelable-0.3.0" = {
@@ -29373,6 +29984,15 @@ let
         sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     };
+    "p-cancelable-2.0.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
+        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
+      };
+    };
     "p-debounce-1.0.0" = {
       name = "p-debounce";
       packageName = "p-debounce";
@@ -29400,6 +30020,15 @@ let
         sha512 = "NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==";
       };
     };
+    "p-event-4.1.0" = {
+      name = "p-event";
+      packageName = "p-event";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-event/-/p-event-4.1.0.tgz";
+        sha512 = "4vAd06GCsgflX4wHN1JqrMzBh/8QZ4j+rzp0cd2scXRwuBEv+QR3wrVA5aLhWDLw4y2WgDKvzWF3CCLmVM1UgA==";
+      };
+    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -29490,6 +30119,15 @@ let
         sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
       };
     };
+    "p-map-3.0.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
+        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
+      };
+    };
     "p-map-series-1.0.0" = {
       name = "p-map-series";
       packageName = "p-map-series";
@@ -29517,13 +30155,13 @@ let
         sha512 = "3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg==";
       };
     };
-    "p-queue-6.2.0" = {
+    "p-queue-6.2.1" = {
       name = "p-queue";
       packageName = "p-queue";
-      version = "6.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.0.tgz";
-        sha512 = "B2LXNONcyn/G6uz2UBFsGjmSa0e/br3jznlzhEyCXg56c7VhEpiT2pZxGOfv32Q3FSyugAdys9KGpsv3kV+Sbg==";
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz";
+        sha512 = "wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==";
       };
     };
     "p-reduce-1.0.0" = {
@@ -29535,13 +30173,13 @@ let
         sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
       };
     };
-    "p-some-2.0.1" = {
+    "p-some-4.1.0" = {
       name = "p-some";
       packageName = "p-some";
-      version = "2.0.1";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz";
-        sha1 = "65d87c8b154edbcf5221d167778b6d2e150f6f06";
+        url = "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz";
+        sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
       };
     };
     "p-timeout-1.2.1" = {
@@ -29670,22 +30308,22 @@ let
         sha1 = "79b302fc144cdfbb4ab6feba7040e6a5d99c79c7";
       };
     };
-    "pacote-9.5.5" = {
+    "pacote-10.2.1" = {
       name = "pacote";
       packageName = "pacote";
-      version = "9.5.5";
+      version = "10.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.5.tgz";
-        sha512 = "jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-10.2.1.tgz";
+        sha512 = "sPHVOF7uKY8yDivKYimb5l3D8BvNNjR+9FmzkThOTtftkddGY/C6uENVkgc3HQtOpCX8R2qztkSAOI369bgLEA==";
       };
     };
-    "pacote-9.5.8" = {
+    "pacote-9.5.5" = {
       name = "pacote";
       packageName = "pacote";
-      version = "9.5.8";
+      version = "9.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz";
-        sha512 = "0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-9.5.5.tgz";
+        sha512 = "jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA==";
       };
     };
     "pad-0.0.5" = {
@@ -29778,6 +30416,15 @@ let
         sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==";
       };
     };
+    "parse-cache-control-1.0.1" = {
+      name = "parse-cache-control";
+      packageName = "parse-cache-control";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz";
+        sha1 = "8eeab3e54fa56920fe16ba38f77fa21aacc2d74e";
+      };
+    };
     "parse-english-4.1.2" = {
       name = "parse-english";
       packageName = "parse-english";
@@ -29850,13 +30497,13 @@ let
         sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
       };
     };
-    "parse-headers-2.0.2" = {
+    "parse-headers-2.0.3" = {
       name = "parse-headers";
       packageName = "parse-headers";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz";
-        sha512 = "/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==";
+        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz";
+        sha512 = "QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==";
       };
     };
     "parse-help-1.0.0" = {
@@ -30129,6 +30776,15 @@ let
         sha1 = "c5095691347bd5ad3b5e180238c3914d16f05811";
       };
     };
+    "passport-0.4.1" = {
+      name = "passport";
+      packageName = "passport";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz";
+        sha512 = "IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==";
+      };
+    };
     "passport-http-bearer-1.0.1" = {
       name = "passport-http-bearer";
       packageName = "passport-http-bearer";
@@ -30183,13 +30839,13 @@ let
         sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
       };
     };
-    "passwd-user-2.1.0" = {
+    "passwd-user-3.0.0" = {
       name = "passwd-user";
       packageName = "passwd-user";
-      version = "2.1.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passwd-user/-/passwd-user-2.1.0.tgz";
-        sha1 = "fad9db6ae252f8b088e0c5decd20a7da0c5d9f1e";
+        url = "https://registry.npmjs.org/passwd-user/-/passwd-user-3.0.0.tgz";
+        sha512 = "Iu90rROks+uDK00ppSewoZyqeCwjGR6W8PcY0Phl8YFWju/lRmIogQb98+vSb5RUeYkONL3IC4ZLBFg4FiE0Hg==";
       };
     };
     "password-prompt-1.1.2" = {
@@ -30291,15 +30947,6 @@ let
         sha1 = "365417dede44430d1c11af61027facf074bdfc53";
       };
     };
-    "path-key-1.0.0" = {
-      name = "path-key";
-      packageName = "path-key";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz";
-        sha1 = "5d53d578019646c0d68800db4e146e6bdc2ac7af";
-      };
-    };
     "path-key-2.0.1" = {
       name = "path-key";
       packageName = "path-key";
@@ -30309,13 +30956,13 @@ let
         sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
       };
     };
-    "path-key-3.1.0" = {
+    "path-key-3.1.1" = {
       name = "path-key";
       packageName = "path-key";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz";
-        sha512 = "8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==";
+        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
       };
     };
     "path-loader-1.0.10" = {
@@ -30390,13 +31037,13 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "path-to-regexp-1.7.0" = {
+    "path-to-regexp-1.8.0" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
-        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz";
+        sha512 = "n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==";
       };
     };
     "path-to-regexp-2.2.1" = {
@@ -30570,13 +31217,13 @@ let
         sha1 = "18de2f97e4bf7a9551ad7511942b5496f7aba660";
       };
     };
-    "picomatch-2.0.7" = {
+    "picomatch-2.1.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.0.7";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz";
-        sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz";
+        sha512 = "OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==";
       };
     };
     "picture-tuber-1.0.2" = {
@@ -30741,6 +31388,15 @@ let
         sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
       };
     };
+    "pkg-up-3.1.0" = {
+      name = "pkg-up";
+      packageName = "pkg-up";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz";
+        sha512 = "nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==";
+      };
+    };
     "pkginfo-0.2.3" = {
       name = "pkginfo";
       packageName = "pkginfo";
@@ -30976,13 +31632,13 @@ let
         sha512 = "/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==";
       };
     };
-    "postcss-7.0.21" = {
+    "postcss-7.0.25" = {
       name = "postcss";
       packageName = "postcss";
-      version = "7.0.21";
+      version = "7.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz";
-        sha512 = "uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz";
+        sha512 = "NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==";
       };
     };
     "postcss-calc-7.0.1" = {
@@ -31309,13 +31965,22 @@ let
         sha512 = "C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==";
       };
     };
-    "posthtml-parser-0.4.1" = {
+    "posthtml-0.12.0" = {
+      name = "posthtml";
+      packageName = "posthtml";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posthtml/-/posthtml-0.12.0.tgz";
+        sha512 = "aNUEP/SfKUXAt+ghG51LC5MmafChBZeslVe/SSdfKIgLGUVRE68mrMF4V8XbH07ZifM91tCSuxY3eHIFLlecQw==";
+      };
+    };
+    "posthtml-parser-0.4.2" = {
       name = "posthtml-parser";
       packageName = "posthtml-parser";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.1.tgz";
-        sha512 = "h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==";
+        url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz";
+        sha512 = "BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==";
       };
     };
     "posthtml-render-1.1.5" = {
@@ -31327,13 +31992,13 @@ let
         sha512 = "yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==";
       };
     };
-    "prebuild-install-5.3.2" = {
+    "prebuild-install-5.3.3" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "5.3.2";
+      version = "5.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.2.tgz";
-        sha512 = "INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz";
+        sha512 = "GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==";
       };
     };
     "precond-0.2.3" = {
@@ -31390,13 +32055,13 @@ let
         sha512 = "4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA==";
       };
     };
-    "prettier-1.18.2" = {
+    "prettier-1.19.1" = {
       name = "prettier";
       packageName = "prettier";
-      version = "1.18.2";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
-        sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+        sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
       };
     };
     "prettier-bytes-1.0.4" = {
@@ -31543,13 +32208,13 @@ let
         sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
       };
     };
-    "private-box-0.3.0" = {
+    "private-box-0.3.1" = {
       name = "private-box";
       packageName = "private-box";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/private-box/-/private-box-0.3.0.tgz";
-        sha512 = "zsK6DDEC+cnNiunYamcVbx4ZCLbKnzTOZa09K4Pj3/tH3nQFPUO9K2QoYy4kfxLqmoyw6RPDtACN9OYviMQZ2Q==";
+        url = "https://registry.npmjs.org/private-box/-/private-box-0.3.1.tgz";
+        sha512 = "abAuk3ZDyQvPLY6MygtwaDTUBIZ0C5wMMuX1jXa0svazV+keTwn7cPobRv4WYA9ctsDUztm/9CYu4y2TPL08xw==";
       };
     };
     "probe-image-size-5.0.0" = {
@@ -31660,6 +32325,15 @@ let
         sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
       };
     };
+    "promise-8.0.3" = {
+      name = "promise";
+      packageName = "promise";
+      version = "8.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-8.0.3.tgz";
+        sha512 = "HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw==";
+      };
+    };
     "promise-inflight-1.0.1" = {
       name = "promise-inflight";
       packageName = "promise-inflight";
@@ -31741,13 +32415,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompts-2.2.1" = {
+    "prompts-2.3.0" = {
       name = "prompts";
       packageName = "prompts";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
-        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz";
+        sha512 = "NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==";
       };
     };
     "promzard-0.3.0" = {
@@ -31975,13 +32649,13 @@ let
         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "pstree.remy-1.1.7" = {
@@ -32686,6 +33360,15 @@ let
         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
+    "purgecss-1.4.2" = {
+      name = "purgecss";
+      packageName = "purgecss";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz";
+        sha512 = "hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw==";
+      };
+    };
     "push-stream-10.1.2" = {
       name = "push-stream";
       packageName = "push-stream";
@@ -32848,13 +33531,13 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "qs-6.9.0" = {
+    "qs-6.9.1" = {
       name = "qs";
       packageName = "qs";
-      version = "6.9.0";
+      version = "6.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz";
-        sha512 = "27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";
+        sha512 = "Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==";
       };
     };
     "query-string-1.0.1" = {
@@ -33235,13 +33918,13 @@ let
         sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
-    "rc-config-loader-2.0.4" = {
+    "rc-config-loader-3.0.0" = {
       name = "rc-config-loader";
       packageName = "rc-config-loader";
-      version = "2.0.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-2.0.4.tgz";
-        sha512 = "k06UzRbYDWgF4Mc/YrsZsmzSpDLuHoThJxep+vq5H09hiX8rbA5Ue/Ra0dwWm5MQvWYW4YBXgA186inNxuxidQ==";
+        url = "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-3.0.0.tgz";
+        sha512 = "bwfUSB37TWkHfP+PPjb/x8BUjChFmmBK44JMfVnU7paisWqZl/o5k7ttCH+EQLnrbn2Aq8Fo1LAsyUiz+WF4CQ==";
       };
     };
     "re-emitter-1.1.4" = {
@@ -33253,13 +33936,13 @@ let
         sha512 = "C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==";
       };
     };
-    "react-is-16.11.0" = {
+    "react-is-16.12.0" = {
       name = "react-is";
       packageName = "react-is";
-      version = "16.11.0";
+      version = "16.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-16.11.0.tgz";
-        sha512 = "gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw==";
+        url = "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz";
+        sha512 = "rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==";
       };
     };
     "read-1.0.7" = {
@@ -33289,13 +33972,13 @@ let
         sha512 = "CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==";
       };
     };
-    "read-cmd-shim-1.0.4" = {
+    "read-cmd-shim-1.0.5" = {
       name = "read-cmd-shim";
       packageName = "read-cmd-shim";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz";
-        sha512 = "Pqpl3qJ/QdOIjRYA0q5DND/gLvGOfpIz/fYVDGYpOXfW/lFrIttmLsBnd6IkyK10+JHU9zhsaudfvrQTBB9YFQ==";
+        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz";
+        sha512 = "v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==";
       };
     };
     "read-metadata-1.0.0" = {
@@ -33316,13 +33999,22 @@ let
         sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
       };
     };
-    "read-package-json-2.1.0" = {
+    "read-package-json-2.1.1" = {
       name = "read-package-json";
       packageName = "read-package-json";
-      version = "2.1.0";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz";
+        sha512 = "dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==";
+      };
+    };
+    "read-package-json-fast-1.1.1" = {
+      name = "read-package-json-fast";
+      packageName = "read-package-json-fast";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz";
-        sha512 = "KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==";
+        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.1.1.tgz";
+        sha512 = "vDw3wiWLwUXhYBCVvjAQJGCI5+DcgwGSYlFETCV9m/b107/yNBnYfCkoVrwHj7338j1z24/dxUXvtrXVjVjL1Q==";
       };
     };
     "read-package-tree-5.3.1" = {
@@ -33442,6 +34134,15 @@ let
         sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
       };
     };
+    "readable-stream-2.0.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+      };
+    };
     "readable-stream-2.3.6" = {
       name = "readable-stream";
       packageName = "readable-stream";
@@ -33478,13 +34179,13 @@ let
         sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     };
-    "readdirp-3.2.0" = {
+    "readdirp-3.3.0" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz";
-        sha512 = "crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz";
+        sha512 = "zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==";
       };
     };
     "readline2-0.1.1" = {
@@ -33721,13 +34422,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.2.0" = {
+    "regexp.prototype.flags-1.3.0" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
-        sha512 = "ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
+        sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==";
       };
     };
     "regexpp-1.1.0" = {
@@ -33838,13 +34539,13 @@ let
         sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
       };
     };
-    "regjsparser-0.6.0" = {
+    "regjsparser-0.6.1" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.6.0";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz";
-        sha512 = "RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.1.tgz";
+        sha512 = "7LutE94sz/NKSYegK+/4E77+8DipxF+Qn2Tmu362AcmsF2NYq/wx3+ObvU90TKEhjf7hQoFXo23ajjrXP7eUgg==";
       };
     };
     "rehype-sort-attribute-values-2.0.1" = {
@@ -34153,31 +34854,31 @@ let
         sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
       };
     };
-    "request-promise-4.2.4" = {
+    "request-promise-4.2.5" = {
       name = "request-promise";
       packageName = "request-promise";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz";
-        sha512 = "8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==";
+        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz";
+        sha512 = "ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==";
       };
     };
-    "request-promise-core-1.1.2" = {
+    "request-promise-core-1.1.3" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
       };
     };
-    "request-promise-native-1.0.7" = {
+    "request-promise-native-1.0.8" = {
       name = "request-promise-native";
       packageName = "request-promise-native";
-      version = "1.0.7";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
+        sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==";
       };
     };
     "requestretry-4.0.2" = {
@@ -34297,22 +34998,22 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.11.1" = {
+    "resolve-1.13.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.11.1";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz";
-        sha512 = "vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz";
+        sha512 = "CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.14.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz";
+        sha512 = "fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==";
       };
     };
     "resolve-1.7.1" = {
@@ -34513,13 +35214,13 @@ let
         sha512 = "M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==";
       };
     };
-    "retext-english-3.0.3" = {
+    "retext-english-3.0.4" = {
       name = "retext-english";
       packageName = "retext-english";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/retext-english/-/retext-english-3.0.3.tgz";
-        sha512 = "qltUsSjHMvCvpAm90qRvzK1DEBOnhSK3tUQk5aHFCBtiMHccp6FhlCH0mQ9vFcBf5BsG7GEBdPysTlY3g9Lchg==";
+        url = "https://registry.npmjs.org/retext-english/-/retext-english-3.0.4.tgz";
+        sha512 = "yr1PgaBDde+25aJXrnt3p1jvT8FVLVat2Bx8XeAWX13KXo8OT+3nWGU3HWxM4YFJvmfqvJYJZG2d7xxaO774gw==";
       };
     };
     "retext-equality-3.2.0" = {
@@ -34540,13 +35241,13 @@ let
         sha512 = "Gesb0Act9oeJ5N0KztREitP2E0zo7euzgTu2X4HLP6IJmcrRbRnqNwV11tzNy5JFJzKB1JTJFc7KseojTeGwOA==";
       };
     };
-    "rethinkdb-2.3.3" = {
+    "rethinkdb-2.4.2" = {
       name = "rethinkdb";
       packageName = "rethinkdb";
-      version = "2.3.3";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rethinkdb/-/rethinkdb-2.3.3.tgz";
-        sha1 = "3dc6586e22fa1dabee0d254e64bd0e379fad2f72";
+        url = "https://registry.npmjs.org/rethinkdb/-/rethinkdb-2.4.2.tgz";
+        sha512 = "6DzwqEpFc8cqesAdo07a845oBRxLiHvWzopTKBo/uY2ypGWIsJQFJk3wjRDtSEhczxJqLS0jnf37rwgzYAw8NQ==";
       };
     };
     "retry-0.10.1" = {
@@ -34747,13 +35448,13 @@ let
         sha1 = "df43e80d9bc82ad4430bcfef03f49c717e8b2e8c";
       };
     };
-    "roarr-2.14.2" = {
+    "roarr-2.14.6" = {
       name = "roarr";
       packageName = "roarr";
-      version = "2.14.2";
+      version = "2.14.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/roarr/-/roarr-2.14.2.tgz";
-        sha512 = "ibqv70DCUhGVMfPe0JSUHBZ9PKLhxdk8VJ/Y2M7vVr+L4VakW1CdVTU9cJQBbM2STQa84CgBAzd7hJGcnALGeg==";
+        url = "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz";
+        sha512 = "qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==";
       };
     };
     "rollup-0.67.0" = {
@@ -35233,13 +35934,22 @@ let
         sha512 = "sDtmZDpibGH2ixj3FOmsC3Z/b08eaB2/KAvy2oSp4qvcGdhatBSfb1RdVpwjQl5c3J83WbBo1HSZ7DBtMu43lA==";
       };
     };
-    "secret-stack-6.3.0" = {
+    "secret-stack-6.3.1" = {
       name = "secret-stack";
       packageName = "secret-stack";
-      version = "6.3.0";
+      version = "6.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.0.tgz";
-        sha512 = "abIfcP1tlJ3gbfgAkp6mgqEc7M70GvXVTyE//iHDXMQz21zQxOD5WcWAiMg1Lgw5FgLfHM1WF+c8PqFNNE3WOg==";
+        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.1.tgz";
+        sha512 = "SyYRGgjxq8lbQyqdIbaNfteZ77B3Bd2TH+k5WpI6gHjTCOKZZmD8aiat+bUfhjsiqf0LMQauRH3KD6vIMdDPLg==";
+      };
+    };
+    "secure-compare-3.0.1" = {
+      name = "secure-compare";
+      packageName = "secure-compare";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz";
+        sha1 = "f1a0329b308b221fae37b9974f3d578d0ca999e3";
       };
     };
     "secure-keys-1.0.0" = {
@@ -35413,6 +36123,15 @@ let
         sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     };
+    "semver-7.0.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz";
+        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
+      };
+    };
     "semver-compare-1.0.0" = {
       name = "semver-compare";
       packageName = "semver-compare";
@@ -35539,13 +36258,13 @@ let
         sha512 = "QnpHNykm4nI4T6mT+NoVayh9Ixl5DohYCSVqMgPJsO2WejOcqaYTh4HQOkmzaDzXH3NO5pif4z/hpo2NGtgNlg==";
       };
     };
-    "sentence-splitter-3.1.0" = {
+    "sentence-splitter-3.2.0" = {
       name = "sentence-splitter";
       packageName = "sentence-splitter";
-      version = "3.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.1.0.tgz";
-        sha512 = "S8ye/Ic5ryKynwgjcS0ggncqhVJW3mgmo/gFNIcKKU1cdLjYzqtQ/PCkD7l0rZtSSfcjLqqVjfdMVN6FKkwUuQ==";
+        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.2.0.tgz";
+        sha512 = "lKX2tZ1rsA9Tu0gW8vRmMDmIEJoZ1d7cKpzcbFZdUrSpCR6gy/7OPPh7jjT/6Oc6Z79ToUmC2l8tyTEGanVmiA==";
       };
     };
     "separator-escape-0.0.0" = {
@@ -35575,22 +36294,22 @@ let
         sha512 = "/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==";
       };
     };
-    "serialize-javascript-1.9.1" = {
+    "serialize-javascript-2.1.2" = {
       name = "serialize-javascript";
       packageName = "serialize-javascript";
-      version = "1.9.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
-        sha512 = "0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==";
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
+        sha512 = "rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==";
       };
     };
-    "serialize-to-js-3.0.0" = {
+    "serialize-to-js-3.0.2" = {
       name = "serialize-to-js";
       packageName = "serialize-to-js";
-      version = "3.0.0";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.0.0.tgz";
-        sha512 = "WdGgi0jGnWCQXph2p3vkxceDnTfvfyXfYxherQMRcZjSaJzMQdMBAW6i0nojsBKIZ3fFOztZKKVbbm05VbIdRA==";
+        url = "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.0.2.tgz";
+        sha512 = "o5FqeMyxGx1wkp8p14q9QqGXh1JjXtIDYTr15N/B4ThM5ULqlpXdtOO84m950jFGvBkeRD1utW+WyNKvao2ybQ==";
       };
     };
     "serializerr-1.0.3" = {
@@ -35764,6 +36483,15 @@ let
         sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
       };
     };
+    "shallow-clone-3.0.1" = {
+      name = "shallow-clone";
+      packageName = "shallow-clone";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==";
+      };
+    };
     "shallow-copy-0.0.1" = {
       name = "shallow-copy";
       packageName = "shallow-copy";
@@ -35773,13 +36501,13 @@ let
         sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
       };
     };
-    "sharp-0.22.1" = {
+    "sharp-0.23.4" = {
       name = "sharp";
       packageName = "sharp";
-      version = "0.22.1";
+      version = "0.23.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz";
-        sha512 = "lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==";
+        url = "https://registry.npmjs.org/sharp/-/sharp-0.23.4.tgz";
+        sha512 = "fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q==";
       };
     };
     "shasum-1.0.2" = {
@@ -35791,6 +36519,15 @@ let
         sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
       };
     };
+    "shasum-object-1.0.0" = {
+      name = "shasum-object";
+      packageName = "shasum-object";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";
+        sha512 = "Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==";
+      };
+    };
     "shebang-command-1.2.0" = {
       name = "shebang-command";
       packageName = "shebang-command";
@@ -35908,6 +36645,15 @@ let
         sha1 = "c27415a9e458f2fed39b27cf8eb37c003782b431";
       };
     };
+    "side-channel-1.0.2" = {
+      name = "side-channel";
+      packageName = "side-channel";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz";
+        sha512 = "7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==";
+      };
+    };
     "sigmund-1.0.1" = {
       name = "sigmund";
       packageName = "sigmund";
@@ -35989,13 +36735,13 @@ let
         sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
       };
     };
-    "simple-git-1.126.0" = {
+    "simple-git-1.129.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.126.0";
+      version = "1.129.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.126.0.tgz";
-        sha512 = "47mqHxgZnN8XRa9HbpWprzUv3Ooqz9RY/LSZgvA7jCkW8jcwLahMz7LKugY91KZehfG0sCVPtgXiU72hd6b1Bw==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.129.0.tgz";
+        sha512 = "XbzNmugMTeV2crZnPl+b1ZJn+nqXCUNyrZxDXpLM0kHL3B85sbPlpd8q9I4qtAHI9D2FxTB6w4BuiAGKYtyzKw==";
       };
     };
     "simple-markdown-0.4.4" = {
@@ -36016,13 +36762,13 @@ let
         sha1 = "4e421f485ac7b13b08077a4476934d52c5ba3bb3";
       };
     };
-    "simple-peer-9.6.0" = {
+    "simple-peer-9.6.2" = {
       name = "simple-peer";
       packageName = "simple-peer";
-      version = "9.6.0";
+      version = "9.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.6.0.tgz";
-        sha512 = "NYqSKPu75xhkZYKGJhCbLCG5kfBtDHf8U9ddk4EKFfYNU7XgIisov+V8wMbVVgyMCfn8pm8uOqQQmE50FPDFWA==";
+        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.6.2.tgz";
+        sha512 = "EOKoImCaqtNvXIntxT1CBBK/3pVi7tMAoJ3shdyd9qk3zLm3QPiRLb/sPC1G2xvKJkJc5fkQjCXqRZ0AknwTig==";
       };
     };
     "simple-sha1-2.1.2" = {
@@ -36061,13 +36807,13 @@ let
         sha1 = "5d3d5751bb39aeba2f710d8eec78768df821f38d";
       };
     };
-    "simple-websocket-8.0.1" = {
+    "simple-websocket-8.1.1" = {
       name = "simple-websocket";
       packageName = "simple-websocket";
-      version = "8.0.1";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.0.1.tgz";
-        sha512 = "2QKSRjf+tqFXLVmOQjf95gHeKhuyx2k1ouDjtnE0uKCYw84HfN85HsXo+GmPH+2PIh5BQql++g2AIbHgGAZU4w==";
+        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.1.1.tgz";
+        sha512 = "06I3cwOD5Q3LdVd6qfyDGp1U9eau9x9qniSL3b/aDgM5bsJX4nZfCuii2UCFcTfrDq0jCXF4NQ/38qeC8CJZTg==";
       };
     };
     "single-line-log-0.4.1" = {
@@ -36097,13 +36843,13 @@ let
         sha512 = "dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==";
       };
     };
-    "sisteransi-1.0.3" = {
+    "sisteransi-1.0.4" = {
       name = "sisteransi";
       packageName = "sisteransi";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
-        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz";
+        sha512 = "/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==";
       };
     };
     "skin-tone-1.0.0" = {
@@ -36196,6 +36942,15 @@ let
         sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
       };
     };
+    "slice-ansi-3.0.0" = {
+      name = "slice-ansi";
+      packageName = "slice-ansi";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz";
+        sha512 = "pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==";
+      };
+    };
     "sliced-1.0.1" = {
       name = "sliced";
       packageName = "sliced";
@@ -36214,13 +36969,13 @@ let
         sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
       };
     };
-    "smart-buffer-4.0.2" = {
+    "smart-buffer-4.1.0" = {
       name = "smart-buffer";
       packageName = "smart-buffer";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz";
-        sha512 = "JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==";
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz";
+        sha512 = "iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==";
       };
     };
     "smartdc-auth-2.3.1" = {
@@ -36358,13 +37113,13 @@ let
         sha512 = "IsNi7TmpHoRHzONOWJTT8+VYozQJnaJpKgnYNQjzNm2JlV8bDGbdGQ1a8LcEoChxnJ8v8aMZy7GTiQyGGABtEQ==";
       };
     };
-    "snyk-gradle-plugin-3.1.0" = {
+    "snyk-gradle-plugin-3.2.2" = {
       name = "snyk-gradle-plugin";
       packageName = "snyk-gradle-plugin";
-      version = "3.1.0";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.1.0.tgz";
-        sha512 = "789Rqyhv1+WYbfy1Qilgsw0FMccedSaCO5n+54CXXGVUZWMsVvqJj3T8k7+vis+9Eq+Sgbdzti8vDtApz6rWWQ==";
+        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.2.2.tgz";
+        sha512 = "ijIWsypbtpdTuRcYTFsnEWbaBnhCc7q0iIg0A4OcOW/xLyInPwyfBMnip4ubNfHAS/PrvzgfwwwJhttcQD0ZaQ==";
       };
     };
     "snyk-module-1.9.1" = {
@@ -36376,31 +37131,31 @@ let
         sha512 = "A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==";
       };
     };
-    "snyk-mvn-plugin-2.4.0" = {
+    "snyk-mvn-plugin-2.7.0" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "2.4.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.4.0.tgz";
-        sha512 = "Fmt6Mjx6zZz+4q6PnBkhuNGhEX++q/pKMI26ls4p3JPkx4KxBz89oncpkmf7P8YCkoaka8oHhtDEv/R4Z9LleQ==";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.7.0.tgz";
+        sha512 = "DLBt+6ZvtoleXE7Si3wAa6gdPSWsXdIQEY6m2zW2InN9WiaRwIEKMCY822eFmRPZVNNmZNRUIeQsoHZwv/slqQ==";
       };
     };
-    "snyk-nodejs-lockfile-parser-1.16.0" = {
+    "snyk-nodejs-lockfile-parser-1.16.1" = {
       name = "snyk-nodejs-lockfile-parser";
       packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.16.0";
+      version = "1.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.16.0.tgz";
-        sha512 = "cf3uozRXEG88nsjOQlo+SfOJPpcLs45qpnuk2vhBBZ577IMnV+fTOJQsP2YRiikLUbdgkVlduviwUO6OVn1PhA==";
+        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.16.1.tgz";
+        sha512 = "MEQImB2XU35D66wYve6g1RcDuD9vyoxGvYtM+ngSd5ItujzjIpyF26W7niqHwBRGLamqjsKF5cOlbmHs+wsx/Q==";
       };
     };
-    "snyk-nuget-plugin-1.13.0" = {
+    "snyk-nuget-plugin-1.16.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.13.0";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.13.0.tgz";
-        sha512 = "9PrsN6kSz79lKUlpfqAYvMtac7HYbscf4OJ5LTzTcPn2XRs24NCTZylUUpilkSY0r2DyDLY18cl+qHHjfJKnig==";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.16.0.tgz";
+        sha512 = "OEusK3JKKpR4Yto5KwuqjQGgb9wAhmDqBWSQomWdtKQVFrzn5B6BMzOFikUzmeMTnUGGON7gurQBLXeZZLhRqg==";
       };
     };
     "snyk-paket-parser-1.5.0" = {
@@ -36412,13 +37167,13 @@ let
         sha512 = "1CYMPChJ9D9LBy3NLqHyv8TY7pR/LMISSr08LhfFw/FpfRZ+gTH8W6bbxCmybAYrOFNCqZkRprqOYDqZQFHipA==";
       };
     };
-    "snyk-php-plugin-1.6.4" = {
+    "snyk-php-plugin-1.7.0" = {
       name = "snyk-php-plugin";
       packageName = "snyk-php-plugin";
-      version = "1.6.4";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.6.4.tgz";
-        sha512 = "FFQeimtbwq17nDUS0o0zuKgyjXSX7SpoC9iYTeKvxTXrmKf2QlxTtPvmMM4/hQxehEu1i40ow1Ozw0Ahxm8Dpw==";
+        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.7.0.tgz";
+        sha512 = "mDe90xkqSEVrpx1ZC7ItqCOc6fZCySbE+pHVI+dAPUmf1C1LSWZrZVmAVeo/Dw9sJzJfzmcdAFQl+jZP8/uV0A==";
       };
     };
     "snyk-policy-1.13.5" = {
@@ -36430,13 +37185,13 @@ let
         sha512 = "KI6GHt+Oj4fYKiCp7duhseUj5YhyL/zJOrrJg0u6r59Ux9w8gmkUYT92FHW27ihwuT6IPzdGNEuy06Yv2C9WaQ==";
       };
     };
-    "snyk-python-plugin-1.13.3" = {
+    "snyk-python-plugin-1.16.0" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.13.3";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.13.3.tgz";
-        sha512 = "Ud7mHmpMG4uCChvYLx5jA8HwOV/FNpT65xTxSt+6wsOjIUTuLiqM86mbvgzgk3pir8vMP9yQEsCi1i0zYLBArw==";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.16.0.tgz";
+        sha512 = "IA53xOcy1s881tbIrIXNqIuCNozd4PAVWN8oF0xgRn2NQbq0e7EWt7kFPJbmZodpLCDpXaKKqV2MHbXruFIsrw==";
       };
     };
     "snyk-resolve-1.0.1" = {
@@ -36457,13 +37212,13 @@ let
         sha512 = "aFPtN8WLqIk4E1ulMyzvV5reY1Iksz+3oPnUVib1jKdyTHymmOIYF7z8QZ4UUr52UsgmrD9EA/dq7jpytwFoOQ==";
       };
     };
-    "snyk-sbt-plugin-2.8.0" = {
+    "snyk-sbt-plugin-2.9.2" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "2.8.0";
+      version = "2.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.8.0.tgz";
-        sha512 = "ZzyBdND5CsaO0xkv05geZXu8Dd6Llvr/5oTj811U7h7UmrvljrAiABW4RGjRJPrPVuuJaDej2p633sgGtK9UsA==";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.9.2.tgz";
+        sha512 = "Mikl/ga3kJkvDs9KURmEa9YydmRguMW1CdJ4f7kA3iULSIsP7xqi8C4jYkJ/v3xfNrkfr8jACu2q9IDQRYJ+rg==";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -36529,13 +37284,13 @@ let
         sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
       };
     };
-    "socket.io-adapter-1.1.1" = {
+    "socket.io-adapter-1.1.2" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz";
-        sha1 = "2a805e8a14d6372124dd9159ad4502f8cb07f06b";
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz";
+        sha512 = "WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==";
       };
     };
     "socket.io-client-1.0.6" = {
@@ -36619,13 +37374,13 @@ let
         sha512 = "/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==";
       };
     };
-    "socks-2.3.2" = {
+    "socks-2.3.3" = {
       name = "socks";
       packageName = "socks";
-      version = "2.3.2";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz";
-        sha512 = "pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==";
+        url = "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz";
+        sha512 = "o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==";
       };
     };
     "socks-proxy-agent-4.0.2" = {
@@ -36916,6 +37671,15 @@ let
         sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
       };
     };
+    "source-map-support-0.5.16" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
+      };
+    };
     "source-map-url-0.4.0" = {
       name = "source-map-url";
       packageName = "source-map-url";
@@ -37051,15 +37815,6 @@ let
         sha1 = "70eff23cde4e97d52a445f65afddcc5695eb5edb";
       };
     };
-    "speech-rule-engine-3.0.0-beta.6" = {
-      name = "speech-rule-engine";
-      packageName = "speech-rule-engine";
-      version = "3.0.0-beta.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-3.0.0-beta.6.tgz";
-        sha512 = "B7gcT53jAsKpx7WvFYQcyUlFmgS3Wa9KlDy0FY8SOTa+Wz5EqmI0MpCD5/fYm8/2qiCPp8HwZg+H3cBgM+sNVw==";
-      };
-    };
     "speedometer-0.1.4" = {
       name = "speedometer";
       packageName = "speedometer";
@@ -37213,22 +37968,22 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-4.0.9" = {
+    "sqlite3-4.1.0" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.0.9";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.9.tgz";
-        sha512 = "IkvzjmsWQl9BuBiM4xKpl5X8WCR4w0AeJHRdobCdXZ8dT/lNc1XS6WqvY35N6+YzIIgzSBeY5prdFObID9F9tA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
       };
     };
-    "sqlite3-4.1.0" = {
+    "sqlite3-4.1.1" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
-        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.1.tgz";
+        sha512 = "CvT5XY+MWnn0HkbwVKJAyWEMfzpAPwnTiB3TobA5Mri44SrTovmmh499NPQP+gatkeOipqPlBLel7rn4E/PCQg==";
       };
     };
     "srt2vtt-1.3.1" = {
@@ -37267,13 +38022,13 @@ let
         sha512 = "qe3qpvchJ+gnH8M/ge4rpL+7eRbSmsEAzNwHkDdrW06OBcziQ6/KuAdmcR6joxCbNeoAXAZF+inkefgE16okXA==";
       };
     };
-    "ssb-client-4.7.8" = {
+    "ssb-client-4.7.9" = {
       name = "ssb-client";
       packageName = "ssb-client";
-      version = "4.7.8";
+      version = "4.7.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.8.tgz";
-        sha512 = "0oQhsa8EZtXbq2tdb/Pvf9h22tW4q7BZ4gbuaxVqIyYqw79Hq6Sr3xFa6+Mj6DX0Gb00TbI/Ft/jts2NyDfbmQ==";
+        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.9.tgz";
+        sha512 = "koVuazgGa+Pz7KHnPTsOFvaKSrE0T38wSO7n6P7ZQp+1BpaoBCI4z8Kq2SvMw521Sz9dK9Rwh2bTakEDRgx84A==";
       };
     };
     "ssb-config-2.3.9" = {
@@ -37285,13 +38040,13 @@ let
         sha512 = "UF+4+khFXILLBqtu9HfrpUwYnDXIdAyJe3u9X4GrApuoakxuSKwaUGakUxLPyo6COyV2brMqufUgf+fDOI8Ftw==";
       };
     };
-    "ssb-config-3.4.2" = {
+    "ssb-config-3.4.3" = {
       name = "ssb-config";
       packageName = "ssb-config";
-      version = "3.4.2";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-3.4.2.tgz";
-        sha512 = "y8SQeTsTzkbB7rrugSytdTqnJbQuNe9AayOAuFGlbR5Z81tRskWjDgOvqm/4rPkS6BO8YWRwSaRnHF2LVAT8DA==";
+        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-3.4.3.tgz";
+        sha512 = "qvutXHzW+KPhopVGAc8QYJ0jKorGVVYrZBbuyTGU1sCVdtXKGqOIQGJzpiwQUdLe2UM4Sc9WWWCAYTWlSSqhkA==";
       };
     };
     "ssb-db-19.2.0" = {
@@ -37474,13 +38229,13 @@ let
         sha512 = "iRXjeI0sbRbgMwaKg+poqhHSH7GvUVgJ+8ysi8q7Hjj4wHkczLGAOyVjnyhjF+ErPDFn9kXN+46joneKqSgEDg==";
       };
     };
-    "ssb-ooo-1.3.1" = {
+    "ssb-ooo-1.3.2" = {
       name = "ssb-ooo";
       packageName = "ssb-ooo";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.3.1.tgz";
-        sha512 = "Ztx1qSHCIS4lcLwynSG8XKhzCZ1ejsUi5UAHBG+Hzkf91sqA38q5pnkLW/VVrtBz6yM5xv1AqYcr3KB8WWBXnQ==";
+        url = "https://registry.npmjs.org/ssb-ooo/-/ssb-ooo-1.3.2.tgz";
+        sha512 = "JBH0cDaqQ/WRZMfoyn/fNLDrbrs5w2xnSno/VUDWGhc+SX+3/h6zFK7VvCjdzEATlZ/D7VRkXMYrOedSIVIKwA==";
       };
     };
     "ssb-plugins-1.0.0" = {
@@ -37519,13 +38274,13 @@ let
         sha512 = "TfatNqLvoP+eW/pMIbCmNcaoDq4R2k8jCtWkwDKx4AtluN/LwtyP931d5Mh+2gmzA04W7kxkr6f5ENGgdadMYg==";
       };
     };
-    "ssb-replicate-1.3.0" = {
+    "ssb-replicate-1.3.2" = {
       name = "ssb-replicate";
       packageName = "ssb-replicate";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-replicate/-/ssb-replicate-1.3.0.tgz";
-        sha512 = "FLizJ+eHtGrySb61v3asIKpZkje77a6Cl7ZotUjD3YjNUOC7y+HN0AWaupbiiFiQXDGrIZ0ti0Mr8bHkMOJurQ==";
+        url = "https://registry.npmjs.org/ssb-replicate/-/ssb-replicate-1.3.2.tgz";
+        sha512 = "r/34OHn5wDkVUu0UNdKdPjmd3cPDmgknA5nK+gXBZj9ugSDwmdDsfEUavGtA7hlO+He1pC4EXtBa14dqgTqJCg==";
       };
     };
     "ssb-unix-socket-1.0.0" = {
@@ -37537,13 +38292,13 @@ let
         sha512 = "Z4jBj917W+dKAiDglwxCpWm8vINOMtkpHQIgk50NQTb5jHqHI5Rcyiy7EO0uRcWwRWqXi1ZwOTEFVyLyyuittA==";
       };
     };
-    "ssb-validate-4.0.4" = {
+    "ssb-validate-4.0.5" = {
       name = "ssb-validate";
       packageName = "ssb-validate";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-validate/-/ssb-validate-4.0.4.tgz";
-        sha512 = "MojZCR1qgZHdO4pnh4Loiqxj7fxP3w+MrA/4smXoKD46ReEnOjt/8Vm2sq3qpqPmUBU2GbEoDlgw7OKy0mWJBw==";
+        url = "https://registry.npmjs.org/ssb-validate/-/ssb-validate-4.0.5.tgz";
+        sha512 = "uniDFHD9eOMAK5D5ykpxlwyqTn0HxXTbO1icTkAmRcDR/qbghbtQ0muCgJj5hGHRZH7jYjPFjTbW2l4kzH/oag==";
       };
     };
     "ssb-ws-6.2.3" = {
@@ -37564,13 +38319,13 @@ let
         sha512 = "ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==";
       };
     };
-    "sshpk-1.14.1" = {
+    "sshpk-1.14.2" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.14.1";
+      version = "1.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
-        sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
+        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
       };
     };
     "sshpk-1.16.1" = {
@@ -37627,6 +38382,15 @@ let
         sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
       };
     };
+    "ssri-7.1.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz";
+        sha512 = "77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==";
+      };
+    };
     "stable-0.1.8" = {
       name = "stable";
       packageName = "stable";
@@ -37690,13 +38454,13 @@ let
         sha512 = "8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==";
       };
     };
-    "static-eval-2.0.2" = {
+    "static-eval-2.0.3" = {
       name = "static-eval";
       packageName = "static-eval";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz";
-        sha512 = "N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==";
+        url = "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz";
+        sha512 = "zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==";
       };
     };
     "static-extend-0.1.2" = {
@@ -37933,22 +38697,22 @@ let
         sha1 = "1618548694420021a1182ff0af1911c129761773";
       };
     };
-    "stream-shift-1.0.0" = {
-      name = "stream-shift";
-      packageName = "stream-shift";
-      version = "1.0.0";
+    "stream-promise-3.2.0" = {
+      name = "stream-promise";
+      packageName = "stream-promise";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
-        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+        url = "https://registry.npmjs.org/stream-promise/-/stream-promise-3.2.0.tgz";
+        sha512 = "P+7muTGs2C8yRcgJw/PPt61q7O517tDHiwYEzMWo1GSBCcZedUMT/clz7vUNsSxFphIlJ6QUL4GexQKlfJoVtA==";
       };
     };
-    "stream-source-0.3.5" = {
-      name = "stream-source";
-      packageName = "stream-source";
-      version = "0.3.5";
+    "stream-shift-1.0.1" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz";
-        sha512 = "ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==";
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
+        sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     };
     "stream-splicer-2.0.1" = {
@@ -38095,13 +38859,13 @@ let
         sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
       };
     };
-    "string-kit-0.10.1" = {
+    "string-kit-0.11.2" = {
       name = "string-kit";
       packageName = "string-kit";
-      version = "0.10.1";
+      version = "0.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.10.1.tgz";
-        sha512 = "qxIqv5bJqYoWzJa0WJFdw9CCoPJ3/9EixXQXVerIYMghd45w0XiESgUchYCEeGg8bQQWHS+TYZW1DcJmHwAxZA==";
+        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.11.2.tgz";
+        sha512 = "BNc68epmeZhXKlJjiBntN3t1T+eUY1YQyZNxrm+MiqKLjqWPji0OPbVvxi0AyIV8h7b3kNC3vAC34hqu7agJgQ==";
       };
     };
     "string-length-2.0.0" = {
@@ -38176,58 +38940,49 @@ let
         sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string-width-4.1.0" = {
+    "string-width-4.2.0" = {
       name = "string-width";
       packageName = "string-width";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz";
-        sha512 = "NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz";
+        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
       };
     };
-    "string.prototype.padstart-3.0.0" = {
+    "string.prototype.padstart-3.1.0" = {
       name = "string.prototype.padstart";
       packageName = "string.prototype.padstart";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz";
-        sha1 = "5bcfad39f4649bb2d031292e19bcf0b510d4b242";
-      };
-    };
-    "string.prototype.trim-1.1.2" = {
-      name = "string.prototype.trim";
-      packageName = "string.prototype.trim";
-      version = "1.1.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz";
-        sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea";
+        url = "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.0.tgz";
+        sha512 = "envqZvUp2JItI+OeQ5UAh1ihbAV5G/2bixTojvlIa090GGqF+NQRxbWb2nv9fTGrZABv6+pE6jXoAZhhS2k4Hw==";
       };
     };
-    "string.prototype.trim-1.2.0" = {
+    "string.prototype.trim-1.2.1" = {
       name = "string.prototype.trim";
       packageName = "string.prototype.trim";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz";
-        sha512 = "9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==";
+        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz";
+        sha512 = "MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==";
       };
     };
-    "string.prototype.trimleft-2.1.0" = {
+    "string.prototype.trimleft-2.1.1" = {
       name = "string.prototype.trimleft";
       packageName = "string.prototype.trimleft";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
-        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
+        sha512 = "iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==";
       };
     };
-    "string.prototype.trimright-2.1.0" = {
+    "string.prototype.trimright-2.1.1" = {
       name = "string.prototype.trimright";
       packageName = "string.prototype.trimright";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
-        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
+        sha512 = "qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==";
       };
     };
     "string2compact-1.3.0" = {
@@ -38356,6 +39111,15 @@ let
         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-1.0.0" = {
       name = "strip-bom";
       packageName = "strip-bom";
@@ -38779,6 +39543,15 @@ let
         sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
       };
     };
+    "supports-color-7.1.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz";
+        sha512 = "oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==";
+      };
+    };
     "supports-hyperlinks-1.0.1" = {
       name = "supports-hyperlinks";
       packageName = "supports-hyperlinks";
@@ -38797,13 +39570,13 @@ let
         sha1 = "3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8";
       };
     };
-    "svgo-1.3.0" = {
+    "svgo-1.3.2" = {
       name = "svgo";
       packageName = "svgo";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz";
-        sha512 = "MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==";
+        url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
+        sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
       };
     };
     "swagger-converter-0.1.7" = {
@@ -38968,6 +39741,24 @@ let
         sha1 = "717d22cc53f0ce1def5594362f3a89a2ebb91105";
       };
     };
+    "sync-request-5.0.0" = {
+      name = "sync-request";
+      packageName = "sync-request";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sync-request/-/sync-request-5.0.0.tgz";
+        sha512 = "NKhEA4WacR3mRBIFz1niXrIUTrUVFtP2spzrLMINangebvJ/EFyVv+LMJKvVl6UIrJM4Fburnnj91lRnqb4WkA==";
+      };
+    };
+    "sync-rpc-1.3.4" = {
+      name = "sync-rpc";
+      packageName = "sync-rpc";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.4.tgz";
+        sha512 = "Iug+t1ICVFenUcTnDu8WXFnT+k8IVoLKGh8VA3eXUtl2Rt9SjKX3YEv33OenABqpTPL9QEaHv1+CNn2LK8vMow==";
+      };
+    };
     "syntax-error-1.4.0" = {
       name = "syntax-error";
       packageName = "syntax-error";
@@ -38977,13 +39768,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-4.14.17" = {
+    "systeminformation-4.16.0" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "4.14.17";
+      version = "4.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.14.17.tgz";
-        sha512 = "CQbT5vnkqNb3JNl41xr8sYA8AX7GoaWP55/jnmFNQY0XQmUuoFshSNUkCkxiDdEC1qu2Vg9s0jR6LLmVSmNJUw==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.16.0.tgz";
+        sha512 = "1FjxPJSw7ad0zug+1YIQATj6Cn+wM5OBASEpjohEeOD2EGPIf0Cnhthd1L2O1YX+wKgOMuPldGfxYdo8yNHEIg==";
       };
     };
     "syswide-cas-5.3.0" = {
@@ -39122,13 +39913,13 @@ let
         sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
       };
     };
-    "tape-4.11.0" = {
+    "tape-4.12.0" = {
       name = "tape";
       packageName = "tape";
-      version = "4.11.0";
+      version = "4.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz";
-        sha512 = "yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==";
+        url = "https://registry.npmjs.org/tape/-/tape-4.12.0.tgz";
+        sha512 = "PWs/TopmfVeYyLNZnfKsoV160xjNq1LvX2SWzZTyhVYsDldR93p5Zp0lfmsY3BCpZdVMXBOkfYZFeScEfsFvKQ==";
       };
     };
     "tar-0.1.17" = {
@@ -39158,6 +39949,15 @@ let
         sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
+    "tar-5.0.5" = {
+      name = "tar";
+      packageName = "tar";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-5.0.5.tgz";
+        sha512 = "MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==";
+      };
+    };
     "tar-fs-2.0.0" = {
       name = "tar-fs";
       packageName = "tar-fs";
@@ -39203,13 +40003,13 @@ let
         sha1 = "a354305702a964357033027aa949eaed5331b784";
       };
     };
-    "taskkill-3.0.0" = {
+    "taskkill-3.1.0" = {
       name = "taskkill";
       packageName = "taskkill";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/taskkill/-/taskkill-3.0.0.tgz";
-        sha512 = "lKzlrlm9FVkxSwxl3h/9q/FQdjLke6AKPat5mfPN1+y9gH16F1/+pz3oQdQPJosBAEArW3vHuCMEoOf4d5l+NA==";
+        url = "https://registry.npmjs.org/taskkill/-/taskkill-3.1.0.tgz";
+        sha512 = "5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==";
       };
     };
     "tasklist-3.1.1" = {
@@ -39230,13 +40030,13 @@ let
         sha1 = "9450e8768c83b416fd4d1a6a9449eeccbf496c29";
       };
     };
-    "telegraf-3.33.0" = {
+    "telegraf-3.34.1" = {
       name = "telegraf";
       packageName = "telegraf";
-      version = "3.33.0";
+      version = "3.34.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.33.0.tgz";
-        sha512 = "5N47JPHVfypNW8U8xCE1hg59itFfohvRvMVceigYbj+A7pb9o9aZzjYA5MjNeTXuADubFVl/ZdWFMfNf/uN7TQ==";
+        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.34.1.tgz";
+        sha512 = "XKempUafzdi3TrPIA/jo2e7sRoLjE7oexgYTzQ7BeWHPnEi+Wh5EvOroOElSD9V4SCt9bub3HM352VK7dJS8Zw==";
       };
     };
     "telegram-typings-3.6.1" = {
@@ -39266,6 +40066,15 @@ let
         sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59";
       };
     };
+    "temp-0.8.4" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz";
+        sha512 = "s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==";
+      };
+    };
     "temp-0.9.0" = {
       name = "temp";
       packageName = "temp";
@@ -39275,6 +40084,15 @@ let
         sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
       };
     };
+    "temp-0.9.1" = {
+      name = "temp";
+      packageName = "temp";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
+      };
+    };
     "temp-dir-1.0.0" = {
       name = "temp-dir";
       packageName = "temp-dir";
@@ -39329,22 +40147,22 @@ let
         sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
       };
     };
-    "term-size-2.1.0" = {
+    "term-size-2.1.1" = {
       name = "term-size";
       packageName = "term-size";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/term-size/-/term-size-2.1.0.tgz";
-        sha512 = "I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg==";
+        url = "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz";
+        sha512 = "UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A==";
       };
     };
-    "terminal-kit-1.31.4" = {
+    "terminal-kit-1.32.2" = {
       name = "terminal-kit";
       packageName = "terminal-kit";
-      version = "1.31.4";
+      version = "1.32.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.31.4.tgz";
-        sha512 = "alrT1vDcKamNxdU8HrN25hTsHBuSWb++HVPVy98xbbUJBTw5l+NiF+ILAO56fl0XQLPOMqVUs0lhqf0B20Lucg==";
+        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.32.2.tgz";
+        sha512 = "OjN7FQ1n3rhJblI1LNUt9sP+t8kkJVQi96sJoFcnRECE59nKK5B1mfS6OCvOeDzH89mUABZYcoPE9rj4LTmhGQ==";
       };
     };
     "terser-3.17.0" = {
@@ -39356,22 +40174,22 @@ let
         sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
       };
     };
-    "terser-4.3.9" = {
+    "terser-4.4.3" = {
       name = "terser";
       packageName = "terser";
-      version = "4.3.9";
+      version = "4.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz";
-        sha512 = "NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==";
+        url = "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz";
+        sha512 = "0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==";
       };
     };
-    "terser-webpack-plugin-1.4.1" = {
+    "terser-webpack-plugin-1.4.3" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "1.4.1";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
-        sha512 = "ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
+        sha512 = "QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==";
       };
     };
     "test-exclude-4.2.3" = {
@@ -39437,15 +40255,6 @@ let
         sha512 = "PW6rXqLNGL3xZ6d5/INrX+pt8qbffmeDPLcvkBOlfNpDRFhVvNNjFmZXH86ZQjrOz9t/nNZDBXqnzqJuioJbSQ==";
       };
     };
-    "thelounge-ldapjs-non-maintained-fork-1.0.4" = {
-      name = "thelounge-ldapjs-non-maintained-fork";
-      packageName = "thelounge-ldapjs-non-maintained-fork";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/thelounge-ldapjs-non-maintained-fork/-/thelounge-ldapjs-non-maintained-fork-1.0.4.tgz";
-        sha512 = "uf6H6UMv6EKmU81V1Q5lECwiGz4noSua+C+nGiC/Vgtayu3VRjtSSIJzUJDUjJT3YS8HJgkvBe2SsgGrPlT/7g==";
-      };
-    };
     "then-fs-2.0.0" = {
       name = "then-fs";
       packageName = "then-fs";
@@ -39455,6 +40264,15 @@ let
         sha1 = "72f792dd9d31705a91ae19ebfcf8b3f968c81da2";
       };
     };
+    "then-request-5.0.0" = {
+      name = "then-request";
+      packageName = "then-request";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/then-request/-/then-request-5.0.0.tgz";
+        sha512 = "A3uIVLD33SAvB10PfsxLuQBMV8GVC/6xKBMPOvkJchi6251e5AMJ+Yy+RVKsVsnj0iYNhN2E5SkNSi58H19wsw==";
+      };
+    };
     "thenify-3.3.0" = {
       name = "thenify";
       packageName = "thenify";
@@ -39554,6 +40372,15 @@ let
         sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
       };
     };
+    "through2-2.0.0" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.0.tgz";
+        sha1 = "f41a1c31df5e129e4314446f66eca05cd6a30480";
+      };
+    };
     "through2-2.0.3" = {
       name = "through2";
       packageName = "through2";
@@ -39716,13 +40543,13 @@ let
         sha512 = "NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==";
       };
     };
-    "tiny-inflate-1.0.2" = {
+    "tiny-inflate-1.0.3" = {
       name = "tiny-inflate";
       packageName = "tiny-inflate";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz";
-        sha1 = "93d9decffc8805bd57eae4310f0b745e9b6fb3a7";
+        url = "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz";
+        sha512 = "pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==";
       };
     };
     "tinycolor-0.0.1" = {
@@ -40265,13 +41092,22 @@ let
         sha512 = "4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==";
       };
     };
-    "tree-kit-0.6.1" = {
+    "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==";
+      };
+    };
+    "tree-kit-0.6.2" = {
       name = "tree-kit";
       packageName = "tree-kit";
-      version = "0.6.1";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.6.1.tgz";
-        sha512 = "7mV4KbsLMuA6ths3J1wpVUj2PLmLdoNEGnP9fm3kxef4UXYC/A0rL5gKsqtkUaCMuRYUMORyioy8IpBWUBQ1Ig==";
+        url = "https://registry.npmjs.org/tree-kit/-/tree-kit-0.6.2.tgz";
+        sha512 = "95UzJA0EMbFfu5sGUUOoXixQMUGkwu82nGM4lmqLyQl+R4H3FK+lS0nT8TZJ5x7JhSHy+saVn7/AOqh6d+tmOg==";
       };
     };
     "treeify-1.1.0" = {
@@ -40418,13 +41254,22 @@ let
         sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
       };
     };
-    "ts-node-8.4.1" = {
+    "ts-loader-5.4.5" = {
+      name = "ts-loader";
+      packageName = "ts-loader";
+      version = "5.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-5.4.5.tgz";
+        sha512 = "XYsjfnRQCBum9AMRZpk2rTYSVpdZBpZK+kDh0TeT3kxmQNBDVIeUjdPjY5RZry4eIAb8XHc4gYSUiUWPYvzSRw==";
+      };
+    };
+    "ts-node-8.5.4" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "8.4.1";
+      version = "8.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.4.1.tgz";
-        sha512 = "5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.5.4.tgz";
+        sha512 = "izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==";
       };
     };
     "ts-process-promises-1.0.2" = {
@@ -40454,13 +41299,22 @@ let
         sha512 = "4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==";
       };
     };
-    "tslint-5.20.0" = {
+    "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
-      version = "5.20.0";
+      version = "5.20.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
+      };
+    };
+    "tslint-config-prettier-1.18.0" = {
+      name = "tslint-config-prettier";
+      packageName = "tslint-config-prettier";
+      version = "1.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz";
-        sha512 = "2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==";
+        url = "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz";
+        sha512 = "xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -40598,13 +41452,13 @@ let
         sha1 = "b75bc2df15649bb84e8b9aa3c0669c6c4bce0d25";
       };
     };
-    "twig-1.13.3" = {
+    "twig-1.14.0" = {
       name = "twig";
       packageName = "twig";
-      version = "1.13.3";
+      version = "1.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/twig/-/twig-1.13.3.tgz";
-        sha512 = "Kjart2102Kf0IdsEmLonSJKcByU7o9uiJhBde3GhrNHrX4XenT5WSKu4Hpkx+rF6Kyppeyd48BKsCREIOPXd/g==";
+        url = "https://registry.npmjs.org/twig/-/twig-1.14.0.tgz";
+        sha512 = "ut1LslUKAeF56TYQglabJaATUqbNuGO3EcXDhUspAdNbxez5VwTk2n8H00V0VfNy9Scet+VGQP8oPxt4v6mykQ==";
       };
     };
     "txt-to-ast-3.0.3" = {
@@ -40661,15 +41515,6 @@ let
         sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
       };
     };
-    "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.8.1" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -40697,13 +41542,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typechecker-4.7.0" = {
+    "typechecker-4.11.0" = {
       name = "typechecker";
       packageName = "typechecker";
-      version = "4.7.0";
+      version = "4.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typechecker/-/typechecker-4.7.0.tgz";
-        sha512 = "4LHc1KMNJ6NDGO+dSM/yNfZQRtp8NN7psYrPHUblD62Dvkwsp3VShsbM78kOgpcmMkRTgvwdKOTjctS+uMllgQ==";
+        url = "https://registry.npmjs.org/typechecker/-/typechecker-4.11.0.tgz";
+        sha512 = "lz39Mc/d1UBcF/uQFL5P8L+oWdIn/stvkUgHf0tPRW4aEwGGErewNXo2Nb6We2WslWifn00rhcHbbRWRcTGhuw==";
       };
     };
     "typed-function-1.1.0" = {
@@ -40751,13 +41596,13 @@ let
         sha512 = "kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg==";
       };
     };
-    "typescript-3.6.4" = {
+    "typescript-3.7.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.6.4";
+      version = "3.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz";
-        sha512 = "unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz";
+        sha512 = "A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -40850,22 +41695,22 @@ let
         sha512 = "Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==";
       };
     };
-    "uglify-js-3.6.0" = {
+    "uglify-js-3.6.9" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.6.0";
+      version = "3.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
-        sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz";
+        sha512 = "pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==";
       };
     };
-    "uglify-js-3.6.4" = {
+    "uglify-js-3.7.2" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.6.4";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.4.tgz";
-        sha512 = "9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz";
+        sha512 = "uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -41219,13 +42064,13 @@ let
         sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
       };
     };
-    "union-0.4.6" = {
+    "union-0.5.0" = {
       name = "union";
       packageName = "union";
-      version = "0.4.6";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/union/-/union-0.4.6.tgz";
-        sha1 = "198fbdaeba254e788b0efcb630bc11f24a2959e0";
+        url = "https://registry.npmjs.org/union/-/union-0.5.0.tgz";
+        sha512 = "N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==";
       };
     };
     "union-value-1.0.1" = {
@@ -41372,31 +42217,31 @@ let
         sha512 = "dFil/AN6vqhnQWNCZk0GF/G3+Q5YwsB+PqjnzvpO2wzdRtUJ1E8PN+XRE/PRr/G3FzKjRTJU0haqE0Ekl+O3Ag==";
       };
     };
-    "unist-util-modify-children-1.1.4" = {
+    "unist-util-modify-children-1.1.5" = {
       name = "unist-util-modify-children";
       packageName = "unist-util-modify-children";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.4.tgz";
-        sha512 = "8iey9wkoB62C7Vi/8zcRUmi4b1f5AYKTwMkyEgLduo2D8+OY65RoSvbn6k9tVNri6qumXxAwXDVlXWQi0sENTw==";
+        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.5.tgz";
+        sha512 = "XeL5qqyoS3TEueCKEzHusWXE9JBDJPE4rl6LmcLOwlzv0RIZrcMNqKx02GSK3Ms4v45ldu+ltPxG42FBMVdPZw==";
       };
     };
-    "unist-util-position-3.0.3" = {
+    "unist-util-position-3.0.4" = {
       name = "unist-util-position";
       packageName = "unist-util-position";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz";
-        sha512 = "28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==";
+        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.4.tgz";
+        sha512 = "tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==";
       };
     };
-    "unist-util-remove-position-1.1.3" = {
+    "unist-util-remove-position-1.1.4" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz";
-        sha512 = "CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==";
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz";
+        sha512 = "tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==";
       };
     };
     "unist-util-stringify-position-1.1.2" = {
@@ -41408,13 +42253,13 @@ let
         sha512 = "pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==";
       };
     };
-    "unist-util-stringify-position-2.0.1" = {
+    "unist-util-stringify-position-2.0.2" = {
       name = "unist-util-stringify-position";
       packageName = "unist-util-stringify-position";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz";
-        sha512 = "Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==";
+        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz";
+        sha512 = "nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==";
       };
     };
     "unist-util-visit-1.4.1" = {
@@ -42074,13 +42919,13 @@ let
         sha512 = "vRAKaS8WcYNgzbxyH2LdheqgL4sQLis8LXl7r/mN+O4mpWlUpoCsTtietxepLrft2q0TFA2gaIvSWN1iRkzW/w==";
       };
     };
-    "utp-native-2.1.4" = {
+    "utp-native-2.1.5" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.1.4.tgz";
-        sha512 = "FYjr3bHBnJpw8yD0CmFCh5USyDgr6VtuncEIun100GqCUdgqnkAx9irSY3tA4UrzRH56qmiocP2fs1QjQ7ZDZA==";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.1.5.tgz";
+        sha512 = "vQ193WXyOOo+LikYgXlhFLVU7w9zdLOuXr1mgmS/kRMtq/B7DgVbPPSWzKzfcUnBeS1vRApVzR8+o4xYItObcw==";
       };
     };
     "uuid-2.0.3" = {
@@ -42218,6 +43063,15 @@ let
         sha512 = "X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==";
       };
     };
+    "validator-11.1.0" = {
+      name = "validator";
+      packageName = "validator";
+      version = "11.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz";
+        sha512 = "qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==";
+      };
+    };
     "validator-5.7.0" = {
       name = "validator";
       packageName = "validator";
@@ -42335,6 +43189,15 @@ let
         sha1 = "dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f";
       };
     };
+    "vasync-2.2.0" = {
+      name = "vasync";
+      packageName = "vasync";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vasync/-/vasync-2.2.0.tgz";
+        sha1 = "cfde751860a15822db3b132bc59b116a4adaf01b";
+      };
+    };
     "vendors-1.0.3" = {
       name = "vendors";
       packageName = "vendors";
@@ -42344,13 +43207,13 @@ let
         sha512 = "fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==";
       };
     };
-    "verda-1.0.0-10" = {
+    "verda-1.0.0-12" = {
       name = "verda";
       packageName = "verda";
-      version = "1.0.0-10";
+      version = "1.0.0-12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verda/-/verda-1.0.0-10.tgz";
-        sha512 = "5VWCbPzZnYjjrlvCE4XW4wT8ko9ppCSo6EyHDfH7XBsv0EEglzq/Pdg8k77aV/9xQwFvnFcd1y/XnmDbya77Ow==";
+        url = "https://registry.npmjs.org/verda/-/verda-1.0.0-12.tgz";
+        sha512 = "pNfCbq1WlBTE0SsyajJFzkQtp+E/opy5/+8405XHE4VMQ+3Xr/h2s9OijnbHPwPDJvybV4+JCktJhc6Ru6yg7w==";
       };
     };
     "verror-1.1.0" = {
@@ -42425,13 +43288,13 @@ let
         sha512 = "y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==";
       };
     };
-    "vfile-4.0.1" = {
+    "vfile-4.0.2" = {
       name = "vfile";
       packageName = "vfile";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz";
-        sha512 = "lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==";
+        url = "https://registry.npmjs.org/vfile/-/vfile-4.0.2.tgz";
+        sha512 = "yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==";
       };
     };
     "vfile-find-down-1.0.0" = {
@@ -42461,13 +43324,13 @@ let
         sha512 = "kYGgsSNpYjPxcEoud1aHNFfchsV0Z6Pyc8M5LfD1wX/tV0/bn32MKHDfv4fqV9DBLVuw2YSGOs31nRY/42DfUA==";
       };
     };
-    "vfile-location-2.0.5" = {
+    "vfile-location-2.0.6" = {
       name = "vfile-location";
       packageName = "vfile-location";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz";
-        sha512 = "Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==";
+        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz";
+        sha512 = "sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==";
       };
     };
     "vfile-message-1.1.1" = {
@@ -42479,13 +43342,13 @@ let
         sha512 = "1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==";
       };
     };
-    "vfile-message-2.0.1" = {
+    "vfile-message-2.0.2" = {
       name = "vfile-message";
       packageName = "vfile-message";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz";
-        sha512 = "KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==";
+        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz";
+        sha512 = "gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==";
       };
     };
     "vfile-reporter-1.5.0" = {
@@ -42650,13 +43513,13 @@ let
         sha512 = "DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==";
       };
     };
-    "vm-browserify-1.1.0" = {
+    "vm-browserify-1.1.2" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
-      version = "1.1.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz";
-        sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==";
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
+        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
     "voc-1.1.0" = {
@@ -42731,13 +43594,13 @@ let
         sha512 = "perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==";
       };
     };
-    "vscode-jsonrpc-5.0.0-next.2" = {
+    "vscode-jsonrpc-5.0.0-next.5" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "5.0.0-next.2";
+      version = "5.0.0-next.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.0-next.2.tgz";
-        sha512 = "Q3/jabZUNviCG9hhF6hHWjhrABevPF9mv0aiE2j8BYCAP2k+aHTpjMyk+04MzaAqWYwXdQuZkLSbcYCCqbzJLg==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.0-next.5.tgz";
+        sha512 = "k9akfglxWgr0dtLNscq2uBq48XJwnhf4EaDxn05KQowRwR0DkNML0zeYqFRLtXZe6x5vpL5ppyu4o6GqL+23YQ==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -42794,13 +43657,13 @@ let
         sha512 = "IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==";
       };
     };
-    "vscode-languageserver-protocol-3.15.0-next.9" = {
+    "vscode-languageserver-protocol-3.15.0-next.14" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.15.0-next.9";
+      version = "3.15.0-next.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.9.tgz";
-        sha512 = "b9PAxouMmtsLEe8ZjbIMPb7wRWPhckGfgjwZLmp/dWnaAuRPYtY3lGO0/rNbLc3jKIqCVlnEyYVFKalzDAzj0g==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.14.tgz";
+        sha512 = "xUwwno6Q6RFd2Z2EWV9D3dQlsKPnHyiZMNWq+EC7JJdp2WH1gRlD+KPX4UGRCnJK0WI5omqHV313IESPwRY5xA==";
       };
     };
     "vscode-languageserver-protocol-3.6.0" = {
@@ -42830,13 +43693,13 @@ let
         sha512 = "lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==";
       };
     };
-    "vscode-languageserver-types-3.15.0-next.5" = {
+    "vscode-languageserver-types-3.15.0-next.9" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.15.0-next.5";
+      version = "3.15.0-next.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.5.tgz";
-        sha512 = "7hrELhTeWieUgex3+6692KjCkcmO/+V/bFItM5MHGcBotzwmjEuXjapLLYTYhIspuJ1ibRSik5MhX5YwLpsPiw==";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.9.tgz";
+        sha512 = "Rl/8qJ6932nrHCdPn+9y0x08uLVQaSLRG+U4JzhyKpWU4eJbVaDRoAcz1Llj7CErJGbPr6kdBvShPy5fRfR+Uw==";
       };
     };
     "vscode-languageserver-types-3.6.0" = {
@@ -42938,22 +43801,22 @@ let
         sha512 = "JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==";
       };
     };
-    "vue-eslint-parser-6.0.4" = {
+    "vue-eslint-parser-6.0.5" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "6.0.4";
+      version = "6.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-6.0.4.tgz";
-        sha512 = "GYsDsDWwKaGtnkW4nGUxr01wqIO2FB9/QHQTW1Gl5SUr5OyQvpnR90/D+Gq2cIxURX7aJ7+VyD+37Yx9eFwTgw==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-6.0.5.tgz";
+        sha512 = "Bvjlx7rH1Ulvus56KHeLXOjEi3JMOYTa1GAqZr9lBQhd8weK8mV7U7V2l85yokBZEWHJQjLn6X3nosY8TzkOKg==";
       };
     };
-    "vue-jscodeshift-adapter-2.0.2" = {
+    "vue-jscodeshift-adapter-2.0.3" = {
       name = "vue-jscodeshift-adapter";
       packageName = "vue-jscodeshift-adapter";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-jscodeshift-adapter/-/vue-jscodeshift-adapter-2.0.2.tgz";
-        sha512 = "EnRKDgQXGHnNbHpHdTEqBfDMxRPFSUc/hlDNLd9ucgdfpJ3S6o/V6og+CfNYgGPO2GKD6AQOsd+lltRuoM/SVA==";
+        url = "https://registry.npmjs.org/vue-jscodeshift-adapter/-/vue-jscodeshift-adapter-2.0.3.tgz";
+        sha512 = "RXv0lrDG2CAx3yAQCoD9beU8nAoT3rhh/fgb+xlYM0Qlm+cpkWSLTdfOt1x2j2wHI08uEsi0q7x6rjhn54EbNA==";
       };
     };
     "vue-onsenui-helper-json-1.0.2" = {
@@ -42974,13 +43837,13 @@ let
         sha512 = "VYNMsrIPZQZau5Gk8IVtgonN1quOznP9/pLIF5m2c4R30KCDDe3NwthrsM7lSUY2K4lezcb8j3Wu8cQhBuZEMQ==";
       };
     };
-    "vue-template-compiler-2.6.10" = {
+    "vue-template-compiler-2.6.11" = {
       name = "vue-template-compiler";
       packageName = "vue-template-compiler";
-      version = "2.6.10";
+      version = "2.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz";
-        sha512 = "jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==";
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz";
+        sha512 = "KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==";
       };
     };
     "w3c-hr-time-1.0.1" = {
@@ -43073,22 +43936,22 @@ let
         sha1 = "7137946585c73fe44882013853bd000c5d687a4e";
       };
     };
-    "web-push-3.3.5" = {
+    "web-push-3.4.1" = {
       name = "web-push";
       packageName = "web-push";
-      version = "3.3.5";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-push/-/web-push-3.3.5.tgz";
-        sha512 = "sukVBk0chRCL4n+Xwurl2TlD4/JmezNv4L2nwlTZx4KwMeUPfmD9TdGl6A6taayNgjObYzp0k0gubAcQCp7TMg==";
+        url = "https://registry.npmjs.org/web-push/-/web-push-3.4.1.tgz";
+        sha512 = "wtx18llPtWWW+x8hv+Gxvz+2VjO+vZuyihInsjySNpNGNVswH1Bb2KkbbCtE96yi52VUmbFMdidxM8kJAPaSWQ==";
       };
     };
-    "web-tree-sitter-0.15.10" = {
+    "web-tree-sitter-0.15.11" = {
       name = "web-tree-sitter";
       packageName = "web-tree-sitter";
-      version = "0.15.10";
+      version = "0.15.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.10.tgz";
-        sha512 = "8utowZB5h5djbotf1umt4na9Vt6Q18ZICUeC9jW4qWWjUrtQ2xvxDuAJ+EibmqUJBAKATrDMXnY2xYaskGg8wg==";
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.11.tgz";
+        sha512 = "7Sr26MV8bPPvKU+4VMpOoLYwaAFBsCsxRGtxYPSxClWIaR2KIciqg6zUeG14W9QrdlpBt7VHHzhd1CBb0e6i8w==";
       };
     };
     "webassemblyjs-1.8.5" = {
@@ -43118,22 +43981,22 @@ let
         sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
       };
     };
-    "webpack-4.41.2" = {
+    "webpack-4.41.4" = {
       name = "webpack";
       packageName = "webpack";
-      version = "4.41.2";
+      version = "4.41.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz";
-        sha512 = "Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz";
+        sha512 = "Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==";
       };
     };
-    "webpack-cli-3.3.9" = {
+    "webpack-cli-3.3.10" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "3.3.9";
+      version = "3.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
-        sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz";
+        sha512 = "u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==";
       };
     };
     "webpack-core-0.6.9" = {
@@ -43181,13 +44044,13 @@ let
         sha512 = "EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==";
       };
     };
-    "webtorrent-0.107.16" = {
+    "webtorrent-0.107.17" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "0.107.16";
+      version = "0.107.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.16.tgz";
-        sha512 = "5fdPZFiZPxwbigAHtMVQ7ZCXbZSQlxgB6JPD77itpc9DdKYPpliFwCLsNiQpj1jmpo91HlHUJk+Xp3ks1fLUQg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.17.tgz";
+        sha512 = "Oe7d3+jpmPRDAc645PccIJPYa2w3n3BEiMU7J/Q76QSPF3SDUK8jO7keUCC2qk4ckcbdkb98bYK6/uK7M8vsRA==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -43298,13 +44161,31 @@ let
         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
-    "which-2.0.1" = {
+    "which-2.0.2" = {
       name = "which";
       packageName = "which";
-      version = "2.0.1";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
+      };
+    };
+    "which-boxed-primitive-1.0.1" = {
+      name = "which-boxed-primitive";
+      packageName = "which-boxed-primitive";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-2.0.1.tgz";
-        sha512 = "N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==";
+        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz";
+        sha512 = "7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==";
+      };
+    };
+    "which-collection-1.0.0" = {
+      name = "which-collection";
+      packageName = "which-collection";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-collection/-/which-collection-1.0.0.tgz";
+        sha512 = "mG4RtFHE+17N2AxRNvBQ488oBjrhaOaI/G+soUaRJwdyDbu5zmqoAKPYBlY7Zd+QTwpfvInRLKo40feo2si1yA==";
       };
     };
     "which-module-1.0.0" = {
@@ -43343,15 +44224,6 @@ let
         sha1 = "20b721df05b35b706176ffa10b0909aba4603035";
       };
     };
-    "wicked-good-xpath-1.3.0" = {
-      name = "wicked-good-xpath";
-      packageName = "wicked-good-xpath";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz";
-        sha1 = "81b0e95e8650e49c94b22298fff8686b5553cf6c";
-      };
-    };
     "wide-align-1.1.3" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -43550,13 +44422,13 @@ let
         sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
       };
     };
-    "with-open-file-0.1.6" = {
+    "with-open-file-0.1.7" = {
       name = "with-open-file";
       packageName = "with-open-file";
-      version = "0.1.6";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz";
-        sha512 = "SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==";
+        url = "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz";
+        sha512 = "ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==";
       };
     };
     "word-wrap-1.2.3" = {
@@ -43649,13 +44521,13 @@ let
         sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     };
-    "wrap-ansi-6.1.0" = {
+    "wrap-ansi-6.2.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "6.1.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.1.0.tgz";
-        sha512 = "y8j9eJaotnWgJkysmwld5GkLH2KE9srRvqQE2bu1tZb0O9Qgk1mLyz4Q4KIWyjZAi2+6NRqkM/A580IsUseDdw==";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     };
     "wrap-fn-0.1.5" = {
@@ -43820,13 +44692,13 @@ let
         sha512 = "gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==";
       };
     };
-    "ws-7.2.0" = {
+    "ws-7.2.1" = {
       name = "ws";
       packageName = "ws";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz";
-        sha512 = "+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz";
+        sha512 = "sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==";
       };
     };
     "x-default-browser-0.3.1" = {
@@ -43991,6 +44863,15 @@ let
         sha512 = "MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==";
       };
     };
+    "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==";
+      };
+    };
     "xml2tss-0.0.5" = {
       name = "xml2tss";
       packageName = "xml2tss";
@@ -44081,22 +44962,13 @@ let
         sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
       };
     };
-    "xmldom-0.1.27" = {
+    "xmldom-0.1.31" = {
       name = "xmldom";
       packageName = "xmldom";
-      version = "0.1.27";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz";
-        sha1 = "d501f97b3bdb403af8ef9ecc20573187aadac0e9";
-      };
-    };
-    "xmldom-sre-0.1.31" = {
-      name = "xmldom-sre";
-      packageName = "xmldom-sre";
       version = "0.1.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz";
-        sha512 = "f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==";
+        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz";
+        sha512 = "yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==";
       };
     };
     "xmlhttprequest-1.8.0" = {
@@ -44172,13 +45044,13 @@ let
         sha512 = "sO0bYdYeJAJBcJA8g7MJJX7UrOZIfJPd8U2SC7B2Dd/J24U0aQNoGp33shCaBSWeb0rD5rh6VBUIXOkGal1TZA==";
       };
     };
-    "xsalsa20-1.0.2" = {
+    "xsalsa20-1.1.0" = {
       name = "xsalsa20";
       packageName = "xsalsa20";
-      version = "1.0.2";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.0.2.tgz";
-        sha512 = "g1DFmZ5JJ9Qzvt4dMw6m9IydqoCSP381ucU5zm46Owbk3bwmqAr8eEJirOPc7PrXRn45drzOpAyDp8jsnoyXyw==";
+        url = "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz";
+        sha512 = "zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==";
       };
     };
     "xspfr-0.3.1" = {
@@ -44262,6 +45134,15 @@ let
         sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
+    "yallist-4.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
+      };
+    };
     "yaml-ast-parser-0.0.40" = {
       name = "yaml-ast-parser";
       packageName = "yaml-ast-parser";
@@ -44379,13 +45260,13 @@ let
         sha512 = "ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==";
       };
     };
-    "yargs-14.2.0" = {
+    "yargs-14.2.2" = {
       name = "yargs";
       packageName = "yargs";
-      version = "14.2.0";
+      version = "14.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz";
-        sha512 = "/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz";
+        sha512 = "/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==";
       };
     };
     "yargs-3.10.0" = {
@@ -44550,22 +45431,22 @@ let
         sha512 = "W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==";
       };
     };
-    "yarn-1.17.3" = {
+    "yarn-1.19.1" = {
       name = "yarn";
       packageName = "yarn";
-      version = "1.17.3";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yarn/-/yarn-1.17.3.tgz";
-        sha512 = "CgA8o7nRZaQvmeF/WBx2FC7f9W/0X59T2IaLYqgMo6637wfp5mMEsM3YXoJtKUspnpmDJKl/gGFhnqS+sON7hA==";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.19.1.tgz";
+        sha512 = "gBnfbL9rYY05Gt0cjJhs/siqQXHYlZalTjK3nXn2QO20xbkIFPob+LlH44ML47GcR4VU9/2dYck1BWFM0Javxw==";
       };
     };
-    "yarn-1.19.1" = {
+    "yarn-1.21.1" = {
       name = "yarn";
       packageName = "yarn";
-      version = "1.19.1";
+      version = "1.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yarn/-/yarn-1.19.1.tgz";
-        sha512 = "gBnfbL9rYY05Gt0cjJhs/siqQXHYlZalTjK3nXn2QO20xbkIFPob+LlH44ML47GcR4VU9/2dYck1BWFM0Javxw==";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.21.1.tgz";
+        sha512 = "dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ==";
       };
     };
     "yauzl-2.10.0" = {
@@ -44622,13 +45503,13 @@ let
         sha512 = "CP0fwGk5Y+jel+A0AQbyqnIFZRRpkKOeYUibiTSmlgV9PcgNFFVwn86VcUIpDLOqVjF+9v+O9FWQMo+IUcV2mA==";
       };
     };
-    "yeoman-environment-2.5.0" = {
+    "yeoman-environment-2.7.0" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "2.5.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.5.0.tgz";
-        sha512 = "RCxVKbSiW1o0l5C7dkGvG4BHmI4dfSA50pcBU9VQ2AOUErgGdCtfU+bLM6g7NV9iA2uxFGFYv6iJArhmWzRouA==";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.7.0.tgz";
+        sha512 = "YNzSUWgJVSgnm0qgLON4Gb2nTm+kywBiWjK4MbvosjUP2YJJ30lNhEx7ukyzKRPUlsavd5IsuALtF6QaVrq81A==";
       };
     };
     "yn-3.1.1" = {
@@ -44667,13 +45548,13 @@ let
         sha512 = "Dhp/R0pqSHj3vPs5O1gVd9kZx5Iew2lqVcfJQOBHx3llM/dLea8vl9wSa9FK8wLdSBQJ6mmgKi9+Rk2DRH3i9Q==";
       };
     };
-    "zen-observable-0.8.14" = {
+    "zen-observable-0.8.15" = {
       name = "zen-observable";
       packageName = "zen-observable";
-      version = "0.8.14";
+      version = "0.8.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.14.tgz";
-        sha512 = "kQz39uonEjEESwh+qCi83kcC3rZJGh4mrZW7xjkSQYXkq//JZHTtKo+6yuVloTgMtzsIWOJrjIrKvk/dqm0L5g==";
+        url = "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz";
+        sha512 = "PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==";
       };
     };
     "zen-observable-ts-0.8.20" = {
@@ -44736,25 +45617,25 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "8.3.14";
+    version = "8.3.21";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-8.3.14.tgz";
-      sha512 = "cOP2UvnnYocx1U1aiNkuLCcBxSktIXkadzrY7UlWJtQiCPGWm3Y87BfrQXub9Nsh79iyV8k8uKZKEax2ayESSg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-8.3.21.tgz";
+      sha512 = "ZZpA7mMfIobFT06rBNxm8vucAh8W2s0huJZ4iL0BPujnhIr71PL+gDwssySWDEz2q6i4CkH9QRH76DHhtL6VSQ==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.803.14"
-      sources."@angular-devkit/core-8.3.14"
-      sources."@angular-devkit/schematics-8.3.14"
-      sources."@schematics/angular-8.3.14"
-      sources."@schematics/update-0.803.14"
+      sources."@angular-devkit/architect-0.803.21"
+      sources."@angular-devkit/core-8.3.21"
+      sources."@angular-devkit/schematics-8.3.21"
+      sources."@schematics/angular-8.3.21"
+      sources."@schematics/update-0.803.21"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."JSONStream-1.3.5"
       sources."agent-base-4.3.0"
       sources."agentkeepalive-3.5.2"
       sources."ajv-6.10.2"
       sources."ansi-colors-4.1.1"
-      sources."ansi-escapes-4.2.1"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."aproba-1.2.0"
       sources."asap-2.0.6"
@@ -44762,10 +45643,10 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
@@ -44804,8 +45685,8 @@ in
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
       sources."err-code-1.1.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -44827,13 +45708,13 @@ in
       sources."genfun-5.0.0"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."hosted-git-info-2.8.5"
       sources."http-cache-semantics-3.8.1"
       (sources."http-proxy-agent-2.1.0" // {
@@ -44859,12 +45740,12 @@ in
       sources."ini-1.3.5"
       sources."inquirer-6.5.1"
       sources."ip-1.1.5"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
@@ -44880,9 +45761,9 @@ in
       sources."lodash-4.17.15"
       sources."lru-cache-5.1.1"
       sources."magic-string-0.25.3"
-      sources."make-fetch-happen-5.0.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."make-fetch-happen-5.0.2"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -44903,13 +45784,14 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-bundled-1.0.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-6.1.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.6"
+      sources."npm-packlist-1.4.7"
       (sources."npm-pick-manifest-3.0.2" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -44917,9 +45799,10 @@ in
       })
       sources."npm-registry-fetch-4.0.2"
       sources."oauth-sign-0.9.0"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."once-1.4.0"
       sources."onetime-5.1.0"
       sources."open-6.4.0"
@@ -44941,7 +45824,7 @@ in
       sources."promise-inflight-1.0.1"
       sources."promise-retry-1.1.1"
       sources."protoduck-5.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -44950,7 +45833,7 @@ in
       })
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."read-package-json-2.1.0"
+      sources."read-package-json-2.1.1"
       sources."read-package-tree-5.3.1"
       (sources."readable-stream-2.3.6" // {
         dependencies = [
@@ -44959,7 +45842,7 @@ in
       })
       sources."readdir-scoped-modules-1.1.0"
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-3.1.0"
       sources."retry-0.10.1"
       sources."rimraf-3.0.0"
@@ -44975,9 +45858,8 @@ in
         ];
       })
       sources."signal-exit-3.0.2"
-      sources."slash-1.0.0"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -44992,16 +45874,24 @@ in
       sources."sshpk-1.16.1"
       sources."ssri-6.0.1"
       sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
-      sources."string-width-4.1.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."stream-shift-1.0.1"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
       sources."supports-color-5.5.0"
       sources."symbol-observable-1.2.0"
       sources."tar-4.4.13"
@@ -45016,7 +45906,7 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."typedarray-0.0.6"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
@@ -45051,19 +45941,19 @@ in
   "@antora/cli" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_cli";
     packageName = "@antora/cli";
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/cli/-/cli-2.1.2.tgz";
-      sha512 = "U0N8yjQl7kFUsJuCSMiXTWFnXFKMwmDwPy0cH98Kx251PrsvNRv1i2SdHrlp6Ve2+VcaJ3qpv2UcuyG1GKUzKg==";
+      url = "https://registry.npmjs.org/@antora/cli/-/cli-2.2.0.tgz";
+      sha512 = "/fQDYEMypZbC8LxpZak/3nsP8Rr3voXXvxSan/718uDJUHFwq1rHl9Y/pOoE/tRs0Qv1jtDvk2eZgFDlsMMmlQ==";
     };
     dependencies = [
-      sources."@antora/playbook-builder-2.1.2"
+      sources."@antora/playbook-builder-2.2.0"
       sources."@iarna/toml-2.2.3"
       sources."argparse-1.0.10"
       sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.0.1"
+      sources."camelcase-keys-6.1.1"
       sources."commander-3.0.2"
-      (sources."convict-5.1.0" // {
+      (sources."convict-5.2.0" // {
         dependencies = [
           sources."json5-2.1.0"
         ];
@@ -45079,7 +45969,7 @@ in
       sources."moment-2.24.0"
       sources."quick-lru-4.0.1"
       sources."sprintf-js-1.0.3"
-      sources."validator-10.11.0"
+      sources."validator-11.1.0"
       sources."yargs-parser-13.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -45095,25 +45985,24 @@ in
   "@antora/site-generator-default" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_site-generator-default";
     packageName = "@antora/site-generator-default";
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-2.1.2.tgz";
-      sha512 = "iHy4YFdIsOO5wTuB1CAvuPcojTSSIhKgiY1E4e1FZVUe3J7SGfbrj49pSbwYugrMgPtCf2KwcCZKwXnKW+k71A==";
+      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-2.2.0.tgz";
+      sha512 = "fy2tG1I3/FK1s/y/GhGMkFICtXkkSOpxVy5OjBXXfkBNHQIHYSLDv460Gz8NvSiVe99LWWa+FOpr5G13Bb0bvw==";
     };
     dependencies = [
-      sources."@antora/asciidoc-loader-2.1.2"
-      sources."@antora/content-aggregator-2.1.2"
-      sources."@antora/content-classifier-2.1.2"
-      sources."@antora/document-converter-2.1.2"
+      sources."@antora/asciidoc-loader-2.2.0"
+      sources."@antora/content-aggregator-2.2.0"
+      sources."@antora/content-classifier-2.2.0"
+      sources."@antora/document-converter-2.2.0"
       sources."@antora/expand-path-helper-1.0.0"
-      sources."@antora/navigation-builder-2.1.2"
-      sources."@antora/page-composer-2.1.2"
-      sources."@antora/playbook-builder-2.1.2"
-      sources."@antora/redirect-producer-2.1.2"
-      sources."@antora/site-mapper-2.1.2"
-      sources."@antora/site-publisher-2.1.2"
-      sources."@antora/ui-loader-2.1.2"
-      sources."@babel/runtime-7.6.3"
+      sources."@antora/navigation-builder-2.2.0"
+      sources."@antora/page-composer-2.2.0"
+      sources."@antora/playbook-builder-2.2.0"
+      sources."@antora/redirect-producer-2.2.0"
+      sources."@antora/site-mapper-2.2.0"
+      sources."@antora/site-publisher-2.2.0"
+      sources."@antora/ui-loader-2.2.0"
       sources."@iarna/toml-2.2.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
@@ -45123,7 +46012,6 @@ in
       sources."async-lock-1.2.2"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.2"
-      sources."benchmark-1.0.0"
       sources."bl-4.0.0"
       sources."bops-0.0.7"
       sources."brace-expansion-1.1.11"
@@ -45138,8 +46026,8 @@ in
         ];
       })
       sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.0.1"
-      sources."clean-git-ref-1.0.3"
+      sources."camelcase-keys-6.1.1"
+      sources."clean-git-ref-2.0.1"
       sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
       (sources."clone-response-1.0.2" // {
@@ -45157,12 +46045,12 @@ in
       })
       sources."commander-2.20.3"
       sources."concat-map-0.0.1"
-      (sources."convert-source-map-1.6.0" // {
+      (sources."convert-source-map-1.7.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."convict-5.1.0" // {
+      (sources."convict-5.2.0" // {
         dependencies = [
           sources."json5-2.1.0"
         ];
@@ -45172,10 +46060,9 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-4.2.1"
       sources."deep-freeze-node-1.1.3"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
-      sources."diff-3.5.0"
-      sources."diff-lines-1.1.1"
+      sources."diff3-0.0.3"
       sources."duplexer-0.1.1"
       sources."duplexer3-0.1.4"
       (sources."duplexify-3.7.1" // {
@@ -45221,7 +46108,7 @@ in
       sources."glob-parent-3.1.0"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -45236,7 +46123,7 @@ in
         ];
       })
       sources."graceful-fs-4.2.3"
-      (sources."gulp-vinyl-zip-2.1.2" // {
+      (sources."gulp-vinyl-zip-2.1.3" // {
         dependencies = [
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
@@ -45244,8 +46131,8 @@ in
           sources."through2-2.0.5"
         ];
       })
-      sources."handlebars-4.4.5"
-      sources."has-symbols-1.0.0"
+      sources."handlebars-4.5.3"
+      sources."has-symbols-1.0.1"
       sources."http-cache-semantics-4.0.3"
       sources."ignore-5.1.4"
       sources."inflight-1.0.6"
@@ -45261,7 +46148,7 @@ in
       sources."is-valid-glob-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
-      sources."isomorphic-git-0.47.0"
+      sources."isomorphic-git-0.70.4"
       sources."js-yaml-3.13.1"
       sources."json-buffer-3.0.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
@@ -45283,8 +46170,8 @@ in
       sources."map-stream-0.1.0"
       sources."marky-1.2.1"
       sources."matcher-2.0.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."minimatch-3.0.4"
       sources."minimatch-all-1.1.0"
@@ -45293,7 +46180,6 @@ in
       sources."moment-2.24.0"
       sources."multi-progress-2.0.0"
       sources."neo-async-2.6.1"
-      sources."nick-0.1.3"
       sources."normalize-path-2.1.1"
       sources."normalize-url-4.5.0"
       sources."now-and-later-2.0.1"
@@ -45329,7 +46215,6 @@ in
       sources."queue-4.5.1"
       sources."quick-lru-4.0.1"
       sources."readable-stream-3.4.0"
-      sources."regenerator-runtime-0.13.3"
       sources."remove-bom-buffer-3.0.0"
       (sources."remove-bom-stream-1.2.0" // {
         dependencies = [
@@ -45357,11 +46242,9 @@ in
       sources."simple-get-3.1.0"
       sources."source-map-0.6.1"
       sources."split-0.3.3"
-      sources."split2-3.1.1"
       sources."sprintf-js-1.0.3"
       sources."stream-combiner-0.0.4"
-      sources."stream-shift-1.0.0"
-      sources."stream-source-0.3.5"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.3.0"
       sources."through-2.3.8"
       sources."through2-3.0.1"
@@ -45384,13 +46267,13 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.6.4"
+      sources."uglify-js-3.7.2"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."validator-10.11.0"
+      sources."validator-11.1.0"
       sources."value-or-function-3.0.0"
       sources."varint-0.0.3"
       sources."vinyl-2.2.0"
@@ -45425,117 +46308,131 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "4.0.5";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-4.0.5.tgz";
-      sha512 = "G13V2wlye7IClgO/S8j/QOjp1fBv7MEawTXqGBX/FqSajY4DPmzZRK0eoc6+IZQLmHSYAwmVZ242HE8YL1McAw==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-4.1.1.tgz";
+      sha512 = "Qdxn3rL4E34y22geQdPOkQtGKbewa+hiyD0rEXMBOjqIqxWnYm68p/dTJjHeou3egGu5P9ol7BujJfPJBhfgTw==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
-      sources."@apollo/federation-0.10.2"
-      sources."@apollographql/apollo-tools-0.4.0"
+      sources."@apollo/federation-0.11.2"
+      (sources."@apollo/protobufjs-1.0.3" // {
+        dependencies = [
+          sources."@types/node-10.17.11"
+        ];
+      })
+      sources."@apollographql/apollo-tools-0.4.2"
       sources."@apollographql/graphql-language-service-interface-2.0.2"
       sources."@apollographql/graphql-language-service-parser-2.0.2"
       sources."@apollographql/graphql-language-service-types-2.0.2"
       sources."@apollographql/graphql-language-service-utils-2.0.2"
       sources."@apollographql/graphql-playground-html-1.6.24"
       sources."@babel/code-frame-7.5.5"
-      (sources."@babel/core-7.6.4" // {
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
+          sources."@babel/generator-7.7.7"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.6.4"
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-call-delegate-7.4.4"
-      sources."@babel/helper-create-class-features-plugin-7.6.0"
-      sources."@babel/helper-define-map-7.5.5"
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.4"
-      sources."@babel/helper-member-expression-to-functions-7.5.5"
-      sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.5.5"
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/generator-7.7.4"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-class-features-plugin-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.5.5"
-      sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.6.2"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.4"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-class-properties-7.5.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.5.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.6.2"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.6.2"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-dynamic-import-7.2.0"
-      sources."@babel/plugin-syntax-flow-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-syntax-typescript-7.3.3"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.3"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.6.2"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-flow-strip-types-7.6.3"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.6.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.3"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.6.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-typescript-7.6.3"
-      sources."@babel/plugin-transform-unicode-regex-7.6.2"
-      (sources."@babel/preset-env-7.6.3" // {
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-class-properties-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-flow-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-syntax-typescript-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-flow-strip-types-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-typescript-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      (sources."@babel/preset-env-7.7.7" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."@babel/preset-flow-7.7.4"
+      sources."@babel/preset-typescript-7.7.7"
+      (sources."@babel/register-7.7.7" // {
         dependencies = [
+          sources."make-dir-2.1.0"
+          sources."pify-4.0.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/preset-flow-7.0.0"
-      sources."@babel/preset-typescript-7.6.0"
-      sources."@babel/register-7.6.2"
-      (sources."@babel/runtime-7.6.3" // {
+      (sources."@babel/runtime-7.7.7" // {
         dependencies = [
           sources."regenerator-runtime-0.13.3"
         ];
       })
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.3"
-      sources."@babel/types-7.6.3"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-1.0.1"
-      sources."@hapi/address-2.1.2"
+      sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
-      sources."@hapi/hoek-8.3.2"
+      sources."@hapi/hoek-8.5.0"
       sources."@hapi/joi-15.1.1"
       sources."@hapi/topo-3.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -45551,31 +46448,33 @@ in
         dependencies = [
           sources."clean-stack-1.3.0"
           sources."indent-string-3.2.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
       sources."@oclif/parser-3.8.4"
-      (sources."@oclif/plugin-autocomplete-0.1.4" // {
+      (sources."@oclif/plugin-autocomplete-0.1.5" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."fs-extra-6.0.1"
         ];
       })
-      (sources."@oclif/plugin-help-2.2.1" // {
+      (sources."@oclif/plugin-help-2.2.2" // {
         dependencies = [
           sources."indent-string-3.2.0"
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."@oclif/plugin-not-found-1.2.3"
       (sources."@oclif/plugin-plugins-1.7.8" // {
         dependencies = [
-          sources."cli-ux-5.3.3"
-          sources."indent-string-3.2.0"
+          sources."cli-ux-5.4.1"
           sources."npm-run-path-3.1.0"
-          sources."path-key-3.1.0"
+          sources."path-key-3.1.1"
           sources."semver-5.7.1"
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       (sources."@oclif/plugin-warn-if-update-available-1.7.0" // {
@@ -45597,36 +46496,36 @@ in
       sources."@samverschueren/stream-to-observable-0.3.0"
       sources."@types/accepts-1.3.5"
       sources."@types/body-parser-1.17.1"
-      sources."@types/connect-3.4.32"
+      sources."@types/color-name-1.1.1"
+      sources."@types/connect-3.4.33"
       sources."@types/cookies-0.7.4"
       sources."@types/cors-2.8.6"
       sources."@types/events-3.0.0"
       sources."@types/express-4.17.1"
-      sources."@types/express-serve-static-core-4.16.10"
+      sources."@types/express-serve-static-core-4.17.1"
       sources."@types/fs-capacitor-2.0.0"
-      sources."@types/fs-extra-5.1.0"
       sources."@types/glob-7.1.1"
       sources."@types/graphql-upload-8.0.3"
       sources."@types/http-assert-1.5.1"
       sources."@types/keygrip-1.0.1"
-      sources."@types/koa-2.0.51"
-      sources."@types/koa-compose-3.2.4"
+      sources."@types/koa-2.11.0"
+      sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.0"
       sources."@types/mime-2.0.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@types/range-parser-1.2.3"
       sources."@types/serve-static-1.13.3"
-      sources."@types/ws-6.0.3"
+      sources."@types/ws-6.0.4"
       sources."@types/zen-observable-0.8.0"
-      sources."@vue/cli-shared-utils-4.0.5"
-      (sources."@vue/cli-ui-4.0.5" // {
+      sources."@vue/cli-shared-utils-4.1.1"
+      (sources."@vue/cli-ui-4.1.1" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-4.0.5"
-      sources."@vue/cli-ui-addon-widgets-4.0.5"
+      sources."@vue/cli-ui-addon-webpack-4.1.1"
+      sources."@vue/cli-ui-addon-widgets-4.1.1"
       sources."@wry/context-0.4.4"
       sources."@wry/equality-0.1.9"
       sources."abbrev-1.1.1"
@@ -45644,22 +46543,26 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."apollo-2.21.0"
-      sources."apollo-cache-1.3.2"
-      sources."apollo-cache-control-0.8.5"
-      sources."apollo-cache-inmemory-1.6.3"
-      sources."apollo-client-2.6.4"
-      sources."apollo-codegen-core-0.35.7"
-      sources."apollo-codegen-flow-0.33.32"
-      sources."apollo-codegen-scala-0.34.32"
-      sources."apollo-codegen-swift-0.35.12"
-      sources."apollo-codegen-typescript-0.35.7"
+      (sources."apollo-2.21.2" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."apollo-cache-1.3.4"
+      sources."apollo-cache-control-0.8.9"
+      sources."apollo-cache-inmemory-1.6.5"
+      sources."apollo-client-2.6.8"
+      sources."apollo-codegen-core-0.35.9"
+      sources."apollo-codegen-flow-0.33.34"
+      sources."apollo-codegen-scala-0.34.34"
+      sources."apollo-codegen-swift-0.35.14"
+      sources."apollo-codegen-typescript-0.35.9"
       sources."apollo-datasource-0.6.3"
-      sources."apollo-engine-reporting-1.4.7"
-      sources."apollo-engine-reporting-protobuf-0.4.1"
-      sources."apollo-env-0.5.1"
-      sources."apollo-graphql-0.3.4"
-      sources."apollo-language-server-1.17.0"
+      sources."apollo-engine-reporting-1.4.12"
+      sources."apollo-engine-reporting-protobuf-0.4.4"
+      sources."apollo-env-0.6.0"
+      sources."apollo-graphql-0.3.6"
+      sources."apollo-language-server-1.17.2"
       sources."apollo-link-1.2.13"
       sources."apollo-link-context-1.0.19"
       sources."apollo-link-error-1.1.12"
@@ -45669,16 +46572,16 @@ in
       sources."apollo-link-state-0.4.2"
       sources."apollo-link-ws-1.0.19"
       sources."apollo-server-caching-0.5.0"
-      sources."apollo-server-core-2.9.7"
+      sources."apollo-server-core-2.9.14"
       sources."apollo-server-env-2.4.3"
       sources."apollo-server-errors-2.3.4"
-      sources."apollo-server-express-2.9.7"
-      sources."apollo-server-plugin-base-0.6.5"
-      sources."apollo-server-types-0.2.5"
-      sources."apollo-tracing-0.8.5"
+      sources."apollo-server-express-2.9.14"
+      sources."apollo-server-plugin-base-0.6.9"
+      sources."apollo-server-types-0.2.9"
+      sources."apollo-tracing-0.8.9"
       sources."apollo-upload-client-11.0.0"
-      sources."apollo-utilities-1.3.2"
-      sources."arg-4.1.1"
+      sources."apollo-utilities-1.3.3"
+      sources."arg-4.1.2"
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -45701,17 +46604,17 @@ in
       sources."atob-2.1.2"
       sources."await-to-js-2.1.1"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.0"
       (sources."babel-polyfill-6.26.0" // {
         dependencies = [
-          sources."core-js-2.6.10"
+          sources."core-js-2.6.11"
         ];
       })
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
-          sources."core-js-2.6.10"
+          sources."core-js-2.6.11"
           sources."regenerator-runtime-0.11.1"
         ];
       })
@@ -45725,6 +46628,7 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bl-1.2.2"
       (sources."body-parser-1.19.0" // {
         dependencies = [
@@ -45735,26 +46639,38 @@ in
         ];
       })
       sources."boolbase-1.0.0"
-      (sources."boxen-4.1.0" // {
+      (sources."boxen-4.2.0" // {
         dependencies = [
           (sources."ansi-align-3.0.0" // {
             dependencies = [
               sources."string-width-3.1.0"
             ];
           })
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
           sources."camelcase-5.3.1"
+          sources."chalk-3.0.0"
           sources."cli-boxes-2.2.0"
+          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."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.1.0"
-          sources."term-size-2.1.0"
-          sources."type-fest-0.5.2"
+          (sources."string-width-4.2.0" // {
+            dependencies = [
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          sources."strip-ansi-5.2.0"
+          sources."supports-color-7.1.0"
+          sources."term-size-2.1.1"
+          sources."type-fest-0.8.1"
           sources."widest-line-3.1.0"
         ];
       })
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
-      sources."browserslist-4.7.2"
+      sources."browserslist-4.8.2"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -45772,7 +46688,7 @@ in
       sources."callsites-2.0.0"
       sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
-      sources."caniuse-lite-1.0.30001004"
+      sources."caniuse-lite-1.0.30001016"
       sources."capture-stack-trace-1.0.1"
       sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
@@ -45803,6 +46719,7 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
+      sources."cli-progress-3.4.0"
       sources."cli-spinners-2.2.0"
       (sources."cli-truncate-0.2.1" // {
         dependencies = [
@@ -45816,6 +46733,7 @@ in
         dependencies = [
           sources."indent-string-3.2.0"
           sources."semver-5.7.1"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."cli-width-2.2.0"
@@ -45838,12 +46756,16 @@ in
       sources."constant-case-2.0.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.3.4"
-      sources."core-js-compat-3.3.4"
+      sources."core-js-3.6.0"
+      (sources."core-js-compat-3.6.0" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."cosmiconfig-5.2.1"
@@ -45913,18 +46835,18 @@ in
       sources."easy-stack-1.0.0"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."ejs-2.7.1"
-      sources."electron-to-chromium-1.3.296"
+      sources."ejs-2.7.4"
+      sources."electron-to-chromium-1.3.322"
       sources."elegant-spinner-1.0.1"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."env-ci-3.2.2"
-      sources."envinfo-7.4.0"
+      sources."envinfo-7.5.0"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esm-3.2.25"
@@ -45981,11 +46903,12 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fd-slicer-1.1.0"
       sources."figures-1.7.0"
       sources."file-type-5.2.0"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
       sources."fill-range-4.0.0"
@@ -46004,7 +46927,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.110.1"
+      sources."flow-parser-0.114.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -46017,7 +46940,7 @@ in
       sources."fs-exists-sync-0.1.0"
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
       sources."gaze-1.1.3"
@@ -46035,7 +46958,7 @@ in
           sources."graceful-fs-4.1.11"
         ];
       })
-      sources."glob-7.1.4"
+      sources."glob-7.1.5"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -46050,22 +46973,22 @@ in
           sources."slash-2.0.0"
         ];
       })
-      sources."globule-1.2.1"
+      sources."globule-1.3.0"
       sources."good-listener-1.2.2"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
       sources."graphql-14.5.8"
-      (sources."graphql-anywhere-4.2.4" // {
+      (sources."graphql-anywhere-4.2.6" // {
         dependencies = [
           sources."ts-invariant-0.3.3"
         ];
       })
-      sources."graphql-extensions-0.10.4"
+      sources."graphql-extensions-0.10.8"
       sources."graphql-subscriptions-1.1.0"
       sources."graphql-tag-2.10.1"
       sources."graphql-tools-4.0.6"
-      sources."graphql-type-json-0.3.0"
+      sources."graphql-type-json-0.3.1"
       sources."graphql-upload-8.1.0"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -46078,7 +47001,7 @@ in
       })
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -46095,7 +47018,7 @@ in
           sources."readable-stream-3.4.0"
         ];
       })
-      (sources."http-call-5.2.5" // {
+      (sources."http-call-5.3.0" // {
         dependencies = [
           sources."is-stream-2.0.0"
         ];
@@ -46120,6 +47043,7 @@ in
       (sources."inquirer-6.5.2" // {
         dependencies = [
           sources."figures-2.0.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."interpret-1.2.0"
@@ -46130,10 +47054,10 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
@@ -46157,10 +47081,10 @@ in
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-upper-case-1.1.2"
       sources."is-windows-1.0.2"
@@ -46270,8 +47194,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
@@ -46290,7 +47214,7 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
       sources."nan-2.14.0"
-      sources."nanoid-2.1.6"
+      sources."nanoid-2.1.8"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."extend-shallow-3.0.2"
@@ -46317,7 +47241,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-releases-1.1.39"
+      sources."node-releases-1.1.43"
       (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.6"
@@ -46345,19 +47269,23 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object-path-0.11.4"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-6.4.0"
       sources."optimism-0.10.3"
-      sources."ora-3.4.0"
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
@@ -46416,15 +47344,10 @@ in
       sources."process-exists-3.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      (sources."protobufjs-6.8.8" // {
-        dependencies = [
-          sources."@types/node-10.17.0"
-        ];
-      })
       sources."proxy-addr-2.0.5"
       sources."ps-list-4.1.0"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pstree.remy-1.1.7"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -46460,7 +47383,7 @@ in
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.0" // {
+      (sources."regjsparser-0.6.1" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -46473,9 +47396,9 @@ in
           sources."qs-6.5.2"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."resolve-1.12.0"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."resolve-1.14.1"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -46558,7 +47481,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -46600,11 +47523,15 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.padstart-3.0.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.padstart-3.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-6.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+        ];
+      })
       sources."strip-bom-3.0.0"
       sources."strip-dirs-2.1.0"
       sources."strip-eof-1.0.0"
@@ -46628,18 +47555,34 @@ in
         dependencies = [
           sources."slice-ansi-2.1.0"
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."tar-stream-1.6.2"
-      sources."taskkill-3.0.0"
+      (sources."taskkill-3.1.0" // {
+        dependencies = [
+          sources."cross-spawn-7.0.1"
+          sources."execa-3.4.0"
+          sources."get-stream-5.1.0"
+          sources."is-stream-2.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."npm-run-path-4.0.0"
+          sources."onetime-5.1.0"
+          sources."p-finally-2.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
       (sources."tasklist-3.1.1" // {
         dependencies = [
           sources."pify-2.3.0"
         ];
       })
-      (sources."temp-0.8.3" // {
+      (sources."temp-0.8.4" // {
         dependencies = [
-          sources."rimraf-2.2.8"
+          sources."rimraf-2.6.3"
         ];
       })
       (sources."term-size-1.2.0" // {
@@ -46677,14 +47620,14 @@ in
       sources."treeify-1.1.0"
       sources."trim-repeated-1.0.0"
       sources."ts-invariant-0.4.4"
-      sources."ts-node-8.4.1"
+      sources."ts-node-8.5.4"
       sources."tslib-1.10.0"
       sources."tty-1.0.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.3.1"
       sources."type-is-1.6.18"
-      sources."typescript-3.6.4"
+      sources."typescript-3.7.4"
       sources."unbzip2-stream-1.3.3"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
@@ -46739,8 +47682,8 @@ in
       (sources."vue-cli-plugin-apollo-0.21.3" // {
         dependencies = [
           sources."cross-spawn-7.0.1"
-          sources."deepmerge-4.2.1"
-          sources."execa-3.2.0"
+          sources."deepmerge-4.2.2"
+          sources."execa-3.4.0"
           sources."fs-extra-8.1.0"
           sources."get-stream-5.1.0"
           sources."is-stream-2.0.0"
@@ -46748,19 +47691,19 @@ in
           sources."npm-run-path-4.0.0"
           sources."onetime-5.1.0"
           sources."p-finally-2.0.1"
-          sources."path-key-3.1.0"
+          sources."path-key-3.1.1"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
-          sources."which-2.0.1"
+          sources."which-2.0.2"
         ];
       })
-      sources."vue-jscodeshift-adapter-2.0.2"
+      sources."vue-jscodeshift-adapter-2.0.3"
       (sources."vue-sfc-descriptor-to-string-1.0.0" // {
         dependencies = [
           sources."indent-string-3.2.0"
         ];
       })
-      sources."vue-template-compiler-2.6.10"
+      sources."vue-template-compiler-2.6.11"
       sources."watch-1.0.2"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
@@ -46775,7 +47718,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."ws-6.2.1"
       sources."xdg-basedir-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
@@ -46784,10 +47727,10 @@ in
           sources."commander-1.0.0"
         ];
       })
-      sources."yarn-1.19.1"
+      sources."yarn-1.21.1"
       sources."yauzl-2.10.0"
       sources."yn-3.1.1"
-      sources."zen-observable-0.8.14"
+      sources."zen-observable-0.8.15"
       sources."zen-observable-ts-0.8.20"
     ];
     buildInputs = globalBuildInputs;
@@ -46925,11 +47868,11 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      sources."@babel/generator-7.6.4"
+      sources."@babel/generator-7.7.7"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.4"
-      sources."@babel/template-7.6.0"
-      sources."@babel/types-7.6.3"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -47003,32 +47946,32 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.14.1";
+    version = "1.14.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.14.1.tgz";
-      sha512 = "AbKwsUIrmy4jj6QbQr9QZcDRtmEw1vp+cx9BoX+0KHi+pDu9ZoFFYN1hIkojlnGWzd1R2xZshB/p8LsMyZ1ndw==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.14.5.tgz";
+      sha512 = "zMCw1CCc2sR70pwLMCrSReTBWOHUClV28s7gD83eewkF7VM7e+fsPKtlKMRRzrxnVdzvRWXipZKWU3GjYZi95w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      (sources."@babel/core-7.6.4" // {
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.6.4" // {
+      (sources."@babel/generator-7.7.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helpers-7.6.2"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.4"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.3"
-      sources."@babel/types-7.6.3"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
@@ -47042,13 +47985,14 @@ in
       sources."colors-1.4.0"
       sources."commander-2.20.3"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."debug-4.1.1"
       sources."ejs-2.5.7"
       sources."ensure-posix-path-1.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."esutils-2.0.3"
       sources."fs-extra-5.0.0"
+      sources."function-bind-1.1.1"
       (sources."global-modules-0.2.3" // {
         dependencies = [
           sources."is-windows-0.2.0"
@@ -47062,6 +48006,7 @@ in
       })
       sources."globals-11.12.0"
       sources."graceful-fs-4.2.3"
+      sources."has-1.0.3"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."homedir-polyfill-1.0.3"
@@ -47080,7 +48025,7 @@ in
       sources."minimist-1.2.0"
       sources."moment-2.20.1"
       sources."ms-2.1.2"
-      sources."node.extend-2.0.0"
+      sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
           sources."ansi-styles-1.0.0"
@@ -47090,7 +48035,7 @@ in
       sources."parse-passwd-1.0.0"
       sources."path-parse-1.0.6"
       sources."pkginfo-0.4.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."safe-buffer-5.1.2"
       sources."sax-0.5.8"
       sources."semver-5.7.1"
@@ -47104,7 +48049,7 @@ in
       sources."which-1.3.1"
       sources."xml2js-0.2.8"
       sources."xml2tss-0.0.5"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -47119,21 +48064,21 @@ in
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
-    version = "2.0.1";
+    version = "2.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/asar/-/asar-2.0.1.tgz";
-      sha512 = "Vo9yTuUtyFahkVMFaI6uMuX6N7k5DWa6a/8+7ov0/f8Lq9TVR0tUjzSzxQSxT1Y+RJIZgnP7BVb6Uhi+9cjxqA==";
+      url = "https://registry.npmjs.org/asar/-/asar-2.0.3.tgz";
+      sha512 = "QdHKO+HOYVtE4B/M3up3i4LSJeJgsa2CTVBrjBf9GgLUPGGUFZowcdJ5yE4gOJuRAHNdqB9JFeRfFfaOu5x8Rw==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
       sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."cuint-0.2.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."minimatch-3.0.4"
@@ -47159,17 +48104,17 @@ in
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "1.6.1";
+    version = "1.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.6.1.tgz";
-      sha512 = "i40MhENbRrfGEjhfwacQ0iBMX0WyhYou3AjPXa6C6RMvsuFu5J0LFwY4BjKOF2IFGZPaS6VgcffmfRvmD1TgRA==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.7.0.tgz";
+      sha512 = "7LoZPq2jYPov87LDnoYY5/3KdwTjjUQbQAim9zvRvjV2DI6sku5CKLGmoqaivOyx0Ah8mUWwnvHg/1R+H5N9qg==";
     };
     dependencies = [
-      sources."abab-2.0.2"
+      sources."abab-2.0.3"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
@@ -47180,7 +48125,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -47208,13 +48153,13 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."html-encoding-sniffer-1.0.2"
@@ -47234,24 +48179,24 @@ in
       sources."levn-0.3.0"
       sources."lodash-4.17.15"
       sources."lodash.sortby-4.7.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."parse5-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."pn-1.1.0"
       sources."prelude-ls-1.1.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -47279,12 +48224,12 @@ in
       sources."vscode-languageserver-types-3.14.0"
       sources."vscode-uri-1.0.8"
       sources."w3c-hr-time-1.0.1"
-      sources."web-tree-sitter-0.15.10"
+      sources."web-tree-sitter-0.15.11"
       sources."webidl-conversions-4.0.2"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-6.5.0"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
@@ -47416,10 +48361,10 @@ in
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       (sources."rimraf-2.7.1" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
         ];
       })
       sources."semver-5.7.1"
@@ -47498,7 +48443,7 @@ in
       sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
@@ -47507,10 +48452,9 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."dash-ast-1.0.0"
-      sources."date-now-0.1.4"
       sources."defined-1.0.0"
-      sources."deps-sort-2.0.0"
-      sources."des.js-1.0.0"
+      sources."deps-sort-2.0.1"
+      sources."des.js-1.0.1"
       (sources."detective-5.2.0" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -47519,13 +48463,14 @@ in
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."events-2.1.0"
       sources."evp_bytestokey-1.0.3"
+      sources."fast-safe-stringify-2.0.7"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.7"
@@ -47551,7 +48496,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."module-deps-6.2.1"
+      sources."module-deps-6.2.2"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
@@ -47578,11 +48523,12 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.0"
       sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
+      sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
       sources."simple-concat-1.0.0"
       sources."source-map-0.5.7"
@@ -47619,7 +48565,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
     ];
@@ -47653,7 +48599,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.17.0"
+      sources."@types/node-10.17.11"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.10.2"
@@ -47668,7 +48614,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -47714,7 +48660,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-3.0.2"
+      sources."commander-4.0.1"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -47736,7 +48682,6 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.2.11"
-      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."diveSync-0.3.0"
       sources."dns-js-0.2.1"
@@ -47747,14 +48692,12 @@ in
         ];
       })
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."exit-on-epipe-1.0.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fifo-0.1.4"
       (sources."figures-1.7.0" // {
         dependencies = [
@@ -47773,18 +48716,15 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."got-1.2.2"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-1.0.3"
       sources."has-ansi-1.0.3"
-      sources."has-symbols-1.0.0"
       sources."hat-0.0.3"
       sources."hosted-git-info-2.8.5"
       sources."http-signature-1.2.0"
@@ -47799,11 +48739,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-finite-1.0.2"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-0.0.1"
@@ -47841,8 +48777,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -47857,9 +48793,6 @@ in
       sources."numeral-1.5.6"
       sources."oauth-sign-0.9.0"
       sources."object-assign-1.0.0"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."once-1.4.0"
       sources."open-0.0.5"
       (sources."optimist-0.6.1" // {
@@ -47909,7 +48842,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promiscuous-0.6.0"
       sources."protobufjs-6.8.8"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       (sources."pump-0.3.5" // {
         dependencies = [
           sources."once-1.2.0"
@@ -47953,7 +48886,7 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.7.1"
       sources."router-0.6.2"
       sources."run-parallel-1.1.9"
@@ -47998,8 +48931,6 @@ in
       sources."srt2vtt-1.3.1"
       sources."sshpk-1.16.1"
       sources."stream-transcoder-0.0.5"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string2compact-1.3.0"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-2.0.1"
@@ -48037,7 +48968,6 @@ in
       sources."uri-js-4.2.2"
       sources."utfx-1.0.1"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."utp-0.0.7"
       sources."uuid-3.3.3"
       sources."validate-npm-package-license-3.0.4"
@@ -48053,13 +48983,13 @@ in
           sources."ultron-1.0.2"
         ];
       })
-      (sources."xml2js-0.4.22" // {
+      (sources."xml2js-0.4.23" // {
         dependencies = [
           sources."xmlbuilder-11.0.1"
         ];
       })
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.2"
     ];
@@ -48073,6 +49003,773 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "texlab-citeproc-build-deps-../tools/misc/texlab/citeproc" = nodeEnv.buildNodePackage {
+    name = "citeproc";
+    packageName = "citeproc";
+    version = "0.1.0";
+    src = ../tools/misc/texlab/citeproc;
+    dependencies = [
+      sources."@babel/code-frame-7.5.5"
+      sources."@babel/core-7.7.7"
+      sources."@babel/generator-7.7.7"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
+      sources."@babel/helper-plugin-utils-7.0.0"
+      sources."@babel/helper-regex-7.5.5"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
+      sources."@babel/highlight-7.5.0"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
+      sources."@citation-js/core-0.4.9"
+      sources."@citation-js/date-0.4.4"
+      sources."@citation-js/name-0.4.2"
+      sources."@citation-js/plugin-bibtex-0.4.9"
+      sources."@citation-js/plugin-csl-0.4.10"
+      sources."@types/anymatch-1.3.1"
+      sources."@types/concat-stream-1.6.0"
+      sources."@types/form-data-0.0.33"
+      sources."@types/node-11.15.3"
+      sources."@types/qs-6.9.0"
+      sources."@types/source-list-map-0.1.2"
+      sources."@types/tapable-1.0.4"
+      (sources."@types/uglify-js-3.0.4" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."@types/webpack-4.41.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."@types/webpack-sources-0.1.5" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."@webassemblyjs/ast-1.8.5"
+      sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
+      sources."@webassemblyjs/helper-api-error-1.8.5"
+      sources."@webassemblyjs/helper-buffer-1.8.5"
+      sources."@webassemblyjs/helper-code-frame-1.8.5"
+      sources."@webassemblyjs/helper-fsm-1.8.5"
+      sources."@webassemblyjs/helper-module-context-1.8.5"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.8.5"
+      sources."@webassemblyjs/helper-wasm-section-1.8.5"
+      sources."@webassemblyjs/ieee754-1.8.5"
+      sources."@webassemblyjs/leb128-1.8.5"
+      sources."@webassemblyjs/utf8-1.8.5"
+      sources."@webassemblyjs/wasm-edit-1.8.5"
+      sources."@webassemblyjs/wasm-gen-1.8.5"
+      sources."@webassemblyjs/wasm-opt-1.8.5"
+      sources."@webassemblyjs/wasm-parser-1.8.5"
+      sources."@webassemblyjs/wast-parser-1.8.5"
+      sources."@webassemblyjs/wast-printer-1.8.5"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."acorn-6.4.0"
+      sources."ajv-6.10.2"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.4.1"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      (sources."anymatch-2.0.0" // {
+        dependencies = [
+          sources."normalize-path-2.1.1"
+        ];
+      })
+      sources."aproba-1.2.0"
+      sources."arg-4.1.2"
+      sources."argparse-1.0.10"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-unique-0.3.2"
+      sources."asap-2.0.6"
+      sources."asn1.js-4.10.1"
+      (sources."assert-1.5.0" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."assign-symbols-1.0.0"
+      sources."async-each-1.0.3"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      sources."babel-loader-8.0.6"
+      sources."babel-plugin-dynamic-import-node-2.3.0"
+      sources."babel-polyfill-6.26.0"
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."base64-js-1.3.1"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
+      sources."bluebird-3.7.2"
+      sources."bn.js-4.11.8"
+      sources."brace-expansion-1.1.11"
+      (sources."braces-2.3.2" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."brorand-1.1.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.2"
+      sources."browserify-rsa-4.0.1"
+      sources."browserify-sign-4.0.4"
+      sources."browserify-zlib-0.2.0"
+      sources."browserslist-4.8.2"
+      sources."buffer-4.9.2"
+      sources."buffer-from-1.1.1"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-modules-1.1.1"
+      sources."builtin-status-codes-3.0.0"
+      sources."cacache-12.0.3"
+      sources."cache-base-1.0.1"
+      sources."camelcase-5.3.1"
+      sources."caniuse-lite-1.0.30001016"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."chokidar-2.1.8"
+      sources."chownr-1.1.3"
+      sources."chrome-trace-event-1.0.2"
+      sources."cipher-base-1.0.4"
+      sources."citeproc-2.2.30"
+      (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"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."console-browserify-1.2.0"
+      sources."constants-browserify-1.0.0"
+      sources."convert-source-map-1.7.0"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.0" // {
+        dependencies = [
+          sources."semver-7.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      sources."create-ecdh-4.0.3"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."cross-spawn-6.0.5"
+      sources."crypto-browserify-3.12.0"
+      sources."cyclist-1.0.1"
+      sources."debug-4.1.1"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      sources."delayed-stream-1.0.0"
+      sources."des.js-1.0.1"
+      sources."detect-file-1.0.0"
+      sources."diff-4.0.1"
+      sources."diffie-hellman-5.0.3"
+      sources."domain-browser-1.2.0"
+      sources."duplexify-3.7.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
+      sources."emoji-regex-7.0.3"
+      sources."emojis-list-2.1.0"
+      sources."encoding-0.1.12"
+      sources."end-of-stream-1.4.4"
+      sources."enhanced-resolve-4.1.1"
+      sources."errno-0.1.7"
+      sources."escape-string-regexp-1.0.5"
+      sources."eslint-scope-4.0.3"
+      sources."esprima-4.0.1"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.3.0"
+      sources."esutils-2.0.3"
+      sources."events-3.0.0"
+      sources."evp_bytestokey-1.0.3"
+      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."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."expand-tilde-2.0.2"
+      (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."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."figgy-pudding-3.5.1"
+      sources."file-uri-to-path-1.0.0"
+      (sources."fill-range-4.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."find-cache-dir-2.1.0"
+      sources."find-up-3.0.0"
+      sources."findup-sync-3.0.0"
+      sources."flush-write-stream-1.1.1"
+      sources."for-in-1.0.2"
+      sources."form-data-2.5.1"
+      sources."fragment-cache-0.2.1"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.11"
+      sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
+      sources."get-port-3.2.0"
+      sources."get-stream-4.1.0"
+      sources."get-value-2.0.6"
+      sources."glob-7.1.6"
+      (sources."glob-parent-3.1.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
+      (sources."global-modules-2.0.0" // {
+        dependencies = [
+          sources."global-prefix-3.0.0"
+        ];
+      })
+      sources."global-prefix-1.0.2"
+      sources."globals-11.12.0"
+      sources."graceful-fs-4.2.3"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.1"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."hash-base-3.0.4"
+      sources."hash.js-1.1.7"
+      sources."hmac-drbg-1.0.1"
+      sources."homedir-polyfill-1.0.3"
+      (sources."http-basic-6.0.0" // {
+        dependencies = [
+          sources."@types/node-7.10.9"
+        ];
+      })
+      (sources."http-response-object-3.0.2" // {
+        dependencies = [
+          sources."@types/node-10.17.11"
+        ];
+      })
+      sources."https-browserify-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.1.13"
+      sources."iferr-0.1.5"
+      sources."import-local-2.0.0"
+      sources."imurmurhash-0.1.4"
+      sources."infer-owner-1.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."interpret-1.2.0"
+      sources."invariant-2.2.4"
+      sources."invert-kv-2.0.0"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-0.1.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" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."is-plain-object-2.0.4"
+      sources."is-stream-1.1.0"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      sources."isomorphic-fetch-2.2.1"
+      sources."js-levenshtein-1.1.6"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.13.1"
+      sources."jsesc-2.5.2"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-0.4.1"
+      sources."json5-2.1.1"
+      sources."kind-of-6.0.2"
+      sources."lcid-2.0.0"
+      sources."loader-runner-2.4.0"
+      (sources."loader-utils-1.2.3" // {
+        dependencies = [
+          sources."json5-1.0.1"
+        ];
+      })
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."loose-envify-1.4.0"
+      sources."lru-cache-5.1.1"
+      sources."make-dir-2.1.0"
+      sources."make-error-1.3.5"
+      sources."mamacro-0.0.3"
+      sources."map-age-cleaner-0.1.3"
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."md5.js-1.3.5"
+      sources."mem-4.3.0"
+      sources."memory-fs-0.5.0"
+      sources."micromatch-3.1.10"
+      sources."miller-rabin-4.0.1"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-2.1.0"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."mississippi-3.0.0"
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."move-concurrently-1.0.1"
+      sources."ms-2.1.2"
+      sources."nan-2.14.0"
+      sources."nanomatch-1.2.13"
+      sources."neo-async-2.6.1"
+      sources."nice-try-1.0.5"
+      sources."node-fetch-1.7.3"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      (sources."node-releases-1.1.43" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."normalize-path-3.0.0"
+      sources."npm-run-path-2.0.2"
+      sources."null-loader-0.1.1"
+      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-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
+      sources."object.pick-1.3.0"
+      sources."once-1.4.0"
+      sources."os-browserify-0.3.0"
+      sources."os-locale-3.1.0"
+      sources."p-defer-1.0.0"
+      sources."p-finally-1.0.0"
+      sources."p-is-promise-2.1.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.10"
+      sources."parallel-transform-1.2.0"
+      sources."parse-asn1-5.1.5"
+      sources."parse-cache-control-1.0.1"
+      sources."parse-passwd-1.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-0.0.1"
+      sources."path-dirname-1.0.2"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      sources."pbkdf2-3.0.17"
+      sources."pify-4.0.1"
+      sources."pkg-dir-3.0.0"
+      sources."posix-character-classes-0.1.1"
+      sources."prettier-1.19.1"
+      sources."private-0.1.8"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."promise-8.0.3"
+      sources."promise-inflight-1.0.1"
+      sources."prr-1.0.1"
+      sources."public-encrypt-4.0.3"
+      sources."pump-3.0.0"
+      (sources."pumpify-1.5.1" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-2.1.1"
+      sources."qs-6.9.1"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      sources."randombytes-2.1.0"
+      sources."randomfill-1.0.4"
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.2.1"
+      sources."regenerate-1.4.0"
+      sources."regenerate-unicode-properties-8.1.0"
+      sources."regenerator-runtime-0.10.5"
+      sources."regenerator-transform-0.14.1"
+      sources."regex-not-1.0.2"
+      sources."regexpu-core-4.6.0"
+      sources."regjsgen-0.5.1"
+      (sources."regjsparser-0.6.1" // {
+        dependencies = [
+          sources."jsesc-0.5.0"
+        ];
+      })
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.14.1"
+      sources."resolve-cwd-2.0.0"
+      (sources."resolve-dir-1.0.1" // {
+        dependencies = [
+          sources."global-modules-1.0.0"
+        ];
+      })
+      sources."resolve-from-3.0.0"
+      sources."resolve-url-0.2.1"
+      sources."ret-0.1.15"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."run-queue-1.0.3"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."schema-utils-1.0.0"
+      sources."semver-5.7.1"
+      sources."serialize-javascript-2.1.2"
+      sources."set-blocking-2.0.0"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."setimmediate-1.0.5"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      (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."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-list-map-2.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.2"
+      (sources."source-map-support-0.5.16" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."source-map-url-0.4.0"
+      sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
+      sources."ssri-6.0.1"
+      (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-browserify-2.0.2"
+      sources."stream-each-1.2.3"
+      sources."stream-http-2.8.3"
+      sources."stream-shift-1.0.1"
+      sources."string-width-3.1.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-5.2.0"
+      sources."strip-eof-1.0.0"
+      sources."supports-color-5.5.0"
+      sources."sync-request-5.0.0"
+      sources."sync-rpc-1.3.4"
+      sources."tapable-1.1.3"
+      (sources."terser-4.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."terser-webpack-plugin-1.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."then-request-5.0.0" // {
+        dependencies = [
+          sources."@types/node-8.10.59"
+        ];
+      })
+      sources."through2-2.0.5"
+      sources."timers-browserify-2.0.11"
+      sources."to-arraybuffer-1.0.1"
+      sources."to-fast-properties-2.0.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."ts-loader-5.4.5"
+      sources."ts-node-8.5.4"
+      sources."tslib-1.10.0"
+      sources."tslint-5.20.1"
+      sources."tslint-config-prettier-1.18.0"
+      sources."tsutils-2.29.0"
+      sources."tty-browserify-0.0.0"
+      sources."typedarray-0.0.6"
+      sources."unicode-canonical-property-names-ecmascript-1.0.4"
+      sources."unicode-match-property-ecmascript-1.0.4"
+      sources."unicode-match-property-value-ecmascript-1.1.0"
+      sources."unicode-property-aliases-ecmascript-1.0.5"
+      sources."union-value-1.0.1"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.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."uri-js-4.2.2"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."use-3.1.1"
+      (sources."util-0.11.1" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."v8-compile-cache-2.0.3"
+      sources."vm-browserify-1.1.2"
+      sources."watchpack-1.6.0"
+      (sources."webpack-4.41.4" // {
+        dependencies = [
+          sources."memory-fs-0.4.1"
+        ];
+      })
+      (sources."webpack-cli-3.3.10" // {
+        dependencies = [
+          sources."enhanced-resolve-4.1.0"
+          sources."memory-fs-0.4.1"
+          sources."supports-color-6.1.0"
+        ];
+      })
+      (sources."webpack-sources-1.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."whatwg-fetch-3.0.0"
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      sources."worker-farm-1.7.0"
+      sources."wrap-ansi-5.1.0"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yallist-3.1.1"
+      sources."yargs-13.2.4"
+      sources."yargs-parser-13.1.1"
+      sources."yn-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Render BibTeX citations";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   clean-css = nodeEnv.buildNodePackage {
     name = "clean-css";
     packageName = "clean-css";
@@ -48166,10 +49863,10 @@ in
   configurable-http-proxy = nodeEnv.buildNodePackage {
     name = "configurable-http-proxy";
     packageName = "configurable-http-proxy";
-    version = "4.1.0";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.1.0.tgz";
-      sha512 = "HwWCWql35j7EIp29mO4yRAxPH+Z2t2gwsLk3RLr6wktYjRacy0S83sG4RBDNfbfyLqJeZxFgMoKaCC/bTNxoWA==";
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.2.0.tgz";
+      sha512 = "6rlW+nPl22mxAvQB67DkatkSfUNr5qEAmKyn0TJtSEy49kJ3W7v4oiHH9Y0Au6F7ACjAB2nOCZpP885MYwfuoQ==";
     };
     dependencies = [
       sources."async-2.6.3"
@@ -48180,17 +49877,17 @@ in
       sources."colornames-1.1.1"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
-      sources."commander-2.19.0"
+      sources."commander-4.0.1"
       sources."core-util-is-1.0.2"
       sources."debug-3.2.6"
       sources."diagnostics-1.1.1"
       sources."enabled-1.0.2"
       sources."env-variable-0.0.5"
-      sources."eventemitter3-3.1.2"
+      sources."eventemitter3-4.0.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fecha-2.3.3"
       sources."follow-redirects-1.9.0"
-      sources."http-proxy-1.17.0"
+      sources."http-proxy-1.18.0"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
       sources."is-stream-1.1.0"
@@ -48247,7 +49944,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ajv-6.10.2"
@@ -48271,7 +49968,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -48280,7 +49977,7 @@ in
       })
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."big-integer-1.6.47"
+      sources."big-integer-1.6.48"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."bytes-3.1.0"
@@ -48341,7 +50038,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."cordova-app-hello-world-4.0.0"
-      sources."cordova-common-3.2.0"
+      sources."cordova-common-3.2.1"
       (sources."cordova-create-2.0.0" // {
         dependencies = [
           sources."fs-extra-7.0.1"
@@ -48368,7 +50065,7 @@ in
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."dedent-0.7.0"
-      sources."deep-equal-1.0.1"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
@@ -48393,8 +50090,8 @@ in
       sources."end-of-stream-1.4.4"
       sources."endent-1.3.0"
       sources."env-paths-1.0.0"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
@@ -48435,7 +50132,7 @@ in
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
       sources."fast-json-parse-1.0.3"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -48457,7 +50154,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -48480,7 +50177,7 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -48496,7 +50193,7 @@ in
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
@@ -48513,11 +50210,12 @@ in
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
+      sources."is-arguments-1.0.4"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
@@ -48535,10 +50233,10 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
       sources."is-windows-1.0.2"
@@ -48573,8 +50271,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -48590,6 +50288,7 @@ in
       sources."nice-try-1.0.5"
       sources."nopt-4.0.1"
       sources."normalize-package-data-2.5.0"
+      sources."npm-normalize-package-bin-1.0.1"
       sources."npm-package-arg-6.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -48606,9 +50305,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
+      sources."object.assign-4.1.0"
       sources."object.pick-1.3.0"
       sources."objectorarray-1.0.3"
       sources."on-finished-2.3.0"
@@ -48649,7 +50350,7 @@ in
       sources."promzard-0.3.0"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
@@ -48667,12 +50368,9 @@ in
           sources."pify-4.0.1"
         ];
       })
-      (sources."read-package-json-2.1.0" // {
-        dependencies = [
-          sources."slash-1.0.0"
-        ];
-      })
+      sources."read-package-json-2.1.1"
       sources."regex-not-1.0.2"
+      sources."regexp.prototype.flags-1.3.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."repeat-element-1.1.3"
@@ -48684,7 +50382,7 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.11.1"
+      sources."resolve-1.13.1"
       sources."resolve-from-4.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -48774,9 +50472,9 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trim-1.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trim-1.2.1"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -48786,7 +50484,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."tape-4.11.0"
+      sources."tape-4.12.0"
       (sources."term-size-1.2.0" // {
         dependencies = [
           sources."cross-spawn-5.1.0"
@@ -48845,7 +50543,7 @@ in
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."windows-release-3.2.0"
-      (sources."with-open-file-0.1.6" // {
+      (sources."with-open-file-0.1.7" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
@@ -48854,7 +50552,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -48870,10 +50568,10 @@ in
   cpy-cli = nodeEnv.buildNodePackage {
     name = "cpy-cli";
     packageName = "cpy-cli";
-    version = "2.0.0";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-2.0.0.tgz";
-      sha512 = "LzrtY3lBWvFZcw4lXgkEbbDUd7y78juC3C5l7gj3UyezMEZF0Be9fjCVLN1HoZAzdMDeC3KHehWpHBJvgVAPkw==";
+      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-3.0.0.tgz";
+      sha512 = "fxNNpGrnuVMbaDBpHdgwReMy48BelhAoS6OUUX6Zv5nMwSPZOMxL/kB5VxM9xQoB1vvw38zG9drLRS8gvavxeg==";
     };
     dependencies = [
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -48881,7 +50579,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -48889,7 +50587,7 @@ in
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
-      sources."arrify-1.0.1"
+      sources."arrify-2.0.1"
       sources."assign-symbols-1.0.0"
       sources."atob-2.1.2"
       sources."balanced-match-1.0.0"
@@ -48929,8 +50627,8 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."copy-descriptor-0.1.1"
-      sources."cp-file-6.2.0"
-      sources."cpy-7.3.0"
+      sources."cp-file-7.0.0"
+      sources."cpy-8.0.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
@@ -48983,7 +50681,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -49022,6 +50720,7 @@ in
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."json-parse-better-errors-1.0.2"
+      sources."junk-3.1.0"
       sources."kind-of-6.0.2"
       (sources."load-json-file-4.0.0" // {
         dependencies = [
@@ -49030,7 +50729,7 @@ in
       })
       sources."locate-path-2.0.0"
       sources."loud-rejection-1.6.0"
-      sources."make-dir-2.1.0"
+      sources."make-dir-3.0.0"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
       sources."map-visit-1.0.0"
@@ -49038,7 +50737,11 @@ in
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
       sources."minimatch-3.0.4"
-      sources."minimist-options-3.0.2"
+      (sources."minimist-options-3.0.2" // {
+        dependencies = [
+          sources."arrify-1.0.1"
+        ];
+      })
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
@@ -49047,7 +50750,11 @@ in
       sources."ms-2.0.0"
       sources."nanomatch-1.2.13"
       sources."nested-error-stacks-2.1.0"
-      sources."normalize-package-data-2.5.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -49064,8 +50771,13 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
+      sources."p-all-2.1.0"
+      sources."p-event-4.1.0"
+      sources."p-finally-1.0.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
+      sources."p-map-2.1.0"
+      sources."p-timeout-2.0.1"
       sources."p-try-1.0.0"
       sources."parse-json-4.0.0"
       sources."pascalcase-0.1.1"
@@ -49087,12 +50799,11 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      sources."safe-buffer-5.2.0"
       sources."safe-regex-1.1.0"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -49209,7 +50920,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.1"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -49238,7 +50949,7 @@ in
       sources."d-1.0.1"
       sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -49246,9 +50957,14 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-1.0.5"
       sources."event-emitter-0.3.5"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       sources."external-editor-2.2.0"
       sources."figures-2.0.0"
@@ -49279,8 +50995,8 @@ in
       sources."lru-cache-4.1.5"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.0"
       sources."ms-2.1.2"
@@ -49292,7 +51008,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."quicktask-1.1.0"
       sources."raf-3.3.2"
       sources."readable-stream-2.3.6"
@@ -49346,10 +51062,10 @@ in
   create-react-app = nodeEnv.buildNodePackage {
     name = "create-react-app";
     packageName = "create-react-app";
-    version = "3.2.0";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.2.0.tgz";
-      sha512 = "BWbSreHNhZbSStkvLrEepjVuNp7ooKOiO7amoezEZPAac2H0MxBhzUIazto9OT7fZkcaRNubDuHKxGcxqlIwRA==";
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.3.0.tgz";
+      sha512 = "yheXb68YkLCHD+INCHB4f8/3hyet4psVpSyieiPHemIbGbbYl085n22vECIRcjoF043qyP70Cg4WWBiSIx1mWw==";
     };
     dependencies = [
       sources."ansi-escapes-3.2.0"
@@ -49376,7 +51092,7 @@ in
       })
       sources."debug-2.6.9"
       sources."duplexer2-0.0.2"
-      sources."envinfo-7.3.1"
+      sources."envinfo-7.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."external-editor-3.1.0"
       sources."figures-2.0.0"
@@ -49384,7 +51100,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."hyperquest-2.1.3"
@@ -49482,7 +51198,7 @@ in
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."cross-spawn-5.1.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs-extra-4.0.3"
@@ -49574,7 +51290,7 @@ in
       sources."atob-2.1.2"
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -49684,7 +51400,6 @@ in
       sources."decompress-response-4.2.1"
       sources."deep-equal-0.2.2"
       sources."deep-extend-0.6.0"
-      sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."diffy-2.1.0"
@@ -49716,8 +51431,6 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       (sources."expand-brackets-2.1.4" // {
@@ -49756,8 +51469,12 @@ in
       sources."eyes-0.1.8"
       sources."fast-bitfield-1.2.2"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."fd-lock-1.0.2"
+      sources."fast-json-stable-stringify-2.1.0"
+      (sources."fd-lock-1.0.2" // {
+        dependencies = [
+          sources."napi-macros-1.8.2"
+        ];
+      })
       sources."fd-read-stream-1.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
@@ -49766,27 +51483,23 @@ in
         ];
       })
       sources."flat-tree-1.6.0"
-      sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."global-4.3.2"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -49820,14 +51533,12 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."inspect-custom-symbol-1.1.0"
+      sources."inspect-custom-symbol-1.1.1"
       sources."ip-1.1.5"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-2.0.0"
@@ -49844,11 +51555,9 @@ in
       sources."is-path-inside-1.0.1"
       sources."is-plain-object-2.0.4"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-string-1.0.5"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
@@ -49889,8 +51598,8 @@ in
       sources."merkle-tree-stream-3.0.3"
       sources."micromatch-3.1.10"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
@@ -49915,11 +51624,11 @@ in
       sources."nan-2.14.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-4.4.0"
-      sources."nanoguard-1.2.1"
+      sources."nanoguard-1.2.2"
       sources."nanomatch-1.2.13"
       sources."nanoscheduler-1.0.3"
       sources."nanotiming-7.3.1"
-      sources."napi-macros-1.8.2"
+      sources."napi-macros-2.0.0"
       sources."ncp-1.0.1"
       sources."neat-input-1.10.0"
       sources."neat-log-3.1.0"
@@ -49944,15 +51653,13 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."parse-headers-2.0.2"
+      sources."parse-headers-2.0.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -49974,7 +51681,7 @@ in
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -50061,7 +51768,7 @@ in
       sources."sodium-javascript-0.5.5"
       (sources."sodium-native-2.4.6" // {
         dependencies = [
-          sources."node-gyp-build-4.1.1"
+          sources."node-gyp-build-4.2.0"
         ];
       })
       sources."sodium-universal-2.0.0"
@@ -50100,11 +51807,8 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string-width-2.1.1"
-      sources."string.prototype.trim-1.2.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -50174,8 +51878,9 @@ in
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      (sources."utp-native-2.1.4" // {
+      (sources."utp-native-2.1.5" // {
         dependencies = [
+          sources."node-gyp-build-4.2.0"
           sources."readable-stream-3.4.0"
           sources."unordered-set-2.0.1"
         ];
@@ -50196,7 +51901,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
       sources."xhr-2.5.0"
-      sources."xsalsa20-1.0.2"
+      sources."xsalsa20-1.1.0"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
     ];
@@ -50302,8 +52007,8 @@ in
       sources."merge-descriptors-0.0.2"
       sources."methods-1.1.2"
       sources."mime-1.2.11"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.10"
       sources."ms-0.7.0"
       sources."nan-2.14.0"
@@ -50420,10 +52125,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.15.4";
+    version = "6.16.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.15.4.tgz";
-      sha512 = "IN2+A+39FDlJIaMfnn4zrWIR5cObI8UdW5+YHbwwhE/LXQMBOtTXLYEUQL0UxrGuAo6ZMbtU1HZyvR206OWcFQ==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.16.2.tgz";
+      sha512 = "TCZHo+lRPCyhM16WIxn8hiavYj0784kFHhsZTCyCUD8BghjEKMqE/trKaUK6VTkB+1uOpgqdWQPrR5jHkHeUxw==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -50432,9 +52137,9 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.556.0"
+      sources."aws-sdk-2.595.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-4.9.1"
@@ -50448,12 +52153,13 @@ in
       sources."delay-4.3.0"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
+      sources."end-of-stream-1.4.4"
       sources."eventemitter3-4.0.0"
       sources."events-1.1.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
@@ -50480,17 +52186,19 @@ in
       sources."jsprim-1.4.1"
       sources."lodash-4.17.15"
       sources."lossless-json-1.0.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.10"
       sources."oauth-sign-0.9.0"
+      sources."once-1.4.0"
       sources."optimist-0.6.1"
       sources."p-finally-1.0.0"
-      sources."p-queue-6.2.0"
+      sources."p-queue-6.2.1"
       sources."p-timeout-3.2.0"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
+      sources."pump-3.0.0"
       sources."punycode-1.3.2"
       sources."qs-6.5.2"
       sources."querystring-0.2.0"
@@ -50540,6 +52248,7 @@ in
       sources."verror-1.10.0"
       sources."when-3.7.8"
       sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
     ];
@@ -50623,12 +52332,12 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."conf-1.4.0"
-      (sources."convert-source-map-1.6.0" // {
+      (sources."convert-source-map-1.7.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."cross-spawn-5.1.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-2.6.9"
@@ -50740,7 +52449,7 @@ in
       sources."private-0.1.8"
       sources."prop-types-15.7.2"
       sources."pseudomap-1.0.2"
-      sources."react-is-16.11.0"
+      sources."react-is-16.12.0"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-1.0.1" // {
         dependencies = [
@@ -50756,7 +52465,7 @@ in
       sources."regenerator-runtime-0.11.1"
       sources."repeating-2.0.1"
       sources."require-from-string-1.2.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
       sources."safe-buffer-5.2.0"
@@ -50833,10 +52542,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "6.6.0";
+    version = "6.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz";
-      sha512 = "PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+      sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
@@ -50844,8 +52553,8 @@ in
       sources."acorn-7.1.0"
       sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
-      sources."ansi-escapes-4.2.1"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."astral-regex-1.0.0"
@@ -50880,7 +52589,7 @@ in
       sources."esutils-2.0.3"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."figures-3.1.0"
       sources."file-entry-cache-5.0.1"
@@ -50888,17 +52597,17 @@ in
       sources."flatted-2.0.1"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
-      sources."globals-11.12.0"
+      sources."globals-12.3.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-7.0.0"
+      sources."inquirer-7.0.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -50920,7 +52629,7 @@ in
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
       sources."onetime-5.1.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-tmpdir-1.0.2"
       sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
@@ -50945,8 +52654,16 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.1.0"
-      sources."strip-ansi-5.2.0"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
       sources."strip-json-comments-3.0.1"
       sources."supports-color-5.5.0"
       (sources."table-5.4.6" // {
@@ -50961,11 +52678,11 @@ in
       sources."tmp-0.0.33"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."uri-js-4.2.2"
       sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
     ];
@@ -50993,8 +52710,8 @@ in
       sources."acorn-7.1.0"
       sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
-      sources."ansi-escapes-4.2.1"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-escapes-4.3.0"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."astral-regex-1.0.0"
@@ -51019,7 +52736,7 @@ in
       sources."doctrine-3.0.0"
       sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-6.6.0"
+      sources."eslint-6.8.0"
       sources."eslint-scope-5.0.0"
       sources."eslint-utils-1.4.3"
       sources."eslint-visitor-keys-1.1.0"
@@ -51031,7 +52748,7 @@ in
       sources."esutils-2.0.3"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."figures-3.1.0"
       sources."file-entry-cache-5.0.1"
@@ -51039,17 +52756,17 @@ in
       sources."flatted-2.0.1"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
-      sources."globals-11.12.0"
+      sources."globals-12.3.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
-      sources."import-fresh-3.1.0"
+      sources."import-fresh-3.2.1"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-7.0.0"
+      sources."inquirer-7.0.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -51072,7 +52789,7 @@ in
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
       sources."onetime-5.1.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-tmpdir-1.0.2"
       sources."parent-module-1.0.1"
       sources."path-is-absolute-1.0.1"
@@ -51082,7 +52799,7 @@ in
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-2.6.3"
@@ -51099,8 +52816,16 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.1.0"
-      sources."strip-ansi-5.2.0"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
       sources."strip-json-comments-3.0.1"
       sources."supports-color-5.5.0"
       (sources."table-5.4.6" // {
@@ -51115,11 +52840,11 @@ in
       sources."tmp-0.0.33"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."uri-js-4.2.2"
       sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
     ];
@@ -51151,7 +52876,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-from-1.1.1"
       sources."camelcase-2.1.1"
@@ -51180,7 +52905,7 @@ in
       sources."extract-zip-1.6.7"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.0.1"
       sources."find-up-1.1.2"
       sources."forever-agent-0.6.1"
@@ -51226,8 +52951,8 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -51267,7 +52992,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-1.1.8"
       sources."promise-phantom-3.1.6"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."read-pkg-1.1.0"
@@ -51277,7 +53002,7 @@ in
       sources."repeating-2.0.1"
       sources."request-2.88.0"
       sources."request-progress-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -51455,7 +53180,7 @@ in
       sources."read-pkg-up-3.0.0"
       sources."readable-stream-2.3.6"
       sources."redent-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."run-async-2.3.0"
       sources."rxjs-6.5.3"
@@ -51537,6 +53262,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
       (sources."broadway-0.3.6" // {
@@ -51586,7 +53312,7 @@ in
       sources."cycle-1.0.3"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-2.0.1"
       sources."define-properties-1.1.3"
       (sources."define-property-2.0.2" // {
         dependencies = [
@@ -51595,6 +53321,9 @@ in
       })
       sources."defined-0.0.0"
       sources."director-1.2.7"
+      sources."es-abstract-1.17.0"
+      sources."es-get-iterator-1.0.2"
+      sources."es-to-primitive-1.2.1"
       (sources."event-stream-0.5.3" // {
         dependencies = [
           sources."optimist-0.2.8"
@@ -51610,6 +53339,7 @@ in
       })
       sources."extglob-0.3.2"
       sources."eyes-0.1.8"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       (sources."flatiron-0.4.3" // {
@@ -51626,14 +53356,15 @@ in
       })
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -51659,14 +53390,17 @@ in
         ];
       })
       sources."is-arguments-1.0.4"
+      sources."is-bigint-1.0.0"
       sources."is-binary-path-1.0.1"
+      sources."is-boolean-object-1.0.1"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.1.5"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -51677,7 +53411,9 @@ in
       sources."is-extendable-0.1.1"
       sources."is-extglob-1.0.0"
       sources."is-glob-2.0.1"
+      sources."is-map-2.0.1"
       sources."is-number-2.1.0"
+      sources."is-number-object-1.0.4"
       (sources."is-plain-object-2.0.4" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -51685,10 +53421,19 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-set-2.0.1"
+      sources."is-string-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."is-weakmap-2.0.1"
+      sources."is-weakset-2.0.1"
       sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
-      sources."isobject-2.1.0"
+      sources."isarray-2.0.5"
+      (sources."isobject-2.1.0" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+        ];
+      })
       sources."isstream-0.1.2"
       sources."jsonify-0.0.0"
       sources."kind-of-3.2.2"
@@ -51741,13 +53486,15 @@ in
           })
         ];
       })
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
+      sources."object.assign-4.1.0"
       sources."object.omit-2.0.1"
       (sources."object.pick-1.3.0" // {
         dependencies = [
@@ -51782,7 +53529,11 @@ in
         ];
       })
       sources."read-1.0.7"
-      sources."readable-stream-2.3.6"
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+        ];
+      })
       (sources."readdirp-2.2.1" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -51836,7 +53587,7 @@ in
       })
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
@@ -51853,6 +53604,7 @@ in
         ];
       })
       sources."shush-1.0.0"
+      sources."side-channel-1.0.2"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -51900,6 +53652,8 @@ in
           sources."kind-of-5.1.0"
         ];
       })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-json-comments-0.1.3"
       (sources."tape-2.3.3" // {
@@ -51924,6 +53678,7 @@ in
             ];
           })
           sources."has-values-0.1.4"
+          sources."isarray-1.0.0"
           sources."isobject-3.0.1"
         ];
       })
@@ -51937,6 +53692,8 @@ in
           sources."ncp-1.0.1"
         ];
       })
+      sources."which-boxed-primitive-1.0.1"
+      sources."which-collection-1.0.0"
       sources."winston-0.8.3"
       sources."wordwrap-0.0.3"
       sources."wrappy-1.0.2"
@@ -51967,7 +53724,7 @@ in
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.1.2"
-      sources."simple-git-1.126.0"
+      sources."simple-git-1.129.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -52005,8 +53762,9 @@ in
       sources."git-packidx-parser-1.0.0"
       sources."git-remote-ssb-2.0.4"
       sources."git-ssb-web-2.8.0"
+      sources."handlebars-4.5.3"
       sources."hashlru-2.3.0"
-      sources."highlight.js-9.15.10"
+      sources."highlight.js-9.17.1"
       sources."increment-buffer-1.0.1"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -52026,9 +53784,9 @@ in
       sources."lodash.get-4.4.2"
       sources."looper-4.0.0"
       sources."lrucache-1.0.3"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."minimist-1.2.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimist-0.0.10"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -52041,18 +53799,20 @@ in
       sources."multiserver-3.6.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.4.2"
+      sources."muxrpc-6.4.8"
       sources."nan-2.14.0"
       sources."nearley-2.19.0"
-      sources."node-gyp-build-4.1.1"
+      sources."neo-async-2.6.1"
+      sources."node-gyp-build-4.2.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-1.4.4"
+      sources."optimist-0.6.1"
       sources."options-0.0.6"
       sources."os-homedir-1.0.2"
       sources."packet-stream-2.0.4"
       sources."packet-stream-codec-1.1.2"
       sources."pako-1.0.10"
-      sources."private-box-0.3.0"
+      sources."private-box-0.3.1"
       sources."progress-1.1.8"
       sources."pull-block-filter-1.0.0"
       sources."pull-box-stream-1.0.13"
@@ -52100,7 +53860,11 @@ in
       sources."pull-ws-3.3.2"
       sources."railroad-diagrams-1.0.0"
       sources."randexp-0.4.6"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."relative-url-1.0.2"
       sources."remove-markdown-0.1.0"
       sources."ret-0.1.15"
@@ -52109,8 +53873,8 @@ in
       sources."semver-5.7.1"
       sources."separator-escape-0.0.0"
       sources."sha.js-2.4.5"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -52120,12 +53884,13 @@ in
       })
       sources."sodium-chloride-1.1.2"
       sources."sodium-native-2.4.6"
+      sources."source-map-0.6.1"
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
       sources."ssb-caps-1.1.0"
-      (sources."ssb-client-4.7.8" // {
+      (sources."ssb-client-4.7.9" // {
         dependencies = [
-          sources."ssb-config-3.4.2"
+          sources."ssb-config-3.4.3"
         ];
       })
       sources."ssb-config-2.3.9"
@@ -52156,7 +53921,9 @@ in
       sources."through-2.2.7"
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
+      sources."uglify-js-3.7.2"
       sources."ultron-1.0.2"
+      sources."wordwrap-0.0.3"
       sources."ws-1.1.5"
       sources."xtend-4.0.2"
     ];
@@ -52188,6 +53955,298 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  gitmoji-cli = nodeEnv.buildNodePackage {
+    name = "gitmoji-cli";
+    packageName = "gitmoji-cli";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.0.0.tgz";
+      sha512 = "eRb/bUvC5E5TXSD0/A6DJffPP+g7gcpn572XhC/sQnWW0B3fopeegldE++pM2bfKuUGGsObRThsbuU5NqR8P9Q==";
+    };
+    dependencies = [
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/color-name-1.1.1"
+      sources."ajv-6.10.2"
+      (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-4.3.0"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-find-index-1.0.2"
+      sources."arrify-1.0.1"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."camelcase-5.3.1"
+          sources."emoji-regex-7.0.3"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-3.1.0"
+          sources."type-fest-0.3.1"
+        ];
+      })
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."camelcase-4.1.0"
+      sources."camelcase-keys-4.2.0"
+      sources."chalk-2.4.2"
+      sources."chardet-0.7.0"
+      sources."ci-info-2.0.0"
+      sources."cli-boxes-2.2.0"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.2.0"
+      sources."cli-width-2.2.0"
+      sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."conf-6.2.0"
+      (sources."configstore-4.0.0" // {
+        dependencies = [
+          sources."dot-prop-4.2.0"
+          sources."is-obj-1.0.1"
+          sources."make-dir-1.3.0"
+          sources."write-file-atomic-2.4.3"
+        ];
+      })
+      sources."cross-spawn-7.0.1"
+      sources."crypto-random-string-1.0.0"
+      sources."currently-unhandled-0.4.1"
+      sources."debounce-fn-3.0.1"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."defaults-1.0.3"
+      sources."defer-to-connect-1.1.1"
+      sources."dot-prop-5.2.0"
+      sources."duplexer3-0.1.4"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."env-paths-2.2.0"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."execa-3.4.0"
+      sources."external-editor-3.1.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."figures-3.1.0"
+      sources."find-up-3.0.0"
+      sources."get-stream-5.1.0"
+      sources."global-dirs-0.1.1"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
+      sources."graceful-fs-4.2.3"
+      sources."has-flag-3.0.0"
+      sources."has-yarn-2.1.0"
+      sources."hosted-git-info-2.8.5"
+      sources."http-cache-semantics-4.0.3"
+      sources."human-signals-1.1.1"
+      sources."iconv-lite-0.4.24"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-3.2.0"
+      sources."ini-1.3.5"
+      sources."inquirer-7.0.1"
+      (sources."inquirer-autocomplete-prompt-1.0.1" // {
+        dependencies = [
+          sources."ansi-escapes-3.2.0"
+          sources."figures-2.0.0"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-ci-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-installed-globally-0.1.0"
+      sources."is-interactive-1.0.0"
+      sources."is-npm-3.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-promise-2.1.0"
+      sources."is-stream-2.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."is-yarn-global-0.3.0"
+      sources."isexe-2.0.0"
+      sources."json-buffer-3.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-typed-7.0.3"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
+      sources."load-json-file-4.0.0"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.15"
+      sources."log-symbols-3.0.0"
+      sources."loud-rejection-1.6.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.5"
+      sources."make-dir-3.0.0"
+      sources."map-obj-2.0.0"
+      sources."meow-5.0.0"
+      sources."merge-stream-2.0.0"
+      sources."mimic-fn-2.1.0"
+      sources."mimic-response-1.0.1"
+      sources."minimist-1.2.0"
+      sources."minimist-options-3.0.2"
+      sources."mute-stream-0.0.8"
+      sources."node-fetch-2.6.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."normalize-url-4.5.0"
+      sources."npm-run-path-4.0.0"
+      sources."once-1.4.0"
+      sources."onetime-5.1.0"
+      (sources."ora-4.0.3" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."chalk-3.0.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."strip-ansi-6.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
+      sources."os-tmpdir-1.0.2"
+      sources."p-cancelable-1.1.0"
+      sources."p-finally-2.0.1"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
+      sources."package-json-6.5.0"
+      sources."parse-json-4.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-3.1.1"
+      sources."path-parse-1.0.6"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."pkg-up-3.1.0"
+      sources."prepend-http-2.0.0"
+      sources."pseudomap-1.0.2"
+      sources."pump-3.0.0"
+      sources."punycode-2.1.1"
+      sources."quick-lru-1.1.0"
+      sources."rc-1.2.8"
+      sources."read-pkg-3.0.0"
+      (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."redent-2.0.0"
+      sources."registry-auth-token-4.0.0"
+      sources."registry-url-5.1.0"
+      sources."resolve-1.14.1"
+      sources."responselike-1.0.2"
+      sources."restore-cursor-3.1.0"
+      sources."run-async-2.3.0"
+      sources."rxjs-6.5.3"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."semver-6.3.0"
+      (sources."semver-diff-2.1.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      sources."signal-exit-3.0.2"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.5"
+      (sources."string-width-4.2.0" // {
+        dependencies = [
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."strip-ansi-5.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-final-newline-2.0.0"
+      sources."strip-indent-2.0.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-5.5.0"
+      (sources."term-size-1.2.0" // {
+        dependencies = [
+          sources."cross-spawn-5.1.0"
+          sources."execa-0.7.0"
+          sources."get-stream-3.0.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."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."which-1.3.1"
+        ];
+      })
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."to-readable-stream-1.0.0"
+      sources."trim-newlines-2.0.0"
+      sources."tslib-1.10.0"
+      sources."type-fest-0.8.1"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."unique-string-1.0.0"
+      sources."update-notifier-3.0.1"
+      sources."uri-js-4.2.2"
+      sources."url-parse-lax-3.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."wcwidth-1.0.1"
+      sources."which-2.0.2"
+      (sources."widest-line-2.0.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-3.0.1"
+      sources."xdg-basedir-3.0.0"
+      sources."yallist-2.1.2"
+      sources."yargs-parser-10.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A gitmoji client for using emojis on commit messages.";
+      homepage = "https://github.com/carloscuesta/gitmoji-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   graphql-cli = nodeEnv.buildNodePackage {
     name = "graphql-cli";
     packageName = "graphql-cli";
@@ -52209,11 +54268,22 @@ in
           sources."yargs-parser-7.0.0"
         ];
       })
+      sources."@sindresorhus/is-0.14.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/color-name-1.1.1"
       sources."accepts-1.3.7"
       sources."agent-base-4.3.0"
       sources."ajv-6.10.2"
-      sources."ansi-align-2.0.0"
-      sources."ansi-escapes-4.2.1"
+      (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"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."ansi-escapes-4.3.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
       (sources."apollo-codegen-0.20.2" // {
@@ -52237,21 +54307,37 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.26.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."qs-6.7.0"
         ];
       })
-      sources."boxen-1.3.0"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."camelcase-5.3.1"
+          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."type-fest-0.3.1"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       sources."buffer-equal-constant-time-1.0.1"
       sources."buffer-from-1.1.1"
       sources."bytes-3.1.0"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.1.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       sources."call-me-maybe-1.0.1"
       sources."caller-callsite-2.0.0"
       sources."caller-path-2.0.0"
@@ -52264,13 +54350,14 @@ in
       sources."change-case-3.1.0"
       sources."chardet-0.7.0"
       sources."chownr-1.1.3"
-      sources."ci-info-1.6.0"
-      sources."cli-boxes-1.0.0"
+      sources."ci-info-2.0.0"
+      sources."cli-boxes-2.2.0"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.2.0"
       sources."cli-width-2.2.0"
       sources."cliui-4.1.0"
       sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
@@ -52286,7 +54373,7 @@ in
       sources."commander-2.20.3"
       sources."common-tags-1.8.0"
       sources."concat-map-0.0.1"
-      sources."configstore-3.1.2"
+      sources."configstore-4.0.0"
       sources."constant-case-2.0.0"
       (sources."content-disposition-0.5.3" // {
         dependencies = [
@@ -52296,18 +54383,37 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."cosmiconfig-5.2.1"
       sources."create-error-class-3.0.2"
-      (sources."creato-1.0.7" // {
+      (sources."creato-1.1.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."inquirer-7.0.0"
+          sources."ansi-regex-5.0.0"
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."inquirer-7.0.1"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."ora-4.0.2"
-          sources."string-width-4.1.0"
-          sources."strip-ansi-5.2.0"
+          (sources."ora-4.0.3" // {
+            dependencies = [
+              sources."chalk-3.0.0"
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          (sources."string-width-4.2.0" // {
+            dependencies = [
+              sources."strip-ansi-6.0.0"
+            ];
+          })
+          (sources."strip-ansi-5.2.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+            ];
+          })
+          sources."supports-color-7.1.0"
+          sources."update-notifier-3.0.1"
         ];
       })
       (sources."cross-fetch-2.2.2" // {
@@ -52315,7 +54421,11 @@ in
           sources."node-fetch-2.1.2"
         ];
       })
-      sources."cross-spawn-6.0.5"
+      (sources."cross-spawn-6.0.5" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       sources."crypto-random-string-1.0.0"
       (sources."cucumber-html-reporter-3.0.4" // {
         dependencies = [
@@ -52326,8 +54436,10 @@ in
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
+      sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -52373,7 +54485,7 @@ in
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       sources."extend-3.0.2"
@@ -52384,7 +54496,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-3.1.0"
       sources."finalhandler-1.1.2"
       sources."find-0.2.9"
@@ -52395,16 +54507,20 @@ in
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs-extra-5.0.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."got-6.7.1"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
       sources."graceful-fs-4.2.3"
       sources."graphcool-json-schema-1.2.1"
       (sources."graphcool-yml-0.4.15" // {
@@ -52441,9 +54557,11 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
+      sources."has-yarn-2.1.0"
       sources."header-case-1.0.1"
       sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.5"
+      sources."http-cache-semantics-4.0.3"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -52487,13 +54605,13 @@ in
       sources."ip-regex-1.0.3"
       sources."ipaddr.js-1.9.0"
       sources."is-arrayish-0.2.1"
-      sources."is-ci-1.2.1"
+      sources."is-ci-2.0.0"
       sources."is-directory-0.3.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-interactive-1.0.0"
       sources."is-lower-case-1.1.3"
-      sources."is-npm-1.0.0"
+      sources."is-npm-3.0.0"
       sources."is-obj-1.0.1"
       sources."is-path-inside-1.0.1"
       sources."is-promise-2.1.0"
@@ -52505,6 +54623,7 @@ in
       sources."is-url-superb-2.0.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
+      sources."is-yarn-global-0.3.0"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       (sources."isomorphic-fetch-2.2.1" // {
@@ -52518,6 +54637,7 @@ in
       sources."js-yaml-3.13.1"
       sources."jsbn-0.1.1"
       sources."jsesc-2.5.2"
+      sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       (sources."json-schema-ref-parser-3.3.1" // {
@@ -52534,16 +54654,19 @@ in
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."ms-2.1.2"
+          sources."semver-5.7.1"
         ];
       })
       sources."jsprim-1.4.1"
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
-      sources."latest-version-3.1.0"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
       sources."lcid-1.0.0"
       (sources."load-json-file-2.0.0" // {
         dependencies = [
           sources."parse-json-2.2.0"
+          sources."pify-2.3.0"
         ];
       })
       sources."locate-path-2.0.0"
@@ -52562,29 +54685,34 @@ in
       sources."lower-case-first-1.0.2"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
-      (sources."make-dir-1.3.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."make-dir-1.3.0"
       sources."map-age-cleaner-0.1.3"
       sources."media-typer-0.3.0"
       sources."mem-1.1.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
+      sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      (sources."minipass-2.9.0" // {
+      sources."minimist-1.2.0"
+      (sources."minipass-3.1.1" // {
         dependencies = [
-          sources."yallist-3.1.1"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minizlib-2.1.0" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
         ];
       })
-      sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.2"
@@ -52592,13 +54720,17 @@ in
       sources."no-case-2.3.2"
       sources."node-fetch-2.6.0"
       sources."node-request-by-swagger-1.1.4"
-      sources."normalize-package-data-2.5.0"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."normalize-url-4.5.0"
       sources."npm-path-2.0.4"
       sources."npm-paths-1.0.0"
       (sources."npm-run-4.1.2" // {
         dependencies = [
           sources."cross-spawn-5.1.0"
-          sources."minimist-1.2.0"
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -52627,13 +54759,14 @@ in
       })
       sources."os-locale-2.1.0"
       sources."os-tmpdir-1.0.2"
+      sources."p-cancelable-1.1.0"
       sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
       sources."p-is-promise-2.1.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
-      sources."package-json-4.0.1"
+      sources."package-json-6.5.0"
       sources."param-case-2.1.1"
       sources."parse-github-url-1.0.2"
       sources."parse-json-4.0.0"
@@ -52647,10 +54780,14 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
       sources."path-to-regexp-0.1.7"
-      sources."path-type-2.0.0"
+      (sources."path-type-2.0.0" // {
+        dependencies = [
+          sources."pify-2.3.0"
+        ];
+      })
       sources."performance-now-2.1.0"
-      sources."pify-2.3.0"
-      sources."prepend-http-1.0.4"
+      sources."pify-3.0.0"
+      sources."prepend-http-2.0.0"
       sources."prisma-json-schema-0.1.3"
       (sources."prisma-yml-1.26.6" // {
         dependencies = [
@@ -52668,17 +54805,13 @@ in
       sources."proxy-addr-2.0.5"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.8"
       sources."read-pkg-2.0.0"
       sources."read-pkg-up-2.0.0"
       (sources."readable-stream-2.3.6" // {
@@ -52688,17 +54821,18 @@ in
         ];
       })
       sources."regenerator-runtime-0.11.1"
-      sources."registry-auth-token-3.4.0"
-      sources."registry-url-3.1.0"
+      sources."registry-auth-token-4.0.0"
+      sources."registry-url-5.1.0"
       sources."replaceall-0.1.6"
       sources."request-2.88.0"
-      sources."request-promise-4.2.4"
-      sources."request-promise-core-1.1.2"
+      sources."request-promise-4.2.5"
+      sources."request-promise-core-1.1.3"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-from-4.0.0"
+      sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."rimraf-2.7.1"
       sources."run-async-2.3.0"
@@ -52706,8 +54840,12 @@ in
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."scuid-1.1.0"
-      sources."semver-5.7.1"
-      sources."semver-diff-2.1.0"
+      sources."semver-6.3.0"
+      (sources."semver-diff-2.1.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       (sources."send-0.17.1" // {
         dependencies = [
           sources."ms-2.1.1"
@@ -52724,7 +54862,7 @@ in
       sources."simple-errors-1.0.1"
       sources."snake-case-2.1.0"
       sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -52754,9 +54892,9 @@ in
       sources."supports-color-5.5.0"
       sources."swap-case-1.1.2"
       sources."sync-exec-0.6.2"
-      (sources."tar-4.4.13" // {
+      (sources."tar-5.0.5" // {
         dependencies = [
-          sources."yallist-3.1.1"
+          sources."yallist-4.0.0"
         ];
       })
       sources."term-size-1.2.0"
@@ -52767,6 +54905,7 @@ in
       sources."tmp-0.1.0"
       sources."tmp-graphql-config-extension-openapi-1.0.7"
       sources."to-fast-properties-2.0.0"
+      sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -52778,18 +54917,36 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."type-is-1.6.18"
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."unzip-response-2.0.1"
-      sources."update-notifier-2.5.0"
+      (sources."update-notifier-2.5.0" // {
+        dependencies = [
+          sources."ansi-align-2.0.0"
+          sources."boxen-1.3.0"
+          sources."ci-info-1.6.0"
+          sources."cli-boxes-1.0.0"
+          sources."configstore-3.1.2"
+          sources."got-6.7.1"
+          sources."is-ci-1.2.1"
+          sources."is-npm-1.0.0"
+          sources."latest-version-3.1.0"
+          sources."package-json-4.0.1"
+          sources."prepend-http-1.0.4"
+          sources."registry-auth-token-3.4.0"
+          sources."registry-url-3.1.0"
+          sources."semver-5.7.1"
+          sources."url-parse-lax-1.0.0"
+        ];
+      })
       sources."upper-case-1.1.3"
       sources."upper-case-first-1.1.2"
       sources."uri-js-4.2.2"
       sources."url-join-4.0.0"
-      sources."url-parse-lax-1.0.0"
+      sources."url-parse-lax-3.0.0"
       sources."url-regex-3.2.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
@@ -53021,7 +55178,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -53138,11 +55295,8 @@ in
       sources."cli-table-0.3.1"
       sources."colors-1.0.3"
       sources."core-util-is-1.0.2"
-      sources."define-properties-1.1.3"
       sources."drawille-blessed-contrib-1.0.0"
       sources."drawille-canvas-blessed-contrib-0.1.3"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-3.0.0"
       (sources."event-stream-0.9.8" // {
@@ -53150,17 +55304,10 @@ in
           sources."optimist-0.2.8"
         ];
       })
-      sources."function-bind-1.1.1"
       sources."gl-matrix-2.8.1"
-      sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.0"
       sources."here-0.0.2"
       sources."inherits-2.0.4"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."isarray-0.0.1"
       sources."lodash-4.17.15"
       sources."lodash.assign-4.2.0"
@@ -53172,9 +55319,6 @@ in
       sources."memorystream-0.3.1"
       sources."node-emoji-1.10.0"
       sources."nopt-2.1.2"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."optimist-0.3.7"
       sources."picture-tuber-1.0.2"
       sources."png-js-0.1.1"
@@ -53182,17 +55326,14 @@ in
       sources."redeyed-1.0.1"
       sources."sax-1.2.4"
       sources."sparkline-0.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
-      sources."systeminformation-4.14.17"
+      sources."systeminformation-4.16.0"
       sources."term-canvas-0.0.5"
-      sources."util.promisify-1.0.0"
       sources."wordwrap-0.0.3"
       sources."x256-0.0.2"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -53257,6 +55398,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -53301,7 +55443,7 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."copy-props-2.0.4"
       sources."core-util-is-1.0.2"
@@ -53322,9 +55464,9 @@ in
       sources."each-props-1.3.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -53345,6 +55487,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -53358,6 +55505,7 @@ in
         ];
       })
       sources."fancy-log-1.3.3"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -53373,11 +55521,11 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -53391,7 +55539,7 @@ in
       sources."graceful-fs-4.2.3"
       sources."gulp-cli-2.2.0"
       sources."gulplog-1.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -53523,7 +55671,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -53594,7 +55742,7 @@ in
         ];
       })
       sources."stream-exhaust-1.0.2"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -53721,9 +55869,9 @@ in
       sources."detect-file-1.0.0"
       sources."each-props-1.3.2"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -53735,6 +55883,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -53896,7 +56049,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -54016,7 +56169,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.6.4"
+      sources."uglify-js-3.7.2"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -54044,7 +56197,7 @@ in
       sources."async-2.6.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -54061,7 +56214,7 @@ in
       sources."dashdash-1.14.1"
       sources."date-now-0.1.4"
       sources."delayed-stream-1.0.0"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -54076,7 +56229,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs.realpath-1.0.0"
@@ -54097,7 +56250,7 @@ in
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      (sources."jshint-2.10.2" // {
+      (sources."jshint-2.10.3" // {
         dependencies = [
           sources."strip-json-comments-1.0.4"
         ];
@@ -54107,8 +56260,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."lodash-4.17.15"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -54117,7 +56270,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."performance-now-2.1.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-1.1.14"
@@ -54154,14 +56307,15 @@ in
   http-server = nodeEnv.buildNodePackage {
     name = "http-server";
     packageName = "http-server";
-    version = "0.11.1";
+    version = "0.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/http-server/-/http-server-0.11.1.tgz";
-      sha512 = "6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==";
+      url = "https://registry.npmjs.org/http-server/-/http-server-0.12.0.tgz";
+      sha512 = "imGLDSTT1BZ0QG1rBFnaZ6weK5jeisUnCxZQI1cpYTdz0luPUM5e3s+WU5zRWEkiI6DQxL2p54oeKrDlzO6bRw==";
     };
     dependencies = [
       sources."async-2.6.3"
-      sources."colors-1.0.3"
+      sources."basic-auth-1.1.0"
+      sources."colors-1.4.0"
       sources."corser-2.0.1"
       sources."debug-3.2.6"
       sources."ecstatic-3.3.2"
@@ -54178,23 +56332,24 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."opener-1.4.3"
+      sources."opener-1.5.1"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."minimist-0.0.10"
         ];
       })
       sources."portfinder-1.0.25"
-      sources."qs-2.3.3"
+      sources."qs-6.9.1"
       sources."requires-port-1.0.0"
-      sources."union-0.4.6"
+      sources."secure-compare-3.0.1"
+      sources."union-0.5.0"
       sources."url-join-2.0.5"
       sources."wordwrap-0.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A simple zero-configuration command-line http server";
-      homepage = "https://github.com/indexzero/http-server#readme";
+      homepage = "https://github.com/http-party/http-server#readme";
       license = "MIT";
     };
     production = true;
@@ -54226,7 +56381,7 @@ in
       sources."extsprintf-1.4.0"
       sources."fs.realpath-1.0.0"
       sources."fuzzyset.js-0.0.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."hue-sdk-0.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -54350,35 +56505,43 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "5.4.4";
+    version = "5.4.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-5.4.4.tgz";
-      sha512 = "OebF6aBl3HRTCJcD/iWXrOl2VVEF/TGhu5Zr9Zqu+xRpFLjqJnDfxjiitLZRc/bMNyh9+b56ioV/JW9fwwUCog==";
+      url = "https://registry.npmjs.org/ionic/-/ionic-5.4.13.tgz";
+      sha512 = "PtE2juZMaa/ycwwlcEt62UonpPPB0bMJaqRvYOIrVVWL1/yAcHtdDvTVvyumz3RS8cIi2f5NX4GIIvwgYIvVsA==";
     };
     dependencies = [
-      sources."@ionic/cli-framework-3.0.0"
-      sources."@ionic/cli-framework-prompts-1.0.1"
-      sources."@ionic/discover-2.0.6"
-      sources."@ionic/utils-array-1.2.1"
-      sources."@ionic/utils-fs-2.0.8"
-      sources."@ionic/utils-network-1.0.5"
-      sources."@ionic/utils-object-1.0.5"
-      sources."@ionic/utils-process-1.0.5"
-      sources."@ionic/utils-stream-2.0.4"
-      sources."@ionic/utils-subprocess-1.0.9"
-      sources."@ionic/utils-terminal-1.0.5"
+      sources."@ionic/cli-framework-3.0.5"
+      sources."@ionic/cli-framework-prompts-1.0.4"
+      sources."@ionic/discover-2.0.7"
+      sources."@ionic/utils-array-1.2.2"
+      sources."@ionic/utils-fs-2.0.9"
+      sources."@ionic/utils-network-1.0.6"
+      sources."@ionic/utils-object-1.0.6"
+      sources."@ionic/utils-process-1.0.8"
+      sources."@ionic/utils-stream-2.0.5"
+      sources."@ionic/utils-subprocess-1.0.12"
+      sources."@ionic/utils-terminal-1.1.2"
+      sources."@types/color-name-1.1.1"
       sources."agent-base-4.3.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
       sources."ast-types-0.13.2"
-      sources."astral-regex-1.0.0"
-      sources."async-limiter-1.0.1"
+      sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."bytes-3.1.0"
-      sources."chalk-2.4.2"
+      (sources."chalk-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."supports-color-7.1.0"
+        ];
+      })
       sources."chardet-0.7.0"
       sources."chownr-1.1.3"
       sources."cli-cursor-2.1.0"
@@ -54453,7 +56616,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
       sources."http-errors-1.7.3"
@@ -54472,13 +56635,15 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      (sources."inquirer-7.0.0" // {
+      (sources."inquirer-7.0.1" // {
         dependencies = [
-          sources."ansi-escapes-4.2.1"
+          sources."ansi-escapes-4.3.0"
+          sources."chalk-2.4.2"
           sources."cli-cursor-3.1.0"
           sources."mimic-fn-2.1.0"
           sources."onetime-5.1.0"
           sources."restore-cursor-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."ip-1.1.5"
@@ -54486,7 +56651,7 @@ in
       sources."is-promise-2.1.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.1.1"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
@@ -54512,6 +56677,7 @@ in
       (sources."log-update-3.3.0" // {
         dependencies = [
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
           sources."wrap-ansi-5.1.0"
         ];
       })
@@ -54519,8 +56685,8 @@ in
       sources."macos-release-2.3.0"
       sources."methods-1.1.2"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -54542,21 +56708,21 @@ in
       })
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."open-6.4.0"
-      sources."optionator-0.8.2"
+      sources."open-7.0.0"
+      sources."optionator-0.8.3"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
       sources."pac-proxy-agent-3.0.1"
       sources."pac-resolver-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.0"
+      sources."path-key-3.1.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."proxy-agent-3.1.1"
       sources."proxy-from-env-1.0.0"
       sources."pump-3.0.0"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."raw-body-2.4.1"
       sources."readable-stream-3.4.0"
       sources."restore-cursor-2.0.0"
@@ -54572,9 +56738,16 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
-      sources."slice-ansi-2.1.0"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      (sources."slice-ansi-3.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.2.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."is-fullwidth-code-point-3.0.0"
+        ];
+      })
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -54591,14 +56764,18 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."string-width-4.1.0" // {
+      (sources."string-width-4.2.0" // {
         dependencies = [
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
         ];
       })
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-5.2.0"
+      (sources."strip-ansi-6.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+        ];
+      })
       sources."strip-eof-1.0.0"
       sources."superagent-4.1.0"
       (sources."superagent-proxy-2.0.0" // {
@@ -54616,26 +56793,26 @@ in
       sources."tree-kill-1.2.1"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
-      sources."type-fest-0.5.2"
+      sources."type-fest-0.8.1"
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."untildify-4.0.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
-      sources."which-2.0.1"
+      sources."which-2.0.2"
       sources."windows-release-3.2.0"
-      sources."wordwrap-1.0.0"
-      (sources."wrap-ansi-6.1.0" // {
+      sources."word-wrap-1.2.3"
+      (sources."wrap-ansi-6.2.0" // {
         dependencies = [
-          sources."ansi-styles-4.1.0"
+          sources."ansi-styles-4.2.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
         ];
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.1"
-      sources."ws-7.2.0"
+      sources."ws-7.2.1"
       sources."xregexp-2.0.0"
       sources."yallist-3.1.1"
     ];
@@ -54652,10 +56829,10 @@ in
   ios-deploy = nodeEnv.buildNodePackage {
     name = "ios-deploy";
     packageName = "ios-deploy";
-    version = "1.9.4";
+    version = "1.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.9.4.tgz";
-      sha512 = "pgyc19zgtwGrfx3GL8yV0c0dAPucTpJ0VZkuS3DcqxIZYC48+UW+tBTxI43u1ZDk17mop0ABLs1SkAy5SUQ6pQ==";
+      url = "https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.10.0.tgz";
+      sha512 = "sklB6PkJkWrHDublkZJeY4z9i7hl0nS2aRVse+/idGnb4eZddMQRfPVB4YzkEoyJ4FyW1I3sdLP6/cg/Imu/sw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -54687,13 +56864,13 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bezier-js-2.4.4"
       sources."bindings-1.5.0"
       sources."block-stream-0.0.9"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."bufferstreams-1.1.3"
       sources."camelcase-4.1.0"
@@ -54751,7 +56928,6 @@ in
           sources."levn-0.2.5"
           sources."optionator-0.3.0"
           sources."source-map-0.1.43"
-          sources."wordwrap-0.0.3"
         ];
       })
       sources."esprima-3.1.3"
@@ -54770,7 +56946,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."file-uri-to-path-1.0.0"
       sources."find-up-2.1.0"
@@ -54789,7 +56965,7 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -54827,8 +57003,8 @@ in
       sources."megaminx-0.9.0"
       sources."mem-1.1.0"
       sources."microbuffer-1.0.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -54851,7 +57027,7 @@ in
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-locale-2.1.0"
       sources."os-tmpdir-1.0.2"
@@ -54911,7 +57087,7 @@ in
       sources."promise-polyfill-6.1.0"
       sources."proper-lockfile-3.2.0"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -54921,12 +57097,12 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."resumer-0.0.0"
       sources."retry-0.12.0"
-      sources."rimraf-2.2.8"
+      sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -54969,7 +57145,7 @@ in
       })
       sources."supports-color-5.5.0"
       sources."tar-2.2.2"
-      sources."temp-0.8.3"
+      sources."temp-0.8.4"
       sources."through-2.3.8"
       sources."tiny-emitter-2.1.0"
       sources."toml-2.3.6"
@@ -54995,7 +57171,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.3"
       sources."validate-npm-package-license-3.0.4"
-      (sources."verda-1.0.0-10" // {
+      (sources."verda-1.0.0-12" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."fs-extra-6.0.1"
@@ -55007,7 +57183,8 @@ in
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
+      sources."wordwrap-0.0.3"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."string-width-1.0.2"
@@ -55050,10 +57227,10 @@ in
   jake = nodeEnv.buildNodePackage {
     name = "jake";
     packageName = "jake";
-    version = "10.1.1";
+    version = "10.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jake/-/jake-10.1.1.tgz";
-      sha512 = "STOuBZ3//C+8nL8MiDMW/2W6OrOHiAezMMQzAWkr9+wmPCh8wHdcNvJ33qUof4KrLZNplCnmshinXufFb+wjkg==";
+      url = "https://registry.npmjs.org/jake/-/jake-10.4.3.tgz";
+      sha512 = "rraIRf0uRWQUE0rtjfTQaGA1Ow1l9O/2b2cNleTqQVihyM/3W2+V5S5ZbXUIkHpiBnZaeNtsCZkq2070BdlrPQ==";
     };
     dependencies = [
       sources."ansi-styles-3.2.1"
@@ -55116,7 +57293,7 @@ in
       sources."fast-json-patch-2.2.1"
       sources."fs.realpath-1.0.0"
       sources."get-func-name-2.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."has-flag-3.0.0"
       sources."hexer-1.5.0"
       sources."inflight-1.0.6"
@@ -55174,19 +57351,19 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "1.0.149";
+    version = "1.0.150";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.149.tgz";
-      sha512 = "DDMvPmNgsp3yQtwsIvxeCrE5MByDaUojKGfFH4vYTAbboO7jB34rwknwW3efVoOjQVtLmMH6OpBajArci9q8tQ==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.150.tgz";
+      sha512 = "CVQp6OFc3pJOnjjQHcRwQZ5HMh25xtVZTgLvzW+UyamtlkRVCqvw1tp7yitSxIC9AjhTIS4kBPzsC32XWm7lew==";
     };
     dependencies = [
       sources."@cronvel/get-pixels-3.3.1"
-      sources."abab-2.0.2"
+      sources."abab-2.0.3"
       sources."abbrev-1.1.1"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
@@ -55222,7 +57399,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base-64-0.1.0"
       sources."bcrypt-pbkdf-1.0.2"
@@ -55235,7 +57412,7 @@ in
       sources."chalk-2.4.2"
       sources."charenc-0.0.2"
       sources."chownr-1.1.3"
-      sources."chroma-js-2.0.6"
+      sources."chroma-js-2.1.0"
       sources."clean-css-4.2.1"
       sources."clean-html-1.5.0"
       sources."cliss-0.0.2"
@@ -55251,6 +57428,8 @@ in
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
+      sources."cross-env-6.0.3"
+      sources."cross-spawn-7.0.1"
       sources."crypt-0.0.2"
       sources."css-2.2.4"
       sources."cssom-0.3.8"
@@ -55268,14 +57447,13 @@ in
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
       sources."deepmerge-2.2.1"
-      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."detect-libc-1.0.3"
       sources."diacritics-1.3.0"
       sources."diff-match-patch-1.0.4"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -55297,8 +57475,6 @@ in
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."es6-promise-pool-2.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.12.0"
@@ -55309,7 +57485,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.3"
       sources."fd-slicer-1.1.0"
@@ -55323,11 +57499,9 @@ in
       sources."form-data-2.5.1"
       sources."format-0.2.2"
       sources."fs-constants-1.0.0"
-      sources."fs-copy-file-sync-1.1.1"
       sources."fs-extra-5.0.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
@@ -55337,14 +57511,12 @@ in
       sources."get-stdin-5.0.1"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
-      sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
       sources."highlight.js-9.12.0"
@@ -55396,13 +57568,9 @@ in
       sources."is-absolute-0.2.6"
       sources."is-arrayish-0.3.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-relative-0.2.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-0.1.2"
       sources."is-windows-0.2.0"
@@ -55412,8 +57580,9 @@ in
         ];
       })
       sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."joplin-turndown-4.0.18"
+      sources."joplin-turndown-4.0.19"
       sources."joplin-turndown-plugin-gfm-1.0.11"
       sources."jpeg-js-0.1.2"
       sources."js-tokens-4.0.0"
@@ -55445,13 +57614,13 @@ in
       sources."md5-2.2.1"
       sources."mdurl-1.0.1"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-2.0.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
+      sources."minipass-3.1.1"
+      sources."minizlib-2.1.0"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -55471,7 +57640,7 @@ in
       sources."needle-2.4.0"
       sources."nextgen-events-1.3.0"
       sources."no-case-2.3.2"
-      (sources."node-abi-2.12.0" // {
+      (sources."node-abi-2.13.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
@@ -55487,25 +57656,23 @@ in
       })
       sources."noop-logger-0.1.1"
       sources."nopt-4.0.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
       (sources."object-to-arguments-0.0.8" // {
         dependencies = [
           sources."inspect-parameters-declaration-0.0.10"
           sources."magicli-0.0.5"
         ];
       })
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."omggif-1.0.10"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
@@ -55516,18 +57683,19 @@ in
       sources."parse5-4.0.0"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."pify-3.0.0"
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-2.3.1"
-      sources."prebuild-install-5.3.2"
+      sources."prebuild-install-5.3.3"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
       sources."proper-lockfile-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.1.2"
@@ -55548,8 +57716,8 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       sources."requires-port-1.0.0"
       sources."resolve-url-0.2.1"
       sources."retry-0.10.1"
@@ -55563,7 +57731,13 @@ in
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
       sources."seventh-0.7.30"
-      sources."sharp-0.22.1"
+      (sources."sharp-0.23.4" // {
+        dependencies = [
+          sources."tar-5.0.5"
+        ];
+      })
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
       sources."simple-get-3.1.0"
@@ -55578,12 +57752,12 @@ in
       sources."source-map-url-0.4.0"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-4.1.0"
+      sources."sqlite3-4.1.1"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."strict-uri-encode-1.1.0"
-      sources."string-kit-0.10.1"
+      sources."string-kit-0.11.2"
       sources."string-padding-1.0.2"
       (sources."string-to-stream-1.1.1" // {
         dependencies = [
@@ -55597,8 +57771,6 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string_decoder-1.3.0"
       (sources."stringify-parameters-0.0.4" // {
         dependencies = [
@@ -55616,7 +57788,14 @@ in
       sources."symbol-tree-3.2.4"
       sources."syswide-cas-5.3.0"
       sources."table-layout-0.4.5"
-      sources."tar-4.4.13"
+      (sources."tar-4.4.13" // {
+        dependencies = [
+          sources."fs-minipass-1.2.7"
+          sources."minipass-2.9.0"
+          sources."minizlib-1.3.3"
+          sources."yallist-3.1.1"
+        ];
+      })
       sources."tar-fs-2.0.0"
       sources."tar-stream-2.1.0"
       (sources."tcp-port-used-0.1.2" // {
@@ -55625,7 +57804,7 @@ in
           sources."q-0.9.7"
         ];
       })
-      sources."terminal-kit-1.31.4"
+      sources."terminal-kit-1.32.2"
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."is-fullwidth-code-point-2.0.0"
@@ -55636,7 +57815,7 @@ in
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
-      sources."tree-kit-0.6.1"
+      sources."tree-kit-0.6.2"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -55657,7 +57836,6 @@ in
       sources."urix-0.1.0"
       sources."url-parse-1.4.7"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."valid-url-1.0.9"
       sources."verror-1.10.0"
@@ -55666,10 +57844,10 @@ in
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-6.5.0"
+      sources."which-2.0.2"
       sources."which-pm-runs-1.0.0"
       sources."wide-align-1.1.3"
       sources."word-wrap-1.2.3"
-      sources."wordwrap-1.0.0"
       sources."wordwrapjs-3.0.0"
       (sources."wrap-ansi-3.0.1" // {
         dependencies = [
@@ -55680,9 +57858,9 @@ in
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."yallist-3.1.1"
+      sources."yallist-4.0.0"
       sources."yargs-parser-7.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -55712,7 +57890,7 @@ in
       sources."config-chain-1.1.12"
       sources."editorconfig-0.15.3"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -55775,9 +57953,9 @@ in
       sha512 = "Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==";
     };
     dependencies = [
-      sources."@babel/parser-7.6.4"
+      sources."@babel/parser-7.7.7"
       sources."argparse-1.0.10"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."catharsis-0.8.11"
       sources."entities-1.1.2"
       sources."escape-string-regexp-2.0.0"
@@ -55813,10 +57991,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.10.2";
+    version = "2.11.0-rc1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz";
-      sha512 = "e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.11.0-rc1.tgz";
+      sha512 = "jWEHO8ad7pVMW5ek4yv300dPY8t9iyStVXE3hbelDmv99giOy8HkgSTsYvLTfC2F0FpQ1LoCS2p6StWe6AgRGQ==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -55826,7 +58004,7 @@ in
       sources."console-browserify-1.1.0"
       sources."core-util-is-1.0.2"
       sources."date-now-0.1.4"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -55838,7 +58016,7 @@ in
       sources."entities-1.0.0"
       sources."exit-0.1.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."htmlparser2-3.8.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -55927,21 +58105,21 @@ in
       sources."extend-3.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."js-yaml-3.13.1"
       sources."lodash-4.17.15"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."readable-stream-2.3.6"
       sources."safe-buffer-5.1.2"
       sources."slash-2.0.0"
@@ -55982,7 +58160,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."body-parser-1.19.0"
@@ -56025,7 +58203,7 @@ in
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -56044,13 +58222,13 @@ in
       sources."express-4.17.1"
       (sources."express-urlrewrite-1.2.0" // {
         dependencies = [
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
@@ -56119,13 +58297,13 @@ in
       })
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.0"
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
-      sources."nanoid-2.1.6"
+      sources."nanoid-2.1.8"
       sources."negotiator-0.6.2"
       sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
@@ -56152,7 +58330,7 @@ in
       sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -56234,7 +58412,7 @@ in
       sources."xdg-basedir-3.0.0"
       sources."y18n-4.0.0"
       sources."yallist-2.1.2"
-      sources."yargs-14.2.0"
+      sources."yargs-14.2.2"
       sources."yargs-parser-15.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -56295,7 +58473,7 @@ in
       sources."better-assert-1.0.2"
       sources."binary-extensions-2.0.0"
       sources."blob-0.0.5"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -56304,7 +58482,7 @@ in
       sources."buffer-fill-1.0.0"
       sources."bytes-3.1.0"
       sources."callsite-1.0.0"
-      sources."chokidar-3.2.2"
+      sources."chokidar-3.3.1"
       sources."colors-1.4.0"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
@@ -56347,8 +58525,8 @@ in
       })
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.1"
-      sources."glob-7.1.5"
+      sources."fsevents-2.1.2"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
       sources."graceful-fs-4.2.3"
       sources."has-binary2-1.0.3"
@@ -56376,8 +58554,8 @@ in
       sources."lru-cache-4.1.5"
       sources."media-typer-0.3.0"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."ms-2.0.0"
@@ -56392,13 +58570,13 @@ in
       sources."parseuri-0.0.5"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
       sources."pseudomap-1.0.2"
       sources."qjobs-1.2.0"
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      sources."readdirp-3.2.0"
+      sources."readdirp-3.3.0"
       sources."requires-port-1.0.0"
       sources."rfdc-1.1.4"
       sources."rimraf-2.7.1"
@@ -56410,7 +58588,7 @@ in
           sources."debug-3.1.0"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.1.1" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -56479,7 +58657,7 @@ in
       sources."clone-stats-1.0.0"
       sources."cloneable-readable-1.1.3"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."core-util-is-1.0.2"
       sources."define-properties-1.1.3"
       sources."duplexify-3.7.1"
@@ -56489,11 +58667,11 @@ in
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
       sources."graceful-fs-4.2.3"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-absolute-1.0.0"
@@ -56529,7 +58707,7 @@ in
       sources."replace-ext-1.0.0"
       sources."resolve-options-1.1.0"
       sources."safe-buffer-5.1.2"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.1.1"
       sources."through2-2.0.5"
       sources."through2-filter-3.0.0"
@@ -56575,7 +58753,7 @@ in
       sources."async-1.5.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."boolbase-1.0.0"
@@ -56624,7 +58802,7 @@ in
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
@@ -56633,7 +58811,7 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -56672,8 +58850,8 @@ in
           sources."mimic-fn-2.1.0"
         ];
       })
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -56694,7 +58872,7 @@ in
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       (sources."ora-3.0.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -56716,7 +58894,7 @@ in
       sources."pkginfo-0.4.1"
       sources."prelude-ls-1.1.2"
       sources."prompt-1.0.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -56778,6 +58956,7 @@ in
           sources."pkginfo-0.3.1"
         ];
       })
+      sources."word-wrap-1.2.3"
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
@@ -56814,10 +58993,10 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "3.18.3";
+    version = "3.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-3.18.3.tgz";
-      sha512 = "Bnr/RjyDSVA2Vu+NArK7do4UIpyy+EShOON7tignfAekPbi7cNDnMMGgSmbCQdKITkqPACMfCMdyq0hJlg6n3g==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-3.19.0.tgz";
+      sha512 = "YtMmwEqzWHQCh7Ynk7BvjrZri3EkSeVqTAcwZIqWlv9V/dCfvFPyRqp+2NIjPB5nj1FWXLRH6F05VT/qvzuuOA==";
     };
     dependencies = [
       (sources."@evocateur/libnpmaccess-3.1.2" // {
@@ -56837,31 +59016,31 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@lerna/add-3.18.0"
-      sources."@lerna/bootstrap-3.18.0"
-      sources."@lerna/changed-3.18.3"
+      sources."@lerna/add-3.19.0"
+      sources."@lerna/bootstrap-3.18.5"
+      sources."@lerna/changed-3.18.5"
       sources."@lerna/check-working-tree-3.16.5"
       sources."@lerna/child-process-3.16.5"
-      sources."@lerna/clean-3.18.0"
-      sources."@lerna/cli-3.18.0"
+      sources."@lerna/clean-3.18.5"
+      sources."@lerna/cli-3.18.5"
       sources."@lerna/collect-uncommitted-3.16.5"
       sources."@lerna/collect-updates-3.18.0"
-      sources."@lerna/command-3.18.0"
-      (sources."@lerna/conventional-commits-3.16.4" // {
+      sources."@lerna/command-3.18.5"
+      (sources."@lerna/conventional-commits-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
-      (sources."@lerna/create-3.18.0" // {
+      (sources."@lerna/create-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
       sources."@lerna/create-symlink-3.16.2"
       sources."@lerna/describe-ref-3.16.5"
-      sources."@lerna/diff-3.18.0"
-      sources."@lerna/exec-3.18.0"
-      sources."@lerna/filter-options-3.18.0"
+      sources."@lerna/diff-3.18.5"
+      sources."@lerna/exec-3.18.5"
+      sources."@lerna/filter-options-3.18.4"
       sources."@lerna/filter-packages-3.18.0"
       sources."@lerna/get-npm-exec-opts-3.13.0"
       sources."@lerna/get-packed-3.16.0"
@@ -56869,69 +59048,69 @@ in
       sources."@lerna/gitlab-client-3.15.0"
       sources."@lerna/global-options-3.13.0"
       sources."@lerna/has-npm-version-3.16.5"
-      sources."@lerna/import-3.18.0"
-      sources."@lerna/init-3.18.0"
-      sources."@lerna/link-3.18.0"
-      sources."@lerna/list-3.18.0"
-      sources."@lerna/listable-3.18.0"
+      sources."@lerna/import-3.18.5"
+      sources."@lerna/init-3.18.5"
+      sources."@lerna/link-3.18.5"
+      sources."@lerna/list-3.18.5"
+      sources."@lerna/listable-3.18.5"
       sources."@lerna/log-packed-3.16.0"
       (sources."@lerna/npm-conf-3.16.0" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
-      sources."@lerna/npm-dist-tag-3.18.1"
+      sources."@lerna/npm-dist-tag-3.18.5"
       sources."@lerna/npm-install-3.16.5"
-      (sources."@lerna/npm-publish-3.16.2" // {
+      (sources."@lerna/npm-publish-3.18.5" // {
         dependencies = [
           sources."pify-4.0.1"
         ];
       })
       sources."@lerna/npm-run-script-3.16.5"
-      sources."@lerna/otplease-3.16.0"
+      sources."@lerna/otplease-3.18.5"
       sources."@lerna/output-3.13.0"
       sources."@lerna/pack-directory-3.16.4"
       sources."@lerna/package-3.16.0"
-      sources."@lerna/package-graph-3.18.0"
+      sources."@lerna/package-graph-3.18.5"
       sources."@lerna/prerelease-id-from-version-3.16.0"
       sources."@lerna/project-3.18.0"
-      sources."@lerna/prompt-3.13.0"
-      sources."@lerna/publish-3.18.3"
+      sources."@lerna/prompt-3.18.5"
+      sources."@lerna/publish-3.18.5"
       sources."@lerna/pulse-till-done-3.13.0"
-      sources."@lerna/query-graph-3.18.0"
+      sources."@lerna/query-graph-3.18.5"
       sources."@lerna/resolve-symlink-3.16.0"
       sources."@lerna/rimraf-dir-3.16.5"
-      sources."@lerna/run-3.18.0"
+      sources."@lerna/run-3.18.5"
       sources."@lerna/run-lifecycle-3.16.2"
-      sources."@lerna/run-topologically-3.18.0"
+      sources."@lerna/run-topologically-3.18.5"
       sources."@lerna/symlink-binary-3.17.0"
       sources."@lerna/symlink-dependencies-3.17.0"
       sources."@lerna/timer-3.13.0"
       sources."@lerna/validation-error-3.13.0"
-      sources."@lerna/version-3.18.3"
+      sources."@lerna/version-3.18.5"
       sources."@lerna/write-log-file-3.13.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
-      (sources."@octokit/endpoint-5.5.0" // {
+      (sources."@octokit/endpoint-5.5.1" // {
         dependencies = [
           sources."is-plain-object-3.0.0"
           sources."isobject-4.0.0"
         ];
       })
       sources."@octokit/plugin-enterprise-rest-3.6.2"
-      (sources."@octokit/request-5.3.0" // {
+      (sources."@octokit/request-5.3.1" // {
         dependencies = [
           sources."is-plain-object-3.0.0"
           sources."isobject-4.0.0"
         ];
       })
-      sources."@octokit/request-error-1.0.4"
-      sources."@octokit/rest-16.34.0"
-      sources."@octokit/types-1.1.0"
+      sources."@octokit/request-error-1.2.0"
+      sources."@octokit/rest-16.35.2"
+      sources."@octokit/types-2.0.2"
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@zkochan/cmd-shim-3.1.0"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
@@ -56963,7 +59142,7 @@ in
       sources."atob-2.1.2"
       sources."atob-lite-2.0.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -56972,7 +59151,7 @@ in
       })
       sources."bcrypt-pbkdf-1.0.2"
       sources."before-after-hook-2.1.0"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -57028,6 +59207,7 @@ in
         ];
       })
       sources."clone-1.0.4"
+      sources."clone-deep-4.0.1"
       sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
@@ -57045,20 +59225,20 @@ in
       sources."concat-stream-1.6.2"
       sources."config-chain-1.1.12"
       sources."console-control-strings-1.1.0"
-      sources."conventional-changelog-angular-5.0.5"
+      sources."conventional-changelog-angular-5.0.6"
       (sources."conventional-changelog-core-3.2.3" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
       })
       sources."conventional-changelog-preset-loader-2.3.0"
-      (sources."conventional-changelog-writer-4.0.10" // {
+      (sources."conventional-changelog-writer-4.0.11" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
       })
       sources."conventional-commits-filter-2.0.2"
-      (sources."conventional-commits-parser-3.0.6" // {
+      (sources."conventional-commits-parser-3.0.8" // {
         dependencies = [
           sources."through2-3.0.1"
         ];
@@ -57066,6 +59246,8 @@ in
       (sources."conventional-recommended-bump-5.0.1" // {
         dependencies = [
           sources."concat-stream-2.0.0"
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
           sources."readable-stream-3.4.0"
         ];
       })
@@ -57113,11 +59295,11 @@ in
       sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
-      sources."env-paths-1.0.0"
+      sources."env-paths-2.2.0"
       sources."err-code-1.1.2"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -57168,7 +59350,7 @@ in
           })
         ];
       })
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figgy-pudding-3.5.1"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
@@ -57223,17 +59405,27 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."git-raw-commits-2.0.0"
+      (sources."git-raw-commits-2.0.0" // {
+        dependencies = [
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
+        ];
+      })
       (sources."git-remote-origin-url-2.0.0" // {
         dependencies = [
           sources."pify-2.3.0"
         ];
       })
-      sources."git-semver-tags-2.0.3"
+      (sources."git-semver-tags-2.0.3" // {
+        dependencies = [
+          sources."meow-4.0.1"
+          sources."minimist-1.2.0"
+        ];
+      })
       sources."git-up-4.0.1"
       sources."git-url-parse-11.1.2"
       sources."gitconfiglocal-1.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
       sources."glob-to-regexp-0.3.0"
       (sources."globby-9.2.0" // {
@@ -57242,7 +59434,7 @@ in
         ];
       })
       sources."graceful-fs-4.2.3"
-      (sources."handlebars-4.4.5" // {
+      (sources."handlebars-4.5.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -57251,7 +59443,7 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -57296,10 +59488,10 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
@@ -57316,10 +59508,10 @@ in
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-text-path-1.0.1"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -57358,19 +59550,20 @@ in
       sources."lru-cache-5.1.1"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
-      sources."make-fetch-happen-5.0.1"
+      sources."make-fetch-happen-5.0.2"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
       sources."map-visit-1.0.0"
-      (sources."meow-4.0.1" // {
+      (sources."meow-5.0.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."camelcase-4.1.0"
+          sources."yargs-parser-10.1.0"
         ];
       })
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -57396,26 +59589,27 @@ in
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.0"
       sources."node-fetch-npm-2.0.2"
-      (sources."node-gyp-5.0.5" // {
+      (sources."node-gyp-5.0.7" // {
         dependencies = [
-          sources."semver-5.3.0"
+          sources."semver-5.7.1"
         ];
       })
-      sources."nopt-3.0.6"
+      sources."nopt-4.0.1"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
       sources."normalize-url-3.3.0"
-      sources."npm-bundled-1.0.6"
+      sources."npm-bundled-1.1.1"
       sources."npm-lifecycle-3.1.4"
+      sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-6.1.1" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.6"
+      sources."npm-packlist-1.4.7"
       (sources."npm-pick-manifest-3.0.2" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -57439,10 +59633,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
       sources."octokit-pagination-methods-1.1.0"
       sources."once-1.4.0"
@@ -57487,7 +59682,7 @@ in
       sources."proto-list-1.2.4"
       sources."protocols-1.4.7"
       sources."protoduck-5.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -57499,12 +59694,8 @@ in
       sources."qs-6.5.2"
       sources."quick-lru-1.1.0"
       sources."read-1.0.7"
-      sources."read-cmd-shim-1.0.4"
-      (sources."read-package-json-2.1.0" // {
-        dependencies = [
-          sources."slash-1.0.0"
-        ];
-      })
+      sources."read-cmd-shim-1.0.5"
+      sources."read-package-json-2.1.1"
       sources."read-package-tree-5.3.1"
       (sources."read-pkg-3.0.0" // {
         dependencies = [
@@ -57534,7 +59725,7 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -57559,12 +59750,13 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
+      sources."shallow-clone-3.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."slash-2.0.0"
       sources."slide-1.1.6"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -57595,7 +59787,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."socks-2.3.2"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
@@ -57633,15 +59825,15 @@ in
         ];
       })
       sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -57686,7 +59878,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.6.4" // {
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -57749,7 +59941,7 @@ in
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
       sources."yallist-3.1.1"
-      (sources."yargs-14.2.0" // {
+      (sources."yargs-14.2.2" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."string-width-3.1.0"
@@ -57783,7 +59975,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."clone-2.1.2"
@@ -57796,7 +59988,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
@@ -57813,15 +60005,15 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
       sources."promise-7.3.1"
       sources."prr-1.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
@@ -57907,6 +60099,7 @@ in
       sources."batch-0.6.1"
       sources."bcryptjs-2.4.3"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."braces-2.3.2" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -57978,6 +60171,7 @@ in
         ];
       })
       sources."faye-websocket-0.11.3"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -57989,7 +60183,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
@@ -58031,8 +60225,8 @@ in
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mixin-deep-1.3.2"
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
@@ -58225,7 +60419,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -58238,6 +60432,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-assert-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."blob-0.0.5"
       sources."body-parser-1.19.0"
       sources."braces-1.8.5"
@@ -58325,7 +60520,8 @@ in
       sources."extglob-0.3.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       sources."finalhandler-1.1.2"
@@ -58336,7 +60532,7 @@ in
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."github-slugger-1.2.1"
@@ -58430,8 +60626,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-2.3.11"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-1.2.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -58488,7 +60684,7 @@ in
       sources."preserve-0.2.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       (sources."randomatic-3.1.1" // {
@@ -58609,7 +60805,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."component-emitter-1.2.1"
@@ -58696,7 +60892,7 @@ in
       sources."uuid-3.3.3"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."ws-7.2.0"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
@@ -58717,82 +60913,84 @@ in
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      sources."@babel/core-7.6.4"
-      sources."@babel/generator-7.6.4"
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-call-delegate-7.4.4"
-      sources."@babel/helper-create-class-features-plugin-7.6.0"
-      sources."@babel/helper-define-map-7.5.5"
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.4"
-      sources."@babel/helper-member-expression-to-functions-7.5.5"
-      sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.5.5"
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/core-7.7.7"
+      sources."@babel/generator-7.7.7"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-class-features-plugin-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.5.5"
-      sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.6.2"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.4"
+      sources."@babel/parser-7.7.7"
       sources."@babel/plugin-external-helpers-7.0.0"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-class-properties-7.5.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.5.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.6.2"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.6.2"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-dynamic-import-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.3"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.6.2"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.6.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.3"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-runtime-7.6.2"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.6.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.6.2"
-      sources."@babel/preset-env-7.6.3"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-class-properties-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-runtime-7.7.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
       sources."@babel/preset-stage-2-7.0.0"
-      sources."@babel/runtime-7.6.3"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.3"
-      sources."@babel/types-7.6.3"
+      sources."@babel/runtime-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@calebboyd/semaphore-1.3.1"
       sources."@comandeer/babel-plugin-banner-4.1.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -58803,7 +61001,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -58825,7 +61023,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."ace.improved-0.2.1"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."ajv-6.10.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.4.1"
@@ -58984,8 +61182,9 @@ in
       sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bl-1.2.2"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
@@ -58996,7 +61195,7 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.7.2"
+      sources."browserslist-4.8.2"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -59019,7 +61218,7 @@ in
       })
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001004"
+      sources."caniuse-lite-1.0.30001016"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
         dependencies = [
@@ -59089,16 +61288,16 @@ in
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
       sources."config-chain-1.1.12"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."content-disposition-0.5.3"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.10"
-      (sources."core-js-compat-3.3.4" // {
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.0" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-7.0.0"
         ];
       })
       sources."core-util-is-1.0.2"
@@ -59109,7 +61308,6 @@ in
       sources."cross-spawn-6.0.5"
       sources."crypto-browserify-3.12.0"
       sources."cyclist-1.0.1"
-      sources."date-now-0.1.4"
       sources."death-1.1.0"
       sources."debug-4.1.1"
       sources."decamelize-1.2.0"
@@ -59150,14 +61348,14 @@ in
           sources."clone-1.0.4"
         ];
       })
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
       (sources."define-property-2.0.2" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."detect-file-1.0.0"
       sources."detect-indent-4.0.0"
       sources."diffie-hellman-5.0.3"
@@ -59177,8 +61375,8 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
-      sources."electron-to-chromium-1.3.296"
-      sources."elliptic-6.5.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
       sources."emoji-regex-7.0.3"
       sources."emojis-list-2.1.0"
       sources."end-of-stream-1.4.4"
@@ -59271,10 +61469,11 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."figgy-pudding-3.5.1"
       sources."file-type-8.1.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"
@@ -59333,13 +61532,13 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-proxy-2.1.0"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."glob-to-regexp-0.3.0"
@@ -59377,7 +61576,7 @@ in
       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.0"
+      sources."has-symbols-1.0.1"
       sources."has-to-string-tag-x-1.4.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
@@ -59547,11 +61746,11 @@ in
       sources."node-fetch-2.6.0"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
-          sources."buffer-4.9.1"
+          sources."buffer-4.9.2"
           sources."punycode-1.4.1"
         ];
       })
-      (sources."node-releases-1.1.39" // {
+      (sources."node-releases-1.1.43" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -59738,7 +61937,7 @@ in
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.6.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.0" // {
+      (sources."regjsparser-0.6.1" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -59750,7 +61949,7 @@ in
       sources."replace-ext-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-cwd-2.0.0"
       (sources."resolve-dependencies-2.2.3" // {
         dependencies = [
@@ -59796,7 +61995,7 @@ in
       sources."schema-utils-1.0.0"
       sources."seek-bzip-1.0.5"
       sources."semver-5.7.1"
-      sources."serialize-javascript-1.9.1"
+      sources."serialize-javascript-2.1.2"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -59841,7 +62040,7 @@ in
       sources."source-list-map-0.1.8"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -59874,7 +62073,7 @@ in
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."strict-uri-encode-1.1.0"
       (sources."string-width-3.1.0" // {
         dependencies = [
@@ -59891,13 +62090,13 @@ in
       sources."supports-color-2.0.0"
       sources."tapable-1.1.3"
       sources."tar-stream-1.6.2"
-      (sources."terser-4.3.9" // {
+      (sources."terser-4.4.3" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-0.6.1"
         ];
       })
-      (sources."terser-webpack-plugin-1.4.1" // {
+      (sources."terser-webpack-plugin-1.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -59963,10 +62162,10 @@ in
       sources."v8-compile-cache-2.0.3"
       sources."validate-npm-package-license-3.0.4"
       sources."vinyl-2.2.0"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
-      (sources."webpack-4.41.2" // {
+      (sources."webpack-4.41.4" // {
         dependencies = [
           sources."arr-diff-4.0.0"
           sources."array-unique-0.3.2"
@@ -60009,7 +62208,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."webpack-cli-3.3.9" // {
+      (sources."webpack-cli-3.3.10" // {
         dependencies = [
           sources."enhanced-resolve-4.1.0"
           sources."memory-fs-0.4.1"
@@ -60106,7 +62305,7 @@ in
       sources."async-3.1.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -60122,7 +62321,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
@@ -60140,17 +62339,17 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."link-check-4.4.6"
+      sources."link-check-4.4.7"
       sources."lodash-4.17.15"
       sources."markdown-link-extractor-1.2.2"
       sources."marked-0.7.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
       sources."progress-2.0.3"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
@@ -60182,23 +62381,14 @@ in
   mathjax = nodeEnv.buildNodePackage {
     name = "mathjax";
     packageName = "mathjax";
-    version = "3.0.0";
+    version = "2.7.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mathjax/-/mathjax-3.0.0.tgz";
-      sha512 = "z4uLbDHNbs/aRuR6zCcnzwFQuMixkHCcWqgVaommfK/3cA1Ahq7OXemn+m8JwTYcBApSHgcrSbPr9sm3sZFL+A==";
+      url = "https://registry.npmjs.org/mathjax/-/mathjax-2.7.7.tgz";
+      sha512 = "OOl0B2/0tSJAtAZarXnQuLDBLgTNRqiI9VqHTQzPsxf4okT2iIpDrvaklK9x2QEMD1sDj4yRn11Ygci41DxMAQ==";
     };
-    dependencies = [
-      sources."commander-3.0.2"
-      sources."esm-3.2.25"
-      sources."mathjax-full-git://github.com/mathjax/MathJax-src.git"
-      sources."mj-context-menu-0.2.0"
-      sources."speech-rule-engine-3.0.0-beta.6"
-      sources."wicked-good-xpath-1.3.0"
-      sources."xmldom-sre-0.1.31"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers. This package includes the packaged components (install mathjax-full to get the source code).";
+      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers.";
       homepage = "https://github.com/mathjax/MathJax#readme";
       license = "Apache-2.0";
     };
@@ -60269,7 +62459,7 @@ in
       })
       (sources."accord-0.28.0" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
           sources."minimatch-3.0.4"
           sources."semver-5.7.1"
           sources."uglify-js-2.8.29"
@@ -60307,7 +62497,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -60368,7 +62558,7 @@ in
       sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
       sources."cryptiles-2.0.5"
@@ -60417,9 +62607,9 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-0.1.5"
       sources."errno-0.1.7"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."event-emitter-0.3.5"
@@ -60442,6 +62632,11 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
@@ -60549,7 +62744,7 @@ in
           sources."clone-2.1.2"
           sources."clone-stats-1.0.0"
           sources."extend-shallow-1.1.4"
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
           sources."glob-stream-6.1.0"
           sources."graceful-fs-4.2.3"
           sources."kind-of-1.1.0"
@@ -60587,7 +62782,7 @@ in
       sources."har-validator-4.2.1"
       sources."has-ansi-2.0.0"
       sources."has-gulplog-0.1.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -60691,8 +62886,8 @@ in
       sources."memoizee-0.4.14"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-2.0.10"
       sources."minimist-1.2.0"
       (sources."mixin-deep-1.3.2" // {
@@ -60785,7 +62980,7 @@ in
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."request-2.81.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -60859,7 +63054,7 @@ in
         ];
       })
       sources."stream-consume-0.1.1"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.6"
       sources."strip-ansi-3.0.1"
@@ -60896,8 +63091,8 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-1.2.0"
-      sources."typescript-3.6.4"
-      (sources."uglify-js-3.6.4" // {
+      sources."typescript-3.7.4"
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -60998,8 +63193,8 @@ in
       sources."define-properties-1.1.3"
       sources."diff-3.5.0"
       sources."emoji-regex-7.0.3"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."find-up-3.0.0"
@@ -61011,16 +63206,16 @@ in
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."he-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-buffer-2.0.4"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."isexe-2.0.0"
       sources."js-yaml-3.13.1"
       sources."locate-path-3.0.0"
@@ -61031,10 +63226,10 @@ in
       sources."mkdirp-0.5.1"
       sources."ms-2.1.1"
       sources."node-environment-flags-1.0.5"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."once-1.4.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
@@ -61047,8 +63242,8 @@ in
       sources."set-blocking-2.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-6.0.0"
@@ -61106,7 +63301,7 @@ in
       sources."extend-3.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."js-yaml-3.13.1"
@@ -61118,14 +63313,14 @@ in
       sources."lodash-4.17.15"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
       sources."process-nextick-args-2.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.9.0"
+      sources."qs-6.9.1"
       sources."readable-stream-2.3.6"
       sources."safe-buffer-5.1.2"
       sources."slash-2.0.0"
@@ -61206,10 +63401,10 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "6.0.0";
+    version = "5.0.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-6.0.0.tgz";
-      sha512 = "Qz6Xda2bKzdsooXITarGf2uaCJcYh7ua+jeRMifBFmTz0peo0JW6IjpqELlX+ZiHXphsKzISgaCsZeQch5a+NA==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.7.tgz";
+      sha512 = "K8aByl8OJD51V0VbUURTKsmdswkQQusIvlvmTyhHlIT1hBvaSxzdxpSle857XuXa7uc02UEZx9OR5aDxSWS5Qw==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -61221,7 +63416,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -61236,18 +63431,18 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      sources."env-paths-1.0.0"
+      sources."env-paths-2.2.0"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -61265,23 +63460,26 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
       sources."mkdirp-0.5.1"
-      sources."nopt-3.0.6"
+      sources."nopt-4.0.1"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
@@ -61289,7 +63487,7 @@ in
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.3.0"
+      sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."sshpk-1.16.1"
@@ -61326,10 +63524,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "4.1.1";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz";
-      sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.0.tgz";
+      sha512 = "4oiumOLhCDU9Rronz8PZ5S4IvT39H5+JEv/hps9V8s7RSLhsac0TCP78ulnHXOo8X1wdpPiTayGlM1jr4IbnaQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -61364,12 +63562,12 @@ in
       sources."async-0.9.2"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bcrypt-pbkdf-1.0.2"
       sources."biased-opener-0.2.8"
-      sources."big-integer-1.6.47"
+      sources."big-integer-1.6.48"
       sources."block-stream-0.0.9"
       sources."body-parser-1.19.0"
       sources."boom-2.10.1"
@@ -61478,8 +63676,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -61492,7 +63690,7 @@ in
       sources."negotiator-0.6.2"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
           sources."rimraf-2.7.1"
           sources."semver-5.7.1"
         ];
@@ -61539,7 +63737,7 @@ in
           sources."qs-6.4.0"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -61581,7 +63779,7 @@ in
       sources."tar-2.2.2"
       (sources."tar-pack-3.4.1" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
           sources."rimraf-2.7.1"
         ];
       })
@@ -61626,7 +63824,7 @@ in
           sources."lodash-3.10.1"
         ];
       })
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
       sources."yargs-3.32.0"
@@ -61667,7 +63865,7 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."has-unicode-2.0.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-walk-3.0.3"
@@ -61684,8 +63882,9 @@ in
       sources."ms-2.1.2"
       sources."needle-2.4.0"
       sources."nopt-4.0.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -61731,18 +63930,17 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "1.0.2";
+    version = "1.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-1.0.2.tgz";
-      sha512 = "QSyPpAGGVFgVlKyumWFd8j2hd420+sh8DSxlvAtatDVaIG3+MaAD3eDLg49HIwRyAhiROVS1XNWkqyq/H1/cBA==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-1.0.3.tgz";
+      sha512 = "UoTPT7jTApgoVm9lah7Ri10S5w1boQeLIKWFxUq1yfLJ7AYhKmVT46z5HRQt4vAUBLze7cl+aFjEt67LDujXmg==";
     };
     dependencies = [
-      sources."@babel/runtime-7.6.3"
-      sources."@node-red/editor-api-1.0.2"
-      sources."@node-red/editor-client-1.0.2"
-      (sources."@node-red/nodes-1.0.2" // {
+      sources."@babel/runtime-7.7.7"
+      sources."@node-red/editor-api-1.0.3"
+      sources."@node-red/editor-client-1.0.3"
+      (sources."@node-red/nodes-1.0.3" // {
         dependencies = [
-          sources."cookie-0.4.0"
           sources."http-errors-1.7.3"
           sources."iconv-lite-0.5.0"
           sources."inherits-2.0.4"
@@ -61754,9 +63952,9 @@ in
           })
         ];
       })
-      sources."@node-red/registry-1.0.2"
-      sources."@node-red/runtime-1.0.2"
-      sources."@node-red/util-1.0.2"
+      sources."@node-red/registry-1.0.3"
+      sources."@node-red/runtime-1.0.3"
+      sources."@node-red/util-1.0.3"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."agent-base-4.3.0"
@@ -61767,6 +63965,7 @@ in
       (sources."are-we-there-yet-1.1.5" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -61778,16 +63977,28 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
-      sources."basic-auth-2.0.1"
+      (sources."basic-auth-2.0.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."bcrypt-3.0.6"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
       (sources."bl-1.2.2" // {
         dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
+          (sources."readable-stream-2.3.6" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."string_decoder-1.1.1" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
         ];
       })
       sources."body-parser-1.19.0"
@@ -61805,6 +64016,7 @@ in
       (sources."callback-stream-1.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -61820,24 +64032,34 @@ in
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."console-control-strings-1.1.0"
-      sources."content-disposition-0.5.3"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."content-type-1.0.4"
-      sources."cookie-0.3.1"
-      sources."cookie-parser-1.4.4"
+      sources."cookie-0.4.0"
+      (sources."cookie-parser-1.4.4" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+        ];
+      })
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
-      sources."cron-1.7.1"
+      sources."cron-1.7.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."deep-extend-0.6.0"
+      sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."denque-1.4.1"
@@ -61858,6 +64080,7 @@ in
       (sources."duplexify-3.7.1" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -61866,7 +64089,9 @@ in
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.51"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-promise-4.2.8"
@@ -61876,25 +64101,30 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       sources."event-emitter-0.3.5"
       (sources."express-4.17.1" // {
         dependencies = [
-          sources."cookie-0.4.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."express-session-1.16.2" // {
+      (sources."express-session-1.17.0" // {
         dependencies = [
           sources."depd-2.0.0"
         ];
       })
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -61904,26 +64134,30 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs.notify-0.0.4"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
       sources."help-me-1.1.0"
       sources."htmlparser2-3.10.1"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      (sources."https-proxy-agent-2.2.2" // {
+      (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -61937,11 +64171,15 @@ in
       sources."ini-1.3.5"
       sources."ipaddr.js-1.9.0"
       sources."is-absolute-1.0.0"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-3.1.0"
       sources."is-negated-glob-1.0.0"
+      sources."is-regex-1.0.5"
       sources."is-relative-1.0.0"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
       sources."is-utf8-0.2.1"
@@ -61954,7 +64192,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonata-1.6.5"
+      sources."jsonata-1.7.0"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
       sources."leven-2.1.0"
@@ -61980,8 +64218,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."minipass-2.9.0" // {
@@ -62000,6 +64238,7 @@ in
       (sources."mqtt-2.18.8" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -62021,23 +64260,29 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-red-node-rbe-0.2.5"
+      sources."node-red-node-rbe-0.2.6"
       sources."node-red-node-tail-0.0.3"
       sources."nopt-4.0.1"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."oauth2orize-1.11.0"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.7.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       (sources."ordered-read-streams-1.0.1" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -62057,7 +64302,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -62081,7 +64326,7 @@ in
       })
       sources."retry-0.6.1"
       sources."rimraf-2.7.1"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semver-6.3.0"
@@ -62100,14 +64345,12 @@ in
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."streamsearch-0.1.2"
       sources."string-width-1.0.2"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.0"
-        ];
-      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      sources."string_decoder-1.3.0"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."tail-2.0.3"
@@ -62119,6 +64362,7 @@ in
       (sources."through2-2.0.5" // {
         dependencies = [
           sources."readable-stream-2.3.6"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -62135,7 +64379,7 @@ in
       sources."type-1.2.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.6.0"
+      sources."uglify-js-3.6.9"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.3"
       sources."ultron-1.1.1"
@@ -62145,23 +64389,36 @@ in
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
       sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.0.0"
       sources."utils-merge-1.0.1"
       sources."uuid-3.3.3"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       (sources."websocket-stream-5.5.0" // {
         dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
-          sources."ws-3.3.3"
+          (sources."readable-stream-2.3.6" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."string_decoder-1.1.1" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
+          (sources."ws-3.3.3" // {
+            dependencies = [
+              sources."safe-buffer-5.1.2"
+            ];
+          })
         ];
       })
       sources."when-3.7.8"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
       sources."ws-6.2.1"
-      sources."xml2js-0.4.19"
-      sources."xmlbuilder-9.0.7"
+      sources."xml2js-0.4.22"
+      sources."xmlbuilder-11.0.1"
       sources."xtend-4.0.2"
       sources."yallist-2.1.2"
     ];
@@ -62193,7 +64450,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -62216,7 +64473,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."findit-2.0.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -62236,7 +64493,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -62256,8 +64513,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.9.0"
@@ -62301,7 +64558,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -62310,7 +64567,7 @@ in
         ];
       })
       sources."request-2.88.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
@@ -62334,7 +64591,7 @@ in
       })
       sources."strip-ansi-3.0.1"
       sources."tar-4.4.13"
-      sources."temp-0.9.0"
+      sources."temp-0.9.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -62368,340 +64625,115 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "1.19.4";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz";
-      sha512 = "VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz";
+      sha512 = "GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
       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."array-unique-0.3.2"
-      sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
-      sources."atob-2.1.2"
+      sources."anymatch-3.1.1"
       sources."balanced-match-1.0.0"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      sources."binary-extensions-1.13.1"
+      sources."binary-extensions-2.0.0"
       sources."boxen-1.3.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."cache-base-1.0.1"
+      sources."braces-3.0.2"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.1"
       sources."chalk-2.4.2"
-      sources."chokidar-2.1.8"
+      sources."chokidar-3.3.1"
       sources."ci-info-1.6.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."kind-of-5.1.0"
-        ];
-      })
       sources."cli-boxes-1.0.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."concat-map-0.0.1"
       sources."configstore-3.1.2"
-      sources."copy-descriptor-0.1.1"
-      sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      (sources."debug-3.2.6" // {
-        dependencies = [
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."decode-uri-component-0.2.0"
+      sources."debug-3.2.6"
       sources."deep-extend-0.6.0"
-      sources."define-property-2.0.2"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.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."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-extendable-0.1.1"
-        ];
-      })
-      sources."for-in-1.0.2"
-      sources."fragment-cache-0.2.1"
-      sources."fsevents-1.2.9"
+      sources."fill-range-7.0.1"
+      sources."fsevents-2.1.2"
       sources."get-stream-3.0.0"
-      sources."get-value-2.0.6"
-      (sources."glob-parent-3.1.0" // {
-        dependencies = [
-          sources."is-glob-3.1.0"
-        ];
-      })
+      sources."glob-parent-5.1.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
       sources."has-flag-3.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."kind-of-4.0.0"
-        ];
-      })
       sources."ignore-by-default-1.0.1"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."inherits-2.0.4"
       sources."ini-1.3.5"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-binary-path-1.0.1"
-      sources."is-buffer-1.1.6"
+      sources."is-binary-path-2.1.0"
       sources."is-ci-1.2.1"
-      sources."is-data-descriptor-1.0.0"
-      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-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."is-number-7.0.0"
       sources."is-obj-1.0.1"
       sources."is-path-inside-1.0.1"
-      sources."is-plain-object-2.0.4"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-windows-1.0.2"
-      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      sources."kind-of-6.0.2"
       sources."latest-version-3.1.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."make-dir-1.3.0"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."micromatch-3.1.10"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."mixin-deep-1.3.2"
-      sources."ms-2.0.0"
-      sources."nan-2.14.0"
-      sources."nanomatch-1.2.13"
+      sources."ms-2.1.2"
       sources."nopt-1.0.10"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-2.0.2"
-      (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-visit-1.0.1"
-      sources."object.pick-1.3.0"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
-      sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
+      sources."picomatch-2.1.1"
       sources."pify-3.0.0"
-      sources."posix-character-classes-0.1.1"
       sources."prepend-http-1.0.4"
-      sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
       sources."pstree.remy-1.1.7"
       sources."rc-1.2.8"
-      sources."readable-stream-2.3.6"
-      sources."readdirp-2.2.1"
-      sources."regex-not-1.0.2"
+      sources."readdirp-3.3.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.3"
-      sources."repeat-string-1.6.1"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
+      sources."safe-buffer-5.2.0"
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      (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."source-map-0.5.7"
-      sources."source-map-resolve-0.5.2"
-      sources."source-map-url-0.4.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."string-width-2.1.1"
-      sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
       sources."term-size-1.2.0"
       sources."timed-out-4.0.1"
-      (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."touch-3.1.0"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
-        ];
-      })
-      (sources."union-value-1.0.1" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
+          sources."ms-2.0.0"
         ];
       })
       sources."unique-string-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."unzip-response-2.0.1"
-      sources."upath-1.2.0"
       sources."update-notifier-2.5.0"
-      sources."urix-0.1.0"
       sources."url-parse-lax-1.0.0"
-      sources."use-3.1.1"
-      sources."util-deprecate-1.0.2"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."write-file-atomic-2.4.3"
@@ -62721,10 +64753,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "6.12.0";
+    version = "6.13.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-6.12.0.tgz";
-      sha512 = "juj5VkB3/k+PWbJUnXD7A/8oc8zLusDnK/sV9PybSalsbOVOTIp5vSE0rz5rQ7BsmUgQS47f/L2GYQnWXaKgnQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-6.13.4.tgz";
+      sha512 = "vTcUL4SCg3AzwInWTbqg1OIaOXlzKSS8Mb8kc5avwrJpcvevDA5J9BhYSuei+fNs3pwOp4lzA5x2FVDXACvoXA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -62739,29 +64771,38 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "3.1.25";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.25.tgz";
-      sha512 = "B2tAgclEby1VyoN4cZp5Zm+iam72jQV1c2uZIcoNwB0cBbJQZaI1Xj+uxkYkoDs2w4DuaM1hQUavIZgfGKkCgg==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-4.0.1.tgz";
+      sha512 = "rDrKAqhQuTYq2EkndroPMZGA9N6tpTotOVOIJoxRa3ZKnb/mOcq2TZv4A4LLSM8+9kZlP+sBwE+XAGh8wWZw/w==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."JSONStream-1.3.5"
+      sources."@types/color-name-1.1.1"
       sources."agent-base-4.3.0"
       sources."agentkeepalive-3.5.2"
+      sources."aggregate-error-3.0.1"
       sources."ansi-align-3.0.0"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.2.0"
       sources."aproba-1.2.0"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.7.1"
-      sources."boxen-3.2.0"
+      sources."bluebird-3.7.2"
+      (sources."boxen-3.2.0" // {
+        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."brace-expansion-1.1.11"
-      sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
-      sources."cacache-12.0.3"
+      sources."cacache-13.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.1.0"
@@ -62770,30 +64811,30 @@ in
         ];
       })
       sources."camelcase-5.3.1"
-      sources."chalk-2.4.2"
+      sources."chalk-3.0.0"
       sources."chownr-1.1.3"
       sources."ci-info-2.0.0"
       sources."cint-8.2.1"
+      sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.0"
       sources."cli-table-0.3.1"
       sources."clone-response-1.0.2"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."colors-1.0.3"
-      sources."commander-3.0.2"
+      sources."commander-4.0.1"
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
       sources."configstore-4.0.0"
       sources."copy-concurrently-1.0.5"
       sources."core-util-is-1.0.2"
       (sources."cross-spawn-5.1.0" // {
         dependencies = [
           sources."lru-cache-4.1.5"
+          sources."which-1.3.1"
           sources."yallist-2.1.2"
         ];
       })
       sources."crypto-random-string-1.0.0"
-      sources."cyclist-1.0.1"
       (sources."debug-3.1.0" // {
         dependencies = [
           sources."ms-2.0.0"
@@ -62801,10 +64842,9 @@ in
       })
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
-      sources."duplexify-3.7.1"
       sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
@@ -62813,39 +64853,37 @@ in
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
-      (sources."execa-0.7.0" // {
-        dependencies = [
-          sources."get-stream-3.0.0"
-        ];
-      })
+      sources."execa-0.7.0"
       sources."fast-diff-1.2.0"
       sources."figgy-pudding-3.5.1"
       sources."find-up-4.1.0"
-      sources."flush-write-stream-1.1.1"
-      sources."from2-2.3.0"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."genfun-5.0.0"
       sources."get-stdin-7.0.0"
-      sources."get-stream-4.1.0"
-      sources."glob-7.1.5"
+      sources."get-stream-3.0.0"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
-      sources."got-9.6.0"
+      (sources."got-9.6.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
       sources."graceful-fs-4.2.3"
       sources."has-ansi-2.0.0"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-2.8.5"
+      sources."hosted-git-info-3.0.2"
       sources."http-cache-semantics-3.8.1"
       sources."http-proxy-agent-2.1.0"
-      sources."https-proxy-agent-2.2.4"
+      sources."https-proxy-agent-3.0.1"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."iferr-0.1.5"
       sources."ignore-walk-3.0.3"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -62864,7 +64902,7 @@ in
       sources."jju-1.4.0"
       sources."js-yaml-3.13.1"
       sources."json-buffer-3.0.0"
-      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.0.1"
       sources."json-parse-helpfulerror-1.0.3"
       (sources."json5-2.1.1" // {
         dependencies = [
@@ -62888,13 +64926,26 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-5.1.1"
       sources."make-dir-1.3.0"
-      sources."make-fetch-happen-5.0.1"
+      sources."make-fetch-happen-6.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
-      sources."mississippi-3.0.0"
+      (sources."minipass-3.1.1" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      sources."minipass-collect-1.0.2"
+      sources."minipass-fetch-1.2.1"
+      sources."minipass-flush-1.0.5"
+      sources."minipass-json-stream-1.0.1"
+      sources."minipass-pipeline-1.2.2"
+      sources."minipass-sized-1.0.3"
+      (sources."minizlib-2.1.0" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."mkdirp-0.5.1"
       sources."move-concurrently-1.0.1"
       sources."ms-2.1.2"
@@ -62906,29 +64957,26 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."node-fetch-npm-2.0.2"
-      (sources."normalize-package-data-2.5.0" // {
+      sources."normalize-url-4.5.0"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      (sources."npm-package-arg-7.0.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."normalize-url-4.5.0"
-      sources."npm-bundled-1.0.6"
-      (sources."npm-package-arg-6.1.1" // {
+      sources."npm-packlist-1.4.7"
+      (sources."npm-pick-manifest-4.0.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-1.4.6"
-      (sources."npm-pick-manifest-3.0.2" // {
+      (sources."npm-registry-fetch-5.0.1" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."safe-buffer-5.2.0"
         ];
       })
-      sources."npm-registry-fetch-4.0.2"
       sources."npm-run-path-2.0.2"
-      sources."object-assign-4.1.1"
-      sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
@@ -62937,14 +64985,10 @@ in
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
       sources."p-locate-4.1.0"
+      sources."p-map-3.0.0"
       sources."p-try-2.2.0"
       sources."package-json-6.5.0"
-      (sources."pacote-9.5.8" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."parallel-transform-1.2.0"
+      sources."pacote-10.2.1"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -62956,45 +65000,31 @@ in
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-1.1.1"
-      sources."prompts-2.2.1"
-      sources."protoduck-5.0.1"
+      sources."prompts-2.3.0"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."minimist-1.2.0"
         ];
       })
-      (sources."rc-config-loader-2.0.4" // {
+      (sources."rc-config-loader-3.0.0" // {
         dependencies = [
           sources."debug-4.1.1"
-          sources."path-exists-3.0.0"
-        ];
-      })
-      (sources."readable-stream-2.3.6" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
         ];
       })
+      sources."read-package-json-fast-1.1.1"
+      sources."readable-stream-2.3.6"
       sources."registry-auth-token-4.0.0"
       sources."registry-url-5.1.0"
       sources."require-from-string-2.0.2"
-      (sources."requireg-0.2.2" // {
-        dependencies = [
-          sources."resolve-1.7.1"
-        ];
-      })
-      sources."resolve-1.12.0"
+      sources."requireg-0.2.2"
+      sources."resolve-1.7.1"
       sources."responselike-1.0.2"
       sources."retry-0.10.1"
       sources."rimraf-2.7.1"
       sources."run-queue-1.0.3"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
       (sources."semver-diff-2.1.0" // {
@@ -63006,54 +65036,53 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."sisteransi-1.0.3"
-      sources."smart-buffer-4.0.2"
-      sources."socks-2.3.2"
+      sources."sisteransi-1.0.4"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
         ];
       })
       sources."spawn-please-0.3.0"
-      sources."spdx-correct-3.1.0"
-      sources."spdx-exceptions-2.2.0"
-      sources."spdx-expression-parse-3.0.0"
-      sources."spdx-license-ids-3.0.5"
       sources."sprintf-js-1.0.3"
-      sources."ssri-6.0.1"
-      sources."stream-each-1.2.3"
-      sources."stream-shift-1.0.0"
+      sources."ssri-7.1.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."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.5.0"
-      sources."tar-4.4.13"
+      sources."supports-color-7.1.0"
+      (sources."tar-5.0.5" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."term-size-1.2.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.5"
       sources."to-readable-stream-1.0.0"
       sources."type-fest-0.3.1"
-      sources."typedarray-0.0.6"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-1.0.0"
-      sources."update-notifier-3.0.1"
+      (sources."update-notifier-3.0.1" // {
+        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."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       (sources."widest-line-2.0.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -63064,8 +65093,6 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.0"
       sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
@@ -63098,7 +65125,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."block-stream-0.0.9"
@@ -63124,7 +65151,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."findit-1.2.0"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -63144,7 +65171,7 @@ in
       })
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-2.0.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -63163,8 +65190,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.3.5"
@@ -63193,7 +65220,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       (sources."readable-stream-2.3.6" // {
@@ -63307,91 +65334,93 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
-      (sources."@babel/core-7.6.4" // {
+      (sources."@babel/core-7.7.7" // {
         dependencies = [
           sources."json5-2.1.1"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.6.4" // {
+      (sources."@babel/generator-7.7.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.0.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-builder-react-jsx-7.3.0"
-      sources."@babel/helper-call-delegate-7.4.4"
-      sources."@babel/helper-define-map-7.5.5"
-      sources."@babel/helper-explode-assignable-expression-7.1.0"
-      sources."@babel/helper-function-name-7.1.0"
-      sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.4"
-      sources."@babel/helper-member-expression-to-functions-7.5.5"
-      sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.5.5"
-      sources."@babel/helper-optimise-call-expression-7.0.0"
+      sources."@babel/helper-annotate-as-pure-7.7.4"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.7.4"
+      sources."@babel/helper-builder-react-jsx-7.7.4"
+      sources."@babel/helper-call-delegate-7.7.4"
+      sources."@babel/helper-create-regexp-features-plugin-7.7.4"
+      sources."@babel/helper-define-map-7.7.4"
+      sources."@babel/helper-explode-assignable-expression-7.7.4"
+      sources."@babel/helper-function-name-7.7.4"
+      sources."@babel/helper-get-function-arity-7.7.4"
+      sources."@babel/helper-hoist-variables-7.7.4"
+      sources."@babel/helper-member-expression-to-functions-7.7.4"
+      sources."@babel/helper-module-imports-7.7.4"
+      sources."@babel/helper-module-transforms-7.7.5"
+      sources."@babel/helper-optimise-call-expression-7.7.4"
       sources."@babel/helper-plugin-utils-7.0.0"
       sources."@babel/helper-regex-7.5.5"
-      sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.5.5"
-      sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.4"
-      sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.6.2"
+      sources."@babel/helper-remap-async-to-generator-7.7.4"
+      sources."@babel/helper-replace-supers-7.7.4"
+      sources."@babel/helper-simple-access-7.7.4"
+      sources."@babel/helper-split-export-declaration-7.7.4"
+      sources."@babel/helper-wrap-function-7.7.4"
+      sources."@babel/helpers-7.7.4"
       sources."@babel/highlight-7.5.0"
-      sources."@babel/parser-7.6.4"
-      sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.5.0"
-      sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.6.2"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.6.2"
-      sources."@babel/plugin-syntax-async-generators-7.2.0"
-      sources."@babel/plugin-syntax-dynamic-import-7.2.0"
-      sources."@babel/plugin-syntax-flow-7.2.0"
-      sources."@babel/plugin-syntax-json-strings-7.2.0"
-      sources."@babel/plugin-syntax-jsx-7.2.0"
-      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.5.0"
-      sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.6.3"
-      sources."@babel/plugin-transform-classes-7.5.5"
-      sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.6.0"
-      sources."@babel/plugin-transform-dotall-regex-7.6.2"
-      sources."@babel/plugin-transform-duplicate-keys-7.5.0"
-      sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-flow-strip-types-7.6.3"
-      sources."@babel/plugin-transform-for-of-7.4.4"
-      sources."@babel/plugin-transform-function-name-7.4.4"
-      sources."@babel/plugin-transform-literals-7.2.0"
-      sources."@babel/plugin-transform-member-expression-literals-7.2.0"
-      sources."@babel/plugin-transform-modules-amd-7.5.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.6.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.5.0"
-      sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.6.3"
-      sources."@babel/plugin-transform-new-target-7.4.4"
-      sources."@babel/plugin-transform-object-super-7.5.5"
-      sources."@babel/plugin-transform-parameters-7.4.4"
-      sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-react-jsx-7.3.0"
-      sources."@babel/plugin-transform-regenerator-7.4.5"
-      sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-shorthand-properties-7.2.0"
-      sources."@babel/plugin-transform-spread-7.6.2"
-      sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.4.4"
-      sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.6.2"
-      sources."@babel/preset-env-7.6.3"
-      sources."@babel/runtime-7.6.3"
-      sources."@babel/template-7.6.0"
-      sources."@babel/traverse-7.6.3"
-      sources."@babel/types-7.6.3"
+      sources."@babel/parser-7.7.7"
+      sources."@babel/plugin-proposal-async-generator-functions-7.7.4"
+      sources."@babel/plugin-proposal-dynamic-import-7.7.4"
+      sources."@babel/plugin-proposal-json-strings-7.7.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.7.7"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.7.7"
+      sources."@babel/plugin-syntax-async-generators-7.7.4"
+      sources."@babel/plugin-syntax-dynamic-import-7.7.4"
+      sources."@babel/plugin-syntax-flow-7.7.4"
+      sources."@babel/plugin-syntax-json-strings-7.7.4"
+      sources."@babel/plugin-syntax-jsx-7.7.4"
+      sources."@babel/plugin-syntax-object-rest-spread-7.7.4"
+      sources."@babel/plugin-syntax-optional-catch-binding-7.7.4"
+      sources."@babel/plugin-syntax-top-level-await-7.7.4"
+      sources."@babel/plugin-transform-arrow-functions-7.7.4"
+      sources."@babel/plugin-transform-async-to-generator-7.7.4"
+      sources."@babel/plugin-transform-block-scoped-functions-7.7.4"
+      sources."@babel/plugin-transform-block-scoping-7.7.4"
+      sources."@babel/plugin-transform-classes-7.7.4"
+      sources."@babel/plugin-transform-computed-properties-7.7.4"
+      sources."@babel/plugin-transform-destructuring-7.7.4"
+      sources."@babel/plugin-transform-dotall-regex-7.7.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.7.4"
+      sources."@babel/plugin-transform-exponentiation-operator-7.7.4"
+      sources."@babel/plugin-transform-flow-strip-types-7.7.4"
+      sources."@babel/plugin-transform-for-of-7.7.4"
+      sources."@babel/plugin-transform-function-name-7.7.4"
+      sources."@babel/plugin-transform-literals-7.7.4"
+      sources."@babel/plugin-transform-member-expression-literals-7.7.4"
+      sources."@babel/plugin-transform-modules-amd-7.7.5"
+      sources."@babel/plugin-transform-modules-commonjs-7.7.5"
+      sources."@babel/plugin-transform-modules-systemjs-7.7.4"
+      sources."@babel/plugin-transform-modules-umd-7.7.4"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.7.4"
+      sources."@babel/plugin-transform-new-target-7.7.4"
+      sources."@babel/plugin-transform-object-super-7.7.4"
+      sources."@babel/plugin-transform-parameters-7.7.7"
+      sources."@babel/plugin-transform-property-literals-7.7.4"
+      sources."@babel/plugin-transform-react-jsx-7.7.7"
+      sources."@babel/plugin-transform-regenerator-7.7.5"
+      sources."@babel/plugin-transform-reserved-words-7.7.4"
+      sources."@babel/plugin-transform-shorthand-properties-7.7.4"
+      sources."@babel/plugin-transform-spread-7.7.4"
+      sources."@babel/plugin-transform-sticky-regex-7.7.4"
+      sources."@babel/plugin-transform-template-literals-7.7.4"
+      sources."@babel/plugin-transform-typeof-symbol-7.7.4"
+      sources."@babel/plugin-transform-unicode-regex-7.7.4"
+      sources."@babel/preset-env-7.7.7"
+      sources."@babel/runtime-7.7.7"
+      sources."@babel/template-7.7.4"
+      sources."@babel/traverse-7.7.4"
+      sources."@babel/types-7.7.4"
       sources."@iarna/toml-2.2.3"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -63401,11 +65430,11 @@ in
       sources."@parcel/watcher-1.12.1"
       sources."@parcel/workers-1.11.0"
       sources."@types/q-1.5.2"
-      sources."abab-2.0.2"
+      sources."abab-2.0.3"
       sources."acorn-5.7.3"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
         ];
       })
       sources."acorn-walk-6.2.0"
@@ -63413,7 +65442,7 @@ in
       sources."alphanum-sort-1.0.2"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."ansi-to-html-0.6.12"
+      sources."ansi-to-html-0.6.13"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -63440,7 +65469,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-plugin-dynamic-import-node-2.3.0"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
@@ -63462,7 +65491,7 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
-      sources."bindings-1.2.1"
+      sources."bindings-1.5.0"
       sources."bn.js-4.11.8"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
@@ -63480,8 +65509,8 @@ in
           sources."pako-1.0.10"
         ];
       })
-      sources."browserslist-4.7.2"
-      (sources."buffer-4.9.1" // {
+      sources."browserslist-4.8.2"
+      (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
         ];
@@ -63495,8 +65524,9 @@ in
       sources."caller-callsite-2.0.0"
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
+      sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001004"
+      sources."caniuse-lite-1.0.30001016"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -63504,6 +65534,12 @@ in
       sources."class-utils-0.3.6"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.3.1"
+      (sources."cliui-5.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."clone-2.1.2"
       sources."coa-2.0.2"
       sources."collection-visit-1.0.0"
@@ -63517,14 +65553,14 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
-      sources."convert-source-map-1.6.0"
+      sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.10"
-      (sources."core-js-compat-3.3.4" // {
+      sources."core-js-2.6.11"
+      (sources."core-js-compat-3.6.0" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-7.0.0"
         ];
       })
       sources."core-util-is-1.0.2"
@@ -63552,7 +65588,7 @@ in
           sources."supports-color-3.2.3"
         ];
       })
-      sources."css-select-2.0.2"
+      sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
       (sources."css-selector-tokenizer-0.7.1" // {
         dependencies = [
@@ -63562,13 +65598,9 @@ in
           sources."regjsparser-0.1.5"
         ];
       })
-      (sources."css-tree-1.0.0-alpha.33" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."css-tree-1.0.0-alpha.37"
       sources."css-unit-converter-1.1.1"
-      sources."css-what-2.1.3"
+      sources."css-what-3.2.1"
       sources."cssesc-0.1.0"
       sources."cssnano-4.1.10"
       sources."cssnano-preset-default-4.0.7"
@@ -63576,20 +65608,14 @@ in
       sources."cssnano-util-get-match-4.0.0"
       sources."cssnano-util-raw-cache-4.0.1"
       sources."cssnano-util-same-parent-4.0.1"
-      (sources."csso-3.5.1" // {
-        dependencies = [
-          sources."css-tree-1.0.0-alpha.29"
-          sources."mdn-data-1.1.4"
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."csso-4.0.2"
       sources."cssom-0.3.8"
       sources."cssstyle-1.4.0"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."date-now-0.1.4"
-      sources."deasync-0.1.15"
+      sources."deasync-0.1.19"
       sources."debug-4.1.1"
+      sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.3"
       (sources."defaults-1.0.3" // {
@@ -63616,10 +65642,10 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."destroy-1.0.4"
       sources."diffie-hellman-5.0.3"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
           sources."entities-2.0.0"
@@ -63636,18 +65662,19 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.296"
-      sources."elliptic-6.5.1"
+      sources."electron-to-chromium-1.3.322"
+      sources."elliptic-6.5.2"
+      sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
-      sources."envinfo-7.4.0"
+      sources."envinfo-7.5.0"
       sources."error-ex-1.3.2"
-      (sources."es-abstract-1.16.0" // {
+      (sources."es-abstract-1.17.0" // {
         dependencies = [
-          sources."object-inspect-1.6.0"
+          sources."object-inspect-1.7.0"
         ];
       })
-      sources."es-to-primitive-1.2.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.9.1"
@@ -63674,11 +65701,13 @@ in
       sources."falafel-2.1.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastparse-1.1.2"
+      sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-4.0.0"
+      sources."find-up-3.0.0"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
@@ -63686,12 +65715,13 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
+      sources."get-caller-file-2.0.5"
       sources."get-port-3.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -63710,7 +65740,7 @@ in
         ];
       })
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -63726,9 +65756,10 @@ in
       sources."html-comment-regex-1.1.2"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-tags-1.2.0"
-      (sources."htmlnano-0.2.4" // {
+      (sources."htmlnano-0.2.5" // {
         dependencies = [
-          sources."terser-4.3.9"
+          sources."posthtml-0.12.0"
+          sources."terser-4.4.3"
         ];
       })
       (sources."htmlparser2-3.10.1" // {
@@ -63756,14 +65787,14 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-color-stop-1.1.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -63772,15 +65803,16 @@ in
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-html-1.1.0"
       sources."is-number-3.0.0"
       sources."is-obj-1.0.1"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-resolvable-1.1.0"
       sources."is-svg-3.0.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-url-1.2.4"
       sources."is-windows-1.0.2"
@@ -63799,7 +65831,7 @@ in
       sources."jsbn-0.1.1"
       (sources."jsdom-14.1.0" // {
         dependencies = [
-          sources."acorn-6.3.0"
+          sources."acorn-6.4.0"
           sources."escodegen-1.12.0"
           sources."ws-6.2.1"
         ];
@@ -63813,6 +65845,7 @@ in
       sources."jsprim-1.4.1"
       sources."kind-of-3.2.2"
       sources."levn-0.3.0"
+      sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
       sources."lodash.clone-4.5.0"
       sources."lodash.memoize-4.1.2"
@@ -63841,8 +65874,8 @@ in
       })
       sources."miller-rabin-4.0.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
@@ -63876,7 +65909,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      (sources."node-releases-1.1.39" // {
+      (sources."node-releases-1.1.43" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -63885,7 +65918,7 @@ in
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
-      sources."nwsapi-2.1.4"
+      sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-copy-0.1.0"
@@ -63893,16 +65926,19 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.getownpropertydescriptors-2.1.0"
       sources."object.pick-1.3.0"
-      sources."object.values-1.1.0"
+      sources."object.values-1.1.1"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.5.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."ora-2.1.0"
       sources."os-browserify-0.3.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
       sources."pako-0.2.9"
       sources."parse-asn1-5.1.5"
       sources."parse-json-4.0.0"
@@ -63911,6 +65947,7 @@ in
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
+      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
@@ -63919,7 +65956,7 @@ in
       sources."physical-cpu-count-2.0.0"
       sources."pn-1.1.0"
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.21" // {
+      (sources."postcss-7.0.25" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
@@ -63986,15 +66023,21 @@ in
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-3.3.1"
       sources."posthtml-0.11.6"
-      sources."posthtml-parser-0.4.1"
+      sources."posthtml-parser-0.4.2"
       sources."posthtml-render-1.1.5"
       sources."prelude-ls-1.1.2"
       sources."private-0.1.8"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."public-encrypt-4.0.3"
       sources."punycode-2.1.1"
+      (sources."purgecss-1.4.2" // {
+        dependencies = [
+          sources."cssesc-3.0.0"
+          sources."postcss-selector-parser-6.0.2"
+        ];
+      })
       sources."q-1.5.1"
       sources."qs-6.5.2"
       sources."querystring-0.2.0"
@@ -64021,7 +66064,7 @@ in
       })
       sources."regexpu-core-4.6.0"
       sources."regjsgen-0.5.1"
-      (sources."regjsparser-0.6.0" // {
+      (sources."regjsparser-0.6.1" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -64035,9 +66078,11 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
-      sources."resolve-1.12.0"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -64062,8 +66107,9 @@ in
           sources."ms-2.1.1"
         ];
       })
-      sources."serialize-to-js-3.0.0"
+      sources."serialize-to-js-3.0.2"
       sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
       sources."set-value-2.0.1"
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
@@ -64092,7 +66138,7 @@ in
       sources."snapdragon-util-3.0.1"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
       (sources."split-string-3.1.0" // {
         dependencies = [
@@ -64103,15 +66149,25 @@ in
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."stable-0.1.8"
-      sources."static-eval-2.0.2"
+      (sources."static-eval-2.0.3" // {
+        dependencies = [
+          sources."escodegen-1.12.0"
+        ];
+      })
       sources."static-extend-0.1.2"
       sources."static-module-2.2.5"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      (sources."string-width-3.1.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       (sources."stylehacks-4.0.3" // {
@@ -64120,13 +66176,13 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      sources."svgo-1.3.0"
+      sources."svgo-1.3.2"
       sources."symbol-tree-3.2.4"
       sources."terser-3.17.0"
       sources."through2-2.0.5"
       sources."timers-browserify-2.0.11"
       sources."timsort-0.3.0"
-      sources."tiny-inflate-1.0.2"
+      sources."tiny-inflate-1.0.3"
       sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
       sources."to-object-path-0.3.0"
@@ -64194,7 +66250,7 @@ in
       sources."vendors-1.0.3"
       sources."verror-1.10.0"
       sources."vlq-0.2.3"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."w3c-hr-time-1.0.1"
       sources."w3c-xmlserializer-1.1.2"
       sources."wcwidth-1.0.1"
@@ -64203,12 +66259,22 @@ in
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-7.1.0"
       sources."which-1.3.1"
-      sources."wordwrap-1.0.0"
+      sources."which-module-2.0.0"
+      sources."word-wrap-1.2.3"
+      (sources."wrap-ansi-5.1.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."xtend-4.0.2"
+      sources."y18n-4.0.0"
+      sources."yargs-14.2.2"
+      sources."yargs-parser-15.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -64245,7 +66311,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.8"
       sources."bencode-2.0.1"
-      sources."big-integer-1.6.47"
+      sources."big-integer-1.6.48"
       sources."bitfield-0.1.0"
       (sources."bittorrent-dht-6.4.2" // {
         dependencies = [
@@ -64295,7 +66361,7 @@ in
       sources."debug-2.6.9"
       sources."decamelize-1.2.0"
       sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."define-properties-1.1.3"
       sources."dns-equal-1.0.0"
@@ -64303,6 +66369,8 @@ in
       sources."dns-txt-2.0.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."external-editor-2.2.0"
       sources."fifo-0.1.4"
@@ -64319,11 +66387,12 @@ in
       sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.1"
       sources."hat-0.0.3"
       sources."hosted-git-info-2.8.5"
       sources."http-headers-3.0.2"
@@ -64351,11 +66420,13 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arguments-1.0.4"
       sources."is-arrayish-0.2.1"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-finite-1.0.2"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."k-bucket-0.6.0"
@@ -64389,8 +66460,10 @@ in
       sources."number-is-nan-1.0.1"
       sources."numeral-2.0.6"
       sources."object-assign-4.1.1"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-0.0.5"
@@ -64447,9 +66520,9 @@ in
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.7.1"
@@ -64481,6 +66554,8 @@ in
       sources."speedometer-0.1.4"
       sources."stream-buffers-2.2.0"
       sources."string-width-1.0.2"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string2compact-1.3.0"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -64520,7 +66595,7 @@ in
         ];
       })
       sources."xmlbuilder-4.0.0"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -64560,7 +66635,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -64655,7 +66730,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."fifo-0.1.4"
       sources."finalhandler-1.1.2"
@@ -64670,7 +66745,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-browser-rtc-1.0.2"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -64733,8 +66808,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -64774,7 +66849,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -64827,7 +66902,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -64888,7 +66963,7 @@ in
       sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."ws-7.2.0"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."yeast-0.1.2"
@@ -64907,10 +66982,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "4.1.6";
+    version = "4.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-4.1.6.tgz";
-      sha512 = "pTeynpUShgdh1fyP1hbqL+Q0ozaCHqDoG46KzkPfdSyUXxhLO/MSxxc7Wcx1Rl2uvu69CeENL85QFgUa/NOp0Q==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-4.6.0.tgz";
+      sha512 = "KTRmtPFUrRfSp3pC7nvg6+MD7KmLZFsnUVNmRgO/zOO/AUsTDIZsbwOqdxZULld7RUfZZmHbSHCGvudIX8Ix8w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -64925,10 +67000,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.18.2";
+    version = "1.19.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
-      sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
+      sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -64940,6 +67015,43 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  pscid = nodeEnv.buildNodePackage {
+    name = "pscid";
+    packageName = "pscid";
+    version = "2.8.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pscid/-/pscid-2.8.5.tgz";
+      sha512 = "I+Obl5HqXpXeGEn7BMhzZN57h48laWh0HX3D84UsABiKqYuhuc+kn8S65idvjcWKiHz1MomXz+ovE+wzV4QMxw==";
+    };
+    dependencies = [
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."concat-map-0.0.1"
+      sources."fs.realpath-1.0.0"
+      sources."gaze-1.1.3"
+      sources."glob-7.1.6"
+      sources."globule-1.3.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."isexe-2.0.0"
+      sources."keypress-0.2.1"
+      sources."lodash-4.17.15"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A lightweight editor experience for PureScript development";
+      homepage = "https://github.com/kritzcreek/pscid#readme";
+      license = "LGPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
@@ -65005,7 +67117,7 @@ in
           sources."readable-stream-3.4.0"
         ];
       })
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
@@ -65014,10 +67126,9 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."dash-ast-1.0.0"
-      sources."date-now-0.1.4"
       sources."defined-1.0.0"
-      sources."deps-sort-2.0.0"
-      sources."des.js-1.0.0"
+      sources."deps-sort-2.0.1"
+      sources."des.js-1.0.1"
       (sources."detective-5.2.0" // {
         dependencies = [
           sources."minimist-1.2.0"
@@ -65026,16 +67137,17 @@ in
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."es6-promise-3.3.1"
       sources."events-2.1.0"
       sources."evp_bytestokey-1.0.3"
+      sources."fast-safe-stringify-2.0.7"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gaze-1.1.3"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.5"
-      sources."globule-1.2.1"
+      sources."glob-7.1.6"
+      sources."globule-1.3.0"
       sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
@@ -65069,7 +67181,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      (sources."module-deps-6.2.1" // {
+      (sources."module-deps-6.2.2" // {
         dependencies = [
           sources."concat-stream-1.6.2"
         ];
@@ -65113,13 +67225,14 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.0"
       sources."sander-0.5.1"
       sources."sha.js-2.4.11"
       sources."shasum-1.0.2"
+      sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
       sources."simple-concat-1.0.0"
       (sources."sorcery-0.10.0" // {
@@ -65144,7 +67257,7 @@ in
         ];
       })
       sources."syntax-error-1.4.0"
-      (sources."temp-0.9.0" // {
+      (sources."temp-0.9.1" // {
         dependencies = [
           sources."rimraf-2.6.3"
         ];
@@ -65152,7 +67265,7 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."timers-browserify-1.4.2"
-      sources."tree-kill-1.2.1"
+      sources."tree-kill-1.2.2"
       sources."tty-browserify-0.0.1"
       sources."typedarray-0.0.6"
       sources."umd-3.0.3"
@@ -65168,7 +67281,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."which-1.3.1"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
@@ -65184,6 +67297,24 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  purescript-psa = nodeEnv.buildNodePackage {
+    name = "purescript-psa";
+    packageName = "purescript-psa";
+    version = "0.7.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/purescript-psa/-/purescript-psa-0.7.3.tgz";
+      sha512 = "qcnhruybTHVunhJqAuurOEWnz1BOOc/7mpcnyH5yxm5caYCejxq8GOE4ZNWbiPMeTlcG79qUPIOz7gx5OVmk2Q==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Error/Warning reporting frontend for psc";
+      homepage = "https://github.com/natefaubion/purescript-psa#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   react-native-cli = nodeEnv.buildNodePackage {
     name = "react-native-cli";
     packageName = "react-native-cli";
@@ -65202,21 +67333,36 @@ in
       sources."colors-0.6.2"
       sources."concat-map-0.0.1"
       sources."cycle-1.0.3"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-2.0.1"
       sources."define-properties-1.1.3"
+      sources."es-abstract-1.17.0"
+      sources."es-get-iterator-1.0.2"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
+      sources."has-symbols-1.0.1"
       sources."i-0.3.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-arguments-1.0.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
+      sources."is-bigint-1.0.0"
+      sources."is-boolean-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-map-2.0.1"
+      sources."is-number-object-1.0.4"
+      sources."is-regex-1.0.5"
+      sources."is-set-2.0.1"
+      sources."is-string-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."is-weakmap-2.0.1"
+      sources."is-weakset-2.0.1"
+      sources."isarray-2.0.5"
       sources."isstream-0.1.2"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -65227,21 +67373,28 @@ in
       })
       sources."mute-stream-0.0.8"
       sources."ncp-0.4.2"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."pkginfo-0.4.1"
       sources."prompt-0.2.14"
       sources."read-1.0.7"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."revalidator-0.1.8"
       sources."rimraf-2.7.1"
       sources."semver-5.7.1"
+      sources."side-channel-1.0.2"
       sources."stack-trace-0.0.10"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."utile-0.2.1"
+      sources."which-boxed-primitive-1.0.1"
+      sources."which-collection-1.0.0"
       (sources."winston-0.8.3" // {
         dependencies = [
           sources."pkginfo-0.3.1"
@@ -65346,7 +67499,7 @@ in
       sources."asynckit-0.4.0"
       sources."aws-sdk-1.18.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-crc32-0.2.1"
       sources."bytes-0.2.1"
@@ -65389,7 +67542,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."formidable-1.0.11"
@@ -65411,8 +67564,8 @@ in
       sources."keypress-0.1.0"
       sources."methods-0.1.0"
       sources."mime-1.2.11"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mkdirp-0.3.5"
       sources."ms-2.1.2"
       sources."multiparty-2.2.0"
@@ -65430,7 +67583,7 @@ in
       })
       sources."pause-0.0.1"
       sources."performance-now-2.1.0"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-0.6.5"
       sources."range-parser-0.0.4"
@@ -65470,10 +67623,10 @@ in
   semver = nodeEnv.buildNodePackage {
     name = "semver";
     packageName = "semver";
-    version = "6.3.0";
+    version = "7.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-      sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+      url = "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz";
+      sha512 = "WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -65526,7 +67679,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       (sources."fast-url-parser-1.1.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -65540,8 +67693,8 @@ in
       sources."isexe-2.0.0"
       sources."json-schema-traverse-0.4.1"
       sources."lru-cache-4.1.5"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
@@ -65594,12 +67747,13 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "1.55.1";
+    version = "1.60.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-1.55.1.tgz";
-      sha512 = "eLHRFKe5norcgw2ZJEwh66hd/khgR9unocAOSzCOyi9fgB3/F4RTAeIaJVtDHZSGpwCI2APmDYzye11NZ86EfA==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-1.60.1.tgz";
+      sha512 = "uYUS0mM5XQODXKs9u+HlqfP+Cim6OL8nzY395W47xkI0D616K0eXbJojo8pz3lyqDPx4jU+cvG36dwiE8MYORg==";
     };
     dependencies = [
+      sources."2-thenable-1.0.0"
       sources."@serverless/cli-1.4.0"
       (sources."@serverless/component-metrics-1.0.8" // {
         dependencies = [
@@ -65612,7 +67766,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."@serverless/enterprise-plugin-3.2.0" // {
+      (sources."@serverless/enterprise-plugin-3.2.6" // {
         dependencies = [
           sources."fs-extra-7.0.1"
           sources."node-fetch-2.6.0"
@@ -65620,7 +67774,7 @@ in
         ];
       })
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-sdk-2.1.2" // {
+      (sources."@serverless/platform-sdk-2.2.1" // {
         dependencies = [
           sources."ramda-0.25.0"
           sources."uuid-3.3.3"
@@ -65629,11 +67783,10 @@ in
       sources."@serverless/template-1.1.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/lodash-4.14.144"
-      sources."accepts-1.3.7"
+      sources."@types/lodash-4.14.149"
       sources."agent-base-4.3.0"
-      sources."ansi-align-2.0.0"
-      sources."ansi-escapes-4.2.1"
+      sources."ansi-align-3.0.0"
+      sources."ansi-escapes-4.3.0"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.1"
@@ -65650,15 +67803,15 @@ in
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-union-3.1.0"
-      sources."array-flatten-1.1.1"
       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."async-1.5.2"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.556.0" // {
+      (sources."aws-sdk-2.595.0" // {
         dependencies = [
           sources."buffer-4.9.1"
           sources."uuid-3.3.2"
@@ -65673,9 +67826,12 @@ in
       sources."base64-js-1.3.1"
       sources."binary-extensions-2.0.0"
       sources."bl-1.2.2"
-      sources."bluebird-3.7.1"
-      sources."body-parser-1.19.0"
-      sources."boxen-1.3.0"
+      sources."bluebird-3.7.2"
+      (sources."boxen-3.2.0" // {
+        dependencies = [
+          sources."type-fest-0.3.1"
+        ];
+      })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-5.4.3"
@@ -65685,7 +67841,6 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       sources."builtin-modules-3.1.0"
-      sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -65693,13 +67848,13 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."cachedir-2.2.0"
-      sources."camelcase-4.1.0"
+      sources."cachedir-2.3.0"
+      sources."camelcase-5.3.1"
       sources."capture-stack-trace-1.0.1"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
-      sources."chokidar-3.2.2"
+      sources."chokidar-3.3.1"
       sources."ci-info-1.6.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -65719,7 +67874,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."cli-boxes-1.0.0"
+      sources."cli-boxes-2.2.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
       sources."clone-response-1.0.2"
@@ -65738,14 +67893,7 @@ in
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
+      sources."cookie-0.3.1"
       sources."cookiejar-2.1.2"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
@@ -65759,7 +67907,8 @@ in
           sources."type-1.2.0"
         ];
       })
-      sources."debug-2.6.9"
+      sources."dayjs-1.8.18"
+      sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
       sources."decompress-4.2.0"
       sources."decompress-response-3.3.0"
@@ -65777,12 +67926,10 @@ in
         ];
       })
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."deferred-0.7.11"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
       sources."dot-prop-4.2.0"
       sources."dotenv-8.2.0"
       (sources."download-5.0.3" // {
@@ -65794,11 +67941,10 @@ in
         ];
       })
       sources."duplexer3-0.1.4"
-      sources."ee-first-1.1.1"
-      sources."encodeurl-1.0.2"
+      sources."emoji-regex-7.0.3"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.4"
-      sources."es5-ext-0.10.51"
+      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
@@ -65807,13 +67953,12 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
-      sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esniff-1.1.0"
       sources."esprima-4.0.1"
-      sources."etag-1.8.1"
+      sources."essentials-1.1.1"
       sources."event-emitter-0.3.5"
       sources."events-1.1.1"
       (sources."execa-0.7.0" // {
@@ -65821,11 +67966,7 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."ext-1.4.0"
       sources."extend-3.0.2"
       sources."extend-shallow-3.0.2"
       sources."external-editor-3.1.0"
@@ -65837,15 +67978,12 @@ in
       sources."filenamify-2.1.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
       sources."find-requires-1.0.0"
       sources."flat-4.1.0"
       sources."for-in-1.0.2"
       sources."form-data-2.5.1"
       sources."formidable-1.2.1"
-      sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
-      sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
       (sources."fs-extra-0.30.0" // {
         dependencies = [
@@ -65853,24 +67991,24 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      (sources."fs2-0.3.6" // {
+      (sources."fs2-0.3.7" // {
         dependencies = [
           sources."type-1.2.0"
         ];
       })
-      sources."fsevents-2.1.1"
+      sources."fsevents-2.1.2"
       sources."get-proxy-2.1.0"
       sources."get-stdin-5.0.1"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."glob-parent-5.1.0"
       sources."global-dirs-0.1.1"
       sources."globby-6.1.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
@@ -65887,11 +68025,9 @@ in
         ];
       })
       sources."http-cache-semantics-4.0.3"
-      sources."http-errors-1.7.2"
       (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.6"
-          sources."ms-2.1.2"
         ];
       })
       sources."iconv-lite-0.4.24"
@@ -65901,15 +68037,20 @@ in
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ini-1.3.5"
       (sources."inquirer-6.5.2" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
+          sources."ansi-regex-3.0.0"
           sources."figures-2.0.0"
+          (sources."string-width-2.1.1" // {
+            dependencies = [
+              sources."strip-ansi-4.0.0"
+            ];
+          })
         ];
       })
-      sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.4"
@@ -65979,13 +68120,11 @@ in
       })
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."media-typer-0.3.0"
       sources."memoizee-0.4.14"
-      sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -65997,13 +68136,12 @@ in
         ];
       })
       sources."moment-2.24.0"
-      sources."ms-2.0.0"
+      sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
-      sources."nanoid-2.1.6"
+      sources."nanoid-2.1.8"
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       sources."ncjsm-4.0.1"
-      sources."negotiator-0.6.2"
       sources."next-tick-1.0.0"
       sources."node-dir-0.1.17"
       sources."node-fetch-1.7.3"
@@ -66033,7 +68171,6 @@ in
       sources."object-hash-1.3.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
-      sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       (sources."opn-5.5.0" // {
@@ -66052,15 +68189,13 @@ in
         ];
       })
       sources."pako-1.0.10"
-      sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."path-loader-1.0.10"
-      sources."path-to-regexp-0.1.7"
       sources."pend-1.2.0"
-      sources."picomatch-2.0.7"
+      sources."picomatch-2.1.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -66069,28 +68204,24 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-queue-2.2.5"
       sources."proto-list-1.2.4"
-      sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      sources."qs-6.7.0"
+      sources."qs-6.9.1"
       sources."querystring-0.2.0"
       sources."ramda-0.26.1"
-      sources."range-parser-1.2.1"
       (sources."raven-1.2.1" // {
         dependencies = [
-          sources."cookie-0.3.1"
           sources."uuid-3.0.0"
         ];
       })
-      sources."raw-body-2.4.0"
       sources."rc-1.2.8"
       (sources."readable-stream-2.3.6" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."readdirp-3.2.0"
+      sources."readdirp-3.3.0"
       sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-4.0.0"
@@ -66116,12 +68247,6 @@ in
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serve-static-1.14.1"
       sources."set-immediate-shim-1.0.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -66129,20 +68254,15 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."setprototypeof-1.1.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shortid-2.2.15"
       sources."signal-exit-3.0.2"
-      (sources."simple-git-1.126.0" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."simple-git-1.129.0"
       sources."slash-1.0.0"
       (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" // {
@@ -66159,12 +68279,13 @@ in
           sources."is-descriptor-0.1.6"
           sources."is-extendable-0.1.1"
           sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
           sources."source-map-0.5.7"
         ];
       })
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.2"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."source-map-url-0.4.0"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
@@ -66187,13 +68308,8 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."stream-promise-3.2.0"
+      sources."string-width-3.1.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -66207,15 +68323,12 @@ in
       (sources."superagent-3.8.3" // {
         dependencies = [
           sources."debug-3.2.6"
-          sources."ms-2.1.2"
         ];
       })
       sources."supports-color-5.5.0"
       (sources."tabtab-3.0.2" // {
         dependencies = [
-          sources."debug-4.1.1"
           sources."es6-promisify-6.0.2"
-          sources."ms-2.1.2"
         ];
       })
       sources."tar-stream-1.6.2"
@@ -66234,14 +68347,12 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."type-2.0.0"
-      sources."type-fest-0.5.2"
-      sources."type-is-1.6.18"
+      sources."type-fest-0.8.1"
       sources."unbzip2-stream-1.3.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -66250,7 +68361,6 @@ in
       })
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
-      sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
           (sources."has-value-0.3.1" // {
@@ -66263,7 +68373,17 @@ in
       })
       sources."untildify-3.0.3"
       sources."unzip-response-2.0.1"
-      sources."update-notifier-2.5.0"
+      (sources."update-notifier-2.5.0" // {
+        dependencies = [
+          sources."ansi-align-2.0.0"
+          sources."ansi-regex-3.0.0"
+          sources."boxen-1.3.0"
+          sources."camelcase-4.1.0"
+          sources."cli-boxes-1.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       (sources."uri-js-3.0.2" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -66275,15 +68395,20 @@ in
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."utils-merge-1.0.1"
       sources."uuid-2.0.3"
-      sources."vary-1.1.2"
       sources."walkdir-0.0.11"
       sources."whatwg-fetch-3.0.0"
       sources."which-1.3.1"
-      sources."widest-line-2.0.1"
+      (sources."widest-line-2.0.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
+      sources."ws-6.2.1"
       sources."xdg-basedir-3.0.0"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
@@ -66324,7 +68449,7 @@ in
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."base64-arraybuffer-0.1.2"
       sources."base64id-0.1.0"
       sources."bcrypt-nodejs-0.0.3"
@@ -66383,7 +68508,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -66429,8 +68554,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."moment-2.7.0"
@@ -66450,7 +68575,7 @@ in
       sources."pause-stream-0.0.11"
       sources."performance-now-2.1.0"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
@@ -66794,6 +68919,7 @@ in
       sources."assert-plus-0.1.5"
       sources."backoff-2.5.0"
       sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."bunyan-1.5.1"
       sources."clone-0.1.6"
@@ -66807,10 +68933,15 @@ in
       sources."ctype-0.5.3"
       sources."dashdash-1.7.3"
       sources."dtrace-provider-0.6.0"
-      sources."ecc-jsbn-0.2.0"
+      sources."ecc-jsbn-0.1.2"
       sources."escape-regexp-component-1.0.2"
       sources."extsprintf-1.2.0"
       sources."formidable-1.2.1"
+      (sources."getpass-0.1.7" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
       sources."glob-6.0.4"
       sources."http-signature-0.11.0"
       sources."inflight-1.0.6"
@@ -66860,13 +68991,16 @@ in
       sources."semver-4.3.6"
       (sources."smartdc-auth-2.3.1" // {
         dependencies = [
+          sources."asn1-0.2.4"
           sources."assert-plus-0.1.2"
           sources."clone-0.1.5"
           sources."dashdash-1.10.1"
           sources."extsprintf-1.0.0"
-          (sources."http-signature-1.2.0" // {
+          (sources."http-signature-1.3.1" // {
             dependencies = [
               sources."assert-plus-1.0.0"
+              sources."dashdash-1.14.1"
+              sources."sshpk-1.16.1"
             ];
           })
           sources."json-schema-0.2.2"
@@ -66926,22 +69060,21 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.239.0";
+    version = "1.265.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.239.0.tgz";
-      sha512 = "f6wGzYA/dZx4VfIJXz/W9taIVx9U3w1lVSDlBDq3TcoaBk9iLR3EMpAILHgNsroLCBk8ymDfzHisO00N7vB+UQ==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.265.0.tgz";
+      sha512 = "L9eNK9J8ZwR9JfwAEZhsFu18x4BzQuGV6vuWsXTTh/lzz2n9mYuC3synWJP5FsdxpPIxU7nG/Y48oDL82kSxyQ==";
     };
     dependencies = [
-      sources."@snyk/cli-interface-2.2.0"
-      sources."@snyk/cocoapods-lockfile-parser-2.0.4"
-      sources."@snyk/composer-lockfile-parser-1.0.3"
-      sources."@snyk/dep-graph-1.12.0"
+      sources."@snyk/cli-interface-2.3.0"
+      sources."@snyk/cocoapods-lockfile-parser-3.0.0"
+      sources."@snyk/composer-lockfile-parser-1.2.0"
+      sources."@snyk/dep-graph-1.13.1"
       sources."@snyk/gemfile-1.2.0"
       sources."@snyk/ruby-semver-2.0.4"
-      (sources."@snyk/snyk-cocoapods-plugin-1.0.3" // {
+      (sources."@snyk/snyk-cocoapods-plugin-2.0.1" // {
         dependencies = [
           sources."@snyk/cli-interface-1.5.0"
-          sources."@snyk/dep-graph-1.13.0"
         ];
       })
       sources."@types/agent-base-4.2.0"
@@ -66949,7 +69082,7 @@ in
       sources."@types/debug-4.1.5"
       sources."@types/events-3.0.0"
       sources."@types/js-yaml-3.12.1"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@types/restify-4.3.6"
       sources."@types/semver-5.5.0"
       sources."@types/xml2js-0.4.3"
@@ -67007,7 +69140,7 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.2"
-      sources."core-js-3.3.4"
+      sources."core-js-3.6.0"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
@@ -67021,7 +69154,6 @@ in
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
-      sources."define-properties-1.1.3"
       (sources."degenerator-1.0.4" // {
         dependencies = [
           sources."esprima-3.1.3"
@@ -67031,7 +69163,7 @@ in
       sources."diff-4.0.1"
       sources."dockerfile-ast-0.0.16"
       sources."dot-prop-4.2.0"
-      (sources."dotnet-deps-parser-4.5.2" // {
+      (sources."dotnet-deps-parser-4.9.0" // {
         dependencies = [
           sources."xml2js-0.4.19"
         ];
@@ -67040,8 +69172,6 @@ in
       sources."email-validator-2.0.4"
       sources."emoji-regex-7.0.3"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
@@ -67068,7 +69198,6 @@ in
           sources."readable-stream-1.1.14"
         ];
       })
-      sources."function-bind-1.1.1"
       sources."get-stream-4.1.0"
       (sources."get-uri-2.0.4" // {
         dependencies = [
@@ -67078,7 +69207,7 @@ in
       })
       sources."git-up-4.0.1"
       sources."git-url-parse-11.1.2"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       (sources."got-6.7.1" // {
         dependencies = [
@@ -67086,10 +69215,8 @@ in
         ];
       })
       sources."graceful-fs-4.2.3"
-      sources."graphlib-2.1.7"
-      sources."has-1.0.3"
+      sources."graphlib-2.1.8"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."hosted-git-info-2.8.5"
       sources."http-errors-1.7.3"
       (sources."http-proxy-agent-2.1.0" // {
@@ -67110,9 +69237,7 @@ in
       sources."invert-kv-1.0.0"
       sources."ip-1.1.5"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
-      sources."is-date-object-1.0.1"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
@@ -67122,11 +69247,9 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."is-wsl-1.1.0"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
@@ -67169,13 +69292,10 @@ in
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."object-hash-1.3.1"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.5.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-locale-1.4.0"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
@@ -67245,7 +69365,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       sources."snyk-config-2.2.3"
       (sources."snyk-docker-plugin-1.33.1" // {
         dependencies = [
@@ -67258,38 +69378,44 @@ in
           sources."debug-4.1.1"
         ];
       })
-      (sources."snyk-gradle-plugin-3.1.0" // {
+      (sources."snyk-gradle-plugin-3.2.2" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
           sources."debug-4.1.1"
         ];
       })
       sources."snyk-module-1.9.1"
-      (sources."snyk-mvn-plugin-2.4.0" // {
+      (sources."snyk-mvn-plugin-2.7.0" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
+          sources."debug-4.1.1"
+          sources."tmp-0.1.0"
           sources."tslib-1.9.3"
         ];
       })
-      sources."snyk-nodejs-lockfile-parser-1.16.0"
-      sources."snyk-nuget-plugin-1.13.0"
+      sources."snyk-nodejs-lockfile-parser-1.16.1"
+      sources."snyk-nuget-plugin-1.16.0"
       sources."snyk-paket-parser-1.5.0"
-      (sources."snyk-php-plugin-1.6.4" // {
+      (sources."snyk-php-plugin-1.7.0" // {
         dependencies = [
+          sources."@snyk/cli-interface-2.2.0"
           sources."tslib-1.9.3"
         ];
       })
       sources."snyk-policy-1.13.5"
-      sources."snyk-python-plugin-1.13.3"
+      sources."snyk-python-plugin-1.16.0"
       sources."snyk-resolve-1.0.1"
       (sources."snyk-resolve-deps-4.4.0" // {
         dependencies = [
-          sources."@types/node-6.14.8"
+          sources."@types/node-6.14.9"
           sources."lru-cache-4.1.5"
           sources."semver-5.7.1"
           sources."yallist-2.1.2"
         ];
       })
-      (sources."snyk-sbt-plugin-2.8.0" // {
+      (sources."snyk-sbt-plugin-2.9.2" // {
         dependencies = [
+          sources."debug-4.1.1"
           sources."tmp-0.1.0"
         ];
       })
@@ -67300,14 +69426,14 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      sources."socks-2.3.2"
+      sources."socks-2.3.3"
       (sources."socks-proxy-agent-4.0.2" // {
         dependencies = [
           sources."agent-base-4.2.1"
         ];
       })
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."sprintf-js-1.0.3"
       sources."statuses-1.5.0"
       (sources."string-width-2.1.1" // {
@@ -67315,8 +69441,6 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string_decoder-0.10.31"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
@@ -67351,7 +69475,7 @@ in
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.0"
       sources."toml-3.0.0"
-      sources."tree-kill-1.2.1"
+      sources."tree-kill-1.2.2"
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
       sources."unique-string-1.0.0"
@@ -67360,14 +69484,13 @@ in
       sources."update-notifier-2.5.0"
       sources."url-parse-lax-1.0.0"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."vscode-languageserver-types-3.14.0"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
       sources."window-size-0.1.4"
       sources."windows-release-3.2.0"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."string-width-3.1.0"
@@ -67376,7 +69499,7 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      (sources."xml2js-0.4.22" // {
+      (sources."xml2js-0.4.23" // {
         dependencies = [
           sources."xmlbuilder-11.0.1"
         ];
@@ -67439,14 +69562,14 @@ in
       sources."has-cors-1.1.0"
       sources."indexof-0.0.1"
       sources."isarray-2.0.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."ms-2.1.2"
       sources."negotiator-0.6.2"
       sources."object-component-0.0.3"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."ms-2.0.0"
@@ -67459,7 +69582,7 @@ in
       })
       sources."socket.io-parser-3.4.0"
       sources."to-array-0.1.4"
-      sources."ws-7.2.0"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
@@ -67515,26 +69638,20 @@ in
       })
       sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
-      sources."define-properties-1.1.3"
       sources."dot-prop-4.2.0"
       sources."draftlog-1.0.12"
       sources."duplexer3-0.1.4"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."execa-0.7.0"
       sources."find-up-2.1.0"
-      sources."function-bind-1.1.1"
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
-      sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
       sources."hosted-git-info-2.8.5"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-3.0.1"
@@ -67543,9 +69660,7 @@ in
       sources."indent-string-3.2.0"
       sources."ini-1.3.5"
       sources."is-arrayish-0.2.1"
-      sources."is-callable-1.1.4"
       sources."is-ci-1.2.1"
-      sources."is-date-object-1.0.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -67553,10 +69668,8 @@ in
       sources."is-path-inside-1.0.1"
       sources."is-plain-obj-1.1.0"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.0.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
       sources."isexe-2.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."latest-version-3.1.0"
@@ -67576,9 +69689,6 @@ in
       sources."ms-2.0.0"
       sources."normalize-package-data-2.5.0"
       sources."npm-run-path-2.0.2"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."onetime-2.0.1"
       (sources."ora-3.4.0" // {
         dependencies = [
@@ -67607,7 +69717,7 @@ in
       sources."redent-2.0.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."restore-cursor-2.0.0"
       sources."round-to-3.0.0"
       sources."safe-buffer-5.2.0"
@@ -67623,8 +69733,6 @@ in
       sources."spdx-license-ids-3.0.5"
       sources."speedtest-net-1.6.0"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."strip-ansi-4.0.0"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
@@ -67638,7 +69746,6 @@ in
       sources."unzip-response-2.0.1"
       sources."update-notifier-2.5.0"
       sources."url-parse-lax-1.0.0"
-      sources."util.promisify-1.0.0"
       sources."validate-npm-package-license-3.0.4"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
@@ -67646,7 +69753,7 @@ in
       sources."wrap-ansi-3.0.1"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."yallist-2.1.2"
       sources."yargs-parser-10.1.0"
@@ -67664,10 +69771,10 @@ in
   ssb-server = nodeEnv.buildNodePackage {
     name = "ssb-server";
     packageName = "ssb-server";
-    version = "15.1.2";
+    version = "15.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ssb-server/-/ssb-server-15.1.2.tgz";
-      sha512 = "lCzCYwQUXQq19kCM59nlF6UY634WCpMqL01gOBp5SuQgawr8DSuuk+RBUZswSTEjwDsL16ltGR8/rtaYvyiZ8A==";
+      url = "https://registry.npmjs.org/ssb-server/-/ssb-server-15.2.0.tgz";
+      sha512 = "iOzvg1HSRuT7k56AdKbeVnqeyc8iTZNMqIcbOv+zc4GBZODc37vtxtv688EnyNVCWuLnBsQBH3HlAYrcolQE7g==";
     };
     dependencies = [
       sources."abstract-leveldown-6.0.3"
@@ -67703,6 +69810,7 @@ in
       sources."bash-color-0.0.4"
       sources."binary-extensions-1.13.1"
       sources."binary-search-1.3.6"
+      sources."bindings-1.5.0"
       (sources."bl-0.8.2" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -67780,7 +69888,7 @@ in
       sources."cross-spawn-6.0.5"
       sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       (sources."deferred-leveldown-5.3.0" // {
         dependencies = [
@@ -67808,8 +69916,8 @@ in
       })
       sources."epidemic-broadcast-trees-7.0.0"
       sources."errno-0.1.7"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."exit-hook-1.1.1"
       sources."expand-brackets-0.1.5"
@@ -67823,6 +69931,7 @@ in
       })
       sources."extend.js-0.0.2"
       sources."extglob-0.3.2"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       (sources."flumecodec-0.0.0" // {
@@ -67833,7 +69942,7 @@ in
       sources."flumedb-1.1.0"
       sources."flumelog-offset-3.4.3"
       sources."flumeview-hashtable-1.1.1"
-      sources."flumeview-level-3.0.13"
+      sources."flumeview-level-3.0.14"
       (sources."flumeview-query-6.3.0" // {
         dependencies = [
           sources."map-filter-reduce-3.2.2"
@@ -67854,7 +69963,7 @@ in
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."get-value-2.0.6"
       sources."glob-6.0.4"
@@ -67866,7 +69975,7 @@ in
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-network-0.0.1"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -67905,14 +70014,14 @@ in
       sources."is-arguments-1.0.4"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-canonical-base64-1.1.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-decimal-1.0.3"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
@@ -67935,8 +70044,8 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-valid-domain-0.0.11"
       sources."is-windows-1.0.2"
@@ -67955,8 +70064,8 @@ in
           sources."readable-stream-3.4.0"
         ];
       })
-      sources."level-js-4.0.1"
-      sources."level-packager-5.1.0"
+      sources."level-js-4.0.2"
+      sources."level-packager-5.1.1"
       sources."level-post-1.0.7"
       (sources."level-sublevel-6.6.5" // {
         dependencies = [
@@ -67983,6 +70092,7 @@ in
       (sources."leveldown-5.4.1" // {
         dependencies = [
           sources."abstract-leveldown-6.2.2"
+          sources."node-gyp-build-4.1.1"
         ];
       })
       sources."levelup-4.3.2"
@@ -68019,13 +70129,13 @@ in
       sources."monotonic-timestamp-0.0.9"
       sources."moo-0.4.3"
       sources."ms-2.1.2"
-      sources."multiblob-1.13.4"
+      sources."multiblob-1.13.6"
       sources."multiblob-http-1.0.0"
       sources."multicb-1.2.2"
       sources."multiserver-3.6.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.4.2"
+      sources."muxrpc-6.4.8"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
       sources."muxrpcli-3.1.2"
@@ -68046,7 +70156,7 @@ in
       sources."ncp-2.0.0"
       sources."nearley-2.19.0"
       sources."nice-try-1.0.5"
-      sources."node-gyp-build-4.1.1"
+      sources."node-gyp-build-4.2.0"
       sources."non-private-ip-1.4.4"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.2"
@@ -68065,14 +70175,15 @@ in
           })
         ];
       })
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
         ];
       })
+      sources."object.assign-4.1.0"
       sources."object.omit-2.0.1"
       (sources."object.pick-1.3.0" // {
         dependencies = [
@@ -68105,7 +70216,7 @@ in
       sources."plur-2.1.2"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
-      sources."private-box-0.3.0"
+      sources."private-box-0.3.1"
       sources."process-nextick-args-2.0.1"
       sources."promisize-1.1.2"
       sources."prr-1.0.1"
@@ -68230,7 +70341,7 @@ in
       })
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."relative-url-1.0.2"
       (sources."remark-3.2.3" // {
         dependencies = [
@@ -68242,7 +70353,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.11.1"
+      sources."resolve-1.13.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
@@ -68250,7 +70361,7 @@ in
       sources."right-pad-1.0.1"
       (sources."rimraf-2.7.1" // {
         dependencies = [
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
         ];
       })
       sources."rng-0.2.2"
@@ -68258,7 +70369,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."secret-handshake-1.1.20"
-      sources."secret-stack-6.3.0"
+      sources."secret-stack-6.3.1"
       sources."semver-5.7.1"
       sources."separator-escape-0.0.0"
       (sources."set-value-2.0.1" // {
@@ -68270,7 +70381,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shellsubstitute-1.2.0"
-      sources."smart-buffer-4.0.2"
+      sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -68298,7 +70409,7 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      sources."socks-2.3.2"
+      sources."socks-2.3.3"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -68315,8 +70426,8 @@ in
       sources."split-string-3.1.0"
       sources."ssb-blobs-1.2.2"
       sources."ssb-caps-1.1.0"
-      sources."ssb-client-4.7.8"
-      sources."ssb-config-3.4.2"
+      sources."ssb-client-4.7.9"
+      sources."ssb-config-3.4.3"
       sources."ssb-db-19.2.0"
       sources."ssb-ebt-5.6.7"
       sources."ssb-friends-4.1.4"
@@ -68330,7 +70441,7 @@ in
       sources."ssb-msgs-5.2.0"
       sources."ssb-no-auth-1.0.0"
       sources."ssb-onion-1.0.0"
-      (sources."ssb-ooo-1.3.1" // {
+      (sources."ssb-ooo-1.3.2" // {
         dependencies = [
           sources."flumecodec-0.0.1"
           sources."level-codec-6.2.0"
@@ -68344,9 +70455,9 @@ in
         ];
       })
       sources."ssb-ref-2.13.9"
-      sources."ssb-replicate-1.3.0"
+      sources."ssb-replicate-1.3.2"
       sources."ssb-unix-socket-1.0.0"
-      sources."ssb-validate-4.0.4"
+      sources."ssb-validate-4.0.5"
       sources."ssb-ws-6.2.3"
       sources."stack-0.1.0"
       (sources."static-extend-0.1.2" // {
@@ -68373,18 +70484,17 @@ in
         ];
       })
       sources."string-width-1.0.2"
-      sources."string.prototype.trim-1.1.2"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trim-1.2.1"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."stringify-entities-1.3.2"
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tape-4.11.0" // {
+      (sources."tape-4.12.0" // {
         dependencies = [
-          sources."deep-equal-1.0.1"
-          sources."glob-7.1.5"
+          sources."glob-7.1.6"
         ];
       })
       sources."text-table-0.2.0"
@@ -68488,7 +70598,7 @@ in
       sources."@sailshq/lodash-3.10.4"
       (sources."@slack/client-3.16.0" // {
         dependencies = [
-          sources."bluebird-3.7.1"
+          sources."bluebird-3.7.2"
           sources."request-2.76.0"
           sources."url-join-0.0.1"
           sources."ws-1.1.5"
@@ -68511,7 +70621,7 @@ in
       })
       (sources."adbkit-apkreader-3.1.2" // {
         dependencies = [
-          sources."bluebird-3.7.1"
+          sources."bluebird-3.7.2"
           sources."debug-0.7.4"
         ];
       })
@@ -68544,13 +70654,13 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.556.0" // {
+      (sources."aws-sdk-2.595.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
       })
       sources."aws-sign2-0.6.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
@@ -68634,7 +70744,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."cookiejar-2.1.2"
       sources."cookies-0.7.1"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."cross-spawn-4.0.2"
@@ -68672,7 +70782,7 @@ in
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
-          sources."ws-7.2.0"
+          sources."ws-7.2.1"
         ];
       })
       (sources."engine.io-client-3.4.0" // {
@@ -68714,7 +70824,7 @@ in
       sources."eyes-0.1.8"
       sources."faker-3.1.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
@@ -68729,6 +70839,7 @@ in
       sources."formidable-1.2.1"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
@@ -68747,7 +70858,7 @@ in
         ];
       })
       sources."graceful-fs-4.2.3"
-      sources."graphlib-2.1.7"
+      sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
       sources."has-1.0.3"
@@ -68799,7 +70910,7 @@ in
       sources."is-my-json-valid-2.20.0"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -68896,8 +71007,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
       sources."minimatch-3.0.4"
@@ -68933,7 +71044,6 @@ in
       sources."options-0.0.6"
       sources."optjs-3.2.2"
       sources."os-locale-3.1.0"
-      sources."os-tmpdir-1.0.2"
       sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
       sources."p-is-promise-2.1.0"
@@ -68979,7 +71089,7 @@ in
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
       sources."pug-code-gen-2.0.2"
@@ -69033,9 +71143,9 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."ret-0.2.2"
-      sources."rethinkdb-2.3.3"
+      sources."rethinkdb-2.4.2"
       sources."retry-0.9.0"
       sources."right-align-0.1.3"
       sources."rimraf-2.4.5"
@@ -69075,7 +71185,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -69138,7 +71248,7 @@ in
           sources."debug-3.2.6"
           sources."form-data-2.5.1"
           sources."ms-2.1.2"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
         ];
@@ -69151,7 +71261,7 @@ in
           sources."esprima-4.0.1"
           sources."js-yaml-3.13.1"
           sources."lodash-3.10.1"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
         ];
       })
       sources."swagger-schema-official-2.0.0-bab6bed"
@@ -69160,13 +71270,14 @@ in
           sources."esprima-4.0.1"
           sources."isarray-0.0.1"
           sources."js-yaml-3.13.1"
-          sources."path-to-regexp-1.7.0"
+          sources."path-to-regexp-1.8.0"
         ];
       })
       sources."switchback-2.0.5"
-      (sources."temp-0.8.3" // {
+      (sources."temp-0.8.4" // {
         dependencies = [
-          sources."rimraf-2.2.8"
+          sources."glob-7.1.6"
+          sources."rimraf-2.6.3"
         ];
       })
       sources."throttleit-1.0.0"
@@ -69264,7 +71375,7 @@ in
       })
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xpath-0.0.5"
       sources."xpath.js-1.1.0"
@@ -69315,10 +71426,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "1.3.0";
+    version = "1.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz";
-      sha512 = "MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==";
+      url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
+      sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
     };
     dependencies = [
       sources."@types/q-1.5.2"
@@ -69329,18 +71440,13 @@ in
       sources."coa-2.0.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."css-select-2.0.2"
+      sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
-      sources."css-tree-1.0.0-alpha.33"
-      sources."css-what-2.1.3"
-      (sources."csso-3.5.1" // {
-        dependencies = [
-          sources."css-tree-1.0.0-alpha.29"
-          sources."mdn-data-1.1.4"
-        ];
-      })
+      sources."css-tree-1.0.0-alpha.37"
+      sources."css-what-3.2.1"
+      sources."csso-4.0.2"
       sources."define-properties-1.1.3"
-      (sources."dom-serializer-0.2.1" // {
+      (sources."dom-serializer-0.2.2" // {
         dependencies = [
           sources."domelementtype-2.0.1"
         ];
@@ -69348,34 +71454,35 @@ in
       sources."domelementtype-1.3.1"
       sources."domutils-1.7.0"
       sources."entities-2.0.0"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."js-yaml-3.13.1"
       sources."mdn-data-2.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."nth-check-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
-      sources."object.values-1.1.0"
+      sources."object.assign-4.1.0"
+      sources."object.getownpropertydescriptors-2.1.0"
+      sources."object.values-1.1.1"
       sources."q-1.5.1"
       sources."sax-1.2.4"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
       sources."stable-0.1.8"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."supports-color-5.5.0"
       sources."unquote-1.1.1"
       sources."util.promisify-1.0.0"
@@ -69428,6 +71535,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."body-parser-1.12.4" // {
         dependencies = [
           sources."debug-2.2.0"
@@ -69503,7 +71611,7 @@ in
       sources."content-type-1.0.4"
       sources."cookiejar-2.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-5.1.0" // {
@@ -69568,6 +71676,7 @@ in
         ];
       })
       sources."figures-1.7.0"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -69582,10 +71691,10 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -69594,13 +71703,13 @@ in
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
-      (sources."graphlib-2.1.7" // {
+      (sources."graphlib-2.1.8" // {
         dependencies = [
           sources."lodash-4.17.15"
         ];
       })
       sources."growl-1.9.2"
-      (sources."handlebars-4.4.5" // {
+      (sources."handlebars-4.5.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -69715,8 +71824,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mixin-deep-1.3.2"
@@ -69783,11 +71892,11 @@ in
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
-          sources."qs-6.9.0"
+          sources."qs-6.9.1"
           sources."superagent-3.8.3"
         ];
       })
-      (sources."path-to-regexp-1.7.0" // {
+      (sources."path-to-regexp-1.8.0" // {
         dependencies = [
           sources."isarray-0.0.1"
         ];
@@ -69960,7 +72069,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.6.4" // {
+      (sources."uglify-js-3.7.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -70031,7 +72140,7 @@ in
       sha256 = "886069ecc5eedf0371b948e8ff66e7f2943c85fe7cfdaa7183e1a3572d55852b";
     };
     dependencies = [
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."ajv-6.10.2"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
@@ -70041,7 +72150,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       (sources."bcrypt-pbkdf-1.0.2" // {
         dependencies = [
           sources."tweetnacl-0.14.5"
@@ -70065,7 +72174,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -70086,8 +72195,10 @@ in
       sources."locate-path-3.0.0"
       sources."long-4.0.0"
       sources."mime-2.4.4"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimist-1.2.0"
+      sources."module-alias-2.2.2"
       sources."moment-2.24.0"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.0"
@@ -70098,7 +72209,7 @@ in
       sources."path-exists-3.0.0"
       sources."performance-now-2.1.0"
       sources."prism-media-0.0.3"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."ramda-0.25.0"
@@ -70119,7 +72230,7 @@ in
       })
       sources."string-width-3.1.0"
       sources."strip-ansi-5.2.0"
-      sources."telegraf-3.33.0"
+      sources."telegraf-3.34.1"
       sources."telegram-typings-3.6.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -70156,7 +72267,7 @@ in
       sha512 = "pVJhZp1vvv2ewgPv6YwNsyCU+ComJdHBtTajDo/EdfGHY2CLCQ53ucgCzvWfFx+KXls0H6sRwnDMY8Qo+aQviw==";
     };
     dependencies = [
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."acorn-loose-6.1.0"
       sources."acorn-walk-6.2.0"
       sources."balanced-match-1.0.0"
@@ -70166,7 +72277,7 @@ in
       sources."enhanced-resolve-2.3.0"
       sources."errno-0.1.7"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -70199,28 +72310,28 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "11.4.0";
+    version = "11.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-11.4.0.tgz";
-      sha512 = "RWzN5JdIiBO8BzCxu1uUYhVTxM2Q7ex4y7eBWEpMdkMvFc4sH2RZ5OI5lDK34Gf8M0C76hmMu3IszcsFJgKfug==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-11.5.0.tgz";
+      sha512 = "RUTUj/OS7UdV1Z7/KA4oQfoUkpt1vaoaFizuMlwRZ9MJMhLHBnnXBMlRKUJd1H0Nj32087xIqi1e2pSwsUBK8Q==";
     };
     dependencies = [
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
       sources."@textlint/ast-node-types-4.2.5"
       sources."@textlint/ast-traverse-2.1.6"
-      sources."@textlint/feature-flag-3.1.4"
-      sources."@textlint/fixer-formatter-3.1.9"
-      sources."@textlint/kernel-3.1.9"
-      sources."@textlint/linter-formatter-3.1.8"
+      sources."@textlint/feature-flag-3.1.5"
+      sources."@textlint/fixer-formatter-3.1.10"
+      sources."@textlint/kernel-3.1.10"
+      sources."@textlint/linter-formatter-3.1.9"
       sources."@textlint/markdown-to-ast-6.1.6"
       sources."@textlint/module-interop-1.0.2"
       sources."@textlint/text-to-ast-3.1.6"
-      sources."@textlint/textlint-plugin-markdown-5.1.9"
-      sources."@textlint/textlint-plugin-text-4.1.9"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/textlint-plugin-markdown-5.1.10"
+      sources."@textlint/textlint-plugin-text-4.1.10"
+      sources."@textlint/types-1.2.3"
       sources."@textlint/utils-1.0.3"
-      sources."@types/bluebird-3.5.28"
+      sources."@types/bluebird-3.5.29"
       sources."ajv-4.11.8"
       sources."ajv-keywords-1.5.1"
       sources."ansi-regex-2.1.1"
@@ -70228,7 +72339,7 @@ in
       sources."argparse-1.0.10"
       sources."bail-1.0.4"
       sources."balanced-match-1.0.0"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."boundary-1.0.1"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
@@ -70245,13 +72356,13 @@ in
       sources."core-util-is-1.0.2"
       sources."crypt-0.0.2"
       sources."debug-4.1.1"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-is-0.1.3"
       sources."define-properties-1.1.3"
       sources."diff-4.0.1"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
@@ -70265,11 +72376,11 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-5.0.1"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."hosted-git-info-2.8.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -70278,15 +72389,15 @@ in
       sources."is-arguments-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
       sources."is-decimal-1.0.3"
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-hexadecimal-1.0.3"
       sources."is-plain-obj-1.1.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."is-utf8-0.2.1"
       sources."is-whitespace-character-1.0.3"
       sources."is-word-character-1.0.3"
@@ -70314,12 +72425,12 @@ in
       sources."ms-2.1.2"
       sources."normalize-package-data-2.5.0"
       sources."number-is-nan-1.0.1"
-      sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
       sources."once-1.4.0"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
       sources."p-try-1.0.0"
@@ -70336,7 +72447,7 @@ in
       sources."pluralize-2.0.0"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
-      sources."rc-config-loader-2.0.4"
+      sources."rc-config-loader-3.0.0"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-3.0.0" // {
         dependencies = [
@@ -70349,13 +72460,13 @@ in
         ];
       })
       sources."readable-stream-2.3.6"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."remark-frontmatter-1.3.2"
       sources."remark-parse-5.0.0"
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
@@ -70367,9 +72478,9 @@ in
       sources."sprintf-js-1.0.3"
       sources."state-toggle-1.0.2"
       sources."string-width-1.0.2"
-      sources."string.prototype.padstart-3.0.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.padstart-3.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -70395,16 +72506,16 @@ in
       sources."unified-6.2.0"
       sources."unique-concat-0.2.2"
       sources."unist-util-is-3.0.0"
-      sources."unist-util-remove-position-1.1.3"
+      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."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."vfile-2.3.0"
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-1.0.3"
       sources."x-is-string-0.1.0"
@@ -70453,9 +72564,22 @@ in
     };
     dependencies = [
       sources."define-properties-1.1.3"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."match-index-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."object.assign-4.1.0"
+      sources."regexp.prototype.flags-1.3.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -70477,7 +72601,7 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/types-1.2.3"
       sources."alex-5.1.0"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
@@ -70513,6 +72637,7 @@ in
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."isarray-1.0.0"
+          sources."process-nextick-args-2.0.1"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
         ];
@@ -70524,7 +72649,7 @@ in
       sources."crypto-random-string-1.0.0"
       sources."currently-unhandled-0.4.1"
       sources."cuss-1.17.0"
-      sources."debug-0.8.1"
+      sources."debug-4.1.1"
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."dot-prop-4.2.0"
@@ -70545,9 +72670,9 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-stdin-4.0.1"
       sources."get-stream-3.0.0"
-      sources."git-diff-tree-1.0.0"
-      sources."git-spawned-stream-0.1.1"
-      sources."glob-7.1.5"
+      sources."git-diff-tree-1.1.0"
+      sources."git-spawned-stream-1.0.1"
+      sources."glob-7.1.6"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
@@ -70608,7 +72733,7 @@ in
       sources."meow-3.7.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      sources."ms-2.0.0"
+      sources."ms-2.1.2"
       sources."nlcst-is-literal-1.2.0"
       sources."nlcst-normalize-2.1.3"
       sources."nlcst-search-1.5.1"
@@ -70639,7 +72764,7 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pluralize-7.0.0"
       sources."prepend-http-1.0.4"
-      sources."process-nextick-args-2.0.1"
+      sources."process-nextick-args-1.0.7"
       sources."pseudomap-1.0.2"
       sources."pump-1.0.3"
       sources."pump-chain-1.0.0"
@@ -70658,9 +72783,9 @@ in
       sources."repeat-string-1.6.1"
       sources."repeating-2.0.1"
       sources."replace-ext-1.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-5.0.0"
-      sources."retext-english-3.0.3"
+      sources."retext-english-3.0.4"
       sources."retext-equality-3.2.0"
       sources."retext-profanities-4.4.0"
       sources."safe-buffer-5.1.2"
@@ -70706,11 +72831,10 @@ in
       sources."term-size-1.2.0"
       sources."textlint-rule-helper-2.1.1"
       sources."through-2.3.8"
-      (sources."through2-2.0.5" // {
+      (sources."through2-2.0.0" // {
         dependencies = [
           sources."isarray-1.0.0"
-          sources."readable-stream-2.3.6"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-2.0.6"
         ];
       })
       sources."timed-out-4.0.1"
@@ -70726,14 +72850,15 @@ in
       (sources."unified-engine-4.0.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
       sources."unified-message-control-1.0.4"
       sources."unique-string-1.0.0"
       sources."unist-util-is-3.0.0"
-      sources."unist-util-modify-children-1.1.4"
-      sources."unist-util-position-3.0.3"
-      sources."unist-util-remove-position-1.1.3"
+      sources."unist-util-modify-children-1.1.5"
+      sources."unist-util-position-3.0.4"
+      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-children-1.1.3"
@@ -70746,7 +72871,7 @@ in
       sources."validate-npm-package-license-3.0.4"
       sources."vfile-2.3.0"
       sources."vfile-find-up-2.0.2"
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
       (sources."vfile-reporter-4.0.0" // {
         dependencies = [
@@ -70911,34 +73036,32 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."buffer-from-1.1.1"
-      sources."concat-stream-1.6.2"
-      sources."core-util-is-1.0.2"
+      sources."concat-stream-2.0.0"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."inherits-2.0.4"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."isarray-1.0.0"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."object.values-1.1.0"
-      sources."process-nextick-args-2.0.1"
-      sources."readable-stream-2.3.6"
-      sources."safe-buffer-5.1.2"
-      sources."sentence-splitter-3.1.0"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
-      sources."string_decoder-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."object.values-1.1.1"
+      sources."readable-stream-3.4.0"
+      sources."safe-buffer-5.2.0"
+      sources."sentence-splitter-3.2.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      sources."string_decoder-1.3.0"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
       sources."typedarray-0.0.6"
@@ -70971,19 +73094,20 @@ in
       sources."define-properties-1.1.3"
       sources."emoji-regex-6.5.1"
       sources."end-with-1.0.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."object.assign-4.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71005,7 +73129,7 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."lodash-4.17.15"
       sources."split-lines-2.0.0"
@@ -71035,7 +73159,7 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/types-1.2.3"
       sources."boundary-1.0.1"
       sources."lodash-4.17.15"
       sources."strip-json-comments-3.0.1"
@@ -71064,22 +73188,23 @@ in
       sha512 = "kkbsbUlI3Gw4VTr79E825+2wuxPG8dM8T4VjEH25zlNhh3j8vpsVDjpbXRkVFl+EvDBCtDZEDaFPwhXy85toVQ==";
     };
     dependencies = [
-      sources."array-includes-3.0.3"
+      sources."array-includes-3.1.0"
       sources."define-properties-1.1.3"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
-      sources."is-callable-1.1.4"
+      sources."has-symbols-1.0.1"
+      sources."is-callable-1.1.5"
       sources."is-capitalized-1.0.0"
-      sources."is-date-object-1.0.1"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
-      sources."object-inspect-1.6.0"
+      sources."is-date-object-1.0.2"
+      sources."is-regex-1.0.5"
+      sources."is-symbol-1.0.3"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."object.assign-4.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71101,13 +73226,13 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.2.5"
-      sources."@textlint/types-1.2.2"
+      sources."@textlint/types-1.2.3"
       sources."adverb-where-0.0.9"
       sources."boundary-1.0.1"
       sources."define-properties-1.1.3"
       sources."e-prime-0.10.2"
       sources."function-bind-1.1.1"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."no-cliches-0.1.1"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
@@ -71134,10 +73259,10 @@ in
   thelounge = nodeEnv.buildNodePackage {
     name = "thelounge";
     packageName = "thelounge";
-    version = "3.2.0";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge/-/thelounge-3.2.0.tgz";
-      sha512 = "yOS19bt2O0l6DGAiJRad6DFMmDHmDVylfInLthNl9YfMfgSoC7aZcT7fofTe9htAE4SRfac9YsgKEtmywQ+MkA==";
+      url = "https://registry.npmjs.org/thelounge/-/thelounge-3.3.0.tgz";
+      sha512 = "F7qYCmAkb/HPFxZfyKi/gEm24ZzjgUzJb+zI5I5u8b5PNJrfi9RwFb3cmE4pvF2Ft0QejR5O4khuX6DEFFxYDw==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -71161,18 +73286,18 @@ in
       })
       sources."array-flatten-1.1.1"
       sources."arraybuffer.slice-0.0.7"
-      sources."asn1-0.2.3"
+      sources."asn1-0.2.4"
       sources."asn1.js-5.2.0"
       sources."assert-plus-1.0.0"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."backoff-2.5.0"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
-      sources."base64id-1.0.0"
+      sources."base64id-2.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
       sources."better-assert-1.0.2"
@@ -71200,7 +73325,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
-      sources."commander-3.0.0"
+      sources."commander-3.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
@@ -71214,7 +73339,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.3.4"
+      sources."core-js-3.6.0"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -71222,7 +73347,7 @@ in
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -71239,18 +73364,21 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.3.2" // {
+      (sources."engine.io-3.4.0" // {
         dependencies = [
           sources."cookie-0.3.1"
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
         ];
       })
-      (sources."engine.io-client-3.3.2" // {
+      (sources."engine.io-client-3.4.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          sources."ws-6.1.4"
         ];
       })
-      sources."engine.io-parser-2.1.3"
+      sources."engine.io-parser-2.2.0"
       sources."entities-1.1.2"
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
@@ -71264,11 +73392,11 @@ in
         ];
       })
       sources."extend-3.0.2"
-      sources."extsprintf-1.2.0"
+      sources."extsprintf-1.4.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-text-encoding-1.0.0"
-      sources."file-type-12.1.0"
+      sources."file-type-12.3.1"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.1.0"
       sources."finalhandler-1.1.2"
@@ -71282,7 +73410,7 @@ in
       sources."gauge-2.7.4"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.3"
       sources."grapheme-splitter-1.0.4"
@@ -71301,7 +73429,7 @@ in
       })
       sources."http-signature-1.2.0"
       sources."http_ece-1.1.0"
-      (sources."https-proxy-agent-2.2.4" // {
+      (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -71335,11 +73463,8 @@ in
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
       sources."keyv-3.1.0"
-      (sources."ldap-filter-0.2.2" // {
-        dependencies = [
-          sources."assert-plus-0.1.5"
-        ];
-      })
+      sources."ldap-filter-0.3.3"
+      sources."ldapjs-2.0.0-pre.2"
       sources."linkify-it-2.2.0"
       sources."lodash-4.17.15"
       sources."lodash.assignin-4.2.0"
@@ -71390,8 +73515,9 @@ in
       })
       sources."nopt-4.0.1"
       sources."normalize-url-4.5.0"
-      sources."npm-bundled-1.0.6"
-      sources."npm-packlist-1.4.6"
+      sources."npm-bundled-1.1.1"
+      sources."npm-normalize-package-bin-1.0.1"
+      sources."npm-packlist-1.4.7"
       sources."npmlog-4.1.2"
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
@@ -71418,7 +73544,7 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -71451,21 +73577,29 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."signal-exit-3.0.2"
-      (sources."socket.io-2.2.0" // {
+      (sources."socket.io-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
-      (sources."socket.io-client-2.2.0" // {
+      sources."socket.io-adapter-1.1.2"
+      (sources."socket.io-client-2.3.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
+          (sources."socket.io-parser-3.3.0" // {
+            dependencies = [
+              sources."debug-3.1.0"
+              sources."ms-2.0.0"
+            ];
+          })
         ];
       })
-      (sources."socket.io-parser-3.3.0" // {
+      (sources."socket.io-parser-3.4.0" // {
         dependencies = [
-          sources."debug-3.1.0"
+          sources."debug-4.1.1"
+          sources."ms-2.1.2"
         ];
       })
       (sources."socksjs-0.5.0" // {
@@ -71473,7 +73607,7 @@ in
           sources."ipaddr.js-0.1.3"
         ];
       })
-      sources."sqlite3-4.0.9"
+      sources."sqlite3-4.1.0"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
       sources."streamsearch-0.1.2"
@@ -71484,7 +73618,6 @@ in
       sources."strip-outer-1.0.1"
       sources."supports-color-5.5.0"
       sources."tar-4.4.13"
-      sources."thelounge-ldapjs-non-maintained-fork-1.0.4"
       sources."tlds-1.203.1"
       sources."to-array-0.1.4"
       sources."to-readable-stream-1.0.0"
@@ -71507,22 +73640,18 @@ in
       sources."urlsafe-base64-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.3.2"
+      sources."uuid-3.3.3"
       sources."vary-1.1.2"
-      (sources."vasync-1.6.4" // {
-        dependencies = [
-          sources."verror-1.6.0"
-        ];
-      })
+      sources."vasync-2.2.0"
       sources."verror-1.10.0"
-      sources."web-push-3.3.5"
+      sources."web-push-3.4.1"
       sources."wide-align-1.1.3"
-      sources."with-open-file-0.1.6"
+      sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-6.1.4"
+      sources."ws-7.2.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
-      sources."yarn-1.17.3"
+      sources."yarn-1.19.1"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -71538,10 +73667,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.109.0";
+    version = "0.111.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.109.0.tgz";
-      sha512 = "XT99T3Hvgh2CEvwPdHYEunNE+clLK6KiT1U8En7YOgIqTUw4MrLeIc8zxQAJ6wbP8hhJaY5+Cff3jwBPpBa0gA==";
+      url = "https://registry.npmjs.org/three/-/three-0.111.0.tgz";
+      sha512 = "AcTqyGJ3H75AIusOuADy0LsP958QKQwm/YhABHFMzd6RFXPNVay1rlSbbG6WYv7KM72G2THMMwqbjQd4dVHMkQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -71587,7 +73716,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -71606,7 +73735,7 @@ in
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       (sources."fields-0.1.24" // {
         dependencies = [
           sources."colors-0.6.2"
@@ -71617,7 +73746,7 @@ in
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -71635,28 +73764,27 @@ in
       sources."jsprim-1.4.1"
       sources."keypress-0.2.1"
       sources."lodash-4.17.15"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."moment-2.24.0"
       (sources."node-appc-0.2.49" // {
         dependencies = [
-          sources."temp-0.8.3"
+          sources."temp-0.8.4"
         ];
       })
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."optimist-0.6.1"
-      sources."os-tmpdir-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."pkginfo-0.3.1"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."request-2.88.0"
-      sources."rimraf-2.2.8"
+      sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-5.5.1"
@@ -71664,11 +73792,7 @@ in
       sources."sprintf-0.1.5"
       sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
-      (sources."temp-0.9.0" // {
-        dependencies = [
-          sources."rimraf-2.6.3"
-        ];
-      })
+      sources."temp-0.9.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -71689,7 +73813,7 @@ in
       })
       sources."wordwrap-0.0.3"
       sources."wrappy-1.0.2"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71704,10 +73828,10 @@ in
   triton = nodeEnv.buildNodePackage {
     name = "triton";
     packageName = "triton";
-    version = "7.5.0";
+    version = "7.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/triton/-/triton-7.5.0.tgz";
-      sha512 = "t1b1B2H0y9jOUqDm2rr9gQsnI0mm0ws47h+pz8sBWw+Ylw+J664bM/usKPevh38J17zlKo3FisAZvSjcOVfIZQ==";
+      url = "https://registry.npmjs.org/triton/-/triton-7.5.1.tgz";
+      sha512 = "UR/eNGvp3YY/TgrKOV+7QRHFAQVBX5sbnrFIKTMRdX9juzt7t+rlUgNQYMycMB1afBRQXs+r02rfvSKiPJ7xZA==";
     };
     dependencies = [
       sources."asn1-0.2.4"
@@ -71743,7 +73867,7 @@ in
         ];
       })
       sources."glob-5.0.15"
-      (sources."http-signature-1.2.0" // {
+      (sources."http-signature-1.3.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -71835,7 +73959,7 @@ in
           sources."verror-1.1.0"
         ];
       })
-      (sources."sshpk-1.14.1" // {
+      (sources."sshpk-1.16.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -71843,6 +73967,7 @@ in
       (sources."sshpk-agent-1.7.0" // {
         dependencies = [
           sources."assert-plus-1.0.0"
+          sources."sshpk-1.14.2"
         ];
       })
       (sources."string_decoder-1.1.1" // {
@@ -71902,25 +74027,35 @@ in
       sha512 = "N8E1X543CWEjg0/A70ZnA/kfAfAY/uogILsIuWBhHGxzv9kaJaj7/JCSwDiBH86CPEy37chSgW86KxVeYKsswQ==";
     };
     dependencies = [
-      sources."@types/node-6.14.8"
+      sources."@types/node-6.14.9"
       sources."ansi-0.3.1"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
       sources."chalk-1.1.3"
       sources."colors-1.4.0"
+      sources."concat-map-0.0.1"
       sources."diff-2.2.3"
       sources."escape-string-regexp-1.0.5"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.6"
       sources."has-ansi-2.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."minimatch-3.0.4"
       sources."minimist-0.0.10"
       sources."node-color-readline-1.0.1"
+      sources."once-1.4.0"
       sources."optimist-0.6.1"
-      sources."os-tmpdir-1.0.2"
-      sources."rimraf-2.2.8"
+      sources."path-is-absolute-1.0.1"
+      sources."rimraf-2.6.3"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
-      sources."temp-0.8.3"
+      sources."temp-0.8.4"
       sources."tslib-1.10.0"
       sources."wordwrap-0.0.3"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71958,10 +74093,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "3.6.4";
+    version = "3.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz";
-      sha512 = "unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz";
+      sha512 = "A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -71993,10 +74128,10 @@ in
       sources."tempy-0.2.1"
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
-      sources."vscode-jsonrpc-5.0.0-next.2"
+      sources."vscode-jsonrpc-5.0.0-next.5"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.15.0-next.9"
-      sources."vscode-languageserver-types-3.15.0-next.5"
+      sources."vscode-languageserver-protocol-3.15.0-next.14"
+      sources."vscode-languageserver-types-3.15.0-next.9"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
     ];
@@ -72012,10 +74147,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.6.4";
+    version = "3.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.4.tgz";
-      sha512 = "9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz";
+      sha512 = "uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==";
     };
     dependencies = [
       sources."commander-2.20.3"
@@ -72034,12 +74169,13 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.4.48";
+    version = "1.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.48.tgz";
-      sha512 = "OnChT88XpseexbxagMAL5wqM9dIZxb5oHCwUXaEZ8ERy77GDzhFKko1DZLWZg6uljrOx1yryBGe7ft8eJ5/O9g==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.1.tgz";
+      sha512 = "ePcMZXXUjAt3Gevn/iBzXjlitmrgOQsNTn2w0d1/+jGhDcr8MxDFRCI5tuYWKsBBXX4/ccSsiBI0aaHd2SzQbQ==";
     };
     dependencies = [
+      sources."@primer/octicons-9.3.1"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."after-0.8.2"
@@ -72056,7 +74192,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -72122,13 +74258,9 @@ in
       sources."diff-4.0.1"
       sources."diff2html-2.8.0"
       sources."dnd-page-scroll-0.0.4"
-      (sources."eachr-3.2.0" // {
-        dependencies = [
-          sources."editions-1.3.4"
-        ];
-      })
+      sources."eachr-3.3.0"
       sources."ecc-jsbn-0.1.2"
-      (sources."editions-2.2.0" // {
+      (sources."editions-2.3.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -72148,7 +74280,7 @@ in
         ];
       })
       sources."engine.io-parser-2.1.3"
-      sources."errlop-1.1.2"
+      sources."errlop-2.0.0"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eve-0.5.4"
@@ -72171,15 +74303,11 @@ in
         ];
       })
       sources."extend-3.0.2"
-      (sources."extract-opts-3.3.1" // {
-        dependencies = [
-          sources."editions-1.3.4"
-        ];
-      })
+      sources."extract-opts-3.4.0"
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       (sources."finalhandler-1.1.1" // {
         dependencies = [
@@ -72198,7 +74326,7 @@ in
       sources."get-stream-4.1.0"
       sources."getmac-1.4.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -72242,7 +74370,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."just-detect-adblock-1.0.0"
-      sources."knockout-3.5.0"
+      sources."knockout-3.5.1"
       sources."lcid-2.0.0"
       sources."locate-path-3.0.0"
       sources."locks-0.2.2"
@@ -72260,8 +74388,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -72277,7 +74405,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-6.9.2"
+      sources."npm-6.12.1"
       (sources."npm-package-arg-6.1.1" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -72295,7 +74423,6 @@ in
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-component-0.0.3"
-      sources."octicons-3.5.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -72313,7 +74440,7 @@ in
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
       sources."parseurl-1.3.3"
-      sources."passport-0.4.0"
+      sources."passport-0.4.1"
       sources."passport-local-1.0.0"
       sources."passport-strategy-1.0.0"
       sources."path-exists-3.0.0"
@@ -72326,7 +74453,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -72347,7 +74474,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
@@ -72376,7 +74503,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-adapter-1.1.2"
       (sources."socket.io-client-2.2.0" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -72411,7 +74538,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."temp-0.9.0"
+      sources."temp-0.9.1"
       sources."to-array-0.1.4"
       sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
@@ -72422,7 +74549,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."typechecker-4.7.0"
+      sources."typechecker-4.11.0"
       sources."typedarray-0.0.6"
       sources."uid-safe-2.1.5"
       sources."unpipe-1.0.0"
@@ -72565,12 +74692,12 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bl-1.2.2"
-      sources."bluebird-3.7.1"
+      sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.4.3"
       sources."buffer-alloc-1.2.0"
@@ -72630,7 +74757,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
       sources."figures-2.0.0"
       sources."file-type-5.2.0"
@@ -72645,12 +74772,12 @@ in
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.3"
       sources."graceful-readlink-1.0.1"
       sources."gray-matter-2.1.1"
-      sources."handlebars-4.4.5"
+      sources."handlebars-4.5.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-ansi-2.0.0" // {
@@ -72708,8 +74835,8 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -72739,7 +74866,7 @@ in
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."read-metadata-1.0.0"
@@ -72803,7 +74930,7 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.6.4"
+      sources."uglify-js-3.7.2"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.3.3"
       sources."unyield-0.0.1"
@@ -72859,12 +74986,12 @@ in
       sources."@starptech/rehype-minify-whitespace-0.9.0"
       sources."@starptech/rehype-webparser-0.9.0"
       sources."@starptech/webparser-0.9.0"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
-      sources."@types/vfile-message-1.0.1"
+      sources."@types/vfile-message-2.0.0"
       sources."abbrev-1.1.1"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."acorn-jsx-5.1.0"
       sources."ajv-6.10.2"
       sources."ajv-keywords-2.1.1"
@@ -72920,6 +75047,7 @@ in
         ];
       })
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       sources."bootstrap-vue-helper-json-1.1.1"
       sources."boxen-1.3.0"
       sources."brace-expansion-1.1.11"
@@ -73002,7 +75130,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
@@ -73107,11 +75235,12 @@ in
       })
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.3"
       sources."figures-2.0.0"
       sources."file-entry-cache-5.0.1"
+      sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -73127,13 +75256,13 @@ in
       sources."format-0.2.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-base-0.3.0" // {
         dependencies = [
           sources."glob-parent-2.0.0"
@@ -73171,7 +75300,7 @@ in
       sources."hast-util-has-property-1.0.3"
       sources."hast-util-is-body-ok-link-1.0.2"
       sources."hast-util-is-element-1.0.3"
-      sources."hast-util-parse-selector-2.2.2"
+      sources."hast-util-parse-selector-2.2.3"
       sources."hast-util-to-string-1.0.2"
       sources."hast-util-whitespace-1.0.3"
       sources."hosted-git-info-2.8.5"
@@ -73179,7 +75308,7 @@ in
       sources."html-whitespace-sensitive-tag-names-1.0.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-3.3.10"
-      (sources."import-fresh-3.1.0" // {
+      (sources."import-fresh-3.2.1" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
@@ -73264,7 +75393,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.rest-4.0.5"
       sources."lodash.unescape-4.0.1"
-      sources."loglevel-1.6.4"
+      sources."loglevel-1.6.6"
       (sources."loglevel-colored-level-prefix-1.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -73345,7 +75474,7 @@ in
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       (sources."os-locale-3.1.0" // {
         dependencies = [
@@ -73399,7 +75528,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."prepend-http-1.0.4"
       sources."preserve-0.2.0"
-      sources."prettier-1.18.2"
+      sources."prettier-1.19.1"
       (sources."prettier-eslint-8.8.2" // {
         dependencies = [
           sources."acorn-5.7.3"
@@ -73488,7 +75617,7 @@ in
           sources."resolve-from-1.0.1"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -73657,11 +75786,11 @@ in
       sources."trim-trailing-lines-1.1.2"
       sources."trough-1.0.4"
       sources."tslib-1.10.0"
-      sources."tslint-5.20.0"
+      sources."tslint-5.20.1"
       sources."tsutils-2.29.0"
       sources."type-check-0.3.2"
       sources."typedarray-0.0.6"
-      sources."typescript-3.6.4"
+      sources."typescript-3.7.4"
       (sources."typescript-eslint-parser-16.0.1" // {
         dependencies = [
           sources."semver-5.5.0"
@@ -73684,8 +75813,8 @@ in
       sources."unist-util-find-1.0.1"
       sources."unist-util-inspect-4.1.4"
       sources."unist-util-is-2.1.3"
-      sources."unist-util-modify-children-1.1.4"
-      sources."unist-util-remove-position-1.1.3"
+      sources."unist-util-modify-children-1.1.5"
+      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" // {
@@ -73713,17 +75842,17 @@ in
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
-      (sources."vfile-4.0.1" // {
+      (sources."vfile-4.0.2" // {
         dependencies = [
-          sources."unist-util-stringify-position-2.0.1"
-          sources."vfile-message-2.0.1"
+          sources."unist-util-stringify-position-2.0.2"
+          sources."vfile-message-2.0.2"
         ];
       })
-      sources."vfile-location-2.0.5"
+      sources."vfile-location-2.0.6"
       sources."vfile-message-1.1.1"
       (sources."vfile-reporter-5.1.2" // {
         dependencies = [
-          sources."unist-util-stringify-position-2.0.1"
+          sources."unist-util-stringify-position-2.0.2"
         ];
       })
       sources."vfile-sort-2.2.1"
@@ -73734,14 +75863,14 @@ in
           sources."vscode-languageserver-types-3.14.0"
         ];
       })
-      sources."vscode-jsonrpc-5.0.0-next.2"
+      sources."vscode-jsonrpc-5.0.0-next.5"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.15.0-next.9"
-      sources."vscode-languageserver-types-3.15.0-next.5"
+      sources."vscode-languageserver-protocol-3.15.0-next.14"
+      sources."vscode-languageserver-types-3.15.0-next.9"
       sources."vscode-nls-4.1.1"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
-      (sources."vue-eslint-parser-6.0.4" // {
+      (sources."vue-eslint-parser-6.0.5" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
@@ -73752,7 +75881,7 @@ in
       sources."which-module-2.0.0"
       sources."widest-line-2.0.1"
       sources."window-size-0.2.0"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -73790,25 +75919,25 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "3.2.0";
+    version = "3.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-3.2.0.tgz";
-      sha512 = "UM2ucXzEKs6tD+YT6FjmfIeQtLy4t9CwdwyQl8Nthn2BbGgDLht+wBWsU8VYnNXtrObxX24Co8oaF7Id06JbgA==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-3.2.1.tgz";
+      sha512 = "WzZbCDIjIUshZRVaiYFbaMp/1/xPjW7qeTQ0F7Xx1MYkamZ4RN5dnhxWFz+Hzg6GzhFdny+zucNDKOwYfAV3LA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
       sources."@babel/polyfill-7.6.0"
       sources."@babel/runtime-7.6.2"
-      sources."@babel/runtime-corejs2-7.6.3"
+      sources."@babel/runtime-corejs2-7.7.7"
       sources."@cliqz-oss/firefox-client-0.3.1"
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-12.11.7"
+      sources."@types/node-12.12.21"
       sources."JSONSelect-0.2.1"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."acorn-jsx-5.1.0"
       sources."adbkit-2.11.1"
       sources."adbkit-logcat-1.1.0"
@@ -73865,7 +75994,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       (sources."babel-code-frame-6.26.0" // {
         dependencies = [
           sources."ansi-styles-2.2.1"
@@ -73893,6 +76022,7 @@ in
       sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
+      sources."bindings-1.5.0"
       (sources."bl-1.2.2" // {
         dependencies = [
           (sources."readable-stream-2.3.6" // {
@@ -73941,7 +76071,7 @@ in
       sources."cheerio-1.0.0-rc.3"
       (sources."chokidar-2.1.8" // {
         dependencies = [
-          sources."fsevents-1.2.9"
+          sources."fsevents-1.2.11"
           sources."normalize-path-3.0.0"
         ];
       })
@@ -74004,7 +76134,7 @@ in
       })
       sources."configstore-4.0.0"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.10"
+      sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
       sources."crc-3.8.0"
       (sources."crc32-stream-2.0.0" // {
@@ -74029,13 +76159,13 @@ in
       sources."decamelize-3.2.0"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.0"
+      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
       sources."deepcopy-0.6.3"
       sources."deepmerge-4.0.0"
       sources."defaults-1.0.3"
-      sources."defer-to-connect-1.0.2"
+      sources."defer-to-connect-1.1.1"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
@@ -74061,9 +76191,9 @@ in
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
-      sources."es5-ext-0.10.51"
+      sources."es-abstract-1.17.0"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.10.53"
       sources."es6-error-4.1.1"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
@@ -74074,7 +76204,7 @@ in
           sources."es6-symbol-3.1.1"
         ];
       })
-      sources."es6-symbol-3.1.2"
+      sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."escope-3.6.0"
@@ -74168,6 +76298,11 @@ in
           sources."kind-of-5.1.0"
         ];
       })
+      (sources."ext-1.4.0" // {
+        dependencies = [
+          sources."type-2.0.0"
+        ];
+      })
       sources."extend-3.0.2"
       sources."extend-shallow-3.0.2"
       (sources."external-editor-3.1.0" // {
@@ -74185,13 +76320,14 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-json-patch-2.2.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fast-redact-1.5.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fd-slicer-1.1.0"
       sources."figures-2.0.0"
       sources."file-entry-cache-5.0.1"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -74257,7 +76393,7 @@ in
       sources."has-ansi-2.0.0"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -74304,10 +76440,10 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.4"
+      sources."is-callable-1.1.5"
       sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.1"
+      sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-1.0.1"
       sources."is-extglob-2.1.1"
@@ -74328,11 +76464,11 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
       sources."is-property-1.0.2"
-      sources."is-regex-1.0.4"
+      sources."is-regex-1.0.5"
       sources."is-relative-0.1.3"
       sources."is-resolvable-1.1.0"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-windows-1.0.2"
@@ -74406,8 +76542,8 @@ in
         ];
       })
       sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -74466,11 +76602,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.6.0"
-      sources."object-is-1.0.1"
+      sources."object-inspect-1.7.0"
+      sources."object-is-1.0.2"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
-      sources."object.getownpropertydescriptors-2.0.3"
+      sources."object.assign-4.1.0"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -74479,7 +76615,7 @@ in
           sources."is-wsl-1.1.0"
         ];
       })
-      sources."optionator-0.8.2"
+      sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-locale-4.0.0"
       sources."os-shim-0.1.3"
@@ -74526,7 +76662,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -74553,7 +76689,7 @@ in
       sources."rechoir-0.6.2"
       sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.2.0"
+      sources."regexp.prototype.flags-1.3.0"
       sources."regexpp-2.0.1"
       sources."registry-auth-token-4.0.0"
       sources."registry-url-5.1.0"
@@ -74565,7 +76701,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
       sources."require-uncached-1.0.3"
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-from-1.0.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
@@ -74690,8 +76826,8 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-4.0.0"
@@ -74770,7 +76906,6 @@ in
       sources."use-3.1.1"
       sources."user-home-2.0.0"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."uuid-3.3.3"
       sources."verror-1.10.0"
       sources."watchpack-1.6.0"
@@ -74788,7 +76923,7 @@ in
         ];
       })
       sources."winreg-0.0.12"
-      sources."wordwrap-1.0.0"
+      sources."word-wrap-1.2.3"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -74800,7 +76935,7 @@ in
       sources."write-file-atomic-2.4.3"
       sources."ws-7.1.2"
       sources."xdg-basedir-3.0.0"
-      sources."xml2js-0.4.22"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xregexp-4.2.4"
       sources."xtend-4.0.2"
@@ -74839,10 +76974,10 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "4.41.2";
+    version = "4.41.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz";
-      sha512 = "Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz";
+      sha512 = "Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==";
     };
     dependencies = [
       sources."@webassemblyjs/ast-1.8.5"
@@ -74865,7 +77000,7 @@ in
       sources."@webassemblyjs/wast-printer-1.8.5"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-6.3.0"
+      sources."acorn-6.4.0"
       sources."ajv-6.10.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.4.1"
@@ -74898,7 +77033,8 @@ in
       sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
-      sources."bluebird-3.7.1"
+      sources."bindings-1.5.0"
+      sources."bluebird-3.7.2"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -74913,7 +77049,7 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."buffer-4.9.1"
+      sources."buffer-4.9.2"
       sources."buffer-from-1.1.1"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
@@ -74946,7 +77082,7 @@ in
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
-      sources."console-browserify-1.1.0"
+      sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -74956,15 +77092,14 @@ in
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."cyclist-1.0.1"
-      sources."date-now-0.1.4"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."define-property-2.0.2"
-      sources."des.js-1.0.0"
+      sources."des.js-1.0.1"
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexify-3.7.1"
-      sources."elliptic-6.5.1"
+      sources."elliptic-6.5.2"
       sources."emojis-list-2.1.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-4.1.1" // {
@@ -75008,8 +77143,9 @@ in
         ];
       })
       sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figgy-pudding-3.5.1"
+      sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -75023,9 +77159,9 @@ in
       sources."from2-2.3.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.9"
+      sources."fsevents-1.2.11"
       sources."get-value-2.0.6"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -75172,7 +77308,7 @@ in
       sources."safe-regex-1.1.0"
       sources."schema-utils-1.0.0"
       sources."semver-5.7.1"
-      sources."serialize-javascript-1.9.1"
+      sources."serialize-javascript-2.1.2"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -75211,7 +77347,7 @@ in
       sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
-      (sources."source-map-support-0.5.13" // {
+      (sources."source-map-support-0.5.16" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -75239,15 +77375,15 @@ in
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.0"
+      sources."stream-shift-1.0.1"
       sources."string_decoder-1.1.1"
       sources."tapable-1.1.3"
-      (sources."terser-4.3.9" // {
+      (sources."terser-4.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."terser-webpack-plugin-1.4.1" // {
+      (sources."terser-webpack-plugin-1.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -75293,7 +77429,7 @@ in
         ];
       })
       sources."util-deprecate-1.0.2"
-      sources."vm-browserify-1.1.0"
+      sources."vm-browserify-1.1.2"
       sources."watchpack-1.6.0"
       (sources."webpack-sources-1.4.3" // {
         dependencies = [
@@ -75319,10 +77455,10 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "3.3.9";
+    version = "3.3.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz";
-      sha512 = "xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz";
+      sha512 = "u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==";
     };
     dependencies = [
       sources."ansi-regex-4.1.0"
@@ -75665,10 +77801,9 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.0"
-      sources."@types/node-10.17.0"
+      sources."@types/node-10.17.11"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
-      sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.0"
       sources."bencode-2.0.1"
       sources."binary-search-1.3.6"
@@ -75738,7 +77873,6 @@ in
       sources."create-torrent-4.4.1"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
-      sources."define-properties-1.1.3"
       (sources."dlnacasts-0.1.0" // {
         dependencies = [
           sources."mime-1.6.0"
@@ -75750,8 +77884,6 @@ in
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.16.0"
-      sources."es-to-primitive-1.2.0"
       sources."escape-html-1.0.3"
       sources."executable-4.1.1"
       sources."filestream-5.0.0"
@@ -75762,12 +77894,9 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-7.0.0"
-      sources."glob-7.1.5"
-      sources."has-1.0.3"
-      sources."has-symbols-1.0.0"
+      sources."glob-7.1.6"
       sources."he-1.2.0"
       sources."http-node-git://github.com/feross/http-node#webtorrent"
       sources."http-parser-js-0.4.13"
@@ -75778,11 +77907,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.1"
       sources."is-ascii-1.0.0"
-      sources."is-callable-1.1.4"
-      sources."is-date-object-1.0.1"
       sources."is-file-1.0.0"
-      sources."is-regex-1.0.4"
-      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-wsl-2.1.1"
       sources."isarray-1.0.0"
@@ -75830,9 +77955,6 @@ in
       sources."node-gyp-build-3.7.0"
       sources."node-ssdp-2.9.1"
       sources."nodebmc-0.0.7"
-      sources."object-inspect-1.6.0"
-      sources."object-keys-1.1.1"
-      sources."object.getownpropertydescriptors-2.0.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."open-7.0.0"
@@ -75883,14 +78005,14 @@ in
       sources."semver-5.1.1"
       sources."simple-concat-1.0.0"
       sources."simple-get-2.8.1"
-      (sources."simple-peer-9.6.0" // {
+      (sources."simple-peer-9.6.2" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
       })
       sources."simple-sha1-3.0.1"
-      (sources."simple-websocket-8.0.1" // {
+      (sources."simple-websocket-8.1.1" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
@@ -75901,8 +78023,6 @@ in
       sources."stream-to-blob-2.0.0"
       sources."stream-to-blob-url-3.0.0"
       sources."stream-with-known-length-to-buffer-1.0.3"
-      sources."string.prototype.trimleft-2.1.0"
-      sources."string.prototype.trimright-2.1.0"
       sources."string2compact-1.3.0"
       sources."string_decoder-1.3.0"
       sources."thirty-two-1.0.2"
@@ -75933,10 +78053,9 @@ in
       sources."ut_pex-2.0.0"
       sources."utf-8-validate-5.0.2"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."videostream-3.2.1"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-0.107.16" // {
+      (sources."webtorrent-0.107.17" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."decompress-response-4.2.1"
@@ -75947,10 +78066,10 @@ in
       })
       sources."winreg-1.2.4"
       sources."wrappy-1.0.2"
-      sources."ws-7.2.0"
-      sources."xml2js-0.4.22"
+      sources."ws-7.2.1"
+      sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."xmldom-0.1.27"
+      sources."xmldom-0.1.31"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76010,10 +78129,10 @@ in
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.19.1";
+    version = "1.21.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.19.1.tgz";
-      sha512 = "gBnfbL9rYY05Gt0cjJhs/siqQXHYlZalTjK3nXn2QO20xbkIFPob+LlH44ML47GcR4VU9/2dYck1BWFM0Javxw==";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.21.1.tgz";
+      sha512 = "dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -76028,16 +78147,17 @@ in
   yo = nodeEnv.buildNodePackage {
     name = "yo";
     packageName = "yo";
-    version = "3.1.0";
+    version = "3.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yo/-/yo-3.1.0.tgz";
-      sha512 = "boSESRRyvfyns3DfzxF2F0LVV97wSEFbKUi1oC7RwnZTA66KZ7Bo3JjOLe7mM6IjjeI0vEZcr4BbFjrSHh8d0Q==";
+      url = "https://registry.npmjs.org/yo/-/yo-3.1.1.tgz";
+      sha512 = "GFg4QC1xi3gkbHGGUFme8/8XPg3kDISu/qJfx56X207yuv1FSevGY/eKuym7kh0bniCB4n3rseWW+QZXPH8LIw==";
     };
     dependencies = [
+      sources."@babel/runtime-7.7.7"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@sindresorhus/is-0.7.0"
-      sources."aggregate-error-1.0.0"
+      sources."aggregate-error-3.0.1"
       sources."ajv-6.10.2"
       sources."ansi-0.3.1"
       sources."ansi-align-2.0.0"
@@ -76061,7 +78181,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -76075,7 +78195,7 @@ in
         ];
       })
       sources."bin-version-check-3.0.0"
-      sources."boolean-2.0.2"
+      sources."boolean-3.0.0"
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."camelcase-4.1.0"
@@ -76091,6 +78211,7 @@ in
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."lowercase-keys-1.0.0"
         ];
       })
@@ -76119,7 +78240,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."clean-stack-1.3.0"
+      sources."clean-stack-2.2.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-list-0.2.0"
@@ -76140,7 +78261,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.2"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.3.4"
+      sources."core-js-3.6.0"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -76176,11 +78297,7 @@ in
       sources."es6-error-4.1.1"
       sources."es6-promise-4.2.8"
       sources."escape-string-regexp-1.0.5"
-      (sources."execa-0.6.3" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-        ];
-      })
+      sources."execa-1.0.0"
       sources."execall-1.0.0"
       sources."exit-hook-1.1.1"
       (sources."expand-brackets-2.1.4" // {
@@ -76217,14 +78334,14 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-glob-2.2.7"
-      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."filter-obj-1.1.0"
+      sources."filter-obj-2.0.1"
       sources."find-up-2.1.0"
       sources."find-versions-2.0.0"
       sources."first-chunk-stream-2.0.0"
@@ -76235,30 +78352,34 @@ in
       sources."fragment-cache-0.2.1"
       sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."fullname-3.3.0"
-      sources."function-bind-1.1.1"
+      sources."fullname-4.0.1"
       sources."gauge-1.2.7"
       sources."get-stdin-4.0.1"
-      sources."get-stream-3.0.0"
+      sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
       sources."glob-to-regexp-0.3.0"
-      (sources."global-agent-2.1.5" // {
+      (sources."global-agent-2.1.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."global-dirs-0.1.1"
       sources."global-tunnel-ng-2.7.1"
-      sources."globalthis-1.0.0"
+      sources."globalthis-1.0.1"
       sources."globby-8.0.2"
-      sources."got-8.3.2"
+      (sources."got-8.3.2" // {
+        dependencies = [
+          sources."get-stream-3.0.0"
+          sources."p-cancelable-0.4.1"
+        ];
+      })
       sources."graceful-fs-4.2.3"
       sources."grouped-queue-0.3.3"
       sources."har-schema-2.0.0"
@@ -76286,13 +78407,17 @@ in
       sources."ignore-3.3.10"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
-      sources."indent-string-3.2.0"
+      sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
       sources."inquirer-6.5.2"
       sources."insight-0.10.3"
-      sources."into-stream-3.1.0"
+      (sources."into-stream-3.1.0" // {
+        dependencies = [
+          sources."p-is-promise-1.1.0"
+        ];
+      })
       sources."ip-regex-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
@@ -76346,6 +78471,7 @@ in
       sources."kind-of-6.0.2"
       (sources."latest-version-3.1.0" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."got-6.7.1"
           sources."package-json-4.0.1"
           sources."prepend-http-1.0.4"
@@ -76370,15 +78496,16 @@ in
       sources."lru-cache-4.1.5"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
+      sources."map-age-cleaner-0.1.3"
       sources."map-cache-0.2.2"
       sources."map-obj-1.0.1"
       sources."map-visit-1.0.0"
-      (sources."matcher-2.0.0" // {
+      (sources."matcher-2.1.0" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
         ];
       })
-      sources."mem-1.1.0"
+      sources."mem-5.1.1"
       sources."mem-fs-1.1.3"
       (sources."meow-3.7.0" // {
         dependencies = [
@@ -76389,9 +78516,9 @@ in
       })
       sources."merge2-1.3.0"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."mimic-fn-1.2.0"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
@@ -76414,6 +78541,7 @@ in
       sources."npm-conf-1.1.3"
       (sources."npm-keyword-5.0.0" // {
         dependencies = [
+          sources."get-stream-3.0.0"
           sources."got-7.1.0"
           sources."p-cancelable-0.3.0"
           sources."p-timeout-1.2.1"
@@ -76443,19 +78571,24 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
+      (sources."onetime-2.0.1" // {
+        dependencies = [
+          sources."mimic-fn-1.2.0"
+        ];
+      })
       sources."open-6.4.0"
       sources."os-homedir-1.0.2"
       sources."os-name-3.1.0"
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
-      sources."p-any-1.1.0"
-      sources."p-cancelable-0.4.1"
+      sources."p-any-2.1.0"
+      sources."p-cancelable-2.0.0"
+      sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
-      sources."p-is-promise-1.1.0"
+      sources."p-is-promise-2.1.0"
       sources."p-limit-1.3.0"
       sources."p-locate-2.0.0"
-      sources."p-some-2.0.1"
+      sources."p-some-4.1.0"
       sources."p-timeout-2.0.1"
       sources."p-try-1.0.0"
       sources."package-json-5.0.0"
@@ -76463,14 +78596,7 @@ in
       sources."parse-help-1.0.0"
       sources."parse-json-2.2.0"
       sources."pascalcase-0.1.1"
-      (sources."passwd-user-2.1.0" // {
-        dependencies = [
-          sources."execa-0.4.0"
-          sources."npm-run-path-1.0.0"
-          sources."path-key-1.0.0"
-          sources."pify-2.3.0"
-        ];
-      })
+      sources."passwd-user-3.0.0"
       sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
@@ -76492,7 +78618,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
@@ -76523,6 +78649,7 @@ in
           sources."indent-string-2.1.0"
         ];
       })
+      sources."regenerator-runtime-0.13.3"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
@@ -76536,12 +78663,12 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.12.0"
+      sources."resolve-1.14.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
-      sources."roarr-2.14.2"
+      sources."roarr-2.14.6"
       sources."root-check-1.0.0"
       sources."run-async-2.3.0"
       sources."rx-4.1.0"
@@ -76555,7 +78682,11 @@ in
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
       sources."semver-truncate-1.1.2"
-      sources."serialize-error-5.0.0"
+      (sources."serialize-error-5.0.0" // {
+        dependencies = [
+          sources."type-fest-0.8.1"
+        ];
+      })
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -76684,6 +78815,7 @@ in
         dependencies = [
           sources."cross-spawn-5.1.0"
           sources."execa-0.7.0"
+          sources."get-stream-3.0.0"
         ];
       })
       sources."text-table-0.2.0"
@@ -76705,8 +78837,8 @@ in
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."twig-1.13.3"
-      sources."type-fest-0.8.1"
+      sources."twig-1.14.0"
+      sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
       sources."union-value-1.0.1"
       sources."unique-string-1.0.0"
@@ -76742,12 +78874,7 @@ in
       sources."walk-2.3.14"
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
-      (sources."windows-release-3.2.0" // {
-        dependencies = [
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-        ];
-      })
+      sources."windows-release-3.2.0"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -76768,7 +78895,7 @@ in
         ];
       })
       sources."yeoman-doctor-4.0.0"
-      (sources."yeoman-environment-2.5.0" // {
+      (sources."yeoman-environment-2.7.0" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
diff --git a/pkgs/development/node-packages/node-packages-v12.nix b/pkgs/development/node-packages/node-packages-v12.nix
index 885535aab23..79ff0993092 100644
--- a/pkgs/development/node-packages/node-packages-v12.nix
+++ b/pkgs/development/node-packages/node-packages-v12.nix
@@ -697,13 +697,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.5" = {
+    "glob-7.1.6" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.5";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz";
-        sha512 = "J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
     "global-modules-1.0.0" = {
@@ -2047,13 +2047,13 @@ let
         sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
-    "temp-0.9.0" = {
+    "temp-0.9.1" = {
       name = "temp";
       packageName = "temp";
-      version = "0.9.0";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz";
-        sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
       };
     };
     "to-object-path-0.3.0" = {
@@ -2651,7 +2651,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
+      sources."glob-7.1.6"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -2749,7 +2749,7 @@ in
       })
       sources."strip-ansi-3.0.1"
       sources."tar-4.4.13"
-      sources."temp-0.9.0"
+      sources."temp-0.9.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
diff --git a/pkgs/development/node-packages/node-packages-v13.nix b/pkgs/development/node-packages/node-packages-v13.nix
index 1850bb2f082..5858875a41a 100644
--- a/pkgs/development/node-packages/node-packages-v13.nix
+++ b/pkgs/development/node-packages/node-packages-v13.nix
@@ -391,22 +391,22 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.5" = {
+    "glob-7.1.6" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.5";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz";
-        sha512 = "J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
-    "graceful-fs-4.2.2" = {
+    "graceful-fs-4.2.3" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.2";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
-        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
       };
     };
     "har-schema-2.0.0" = {
@@ -1111,13 +1111,13 @@ let
         sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
-    "temp-0.9.0" = {
+    "temp-0.9.1" = {
       name = "temp";
       packageName = "temp";
-      version = "0.9.0";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz";
-        sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==";
+        url = "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz";
+        sha512 = "WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==";
       };
     };
     "tough-cookie-2.4.3" = {
@@ -1319,8 +1319,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.5"
-      sources."graceful-fs-4.2.2"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-unicode-2.0.1"
@@ -1417,7 +1417,7 @@ in
       })
       sources."strip-ansi-3.0.1"
       sources."tar-4.4.13"
-      sources."temp-0.9.0"
+      sources."temp-0.9.1"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix
index c43ad10d7d8..8415dc751d5 100644
--- a/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -6,14 +6,15 @@ let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
     version = "0.8.5";
     sha256 = "1mhckvdcxkikbzgvy24kjz4265l15b86a6swz7m3ynbgvqdcfzqn";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     propagatedBuildInputs = [ uuidm ];
     buildPhase = "dune build -p alcotest";
     inherit (dune) installPhase;
   } else {
     version = "0.7.2";
     sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
-    buildInputs = [ ocamlbuild topkg ];
+    buildInputs = [ topkg ];
+    nativeBuildInputs = [ ocamlbuild ];
     inherit (topkg) buildPhase installPhase;
   };
 in
@@ -27,7 +28,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ param.buildInputs;
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  buildInputs = [ findlib ] ++ (param.buildInputs or []);
 
   propagatedBuildInputs = [ cmdliner astring fmt result ]
   ++ (param.propagatedBuildInputs or []);
diff --git a/pkgs/development/ocaml-modules/alcotest/lwt.nix b/pkgs/development/ocaml-modules/alcotest/lwt.nix
new file mode 100644
index 00000000000..f005421a6fc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/alcotest/lwt.nix
@@ -0,0 +1,16 @@
+{ lib, buildDunePackage, alcotest, logs, ocaml_lwt }:
+
+buildDunePackage {
+  pname = "alcotest-lwt";
+
+  inherit (alcotest) version src;
+
+  propagatedBuildInputs = [ alcotest logs ocaml_lwt ];
+
+  doCheck = true;
+
+  meta = alcotest.meta // {
+    description = "Lwt-based helpers for Alcotest";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index c6d99fa33e7..49fcdbd261a 100644
--- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit topkg ];
+  buildInputs = [ findlib ounit topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs;
 
   buildPhase = "${topkg.run} build --tests true";
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 0766e6e8a8c..a988582ce6c 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}-llvm-plugins/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}-llvm-plugins/"
   '';
 
   nativeBuildInputs = [ which makeWrapper ];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR;
     export PATH=$PATH:$out/bin
-    export CAML_LD_LIBRARY_PATH=$CAML_LD_LIBRARY_PATH:$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
+    export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
     mkdir -p $out/lib/bap
     make install
     rm $out/bin/baptop
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 3b511c7f1cc..b0ad12dad67 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix
index 8f1917d6873..b97c78a399b 100644
--- a/pkgs/development/ocaml-modules/biniou/default.nix
+++ b/pkgs/development/ocaml-modules/biniou/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "biniou";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
-    owner = "mjambon";
+    owner = "ocaml-community";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb";
+    rev = version;
+    sha256 = "0x2kiy809n1j0yf32l7hj102y628jp5jdrkbi3z7ld8jq04h1790";
   };
 
   propagatedBuildInputs = [ easy-format ];
diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix
new file mode 100644
index 00000000000..4f97594fb7c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/biocaml/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub
+, ounit, async, base64, camlzip, cfstream
+, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
+
+buildDunePackage rec {
+  pname = "biocaml";
+  version = "0.10.0";
+
+  owner = "biocaml";
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0dghqx6jbzihmga8jjwwavs0wqksgcns4z1nmwj0ds9ik3mcra30";
+  };
+
+  buildInputs = [ ppx_jane ppx_sexp_conv ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
+
+  meta = with stdenv.lib; {
+    description = "Bioinformatics library for Ocaml";
+    homepage = "http://${owner}.github.io/${pname}";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix
index 0f168daac8c..6b37cf1aed3 100644
--- a/pkgs/development/ocaml-modules/bos/default.nix
+++ b/pkgs/development/ocaml-modules/bos/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 		sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
 	};
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
+	nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+	buildInputs = [ findlib topkg ];
 	propagatedBuildInputs = [ astring fmt fpath logs rresult ];
 
 	inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix
index c1490c3bf19..d0bc2f5a375 100644
--- a/pkgs/development/ocaml-modules/camlzip/default.nix
+++ b/pkgs/development/ocaml-modules/camlzip/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     license = "LGPL+linking exceptions";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
index 21897e3bf10..d206cbf9421 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.2.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     branch = "0.8.2";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.5.nix b/pkgs/development/ocaml-modules/camomile/0.8.5.nix
index eb9cdb78562..dc2049769f3 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.5.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.5.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cfstream/default.nix b/pkgs/development/ocaml-modules/cfstream/default.nix
new file mode 100644
index 00000000000..db6d2b1d440
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cfstream/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, m4, core_kernel, ounit }:
+
+buildDunePackage rec {
+  pname = "cfstream";
+  version = "1.3.0";
+
+  minimumOCamlVersion = "4.04.1";
+
+  src = fetchFromGitHub {
+    owner = "biocaml";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1bpzpci0cx6r3sdk183mm603wgzvvj46nlx0lpx44108anxcxbak";
+  };
+
+  patches = [ ./git_commit.patch ];
+
+  buildInputs = [ m4 ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ core_kernel ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Simple Core-inspired wrapper for standard library Stream module";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cfstream/git_commit.patch b/pkgs/development/ocaml-modules/cfstream/git_commit.patch
new file mode 100644
index 00000000000..5f8d8f5ce31
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cfstream/git_commit.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/jbuild b/lib/jbuild
+index fcc5a39..d72d50c 100644
+--- a/lib/jbuild
++++ b/lib/jbuild
+@@ -10,7 +10,7 @@
+ (rule (
+   (targets (GIT_COMMIT))
+   (deps (../bin/git_commit.sh))
+-  (action (with-stdout-to ${@} (run ${<})))
++  (action (with-stdout-to ${@} (run echo "None")))
+ ))
+ 
+ (rule (
diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix
index 18e06d260f4..731dd476c5d 100644
--- a/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -1,41 +1,28 @@
-{ stdenv, fetchurl, ocaml, findlib, dune, alcotest, cmdliner, fmt, optint, rresult }:
+{ lib, fetchurl, buildDunePackage
+, bigarray-compat, optint
+, cmdliner, fmt, rresult
+, alcotest
+}:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "checkseum is not available for OCaml ${ocaml.version}"
-else
+buildDunePackage rec {
+  version = "0.1.1";
+  pname = "checkseum";
 
-# The C implementation is not portable: x86 only
-let hasC = stdenv.isi686 || stdenv.isx86_64; in
-
-stdenv.mkDerivation rec {
-  version = "0.0.3";
-  name = "ocaml${ocaml.version}-checkseum-${version}";
   src = fetchurl {
-    url = "https://github.com/mirage/checkseum/releases/download/v0.0.3/checkseum-v0.0.3.tbz";
-    sha256 = "12j45zsvil1ynwx1x8fbddhqacc8r1zf7f6h576y3f3yvbg7l1fm";
+    url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
+    sha256 = "0aa2r1l65a5hcgciw6n8r5ij4gpgg0cf9k24isybxiaiz63k94d3";
   };
 
-  postPatch = stdenv.lib.optionalString (!hasC) ''
-    rm -r bin src-c
-  '';
-
-  buildInputs = [ ocaml findlib dune alcotest cmdliner fmt rresult ];
-  propagatedBuildInputs = [ optint ];
-
-  buildPhase = "dune build";
-
-  doCheck = hasC;
-  checkPhase = "dune runtest";
-
-  inherit (dune) installPhase;
+  buildInputs = [ cmdliner fmt rresult ];
+  propagatedBuildInputs = [ bigarray-compat optint ];
+  checkInputs = lib.optionals doCheck [ alcotest ];
 
-  passthru = { inherit hasC; };
+  doCheck = true;
 
   meta = {
     homepage = "https://github.com/mirage/checkseum";
     description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
index 271ec1f2af9..34d57b403b0 100644
--- a/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  nativeBuildInputs = [ ocamlbuild topkg ];
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ topkg ];
   propagatedBuildInputs = [ result ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 1b465c2984e..b12b6e8c265 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -4,23 +4,23 @@
 }:
 
 buildDunePackage rec {
-  version = "2.6.1";
+  version = "2.7";
   pname = "containers";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = "ocaml-containers";
-    rev = version;
-    sha256 = "02iq01pq6047hab5s8zpprwr21cygvzfcfj2lpsyj823f28crhmv";
+    rev = "v${version}";
+    sha256 = "1nsxfgn1g1vpqihb9gd6gsab0bcm70nf9z84cp441c8wsc57hi6a";
   };
 
   buildInputs = [ iter ];
 
-  checkInputs = lib.optionals doCheck [ gen mdx ounit qcheck uutf ];
+  checkInputs = lib.optionals doCheck [ gen mdx.bin ounit qcheck uutf ];
 
   propagatedBuildInputs = [ result uchar ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   meta = {
     homepage = https://github.com/c-cube/ocaml-containers;
diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix
index 10938cf81c2..6c7ecaa4b7a 100644
--- a/pkgs/development/ocaml-modules/cpuid/default.nix
+++ b/pkgs/development/ocaml-modules/cpuid/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
+{ lib, fetchurl, buildDunePackage }:
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cpuid-0.1.0";
+buildDunePackage rec {
+  pname = "cpuid";
+  version = "0.1.2";
+
+  minimumOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = https://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz;
-    sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p";
+    url = "https://github.com/pqwy/cpuid/releases/download/v${version}/cpuid-v${version}.tbz";
+    sha256 = "08ng4mva6qblb5ipkrxbr0my7ndkc4qwcbswkqgbgir864s74m93";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
-
-  inherit (topkg) buildPhase installPhase;
-
   meta = {
     homepage = https://github.com/pqwy/cpuid;
     description = "Detect CPU features from OCaml";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix
index 8d395798979..f6d22100873 100644
--- a/pkgs/development/ocaml-modules/cryptgps/default.nix
+++ b/pkgs/development/ocaml-modules/cryptgps/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 8181433e1ee..50857e159dd 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -5,9 +5,9 @@ assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02"
   then {
-    version = "1.13";
-    url = https://github.com/xavierleroy/cryptokit/archive/release113.tar.gz;
-    sha256 = "1f4jjnp2a911nqw0hbijyv9vygkk6kw5zx75qs49hfm3by6ij8rq";
+    version = "1.14";
+    url = https://github.com/xavierleroy/cryptokit/archive/release114.tar.gz;
+    sha256 = "0wkh72idkb7dahiwyl94hhbq27cc7x9fnmxkpnbqli6wi8wd7d05";
     inherit zarith;
   } else {
     version = "1.10";
@@ -25,8 +25,8 @@ stdenv.mkDerivation {
     inherit (param) url sha256;
   };
 
-  buildInputs = [ zlib ocaml findlib ocamlbuild ncurses ];
-  propagatedBuildInputs = [ param.zarith ];
+  buildInputs = [ ocaml findlib ocamlbuild ncurses ];
+  propagatedBuildInputs = [ param.zarith zlib ];
 
   buildFlags = "setup.data build";
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
     description = "A library of cryptographic primitives for OCaml";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index 828d3a98f9d..753f894e085 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -22,6 +22,5 @@ buildDunePackage rec {
 		license = lib.licenses.mit;
 		maintainers = [ lib.maintainers.vbgl ];
 		homepage = "https://github.com/mirage/decompress";
-		broken = !checkseum.hasC;
 	};
 }
diff --git a/pkgs/development/ocaml-modules/dispatch/default.nix b/pkgs/development/ocaml-modules/dispatch/default.nix
new file mode 100644
index 00000000000..5de61169c36
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dispatch/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildDunePackage, fetchFromGitHub, alcotest, result }:
+
+buildDunePackage rec {
+  pname = "dispatch";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "inhabitedtype";
+    repo = "ocaml-dispatch";
+    rev = "${version}";
+    sha256 = "05kb9zcihk50r2haqz8vrlr7kmaka6vrs4j1z500lmnl877as6qr";
+  };
+
+  propagatedBuildInputs = [ result ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    inherit (src.meta) homepage;
+    license = lib.licenses.bsd3;
+    description = "Path-based dispatching for client- and server-side applications";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/dtoa/default.nix b/pkgs/development/ocaml-modules/dtoa/default.nix
index 87d9ac7a324..16a9f96798c 100644
--- a/pkgs/development/ocaml-modules/dtoa/default.nix
+++ b/pkgs/development/ocaml-modules/dtoa/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "dtoa";
-  version = "0.3.1";
+  version = "0.3.2";
 
   minimumOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "0rzysj07z2q6gk0yhjxnjnba01vmdb9x32wwna10qk3rrb8r2pnn";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "0zkhn0rdq82g6gamsv6nkx6i44s8104nh6jg5xydazl9jl1704xn";
   };
 
   hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
diff --git a/pkgs/development/ocaml-modules/dune-configurator/default.nix b/pkgs/development/ocaml-modules/dune-configurator/default.nix
new file mode 100644
index 00000000000..d84c21565db
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dune-configurator/default.nix
@@ -0,0 +1,17 @@
+{ lib, buildDunePackage, dune_2, dune-private-libs }:
+
+buildDunePackage rec {
+  pname = "dune-configurator";
+
+  inherit (dune_2) src version;
+
+  dontAddPrefix = true;
+
+  propagatedBuildInputs = [ dune-private-libs ];
+
+  meta = with lib; {
+    description = "Helper library for gathering system configuration";
+    maintainers = [ maintainers.marsam ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
new file mode 100644
index 00000000000..1c3503f11a1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
@@ -0,0 +1,15 @@
+{ lib, buildDunePackage, dune_2 }:
+
+buildDunePackage rec {
+  pname = "dune-private-libs";
+
+  inherit (dune_2) src version;
+
+  dontAddPrefix = true;
+
+  meta = with lib; {
+    description = "Private libraries of Dune";
+    maintainers = [ maintainers.marsam ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index bbf4d82b519..5c1155a723b 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A high-level and functional interface to the Format module of the OCaml standard library";
-    homepage = "http://mjambon.com/${pname}.html";
+    homepage = "https://github.com/ocaml-community/${pname}";
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix
new file mode 100644
index 00000000000..7c1ec79f7da
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eigen/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ctypes }:
+
+buildDunePackage rec {
+  pname = "eigen";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "owlbarn";
+    repo   = pname;
+    rev    = version;
+    sha256 = "0pbqd87i9h7qpx84hr8k4iw0rhmjgma4s3wihxh992jjvsrgdyfi";
+  };
+
+  minimumOCamlVersion = "4.04";
+
+  propagatedBuildInputs = [ ctypes ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix
index e8553ebf812..8834de53a8f 100644
--- a/pkgs/development/ocaml-modules/facile/default.nix
+++ b/pkgs/development/ocaml-modules/facile/default.nix
@@ -1,38 +1,19 @@
-{ stdenv, fetchurl, ocaml, findlib }:
+{ lib, fetchurl, buildDunePackage }:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-facile-${version}";
-
-  version = "1.1.3";
+buildDunePackage rec {
+  pname = "facile";
+  version = "1.1.4";
 
   src = fetchurl {
-    url = "http://opti.recherche.enac.fr/facile/distrib/facile-${version}.tar.gz";
-    sha256 = "1v4apqcw4gm36ph5xwf1wxaaza0ggvihvgsdslnf33fa1pdkvdjw";
+    url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz";
+    sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp";
   };
 
-  dontAddPrefix = 1;
-
-  buildInputs = [ ocaml findlib ];
-
-  createFindlibDestdir = true;
-
-  installFlags = [ "FACILEDIR=$(OCAMLFIND_DESTDIR)/facile" ];
-
-  postInstall = ''
-    cat > $OCAMLFIND_DESTDIR/facile/META <<EOF
-    version = "${version}"
-    name = "facile"
-    description = "A Functional Constraint Library"
-    requires = ""
-    archive(byte) = "facile.cma"
-    archive(native) = "facile.cmxa"
-    EOF
-  '';
+  doCheck = true;
 
   meta = {
     homepage = "http://opti.recherche.enac.fr/facile/";
-    license = stdenv.lib.licenses.lgpl21Plus;
+    license = lib.licenses.lgpl21Plus;
     description = "A Functional Constraint Library";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index c7fff722399..d136ec092c2 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ result uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/functoria/default.nix b/pkgs/development/ocaml-modules/functoria/default.nix
index a174bd6a8b1..cc99b726e6e 100644
--- a/pkgs/development/ocaml-modules/functoria/default.nix
+++ b/pkgs/development/ocaml-modules/functoria/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
-, bos, cmdliner, ocamlgraph
+{ stdenv, fetchurl, buildDunePackage, alcotest, cmdliner
+, rresult, astring, fmt, ocamlgraph, logs, bos, fpath, ptime
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "functoria is not available for OCaml ${ocaml.version}" else
+buildDunePackage rec {
+  pname   = "functoria";
+  version = "3.0.3";
 
-stdenv.mkDerivation rec {
-	name = "ocaml${ocaml.version}-functoria-${version}";
-	version = "2.0.2";
-	src = fetchurl {
-		url = "https://github.com/mirage/functoria/releases/download/${version}/functoria-${version}.tbz";
-		sha256 = "019rl4rir4lwgjyqj2wq3ylw4daih1kxxgbc6ld6kzcq66mwr747";
-	};
+  minimumOCamlVersion = "4.04";
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
-	propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
+  src = fetchurl {
+    url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "08wv2890gz7ci1fa2b3z4cvqf98nqb09f89y08kcmnsirlbbzlfh";
+  };
 
-	inherit (topkg) buildPhase installPhase;
+  propagatedBuildInputs = [ cmdliner rresult astring fmt ocamlgraph logs bos fpath ptime ];
+  checkInputs = [ alcotest ];
 
-	meta = {
-		description = "A DSL to organize functor applications";
-		homepage = https://github.com/mirage/functoria;
-		license = stdenv.lib.licenses.isc;
-		maintainers = [ stdenv.lib.maintainers.vbgl ];
-		inherit (ocaml.meta) platforms;
-	};
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "A DSL to organize functor applications";
+    homepage    = https://github.com/mirage/functoria;
+    license     = licenses.isc;
+    maintainers = [ maintainers.vbgl ];
+  };
 }
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index 929382abe76..741e004979c 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildDunePackage
+{ lib, fetchurl, buildDunePackage
 , alcotest, git, mtime, nocrypto
 , angstrom, astring, cstruct, decompress, digestif, encore, duff, fmt
 , fpath, hex, ke, logs, lru, ocaml_lwt, ocamlgraph, ocplib-endian, uri, rresult
@@ -6,13 +6,11 @@
 
 buildDunePackage rec {
   pname = "git";
-	version = "2.1.0";
+	version = "2.1.2";
 
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "ocaml-git";
-		rev = version;
-		sha256 = "0v55zkwgml6i5hp0kzynbi58z6j15k3qgzg06b3h8pdbv5fwd1jp";
+	src = fetchurl {
+		url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
+		sha256 = "0yyclsh255k7pvc2fcsdi8k2fcrr0by2nz6g3sqnwlimjyp7mz5j";
 	};
 
 	propagatedBuildInputs = [ angstrom astring cstruct decompress digestif encore duff fmt fpath hex ke logs lru ocaml_lwt ocamlgraph ocplib-endian uri rresult ];
@@ -23,6 +21,6 @@ buildDunePackage rec {
 		description = "Git format and protocol in pure OCaml";
 		license = lib.licenses.isc;
 		maintainers = [ lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
+		homepage = "https://github.com/mirage/ocaml-git";
 	};
 }
diff --git a/pkgs/development/ocaml-modules/gnuplot/default.nix b/pkgs/development/ocaml-modules/gnuplot/default.nix
new file mode 100644
index 00000000000..e473273b8da
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gnuplot/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildDunePackage, fetchFromBitbucket, gnuplot, core }:
+
+buildDunePackage rec {
+  pname = "gnuplot";
+  version = "0.5.3";
+
+  src = fetchFromBitbucket {
+    owner  = "ogu";
+    repo   = "${pname}-ocaml";
+    rev    = "release-${version}";
+    sha256 = "00sn9g46pj8pfh7faiyxg3pfhq7w9knafyabjr464bh6qz5kiin3";
+  };
+
+  propagatedBuildInputs = [ core gnuplot ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Ocaml bindings to Gnuplot";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/graphql/cohttp.nix b/pkgs/development/ocaml-modules/graphql/cohttp.nix
new file mode 100644
index 00000000000..c6e85da77f3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/graphql/cohttp.nix
@@ -0,0 +1,24 @@
+{ lib, buildDunePackage, ocaml-crunch
+, astring, cohttp, digestif, graphql, ocplib-endian
+, alcotest, cohttp-lwt-unix, graphql-lwt
+}:
+
+buildDunePackage rec {
+  pname = "graphql-cohttp";
+
+  inherit (graphql) version src;
+
+  nativeBuildInputs = [ ocaml-crunch ];
+  propagatedBuildInputs = [ astring cohttp digestif graphql ocplib-endian ];
+
+  checkInputs = lib.optionals doCheck [ alcotest cohttp-lwt-unix graphql-lwt ];
+
+  doCheck = true;
+
+  meta = graphql.meta // {
+    description = "Run GraphQL servers with “cohttp”";
+  };
+
+}
+
+
diff --git a/pkgs/development/ocaml-modules/graphql/default.nix b/pkgs/development/ocaml-modules/graphql/default.nix
new file mode 100644
index 00000000000..22b7bf35f8e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/graphql/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildDunePackage, alcotest, graphql_parser, rresult, yojson }:
+
+buildDunePackage rec {
+  pname = "graphql";
+
+  inherit (graphql_parser) version src;
+
+  propagatedBuildInputs = [ graphql_parser rresult yojson ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = graphql_parser.meta // {
+    description = "Build GraphQL schemas and execute queries against them";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/graphql/lwt.nix b/pkgs/development/ocaml-modules/graphql/lwt.nix
new file mode 100644
index 00000000000..37d75f9e22e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/graphql/lwt.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, alcotest, graphql, ocaml_lwt }:
+
+buildDunePackage rec {
+  pname = "graphql-lwt";
+
+  inherit (graphql) version src;
+
+  propagatedBuildInputs = [ graphql ocaml_lwt ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = graphql.meta // {
+    description = "Build GraphQL schemas with Lwt support";
+  };
+
+}
+
diff --git a/pkgs/development/ocaml-modules/graphql/parser.nix b/pkgs/development/ocaml-modules/graphql/parser.nix
new file mode 100644
index 00000000000..4172ccd8d04
--- /dev/null
+++ b/pkgs/development/ocaml-modules/graphql/parser.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl, alcotest, fmt, menhir, re }:
+
+buildDunePackage rec {
+  pname = "graphql_parser";
+  version = "0.13.0";
+
+  minimumOCamlVersion = "4.03";
+
+  src = fetchurl {
+    url = "https://github.com/andreas/ocaml-graphql-server/releases/download/${version}/graphql-${version}.tbz";
+    sha256 = "0gb5y99ph0nz5y3pc1gxq1py4wji2hyf2ydbp0hv23v00n50hpsm";
+  };
+
+  nativeBuildInputs = [ menhir ];
+  propagatedBuildInputs = [ fmt re ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://github.com/andreas/ocaml-graphql-server";
+    description = "Library for parsing GraphQL queries";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/index/default.nix b/pkgs/development/ocaml-modules/index/default.nix
new file mode 100644
index 00000000000..b1141f814a8
--- /dev/null
+++ b/pkgs/development/ocaml-modules/index/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchurl, buildDunePackage, fmt, logs }:
+
+buildDunePackage rec {
+  pname = "index";
+  version = "1.0.1";
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/index/releases/download/${version}/index-${version}.tbz";
+    sha256 = "1006wr3g21s4j2vsd73gphhkrh1fy4swh6gqvlsa9c6q7vz9wbvz";
+  };
+
+  propagatedBuildInputs = [ fmt logs ];
+
+  meta = {
+    homepage = "https://github.com/mirage/index";
+    description = "A platform-agnostic multi-level index";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin-watcher/default.nix b/pkgs/development/ocaml-modules/irmin-watcher/default.nix
new file mode 100644
index 00000000000..55dc9ca866b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin-watcher/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchurl, buildDunePackage
+, astring, fmt, logs, ocaml_lwt
+}:
+
+buildDunePackage rec {
+  pname = "irmin-watcher";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/irmin-watcher/releases/download/${version}/irmin-watcher-${version}.tbz";
+    sha256 = "00d4ph4jbsw6adp3zqdrwi099hfcf7p1xzi0685qr7bgcmandjfv";
+  };
+
+  propagatedBuildInputs = [ astring fmt logs ocaml_lwt ];
+
+  meta = {
+    homepage = "https://github.com/mirage/irmin-watcher";
+    description = "Portable Irmin watch backends using FSevents or Inotify";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin/1.4.nix b/pkgs/development/ocaml-modules/irmin/1.4.nix
new file mode 100644
index 00000000000..878160f4b0a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/1.4.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildDunePackage, ocaml
+, astring, cstruct, fmt, hex, jsonm, logs, ocaml_lwt, ocamlgraph, uri
+}:
+
+buildDunePackage rec {
+  pname = "irmin";
+  version = "1.4.0";
+
+  minimumOCamlVersion = "4.03";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/${pname}/releases/download/${version}/${pname}-${version}.tbz";
+    sha256 = "019di4cz0z65knl232rnwj26npnc1mqh8j71xbf0mav6x350g1w5";
+  };
+
+  propagatedBuildInputs = [ astring cstruct fmt hex jsonm logs ocaml_lwt ocamlgraph uri ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = https://github.com/mirage/irmin;
+    description = "Irmin, a distributed database that follows the same design principles as Git";
+    license = licenses.isc;
+    maintainers = [ maintainers.alexfmpe ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/irmin/default.nix b/pkgs/development/ocaml-modules/irmin/default.nix
new file mode 100644
index 00000000000..2db57671177
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchurl, buildDunePackage
+, astring, base64, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
+, alcotest, hex
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin";
+  version = "2.0.0";
+
+  minimumOCamlVersion = "4.06";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
+    sha256 = "09qffvgi5yrm3ghiywlbdhjly8xb5x5njnan213q8j033fzmf2dr";
+  };
+
+  propagatedBuildInputs = [ astring base64 digestif fmt jsonm logs ocaml_lwt ocamlgraph uri ];
+
+  checkInputs = lib.optionals doCheck [ alcotest hex ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://irmin.org/";
+    description = "A distributed database built on the same principles as Git";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin/fs.nix b/pkgs/development/ocaml-modules/irmin/fs.nix
new file mode 100644
index 00000000000..b1987aa7cbc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/fs.nix
@@ -0,0 +1,21 @@
+{ lib, buildDunePackage, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-fs";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ irmin ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Generic file-system backend for Irmin";
+  };
+
+}
+
+
diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix
new file mode 100644
index 00000000000..bb28042a1f6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/git.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, git, irmin, irmin-mem, irmin-test, git-unix }:
+
+buildDunePackage rec {
+
+  pname = "irmin-git";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ git irmin ];
+
+  checkInputs = lib.optionals doCheck [ git-unix irmin-mem irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Git backend for Irmin";
+  };
+
+}
+
diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix
new file mode 100644
index 00000000000..abcdc3d58dd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/graphql.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, cohttp-lwt, graphql-cohttp, graphql-lwt, irmin }:
+
+buildDunePackage rec {
+
+  pname = "irmin-graphql";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ cohttp-lwt graphql-cohttp graphql-lwt irmin ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "GraphQL server for Irmin";
+  };
+
+}
+
+
+
diff --git a/pkgs/development/ocaml-modules/irmin/http.nix b/pkgs/development/ocaml-modules/irmin/http.nix
new file mode 100644
index 00000000000..c8db6d563c9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/http.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, cohttp-lwt, irmin, webmachine
+, checkseum, git-unix, irmin-git, irmin-mem, irmin-test
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin-http";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ cohttp-lwt irmin webmachine ];
+
+  checkInputs = lib.optionals doCheck [ checkseum git-unix irmin-git irmin-mem irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "HTTP client and server for Irmin";
+  };
+
+}
+
+
diff --git a/pkgs/development/ocaml-modules/irmin/mem.nix b/pkgs/development/ocaml-modules/irmin/mem.nix
new file mode 100644
index 00000000000..b7040b9db0d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/mem.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-mem";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ irmin ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Generic in-memory Irmin stores";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix
new file mode 100644
index 00000000000..4eacc719cec
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, alcotest-lwt, index, irmin, irmin-test }:
+
+buildDunePackage rec {
+
+  pname = "irmin-pack";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ index irmin ];
+
+  checkInputs = lib.optionals doCheck [ alcotest-lwt irmin-test ];
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Irmin backend which stores values in a pack file";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin/test.nix b/pkgs/development/ocaml-modules/irmin/test.nix
new file mode 100644
index 00000000000..57e33e2db8a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/test.nix
@@ -0,0 +1,15 @@
+{ buildDunePackage, alcotest, cmdliner, irmin, metrics-unix, mtime }:
+
+buildDunePackage {
+
+  pname = "irmin-test";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ alcotest cmdliner irmin metrics-unix mtime ];
+
+  meta = irmin.meta // {
+    description = "Irmin test suite";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/irmin/unix.nix b/pkgs/development/ocaml-modules/irmin/unix.nix
new file mode 100644
index 00000000000..5793678bfcf
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/unix.nix
@@ -0,0 +1,26 @@
+{ lib, buildDunePackage
+, checkseum, cmdliner, git-unix, yaml
+, irmin, irmin-fs, irmin-git, irmin-graphql, irmin-http, irmin-mem, irmin-pack, irmin-watcher
+, irmin-test
+}:
+
+buildDunePackage rec {
+
+  pname = "irmin-unix";
+
+  inherit (irmin) version src;
+
+  propagatedBuildInputs = [ checkseum cmdliner git-unix yaml
+    irmin irmin-fs irmin-git irmin-graphql irmin-http irmin-mem irmin-pack irmin-watcher
+  ];
+
+  checkInputs = lib.optional doCheck irmin-test;
+
+  doCheck = true;
+
+  meta = irmin.meta // {
+    description = "Unix backends for Irmin";
+  };
+
+}
+
diff --git a/pkgs/development/ocaml-modules/iso8601/default.nix b/pkgs/development/ocaml-modules/iso8601/default.nix
index 40db8246f4a..96f0205aa79 100644
--- a/pkgs/development/ocaml-modules/iso8601/default.nix
+++ b/pkgs/development/ocaml-modules/iso8601/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://sagotch.github.io/ISO8601.ml/;
+    homepage = https://ocaml-community.github.io/ISO8601.ml/;
     description = "ISO 8601 and RFC 3999 date parsing for OCaml";
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index eb2ca1409ab..964a7c6f5a3 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
     sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh";
   };
 
-  buildInputs = lib.optionals doCheck [ mdx qtest ];
+  buildInputs = lib.optionals doCheck [ mdx.bin qtest ];
   propagatedBuildInputs = [ result ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.04";
diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix
index c4a7fa0f7a7..d1f5cabb32d 100644
--- a/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
+  buildInputs = [ findlib topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ uutf ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix
new file mode 100644
index 00000000000..4eeb8d975fd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/kafka/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, base, cmdliner, ocaml_lwt,
+  rdkafka, zlib }:
+
+buildDunePackage rec {
+  pname = "kafka";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "didier-wenzek";
+    repo = "ocaml-kafka";
+    rev = version;
+    sha256 = "0lb8x0wh7sf8v9mjwhq32azjz54kw49fsjfb7m76z4nhxfkjw5hy";
+  };
+
+  buildInputs = [ base cmdliner ocaml_lwt zlib ];
+
+  propagatedBuildInputs = [ rdkafka zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/didier-wenzek/ocaml-kafka;
+    description = "OCaml bindings for Kafka";
+    license     = licenses.mit;
+    maintainers = [ maintainers.rixed ];
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 427d0d5a0e1..ae85847b58b 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU_combined, freeglut, camlp4 } :
+{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU, libGL, freeglut, camlp4 } :
 
 let
   pname = "lablgl";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ocaml findlib lablgtk freeglut camlp4];
-  propagatedBuildInputs = [ libGLU_combined ];
+  propagatedBuildInputs = [ libGLU libGL ];
 
   patches = [ ./Makefile.config.patch ./META.patch ];
 
diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
index 581319a0edf..d0349de4db3 100644
--- a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation (rec {
     branch = "2.14";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.roconnor
     ];
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index 1b1869f991e..217af54040f 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z roconnor vbgl
+      maggesi roconnor vbgl
     ];
     homepage = http://lablgtk.forge.ocamlcore.org/;
     description = "An OCaml interface to GTK";
diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix
index 15d2bde0ec6..50d68520fab 100644
--- a/pkgs/development/ocaml-modules/logs/default.nix
+++ b/pkgs/development/ocaml-modules/logs/default.nix
@@ -10,15 +10,16 @@ then throw "logs is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${pname}-${version}";
-  version = "0.6.3";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "1lkhr7i44xw4kpfbhgj3rbqy3dv5bfm4kyrbl8a9rfafddcxlwss";
+    sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg fmt cmdliner lwt ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${topkg.run} build --with-js_of_ocaml false";
diff --git a/pkgs/development/ocaml-modules/lua-ml/default.nix b/pkgs/development/ocaml-modules/lua-ml/default.nix
new file mode 100644
index 00000000000..a0db995827a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lua-ml/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, dune }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.07"
+then throw "lua-ml is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  pname = "lua-ml";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "lindig";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "09lj6qykg15fdf65in7xdry0jcifcr8vqbvz85v12gwfckmmxjir";
+  };
+
+  buildInputs = [ ocaml findlib ocamlbuild ];
+
+  buildFlags = [ "lib" ];
+
+  inherit (dune) installPhase;
+
+  meta = {
+    description = "An embeddable Lua 2.5 interpreter implemented in OCaml";
+    inherit (src.meta) homepage;
+    inherit (ocaml.meta) platforms;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwt/3.x.nix b/pkgs/development/ocaml-modules/lwt/3.x.nix
deleted file mode 100644
index c8371feb905..00000000000
--- a/pkgs/development/ocaml-modules/lwt/3.x.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchzip, pkgconfig, ncurses, libev, dune
-, ocaml, findlib, cppo
-, ocaml-migrate-parsetree, ppx_tools_versioned, result
-, withP4 ? true
-, camlp4 ? null
-}:
-
-stdenv.mkDerivation rec {
-  version = "3.3.0";
-  name = "ocaml${ocaml.version}-lwt-${version}";
-
-  src = fetchzip {
-    url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
-    sha256 = "0n87hcyl4svy0risj439wyfq6bl77qxq3nraqgdr1qbz5lskbq2j";
-  };
-
-  preConfigure = ''
-    ocaml src/util/configure.ml -use-libev true -use-camlp4 ${if withP4 then "true" else "false"}
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ncurses ocaml findlib dune cppo
-    ocaml-migrate-parsetree ppx_tools_versioned ]
-  ++ stdenv.lib.optional withP4 camlp4;
-  propagatedBuildInputs = [ libev result ];
-
-  installPhase = ''
-    ocaml src/util/install_filter.ml
-    ${dune.installPhase}
-  '';
-
-  meta = {
-    homepage = "https://ocsigen.org/lwt/";
-    description = "A cooperative threads library for OCaml";
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    license = stdenv.lib.licenses.lgpl21;
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/lwt/4.x.nix b/pkgs/development/ocaml-modules/lwt/4.x.nix
index 4850a853ea0..3ec3574ea09 100644
--- a/pkgs/development/ocaml-modules/lwt/4.x.nix
+++ b/pkgs/development/ocaml-modules/lwt/4.x.nix
@@ -1,5 +1,5 @@
 { lib, fetchzip, pkgconfig, ncurses, libev, buildDunePackage, ocaml
-, cppo, ocaml-migrate-parsetree, ppx_tools_versioned, result
+, cppo, ocaml-migrate-parsetree, ocplib-endian, result
 , mmap, seq
 }:
 
@@ -7,22 +7,17 @@ let inherit (lib) optional versionAtLeast; in
 
 buildDunePackage rec {
   pname = "lwt";
-  version = "4.2.1";
+  version = "4.4.0";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/${pname}/archive/${version}.tar.gz";
-    sha256 = "1hz24fyhpm7d6603v399pgxvdl236srwagqja41ljvjx83y10ysr";
+    sha256 = "1l97zdcql7y13fhaq0m9n9xvxf712jg0w70r72fvv6j49xm4nlhi";
   };
 
-  postPatch = ''
-    substituteInPlace lwt.opam \
-    --replace 'version: "dev"' 'version: "${version}"'
-  '';
-
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cppo ocaml-migrate-parsetree ppx_tools_versioned ]
+  buildInputs = [ cppo ocaml-migrate-parsetree ]
    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
-  propagatedBuildInputs = [ libev mmap seq result ];
+  propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
 
   meta = {
     homepage = "https://ocsigen.org/lwt/";
diff --git a/pkgs/development/ocaml-modules/lwt/legacy.nix b/pkgs/development/ocaml-modules/lwt/legacy.nix
index e6ef82a9008..c540124d104 100644
--- a/pkgs/development/ocaml-modules/lwt/legacy.nix
+++ b/pkgs/development/ocaml-modules/lwt/legacy.nix
@@ -52,7 +52,7 @@ buildOcaml {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl gal_bolle
+      maggesi vbgl gal_bolle
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix
index fbd061a6566..4ad6fc2c471 100644
--- a/pkgs/development/ocaml-modules/lwt/ppx.nix
+++ b/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -5,8 +5,7 @@ buildDunePackage {
 
   inherit (lwt) src version;
 
-  buildInputs = [ ppx_tools_versioned ];
-  propagatedBuildInputs = [ lwt ];
+  propagatedBuildInputs = [ lwt ppx_tools_versioned ];
 
   meta = {
     description = "Ppx syntax extension for Lwt";
diff --git a/pkgs/development/ocaml-modules/magic-mime/default.nix b/pkgs/development/ocaml-modules/magic-mime/default.nix
index 65acbd6cc42..16e37addd45 100644
--- a/pkgs/development/ocaml-modules/magic-mime/default.nix
+++ b/pkgs/development/ocaml-modules/magic-mime/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation {
     sha256 = "058d83hmxd5mjccxdm3ydchmhk2lca5jdg82jg0klsigmf4ida6v";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index 0b43cf461e0..43c6c8e41fa 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -1,24 +1,30 @@
-{ lib, fetchFromGitHub, buildDunePackage, ocaml, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml_lwt, pandoc, re }:
+{ lib, fetchurl, buildDunePackage, opaline, ocaml
+, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml-version, ocaml_lwt, pandoc, re }:
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.4.0";
+  version = "1.5.0";
 
-  src = fetchFromGitHub {
-    owner = "realworldocaml";
-    repo = pname;
-    rev = version;
-    sha256 = "0ljd00d261s2wf7cab086asqi39icf9zs4nylni6dldaqb027d4w";
+  src = fetchurl {
+    url = "https://github.com/realworldocaml/mdx/releases/download/1.5.0/mdx-1.5.0.tbz";
+    sha256 = "0g45plf4z7d178gp0bx7842fwbd3m19679yfph3s95da6mrfm3xn";
   };
 
   nativeBuildInputs = [ cppo ];
-  buildInputs = [ astring cmdliner fmt logs ocaml-migrate-parsetree re ];
+  buildInputs = [ cmdliner ];
+  propagatedBuildInputs = [ astring fmt logs ocaml-migrate-parsetree ocaml-version re ];
   checkInputs = lib.optionals doCheck [ ocaml_lwt pandoc ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   dontStrip = lib.versions.majorMinor ocaml.version == "4.04";
 
+  outputs = [ "bin" "lib" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib
+  '';
+
   meta = {
     homepage = https://github.com/realworldocaml/mdx;
     description = "Executable OCaml code blocks inside markdown files";
diff --git a/pkgs/development/ocaml-modules/menhir/generic.nix b/pkgs/development/ocaml-modules/menhir/generic.nix
index d767c20f638..fad11ccedaa 100644
--- a/pkgs/development/ocaml-modules/menhir/generic.nix
+++ b/pkgs/development/ocaml-modules/menhir/generic.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation {
       lgpl2 /* library */
     ];
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z ];
+    maintainers = with maintainers; [ maggesi ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/metrics/default.nix b/pkgs/development/ocaml-modules/metrics/default.nix
new file mode 100644
index 00000000000..893b667f836
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchurl, buildDunePackage, alcotest, fmt }:
+
+buildDunePackage rec {
+  pname = "metrics";
+  version = "0.1.0";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/metrics/releases/download/${version}/metrics-${version}.tbz";
+    sha256 = "0jy88anrx3rh19046rrbrjmx922zvz3wlqkk8asilqv9pbvpnp1a";
+  };
+
+  propagatedBuildInputs = [ fmt ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    description = "Metrics infrastructure for OCaml";
+    homepage = "https://github.com/mirage/metrics";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/metrics/lwt.nix b/pkgs/development/ocaml-modules/metrics/lwt.nix
new file mode 100644
index 00000000000..47b91e430c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/lwt.nix
@@ -0,0 +1,14 @@
+{ buildDunePackage, ocaml_lwt, metrics }:
+
+buildDunePackage {
+  pname = "metrics-lwt";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ ocaml_lwt metrics ];
+
+  meta = metrics.meta // {
+    description = "Lwt backend for the Metrics library";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/metrics/unix.nix b/pkgs/development/ocaml-modules/metrics/unix.nix
new file mode 100644
index 00000000000..45a92f10803
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/unix.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, gnuplot, ocaml_lwt, metrics, metrics-lwt, mtime, uuidm }:
+
+buildDunePackage rec {
+
+  pname = "metrics-unix";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ gnuplot ocaml_lwt metrics mtime uuidm ];
+
+  checkInputs = lib.optional doCheck metrics-lwt;
+
+  doCheck = true;
+
+  meta = metrics.meta // {
+    description = "Unix backend for the Metrics library";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix
index f86909cc10b..02d6380715b 100644
--- a/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/pkgs/development/ocaml-modules/mtime/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ]
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg ]
   ++ stdenv.lib.optional jsooSupport js_of_ocaml;
 
   buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index 06a87c072b4..833da3bb67c 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -1,11 +1,19 @@
 { stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg
 , cpuid, ocb-stubblr, sexplib
-, cstruct, zarith, ppx_sexp_conv, ppx_deriving
+, cstruct, zarith, ppx_sexp_conv, ppx_deriving, writeScriptBin
 , cstruct-lwt ? null
 }:
 
 with stdenv.lib;
-let withLwt = cstruct-lwt != null; in
+let
+  withLwt = cstruct-lwt != null;
+  # the build system will call 'cc' with no way to override
+  # this is wrong when we're cross-compiling, so insert a wrapper
+  cc-wrapper = writeScriptBin "cc" ''
+    set -e
+    $CC "$@"
+  '';
+in
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-nocrypto-${version}";
@@ -43,7 +51,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild cc-wrapper ];
+  buildInputs = [ ocamlbuild findlib topkg cpuid ocb-stubblr ];
   propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
 
   buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix
index d46bff5b3d5..022b7af9629 100644
--- a/pkgs/development/ocaml-modules/num/default.nix
+++ b/pkgs/development/ocaml-modules/num/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }:
 
 stdenv.mkDerivation rec {
 	version = "1.1";
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
 			url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch";
 			sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b";
 		})
-	];
+	] ++ lib.optional withStatic ./enable-static.patch;
 
-	buildInputs = [ ocaml findlib ];
+	nativeBuildInputs = [ ocaml findlib ];
+  buildInputs = [ ocaml findlib ];
 
 	createFindlibDestdir = true;
 
+
 	meta = {
 		description = "Legacy Num library for arbitrary-precision integer and rational arithmetic";
 		license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/ocaml-modules/num/enable-static.patch b/pkgs/development/ocaml-modules/num/enable-static.patch
new file mode 100644
index 00000000000..be3ca197f4e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/num/enable-static.patch
@@ -0,0 +1,12 @@
+diff -u a/src/Makefile b/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -45,7 +45,7 @@
+ endif
+ 
+ libnums.$(A): $(COBJS)
+-	$(OCAMLMKLIB) -oc nums $(COBJS)
++	$(OCAMLMKLIB) -custom -oc nums $(COBJS)
+ 
+ nums.cma: $(CMOS)
+	 $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS)
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
new file mode 100644
index 00000000000..45761e98049
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchurl, buildDunePackage, result }:
+
+buildDunePackage rec {
+
+  pname = "ocaml-version";
+  version = "2.3.0";
+
+  src = fetchurl {
+    url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-v${version}.tbz";
+    sha256 = "0c711lifl35xila9k0rvhijy9zm3shd37q3jgw7xf01hn1swg0hn";
+  };
+
+  propagatedBuildInputs = [ result ];
+
+  meta = {
+    description = "Manipulate, parse and generate OCaml compiler version strings";
+    homepage = "https://github.com/ocurrent/ocaml-version";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 887dce58689..a39e72d3880 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, lablgtk}:
+{stdenv, fetchurl, ocaml, findlib, lablgtk ? null}:
 
 stdenv.mkDerivation rec {
   pname = "ocamlgraph";
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml.version}/site-lib/ocamlgraph@' Makefile.in
     sed -i 's@OCAMLFINDDEST := -destdir $(DESTDIR)@@' Makefile.in
-    sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
+    ${stdenv.lib.optionalString (lablgtk != null)
+      "sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile"}
   '';
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix
index 468e387f8f1..d6281e00fde 100644
--- a/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 33f32879211..fe276ac6e94 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL.";
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 426fecf3915..9b0b8c433c2 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   ''
   rm -rf $out/var/run
   wrapProgram $out/bin/ocsigenserver \
-    --prefix CAML_LD_LIBRARY_PATH : "$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 : "${mkpath ssl "ssl"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath ocaml_sqlite3 "sqlite3"}"
   '';
 
   dontPatchShebangs = true;
diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix
index 8c8d4519249..a1e524a8642 100644
--- a/pkgs/development/ocaml-modules/ocurl/default.nix
+++ b/pkgs/development/ocaml-modules/ocurl/default.nix
@@ -5,10 +5,10 @@ then throw "ocurl is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocurl-0.8.2";
+  name = "ocurl-0.9.0";
   src = fetchurl {
     url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
-    sha256 = "1ax3xdlzgb1zg7d0wr9nwgmh6a45a764m0wk8p6mx07ad94hz0q9";
+    sha256 = "0v5qzfazaynjv1xy3ds2z5iz0np5mz8g831l91l1mrqz6fr1ah0f";
   };
 
   buildInputs = [ pkgconfig ocaml findlib ncurses ];
diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix
index a56a6140f8e..62644c1e971 100644
--- a/pkgs/development/ocaml-modules/odn/default.nix
+++ b/pkgs/development/ocaml-modules/odn/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      vbgl z77z
+      vbgl maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix
index 4d308dc78b5..0ca332a2a06 100644
--- a/pkgs/development/ocaml-modules/opam-file-format/default.nix
+++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
+  patches = [ ./optional-static.patch ];
+
   meta = {
     description = "Parser and printer for the opam file syntax";
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
new file mode 100644
index 00000000000..5501fdd0c6c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
@@ -0,0 +1,13 @@
+diff -u a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -1,1 +1,5 @@
+-TARGETS = opam-file-format.cma opam-file-format.cmxa opam-file-format.cmxs
++TARGETS = opam-file-format.cma opam-file-format.cmxa
++
++ifeq "$(NATDYNLINK)" "true"
++TARGETS = $(TARGETS) opam-file-format.cmxs
++endif
+
+all: $(TARGETS)
+
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 533a41cc435..6f4536f2e8b 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation {
     sha256 = "0hbd2sqdz75lv5ax82yhsfdk1dlcvq12xpys6n85ysmrl0c3d3lk";
   });
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   dontAddPrefix = true;
 
@@ -30,7 +32,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/owl-base/default.nix b/pkgs/development/ocaml-modules/owl-base/default.nix
new file mode 100644
index 00000000000..12cd5436308
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl-base/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, stdlib-shims }:
+
+buildDunePackage rec {
+  pname = "owl-base";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner  = "owlbarn";
+    repo   = "owl";
+    rev    = version;
+    sha256 = "1a2lbhywrb3bmm4k48wwbp6iszpd3aj1f23v10i78cbqm5slk6dj";
+  };
+
+  propagatedBuildInputs = [ stdlib-shims ];
+
+  minimumOCamlVersion = "4.06";
+
+  meta = with stdenv.lib; {
+    description = "Numerical computing library for Ocaml";
+    homepage = "https://ocaml.xyz";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/owl/default.nix b/pkgs/development/ocaml-modules/owl/default.nix
new file mode 100644
index 00000000000..0cc1c1db42a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, alcotest
+, eigen, stdio, stdlib-shims, openblasCompat, owl-base
+}:
+
+buildDunePackage rec {
+  pname = "owl";
+
+  inherit (owl-base) version src meta;
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ eigen stdio stdlib-shims openblasCompat owl-base ];
+
+  doCheck = !stdenv.isDarwin;  # https://github.com/owlbarn/owl/issues/462
+}
diff --git a/pkgs/development/ocaml-modules/parany/default.nix b/pkgs/development/ocaml-modules/parany/default.nix
new file mode 100644
index 00000000000..5c02e3efea0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/parany/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ocamlnet, setcore }:
+
+buildDunePackage rec {
+  pname = "parany";
+  version = "7.0.0";
+
+  src = fetchFromGitHub {
+    owner = "UnixJunkie";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0kylhgi1d4gj68x40ifli7pnrxkdc6ks5mgfvlcsigqg8i8nvc7q";
+  };
+
+  propagatedBuildInputs = [ ocamlnet setcore ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Generalized map/reduce for multicore computing";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl2;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index 6428670ebb2..7559fc35d8e 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml";
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z vbmithr ];
+    maintainers = with maintainers; [ maggesi vbmithr ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
new file mode 100644
index 00000000000..e665a323578
--- /dev/null
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ppx_deriving
+, alcotest, biocaml, gnuplot, lacaml, menhir, owl }:
+
+buildDunePackage rec {
+  pname = "phylogenetics";
+  version = "unstable-2019-11-15";
+
+  src = fetchFromGitHub {
+    owner  = "biocaml";
+    repo   = pname;
+    rev    = "91c03834db065cf4a86f33affbb9cfd216defc9f";
+    sha256 = "0i9m0633a6a724as35ix8z3p1gj267cl0hmqrpw4qfq39zxmgnxb";
+  };
+
+  minimumOCamlVersion = "4.08";  # e.g., uses Float.min
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ biocaml gnuplot lacaml menhir owl ppx_deriving ];
+
+  doCheck = false;  # many tests require bppsuite
+
+  meta = with stdenv.lib; {
+    inherit (std.meta) homepage;
+    description = "Bioinformatics library for Ocaml";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.cecill-b;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
index 7746200d4ff..92d73e540f4 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildDunePackage, rpclib, ppxfind, ppx_deriving, cppo }:
+{ lib, buildDunePackage, rpclib, ppxlib, ppx_deriving }:
 
 buildDunePackage rec {
   pname = "ppx_deriving_rpc";
 
   inherit (rpclib) version src;
 
-  buildInputs = [ ppxfind cppo ];
+  buildInputs = [ ppxlib ];
 
   propagatedBuildInputs = [ rpclib ppx_deriving ];
 
diff --git a/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix b/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
index 5d45ee90c2e..b09ff9c7f22 100644
--- a/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "ppx_gen_rec";
-  version = "1.0.0";
+  version = "1.1.0";
 
   minimumOCamlVersion = "4.01";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "0qy0wa3rd5yh1612jijadi1yddfslpsmmmf69phi2dhr3vmkhza7";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "0fwi4bknq8h9zgpsarjvnzdm9bm8qlyyw0lz30pihg02aiiljqbh";
   };
 
   buildInputs = [ ocaml-migrate-parsetree ];
diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix
index fd2b67225e6..984906342bc 100644
--- a/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -37,6 +37,7 @@ in
       inherit (param) sha256;
     };
 
+    nativeBuildInputs = [ ocaml findlib ];
     buildInputs = [ ocaml findlib ];
 
     createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix
index 50866e1d969..555ccef3495 100644
--- a/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/pkgs/development/ocaml-modules/printbox/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "16nwwpp13hzlcm9xqfxc558afm3i5s802dkj69l9s2vp04lgms5n";
   };
 
-  checkInputs = lib.optional doCheck mdx;
+  checkInputs = lib.optional doCheck mdx.bin;
 
   doCheck = !lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix
index f21f05eeae5..de3d940b3bb 100644
--- a/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/pkgs/development/ocaml-modules/ptime/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg js_of_ocaml ];
 
   propagatedBuildInputs = [ result ];
 
diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix
index 74789636896..7baf8b743be 100644
--- a/pkgs/development/ocaml-modules/react/default.nix
+++ b/pkgs/development/ocaml-modules/react/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
     description = "Applicative events and signals for OCaml";
     license = licenses.bsd3;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z vbmithr gal_bolle];
+    maintainers = with maintainers; [ maggesi vbmithr gal_bolle];
   };
 }
diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix
index b797af0a702..0223d4f59ff 100644
--- a/pkgs/development/ocaml-modules/rope/default.nix
+++ b/pkgs/development/ocaml-modules/rope/default.nix
@@ -2,10 +2,10 @@
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.03"
-  then {
-    version = "0.6.1";
-    url = " https://github.com/Chris00/ocaml-rope/releases/download/0.6.1/rope-0.6.1.tbz";
-    sha256 = "1zqh28jz1zjb0l354wi1046qpkwmk582ssz0gsqh6d44wpspdxk2";
+  then rec {
+    version = "0.6.2";
+    url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz";
+    sha256 = "15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i";
     buildInputs = [ dune ];
     extra = {
       buildPhase = "dune build -p rope";
diff --git a/pkgs/development/ocaml-modules/rpclib/default.nix b/pkgs/development/ocaml-modules/rpclib/default.nix
index 2b4ab181859..a4134f592b3 100644
--- a/pkgs/development/ocaml-modules/rpclib/default.nix
+++ b/pkgs/development/ocaml-modules/rpclib/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
+{ lib, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
 
 buildDunePackage rec {
   pname = "rpclib";
-  version = "5.9.0";
+  version = "6.0.0";
 
   minimumOCamlVersion = "4.04";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "mirage";
     repo = "ocaml-rpc";
     rev = "v${version}";
-    sha256 = "1swnnmmnkn53mxqpckdnd1j8bz0wksqznjbv0zamspxyqybmancq";
+    sha256 = "0bmr20sj7kybjjlwd42irj0f5zlnxcw7mxa1mdgxkki9bmhsqr51";
   };
 
   buildInputs = [ alcotest cmdliner yojson ];
@@ -18,7 +18,7 @@ buildDunePackage rec {
 
   doCheck = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://github.com/mirage/ocaml-rpc";
     description = "Light library to deal with RPCs in OCaml";
     license = licenses.isc;
diff --git a/pkgs/development/ocaml-modules/setcore/default.nix b/pkgs/development/ocaml-modules/setcore/default.nix
new file mode 100644
index 00000000000..c2fd9aab3ba
--- /dev/null
+++ b/pkgs/development/ocaml-modules/setcore/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, autoconf }:
+
+buildDunePackage rec {
+  pname = "setcore";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "UnixJunkie";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "1yn660gxk2ccp7lbdq9v6pjz1c3pm08s9dl9k9l5492ld6bx8fxc";
+  };
+
+  preConfigure = ''
+    autoconf
+    autoheader
+  '';
+
+  buildInputs = [ autoconf ];
+
+  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Generalized map/reduce for multicore computing";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl2;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix
new file mode 100644
index 00000000000..8c8895d4520
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sodium/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, ctypes, libsodium }:
+
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-sodium";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner  = "dsheets";
+    repo   = "ocaml-sodium";
+    rev    = version;
+    sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv";
+  };
+
+  buildInputs = [ ocaml findlib ocamlbuild ];
+  propagatedBuildInputs = [ ctypes libsodium ];
+
+  createFindlibDestdir = true;
+
+  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dsheets/ocaml-sodium;
+    description = "Binding to libsodium 1.0.9+";
+    platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.rixed ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
index 0b3f13bc54f..53b11f285a6 100644
--- a/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl
+      maggesi vbgl
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 5ee77425a2f..3086558e3eb 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
     description = "OCaml bindings for libssl ";
     license = "LGPL+link exception";
     maintainers = [
-      lib.maintainers.z77z
+      lib.maintainers.maggesi
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix
index 0b8f83a1ea3..a36d84ffa3a 100644
--- a/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/pkgs/development/ocaml-modules/stdint/default.nix
@@ -1,26 +1,20 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, dune }:
+{ stdenv, fetchFromGitHub, buildDunePackage }:
 
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "stdint";
-  name = "ocaml${ocaml.version}-${pname}-${version}";
-  version = "0.5.1";
+  version = "0.6.0";
+
   src = fetchFromGitHub {
     owner = "andrenth";
     repo = "ocaml-stdint";
     rev = version;
-    sha256 = "0z2z77m3clna9m9k0f8fd1400cdlglvy1kr893qs3907b3v0c057";
+    sha256 = "19ccxs0vij81vyc9nqc9kbr154ralb9dgc2y2nr71a5xkx6xfn0y";
   };
 
-  buildInputs = [ ocaml findlib dune ];
-
-  buildPhase = "dune build -p ${pname}";
-  inherit (dune) installPhase;
-
   meta = {
     description = "Various signed and unsigned integers for OCaml";
+    homepage = "https://github.com/andrenth/ocaml-stdint";
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.gebner ];
-    inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index b1a178128ad..80d9933f8b6 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     sha256 = "02wv4lia583imn3sfci4nqv6ac5nzig5j3yfdnlqa0q8bp9rfc6g";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_cstruct ]
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg ppx_sexp_conv ppx_cstruct ]
   ++ optionals doCheck [ ounit cstruct-unix ];
   propagatedBuildInputs = [ cstruct-sexp nocrypto result x509 ] ++
                           optional withLwt lwt;
diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix
index a3e718d5329..edbbec3dcb3 100644
--- a/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/pkgs/development/ocaml-modules/topkg/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${run} build";
diff --git a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix b/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
index f17e5a7b89e..f2e272ed395 100644
--- a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
+++ b/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     license = licenses.asl20;
     branch = "108";
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ z77z ];
+    maintainers = with maintainers; [ maggesi ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
index c54642afb41..706554bc027 100644
--- a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
+++ b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
     description = "Support library for OCaml preprocessor type conversions";
     license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
-    maintainers = with stdenv.lib.maintainers; [ z77z ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
index c50d08dd144..f6c1ec9ad06 100644
--- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
@@ -15,6 +15,6 @@ buildOcaml rec {
     homepage = https://github.com/janestreet/type_conv/;
     description = "Support library for preprocessor type conversions";
     license = stdenv.lib.licenses.asl20;
-    maintainers = with stdenv.lib.maintainers; [ z77z ericbmerritt ];
+    maintainers = with stdenv.lib.maintainers; [ maggesi ericbmerritt ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index c943d3ce35a..2140871021d 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline, withShared ? true }:
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-uchar-0.0.2";
@@ -8,9 +8,11 @@ stdenv.mkDerivation {
     sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib opaline ];
-  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+  nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ];
+  buildInputs = [ findlib ocaml ocamlbuild opaline ];
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}";
   installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
+  configurePlatforms = [];
 
   meta = {
     description = "Compatibility library for OCaml’s Uchar module";
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index 079e810bfdc..497b2df88b1 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  configurePlatforms = [];
+  buildInputs = [ topkg cmdliner ];
 
   inherit (topkg) buildPhase installPhase;
 
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index 863a4cbb840..f289781b422 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/webmachine/default.nix b/pkgs/development/ocaml-modules/webmachine/default.nix
new file mode 100644
index 00000000000..79e36b66d11
--- /dev/null
+++ b/pkgs/development/ocaml-modules/webmachine/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildDunePackage, fetchFromGitHub
+, cohttp, dispatch, ptime
+, ounit
+}:
+
+buildDunePackage rec {
+  pname = "webmachine";
+  version = "0.6.1";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchFromGitHub {
+    owner = "inhabitedtype";
+    repo = "ocaml-webmachine";
+    rev = "${version}";
+    sha256 = "0kpbxsvjzylbxmxag77k1c8m8mwn4f4xscqk2i7fc591llgq9fp3";
+  };
+
+  propagatedBuildInputs = [ cohttp dispatch ptime ];
+
+  checkInputs = lib.optional doCheck ounit;
+
+  doCheck = true;
+
+  meta = {
+    inherit (src.meta) homepage;
+    license = lib.licenses.bsd3;
+    description = "A REST toolkit for OCaml";
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/wtf8/default.nix b/pkgs/development/ocaml-modules/wtf8/default.nix
index 4c820d13808..420cb30bb94 100644
--- a/pkgs/development/ocaml-modules/wtf8/default.nix
+++ b/pkgs/development/ocaml-modules/wtf8/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "wtf8";
-  version = "1.0.1";
+  version = "1.0.2";
 
   minimumOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "1msg3vycd3k8qqj61sc23qks541cxpb97vrnrvrhjnqxsqnh6ygq";
+    url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "09ygcxxd5warkdzz17rgpidrd0pg14cy2svvnvy1hna080lzg7vp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/yaml/default.nix b/pkgs/development/ocaml-modules/yaml/default.nix
new file mode 100644
index 00000000000..31790755357
--- /dev/null
+++ b/pkgs/development/ocaml-modules/yaml/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchurl, buildDunePackage
+, ppx_sexp_conv
+, bos, ctypes, fmt, logs, rresult, sexplib
+}:
+
+buildDunePackage rec {
+  pname = "yaml";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/avsm/ocaml-yaml/releases/download/v${version}/yaml-v${version}.tbz";
+    sha256 = "1r8jj572h416g2zliwmxj2j9hkv73nxnpfb9gmbj9gixg24lskx0";
+  };
+
+  propagatedBuildInputs = [ bos ctypes fmt logs ppx_sexp_conv rresult sexplib ];
+
+  meta = {
+    description = "Parse and generate YAML 1.1 files";
+    homepage = "https://github.com/avsm/ocaml-yaml";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index c660ca64856..24942da0072 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -6,7 +6,7 @@ let
     version = "1.7.0";
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
     sha256 = "08llz96if8bcgnaishf18si76cv11zbkni0aldb54k3cn7ipiqvd";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     extra = { inherit (dune) installPhase; };
   } else rec {
     version = "1.2.3";
@@ -29,13 +29,14 @@ stdenv.mkDerivation ({
     inherit (param) url sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ (param.buildInputs or []);
-
-  propagatedBuildInputs = [ cppo easy-format biniou ];
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  propagatedNativeBuildInputs = [ cppo ];
+  propagatedBuildInputs = [ easy-format biniou ];
+  configurePlatforms = [];
 
   meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
-    homepage = "http://mjambon.com/${pname}.html";
+    homepage = "https://github.com/ocaml-community/${pname}";
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index c97078c62ed..f0cb5a59485 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -6,9 +6,9 @@
 let source =
   if stdenv.lib.versionAtLeast ocaml.version "4.02"
   then {
-    version = "1.9.1";
-    url = https://github.com/ocaml/Zarith/archive/release-1.9.1.tar.gz;
-    sha256 = "0pfa271476dic5pvn6kxz3dfswxs6kqm2cxmhdx5xq2ayca05gj9";
+    version = "1.9";
+    url = https://github.com/ocaml/Zarith/archive/release-1.9.tar.gz;
+    sha256 = "1xrqcaj5gp52xp4ybpnblw8ciwlgrr0zi7rg7hnk8x83isjkpmwx";
   } else {
     version = "1.3";
     url = http://forge.ocamlcore.org/frs/download.php/1471/zarith-1.3.tgz;
@@ -26,9 +26,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gmp ];
 
   patchPhase = "patchShebangs ./z_pp.pl";
-  configurePhase = ''
-    ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib
-  '';
+  dontAddPrefix = true;
+  configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ];
 
   preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs";
 
diff --git a/pkgs/development/perl-modules/MNI/default.nix b/pkgs/development/perl-modules/MNI/default.nix
index def32abf881..7057883e637 100644
--- a/pkgs/development/perl-modules/MNI/default.nix
+++ b/pkgs/development/perl-modules/MNI/default.nix
@@ -16,6 +16,7 @@ buildPerlPackage {
   doCheck = false;  # TODO: almost all tests fail ... is this a real problem?
 
   meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/mni-perllib";
     license = with licenses; [ artistic1 gpl1Plus ];
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/pkgs/development/perl-modules/Mozilla-LDAP/default.nix b/pkgs/development/perl-modules/Mozilla-LDAP/default.nix
index 41025e26f97..6c3d01a3462 100644
--- a/pkgs/development/perl-modules/Mozilla-LDAP/default.nix
+++ b/pkgs/development/perl-modules/Mozilla-LDAP/default.nix
@@ -12,6 +12,7 @@ buildPerlPackage rec {
   };
   meta = {
     description = "Mozilla's ldap client library";
+    homepage = "https://metacpan.org/release/perldap";
     license = with lib.licenses; [ mpl20 lgpl21Plus gpl2Plus ];
   };
 }
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index b98178ef2eb..79c7919a354 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -31,15 +31,15 @@ toPerlModule(stdenv.mkDerivation (
     # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
     PERL_USE_UNSAFE_INC = "1";
 
-    meta.homepage = "https://metacpan.org/release/${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name`
+    meta.homepage = "https://metacpan.org/release/${lib.getName attrs}"; # TODO: phase-out `attrs.name`
     meta.platforms = perl.meta.platforms;
   }
   attrs
   )
   //
   {
-    pname = "perl${perl.version}-${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name`
-    version = attrs.version or (builtins.parseDrvName attrs.name).version;                   # TODO: phase-out `attrs.name`
+    pname = "perl${perl.version}-${lib.getName attrs}"; # TODO: phase-out `attrs.name`
+    version = lib.getVersion attrs;                     # TODO: phase-out `attrs.name`
     builder = ./builder.sh;
     buildInputs = buildInputs ++ [ perl ];
     nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
diff --git a/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/pkgs/development/perl-modules/strip-nondeterminism/default.nix
index 3e638bfb193..7ac0b82ed10 100644
--- a/pkgs/development/perl-modules/strip-nondeterminism/default.nix
+++ b/pkgs/development/perl-modules/strip-nondeterminism/default.nix
@@ -27,6 +27,7 @@ buildPerlPackage rec {
 
   meta = with lib; {
     description = "A Perl module for stripping bits of non-deterministic information";
+    homepage = "https://reproducible-builds.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/development/pharo/vm/build-vm-legacy.nix b/pkgs/development/pharo/vm/build-vm-legacy.nix
index bd84dd06e7f..e76b1802c23 100644
--- a/pkgs/development/pharo/vm/build-vm-legacy.nix
+++ b/pkgs/development/pharo/vm/build-vm-legacy.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU_combined, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
+{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU, libGL, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
 
 { name, src, ... }:
 
@@ -46,9 +46,9 @@ stdenv.mkDerivation rec {
     ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
   '';
 
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU_combined freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU libGL freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
   nativeBuildInputs = [ unzip cmake gcc makeWrapper ];
-  buildInputs = [ bash glibc openssl libGLU_combined freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
+  buildInputs = [ bash glibc openssl libGLU libGL freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
 
   meta = {
     description = "Clean and innovative Smalltalk-inspired environment";
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix
index 47773c20954..5fc747cbc8c 100644
--- a/pkgs/development/pharo/vm/build-vm.nix
+++ b/pkgs/development/pharo/vm/build-vm.nix
@@ -5,7 +5,7 @@
 , glibc
 , openssl
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
     libs = [
       cairo
       libgit2
-      libGLU_combined
+      libGLU libGL
       freetype
       openssl
       libuuid
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
     glibc
     openssl
     gcc48
-    libGLU_combined
+    libGLU libGL
     freetype
     xorg.libX11
     xorg.libICE
diff --git a/pkgs/development/pharo/vm/vms.nix b/pkgs/development/pharo/vm/vms.nix
index 91cf0184709..080da830af6 100644
--- a/pkgs/development/pharo/vm/vms.nix
+++ b/pkgs/development/pharo/vm/vms.nix
@@ -7,7 +7,7 @@
 , openssl
 , gcc
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix
index 51c57bb5c51..b67a972b00b 100644
--- a/pkgs/development/pure-modules/gl/default.nix
+++ b/pkgs/development/pure-modules/gl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU_combined, xlibsWrapper }:
+{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU, libGL, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   baseName = "gl";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ];
+  propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
 
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index 4032b527e88..1f2a89c5e0c 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "APScheduler";
-  version = "3.6.1";
+  version = "3.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c56066rx09xk1zbd156whsynlakxazqq64i509id17015wzp6jj";
+    sha256 = "3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/Babel/default.nix b/pkgs/development/python-modules/Babel/default.nix
index 96226518800..97b35257820 100644
--- a/pkgs/development/python-modules/Babel/default.nix
+++ b/pkgs/development/python-modules/Babel/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytest, freezegun, glibcLocales }:
 
 buildPythonPackage rec {
   pname = "Babel";
@@ -13,6 +13,8 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest freezegun glibcLocales ];
 
+  doCheck = !stdenv.isDarwin;
+
   preCheck = ''
     export LC_ALL="en_US.UTF-8"
   '';
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index b88c3c69b5d..aff4e0b62b3 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , python
 , glibcLocales
 , pkgconfig
@@ -25,11 +26,11 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.29.13";
+  version = "0.29.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e";
+    sha256 = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414";
   };
 
   nativeBuildInputs = [
@@ -41,6 +42,15 @@ in buildPythonPackage rec {
   buildInputs = [ glibcLocales gdb ];
   LC_ALL = "en_US.UTF-8";
 
+  patches = [
+    # https://github.com/cython/cython/issues/2752, needed by sage (https://trac.sagemath.org/ticket/26855) and up to be included in 0.30
+    (fetchpatch {
+      name = "non-int-conversion-to-pyhash.patch";
+      url = "https://github.com/cython/cython/commit/28251032f86c266065e4976080230481b1a1bb29.patch";
+      sha256 = "19rg7xs8gr90k3ya5c634bs8gww1sxyhdavv07cyd2k71afr83gy";
+    })
+  ];
+
   checkPhase = ''
     export HOME="$NIX_BUILD_TOP"
     ${python.interpreter} runtests.py -j$NIX_BUILD_CORES \
diff --git a/pkgs/development/python-modules/GitPython/default.nix b/pkgs/development/python-modules/GitPython/default.nix
index d92100cc141..be2526ffcd4 100644
--- a/pkgs/development/python-modules/GitPython/default.nix
+++ b/pkgs/development/python-modules/GitPython/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }:
 
 buildPythonPackage rec {
-  version = "3.0.4";
+  version = "3.0.5";
   pname = "GitPython";
   disabled = isPy27; # no longer supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3237caca1139d0a7aa072f6735f5fd2520de52195e0fa1d8b83a9b212a2498b2";
+    sha256 = "9c2398ffc3dcb3c40b27324b316f08a4f93ad646d5a6328cafbb871aa79f5e42";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index 52cf7598da8..d36a47c331c 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "8.0.2";
+  version = "8.0.3";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a5y1qriy76hl4yxvbf365b1ggsxybm06mi1pwb5jkgbkwk2gkrf";
+    sha256 = "a53470be082fce1843fb73002be2504828f9abc49a84eab5d1effc06ae2a5ddc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/ROPGadget/default.nix b/pkgs/development/python-modules/ROPGadget/default.nix
index c9398d96fce..4daf76219ad 100644
--- a/pkgs/development/python-modules/ROPGadget/default.nix
+++ b/pkgs/development/python-modules/ROPGadget/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "ROPGadget";
-  version = "5.8";
+  version = "5.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "184qncm2ss474prphw0xnf7ifkpgj955dzlb2vqq94z6xvf3xyd9";
+    sha256 = "0lggiqws4dzq6k6c20l515pmjajl19gymsxfggkv771dv5kr1gbs";
   };
 
   propagatedBuildInputs = [ capstone ];
diff --git a/pkgs/development/python-modules/Rtree/default.nix b/pkgs/development/python-modules/Rtree/default.nix
index 7953829465b..1ac721874da 100644
--- a/pkgs/development/python-modules/Rtree/default.nix
+++ b/pkgs/development/python-modules/Rtree/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Rtree";
-  version = "0.8.3";
+  version = "0.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jc62jbcqqpjcwcly7l9zk25bg72mrxmjykpvfiscgln00qczfbc";
+    sha256 = "6a34b25f588e1563e45af251a8469b43a125d972eb2fa66e9ce96ed29f06c454";
   };
 
   propagatedBuildInputs = [ libspatialindex ];
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix
index 554eaf97791..67600a6e5fd 100644
--- a/pkgs/development/python-modules/Theano/default.nix
+++ b/pkgs/development/python-modules/Theano/default.nix
@@ -35,7 +35,11 @@ let
     '';
 
   # Theano spews warnings and disabled flags if the compiler isn't named g++
-  cxx_compiler = wrapped "g++" "\\$HOME/.theano"
+  cxx_compiler_name =
+    if stdenv.cc.isGNU then "g++" else
+    if stdenv.cc.isClang then "clang++" else
+    throw "Unknown C++ compiler";
+  cxx_compiler = wrapped cxx_compiler_name "\\$HOME/.theano"
     (    stdenv.lib.optional cudaSupport libgpuarray_
       ++ stdenv.lib.optional cudnnSupport cudnn );
 
diff --git a/pkgs/development/python-modules/Wand/default.nix b/pkgs/development/python-modules/Wand/default.nix
index 6ff6a7b9f07..a7fe193c62f 100644
--- a/pkgs/development/python-modules/Wand/default.nix
+++ b/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.5.7";
+  version = "0.5.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wvqzppflph3fkgkyv3k11ga28fv1g1bz8sbf227d7pql8c6ia8k";
+    sha256 = "0sjdlfhw1wdjqpmr72mckf2njy9xigx51shl510jhvl418cja2bd";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 679725db307..f9730eb61ae 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
 
   pname = "XlsxWriter";
-  version = "1.2.1";
+  version = "1.2.6";
 
   # PyPI release tarball doesn't contain tests so let's use GitHub. See:
   # https://github.com/jmcnamara/XlsxWriter/issues/327
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = pname;
     rev = "RELEASE_${version}";
-    sha256 = "0br8ib9n17dfprfly93mjkhdhpndb7i4g57lwscvp2s69ssql32s";
+    sha256 = "05y1py5mn1m65bbwhinzv84jd3xj8snvf2795flw0xbxnkn8nd8p";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index 94ec1557a26..85ce02be1c3 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "acoustics";
-  version = "0.2.2";
+  version = "0.2.3";
 
   checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00981908c7cf54be58c0bfe902d7743225554ecf3432b30723e9300d9f3a0b0e";
+    sha256 = "ca663059d61fbd2899aed4e3cedbc3f983aa67afd3ae1617db3c59b724206fb3";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 051ae50e3a5..d64bd672ca0 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b12a7be3d89b270f266f8643aaa126404e5cdc0929bd6f09548b8eaed85e2aa1";
+    sha256 = "a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index ff88d86fa29..5be6f9d86fd 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "2.4.0";
+  version = "2.4.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bef494dd39a12e2e76cf4ea772a2746f1669ee243f03ad3579085ca9605beccb";
+    sha256 = "e43e0fd628506f95752e90ab1579e5495183cc3c46915d0b0a062975cb5d181b";
   };
 
   propagatedBuildInputs = [ attrs protobuf zeroconf ];
diff --git a/pkgs/development/python-modules/aioeventlet/default.nix b/pkgs/development/python-modules/aioeventlet/default.nix
index 5df19e92e8d..0582a59eae8 100644
--- a/pkgs/development/python-modules/aioeventlet/default.nix
+++ b/pkgs/development/python-modules/aioeventlet/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "aioeventlet implements the asyncio API (PEP 3156) on top of eventlet. It makes";
-    homepage = https://aioeventlet.readthedocs.org/;
+    homepage = "https://pypi.org/project/aioeventlet/";
     license = licenses.asl20;
   };
 
diff --git a/pkgs/development/python-modules/aiokafka/default.nix b/pkgs/development/python-modules/aiokafka/default.nix
new file mode 100644
index 00000000000..b31f83dc136
--- /dev/null
+++ b/pkgs/development/python-modules/aiokafka/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, kafka-python
+, cython
+, zlib
+}:
+
+buildPythonPackage rec {
+  pname = "aiokafka";
+  version = "0.5.2";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = "aiokafka";
+    rev = "v${version}";
+    sha256 = "062kqsq75fi5pbpqf2a8nxm43pxpr6bwplg6bp4nv2a68r850pki";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  buildInputs = [
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    kafka-python
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+       --replace "kafka-python==1.4.6" "kafka-python"
+  '';
+
+  # checks require running kafka server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Kafka integration with asyncio";
+    homepage = https://aiokafka.readthedocs.org;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioredis/default.nix b/pkgs/development/python-modules/aioredis/default.nix
index af089472d93..7769f543754 100644
--- a/pkgs/development/python-modules/aioredis/default.nix
+++ b/pkgs/development/python-modules/aioredis/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "aioredis";
-  version = "1.3.0";
+  version = "1.3.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86da2748fb0652625a8346f413167f078ec72bdc76e217db7e605a059cd56e86";
+    sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index 6350e3f0441..eba64f46559 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.18.3";
+  version = "0.18.4";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "0k545hc7wl6sh1svydzbv6x7sx5pig2pqkl3yxs9riwmvzawx9xp";
+    sha256 = "0jpvrkan6w8bpq017m8si7r9hb1pyw3ip4vr1fl2pmi8ngzc1jdy";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/aiorun/default.nix b/pkgs/development/python-modules/aiorun/default.nix
new file mode 100644
index 00000000000..7e38bb76873
--- /dev/null
+++ b/pkgs/development/python-modules/aiorun/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytest
+, pytestcov
+, uvloop
+}:
+
+buildPythonPackage rec {
+  pname = "aiorun";
+  version = "2019.11.1";
+  format = "flit";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "cjrh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04p3sci6af6qqfkcqamsqhmqqrigcwvl4bmx8yv5ppvkyq39pxi7";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    uvloop
+  ];
+
+  # allow for writable directory for darwin
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  checkPhase = ''
+     pytest
+  '';
+
+  meta = with lib; {
+    description = "Boilerplate for asyncio applications";
+    homepage = https://github.com/cjrh/aiorun;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/alot/default.nix b/pkgs/development/python-modules/alot/default.nix
index 9dd3a449664..fa21b66e3ab 100644
--- a/pkgs/development/python-modules/alot/default.nix
+++ b/pkgs/development/python-modules/alot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy3k
+{ stdenv, lib, buildPythonPackage, python, fetchFromGitHub, isPy3k
 , notmuch, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme
 , service-identity
 , gnupg ? null, sphinx, awk ? null, procps ? null, future ? null
@@ -39,7 +39,9 @@ buildPythonPackage rec {
 
   checkInputs =  [ awk future mock gnupg procps ];
 
-  postInstall = lib.optionalString withManpage ''
+  postInstall = let
+    completionPython = python.withPackages (ps: [ ps.configobj ]);
+  in lib.optionalString withManpage ''
     mkdir -p $out/man
     cp -r docs/build/man $out/man
   ''
@@ -47,6 +49,8 @@ buildPythonPackage rec {
     mkdir -p $out/share/{applications,alot}
     cp -r extra/themes $out/share/alot
 
+    substituteInPlace extra/completion/alot-completion.zsh \
+      --replace "python3" "${completionPython.interpreter}"
     install -D extra/completion/alot-completion.zsh $out/share/zsh/site-functions/_alot
 
     sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
diff --git a/pkgs/development/python-modules/ansi2html/default.nix b/pkgs/development/python-modules/ansi2html/default.nix
index 2a705b53538..18a2b0dde7f 100644
--- a/pkgs/development/python-modules/ansi2html/default.nix
+++ b/pkgs/development/python-modules/ansi2html/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Convert text with ANSI color codes to HTML";
-    homepage = http://github.com/ralphbean/ansi2html;
+    homepage = https://github.com/ralphbean/ansi2html;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ davidtwco ];
     platforms = platforms.all;
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index fee714ed218..62f95c3cefc 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9db56a69ad5d43fe7656ad8efb4083cb1800ea400f7828af6b20f44c0882404f";
+    sha256 = "e6ccb7ccf9bab9c49a391db37e0d399ba0e73f969801ae35ff74020bfd4fc346";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index fcc984faf8c..96be51e82f0 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -6,29 +6,31 @@
 , jinja2
 , pyyaml
 , httplib2
-, boto
 , six
 , netaddr
 , dnspython
 , jmespath
 , dopy
+, ncclient
 , windowsSupport ? false
 , pywinrm
 }:
 
 buildPythonPackage rec {
   pname = "ansible";
-  version = "2.8.4";
+  version = "2.8.7";
 
   src = fetchFromGitHub {
     owner = "ansible";
     repo = "ansible";
     rev = "v${version}";
-    sha256 = "1fp7zz8awfv70nn8i6x0ggx4472377hm7787x16qv2kz4nb069ki";
+    sha256 = "08vqjk85j0g1x0iad03d7ysws433dikii8j2lr3a1mlx6d186vv8";
   };
 
   prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
+    # ansible-connection is wrapped, so make sure it's not passed
+    # through the python interpreter.
+    sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py
   '';
 
   postInstall = ''
@@ -39,7 +41,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     pycrypto paramiko jinja2 pyyaml httplib2
-    six netaddr dnspython jmespath dopy
+    six netaddr dnspython jmespath dopy ncclient
   ] ++ lib.optional windowsSupport pywinrm;
 
   # dificult to test
diff --git a/pkgs/development/python-modules/ansiwrap/default.nix b/pkgs/development/python-modules/ansiwrap/default.nix
new file mode 100644
index 00000000000..517083a0621
--- /dev/null
+++ b/pkgs/development/python-modules/ansiwrap/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, ansicolors
+, coverage
+, pytestcov
+, textwrap3
+}:
+
+buildPythonPackage rec {
+  pname = "ansiwrap";
+  version = "0.8.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "ca0c740734cde59bf919f8ff2c386f74f9a369818cdc60efe94893d01ea8d9b7";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    ansicolors
+    coverage
+    pytestcov
+  ];
+
+  propagatedBuildInputs = [
+    textwrap3
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap, but savvy to ANSI colors and styles";
+    homepage = https://github.com/jonathaneunice/ansiwrap;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/anytree/default.nix b/pkgs/development/python-modules/anytree/default.nix
index 3821fea2446..638b2c2baa3 100644
--- a/pkgs/development/python-modules/anytree/default.nix
+++ b/pkgs/development/python-modules/anytree/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "anytree";
-  version = "2.6.0";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     owner = "c0fec0de";
     repo = pname;
     rev = version;
-    sha256 = "1k3yj9h3ssjlz57r4g1qzxvprxjp7n92vms9fv0d46pigylxm5i3";
+    sha256 = "0ag5ir9h5p7rbm2pmpxlkflwigrm7z4afh24jvbhqj7pyrbjmk9w";
   };
 
   patches = [
@@ -25,12 +25,6 @@ buildPythonPackage rec {
       src = ./graphviz.patch;
       inherit graphviz;
     })
-    # Fix tests python3.7
-    # See: https://github.com/c0fec0de/anytree/pull/85
-    (fetchpatch {
-      url = "https://github.com/c0fec0de/anytree/commit/dd1b3d325546fef7436711e4cfea9a5fb61daaf8.patch";
-      sha256 = "1dpa2jh2kakfaapnqrz03frb67q5fwxzc8c70i6nv1b01i9xw0bn";
-    })
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
new file mode 100644
index 00000000000..c15aac61b5c
--- /dev/null
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -0,0 +1,188 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, fetchpatch
+, alembic
+, cached-property
+, configparser
+, colorlog
+, croniter
+, dill
+, flask
+, flask-appbuilder
+, flask-admin
+, flask-caching
+, flask_login
+, flask-swagger
+, flask_wtf
+, flask-bcrypt
+, funcsigs
+, future
+, GitPython
+, gunicorn
+, iso8601
+, json-merge-patch
+, jinja2
+, ldap3
+, lxml
+, lazy-object-proxy
+, markdown
+, pandas
+, pendulum
+, psutil
+, pygments
+, python-daemon
+, python-dateutil
+, requests
+, setproctitle
+, snakebite
+, sqlalchemy
+, tabulate
+, tenacity
+, termcolor
+, text-unidecode
+, thrift
+, tzlocal
+, unicodecsv
+, werkzeug
+, zope_deprecation
+, enum34
+, typing
+, nose
+, python
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "apache-airflow";
+  version = "1.10.5";
+  disabled = (!isPy3k);
+
+  src = fetchFromGitHub rec {
+    owner = "apache";
+    repo = "airflow";
+    rev = version;
+    sha256 = "14fmhfwx977c9jdb2kgm93i6acx43l45ggj30rb37r68pzpb6l6h";
+  };
+
+  patches = [
+       # Not yet accepted: https://github.com/apache/airflow/pull/6562
+     (fetchpatch {
+       name = "avoid-warning-from-abc.collections";
+       url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6562.patch;
+       sha256 = "0swpay1qlb7f9kgc56631s1qd9k82w4nw2ggvkm7jvxwf056k61z";
+     })
+       # Not yet accepted: https://github.com/apache/airflow/pull/6561
+     (fetchpatch {
+       name = "pendulum2-compatibility";
+       url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6561.patch;
+       sha256 = "17hw8qyd4zxvib9zwpbn32p99vmrdz294r31gnsbkkcl2y6h9knk";
+     })
+  ];
+
+  propagatedBuildInputs = [
+    alembic
+    cached-property
+    colorlog
+    configparser
+    croniter
+    dill
+    flask
+    flask-admin
+    flask-appbuilder
+    flask-bcrypt
+    flask-caching
+    flask_login
+    flask-swagger
+    flask_wtf
+    funcsigs
+    future
+    GitPython
+    gunicorn
+    iso8601
+    json-merge-patch
+    jinja2
+    ldap3
+    lxml
+    lazy-object-proxy
+    markdown
+    pandas
+    pendulum
+    psutil
+    pygments
+    python-daemon
+    python-dateutil
+    requests
+    setproctitle
+    sqlalchemy
+    tabulate
+    tenacity
+    termcolor
+    text-unidecode
+    thrift
+    tzlocal
+    unicodecsv
+    werkzeug
+    zope_deprecation
+  ];
+
+  checkInputs = [
+    snakebite
+    nose
+  ];
+
+  postPatch = ''
+
+   substituteInPlace setup.py \
+     --replace "flask>=1.1.0, <2.0" "flask" \
+     --replace "flask-caching>=1.3.3, <1.4.0" "flask-caching" \
+     --replace "flask-appbuilder>=1.12.5, <2.0.0" "flask-appbuilder" \
+     --replace "pendulum==1.4.4" "pendulum" \
+     --replace "cached_property~=1.5" "cached_property" \
+     --replace "dill>=0.2.2, <0.3" "dill" \
+     --replace "configparser>=3.5.0, <3.6.0" "configparser" \
+     --replace "jinja2>=2.7.3, <=2.10.0" "jinja2" \
+     --replace "funcsigs==1.0.0" "funcsigs" \
+     --replace "flask-swagger==0.2.13" "flask-swagger" \
+     --replace "python-daemon>=2.1.1, <2.2" "python-daemon" \
+     --replace "alembic>=0.9, <1.0" "alembic" \
+     --replace "markdown>=2.5.2, <3.0" "markdown" \
+     --replace "future>=0.16.0, <0.17" "future" \
+     --replace "tenacity==4.12.0" "tenacity" \
+     --replace "text-unidecode==1.2" "text-unidecode" \
+     --replace "tzlocal>=1.4,<2.0.0" "tzlocal" \
+     --replace "sqlalchemy~=1.3" "sqlalchemy" \
+     --replace "werkzeug>=0.14.1, <0.15.0" "werkzeug"
+ 
+  # dumb-init is only needed for CI and Docker, not relevant for NixOS.
+  substituteInPlace setup.py \
+     --replace "'dumb-init>=1.2.2'," ""
+
+   substituteInPlace tests/core.py \
+     --replace "/bin/bash" "${stdenv.shell}"
+  '';
+
+  checkPhase = ''
+   export HOME=$(mktemp -d)
+   export AIRFLOW_HOME=$HOME
+   export AIRFLOW__CORE__UNIT_TEST_MODE=True
+   export AIRFLOW_DB="$HOME/airflow.db"
+   export PATH=$PATH:$out/bin
+
+   airflow version
+   airflow initdb
+   airflow resetdb -y
+   nosetests tests.core.CoreTest
+   ## all tests
+   # nosetests --cover-package=airflow
+  '';
+
+  meta = with lib; {
+    description = "Programmatically author, schedule and monitor data pipelines";
+    homepage = http://airflow.apache.org/;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc maintainers.ingenieroariel ];
+  };
+}
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
new file mode 100644
index 00000000000..217a921a634
--- /dev/null
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, prance
+, marshmallow
+, pytestCheckHook
+, mock
+, openapi-spec-validator
+}:
+
+buildPythonPackage rec {
+  pname = "apispec";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rr32z9hbf8w4w1fs5gj2v0ixcq2vq7a3wssrlxagi5ii7ygap7y";
+  };
+
+  checkInputs = [
+    pyyaml
+    prance
+    openapi-spec-validator
+    marshmallow
+    mock
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
+    homepage = https://github.com/marshmallow-code/apispec;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index 086273679b1..6ac9acfac32 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a26fa03c4b83f03f17e8f8fc0b94d5502a12dc2e39b48e93a0ab0fd93151a95";
+    sha256 = "0m0pddqrpfm526f0fyzzjpcp7hi3d6pj0bgk2vl004lkas4li1hw";
   };
 
   nativeBuildInputs = [ Babel ];
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 9169b0d9ec3..48e3b20c7c1 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.29.0-r1";
+  version = "3.30.1-r1";
 
   disabled = isPyPy;
 
@@ -11,19 +11,11 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "1p3sgmk9qwd0a634lirva44qgpyq0a74r9d70wxb6hsa52yjj9xb";
+    sha256 = "1zp38gj44bmzfxxpvgd7nixkp8vs2fpl839ag8vrh9z70dax22f0";
   };
 
   buildInputs = [ sqlite ];
 
-  patches = [
-    # Fixes a test failure with sqlite 3.30, see https://github.com/rogerbinns/apsw/issues/275
-    (fetchpatch {
-      url = "https://github.com/rogerbinns/apsw/commit/13df0b57bff59542978abf7c0a440c9274e3aac3.diff";
-      sha256 = "1wi1mfis2mr21389wdnvq44phg0bpm5vpwmxhvrj211vwfm0q7dv";
-    })
-  ];
-
   meta = with stdenv.lib; {
     description = "A Python wrapper for the SQLite embedded relational database engine";
     homepage = https://github.com/rogerbinns/apsw;
diff --git a/pkgs/development/python-modules/aresponses/default.nix b/pkgs/development/python-modules/aresponses/default.nix
index 9e64d2f65ff..472911340ad 100644
--- a/pkgs/development/python-modules/aresponses/default.nix
+++ b/pkgs/development/python-modules/aresponses/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aresponses";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d1d6ef52b9a97142d106688cf9b112602ef3dc66f6368de8f91f47241d8cfc9c";
+    sha256 = "20a63536d86af6f31f9b0720c561bdc595b6bfe071940e347ab58b11caff9e1b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
index efc4c824a39..6f978778f7d 100644
--- a/pkgs/development/python-modules/argcomplete/default.nix
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "argcomplete";
-  version = "1.10.0";
+  version = "1.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hdysr9z28sgwv47mivf4iyr1sg19hgfz349dghgdlk3rkl6v0s5";
+    sha256 = "a37f522cf3b6a34abddfedb61c4546f60023b3799b22d1cd971eacdc0861530a";
   };
 
   doCheck = false; # bash-completion test fails with "compgen: command not found".
diff --git a/pkgs/development/python-modules/arrayqueues/default.nix b/pkgs/development/python-modules/arrayqueues/default.nix
new file mode 100644
index 00000000000..82c8fc93267
--- /dev/null
+++ b/pkgs/development/python-modules/arrayqueues/default.nix
@@ -0,0 +1,25 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "arrayqueues";
+  version = "1.2.0b0";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gvrxb2rw0dk469wq5azylar7hhanfp07gl5mc6ajdbgz9gsd6ln";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/arrayqueues";
+    description = "Multiprocessing queues for numpy arrays using shared memory";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index bf3dcb869f9..af3e4547628 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "0.15.2";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f";
+    sha256 = "e1a318a4c0b787833ae46302c02488b6eeef413c6a13324b3261ad320f21ec1e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix
new file mode 100644
index 00000000000..ba941503548
--- /dev/null
+++ b/pkgs/development/python-modules/arviz/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, emcee
+, matplotlib
+, netcdf4
+, numba
+, numpy
+, pandas
+, pytest
+, scipy
+, setuptools
+, tensorflow-probability
+, xarray
+#, h5py (used by disabled tests)
+#, pymc3 (broken)
+#, pyro-ppl (broken)
+#, pystan (not packaged)
+#, numpyro (not packaged)
+}:
+
+buildPythonPackage rec {
+  pname = "arviz";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "arviz-devs";
+    repo = "arviz";
+    rev = version;
+    sha256 = "0p600cakix24wz2ridnzy6sp3l1p2kr5s60qc7s82wpv7fw0i9ry";
+  };
+
+  propagatedBuildInputs = [
+    # needed to install
+    matplotlib
+    netcdf4
+    pandas
+    xarray
+    # needed to import
+    setuptools
+    # not needed to import, but used by many functions
+    # and is listed as a dependency in the documentation
+    numpy
+    scipy
+  ];
+
+  checkInputs = [
+    emcee
+    numba
+    pytest
+    tensorflow-probability
+    #h5py (used by disabled tests)
+    #pymc3 (broken)
+    #pyro-ppl (broken)
+    #pystan (not packaged)
+    #numpyro (not packaged)
+  ];
+
+  # check requires pymc3 and pyro-ppl, which are currently broken, and pystan
+  # and numpyro, which are not yet packaged, some checks also need to make
+  # directories and do not have permission to do so. So we can only check part
+  # of the package
+  # Additionally, there are some failures with the plots test, which revolve
+  # around attempting to output .mp4 files through an interface that only wants
+  # to output .html files.
+  # The following test have been disabled as a result: data_cmdstanpy,
+  # data_numpyro, data_pyro, data_pystan, and plots.
+  checkPhase = ''
+    cd arviz/tests/
+    HOME=$TMPDIR pytest test_{data_cmdstan,data_emcee,data,data_tfp,\
+    diagnostics,plot_utils,rcparams,stats,stats_utils,utils}.py
+  '';
+
+  meta = with lib; {
+    description = "ArviZ is a Python package for exploratory analysis of Bayesian models";
+    homepage = "https://arviz-devs.github.io/arviz/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.omnipotententity ];
+  };
+}
diff --git a/pkgs/development/python-modules/astor/default.nix b/pkgs/development/python-modules/astor/default.nix
index 21eeead88ca..e8ea8c37cd9 100644
--- a/pkgs/development/python-modules/astor/default.nix
+++ b/pkgs/development/python-modules/astor/default.nix
@@ -1,22 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy27, pytest, fetchpatch }:
+{ lib, buildPythonPackage, fetchPypi, isPy27, pytest, fetchpatch }:
 
 buildPythonPackage rec {
   pname = "astor";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qkq5bf13fqcwablg0nk7rx83izxdizysd42n26j5wbingcfx9ip";
+    sha256 = "0ppscdzzvxpznclkmhhj53iz314x3pfv4yc7c6gwxqgljgdgyvka";
   };
 
-  # fix packaging for setuptools>=41.4
-  patches = [
-    ( fetchpatch {
-        url = "https://github.com/berkerpeksag/astor/pull/163/commits/bd697678674aafcf3f7b1c06af67df181ed584e2.patch";
-        sha256 = "1m4szdyzalngd5klanmpjx5smgpc7rl5klky0lc0yhwbx210mla6";
-    })
-  ];
-
   # disable tests broken with python3.6: https://github.com/berkerpeksag/astor/issues/89
   checkInputs = [ pytest ];
   checkPhase = ''
@@ -28,7 +20,7 @@ buildPythonPackage rec {
                 and not test_codegen_from_root'
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Library for reading, writing and rewriting python AST";
     homepage = https://github.com/berkerpeksag/astor;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 1899559b2a9..5d24a05aa54 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.3.2";
+  version = "2.3.3";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a3fba616519311f1af8a461f804b68f0370e100c9264a035aa7846d7852e33";
+    sha256 = "71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a";
   };
 
   # From astroid/__pkginfo__.py
diff --git a/pkgs/development/python-modules/astropy-healpix/default.nix b/pkgs/development/python-modules/astropy-healpix/default.nix
index 2027f694c77..4300165470c 100644
--- a/pkgs/development/python-modules/astropy-healpix/default.nix
+++ b/pkgs/development/python-modules/astropy-healpix/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "astropy-healpix";
-  version = "0.4";
+  version = "0.5";
 
   doCheck = false; # tests require pytest-astropy
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c9709ac923759c92eca6d2e623e734d0f417eed40ba835b77d99dec09e51aa2";
+    sha256 = "1bfdq33mj6mwk5fkc6n23f9bc9z8j7kmvql3zchz4h58jskmvqas";
   };
 
   propagatedBuildInputs = [ numpy astropy astropy-helpers ];
diff --git a/pkgs/development/python-modules/astropy-helpers/default.nix b/pkgs/development/python-modules/astropy-helpers/default.nix
index b5a7f014eec..fac97d2d368 100644
--- a/pkgs/development/python-modules/astropy-helpers/default.nix
+++ b/pkgs/development/python-modules/astropy-helpers/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "astropy-helpers";
-  version = "3.2.1";
+  version = "3.2.2";
 
   disabled = !isPy3k;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1klxyfvl9hbhy37n1z3mb0vm5pmd7hbsnzhjkvigz3647hmfzva6";
+    sha256 = "cf32cb008b19597a1fe1a4d97f59734f30cd513aa3369a321e7b5b86cdb623fb";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index dea22cccb06..fce2ecd392a 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "astropy";
-  version = "3.2.2";
+  version = "3.2.3";
 
   disabled = !isPy3k; # according to setup.py
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8553f4a95e9938a0c7ae520633f7172356824b8eb324dd967fca6baf00ac19bf";
+    sha256 = "47f00816c2978fdd10f448c8f0337d6dca7b8cbeaab4bf272b5fd37cb4b890d3";
   };
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch b/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
deleted file mode 100644
index 0b1c7973b59..00000000000
--- a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ruN astroquery-0.3.9.orig/astroquery/conftest.py astroquery-0.3.9/astroquery/conftest.py
---- astroquery-0.3.9.orig/astroquery/conftest.py	2018-11-27 14:51:16.000000000 +0100
-+++ astroquery-0.3.9/astroquery/conftest.py	2019-07-23 18:19:17.000000000 +0200
-@@ -5,15 +5,20 @@
- # by importing them here in conftest.py they are discoverable by py.test
- # no matter how it is invoked within the source tree.
- 
--from astropy.tests.pytest_plugins import (PYTEST_HEADER_MODULES,
--                                          enable_deprecations_as_exceptions,
--                                          TESTED_VERSIONS)
-+from astropy.version import version as astropy_version
- 
--try:
--    packagename = os.path.basename(os.path.dirname(__file__))
--    TESTED_VERSIONS[packagename] = version.version
--except NameError:
--    pass
-+if astropy_version < '3.0':
-+    # With older versions of Astropy, we actually need to import the pytest
-+    # plugins themselves in order to make them discoverable by pytest.
-+    from astropy.tests.pytest_plugins import *
-+else:
-+    # As of Astropy 3.0, the pytest plugins provided by Astropy are
-+    # automatically made available when Astropy is installed. This means it's
-+    # not necessary to import them here, but we still need to import global
-+    # variables that are used for configuration.
-+    from astropy.tests.plugins.display import PYTEST_HEADER_MODULES, TESTED_VERSIONS
-+
-+from astropy.tests.helper import enable_deprecations_as_exceptions
- 
- # Add astropy to test header information and remove unused packages.
- # Pytest header customisation was introduced in astropy 1.0.
-@@ -36,12 +41,17 @@
-     # The warnings_to_ignore_by_pyver parameter was added in astropy 2.0
-     enable_deprecations_as_exceptions(modules_to_ignore_on_import=['requests'])
- 
-+# add '_testrun' to the version name so that the user-agent indicates that
-+# it's being run in a test
-+from . import version
-+version.version += '_testrun'
-+
-+
- # This is to figure out the affiliated package version, rather than
- # using Astropy's
--try:
--    from .version import version
--except ImportError:
--    version = 'dev'
-+from .version import version, astropy_helpers_version
-+
- 
- packagename = os.path.basename(os.path.dirname(__file__))
- TESTED_VERSIONS[packagename] = version
-+TESTED_VERSIONS['astropy_helpers'] = astropy_helpers_version
diff --git a/pkgs/development/python-modules/astroquery/default.nix b/pkgs/development/python-modules/astroquery/default.nix
index e1f36ffa8cf..461d8801e60 100644
--- a/pkgs/development/python-modules/astroquery/default.nix
+++ b/pkgs/development/python-modules/astroquery/default.nix
@@ -20,10 +20,6 @@ buildPythonPackage rec {
     sha256 = "1ce57a8792c7d5d74206d797d379de6da35d56be433ea5840c41a49f202e2fab";
   };
 
-  # Fix tests using conftest.py from HEAD in the upstream GitHub
-  # repository.
-  patches = [ ./conftest-astropy-3-fix.patch ];
-
   propagatedBuildInputs = [ astropy requests keyring beautifulsoup4 html5lib ];
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/asyncpg/default.nix b/pkgs/development/python-modules/asyncpg/default.nix
index 8bcfb2d84a2..2a47f13fe4b 100644
--- a/pkgs/development/python-modules/asyncpg/default.nix
+++ b/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.19.0";
+  version = "0.20.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sp3m6sgw83rhvg87y78lhk4xxx58ffzyf9rsq5f1a7b8azbnlxj";
+    sha256 = "0yjszgg1zbbsfxj1gv17ymc2hcfvymkvg69dvpvwy0dqspjxq0ma";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/atomman/default.nix b/pkgs/development/python-modules/atomman/default.nix
index ef69ee91d38..d873700f32a 100644
--- a/pkgs/development/python-modules/atomman/default.nix
+++ b/pkgs/development/python-modules/atomman/default.nix
@@ -1,34 +1,33 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, xmltodict
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy27
+, cython
 , datamodeldict
-, numpy
 , matplotlib
-, scipy
-, pandas
-, cython
 , numericalunits
+, numpy
+, pandas
 , pytest
+, scipy
+, toolz
+, xmltodict
 }:
 
 buildPythonPackage rec {
-  version = "1.2.8";
+  version = "1.3.0";
   pname = "atomman";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ed099fdceca2d733e81afb08d777e8e852a6e53660d6d268f3739b8d323ced9";
+  src = fetchFromGitHub {
+    owner = "usnistgov";
+    repo  = "atomman";
+    rev = "v${version}";
+    sha256 = "09pfykd96wmw00s3kgabghykjn8b4yjml4ybpi7kwy7ygdmzcx51";
   };
 
   checkInputs = [ pytest ];
-  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits ];
-
-  # tests not included with Pypi release
-  doCheck = false;
+  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits toolz ];
 
   checkPhase = ''
-    py.test tests
+    py.test tests -k 'not test_atomic'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/authlib/default.nix b/pkgs/development/python-modules/authlib/default.nix
new file mode 100644
index 00000000000..579652c3f95
--- /dev/null
+++ b/pkgs/development/python-modules/authlib/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, mock
+, cryptography
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "0.13";
+  pname = "authlib";
+
+  src = fetchFromGitHub {
+    owner = "lepture";
+    repo = "authlib";
+    rev = "v${version}";
+    sha256 = "1nv0jbsaqr9qjn7nnl55s42iyx655k7fsj8hs69652lqnfn5y3d5";
+  };
+
+  propagatedBuildInputs = [ cryptography requests ];
+
+  checkInputs = [ mock pytest ];
+
+  checkPhase = ''
+    PYTHONPATH=$PWD:$PYTHONPATH pytest tests/{core,files}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lepture/authlib;
+    description = "The ultimate Python library in building OAuth and OpenID Connect servers. JWS,JWE,JWK,JWA,JWT included.";
+    maintainers = with maintainers; [ flokli ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 16ebf496158..2c5d562657b 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "0.12.14";
+  version = "0.12.17";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a76b0b76e4e843bfffc26771f6e1848be6f1c225e79f541c12215ae90503e489";
+    sha256 = "f794c926e726b3545035ffcb8e6defe6a4ea975c6266c0154024e4591739a253";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/awkward1/default.nix b/pkgs/development/python-modules/awkward1/default.nix
new file mode 100644
index 00000000000..6b515b56713
--- /dev/null
+++ b/pkgs/development/python-modules/awkward1/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cmake
+, numba
+, numpy
+, pytest
+, rapidjson
+}:
+
+buildPythonPackage rec {
+  pname = "awkward1";
+  version = "0.1.28";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2269aca04c827549435e24f9976d27e904d02b74a30caa9a2a463225a8ba1609";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ rapidjson ];
+  propagatedBuildInputs = [ numpy ];
+
+  dontUseCmakeConfigure = true;
+
+  checkInputs = [ pytest numba ];
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Development of awkward 1.0, to replace scikit-hep/awkward-array in 2020";
+    homepage = "https://github.com/scikit-hep/awkward-1.0";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 5124077b118..0c16480e9c4 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -1,13 +1,15 @@
 { lib, buildPythonPackage, fetchPypi
-, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3, requests, click, configparser }:
+, pytest, pytestrunner, pytestcov, mock, glibcLocales, lxml, boto3
+, requests, click, configparser, fido2, isPy27 }:
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.19.0";
+  version = "1.20.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da20c682993d87d41534ffc2be0819d924aaf230b27abbc5d1fa8ad62410bf39";
+    sha256 = "1j18ffq5z8bcajavnlpbfhxrcadld5iv5gsfxg543yvdsp6hn2dg";
   };
 
   # Relax version constraint
@@ -22,7 +24,7 @@ buildPythonPackage rec {
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = [ glibcLocales pytest pytestrunner pytestcov mock ];
-  propagatedBuildInputs = [ lxml boto3 requests click configparser ];
+  propagatedBuildInputs = [ lxml boto3 requests click configparser fido2 ];
 
   meta = with lib; {
     description = "Command line tool to ease aws cli authentication against ADFS";
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 1e49edab25f..d9c90cfa049 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "0.4.0";
+  version = "0.6.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "1z2l9qm6mxp90zl64i9j2cmlzn8n7sc8yfpqh14fi9ay887ayjs1";
+    sha256 = "0bvph58wrw9in5irdbv103knvw2dhqs3kapqv5lpaac9dn7lsk6q";
   };
 
   # Package is not compatible with Python 3.5
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index b43ec658f5e..298ce22daa6 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11c62c00f37b57c39a55d7a29d93f4704a88549c29a6448ebc953147173fbe85";
+    sha256 = "0xvfbhiqdqy4qs4z8v2p7z3l01w5af948bmf400s5jsq2hnxl6nv";
   };
 
   # Tests are not included in the PyPI package
diff --git a/pkgs/development/python-modules/aws-xray-sdk/default.nix b/pkgs/development/python-modules/aws-xray-sdk/default.nix
index 8c421532288..c0ca6908586 100644
--- a/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce4adb60fe67ebe91f2fc57d5067b4e44df6e233652987be4fb2e549688cf9fe";
+    sha256 = "263a38f3920d9dc625e3acb92e6f6d300f4250b70f538bd009ce6e485676ab74";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-cli-core/default.nix b/pkgs/development/python-modules/azure-cli-core/default.nix
deleted file mode 100644
index a4d05b4c11e..00000000000
--- a/pkgs/development/python-modules/azure-cli-core/default.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ stdenv
-, lib
-, python
-, buildPythonPackage
-, fetchPypi
-, adal
-, antlr4-python3-runtime
-, argcomplete
-, azure-cli-telemetry
-, colorama
-, jmespath
-, humanfriendly
-, knack
-, msrest
-, msrestazure
-, paramiko
-, pygments
-, pyjwt
-, pyopenssl
-, pyyaml
-, requests
-, six
-, tabulate
-, azure-mgmt-resource
-, pyperclip
-, psutil
-, enum34
-, futures
-, antlr4-python2-runtime
-, ndg-httpsclient
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "azure-cli-core";
-  version = "2.0.75";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6fde38f4448542c0cf7b13201b702c6927180e7294221b8f67e2c834f22ae1bc";
-  };
-
-  propagatedBuildInputs = [
-    adal
-    argcomplete
-    azure-cli-telemetry
-    colorama
-    jmespath
-    humanfriendly
-    knack
-    msrest
-    msrestazure
-    paramiko
-    pygments
-    pyjwt
-    pyopenssl
-    pyyaml
-    requests
-    six
-    tabulate
-    azure-mgmt-resource
-    pyperclip
-    psutil
-  ]
-  ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
-  ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
-
-  # Remove overly restrictive version contraints and obsolete namespace setup
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "wheel==0.30.0" "wheel" \
-      --replace "azure-mgmt-resource==2.1.0" "azure-mgmt-resource"
-    substituteInPlace setup.cfg \
-      --replace "azure-namespace-package = azure-cli-nspkg" ""
-  '';
-
-  # Prevent these __init__'s from violating PEP420, only needed for python2
-  postInstall = lib.optionalString isPy3k ''
-    rm $out/${python.sitePackages}/azure/__init__.py \
-       $out/${python.sitePackages}/azure/cli/__init__.py
-  '';
-
-  # Tests are not included in sdist package
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = https://github.com/Azure/azure-cli;
-    description = "Next generation multi-platform command line experience for Azure";
-    platforms = platforms.all;
-    license = licenses.mit;
-    maintainers = with maintainers; [ jonringer ];
-  };
-}
diff --git a/pkgs/development/python-modules/azure-cli-telemetry/default.nix b/pkgs/development/python-modules/azure-cli-telemetry/default.nix
deleted file mode 100644
index 202e0a013b9..00000000000
--- a/pkgs/development/python-modules/azure-cli-telemetry/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv
-, lib
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-, python
-, applicationinsights
-, portalocker
-}:
-
-buildPythonPackage rec {
-  pname = "azure-cli-telemetry";
-  version = "1.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577";
-  };
-
-  propagatedBuildInputs = [
-    applicationinsights
-    portalocker
-  ];
-
-  # tests are not published to pypi
-  doCheck = false;
-
-  # Remove overly restrictive version contraints and obsolete namespace setup
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "applicationinsights>=0.11.1,<0.12" "applicationinsights"
-    substituteInPlace setup.cfg \
-      --replace "azure-namespace-package = azure-cli-nspkg" ""
-    rm azure_bdist_wheel.py # we'll fix PEP420 namespacing
-  '';
-
-  # Prevent these __init__'s from violating PEP420, only needed for python2
-  postInstall = lib.optionalString isPy3k ''
-    rm $out/${python.sitePackages}/azure/__init__.py \
-       $out/${python.sitePackages}/azure/cli/__init__.py
-  '';
-
-  meta = with lib; {
-    homepage = https://github.com/Azure/azure-cli;
-    description = "Next generation multi-platform command line experience for Azure";
-    platforms = platforms.all;
-    license = licenses.mit;
-    maintainers = with maintainers; [ jonringer ];
-  };
-}
diff --git a/pkgs/development/python-modules/azure-cosmos/default.nix b/pkgs/development/python-modules/azure-cosmos/default.nix
index c1a001bb1eb..5716b1254af 100644
--- a/pkgs/development/python-modules/azure-cosmos/default.nix
+++ b/pkgs/development/python-modules/azure-cosmos/default.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , lib
+, python
 , fetchPypi
 , six
 , requests
@@ -16,6 +17,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six requests ];
 
+  postInstall = ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # requires an active Azure Cosmos service
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
index 31a7d81dcab..c11ffae1e3d 100644
--- a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
+++ b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-cosmosdb-table";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a34c2c792036afc2a3811f4440ab967351e9ceee6542cc96453b63c678c0145";
+    sha256 = "5f061d2ab8dcf2f0b4e965d5976e7b7aeb1247ea896911f0e1d29092aaaa29c7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-datalake-store/default.nix b/pkgs/development/python-modules/azure-datalake-store/default.nix
index 0b7d0c9c775..5c45b843c76 100644
--- a/pkgs/development/python-modules/azure-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-datalake-store/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-datalake-store";
-  version = "0.0.47";
+  version = "0.0.48";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19fkkabr76r851r95kh5dpk4bdn3jkysv3aij6i2x99mkb4vxg2m";
+    sha256 = "d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-functions-devops-build/default.nix b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
new file mode 100644
index 00000000000..03007ae3c23
--- /dev/null
+++ b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, jinja2
+, msrest
+, vsts
+}:
+
+buildPythonPackage rec {
+  version = "0.0.22";
+  pname = "azure-functions-devops-build";
+
+  src = fetchFromGitHub {
+    owner = "Azure";
+    repo = "azure-functions-devops-build";
+    # rev picked based on pypi release date
+    rev = "c8249670acc77333e3de8b21dec60faf7ecf0951";
+    sha256 = "1slc7jd92v9q1qg1yacnrpi2a7hi7iw61wzbzfd6wx9q63pw9yqi";
+  };
+
+  propagatedBuildInputs = [ jinja2 msrest vsts ];
+
+  # circular dependency with azure-cli-core
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Integrate Azure Functions with Azure DevOps. Specifically made for the Azure CLI";
+    homepage = "https://github.com/Azure/azure-functions-devops-build";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-keyvault/default.nix b/pkgs/development/python-modules/azure-keyvault/default.nix
index 1c4f9f4ee80..91f31ec0a01 100644
--- a/pkgs/development/python-modules/azure-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonPackage
+, python
+, isPy3k
 , fetchPypi
 , azure-common
 , azure-nspkg
@@ -26,6 +28,10 @@ buildPythonPackage rec {
     cryptography
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-loganalytics/default.nix b/pkgs/development/python-modules/azure-loganalytics/default.nix
index ab512480f0c..4bfda9a9342 100644
--- a/pkgs/development/python-modules/azure-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , azure-common
 }:
@@ -20,6 +22,10 @@ buildPythonPackage rec {
     azure-common
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -27,6 +33,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Log Analytics Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ mwilsoninsight jonringer ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 00000000000..9f5c04adb26
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-apimanagement";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
new file mode 100644
index 00000000000..1cacd988157
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "azure-mgmt-appconfiguration";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1igl3ikdwcz7d2zcja5nm2qjysjh53vgwzcc96lylypmq6z4aq1s";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.appconfiguration" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure App Configuration Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index 57c3aec3d45..0a485f05f91 100644
--- a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, python
 , fetchPypi
 , msrest
 , msrestazure
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
index e1938738597..6da0cf2210c 100644
--- a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
index 666d10d87e5..8c658145d7e 100644
--- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -8,27 +8,33 @@
 , isPy3k
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "azure-mgmt-billing";
   version = "0.2.0"; #pypi's 0.2.0 doesn't build ootb
 
-  src = fetchFromGitHub {
-    owner = "Azure";
-    repo = "azure-sdk-for-python";
-    rev = "ee5b47525d6c1eae3b1fd5f65b0421eab62a6e6f";
-    sha256 = "0xzdn7da5c3q5knh033vbsqk36vwbm75cx8vf10x0yj58krb4kn4";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1li2bcdwdapwwx7xbvgfsq51f2mrwm0qyzih8cjhszcah2rkpxw5";
+    extension = "zip";
   };
 
-  preBuild = ''
-    cd ./azure-mgmt-billing
-  '';
-
   propagatedBuildInputs = [
     msrestazure
     azure-common
     azure-mgmt-nspkg
   ];
 
+  preBuild = ''
+    rm azure_bdist_wheel.py
+    substituteInPlace setup.cfg \
+      --replace "azure-namespace-package = azure-mgmt-nspkg" ""
+  '';
+
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
new file mode 100644
index 00000000000..d9375942b4d
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.2.0";
+  pname = "azure-mgmt-botservice";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10sxllwvybjlp35h5mjdxhkw2wzpl4b03i08p4jnv8cswrc8h7dj";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.botservice" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index c13676dc672..afe57ee6204 100644
--- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "9.0.0";
+  version = "10.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "06795ccb7377eaa3864819a1c63b9bfe9957a58814c65025aef89e9cd81190fc";
+    sha256 = "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
index 59b4cbee5bf..b69e4b649de 100644
--- a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -22,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
new file mode 100644
index 00000000000..821c7db0d32
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "2.8.0";
+  pname = "azure-mgmt-containerregistry";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "193k07a77z7bj61zn2gxvvfqi20cgxksvxp7if71bwsl1l2y2jxj";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.containerregistry" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Container Registry Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 33617383a1d..aef56be79c0 100644
--- a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+    sha256 = "0y28z30g7y2pj7rfxyxmqpr19z24d01g9qhafvjxry748im1961h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
index c3d690088d1..ad77a75fe83 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-datalake-nspkg
@@ -22,6 +24,12 @@ buildPythonPackage rec {
     azure-mgmt-datalake-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
index 3164cf2bf15..5d2db3c2112 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-datalake-nspkg
@@ -22,6 +24,12 @@ buildPythonPackage rec {
     azure-mgmt-datalake-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -29,6 +37,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Data Lake Store Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
index cd98e6f98b0..7fc7c568301 100644
--- a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +39,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Data Migration Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
new file mode 100644
index 00000000000..276cc86ad8f
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-deploymentmanager";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gvh17bhfcpvr6w0nd06v482m8lqxchlk256w68agi2qnqw6v2ir";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.deploymentmanager" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Deployment Manager Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
index 76a5f0cbcd2..546ec5ab840 100644
--- a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +39,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure DevTestLabs Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-dns/default.nix b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
index 94d51b765e9..89ae5912b39 100644
--- a/pkgs/development/python-modules/azure-mgmt-dns/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
@@ -1,12 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, python
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure DNS Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
new file mode 100644
index 00000000000..82955674c4b
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "1.2.0";
+  pname = "azure-mgmt-hdinsight";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yq9s7a2ch8j84af3hzj350jnjq5s3ysiqvmypvcb7vl6rkkd2lm";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.hdinsight" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure HDInsight Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
new file mode 100644
index 00000000000..f5b04c36b0d
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "azure-mgmt-imagebuilder";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r4sxr3pbcci5qif1ip1lrix3cryj0b3asqch3zds4q705jiakc4";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.imagebuilder" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Image Builder Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 7605e459271..c72ca47cff9 100644
--- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -31,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure IoTHub Provisioning Services Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
index 99cdfdf922b..e3529bda8d2 100644
--- a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -31,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Key Vault Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 00000000000..9f5c04adb26
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-apimanagement";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
new file mode 100644
index 00000000000..53aeff46c58
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.5.0";
+  pname = "azure-mgmt-kusto";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r6j3yp7ys0zgszqdjm6y90nigsapni4xhfpfgyk5c5qbgdpl93w";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.kusto" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Kusto Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 6d844117c9f..a5e2829a930 100644
--- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
new file mode 100644
index 00000000000..4d059480c44
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "1.0.0";
+  pname = "azure-mgmt-managedservices";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06ddfqriqlvwjsjhqka9r5vhshardyj9c10xgjissfkpqsgkkn7y";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.managedservices" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Managed Services Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/pkgs/development/python-modules/azure-mgmt-maps/default.nix
index 2869b6c81d7..b18c0267236 100644
--- a/pkgs/development/python-modules/azure-mgmt-maps/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-maps/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index b9a8b3c0158..252760950e5 100644
--- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+    rm -rf $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 9b1d0bf5a2b..87e70c2fdcc 100644
--- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
new file mode 100644
index 00000000000..8e18986bfcb
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.7.0";
+  pname = "azure-mgmt-netapp";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.netapp" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure NetApp Files Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 236eb0cd8ce..4663b9fa035 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "7.0.0";
+  version = "8.0.0";
   pname = "azure-mgmt-network";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "32ce90691b96ecdaa974ecb4d35063377c8fd21fd05984164507b63113f3456b";
+    sha256 = "1prg4b1agda9bsn6zmvffkj22rr6jy784rdfp6154yifjr6z5jiv";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix
new file mode 100644
index 00000000000..98855730ba3
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-privatedns";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08wdvfkk8jh90m3l4nz7knd5vikgfvsx70lk7mkhcvl0xj6gv76j";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.privatedns" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure DNS Private Zones Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 3bf18f9b4d4..1f3056b9098 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0zssvzdip23yzaxlac9rlzg9mlyjl97fwr0gj8y27z8j58pwj72i";
+    sha256 = "0jhq8fi3dn2cncyv2rrgr4kldd254f30zgwf6p85rdgvg2p9k4hl";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-relay/default.nix b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
index 718cd985443..5046bf8740f 100644
--- a/pkgs/development/python-modules/azure-mgmt-relay/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -22,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index cc19e904863..5d13acb6ec8 100644
--- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "06l362xiqhk8vvb1pch6ngfyv8m00ahr6ysdznd6qvxz8awazy10";
+    sha256 = "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 4c02be90a09..4f2481097e1 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,13 +8,13 @@
 
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "6.0.0";
   pname = "azure-mgmt-resource";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "88db03ea5b9db1dfbf3de8c7be111ed41b121a374645e3ddf3fbba47584c32b1";
+    sha256 = "08n6r6ja7p20qlhb9pp51nwwxz2mal19an98zry276i8z5x8ckp0";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-security/default.nix b/pkgs/development/python-modules/azure-mgmt-security/default.nix
new file mode 100644
index 00000000000..5a9d8849f8d
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-security/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "azure-mgmt-security";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0z766424783a6y5dp5ybxssb0bfzqb8kpa6zra8ccnbfg4fn478v";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.security" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Security Center Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
index a80c97ea377..9c849829a12 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 5ad1e620ede..5a5a708a5dd 100644
--- a/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "109w1kj45fvwc94bkhdkj3bdysrskfz8i6ph4qlpjk340zy81vvl";
+    sha256 = "0qv58xraznv2ldhd34cvznhz045x3ncfgam9c12gxyj4q0k3pyc9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
new file mode 100644
index 00000000000..a34ebae2b81
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.5.0";
+  pname = "azure-mgmt-sqlvirtualmachine";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.sqlvirtualmachine" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure SQL Virtual Machine Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-web/default.nix b/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 4a372139fdb..ea6c1502123 100644
--- a/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e3ab5acc9f13746e1f4ce19ccbacc4522527dd1f75eff2826cd882b7ba54806a";
+    sha256 = "05dqakhfi301k2jnvccxdkigqvwnf9xz858pqg9vsri3dq69f1rw";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
new file mode 100644
index 00000000000..dc4a011e078
--- /dev/null
+++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
@@ -0,0 +1,36 @@
+{ lib, python, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.2.4";
+  pname = "azure-multiapi-storage";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zqapc4dx6qd9bcim5fjykk3n1j84p85nwqyb876nb7qmqx9spig";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # fix namespace issues
+  postInstall = ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/multiapi/__init__.py
+  '';
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.multiapi.storage" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Storage Client Library for Python with multi API version support.";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix
new file mode 100644
index 00000000000..4ed52d333d6
--- /dev/null
+++ b/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, isPy3k
+, buildPythonPackage
+, fetchPypi
+, Babel
+}:
+
+buildPythonPackage rec {
+  pname = "babelgladeextractor";
+  version = "0.6.3";
+
+  src = fetchPypi {
+    pname = "BabelGladeExtractor";
+    inherit version;
+    extension = "tar.bz2";
+    sha256 = "12i2i97wai5vv5h522rj6pfcdsfyrkgmjqc699m5v4af0yy3rqsq";
+  };
+
+  propagatedBuildInputs = [
+    Babel
+  ];
+
+  # SyntaxError: Non-ASCII character '\xc3' in file /build/BabelGladeExtractor-0.6.3/babelglade/tests/test_translate.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
+  doCheck = isPy3k;
+
+  meta = with lib; {
+    homepage = "https://github.com/gnome-keysign/babel-glade";
+    description = "Babel Glade XML files translatable strings extractor";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/pkgs/development/python-modules/bcdoc/default.nix b/pkgs/development/python-modules/bcdoc/default.nix
index b4db16476d1..b8cbf8537dc 100644
--- a/pkgs/development/python-modules/bcdoc/default.nix
+++ b/pkgs/development/python-modules/bcdoc/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/botocore/bcdoc;
+    homepage = "https://github.com/boto/bcdoc";
     license = licenses.asl20;
     description = "ReST document generation tools for botocore";
   };
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 7ad3489553c..6d0364676f9 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchPypi, fetchpatch
 , buildPythonApplication, python, pythonOlder
-, mock, nose, pathpy, pyhamcrest, pytest
+, mock, nose, pathpy, pyhamcrest, pytest_4
 , glibcLocales, parse, parse-type, six
 , traceback2
 }:
+
 buildPythonApplication rec {
   pname = "behave";
   version = "1.2.6";
@@ -21,7 +22,7 @@ buildPythonApplication rec {
     })
   ];
 
-  checkInputs = [ mock nose pathpy pyhamcrest pytest ];
+  checkInputs = [ mock nose pathpy pyhamcrest pytest_4 ];
   buildInputs = [ glibcLocales ];
   propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
 
diff --git a/pkgs/development/python-modules/binwalk/default.nix b/pkgs/development/python-modules/binwalk/default.nix
index 88ef71cabdf..ec613527e92 100644
--- a/pkgs/development/python-modules/binwalk/default.nix
+++ b/pkgs/development/python-modules/binwalk/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage {
     ++ stdenv.lib.optional visualizationSupport pyqtgraph;
 
   meta = with stdenv.lib; {
-    homepage = "http://binwalk.org";
+    homepage = "https://github.com/ReFirmLabs/binwalk";
     description = "A tool for searching a given binary image for embedded files";
     maintainers = [ maintainers.koral ];
   };
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index e60d4c60aea..a35c2d07394 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.74";
+  version = "1.75";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h4hcpx1vqrcddpcznyxy14zzvy2yanlkz0117w5n869w8djq595";
+    sha256 = "01lrm353si63anhhynf6hqbd3f753c2k8dkk953j3g6257py8q2h";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index 78372598096..3c84366c9d1 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.1.0";
   pname = "bitarray";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3eb500f8b9cde19e14472fcbee0195dbf0fbac006f8406a03f0cfb495dff20a0";
+    sha256 = "0nv1283qcfilhnb4q6znlijply6lfxwpvp10cr0v33l0qwa86mwz";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index f17f94387f3..315e891030e 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -1,18 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, pythonOlder
 , attrs, click, toml, appdirs, aiohttp, aiohttp-cors
-, glibcLocales, pytest }:
+, glibcLocales, typed-ast, pathspec, regex
+, setuptools_scm, pytest }:
 
 buildPythonPackage rec {
   pname = "black";
-  version = "19.3b0";
+  version = "19.10b0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "073kd5rs02lisp6n3h7yai9lix520xnaa6c7rdmp2sci9pyhz5b8";
+    sha256 = "0f8mr0yzj78q1dx7v6ggbgfir2wv0n5z2shfbbvfdq7910xbgvf2";
   };
 
+  nativeBuildInputs = [ setuptools_scm ];
   checkInputs =  [ pytest glibcLocales ];
 
   # Necessary for the tests to pass on Darwin with sandbox enabled.
@@ -20,6 +22,7 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   # Don't know why these tests fails
+  # Disable test_expression_diff, because it fails on darwin
   checkPhase = ''
     LC_ALL="en_US.UTF-8" pytest \
       --deselect tests/test_black.py::BlackTestCase::test_expression_diff \
@@ -27,7 +30,7 @@ buildPythonPackage rec {
       --deselect tests/test_black.py::BlackTestCase::test_failed_formatting_does_not_get_cached
   '';
 
-  propagatedBuildInputs = [ attrs appdirs click toml aiohttp aiohttp-cors ];
+  propagatedBuildInputs = [ attrs appdirs click toml aiohttp aiohttp-cors pathspec regex typed-ast ];
 
   meta = with stdenv.lib; {
     description = "The uncompromising Python code formatter";
diff --git a/pkgs/development/python-modules/blist/default.nix b/pkgs/development/python-modules/blist/default.nix
index d6d55accaca..90a4b99cda3 100644
--- a/pkgs/development/python-modules/blist/default.nix
+++ b/pkgs/development/python-modules/blist/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , isPyPy
 }:
@@ -14,6 +15,15 @@ buildPythonPackage rec {
     sha256 = "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is";
   };
 
+
+  patches = [
+    # Fix compatibility for Python 3.7 https://github.com/DanielStutzbach/blist/pull/78
+    (fetchpatch {
+      url = "https://github.com/DanielStutzbach/blist/commit/2dc1ec28ed68611fcec9ac1c68070c782d6b4b4e.patch";
+      sha256 = "0ma0z6ga80w3wzh3sidwd8ckfbgx4j1y7cc29q6j9ddrvxpf276y";
+    })
+  ];
+
   meta = with stdenv.lib; {
     homepage = http://stutzbachenterprises.com/blist/;
     description = "A list-like type with better asymptotic performance and similar performance on small lists";
diff --git a/pkgs/development/python-modules/boltons/default.nix b/pkgs/development/python-modules/boltons/default.nix
index b5aa9e6cf03..8b7139f5a62 100644
--- a/pkgs/development/python-modules/boltons/default.nix
+++ b/pkgs/development/python-modules/boltons/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "boltons";
-  version = "19.1.0";
+  version = "19.3.0";
 
   # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "mahmoud";
     repo = "boltons";
     rev = version;
-    sha256 = "0b55wly0ksviyl3a4dmih9vzd7bj3p10gr6la4722cs9cx4128q5";
+    sha256 = "0pgqr2hf7lxag8nc8wnh8hpp8fd2lxccq9h0bb8lb9x8npnzhnbn";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/boltztrap2/default.nix b/pkgs/development/python-modules/boltztrap2/default.nix
index 50f2023418e..df10288905d 100644
--- a/pkgs/development/python-modules/boltztrap2/default.nix
+++ b/pkgs/development/python-modules/boltztrap2/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://www.boltztrap.org/;
+    homepage = "http://www.boltztrap.org/";
     description = "Band-structure interpolator and transport coefficient calculator";
     license = licenses.gpl3;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/bottle/default.nix b/pkgs/development/python-modules/bottle/default.nix
index f36a84b85ca..c0de6eecae9 100644
--- a/pkgs/development/python-modules/bottle/default.nix
+++ b/pkgs/development/python-modules/bottle/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bottle";
-  version = "0.12.17";
+  version = "0.12.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e9eaa412a60cc3d42ceb42f58d15864d9ed1b92e9d630b8130c871c5bb16107c";
+    sha256 = "0819b74b145a7def225c0e83b16a4d5711fde751cd92bae467a69efce720f69e";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix
index 21492dc152c..f45eea2c5df 100644
--- a/pkgs/development/python-modules/bottleneck/default.nix
+++ b/pkgs/development/python-modules/bottleneck/default.nix
@@ -1,26 +1,34 @@
-{ buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi
 , nose
-, pytest
 , numpy
+, pytest
 , python
 }:
 
 buildPythonPackage rec {
   pname = "Bottleneck";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36";
+    sha256 = "0a2a94zahl3kqld2n9dm58fvazz9s52sa16nd8yn5jv20hvqc5a5";
   };
 
-  checkInputs = [ pytest nose ];
   propagatedBuildInputs = [ numpy ];
-  checkPhase = ''
-    py.test -p no:warnings $out/${python.sitePackages}
-  '';
+
   postPatch = ''
     substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" ""
   '';
+
+  checkInputs = [ pytest nose ];
+  checkPhase = ''
+    py.test -p no:warnings $out/${python.sitePackages}
+  '';
+
+  meta = with lib; {
+    description = "Fast NumPy array functions written in C";
+    homepage = "https://github.com/pydata/bottleneck";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/pkgs/development/python-modules/btrees/default.nix b/pkgs/development/python-modules/btrees/default.nix
index 828e243af9c..4b17b5046aa 100644
--- a/pkgs/development/python-modules/btrees/default.nix
+++ b/pkgs/development/python-modules/btrees/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "BTrees";
-  version = "4.6.0";
+  version = "4.6.1";
 
   buildInputs = [ transaction ];
   propagatedBuildInputs = [ persistent zope_interface ];
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bmkpg6z5z47p21340nyrfbdv2jkfp80yv085ndgbwaas1zi7ac9";
+    sha256 = "b3a0e1d073800bf7bcca6cbb97a6b3c9ec485a4ba3ee0b354da1ed076cfb9f30";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/bugz/default.nix b/pkgs/development/python-modules/bugz/default.nix
index 57ec3728574..abfde52ef5f 100644
--- a/pkgs/development/python-modules/bugz/default.nix
+++ b/pkgs/development/python-modules/bugz/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.liquidx.net/pybugz/;
+    homepage = "https://github.com/williamh/pybugz";
     description = "Command line interface for Bugzilla";
     license = licenses.gpl2;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 4e21b077b36..7385a329551 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
+{ stdenv, lib, buildPythonPackage, fetchPypi, fetchpatch, makeWrapper, isPy3k,
   python, twisted, jinja2, zope_interface, future, sqlalchemy,
   sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
   txrequests, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial,
-  isort, pylint, flake8, buildbot-worker, buildbot-pkg, parameterized,
-  git, glibcLocales }:
+  isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
+  parameterized, git, openssh, glibcLocales }:
 
 let
   withPlugins = plugins: buildPythonPackage {
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.5.0";
+    version = "2.5.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "e4e6b2861c4f29ed5d84ca497ca7053ae1cc9b9a5387389c457ff9f7e651bf19";
+      sha256 = "13ddpcbndb22zlg9gjsf2pbgad45g1w5cg4a3z83085fkgnib7sr";
     };
 
     propagatedBuildInputs = [
@@ -63,8 +63,10 @@ let
       flake8
       buildbot-worker
       buildbot-pkg
+      buildbot-plugins.www
       parameterized
       git
+      openssh
       glibcLocales
     ];
 
@@ -93,7 +95,7 @@ let
     };
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index e1e5ac140ba..ff2be45bf32 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -1,12 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7c5b508c8c0d2fef5cdf4001c9f1e848f06fe8d6c30d8dff571a1a1fd251c9d7";
+    sha256 = "1g87pddsyas1r0f6z29047cwnz7ds4925f6n9g7b0pkj3k73ci06";
   };
 
   postPatch = ''
@@ -15,8 +15,10 @@ buildPythonPackage rec {
     substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
   '';
 
+  disabled = !isPy3k;
+
   meta = with lib; {
-    homepage = http://buildbot.net/;
+    homepage = "https://buildbot.net/";
     description = "Buildbot Packaging Helper";
     maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index e0855bbcb3d..8722a6629e4 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg, mock }:
+{ lib, buildPythonPackage, fetchPypi, buildbot-pkg, mock }:
 
 {
   www = buildPythonPackage rec {
@@ -7,13 +7,23 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0l4kyxh62y86cw97101gjs42n1sdw1n18cgh6mm337gzjn42nv3x";
+      sha256 = "00k5dbcwzqlyk4lcp5qh1q8xbrxmg9gzqs7vl2r6f3wxi4ydb5nw";
     };
 
-    buildInputs = [ buildbot buildbot-pkg mock ];
+    # Remove unneccessary circular dependency on buildbot
+    postPatch = ''
+      sed -i setup.py \
+        -e "/import buildbot/d" \
+        -e "s/'buildbot',//"
+    '';
+
+    buildInputs = [ buildbot-pkg mock ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot UI";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -26,14 +36,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1s0jl5b9zd7iwxqfb2g145nzf5nx6q44x4y1axkzilkd777162cz";
+      sha256 = "0ai334y779jwqabrn2yjma41pw0a9k1qy7v68qbjd22n4my227ma";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Console View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -46,14 +58,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0qld1424d4qvf08qz5ibl3pv0qzj0qxrvgra5dr3wagaq3jfh3kz";
+      sha256 = "1j450hwvg729mivzijbrx8ngalx56qvrx8mwwgy8arfwpnyfkr9l";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Waterfall View Plugin";
       maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
       license = licenses.gpl2;
@@ -66,14 +80,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1di8w9dzalg3d2k3wff682irbi8dcksysc9n176zncmkbi2pr2ia";
+      sha256 = "19w8is5s7d7l60mlchh1zd9nidpkswi8fivfa36b97plibn0jgw1";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot Grid View Plugin";
       maintainers = with maintainers; [ nand0p lopsided98 ];
       license = licenses.gpl2;
@@ -86,14 +102,16 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0gh6ddczlga75n6fh9pkbv39x8p3b6pqviaj287wab27wimd1hxa";
+      sha256 = "1zl7y08rkw7bya6cli44msvcdgirsyfg3kxpf2z82vwgc6bwi785";
     };
 
     buildInputs = [ buildbot-pkg ];
-    checkInputs = [ buildbot ];
+
+    # No tests
+    doCheck = false;
 
     meta = with lib; {
-      homepage = http://buildbot.net/;
+      homepage = "https://buildbot.net/";
       description = "Buildbot WSGI dashboards Plugin";
       maintainers = with maintainers; [ lopsided98 ];
       license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 028a4009d22..048fb44a93b 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8330cf314064516648e78d2685b2eaae14fc9481351eb229f1392b38bdc18815";
+    sha256 = "1kpj85x8xflrccvy840v9bl3q1j63rk9kahj1qirbai1fxwvzbik";
   };
 
   propagatedBuildInputs = [ twisted future ];
@@ -20,7 +20,7 @@ buildPythonPackage (rec {
   '';
 
   meta = with lib; {
-    homepage = http://buildbot.net/;
+    homepage = "https://buildbot.net/";
     description = "Buildbot Worker Daemon";
     maintainers = with maintainers; [ nand0p ryansydnor lopsided98 ];
     license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/cadquery/default.nix b/pkgs/development/python-modules/cadquery/default.nix
new file mode 100644
index 00000000000..6f3632f743b
--- /dev/null
+++ b/pkgs/development/python-modules/cadquery/default.nix
@@ -0,0 +1,93 @@
+{ lib
+  , buildPythonPackage
+  , isPy3k
+  , pythonOlder
+  , fetchFromGitHub
+  , pyparsing
+  , opencascade
+  , stdenv
+  , python
+  , cmake
+  , swig
+  , ninja
+  , smesh
+  , freetype
+  , libGL
+  , libGLU
+  , libX11
+  , six
+}:
+
+let 
+  pythonocc-core-cadquery = stdenv.mkDerivation {
+    pname = "pythonocc-core-cadquery";
+    version = "0.18.2";
+
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = "pythonocc-core";
+      # no proper release to to use, this commit copied from the Anaconda receipe
+      rev = "701e924ae40701cbe6f9992bcbdc2ef22aa9b5ab";
+      sha256 = "07zmiiw74dyj4v0ar5vqkvk30wzcpjjzbi04nsdk5mnlzslmyi6c";
+    };
+
+    nativeBuildInputs = [ 
+      cmake
+      swig
+      ninja
+    ];
+
+    buildInputs = [
+      python
+      opencascade
+      smesh
+      freetype
+      libGL
+      libGLU
+      libX11
+    ];
+
+    propagatedBuildInputs = [
+      six
+    ];
+
+    cmakeFlags = [
+      "-Wno-dev"
+      "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
+      "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
+      "-DSMESH_LIB_PATH=${smesh}/lib"
+      "-DPYTHONOCC_WRAP_SMESH=TRUE"
+    ];
+  };
+
+in
+  buildPythonPackage rec {
+    pname = "cadquery";
+    version = "2.0RC0";
+  
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = pname;
+      rev = version;
+      sha256 = "1xgd00rih0gjcnlrf9s6r5a7ypjkzgf2xij2b6436i76h89wmir3";
+    };
+  
+    buildInputs = [
+      opencascade
+    ];
+  
+    propagatedBuildInputs = [
+      pyparsing
+      pythonocc-core-cadquery
+    ];
+  
+    # Build errors on 2.7 and >=3.8 (officially only supports 3.6 and 3.7).
+    disabled = !(isPy3k && (pythonOlder "3.8"));
+  
+    meta = with lib; {
+      description = "Parametric scripting language for creating and traversing CAD models";
+      homepage = "https://github.com/CadQuery/cadquery";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ costrouc marcus7070 ];
+    };
+  }
diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix
index 653296a927e..1cb3c2070ec 100644
--- a/pkgs/development/python-modules/caldav/default.nix
+++ b/pkgs/development/python-modules/caldav/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "0.6.1";
+  version = "0.6.2";
 
   propagatedBuildInputs = [ tzlocal requests vobject lxml nose ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eddb7f4e6a3eb5f02eaa2227817a53ac4372d4c4d51876536f4c6f00282f569e";
+    sha256 = "80c33b143539da3a471148ac89512f67d9df3a5286fae5a023e2ad3923246c0d";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index 3b49289c2e4..c471240c87a 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "carbon";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a88390553a9ea628fdb74b5b358ed83a657e058bcc811e5819d9db856b4fcf5b";
+    sha256 = "9ecda1469e497e3fed346b23ac94fd576e1bd9962677ab88975f4f598186e851";
   };
 
   propagatedBuildInputs = [ twisted whisper txamqp cachetools urllib3 ];
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
new file mode 100644
index 00000000000..114625c397c
--- /dev/null
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, simpleeval
+, isPy27
+, coveralls
+}:
+
+buildPythonPackage rec {
+  pname = "casbin";
+  version = "0.8.3";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = "pycasbin";
+    rev = "v${version}";
+    sha256 = "1s89m62933m4wprsknwhabgg7irykrcimv80hh2zkyyslz5vbq71";
+  };
+
+  propagatedBuildInputs = [
+    simpleeval
+  ];
+
+  checkInputs = [
+    coveralls
+  ];
+
+  checkPhase = ''
+    coverage run -m unittest discover -s tests -t tests
+  '';
+
+  meta = with lib; {
+    description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python";
+    homepage = https://github.com/casbin/pycasbin;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index 26e3e3df324..6fe80e16e12 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.19.0";
+  version = "3.20.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vy9yzsd9c29irq99m8lpkgnc634waai2phvr6b89pmmdirp2wm9";
+    sha256 = "03nycyn5nd1pnrg6fffq3wcjqnw13lgja137zq5zszx68mc15wnl";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/catalogue/default.nix b/pkgs/development/python-modules/catalogue/default.nix
new file mode 100644
index 00000000000..ad6958e644b
--- /dev/null
+++ b/pkgs/development/python-modules/catalogue/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, importlib-metadata
+}:
+
+buildPythonPackage rec {
+  pname = "catalogue";
+  version = "0.0.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c407a51c22f51b0f938104b6396c489145bae234386e68eb1d56326c3b3e128e";
+  };
+
+  propagatedBuildInputs = [ importlib-metadata ];
+
+  meta = with stdenv.lib; {
+    description = "Tiny library for adding function or object registries";
+    homepage = "https://github.com/explosion/catalogue";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danieldk ];
+    };
+}
diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix
index 5596b3e37e5..1fb506682ba 100644
--- a/pkgs/development/python-modules/cchardet/default.nix
+++ b/pkgs/development/python-modules/cchardet/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "cchardet";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h3wajwwgqpyb1q44lzr8djbcwr4y8cphph7kyscz90d83h4b5yc";
+    sha256 = "240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 6d805161641..15d15c23a8d 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "558b3afef987cf4b17abd849e7bedf64ee12b28175d564d05b628a0f9355599b";
+    sha256 = "599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index 15133257738..eeccaedf5f6 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -8,15 +8,16 @@
 , jsonpatch
 , jsonschema
 , pathlib2
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.24.5";
+  version = "0.24.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1268c9730ba869f0f630eaf5bac34795553a97385d38eb91b9f7f5c3f73c8982";
+    sha256 = "5aa1540ee9a7efc23ebe54a22f1a505766a4bb44f64a0f4fe79574a156a9b43e";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
     jsonpatch
     jsonschema
     pathlib2
+    setuptools
   ];
 
   # No tests included in archive
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index 52ba0346159..9585004a89a 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, lib
-, buildPythonPackage, fetchPypi, isPy3k
-, filelock, protobuf, numpy, pytest, mock
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, filelock, protobuf, numpy, pytest, mock, typing-extensions
 , cupy, cudaSupport ? false
 }:
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "6.4.0";
+  version = "6.5.0";
+  disabled = !isPy3k; # python2.7 abandoned upstream
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dacbcaa361cebdfbf6f212d138570333611b8f5de553093b1752c578b022a774";
+  # no tests in Pypi tarball
+  src = fetchFromGitHub {
+    owner = "chainer";
+    repo = "chainer";
+    rev = "v${version}";
+    sha256 = "0ha9fbl6sa3fbnsz3y1pg335iiskdbxw838m5j06zgzy156zna1x";
   };
 
+  # remove on 7.0 or 6.6 release
+  postPatch = ''
+    sed -i '/typing/d' setup.py
+  '';
+
   checkInputs = [
     pytest
     mock
@@ -22,12 +30,15 @@ buildPythonPackage rec {
     filelock
     protobuf
     numpy
+    typing-extensions
   ] ++ lib.optionals cudaSupport [ cupy ];
 
-  # In python3, test was failed...
-  doCheck = !isPy3k;
+  # avoid gpu tests
+  checkPhase = ''
+    pytest tests/chainer_tests/utils_tests -k 'not gpu and not cupy'
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A flexible framework of neural networks for deep learning";
     homepage = https://chainer.org/;
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 2f86abd728f..971d8848b37 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast
+{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast, isPy3k
 , more-itertools, six, setuptools_scm, setuptools-scm-git-archive
 , pytest, pytestcov, portend, pytest-testmon, pytest-mock
 , backports_unittest-mock, pyopenssl, requests, trustme, requests-unixsocket
@@ -10,6 +10,8 @@ buildPythonPackage rec {
   pname = "cheroot";
   version = "8.2.1";
 
+  disabled = !isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff";
diff --git a/pkgs/development/python-modules/ckcc-protocol/default.nix b/pkgs/development/python-modules/ckcc-protocol/default.nix
new file mode 100644
index 00000000000..599f91f2d07
--- /dev/null
+++ b/pkgs/development/python-modules/ckcc-protocol/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, click
+, ecdsa
+, hidapi
+, lib
+, fetchPypi
+, pytest
+, pyaes
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "ckcc-protocol";
+  version = "0.8.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mbs9l8qycy50j5lq6az7l5d8i40nb0vmlyhcyax298qp6c1r1gh";
+  };
+
+  checkInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [ click ecdsa hidapi pyaes ];
+
+  meta = with stdenv.lib; {
+    description = "Communicate with your Coldcard using Python";
+    homepage = https://github.com/Coldcard/ckcc-protocol;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.hkjn ];
+  };
+}
diff --git a/pkgs/development/python-modules/cleo/default.nix b/pkgs/development/python-modules/cleo/default.nix
index 146779082e4..13a91837a6c 100644
--- a/pkgs/development/python-modules/cleo/default.nix
+++ b/pkgs/development/python-modules/cleo/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "cleo";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d0sxca308ilp73jdny4frn93asr4ih87xxl1d9rxf8m12xssa3c";
+    sha256 = "99cf342406f3499cec43270fcfaf93c126c5164092eca201dfef0f623360b409";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
index eeee7370b7e..6bc092dcd4e 100644
--- a/pkgs/development/python-modules/click-default-group/default.nix
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "click-default-group";
-  version = "1.2.1";
+  version = "1.2.2";
 
   # No tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = "click-default-group";
     rev = "v${version}";
-    sha256 = "1wdmabfpmzxpiww0slinvxm9xjyxql250dn1pvjijq675pxafiz4";
+    sha256 = "0nk39lmkn208w8kvq6f4h3a6qzxrrvxixahpips6ik3zflbkss86";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index d8ecd2553e8..7882c98e524 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -9,6 +9,10 @@
 , pyyaml
 , unicodecsv
 , cmd2
+, pytest
+, mock
+, testtools
+, fixtures
 }:
 
 buildPythonPackage rec {
@@ -31,10 +35,17 @@ buildPythonPackage rec {
     unicodecsv
   ];
 
-  # test dependencies are complex
-  # and would require about 20 packages
-  # to be added
-  doCheck = false;
+  # remove version constraints
+  postPatch = ''
+    sed -i '/cmd2/c\cmd2' requirements.txt
+  '';
+
+  checkInputs = [ fixtures mock pytest testtools ];
+  # add some tests
+  checkPhase = ''
+    pytest cliff/tests/test_{utils,app,command,help,lister}.py \
+      -k 'not interactive_mode'
+  '';
 
   meta = with lib; {
     description = "Command Line Interface Formulation Framework";
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index 6db6c93a262..2dba7e43391 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "0.9.19";
+  version = "0.9.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c81284083d993af18b8fef57d89d854d49d051d4c2c8a8e12d0281e369ac3682";
+    sha256 = "ba244b07c0b465ff54a6838dc61919599141dc92de1bf00bb0a70875189155e6";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/coilmq/default.nix b/pkgs/development/python-modules/coilmq/default.nix
index 90eb1edc2cd..8b103b55171 100644
--- a/pkgs/development/python-modules/coilmq/default.nix
+++ b/pkgs/development/python-modules/coilmq/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Simple, lightweight, and easily extensible STOMP message broker";
-    homepage = http://code.google.com/p/coilmq/;
+    homepage = "https://github.com/hozn/coilmq/";
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/colorama/default.nix b/pkgs/development/python-modules/colorama/default.nix
index e85c95b85bd..d6f84ca8748 100644
--- a/pkgs/development/python-modules/colorama/default.nix
+++ b/pkgs/development/python-modules/colorama/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "colorama";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d";
+    sha256 = "e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/colored/default.nix b/pkgs/development/python-modules/colored/default.nix
index 5b03f8ce9cc..2ccdb03bc22 100644
--- a/pkgs/development/python-modules/colored/default.nix
+++ b/pkgs/development/python-modules/colored/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "colored";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wlsg7z406q31r5fpwkqfpyfpigazbmq9qm856wfbn861k2773zf";
+    sha256 = "0qf9470fsasimsmsri13jw1d2zpn3g24fv6vss64jq3ifwfkcs14";
   };
 
   # No proper test suite
diff --git a/pkgs/development/python-modules/colorspacious/default.nix b/pkgs/development/python-modules/colorspacious/default.nix
new file mode 100644
index 00000000000..3ce0bddf1de
--- /dev/null
+++ b/pkgs/development/python-modules/colorspacious/default.nix
@@ -0,0 +1,24 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "colorspacious";
+  version = "1.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "065n24zbm9ymy2gvf03vx5cggk1258vcjdaw8jn9v26arpl7542y";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/njsmith/colorspacious";
+    description = "A powerful, accurate, and easy-to-use Python library for doing colorspace conversions ";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index e6959a3304b..82a3aac6e1d 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "ConfigArgParse";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "baaf0fd2c1c108d007f402dab5481ac5f12d77d034825bf5a27f8224757bd0ac";
+    sha256 = "558738aff623d6667aa5b85df6093ad3828867de8a82b66a6d458fb42567beb3";
   };
 
   # no tests in tarball
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
index 9b54f439847..fed5a71fd17 100644
--- a/pkgs/development/python-modules/configshell/default.nix
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "configshell";
-  version = "1.1.fb25";
+  version = "1.1.27";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo ="${pname}-fb";
     rev = "v${version}";
-    sha256 = "0zpr2n4105qqsklyfyr9lzl1rhxjcv0mnsl57hgk0m763w6na90h";
+    sha256 = "1nldzq3097xqgzd8qxv36ydvx6vj2crwanihz53k46is0myrwcnn";
   };
 
   propagatedBuildInputs = [ pyparsing six urwid ];
diff --git a/pkgs/development/python-modules/consonance/default.nix b/pkgs/development/python-modules/consonance/default.nix
new file mode 100644
index 00000000000..3940686f18c
--- /dev/null
+++ b/pkgs/development/python-modules/consonance/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub, pytest, dissononce, python-axolotl-curve25519
+, transitions, protobuf, nose
+}:
+
+buildPythonPackage rec {
+  pname = "consonance";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "consonance";
+    rev = version;
+    sha256 = "1ifs0fq6i41rdna1kszv5sf87qbqx1mn98ffyx4xhw4i9r2grrjv";
+  };
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    # skipping online test as it requires network with uplink
+    nosetests tests/test_handshakes_offline.py
+  '';
+
+  propagatedBuildInputs = [ dissononce python-axolotl-curve25519 transitions protobuf ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/consonance/";
+    license = licenses.gpl3;
+    description = "WhatsApp's handshake implementation using Noise Protocol";
+  };
+}
diff --git a/pkgs/development/python-modules/cookiecutter/default.nix b/pkgs/development/python-modules/cookiecutter/default.nix
index abccd1e136d..4010eb5ec5a 100644
--- a/pkgs/development/python-modules/cookiecutter/default.nix
+++ b/pkgs/development/python-modules/cookiecutter/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "cookiecutter";
-  version = "1.6.0";
+  version = "1.7.0";
 
   # not sure why this is broken
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1316a52e1c1f08db0c9efbf7d876dbc01463a74b155a0d83e722be88beda9a3e";
+    sha256 = "1bh4vf45q9nanmgwnw7m0gxirndih9yyz5s0y2xbnlbcqbhrg6a7";
   };
 
   checkInputs = [ pytest pytestcov pytest-mock freezegun ];
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index d4210ade06e..4ac38986245 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cornice";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4dab97fe52d7075ecc87b8cadf549ca2c2c628512741193fb81a0c0433b46715";
+    sha256 = "d3d608b9ff405e7ba5e9629ef0c09b7605997e1aea0dafb2aaa66761ff7cab08";
   };
 
   propagatedBuildInputs = [ pyramid simplejson six venusian ];
diff --git a/pkgs/development/python-modules/crccheck/default.nix b/pkgs/development/python-modules/crccheck/default.nix
new file mode 100644
index 00000000000..92a4cc8a841
--- /dev/null
+++ b/pkgs/development/python-modules/crccheck/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, nose }:
+
+buildPythonPackage rec {
+  pname = "crccheck";
+  version = "0.6";
+
+  buildInputs = [ nose ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ckymm6s5kw08i1j35fy2cfha1hyq94pq1kc66brb552qgjs91jn";
+    extension = "zip";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python library for CRCs and checksums";
+    homepage = "https://bitbucket.org/martin_scharrer/crccheck";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
new file mode 100644
index 00000000000..969a4e8af89
--- /dev/null
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-dateutil
+, pytest
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "croniter";
+  version = "0.3.30";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "538adeb3a7f7816c3cdec6db974c441620d764c25ff4ed0146ee7296b8a50590";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytest
+    pytz
+  ];
+
+  checkPhase = ''
+    pytest src/croniter
+  '';
+
+  meta = with lib; {
+    description = "croniter provides iteration for datetime object with cron like format";
+    homepage = https://github.com/kiorky/croniter;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/cssmin/default.nix b/pkgs/development/python-modules/cssmin/default.nix
index 7cb01001fac..2d1ffaccd6f 100644
--- a/pkgs/development/python-modules/cssmin/default.nix
+++ b/pkgs/development/python-modules/cssmin/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python port of the YUI CSS compression algorithm";
-    homepage = http://github.com/zacharyvoase/cssmin;
+    homepage = https://github.com/zacharyvoase/cssmin;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/cssutils/default.nix b/pkgs/development/python-modules/cssutils/default.nix
index 6dd680fe11f..1db154ac1b8 100644
--- a/pkgs/development/python-modules/cssutils/default.nix
+++ b/pkgs/development/python-modules/cssutils/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python package to parse and build CSS";
-    homepage = http://code.google.com/p/cssutils/;
+    homepage = "http://cthedot.de/cssutils/";
     license = licenses.lgpl3Plus;
   };
 }
diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix
index b60025a91b0..31dc8327fc4 100644
--- a/pkgs/development/python-modules/curio/default.nix
+++ b/pkgs/development/python-modules/curio/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest sphinx ];
 
+  __darwinAllowLocalNetworking = true;
+
   # test_aside_basic times out,
   # test_aside_cancel fails because modifies PYTHONPATH and cant find pytest
   checkPhase = ''
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index f95da9b75b2..1a142cae0f0 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed9f6a07c2bac70d6c597df360d0666d11d2adc90141d54c5c2db08b380a4fac";
+    sha256 = "0p4a9nadsy1337gy2cnb5yanbn03j3zm6d9adyqad9bk3nlbpxc2";
   };
 
   # Extension types
diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix
index e7e40f7777b..06c5f1753d4 100644
--- a/pkgs/development/python-modules/dask-ml/default.nix
+++ b/pkgs/development/python-modules/dask-ml/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , dask
 , numpy, toolz # dask[array]
 , numba
@@ -19,21 +20,41 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.1.1";
   pname = "dask-ml";
+  disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dde926478653bd03a3fbc501d3873a1534836608217b94d04320d1e1c07e59dc";
+    sha256 = "1yad9b9hd02rbdf6m1gfj74cjgcbyp7lxdj22d5h5rhv7xa3127x";
   };
 
-  checkInputs = [ pytest xgboost tensorflow joblib distributed ];
-  propagatedBuildInputs = [ dask numpy toolz numba pandas scikitlearn scipy dask-glm six multipledispatch packaging ];
+  propagatedBuildInputs = [
+    dask
+    dask-glm
+    distributed
+    multipledispatch
+    numba
+    numpy
+    packaging
+    pandas
+    scikitlearn
+    scipy
+    six
+    toolz
+  ];
 
-  # dask-ml has some heavy test requirements
-  # and requires some very new packages
+  # has non-standard build from source, and pypi doesn't include tests
   doCheck = false;
 
+  # in lieu of proper tests
+  pythonImportsCheck = [
+    "dask_ml"
+    "dask_ml.naive_bayes"
+    "dask_ml.wrappers"
+    "dask_ml.utils"
+  ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/dask/dask-ml;
     description = "Scalable Machine Learn with Dask";
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index d55595d456f..a857925d7b7 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2.6.0";
+  version = "2.9.0";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "81c7891f0d2e7ac03d1f7fabf1f639360a1db52c03a7155ba9b08e9ee6280f2b";
+    sha256 = "1w1hqr8vyx6ygwflj2737dcy0mmgvrc0s602gnny8pzlcbs9m76b";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 828976f0e9f..7210aa6b1e3 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -20,16 +20,16 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.29.3";
+  version = "0.30.2";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "datasette";
     rev = version;
-    sha256 = "0cib7pd4z240ncck0pskzvizblhwkr42fsjpd719wdxy4scs7yqa";
+    sha256 = "07swnpz4c7vzlc69vavs1xvbhr5fa8g63kyfj1hf3zafskgjnzwy";
   };
 
-  buildInputs = [ pytestrunner ];
+  nativeBuildInputs = [ pytestrunner ];
 
   propagatedBuildInputs = [
     click
@@ -57,15 +57,19 @@ buildPythonPackage rec {
       --replace "Sanic==0.7.0" "Sanic" \
       --replace "hupper==1.0" "hupper" \
       --replace "pint~=0.8.1" "pint" \
+      --replace "pluggy~=0.12.0" "pint" \
       --replace "Jinja2==2.10.1" "Jinja2" \
       --replace "uvicorn~=0.8.4" "uvicorn"
   '';
 
   # many tests require network access
+  # test_black fails on darwin
   checkPhase = ''
     pytest --ignore tests/test_api.py \
            --ignore tests/test_csv.py \
-           --ignore tests/test_html.py
+           --ignore tests/test_html.py \
+           --ignore tests/test_black.py \
+           -k 'not facet'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/dateutil/default.nix b/pkgs/development/python-modules/dateutil/default.nix
index 63366d93056..9c5f6145d8f 100644
--- a/pkgs/development/python-modules/dateutil/default.nix
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, six, setuptools_scm, pytest }:
 buildPythonPackage rec {
   pname = "python-dateutil";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e";
+    sha256 = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ddt/default.nix b/pkgs/development/python-modules/ddt/default.nix
index 46a229a99ae..dac72fb72b7 100644
--- a/pkgs/development/python-modules/ddt/default.nix
+++ b/pkgs/development/python-modules/ddt/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "ddt";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d13e6af8f36238e89d00f4ebccf2bda4f6d1878be560a6600689e42077e164e3";
+    sha256 = "9f79cf234064cf9b43492b72da35c473de3f03163d37bd13cec5bd8d200dda6b";
   };
 
   checkInputs = [ nose six pyyaml mock ];
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index b8c784023c2..f23d5929192 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,13 +5,17 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pi54wqj2p6ka13x7q8d5zgqg9bcf7m5d00l7x5bi204qmhn65c6";
+    sha256 = "54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce";
   };
 
+  postPatch = ''
+    substituteInPlace src/tests/test.py --replace "DocumentationTestCase" "NoDocumentation"
+  '';
+
   meta = with lib; {
     homepage = https://pypi.python.org/pypi/decorator;
     description = "Better living through Python with decorators";
diff --git a/pkgs/development/python-modules/demjson/default.nix b/pkgs/development/python-modules/demjson/default.nix
index 265a4cb5712..58f2012aea7 100644
--- a/pkgs/development/python-modules/demjson/default.nix
+++ b/pkgs/development/python-modules/demjson/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";
-    homepage = http://deron.meranda.us/python/demjson/;
+    homepage = "https://github.com/dmeranda/demjson";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.all;
diff --git a/pkgs/development/python-modules/deprecated/default.nix b/pkgs/development/python-modules/deprecated/default.nix
index ee7c89d8167..2af9d020c95 100644
--- a/pkgs/development/python-modules/deprecated/default.nix
+++ b/pkgs/development/python-modules/deprecated/default.nix
@@ -3,18 +3,13 @@
 
 buildPythonPackage rec {
   pname = "Deprecated";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hcw9y7dvhwg5flk6wy8aa4kkgpvcqq3q4jd53h54586fp7w85d5";
+    sha256 = "408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308";
   };
 
-  postPatch = ''
-    # odd broken tests, don't appear in GitHub repo
-    rm tests/demo_classic_usage*.py
-  '';
-
   propagatedBuildInputs = [ wrapt ];
   checkInputs = [ pytest ];
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/diff-match-patch/default.nix b/pkgs/development/python-modules/diff-match-patch/default.nix
index 5887575f195..ba33eeda386 100644
--- a/pkgs/development/python-modules/diff-match-patch/default.nix
+++ b/pkgs/development/python-modules/diff-match-patch/default.nix
@@ -5,7 +5,7 @@ buildPythonPackage rec {
   version = "20181111";
 
   meta = {
-    homepage = https://code.google.com/p/google-diff-match-patch/;
+    homepage = "https://github.com/diff-match-patch-python/diff-match-patch";
     description = "Diff, Match and Patch libraries for Plain Text";
     license = lib.licenses.asl20;
   };
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
index 86a124d2355..0d49f627821 100644
--- a/pkgs/development/python-modules/diff_cover/default.nix
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "diff_cover";
-  version = "2.4.0";
+  version = "2.4.1";
 
   preCheck = ''
     export LC_ALL=en_US.UTF-8;
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a78babbec1c3088a6c3a5b62cddccaeac4717236ea4f5d28b6af00f2d9b2e341";
+    sha256 = "12h91rvbrf9qmdmj5nfqhcd3bpwq1pvk990bag4hyxcf86qlzds4";
   };
 
   propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
diff --git a/pkgs/development/python-modules/dill/default.nix b/pkgs/development/python-modules/dill/default.nix
index c1085255c2d..88ffbd32e9d 100644
--- a/pkgs/development/python-modules/dill/default.nix
+++ b/pkgs/development/python-modules/dill/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Serialize all of python (almost)";
-    homepage = http://www.cacr.caltech.edu/~mmckerns/dill.htm;
+    homepage = "https://github.com/uqfoundation/dill/";
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/diskcache/default.nix b/pkgs/development/python-modules/diskcache/default.nix
index f51e3329aee..6aec01ed738 100644
--- a/pkgs/development/python-modules/diskcache/default.nix
+++ b/pkgs/development/python-modules/diskcache/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Disk and file backed persistent cache";
-    homepage = https://www.grantjenks.com/docs/diskcache/;
+    homepage = "http://www.grantjenks.com/docs/diskcache/";
     license = licenses.asl20;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/dissononce/default.nix b/pkgs/development/python-modules/dissononce/default.nix
new file mode 100644
index 00000000000..80655e6aa08
--- /dev/null
+++ b/pkgs/development/python-modules/dissononce/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, fetchFromGitHub, lib, pytest, cryptography, transitions }:
+
+buildPythonPackage rec {
+  pname = "dissononce";
+  version = "0.34.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "dissononce";
+    rev = version;
+    sha256 = "0hn64qfr0d5npmza6rjyxwwp12k2z2y1ma40zpl104ghac6g3mbs";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    HOME=$(mktemp -d) py.test tests/
+  '';
+
+  propagatedBuildInputs = [ cryptography transitions ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/dissononce/";
+    license = licenses.mit;
+    description = "A python implementation for Noise Protocol Framework";
+  };
+}
diff --git a/pkgs/development/python-modules/distlib/default.nix b/pkgs/development/python-modules/distlib/default.nix
index aea6bcd9504..81575058b15 100644
--- a/pkgs/development/python-modules/distlib/default.nix
+++ b/pkgs/development/python-modules/distlib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distlib";
-  version = "0.2.9.post0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ecb3d0e4f71d0fa7f38db6bcc276c7c9a1c6638a516d726495934a553eb3fbe0";
+    sha256 = "08fyi2r246733vharl2yckw20rilci28r91mzrnnvcr638inw5if";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
index 28ec9aae24f..cea5a7976bb 100644
--- a/pkgs/development/python-modules/django-dynamic-preferences/default.nix
+++ b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-dynamic-preferences";
-  version = "1.7.1";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z2dndkpypk4pvb0byh5a771vgp50vn8g1rbk5r3sml6dm4wcn7s";
+    sha256 = "1v7mf48gb2qmmks3ifnhkh0vfd7hpvx5v81ypc9cqy35n3ir0q4a";
   };
 
   propagatedBuildInputs = [ six django persisting-theory ]; 
diff --git a/pkgs/development/python-modules/django-mailman3/default.nix b/pkgs/development/python-modules/django-mailman3/default.nix
index 5702bb226b4..01ae357677b 100644
--- a/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/pkgs/development/python-modules/django-mailman3/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-mailman3";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wppv1q3jkkg2d66qsygc4dfpvhfcj5i2as2xpqnzf3l3w7dgja1";
+    sha256 = "b05cf04b2c36916d15b78e24610002206529f1441e2632253a26b2db6bfd3b27";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-multiselectfield/default.nix b/pkgs/development/python-modules/django-multiselectfield/default.nix
index b10424de396..acf49d74167 100644
--- a/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-multiselectfield";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54fa3886884cbc5d9c2f523e0e4af2cc3b976bd077718b2b443a5be44eb481ec";
+    sha256 = "ec305ca79b6e16fb6d699d3159258f9f680ead8ea5ef9b419e7faf13f31355df";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index a82f9d3fb9b..5756d0ab5e6 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-storages";
-  version = "1.7.2";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01xq232h321716r08rari9payas7fsiwwr5q6zgcrlwkckwxxczk";
+    sha256 = "000abaayhymh4rxmk19hwhlyibc62rs0qdfczkhf4wb3p9san8lk";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django/1_11.nix b/pkgs/development/python-modules/django/1_11.nix
index cb82fdc204c..cbfeb4288cf 100644
--- a/pkgs/development/python-modules/django/1_11.nix
+++ b/pkgs/development/python-modules/django/1_11.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "1.11.24";
+  version = "1.11.27";
 
   src = fetchurl {
     url = "https://www.djangoproject.com/m/releases/1.11/${pname}-${version}.tar.gz";
-    sha256 = "1qw97zcsnbnn9dqad1kps48vfaifdkvqb8c3vld6nnvp7x2jfp11";
+    sha256 = "1f39c5af0lkls6mqw1fd2r9rf4mbshchqjy900ab3lcshs1i6490";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django/2_1.nix b/pkgs/development/python-modules/django/2_1.nix
index f8598c1e819..19e8b0c1a75 100644
--- a/pkgs/development/python-modules/django/2_1.nix
+++ b/pkgs/development/python-modules/django/2_1.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.1.13";
+  version = "2.1.15";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a28a4eb0167eba491ccfafd7006843b5cdd26d8c93b955a74c2ea74f94efc2c";
+    sha256 = "a794f7a2f4b7c928eecfbc4ebad03712ff27fb545abe269bf01aa8500781eb1c";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django/2_2.nix b/pkgs/development/python-modules/django/2_2.nix
index eccf694425e..bc8ae39433d 100644
--- a/pkgs/development/python-modules/django/2_2.nix
+++ b/pkgs/development/python-modules/django/2_2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.6";
+  version = "2.2.9";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a8ca1033acac9f33995eb2209a6bf18a4681c3e5269a878e9a7e0b7384ed1ca3";
+    sha256 = "199mwqs6apdxjm4afqjbvqs98j2927rv2wbgy5vzvqwjhzviyak6";
   };
 
   patches = stdenv.lib.optional withGdal
diff --git a/pkgs/development/python-modules/django_contrib_comments/default.nix b/pkgs/development/python-modules/django_contrib_comments/default.nix
index 96c63738eb7..9603929406c 100644
--- a/pkgs/development/python-modules/django_contrib_comments/default.nix
+++ b/pkgs/development/python-modules/django_contrib_comments/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-contrib-comments";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "61b051d7bc3ff593e86b41a1ed5e969423cf55cc92768598af3315e2528e0890";
+    sha256 = "d1232bade3094de07dcc205fc833204384e71ba9d30caadcb5bb2882ce8e8d31";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django_evolution/default.nix b/pkgs/development/python-modules/django_evolution/default.nix
index ea02467764d..7d53d458043 100644
--- a/pkgs/development/python-modules/django_evolution/default.nix
+++ b/pkgs/development/python-modules/django_evolution/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A database schema evolution tool for the Django web framework";
-    homepage = http://code.google.com/p/django-evolution/;
+    homepage = "https://github.com/beanbaginc/django-evolution";
     license = licenses.bsd0;
     broken = true;
   };
diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix
index 69c2f531728..5a4faf5f24e 100644
--- a/pkgs/development/python-modules/django_reversion/default.nix
+++ b/pkgs/development/python-modules/django_reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed46722389fb2441860d471c7538967dee545bcee891d3d907b04f4baa98f5fa";
+    sha256 = "1add55bb05311f4acd26683dd71af60729d4f33dfe42c608da8e15e679a32009";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/pkgs/development/python-modules/dmenu/default.nix b/pkgs/development/python-modules/dmenu/default.nix
index d7ec8161ef5..7897138d59f 100644
--- a/pkgs/development/python-modules/dmenu/default.nix
+++ b/pkgs/development/python-modules/dmenu/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A Python wrapper for dmenu";
-    homepage = http://dmenu.readthedocs.io;
+    homepage = https://dmenu.readthedocs.io;
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.nico202 ];
   };
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 2e0dd468325..3d4a73bc969 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy27
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27
 , backports_ssl_match_hostname
 , mock
 , paramiko
 , pytest
+, pytestCheckHook
 , requests
 , six
 , websocket_client
@@ -17,25 +18,25 @@ buildPythonPackage rec {
     sha256 = "1hdgics03fz2fbhalzys7a7kjj54jnl5a37h6lzdgym41gkwa1kf";
   };
 
+  nativeBuildInputs = [
+    pytestCheckHook
+  ] ++ lib.optional isPy27 mock;
+
   propagatedBuildInputs = [
     paramiko
     requests
     six
     websocket_client
-  ] ++ stdenv.lib.optional isPy27 backports_ssl_match_hostname;
-
-  checkInputs = [
-    mock
-    pytest
-  ];
+  ] ++ lib.optional isPy27 backports_ssl_match_hostname;
 
-  # Other tests touch network
+  pytestFlagsArray = [ "tests/unit" ];
   # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
-  checkPhase = ''
-    ${pytest}/bin/pytest tests/unit/ ${stdenv.lib.optionalString stdenv.isDarwin "--deselect=tests/unit/api_test.py::TCPSocketStreamTest"}
-  '';
+  disabledTests = lib.optionals stdenv.isDarwin [ "stream_response" "socket_file" ];
+
+  # skip setuptoolsCheckPhase
+  doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An API client for docker written in Python";
     homepage = "https://github.com/docker/docker-py";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/dotnetcore2/default.nix b/pkgs/development/python-modules/dotnetcore2/default.nix
index c885466f5af..4d3edf0906a 100644
--- a/pkgs/development/python-modules/dotnetcore2/default.nix
+++ b/pkgs/development/python-modules/dotnetcore2/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "dotnetcore2";
-  version = "2.1.9";
+  version = "2.1.11";
   format = "wheel";
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     inherit pname version format;
     python = "py3";
     platform = "manylinux1_x86_64";
-    sha256 = "0h1igixk84md68z7gwj1vd6ki4d5drxh0ih5zww8xcr3qh5r0drb";
+    sha256 = "0qhp94bjz4icz2f0fnhgck875chiqzy4lvsp6lwhj5jd0zsv2bb3";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/python-modules/dpkt/default.nix b/pkgs/development/python-modules/dpkt/default.nix
index c8c7f255afa..567cd85fa94 100644
--- a/pkgs/development/python-modules/dpkt/default.nix
+++ b/pkgs/development/python-modules/dpkt/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols";
-    homepage = https://code.google.com/p/dpkt/;
+    homepage = "https://github.com/kbandla/dpkt";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bjornfor ];
     platforms = platforms.all;
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index ae6507c4442..785f37144be 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -4,12 +4,12 @@
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "0.19.13";
+  version = "0.19.14";
   pname = "dulwich";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa628449c5f594a9a282f4d9e5993fef65481ef5e3b9b6c52ff31200f8f5dc95";
+    sha256 = "d1320232c859ab086fff79eee8fa6ddbcbcbe01ff0c64c9bed48eca470b00b46";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/easysnmp/default.nix b/pkgs/development/python-modules/easysnmp/default.nix
new file mode 100644
index 00000000000..2602fba7713
--- /dev/null
+++ b/pkgs/development/python-modules/easysnmp/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, pythonAtLeast
+, fetchFromGitHub
+, net-snmp
+, openssl
+, pytest
+, pytestcov
+, pytest-flake8
+, pytest-sugar
+, termcolor
+}:
+
+buildPythonPackage rec {
+  pname = "easysnmp";
+  version = "0.2.5";
+
+  # See https://github.com/kamakazikamikaze/easysnmp/issues/108
+  disabled = pythonAtLeast "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kamakazikamikaze";
+    repo = pname;
+    rev = version;
+    sha256 = "1si9iyxqj6z22jzn6m93lwpinsqn20lix2py3jm3g3fmwawkd735";
+  };
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pytest-flake8
+    pytest-sugar
+    termcolor
+  ];
+
+  buildInputs = [
+    net-snmp
+    openssl
+  ];
+
+  buildPhase = ''
+    python setup.py build bdist_wheel --basedir=${lib.getBin net-snmp}/bin
+  '';
+
+  # Unable to get tests to pass, even running by hand. The pytest tests have
+  # become stale.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A blazingly fast and Pythonic SNMP library based on the official Net-SNMP bindings";
+    homepage = https://easysnmp.readthedocs.io/en/latest/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ WhittlesJr ];
+  };
+}
diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix
index 637cca7f608..093a30d29da 100644
--- a/pkgs/development/python-modules/elementpath/default.nix
+++ b/pkgs/development/python-modules/elementpath/default.nix
@@ -1,14 +1,14 @@
 { lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
-  version = "1.3.1";
+  version = "1.3.3";
   pname = "elementpath";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "v${version}";
-    sha256 = "0060cd49m0q25k7anzyiz76360hag2f9j5hvqhbmscivf1ssckzq";
+    sha256 = "05wplh836ffwhncf5rpdnz4g1b3mqw7jiy83352nw4x3aak4ifbr";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix
index 8c720dec325..ed513579457 100644
--- a/pkgs/development/python-modules/emcee/default.nix
+++ b/pkgs/development/python-modules/emcee/default.nix
@@ -3,18 +3,18 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01mx1w4a7j5p29a3r7ilh9la9n6gnlgwb46m439vrnfgvbvjjy9c";
+    sha256 = "035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388";
   };
 
   propagatedBuildInputs = [ numpy ];
 
   meta = with stdenv.lib; {
     description = "Kick ass affine-invariant ensemble MCMC sampling";
-    homepage = http://dan.iel.fm/emcee;
+    homepage = "https://emcee.readthedocs.io/";
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/etelemetry/default.nix b/pkgs/development/python-modules/etelemetry/default.nix
new file mode 100644
index 00000000000..2323a4dcd57
--- /dev/null
+++ b/pkgs/development/python-modules/etelemetry/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, requests, pytest }:
+
+buildPythonPackage rec {
+  version = "0.1.2";
+  pname = "etelemetry";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0m3dqvs3xbckmjiwppy366qmgzx0z917j1d7dadfl3bprgipy51j";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # all 2 of the tests both try to pull down from a url
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "etelemetry"
+    "etelemetry.client"
+    "etelemetry.config"
+  ];
+
+  meta = with lib; {
+    description = "Lightweight python client to communicate with the etelemetry server";
+    homepage = "https://github.com/mgxd/etelemetry-client";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/extras/default.nix b/pkgs/development/python-modules/extras/default.nix
index adcc43f2650..ff8432ab2d2 100644
--- a/pkgs/development/python-modules/extras/default.nix
+++ b/pkgs/development/python-modules/extras/default.nix
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
-    homepage = https://code.google.com/p/mimeparse/;
+    description = "Useful extra bits for Python - things that should be in the standard library";
+    homepage = "https://github.com/testing-cabal/extras";
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix
index a06f276232e..8ac7b597a4c 100644
--- a/pkgs/development/python-modules/eyed3/default.nix
+++ b/pkgs/development/python-modules/eyed3/default.nix
@@ -13,13 +13,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.10";
+  version = "0.8.11";
   pname    = "eyeD3";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc";
+    sha256 = "0e4c9b9b42257deb9c38c112dbe44e1203dea686d454dc76adb72ded25ac878c";
   };
 
   # https://github.com/nicfit/eyeD3/pull/284
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python module and command line program for processing ID3 tags";
-    homepage    = http://eyed3.nicfit.net/;
+    homepage    = https://eyed3.nicfit.net/;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 6de5c25c733..8daa637724d 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -17,11 +17,11 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "2.0.3";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19zdcdmc11syjbmnbq98yny3dwb5jqw8cxcbq9g2scwzc5f7b32y";
+    sha256 = "29093e61f12745150774fd05ab499e87252a4fa51ed51e45c40179e854f87925";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/fastparquet/default.nix b/pkgs/development/python-modules/fastparquet/default.nix
index 260d1b7f4b3..046fc530969 100644
--- a/pkgs/development/python-modules/fastparquet/default.nix
+++ b/pkgs/development/python-modules/fastparquet/default.nix
@@ -1,20 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, numba, numpy, pandas,
-pytestrunner, thrift, pytest, python-snappy, lz4 }:
+{ lib, buildPythonPackage, fetchFromGitHub, numba, numpy, pandas, pytestrunner,
+thrift, pytest, python-snappy, lz4 }:
 
 buildPythonPackage rec {
   pname = "fastparquet";
-  version = "0.2.1";
+  version = "0.3.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "183wdmhnhnlsd7908n3d2g4qnb49fcipqfshghwpbdwdzjpa0day";
-  };
-
-  # Fixes for recent pandas version
-  # See https://github.com/dask/fastparquet/pull/396
-  patches = fetchpatch {
-    url = https://github.com/dask/fastparquet/commit/31fb3115598d1ab62a5c8bf7923a27c16f861529.patch;
-    sha256 = "0r1ig4rydmy4j85dgb52qbsx6knxdwn4dn9h032fg3p6xqq0zlpm";
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = pname;
+    rev = version;
+    sha256 = "142kmyddaq6mvmca23abwns1csn8f3lk9c8mbxwxrg4wa1dh0lb4";
   };
 
   postPatch = ''
@@ -27,9 +22,6 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ numba numpy pandas thrift ];
   checkInputs = [ pytest python-snappy lz4 ];
 
-  # test_data/ missing in PyPI tarball
-  doCheck = false;
-
   meta = with lib; {
     description = "A python implementation of the parquet format";
     homepage = https://github.com/dask/fastparquet;
diff --git a/pkgs/development/python-modules/feedparser/default.nix b/pkgs/development/python-modules/feedparser/default.nix
index ac91fe51d89..c36fd2b1943 100644
--- a/pkgs/development/python-modules/feedparser/default.nix
+++ b/pkgs/development/python-modules/feedparser/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/feedparser/;
+    homepage = "https://github.com/kurtmckee/feedparser";
     description = "Universal feed parser";
     license = licenses.bsd2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
index 08aa2fe7eb2..96019f61cac 100644
--- a/pkgs/development/python-modules/fido2/default.nix
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -1,15 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi
-, six, cryptography
-, mock, pyfakefs
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, cryptography
+, mock
+, pyfakefs
 }:
 
 buildPythonPackage rec {
   pname = "fido2";
-  version = "0.7.1";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10i61g8srx1dk0wfjj11s7ka5pv0661ivwg2r0y3y2nsnf5b90s4";
+    sha256 = "1hzprnd407g2xh9kyv8j8pq949hwr1snmg3fp65pqfbghzv6i424";
   };
 
   propagatedBuildInputs = [ six cryptography ];
@@ -18,7 +22,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
-    homepage = https://github.com/Yubico/python-fido2;
-    license = licenses.mpl20;
+    homepage = "https://github.com/Yubico/python-fido2";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ prusnak ];
   };
 }
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 0a3e17abaca..abc0853b4c7 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.8.9.post2";
+  version = "1.8.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "210fb038b579fab38f35ddbdd31b9725f4d5099b3edfd4b87c983e5d47b79983";
+    sha256 = "5ec34898c8b983a723fb4e949dd3e0ed7e691c303e51f6bfd61e52ac9ac813ae";
   };
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "OGR's neat, nimble, no-nonsense API for Python";
-    homepage = http://toblerity.org/fiona/;
+    homepage = "https://fiona.readthedocs.io/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp ];
   };
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index 3a9647348ef..e6ac743396a 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e662f7e75a3ed729d3be7c92e72bde385ab08ec26e7808bf3dfc63445c87857";
+    sha256 = "712d7c1ff69ddf3f0130e94cc88c2519e720760bce45e8c330bfdcb61ab4090d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix
index a10fccfc911..e76b7cdf269 100644
--- a/pkgs/development/python-modules/flake8/default.nix
+++ b/pkgs/development/python-modules/flake8/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "flake8";
-  version = "3.7.8";
+  version = "3.7.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548";
+    sha256 = "45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb";
   };
 
   checkInputs = [ pytest mock pytestrunner ];
diff --git a/pkgs/development/python-modules/flammkuchen/default.nix b/pkgs/development/python-modules/flammkuchen/default.nix
new file mode 100644
index 00000000000..3a3d82cd8bb
--- /dev/null
+++ b/pkgs/development/python-modules/flammkuchen/default.nix
@@ -0,0 +1,36 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy27
+, numpy
+, scipy
+, tables
+, pandas
+, nose
+, configparser
+}:
+
+buildPythonPackage rec {
+  pname = "flammkuchen";
+  version = "0.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e9aab9b229ace70d879b85618a9ce0e88dd6ce35d4dbcdfd60c6b61c33a1b4fb";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    tables
+    pandas
+  ] ++ lib.optionals isPy27 [ configparser ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/flammkuchen";
+    description = "Flexible HDF5 saving/loading library forked from deepdish (University of Chicago) and maintained by the Portugues lab";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-admin/default.nix b/pkgs/development/python-modules/flask-admin/default.nix
new file mode 100644
index 00000000000..3a2c1fe5e9b
--- /dev/null
+++ b/pkgs/development/python-modules/flask-admin/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, pillow
+, mongoengine
+, pymongo
+, wtf-peewee
+, sqlalchemy
+, sqlalchemy-citext
+, flask-mongoengine
+, flask_sqlalchemy
+, flask-babelex
+, shapely
+, geoalchemy2
+, psycopg2
+, flask
+, wtforms
+, isPy27
+, enum34
+}:
+
+buildPythonPackage rec {
+  pname = "flask-admin";
+  version = "1.5.3";
+
+  src = fetchPypi {
+    pname = "Flask-Admin";
+    inherit version;
+    sha256 = "ca0be6ec11a6913b73f656c65c444ae5be416c57c75638dd3199376ce6bc7422";
+  };
+
+  checkInputs = [
+    nose
+    pillow
+    mongoengine
+    pymongo
+    wtf-peewee
+    sqlalchemy
+    sqlalchemy-citext
+    flask-mongoengine
+    flask_sqlalchemy
+    flask-babelex
+    shapely
+    geoalchemy2
+    psycopg2
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    wtforms
+  ] ++ lib.optionals isPy27 [ enum34 ];
+
+  checkPhase = ''
+    # disable tests that require mongodb, postresql
+    nosetests \
+     -e "mongoengine" \
+     -e "pymongo" \
+     -e "test_form_upload" \
+     -e "test_postgres" \
+     -e "geoa" \
+     flask_admin/tests
+  '';
+
+  meta = with lib; {
+    description = "Simple and extensible admin interface framework for Flask";
+    homepage = https://github.com/flask-admin/flask-admin/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix
new file mode 100644
index 00000000000..46841f68d60
--- /dev/null
+++ b/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, apispec
+, colorama
+, click
+, flask
+, flask-babel
+, flask_login
+, flask-openid
+, flask_sqlalchemy
+, flask_wtf
+, flask-jwt-extended
+, jsonschema
+, marshmallow
+, marshmallow-enum
+, marshmallow-sqlalchemy
+, python-dateutil
+, prison
+, pyjwt
+, pyyaml
+, sqlalchemy-utils
+}:
+
+buildPythonPackage rec {
+  pname = "flask-appbuilder";
+  version = "2.1.6";
+
+  src = fetchPypi {
+    pname = "Flask-AppBuilder";
+    inherit version;
+    sha256 = "a37d7d6a62407a2e0975af5305c795f2fb5c06ecc34e3cf64659d083b1b2dd5f";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    apispec
+    colorama
+    click
+    flask
+    flask-babel
+    flask_login
+    flask-openid
+    flask_sqlalchemy
+    flask_wtf
+    flask-jwt-extended
+    jsonschema
+    marshmallow
+    marshmallow-enum
+    marshmallow-sqlalchemy
+    python-dateutil
+    prison
+    pyjwt
+    sqlalchemy-utils
+    pyyaml
+  ];
+
+  postPatch = ''
+   substituteInPlace setup.py \
+     --replace "jsonschema>=3.0.1<4" "jsonschema" \
+     --replace "marshmallow>=2.18.0,<2.20" "marshmallow" \
+     --replace "PyJWT>=1.7.1" "PyJWT" \
+     --replace "Flask-SQLAlchemy>=2.4,<3" "Flask-SQLAlchemy" \
+     --replace "Flask-JWT-Extended>=3.18,<4" "Flask-JWT-Extended"
+  '';
+
+  # majority of tests require network access or mongo
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Simple and rapid application development framework, built on top of Flask";
+    homepage = https://github.com/dpgaspar/flask-appbuilder/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix
new file mode 100644
index 00000000000..c61967af6bc
--- /dev/null
+++ b/pkgs/development/python-modules/flask-babelex/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, Babel
+, speaklater
+, jinja2
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "flask-babelex";
+  version = "0.9.3";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "Flask-BabelEx";
+    sha256 = "cf79cdedb5ce860166120136b0e059e9d97b8df07a3bc2411f6243de04b754b4";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    Babel
+    speaklater
+    jinja2
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    # Disabled 3 tests failing due to string representations of dates:
+    # Like "12. April 2010 um 15:46:00 MESZ" != 12. "April 2010 15:46:00 MESZ"
+
+    pytest tests/tests.py -k "not test_init_app \
+                              and not test_custom_locale_selector \
+                              and not test_basics"
+  '';
+
+  meta = with lib; {
+    description = "Adds i18n/l10n support to Flask applications";
+    homepage = https://github.com/mrjoes/flask-babelex;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-bcrypt/default.nix b/pkgs/development/python-modules/flask-bcrypt/default.nix
new file mode 100644
index 00000000000..dfcdad18f9c
--- /dev/null
+++ b/pkgs/development/python-modules/flask-bcrypt/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, bcrypt
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "flask-bcrypt";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "maxcountryman";
+    repo = pname;
+    rev = version;
+    sha256 = "0036gag3nj7fzib23lbbpwhlrn1s0kkrfwk5pd90y4cjcfqh8z9x";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    bcrypt
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} test_bcrypt.py
+  '';
+
+  meta = with lib; {
+    description = "Brcrypt hashing for Flask";
+    homepage = https://github.com/maxcountryman/flask-bcrypt;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-elastic/default.nix b/pkgs/development/python-modules/flask-elastic/default.nix
index 466bfb44121..9f8e27ea20f 100644
--- a/pkgs/development/python-modules/flask-elastic/default.nix
+++ b/pkgs/development/python-modules/flask-elastic/default.nix
@@ -17,6 +17,6 @@ buildPythonPackage rec {
     description = "Integrates official client for Elasticsearch into Flask";
     license = licenses.bsd3;
     maintainers = [ maintainers.mic92 ];
-    homepage = https://github.com/cepture/foppch/flask-elastic;
+    homepage = "https://github.com/marceltschoppch/flask-elastic";
   };
 }
diff --git a/pkgs/development/python-modules/flask-httpauth/default.nix b/pkgs/development/python-modules/flask-httpauth/default.nix
new file mode 100644
index 00000000000..051b83d1c3d
--- /dev/null
+++ b/pkgs/development/python-modules/flask-httpauth/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, flask }:
+
+buildPythonPackage rec {
+  pname = "Flask-HTTPAuth";
+  version = "3.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fb1kr1iw6inkwfv160rpjx54vv1q9b90psdyyghyy1f6dhvgy3f";
+  };
+
+  propagatedBuildInputs = [ flask ];
+
+  meta = with lib; {
+    description = "Extension that provides HTTP authentication for Flask routes";
+    homepage = "https://github.com/miguelgrinberg/Flask-HTTPAuth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-mongoengine/default.nix b/pkgs/development/python-modules/flask-mongoengine/default.nix
new file mode 100644
index 00000000000..5e61a2415b7
--- /dev/null
+++ b/pkgs/development/python-modules/flask-mongoengine/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, flask_wtf
+, mongoengine
+, six
+, nose
+, rednose
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "flask-mongoengine";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "MongoEngine";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "05hfddf1dm594wnjyqhj0zmjfsf1kpmx1frjwhypgzx4hf62qcmr";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    flask_wtf
+    mongoengine
+    six
+  ];
+
+  # they set test requirements to setup_requirements...
+  buildInputs = [
+    nose
+    rednose
+    coverage
+  ];
+
+  # tests require working mongodb connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Flask-MongoEngine is a Flask extension that provides integration with MongoEngine and WTF model forms";
+    homepage = https://github.com/mongoengine/flask-mongoengine;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix
new file mode 100644
index 00000000000..c1f9a51a225
--- /dev/null
+++ b/pkgs/development/python-modules/flask-openid/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, python3-openid
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "flask-openid";
+  version = "1.2.5";
+  disable = !isPy3k;
+
+  src = fetchPypi {
+    pname = "Flask-OpenID";
+    inherit version;
+    sha256 = "5a8ffe1c8c0ad1cc1f5030e1223ea27f8861ee0215a2a58a528cc61379e5ccab";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    python3-openid
+  ];
+
+  # no tests for repo...
+  doCheck = false;
+
+  meta = with lib; {
+    description = "OpenID support for Flask";
+    homepage = https://pythonhosted.org/Flask-OpenID/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flup/default.nix b/pkgs/development/python-modules/flup/default.nix
index 8256f5a1063..a6ef4d421df 100644
--- a/pkgs/development/python-modules/flup/default.nix
+++ b/pkgs/development/python-modules/flup/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = "http://trac.saddi.com/flup";
+    homepage = "https://www.saddi.com/software/flup/";
     description = "FastCGI Python module set";
     license = licenses.bsd0;
   };
diff --git a/pkgs/development/python-modules/folium/default.nix b/pkgs/development/python-modules/folium/default.nix
index c89bfbfd524..967e7cf09c1 100644
--- a/pkgs/development/python-modules/folium/default.nix
+++ b/pkgs/development/python-modules/folium/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "folium";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18fzxijsgrb95r0a8anc9ba5ijyw3nlnv3rpavfbkqa5v878x84f";
+    sha256 = "0gcc267wxwxr57ry86pqpbiyfvl0g48hfvgy0f2mz9s58g87kgzd";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/foxdot/default.nix b/pkgs/development/python-modules/foxdot/default.nix
index 0ba46c1832b..ae4e32291c3 100644
--- a/pkgs/development/python-modules/foxdot/default.nix
+++ b/pkgs/development/python-modules/foxdot/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "FoxDot";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07ll1rh1bkq1dpb7gxd86jsjhxni73kp9iljiy0d2b86ji8h108p";
+    sha256 = "8b6d810f5389692c45d236dec89cecc4ff32ad053e4c878c91363acfa4508639";
   };
 
   propagatedBuildInputs = [ tkinter supercollider ];
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
index a27e9494911..e23351d3da6 100644
--- a/pkgs/development/python-modules/fpylll/default.nix
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , buildPythonPackage
 , pkgconfig
 , gmp
@@ -14,15 +15,29 @@
 
 buildPythonPackage rec {
   pname = "fpylll";
-  version = "0.4.1dev";
+  version = "0.5.1dev";
 
   src = fetchFromGitHub {
     owner = "fplll";
     repo = "fpylll";
     rev = version;
-    sha256 = "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w";
+    sha256 = "15vdfgx448mr1nf054h7lr2j3dd35fsfhikqzrh9zsng8n12hxa5";
   };
 
+  patches = [
+    # two patches to fix the testsuite on aarch64 (https://github.com/fplll/fpylll/issues/162)
+    (fetchpatch {
+      url = "https://github.com/fplll/fpylll/commit/d5809a8fdb86b2693b1fa94e655bbbe4ad80e286.patch";
+      name = "less-precision-in-tests.patch";
+      sha256 = "0vkvi25nwwvk5r4a4xmkbf060di4hjq32bys75l2hsaysxmk93nz";
+    })
+    (fetchpatch {
+      url = "https://github.com/fplll/fpylll/commit/b5b146a010d50da219a313adc4b6f7deddcc146b.patch";
+      name = "dont-hardcode-precision.patch";
+      sha256 = "1rsbwh90i1j5p2rp6jd5n25v1jzw1n8728fzz1lhb91zmk0hlxc9";
+    })
+  ];
+
   buildInputs = [
     gmp
     pari
@@ -45,11 +60,16 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    py.test
+    # Since upstream introduced --doctest-modules in
+    # https://github.com/fplll/fpylll/commit/9732fdb40cf1bd43ad1f60762ec0a8401743fc79,
+    # it is necessary to ignore import mismatches. Not sure why, but the files
+    # should be identical anyway.
+    PY_IGNORE_IMPORTMISMATCH=1 pytest
   '';
 
   meta = {
     description = "A Python interface for fplll";
+    changelog = "https://github.com/fplll/fpylll/releases/tag/${version}";
     homepage = https://github.com/fplll/fpylll;
     maintainers = with lib.maintainers; [ timokau ];
     license = lib.licenses.gpl2Plus;
diff --git a/pkgs/development/python-modules/funcparserlib/default.nix b/pkgs/development/python-modules/funcparserlib/default.nix
index 6c3f5f6d018..3a9503419ec 100644
--- a/pkgs/development/python-modules/funcparserlib/default.nix
+++ b/pkgs/development/python-modules/funcparserlib/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Recursive descent parsing library based on functional combinators";
-    homepage = https://code.google.com/p/funcparserlib/;
+    homepage = "https://github.com/vlasovskikh/funcparserlib";
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/python-modules/funcy/default.nix b/pkgs/development/python-modules/funcy/default.nix
index 0220fd1aeb9..87a3b830bf8 100644
--- a/pkgs/development/python-modules/funcy/default.nix
+++ b/pkgs/development/python-modules/funcy/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "funcy";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hxii7g4fn301vr8wg53jc1jkvbjlbaz1fbpgpn4362xcwzk73wi";
+    sha256 = "1i55c5kjvkb3y2jqfnlx3iirrd512mxjdhjpm1l2xya6nk1q9vkm";
   };
 
   # No tests
diff --git a/pkgs/development/python-modules/future/default.nix b/pkgs/development/python-modules/future/default.nix
index b74d4cddf6d..dad0372a8c1 100644
--- a/pkgs/development/python-modules/future/default.nix
+++ b/pkgs/development/python-modules/future/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "future";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "858e38522e8fd0d3ce8f0c1feaf0603358e366d5403209674c7b617fa0c24093";
+    sha256 = "b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/gateone/default.nix b/pkgs/development/python-modules/gateone/default.nix
index f9ad118673a..7a6aa659ace 100644
--- a/pkgs/development/python-modules/gateone/default.nix
+++ b/pkgs/development/python-modules/gateone/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://liftoffsoftware.com/;
+    homepage = "http://liftoffsoftware.com/";
     description = "GateOne is a web-based terminal emulator and SSH client";
     maintainers = with maintainers; [ tomberek ];
     license = licenses.gpl3;
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
index e6f45a2b4c6..278bd381ca6 100644
--- a/pkgs/development/python-modules/gcovr/default.nix
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -2,19 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , jinja2
+, lxml
 }:
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca94c337f2d9a70db177ec4330534fad7b2b772beda625c1ec071fbcf1361e22";
+    sha256 = "0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs";
   };
 
   propagatedBuildInputs = [
     jinja2
+    lxml
   ];
 
   # There are no unit tests in the pypi tarball. Most of the unit tests on the
@@ -22,6 +24,12 @@ buildPythonPackage rec {
   # See also: https://github.com/gcovr/gcovr/issues/206
   doCheck = false;
 
+  pythonImportsCheck = [
+    "gcovr"
+    "gcovr.workers"
+    "gcovr.configuration"
+  ];
+
   meta = with stdenv.lib; {
     description = "A Python script for summarizing gcov data";
     license = licenses.bsd0;
diff --git a/pkgs/development/python-modules/gdata/default.nix b/pkgs/development/python-modules/gdata/default.nix
index dbf2911ce19..182fdc402a6 100644
--- a/pkgs/development/python-modules/gdata/default.nix
+++ b/pkgs/development/python-modules/gdata/default.nix
@@ -8,7 +8,7 @@ buildPythonPackage rec {
   version = "2.0.18";
 
   src = fetchurl {
-    url = "https://gdata-python-client.googlecode.com/files/${pname}-${version}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gdata-python-client/${pname}-${version}.tar.gz";
     sha256 = "1dpxl5hwyyqd71avpm5vkvw8fhlvf9liizmhrq9jphhrx0nx5rsn";
   };
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://code.google.com/p/gdata-python-client/;
+    homepage = "https://github.com/google/gdata-python-client";
     description = "Python client library for Google data APIs";
     license = licenses.asl20;
   };
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index 7436626fc74..5a6313be583 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "geopandas";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "geopandas";
     repo = "geopandas";
     rev = "v${version}";
-    sha256 = "0bdgphw43m2nrgcp83j1pnxknnzahm2zmdr55hyz3jjkva7m6dpk";
+    sha256 = "1wy2n204vf5bbswgma205lr1is7nnxr385m4x3v7pra05bq8ag3q";
   };
 
   checkInputs = [ pytest Rtree ];
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python geospatial data analysis framework";
-    homepage = https://geopandas.org;
+    homepage = "http://geopandas.org";
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp ];
   };
diff --git a/pkgs/development/python-modules/geopy/2.nix b/pkgs/development/python-modules/geopy/2.nix
new file mode 100644
index 00000000000..49876872724
--- /dev/null
+++ b/pkgs/development/python-modules/geopy/2.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, geographiclib
+}:
+
+buildPythonPackage rec {
+  pname = "geopy";
+  version = "1.20.0";
+
+  disabled = !isPy27; # only Python 2.7
+  doCheck = false; # Needs network access
+
+  propagatedBuildInputs = [ geographiclib ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9419bc90ee6231590c4ae7acf1cf126cefbd0736942da7a6a1436946e80830e2";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/geopy/geopy";
+    description = "Python Geocoding Toolbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [GuillaumeDesforges];
+  };
+}
diff --git a/pkgs/development/python-modules/geopy/default.nix b/pkgs/development/python-modules/geopy/default.nix
index 3a9e8b86c91..817c1e38418 100644
--- a/pkgs/development/python-modules/geopy/default.nix
+++ b/pkgs/development/python-modules/geopy/default.nix
@@ -1,31 +1,30 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
-, isPy27
-, mock
-, tox
-, pylint
+, fetchFromGitHub
+, isPy3k
+, geographiclib
 }:
 
 buildPythonPackage rec {
-  pname = "geopy";
-  version = "1.20.0";
-  disabled = !isPy27;
+  pname = "geopy-unstable";
+  version = "2019-11-10";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9419bc90ee6231590c4ae7acf1cf126cefbd0736942da7a6a1436946e80830e2";
-  };
+  disabled = !isPy3k; # only Python 3
+  doCheck = false; # Needs network access
 
-  doCheck = false;  # too much
+  propagatedBuildInputs = [ geographiclib ];
 
-  buildInputs = [ mock tox pylint ];
+  src = fetchFromGitHub {
+    owner = "geopy";
+    repo = "geopy";
+    rev = "531b7de6126838a3e69370227aa7f2086ba52b89";
+    sha256 = "07l1pblzg3hb3dbvd9rq8x78ly5dv0zxbc5hwskqil0bhv5v1p39";
+  };
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/geopy/geopy";
     description = "Python Geocoding Toolbox";
     license = licenses.mit;
-    broken = true;
+    maintainers = with maintainers; [GuillaumeDesforges];
   };
-
 }
diff --git a/pkgs/development/python-modules/git-revise/default.nix b/pkgs/development/python-modules/git-revise/default.nix
index 905f38739b2..dfc0b4afb8a 100644
--- a/pkgs/development/python-modules/git-revise/default.nix
+++ b/pkgs/development/python-modules/git-revise/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "git-revise";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16sxmxksb5gjj6zfh1wy2czqj9nm4sd3j4fbrsphs8l065dzzikj";
+    sha256 = "0l3xhg00106p7ysg4gl9dna2zcrax58mzmm0ajjaxw58jfn8wsf1";
   };
 
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix
index 644b68386fe..9fc0acc30af 100644
--- a/pkgs/development/python-modules/goocalendar/default.nix
+++ b/pkgs/development/python-modules/goocalendar/default.nix
@@ -16,17 +16,22 @@ buildPythonPackage rec {
   pname = "GooCalendar";
   version = "0.6";
 
-  disabled = isPy3k;
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "4c22c93e19b933d10d8ea1c67a67f485267af82175ef59419427dd39d1e3af18";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+  ];
+
   propagatedBuildInputs = [
-    pygtk
     pygobject3
   ];
+
   buildInputs = [
     gtk3
     goocanvas2
@@ -37,8 +42,8 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A calendar widget for GTK using PyGoocanvas.";
-    homepage    = https://goocalendar.tryton.org/;
-    license     = licenses.gpl2;
+    homepage = https://goocalendar.tryton.org/;
+    license = licenses.gpl2;
     maintainers = [ maintainers.udono ];
   };
 }
diff --git a/pkgs/development/python-modules/google-auth-httplib2/default.nix b/pkgs/development/python-modules/google-auth-httplib2/default.nix
index c76f5c572e4..99c9945ea66 100644
--- a/pkgs/development/python-modules/google-auth-httplib2/default.nix
+++ b/pkgs/development/python-modules/google-auth-httplib2/default.nix
@@ -1,4 +1,5 @@
 { lib
+, isPy3k
 , buildPythonPackage
 , fetchPypi
 , flask
@@ -32,10 +33,13 @@ buildPythonPackage rec {
     py.test
   '';
 
+  # ImportError: No module named google.auth
+  doCheck = isPy3k;
+
   meta = {
     description = "Google Authentication Library: httplib2 transport";
     homepage = https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2;
     license = lib.licenses.asl20;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/google-pasta/default.nix b/pkgs/development/python-modules/google-pasta/default.nix
index e469de924f6..fc4fb5a46d8 100644
--- a/pkgs/development/python-modules/google-pasta/default.nix
+++ b/pkgs/development/python-modules/google-pasta/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "google-pasta";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zmqfvy28i2509277s6sz098kddd16cx21vpxyc8xml1nclcxlbr";
+    sha256 = "713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google_apputils/default.nix b/pkgs/development/python-modules/google_apputils/default.nix
index 51b03bf5594..c7b386623ef 100644
--- a/pkgs/development/python-modules/google_apputils/default.nix
+++ b/pkgs/development/python-modules/google_apputils/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Google Application Utilities for Python";
-    homepage = http://code.google.com/p/google-apputils-python;
+    homepage = "https://github.com/google/google-apputils";
     license = licenses.asl20;
   };
 
diff --git a/pkgs/development/python-modules/google_cloud_automl/default.nix b/pkgs/development/python-modules/google_cloud_automl/default.nix
index b317d0cd154..52248605c75 100644
--- a/pkgs/development/python-modules/google_cloud_automl/default.nix
+++ b/pkgs/development/python-modules/google_cloud_automl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "532cee03a976eedf308c178484b61f80bc4c68991b3bd8eb8f6abd000a217ef7";
+    sha256 = "fa92a77fcc79032dba756b82196a29f63a7b374379bacdb78be128e09b8abc03";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix
index cf2dbe37fff..b14c48cbf08 100644
--- a/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Cloud Speech API enables integration of Google speech recognition into applications.";
-    homepage = "https://googlecloudplatform.github.io/google-cloud-python/latest/speech/";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/master/speech";
     license = licenses.asl20;
     maintainers = with maintainers; [ vanschelven ];
   };
diff --git a/pkgs/development/python-modules/google_cloud_translate/default.nix b/pkgs/development/python-modules/google_cloud_translate/default.nix
index ebe39e72c05..99494b6886c 100644
--- a/pkgs/development/python-modules/google_cloud_translate/default.nix
+++ b/pkgs/development/python-modules/google_cloud_translate/default.nix
@@ -3,24 +3,27 @@
 , fetchPypi
 , google_api_core
 , google_cloud_core
+, grpcio
 , pytest
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "55b6563121883acce5d80afbf61a59e50d52c429e6ebbfe81a1c8f2734b75e8c";
+    sha256 = "0nfc628nr2k6kd3q9qpgwz7c12l0191rv5x4pvca8q82jl96gip5";
   };
 
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
+  # google_cloud_core[grpc] -> grpcio
+  propagatedBuildInputs = [ google_api_core google_cloud_core grpcio ];
 
+  checkInputs = [ pytest mock ];
   checkPhase = ''
-    pytest tests/unit
+    cd tests # prevent local google/__init__.py from getting loaded
+    pytest unit
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/google_cloud_vision/default.nix b/pkgs/development/python-modules/google_cloud_vision/default.nix
index a8d748db126..10c8792b9c8 100644
--- a/pkgs/development/python-modules/google_cloud_vision/default.nix
+++ b/pkgs/development/python-modules/google_cloud_vision/default.nix
@@ -3,7 +3,6 @@
 , fetchPypi
 , enum34
 , google_api_core
-, pytest
 , mock
 }:
 
@@ -16,11 +15,13 @@ buildPythonPackage rec {
     sha256 = "f33aea6721d453901ded268dee61a01ab77d4cd215a76edc3cc61b6028299d3e";
   };
 
-  checkInputs = [ pytest mock ];
+  checkInputs = [ mock ];
   propagatedBuildInputs = [ enum34 google_api_core ];
 
+  # pytest seems to pick up some file which overrides PYTHONPATH
   checkPhase = ''
-    pytest tests/unit
+    cd tests/unit
+    python -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
index 13ba4f934e8..f5a9341e2cc 100644
--- a/pkgs/development/python-modules/gpapi/default.nix
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -1,12 +1,17 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, requests
+, protobuf
+, pycryptodome
+}:
 
 buildPythonPackage rec {
-  version = "0.4.3";
+  version = "0.4.4";
   pname = "gpapi";
+  disabled = pythonOlder "3.3"; # uses shutil.which(), added in 3.3
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "9fd1351eb29c4da92d3a0ed2cd4e3c1634ea16afddbca133f6acc54766d61b02";
+    sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w";
   };
 
   propagatedBuildInputs = [ requests protobuf pycryptodome ];
diff --git a/pkgs/development/python-modules/gplaycli/default.nix b/pkgs/development/python-modules/gplaycli/default.nix
index 0c7fa8db01c..2edb41571d9 100644
--- a/pkgs/development/python-modules/gplaycli/default.nix
+++ b/pkgs/development/python-modules/gplaycli/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "gplaycli";
-  version = "3.25";
+  version = "3.26";
 
   src = fetchFromGitHub {
     owner = "matlink";
     repo = "gplaycli";
     rev = version;
-    sha256 = "1rygx5cg4b1vwpkiaq6jcpbc1ly7cspslv3sy7x8n8ba61ryq6h4";
+    sha256 = "188237d40q35dp5xs7hg4ybhvsyxi0bsqx5dk4ws9007n596in5f";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/gpyopt/default.nix b/pkgs/development/python-modules/gpyopt/default.nix
new file mode 100644
index 00000000000..3ad5cb7d89b
--- /dev/null
+++ b/pkgs/development/python-modules/gpyopt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, setuptools
+, numpy, scipy, gpy, emcee, nose }:
+
+buildPythonPackage rec {
+  pname = "GPyOpt";
+  version = "unstable-2019-09-25";
+
+  src = fetchFromGitHub {
+    repo   = pname;
+    owner  = "SheffieldML";
+    rev    = "249b8ff29c52c12ed867f145a627d529372022d8";
+    sha256 = "1ywaw1kpdr7dv4s4cr7afmci86sw7w61178gs45b0lq08652zdlb";
+  };
+
+  doCheck = false;  # requires several packages not available in Nix
+
+  checkInputs = [ nose ];
+
+  checkPhase = "nosetests -v GPyOpt/testing";
+
+  propagatedBuildInputs = [ setuptools numpy scipy gpy emcee ];
+
+  meta = with stdenv.lib; {
+    description = "Bayesian optimization toolbox in Python";
+    homepage = https://sheffieldml.github.io/GPyOpt;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
index c262331a6e1..6b2536d37b3 100644
--- a/pkgs/development/python-modules/graph_nets/default.nix
+++ b/pkgs/development/python-modules/graph_nets/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "graph_nets";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f27f0358a477d4ec3ab300bf09944b4dfdd5c10b0a5f7ac06bcb32d1327ebe1";
+    sha256 = "73e98a5930c6c7b609257ada2cf4523db70810343e0593bf0fa710b77e991933";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index ecdb76173fa..88e3118d456 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -6,13 +6,13 @@ if django.version != "1.8.19"
 then throw "graphite-web should be build with django_1_8 and django_tagging_0_4_3"
 else buildPythonPackage rec {
   pname = "graphite-web";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d43945d190f2b3a6d18daa6ace9a1bd3695e93dc593f50cd72c2af420883b99d";
+    sha256 = "f4c293008ad588456397cd125cdad7f47f4bab5b6dd82b5fb69f5467e7346a2a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 919283fb04f..e4fb0914f0a 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.24.3";
+  version = "1.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5efc92721a364e049ad3a174d5b20a21009fae9db04b3e5020ed0b534d9c022f";
+    sha256 = "988014c714ca654b3b7ca9f4dabfe487b00e023bfdd9eaf1bb0fed82bf8c4255";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/gunicorn/default.nix b/pkgs/development/python-modules/gunicorn/default.nix
index 58d5c414cf0..16c6921cdd6 100644
--- a/pkgs/development/python-modules/gunicorn/default.nix
+++ b/pkgs/development/python-modules/gunicorn/default.nix
@@ -1,5 +1,10 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, mock, pytestcov, coverage }:
+, coverage
+, mock
+, pytest
+, pytestcov
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "gunicorn";
@@ -10,6 +15,8 @@ buildPythonPackage rec {
     sha256 = "fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   checkInputs = [ pytest mock pytestcov coverage ];
 
   prePatch = ''
@@ -17,9 +24,12 @@ buildPythonPackage rec {
       --replace "coverage>=4.0,<4.4" "coverage"
   '';
 
-  # Test failures but patch does not apply cleanly
-  # https://github.com/benoitc/gunicorn/commit/f38f717539b1b7296720805b8ae3969c3509b9c1
-  doCheck = false;
+  # better than no tests
+  checkPhase = ''
+    $out/bin/gunicorn --help > /dev/null
+  '';
+
+  pythonImportsCheck = [ "gunicorn" ];
 
   meta = with stdenv.lib; {
     homepage = https://pypi.python.org/pypi/gunicorn;
diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix
index 3cd89a7d0e1..db828eb222d 100644
--- a/pkgs/development/python-modules/gyp/default.nix
+++ b/pkgs/development/python-modules/gyp/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , buildPythonPackage
-, fetchgit
+, fetchFromGitiles
 , isPy3k
 }:
 
@@ -9,8 +9,8 @@ buildPythonPackage {
   version = "2015-06-11";
   disabled = isPy3k;
 
-  src = fetchgit {
-    url = "https://chromium.googlesource.com/external/gyp.git";
+  src = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/external/gyp";
     rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043";
     sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
   };
diff --git a/pkgs/development/python-modules/handout/default.nix b/pkgs/development/python-modules/handout/default.nix
index eb6cca3e6ec..c5c111845d1 100644
--- a/pkgs/development/python-modules/handout/default.nix
+++ b/pkgs/development/python-modules/handout/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "handout";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbe5da9b422fa937b94a1a5221ce99387ebd75fe97ab4255e49b26d846b8614b";
+    sha256 = "52daaf1f9a4cb2ceb88c1dedf85d22ef449b9422b424a2534d21f941e57bc915";
   };
 
   propagatedBuildInputs = [ imageio imageio-ffmpeg ];
diff --git a/pkgs/development/python-modules/hbmqtt/default.nix b/pkgs/development/python-modules/hbmqtt/default.nix
index cd3264b78bb..90c6444da4c 100644
--- a/pkgs/development/python-modules/hbmqtt/default.nix
+++ b/pkgs/development/python-modules/hbmqtt/default.nix
@@ -14,6 +14,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ transitions websockets passlib docopt pyyaml ];
 
+  postPatch = ''
+    # test tries to bind same port multiple times and fails
+    rm tests/test_client.py
+  '';
+
   checkInputs = [ nose ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix
index 4566e43c0bd..7351b274210 100644
--- a/pkgs/development/python-modules/hdbscan/default.nix
+++ b/pkgs/development/python-modules/hdbscan/default.nix
@@ -7,21 +7,22 @@
 , scikitlearn
 , fetchPypi
 , joblib
+, six
 }:
 
 buildPythonPackage rec {
   pname = "hdbscan";
-  version = "0.8.23";
+  version = "0.8.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff60c66591452ceb6bdb7592c560a1ebc7e128a02dd3880e048861f7fea7f78d";
+    sha256 = "fe31a7ea0ce2c9babd190a195e491834ff9f64c74daa4ca94fa65a88f701269a";
   };
 
   checkInputs = [ nose ];
 
   nativeBuildInputs = [ cython ];
-  propagatedBuildInputs = [ numpy scipy scikitlearn joblib ];
+  propagatedBuildInputs = [ numpy scipy scikitlearn joblib six ];
 
   meta = with lib; {
     description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API";
diff --git a/pkgs/development/python-modules/hiredis/default.nix b/pkgs/development/python-modules/hiredis/default.nix
index 4403071cb8f..c22de6d8a66 100644
--- a/pkgs/development/python-modules/hiredis/default.nix
+++ b/pkgs/development/python-modules/hiredis/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hiredis";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "158pymdlnv4d218w66i8kzdn4ka30l1pdwa0wyjh16bj10zraz79";
+    sha256 = "aa59dd63bb3f736de4fc2d080114429d5d369dfb3265f771778e8349d67a97a4";
   };
   propagatedBuildInputs = [ redis ];
 
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 1bc8f10241d..b12ef64c602 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.12.6";
+  version = "1.12.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f6ad184fb6136e5ee37a74b5276825fc3d5fce5033ff3c8db8831ec11ea2e75";
+    sha256 = "c63f76d1ce2261eb0cd147a24be25daff399e7df2c3d6ade3e813d2e9cb7d42f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/homeassistant-pyozw/default.nix b/pkgs/development/python-modules/homeassistant-pyozw/default.nix
index 5851d62842b..559aa905c2c 100644
--- a/pkgs/development/python-modules/homeassistant-pyozw/default.nix
+++ b/pkgs/development/python-modules/homeassistant-pyozw/default.nix
@@ -2,12 +2,12 @@
 
 python_openzwave.overridePythonAttrs (oldAttrs: rec {
   pname = "homeassistant_pyozw";
-  version = "0.1.4";
+  version = "0.1.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "a4ec26b95dba630df8c95c617c510e4a33db93a6a39e8a97056eec7dc9a49d1e";
+    sha256 = "2d500638270ee4f0e7e9e114d9b4402c94c232f314116cdcf88d7c1dc9a44427";
   };
 
   meta.homepage = https://github.com/home-assistant/python-openzwave;
diff --git a/pkgs/development/python-modules/html5-parser/default.nix b/pkgs/development/python-modules/html5-parser/default.nix
index f3b24b3d371..db59bb49cf2 100644
--- a/pkgs/development/python-modules/html5-parser/default.nix
+++ b/pkgs/development/python-modules/html5-parser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "html5-parser";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00d1zfk72xzyibh7l4ib57y0isn5gic7avgbh7afbkk99iwd5smi";
+    sha256 = "25fe8f6848cbc15187f6748c0695df32bcf1b37df6420b6a01b4ebe1ec1ed48f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
index 0bbaece2c80..77350b09941 100644
--- a/pkgs/development/python-modules/httplib2/default.nix
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = http://code.google.com/p/httplib2;
+    homepage = "https://github.com/httplib2/httplib2";
     description = "A comprehensive HTTP client library";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 3d8f07793f9..33f76f0a248 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.9";
+  version = "1.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afd4e7beedc7417fed12cb2e15a21610c73cb08821c7f09aa926be24d4038dae";
+    sha256 = "3b1c2222ec7b8159e7ad059e4493c6cc634c86184af0bf2ce5aba6edd241cf5f";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hvac/default.nix b/pkgs/development/python-modules/hvac/default.nix
index ee7321ba626..3b5484dcbcb 100644
--- a/pkgs/development/python-modules/hvac/default.nix
+++ b/pkgs/development/python-modules/hvac/default.nix
@@ -1,15 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, requests }:
+{ lib, buildPythonPackage, fetchPypi, requests, six }:
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b98be5868132a591ae5a3ca4b415231d4eac22d3fd77dbd69c3b1081d9ea26d";
+    sha256 = "1v37jabp859691863mw8j06hqxsy16ndf804z2k5y5b0d167j9by";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ requests six ];
 
   # Requires running a Vault server
   doCheck = false;
diff --git a/pkgs/development/python-modules/hvplot/default.nix b/pkgs/development/python-modules/hvplot/default.nix
index 176258a10e0..2079f849769 100644
--- a/pkgs/development/python-modules/hvplot/default.nix
+++ b/pkgs/development/python-modules/hvplot/default.nix
@@ -12,6 +12,7 @@
 , xarray
 , networkx
 , streamz
+, colorcet
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,7 @@ buildPythonPackage rec {
   checkInputs = [ pytest parameterized nbsmoke flake8 coveralls xarray networkx streamz ];
   propagatedBuildInputs = [
     bokeh
+    colorcet
     holoviews
     pandas
   ];
diff --git a/pkgs/development/python-modules/icalendar/default.nix b/pkgs/development/python-modules/icalendar/default.nix
index 48da3da6bc4..1d445f83b08 100644
--- a/pkgs/development/python-modules/icalendar/default.nix
+++ b/pkgs/development/python-modules/icalendar/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.0.3";
+  version = "4.0.4";
   pname = "icalendar";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7";
+    sha256 = "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l";
   };
 
   buildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/ics/default.nix b/pkgs/development/python-modules/ics/default.nix
index 20fb38b187c..b642bdf311e 100644
--- a/pkgs/development/python-modules/ics/default.nix
+++ b/pkgs/development/python-modules/ics/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ics";
   version = "0.6";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "C4ptainCrunch";
@@ -15,9 +16,16 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [ tatsu arrow ];
-  checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ];
 
-  disabled = pythonOlder "3.6";
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "arrow>=0.11,<0.15" "arrow"
+  '';
+
+  checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ];
+  checkPhase = ''
+    pytest
+  '';
 
   meta = with stdenv.lib; {
     description = "Pythonic and easy iCalendar library (RFC 5545)";
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 3b53038321c..e5822349bac 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.4.7";
+  version = "1.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vi9qxgnjgxdk4wj3c5ha3hjmc97j3pw1zh2cg39jprapn4rb4fq";
+    sha256 = "7782115794ec28b011702815d9f5e532244560cd2bf0789c4f09381d43befd90";
   };
 
   # Tests not included in PyPI tarball
diff --git a/pkgs/development/python-modules/imbalanced-learn/0.4.nix b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
index c1ff24711e8..e7d2c2f3714 100644
--- a/pkgs/development/python-modules/imbalanced-learn/0.4.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "imbalanced-learn";
-  version = "0.5.0";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5df760537886678ef9e25f5bad96d194c5fc66f62de84488069acf5d4b0119d5";
+    sha256 = "5bd9e86e40ce4001a57426541d7c79b18143cbd181e3330c1a3e5c5c43287083";
   };
 
   propagatedBuildInputs = [ scikitlearn ];
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index 6de97aff7d3..d8e35d3fcea 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -24,7 +24,8 @@ buildPythonPackage rec {
     # or very large dependencies (keras + tensorflow)
     py.test imblearn -k 'not estimator \
                          and not classification \
-                         and not _generator'
+                         and not _generator \
+                         and not show_versions'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/iniparse/default.nix b/pkgs/development/python-modules/iniparse/default.nix
index e0c2fd765c9..1fdae967a42 100644
--- a/pkgs/development/python-modules/iniparse/default.nix
+++ b/pkgs/development/python-modules/iniparse/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Accessing and Modifying INI files";
-    homepage = http://code.google.com/p/iniparse/;
+    homepage = "https://github.com/candlepin/python-iniparse";
     license = licenses.mit;
     maintainers = with maintainers; [ danbst ];
   };
diff --git a/pkgs/development/python-modules/inotify-simple/default.nix b/pkgs/development/python-modules/inotify-simple/default.nix
index 2d5e9d78094..10c64fa6b3f 100644
--- a/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/pkgs/development/python-modules/inotify-simple/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "inotify-simple";
-  version = "1.1.8";
+  version = "1.2.1";
 
   src = fetchPypi {
     pname = "inotify_simple";
     inherit version;
-    sha256 = "1pfqvnynwh318cakldhg7535kbs02asjsgv6s0ki12i7fgfi0b7w";
+    sha256 = "132craajflksgxxwjawj73nn1ssv8jn58j3k5vvyiq03avbz4sfv";
   };
 
   # The package has no tests
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
index dda0680f537..6b393aea1e7 100644
--- a/pkgs/development/python-modules/internetarchive/default.nix
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -1,17 +1,17 @@
 { buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt
 , requests, jsonpatch, args, schema, responses, backports_csv, isPy3k
-, lib, glibcLocales }:
+, lib, glibcLocales, setuptools }:
 
 buildPythonPackage rec {
   pname = "internetarchive";
-  version = "1.8.1";
+  version = "1.9.0";
 
   # Can't use pypi, data files for tests missing
   src = fetchFromGitHub {
     owner = "jjjake";
     repo = "internetarchive";
     rev = "v${version}";
-    sha256 = "1fdb0kr9hzgyh0l8d02khcjpsgyd63nbablhc49ncdsav3dhhr3f";
+    sha256 = "1h344c04ipzld4s7xk8d84f80samjjlgzvv3y8zsv0n1c895gymb";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +23,9 @@ buildPythonPackage rec {
     jsonpatch
     args
     schema
-  ] ++ lib.optional (!isPy3k) backports_csv;
+    setuptools
+    backports_csv
+  ];
 
   checkInputs = [ pytest responses glibcLocales ];
 
diff --git a/pkgs/development/python-modules/intreehooks/default.nix b/pkgs/development/python-modules/intreehooks/default.nix
new file mode 100644
index 00000000000..be8d3927c9f
--- /dev/null
+++ b/pkgs/development/python-modules/intreehooks/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytoml
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "intreehooks";
+  version = "1.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1";
+  };
+
+  propagatedBuildInputs = [ pytoml ];
+
+  checkInputs = [ pytest ];
+
+  meta = {
+    description = "Load a PEP 517 backend from inside the source tree";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.fridh ];
+    homepage = https://github.com/takluyver/intreehooks;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/ipaddr/default.nix b/pkgs/development/python-modules/ipaddr/default.nix
index 6aecf5959ff..e76aa6ee2a5 100644
--- a/pkgs/development/python-modules/ipaddr/default.nix
+++ b/pkgs/development/python-modules/ipaddr/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Google's IP address manipulation library";
-    homepage = http://code.google.com/p/ipaddr-py/;
+    homepage = "https://github.com/google/ipaddr-py";
     license = licenses.asl20;
   };
 
diff --git a/pkgs/development/python-modules/ipdb/default.nix b/pkgs/development/python-modules/ipdb/default.nix
index 18a2d570497..49b0991f1fd 100644
--- a/pkgs/development/python-modules/ipdb/default.nix
+++ b/pkgs/development/python-modules/ipdb/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipdb";
-  version = "0.12.2";
+  version = "0.12.3";
   disabled = isPyPy;  # setupterm: could not find terminfo database
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mzfv2sa8qabqzh2vqgwhavb15gsmcgqn6i3jgq6b5q9i9wxsgs7";
+    sha256 = "1zbj7xjhkr44grfyv1hb7ff5n1218f9jjabgzica29vh7c74m6jx";
   };
 
   propagatedBuildInputs = [ ipython ];
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index d0ea0b6ac92..f67c5ea941a 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.8.0";
+  version = "7.10.1";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dd76831f065f17bddd7eaa5c781f5ea32de5ef217592cf019e34043b56895aa1";
+    sha256 = "03h3m64k8jq0cc48i34g8xq0r68cx3w7wz721mfhr7k06qdv11pi";
   };
 
   prePatch = lib.optionalString stdenv.isDarwin ''
@@ -57,10 +57,14 @@ buildPythonPackage rec {
     nosetests
   '';
 
-  meta = {
+  pythonImportsCheck = [
+    "IPython"
+  ];
+
+  meta = with lib; {
     description = "IPython: Productive Interactive Computing";
     homepage = http://ipython.org/;
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ bjornfor fridh ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bjornfor fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/itanium_demangler/default.nix b/pkgs/development/python-modules/itanium_demangler/default.nix
new file mode 100644
index 00000000000..c67259eee0f
--- /dev/null
+++ b/pkgs/development/python-modules/itanium_demangler/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "itanium_demangler";
+  version = "1.0"; # pulled from pypi version
+
+  src = fetchFromGitHub {
+    owner = "whitequark";
+    repo = "python-${pname}";
+    rev = "29c77860be48e6dafe3496e4d9d0963ce414e366";
+    sha256 = "0qm95l6542nk63986w9lgzkxg824l31714i584s02rh9xwfg1xfx";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest tests/test.py
+  '';
+
+  meta = with lib; {
+    description = "A pure Python parser for the Itanium C++ ABI symbol mangling language";
+    homepage = "https://github.com/whitequark/python-itanium_demangler";
+    license = licenses.bsd0;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix
index 1d6ce78b685..9b3821edd7a 100644
--- a/pkgs/development/python-modules/jaraco_text/default.nix
+++ b/pkgs/development/python-modules/jaraco_text/default.nix
@@ -1,15 +1,31 @@
-{ buildPythonPackage, fetchPypi, setuptools_scm
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, importlib-resources
 , jaraco_functools
+, setuptools_scm
 }:
 
 buildPythonPackage rec {
   pname = "jaraco.text";
-  version = "3.1";
+  version = "3.2.0";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c7effed0f269e8bdae3374a7545763e84c1e7f9777cf2dd2d49eef92eb0d7b7";
+    sha256 = "1v0hz3h74m31jlbc5bxwkvrx1h2n7887bajrg1n1c3yc4q8qn1z5";
   };
+
+  nativeBuildInputs =[ setuptools_scm ];
+  propagatedBuildInputs = [
+    jaraco_functools
+  ] ++ lib.optional (pythonOlder "3.7") [ importlib-resources ];
+
+  # no tests in pypi package
   doCheck = false;
-  buildInputs =[ setuptools_scm ];
-  propagatedBuildInputs = [ jaraco_functools ];
+
+  meta = with lib; {
+    description = "Module for text manipulation";
+    homepage = "https://github.com/jaraco/jaraco.text";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+
 }
diff --git a/pkgs/development/python-modules/javaproperties/default.nix b/pkgs/development/python-modules/javaproperties/default.nix
new file mode 100644
index 00000000000..a03aa9ec18b
--- /dev/null
+++ b/pkgs/development/python-modules/javaproperties/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, six
+, pytest
+, dateutil
+}:
+
+buildPythonPackage rec {
+  version = "0.5.2";
+  pname = "javaproperties";
+
+  src = fetchFromGitHub {
+    owner = "jwodder";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "14hrp94cjj44yldf3k71wbq88cmlf01dfadi53gcirnsa56ddz5d";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ dateutil pytest ];
+  checkPhase = ''
+    rm tox.ini
+    pytest -k 'not dumps and not time' --ignore=test/test_propclass.py
+  '';
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
index 0155cf665bd..1fbdd510e71 100644
--- a/pkgs/development/python-modules/jdatetime/default.nix
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72f8c72873f9d3f536a696014e4ebffe431a644d7aa95db18c52e086d23b2939";
+    sha256 = "a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 184c86e9268..bc109c560d8 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.0.2";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ggscsyrrqk06w9lb43km77qgcj8cixrrm5mkigr4gz2pzdjhmf";
+    sha256 = "1wcmn01md6hykblk5zz8wd5zizyisspspakz446jg2kqfv4y3q03";
   };
 
   postPatch = ''
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
-    homepage = "https://docs.openstack.org/infra/system-config/jjb.html";
+    homepage = "https://docs.openstack.org/infra/jenkins-job-builder/";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/jenkinsapi/default.nix b/pkgs/development/python-modules/jenkinsapi/default.nix
index 8d8f6b53ceb..bf5877c9f08 100644
--- a/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "jenkinsapi";
-  version = "0.3.10";
+  version = "0.3.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc2fcdf95d954d9bbbdb1303a2c3c32997935655c99aff300f1759dba3cebc6d";
+    sha256 = "a212a244b0a6022a61657746c8120ac9b6db83432371b345154075eb8faceb61";
   };
 
   propagatedBuildInputs = [ pytz requests ];
diff --git a/pkgs/development/python-modules/joblib/default.nix b/pkgs/development/python-modules/joblib/default.nix
index 8881dcf5599..d0c875cfa3b 100644
--- a/pkgs/development/python-modules/joblib/default.nix
+++ b/pkgs/development/python-modules/joblib/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "joblib";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zwkl6hgi8wbygcc6ql6yk1if665hwk43sa9shglb2afrfm5gk3g";
+    sha256 = "0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8";
   };
 
   checkInputs = [ sphinx numpydoc pytest ];
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Lightweight pipelining: using Python functions as pipeline jobs";
-    homepage = https://pythonhosted.org/joblib/;
+    homepage = "https://joblib.readthedocs.io/";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ costrouc ];
   };
diff --git a/pkgs/development/python-modules/json-merge-patch/default.nix b/pkgs/development/python-modules/json-merge-patch/default.nix
new file mode 100644
index 00000000000..b0bc2a835c4
--- /dev/null
+++ b/pkgs/development/python-modules/json-merge-patch/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "json-merge-patch";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09898b6d427c08754e2a97c709cf2dfd7e28bd10c5683a538914975eab778d39";
+  };
+
+  patches = [
+    # This prevented tests from running (was using a relative import)
+    # https://github.com/OpenDataServices/json-merge-patch/pull/1
+   (fetchpatch {
+     name = "fully-qualified-json-merge-patch-import-on-tests";
+     url = https://patch-diff.githubusercontent.com/raw/OpenDataServices/json-merge-patch/pull/1.patch;
+     sha256 = "1k6xsrxsmz03nwcqsf4gf0zsfnl2r20n83npic8z6bqlpl4lidl4";
+   })
+  ];
+
+  meta = with lib; {
+    description = "JSON Merge Patch library";
+    homepage = https://github.com/open-contracting/json-merge-patch;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonlines/default.nix b/pkgs/development/python-modules/jsonlines/default.nix
new file mode 100644
index 00000000000..eec4c6b3846
--- /dev/null
+++ b/pkgs/development/python-modules/jsonlines/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, buildPythonPackage, six
+, flake8, pep8-naming, pytest, pytestcov, pytestpep8 }:
+
+buildPythonPackage rec {
+  pname = "jsonlines";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "wbolster";
+    repo = pname;
+    rev = version;
+    sha256 = "1f8zsqy8p9a41gqg2a5x7sppc5qhhq7gw58id2aigb270yxzs7jw";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ flake8 pep8-naming pytest pytestcov pytestpep8 ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Python library to simplify working with jsonlines and ndjson data";
+    homepage = https://github.com/wbolster/jsonlines;
+    maintainers = with maintainers; [ sondr3 ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index d4bc1dd523d..e18f3bc9b3d 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-async";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "488ab3b63a96c246f7ded14b3458eb13a36e3e16eb4319aa56806476517c7433";
+    sha256 = "383f331e28cd8f6e3fa86f3e7052efa541b7ae8bf328a4e692aa045cfc0ecf25";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
index 35244e092da..a26a040eedd 100644
--- a/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-base";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9baac32aa51c3052d03b86ff30a9856900b8b4a4eb175f7bf2c8722520b8637";
+    sha256 = "7bda99589b4566f5027c2aeae122f409d8ccf4c811b278b8cfb616903871efb2";
   };
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index eff4f41979a..c0c2fe2a8ee 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -1,15 +1,17 @@
 { stdenv, buildPythonPackage, fetchPypi
-, aiohttp, jsonrpc-base }:
+, aiohttp, jsonrpc-base, pep8 }:
 
 buildPythonPackage rec {
   pname = "jsonrpc-websocket";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e74e490fefa3b8f33620fca98f7cd9a53fb765b9ed6f78360482a3f364230885";
+    sha256 = "f1aaca95db795d6a9f7bba52ff83c7fd4139050d0df93ee3a5a448adcfa0c0ac";
   };
 
+  nativeBuildInputs = [ pep8 ];
+
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
index 4697fb0c113..2d017ca1101 100644
--- a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
+++ b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     description = "JSON RPC client library - Pelix compatible fork";
     homepage = https://pypi.python.org/pypi/jsonrpclib-pelix/;
     license = lib.licenses.asl20;
-    maintainers = with maintainers; [ moredread ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/junos-eznc/default.nix b/pkgs/development/python-modules/junos-eznc/default.nix
index 7255ee53860..77b56e01b0c 100644
--- a/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/pkgs/development/python-modules/junos-eznc/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c0f853cdad12256ae8c33a80ff6c31a3ce867c481f805b085d554fbb5b5b084f";
+    sha256 = "0f8c4763fe2281979bc00350b93d510368992dbae0dae4fea0bafee5904a7e68";
   };
 
 
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index 0ee4ea17bc7..44c0a3514f5 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -1,18 +1,14 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, pkgs-docker
+{ stdenv, buildPythonPackage, fetchPypi, pythonAtLeast
 , docker
-, traitlets
-, python-json-logger
 , escapism
 , jinja2
-, ruamel_yaml
+, pkgs-docker
+, python-json-logger
 , pyyaml
-, pytest
-, wheel
-, pytestcov
-, pythonAtLeast
+, ruamel_yaml
+, semver
+, toml
+, traitlets
 }:
 
 buildPythonPackage rec {
@@ -25,12 +21,28 @@ buildPythonPackage rec {
     sha256 = "7965262913be6be60e64c8016f5f3d4bf93701f2787209215859d73b2adbc05a";
   };
 
-  checkInputs = [ pytest pyyaml wheel pytestcov ];
-  propagatedBuildInputs = [ pkgs-docker docker traitlets python-json-logger escapism jinja2 ruamel_yaml ];
+  propagatedBuildInputs = [
+    docker
+    escapism
+    jinja2
+    pkgs-docker
+    python-json-logger
+    ruamel_yaml
+    semver
+    toml
+    traitlets
+  ];
 
   # tests not packaged with pypi release
   doCheck = false;
 
+  pythonImportsCheck = [
+    "repo2docker"
+    "repo2docker.app"
+    "repo2docker.utils"
+    "repo2docker.contentproviders.base"
+  ];
+
   meta = with stdenv.lib; {
     homepage = https://repo2docker.readthedocs.io/en/latest/;
     description = "Repo2docker: Turn code repositories into Jupyter enabled Docker Images";
diff --git a/pkgs/development/python-modules/jupyter_console/5.nix b/pkgs/development/python-modules/jupyter_console/5.nix
index abb162cd518..440f22b1332 100644
--- a/pkgs/development/python-modules/jupyter_console/5.nix
+++ b/pkgs/development/python-modules/jupyter_console/5.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "jupyter_console";
-  version = "6.0.0";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "308ce876354924fb6c540b41d5d6d08acfc946984bf0c97777c1ddcb42e0b2f5";
+    sha256 = "545dedd3aaaa355148093c5609f0229aeb121b4852995c2accfa64fe3e0e55cd";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index db8c5b774e4..520f342cc1d 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -4,17 +4,16 @@
 , jupyterlab_server
 , notebook
 , pythonOlder
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "0.35.6";
+  version = "1.2.3";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2ec845845d51221e39d0d753884a19342c953f39febf3148a68631bf57ecb774";
+    sha256 = "2188a9bcaaf0b6a68ff9098a481f37ece8231634b862fd3c9adedc466aac79f2";
   };
 
   propagatedBuildInputs = [ jupyterlab_server notebook ];
@@ -23,14 +22,6 @@ buildPythonPackage rec {
     "--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "bump-jupyterlab_server-version";
-      url = https://github.com/jupyterlab/jupyterlab/commit/3b8d451e6f9a4c609e60cde5fbb3cc84aae79951.patch;
-      sha256 = "08vv6rp1k5fbmvj4v9x1d9zb6ymm9pv8ml80j7p45r9fay34rndf";
-    })
-  ];
-
   # Depends on npm
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix
index 6d0da2925cc..edfe01728a4 100644
--- a/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -6,6 +6,7 @@
 , pythonOlder
 , requests
 , pytest
+, pyjson5
 }:
 
 buildPythonPackage rec {
@@ -19,7 +20,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ requests pytest ];
-  propagatedBuildInputs = [ notebook jsonschema ];
+  propagatedBuildInputs = [ notebook jsonschema pyjson5 ];
 
   # test_listing test fails
   # this is a new package and not all tests pass
diff --git a/pkgs/development/python-modules/kajiki/default.nix b/pkgs/development/python-modules/kajiki/default.nix
index b1b82f31d76..8643e562fa0 100644
--- a/pkgs/development/python-modules/kajiki/default.nix
+++ b/pkgs/development/python-modules/kajiki/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "Kajiki";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "85202ff7c2ce2466e9da82f06b25d1d6753d411d0e1b3ab3b145ed1e04c46782";
+    sha256 = "bbec46b19285d42769d7c4f5a8a0195b72a62b54cd360a26a8875319d58efef6";
   };
 
   propagatedBuildInputs = [ Babel pytz nine ];
diff --git a/pkgs/development/python-modules/kconfiglib/default.nix b/pkgs/development/python-modules/kconfiglib/default.nix
index c6007bc0b42..ace5b862825 100644
--- a/pkgs/development/python-modules/kconfiglib/default.nix
+++ b/pkgs/development/python-modules/kconfiglib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "kconfiglib";
-  version = "13.1.1";
+  version = "13.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b44af5a6dc0c716926c926ba4c1f301ce286b3a3f292ae359a866eb01dc5260e";
+    sha256 = "045yjmn6xqbyb68l1jqlgi3c8cwlw1krsrlfwrrgjijkmbx6yqmd";
   };
 
   # doesnt work out of the box but might be possible
diff --git a/pkgs/development/python-modules/keepkey_agent/default.nix b/pkgs/development/python-modules/keepkey_agent/default.nix
new file mode 100644
index 00000000000..c2361043e41
--- /dev/null
+++ b/pkgs/development/python-modules/keepkey_agent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, keepkey
+, setuptools
+, libagent
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "keepkey_agent";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27";
+  };
+
+  propagatedBuildInputs = [
+    keepkey libagent setuptools wheel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Using KeepKey as hardware-based SSH/PGP agent";
+    homepage = https://github.com/romanz/trezor-agent;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hkjn np mmahut ];
+  };
+}
diff --git a/pkgs/development/python-modules/keyring/2.nix b/pkgs/development/python-modules/keyring/2.nix
new file mode 100644
index 00000000000..ce4aa145e8e
--- /dev/null
+++ b/pkgs/development/python-modules/keyring/2.nix
@@ -0,0 +1,33 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, dbus-python, setuptools_scm, entrypoints, secretstorage
+, pytest, pytest-flake8 }:
+
+buildPythonPackage rec {
+  pname = "keyring";
+  version = "18.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f58jq58jhfzlhix7x2zz7c4ycdvcs1z3sgs4lkr4xxx680wrmk7";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+
+  checkInputs = [ pytest pytest-flake8 ];
+
+  propagatedBuildInputs = [ dbus-python entrypoints ] ++ stdenv.lib.optional stdenv.isLinux secretstorage;
+
+  doCheck = !stdenv.isDarwin;
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Store and access your passwords safely";
+    homepage    = "https://pypi.python.org/pypi/keyring";
+    license     = licenses.psfl;
+    maintainers = with maintainers; [ lovek323 orivej ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/klaus/default.nix b/pkgs/development/python-modules/klaus/default.nix
index 687798735d3..c9c98cc9701 100644
--- a/pkgs/development/python-modules/klaus/default.nix
+++ b/pkgs/development/python-modules/klaus/default.nix
@@ -2,13 +2,13 @@
 
 python.pkgs.buildPythonPackage rec {
   pname = "klaus";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
     repo = pname;
     rev = version;
-    sha256 = "041l5dpymi9h0yyr55r6m0skp0m2ags3miay0s1bgfcp469k0l20";
+    sha256 = "0pagyqfcj47ghd9m7b32hvi17hbl19f0wallkz6ncvmvvy919lfz";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/kmapper/default.nix b/pkgs/development/python-modules/kmapper/default.nix
index 3904473f1a3..67b9343ecca 100644
--- a/pkgs/development/python-modules/kmapper/default.nix
+++ b/pkgs/development/python-modules/kmapper/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python implementation of Mapper algorithm for Topological Data Analysis";
-    homepage = http://kepler-mapper.scikit-tda.org;
+    homepage = https://kepler-mapper.scikit-tda.org/;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/kombu/default.nix b/pkgs/development/python-modules/kombu/default.nix
index a159b6c7e08..5caab5a377e 100644
--- a/pkgs/development/python-modules/kombu/default.nix
+++ b/pkgs/development/python-modules/kombu/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "4.6.5";
+  version = "4.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c9078124ce2616b29cf6607f0ac3db894c59154252dee6392cdbbe15e5c4b566";
+    sha256 = "67b32ccb6fea030f8799f8fd50dd08e03a4b99464ebc4952d71d8747b1a52ad1";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark-parser/default.nix
index abd3a491b20..38e51ac0ac6 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark-parser/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "1b0dvvqqasir8dfpqj4jch7wxxk43csbv0wa80fiqsdlymxxj2dj";
+    sha256 = "0gd5c3scpyir3h8clhwb5jsf8dkmh1vh7rx8135lkx9fxx01q0az";
   };
 
   # tests of Nearley support require js2py
diff --git a/pkgs/development/python-modules/lazr/config.nix b/pkgs/development/python-modules/lazr/config.nix
index 759c9689bc9..d8a895c8357 100644
--- a/pkgs/development/python-modules/lazr/config.nix
+++ b/pkgs/development/python-modules/lazr/config.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "lazr.config";
-  version = "2.2.1";
+  version = "2.2.2";
 
   propagatedBuildInputs = [ lazr_delegates ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
+    sha256 = "cdb9a70dac4a76ca1ff3528d9eafe5414c6c69c1b92e7e84d3477ae85f6bb787";
   };
 }
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
index e0381642715..f174aa1066c 100644
--- a/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd135b8d35dfdcdb984828c84d695937e58cc5f49e1c854eb311c4d6aa03f4f1";
+    sha256 = "f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/ledger_agent/default.nix b/pkgs/development/python-modules/ledger_agent/default.nix
new file mode 100644
index 00000000000..4aaecf6bc76
--- /dev/null
+++ b/pkgs/development/python-modules/ledger_agent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, ledgerblue
+, setuptools
+, libagent
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "ledger_agent";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92";
+  };
+
+  propagatedBuildInputs = [
+    ledgerblue libagent setuptools wheel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Using Ledger as hardware-based SSH/PGP agent";
+    homepage = https://github.com/romanz/trezor-agent;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ hkjn np mmahut ];
+  };
+}
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index 51c5b80a6ac..8d50f9846cc 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.29";
+  version = "0.1.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14zv8bp62r1fwrrpbwyg9a3s5dl76lbhd8lv16xim0w55p9vvixn";
+    sha256 = "f1fc7ab685780309a7220c6ee517d88072cc594a9615bcc18e68ed5f149fa432";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix
index 495fb42c302..97fd448f183 100644
--- a/pkgs/development/python-modules/libarcus/default.nix
+++ b/pkgs/development/python-modules/libarcus/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "libarcus";
-  version = "4.3.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libArcus";
     rev = version;
-    sha256 = "1x06daijxbrqj0dlxmi2zn7ap74zf6hih3krmkwhvarm2nr052g4";
+    sha256 = "16m7m6ak5fqw3djn4azwiamkizcc1dv7brv11kv99n3b43zzgn6d";
   };
 
   disabled = pythonOlder "3.4.0";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   buildInputs = [ protobuf ];
 
   postPatch = ''
-    sed -i 's#''${Python3_SITELIB}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
+    sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 734a51c7be6..381c3a2731a 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1spjkw5nxhbawblj5db8izff05kjw425iyydipajb7qh73vm25r0";
+    sha256 = "fcc165f2cc2db9a379c6d3a17b3beb9081bb64ba5c0bf7bbb58da864810092f0";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix
index 6e878a851bb..8920fecf3da 100644
--- a/pkgs/development/python-modules/librosa/default.nix
+++ b/pkgs/development/python-modules/librosa/default.nix
@@ -8,6 +8,7 @@
 , decorator
 , audioread
 , resampy
+, soundfile
 }:
 
 buildPythonPackage rec {
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     sha256 = "cca58a2d9a47e35be63a3ce36482d241453bfe9b14bde2005430f969bd7d013a";
   };
 
-  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy ];
+  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy soundfile ];
 
   # No tests
   doCheck = false;
diff --git a/pkgs/development/python-modules/libsavitar/default.nix b/pkgs/development/python-modules/libsavitar/default.nix
index 7ec89c569dd..b43468bdf9c 100644
--- a/pkgs/development/python-modules/libsavitar/default.nix
+++ b/pkgs/development/python-modules/libsavitar/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "libsavitar";
-  version = "4.3.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
deleted file mode 100644
index 78e0dae2634..00000000000
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, glib, python }:
-
-buildPythonPackage rec {
-  pname = "libsexy";
-  version = "0.1.9";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://releases.chipx86.com/libsexy/sexy-python/sexy-python-${version}.tar.gz";
-    sha256 = "05bgcsxwkp63rlr8wg6znd46cfbhrzc5wh70jabsi654pxxjb39d";
-  };
-
-  nativeBuildInputs = [ pkgconfig pygtk ];
-
-  propagatedBuildInputs = [
-    pygtk libsexy glib pango libxml2
-  ];
-
-  postInstall = ''
-    ln -s $out/${python.sitePackages}/gtk-2.0/* $out/${python.sitePackages}
-  '';
-
-  meta = {
-    description = "Python libsexy bindings";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index 177949fbd51..e934c519428 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "1.0";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "v${version}";
-    sha256 = "15dk3j5sr8iypzqqa8wa12b2a84f6ssbfvam1c1vzz00y2y5v3ic";
+    sha256 = "0bbd7d90z58p9sd01b00g0vfd9bmwzksjb7pc8833s2jpja9mxz1";
   };
   postPatch = "patchShebangs ./configure";
 
diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix
index 2b9843e303d..0a711b31d1a 100644
--- a/pkgs/development/python-modules/lightgbm/default.nix
+++ b/pkgs/development/python-modules/lightgbm/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "lightgbm";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "37225b9f816ea3365ff5988fc8a3717e46ac99a5f223986c86c86cec4f111b54";
+    sha256 = "bd1817be401e74c0d8b049e97ea2f35d2ce155cfa130119ce4195ea207bd6388";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lightparam/default.nix b/pkgs/development/python-modules/lightparam/default.nix
new file mode 100644
index 00000000000..6681b528b8c
--- /dev/null
+++ b/pkgs/development/python-modules/lightparam/default.nix
@@ -0,0 +1,28 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "lightparam";
+  version = "0.3.7";
+  disabled = !isPy3k;
+  format = "wheel";
+
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    python = "py3";
+    sha256 = "53d5d5b225bac27bc14929c9ad4e51ece4f692813dd367f317fb1586145d93f1";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/lightparam";
+    description = "Another attempt at parameters in Python";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
index 24dd7e91abc..9bcc95ddc30 100644
--- a/pkgs/development/python-modules/limnoria/default.nix
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2019.09.08";
+  version = "2019.11.09";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0l50smy3hai6pb6lwvcgzrx6yfzshqlvx8ym5my1ji07ilnasmmp";
+    sha256 = "1ni25jmri0928jj2c24xw5f2fzljjla54zh80fimks1aa5752j29";
   };
 
   patchPhase = ''
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A modified version of Supybot, an IRC bot";
-    homepage = http://supybot.fr.cr;
+    homepage = "https://github.com/ProgVal/Limnoria";
     license = licenses.bsd3;
     maintainers = with maintainers; [ goibhniu ];
   };
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
index a316edaf80a..fb8f74d7219 100644
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ b/pkgs/development/python-modules/livestreamer/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
       services and pipes them into a video player of choice.
     '';
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/logilab/common.nix b/pkgs/development/python-modules/logilab/common.nix
index 2dd997765cf..99ff8d45e6a 100644
--- a/pkgs/development/python-modules/logilab/common.nix
+++ b/pkgs/development/python-modules/logilab/common.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "logilab-common";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zw8bijlcmqrigsqvzj7gwh3qbd33dmpi9ij6h56b41x0dpm957d";
+    sha256 = "8c1bf26431a3b487940cd4a7c0eefde328f5ff7098222ee695805752dae94aa6";
   };
 
   propagatedBuildInputs = [ unittest2 six ];
diff --git a/pkgs/development/python-modules/logutils/default.nix b/pkgs/development/python-modules/logutils/default.nix
index ce48978d677..8b4cb4e69c5 100644
--- a/pkgs/development/python-modules/logutils/default.nix
+++ b/pkgs/development/python-modules/logutils/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Logging utilities";
-    homepage = http://code.google.com/p/logutils/;
+    homepage = "https://bitbucket.org/vinay.sajip/logutils/";
     license = licenses.bsd0;
   };
 
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index f2cc1663041..db3bf692556 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.4.1";
+  version = "4.4.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1hkl3bhbwiwwfb57nq9lr24rkp782ymfvqrdf9x1wifc79ivlbxw";
+    sha256 = "0h4axgcghshcvh1nn39l64xxhylglm3b00hh2rbi1ifvly5mx24f";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index cd9781dbc88..56e1de49f20 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,7 +1,9 @@
 { stdenv
+, lib
 , fetchpatch
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , swig2
 , openssl
 , typing
@@ -28,7 +30,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ swig2 ];
   buildInputs = [ swig2 openssl ];
 
-  propagatedBuildInputs = [ typing ];
+  propagatedBuildInputs = lib.optional (pythonOlder "3.5") typing;
 
   preConfigure = ''
     substituteInPlace setup.py --replace "self.openssl = '/usr'" "self.openssl = '${openssl.dev}'"
diff --git a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
index 0f3e793b1d5..e2662e7e5dd 100644
--- a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
@@ -12,6 +12,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ six attrs twisted pyopenssl service-identity autobahn ];
   checkInputs = [ treq mock ];
 
+  checkPhase = ''
+    trial wormhole_mailbox_server
+  '';
+
   meta = with stdenv.lib; {
     description = "Securely transfer data between computers";
     homepage = https://github.com/warner/magic-wormhole-mailbox-server;
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index 532eeca07df..557d3f157ed 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -18,6 +18,7 @@
 , mock
 , magic-wormhole-transit-relay
 , magic-wormhole-mailbox-server
+, isPy27
 }:
 
 buildPythonPackage rec {
@@ -55,6 +56,9 @@ buildPythonPackage rec {
     description = "Securely transfer data between computers";
     homepage = https://github.com/warner/magic-wormhole;
     license = licenses.mit;
+    # Currently broken on Python 2.7. See
+    # https://github.com/NixOS/nixpkgs/issues/71826
+    broken = isPy27;
     maintainers = with maintainers; [ asymmetric ];
   };
 }
diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix
index 101468da09f..dc18f5ac405 100644
--- a/pkgs/development/python-modules/mahotas/default.nix
+++ b/pkgs/development/python-modules/mahotas/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Computer vision package based on numpy";
-    homepage = http://mahotas.readthedocs.io/;
+    homepage = https://mahotas.readthedocs.io/;
     maintainers = with maintainers; [ luispedro ];
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/development/python-modules/mapbox/default.nix b/pkgs/development/python-modules/mapbox/default.nix
new file mode 100644
index 00000000000..1eec58919d5
--- /dev/null
+++ b/pkgs/development/python-modules/mapbox/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, boto3
+, cachecontrol
+, fetchFromGitHub
+, iso3166
+, python-dateutil
+, requests
+, responses
+, polyline
+, pytestCheckHook
+, uritemplate
+}:
+
+buildPythonPackage rec {
+  pname = "mapbox";
+  version = "0.18.0";
+
+  src = fetchFromGitHub {
+    owner = "mapbox";
+    repo = "mapbox-sdk-py";
+    rev = "0.18.0";
+    sha256 = "123wsa4j11ps5pkjgylbmw4gnzh2vi22swgmvy50w26glkszh075";
+  };
+
+  propagatedBuildInputs = [ boto3 cachecontrol iso3166 python-dateutil requests polyline uritemplate ];
+  checkInputs = [ pytestCheckHook responses ];
+
+  meta = with lib; {
+    homepage = https://github.com/mapbox/mapbox-sdk-py;
+    license = licenses.mit;
+    description = "Mapbox SDK for Python";
+    longDescription = "Low-level client API for Mapbox web services.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
index 19ec1ddb5c5..21bbf12868c 100644
--- a/pkgs/development/python-modules/marionette-harness/mozdevice.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "mozdevice";
-  version = "3.0.5";
+  version = "3.0.6";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gpz0y81407pk71p9yzf15kqqk10fcansw8a607488d11m1jn3yf";
+    sha256 = "4cbeb4558f952cb08f53c4b57a405981b5683f38df0b293f0e7d20b6f4c17d84";
     format = "wheel";
   };
 
diff --git a/pkgs/development/python-modules/marshmallow-enum/default.nix b/pkgs/development/python-modules/marshmallow-enum/default.nix
new file mode 100644
index 00000000000..9d68e66c91a
--- /dev/null
+++ b/pkgs/development/python-modules/marshmallow-enum/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, marshmallow
+, pytestCheckHook
+, isPy27
+, enum34
+, pytest-flake8
+}:
+
+buildPythonPackage rec {
+  pname = "marshmallow-enum";
+  version = "1.5.1";
+
+  src = fetchFromGitHub {
+    owner = "justanr";
+    repo = "marshmallow_enum";
+    rev = "v${version}";
+    sha256 = "1ihrcmyfjabivg6hc44i59hnw5ijlg1byv3zs1rqxfynp8xr7398";
+  };
+
+  propagatedBuildInputs = [
+    marshmallow
+  ] ++ lib.optionals isPy27 [ enum34 ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-flake8
+  ];
+
+  disabledTests = [
+    "test_custom_error_in_deserialize_by_name"
+    "test_custom_error_in_deserialize_by_value"
+  ];
+
+  meta = with lib; {
+    description = "Enum field for Marshmallow";
+    homepage = https://github.com/justanr/marshmallow_enum;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index 0ab947ec254..5b07fe24441 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "3.2.1";
+  version = "3.2.2";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a2f3e8ea5f530a9664e882d7d04b58650f46190178b2264c72b7d20399d28f0";
+    sha256 = "1a358beb89c2b4d5555272065a9533591a3eb02f1b854f3c4002d88d8f2a1ddb";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix
index 5a45b02a240..8ea530489e2 100644
--- a/pkgs/development/python-modules/matplotlib/2.nix
+++ b/pkgs/development/python-modules/matplotlib/2.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchPypi, python, buildPythonPackage, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection, functools32, subprocess32
 , fetchpatch
 , enableGhostscript ? false, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -14,7 +13,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -45,7 +43,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ]
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index ab03149e72d..44d2bf67247 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchPypi, python, buildPythonPackage, isPy3k, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection
 , enableGhostscript ? true, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -13,7 +12,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -22,14 +20,14 @@ assert enableTk -> (tcl != null)
 assert enableQt -> pyqt5 != null;
 
 buildPythonPackage rec {
-  version = "3.1.1";
+  version = "3.1.2";
   pname = "matplotlib";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93";
+    sha256 = "8e8e2c2fe3d873108735c6ee9884e6f36f467df4a143136209cff303b183bada";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
@@ -46,7 +44,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt5 ];
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
new file mode 100644
index 00000000000..9f5a086f2ee
--- /dev/null
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -0,0 +1,50 @@
+{ lib, buildPythonPackage, fetchFromGitHub, git,
+  attrs, future, peewee, h11, h2, atomicwrites, pycryptodome, sphinx, Logbook, jsonschema,
+  python-olm, unpaddedbase64, aiohttp, cachetools }:
+
+buildPythonPackage rec {
+  pname = "nio";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "poljar";
+    repo = "matrix-nio";
+    rev = version;
+    sha256 = "0pq5i6ks3pck2kq9m4p3pw9hbvkzs27xkyv68mjnfc6chp2g2mg9";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'python-olm>=3.1.0' ""
+  '';
+
+  nativeBuildInputs = [
+    git
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    future
+    peewee
+    h11
+    h2
+    atomicwrites
+    pycryptodome
+    sphinx
+    Logbook
+    jsonschema
+    python-olm
+    unpaddedbase64
+    aiohttp
+    cachetools
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Python Matrix client library, designed according to sans I/O principles";
+    homepage = "https://github.com/poljar/matrix-nio";
+    license = licenses.isc;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/development/python-modules/measurement/default.nix b/pkgs/development/python-modules/measurement/default.nix
new file mode 100644
index 00000000000..b342086d655
--- /dev/null
+++ b/pkgs/development/python-modules/measurement/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchPypi, buildPythonPackage, pbr, six, sympy }:
+
+buildPythonPackage rec {
+  pname = "measurement";
+  version = "2.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "36ca385ffdccf140a75a7e1d816a4df97a6dd255f16fd2f53dd7ab43632a8835";
+  };
+
+  propagatedBuildInputs = [ pbr six sympy ];
+
+  meta = with lib; {
+    description = "Use and manipulate unit-aware measurement objects in Python";
+    homepage = https://github.com/coddingtonbear/python-measurement;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/pkgs/development/python-modules/mechanize/default.nix b/pkgs/development/python-modules/mechanize/default.nix
index 882872d47e1..9669bcc30e7 100644
--- a/pkgs/development/python-modules/mechanize/default.nix
+++ b/pkgs/development/python-modules/mechanize/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gyxkwjnabqf8xxnkj787xh2dpcnm858g369fnahdcz1wn5hdmyp";
+    sha256 = "9fff89e973bdf1aee75a351bd4dde53ca51a7e76944ddeae3ea3b6ad6c46045c";
   };
 
   propagatedBuildInputs = [ html5lib ];
diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix
index 31892d12a1f..f1291a14f3f 100644
--- a/pkgs/development/python-modules/meinheld/default.nix
+++ b/pkgs/development/python-modules/meinheld/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "High performance asynchronous Python WSGI Web Server";
-    homepage = http://meinheld.org/;
+    homepage = https://meinheld.org/;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/mesa/default.nix b/pkgs/development/python-modules/mesa/default.nix
index cab480f84fd..f8fc43808fb 100644
--- a/pkgs/development/python-modules/mesa/default.nix
+++ b/pkgs/development/python-modules/mesa/default.nix
@@ -4,7 +4,8 @@
 
 buildPythonPackage rec {
   pname = "mesa";
-  version = "0.8.6";
+  # contains several fixes for networkx 2.4 bump
+  version = "unstable-2019-12-09";
 
   # According to their docs, this library is for Python 3+.
   disabled = isPy27;
@@ -12,8 +13,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "projectmesa";
     repo = "mesa";
-    rev = "v${version}";
-    sha256 = "0d8c636zhswxd91ldlmdxxlyym2fj3bk1iqmpc1jp3hg7vvc7w03";
+    rev = "86b343b42630e94d939029ff2cc609ff04ed40e9";
+    sha256 = "1y41s1vd89vcsm4aia18ayfff4w2af98lwn5l9fcwp157li985vw";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/mesonpep517/default.nix b/pkgs/development/python-modules/mesonpep517/default.nix
new file mode 100644
index 00000000000..ec63526070a
--- /dev/null
+++ b/pkgs/development/python-modules/mesonpep517/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, meson
+, ninja
+, intreehooks
+, pytoml
+, pythonOlder
+}:
+
+# TODO: offer meson as a Python package so we have dist-info folder.
+
+buildPythonPackage rec {
+  pname = "mesonpep517";
+  version = "0.1.9999994";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b5bcca61024164c4a51d29e6921ea1f756d54197c8f052e4c66a2b8399aa9349";
+  };
+
+  nativeBuildInputs = [ intreehooks  ];
+
+  propagatedBuildInputs = [ pytoml ];
+
+  # postPatch = ''
+  #   # Meson tries to detect ninja as well, so we should patch meson as well.
+  #   substituteInPlace mesonpep517/buildapi.py \
+  #     --replace "'meson'" "'${meson}/bin/meson'" \
+  #     --replace "'ninja'" "'${ninja}/bin/ninja'"
+  # '';
+
+  propagatedNativeBuildInputs = [ meson ninja ];
+
+  meta = {
+    description = "Create pep517 compliant packages from the meson build system";
+    homepage = https://gitlab.com/thiblahute/mesonpep517;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/micawber/default.nix b/pkgs/development/python-modules/micawber/default.nix
index b5fd1d33458..003234c2adf 100644
--- a/pkgs/development/python-modules/micawber/default.nix
+++ b/pkgs/development/python-modules/micawber/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ beautifulsoup4 ];
 
   meta = with stdenv.lib; {
-    homepage = http://micawber.readthedocs.io/en/latest/;
+    homepage = https://micawber.readthedocs.io/en/latest/;
     description = "A small library for extracting rich content from urls";
     license = licenses.mit;
     longDescription = ''
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index 623a191bbb8..61567d851e9 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "5.0.1";
+  version = "5.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f7ba1ca0750dfca3302cb03b14a92bf5f1c755ff84f9ba268079bf582e0f735";
+    sha256 = "a5886b3ccb9b46cb4a322a486e06674d1f287b773f20b24cdc3de8450ff935a7";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mnist/default.nix b/pkgs/development/python-modules/mnist/default.nix
new file mode 100644
index 00000000000..022cd3a2e02
--- /dev/null
+++ b/pkgs/development/python-modules/mnist/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage, fetchFromGitHub, isPy27, lib, mock, numpy, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "mnist";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "datapythonista";
+    repo = "mnist";
+    rev = "${pname}-${version}";
+    sha256 = "17r37pbxiv5dw857bmg990x836gq6sgww069w3q5jjg9m3xdm7dh";
+  };
+
+  propagatedBuildInputs = [ numpy ] ++ lib.optional isPy27 mock;
+
+  checkInputs = [ pytestCheckHook ];
+
+  dontUseSetuptoolsCheck = true;
+
+  # disable tests which fail due to socket related errors
+  disabledTests = [
+    "test_test_images_has_right_size"
+    "test_test_labels_has_right_size"
+    "test_train_images_has_right_size"
+    "test_train_labels_has_right_size"
+  ];
+
+  meta = with lib; {
+    description = "Python utilities to download and parse the MNIST dataset";
+    homepage = "https://github.com/datapythonista/mnist";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dmrauh ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix
index 87b6fbeabdc..6978bee000a 100644
--- a/pkgs/development/python-modules/mock/default.nix
+++ b/pkgs/development/python-modules/mock/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
-, unittest2
+, isPy27
 , funcsigs
 , six
 , pbr
@@ -17,8 +17,7 @@ buildPythonPackage rec {
     sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3";
   };
 
-  buildInputs = [ unittest2 ];
-  propagatedBuildInputs = [ funcsigs six pbr ];
+  propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ];
 
   # On PyPy for Python 2.7 in particular, Mock's tests have a known failure.
   # Mock upstream has a decoration to disable the failing test and make
@@ -30,10 +29,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Mock objects for Python";
     homepage = http://python-mock.sourceforge.net/;
-    license = stdenv.lib.licenses.bsd2;
+    license = licenses.bsd2;
   };
 
 }
diff --git a/pkgs/development/python-modules/moderngl/default.nix b/pkgs/development/python-modules/moderngl/default.nix
index a45a24b7a2a..5802b33041f 100644
--- a/pkgs/development/python-modules/moderngl/default.nix
+++ b/pkgs/development/python-modules/moderngl/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "moderngl";
-  version = "5.5.3";
+  version = "5.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k2yf2yglzx65gcv2bqql6w6lmgyp3f1jz4ddq9vylf09a8j7fga";
+    sha256 = "08badabb6a1bbc9aa9e65fae8ecd3275d8342cb45d9c457b19e32b3312a8b663";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mongoengine/default.nix b/pkgs/development/python-modules/mongoengine/default.nix
new file mode 100644
index 00000000000..db20d9442ef
--- /dev/null
+++ b/pkgs/development/python-modules/mongoengine/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pymongo
+, six
+, blinker
+, nose
+, pillow
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "mongoengine";
+  version = "0.18.2";
+
+  src = fetchFromGitHub {
+    owner = "MongoEngine";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gx091h9rcykdj233srrl3dfc0ly52p6r4qc9ah6z0f694kmqj1v";
+  };
+
+  propagatedBuildInputs = [
+    pymongo
+    six
+  ];
+
+  checkInputs = [
+    nose
+    pillow
+    coverage
+    blinker
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "coverage==4.2" "coverage"
+  '';
+
+  # tests require mongodb running in background
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MongoEngine is a Python Object-Document Mapper for working with MongoDB";
+    homepage = http://mongoengine.org/;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/monkeyhex/default.nix b/pkgs/development/python-modules/monkeyhex/default.nix
new file mode 100644
index 00000000000..715665f1b1b
--- /dev/null
+++ b/pkgs/development/python-modules/monkeyhex/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchPypi
+, future
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "monkeyhex";
+  version = "1.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5ba913df664c34f3ce53916c83872fddf750adc78a0b0ecdd316ac3e728bb019";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  # No tests in repo.
+  doCheck = false;
+
+  # Verify import still works.
+  pythonImportsCheck = [ "monkeyhex" ];
+
+  meta = with lib; {
+    description = "A small library to assist users of the python shell who work in contexts where printed numbers are more usefully viewed in hexadecimal";
+    homepage = "https://github.com/rhelmot/monkeyhex";
+    license = licenses.mit;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
index 677cb68ca50..361be1bf184 100644
--- a/pkgs/development/python-modules/monty/default.nix
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "1.0.4";
+  version = "3.0.2";
 
   # No tests in Pypi
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vqaaz0dw0ypl6sfwbycpb0qs3ap04c4ghbggklxih66spdlggh6";
+    sha256 = "1wxqxp0j7i6czdpr2r1imgmy3qbgn2l7d4za2h1lg3hllvx6jra1";
   };
 
   checkInputs = [ lsof nose numpy msgpack coverage coveralls pymongo];
diff --git a/pkgs/development/python-modules/mox/default.nix b/pkgs/development/python-modules/mox/default.nix
index d9b5a5aa111..3537d936bb6 100644
--- a/pkgs/development/python-modules/mox/default.nix
+++ b/pkgs/development/python-modules/mox/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/pymox/;
+    homepage = "https://pymox.readthedocs.io/";
     description = "A mock object framework for Python";
     license = licenses.asl20;
   };
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index e2028d9332b..c16c4719a34 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "mpi4py";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q28xl36difma1wq0acq111cqxjya32kn3lxp6fbidz3wg8jkmpq";
+    sha256 = "012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f";
   };
 
   passthru = {
@@ -46,7 +46,7 @@ buildPythonPackage rec {
   meta = {
     description =
       "Python bindings for the Message Passing Interface standard";
-    homepage = http://code.google.com/p/mpi4py/;
+    homepage = "https://bitbucket.org/mpi4py/mpi4py/";
     license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/mpmath/default.nix b/pkgs/development/python-modules/mpmath/default.nix
index 9da56cad881..1cbb8b04130 100644
--- a/pkgs/development/python-modules/mpmath/default.nix
+++ b/pkgs/development/python-modules/mpmath/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage    = http://mpmath.googlecode.com;
+    homepage    = "http://mpmath.org/";
     description = "A pure-Python library for multiprecision floating arithmetic";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ lovek323 ];
diff --git a/pkgs/development/python-modules/mps-youtube/default.nix b/pkgs/development/python-modules/mps-youtube/default.nix
index 39ad7c47215..753a0d24d0a 100644
--- a/pkgs/development/python-modules/mps-youtube/default.nix
+++ b/pkgs/development/python-modules/mps-youtube/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Terminal based YouTube player and downloader";
-    homepage = https://github.com/np1/mps-youtube;
+    homepage = "https://github.com/mps-youtube/mps-youtube";
     license = licenses.gpl3;
     maintainers = with maintainers; [ odi ];
   };
diff --git a/pkgs/development/python-modules/mpv/default.nix b/pkgs/development/python-modules/mpv/default.nix
index f5ae020c71c..a74150f971b 100644
--- a/pkgs/development/python-modules/mpv/default.nix
+++ b/pkgs/development/python-modules/mpv/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "mpv";
-  version = "0.3.9";
+  version = "0.4.5";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jaseg";
     repo = "python-mpv";
     rev = "v${version}";
-    sha256 = "112kr9wppcyy3shsb7v7kq0s1pdw6vw3v2fvqicm7qb2f49y2p4q";
+    sha256 = "1y80c2k4s42lzvm5dz8wi186i7rsn1vs1wn30hp6v6vs62fb91fi";
   };
 
   buildInputs = [ mpv ];
diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix
index ede8e0801df..70fa6f361ca 100644
--- a/pkgs/development/python-modules/msrest/default.nix
+++ b/pkgs/development/python-modules/msrest/default.nix
@@ -18,7 +18,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.9";
+  version = "0.6.10";
   pname = "msrest";
 
   # no tests in PyPI tarball
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Azure";
     repo = "msrest-for-python";
     rev = "v${version}";
-    sha256 = "0540dmxz90jsmwvd4q06cr1ficixknjk8q06f2dqcp06w92vnl8r";
+    sha256 = "1l08daq748lk8rwiv4jdlnmfl9mi7g1ln46gibhnd9xvrrjp0sdx";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix
index 0ef06cd8fb1..a820dd89f51 100644
--- a/pkgs/development/python-modules/msrestazure/default.nix
+++ b/pkgs/development/python-modules/msrestazure/default.nix
@@ -12,7 +12,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.1";
+  version = "0.6.2";
   pname = "msrestazure";
 
   # Pypi tarball doesnt include tests
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Azure";
     repo = "msrestazure-for-python";
     rev = "v${version}";
-    sha256 = "09swndz57131b8x57mzibnsr1sv0l80pk62p89q99gsd6mvc389c";
+    sha256 = "09qwdg4la4jwp5ibypdwsn7h8m2sh8c1kdxvffyxcjan50h14s04";
   };
 
   propagatedBuildInputs = [ adal msrest ];
diff --git a/pkgs/development/python-modules/musicbrainzngs/default.nix b/pkgs/development/python-modules/musicbrainzngs/default.nix
index 0f18163883e..71bdcc8b547 100644
--- a/pkgs/development/python-modules/musicbrainzngs/default.nix
+++ b/pkgs/development/python-modules/musicbrainzngs/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://alastair/python-musicbrainz-ngs;
+    homepage = "https://python-musicbrainzngs.readthedocs.org/";
     description = "Python bindings for musicbrainz NGS webservice";
     license = licenses.bsd2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/pkgs/development/python-modules/mwoauth/default.nix b/pkgs/development/python-modules/mwoauth/default.nix
index d643e71f258..778a081992c 100644
--- a/pkgs/development/python-modules/mwoauth/default.nix
+++ b/pkgs/development/python-modules/mwoauth/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "mwoauth";
-  version = "0.3.5";
+  version = "0.3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7e4c56561a280e14ca4cc20b79ba4a9dd4ec752ff4c797cf29dad4460fb7832";
+    sha256 = "9e0d70a1fa6f452584de1cb853ae6c11f41233549f7839cfb879f99410f6ad46";
   };
 
   # package has no tests
diff --git a/pkgs/development/python-modules/myfitnesspal/default.nix b/pkgs/development/python-modules/myfitnesspal/default.nix
new file mode 100644
index 00000000000..570d0c3e749
--- /dev/null
+++ b/pkgs/development/python-modules/myfitnesspal/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchPypi, buildPythonPackage
+, blessed, keyring, keyrings-alt, lxml, measurement, python-dateutil, requests, six
+, mock, nose }:
+
+buildPythonPackage rec {
+  pname = "myfitnesspal";
+  version = "1.13.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "552cc696e170f12f75fd12b1447be01fa2d0bfd85e14da5928afd9aab2277b98";
+  };
+
+  # Remove overly restrictive version constraints on keyring and keyrings.alt
+  postPatch = ''
+    sed -i 's/keyring>=.*/keyring/' requirements.txt
+    sed -i 's/keyrings.alt>=.*/keyrings.alt/' requirements.txt
+  '';
+
+  checkInputs = [ mock nose ];
+  propagatedBuildInputs = [ blessed keyring keyrings-alt lxml measurement python-dateutil requests six ];
+
+  meta = with lib; {
+    description = "Access your meal tracking data stored in MyFitnessPal programatically";
+    homepage = https://github.com/coddingtonbear/python-myfitnesspal;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 6c64580b2cf..b2731f5bb62 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -5,20 +5,27 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.740";
-
-  # Tests not included in pip package.
-  doCheck = false;
+  version = "0.750";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d";
+    sha256 = "0k0l74g3jcq7ppzn234sffsaacn6qaq242famckk0cviwgld1jvf";
   };
 
-  disabled = !isPy3k;
-
   propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ];
 
+  # Tests not included in pip package.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "mypy"
+    "mypy.types"
+    "mypy.api"
+    "mypy.fastparse"
+    "mypy.report"
+  ];
+
   meta = with stdenv.lib; {
     description = "Optional static typing for Python";
     homepage    = "http://www.mypy-lang.org";
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
index b37f191286e..72bf06893ed 100644
--- a/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "mysqlclient";
-  version = "1.4.4";
+  version = "1.4.6";
 
   nativeBuildInputs = [
     libmysqlclient
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1379hab7spjp9v5fypqgy0b8vr8vnalxahm9hcsxvj2xbb2pqwww";
+    sha256 = "f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/namebench/default.nix b/pkgs/development/python-modules/namebench/default.nix
index a930f250d80..44b590bae2c 100644
--- a/pkgs/development/python-modules/namebench/default.nix
+++ b/pkgs/development/python-modules/namebench/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   disabled = isPy3k || isPyPy;
 
   src = fetchurl {
-    url = "http://namebench.googlecode.com/files/${pname}-${version}-source.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/{pname}/${pname}-${version}-source.tgz";
     sha256 = "09clbcd6wxgk4r6qw7hb78h818mvca7lijigy1mlq5y1f3lgkk1h";
   };
 
@@ -28,15 +28,14 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://namebench.googlecode.com/;
+    homepage = "https://github.com/google/namebench"; # Formerly https://code.google.com/archive/p/namebench/
     description = "Find fastest DNS servers available";
     license = with licenses; [
       asl20
       # third-party program licenses (embedded in the sources)
-      "LGPL" # Crystal_Clear
-      free # dns
-      asl20 # graphy
-      "BSD" # jinja2
+      lgpl21 # Crystal_Clear
+      isc # dns
+      bsd3 # jinja2
     ];
     longDescription = ''
       It hunts down the fastest DNS servers available for your computer to
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 965d3df0e91..b0357c16165 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "5.6.0";
+  version = "5.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695";
+    sha256 = "21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523";
   };
 
   checkInputs = [ nose pytest glibcLocales ];
diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix
index 25605a21727..f641c017384 100644
--- a/pkgs/development/python-modules/nbdime/default.nix
+++ b/pkgs/development/python-modules/nbdime/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "nbdime";
-  version = "1.0.6";
+  version = "1.1.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00nywb69kp9i0wl5mczgwqc5db8v70ihr9cjbwqppd2jkx4vf34j";
+    sha256 = "0qfy7nmlg75vryvrlgd6p0rqrvcclq8n9kd0n4xv5959s9sjy0w0";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix
index 07038cb26e1..788a8f73ab8 100644
--- a/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09j47hmzgvf7rnz7n4n7295pp6qscq9hp50qva70vglzqck9yyjp";
+    sha256 = "03g0mqbgk143cq3l3r42js2iy5l6iyvpckpqip4p468rlzrddyhn";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix
index 02e2a1b472a..58d88e8dbf8 100644
--- a/pkgs/development/python-modules/ncclient/default.nix
+++ b/pkgs/development/python-modules/ncclient/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://ncclient.org/;
+    homepage = "https://github.com/ncclient/ncclient";
     description = "Python library for NETCONF clients";
     license = licenses.asl20;
     maintainers = with maintainers; [ xnaveira ];
diff --git a/pkgs/development/python-modules/nest-asyncio/default.nix b/pkgs/development/python-modules/nest-asyncio/default.nix
index 3dec538c6d3..a88c07c9968 100644
--- a/pkgs/development/python-modules/nest-asyncio/default.nix
+++ b/pkgs/development/python-modules/nest-asyncio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.2.0";
+  version = "1.2.1";
   pname = "nest_asyncio";
   disabled = !(pythonAtLeast "3.5");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f5b22dd23ee6195cea509c344d9ec34274f45bff078d8f18e9dc322dc74c6008";
+    sha256 = "7d4d7c1ca2aad0e5c2706d0222c8ff006805abfd05caa97e6127c8811d0f6adc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/neurotools/default.nix b/pkgs/development/python-modules/neurotools/default.nix
deleted file mode 100644
index b117d7a79a3..00000000000
--- a/pkgs/development/python-modules/neurotools/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k
-, scipy, numpy, matplotlib, tables, pyaml, urllib3, rpy2, mpi4py }:
-
-buildPythonPackage rec {
-  pname = "NeuroTools";
-  version = "0.3.1";
-  disabled = isPy3k;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ly6qa87l3afhksab06vp1iimlbm1kdnsw98mxcnpzz9q07l4nd4";
-  };
-
-  # Tests are not automatically run
-  # Many tests fail (using py.test), and some need R
-  doCheck = false;
-
-  propagatedBuildInputs = [
-    scipy
-    numpy
-    matplotlib
-    tables
-    pyaml
-    urllib3
-    rpy2
-    mpi4py
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Collection of tools to support analysis of neural activity";
-    homepage = https://pypi.python.org/pypi/NeuroTools;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ nico202 ];
-  };
-}
diff --git a/pkgs/development/python-modules/nevow/default.nix b/pkgs/development/python-modules/nevow/default.nix
index fa11ab3fb90..74b8f7e29da 100644
--- a/pkgs/development/python-modules/nevow/default.nix
+++ b/pkgs/development/python-modules/nevow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, twisted }:
+{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, isPy3k, twisted }:
 
 buildPythonPackage rec {
   pname = "Nevow";
@@ -10,6 +10,14 @@ buildPythonPackage rec {
     sha256 = "2299a0d2a0c1312040705599d5d571acfea74df82b968c0b9264f6f45266cf6e";
   };
 
+  patches = [
+    # Fix builds against recent Twisted.
+    (fetchpatch {
+      url = "https://github.com/twisted/nevow/commit/f1b366f1a73009b6a1df12fa6f4dc464c564c944.patch";
+      sha256 = "147fibcbqh715in8cbkp7jlkh4b3qvn95v1mv9si0ln1747wbby2";
+    })
+  ];
+
   propagatedBuildInputs = [ twisted ];
 
   checkInputs = [ twisted ];
diff --git a/pkgs/development/python-modules/nidaqmx/default.nix b/pkgs/development/python-modules/nidaqmx/default.nix
new file mode 100644
index 00000000000..937e6c1c91b
--- /dev/null
+++ b/pkgs/development/python-modules/nidaqmx/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, numpy
+, pytestCheckHook
+, pykka
+, enum34
+, pythonOlder
+}:
+
+# Note we currently do not patch the path to the drivers
+# because those are not available in Nixpkgs.
+# https://github.com/NixOS/nixpkgs/pull/74980
+
+buildPythonPackage rec {
+  pname = "nidaqmx";
+  version = src.rev;
+
+  src = fetchFromGitHub {
+    owner = "ni";
+    repo = "nidaqmx-python";
+    rev = "0.5.7";
+    sha256 = "19m9p99qvdmvvqbwmqrqm6b50x7czgrj07gdsxbbgw04shf5bhrs";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    six
+  ] ++ lib.optionals (pythonOlder "3.4") [
+    enum34
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pykka
+  ];
+
+  dontUseSetuptoolsCheck = true;
+
+  # Older pytest is needed
+  # https://github.com/ni/nidaqmx-python/issues/80
+  # Fixture "x_series_device" called directly. Fixtures are not meant to be called directly
+  doCheck = false;
+
+  pythonCheckImports = [
+    "nidaqmx.task"
+  ];
+
+  meta = {
+    description = "API for interacting with the NI-DAQmx driver";
+    license = [ lib.licenses.mit ];
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
index 4d80a0638c7..13c35999cf9 100644
--- a/pkgs/development/python-modules/nipype/default.nix
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -6,6 +6,8 @@
 , click
 , configparser ? null
 , dateutil
+, etelemetry
+, filelock
 , funcsigs
 , future
 , futures
@@ -14,6 +16,7 @@
 , nibabel
 , numpy
 , packaging
+, pathlib2
 , prov
 , psutil
 , pybids
@@ -60,6 +63,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     click
     dateutil
+    etelemetry
+    filelock
     funcsigs
     future
     networkx
@@ -77,6 +82,7 @@ buildPythonPackage rec {
   ] ++ stdenv.lib.optional (!isPy3k) [
     configparser
     futures
+    pathlib2 # darwin doesn't receive this transitively, but it is in install_requires
   ];
 
   checkInputs = [
@@ -91,6 +97,8 @@ buildPythonPackage rec {
     which
   ];
 
+  # checks on darwin inspect memory which doesn't work in build environment
+  doCheck = !stdenv.isDarwin;
   # ignore tests which incorrect fail to detect xvfb
   checkPhase = ''
     LC_ALL="en_US.UTF-8" pytest -v nipype -k 'not display'
diff --git a/pkgs/development/python-modules/nipype/neurdflib.nix b/pkgs/development/python-modules/nipype/neurdflib.nix
index 3042f715687..33526bebd55 100644
--- a/pkgs/development/python-modules/nipype/neurdflib.nix
+++ b/pkgs/development/python-modules/nipype/neurdflib.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "neurdflib";
-  version = "5.0.0.post1";
+  version = "5.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qgmprixqxycxpjk9wjdmjykma14qqa2wcbx4nsldxi0ga7i7vv5";
+    sha256 = "d34493cee15029ff5db16157429585ff863ba5542675a4d8a94a0da1bc6e3a50";
   };
 
   propagatedBuildInputs = [ isodate html5lib SPARQLWrapper ];
diff --git a/pkgs/development/python-modules/nose-exclude/default.nix b/pkgs/development/python-modules/nose-exclude/default.nix
index 7eb6b6cc047..7f679e545e7 100644
--- a/pkgs/development/python-modules/nose-exclude/default.nix
+++ b/pkgs/development/python-modules/nose-exclude/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , nose
@@ -15,10 +16,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ nose ];
 
+  # "OSError: AF_UNIX path too long" for darwin
+  doCheck = !stdenv.isDarwin;
+
   meta = {
     license = lib.licenses.lgpl21;
     description = "Exclude specific directories from nosetests runs";
     homepage = https://github.com/kgrandis/nose-exclude;
     maintainers = with lib.maintainers; [ fridh ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index d196b6a6947..3c174288b82 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -25,12 +25,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.0.1";
+  version = "6.0.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "660976fe4fe45c7aa55e04bf4bccb9f9566749ff637e9020af3422f9921f9a5d";
+    sha256 = "399a4411e171170173344761e7fd4491a3625659881f76ce47c50231ed714d9b";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix
index 6be1f39328f..ba6dbced66e 100644
--- a/pkgs/development/python-modules/nuitka/default.nix
+++ b/pkgs/development/python-modules/nuitka/default.nix
@@ -46,7 +46,7 @@ in buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python compiler with full language support and CPython compatibility";
     license = licenses.asl20;
-    homepage = http://nuitka.net/;
+    homepage = https://nuitka.net/;
   };
 
 }
diff --git a/pkgs/development/python-modules/numcodecs/default.nix b/pkgs/development/python-modules/numcodecs/default.nix
index f2ce5248b55..9725f131111 100644
--- a/pkgs/development/python-modules/numcodecs/default.nix
+++ b/pkgs/development/python-modules/numcodecs/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "numcodecs";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "086qwlyi01rpgyyyy8bmhh9i7hpksyz33ldci3wdwmhiblyl362y";
+    sha256 = "ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/numericalunits/default.nix b/pkgs/development/python-modules/numericalunits/default.nix
index 41b4c1a8f31..3f041ef698e 100644
--- a/pkgs/development/python-modules/numericalunits/default.nix
+++ b/pkgs/development/python-modules/numericalunits/default.nix
@@ -1,19 +1,19 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy3k
 }:
 
 buildPythonPackage rec {
-  version = "1.23";
+  version = "1.24";
   pname = "numericalunits";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q1jrzxx0k7j82c5q061hd10mp965ra8813vb09ji326fbxzn2gy";
+    sha256 = "0wn7kqp0rxqr6gnqhdn8pc0wy359krzan0kbika6hfvb0c1rw1hs";
   };
 
-  # no tests
-  doCheck = false;
+  disabled = !isPy3k;
 
   meta = with stdenv.lib; {
     homepage = http://pypi.python.org/pypi/numericalunits;
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index f5ce093cb49..61f85773949 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -16,12 +16,12 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.17.3";
+  version = "1.17.4";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e";
+    sha256 = "f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316";
   };
 
   nativeBuildInputs = [ gfortran pytest ];
@@ -66,7 +66,7 @@ in buildPythonPackage rec {
 
   meta = {
     description = "Scientific tools for Python";
-    homepage = http://numpy.scipy.org/;
+    homepage = https://numpy.org/;
     maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index f21624acf14..641db7008f8 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl, pytest-httpbin }:
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "1.4.4";
+  version = "1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6276ed2a897a30ccd71bfd7cf9e6b7842f37f3d5a86d7a70fe46f437c62b1875";
+    sha256 = "0973f7c3ea5ad65fb19837e8915882a9f2c2f21f5c2589005478697391fea2fd";
   };
 
   propagatedBuildInputs = [ setuptools structlog tornado pycurl ];
-  checkInputs = [ pytest pytest-asyncio flaky ];
-
-  # requires network access
-  doCheck = false;
+  checkInputs = [ pytest pytest-asyncio flaky pytest-httpbin ];
 
+  # disable `test_ubuntupkg` because it requires network
   checkPhase = ''
-    py.test
+    py.test -m "not needs_net" --ignore=tests/test_ubuntupkg.py
   '';
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/oauth/default.nix b/pkgs/development/python-modules/oauth/default.nix
index a8e5c8bf53d..f4a8e3a62c2 100644
--- a/pkgs/development/python-modules/oauth/default.nix
+++ b/pkgs/development/python-modules/oauth/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/oauth;
+    homepage = https://code.google.com/archive/p/oauth/;
     description = "Library for OAuth version 1.0a";
     license = licenses.mit;
   };
diff --git a/pkgs/development/python-modules/odo/default.nix b/pkgs/development/python-modules/odo/default.nix
index 6e82119faa5..6c19bf0a0fd 100644
--- a/pkgs/development/python-modules/odo/default.nix
+++ b/pkgs/development/python-modules/odo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "odo";
-  version= "unstable-2019-07-16";
+  version= "unstable-2018-09-21";
 
   src = fetchFromGitHub {
     owner = "blaze";
@@ -54,5 +54,6 @@ buildPythonPackage rec {
     description = "Data migration utilities";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ fridh costrouc ];
+    broken = true; # no longer compatible with dask>=2.0
   };
 }
diff --git a/pkgs/development/python-modules/openpyxl/2.nix b/pkgs/development/python-modules/openpyxl/2.nix
new file mode 100644
index 00000000000..d58192c0666
--- /dev/null
+++ b/pkgs/development/python-modules/openpyxl/2.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, jdcal
+, et_xmlfile
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "openpyxl";
+  version = "2.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d53801678e18d7fe38c116f1ad0c2383a654670c4c8806105b611c92d92f2e3";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ jdcal et_xmlfile lxml ];
+
+  postPatch = ''
+    # LICENSE.rst is missing, and setup.cfg currently doesn't contain anything useful anyway
+    # This should likely be removed in the next update
+    rm setup.cfg
+  '';
+
+  # Tests are not included in archive.
+  # https://bitbucket.org/openpyxl/openpyxl/issues/610
+  doCheck = false;
+
+  meta = {
+    description = "A Python library to read/write Excel 2007 xlsx/xlsm files";
+    homepage = https://openpyxl.readthedocs.org;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ lihop sjourdois ];
+  };
+}
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index c2075fe4f8e..a3f74f00093 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "3.0.0";
+  version = "3.0.2";
   disabled = isPy27; # 2.6.4 was final python2 release
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "340a1ab2069764559b9d58027a43a24db18db0e25deb80f81ecb8ca7ee5253db";
+    sha256 = "eb68c08a72ac6d9812df181e88ebece3a68436364353eb6eda3bed863e3d73a6";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/opentimestamps/default.nix b/pkgs/development/python-modules/opentimestamps/default.nix
index 01f5595fea1..f9394efe398 100644
--- a/pkgs/development/python-modules/opentimestamps/default.nix
+++ b/pkgs/development/python-modules/opentimestamps/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "opentimestamps";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = (!isPy3k);
 
   # We can't use the pypi source because it doesn't include README.md which is
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "opentimestamps";
     repo = "python-opentimestamps";
     rev = "python-opentimestamps-v${version}";
-    sha256 = "165rj08hwmbn44ra9n0cj5vfn6p49dqfn5lz2mks962mx19c7l0m";
+    sha256 = "0c45ij8absfgwizq6dfgg81siq3y8605sgg184vazp292w8nqmqr";
   };
 
   # Remove a failing test which expects the test source file to reside in the
diff --git a/pkgs/development/python-modules/opt-einsum/2.nix b/pkgs/development/python-modules/opt-einsum/2.nix
index 11da1ba1ea5..41c4df89f4f 100644
--- a/pkgs/development/python-modules/opt-einsum/2.nix
+++ b/pkgs/development/python-modules/opt-einsum/2.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
-    homepage = http://optimized-einsum.readthedocs.io;
+    homepage = "https://optimized-einsum.readthedocs.io";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ teh ];
   };
diff --git a/pkgs/development/python-modules/opt-einsum/default.nix b/pkgs/development/python-modules/opt-einsum/default.nix
index 064c0adb134..1d8c9d9531a 100644
--- a/pkgs/development/python-modules/opt-einsum/default.nix
+++ b/pkgs/development/python-modules/opt-einsum/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
-    homepage = http://optimized-einsum.readthedocs.io;
+    homepage = https://github.com/dgasmith/opt_einsum;
     license = licenses.mit;
     maintainers = with maintainers; [ teh ];
   };
diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix
index def8ecb8458..c9ce8324b18 100644
--- a/pkgs/development/python-modules/osc/default.nix
+++ b/pkgs/development/python-modules/osc/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, buildPythonPackage , fetchFromGitHub
-, bashInteractive , urlgrabber, m2crypto
-}:
+{ stdenv, buildPythonPackage , fetchFromGitHub , bashInteractive , urlgrabber, m2crypto, rpm }:
 
 buildPythonPackage rec {
   pname = "osc";
-  version = "0.165.4";
+  version = "0.167.1";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "osc";
     rev = version;
-    sha256 = "1f8q65wlgchzwzarwrv6a0p60gw0ykpf4d5s7cks835hyawgcbyl";
+    sha256 = "0f3c6mzvk9yjicwfdh47j4s2l1wrfgpa6lmqdchasdqfsacps4r6";
   };
 
   buildInputs = [ bashInteractive ]; # needed for bash-completion helper
+  checkInputs = [ rpm ];
   propagatedBuildInputs = [ urlgrabber m2crypto ];
 
-  doCheck = false;
-
   postInstall = ''
     ln -s $out/bin/osc-wrapper.py $out/bin/osc
     install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
@@ -32,6 +29,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
+    homepage = "https://github.com/openSUSE/osc";
     description = "opensuse-commander with svn like handling";
     maintainers = [ maintainers.peti ];
     license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/ovh/default.nix b/pkgs/development/python-modules/ovh/default.nix
index 017f75d991c..22e82141cdc 100644
--- a/pkgs/development/python-modules/ovh/default.nix
+++ b/pkgs/development/python-modules/ovh/default.nix
@@ -17,8 +17,8 @@ buildPythonPackage rec {
 
   meta = {
     description = "Thin wrapper around OVH's APIs";
-    homepage = http://api.ovh.com/;
+    homepage = https://github.com/ovh/python-ovh;
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.makefu ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix
index 7921b0a7a14..1e79a764147 100644
--- a/pkgs/development/python-modules/owslib/default.nix
+++ b/pkgs/development/python-modules/owslib/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi, dateutil, requests, pytz, pyproj , pytest } :
 buildPythonPackage rec {
   pname = "OWSLib";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "018p2ypmpbbcgl0hp92s0vig1wirh41lj0wy62aafn5050pmqr7m";
+    sha256 = "0rdhymayyc6w1izlv1bf2wgx2dfxbp4k1vll5s1364isw60rjj8x";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pafy/default.nix b/pkgs/development/python-modules/pafy/default.nix
index 75a16f5c53b..53218146557 100644
--- a/pkgs/development/python-modules/pafy/default.nix
+++ b/pkgs/development/python-modules/pafy/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, youtube-dl, fetchPypi }:
 buildPythonPackage rec {
   pname = "pafy";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e842dc589a339a870b5869cc3802f2e95824edf347f65128223cd5ebdff21024";
+    sha256 = "364f1d1312c89582d97dc7225cf6858cde27cb11dfd64a9c2bab1a2f32133b1e";
   };
 
   # No tests included in archive
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A library to download YouTube content and retrieve metadata";
-    homepage = http://np1.github.io/pafy/;
+    homepage = https://github.com/mps-youtube/pafy;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ odi ];
   };
diff --git a/pkgs/development/python-modules/pandas/2.nix b/pkgs/development/python-modules/pandas/2.nix
index 0ea27b04dcb..e4f65a94dc5 100644
--- a/pkgs/development/python-modules/pandas/2.nix
+++ b/pkgs/development/python-modules/pandas/2.nix
@@ -32,11 +32,11 @@ let
 
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.25.2";
+  version = "0.24.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca91a19d1f0a280874a24dca44aadce42da7f3a7edb7e9ab7c7baad8febee2be";
+    sha256 = "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag";
   };
 
   checkInputs = [ pytest glibcLocales moto hypothesis ];
@@ -113,7 +113,7 @@ in buildPythonPackage rec {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = http://pandas.pydata.org/;
+    homepage = "https://pandas.pydata.org/";
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ raskin knedlsepp ];
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index b3dcec637fe..65ab5881df9 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -30,11 +30,11 @@ let
 
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.25.2";
+  version = "0.25.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca91a19d1f0a280874a24dca44aadce42da7f3a7edb7e9ab7c7baad8febee2be";
+    sha256 = "52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4";
   };
 
   checkInputs = [ pytest glibcLocales moto hypothesis ];
@@ -111,7 +111,7 @@ in buildPythonPackage rec {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = http://pandas.pydata.org/;
+    homepage = https://pandas.pydata.org/;
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 99575715d94..aefab404668 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A high level dashboarding library for python visualization libraries";
-    homepage = http://pyviz.org;
+    homepage = https://pyviz.org;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
new file mode 100644
index 00000000000..ffe0fbc5da5
--- /dev/null
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ansiwrap
+, click
+, future
+, pyyaml
+, nbformat
+, nbconvert
+, six
+, tqdm
+, jupyter_client
+, requests
+, entrypoints
+, tenacity
+, futures
+, backports_tempfile
+, isPy27
+, pytest
+, pytestcov
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "papermill";
+  version = "1.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04dadaabdeb129c7414079f77b9f9a4a08f1322549aa99e20e4a12700ee23509";
+  };
+
+  propagatedBuildInputs = [
+    ansiwrap
+    click
+    future
+    pyyaml
+    nbformat
+    nbconvert
+    six
+    tqdm
+    jupyter_client
+    requests
+    entrypoints
+    tenacity
+  ] ++ lib.optionals isPy27 [
+    futures
+    backports_tempfile
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pytest-mock
+  ];
+
+  checkPhase = ''
+    HOME=$(mktemp -d) pytest
+  '';
+
+  # the test suite depends on cloud resources azure/aws
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Parametrize and run Jupyter and nteract Notebooks";
+    homepage = https://github.com/nteract/papermill;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index a2fd5118b3e..f770fecd5e5 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -3,7 +3,7 @@
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , pylibgen, click, python-slugify, habanero, isbnlib
 , prompt_toolkit, pygments, stevedore, tqdm, lxml
-, python-doi, isPy3k
+, python-doi, isPy3k, pythonOlder
 #, optional, dependencies
 , whoosh, pytest
 , stdenv
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "papis";
   version = "0.9";
+  disabled = !isPy3k;
 
   # Missing tests on Pypi
   src = fetchFromGitHub {
@@ -32,9 +33,14 @@ buildPythonPackage rec {
     whoosh
   ];
 
-  disabled = !isPy3k;
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "lxml<=4.3.5" "lxml~=4.3" \
+      --replace "python-slugify>=1.2.6,<4" "python-slugify"
+  '';
 
-  doCheck = !stdenv.isDarwin;
+  # pytest seems to hang with python3.8
+  doCheck = !stdenv.isDarwin && pythonOlder "3.8";
 
   checkInputs = ([
     pytest
diff --git a/pkgs/development/python-modules/parameterized/default.nix b/pkgs/development/python-modules/parameterized/default.nix
index b930b8dcd17..f5dd38cc743 100644
--- a/pkgs/development/python-modules/parameterized/default.nix
+++ b/pkgs/development/python-modules/parameterized/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "parameterized";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8c8837fb677ed2d5a93b9e2308ce0da3aeb58cf513120d501e0b7af14da78d5";
+    sha256 = "6a94dbea30c6abde99fd4c2f2042c1bf7f980e48908bf92ead62394f93cf57ed";
   };
 
   # Tests require some python3-isms but code works without.
diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix
index 6f82c446a1f..e49ad50d91f 100644
--- a/pkgs/development/python-modules/passlib/default.nix
+++ b/pkgs/development/python-modules/passlib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "passlib";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0";
+    sha256 = "8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index a03975e1b39..310d16026a9 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8";
+    sha256 = "139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b";
   };
 
   # circular dependencies with fixtures
diff --git a/pkgs/development/python-modules/pcpp/default.nix b/pkgs/development/python-modules/pcpp/default.nix
new file mode 100644
index 00000000000..1c032ea62b4
--- /dev/null
+++ b/pkgs/development/python-modules/pcpp/default.nix
@@ -0,0 +1,24 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, stdenv
+}:
+
+buildPythonPackage rec {
+  pname = "pcpp";
+  version = "1.21";
+
+  src = fetchFromGitHub {
+    owner = "ned14";
+    repo = "pcpp";
+    rev = "v${version}";
+    sha256 = "0k52qyxzdngdhyn4sya2qn1w1a4ll0mcla4h4gb1v91fk4lw25dm";
+    fetchSubmodules = true;
+  };
+ 
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ned14/pcpp;
+    description = "A C99 preprocessor written in pure Python";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ rakesh4g ];
+ };
+}
diff --git a/pkgs/development/python-modules/pdf2image/default.nix b/pkgs/development/python-modules/pdf2image/default.nix
index 1fbddca8cc4..41009a4b7a2 100644
--- a/pkgs/development/python-modules/pdf2image/default.nix
+++ b/pkgs/development/python-modules/pdf2image/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pdf2image";
-  version = "1.9.0";
+  version = "1.10.0";
 
   propagatedBuildInputs = [ pillow poppler_utils ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "186g36dcfv83iranyd8gqw2zinhpcvmq86zd7sbsn237gcqk43rn";
+    sha256 = "0bpprn5wcz414pqpvwjpd5cc0838shkw2cfvrwfiilhr09bhxbhb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pdfminer_six/default.nix b/pkgs/development/python-modules/pdfminer_six/default.nix
index 57023e786f0..5f3cc06b5af 100644
--- a/pkgs/development/python-modules/pdfminer_six/default.nix
+++ b/pkgs/development/python-modules/pdfminer_six/default.nix
@@ -1,28 +1,30 @@
-{ stdenv, buildPythonPackage, python, fetchFromGitHub, six, pycryptodome, chardet, nose, pytest, sortedcontainers }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, six, pycryptodome, chardet, nose, sortedcontainers }:
 
 buildPythonPackage rec {
   pname = "pdfminer_six";
-  version = "20181108";
+  version = "20191020";
 
+  # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "pdfminer";
     repo = "pdfminer.six";
     rev = version;
-    sha256 = "1v8pcx43fgidv1g54s92k85anvcss08blkhm4yi1hn1ybl0mmw6c";
+    sha256 = "1fqn4ilcscvw6ws9a1yqiprha9d3rgw3d0280clkbk6s4l26wm9h";
   };
 
-  propagatedBuildInputs = [ six pycryptodome chardet sortedcontainers ];
+  propagatedBuildInputs = [ six pycryptodome sortedcontainers ]
+    ++ stdenv.lib.optionals isPy3k [ chardet ];
 
-  checkInputs = [ nose pytest ];
+  checkInputs = [ nose ];
   checkPhase = ''
-    ${python.interpreter} -m pytest
+    nosetests
   '';
 
   meta = with stdenv.lib; {
     description = "fork of PDFMiner using six for Python 2+3 compatibility";
     homepage = https://github.com/pdfminer/pdfminer.six;
     license = licenses.mit;
-    maintainers = with maintainers; [ psyanticy ];
+    maintainers = with maintainers; [ psyanticy marsam ];
   };
 }
 
diff --git a/pkgs/development/python-modules/pefile/default.nix b/pkgs/development/python-modules/pefile/default.nix
new file mode 100644
index 00000000000..92a0d064f49
--- /dev/null
+++ b/pkgs/development/python-modules/pefile/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, future
+, fetchPypi
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "pefile";
+  version = "2019.4.18";
+
+  propagatedBuildInputs = [ future ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645";
+  };
+
+  # Test data encrypted.
+  doCheck = false;
+
+  # Verify import still works.
+  pythonImportsCheck = [ "pefile" ];
+
+  meta = with lib; {
+    description = "Multi-platform Python module to parse and work with Portable Executable (aka PE) files";
+    homepage = "https://github.com/erocarrera/pefile";
+    license = licenses.mit;
+    maintainers = [ maintainers.pamplemousse ];
+  };
+}
diff --git a/pkgs/development/python-modules/periodictable/default.nix b/pkgs/development/python-modules/periodictable/default.nix
index f2d484bbfa4..c88da3ff07f 100644
--- a/pkgs/development/python-modules/periodictable/default.nix
+++ b/pkgs/development/python-modules/periodictable/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec{
   pname = "periodictable";
-  version = "1.5.1";
+  version = "1.5.2";
 
   propagatedBuildInputs = [numpy pyparsing];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qd7rjhlnb2xxi7rhpidh9pabg2m4rq6zhdcsyiymni8mgjm8dfg";
+    sha256 = "1lx03xirh3hcrzkwrz91dmdzcj01bykq59hccd83ai901jzqmshz";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/persistent/default.nix b/pkgs/development/python-modules/persistent/default.nix
index 88008cd9530..76d5441c048 100644
--- a/pkgs/development/python-modules/persistent/default.nix
+++ b/pkgs/development/python-modules/persistent/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "persistent";
-  version = "4.5.0";
+  version = "4.5.1";
 
   nativeBuildInputs = [ sphinx manuel ];
   propagatedBuildInputs = [ zope_interface cffi ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0slbvq1m3rilgyhj6i522rsyv592xv9pmvm61mrmgkgf40kfnz69";
+    sha256 = "73862779577cb8637f2b68e7edee9a9b95cf33d0b83cb6e762f0f3fc12897aa6";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pgspecial/default.nix b/pkgs/development/python-modules/pgspecial/default.nix
index 5c5f342651b..ccca0dd155e 100644
--- a/pkgs/development/python-modules/pgspecial/default.nix
+++ b/pkgs/development/python-modules/pgspecial/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pgspecial";
-  version = "1.11.7";
+  version = "1.11.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wy1zmd44y0vl0kxx2y53g6lpipmixbwwrg6c2r7rc3nwa0icl7p";
+    sha256 = "77f8651450ccbde7d3036cfe93486a4eeeb5ade28d1ebc4b2ba186fea0023c56";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 288e33e0506..d9b3cb6b172 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.21";
+  version = "8.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "162301aa2ce7c1a7196d7b5b084e3263a0a5f55e3129fe2429f2a115c3ef16c3";
+    sha256 = "1gc38v26hp638vnx4hmyv2gfyjs8k8lbvnlxfixgm60v4v7wykln";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index ad2bae4a45e..8712a8de431 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "1.6.5";
+  version = "1.8.1";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee935eea84fa5fc1879355de38cd47216e5e922553303ee045c35917e13b2fcf";
+    sha256 = "a57a295296820087e66a3c62569d288958f29d1a354701ace6639a7692cc3022";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 2b00da73bf7..0a8d679ae5f 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six, first
+{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six
 , setuptools_scm, git, glibcLocales, mock }:
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5427ea4dcc175649723985fbcace9b2d8f46f9adbcc63bc2d7b247d9bcc74917";
+    sha256 = "0x36mp3a3f3wandfc0g8d53gg2jkc14nhisbryzspcl9f05sbvq6";
   };
 
   LC_ALL = "en_US.UTF-8";
   checkInputs = [ pytest git glibcLocales mock ];
-  propagatedBuildInputs = [ pip click six first setuptools_scm ];
+  propagatedBuildInputs = [ pip click six setuptools_scm ];
 
   disabledTests = stdenv.lib.concatMapStringsSep " and " (s: "not " + s) [
     # Depend on network tests:
@@ -32,12 +32,8 @@ buildPythonPackage rec {
     "test_stdin"
     "test_upgrade_packages_option"
     "test_url_package"
-    # Expect specific version of "six":
     "test_editable_package"
-    "test_input_file_without_extension"
     "test_locally_available_editable_package_is_not_archived_in_cache_dir"
-    "test_no_candidates"
-    "test_no_candidates_pre"
   ];
 
   checkPhase = ''
@@ -50,6 +46,5 @@ buildPythonPackage rec {
     homepage = https://github.com/jazzband/pip-tools/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ zimbatm ];
-    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix
index 8628705ed4d..08ed0c43a22 100644
--- a/pkgs/development/python-modules/pipdate/default.nix
+++ b/pkgs/development/python-modules/pipdate/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pipdate";
-  version = "0.3.2";
+  version = "0.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a27f64d13269adfd8594582f5a62c9f2151b426e701afdfc3b4f4019527b4121";
+    sha256 = "26bd12075e63ef7f8094da36c27bf5539d298f4ef2af6acba20e98b502439d6d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 6c8fc211ae6..93aa5ad144c 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   buildInputs = with pkgs; with xorg; [
     coin3d soqt qt5.qtbase
-    libGLU_combined
+    libGLU libGL
     libXi libXext libSM libICE libX11
   ];
 
diff --git a/pkgs/development/python-modules/plac/default.nix b/pkgs/development/python-modules/plac/default.nix
index 0622e41fa7e..77bcf6cf4fc 100644
--- a/pkgs/development/python-modules/plac/default.nix
+++ b/pkgs/development/python-modules/plac/default.nix
@@ -5,11 +5,11 @@
 }:
 buildPythonPackage rec {
   pname = "plac";
-  version = "1.1.0";
+  version = "1.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10f0blwxn7k2qvd0vs4300jxb8n9r7jhngf9bx9bfxia8akwy5kw";
+    sha256 = "398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pluggy/default.nix b/pkgs/development/python-modules/pluggy/default.nix
index d094a2a26fc..ecb01f252f4 100644
--- a/pkgs/development/python-modules/pluggy/default.nix
+++ b/pkgs/development/python-modules/pluggy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pluggy";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34";
+    sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix
index d31fe236f82..8f1136c4654 100644
--- a/pkgs/development/python-modules/poetry/default.nix
+++ b/pkgs/development/python-modules/poetry/default.nix
@@ -7,6 +7,7 @@
 , pyrsistent
 , pyparsing
 , cachecontrol
+, lockfile
 , pkginfo
 , html5lib
 , shellingham
@@ -59,6 +60,7 @@ in buildPythonPackage rec {
     pyrsistent
     pyparsing
     cachecontrol
+    lockfile
     pkginfo
     html5lib
     shellingham
diff --git a/pkgs/development/python-modules/polyline/default.nix b/pkgs/development/python-modules/polyline/default.nix
new file mode 100644
index 00000000000..6a5df880fd6
--- /dev/null
+++ b/pkgs/development/python-modules/polyline/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, flake8
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "polyline";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x60lm3ccq9zrcqlzyk041xgr1mi0k9lzyyv3cbbdiq9kb88jzvw";
+  };
+
+  propagatedBuildInputs = [ six ];
+  checkInputs = [ flake8 nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/hicsail/polyline;
+    license = licenses.mit;
+    description = "Python implementation of Google's Encoded Polyline Algorithm Format.";
+    longDescription = "polyline is a Python implementation of Google's Encoded Polyline Algorithm Format (http://goo.gl/PvXf8Y). It is essentially a port of https://github.com/mapbox/polyline built with Python 2 and 3 support in mind.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pomegranate/default.nix b/pkgs/development/python-modules/pomegranate/default.nix
index 4493ef51075..5f0c8cd8dad 100644
--- a/pkgs/development/python-modules/pomegranate/default.nix
+++ b/pkgs/development/python-modules/pomegranate/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pomegranate";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "jmschrei";
     rev = "v${version}";
-    sha256 = "19kdzqyj86aldsls68a6ymrs8sasv3a8r4wjmfdmcif1xsg6zb4q";
+    sha256 = "070ciwww1lhjmfwd5n1kcwgxwbgdfvmhjs4l156bnf08z9dlrafl";
   };
 
   propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ];
diff --git a/pkgs/development/python-modules/pony/default.nix b/pkgs/development/python-modules/pony/default.nix
new file mode 100644
index 00000000000..ebda1976e2a
--- /dev/null
+++ b/pkgs/development/python-modules/pony/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, python, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pony";
+  version = "0.7.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05vyvsbcb99vjjs7qpbwy8j4m854w74z8di6zqsv8p9wbm38s06i";
+  };
+
+  doCheck = true;
+
+  # stripping the tests
+  postInstall = ''
+    rm -rf $out/${python.sitePackages}/pony/orm/tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pony is a Python ORM with beautiful query syntax";
+    homepage = "https://ponyorm.org/";
+    maintainers = with maintainers; [ d-goldin xvapx ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index 82be4b8151f..b3b98b2b2ec 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -1,6 +1,7 @@
 { buildPythonPackage
 , fetchPypi
 , lib
+, fetchpatch
 , sphinx
 , flake8
 , pytest
@@ -10,12 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.1";
+  version = "1.5.2";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08d8vm373fbx90wrql2i7025d4ir54sq8ahx6g1pw9h793zqrn0y";
+    sha256 = "17rfgmgwyxyng8q7bvn369cncadqws2wgkg45q6v8337wm9jxins";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/portend/black-19.10b0.patch b/pkgs/development/python-modules/portend/black-19.10b0.patch
new file mode 100644
index 00000000000..e781139e319
--- /dev/null
+++ b/pkgs/development/python-modules/portend/black-19.10b0.patch
@@ -0,0 +1,13 @@
+diff --git a/test_portend.py b/test_portend.py
+index b2de8c2..3f90276 100644
+--- a/test_portend.py
++++ b/test_portend.py
+@@ -21,7 +21,7 @@ def socket_infos():
+ 
+ 
+ def id_for_info(info):
+-    af, = info[:1]
++    (af,) = info[:1]
+     return str(af)
+ 
+ 
\ No newline at end of file
diff --git a/pkgs/development/python-modules/portend/default.nix b/pkgs/development/python-modules/portend/default.nix
index b7d730d6ae0..9cc88983a30 100644
--- a/pkgs/development/python-modules/portend/default.nix
+++ b/pkgs/development/python-modules/portend/default.nix
@@ -10,6 +10,7 @@ buildPythonPackage rec {
     sha256 = "19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9";
   };
 
+  patches = [ ./black-19.10b0.patch ];
   postPatch = ''
     substituteInPlace pytest.ini --replace "--flake8" ""
   '';
diff --git a/pkgs/development/python-modules/poster3/default.nix b/pkgs/development/python-modules/poster3/default.nix
new file mode 100644
index 00000000000..175faa343ca
--- /dev/null
+++ b/pkgs/development/python-modules/poster3/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, paste
+, webob
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  pname = "poster3";
+  version = "0.8.1";
+  format = "wheel"; # only redistributable available
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    python = "py3";
+    sha256 = "1b27d7d63e3191e5d7238631fc828e4493590e94dcea034e386c079d853cce14";
+  };
+
+  checkInputs = [
+    paste
+    webob
+    pyopenssl
+  ];
+
+  meta = with lib; {
+    description = "Streaming HTTP uploads and multipart/form-data encoding";
+    homepage = https://atlee.ca/software/poster/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ WhittlesJr ];
+  };
+}
diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix
new file mode 100644
index 00000000000..38133172ecf
--- /dev/null
+++ b/pkgs/development/python-modules/prance/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, chardet
+, pyyaml
+, requests
+, six
+, semver
+, pytest
+, pytestcov
+, pytestrunner
+, sphinx
+, openapi-spec-validator
+}:
+
+buildPythonPackage rec {
+  pname = "prance";
+  version = "0.15.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "793f96dc8bba73bf4342f57b3570f5e0a94c30e60f0c802a2aaa302759dd8610";
+  };
+
+  buildInputs = [
+    pytestrunner
+  ];
+
+  propagatedBuildInputs = [
+    chardet
+    pyyaml
+    requests
+    six
+    semver
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    openapi-spec-validator
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "tests_require = dev_require," "tests_require = None,"
+  '';
+
+  # many tests require network connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser";
+    homepage = https://github.com/jfinkhaeuser/prance;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/preggy/default.nix b/pkgs/development/python-modules/preggy/default.nix
index b88366de88f..cf2867322f7 100644
--- a/pkgs/development/python-modules/preggy/default.nix
+++ b/pkgs/development/python-modules/preggy/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "preggy";
-  version = "1.4.2";
+  version = "1.4.4";
 
   propagatedBuildInputs = [ six unidecode ];
   checkInputs = [ nose yanc ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g4ifjh01dkmdzs4621ahk8hpkngid1xxhl51jvzy4h4li4590hw";
+    sha256 = "25ba803afde4f35ef543a60915ced2e634926235064df717c3cb3e4e3eb4670c";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/prison/default.nix b/pkgs/development/python-modules/prison/default.nix
new file mode 100644
index 00000000000..4993976b51d
--- /dev/null
+++ b/pkgs/development/python-modules/prison/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "prison";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "betodealmeida";
+    repo = "python-rison";
+    rev = version;
+    sha256 = "14vb468iznf9416z993bbqihywp9ibyslw5vp67wfr200zyxjwak";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  meta = with lib; {
+    description = "Rison encoder/decoder";
+    homepage = https://github.com/betodealmeida/python-rison;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/progressbar2/default.nix b/pkgs/development/python-modules/progressbar2/default.nix
index b9e16f6e457..aa6c9b70926 100644
--- a/pkgs/development/python-modules/progressbar2/default.nix
+++ b/pkgs/development/python-modules/progressbar2/default.nix
@@ -23,11 +23,6 @@ buildPythonPackage rec {
     sha256 = "7538d02045a1fd3aa2b2834bfda463da8755bd3ff050edc6c5ddff3bc616215f";
   };
 
-  postPatch = ''
-    rm -r tests/__pycache__
-    rm tests/*.pyc
-  '';
-
   propagatedBuildInputs = [ python-utils ];
   nativeBuildInputs = [ pytestrunner ];
   checkInputs = [
diff --git a/pkgs/development/python-modules/psd-tools/default.nix b/pkgs/development/python-modules/psd-tools/default.nix
index bdabdae2691..38285b68563 100644
--- a/pkgs/development/python-modules/psd-tools/default.nix
+++ b/pkgs/development/python-modules/psd-tools/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "psd-tools";
-  version = "1.8.30";
+  version = "1.8.32";
 
   meta = {
     description = "Python package for reading Adobe Photoshop PSD files";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "101d7df09f9a745f7729c25a1621428e501910ed6436d639e1aded4b03c14e02";
+    sha256 = "fff16658c9ca6bc586adbe0ab060a7d0b7d057eb2a600c3b2001c0558873fb94";
   };
 
   propagatedBuildInputs = [ docopt pillow ];
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
index 37c19f5c14b..388716cb700 100644
--- a/pkgs/development/python-modules/psutil/default.nix
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.6.3";
+  version = "5.6.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3";
+    sha256 = "ffad8eb2ac614518bbe3c0b8eb9dffdb3a8d2e3a7d5da51c5b974fb723a5c5aa";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/publicsuffix/default.nix b/pkgs/development/python-modules/publicsuffix/default.nix
index 9c90161c6ea..027b017c23e 100644
--- a/pkgs/development/python-modules/publicsuffix/default.nix
+++ b/pkgs/development/python-modules/publicsuffix/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "publicsuffix";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1adx520249z2cy7ykwjr1k190mn2888wqn9jf8qm27ly4qymjxxf";
+    sha256 = "22ce1d65ab6af5e9b2122e2443facdb93fb5c4abf24138099cb10fe7989f43b6";
   };
 
 
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index bcba04fdfd2..789a9484d73 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2019.1";
+  version = "2019.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19imrr17jnkd6fd2w1zzh63z0hcipg5b9v2x4svqm5c08p3cyc5c";
+    sha256 = "1p2qizb35f9lfhklldzrn8g9mwiar3zmpc44463h5n1ln40ymw78";
   };
 
   propagatedBuildInputs = [ pygments urwid ];
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix
index da7ddbc7dcb..72ab1b5c405 100644
--- a/pkgs/development/python-modules/pwntools/default.nix
+++ b/pkgs/development/python-modules/pwntools/default.nix
@@ -5,28 +5,18 @@
 , requests, tox, unicorn, intervaltree, fetchpatch }:
 
 buildPythonPackage rec {
-  version = "3.12.0";
+  version = "4.0.0b0";
   pname = "pwntools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a7yhsyqxb4xf2r6mbn3p5zx1wp89lxq7lj34y4zbin6ns5929s";
+    sha256 = "11f7x7rjad1nawn3r524lzxgz3nk89c6s3xycrscn3n86hh0zgid";
   };
 
   propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pyserial dateutil requests tox unicorn intervaltree ];
 
-  disabled = isPy3k;
   doCheck = false; # no setuptools tests for the package
 
-  # Can be removed when 3.13.0 is released
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/Gallopsled/pwntools/commit/9859f54a21404174dd17efee02f91521a2dd09c5.patch";
-      sha256 = "0p0h87npn1mwsd8ciab7lg74bk3ahlk5r0mjbvx4jhihl2gjc3z2";
-    })
-  ];
-
-
   meta = with stdenv.lib; {
     homepage = "http://pwntools.com";
     description = "CTF framework and exploit development library";
diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix
index 895a06ce558..d09862184c0 100644
--- a/pkgs/development/python-modules/pyGithub/default.nix
+++ b/pkgs/development/python-modules/pyGithub/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "PyGithub";
-  version = "1.44";
+  version = "1.44.1";
 
   src = fetchFromGitHub {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "v${version}";
-    sha256 = "067iyarllgdp40bzjxskzrixvmz350yj1qf8wvbddka504bcbh9r";
+    sha256 = "16ngnnm7xj9bd97pvyddag17dx28c5wi0gjx4ws8c8nrmf5w3iqk";
   };
 
   propagatedBuildInputs = [ python-jose pyjwt requests deprecated httpretty ];
diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix
index f8925cd3b52..e1d61866f90 100644
--- a/pkgs/development/python-modules/pyasn1/default.nix
+++ b/pkgs/development/python-modules/pyasn1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyasn1";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9495356ca1d66ed197a0f72b41eb1823cf7ea8b5bd07191673e8147aecf8604";
+    sha256 = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix
index 56467d1e4a5..795f623ba53 100644
--- a/pkgs/development/python-modules/pyatmo/default.nix
+++ b/pkgs/development/python-modules/pyatmo/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c76740e5adbf8b14d8f41d4f84ce23c0e8e738b18b926dc60858c35bf2fa8f2";
+    sha256 = "b884402c62d589a38444e8f4b3892b18312e8f9442cd8d12e7ec01c698328f54";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index c6c1afdcc95..85140d3db49 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.21";
+  version = "0.3.24";
   pname = "pyaxmlparser";
 
   # the PyPI tarball doesn't ship tests.
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "appknox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bphd2vl9akk78yqvvxcz36wmr47hp3nh6xyrdc8w1avy1aby1ij";
+    sha256 = "0fys26p7xhbnbdzp80zm6n3mragp38p08nyrsnilfgnlpi6rjpg0";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pybase64/default.nix b/pkgs/development/python-modules/pybase64/default.nix
index 544ce1826f3..6c32de593c1 100644
--- a/pkgs/development/python-modules/pybase64/default.nix
+++ b/pkgs/development/python-modules/pybase64/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71a729b10232b38cba001e621dbaa6dbba2302dc44a93706295f1ff760f40876";
+    sha256 = "6ced40531bffc81bafc790d5c0d2f752e281b3b00fd6ff4e79385c625e5dbab1";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pybids/default.nix b/pkgs/development/python-modules/pybids/default.nix
index 38108e6e659..84f5a41c45b 100644
--- a/pkgs/development/python-modules/pybids/default.nix
+++ b/pkgs/development/python-modules/pybids/default.nix
@@ -15,12 +15,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.9.4";
+  version = "0.9.5";
   pname = "pybids";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08abd3573e823e536990caf54405ffef573a88ef9d019c2d94e0be995e21885f";
+    sha256 = "0e8f8466067ff3023f53661c390c02702fcd5fe712bdd5bf167ffb0c2b920430";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 2df360dfaab..0f386a7c42f 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -5,9 +5,10 @@
 , python
 , pytest
 , cmake
-, numpy ? null
-, eigen ? null
-, scipy ? null
+, catch
+, numpy
+, eigen
+, scipy
 }:
 
 buildPythonPackage rec {
@@ -21,23 +22,42 @@ buildPythonPackage rec {
     sha256 = "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd";
   };
 
-  dontUseCmakeConfigure = true;
-
   nativeBuildInputs = [ cmake ];
-  checkInputs = [ pytest ]
-    ++ (lib.optional (numpy != null) numpy)
-    ++ (lib.optional (eigen != null) eigen)
-    ++ (lib.optional (scipy != null) scipy);
-  checkPhase = ''
-    cmake ${if eigen != null then "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3" else ""}
-    make -j $NIX_BUILD_CORES pytest
-  '';
 
-  # re-expose the headers to other packages
-  postInstall = ''
-    ln -s $out/include/python${python.pythonVersion}m/pybind11/ $out/include/pybind11
+  buildInputs = [ catch ];
+
+  cmakeFlags = [
+    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+  ] ++ lib.optionals (!python.isPy2) [
+  # Enable some tests only on Python 3. The "test_string_view" test
+  # 'testTypeError: string_view16_chars(): incompatible function arguments'
+  # fails on Python 2.
+    "-DPYBIND11_CPP_STANDARD=-std=c++17"
+  ];
+
+  dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
+  dontUseSetuptoolsCheck = true;
+
+  preFixup = ''
+    pushd ..
+    export PYBIND11_USE_CMAKE=1
+    setuptoolsBuildPhase
+    pipInstallPhase
+    # Symlink the CMake-installed headers to the location expected by setuptools
+    mkdir -p $out/include/${python.libPrefix}
+    ln -sf $out/include/pybind11 $out/include/${python.libPrefix}/pybind11
+    popd
   '';
 
+  installCheckTarget = "pytest";
+  doInstallCheck = true;
+  checkInputs = [
+    pytest
+    numpy
+    scipy
+  ];
+
   meta = {
     homepage = https://github.com/pybind/pybind11;
     description = "Seamless operability between C++11 and Python";
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index 93be1fe4a03..b17e8a5aa94 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -1,21 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 buildPythonPackage rec {
   pname = "pybullet";
-  version = "2.5.6";
+  version = "2.5.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ffeb00f393dcddc11d195a72623e3b06767a37e4fdfa06ef88fbd74c8d326adb";
+    sha256 = "5824e902e0dd8bf7177ce5d9e038c6b04be65f72621fe13f93ec15c9d9c85a49";
   };
 
   buildInputs = [
-    libGLU_combined
+    libGLU libGL
     xorg.libX11
   ];
 
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index ca6f7284715..c38366894dc 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.18.1";
+  version = "1.18.2";
 
   format = "other";
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "v${version}";
-    sha256 = "0f4l7d1ibkk8xdspyv5zx8fah9z3x775bd91zirnp37vlgqds7xj";
+    sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pycdio/default.nix b/pkgs/development/python-modules/pycdio/default.nix
index f7a64b9bde4..5b1d774c169 100644
--- a/pkgs/development/python-modules/pycdio/default.nix
+++ b/pkgs/development/python-modules/pycdio/default.nix
@@ -4,20 +4,23 @@
 , setuptools
 , nose
 , pkgs
-, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "pycdio";
   version = "2.1.0";
-  disabled = !isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "01b7vqqfry071p60sabydym7r3m3rxszyqpdbs1qi5rk2sfyblnn";
   };
 
-  prePatch = "sed -i -e '/DRIVER_BSDI/d' pycdio.py";
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace 'library_dirs=library_dirs' 'library_dirs=[dir.decode("utf-8") for dir in library_dirs]' \
+      --replace 'include_dirs=include_dirs' 'include_dirs=[dir.decode("utf-8") for dir in include_dirs]' \
+      --replace 'runtime_library_dirs=runtime_lib_dirs' 'runtime_library_dirs=[dir.decode("utf-8") for dir in runtime_lib_dirs]'
+  '';
 
   preConfigure = ''
     patchShebangs .
diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix
index 23ed4917cc5..fd3eb1b4c18 100644
--- a/pkgs/development/python-modules/pycollada/default.nix
+++ b/pkgs/development/python-modules/pycollada/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pycollada";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcd6f38fd981e350f9ec754d9671834017accd600e967d6d299a6cfdae5ba4f4";
+    sha256 = "0b2vz9fp9asw57m3p9zjlz9gddanrhpxbdfimg98ik654kp2vj7r";
   };
 
   propagatedBuildInputs = [ numpy dateutil ];
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index f07b33cf477..17bb7c9dcd0 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage }:
 
 buildPythonPackage rec {
-  version = "3.9.0";
+  version = "3.9.4";
   pname = "pycryptodome";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbeb08ad850056747aa7d5f33273b7ce0b9a77910604a1be7b7a6f2ef076213f";
+    sha256 = "a168e73879619b467072509a223282a02c8047d932a48b74fbd498f27224aa04";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index 1ec636f9f32..bf6ac65fc7f 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.9.0";
+  version = "3.9.4";
 
   meta = {
     description = "A self-contained cryptographic library for Python";
@@ -12,6 +12,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b604f4fa1de456d6d19771b01c2823675a75a2c60e51a6b738f71fdfe865370";
+    sha256 = "22d970cee5c096b9123415e183ae03702b2cd4d3ba3f0ced25c4e1aba3967167";
   };
 }
diff --git a/pkgs/development/python-modules/pydocstyle/2.nix b/pkgs/development/python-modules/pydocstyle/2.nix
new file mode 100644
index 00000000000..a2f2daa2fe9
--- /dev/null
+++ b/pkgs/development/python-modules/pydocstyle/2.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder
+, snowballstemmer, six, configparser
+, pytest, pytestpep8, mock, pathlib }:
+
+buildPythonPackage rec {
+  pname = "pydocstyle";
+  version = "2.1.1";
+
+  # no tests on PyPI
+  # https://github.com/PyCQA/pydocstyle/issues/302
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l";
+  };
+
+  propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser;
+
+  checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib;
+
+  checkPhase = ''
+    # test_integration.py installs packages via pip
+    py.test --pep8 --cache-clear -vv src/tests -k "not test_integration"
+  '';
+
+  meta = with lib; {
+    description = "Python docstring style checker";
+    homepage = https://github.com/PyCQA/pydocstyle/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix
index a2f2daa2fe9..39d9f9f9a23 100644
--- a/pkgs/development/python-modules/pydocstyle/default.nix
+++ b/pkgs/development/python-modules/pydocstyle/default.nix
@@ -1,23 +1,25 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder
-, snowballstemmer, six, configparser
-, pytest, pytestpep8, mock, pathlib }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, mock
+, pytest
+, pytestpep8
+, snowballstemmer
+}:
 
 buildPythonPackage rec {
   pname = "pydocstyle";
-  version = "2.1.1";
+  version = "4.0.1";
+  disabled = !isPy3k;
 
-  # no tests on PyPI
-  # https://github.com/PyCQA/pydocstyle/issues/302
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l";
+    sha256 = "1sr8d2fsfpam4f14v4als6g2v6s3n9h138vxlwhd6slb3ll14y4l";
   };
 
-  propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser;
+  propagatedBuildInputs = [ snowballstemmer ];
 
-  checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib;
+  checkInputs = [ pytest pytestpep8 mock ];
 
   checkPhase = ''
     # test_integration.py installs packages via pip
diff --git a/pkgs/development/python-modules/pydrive/default.nix b/pkgs/development/python-modules/pydrive/default.nix
new file mode 100644
index 00000000000..aa0515323e2
--- /dev/null
+++ b/pkgs/development/python-modules/pydrive/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google_api_python_client
+, oauth2client
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pydrive";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    pname = "PyDrive";
+    inherit version;
+    sha256 = "11q7l94mb34hfh9wkdwfrh5xw99y13wa33ba7xp1q23q4b60v2c3";
+  };
+
+  propagatedBuildInputs = [
+    google_api_python_client
+    oauth2client
+    pyyaml
+  ];
+
+  # requires client_secrets.json
+  doCheck = false;
+
+  meta = {
+    description = "Google Drive API Python wrapper library";
+    homepage = "https://github.com/gsuitedevs/PyDrive";
+    license = lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/pyfaidx/default.nix b/pkgs/development/python-modules/pyfaidx/default.nix
index 26c36e70d0c..eb0b573c438 100644
--- a/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/pkgs/development/python-modules/pyfaidx/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.5.5.2";
+  version = "0.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1akc8hk8rlw7sv07bv1n2r471acvmxwc57gb69frjpcwggf2phls";
+    sha256 = "512c409b36eadfe39c40e46112d8f96b29fdc1032dc424da2bdc783d476f5b0a";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pyftdi/default.nix b/pkgs/development/python-modules/pyftdi/default.nix
index ecb36313f34..09cb17098dd 100644
--- a/pkgs/development/python-modules/pyftdi/default.nix
+++ b/pkgs/development/python-modules/pyftdi/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pyftdi";
-  version = "0.30.3";
+  version = "0.42.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed55f0cb2d2f84b6e97be9583d582480ba9777cb0179aac0bb0ac480cd6760f5";
+    sha256 = "1bpb2rq7bc3p4g9qrfp4a7qcic79cvv1wh17j231bnpmy48njhvj";
   };
 
   propagatedBuildInputs = [ pyusb pyserial ];
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index bf92f7360dd..90fd7903808 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub
-, boost, freetype, ftgl, libGLU_combined
+, boost, freetype, ftgl, libGLU, libGL
 , python
 }:
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py
   '';
 
-  buildInputs = [ boost freetype ftgl libGLU_combined ];
+  buildInputs = [ boost freetype ftgl libGLU libGL ];
 
   meta = with lib; {
     description = "Python bindings for FTGL (FreeType for OpenGL)";
diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix
index be6502893a3..4bde8e9997a 100644
--- a/pkgs/development/python-modules/pyfxa/default.nix
+++ b/pkgs/development/python-modules/pyfxa/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , requests, cryptography, pybrowserid, hawkauthlib, six
-, grequests, mock, responses, unittest2 }:
+, grequests, mock, responses, pytest }:
 
 buildPythonPackage rec {
   pname = "PyFxA";
@@ -21,9 +21,13 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    grequests mock responses unittest2
+    grequests mock responses pytest
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with lib; {
     description = "Firefox Accounts client library for Python";
     homepage = https://github.com/mozilla/PyFxA;
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 1e7beddda7f..e6be92c0efb 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -1,13 +1,16 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGL
+, libGLU
 , xorg
 , future
 , pytest
 , glibc
 , gtk2-x11
 , gdk-pixbuf
+, fontconfig
+, freetype
 }:
 
 buildPythonPackage rec {
@@ -32,9 +35,9 @@ buildPythonPackage rec {
         for name in names:
             path = None
             if name == 'GL':
-                path = '${libGLU_combined}/lib/libGL${ext}'
+                path = '${libGL}/lib/libGL${ext}'
             elif name == 'GLU':
-                path = '${libGLU_combined}/lib/libGLU${ext}'
+                path = '${libGLU}/lib/libGLU${ext}'
             elif name == 'c':
                 path = '${glibc}/lib/libc${ext}.6'
             elif name == 'X11':
@@ -45,6 +48,10 @@ buildPythonPackage rec {
                 path = '${gdk-pixbuf}/lib/libgdk_pixbuf-2.0${ext}'
             elif name == 'Xext':
                 path = '${xorg.libXext}/lib/libXext${ext}'
+            elif name == 'fontconfig':
+                path = '${fontconfig.lib}/lib/libfontconfig${ext}'
+            elif name == 'freetype':
+                path = '${freetype}/lib/libfreetype${ext}'
             if path is not None:
                 return ctypes.cdll.LoadLibrary(path)
         raise Exception("Could not load library {}".format(names))
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index d685e3541f9..a7b25e57a33 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib }:
+{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib, isPy3k }:
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "2.28.6";
+  version = "2.28.7";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/2.28/${pname}-${version}.tar.xz";
-    sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv";
+    sha256 = "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv";
   };
 
   outputs = [ "out" "devdoc" ];
 
-  patches = [
-    # Fix warning spam
-    ./pygobject-2.28.6-set_qdata.patch
-    ./pygobject-2.28.6-gio-types-2.32.patch
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  patches = stdenv.lib.optionals stdenv.isDarwin [
     ./pygobject-2.0-fix-darwin.patch
   ];
 
@@ -29,7 +25,7 @@ buildPythonPackage rec {
   # same site-packages: we need a pth file for both. pygtk.py would be
   # used to select a specific version, in our setup it should have no
   # effect, but we leave it in case somebody expects and calls it.
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString (!isPy3k) ''
     mv $out/lib/${python.libPrefix}/site-packages/{pygtk.pth,${pname}-${version}.pth}
 
     # Prevent wrapping of codegen files as these are meant to be
@@ -38,8 +34,8 @@ buildPythonPackage rec {
   '';
 
   meta = {
-    homepage = http://live.gnome.org/PyGObject;
-    description = "Python bindings for Glib";
+    homepage = "https://pygobject.readthedocs.io/";
+    description = "Python bindings for GLib";
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch b/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch
deleted file mode 100644
index fa0adf54ad0..00000000000
--- a/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <desrt@desrt.ca>
-Date: Mon, 12 Mar 2012 16:44:14 -0400
-Subject: [PATCH] gio-types.defs: change some enums to flags
-
-These flags types were originally incorrectly handled in glib as being
-enums.  That bug was fixed, but they're still enums here, leading to
-warnings about the mismatch.
-
-Change them to flags.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=668522
----
- gio/gio-types.defs |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gio/gio-types.defs b/gio/gio-types.defs
-index 331e0bc..7eee5c8 100644
---- a/gio/gio-types.defs
-+++ b/gio/gio-types.defs
-@@ -526,7 +526,7 @@
-   )
- )
- 
--(define-enum MountMountFlags
-+(define-flags MountMountFlags
-   (in-module "gio")
-   (c-name "GMountMountFlags")
-   (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
-@@ -545,7 +545,7 @@
-   )
- )
- 
--(define-enum DriveStartFlags
-+(define-flags DriveStartFlags
-   (in-module "gio")
-   (c-name "GDriveStartFlags")
-   (gtype-id "G_TYPE_DRIVE_START_FLAGS")
-@@ -770,7 +770,7 @@
-   )
- )
- 
--(define-enum SocketMsgFlags
-+(define-flags SocketMsgFlags
-   (in-module "gio")
-   (c-name "GSocketMsgFlags")
-   (gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
--- 
-1.7.8.5
-
diff --git a/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch b/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch
deleted file mode 100644
index 55376b59d82..00000000000
--- a/pkgs/development/python-modules/pygobject/pygobject-2.28.6-set_qdata.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
-From: Ivan Stankovic <ivan.stankovic@avl.com>
-Date: Tue, 21 Feb 2012 12:24:58 +0100
-Subject: [PATCH] Fix set_qdata warning on accessing NULL gobject property
-
-https://bugzilla.gnome.org/show_bug.cgi?id=661155
----
- gobject/pygobject.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/gobject/pygobject.c b/gobject/pygobject.c
-index 6c2f06c..70dc89a 100644
---- a/gobject/pygobject.c
-+++ b/gobject/pygobject.c
-@@ -991,7 +991,9 @@ pygobject_new(GObject *obj)
- PyObject *
- pygobject_new_sunk(GObject *obj)
- {
--    g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
-+    if (obj)
-+       g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
-+       
-     return pygobject_new_full(obj, TRUE, NULL);
- }
- 
--- 
-1.7.8.5
-
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 09ccb5c3d95..4779f76aed4 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pkgconfig, gtk2, pygobject2, pycairo
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, gtk2, pygobject2, pycairo, pango
 , buildPythonPackage, libglade ? null, isPy3k }:
 
 buildPythonPackage rec {
@@ -12,8 +12,22 @@ buildPythonPackage rec {
     sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
   };
 
+  patches = [
+    # https://bugzilla.gnome.org/show_bug.cgi?id=660216 - fixes some memory leaks
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/Archive/pygtk/commit/eca72baa5616fbe4dbebea43c7e5940847dc5ab8.diff";
+      sha256 = "031px4w5cshcx1sns430sdbr2i007b9zyb2carb3z65nzr77dpdd";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/Archive/pygtk/commit/4aaa48eb80c6802aec6d03e5695d2a0ff20e0fc2.patch";
+      sha256 = "0z8cg7nr3qki8gg8alasdzzyxcihfjlxn518glq5ajglk3q5pzsn";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = stdenv.lib.optional (libglade != null) libglade;
+  buildInputs = [
+    pango
+  ] ++ stdenv.lib.optional (libglade != null) libglade;
 
   propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
 
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index e55ef007eab..33df2985cfc 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.61";
+  version = "0.1.62";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ef0f3b2ed30023297840d365cf94dcf81b7ee6d2be62fff14730e9eb7b59c00";
+    sha256 = "3547ad176f287a9d3b4409692485b6fb456107d70350a32071423e13803cfdab";
   };
 
   # PyPI tarball does not include tests/ directory
diff --git a/pkgs/development/python-modules/pyjson5/default.nix b/pkgs/development/python-modules/pyjson5/default.nix
new file mode 100644
index 00000000000..232bafd3ba7
--- /dev/null
+++ b/pkgs/development/python-modules/pyjson5/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, lib, nose, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "pyjson5";
+  version = "0.8.5";
+
+  src = fetchFromGitHub {
+    owner = "dpranke";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0nyngj18jlkgvm1177lc3cj47wm4yh3dqigygvcvw7xkyryafsqn";
+  };
+
+  doCheck = true;
+  checkInputs = [ nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    description = "Python implementation of the JSON5 data format";
+    license = licenses.asl20;
+    homepage = "https://github.com/dpranke/pyjson5";
+    maintainers = with maintainers; [ isgy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix
deleted file mode 100644
index 5be43a412e5..00000000000
--- a/pkgs/development/python-modules/pykde4/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ pyqt4, openssl_1_0_2
-, stdenv, callPackage, fetchurl, cmake, automoc4, sip }:
-
-let
-  kdelibs = callPackage ./kdelibs.nix {
-    openssl = openssl_1_0_2;
-  };
-  sip4_19_3 = sip.overrideAttrs (oldAttrs: rec {
-    src = fetchurl {
-      url = "mirror://sourceforge/pyqt/sip/sip-4.19.3/sip-4.19.3.tar.gz";
-      sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl";
-    };
-  });
-  pyqt4_fixed = pyqt4.overrideAttrs (oldAttrs: {
-    propagatedBuildInputs = [ sip4_19_3 ];
-  });
-in stdenv.mkDerivation rec {
-  version = "4.14.3";
-  pname = "pykde4";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz";
-  };
-
-  patches = [ ./dlfcn.patch ];
-
-  buildInputs = [
-    kdelibs
-  ];
-
-  nativeBuildInputs = [ cmake automoc4 ];
-
-  propagatedBuildInputs = [ pyqt4_fixed ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    description = "Python bindings for KDE";
-    license = with licenses; [ gpl2 lgpl2 ];
-    homepage = https://api.kde.org/pykde-4.3-api/;
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pykde4/dlfcn.patch b/pkgs/development/python-modules/pykde4/dlfcn.patch
deleted file mode 100644
index 63aff46eeab..00000000000
--- a/pkgs/development/python-modules/pykde4/dlfcn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- __init__.py.orig	2017-11-02 09:06:48.998054459 +0300
-+++ ./__init__.py	2017-11-02 09:24:28.089072752 +0300
-@@ -1,4 +1,8 @@
--import sys,DLFCN
-+import sys
-+try:
-+    import DLFCN
-+except ImportError:
-+    import os as DLFCN
- # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs.
- sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL)
-      
-\ No newline at end of file
diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix
deleted file mode 100644
index e6f20b8248b..00000000000
--- a/pkgs/development/python-modules/pykde4/kdelibs.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  stdenv, fetchurl, fetchpatch,
-  automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info,
-  attica, docbook_xml_dtd_42, docbook_xsl, giflib,
-  libdbusmenu_qt, libjpeg, phonon, qt4, openssl
-}:
-
-stdenv.mkDerivation rec {
-  version = "4.14.38";
-  pname = "kdelibs";
-  src = fetchurl {
-    url = "mirror://kde/stable/applications/17.08.3/src/${pname}-${version}.tar.xz";
-    sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p";
-  };
-  patches = [
-    # https://phabricator.kde.org/D22989
-    (fetchpatch {
-      url = "https://cgit.kde.org/kdelibs.git/patch/?id=2c3762feddf7e66cf6b64d9058f625a715694a00";
-      sha256 = "1wbzywh8lcc66n6y3pxs18h7cwkq6g216faz27san33jpl8ra1i9";
-      name = "CVE-2019-14744.patch";
-    })
-  ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    automoc4 cmake_2_8 libxslt perl pkgconfig shared-mime-info
-  ];
-  buildInputs = [
-    attica giflib libdbusmenu_qt libjpeg openssl
-  ];
-  propagatedBuildInputs = [ qt4 phonon ];
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DKJS_FORCE_DISABLE_PCRE=true"
-    "-DWITH_SOLID_UDISKS2=OFF"
-  ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    homepage = http://www.kde.org;
-    license = with licenses; [ gpl2 fdl12 lgpl21 ];
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pylibacl/default.nix b/pkgs/development/python-modules/pylibacl/default.nix
index f366f6e57f6..08d598c72db 100644
--- a/pkgs/development/python-modules/pylibacl/default.nix
+++ b/pkgs/development/python-modules/pylibacl/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pylibacl";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c3xw1s5bh6jnsc0wwyxnn6kn6x6rpbmmi05ap1f81fyqlgrzgj0";
+    sha256 = "060f375aeff90a16fbc3a827b7e234694ad636485d8ecd6654e01e1fc4ea3b37";
   };
 
   # ERROR: testExtended (tests.test_acls.AclExtensions)
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 8861a364b0f..95f86e31c04 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.4.3";
+  version = "2.4.4";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "856476331f3e26598017290fd65bebe81c960e806776f324093a46b76fb2d1c0";
+    sha256 = "3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
new file mode 100644
index 00000000000..2d137ec01aa
--- /dev/null
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, future, lxml }:
+
+buildPythonPackage rec {
+  pname = "pymavlink";
+  version = "2.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y9rz3piddzdjpp7d5w9xi6lc9v9b4p4375a5hrfiphrmhds85i3";
+  };
+
+  propagatedBuildInputs = [ future lxml ];
+
+  # No tests included in PyPI tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python MAVLink interface and utilities";
+    homepage = "https://github.com/ArduPilot/pymavlink";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ lopsided98 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pympler/default.nix b/pkgs/development/python-modules/pympler/default.nix
index a9350f20eb3..85be0b4309c 100644
--- a/pkgs/development/python-modules/pympler/default.nix
+++ b/pkgs/development/python-modules/pympler/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Pympler";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs";
+    sha256 = "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index f6c1cc61ebb..c3f36c9c219 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
 buildPythonPackage rec {
   pname = "PyMuPDF";
-  version = "1.16.5";
+  version = "1.16.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9909b1db81952abb09a2c17cca8ffa17f4a05a864653d6e702ce86bfa70c6a23";
+    sha256 = "09h960ns42bbrv10bg99fad193yvg64snhw8x7d78wg3qqvnnicc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix
index 74840d72a94..5016cfb741c 100644
--- a/pkgs/development/python-modules/pynamodb/default.nix
+++ b/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d05d5e2b0f663679ad11421c6fc2cf2f89a2a5843e6ebc372706bf5a78d93762";
+    sha256 = "0njbh3h6696nq5palqa0b8s0fbsvhbawpzl923dnfsa9kgq5m294";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix
index e5e14f44e10..a4765434f74 100644
--- a/pkgs/development/python-modules/pynvim/default.nix
+++ b/pkgs/development/python-modules/pynvim/default.nix
@@ -7,22 +7,21 @@
 , trollius
 , pythonOlder
 , isPyPy
+, pytestrunner
 }:
 
 buildPythonPackage rec {
   pname = "pynvim";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01dybk4vs452pljn1q3il5z2sd313ki0lgiglc0xmjc6wp290r6g";
+    sha256 = "1mp9ajsgrb9k2f3s8g7vdflj5mg02ii0d0wk4n6dmvjx52rqpzbi";
   };
 
-  checkInputs = [ nose ];
-
-  checkPhase = ''
-    nosetests
-  '';
+  nativeBuildInputs = [
+    pytestrunner
+  ];
 
   # Tests require pkgs.neovim,
   # which we cannot add because of circular dependency.
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index 958711754bd..14ccdaa64c3 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , pyutilib
 , appdirs
 , ply
@@ -11,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pyomo";
   version = "5.6.1";
+  disabled = isPy27; # unable to import pyutilib.th
 
   src = fetchPypi {
     pname = "Pyomo";
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index cbe9b111a2c..0fd6253e5fd 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2019.1.1";
+  version = "2019.1.2";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers ocl-icd pybind11 ];
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0g5n1c8gfqhfrfpzdypzwfj1q1nlqzcfjrx397cs6qqw67mg095k";
+    sha256 = "7803f3128dbd28ae6f5b851a80ef586a35b9575406ea7bb068b8e1516f8043f0";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/pkgs/development/python-modules/pyopengl/default.nix b/pkgs/development/python-modules/pyopengl/default.nix
index 11a51f354d9..a425fcf5be9 100644
--- a/pkgs/development/python-modules/pyopengl/default.nix
+++ b/pkgs/development/python-modules/pyopengl/default.nix
@@ -7,14 +7,15 @@
 
 buildPythonPackage rec {
   pname = "pyopengl";
-  version = "3.1.0";
+  version = "3.1.4";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
+    pname = "PyOpenGL";
+    inherit version;
+    sha256 = "0bdf5ed600df30c8830455702338902528717c0af85ac5914f1dc5aa0bfa6eee";
   };
 
-  propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut pillow ];
+  propagatedBuildInputs = [ pkgs.libGLU pkgs.libGL pkgs.freeglut pillow ];
 
   patchPhase = let
     ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix
index 2fd3ca60ad8..854ca4d90ee 100644
--- a/pkgs/development/python-modules/pyparsing/default.nix
+++ b/pkgs/development/python-modules/pyparsing/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
     pname = "pyparsing";
-    version = "2.4.2";
+    version = "2.4.5";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80";
+      sha256 = "4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a";
     };
 
     # Not everything necessary to run the tests is included in the distribution
diff --git a/pkgs/development/python-modules/pyrsistent/default.nix b/pkgs/development/python-modules/pyrsistent/default.nix
index c8310c39441..bbed677dfaf 100644
--- a/pkgs/development/python-modules/pyrsistent/default.nix
+++ b/pkgs/development/python-modules/pyrsistent/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyrsistent";
-  version = "0.15.4";
+  version = "0.15.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cv5xvhfhlj88pb0ghdwivkfcmgi6503qjwxx4r6n06nd6hpzd1l";
+    sha256 = "f3b280d030afb652f79d67c5586157c5c1355c9a58dfc7940566e28d28f3df1b";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 1528623aa0e..8c0513b0b51 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "4.8.0";
+  version = "4.9.0";
 
   # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nnmk7apg169bawqi06jbx3p0x4sq12kszzl7k6j39273hqq5ii4";
+    sha256 = "1ww1l34zn25vxifs8nr0bg7gkhbpy5g45mj0jj4d8hzimahb1brx";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyscreenshot/default.nix b/pkgs/development/python-modules/pyscreenshot/default.nix
new file mode 100644
index 00000000000..9e9d15e5295
--- /dev/null
+++ b/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, EasyProcess
+}:
+
+buildPythonPackage rec {
+  pname = "pyscreenshot";
+  version = "0.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19ec6d17a61c0cd4e7fcf3ab2685598a54b53dc781755393cc5f76dcb7bf359c";
+  };
+
+  propagatedBuildInputs = [
+    EasyProcess
+  ];
+
+  # recursive dependency on pyvirtualdisplay
+  doCheck = false;
+
+  meta = with lib; {
+    description = "python screenshot";
+    homepage = "https://github.com/ponty/pyscreenshot";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyserial-asyncio/default.nix b/pkgs/development/python-modules/pyserial-asyncio/default.nix
new file mode 100644
index 00000000000..c299ad8acae
--- /dev/null
+++ b/pkgs/development/python-modules/pyserial-asyncio/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, pyserial }:
+
+buildPythonPackage rec {
+  pname = "pyserial-asyncio";
+  version = "0.4";
+
+  disabled = !isPy3k; # Doesn't support python older than 3.4
+
+  buildInputs = [ pyserial ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vlsb0d03krxlj7vpvyhpinnyxyy8s3lk5rs8ba2932dhyl7f1n4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "asyncio extension package for pyserial";
+    homepage = "https://github.com/pyserial/pyserial-asyncio";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 37ffd8e76e3..3f20a6ae478 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa }:
+{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa, libGL }:
 
 # This derivation provides a Python module and should therefore be called via `python-packages.nix`.
 buildPythonPackage rec {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ cmake pysideGeneratorrunner pysideShiboken qt4 ];
 
-  buildInputs = [ mesa ];
+  buildInputs = [ mesa libGL ];
 
   makeFlags = "QT_PLUGIN_PATH=" + pysideShiboken + "/lib/generatorrunner";
 
diff --git a/pkgs/development/python-modules/pyspf/default.nix b/pkgs/development/python-modules/pyspf/default.nix
index 48e731004c1..0ba230075f9 100644
--- a/pkgs/development/python-modules/pyspf/default.nix
+++ b/pkgs/development/python-modules/pyspf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspf";
-  version = "2.0.13";
+  version = "2.0.13"; # version 2.0.13 should not be used, see #72791
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16wjj99d2pikz6z1gwnl1jjvad6qjgpsf3a85lh47qqrjpiipp32";
+    sha256 = "62dc1be39519e343202d480da7ef93d834b5a50cd4f217bef9335ed15292929b";
   };
 
   propagatedBuildInputs = [ pydns ];
diff --git a/pkgs/development/python-modules/pyspotify/default.nix b/pkgs/development/python-modules/pyspotify/default.nix
index 9316e85b260..c30b8ee891a 100644
--- a/pkgs/development/python-modules/pyspotify/default.nix
+++ b/pkgs/development/python-modules/pyspotify/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyspotify";
-  version = "2.0.5";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://github.com/mopidy/pyspotify/archive/v${version}.tar.gz";
-    sha256 = "1ilbz2w1gw3f1bpapfa09p84dwh08bf7qcrkmd3aj0psz57p2rls";
+    sha256 = "0g3dvwpaz7pqrdx53kyzkh31arlmdzz1hb7jp8m488lbsf47w6nd";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/pkgs/development/python-modules/pytest-bdd/default.nix b/pkgs/development/python-modules/pytest-bdd/default.nix
new file mode 100644
index 00000000000..e215feac44f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, execnet
+, glob2
+, Mako
+, mock
+, parse
+, parse-type
+, py
+, pytest
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-bdd";
+  version = "3.2.1";
+
+  # tests are not included in pypi tarball
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = pname;
+    rev = version;
+    sha256 = "02y28l5h1m9grj54p681qvv7nrhd7ly9jkqdchyw4p0lnmcmnsrd";
+  };
+
+  propagatedBuildInputs = [ glob2 Mako parse parse-type py pytest six ];
+
+  # Tests require extra dependencies
+  checkInputs = [ execnet mock pytest ];
+  checkPhase = ''
+    pytest
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "BDD library for the py.test runner";
+    homepage = https://github.com/pytest-dev/pytest-bdd;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jm2dev ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-black/black-version.patch b/pkgs/development/python-modules/pytest-black/black-version.patch
new file mode 100644
index 00000000000..93bb4180930
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-black/black-version.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 5c9ce5f..84b148a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -26,6 +26,6 @@ setup(
+     python_requires=">=2.7",
+     install_requires=[
+         "pytest>=3.5.0",
+-        'black==19.3b0; python_version >= "3.6"',
++        'black; python_version >= "3.6"',
+         "toml",
+     ],
+     use_scm_version=True,
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pytest-black/default.nix b/pkgs/development/python-modules/pytest-black/default.nix
index 508dbdf0863..b129f9eec4b 100644
--- a/pkgs/development/python-modules/pytest-black/default.nix
+++ b/pkgs/development/python-modules/pytest-black/default.nix
@@ -14,6 +14,7 @@ buildPythonPackage rec {
     sha256 = "03gwwy1h3qnfh6vpfhgsa5ag53a9sw1g42sc2s8a2hilwb7yrfvm";
   };
 
+  patches = [ ./black-version.patch ];
   nativeBuildInputs = [ setuptools_scm ];
 
   propagatedBuildInputs = [ black pytest toml ];
diff --git a/pkgs/development/python-modules/pytest-mypy/default.nix b/pkgs/development/python-modules/pytest-mypy/default.nix
index bca04ab7b36..4fb2146d7a7 100644
--- a/pkgs/development/python-modules/pytest-mypy/default.nix
+++ b/pkgs/development/python-modules/pytest-mypy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mypy";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6348a3aa08d7b38b05c12ed0965415e1b60d402d7ceb353f5116f6eaf7dac28";
+    sha256 = "5a5338cecff17f005b181546a13e282761754b481225df37f33d37f86ac5b304";
   };
 
   propagatedBuildInputs = [ pytest mypy ];
diff --git a/pkgs/development/python-modules/pytest-qt/default.nix b/pkgs/development/python-modules/pytest-qt/default.nix
new file mode 100644
index 00000000000..4ce0241f415
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-qt/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, pytest
+, pyqt5
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-qt";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f6ecf4b38088ae1092cbd5beeaf714516d1f81f8938626a2eac546206cdfe7fa";
+  };
+
+  nativeBuildInputs = [
+    setuptools_scm
+  ];
+
+  propagatedBuildInputs = [
+    pytest
+  ];
+
+  checkInputs = [
+    pyqt5
+  ];
+
+  # tests require X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "pytest support for PyQt and PySide applications";
+    homepage = "https://github.com/pytest-dev/pytest-qt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-repeat/default.nix b/pkgs/development/python-modules/pytest-repeat/default.nix
index afd36155cf7..768ad596734 100644
--- a/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/pkgs/development/python-modules/pytest-repeat/default.nix
@@ -8,33 +8,29 @@
 
 buildPythonPackage rec {
   pname = "pytest-repeat";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0axbrpqal3cqw9zq6dakdbg49pnf5gvyvq6yn93hp1ayc7fnhzk3";
+    sha256 = "1nbdmklpi0ra1jnfm032wz96y9nxdlcr4m9sjlnffwm7n4x43g2j";
   };
 
-  # fixes support for pytest >3.6. Should be droppable during the
-  # next bump.
-  patches = [
-    (fetchpatch {
-      url = https://github.com/pytest-dev/pytest-repeat/commit/f94b6940e3651b7593aca5a7a987eb56abe04cb1.patch;
-      sha256 = "00da1gmpq9pslcmm8pw93jcbp8j2zymzqdsm6jq3xinkvjpsbmny";
-    })
+  nativeBuildInputs = [
+    setuptools_scm
   ];
 
-  buildInputs = [ setuptools_scm ];
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytest
+  ];
 
   checkPhase = ''
-    py.test
+    pytest
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Pytest plugin for repeating tests";
-    homepage = https://github.com/pytest-dev/pytest-repeat;
-    maintainers = with lib.maintainers; [ costrouc ];
-    license = lib.licenses.mpl20;
+    homepage = "https://github.com/pytest-dev/pytest-repeat";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index 79ce9fa63a9..f5c35905cf6 100644
--- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-rerunfailures";
-  version = "7.0";
+  version = "8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zfm9v80bqfdapygy9wmi6j6y5c179ixpnh9ih27py4v6cqwzjgk";
+    sha256 = "04p8rfvv7yi3gsdm1dw1mfhjwg6507rhgj7nbm5gfqw4kxmj7h8p";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/pkgs/development/python-modules/pytest-xvfb/default.nix b/pkgs/development/python-modules/pytest-xvfb/default.nix
new file mode 100644
index 00000000000..b9ae9be428d
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-xvfb/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, virtual-display
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-xvfb";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a7544ca8d0c7c40db4b40d7a417a7b071c68d6ef6bdf9700872d7a167302f979";
+  };
+
+  propagatedBuildInputs = [
+    pytest
+    virtual-display
+  ];
+
+  meta = with lib; {
+    description = "A pytest plugin to run Xvfb for tests";
+    homepage = "https://github.com/The-Compiler/pytest-xvfb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/4.nix b/pkgs/development/python-modules/pytest/4.nix
index a3beae4e0cf..1148c87f0ba 100644
--- a/pkgs/development/python-modules/pytest/4.nix
+++ b/pkgs/development/python-modules/pytest/4.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy
 }:
 buildPythonPackage rec {
-  version = "4.6.6";
+  version = "4.6.7";
   pname = "pytest";
 
   preCheck = ''
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "692d9351353ef709c1126266579edd4fd469dcf6b5f4f583050f72161d6f3592";
+    sha256 = "9ea149066f566c943d3122f4b1cf1b577cab73189d11f490b54703fa5fa9df50";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 6088d78bba5..a0e26b44201 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy, python
 }:
 buildPythonPackage rec {
-  version = "5.2.1";
+  version = "5.2.4";
   pname = "pytest";
 
   disabled = !isPy3k;
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca563435f4941d0cb34767301c27bc65c510cb82e90b9ecf9cb52dc2c63caaa0";
+    sha256 = "ff0090819f669aaa0284d0f4aad1a6d9d67a6efdc6dd4eb4ac56b704f890a0d6";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
index 93c05106404..e33aee6c1c9 100644
--- a/pkgs/development/python-modules/python-daemon/default.nix
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -1,20 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }:
+{ lib, buildPythonPackage, fetchPypi
+, docutils
+, lockfile
+, mock
+, pytest
+, testscenarios
+, twine
+}:
 
 buildPythonPackage rec {
   pname = "python-daemon";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "affeca9e5adfce2666a63890af9d6aff79f670f7511899edaddca7f96593cc25";
+    sha256 = "57c84f50a04d7825515e4dbf3a31c70cc44414394a71608dee6cfde469e81766";
   };
 
-  # A test fail within chroot builds.
-  doCheck = false;
-
-  buildInputs = [ mock testscenarios ];
+  nativeBuildInputs = [ twine ];
   propagatedBuildInputs = [ docutils lockfile ];
 
+  checkInputs = [ pytest mock testscenarios ];
+  checkPhase = ''
+    pytest -k 'not detaches_process_context \
+                and not standard_stream_file_descriptors'
+  '';
+
+  pythonImportsCheck = [
+    "daemon"
+    "daemon.daemon"
+    "daemon.pidfile"
+    "daemon.runner"
+  ];
+
   meta = with lib; {
     description = "Library to implement a well-behaved Unix daemon process";
     homepage = "https://pagure.io/python-daemon/";
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index bf6d4cd2381..e1c380b64c3 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "3.9.3";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "0rwlj12d37dpw6y3bdn6rxv68xnd9ykj4fr3ly0fa143xci35d9y";
+    sha256 = "1495r55177c38wq88pb28l50dfd4213iyxwq1k5rmsgp66vww09s";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index def0a2c0adb..4858ef8f8a6 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gitlab";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "984e110c1f76fd939652c30ce3101267a7064e34417cbfc4687e6106d4db54ec";
+    sha256 = "125zimbdprfx2j90dp19hyh60lzj11264bm494awc585pr6v9d3k";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
new file mode 100644
index 00000000000..4fc0ad66f95
--- /dev/null
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, olm,
+  cffi, future, typing }:
+
+buildPythonPackage {
+  pname = "python-olm";
+  inherit (olm) src version;
+
+  sourceRoot = "${olm.name}/python";
+  buildInputs = [ olm ];
+
+  preBuild = ''
+    make include/olm/olm.h
+  '';
+
+  propagatedBuildInputs = [
+    cffi
+    future
+    typing
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python bindings for Olm";
+    homepage = "https://gitlab.matrix.org/matrix-org/olm/tree/master/python";
+    license = olm.meta.license;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-periphery/default.nix b/pkgs/development/python-modules/python-periphery/default.nix
index 38642f066d7..4d10c985092 100644
--- a/pkgs/development/python-modules/python-periphery/default.nix
+++ b/pkgs/development/python-modules/python-periphery/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "python-periphery";
-  version = "1.1.2";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bhzkzjvz6zb6rc5zmvgqfszrcyh64v1hay7m1m5dn083gaznyk9";
+    sha256 = "1arsibmc19iyzr70lqfrkq0fk6gd6imm3zxa7zxv93b6lwl5bw1d";
   };
 
   # Some tests require physical probing and additional physical setup
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index 06577249a02..556be12872b 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchPypi, buildPythonPackage, nose }:
 
 buildPythonPackage rec {
-  version = "1.11";
+  version = "1.12";
   pname = "python-stdnum";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5f0af1bee9ddd9a20b398b46ce062dbd4d41fcc9646940f2667256a44df3854";
+    sha256 = "19fb5asv0ngnbpiz1bqzq2jhgn845kv9hjcjajsgzgfp2k24f4sc";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/python-twitter/default.nix b/pkgs/development/python-modules/python-twitter/default.nix
new file mode 100644
index 00000000000..6210c13f56e
--- /dev/null
+++ b/pkgs/development/python-modules/python-twitter/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pytestrunner
+, future
+, requests
+, responses
+, requests_oauthlib
+, pytest
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "python-twitter";
+  version = "3.5";
+
+  # No tests in PyPi Tarball
+  src = fetchFromGitHub {
+    owner = "bear";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "08ydmf6dcd416cvw6xq1wxsz6b9s21f2mf9fh3y4qz9swj6n9h8z";
+  };
+
+  patches = [
+    # Fix tests. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/bear/python-twitter/commit/f7eb83d9dca3ba0ee93e629ba5322732f99a3a30.patch";
+      sha256 = "008b1bd03wwngs554qb136lsasihql3yi7vlcacmk4s5fmr6klqw";
+    })
+  ];
+
+  nativeBuildInputs = [ pytestrunner ];
+  propagatedBuildInputs = [ future requests requests_oauthlib ];
+  checkInputs = [ pytest responses hypothesis ];
+
+  meta = with stdenv.lib; {
+    description = "A Python wrapper around the Twitter API";
+    homepage = "https://github.com/bear/python-twitter";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/python-modules/python_mimeparse/default.nix b/pkgs/development/python-modules/python_mimeparse/default.nix
index 90da2f256d4..9484d24f5e2 100644
--- a/pkgs/development/python-modules/python_mimeparse/default.nix
+++ b/pkgs/development/python-modules/python_mimeparse/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
-    homepage = https://code.google.com/p/mimeparse/;
+    homepage = "https://github.com/dbtsai/python-mimeparse";
     license = licenses.mit;
   };
 
diff --git a/pkgs/development/python-modules/pythondialog/default.nix b/pkgs/development/python-modules/pythondialog/default.nix
new file mode 100644
index 00000000000..d19fbd27116
--- /dev/null
+++ b/pkgs/development/python-modules/pythondialog/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "pythondialog";
+  version = "3.5.0";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11ydvllwll23qmcd3saachcxzn1dj5if3kc36p37ncf06xc5c0m4";
+  };
+
+  patchPhase = ''
+    substituteInPlace dialog.py --replace ":/bin:/usr/bin" ":$out/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python interface to the UNIX dialog utility and mostly-compatible programs";
+    homepage = "http://pythondialog.sourceforge.net/";
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pythonirclib/default.nix b/pkgs/development/python-modules/pythonirclib/default.nix
index 35873d301be..d4f81a82546 100644
--- a/pkgs/development/python-modules/pythonirclib/default.nix
+++ b/pkgs/development/python-modules/pythonirclib/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python IRC library";
-    homepage = https://bitbucket.org/jaraco/irc;
+    homepage = "https://github.com/jaraco/irc";
     license = with licenses; [ lgpl21 ];
   };
 
diff --git a/pkgs/development/python-modules/pythonnet/default.nix b/pkgs/development/python-modules/pythonnet/default.nix
index 9bcbaf3e6f7..f916ec63b30 100644
--- a/pkgs/development/python-modules/pythonnet/default.nix
+++ b/pkgs/development/python-modules/pythonnet/default.nix
@@ -43,8 +43,8 @@ buildPythonPackage rec {
   '';
 
   preConfigure = ''
-    [ -z "$dontPlacateNuget" ] && placate-nuget.sh
-    [ -z "$dontPlacatePaket" ] && placate-paket.sh
+    [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh
+    [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyutilib/default.nix b/pkgs/development/python-modules/pyutilib/default.nix
index 8d9157fd7fb..e9397ad6fa8 100644
--- a/pkgs/development/python-modules/pyutilib/default.nix
+++ b/pkgs/development/python-modules/pyutilib/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyutilib";
-  version = "5.7.1";
+  version = "5.7.2";
 
   src = fetchPypi {
     pname = "PyUtilib";
     inherit version;
-    sha256 = "1m5ijc5qmv8hg4yj496ix77hbcf7ylk4sa98ym53sfsyz0mg3kxr";
+    sha256 = "0bdb5hlj6kyb9m3xnpxzasfv5psnxfj21qx6md8ym8zkcqyq1qs5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvcd/default.nix b/pkgs/development/python-modules/pyvcd/default.nix
index b3d4483d65d..0f97616e640 100644
--- a/pkgs/development/python-modules/pyvcd/default.nix
+++ b/pkgs/development/python-modules/pyvcd/default.nix
@@ -6,12 +6,12 @@
 , pytest }:
 
 buildPythonPackage rec {
-  version = "0.1.4";
+  version = "0.1.5";
   pname = "pyvcd";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0dv9wac5y5z9j54ypyc59csxdiy9ybpphw9ipxp1k8nfg65q9jxx";
+    sha256 = "9e796f8d00d8392716bef9759f118231f5d77d2fff79d8a32151e3bb5579ff25";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/pywebkitgtk/default.nix b/pkgs/development/python-modules/pywebkitgtk/default.nix
deleted file mode 100644
index c76f1f47077..00000000000
--- a/pkgs/development/python-modules/pywebkitgtk/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchurl
-, pkgs
-, pygtk
-}:
-
-buildPythonPackage rec {
-  pname = "pywebkitgtk";
-  version = "1.1.8";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://pywebkitgtk.googlecode.com/files/${pname}-${version}.tar.bz2";
-    sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2";
-  };
-
-  nativeBuildInputs = [ pkgs.pkgconfig ];
-  buildInputs = [ pygtk pkgs.gtk2 pkgs.libxml2 pkgs.libxslt pkgs.libsoup pkgs.webkitgtk24x-gtk2 pkgs.icu ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://code.google.com/p/pywebkitgtk/";
-    description = "Python bindings for the WebKit GTK port";
-    license = licenses.lgpl2Plus;
-  };
-
-}
diff --git a/pkgs/development/python-modules/pywebpush/default.nix b/pkgs/development/python-modules/pywebpush/default.nix
index e6bf9f3ba48..ff9b20f8177 100644
--- a/pkgs/development/python-modules/pywebpush/default.nix
+++ b/pkgs/development/python-modules/pywebpush/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pywebpush";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de8b7e638c6b595c6405f16fd5356e92d2feb8237ab4e50a89770e4ed93aebd6";
+    sha256 = "e80ae0ea978b2e3b7860d2a9ae836528f5fa2e13936673e0b6613589965937ee";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix
index bb9aeaf3201..f1ecdf7c4f4 100644
--- a/pkgs/development/python-modules/pyzmq/default.nix
+++ b/pkgs/development/python-modules/pyzmq/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "18.1.0";
+  version = "18.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3";
+    sha256 = "8c69a6cbfa94da29a34f6b16193e7c15f5d3220cb772d6d17425ff3faa063a6d";
   };
 
   checkInputs = [  pytest tornado ];
diff --git a/pkgs/development/python-modules/qimage2ndarray/default.nix b/pkgs/development/python-modules/qimage2ndarray/default.nix
new file mode 100644
index 00000000000..73a0004e654
--- /dev/null
+++ b/pkgs/development/python-modules/qimage2ndarray/default.nix
@@ -0,0 +1,32 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k
+, numpy
+, pyqt5
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "qimage2ndarray";
+  version = "1.8";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7b9eb08a9be27f5439289d90d7d5a5942aad403d5634fe336eb915678c65db48";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pyqt5
+  ];
+
+  meta = {
+    homepage = "https://github.com/hmeine/qimage2ndarray";
+    description = "A small python extension for quickly converting between QImages and numpy.ndarrays (in both directions)";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/qrcode/default.nix b/pkgs/development/python-modules/qrcode/default.nix
index 4321c025b56..714c7418897 100644
--- a/pkgs/development/python-modules/qrcode/default.nix
+++ b/pkgs/development/python-modules/qrcode/default.nix
@@ -5,6 +5,7 @@
 , pillow
 , pymaging_png
 , mock
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -16,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369";
   };
 
-  propagatedBuildInputs = [ six pillow pymaging_png ];
+  propagatedBuildInputs = [ six pillow pymaging_png setuptools ];
   checkInputs = [ mock ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix
index 96485bd1f06..b5ce1eb26fe 100644
--- a/pkgs/development/python-modules/qscintilla-qt5/default.nix
+++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix
@@ -12,8 +12,7 @@ buildPythonPackage {
   format = "other";
 
   nativeBuildInputs = [ lndir sip qtbase ];
-  buildInputs = [ qscintilla ];
-  propagatedBuildInputs = [ pyqt5 ];
+  buildInputs = [ qscintilla pyqt5 ];
 
   postPatch = ''
     substituteInPlace Python/configure.py \
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 42b03849283..4fe5fd9e63b 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.1.0";
+  version = "1.1.2";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "0xa9jazsgsf7is4dbf2bbnfga8q8nmqy0qq4i7jj3riiccwlm6xw";
+    sha256 = "12szhfify7wn02cbiz9xapwfyp7bg0zm2ja9wq4jyaz5ijy6rm45";
   };
 
   checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 2bd42172917..99f1df09bbf 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , nose
 , six
+, setuptools
 , isPy3k
 }:
 
@@ -17,7 +18,7 @@ buildPythonPackage {
   };
 
   checkInputs = [ nose ];
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six setuptools ];
 
   checkPhase = "LC_ALL=C nosetests";
 
diff --git a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index 8b3487a98c6..948e523cb7e 100644
--- a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc94753be6b2db997e3291046b39e49d578f6441fd75159db22a51a29d2cf1fc";
+    sha256 = "c920d8129752ee3f339c8cf3dfeba800a25730249d6ab43dc9b3c384312d1d32";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/recommonmark/default.nix b/pkgs/development/python-modules/recommonmark/default.nix
index f6965fd6cd9..98cee494f3f 100644
--- a/pkgs/development/python-modules/recommonmark/default.nix
+++ b/pkgs/development/python-modules/recommonmark/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytest
+, pytestCheckHook
 , CommonMark
 , docutils
 , sphinx
@@ -9,22 +9,26 @@
 
 buildPythonPackage rec {
   pname = "recommonmark";
-  version = "0.5.0";
+  version = "0.6.0";
 
   # PyPI tarball is missing some test files: https://github.com/rtfd/recommonmark/pull/128
   src = fetchFromGitHub {
     owner = "rtfd";
     repo = pname;
     rev = version;
-    sha256 = "04bjqx2hczmg7rnj2rpsjk7h24diwk83s6fhgrxk00k40w2bpz5j";
+    sha256 = "0m6qk17irka448vcz5b39yck1qsq90k98dmkx80mni0w00yq9ggd";
   };
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
   propagatedBuildInputs = [ CommonMark docutils sphinx ];
 
-  checkPhase = ''
-    py.test
-  '';
+  dontUseSetuptoolsCheck = true;
+
+  disabledTests = [
+    # https://github.com/readthedocs/recommonmark/issues/164
+    "test_lists"
+    "test_integration"
+  ];
 
   meta = {
     description = "A docutils-compatibility bridge to CommonMark";
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index eaa691a6b75..2286ebbc4cc 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.5.31";
+  version = "3.5.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e2d2ea8ac3d63c918a2b40476c2745704d0364abe2b9c844c75992132a5eac7";
+    sha256 = "83ef44936ef4e9c432d62bc2b72ec8d772b87af319d123e827a72e9b6884c851";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix
index d16f9fd2929..18fdd682f71 100644
--- a/pkgs/development/python-modules/reproject/default.nix
+++ b/pkgs/development/python-modules/reproject/default.nix
@@ -6,26 +6,37 @@
 , astropy-healpix
 , astropy-helpers
 , scipy
+, pytest
+, pytest-astropy
+, cython
 }:
 
 buildPythonPackage rec {
   pname = "reproject";
-  version = "0.5.1";
-
-  doCheck = false; # tests require pytest-astropy
+  version = "0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "069rha55cbm8vsi1qf8zydds42lgkcc97sd57hmjw1mgiz025xrp";
+    sha256 = "484fde86d70d972d703038f138d7c2966ddf51171a6e79bd84e82ea270e27af3";
   };
 
   propagatedBuildInputs = [ numpy astropy astropy-healpix astropy-helpers scipy ];
 
+  nativeBuildInputs = [ astropy-helpers cython ];
+
   # Disable automatic update of the astropy-helper module
   postPatch = ''
     substituteInPlace setup.cfg --replace "auto_use = True" "auto_use = False"
   '';
 
+  checkInputs = [ pytest pytest-astropy ];
+
+  # Tests must be run in the build directory
+  checkPhase = ''
+    cd build/lib*
+    pytest
+  '';
+
   meta = with lib; {
     description = "Reproject astronomical images";
     homepage = https://reproject.readthedocs.io;
diff --git a/pkgs/development/python-modules/requests-oauthlib/default.nix b/pkgs/development/python-modules/requests-oauthlib/default.nix
index be37a48f00c..dd802abdb55 100644
--- a/pkgs/development/python-modules/requests-oauthlib/default.nix
+++ b/pkgs/development/python-modules/requests-oauthlib/default.nix
@@ -2,12 +2,12 @@
 , oauthlib, requests }:
 
 buildPythonPackage rec {
-  version = "1.2.0";
+  version = "1.3.0";
   pname = "requests-oauthlib";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57";
+    sha256 = "0smaxs5ixng4z0k6dsgmm6s972ka3p6a2ykdpnl23mqzlw0ic9ml";
   };
 
   doCheck = false;        # Internet tests fail when building in chroot
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
index d154499c03b..98cf19a8f0a 100644
--- a/pkgs/development/python-modules/responses/default.nix
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.10.6";
+  version = "0.10.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "502d9c0c8008439cfcdef7e251f507fcfdd503b56e8c0c87c3c3e3393953f790";
+    sha256 = "46d4e546a19fc6106bc7e804edd4551ef04690405e41e7e750ebc295d042623b";
   };
 
   propagatedBuildInputs = [ cookies mock requests six ];
diff --git a/pkgs/development/python-modules/rethinkdb/default.nix b/pkgs/development/python-modules/rethinkdb/default.nix
index a6087c9859c..7eea5d2c39f 100644
--- a/pkgs/development/python-modules/rethinkdb/default.nix
+++ b/pkgs/development/python-modules/rethinkdb/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "rethinkdb";
-  version = "2.4.4";
+  version = "2.4.4.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d01b39c1921498e22e3c9cae1adb39c37b68e4438ef77218abc0166fdfd2ea7a";
+    sha256 = "e1c1f8ad93bc1c6f2aaa73afc333c57d505d8cc08c437d78a5c1eb8dc4b7e8c2";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/rfc-bibtex/default.nix b/pkgs/development/python-modules/rfc-bibtex/default.nix
index db6fedd89a4..dd114fd7096 100644
--- a/pkgs/development/python-modules/rfc-bibtex/default.nix
+++ b/pkgs/development/python-modules/rfc-bibtex/default.nix
@@ -12,7 +12,7 @@ buildPythonApplication rec {
   disabled = !isPy3k;
 
   meta = with stdenv.lib; {
-    homepage = ttps://github.com/iluxonchik/rfc-bibtex/;
+    homepage = https://github.com/iluxonchik/rfc-bibtex/;
     description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts";
     license = licenses.mit;
     maintainers = with maintainers; [ teto ];
diff --git a/pkgs/development/python-modules/root_numpy/default.nix b/pkgs/development/python-modules/root_numpy/default.nix
deleted file mode 100644
index dc2c5f790b5..00000000000
--- a/pkgs/development/python-modules/root_numpy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, root, nose }:
-
-buildPythonPackage rec {
-  pname = "root_numpy";
-  version = "4.8.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5842bbcde92133f60a61f56e9f0a875a0dbc2a567cc65a9ac141ecd72e416878";
-  };
-
-  disabled = isPy3k; # blocked by #27649
-  checkInputs = [ nose ];
-  checkPhase = ''
-    python setup.py install_lib -d .
-    nosetests -s -v root_numpy
-  '';
-
-  propagatedBuildInputs = [ numpy root ];
-
-  meta = with lib; {
-    homepage = http://scikit-hep.org/root_numpy;
-    license = licenses.bsd3;
-    description = "The interface between ROOT and NumPy";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/python-modules/rootpy/default.nix b/pkgs/development/python-modules/rootpy/default.nix
deleted file mode 100644
index 8384510468a..00000000000
--- a/pkgs/development/python-modules/rootpy/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
-
-buildPythonPackage rec {
-  pname = "rootpy";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0zp2bh87l3f0shiqslbvfmavfdj8m80y8fsrz8rsi5pzqj7zr1bx";
-  };
-
-  disabled = isPy3k;
-
-  propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
-
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    # tests fail with /homeless-shelter
-    export HOME=$PWD
-    # skip problematic tests
-    py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
-  '';
-
-  meta = with lib; {
-    homepage = http://www.rootpy.org;
-    license = licenses.bsd3;
-    description = "Pythonic interface to the ROOT framework";
-    maintainers = with maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/python-modules/rpy2/2.nix b/pkgs/development/python-modules/rpy2/2.nix
new file mode 100644
index 00000000000..aef184d4afc
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/2.nix
@@ -0,0 +1,108 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, isPy27
+, readline
+, R
+, rWrapper
+, rPackages
+, pcre
+, lzma
+, bzip2
+, zlib
+, icu
+, singledispatch
+, six
+, jinja2
+, pytz
+, numpy
+, pytest
+, mock
+, extraRPackages ? []
+}:
+
+buildPythonPackage rec {
+    version = "2.8.6"; # python2 support dropped in 2.9.x
+    pname = "rpy2";
+    disabled = isPyPy;
+    src = fetchPypi {
+      inherit version pname;
+      sha256 = "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80";
+    };
+    buildInputs = [
+      readline
+      R
+      pcre
+      lzma
+      bzip2
+      zlib
+      icu
+    ] ++ (with rPackages; [
+      # packages expected by the test framework
+      ggplot2
+      dplyr
+      RSQLite
+      broom
+      DBI
+      dbplyr
+      hexbin
+      lme4
+      tidyr
+
+      # is in upstream's `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
+    ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
+
+    nativeBuildInputs = [
+      R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
+    ];
+
+    patches = [
+      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
+      # This patch sets R_LIBS_SITE when rpy2 is imported.
+      ./r-libs-site.patch
+    ];
+    postPatch = ''
+      substituteInPlace ${ if isPy27 then "rpy/rinterface/__init__.py" else "rpy2/rinterface_lib/embedded.py" } --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+    '';
+
+    doPatchelf = false; # fails because of "missing filename"
+    patchelfPhase = "";
+
+    propagatedBuildInputs = [
+      singledispatch
+      six
+      jinja2
+      pytz
+      numpy
+    ];
+
+    checkInputs = [
+      pytest
+      mock
+    ];
+    # One remaining test failure caused by different unicode encoding.
+    # https://bitbucket.org/rpy2/rpy2/issues/488
+    doCheck = false;
+    checkPhase = ''
+      ${python.interpreter} -m 'rpy2'
+    '';
+
+    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
+    # libreadline.so.6 => not found
+    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
+    # There must be a better way to fix this, but I don't know it.
+    postFixup = ''
+      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
+    '';
+
+    meta = {
+      homepage = http://rpy.sourceforge.net/rpy2;
+      description = "Python interface to R";
+      license = lib.licenses.gpl2Plus;
+      platforms = lib.platforms.unix;
+      maintainers = with lib.maintainers; [ joelmo ];
+    };
+  }
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 1b4ab4d40db..bc4bc0bcb5b 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -3,8 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPyPy
-, isPy27
-, readline
 , R
 , rWrapper
 , rPackages
@@ -13,38 +11,38 @@
 , bzip2
 , zlib
 , icu
-, singledispatch
-, six
+, ipython
 , jinja2
 , pytz
+, pandas
 , numpy
+, cffi
+, tzlocal
+, simplegeneric
 , pytest
-, mock
 , extraRPackages ? []
 }:
 
 buildPythonPackage rec {
-    version = if isPy27 then
-      "2.8.6" # python2 support dropped in 2.9.x
-    else
-      "2.9.5";
+    version = "3.2.2";
     pname = "rpy2";
+
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = if isPy27 then
-        "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80" # 2.8.x
-      else
-        "1nrj8pgyxrwrfdrxzb4j3z1adjwjx1mr8d1n5cmrz4nhlzy8w7xr"; # 2.9.x
+      sha256 = "0b3jpn9x7m2pccriyzgfsdb68qp6nq4ffhvjy1q2ar8wdxvmf5xp";
     };
+
     buildInputs = [
-      readline
       R
       pcre
       lzma
       bzip2
       zlib
       icu
+
+      # is in the upstream `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
     ] ++ (with rPackages; [
       # packages expected by the test framework
       ggplot2
@@ -58,6 +56,10 @@ buildPythonPackage rec {
       tidyr
     ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
 
+    checkPhase = ''
+      pytest
+    '';
+
     nativeBuildInputs = [
       R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
     ];
@@ -65,38 +67,26 @@ buildPythonPackage rec {
     patches = [
       # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
       # This patch sets R_LIBS_SITE when rpy2 is imported.
-      ./r-libs-site.patch
+      ./rpy2-3.x-r-libs-site.patch
     ];
     postPatch = ''
-      substituteInPlace rpy/rinterface/__init__.py --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
     '';
 
     propagatedBuildInputs = [
-      singledispatch
-      six
+      ipython
       jinja2
       pytz
+      pandas
       numpy
+      cffi
+      tzlocal
+      simplegeneric
     ];
 
     checkInputs = [
       pytest
-      mock
     ];
-    # One remaining test failure caused by different unicode encoding.
-    # https://bitbucket.org/rpy2/rpy2/issues/488
-    doCheck = false;
-    checkPhase = ''
-      ${python.interpreter} -m 'rpy2.tests'
-    '';
-
-    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
-    # libreadline.so.6 => not found
-    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
-    # There must be a better way to fix this, but I don't know it.
-    postFixup = ''
-      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
-    '';
 
     meta = {
       homepage = http://rpy.sourceforge.net/rpy2;
diff --git a/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
new file mode 100644
index 00000000000..177e4f9a83d
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
@@ -0,0 +1,21 @@
+diff --git a/rpy2/rinterface_lib/embedded.py b/rpy2/rinterface_lib/embedded.py
+index cc32b6d..3969ad0 100644
+--- a/rpy2/rinterface_lib/embedded.py
++++ b/rpy2/rinterface_lib/embedded.py
+@@ -113,6 +113,16 @@ def _initr(interactive: bool = True,
+         if isinitialized():
+             return None
+         os.environ['R_HOME'] = openrlib.R_HOME
++
++        # path to libraries
++        existing = os.environ.get('R_LIBS_SITE')
++        if existing is not None:
++            prefix = existing + ':'
++        else:
++            prefix = ''
++        additional = '@NIX_R_LIBS_SITE@'
++        os.environ['R_LIBS_SITE'] = prefix + additional
++
+         options_c = [ffi.new('char[]', o.encode('ASCII')) for o in _options]
+         n_options = len(options_c)
+         n_options_c = ffi.cast('int', n_options)
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 5453541e2de..c1d27488bdd 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "rtslib";
-  version = "2.1.fb69";
+  version = "2.1.71";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo ="${pname}-fb";
     rev = "v${version}";
-    sha256 = "17rlcrd9757nq91pa8xjr7147k7mxxp8zdka7arhlgsp3kcnbsfd";
+    sha256 = "0cn9azi44hf59mp47207igv72kjbkyz4rsvgzmwbpz0s57b0hnab";
   };
 
   propagatedBuildInputs = [ six pyudev pygobject3 ];
diff --git a/pkgs/development/python-modules/runsnakerun/default.nix b/pkgs/development/python-modules/runsnakerun/default.nix
index eba8871fd02..b3a38320a2b 100644
--- a/pkgs/development/python-modules/runsnakerun/default.nix
+++ b/pkgs/development/python-modules/runsnakerun/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "runsnakerun";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "61d03a13f1dcb3c1829f5a146da1fe0cc0e27947558a51e848b6d469902815ef";
+    sha256 = "a66a0cdf0333dc3c0830c18e2f3d62f741dea197cd01a7e0059da4886a3a123f";
   };
 
   propagatedBuildInputs = [ squaremap wxPython ];
diff --git a/pkgs/development/python-modules/runway-python/default.nix b/pkgs/development/python-modules/runway-python/default.nix
index f46a35004ab..c54c5d73cf6 100644
--- a/pkgs/development/python-modules/runway-python/default.nix
+++ b/pkgs/development/python-modules/runway-python/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "runway-python";
-  version = "0.5.0";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3573a003899eb33c0edbc1d59c16c8c19c092512da0c75ceb1f46063a18c7e9";
+    sha256 = "c5293bca6589747db687c593b81f52dc9df8155367ffa57ddc1993a6f9d95bde";
   };
 
   propagatedBuildInputs = [ flask flask-cors numpy pillow gevent wget six colorcet ];
diff --git a/pkgs/development/python-modules/sacremoses/default.nix b/pkgs/development/python-modules/sacremoses/default.nix
new file mode 100644
index 00000000000..ef0fcb57dc9
--- /dev/null
+++ b/pkgs/development/python-modules/sacremoses/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, stdenv
+, fetchFromGitHub
+, click
+, six
+, tqdm
+, joblib
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "sacremoses";
+  version = "0.0.35";
+
+  src = fetchFromGitHub {
+    owner = "alvations";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "1gzr56w8yx82mn08wax5m0xyg15ym4ri5l80gmagp8r53443j770";
+  };
+
+  propagatedBuildInputs = [ click six tqdm joblib ];
+
+  checkInputs = [ pytest ];
+  # ignore tests which call to remote host
+  checkPhase = ''
+    pytest -k 'not truecase'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/alvations/sacremoses";
+    description = "Python port of Moses tokenizer, truecaser and normalizer";
+    license = licenses.lgpl21Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
index bf0b1e01563..2aec6dced1c 100644
--- a/pkgs/development/python-modules/sasmodels/default.nix
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "sasmodels";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasmodels";
     rev = "v${version}";
-    sha256 = "082wnk10axincc4a62zxyr33l7v80yf7iz630y3421b50fwwyd8j";
+    sha256 = "0k4334nxf1n6gwb9m57sqcchmlssglfd116mpl72glmmdc451d5j";
   };
 
   buildInputs = [ opencl-headers ];
diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix
index 6afa5944372..2c1173ce68f 100644
--- a/pkgs/development/python-modules/schema/default.nix
+++ b/pkgs/development/python-modules/schema/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+{ stdenv, buildPythonPackage, fetchPypi, contextlib2, pytest, mock }:
 
 buildPythonPackage rec {
 
@@ -10,11 +10,19 @@ buildPythonPackage rec {
     sha256 = "c9dc8f4624e287c7d1435f8fd758f6a0aabbb7eff442db9192cd46f0e2b6d959";
   };
 
-  checkInputs = [ pytest ];
+  preConfigure = ''
+    substituteInPlace requirements.txt --replace '==' '>='
+  '';
+
+  propagatedBuildInputs = [ contextlib2 ];
+
+  checkInputs = [ pytest mock ];
+  checkPhase = "pytest ./test_schema.py";
 
   meta = with stdenv.lib; {
     description = "Library for validating Python data structures";
     homepage = https://github.com/keleshev/schema;
     license = licenses.mit;
+    maintainers = [ maintainers.tobim ];
   };
 }
diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix
index 939782722c6..4830e3fb2ab 100644
--- a/pkgs/development/python-modules/scikitlearn/default.nix
+++ b/pkgs/development/python-modules/scikitlearn/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "0.21.2";
+  version = "0.21.3";
   # UnboundLocalError: local variable 'message' referenced before assignment
   disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nvj9j16y1hz9gm0qwzpnx2zmz55c63k1fai643migsyll9c7bqa";
+    sha256 = "eb9b8ebf59eddd8b96366428238ab27d05a19e89c5516ce294abc35cea75d003";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 93488917017..682d70df393 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "scipy";
-  version = "1.3.1";
+  version = "1.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2643cfb46d97b7797d1dbdb6f3c23fe3402904e3c90e6facfe6a9b98d808c1b5";
+    sha256 = "64bf4e8ae0db2d42b58477817f648d81e77f0b381d0ea4427385bba3f959380a";
   };
 
   checkInputs = [ nose pytest ];
diff --git a/pkgs/development/python-modules/secure/default.nix b/pkgs/development/python-modules/secure/default.nix
new file mode 100644
index 00000000000..6d2f2871ec2
--- /dev/null
+++ b/pkgs/development/python-modules/secure/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, maya
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "0.2.1";
+  pname = "secure";
+
+  src = fetchFromGitHub {
+    owner = "typeerror";
+    repo = "secure.py";
+    rev = "v${version}";
+    sha256 = "1nbxwi0zccrha6js14ibd596kdi1wpqr7jgs442mqclw4b3f77q5";
+  };
+
+  propagatedBuildInputs = [ maya requests ];
+
+  # no tests in release
+  doCheck = false;
+
+  pythonImportsCheck = [ "secure" ];
+
+  meta = with lib; {
+    description = "Adds optional security headers and cookie attributes for Python web frameworks";
+    homepage = "https://github.com/TypeError/secure.py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/semantic-version/default.nix b/pkgs/development/python-modules/semantic-version/default.nix
index f4cf61fbb4d..66499224564 100644
--- a/pkgs/development/python-modules/semantic-version/default.nix
+++ b/pkgs/development/python-modules/semantic-version/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "semantic_version";
-  version = "2.8.2";
+  version = "2.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71c716e99086c44d068262b86e4775aa6db7fabee0743e4e33b00fbf6f672585";
+    sha256 = "9dcc6fbad58da3c4d5eee2287025e226bb05c39463f14b741357801baae9dcce";
   };
 
   # ModuleNotFoundError: No module named 'tests'
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index 35115a45716..bb9f115590e 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -1,28 +1,25 @@
 { stdenv
-, lib
 , buildPythonPackage
 , fetchFromGitHub
 , pytest
-, configparser
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "Send2Trash";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "hsoft";
     repo = "send2trash";
     rev = version;
-    sha256 = "1w502i5h8xaqf03g6h95h4vs1wqfv6kg925dn63phrwmg1hfz2xx";
+    sha256 = "1c76zldhw2ay7q7r00nnzcampjz9lkqfcbzqpm0iqp5i6bmmv30v";
   };
 
   doCheck = !stdenv.isDarwin;
-  checkPhase = "HOME=. py.test";
-  checkInputs = [ pytest ] ++ lib.optional (!isPy3k) configparser;
+  checkPhase = "HOME=$TMPDIR pytest";
+  checkInputs = [ pytest ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Send file to trash natively under macOS, Windows and Linux";
     homepage = https://github.com/hsoft/send2trash;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/sentencepiece/default.nix b/pkgs/development/python-modules/sentencepiece/default.nix
new file mode 100644
index 00000000000..ab7a5387c02
--- /dev/null
+++ b/pkgs/development/python-modules/sentencepiece/default.nix
@@ -0,0 +1,15 @@
+{ buildPythonPackage
+, stdenv
+, sentencepiece
+, pkgconfig
+}:
+
+buildPythonPackage rec {
+  pname = "sentencepiece";
+  inherit (sentencepiece) version src meta;
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ sentencepiece ];
+
+  sourceRoot = "source/python";
+}
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 0705ed4bc83..67584789995 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -1,12 +1,30 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, urllib3, certifi, django, flask, tornado, bottle, rq, falcon, celery, pyramid, sanic, aiohttp }:
+{ aiohttp
+, bottle
+, buildPythonPackage
+, celery
+, certifi
+, django
+, falcon
+, fetchPypi
+, flask
+, iana-etc
+, isPy3k
+, libredirect
+, pyramid
+, rq
+, sanic
+, stdenv
+, tornado
+, urllib3
+}:
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "0.13.0";
+  version = "0.13.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff14935cc3053de0650128f124c36f34a4be120b8cc522c149f5cba342c1fd05";
+    sha256 = "c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82";
   };
 
   checkInputs = [ django flask tornado bottle rq falcon ]
@@ -20,4 +38,14 @@ buildPythonPackage rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ gebner ];
   };
+
+  # The Sentry tests need access to `/etc/protocols` (the tests call
+  # `socket.getprotobyname('tcp')`, which reads from this file). Normally
+  # this path isn't available in the sandbox. Therefore, use libredirect
+  # to make on eavailable from `iana-etc`. This is a test-only operation.
+  preCheck = ''
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
+    export LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '';
+  postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 9254e53d142..f52a4931377 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "setuptools";
-  version = "41.4.0";
+  version = "42.0.2";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "0asxfnsi56r81lm48ynqbfkmm3kvw2jwrlf2l9azn5w6xm30jvp5";
+      sha256 = "1xqx3sha5ir40g1h15r7q063bcbl9bvh967vig574k3jgwxrz2ik";
       name = "${pname}-${version}-source";
     };
 
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index 7202b3cf70e..8cad6885570 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1i4zrzamvgy3g117a2x66gyi7pzh27slc2w9pqysc0ldfcibi2wx";
+    sha256 = "163fbz06xg4ncvmgsg85x2689zd1bvycc3506xqvcgh8xcz3izif";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simpleeval/default.nix b/pkgs/development/python-modules/simpleeval/default.nix
index ca304fc10f6..0aded2f423f 100644
--- a/pkgs/development/python-modules/simpleeval/default.nix
+++ b/pkgs/development/python-modules/simpleeval/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "simpleeval";
-  version = "0.9.8";
+  version = "0.9.10";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00fzwbjg98lsnmfzmbgzg1k8q8iqbahcxjnnlhzhb44phrhcxql5";
+    sha256 = "1skvl467kj83rzkhk01i0wm8m5vmh6j5znrfdizn6r18ii45a839";
   };
   meta = {
     homepage = https://github.com/danthedeckie/simpleeval;
diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix
index e121013c150..edc21e3292d 100644
--- a/pkgs/development/python-modules/slicedimage/default.nix
+++ b/pkgs/development/python-modules/slicedimage/default.nix
@@ -12,6 +12,7 @@
 , six
 , pytest
 , isPy27
+, tifffile
 }:
 
 buildPythonPackage rec {
@@ -31,14 +32,16 @@ buildPythonPackage rec {
     requests
     scikitimage
     six
+    tifffile
   ] ++ lib.optionals isPy27 [ pathlib enum34 ];
 
   checkInputs = [
     pytest
   ];
 
+  # ignore tests which require setup
   checkPhase = ''
-    pytest
+    pytest --ignore tests/io_
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 325f59b1df2..48cfcb132f0 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.4";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1y845mfsswyvczknwh359xprgc3hk8r17qy1wdibpz6y6pq0g3kq";
+    sha256 = "0xmnp8ywakwg3y21gqdvjw8a4v42vaxfq6njqizzllm4c9g2nk76";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/pkgs/development/python-modules/snakebite/default.nix b/pkgs/development/python-modules/snakebite/default.nix
new file mode 100644
index 00000000000..1d08570d727
--- /dev/null
+++ b/pkgs/development/python-modules/snakebite/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, virtualenv
+, protobuf
+}:
+
+buildPythonPackage rec {
+  pname = "snakebite";
+  version = "2.11.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "085238b4944cb9c658ee62d5794de936ac3d0c337c504b2cc86424a205ae978a";
+  };
+
+  checkInputs = [
+    tox
+    virtualenv
+  ];
+
+  propagatedBuildInputs = [
+    protobuf
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'argparse'" ""
+  '';
+
+  # tests require hadoop hdfs
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Pure Python HDFS client";
+    homepage = http://github.com/spotify/snakebite;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/soundfile/default.nix b/pkgs/development/python-modules/soundfile/default.nix
index 4ba18618674..ff11e75a0de 100644
--- a/pkgs/development/python-modules/soundfile/default.nix
+++ b/pkgs/development/python-modules/soundfile/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "soundfile";
-  version = "0.10.2";
+  version = "0.10.3.post1";
 
   src = fetchPypi {
     pname = "SoundFile";
     inherit version;
-    sha256 = "0w8mjadairg6av88090kwsridd0k115672b91zlcmf37r0c64zv3";
+    sha256 = "0yqhrfz7xkvqrwdxdx2ydy4h467sk7z3gf984y1x2cq7cm1gy329";
   };
 
     checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/soupsieve/default.nix b/pkgs/development/python-modules/soupsieve/default.nix
index 737e9e0803a..8995e98ca78 100644
--- a/pkgs/development/python-modules/soupsieve/default.nix
+++ b/pkgs/development/python-modules/soupsieve/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "soupsieve";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "605f89ad5fdbfefe30cdc293303665eff2d188865d4dbe4eb510bba1edfbfce3";
+    sha256 = "e2c1c5dee4a1c36bcb790e0fabd5492d874b8ebd4617622c4f6a731701060dda";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 23f2a6967da..e35ea517bf1 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -21,16 +21,17 @@
 , blis
 , wasabi
 , srsly
+, catalogue
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "193r7rrqxfj4jqzk4aqgbycficzmc606vkc4ffc46zs3myhlf6sa";
+    sha256 = "0shfjk6nhm6gzp5p88pz5k7bkg5dr3x9yvandkayqb2vsvkwj50x";
   };
 
   propagatedBuildInputs = [
@@ -51,6 +52,7 @@ buildPythonPackage rec {
    blis
    wasabi
    srsly
+   catalogue
    setuptools
   ] ++ lib.optional (pythonOlder "3.4") pathlib;
 
diff --git a/pkgs/development/python-modules/spacy/models.json b/pkgs/development/python-modules/spacy/models.json
index d500448dfe7..4d7eff7fd02 100644
--- a/pkgs/development/python-modules/spacy/models.json
+++ b/pkgs/development/python-modules/spacy/models.json
@@ -77,6 +77,18 @@
   "license": "cc-by-sa-40"
 },
 {
+  "pname": "lt_core_news_sm",
+  "version": "2.2.0",
+  "sha256": "1j63xnp96qavg8c960y83z752mmvp9qx92r458lydrg1ixmffx9r",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "nb_core_news_sm",
+  "version": "2.2.0",
+  "sha256": "0s0wf3kxrhdzfkgrbxjc53hzin3w8v06iivazh6bpf6rhbiwzfr0",
+  "license": "mit"
+},
+{
   "pname": "nl_core_news_sm",
   "version": "2.2.1",
   "sha256": "0gw9a1j3v4f15cxcz7zr7dz7mqi2a3541b04q6kj74gg397li4ny",
diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix
index e12f00cf7a7..39edcf9b8f5 100644
--- a/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/pkgs/development/python-modules/spectral-cube/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchPypi
+, fetchFromGitHub
 , buildPythonPackage
 , astropy
 , radio_beam
@@ -10,11 +10,14 @@
 
 buildPythonPackage rec {
   pname = "spectral-cube";
-  version = "0.4.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9051ede204b1e25b6358b5e0e573b624ec0e208c24eb03a7ed4925b745c93b5e";
+  version = "0.4.5";
+
+  # Fetch from GitHub instead of PyPi, as 0.4.5 isn't available in PyPi
+  src = fetchFromGitHub {
+    owner = "radio-astro-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xc1m6vpl0bm600fx9vypa7zcvwg7yvhgn0w89y6v9d1vl0qcs7z";
   };
 
   propagatedBuildInputs = [ astropy radio_beam ];
@@ -40,8 +43,6 @@ buildPythonPackage rec {
     license = lib.licenses.bsd3;
     platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ smaret ];
-    broken = true;
   };
 }
 
-
diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix
index 73af5d7b00c..bad76f8cb93 100644
--- a/pkgs/development/python-modules/spglib/default.nix
+++ b/pkgs/development/python-modules/spglib/default.nix
@@ -2,22 +2,13 @@
 
 buildPythonPackage rec {
   pname = "spglib";
-  version = "1.12.2.post0";
+  version = "1.14.1.post0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15b02b74c0f06179bc3650c43a710a5200abbba387c6eda3105bfd9236041443";
+    sha256 = "0kmllcch5p20ylxirqiqzls567jr2808rbld9i8f1kf0205al8qq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-assertions.patch";
-      url = https://github.com/atztogo/spglib/commit/d57070831585a6f02dec0a31d25b375ba347798c.patch;
-      stripLen = 1;
-      sha256 = "0crmkc498rbrawiy9zbl39qis2nmsbfr4s6kk6k3zhdy8z2ppxw7";
-    })
-  ];
-
   propagatedBuildInputs = [ numpy ];
 
   checkInputs = [ nose pyyaml ];
diff --git a/pkgs/development/python-modules/sphinx/2.nix b/pkgs/development/python-modules/sphinx/2.nix
new file mode 100644
index 00000000000..b6374989690
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx/2.nix
@@ -0,0 +1,75 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, simplejson
+, mock
+, glibcLocales
+, html5lib
+, pythonOlder
+, enum34
+, python
+, docutils
+, jinja2
+, pygments
+, alabaster
+, Babel
+, snowballstemmer
+, six
+, sqlalchemy
+, whoosh
+, imagesize
+, requests
+, typing
+, sphinxcontrib-websupport
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx";
+  version = "1.8.5";
+  src = fetchPypi {
+    pname = "Sphinx";
+    inherit version;
+    sha256 = "c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08";
+  };
+  LC_ALL = "en_US.UTF-8";
+
+  checkInputs = [ pytest ];
+  buildInputs = [ simplejson mock glibcLocales html5lib ] ++ lib.optional (pythonOlder "3.4") enum34;
+  # Disable two tests that require network access.
+  checkPhase = ''
+    cd tests; ${python.interpreter} run.py --ignore py35 -k 'not test_defaults and not test_anchors_ignored'
+  '';
+  propagatedBuildInputs = [
+    docutils
+    jinja2
+    pygments
+    alabaster
+    Babel
+    setuptools
+    snowballstemmer
+    six
+    sphinxcontrib-websupport
+    sqlalchemy
+    whoosh
+    imagesize
+    requests
+  ] ++ lib.optional (pythonOlder "3.5") typing;
+
+  # Lots of tests. Needs network as well at some point.
+  doCheck = false;
+
+  # https://github.com/NixOS/nixpkgs/issues/22501
+  # Do not run `python sphinx-build arguments` but `sphinx-build arguments`.
+  postPatch = ''
+    substituteInPlace sphinx/make_mode.py --replace "sys.executable, " ""
+  '';
+
+  meta = {
+    description = "A tool that makes it easy to create intelligent and beautiful documentation for Python projects";
+    homepage = http://sphinx.pocoo.org/;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 1e69692eac1..307232903e8 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -20,6 +20,12 @@
 , whoosh
 , imagesize
 , requests
+, sphinxcontrib-applehelp
+, sphinxcontrib-devhelp
+, sphinxcontrib-htmlhelp
+, sphinxcontrib-jsmath
+, sphinxcontrib-qthelp
+, sphinxcontrib-serializinghtml
 , sphinxcontrib-websupport
 , typing
 , setuptools
@@ -27,11 +33,11 @@
 
 buildPythonPackage rec {
   pname = "sphinx";
-  version = "1.8.3";
+  version = "2.2.0";
   src = fetchPypi {
     pname = "Sphinx";
     inherit version;
-    sha256 = "c4cb17ba44acffae3d3209646b6baec1e215cad3065e852c68cc569d4df1b9f8";
+    sha256 = "0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845";
   };
   LC_ALL = "en_US.UTF-8";
 
@@ -54,6 +60,12 @@ buildPythonPackage rec {
     whoosh
     imagesize
     requests
+    sphinxcontrib-applehelp
+    sphinxcontrib-devhelp
+    sphinxcontrib-htmlhelp
+    sphinxcontrib-jsmath
+    sphinxcontrib-qthelp
+    sphinxcontrib-serializinghtml
     sphinxcontrib-websupport
   ] ++ lib.optional (pythonOlder "3.5") typing;
 
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index ee48da2f5b0..86daec23d95 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
-  version = "1.6.0";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e374452af89f507b345431338c6655465b5c15d0b5e49f703be8c30bbe1d1202";
+    sha256 = "01354b7fa180a87212cc005553b31a7300159b108d36828e301d3782291323f7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index 7222f18d5f9..b707d4a0abc 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -14,6 +14,8 @@ buildPythonPackage rec {
     sha256 = "1z7qw1h3rhca12ycv8xrzw6z2gf81v0j6lfq9kpwh472w4vk75v1";
   };
 
+  nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
+
   propagatedBuildInputs = [
     jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint keyring
     numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
@@ -47,6 +49,12 @@ buildPythonPackage rec {
     cp -r $desktopItem/share/applications/ $out/share
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   meta = with stdenv.lib; {
     description = "Scientific python development environment";
     longDescription = ''
diff --git a/pkgs/development/python-modules/sqlalchemy-citext/default.nix b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
new file mode 100644
index 00000000000..b91e3385404
--- /dev/null
+++ b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sqlalchemy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "sqlalchemy-citext";
+  version = "1.3-0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7d7343037a35153d6f94c3c2f6baf391f88a57651c3bde5d6749d216859ae4c5";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} tests/test_citext.py
+  '';
+
+  meta = with lib; {
+    description = "A sqlalchemy plugin that allows postgres use of CITEXT";
+    homepage = https://github.com/mahmoudimus/sqlalchemy-citext;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index e9e14b7da4d..e77f2e0e7b2 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
+{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
 , mock
 , pysqlite
 , fetchpatch
@@ -25,7 +25,9 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
 
-  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "];
+  # disable mem-usage tests on mac, has trouble serializing pickle files
+  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "]
+    ++ lib.optionals stdenv.isDarwin [ "MemUsageWBackendTest" "MemUsageTest" ];
 
   patches = [
     # Two patches for sqlite 3.30 compatibility.
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 74d73638b1e..17141897d58 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.3.10";
+  version = "1.3.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f045e8e9ee1293e2d0ab4396950deed71f095a7762f063f3e5f54a839b8d5b4";
+    sha256 = "3bad3275e2f29ffa54d4013a2ac2c77e87d01a1d745065d54ed5e60bc68dfbf0";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/squaremap/default.nix b/pkgs/development/python-modules/squaremap/default.nix
index 3a0e95ab77e..f237d982abb 100644
--- a/pkgs/development/python-modules/squaremap/default.nix
+++ b/pkgs/development/python-modules/squaremap/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "squaremap";
-  version = "1.0.4";
+  version = "1.0.5";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "feab6cb3b222993df68440e34825d8a16de2c74fdb290ae3974c86b1d5f3eef8";
+    sha256 = "b16ce5950cbfa63e3284015095293cd26ed5e26045fd14d488fb825b4f95e9a8";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix
new file mode 100644
index 00000000000..ff9d77bc782
--- /dev/null
+++ b/pkgs/development/python-modules/sshtunnel/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi
+, paramiko
+, pytest
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "0.1.5";
+  pname = "sshtunnel";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0jcjppp6mdfsqrbfc3ddfxg1ybgvkjv7ri7azwv3j778m36zs4y8";
+  };
+
+  propagatedBuildInputs = [ paramiko ];
+
+  checkInputs = [ pytest mock ];
+
+  # disable impure tests
+  checkPhase = ''
+    pytest -k 'not connect_via_proxy and not read_ssh_config'
+  '';
+
+  meta = with lib; {
+    description = "Pure python SSH tunnels";
+    homepage = "https://github.com/pahaz/sshtunnel";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix
index 7cad8346a6f..38934d9497a 100644
--- a/pkgs/development/python-modules/starfish/default.nix
+++ b/pkgs/development/python-modules/starfish/default.nix
@@ -26,11 +26,11 @@
 
 buildPythonPackage rec {
   pname = "starfish";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6924404b9ce7c55b427bebc5712656b87d17b5114e9fb610f2821865bd8d70f4";
+    sha256 = "02002b908572fcd2c7471475936a6c375f143d15df871399ce86ced6d7aef865";
   };
 
   propagatedBuildInputs = [
@@ -85,5 +85,6 @@ buildPythonPackage rec {
     homepage = https://spacetx-starfish.readthedocs.io/en/latest/;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
+    broken = true; # incompatible with latest python-dateutil, scikit-image
   };
 }
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index 1ccb8bcaf70..6580a87b2fe 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.12.10";
+  version = "0.12.13";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e41ef52e711a82ef95c195674e5d8d41c75c6b1d6f5a275637eedd4cc2150a7f";
+    sha256 = "9597bc28e3c4659107c1c4a45ec32dc45e947d78fe56230222be673b2c36454a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/statsmodels/default.nix b/pkgs/development/python-modules/statsmodels/default.nix
index 46daaa21a99..e45ccdd49c6 100644
--- a/pkgs/development/python-modules/statsmodels/default.nix
+++ b/pkgs/development/python-modules/statsmodels/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "statsmodels";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10";
+    sha256 = "9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9";
   };
 
   checkInputs = with self; [ nose ];
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index da77691e354..9bbc312b183 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -1,11 +1,9 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
+{ lib, buildPythonPackage, fetchPypi, fetchpatch
 , tornado
 , toolz
 , zict
 , six
-, pytest_4
+, pytest
 , networkx
 , distributed
 , confluent-kafka
@@ -22,7 +20,21 @@ buildPythonPackage rec {
     sha256 = "127rpdjgkcyjifmkqbhmqfbzlgi32n54rybrdxja610qr906y40c";
   };
 
+  patches = [
+    # fix networkx rename issue of GiGraph.node -> DiGraph.nodes, remove on next bump
+    ( fetchpatch {
+      url = "https://github.com/python-streamz/streamz/commit/f8b7bdb6bcb9dd107677e82e755ff4695bf0c4be.patch";
+      sha256 = "1b2frp0j369gf55plxk2pigblhsc44m0rm9az01y83cjlcm26x2s";
+    })
+    # also, fix networkx rename issue of GiGraph.node -> DiGraph.nodes, remove on next bump
+    ( fetchpatch {
+      url = "https://github.com/python-streamz/streamz/commit/f7603f4cbea54f1548885881206a3ca9d6e52250.patch";
+      sha256 = "1125kqiaz6b3cifz0yk1zrkxj5804lfzl4kc58jhqajv8rsrbs45";
+    })
+  ];
+
   propagatedBuildInputs = [
+    networkx
     tornado
     toolz
     zict
@@ -33,20 +45,21 @@ buildPythonPackage rec {
     confluent-kafka
     distributed
     graphviz
-    networkx
-    pytest_4
+    pytest
     requests
   ];
 
   # Disable test_tcp_async because fails on sandbox build
+  # disable kafka tests
   checkPhase = ''
     pytest --deselect=streamz/tests/test_sources.py::test_tcp_async \
-      --deselect=streamz/tests/test_sources.py::test_tcp
+      --deselect=streamz/tests/test_sources.py::test_tcp \
+      --ignore=streamz/tests/test_kafka.py
   '';
 
   meta = with lib; {
     description = "Pipelines to manage continuous streams of data";
-    homepage = "https://github.com/mrocklin/streamz";
+    homepage = "https://github.com/python-streamz/streamz";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/strictyaml/default.nix b/pkgs/development/python-modules/strictyaml/default.nix
index 496ed66c1ac..bb4824b5c02 100644
--- a/pkgs/development/python-modules/strictyaml/default.nix
+++ b/pkgs/development/python-modules/strictyaml/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.5";
+  version = "1.0.6";
   pname = "strictyaml";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aad8d90c4d300c5bfa7678b9680ce456406319859c7279e98110548b596b5ae7";
+    sha256 = "dd687a32577e0b832619ce0552eac86d6afad5fa7b61ab041bb765881c6a1f36";
   };
 
   propagatedBuildInputs = [ ruamel_yaml python-dateutil ];
diff --git a/pkgs/development/python-modules/stups-cli-support/default.nix b/pkgs/development/python-modules/stups-cli-support/default.nix
new file mode 100644
index 00000000000..35aaf45ed1a
--- /dev/null
+++ b/pkgs/development/python-modules/stups-cli-support/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, clickclick
+, dnspython
+, requests
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-cli-support";
+  version = "1.1.20";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "stups-cli-support";
+    rev = version;
+    sha256 = "1r6g29gd009p87m8a6wv4rzx7f0564zdv67qz5xys4wsgvc95bx0";
+  };
+
+  propagatedBuildInputs = [
+    clickclick
+    dnspython
+    requests
+  ];
+
+  preCheck = "export HOME=$TEMPDIR";
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "Helper library for all STUPS command line tools.";
+    homepage = "https://github.com/zalando-stups/stups-cli-support";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/pkgs/development/python-modules/stups-tokens/default.nix b/pkgs/development/python-modules/stups-tokens/default.nix
new file mode 100644
index 00000000000..3e785d8febb
--- /dev/null
+++ b/pkgs/development/python-modules/stups-tokens/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, requests
+, mock
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-tokens";
+  version = "1.1.19";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "python-tokens";
+    rev = version;
+    sha256 = "09z3l3xzdlwpivbi141gk1k0zd9m75mjwbdy81zc386rr9k8s0im";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    mock
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "A Python library that keeps OAuth 2.0 service access tokens in memory for your usage.";
+    homepage = "https://github.com/zalando-stups/python-tokens";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/pkgs/development/python-modules/stups-zign/default.nix b/pkgs/development/python-modules/stups-zign/default.nix
new file mode 100644
index 00000000000..a4355dd7808
--- /dev/null
+++ b/pkgs/development/python-modules/stups-zign/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, stups-tokens
+, stups-cli-support
+, pytest
+, pytestcov
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "stups-zign";
+  version = "1.2";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "zalando-stups";
+    repo = "zign";
+    rev = version;
+    sha256 = "1vk6pnprnd5lfx96hc2c1n7kwh99f260r730x4y2h7lamlv82fh4";
+  };
+
+  patches = [
+    # pytest 5 is currently unsupported. Fetch and apply a pr that resolves this.
+    (fetchpatch {
+      url = https://github.com/zalando-stups/zign/commit/50140720211e547b0e59f7ddb39a732f0cc73ad7.patch;
+      sha256 = "1zmyvg1z1asaqqsmxvsx0srvxd6gkgavppvg3dblxwhkml01awqk";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    stups-tokens
+    stups-cli-support
+  ];
+
+  preCheck = "
+    export HOME=$TEMPDIR
+  ";
+
+  checkInputs = [
+    pytest
+    pytestcov
+  ];
+
+  meta = with lib; {
+    description = "OAuth2 token management command line utility.";
+    homepage = "https://github.com/zalando-stups/zign";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mschuwalow ];
+  };
+}
diff --git a/pkgs/development/python-modules/stytra/default.nix b/pkgs/development/python-modules/stytra/default.nix
new file mode 100644
index 00000000000..a564798c58a
--- /dev/null
+++ b/pkgs/development/python-modules/stytra/default.nix
@@ -0,0 +1,81 @@
+{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k, callPackage
+, opencv3
+, pyqt5
+, pyqtgraph
+, numpy
+, scipy
+, numba
+, pandas
+, tables
+, git
+, ffmpeg
+, scikitimage
+, matplotlib
+, qdarkstyle
+, GitPython
+, anytree
+, pims
+, imageio
+, imageio-ffmpeg
+, av
+, nose
+, pytest
+, pyserial
+, arrayqueues
+, colorspacious
+, qimage2ndarray
+, flammkuchen
+, lightparam
+}:
+
+buildPythonPackage rec {
+  pname = "stytra";
+  version = "0.8.26";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "81842a957e3114230c2d628f64325cd89d166913b68c3f802c89282f40918587";
+  };
+  doCheck = false;
+  checkInputs = [
+    nose
+    pytest
+    pyserial
+  ];
+
+
+  propagatedBuildInputs = [
+    opencv3
+    pyqt5
+    pyqtgraph
+    numpy
+    scipy
+    numba
+    pandas
+    tables
+    git
+    ffmpeg
+    scikitimage
+    matplotlib
+    qdarkstyle
+    GitPython
+    anytree
+    qimage2ndarray
+    flammkuchen
+    pims
+    colorspacious
+    lightparam
+    imageio
+    imageio-ffmpeg
+    arrayqueues
+    av
+  ];
+
+  meta = {
+    homepage = "https://github.com/portugueslab/stytra";
+    description = "A modular package to control stimulation and track behaviour";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 252eafec465..09732252437 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
@@ -26,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "1.0.2";
+  version = "1.0.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "sunpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dmfzxxsjjax9wf2ljyl4z07pxbshrj828zi5qnsa9rgk4148q9x";
+    sha256 = "0j2yfhfxgi95rig8cfp9lvszb7694gq90jvs0xrb472hwnzgh2sk";
   };
 
   propagatedBuildInputs = [
@@ -67,8 +68,11 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
+  # darwin has write permission issues
+  doCheck = stdenv.isLinux;
+  # ignore documentation tests
   checkPhase = ''
-    pytest sunpy -k "not test_rotation"
+    pytest sunpy -k 'not rst'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
index c09267662c1..87ef13bba0f 100644
--- a/pkgs/development/python-modules/sympy/default.nix
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "sympy";
-  version = "1.4"; # Upgrades may break sage. Please test or ping @timokau.
+  version = "1.5"; # Upgrades may break sage. Please test or ping @timokau.
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q937csy8rd18pk2fz1ssj7jyj7l3rjx4nzbiz5vcymfhrb1x8bi";
+    sha256 = "1s4w7q8gndim2ky825a84jmwcf7ryfn10wm8yxz9dw5z2307smii";
   };
 
   checkInputs = [ glibcLocales ];
@@ -22,14 +22,6 @@ buildPythonPackage rec {
   # tests take ~1h
   doCheck = false;
 
-  patches = [
-    # to be fixed by https://github.com/sympy/sympy/pull/13476
-    (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympy/patches/03_undeffun_sage.patch?id=3277ba76d0ba7174608a31a0c6623e9210c63e3d";
-      sha256 = "0xcp1qafvqnivvvi0byh51mbgqicjhmswwvqvamjz9rxfzm5f7d7";
-    })
-  ];
-
   preCheck = ''
     export LANG="en_US.UTF-8"
   '';
diff --git a/pkgs/development/python-modules/tables/3.5.nix b/pkgs/development/python-modules/tables/3.5.nix
index 1123d4626c9..4cca72aa313 100644
--- a/pkgs/development/python-modules/tables/3.5.nix
+++ b/pkgs/development/python-modules/tables/3.5.nix
@@ -4,12 +4,12 @@
 with stdenv.lib;
 
 buildPythonPackage rec {
-  version = "3.6.0";
+  version = "3.5.2";
   pname = "tables";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db3488214864fb313a611fca68bf1c9019afe4e7877be54d0e61c84416603d4d";
+    sha256 = "1hikrki0hx94ass31pn0jyz9iy0zhnkjacfk86m21cxsc8if685j";
   };
 
   buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
index b664b882b28..d67bec7a496 100644
--- a/pkgs/development/python-modules/tables/default.nix
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -4,12 +4,12 @@
 with stdenv.lib;
 
 buildPythonPackage rec {
-  version = "3.6.0";
+  version = "3.6.1";
   pname = "tables";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0k9xc0b49j311r6yayw7wzjay6ch3jznijhzc4x33yv490hqhd6v";
+    sha256 = "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 956a10b6b04..cda898d2725 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.5";
+  version = "0.8.6";
   pname = "tabulate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3";
+    sha256 = "5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tasklib/default.nix b/pkgs/development/python-modules/tasklib/default.nix
index 73b92ea6d4b..197c98def3a 100644
--- a/pkgs/development/python-modules/tasklib/default.nix
+++ b/pkgs/development/python-modules/tasklib/default.nix
@@ -8,11 +8,11 @@ wsl_stub = writeShellScriptBin "wsl" "true";
 
 in buildPythonPackage rec {
   pname = "tasklib";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3964fb7e87f86dc5e2708addb67e69d0932534991991b6bae2e37a0c2059273f";
+    sha256 = "19yra86g3wz2xgk22dnrjjh3gla969vb8jrps5rf0cdmsm9qqisv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix
index 334163114a1..437d722ba07 100644
--- a/pkgs/development/python-modules/telethon/default.nix
+++ b/pkgs/development/python-modules/telethon/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "telethon";
-  version = "1.9.0";
+  version = "1.10.9";
 
   src = fetchPypi {
     inherit version;
     pname = "Telethon";
-    sha256 = "a8797ad5bfee2b350cfc9b73cbb30fc19c8f73c0db42471e0df1371b1a269edc";
+    sha256 = "16qb5hv8kh4plic1155ky9b88xz9iahhv1s3h47678hl7mjy2jc7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix
index c03c2e1a30d..254b91891c7 100644
--- a/pkgs/development/python-modules/tenacity/default.nix
+++ b/pkgs/development/python-modules/tenacity/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "tenacity";
-  version = "5.1.1";
+  version = "5.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a4eb168dbf55ed2cae27e7c6b2bd48ab54dabaf294177d998330cf59f294c112";
+    sha256 = "e664bd94f088b17f46da33255ae33911ca6a0fe04b156d334b601a4ef66d3c5f";
   };
 
   nativeBuildInputs = [ pbr setuptools_scm ];
diff --git a/pkgs/development/python-modules/tensorflow-estimator/default.nix b/pkgs/development/python-modules/tensorflow-estimator/default.nix
index 127e7560679..9f6be4d1dda 100644
--- a/pkgs/development/python-modules/tensorflow-estimator/default.nix
+++ b/pkgs/development/python-modules/tensorflow-estimator/default.nix
@@ -6,13 +6,14 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-estimator";
-  version = "1.14.0";
+  # This is effectively 1.15.0. Upstream tagged 1.15.0 by mistake before actually updating the version in setup.py, which is why this tag is called 1.15.1.
+  version = "1.15.1";
   format = "wheel";
 
   src = fetchPypi {
     pname = "tensorflow_estimator";
     inherit version format;
-    sha256 = "14irpsyj14vn2dpwr601f54058wywci1pv0hss8s01rl0rk3y1ya";
+    sha256 = "1fc61wmc0w22frs79j2x4g6wnv5g21xc6rix1g4bsvy9qfvvylw8";
   };
 
   propagatedBuildInputs = [ mock numpy absl-py ];
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index fa1759119c9..e0108aed5ef 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k
+{ lib, fetchPypi, buildPythonPackage, isPy3k
 , numpy
+, wheel
 , werkzeug
 , protobuf
 , grpcio
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-tensorboard";
-  version = "1.14.0";
+  version = "1.15.0";
   format = "wheel";
 
   src = fetchPypi ({
@@ -23,10 +24,10 @@ buildPythonPackage rec {
     format = "wheel";
   } // (if isPy3k then {
     python = "py3";
-    sha256 = "1z631614jk5zgasgmwfr33gz8bwv11p9f5llzlwvx3a8rnyv3q2h";
+    sha256 = "1g62i3nrgp8q9wfsyqqjkkfnsz7x2k018c26kdh527h1yrjjrbac";
   } else {
     python = "py2";
-    sha256 = "1clv29yy942l3mfar2z6wkkk6l18fz7j6mi2dfz24j9dln0scny3";
+    sha256 = "0l3zc8j2sh7h1z4qpy8kfvclv3kzndri55p10i42q6xahs9phav1";
   }));
 
   propagatedBuildInputs = [
@@ -34,10 +35,29 @@ buildPythonPackage rec {
     werkzeug
     protobuf
     markdown
-    grpcio absl-py
+    grpcio
+    absl-py
+    # not declared in install_requires, but used at runtime
+    # https://github.com/NixOS/nixpkgs/issues/73840
+    wheel
   ] ++ lib.optional (!isPy3k) futures;
 
-  meta = with stdenv.lib; {
+  # in the absence of a real test suite, run cli and imports
+  checkPhase = ''
+    $out/bin/tensorboard --help > /dev/null
+  '';
+
+  pythonImportsCheck = [
+    "tensorboard"
+    "tensorboard.backend"
+    "tensorboard.compat"
+    "tensorboard.data"
+    "tensorboard.plugins"
+    "tensorboard.summary"
+    "tensorboard.util"
+  ];
+
+  meta = with lib; {
     description = "TensorFlow's Visualization Toolkit";
     homepage = http://tensorflow.org;
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index e180c9d70e9..cc64e49e1b7 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -5,12 +5,18 @@
 # Python libraries
 , numpy, tensorflow-tensorboard, backports_weakref, mock, enum34, absl-py
 , future, setuptools, wheel, keras-preprocessing, keras-applications, google-pasta
+, functools32
+, opt-einsum
 , termcolor, grpcio, six, wrapt, protobuf, tensorflow-estimator
 # Common deps
 , git, swig, which, binutils, glibcLocales, cython
 # Common libraries
 , jemalloc, openmpi, astor, gast, grpc, sqlite, openssl, jsoncpp, re2
 , curl, snappy, flatbuffers, icu, double-conversion, libpng, libjpeg, giflib
+# Upsteam by default includes cuda support since tensorflow 1.15. We could do
+# that in nix as well. It would make some things easier and less confusing, but
+# it would also make the default tensorflow package unfree. See
+# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
 , cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null, nccl ? null
 # XLA without CUDA is broken
 , xlaSupport ? cudaSupport
@@ -19,6 +25,8 @@
 , sse42Support ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") ["westmere" "sandybridge" "ivybridge" "haswell" "broadwell" "skylake" "skylake-avx512"]
 , avx2Support  ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") [                                     "haswell" "broadwell" "skylake" "skylake-avx512"]
 , fmaSupport   ? builtins.elem (stdenv.hostPlatform.platform.gcc.arch or "default") [                                     "haswell" "broadwell" "skylake" "skylake-avx512"]
+# Darwin deps
+, Foundation, Security
 }:
 
 assert cudaSupport -> nvidia_x11 != null
@@ -33,7 +41,13 @@ let
 
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-merged";
-    paths = [ cudatoolkit.out cudatoolkit.lib ];
+    paths = [
+      cudatoolkit.lib
+      cudatoolkit.out
+      # for some reason some of the required libs are in the targets/x86_64-linux
+      # directory; not sure why but this works around it
+      "${cudatoolkit}/targets/${stdenv.system}"
+    ];
   };
 
   cudatoolkit_cc_joined = symlinkJoin {
@@ -55,12 +69,12 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "1.14.0";
+  version = "1.15.0";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
   pythonEnv = python.withPackages (_:
-    [ # python deps needed during wheel build time
+    [ # python deps needed during wheel build time (not runtime, see the buildPythonPackage part for that)
       numpy
       keras-preprocessing
       protobuf
@@ -74,6 +88,7 @@ let
       wheel
   ] ++ lib.optionals (!isPy3k)
   [ future
+    functools32
     mock
   ]);
 
@@ -84,7 +99,7 @@ let
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      sha256 = "06jvwlsm14b8rqwd8q8796r0vmn0wk64s4ps2zg0sapkmp9vvcmi";
+      sha256 = "1j8vysfblkyydrr67qr3i7kvaq5ygnjlx8hw9a9pc95ac462jq7i";
     };
 
     patches = [
@@ -100,12 +115,15 @@ let
         sha256 = "1m2qmwv1ysqa61z6255xggwbq6mnxbig749bdvrhnch4zydxb4di";
       })
 
-      # https://github.com/tensorflow/tensorflow/issues/29220
+      ./tf-1.15-bazel-1.0.patch
+
       (fetchpatch {
-        name = "bazel-0.27.patch";
-        url = "https://github.com/tensorflow/tensorflow/commit/cfccbdb8c4a92dd26382419dceb4d934c2380391.patch";
-        sha256 = "1l56wjia2c4685flsfkkgy471wx3c66wyv8khspv06zchj0k0liw";
+        # be compatible with gast >0.2 instead of only gast 0.2.2
+        name = "gast-update.patch";
+        url = "https://github.com/tensorflow/tensorflow/commit/85751ad6c7f5fd12c6c79545d96896cba92fa8b4.patch";
+        sha256 = "077cpj0kzyqxzdya1dwh8df17zfzhqn7c685hx6iskvw2979zg2n";
       })
+      ./lift-gast-restriction.patch
     ];
 
     # On update, it can be useful to steal the changes from gentoo
@@ -141,6 +159,9 @@ let
       cudatoolkit
       cudnn
       nvidia_x11
+    ] ++ lib.optionals stdenv.isDarwin [
+      Foundation
+      Security
     ];
 
     # arbitrarily set to the current latest bazel version, overly careful
@@ -157,7 +178,6 @@ let
       # "com_github_googleapis_googleapis"
       # "com_github_googlecloudplatform_google_cloud_cpp"
       "com_google_protobuf"
-      "com_google_protobuf_cc"
       "com_googlesource_code_re2"
       "curl"
       "cython"
@@ -175,11 +195,11 @@ let
       "lmdb"
       "nasm"
       # "nsync" # not packaged in nixpkgs
+      "opt_einsum_archive"
       "org_sqlite"
       "pasta"
       "pcre"
       "png_archive"
-      "protobuf_archive"
       "six_archive"
       "snappy"
       "swig"
@@ -253,6 +273,7 @@ let
     bazelFlags = [
       # temporary fixes to make the build work with bazel 0.27
       "--incompatible_no_support_tools_in_action_inputs=false"
+      "--incompatible_use_native_patch=false"
     ];
     bazelBuildFlags = [
       "--config=opt" # optimize using the flags set in the configure phase
@@ -266,9 +287,9 @@ let
 
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "196pm3ynfafqlcxah07hkvphf536hpix1ydgsynr1yg08aynlvvx"
+        "1rbg8w8pjf15hpvzrclsi19lhsrwdns6f8psb1wz35ay0ggdw8c0"
       else
-        "138r85n27ijzwxfwb5pcfyb79v14368jpckw0vmciz6pwf11bd9g";
+        "0d8wq89iz9vrzvr971mgdclxxjcjr32r7aj817h019x3pc53qnwx";
     };
 
     buildAttrs = {
@@ -310,8 +331,10 @@ let
       homepage = http://tensorflow.org;
       license = licenses.asl20;
       maintainers = with maintainers; [ jyp abbradar ];
-      platforms = platforms.linux;
-      broken = !(xlaSupport -> cudaSupport);
+      platforms = with platforms; linux ++ darwin;
+      # The py2 build fails due to some issue importing protobuf. Possibly related to the fix in
+      # https://github.com/akesandgren/easybuild-easyblocks/commit/1f2e517ddfd1b00a342c6abb55aef3fd93671a2b
+      broken = !(xlaSupport -> cudaSupport) || !isPy3k;
     };
   };
 
@@ -345,9 +368,11 @@ in buildPythonPackage {
     termcolor
     wrapt
     grpcio
+    opt-einsum
   ] ++ lib.optionals (!isPy3k) [
     mock
-    future # FIXME
+    future
+    functools32
   ] ++ lib.optionals (pythonOlder "3.4") [
     backports_weakref enum34
   ] ++ lib.optionals withTensorboard [
@@ -366,7 +391,26 @@ in buildPythonPackage {
   # TODO try to run them anyway
   # TODO better test (files in tensorflow/tools/ci_build/builds/*test)
   checkPhase = ''
-    ${python.interpreter} -c "import tensorflow"
+    ${python.interpreter} <<EOF
+    # A simple "Hello world"
+    import tensorflow as tf
+    hello = tf.constant("Hello, world!")
+    sess = tf.Session()
+    sess.run(hello)
+
+    # Fit a simple model to random data
+    import numpy as np
+    np.random.seed(0)
+    tf.random.set_random_seed(0)
+    model = tf.keras.models.Sequential([
+        tf.keras.layers.Dense(1, activation="linear")
+    ])
+    model.compile(optimizer="sgd", loss="mse")
+
+    x = np.random.uniform(size=(1,1))
+    y = np.random.uniform(size=(1,))
+    model.fit(x, y, epochs=1)
+    EOF
   '';
 
   passthru.libtensorflow = bazel-build.out;
diff --git a/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch b/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch
new file mode 100644
index 00000000000..24cc118d8f3
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/lift-gast-restriction.patch
@@ -0,0 +1,13 @@
+diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py
+index 992f2eae22..d9386f9b13 100644
+--- a/tensorflow/tools/pip_package/setup.py
++++ b/tensorflow/tools/pip_package/setup.py
+@@ -54,7 +54,7 @@ REQUIRED_PACKAGES = [
+     'astor >= 0.6.0',
+     'backports.weakref >= 1.0rc1;python_version<"3.4"',
+     'enum34 >= 1.1.6;python_version<"3.4"',
+-    'gast == 0.2.2',
++    'gast >= 0.2.2',
+     'google_pasta >= 0.1.6',
+     'keras_applications >= 1.0.8',
+     'keras_preprocessing >= 1.0.5',
diff --git a/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch b/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch
new file mode 100644
index 00000000000..4d70e99108b
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/tf-1.15-bazel-1.0.patch
@@ -0,0 +1,213 @@
+diff --git a/tensorflow/c/BUILD b/tensorflow/c/BUILD
+index f740ba66b5..6cc9003787 100644
+--- a/tensorflow/c/BUILD
++++ b/tensorflow/c/BUILD
+@@ -270,6 +270,7 @@ tf_cuda_library(
+         "//tensorflow/core/platform",
+         "@com_google_absl//absl/strings",
+     ],
++    alwayslink = 1,
+ )
+ 
+ exports_files(
+diff --git a/tensorflow/c/eager/BUILD b/tensorflow/c/eager/BUILD
+index 5c42e508f7..16b421862c 100644
+--- a/tensorflow/c/eager/BUILD
++++ b/tensorflow/c/eager/BUILD
+@@ -79,6 +79,7 @@ tf_cuda_library(
+         "//tensorflow/core/profiler/lib:profiler_session",
+         "//tensorflow/core:gpu_runtime",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tf_cuda_library(
+@@ -226,6 +227,7 @@ tf_cuda_library(
+         "//tensorflow/core/profiler/rpc/client:capture_profile",
+         "//tensorflow/core:gpu_runtime",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tf_cuda_cc_test(
+diff --git a/tensorflow/cc/saved_model/BUILD b/tensorflow/cc/saved_model/BUILD
+index 39b84922d1..b2affdd999 100644
+--- a/tensorflow/cc/saved_model/BUILD
++++ b/tensorflow/cc/saved_model/BUILD
+@@ -123,6 +123,7 @@ cc_library(
+         "//tensorflow/core/util/tensor_bundle:naming",
+         # mobile not supported yet
+     ]),
++    alwayslink = 1,
+ )
+ 
+ tf_cc_test(
+diff --git a/tensorflow/core/BUILD b/tensorflow/core/BUILD
+index c23c1f9b39..805643b217 100644
+--- a/tensorflow/core/BUILD
++++ b/tensorflow/core/BUILD
+@@ -777,6 +777,7 @@ cc_library(
+         ":lib_proto_parsing",
+         ":protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ # DEPRECATED: use platform:stringpiece instead.
+@@ -2496,6 +2497,7 @@ cc_library(
+                "@com_google_protobuf//:protobuf",
+            ] + tf_protos_all_impl() + tf_protos_grappler_impl() +
+            tf_additional_numa_deps(),
++    alwayslink = 1,
+ )
+ 
+ # File compiled with extra flags to get cpu-specific acceleration.
+diff --git a/tensorflow/core/lib/random/BUILD b/tensorflow/core/lib/random/BUILD
+index 3bd933261b..e1e589e76d 100644
+--- a/tensorflow/core/lib/random/BUILD
++++ b/tensorflow/core/lib/random/BUILD
+@@ -50,6 +50,7 @@ cc_library(
+         "//tensorflow/core/platform:types",
+         "//third_party/eigen3",
+     ],
++    alwayslink = 1,
+ )
+ 
+ filegroup(
+diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl
+index 5459d8d428..feba3a5686 100644
+--- a/tensorflow/core/platform/default/build_config.bzl
++++ b/tensorflow/core/platform/default/build_config.bzl
+@@ -228,6 +228,7 @@ def cc_proto_library(
+         hdrs = gen_hdrs,
+         deps = cc_libs + deps,
+         includes = includes,
++        alwayslink = 1,
+         **kargs
+     )
+     native.cc_library(
+diff --git a/tensorflow/lite/java/src/test/native/BUILD b/tensorflow/lite/java/src/test/native/BUILD
+index 6dcdab2aee..32bb0a8d85 100644
+--- a/tensorflow/lite/java/src/test/native/BUILD
++++ b/tensorflow/lite/java/src/test/native/BUILD
+@@ -19,6 +19,7 @@ cc_library(
+         "//tensorflow/lite/java/jni",
+         "//tensorflow/lite/kernels:kernel_util",
+     ],
++    alwayslink = 1,
+ )
+ 
+ tflite_jni_binary(
+diff --git a/tensorflow/lite/python/testdata/BUILD b/tensorflow/lite/python/testdata/BUILD
+index 7bda81358f..ac1188d844 100644
+--- a/tensorflow/lite/python/testdata/BUILD
++++ b/tensorflow/lite/python/testdata/BUILD
+@@ -60,6 +60,7 @@ cc_library(
+     deps = [
+         "//tensorflow/lite/c:c_api_internal",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_binary(
+diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
+index 6fd9b4f273..29df3a3dff 100644
+--- a/tensorflow/python/BUILD
++++ b/tensorflow/python/BUILD
+@@ -375,6 +375,7 @@ cc_library(
+         "//tensorflow/core:lib",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_library(
+@@ -411,6 +412,7 @@ cc_library(
+         "//third_party/py/numpy:headers",
+         "//third_party/python_runtime:headers",
+     ],
++    alwayslink = 1,
+ )
+ 
+ cc_library(
+@@ -617,6 +619,7 @@ cc_library(
+         "//tensorflow/core:op_gen_lib",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ py_library(
+diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl
+index a3956322fe..32752f59ad 100644
+--- a/tensorflow/tensorflow.bzl
++++ b/tensorflow/tensorflow.bzl
+@@ -2331,6 +2331,7 @@ def tf_generate_proto_text_sources(name, srcs_relative_dir, srcs, protodeps = []
+         hdrs = out_hdrs,
+         visibility = visibility,
+         deps = deps,
++        alwayslink = 1,
+     )
+ 
+ def tf_genrule_cmd_append_to_srcs(to_append):
+diff --git a/tensorflow/tools/graph_transforms/BUILD b/tensorflow/tools/graph_transforms/BUILD
+index adafe2aca1..8965316b12 100644
+--- a/tensorflow/tools/graph_transforms/BUILD
++++ b/tensorflow/tools/graph_transforms/BUILD
+@@ -223,6 +223,7 @@ cc_library(
+         "//tensorflow/core:lib_internal",
+         "//tensorflow/core:protos_all_cc",
+     ],
++    alwayslink = 1,
+ )
+ 
+ # This library includes a main function, to make it easy to create other
+diff --git a/third_party/icu/data/BUILD.bazel b/third_party/icu/data/BUILD.bazel
+index 7db21566e4..8e18c7cc3a 100644
+--- a/third_party/icu/data/BUILD.bazel
++++ b/third_party/icu/data/BUILD.bazel
+@@ -43,4 +43,5 @@ cc_library(
+     name = "conversion_data",
+     srcs = [":conversion_data.c"],
+     deps = ["@icu//:headers"],
++    alwayslink = 1,
+ )
+diff --git a/third_party/protobuf/protobuf.patch b/third_party/protobuf/protobuf.patch
+index df0648563d..18fc6cdf35 100644
+--- a/third_party/protobuf/protobuf.patch
++++ b/third_party/protobuf/protobuf.patch
+@@ -11,7 +11,15 @@ index 2fb26050..c2744d5b 100644
+  
+  ################################################################################
+  # Protobuf Runtime Library
+-@@ -218,7 +218,7 @@ cc_library(
++@@ -209,6 +209,7 @@ cc_library(
++     copts = COPTS,
++     includes = ["src/"],
++     linkopts = LINK_OPTS,
+++    alwayslink = 1,
++     visibility = ["//visibility:public"],
++     deps = [":protobuf_lite"] + PROTOBUF_DEPS,
++ )
++@@ -219,7 +220,7 @@ cc_library(
+  # TODO(keveman): Remove this target once the support gets added to Bazel.
+  cc_library(
+      name = "protobuf_headers",
+@@ -20,3 +28,4 @@ index 2fb26050..c2744d5b 100644
+      includes = ["src/"],
+      visibility = ["//visibility:public"],
+  )
++ 
+\ No newline at end of file
+diff --git a/third_party/systemlibs/protobuf.bzl b/third_party/systemlibs/protobuf.bzl
+index 774514f3fd..1c415b018b 100644
+--- a/third_party/systemlibs/protobuf.bzl
++++ b/third_party/systemlibs/protobuf.bzl
+@@ -262,6 +262,7 @@ def cc_proto_library(
+         hdrs = gen_hdrs,
+         deps = cc_libs + deps,
+         includes = includes,
++        alwayslink = 1,
+         **kargs
+     )
+ 
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
index dbcc5935e5e..af1c4d53e13 100644
--- a/pkgs/development/python-modules/terminado/default.nix
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "terminado";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2";
+    sha256 = "4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2";
   };
 
   propagatedBuildInputs = [ ptyprocess tornado ];
diff --git a/pkgs/development/python-modules/tesserocr/default.nix b/pkgs/development/python-modules/tesserocr/default.nix
new file mode 100644
index 00000000000..2d4f9d10a8c
--- /dev/null
+++ b/pkgs/development/python-modules/tesserocr/default.nix
@@ -0,0 +1,34 @@
+{
+  buildPythonPackage,
+  fetchPypi,
+  lib,
+  # build dependencies
+  cython,
+  leptonica,
+  pkg-config,
+  tesseract,
+  # extra python packages
+  pillow
+}:
+
+buildPythonPackage rec {
+  pname = "tesserocr";
+  version = "2.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nj33mwvppacy6p5mqk9a4x26hx9ailshgad84ks60wyms6rgjiv";
+  };
+
+  nativeBuildInputs = [ cython pkg-config ];
+  buildInputs = [ leptonica tesseract ];
+  propagatedBuildInputs = [ pillow ];
+
+  meta = with lib; {
+    description = "A simple, Pillow-friendly, wrapper around the tesseract-ocr API for Optical Character Recognition (OCR)";
+    homepage = "https://github.com/sirfz/tesserocr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mtrsk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index a08241332dc..8fca654632e 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "6.10.0";
+  version = "6.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kiv60i0s67v34x28j6cshby7n7mbhd7a7val639yvvlh1f0q8wx";
+    sha256 = "8f22100d4fb841b958f64e71c8820a32dc46f57d4d7e077777b932acd87b7327";
   };
 
   checkInputs = [ pytest mock sybil zope_component twisted ];
diff --git a/pkgs/development/python-modules/testpath/default.nix b/pkgs/development/python-modules/testpath/default.nix
index 8bdd50f52d2..c9d0e8f0ad2 100644
--- a/pkgs/development/python-modules/testpath/default.nix
+++ b/pkgs/development/python-modules/testpath/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "testpath";
-  version = "0.4.2";
+  version = "0.4.4";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "46c89ebb683f473ffe2aab0ed9f12581d4d078308a3cb3765d79c6b2317b0109";
+    sha256 = "bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/testresources/default.nix b/pkgs/development/python-modules/testresources/default.nix
index fa4fc0b1fed..ce00b17b177 100644
--- a/pkgs/development/python-modules/testresources/default.nix
+++ b/pkgs/development/python-modules/testresources/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417";
   };
 
-  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ pbr ];
 
   checkInputs = [ fixtures testtools ];
 
diff --git a/pkgs/development/python-modules/textwrap3/default.nix b/pkgs/development/python-modules/textwrap3/default.nix
new file mode 100644
index 00000000000..5b8e10db83e
--- /dev/null
+++ b/pkgs/development/python-modules/textwrap3/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, coverage
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "textwrap3";
+  version = "0.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "5008eeebdb236f6303dcd68f18b856d355f6197511d952ba74bc75e40e0c3414";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    coverage
+    pytestcov
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap from Python 3.6 backport plus a few tweaks";
+    homepage = https://github.com/jonathaneunice/textwrap3;
+    license = licenses.psfl;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index 03ab35e9e19..1fd33c5d7e4 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "2019.7.26";
+  version = "2019.7.26.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82c5c72de4dc19cc7011e4e8c45492e17121bd02cfa98c015ddd2a83e36f09bc";
+    sha256 = "2abb91c3a23a61593c5635ac1a19f67e732b46291c305fcee0eeaad41181a13f";
   };
 
   patches = lib.optional isPy27 ./python2-regex-compat.patch;
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
new file mode 100644
index 00000000000..61902f2eb12
--- /dev/null
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, tiledb
+, numpy
+, wheel
+, isPy3k
+, setuptools_scm
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "tiledb";
+  version = "0.5.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB-Py";
+    rev = version;
+    sha256 = "0y7llvy943fviayjny8xybvn3sm1ikjvazqk172ls90lcpr8rlr1";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools_scm
+  ];
+
+  buildInputs = [
+    tiledb
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    wheel # No idea why but it is listed
+  ];
+
+  checkInputs = [
+    psutil
+  ];
+
+  TILEDB_PATH = tiledb;
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  disabled = !isPy3k; # Not bothering with python2 anymore
+
+  postPatch = ''
+    # Hardcode path to shared object
+    substituteInPlace tiledb/__init__.py --replace \
+      'os.path.join(lib_dir, lib_name)' 'os.path.join("${tiledb}/lib", lib_name)'
+    
+    # Disable failing test
+    substituteInPlace tiledb/tests/test_examples.py --replace \
+      "test_docs" "dont_test_docs"
+  '';
+
+  checkPhase = ''
+    pushd "$out"
+    ${python.interpreter} -m unittest tiledb.tests.all.suite_test
+    popd
+  '';
+
+  meta = with lib; {
+    description = "Python interface to the TileDB storage manager";
+    homepage = https://github.com/TileDB-Inc/TileDB-Py;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fridh ];
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix
new file mode 100644
index 00000000000..f4de29b5e6c
--- /dev/null
+++ b/pkgs/development/python-modules/tinydb/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pytestcov
+, pytestrunner
+, pycodestyle
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "tinydb";
+  version = "v3.14.1";
+
+  src = fetchFromGitHub {
+    owner = "msiemens";
+    repo = pname;
+    rev = version;
+    sha256 = "02idbvrm8j4mwsjfkzy11f4png19k307p53s4qa2ifzssysxpb96";
+  };
+
+  nativeBuildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pycodestyle
+    pyyaml
+  ];
+
+  meta = with lib; {
+    description = "A lightweight document oriented database written in pure Python with no external dependencies";
+    homepage = "https://github.com/msiemens/tinydb";
+    license = licenses.asl20;                                                                                                                                                                      
+    maintainers = with maintainers; [ marcus7070 ];
+  };
+}
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index 470a4bb40dd..719ea78b732 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -2,11 +2,11 @@
 
 python.pkgs.buildPythonPackage rec {
   pname   = "tld";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0figmf80y715zv6viqan2nyzpg9aia5dyl25nskirpm5lh1s99w9";
+    sha256 = "5963b22029e632a17bde87e35a19dc8c5b17266fb8c58e4d550d5593307e3a72";
   };
 
   propagatedBuildInputs = with python.pkgs; [ six ];
diff --git a/pkgs/development/python-modules/todoist/default.nix b/pkgs/development/python-modules/todoist/default.nix
index 0a32118338e..08ea37f4ba1 100644
--- a/pkgs/development/python-modules/todoist/default.nix
+++ b/pkgs/development/python-modules/todoist/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "todoist-python";
-  version = "8.1.0";
+  version = "8.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f4d402137f02f415f99acaa9d7ab24016687202dec9a191aee4745a9ce67dc6";
+    sha256 = "0khipf8v0gqvspq7m67aqv0ql3rdqyqr8qfhbm1szc1z6mygj8ns";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index fdc2c9167a3..87dc5130a9c 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.14.0";
+  version = "3.14.2";
 
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4f6b319c20ba4913dbfe71ebfd14ff95d1853c4231493608182f66e566ecfe1";
+    sha256 = "7efd010a98339209f3a8292f02909b51c58417bfc6838ab7eca14cf90f96117a";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index e2f34343763..d906b6d51d5 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.36.1";
+  version = "4.40.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "abc25d0ce2397d070ef07d8c7e706aede7920da163c64997585d42d3537ece3d";
+    sha256 = "f0ab01cf3ae5673d18f918700c0165e5fad0f26b5ebe4b34f62ead92686b5340";
   };
 
-  buildInputs = [ nose coverage glibcLocales flake8 ];
+  checkInputs = [ nose coverage glibcLocales flake8 ];
 
   postPatch = ''
     # Remove performance testing.
diff --git a/pkgs/development/python-modules/traits/default.nix b/pkgs/development/python-modules/traits/default.nix
index bcf205aa1d2..84aa1c5784e 100644
--- a/pkgs/development/python-modules/traits/default.nix
+++ b/pkgs/development/python-modules/traits/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "traits";
-  version = "5.1.2";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a17qmpw0z9h7ybh5yxrghvkcf2q90vgxzbnv1n4i0fxhi7mjy3s";
+    sha256 = "1b71vp0l4523428aw098xw6rmkl8vlcy2aag40akijbyz1nnk541";
   };
 
   # Use pytest because its easier to discover tests
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
new file mode 100644
index 00000000000..09ebf739d7d
--- /dev/null
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage
+, stdenv
+, fetchFromGitHub
+, sacremoses
+, requests
+, sentencepiece
+, boto3
+, tqdm
+, regex
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "transformers";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "huggingface";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1p8p3lhhiyk1xl9gpgq4vbchyz57v3w7hhvsj1r90zs3cckindl8";
+  };
+
+  propagatedBuildInputs = [ numpy sacremoses requests sentencepiece boto3 tqdm regex ];
+
+  checkInputs = [ pytest ];
+  # pretrained tries to download from s3
+  checkPhase = ''
+    cd transformers # avoid importing local files
+    HOME=$TMPDIR pytest -k 'not pretrained_tokenizers'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/huggingface/transformers";
+    description = "State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ pashashocky ];
+  };
+}
diff --git a/pkgs/development/python-modules/trezor_agent/default.nix b/pkgs/development/python-modules/trezor_agent/default.nix
index ea941f0e7ca..ad4a30d97c5 100644
--- a/pkgs/development/python-modules/trezor_agent/default.nix
+++ b/pkgs/development/python-modules/trezor_agent/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec{
     description = "Using Trezor as hardware SSH agent";
     homepage = "https://github.com/romanz/trezor-agent";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ np mmahut ];
+    maintainers = with maintainers; [ hkjn np mmahut ];
   };
 
 }
diff --git a/pkgs/development/python-modules/trustme/default.nix b/pkgs/development/python-modules/trustme/default.nix
index 601e49759fd..8784dad7ad1 100644
--- a/pkgs/development/python-modules/trustme/default.nix
+++ b/pkgs/development/python-modules/trustme/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "trustme";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "103f8n0c60593r0z8hh1zvk1bagxwnhrv3203xpiiddwqxalr04b";
+    sha256 = "f0f96a21b430cc29661644d3569a1112a397ca9cc8595b964d4ae71e5e957529";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 95c58e20d91..fa167896ea0 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.32.0";
+  version = "6.35.1";
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0by2qjzxv13k4lvy4mas0hf468xf98qbc2arc8fcy6aj7h8jaam8";
+    sha256 = "10a1hqvxn0w6z696ay1bbxra6qn8bxg87d6g9iryd2hjnn8sfh4b";
   };
 
   buildInputs = [ nose mock ];
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index a84ab273a4b..92288b6c774 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , pkginfo
 , requests
 , requests_toolbelt
@@ -12,6 +13,7 @@
 buildPythonPackage rec {
   pname = "twine";
   version = "2.0.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index 93c01fe7acb..c2c0fb941fa 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -1,6 +1,6 @@
 {lib, buildPythonPackage, fetchPypi, isPy3k, incremental, ipaddress, twisted
 , automat, zope_interface, idna, pyopenssl, service-identity, pytest, mock, lsof
-, GeoIP}:
+, GeoIP, isPy27}:
 
 buildPythonPackage rec {
   pname = "txtorcon";
@@ -28,6 +28,9 @@ buildPythonPackage rec {
     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;
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix
index ef5fed68912..6c1e85eb93c 100644
--- a/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/pkgs/development/python-modules/typing-extensions/default.nix
@@ -4,11 +4,11 @@ let
 
 in buildPythonPackage rec {
   pname = "typing_extensions";
-  version = "3.7.4";
+  version = "3.7.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15bx773a5zkk4hkwjl8nb5f8y5741vyyqb9q3jac6kxm1frk5mif";
+    sha256 = "091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2";
   };
 
   checkInputs = lib.optional (pythonOlder "3.5") typing;
diff --git a/pkgs/development/python-modules/uamqp/default.nix b/pkgs/development/python-modules/uamqp/default.nix
index af1e2dc6de3..b4bbc84f372 100644
--- a/pkgs/development/python-modules/uamqp/default.nix
+++ b/pkgs/development/python-modules/uamqp/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uamqp";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d15cb12d61a6481f7de412c2d53a99f87650e0d1e5394b047aeee5514964fb8";
+    sha256 = "efb53d244bbe336557bad206f9e48159661934baeb0bfe0addfadc1f69796137";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/uncompyle6/default.nix b/pkgs/development/python-modules/uncompyle6/default.nix
index abc072b19b7..d4e8d1505d6 100644
--- a/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/pkgs/development/python-modules/uncompyle6/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uncompyle6";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e6e86c05de588cbf5a2c35ddd080f23cd1770a1ad15c84dc1b2c78d65113af7";
+    sha256 = "af6aea84ca42c889986f8baf86ccb9e3faae5ac1eaef470d2317dfe4131708b3";
   };
 
   checkInputs = [ nose pytest hypothesis six ];
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index 624ff585c36..8d815833a40 100644
--- a/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
-  version = "2.5.1";
+  version = "2.5.2";
 
   propagatedBuildInputs = [six];
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v6xcs8nx82yw037h296zk0vz5ka4idm4xdpxkcm4h4fnpj8428l";
+    sha256 = "9d28ddf6524cf0ff9293f61bd12e792de298f8561a5c945acea63fb437789e0e";
   };
   meta = with lib; {
     homepage = https://github.com/xmlrunner/unittest-xml-reporting/tree/master/;
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index ff0e5d61482..f98b3411242 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -3,6 +3,7 @@
 , backports_lzma
 , cachetools
 , lz4
+, pandas
 , pytestrunner
 , pytest
 , pkgconfig
@@ -15,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "3.10.8";
+  version = "3.10.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf9b9a6824e82f2e45d44e2c9d8a230ce9f83972e74427543862fdff462fb121";
+    sha256 = "34953903abe09bbab3ec1a9a4843b05c75b218daa6132c8275d871e88b6e3447";
   };
 
   nativeBuildInputs = [ pytestrunner ];
@@ -27,6 +28,7 @@ buildPythonPackage rec {
   checkInputs = [
     lz4
     mock
+    pandas
     pkgconfig
     pytest
     requests
diff --git a/pkgs/development/python-modules/uranium/default.nix b/pkgs/development/python-modules/uranium/default.nix
index 1777a5d1455..a8259451bb0 100644
--- a/pkgs/development/python-modules/uranium/default.nix
+++ b/pkgs/development/python-modules/uranium/default.nix
@@ -2,7 +2,7 @@
 , pyqt5, numpy, scipy, shapely, libarcus, doxygen, gettext, pythonOlder }:
 
 buildPythonPackage rec {
-  version = "4.3.0";
+  version = "4.4.0";
   pname = "uranium";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "Ultimaker";
     repo = "Uranium";
     rev = version;
-    sha256 = "13dk6hkwrzljp1dyb40cyfnfbnl7dvlqsm0ncnmxhwizxr31jb8c";
+    sha256 = "1hy7lhn48mfrmfx6mbqxzc6bfh9ndnvcwjlsb6a71mw62xg6w7c2";
   };
 
   disabled = pythonOlder "3.5.0";
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 57d5c160ef0..0c8c97925a7 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.25.6";
+  version = "1.25.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86";
+    sha256 = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix
index a525846be76..73d797bc43e 100644
--- a/pkgs/development/python-modules/uvicorn/default.nix
+++ b/pkgs/development/python-modules/uvicorn/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.9.0";
+  version = "0.10.4";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix
index 171f6d6ed32..b1fbf26e43b 100644
--- a/pkgs/development/python-modules/uvloop/default.nix
+++ b/pkgs/development/python-modules/uvloop/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "uvloop";
-  version = "0.13.0";
+  version = "0.14.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0blcnrd5vky2k1m1p1skx4516dr1jx76yyb0c6fi82si6mqd0b4l";
+    sha256 = "07j678z9gf41j98w72ysrnb5sa41pl5yxd7ib17lcwfxqz0cjfhj";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin_sandbox.patch;
diff --git a/pkgs/development/python-modules/validators/default.nix b/pkgs/development/python-modules/validators/default.nix
index 241dffe7167..5efd676f53d 100644
--- a/pkgs/development/python-modules/validators/default.nix
+++ b/pkgs/development/python-modules/validators/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "validators";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bhla1l8gbks572zp4f254acz23822dz2mp122djxvp328i87b7h";
+    sha256 = "0bfe836a1af37bb266d71ec1e98b530c38ce11bc7fbe0c4c96ef7b1532d019e5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/vcrpy/default.nix b/pkgs/development/python-modules/vcrpy/default.nix
index 507a082f9a0..ef3e92f01a7 100644
--- a/pkgs/development/python-modules/vcrpy/default.nix
+++ b/pkgs/development/python-modules/vcrpy/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "vcrpy";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0e79239441fb4c731da9f05aecbd062223ef1f4ab668d2400c63c347a7071414";
+    sha256 = "27cc696df66d77703eab5cdfa041b2f9877bbf2b54bcd390de89a4be964ca536";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index 5d7e2c6b663..cd434bb6e3b 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "16.7.7";
+  version = "16.7.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d257bb3773e48cac60e475a19b608996c73f4d333b3ba2e4e57d5ac6134e0136";
+    sha256 = "116655188441670978117d0ebb6451eb6a7526f9ae0796cc0dee6bd7356909b0";
   };
 
   # Doubt this is needed - FRidh 2017-07-07
diff --git a/pkgs/development/python-modules/vsts-cd-manager/default.nix b/pkgs/development/python-modules/vsts-cd-manager/default.nix
new file mode 100644
index 00000000000..5946fec05b7
--- /dev/null
+++ b/pkgs/development/python-modules/vsts-cd-manager/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, msrest
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "1.0.2";
+  pname = "vsts-cd-manager";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ys4hrmjbxl4qr26qr3dhhs27yfwn1635vwjdqh1qgjmrmcr1c0b";
+  };
+
+  propagatedBuildInputs = [ msrest mock ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "vsts_cd_manager" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/wasabi/default.nix b/pkgs/development/python-modules/wasabi/default.nix
index 6cbb2aa48db..d50ac4106e6 100644
--- a/pkgs/development/python-modules/wasabi/default.nix
+++ b/pkgs/development/python-modules/wasabi/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "wasabi";
-  version = "0.3.0";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f18x27qrr29rgxyiy1k9b469i37n80h0x9vd9i22pyg8wxx67q5";
+    sha256 = "9af48b37709000dac34653be376aaac2e3e15392b8c78d0898124c52e083d088";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/weboob/default.nix b/pkgs/development/python-modules/weboob/default.nix
index e938cdaa3fb..d0a5d6116f8 100644
--- a/pkgs/development/python-modules/weboob/default.nix
+++ b/pkgs/development/python-modules/weboob/default.nix
@@ -1,8 +1,24 @@
-{ buildPythonPackage, fetchPypi, stdenv
-, nose, pillow, prettytable, pyyaml, dateutil, gdata
-, requests, mechanize, feedparser, lxml, gnupg, pyqt5
-, libyaml, simplejson, cssselect, pdfminer
-, termcolor, google_api_python_client, html2text
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, cssselect
+, dateutil
+, feedparser
+, futures
+, gdata
+, gnupg
+, google_api_python_client
+, html2text
+, libyaml
+, lxml
+, mechanize
+, nose
+, pdfminer
+, pillow
+, prettytable
+, pyqt5
+, pyyaml
+, requests
+, simplejson
+, termcolor
 , unidecode
 }:
 
@@ -34,10 +50,27 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pyqt5 ];
 
-  propagatedBuildInputs = [ pillow prettytable pyyaml dateutil
-    gdata requests mechanize feedparser lxml gnupg pyqt5 libyaml
-    simplejson cssselect pdfminer termcolor
-    google_api_python_client html2text unidecode ];
+  propagatedBuildInputs = [
+    cssselect
+    dateutil
+    feedparser
+    gdata
+    gnupg
+    google_api_python_client
+    html2text
+    libyaml
+    lxml
+    mechanize
+    pdfminer
+    pillow
+    prettytable
+    pyqt5
+    pyyaml
+    requests
+    simplejson
+    termcolor
+    unidecode
+  ] ++ lib.optionals isPy27 [ futures ];
 
   checkPhase = ''
     nosetests
@@ -46,6 +79,6 @@ buildPythonPackage rec {
   meta = {
     homepage = http://weboob.org;
     description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
-    license = stdenv.lib.licenses.agpl3;
+    license = lib.licenses.agpl3;
   };
 }
diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix
index 9202d02ad5b..1e1e1ef58a8 100644
--- a/pkgs/development/python-modules/websockets/default.nix
+++ b/pkgs/development/python-modules/websockets/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "websockets";
-  version = "8.0.2";
+  version = "8.1";
 
   src = fetchFromGitHub {
     owner = "aaugustin";
     repo = pname;
     rev = version;
-    sha256 = "02fgb8gib4z5fqv30brz3mhxmblw9bw0978fhpjdrkj7wvqrz5h8";
+    sha256 = "05jbqcbjg50ydwl0fijhdlqcq7fl6v99kjva66kmmzzza7vwa872";
   };
 
   disabled = pythonOlder "3.3";
diff --git a/pkgs/development/python-modules/wfuzz/default.nix b/pkgs/development/python-modules/wfuzz/default.nix
new file mode 100644
index 00000000000..a43aa915ea0
--- /dev/null
+++ b/pkgs/development/python-modules/wfuzz/default.nix
@@ -0,0 +1,51 @@
+{ buildPythonPackage
+, chardet
+, configparser
+, fetchFromGitHub
+, future
+, isPy27
+, lib
+, mock
+, netaddr
+, pkgs
+, pyparsing
+, pycurl
+, pytest
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "wfuzz";
+  version = "2.4.2";
+
+  src = fetchFromGitHub {
+    owner = "xmendez";
+    repo = pname;
+    rev = "v.${version}";
+    sha256 = "15dihrc7jsvpxcmb4fp254s633mkjm7ksjfkr9pqaai49qmnddyf";
+  };
+
+  buildInputs = [ pyparsing configparser ];
+
+  propagatedBuildInputs = [
+    chardet
+    future
+    pycurl
+    six
+  ];
+
+  checkInputs = [ netaddr pytest ] ++ lib.optionals isPy27 [ mock ];
+
+  # Skip tests requiring a local web server.
+  checkPhase = ''
+    HOME=$TMPDIR pytest \
+      tests/test_{moduleman,filterintro,reqresp,api,clparser,dotdict}.py
+  '';
+
+  meta = with lib; {
+    description = "Web content fuzzer, to facilitate web applications assessments";
+    homepage = "https://wfuzz.readthedocs.io";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pamplemousse ];
+  };
+}
diff --git a/pkgs/development/python-modules/whisper/default.nix b/pkgs/development/python-modules/whisper/default.nix
index 407bb88fa2a..134d797ecf8 100644
--- a/pkgs/development/python-modules/whisper/default.nix
+++ b/pkgs/development/python-modules/whisper/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14013e7563102d808aae0cb5b3b2326979236d4bcd54c343ea636761629920cd";
+    sha256 = "8dbb3b7cf4a02a080162467fff5cd38bf77940c3e2b25f7c4f78529427ca9cfe";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/willow/default.nix b/pkgs/development/python-modules/willow/default.nix
index fb9182ab179..138facad701 100644
--- a/pkgs/development/python-modules/willow/default.nix
+++ b/pkgs/development/python-modules/willow/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "willow";
-  version = "1.1";
+  version = "1.3";
   disabled = pythonOlder "2.7";
 
   src = fetchPypi {
     pname = "Willow";
     inherit version;
-    sha256 = "818ee11803c90a0a6d49c94b0453d6266be1ef83ae00de72731c45fae4d3e78c";
+    sha256 = "0dzc3cjkwp0h3v1n94c33zr5yw5fdd6dkm6vccp9i8dncmpw912g";
   };
 
   propagatedBuildInputs = [ six pillow ];
diff --git a/pkgs/development/python-modules/word2vec/default.nix b/pkgs/development/python-modules/word2vec/default.nix
index 36b4b71e052..706ee732402 100644
--- a/pkgs/development/python-modules/word2vec/default.nix
+++ b/pkgs/development/python-modules/word2vec/default.nix
@@ -3,19 +3,23 @@
 , fetchPypi
 , cython
 , numpy
+, scikitlearn
+, six
 , python
+, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "word2vec";
   version = "0.10.2";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "40f6f30a5f113ffbfc24c5ad5de23bfac897f4c1210fb93685b7fca5c4dee7db";
   };
 
-  propagatedBuildInputs = [ cython numpy ];
+  propagatedBuildInputs = [ cython numpy scikitlearn six ];
 
   checkPhase = ''
    cd word2vec/tests;
@@ -27,7 +31,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/danielfrg/word2vec";
     license     = licenses.asl20;
     maintainers = with maintainers; [ NikolaMandic ];
-    broken = true;
   };
 
 }
diff --git a/pkgs/development/python-modules/wrf-python/default.nix b/pkgs/development/python-modules/wrf-python/default.nix
index 8d1443837cd..29c1f8dfa79 100644
--- a/pkgs/development/python-modules/wrf-python/default.nix
+++ b/pkgs/development/python-modules/wrf-python/default.nix
@@ -1,19 +1,20 @@
-{lib, fetchFromGitHub, pythonOlder, buildPythonPackage, gfortran, mock, xarray, wrapt, numpy, netcdf4}:
+{lib, fetchFromGitHub, pythonOlder, buildPythonPackage, gfortran, mock, xarray, wrapt, numpy, netcdf4, setuptools}:
 
 buildPythonPackage rec {
   pname = "wrf-python";
-  version = "1.3.1.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "NCAR";
     repo = "wrf-python";
     rev = version;
-    sha256 = "12mm7x1r5md6x28vmwyh6k655pgsv6knj8ycmjbxxk8bk7qsj74h";
+    sha256 = "1rklkki54z5392cpwwy78bnmsy2ghc187l3j7nv0rzn6jk5bvyi7";
   };
 
   propagatedBuildInputs = [
     wrapt
     numpy
+    setuptools
     xarray
   ];
 
@@ -39,4 +40,4 @@ buildPythonPackage rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ mhaselsteiner ];
 	};
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/wtf-peewee/default.nix b/pkgs/development/python-modules/wtf-peewee/default.nix
new file mode 100644
index 00000000000..a01aaa4631a
--- /dev/null
+++ b/pkgs/development/python-modules/wtf-peewee/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, peewee
+, wtforms
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "wtf-peewee";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "acd05d136c8595da3327fcf9176fa85fdcec1f2aac51d235e46e6fc7a0871283";
+  };
+
+  propagatedBuildInputs = [
+    peewee
+    wtforms
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} runtests.py
+  '';
+
+  meta = with lib; {
+    description = "WTForms integration for peewee models";
+    homepage = https://github.com/coleifer/wtf-peewee/;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/wurlitzer/default.nix b/pkgs/development/python-modules/wurlitzer/default.nix
index d1797acb7d2..b946d23acf6 100644
--- a/pkgs/development/python-modules/wurlitzer/default.nix
+++ b/pkgs/development/python-modules/wurlitzer/default.nix
@@ -1,19 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, isPy27
 , mock
 , pytest
+, selectors2
 }:
 
 buildPythonPackage rec {
   pname = "wurlitzer";
-  version = "1.0.3";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nab45pfgqdxhhyshf717xfzniss2h3bx19zdaq9gqr6v8lw6wpr";
+    sha256 = "0xndv47iwc9k8cp5r9r1z3r0xww0r5x5b7qsmn39gk2gsg0119c6";
   };
 
+  propagatedBuildInputs = lib.optionals isPy27 [ selectors2 ];
+
   checkInputs = [ mock pytest ];
 
   checkPhase = ''
@@ -25,4 +29,4 @@ buildPythonPackage rec {
     homepage = https://github.com/minrk/wurlitzer;
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index f03d1fb1e87..689a1336ef7 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "wxPython";
-  version = "4.0.7";
+  version = "4.0.7.post2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cq2iyqm08ihazh5xzdsha5h22mba0w4a0y7iikn6c6yvszhiriv";
+    sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/xapp/default.nix b/pkgs/development/python-modules/xapp/default.nix
new file mode 100644
index 00000000000..440db343025
--- /dev/null
+++ b/pkgs/development/python-modules/xapp/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, psutil
+, pygobject3
+, gtk3
+, gobject-introspection
+, xapps
+, polkit
+}:
+
+buildPythonPackage rec {
+  pname = "xapp";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = "python-xapp";
+    rev = version;
+    sha256 = "0vw3cn09nx75lv4d9idp5fdhd81xs279zhbyyilynq29cxxs2zil";
+  };
+
+  propagatedBuildInputs = [
+    psutil
+    pygobject3
+    gtk3
+    gobject-introspection
+    xapps
+    polkit
+  ];
+
+  postPatch = ''
+    substituteInPlace "xapp/os.py" --replace "/usr/bin/pkexec" "${polkit}/bin/pkexec"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/python-xapp";
+    description = "Cross-desktop libraries and common resources for python";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index 58f54aa15b9..c7f0fb1ecf8 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a8b93e1b0af27fa7de199a2d36933f1f5acc9854783646b0f1b37fed9b4da091";
+    sha256 = "04b2f4d24707b8871a7ffa37328d0a2de74e81bd30791c9608712612601abd23";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xattr/default.nix b/pkgs/development/python-modules/xattr/default.nix
index c8940b54c46..35c11e90088 100644
--- a/pkgs/development/python-modules/xattr/default.nix
+++ b/pkgs/development/python-modules/xattr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "xattr";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458";
+    sha256 = "b0bbca828e04ef2d484a6522ae7b3a7ccad5e43fa1c6f54d78e24bb870f49d44";
   };
 
   propagatedBuildInputs = [ cffi ];
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index d120f17780b..533e8d8b577 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "4.1.2";
+  version = "4.1.3";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "0icqhafsnmcs6628cg3jjgq0d3x835nqmhljcz93yi457hfqd2lp";
+    sha256 = "0ixx9svyi0kw3z2i51cv1cyg4l5z8hy432kxgsvz20mr9a8z5c91";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index ccb4d879be9..1a54b8b4049 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "2.34.0";
+  version = "2.35.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b9543edacc2f4fa12cea8b64ae8144afb493d7b2a0135494642f29592b5d272";
+    sha256 = "0jpg9rxxw28n66wzznlhzdgv7b7gd1crcffjhlw7lam93ils4ah5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmlschema/default.nix b/pkgs/development/python-modules/xmlschema/default.nix
index bd5f9eb40b8..81a5a94abf9 100644
--- a/pkgs/development/python-modules/xmlschema/default.nix
+++ b/pkgs/development/python-modules/xmlschema/default.nix
@@ -4,14 +4,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.15";
+  version = "1.0.17";
   pname = "xmlschema";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "v${version}";
-    sha256 = "1s8ggvy2s7513cxcal3r37rn1bhpkxhq3hs5m9pgvmrysxjdz8lb";
+    sha256 = "0wbz243q8028ljnh6nq3kxawiwpg5p2bwg1b23ibf7zbrhazcj4k";
   };
 
   propagatedBuildInputs = [ elementpath ];
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index a1d6eaea600..66f31441ec5 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.4.3";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82cdc67b41da904aa2921107e9877814079d9b067a99f19852b5d85e8a40555d";
+    sha256 = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix
index 0406f6fe5a0..1b83c8987a1 100644
--- a/pkgs/development/python-modules/yamllint/default.nix
+++ b/pkgs/development/python-modules/yamllint/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "076hqf189ww95n9vcbkkn8an42nx79cy8pf2qnl251yjncsvnbfl";
+    sha256 = "05fg2i27bq40z83avmz3h91i206dx5k6nyyvpa5vja54sqg14q02";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/yowsup/argparse-dependency.patch b/pkgs/development/python-modules/yowsup/argparse-dependency.patch
deleted file mode 100644
index e2b9f0c9a74..00000000000
--- a/pkgs/development/python-modules/yowsup/argparse-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 991e89c..7a96ccf 100755
---- a/setup.py
-+++ b/setup.py
-@@ -5,7 +5,7 @@ import yowsup
- import platform
- import sys
- 
--deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10']
-+deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six']
- 
- if sys.version_info < (2,7):
-     deps += ['importlib', "protobuf==3.4.0"]
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index 5fa4af18c08..0436fe8a0f0 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -1,10 +1,10 @@
 { buildPythonPackage, stdenv, fetchFromGitHub, six, python-axolotl, pytest
-, isPy3k
+, isPy3k, consonance, appdirs
 }:
 
 buildPythonPackage rec {
   pname = "yowsup";
-  version = "2.5.7";
+  version = "3.2.3";
 
   # The Python 2.x support of this package is incompatible with `six==1.11`:
   # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "1p0hdj5x38v2cxjnhdnqcnp5g7la57mbi365m0z83wa01x2n73w6";
+    sha256 = "0wb8yl685nr1i3vx89hwan5m6a482x8g48f5ksvdlph538p720pm";
   };
 
   checkInputs = [ pytest ];
@@ -22,9 +22,9 @@ buildPythonPackage rec {
     HOME=$(mktemp -d) py.test yowsup
   '';
 
-  patches = [ ./argparse-dependency.patch ];
+  patches = [ ./dependency-fixes.patch ];
 
-  propagatedBuildInputs = [ six python-axolotl ];
+  propagatedBuildInputs = [ six python-axolotl consonance appdirs ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/tgalal/yowsup";
diff --git a/pkgs/development/python-modules/yowsup/dependency-fixes.patch b/pkgs/development/python-modules/yowsup/dependency-fixes.patch
new file mode 100644
index 00000000000..eab56332d49
--- /dev/null
+++ b/pkgs/development/python-modules/yowsup/dependency-fixes.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e3871a7..930bd6a 100755
+--- a/setup.py
++++ b/setup.py
+@@ -5,7 +5,7 @@ import yowsup
+ import platform
+ import sys
+ 
+-deps = ['consonance==0.1.2', 'argparse', 'python-axolotl==0.2.2', 'six==1.10', 'appdirs', 'protobuf>=3.6.0']
++deps = ['consonance>=0.1', 'python-axolotl>=0.2', 'six>=1.10', 'appdirs', 'protobuf>=3.6.0']
+ 
+ if sys.version_info < (2, 7):
+     deps.append('importlib')
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
new file mode 100644
index 00000000000..1f490fea05f
--- /dev/null
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, zigpy
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "zha-quirks";
+  version = "0.0.28";
+
+  nativeBuildInputs = [ pytest ];
+  buildInputs = [ aiohttp zigpy ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "021z5f5dm74amxkqnz4s1690ydprciqg23jz3n4mpjlxyxbdfj73";
+  };
+
+  meta = with stdenv.lib; {
+    description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
+    homepage = "https://github.com/dmulcahey/zha-device-handlers";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
new file mode 100644
index 00000000000..c9df7824093
--- /dev/null
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, crccheck, pyserial, pyserial-asyncio, pycryptodome, zigpy
+, pytest }:
+
+buildPythonPackage rec {
+  pname = "zigpy-deconz";
+  version = "0.7.0";
+
+  nativeBuildInputs = [ pytest ];
+  buildInputs = [ aiohttp crccheck pycryptodome ];
+  propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "049k6lvgf6yjkinbbzm7gqrzqljk2ky9kfw8n53x8kjyfmfp71i2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library which communicates with Deconz radios for zigpy";
+    homepage = "https://github.com/zigpy/zigpy-deconz";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
new file mode 100644
index 00000000000..726f1fde4e6
--- /dev/null
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, aiohttp, crccheck, pycryptodome, pycrypto
+, pytest, pytest-asyncio, asynctest }:
+
+buildPythonPackage rec {
+  pname = "zigpy-homeassistant";
+  version = "0.11.0";
+
+  nativeBuildInputs = [ pytest pytest-asyncio asynctest ];
+  buildInputs = [ aiohttp pycryptodome ];
+  propagatedBuildInputs = [ crccheck pycrypto ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "021wg9yhz8dsif60r8s5621mf63bsayjjb2bimhq0am03ql0fysl";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library implementing a ZigBee stack";
+    homepage = "https://github.com/zigpy/zigpy";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 1e577fc487c..b24b5853876 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "1.0.4";
+  version = "2.0.0";
   disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n4hng2zil1j8sbz0b83pxx8ndlh34h2mnmli3bqjmnrbry5zlr5";
+    sha256 = "0fb7c7pnz86pcs6qqwlyw72vnijc04ns2h1zfrm0h7yl8q7r7ng0";
   };
 
   # fails..
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index e08973ecdea..537fc1465f2 100644
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/pkgs/development/python-modules/zope_proxy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.proxy";
-  version = "4.3.2";
+  version = "4.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab6d6975d9c51c13cac828ff03168de21fb562b0664c59bcdc4a4b10f39a5b17";
+    sha256 = "dac4279aa05055d3897ab5e5ee5a7b39db121f91df65a530f8b1ac7f9bd93119";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/python-modules/zstd/default.nix b/pkgs/development/python-modules/zstd/default.nix
index 3f9dac6d42c..6c1b9c2bb5b 100644
--- a/pkgs/development/python-modules/zstd/default.nix
+++ b/pkgs/development/python-modules/zstd/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zstd";
-  version = "1.4.3.2";
+  version = "1.4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h4wvzikar4ryhawm7clh29bvhbpy0ix1rlxhg9x195fpq56vsh7";
+    sha256 = "33f2c1fd8d3f9ac8e35fb3e199896afc54cceb68878570c6d4b72985dc6584a5";
   };
 
   postPatch = ''
diff --git a/pkgs/development/r-modules/bioc-packages.nix b/pkgs/development/r-modules/bioc-packages.nix
index 03a30aad499..a849ec0c026 100644
--- a/pkgs/development/r-modules/bioc-packages.nix
+++ b/pkgs/development/r-modules/bioc-packages.nix
@@ -457,7 +457,7 @@ in with self; {
   M3C = derive2 { name="M3C"; version="1.4.1"; sha256="0l9063bn0sfcq5qxghaj8f98x0pg91fwsd8l64ga8d7pnlm8i5fm"; depends=[cluster dendextend doParallel doSNOW foreach ggplot2 Matrix matrixcalc NMF RColorBrewer Rtsne sigclust survival]; };
   M3D = derive2 { name="M3D"; version="1.16.0"; sha256="0a7xs3kqvyxswsa4zcdakij4rvpv1pr4fmplnvxyskhh2zps7xyl"; depends=[BiocGenerics BiSeq GenomicRanges IRanges Rcpp S4Vectors SummarizedExperiment]; };
   M3Drop = derive2 { name="M3Drop"; version="1.8.1"; sha256="0bzxv4lnmbz4d7y1c2w7i013rfjscnj1ndb05k9n1i4c9gsknqya"; depends=[bbmle gplots numDeriv RColorBrewer statmod]; };
-  MACPET = derive2 { name="MACPET"; version="1.2.0"; sha256="0799d3pr5b6g7xbi75pf693768nspdc73qay72naghyql6g91s96"; depends=[BH bigmemory BiocParallel Biostrings futile_logger GenomeInfoDb GenomicAlignments GenomicRanges GEOquery gtools InteractionSet intervals IRanges knitr plyr Rbowtie Rcpp Rsamtools rtracklayer S4Vectors ShortRead]; };
+  MACPET = derive2 { name="MACPET"; version="1.2.0"; sha256="0799d3pr5b6g7xbi75pf693768nspdc73qay72naghyql6g91s96"; depends=[BH bigmemory BiocParallel Biostrings futile_logger GenomeInfoDb GenomicAlignments GenomicRanges GEOquery gtools InteractionSet intervals IRanges knitr plyr rbamtools Rbowtie Rcpp Rsamtools rtracklayer S4Vectors ShortRead]; };
   MADSEQ = derive2 { name="MADSEQ"; version="1.8.0"; sha256="1b7d6niz8lhvd17xjl4hy1yyki049cg6wd3g8wp38bm3zs6dzfd1"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 coda GenomeInfoDb GenomicAlignments GenomicRanges IRanges preprocessCore rjags Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation vcfR VGAM zlibbioc]; };
   MAGeCKFlute = derive2 { name="MAGeCKFlute"; version="1.2.3"; sha256="1d2lllsz2jdqma1ifdg7xj9fby85az7bifn0h0hj705m6dyla42z"; depends=[biomaRt bladderbatch clusterProfiler data_table DOSE ggExtra ggplot2 ggrepel ggsci gridExtra pathview pheatmap png sva]; };
   MAIT = derive2 { name="MAIT"; version="1.16.1"; sha256="0fg3cah81c4gzm3hw590h4grrja2qgfs8mrpkbifrgsclbybnp95"; depends=[agricolae CAMERA caret class e1071 gplots MASS pls plsgenomics Rcpp xcms]; };
@@ -538,7 +538,7 @@ in with self; {
   NADfinder = derive2 { name="NADfinder"; version="1.6.1"; sha256="0kz7dz95kdz5dz05bh7x6czrwdr1imaq1mv6bncxxhv1mffhmb9v"; depends=[ATACseqQC baseline BiocGenerics corrplot csaw EmpiricalBrownsMethod GenomeInfoDb GenomicAlignments GenomicRanges IRanges limma metap Rsamtools rtracklayer S4Vectors signal SummarizedExperiment trackViewer]; };
   NBSplice = derive2 { name="NBSplice"; version="1.0.6"; sha256="1nalcpj7n4qghmkrfq65xd4i0aack2yq4l2wwsy4z0sfi7gh6m49"; depends=[BiocParallel car edgeR ggplot2 MASS mppa reshape2]; };
   NCIgraph = derive2 { name="NCIgraph"; version="1.30.0"; sha256="16mxxrq6g4szig29cah2a13qp1ybsh8ci37izlq6gpxn0h00maym"; depends=[graph KEGGgraph R_methodsS3 RBGL RCy3]; };
-  NGScopy = derive2 { name="NGScopy"; version="1.16.1"; sha256="1zfasfbzzay402igag1ynffz2v9ad70wdy5vs02q0api3rkkn406"; depends=[changepoint Xmisc]; };
+  NGScopy = derive2 { name="NGScopy"; version="1.16.1"; sha256="1zfasfbzzay402igag1ynffz2v9ad70wdy5vs02q0api3rkkn406"; depends=[changepoint rbamtools Xmisc]; };
   NOISeq = derive2 { name="NOISeq"; version="2.26.1"; sha256="1wyhhi9ydlbjlz427093mdp5ppby77n37w5c2iyxlpsdk2m2nqsn"; depends=[Biobase Matrix]; };
   NTW = derive2 { name="NTW"; version="1.32.0"; sha256="10ndg6mina5wz3w87wpv4mnbxdyj6rhvc9jqf954wmh6gj04vyin"; depends=[mvtnorm]; };
   NanoStringDiff = derive2 { name="NanoStringDiff"; version="1.12.0"; sha256="1927ry931ckjrci6yfk3fh774bizh4yb5f7p7x1ra1yxzfizq7k3"; depends=[Biobase matrixStats Rcpp]; };
@@ -1558,7 +1558,7 @@ in with self; {
   spikeLI = derive2 { name="spikeLI"; version="2.42.0"; sha256="055zbrbh6wf3vvnc9p8px2ffz9wdhdg0h96260r7c72ax3v6wi5g"; depends=[]; };
   spkTools = derive2 { name="spkTools"; version="1.38.0"; sha256="0rm2vlzid3wjm1g1kzmjklga1gcf852aznhxb1xr50v8drivkkz9"; depends=[Biobase gtools RColorBrewer]; };
   splatter = derive2 { name="splatter"; version="1.6.1"; sha256="1kw9shzqwph44q2fksgp79mrjq23j3806clc4xydw3ys2w4kspj8"; depends=[akima BiocGenerics BiocParallel checkmate crayon edgeR fitdistrplus ggplot2 locfit matrixStats scales scater SingleCellExperiment SummarizedExperiment]; };
-  spliceSites = derive2 { name="spliceSites"; version="1.30.0"; sha256="1j40awy9irx53d1cdsx52pnxirjrrvgsj9zx5qhl2556ca65l26n"; depends=[Biobase BiocGenerics Biostrings doBy IRanges refGenome seqLogo]; };
+  spliceSites = derive2 { name="spliceSites"; version="1.30.0"; sha256="1j40awy9irx53d1cdsx52pnxirjrrvgsj9zx5qhl2556ca65l26n"; depends=[Biobase BiocGenerics Biostrings doBy IRanges rbamtools refGenome seqLogo]; };
   splicegear = derive2 { name="splicegear"; version="1.54.0"; sha256="0phpkgjkc4c8lfr8xsciqyz7imsjpc3sxwsh95glxhrsm7i2mnip"; depends=[annotate Biobase XML]; };
   splineTimeR = derive2 { name="splineTimeR"; version="1.10.0"; sha256="15dzhijkhpy7d8hwif59bic83fk6fnyjpp4qi7y7vwq139j6yaj2"; depends=[Biobase FIs GeneNet GSEABase gtools igraph limma longitudinal]; };
   splots = derive2 { name="splots"; version="1.48.0"; sha256="0s10ha17p4yf6id0h0r0a2fk992jp4ah7v8ani689zy6pcc0w34d"; depends=[RColorBrewer]; };
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index 1a00fcd4084..8099944156b 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -4,7 +4,7 @@
 # Rscript generate-r-packages.R cran >new && mv new cran-packages.nix
 
 { self, derive }:
-let derive2 = derive { snapshot = "2019-10-04"; };
+let derive2 = derive { snapshot = "2019-12-03"; };
 in with self; {
   A3 = derive2 { name="A3"; version="1.0.0"; sha256="017hq9pjsv1h9i7cqk5cfx27as54shlhdsdvr6jkhb8jfkpdb6cw"; depends=[pbapply xtable]; };
   ABACUS = derive2 { name="ABACUS"; version="1.0.0"; sha256="0m1dnkwjr1522l9ddbzzx7ayxvli17sbmk6s28adpmzzjwh2kd1i"; depends=[ggplot2 shiny]; };
@@ -24,7 +24,7 @@ in with self; {
   ACSNMineR = derive2 { name="ACSNMineR"; version="0.16.8.25"; sha256="0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"; depends=[ggplot2 gridExtra scales]; };
   ACSWR = derive2 { name="ACSWR"; version="1.0"; sha256="195vjrkang5cl7gwsna0aq4p0h4jym9xg9yh94bnf8vq6wf8j83n"; depends=[MASS]; };
   ACTCD = derive2 { name="ACTCD"; version="1.2-0"; sha256="0mzjxxr2zfdidw8ibh6w8mvpkw3q3nvngqi05g9ind26ckvk053p"; depends=[GDINA R_methodsS3]; };
-  ADAPTS = derive2 { name="ADAPTS"; version="0.9.21"; sha256="18cx58rfc2s7lcrc7nhq24564av3wgrsjhc6k62yr7f36474cq1b"; depends=[ComICS DeconRNASeq doParallel e1071 foreach missForest nnls pcaMethods pheatmap preprocessCore quantmod WGCNA]; };
+  ADAPTS = derive2 { name="ADAPTS"; version="0.9.26"; sha256="1s0mwascqlyrqfw672cwrkmaviclmhhxibac98brki7r0fxlk3j2"; depends=[ComICS DeconRNASeq doParallel e1071 foreach missForest nnls pcaMethods pheatmap preprocessCore quantmod WGCNA]; };
   ADCT = derive2 { name="ADCT"; version="0.1.0"; sha256="1glf83ydx4v3ld8c4gb9h3jk6srd054bis5l8k57p1ba4fnqnnpp"; depends=[mvtnorm]; };
   ADDT = derive2 { name="ADDT"; version="2.0"; sha256="044bb1jw2m8vwk5q8l7rlz4kqphjvy8i9d59rjg0k5q5l9vczfrp"; depends=[coneproj Matrix nlme]; };
   ADGofTest = derive2 { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
@@ -34,7 +34,7 @@ in with self; {
   ADPF = derive2 { name="ADPF"; version="0.0.1"; sha256="1n7302xx77ngvp9i2h582i1mqslzllcdr0bn3pl2zk9jd8k97p7n"; depends=[]; };
   ADPclust = derive2 { name="ADPclust"; version="0.7"; sha256="0s47cpsjykn7imsssa9w9b6g9d1sz2yah78yqzxmh0i3lqd757c1"; depends=[cluster dplyr fields knitr]; };
   AEDForecasting = derive2 { name="AEDForecasting"; version="0.20.0"; sha256="16q2sn5zzvysyy3r32jnr21pbdkkn0k0sbarni6fdkx7pj27yijn"; depends=[changepoint forecast signal]; };
-  AER = derive2 { name="AER"; version="1.2-7"; sha256="14wahf8qwv66rv7wbv53y8rslid140n9n7kcr8nhqw8kcdh5rvis"; depends=[car Formula lmtest sandwich survival zoo]; };
+  AER = derive2 { name="AER"; version="1.2-8"; sha256="04qfqv36scl5r5fssz0qzbq64602x8bj02fy1f2gzrmvlf315gh9"; depends=[car Formula lmtest sandwich survival zoo]; };
   AF = derive2 { name="AF"; version="0.1.5"; sha256="1r87ra55g0qm2s8cgsmdwck93ia2vr8zfab3in45mxm5xc501xgk"; depends=[data_table drgee ivtools stdReg survival]; };
   AFM = derive2 { name="AFM"; version="1.2.6"; sha256="0yngk3j1wkamqzrwibn2csbn61jbdb872n0gi4d3hyhgilqzwbwf"; depends=[data_table dbscan fftwtools fractaldim ggplot2 gridExtra gstat igraph mixtools moments plyr png pracma rgl scales shiny shinyjs sp stringr]; };
   AFheritability = derive2 { name="AFheritability"; version="0.1.0"; sha256="03w0a4z2x539ykyzdxm1mfqkhzz03cg0aqvgi062jrrm5m6f57ix"; depends=[ggplot2 mvtnorm reshape2 shiny]; };
@@ -56,6 +56,7 @@ in with self; {
   ALSCPC = derive2 { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
   ALSM = derive2 { name="ALSM"; version="0.2.0"; sha256="1g7zk8q462j4faq5wzzghkjc003ny6rj8hrymsgvh3fg3a72lvy3"; depends=[car leaps SuppDists]; };
   ALTopt = derive2 { name="ALTopt"; version="0.1.1"; sha256="0frpnycnljz6r24cg4z99ivm3rbg9j1nxfkhw18vbrb7gcl1hqj6"; depends=[cubature lattice]; };
+  ALassoSurvIC = derive2 { name="ALassoSurvIC"; version="0.1.0"; sha256="0q02rz947bp6i7sbb5nzxq8ky74iprdnpbwnmnn7vg29vhca4b09"; depends=[Rcpp]; };
   AMAP_Seq = derive2 { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
   AMCP = derive2 { name="AMCP"; version="0.0.4"; sha256="051xvnr4zc25w00kh4gkffgigmhmcbqpwh9654jv37glr8ip2v3l"; depends=[]; };
   AMCTestmakeR = derive2 { name="AMCTestmakeR"; version="1.0.0"; sha256="1vgncc61gmqhax2a7072jb36bzkycv80xqihkr5qs8jxnqqkndxd"; depends=[]; };
@@ -65,10 +66,11 @@ in with self; {
   AMOEBA = derive2 { name="AMOEBA"; version="1.1"; sha256="1npzh3rpfnxd4r1pj1hm214sfgbw4wmq4ws093lnl7pvsl0q37xn"; depends=[rlecuyer snowfall spdep]; };
   AMORE = derive2 { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
   AMPLE = derive2 { name="AMPLE"; version="0.0.2"; sha256="0j19f8rl7gkads4n52l5gfc5k7dx27sswzrypwl7dnxhfp4ivql7"; depends=[dplyr ggplot2 shiny shinyjs tidyr wesanderson]; };
-  AMR = derive2 { name="AMR"; version="0.7.1"; sha256="1dgdiaa0xfdgdyaps2mx7xb4zis8rf5npa9cr2lz72nlhh3b0h5h"; depends=[backports crayon data_table dplyr ggplot2 hms knitr microbenchmark rlang scales tidyr]; };
+  AMR = derive2 { name="AMR"; version="0.9.0"; sha256="14y7ghqhx3apc2ad4lbjd2swzwgw1qzj0scdgx8jq4b2cv4z2gz6"; depends=[backports cleaner crayon data_table dplyr ggplot2 knitr microbenchmark pillar rlang tidyr]; };
   ANN2 = derive2 { name="ANN2"; version="2.3.2"; sha256="0ib6cs2az0hhfg7vj4dk6fxbwjlc305psqjs188fdya2jrxgq1gs"; depends=[ggplot2 Rcpp RcppArmadillo reshape2 testthat viridisLite]; };
   ANOM = derive2 { name="ANOM"; version="0.5"; sha256="14nfy9xplbabfprwxz5fvx26nmqhp657vr6d90dc8vk8ds63ckiz"; depends=[ggplot2 MCPAN multcomp nparcomp SimComp]; };
   ANOVA_TFNs = derive2 { name="ANOVA.TFNs"; version="1.0"; sha256="0dwspvxj2gzyvxsd9xyhv47n1hjlqa7z9qza4h3hn1xda12vkjly"; depends=[FuzzyNumbers]; };
+  ANOVAIREVA = derive2 { name="ANOVAIREVA"; version="0.1.0"; sha256="04z2g79nnh5yhn4aqw0i7ck2b1z5dbasf1zp1sj6rjjrp9aqmaa6"; depends=[car dplyr ggplot2 plotly rmarkdown shiny]; };
   ANOVAShiny = derive2 { name="ANOVAShiny"; version="0.1.0"; sha256="1z8wi8c8j3rlchfk1vx101qz1r9j2jl5lfh72y5lqsisqxl2fyyz"; depends=[DescTools dplyr HH rhandsontable rmarkdown shiny]; };
   ANOVAreplication = derive2 { name="ANOVAreplication"; version="1.1.4"; sha256="0rq4aphjmqrr4pm55vpc8qr4rghqkmlsqsvxzarx3kmr3aqlmqg8"; depends=[quadprog shiny]; };
   APCanalysis = derive2 { name="APCanalysis"; version="1.0"; sha256="11snn5i8zyjpzf58ica762fpp14v7x5h8a8iwx4s4v81pgvlx862"; depends=[]; };
@@ -85,7 +87,7 @@ in with self; {
   ARCensReg = derive2 { name="ARCensReg"; version="2.1"; sha256="05zjk1wxqfigzg80lvx1940a059jfdr9zbzgzmz2n01glj1lvj63"; depends=[msm mvtnorm numDeriv tmvtnorm]; };
   ARHT = derive2 { name="ARHT"; version="0.1.0"; sha256="1fz81a202r8vk655dg6a03zfq3gfkimqjvmc95k3j02xz0iv58kn"; depends=[]; };
   ARIbrain = derive2 { name="ARIbrain"; version="0.2"; sha256="18c7yxkrnqh18gcfzvdc5wqig6ywdmjcy8rlz0fdj3b8fb84dfpr"; depends=[hommel plyr RNifti]; };
-  AROC = derive2 { name="AROC"; version="1.0"; sha256="1mmcd8nqwzaqghzbcrv0g767j57svzvlzgk71ir61vvjhsk91dkg"; depends=[Hmisc MASS Matrix moments np]; };
+  AROC = derive2 { name="AROC"; version="1.0-1"; sha256="086i2isgi65r0sanyisdwiwdca0v7hvi1bcvsmwdbwbcgqr1zh0b"; depends=[Hmisc MASS Matrix moments nor1mix np spatstat]; };
   ARPobservation = derive2 { name="ARPobservation"; version="1.2.0"; sha256="1kgflalpymbsfzwg4c70mdxgrbsg8r8z44433v3y9rymhfyq9nmj"; depends=[]; };
   ART = derive2 { name="ART"; version="1.0"; sha256="186w1ivj5v3h906crl953qxgai5wiznaih83dgvwgnmabs9p1wvk"; depends=[car]; };
   ARTIVA = derive2 { name="ARTIVA"; version="1.2.3"; sha256="1jdvsslc8parz7wibcv51fx62brl2mc6i482hz43j1npsms2z1hl"; depends=[gplots igraph MASS]; };
@@ -130,7 +132,7 @@ in with self; {
   AdapSamp = derive2 { name="AdapSamp"; version="1.1.1"; sha256="1jayjrsiib2ij4rxxj59g71r3xhzl5yqh0lhi8k6cfy03i7dkvis"; depends=[pracma]; };
   AdaptFit = derive2 { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[cluster MASS nlme SemiPar]; };
   AdaptFitOS = derive2 { name="AdaptFitOS"; version="0.67"; sha256="0s8vv960pkbccpwlfsg1jsfjnfmq9iy8cj1fak5fn2s60zb7nm0a"; depends=[MASS mgcv nlme SemiPar]; };
-  AdaptGauss = derive2 { name="AdaptGauss"; version="1.5"; sha256="1990nd46ib2wkjhi5ypfyw2wq4gh6y5mymy0s3mq99qy2n17b6zq"; depends=[ggplot2 pracma shiny]; };
+  AdaptGauss = derive2 { name="AdaptGauss"; version="1.5.4"; sha256="16p5q5lqq7ys1v4ciiqsp4sw8wlr0w8rjwibr0qgvvdp2wv0lmzd"; depends=[DataVisualizations ggplot2 pracma Rcpp shiny]; };
   AdaptiveSparsity = derive2 { name="AdaptiveSparsity"; version="1.6"; sha256="0imr5m8mll9j6n4icsv6z9rl5kbnwsp9wvzrg7n90nnmcxq2cz91"; depends=[MASS Matrix Rcpp RcppArmadillo]; };
   AdequacyModel = derive2 { name="AdequacyModel"; version="2.0.0"; sha256="0amp6ic1wylk24sp9wpx3ci38njj7b9qjqfp89j39hkl6kc1q7sq"; depends=[]; };
   AdhereR = derive2 { name="AdhereR"; version="0.5"; sha256="0wma06v02k50j0j8j5k1py3y6mwl8q7bsb288gyn67ms9wgv4fb5"; depends=[clipr colourpicker data_table DBI haven highlight knitr lubridate manipulate readODS readxl RMariaDB RSQLite scales shiny shinyjs shinyWidgets V8 viridisLite]; };
@@ -142,14 +144,14 @@ in with self; {
   AgreementInterval = derive2 { name="AgreementInterval"; version="0.1.1"; sha256="1bvinzylvsaipa8mq15f45b6h37znavlrdl0rbrx1pqw52r7z8kv"; depends=[psych]; };
   AhoCorasickTrie = derive2 { name="AhoCorasickTrie"; version="0.1.0"; sha256="0k2lcyxfsavis9g1g5293f0mw7f6jakkr11wkkjvxdlnba9c80r8"; depends=[Rcpp]; };
   Ake = derive2 { name="Ake"; version="1.0"; sha256="1dj598xfdyjqvysc39a0d5gizgk367c5lkddmwmsqa8zjmvpr15a"; depends=[]; };
-  AlgDesign = derive2 { name="AlgDesign"; version="1.1-7.3"; sha256="0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"; depends=[]; };
+  AlgDesign = derive2 { name="AlgDesign"; version="1.2.0"; sha256="0ammlg148gk0p24fh700116nd66636np0jb1wwh0axq5jphwk1pz"; depends=[]; };
   AlgebraicHaploPackage = derive2 { name="AlgebraicHaploPackage"; version="1.2"; sha256="1krm5cx609sv2p0g3xm5jaiqs9li06v717lw7ywjvx7myc9x4c07"; depends=[]; };
   AllPossibleSpellings = derive2 { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
   AlleleRetain = derive2 { name="AlleleRetain"; version="2.0.2"; sha256="0b6h5giskqbjbrk8nf29i75wrhxsjw1c87laiqzrpbp9n717bl20"; depends=[]; };
   AlphaPart = derive2 { name="AlphaPart"; version="0.7.0"; sha256="1bqwbjqmazjgmdpk5s0i3dl4hb3qhz2sy1drhazmgdxhf5qwsq85"; depends=[directlabels gdata ggplot2 pedigree quadprog Rcpp reshape]; };
-  AlphaSimR = derive2 { name="AlphaSimR"; version="0.10.0"; sha256="14fd9d9k88hw7dw2yipbkgxj0aj8mk5ki3kl8v92lm55522nchzz"; depends=[BH R6 Rcpp RcppArmadillo]; };
+  AlphaSimR = derive2 { name="AlphaSimR"; version="0.11.0"; sha256="0p3a1rrgd8h02x79g49144igj6g58nnqb6bf7h4cwvjc2033w5si"; depends=[BH R6 Rcpp RcppArmadillo]; };
   AlphaVantageClient = derive2 { name="AlphaVantageClient"; version="0.0.1"; sha256="095m850v945lw7i3qd812p28srdb5hdk9h52zf6bkr166zai1ni0"; depends=[httr xts]; };
-  Amelia = derive2 { name="Amelia"; version="1.7.5"; sha256="1mnvms3bgc5i0v7wdmfx7nikr8wxyzmqi36sj2fz4qv5b0mf4zpa"; depends=[foreign Rcpp RcppArmadillo]; };
+  Amelia = derive2 { name="Amelia"; version="1.7.6"; sha256="1shvc8x1kmb0cincgggsv5c5w25k36kqvisdqd3ayy5g98vqvh33"; depends=[foreign Rcpp RcppArmadillo]; };
   AmericanCallOpt = derive2 { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
   AmesHousing = derive2 { name="AmesHousing"; version="0.0.3"; sha256="1fr01ka8x8gdnky6cbd2bjlh1lx71gzq440zsknn9kxvf01s6pxm"; depends=[dplyr magrittr]; };
   AmigaFFH = derive2 { name="AmigaFFH"; version="0.3.1"; sha256="0mvw5zr7l29fgm6dan285gjnmmzz59a19v8b2w4j035jzbf1vffw"; depends=[tuneR]; };
@@ -159,14 +161,16 @@ in with self; {
   AmyloGram = derive2 { name="AmyloGram"; version="1.1"; sha256="1xdi3i3nw4fzj4d040r55f0gid72gy3vbz5nbdrvapl97zk3kp8c"; depends=[biogram ranger seqinr shiny]; };
   AnDE = derive2 { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization foreign functional stringr]; };
   AnaCoDa = derive2 { name="AnaCoDa"; version="0.1.3.0"; sha256="1aps8fnh2d4vw5c9ypmgqnvwqzkjjfrmm7wq4xcy6lmlqks35zdv"; depends=[mvtnorm Rcpp]; };
-  AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-20"; sha256="1r2w6wf44p75r5m2hflnk1q71kv4vgds4hxyl5viyl6mg417brg5"; depends=[fastICA R_matlab tkrplot]; };
+  AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-21"; sha256="1gn0ixxi42rw8vr4ykl232cmdcc1qqbbivhw3n8f20jgicwg8x06"; depends=[fastICA R_matlab tkrplot]; };
   AnalyzeTS = derive2 { name="AnalyzeTS"; version="2.2"; sha256="0ll4g8yzxhricz56vin8hhyplrmvjmkwfldya41vz6y6bwhywnmb"; depends=[MASS TSA tseries TTR urca]; };
   AncestryMapper = derive2 { name="AncestryMapper"; version="2.0"; sha256="1fr2y1a5rn7rq8aly94f618kywix32jwysi70nfhaqx8hf4zzprb"; depends=[svd]; };
   AnglerCreelSurveySimulation = derive2 { name="AnglerCreelSurveySimulation"; version="1.0.2"; sha256="1nhd0i30g5wb5jh96gfaa0lgnbnj0m2vy4gz7v2c3142396zalnx"; depends=[dplyr ggplot2]; };
+  AnimalHabitatNetwork = derive2 { name="AnimalHabitatNetwork"; version="0.1.0"; sha256="1bhqypkiw5v9w26jbdmhndqj5hjfmf7zwivrq2hgs0zcjxwa8gfn"; depends=[ggplot2 igraph]; };
   AnnotLists = derive2 { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
   AnnotationBustR = derive2 { name="AnnotationBustR"; version="1.2"; sha256="1r52qry6xvn79b6qsbch35jhzg8y71kxqq9xm6gd302cv2xbwq7q"; depends=[ape seqinr]; };
   AnnuityRIR = derive2 { name="AnnuityRIR"; version="1.0-0"; sha256="0yvfqzwhm5nhywfhzkxkfm07c0qi6z21j1cdaypz89qn567aj1d9"; depends=[actuar EnvStats fitdistrplus mc2d tseries]; };
   AntAngioCOOL = derive2 { name="AntAngioCOOL"; version="1.2"; sha256="1krwms0y3xppc2y4m0az51wcbh4jq7mlr0jwinp66w8gh4k3qnp2"; depends=[caret rJava rpart RWeka]; };
+  AntMAN = derive2 { name="AntMAN"; version="1.0"; sha256="1dm2fb59r4drbyi21bf48c9r6ajhm507q80syl3xwyqimgbgm8ss"; depends=[mcclust mvtnorm Rcpp RcppArmadillo sdols]; };
   AntWeb = derive2 { name="AntWeb"; version="0.7"; sha256="1ykfg3zzjdvjppr2l4f26lx00cn5vaqhhz1j1b5yh113ggyl40qw"; depends=[assertthat httr leafletR plyr rjson]; };
   AnthropMMD = derive2 { name="AnthropMMD"; version="3.0.1"; sha256="0f2j4nwni87r11zav4lvy0c8k9v6yrk2li3vls2xa02nlci64x26"; depends=[plotrix scatterplot3d shiny smacof]; };
   Anthropometry = derive2 { name="Anthropometry"; version="1.12"; sha256="1m9ynypl5hyyqqmknd9hgys927bsglhg3l9rydy36l7lk1kf2m9m"; depends=[archetypes biclust cluster depth FNN ICGE nnls rgl shapes]; };
@@ -181,7 +185,7 @@ in with self; {
   ArchaeoPhases = derive2 { name="ArchaeoPhases"; version="1.4"; sha256="1wdr72w0qfh165v5prgxx0py7344v8rw03rhnh7pi5rwd5nyxvhv"; depends=[coda DT ggalt ggplot2 ggthemes hdrcde readr shiny shinythemes toOrdinal]; };
   ArfimaMLM = derive2 { name="ArfimaMLM"; version="1.3"; sha256="0s5igf703zzvagsbdxf5yv4gn0vdq51b7fvbc8xkgvlmv91yy372"; depends=[fracdiff fractal lme4]; };
   ArgumentCheck = derive2 { name="ArgumentCheck"; version="0.10.2"; sha256="0mgx7mzbg2wynixcf9hvs0i9p4zka7c3chrfvjmvvvwwgsy24hkc"; depends=[]; };
-  Arothron = derive2 { name="Arothron"; version="1.0.2"; sha256="1nfdy0gwxm0xw0lp6245zz0ma481yf0yw4giisqpkkkg56snjjmx"; depends=[compositions doParallel foreach geometry Morpho rgl Rvcg stringr vegan]; };
+  Arothron = derive2 { name="Arothron"; version="1.1.0"; sha256="05i49wpzpab1yffxxifjr6iqz8qc1xba7pj9rlnvcmx29f5x8b6w"; depends=[abind alphashape3d compositions doParallel foreach geometry Morpho rgl Rvcg stringr vegan]; };
   ArrayBin = derive2 { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[SAGx]; };
   AsioHeaders = derive2 { name="AsioHeaders"; version="1.12.1-1"; sha256="0phcagfjxrakkap0kffclcqjspb2rmhq81k934mxgh1qz5a68ksv"; depends=[]; };
   AssayCorrector = derive2 { name="AssayCorrector"; version="2.0.0"; sha256="0d2444if5hyfbzyminnspw686r5l4pf9cdj9k48n2539vd61k452"; depends=[kSamples lattice latticeExtra RColorBrewer RVAideMemoire]; };
@@ -190,7 +194,7 @@ in with self; {
   AssocAFC = derive2 { name="AssocAFC"; version="1.0.2"; sha256="1rjiiir472dnr15xyvpn81s62nf01gl70khr8mrni65ssp5m30fb"; depends=[CompQuadForm]; };
   AssocTests = derive2 { name="AssocTests"; version="0.0-4"; sha256="1fhqzbj4aj4srkiba79w8wdyc7yy701izklxqqa7lsifnca6gn4j"; depends=[cluster combinat fExtremes mvtnorm]; };
   AssotesteR = derive2 { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
-  AsyK = derive2 { name="AsyK"; version="0.1.0"; sha256="0m3byaa39m9d8l3pcbjxczvwc395wq5rj55qd7afmnj9a5zhgnaq"; depends=[]; };
+  AsyK = derive2 { name="AsyK"; version="1.3.2"; sha256="1ijl4cchbqaa13j3mnrjlg3kpxmqpjbvf48x6p9vvmhiy1n4974w"; depends=[decon ICV kedd kerdiest KernSmooth ks locfit OSCV sm]; };
   AsynchLong = derive2 { name="AsynchLong"; version="2.0"; sha256="1wjby75rpypzyrxnv2lgl7h2fsvyni3bpiwclp0x7cl4sxic1x5c"; depends=[]; };
   AtelieR = derive2 { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[cairoDevice gWidgetsRGtk2 partitions proto]; };
   AtmRay = derive2 { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
@@ -202,14 +206,15 @@ in with self; {
   AutoStepwiseGLM = derive2 { name="AutoStepwiseGLM"; version="0.2.0"; sha256="0wwi8hg2q1zkf28rq7bj0f9fcxc5hj59hkmk0gl9p8i3rghlyrms"; depends=[caret formula_tools]; };
   Autoplotprotein = derive2 { name="Autoplotprotein"; version="1.1"; sha256="13mxqmhhdiq7mz4m6nx39dsq7x3bm8fsgskswx48vsq6x2k6byxa"; depends=[ade4 plotrix plyr seqinr XML]; };
   AutoregressionMDE = derive2 { name="AutoregressionMDE"; version="1.0"; sha256="1dmg0q4sp2d2anzhw2my8xjhpyjsx0kf7r202q5bkw8yr57jnhvr"; depends=[]; };
-  AzureAuth = derive2 { name="AzureAuth"; version="1.2.2"; sha256="1fsak6f5gkb6vz5iln0m47ss01zmf7wicqm2v5n453v9895fixws"; depends=[httr jose jsonlite openssl R6 rappdirs]; };
-  AzureContainers = derive2 { name="AzureContainers"; version="1.1.0"; sha256="0c6xq47k4mggnc7id4xkzc4cznsg8b0aam6iymk587727a6rw1jw"; depends=[AzureAuth AzureGraph AzureRMR httr openssl R6]; };
-  AzureGraph = derive2 { name="AzureGraph"; version="1.0.4"; sha256="1bhqgb3msz0yn3xjs8y6wglcyi5s570w5wzq2x0zmfcfyml3pvsa"; depends=[AzureAuth httr jsonlite openssl R6]; };
-  AzureKeyVault = derive2 { name="AzureKeyVault"; version="1.0.1"; sha256="0vchsn7pcsbw6xq1v4qslaysaq1pwirsjmkv2w8skvhbjdxc84km"; depends=[AzureAuth AzureGraph AzureRMR httr jose jsonlite openssl R6]; };
-  AzureKusto = derive2 { name="AzureKusto"; version="1.0.3"; sha256="1givy2f54jv9rfri92c8z3z2rg2vbvf079gmb6f4x4wzm21bgd4j"; depends=[AzureAuth AzureRMR DBI dplyr httr jsonlite openssl R6 rlang tibble tidyselect]; };
-  AzureRMR = derive2 { name="AzureRMR"; version="2.2.0"; sha256="1i22c6wjzjhsj1r9nfpq38hfqaqwhjrikxcs01vlzwx5k8w6say9"; depends=[AzureAuth httr jsonlite R6 uuid]; };
-  AzureStor = derive2 { name="AzureStor"; version="2.1.1"; sha256="1h94fnjw8myhfxd614mgamvkl8w9476da7rczk4ff5x1jq4z4rg0"; depends=[AzureRMR httr mime openssl R6 xml2]; };
-  AzureVM = derive2 { name="AzureVM"; version="2.0.1"; sha256="1da64azk4dmx9bfcxxv34mnsgyxin4c3577zp39f8nfypxk78f9b"; depends=[AzureRMR jsonlite R6]; };
+  AzureAuth = derive2 { name="AzureAuth"; version="1.2.3"; sha256="0vi5888qvsmdwvzz46wabg2244liwfzyjd13h1d3wvbarzy7m8wf"; depends=[httr jose jsonlite openssl R6 rappdirs]; };
+  AzureCognitive = derive2 { name="AzureCognitive"; version="1.0.0"; sha256="1yg8fq77fbgf21dg9zq7kkgqyx6ax9ma46yv1nhnvdhc3dpvax5a"; depends=[AzureAuth AzureRMR httr jsonlite]; };
+  AzureContainers = derive2 { name="AzureContainers"; version="1.1.2"; sha256="0k93zwl090jnkqa255rd0bhkimdnq61iavrfn40122g6hzd52xqk"; depends=[AzureGraph AzureRMR httr openssl R6]; };
+  AzureGraph = derive2 { name="AzureGraph"; version="1.1.0"; sha256="0b7bfzvv0115giahs12b0h4qq4fdc5qf5kc8hmvjca6jlgysgvf4"; depends=[AzureAuth httr jsonlite openssl R6]; };
+  AzureKeyVault = derive2 { name="AzureKeyVault"; version="1.0.2"; sha256="1kc16dfmaq825sfyc6ka8rc26qh95a70ljq9sg7xvwm05qm9y10l"; depends=[AzureAuth AzureGraph AzureRMR httr jose jsonlite openssl R6]; };
+  AzureKusto = derive2 { name="AzureKusto"; version="1.0.4"; sha256="14gp9qif8p6h7dnw5isls2kvlf77bz3lwr15by2cpa0w5rvzamaj"; depends=[AzureAuth AzureRMR DBI dplyr httr jsonlite openssl R6 rlang tibble tidyselect]; };
+  AzureRMR = derive2 { name="AzureRMR"; version="2.3.0"; sha256="01yj145897v2017asy31rxmkzng7zv1r6avnp2c8vl707cd7afd5"; depends=[AzureAuth AzureGraph httr jsonlite R6 uuid]; };
+  AzureStor = derive2 { name="AzureStor"; version="3.0.0"; sha256="1lxcvgs0gb7ybnqf2ifz5bpc50nn8375g5h6i5jvx6g8ahzppi0d"; depends=[AzureRMR httr mime openssl R6 xml2]; };
+  AzureVM = derive2 { name="AzureVM"; version="2.1.0"; sha256="0vb295kcz7j53xhzgsril56b4l8d69jyvkni67bqk8cxxh4qvsgx"; depends=[AzureRMR jsonlite R6]; };
   AzureVMmetadata = derive2 { name="AzureVMmetadata"; version="1.0.0"; sha256="0k99ncp9zkyxl0r51041rfgq49gb65f5d3yc89d1gg2aqavk3g2y"; depends=[httr openssl]; };
   B2Z = derive2 { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[coda mvtnorm numDeriv]; };
   BACA = derive2 { name="BACA"; version="1.3"; sha256="1vbip7wbzix1s2izbm4058wmwar7w5rv3q8bmj9pm7hcapfi19k0"; depends=[ggplot2 RDAVIDWebService rJava]; };
@@ -217,6 +222,7 @@ in with self; {
   BACCT = derive2 { name="BACCT"; version="1.0"; sha256="0bpm4l27vbblzi2hhfbjw2af3ic2jbnyghkvchpq8ww43k8068iv"; depends=[ggplot2 reshape2 rjags]; };
   BACprior = derive2 { name="BACprior"; version="2.0"; sha256="1z9dvjq4lr99yp6c99bcv6n5jiiwfddfz4izcpfnnyvagfgizr8p"; depends=[boot leaps mvtnorm]; };
   BAEssd = derive2 { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
+  BAGofT = derive2 { name="BAGofT"; version="0.1.0"; sha256="1vhi92afvrrj7cvlzszh5ivzkd9bpw2c6rs1p8y0fyyj8k0gl8pa"; depends=[stringr]; };
   BALCONY = derive2 { name="BALCONY"; version="0.2.10"; sha256="1wfy0dmwfzd9jp6g92ld8jqzx97grgq4h6dy4y5063vfd9i4slwx"; depends=[Biostrings dplyr progress readr Rpdb scales seqinr]; };
   BALD = derive2 { name="BALD"; version="1.0.0-3"; sha256="1azyqami07g3ax60j0ws3d1qha65k0svn2v5c9pisni0qch5xql0"; depends=[lattice logspline rjags]; };
   BALLI = derive2 { name="BALLI"; version="0.2.0"; sha256="0qmjwpj56n07dvjwfknqvc02f0y5mlwh2yz4lrw7c4wqgrckcpgi"; depends=[edgeR limma MASS]; };
@@ -233,7 +239,7 @@ in with self; {
   BAYESDEF = derive2 { name="BAYESDEF"; version="0.1.0"; sha256="030xskgqqg0n85mphjv32ks4ysvxb36f6ayy0176gps14jhmhcp7"; depends=[glmnet gWidgets readxl REdaS]; };
   BAYSTAR = derive2 { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[coda mvtnorm]; };
   BAwiR = derive2 { name="BAwiR"; version="1.2"; sha256="0j4vrngfddil4wyaskc0cgqhk496hq7wkrj85hxh76kn85gmfmiv"; depends=[Anthropometry dplyr ggplot2 ggthemes hrbrthemes httr lubridate magrittr plyr purrr reshape2 rvest rworldmap scales stringi stringr tidyr xml2]; };
-  BB = derive2 { name="BB"; version="2014.10-1"; sha256="1lig3vxhyxy8cnic5bczms8pajmdvwr2ijad1rkdndpglving7x0"; depends=[quadprog]; };
+  BB = derive2 { name="BB"; version="2019.10-1"; sha256="0kf9sfsm3n036a8a8gjfpc9qdryvadb019kqjh80n1szdv7bdl04"; depends=[quadprog]; };
   BBEST = derive2 { name="BBEST"; version="0.1-6"; sha256="1hvgi3679ixpq0c5qbxhkp1j0953k3lklglgxrq9mz2ry6z9n038"; depends=[DEoptim ggplot2 reshape2 shiny wmtsa]; };
   BBI = derive2 { name="BBI"; version="0.3.0"; sha256="167sndfp3776p8n9zdpihc9xhqqi8wygzpl49dzkfj53gwa77rnn"; depends=[vegan]; };
   BBMM = derive2 { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; };
@@ -252,7 +258,7 @@ in with self; {
   BCellMA = derive2 { name="BCellMA"; version="0.3.4"; sha256="1njprs7ksv0w18ffs0agz0290aa2akw48225iaa3bjhbl08dpidl"; depends=[ggplot2 reshape2]; };
   BCgee = derive2 { name="BCgee"; version="0.1"; sha256="0ad0dj2ymgvkmcmq3jlpmn0pgigdql0xgvcwsbpdydv33a6snr04"; depends=[]; };
   BClustLonG = derive2 { name="BClustLonG"; version="0.1.2"; sha256="0w35pwv3y00pmi4qjnzii3q44k7lk13x0cmh1zq3cl42gpi31p7f"; depends=[lme4 MASS mcclust Rcpp RcppArmadillo]; };
-  BDEsize = derive2 { name="BDEsize"; version="1.1"; sha256="0bxfl2hgqwxz97qn21j2gm3lc30h64h41ij6w89rdlad4hkz7vxp"; depends=[fpow ggplot2 shiny shinyalert]; };
+  BDEsize = derive2 { name="BDEsize"; version="1.2"; sha256="1b2lms4nmn6gfjmnjq1vq1g3s1ikv7pl4xpbsxfrph14g6awidax"; depends=[fpow ggplot2 shiny shinyalert]; };
   BDP2 = derive2 { name="BDP2"; version="0.1.3"; sha256="14m85sigx6hk0qzhfgih43m2lxp9xczmp9g3z4pping6msbnbdrz"; depends=[rmarkdown shiny shinyBS]; };
   BDWreg = derive2 { name="BDWreg"; version="1.2.0"; sha256="07j6dy69q1as1nwgp2790wzpzmjich2256cddhl7n3h2rs1dja74"; depends=[coda doParallel DWreg foreach MASS]; };
   BDgraph = derive2 { name="BDgraph"; version="2.61"; sha256="0xq9zygxs7jli9cw4rsl9ajs6nnl5adfilb47cjdk263909fla5j"; depends=[igraph]; };
@@ -265,20 +271,23 @@ in with self; {
   BEST = derive2 { name="BEST"; version="0.5.1"; sha256="0yx3bkaaly0lriyd5xr7aay4c381a5iwanfixz9v37cmvs64rs4s"; depends=[coda HDInterval rjags]; };
   BESTree = derive2 { name="BESTree"; version="0.5.2"; sha256="0yij6xdlvhbqifckaylgbhszwwp38d9x6vbpr1nl40mwwnv4bswz"; depends=[plyr]; };
   BETS = derive2 { name="BETS"; version="0.4.9"; sha256="0daixk7mqmk2jq35i7mjaslz11gxbnnjgwxfvj8x1s88vz9l74sm"; depends=[DBI digest dplyr DT dygraphs forecast foreign ggplot2 grnn htmltools httr lubridate miniUI plotly rjson rmarkdown RMySQL rstudioapi rvest seasonal shiny sqldf stringr urca webshot xml2 zoo]; };
+  BFS = derive2 { name="BFS"; version="0.2.2"; sha256="0if4p0y1yv95c8i0w4gvanzclq0j4pwzscyiq29bfkhcn4izqrmg"; depends=[janitor magrittr progress purrr pxR rvest tibble xml2]; };
+  BFpack = derive2 { name="BFpack"; version="0.1.0"; sha256="1sqgn24k5sp928hpqyv0k5bjaz3yc5d7wsl3bkkxixm73w5p7g4j"; depends=[bain lme4 MASS Matrix MCMCpack mvtnorm pracma]; };
   BGData = derive2 { name="BGData"; version="2.1.0"; sha256="168lvmcfj9ch2dfp8haykgz8cwmrp1yqn01hbyssqfgpc42lrgf3"; depends=[BEDMatrix bigmemory bit crochet ff LinkedMatrix symDMatrix synchronicity]; };
   BGGE = derive2 { name="BGGE"; version="0.6.5"; sha256="1h76c40y45xhf2vp9g0q5j9lfwh16q9axbk5c9aqn4md008xr1j2"; depends=[]; };
   BGLR = derive2 { name="BGLR"; version="1.0.8"; sha256="15cv5k44yj5cws9jjd70hvrkm8gzn5x4hfx408n2fbqbv289b5jy"; depends=[truncnorm]; };
   BGPhazard = derive2 { name="BGPhazard"; version="1.2.3"; sha256="1yp92y5y3xh0hb1ring6jrma8g4q6210hm9572j8ji1jkafzxjw1"; depends=[survival]; };
   BGSIMD = derive2 { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
   BH = derive2 { name="BH"; version="1.69.0-1"; sha256="18mckfwxxv8m8rzaz03mg2h6vhaj7y131h6yasfg0s73nxj47zd0"; depends=[]; };
+  BHAI = derive2 { name="BHAI"; version="0.99.2"; sha256="1hawa55mk590is8ziav7fdszsa3a42bqb0znzqsazz5lkg4daaa7"; depends=[MCMCpack plotrix prevtoinc]; };
   BHH2 = derive2 { name="BHH2"; version="2016.05.31"; sha256="1m4fcx979nbm97hi89vbjjix0sx6qhdzs486risck9bi7yzih5k4"; depends=[]; };
   BHMSMAfMRI = derive2 { name="BHMSMAfMRI"; version="1.3"; sha256="1cha6bw0zvv30y2hjl1a4d04g1r80dfa7r7zi63q5jjnnbklbswg"; depends=[oro_nifti wavethresh]; };
-  BHSBVAR = derive2 { name="BHSBVAR"; version="1.0.4"; sha256="19sqcfg6w6cnk35bxdc0wzizh0slhl684yhjh7zyg1k92dvprfr6"; depends=[Rcpp RcppArmadillo]; };
+  BHSBVAR = derive2 { name="BHSBVAR"; version="2.0.0"; sha256="1dgbwzl79ibg8fkin8h2q52jas9mzwn049jjjrsdf2p59mf2g4sn"; depends=[Rcpp RcppArmadillo]; };
   BHTSpack = derive2 { name="BHTSpack"; version="0.5"; sha256="1sz99sgxhiajxca5bx2ns9g9qs9ymsvh8i5882nlp7c78qxmqc4g"; depends=[R2HTML xtable]; };
   BICORN = derive2 { name="BICORN"; version="0.1.0"; sha256="0mqk8vgp6jdk7f0paa06yqlibkd1y3vs69pg7i9mkvxmda7p4nkq"; depends=[]; };
   BIEN = derive2 { name="BIEN"; version="1.2.3"; sha256="0p23kahba55gkk6wx10ii6vrni3b7ia2a4jb64ww4kwp86bknx3d"; depends=[ape DBI rgdal rgeos RPostgreSQL sp]; };
   BIFIEsurvey = derive2 { name="BIFIEsurvey"; version="3.3-12"; sha256="1kphczvj3rxyjvi93cx2j714scvmmpqv5wrg5pdyy8l891jxsr89"; depends=[miceadds Rcpp RcppArmadillo]; };
-  BIGDAWG = derive2 { name="BIGDAWG"; version="2.1"; sha256="0zvy5sl94qi20gdrnxb2lmadfy7p0wqfngjsf6jc2cgwyzk4gnrj"; depends=[haplo_stats httr knitr rmarkdown XML]; };
+  BIGDAWG = derive2 { name="BIGDAWG"; version="2.3"; sha256="1lnw31dl161siml6vcp74c30g0rld962ry3am9ljxmd9mw83shnz"; depends=[haplo_stats httr knitr XML]; };
   BIGL = derive2 { name="BIGL"; version="1.4.1"; sha256="1n9b5wyzh9nihhrxagdisv06g925aw5ihrszd8iplp8ffvjr5mns"; depends=[ggplot2 MASS minpack_lm numDeriv progress rgl robustbase scales]; };
   BINCOR = derive2 { name="BINCOR"; version="0.2.0"; sha256="0x2s82jql429shk70bhjdy9kamz8dz5ymsxj6kp8ga1711bpwyq6"; depends=[pracma]; };
   BIOM_utils = derive2 { name="BIOM.utils"; version="0.9"; sha256="0xckhdvf15a62awfk9rjyqbi6rm7p4awxz7vg2m7bqiqzdll80p7"; depends=[]; };
@@ -289,19 +298,19 @@ in with self; {
   BLCOP = derive2 { name="BLCOP"; version="0.3.1"; sha256="1qfkljw5b1k4b5jd08hw6dsmvgr7vg3kjyib5s13q0mkxvclasym"; depends=[fBasics fMultivar fPortfolio MASS quadprog RUnit timeSeries]; };
   BLModel = derive2 { name="BLModel"; version="1.0.2"; sha256="0l5f2v5ggadmrci3qhhmxm3j9i6jii0anq5rv5vk50y2qzii2q15"; depends=[]; };
   BLOQ = derive2 { name="BLOQ"; version="0.1-0"; sha256="1ag0dy3cjdxhlspmzfdnpli030g6gwac50n5s30igcyrmw6kl4hf"; depends=[maxLik mvnmle mvtnorm]; };
-  BLPestimatoR = derive2 { name="BLPestimatoR"; version="0.2.9"; sha256="0h578s6zk9pjbb9syzb7649ygwb8a81fdj8krxgcqdknxy0mbi3v"; depends=[Formula mvQuad numDeriv randtoolbox Rcpp RcppArmadillo]; };
+  BLPestimatoR = derive2 { name="BLPestimatoR"; version="0.3.0"; sha256="0q01v5xz45adn4zsdfh9s4c8g6rkbllh2y3lga6wgfn0wnhp6nzn"; depends=[Formula Matrix mvQuad numDeriv randtoolbox Rcpp RcppArmadillo]; };
   BLR = derive2 { name="BLR"; version="1.5"; sha256="1aj4qs0zjca2ifx3y4a0s6c59lbsgracili2an5nr2rxnsl10aw6"; depends=[SuppDists]; };
   BLRPM = derive2 { name="BLRPM"; version="1.0"; sha256="15q0jkw4swz35c58nv23k8g1dy1kkbqh5aydjck7pd0fmppqrhpx"; depends=[R6]; };
   BLRShiny = derive2 { name="BLRShiny"; version="0.1.0"; sha256="0z3gr0bvjs7y0jkygh7h9habnk2807cwziajpgfmb7dxdrhccj68"; depends=[caret dplyr e1071 ggplot2 rhandsontable rmarkdown shiny]; };
   BLSM = derive2 { name="BLSM"; version="0.1.0"; sha256="02xidwp91rh34rcqd0q552wzm2j80axs1nnwwv2aj04g96lf7myj"; depends=[Rcpp RcppEigen]; };
-  BMA = derive2 { name="BMA"; version="3.18.9"; sha256="1lwgjswjiiyzxjpbpr61lcppgkz2d6m3vhgz7qpg33jg2mvdkvjy"; depends=[inline leaps robustbase rrcov survival]; };
+  BMA = derive2 { name="BMA"; version="3.18.11"; sha256="13b9agsra9lv00dkmx57zbf6n7xixxlihk7svxaafk8snbyyhk5z"; depends=[inline leaps robustbase rrcov survival]; };
   BMAmevt = derive2 { name="BMAmevt"; version="1.0.3"; sha256="0p1y4yc502r4wjc1vkpa4q9d3xzxnyvp13y910vq5z5nqixjdfsp"; depends=[coda]; };
   BMRBr = derive2 { name="BMRBr"; version="0.2.0"; sha256="0v2ysap5jfkq9fc5blqlfhsv2bs8rqybmp5z4q3g6y3y7qzhypjw"; depends=[rvest xml2]; };
   BMRSr = derive2 { name="BMRSr"; version="1.0.0"; sha256="0xdzzwmn2ibzgy68djsf7jxayfwd2yr1qsa0dcg9zl4rhl6b8nrl"; depends=[httr readr stringr tibble xml2]; };
   BMRV = derive2 { name="BMRV"; version="1.32"; sha256="1j1cwjk3l7f06nqdwrqdyhzm43bb8hj5wgdd14zc1grxyfc9ya95"; depends=[BH]; };
   BMS = derive2 { name="BMS"; version="0.3.4"; sha256="0z3mk1xd1fphf80kdbashkn04jwsr2bghms4d7nav3pw73q41wql"; depends=[]; };
   BMT = derive2 { name="BMT"; version="0.1.0.3"; sha256="1vdah5bsn41s2qriq15xi7dw9qzngaacmn5gk6yc7hi89dwyy3yj"; depends=[fitdistrplus partitions]; };
-  BMTME = derive2 { name="BMTME"; version="1.0.11"; sha256="137kh3h4vqqb70crr1h0i3nigy8m7h0lm9kfcv6imqrsfksw42a4"; depends=[BGLR doSNOW dplyr foreach matrixcalc mvtnorm progress Rcpp RcppArmadillo snow tidyr]; };
+  BMTME = derive2 { name="BMTME"; version="1.0.12"; sha256="0v1f1c2nk7f51c017jscyzkx7y21b3lmxp46xgs8hqcfjfw9b65m"; depends=[BGLR doSNOW dplyr foreach matrixcalc mvtnorm progress Rcpp RcppArmadillo snow tidyr]; };
   BMhyb = derive2 { name="BMhyb"; version="2.1.5"; sha256="0yyvrn5akj132zkxlg5kicj12d7agzmi84jird4aj7hvi88l5wwv"; depends=[ape corpcor cowplot DEoptim geiger ggplot2 igraph lhs MASS Matrix metR mvtnorm numDeriv phytools plyr TreeSim viridis]; };
   BMhyd = derive2 { name="BMhyd"; version="1.2-8"; sha256="14pv5f621zq5x9i408zjm8k80hcsabkjpdf86gk3ylgw5yqcivrx"; depends=[ape corpcor geiger mvtnorm numDeriv phylobase phytools TreeSim]; };
   BMisc = derive2 { name="BMisc"; version="1.3.1"; sha256="0wh17bf1ii6zan09n59cf9257nb60nh08ig01id9k0bvm9f14ay6"; depends=[formula_tools plm]; };
@@ -312,7 +321,7 @@ in with self; {
   BNPdensity = derive2 { name="BNPdensity"; version="2019.9.18"; sha256="1s4mifmlvh0b0w4ckllg49z2jwfzy5d2x7lak38r92yg75nabng6"; depends=[coda dplyr ggplot2 gridExtra survival tidyr viridis]; };
   BNPmix = derive2 { name="BNPmix"; version="0.2.3"; sha256="1vrblwcrhmkgcgpdlb42lfysgpznaxljiaz6jn2jq7qnsiyqnrmy"; depends=[coda ggplot2 Rcpp RcppArmadillo]; };
   BNSL = derive2 { name="BNSL"; version="0.1.4"; sha256="0nrlx55364kgvkdpyaimgjxwnzmmdl1gmvyv3wkm8n2jyki92xxp"; depends=[bnlearn igraph Rcpp]; };
-  BNSP = derive2 { name="BNSP"; version="2.1.0"; sha256="01nfzyzd1s55rhc1mghlcqgq6cnp8g44acyfb89vd0w9mdwgj8r0"; depends=[coda corrplot cubature Formula ggplot2 gridExtra mgcv plot3D plyr threejs]; };
+  BNSP = derive2 { name="BNSP"; version="2.1.1"; sha256="0bwh7kkga2jh5y79h4dwpxlbxmy2cq4jjy6djikwa8ghhck69c4p"; depends=[coda corrplot cubature Formula ggplot2 gridExtra mgcv plot3D plyr threejs]; };
   BOG = derive2 { name="BOG"; version="2.0"; sha256="0lz5af813b67hfl4hzcydn58sjhgn5706n2h44g488bks928k940"; depends=[DIME hash]; };
   BOIN = derive2 { name="BOIN"; version="2.6.4"; sha256="0p1205pxa5a9sbw88fm8lbvzgzyq3mf62lsp0l2c0sfsvcfpydkg"; depends=[Iso]; };
   BPEC = derive2 { name="BPEC"; version="1.3.0"; sha256="0chdp7g75a6hajq7h1lbl0zima22myah9a66m06zga274plakdq2"; depends=[ape coda fields ggmap ggplot2 igraph maptools mvtnorm OpenStreetMap phytools sp]; };
@@ -355,7 +364,7 @@ in with self; {
   Barnard = derive2 { name="Barnard"; version="1.8"; sha256="1ki58hjs5kpmp76kwj1qi6hwmdvjphqb1lvrlhnmkgqxg4hw4vqg"; depends=[]; };
   Barycenter = derive2 { name="Barycenter"; version="1.3.1"; sha256="0yhc0wwjqms569gnm8z2l9hgcbw8lyy437ynkij47pa4c1a1qvjy"; depends=[Rcpp RcppArmadillo]; };
   BatchExperiments = derive2 { name="BatchExperiments"; version="1.4.2"; sha256="0zvcpgzhbna6p37jlf57j7mzrvh5xs5w17janmv9v4210cpbzi1q"; depends=[backports BatchJobs BBmisc checkmate data_table DBI RSQLite]; };
-  BatchGetSymbols = derive2 { name="BatchGetSymbols"; version="2.5.3"; sha256="11p44iymjgsy9b2yk916sh5f1wv8ma17978ibhckwb4rr0rkcf2i"; depends=[curl dplyr furrr future lubridate purrr quantmod rvest scales stringr tibble tidyr XML zoo]; };
+  BatchGetSymbols = derive2 { name="BatchGetSymbols"; version="2.5.4"; sha256="0a8p9k232ab36xjr5a8rkk19zf8cx8q1pvx54z0xg1dncn28lxwa"; depends=[curl dplyr furrr future lubridate purrr quantmod rvest scales stringr tibble tidyr XML zoo]; };
   BatchJobs = derive2 { name="BatchJobs"; version="1.8"; sha256="1zz4sspj596pijxlz321g0jy2rg9ki83j6fihbwisjwr66p2vk1m"; depends=[backports BBmisc brew checkmate data_table DBI digest RSQLite sendmailR stringi]; };
   BatchMap = derive2 { name="BatchMap"; version="1.0.2.0"; sha256="0v3k4xrmsbyhzgmph8xna11dgpp10yxqmss95asrj6n814jxj19b"; depends=[ggplot2 Rcpp RcppArmadillo reshape2]; };
   BayHap = derive2 { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
@@ -363,6 +372,7 @@ in with self; {
   BayLum = derive2 { name="BayLum"; version="0.1.3"; sha256="0hina84s8ax01zpnji4jqqkdap0phvxr78s4rnab0407xrydbf0w"; depends=[ArchaeoPhases coda hexbin KernSmooth Luminescence rjags]; };
   BaySIC = derive2 { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[fields poibin rjags]; };
   BayesBD = derive2 { name="BayesBD"; version="1.2"; sha256="10ik2lndqgmy6pvdm6cx4fsxgjb2fgi6hlz5ic35ab7fkpi90ka5"; depends=[jpeg mritc png Rcpp RcppArmadillo shiny]; };
+  BayesBEKK = derive2 { name="BayesBEKK"; version="0.1.0"; sha256="0fykcmf54820krwy7q573gmlcrx96i94knx7rgzc83i287lnpnfg"; depends=[coda MTS mvtnorm]; };
   BayesBP = derive2 { name="BayesBP"; version="1.0"; sha256="1gmjljkp4pvm87qf6rq2kixqdx64sfg34b1xxdl242a3cckmjc5y"; depends=[iterators openxlsx]; };
   BayesBinMix = derive2 { name="BayesBinMix"; version="1.4.1"; sha256="1b18qg0mjbmrilwqffrq33gw04fzask2xgj1bp4cli51cjf2slf7"; depends=[coda doParallel foreach label_switching]; };
   BayesCR = derive2 { name="BayesCR"; version="2.1"; sha256="1qav7l64iqqdvr1v6c7hlzvbx7zbvsa55pyisvkq5rsayy1rdsl1"; depends=[mnormt mvtnorm rootSolve truncdist]; };
@@ -370,7 +380,7 @@ in with self; {
   BayesCombo = derive2 { name="BayesCombo"; version="1.0"; sha256="01rzjja0xzvqyjivl8a9da13v13ylm4dwv4f27cmgz2znakfg5y8"; depends=[]; };
   BayesComm = derive2 { name="BayesComm"; version="0.1-2"; sha256="1rrbvwcfm93cw0m33g0zn6nyshfjc97kb3fby9cga0zaixc0a8rk"; depends=[abind coda mvtnorm Rcpp RcppArmadillo]; };
   BayesDA = derive2 { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
-  BayesESS = derive2 { name="BayesESS"; version="0.1.12"; sha256="18dhswny8idj2wqpa66amz1yqk8yhk1vwazj4p70pk8jnpg8cdfy"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
+  BayesESS = derive2 { name="BayesESS"; version="0.1.19"; sha256="023r5pxqa2ll3vyfmchdlcg6ay0qixphz24078g1immqp43mlrxm"; depends=[dfcrm LaplacesDemon MASS MatrixModels MCMCpack Rcpp RcppArmadillo RcppEigen]; };
   BayesFM = derive2 { name="BayesFM"; version="0.1.2"; sha256="0fiw2x29cpv3prywsbvs1m8a588s2wpi3bwzzjisi2rafbl619xd"; depends=[checkmate coda ggplot2 gridExtra plyr]; };
   BayesFactor = derive2 { name="BayesFactor"; version="0.9.12-4.2"; sha256="1z083v7is21gm0a458jm5ph3xfdm7mh29a6sg2r1njq82f8x3s3g"; depends=[coda gtools hypergeo Matrix MatrixModels mvtnorm pbapply Rcpp RcppEigen stringr]; };
   BayesGESM = derive2 { name="BayesGESM"; version="1.4"; sha256="0qw2byb48f67461m1k8a1rqh6a0c3zq1rc4ni9xzxv8dih4wkq0f"; depends=[Formula GIGrvg normalp]; };
@@ -382,11 +392,11 @@ in with self; {
   BayesMed = derive2 { name="BayesMed"; version="1.0.1"; sha256="1ysc7sh0drqxbisi2dz6gj4jlw6qsd879bbhr5pra7nxgmk4h650"; depends=[MCMCpack polspline QRM R2jags]; };
   BayesMixSurv = derive2 { name="BayesMixSurv"; version="0.9.1"; sha256="19kf39881q00pap9afwvvggk4s4w3qpz17b7065nig1mvk8dnp8r"; depends=[survival]; };
   BayesNI = derive2 { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
-  BayesNSGP = derive2 { name="BayesNSGP"; version="0.1.0"; sha256="0nms9s5r1vg5irpfj1kz030hwbiqz84hb7zsnc9y3zqg5arp60xk"; depends=[FNN Matrix nimble StatMatch]; };
+  BayesNSGP = derive2 { name="BayesNSGP"; version="0.1.1"; sha256="11c83iafhl8yasyy8xwk9wladbj986xpmgc8d3yd9dxkic71flw8"; depends=[FNN Matrix nimble StatMatch]; };
   BayesNetBP = derive2 { name="BayesNetBP"; version="1.4.0"; sha256="007anxk76rxwskc7fvbmaw7ihjnwqad0xmiy6iyv68lwrjifvpc2"; depends=[bnlearn doBy fields graph igraph qtl qtlnet RColorBrewer Rgraphviz]; };
   BayesPieceHazSelect = derive2 { name="BayesPieceHazSelect"; version="1.1.0"; sha256="0znbmv7crqycdx75jh02h6z8d6cifjszbrldv2yva4mkjxsydag5"; depends=[mvtnorm]; };
   BayesPiecewiseICAR = derive2 { name="BayesPiecewiseICAR"; version="0.2.1"; sha256="1qrmw7zmygdzz84p76hyh2d8dx88b8xhbbd7radqm39g35zq5wz6"; depends=[mvtnorm]; };
-  BayesPostEst = derive2 { name="BayesPostEst"; version="0.0.1"; sha256="0q57zlfmxssdvsyj9hxngfa5qbfp39mz5cl9b6g7f61rd30szf9w"; depends=[carData caTools coda dplyr ggmcmc ggplot2 ggridges R2jags reshape2 rlang ROCR tidyr]; };
+  BayesPostEst = derive2 { name="BayesPostEst"; version="0.1.0"; sha256="07pj4mrwnlimwrv876x1wcyi1yddd5m074lx7vp3q39qjkphcgk1"; depends=[carData caTools coda dplyr ggmcmc ggplot2 ggridges R2jags reshape2 rlang runjags texreg tidyr]; };
   BayesRS = derive2 { name="BayesRS"; version="0.1.3"; sha256="0fhvnckabp0z1cdsbjgv3ijnzaxwhrk83fwcflgqbhvm3a9lzr77"; depends=[coda ggplot2 metRology reshape rjags]; };
   BayesS5 = derive2 { name="BayesS5"; version="1.31"; sha256="1azxn3r0s52zy6y5qsa6yx331795mkk7fb28fcinv2zx9iyvk33w"; depends=[abind Matrix snowfall]; };
   BayesSAE = derive2 { name="BayesSAE"; version="1.0-2"; sha256="1xbx9hr254agpcqs1fl7qi7h19fd2bbmjszn44l566n2svgvxwf5"; depends=[coda Formula lattice]; };
@@ -401,7 +411,7 @@ in with self; {
   BayesX = derive2 { name="BayesX"; version="0.3-1"; sha256="0g4cdkvicqzg75qgr62j89dc9mni38ai7705j6jbfx59vn6dbrr5"; depends=[coda colorspace maptools shapefiles sp]; };
   BayesXsrc = derive2 { name="BayesXsrc"; version="3.0-1"; sha256="0l8c6xsyqj09m722hdanr1d9n6a1ps77ybm1jaqmp86bqmq1br03"; depends=[]; };
   BayesianAnimalTracker = derive2 { name="BayesianAnimalTracker"; version="1.2"; sha256="1pgjijqznfdpvw296h5vksnxgspxs7qhy6s84ww7abnlhg59bz5s"; depends=[TrackReconstruction]; };
-  BayesianFROC = derive2 { name="BayesianFROC"; version="0.1.5"; sha256="11dpha68vh68ifxk721p3jiklaaavzq06cs12ph95lakrlbv9mr8"; depends=[bridgesampling car crayon DiagrammeR ggplot2 knitr pracma Rcpp readxl rhandsontable rstan shiny shinydashboard xlsx]; };
+  BayesianFROC = derive2 { name="BayesianFROC"; version="0.2.0"; sha256="08105wivfycdq2hxs2lfwdl5jqmrfa2psdkjbw753as3fc0jpwrf"; depends=[bridgesampling car crayon DiagrammeR ggplot2 knitr pracma Rcpp readxl rhandsontable rstan shiny shinydashboard shinythemes xlsx]; };
   BayesianGLasso = derive2 { name="BayesianGLasso"; version="0.2.0"; sha256="09yb1qqx6qlsspk3ndrcqxy0956iqznw0rmyvqxgxxp3zd3y21xp"; depends=[MASS statmod]; };
   BayesianNetwork = derive2 { name="BayesianNetwork"; version="0.1.5"; sha256="0vnnxzxz68dkfwr9wif8lam3a4khgbslbf49xkygqm8n1swysx2x"; depends=[bnlearn heatmaply lattice networkD3 plotly rintrojs shiny shinyAce shinydashboard shinytest shinyWidgets testthat]; };
   BayesianPower = derive2 { name="BayesianPower"; version="0.1.6"; sha256="1n41blyqmjq2zdhbz8srsx32piyg26fwgzfphhka12ybk93b2d2h"; depends=[]; };
@@ -414,12 +424,12 @@ in with self; {
   BeSS = derive2 { name="BeSS"; version="1.0.6"; sha256="018gwcxhpmrblqh389krcpvxwrzl6fg25fg3mqrdvkalyx9xja5w"; depends=[glmnet Matrix Rcpp RcppEigen survival]; };
   Benchmarking = derive2 { name="Benchmarking"; version="0.27"; sha256="0y31l3ddxm16sylw7p6dnv39w9ydjkjn92gi0za7s0vx07mzimxp"; depends=[lpSolveAPI ucminf]; };
   BenfordTests = derive2 { name="BenfordTests"; version="1.2.0"; sha256="1nnj0w0zwcmg7maqmmpixx7alvsyxva370ssc26ahg6kxy5a621w"; depends=[]; };
-  Bergm = derive2 { name="Bergm"; version="5.0.0"; sha256="0l04hg5rwgi5vgb7h987f0j3shb0vz9w26zmk4hm7vfbwb9xxix6"; depends=[coda ergm Matrix matrixcalc MCMCpack mvtnorm network]; };
+  Bergm = derive2 { name="Bergm"; version="5.0.1"; sha256="1zy2ar43v7pf1ibbhf7visy1ia24lfpa2kb921vxd7hiilky1h8v"; depends=[coda ergm Matrix matrixcalc MCMCpack mvtnorm network]; };
   Bessel = derive2 { name="Bessel"; version="0.6-0"; sha256="0iwm08nhlivi4zwcqdi296a1l4n4lfanfxhaysh9vcsyk1kpiacf"; depends=[Rmpfr]; };
   BetaBit = derive2 { name="BetaBit"; version="1.3"; sha256="1x9mfnijgi8726p82d52g2zgmliwsc97v2g96mz9ccz2vqqnwq4w"; depends=[digest]; };
   BetaPASS = derive2 { name="BetaPASS"; version="1.1-1"; sha256="17q1bfmijv38zyaj5fxlylf5zmkqry4ca9wm5km6zpksgsg2kjjq"; depends=[betareg ggplot2 pbapply]; };
   BeviMed = derive2 { name="BeviMed"; version="5.3"; sha256="01q5pr776ki973bcld20cqpsz9f10bb30vj95da9gbz5af6bvb14"; depends=[Rcpp]; };
-  BeyondBenford = derive2 { name="BeyondBenford"; version="1.1"; sha256="1mqrzd6hpfsqxwm2sgc2lmgx7czvaj7qvhs05pj6p63n0fiimq9c"; depends=[]; };
+  BeyondBenford = derive2 { name="BeyondBenford"; version="1.2"; sha256="0319jva0b43xcx7l0jyn0cxkazv7qi05bzmpas8wphk9f8r9jlim"; depends=[ggplot2]; };
   Bhat = derive2 { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
   BiBitR = derive2 { name="BiBitR"; version="0.3.1"; sha256="0wfwph6nw12hb43j14i9ycj8m2zn0m5ynp7afq9cray8rbgvxfv6"; depends=[biclust cluster dendextend foreign lattice randomcoloR viridis]; };
   BiDAG = derive2 { name="BiDAG"; version="1.2.0"; sha256="0cn6aasrhqv5vkdb45a1mjzkgcppv1m57cx2bi97riy3siy5h0dy"; depends=[pcalg Rcpp]; };
@@ -429,15 +439,18 @@ in with self; {
   BiTrinA = derive2 { name="BiTrinA"; version="1.3"; sha256="0sjq5a21vpsjs0ad0v8gsqlbk3n8virg1hzj0nvgm3h3xqhymh1d"; depends=[diptest]; };
   BiasedUrn = derive2 { name="BiasedUrn"; version="1.07"; sha256="13i2lgfnjhlbbm2yxfc2l5hswqw6x03pwba5csjmirv8kpjw4xr3"; depends=[]; };
   BibPlots = derive2 { name="BibPlots"; version="0.0.6"; sha256="0gbywbxhqw226mzhxlkl98yky206f9m81wcrp6r4wj8wqhzc2fay"; depends=[]; };
+  BifactorIndicesCalculator = derive2 { name="BifactorIndicesCalculator"; version="0.1.0"; sha256="1yawxab606408ribb1mb3aa6a46blv8aqhi9v68cyc0dbd3cjqx8"; depends=[lavaan mirt MplusAutomation tidyr]; };
   BigQuic = derive2 { name="BigQuic"; version="1.1-8"; sha256="1kg48jqm62qmz5x0h6fgvd5fs5dvg51x4spsn1q503ag4dqqdjc0"; depends=[Matrix Rcpp scalreg]; };
   BigSEM = derive2 { name="BigSEM"; version="0.2"; sha256="091fdibcxd8a8kf9k4pvc1sah830wh179f28gag9g816h4qclnx9"; depends=[MASS parcor]; };
   BigTSP = derive2 { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[gbm glmnet randomForest tree]; };
-  BigVAR = derive2 { name="BigVAR"; version="1.0.4"; sha256="1jyxl9mvzgdj50z7zgg323xx5pnf8d9gn8nsf3jlkp0xgsixap3y"; depends=[lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
+  BigVAR = derive2 { name="BigVAR"; version="1.0.6"; sha256="03d5a61clkngq67mkf2pyjj3k633kxp7g37myfplbxi55bdfmdlz"; depends=[lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
   BimodalIndex = derive2 { name="BimodalIndex"; version="1.1.9"; sha256="1m1dcj0ryjicaqjlkch7aymsklmvjvn2dvnbssi1cpi54bzn8l7g"; depends=[mclust oompaBase]; };
+  BinGSD = derive2 { name="BinGSD"; version="0.0.1"; sha256="0ygr5na7s82xa6vv9f3j6ns5sfhdacyykl1fg422lpkwbss39dnn"; depends=[mvtnorm]; };
   BinNonNor = derive2 { name="BinNonNor"; version="1.5.1"; sha256="1afxf0lcdsvw7ky3v25jyl9z9krknvw10ryi2fhgjbydq1nyijl6"; depends=[BB corpcor Matrix mvtnorm]; };
   BinNor = derive2 { name="BinNor"; version="2.3.1"; sha256="07f08nn9sbpgddm849rgabka1cb19j3s1yg1c1wydbgfkjakv95x"; depends=[corpcor Matrix mvtnorm psych]; };
   BinOrdNonNor = derive2 { name="BinOrdNonNor"; version="1.5"; sha256="0pw0a4g0v9g5k89hy5jz7hy4f3qg8fwyij6b1lj0b7bpy4mg0kv5"; depends=[BB corpcor GenOrd Matrix mvtnorm OrdNor]; };
   BinQuasi = derive2 { name="BinQuasi"; version="0.1-6"; sha256="0jf7zf3yqr2kgcm6h35234x2dqf65d2dzsh63b4q8m5l36r77k59"; depends=[BiocGenerics csaw edgeR GenomicAlignments GenomicRanges IRanges mgcv pracma quadprog RMySQL Rsamtools S4Vectors SummarizedExperiment]; };
+  BinSegBstrap = derive2 { name="BinSegBstrap"; version="1.0"; sha256="0iia9sbpnqp07h591d7ifvxq74nvnv0xspka2479qy7il9p65d3r"; depends=[Rcpp]; };
   Binarize = derive2 { name="Binarize"; version="1.3"; sha256="0xmgxlfyvgkv7xpngy9am6ihzwbjbfgp7psfnyhb1v0kj9iy7ids"; depends=[diptest]; };
   BinaryEMVS = derive2 { name="BinaryEMVS"; version="0.1"; sha256="1ainp6pg481yqhjc4f1pkxzxczbi3qm0kgq280vndq859ldfkpnh"; depends=[]; };
   BinaryEPPM = derive2 { name="BinaryEPPM"; version="2.3"; sha256="0fydh3pp7y0glk2rhihcslzx10hgn5la922jbnqzg2nplvzv7ybj"; depends=[expm Formula lmtest numDeriv]; };
@@ -449,7 +462,7 @@ in with self; {
   BioMedR = derive2 { name="BioMedR"; version="1.2.1"; sha256="0l3nmnqv0gzkbby4fhajbba910zpnbyckvxwds353pn54g9pcry7"; depends=[Biostrings ChemmineR fmcsR GOSemSim MASS org_Hs_eg_db pls randomForest rcdk RCurl rjson]; };
   BioPET = derive2 { name="BioPET"; version="0.2.2"; sha256="0zgq7i37d0rnjhlkcrl44x62vhz0njsv2fldm64j9r4wc02z1q9n"; depends=[ggplot2 gridExtra pROC VGAM]; };
   BioStatR = derive2 { name="BioStatR"; version="3.0.0"; sha256="1fv37xckhpn0b744r71q7h57pr5j2y0v8hcc97cgzdsqd8p4axmk"; depends=[ggplot2]; };
-  BiocManager = derive2 { name="BiocManager"; version="1.30.4"; sha256="0kxs76pixk1d2lpvkyrq6nnvv1rqf55ph5f7igkadyyqirf3y2ah"; depends=[]; };
+  BiocManager = derive2 { name="BiocManager"; version="1.30.10"; sha256="03n9s2vf7vgpgb5alpxwamf9xfkn32cbzngwyn6spq1bnh9a9dzk"; depends=[]; };
   Biocomb = derive2 { name="Biocomb"; version="0.4"; sha256="0jqfac81r5731m0i9jq7v5ns9263p8r7i03jyz10y915kfr6ikh6"; depends=[arules class e1071 FSelector gtools MASS nnet pamr pROC randomForest Rcpp rgl ROCR rpart RWeka]; };
   Biodem = derive2 { name="Biodem"; version="0.4"; sha256="0k0p4s21089wg3r3pvyy9cxsdf4ijdl598gmxynbzvwpr670qnsh"; depends=[]; };
   BiodiversityR = derive2 { name="BiodiversityR"; version="2.11-3"; sha256="1ba19vlxpy88xcryf3xki3h49hbmkz9hf69lni6swl2rh1k7fx41"; depends=[Rcmdr rgl vegan vegan3d]; };
@@ -457,11 +470,12 @@ in with self; {
   Bioi = derive2 { name="Bioi"; version="0.2.9"; sha256="0kvqvvaws1zc3npxvl3jqidak24n5y8n98ml44mkbh7c5n296z2p"; depends=[assertthat dplyr igraph Rcpp]; };
   Biolinv = derive2 { name="Biolinv"; version="0.1-2"; sha256="0g9vw1jcsjawmddkixssm5gbncy17fdd6a3c5b2qd4hx81kxz8q9"; depends=[classInt fields raster sp spatstat]; };
   Biopeak = derive2 { name="Biopeak"; version="1.0"; sha256="1l08m1jl8yygbdfzk8klpj1q2m7icvxi98vmk7akxs0sswjc6wd2"; depends=[cluster dbscan factoextra gplots RColorBrewer]; };
-  Bios2cor = derive2 { name="Bios2cor"; version="1.2"; sha256="00fzvj20x85gcpb9l6rfnm3qml8nnl365z1a68j90qi14wy6dfh6"; depends=[bigmemory bio3d circular igraph]; };
+  Bios2cor = derive2 { name="Bios2cor"; version="2.0"; sha256="1rrz0vs6wbkwys3l5jv1rdnlhyb4r1q9pv7jlnmsx6c1b4f4vz5n"; depends=[bigmemory bio3d circular igraph]; };
   BisRNA = derive2 { name="BisRNA"; version="0.2.2"; sha256="11jl5109nlm272vncprwplkz4kpvg7yx6yfnbjg47lfrsxcj8n0g"; depends=[MASS]; };
   BisqueRNA = derive2 { name="BisqueRNA"; version="1.0"; sha256="1ks91gjfcnajg540930drcnqcrn4fi3735hywyy3y6i1q0wnq9vb"; depends=[Biobase lsei]; };
   BivGeo = derive2 { name="BivGeo"; version="2.0.1"; sha256="1sj52v1zmk425jw9acq9y0jdp3agx103yzf1bjbc5vrmk1x0i0qr"; depends=[]; };
   BivRec = derive2 { name="BivRec"; version="1.0.0"; sha256="161856bsny5jq7lmf79w9iqq5kq7c12hkxam5l746rfnrw1bzjzg"; depends=[knitr MASS Rcpp rmarkdown stringr survival]; };
+  BivRegBLS = derive2 { name="BivRegBLS"; version="1.1.1"; sha256="1kpl0pwm2g40pxrfbz2d95vcrm51flg6bgc83661349cmc9a2511"; depends=[ellipse]; };
   BivUnifBin = derive2 { name="BivUnifBin"; version="1.3.1"; sha256="1ppsayixsbq0f71il93m5ih6gjwf2pavg7dhfj8gm5y8qkiz7pwc"; depends=[BinOrdNonNor rootSolve]; };
   BivarP = derive2 { name="BivarP"; version="1.0"; sha256="08f7sphylaj3kximy1avaf29hxj2n800adsnssh01p9bcxnzb2i4"; depends=[copula dfoptim survival]; };
   Bivariate_Pareto = derive2 { name="Bivariate.Pareto"; version="1.0.2"; sha256="1clfknv56zfi9wgzi5bricchvis83mc33i5d4qk3yzf2ryzxag7q"; depends=[compound_Cox]; };
@@ -472,6 +486,7 @@ in with self; {
   BlockCov = derive2 { name="BlockCov"; version="0.1.1"; sha256="1ilqd8kvhlq0nc1n4y7g0aiwran3kyqs8i143j6dv2wy3myn5x0l"; depends=[BBmisc dplyr magrittr Matrix Rdpack rlang tibble]; };
   BlockFeST = derive2 { name="BlockFeST"; version="1.6"; sha256="0hj7a5as7nxbgjac7lbj6qfwffx3g8x8phpf9a55f1c9cdzi73a5"; depends=[BASIX]; };
   BlockMessage = derive2 { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
+  BlythStillCasellaCI = derive2 { name="BlythStillCasellaCI"; version="1.0.0"; sha256="0xgrrh6rf732c2dh1z1qyvkqw8ga1yl6i802r399bb7k55g6z6d0"; depends=[]; };
   Bmix = derive2 { name="Bmix"; version="0.6"; sha256="17swhn2p7jv29fkspacg2v181lkc9yd3xww2fx31xs8hsndcm857"; depends=[mvtnorm]; };
   BoSSA = derive2 { name="BoSSA"; version="3.6"; sha256="00jxml2lyw1rc0ifs111sbz30186z61zvz1qy6wz74024c6gsw89"; depends=[ape jsonlite phangorn plotrix RSQLite]; };
   BoardGames = derive2 { name="BoardGames"; version="1.0.0"; sha256="1w3ghs29qlnjrd46lvv055snclwwy6a22fgdqszqm377w4favnhm"; depends=[]; };
@@ -482,18 +497,16 @@ in with self; {
   BondValuation = derive2 { name="BondValuation"; version="0.1.0"; sha256="1sgnf5a6rm1br6i82bmp7s044012bwfxa9yb6bjkq8kr83mf7i6v"; depends=[Rcpp timeDate]; };
   BoolFilter = derive2 { name="BoolFilter"; version="1.0.0"; sha256="14z4fzf8p4wgi939qs6v39a3xizccjcx7j4szsydllpkvxbwggbw"; depends=[BoolNet Rlab]; };
   BoolNet = derive2 { name="BoolNet"; version="2.1.5"; sha256="11fysc39vfk3zb9qklryi8gl42c3hqgzlvci4jj0zkqnm0v9amqk"; depends=[igraph XML]; };
-  Boom = derive2 { name="Boom"; version="0.9.2"; sha256="12si4qd3xyx38bryd1s0p2qr1w7w5sxvk6ncpf071v6lxsf7zh05"; depends=[MASS]; };
+  Boom = derive2 { name="Boom"; version="0.9.3"; sha256="1mp8vp5fgfirlbgix5vncf05n6b7xyk5giqzxgxnd8g9l4j8r7rd"; depends=[MASS]; };
   BoomSpikeSlab = derive2 { name="BoomSpikeSlab"; version="1.2.1"; sha256="1fxh39rplcnpfyffvzl7kns04lvfc1jx70nsq1380471z1n144lj"; depends=[Boom igraph]; };
   BootMRMR = derive2 { name="BootMRMR"; version="0.1"; sha256="07am80603pv1dh5ma3zb0idnslkzm5m3ym8sd1nhkh8zbc6qqmzs"; depends=[]; };
   BootPR = derive2 { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
-  BootValidation = derive2 { name="BootValidation"; version="0.1.65"; sha256="1q42yqj56by3j1kmq17pjl4aq0sznhph65yxfwav39q28bf5y83r"; depends=[glmnet pbapply pROC risksetROC survival]; };
   BootWPTOS = derive2 { name="BootWPTOS"; version="1.2"; sha256="1860l11xg7444l3x42rq3636csla23gg0mi5in1zibjwn1ddc202"; depends=[fractal wavethresh]; };
   BootstrapQTL = derive2 { name="BootstrapQTL"; version="1.0.2"; sha256="1qf93wmrh6znm81jr3gyn1sl8x4i6pdx811r70fg8k026fbfjn3a"; depends=[data_table foreach MatrixEQTL]; };
   Boruta = derive2 { name="Boruta"; version="6.0.0"; sha256="1pp8zal1vhxlzdhl20phn39m3ffhw5glyqbcgwa0w14zw2mpm6hw"; depends=[ranger]; };
   BosonSampling = derive2 { name="BosonSampling"; version="0.1.1"; sha256="0wxn12h903a0mlrkrr3w4qd9ld2a4bifs95i98cnl2dsb76rwf12"; depends=[Rcpp RcppArmadillo]; };
   BradleyTerry2 = derive2 { name="BradleyTerry2"; version="1.1-0"; sha256="13lhs6rynyj9cw13panqbn2jzkhq5fixhfd0ldr128gvw5d43hxg"; depends=[brglm gtools lme4 qvcalc]; };
   BradleyTerryScalable = derive2 { name="BradleyTerryScalable"; version="0.1.0"; sha256="0g12fkfs2sykyd6fzf924zv8gj2js452c4pf0pz2p6156chwrk8c"; depends=[dplyr igraph Matrix purrr Rcpp RcppArmadillo]; };
-  BrailleR = derive2 { name="BrailleR"; version="0.29.1"; sha256="0n6njampfav84yd68vi4nw8h3dm285m3wfqi048ghiw740sa4rjk"; depends=[devtools dplyr extrafont ggplot2 gridGraphics gridSVG hunspell knitr magrittr moments nortest reticulate rmarkdown roloc rolocISCCNBS whisker XML xtable]; };
   Branching = derive2 { name="Branching"; version="0.9.4"; sha256="1c209gdasm7qipv2gg4d1hr0jmhnzz5rddgjxb7xacazc0c2mhff"; depends=[]; };
   BreedingSchemeLanguage = derive2 { name="BreedingSchemeLanguage"; version="0.9.6"; sha256="0lj8s42ndqqllnm8v978481zqmc751v31909rir1pkwcsm3irisx"; depends=[ggplot2 lme4 Matrix Rcpp rrBLUP snowfall]; };
   Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-6"; sha256="1m3ajvcksqfck5l5hj5xiflj4ry6d896ybv4f0xxks8chgnwmv0r"; depends=[]; };
@@ -506,7 +519,7 @@ in with self; {
   BurStFin = derive2 { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
   BurStMisc = derive2 { name="BurStMisc"; version="1.1"; sha256="0cyi42zkn2dby162x9f95b3hpqxbzx25s7nahb4p86r60xj3a5c0"; depends=[]; };
   BusinessDuration = derive2 { name="BusinessDuration"; version="0.2.0"; sha256="17923n1r3n8kp7qqzr2dv8ffax355yyc3b9f6mv2hxy6k31hrrb8"; depends=[chron]; };
-  BuyseTest = derive2 { name="BuyseTest"; version="1.7"; sha256="0sjbwacpkw54wwzxd6866dzd03scl5g8ixcxs5ry26b2w0dncy60"; depends=[data_table doParallel foreach lava prodlim Rcpp RcppArmadillo]; };
+  BuyseTest = derive2 { name="BuyseTest"; version="1.8"; sha256="1yswhan5gpx4lr49smsj4fkr3f9by11m6fh4dqh793z4bzrc535c"; depends=[data_table doParallel foreach lava prodlim Rcpp RcppArmadillo]; };
   C443 = derive2 { name="C443"; version="1.0.0"; sha256="0d04769m9kkjqpj1cgfhqrri893nwi6qn7fz63z5pkym5cig5yyi"; depends=[cluster ggplot2 gridExtra igraph MASS partykit qgraph RColorBrewer reshape2 rpart]; };
   C50 = derive2 { name="C50"; version="0.1.2"; sha256="1fpspmsm62h077dkdhii23bs3sxlblabfqj4waz794ihw1b9hicg"; depends=[Cubist partykit]; };
   CA3variants = derive2 { name="CA3variants"; version="2.0"; sha256="1wnc9qfcligpsi5ycmzw0igm14h6lvf4vd82aygnas6q41vnypwz"; depends=[ggplot2 ggrepel gridExtra multichull]; };
@@ -514,8 +527,6 @@ in with self; {
   CADStat = derive2 { name="CADStat"; version="3.0.8"; sha256="0wdglw1vyd5gz70r9ma0mwshvizv39nb4ahp8pvr70c4qqzsfhc0"; depends=[bio_infer car gdata gmodels JavaGD JGR lattice MASS quantreg rJava rpart XML]; };
   CAISEr = derive2 { name="CAISEr"; version="1.0.15"; sha256="0igm1yvhllnhqd0bc2z6bfjdmr3w2465xi7vyaa7a68dd5k81apj"; depends=[assertthat ggplot2 gridExtra pbmcapply]; };
   CALF = derive2 { name="CALF"; version="0.2.0"; sha256="12w1vr0rk6m4lv6zvqrf45k81d301ln1253wyy9xi6mv1hkabg0v"; depends=[ggplot2]; };
-  CALIBERrfimpute = derive2 { name="CALIBERrfimpute"; version="1.0-1"; sha256="1xsnqyj0qdi081rdnpas9ciy9zbhdcjx3lphl6drk0bbmik3znkv"; depends=[mice mvtnorm randomForest]; };
-  CAM = derive2 { name="CAM"; version="1.0"; sha256="07mmrz6j8cm6zgaw2zcxgkxb7abd651kb80526r271snjgvpr5bl"; depends=[glmnet Matrix mboost mgcv]; };
   CAMAN = derive2 { name="CAMAN"; version="0.74"; sha256="0d932fbqzlxlhn7m8zfx7wr02pc7fm8398rym1jh2cdy2fk5im08"; depends=[mvtnorm sp]; };
   CANSIM2R = derive2 { name="CANSIM2R"; version="1.14.1"; sha256="1dnzbd9lyqj3w80lx12qxcsbmv8wy6hxknyi5ijp99cfv7kaq1kc"; depends=[downloader Hmisc reshape2]; };
   CARBayes = derive2 { name="CARBayes"; version="5.1.2"; sha256="0kdjjayvl0rcynpmj82j0xdd6yhfwasabgrrs4nzs8kgjvlqfxax"; depends=[CARBayesdata coda leaflet MASS matrixcalc MCMCpack Rcpp rgdal sp spam spdep truncnorm]; };
@@ -534,7 +545,7 @@ in with self; {
   CAinterprTools = derive2 { name="CAinterprTools"; version="1.0.0"; sha256="1ia4qfvj0nzxi6pwqnha2vpfcx3qwaw4vrjqiza11sai274j0pjy"; depends=[ca classInt cluster FactoMineR ggplot2 ggrepel Hmisc RcmdrMisc reshape2]; };
   CAvariants = derive2 { name="CAvariants"; version="5.0"; sha256="0y87xg2iwsmn8klavapncd7vkqvl15z9crmx3ja56ksb36czn8kk"; depends=[ggplot2 ggrepel gridExtra]; };
   CB2 = derive2 { name="CB2"; version="1.2.1"; sha256="089cf0pcy5xyzr6pl9ljqc52cy2bh2xfxhfh7iika2wv932wwq98"; depends=[dplyr ggplot2 glue magrittr metap pheatmap Rcpp RcppArmadillo stringr tibble tidyr]; };
-  CBCgrps = derive2 { name="CBCgrps"; version="2.3"; sha256="07cy8z1fyr328jpa98sdxwd1vydx8sr93jx79hjn9hgm157240mg"; depends=[nortest]; };
+  CBCgrps = derive2 { name="CBCgrps"; version="2.4"; sha256="1zqzbvgm82lngaazxm01yqvz4wck0ykva520qlf9bv7chx6jd4rf"; depends=[nortest]; };
   CBDA = derive2 { name="CBDA"; version="1.0.0"; sha256="0qm77vvqjgi83i8izly995ziv9ski8kgzqyq4g81i2k7a5dp8vxv"; depends=[doParallel foreach prettydoc SuperLearner]; };
   CBPS = derive2 { name="CBPS"; version="0.21"; sha256="0av9lgdn9z57xl9cp53pi9nq971a6fj4przczw7sdb5saml3yr30"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
   CBT = derive2 { name="CBT"; version="1.0"; sha256="13h6sf7w03nfq2arqymwww13ywnv9xnqbqazlzn856mj3ggaqda7"; depends=[]; };
@@ -552,7 +563,6 @@ in with self; {
   CDROM = derive2 { name="CDROM"; version="1.1"; sha256="0mvhqs4m8jp39x1rk31a1sqqmfq1avcnasgh8bizlyxx62igmi1b"; depends=[]; };
   CDVine = derive2 { name="CDVine"; version="1.4"; sha256="0cp78pb6yny4n5q2j9k6xdql588536572gbphnw8zkdmrg65qyz7"; depends=[igraph MASS mvtnorm]; };
   CDVineCopulaConditional = derive2 { name="CDVineCopulaConditional"; version="0.1.1"; sha256="1wyy324vrwipdsq0p021bj1gdhyxg09g3dkw8wv5v6rfrrs84m9k"; depends=[combinat VineCopula]; };
-  CEAmarkov = derive2 { name="CEAmarkov"; version="0.1.0"; sha256="1flninygs01qdvvb7pmllygd8hjssil665rwmgzxrxwh0hz6najk"; depends=[stringr WHO xml2]; };
   CEC = derive2 { name="CEC"; version="0.10.2"; sha256="03fxhqlpn7x3djfanlix3yzf1cy6zf854g70gq2d93ix9gis7knv"; depends=[]; };
   CEGO = derive2 { name="CEGO"; version="2.3.0"; sha256="005y03bx8acfw3wzriyq3p8d3qvsq1l7xvwgjri67bix052ffn1x"; depends=[DEoptim fastmatch MASS Matrix ParamHelpers quadprog]; };
   CENFA = derive2 { name="CENFA"; version="1.0.0"; sha256="0ah8rh0gbwwhdfxzj9sj4i8iqbybkga09vinlh0r514ayv2qq2x8"; depends=[doSNOW foreach magrittr pbapply raster Rcpp snow sp]; };
@@ -560,6 +570,7 @@ in with self; {
   CFC = derive2 { name="CFC"; version="1.1.2"; sha256="0k0685cgsd0lm7id6h216r4x236xn3nqj4h906qn2i0kvwmx4nda"; depends=[abind doParallel foreach Rcpp RcppArmadillo RcppProgress survival]; };
   CGE = derive2 { name="CGE"; version="0.1.9"; sha256="1vlv96pwmc1sijrcs3bil9i1wnin013gxjr3dgdj6xakq8sl01sd"; depends=[]; };
   CGGP = derive2 { name="CGGP"; version="1.0.1"; sha256="0vpj2bmij8wwckyzbmid6dyzpwy4jcbgpch3j143rag7pvgmc87q"; depends=[Rcpp RcppArmadillo]; };
+  CGManalyzer = derive2 { name="CGManalyzer"; version="1.2"; sha256="1993hxpaplb2qxrjfnm63alks0wb3msrffycmwd9p9md5glzci9y"; depends=[]; };
   CGP = derive2 { name="CGP"; version="2.1-1"; sha256="05a6gydlb99yk2jpy2hyg4c30hqyp8dg2i9dmbjc1n5cmgpg3im9"; depends=[]; };
   CGPfunctions = derive2 { name="CGPfunctions"; version="0.5.7"; sha256="0afyv64kqmjsymnp9vzn55zn8qri2ic4mhsc77rf5s1jzamcgjlp"; depends=[broomExtra car DescTools devtools dplyr ggplot2 ggrepel pwr rlang scales sjstats tibble]; };
   CHCN = derive2 { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
@@ -577,6 +588,7 @@ in with self; {
   CITAN = derive2 { name="CITAN"; version="2015.12-2"; sha256="08h91q7529q04izgqw3ahm4r0zjpwnwyc0vynykvv9fz2fkbk7wb"; depends=[agop DBI hash RGtk2 RSQLite stringi]; };
   CIplot = derive2 { name="CIplot"; version="1.0"; sha256="0hx3dn7d8hvsh75747d9046iqriy3bjnchph8xllnvlhkrm4di1f"; depends=[MASS multcomp]; };
   CJAMP = derive2 { name="CJAMP"; version="0.1.1"; sha256="0caznbqy5hsp7h0gkdbv966vfpq8z1khvbizi4vpc9mxck1nqc99"; depends=[optimx]; };
+  CKAT = derive2 { name="CKAT"; version="0.1.0"; sha256="03vxl91z2mhi1h0xgcwhw63mvj56156zgphm16ijdff63pqxaryr"; depends=[CompQuadForm]; };
   CKLRT = derive2 { name="CKLRT"; version="0.2.3"; sha256="1d8sg3ncns3fpjaghz1h1z9nfrl31v09xijrzzsias8xjrpi191b"; depends=[MASS mgcv nlme Rcpp RcppEigen]; };
   CLA = derive2 { name="CLA"; version="0.95-1"; sha256="0h3b1wmmfhajdgd2nmm1wkrg83fwbwj4yphjqin8yw9a0izqf0mz"; depends=[]; };
   CLME = derive2 { name="CLME"; version="2.0-11"; sha256="0p43nnnphzaxrna7y57kgjy2qih535k45s3hxlj89p1x0yhy0mga"; depends=[isotone lme4 MASS nlme openxlsx prettyR shiny stringr]; };
@@ -587,19 +599,21 @@ in with self; {
   CMF = derive2 { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp]; };
   CMLS = derive2 { name="CMLS"; version="1.0-0"; sha256="1542qqsl6sksrcpwhnn55d260hkbmy4ikd0v2an96yxk5w95spvn"; depends=[quadprog]; };
   CMPControl = derive2 { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; };
+  CMShiny = derive2 { name="CMShiny"; version="0.1.0"; sha256="0ciis3930yhn4dmazsg2yp7wi9hdfj5slr032x8qfllxis7m4k0w"; depends=[caret e1071 epitools Matrix rmarkdown shiny shinyMatrix]; };
+  CMapViz = derive2 { name="CMapViz"; version="0.1.0"; sha256="1s7xyp13p7fpbq0bghk07dfv90339kxs7k3343jqhrn8djf3as67"; depends=[dplyr ggplot2 readxl reshape2 scales stringr]; };
   CMatching = derive2 { name="CMatching"; version="2.3.0"; sha256="0q0hplhsamj46z7g6pa7yg1bap5822ka1419yhcip551djhvnpmv"; depends=[lme4 lmtest Matching multiwayvcov]; };
   CMplot = derive2 { name="CMplot"; version="3.4.0"; sha256="1gbgwfxxg8x2bzkd0lvnf14rp3hvlqnw3p42i2jc720zgg1vrxl5"; depends=[]; };
   CNLTreg = derive2 { name="CNLTreg"; version="0.1-2"; sha256="07yi0ajil1113663v3gp5d3453r4l9qm442jnpydx4ygvjk7m2ha"; depends=[adlift miscTools nlt]; };
   CNLTtsa = derive2 { name="CNLTtsa"; version="0.1-2"; sha256="1vy0jjg6s8yvsvkx4pin183y5bnikm5cmjcpa9znz9dj1w6hwr5r"; depends=[adlift CNLTreg fields nlt]; };
   CNOGpro = derive2 { name="CNOGpro"; version="1.1"; sha256="1frsmhfqrlg1vsa06cabqmrzngq4p5gqwyb9qgnsgg81a9ybm6l8"; depends=[seqinr]; };
-  CNVScope = derive2 { name="CNVScope"; version="2.7.2.5"; sha256="13hqgpdjarc9754ac08yw8hza1n1c693l3x9gzd4gz1p1h9yvdm2"; depends=[BiocManager biomaRt blockseg BSgenome_Hsapiens_UCSC_hg19 circlize data_table doParallel dplyr foreach GenomeInfoDb GenomicFeatures GenomicInteractions GenomicRanges ggplot2 heatmaply HiCseg htmltools htmlwidgets igraph InteractionSet IRanges jointseg logging magrittr Matrix matrixStats numbers OpenImageR plotly plyr RCurl reshape2 rslurm rtracklayer S4Vectors shiny shinycssloaders shinyjs shinythemes spatialfil stringr tibble tidyr visNetwork]; };
+  CNVScope = derive2 { name="CNVScope"; version="2.8.2"; sha256="08kr9q30cx102wdnm2kqjakjvjp7zfgrqamy1qc87xi7z3w6jkxw"; depends=[BiocManager biomaRt BSgenome_Hsapiens_UCSC_hg19 circlize data_table doParallel dplyr foreach GenomeInfoDb GenomicFeatures GenomicInteractions GenomicRanges ggplot2 heatmaply HiCseg htmltools htmlwidgets igraph InteractionSet IRanges jointseg logging magrittr Matrix matrixStats numbers OpenImageR plotly plyr RCurl reshape2 rslurm rtracklayer S4Vectors shiny shinycssloaders shinyjs shinythemes spatialfil stringr tibble tidyr visNetwork]; };
   CNprep = derive2 { name="CNprep"; version="2.0"; sha256="08dpjikx3ldqzw2kwb12q0kbw15qzl09srjdfs0sz9si0x6bfxs6"; depends=[mclust rlecuyer]; };
   CNull = derive2 { name="CNull"; version="1.0"; sha256="14hy86zg18hqxi63bfzrpkz70yrzfxp2v2pva5xnrvx9dmlyz820"; depends=[ape Matrix PhyloMeasures Rcpp]; };
   COBRA = derive2 { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
   COCONUT = derive2 { name="COCONUT"; version="1.0.2"; sha256="1qjrhxn6dkxyimdca3nslaiw3hncfpk1pk4v01mcrnz550z001nz"; depends=[]; };
   COMBAT = derive2 { name="COMBAT"; version="0.0.4"; sha256="0m700pl33frdpc9y16y4zyh1ixpardh0r5kmz8a78jrh1acn30id"; depends=[corpcor mvtnorm]; };
   COMBIA = derive2 { name="COMBIA"; version="1.0.6"; sha256="1640bfl5sn00czxnl6j2rrdrzc5arvfpy5b66viybxm2qqbiw49w"; depends=[gdata hash lattice latticeExtra oro_nifti]; };
-  COMPoissonReg = derive2 { name="COMPoissonReg"; version="0.6.1"; sha256="1kjjvbp97035qawka1zbypr2gh28xnnsnbplflp3f660ch8rm8m6"; depends=[Rcpp]; };
+  COMPoissonReg = derive2 { name="COMPoissonReg"; version="0.7.0"; sha256="144vf3vfn5msc8p67q65frza8xyi9nqccjq47fnv33w5h0d9wlxj"; depends=[Rcpp]; };
   CONDOP = derive2 { name="CONDOP"; version="1.0"; sha256="0si9nm93wk9lif3r6jh2nxr4sjq1iqyfavbykja3zcy6yn05i19s"; depends=[earth GenomeInfoDb GenomicRanges IRanges mclust plyr randomForest rminer S4Vectors seqinr]; };
   CONS = derive2 { name="CONS"; version="0.1.1"; sha256="0w0rca4z3hij0lbabpdnhv2lb52gx574g7bqp6q16772pi4685hf"; depends=[FactoMineR gridExtra gWidgets pander raster readxl REdaS]; };
   CORE = derive2 { name="CORE"; version="3.0"; sha256="0wq9i7nscnzqiqz6zh6hglm7924261bw169q3x6l9i6jgqhvn32d"; depends=[]; };
@@ -620,8 +634,8 @@ in with self; {
   CRAC = derive2 { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; };
   CRANsearcher = derive2 { name="CRANsearcher"; version="1.0.0"; sha256="09gw1s28gb0l2cn4w3asl6zlr7wfacxwafbdrayajwckyfkjl5dl"; depends=[curl dplyr DT lubridate miniUI shiny shinyjs stringr]; };
   CREAM = derive2 { name="CREAM"; version="1.1.1"; sha256="1lccpwn6c5pmykgf689gvvpqdcilkys4vclpxjhllhanjrfhcs3q"; depends=[]; };
-  CRF = derive2 { name="CRF"; version="0.4-2"; sha256="0pgq9xp5qwr221026p5g5qlfwgj9ri1qq8m03pqjxpc6qlr4935l"; depends=[Matrix]; };
-  CRFCSD = derive2 { name="CRFCSD"; version="1.0"; sha256="028pqacjg4pb23z976rp6qanx74xs92a4id7875ydvdrgmmi7s14"; depends=[numDeriv orthopolynom Rcpp RcppArmadillo splines2]; };
+  CRF = derive2 { name="CRF"; version="0.4-3"; sha256="0jlcc1ffd2z7sz1szbi4vrp5rihmcp18bsw27x02ivi6l21nyivf"; depends=[Matrix]; };
+  CRFCSD = derive2 { name="CRFCSD"; version="3.0"; sha256="140g0f5alnd55w9irmbidjlsv3ari8y4qb1m7m28sa30rsnrnzfm"; depends=[numDeriv orthopolynom Rcpp RcppArmadillo splines2]; };
   CRM = derive2 { name="CRM"; version="1.2.4"; sha256="0jv2z1y3zyj1m86p4pmqww58hj8pvid1ss6ym67y46n9srzxsmj5"; depends=[]; };
   CRPClustering = derive2 { name="CRPClustering"; version="1.2"; sha256="19m7jg6ck2gqmry2p35h3vv8msm4w1x7qwwmm746r646q7w9ylml"; depends=[dplyr lucid MASS mvtnorm png randomcoloR]; };
   CRTSize = derive2 { name="CRTSize"; version="1.0"; sha256="1d45zx26bf0zk0piham69gvb8djqf48g6iisbldv0ds3s2hhcsin"; depends=[]; };
@@ -629,7 +643,7 @@ in with self; {
   CRWRM = derive2 { name="CRWRM"; version="0.0.1"; sha256="0w6lg5q2c0w5p9vg5qr32pycyl8d1zp0s55jlvf2xhmqx34677hd"; depends=[]; };
   CSESA = derive2 { name="CSESA"; version="1.2.0"; sha256="0pv6iabq1w22qbhlsbckdvva4n7igpzrjnrahmq83a6wxgvjbf5j"; depends=[Biostrings]; };
   CSFA = derive2 { name="CSFA"; version="1.2.0"; sha256="1nkyhk8qhrrlx8v26yw86l954m4xfcxma4pqbhgw95jvqql5h3li"; depends=[elasticnet fabia FactoMineR pls randomcoloR snowFT]; };
-  CSTools = derive2 { name="CSTools"; version="1.0.1"; sha256="1lc5vl6hphhwrlp6pqzhqxcdli1j1i9wmprdi2fhrbmavvb77plv"; depends=[abind data_table ggplot2 maps multiApply ncdf4 plyr rainfarmr reshape2 s2dverification]; };
+  CSTools = derive2 { name="CSTools"; version="2.0.0"; sha256="0vczsnbsijvpzzz7vbkgmwr92sk3khazxfw308v7cvbvxwflg4ym"; depends=[abind ClimProjDiags data_table ggplot2 maps multiApply ncdf4 plyr qmap rainfarmr reshape2 s2dverification verification]; };
   CSclone = derive2 { name="CSclone"; version="1.0"; sha256="0lqsqsgh2sf44fr1r7g179556v294yr1wy7x4320g7adxshrwyh5"; depends=[DNAcopy lpSolve mcclust moments]; };
   CSeqpat = derive2 { name="CSeqpat"; version="0.1.2"; sha256="1nqk873cagpn4fba4rmyzb6hni1p5lqcvsr9givrcm0gfx756w1h"; depends=[NLP tm]; };
   CTAShiny = derive2 { name="CTAShiny"; version="0.1.0"; sha256="18qw8nx1r4gwlxj9zxn4hllpn29fv3i4fgwyl5fh3qsv9hmbvi0x"; depends=[epitools rpivotTable shiny shinyMatrix]; };
@@ -648,7 +662,7 @@ in with self; {
   CVST = derive2 { name="CVST"; version="0.2-2"; sha256="05l3yzkfrbds09ah9cdwn2sn4ryhq78lz33ryzrgkv176jc8qjw5"; depends=[kernlab Matrix]; };
   CVThresh = derive2 { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[EbayesThresh wavethresh]; };
   CVTuningCov = derive2 { name="CVTuningCov"; version="1.0"; sha256="1bwzis82lqwcqp2djy4bnd3vvjr47krlv3pdc5msh12wcs0xhs7n"; depends=[]; };
-  CVXR = derive2 { name="CVXR"; version="0.99-6"; sha256="0dirqrjhnbgjvscqqk9vxpiqw3fkd95nd1rclac5i1wyy8dlgn29"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
+  CVXR = derive2 { name="CVXR"; version="0.99-7"; sha256="0jbw4gxcjrmzdm2681nfci34mkf16b9w6xi5slq6l5x273rfjh5v"; depends=[bit64 ECOSolveR gmp Matrix R_utils R6 Rcpp RcppEigen Rmpfr scs]; };
   CVcalibration = derive2 { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
   CVglasso = derive2 { name="CVglasso"; version="1.0"; sha256="1bh09cd0yabhqv5yfahhvayx3f09yqapzl1yr9nc9xqwyx1d0cfd"; depends=[doParallel dplyr foreach ggplot2 glasso]; };
   CaDENCE = derive2 { name="CaDENCE"; version="1.2.5"; sha256="1z3p5y1l67r470x6wrhnyjvw1ndppcm08fpj99x122j7kn6byff2"; depends=[pso]; };
@@ -676,6 +690,7 @@ in with self; {
   CautiousLearning = derive2 { name="CautiousLearning"; version="1.0.1"; sha256="1m5x93l4bscrpcxk0pva6d6n2qnzhzxh0a6a81p97l8lqgs1qw2q"; depends=[BH Rcpp sitmo spc]; };
   CePa = derive2 { name="CePa"; version="0.6"; sha256="1qpxx9x656g678wp190q29vxkb54sfkalg0csg0ndlcvi03dvl3d"; depends=[graph igraph Rgraphviz]; };
   CeRNASeek = derive2 { name="CeRNASeek"; version="2.1"; sha256="007wzq18p8dp7v4dplxsnq3i1qvd740s59nv9ygcr28d6gvsx1fy"; depends=[gtools igraph survival]; };
+  CensMFM = derive2 { name="CensMFM"; version="1.5"; sha256="1zdky0rmh27939zka7x0276g5p6wx14hc8206q2z84q3y5mjgahp"; depends=[ggplot2 gridExtra mnormt MomTrunc mvtnorm]; };
   CensMixReg = derive2 { name="CensMixReg"; version="3.1"; sha256="1r7w84bjdxnkhiw7gh499scc6m3ba9b2a8cwayn6sg5a524yn9gs"; depends=[ClusterR mixsmsn mnormt mvtnorm trimcluster]; };
   CensRegMod = derive2 { name="CensRegMod"; version="1.0"; sha256="0qqwkxn8knhcjb6mph7mp7mma56zxslbvkfgfajq2lq4gbg901y4"; depends=[]; };
   CensSpatial = derive2 { name="CensSpatial"; version="1.3"; sha256="0gd1c5qlk71avv0s3jqwb00h9cm6djg9qwzc1znc3kh61wx9kvfi"; depends=[geoR lattice moments msm mvtnorm numDeriv optimx psych raster tmvtnorm]; };
@@ -700,8 +715,8 @@ in with self; {
   ChoR = derive2 { name="ChoR"; version="0.0-4"; sha256="08mildsx542zfm0kcdakcv7c71hb4jgbcq1lhidf0fz76zj1pzk1"; depends=[commonsMath rJava]; };
   ChocoLattes = derive2 { name="ChocoLattes"; version="0.1.0"; sha256="0ircdar4fswaf34969gzgn83ia891jvwl29jn4s9a87cc4qagzgr"; depends=[ggplot2 knitr plotly R_utils rmarkdown WriteXLS XML]; };
   ChoiceModelR = derive2 { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
-  CholWishart = derive2 { name="CholWishart"; version="1.0.1"; sha256="1kzvd9nmkqx3f2n3305h8p3zlh32ql5a94p6p2m5q951x54hivz0"; depends=[]; };
-  CircMLE = derive2 { name="CircMLE"; version="0.2.1"; sha256="031pmfyqwif16am7h1csk1dg9vhy0jgdc8w4z60kqqsgf3yk6il9"; depends=[circular]; };
+  CholWishart = derive2 { name="CholWishart"; version="1.1.0"; sha256="1p92i5ibv9805fg8s5wrpxx63k4c1ihs1x2zlaz9vbkqypkl8aqz"; depends=[]; };
+  CircMLE = derive2 { name="CircMLE"; version="0.2.2"; sha256="0qavd67295ca8jrwllkgjp5b84kxf4pik226pm9y126bz3rss9a1"; depends=[circular]; };
   CircNNTSR = derive2 { name="CircNNTSR"; version="2.2"; sha256="0z29dsvcwpra1ny8kj486dpnrak272wmkfnaiyashzcqpnkmkg03"; depends=[]; };
   CircOutlier = derive2 { name="CircOutlier"; version="3.2.3"; sha256="1vyac4mjkn6p4p9n5finqqak6g7m3hj04a66v3w797jn1wbd1xly"; depends=[CircStats circular]; };
   CircSpaceTime = derive2 { name="CircSpaceTime"; version="0.9.0"; sha256="0dplgm5x4c1xxnv6062n643mn5zh0najw3f41pv2qafc1lil4wx8"; depends=[circular coda ggplot2 Rcpp RcppArmadillo RInside]; };
@@ -726,11 +741,12 @@ in with self; {
   ClimProjDiags = derive2 { name="ClimProjDiags"; version="0.0.4"; sha256="1819kv0h7qh285nykncdqr808b9v5fviccr0fbv2im7zni497scq"; depends=[climdex_pcic multiApply PCICt plyr]; };
   ClinReport = derive2 { name="ClinReport"; version="0.9.1.14"; sha256="140hpg6ybz1rlql06gk851fcvlb2k53kp46dq22cbs36frggk3rj"; depends=[car dplyr emmeans flextable ggplot2 lme4 officer reshape2 xtable]; };
   ClinicalTrialSummary = derive2 { name="ClinicalTrialSummary"; version="1.1.1"; sha256="0b5by4sn9yvrvxr9921yqsgp8ma3g1hi2qbp5j9m836db1zjhyla"; depends=[Rcpp]; };
+  CliquePercolation = derive2 { name="CliquePercolation"; version="0.2.0"; sha256="1zllhl1674734sr0hmfgwdyqlk4rcjdqqrd7rx30llqri478jdff"; depends=[colorspace igraph magrittr Matrix Polychrome qgraph]; };
   CloneSeeker = derive2 { name="CloneSeeker"; version="1.0.7"; sha256="07rh577m7xp6v0adchp0mbfs0mkglpv7p27794rm958nvfsmffds"; depends=[combinat gtools quantmod]; };
   ClueR = derive2 { name="ClueR"; version="1.4"; sha256="0awl3ag48idg0396hcgqrh5f16mbgximr5xbxjiimib5zysdc558"; depends=[e1071]; };
   ClusVis = derive2 { name="ClusVis"; version="1.2.0"; sha256="06yckdl3gxjia1gjjqpc29lvy4f7qf47fncslng9ggjnks6il145"; depends=[MASS mgcv mvtnorm Rcpp RcppArmadillo Rmixmod VarSelLCM]; };
   ClussCluster = derive2 { name="ClussCluster"; version="0.1.0"; sha256="1436849m2mnm8j7lf653zv8lcvvg2ch8kkks4bvr39kx21wxy8ss"; depends=[ggplot2 reshape2 rlang scales VennDiagram]; };
-  ClustBlock = derive2 { name="ClustBlock"; version="2.0.0"; sha256="0g6z4l4ilpamdi8wfmlwz21kjiwlwnl702i38rzlyvysr1afsxv1"; depends=[FactoMineR]; };
+  ClustBlock = derive2 { name="ClustBlock"; version="2.1.1"; sha256="0zgrv0bayrfp7hw14zmfl3752l1kjk27lfdgalbx39rgf4pn245g"; depends=[FactoMineR]; };
   ClustGeo = derive2 { name="ClustGeo"; version="2.0"; sha256="1p5k2w1k7hnacbazzj2yhxh4z2jngnsl4v5a9b3c8z1dr4nhcwxc"; depends=[sp spdep]; };
   ClustImpute = derive2 { name="ClustImpute"; version="0.1.3"; sha256="1rfs8vbpqjskl5ap12x6qmxg4ygaaycaas8x3ylaqvlvyy9ywhki"; depends=[ClusterR copula dplyr magrittr rlang]; };
   ClustMMDD = derive2 { name="ClustMMDD"; version="1.0.4"; sha256="0sblf3crpai53dflhyi27yn6mg0xyy9dxhwsk8j57sq5vr50x686"; depends=[Rcpp]; };
@@ -738,7 +754,7 @@ in with self; {
   ClustVarLV = derive2 { name="ClustVarLV"; version="2.0.0"; sha256="03fv3mzmimsmg3d4mlp1j4d1y6qhaaaaml3f6bd8v39h03kd9450"; depends=[doParallel foreach iterators plyr Rcpp RcppEigen]; };
   Cluster_OBeu = derive2 { name="Cluster.OBeu"; version="1.2.2"; sha256="1hh5aah5vnk1ld4hhpslr7hvxhw2b5x55rzxrm6j101sw533706h"; depends=[car cluster clValid data_tree dendextend jsonlite mclust RCurl reshape reshape2 stringr]; };
   ClusterBootstrap = derive2 { name="ClusterBootstrap"; version="1.0.0"; sha256="0m1lfp27vn3ybwimwkrihff5v2bvdc4c46x8bha8hw0wma14lw5i"; depends=[]; };
-  ClusterR = derive2 { name="ClusterR"; version="1.2.0"; sha256="1l5b6n29gslv0xq79xhqd3rniv51bawbrz3qdnjc3677fpgirlx7"; depends=[FD ggplot2 gmp gtools Rcpp RcppArmadillo]; };
+  ClusterR = derive2 { name="ClusterR"; version="1.2.1"; sha256="131k4dsh11xx95rhbr9zx20j9y493hiil6gxbgqks8dqp7n895j7"; depends=[ggplot2 gmp gtools Rcpp RcppArmadillo]; };
   ClusterRankTest = derive2 { name="ClusterRankTest"; version="1.0"; sha256="01gzalhibqcdx3a6yc2cm1v77rscva73v5m5m0qkrgqdp9c8ph2a"; depends=[]; };
   ClusterStability = derive2 { name="ClusterStability"; version="1.0.3"; sha256="1laa5m3y1rc7jr8q3i9qb3izs7qmadz169w9xm8q3mm3834ngn9b"; depends=[cluster clusterCrit copula Rcpp WeightedCluster]; };
   ClusteredMutations = derive2 { name="ClusteredMutations"; version="1.0.1"; sha256="1n31nnvpjh1faw751k8m3ga3wfl0yhdpnszwckqhfzlma1jr8z04"; depends=[seriation]; };
@@ -754,7 +770,7 @@ in with self; {
   Coinprofile = derive2 { name="Coinprofile"; version="0.1.9"; sha256="1bcip62gm34cx5m8a1mx9px2rhgvdmsgnn6q9q40k8p5hw4cx9g0"; depends=[coin exactRankTests ggplot2 plyr Rdpack zoo]; };
   CollapsABEL = derive2 { name="CollapsABEL"; version="0.10.11"; sha256="0libm1wv34av3vm2vvbqcnxjh4y1rwfi8qzjca8qdz9490vngags"; depends=[biganalytics bigmemory collUtils dplyr ggplot2 haplo_stats R_utils rJava RSQLite stringr]; };
   CollapseLevels = derive2 { name="CollapseLevels"; version="0.2.0"; sha256="1fn5k83lh0vw5j9vhq0x6ksbkrm25acpslav85wfyknsj9vzmzid"; depends=[dplyr ggplot2 lazyeval magrittr]; };
-  CollessLike = derive2 { name="CollessLike"; version="1.0"; sha256="080mrvszysdqvx03sd4aczvhs1zmhc6fx8zp5nwrh7mmyajslxkx"; depends=[ape igraph]; };
+  CollessLike = derive2 { name="CollessLike"; version="2.0"; sha256="060iqvhyz36s28iyhlr6jj9ah3xd42yaps37kkprajxmyxldk6pp"; depends=[ape igraph]; };
   CollocInfer = derive2 { name="CollocInfer"; version="1.0.4"; sha256="1iwf5g2y7i0j8dc19hdhya4m6g47jj968glnclj7a2yaq2yx37cj"; depends=[deSolve fda MASS Matrix spam]; };
   ColorPalette = derive2 { name="ColorPalette"; version="1.0-1"; sha256="1dsj5njikx3qm2lnamqqg4qgwwyr11fwx9s5sdi7dkfx3nmf6dac"; depends=[]; };
   ComICS = derive2 { name="ComICS"; version="1.0.4"; sha256="0brsb7y1bg23sdpxs4j1y3xdgr1q7iinxnnp17rravw72l991xqa"; depends=[glmnet]; };
@@ -769,7 +785,6 @@ in with self; {
   CommunityCorrelogram = derive2 { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
   Comp2ROC = derive2 { name="Comp2ROC"; version="1.1.4"; sha256="06hpbid9z1pzg7k4gqp2zn8l7sm375z32fsn54i27qbl3inp7m2d"; depends=[boot ROCR]; };
   CompDist = derive2 { name="CompDist"; version="1.0"; sha256="02c18ksk6clv674yh79bzg3mh9hymzhal51j6g0rnvqd5ra8g66c"; depends=[actuar fExtremes numDeriv PearsonDS rmutil VGAM]; };
-  CompGLM = derive2 { name="CompGLM"; version="2.0"; sha256="08h91lqafs2af1ms2zmd0v5bg2y9218frk5l6bj3y53791aqd5s2"; depends=[Rcpp]; };
   CompLognormal = derive2 { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; };
   CompQuadForm = derive2 { name="CompQuadForm"; version="1.4.3"; sha256="1i30hrqdk64q17vsn918c3q79brchgx2wzh1gbsgbn0dh1ncabq4"; depends=[]; };
   CompR = derive2 { name="CompR"; version="1.0"; sha256="1k4q0yanvhdh3ksia7d42lxky19yci5vxhmi6h716g9sxzfsjk6b"; depends=[MASS]; };
@@ -777,13 +792,13 @@ in with self; {
   CompareCausalNetworks = derive2 { name="CompareCausalNetworks"; version="0.2.4"; sha256="108x9a83pbk6xiv1fgzwi0fpbvhpiff7aiplrsq2rfv1isjb5xhq"; depends=[data_table expm Matrix]; };
   CompareTests = derive2 { name="CompareTests"; version="1.2"; sha256="1z96kh851bpr2szgyjszkpv6m5ma6abz7hrm50fgvfpgxkj7f4yi"; depends=[]; };
   Compind = derive2 { name="Compind"; version="2.1"; sha256="1cjvpgankifiql67imhxx382q2lz1jq9k0nrwzq560h0xizkak6i"; depends=[Benchmarking boot GPArotation Hmisc lpSolve MASS nonparaeff np psych smaa spdep]; };
-  Compositional = derive2 { name="Compositional"; version="3.5"; sha256="00z1z70aahdn09f6fpwphk925zbkbx37vdnz80wi0wz8h2kq9rck"; depends=[doParallel emplik fields foreach MASS mixture Rfast sn]; };
+  Compositional = derive2 { name="Compositional"; version="3.6"; sha256="1ngyw7zxvwav65ly6rjqc1zfrgwv3s2a2kyihjf68in6qnqigqxm"; depends=[doParallel emplik foreach MASS mda mixture Rfast Rfast2 sn]; };
   Compounding = derive2 { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
   ConConPiWiFun = derive2 { name="ConConPiWiFun"; version="0.4.6"; sha256="1kkc4xp5b6q54b76wk4ga28wl668psbpyivl6bnh3xm21276yx5k"; depends=[Rcpp]; };
-  ConR = derive2 { name="ConR"; version="1.2.3"; sha256="03i7c4wlg58lwnfh28j5lv9aigvwb7haibcqly3712f0w7a9ixwg"; depends=[doParallel fields foreach geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils tibble writexl]; };
+  ConR = derive2 { name="ConR"; version="1.2.4"; sha256="1d36j1q364pakcm8xrbw323pg6dg9brsf6x3hcj1kahcqls9dcff"; depends=[doParallel fields foreach geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils tibble writexl]; };
   ConSpline = derive2 { name="ConSpline"; version="1.2"; sha256="16r0v0llj0pri69jqxribp8dpzh6yn6acpq20aaky14fyh3i4q7x"; depends=[coneproj]; };
   Conake = derive2 { name="Conake"; version="1.0"; sha256="1rj1rv8r53516jqhwp9xqqwjxh4gx1w47c0bw59f87wiy5pbchpf"; depends=[]; };
-  CondIndTests = derive2 { name="CondIndTests"; version="0.1.4"; sha256="0588by7rxrzm2zjigk44snsfv89vkp4fh7y72qm39g57vdz3ykjx"; depends=[caTools kernlab lawstat MASS mgcv quantregForest randomForest RPtests]; };
+  CondIndTests = derive2 { name="CondIndTests"; version="0.1.5"; sha256="0km4z8wnj5msg1pmphk2fccbw1cidsxv174817lwcyii9nf5iwsm"; depends=[caTools kernlab lawstat MASS mgcv mize pracma quantregForest randomForest RPtests]; };
   CondReg = derive2 { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
   ConfIntVariance = derive2 { name="ConfIntVariance"; version="1.0.2"; sha256="0xm3vh3vmf16faa3934100rnrg4rvlqkgjlsqa2smzcvy5vb86z4"; depends=[]; };
   ConfigParser = derive2 { name="ConfigParser"; version="1.0.0"; sha256="0jjh6gz5qcqhirzkmg7a4lnf8n3mjly15x2mvbvdpjkk7iv3w9m3"; depends=[ini R6]; };
@@ -795,37 +810,36 @@ in with self; {
   ConsRank = derive2 { name="ConsRank"; version="2.0.1"; sha256="18f1gqa46f8jrcf2zj4njyy78cl0scjs9k8s9mvg0f9dpr44xnan"; depends=[gtools proxy rgl]; };
   ContaminatedMixt = derive2 { name="ContaminatedMixt"; version="1.3.4"; sha256="148zpk5a091kxrn6f73k6piwfwbqdmiyd48qinn6cbfma012n13w"; depends=[caret mclust mixture mnormt mvtnorm]; };
   ContourFunctions = derive2 { name="ContourFunctions"; version="0.1.1"; sha256="00p5bdiq8hj95lkr86iwyh50qw0d0d4gs9hhbzcix6lwn8dwqd3s"; depends=[]; };
-  ConvergenceClubs = derive2 { name="ConvergenceClubs"; version="1.4.3"; sha256="0glfnwmfs6xv4d1h5y0859srvj3y68192589mdjcx0jgkgk2c9np"; depends=[lmtest sandwich]; };
+  ConvergenceClubs = derive2 { name="ConvergenceClubs"; version="2.2.1"; sha256="0mn0lnycz5pi821q52g1njjs2pcmvv8yynr13bh237c8cashk2n3"; depends=[lmtest sandwich]; };
   ConvergenceConcepts = derive2 { name="ConvergenceConcepts"; version="1.2.2"; sha256="1pvcl0bgd4anrbn6wqxsd1s23ycsc7jhrk94yzwx67xx0qs9mmrw"; depends=[lattice tkrplot]; };
   CoopGame = derive2 { name="CoopGame"; version="0.2.1"; sha256="1c11b5l6r5csa6zw5a6lfqaygzhnp5jfdf0vkrxpl7fb4bbxhm31"; depends=[geometry gtools rcdd rgl]; };
   CoordinateCleaner = derive2 { name="CoordinateCleaner"; version="2.0-11"; sha256="0z1ksim2chwg5acbvav0dzsrnzch1qmbvr2k0dhjmn8lr9rdk4m5"; depends=[dplyr geosphere ggplot2 raster rgbif rgdal rgeos rnaturalearth sp tidyselect]; };
   CopCTS = derive2 { name="CopCTS"; version="1.0.0"; sha256="1j0bhkjk181y9k69442diswgwax5whmh5vfqydhf3b1r5ll1wkm3"; depends=[copBasic copula msm]; };
-  Copula_Markov = derive2 { name="Copula.Markov"; version="2.4"; sha256="1qzc1clj6i1msqy6405w2vqxsx8hyzhd4zz6cqirv1zl4r2743vv"; depends=[]; };
+  Copula_Markov = derive2 { name="Copula.Markov"; version="2.5"; sha256="1jn9lkdkm3i2z3z7v1xqbb3w6szlhng5l16xr2iam39ffl2vn99m"; depends=[]; };
   Copula_Markov_survival = derive2 { name="Copula.Markov.survival"; version="0.1.0"; sha256="1r9m96r0mqqjlawhlb9d8d1hf2k2bkal2fmw6g0zabdjb19c75y7"; depends=[survival]; };
   Copula_surv = derive2 { name="Copula.surv"; version="1.0"; sha256="1cq12vmsvrxd6anpv6b5jig7x1lf6pj589353h2ba9k0fhkpk51y"; depends=[]; };
   CopulaCenR = derive2 { name="CopulaCenR"; version="1.1.2"; sha256="1ksxqgb91vww5q4njidchxwia64g5229dvpxhqhfp8w6hvmib1k1"; depends=[caret copula corpcor flexsurv icenReg magrittr plotly pracma survival]; };
   CopulaDTA = derive2 { name="CopulaDTA"; version="1.0.0"; sha256="1bx0jvlbhaxf4yhrfpd5l5zp7kmp6f17ckb1y9974sgc7s3hpqcd"; depends=[ggplot2 plyr reshape2 rstan]; };
   CopulaREMADA = derive2 { name="CopulaREMADA"; version="1.3"; sha256="152g8nfa3ksj0dlzlch9a6g18b1vi6dlw748a6m55haghchbyr9l"; depends=[matlab mc2d statmod tensor]; };
   CopyDetect = derive2 { name="CopyDetect"; version="1.3"; sha256="1g3bwd805h62x93xvvn67acf9v6vn7s7ghxpvjhwcfdfj7fwzh6l"; depends=[mirt]; };
-  CorBin = derive2 { name="CorBin"; version="0.3.1"; sha256="1jkrqy8z54jizbhnjdrhmbvv02kv237rgjpjwnzxcs04q8lqvqjm"; depends=[]; };
+  CorBin = derive2 { name="CorBin"; version="0.3.3"; sha256="0jf3d0mbr0vmcqmk5p4rcvc3nc4dn6cqcj8fcqyf32y9vwxd2wii"; depends=[]; };
   CorDiff = derive2 { name="CorDiff"; version="1.0"; sha256="12rgfhygrdq1ign4ybr8g171wxic8zbp83n1xdsnqpj910k5jdr5"; depends=[mcc]; };
-  Corbi = derive2 { name="Corbi"; version="0.4-4"; sha256="0s56hl2hr73kf8y7syq441wy1b9gjjcnvpgdigcc9g7gi0bkjx35"; depends=[CRF Matrix mpmi]; };
+  Corbi = derive2 { name="Corbi"; version="0.5-0"; sha256="05jr0y0qjv2l5ikx8cj10nl16z5yvcjbzdz5gk7lp6kpnmgq3sbw"; depends=[Matrix]; };
   CoreGx = derive2 { name="CoreGx"; version="0.1.0"; sha256="1hw7hnd259cspy043js8rv5mb600j3kdhrcq9iva0nmy1qayxdbl"; depends=[Biobase lsa piano rlang]; };
   CornerstoneR = derive2 { name="CornerstoneR"; version="1.1.1"; sha256="017j7s3m97sxahgnvk9sm7rfx81cjp1xzsmw7b1aqi7301zjrqa7"; depends=[checkmate data_table ranger vcd]; };
   CorporaCoCo = derive2 { name="CorporaCoCo"; version="1.1-0"; sha256="1s3wlcy6mnw9riivw5lc4gd6bjbsd77m15ipr95g46isdcrli8zb"; depends=[data_table RColorBrewer rlist]; };
   CorrBin = derive2 { name="CorrBin"; version="1.6"; sha256="0iwad5qf7hqii02s5f85155c5s7v8ghnac4l6l3c45dshrpapp2m"; depends=[boot combinat dirmult geepack mvtnorm]; };
-  CorrMixed = derive2 { name="CorrMixed"; version="0.1-13"; sha256="02zg5kmv5qxnasnz872r3z7x7dmdcniq1x5xyfnnb3niwkdjgxzx"; depends=[nlme psych]; };
+  CorrMixed = derive2 { name="CorrMixed"; version="1.0"; sha256="0rj987k8pzsw9n9a20ky23rwc3zyqsl0fcibpmry7p8pw2miaj0z"; depends=[nlme psych]; };
   CorrToolBox = derive2 { name="CorrToolBox"; version="1.6.1"; sha256="1hqbb3raw86g3ww8dmapyy8lac2avs6jbjklfvi9gx06lyw4kv9r"; depends=[BinNonNor BinOrdNonNor GenOrd moments mvtnorm psych]; };
   CorrectOverloadedPeaks = derive2 { name="CorrectOverloadedPeaks"; version="1.2.17"; sha256="1g7irjbhwnbhk74y3qxcjlrsn2yz8q6wn7ih16wq669nswryxhxk"; depends=[bitops digest XML]; };
   CorrectedFDR = derive2 { name="CorrectedFDR"; version="1.0"; sha256="15047cfjniljzhznkbzq3hyq221y9k7fa04f69zm0k0sxr627gxg"; depends=[]; };
-  Correlplot = derive2 { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; };
   CosW = derive2 { name="CosW"; version="0.1"; sha256="12l4w8b5jnr8773hxk7khrdn705x6bdbw7s8z8w95bfbbi12dj6v"; depends=[fdrtool pracma]; };
   Counterfactual = derive2 { name="Counterfactual"; version="1.1"; sha256="0mz0h5zsmca8fww7nq08m9cld2zbaydn8qad5f2g6vxn382842p9"; depends=[doParallel doRNG foreach Hmisc quantreg survival]; };
   Countr = derive2 { name="Countr"; version="3.5.4"; sha256="10fzmqncbnr47x35xqpsmwzadv9j6r2svisrv8vfpp27mlvp9qwr"; depends=[boot car dplyr flexsurv Formula lattice lmtest MASS Matrix numDeriv optimx pscl RColorBrewer Rcpp RcppArmadillo Rdpack standardize VGAM xtable]; };
   CountsEPPM = derive2 { name="CountsEPPM"; version="3.0"; sha256="0iw7sfrb4yyaagwm1f4q9av5zvzia1mp2ns287ppsw3k248lz0kb"; depends=[expm Formula lmtest numDeriv]; };
   CovSel = derive2 { name="CovSel"; version="1.2.1"; sha256="02fsiykbg96ynqw25vfyrams7fs39xjmfhvb23zjbqb7ql6d0xdk"; depends=[dr MASS np]; };
   CovSelHigh = derive2 { name="CovSelHigh"; version="1.1.1"; sha256="0dvvpkqml2k00gicpgp475z1rjspq3s37ys1mam29k54qlshhny6"; depends=[bartMachine bindata bnlearn doParallel doRNG foreach glmnet MASS Matching randomForest tmle xtable]; };
-  CovTools = derive2 { name="CovTools"; version="0.5.2"; sha256="10qxfl3i7ahx4lv2hpicps56p150v59drrjbx5csb7d8jzc0pj5z"; depends=[doParallel expm foreach geigen Matrix mvtnorm pracma Rcpp RcppArmadillo Rdpack shapes SHT]; };
+  CovTools = derive2 { name="CovTools"; version="0.5.3"; sha256="0r3q97zl72v7i1d9nhxgsilqczihhfq6zzhl4cmz8rbk3b7c7qrc"; depends=[doParallel expm foreach geigen Matrix mvtnorm pracma Rcpp RcppArmadillo Rdpack shapes SHT]; };
   CoxBoost = derive2 { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[Matrix prodlim survival]; };
   CoxPhLb = derive2 { name="CoxPhLb"; version="1.2.0"; sha256="0jlh2k5ygj896sfx7dcw5qlb80bl64rsvqfayv0c6a107bmrzsw4"; depends=[survival]; };
   CoxPlus = derive2 { name="CoxPlus"; version="1.1.1"; sha256="038wsz206bgc0pnzx403b5ihcwhxpkrpxmwvrvqcxf8333pb62l5"; depends=[Rcpp RcppArmadillo]; };
@@ -858,12 +872,13 @@ in with self; {
   DAAGxtras = derive2 { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; };
   DAC = derive2 { name="DAC"; version="0.1.1"; sha256="0abnl70k4c98n29qi64sfd5nch10abw9fknhf2aksyi0qadsiyjq"; depends=[blavaan flexmix sfsmisc truncnorm]; };
   DACF = derive2 { name="DACF"; version="1.0.0"; sha256="0hv7c9lk6ivj4iz953yn11iy5p611q4si4ghn9d5a9i229s5hig8"; depends=[]; };
-  DAIME = derive2 { name="DAIME"; version="1.1"; sha256="0kgss7gdwn1fd25arcwai915gm18qm5ffpq4f7qj2pg0lk4hvp0r"; depends=[]; };
+  DAFOT = derive2 { name="DAFOT"; version="0.0.1"; sha256="18r5fhb6g0s1viifkkicplzab4aand2lxiwph86w80q80bzpjlpg"; depends=[ape gtools tibble tidytree]; };
+  DAIME = derive2 { name="DAIME"; version="2.0"; sha256="02hasr08c8006ypwlia6qlg24div18hka31dasaaaaxvqrf06h2b"; depends=[]; };
   DAISIE = derive2 { name="DAISIE"; version="1.4"; sha256="16653wwz20lhf3bpzflpj5d1h7j3cqyfaqk5gn24aifga2jc0wbb"; depends=[DDD deSolve Matrix subplex tensor]; };
   DAKS = derive2 { name="DAKS"; version="2.1-3"; sha256="0vmpwxvksnmyq40faimbgpj0y3zbk519986n38ipwdfzllcg0zs4"; depends=[relations sets]; };
-  DALEX = derive2 { name="DALEX"; version="0.4.7"; sha256="0iiwkf0pfdb90lf1xhv43qd32z3cjmkmf0ly9841n5lldkjazy3h"; depends=[ggplot2]; };
+  DALEX = derive2 { name="DALEX"; version="0.4.9"; sha256="1zviaf7530v8w996lbma0vplabrapgwldi7h70pr0439sxaqd421"; depends=[ggplot2]; };
   DALEX2 = derive2 { name="DALEX2"; version="0.9"; sha256="1k39gswksicrb60nx7zzna3mqdm36ckg590iw511ga7frnb8fjl9"; depends=[]; };
-  DALEXtra = derive2 { name="DALEXtra"; version="0.1.8"; sha256="17pn8jb1jr9k4ji368didiszp7fi1v8ngffb9sbhcqgn1c0dnmjb"; depends=[DALEX ggplot2 reticulate]; };
+  DALEXtra = derive2 { name="DALEXtra"; version="0.2.0"; sha256="1brjc9lybc1sfyk0n6bd44rpapgvi3p60wxw5qaajfcxrxk1286b"; depends=[DALEX ggdendro ggplot2 glmnet gridExtra reticulate]; };
   DALY = derive2 { name="DALY"; version="1.5.0"; sha256="1v7ld01xcn5jiygl1c3xhd5h71ip90lks87fs9gmpnivp8jz5cr5"; depends=[]; };
   DAMOCLES = derive2 { name="DAMOCLES"; version="1.1"; sha256="07z8mynhqnk1zcvm84w09xzkiy2dfxwhmnpi6gaddr3p0waql4gj"; depends=[ape caper deSolve expm geiger matrixStats picante]; };
   DAMisc = derive2 { name="DAMisc"; version="1.5"; sha256="1m418lmzy4sv5hj90j4r4j1bb2q43hxnmpd0mp16010fyr0asbcy"; depends=[AICcmodavg boot car coda effects fANCOVA games gdata lattice latticeExtra MASS nnet optiscale pscl QRM rstan VGAM xtable]; };
@@ -878,14 +893,14 @@ in with self; {
   DBfit = derive2 { name="DBfit"; version="1.0"; sha256="19jdf693ygwfchlqvh0kywid14v0b53p33rr2dvmaqmsc6pfxbbf"; depends=[Rfit]; };
   DCA = derive2 { name="DCA"; version="2.0"; sha256="1acy33vyf814kr0aj6kdvi9f1qzgynwwzv57ll01gd0iqq36374f"; depends=[coin elasticnet GPArotation locfdr modeest mvtnorm PMA]; };
   DCD = derive2 { name="DCD"; version="0.1.0"; sha256="0p6vk8fdvpcvb1bb5fwy3h1v8y3djlvcm5jl5lnx30ngqj6d7rcj"; depends=[data_table doParallel foreach ggplot2 igraph lattice lsa Matrix plyr qlcMatrix Rdpack ROCR WGCNA]; };
-  DCEM = derive2 { name="DCEM"; version="1.0.0"; sha256="192y07bik0xhs5ja9fmp2ds0qncwpkybarixnak4i35afcky7w7d"; depends=[MASS matrixcalc mvtnorm]; };
+  DCEM = derive2 { name="DCEM"; version="2.0.0"; sha256="1jhcqwxcx0my71v1lbspsm78kfqzki1yczvl4r29hqim254qsn5a"; depends=[MASS matrixcalc mvtnorm Rcpp]; };
   DCG = derive2 { name="DCG"; version="0.9.3"; sha256="08718x6v3g7kpfv0gpgm19cn3d3ynj7yagzs0jic1j5rwvn04pfb"; depends=[]; };
   DCGL = derive2 { name="DCGL"; version="2.1.2"; sha256="1dhkdvdglpsr0fzrfrrr6q76jhwxgrcjsiqn56s082y7v366xvs4"; depends=[igraph limma]; };
   DCL = derive2 { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; };
   DCM = derive2 { name="DCM"; version="0.1.1"; sha256="191gwfv30hdr789jmdrimcc7aqisz635anydsw2v4s28a3zjbipw"; depends=[gWidgets pander readxl]; };
   DCODE = derive2 { name="DCODE"; version="1.0"; sha256="19dwms88q0ylxd92l3ivig8p8jjyhk8mhgz0l36m9pcq11gyjc0n"; depends=[seqinr]; };
   DCchoice = derive2 { name="DCchoice"; version="0.0.15"; sha256="1qdqn45ipq0806r25ri4aygzq48k8j5k8rlhi1cafym421yq6bfg"; depends=[Formula interval MASS]; };
-  DChaos = derive2 { name="DChaos"; version="0.1-2"; sha256="045zlc9c3cs90dcdrrwwszwrh1n93mdkw6q52l3aq1ln7ywrjlgc"; depends=[NeuralNetTools nnet outliers pracma sandwich xts zoo]; };
+  DChaos = derive2 { name="DChaos"; version="0.1-3"; sha256="12qi8m2rvd5r8clmi44hiwpnr6zf1sjw35wvbvm4nz3431xwf4ng"; depends=[entropy NeuralNetTools nnet outliers pracma sandwich xts zoo]; };
   DCluster = derive2 { name="DCluster"; version="0.2-7"; sha256="008nyry64s5g80narcc58273v0jhqzfgwynka6mh7jgi7qsqnxjd"; depends=[boot MASS spdep]; };
   DClusterm = derive2 { name="DClusterm"; version="1.0-0"; sha256="19ifnj7y3zjp15hd6mafjjqbqqyff17zd0ivnl8bd843nalgfxbb"; depends=[DCluster gridExtra latticeExtra lme4 pscl RColorBrewer sp spacetime xts]; };
   DDD = derive2 { name="DDD"; version="4.1"; sha256="09aif9agypw765h148615b6dcjhzw1bvgrzz9dka6n3vk4r1lj5d"; depends=[ape deSolve expm Matrix phytools SparseM subplex]; };
@@ -914,7 +929,7 @@ in with self; {
   DGLMExtPois = derive2 { name="DGLMExtPois"; version="0.1.0"; sha256="1c6lys605sggni40792d1xq8ll5nbdc75r92c87grx7zh74sz98m"; depends=[compoisson COMPoissonReg nloptr progress]; };
   DGM = derive2 { name="DGM"; version="1.7.2"; sha256="0z0f8bazzsahvjkpfif50db700mqb7arcglwsfxcar9qdy082vsn"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
   DGVM3D = derive2 { name="DGVM3D"; version="1.0.0"; sha256="17cxv8rm7kmxms7v7hzbwbdwa3xl1hwgiljf97ppwswglqyik9iv"; depends=[rgl]; };
-  DHARMa = derive2 { name="DHARMa"; version="0.2.4"; sha256="0fkzf05p5k22kvicbiizx8aricjkgvkvg2874kmibkycld3qrblq"; depends=[ape doParallel foreach gap glmmTMB lme4 lmtest MASS mgcv qrnn sfsmisc spaMM]; };
+  DHARMa = derive2 { name="DHARMa"; version="0.2.6"; sha256="0mv95409lr9psh8ia9llpx8a6861iakrfnw2h96gpi2r9scpr8fj"; depends=[ape doParallel foreach gap glmmTMB lme4 lmtest MASS mgcv qrnn sfsmisc spaMM]; };
   DHS_rates = derive2 { name="DHS.rates"; version="0.7.0"; sha256="11rzwwx6vvr66nfklqh6j86k3d0cdccg6l99azwqif0cmj81rdw5"; depends=[crayon haven matrixStats reshape survey]; };
   DIFboost = derive2 { name="DIFboost"; version="0.2"; sha256="0wyjk870n18lq0dwhm9ndsh5vv0d8wkrbcky68w454vzrrw1q9h8"; depends=[mboost penalized stabs]; };
   DIFlasso = derive2 { name="DIFlasso"; version="1.0-3"; sha256="195wiy0jjkq6bh2b6wrjmr5l34pzx0i2qqvwp4pzv77sx737ds0v"; depends=[grplasso miscTools penalized]; };
@@ -924,7 +939,7 @@ in with self; {
   DIRECT = derive2 { name="DIRECT"; version="1.0.1"; sha256="00z4xlc9kxn19lw2b8xq6krsf5v3wfbr1ghl5ah5shr9dnv84lc1"; depends=[]; };
   DISTRIB = derive2 { name="DISTRIB"; version="1.0"; sha256="0whwmmdx2k2vrjjkz4ww9v7z9ad3835819pby91119lyic27w727"; depends=[]; };
   DIconvex = derive2 { name="DIconvex"; version="1.0.0"; sha256="0bnrq9nmryshir6ll43nz20aaqmmw0zjvfml72cpwbvrma8a3qmz"; depends=[lpSolveAPI]; };
-  DJL = derive2 { name="DJL"; version="3.0"; sha256="1zsr2smgw7p6llyn1ipq8pkr2f8balvvp52x1j713alx6w5g26z7"; depends=[car lpSolveAPI]; };
+  DJL = derive2 { name="DJL"; version="3.1"; sha256="1ypkm7fsw7vhd0c2abrmrsa2cmphxqg05j5qlrx3720qsmp5yn2q"; depends=[car lpSolveAPI]; };
   DLASSO = derive2 { name="DLASSO"; version="2.0.2"; sha256="0xdygf6h89d9z4kqb46iqfxgdzq9dmkrxf9ypw78l4d8n9xx2gaa"; depends=[MASS]; };
   DLMtool = derive2 { name="DLMtool"; version="5.4.0"; sha256="0412723k06ynm5f8jg8byqdx2v46g060nfbv9c5js8qxn4snz5kc"; depends=[abind boot broom crayon devtools dplyr DT fmsb ggplot2 ggrepel gridExtra kableExtra knitr MASS mvtnorm openxlsx purrr Rcpp RcppArmadillo readxl rfishbase rmarkdown shiny snowfall tidyr]; };
   DMMF = derive2 { name="DMMF"; version="0.5.0.2"; sha256="02sk1ykispkjdclsi5xp1m4vmf8mhcqm4q2z73xanvax1kqfb3v3"; depends=[raster rgdal sp]; };
@@ -945,7 +960,8 @@ in with self; {
   DOvalidation = derive2 { name="DOvalidation"; version="1.1.0"; sha256="1mzws3w7djpxnfqxjcqwgia7p17kb0qlnzj6qcfg2m1vamb1cn2z"; depends=[]; };
   DPBBM = derive2 { name="DPBBM"; version="0.2.5"; sha256="1qypxrcm3sb727lqb09ssjf3hblixqayw3qsyql01imrxwm609i2"; depends=[CEoptim gplots tmvtnorm VGAM]; };
   DPP = derive2 { name="DPP"; version="0.1.2"; sha256="1qalcm4gwh03qpy07d0p323ccq8xmk04v6z30g7wg6ic613bqg7m"; depends=[coda Rcpp]; };
-  DPQ = derive2 { name="DPQ"; version="0.3-3"; sha256="1s9jlk390cvmk9vvz1lw2qh5j73m3sf663j8ih8fckp0phz1sc3j"; depends=[sfsmisc]; };
+  DPQ = derive2 { name="DPQ"; version="0.3-5"; sha256="0952aq9nh18mwldcxdi170i6aqz6snnsvl5g6qm8jq2m1i9jryjw"; depends=[sfsmisc]; };
+  DPWeibull = derive2 { name="DPWeibull"; version="1.4"; sha256="024d2b2kdyxv8290a96clazzlq2i14gk9lc63p39iw6lxs1fla9y"; depends=[binaryLogic Rcpp truncdist]; };
   DPtree = derive2 { name="DPtree"; version="1.0.1"; sha256="0d7zf695lwkx4gv50f08cbi3p3mjjay0qgrbmvybf9m15i4zmyd7"; depends=[MASS MCMCpack plyr Rdpack]; };
   DRAFT = derive2 { name="DRAFT"; version="0.3.0"; sha256="02y644fl5dk3qwvv45vb2zkkp4x1zciickna0pj56myh7ls08hxv"; depends=[coda ggplot2 gridExtra lubridate reshape]; };
   DRAYL = derive2 { name="DRAYL"; version="1.0"; sha256="0cf5pyx6nwh8srdylpnmymv3dr67fm6qqpwd1hvj1wmyfc8fznpp"; depends=[cubature pracma RConics rmutil]; };
@@ -963,19 +979,19 @@ in with self; {
   DSsim = derive2 { name="DSsim"; version="1.1.4"; sha256="0cspyd6msh8aci3w1fv234ca2bwpi6ylkbl45d4k0v3wzzfj20hk"; depends=[fields mgcv mrds rgeos shapefiles sp splancs]; };
   DStree = derive2 { name="DStree"; version="1.0"; sha256="14wba25ylmsyrndh007kl377dv4r34wr1555yxl6kyxrs4yg3jir"; depends=[Ecdat pec Rcpp rpart rpart_plot survival]; };
   DSviaDRM = derive2 { name="DSviaDRM"; version="1.0"; sha256="1hj2pgnldrpgapwwz1kf4k6mvyzwdvb1i6czd7sbimsx5hafwps8"; depends=[igraph ppcor]; };
-  DT = derive2 { name="DT"; version="0.9"; sha256="17han4560jv8mmfn4f8adrwh0x25fxz2qwd0sv7vv4iky5and8a7"; depends=[crosstalk htmltools htmlwidgets jsonlite magrittr promises]; };
+  DT = derive2 { name="DT"; version="0.10"; sha256="0vwhn1mcwv0hkbxnppf6vip23iiib0szvp1h3prawlkvd74xziiw"; depends=[crosstalk htmltools htmlwidgets jsonlite magrittr promises]; };
   DTAT = derive2 { name="DTAT"; version="0.3-3"; sha256="184b8qkwqlygdqzad2x2qf4hdrpsr7yffmf21jrz5yf946y621wl"; depends=[data_table dplyr Hmisc jsonlite km_ci pomp r2d3 shiny survival]; };
   DTAXG = derive2 { name="DTAXG"; version="0.1.0"; sha256="1jxa0ix0z35i0xdnjl698j8iqjmp6nz8ckah9bap5ay9rkq0xd7f"; depends=[]; };
   DTComPair = derive2 { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
   DTDA = derive2 { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
-  DTDA_cif = derive2 { name="DTDA.cif"; version="1.0"; sha256="1gfhcbb5y7yw93f1flpj0p3n62drvck3wi0vswdrzzbbgb0qr2l2"; depends=[doParallel foreach Rcpp]; };
+  DTDA_cif = derive2 { name="DTDA.cif"; version="1.0.1"; sha256="1ams5annm0296y6i5ii54cf95i0739269b4p97rib6nniynpwwxk"; depends=[doParallel foreach Rcpp]; };
   DTDA_ni = derive2 { name="DTDA.ni"; version="1.0"; sha256="0c45cz4y629bc0jnf3m35ywqkrnjcdqbssbb6m10j8b4gszdi35i"; depends=[]; };
   DTK = derive2 { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
   DTMCPack = derive2 { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
   DTR = derive2 { name="DTR"; version="1.7"; sha256="1lzvk9ar6xf3n2vvy8vb9mvrbx3nafzzhvz5g7vf79jd71yz54jd"; depends=[aod ggplot2 survival]; };
   DTRlearn2 = derive2 { name="DTRlearn2"; version="1.0"; sha256="0aly8byygpgsjfa1lzarcig2dvz852ihdlw7xhb7kx62y8prjzz1"; depends=[foreach glmnet kernlab MASS Matrix]; };
-  DTRreg = derive2 { name="DTRreg"; version="1.4"; sha256="0v2hgq4rgj3ghyi0vzzv1w2a6arg0apps52kki6f6qrvjhh5lh58"; depends=[]; };
-  DTSg = derive2 { name="DTSg"; version="0.1.3"; sha256="0dzz6yfq7637rnpk0sjmysj9v7v4f1wcn0g3bfdywnv08kdwbx8j"; depends=[assertive_base assertive_numbers assertive_sets assertive_types data_table R6]; };
+  DTRreg = derive2 { name="DTRreg"; version="1.5"; sha256="0milc5bmks6pxhl5f3zyv3w80ld733v05cvx8i531v2ynac4v6zb"; depends=[]; };
+  DTSg = derive2 { name="DTSg"; version="0.2.1"; sha256="1j7z89gqcbrxry1pxjd9qwaygrgdsfq0rmg9yiw37ygprhjj7fx0"; depends=[assertive_base assertive_numbers assertive_sets assertive_types data_table R6]; };
   DTWBI = derive2 { name="DTWBI"; version="1.1"; sha256="06lp4yc5nhacrgic78l014g2w1ibwgs8dp8zrahk5aripaczl25y"; depends=[dtw e1071 entropy lsa rlist]; };
   DTWUMI = derive2 { name="DTWUMI"; version="1.0"; sha256="0pybgbfs2yp2ljbs0kra5z70x3llkiwdngp6cadgs3j9rar4vq4q"; depends=[dtw DTWBI e1071 entropy lsa rlist]; };
   DVHmetrics = derive2 { name="DVHmetrics"; version="0.3.9"; sha256="1m13lhxgw7yj44s5spmlb4xxkranfbmjfh8lhrksikd796vxms3s"; depends=[ggplot2 KernSmooth reshape2 shiny]; };
@@ -999,7 +1015,7 @@ in with self; {
   DataLoader = derive2 { name="DataLoader"; version="1.3"; sha256="18mih6mb95v5xjvmqwby2mma74fcxwyqdm5w8j3bhi4iwgfn6d7v"; depends=[plyr rChoiceDialogs readxl xlsx]; };
   DataPackageR = derive2 { name="DataPackageR"; version="0.15.7"; sha256="11bra0kgmvag4mp6hpljd8m3r1306cbncmz3x71iybkahimws813"; depends=[assertthat crayon desc devtools digest futile_logger knitr purrr rmarkdown roxygen2 rprojroot stringr usethis yaml]; };
   DataSpaceR = derive2 { name="DataSpaceR"; version="0.7.2"; sha256="1m84hp23ksh58x7xfpl684d85rj2whd6cx515s8m8qhrg737fkp4"; depends=[assertthat curl data_table digest httr jsonlite R6 Rlabkey]; };
-  DataVisualizations = derive2 { name="DataVisualizations"; version="1.1.8"; sha256="1hzgmqq3rkb1fd8apyjmk6mnb7c9j12xd76pykx2k29rwvlavr65"; depends=[ggplot2 Rcpp RcppArmadillo sp]; };
+  DataVisualizations = derive2 { name="DataVisualizations"; version="1.1.9"; sha256="13yrjs37ap8rmx842zp529brfr12rr4d77f2pqlj5wfppngxzv31"; depends=[ggplot2 Rcpp RcppArmadillo sp]; };
   DataViz = derive2 { name="DataViz"; version="0.2.8"; sha256="1dr5nvdzc63x9ymlysvv5i8b7zcffq13pa39q0ychdwr1s3x7vzw"; depends=[Rcpp tibble]; };
   DatabaseConnector = derive2 { name="DatabaseConnector"; version="2.4.1"; sha256="0f0kybbi47x585rxlgdhcmrn1wr9399pd26692czg4h9qwvnka52"; depends=[bit DatabaseConnectorJars DBI ff ffbase rJava SqlRender urltools]; };
   DatabaseConnectorJars = derive2 { name="DatabaseConnectorJars"; version="1.1.0"; sha256="18m6ynj30r5xdy51b3s39h0jcz1k2wgka888skr6ds2233lhqk2w"; depends=[rJava]; };
@@ -1007,7 +1023,8 @@ in with self; {
   Davies = derive2 { name="Davies"; version="1.1-9"; sha256="19n2szki2dc8z01zh5a7bq4scgisnpd2qqbiimgrswjrykgh2fpm"; depends=[]; };
   DeLorean = derive2 { name="DeLorean"; version="1.5.0"; sha256="1ry6j4mvxms9hddi9c56p9yhjh66fzss41wqkf6xq398h1wbn4q1"; depends=[BH broom coda dplyr fastICA functional ggplot2 kernlab lattice MASS memoise Rcpp RcppEigen reshape2 rstan rstantools seriation StanHeaders stringr]; };
   DeRezende_Ferreira = derive2 { name="DeRezende.Ferreira"; version="0.1.0"; sha256="05c99z3hlwwm0p02cl9z6gjwfxfq2b2qn90l85270bi16llgf42h"; depends=[xts]; };
-  DecisionAnalysis = derive2 { name="DecisionAnalysis"; version="0.1.0"; sha256="1pxsvwl1in822ml7spb4flln2l7kzavq0jhxxsgxcrljypvrva61"; depends=[Cairo data_tree dplyr ggplot2 gridExtra tidyr viridisLite]; };
+  DealGPL570 = derive2 { name="DealGPL570"; version="0.0.1"; sha256="0q7mcgbwqd22mmcnilqi30cibk2pv25ks1yks0h3m3vd3aci4vqf"; depends=[affy dplyr GEOquery stringr tibble]; };
+  DecisionAnalysis = derive2 { name="DecisionAnalysis"; version="1.0.0"; sha256="1d0b534s9fidgl5q8q8g5s58v6wv3md4pl5zm5r5q3jlr6z8q5n3"; depends=[Cairo data_tree DiagrammeR dplyr ggplot2 gridExtra tidyr viridisLite]; };
   DeclareDesign = derive2 { name="DeclareDesign"; version="0.20.0"; sha256="0zdpiwh74ljc57s4cgak2j8zg3zyz9f3b47dambw2zdiy0db6wk8"; depends=[estimatr fabricatr generics randomizr rlang]; };
   DecorateR = derive2 { name="DecorateR"; version="0.1.1"; sha256="1dvyadlksqv8ns043yh91f6kw162k6r0zwn13j1g6pvismw04br9"; depends=[rJava RWeka RWekajars]; };
   Deducer = derive2 { name="Deducer"; version="0.7-9"; sha256="14kakyf28i654pndlswjzp6h3h7szpznrg6xznqg150mmn0bs3s6"; depends=[car e1071 effects foreign ggplot2 JGR MASS multcomp plyr rJava scales]; };
@@ -1029,15 +1046,14 @@ in with self; {
   DepLogo = derive2 { name="DepLogo"; version="1.0"; sha256="0h4jpflf8amip62r936lg0k428gypag296kwl58w1d0qa5jyxrkk"; depends=[]; };
   DepthProc = derive2 { name="DepthProc"; version="2.1.1"; sha256="059hqqjxaa6k65k6snbxvq4kpcqigri86v909kgw9vxq0jmb5pl7"; depends=[colorspace geometry ggplot2 lattice MASS np Rcpp RcppArmadillo rrcov sm zoo]; };
   Deriv = derive2 { name="Deriv"; version="3.9.0"; sha256="0hlqm216bg3l79gq6m0am0xz6vd3l2hgjnjm6lym3mkmgkka4kxw"; depends=[]; };
-  DescTools = derive2 { name="DescTools"; version="0.99.29"; sha256="0ii6vimqav45qmv72pj6jxwjjphdf930c9abq3zaa39dhmdcf6ji"; depends=[BH boot expm MASS mvtnorm Rcpp]; };
-  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.4"; sha256="082xgva4avw3ymv9d38mhxj5dnpsyikkb2869ldfw4r1px3sqlbc"; depends=[DescTools foreign manipulate rstudioapi writexl]; };
+  DescTools = derive2 { name="DescTools"; version="0.99.31"; sha256="05w1rf07bjjp34gizdg2jbkv78jjzpy85fjp4s48yw9zbif1ppss"; depends=[BH boot expm MASS mvtnorm Rcpp]; };
+  DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.5"; sha256="0i9qsbi78cii0bajc69m1gp4s88nrr1khyyyy4qkpv0x05vhbl0d"; depends=[DescTools foreign manipulate rstudioapi writexl]; };
   DescribeDisplay = derive2 { name="DescribeDisplay"; version="0.2.7"; sha256="0241mbz0y3ala7fsb4fwjd0xigsk0wq77hfrjyvnnp97rfjfzmcv"; depends=[GGally ggplot2 plyr reshape2 scales]; };
   DescriptiveStats_OBeu = derive2 { name="DescriptiveStats.OBeu"; version="1.3.1"; sha256="1bqq56m4vhmgijxpyllpy08xx29k0p7lhmd0iwa06jdw4lj5rdah"; depends=[dplyr jsonlite magrittr RCurl reshape]; };
   DesignLibrary = derive2 { name="DesignLibrary"; version="0.1.4"; sha256="16j9ca3y8mcdbd64yqm6js4lb9hjc74dh4r5y3h1ifvwzj0a78yc"; depends=[DeclareDesign estimatr fabricatr generics glue randomizr rlang]; };
   DetMCD = derive2 { name="DetMCD"; version="0.0.5"; sha256="034wb5hwpikli6h2rwiqr19qvzxrr4qwi4q436y7c5a5wgkfzgl5"; depends=[pcaPP Rcpp RcppEigen robustbase]; };
   DetR = derive2 { name="DetR"; version="0.0.5"; sha256="1dd4nzkgj5pl9397aa0z3q5fpl27xbdf7q0pqbs821dyynylxzn9"; depends=[MASS pcaPP Rcpp RcppEigen robustbase]; };
   DetSel = derive2 { name="DetSel"; version="1.0.3"; sha256="0rd047nkdhil9ydizrhpqr9pcmi86bq0r0f14rbix6i9hplxz42v"; depends=[ash]; };
-  DevTreatRules = derive2 { name="DevTreatRules"; version="1.0.0"; sha256="0jcvn01w5h0jmnimnn52isav5f1g3laivsmr73h0wwm95i2gkksx"; depends=[DynTxRegime glmnet modelObj]; };
   Devore7 = derive2 { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[lattice MASS]; };
   Dforest = derive2 { name="Dforest"; version="0.4.2"; sha256="19jyph2zqfyq9vv22kb6fqy89l0vcviv19zgk10hbd7q850f6ryn"; depends=[ggplot2 rpart]; };
   DiPhiSeq = derive2 { name="DiPhiSeq"; version="0.2.0"; sha256="11l2inf99vxz9k292307j8c2b25kc1066svy3vxrfl72rrm4fqa7"; depends=[]; };
@@ -1055,6 +1071,7 @@ in with self; {
   Diderot = derive2 { name="Diderot"; version="0.12"; sha256="1cq8yk4r0csnslp286hzs04zzq44q0frz0kyll9jhqjil34qh0x7"; depends=[data_table doParallel foreach igraph RCurl splitstackshape stringi]; };
   DiffCorr = derive2 { name="DiffCorr"; version="0.4.1"; sha256="1kxp9dbiww086rmvmjvfhbk7jl36dkj88qwii6zg57llf7l5l4hm"; depends=[fdrtool igraph multtest pcaMethods]; };
   DiffNet = derive2 { name="DiffNet"; version="1.0-0"; sha256="04dvf0qxnc6jizwfjxw731j7d2fxyapk06rmqvga6h3p075q0mqk"; depends=[data_table doParallel foreach gplots Hmisc igraph lsa Matrix qlcMatrix Rcpp RcppEigen]; };
+  DiffXTables = derive2 { name="DiffXTables"; version="0.0.2"; sha256="01kxa0barwy9khwf9yyzdxi4561n5c0q9s2fps8gwb2afxdhxjm0"; depends=[Matrix]; };
   DiffusionRgqd = derive2 { name="DiffusionRgqd"; version="0.1.3"; sha256="1gf5jpvimfrc9ccva0jk85rl4zfkbijm2305ky1rxcgm4kgw4lax"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   DiffusionRimp = derive2 { name="DiffusionRimp"; version="0.1.2"; sha256="1h7145ldlgwrrwj4l1wxdp2rbg2pm4v3pngiq0saz0xi3vpcxwl6"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
   DiffusionRjgqd = derive2 { name="DiffusionRjgqd"; version="0.1.1"; sha256="1yb1jaq324qm2x8cl3bs2dflnsx8yfygpw2m3kk5hzaai9gfkqjf"; depends=[colorspace Rcpp RcppArmadillo rgl]; };
@@ -1065,16 +1082,17 @@ in with self; {
   Directional = derive2 { name="Directional"; version="4.0"; sha256="072131dqpnqp1hfnrzzqr1f2zpzfkk1ifflzfg727f0zhjvisd4d"; depends=[bigstatsr doParallel foreach MASS RcppZiggurat Rfast Rfast2 rgl]; };
   DirichletReg = derive2 { name="DirichletReg"; version="0.6-3.1"; sha256="1lz4b166grrs6vs98mf6a0wg4hvh0p901h697h9dkfhkxw8cqj3f"; depends=[Formula maxLik rgl]; };
   DisHet = derive2 { name="DisHet"; version="1.0.0"; sha256="056jcs1qpiyadnmlzd0cj4kp0qzkichxi0pdnxypyq1fsqnpvan3"; depends=[gtools matrixStats]; };
-  DisImpact = derive2 { name="DisImpact"; version="0.0.4"; sha256="1fv446wr5b8ixcs473vqv5ak9q46vhgzflc1zg8x7k5q5fdwqhmm"; depends=[dplyr magrittr rlang]; };
-  DiscreteFDR = derive2 { name="DiscreteFDR"; version="1.3-1"; sha256="0ij6r8l8xxjmnp0x29p0wlnq7bk1rmg7hxzfrs9qhb410rjxc3r4"; depends=[Rcpp]; };
+  DisImpact = derive2 { name="DisImpact"; version="0.0.5"; sha256="1n0lyzv6abvrrcxj4zglyl9b0j4ldj0zkznh57frn1j1imb1na1l"; depends=[dplyr magrittr purrr rlang tidyselect]; };
+  DiscreteFDR = derive2 { name="DiscreteFDR"; version="1.3-3"; sha256="1qdcmn74mmnk61y6lh76mnqk7hw7v3v67y0zljfz7s3h4vxpad4g"; depends=[Rcpp]; };
   DiscreteInverseWeibull = derive2 { name="DiscreteInverseWeibull"; version="1.0.2"; sha256="0vjsvl4m4zccfgizv7mzidbbpzqcm101x448vllcdcrn2xlnkmnq"; depends=[Rsolnp]; };
   DiscreteLaplace = derive2 { name="DiscreteLaplace"; version="1.1.1"; sha256="17w4vjvsm7jacvwckjczyah3hglq044r3m6vqdcrg8haz884rav2"; depends=[]; };
+  DiscreteQvalue = derive2 { name="DiscreteQvalue"; version="1.0"; sha256="19c2rmizrmpf5vmsfhnk5xswnngdlh1hfcj6k0qdp00kdfgj79ja"; depends=[]; };
   DiscreteWeibull = derive2 { name="DiscreteWeibull"; version="1.1"; sha256="1rg3ax6jryagf5d3h8m44x9wyhr2qff3srfa9zrk6i64p1ahk9lr"; depends=[Rsolnp]; };
   DiscriMiner = derive2 { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; };
   DisimForMixed = derive2 { name="DisimForMixed"; version="0.2"; sha256="00mknsalikangr17946877m5fy2jgkgasgl6ng4f2nr44f0q9l6q"; depends=[cluster dplyr]; };
   Distance = derive2 { name="Distance"; version="0.9.8"; sha256="19n1kjx7ikphp97118n0zwnv1prlxk9hcpn30ckxc4329m0cafvv"; depends=[mrds]; };
   DistatisR = derive2 { name="DistatisR"; version="1.0.1"; sha256="0myzfki8yrk0nhgdgsqs4wjbqhzmkdil1g005hc7p4lz3gi09bfx"; depends=[car prettyGraphs]; };
-  DistributionOptimization = derive2 { name="DistributionOptimization"; version="1.2.1"; sha256="0ywf7i26lhcibm45g40i84gsnijmg5haz3730yzxlhv7nnnsyj1l"; depends=[AdaptGauss GA ggplot2]; };
+  DistributionOptimization = derive2 { name="DistributionOptimization"; version="1.2.4"; sha256="0qyfi1l8908r98ian1l9q72iz2cyzp09ykgip7l3py2p3m9cg8wc"; depends=[AdaptGauss GA ggplot2]; };
   DistributionTest = derive2 { name="DistributionTest"; version="1.0"; sha256="0ga0cxk8i1n6p33ywy9j65df3p4ypnc6mimvkx3yi1diczln6dbx"; depends=[MASS]; };
   DistributionUtils = derive2 { name="DistributionUtils"; version="0.6-0"; sha256="08vq54pyqxlqsj6q6gsg5ikqa0z3x842j52ld5dxaq272p6xchvl"; depends=[]; };
   DivE = derive2 { name="DivE"; version="1.1"; sha256="1445pyw15dq48qsbnm2bgfm9xfffdww5xbhcs901ai0nyb3f7daa"; depends=[deSolve FME rgeos sp]; };
@@ -1089,16 +1107,16 @@ in with self; {
   DoTC = derive2 { name="DoTC"; version="0.2"; sha256="1hjjkmxrbiysy3xl6n4q7kxcygdq68jcsgki1p937zj9a17sa62j"; depends=[ggplot2 plyr]; };
   Dodge = derive2 { name="Dodge"; version="0.9-2"; sha256="0767n6hyspqrv5cgx3ghhai0qffj6haga7s86pv7mq8zvjcxjlzv"; depends=[]; };
   Dominance = derive2 { name="Dominance"; version="1.1.0"; sha256="1dzfj79hv3ds72dy4fn14bp68fiw06vdxkp4dvyvj37yrrqpcxyz"; depends=[chron gdata igraph XLConnect]; };
-  DoseFinding = derive2 { name="DoseFinding"; version="0.9-16"; sha256="0ncr95lf4mifmx6n2qkg8m3cn326zj9w4hr7afsdxg155l11w89z"; depends=[lattice mvtnorm]; };
+  DoseFinding = derive2 { name="DoseFinding"; version="0.9-17"; sha256="1lj96443dj61nxqfl20rc1f6ja2clbr9j6b6l8vi2gpspx5i76qw"; depends=[lattice mvtnorm]; };
   DoubleCone = derive2 { name="DoubleCone"; version="1.1"; sha256="1kbvsj93nn2306s6pgqiiznmlcn2nqsgcxinihl613ivczxhzpqg"; depends=[coneproj MASS Matrix]; };
   DoubleExpSeq = derive2 { name="DoubleExpSeq"; version="1.1"; sha256="00xpj5xmpgmvp6h76imkmghrnlfk6c50ydvv0jram6m6ix3z8323"; depends=[numDeriv]; };
   Dowd = derive2 { name="Dowd"; version="0.12"; sha256="1fgaq22n7gm8pqxdfkiayqgjfqjn7knjjjr1x12jgv77cv08xyjk"; depends=[bootstrap forecast MASS]; };
   Dpit = derive2 { name="Dpit"; version="1.0"; sha256="02pnc00sk3bwxmxrg27638x0q62r7nsx2nr14zjjc5q880prdisv"; depends=[fitdistrplus gsl moments VGAM]; };
-  DrBats = derive2 { name="DrBats"; version="0.1.4"; sha256="0jzl1jklxsbqf5hv3a71lckk51jxi1lnbk5zmvd4x3y9b9azl2cq"; depends=[ade4 coda MASS Matrix rstan sde]; };
+  DrBats = derive2 { name="DrBats"; version="0.1.5"; sha256="1iaffippp9kwfrwryf7klmn8nsm2k8pc0bkgpxcsl4vxyy2na3mp"; depends=[ade4 coda MASS Matrix rstan sde]; };
   DrImpute = derive2 { name="DrImpute"; version="1.0"; sha256="1adzarrwqb282pqgx2yqswp9rpwd1naxsmar54kddr6qyd6b923b"; depends=[Rcpp RcppArmadillo]; };
   DrInsight = derive2 { name="DrInsight"; version="0.1.1"; sha256="02lqf6bwbgcgyg5zx16nvnzpagmcmbsngnhmyv47256vsd9vppjd"; depends=[igraph qusage]; };
   DramaAnalysis = derive2 { name="DramaAnalysis"; version="3.0.0"; sha256="0hqyy79fyc13fxfrj9ghpydvys2j5pizfvsfii1dhk2a2adh7h3y"; depends=[data_table git2r httr readr reshape2 stringr tokenizers xml2]; };
-  DriftBurstHypothesis = derive2 { name="DriftBurstHypothesis"; version="0.2.0"; sha256="0xgaiavl7h82y3dbhnzb1gqflfyvcvc4jzlxdng3163axvfp0m1j"; depends=[Rcpp RcppArmadillo xts zoo]; };
+  DriftBurstHypothesis = derive2 { name="DriftBurstHypothesis"; version="0.3.0"; sha256="0v6b8bm683c0np99bwvn3x0bp9xwf9qgli2050n05iiqibc894np"; depends=[Rcpp RcppArmadillo xts zoo]; };
   DrillR = derive2 { name="DrillR"; version="0.1"; sha256="0n7pim5kk0wfdjcc67v4vvdb7wyhn5bcgi2a12nbyfyydss7pk1g"; depends=[httr]; };
   DrugClust = derive2 { name="DrugClust"; version="0.2"; sha256="0acvjqwzkbjmy101m501l7fkfxzkp6zflwvn56li5307xv9ggnfg"; depends=[cclust cluster e1071 MESS ROCR]; };
   DstarM = derive2 { name="DstarM"; version="0.3.0"; sha256="16vcv21dgnymhsy9j5x5pblnipf4hdyscajx6pr8kl6i95hs3hmj"; depends=[DEoptim ggplot2 Rcpp RcppArmadillo rtdists RWiener]; };
@@ -1108,29 +1126,30 @@ in with self; {
   Dykstra = derive2 { name="Dykstra"; version="1.0-0"; sha256="1rc1409ky0ysqr3ccq28yhbs94m6d0z2dfa66k4c7irxjvbagwz6"; depends=[]; };
   DynClust = derive2 { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; };
   DynNom = derive2 { name="DynNom"; version="5.0.1"; sha256="1ahs93mks2z423sxk4wjgivdz4ggvwm87dha0aan4fg4jarai98s"; depends=[BBmisc compare dplyr ggplot2 magrittr plotly prediction rms shiny stargazer survival]; };
-  DynTxRegime = derive2 { name="DynTxRegime"; version="4.1"; sha256="1gjklpyjf9gl1h94v8lhra0vg90bnci7f70nzmvg2gkfyin7jygv"; depends=[dfoptim kernlab modelObj rgenoud]; };
+  DynTxRegime = derive2 { name="DynTxRegime"; version="4.2"; sha256="0i2n48jrlxma9q43fngc614z1hfyrc2hwcijpj7zl94rxzaa4zv2"; depends=[dfoptim kernlab modelObj rgenoud]; };
   DynaRankR = derive2 { name="DynaRankR"; version="1.0.0"; sha256="1smxgsxl0s5ynlphssd2q59f40zxin8im91fdcvawchc4qj2lmgg"; depends=[dplyr rlang]; };
   DynamicDistribution = derive2 { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
-  DynamicGP = derive2 { name="DynamicGP"; version="1.1-4"; sha256="0zlhlxbi53zd79dgp09625ghb5lfl5s4sdmf2849ajcc83wqfiih"; depends=[lhs]; };
+  DynamicGP = derive2 { name="DynamicGP"; version="1.1-5"; sha256="12y56anyi3amn7czwkk4qakmgqq0mf80xrhb8ccy1sxzk7k86pfz"; depends=[lhs]; };
   E4tools = derive2 { name="E4tools"; version="0.1.1"; sha256="1kmj1fddybjia9ninhcy75kdmq152zjw7s24chpqr5wsblffr3yx"; depends=[accelerometry anytime BBmisc chron data_table DataCombine doParallel doSNOW foreach ggplot2 hms scales signal]; };
   EAinference = derive2 { name="EAinference"; version="0.2.3"; sha256="1kzcfya3z6rf1vqjn72yjymdhrn4dzgmwifh3w6k22cy5jxffzn4"; depends=[hdi limSolve MASS msm mvtnorm Rcpp RcppArmadillo]; };
   EBASS = derive2 { name="EBASS"; version="0.1"; sha256="14hxzj06wrc4ihflr7dqk28fsjwbcizr0jy54vhv0mk1y1gd4201"; depends=[]; };
   EBEN = derive2 { name="EBEN"; version="4.6"; sha256="0gcf5b2viiq69vs8bd8nhk65g9sbzgg212w7zpnz4y6cv9jkk5zz"; depends=[]; };
   EBMAforecast = derive2 { name="EBMAforecast"; version="0.52"; sha256="1809ia0dpkilprv7x19drp1v2qckk0wm596f1i1vl0k37wbhcziv"; depends=[abind Hmisc plyr Rcpp separationplot]; };
-  EBPRS = derive2 { name="EBPRS"; version="1.1.5"; sha256="05hs05qdjk9pl81axxrh3rz43mm939r7crvvcsdmv1dj6x0i4iyh"; depends=[data_table ROCR]; };
+  EBPRS = derive2 { name="EBPRS"; version="1.2.2"; sha256="1lmcp6nvkl1gwamhaal8dab4z7knfp36i3c1y8ny80z9i69fip1h"; depends=[ROCR]; };
   EBglmnet = derive2 { name="EBglmnet"; version="4.1"; sha256="0wlscmimj74alcr8k5h1g3alvlpss4g2ah7zkpd42akam3zb4s5z"; depends=[]; };
   EBrank = derive2 { name="EBrank"; version="1.0.0"; sha256="1qzhrr3n2zv31mjp224b35324nr9nigzazyfv11j4zhwl1ipf632"; depends=[]; };
   ECFsup = derive2 { name="ECFsup"; version="0.1-2"; sha256="0fpcab0gjgsc3sx0plpx068rw3a7kfzs2nyrr477a5m0rcbqf1kh"; depends=[foreach Rcpp RcppArmadillo]; };
   ECGofTestDx = derive2 { name="ECGofTestDx"; version="0.4"; sha256="0y8bw1k9spwxyzc7vsi2iblnmjsidxbybjrzzh2j6frjmv3rk4g1"; depends=[bootstrap orthopolynom]; };
   ECLRMC = derive2 { name="ECLRMC"; version="1.0"; sha256="01z2hmbpb754s2rsvx3i5wf7kkkr2mvs2g89ih2bqrif7w5rmgyg"; depends=[softImpute]; };
-  ECOSolveR = derive2 { name="ECOSolveR"; version="0.5.2"; sha256="0sh0brv589naqb2q87abc88ys2kbir4vh02nvjm5cbajmibnkv8p"; depends=[]; };
+  ECOSolveR = derive2 { name="ECOSolveR"; version="0.5.3"; sha256="1xglkx1x9kidznvcz61w0ayhfkgbmkxad92frabr9jsnlf6ns78n"; depends=[]; };
   ECctmc = derive2 { name="ECctmc"; version="0.2.5"; sha256="0prryvc17bm1xrhzlqk2w9nj181bg99j1dph3d36h0n1vfq1d7if"; depends=[Rcpp RcppArmadillo]; };
   ECharts2Shiny = derive2 { name="ECharts2Shiny"; version="0.2.13"; sha256="0dq8ja4ydxnc7qx35qhh9ryqgi7ambwz6ka2821mmq3p994crswn"; depends=[jsonlite shiny]; };
-  ECoL = derive2 { name="ECoL"; version="0.2.0"; sha256="17j2z05gdh8mbgc4k01m83rgbps9fjf1l6ykql0225bk4ai25h5a"; depends=[cluster e1071 FNN igraph MASS]; };
-  EDA = derive2 { name="EDA"; version="1.2"; sha256="146kji0hk19vfag1j11vga5smkk1w4za9l5iakjgh61scsh2l791"; depends=[ggplot2]; };
+  ECoL = derive2 { name="ECoL"; version="0.3.0"; sha256="02j4yl6hi83f6m529r6n0gaz8wsy2pi0ncy2g95fjhs8ib0kfn4f"; depends=[cluster e1071 FNN igraph MASS]; };
+  EDA = derive2 { name="EDA"; version="1.3"; sha256="08zqykvga7w07iy00c94q03mrxmjv649ggk7lmksjzy5j3wgyb6d"; depends=[ggplot2]; };
   EDFIR = derive2 { name="EDFIR"; version="1.0"; sha256="0nv1badyg1dri6z91fvs68a72g22vdg0rpi3fkpxw527r11fvrrv"; depends=[geometry lpSolve MASS vertexenum]; };
   EDISON = derive2 { name="EDISON"; version="1.1.1"; sha256="12cc13ng5fc4nm0nvqxqplpb2ycz4cln73xqkk85dka2fnpykjc7"; depends=[corpcor MASS]; };
   EDMeasure = derive2 { name="EDMeasure"; version="1.2.0"; sha256="1gyv86vip0a3939dbbwz29xkqzncw24r68fzykdjnv3b995510iv"; depends=[dHSIC energy rBayesianOptimization]; };
+  EDOIF = derive2 { name="EDOIF"; version="0.1.1"; sha256="0lhaajiq01rrvpp2xq2n6ka7pd4xz0spxrf1xv8ljpi2w9kk4p7l"; depends=[boot distr ellipsis ggplot2 igraph simpleboot]; };
   EDR = derive2 { name="EDR"; version="0.6-6"; sha256="10m92p3fy5z2kca4h9awwmvs4pqri92habkvgjvjl5ira09yvyi7"; depends=[sm]; };
   EEM = derive2 { name="EEM"; version="1.1.1"; sha256="0w20kakgcpyhfi7fcrss4w67pbaj87hi2scy7g05q3sg2ygac7gj"; depends=[colorRamps ggplot2 R_utils reshape2 sp]; };
   EFA_MRFA = derive2 { name="EFA.MRFA"; version="1.0.5"; sha256="0zq587kbl5dzwh7ilp47592frmzyqfh8m4da0830yi1060whdblk"; depends=[ggplot2 optimbase PCovR psych reshape2 scales]; };
@@ -1178,6 +1197,7 @@ in with self; {
   ENMeval = derive2 { name="ENMeval"; version="0.3.0"; sha256="0q5s8nxig8kbr0cblfmf3k20ri19fjs770a0fnzsk0kwlac414hw"; depends=[dismo doParallel foreach maxnet raster]; };
   ENiRG = derive2 { name="ENiRG"; version="1.0.1"; sha256="0yjy7g0pia4g18h7mawkxn77dnnqcajnbml21rrv63qwlr347355"; depends=[ade4 fgui gdata miniGUI raster rgrass7 sp]; };
   ENmisc = derive2 { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc RColorBrewer vcd]; };
+  EPT = derive2 { name="EPT"; version="0.7.3"; sha256="0ymg16wd2dkn6nb0hq43niycydpy5dnadq4011a3815qrkyj7670"; depends=[]; };
   EQL = derive2 { name="EQL"; version="1.0-1"; sha256="0pa33h0f30l352m6ix296l55lvqxdaib666x2dwy9zx0lmk23w8m"; depends=[lattice ttutils]; };
   EQUIVNONINF = derive2 { name="EQUIVNONINF"; version="1.0"; sha256="103wrry0cmikprihmgx8y4kk1pnbjis7rs1xw13w14v902xkr2rq"; depends=[BiasedUrn]; };
   ERP = derive2 { name="ERP"; version="2.1"; sha256="0l3vgg7szfgi7a6qh93lh2sjnkwkhw02laxdl7x87jirmmsx3157"; depends=[corpcor fdrtool irlba mnormt pacman]; };
@@ -1197,13 +1217,13 @@ in with self; {
   EWOC2 = derive2 { name="EWOC2"; version="1.0"; sha256="1x3l332pmh69kl0c1rka264mi69avdm938mzd79ck4y3qcgn07vr"; depends=[MASS rjags]; };
   EXRQ = derive2 { name="EXRQ"; version="1.0"; sha256="1iqsr52sl2j5q03122a7rsp6n6a2bkysk2r908c89l36gk4sj2i5"; depends=[mnormt quantreg]; };
   EZtune = derive2 { name="EZtune"; version="2.0.0"; sha256="1arrd9zkssb8ixx7r4nxwayksz1mk7jkvlcbm264pv9ya6kh3yrh"; depends=[ada e1071 GA gbm optimx rpart]; };
-  Eagle = derive2 { name="Eagle"; version="1.5.2"; sha256="1pwxqwj1ff7hlfcsr9n1ria686aavzk6pmvr1ac9r0dx2h20nskr"; depends=[data_table ggplot2 ggthemes matrixcalc Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
+  Eagle = derive2 { name="Eagle"; version="2.1.1"; sha256="0sx9fg3awv086861jyj18a814m6jdckzdvds6375wyd5cvi2ifqd"; depends=[data_table ggplot2 ggthemes matrixcalc mmap R_utils Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
   EasyABC = derive2 { name="EasyABC"; version="1.5"; sha256="17qv6y8sf2iwwqcv5wfg6sii259gv5jyr72dnfpir2bw78wb3mqx"; depends=[abc lhs MASS mnormt pls tensorA]; };
   EasyHTMLReport = derive2 { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc ggplot2 knitr markdown reshape2 scales xtable]; };
   EasyMARK = derive2 { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[coda doParallel foreach MASS random rjags stringr]; };
   EasyMx = derive2 { name="EasyMx"; version="0.2-1"; sha256="03yshzb4wh3n667z9lmrwsz16chpgnl8qv3qlx425mj5iiyv626z"; depends=[OpenMx]; };
   EbayesThresh = derive2 { name="EbayesThresh"; version="1.4-12"; sha256="07a2dd3za2dc81n6m2xy794sclp3yw7f46lg1igaflh7m9407198"; depends=[wavethresh]; };
-  Ecdat = derive2 { name="Ecdat"; version="0.3-3"; sha256="0rxhl0i3hhfcc19744nkqjz0hziil72m0b5jharw99ackyi3hrfs"; depends=[Ecfun]; };
+  Ecdat = derive2 { name="Ecdat"; version="0.3-4"; sha256="07c6cv8dnz7781i9aavr0gx573nkmqam5v157kkq7478ia1cccpb"; depends=[Ecfun]; };
   Ecfun = derive2 { name="Ecfun"; version="0.2-0"; sha256="1clxwmwd4lmhh7zqspqgn13vrzg40lbqzb0a7b90qla4hk9r4zm4"; depends=[fda gdata jpeg MASS RCurl stringi TeachingDemos tis XML xml2]; };
   EcoGenetics = derive2 { name="EcoGenetics"; version="1.2.1-5"; sha256="1953q374msvdw91m2nagxkwh5r9gnq5qss6l6mf34hayq3kwm8s9"; depends=[d3heatmap doParallel edgebundleR foreach ggplot2 htmlwidgets igraph jsonlite magrittr networkD3 party pheatmap plotly raster reshape2 rgdal rkt SoDA sp]; };
   EcoHydRology = derive2 { name="EcoHydRology"; version="0.4.12.1"; sha256="075kgy6cxppkclk6nj5xs1f5yv9w8cpr09xwhf2101a6wswknb88"; depends=[DEoptim operators topmodel XML]; };
@@ -1217,9 +1237,9 @@ in with self; {
   EdSurvey = derive2 { name="EdSurvey"; version="2.3.2"; sha256="1cw0s2jpgb7jkcly5vk96jpdgdy7nlf0ri37ab17f108mi8gb8nn"; depends=[car data_table Formula glm2 haven LaF lfactors lme4 MASS Matrix NAEPprimer quantreg RColorBrewer readr readxl rvest stringi stringr tibble wCorr WeMix xml2 xtable]; };
   EditImputeCont = derive2 { name="EditImputeCont"; version="1.1.4"; sha256="1gqi3mnxnhsynk63hr0ny93m60xq4a0sjc5x0p67l6xybn2fk011"; depends=[editrules igraph Rcpp]; };
   EffectLiteR = derive2 { name="EffectLiteR"; version="0.4-3"; sha256="05yydwi40m5hrda01l9nj8y3d85l2n04nr39k1kni4zbciinls2b"; depends=[car foreign ggplot2 lavaan lavaan_survey nnet shiny survey]; };
-  EffectStars = derive2 { name="EffectStars"; version="1.9"; sha256="15n5mrba2s0qxcg3zikfwpxqwv38h39zmvj8sz62ni4pdhrhhjh3"; depends=[VGAM]; };
-  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-2"; sha256="0121zb627zwkgbb84sn2dclph56dc5rkfjpci5xwd0w99vh3q66l"; depends=[miscTools VGAM]; };
-  EffectTreat = derive2 { name="EffectTreat"; version="0.4"; sha256="05r8frrir2dnivj21raczchf9qligqdccnnpj1kwi0zgr5h4spz6"; depends=[]; };
+  EffectStars = derive2 { name="EffectStars"; version="1.9-1"; sha256="131w5bdc615gaa2czi4wyc2f96jcg24ahcmggajrvyhxmi6rag5x"; depends=[VGAM]; };
+  EffectStars2 = derive2 { name="EffectStars2"; version="0.1-3"; sha256="0yh4krqjh1jb7gjxb9z4f5bzarps0g9jfqbbva782a881dhcdl1x"; depends=[miscTools VGAM]; };
+  EffectTreat = derive2 { name="EffectTreat"; version="1.0"; sha256="1dvhqp3psjllzbv82xcxz3qxni0yv83yc16598185s42zvm6582z"; depends=[]; };
   EffectsRelBaseline = derive2 { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
   EfficientMaxEigenpair = derive2 { name="EfficientMaxEigenpair"; version="0.1.4"; sha256="1s0i9a2vk2g4f5gadsvzjfkw91hcjsrbyjg2vgnj1v17xrwgp40w"; depends=[]; };
   ElastH = derive2 { name="ElastH"; version="0.3.1"; sha256="1xgmz0xirvdyjz8l31zb2j91nj0g8ffhvzp44b97473fsj06n1g6"; depends=[dlm]; };
@@ -1250,13 +1270,13 @@ in with self; {
   EnvStats = derive2 { name="EnvStats"; version="2.3.1"; sha256="0ang2s222znrvzvidyvj2sa2bqx95bxicff64p6w2a7z88mx8lyp"; depends=[ggplot2 MASS nortest]; };
   EnviroPRA = derive2 { name="EnviroPRA"; version="1.0"; sha256="0yirh3vy7wap0qmm3kvjz9y68gcvp9i8qshv80wh8aijxwklpr8n"; depends=[fitdistrplus kSamples MASS truncdist]; };
   EnviroStat = derive2 { name="EnviroStat"; version="0.4-2"; sha256="0ckax6vkx0vwczn21nm1dr8skvpm59xs3dgsa5bs54a3xhn5z9hs"; depends=[MASS]; };
-  Epi = derive2 { name="Epi"; version="2.38"; sha256="0ald9fjynrlyah8nzwfs49a08j4myd3c5bm56zn61gg5pyyhi8hd"; depends=[cmprsk data_table etm MASS Matrix mgcv numDeriv plyr survival zoo]; };
+  Epi = derive2 { name="Epi"; version="2.40"; sha256="046y10vwks5y84pzccmrn6d4pd6qz70imvp1hw5ywp8fnwzfh4g5"; depends=[cmprsk data_table etm MASS Matrix mgcv numDeriv plyr survival zoo]; };
   EpiContactTrace = derive2 { name="EpiContactTrace"; version="0.12.0"; sha256="1i84fslz8sdngvkv34zhzjwzrzzxx6f4s31p8f5smmf028jlpyys"; depends=[]; };
   EpiCurve = derive2 { name="EpiCurve"; version="2.2-1"; sha256="091q03lak2nfk83s10004qnwdng0gl4z92pc174mc41wns7f5d8v"; depends=[dplyr ggplot2 ISOweek RColorBrewer scales timeDate]; };
   EpiDynamics = derive2 { name="EpiDynamics"; version="0.3.0"; sha256="0hpysjl8wfgylbp4ddxmi5msvlp1w70c6pxggc2bwdgap3s127f3"; depends=[deSolve ggplot2 reshape2]; };
   EpiEstim = derive2 { name="EpiEstim"; version="2.2-1"; sha256="1a21mskjvyz9qdvl3kkf0p15zn1nx1a49c5djp1lacrn6h7g8k9p"; depends=[coarseDataTools coda fitdistrplus ggplot2 gridExtra incidence reshape2 scales]; };
   EpiILM = derive2 { name="EpiILM"; version="1.4.2"; sha256="16vml2p7c4nv0lfis661x7b9wimrni1ncpa256dh99cps9508j28"; depends=[coda]; };
-  EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.3"; sha256="10snghwkapg6n6lhkf5v3w2g0ngkq556px65ccc4dgyndhwdsqmm"; depends=[coda igraph]; };
+  EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.4"; sha256="033m5v9x9f8wg6ayw0byzrm60ip9c1ksfyjyfdw14vifmpjxkz7k"; depends=[coda igraph]; };
   EpiModel = derive2 { name="EpiModel"; version="1.7.3"; sha256="037y5q25cy3zqbj236pxx30iax2bz1wag0ndffmglhbq17da2w1s"; depends=[ape deSolve doParallel ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer tergm]; };
   EpiReport = derive2 { name="EpiReport"; version="0.1.0"; sha256="1bfh7nrwmplsk7whvmsf0wxg795xrwvarxw974v58mjb282yp87s"; depends=[dplyr extrafont flextable ggplot2 knitr officer png rmarkdown tidyr zoo]; };
   EpiSignalDetection = derive2 { name="EpiSignalDetection"; version="0.1.1"; sha256="04bagnx9fs0r3167hmwgc389fl5hq7l4j6kdjjmi360vcaimx9qi"; depends=[dplyr DT ggplot2 ISOweek knitr pander rmarkdown shiny surveillance]; };
@@ -1269,8 +1289,8 @@ in with self; {
   EstMix = derive2 { name="EstMix"; version="1.0.1"; sha256="13zwhxm0qm83c8k5k4slvq2snkmbq1zz3i5cqvxxwhvkb4b8aja4"; depends=[PSCBS Rcpp RcppArmadillo]; };
   EstSimPDMP = derive2 { name="EstSimPDMP"; version="1.2"; sha256="05gp0gdix4d98111sky8y88p33qr5w4vffkp6mg9klggn37kdj8j"; depends=[]; };
   EstimateGroupNetwork = derive2 { name="EstimateGroupNetwork"; version="0.1.2"; sha256="148srhlpzh0scvnkjbkyia1pr8a2ridabm3dahw4zn7p3cryiyb1"; depends=[igraph qgraph]; };
-  EstimationTools = derive2 { name="EstimationTools"; version="1.2.0"; sha256="1lawxzkcmzds3c69lvilbbrs799zl6ph8sf94j5cg1n9kipgi547"; depends=[BBmisc boot DEoptim knitr numDeriv Rdpack rmarkdown]; };
-  EthSEQ = derive2 { name="EthSEQ"; version="2.1.2"; sha256="0w75d8kw1bf4mfgk8rrx6vzq002z2588kxgadyfag0vk9s4akxi3"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
+  EstimationTools = derive2 { name="EstimationTools"; version="1.2.1"; sha256="0m3q71ag73ph52a6nyvwh6i33d2c42dbbx7vww9h7pqkc09z1j7a"; depends=[BBmisc boot DEoptim numDeriv Rdpack]; };
+  EthSEQ = derive2 { name="EthSEQ"; version="2.1.3"; sha256="168wxxb1cyrfr8s4f9gxqj64dmc4i24g5k6yys3xay9c932gf98y"; depends=[data_table gdsfmt geometry MASS plot3D SNPRelate]; };
   EurosarcBayes = derive2 { name="EurosarcBayes"; version="1.1"; sha256="12311s6ibw9q6kykhh689r93r7mwjhwrhkzdpc75grvw6ilgjmpm"; depends=[clinfun data_table plyr shiny VGAM]; };
   EvCombR = derive2 { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
   EvalEst = derive2 { name="EvalEst"; version="2015.4-2"; sha256="1jkis39iz3zvi5yfd0arvw7bym6naq45f5cravywg8c37n9v967x"; depends=[dse setRNG tfplot tframe]; };
@@ -1283,7 +1303,7 @@ in with self; {
   Evomorph = derive2 { name="Evomorph"; version="0.9"; sha256="1br2fyggwz2mxpic8sk384xq1lpbpv0j5gf6xyzhkn2n7kfpf6d5"; depends=[geomorph ggplot2 reshape2 stringr]; };
   ExPanDaR = derive2 { name="ExPanDaR"; version="0.4.0"; sha256="0clvdjhlkjw6wyfczp5lxkn0cmmxhwfna5p454aix7nkqnvck4wa"; depends=[corrplot dplyr DT ggplot2 Hmisc kableExtra lfe lmtest multiwayvcov openssl rio scales shiny shinycssloaders stargazer tictoc tidyr]; };
   ExPosition = derive2 { name="ExPosition"; version="2.8.23"; sha256="0x9400ggmgrnaish0cfgnyvw549g4ibfv9aj6vzq7j68n58vq405"; depends=[prettyGraphs]; };
-  Exact = derive2 { name="Exact"; version="1.7"; sha256="0d0h406w2l99gxq6pmh9crxxrvdidcajk7bqzmifl7nfb77vp1av"; depends=[]; };
+  Exact = derive2 { name="Exact"; version="2.0"; sha256="142yiz9bz1abgpdqkzgdsz3bp3dwbjlmyg29a62djb8630aicgyn"; depends=[]; };
   ExactCIdiff = derive2 { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; };
   ExceedanceTools = derive2 { name="ExceedanceTools"; version="1.2.2"; sha256="084sc6pggfbcyavhfnd5whyigw7dyjhb4cxmxi0kh2jiam5k8v5b"; depends=[SpatialTools splancs]; };
   ExcessMass = derive2 { name="ExcessMass"; version="1.0"; sha256="1z8l1lja02wxw8l72s3bq6sgjymn5929n123xk6b7ndd52zlfgf5"; depends=[]; };
@@ -1334,10 +1354,11 @@ in with self; {
   FIT = derive2 { name="FIT"; version="0.0.6"; sha256="1nkjms9cvigc9sjha1krzhd3nmwsfh8pi0f1plf5k8zpb773zzb2"; depends=[gglasso MASS Rcpp RcppEigen XML]; };
   FITSio = derive2 { name="FITSio"; version="2.1-0"; sha256="021xmbavigg70m96xw1bvsdasi5yj2wmafgb6xw4b09fmyv9hvjp"; depends=[]; };
   FKF = derive2 { name="FKF"; version="0.1.5"; sha256="1qzf7y3f4xfirjkm795rcxckjbw6sn7xpilhkyvayqm2vyhf7518"; depends=[RUnit]; };
+  FKSUM = derive2 { name="FKSUM"; version="0.1.0"; sha256="1gg76wiklyazm8k80v3c6z2xjb5mch3w54vjl84jllj2c19bcfbw"; depends=[MASS rARPACK Rcpp RcppArmadillo]; };
   FLAME = derive2 { name="FLAME"; version="1.0.0"; sha256="0va9mbwlnvr64hii203rmq4x3izpix0x36kpsns43yb9wdqq70hv"; depends=[dplyr gmp lattice latticeExtra reticulate rlang RPostgreSQL RSQLite]; };
   FLLat = derive2 { name="FLLat"; version="1.2-1"; sha256="0306bpwp2az4x4m5sv88hlh7vs0y5isfby7lxrn2gjnk76gg6mw1"; depends=[gplots]; };
   FLR = derive2 { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
-  FLSSS = derive2 { name="FLSSS"; version="8.5.5"; sha256="00hcfbzc6v4xyhmlqc1ypl7df2x134dbsl21l7rh3zcmp2vc9ayr"; depends=[Rcpp RcppParallel]; };
+  FLSSS = derive2 { name="FLSSS"; version="8.5.6"; sha256="1c6j54ihc385m1f0r86yb83zqv2myfskq48bh9dcynlnc9crs428"; depends=[Rcpp RcppParallel]; };
   FLightR = derive2 { name="FLightR"; version="0.4.9"; sha256="0rcnkifq6mi1i5xhk6qy2gl3bry269y4isfr8phl3car0yj39lw1"; depends=[bit CircStats circular fields GeoLight ggmap ggplot2 ggsn maptools mgcv nlme raster RcppArmadillo rgdal rgeos sp truncnorm]; };
   FMAdist = derive2 { name="FMAdist"; version="0.1.0"; sha256="0aa4sw93ia6cp386hrq6x448x4w0p6k198rjaqs474j25gqgxrv0"; depends=[EnvStats extraDistr fitdistrplus MASS quadprog STAR]; };
   FMC = derive2 { name="FMC"; version="1.0.0"; sha256="1pfqxx7slgcmw4al7i8hy59f4han6b0b7b5az7yh1mscdnghl9bj"; depends=[minimalRSD]; };
@@ -1358,7 +1379,7 @@ in with self; {
   FRESA_CAD = derive2 { name="FRESA.CAD"; version="3.1.0"; sha256="1gi637fwfpwbghms96bmfqs7zirjskd9hxiw43s0765h3ypjqwx1"; depends=[Hmisc miscTools pROC Rcpp RcppArmadillo stringr]; };
   FRK = derive2 { name="FRK"; version="0.2.2"; sha256="0m0ngxanyq19myzza4fb75k9vb67mv17iny847bv9qrgg2vbm5r8"; depends=[digest dplyr ggplot2 Hmisc Matrix plyr Rcpp sp spacetime sparseinv]; };
   FRegSigCom = derive2 { name="FRegSigCom"; version="0.3.0"; sha256="0w0yhch75wdx6phf5h4radipgpndv5bfxva2pzzd99fkmws4sswn"; depends=[fda Matrix Rcpp RcppEigen]; };
-  FSA = derive2 { name="FSA"; version="0.8.25"; sha256="035hbw36bmyvk947lkf6f96930wla7wlyn77zrnswl2ikxriif1p"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot withr]; };
+  FSA = derive2 { name="FSA"; version="0.8.26"; sha256="1gnmch98y8b6bssnz769d987rmvyiadrpshpjf5qihcnnq6jp2sy"; depends=[car dplyr dunn_test epitools gplots lmtest plotrix plyr sciplot withr]; };
   FSAdata = derive2 { name="FSAdata"; version="0.3.8"; sha256="0i7wkz0baxcf1dv6qvc891b4ja4x65p4qicil472k6a9gcf5d4qm"; depends=[]; };
   FSInteract = derive2 { name="FSInteract"; version="0.1.2"; sha256="1aci1398aaz0nrl5jy6yh7xik355wf7pwngrsak4qsi94vdj05iy"; depends=[Matrix Rcpp]; };
   FSMUMI = derive2 { name="FSMUMI"; version="1.0"; sha256="06ri1zi86cm4arjdlp2pha2bvcc8vz6irvd9n3ja074hv62wxcw4"; depends=[FuzzyR lsa]; };
@@ -1371,8 +1392,8 @@ in with self; {
   FacPad = derive2 { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[MASS Rlab]; };
   FactMixtAnalysis = derive2 { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
   FactoClass = derive2 { name="FactoClass"; version="1.2.7"; sha256="0hvlr9cw6wfckl8rzl5qqyp0h8rv8gcnyj6x930jq7h44kj0ji7d"; depends=[ade4 ggplot2 ggrepel KernSmooth scatterplot3d xtable]; };
-  FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.4"; sha256="1svz4w025jhy907rmg5w4c3wrwadwncb420w2dc1b3nhhysh0llv"; depends=[FactoMineR rmarkdown rrcov]; };
-  FactoMineR = derive2 { name="FactoMineR"; version="1.42"; sha256="1yl16inb2m89l1czgaf0pgy9655dpr751hyx92yw6rqpd2ryznac"; depends=[car cluster ellipse flashClust lattice leaps MASS scatterplot3d]; };
+  FactoInvestigate = derive2 { name="FactoInvestigate"; version="1.5"; sha256="079x3n6jh69vrgqmjskccscd21g0vni6bsyga928gndz9nvh3807"; depends=[FactoMineR ggplot2 rmarkdown rrcov]; };
+  FactoMineR = derive2 { name="FactoMineR"; version="2.0"; sha256="0qiw60ypf3bf5xsqz2b9l82i4jvprjm8lzpp12lhl8d9j5s8m0j8"; depends=[car cluster ellipse flashClust ggplot2 ggrepel lattice leaps MASS scatterplot3d]; };
   FactorsR = derive2 { name="FactorsR"; version="1.4"; sha256="1nw63j9bi4x09pgdvdml0w0qxfy1dda5hkxbhd3d6f7rky1z0nyf"; depends=[]; };
   Factoshiny = derive2 { name="Factoshiny"; version="1.0.7"; sha256="1s4pnikv6n767z2x8s5gqqsj64yf9ivpdb5xw0qviizf9qwg8yvi"; depends=[colourpicker FactoMineR shiny]; };
   Fahrmeir = derive2 { name="Fahrmeir"; version="2016.5.31"; sha256="16fbc1zb9x9p04bl7y5nd375pha6bd3hfqqchlk1bqxrj4879y5g"; depends=[]; };
@@ -1395,7 +1416,7 @@ in with self; {
   FatTailsR = derive2 { name="FatTailsR"; version="1.7-5"; sha256="1l2anaf4kixidmvya64ni5b78bl9w2n6xf1lnf297lkdka8gxigw"; depends=[minpack_lm timeSeries]; };
   FateID = derive2 { name="FateID"; version="0.1.9"; sha256="0n02591wpi4n0ga42v4xd1jzskcl56nvvls48sdkcnvc7cyi0hjv"; depends=[lle locfit pheatmap princurve randomForest RColorBrewer Rtsne som umap]; };
   FeaLect = derive2 { name="FeaLect"; version="1.14"; sha256="1h6jc8n57mvyz3gi2jdx5xacwv5iim5sx86qzrg3v1higfr54b1l"; depends=[lars rms]; };
-  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.3"; sha256="0k8n3c0yiz6bb9rq6ra8z2hypb4hw4qcsdfbrgrw74kqivscs62i"; depends=[BH digest magrittr Matrix Rcpp]; };
+  FeatureHashing = derive2 { name="FeatureHashing"; version="0.9.1.4"; sha256="00yrji3grqgzg8c1hwqq5kb9xgqlnzwymy0b38cwixadc5w5lq8m"; depends=[BH digest magrittr Matrix Rcpp]; };
   FedData = derive2 { name="FedData"; version="2.5.7"; sha256="07qgqhd3pg86qsih1ap7j02vriwabqna974q68bapfm52qnvm77z"; depends=[curl data_table devtools dplyr foreach Hmisc httr igraph lubridate magrittr ncdf4 raster readr rgdal rgeos sf sp stringr tibble xml2]; };
   FeedbackTS = derive2 { name="FeedbackTS"; version="1.4"; sha256="1mcsr48hvrpfnk2f0z1bc8556jf848bpd8prm3y46gqdj452wpmm"; depends=[geoR mapdata maps proj4 sp]; };
   Fgmutils = derive2 { name="Fgmutils"; version="0.9.5"; sha256="05n8lvx3cs1ckliaj7ni2rbfcrdl7d0pzf9bkwlyd1779h684cxz"; depends=[data_table devEMF ggplot2 gridExtra plyr png sqldf stringr]; };
@@ -1409,7 +1430,7 @@ in with self; {
   FinancialInstrument = derive2 { name="FinancialInstrument"; version="1.3.1"; sha256="0f1zaclrcmpkdhcfc8a09f7lsf2b7gfyd7js3173qckn84a01f3w"; depends=[quantmod TTR xts zoo]; };
   FinancialMath = derive2 { name="FinancialMath"; version="0.1.1"; sha256="11nhphvd7bvbc7xfs85rib763r1mpvxmsj6hgzfib5aifib5k5js"; depends=[]; };
   FindAllRoots = derive2 { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
-  FindIt = derive2 { name="FindIt"; version="1.1.4"; sha256="1rnkxngkqsmqs0d0m8ihscpsigxbjgl5ga5nyfwf97b1hrbv4j37"; depends=[arm ggplot2 glinternet glmnet igraph lars lmtest Matrix quadprog sandwich]; };
+  FindIt = derive2 { name="FindIt"; version="1.2.0"; sha256="0zrvkvj907fw86jnzzlwk4d90hi42nq45jprp16xryxb7xxii6i8"; depends=[arm glinternet glmnet igraph lars limSolve lmtest Matrix quadprog sandwich]; };
   FinePop = derive2 { name="FinePop"; version="1.5.1"; sha256="184707yvh2mydx42vxrdgv0n4v2dad4an7c4yvlyb9d7z6h0sw2x"; depends=[]; };
   FisHiCal = derive2 { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph Rcpp RcppArmadillo]; };
   FisPro = derive2 { name="FisPro"; version="1.0"; sha256="0wj5xf8qcrbmfixmsirwaf9yl5gk0bb588csp867c8n5jnqqyq0p"; depends=[Rcpp Rdpack]; };
@@ -1436,8 +1457,8 @@ in with self; {
   ForeCA = derive2 { name="ForeCA"; version="0.2.4"; sha256="1i19lmhl1kgfnd7zipjr6xp5ir9rvjy13sbq321jaf8ya60bjdd9"; depends=[ifultools MASS reshape2 sapa]; };
   ForecastComb = derive2 { name="ForecastComb"; version="1.3.1"; sha256="07cbiv172mpkwvg6svhwgavlfy2144ir3y1l7w37wbd0ygs514id"; depends=[forecast ggplot2 Matrix mtsdi psych quadprog quantreg]; };
   ForecastCombinations = derive2 { name="ForecastCombinations"; version="1.1"; sha256="07vzgm2jy992p1l9b8rsv2lbc8cbfzvql85n5ah4p4l3zjxdxgk9"; depends=[quadprog quantreg]; };
-  ForecastFramework = derive2 { name="ForecastFramework"; version="0.10.1"; sha256="0g9d7248zadbhr5gs0rnl2ckjj4xa08nkwlb8kfsvdnnfzihcz4p"; depends=[abind dplyr lubridate magrittr R6 reshape2 tibble]; };
-  ForestFit = derive2 { name="ForestFit"; version="0.4.1"; sha256="06lylnd1jhx0nhvqhir8v98lpli54alcvjdpgmvaw1zgyz154hd0"; depends=[ars]; };
+  ForecastFramework = derive2 { name="ForecastFramework"; version="0.10.2"; sha256="0p7s08bfjm297diy22km245h7hwla7986qavib6gpgigary6y64k"; depends=[abind dplyr lubridate magrittr R6 reshape2 tibble]; };
+  ForestFit = derive2 { name="ForestFit"; version="0.4.6"; sha256="00gjg1v21by2w7gmgf169vs8scyj0c9l2pf980fm4win4rwndla5"; depends=[ars]; };
   ForestGapR = derive2 { name="ForestGapR"; version="0.0.2"; sha256="0xig9nal83xg312kgq6dhi7n67sa8ixlnh79x957w3n5rv9kdyf2"; depends=[igraph raster rgeos sp spatstat VGAM viridis]; };
   ForestTools = derive2 { name="ForestTools"; version="0.2.0"; sha256="0q9nk9n001bnz5hd8cxj6wmaf8c7g0kwfkpa0hk6ap42666rrrah"; depends=[APfun imager raster rgeos sp]; };
   FormalSeries = derive2 { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
@@ -1458,7 +1479,7 @@ in with self; {
   FunCluster = derive2 { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[cluster Hmisc]; };
   FuncMap = derive2 { name="FuncMap"; version="1.0.10"; sha256="0iaay6qz9a2s77xjfpp7wm37y7xwnvmlw6s5k5riccmqzc6dcjs7"; depends=[mvbutils]; };
   FunctionalNetworks = derive2 { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[Biobase breastCancerVDX]; };
-  FunnelPlotR = derive2 { name="FunnelPlotR"; version="0.2.0"; sha256="1qhzxxvli4zirv7fgikfww3rdwgr6plnm4zzwggbcfq9kamzylhn"; depends=[dplyr ggplot2 ggrepel rlang scales]; };
+  FunnelPlotR = derive2 { name="FunnelPlotR"; version="0.2.1"; sha256="05ldz8z2aq9xgs6p7f26vk1babb3mryw4cghhr64m5q6xh7nkwy3"; depends=[dplyr ggplot2 ggrepel rlang scales]; };
   FusionLearn = derive2 { name="FusionLearn"; version="0.1.1"; sha256="0n8bj7k2r2vf0v2nsw31k75hzkqj5l4hyfnmvid102hx9cl8hv3y"; depends=[]; };
   Fuzzy_p_value = derive2 { name="Fuzzy.p.value"; version="1.1"; sha256="13h6armh9g57zqxyjqk6mq81jlfqxqrg2sb5p9rrhslka5m01zis"; depends=[FuzzyNumbers]; };
   FuzzyAHP = derive2 { name="FuzzyAHP"; version="0.9.1"; sha256="056k3gr257qg5wzcgaw0ad5y5cfzdlqkfypl170f0yy0l7gfzag1"; depends=[MASS]; };
@@ -1466,7 +1487,7 @@ in with self; {
   FuzzyMCDM = derive2 { name="FuzzyMCDM"; version="1.1"; sha256="0ss0s65mm6j0nax4mb9g668d9n9cgl0l016mc3h9hbjxfpqrbkks"; depends=[RankAggreg]; };
   FuzzyNumbers = derive2 { name="FuzzyNumbers"; version="0.4-6"; sha256="1zba28kmzpcza099k1ck7aqn7ms2fh3ijcn05xdimvssjbhsag81"; depends=[]; };
   FuzzyNumbers_Ext_2 = derive2 { name="FuzzyNumbers.Ext.2"; version="3.2"; sha256="0gldq0bg1p1vmrn35prha44d7lyymz0jzshdyp2c5rx433mny7h5"; depends=[FuzzyNumbers]; };
-  FuzzyR = derive2 { name="FuzzyR"; version="2.1"; sha256="08mhwzyksw0snxxcwn2kg62ya8smfvrls30znqhmnbkn5ijz0642"; depends=[plyr shiny]; };
+  FuzzyR = derive2 { name="FuzzyR"; version="2.3"; sha256="0y22924vhvybiwhsfl3svizk4sgrvg4a8wl30b5kb2c0vjv03ad6"; depends=[plyr shiny]; };
   FuzzyStatProb = derive2 { name="FuzzyStatProb"; version="2.0.4"; sha256="1jpqb8xczi1d4g306vrwpi02f9h59aki1pgnckvfmiclr306prpb"; depends=[DEoptim FuzzyNumbers MultinomialCI]; };
   FuzzyStatTra = derive2 { name="FuzzyStatTra"; version="1.0"; sha256="1ijrlnlmq9d5ahgrpzba6kzkaq1zq59zqdgcizybsf9alsswcm00"; depends=[]; };
   FuzzyToolkitUoN = derive2 { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; };
@@ -1476,7 +1497,7 @@ in with self; {
   GABi = derive2 { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; };
   GAD = derive2 { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; };
   GADAG = derive2 { name="GADAG"; version="0.99.0"; sha256="1ycg48idrq2yrk1fxs16yl5wwg3kbfki8xppmh311rrzf75c6z4g"; depends=[igraph MASS Rcpp RcppArmadillo]; };
-  GADMTools = derive2 { name="GADMTools"; version="3.7-1"; sha256="0x7izby7gzaraffwrg7pxzwm4b8znsjyhyrms122vmm1flm0cfpr"; depends=[classInt dplyr ggmap ggplot2 ggspatial gridExtra jsonlite lattice maptools prettymapr raster RColorBrewer rgdal rgeos rosm sf sp stringr tidyverse]; };
+  GADMTools = derive2 { name="GADMTools"; version="3.7-2"; sha256="0aabbs35wbcchab32phiaajzf5zgiis3qfv4nr5dc0mf0qjgsc6h"; depends=[classInt dplyr ggmap ggplot2 ggspatial gridExtra jsonlite lattice maptools prettymapr raster RColorBrewer rgdal rgeos rosm sf sp stringr tidyverse]; };
   GAIPE = derive2 { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
   GAMBoost = derive2 { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
   GAMens = derive2 { name="GAMens"; version="1.2.1"; sha256="1z10wxcg277fra2lch464l0kb02lspw9qr1i2wmq11wcz0k9qnl8"; depends=[caTools gam mlbench]; };
@@ -1502,14 +1523,14 @@ in with self; {
   GEEaSPU = derive2 { name="GEEaSPU"; version="1.0.2"; sha256="02pwjqd94kranc1f69bx9rzk27kchavhvhl9fygjhrr40nwq3pbg"; depends=[gee Rcpp RcppArmadillo]; };
   GEEmediate = derive2 { name="GEEmediate"; version="1.1.3"; sha256="1xprkpjp1pkq4ci1n32d3yy80hx3r4xf2j7f6hv7dvsn4cvdp417"; depends=[gee]; };
   GENEAclassify = derive2 { name="GENEAclassify"; version="1.4.18"; sha256="17m58i3jridgxzcckcm0ydd2ijw3zjvg9w4an8j5jbnr62hmcb2s"; depends=[changepoint GENEAread MASS rpart signal]; };
-  GENEAread = derive2 { name="GENEAread"; version="2.0.7"; sha256="0qx14frs8h81k824z3ham0r3lf7hcvmbhcvkwhhzdz18ggfcdr6m"; depends=[bitops mmap]; };
+  GENEAread = derive2 { name="GENEAread"; version="2.0.8"; sha256="1phiwdq05h92vlrjbvx4xvazzls5bdlnwfxn5mghx0v9j0n3ahrm"; depends=[bitops mmap]; };
   GENLIB = derive2 { name="GENLIB"; version="1.0.6"; sha256="0xyq3ggi814vi3x5kxffhi7ygvzcfj3pg0kfi7whcjpi3pjg05h8"; depends=[bootstrap doParallel foreach kinship2 lattice Matrix quadprog Rcpp]; };
   GENMETA = derive2 { name="GENMETA"; version="0.1"; sha256="1mxwqnbg5bvx1qg62xcd62dl81k11l64yckhl3v854asnaczq3pp"; depends=[magic MASS Matrix]; };
   GEOmap = derive2 { name="GEOmap"; version="2.4-4"; sha256="0wk2v0fwcwcm59k711fg829h2w58wkd36im4mg974iai6mqif7qh"; depends=[fields MBA RPMG splancs]; };
   GERGM = derive2 { name="GERGM"; version="0.13.0"; sha256="1h3fzkgc553bvxhcmvmlgk9sdais186h4gs1qagdihwpwn8ymbjk"; depends=[BH coda ggplot2 igraph matrixcalc plyr Rcpp RcppArmadillo RcppParallel scales slackr stringr vegan]; };
   GESE = derive2 { name="GESE"; version="2.0.1"; sha256="0h3s2sbnv5wilr2mj6bnl2892p16pxrs341gg6jql1a540p669sk"; depends=[kinship2]; };
   GESTr = derive2 { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[gtools mclust]; };
-  GET = derive2 { name="GET"; version="0.1-3"; sha256="115hrwdxv2kpfl372r1h7qjyazm50z3zx76ydhjsaj6pp5zspdw5"; depends=[caTools fda_usc ggplot2 gridExtra gstat plyr sp spatstat]; };
+  GET = derive2 { name="GET"; version="0.1-4"; sha256="1zn0jsl77xslf3rkm1py709jhqd3ciyyhiwph6d9ih2nkla9ivak"; depends=[ggplot2 gridExtra gstat plyr sp spatstat]; };
   GEVStableGarch = derive2 { name="GEVStableGarch"; version="1.1"; sha256="1iypv0k4cbvsdyglgvf7y52sqvl5qcin627pjqwq42kisqynm8d7"; depends=[fExtremes fGarch Rsolnp skewt stabledist timeDate timeSeries]; };
   GEVcdn = derive2 { name="GEVcdn"; version="1.1.6"; sha256="09lzhh16r1hsxa23jkq716yf3x9ap6fkkrz3ij2x83rvwznj8hb3"; depends=[VGAM]; };
   GEint = derive2 { name="GEint"; version="0.1.5"; sha256="179gpq4qjhgx1fhyjdb80rf2ip80zhhfyn8xjgwq1a425163q1y7"; depends=[bindata geepack mvtnorm nleqslv pracma rje speedglm]; };
@@ -1521,7 +1542,7 @@ in with self; {
   GFORCE = derive2 { name="GFORCE"; version="0.1.4"; sha256="1x7dvzgnqfvyvp6ibdsnrn5q01ivcgkzkh0mv8nfwqg5zr78v2cz"; depends=[lpSolve MASS]; };
   GGEBiplotGUI = derive2 { name="GGEBiplotGUI"; version="1.0-9"; sha256="0nd0ky3m1avy82z48g7hcysq0y0agxjxdn0g624dkm2w99avxw3j"; depends=[rgl tkrplot]; };
   GGEBiplots = derive2 { name="GGEBiplots"; version="0.1.1"; sha256="1xnxaylikjd378flw3rqw36z27b2limkmyad97zhf1cbva317d1b"; depends=[gge GGEBiplotGUI ggforce ggplot2 scales]; };
-  GGIR = derive2 { name="GGIR"; version="1.10-4"; sha256="1mdxknp4gc8blfs8lsywamdxa4ki9yf0yzwmjinyasq9mg4a1snm"; depends=[bitops data_table doParallel foreach GENEAread matlab Rcpp signal tuneR zoo]; };
+  GGIR = derive2 { name="GGIR"; version="1.10-7"; sha256="1h2krqfwpxf29a5plpw17sydp38d97w2kskpydgvi6ahdlfc9yzg"; depends=[bitops data_table doParallel foreach GENEAread matlab Rcpp signal tuneR zoo]; };
   GGMM = derive2 { name="GGMM"; version="1.0.1"; sha256="1d0qxxdk7b3hzg7dimsbjabpf5rxn3azn2hy00pa1c6wya7kxyvv"; depends=[equSA huge mvtnorm]; };
   GGMridge = derive2 { name="GGMridge"; version="1.1"; sha256="0zbfvvp7l836m118m8nmdvw1w7xq6d3b7qirskjsq1dkk23j41hs"; depends=[MASS mvtnorm]; };
   GGMselect = derive2 { name="GGMselect"; version="0.1-12.2"; sha256="16d4nz5x3yy9lw974gdls18fnx7g1hfghzfq3wh7739c54pvd5gs"; depends=[gtools lars mvtnorm]; };
@@ -1529,6 +1550,7 @@ in with self; {
   GGally = derive2 { name="GGally"; version="1.4.0"; sha256="1zjmcc5bzagvy7c5cmdcl39xmx07fwi98yrj4i05w7y40kqcsiws"; depends=[ggplot2 gtable plyr progress RColorBrewer reshape rlang]; };
   GHQp = derive2 { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; };
   GHS = derive2 { name="GHS"; version="0.1"; sha256="1khjfy62a67r59s2rax9mmnqy5xnnwhbydzhqwwmyspl48mxycdj"; depends=[MASS]; };
+  GIFTr = derive2 { name="GIFTr"; version="0.1.0"; sha256="101vr2qasky8hnxp5i3lhlnymwzciypqwvhpl6mrr0r0czgpcz2f"; depends=[glue stringr]; };
   GIGrvg = derive2 { name="GIGrvg"; version="0.5"; sha256="0mx4n4kf34343yiww80fw5yy0x624xsj71n8fr4dm0a2338pxq8v"; depends=[]; };
   GISTools = derive2 { name="GISTools"; version="0.7-4"; sha256="06alb5d2k4qj344i9cpgm3lz9m68rkmjqfx5k2hzn7z458xjrlxs"; depends=[maptools MASS RColorBrewer rgeos sp]; };
   GJRM = derive2 { name="GJRM"; version="0.2-1"; sha256="12kbd8nd43fi4vwjc9qpjwcndwx9zq19w0adqxivmlvxhflh93mb"; depends=[copula distrEx evd gamlss_dist ggplot2 ismev magic matrixcalc matrixStats mgcv mnormt numDeriv psych Rmpfr scam survey survival trust trustOptim VGAM VineCopula]; };
@@ -1541,18 +1563,18 @@ in with self; {
   GLMaSPU = derive2 { name="GLMaSPU"; version="1.0"; sha256="0zx2bza5v5cfp9v7hf42s57522b6prawcwl77aa3kvjcnb0ish6g"; depends=[MASS mnormt mvtnorm Rcpp RcppArmadillo]; };
   GLMpack = derive2 { name="GLMpack"; version="0.1.0"; sha256="15bpw42y999ljdw8ka2ysrrm0y73xz37wwi3j67i01wafipq82xy"; depends=[AER censReg effects foreign lme4 lmtest MASS Matrix nnet pBrackets plm pscl sandwich]; };
   GLMsData = derive2 { name="GLMsData"; version="1.0.0"; sha256="12q41zxniblzys20vjrf5skj8cbzlwb92mwk6jvnyd86lc70bsh1"; depends=[]; };
-  GLSE = derive2 { name="GLSE"; version="0.1.0"; sha256="1snzcz637ppz3lkg1575ln3shfidkrnynqh1d8b5rk0z0974bpm1"; depends=[gRbase igraph mvtnorm]; };
   GLSME = derive2 { name="GLSME"; version="1.0.5"; sha256="18gixzg8b8yql91dhv8xsrcrxdix0kr0qgmiva0hwmyzpsn6rqam"; depends=[corpcor mvtnorm]; };
   GMAC = derive2 { name="GMAC"; version="3.0"; sha256="0c2cfpr8dik7j5br87hkvswrhqzj5vcna54gw6ffdf1rk9rz9j22"; depends=[]; };
-  GMCM = derive2 { name="GMCM"; version="1.3.2"; sha256="0sm08kf6ia2fi69zqv4nhnlk71v75b5sz2vd3aj0kfhgan7bl93i"; depends=[ellipse Rcpp RcppArmadillo]; };
+  GMCM = derive2 { name="GMCM"; version="1.4"; sha256="13ds8da7lqkvm1mz75440hmn9smi9pznb8bknmckg8vd3fc70f6x"; depends=[ellipse Rcpp RcppArmadillo]; };
   GMDH = derive2 { name="GMDH"; version="1.6"; sha256="093glyz73246m5f2xb2xgbgi80haj4fanmr325byr99dnf4x35yn"; depends=[MASS]; };
   GMDH2 = derive2 { name="GMDH2"; version="1.5"; sha256="0y132zc8q4daj4856xikp4xvrqcibmn9r2shnmwpwxnfbik2ikfb"; depends=[e1071 glmnet magrittr MASS nnet plotly randomForest xtable]; };
   GMDHreg = derive2 { name="GMDHreg"; version="0.2.0"; sha256="07qk9jbav9gm3gh3ag7nz273iab5zlkn0yz31zs2hw646ik1yn14"; depends=[]; };
-  GMMAT = derive2 { name="GMMAT"; version="1.1.1"; sha256="07ypfgk8jd4aymmbcdvcwflj1avhv4yigyqsyq5sslmw94ld0n5z"; depends=[CompQuadForm foreach Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
+  GMKMcharlie = derive2 { name="GMKMcharlie"; version="1.0.3"; sha256="1ncz3czjg1md1hfahc2403k33nby11ldlq0yixpjs4s8panwpgsb"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  GMMAT = derive2 { name="GMMAT"; version="1.1.2"; sha256="1xifcm6kv4v3hw4zskggifd16cn1v7cmnwsgwjfbgrgz3qvyac5c"; depends=[CompQuadForm foreach Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
   GMMBoost = derive2 { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[magic minqa]; };
   GMSE = derive2 { name="GMSE"; version="0.4.0.11"; sha256="1by65202swxcj453q3frac02b2lwny1mm1i95vcjhkqihqkffl2z"; depends=[shiny shinydashboard shinyjs]; };
   GMSimpute = derive2 { name="GMSimpute"; version="0.0.1.0"; sha256="1hmn5ss81df9j9ibgibs95j98irqzif94vq0c861mq4a65y59fcp"; depends=[ggplot2 glmnet reshape2]; };
-  GNAR = derive2 { name="GNAR"; version="0.3.6"; sha256="0ijl150f66hras89k0nxz7r8ws638x8rdglcia73b7wmmjmgdfid"; depends=[igraph wordcloud]; };
+  GNAR = derive2 { name="GNAR"; version="1.0"; sha256="0iv82f118b54g09dc5ggr2z793dgjhxj22v05kypz5fnbdxcl5qf"; depends=[igraph wordcloud]; };
   GNE = derive2 { name="GNE"; version="0.99-2"; sha256="16mivsa4r8d2cg5qsh5rpg2244f74zk2ln3vbys7ivjgnjpjn7z8"; depends=[alabama BB nleqslv SQUAREM]; };
   GOFShiny = derive2 { name="GOFShiny"; version="0.1.0"; sha256="04m08d9w8qqbql86c18qpnwym7agry8wspfwrnbbyp52h2pn2gxb"; depends=[rhandsontable rmarkdown shiny]; };
   GOGANPA = derive2 { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
@@ -1574,12 +1596,12 @@ in with self; {
   GPoM_FDLyapu = derive2 { name="GPoM.FDLyapu"; version="1.0"; sha256="1hpgiwh7b50gazp1msjsh2840b91wfrxhl2l45lxg6jr1m34q8pj"; depends=[deSolve GPoM]; };
   GPrank = derive2 { name="GPrank"; version="0.1.4"; sha256="06j5fk427jkp5lphqlx48vfp4fagnxxnv4iyjcha8nvkswcblwgy"; depends=[gptk matrixStats RColorBrewer tigreBrowserWriter]; };
   GPvam = derive2 { name="GPvam"; version="3.0-5"; sha256="0inhhx5ll4ybkwp71ijigxlyxsa0rdyxb38kgfgxb588dsk4scjz"; depends=[Matrix numDeriv Rcpp RcppArmadillo]; };
-  GPvecchia = derive2 { name="GPvecchia"; version="0.1.0"; sha256="0fldgvhp3634p7pdsjl2b97p79vdar2p6cqg8xvibdi88vbnf3wr"; depends=[BH fields FNN GpGp Matrix Rcpp RcppArmadillo sparseinv]; };
   GRANBase = derive2 { name="GRANBase"; version="2.5.0"; sha256="1sc7f47dnrwww89v4n8y41zvc9z8i8lv7qgya6nwf98vh9b6ifmi"; depends=[covr dplyr GRANCore htmlTable jsonlite markdown RCurl sendmailR stringi switchr]; };
   GRANCore = derive2 { name="GRANCore"; version="0.2.3"; sha256="1f3f34pk0y12yv9cl84ggg40p0bam0x48avrk5f56jskfr475kqk"; depends=[switchr]; };
   GRAPE = derive2 { name="GRAPE"; version="0.1.1"; sha256="1jzvf45ch8x8f2x9kmvv02xz9bix5vplh8143vc4m1yyq42x09c6"; depends=[]; };
   GRCdata = derive2 { name="GRCdata"; version="1.0"; sha256="0nshii6kfvffncgcrmm7wvniq94j9djj84jikcb6ck49viikkrky"; depends=[cubature nloptr]; };
   GROAN = derive2 { name="GROAN"; version="1.2.0"; sha256="14n3k1wwz5pn82wcj00cdns4bp699f58k1nj8hp8jn0q7xr2sgv5"; depends=[plyr rrBLUP]; };
+  GRPtests = derive2 { name="GRPtests"; version="0.1.0"; sha256="1l03rr20xbl6gdj8k3rmmj13basnbmkl80hphldcnmg5iklyqyha"; depends=[glmnet MASS randomForest RPtests]; };
   GRS_test = derive2 { name="GRS.test"; version="1.1"; sha256="1ap9453rj5zan6c3ix7jb1qxhxh42bfv295dgqbgjpdygjdlbm6n"; depends=[]; };
   GRTo = derive2 { name="GRTo"; version="1.3"; sha256="1xkcx2agvrpfnmplgaqx70vz303v8rhwnxdyr4hmdlf4h92lbv8i"; depends=[bootstrap]; };
   GSA = derive2 { name="GSA"; version="1.03.1"; sha256="05x9wspah1cdznjpncqam1iawsxdiigyl8v2anyhss2k7wwd94p1"; depends=[]; };
@@ -1593,6 +1615,7 @@ in with self; {
   GSMX = derive2 { name="GSMX"; version="1.3"; sha256="1n1d7rixj14ari46snsmi48qfmy00ihmzvayk3hkrp2d2d0xi2gh"; depends=[MASS]; };
   GSODR = derive2 { name="GSODR"; version="2.0.0"; sha256="1z8j6filfbqc83z495lw3qwwvd3xm35p7r00n74h9qabgvpydycd"; depends=[countrycode curl data_table future_apply httr R_utils]; };
   GSSE = derive2 { name="GSSE"; version="0.1"; sha256="034mmxa6kjq5kgikhb5q75viagz5ck9irrjbxm26zq9099qxm13b"; depends=[Iso zoo]; };
+  GSelection = derive2 { name="GSelection"; version="0.1.0"; sha256="052vh1haxlzbh3c5i24nrwphapik1y8ribmh6q4axd447ggc0ff9"; depends=[gdata penalized SAM]; };
   GSparO = derive2 { name="GSparO"; version="1.0"; sha256="0xna2crxqwy8fj0s79rxbdcaz9x912rp1vdwqv1557fsnmfv2yf0"; depends=[ggplot2 ThreeWay]; };
   GUIDE = derive2 { name="GUIDE"; version="1.2.7"; sha256="0klaczmn3jnlzyh45yaqlc897irjfk467f4w03awmflaiwan3h6v"; depends=[rpanel tkrplot]; };
   GUILDS = derive2 { name="GUILDS"; version="1.3"; sha256="0zl6x0vn93ybps63fqazvd93f2zwdq0rqqrp7d6n5rnamx99mm8d"; depends=[pracma Rcpp]; };
@@ -1603,8 +1626,9 @@ in with self; {
   GVARX = derive2 { name="GVARX"; version="1.1"; sha256="1y0v2qvrxhpjm6qi5h5safncqdm1ad2sgydrvi46jq613x99zynh"; depends=[lmtest lubridate sandwich strucchange urca vars xts]; };
   GWAF = derive2 { name="GWAF"; version="2.2"; sha256="11lk1dy24y1d0biihy2aypdvlx569lw1pfjs51m54rhgpwzkw6yd"; depends=[coxme geepack lme4]; };
   GWASExactHW = derive2 { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
+  GWASbyCluster = derive2 { name="GWASbyCluster"; version="0.1.7"; sha256="0ivlkxbh8m23vbnjfmhk0vfczd5b8lzy9w4gm1m6jpvdm40kn70x"; depends=[Biobase limma rootSolve snpStats]; };
   GWASinlps = derive2 { name="GWASinlps"; version="1.2"; sha256="036lv8f58kz6qdwaviyk1q1qsgcj9cimipq1cjrfpn8snkn7s1gh"; depends=[horseshoe mombf speedglm]; };
-  GWASinspector = derive2 { name="GWASinspector"; version="1.2"; sha256="1y7411n14fm1nnmp3hr80cgqd42mka9rkbx0hdpi2h82giqik7ms"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr rmarkdown RSQLite]; };
+  GWASinspector = derive2 { name="GWASinspector"; version="1.3.4"; sha256="1kx44ld47y3w2dkx88pzsk85aqamly84bm3qvzmjf4amz2kxsc6c"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr rmarkdown RSQLite]; };
   GWEX = derive2 { name="GWEX"; version="1.0.1"; sha256="1bpjygx38rkicya37x6d88k34yc0ysr3pyfp4ci5px1xsic5cpmy"; depends=[abind doParallel EnvStats fGarch foreach lmomco MASS mvtnorm nleqslv Renext]; };
   GWG = derive2 { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
   GWLelast = derive2 { name="GWLelast"; version="1.2.2"; sha256="1nm4w5m4ca6npmpvh9nb0cnrbzlyv95nvvhgs3pqcrw4igagm4hj"; depends=[doParallel foreach geosphere glmnet sp spgwr]; };
@@ -1621,7 +1645,7 @@ in with self; {
   GeNetIt = derive2 { name="GeNetIt"; version="0.1-2"; sha256="0frrbakgnng52fvf912rywmcay2ncc01akb6jw9hlixn2qjr0rr1"; depends=[nlme raster rgeos sp spatialEco spdep velox]; };
   GenAlgo = derive2 { name="GenAlgo"; version="2.1.5"; sha256="0d3y9kc2njsbzdngv67d4qrdsnn7nsxph5acc09vmwxpv1cyhxiw"; depends=[ClassDiscovery MASS oompaBase]; };
   GenBinomApps = derive2 { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
-  GenEst = derive2 { name="GenEst"; version="1.3.2"; sha256="00g7f94f8db22zgs972a0j07w3ri5ga09436x5bhj3zng7yfagjm"; depends=[corpus DT gsl gtools htmltools lubridate matrixStats mvtnorm Rcpp shiny shinyjs sticky survival]; };
+  GenEst = derive2 { name="GenEst"; version="1.4.0.1"; sha256="14scdz77vm5lfzvjqhhczlyyyv1iwqv9i3pssd5f7f7mw6ig16qd"; depends=[corpus DT gsl gtools hellno htmltools lubridate matrixStats mvtnorm Rcpp shiny shinyjs sticky survival]; };
   GenForImp = derive2 { name="GenForImp"; version="1.0"; sha256="1wcvi52fclcm6kknbjh4r9bpkc2rg8nk6cddnf5j8zqbvrwf4k5x"; depends=[mvtnorm sn]; };
   GenKern = derive2 { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
   GenOrd = derive2 { name="GenOrd"; version="1.4.0"; sha256="17mfrj1fwj8mri1w0bl2pw1rqriidmd67i7gpn9v56g9dzw5rzms"; depends=[MASS Matrix mvtnorm]; };
@@ -1636,7 +1660,7 @@ in with self; {
   GeneralOaxaca = derive2 { name="GeneralOaxaca"; version="1.0"; sha256="19j5c5xr6mdb6pmih94wbjas4yh0dmsqfggg8clvdxkpwk0h338v"; depends=[boot]; };
   GeneralisedCovarianceMeasure = derive2 { name="GeneralisedCovarianceMeasure"; version="0.1.0"; sha256="02s1wbsdp5ma4pnmcsdl5dwm156zx12d3n1ypzkc33lxg21ashzj"; depends=[CVST kernlab mgcv xgboost]; };
   GeneralizedHyperbolic = derive2 { name="GeneralizedHyperbolic"; version="0.8-4"; sha256="01gqfvmzfslhxdnigzbl3rd55hk6r0kgd8fm9xjl0kb9vmb735lm"; depends=[DistributionUtils MASS]; };
-  GeneralizedUmatrix = derive2 { name="GeneralizedUmatrix"; version="1.1.5"; sha256="0a4wpn1zqw1aiygin43lrq55kb7z6macgi2hl5vng9wnx2gl9jiq"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  GeneralizedUmatrix = derive2 { name="GeneralizedUmatrix"; version="1.1.6"; sha256="1s0bn3y0s541v4wzh7rh82cakxcx3i6aff6x1g9m7jan5q9c1gac"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   GeneticSubsetter = derive2 { name="GeneticSubsetter"; version="0.8"; sha256="0bd4snv3dwabc7mknmd2rjmffj67xq535x0bycajhd83d1jhjars"; depends=[]; };
   GenoScan = derive2 { name="GenoScan"; version="0.1"; sha256="0p98imfvvz7l94kim3pxypyjs2pbxng4a2nagbafbady82ylr2vi"; depends=[data_table MASS Matrix seqminer SKAT]; };
   GenomicMating = derive2 { name="GenomicMating"; version="2.0"; sha256="02v1pkarmardf7g8hf2n4jj4cq4707g5lcc7gnwsiyyh7pknd1y6"; depends=[dplyr emoa kohonen LowRankQP magrittr plotly qtl Rcpp RcppArmadillo scatterplot3d SOMbrero]; };
@@ -1655,6 +1679,7 @@ in with self; {
   GetDFPData = derive2 { name="GetDFPData"; version="1.5.2"; sha256="1xa1dy1lm4v2lch3qmfa990bx8r1qzch7jkpnydlnzmd0qmcbvb4"; depends=[curl dplyr lubridate readr reshape2 stringr tibble xlsx XML]; };
   GetHFData = derive2 { name="GetHFData"; version="1.7"; sha256="05xmr880n6arvpn6lb51yn9qssc8594rsxp6cinshk2jh6hq4fnj"; depends=[curl dplyr lubridate RCurl readr stringr]; };
   GetLattesData = derive2 { name="GetLattesData"; version="1.3.1"; sha256="1rq89110qgfi9v47pqahrzzcmh26r1724sgb8bbccsrydfscf994"; depends=[curl dplyr readr stringdist stringr XML]; };
+  GetQuandlData = derive2 { name="GetQuandlData"; version="0.1.0"; sha256="1g1as4m853ab1wp57rzqm0552g0vm7kxzypibv0xywc85084pnmc"; depends=[dplyr jsonlite memoise purrr readr scales stringr]; };
   GetR = derive2 { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
   GetTDData = derive2 { name="GetTDData"; version="1.4.2"; sha256="1qz75hq1c89riq0jpzjkr9gbk5y7894kb0ydhdyji7kjl1kvgyvx"; depends=[bizdays curl RCurl readxl rvest stringi stringr tidyr XML xml2]; };
   GetoptLong = derive2 { name="GetoptLong"; version="0.1.7"; sha256="1fl3w2n602ldybc5qj7qw4xmzzb804bsjkqwf6dswzj0vf0qiadr"; depends=[GlobalOptions rjson]; };
@@ -1667,7 +1692,7 @@ in with self; {
   GillespieSSA2 = derive2 { name="GillespieSSA2"; version="0.2.5"; sha256="1mswjy9fvrgn5353w1mnkmbr98bn1jdinsyc50ygy42z7sd4ijp2"; depends=[assertthat dplyr dynutils Matrix purrr Rcpp RcppXPtrUtils readr rlang stringr tidyr]; };
   GiniDistance = derive2 { name="GiniDistance"; version="0.1.0"; sha256="0jq1dwpsvh3k25lawvzf9ij72jsspzyqsbnrphz8aqwi1dkm3851"; depends=[energy randomForest Rcpp RcppArmadillo readxl]; };
   GiniWegNeg = derive2 { name="GiniWegNeg"; version="1.0.1"; sha256="1wqwjalsyp55si839cil6na3khigm0mwn6qkg0kjylq10pabfk2a"; depends=[]; };
-  GlmSimulatoR = derive2 { name="GlmSimulatoR"; version="0.1.0"; sha256="0qjh4j5lpc83akr9gwpmr5wwdl8lak4ri2q1j658a98mkydn3b74"; depends=[assertthat dplyr ggplot2 magrittr MASS purrr rlang statmod stringr]; };
+  GlmSimulatoR = derive2 { name="GlmSimulatoR"; version="0.2"; sha256="1bbxn8y17dk0n497fvfjl84ssn5qnp5kxlmqzzhzs264vvxfbz0l"; depends=[assertthat cplm dplyr ggplot2 magrittr MASS purrr rlang statmod stringr tweedie]; };
   GlobalDeviance = derive2 { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
   GlobalFit = derive2 { name="GlobalFit"; version="1.2"; sha256="01s51nxcsl8xxn6khbv5jsvpwblwf0iamvr477a1rraqqqj94zx0"; depends=[sybil]; };
   GlobalOptions = derive2 { name="GlobalOptions"; version="0.1.1"; sha256="0x89hfz80avq4zcskxl71i4zi0mgniqqxfrvz050aa2189wfyja2"; depends=[]; };
@@ -1689,7 +1714,7 @@ in with self; {
   GreedyExperimentalDesign = derive2 { name="GreedyExperimentalDesign"; version="1.2"; sha256="1x3hnyqq75krlygg82qm0ldd8nsv071nzgr63zkjmifc7hgi0nvb"; depends=[GreedyExperimentalDesignJARs rJava]; };
   GreedyExperimentalDesignJARs = derive2 { name="GreedyExperimentalDesignJARs"; version="1.0"; sha256="14i6m5qlh1fca9xmzid01hicd3bkf6rzl139ss78gvw544zrapw7"; depends=[rJava]; };
   GreedySBTM = derive2 { name="GreedySBTM"; version="1.0"; sha256="1r29cd8nxpyc82rz2xb9mk9wc17gcdlcl9lw1j3y4npr2z0qhf13"; depends=[Rcpp RcppArmadillo]; };
-  Greg = derive2 { name="Greg"; version="1.3.1"; sha256="1ljd42d8fp4bnhrx26bl1br49b0xp8zr8qp8yccpqgxp6qb6cixv"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
+  Greg = derive2 { name="Greg"; version="1.3.2"; sha256="0df91kzhvcj85baz1z3kfih2kv2yvi8is4adpl4kx6nwfd2d3q82"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
   GriegSmith = derive2 { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
   GrimR = derive2 { name="GrimR"; version="0.5"; sha256="005ywc31yn1cs54kjlkrryw0s7zm8dqqfjkdlkm4s1sbc9r3mssz"; depends=[car]; };
   GroupComparisons = derive2 { name="GroupComparisons"; version="0.1.0"; sha256="0fxgh1mksrfmd4yjrpxg3nfby5wyx75lj0shb5xrdzl7pxzh56ai"; depends=[car]; };
@@ -1713,6 +1738,7 @@ in with self; {
   HCD = derive2 { name="HCD"; version="0.1"; sha256="158szwhpxwj2dj7sibyh8l92dk9cmy6acapmk8wf5hmfybdpgbsh"; depends=[data_table data_tree dendextend irlba Matrix randnet RSpectra stringr]; };
   HCR = derive2 { name="HCR"; version="0.1.1"; sha256="14s46dyw3ifp3pwwlcwbbl47i6hy2whjj1n65i28am5a33nycgha"; depends=[data_table]; };
   HCT = derive2 { name="HCT"; version="0.1.0"; sha256="0p1bj0spqff8m27lvxdfhk8z1r1z04v1dsv7mqbjyzl07w005hk3"; depends=[rstan]; };
+  HCTR = derive2 { name="HCTR"; version="0.1.1"; sha256="1hg8mpallwxpmamk6q8x87w5hlqqwvbahfw5zmr9pisiagbwcsay"; depends=[glmnet harmonicmeanp MASS ncvreg Rdpack]; };
   HCmodelSets = derive2 { name="HCmodelSets"; version="1.0.2"; sha256="0nwr36jgmrfvr7kn71yyah80qv55dwj8zd2hpc4ixhi4kvpr372f"; depends=[ggplot2 mvtnorm survival]; };
   HDCI = derive2 { name="HDCI"; version="1.0-2"; sha256="0wxbv54kbygymhh4r7052vnbj603c1kya01ykvmqzzkjyyfzidkz"; depends=[doParallel foreach glmnet iterators lattice Matrix mvtnorm slam]; };
   HDDesign = derive2 { name="HDDesign"; version="1.1"; sha256="1jim4h9bwn8r637va7m81kwwsfwyzs9pzn5a9i7c8xz8b1x191bj"; depends=[]; };
@@ -1721,15 +1747,15 @@ in with self; {
   HDMD = derive2 { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[MASS psych]; };
   HDMT = derive2 { name="HDMT"; version="1.0"; sha256="0a23g42a94k3ckhgw9h4g53rrklniw65lzgj20w9p9br154kranc"; depends=[cp4p fdrtool]; };
   HDPenReg = derive2 { name="HDPenReg"; version="0.94.6"; sha256="08kjyr0lkc0x5hky0i11n6x4dm9az8lbs79c0lmz32qrf9rhayg9"; depends=[Matrix Rcpp rtkore]; };
-  HDclassif = derive2 { name="HDclassif"; version="2.1.0"; sha256="1d79wki03yyr3hqz44xlx07msmxb59sm2mrq2za34fdbvvrmw58v"; depends=[MASS rARPACK]; };
+  HDclassif = derive2 { name="HDclassif"; version="2.2.0"; sha256="1l5zxhayhzh7q50ycl481hy0br66ylxyvzw1ahmjjrdkm8s3czyj"; depends=[MASS rARPACK]; };
   HDclust = derive2 { name="HDclust"; version="1.0.3"; sha256="18l4qp261gj3kscfxs3s03kmb9y5ml31vnpgpm1iy125bks4mr2y"; depends=[Rcpp RcppProgress Rtsne]; };
   HDcpDetect = derive2 { name="HDcpDetect"; version="0.1.0"; sha256="0ai35d9df5pmva52sb1rr20f11h0mbal6d179g865b7w6n90kfr1"; depends=[]; };
   HDoutliers = derive2 { name="HDoutliers"; version="1.0"; sha256="0pby640bad0jcf1lkwg2g6flassb1pimnjm411c6x8rgvmiphc23"; depends=[FactoMineR FNN mclust]; };
   HDtest = derive2 { name="HDtest"; version="2.1"; sha256="1c9x4s59762sp7drbm5h1xv22kpifq7p0x3dkrfcd0ficbbma5v8"; depends=[checkmate clime doParallel expm fastclime foreach MASS mvtnorm]; };
   HDtweedie = derive2 { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; };
-  HEMDAG = derive2 { name="HEMDAG"; version="2.4.8"; sha256="01hi05hfsgg08r00ir6dkmmznc6813csbkwbrkkh7n8943cs9n52"; depends=[doParallel foreach graph iterators plyr precrec preprocessCore RBGL]; };
+  HEMDAG = derive2 { name="HEMDAG"; version="2.6.0"; sha256="0mrxwm1a1axdm80by9xx0m3fla2v6sigcfiq3p9j7zg2myhk1bn9"; depends=[doParallel foreach graph plyr precrec preprocessCore RBGL]; };
   HETOP = derive2 { name="HETOP"; version="0.2-6"; sha256="1fjwyqh7l296pghmc4m81q8icgbhvqvxr61zd638fr46gls3ky2p"; depends=[R2jags]; };
-  HGNChelper = derive2 { name="HGNChelper"; version="0.7.1"; sha256="1yfgragyp6zfzm7aq74r9gkzqlrzggw87msm9cqqqy62a8y9y92w"; depends=[]; };
+  HGNChelper = derive2 { name="HGNChelper"; version="0.8.1"; sha256="0qwkk5658j4j6w2wgvxkp38cyvscjp93d3zc7gb97vcihqx0ngxa"; depends=[]; };
   HGSL = derive2 { name="HGSL"; version="1.0.0"; sha256="1p453xr3d1bmqc6mrmzb0hz9p0gp25m6v6qr0l3bapcf71vzbvq1"; depends=[]; };
   HH = derive2 { name="HH"; version="3.1-37"; sha256="15b03jbch8l2l5mhacn02asf5mr97pp4sk9p4k50s4hzlqkz5gnm"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
   HHG = derive2 { name="HHG"; version="2.3.2"; sha256="159bs5cxdm770h66fam48451n9krpw2fn5gr397h730x2w7l41ki"; depends=[Rcpp]; };
@@ -1752,7 +1778,7 @@ in with self; {
   HMMpa = derive2 { name="HMMpa"; version="1.0.1"; sha256="0c3jmvcklywqsjmskx7zbw4d3l8i6bzr5h741v8iwgyw67mjn37g"; depends=[]; };
   HMP = derive2 { name="HMP"; version="2.0.1"; sha256="0233p7gajr2aic0c5snni4g9v1bwn4zd5i3kagxhqxa3mvy5c7wc"; depends=[dirmult doParallel foreach ggplot2 gplots lattice MASS rpart rpart_plot vegan]; };
   HMPTrees = derive2 { name="HMPTrees"; version="1.4"; sha256="1jha64iyb0816rdg2i3z7i31z02r72k6acmvw0ibw3sli8zcvphb"; depends=[ape dirmult doParallel foreach HMP]; };
-  HMR = derive2 { name="HMR"; version="0.4.2"; sha256="0rbpghih99avaq803f6hb66pfbqgzh1i2yaqs0mhbj61yyjzyb7b"; depends=[]; };
+  HMR = derive2 { name="HMR"; version="1.0.0"; sha256="128q3d8r3z9gwnhqszwj8z0kf4la7szkwd11a6x0yhglmyrs1905"; depends=[]; };
   HMVD = derive2 { name="HMVD"; version="1.0"; sha256="0agzvsl2n3zg3i519b93jqpiq9zix0bbrjdzk3ymsbb42dzkmj0d"; depends=[MASS]; };
   HPbayes = derive2 { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[boot corpcor MASS mvtnorm numDeriv]; };
   HRM = derive2 { name="HRM"; version="1.0.2"; sha256="0krd27raa2ys2gsgqpbxpfnmigj8s6mk3al7fh3czx5l0d73iqy1"; depends=[data_table doBy ggplot2 MASS matrixcalc mvtnorm plyr pseudorank Rcpp reshape2 xtable]; };
@@ -1767,6 +1793,7 @@ in with self; {
   HSPOR = derive2 { name="HSPOR"; version="1.1.9"; sha256="06lr8l71y5fcqcnmgq7cgiab1pcc98wnqzndbxcbikbh33cx7nxv"; depends=[corpcor npregfast]; };
   HSROC = derive2 { name="HSROC"; version="2.1.9"; sha256="0x5q115c1js5l4rvdy8fg52kcgl18aj1snlj0gi1fdvjsxvglxjl"; depends=[coda lattice MASS MCMCpack]; };
   HSSVD = derive2 { name="HSSVD"; version="1.2"; sha256="1k7ga397grl0r4p0ipjgw5xlafb2528rpww67bw7mmy01w87a1cc"; depends=[bcv]; };
+  HTLR = derive2 { name="HTLR"; version="0.4-1"; sha256="0v6mbs57s5m7ab6zbaafp01lk4q7k1aldgrwq0rmqrzsq2rsar51"; depends=[BCBCSF glmnet magrittr Rcpp RcppArmadillo]; };
   HTMLUtils = derive2 { name="HTMLUtils"; version="0.1.7"; sha256="05y505jazzahnd6jsp3plqz8hd75991hhhcpcdn8093rinb1f8l1"; depends=[R2HTML]; };
   HTSCluster = derive2 { name="HTSCluster"; version="2.0.8"; sha256="0wnbfh6hdx8692jilgmv8sys1zm6fqc6mim7vvjhyqlmpm8gm0kg"; depends=[capushe edgeR plotrix]; };
   HTSSIP = derive2 { name="HTSSIP"; version="1.4.1"; sha256="1j2f6f3i4di4bvsk44gxz0narg45ld2rahfn23wpgni5bszy0vb3"; depends=[ape coenocliner DESeq2 dplyr ggplot2 igraph lazyeval magrittr phyloseq plyr stringr tidyr vegan]; };
@@ -1787,12 +1814,10 @@ in with self; {
   HarmonicRegression = derive2 { name="HarmonicRegression"; version="1.0"; sha256="0inz3l610wl0ibqjyrhfbmwmcfzcmcfhixai4lpkbfsyx93z2i4d"; depends=[]; };
   Harvest_Tree = derive2 { name="Harvest.Tree"; version="1.1"; sha256="021zmppy7p2iakaxirfjdb5jzakg1ijma9d25ly2ni0nx0p1mh6z"; depends=[rpart]; };
   HellCor = derive2 { name="HellCor"; version="1.2"; sha256="1k7k8gj70wc31w27gykiy0fv2bs9q73414ma0hn3ziqg4cnrgl7m"; depends=[energy]; };
-  HelpersMG = derive2 { name="HelpersMG"; version="3.7"; sha256="0j91d8zb6w9mzd92zvzr6jws9rjdna4p1szd772vg6bk1f95q47v"; depends=[coda lme4]; };
+  HelpersMG = derive2 { name="HelpersMG"; version="3.8"; sha256="1vlhdry53ync1fha347ffn1jvk89nxnhc2k0r3aykglbaypfwbcr"; depends=[coda lme4]; };
   HeritSeq = derive2 { name="HeritSeq"; version="1.0.1"; sha256="0l1saxwj99xwkzcy43v0k9sicqwpw9gc8ywxpablagcddfj05pi3"; depends=[cplm DESeq2 lme4 MASS pbapply SummarizedExperiment tweedie]; };
   HextractoR = derive2 { name="HextractoR"; version="1.4"; sha256="1wp7n92wgrjyklq159ymrw8y5ads6lhj2fcz54rzdnccdyx5naxi"; depends=[doParallel foreach seqinr]; };
-  HiCblock = derive2 { name="HiCblock"; version="1.5"; sha256="1c17bdwflfg83d73kd09dgj17nmdbc6cd9fz9dm6q8xvrcvcc6r3"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
   HiCfeat = derive2 { name="HiCfeat"; version="1.4"; sha256="1imz7zfax74aakzk8457jww9r66qxpr2ncyvjj0y5paxdn76lnnq"; depends=[GenomeInfoDb GenomicRanges glmnet IRanges Matrix rtracklayer]; };
-  HiCglmi = derive2 { name="HiCglmi"; version="1.4"; sha256="122f862aaxl9fc6csars8h20sf2q2hmfa7vfa0p67dbknzx76hi4"; depends=[GenomeInfoDb GenomicRanges glmnet HiTC IRanges MASS Matrix rtracklayer S4Vectors]; };
   HiClimR = derive2 { name="HiClimR"; version="2.1.4"; sha256="1ynxy5c2md3bpii3693zcxabldaj0s54xby19j0f616hk4kjm3gm"; depends=[ncdf4]; };
   HiCseg = derive2 { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
   HiDimDA = derive2 { name="HiDimDA"; version="0.2-4"; sha256="0gxkxzys9mcy33xvsim8klaqmb2xwvy5bvgkn9r400j4qfjd3cgg"; depends=[]; };
@@ -1806,20 +1831,21 @@ in with self; {
   HistData = derive2 { name="HistData"; version="0.8-4"; sha256="0qw8jrh7g9w49k6f8hsg9wvy8ms2pcsmiv2ysxfcr89v60q084rb"; depends=[]; };
   HistogramTools = derive2 { name="HistogramTools"; version="0.3.2"; sha256="1wkv6ypn006d8j6bpbhc1knw0bky4y8r7jp87482yd19q5ljsgv0"; depends=[ash Hmisc stringr]; };
   HiveR = derive2 { name="HiveR"; version="0.3.42"; sha256="09h061511pk7iy1k9gb3ifa5q6gd17ix9sn2fshl6gp5sxnysn4f"; depends=[jpeg plyr png RColorBrewer rgl tkrgl]; };
-  Hmisc = derive2 { name="Hmisc"; version="4.2-0"; sha256="1n8i2jhc308hd6bvys9cd7nrz7pwjszs03r5bwlh1pc869ki95ly"; depends=[acepack base64enc cluster data_table foreign Formula ggplot2 gridExtra gtable htmlTable htmltools lattice latticeExtra nnet rpart survival viridis]; };
+  Hmisc = derive2 { name="Hmisc"; version="4.3-0"; sha256="0rb1m6138lqzb46nss9ggvhghipd10vdnwsy6iq2wzynrynzkwkz"; depends=[acepack base64enc cluster data_table foreign Formula ggplot2 gridExtra gtable htmlTable htmltools lattice latticeExtra nnet rpart survival viridis]; };
+  Hmsc = derive2 { name="Hmsc"; version="3.0-2"; sha256="19d1j425h2ylzfpb1a9yam2n82xd5gcyi843sn2x50z1gwv9kl64"; depends=[abind ape BayesLogit coda fields FNN ggplot2 MASS Matrix MCMCpack mvtnorm nnet pdist phytools pROC statmod truncnorm]; };
   HoRM = derive2 { name="HoRM"; version="0.1.2"; sha256="0vfsya6423i25szdj5s8pa8pwshiqykikxdbbj7r2nz73x3qp6hy"; depends=[ggplot2 MASS orthopolynom quantmod rsm]; };
   Holidays = derive2 { name="Holidays"; version="1.0-7"; sha256="1srfbhlrf0pd6gzhp4hbic555lb7camk084rn1qz2g7fjvyijqiq"; depends=[TimeWarp]; };
   Homeric = derive2 { name="Homeric"; version="0.1-3"; sha256="1vcs8fj39zpz45p7gph0mnx65hgr35na0b79i8llyw7i1h7zqzxr"; depends=[]; };
   HotDeckImputation = derive2 { name="HotDeckImputation"; version="1.1.0"; sha256="1mqfn6yw5846ynrcgzka0m6ikfppa5civjkhj42rhp2v2xk25li7"; depends=[Rglpk]; };
   Hotelling = derive2 { name="Hotelling"; version="1.0-5"; sha256="1ism2lzi2kmi62gp319qsi64pj2kj5sfh50f1qnv8vgdkb76bdx5"; depends=[corpcor]; };
   HyPhy = derive2 { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; };
-  HyRiM = derive2 { name="HyRiM"; version="1.0.0"; sha256="1fh7y1abwz2cmdxviribfmdvkmd706p4mmf5myl84z7dbgqh6mgp"; depends=[compare orthopolynom]; };
+  HyRiM = derive2 { name="HyRiM"; version="1.0.3"; sha256="0zx292554kr2s4107db5y7sr869kia9q6dyzhdjy11ksw23sj9m4"; depends=[compare orthopolynom]; };
   HybridFS = derive2 { name="HybridFS"; version="0.1.3"; sha256="0sb3i8ymgydi9hvxzdzydqap1gd7w5qcrs9clc0y5n26zd2mwqm5"; depends=[caTools FSelector InformationValue ROCR woeBinning]; };
   HybridMC = derive2 { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; };
   HydeNet = derive2 { name="HydeNet"; version="0.10.9"; sha256="1glzbr91cwp99qk1cyf8824fg8jvghgf84gc64jjn2q70vczcf5f"; depends=[checkmate DiagrammeR dplyr magrittr nnet pixiedust plyr rjags stringr]; };
   HydroMe = derive2 { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[minpack_lm nlme]; };
   HyperbolicDist = derive2 { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
-  HypergeoMat = derive2 { name="HypergeoMat"; version="1.0.1"; sha256="08cbx62n0r1l0ss6dkpwg4nam36xikmfh4w551pjp21f3ybvzql3"; depends=[arrangements gsl]; };
+  HypergeoMat = derive2 { name="HypergeoMat"; version="3.0.0"; sha256="03xnvb7d80nak7wawfi2sniq9syjbjx5gk71xsgchgwqsdnixp8y"; depends=[gsl Rcpp RcppArmadillo]; };
   IAPWS95 = derive2 { name="IAPWS95"; version="1.1.0"; sha256="03kggkcyvbgh7l9haa1ljg0sv6f2rs06r6j0w2x7cpm31qmc3yzl"; depends=[ggplot2 pander Rcpp]; };
   IASD = derive2 { name="IASD"; version="1.1"; sha256="1slhd42k639mbyxccl7n69p7ng2qx6pqag8wz3kdwn479spkavzn"; depends=[]; };
   IAT = derive2 { name="IAT"; version="0.3"; sha256="110rn2q09gspfd4msyh30dllxdxdraffkr18h1nm72brzhmx9cfi"; depends=[dplyr ggplot2 lazyeval]; };
@@ -1863,7 +1889,7 @@ in with self; {
   IDF = derive2 { name="IDF"; version="1.1"; sha256="19fx04gvzwzkxbd453l3wx46s22dbnh0nxdrmsr4f7l67kihbwdr"; depends=[evd ismev]; };
   IDPSurvival = derive2 { name="IDPSurvival"; version="1.2"; sha256="0hifs8vw3rxlb5vlxs1433pcv2dh7p0mxpgb2n03d98f20vkdwfw"; depends=[gtools Rsolnp survival]; };
   IDPmisc = derive2 { name="IDPmisc"; version="1.1.19"; sha256="13qcvfm703frs367paddz1wq9k3p17f9p5347m56bhky5hjkaphd"; depends=[lattice]; };
-  IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.3.5"; sha256="05wxymvv1p7dik5y227qnp4w1lpdmqfp17zrk6iah8gyv9yjsvbh"; depends=[doParallel foreach igraph spatstat]; };
+  IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.3.10"; sha256="1980nsbcibsas99xcqfc54k6zhh9lg2xdgmihp846xhqgw9xjjy7"; depends=[doParallel foreach igraph spatstat]; };
   IDetect = derive2 { name="IDetect"; version="0.1.0"; sha256="1q1jwgildhx6sp883ni7vcsa3gj997855v5ky41dyf34kv7hvdl1"; depends=[]; };
   IDmeasurer = derive2 { name="IDmeasurer"; version="1.0.0"; sha256="0n7rziaaxm9dqixmw6rxgq9dwnwdl3dsdnpd9s59k5skdlaxnl5m"; depends=[infotheo lme4 MASS]; };
   IDmining = derive2 { name="IDmining"; version="1.0.6"; sha256="0fsl1byz0n5jwswh2ydzz5lsycja54545cf7dr1r3h1a372yz2mv"; depends=[data_table doParallel foreach]; };
@@ -1888,9 +1914,11 @@ in with self; {
   INCATome = derive2 { name="INCATome"; version="1.0"; sha256="1gbmcirs49ydmk5rg2vl5gdy39dfx9psw5mijibzjszcfjar3kqs"; depends=[genefilter limma multtest RankProd siggenes]; };
   INDperform = derive2 { name="INDperform"; version="0.2.1"; sha256="02zqrb9hnfvwxni2477fjdx3ii0a0wbm1layskmwlzsvvkc60ngn"; depends=[cowplot dplyr ggplot2 htmlwidgets jsonlite lazyeval magrittr mgcv nlme purrr RColorBrewer rhandsontable rlang shiny stringr tibble tidyr vegan]; };
   INLABMA = derive2 { name="INLABMA"; version="0.1-11"; sha256="0wzyb3c7zpksqz198kigi4rpblvk0rjamngmyabw5xdpizxdg6zi"; depends=[Matrix sp spdep]; };
+  INLAMSM = derive2 { name="INLAMSM"; version="0.1"; sha256="0km7kwwif2hqqa9jhglvkinzcm6gfp7mn219hqm5ds5rfgrcyl75"; depends=[Matrix MCMCpack]; };
   INSPIRE = derive2 { name="INSPIRE"; version="1.5"; sha256="0938l50yxnb5q628mp874ayx9ybvcjddis20y1hzm5cmlsg0hqhg"; depends=[missMDA]; };
   IOHanalyzer = derive2 { name="IOHanalyzer"; version="0.1.1"; sha256="0imjmhvasfshb3z4cpcjrvmwdc668i73bagl7iww7vhfn3y7mk4n"; depends=[bsplus colorRamps colorspace colourpicker data_table dplyr DT ggplot2 magrittr markdown plotly RColorBrewer Rcpp reshape2 shiny shinydashboard shinyjs withr]; };
   IPCAPS = derive2 { name="IPCAPS"; version="1.1.5"; sha256="0d1nws86k1yph2f4drwrh4jvmmc9nnqmmswpwirmgsp3ma58kc42"; depends=[apcluster expm fpc KRIS LPCM MASS Matrix Rmixmod]; };
+  IPDFileCheck = derive2 { name="IPDFileCheck"; version="0.6.0"; sha256="0rx1xwbdmv23r62xjf8ksbwmr7axxp7a9brd6c7g8qv3ayjjy706"; depends=[dplyr eeptools GlobalOptions lubridate testthat]; };
   IPEC = derive2 { name="IPEC"; version="0.1.2"; sha256="1fglr5hs61n13251145wqzvxy362fx32yzral96xd8li76ljxiic"; depends=[MASS numDeriv]; };
   IPMRF = derive2 { name="IPMRF"; version="1.2"; sha256="1zvwwhiy0p134zvm5ldc92pdd1ap72bhbrlf02rz9m2hlsxmwy67"; depends=[gbm party randomForest]; };
   IPMpack = derive2 { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[MASS Matrix nlme]; };
@@ -1900,8 +1928,8 @@ in with self; {
   IPtoCountry = derive2 { name="IPtoCountry"; version="0.0.1"; sha256="1b10z93mc31cr1c5wxp9xz9cr3jm4n4g5kav09dyallpgw60rskp"; depends=[data_table devtools dtables ggplot2 install_load maps scales]; };
   IQCC = derive2 { name="IQCC"; version="0.7"; sha256="1zalpmyywkrnci0jd8irakjhiqmr52zhj1sbxf9pz5c7wks2rdbc"; depends=[MASS miscTools qcc]; };
   IRATER = derive2 { name="IRATER"; version="0.0.1"; sha256="0jxdvjmnmangbqy3ibb5qrj9jz3wrzs0wa1r2gjk4v8vsbk0ipcf"; depends=[coda lattice plyr R2admb]; };
-  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.2.0"; sha256="08r07z9z2mmx2w2xx2qpdvllwz85wmk3pwid77avc7vrvbbvgs6g"; depends=[dplyr IRISSeismic RCurl seismicRoll signal stringr XML]; };
-  IRISSeismic = derive2 { name="IRISSeismic"; version="1.5.1"; sha256="1xwhhj7p8pfvz5f592kldcfhsizww6xrcp48xda924hd8dvbm585"; depends=[pracma RCurl seismicRoll signal stringr XML]; };
+  IRISMustangMetrics = derive2 { name="IRISMustangMetrics"; version="2.3.0"; sha256="09nzzalz107l6dscl4xxd8znwd9fppjlfyvn1vfd9jhx7mkjlnlq"; depends=[dplyr IRISSeismic pracma RCurl seismicRoll signal stringr XML]; };
+  IRISSeismic = derive2 { name="IRISSeismic"; version="1.5.2"; sha256="117p2kh2r2iw758iqlpqaak83czfv34p15907g18x496r5vri429"; depends=[pracma RCurl seismicRoll signal stringr XML]; };
   IROmiss = derive2 { name="IROmiss"; version="1.0.1"; sha256="01l08s1g7h8cki372daa61pw3wac3pbv5d4yqnphg5p8ihsmrc5d"; depends=[equSA huge mvtnorm ncvreg]; };
   IRTShiny = derive2 { name="IRTShiny"; version="1.2"; sha256="094ax94y6k5z4vlxfla2w19f57q0z32nwwd5npjbgmnkhvfhhl9v"; depends=[beeswarm CTT ltm psych shiny shinyAce]; };
   IRdisplay = derive2 { name="IRdisplay"; version="0.7.0"; sha256="12chk53nf4zckgc4yl7gbvd7m5dvli52inp5b3f0zvcjvfncksli"; depends=[repr]; };
@@ -1929,9 +1957,11 @@ in with self; {
   ImaginR = derive2 { name="ImaginR"; version="0.1.7"; sha256="12ypfrqw6xym84i1axd3h0qd2md96rc0glas3rgzpdhdyw4lbfmn"; depends=[imager jpeg]; };
   Imap = derive2 { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
   Immigrate = derive2 { name="Immigrate"; version="0.0.2"; sha256="1khxjh4lpsgv5qqk30ry6r8y3vjblwxsx9frv63pws4x1j6j2apm"; depends=[pROC Rcpp]; };
+  ImpactEffectsize = derive2 { name="ImpactEffectsize"; version="0.2.0"; sha256="0vy32jypakpf65zqblpyxfym81kqvqikycyhgar0ms26l4fczaqz"; depends=[AdaptGauss caTools matrixStats parallelDist RcppAlgos]; };
   ImpactIV = derive2 { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; };
   ImportExport = derive2 { name="ImportExport"; version="1.1"; sha256="12i9mwspk59zicn1mn21xrs90c8dqxm1q7alqbzscgkpf3xbjrnn"; depends=[chron gdata haven Hmisc RODBC xlsx]; };
   ImputeRobust = derive2 { name="ImputeRobust"; version="1.3-1"; sha256="1zvwlpffpm4gqysz57clf8jkqr72yjbzx90pdy95la51m0b6cdbd"; depends=[extremevalues gamlss gamlss_dist lattice mice purrr]; };
+  InDisc = derive2 { name="InDisc"; version="1.0.2"; sha256="1mvd6r1ly924n17275n4i9p8sghvm929kbir0bq6850kk2m0dgq7"; depends=[optimbase psych]; };
   InPosition = derive2 { name="InPosition"; version="0.12.7.1"; sha256="0d9c7dwaa1v0j8p5ff9223fc2gkbmbvyqylma2d8l4x5m92jmkv0"; depends=[ExPosition prettyGraphs]; };
   InSilicoVA = derive2 { name="InSilicoVA"; version="1.2.5"; sha256="1irbfdrab9mz50py8h3gnjj14swh7b1pbrqf2fj04ym206rsca02"; depends=[coda ggplot2 InterVA5 rJava]; };
   IncDTW = derive2 { name="IncDTW"; version="1.1.2"; sha256="1w213d4z3fflkhcr1snsgy3l9vam0bslzc8h59gfphpjyf9h3hz8"; depends=[data_table ggplot2 Rcpp RcppArmadillo RcppParallel scales]; };
@@ -1939,8 +1969,9 @@ in with self; {
   IndTestPP = derive2 { name="IndTestPP"; version="1.0"; sha256="1ywl35k2syv46pz6ap5sjkynapqj04aq197czspqky0pvrq7ldr1"; depends=[]; };
   IndepTest = derive2 { name="IndepTest"; version="0.2.0"; sha256="017jasqsxm5m13rhfy9gxvd8nfib5k5y5c8520p3hcffqrxr683p"; depends=[FNN mvtnorm Rdpack]; };
   IndependenceTests = derive2 { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; };
-  IndexConstruction = derive2 { name="IndexConstruction"; version="0.1-1"; sha256="16swmbkb6shxl0vxby4pi246ji7qqb849nzqr4pbdg4gdg1a36f5"; depends=[fGarch KernSmooth lubridate RcppBDT xts zoo]; };
+  IndexConstruction = derive2 { name="IndexConstruction"; version="0.1-2"; sha256="16fwbq4d9k3092qwj7yk2s66gp8rgv7g0ii4240imfjh28zlb6xa"; depends=[fGarch KernSmooth lubridate RcppBDT xts zoo]; };
   IndexNumR = derive2 { name="IndexNumR"; version="0.1.2"; sha256="0dip7v4z36k3fhl8szrbl11gcqy1rr7kgmcsajpdwd16jixj1d27"; depends=[]; };
+  IndexNumber = derive2 { name="IndexNumber"; version="1.0"; sha256="03c01f7pk0bf1mlnfmnyc242gpc0ac6svzb6lfwhqkv964kdvhsy"; depends=[]; };
   IndianTaxCalc = derive2 { name="IndianTaxCalc"; version="1.0.2"; sha256="1fxw884wj9n8drk2xz3rgr4f7b4fckh5firrf5gdz6d1nk9hdvc1"; depends=[]; };
   InfDim = derive2 { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
   InferenceSMR = derive2 { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; };
@@ -1960,8 +1991,8 @@ in with self; {
   IntegratedJM = derive2 { name="IntegratedJM"; version="1.6"; sha256="0fv24z7vidhn09ljk09pjzkrlg2rlwxcrhfjc53ybjjgsgay99z6"; depends=[Biobase ggplot2 nlme]; };
   IntegratedMRF = derive2 { name="IntegratedMRF"; version="1.1.9"; sha256="0kklgc48cib4bjfs9qbw13nkp8xyjdazrg6z15x69jylnxyakic7"; depends=[bootstrap ggplot2 limSolve MultivariateRandomForest Rcpp]; };
   InterSIM = derive2 { name="InterSIM"; version="2.2.0"; sha256="14yccan88szf26w1hg1lkvmssids961gng7il3bjr2f1l0k8vd3b"; depends=[MASS NMF]; };
-  InterVA4 = derive2 { name="InterVA4"; version="1.7.5"; sha256="0la99ylx8fnn4kpqa364nhs12y2hzp3sm0awsx5sfdv6n7m9js33"; depends=[]; };
-  InterVA5 = derive2 { name="InterVA5"; version="1.0.2"; sha256="0mjfvkpnl46kzas6ch8x3liffqixifdrdjc7vxfyc1a4az7kn8vq"; depends=[]; };
+  InterVA4 = derive2 { name="InterVA4"; version="1.7.6"; sha256="02fci1p8im8jpalv1mbrhrwhvpi23mzhwhpd1knpxyv7h6l9x0kg"; depends=[]; };
+  InterVA5 = derive2 { name="InterVA5"; version="1.0.4"; sha256="18gvqmyglssdm72hlrv0nmk8yxavyj6q89dlw62zybcpvns6q3ba"; depends=[curl readxl]; };
   Interact = derive2 { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
   InteractiveIGraph = derive2 { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
   Interatrix = derive2 { name="Interatrix"; version="1.1.1"; sha256="1ljxgiia0y8wv1rlm5brd0yvs1r7r5wyrs6nykmwrwwya4k34mpz"; depends=[MASS tkrplot]; };
@@ -1971,10 +2002,10 @@ in with self; {
   InterpretMSSpectrum = derive2 { name="InterpretMSSpectrum"; version="1.2"; sha256="1iaw4i14l2vp1f163g2q4pwv9cnqrx14ik4s8zw0iha4zwcrc3ja"; depends=[DBI doParallel enviPat foreach plyr Rdisop RSQLite]; };
   IntervalSurgeon = derive2 { name="IntervalSurgeon"; version="1.0"; sha256="0dpgfgnnx6r29y8y3pac1rgi503wvlwggx5dh6fhqnxw5yfink61"; depends=[Rcpp]; };
   IntrinioStockAPI = derive2 { name="IntrinioStockAPI"; version="0.0.1"; sha256="0gvkynyi2iag2kwwb51b8125md8kw65b48zk9qdf8pppg9s1r46a"; depends=[gtools httr jsonlite stringr]; };
-  InvariantCausalPrediction = derive2 { name="InvariantCausalPrediction"; version="0.7-2"; sha256="08s1jhyyb60cjk314q9n24niq55n21h83ml3q9a2xhr956kch8ms"; depends=[glmnet mboost]; };
+  InvariantCausalPrediction = derive2 { name="InvariantCausalPrediction"; version="0.8"; sha256="01ckyvjl9lxdpkr0v1da4n4lw3b5z1bxlmf0v6ibqly1mhfwybjl"; depends=[glmnet mboost]; };
   InvasionCorrection = derive2 { name="InvasionCorrection"; version="0.1"; sha256="1wwx2kssjysl1lraac36pvxq34vg8qm0vwi861rs1iipfc35i84j"; depends=[lattice]; };
   Inventorymodel = derive2 { name="Inventorymodel"; version="1.1.0"; sha256="1l87xghdksgmb2k3a8j382p7ffi2pma38a6pn31sfjsa6bgmrdnk"; depends=[e1071 GameTheoryAllocation]; };
-  Irescale = derive2 { name="Irescale"; version="0.2.6"; sha256="1mxpcxc893ld196fb1hpy8avr6a1n4fi83fw2wmwdi11mdwib495"; depends=[e1071 ggplot2 Rcpp Rdpack sp]; };
+  Irescale = derive2 { name="Irescale"; version="2.3.0"; sha256="037bzli0zwlfbf5xmllqg2pi0shs33ggrnw69kzyw2sf780y3hs2"; depends=[e1071 fBasics ggplot2 imager Rdpack reshape2 sp]; };
   IrishDirectorates = derive2 { name="IrishDirectorates"; version="1.4"; sha256="1mwjrmqga7f0p5w2m4f0i6mb68jimx6791pz03r8iqj3yx0vzkh0"; depends=[Rcpp RcppArmadillo]; };
   IrregLong = derive2 { name="IrregLong"; version="0.1.0"; sha256="0m0lzvdp3f57faylk5vihymyhya7b6kri01zql971lqmfazybjy8"; depends=[frailtypack geepack survival]; };
   IsingFit = derive2 { name="IsingFit"; version="0.3.1"; sha256="1prdzzp15klkdy72379bjksdgxr15nk16pqm35w95341cddxchc7"; depends=[glmnet Matrix qgraph]; };
@@ -1983,11 +2014,10 @@ in with self; {
   IsoCI = derive2 { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
   IsoGene = derive2 { name="IsoGene"; version="1.0-24"; sha256="0flm0mszankvl3aizwsazyhvz2xkr4gfqiqywpc0r1swqj19610r"; depends=[affy Biobase ff Iso xtable]; };
   IsoSpecR = derive2 { name="IsoSpecR"; version="2.0.1"; sha256="1y101x7138pdylp2qsmyd10dh0d3wwic292qfi2kbn3z849dlhnn"; depends=[Rcpp]; };
-  IsoplotR = derive2 { name="IsoplotR"; version="3.0"; sha256="08lgv9jp10csiz56chlanhr2vwbzv0h3qfnizlqsgaall9bjkvhv"; depends=[MASS]; };
+  IsoplotR = derive2 { name="IsoplotR"; version="3.1"; sha256="0xh45p2ky3hh5p01yw27y6y7iikr6fbwalmw3qbw1y6c5jc3978v"; depends=[MASS]; };
   IsoriX = derive2 { name="IsoriX"; version="0.8.1"; sha256="0rr9frj0mhismls60vgax357jgfyq2wci7rvhvp70fh5k998mzid"; depends=[lattice latticeExtra numDeriv raster rasterVis sp spaMM viridisLite]; };
   IsotopeR = derive2 { name="IsotopeR"; version="0.5.4"; sha256="0xgha5alh5y5qfz00rl73q4xlamnmrwij7kckljmy6zgrlrdnl6x"; depends=[colorspace ellipse fgui plotrix runjags]; };
   JADE = derive2 { name="JADE"; version="2.0-2"; sha256="0haqb8fsn1z532z42vjz60na7hlwv5rhayxzbd4rkzx2wcvnlbhn"; depends=[clue]; };
-  JAGUAR = derive2 { name="JAGUAR"; version="3.0.1"; sha256="0lyc8biwj9yir1i06klp2jkb31mnzwp226aw7pwabkprfhqgfmqd"; depends=[lme4 plyr Rcpp RcppArmadillo RcppProgress reshape2]; };
   JASPAR = derive2 { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
   JBTools = derive2 { name="JBTools"; version="0.7.2.9"; sha256="0bynqn3daqgmi3l9asy34mfwyfjkn35k465dfqqi3xwx6cbzlg5k"; depends=[colorspace foreach gplots plotrix]; };
   JFE = derive2 { name="JFE"; version="2.1.3"; sha256="16fbwi9znvf560vlrpdipg69vw1kyg2081iz1l2adc2wyxp81dda"; depends=[BurStFin fAssets fBasics fPortfolio FRAPO iClick MASS quantmod rugarch tcltk2 timeDate timeSeries xts zoo]; };
@@ -2002,14 +2032,15 @@ in with self; {
   JOP = derive2 { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[dglm Rsolnp]; };
   JOUSBoost = derive2 { name="JOUSBoost"; version="2.1.0"; sha256="0f3rr7aw20nvmlpqrq3wzgmr55lqdqhk3wphpqq7msgvaf1zrcl7"; depends=[doParallel foreach Rcpp rpart]; };
   JPEN = derive2 { name="JPEN"; version="1.0"; sha256="12rvp5bmlkwyr1gg336k655hp09gym0d2wwry70c1rz30x1sf2zs"; depends=[mvtnorm]; };
-  JQL = derive2 { name="JQL"; version="2.3.3"; sha256="0cg0d1rkdsvldh8rdhz2qjgb2dijqzwk3k4p20s40nd3nm9w5hm5"; depends=[caret pdist]; };
+  JQL = derive2 { name="JQL"; version="3.6.9"; sha256="0d926hngv4r6zl5f6yai3jwhl9hql2hv6ja3yjgplglkns66g4lh"; depends=[caret pdist randomForest]; };
   JRF = derive2 { name="JRF"; version="0.1-4"; sha256="1xpvscn9iawwa0vfh3kfwzdni436bf42nvm18b8abh033ljvqpij"; depends=[]; };
   JSM = derive2 { name="JSM"; version="0.1.3"; sha256="1p5vlk2fcrb42pi7srkymjacfg05vlaspvhaw94lq1rhvxdw87yl"; depends=[nlme Rcpp RcppEigen statmod survival]; };
   JSmediation = derive2 { name="JSmediation"; version="0.1.0"; sha256="1qmjkachpvql0nrn7lf2n32w9zp12saha2y3zmdg086k1q12xifl"; depends=[broom data_table dplyr glue knitr magrittr MASS purrr rlang tibble]; };
-  JWileymisc = derive2 { name="JWileymisc"; version="0.3.1"; sha256="1683sq0fb8ms0kzfc46azkjfsk2khhq43y265k1g920s5pc7bn8q"; depends=[cowplot data_table devtools emmeans foreach ggplot2 ggthemes lavaan lme4 lmerTest MASS Matrix mgcv mice multcompView nlme psych quantreg rms robustbase VGAM zoo]; };
+  JWileymisc = derive2 { name="JWileymisc"; version="1.0.0"; sha256="1hk10mcbp0abm9zy7233by0220knw0axs6xiw4axr4jcabwrzlim"; depends=[cowplot data_table emmeans extraoperators ggplot2 ggthemes lavaan lme4 MASS Matrix mgcv mice multcompView nlme psych quantreg rms robustbase VGAM zoo]; };
   JacobiEigen = derive2 { name="JacobiEigen"; version="0.3-3"; sha256="1zcs9qhf2216c590hj6qc837rnciyfsirg4zg655vxn59fgzpvyb"; depends=[Rcpp]; };
   JamendoR = derive2 { name="JamendoR"; version="0.1.0"; sha256="1v5i4ggc4igp83pik32fqp07ff8iv7dp93b3qhxcsy1msa4l88lx"; depends=[dplyr httr jsonlite]; };
   JavaGD = derive2 { name="JavaGD"; version="0.6-1.1"; sha256="11knns2b1b8kd4nf8zwfzdhj4xqwkx3f1ba672vqi7jfr47938hh"; depends=[]; };
+  Jaya = derive2 { name="Jaya"; version="0.1.9"; sha256="0b23l7xp4waxjy1vkk09xaali5axr5900v9hkki4f75wh4gb1l53"; depends=[GA]; };
   Jdmbs = derive2 { name="Jdmbs"; version="1.3"; sha256="0jjnn1lrrakai34srp9ks8a563amd1rp9vd4ydnpmgfma5qlify0"; depends=[igraph png]; };
   Jmisc = derive2 { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
   JoSAE = derive2 { name="JoSAE"; version="0.3.0"; sha256="1vjxzbfs8a7kpmn2lb9dca67d4njmzjr3pl16s0r9ihmmxxwwili"; depends=[nlme]; };
@@ -2018,7 +2049,7 @@ in with self; {
   JointModel = derive2 { name="JointModel"; version="1.0"; sha256="1zgs5c7saqyqxvxmhw5sxy5w67abq344aid6igw1da05bfy2az6h"; depends=[lme4 statmod survival]; };
   JointNets = derive2 { name="JointNets"; version="2.0.1"; sha256="18n9dsy0w0nh7dznp6gw6g5fhhjhf5y589nb49hri0721kq1h3rb"; depends=[brainR igraph JGL lpSolve MASS misc3d oro_nifti pcaPP rgl shiny]; };
   Julia = derive2 { name="Julia"; version="1.1"; sha256="0i1n150d89pkds7qyr0xycz6h07zikb2y07d5fcpaqs4446a8prg"; depends=[]; };
-  JuliaCall = derive2 { name="JuliaCall"; version="0.16.6"; sha256="17vwv2x8gzd92j1wrj36z05ljqz79pjpxsrjsbcf07mfcij0bkac"; depends=[knitr Rcpp]; };
+  JuliaCall = derive2 { name="JuliaCall"; version="0.17.1"; sha256="0v0mn3q9mp8xq6bpm870v9a228b20n22cph3s0ngphni07pi0kwr"; depends=[knitr Rcpp]; };
   JumpTest = derive2 { name="JumpTest"; version="1.1"; sha256="0y375m5477nq0ybnjmfnd8hi45d8jmdnprqvw5f70llpd7bcghh0"; depends=[MASS Rcpp RcppEigen]; };
   JuniperKernel = derive2 { name="JuniperKernel"; version="1.4.1.0"; sha256="1zghlfwh4wsjjp7ldp5y86ffyzc27ccl5j9lcwlp1di9slaqjign"; depends=[data_table gdtools jsonlite pbdZMQ Rcpp repr]; };
   KANT = derive2 { name="KANT"; version="2.0"; sha256="169j72pmdkcj6hv8qgmc02aps0ppvvl1vnr1hzrb1gsf7zj7bs3y"; depends=[affy Biobase]; };
@@ -2037,14 +2068,14 @@ in with self; {
   KNNShiny = derive2 { name="KNNShiny"; version="0.1.0"; sha256="16zm8bhdivaap3mvhdx2qn1b1j2iqyarclb0y2qd1n4viwcfm9c1"; depends=[caret dplyr e1071 FNN psycho rhandsontable rmarkdown shiny]; };
   KODAMA = derive2 { name="KODAMA"; version="1.5"; sha256="1pb7qba7dp25x4znhvihc21z5jk6bgk6sg0v24gbvqhv5irm7kwf"; depends=[Rcpp RcppArmadillo]; };
   KOGMWU = derive2 { name="KOGMWU"; version="1.2"; sha256="1vz0099gp1r10n7w4p480l8rswdw100sns196d9xin2ibmmd2fx9"; depends=[pheatmap]; };
-  KONPsurv = derive2 { name="KONPsurv"; version="1.0.1"; sha256="0ycdzd88hy5n59p160fwpfhkq74p4j56cdahjr3c969sjml50zpi"; depends=[Rcpp survival]; };
+  KONPsurv = derive2 { name="KONPsurv"; version="1.0.2"; sha256="0ylydb4qxf7apklgn8a2sjid92gfbswpn2fyhjjh9f972bg1vdmi"; depends=[Rcpp survival]; };
   KRIG = derive2 { name="KRIG"; version="0.1.0"; sha256="1hpmjzzrh5b042xh14dgxvn5x5ini63vq5jz1i6rjgvsdf734f98"; depends=[Rcpp RcppArmadillo Rdpack]; };
   KRIS = derive2 { name="KRIS"; version="1.1.1"; sha256="0v2xgdwd8lp399il6grjkysq2gj38fmjlxlvg5ciq3g3cp7cdy3m"; depends=[rARPACK]; };
   KRLS = derive2 { name="KRLS"; version="1.0-0"; sha256="1zyf3smfzfm3n43i35rlj1w6vcip2hxkvk4f8lp77xbsry0gmwjw"; depends=[]; };
   KRMM = derive2 { name="KRMM"; version="1.0"; sha256="0wxzhrrc4lx20nxjny7rcfw3bya7drn88zbrlzx9f531298xwbrk"; depends=[cvTools kernlab MASS robustbase]; };
   KSD = derive2 { name="KSD"; version="1.0.0"; sha256="0wqmbr51yv7f87pnhph2nrj9y2d5jql2agizcaq6lax23lj6xfb7"; depends=[pryr]; };
   KSEAapp = derive2 { name="KSEAapp"; version="0.99.0"; sha256="1gfgpa2d32y6bzvf4ww70sm7niq34sqmyrhi0phlqxshqq9xviqc"; depends=[gplots]; };
-  KSPM = derive2 { name="KSPM"; version="0.1.2"; sha256="1vgd7m0p65asj1v5b77zh6rv9vfbmxdc274mdya002nm9n8xn3gz"; depends=[CompQuadForm DEoptim expm]; };
+  KSPM = derive2 { name="KSPM"; version="0.2.0"; sha256="0gysb4qb60xfixyj4slcxs2j1bn57vbq6j08i5ldfr9vfaf1pk0n"; depends=[CompQuadForm DEoptim expm]; };
   KScorrect = derive2 { name="KScorrect"; version="1.4.0"; sha256="1khvwc610yp3fd4fn0wcgqpzxg9g7sicjjmwvfcahs8qxn3m5vfa"; depends=[doParallel foreach iterators MASS mclust]; };
   KSgeneral = derive2 { name="KSgeneral"; version="0.1.1"; sha256="1ldk3fvwbr6hw7x3ydgzixgc41a0fbbic699zjlnpj5x4mjg1qby"; depends=[dgof MASS Rcpp]; };
   KTensorGraphs = derive2 { name="KTensorGraphs"; version="0.2"; sha256="1851cqsn8ghp29hjp3806hl66lqjnz3d69qkmpcmk5nky426ypdr"; depends=[]; };
@@ -2054,9 +2085,9 @@ in with self; {
   KbMvtSkew = derive2 { name="KbMvtSkew"; version="1.0.1"; sha256="0bbnsalyk6r5pzfpz7cniyck4ganm6jka6vijcrals5sxpg70w7x"; depends=[]; };
   KenSyn = derive2 { name="KenSyn"; version="0.3"; sha256="0s8sq3caxn4swac81196dp52r9lbmxb3ni45yaxh53f5g34slsi8"; depends=[lme4 metafor nlme]; };
   Kendall = derive2 { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
-  KernSmooth = derive2 { name="KernSmooth"; version="2.23-15"; sha256="1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb"; depends=[]; };
+  KernSmooth = derive2 { name="KernSmooth"; version="2.23-16"; sha256="1acrkbdn3a74y4dndkcdl1njnpfqz7gk3bsz03g8lfj8l7z53hmq"; depends=[]; };
   KernSmoothIRT = derive2 { name="KernSmoothIRT"; version="6.2"; sha256="1dm3j779y630hxdlxycwha563i3n9viil2ksq49s7m65bnwhj33k"; depends=[plotrix Rcpp rgl]; };
-  KernelKnn = derive2 { name="KernelKnn"; version="1.0.9"; sha256="1y9s3y9r51rq8nz33glf767wjjclmj988rxw9r7rc9bw01dxkd7f"; depends=[Rcpp RcppArmadillo]; };
+  KernelKnn = derive2 { name="KernelKnn"; version="1.1.0"; sha256="1w8k4b2q5bh0kx72ixrdb43aificl991j1akh00xn1zx3gbrjb0p"; depends=[Rcpp RcppArmadillo]; };
   Kernelheaping = derive2 { name="Kernelheaping"; version="2.2.1"; sha256="1mc3jzgmg8gyxs6kk474yz911abqzigxwjwjrmhipc40rrdmmr2z"; depends=[fastmatch ks magrittr MASS mvtnorm plyr sp sparr]; };
   KnapsackSampling = derive2 { name="KnapsackSampling"; version="0.1.0"; sha256="17yzmd11k1n5iy54vbcvpzvkm8ypbl6n1kfi931wwrrcq9y7hg22"; depends=[lpSolve]; };
   Knoema = derive2 { name="Knoema"; version="0.1.16"; sha256="0v6w8rrw8nd4l1by5w9xd4hbxp55cma89kljha47ykvmnflsrjsc"; depends=[base64enc digest httr jsonlite lubridate xts zoo]; };
@@ -2089,7 +2120,7 @@ in with self; {
   LDRTools = derive2 { name="LDRTools"; version="0.2-1"; sha256="05srfyplsypi3whfa71lx7pnad23irpf0p7rxmrpv28jgdmrz6wf"; depends=[]; };
   LDcorSV = derive2 { name="LDcorSV"; version="1.3.2"; sha256="0lvk3xz400yd3w0cjdfi6hir1ym1mffd504vycwgck5fkzljpcvx"; depends=[]; };
   LDheatmap = derive2 { name="LDheatmap"; version="0.99-7"; sha256="1r0j8bihi5z1x0sgaf7dwzpsw9i0nc1vylvipvc0cia2ka1lr9dc"; depends=[genetics Rcpp snpStats]; };
-  LDlinkR = derive2 { name="LDlinkR"; version="1.0.0"; sha256="1ihwx67k83jn9fdhdkh991qypd84jrqygpiz8g9gnzhi2lzg8y5m"; depends=[httr]; };
+  LDlinkR = derive2 { name="LDlinkR"; version="1.0.1"; sha256="1k7g7z78fs2pjx436x9z0ikldk0ma9yl503xbx5xwpmw9q6c769k"; depends=[httr]; };
   LDtests = derive2 { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
   LEANR = derive2 { name="LEANR"; version="1.4.9"; sha256="053xy13ys5hibafdnbkwqdk36hw7dhanp4frfacpfpn5f9nfh95r"; depends=[foreach igraph]; };
   LEAP = derive2 { name="LEAP"; version="0.2"; sha256="1yrhanxvr7krvllqzv17qkc4wvmd7mgl57am8sn53773dbfipfc4"; depends=[]; };
@@ -2099,6 +2130,7 @@ in with self; {
   LFDREmpiricalBayes = derive2 { name="LFDREmpiricalBayes"; version="1.0"; sha256="1imw3djmbpdyplv9dmdzzirp9imk88j0kcxcyfh8yr9ywgd77x6b"; depends=[matrixStats R6]; };
   LGEWIS = derive2 { name="LGEWIS"; version="1.1"; sha256="1i52vp0ghjzmyh4r8h6jpyij7x4skw99xvw017b56m8fg64zy70r"; depends=[CompQuadForm geeM mvtnorm SKAT]; };
   LGRF = derive2 { name="LGRF"; version="1.0"; sha256="1kdx6y55aa9n6v43zfz6jk8amvvxbx79sqm1jx4ihgkpgcdglan7"; depends=[CompQuadForm geepack SKAT]; };
+  LHD = derive2 { name="LHD"; version="0.1.2"; sha256="13g90v9mz1lx8fcwkyy1mg722zsairsay2mr77x0m4drg99ikq6r"; depends=[]; };
   LICORS = derive2 { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[fields FNN locfit Matrix mvtnorm RColorBrewer zoo]; };
   LIHNPSD = derive2 { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[BB Bolstad2 moments optimx Rmpfr sn]; };
   LIM = derive2 { name="LIM"; version="1.4.6"; sha256="03x1gnm06bw1wrzc01110bjzd2mvjdzbc2mbrazh22jrmb32w5d8"; depends=[diagram limSolve]; };
@@ -2114,19 +2146,19 @@ in with self; {
   LOGAN = derive2 { name="LOGAN"; version="1.0.0"; sha256="00y8kcykw01gv2g20vmpwkc3qqyafwbiw5pa731xlfnh1b8sn0hi"; depends=[dplyr foreign ggplot2 magrittr modules pander psych rlang stringr]; };
   LOGICOIL = derive2 { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
   LOST = derive2 { name="LOST"; version="1.3"; sha256="01ymnczsnfml04hb6hbi041khkz2aki78qr3hriw7n3bzs5i7xim"; depends=[e1071 gdata MASS miscTools pcaMethods rgl shapes]; };
-  LPBkg = derive2 { name="LPBkg"; version="1.1.4"; sha256="07nqmpzhwgg64sjv6aqncl2zc9iss6d3ikmnq99azgjkq3jlfpfj"; depends=[Hmisc orthopolynom polynom]; };
+  LPBkg = derive2 { name="LPBkg"; version="1.2"; sha256="1pgv6cb7m2j7qnrzybnv6x67a3ry8kpvisqj86rvxzclc9q56fdn"; depends=[Hmisc orthopolynom polynom]; };
   LPCM = derive2 { name="LPCM"; version="0.46-3"; sha256="1bm5y95lzwcv8arlh55sy17m6hz1x48bcjkrwf3x34ax90qimf66"; depends=[]; };
   LPGraph = derive2 { name="LPGraph"; version="2.0"; sha256="1d3czxihaz3f09bfb34knqb6prhcx50kh8y4qrhhakic999z6ifw"; depends=[car PMA SDMTools]; };
   LPKsample = derive2 { name="LPKsample"; version="2.0"; sha256="1jg99025vk42rnjdymh3nj71npn4pmdsmk6rvnx3lykpi72f85dz"; depends=[apcluster igraph mclust]; };
   LPM = derive2 { name="LPM"; version="2.7"; sha256="1anjgflj1272xrghn3s9a21f2dfggppnzjqh3p8zaid91bzg0g34"; depends=[fracdiff MASS QRM]; };
-  LPRelevance = derive2 { name="LPRelevance"; version="2.0"; sha256="0h05a9dnnvhc6x48ak33n9y0ahyd2x6c7f1pwidj9c9fyb9ki7s5"; depends=[BayesGOF Bolstad2 ggplot2 leaps locfdr polynom reshape2]; };
+  LPRelevance = derive2 { name="LPRelevance"; version="2.1"; sha256="0hcg8yl6l8r0aybprrn0zi8mkwp2wldbh53w9dagfrpnz5la05qa"; depends=[BayesGOF Bolstad2 ggplot2 leaps locfdr polynom reshape2]; };
   LPS = derive2 { name="LPS"; version="1.0.10"; sha256="0gf3jmhfki01z8fm5xdx59gxvhgzqd10x2iwa8369iz9dvwbjk8j"; depends=[]; };
   LPStimeSeries = derive2 { name="LPStimeSeries"; version="1.0-5"; sha256="0jmcy8076w4bzfnxaq2m3s60c1wdmywkwzfyrc19wdm8idf666wh"; depends=[RColorBrewer]; };
   LPTime = derive2 { name="LPTime"; version="1.0-2"; sha256="08lb6884kj9pg12mzx67fdnqb86x5s6yzb72hh3nrz50awj1f8nn"; depends=[orthopolynom]; };
   LPWC = derive2 { name="LPWC"; version="0.99.5"; sha256="13iv2v8lkyz9rpjzz2pr6b5g6nh79j8vd5hpx03vjyx08ii0dnq6"; depends=[]; };
   LPmerge = derive2 { name="LPmerge"; version="1.7"; sha256="1wf7hfj670pnzzxyqm3vwrbrvxdbyprh42s5vpv4y54a0w4nr83g"; depends=[Matrix Rglpk]; };
   LPower = derive2 { name="LPower"; version="0.1.0"; sha256="0g9y5s4k3l4zw97qh6c9jj6ysl39y4fprvqw1ybykirvgflisi8x"; depends=[MASS nlme]; };
-  LRQMM = derive2 { name="LRQMM"; version="1.1.10"; sha256="0dg2a2fcs8l952qpzbk997z03ckwchblm10kj778020w7wcs6jss"; depends=[GeneticsPed MASS MasterBayes Matrix MCMCglmm quantreg SparseM]; };
+  LRQMM = derive2 { name="LRQMM"; version="1.1.11"; sha256="109zn1a1a9jyi88h4yqfn6yvw93xn6vdsx99bmxmz2vv8rz0j7k1"; depends=[GeneticsPed MASS MasterBayes Matrix MCMCglmm quantreg SparseM]; };
   LRTH = derive2 { name="LRTH"; version="1.3"; sha256="08vakwb7ca7956gifynzijka441yyx0wd5bq5jfhz56lzcxgfb99"; depends=[]; };
   LRcontrast = derive2 { name="LRcontrast"; version="1.0"; sha256="0fs06p853r42nws2camvs87py39hb1ssxhfm6d5n9kkq81snfx4q"; depends=[DoseFinding]; };
   LS2W = derive2 { name="LS2W"; version="1.3.4"; sha256="1h4vvl1gfxkdjmy6syl0gf4fv03xxxw82cxwvy10b40sf20lwmnv"; depends=[MASS wavethresh]; };
@@ -2143,7 +2175,7 @@ in with self; {
   LTPDvar = derive2 { name="LTPDvar"; version="1.2"; sha256="0r9v5g5y9n85jdcvm7zpapm73ism48m3mmybpcmgcs028h2ndv7v"; depends=[]; };
   LTR = derive2 { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
   LTRCtrees = derive2 { name="LTRCtrees"; version="1.1.0"; sha256="07mvbk3hwl240r46ahha0a4fzq96awk963zl8dhky51b6abp83gz"; depends=[icenReg inum partykit rpart survival]; };
-  LUCIDus = derive2 { name="LUCIDus"; version="0.9.0"; sha256="08z7ikvql40zwnh2sxn9fkzyjyn7gvq2pljff6iyqwvah01fd5ih"; depends=[doParallel foreach glasso glmnet lbfgs Matrix mvtnorm networkD3 nnet]; };
+  LUCIDus = derive2 { name="LUCIDus"; version="1.0.0"; sha256="1gkbfb7gnlk19iy7wnls80h3mqa0y13fld1l5ivhskr7sjlla2q0"; depends=[boot doParallel foreach glasso glmnet lbfgs Matrix mvtnorm networkD3 nnet]; };
   LVGP = derive2 { name="LVGP"; version="2.1.5"; sha256="03sd777s16nv04ikn9b3rj67ad6n4bwi0rycc7wqdnq0dx6xgniy"; depends=[lhs randtoolbox]; };
   LW1949 = derive2 { name="LW1949"; version="1.1.0"; sha256="147ymp7j98ihp1dcz3p5v9ar6h767phjdnga5q5vf1wwa2mxawg7"; depends=[MASS mgcv plotrix]; };
   LZeroSpikeInference = derive2 { name="LZeroSpikeInference"; version="1.0.3"; sha256="15x29afaq13iwlj66h97k3kczg9rfgp6i9d76rji58hfgh8i8by6"; depends=[]; };
@@ -2163,11 +2195,11 @@ in with self; {
   LassoSIR = derive2 { name="LassoSIR"; version="0.1.1"; sha256="0ap8335ms12nsc7jvd48244zya54w05wj91qkhb0i63730r508c3"; depends=[glmnet]; };
   Laterality = derive2 { name="Laterality"; version="0.9.3"; sha256="0pl5bfbkzhgxjjzzh99s6rh4jsq0pbcgc902i0z2lmmivgs5qmd6"; depends=[ade4]; };
   LatticeDesign = derive2 { name="LatticeDesign"; version="1.0-1"; sha256="1wlchqa7914401r0mzca4fffps99nfbj0jym1jxkclnjivdgcn24"; depends=[]; };
-  LatticeKrig = derive2 { name="LatticeKrig"; version="7.0"; sha256="04waq7dpp86rpa8qgrjbpl72k6vhkd300vxfc1xxy5z7k36pinqh"; depends=[fields spam]; };
+  LatticeKrig = derive2 { name="LatticeKrig"; version="8.4"; sha256="153yaf0k4l5za8f13yh2mzjv66bnmi5kp6zaxq9vrisld4vdp58h"; depends=[fields spam]; };
   Lavash = derive2 { name="Lavash"; version="1.0"; sha256="0cjl8crk0rdkyzp069fk4k0sapcjmqm3q40z5mgl0i1n59kn4s07"; depends=[glmnet MASS pracma]; };
   LeArEst = derive2 { name="LeArEst"; version="1.0.0"; sha256="0kga9n0ia2zljyw4xa9n572zmxpwql8xd3ys4p9jp02h432pfkpp"; depends=[conicfit doParallel foreach jpeg opencpu]; };
   LeLogicielR = derive2 { name="LeLogicielR"; version="1.2.1"; sha256="0jd280ial4wfj5j6sbxgl2cbxabycsgmh2zsad7v7hcwbhhdd09i"; depends=[gdata IndependenceTests RColorBrewer xtable]; };
-  LeMaRns = derive2 { name="LeMaRns"; version="0.1.0"; sha256="1spbzgkda3qhls6m9bj24vdhc6xg7x55ip4a6lq1ql8zcy2wggfs"; depends=[abind Rcpp RcppArmadillo]; };
+  LeMaRns = derive2 { name="LeMaRns"; version="0.1.1"; sha256="0ih6653nncijsy9wk0sqvk7im9msxz9qcc3abj539kgs1lhdgvg7"; depends=[abind Rcpp RcppArmadillo]; };
   LeafArea = derive2 { name="LeafArea"; version="0.1.8"; sha256="0a464bcanq6jfm5j6692h61pipy28vm7m89y5i0hrhz7lzpy9x5z"; depends=[]; };
   LearnBayes = derive2 { name="LearnBayes"; version="2.15.1"; sha256="0ch54v2zz2yyyk0lvn5rfikdmyz1qh9j1wk3585wl8v58mc0h4cv"; depends=[]; };
   LearnGeom = derive2 { name="LearnGeom"; version="1.4"; sha256="0qalhy4g47ik8cq2m1zajhv79rla8g72dmcwhnizwn6afhm6fnpm"; depends=[]; };
@@ -2181,7 +2213,7 @@ in with self; {
   LifeHist = derive2 { name="LifeHist"; version="1.0-1"; sha256="0q6l6rva5kxl8yzqa7ni4sdj6p4c61sdsjx8zhckzxb7xlwg2hh0"; depends=[BB Hmisc optimx]; };
   LifeTables = derive2 { name="LifeTables"; version="1.0"; sha256="1dyivvi5cjsnbhncj3arkrndadg7v81nzdf6p6mpgqwqvwn5li8x"; depends=[mclust]; };
   LightningR = derive2 { name="LightningR"; version="1.0.2"; sha256="1va673aw2hgir8ybbjad6dhbs8izs1z4jcikwa7qp3mkv0zqd0vq"; depends=[httr R6 RCurl RJSONIO]; };
-  LilRhino = derive2 { name="LilRhino"; version="1.1.0"; sha256="0pfahvn1wl310w897qhv3ynlfx5mgp237al47piqkdqmxmgma7dz"; depends=[beepr data_table dplyr e1071 fastmatch FNN forcats ggplot2 keras readr SnowballC textclean tidyr tm]; };
+  LilRhino = derive2 { name="LilRhino"; version="1.2.0"; sha256="1d1mg77k67b5ddlp41haygagash48b6jy30q20lb231lbiss9ncp"; depends=[beepr data_table dplyr e1071 fastmatch FNN ggplot2 keras neuralnet readr SnowballC stringi textclean tm]; };
   LinCal = derive2 { name="LinCal"; version="1.0"; sha256="1xr9jnna20hh78dh9wjg70jm8fhaxvdwql894kdp0y5h4pchkdph"; depends=[]; };
   LinRegInteractive = derive2 { name="LinRegInteractive"; version="0.3-1"; sha256="0w7s3i6i2wnydh88l8lnzrh6w5zqkcwvms91iizis0mwd9af2jdl"; depends=[rpanel xtable]; };
   LindenmayeR = derive2 { name="LindenmayeR"; version="0.1.13"; sha256="01wnvmxdb91ai21h3plgsmy6ds7564s5wq2xyr905ma4a2d8afn5"; depends=[stringr]; };
@@ -2191,6 +2223,8 @@ in with self; {
   LinkageMapView = derive2 { name="LinkageMapView"; version="2.1.2"; sha256="101g4djzkxgxbn87an2vz4s9nwn8gwz7a3p3wg0y4zpdd1pdp716"; depends=[plotrix qtl RColorBrewer]; };
   LinkedGASP = derive2 { name="LinkedGASP"; version="1.0"; sha256="1win1yd8y677rmic531dyd29f49p7pr1r3kbjysvv9syi5nkydyj"; depends=[nloptr spBayes]; };
   LinkedMatrix = derive2 { name="LinkedMatrix"; version="1.3.1"; sha256="01rsgk2v1r1jhpkvvhgqqa5lf6qncxy56f7jwfgxfig3dvgjf96r"; depends=[crochet]; };
+  LipidMS = derive2 { name="LipidMS"; version="1.1.0"; sha256="193s5pc2dh848hvwwr1jw79yw90l7b9ic396s4jm36187y9nlw7n"; depends=[CHNOSZ enviPick LipidMSdata purrr]; };
+  LipidMSdata = derive2 { name="LipidMSdata"; version="1.0.0"; sha256="110wvbk59knhsnbv665ji7v0kp4vjn0937k5fg2d724ksy44gxic"; depends=[]; };
   Lmoments = derive2 { name="Lmoments"; version="1.3-1"; sha256="0pc63bj9a8hzr5m3yssrc4kin39fffwkl8rggs3sagzr12d4i7bw"; depends=[Rcpp RcppArmadillo]; };
   LncFinder = derive2 { name="LncFinder"; version="1.1.3"; sha256="15zsll766n97q5rf3xvc3m5s7faxiybayxjzyfhsh7q9x12qnnd7"; depends=[caret e1071 seqinr]; };
   LncMod = derive2 { name="LncMod"; version="1.1"; sha256="08001y7s93i3k3478jqfh9zsgpq6ym1xmdmldi7s76zbfr1nknvy"; depends=[pheatmap survival]; };
@@ -2201,10 +2235,12 @@ in with self; {
   Lock5Data = derive2 { name="Lock5Data"; version="2.8"; sha256="17awskq78h23z2dy96d7hziljhnkx5phpd48q7cppxidyvzfywim"; depends=[]; };
   Lock5withR = derive2 { name="Lock5withR"; version="1.2.2"; sha256="10x3i11pb4cig4pgfmw9984na5zjbg7d41y6crakiimf53ihx0c2"; depends=[]; };
   LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.6-3"; sha256="0gplkprvldw2dq43kvij215lv9x9xdnp47smn8m1r93nk4pxy5mr"; depends=[MASS mclust mvtnorm tkrplot]; };
-  LogicReg = derive2 { name="LogicReg"; version="1.5.12"; sha256="074kyqkgnn04z5r3kq25cjbrr9rvkymmsjmy5fwjdkwvaww6dsys"; depends=[survival]; };
+  LogicReg = derive2 { name="LogicReg"; version="1.6.1"; sha256="1aq9zr2n62p4diycfm910m6ffmd23qn8gjs0zva1brd3gbbi6zx0"; depends=[survival]; };
   LogisticDx = derive2 { name="LogisticDx"; version="0.2"; sha256="0ciygvynnyajpn1glxy6mwj9vbl7iv8a8dfsi6wxjxp2rac68rig"; depends=[aod data_table pROC RColorBrewer rms speedglm statmod]; };
   LogitNet = derive2 { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
   LogrankA = derive2 { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
+  LogrankPower = derive2 { name="LogrankPower"; version="1.0.0"; sha256="04vynymfv01q423dd9i1li92rl3lp1af3rzn3z4mamkn51mi6my0"; depends=[survival survminer]; };
+  LongCART = derive2 { name="LongCART"; version="1.0"; sha256="03fh4glvk48lhmx2lp3vcy9k6jnfnzn73dpljq73fl8zlbr8vv61"; depends=[Formula nlme rpart]; };
   LongMemoryTS = derive2 { name="LongMemoryTS"; version="0.1.0"; sha256="0n378sad8i283vs7q63spdhwpwjly2d5zj15d4v2085j7sc7z8vi"; depends=[fracdiff longmemo mvtnorm partitions Rcpp RcppArmadillo]; };
   LoopAnalyst = derive2 { name="LoopAnalyst"; version="1.2-6"; sha256="1gy9v6qiwkwbwp4snif2imf6zn50ffjrig54ln57c5v5pk3phnvv"; depends=[nlme]; };
   LotkasLaw = derive2 { name="LotkasLaw"; version="0.0.1.0"; sha256="11kq52yavicimp7ll7ljrs69a5fxf68ydb9md7v6b02iw5mwbmz7"; depends=[]; };
@@ -2212,7 +2248,7 @@ in with self; {
   LowWAFOMNX = derive2 { name="LowWAFOMNX"; version="1.1.1"; sha256="0f75qsv6pisgvk39yagzfxscnyfsgh63rmhp4gpybpl0pqmjp48x"; depends=[Rcpp RSQLite]; };
   LowWAFOMSobol = derive2 { name="LowWAFOMSobol"; version="1.1.1"; sha256="1ym3i2m1am356di9lcp5nfmxq0np3c4bwsv6bbmf7hg02j7dhwi4"; depends=[Rcpp RSQLite]; };
   Luminescence = derive2 { name="Luminescence"; version="0.9.5"; sha256="1ly9xlm3v552264sf44xsymv3r1v5znl3rsv5zak5zgdva0hjdjk"; depends=[bbmle data_table DEoptim httr magrittr matrixStats minpack_lm plotrix raster Rcpp RcppArmadillo readxl shape XML zoo]; };
-  M2SMF = derive2 { name="M2SMF"; version="1.0"; sha256="0hf5ckpridi70yv15h0771q1grhqr9c592r87hgba7yh55dqqcq1"; depends=[dplyr MASS]; };
+  M2SMF = derive2 { name="M2SMF"; version="2.0"; sha256="160qjrb3mxybvr4z6zra6rzf6scyrb9mplw36gqlfxj418ndnmm1"; depends=[dplyr MASS]; };
   M3 = derive2 { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[mapdata maps ncdf4 rgdal]; };
   MADPop = derive2 { name="MADPop"; version="1.1.2"; sha256="0hwnkjrc3w9x3gha0y70fidfc587b6gfdhzwzdzrfvxrhsdy05yd"; depends=[BH Rcpp RcppEigen rstan StanHeaders]; };
   MAGNAMWAR = derive2 { name="MAGNAMWAR"; version="2.0.4"; sha256="1asr18byrgy6bkpxpmnkczgr3dam6ymf30lw6izq112krc891bg4"; depends=[ape coxme doParallel dplyr foreach iterators lme4 multcomp plyr qqman seqinr survival]; };
@@ -2234,7 +2270,7 @@ in with self; {
   MAT = derive2 { name="MAT"; version="2.2"; sha256="093axw2zp4i3f6s9621zwibcxrracp77xrc0q5q0m4yv3m35x908"; depends=[Rcpp RcppArmadillo]; };
   MATA = derive2 { name="MATA"; version="0.4"; sha256="0x155izylzwajlnlbdnawb3b8gwxd1cx03xb1sqi3w2g50bcljbf"; depends=[]; };
   MATTOOLS = derive2 { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; };
-  MAVE = derive2 { name="MAVE"; version="1.3.9"; sha256="1x48w0i80vpgblr2713rbwflil6m7ay251jzqs1b8snp70il248h"; depends=[mda Rcpp RcppArmadillo]; };
+  MAVE = derive2 { name="MAVE"; version="1.3.10"; sha256="0y5msdrczzr1q38s4zh0l8cwkq3akrdq0c63klldxa9cl4shmhzr"; depends=[mda Rcpp RcppArmadillo]; };
   MAVIS = derive2 { name="MAVIS"; version="1.1.3"; sha256="02hi3n2rligmgg9afqwkpdny2kl68simkaqdd6k1swzlrih0fs4s"; depends=[compute_es ggplot2 irr MAc MAd metafor quantreg SCMA SCRT shiny shinyAce shinyBS weightr]; };
   MAVTgsa = derive2 { name="MAVTgsa"; version="1.3"; sha256="0rzal9nsi8y873cbf6hrdyzyxnpd4r1yr9fj66cn0s1c8g93ls0y"; depends=[corpcor foreach MASS multcomp randomForest]; };
   MAc = derive2 { name="MAc"; version="1.1.1"; sha256="1dawqmziffaz8wgcqzwc0yifdq65abgn24vafkrwa9850048c26f"; depends=[]; };
@@ -2245,9 +2281,10 @@ in with self; {
   MBCbook = derive2 { name="MBCbook"; version="0.1.1"; sha256="0jmvgyzrahnxfkwdn86k3ffk0zfbbd34ya4zmlnsmp2m9xds7lgn"; depends=[MASS mclust mvtnorm Rmixmod]; };
   MBCluster_Seq = derive2 { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
   MBESS = derive2 { name="MBESS"; version="4.6.0"; sha256="1fc2zcjfk9k107bl3fs3wf8fxxrcpwyhiz7j1iv3w6zqf2l4fb88"; depends=[boot gsl lavaan MASS mnormt nlme OpenMx sem semTools]; };
-  MBHdesign = derive2 { name="MBHdesign"; version="1.0.79"; sha256="1qz0igm8h3ij8yc9bg3vr3mkmf99h1kyxscdhkfphc66zaazhyw1"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
+  MBHdesign = derive2 { name="MBHdesign"; version="2.1.5"; sha256="0hq6i4qwwcmyjf8h1lwdr54ph8d2rb6kgjida0wfn1bs4v0p1h4s"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
   MBI = derive2 { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
-  MBNMAdose = derive2 { name="MBNMAdose"; version="0.2.3"; sha256="1iw0wfyvdmks4diwwj75hqvdkmwnjb3zfw30rgnmr3nmxc3fa0b6"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags scales]; };
+  MBNMAdose = derive2 { name="MBNMAdose"; version="0.2.4"; sha256="0d5fi1i2sr39z5fdl303rjhxvp5h622zbkpfsv3yjq4vp0ymwka0"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags scales]; };
+  MBNMAtime = derive2 { name="MBNMAtime"; version="0.1.2"; sha256="13742y17aclqbsbc039vlnmrg5sa1y6kjsdayl8ii9xnhbb5f48l"; depends=[checkmate dplyr magrittr R2jags Rdpack reshape2 rjags]; };
   MBSGS = derive2 { name="MBSGS"; version="1.1.0"; sha256="1h5vhmpgrqza12j7ivhwgd5wyb7kkb8mjbxl5w756vyid8g03flz"; depends=[MASS MCMCpack mgcv mnormt truncnorm]; };
   MBSP = derive2 { name="MBSP"; version="1.0"; sha256="0mds6jfqgmnm4saqqqqqfcg8zh4qsvd2503g3ij1sn70f0aakwaj"; depends=[coda GIGrvg MASS Matrix MCMCpack]; };
   MBmca = derive2 { name="MBmca"; version="0.0.3-5"; sha256="0p7ddpsy4hwkfwyyszidi33qpdg4xllny7g9x24gk782p7kjfgq9"; depends=[chipPCR robustbase]; };
@@ -2262,10 +2299,10 @@ in with self; {
   MCMC_qpcr = derive2 { name="MCMC.qpcr"; version="1.2.3"; sha256="0b9n793spljmsb58jp41vnl9c753xqaw1g4wbi4ax348cvi09jk8"; depends=[coda ggplot2 MCMCglmm]; };
   MCMC4Extremes = derive2 { name="MCMC4Extremes"; version="1.1"; sha256="06p6xdbja7vrdq4vnhybpkmyf4rkaihcmy9sc81sb0h2wa21vcq0"; depends=[evir]; };
   MCMCglmm = derive2 { name="MCMCglmm"; version="2.29"; sha256="1d37rk10zi2yymsxif9091z9lnav7p4cazjfq29fhj90x8vpifhk"; depends=[ape coda corpcor cubature Matrix tensorA]; };
-  MCMCpack = derive2 { name="MCMCpack"; version="1.4-4"; sha256="1xzrgib2mjz0xpqranhdyc5m4fmg2fir9mcf51ciw5pp53b97qcp"; depends=[coda lattice MASS mcmc quantreg]; };
+  MCMCpack = derive2 { name="MCMCpack"; version="1.4-5"; sha256="1dfz3impsb70nq7qyk5aj5ixslj2zvwcl1mfqvqzy6zp8kx9r56s"; depends=[coda lattice MASS mcmc quantreg]; };
   MCMCprecision = derive2 { name="MCMCprecision"; version="0.3.9"; sha256="1zmlz2kwrp1qiyvq3v5vv1rsy3s2idlifmckmgznk4nkqds5ifwh"; depends=[combinat Matrix Rcpp RcppArmadillo RcppEigen RcppProgress]; };
   MCMCtreeR = derive2 { name="MCMCtreeR"; version="1.1"; sha256="00r6f62h7ryil7qxd25icvkqypjjssjsrz4i5sbqsnw5cdy5al8z"; depends=[ape coda sn]; };
-  MCMCvis = derive2 { name="MCMCvis"; version="0.13.1"; sha256="0p5snrikn9xhjvyzpq5fh2c10304cygxkwqcy2a3s6sqgan4brch"; depends=[coda overlapping rstan]; };
+  MCMCvis = derive2 { name="MCMCvis"; version="0.13.3"; sha256="167j3qjkiwji0vgww7q2byj39hxzhf6jpln9rhhm384y4ycpabys"; depends=[coda overlapping rstan]; };
   MCPAN = derive2 { name="MCPAN"; version="1.1-21"; sha256="0q1m0xg8825q9zjwxcz2h2n0dyr21q5bk29qbqpdhirlwm6f1a51"; depends=[magic MCMCpack multcomp mvtnorm plyr]; };
   MCPMod = derive2 { name="MCPMod"; version="1.0-10"; sha256="0ns74qhm9bzi70m9bn61zs4mmqmmxxi77f49pdrcnr8wrrnn1kdn"; depends=[lattice mvtnorm]; };
   MCPModGeneral = derive2 { name="MCPModGeneral"; version="0.1-0"; sha256="1660r7ibgj5jl5nf3p11911n8k3wbnnzagapn73f2g5racwrbx1d"; depends=[DoseFinding MASS]; };
@@ -2274,7 +2311,7 @@ in with self; {
   MCTM = derive2 { name="MCTM"; version="1.0"; sha256="14xjfskyrqi0m58lkwjfjpss5j7wy3ajr148n526czrrpccg108j"; depends=[]; };
   MChtest = derive2 { name="MChtest"; version="1.0-3"; sha256="1b3p6ry8gkvyphakn3504ibl2x8dbhx95saild0mj0iwm3sjyspf"; depends=[]; };
   MConjoint = derive2 { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; };
-  MDFS = derive2 { name="MDFS"; version="1.0.3"; sha256="09lmwvysyy34l51mda01cjr4579i3v16vsj2kf3066dyhjik1zl4"; depends=[]; };
+  MDFS = derive2 { name="MDFS"; version="1.0.5"; sha256="17ksjgzi8sxyqczscq1rd6a8zgdd0h9sm3c0ymsf0phr69msvpg0"; depends=[]; };
   MDMR = derive2 { name="MDMR"; version="0.5.1"; sha256="1pv57xl7pjsqxz1j8mnfmjaa36mlr749yb4c44ppdrx6khvw662x"; depends=[car CompQuadForm lme4]; };
   MDPtoolbox = derive2 { name="MDPtoolbox"; version="4.0.3"; sha256="0aaw787fvcyhw6mbl42icgqfdzvfr618vg179984xqifafr40dyc"; depends=[linprog Matrix]; };
   MDSMap = derive2 { name="MDSMap"; version="1.1"; sha256="0knrkfwgl763fwdb3ln3g5y3rarnpqdfgzxf4m045664m7gkipsg"; depends=[princurve reshape rgl smacof]; };
@@ -2288,6 +2325,7 @@ in with self; {
   MEMSS = derive2 { name="MEMSS"; version="0.9-3"; sha256="0fq85jrajfwavq2fvsw2x9hknc57wc253zw2vw970f04khfbragd"; depends=[lme4]; };
   MEPDF = derive2 { name="MEPDF"; version="3.0"; sha256="15hbp7g5dsdpvi239jm6jn11fn371ir6la31g0flqkilq6sr1sqd"; depends=[gtools mvtnorm plyr pracma]; };
   MESS = derive2 { name="MESS"; version="0.5.6"; sha256="1p0ail3pd5mrw7p9f1hs5vqdirpjdkgs63zpsib60qjhg61l0iy6"; depends=[geeM geepack ggformula ggplot2 glmnet kinship2 MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
+  MEclustnet = derive2 { name="MEclustnet"; version="1.2.2"; sha256="0rs58dafxngk2lkq14cy14ayjwgnz1gmi12jmi4z74sdj0b3h0gw"; depends=[e1071 ellipse latentnet MASS mvtnorm nnet vegan]; };
   MEtest = derive2 { name="MEtest"; version="1.1"; sha256="0dxm3fs0lqnas70a1ckikvjp2ib9rqsknwcs9n9jfsmm1fqhxdpf"; depends=[statmod]; };
   MF = derive2 { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
   MFAg = derive2 { name="MFAg"; version="1.5"; sha256="0av47syfb0jkiix0xjnd208bz78gx5ji2y9kb7ni1yd7njm7in9m"; depends=[]; };
@@ -2296,6 +2334,7 @@ in with self; {
   MFKnockoffs = derive2 { name="MFKnockoffs"; version="0.9.1"; sha256="1bcdqfzmllp3dri1phy365wgc9c37wlag65pzljn4p3mf43w10nq"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
   MFPCA = derive2 { name="MFPCA"; version="1.3-2"; sha256="1p467zc8lvdcl8n0mf6aazm39flbn62ykwc6c6brkxy46cdvc5jv"; depends=[abind foreach funData irlba Matrix mgcv plyr]; };
   MFT = derive2 { name="MFT"; version="2.0"; sha256="0n1xws3dw0650037qyqgp600p8cf098qa5hkbncdfdbl0w34qamy"; depends=[]; };
+  MGBT = derive2 { name="MGBT"; version="1.0.2"; sha256="0jgdy8zw5lx2f567n3livgmwhpfcd1s42mp1bj859jx3z5kiwkiy"; depends=[]; };
   MGDrivE = derive2 { name="MGDrivE"; version="1.1.0"; sha256="16nm47vazd06hvi4k3z86lxilgk8y4b3p44h6cm2b8az90irmj5f"; depends=[data_table R6 Rcpp Rdpack]; };
   MGL = derive2 { name="MGL"; version="1.1"; sha256="03q453swnangxyc4nvjhzw2zpcy5vp1wpilap5rwymnf0c0xi4j7"; depends=[]; };
   MGLM = derive2 { name="MGLM"; version="0.2.0"; sha256="0yyqm53lvp59zy8lkffw9x3zhqrnh29j5v3yyzk6qrgj2slnc7nk"; depends=[]; };
@@ -2317,6 +2356,8 @@ in with self; {
   MImix = derive2 { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
   MInt = derive2 { name="MInt"; version="1.0.1"; sha256="1nk02baainxk7z083yyajxrnadg2y1dnhr51fianibvph1pjjkl6"; depends=[glasso MASS testthat trust]; };
   MKLE = derive2 { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
+  MKdescr = derive2 { name="MKdescr"; version="0.5"; sha256="0dgdglr173pjlvbh9kd67pl890pnlzlcfm04ax4bdas6gp1cb6j6"; depends=[ggplot2 scales]; };
+  MKinfer = derive2 { name="MKinfer"; version="0.3"; sha256="0d2kp7q9nj7cg99178byanfsvzp6xajhh07wxy59d70anbh7a9hz"; depends=[arrangements boot MKdescr nlme]; };
   MKmisc = derive2 { name="MKmisc"; version="1.6"; sha256="0x518icdgq4mrc6qm1flb5lpr9y7j9znh0ah3gw2xsbjiplqd323"; depends=[ggplot2 limma RColorBrewer robustbase scales]; };
   ML_MSBD = derive2 { name="ML.MSBD"; version="1.2.0"; sha256="1dxvvyha984j3h170s2brhbf4lm53f16f12lhnqf3sl4sc0f4xv8"; depends=[ape foreach]; };
   MLCIRTwithin = derive2 { name="MLCIRTwithin"; version="2.1.1"; sha256="1x0xmka7kkbjnh3yv4zxxyl17cpmf0rb9hxmdl1srb6ijld4np1b"; depends=[limSolve MASS MultiLCIRT]; };
@@ -2326,30 +2367,31 @@ in with self; {
   MLEcens = derive2 { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
   MLGL = derive2 { name="MLGL"; version="0.5"; sha256="020z18x5hlc1v975a7wi6vlairl8w7prjsfsvdiydl6xh56pdrr9"; depends=[FactoMineR fastcluster gglasso MASS Matrix]; };
   MLID = derive2 { name="MLID"; version="1.0.1"; sha256="0ygahmcfbydzic5q3h1ppv5b2ks4lh8mcyfqq27ssmn4g1n6hdvp"; depends=[lme4 nlme]; };
-  MLML2R = derive2 { name="MLML2R"; version="0.3.2"; sha256="0ii1hzbv21x96jancz30rg0jd6kz9miq22j9xx1i9zrzxx1rlh0p"; depends=[]; };
+  MLML2R = derive2 { name="MLML2R"; version="0.3.3"; sha256="1jgk0h3chab831g5nsppgc6p0xplv11j82491iymnxixqfswb08w"; depends=[]; };
   MLPUGS = derive2 { name="MLPUGS"; version="0.2.0"; sha256="1yda37073g640g1qrkjrwa8hbyq6bjlcw3wpznx0bk5h0639bc0s"; depends=[]; };
   MLRShiny = derive2 { name="MLRShiny"; version="0.1.0"; sha256="06zcyz8l4754sjbcql3jd3nq1d2lgj92p5h2bh708z52mww71isw"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
   MLRShiny2 = derive2 { name="MLRShiny2"; version="0.1.0"; sha256="1ygamp0ldz1i0w2xyi205rpd1gd5asw61l36z06j41ghdyiz1lww"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
   MLZ = derive2 { name="MLZ"; version="0.1.3"; sha256="0yj9241k3yk8qy6w2q26gwbj9b9qynv3s3jpyfxixvkc9kji3wc2"; depends=[dplyr ggplot2 gplots RcppEigen reshape2 TMB]; };
+  MLeval = derive2 { name="MLeval"; version="0.2"; sha256="1dv795x8v78b6kpwdzmy0zlyrhwpf7gdwiss51d2kpp4h74ylsgr"; depends=[ggplot2]; };
   MLmetrics = derive2 { name="MLmetrics"; version="1.1.1"; sha256="061129b36h7xqw4zsznik694n8yy9qq6aaqfhdxkhdv8n5v1nzvp"; depends=[ROCR]; };
   MM = derive2 { name="MM"; version="1.6-5"; sha256="0vi6wp6p48jjfmnspdsnmw0yqz39sjk6nrkxdw7kan5h17h4rwd7"; depends=[abind emulator magic Oarray partitions]; };
   MM2S = derive2 { name="MM2S"; version="1.0.6"; sha256="1knr15vjc81cp7j67nc2gwkgds6ar3ribi1h0ihg0ch6rfz5c5zs"; depends=[GSVA kknn lattice pheatmap]; };
   MM2Sdata = derive2 { name="MM2Sdata"; version="1.0.3"; sha256="0hlm6jp8jq38vkszwdgpf30w11l1fhpblg26zv05j50a6whpmhqd"; depends=[Biobase]; };
-  MM4LMM = derive2 { name="MM4LMM"; version="1.1.5"; sha256="1mwb10vq5mnfdq47qxr58xq8iq4n343m4xb9jpzf3a65nnxsgl95"; depends=[Matrix Rcpp RcppEigen]; };
+  MM4LMM = derive2 { name="MM4LMM"; version="2.0.1"; sha256="1rmzzfzw1hpsmvgc9pcqqf9k8p4fvdh6pizy4sjvavphqvzjfnj6"; depends=[MASS Matrix Rcpp RcppEigen]; };
   MMAC = derive2 { name="MMAC"; version="0.1.2"; sha256="1xwz48iizf0lvmhc7krsraabc49ky85qvgr23w4ip6jzfv4sn1jr"; depends=[]; };
   MMDai = derive2 { name="MMDai"; version="1.4.0"; sha256="0bb7hg8fkmzg87xr1b2hxhy75xi461ks6w12z85k4c77kswfpx3b"; depends=[DirichletReg]; };
   MMDvariance = derive2 { name="MMDvariance"; version="0.0.9"; sha256="1yiqabifym7gdknqrhfnql6qc8p163npzrrckbyqjry3yvkqr5wi"; depends=[Biobase lawstat MASS]; };
   MMLR = derive2 { name="MMLR"; version="0.1.0"; sha256="0gir1adflxkmz3qfpy2xkx434phzszsylzw38vdgicmdic1m2ywq"; depends=[matlib]; };
   MMMS = derive2 { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[glmnet survival]; };
-  MMS = derive2 { name="MMS"; version="3.0.11"; sha256="0gc4iz371bi65sp49gvjh99f8jvii8l0k12kn1vbpzk4a3cw7iad"; depends=[glmnet Matrix mht]; };
   MMWRweek = derive2 { name="MMWRweek"; version="0.1.1"; sha256="16dwmpj13rzxmd2x7xaakw2zq2aly7ajjbfnc39qvdzk6n2x37wn"; depends=[]; };
   MMeM = derive2 { name="MMeM"; version="0.1.0"; sha256="1b0wdcyqnliw85il5vnwy9l4x1z42kirbg872hl47plwfrp9gahc"; depends=[jointDiag lme4 MASS Matrix matrixcalc psych stringr]; };
   MNLR = derive2 { name="MNLR"; version="0.1.0"; sha256="0q80232ndp7pkklzqdbga1vf51dmsxaivm4ia4wah32rc2c87fqp"; depends=[caret e1071 nnet rmarkdown shiny]; };
+  MNLpred = derive2 { name="MNLpred"; version="0.0.1"; sha256="1h8qnirhvlskhm7zg7h8jbx76r53gywpswxyj4w7gb04qhdkzmhl"; depends=[MASS tibble]; };
   MNM = derive2 { name="MNM"; version="1.0-3"; sha256="16b2yrm2kn943vzrr38qhk6qq20a842xv7iiln4is02csijxw2b3"; depends=[ellipse ICS ICSNP SpatialNP]; };
   MNP = derive2 { name="MNP"; version="3.1-0"; sha256="06qs2vsmjs6rcpqlwfc1n5y5hzxf7pngbdmiza1wijm9hh54ikh0"; depends=[MASS]; };
   MNS = derive2 { name="MNS"; version="1.0"; sha256="0if46a6rw0f2d72wnykkaa5z5b1p2c0r43il6cbwbcnnb3zd8acb"; depends=[doParallel glmnet igraph MASS mvtnorm]; };
   MOCCA = derive2 { name="MOCCA"; version="1.3"; sha256="1ffpnqcrkrr7vh0f1fyyai0c2wq3v8sk2qhnhds49z7p6xrsmh21"; depends=[cclust class cluster clv]; };
-  MODIS = derive2 { name="MODIS"; version="1.1.5"; sha256="0g7z7x7vnjwcw3mp7sk9xxswkkyy9l8nppy7qaissizrvxv607vw"; depends=[bitops curl devtools mapdata mapedit maps maptools ptw raster rgdal rgeos sf sp]; };
+  MODIS = derive2 { name="MODIS"; version="1.1.6"; sha256="0nby3j356hglf2hdddqyq8vm99ynwk4wjmqrbjl5k9pr9yjkhda8"; depends=[bitops curl devtools mapdata mapedit maps maptools ptw raster rgdal rgeos sf sp]; };
   MODISSnow = derive2 { name="MODISSnow"; version="0.1.0.0"; sha256="1p0mil074gapw6v8paw9595rzp85hxrfsc65llh0ljalmacwgx04"; depends=[gdalUtils lubridate raster RCurl]; };
   MODISTools = derive2 { name="MODISTools"; version="1.1.0"; sha256="0242jxxdkwi39ra160p42psgcgf8alwaij004v29apy03g95rrvd"; depends=[httr jsonlite memoise sf]; };
   MODIStsp = derive2 { name="MODIStsp"; version="1.3.9"; sha256="0zjc8q3zi2i0i7l1bmw558sxdcsjba2lh31i428cy9pd886j5jn3"; depends=[bitops data_table gdalUtils gWidgets gWidgetsRGtk2 httr jsonlite pacman raster rgdal rgeos sp stringr xml2 xts]; };
@@ -2360,13 +2402,14 @@ in with self; {
   MOST = derive2 { name="MOST"; version="0.1.0"; sha256="0nmjx5hsn67hdglcqyanq3az76rs15knv8qy28f8paah5s9w24xf"; depends=[]; };
   MOTE = derive2 { name="MOTE"; version="1.0.2"; sha256="17y2l2rmw7fhvknyh5z09i7hd8nhamx12g00rcymp75gqkz9lzc7"; depends=[ez MBESS reshape]; };
   MOrder = derive2 { name="MOrder"; version="0.1"; sha256="1vhy20xyvfc18f04hvlb1jm2n0caaz8ysy13w2rra5i4kjdvz52i"; depends=[]; };
+  MPBoost = derive2 { name="MPBoost"; version="0.1-3"; sha256="0fmyy4s2h7hjca6nww0bgcax7309nkqp295mpp8hl8yllz7ylmsm"; depends=[BH Rcpp]; };
   MPCI = derive2 { name="MPCI"; version="1.0.7"; sha256="1l55q09lliv0y4q1hc0jgzls47wkmsfag6b4iq5y6wrllr5wq7sa"; depends=[]; };
   MPDiR = derive2 { name="MPDiR"; version="0.1-16"; sha256="10g4dnysjnzf106qibqqcrxz3xw2nfh4ck1n1dlciwahr0f80j13"; depends=[]; };
   MPINet = derive2 { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; };
   MPLikelihoodWB = derive2 { name="MPLikelihoodWB"; version="1.1"; sha256="0xgj349jkv29ldia4lmsiwnkhrk99aqcrvyiy3si5knmi1jvx9q0"; depends=[MASS survival]; };
   MPN = derive2 { name="MPN"; version="0.3.0"; sha256="0rrigkq5bkarncswv8kgvvwd1vrq5cqnb5vypa9d39q2ksqf8j3d"; depends=[]; };
   MPR_genotyping = derive2 { name="MPR.genotyping"; version="0.8"; sha256="0lsrbks7nhfnrmk8kclh09rc132j3divjxrzjfrg8zijbzkfx1pn"; depends=[qtl]; };
-  MPS = derive2 { name="MPS"; version="2.3.0"; sha256="0rr66f3ijzvqzj6b0hl7i065r5ndzcb2r5sjhx32rihgjdg60lr3"; depends=[]; };
+  MPS = derive2 { name="MPS"; version="2.3.1"; sha256="08yzynznf33y7y3pf7fayks5hi3cdvzwzn8axg7aky5kvi2bfv22"; depends=[]; };
   MPSEM = derive2 { name="MPSEM"; version="0.3-6"; sha256="0kw3aixhl5j8nq4lcx65l80v4lihvpa4qd12n2jrc96lnm6mw00b"; depends=[ape MASS]; };
   MPTinR = derive2 { name="MPTinR"; version="1.11.0"; sha256="1pflypcysc43yp4rh1lxnf7f0qklc6rl4y1mvj6ydwv5nlz52mbh"; depends=[Brobdingnag numDeriv Rcpp RcppEigen]; };
   MPTmultiverse = derive2 { name="MPTmultiverse"; version="0.3-3"; sha256="0wl5ww7ii8vbgg3680zh3y5pqz1ipfnhjka1lz62fmp3rs09zmfq"; depends=[coda dplyr ggplot2 limSolve magrittr MPTinR purrr readr reshape2 rlang runjags tibble tidyr TreeBUGS]; };
@@ -2380,16 +2423,16 @@ in with self; {
   MRH = derive2 { name="MRH"; version="2.2"; sha256="1icwlq8js58g9fkiq7fwjg8r97ca47xl3dscnhnga99gkgsfgjwl"; depends=[coda KMsurv survival]; };
   MRHawkes = derive2 { name="MRHawkes"; version="1.0"; sha256="0qhwm708jijv1w6iml18bg7fc2igdcmydwpb9dzpa4gwwads8b78"; depends=[IHSEP]; };
   MRMR = derive2 { name="MRMR"; version="0.1.4"; sha256="0dgbhlynaaka7mdzl6igwgcdzvy6cm2y8mbxaf9pfla8w3z8y0lq"; depends=[ggplot2 lmtest lubridate plyr reshape2]; };
-  MRPC = derive2 { name="MRPC"; version="2.1.0"; sha256="1gpsx1dpzr79zn994z5yp3ikymfvfa8zmwmayhf736f6jnsmwi45"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg Rgraphviz sna WGCNA]; };
+  MRPC = derive2 { name="MRPC"; version="2.2.0"; sha256="1ks23kf273khzidgxg6gzkynxlga8dybfcwfigli9wv0kcrzvdpx"; depends=[bnlearn compositions dynamicTreeCut fastcluster GGally graph gtools Hmisc mice network pcalg psych Rgraphviz sna WGCNA]; };
   MRQoL = derive2 { name="MRQoL"; version="1.0"; sha256="0isn4g3jpz7wm99ymrshl6zgkb7iancdzdxl2w98n8fbxsh5z6sw"; depends=[]; };
   MRS = derive2 { name="MRS"; version="1.2.4"; sha256="1sksg70zb72ys1b7vi8amjaqarmdh8vf2l1rb0rasrlvrip3z3br"; depends=[igraph Rcpp RcppArmadillo]; };
   MRTSampleSize = derive2 { name="MRTSampleSize"; version="0.1.0"; sha256="1f6ivr6cx4irqkry219x4nk6k5zhp3b19axy2xbfc3dx5zixhpjl"; depends=[]; };
   MRsurv = derive2 { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[mvtnorm survival]; };
   MRwarping = derive2 { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; };
-  MSCMT = derive2 { name="MSCMT"; version="1.3.3"; sha256="1962lc6p5cy8pkbshzbl3jnd2pqnk9afs4lmp4qb7fqkmb4xpka3"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
-  MSEtool = derive2 { name="MSEtool"; version="1.3.0"; sha256="0px8w9xp64i2xbb9h3vk2hd77qw7spcffix8nlbvh92bwlm5rckk"; depends=[abind coda corpcor DLMtool gplots MASS mvtnorm RcppEigen reshape2 rmarkdown snowfall TMB]; };
+  MSCMT = derive2 { name="MSCMT"; version="1.3.4"; sha256="1vh0i9nxqiy3qdnb7z7cn5kpp2jahdmaqpnv7q5650pkswhwmfpc"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
+  MSEtool = derive2 { name="MSEtool"; version="1.4.0"; sha256="172jsgkcp955pssgby6vvaqrlxp371b1i60fd6w2i901jkja3fdz"; depends=[abind coda corpcor DLMtool dplyr gplots MASS mvtnorm RcppEigen reshape2 rmarkdown snowfall TMB]; };
   MSG = derive2 { name="MSG"; version="0.4"; sha256="0fdxgqfc87iwqnnrgh7m8bfxh8lv42ffi0xxy4i1rv94aiw8gfr5"; depends=[RColorBrewer]; };
-  MSGARCH = derive2 { name="MSGARCH"; version="2.3"; sha256="0dax3cx0dzmg086vhymnm5x5s7ljdnxx1k52xnnvrm6pprhdgaqn"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
+  MSGARCH = derive2 { name="MSGARCH"; version="2.31"; sha256="15df35l5nr6cl3q7xprl6ifswh7mg1fvix1x9374qgyafwr40sq4"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
   MSGLasso = derive2 { name="MSGLasso"; version="2.1"; sha256="1k17vnvzr647pwfbdxrpqcsp34iygq86wf0ns4rq8cj6q5mik1bv"; depends=[]; };
   MSIseq = derive2 { name="MSIseq"; version="1.0.0"; sha256="1v2why1k6pjsc04044nr74571p7541nciq7xkzmya3jq6dw878j3"; depends=[IRanges R_utils rJava RWeka]; };
   MSMwRA = derive2 { name="MSMwRA"; version="1.3"; sha256="0b0fqfv6iick1brqik4rqz2936nfa51i6xlfavs65r9692wks73q"; depends=[]; };
@@ -2399,12 +2442,14 @@ in with self; {
   MSbox = derive2 { name="MSbox"; version="1.2.1"; sha256="0lmvpzsw13w18mzi5z85yzify3xsh5sx356ndggfzyl5d5wk7s8g"; depends=[stringr xml2]; };
   MScombine = derive2 { name="MScombine"; version="1.4"; sha256="0s3gbf3s5mf00d5mkbqhd9wwnyps7qb4r3zbal8j8nsaspql9nd3"; depends=[plyr]; };
   MSwM = derive2 { name="MSwM"; version="1.4"; sha256="1zhfar02s7hm4gjs1flkh9a4526d98hik8bqrksy75758baiqg7l"; depends=[nlme]; };
-  MTA = derive2 { name="MTA"; version="0.1.2"; sha256="1149xjq6ybjv6llzlq67j5xc6dspb4mvd72n62nlbq3zz80x7f84"; depends=[igraph rgeos sp]; };
+  MTA = derive2 { name="MTA"; version="0.2.0"; sha256="1wic2rw63h2daha23fpyw80x7ywjwqq6rj5jg73iankvdg32mlvm"; depends=[cartography igraph sf sp]; };
   MTDrh = derive2 { name="MTDrh"; version="0.1.0"; sha256="0ass3b90nr4i0y7v30hk8xhq3hj9bxaxcsr4f8wfi0lnvzfv6aaa"; depends=[]; };
   MTE = derive2 { name="MTE"; version="1.0.0"; sha256="009mrl9dgxafl4hrgfzvsfvgx3dljb0rbbs74j2cxc5ray87kp55"; depends=[parcor quantreg]; };
+  MTGS = derive2 { name="MTGS"; version="0.1.0"; sha256="0ijcw730xap5c38k8z4d976azwcnygxaiv2ksrad8j8nnvnh5zbd"; depends=[glmnet kernlab MRCE]; };
   MTLR = derive2 { name="MTLR"; version="0.2.1"; sha256="070121qn7vmxmxgvzv7ymhk19j9kxks4xa7qpd8vkc2rp3ara4cp"; depends=[Rcpp RcppArmadillo survival]; };
   MTS = derive2 { name="MTS"; version="1.0"; sha256="09pypanjmqrvxbrrckydxyyswsgjx4nhb052x4llk7va9w4lbcjs"; depends=[fBasics fGarch mvtnorm Rcpp]; };
   MTSYS = derive2 { name="MTSYS"; version="1.2.0"; sha256="04dkan3hxl3difflskp7d1lw1bvxhg4s28ssy2v4m7z7wbpj3v1m"; depends=[]; };
+  MUACz = derive2 { name="MUACz"; version="1.0.0"; sha256="0sh5h2qn769bpp8l09mvh1cabr2j1vywaqbj6fci84h8zx5y55fj"; depends=[dplyr epiDisplay ggplot2]; };
   MUCflights = derive2 { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[geosphere NightDay RSQLite sp XML]; };
   MUS = derive2 { name="MUS"; version="0.1.6"; sha256="0xid624rz0mvd03iy7ydvmx7gkscvsg4kdbaf2nji54ahai3pmn3"; depends=[]; };
   MVA = derive2 { name="MVA"; version="1.0-6"; sha256="09j9frr6jshs6mapqk28bd5jkxnr1ghmmbv6f4zz0lrg81zjizl3"; depends=[HSAUR2]; };
@@ -2421,10 +2466,10 @@ in with self; {
   MWLasso = derive2 { name="MWLasso"; version="1.3.1"; sha256="11lyk46lmjcd60q0mixi41b8ybjgyp1xi18g3ag4450xyhw3r17s"; depends=[]; };
   MWRidge = derive2 { name="MWRidge"; version="1.0.0"; sha256="17kvs9npr1ff24z3pv9x2qnfwyy6w3hc7hm60ynzbjlk2rr11xr9"; depends=[glmnet]; };
   MWright = derive2 { name="MWright"; version="0.3.2"; sha256="1c57f0wnlhl4gqy17vi93r4fknycvv67b9bifgcvabws390jpx7q"; depends=[cubature]; };
-  MXM = derive2 { name="MXM"; version="1.4.4"; sha256="1dmq8ws1dqd294lrhd60dh1avkj58n9dha5ag4igwgjw31mphsr9"; depends=[bigmemory coxme doParallel dplyr energy foreach geepack knitr lme4 MASS nnet ordinal quantreg relations Rfast Rfast2 survival visNetwork]; };
+  MaOEA = derive2 { name="MaOEA"; version="0.5.2"; sha256="1yaa8wr1gr1npqpls5g6mlr9dgjwiyvhk6p1dmjw29f7a4g2cam5"; depends=[e1071 gtools lhs MASS nnet nsga2R randtoolbox reticulate stringr]; };
   MaXact = derive2 { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
   MachineLearning = derive2 { name="MachineLearning"; version="0.1.3"; sha256="0yvrsqzvx8ss614ixa9mwkg2ig3hmfixm78fi8c3wmpc2frvsqrk"; depends=[arules crayon dplyr formula_tools FSelectorRcpp ggplot2 magrittr NbClust rpart rpart_plot]; };
-  MachineShop = derive2 { name="MachineShop"; version="1.5.0"; sha256="1injyl578zd5qs13h8bwzavb4gzam896d7g9304ck6rh2lbci4hj"; depends=[abind foreach ggplot2 kernlab magrittr party polspline recipes rlang rsample Rsolnp survival tibble]; };
+  MachineShop = derive2 { name="MachineShop"; version="1.6.0"; sha256="1kdqicj6f5ivg01qp69wm1liwl6x2dqvm9va728w524h4m0361wj"; depends=[abind foreach ggplot2 kernlab magrittr party polspline recipes rlang rsample Rsolnp survival tibble]; };
   Maeswrap = derive2 { name="Maeswrap"; version="1.7"; sha256="0cnnr5zq7ax1j7dx7ira7iccqppc6qpdjghjarvdb2zj0lf69yyb"; depends=[geometry lattice rgl stringr]; };
   MakefileR = derive2 { name="MakefileR"; version="1.0"; sha256="1pfjic2lsar8ghbb6byr4rqrs30qrgfih092z4rxdpsiwkk3y7l1"; depends=[magrittr]; };
   Mangrove = derive2 { name="Mangrove"; version="1.21"; sha256="1qf3fjzf0sb6fqbfdbxwbw6wah3gg2qran4mgg13hcmk4n3j0hxp"; depends=[]; };
@@ -2444,12 +2489,13 @@ in with self; {
   MasterBayes = derive2 { name="MasterBayes"; version="2.55"; sha256="14532l41x5k3z2qg0vklafqyzmn45qny9hlrrgriykajv3xjf2lz"; depends=[coda genetics gtools kinship2]; };
   MatManlyMix = derive2 { name="MatManlyMix"; version="1.1.1"; sha256="1d2vd5b9lirdybjclxh0nn4mghq64qjj4l8vnj95cni5pfa18a2c"; depends=[]; };
   MatSkew = derive2 { name="MatSkew"; version="0.1.5"; sha256="019v2b1r0bvw84xs50smjb3jdz7gd2adz5d84xd8zq43lnml96d1"; depends=[]; };
-  MatTransMix = derive2 { name="MatTransMix"; version="0.1.5"; sha256="0c4kmlzrscrlbvbsqvkmfr9v95hy4hkwk52vnkanh3gqjmpy2rjk"; depends=[]; };
+  MatTransMix = derive2 { name="MatTransMix"; version="0.1.6"; sha256="07npn31abksi17s8g1cgxnciyw2nm1mzfmbys3kfkgb8nqq0d6g2"; depends=[]; };
   MatchIt = derive2 { name="MatchIt"; version="3.0.2"; sha256="1pp91pw2sy9hik4sgn4gcsp40hb01n9pfccrwdcffwji5fd1aavq"; depends=[MASS Matching]; };
   MatchIt_mice = derive2 { name="MatchIt.mice"; version="3.0.1"; sha256="04c078fz7s0wll4wizi0mj4s3gdx1kpr5g40gq7znn362z7q25ym"; depends=[MatchIt mice]; };
   MatchLinReg = derive2 { name="MatchLinReg"; version="0.7.0"; sha256="015s3xdaj56prq8lsdry3ibjkrb6gg0fwgzjh496gdx5axvpbk8g"; depends=[Hmisc Matching]; };
+  MatchThem = derive2 { name="MatchThem"; version="0.9.0"; sha256="166wvf43vyl2bn0qcqmlz4nk4hysafiid7imr7d699mrg2g2p7db"; depends=[dplyr MatchIt mice survey WeightIt]; };
   Matching = derive2 { name="Matching"; version="4.9-6"; sha256="1p36id8cds865b44jdbk6c3fnadvhh203qx6d3g54bi4s7bww3cf"; depends=[MASS]; };
-  Matrix = derive2 { name="Matrix"; version="1.2-17"; sha256="1k1zf92ycqr7fz44w7bp1p354ww7jg0wm23ybb8dzmbg37qfchyv"; depends=[lattice]; };
+  Matrix = derive2 { name="Matrix"; version="1.2-18"; sha256="06b1rc1vq65b271f2wpzhqkvhng8hwwnvjflzxkng50i52603zzp"; depends=[lattice]; };
   Matrix_utils = derive2 { name="Matrix.utils"; version="0.9.7"; sha256="1x64r4aj3gy1dzjjysyrk1j9jq3qsnyrqws8i6bs7q8pf6gvr7va"; depends=[grr Matrix]; };
   MatrixCorrelation = derive2 { name="MatrixCorrelation"; version="0.9.2"; sha256="0s4gxgl6fsy0fnjmsdz4k7p96vl6p00xl9w2fg7v0gikjpz6h5bg"; depends=[plotrix pracma progress Rcpp RcppArmadillo RSpectra]; };
   MatrixEQTL = derive2 { name="MatrixEQTL"; version="2.2"; sha256="1205jxx5aj783r2dmpawiq4rr30b60fq1qf053i7wylw07pz6vba"; depends=[]; };
@@ -2459,7 +2505,8 @@ in with self; {
   MaxPro = derive2 { name="MaxPro"; version="4.1-2"; sha256="19a2wp93kx1wkbzd5bvljbm1rr96gr14w4fb0ppbgr2y2a4g8i1v"; depends=[nloptr]; };
   MaxSkew = derive2 { name="MaxSkew"; version="1.1"; sha256="0x5x0jpvhp189jnmgh6d1h3ya0dicj5qfcrgr2fhp1v8jjhl125m"; depends=[]; };
   MaxentVariableSelection = derive2 { name="MaxentVariableSelection"; version="1.0-3"; sha256="1cmxfdkm5k85b4ivlfy5521hkfj0gq2pb1qlxxklh0fprw87kp9c"; depends=[ggplot2 raster]; };
-  MazamaCoreUtils = derive2 { name="MazamaCoreUtils"; version="0.3.5"; sha256="1692v59h953rgyp86ix24jspk7da671ynz6splw761ky8aqrfl89"; depends=[dplyr futile_logger lubridate magrittr purrr rlang stringr tibble]; };
+  MazamaCoreUtils = derive2 { name="MazamaCoreUtils"; version="0.4.0"; sha256="168qi75r75fjwbarz8kj50ba43as6b15iarhni61sc4zf92lh2da"; depends=[devtools dplyr futile_logger lubridate magrittr purrr rlang stringr tibble]; };
+  MazamaLocationUtils = derive2 { name="MazamaLocationUtils"; version="0.1.6"; sha256="187lrpc9z3k4jnd1nvqsb0qibz9xz9i1i61vssqm72h1hx1j9j6f"; depends=[digest dplyr geodist httr lubridate magrittr MazamaCoreUtils MazamaSpatialUtils readr revgeo rlang stringr]; };
   MazamaSpatialUtils = derive2 { name="MazamaSpatialUtils"; version="0.6.4"; sha256="0wb221h8lwdcx5h5hkvpz9rarizry22qzydibcc2gs6b0d5514ms"; depends=[countrycode dplyr geojsonio lubridate magrittr rgdal rgeos rlang rmapshaper rvest shiny sp stringr xml2]; };
   MazamaWebUtils = derive2 { name="MazamaWebUtils"; version="0.1.7"; sha256="16k6wxwjkdwzx1cqcxpxwaj7i63khly90gyiyfw13di43h8cvsd1"; depends=[dplyr futile_logger lubridate mime stringr webutils]; };
   McSpatial = derive2 { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; };
@@ -2491,7 +2538,7 @@ in with self; {
   MetaSKAT = derive2 { name="MetaSKAT"; version="0.71"; sha256="1bfy1zqblwz7a9fr9i6hs18x2n422x52b928v77r3924nasa67a8"; depends=[SKAT]; };
   MetaStan = derive2 { name="MetaStan"; version="0.1.0"; sha256="12r76wrspsz2c8pys0b0s117h514qch776969fbz94w6gjhv3km4"; depends=[BH Rcpp RcppEigen rstan rstantools StanHeaders]; };
   MetaSubtract = derive2 { name="MetaSubtract"; version="1.50"; sha256="1aggkvpyl2zpnmqzrr7k22wmb4dyagljcwrkm956nbyvlzx4sx2x"; depends=[]; };
-  MetaUtility = derive2 { name="MetaUtility"; version="1.2.0"; sha256="0sr24cls0li0351s9ly39x0xp310lbbabzwixhmnvavwmp0a66ls"; depends=[metafor stringr]; };
+  MetaUtility = derive2 { name="MetaUtility"; version="2.1.0"; sha256="1lbqqh56pwxlcksv0kf463hc20jb4rkjqkcqal000rzyzd4bi2zj"; depends=[dplyr metafor purrr stringr]; };
   MetaboList = derive2 { name="MetaboList"; version="2.0"; sha256="10skvf14ls4qll0l9p6cig4lmj7138khcksyjvd1pqym9axk3wxn"; depends=[dplyr enviPick ggplot2 scales]; };
   MetaboLouise = derive2 { name="MetaboLouise"; version="1.0.0"; sha256="1agcp520in0wpxv3x2jvvmv61hasazdymnvjhzl66nwv8lifl98z"; depends=[igraph]; };
   MetaboQC = derive2 { name="MetaboQC"; version="1.0"; sha256="1hm0ndwda1ciyyg8igkpaalvvdyd7aq5wnl9gzza8fr1l9fxp4a2"; depends=[plyr]; };
@@ -2506,7 +2553,7 @@ in with self; {
   Methplot = derive2 { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
   MethylCapSig = derive2 { name="MethylCapSig"; version="1.0.1"; sha256="16ch9aldr6a9jn42h387n7qvnzs0yx28f2yj6xq0kp476q7rf4ql"; depends=[geepack]; };
   Metrics = derive2 { name="Metrics"; version="0.1.4"; sha256="0fh8qbjlwzagh272lgwr4bxcqcjb1qpz53mgs8rzlvncax6nk5bk"; depends=[]; };
-  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.2.0"; sha256="19akjaw7fkg99hr6fdvwscp8yv1n72hf8v3rlywzrj3f00wnh74m"; depends=[]; };
+  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.4.0"; sha256="04j3cf6p9nzxcd6q5cd3asz13707rxyg5rd2qv76zsdgm10ys6mm"; depends=[]; };
   MfUSampler = derive2 { name="MfUSampler"; version="1.0.4"; sha256="0i5siq1jacxbfvakb97qnj3h7pk471rrx8ckwm0d8nl3j586s36y"; depends=[ars coda HI]; };
   MiDA = derive2 { name="MiDA"; version="0.1.2"; sha256="144gxsxqljzskxsw5k0y69ix0pxlfvyyznxkjpf2ng4l47pg11z5"; depends=[caret gbm genefilter limma preprocessCore pROC SQN]; };
   MiRAnorm = derive2 { name="MiRAnorm"; version="1.0.0"; sha256="154wv0j82xyc4y5cd2czh0q8kzhgrk6qsn0ahc1zn3fnrzc9fgz0"; depends=[ArgumentCheck cluster dendextend ggplot2 MASS npmv plyr reshape2]; };
@@ -2522,7 +2569,7 @@ in with self; {
   MinBAR = derive2 { name="MinBAR"; version="1.1.0"; sha256="03hzv6a56w0d6di3jp3w3fgckwxkqb1cy3xiwcvzyg5lzm4z9p2x"; depends=[dismo ecospat geosphere lattice latticeExtra maxnet raster rgdal sp]; };
   MindOnStats = derive2 { name="MindOnStats"; version="0.11"; sha256="13995v4n0hfb53w02jk81pl7nazkvqwwv87y1sr99jr9ppzc08mz"; depends=[]; };
   Miney = derive2 { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
-  Minirand = derive2 { name="Minirand"; version="0.1.0"; sha256="0iahhshqxpkxhpchb4hiv7d9rir2d3zxazs2nz7ymzdlhnn41xi1"; depends=[]; };
+  Minirand = derive2 { name="Minirand"; version="0.1.1"; sha256="15mp9vjb40a9v26lk82361bnmbf8pwgnr9pk4j49hhf6mhb01znr"; depends=[]; };
   MissMech = derive2 { name="MissMech"; version="1.0.2"; sha256="1b7i1balfl1cqr3l4l4wxlahk2gmawzv9rhyibwzf0yp60cb1sv9"; depends=[]; };
   MissingDataGUI = derive2 { name="MissingDataGUI"; version="0.2-5"; sha256="0drbm87ka17avg6fmswjilgnz9c3azwd0236s8yfms24k9k77vnd"; depends=[cairoDevice GGally ggplot2 gWidgetsRGtk2 reshape]; };
   MitISEM = derive2 { name="MitISEM"; version="1.2"; sha256="0dn398vrxh16gmy7ghh5000dgk7cbhb3gi3myrxp5dfri3ysjxcj"; depends=[mvtnorm]; };
@@ -2530,7 +2577,7 @@ in with self; {
   MixAll = derive2 { name="MixAll"; version="1.5.1"; sha256="1jsh29ygy1n7lbz93ks725li9hnvfa0kp1qik13m72nmgw7g7q5a"; depends=[Rcpp rtkore]; };
   MixGHD = derive2 { name="MixGHD"; version="2.3.3"; sha256="16x8pq077w8ikksypr9szy863pwcfzmfa9f13pssb61x7yyqfa2f"; depends=[Bessel cluster e1071 ghyp MASS mixture mvtnorm numDeriv]; };
   MixMAP = derive2 { name="MixMAP"; version="1.3.4"; sha256="0gxghym5ghbyxf589hda2fhv5l3x5jvm6i40x5xdwx4hadcn8k9a"; depends=[lme4]; };
-  MixMatrix = derive2 { name="MixMatrix"; version="0.2.2"; sha256="0gpqggw0fskd37lr0vjpf0y6gv711w6invfwj09rzggxlq6vx2fh"; depends=[CholWishart Rcpp RcppArmadillo]; };
+  MixMatrix = derive2 { name="MixMatrix"; version="0.2.4"; sha256="1bmd99p98brp8nzqhf442py2hmdj2vnzn15qwhrdskh6i0gzaqc4"; depends=[CholWishart Rcpp RcppArmadillo]; };
   MixRF = derive2 { name="MixRF"; version="1.0"; sha256="1av1wx7wmfc3z8a4bc6g3i3b807nc28n3s2rs3yh0rcwq1pfl0ir"; depends=[doParallel foreach lme4 randomForest]; };
   MixSAL = derive2 { name="MixSAL"; version="1.0"; sha256="15dymyzfs3bwskaf6xndj291g6nhw7k1q93y1cba55a6fdjh5qz9"; depends=[MASS]; };
   MixSIAR = derive2 { name="MixSIAR"; version="3.1.10"; sha256="0kc0apzl6aq9qjgrnnad78k71g91hzc1d7f3j0s1kpwzax2q6l2l"; depends=[bayesplot coda ggmcmc ggplot2 lattice loo MASS MCMCpack R2jags RColorBrewer reshape reshape2 rjags]; };
@@ -2546,6 +2593,7 @@ in with self; {
   MmgraphR = derive2 { name="MmgraphR"; version="0.3-1"; sha256="0nfv2cax2v2zhsbprwykngq5n6i5qcf8189rci9d48d5k9qm4a5r"; depends=[colorspace march msm TraMineR]; };
   MoEClust = derive2 { name="MoEClust"; version="1.2.3"; sha256="1bkknlp49bcx4s2lpdqwpqn5f5rr90lah0zkvmkih309rayirjr3"; depends=[lattice matrixStats mclust mvnfast nnet vcd]; };
   MoLE = derive2 { name="MoLE"; version="1.0.1"; sha256="0bq19vwqjn5hl4mw5imkydbp39gal992vnh2dwrq8bb8cmj3qh91"; depends=[]; };
+  MoTBFs = derive2 { name="MoTBFs"; version="1.1"; sha256="0cr36yqxbibfcz9swmh7znl1dq4zfighnh6r3fcbnd1kxf45d745"; depends=[bnlearn ggm lpSolve quadprog]; };
   MobileTrigger = derive2 { name="MobileTrigger"; version="0.0.31"; sha256="1zbnxdxh6gr4sgpi10i0pnd85f7i842105jgjswacziqamby6mcy"; depends=[caret ggplot2 kableExtra knitr mailR plyr XML yaml]; };
   ModStatR = derive2 { name="ModStatR"; version="1.3.0"; sha256="1wdqkvbycjk4wzzkpc0pyxvxrzqm48xbi8y87nax5l1v5qdfm1n0"; depends=[BioStatR boot ellipse ggplot2 gsl hypergeo jmuOutlier]; };
   Modalclust = derive2 { name="Modalclust"; version="0.7"; sha256="0ymzdxp6rh6baih1xm6kj8l8jxjclvnmq0gfp38cl8lpskspb26x"; depends=[class mvtnorm zoo]; };
@@ -2554,7 +2602,7 @@ in with self; {
   ModelMetrics = derive2 { name="ModelMetrics"; version="1.2.2"; sha256="158ddbw2snlyzd2q6mdaif5i67kq4qfvadylwjxgv1w2cmszrmk6"; depends=[data_table Rcpp]; };
   Modelcharts = derive2 { name="Modelcharts"; version="0.1.0"; sha256="1jy78kyyh4r13px2d5bm7fra5bkcpimzfji0hmydspkfi3qla37x"; depends=[dplyr plotly]; };
   Modeler = derive2 { name="Modeler"; version="3.4.5"; sha256="15gbg5568qj81wp6yy31amb2b7wl1wvlmgpmdp29lvz1p33jx2y1"; depends=[class ClassComparison ClassDiscovery e1071 neuralnet nnet oompaBase randomForest rpart TailRank]; };
-  MomTrunc = derive2 { name="MomTrunc"; version="4.51"; sha256="078b36rn154wm9yk2d1q30d265wzwdyl7hx3wljqizdyz5jmvlk5"; depends=[mvtnorm]; };
+  MomTrunc = derive2 { name="MomTrunc"; version="4.59"; sha256="1z4nd5c9443az69k55xb9r2v4slagl8dr60jq9frfi3v3ilmr7c6"; depends=[mvtnorm]; };
   Momocs = derive2 { name="Momocs"; version="1.2.9"; sha256="13pgn31hv529z33mi020w8wm8ya7hyi5yfsp45a78wdhinqas9mm"; depends=[ape dplyr geometry geomorph ggplot2 jpeg magrittr MASS progress RColorBrewer rgeos sp]; };
   Mondrian = derive2 { name="Mondrian"; version="1.0-0"; sha256="07r64q518diphai951pw4vfaw4sd6bqwhi6q5cp4pcl3aqjynkmj"; depends=[RColorBrewer]; };
   MonetDB_R = derive2 { name="MonetDB.R"; version="1.0.1"; sha256="1r7vki0rrzwcrfg4f2lfx30g614vf2xi62qb1rs21a9j5741lxlx"; depends=[codetools DBI digest]; };
@@ -2563,12 +2611,12 @@ in with self; {
   MonoPoly = derive2 { name="MonoPoly"; version="0.3-10"; sha256="0ls3sjfkinp9c5002ww0xm4l2galf20w2f45nm5irkk9sbqas0jq"; depends=[quadprog]; };
   Monte_Carlo_se = derive2 { name="Monte.Carlo.se"; version="0.1.0"; sha256="1d5gp4wvpvrlp82g8k8v668mzhmdlk2pvky34v7hxysap9xgmsqr"; depends=[]; };
   MonteCarlo = derive2 { name="MonteCarlo"; version="1.0.6"; sha256="1jwq3by8zfy6sbzahcj5l0vicqn7yyqpb7xhfsaymfspm7xyq6pj"; depends=[abind codetools reshape rlecuyer snow snowfall]; };
-  MoonFinder = derive2 { name="MoonFinder"; version="1.0.1"; sha256="0crfh0g95vmwllvgppl2mjfd5kdlb0g9rwrxw8izbl0h6bpgcjxj"; depends=[annotate clusterProfiler igraph org_Hs_eg_db pheatmap RColorBrewer]; };
+  MoonFinder = derive2 { name="MoonFinder"; version="1.0.3"; sha256="1lwjrzk68x1xxa10mk2zwaj6kwlryyad7wcd5vf85di5bbbvpm7n"; depends=[annotate clusterProfiler igraph org_Hs_eg_db pheatmap RColorBrewer]; };
   Morpho = derive2 { name="Morpho"; version="2.7"; sha256="0zgq79yfgkl6g404j9hpdaza5m5qkklh1xpf9xpmyf940pqdw21c"; depends=[colorRamps doParallel foreach MASS Matrix Rcpp RcppArmadillo rgl Rvcg]; };
   MorseGen = derive2 { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
   MortCast = derive2 { name="MortCast"; version="2.1-2"; sha256="0p5cjzrl3yhrbhjr31fm84rj7dl7n65qzccj447ky1lvb4c0v2x1"; depends=[wpp2017]; };
   MortalityGaps = derive2 { name="MortalityGaps"; version="1.0.0"; sha256="0nfm8xa7gnshrl8hsvmvr3za8nbppp7f7i5h4ni204w7xwvh8jxc"; depends=[crch forecast MASS pbapply]; };
-  MortalityLaws = derive2 { name="MortalityLaws"; version="1.8.0"; sha256="09k1mxins6ch11h412yw7ywyiyjrrbs17jbxmrg6m2vnasn07bss"; depends=[minpack_lm pbapply RCurl tidyr]; };
+  MortalityLaws = derive2 { name="MortalityLaws"; version="1.8.2"; sha256="0bdivv1qxk3ckpqa5n6fhwy8m0i24f8q84iaijv0k8xrq63056ls"; depends=[minpack_lm pbapply RCurl tidyr]; };
   MortalitySmooth = derive2 { name="MortalitySmooth"; version="2.3.4"; sha256="1clx8gb8jqvxcmfgv0b8jyvh39yrmcmwr472j9g3ymm95m4hr8fq"; depends=[lattice svcm]; };
   MortalityTables = derive2 { name="MortalityTables"; version="1.0"; sha256="07pbjgc4qvznw1rfvmz6ndg0gzj0k61iajwn51ijpb7hscwi8937"; depends=[ggplot2 scales]; };
   MotilityLab = derive2 { name="MotilityLab"; version="0.2-5"; sha256="080j548sp1c4yqqd7p7zgr70j1xyrw3fgjj1f521sgh84x5h2hbc"; depends=[ellipse]; };
@@ -2584,7 +2632,7 @@ in with self; {
   MullerPlot = derive2 { name="MullerPlot"; version="0.1.2"; sha256="0am5brdmbh2mw74fbw9nha6h4qlhj8psg3142mql1ad99bd0zg4w"; depends=[RColorBrewer]; };
   MultAlloc = derive2 { name="MultAlloc"; version="1.2"; sha256="0c3sqfaa08s8mk4yz77kh6q6v9ic5xp52g9prfw1k2kv4nw1k2qd"; depends=[Rglpk]; };
   MultEq = derive2 { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; };
-  MultNonParam = derive2 { name="MultNonParam"; version="1.2.8"; sha256="1svy06syp6qdsn55zc0wgm3rr5a7j4kkhxxsmnkzzrz3nvj9g6s4"; depends=[]; };
+  MultNonParam = derive2 { name="MultNonParam"; version="1.3.0"; sha256="13xkwyvqqjvs5nv383y3hy1w0mz2qmqwih5rh9dqs7r7afx7928n"; depends=[]; };
   MultiBD = derive2 { name="MultiBD"; version="0.2.0"; sha256="1qjfr8hx8sr5m8370yzi09r8jnh3i6907wzj3v4h83vmjh81db71"; depends=[BH Rcpp RcppParallel]; };
   MultiCNVDetect = derive2 { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
   MultiFit = derive2 { name="MultiFit"; version="1.0.0"; sha256="1i15m30bnydxyghp8jpfr6rs2gnilbw38d6ifs2jzdr83qbxyls3"; depends=[data_table Rcpp RcppArmadillo]; };
@@ -2611,7 +2659,7 @@ in with self; {
   Myrrix = derive2 { name="Myrrix"; version="1.2"; sha256="05x2h4ppjhfm0wlpwyp8ycjg59qj3gv0yqdilxrzb1lkrzln92xb"; depends=[Myrrixjars rJava]; };
   Myrrixjars = derive2 { name="Myrrixjars"; version="1.0-2"; sha256="1hhfg83z5kl6l250z3lippx3qc68k1wj1qlfzd6m66rgmk699gyl"; depends=[rJava]; };
   N2H4 = derive2 { name="N2H4"; version="0.5.4"; sha256="1sdxfi4618q9kz18ns1i1i2g5r0c4b6ydijaaxr21z206zi5i5wb"; depends=[dplyr httr jsonlite lubridate rvest tibble tidyr xml2]; };
-  NACHO = derive2 { name="NACHO"; version="0.5.6"; sha256="0l1irmmhpmmhgm18i1lp3cxmmn2vjxvv747lxvah4pnxla88wcb6"; depends=[dplyr ggbeeswarm ggplot2 ggpubr ggrepel gtools purrr scales shiny tibble tidyr]; };
+  NACHO = derive2 { name="NACHO"; version="0.6.1"; sha256="14aypwfgal975qy6i5ffjg9p154xaqaaznkdikj0iw5ah9w9n3fw"; depends=[dplyr ggbeeswarm ggplot2 ggpubr ggrepel gtools knitr magrittr rmarkdown scales sessioninfo shiny tibble tidyr]; };
   NADA = derive2 { name="NADA"; version="1.6-1"; sha256="1jjlm6rljk4nv6b7l2w3xnj31j61wq30sp5pnna8wav6gyjqjfmb"; depends=[survival]; };
   NAEPprimer = derive2 { name="NAEPprimer"; version="1.0.1"; sha256="19p1livdnayfcl88f8r9x1vg30x522q8lgx66pfgwpkxjzvrqa2l"; depends=[]; };
   NAM = derive2 { name="NAM"; version="1.7.3"; sha256="12d2yjl0af2ailvwk30fswalx1wzyj500qbrhiczsg1vr4rcqhkh"; depends=[Rcpp]; };
@@ -2624,7 +2672,9 @@ in with self; {
   NBLDA = derive2 { name="NBLDA"; version="0.99.0"; sha256="1fd6f43yhwvdb81r0b9hpmna5bphhqcgwiwjkpdyqz4h9cdmsj21"; depends=[ggplot2 sSeq]; };
   NBPSeq = derive2 { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[qvalue]; };
   NBShiny = derive2 { name="NBShiny"; version="0.1.0"; sha256="0hcmdhj26hc3c8d5nb6yb7amv0rbdxywima0l0jqkxipx56idlcx"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
-  NCA = derive2 { name="NCA"; version="3.0.1"; sha256="11ajnhx840z5122ir2ijxcwqyr535acq4dnp7mah4h1y45krfdms"; depends=[ggplot2 gplots KernSmooth lpSolve progress quantreg sfa]; };
+  NBShiny2 = derive2 { name="NBShiny2"; version="0.1.0"; sha256="0w4f19av8zl220zq3flmlqn86ivikclnsnkd7bc1wafhr12hmygp"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
+  NCA = derive2 { name="NCA"; version="3.0.2"; sha256="135zh39c19gwka7j4qsnvmr0zy3qld07cqg72mzghspi88v4fi8n"; depends=[doParallel foreach ggplot2 gplots iterators KernSmooth lpSolve quantreg sfa]; };
+  NCSCopula = derive2 { name="NCSCopula"; version="1.0.1"; sha256="0amxp9daqp9bhz61hrq1dk88ai5xfd5sp3538rf3xwgs6walycr4"; depends=[copula]; };
   NCSampling = derive2 { name="NCSampling"; version="1.0"; sha256="0bv93xffnzvbip86b3pg7apxzh3410mxff77q119m0z7f6vm3fam"; depends=[lattice randomForest yaImpute]; };
   NCmisc = derive2 { name="NCmisc"; version="1.1.6"; sha256="0ycc7b7z26a922hdjq8p4hjljjh09il24h3023k248pcsnbmka1a"; depends=[proftools]; };
   NCutYX = derive2 { name="NCutYX"; version="0.1.0"; sha256="0r2ghnvrbya3p1d8rb5bsnz5v852vvc6rq65yafn2xzr7886wrg2"; depends=[fields glmnet MASS mvtnorm Rcpp RcppEigen]; };
@@ -2632,12 +2682,14 @@ in with self; {
   NEArender = derive2 { name="NEArender"; version="1.5"; sha256="006128psqxbyw3z4wqflc4xsir3d641r4flwkxmv836lp7fc2d9a"; depends=[hexbin MASS RColorBrewer ROCR]; };
   NEff = derive2 { name="NEff"; version="1.1"; sha256="16ys1fi28kbzg3am9vz1c5pc9x0ac47pl6za04h63lspk99yplzk"; depends=[bit msm]; };
   NEpiC = derive2 { name="NEpiC"; version="1.0.1"; sha256="11zf112xcsg3k93vks2fnsflw2v2d56a0bsjpd460d21k3gipfz8"; depends=[igraph PairedData]; };
-  NFP = derive2 { name="NFP"; version="0.99.2"; sha256="1wnllzlww8257sbrgvfyvd21qvhf7j17mcpf6d4p6binaw8svnsb"; depends=[apcluster dplyr ggplot2 graph igraph KEGGgraph magrittr plyr stringr tidyr]; };
+  NFP = derive2 { name="NFP"; version="0.99.3"; sha256="18alq3nb47jyz0dh54y536a0igkfbh2x5nf2jxryfnizr47qc3a5"; depends=[apcluster dplyr ggplot2 graph igraph KEGGgraph magrittr plyr stringr tidyr]; };
   NFWdist = derive2 { name="NFWdist"; version="0.1.0"; sha256="0833lg0pd763awrc6ibidwf2ldl79w9lmm5acq4bnpd2hzsx60l8"; depends=[]; };
+  NGBVS = derive2 { name="NGBVS"; version="0.1.0"; sha256="0ap8hq3n8xxlvp20f90prksy6lfnrwqb3k32npnx3d78j1cd7qdq"; depends=[ghyp Rfast]; };
   NHANES = derive2 { name="NHANES"; version="2.1.0"; sha256="0aphv3rakfcfrv2km1xyxpj1bxiazy6gwrvs7lyhxmq468fk4c9a"; depends=[]; };
   NHEMOtree = derive2 { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[emoa partykit rpart sets]; };
   NHLData = derive2 { name="NHLData"; version="1.0.0"; sha256="0dfqalccbkmqrn3h1z6s78l818c8sqn7d6yc8mg872ygmszryci7"; depends=[]; };
-  NHMSAR = derive2 { name="NHMSAR"; version="1.12"; sha256="034cjzbwyf5jkj24wf9s6dij7g416psd2iz7fjrg34q9ax2kzyyl"; depends=[glasso lars ncvreg ucminf]; };
+  NHMM = derive2 { name="NHMM"; version="3.10"; sha256="058p0lyizqhdhapvjxk2c7n0bpid340hv1dn0cypy5w12y7zml4s"; depends=[BayesLogit MASS MCMCpack msm Rcpp]; };
+  NHMSAR = derive2 { name="NHMSAR"; version="1.15"; sha256="0fbv5jjrzir9i84pidigjhfnjyyzhnhi7j1mn7cx58wlh9qn9ark"; depends=[glasso lars ncvreg ucminf]; };
   NHPoisson = derive2 { name="NHPoisson"; version="3.2"; sha256="0k6m6ampp7g95d0jm5msvrgc12rqirpanb1ykbdf1ii027pqpwsn"; depends=[car]; };
   NHSRdatasets = derive2 { name="NHSRdatasets"; version="0.1.2"; sha256="0xiqbqq7xjyi1vxza853ylyiq4nqr6y10x8i13c2kj756biz4h1n"; depends=[]; };
   NIPTeR = derive2 { name="NIPTeR"; version="1.0.2"; sha256="0ll6amqyw33a93xiccihidrnbaqlx1q7kqcd4wks7cvqawd8pgv1"; depends=[Rsamtools S4Vectors sets]; };
@@ -2653,17 +2705,19 @@ in with self; {
   NMF = derive2 { name="NMF"; version="0.21.0"; sha256="1qq25n3k5sgh3srlshb3ic6q92s12c1ilqf5cd5anvq6cqfchc1v"; depends=[cluster colorspace digest doParallel foreach ggplot2 gridBase pkgmaker RColorBrewer registry reshape2 rngtools stringr]; };
   NMFN = derive2 { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
   NMI = derive2 { name="NMI"; version="2.0"; sha256="1rxphy9rhy9zhdiz48dvl9m26x6k681lnyn39lqxs0a6jhrxg7y3"; depends=[]; };
-  NMOF = derive2 { name="NMOF"; version="1.6-0"; sha256="0m97xi1bpq1gw18fn512blh0li6xv2yfipf2c3aj7bwaq91wv12l"; depends=[]; };
+  NMOF = derive2 { name="NMOF"; version="2.0-1"; sha256="1p3qkgw255wn1xzrjp9bgvblmkpi3ngrv57m88r54s5m90h72z26"; depends=[]; };
+  NMVANOVA = derive2 { name="NMVANOVA"; version="1.1.0"; sha256="1jlqyg5vn7j8srvifjghd5a7820kadl8kbwib4qxalrfprq81h8p"; depends=[]; };
   NNLM = derive2 { name="NNLM"; version="0.4.3"; sha256="0p7p26070w2j57z5i89pmpgd470yh2z0rrfzpalzdngc8mzp2rkj"; depends=[Rcpp RcppArmadillo RcppProgress]; };
   NNMIS = derive2 { name="NNMIS"; version="1.0.1"; sha256="1w2i4xlx249p589yqdgbx1ra406ycxw729vbk1lqadbn71m6blaz"; depends=[survival]; };
-  NNS = derive2 { name="NNS"; version="0.4.5"; sha256="03b9xf5glzalxqal4s955kpddvxbry46ihgp4aibmnr12g7ayp1c"; depends=[data_table doParallel rgl stringr]; };
+  NNS = derive2 { name="NNS"; version="0.4.7.1"; sha256="10hb06wdd8fn0rp32hagaqf19ig4fi16rd8l3h888vlzfwfrw83w"; depends=[data_table doParallel rgl stringr]; };
   NNTbiomarker = derive2 { name="NNTbiomarker"; version="0.29.11"; sha256="0sqlf7vzhpmq2g98c2qlrcqn3ba4ycfxbczgcjiqqhqsvgkpacc1"; depends=[magrittr mvbutils shiny stringr xtable]; };
   NORMA = derive2 { name="NORMA"; version="0.1"; sha256="193q6dwn8v7k8xq0amjpvb3v6mn7c6agqa487gvjj78dy1qz720a"; depends=[rootSolve]; };
   NORMT3 = derive2 { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
   NORRRM = derive2 { name="NORRRM"; version="1.0.0"; sha256="06bdd5m46c8bbgmr1xkqfw72mm38pafxsvwi9p8y7znzyd0i6ag3"; depends=[ggplot2 SDMTools]; };
   NORTARA = derive2 { name="NORTARA"; version="1.0.0"; sha256="1q4dmn5q939d920spmxxw08afacs3pzhr2gzwyqa5kn8xiz4ffg8"; depends=[corpcor Matrix]; };
+  NPBayesImputeCat = derive2 { name="NPBayesImputeCat"; version="0.2"; sha256="0fxcs2l6g1gkvydl04ippkq192jn0zl2c304ww4hczzpvn7l8lsp"; depends=[Rcpp]; };
   NPC = derive2 { name="NPC"; version="1.1.0"; sha256="06y6vdln5zyinq9bsp66yz6i1v5bkw9pa2hknl9brwc75z359apn"; depends=[coin dplyr matlab permute]; };
-  NPCD = derive2 { name="NPCD"; version="1.0-10"; sha256="1ag7j1r9j3piisg706hyhq8vaqfqvm1blxpkfxx7r1impjyqzyai"; depends=[BB R_methodsS3 R_oo]; };
+  NPCD = derive2 { name="NPCD"; version="1.0-11"; sha256="107i33z4q5w2828sm0pm8234kmp1v3a2w72lmhvi0rpnjhg0x120"; depends=[BB R_methodsS3]; };
   NPCirc = derive2 { name="NPCirc"; version="2.0.1"; sha256="1pyckjvf4vzns9hxnhnk7cm4abllmdj3f142pvjhnilyqwndqgyc"; depends=[circular misc3d movMF plotrix rgl shape]; };
   NPHMC = derive2 { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[smcure survival]; };
   NPHazardRate = derive2 { name="NPHazardRate"; version="0.1"; sha256="0na4iphva1dadz457ii8kxrhnki2asaxpbwr824rljyrldj9rcgg"; depends=[survival]; };
@@ -2677,9 +2731,9 @@ in with self; {
   NPsimex = derive2 { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
   NSM3 = derive2 { name="NSM3"; version="1.12"; sha256="0spkzx2zm8q85h7ij9r52bsqlwgw2fsc7zw3aaz8644q0xlnjnvj"; depends=[agricolae ash binom BSDA coin combinat epitools fANCOVA gtools Hmisc km_ci MASS metafor nortest np partitions quantreg Rfit SemiPar SuppDists survival waveslim]; };
   NSO1212 = derive2 { name="NSO1212"; version="1.0.0"; sha256="1yk07n9ksbazj27sax5jhs5f84zy80awrvkhziclsqm3h1g3h7w5"; depends=[httr jsonlite]; };
-  NST = derive2 { name="NST"; version="2.0.3"; sha256="1viks9lwsbd48w7fa8rscav3pchfcxrsc7h4jgz7114cq4334y9q"; depends=[ape permute vegan]; };
+  NST = derive2 { name="NST"; version="2.0.4"; sha256="0kwdfqr30av50k1s8sdf7714kzq9z1qrg85c3r7ljzrajj16vnl3"; depends=[ape permute vegan]; };
   NSUM = derive2 { name="NSUM"; version="1.0"; sha256="1as4g3v7qlk9wxlpwhg293980jq9gy6qay77bbcrjf481gvkkbp6"; depends=[MASS MCMCpack]; };
-  NScluster = derive2 { name="NScluster"; version="1.3.1"; sha256="0qiyw5zb0y45p9agagwz9b3c6njv5x2np0xbggqnkc62593xb9mr"; depends=[]; };
+  NScluster = derive2 { name="NScluster"; version="1.3.4"; sha256="1bkzmm573ic6xrsqbbln865rfw2xnmby632m3jcgamddxppx3fjf"; depends=[]; };
   NTS = derive2 { name="NTS"; version="1.0.1"; sha256="12kv49mkkqv4hqm784vgvhxbvs9jdsg4n54x0qdhfxv26n3a0fvm"; depends=[dlm MASS MSwM Rdpack tensor]; };
   NUCOMBog = derive2 { name="NUCOMBog"; version="1.0.4.2"; sha256="0s6gm3adc9qdh94pxzgccbxx1f1lbgqyvd4xk37xp6f3b5hwljdz"; depends=[snowfall]; };
   NameNeedle = derive2 { name="NameNeedle"; version="1.2.4"; sha256="1f8hmabwafjmgx2z381a3m84zfrd0s9x51haa4c1phq41yfq2lm5"; depends=[]; };
@@ -2694,7 +2748,7 @@ in with self; {
   NetComp = derive2 { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
   NetData = derive2 { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
   NetIndices = derive2 { name="NetIndices"; version="1.4.4"; sha256="0ydivbri8l8zkxi18ghj9h66915scyhca8i9mcyq4b06mjfigss8"; depends=[MASS]; };
-  NetLogoR = derive2 { name="NetLogoR"; version="0.3.5"; sha256="0nwzpn4qdw5idx9r69nh7bhn8hphjiysqyx721jl0qchp8ssbg51"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; };
+  NetLogoR = derive2 { name="NetLogoR"; version="0.3.6"; sha256="02i9jd6sksxkbnm3ldadp1xfmhkb27n5ahhgs70fg2g5nhc2jxs9"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; };
   NetMix = derive2 { name="NetMix"; version="0.1.4"; sha256="0sl5wrb86fvrjrq1qj3w2c7qg052y07wai53w0az2rfs1slf0af9"; depends=[clue gtools igraph lda Matrix Rcpp RSpectra]; };
   NetOrigin = derive2 { name="NetOrigin"; version="1.0-3"; sha256="162dhyx7z1nd3z14lfvm3dz0qwwvrc3n17zswbnwcfj6g1b1p2f1"; depends=[colorspace Hmisc igraph]; };
   NetPreProc = derive2 { name="NetPreProc"; version="1.1"; sha256="0r51dqymf2nqm86py4zwdlf7qf120j0bg9r6a9c0gsyyijh4z40p"; depends=[graph]; };
@@ -2704,14 +2758,14 @@ in with self; {
   NetWeaver = derive2 { name="NetWeaver"; version="0.0.6"; sha256="058fi3vbp11mbg69n4yp1zf48akfdl6s2p0qpa0v6ngmk2zjk0bq"; depends=[]; };
   NetworkChange = derive2 { name="NetworkChange"; version="0.5"; sha256="1n4nnnds8m0waa64b1k14ph1jdj26pd6fphsd53ad5lpyglpzq0y"; depends=[abind GGally ggplot2 ggrepel ggvis gridExtra igraph LaplacesDemon MASS MCMCpack mvtnorm network qgraph RColorBrewer reshape rlang Rmpfr sna tidyr]; };
   NetworkComparisonTest = derive2 { name="NetworkComparisonTest"; version="2.2.1"; sha256="0a4v69p1xykzb4s9sqj2bqm333a6sx2j8f8jdnp3l7dlkwg9clqp"; depends=[IsingFit IsingSampler Matrix qgraph reshape2]; };
-  NetworkDistance = derive2 { name="NetworkDistance"; version="0.3.1"; sha256="17x0is591580zqc2p5v8nwsd6n35mfwalyd15mlgirdcpz1s9wrs"; depends=[CovTools doParallel foreach igraph Matrix network pracma Rcpp RcppArmadillo Rdpack RSpectra]; };
-  NetworkExtinction = derive2 { name="NetworkExtinction"; version="0.1.0"; sha256="1scza639kf3zzz2yd9q31wsvxpvpq8hbx82a206jkxlxb4dq6vxr"; depends=[broom dplyr ggplot2 magrittr network scales sna tidyr]; };
+  NetworkDistance = derive2 { name="NetworkDistance"; version="0.3.2"; sha256="1sd5pnm95l0w3737gyrjxhxvnx4wgz72mw5d5q8vp3vygxagx86h"; depends=[doParallel foreach igraph Matrix network pracma Rcpp RcppArmadillo Rdpack RSpectra]; };
+  NetworkExtinction = derive2 { name="NetworkExtinction"; version="0.1.1"; sha256="1958kpdcqp4hhkqmfjg2qnrzhwcmfkbgdriq9iyqmmcr7qm8c1y7"; depends=[broom dplyr ggplot2 magrittr network scales sna tidyr]; };
   NetworkInference = derive2 { name="NetworkInference"; version="1.2.4"; sha256="1x63szbns8wf3k89ibk2p66prngw4fr2ckfn1568mnxdwnzvhrb4"; depends=[assertthat checkmate ggplot2 ggrepel Rcpp RcppProgress]; };
   NetworkRiskMeasures = derive2 { name="NetworkRiskMeasures"; version="0.1.2"; sha256="0c10nahybjd1n0yr78ynbsdnkfa0p7kz6dx3rbwxwsp3x4mrcd6y"; depends=[dplyr expm ggplot2 Matrix]; };
   NetworkSim = derive2 { name="NetworkSim"; version="0.1.0"; sha256="1gvhzlmq46p99wald4pjnv9wxxqdympjkh3bzi98qa7qi84lny7y"; depends=[igraph incgraph]; };
-  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.3.1"; sha256="0gpqknb8c816aw8w9bgn42zs805k2sa7qhpmizld6hvaq71g7847"; depends=[corrplot doParallel fdrtool fitdistrplus foreach igraph MASS Matrix ppcor psych pwr qgraph R_matlab wTO]; };
+  NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.3.2"; sha256="0dh9c2iwvg3mn6gfi3yihf2436bzl3vqhav22n2q6amq17b5p3va"; depends=[corrplot doParallel fdrtool fitdistrplus foreach igraph MASS Matrix ppcor psych pwr qgraph R_matlab wTO]; };
   NeuralNetTools = derive2 { name="NeuralNetTools"; version="1.5.2"; sha256="0d73rbp8v0k0j8dp4yigan7krhglx6qfbadvyg7nsj67xc00vbfd"; depends=[ggplot2 nnet reshape2 scales tidyr]; };
-  NeuralSens = derive2 { name="NeuralSens"; version="0.0.9"; sha256="12ka1lsfqs2mr35n41fv2rdzhnzvssa6hplzkxmxfh8mylp375j5"; depends=[caret fastDummies ggplot2 gridExtra Hmisc NeuralNetTools reshape2 stringr]; };
+  NeuralSens = derive2 { name="NeuralSens"; version="0.1.0"; sha256="1ay8jvdm2rc5z8y761mk1l5yszcxixiwin0dr91f9dzws3yjlkrg"; depends=[caret fastDummies ggforce ggplot2 gridExtra Hmisc NeuralNetTools reshape2 stringr]; };
   Newdistns = derive2 { name="Newdistns"; version="2.1"; sha256="1b5njkzj8b0wrvvfv904di0933k9d320gadmfm5zl6pzdp34bh1i"; depends=[AdequacyModel]; };
   NewmanOmics = derive2 { name="NewmanOmics"; version="1.0.4"; sha256="1ny1w4kwdgfzm4jsj6mf3k0c10bwzwz4gmpb5vg3qffddly9wfaz"; depends=[oompaBase]; };
   NightDay = derive2 { name="NightDay"; version="1.0.1.1"; sha256="1gwwxk428gkvci4dhfb3zikvidalpqkl0q2r6qpm58c12j14jk1h"; depends=[maps]; };
@@ -2725,7 +2779,7 @@ in with self; {
   NominalLogisticBiplot = derive2 { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[gmodels MASS mirt]; };
   NonCompart = derive2 { name="NonCompart"; version="0.4.5"; sha256="0z2iigr8nsyanx9lnf7hq5d5fbnm1kd3ir2scfhaqafxa8y8byq9"; depends=[]; };
   NonNorMvtDist = derive2 { name="NonNorMvtDist"; version="1.0.1"; sha256="135scrxwm52fg4drxfr8dgwp2jrgdgbi3fq13i4cka3i99bpx4lm"; depends=[cubature]; };
-  NonProbEst = derive2 { name="NonProbEst"; version="0.2.1"; sha256="1ypwx79zysyr2mz3sayprw33dhasc4k2d90i3v3aafdb2jhi6ygp"; depends=[caret e1071 sampling]; };
+  NonProbEst = derive2 { name="NonProbEst"; version="0.2.2"; sha256="0rkdl81l6rnxg36h0qqwwpvsqa9c64yc3gld3xynq4z0flvnqwkq"; depends=[caret e1071 sampling]; };
   NonpModelCheck = derive2 { name="NonpModelCheck"; version="3.0"; sha256="13qk2wbgpdf763q5xg29p2hxwqpml23pcgxrzmx12vnapnqfh71k"; depends=[dr]; };
   Nonpareil = derive2 { name="Nonpareil"; version="3.3.4"; sha256="1hhshcggfv92ll5zqh8hd3pldp07n0684yh1252z2jv2vbl87v3z"; depends=[]; };
   NormExpression = derive2 { name="NormExpression"; version="0.1.0"; sha256="1j4q8mb70ig40acfd9kfy12vxdvq3qpf53rxh47kkw8mywnd0449"; depends=[]; };
@@ -2736,19 +2790,19 @@ in with self; {
   NormalizeMets = derive2 { name="NormalizeMets"; version="0.25"; sha256="0hnyr2aklibbvs6b6q4l0zbb9g8qmp2ds4lqic8a9alqn66sfnf2"; depends=[AUC crmn e1071 GGally ggplot2 htmlwidgets impute knitr limma plotly rmarkdown]; };
   NostalgiR = derive2 { name="NostalgiR"; version="1.0.2"; sha256="0rpvwi815sdhaxqpji1y6g0vy8mkn5k6wci0a4jf54pkywwkwrwp"; depends=[txtplot]; };
   Nozzle_R1 = derive2 { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
-  Numero = derive2 { name="Numero"; version="1.3.1"; sha256="058mxg2azfb14anyw576j7fyscxd1kk26jsc9rn9i7hh9gmnrjv6"; depends=[Rcpp]; };
+  Numero = derive2 { name="Numero"; version="1.3.3"; sha256="0n4mi354g1a7v5lczc1ax9yykv2h3dg6kcy2f67wzzwvgbjgz691"; depends=[Rcpp]; };
   NutrienTrackeR = derive2 { name="NutrienTrackeR"; version="0.99.2"; sha256="1vzha3ywjbd877fqy3r2xkgi8m44s3ss65bij0vcc4mx8lajhgb5"; depends=[ggplot2]; };
   OAIHarvester = derive2 { name="OAIHarvester"; version="0.3-0"; sha256="1c57jxb9n397wdkrirbfh70sxllrg9zsy0np698z7kcx83rz5lqr"; depends=[curl xml2]; };
   OBMbpkg = derive2 { name="OBMbpkg"; version="1.0.0"; sha256="01wch8wwij3fd0jambk0hpkhlnp4ryrq8qnnr2w1iad9zssjyii5"; depends=[]; };
   OBRE = derive2 { name="OBRE"; version="0.1-0"; sha256="1sxfb8mn0ky8x177l3v6wwcr96h5hfwd718h1akwrpir7acldchl"; depends=[pracma]; };
-  OBsMD = derive2 { name="OBsMD"; version="5.0"; sha256="1fwp5dv6yh5pkkjn1gns97mbifzjp4cm8wnfmdc1rifr6jijr624"; depends=[]; };
+  OBsMD = derive2 { name="OBsMD"; version="5.3"; sha256="10acj6d0nvf1zyirp001c2fhsg2gq33zywnp8w70gm1dk7pgzfzr"; depends=[]; };
   OCA = derive2 { name="OCA"; version="0.1"; sha256="0kaf46gic8gp8f98y68kqvgm1baicwgvarfiwry1j0bd2rjad64d"; depends=[]; };
   ODB = derive2 { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; };
   ODEnetwork = derive2 { name="ODEnetwork"; version="1.3.1"; sha256="0j6kw32hq9gfiwmyh4zxx7ibfxplhass7q309y8r656lkhvr9nin"; depends=[checkmate deSolve]; };
   ODEsensitivity = derive2 { name="ODEsensitivity"; version="1.1.2"; sha256="0yddv5h3y0xfviqjgrbixawd00jc1rh9ngckfqka5j855vhchh66"; depends=[checkmate deSolve ODEnetwork sensitivity]; };
   ODS = derive2 { name="ODS"; version="0.2.0"; sha256="0i7giibass7hadvv6mb7k9xrykgfss57jmm6gpbym8qcywhzq4ny"; depends=[cubature survival]; };
   OData = derive2 { name="OData"; version="0.6"; sha256="10r4kfhdabramjmkgc4fl0bljaiqbvc7rq4byas7q8cmji2czw6f"; depends=[RJSONIO XML]; };
-  OECD = derive2 { name="OECD"; version="0.2.3.999"; sha256="02bldn2c5cnjx171ckqrrb06v50m7zps20sb6k1crmx550vmgajc"; depends=[httr rsdmx xml2]; };
+  OECD = derive2 { name="OECD"; version="0.2.4"; sha256="1cxjd5h10ynjzblk5d5crdknk19pn8ik37d8hffvz5iydp7ammqn"; depends=[httr rsdmx xml2]; };
   OGI = derive2 { name="OGI"; version="1.0.0"; sha256="0qw55jamkvdf3vfa5c0ygbymbs4d9q15dihiqz691hdfnyjvc2mk"; depends=[lpSolve]; };
   OHPL = derive2 { name="OHPL"; version="1.4"; sha256="0svim112khdymdj1bsj8vri6r0zph5312y148mlh5h98rah40i08"; depends=[glmnet mvtnorm pls]; };
   OIdata = derive2 { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[maps RCurl]; };
@@ -2767,6 +2821,7 @@ in with self; {
   OSCV = derive2 { name="OSCV"; version="1.0"; sha256="17wrfak6b6m2l3iqbhdwcfh0rlqb14rkvrbari7v46gya9v7hq20"; depends=[mc2d]; };
   OSDR = derive2 { name="OSDR"; version="1.1.3"; sha256="059sj003zsrabmjfhwvvpi599ssrckcqpiw2b3vz405ljnhjmlap"; depends=[]; };
   OSMscale = derive2 { name="OSMscale"; version="0.5.1"; sha256="0rjhyhh1iafgd9h1pbd2clyg2sh0gg7y1aqmiislqyn6h6jrvgqn"; depends=[berryFunctions OpenStreetMap sp]; };
+  OSNMTF = derive2 { name="OSNMTF"; version="0.1.0"; sha256="0g83wqh97iz3g4ganj2dy3biyn8cmb0v8zz6rydald1hfszj8aa2"; depends=[dplyr MASS]; };
   OSTSC = derive2 { name="OSTSC"; version="0.0.1"; sha256="0p92w25xvajsn44rd5hg1m7l9l4m0rpmw175nnqr438432hqh7cc"; depends=[doParallel doSNOW fields foreach MASS]; };
   OTE = derive2 { name="OTE"; version="1.0"; sha256="18w483syhs523yfib9sibzmj16bypqxk4sc4771kfr1958h3igai"; depends=[randomForest]; };
   OTRselect = derive2 { name="OTRselect"; version="1.0"; sha256="1bh14228yz552ngywjf1qyh1isqj4cgiy7n7d4zg8dpqwxr04ykp"; depends=[lars survival]; };
@@ -2786,7 +2841,7 @@ in with self; {
   Omisc = derive2 { name="Omisc"; version="0.1.2"; sha256="0ww83srfc7vr1gw2aaa5bahs6lvm11j4057hn06pclz1wb6fnbyw"; depends=[copula MASS psych]; };
   OmnibusFisher = derive2 { name="OmnibusFisher"; version="1.0"; sha256="0x3q04g45nixgsrl4biqqi6bk4kx79spq5whm3n4ppr0nkv8dw4h"; depends=[CompQuadForm stringr survey]; };
   OnAge = derive2 { name="OnAge"; version="1.0.1"; sha256="1zby5sf92c185b5m19jv4ndgbv6mz107nc47zn1d6bijrypzpc20"; depends=[]; };
-  OncoBayes2 = derive2 { name="OncoBayes2"; version="0.4-4"; sha256="1mvx0c8a5nh9dz77xiyy6qpi66jr82axn5yckp61qmc6b3k702hd"; depends=[abind assertthat bayesplot BH checkmate dplyr Formula ggplot2 RBesT Rcpp RcppEigen rstan rstantools StanHeaders tibble tidyr]; };
+  OncoBayes2 = derive2 { name="OncoBayes2"; version="0.5-4"; sha256="0y6kqqv93bh1skr8cm95saycs2k9jxq8nhkf8cc29p3nak205f7c"; depends=[abind assertthat bayesplot BH checkmate dplyr Formula ggplot2 RBesT Rcpp RcppEigen rstan rstantools StanHeaders tibble tidyr]; };
   Oncotree = derive2 { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; };
   OneArmPhaseTwoStudy = derive2 { name="OneArmPhaseTwoStudy"; version="1.0.3"; sha256="0q8g33s1jq0ipvwq83xhrly8idsh68licgyivxc628zbm1id5p38"; depends=[Rcpp]; };
   OneR = derive2 { name="OneR"; version="2.2"; sha256="1k7rzhcwq5b2yi4zfsc1r0yb6w65gxj9835d2a1dclallja3zav2"; depends=[]; };
@@ -2794,10 +2849,10 @@ in with self; {
   OpVaR = derive2 { name="OpVaR"; version="1.0.5"; sha256="14kq95i8n0g1wy3s32llw3803qzkxlyz9307clc1bwzi0wp22x5f"; depends=[actuar evmix goftest MASS pracma ReIns tea truncnorm vcd VineCopula]; };
   OpasnetUtils = derive2 { name="OpasnetUtils"; version="1.3"; sha256="0mmn4dpk1wl8slg55xzhpk7jdwhkrka53rwmrsr73sikkh3mcyfn"; depends=[digest ggplot2 httpRequest igraph plyr RCurl reshape2 rgdal rjson sp triangle xtable]; };
   OpenCL = derive2 { name="OpenCL"; version="0.1-3.1"; sha256="0vxfsvin35idgvmc22178bq0r5193pdzba3wwv9djz52fzbj7zys"; depends=[]; };
-  OpenImageR = derive2 { name="OpenImageR"; version="1.1.5"; sha256="13bkjwhxvnx7maj009bcpfx85cr08nnghlil75xbyv44ry0gr1ka"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
+  OpenImageR = derive2 { name="OpenImageR"; version="1.1.6"; sha256="1yl7xvb86vxyf8d5g58hhmrva0gyg8iabb9npsdlnl8j0bg5gfiw"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
   OpenML = derive2 { name="OpenML"; version="1.10"; sha256="132swv22ymm0wxq8y65y2niq8chmga1mnl1lgn6m3cgljvwad47r"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise stringi XML]; };
   OpenMPController = derive2 { name="OpenMPController"; version="0.2-5"; sha256="00hs8v47pr2d726z8izkfrgmayw147hdm16rr9rw1zs3ad216zjj"; depends=[]; };
-  OpenMx = derive2 { name="OpenMx"; version="2.14.11"; sha256="14p98mhn7516sxn52kwsjkx84lycx9vw2wy388aivbmpqcbav68z"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
+  OpenMx = derive2 { name="OpenMx"; version="2.15.4"; sha256="012iclwgh9amhhbxg90ghfjv5iwv8w25brwwp3gbas5qlwygk61a"; depends=[BH digest MASS Matrix Rcpp RcppEigen rpf StanHeaders]; };
   OpenRepGrid = derive2 { name="OpenRepGrid"; version="0.1.12"; sha256="02p9b2y99z9yrrm2pl86p0yqwah0yjic2wdcd4k0mhccimmmkaip"; depends=[abind colorspace GPArotation openxlsx plyr psych pvclust rgl stringr XML]; };
   OpenStreetMap = derive2 { name="OpenStreetMap"; version="0.3.4"; sha256="0kyv14lxi86n6aba4jqmsfpmn075k0ki34q6gkkvhq8yv48wg831"; depends=[ggplot2 raster rgdal rJava sp]; };
   Opportunistic = derive2 { name="Opportunistic"; version="1.2"; sha256="0kaj11ziij1v65l972x4kbr7vzkx4dwa27ymabiip4dg57a976wr"; depends=[]; };
@@ -2810,7 +2865,7 @@ in with self; {
   OptimClassifier = derive2 { name="OptimClassifier"; version="0.1.4"; sha256="0f1szin0isji60gvb0zi240gri6fc4y1s71n96dn5wacdx5b8mhb"; depends=[clisymbols crayon dplyr e1071 ggplot2 lme4 lmtest MASS nnet nortest rpart]; };
   OptimaRegion = derive2 { name="OptimaRegion"; version="1.1"; sha256="1bikc12a5v3q7f26r14pdfmnxpyqzxa94a10mx5g954km3a329ly"; depends=[boot DepthProc fields geometry magrittr mclust nloptr Rdpack Rdsdp rsm spam stringr]; };
   OptimalCutpoints = derive2 { name="OptimalCutpoints"; version="1.1-4"; sha256="0n2vmzkc733yzs155zdj2n8ng74x9hy4m91fl7fac8d4gnrnc8yg"; depends=[]; };
-  OptimalDesign = derive2 { name="OptimalDesign"; version="0.2"; sha256="1gpcasdbcgqqr1l6f63q4jqva28rpz0cbgs1f4l3bizldd9kf4kh"; depends=[]; };
+  OptimalDesign = derive2 { name="OptimalDesign"; version="1.0.1"; sha256="02vxxb25q7fl73y7zq0a89ra0s88wji4mrql7p88014p073lj2as"; depends=[lpSolve Matrix matrixcalc matrixStats plyr quadprog rgl]; };
   OptimalTiming = derive2 { name="OptimalTiming"; version="0.1.0"; sha256="1mchb7wdk1v56la30ivi40aq6zma64lrdb94d64d0s7x67m8315w"; depends=[mstate survival]; };
   OptionPricing = derive2 { name="OptionPricing"; version="0.1"; sha256="0j98h3fn29xfv7xyp7av459v56chw99pnvmsbqvrv4g77p60f5q2"; depends=[]; };
   Orcs = derive2 { name="Orcs"; version="1.2.0"; sha256="0fwji4w2089zlcjbsbz9pmy54ryl4y10kxms836v1dxrjc5az3sp"; depends=[bookdown knitr lattice latticeExtra plotrix raster Rcpp remotes rgdal sf sp]; };
@@ -2822,7 +2877,6 @@ in with self; {
   OriGen = derive2 { name="OriGen"; version="1.4.3"; sha256="0a7mql87dqxrfx7phgy32hbanfwnjx8x52mj83xf2mgmqhrcikr6"; depends=[ggplot2 maps]; };
   OrthoPanels = derive2 { name="OrthoPanels"; version="1.1-3"; sha256="1bjwly22aawd2k4wqwjiaysivvwiv2zd9fyzcqsvldkq54zaszxn"; depends=[MASS]; };
   OscillatorGenerator = derive2 { name="OscillatorGenerator"; version="0.1.0"; sha256="0zqw8l955msxkdviw5vd493749zwc22qby9mfmyqnqqmq0pyjw4w"; depends=[]; };
-  OsteoBioR = derive2 { name="OsteoBioR"; version="0.1.1"; sha256="010l1xhsns1mmc6x6w1kpvzlxms5b92yg379ym2shldyy9dkaj3r"; depends=[BH ggplot2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   OutlierDC = derive2 { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[Formula quantreg survival]; };
   OutlierDM = derive2 { name="OutlierDM"; version="1.1.1"; sha256="0n8iq464ryc3v4wms7cdka39870w5pg29z9v8gmdsp4d9cfsx9v4"; depends=[MatrixModels outliers pcaPP quantreg]; };
   OutlierDetection = derive2 { name="OutlierDetection"; version="0.1.1"; sha256="0z4797j2gr37c1jnhivczff3y2dd2kilyncc087ihpwaa26wv0nl"; depends=[DDoutlier depth depthTools ggplot2 ldbod plotly spatstat]; };
@@ -2830,7 +2884,6 @@ in with self; {
   OutrankingTools = derive2 { name="OutrankingTools"; version="1.0"; sha256="0z7pslkkinn7flc4xwjg0bsfswf8ad4jv9rmglaj3fmjcx9b6wgj"; depends=[igraph]; };
   OwenQ = derive2 { name="OwenQ"; version="1.0.2"; sha256="00c8cv8bawmlswjhqrhb218vvl7k7ljw85iwbwwrhxf3hpm9mcz3"; depends=[BH Rcpp RcppEigen RcppNumerical]; };
   OxyBS = derive2 { name="OxyBS"; version="1.5"; sha256="11l3gm0jvw993jb13f6kpv77m6z0d1jswscma2v28qzkw053r3dc"; depends=[]; };
-  P2C2M = derive2 { name="P2C2M"; version="0.7.6"; sha256="07ycl22v03b2xdaw4v0l6layqhab431ma38qywzm96hkl3ywvl49"; depends=[ape ggplot2 rPython stringr]; };
   PAC = derive2 { name="PAC"; version="1.1.1"; sha256="07f83i43nxf1s2c26kkpcv4iyq517w20y1l7yg41wnmbfi9xlk7s"; depends=[dplyr ggplot2 ggrepel igraph infotheo parmigene Rcpp Rtsne]; };
   PACBO = derive2 { name="PACBO"; version="0.1.0"; sha256="1v3j5bgvf0wh8s4d2yyz0fkc3acdwjlicwnbh1r241b1742x79cb"; depends=[mnormt]; };
   PACLasso = derive2 { name="PACLasso"; version="1.0.0"; sha256="1qzzymhfsjy8mk0r0xpd5h4wrx4wk8gq3vi6fnawkq5xkrg26rld"; depends=[lars limSolve MASS penalized quadprog]; };
@@ -2848,7 +2901,7 @@ in with self; {
   PATHChange = derive2 { name="PATHChange"; version="1.0"; sha256="1pmxhaych01cywx9bb5z0p5lbxcma7x6nlprivpx3gnpg7m9srpg"; depends=[rlist stringr VennDiagram]; };
   PAWL = derive2 { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[foreach ggplot2 mvtnorm reshape]; };
   PAmeasures = derive2 { name="PAmeasures"; version="0.1.0"; sha256="0c2pkms06lijly9clxp6zkasqy4zjicdwnvbqwvhp45yavwmkkkj"; depends=[survival]; };
-  PAutilities = derive2 { name="PAutilities"; version="0.2.0"; sha256="06q77mr2g448n3avps9bsy16yacahqhxvrbp3yyv2qxqsnjxvf7m"; depends=[dplyr ggplot2 lazyeval lubridate magrittr matchingMarkets rlang]; };
+  PAutilities = derive2 { name="PAutilities"; version="0.3.0"; sha256="0lx9z92127sqwsgfs2bl8cacpgncs2ignr53l9pclyln9iwdfg5v"; depends=[clues dplyr equivalence ggplot2 lazyeval lubridate magrittr matchingMarkets reshape2 rlang]; };
   PBD = derive2 { name="PBD"; version="1.4"; sha256="1n8gq8ms6gszr469hblipbgalc5m7gfiknpsbqywxml62sr4wbsb"; depends=[ade4 ape DDD deSolve phytools]; };
   PBIBD = derive2 { name="PBIBD"; version="1.3"; sha256="0zh73bsiwmsqw1vhs2dazndsf0894kfv3vfv88wr4fnh7njysz6r"; depends=[]; };
   PBImisc = derive2 { name="PBImisc"; version="1.0"; sha256="18gjp66q6l0w6vsgm6d5sjgpa906z1gyyp6yf58lq5vyg1bnfmcl"; depends=[lme4 Matrix]; };
@@ -2869,9 +2922,10 @@ in with self; {
   PCICt = derive2 { name="PCICt"; version="0.5-4.1"; sha256="17ipmv6ps7c9dv4k9kxjjynnlgr63baz9z9ndwfg0lckc3vw81ya"; depends=[]; };
   PCIT = derive2 { name="PCIT"; version="1.5-3"; sha256="0gi28i2qd09pkaja4w7abcl7sz43jnk98897vc2905fnk9nks65j"; depends=[]; };
   PCMBase = derive2 { name="PCMBase"; version="1.2.10"; sha256="0q84dd9a59c8pzv4pabcxlxxn37pxm5ya5pa800d3m34fd02h8i3"; depends=[ape data_table expm ggplot2 mvtnorm xtable]; };
+  PCMBaseCpp = derive2 { name="PCMBaseCpp"; version="0.1.7"; sha256="0sri6aqbx1bx32342j20jchsp4v4r7hl6xwcxidxph3ivixzn7qj"; depends=[abind data_table PCMBase Rcpp RcppArmadillo]; };
   PCMRS = derive2 { name="PCMRS"; version="0.1-1"; sha256="10n4am4qm23aaghf8awv2llcq7392s62yr6mf5h8nf18hfz29wrn"; depends=[cubature ltm mvtnorm Rcpp RcppArmadillo statmod]; };
   PCPS = derive2 { name="PCPS"; version="1.0.6"; sha256="0mihkivlpycqbzc3z8clsmiqg3c6hqnapk29h794lf99had03hp8"; depends=[ape phylobase picante RcppArmadillo SYNCSA vegan]; };
-  PCRedux = derive2 { name="PCRedux"; version="0.2.6-4"; sha256="0nya5fx06mic7knfkzddny9lxqwk039kz0d3mf32rixwlbhrdlr5"; depends=[bcp caret changepoint chipPCR ecp fda_usc FFTrees magrittr MBmca pbapply plotly pracma qpcR randomForest robustbase testthat visdat zoo]; };
+  PCRedux = derive2 { name="PCRedux"; version="1.0-2"; sha256="08c8na83q0vynm3a1xz7r9ah7x33kwq4mjyfnqk46p6i3p1snqwm"; depends=[bcp changepoint chipPCR ecp fda_usc MBmca pbapply pracma qpcR robustbase shiny zoo]; };
   PCS = derive2 { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[multtest statmod]; };
   PCSinR = derive2 { name="PCSinR"; version="0.1.0"; sha256="1z8yjryw3c43vc6fxcwiindmyq6r63pc1zr3aybwmys6mv697bb4"; depends=[]; };
   PCovR = derive2 { name="PCovR"; version="2.7"; sha256="00920h0qlw81vwh46inmvm4mdv0dfd8xvqvrj7l038hhmjb7qsjz"; depends=[GPArotation MASS Matrix ThreeWay]; };
@@ -2914,11 +2968,11 @@ in with self; {
   PLordprob = derive2 { name="PLordprob"; version="1.1"; sha256="1g23h3121g9csr85falm6vgzbva42wz3skhfr2rxmvlc3ca4afyp"; depends=[mnormt]; };
   PMA = derive2 { name="PMA"; version="1.1"; sha256="0vlz89rhm5jxcpv18cpxa396qkqf0ywxhjh17ldbgrnqgsw76r7w"; depends=[impute]; };
   PMCMR = derive2 { name="PMCMR"; version="4.3"; sha256="09bvdj2h1086r2cgy3myrhlylplxxlliv8nwx09c8kb1vn02i2ij"; depends=[]; };
-  PMCMRplus = derive2 { name="PMCMRplus"; version="1.4.1"; sha256="076nzcnky3c3rp88b9vkqxsvws8jy81yb2aw8sa1ddz6b9hx0f4i"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
+  PMCMRplus = derive2 { name="PMCMRplus"; version="1.4.2"; sha256="0n71q8kcmk1ibqn0fq9p60xrxx1dg7hszn11i51cmsx9695wwk28"; depends=[BWStest gmp kSamples MASS multcompView mvtnorm Rmpfr SuppDists]; };
   PML = derive2 { name="PML"; version="1.1"; sha256="11fl7qm98n5wlfwczb6vzj9hswq7mqmb09nh9wl7986jp2wbrjlw"; depends=[dplyr rbokeh tibble tidyr trelliscopejs]; };
   PMmisc = derive2 { name="PMmisc"; version="0.1.2"; sha256="03bavk7ylmrrcc49zy9fb2q08w6138b3srxa4x038syr115k3l6k"; depends=[ggplot2 robust]; };
   PMwR = derive2 { name="PMwR"; version="0.12-0"; sha256="1w3zz3sh06vbyzngcpm52izi2ymnfy897q2zz7vrb6r8xxcbrlwi"; depends=[datetimeutils fastmatch NMOF orgutils textutils zoo]; };
-  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.4.3"; sha256="1mckjb6q7ffvzsifjwc411p9r1vykvczk6v7lcsmpzliifgc0ys4"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
+  PNADcIBGE = derive2 { name="PNADcIBGE"; version="0.5.0"; sha256="1b9p7r588klxmwcszffcmn37w5r29n4ab2f54xm23lnlpix80yg6"; depends=[dplyr magrittr RCurl readr readxl survey timeDate]; };
   POCRE = derive2 { name="POCRE"; version="0.5.0"; sha256="0aph1lmb0xkzm4l4ah2wrx13d138igf4k4w9wb9lca4vv6m7xzqf"; depends=[EbayesThresh ggplot2 pracma]; };
   POD = derive2 { name="POD"; version="1.1.4"; sha256="0ivq7jpnyb5zvvi2dx788cawrsh26hyp8j0a8mkfcsnhyhhs7hnb"; depends=[]; };
   POET = derive2 { name="POET"; version="2.0"; sha256="0w3jhj45sxisyrpcsazbrbcsz7rmraw71jjm0zixbcgc4klb98ar"; depends=[]; };
@@ -2938,7 +2992,6 @@ in with self; {
   PPtreeViz = derive2 { name="PPtreeViz"; version="2.0.3"; sha256="1x5rcls49jz19y3h98n2k4kypm8mv8p586clhdj62bvp2nl8wg3x"; depends=[ggplot2 gridExtra partykit Rcpp RcppArmadillo]; };
   PQLseq = derive2 { name="PQLseq"; version="1.1"; sha256="1h8baf0apxvimarr2qwlh6pdzv88ib1dzw927swsyimjg44wjbfc"; depends=[doParallel foreach Matrix Rcpp RcppArmadillo]; };
   PREPShiny = derive2 { name="PREPShiny"; version="0.1.0"; sha256="0zsg07y6nhp2lma3pdz8xd981y3mh8k21il5jv0inma1d1xr4g3f"; depends=[dplyr psycho rmarkdown shiny]; };
-  PRIMAL = derive2 { name="PRIMAL"; version="1.0.0"; sha256="1ivjgc6dczh6idhzjvxag0l8wpkxx9y52bcr6x21rk64kx57mj3h"; depends=[Matrix Rcpp RcppEigen]; };
   PRIMME = derive2 { name="PRIMME"; version="3.0-0"; sha256="1wvwdsaqg5rqx93svvhjvi64x6vxbr0a8za0a7cixy0vdg14vli4"; depends=[Matrix Rcpp]; };
   PRIMsrc = derive2 { name="PRIMsrc"; version="0.8.2"; sha256="04g1saf511xs26m1iv9xfsmfs15fdfaxh5qlbay2mcb198270pd8"; depends=[glmnet Hmisc quantreg superpc survival]; };
   PRISM_forecast = derive2 { name="PRISM.forecast"; version="0.1.6"; sha256="0w0fjbaafq90ac35h70z8g95q1i812v0ivkif4lx8l3q7rhjrvb5"; depends=[glmnet xts zoo]; };
@@ -2952,21 +3005,22 @@ in with self; {
   PROscorer = derive2 { name="PROscorer"; version="0.0.1"; sha256="0mgj0mi0vzdk0agimsx4k9i4bss0j5lqiayzhldr1hrqrx2a4f3d"; depends=[PROscorerTools]; };
   PROscorerTools = derive2 { name="PROscorerTools"; version="0.0.1"; sha256="1vliffkfqdn5l96bncfgayv19i20kmawlxi8q853wamj6npdpv5r"; depends=[]; };
   PRROC = derive2 { name="PRROC"; version="1.3.1"; sha256="1m28h8pcd78049lz2qixhkcr9h5b3jik3maqzfbvq9y58z71i4a7"; depends=[]; };
-  PRSim = derive2 { name="PRSim"; version="1.1"; sha256="0h4gncdnd48p7z1x3ja9gyi5mhmcbcr5fj8xqvlqfslvsdmsak1g"; depends=[goftest homtest]; };
-  PReMiuM = derive2 { name="PReMiuM"; version="3.2.2"; sha256="1mw5arjg9jyiyvrlcxm1sxdn989jkjfhldncdjyzkp4qhns6cjjs"; depends=[ald BH cluster data_table gamlss_dist ggplot2 plotrix Rcpp RcppEigen rgdal spdep]; };
+  PRSim = derive2 { name="PRSim"; version="1.2"; sha256="0fjcf1hbnwi4z7sk67chvvvkzf0n2scb7z0mxdnyhd0ggbn9p7a9"; depends=[goftest homtest wmtsa]; };
+  PReMiuM = derive2 { name="PReMiuM"; version="3.2.3"; sha256="1znr1swz73n1ws657dvv56y6crmqicfllbz460vaw8a0dnjiqsc9"; depends=[ald BH cluster data_table gamlss_dist ggplot2 plotrix Rcpp RcppEigen rgdal spdep]; };
   PResiduals = derive2 { name="PResiduals"; version="0.2-6"; sha256="11r0zn626s701hprjy634a7d3v3sq6lmlzpamv02609fg8wjhy9h"; depends=[Formula MASS rms SparseM]; };
   PSAgraphics = derive2 { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
   PSCBS = derive2 { name="PSCBS"; version="0.65.0"; sha256="16irvlc3ds7p03racjzyljqsc43bbwng3zsb0bmrkibmadfhcr9k"; depends=[aroma_light DNAcopy future listenv matrixStats R_cache R_methodsS3 R_oo R_utils]; };
   PSF = derive2 { name="PSF"; version="0.4"; sha256="1hjry8vjqr6zk2i2ppf3fcpsr4v4jm1705qv6i1iz2agl6g2rcnp"; depends=[cluster data_table forecast knitr]; };
   PSIMEX = derive2 { name="PSIMEX"; version="1.1"; sha256="0cndzasvg4y49incyd9nfz8y3z88ywbc7xk0zzjir665pv2xn23b"; depends=[knitr MCMCglmm pedigree plotrix]; };
   PSLM2015 = derive2 { name="PSLM2015"; version="0.2.0"; sha256="1f8kzlqil2ac8a9fbj9fhdni2narh2yaaz044mlx7gsv2ns3ai19"; depends=[dplyr ggplot2 magrittr]; };
-  PSM = derive2 { name="PSM"; version="0.8-12"; sha256="0h83b7bhslgnrq4442464i9iil6gjhw3pwxvgz5313pfk2km30vg"; depends=[deSolve MASS numDeriv ucminf]; };
+  PSPManalysis = derive2 { name="PSPManalysis"; version="0.2.2"; sha256="0g59r13nc6w4a4gkjxnvkygp9hax1sw34a5rv6r170gwdj9fiswq"; depends=[pkgbuild]; };
   PST = derive2 { name="PST"; version="0.94"; sha256="0f28zrnlficbi9iil6wbh51k9mghpkz63hw05lpmlpx1yl5nd0a6"; depends=[RColorBrewer TraMineR]; };
   PSTR = derive2 { name="PSTR"; version="1.2.4"; sha256="0d1j7khd0fx9fapak6arigzprsl8f5jadspbyzym4g2a78m7cnnq"; depends=[ggplot2 magrittr plotly snowfall tibble]; };
   PSW = derive2 { name="PSW"; version="1.1-3"; sha256="0ahm7rp795d7j88n15b3q0gl573p3g0krc7jd1zv87g4bsdc9b5x"; depends=[gtools Hmisc]; };
   PTAk = derive2 { name="PTAk"; version="1.3-34"; sha256="0ylnag492v1n0pmzsz73w12frhv8c3r3dxgarf58ny0ir0i0ywvl"; depends=[tensor]; };
   PTE = derive2 { name="PTE"; version="1.7"; sha256="1azkrij4kfmvp03lnzm88gwgvz8g54jq94j0qg8ynxvyjzrppc98"; depends=[doParallel foreach survival]; };
   PTXQC = derive2 { name="PTXQC"; version="0.92.6"; sha256="1286yrbkkra4gwkx9rv40w568a2v5mngmr4yx76w02x37msa0dhg"; depends=[data_table ggdendro ggplot2 gridExtra gtable kableExtra knitr plyr proto RColorBrewer reshape2 rmarkdown seqinr yaml]; };
+  PTwins = derive2 { name="PTwins"; version="0.1.1"; sha256="166mc7w52n9d3n72h5jvvhbki87prkils3yigdf57dn9pyixrd66"; depends=[]; };
   PUPAIM = derive2 { name="PUPAIM"; version="0.1.0"; sha256="0lkfp1jlcf0m0h7hqvbcr0sq0kbdwpvqvz52rs8j5n7ywiky4q3i"; depends=[FSA Metrics minpack_lm]; };
   PUlasso = derive2 { name="PUlasso"; version="3.2.3"; sha256="07jf81q898833qswwairkv21dxlz7890219fdgnw3ywgp5kvlp41"; depends=[doParallel foreach ggplot2 Matrix Rcpp RcppEigen]; };
   PVAClone = derive2 { name="PVAClone"; version="0.1-6"; sha256="0fj5p3z2cwnyshrr4rq88wpij2xax5p4aq0x4p342kadx9d6x2ga"; depends=[coda dclone dcmle]; };
@@ -2975,7 +3029,7 @@ in with self; {
   PWEALL = derive2 { name="PWEALL"; version="1.3.0"; sha256="0nb0v6wvj9ay90qcbrr9drg2g84fb7a9m78pzb69wp8789i8ixhk"; depends=[survival]; };
   PWFSLSmoke = derive2 { name="PWFSLSmoke"; version="1.2.100"; sha256="0fqzr5gng5miyslkxjkq0gmy1mi37bcjg8pb9vhs7dxa15dm332j"; depends=[cluster curl dplyr dygraphs geosphere ggmap glue httr jsonlite leaflet lubridate magrittr mapproj maps maptools MazamaCoreUtils MazamaSpatialUtils openair png purrr raster RColorBrewer readr reshape2 rgdal RgoogleMaps rlang sf slippymath sp stringr tibble tidyr xts]; };
   PabonLasso = derive2 { name="PabonLasso"; version="1.0"; sha256="158xg9i13nqy1bnpch8r6a7yas01hsdidmcypgccmyh7d7l52mr1"; depends=[]; };
-  Pade = derive2 { name="Pade"; version="0.1-4"; sha256="1kx5qpxd3x43bmyhk8g2af44hz3prhnrzrm571kfjmak63kym741"; depends=[]; };
+  Pade = derive2 { name="Pade"; version="0.1.5"; sha256="12lq1ixh1axyalk7h86ris1s064v3dsc7p6xb868cm07qb132y36"; depends=[]; };
   PairViz = derive2 { name="PairViz"; version="1.3.2"; sha256="01nzf7as848i3vpwgdm450x3f5lapfh2vgd59sy6qr80c19nfjl9"; depends=[graph gtools TSP]; };
   PairedData = derive2 { name="PairedData"; version="1.1.1"; sha256="07y5fd4fkwfp0lbacf41ya8cn7x4n1haxl0cln9iibjffc1mbr5q"; depends=[ggplot2 gld lattice MASS mvtnorm]; };
   PairwiseD = derive2 { name="PairwiseD"; version="0.9.62"; sha256="19qjms99gf7s39nwwgj56n8426d0gw80dipz165sk3km4zb2mcwv"; depends=[openxlsx xlsx]; };
@@ -2994,24 +3048,24 @@ in with self; {
   PanJen = derive2 { name="PanJen"; version="1.6"; sha256="18cl9rls98v286kk6lyxxws3w59zpzgmqi5250gdgcf71xy2lhvm"; depends=[mgcv]; };
   PanelCount = derive2 { name="PanelCount"; version="1.0.9"; sha256="1b6c83qypjc3ylvhh24xm4pjk8w34s24v0i9ddlmg92f1518hlkj"; depends=[Rcpp RcppArmadillo statmod]; };
   Paneldata = derive2 { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; };
-  ParBayesianOptimization = derive2 { name="ParBayesianOptimization"; version="0.1.2"; sha256="07kbx156n0i59q65zrfbnhaimyzh4kkp5gs57lknzinvjqqblwdd"; depends=[data_table dbscan foreach GauPro lhs]; };
+  ParBayesianOptimization = derive2 { name="ParBayesianOptimization"; version="0.2.0"; sha256="1sgb0wrk9h52v55qc4q0r11b7x7cjmjfk1klmmvigpjlz1dycz7k"; depends=[crayon data_table dbscan foreach GauPro ggplot2 lhs plotly]; };
   ParDNAcopy = derive2 { name="ParDNAcopy"; version="2.0"; sha256="017xwznhfibi8kp0ifww02c0qcq0vxs06rjww4kcp2bvdmld8kc4"; depends=[DNAcopy]; };
-  ParallelLogger = derive2 { name="ParallelLogger"; version="1.1.0"; sha256="007linzn60bjs8nh1j1jzb292naxajjpkjwmhjc992h8himxfky4"; depends=[jsonlite snow XML]; };
+  ParallelLogger = derive2 { name="ParallelLogger"; version="1.1.1"; sha256="0z2a777536yvqcypzxis7j4k3ns5v4lwdrkib9zx1ngxxzv6k9xn"; depends=[jsonlite snow XML]; };
   ParallelPC = derive2 { name="ParallelPC"; version="1.2"; sha256="07y7xb16865khxkvwsk1yglzyy7ja4aj2wpkipaz48i77c3x8bi2"; depends=[]; };
   ParallelTree = derive2 { name="ParallelTree"; version="0.1.3"; sha256="1h53qwhc63fglm452b3by7f3g6f3hyqwkmwmbdqdb9rv3j4gvnvg"; depends=[ggplot2]; };
-  ParamHelpers = derive2 { name="ParamHelpers"; version="1.12"; sha256="056cmgklr4a1385qjalr12mphaybc1x7a31qbhs319cbc3kbjkdm"; depends=[backports BBmisc checkmate fastmatch]; };
+  ParamHelpers = derive2 { name="ParamHelpers"; version="1.13"; sha256="0yaf899yhia2773lkq5a16wz6srpsx7xzkbgf421ai2z90m23ddr"; depends=[backports BBmisc checkmate fastmatch]; };
   ParentOffspring = derive2 { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
   ParetoPosStable = derive2 { name="ParetoPosStable"; version="1.1"; sha256="1fwji5wrhbxr089dll812csamvb5q2pxn1607rpirarifgfbj28m"; depends=[ADGofTest doParallel foreach lmom]; };
   PartCensReg = derive2 { name="PartCensReg"; version="1.39"; sha256="0blzv57cbxqghkz4fc3plvrcw80g0kx17dzmajkfv598m1wm6hc8"; depends=[Matrix optimx ssym]; };
   Partiallyoverlapping = derive2 { name="Partiallyoverlapping"; version="2.0"; sha256="0pb0digyigqyzb0zqikgz002kqf1xprcjhxr62a7iqbzy1yycayf"; depends=[]; };
   PathSelectMP = derive2 { name="PathSelectMP"; version="1.1"; sha256="036b70bpylmibny6dny79f7gdzn78arqgl2hfs031vygw63yyh9b"; depends=[mice MplusAutomation]; };
   PatternClass = derive2 { name="PatternClass"; version="1.7.1"; sha256="11r4p4s2pm0c4fmnpijzz5srhpai444mbx5nszhkssfsp9rh7cm9"; depends=[SDMTools]; };
-  Patterns = derive2 { name="Patterns"; version="1.1"; sha256="0j7riqf5i1prkky395g4nzc6pg5ci6w5jmjc49xjxyda9nlkaly0"; depends=[abind animation Biobase c060 cluster elasticnet glmnet gplots igraph jetset KernSmooth lars lattice limma magic Mfuzz movMF msgps nnls pixmap plotrix SelectBoost spls survival tnet VGAM WGCNA]; };
+  Patterns = derive2 { name="Patterns"; version="1.2"; sha256="1dfy0jxr4h17j00yf2lfxlczvx6sdjz08hqsrj6r26qz3g6f16br"; depends=[abind animation Biobase c060 cluster elasticnet glmnet gplots igraph jetset KernSmooth lars lattice limma magic Mfuzz movMF msgps nnls pixmap plotrix SelectBoost spls survival tnet VGAM WGCNA]; };
   PdPDB = derive2 { name="PdPDB"; version="2.0.1"; sha256="05aqg0rqrnlmvjxa32ms1vywgwhw5zlfkyf2ij0fn06rp8l2z3lv"; depends=[dendextend plyr tseries]; };
   Peacock_test = derive2 { name="Peacock.test"; version="1.0"; sha256="0ypvwywipyh8lm8xkazsfjgjpvvyi2g8kid63qff11372p33m6xs"; depends=[]; };
   PeakError = derive2 { name="PeakError"; version="2017.06.19"; sha256="1d4v7s478zjz42dm6ps4nnqqyyqv84dgmzn1bp1a4qwnfv9vmfg7"; depends=[]; };
   PeakSegDP = derive2 { name="PeakSegDP"; version="2017.08.15"; sha256="1ndf4d4ikcyqi0k51kil2jw777z4c1m4pda3dahrjmjyz0jhrhkw"; depends=[]; };
-  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2019.9.10"; sha256="02b8qmmmwaf3izgic1mj69ixpixadvnxsipnmv3kiy1km723j8js"; depends=[data_table]; };
+  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2019.9.27"; sha256="02qiqj989a9fihngvi74rbi970ifbn3kx0k419vdlhvlzwdny3i5"; depends=[data_table]; };
   PeakSegJoint = derive2 { name="PeakSegJoint"; version="2018.10.3"; sha256="0f0dw6swhhf301j4ci3rs8cmzd39dcjlb0kqxpdh7f00gp3qn7da"; depends=[PeakError penaltyLearning]; };
   PeakSegOptimal = derive2 { name="PeakSegOptimal"; version="2018.05.25"; sha256="0j39jzy4r0h787vs3klgbpcmb096ds3hzhvv5w3xs53kl0qkypj4"; depends=[penaltyLearning]; };
   PearsonDS = derive2 { name="PearsonDS"; version="1.1"; sha256="0rqh9ji0bah3n1c6fcg7krgqs65qla9p3xrnc4jr7va6ph104im9"; depends=[]; };
@@ -3088,6 +3142,7 @@ in with self; {
   PortfolioEffectHFT = derive2 { name="PortfolioEffectHFT"; version="1.8"; sha256="0y4x0d91j6g52136d921hfs5swzf85gkxafxfkf3c15dl5ns120v"; depends=[ggplot2 rJava zoo]; };
   PortfolioOptim = derive2 { name="PortfolioOptim"; version="1.1.1"; sha256="01fw1zr1gr6nlcgw8dlc66b3ygkl6w571lw73p13h0q17y1i872d"; depends=[Rsymphony]; };
   PostcodesioR = derive2 { name="PostcodesioR"; version="0.1.1"; sha256="1hwyc8i6a5rxlg3bvjcwayjmv858a050c3y4ig3ncaldifyky4lb"; depends=[httr]; };
+  PosteriorBootstrap = derive2 { name="PosteriorBootstrap"; version="0.1.0"; sha256="0zzhz88f53l1nqynl3wq4yww9z1v354a16hhin4sdd7ha1iqi9cj"; depends=[dplyr e1071 ggplot2 gridExtra MASS Rcpp rstan StanHeaders tibble]; };
   PottsUtils = derive2 { name="PottsUtils"; version="0.3-3"; sha256="165k4sjh3kqkb8bzi68wx00yl77yfbgs70fcbpzmsmcw4g4hdpzn"; depends=[miscF]; };
   PoweR = derive2 { name="PoweR"; version="1.0.7"; sha256="040wc7hxa8y6bm1rs7ip2skdxmmwksxkyb6xzqgdjp8m7a25fppb"; depends=[Rcpp RcppArmadillo]; };
   Power2Stage = derive2 { name="Power2Stage"; version="0.5.2"; sha256="1837pc94syhyl5i0kjdmlc1h7ckas3vcpwhvhgh46sv022lrg2gi"; depends=[cubature mvtnorm PowerTOST]; };
@@ -3109,13 +3164,14 @@ in with self; {
   PriorGen = derive2 { name="PriorGen"; version="1.1.2"; sha256="0qvdqqdy7wdwwcq95mkgfyf7xf6xlpwdfs3gq299yyv2ba57flnm"; depends=[rootSolve]; };
   PrivateLR = derive2 { name="PrivateLR"; version="1.2-22"; sha256="0d142fa3wk7yadvs8jszajs6hq9m03p0j6h5r4pbw7j0d1l72hgc"; depends=[]; };
   ProDenICA = derive2 { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
-  ProFit = derive2 { name="ProFit"; version="1.3.2"; sha256="0knmlja0bclzl6v58kdmx5a649m2gyvm6497gbziqnj7vn28l3wg"; depends=[celestial checkmate cubature FITSio LaplacesDemon magicaxis RColorBrewer]; };
+  ProFit = derive2 { name="ProFit"; version="1.3.3"; sha256="0jrw0v7dg5mf4zxg7pqybh9qzsiqb3nnz8g5qlc4iz73mhr9gm2b"; depends=[celestial checkmate cubature FITSio LaplacesDemon magicaxis RColorBrewer]; };
   ProFound = derive2 { name="ProFound"; version="1.3.4"; sha256="1kn9kj0vq18jxiavdzx4l4kgyfwjnflfbyqfdihrdfrkz4xz4w3c"; depends=[celestial data_table doParallel FITSio foreach magicaxis RColorBrewer Rcpp]; };
   ProPublicaR = derive2 { name="ProPublicaR"; version="0.9.2"; sha256="17fghv7w4wm4q9nd6l4pl5ibk5i4zgdhlp5pvbzvymhvby0q06sw"; depends=[config dplyr httr lubridate stringr]; };
   ProTrackR = derive2 { name="ProTrackR"; version="0.3.6"; sha256="1lhk3lrspiqcw2ckss52gdjk1f6ph8m7dlb05qxcx8mycq0xd3z9"; depends=[audio lattice signal tuneR XML]; };
   ProbForecastGOP = derive2 { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[fields RandomFields]; };
   ProbYX = derive2 { name="ProbYX"; version="1.1-0"; sha256="0dphf6jr72l235v3yjhwi8bqmv6ac7yrbyfwhx4qjrrcdnsb7qhl"; depends=[rootSolve]; };
   ProbitSpatial = derive2 { name="ProbitSpatial"; version="1.0"; sha256="0pq5bsjd00qc83c7x8vlpsxdksywlnfg7rlsvb6j21fz9wi3hpas"; depends=[Matrix numDeriv RANN Rcpp RcppEigen speedglm]; };
+  ProcMod = derive2 { name="ProcMod"; version="1.0.3"; sha256="17x4c9vgf14l1x3hx3vyv3ygl8bb5qzq7fxg2cnl910drcdnv5sz"; depends=[expm foreach MASS Matrix mvtnorm permute Rdpack]; };
   ProfessR = derive2 { name="ProfessR"; version="2.4-1"; sha256="1wsbx0dsygc1ipzhgs1pd0lhdb0qvp4ydqzwarn6zv27rzf4p3bd"; depends=[RPMG]; };
   ProfileLikelihood = derive2 { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[MASS nlme]; };
   ProgGUIinR = derive2 { name="ProgGUIinR"; version="0.0-4"; sha256="0srhk42ssx4i096sbs4jacqjsc1ffqjxjgvpplzshlqaby1h3795"; depends=[ggplot2 MASS svMisc]; };
@@ -3134,8 +3190,8 @@ in with self; {
   PtProcess = derive2 { name="PtProcess"; version="3.3-13"; sha256="0vk1n7hk6v592fi5ld70db6m92zgpjx97axs5h8p53c29984qhwz"; depends=[]; };
   PubBias = derive2 { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[R_utils rmeta]; };
   PubMedWordcloud = derive2 { name="PubMedWordcloud"; version="0.3.6"; sha256="1wfp1fpr4an7psrwidx38brvhvghmvfsgjy4gdx81p1bdsdn2kw2"; depends=[RColorBrewer RCurl stringr tm wordcloud XML]; };
-  PublicationBias = derive2 { name="PublicationBias"; version="1.0.0"; sha256="1bl7msds7q8d08njgslv6ly631cmrp5yabqcayrpc852p2335q4l"; depends=[dplyr ggplot2 metafor MetaUtility Rdpack robumeta]; };
-  Publish = derive2 { name="Publish"; version="2018.04.17"; sha256="0dbcql2mi2qsxzcgcqa58yqynfq1800fa06ikyay2dm6gdyf0apq"; depends=[data_table lava multcomp prodlim survival]; };
+  PublicationBias = derive2 { name="PublicationBias"; version="1.1.0"; sha256="0prdwv3w9n0ppwizfqqvy5qj7krn3nm2zncz17zh7ijdw87xks4i"; depends=[dplyr ggplot2 metafor MetaUtility Rdpack robumeta]; };
+  Publish = derive2 { name="Publish"; version="2019.11.02"; sha256="1bm6jjqkcbyjhf0n3rjyvgcig6xanf9y38nhnvg121ajnnnwl17m"; depends=[data_table lava multcomp prodlim survival]; };
   PupilPre = derive2 { name="PupilPre"; version="0.6.0"; sha256="1ngrqrnlm1bpd5krjbxyhvga2mmwqd11dv8djzpgykl4mh41szh9"; depends=[dplyr ggplot2 mgcv rlang robustbase shiny signal tidyr VWPre zoo]; };
   PurBayes = derive2 { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
   Pursuit = derive2 { name="Pursuit"; version="1.0.0"; sha256="0wcg9zcln2mpqdyi4k4fcah6s1n0xd0jvc98vl4p1gyygy1x2vdr"; depends=[MASS]; };
@@ -3144,7 +3200,7 @@ in with self; {
   PythonInR = derive2 { name="PythonInR"; version="0.1-7"; sha256="1vrvf68sl2k25y3ppjwpi2j4952aq4k76r92qnq3fj92789ndyqv"; depends=[pack R6]; };
   QAIG = derive2 { name="QAIG"; version="0.1.5"; sha256="1cchf5x7wzc3mc6xzvq14kmd9yxr9kq237s8af4xqaz1pv0b093j"; depends=[Formula stringr]; };
   QBAsyDist = derive2 { name="QBAsyDist"; version="0.1.2"; sha256="1yql29npaq9yz02bv3hqf5m2mhscjms7qqf4vlaxm8s665rxcxad"; depends=[ald Deriv GoFKernel locpol nloptr quantreg scdensity zipfR]; };
-  QCA = derive2 { name="QCA"; version="3.5"; sha256="0bbyza538a8bwhjxnbc38l7svjvp3dbr1ykabx79y8zwzqn8887g"; depends=[admisc fastdigest shiny venn]; };
+  QCA = derive2 { name="QCA"; version="3.6"; sha256="07n2652l56w5dyz1ph4q7n9xkf0i145dya2w05b7lbilfjzqqxd1"; depends=[admisc shiny venn]; };
   QCAfalsePositive = derive2 { name="QCAfalsePositive"; version="1.1.1"; sha256="03qzb6vdnbri52gfx3laz14988p2swdv9m8i5z7gpsv3f3bjrxbp"; depends=[]; };
   QCApro = derive2 { name="QCApro"; version="1.1-2"; sha256="1glfb1x1h05cs07nq5glqvlil58wp3c0kaxi1l7k94y797i8r7hq"; depends=[lpSolve]; };
   QCAtools = derive2 { name="QCAtools"; version="0.2.3"; sha256="1q49l2mf02hqvz2ahqjdx7i3yxniy7dn2s74xjl9l6zdq8bypfw2"; depends=[directlabels ggplot2 QCA stringr]; };
@@ -3165,14 +3221,14 @@ in with self; {
   QRank = derive2 { name="QRank"; version="1.0"; sha256="1f924r5bf5vjfl12hk1n5m3f94g30f6vmvzq2bn8295dflyndck0"; depends=[quantreg]; };
   QRegVCM = derive2 { name="QRegVCM"; version="1.2"; sha256="0fcydkf6r2qxd59ylr8vn76bkxks91v58gfzvq3rjd5mqf9vsaaq"; depends=[quantreg SparseM truncSP]; };
   QSARdata = derive2 { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
-  QTL_gCIMapping = derive2 { name="QTL.gCIMapping"; version="3.1"; sha256="14zdq8a352jvgzq1wp0jj2wx3hs3cr5dpryyvlhv2c0syldlw7xl"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp stringr]; };
-  QTL_gCIMapping_GUI = derive2 { name="QTL.gCIMapping.GUI"; version="1.0"; sha256="05v93p3s9kncyzhiqgmd79h6b61xrr2k9vpgv9hjj0pkhsyanqc1"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp shiny stringr]; };
-  QTLRel = derive2 { name="QTLRel"; version="1.1"; sha256="04v6cxqvnpziz46qgnkyn9hpg5pr61js83iy8fw9lp36bw51yknc"; depends=[gdata lattice]; };
+  QTL_gCIMapping = derive2 { name="QTL.gCIMapping"; version="3.2"; sha256="0a4ki5scmc771sr79maian7y790bw71l67d1qpc09qprmf9i36jl"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl Rcpp stringr]; };
+  QTL_gCIMapping_GUI = derive2 { name="QTL.gCIMapping.GUI"; version="2.0"; sha256="0jj6w8z99vpzgh76lv53zj8nv9p57y3502prr6xwkshj6rp8q1zv"; depends=[data_table doParallel foreach MASS openxlsx parcor qtl QTL_gCIMapping Rcpp shiny stringr]; };
+  QTLRel = derive2 { name="QTLRel"; version="1.4"; sha256="1ni8hf7xiadfg4p05wa83x7wg26d030mfjm45phghg0i1n7lfc4b"; depends=[gdata lattice]; };
   QTOCen = derive2 { name="QTOCen"; version="0.1.1"; sha256="0wlbxk1rd56k02jf3pfzbx6xx5mmf6sb7gvds0067cvb7m42ghcr"; depends=[MatrixModels quantreg Rdpack rgenoud survival]; };
   QUALYPSO = derive2 { name="QUALYPSO"; version="1.1"; sha256="0qpjv6krz66qfgyzndxihy5shmlsb0zs3wh49sxp00fh2bci5msw"; depends=[doParallel expm foreach MASS Rfast]; };
   QUIC = derive2 { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
   QVM = derive2 { name="QVM"; version="0.1.1"; sha256="0dnr4h4084n505vrxfrx3czrkqdbna8s4fxpwr5czfilbfbxhpar"; depends=[gWidgets IMPACT ltm multilevel mvtnorm nlme pander psych]; };
-  QZ = derive2 { name="QZ"; version="0.1-7"; sha256="1xkqp2z18fv4z0m5wc9cjd44zk3vk1wpl2lw09x8j10p65n717fm"; depends=[Matrix]; };
+  QZ = derive2 { name="QZ"; version="0.1-9"; sha256="0i6cgywnfk8klsfr6x35fxzdshfhmps0b1fs5c7199r1rby0b3sc"; depends=[Matrix]; };
   Qtools = derive2 { name="Qtools"; version="1.4.1"; sha256="0mv0pq4ryaijlz31r7w0qwqw4g8lr1pl9pf2319w2h4p86xp3g8m"; depends=[boot glmx MASS Matrix mice np numDeriv quantreg Rcpp RcppArmadillo]; };
   QuACN = derive2 { name="QuACN"; version="1.8.0"; sha256="1597blp8gqc5djvbgpfzi8wamvy0x50wh5amxj9cy99qa0jlglxi"; depends=[combinat graph igraph RBGL]; };
   QuClu = derive2 { name="QuClu"; version="0.1.0"; sha256="0a2malh9vz5jcjgdx4d98k0c61vz3ip8ynqh5i85x8hzcby11qgj"; depends=[]; };
@@ -3186,17 +3242,16 @@ in with self; {
   QuantileNPCI = derive2 { name="QuantileNPCI"; version="0.9.0"; sha256="043lkg1pyaja7a4f9lmcwrvdjpfly2z378s15snwnxj8vb5pgr38"; depends=[]; };
   QuantumClone = derive2 { name="QuantumClone"; version="1.0.0.6"; sha256="1520jgkzp8g7gv7ggqhvlrdnpdyhygqjgsd1my5jq30afdqj6qmp"; depends=[DEoptim doParallel foreach fpc ggplot2 gridExtra NbClust optimx]; };
   QuantumOps = derive2 { name="QuantumOps"; version="2.5.3"; sha256="0kcfs3rg50a82spzh5c215c8s2ff0wpdk29yn3n96m3hj4ir7j77"; depends=[]; };
-  Quartet = derive2 { name="Quartet"; version="1.0.2"; sha256="17xj05ysi46w3zh1s10gml7cll4w6zdsn9x1ak8rjf7hwszidskg"; depends=[ape memoise Rcpp Rdpack Ternary TreeSearch]; };
   QuasiSeq = derive2 { name="QuasiSeq"; version="1.0-10-2"; sha256="1mr43vys9l1n859lzlcakjrvjllybgrwl0p8mc28h7m87yjkj670"; depends=[edgeR mgcv pracma]; };
-  R_SamBada = derive2 { name="R.SamBada"; version="0.1.1"; sha256="0fji3hgx7ad9xhir5811wq1cr5mdixfixhgn77xbhaz3x5v9249g"; depends=[gdsfmt SNPRelate]; };
+  R_SamBada = derive2 { name="R.SamBada"; version="0.1.2"; sha256="123a7s3rcmraq4chiqjkdp969jmr4c5br2xamdgvj6gzaf8zpmg0"; depends=[gdsfmt SNPRelate]; };
   R_cache = derive2 { name="R.cache"; version="0.13.0"; sha256="1hf5cb7xvnca5zlh9245b5g62sgsaxwdhiv7x59yld37cydakm6k"; depends=[digest R_methodsS3 R_oo R_utils]; };
-  R_devices = derive2 { name="R.devices"; version="2.16.0"; sha256="1f4jsa7b425rm1a0d00njx0pgvrvnhzf0xz2asq4yjhm4rhz0pbz"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
+  R_devices = derive2 { name="R.devices"; version="2.16.1"; sha256="15zlnq3g27whq26fbcy5zfl5hiddm256h4rga4frblg6wqlbkvdd"; depends=[base64enc R_methodsS3 R_oo R_utils]; };
   R_filesets = derive2 { name="R.filesets"; version="2.13.0"; sha256="124rygq0bl9n4akxcm868nl30cyk3rz0iprb98zlpk62gci9f5fg"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
   R_huge = derive2 { name="R.huge"; version="0.9.0"; sha256="13p558qalv60pgr24nsm6mi92ryj65rsbqa6pgdwy0snjqx12bgi"; depends=[R_methodsS3 R_oo R_utils]; };
   R_matlab = derive2 { name="R.matlab"; version="3.6.2"; sha256="1fw6ny8xb2j088k3s9lzd15av3j6xc2bvbccyrp7yjx2f3s3i8qv"; depends=[R_methodsS3 R_oo R_utils]; };
   R_methodsS3 = derive2 { name="R.methodsS3"; version="1.7.1"; sha256="11z6v2i7jl647wxi9p5z66yvfnnqv6s7fxqmz7w2gkb6j8wl1f24"; depends=[]; };
-  R_oo = derive2 { name="R.oo"; version="1.22.0"; sha256="0k6xwy93fpb2p7bs76lzk52br9rv5xnd9524xj8qyazv1132x1n0"; depends=[R_methodsS3]; };
-  R_rsp = derive2 { name="R.rsp"; version="0.43.1"; sha256="0i01p8jxc4j4zl2v2ykvvpfnm5hv650zj1wi1dh8hq0c98xi2yfr"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
+  R_oo = derive2 { name="R.oo"; version="1.23.0"; sha256="189fb7mmyzwg6nn8rza8iip7fbyws7i2vkmzy672x9mhvgilq4pm"; depends=[R_methodsS3]; };
+  R_rsp = derive2 { name="R.rsp"; version="0.43.2"; sha256="128zqyvbq9hm9gy86jzhj609lkfw57vr24mdxgh46ncmx66ag4gj"; depends=[digest R_cache R_methodsS3 R_oo R_utils]; };
   R_temis = derive2 { name="R.temis"; version="0.1.2"; sha256="1bar4vyjnc9plwqm66vbgf6rakgj095zb7wsypmf3j3az694y62q"; depends=[crayon explor FactoMineR igraph NLP slam SnowballC stringi testthat tm tm_plugin_alceste tm_plugin_europresse tm_plugin_factiva tm_plugin_lexisnexis wordcloud]; };
   R_utils = derive2 { name="R.utils"; version="2.9.0"; sha256="1w4zn2db15bggfnh64fbyi2z2sj47rcd4xn53b28dsnkamdcramj"; depends=[R_methodsS3 R_oo]; };
   R0 = derive2 { name="R0"; version="1.2-6"; sha256="1yvcgchxlj7hkgqkw6g8pxnracxkld1grgykkcr6wbhminbylqv8"; depends=[MASS]; };
@@ -3218,13 +3273,13 @@ in with self; {
   R3port = derive2 { name="R3port"; version="0.1.1"; sha256="0ww0sqjx0la03qx353h0y5wr5qpc5fir3gjy4fsxkw6jrsyx9vaz"; depends=[plyr reshape2 whisker]; };
   R4CouchDB = derive2 { name="R4CouchDB"; version="0.7.5"; sha256="1wd1yqbs8m4zqvdm6x7mrcyk5b5pr4azm3r49nrilg8fnr2bk9rz"; depends=[bitops RCurl RJSONIO]; };
   R4dfp = derive2 { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
-  R6 = derive2 { name="R6"; version="2.4.0"; sha256="1kmbw2k5vvzwh3wwmn66mszpfny0z6k8dca980qgbxgvfh0i3gkh"; depends=[]; };
+  R6 = derive2 { name="R6"; version="2.4.1"; sha256="0gma5z41mx02ka9h96xdyf3p6i1rx0izczrzj26c4mbnh9jgvc16"; depends=[]; };
   R62S3 = derive2 { name="R62S3"; version="1.3.1"; sha256="168iyz9zhnvbfgqnshbk9cvmzalmn1m9gxspdwr5xqa1x17hw6az"; depends=[checkmate]; };
   R6DS = derive2 { name="R6DS"; version="1.2.0"; sha256="0ai1yqfhn634vm88waxdb6j24vwcna29gdqzdrwm0nxwf7l6g0m3"; depends=[R6]; };
   RAC = derive2 { name="RAC"; version="1.5"; sha256="0q0kk9j3blrnhv0rfmryc35lli5j4kds2vmjdpg77znagb45609k"; depends=[maps maptools matrixStats ncdf4 plotrix raster rgdal rgeos rstudioapi sp]; };
   RAD = derive2 { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[MASS mvtnorm]; };
   RADanalysis = derive2 { name="RADanalysis"; version="0.5.5"; sha256="1py07p24i1pky8wwyy8ajmkg6h2n7nbpxp1w6lrkiyl0p2kgjm20"; depends=[scales sfsmisc]; };
-  RAHRS = derive2 { name="RAHRS"; version="1.0.2"; sha256="0s7vkmyc3yh62m2xbsvajgvi9xdw5x4irnp7rcllhqa7z9nj50c9"; depends=[pracma RSpincalc]; };
+  RAINBOWR = derive2 { name="RAINBOWR"; version="0.1.14"; sha256="1jf1mk6bvi5ybsdrgxvlr0ksnkncn3cpqvz82d28yd9kml2a8q80"; depends=[cluster MASS Matrix optimx pbmcapply Rcpp RcppEigen rgl rrBLUP]; };
   RAM = derive2 { name="RAM"; version="1.2.1.7"; sha256="0aalswivpjs1glwf4yh3b79lch3n32fyj5xda55h3v7gzs7p0d7f"; depends=[ade4 ape data_table FD ggmap ggplot2 gplots gridExtra labdsv lattice MASS permute phangorn phytools plyr RColorBrewer reshape reshape2 RgoogleMaps scales vegan VennDiagram]; };
   RAMClustR = derive2 { name="RAMClustR"; version="1.0.9"; sha256="0fw8gps8lyjffrqklfk8ps4fn8ail2m6b54q3805pcw27mb9jxml"; depends=[BiocManager dynamicTreeCut e1071 fastcluster ff gplots httr InterpretMSSpectrum jsonlite pcaMethods preprocessCore RCurl stringi stringr webchem xml2]; };
   RAMP = derive2 { name="RAMP"; version="2.0.1"; sha256="1n8h58j6v1xs6adrr4w4ha7pn1q2fh14dyg7zgpp2smv0j2b33dr"; depends=[]; };
@@ -3242,10 +3297,11 @@ in with self; {
   RApiSerialize = derive2 { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
   RAppArmor = derive2 { name="RAppArmor"; version="3.2"; sha256="0apw4l7z0jwa7bs7scfysv2amk2rxi7knw9x9j7vqlrgj0i059gm"; depends=[unix]; };
   RArcInfo = derive2 { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; };
+  RAthena = derive2 { name="RAthena"; version="1.4.1"; sha256="042cbcc0s7sbp8ij7mzrplzs8fs4ac3xw6c064mr6rmig58a2d4r"; depends=[data_table DBI reticulate]; };
   RBF = derive2 { name="RBF"; version="1.0.0"; sha256="0q2k2ar9cd62cykg99r86cflx2nknlg32fhhsjay4xs191fapw8j"; depends=[]; };
   RBMRB = derive2 { name="RBMRB"; version="2.1.2"; sha256="1m6n2kfg83mlfy22k75hy5zjf547v0rdwk9w6l04yfyrr6himbr8"; depends=[data_table ggplot2 httr plotly rjson]; };
   RBPcurve = derive2 { name="RBPcurve"; version="1.2"; sha256="0zkfvnhm780vid4qqdrx9mnc6jxxrmrnq47pqvk35rm3m4l96782"; depends=[BBmisc checkmate mlr shape TeachingDemos]; };
-  RBesT = derive2 { name="RBesT"; version="1.5-3"; sha256="18a4f694aq0cn3psf6vqi74yp962hs2nd6bk1fg55s0x11p31spw"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
+  RBesT = derive2 { name="RBesT"; version="1.5-4"; sha256="1050lhwa7ph5xlzchx0lz7fx6bnfl5zhrim9cy2lh4fxw0vdm7xp"; depends=[assertthat bayesplot BH checkmate dplyr Formula ggplot2 mvtnorm Rcpp RcppEigen rstan StanHeaders]; };
   RBitmoji = derive2 { name="RBitmoji"; version="0.0.2"; sha256="1v9qj3vmqsvnccsy735nbflmd81183h2flm0f1ckd4kl08r2fr3f"; depends=[getPass httr jsonlite png RCurl]; };
   RBtest = derive2 { name="RBtest"; version="1.0"; sha256="1pyygx39r5dd81xqzqmxhkwapaq7pc5q1bp0gwx28cp4wi07mm6i"; depends=[mice nnet psych]; };
   RCA = derive2 { name="RCA"; version="2.0"; sha256="0pidb5czrf0dc3ywy6cwm5akgsc62pvf94kfyxibzmd1favykx1h"; depends=[gplots igraph]; };
@@ -3253,7 +3309,7 @@ in with self; {
   RCALI = derive2 { name="RCALI"; version="0.3.1"; sha256="0hc7h55qi8bpmp9rfh1wgxqs28kbs4yqxch2jlgl42vk5383askq"; depends=[splancs]; };
   RCEIM = derive2 { name="RCEIM"; version="0.3"; sha256="1kil5r88b6lf8vxmswz0wn0hhjxjm8jmlcl5kxjwl6fwjyy2z120"; depends=[]; };
   RCMIP5 = derive2 { name="RCMIP5"; version="1.2.0"; sha256="0bwp1ln0y48g2d0bj9b47y0rlwffzv0pi6gjfzv4sg5anhswc9x7"; depends=[abind assertthat digest dplyr Matrix]; };
-  RCPmod = derive2 { name="RCPmod"; version="2.186"; sha256="0qxk6236xq391czyr043wn8rfml70gkc0xa6vz24s768gxmdk46l"; depends=[fishMod glmnet gtools MASS]; };
+  RCPmod = derive2 { name="RCPmod"; version="2.190"; sha256="1r24g8fcizyqzgp0da90sxpwalgcsgz2b168j2smpylxraiqb037"; depends=[fishMod glmnet gtools MASS]; };
   RCRnorm = derive2 { name="RCRnorm"; version="0.0.2"; sha256="1mz1jb7mc9c47hbk9flnddny4zir6r2k5qis30iynwqny521l6ln"; depends=[truncnorm]; };
   RCSF = derive2 { name="RCSF"; version="1.0.1"; sha256="0mqrv0bk17mm8ywicmns90n8g9h161hw1l77ji7hvadiv0y7vznq"; depends=[Rcpp]; };
   RCarb = derive2 { name="RCarb"; version="0.1.3"; sha256="0z5hpnlzlvbh14f1wjy9rw4ljdsiqdzmqnmh3yqz7mbw5qxx4gzz"; depends=[interp matrixStats]; };
@@ -3263,13 +3319,13 @@ in with self; {
   RClickhouse = derive2 { name="RClickhouse"; version="0.4.0"; sha256="0lb0sgs2f78y2z5ip2wqml88vykrwkdhn3i36y9hyrm34ackis6h"; depends=[DBI dbplyr dplyr Rcpp yaml]; };
   RClimMAWGEN = derive2 { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; };
   RClone = derive2 { name="RClone"; version="1.0.2"; sha256="1kv02acj0mk5102wvmdnxnkb7qig3jb9amcs4k2r26fpa4hyfa7f"; depends=[]; };
-  RColetum = derive2 { name="RColetum"; version="0.2.0"; sha256="0d0938vvlffqkbl7ild745j1x99dx04vsi18zm8m20waiqmv35q9"; depends=[dplyr httr jsonlite]; };
+  RColetum = derive2 { name="RColetum"; version="0.2.1"; sha256="1hgk9p234m3w49sw2j2rg8c14z3gz1mabvb69b1bxrg7f1mz9slg"; depends=[dplyr httr jsonlite]; };
   RColorBrewer = derive2 { name="RColorBrewer"; version="1.1-2"; sha256="1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk"; depends=[]; };
   RConics = derive2 { name="RConics"; version="1.0"; sha256="1lwr7hi1102gm8fi9k5ra24s0rjmnkccihhqn3byckqx6y8kq7ds"; depends=[]; };
   RCriteo = derive2 { name="RCriteo"; version="1.0.2"; sha256="1vyhnblw9zr5h6c25lf76p9vn95k8vr0hpq1sjkccdwl9yvsyhfy"; depends=[httr plyr RCurl XML]; };
   RCrypto = derive2 { name="RCrypto"; version="0.1.0"; sha256="1lw7hq5ks36fixk0g3gcy4nw21ygwc14jq840hnhyds4glywfpvm"; depends=[dplyr httr jsonlite]; };
   RCurl = derive2 { name="RCurl"; version="1.95-4.12"; sha256="1x2z708y89fjphhzs76lycs5rmh5i411wallmhyq4h6zmzppjdrr"; depends=[bitops]; };
-  RCzechia = derive2 { name="RCzechia"; version="1.4.2"; sha256="0vxmng4mlc8wdqzk9ck920z3bnh53wdax19kc12k06amclyv8lvm"; depends=[curl httr jsonlite lwgeom magrittr sf]; };
+  RCzechia = derive2 { name="RCzechia"; version="1.4.3"; sha256="1fywiiqrh6mahhxwx7g05dl1hivwipzylv1h1bpcrs6x75a8nr10"; depends=[curl httr jsonlite lwgeom magrittr sf]; };
   RDFTensor = derive2 { name="RDFTensor"; version="1.1"; sha256="1xbar13snwyls6rva91bs0632zplfc2qcqlwf7h07r8798m3234s"; depends=[Matrix pracma]; };
   RDIDQ = derive2 { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
   RDML = derive2 { name="RDML"; version="1.0"; sha256="13ly1p42njbcygwvkyii8sjqbsywjy5w5g1kd7m8kswi5dsk3qqv"; depends=[checkmate data_table lubridate pipeR R6 readxl rlist stringr xml2]; };
@@ -3280,13 +3336,13 @@ in with self; {
   RDieHarder = derive2 { name="RDieHarder"; version="0.2.0"; sha256="0yy17vn7m0042ykrlvlvhd2fbz0hw60nra5zmnc822r2f13h2acg"; depends=[]; };
   RDocumentation = derive2 { name="RDocumentation"; version="0.8.2"; sha256="0qdn3c5xbjyrhk56wfch50xpyyfd4f79hs0v00cqk9iwsnjlwmb5"; depends=[httr proto rjson]; };
   RDota2 = derive2 { name="RDota2"; version="0.1.6"; sha256="0fjsgg4dmzw2xwrf8jxq0f2d7f78bf67bl3ms5qcjk9kskfnymag"; depends=[httr jsonlite]; };
-  REAT = derive2 { name="REAT"; version="3.0.1"; sha256="1lp9z2pylf4klfw8j1wldx281dcvfdbk4jrg98xda34akqzb2hy1"; depends=[]; };
+  REAT = derive2 { name="REAT"; version="3.0.2"; sha256="0x5cal502n8abynx1jk2ccmmggvd41rvd2gc6rxkbyvcp4794l82"; depends=[]; };
   REBayes = derive2 { name="REBayes"; version="1.8"; sha256="1mvi163djhnq3c711mx4a6mh1vmlcj80562czx12z2gmx13810nh"; depends=[Matrix reliaR]; };
   RECA = derive2 { name="RECA"; version="1.7"; sha256="1xikj20flqajpkw4wyynmqd1pafbylzwfrmc8bz9pqgggjjhrqql"; depends=[]; };
   REDCapR = derive2 { name="REDCapR"; version="0.10.2"; sha256="0rdni325k0641yfv4g9l1szg1bl48767n6r1xkh8q3fnvqaqwnrg"; depends=[dplyr httr magrittr readr rlang tibble tidyr]; };
   REEMtree = derive2 { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
   REGENT = derive2 { name="REGENT"; version="1.0.6"; sha256="1f2sjqkhw3rbmwbcmx7l7imj696kblisi8y3fz77xygbcbxa6rmq"; depends=[]; };
-  REPLesentR = derive2 { name="REPLesentR"; version="0.3.0"; sha256="1cfbf6r9p09ccia2f3pc2fz178zvrm3rwa6affyqr3gygpd1smb4"; depends=[dat knitr modules]; };
+  REPLesentR = derive2 { name="REPLesentR"; version="0.4.1"; sha256="0rwd7hxk12f4f1kpj6sl424yhbxi3h9dz6km5awijazmgv95carz"; depends=[dat knitr modules]; };
   REPPlab = derive2 { name="REPPlab"; version="0.9.4"; sha256="1pf8zrjdzziyq2lw31p1ij7cn4j7pf659ygxv8wpfnmcmpaqbc45"; depends=[lattice LDRTools rJava]; };
   REPTILE = derive2 { name="REPTILE"; version="1.0"; sha256="11swy4jrmmb0xjjxm1wyxd628fxxcqnialvijdrjwjpdbvraz4gq"; depends=[doParallel flux foreach optparse randomForest]; };
   REQS = derive2 { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
@@ -3312,7 +3368,7 @@ in with self; {
   RGCCA = derive2 { name="RGCCA"; version="2.1.2"; sha256="0zcxakqnmih0243y5b6r9nmcfanzxd6q344pd5bca5pnm3y43wr0"; depends=[Deriv MASS]; };
   RGCxGC = derive2 { name="RGCxGC"; version="1.0.0"; sha256="1qxacxqkxcclkj8f1y7b6c5fspp5qk5847fqb1ib05njh6wxsmvj"; depends=[colorRamps prettydoc ptw Rdpack RNetCDF]; };
   RGENERATE = derive2 { name="RGENERATE"; version="1.3.5"; sha256="12dq04xpl06zhkzwqx3zy0bkpvb5phbdj2inxsyczf6d4dk209mb"; depends=[RMAWGEN]; };
-  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2"; sha256="1w28yfzk3ilbz1r9fsc76cigyrnzzhsfm3a81ff8g26za7cb8vjp"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
+  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2.5"; sha256="1jqyp91x569la1vc6wl6v7jq6iq1cx2qkds9yiqm85bgzydp4lxw"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
   RGF = derive2 { name="RGF"; version="1.0.6"; sha256="11pnbiyp39r95c8ajj2jyxz4h1zf6fi8ki78rmn4vp7xm2bl3zff"; depends=[Matrix R6 reticulate]; };
   RGIFT = derive2 { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
   RGISTools = derive2 { name="RGISTools"; version="0.9.7"; sha256="1bij314qv9lnbb9rjxb37fhp97nz8sqlbqajdbixxpvsnp4mx2k0"; depends=[curl fields gdalUtils httr magick raster Rdpack rjson rvest sp urltools XML xml2]; };
@@ -3329,7 +3385,7 @@ in with self; {
   RH2 = derive2 { name="RH2"; version="0.2.4"; sha256="14590l3a2znd56nrq1zfbfv7fgii4672qy1xfwiynrh3mjad217k"; depends=[chron rJava RJDBC]; };
   RHMS = derive2 { name="RHMS"; version="1.6"; sha256="067vxx0s338ziyyshq386br7b8ksycqinn16qnvb53ldshyw0dcm"; depends=[GGally ggplot2 Hmisc network pso]; };
   RHPCBenchmark = derive2 { name="RHPCBenchmark"; version="0.1.0"; sha256="1f94d8z15ybqgc2pccsi1m6563xf26ygri6f4pwxkqjmxkxnk34y"; depends=[cluster Matrix mvtnorm]; };
-  RHRV = derive2 { name="RHRV"; version="4.2.4"; sha256="0jf2vms2yr2d52x8g5fz6v2pd2gzgc5z96fnbf63s55fni72rbxm"; depends=[lomb nonlinearTseries tkrplot waveslim]; };
+  RHRV = derive2 { name="RHRV"; version="4.2.5"; sha256="1xjmcb9w285x3q930hm91ln4b8zhd9s741h5iwd71pj0cdf184gh"; depends=[lomb nonlinearTseries tkrplot waveslim]; };
   RHT = derive2 { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
   RHawkes = derive2 { name="RHawkes"; version="0.0"; sha256="0qi32f6im6fsgvjs8bravc5z21557zn2d0a7i88dy0rri7czm5p7"; depends=[IHSEP]; };
   RI2by2 = derive2 { name="RI2by2"; version="1.3"; sha256="0smc0fb9anq5ih9zx2slfbqyx02njm0hc7g22gpfggskmxf2l509"; depends=[gtools Rcpp]; };
@@ -3337,7 +3393,7 @@ in with self; {
   RIFS = derive2 { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
   RISCA = derive2 { name="RISCA"; version="0.8"; sha256="0z6wq5bmfx6zrj7cnd7y0x8h7qkz4njcvb8jb1mil92zx2z47d43"; depends=[date MASS mvtnorm nlme relsurv riskRegression statmod survival]; };
   RISmed = derive2 { name="RISmed"; version="2.1.7"; sha256="08dmkkxsmwp9b4h2g1bbx03cijn793fsnzkmbima8x9d42vxnm1l"; depends=[]; };
-  RIdeogram = derive2 { name="RIdeogram"; version="0.1.1"; sha256="17pn5hi661j2pzr2c2m2h9r9x6bd5dl9q7xjdz8s0jf9fka0r8jr"; depends=[ggplot2 grImport2 rsvg scales]; };
+  RIdeogram = derive2 { name="RIdeogram"; version="0.2.1"; sha256="1npph7j43fyna3nziy1iqfrl0wh8p0m32r8q3s1cd5ffbr1b7jiw"; depends=[ggplot2 grImport2 rsvg scales tidyr]; };
   RImageJROI = derive2 { name="RImageJROI"; version="0.1.1"; sha256="0a4sa60klbpl31qxxvjjbksdhvs3vwm9na1v7014v93fzxy6bjas"; depends=[spatstat]; };
   RImagePalette = derive2 { name="RImagePalette"; version="0.1.1"; sha256="054w8xzsn330qg7piq6ajhji9na2swkkdis2567cy3q099npfl5v"; depends=[ggplot2]; };
   RImpact = derive2 { name="RImpact"; version="1.0"; sha256="010bdq6r2fv4rs78kl1ixnw1di39v90ckh8bblzi0wv4adlbaza4"; depends=[]; };
@@ -3352,7 +3408,7 @@ in with self; {
   RJaCGH = derive2 { name="RJaCGH"; version="2.0.4"; sha256="1a8nd0w73dvxpamzi2addwr6q3rxhnnpa1girnlwbd1j1dll0bz6"; depends=[]; };
   RJafroc = derive2 { name="RJafroc"; version="1.2.0"; sha256="19d6k8294g9w3i2d8mivd4p1sczhq9rc26mhz7ywz0x5fxqcpx77"; depends=[bbmle binom dplyr ggplot2 mvtnorm numDeriv openxlsx Rcpp stringr]; };
   RKEA = derive2 { name="RKEA"; version="0.0-6"; sha256="1dncplg83b4zznh1zh90wr8jv5259cy93imrry86c5kqdijmhrrp"; depends=[rJava RKEAjars tm]; };
-  RKEAjars = derive2 { name="RKEAjars"; version="5.0-3"; sha256="0sm7dkdprmqh319jc43ra7qbk4qq0b2kdj9zs9mjcjz58gcrkl7s"; depends=[rJava]; };
+  RKEAjars = derive2 { name="RKEAjars"; version="5.0-4"; sha256="1j4643xc8k3zy4rv0h8dd154jafihnjr43wzz3d93j11g2w9xhq3"; depends=[rJava]; };
   RKEEL = derive2 { name="RKEEL"; version="1.3.1"; sha256="0k13j460jalmjdicrm7rqxb1b25cx1h4c276xbiybmhrmzmjlv5y"; depends=[arules doParallel foreach gdata Matrix pmml R6 rJava RKEELdata RKEELjars XML]; };
   RKEELdata = derive2 { name="RKEELdata"; version="1.0.5"; sha256="1swzqw6j006ya48ahg6n1g8faxhqiv9v5q1zrnihpzj6868lf7y3"; depends=[]; };
   RKEELjars = derive2 { name="RKEELjars"; version="1.0.19"; sha256="1a879b0xq5jk7r2pf4n41nm0c4himl4yqw083xh2ha4qdhab5kq0"; depends=[downloader]; };
@@ -3369,19 +3425,18 @@ in with self; {
   RM_weights = derive2 { name="RM.weights"; version="2.0"; sha256="1by1z7gwwx0jjhhvsjkr7f6m7n0x43bj080ah5275cja7xqr5nm6"; depends=[Hmisc psychotools]; };
   RM2 = derive2 { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
   RM2006 = derive2 { name="RM2006"; version="0.1.0"; sha256="1qjvdh89jql1fl6ia76g766y1igkshlv0slqmpi0y3bn40413snb"; depends=[]; };
-  RMAWGEN = derive2 { name="RMAWGEN"; version="1.3.3"; sha256="0spc0vszbxfpfp3kqdj0gnb90nvn50qwalq3mw8151b8h1swmf3l"; depends=[chron date vars]; };
+  RMAWGEN = derive2 { name="RMAWGEN"; version="1.3.6"; sha256="18r9lgfc59x2qrlmybfrkrnb1f2a8xp6dyy2inzw2zn19ps9d3k2"; depends=[chron date vars]; };
   RMKL = derive2 { name="RMKL"; version="1.0"; sha256="118xdnzljskyf4ibdrlhy07r1y1x5r2b0mqagqaabxs7s9503whc"; depends=[caret e1071 kernlab Rcpp RcppArmadillo]; };
   RMKdiscrete = derive2 { name="RMKdiscrete"; version="0.1"; sha256="0b4adw46sn98qmy4nxv5l5svcjrp5532x7slfhhgsskqx408lzjf"; depends=[]; };
   RMOA = derive2 { name="RMOA"; version="1.0.1"; sha256="1ppbwqdfxzk1ayms0rqw22l0r8vkk8av39spwpq8avgl6vssw8c4"; depends=[rJava RMOAjars]; };
   RMOAjars = derive2 { name="RMOAjars"; version="1.0.1"; sha256="0qzpwsbndn8fw9560z9h9w9ff9bx6xj7mr50683q1n3dpn5z637i"; depends=[rJava]; };
-  RMRAINGEN = derive2 { name="RMRAINGEN"; version="1.0"; sha256="175kd803a44yblq2jw5mrn2qv4piiy249577lf684bmmajf4ird4"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN]; };
   RMTL = derive2 { name="RMTL"; version="0.9"; sha256="08da67wvzmibziqhnlzh43sydaihk4rsq2k5hs6ih3jkkidrhlgv"; depends=[corpcor doParallel foreach MASS psych]; };
   RMThreshold = derive2 { name="RMThreshold"; version="1.1"; sha256="0wkc42vcggib002ad6ch43h6avpdgl12szrrrfd2p0wl72cwn5n1"; depends=[Matrix png]; };
   RMTstat = derive2 { name="RMTstat"; version="0.3"; sha256="1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"; depends=[]; };
   RMaCzek = derive2 { name="RMaCzek"; version="1.0.0"; sha256="0pjpsaqm9bfggbd1wagfazgqn23k5ba43a4vv1lmqq44l4fsdgb0"; depends=[GA seriation]; };
   RMallow = derive2 { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
-  RMariaDB = derive2 { name="RMariaDB"; version="1.0.6"; sha256="19pjxgz9h3bb89ra6ha6mbnzyz1sagmm82qd57y0rbrsvwn0pk2i"; depends=[BH bit64 DBI hms plogr Rcpp]; };
-  RMark = derive2 { name="RMark"; version="2.2.6"; sha256="0ihidwk7fbjjh6qmrd3rjmk2yjrjdf7a53sdnh6ynkjkzlqb2gr7"; depends=[coda matrixcalc msm]; };
+  RMariaDB = derive2 { name="RMariaDB"; version="1.0.7"; sha256="17l9i2g6rwfkihyvd1ycx7a2m4cfgpwyamsqwd753rc874zszq6m"; depends=[BH bit64 DBI hms plogr Rcpp]; };
+  RMark = derive2 { name="RMark"; version="2.2.7"; sha256="0qxa383cagzqrnfc3izybb4lrg8z1r3nw1j5b7h4wkjwy0k3kczb"; depends=[coda matrixcalc msm]; };
   RMediation = derive2 { name="RMediation"; version="1.1.4"; sha256="19idqx0hwljbcfrpqwa81k7cxbd8kv77ji8yi4n4p7517jbkzma6"; depends=[e1071 lavaan MASS]; };
   RMixpanel = derive2 { name="RMixpanel"; version="0.7-1"; sha256="1xwmmfvky49n1l0w3kwcyaf2h4rhzz4k5icjwvpc90fqk8sxib6a"; depends=[base64enc jsonlite RCurl uuid]; };
   RMixtComp = derive2 { name="RMixtComp"; version="4.0.2"; sha256="005fmns31m51p9480bxiahllxpg530j2jxkg2vadw761h61s90al"; depends=[ggplot2 plotly RMixtCompIO RMixtCompUtilities]; };
@@ -3399,12 +3454,12 @@ in with self; {
   RNOmni = derive2 { name="RNOmni"; version="0.7.1"; sha256="0lzd820x9yw90ddzmxvd89pkqc3nrljlc6kz4cab50zj3s755ack"; depends=[abind foreach plyr Rcpp RcppEigen]; };
   RNRCS = derive2 { name="RNRCS"; version="0.2.5"; sha256="19q78l8mh4701vqvr36vqc87n39s5ivzhiy5lvnxbd4dgibk1jr2"; depends=[ggplot2 magrittr rvest xml2]; };
   RNaviCell = derive2 { name="RNaviCell"; version="0.2"; sha256="15k8hkagn5520fy7x672fy329s2v7l0x44s44f6v7ql9mmg4b635"; depends=[RCurl RJSONIO]; };
-  RNeXML = derive2 { name="RNeXML"; version="2.3.0"; sha256="0wyvkv1ifagir4acjivdnns6vwnzdy3a5h8pnvy4qzzly90y2lla"; depends=[ape dplyr httr lazyeval plyr reshape2 stringi stringr tidyr uuid XML xml2]; };
+  RNeXML = derive2 { name="RNeXML"; version="2.4.0"; sha256="164krdabq3xqw8djmbpwj20vx074x9dgcdy5l1hr06cmz2bahqp1"; depends=[ape dplyr httr lazyeval plyr reshape2 stringi stringr tidyr uuid XML xml2]; };
   RNentropy = derive2 { name="RNentropy"; version="1.2.2"; sha256="0chvmrvpyyghilwb63y6pd1zp94i5qhpv5w19x9nw0ypk86pp2dj"; depends=[]; };
-  RNetCDF = derive2 { name="RNetCDF"; version="1.9-1"; sha256="0idfskxb1k8x0zzl6b0kgskdxn7zr49gw9xcj870ah9zp93iwnkx"; depends=[]; };
+  RNetCDF = derive2 { name="RNetCDF"; version="2.1-1"; sha256="0i670giq741d78ps6y98xbnqdybkv2svmdd6jbvcbpgdry6pfw89"; depends=[]; };
   RNetLogo = derive2 { name="RNetLogo"; version="1.0-4"; sha256="1z7jp454k197c0zbkn64zmf25wadkiznv3w2csgiz917cbx6xcn1"; depends=[igraph rJava]; };
-  RNewsflow = derive2 { name="RNewsflow"; version="1.1.1"; sha256="1vigzkyh8p6x4hzrmcsbvv2jk3pz39kix6b12xzzllkvi1kq784q"; depends=[data_table igraph Matrix quanteda Rcpp RcppEigen RcppProgress scales slam stringi tm wordcloud]; };
-  RNifti = derive2 { name="RNifti"; version="0.11.1"; sha256="0jcgdg5k2swmi57aqj347kfi1fc4nvag7pxdfz61kc0vqqamm0wg"; depends=[Rcpp]; };
+  RNewsflow = derive2 { name="RNewsflow"; version="1.2.1"; sha256="07469svqqjskrf04cm0ga5h94yb5h845dhz5gp740f16ymm0gkci"; depends=[data_table igraph Matrix quanteda Rcpp RcppEigen RcppProgress scales stringi tm wordcloud]; };
+  RNifti = derive2 { name="RNifti"; version="1.0.1"; sha256="0hfid40pgfi1ykqka8y3v0m7h0iyd6fbvycvqlad3ibmbg621f0w"; depends=[Rcpp]; };
   RNiftyReg = derive2 { name="RNiftyReg"; version="2.6.7"; sha256="1qx6igv0kdja2c139gbs42cwfjwj7ifcxxlswydvja03iz3k53wz"; depends=[ore Rcpp RcppEigen RNifti]; };
   ROAuth = derive2 { name="ROAuth"; version="0.9.6"; sha256="0vhsp8qybrl94898m2znqs7hmlnlbsh8sm0q093dwdb2lzrqww4m"; depends=[digest RCurl]; };
   ROC632 = derive2 { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[penalized survival survivalROC]; };
@@ -3453,8 +3508,10 @@ in with self; {
   ROracle = derive2 { name="ROracle"; version="1.3-1"; sha256="07zqzwaq5iqkjcmns2ahl1l71xjlznialb3dbyl4lwsh3p3fhf2n"; depends=[DBI]; };
   RPANDA = derive2 { name="RPANDA"; version="1.6"; sha256="02pf0j6nrv12jlpyn5fb81hvwllsxx9g88p5cdcvwdldwmjhralb"; depends=[ape cluster coda corpcor deSolve fields fpc geiger glassoFast igraph Matrix mvMORPH mvtnorm phytools picante pracma pspline pvclust Rmpfr TESS]; };
   RPCLR = derive2 { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; };
+  RPEClust = derive2 { name="RPEClust"; version="0.1.0"; sha256="1ysw45335lrxmj3j17xyvgz76p00v80f2m7wxfndh91wklqxzm8r"; depends=[clue clusteval mclust]; };
   RPEGLMEN = derive2 { name="RPEGLMEN"; version="1.0"; sha256="0c5qgfwk2nnkrxhy7y5k197wvi0n1dgnfw5xyccw4a3bw6wa7yd0"; depends=[PerformanceAnalytics Rcpp RcppEigen RPEIF]; };
-  RPEIF = derive2 { name="RPEIF"; version="1.0"; sha256="13psw9sjpqq55vqf09ja4xkhpb6mp9zpzbka40v2gzxr503n69rq"; depends=[ggplot2 PerformanceAnalytics Rcpp RcppArmadillo RobStatTM xts zoo]; };
+  RPEIF = derive2 { name="RPEIF"; version="1.0.2"; sha256="1jis52h4x7dxjkwb5dlfswjjk7wz418ra50kxl6aa8dngf79jbma"; depends=[PerformanceAnalytics Rcpp RobStatTM xts zoo]; };
+  RPESE = derive2 { name="RPESE"; version="1.0"; sha256="0cbq3ifwv69ngxh7zvrqjgwqyzd50152k1i95iin6czsn3mz4pjf"; depends=[boot PerformanceAnalytics robustbase RPEGLMEN RPEIF sandwich xts zoo]; };
   RPEXE_RPEXT = derive2 { name="RPEXE.RPEXT"; version="0.0.1"; sha256="0m5ml8ywxrf66mjz6m3xp1lajd7wdq9g7xsaln8n7ykq7h5615fc"; depends=[]; };
   RPEnsemble = derive2 { name="RPEnsemble"; version="0.4"; sha256="0y9g22swcz0m5jbzi87ahxw27fb3jlf3iwvxb73kkzixqlvksw9y"; depends=[class MASS]; };
   RPMG = derive2 { name="RPMG"; version="2.2-3"; sha256="1di2bcf58z6gc3xknzx35znsjsy1714swvxkdhlq1ljidbdbmmbl"; depends=[]; };
@@ -3464,7 +3521,7 @@ in with self; {
   RPS = derive2 { name="RPS"; version="1.0.1"; sha256="16n6wknw2m56kwi6rswgxjwjqblhaz5gyw94f96a7l6navqnvlp4"; depends=[ape geomorph Gmedian igraph MASS matlab]; };
   RPostgreSQL = derive2 { name="RPostgreSQL"; version="0.6-2"; sha256="1mdhw5821v2h7hpa53v10wz53k4i90r0vb6a3dia5gq8f9j1h088"; depends=[DBI]; };
   RPostgres = derive2 { name="RPostgres"; version="1.1.1"; sha256="1s25lkb69dkc5zk5ikbqa325jw5kfavghsq7s26mrcng4va9dz6i"; depends=[BH bit64 blob DBI hms plogr Rcpp withr]; };
-  RPresto = derive2 { name="RPresto"; version="1.3.3"; sha256="0nsqva6k9b9kdv7y7xjbanr3r1bcn28xln2xcv753xqawmsmiv1r"; depends=[DBI httr jsonlite openssl Rcpp stringi]; };
+  RPresto = derive2 { name="RPresto"; version="1.3.4"; sha256="17hwq76vzr27prwisfxahs1ix9grldknaywnq3v2a3s2x79v8vbv"; depends=[DBI httr jsonlite openssl Rcpp stringi]; };
   RProbSup = derive2 { name="RProbSup"; version="2.1"; sha256="0lmv4x235xiykc8jfnp15l4yypm99yz6spsnaxacp49y2aw23jpy"; depends=[]; };
   RProtoBuf = derive2 { name="RProtoBuf"; version="0.4.14"; sha256="1jn288796g61sfffnrfm0nm6igyv0yixlb09yhw8fqih7qg14lnx"; depends=[Rcpp RCurl]; };
   RPtests = derive2 { name="RPtests"; version="0.1.4"; sha256="1r30pslbjq3dip41la81jlin2vhxdmayg902x9ryjy554awfgh7j"; depends=[glmnet randomForest Rcpp]; };
@@ -3478,7 +3535,7 @@ in with self; {
   RRF = derive2 { name="RRF"; version="1.9.1"; sha256="135adnf7cfs8gddmmmgmzarjzg0qfrd7l67367yhy2b1k0s5ng1w"; depends=[]; };
   RRI = derive2 { name="RRI"; version="1.0"; sha256="163imfrhx435fxw39pi4vj1fmk6g6cldlsgmwcpgfqmp45ycclpj"; depends=[Rcpp RcppArmadillo]; };
   RRNA = derive2 { name="RRNA"; version="1.0"; sha256="14rcqh95ygybci8hb8ays8ikb22g3850s9f3sgx3r4f0ky52dcba"; depends=[]; };
-  RRPP = derive2 { name="RRPP"; version="0.4.2"; sha256="1x1vrnqsd8ab70pj63vlpiwf8c76xriggb87j7p6c7yj96syp911"; depends=[]; };
+  RRPP = derive2 { name="RRPP"; version="0.4.3"; sha256="0h19ysl407fssxhbf364738n1vzkfgr52wv9lz71pss4j8sv3ss6"; depends=[]; };
   RRTCS = derive2 { name="RRTCS"; version="0.0.3"; sha256="1riz1gjx3c0pf17xwybizb94nm5zgmfsnv6np3afvw831mb1x3l9"; depends=[sampling samplingVarEst]; };
   RRate = derive2 { name="RRate"; version="1.0"; sha256="1q3f2gphdf50aijnk5xqfpxcqfd4jq7byb1gpb0vcnaxgi3a9lwm"; depends=[]; };
   RRedshiftSQL = derive2 { name="RRedshiftSQL"; version="0.1.2"; sha256="03jbml8d19hcg6achnyc4hcnl5j10yvsx59j80r46zyn0flsnizq"; depends=[DBI RPostgreSQL]; };
@@ -3489,7 +3546,7 @@ in with self; {
   RSAGA = derive2 { name="RSAGA"; version="1.3.0"; sha256="1y1zhy2bxkfsv8vmnxjdg9i5rqkvs32kw8h5z1mclv953srgkpn9"; depends=[gstat magrittr plyr rgdal shapefiles stringr]; };
   RSAlgaeR = derive2 { name="RSAlgaeR"; version="1.0.0"; sha256="1hp0v2vkj9ixiv541d53kyl0ph3jsdc5w98r81gv5ck5ixrp6bxp"; depends=[cvTools ggplot2 hydroGOF lubridate mblm plyr]; };
   RSCAT = derive2 { name="RSCAT"; version="1.0.0"; sha256="1axc2vks0prd2fz1aaa1bjlfn1plfzdr041wh27v97541vsjdw47"; depends=[ggplot2 gridExtra Metrics rJava shiny shinycssloaders shinyjs]; };
-  RSDA = derive2 { name="RSDA"; version="2.0.8"; sha256="1lnqncjmqci6lbdm2pph6ankwb9vhwi7mvgjip2qvc2ydgyv6gy9"; depends=[abind dplyr FactoMineR ggplot2 ggpolypath glmnet lazyeval nloptr pander princurve purrr randomcoloR reshape RJSONIO rlang scales scatterplot3d sqldf stringr tibble tidyr tidyselect XML xtable]; };
+  RSDA = derive2 { name="RSDA"; version="3.0"; sha256="1biw9dwzi5sbqnb1jpsggrqrgvfvvna3l5y75hh1iplzixn25p4p"; depends=[dplyr FactoMineR forcats ggplot2 ggpolypath glmnet magrittr nloptr princurve purrr randomcoloR reshape RJSONIO rlang scales sqldf stringr tibble tidyselect vctrs XML]; };
   RSE = derive2 { name="RSE"; version="1.3"; sha256="1dvmj1zwkbp1dj9r8kcvbd8rpknfwfdqaqc5gfl82bh823w72099"; depends=[]; };
   RSEIS = derive2 { name="RSEIS"; version="3.9-0"; sha256="16jmakdq6rkyw3cm1ilnaw3ycsg12544ml9gla7y8mgpbglxsn6i"; depends=[RPMG Rwave]; };
   RSGHB = derive2 { name="RSGHB"; version="1.2.2"; sha256="16s9iahbcdqykavm5cq8n76hlpfqlljl17xwh0vrz5ac7z4z3rdz"; depends=[MCMCpack]; };
@@ -3505,15 +3562,16 @@ in with self; {
   RSVGTipsDevice = derive2 { name="RSVGTipsDevice"; version="1.0-7"; sha256="0jdr8l0hp4kzsvlgs8j1m74sr98z4v2lmiqinmc238m406nhppab"; depends=[]; };
   RSarules = derive2 { name="RSarules"; version="1.0"; sha256="0lrql4q45hyhqbix86ixl12mknnjbz3137gx2zkvqpz91bsk145j"; depends=[arules Matrix]; };
   RSauceLabs = derive2 { name="RSauceLabs"; version="0.1.6"; sha256="1p7hw6vnlg6w5ggmfpc3q3s6n1fikjkjnxzz97jifiy0zwn5dp9i"; depends=[data_table httr jsonlite whisker xml2]; };
+  RScelestial = derive2 { name="RScelestial"; version="1.0.0"; sha256="1amvzp4a69cpm13affvpza8zs1n78a3y93bwpv0fzi2b60im4y9x"; depends=[Rcpp]; };
   RSclient = derive2 { name="RSclient"; version="0.7-3"; sha256="07mbw6mcin9ivsg313ycw2pi901x9vjpmi6q7sms1hml4yq50k6h"; depends=[]; };
   RSeed = derive2 { name="RSeed"; version="0.1.60"; sha256="0rvb6w4z5c2wcdgx5w6vv7c8il8d0096pgv3fyvw21ag25z605jc"; depends=[graph RBGL sybil]; };
   RSelenium = derive2 { name="RSelenium"; version="1.7.5"; sha256="1ih22z3p1p673dhbjsfmli94bzqp5xk3psslf4c0r9dvmw9h6s5c"; depends=[binman caTools httr openssl wdman XML]; };
   RSentiment = derive2 { name="RSentiment"; version="2.2.2"; sha256="15d1llzxg1apkwykpb7pic2d5lfj9i9a55hab067wrz2yq5jsyfa"; depends=[NLP openNLP plyr stringr]; };
   RSiena = derive2 { name="RSiena"; version="1.2-12"; sha256="1bc0vdqqzkf3q3b6rzqiwd29lcq8vbvlj2qkxbx6v8wjphycz6rw"; depends=[lattice MASS Matrix]; };
-  RSiteCatalyst = derive2 { name="RSiteCatalyst"; version="1.4.15"; sha256="13mrqf458m43g435g4pbg49pid63f4ap1r8jzl84mvj1b36hy4q6"; depends=[base64enc digest httr jsonlite plyr stringr]; };
+  RSiteCatalyst = derive2 { name="RSiteCatalyst"; version="1.4.16"; sha256="1plcmxj6sahdy3vvcmxry8cbq1j23bqzhnhn593bkwmzczka24cy"; depends=[base64enc digest httr jsonlite plyr stringr]; };
   RSmartlyIO = derive2 { name="RSmartlyIO"; version="0.1.3"; sha256="02zswadv65a5p5q9rr12f819mh7jjqk8xj1kc1c0wqvr8dgz7fx9"; depends=[RCurl]; };
-  RSocrata = derive2 { name="RSocrata"; version="1.7.9-5"; sha256="03j20swsw9s79v5ia4lwf43vyxfkbbjj795pb5vl6p2kmk3l38m7"; depends=[httr jsonlite mime plyr]; };
-  RSpectra = derive2 { name="RSpectra"; version="0.15-0"; sha256="1ab975scdqaxdna9sayjl6l14hz991y0pc8c8ah48w000616km8s"; depends=[Matrix Rcpp RcppEigen]; };
+  RSocrata = derive2 { name="RSocrata"; version="1.7.10-6"; sha256="1pzdpy1mifr6hhhj7pq8l5jl8dsn6270ibm6pnmc66psh0xr2zsa"; depends=[httr jsonlite mime plyr]; };
+  RSpectra = derive2 { name="RSpectra"; version="0.16-0"; sha256="1ab45as2ysjrvkhvmx7y3nbhd0y1w4j9k2a789lcd973zz4wzwda"; depends=[Matrix Rcpp RcppEigen]; };
   RSpincalc = derive2 { name="RSpincalc"; version="1.0.2"; sha256="09fjwfz1bzpbca1bpzxj18ki8wh9mrr5h6k75sc97cyhlixqd37s"; depends=[]; };
   RStata = derive2 { name="RStata"; version="1.1.1"; sha256="1wx6cz4567xkfplybmbwmw25snhlaxn48yi620cv6p5xqv458yp7"; depends=[foreign]; };
   RStoolbox = derive2 { name="RStoolbox"; version="0.2.6"; sha256="1pq0vxq53x8f0358qfq1rakb59cdfi4micp7hjb9fbz95q9am8mj"; depends=[caret codetools doParallel foreach geosphere ggplot2 raster Rcpp RcppArmadillo reshape2 rgdal rgeos sp XML]; };
@@ -3528,7 +3586,7 @@ in with self; {
   RTDE = derive2 { name="RTDE"; version="0.2-0"; sha256="1dj7dsj4256z9m70y2fpcgprxpqbgqxz0dqwn0jl80sj2325f66s"; depends=[]; };
   RTOMO = derive2 { name="RTOMO"; version="1.1-6"; sha256="03jb96ahzgp662vj2v65giv8ss61vad5w26kvq8hg9q06z879jza"; depends=[GEOmap RPMG RSEIS splancs]; };
   RTaxometrics = derive2 { name="RTaxometrics"; version="2.3"; sha256="02446y86g21i37ycavg0xc1ggxk0k93d38n71fis9fav06lywxx3"; depends=[]; };
-  RTest = derive2 { name="RTest"; version="1.2.4"; sha256="1h6qvr87307yymzd7ily6xbp9x8jx8hm0b89pqfz9k4h1l4xvdbr"; depends=[base64 glue jsonlite magick magrittr rlang stringr testthat XML]; };
+  RTest = derive2 { name="RTest"; version="1.2.5"; sha256="1pj6gjlrykkjxffq076vq2kwxd3vww85rqswqmddx2ks7jsn3m2x"; depends=[base64 glue jsonlite magick magrittr rlang stringr testthat XML]; };
   RTextureMetrics = derive2 { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; };
   RTransProb = derive2 { name="RTransProb"; version="0.3.3"; sha256="1fl8ag7aizj7k7j5ypx632qa98jp3wp8z3mp5z490n1277ajzrkb"; depends=[caret chron e1071 expm MASS Matrix matrixStats neuralnet nnet pracma Rcpp RcppArmadillo zoo]; };
   RTransferEntropy = derive2 { name="RTransferEntropy"; version="0.2.12"; sha256="066wyama0gk81l6kc0n31cmf007i1975i7hzvf46qbldvhsc52mc"; depends=[future future_apply Rcpp]; };
@@ -3537,6 +3595,7 @@ in with self; {
   RVAideMemoire = derive2 { name="RVAideMemoire"; version="0.9-73"; sha256="1zjvvqdcczpnxkm6n3zxv8ysgn5x44k7w2b12yx01h2x71bwg1hg"; depends=[ade4 boot car cramer FactoMineR lme4 MASS mixOmics nnet pls pspearman vegan]; };
   RVFam = derive2 { name="RVFam"; version="1.1"; sha256="0gw8rgq11zndnqmay6y3y5rmmljvwhxzm2pqa90vs5413dnchq92"; depends=[coxme kinship2 lme4 MASS Matrix survival]; };
   RVenn = derive2 { name="RVenn"; version="1.1.0"; sha256="016m00xv59lkwm2is32v5nr4lw5a1ymdnz34r3ffflcv9bfrc6n4"; depends=[ggforce ggplot2 magrittr pheatmap purrr rlang vegan]; };
+  RVerbalExpressions = derive2 { name="RVerbalExpressions"; version="0.1.0"; sha256="1p9wmpgqwnz95sr8km8y6kqax8fcz6sqg54wfdx44kiqkf1ybdsp"; depends=[magrittr]; };
   RVideoPoker = derive2 { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap rpanel tkrplot]; };
   RViennaCL = derive2 { name="RViennaCL"; version="1.7.1.8"; sha256="0lh23g8zyd50p6hnl4dfmzrsg48y74g2h7dism9j2n1pfd9p9k5d"; depends=[]; };
   RVowpalWabbit = derive2 { name="RVowpalWabbit"; version="0.0.13"; sha256="106lr6iz28gscczs18759zaki7dnxy1873swiakimfqmwpw9dp9n"; depends=[Rcpp]; };
@@ -3544,8 +3603,8 @@ in with self; {
   RWBP = derive2 { name="RWBP"; version="1.0"; sha256="104vr2cdk185hh4zn3vmqvb14p1q8ifk11wdgvk7fli1m1zxxwdd"; depends=[igraph lsa RANN SnowballC]; };
   RWDataPlyr = derive2 { name="RWDataPlyr"; version="0.6.2"; sha256="1928hyfmy21s586nafd5qajbypqslc96zfmxbi42rcmvzim16v3k"; depends=[data_table dplyr feather Rcpp tibble tidyr xts zoo]; };
   RWebLogo = derive2 { name="RWebLogo"; version="1.0.3"; sha256="1n65mlnr163ywjnyyngnigbj0wpgkr38c3nx8hw5r8mwjnf3d617"; depends=[findpython]; };
-  RWeka = derive2 { name="RWeka"; version="0.4-40"; sha256="19xhrbr0105yax1534z1h08p1nxdmsg2dfch8kpqj37n9zmnx6zg"; depends=[rJava RWekajars]; };
-  RWekajars = derive2 { name="RWekajars"; version="3.9.3-1"; sha256="16syvpc9qfn19sjdp3jikmzccj198ybr8dar7fajfaqsfms2kgfw"; depends=[rJava]; };
+  RWeka = derive2 { name="RWeka"; version="0.4-41"; sha256="1grsq6wkvci2hs0vcr9zwrf7iyfrlxwag43l0k5hf8icazp8ffmf"; depends=[rJava RWekajars]; };
+  RWekajars = derive2 { name="RWekajars"; version="3.9.3-2"; sha256="06nsylv65z9hxym1b6qnwllh306bq5phsgr0qn4nyr5im8cv1rhn"; depends=[rJava]; };
   RWiener = derive2 { name="RWiener"; version="1.3-1"; sha256="0w12xvc18l002m8q6ad3laa667xzqjbcfqf0vvcmicgw2j3bbq6h"; depends=[]; };
   RWildbook = derive2 { name="RWildbook"; version="0.9.3"; sha256="1pznzmv8n33hhj61h07fha1gzafcx705n8323cnz3mx6ziijfh28"; depends=[data_table jsonlite marked]; };
   RWsearch = derive2 { name="RWsearch"; version="4.6.2"; sha256="1sak4ihzvba83q1zvn65983qz50cb1nbz1mwiasr3bzz27hhdp4a"; depends=[brew latexpdf networkD3 sig sos XML]; };
@@ -3559,7 +3618,7 @@ in with self; {
   RZooRoH = derive2 { name="RZooRoH"; version="0.2.3"; sha256="0ihfc8hxqmlkx1xhkz3psw8szwjp01imasvynxbzrjmjf4q6amvq"; depends=[data_table doParallel foreach iterators RColorBrewer]; };
   RaPKod = derive2 { name="RaPKod"; version="0.9"; sha256="1qxzi2lf431zd44bcd98ybhzydy1cz12g864l6r668jk91aqy1qg"; depends=[kernlab MASS proxy Rcpp RcppArmadillo]; };
   RaProR = derive2 { name="RaProR"; version="1.1-5"; sha256="11hwg609pjcd13qnbchbs86c3q8f4nmh1xfxg3dsiijljl6lzx3n"; depends=[]; };
-  RaceID = derive2 { name="RaceID"; version="0.1.5"; sha256="0f1pj9lfxl9xm78sbrwbgzyf1n43i1gpds84wnb4smm7llyqs82i"; depends=[cluster coop FateID FNN fpc ggplot2 ica igraph irlba locfit MASS Matrix pheatmap propr quadprog randomForest RColorBrewer Rcpp Rtsne umap vegan]; };
+  RaceID = derive2 { name="RaceID"; version="0.1.6"; sha256="0whj7l9a640fm9kcqr2nyn5c3fidfvsrgiv986w4ziqs2jira7mm"; depends=[cluster coop FateID FNN fpc ggplot2 ica igraph irlba locfit MASS Matrix pheatmap propr quadprog randomForest RColorBrewer Rcpp Rtsne umap vegan]; };
   RadData = derive2 { name="RadData"; version="1.0.0"; sha256="14npn5vjcpvymdjkby83msjr3f1gsmzh0083gz6cgrp270fglkaw"; depends=[]; };
   RadOnc = derive2 { name="RadOnc"; version="1.1.5"; sha256="0yz2pzcpz32xs04xfs90i714nn28cky7701w1h99cqsxsp892jkq"; depends=[geometry oro_dicom ptinpoly rgl]; };
   RadTran = derive2 { name="RadTran"; version="1.0"; sha256="1sb8d4y3b37akbxhdavxrkp34zn3ip061b7gzy0ga57pyn76cvpn"; depends=[ReacTran rootSolve]; };
@@ -3584,18 +3643,18 @@ in with self; {
   RapidPolygonLookup = derive2 { name="RapidPolygonLookup"; version="0.1.1"; sha256="0h4snn3haa4a5rkafg98419by4nnz219wsm3y0dqgm4hw4bvha0g"; depends=[PBSmapping RANN RgoogleMaps sp]; };
   Rarity = derive2 { name="Rarity"; version="1.3-6"; sha256="1m742qrgc0c5vda9sb2q5n3ghmqnlnfhr1cfpxfs7s5ic707gmlb"; depends=[]; };
   RaschSampler = derive2 { name="RaschSampler"; version="0.8-8"; sha256="0y7dkgv1cy6r1mbmyqm27qwl10rl12g1svpx9jkzq5hq0hnm2xhw"; depends=[]; };
-  Rata = derive2 { name="Rata"; version="0.0.1"; sha256="0hal12sric8isljjg7v9nxjqny6rfqzd0yx492p1h2c3qh9ly3zb"; depends=[ggplot2 glpkAPI lpSolveAPI reshape2 Rirt]; };
+  Rata = derive2 { name="Rata"; version="0.0.2"; sha256="1s7am08691lil5hbd8jpa5wnbvr0qqf0gkxczpm6yvizbjpx16qx"; depends=[ggplot2 glpkAPI lpSolveAPI reshape2 Rirt]; };
   RateDistortion = derive2 { name="RateDistortion"; version="1.01"; sha256="1micjlbir1v5ar51g1x7bgkqw9m8217qi82ii6ysgjkhwdvpm075"; depends=[]; };
   RatingScaleReduction = derive2 { name="RatingScaleReduction"; version="1.2.2"; sha256="15xkfjp0bkx9wjp8y27vs0iq2ir4qxjdl8405ix59sjb6lkvv3l2"; depends=[ggplot2 pROC]; };
   RationalExp = derive2 { name="RationalExp"; version="0.2.2"; sha256="0a51sfps3sfb71m93jdsmbvj6kafbyfrq790ix238j570f5xafpg"; depends=[snowfall]; };
-  Rbeast = derive2 { name="Rbeast"; version="0.2.1"; sha256="03m7461j816sgdr3xvv6llyblmkcnhfxsrfiraqslg197xjbj978"; depends=[]; };
+  Rbeast = derive2 { name="Rbeast"; version="0.2.2"; sha256="12i6jm7x1hwkj6skva9sli02rm4krzb2gmzny68d9cjhdcan5baq"; depends=[]; };
   Rbent = derive2 { name="Rbent"; version="0.1.0"; sha256="0xkb57dhhfd3342rv0xwbhbhn4zp5fbfch84fbh0sickm09l9vrj"; depends=[Rfit]; };
   Rbgs = derive2 { name="Rbgs"; version="0.2"; sha256="1q0dnbcpgx7x9klr6z33z6g2p9p8mrmhnsqjy6qw15ch720rrgn3"; depends=[imager magrittr rJava]; };
   Rbitcoin = derive2 { name="Rbitcoin"; version="0.9.2"; sha256="0ndq4kg1jq6h0jxwhpdp8sw1n5shg53lwa1x0bi7rifmy0gnh66f"; depends=[data_table digest RCurl RJSONIO]; };
   RblDataLicense = derive2 { name="RblDataLicense"; version="0.2.1"; sha256="1jvy4r3qnyxwa4vai04lsfrf4dgbfg6gpvk4mvzicgdxlnfphrg9"; depends=[RCurl xts]; };
   Rblpapi = derive2 { name="Rblpapi"; version="0.3.10"; sha256="14wkrjfbjc3rb3159sz8wdvshmrh3d17s01swp59s8if7hr94hq0"; depends=[BH Rcpp]; };
-  Rborist = derive2 { name="Rborist"; version="0.2-2"; sha256="0hmq2ph0bcj49lxrb1kvd78x82nc8sb1j629ncifp1y0aynvsa7z"; depends=[data_table digest Rcpp]; };
-  Rcan = derive2 { name="Rcan"; version="1.3.72"; sha256="1c2a0p6nc040irgmg50bw0w43ad55flrni8k37avpns1m9k309h1"; depends=[data_table ggplot2 scales]; };
+  Rborist = derive2 { name="Rborist"; version="0.2-3"; sha256="0qf4m6ibr4mlrmsybb5b8f1hkmp9n6ksjsxc4msd3q4rr99zkczk"; depends=[data_table digest Rcpp]; };
+  Rcan = derive2 { name="Rcan"; version="1.3.80"; sha256="1p9df622sqgmfxargwj63pgpdhqr1bc66y07sr6dv1j038776ysj"; depends=[data_table ggplot2 scales]; };
   Rcapture = derive2 { name="Rcapture"; version="1.4-2"; sha256="1nsxy5vpfv7fj03i6l5pgzjm0cldwqxxycnvqkfkshbryjcyl0ps"; depends=[]; };
   RcellData = derive2 { name="RcellData"; version="1.3-2"; sha256="1zzkgpj2pc42xzz5pspyj981a04gjpna4br3lxna255366ijgz4l"; depends=[]; };
   Rcereal = derive2 { name="Rcereal"; version="1.2.1"; sha256="0nl4p0wqpni16z62610sqcxsz1x6kannl2s1zakpmjkk80pyxlk6"; depends=[]; };
@@ -3603,14 +3662,14 @@ in with self; {
   Rcgmin = derive2 { name="Rcgmin"; version="2013-2.21"; sha256="02igq7bdlxwa7ysfiyvqfhcvgm866lrp2z3060z5lmnp6afa0958"; depends=[numDeriv]; };
   RchivalTag = derive2 { name="RchivalTag"; version="0.0.7"; sha256="0i25rj3f54km2gdr8izgvqdbdbcq4nikywn5narm7sg79fv43pd4"; depends=[mapdata maps maptools ncdf4 oceanmap PBSmapping plyr raster rgeos sp]; };
   Rchoice = derive2 { name="Rchoice"; version="0.3-1.1"; sha256="0nmbb6wfgz164fncljnsr11j2w1hi235hysxn1p2mgc6l301rqhm"; depends=[Formula maxLik msm plm plotrix]; };
-  Rclean = derive2 { name="Rclean"; version="1.0.0"; sha256="065jq957xsk9p1nnzf8ilp9swjfxhydgc7xg57lfcg9hz99ckwfr"; depends=[formatR igraph jsonlite]; };
-  Rcmdr = derive2 { name="Rcmdr"; version="2.6-0"; sha256="0g0xa7dp6k0vr1rd1fnd7fsxyrvx86y6yxwi0vxnw1r9yiycg0s2"; depends=[abind car effects formatR lme4 RcmdrMisc relimp tcltk2]; };
+  RclusTool = derive2 { name="RclusTool"; version="0.91"; sha256="14xvfd7g81dw57kjfl8lgq936p9qr0bfm0zmi6fa65ci6di28h8f"; depends=[class cluster conclust corrplot e1071 factoextra FactoMineR ggplot2 jpeg MASS mclust mda mmand nnet png randomForest reshape sp stringi stringr tcltk2 tkrplot]; };
+  Rcmdr = derive2 { name="Rcmdr"; version="2.6-1"; sha256="1slwflnz64lbps16jzp2s0cjcns0cpxbh9mb4925l4xg08mc1a27"; depends=[abind car effects lme4 RcmdrMisc relimp tcltk2]; };
   RcmdrMisc = derive2 { name="RcmdrMisc"; version="2.5-1"; sha256="10cnvk541cx8lzapra2104dn1kh780phzz29dwvfwrx4k9vfbh7i"; depends=[abind car colorspace e1071 foreign haven Hmisc MASS nortest readstata13 readxl sandwich]; };
   RcmdrPlugin_BiclustGUI = derive2 { name="RcmdrPlugin.BiclustGUI"; version="1.1.1"; sha256="1sdc8ibggz8wpn77g7hddyl7lg86dbyw8qax63p6cqx1pfhb4rra"; depends=[BcDiag BiBitR BicARE biclust fabia gplots iBBiG Rcmdr rqubic s4vd superbiclust viridis]; };
   RcmdrPlugin_DoE = derive2 { name="RcmdrPlugin.DoE"; version="0.12-3"; sha256="1iifn71kjjgcp7dfz2pjq57mgbv4rrznrl3b3k9gdc2dva1z9zvc"; depends=[DoE_base DoE_wrapper FrF2 Rcmdr RcmdrMisc relimp]; };
   RcmdrPlugin_EACSPIR = derive2 { name="RcmdrPlugin.EACSPIR"; version="0.2-2"; sha256="10r6rb0fwlilcnqxa38zh7yxc54x1a0by5x4f6gzdn9zs7aj5l1r"; depends=[abind ez nortest R2HTML Rcmdr RcmdrMisc reshape]; };
   RcmdrPlugin_EBM = derive2 { name="RcmdrPlugin.EBM"; version="1.0-10"; sha256="02zips1jbfn7cshjlrm1gr632px2zxlys8i0f1nrf1gifl44v1qw"; depends=[abind epiR Rcmdr]; };
-  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.40"; sha256="1vsr7krkcz7qxx938r5fbaf5ag5n2pppabnqqhxp4w4xaidba1nq"; depends=[Rcmdr readstata13]; };
+  RcmdrPlugin_EZR = derive2 { name="RcmdrPlugin.EZR"; version="1.41"; sha256="0h84rr7scqpds1z0mbmsrhxppdh9rxykc5chvzvniab9hz2h7p05"; depends=[Rcmdr readstata13]; };
   RcmdrPlugin_EcoVirtual = derive2 { name="RcmdrPlugin.EcoVirtual"; version="1.0"; sha256="0q879wnrmgbaddv883q9zdnp0i7kjcgn8cffv7lp8nrsqil6l7mc"; depends=[EcoVirtual Rcmdr]; };
   RcmdrPlugin_Export = derive2 { name="RcmdrPlugin.Export"; version="0.3-1"; sha256="17fn3si6b6h20c52k1k6fv9mslw3f9v0x1kxixzcvq54scdx0sk0"; depends=[Hmisc Rcmdr xtable]; };
   RcmdrPlugin_FactoMineR = derive2 { name="RcmdrPlugin.FactoMineR"; version="1.6-0"; sha256="07k9x3mdaqzk1503wjsha9f8bxzw1074i9g7sa16yqz5lwky4lr7"; depends=[FactoMineR Rcmdr]; };
@@ -3649,12 +3708,12 @@ in with self; {
   RcmdrPlugin_temis = derive2 { name="RcmdrPlugin.temis"; version="0.7.10"; sha256="02rs5xdj6g57frndc87fly0ans16584j4d0rfpy1h72655cz66ab"; depends=[ca lattice latticeExtra NLP R2HTML Rcmdr RColorBrewer slam stringi tcltk2 tm zoo]; };
   Rcolombos = derive2 { name="Rcolombos"; version="2.0.2"; sha256="0l92icjqqm5fxafqwd09lnmv5x6kvjdg8cphlm37q86nslwr5rkk"; depends=[httr]; };
   Rcplex = derive2 { name="Rcplex"; version="0.3-3"; sha256="0abmrqphrpdlc831hwbwx15z4vdgn385kxhnqlbb9v0sjmfyszsl"; depends=[slam]; };
-  Rcpp = derive2 { name="Rcpp"; version="1.0.2"; sha256="170jlmjrs92z5qdv58badhxycjvfjpqwwpic7rm13pc9zkb3i4xd"; depends=[]; };
+  Rcpp = derive2 { name="Rcpp"; version="1.0.3"; sha256="03h3zyjq948y0hrrs95lfk4zgx6wfrg64hjlrfrzf5na7bfh0d9b"; depends=[]; };
   Rcpp11 = derive2 { name="Rcpp11"; version="3.1.2.0"; sha256="1x6n1z7kizagr5ymvbwqb7nyn3lca4d4m0ks33zhcn9gay6g0fac"; depends=[]; };
   RcppAPT = derive2 { name="RcppAPT"; version="0.0.5"; sha256="0188sabgfmgh83yr3hmqpg5cmhllfkxzbxxchqr2r2fmj6x0ib1a"; depends=[Rcpp]; };
   RcppAlgos = derive2 { name="RcppAlgos"; version="2.3.4"; sha256="1rmadfvavjn17xs0fs93h2dahil5nqg0w59f4zdsnn193cwcfi7p"; depends=[gmp Rcpp RcppThread]; };
-  RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.13"; sha256="1jibp9b07c5ka1kif0nl7f168hxfvysj32wnmnxg85l663hmvm8j"; depends=[Rcpp]; };
-  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.9.700.2.0"; sha256="0g25w32dnqrvhnri8x4yxqawxd8qhn7w3m8d29nxxy0gybx3y8x9"; depends=[Rcpp]; };
+  RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.14"; sha256="1wiigx5g5788j6lyc3f6bs1rsvc4alyc3052g35hxl1giinxmhn4"; depends=[Rcpp]; };
+  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.9.800.1.0"; sha256="1frg7y3fb571jf9dp1kkc75x0nxvw8j3qccsrm1brg5l1z2jmlaz"; depends=[Rcpp]; };
   RcppBDT = derive2 { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[BH Rcpp]; };
   RcppCCTZ = derive2 { name="RcppCCTZ"; version="0.2.6"; sha256="1bkrzdcm18z7qfkcfq5yc4s8z6a43y6cfsa09k6j9ni9bl2pd6hf"; depends=[Rcpp]; };
   RcppCNPy = derive2 { name="RcppCNPy"; version="0.2.10"; sha256="175bn75akwgz3vcp0n59kiqqz7q9cwkvih241nj8v810cp4gpmkp"; depends=[Rcpp]; };
@@ -3665,12 +3724,12 @@ in with self; {
   RcppDL = derive2 { name="RcppDL"; version="0.0.5"; sha256="1gii00bna6k9byaax7gsx42dv1jjnkrp4clbmdq59ybq3vkvw8z2"; depends=[Rcpp]; };
   RcppDist = derive2 { name="RcppDist"; version="0.1.1"; sha256="02g57xwfipdcljv06krhm02dbqn9kfyj2km6rdg0a7vq9prwdz1x"; depends=[Rcpp RcppArmadillo]; };
   RcppDynProg = derive2 { name="RcppDynProg"; version="0.1.3"; sha256="099hbm355d30rwxqjd7j4dfw678551dc5v4y7yy6q4xxyf527lbs"; depends=[Rcpp RcppArmadillo wrapr]; };
-  RcppEigen = derive2 { name="RcppEigen"; version="0.3.3.5.0"; sha256="01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5"; depends=[Matrix Rcpp]; };
+  RcppEigen = derive2 { name="RcppEigen"; version="0.3.3.7.0"; sha256="1b78qcjim0n9klgkr82n794d6bj9r9f33g0kcsszsns2hir65sk2"; depends=[Matrix Rcpp]; };
   RcppEigenAD = derive2 { name="RcppEigenAD"; version="1.0.0"; sha256="18zm9hsfqwiicxsdm87ix3qc261ljxxn2s736p6aayx82b6vwkz6"; depends=[BH functional memoise Rcpp RcppEigen Rdpack readr]; };
   RcppEnsmallen = derive2 { name="RcppEnsmallen"; version="0.2.10.3.1"; sha256="1kljhf7y2v0kd7jydpd24grba1zm268ak11hdpg3jxz3s32l45ld"; depends=[Rcpp RcppArmadillo]; };
   RcppExamples = derive2 { name="RcppExamples"; version="0.1.9"; sha256="0568zipgjxgmx086mlfpp5n7v8kf50gwrylvhl1bgvzb2vvr9dhj"; depends=[Rcpp]; };
   RcppFaddeeva = derive2 { name="RcppFaddeeva"; version="0.1.0"; sha256="1rah18sdfmbcxy83i7vc9scrwyr34kn9xljkv9pa31js68gn2jrl"; depends=[knitr Rcpp]; };
-  RcppGSL = derive2 { name="RcppGSL"; version="0.3.6"; sha256="16pdapq31729db53agnb48jkvdm97167n3bigy5zazc3q3isis1m"; depends=[Rcpp]; };
+  RcppGSL = derive2 { name="RcppGSL"; version="0.3.7"; sha256="0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5"; depends=[Rcpp]; };
   RcppGetconf = derive2 { name="RcppGetconf"; version="0.0.3"; sha256="1qcnn482h9b8aw798frnkza4bzzpihp0pf4s1mj6zmn2ar01hsl0"; depends=[Rcpp]; };
   RcppGreedySetCover = derive2 { name="RcppGreedySetCover"; version="0.1.0"; sha256="1v84i9gsmvpkmgd4niqnzp58nhrgn2j4rggsrnlh391ikdfrl51x"; depends=[BH data_table Rcpp]; };
   RcppHMM = derive2 { name="RcppHMM"; version="1.2.2"; sha256="0scdzmns1yw2gbarblzd6cbvndlysz54ff17qijiz17ql5cyzly6"; depends=[Rcpp RcppArmadillo]; };
@@ -3680,7 +3739,7 @@ in with self; {
   RcppMeCab = derive2 { name="RcppMeCab"; version="0.0.1.2"; sha256="0varavfbrqzma176rw0dr9v5chh7pxh5y9g0rs3v7hqnlghp22y2"; depends=[BH Rcpp RcppParallel]; };
   RcppMsgPack = derive2 { name="RcppMsgPack"; version="0.2.3"; sha256="0ffdw5ckkax8j87q0ykjhyp45l7gvxjppdi73kc4r5qxvijll2g3"; depends=[BH Rcpp]; };
   RcppNLoptExample = derive2 { name="RcppNLoptExample"; version="0.0.1"; sha256="1fml6hpa12q0lgg5fg6fi9lz6mckwh345pbh95mld2qagzvmg01n"; depends=[nloptr Rcpp]; };
-  RcppNumerical = derive2 { name="RcppNumerical"; version="0.3-3"; sha256="15qwjfwx6yrh9sl2gndqfxw0b3iwnkr2nrgrccb6phpj3pdp7vsq"; depends=[Rcpp RcppEigen]; };
+  RcppNumerical = derive2 { name="RcppNumerical"; version="0.4-0"; sha256="1a92fql6mijhnr1kxkcxwivf95pk9lhgmhzkshs51h0ybfv5krik"; depends=[Rcpp RcppEigen]; };
   RcppParallel = derive2 { name="RcppParallel"; version="4.4.4"; sha256="0p13f2mywjr7gmskf8ri4y8p5yr1bvr4xrpw2w11vdvafwz1vcia"; depends=[]; };
   RcppProgress = derive2 { name="RcppProgress"; version="0.4.1"; sha256="0yk01hfv961zyp569682k9igvhnwqyg5j0n5fm63sxigj82l2xhi"; depends=[]; };
   RcppQuantuccia = derive2 { name="RcppQuantuccia"; version="0.0.3"; sha256="0cj95y8jcjm33d65y42f5ijw775kq3mh2p0659mp3i3r9fvaishk"; depends=[BH Rcpp]; };
@@ -3690,7 +3749,7 @@ in with self; {
   RcppStreams = derive2 { name="RcppStreams"; version="0.1.3"; sha256="06il7q3afaws57m0fxf04f2p5dvs23l1f7gl78pxwzclacdy3839"; depends=[BH Rcpp]; };
   RcppTN = derive2 { name="RcppTN"; version="0.2-2"; sha256="0m2wc5n1fzxv56s4gqqnygb24dbadgrpgjm4bs4hr6qazgjapymf"; depends=[Rcpp]; };
   RcppTOML = derive2 { name="RcppTOML"; version="0.1.6"; sha256="1nyv4ynryh8vcrzyq01nzj13is40bjhxazlj9ilapyjdv9h5w3bs"; depends=[Rcpp]; };
-  RcppThread = derive2 { name="RcppThread"; version="0.5.3"; sha256="1ndidhzzwxcg01kl867a1mm64zgxf4hiaf858zr7dfkr3gzdd3lp"; depends=[]; };
+  RcppThread = derive2 { name="RcppThread"; version="0.5.4"; sha256="1mlzng6di30p4nfvq9l3z241vb8rwnpa2yjbafs2vzrl6v3zcfnf"; depends=[]; };
   RcppXPtrUtils = derive2 { name="RcppXPtrUtils"; version="0.1.1"; sha256="0jh64c46gp99d2nsih14vx34pamc8i7gkmiy2nj94rx3sxq62yh5"; depends=[Rcpp]; };
   RcppXsimd = derive2 { name="RcppXsimd"; version="7.1.4"; sha256="171281f8lbdnnv3q9x5c35ak8fkrymx7llnpv88dlh742z8nny1j"; depends=[Rcpp]; };
   RcppXts = derive2 { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; };
@@ -3701,7 +3760,7 @@ in with self; {
   Rcssplot = derive2 { name="Rcssplot"; version="0.3.0"; sha256="1qwrwzyqbwwwjf2zx6712q6wj629vf9rjrgscf0fim10fa6k5grn"; depends=[]; };
   Rd = derive2 { name="Rd"; version="0.2.0"; sha256="0kf95h4xx8a2s2spld19niwjikaxkys5y5prwq3b7bryfj0s63v0"; depends=[assertthat pkgcond postlogic purrr rlang testthat]; };
   Rd2md = derive2 { name="Rd2md"; version="0.0.2"; sha256="07j1nnsk5nyl8kvgvh9f684g6bhc01jiq1fcmq2pnpx57jdzfbpi"; depends=[knitr]; };
-  Rd2roxygen = derive2 { name="Rd2roxygen"; version="1.8"; sha256="178zlnpwv3h3s77i749sbvnk3z80dgv14b3xvg3adsh8j6fj6mk2"; depends=[formatR roxygen2]; };
+  Rd2roxygen = derive2 { name="Rd2roxygen"; version="1.9"; sha256="029f85visar52002hdpfw5r2zq37kzbr8rgji76nnqi08jk0if4n"; depends=[formatR roxygen2]; };
   Rdice = derive2 { name="Rdice"; version="1.0.0"; sha256="1xibvm690808p2g3jch7rh1825yrpgln2hjfclgxjwn822qvs4xr"; depends=[data_table]; };
   Rdimtools = derive2 { name="Rdimtools"; version="0.4.2"; sha256="1pklnvg3qrlhskhk2vra38nnqcfdi3fncddm39w9mpxzbzmb62k7"; depends=[ADMM CVXR Matrix Rcpp RcppArmadillo RcppDE Rcsdp Rdpack RSpectra Rtsne]; };
   Rdistance = derive2 { name="Rdistance"; version="2.1.3"; sha256="03wh6y9h5jgfc6xdncpgyz0v7lqavikp3pf5wwfmm2rqfj7yjr8c"; depends=[]; };
@@ -3719,6 +3778,7 @@ in with self; {
   Rearrangement = derive2 { name="Rearrangement"; version="2.1"; sha256="0q253nj62rl65vjsq6503r80qa2j35wac8lv7ydp9w260p28z923"; depends=[quantreg]; };
   Recon = derive2 { name="Recon"; version="0.3.0.0"; sha256="11gag2bl00pcy7ysfycaa58qarh6aigznldkc4kkn2178bl4ii62"; depends=[rootSolve]; };
   RecordLinkage = derive2 { name="RecordLinkage"; version="0.4-11.2"; sha256="1gqf236bpxi0hbhv8bxscv78dwdb3z4x105qfyvzky01aydw5zgn"; depends=[ada data_table DBI e1071 evd ff ffbase ipred nnet rpart RSQLite xtable]; };
+  RecordTest = derive2 { name="RecordTest"; version="0.1.0"; sha256="1x6w6f2zlp6xb561n5khbf53955kv2ydmy646v7w85ygx9p8hyni"; depends=[car ggplot2 Smisc]; };
   Records = derive2 { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
   RedditExtractoR = derive2 { name="RedditExtractoR"; version="2.1.5"; sha256="1b6pp1vdn7jnyl8k828dgkxrx8sy2wyhkrn4rnfavqw4qvhm0mhm"; depends=[dplyr igraph magrittr RJSONIO rlang visNetwork]; };
   Redmonder = derive2 { name="Redmonder"; version="0.2.0"; sha256="02qrz1b0g7hdacj2s2bks5gfwnypkbiwlmn0bv7im1zz1swg9cp8"; depends=[]; };
@@ -3731,7 +3791,7 @@ in with self; {
   ReinforcementLearning = derive2 { name="ReinforcementLearning"; version="1.0.4"; sha256="14xacbi0bfnb9yn5sn1zksc4av08qrncn0glmbfc9x9i88rfz5m2"; depends=[data_table ggplot2 hash]; };
   RelValAnalysis = derive2 { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
   Relatedness = derive2 { name="Relatedness"; version="2.0"; sha256="1aidklwk8q2wdfsmhlbd3vzq9kzsyh4wn1g28biyb6lq7iwq1hl4"; depends=[]; };
-  Relexon = derive2 { name="Relexon"; version="0.1.0"; sha256="12c6qqydd3n0yc0yaqzz7hrp295s8dby5imhhpq9ip1cihi3bfqh"; depends=[readr]; };
+  Relexon = derive2 { name="Relexon"; version="0.2.1"; sha256="1shq1v3y1jhrnkl3fdnrwv23zrh8dx0k7zwqcvn5dxpd3vzsxqxg"; depends=[readr]; };
   Reliability = derive2 { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
   ReliabilityTheory = derive2 { name="ReliabilityTheory"; version="0.1.5"; sha256="14k979b9baqnz1gbhbjnp76nvdg5z1sc6p29h3v9qgvwv4aanp4v"; depends=[actuar combinat FRACTION HI igraph mcmc PhaseType sfsmisc]; };
   RelimpPCR = derive2 { name="RelimpPCR"; version="0.2.4"; sha256="0svfyh313wawzqx9hfb4cg0wn2ir6nd769z1k3dckdsb8d7xkh3q"; depends=[caret ggplot2 relaimpo reshape2 Rmisc]; };
@@ -3739,8 +3799,9 @@ in with self; {
   RenextGUI = derive2 { name="RenextGUI"; version="1.4-0"; sha256="0jfg4a85j06wxk8vq2q6j8md2kcss0s7k71218gfh9vybk7hl4h6"; depends=[gWidgets gWidgetstcltk R2HTML Renext]; };
   Renvlp = derive2 { name="Renvlp"; version="2.7"; sha256="1h65m1av2z5zj5mmhrf0vspnbws2dp6s6ihyrvcrm24ipcnkvinz"; depends=[Rsolnp]; };
   ReorderCluster = derive2 { name="ReorderCluster"; version="1.0"; sha256="0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58"; depends=[gplots Rcpp]; };
+  RepaymentPlan = derive2 { name="RepaymentPlan"; version="0.1.0"; sha256="1fd4n24bd5s2kqmls7mmsidblaf8nzm97kz52mfsb6i6fci0pgah"; depends=[]; };
   RepeatedHighDim = derive2 { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
-  Replicate = derive2 { name="Replicate"; version="1.1.0"; sha256="1iqzg7aspd2h0mc4w059nfz7hcxgbbl15389isrr63zfm0kcsbf6"; depends=[metafor]; };
+  Replicate = derive2 { name="Replicate"; version="1.2.0"; sha256="0kqy248c8n7qr5hwzvqm7flnjlwd60c577r1d4vzgfxn7azd5v3v"; depends=[ggplot2 metafor]; };
   Replication = derive2 { name="Replication"; version="0.1.1"; sha256="1jf08kd7zwsgrabg14p0ad5ga8gcr2xdiy5mgljb9hz4ffyhb6fs"; depends=[blavaan lavaan MASS mice quadprog rjags runjags]; };
   Repliscope = derive2 { name="Repliscope"; version="1.1.0"; sha256="0hij4ng77bkd979ndbhx1nqq2rfb69q23ghyd7illgvgrc79y9mr"; depends=[colourpicker ggplot2 shiny]; };
   RepoGenerator = derive2 { name="RepoGenerator"; version="0.0.1"; sha256="0d6s2sqyycaqrg32xdkp3pr5i7qmvwrfrjcd7f94a9y3lz4bz5b5"; depends=[git2r httr rmarkdown rstudioapi]; };
@@ -3749,7 +3810,7 @@ in with self; {
   RevEcoR = derive2 { name="RevEcoR"; version="0.99.3"; sha256="1nym263ynjdir5kxv35jnmki9mshlplq0sk3xnjd4ac6f1cfbfqj"; depends=[gtools igraph magrittr Matrix plyr purrr stringr XML]; };
   Rexperigen = derive2 { name="Rexperigen"; version="0.2.1"; sha256="158ksnd1gvzq7ii0ys2v0wrfnr001hni0i8m77p1fn1arixgmqdw"; depends=[digest jsonlite RCurl]; };
   Rfacebook = derive2 { name="Rfacebook"; version="0.6.15"; sha256="0hp2mbm0hnyasizszvh5x9hv7z2q633zck1a1gvk36nbxb1shx7c"; depends=[httpuv httr rjson]; };
-  Rfast = derive2 { name="Rfast"; version="1.9.5"; sha256="003ghzhq9jnxqdmz3fjn3r32s40lspxrsc5n004n1py1kra0fxmx"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
+  Rfast = derive2 { name="Rfast"; version="1.9.7"; sha256="0xk55akq0m4ayi839mx8li9saf8irp40xmbrwwg3rwj0zl1wmx1h"; depends=[Rcpp RcppArmadillo RcppZiggurat]; };
   Rfast2 = derive2 { name="Rfast2"; version="0.0.4"; sha256="0n4n8krcznrvksfhkhbdzllfn6j79ca1iks3ckmn4vhipyilcafc"; depends=[Rcpp RcppArmadillo Rfast]; };
   Rfit = derive2 { name="Rfit"; version="0.23.0"; sha256="1gxxipbh7mskrqwrpk1gf1dn8mp3l1v4hgmzii44bppffnxs7slp"; depends=[]; };
   Rfolding = derive2 { name="Rfolding"; version="1.0"; sha256="15lf73zxr1slin9faj9k0z8qkb1g9nb7h080nfv99gsi2ks68ssg"; depends=[]; };
@@ -3766,12 +3827,13 @@ in with self; {
   RichR = derive2 { name="RichR"; version="1.0.0"; sha256="0z0ri90jqdmw0vwxd1b4wr9if5cgm1gqpf6g9p1fdvncf4sdi9by"; depends=[magrittr metap plyr reshape2]; };
   RidgeFusion = derive2 { name="RidgeFusion"; version="1.0-3"; sha256="10llmrsfpcqrkcbw7zj44kvfy7ywn9rk49n7zplilz8h94zzcmjv"; depends=[mvtnorm]; };
   Ridit = derive2 { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
-  RiemBase = derive2 { name="RiemBase"; version="0.2.2"; sha256="00skgahbmdalb4bq1hyy8rpl81f2x4d977fi1q3qb152q4br9r2w"; depends=[pracma Rcpp RcppArmadillo Rdpack]; };
+  RiemBase = derive2 { name="RiemBase"; version="0.2.3"; sha256="08dwnzjy7fhipvqb7p4kbhcfhrnz9i025czci6d0a9nnyscqcgfv"; depends=[pracma Rcpp RcppArmadillo Rdpack]; };
+  RiemBaseExt = derive2 { name="RiemBaseExt"; version="0.1.1"; sha256="17899bsb6s4jaql71hsq5abcnf1ybji5236zwh25apc6k7br14fc"; depends=[cluster dbscan energy fastcluster kernlab Rcpp RcppArmadillo Rdpack RiemBase]; };
   Riex = derive2 { name="Riex"; version="1.0.1"; sha256="1jri01s08g819bvw0bgd5z5iaf9rlikkqq993lm0455k909wm34v"; depends=[dplyr ggplot2 httr purrr quantmod rjson stringr tibble tidyr tidyverse TTR urltools xts zoo]; };
   Rilostat = derive2 { name="Rilostat"; version="1.0.1"; sha256="0k8x2z3vxfwbynn22wpkfbc1i237bl61dh612nhw19c7v48lhdgg"; depends=[data_table dplyr DT haven plyr RCurl readr stringr tibble xml2]; };
   Rinstapkg = derive2 { name="Rinstapkg"; version="0.1.0"; sha256="0fvj4jc00g5b8cc4mrsjj72fdcdmvlky05s2ca0g2gndrjs6vxic"; depends=[digest dplyr httr jsonlite lubridate purrr readr rlang uuid]; };
   Rip46 = derive2 { name="Rip46"; version="1.0.2"; sha256="0wfp6fm5mgmjqjkn0c5hvjd95yn4zcv0s8xc5294qf5jqxp8b1w7"; depends=[Rcpp]; };
-  Rirt = derive2 { name="Rirt"; version="0.0.1"; sha256="149w9fqhy1jay1701y2mary48v7gkx302jrdd0zccn6zf2w3l42g"; depends=[ggplot2 Rcpp reshape2]; };
+  Rirt = derive2 { name="Rirt"; version="0.0.2"; sha256="0npd2g3a4dh5hlj6l06k1pf0j4731ybqqd4mpi4id16nf81cg104"; depends=[ggplot2 Rcpp reshape2]; };
   Risk = derive2 { name="Risk"; version="1.0"; sha256="1i42xcc699syj108mvgklwb30wkf9c9jrg5rmd2ypnqk9mnyg2fg"; depends=[]; };
   RiskPortfolios = derive2 { name="RiskPortfolios"; version="2.1.2"; sha256="10kgr05npq9gyhglvpzk49hsr44rgscnygkv3b0gz7f6jxqkfj9z"; depends=[MASS nloptr quadprog]; };
   Ritc = derive2 { name="Ritc"; version="1.0.2"; sha256="03smhxjhjfkc9pxhlgg54b6v2jznpmnws8373qpvn9a9ky5bcq2l"; depends=[minpack_lm]; };
@@ -3781,14 +3843,14 @@ in with self; {
   RkMetrics = derive2 { name="RkMetrics"; version="1.3"; sha256="1k6vnr1r4h69iznib638z45gd0f8wc4g4h0ji9f0017883g77li1"; depends=[]; };
   Rknots = derive2 { name="Rknots"; version="1.3.2"; sha256="1krhma8hy3l5lbm6d8rxjlj9jw1zrd16h4wy4p1clfa5vlhh3bwi"; depends=[bio3d rgl rSymPy]; };
   Rlab = derive2 { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
-  Rlabkey = derive2 { name="Rlabkey"; version="2.3.2"; sha256="1axhvc0x0a556p33jz554pp8yww6jy00sxs3wrdrrxz1fvgcla0a"; depends=[httr jsonlite Rcpp]; };
+  Rlabkey = derive2 { name="Rlabkey"; version="2.3.3"; sha256="14jiksm93c8qn9x0slc5v1f5d1fxcyg2fdxd82czdgp8j2ijwh55"; depends=[httr jsonlite Rcpp]; };
   Rlda = derive2 { name="Rlda"; version="0.2.6"; sha256="0i8n01h9072q339p1kiqhcpwphw0d2x6bsszbhgfqc2b160dk2bl"; depends=[coda doParallel foreach gtools Rcpp RcppArmadillo RcppProgress]; };
   Rlgt = derive2 { name="Rlgt"; version="0.1-3"; sha256="0g610v5rch5s31gc7dy9zx4mcgsdhn82y1pmr2rs14qma0v7x515"; depends=[BH forecast Rcpp RcppEigen rstan rstantools sn StanHeaders]; };
   Rlibeemd = derive2 { name="Rlibeemd"; version="1.4.1"; sha256="06bb939awawpwn4g63b9jzq5b658lsznzy272zl0fy19x62c6bwr"; depends=[Rcpp]; };
   Rlinkedin = derive2 { name="Rlinkedin"; version="0.2"; sha256="15sbiis1d0s466nqk1adjhflb01sb9kn25f4y6sagkdggvyz6b56"; depends=[httpuv httr XML]; };
   Rlinsolve = derive2 { name="Rlinsolve"; version="0.3.0"; sha256="1kvlpfrw4w2dykpdym9sg6h2ghavnm7lwxn6bzqldwg53wlinvxk"; depends=[BH bigmemory Matrix Rcpp RcppArmadillo Rdpack]; };
   Rlof = derive2 { name="Rlof"; version="1.1.1"; sha256="1px6ax2mr2agbhv41akccrjdrvp8a9lmhymp0cn8fjrib0ig8vql"; depends=[doParallel foreach]; };
-  Rmagic = derive2 { name="Rmagic"; version="1.4.0"; sha256="0xf2zc9p0y9z2a26w79p3b7hggk78zyiszbyq269s0v6i3h29gy0"; depends=[ggplot2 Matrix reticulate]; };
+  Rmagic = derive2 { name="Rmagic"; version="2.0.3"; sha256="0g2f887v820rjyjzcahfrnjvif8iwbhnfnjpd4ib3d9lps69agx1"; depends=[ggplot2 Matrix reticulate]; };
   Rmalschains = derive2 { name="Rmalschains"; version="0.2-6"; sha256="1dp0nys320i7pa7c0smz57vj6jk7wjvrnnn90z5w7m6xdb4rm369"; depends=[Rcpp]; };
   RmarineHeatWaves = derive2 { name="RmarineHeatWaves"; version="0.17.0"; sha256="09lrrxnkkfnbidnmag1czx2xzssdl09348nkc6pqgq6xz36a3mqc"; depends=[dplyr ggplot2 lazyeval lubridate plyr raster rlang tibble tidyr zoo]; };
   RmecabKo = derive2 { name="RmecabKo"; version="0.1.6.2"; sha256="1i08wlfd14wmvwrsvjyhgzxkwzfp4jiwbzymw8m25pvyjxgi7jmy"; depends=[Rcpp stringr]; };
@@ -3798,22 +3860,23 @@ in with self; {
   Rmosek = derive2 { name="Rmosek"; version="1.3.5"; sha256="18q39n2p3gms9zqrl8g15rjjk4v64365v0rm8r7zvvivh1hy5xa0"; depends=[]; };
   Rmpfr = derive2 { name="Rmpfr"; version="0.7-2"; sha256="1zq3as34r27v2yc729731997wdhxb6cs5ilmak4nmsljabnac7gc"; depends=[gmp]; };
   Rmpi = derive2 { name="Rmpi"; version="0.6-9"; sha256="1rhycla98hxgnnxlxxldr1x51djak7c2jjvlrv3jcsvgwp1ymqdj"; depends=[]; };
+  Rmst = derive2 { name="Rmst"; version="0.0.3"; sha256="1fykpii17k460qlsjhhh5vag02lhkyk5l3zjmg8hifqp0cjhz2fl"; depends=[ggplot2 Rata reshape2 Rirt]; };
   RnavGraphImageData = derive2 { name="RnavGraphImageData"; version="0.0.4"; sha256="1k1gnkghap878fck0bbz9mm0fr4cli6lh1d11r0cf47fvl6cc4gr"; depends=[]; };
   RndTexExams = derive2 { name="RndTexExams"; version="1.5"; sha256="17azzxcawqqvfdbw1i34n03bj5yla8npyi7xh3pnx22xb7sbwq3x"; depends=[data_table stringi stringr]; };
   Rnets = derive2 { name="Rnets"; version="1.2.1"; sha256="08441hhmf1i97z5xb9pq651y6hwr2yraiyg1ns7qkxm2svz3kwxs"; depends=[data_table glasso ICSNP igraph rlang stringr]; };
-  Rnightlights = derive2 { name="Rnightlights"; version="0.2.4"; sha256="0r6yh3fk8sdpnqz1dk1b8hrpslim6mh8khxh56i3qh5s1plpwxcs"; depends=[cleangeo curl data_table doSNOW dplyr ff ffbase foreach lubridate R_utils raster readr reshape2 rgdal rgeos rvest rworldmap settings snow sp stringr xml2]; };
   Rnmr1D = derive2 { name="Rnmr1D"; version="1.2.4"; sha256="0n2nqxn3js3avnln9y5718r73rplr0mcyak70gwhzw4mph2z6i26"; depends=[base64enc doParallel foreach ggplot2 igraph impute MASS MassSpecWavelet Matrix plotly plyr ptw Rcpp signal speaq XML]; };
   Rnumerai = derive2 { name="Rnumerai"; version="0.3"; sha256="0zvfp9zp73gm6pflf9bx1xk1s45xwwvcd56cbris08d2zfj3b3nl"; depends=[httr lubridate]; };
   RobAStBase = derive2 { name="RobAStBase"; version="1.2.1"; sha256="0dn93bcyz9kxbj38sc1wisfa6v0666v9gk6y3zq0ihjkkhkmdwq3"; depends=[distr distrEx distrMod RandVar rrcov startupmsg]; };
   RobAStRDA = derive2 { name="RobAStRDA"; version="1.2.0"; sha256="1s84j5in4av9zbbszv8j2rpigrd9ws9h4hz64jw7xagsj3xb49kz"; depends=[]; };
   RobExtremes = derive2 { name="RobExtremes"; version="1.2.0"; sha256="150p94f0g75g54qcaq4x45lk4sxiyvv1zs4hxkicf46raybvsv89"; depends=[actuar distr distrEx distrMod evd RandVar RobAStBase RobAStRDA robustbase ROptEst startupmsg]; };
+  RobGARCHBoot = derive2 { name="RobGARCHBoot"; version="1.0.0"; sha256="0m739ix7qj89ppz3k87pc5rgiasmgii467l95clkn6wschfnpfgx"; depends=[Rcpp RcppArmadillo]; };
   RobLox = derive2 { name="RobLox"; version="1.2.0"; sha256="1lcylkskfidg576lqfi84l14rvrpfbzmr53hcgzzmfipxhli4dr8"; depends=[Biobase distr distrMod lattice RandVar RColorBrewer RobAStBase]; };
   RobLoxBioC = derive2 { name="RobLoxBioC"; version="1.2.0"; sha256="01lydp67v7mc4v3svsnl4zqq2jy1czwg9l9blngjn9ky0hv3haf5"; depends=[affy AnnotationDbi beadarray Biobase BiocGenerics distr distrMod lattice RColorBrewer RobLox]; };
   RobPer = derive2 { name="RobPer"; version="1.2.2"; sha256="0631qfpz61606r50vzn7b3h7arfwxcs8j13q1hg779qx60kwrliy"; depends=[BB quantreg rgenoud robustbase]; };
   RobRSVD = derive2 { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
   RobRex = derive2 { name="RobRex"; version="1.2.0"; sha256="1npgbdvdzb0p0w77fsngrwg968y621p3lx8qw69ns8qgxjkismqp"; depends=[distr RandVar RobAStBase ROptRegTS]; };
   RobStatTM = derive2 { name="RobStatTM"; version="1.0.1"; sha256="05bhly32gi5w5n4w7c276dfvyj9ax1kfiwlj2s7x7l6r8yxkjp25"; depends=[DEoptimR DT fit_models ggplot2 gridExtra PerformanceAnalytics pyinit robust robustbase rrcov shiny shinyjs xts]; };
-  RobinHood = derive2 { name="RobinHood"; version="1.2"; sha256="1rp1bcmr31qdmxapmxc9xyq8chj555hgbpbd7zdpvxjf1l1v5vlb"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
+  RobinHood = derive2 { name="RobinHood"; version="1.2.1"; sha256="0lq06m7zdny5230afssr8cjx7rlfnhmrzi02972dqcc6w9p62270"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
   Robocoap = derive2 { name="Robocoap"; version="0.1-1"; sha256="0aj6iv85a1zfaknjhrzf6lnf0qn726dvnj4dywg9nii1kkqrkq2w"; depends=[data_table igraph markovchain tm]; };
   RobustAFT = derive2 { name="RobustAFT"; version="1.4-4"; sha256="17qjfpagz0wpl8hbyksnag51nj6b9arl9mk5a56avykd2nii95kd"; depends=[robustbase survival]; };
   RobustCalibration = derive2 { name="RobustCalibration"; version="0.5.1"; sha256="0wsnvryvrl37acljrda2dm1d8aynqiy66yd2i857m035whixfpqa"; depends=[Rcpp RcppEigen RobustGaSP]; };
@@ -3833,6 +3896,7 @@ in with self; {
   Rpdb = derive2 { name="Rpdb"; version="2.3"; sha256="0zy5f7bli6ppc9giwf8845mzjcv54r2sqb8hxwgbn9k6rjlszgi8"; depends=[rgl]; };
   RpeakChrom = derive2 { name="RpeakChrom"; version="1.1.0"; sha256="1r8f6knpz83arz2kabizx5yyh1myg0h310qlwh8rmy88cdxi1ps9"; depends=[ggplot2 minpack_lm pracma ptw]; };
   Rphylip = derive2 { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
+  Rphylopars = derive2 { name="Rphylopars"; version="0.2.11"; sha256="0bqiicdhfv4p6a04b8kvlyg7vmw49br1932fqvr7009jdjf428jp"; depends=[ape doBy geiger MASS Matrix mvnmle phylolm phytools Rcpp RcppArmadillo]; };
   Rpipedrive = derive2 { name="Rpipedrive"; version="0.1.1"; sha256="1rf16q0wfmd3n9idiqpmdhcw7sq27yk2cy9gfl5l6bzj0y6ax1q8"; depends=[httr jsonlite]; };
   Rpoet = derive2 { name="Rpoet"; version="1.1.0"; sha256="11gp4zg0wc2a21956355rkr3i3dyaabfz0z30z4phn8s7y3yqr92"; depends=[]; };
   Rpolyhedra = derive2 { name="Rpolyhedra"; version="0.4.2"; sha256="0q50f0pp72rwmflxwnridjrcl649kz5h2fm8jfz2pn473mghhya8"; depends=[digest dplyr futile_logger geometry git2r R6 rgl stringr testthat XML]; };
@@ -3841,9 +3905,9 @@ in with self; {
   Rquake = derive2 { name="Rquake"; version="2.4-0"; sha256="14s2mjq9qqxfvlwmq9126h67y5wr7irlc7945pgv1ab9hl1lgmz8"; depends=[GEOmap MBA minpack_lm rgl RPMG RSEIS]; };
   Rquefts = derive2 { name="Rquefts"; version="1.0-5"; sha256="0c3738rn3abmah61kxyys3ab807r7mhcj10shkraq3li6v7aw5kv"; depends=[meteor Rcpp]; };
   Rramas = derive2 { name="Rramas"; version="0.1-6"; sha256="16aapvz9j81lvi5ryj41bvn3wf51b0gynnzs0jpvva4m3mvzw6an"; depends=[diagram]; };
-  Rraven = derive2 { name="Rraven"; version="1.0.7"; sha256="0a08a3mix61lwndagmmm2aqlmw3zqfd1rjwg0yxxc20j4ns6h4hh"; depends=[NatureSounds pbapply seewave tuneR warbleR]; };
+  Rraven = derive2 { name="Rraven"; version="1.0.8"; sha256="00qlisn7026y0dhgb9ig8liky5k8xrw7app5dj6f8123bi6ligv6"; depends=[NatureSounds pbapply seewave tuneR warbleR]; };
   Rrdrand = derive2 { name="Rrdrand"; version="0.1-16"; sha256="0j9yyvq8r1cgwj3kw1ak6hyazr67f2q0c1m651wdm0wcvm1ajx7f"; depends=[]; };
-  Rsagacmd = derive2 { name="Rsagacmd"; version="0.0.1"; sha256="15lk35kb69q55z7mjv4ar5nkfn6nkah802272jp9wvf5r5zlw5zp"; depends=[foreign magrittr minpack_lm raster rgdal rlang sf stringr XML]; };
+  Rsagacmd = derive2 { name="Rsagacmd"; version="0.0.2"; sha256="02mz1q6zjrrjrf40d8y7xpzilk2f14zpsczcw9qr5v9zzch4kjxb"; depends=[foreign magrittr minpack_lm raster rgdal sf stringr XML]; };
   Rsampletrees = derive2 { name="Rsampletrees"; version="1.0.2"; sha256="1wz3dp1myjkxzf9l5mfli3dfbkc2fwg70xx7m9cxa06vq0a4w5pv"; depends=[ape haplo_stats Rcpp]; };
   Rsampling = derive2 { name="Rsampling"; version="0.1.1"; sha256="14rp3j7iaii4rc3jkbijmbgvlagxxqjkz3vvfwwpxix43rsi8zsk"; depends=[]; };
   Rsconctdply = derive2 { name="Rsconctdply"; version="0.1.3"; sha256="12xc1laxgivv4szp8341pvhmxnzzzzc2s4jhnqsqrbx71lbd9szg"; depends=[dplyr rjson rsconnect]; };
@@ -3861,6 +3925,7 @@ in with self; {
   RtextSummary = derive2 { name="RtextSummary"; version="0.1.0"; sha256="1kqzml8zmkqx6200g2jw5mmg5g043h6mr1skms1c2q905avd46gv"; depends=[dplyr Matrix_utils mlapi R6 stringr text2vec tidyr tokenizers]; };
   Rtextrankr = derive2 { name="Rtextrankr"; version="1.0.0"; sha256="16dby3xsfcjyp35xdflmgnh7zkqygfbffvj4jqa565vj9ksnq5ir"; depends=[igraph KoNLP sets stringi]; };
   Rtnmin = derive2 { name="Rtnmin"; version="2016-7.7"; sha256="0f8ii87v29v61b93hx2yxdppp3nvgnl5imp80sbb4bjsdg0mf989"; depends=[]; };
+  Rtrack = derive2 { name="Rtrack"; version="0.9.3"; sha256="0b73cr299hv2k6ia4ama6ciq9506wy2w2cyh1bv5wdqiyvf8hzia"; depends=[crayon KernSmooth openxlsx pbapply randomForest raster readxl rgeos rjson sp]; };
   Rtsne = derive2 { name="Rtsne"; version="0.15"; sha256="0v17vxizrs1msay24xl2bckfajr2c82wpqj07lyssbrq197nwdsn"; depends=[Rcpp]; };
   Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.7"; sha256="12hf9r3mhjr9sawdvf7qhjf1zph2q64f77i81jwvy7awidbm0kja"; depends=[]; };
   RtutoR = derive2 { name="RtutoR"; version="1.2"; sha256="19wmi30b5i6zj673d76gxl6j0k3ppfyl5fqrcs0dwmmadrrvbajq"; depends=[colourpicker devtools dplyr DT FSelector ggplot2 ggthemes officer plotly rlang rmarkdown shiny shinyBS shinydashboard shinyjs tidyr]; };
@@ -3876,15 +3941,16 @@ in with self; {
   Rwinsteps = derive2 { name="Rwinsteps"; version="1.0-1.1"; sha256="0kaxhaa65k1hkhl4kqfxyyk6v967xncrdr5hy8b808zlbqriankc"; depends=[]; };
   Rwordseg = derive2 { name="Rwordseg"; version="0.3-2"; sha256="10jhfalh45rrcm76hwz4b5yl408ndx2wkr0i3q1avx6z6i45d8s6"; depends=[HMM tmcn]; };
   RxCEcolInf = derive2 { name="RxCEcolInf"; version="0.1-4"; sha256="0qyhxqd5yi4d1prj0i4g3k29zi0mx6wkjx24ynb4arxw6h1vabh4"; depends=[coda lattice MASS MCMCpack mvtnorm]; };
-  RxODE = derive2 { name="RxODE"; version="0.9.1-4"; sha256="0bfrk7ajpfwfp5f6p34wr8w9fx507j9yvr81v3szjnv1sbrwbwg4"; depends=[assertthat brew cli crayon digest dparser ggforce ggplot2 inline lotri magrittr Matrix memoise mvnfast pillar PreciseSums Rcpp RcppArmadillo remotes rex sys units]; };
+  RxODE = derive2 { name="RxODE"; version="0.9.1-8"; sha256="01a1f6lwfqpx8jrm1gnmc9mh69zjd53s8s3dmymxyq7lpj62b1qk"; depends=[assertthat brew cli crayon digest dparser ggforce ggplot2 inline lotri magrittr Matrix memoise mvnfast pillar PreciseSums Rcpp RcppArmadillo remotes rex sys units]; };
   RxnSim = derive2 { name="RxnSim"; version="1.0.3"; sha256="0fi4aic2brfbl6rsnnfwqq7l8ygvlmr98w0v749l3djpgn7sfrig"; depends=[data_table fingerprint rcdk rJava]; };
   Rxnat = derive2 { name="Rxnat"; version="1.0.6"; sha256="1wzb4dihzbyp23yggi1n7c5ikbq6h2gl9v7bgwxf00y2gwlabjx4"; depends=[httr RCurl]; };
-  Ryacas = derive2 { name="Ryacas"; version="1.0.0"; sha256="1jgii90mm3z8djrq6hir49zr739z1wzlcq8py6xfjkqg87g1dlrn"; depends=[magrittr Rcpp]; };
+  Ryacas = derive2 { name="Ryacas"; version="1.1.1"; sha256="0gp9ab106c0x9za4laqa08g6cyzpwr2gpbfibk4spr45fldz2969"; depends=[magrittr Rcpp]; };
+  Ryacas0 = derive2 { name="Ryacas0"; version="0.4.2"; sha256="0k8q9v9016x8vfskwa6zmh2rbblqqfk8bryxslxaj8irzvkggnvl"; depends=[Rcpp settings xml2]; };
   S2sls = derive2 { name="S2sls"; version="0.1"; sha256="0qq1rff2cdgrm5rj69jxgrl71i0wmzyn424fdvcg02zdv9ggqhd3"; depends=[spanel]; };
   SACCR = derive2 { name="SACCR"; version="2.3"; sha256="0q5fpzmfj08mzxbxksi5fgkfw8n4zsmh37zqnbwkz30llh620hgv"; depends=[data_tree jsonlite Trading]; };
   SACOBRA = derive2 { name="SACOBRA"; version="1.1"; sha256="123kbksamx30l4kib8pkv44knra8yqhvjwbx61xxi7k88qaxvmin"; depends=[mgcv R6 testit]; };
   SADEG = derive2 { name="SADEG"; version="1.0.0"; sha256="02ilykbdanx1isbd80c43hqpzkckq6dg40y0rklcnck6v96qky3n"; depends=[]; };
-  SADISA = derive2 { name="SADISA"; version="1.1"; sha256="00qixqbbkpc8g8nmggvrknsc03v9w04nb4dlcq91fs7g76rpzs92"; depends=[DDD pracma]; };
+  SADISA = derive2 { name="SADISA"; version="1.2"; sha256="0yn7f360wl5ykys5zln159xh2h8bx7zb5ddwhv1migjlqry506hp"; depends=[DDD pracma]; };
   SAFD = derive2 { name="SAFD"; version="2.1"; sha256="078ki9wrmcf80bwhx4d56gas79xrc17a0081i13yxvjqn6w7f7jd"; depends=[]; };
   SAGMM = derive2 { name="SAGMM"; version="0.2.4"; sha256="18ig7ncmrfs5cyc28xpbqk9zjhwqfp7gwix7y2v1j4j2wbdc2hzs"; depends=[lowmemtkmeans mclust MixSim Rcpp RcppArmadillo]; };
   SALES = derive2 { name="SALES"; version="1.0.0"; sha256="1kjmlwa4v2i7hzm947xby9jr0irsf4c851f7jyqyhqna9c65rx0g"; depends=[Matrix]; };
@@ -3904,7 +3970,7 @@ in with self; {
   SASmixed = derive2 { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
   SASxport = derive2 { name="SASxport"; version="1.6.0"; sha256="1g8sfi61im9i04whybwqq4rl6glisbziqaag1mdfqykxryakjf04"; depends=[Hmisc stringi]; };
   SAVE = derive2 { name="SAVE"; version="1.0"; sha256="1m9rrga8x00hlvn0c1jcz6yz14pdm6h3dq14905mq49sw63c7zll"; depends=[coda DiceKriging]; };
-  SAVER = derive2 { name="SAVER"; version="1.1.1"; sha256="1jkyxnpvbm6zrhf2q9i98gchv786wh83mx0i1vnz2hqa766jk2nj"; depends=[doParallel foreach glmnet iterators Matrix]; };
+  SAVER = derive2 { name="SAVER"; version="1.1.2"; sha256="1s1kw8idkaj7j90fw4qn9k0wd4vz0sblsk06ry6lm4afcar0p158"; depends=[doParallel foreach glmnet iterators Matrix]; };
   SAutomata = derive2 { name="SAutomata"; version="0.1.0"; sha256="0d9q7bm2f7s4aslml40n43vwcdkc8rnn9ygydccwi4b9a7y23k58"; depends=[]; };
   SBRect = derive2 { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
   SBSA = derive2 { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp RcppArmadillo]; };
@@ -3920,20 +3986,21 @@ in with self; {
   SCI = derive2 { name="SCI"; version="1.0-2"; sha256="1jvzkdv15ifgf6a3zjfzzcgw2y2vg0wp7yhiamiaqp8xkm142w49"; depends=[fitdistrplus lmomco]; };
   SCINA = derive2 { name="SCINA"; version="1.2.0"; sha256="1gv9widjwvk5j535r1zx6f41ylpa2r4168ya580llgblx85z402d"; depends=[gplots MASS]; };
   SCMA = derive2 { name="SCMA"; version="1.3.0"; sha256="0izpbvgimqyj529nzng94p0cvmz9l545b3ra4ycc23rsbg50q315"; depends=[]; };
+  SCOR = derive2 { name="SCOR"; version="1.1.0"; sha256="0r462g3wciz0kkvzwnd7660giy16q8bk8chm73syrw4fnfk2vdkv"; depends=[doParallel foreach iterators]; };
   SCORER2 = derive2 { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
   SCORPIUS = derive2 { name="SCORPIUS"; version="1.0.4.1"; sha256="00cmlgi5kvi4q8pnq41hbq47243vkycrfplykmkjj9fdnzrlqs8h"; depends=[dplyr dyndimred dynutils ggplot2 MASS Matrix mclust pbapply pheatmap princurve purrr ranger RColorBrewer tidyr TSP]; };
   SCPME = derive2 { name="SCPME"; version="1.0"; sha256="0yhsaaa349wbrswcvp7w8c52wzp7rs3528rs4wqa8b3r3fh983mh"; depends=[doParallel dplyr foreach ggplot2 Rcpp RcppArmadillo RcppProgress]; };
-  SCRABBLE = derive2 { name="SCRABBLE"; version="0.0.1"; sha256="15k8fqcyvbqminqf41n9wx3xm7bg8v47g5vaf65aclj5wn2gn5y2"; depends=[ggplot2 gridExtra pracma rARPACK RColorBrewer Rcpp RcppEigen reshape2]; };
   SCRSELECT = derive2 { name="SCRSELECT"; version="1.3-3"; sha256="118vwnd5gggvdhq7fbs0553l84vh5mhiag41q4svprd7p0pqd9hd"; depends=[mvtnorm]; };
   SCRT = derive2 { name="SCRT"; version="1.3.0"; sha256="0668hjp7m1g7nx4p3ip0z83f1qn83pz0hdkjxxsnl1a8jwgb2748"; depends=[]; };
   SCVA = derive2 { name="SCVA"; version="1.3.0"; sha256="1s29pcx8rhgsnmha78nylvzr8wbffaczb2wbc15x04vd96xp7513"; depends=[ggExtra ggplot2 plotly scales]; };
   SCperf = derive2 { name="SCperf"; version="1.1.1"; sha256="1kqi3sv9ds58l20pdcnjrrbf7fin82j73yqj5rbx4kjdw560ylb2"; depends=[]; };
   SDALGCP = derive2 { name="SDALGCP"; version="0.2.0"; sha256="04yqa0dlr4p6fpc4dsiqwb02j056fz9j8qwf7939b5hpg8k9qwjg"; depends=[geoR maptools mapview Matrix pdist plyr PrevMap progress raster sp spacetime spatstat splancs]; };
+  SDAR = derive2 { name="SDAR"; version="0.9-3"; sha256="173qssvca1ds37x3518q3vfl2185b4fnkprvb52pp7mpv1w1xdrp"; depends=[grImport2 linbin readxl]; };
   SDD = derive2 { name="SDD"; version="1.2"; sha256="0wzgm1hgjv5s00bpd7j387qbvn5zvyrrd5fr2rgyll4cw9p4sd33"; depends=[Hmisc rgl rpanel sm tseries]; };
   SDDE = derive2 { name="SDDE"; version="1.0.1"; sha256="14vql1bypn409w9xcx1jdzff6apiagcz2wng3y24h3mk7yjv9bzy"; depends=[doParallel foreach igraph iterators]; };
   SDLfilter = derive2 { name="SDLfilter"; version="1.2.1"; sha256="1chvg3vh5mwsczbv2ayq9pj1my1i4m2dmr7az1hh00yvlvilfp0y"; depends=[data_table geosphere ggmap ggplot2 ggsn gridExtra maps raster sp trip]; };
   SDMPlay = derive2 { name="SDMPlay"; version="1.2"; sha256="0kafj5z1fi5d824h0n23qzn8a6n8fqm3bfc0pdfypzbaj2arjz3k"; depends=[dismo gbm raster SDMTools]; };
-  SDMTools = derive2 { name="SDMTools"; version="1.1-221.1"; sha256="1fsgnlc7glawimzijp11j53g5bnfp1mdq9wb0754idmxcdi8a99q"; depends=[R_utils]; };
+  SDMTools = derive2 { name="SDMTools"; version="1.1-221.2"; sha256="1xvcd97ikqsfdpk2fddy3k0z1ajqga7nv9bgac9c1wnjk1gqrpgh"; depends=[R_utils]; };
   SDMtune = derive2 { name="SDMtune"; version="0.2.0"; sha256="03bcgmyj3r0bh6ak7bq2skr7mr57qdszpnivjpxr5xisdbws6hkb"; depends=[cli crayon dismo gbm ggplot2 htmltools jsonlite kableExtra maxnet nnet plotROC progress randomForest raster rasterVis Rcpp reshape2 rstudioapi scales stringr whisker]; };
   SDT = derive2 { name="SDT"; version="1.0.0"; sha256="1jwpfd1pnzy9wcl90qv5bgwi19shsw9064dvml9zwbif8yw8dzjj"; depends=[quadprog]; };
   SDaA = derive2 { name="SDaA"; version="0.1-3"; sha256="0z10ba4s9r850fjhnrirj2jgnfj931vwzi3kw9502r5k7941lsx0"; depends=[]; };
@@ -3975,17 +4042,19 @@ in with self; {
   SIN = derive2 { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
   SIRE = derive2 { name="SIRE"; version="1.1.0"; sha256="0f624j087k7krg73bqn2qxdgzq66jyhvzz8n024vz3h4hwagxs5n"; depends=[dplyr igraph magrittr MASS Matrix matrixcalc numDeriv psych Rsolnp stringr systemfit]; };
   SIRItoGTFS = derive2 { name="SIRItoGTFS"; version="0.2.4"; sha256="1hyhjwkv26fpplzqrdh41r8j91la5j0jidbwnh2vla6s3wf7jg47"; depends=[data_table dplyr easycsv reshape2 rgdal rgeos sp]; };
-  SIS = derive2 { name="SIS"; version="0.8-6"; sha256="1749ks5iqlj6lrn0hglifj1iy86dcpqz2pcnf1l798pa05rq8ngd"; depends=[glmnet ncvreg survival]; };
+  SIS = derive2 { name="SIS"; version="0.8-7"; sha256="17fvl58qfwdfn29x9ar9w9v3a26cihcnqb55zgyhmamc57dinchy"; depends=[glmnet ncvreg survival]; };
   SISIR = derive2 { name="SISIR"; version="0.1"; sha256="08lw9y38j5qq00m2vcxsac97lg14j4w1y6607vw8isrb3qb5db9z"; depends=[doParallel expm foreach glmnet Matrix RSpectra]; };
   SIfEK = derive2 { name="SIfEK"; version="0.1.0"; sha256="037ps6yfy7w6i8vm0b78c8w9kdmw312dl5nc2qz86rfk8kjg7w27"; depends=[MASS numDeriv ramcmc smfsb]; };
   SK = derive2 { name="SK"; version="1.1"; sha256="19yg7yc2k4zz29bh42lw2jpjvkdj33f26xkfs8vz8lpp98yjf2vx"; depends=[FitAR GD MASS RColorBrewer rgeos rtop sp]; };
   SKAT = derive2 { name="SKAT"; version="1.3.2.1"; sha256="0ylfz63xiq2zw9nc8nqr89qbhl3fnkhjgg9x7yxjm78vrn640hkl"; depends=[]; };
   SLC = derive2 { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
   SLDAssay = derive2 { name="SLDAssay"; version="1.8"; sha256="04ykj7s9kpvg5bmf7x16154kfpdy45b7y7hhyh31sxlscv7c5bbp"; depends=[]; };
+  SLEMI = derive2 { name="SLEMI"; version="1.0"; sha256="1yfyqxl9sszym418p64zalc2yna9s9qgk9wvviz7n44icsdps33q"; depends=[caret corrplot doParallel e1071 foreach ggplot2 ggthemes gridExtra Hmisc nnet reshape2 stringr]; };
   SLHD = derive2 { name="SLHD"; version="2.1-1"; sha256="0y3ilxd0phmks8zkmpgw7p5zrkwq4k95h976cwk58pavvhfwj9kb"; depends=[]; };
   SLICER = derive2 { name="SLICER"; version="0.2.0"; sha256="10i0hfl6js26n8xwk9pldzm9vv7hmii6gzj04lhqy0g3njds25kp"; depends=[alphahull igraph lle]; };
   SLIDE = derive2 { name="SLIDE"; version="1.0.0"; sha256="0x4fm29r7icg33k8gw3vqvxib8n9a1xwg484x9yffybips9ka22c"; depends=[]; };
   SLOPE = derive2 { name="SLOPE"; version="0.1.3"; sha256="12naak08qjpn6l1ikqwf17h72zk4b5mppgxx7ks9wmnqy9ylhy3x"; depends=[Rcpp]; };
+  SMARTAR = derive2 { name="SMARTAR"; version="1.0.0"; sha256="04v6nvkcjchln8jxa9qm9j2hrxbm8rm9v96v6j313ia8js0krp9q"; depends=[MASS]; };
   SMARTp = derive2 { name="SMARTp"; version="0.1.1"; sha256="0gkhl9j4l67brfmln28m4q4hfi271jlg5aijnjwahlj8nsi6384y"; depends=[covr mvtnorm sn]; };
   SMC = derive2 { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; };
   SMCRM = derive2 { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; };
@@ -4019,7 +4088,7 @@ in with self; {
   SPA3G = derive2 { name="SPA3G"; version="1.0"; sha256="15f38imwqn1zifym2821q7xysvws9vhlif4g16w0pnvk0wlhyb92"; depends=[]; };
   SPADAR = derive2 { name="SPADAR"; version="1.0"; sha256="0xzhcy5nglwx9j2jkm3i9xj1iw1y9wbf6rwfjyhpiwwq6qn8mn5r"; depends=[mapproj RCEIM]; };
   SPARQL = derive2 { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[RCurl XML]; };
-  SPAS = derive2 { name="SPAS"; version="2019.2"; sha256="1jgqywnkfw5mpkc59c4p9cj4x330rjkdj5v87pxrln8jcx7rcl26"; depends=[BB MASS Matrix msm numDeriv plyr]; };
+  SPAS = derive2 { name="SPAS"; version="2020.1.1"; sha256="1bvnyxg3npxv63kikmr30jgc14f1s1a5vfh40qs50nbzq84pl6bx"; depends=[BB MASS Matrix msm numDeriv plyr RcppEigen TMB]; };
   SPAr = derive2 { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; };
   SPAtest = derive2 { name="SPAtest"; version="3.0.0"; sha256="0pq8mbj05x4l3lvdgayxigviirhx6ghf4w5bkpvg9hggkb79ib9y"; depends=[]; };
   SPCALDA = derive2 { name="SPCALDA"; version="1.0"; sha256="1bmp2zz0favmpyp0ap8a2r1mg1nlan7zg5cj75drdnfpqlsn5vgl"; depends=[MASS]; };
@@ -4046,14 +4115,14 @@ in with self; {
   SQB = derive2 { name="SQB"; version="0.4"; sha256="12ii8xlwd2r77bj76j7l43898ras25z3plhhv106jaklhpcnk23m"; depends=[caret nnet pls rpart]; };
   SQDA = derive2 { name="SQDA"; version="1.0"; sha256="0nfimk625wb64010r5r7hzr64jfwgc6rbn13wvrpn0jgayji87h6"; depends=[limma mvtnorm PDSCE]; };
   SQN = derive2 { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
-  SQRL = derive2 { name="SQRL"; version="0.6.3"; sha256="006ahmqrwy2ckq098klvajwfzdmnx58pw0hy1plpw4slp7a3f2ls"; depends=[RODBC]; };
+  SQRL = derive2 { name="SQRL"; version="0.7.0"; sha256="166sl5vy1nf854wr9ps66h8166l1l8yla5d6c9icivyik77nqqjv"; depends=[RODBC]; };
   SQUAREM = derive2 { name="SQUAREM"; version="2017.10-1"; sha256="10xj26x7qjyvzndnbjl5krr9wabnb9cbrnp3m7xg673g8ddr12cv"; depends=[]; };
   SRCS = derive2 { name="SRCS"; version="1.1"; sha256="13zf3cqs53w68f9zc1fkb9ql84rvzn7g1hbykqrbvss8hjaq8x1r"; depends=[]; };
   SRRS = derive2 { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[gtools tcltk2]; };
   SRTtools = derive2 { name="SRTtools"; version="1.2.0"; sha256="1203i6nqclx0faxyvhdaapmfxy8h95jj83svxriqh1hpava5s1dy"; depends=[magrittr]; };
-  SSBtools = derive2 { name="SSBtools"; version="0.4.0"; sha256="0rmvqhhw5zv8za3h8m59sqz0857hryn6c1bpsl4bdnyjzjfqa675"; depends=[Matrix stringr]; };
+  SSBtools = derive2 { name="SSBtools"; version="0.5.0"; sha256="0z6nzsg8mfmnzzf24w7s7lhkp3xd7vlkgjn34x6yps82ry3mhyra"; depends=[Matrix stringr]; };
   SSDM = derive2 { name="SSDM"; version="0.2.6"; sha256="0qyx755h6rqgc6i3mw0vdaw2jx1yclkm9qxb98njkfk8if7wmbmn"; depends=[dismo e1071 earth gbm gplots mgcv nnet randomForest raster rpart SDMTools shiny shinydashboard shinyFiles sp spThin]; };
-  SSDforR = derive2 { name="SSDforR"; version="1.5.9"; sha256="1m09q2dxpbjnqwsan7wqyj3igzypgrj1dx3i24a8n77ddsw6wr3q"; depends=[MAd MASS metafor psych SingleCaseES TSA TTR]; };
+  SSDforR = derive2 { name="SSDforR"; version="1.5.10"; sha256="0gzx16ra5hx3zjrk3ip6f0yzd9sb9gks1njbx1dg0ag9bc007v4r"; depends=[MAd MASS metafor psych SingleCaseES TSA TTR]; };
   SSLASSO = derive2 { name="SSLASSO"; version="1.2-1"; sha256="0x9nbq9lsnq9g47y50z2ymfbj09l2d1lbii2cfjm76nzk3k5lb39"; depends=[]; };
   SSM = derive2 { name="SSM"; version="1.0.1"; sha256="1h8yyzh5rn5jay70kyzvwirfndi049a5w28qigrjv5rxd7ml84l7"; depends=[]; };
   SSN = derive2 { name="SSN"; version="1.1.13"; sha256="0hk138p1jnlda7d2wxlrf2ipkgliqlip1i5xp67aym979g0b3aaj"; depends=[BH igraph lattice maptools MASS Matrix rgdal rgeos RSQLite sp]; };
@@ -4064,11 +4133,12 @@ in with self; {
   SSsimple = derive2 { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
   STAND = derive2 { name="STAND"; version="2.0"; sha256="07wrpmvk0jjlghvrb37xyai48vgzj0fby8y09qdxsxdlgwqg1f3s"; depends=[survival]; };
   STAR = derive2 { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[codetools gss mgcv R2HTML survival]; };
-  STARTS = derive2 { name="STARTS"; version="1.1-6"; sha256="0c1pcknigqbzplcmykr0214kylrl3rjjsnxv4by06icbbj5dscll"; depends=[CDM LAM Rcpp RcppArmadillo sirt]; };
+  STARTS = derive2 { name="STARTS"; version="1.2-35"; sha256="0xf5dck1zp1m1bxj8j02yyvg0y79i1y4bi3a6q1k41zixk3hcn2s"; depends=[CDM LAM Rcpp RcppArmadillo sirt]; };
   STARTdesign = derive2 { name="STARTdesign"; version="1.0"; sha256="1q61l3v8ishzax3ppy0pz4ky4l46472l6j36hjlsa8cl01ik1zjf"; depends=[Rcpp]; };
   STAT = derive2 { name="STAT"; version="0.1.0"; sha256="0x0qpnlcb52k3x8jwiljsamx81hdcjagfpapv63z054bvig0jvgv"; depends=[corrgram dplyr Hmisc psych psycho rmarkdown rpivotTable shiny]; };
   STB = derive2 { name="STB"; version="0.6.3.1"; sha256="0fj1cfxqhijpxl41z799zd7id95jsb84ylrbqzrd1jlp80plyw83"; depends=[Matrix VCA]; };
   STEPCAM = derive2 { name="STEPCAM"; version="1.2"; sha256="03crbc7hag8w333j9c7k0q7zy7xmfid4lq773p74r55jmac5xpjf"; depends=[ade4 ape FD geometry gtools MASS vcd]; };
+  STGS = derive2 { name="STGS"; version="0.1.0"; sha256="0xfwd0jsg3glbr3c5l5yyri4is5kg77ivgr6qlzaxp6p8q7yfzqf"; depends=[brnn glmnet kernlab randomForest rrBLUP]; };
   STI = derive2 { name="STI"; version="0.1"; sha256="1p408y9w2h4ljaq0bsw7vc1xghczjprf558cyg6994m0nv5fh4c4"; depends=[fitdistrplus zoo]; };
   STMedianPolish = derive2 { name="STMedianPolish"; version="0.2"; sha256="0jzgcfhm09cccg2nwbvrmnkah1psbnmg26rc2n7lz26n4b20p3l2"; depends=[gstat maptools nabor reshape2 sp spacetime zoo]; };
   STMotif = derive2 { name="STMotif"; version="1.0.4"; sha256="0667jqpn40y1pw69am59jhkyds9433fm1v67y3vgqi1z1zzpan19"; depends=[ggplot2 RColorBrewer reshape2 scales shiny]; };
@@ -4079,17 +4149,18 @@ in with self; {
   STV = derive2 { name="STV"; version="1.0.1"; sha256="1gzy47s4qg83fagvm19jwpbbplkvxi9qv6ac0j86i0s8v0yrlrks"; depends=[]; };
   STraTUS = derive2 { name="STraTUS"; version="1.1.1"; sha256="0hl8kyg9hsrsqcxg8bcmp5wm70s92scahlac617h2c7rirbjdsxz"; depends=[ape ggplot2 ggtree gmp igraph phangorn RcppAlgos]; };
   SUE = derive2 { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
-  SUMMER = derive2 { name="SUMMER"; version="0.2.3"; sha256="1g1rsl0wr7gy7apkw6zjy39lch2pcd29h46vjkdg0jsmb8l3hk0d"; depends=[ggplot2 maptools Matrix reshape2 spdep survey survival]; };
+  SUMMER = derive2 { name="SUMMER"; version="0.3.0"; sha256="17ymbwga6m2npbvvqqhcnjd89f0jsaz8kwf7n68wwkqvgiqh3qcm"; depends=[ggplot2 maptools Matrix reshape2 sp spdep survey survival viridis]; };
   SVMMaj = derive2 { name="SVMMaj"; version="0.2.9"; sha256="1405gigyjfp8by8nfx4g3rhw9x6r6g7dkpgw52jllv6n4036xa3h"; depends=[dplyr ggplot2 gridExtra kernlab reshape2 scales]; };
   SVMMatch = derive2 { name="SVMMatch"; version="1.1"; sha256="1ykwrhlid4hs466xh3kv6y2qdhgk0jiglg0l3zwk5qlni6p26zc9"; depends=[Rcpp RcppArmadillo]; };
   SVN = derive2 { name="SVN"; version="1.0.1"; sha256="0n93lqb1f2s2qvzc8lrcqmr0fhd57xqbi0ymrqqmll31ns679m92"; depends=[data_table igraph memoise]; };
   SWATmodel = derive2 { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
   SWIM = derive2 { name="SWIM"; version="0.1.0"; sha256="1mhmffmp0nqq7p6invg4rq4wq984g55fg83ysc9ma8rl584cspyz"; depends=[ggplot2 Hmisc nleqslv plyr Rdpack reshape2 spatstat]; };
   SWMPr = derive2 { name="SWMPr"; version="2.3.1"; sha256="1az6ss8wkdgq4l1cmfflajzs7z6w6140bclb289gb090pi69p7gy"; depends=[data_table dplyr ggmap ggplot2 gridExtra httr lattice maptools oce openair RColorBrewer reshape2 tictoc tidyr XML zoo]; };
-  SWMPrExtension = derive2 { name="SWMPrExtension"; version="1.1.1"; sha256="0xhs9fwmj0ba3igliv4qbxdhivfnn2z264ngiz2vvqnkpima0s6w"; depends=[broom dplyr EnvStats flextable ggplot2 ggthemes leaflet lubridate magrittr maptools officer RColorBrewer rgdal rgeos rlang scales sp SWMPr tidyr]; };
+  SWMPrExtension = derive2 { name="SWMPrExtension"; version="1.1.2"; sha256="0123lcb6jfh3gbh2jmdpargry44fncm7j505vpkcp661fcjckymd"; depends=[broom dplyr EnvStats flextable ggplot2 ggthemes leaflet lubridate magrittr maptools officer RColorBrewer rgdal rgeos rlang scales sp SWMPr tidyr]; };
   SYNCSA = derive2 { name="SYNCSA"; version="1.3.3"; sha256="1g00jzghvvhnj2npplh87bwbm479mwldskhard0vjlfmagbhjm8p"; depends=[FD permute RcppArmadillo vegan]; };
   SafeBayes = derive2 { name="SafeBayes"; version="1.1"; sha256="09bhd3z9ia2mvpn1h0hil00j6cm4x9y9ymxc3gj8wd4ybdi3jqlm"; depends=[]; };
   SafeQuant = derive2 { name="SafeQuant"; version="2.3.1"; sha256="0rgi0ij33sdvkpmjynfmsj0f29kl9l9ylsqckg5x4v49m6mzq1yh"; depends=[Biobase corrplot data_table epiR gplots limma optparse seqinr]; };
+  SailoR = derive2 { name="SailoR"; version="1.0"; sha256="1gb50qd9s3dwdvl6qihpkgwlhckbhn7h3wpz9k74xgyd874krcld"; depends=[]; };
   Sample_Size = derive2 { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
   SampleSize4ClinicalTrials = derive2 { name="SampleSize4ClinicalTrials"; version="0.1.1"; sha256="15q1jsvnz3bhnjil0wbladahac0ppx3qgg5qz7z70vnivgjah606"; depends=[]; };
   SampleSizeMeans = derive2 { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; };
@@ -4102,7 +4173,7 @@ in with self; {
   Scale = derive2 { name="Scale"; version="1.0.4"; sha256="1fa3840kji34qpbw6mxfavk8wq0vq0vx2w6ya71idbkxnvwc3y06"; depends=[Hmisc MASS psych]; };
   Scalelink = derive2 { name="Scalelink"; version="1.0"; sha256="0likfjw5999zd0kv1ykby78bl0x3xgh0v1yjssk7fnw1ghkxgdib"; depends=[Rcpp RcppParallel]; };
   SchemaOnRead = derive2 { name="SchemaOnRead"; version="1.0.2"; sha256="0xa53mqmv31gid6n82bnfmds6p8nkjlmkj15hyycxhja2j752knm"; depends=[caTools foreign haven ncdf4 network readbitmap readODS readxl tiff xml2]; };
-  SciViews = derive2 { name="SciViews"; version="0.9-13"; sha256="11zkq3dz2c7l8qxm3wrr3b5bb9h70sf9qxaz983lqwpjva30baa8"; depends=[ellipse]; };
+  SciViews = derive2 { name="SciViews"; version="0.9-13.1"; sha256="0wm4vnjh65jxyg82m8l08kanl414qiaz0cc6srshb8sdx2sixkfi"; depends=[ellipse]; };
   ScoreGGUM = derive2 { name="ScoreGGUM"; version="1.0"; sha256="0f7sjfr3a8b8y1n9lrwyiyyljls3rbz84d9s93psi2fnmjj0kvgw"; depends=[]; };
   ScorePlus = derive2 { name="ScorePlus"; version="0.1"; sha256="07hmrx1k256i4cs605j5bpg6brzypryxlcnjkzqak8cw4f26k24q"; depends=[combinat igraph igraphdata limSolve RSpectra]; };
   ScottKnott = derive2 { name="ScottKnott"; version="1.2-7"; sha256="0jxyz0adywfvz0mks5s3kjkb2hds1g0gswshpl73hr1ypr9n39cx"; depends=[]; };
@@ -4126,9 +4197,9 @@ in with self; {
   Select = derive2 { name="Select"; version="1.4"; sha256="1qx4wwxxwjq31vf645xvwb0y2z5h4v6ca8fcrfpaj5kc33f333v2"; depends=[ade4 FD lattice latticeExtra Rsolnp]; };
   SelectBoost = derive2 { name="SelectBoost"; version="1.4.0"; sha256="14i6dgg1yqnghjjfvi7l58kqm6pry9b91sy9gkwrvfqg0nz1dpny"; depends=[Cascade glmnet igraph lars msgps Rfast]; };
   SelvarMix = derive2 { name="SelvarMix"; version="1.2.1"; sha256="02d16ffw5syq0d3yiim9jgrjlz99n956zxp23idpsmq6lb2whq66"; depends=[glasso Rcpp RcppArmadillo Rmixmod]; };
-  SemNeT = derive2 { name="SemNeT"; version="1.1.1"; sha256="0magjdc8k1ln8ssfy50ihsnx9ni89j6iir60dbgbwgsyvg8rcqxk"; depends=[doParallel dplyr foreach ggplot2 igraph lsa magrittr NetworkToolbox networktools pbapply plyr purrr qgraph RColorBrewer SemNetCleaner]; };
-  SemNetCleaner = derive2 { name="SemNetCleaner"; version="1.1.1"; sha256="0ngnk4pz67caawg3jn46dv5jk4kppfdxhl1823bvzjw5nbw468wa"; depends=[foreign hunspell R_matlab readxl searcher SemNetDictionaries stringdist]; };
-  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.1.4"; sha256="1vqb4jbg56n45c6avc8srrksw82m2l1w0qf69cxpfd2gac62phrf"; depends=[]; };
+  SemNeT = derive2 { name="SemNeT"; version="1.1.2"; sha256="07vgnfj4wirfpc9mjy6m0qd3pc0423qq8bvpk5zzmynvaqgnb89j"; depends=[doParallel dplyr foreach ggplot2 igraph lsa magrittr NetworkToolbox networktools pbapply plyr purrr qgraph RColorBrewer SemNetCleaner]; };
+  SemNetCleaner = derive2 { name="SemNetCleaner"; version="1.1.3"; sha256="177r9z2z8l5ri2h3s94day8d19n13hc4861vc6fcymaa35nh0z02"; depends=[foreign hunspell R_matlab readxl searcher SemNetDictionaries stringdist]; };
+  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.1.5"; sha256="179dgq65m4kzbqxgcicnchahslildc43f506sa7x2prbr7by27d3"; depends=[]; };
   Semblance = derive2 { name="Semblance"; version="1.1.0"; sha256="1kzrg5z3244nx9y37p092wpangni3fxpx04i5fb4dhrmav4rvgab"; depends=[DescTools fields msos PerformanceAnalytics]; };
   SemiCompRisks = derive2 { name="SemiCompRisks"; version="3.3"; sha256="06anhf0kqaz4i84g73w3l4gf0q2mwi00vlkciqfbxpwgrbacplf6"; depends=[Formula MASS survival]; };
   SemiMarkov = derive2 { name="SemiMarkov"; version="1.4.6"; sha256="0nga790kcrvmbrx5asp4062711x0kjsccc246l4syiiw30b769ig"; depends=[MASS numDeriv Rsolnp]; };
@@ -4159,7 +4230,7 @@ in with self; {
   ShinyImage = derive2 { name="ShinyImage"; version="0.1.0"; sha256="0nhsaq6i9lr8gqpdkahw3qr0c0cb0qwc0nqpk1ism21l6zg6ahc9"; depends=[EBImage R6 shiny shinyjs]; };
   ShinyItemAnalysis = derive2 { name="ShinyItemAnalysis"; version="1.3.1"; sha256="1s1kb1rrppk0kfqywgsmyfl32hrq9ywv8241n9d3xv88cflxz237"; depends=[corrplot cowplot CTT data_table deltaPlotR difNLR difR DT ggdendro ggplot2 gridExtra knitr latticeExtra ltm mirt moments msm nnet plotly psych psychometric reshape2 rmarkdown shiny shinyBS shinydashboard shinyjs stringr VGAM xtable]; };
   ShinyTester = derive2 { name="ShinyTester"; version="0.1.0"; sha256="0wm4rl2p8ggw6v2chk9b6ygh5y8p8cwzbyra0nr0qr2ka97didp8"; depends=[dplyr purrr readr stringr tidyr visNetwork]; };
-  ShortForm = derive2 { name="ShortForm"; version="0.4.3"; sha256="0v7aq45z1kdmqkrfpas2z2kzdsw6z3v16pp6zmksrnjcd27ri41c"; depends=[ggplot2 lavaan stringr tidyr]; };
+  ShortForm = derive2 { name="ShortForm"; version="0.4.4"; sha256="05ia1x8hmaa8df77jbs4nd04jfbglr5z6hfg9v702zhvap0mkijj"; depends=[ggplot2 lavaan stringr tidyr]; };
   ShrinkCovMat = derive2 { name="ShrinkCovMat"; version="1.4.0"; sha256="0iyri3syjk9xv49d87fdyhnxg5c5x827vnak8vgckkkp62sdln2q"; depends=[Rcpp RcppArmadillo]; };
   SiER = derive2 { name="SiER"; version="0.1.0"; sha256="1ng6vnh30z6z1nvclsdzc9gdbrsrb2kqdqvs6fwm0j1zqlk12x0y"; depends=[]; };
   SiMRiv = derive2 { name="SiMRiv"; version="1.0.3"; sha256="1kzvbzmqcxs0sh23nmjd39zkg68kbnc5djpbjhqhn55qjdfx5776"; depends=[mco raster rgdal sp]; };
@@ -4170,7 +4241,7 @@ in with self; {
   SignifReg = derive2 { name="SignifReg"; version="2.1"; sha256="01h6cz602m9jpnkpgbr5smmn3xp5aw5h5xl32kyhxqhybg75j6fj"; depends=[]; };
   Sim_DiffProc = derive2 { name="Sim.DiffProc"; version="4.4"; sha256="14qdz49gyjaja6yj053iv998mrib3nbzzf02g30sl5y0cxkpmnd1"; depends=[Deriv MASS]; };
   Sim_PLFN = derive2 { name="Sim.PLFN"; version="1.0"; sha256="1jmsydhpfv2z9cr99hfy8cairhkkxpwk4wnz1adixwxazkn7qfah"; depends=[DISTRIB FuzzyNumbers]; };
-  SimBIID = derive2 { name="SimBIID"; version="0.1.2"; sha256="1xn5qpnyna125qpj5si9c94b4kxzj5nd86k3fplygdm51dc0m499"; depends=[coda dplyr ggplot2 mvtnorm purrr RColorBrewer Rcpp RcppArmadillo RcppXPtrUtils tibble tidyr]; };
+  SimBIID = derive2 { name="SimBIID"; version="0.1.3"; sha256="1vbib8ajpph35ahyv0x431y9xscinnvzvjzwhw9l810n1agbfay9"; depends=[coda dplyr ggplot2 mvtnorm purrr RColorBrewer Rcpp RcppArmadillo RcppXPtrUtils tibble tidyr]; };
   SimComp = derive2 { name="SimComp"; version="3.3"; sha256="04qkis20zk0z42bv4nznffqlpwby0y0ij27gj4sa0ha864pg0hi5"; depends=[mratios multcomp mvtnorm]; };
   SimCop = derive2 { name="SimCop"; version="0.7.0"; sha256="1yrdy77a9h14v92c63ng8phi2ig73wy4xjjdb75322grc0bd3jq6"; depends=[quadprog]; };
   SimCorMultRes = derive2 { name="SimCorMultRes"; version="1.7.0"; sha256="10snjwrh95407iracbc52b5cvr3sp2539rrjp7fw63q50pjl285v"; depends=[evd]; };
@@ -4179,13 +4250,13 @@ in with self; {
   SimDissolution = derive2 { name="SimDissolution"; version="0.1.0"; sha256="1rdsxykh740h22ln635m0ysm00pdw94vp7qhgify4mcvc46c3632"; depends=[alabama dplyr mvtnorm]; };
   SimEUCartelLaw = derive2 { name="SimEUCartelLaw"; version="1.0.1"; sha256="1wg9sayk55mp3f2qykvfk0cbqh050vh0n1fhpq4fmlxqll87aml9"; depends=[plot3D plot3Drgl rgl]; };
   SimHaz = derive2 { name="SimHaz"; version="0.1"; sha256="04q4xyc1ki1zr3grm3khfg0kbykjy3j9qpg332l7pxp4j3wa3aw3"; depends=[survival]; };
-  SimInf = derive2 { name="SimInf"; version="6.3.0"; sha256="013qb7irn2gjhylmlp9h6c5knq22lkkjr16pyj65dil6wywh58gf"; depends=[Matrix]; };
+  SimInf = derive2 { name="SimInf"; version="6.4.0"; sha256="0nq20amk41xs4dpxxrllrxnnb8wqf5sshbvgdlm93y7dhamlv8x3"; depends=[Matrix]; };
   SimJoint = derive2 { name="SimJoint"; version="0.2.2"; sha256="1b88iv64hhil96cyfc3925askf7vfkr609x1qwwcw6pqi8bw1q4y"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   SimMultiCorrData = derive2 { name="SimMultiCorrData"; version="0.2.2"; sha256="0brszbqxf40y65xp96c5hp7hhvz3gv0xlg93r5ik8qdh0bn0y1sw"; depends=[BB GenOrd ggplot2 Matrix nleqslv psych triangle VGAM]; };
   SimPhe = derive2 { name="SimPhe"; version="0.2.0"; sha256="01kzypahw41jk8s2c92h0k9w32yaicis07wb6k8qlqcmv0zj8xry"; depends=[]; };
   SimRAD = derive2 { name="SimRAD"; version="0.96"; sha256="0ivvd3k04v1akbblxcjhlyc315z3ig7wjs0g3b37lvlfp54ppbrg"; depends=[Biostrings ShortRead zlibbioc]; };
   SimRVPedigree = derive2 { name="SimRVPedigree"; version="0.3.0"; sha256="1ppms2cirdhm8lsfl74mfc1f9zwc7lin6r5xs649czqlj63yzk4i"; depends=[dplyr kinship2]; };
-  SimRVSequences = derive2 { name="SimRVSequences"; version="0.1.3"; sha256="0cz4kdl9bc1lc8y1vqyc3ppnviapid36ykvdqxmrwilijpd4d2b3"; depends=[dplyr intervals kinship2 magrittr Matrix reshape2 rlang SimRVPedigree]; };
+  SimRVSequences = derive2 { name="SimRVSequences"; version="0.2.0"; sha256="01rxbncywbqmx4sww67f772lpd6ws0hjcqv3mhnpkiqbsmhrqy64"; depends=[dplyr intervals kinship2 magrittr Matrix reshape2 rlang SimRVPedigree]; };
   SimReg = derive2 { name="SimReg"; version="3.0"; sha256="188q399xcrvjw7y7lf3hfbb7x0m0hc4zaf9i1w2c4xzswmvljd8r"; depends=[ontologyIndex ontologyPlot ontologySimilarity Rcpp]; };
   SimRepeat = derive2 { name="SimRepeat"; version="0.1.0"; sha256="1vq82wlnas0jkl8hlj7dnnbn4y1a56lmszs4w7wya7acri92gkqm"; depends=[BB ggplot2 MASS Matrix nleqslv SimCorrMix SimMultiCorrData triangle VGAM]; };
   SimSCRPiecewise = derive2 { name="SimSCRPiecewise"; version="0.1.1"; sha256="0mhlx9m5db8a40wf275qh59345676m8bpjjmyx1v22f6m9p3b2n4"; depends=[]; };
@@ -4212,7 +4283,7 @@ in with self; {
   Sleuth2 = derive2 { name="Sleuth2"; version="2.0-5"; sha256="18rp23dr55p2zqxqj5i86gi8j25b0y7hc2p88rxqszgmbyn5ynhi"; depends=[]; };
   Sleuth3 = derive2 { name="Sleuth3"; version="1.0-3"; sha256="0ngwri80cwqs50wjza8qyzzwign4ag1ck7fa1x7q5x08w9x6w08m"; depends=[]; };
   SmCCNet = derive2 { name="SmCCNet"; version="0.99.0"; sha256="0ixvh1pd1gzbscwg4xjlcgxq5c9vqahil0fysfjc3fnba3wiidzx"; depends=[igraph Matrix pbapply PMA]; };
-  SmallCountRounding = derive2 { name="SmallCountRounding"; version="0.3.0"; sha256="1cy5vbsb7a62hf8rarq5fmkqn23cf2jvsbl0hcwd68h37b8sparp"; depends=[Matrix SSBtools]; };
+  SmallCountRounding = derive2 { name="SmallCountRounding"; version="0.4.0"; sha256="0rx47hvm4wkmrj1hrwaa8j61y3agfb09n048j9xlda5rismaqk8z"; depends=[Matrix SSBtools]; };
   SmartEDA = derive2 { name="SmartEDA"; version="0.3.2"; sha256="153bh9igdiq93ydibmfj9xklc5qj66zsakgkynk0apnczzzipn3y"; depends=[data_table GGally ggplot2 gridExtra ISLR rmarkdown sampling scales]; };
   SmartSVA = derive2 { name="SmartSVA"; version="0.1.3"; sha256="10a8s2znsg8ywqkq9fsxiyqfsprrx33pqissazp2vmabs11mg4np"; depends=[isva Rcpp RcppEigen RSpectra sva]; };
   SmartSifter = derive2 { name="SmartSifter"; version="0.1.0"; sha256="16rzma87k27qg6qy39mzywdj8pzkp7r9q7bpqyikazp3fk2nmfri"; depends=[mvtnorm rootSolve]; };
@@ -4239,18 +4310,18 @@ in with self; {
   SongEvo = derive2 { name="SongEvo"; version="1.0.0"; sha256="0mc5wlf5axbflys6g8b7xg0di3wwkli7q0a9fby6598fq9hbaqpd"; depends=[boot geosphere lattice sp]; };
   SorptionAnalysis = derive2 { name="SorptionAnalysis"; version="0.1.0"; sha256="0drns1ajcga5z56hcgjxld1riwjn7vli8k1ma1xqifpy1qwy7ci6"; depends=[]; };
   SortableHTMLTables = derive2 { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[brew testthat]; };
-  SortedEffects = derive2 { name="SortedEffects"; version="1.0.0"; sha256="1zjzkp640y5nrn89d7si9fb46gawizkddywj3d7dhnvff7x2ay77"; depends=[boot Hmisc quantreg rlist SparseM]; };
+  SortedEffects = derive2 { name="SortedEffects"; version="1.1.0"; sha256="14ddalkbk2bfjxpx3ppcm9ffdqxfi1d44nngbczi8923s9v2y1nc"; depends=[boot dummies Hmisc pbapply quantreg rlist SparseM]; };
   SoundexBR = derive2 { name="SoundexBR"; version="1.2"; sha256="0chc332v3wcz30v70yvdxhvcfdmvf4fj193cn00gl899xfxal89p"; depends=[]; };
-  SourceSet = derive2 { name="SourceSet"; version="0.1.1"; sha256="1326p28mngvi77b98n62cg6rln1qscyxz0616h7apc23ppdl7ybz"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
+  SourceSet = derive2 { name="SourceSet"; version="0.1.3"; sha256="159kg4pna24yihkghxc2k5f56dqk8aypxcmj1whgnajmgab29ry1"; depends=[graph gRbase gtools igraph plyr progress reshape2 scales]; };
   SoyNAM = derive2 { name="SoyNAM"; version="1.6"; sha256="1vwl2mknk6x0sgk0baxsvb6xy4i7mf2ypkmc9lx869nakrx1ypah"; depends=[lme4 NAM reshape2]; };
-  SpATS = derive2 { name="SpATS"; version="1.0-9"; sha256="1q49n4snvrfhw0774q83vjxrip5la28jmbl3vijhf15ycbq0kwrf"; depends=[data_table fields plot3Drgl spam]; };
+  SpATS = derive2 { name="SpATS"; version="1.0-10"; sha256="0h1xf01kar69nr96vf1y19rd543fzysv391z992mqrr98dzws9dc"; depends=[data_table fields plot3Drgl spam]; };
   SpNMF = derive2 { name="SpNMF"; version="0.1.1"; sha256="1xybxx47i3ww5d7chwl38xc48fbsclgyxcki8h85c6dkm49dxy8i"; depends=[NMF]; };
   SpNetPrep = derive2 { name="SpNetPrep"; version="1.1"; sha256="1y3j7mwjxv69lrgqvi8kxvhlmdyr8v7gbg17741008xb32kgma8h"; depends=[leaflet maptools prodlim raster rgdal shiny shinythemes sp spatstat]; };
   SpaCCr = derive2 { name="SpaCCr"; version="0.1.0"; sha256="0qm1fr6nnax3i1i77fi73x1z8db557avh6kivs0nskb1dfj8ri4m"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo tidyr]; };
   SpaDES = derive2 { name="SpaDES"; version="2.0.4"; sha256="1ihxkr2c7rfpb02chmdv393nfc1id1cg7lq8pbb64xm5vdpyj0bv"; depends=[quickPlot reproducible SpaDES_addins SpaDES_core SpaDES_tools]; };
   SpaDES_addins = derive2 { name="SpaDES.addins"; version="0.1.2"; sha256="0z1n48kfwy460zfam88ayfiq8sbzvnf6cpkasr74nykr4fabs5ha"; depends=[devtools magrittr miniUI reproducible rstudioapi shiny SpaDES_core stringi]; };
-  SpaDES_core = derive2 { name="SpaDES.core"; version="0.2.6"; sha256="0mqr76qxw0c87ansq4v7v9cb41cgph8sw3lfgv13f3l7mc34kvm6"; depends=[backports codetools crayon data_table DEoptim DiagrammeR dplyr fastdigest fpCompare httr igraph lubridate quickPlot R_utils raster RCurl reproducible stringi]; };
-  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.2"; sha256="0sda1r7vzfzhpk08dvix4lgz1i40dhqqrb7m917nvjd7i8q6jq7b"; depends=[bit checkmate CircStats data_table fastmatch ff ffbase fpCompare magrittr quickPlot raster Rcpp reproducible rgeos sp]; };
+  SpaDES_core = derive2 { name="SpaDES.core"; version="0.2.7"; sha256="0m2yn907p884xq6da75ji87r5p3zzygkwxa50isz8lgnp31xmgpy"; depends=[backports codetools crayon data_table DiagrammeR dplyr fastdigest fpCompare future httr igraph lubridate quickPlot R_utils raster RCurl reproducible stringi whisker]; };
+  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.3"; sha256="0rly10mfk8r2c6a7p8372aagsiv2dk9s2apqvdvcj7frcac3jz3y"; depends=[backports bit checkmate CircStats data_table fastmatch ff ffbase fpCompare magrittr quickPlot raster Rcpp reproducible rgeos sp]; };
   SpaTimeClus = derive2 { name="SpaTimeClus"; version="1.0"; sha256="1l204b8yd11pxwcb026xy39f4lps4sqk6mml8cybnjch8clk9djc"; depends=[Rcpp RcppArmadillo]; };
   SpadeR = derive2 { name="SpadeR"; version="0.1.1"; sha256="0iy2rkq4vvps1a73kqq37zpsyl4pvl3vh07dwvpfhvp7f8nxbx99"; depends=[]; };
   SparkR = derive2 { name="SparkR"; version="2.4.4"; sha256="181qys7whk061bk8gl8ah34g4wk3a0lw40dnx18nj8yf5iq6yvzd"; depends=[]; };
@@ -4261,7 +4332,7 @@ in with self; {
   SparseLPM = derive2 { name="SparseLPM"; version="1.0"; sha256="1mpjf7yk2haa8hch315davb6nrhxhy0w2vgw2x4111rn4bskhd8m"; depends=[gtools Rcpp RcppArmadillo vegan]; };
   SparseM = derive2 { name="SparseM"; version="1.77"; sha256="0p6ljma2h12cq1xmy0cxb48ih8dhxxbnwkqzvx3cckxf2kprycm9"; depends=[]; };
   SparseMDC = derive2 { name="SparseMDC"; version="0.99.5"; sha256="0d3ashk3l9fjdbiyjhaxc05ayyscissrg7lwhnh46hv3fydbixlj"; depends=[doParallel doRNG foreach]; };
-  SparseMSE = derive2 { name="SparseMSE"; version="1.2.1"; sha256="1dppb588bqq5s9dg86bfbml65j0k8vbcj8r85ch5dc95q2bxa2li"; depends=[lpSolve]; };
+  SparseMSE = derive2 { name="SparseMSE"; version="2.0.0"; sha256="0i58lq4kqb9gdhd1r3v7czjaz76y9gyf0avf37m9z12sw8kwmdac"; depends=[lpSolve Rcapture]; };
   SparseTSCGM = derive2 { name="SparseTSCGM"; version="2.5"; sha256="004hbk5fdd5b5hdvg25wl1908pfya26brm2pz00zypfvis99lps3"; depends=[abind flare glasso longitudinal MASS mvtnorm network QUIC]; };
   SpatEntropy = derive2 { name="SpatEntropy"; version="0.1.0"; sha256="0nk399anjhsdki9cra650ynk6sa0366495470sawxcfs3vxmlzrl"; depends=[spatstat]; };
   SpatMCA = derive2 { name="SpatMCA"; version="1.0.1.0"; sha256="1sjrm1md4lmhyq1yw3np4llkgdskw3mk667jr0k3isjmr6z88gxa"; depends=[fields MASS Rcpp RcppArmadillo RcppParallel]; };
@@ -4274,7 +4345,7 @@ in with self; {
   SpatialFloor = derive2 { name="SpatialFloor"; version="1.1.0"; sha256="07mwgcvkkq478l6wxvrdjs9d578x0kgs5xy86lgy5my0xqfcv6y8"; depends=[blocksdesign fields reshape2 taRifx]; };
   SpatialGraph = derive2 { name="SpatialGraph"; version="1.0-2"; sha256="0cwswa5g3a6ng8qkwi04jz9pma4i0c16m7jpq6z3djzjin0znyk2"; depends=[igraph rgeos shape sp splancs]; };
   SpatialML = derive2 { name="SpatialML"; version="0.1.3"; sha256="0akip0kkd1jjid12iwmaxkhkvcfzkxmrnrsv0b6nnvpjdl1jb589"; depends=[randomForest]; };
-  SpatialNP = derive2 { name="SpatialNP"; version="1.1-3"; sha256="1azymigqychsydqvy2n5fplv971i1gzxfhfnclm5r5rqh0xcdp3k"; depends=[]; };
+  SpatialNP = derive2 { name="SpatialNP"; version="1.1-4"; sha256="1hj9fjhyxcvl2d0wdqyc899wy4f6iyi03g65icavkmqnwcs8c7hc"; depends=[]; };
   SpatialPack = derive2 { name="SpatialPack"; version="0.3-8"; sha256="0laixlr37048x2dr1zbk41kjp533w47khc1d9rihmlrwxrflprd0"; depends=[]; };
   SpatialPosition = derive2 { name="SpatialPosition"; version="2.0.0"; sha256="00z1kbkd7as4xnzqnizaap9qga4vakx7swyayli26ghp11krgfwr"; depends=[isoband lwgeom raster rgeos sf sp]; };
   SpatialTools = derive2 { name="SpatialTools"; version="1.0.4"; sha256="0jgbrzsx2klvihv65y1ycqyr8awp5kqqz4qwfyfibx3b56lzna1q"; depends=[Rcpp RcppArmadillo spBayes]; };
@@ -4287,7 +4358,7 @@ in with self; {
   SpeciesMix = derive2 { name="SpeciesMix"; version="0.3.4"; sha256="0d6hfmzxqcvg4fcvpsfxx36k95fwkws4rlylrixikndj2fncgwb5"; depends=[MASS numDeriv]; };
   SpecsVerification = derive2 { name="SpecsVerification"; version="0.5-2"; sha256="0dnya9mzkf48clp51jrnkz6lc4fps38nn3lap7n2wcp3dvbvdycg"; depends=[Rcpp RcppArmadillo]; };
   SpectralMap = derive2 { name="SpectralMap"; version="1.0"; sha256="15689023k9jzg3s7bx5m97dmn00z876amqhxsxksy8n8wf09wr57"; depends=[fields scatterplot3d]; };
-  Spectrum = derive2 { name="Spectrum"; version="0.8"; sha256="0q6aqmvr4lkswb1q2hch4mmzhy384kha61mhjp6y8ss13h7lhp9d"; depends=[ClusterR diptest ggplot2 RColorBrewer Rfast Rtsne umap]; };
+  Spectrum = derive2 { name="Spectrum"; version="0.9"; sha256="1n7jw8l1jidrsma5sdv7sdb1g29i0ianyrzclrxx49i0md2wnx5g"; depends=[ClusterR diptest ggplot2 RColorBrewer Rfast Rtsne umap]; };
   SphericalCubature = derive2 { name="SphericalCubature"; version="1.4"; sha256="14xrxhmhavz82rcixnyharnbrvdzs6rh7gbxihaxh431d90w2q3k"; depends=[abind cubature mvmesh SimplicialCubature]; };
   SphericalK = derive2 { name="SphericalK"; version="1.2"; sha256="18py4ylm10s75pihjvcy7w948379zy9l9azriw7g7pyp7px29wda"; depends=[]; };
   SplitReg = derive2 { name="SplitReg"; version="1.0.0"; sha256="09ni4hqyr3ng1yvb2g4wyl8vm1sa05rv649g0c9bfq6m6cx7xdvy"; depends=[Rcpp RcppArmadillo]; };
@@ -4316,17 +4387,17 @@ in with self; {
   SteinerNet = derive2 { name="SteinerNet"; version="3.0.1"; sha256="1jkvv0hsj85i1zfr1bmdsrbwgl11mxpfci3z7997m5vvb5fb5cxn"; depends=[igraph]; };
   Stem = derive2 { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[MASS mvtnorm]; };
   StempCens = derive2 { name="StempCens"; version="0.1.0"; sha256="11gspjrcl6yiyr19hankan5mcxipfsdkhha6nsiybs1chg5wx6f4"; depends=[distances ggplot2 gridExtra Matrix MCMCglmm mvtnorm optimx sp spTimer ssym tmvtnorm]; };
-  StepReg = derive2 { name="StepReg"; version="1.2.1"; sha256="166g47jqbxqxdgr0654vhmlgpcdcsly5wy35myx0fs0dsaqxzfkd"; depends=[Rcpp RcppEigen]; };
+  StepReg = derive2 { name="StepReg"; version="1.3.3"; sha256="1l2m65dlq59dh8jx1czc17j44pgqihcx37bfdp6x61nvdhf5sw40"; depends=[Rcpp RcppEigen]; };
   StepSignalMargiLike = derive2 { name="StepSignalMargiLike"; version="2.6.0"; sha256="0j85lvs2bljfhf482r31sq3xgk8l73hcw22wgxxp8z8nla38cwf9"; depends=[Rcpp]; };
   StepwiseTest = derive2 { name="StepwiseTest"; version="1.0"; sha256="1fdm4s9l6grgd45r98ybbsh40rnmnn16c0id6lv28cpmssi0iphi"; depends=[Rcpp RcppArmadillo]; };
-  StereoMorph = derive2 { name="StereoMorph"; version="1.6.2"; sha256="1jjvkwln9kkjgyg1vn9ma6ffi32cxbkfh6zn69vilbdkmjcsycl2"; depends=[bezier jpeg MASS png Rcpp rjson shiny svgViewR tiff]; };
+  StereoMorph = derive2 { name="StereoMorph"; version="1.6.3"; sha256="0sr8i6hq9iir2f717yvm5kdda047hamsqcrl553jjzzcbxg0y5m1"; depends=[bezier jpeg MASS png Rcpp rjson shiny svgViewR tiff]; };
   StockChina = derive2 { name="StockChina"; version="0.3.1"; sha256="1myxyfchnkskyqb5yciw1wfk3006f51y89ipzfjzdlfyzwy1lsp1"; depends=[]; };
   Storm = derive2 { name="Storm"; version="1.2"; sha256="1fg8y9my9yp6px1gh43mr3m2s2z262mzq03pj52mqg3n186vk8z3"; depends=[permute rjson]; };
   StrainRanking = derive2 { name="StrainRanking"; version="1.2"; sha256="1r8avm9xajqmsy4x7pgh1yaffq7wl5i5kg75kdilydwmii6n19i0"; depends=[]; };
   StratSel = derive2 { name="StratSel"; version="1.3"; sha256="0hd6q8s8aiymcd33kv0gd0a4wzr86xxdzwn18jgpyk9q8pmg8gvl"; depends=[Formula MASS memisc mnormt pbivnorm]; };
   Strategy = derive2 { name="Strategy"; version="1.0.1"; sha256="0phja1r0qfvcswvw5w1x6ny86p84wkqb029fdqgw10djdm9xp0f2"; depends=[xts zoo]; };
   StratifiedBalancing = derive2 { name="StratifiedBalancing"; version="0.3.0"; sha256="0pklnm0q0imdhyzhwyb4i0j441dkk4k6qqlx8d4q2xnl62drqnvv"; depends=[bnlearn plyr]; };
-  StratifiedMedicine = derive2 { name="StratifiedMedicine"; version="0.1.3"; sha256="1sh4hy0jyqlszmq3rhgx08d2sr0ri5zbs75gmddv96d45150yan8"; depends=[dplyr ggplot2 glmnet mvtnorm partykit ranger survival]; };
+  StratifiedMedicine = derive2 { name="StratifiedMedicine"; version="0.2.0"; sha256="1fxw0ih68ny04342gymihl2zir34rflq9kpvg72czfpp2j8aqhy3"; depends=[dplyr ggparty ggplot2 glmnet mvtnorm partykit ranger survival]; };
   StratifiedRF = derive2 { name="StratifiedRF"; version="0.2.2"; sha256="0a5djia6xacs17nnr5knr1acwzicrffz73q9nvnhdmihazq8v27d"; depends=[C50 dplyr]; };
   StratigrapheR = derive2 { name="StratigrapheR"; version="0.0.6"; sha256="1383gnxfsczvpazkhdq0fpv0x41jq47ksxam29yq19m2gh4afswc"; depends=[diagram dplyr GGally ggplot2 shiny stringr XML]; };
   StreamMetabolism = derive2 { name="StreamMetabolism"; version="1.1.2"; sha256="1sv30i7armk7jhxg5x9lh0r9qq3xixn1k2h0q89halkh1yraal8a"; depends=[chron maptools zoo]; };
@@ -4336,12 +4407,13 @@ in with self; {
   StructFDR = derive2 { name="StructFDR"; version="1.3"; sha256="1y0wj7y36iq0lznc4qpsr2yis3an34iilpabkaxxmas2q4abg0qb"; depends=[ape cluster dirmult matrixStats nlme]; };
   StructureMC = derive2 { name="StructureMC"; version="1.0"; sha256="1pj3inznw6flvmk22dzjcfjnwjhx7r98ngckz0axf6ipp3hb85jn"; depends=[MASS matrixcalc]; };
   SubCultCon = derive2 { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
-  SubTite = derive2 { name="SubTite"; version="2.0.3"; sha256="1i95f3x1nkhx9kqzxwvi15x6yq7mcdihzjxh60la6jvq5nscfi3l"; depends=[Rcpp RcppArmadillo]; };
+  SubTite = derive2 { name="SubTite"; version="3.0.0"; sha256="1kv5083zfxla4v1y7zhkd2rhld8mhmnilkz78q26qp121qqbf93r"; depends=[Rcpp RcppArmadillo]; };
   SubVis = derive2 { name="SubVis"; version="2.0.2"; sha256="1nb3zgm6i5lwfwdrn8mk3wkg8a4ldfvs27ai8v46l4316qc1fa9p"; depends=[Biostrings shiny]; };
   SubgrPlots = derive2 { name="SubgrPlots"; version="0.1.0"; sha256="0bhrb82yck4q72r268wqcnz2cm0sss92zff580s5jjijc2cwh3cp"; depends=[alluvial circlize colorspace diagram dplyr geoR ggplot2 gridBase gridExtra plyr polyclip scales shape sp survival survRM2 UpSetR VennDiagram]; };
   SubgrpID = derive2 { name="SubgrpID"; version="0.11"; sha256="1by23gdkbls7l5xa9nl055nbm0d3138pmfmasqmcy42h62wf7dw6"; depends=[AIM ggplot2 glmnet Matrix rpart survival]; };
   SubpathwayGMir = derive2 { name="SubpathwayGMir"; version="1.0"; sha256="1rw94idhbnaszr2xv1wgnjcxlnxkml912pvmqh2a1nqpwca5mscy"; depends=[igraph XML]; };
   SubpathwayLNCE = derive2 { name="SubpathwayLNCE"; version="1.0"; sha256="051csjavr9549y54yirfdn266i7swsvpbcakhziyz4sl4afwx5kl"; depends=[BiasedUrn graph igraph RBGL]; };
+  SummaryLasso = derive2 { name="SummaryLasso"; version="1.2.1"; sha256="1gb1g1xgda5psq93vy50yfr0cbhvymliblpkxz7ck1nwpp65n9py"; depends=[gtools]; };
   Sunclarco = derive2 { name="Sunclarco"; version="1.0.0"; sha256="0jv92a4ciwkm0wa4irgb6ql3vf6v6p24fmbnk24pqp5p8drp8g5v"; depends=[survival]; };
   Sunder = derive2 { name="Sunder"; version="0.0.4"; sha256="1na41nnscyc4v1qbwzfgqk503r39xxbi6f446pscrz3v0v121f1a"; depends=[mnormt]; };
   SunterSampling = derive2 { name="SunterSampling"; version="1.0.1"; sha256="0qfld3j8xlpgp7c58zqw6gzm38m4d740lvdj5vmcflfcc6ja98sf"; depends=[]; };
@@ -4354,7 +4426,7 @@ in with self; {
   SuperpixelImageSegmentation = derive2 { name="SuperpixelImageSegmentation"; version="1.0.1"; sha256="15d611ik6qg0602n6yk34a1pgfciv42nzd8qaarmxnqqrn8i584n"; depends=[ClusterR OpenImageR R6 Rcpp RcppArmadillo]; };
   SuppDists = derive2 { name="SuppDists"; version="1.1-9.4"; sha256="1ffx8wigqqvz2pnh06jjc0fnf4vq9z2rhwk2y3f9aszn18ap3dgw"; depends=[]; };
   SurfaceTortoise = derive2 { name="SurfaceTortoise"; version="1.0.1"; sha256="0q0swp0xs3lmfx2dxffqrna2spyr2l9ka0zbhmw8nkgb1w5rq5q6"; depends=[gstat raster rgeos sp]; };
-  Surrogate = derive2 { name="Surrogate"; version="1.3"; sha256="02jy85lvdfpixmpsffpjfv1iadgv6skw5qhzqw11bm0aqk6jqi37"; depends=[extraDistr ks lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot rgl rms rootSolve survival]; };
+  Surrogate = derive2 { name="Surrogate"; version="1.4"; sha256="184c34ks6q8qdv7kgl3z7p71a8qbfkazg60wglk2q7f1aqfaahgb"; depends=[extraDistr ks lattice latticeExtra lme4 logistf MASS mixtools msm nlme OrdinalLogisticBiplot rgl rms rootSolve survival]; };
   SurrogateOutcome = derive2 { name="SurrogateOutcome"; version="1.0"; sha256="0x91bmr4n9zn9cc72s91fzzsqhzhrkfpcbcla00gcsfmbjqz3997"; depends=[survival]; };
   SurrogateTest = derive2 { name="SurrogateTest"; version="1.1"; sha256="0m6m44vsfdgv47sswi2s8snmypa7s2ppad73fqnvymq8fm2b3yl2"; depends=[survival]; };
   SurvBoost = derive2 { name="SurvBoost"; version="0.1.2"; sha256="17av00iwa3kpw0ihrvvynrfcghnq492b5k7n9fxfgf2nily24x2p"; depends=[directlabels ggplot2 mvtnorm plyr Rcpp RcppArmadillo RcppParallel reshape2 survival]; };
@@ -4367,6 +4439,7 @@ in with self; {
   Survgini = derive2 { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
   SvyNom = derive2 { name="SvyNom"; version="1.1"; sha256="1jym2x6nd9a3y7nk5hflqpy54gs67y4sqqspkvkalf5l2cc64did"; depends=[Hmisc rms survey survival]; };
   SwarmSVM = derive2 { name="SwarmSVM"; version="0.1-5"; sha256="0nmlnvc1vxk68sc5jv3kvnnf5dpqxn4dxzrn06b9sn2bcxfpmkhy"; depends=[BBmisc checkmate e1071 kernlab LiblineaR Matrix SparseM]; };
+  SwimmeR = derive2 { name="SwimmeR"; version="0.1.0.0"; sha256="0979527aaacfq8arp1qh7z3p9crq8x2v90899z2ab0fa6f9n282m"; depends=[dplyr purrr stringr tibble]; };
   SwissAir = derive2 { name="SwissAir"; version="1.1.5"; sha256="0lh69924vhyilgn562jqn8m7z4dq3xmdj09501sbs7hbxfaiiyly"; depends=[]; };
   SyNet = derive2 { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
   SymTS = derive2 { name="SymTS"; version="1.0"; sha256="17vhm00zd9yxl6li36bsfkm4rsizjsm93ibrzgqnkl72sqmmlwfi"; depends=[]; };
@@ -4379,18 +4452,18 @@ in with self; {
   T2EQ = derive2 { name="T2EQ"; version="1.1"; sha256="1skkkryw63pfx1xslia1lczb2psja6v6hcbph4isdcksb4l4pcig"; depends=[]; };
   TAG = derive2 { name="TAG"; version="0.1.0"; sha256="1ha29kxd767g47qi93sb0p3mwdzvbf1hwa0s2lq3c938hfa3pg6v"; depends=[DiceKriging doParallel FastGP Matrix mgcv mlegp randtoolbox Rcpp RcppArmadillo]; };
   TAM = derive2 { name="TAM"; version="3.3-10"; sha256="1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq"; depends=[CDM Rcpp RcppArmadillo]; };
-  TANDEM = derive2 { name="TANDEM"; version="1.0.2"; sha256="1h6m6aq2b5m9gdy4nck4dxv75gv50pfdhxx8xifgyv0d7n8czabq"; depends=[glmnet Matrix]; };
+  TANDEM = derive2 { name="TANDEM"; version="1.0.3"; sha256="151rm95q2naw9y58df1lr2qiadnkgfb5j9v47v41bw4iipsmlp4p"; depends=[glmnet Matrix]; };
   TAQMNGR = derive2 { name="TAQMNGR"; version="2018.5-1"; sha256="0bf0sgqa53l9y2bhwg2ngiwlcgrmj0nvxchlsmcc8zin388qf4pb"; depends=[Rcpp]; };
   TAR = derive2 { name="TAR"; version="1.0"; sha256="0wjh2n9x3yn9by9a6mjvkl96qy7z549g6dsqp7b4d96xwmyqxlbv"; depends=[mvtnorm]; };
   TAShiny = derive2 { name="TAShiny"; version="0.1.0"; sha256="1h8k8py7myrj7c18cbp4q7bmgmck64jagw9s9j1jaqzl9qf8cbgq"; depends=[dplyr igraph shiny SnowballC tm wordcloud2]; };
   TBEST = derive2 { name="TBEST"; version="5.0"; sha256="15piy507vv8x59xgga17splxszy0vm87qjbfgxycvba633jishsa"; depends=[fdrtool signal]; };
   TBFmultinomial = derive2 { name="TBFmultinomial"; version="0.1.3"; sha256="0cd0dr8vkf0sfriaafp2x63dilxmirm0fljxm82zw77c9j5ly3kv"; depends=[nnet plotrix stringr VGAM]; };
   TBSSurvival = derive2 { name="TBSSurvival"; version="1.3"; sha256="1r87qvnlvc18i12yi25lfpdb8b5p33fywi38hs2xp1y2vbvz5s9b"; depends=[BMS coda mcmc normalp R_utils Rsolnp survival]; };
-  TCA = derive2 { name="TCA"; version="1.0.0"; sha256="1wjzw126qlv1sf6panrm763vvm4ahrz1gscxbalg2bxd2879j1xc"; depends=[config data_table futile_logger gmodels Matrix matrixcalc matrixStats nloptr pbapply pracma quadprog rsvd]; };
+  TCA = derive2 { name="TCA"; version="1.1.0"; sha256="0pj052kd378x1gmg5wcbk8c0dca3c2ra65hnagljmsplv169vimy"; depends=[config data_table futile_logger glmnet gmodels Matrix matrixcalc matrixStats nloptr pbapply pracma quadprog rsvd]; };
   TCGA2STAT = derive2 { name="TCGA2STAT"; version="1.2"; sha256="15a5lh0nrdcxdwj7wj5m9rsvk1ygpp6wdjb4swilk91rb1lblikv"; depends=[CNTools XML]; };
   TCGAretriever = derive2 { name="TCGAretriever"; version="1.3"; sha256="0mi8j7k2b1sx75ka8ympydqpk8jqp8wz8dyf4vk4776fra7bq24p"; depends=[httr]; };
   TCIApathfinder = derive2 { name="TCIApathfinder"; version="1.0.6"; sha256="15f3w6vhbqy4xzidxasjnqigxchd3jbr2kpm3gggjnkp7rzsfgaf"; depends=[httr jsonlite]; };
-  TDA = derive2 { name="TDA"; version="1.6.5"; sha256="1048b3wh03pvgdplgzqbj9lcc7r4j67zvmizkxmp0gpm216b57nq"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
+  TDA = derive2 { name="TDA"; version="1.6.9"; sha256="023jwhh1qc2y30g42pgfaha4n4pixzwrrghxlyss4889fr66q9vw"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
   TDAmapper = derive2 { name="TDAmapper"; version="1.0"; sha256="0cxgr2888v8azgdr3sg4vlcdyivkrxkk6dsp1ahv4frrwvg2z09k"; depends=[]; };
   TDAstats = derive2 { name="TDAstats"; version="0.4.0"; sha256="091fx0qla7jr5h7a84rp5mdsrafzdk87gk5xdflf62dk7qghb9kr"; depends=[ggplot2 Rcpp]; };
   TDCor = derive2 { name="TDCor"; version="0.1-2"; sha256="18085prcwhl5w717f1f7jcqskw2jvigvjjs2l5y6106ibiam6hxx"; depends=[deSolve]; };
@@ -4435,7 +4508,7 @@ in with self; {
   TRADER = derive2 { name="TRADER"; version="1.2-3"; sha256="1w9m2b866dyj82s118m64q8j9a1chpq2km2pnn9mfwwj8sivgdgn"; depends=[dplR]; };
   TRAMPR = derive2 { name="TRAMPR"; version="1.0-8"; sha256="0nxp8wdr7yx94fk14m0r4dh2jxcvjqp6lg02092zww5y7jlbf4ds"; depends=[]; };
   TRD = derive2 { name="TRD"; version="1.1"; sha256="0bhn4bcrq39f5dgqc74jqsfhs1iqfxhawacqqyncbk2372013nqp"; depends=[Rlab]; };
-  TRES = derive2 { name="TRES"; version="0.1.0"; sha256="0vlf0z4za2l4cllvl35cck2xgh2gfna2c3w92szw73vi4q0kflqn"; depends=[ManifoldOptim MASS mvtnorm pracma rTensor]; };
+  TRES = derive2 { name="TRES"; version="1.1.0"; sha256="0brj8wszgf9fkqfa3v0qg5wg9wi1b8k2ddixv3p29cdb57gsacdw"; depends=[ManifoldOptim MASS pracma rTensor]; };
   TROM = derive2 { name="TROM"; version="1.3"; sha256="1glbpbq8qhlxhcscgsqivmncsmadfhlsin47r9jxxd2s087cdh2f"; depends=[AnnotationDbi GO_db gplots gtools lattice openxlsx RColorBrewer topGO]; };
   TRSbook = derive2 { name="TRSbook"; version="1.0.2"; sha256="0lj20i6gybinc196nzjfi6ayzmm970s9vp43lj60v96g5dl7qv1b"; depends=[gdata IndependenceTests RColorBrewer xtable]; };
   TSA = derive2 { name="TSA"; version="1.2"; sha256="0gjfqibwdznz0nka95k4fjm935svxjpnqfywwz403crn2lh30h6q"; depends=[leaps locfit mgcv]; };
@@ -4478,8 +4551,8 @@ in with self; {
   TSsdmx = derive2 { name="TSsdmx"; version="2016.8-1"; sha256="06h1iwgshiq4bvly5l1nrddrh2knc82z2aqxh8ls9ipbs7qjsvaf"; depends=[DBI rJava RJSDMX tframe tframePlus TSdbi]; };
   TSsmoothing = derive2 { name="TSsmoothing"; version="0.1.0"; sha256="1m4y6hfw5ghqmvbnha05w6k0abbr08xdcahmh897g68b06vcrjsl"; depends=[ggplot2 gridExtra MASS Matrix]; };
   TSsql = derive2 { name="TSsql"; version="2017.4-1"; sha256="0f71q6gqfx4r3ghsmr572cvkpmf2xf7kipf10ii99z1y23dxmsdn"; depends=[DBI tframe tframePlus TSdbi zoo]; };
-  TSstudio = derive2 { name="TSstudio"; version="0.1.4"; sha256="0cc59f7zw5plyj35svh6vr3id0j8c8ywihz5ms9c1gpfiq101a9w"; depends=[bsts data_table dplyr forecast forecastHybrid future future_apply lubridate magrittr plotly purrr RColorBrewer reshape2 scales tidyr viridis xts zoo]; };
-  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.4"; sha256="0r79qbmn4z9v4f4g737xs3mhc4dp6s6llkcz6c3hihwnq1vrvd7h"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape rkt tcltk2 zoo]; };
+  TSstudio = derive2 { name="TSstudio"; version="0.1.5"; sha256="0xyvh5brfqmkhv1d65m1i5hy4b9pg08ax0nw3nbfc1qqnp4zg1jb"; depends=[bsts data_table dplyr forecast forecastHybrid future future_apply lubridate magrittr plotly purrr RColorBrewer reshape2 scales tidyr tsibble viridis xts zoo]; };
+  TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.5"; sha256="1l2sc4mphk440jxc9sgryqcqr9kwh00fdizswrsria25fbg0nzl4"; depends=[e1071 lubridate multcomp mvtnorm nlme pastecs relimp reshape rkt tcltk2 zoo]; };
   TTCA = derive2 { name="TTCA"; version="0.1.1"; sha256="16slr4c2nwbchsg6fk5prq22p2v4cjxzk93wd3xggav2lzrf8a5h"; depends=[MASS Matrix quantreg RISmed tcltk2 VennDiagram]; };
   TTR = derive2 { name="TTR"; version="0.23-5"; sha256="0fxipnyxaz55n4camrk9cs71x9w4dsmjrihysv8i1s6khf825rg6"; depends=[curl xts zoo]; };
   TTS = derive2 { name="TTS"; version="1.0"; sha256="0dhxj474dqjxqg0fc2dcx8p5hrjn9xfkn0rjn2vz3js92fa9ik9h"; depends=[mgcv sfsmisc]; };
@@ -4488,6 +4561,7 @@ in with self; {
   TUWmodel = derive2 { name="TUWmodel"; version="1.0-2"; sha256="1b07isi7s22q65h9yabrz515nr4vxp2ynpl37l2lsf4mcpjjzg4x"; depends=[]; };
   TVsMiss = derive2 { name="TVsMiss"; version="0.1.1"; sha256="1lvswq3syp2mfcf0higmyg5k5qhg1q6jaz8g75az3xajn4jylm0k"; depends=[glmnet Rcpp]; };
   Table1Heatmap = derive2 { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
+  TableHC = derive2 { name="TableHC"; version="0.1.1"; sha256="16iv93ia0whx1wgq817zd1nrxfwm4d6dkw28q22vdpbppr35ccaz"; depends=[]; };
   TableMonster = derive2 { name="TableMonster"; version="1.7"; sha256="1xa4bkcpzhm50dwbpya346swjjfw46n2x26xm30p8gppilg5c0lb"; depends=[xtable]; };
   TableToLongForm = derive2 { name="TableToLongForm"; version="1.3.2"; sha256="034vca0il7006zdkh5vdfjddyq9lg5mkl8hjria2rpks6wx0jhrd"; depends=[]; };
   TailRank = derive2 { name="TailRank"; version="3.2.1"; sha256="142m0cq9j8y5g9wh4plxya1jqi0dv6p6praxx3jb84kwqspi91xr"; depends=[Biobase oompaBase oompaData]; };
@@ -4499,14 +4573,14 @@ in with self; {
   TauP_R = derive2 { name="TauP.R"; version="1.5"; sha256="02vk9rj8yx4n2pihgk93bs2f9wkpkyfqm2kp7ixj4wpa29a0iq6v"; depends=[]; };
   TauStar = derive2 { name="TauStar"; version="1.1.4"; sha256="06bb6570mqzfbjw2qp4bjl4a1bdpwsvcr0vw2y4l1x444m670ds1"; depends=[Rcpp RcppArmadillo]; };
   TaxicabCA = derive2 { name="TaxicabCA"; version="0.1.0"; sha256="0mkw7d2pksj98kyg2951achmvsr0x7f4snq0kk1s5158b5yi5npn"; depends=[]; };
-  Taxonstand = derive2 { name="Taxonstand"; version="2.1"; sha256="0dvhiqggbv1by284fg38rcvvrxr9q3zp5gh51p1dh0129h73qj7i"; depends=[pbapply]; };
+  Taxonstand = derive2 { name="Taxonstand"; version="2.2"; sha256="1cpx5mp17l9gjvb60f0ypm8r8b69ff520p67jac8y6rvw8aqhc6j"; depends=[pbapply]; };
   TcGSA = derive2 { name="TcGSA"; version="0.12.4"; sha256="1kqgmmrkwy5idr77r3grq76km6bvi2003a148kjmdmi688jjkc2g"; depends=[cluster cowplot ggplot2 gplots GSA gtools lme4 multtest reshape2 stringr]; };
   Tcomp = derive2 { name="Tcomp"; version="1.0.1"; sha256="1k0gsf3yr5n9zc2yi6szxm6s7bf61lz4fx8m3v48jlp5w900prwb"; depends=[forecast Mcomp]; };
   TeXCheckR = derive2 { name="TeXCheckR"; version="0.6.0"; sha256="1qrzslcipg3j1317dhizxhcxyx2dpx7jh91vkms10wgc6vpqgrw4"; depends=[clisymbols crayon data_table fastmatch hunspell hutils magrittr rstudioapi zoo]; };
   TeachBayes = derive2 { name="TeachBayes"; version="1.0"; sha256="1mfhlkm7wp2i4hvc63xzfyw3q4z1xhlbi933pkqkbrhih94z4rz7"; depends=[dplyr ggplot2 gridExtra LearnBayes shiny]; };
   TeachNet = derive2 { name="TeachNet"; version="0.7.1"; sha256="12kkpr96mq0jr07k7ivcmwhrfgas1qrfqfhxa4gm7vv3vkjn0gs9"; depends=[]; };
   TeachingDemos = derive2 { name="TeachingDemos"; version="2.10"; sha256="016pivvy8gzz8f3clnr5dg488rb1lf0l5s00c3v34gm1dgiw5x1f"; depends=[]; };
-  TeachingSampling = derive2 { name="TeachingSampling"; version="3.4.2"; sha256="1r06if6ljlr9i3y5ri7akris97dsjy3n3n6sgz2dvy9szm4zsadp"; depends=[]; };
+  TeachingSampling = derive2 { name="TeachingSampling"; version="3.6.0"; sha256="14afxdvcprnsp34zgmfz8c3kfac35bkm2lq73ga84xcklsiq3gaf"; depends=[]; };
   Tejapi = derive2 { name="Tejapi"; version="1.0.1"; sha256="1v80yjbik6shqad2nvi374dpzs9bjv9ah26agy0khmwnbz6029rk"; depends=[httr jsonlite]; };
   TempCont = derive2 { name="TempCont"; version="0.1.0"; sha256="1pl0czrpw74zfm5vycyl0h8hc3n5whf4g6a2759a22384gk5fq7k"; depends=[nlme]; };
   TempleMetrics = derive2 { name="TempleMetrics"; version="1.2.0"; sha256="0g8a799grsjqyq55pnlgixyq2qxhvl5k01jcjwc08q54w2dg0xf0"; depends=[BMisc pbapply]; };
@@ -4514,8 +4588,8 @@ in with self; {
   Ternary = derive2 { name="Ternary"; version="1.1.2"; sha256="0zbvgvs81ciz6qwxmmniylz5b4ci9r9zsa86b4fr36by27mafs6w"; depends=[viridisLite]; };
   TestCor = derive2 { name="TestCor"; version="0.0.1.0"; sha256="0jqx74khjw8d3gvw5kn3yqfps877043d9wa6ffb33b5x7nfnj4hj"; depends=[MASS Rcpp]; };
   TestDataImputation = derive2 { name="TestDataImputation"; version="1.1"; sha256="10b1g9m2s6nbs8lrpcx3s1jf0fmqyd07mg3vx1pnma8r3vwy1yh7"; depends=[Amelia mice]; };
-  TestDesign = derive2 { name="TestDesign"; version="0.2.5"; sha256="0a26c8qqxvv1g5id9cclg2h6xzpywf8dvn5v8s13dqr4z3001mnn"; depends=[crayon foreach logitnorm lpSolve Matrix Rcpp Rdpack]; };
-  TestDimorph = derive2 { name="TestDimorph"; version="0.2.0"; sha256="1ckcfr4il1bcjcwvri35wj1bps4nxy1s959n40mx41211khj0rz1"; depends=[caret corrplot dplyr klaR MASS mda plyr purrr reshape2 Rfast rlang rowr stringr truncnorm]; };
+  TestDesign = derive2 { name="TestDesign"; version="1.0.0"; sha256="0jl65fv5iafpnm3xbi1wf676qdyk329cqm6c9zw9gzzbwc7f2pb7"; depends=[crayon foreach logitnorm lpSolve Matrix Rcpp Rdpack]; };
+  TestDimorph = derive2 { name="TestDimorph"; version="0.2.1"; sha256="1g98f19mxr4snjzbmxscx5lqcqkf3zgg4vgrcfly9pwf0qdn7ard"; depends=[caret corrplot dplyr klaR MASS mda plyr purrr reshape2 Rfast rlang rowr stringr truncnorm]; };
   TestFunctions = derive2 { name="TestFunctions"; version="0.2.0"; sha256="018nkz8r6vqahrzq3d588i3ffb1bmd1pdk87j4ivcdsx99mq15sn"; depends=[]; };
   TestScorer = derive2 { name="TestScorer"; version="1.7.2"; sha256="006c3g3gx55mfr93srldwvgz5vm6nkr3f57yi4qg6krn0d32865f"; depends=[]; };
   TestingSimilarity = derive2 { name="TestingSimilarity"; version="1.1"; sha256="1iq0wh13rl6rby44ql4d286r1akzwmbpsvnq9p8lkl8709z0d34w"; depends=[alabama DoseFinding lattice]; };
@@ -4523,7 +4597,7 @@ in with self; {
   TextForecast = derive2 { name="TextForecast"; version="0.1.2"; sha256="0yj2m22imzllz07wx04nar2mfpyl06jiq0ya1nwgaq74kaiym42p"; depends=[doParallel dplyr forcats ggplot2 glmnet Matrix pdftools plyr pracma RColorBrewer tidyr tidytext tm udpipe wordcloud]; };
   ThankYouStars = derive2 { name="ThankYouStars"; version="0.2.0"; sha256="0r77ns3102wj1wvrfsa06l427imxyfhigpbs36cdxl2j87qrjzl6"; depends=[httr jsonlite]; };
   ThermIndex = derive2 { name="ThermIndex"; version="0.2.0"; sha256="0s9d55577dq61qixwwfwmqc2k2c8my00j2ng97ng42cw0jc7aylm"; depends=[]; };
-  Thermimage = derive2 { name="Thermimage"; version="3.2.1"; sha256="1550ri4qkm7yfv6bisy5pi1cic9mjbm842nl22bsyzj1631j1f8s"; depends=[png tiff]; };
+  Thermimage = derive2 { name="Thermimage"; version="4.0.1"; sha256="021kjmy0ilg033gf9l46dqfsyd0625v21mcc3sj2smv2dipr8hwd"; depends=[png tiff]; };
   Thinknum = derive2 { name="Thinknum"; version="1.3.0"; sha256="0j48vgr4wsc2chm95aprq0xm0dk720xk5zmiijxasg92sfp0va6n"; depends=[RCurl RJSONIO]; };
   ThreeArmedTrials = derive2 { name="ThreeArmedTrials"; version="1.0-3"; sha256="06jhgl1fzvkvnhrjs4xcyw6yymwl499rw9xnfwpx44dzxi7nynxj"; depends=[MASS numDeriv]; };
   ThreeGroups = derive2 { name="ThreeGroups"; version="0.21"; sha256="0hipxa45v9ysb2qbk33kjycnvqar7bff1ajxd6fzhpc3jc9hflw4"; depends=[]; };
@@ -4532,7 +4606,7 @@ in with self; {
   ThresholdROC = derive2 { name="ThresholdROC"; version="2.7"; sha256="1r2bmik02fcrja8gl885apc0skpyw5d69y8qqphq0s1nbjq81s0n"; depends=[MASS numDeriv pROC]; };
   TickExec = derive2 { name="TickExec"; version="1.1"; sha256="0v0m0wi49yw0ply19vnirl2zwnk61sxalx24l8cadvkssgs13509"; depends=[]; };
   TiddlyWikiR = derive2 { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
-  TideCurves = derive2 { name="TideCurves"; version="0.0.3"; sha256="0wll0zbkfas6hs4h8ma5km68nv2brw1k75ngw5lrnxilya22lrgp"; depends=[chron data_table fields]; };
+  TideCurves = derive2 { name="TideCurves"; version="0.0.4"; sha256="1i5qm6wwm6m0xrmr6dvk3pn6apxxqw9hznv8vypzwnky7bizkl90"; depends=[chron data_table fields]; };
   TideHarmonics = derive2 { name="TideHarmonics"; version="0.1-1"; sha256="1g1v99gh6mns4l8ipmw7kpalbk07m92ybcqjq7b0wsjmdvs1y67s"; depends=[]; };
   TideTables = derive2 { name="TideTables"; version="0.0.2"; sha256="1grm9s9np7xs2d8gql4sgg72rxpxiidw6g1ni8q97qgqr7r3105l"; depends=[chron data_table]; };
   Tides = derive2 { name="Tides"; version="2.1"; sha256="0da3z010ali83qf8mf1znicqv8vvsa5r93mc40ax60ln2w33nlrm"; depends=[]; };
@@ -4542,17 +4616,20 @@ in with self; {
   TimeVTree = derive2 { name="TimeVTree"; version="0.3.1"; sha256="124kg9zcq4b2j4qvg9f6gykbmzf69qjnnw54nv213ip2h4rdkv32"; depends=[survival]; };
   TimeWarp = derive2 { name="TimeWarp"; version="1.0.15"; sha256="1v6f6d1h9dc8npdy0ph5hhc4jjkzh8kac48lz4ahgngi9n0xwql9"; depends=[]; };
   Tinflex = derive2 { name="Tinflex"; version="1.5"; sha256="15nbzr3q8rfrqywvlqi48r30fgq4lhlhp1fbnf12j49k6q2aixb1"; depends=[]; };
+  TipDatingBeast = derive2 { name="TipDatingBeast"; version="1.1-0"; sha256="07lw6jnr76qrxwrwv90hi5ih2xf6g4sz4hfapk5vf1y3ayfskkl0"; depends=[DescTools mclust TeachingDemos]; };
   TippingPoint = derive2 { name="TippingPoint"; version="1.1.0"; sha256="1f5bfag892yk47r1pw2rlvqz9qnkaz8radprpxh0q0knviw3f9fp"; depends=[bayesSurv ggplot2 RColorBrewer reshape2]; };
   Tlasso = derive2 { name="Tlasso"; version="1.0.1"; sha256="0flx4l7q3qndp77349ayfrszyim7mvs7yfvv3j9a1mhf3gdn9j14"; depends=[expm huge igraph rTensor]; };
   TmCalculator = derive2 { name="TmCalculator"; version="1.0.0"; sha256="067xcpik00r6cdb4q1z09dgdqacyxqg21xn9nzvqfnp6s3nw6a9s"; depends=[]; };
   Tmisc = derive2 { name="Tmisc"; version="0.1.20"; sha256="0f57wc35d2x2149y1bjswy54247wrwpvc8p77q07k1y5i71hm65k"; depends=[dplyr rstudioapi tibble]; };
   Tnseq = derive2 { name="Tnseq"; version="0.1.2"; sha256="1n76yzk15p8i5bp3k6fszmdqk2d791r4sb8hg5hb61zb92r7wqlj"; depends=[Biobase Ckmeans_1d_dp DESeq edgeR limma]; };
-  TooManyCellsR = derive2 { name="TooManyCellsR"; version="0.1.0.0"; sha256="1r3wh9hhk6yx4swgjfdsh3094yl36ld7qn1285vsixd1rdqxng44"; depends=[cowplot ggplot2 imager jsonlite Matrix]; };
+  TooManyCellsR = derive2 { name="TooManyCellsR"; version="0.1.1.0"; sha256="0cypjf4a9q2kw4gwxlr59nbwn25wrrhrcmpksxi2yhd3qhk71q8n"; depends=[cowplot ggplot2 imager jsonlite Matrix]; };
   ToolsForCoDa = derive2 { name="ToolsForCoDa"; version="1.0.2"; sha256="0x05phwm6gqw1pmars1ypg86sggflffw9g2d0lc5gfsy93nrg0rv"; depends=[calibrate HardyWeinberg MASS]; };
   TopKLists = derive2 { name="TopKLists"; version="1.0.6"; sha256="1hmm9g68scq8sqdb9axqn51p00mx6p6lw0fdgjljfi2q72xcqhq3"; depends=[gplots Hmisc]; };
   TopicScore = derive2 { name="TopicScore"; version="0.0.1"; sha256="1x6s3yn25rj8mbd25yi7f2rz0nwg8n0l1vs6r250kyjb17d2javm"; depends=[combinat Matrix quadprog RSpectra slam]; };
   TotalCopheneticIndex = derive2 { name="TotalCopheneticIndex"; version="1.0.1"; sha256="0yc21vs10rzmwx0z6d0gyyncr25835vb7wpn392csc5big6d73xc"; depends=[memoise]; };
-  TraMineR = derive2 { name="TraMineR"; version="2.0-12"; sha256="11bgksw8bps9s5kmp9kyfh3pdxbqiq1iq21jl1j7i4m62bgrwyhn"; depends=[boot cluster Hmisc RColorBrewer]; };
+  TouRnament = derive2 { name="TouRnament"; version="0.2.5"; sha256="09i0frzzxi5ymjlvh81rmisxh35amrvhxbkjq5351fhlpf1n977z"; depends=[]; };
+  ToxicoGx = derive2 { name="ToxicoGx"; version="0.0.1"; sha256="07xm12rkjsvf1jswad1rdl8rl0dj93d8pkcgyyal3xmzjhib78d9"; depends=[Biobase caTools CoreGx magicaxis RColorBrewer reshape2 scales SummarizedExperiment]; };
+  TraMineR = derive2 { name="TraMineR"; version="2.0-13"; sha256="13b8dmb3a9m7cj5p1a0fpz28yaql55llf7wlc00acs2jwzs776k7"; depends=[boot cluster Hmisc RColorBrewer]; };
   TraMineRextras = derive2 { name="TraMineRextras"; version="0.4.6"; sha256="135s6aqkx18c364y9z0an0sbnwkgb2yrzxim3nd5khnbbnqdb5z2"; depends=[cluster RColorBrewer survival TraMineR]; };
   TrackReconstruction = derive2 { name="TrackReconstruction"; version="1.2"; sha256="1kpdiwwzxsdwv5255xlvcnxvnp39ky0aws41g1l5i7cpbv88kca5"; depends=[fields RColorBrewer]; };
   Trading = derive2 { name="Trading"; version="1.2"; sha256="0wlwpf1iygcs0cy7ms57b1bbp8f3s193bvc6fcm31ih5ph8pr48i"; depends=[]; };
@@ -4592,8 +4669,8 @@ in with self; {
   UBCRM = derive2 { name="UBCRM"; version="1.0.1"; sha256="1h9f8wlxdgb67qqqnfhd9gfs4l2cq84vajhcb0psva0gwdd1yf6i"; depends=[]; };
   UBL = derive2 { name="UBL"; version="0.0.6"; sha256="0238irg7r3g248h4x4bdb308wvfqq99hwykywf4k2bssdd25kwjk"; depends=[automap gstat MBA randomForest sp]; };
   UCR_ColumnNames = derive2 { name="UCR.ColumnNames"; version="0.1.0"; sha256="1nwwq93f60r9aik51l7mzckg81f81nz5kgzynyzp5sm4y2wmpzwn"; depends=[]; };
-  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="0.3.0"; sha256="17xh879jxaj668xxa31vj67mm74gj74wqs1lg32y6mshfbcss9fp"; depends=[dplyr DT ggplot2 ggpubr magrittr plotly RColorBrewer shiny shinyBS shinyjs shinythemes shinyWidgets tibble UCSCXenaTools zip]; };
-  UCSCXenaTools = derive2 { name="UCSCXenaTools"; version="1.2.6"; sha256="06czkc9y0hxgq7392acml9b0l58yqhc56nnrwxhbsbb536zb8bhn"; depends=[dplyr httr jsonlite magrittr readr rlang]; };
+  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="0.4.0"; sha256="1m67ahh2k0mc8215nnb32r8nf9niax7y5nn3qpwg1fcav7g9ns66"; depends=[dplyr DT ggplot2 ggpubr magrittr plotly RColorBrewer shiny shinyBS shinyjs shinythemes shinyWidgets tibble UCSCXenaTools zip]; };
+  UCSCXenaTools = derive2 { name="UCSCXenaTools"; version="1.2.9"; sha256="10f3rll9sf9792r8lbnbgx93f657ijwapi0xcam8liwvjl5q1qm8"; depends=[dplyr httr jsonlite magrittr readr rlang]; };
   UKgrid = derive2 { name="UKgrid"; version="0.1.1"; sha256="1p2s49lj1b2nyp8m8mif8cfsgxli8ii649gix1hlyn73gzrm8mjj"; depends=[data_table dplyr lubridate magrittr rlang xts zoo]; };
   UNCLES = derive2 { name="UNCLES"; version="2.0"; sha256="0c61sm09dh0yfrjrjjnizg7qrf8xgc1zdldwhjh64kq8k8g5wa69"; depends=[class kohonen pdist]; };
   UNF = derive2 { name="UNF"; version="2.0.6"; sha256="0sr740dhfp7z9wvhajww43g5gz79x5y5dbflw5a813jgmiqm1jyq"; depends=[base64enc digest]; };
@@ -4613,13 +4690,13 @@ in with self; {
   Umatrix = derive2 { name="Umatrix"; version="3.1"; sha256="131j7yrb0yzffl6gvirdj29zmsbwg8163i15gg9f0clfcrl1kcx6"; depends=[abind AdaptGauss deldir fields geometry ggplot2 pdist plyr png Rcpp reshape2 shiny shinyjs]; };
   Umoments = derive2 { name="Umoments"; version="0.1.0"; sha256="0vgfvfb7ggi353scg4a2kbwagazn7qfyvi3mjn7c9cprcx0w0136"; depends=[]; };
   Umpire = derive2 { name="Umpire"; version="1.3.7"; sha256="1yg1vrz36jgni7pkl4ch095ckcdx177j2w28zb7s8scjpvm20h3z"; depends=[]; };
-  UncDecomp = derive2 { name="UncDecomp"; version="0.0.4"; sha256="1v29y64jm3axllwy0cgmyki6ii3ph2zyvcgbzv1pdrgxgj14qhck"; depends=[]; };
+  UncDecomp = derive2 { name="UncDecomp"; version="1.0.1"; sha256="1m44pgk7nffay09m4gkwb0khq0qjd7bq1p72blsmib46wmnwqfsa"; depends=[dplyr ggplot2]; };
   UncerIn2 = derive2 { name="UncerIn2"; version="2.0"; sha256="08cg7armz9xwwn1222aws98cwrvmw0s73pxpnszmrmrli1qs92k1"; depends=[automap fields geoR gstat RandomFields Rcpp sp]; };
   UncertainInterval = derive2 { name="UncertainInterval"; version="0.5.0"; sha256="11vwf45bhgzzriwjjzjvbbwpzknbf6xl5s9ng7gxh58q20jy038j"; depends=[nloptr reshape2 rootSolve zoo]; };
   UniDOE = derive2 { name="UniDOE"; version="1.0.2"; sha256="14jz4acrvbv59sbr7gya8g0z749vv0i04gl5wl0y4218byjvw6bs"; depends=[Rcpp]; };
   UniIsoRegression = derive2 { name="UniIsoRegression"; version="0.0-0"; sha256="0lmrmb9sbk41ak7sbcrzhfnijb1skgb4lqg9m9imc98lcp69h7z0"; depends=[Rcpp]; };
   Unicode = derive2 { name="Unicode"; version="12.0.0-1"; sha256="1wpzj5jwmb9d9iz1xvgn8mc2xjri28g97k4lpafybb1v4xnxqk54"; depends=[]; };
-  UniprotR = derive2 { name="UniprotR"; version="1.0.3"; sha256="0jscjc1xd8z3kxppf1b7gz77apqfr5jv185hk6q15fmd35qd1ibb"; depends=[data_tree ggplot2 httr magick magrittr plyr scales]; };
+  UniprotR = derive2 { name="UniprotR"; version="1.2.2"; sha256="0d97ivbg87kpkvi2k9llagckr42qjyibzspi6a8sfzc5j8n0cqm6"; depends=[alakazam data_tree dplyr ggplot2 ggpubr gridExtra httr magick magrittr plyr scales tidyverse]; };
   UnitCircle = derive2 { name="UnitCircle"; version="0.1.3"; sha256="0z5ssps8l5ka4aw4984qml15scw4pfssara5dls82afhfhpkszsr"; depends=[]; };
   UnivRNG = derive2 { name="UnivRNG"; version="1.2"; sha256="0cx6bdzzypxnaqi4wkb20saqd5sfa2rga5cqh694l70vj9c3zw26"; depends=[]; };
   UpSetR = derive2 { name="UpSetR"; version="1.4.0"; sha256="007i0njnjjy7vbrxabwav7a1kk2n0hn2mkvqsdzzfk10ckp5y7im"; depends=[ggplot2 gridExtra plyr scales]; };
@@ -4628,17 +4705,18 @@ in with self; {
   V8 = derive2 { name="V8"; version="2.3"; sha256="1cq5snck0hnjwchy92g5ysdabf70i5hjw3r3401sqv6nq5rdf87p"; depends=[curl jsonlite Rcpp]; };
   VAR_etp = derive2 { name="VAR.etp"; version="0.7"; sha256="0py5my3ilhcmz44m15hh0d219l9cz7rda4a9gbmf8wh9cgvvj1s3"; depends=[]; };
   VARSEDIG = derive2 { name="VARSEDIG"; version="1.9"; sha256="18j73wm22bjvf2y0c09bfmdyx4x2gd0jhfcqhbk1sgsk24zjr63z"; depends=[]; };
+  VARshrink = derive2 { name="VARshrink"; version="0.3.1"; sha256="09hysmxxawcbyfx6bia546aqydryl2r5p3ai7bvl6ghdckw5mnpl"; depends=[ars corpcor MASS mvtnorm strucchange vars]; };
   VARsignR = derive2 { name="VARsignR"; version="0.1.3"; sha256="09mnf9hvsi4wx1c81yq97mzggwk6s7nka7awrws63icjybqjmra9"; depends=[HI minqa mvnfast]; };
   VARtests = derive2 { name="VARtests"; version="2.0.5"; sha256="0gmm2qrrl4v5vx0nhiwq5brvanhybpb2q0zlf4dihramhjjbwyar"; depends=[Rcpp RcppArmadillo sn]; };
   VBLPCM = derive2 { name="VBLPCM"; version="2.4.5"; sha256="1q5n87zzakdv0mflgsy6a5lc25ryjm7h90i3nr0dvccd0l8d4wpm"; depends=[ergm mclust network sna]; };
   VBTree = derive2 { name="VBTree"; version="0.1.0"; sha256="0g0lyvclnfmd3zc8yhcibhli0hyxrba6wb3hx039fsg80q7y02h4"; depends=[tensorA]; };
-  VCA = derive2 { name="VCA"; version="1.4.0"; sha256="076li3bd192lyg9hpcj391sg38jnr6mm8br550l31lqkz9f4nifn"; depends=[lme4 Matrix numDeriv]; };
+  VCA = derive2 { name="VCA"; version="1.4.1"; sha256="0987c3xciijsnv57jfgdw0g0b9x97b1290bwzpa3j4ny42yrgndc"; depends=[lme4 Matrix numDeriv]; };
   VDAP = derive2 { name="VDAP"; version="2.0.0"; sha256="134x4aisaim72xkyzb1vb8vhl2m4i12yzh6cj858a1ag7b0ing3n"; depends=[drc ggplot2 reshape2 stringr]; };
   VDJgermlines = derive2 { name="VDJgermlines"; version="0.1"; sha256="1aqjhkcj3bd5hk7iz0f2cy5nfp23gvhqsmg6nzlxd9klwc6xpq2h"; depends=[ape stringdist]; };
   VDSPCalibration = derive2 { name="VDSPCalibration"; version="1.0"; sha256="1hrmmhvk3mhd3bdl0msnm5shcj4cjgd3pn1rkfkv8fh4llqvz7w8"; depends=[]; };
-  VFP = derive2 { name="VFP"; version="1.0"; sha256="1gkpqxmxyv1hdaxk5yi3cd1k9q246q5gj9xhfnc87dp60rfg8p8f"; depends=[gnm MASS]; };
+  VFP = derive2 { name="VFP"; version="1.1"; sha256="0ffx57a1nkdc9p39a946ga9rxpc48f9r7xprxahmmdwiqp5d9m54"; depends=[gnm MASS]; };
   VFS = derive2 { name="VFS"; version="1.0.2"; sha256="1b8sl8id2gj4iqkpjzd3giybbix2jvskwsbw1kqj3zqr77hygxwg"; depends=[e1071 nleqslv]; };
-  VGAM = derive2 { name="VGAM"; version="1.1-1"; sha256="0lnsqx3q3k0c7sj8gj0n6shn2fyxwrh8xph8h1r1i23ybbb2n6fy"; depends=[]; };
+  VGAM = derive2 { name="VGAM"; version="1.1-2"; sha256="0kyan3a4ys2xbg9kf167cyf1gk7g963id62cjm2ij4i7y4wi61zq"; depends=[]; };
   VGAMdata = derive2 { name="VGAMdata"; version="1.0-3"; sha256="1jicadjaqmys1bbgkp64hmm8wwmi6f734il00v8qjz3jl9b02pkn"; depends=[]; };
   VGAMextra = derive2 { name="VGAMextra"; version="0.0-1"; sha256="0rlj4q6ry6v3fnpmg4s33ynn7qzs5m98csap55nyn6r9ynrh5gk5"; depends=[VGAM]; };
   VHDClassification = derive2 { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
@@ -4652,14 +4730,15 @@ in with self; {
   VLF = derive2 { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
   VLMC = derive2 { name="VLMC"; version="1.4-3-1"; sha256="0cwfpxcj8g68j9z9fl66i0amj8ypf199iv3yyxzsmniqv4w5x4ar"; depends=[MASS]; };
   VNM = derive2 { name="VNM"; version="7.1"; sha256="19qglcibb7r6jjz0n0piklwfv3hi4jphd6vmyfbm0ccjjkmn5nin"; depends=[Rcpp]; };
-  VOSONDash = derive2 { name="VOSONDash"; version="0.4.4"; sha256="0pkfsjfygbf8rvaahmxj1d36nk428rcjp5vf54cwm3qqcf44zm9y"; depends=[httpuv httr igraph lattice magrittr RColorBrewer rtweet shiny syuzhet tm vosonSML wordcloud]; };
+  VOSONDash = derive2 { name="VOSONDash"; version="0.5.1"; sha256="1mg38fh7rrf1b2madk7lqqg0rmkh73hl20f920b4pdggqnrpmqq6"; depends=[httpuv httr igraph lattice magrittr RColorBrewer rtweet shiny syuzhet tm vosonSML wordcloud]; };
   VRPM = derive2 { name="VRPM"; version="1.2"; sha256="1cai5a71vzkx0d7cwzsxbcz7r9cdkqjk4l4bp2ffj5pp7nrlh15r"; depends=[fields ggplot2 Hmisc kernlab R2HTML ROCR shiny survival viridis]; };
   VSE = derive2 { name="VSE"; version="0.99"; sha256="07m5080nw72b77238v2wwdh4dxsvv6y78d4j1329n90wyj2crxl4"; depends=[car GenomicRanges igraph IRanges]; };
   VSURF = derive2 { name="VSURF"; version="1.1.0"; sha256="1azfd4sb89mp27l86k293qj81x94gfiy1ihwnb6c558p8h69xsgf"; depends=[doParallel foreach randomForest ranger Rborist rpart]; };
   VTShiny = derive2 { name="VTShiny"; version="0.1.0"; sha256="1zq6irla3q7hqs8jpjdya7vy3frqrj72rwmd1sgxwrkgpmpxw6x7"; depends=[EnvStats rmarkdown shiny]; };
   VTrack = derive2 { name="VTrack"; version="1.21"; sha256="1acf2b8zy72shc4768rhikfa3590h3l3nwk32jk7pwsms0nb87rf"; depends=[checkmate doParallel foreach gdistance gstat Hmisc intervals lubridate plotKML plyr raster sp spacetime XML]; };
-  VWPre = derive2 { name="VWPre"; version="1.2.0"; sha256="1s9fc86gr8yf8h53sz8gg4dhm2vqxwpp42symsmy2xscrjavd7ph"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
+  VWPre = derive2 { name="VWPre"; version="1.2.1"; sha256="05l3dlzryv68yk9za1vrbd4acn988s8ppkqj0i9kd88s8grjyj1d"; depends=[dplyr ggplot2 mgcv rlang shiny tidyr]; };
   VaRES = derive2 { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
+  VancouvR = derive2 { name="VancouvR"; version="0.1.1"; sha256="1nzjdassan5kh7wk3xf6kry4jifgjn0gan61ibwhyzy1awpcfngv"; depends=[digest dplyr httr purrr readr rlang sf tibble urltools]; };
   VarBundle = derive2 { name="VarBundle"; version="0.3.0"; sha256="0jfx9gkb3f29lgc0nrz3xc7m2ham0scx9lay7x5a6ira7crga6cr"; depends=[crayon dplyr glue magrittr R6 stringr tibble]; };
   VarED = derive2 { name="VarED"; version="1.0.0"; sha256="16j9p2a143y4hqclsv1mig0fccrzjx2r0lll0wz8isjp9x1wzjv8"; depends=[]; };
   VarReg = derive2 { name="VarReg"; version="1.0.2"; sha256="04235hr0r6sp7r3ccvcfb8l6p8yapcdrn6zl7mmvbyc4qb70gawh"; depends=[sn survival]; };
@@ -4677,13 +4756,13 @@ in with self; {
   VertexSort = derive2 { name="VertexSort"; version="0.1-1"; sha256="0n9m5l85ylin6756rsksak94nv0626qd7czhhj6plz4nfrr27sgl"; depends=[igraph snowfall]; };
   VeryLargeIntegers = derive2 { name="VeryLargeIntegers"; version="0.1.6"; sha256="1ccl4j3vb6aw1qfbqil67dy74daldajwzm7s5hqcidm73fd0wknc"; depends=[Rcpp]; };
   VetResearchLMM = derive2 { name="VetResearchLMM"; version="1.0.0"; sha256="1a7wm04bsr5shak7l8ypxlhlnx3qkq1jdpjnji1n05p6b00ih9h1"; depends=[ggplot2 lme4 lmerTest multcomp nlme]; };
-  ViSiElse = derive2 { name="ViSiElse"; version="1.2.1"; sha256="14vv25wnqcplf7k0ybfdlcvyhnja0h0kvz39yzlh2qkavjvdaf2y"; depends=[chron colorspace Matrix stringr]; };
-  VineCopula = derive2 { name="VineCopula"; version="2.2.0"; sha256="12p1bmp3b5vm0zfmwhbjj5gbmp0gf1ad7dcyzk6lda3zqkvfyfmi"; depends=[ADGofTest copula doParallel foreach kdecopula lattice MASS mvtnorm network]; };
+  ViSiElse = derive2 { name="ViSiElse"; version="1.2.2"; sha256="1ay09dahlqnfrgf4gl4s45a4ahrk2xliagxqz5h826w2vzsawqcc"; depends=[chron colorspace ggplot2 Matrix reshape2 stringr]; };
+  VineCopula = derive2 { name="VineCopula"; version="2.3.0"; sha256="0w9lpdb9mjia2vg9h4v418g8zw8xfq83hmih37hf3yp7p88vja1k"; depends=[ADGofTest lattice MASS mvtnorm]; };
   Voss = derive2 { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; };
   VoxR = derive2 { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; };
   W2CWM2C = derive2 { name="W2CWM2C"; version="2.0"; sha256="139rbbhshiap3iq4s4n84sip3cwwjn2x7lm7kmzwj5glhl5dc6ga"; depends=[colorspace wavemulcor waveslim]; };
   W3CMarkupValidator = derive2 { name="W3CMarkupValidator"; version="0.1-6"; sha256="0nfay5nqss3zlw4nikj8h3zzlnjfxjch4pm3qky15qrcigrybrbl"; depends=[curl xml2]; };
-  WARN = derive2 { name="WARN"; version="1.2-3"; sha256="0vkp70cc3slz9y8qfybrqyjyglsxz9fnqrid735h2a113h4xvr3v"; depends=[MASS]; };
+  WARN = derive2 { name="WARN"; version="1.2-4"; sha256="18gfk9vqcqarj7j5i240wqv2dclg3csng4mih5izj40xaaxaf6q5"; depends=[MASS]; };
   WCE = derive2 { name="WCE"; version="1.0.2"; sha256="105pwpd9ikm0gwz4r12jl6cgs1riwsk9pn5qk9cn3msgwa0sdynx"; depends=[plyr survival]; };
   WCM = derive2 { name="WCM"; version="0.2.1"; sha256="0d2yw6kzn7mvxwllxfbk6vfiy8l1fd7ggjgi92kjn0j0y66cadw4"; depends=[pracma raster]; };
   WCQ = derive2 { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
@@ -4691,36 +4770,38 @@ in with self; {
   WEE = derive2 { name="WEE"; version="1.0"; sha256="0i3h67p72lr708mwdw3rbzr1lqqr8n2dxv7f0bwyqzxv41sx1iz3"; depends=[doParallel foreach quantreg]; };
   WGCNA = derive2 { name="WGCNA"; version="1.68"; sha256="1s7gy5vd7x67hpgli8r7ba2z99w3psiyv5hqmrh94zw141dg210a"; depends=[AnnotationDbi doParallel dynamicTreeCut fastcluster foreach GO_db Hmisc impute matrixStats preprocessCore Rcpp robust survival]; };
   WGScan = derive2 { name="WGScan"; version="0.1"; sha256="0jma6di9hbdimswdfm58568vahcjy46hbhb78idjsdz4bl9apvq3"; depends=[data_table MASS Matrix seqminer SKAT]; };
-  WHO = derive2 { name="WHO"; version="0.2"; sha256="0rpk7ddpkjcqs0m7cgxs55k178js0d70ccfximp2vqrsw0igkmk9"; depends=[dplyr httr]; };
   WLreg = derive2 { name="WLreg"; version="1.0.0"; sha256="0paghjcshhrr6y1gm98d6gr78zvgzhl678g9f96hppfa4q3lfpr7"; depends=[inline survival]; };
   WMCapacity = derive2 { name="WMCapacity"; version="0.9.6.7"; sha256="167wx759xi7rv74n6sdsdkjnfpxdsiybk4ik70psdgfwdqqcga1y"; depends=[cairoDevice coda gtools gWidgets gWidgetsRGtk2 RGtk2 XML]; };
   WMDB = derive2 { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; };
   WMWssp = derive2 { name="WMWssp"; version="0.4.0"; sha256="16m4hvjqdcpkvswvqwgm0pq9nm7vjrlqldzi4i69izlwccp37v47"; depends=[]; };
   WPC = derive2 { name="WPC"; version="1.0"; sha256="0li502hwa4n945yfnilslyvl12ls66kazbfmxb4kkjbaf500mjp9"; depends=[msm survival]; };
   WPKDE = derive2 { name="WPKDE"; version="0.1"; sha256="100vla11fbw16x5n4w4kbslz4n725v4x6j0hrxzrk99ryl0crmf6"; depends=[]; };
+  WR = derive2 { name="WR"; version="0.1.0"; sha256="00781l9rmfm8sqsmhqn59ihw3jsjphg8jnvk34bzh6aaxzdfybm9"; depends=[survival]; };
   WRS2 = derive2 { name="WRS2"; version="1.0-0"; sha256="1ax7lchbg0f5miq5779p1zmk6pw36hvwwmbpvsfqwahl5wlvii0s"; depends=[MASS mc2d plyr reshape]; };
-  WRSS = derive2 { name="WRSS"; version="2.3"; sha256="182753820fjwl544sv7rhkjsdy268r8fgspyq88brqlpfj7k6rdw"; depends=[GGally ggplot2 Hmisc network nloptr]; };
-  WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.1"; sha256="0q2rdzbz3cbgr19sh9j3fqdn0lvwrq93qq2rjmnhx6ia9avkywa8"; depends=[caret dplyr fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
-  WVPlots = derive2 { name="WVPlots"; version="1.1.2"; sha256="1471fij60v0f9xn10zsnbd0m36x6c4ls2g9bfgpl2r9cmhliwix2"; depends=[cdata ggplot2 gridExtra mgcv sigr wrapr]; };
+  WRSS = derive2 { name="WRSS"; version="3.0"; sha256="16a7i6glgl5cshsn3w7gxviybmka06ylw5znz94gigyx0vhgv97p"; depends=[GGally ggplot2 Hmisc network nloptr]; };
+  WRTDStidal = derive2 { name="WRTDStidal"; version="1.1.2"; sha256="1ssrqqf2hypif4nnfyl4lq03glyyg9ry9s14llf1njxamhjggfgg"; depends=[caret dplyr fields foreach forecast ggplot2 gridExtra lubridate purrr quantreg RColorBrewer survival tidyr]; };
+  WVPlots = derive2 { name="WVPlots"; version="1.2.2"; sha256="0r8hsjx9d6qw7iih63gr5aj94dhvgmjxwz6ddx7qsa7vqy9hy7da"; depends=[cdata ggplot2 gridExtra mgcv rqdatatable rquery sigr wrapr]; };
   WWGbook = derive2 { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
   WWR = derive2 { name="WWR"; version="1.2.2"; sha256="0ia1dd12r1l08s9nhgvk55jmqwv58jawm25gd2ni6wpa3mcmq02g"; depends=[inline]; };
   WaMaSim = derive2 { name="WaMaSim"; version="1.0.0"; sha256="0sa7qd2bpn3sp06mlpissxxkfhg7j1d07nnwlnz7nyg7pivwnpan"; depends=[magrittr]; };
   Watersheds = derive2 { name="Watersheds"; version="1.1"; sha256="1gn52nl0rr29pqq94gjasc4fi1kjxlrpjdkgm2x56j5jbd162drk"; depends=[lattice maptools rgeos sp splancs]; };
   WaveLetLongMemory = derive2 { name="WaveLetLongMemory"; version="0.1.2"; sha256="1p9ld6w2qgbvkvp7xkzzd14v89rxcwl6vlr1zgxkpc5awl1ln1a8"; depends=[fracdiff wmtsa]; };
+  WaveSampling = derive2 { name="WaveSampling"; version="0.1.0"; sha256="1xyi4aj2l9bjj6f2y11wl29rabhzmkdph1bd8jh8jwwf2p3502wh"; depends=[Matrix Rcpp RcppArmadillo]; };
   WaveletANN = derive2 { name="WaveletANN"; version="0.1.0"; sha256="08qnx0lk2laiyx1q1wxj15j0yic65r7mbhr6lqbdllq30v4dcj88"; depends=[forecast fracdiff wavelets]; };
   WaveletArima = derive2 { name="WaveletArima"; version="0.1.1"; sha256="19hz2q280m41qh3m9lx3i9p6p5fl6pw8r9b06xk6sn04hxbim8xx"; depends=[forecast fracdiff wavelets]; };
   WaveletComp = derive2 { name="WaveletComp"; version="1.1"; sha256="07w2aa0jiflvxyqhgh48705hg8hjspd103jd00i2pcw2v42hwmf8"; depends=[]; };
+  WaveletGARCH = derive2 { name="WaveletGARCH"; version="0.1.0"; sha256="1sgpwdhg7snm0in93ky7jv8lgynnxwlmpgznyj747j7jl9cxz5qn"; depends=[FinTS forecast fracdiff rugarch wavelets]; };
   WaverR = derive2 { name="WaverR"; version="1.0"; sha256="084fhzggzm075w6wp2lqd3j0an21idhw8z5l8ynz4y96mpmn204a"; depends=[kimisc MASS]; };
   WeMix = derive2 { name="WeMix"; version="3.1.1"; sha256="0hg7ib3spfd5fp71gfbrh234wxinv3xswyaxb4gzd8342qg2xxhk"; depends=[lme4 Matrix minqa NPflow numDeriv Rmpfr statmod]; };
   WebGestaltR = derive2 { name="WebGestaltR"; version="0.4.2"; sha256="0in0v19ns4ngnf89m4gxfpqqhnh2vp4h9cf8zcn8pgvr8nzd6f49"; depends=[apcluster doParallel doRNG dplyr foreach httr igraph jsonlite Rcpp readr rlang whisker]; };
   WebPower = derive2 { name="WebPower"; version="0.5.2"; sha256="11255q41zai4q6n2mpk3fzhi2lyyr3g8dxqfajkb93f68m1b38jp"; depends=[lavaan lme4 MASS PearsonDS]; };
   WeibullFit = derive2 { name="WeibullFit"; version="0.1.0"; sha256="1a80gcqbmvb1rz2dr2syy16wn6ixjn6l40gayys9zy8302hky9ir"; depends=[e1071 FAdist glue kSamples mixdist optimx R_methodsS3 R_oo sqldf xtable]; };
-  WeibullR = derive2 { name="WeibullR"; version="1.0.10"; sha256="1h2w1rgap9yjns7cby0559jwzzwhzjq1h6lwsawrfnni7c36iliq"; depends=[Rcpp RcppArmadillo]; };
-  WeightIt = derive2 { name="WeightIt"; version="0.6.0"; sha256="0x9k7n2fbcf78lnjnf6i8yr82mk0i6rrccf27b2yxv49a1ypwsgi"; depends=[ggplot2]; };
+  WeibullR = derive2 { name="WeibullR"; version="1.0.12"; sha256="0rj4q9hd49b914lz8q1d8n96xrl0h29avn95aigb3z7f8knf7g9g"; depends=[Rcpp RcppArmadillo]; };
+  WeightIt = derive2 { name="WeightIt"; version="0.7.1"; sha256="1wzazasnb24zpbsybb1jafzm3bdzmnk8nc09nflfiwwpmysfckax"; depends=[ggplot2]; };
   Weighted_Desc_Stat = derive2 { name="Weighted.Desc.Stat"; version="1.0"; sha256="030i12mnwlj976avvk3grrccgprsckmc35dm2ajwdfc9dijhypnj"; depends=[]; };
   WeightedCluster = derive2 { name="WeightedCluster"; version="1.4"; sha256="05rmqhgfzh9fs4c1lhmrbk8s46ihaywy7n9qnivf7zcxxzxds0lj"; depends=[cluster RColorBrewer TraMineR]; };
   WeightedPortTest = derive2 { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
-  WeightedROC = derive2 { name="WeightedROC"; version="2018.10.1"; sha256="1hdksd47pkky83g6hn6123f243yw3bzrlaibdgr2kd5kxn9rma3y"; depends=[]; };
+  WeightedROC = derive2 { name="WeightedROC"; version="2019.11.12"; sha256="1zznzvd2nlxq3c5gr88f6midglavmk6368wfqdbg7bwvfxsccgbz"; depends=[]; };
   WgtEff = derive2 { name="WgtEff"; version="0.1.2"; sha256="1z8pndv43ssgmzldwaq0088lmf1g2mkmrbmzyaismcpngn9fqxsk"; depends=[]; };
   WhatIf = derive2 { name="WhatIf"; version="1.5-9"; sha256="0ihpp3wbhpsg00g0s31l0ca4q0a2sch2a2j8cgz14g8na43x8831"; depends=[lpSolve pbmcapply Zelig]; };
   WhiteStripe = derive2 { name="WhiteStripe"; version="2.3.2"; sha256="0kzwglaazn820fzxd2g1fsiw2rnq0qxagns8b5mm3inflsgs35ng"; depends=[mgcv oro_nifti]; };
@@ -4756,6 +4837,7 @@ in with self; {
   Xmisc = derive2 { name="Xmisc"; version="0.2.1"; sha256="11gwlcyxhz1p50m68cnqrxmisdk99v8vrsbvyr7k67f0kvsznzs1"; depends=[]; };
   Xplortext = derive2 { name="Xplortext"; version="1.2.1"; sha256="1c19i367vbcf8ikb364kz8488lcd5ignyagg9bhza282grhla7kn"; depends=[FactoMineR flashClust flexclust ggdendro ggplot2 gridExtra MASS slam stringi stringr tm]; };
   YPInterimTesting = derive2 { name="YPInterimTesting"; version="1.0.3"; sha256="0fca963rsbs9k7ivffsqk4hzap6ll7s709kqs6aby0plghrdla2w"; depends=[MASS Rcpp]; };
+  YPPE = derive2 { name="YPPE"; version="1.0.0"; sha256="04rqirwh2al67lvlva68cab9slic9nqgj27mbsb14rb5i6f8mcfw"; depends=[BH Formula Rcpp RcppEigen rstan rstantools StanHeaders survival]; };
   YPmodel = derive2 { name="YPmodel"; version="1.3"; sha256="1vll33nm7xynnbq15wksk9c38jhjfd6l1bbzijn5skqc5yik1r5x"; depends=[]; };
   YRmisc = derive2 { name="YRmisc"; version="0.1.5"; sha256="0vdxw67j4sx3m713s2spvj7jlk9h2g9hg4169zabfah8ni7gdman"; depends=[ggplot2 gridExtra robust]; };
   YaleToolkit = derive2 { name="YaleToolkit"; version="4.2.2"; sha256="12wggdyz0wgnmxnqhp8bypyy1x1p50g49fwdzl2l43il44cdyv0g"; depends=[foreach iterators]; };
@@ -4765,6 +4847,7 @@ in with self; {
   ZIBBSeqDiscovery = derive2 { name="ZIBBSeqDiscovery"; version="1.0"; sha256="12g9rga9z6318ni6x6q9hdqlgl93y2xn8vf3gc6sm97fz8pliswx"; depends=[mcc]; };
   ZIBseq = derive2 { name="ZIBseq"; version="1.2"; sha256="13rjy4jl9wil6hhpra4qmdis0iyqxchzsf9l7q6r0dz1f7dpd2nq"; depends=[gamlss gamlss_dist nlme]; };
   ZIM = derive2 { name="ZIM"; version="1.1.0"; sha256="0scyfjn4ilsvha3x41c3b8bcfi31hlhwm77wn2a8hj5dsvnnmzig"; depends=[MASS]; };
+  ZIPFA = derive2 { name="ZIPFA"; version="0.8.0"; sha256="0dx0v01sc769lqvkrk9fyhlifiif2xva20m2d9p341cgzp5875c6"; depends=[doParallel foreach Matrix optimx trustOptim]; };
   ZOIP = derive2 { name="ZOIP"; version="0.1"; sha256="0fraxzr2mfd7w705j2fryhh9vpg6nkag6kmk7p7in3zknxwipfh3"; depends=[boot GHQp numDeriv rmutil]; };
   ZRA = derive2 { name="ZRA"; version="0.2"; sha256="1sx1q5yf68hhlb5j1hicpj594rmgajqr25llg7ax416j0m2rnagi"; depends=[dygraphs forecast]; };
   ZVCV = derive2 { name="ZVCV"; version="1.0.0"; sha256="1npw836q2skx54843lgxvb0rfwafckjc8k8dljykm60ad3z7zak8"; depends=[abind glmnet mvtnorm partitions Rcpp RcppArmadillo]; };
@@ -4785,19 +4868,22 @@ in with self; {
   aSPU = derive2 { name="aSPU"; version="1.48"; sha256="0kjvwwvyhiz9i5kxqg68lq6cvxnk9vzvp5zca5hfv2g77j42wh9h"; depends=[fields gee MASS matrixStats mvtnorm]; };
   aTSA = derive2 { name="aTSA"; version="3.1.2"; sha256="1p3spas0sxj08hkb8p6k2fy64w86prlw1hbnrqnrklr0hnkg2g54"; depends=[]; };
   aVirtualTwins = derive2 { name="aVirtualTwins"; version="1.0.1"; sha256="1jg19ns3mxfycc11i2c152d83n4kqz3dd6d269sijnxrw80kzjki"; depends=[party randomForest rpart]; };
-  aaSEA = derive2 { name="aaSEA"; version="1.0.0"; sha256="0x0vp91m3vxgzrs38mf36d24i5i7f03jsisbdrx7s1slbqzdrkv8"; depends=[Bios2cor DT Hmisc magrittr networkD3 plotly seqinr shiny shinydashboard]; };
+  aaSEA = derive2 { name="aaSEA"; version="1.1.0"; sha256="0him4r8qyp0xssgrmdxjs45yn4d28h5anv4jyxxbbs9phb0m6j3h"; depends=[Bios2cor DT Hmisc magrittr networkD3 plotly seqinr shiny shinydashboard]; };
   abbyyR = derive2 { name="abbyyR"; version="0.5.5"; sha256="1vldnd3dg89aj6a73nhirirqddbfdrnzhb5m3679i60sark8nk6r"; depends=[curl httr plyr progress readr XML]; };
   abc = derive2 { name="abc"; version="2.1"; sha256="0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb"; depends=[abc_data locfit MASS nnet quantreg]; };
   abc_data = derive2 { name="abc.data"; version="1.0"; sha256="1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj"; depends=[]; };
+  abcADM = derive2 { name="abcADM"; version="1.0"; sha256="0vcabnnnwc0psv9v3rda5aap9s8cq1pjh02zva3ki64hlavf2a10"; depends=[BH Rcpp]; };
   abcdeFBA = derive2 { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[corrplot lattice rgl Rglpk]; };
-  abcrf = derive2 { name="abcrf"; version="1.8"; sha256="0r31ki89z8zzcffm0yvd2zw3q96rk6g6fnwwkql902mgajbrha1f"; depends=[doParallel foreach MASS matrixStats ranger Rcpp RcppArmadillo readr stringr]; };
+  abcrf = derive2 { name="abcrf"; version="1.8.1"; sha256="1ghbd24yhqy3xhdxas6ccn84nkavqpgldx5ck8kijknc7qjm8k27"; depends=[doParallel foreach MASS matrixStats ranger Rcpp RcppArmadillo readr stringr]; };
+  abcrlda = derive2 { name="abcrlda"; version="1.0.1"; sha256="0j29ifsvmxfx2g6v4bpbb4s6miwfpf4vlkpbgj6f2q078s4clc85"; depends=[]; };
   abctools = derive2 { name="abctools"; version="1.1.3"; sha256="07s9dg10i8lsxl73b4n2hynca2fjgb0ykb0dz8c3zv6cgw3cyx97"; depends=[abc abind Hmisc plyr]; };
   abd = derive2 { name="abd"; version="0.2-8"; sha256="191gspqzdv573vaw624ri0f5cm6v4j524bjs74d4a1hn3kn6r9b7"; depends=[lattice mosaic nlme]; };
   abe = derive2 { name="abe"; version="3.0.1"; sha256="1f19h3xzzmjhvwc1rrb8z0rai3ip03y4gdi2gg9bfr5sg2nfklk6"; depends=[]; };
+  abemus = derive2 { name="abemus"; version="1.0.1"; sha256="1dhllb184byp1yl15rg2w02zgw3iajag7cxshirg47mnmm7n70bb"; depends=[data_table]; };
   abf2 = derive2 { name="abf2"; version="0.7-1"; sha256="0d65mc1w4pbiv7xaqzdlw1bfsxf25587rv597hh41vs0j0zlfpxx"; depends=[]; };
   abind = derive2 { name="abind"; version="1.4-5"; sha256="0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis"; depends=[]; };
   abjutils = derive2 { name="abjutils"; version="0.2.3"; sha256="0n4zps65y3zg0gfzlv97w91si52a9izkncirskbkj5x9hk0nhxcv"; depends=[devtools dplyr furrr future glue httr magrittr progress purrr readr rlang rstudioapi scales stringi stringr tibble tidyr]; };
-  abn = derive2 { name="abn"; version="2.1"; sha256="08jlvb6i5f7ry2dwm0jgrnn2w95vr0l67dpx13n9878lz9ld131b"; depends=[lme4 MASS nnet Rcpp RcppArmadillo rjags]; };
+  abn = derive2 { name="abn"; version="2.2"; sha256="19w6bdjyp4zwqs6p0flry4qxqynf9rh8ykdrfrp61wrdf7kysw0d"; depends=[lme4 MASS nnet Rcpp RcppArmadillo rjags]; };
   abnormality = derive2 { name="abnormality"; version="0.1.0"; sha256="1fzfskl9akl06nliy8hkv2a0pznpj8pwcypg3gj5r2nzvr3kan9v"; depends=[MASS Matrix]; };
   abodOutlier = derive2 { name="abodOutlier"; version="0.1"; sha256="1pvhgxmh23br84r0fbmv7g53z2427birdja96a67vqgz18r3fdvj"; depends=[cluster]; };
   abstractr = derive2 { name="abstractr"; version="0.1.0"; sha256="1ymwp7syrynwd4i8aj2x5n8jdi9d96fjzl6jb09n0bnr5fgl7vig"; depends=[colourpicker emojifont ggplot2 gridExtra rintrojs shiny shinythemes]; };
@@ -4838,12 +4924,13 @@ in with self; {
   adaptMCMC = derive2 { name="adaptMCMC"; version="1.3"; sha256="08v11rl0p4w94knb0yzs1ysj42xillya62yaw3zm40d4pqv7vcky"; depends=[coda Matrix]; };
   adaptMT = derive2 { name="adaptMT"; version="1.0.0"; sha256="1yllz1zd4cryf5bj8b2lcrj6zl79yjkllyh9p02ikryy5qmg419b"; depends=[]; };
   adaptTest = derive2 { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
-  adaptalint = derive2 { name="adaptalint"; version="0.2.3"; sha256="0n047zibp3jsw8d3c971xnqgl8nsqxzcayic0xkz917pwlfrdnd7"; depends=[dplyr lintr purrr]; };
+  adaptalint = derive2 { name="adaptalint"; version="0.2.4"; sha256="15qdcvnnbgcps8j5k79354wsc9alswijv8lcafg2i3lghaw536yf"; depends=[dplyr lintr purrr]; };
   adaptiveGPCA = derive2 { name="adaptiveGPCA"; version="0.1.2"; sha256="0bb6hw77dfa66b12xyazlp992gwjb1plylixlmq4cv4yjhnl9n5z"; depends=[ape ggplot2 phyloseq shiny]; };
   adaptivetau = derive2 { name="adaptivetau"; version="2.2-3"; sha256="1jficl4yidix35q8yqs3pcv813wq3pg4hpw4ah4dprvg95bl7wwx"; depends=[]; };
   adaptsmoFMRI = derive2 { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[coda Matrix MCMCpack mvtnorm spatstat]; };
   addhaz = derive2 { name="addhaz"; version="0.5"; sha256="1709jq9rp5lhqk0qpk8zkdwzhcv1bcach8mm7yiz7hzcc1mgxb12"; depends=[boot MASS Matrix]; };
   addhazard = derive2 { name="addhazard"; version="1.1.0"; sha256="0hk7br52wjmq605xgslv8lspr35aqpdgkiz2yljz31khy3y3vi8c"; depends=[ahaz rootSolve survival]; };
+  addinsOutline = derive2 { name="addinsOutline"; version="0.1.6"; sha256="125qfqbpv5xflw8qlyh8m3iyd6biyp3arls3z7y8bqkbghifl730"; depends=[dplyr DT fs miniUI rmarkdown rstudioapi shiny shinyFiles stringr tibble yaml]; };
   addinslist = derive2 { name="addinslist"; version="0.3"; sha256="0rw87zxlq3b7ka782qwqbn2cc7w1cwcpg68l8s1mkrdgyaar4wr0"; depends=[curl DT miniUI rappdirs remotes rmarkdown rvest shiny shinyjs xml2]; };
   additiveDEA = derive2 { name="additiveDEA"; version="1.1"; sha256="15nxpdybsda6yhjk23bpafr8v1zdx8332pcxf26k795q3ypjpiy2"; depends=[Benchmarking lpSolveAPI]; };
   additivityTests = derive2 { name="additivityTests"; version="1.1-4"; sha256="048ds90wqjdjy1nyhna3m06asdklbh8sx1n556kss2j1r1pma1sw"; depends=[]; };
@@ -4864,17 +4951,18 @@ in with self; {
   adespatial = derive2 { name="adespatial"; version="0.3-7"; sha256="0chbz14jii0gra6f7zncjrd1m2d2n5wwpq1ihjnwwk8jvyqskd1a"; depends=[ade4 adegraphics adephylo lattice MASS shiny sp spdep vegan]; };
   adfExplorer = derive2 { name="adfExplorer"; version="0.1.4"; sha256="11z6jm20giqmmz4dwcpa9fshvrmlmv8m0y1vg053nch05884niz2"; depends=[]; };
   adhoc = derive2 { name="adhoc"; version="1.1"; sha256="0a59fv9glcqh4zzd0887ndrhlcaylja6vay2ifajp8an29gjk1vv"; depends=[ape pegas polynom]; };
-  adimpro = derive2 { name="adimpro"; version="0.9.0"; sha256="1kg1vm72gcyj6rnj7hbf126r2p6n7x9v6sbzh1gdb047lk89wgc3"; depends=[awsMethods]; };
-  adiv = derive2 { name="adiv"; version="1.2"; sha256="1lmq499ipv2a4f3270hdp54x8n7gij4ssgagxc9i35qwqwdbr8gy"; depends=[ade4 adegraphics adephylo ape cluster phylobase rgl]; };
+  adimpro = derive2 { name="adimpro"; version="0.9.2"; sha256="1ajq2889y70lxjdpf5zdg7zkz35i3i92li72wb7nbfngxmw47xzv"; depends=[awsMethods]; };
+  adiv = derive2 { name="adiv"; version="1.3"; sha256="0cmj9r8a6i6ag907g3a6likjz85vx7m6jrsfm3h2kwf29qr6d5lc"; depends=[ade4 adegraphics adephylo ape cluster FactoMineR phylobase phylosignal phytools rgl]; };
   adjclust = derive2 { name="adjclust"; version="0.5.7"; sha256="059gzbnwkmy1l8yqbl8ksz80nm6pf917sxplp048jzx57sxpry2k"; depends=[capushe Matrix matrixStats]; };
   adjustedcranlogs = derive2 { name="adjustedcranlogs"; version="0.1.0"; sha256="08apfvpqvnnalx230p4qf5ckrwm1sgzras4zfrysgym5d4map9ci"; depends=[cranlogs dplyr lubridate rvest xml2]; };
   adklakedata = derive2 { name="adklakedata"; version="0.6.1"; sha256="1lzj3ib4bgfkq5lq12n47pwc52h7k35xbbwj6brwsgx1gd4fx3x6"; depends=[httr rappdirs]; };
   adlift = derive2 { name="adlift"; version="1.4-1"; sha256="14q7fnhlqvxdhnfjhdhfmadz241srplbm069a7ybbsql21cphpf3"; depends=[EbayesThresh]; };
-  admisc = derive2 { name="admisc"; version="0.4"; sha256="16vfbi2q8khzinj7aps05h3y66s0whmhx3h3909smsg96dhijclk"; depends=[]; };
+  admisc = derive2 { name="admisc"; version="0.5"; sha256="0jqlac39rbvxi6xhyadkyxwmpjcpgl6fl8dn2yjnnn0qgs61y5c3"; depends=[]; };
   admixturegraph = derive2 { name="admixturegraph"; version="1.0.2"; sha256="0ld4qyyvbnr5lz9ff64wjwif4c9xnqyjmbfgbl9bk6pia98zppl3"; depends=[doParallel dplyr foreach ggplot2 MASS neldermead pracma]; };
+  admmDensestSubmatrix = derive2 { name="admmDensestSubmatrix"; version="0.1.0"; sha256="1a5lfm10aj6wdjibdnmffn75zvy6x69w8nqcx2i23gxg6v0xlqcl"; depends=[Rdpack]; };
   adnuts = derive2 { name="adnuts"; version="1.0.1"; sha256="1l52f33yzbvcz27iw0k6iwcnfanr65lw206d7w4609k2vmlw8ink"; depends=[ellipse R2admb rstan]; };
   adoption = derive2 { name="adoption"; version="0.6.2"; sha256="18mjhsh19bjmh27sv5fiay0xv1la0qy96v48b093f7kqfx4c21xb"; depends=[quadprog RandomFieldsUtils tkrplot]; };
-  adoptr = derive2 { name="adoptr"; version="0.2.3"; sha256="0i1ckv9721vvxxr742ciy7kpy6wf2nk0wgr22fbmfnjqc8gqa5v2"; depends=[glue nloptr]; };
+  adoptr = derive2 { name="adoptr"; version="0.3.0"; sha256="159g9wpxikw3x8g3h7j4ry2jndzq14zzwxrj6ajvnmgw115bqr2n"; depends=[glue nloptr]; };
   adpss = derive2 { name="adpss"; version="0.1.1"; sha256="0p2gyfc4rxmms8zdsq4hjsh1njfl2s736arq8aq1am2wh1w9k5ch"; depends=[Rcpp]; };
   ads = derive2 { name="ads"; version="1.5-3"; sha256="1k1japzcf0mafxkv9dlzaqz9n4c749lsx0lja4wj327ninpdcfy4"; depends=[ade4 spatstat]; };
   advclust = derive2 { name="advclust"; version="0.4"; sha256="1g8a8q4zh6d4152jb66fh7wj7k6ks5k4kfcazzw70jdn10yi6b38"; depends=[clue ggplot2 knitr MASS reshape2]; };
@@ -4896,18 +4984,20 @@ in with self; {
   agridat = derive2 { name="agridat"; version="1.16"; sha256="1kgmjrj207md86qivadkmv3s2gh3hi9zv63bsj8b9vlcd9f58pfk"; depends=[]; };
   agriwater = derive2 { name="agriwater"; version="1.0.0"; sha256="0m1dpv69nf3pjp63z3a5710skgb6sbrmjv6b8rxvq9lrw63993g9"; depends=[raster rgdal sp]; };
   agrmt = derive2 { name="agrmt"; version="1.40.4"; sha256="1y2gnq6b4zkxknygg73r8qrd435y7c69iqn8i56kwk1ccc1rwddx"; depends=[]; };
+  agrostab = derive2 { name="agrostab"; version="0.1.0"; sha256="0mcskv3144j594wqljzn5pwbhkxh6sb76b1c2wabzjvi61zrapiv"; depends=[dplyr ggplot2 rlang]; };
   agsemisc = derive2 { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
   ahaz = derive2 { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[Matrix survival]; };
   ahnr = derive2 { name="ahnr"; version="0.3.1"; sha256="1g8m3q108ricfyn4fjjaihpr93xz7fm2sfzg3i0fz1n1i703jwm8"; depends=[ggplot2 magrittr matrixcalc pdist pracma purrr visNetwork]; };
   ahp = derive2 { name="ahp"; version="0.2.12"; sha256="0zjhgl0smzx4bkhmdm4rmpyrq4hmxy1nkxvwqjr40pz7vm69icqx"; depends=[data_tree DiagrammeR formattable yaml]; };
-  ahpsurvey = derive2 { name="ahpsurvey"; version="0.4.0"; sha256="0faz6zzh99i99krjws2x9177d6lxi52wn06jgq3qkh1kv27a83mb"; depends=[dplyr knitr magrittr randomNames Rdpack tidyr]; };
+  ahpsurvey = derive2 { name="ahpsurvey"; version="0.4.1"; sha256="1r7x4c318nzbx0ppm9272kfpz2bln1cafkv9irnj85nsdcravr33"; depends=[dplyr knitr magrittr randomNames Rdpack tidyr]; };
   aiRthermo = derive2 { name="aiRthermo"; version="1.2.1"; sha256="058082qdfi1pbdgf26vbfahri1kbc8b2l816q4dq89j5aj5is0a2"; depends=[]; };
   aidar = derive2 { name="aidar"; version="1.0.5"; sha256="1q2iz2qzh2yl0v0sc537xq4vbx2nblym3kv419vr7jvrghdpx3vj"; depends=[XML]; };
   aimPlot = derive2 { name="aimPlot"; version="1.0.0"; sha256="1d52b7kccxba6j7n0gbd7pzs0p87zn32vv8gdf2f7lyr75qzgz7x"; depends=[ggplot2]; };
+  aimsir17 = derive2 { name="aimsir17"; version="0.0.1"; sha256="0d3zygsnflymmfh7pflnynsf1klxjjyrqz5g5fnj2vwsicb40l4x"; depends=[tibble]; };
   airGR = derive2 { name="airGR"; version="1.3.2.42"; sha256="0ll960jm0d56i0gn0g8yln0dvrhxc0b7kbhcfjsrshzb1lb3vq1v"; depends=[]; };
   airGRteaching = derive2 { name="airGRteaching"; version="0.2.6.29"; sha256="15sjwkyvgxihiz35qc8rg1f7f3vb4wdwbrfb37gx8mzql0mwqx4q"; depends=[airGR dygraphs markdown plotrix shiny shinyjs xts]; };
   aire_zmvm = derive2 { name="aire.zmvm"; version="0.8.2"; sha256="0z9knqdl7ihx2vph154qi1lh4s6yvlcw6kwry8k47mhh3p7pynsd"; depends=[dplyr httr lubridate progress readr readxl rvest sp stringr tidyr xml2]; };
-  airportr = derive2 { name="airportr"; version="0.1.2"; sha256="06jk4dhr4qj6fpmlvslnbqj67qy78spcb7yhqa4qn2im4kpmb73q"; depends=[dplyr]; };
+  airportr = derive2 { name="airportr"; version="0.1.3"; sha256="1h8h0cdfqgxv8cf9hp82sx5n4a1z88qyyxicj7d2kmmybqqz2r5n"; depends=[dplyr]; };
   airr = derive2 { name="airr"; version="1.2.0"; sha256="1vswbjmyhygmyqymkfxad9nwsbcgaggian1fyrx63w0y9c4dfv1h"; depends=[readr stringi yaml]; };
   ajv = derive2 { name="ajv"; version="1.0.0"; sha256="1qd5ncb7rdnnvqfknsvq9nrpxrh0zv3jyh4b91dcvfvhp262vfrm"; depends=[RJSONIO V8 yaml]; };
   akima = derive2 { name="akima"; version="0.6-2"; sha256="1klprj4a2pgy5pwdwnrn3siisi2lh8hr4z6vz38sdvjkcmakxnk1"; depends=[sp]; };
@@ -4921,6 +5011,7 @@ in with self; {
   alfred = derive2 { name="alfred"; version="0.1.7"; sha256="1467rg5q2dqbqy8vj2061glb1gksq96rnjlifgyiv5rarwzy9b4y"; depends=[dplyr jsonlite lubridate magrittr tibble tidyr]; };
   algaeClassify = derive2 { name="algaeClassify"; version="1.2.0"; sha256="1sna5rij2ngpgqfz5cviqdbyr43xph8cbjc4vnm238n72zgg7cb6"; depends=[httr lubridate plyr RCurl rvest taxize XML xml2]; };
   algorithmia = derive2 { name="algorithmia"; version="0.2.0"; sha256="0h1llcwk1qkxg26ikib44nd19da1q39n3gd8jwwb36687drl26qp"; depends=[base64enc httr rjson]; };
+  aliases2entrez = derive2 { name="aliases2entrez"; version="0.0.6"; sha256="1s27y74kv9gzrsqvmsaj1f548b095x6zy41dind3q8xrhl1d72rd"; depends=[AnnotationDbi doParallel foreach limma org_Hs_eg_db RCurl readr]; };
   alignfigR = derive2 { name="alignfigR"; version="0.1.1"; sha256="0jsj0h7zpzj6ynfydl8qbggm03xx8db769rli7rcx9909xdxabk6"; depends=[ggplot2]; };
   alineR = derive2 { name="alineR"; version="1.1.4"; sha256="1gi4pl7ij60pz85yjiga5kvldraj9n3nhcyqdxrigs0cqvdwg3ar"; depends=[]; };
   allan = derive2 { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; };
@@ -4943,7 +5034,7 @@ in with self; {
   alterryx = derive2 { name="alterryx"; version="0.5.0"; sha256="1p9q4244bm7hf6my8q951idw41xa5gcrdl7znmsng9pwxh8dnz3h"; depends=[base64enc digest httr jsonlite]; };
   altmeta = derive2 { name="altmeta"; version="2.2"; sha256="1k3p06v8ccj0dbjfpl4nw6579bwcy4j925rk15v55khqmrlx780l"; depends=[]; };
   amap = derive2 { name="amap"; version="0.8-17"; sha256="1il94bkhl8192vawq4gr2gwyhqhid27jr2312rhvr72ssg8p713b"; depends=[]; };
-  amber = derive2 { name="amber"; version="0.1.5"; sha256="16ghabpim0z9i5w49w1wq76hj9w4jan8axylg3mg7f4d1qhzja6r"; depends=[classInt doParallel foreach latex2exp ncdf4 raster rgeos scico sp spatial_tools viridis xtable]; };
+  amber = derive2 { name="amber"; version="0.1.6"; sha256="0n9idgmkqnnsajybkbgczlrr1hyj5z98rixk451lh1r1j2cv8252"; depends=[classInt doParallel foreach Hmisc latex2exp ncdf4 raster rgdal rgeos scico sp viridis xtable]; };
   ambhasGW = derive2 { name="ambhasGW"; version="0.0.2"; sha256="0v517i4whip45pk6bwlwval9pz367pcgzz62b2z22mrwgi6m6bck"; depends=[raster rgdal yaml]; };
   ambient = derive2 { name="ambient"; version="0.1.0"; sha256="142q30rhi0wz0gp1v0swm83gbli8j6plpzzpqjwnjc693wd3a1ih"; depends=[Rcpp]; };
   ameco = derive2 { name="ameco"; version="0.2.9"; sha256="0vzwsy7gp17ghl1hgcsbfs9rarzl8dl36x6lplnzrisqv3dqmk25"; depends=[]; };
@@ -4954,7 +5045,7 @@ in with self; {
   ammistability = derive2 { name="ammistability"; version="0.1.1"; sha256="1vp2857cwn4dd86vj8qf6h4z8hh5q2jvrlpmply8bf70mnmnq18h"; depends=[agricolae ggcorrplot ggplot2 Rdpack reshape2]; };
   ampd = derive2 { name="ampd"; version="0.2"; sha256="0bi8qngd37n60ym516yjcahxc536vdwm60rq5ld32170hww69j7c"; depends=[]; };
   amt = derive2 { name="amt"; version="0.0.7"; sha256="1az11vi5kd1sp76xvgshvamyw59dydhp6g4m6c2wqcdll88dlfgn"; depends=[broom checkmate circular ctmm dplyr fitdistrplus FNN geosphere glue KernSmooth lazyeval leaflet lubridate magrittr maptools purrr raster Rcpp rgeos rlang sf sp survival tibble tidyr velox]; };
-  anMC = derive2 { name="anMC"; version="0.2.1"; sha256="02mzmaxjjbjqarfwdv6465p5hvnnpsqfkb1wkm68bx64cimgldki"; depends=[mvtnorm Rcpp RcppArmadillo]; };
+  anMC = derive2 { name="anMC"; version="0.2.2"; sha256="0ab215nrqn535g9ayqzvgdckhwcrij1mc1296pvlj3grn3f8rhws"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   anacor = derive2 { name="anacor"; version="1.1-3"; sha256="0mj8g9p4fla0ax9jvcq7kii4lrhj8g872p11nys06anva22qjp51"; depends=[car colorspace fda]; };
   analogsea = derive2 { name="analogsea"; version="0.7.2"; sha256="1dfvdizbxdc00rcabcv1jpy3py4ncb3g2p1kim8m4sy9rdc299yq"; depends=[aws_s3 httr jsonlite magrittr yaml]; };
   analogue = derive2 { name="analogue"; version="0.17-3"; sha256="1dd94hs517f7a11zjxm7wygcc1g72r5hff4figgmqf8c699p5d9y"; depends=[brglm lattice MASS mgcv princurve vegan]; };
@@ -5004,13 +5095,13 @@ in with self; {
   ape = derive2 { name="ape"; version="5.3"; sha256="08wbk1kxhs32bmmvqlqanbdg1w235amd35k8m00fngsj9h9xzc08"; depends=[lattice nlme Rcpp]; };
   apercu = derive2 { name="apercu"; version="0.2.3"; sha256="0w9hi8pdjb3nschh4cy387q67jxhkl2bn9vir949rsl831x4cs1j"; depends=[pls]; };
   apex = derive2 { name="apex"; version="1.0.3"; sha256="157i67yvb9xqlhzcgkxj7n5lq65svxs82z38dv2c0k8p4krjl1pd"; depends=[adegenet ape phangorn]; };
-  apexcharter = derive2 { name="apexcharter"; version="0.1.2"; sha256="00rpyz0wpy7gjnmx5rr2s9lrzhbb7axy44vkhym1lbf89c2fvipm"; depends=[ggplot2 htmlwidgets magrittr rlang scales]; };
+  apexcharter = derive2 { name="apexcharter"; version="0.1.3"; sha256="1kgn5bs329l2brrsd0qda87jgkjxa9ksm2plffl4v46nqkz53038"; depends=[ggplot2 htmlwidgets jsonlite magrittr rlang scales]; };
   aphid = derive2 { name="aphid"; version="1.3.3"; sha256="1jqpn7w5sgy4k49qd9ci6yj89s55gzwl5w5ldw793mzpg6if7lfn"; depends=[kmer openssl Rcpp]; };
   aplore3 = derive2 { name="aplore3"; version="0.9"; sha256="0af6klscsxvh4amp519b6r41bzysf61p040fj4l5706bbya1arhw"; depends=[]; };
   aplpack = derive2 { name="aplpack"; version="1.3.3"; sha256="010saim43d3hr83ksi916846rh6qfbb0gvhsf5jbdx95m4bai9g3"; depends=[]; };
   apmsWAPP = derive2 { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[aroma_light Biobase DESeq edgeR genefilter gtools multtest seqinr]; };
   apng = derive2 { name="apng"; version="1.0"; sha256="13hvr1w566anrhdicaqwqjgfq2lk3zkn5gcfgy8zazjnad4vy07y"; depends=[bitops]; };
-  apollo = derive2 { name="apollo"; version="0.0.8"; sha256="0ffl6mw6gvkpx5jspfsss1crpks586lz38b513qw4i1a71pbrw5r"; depends=[coda maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB sandwich]; };
+  apollo = derive2 { name="apollo"; version="0.0.9"; sha256="1gzwfra74bb8jihc75lgymf5m194xmk6wz7p9mhjchgvb98czjqz"; depends=[coda maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB sandwich]; };
   apparent = derive2 { name="apparent"; version="1.1"; sha256="03n3pq620xg1vykzsmvxp6wr9hs561pl5ds50g7zmxk9z0ijcb32"; depends=[outliers]; };
   apple = derive2 { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; };
   appnn = derive2 { name="appnn"; version="1.0-0"; sha256="0wkpr6lcd68wlzk6n622ab7sd99l837073czn4k56hw8bw9v68j3"; depends=[]; };
@@ -5024,7 +5115,7 @@ in with self; {
   apt = derive2 { name="apt"; version="2.5"; sha256="1y18bqnnxy5p0xx9gbfrnrzq3nlhw3psl5zlibrw6lfhb8lxd4mk"; depends=[car copula erer gWidgets urca]; };
   aptg = derive2 { name="aptg"; version="0.1.0"; sha256="06z8041h1k9v0ymd7azn11xzhqxb8lda4r7nyg51h8z3i8mpq1ba"; depends=[ape brranching phytools taxize xml2]; };
   aqfig = derive2 { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
-  aqp = derive2 { name="aqp"; version="1.17"; sha256="1r3yxb3dw9drgi6xpzyrmg9i08l1mrvdc05v5mwvhhply7v8n3d4"; depends=[cluster digest Hmisc lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
+  aqp = derive2 { name="aqp"; version="1.18"; sha256="0r51pwz2wdq4fbrn2jcw9byb159m6gflxc9pwxp4klgzmmd64li3"; depends=[cluster digest lattice MASS plotrix plyr RColorBrewer reshape scales sp stringr]; };
   aqr = derive2 { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[RCurl xts]; };
   ar_matrix = derive2 { name="ar.matrix"; version="0.1.0"; sha256="1d531hkl50szfa1q0zbp8dp1a9jli63kwvxjgc9n0ar279y47qdz"; depends=[MASS Matrix sp sparseMVN]; };
   arabicStemR = derive2 { name="arabicStemR"; version="1.2"; sha256="1vflynbi7aln7x2p4jg9gsvfrxn4v6qkb4wbrzxmj561lqy9fcay"; depends=[]; };
@@ -5043,8 +5134,8 @@ in with self; {
   arfima = derive2 { name="arfima"; version="1.7-0"; sha256="0kj8qv6m2fcdw8x735n8fk9cynm0jxi5v9hif0f879sxk6qkxb9y"; depends=[ltsa]; };
   argo = derive2 { name="argo"; version="2.0.0"; sha256="0gy43p7wdja3q99db56b8dr3yx8ca0zjv4gc33xv61fypdimgqrd"; depends=[boot glmnet Matrix XML xtable xts zoo]; };
   argon2 = derive2 { name="argon2"; version="0.2-0"; sha256="0kqn06rpb39jlzizjlnc5c44mfic8llrshxn7ljgmyj35lbqwxqh"; depends=[]; };
-  argonDash = derive2 { name="argonDash"; version="0.1.0"; sha256="002q766mhwasq44yr39k8rhdxgbz4l1zxg26i3r2gbc260if4jbd"; depends=[argonR htmltools shiny]; };
-  argonR = derive2 { name="argonR"; version="0.1.0"; sha256="053cwvaacddixr84y05qaffykvk6bymhisdgafs24zcirdqzpl0a"; depends=[htmltools]; };
+  argonDash = derive2 { name="argonDash"; version="0.2.0"; sha256="1wykr7y5375g1nb18ynybccxmd948xrr0gdwxxqsfjf782vlgd2d"; depends=[argonR htmltools shiny]; };
+  argonR = derive2 { name="argonR"; version="0.2.0"; sha256="15hlvansqnky9bnq4r7xza3hb1hzylmhz8117wxz9lxa1wiky2is"; depends=[htmltools rstudioapi]; };
   argosfilter = derive2 { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; };
   argparse = derive2 { name="argparse"; version="2.0.1"; sha256="1as7h6z7kzgv0fqzpnp76qbm96b4jcd37azd58b7rz0l1n94764l"; depends=[findpython jsonlite R6]; };
   argparser = derive2 { name="argparser"; version="0.4"; sha256="0s1wxshx4jk69wfxhycx973q6y8cmqrfymyjklhq1i8xrj0kmmx9"; depends=[]; };
@@ -5061,27 +5152,27 @@ in with self; {
   aroma_core = derive2 { name="aroma.core"; version="3.2.0"; sha256="1c4spy2sc80clz49irzilsqy65k6q2vl86qaydnymkzljcz7bbpg"; depends=[future listenv matrixStats PSCBS R_cache R_devices R_filesets R_methodsS3 R_oo R_rsp R_utils RColorBrewer]; };
   arpr = derive2 { name="arpr"; version="0.1.1"; sha256="0j69nbmhmhmyfna011gv68wvxv1x2lijz94pyg9g2ax720x74i2q"; depends=[magrittr]; };
   arrApply = derive2 { name="arrApply"; version="2.1"; sha256="0qy7iwi580rrf3sycsbv6qgxsqcdy9pdbnkdrx81j68qni9iw737"; depends=[Rcpp RcppArmadillo]; };
-  arrangements = derive2 { name="arrangements"; version="1.1.6"; sha256="0napqfai243lpkcqbwzv8qi1apn6xi59yifay69cjdmxwkw51yv5"; depends=[gmp R6]; };
+  arrangements = derive2 { name="arrangements"; version="1.1.7"; sha256="1amnpkgzmdwybfdqpc8c7v5h5cf19idmc552xsv7c7bmlclyrjv2"; depends=[gmp R6]; };
   arrayhelpers = derive2 { name="arrayhelpers"; version="1.0-20160527"; sha256="1ib91hpg6xgy0jr4sb8ib19x0v4f5n96lak0qm0z5vksawgcnp1l"; depends=[svUnit]; };
-  arrow = derive2 { name="arrow"; version="0.14.1.1"; sha256="1m2rrqkh7zvfpajj15aii3yydgf3ci3n3ji7ic81zv1jghmrd9rd"; depends=[assertthat bit64 fs purrr R6 Rcpp rlang tidyselect]; };
+  arrow = derive2 { name="arrow"; version="0.15.1.1"; sha256="0qdzq22x3cqfwa9a62rl718kbmq87rk3s0k17hsh5122sb8lwvh1"; depends=[assertthat bit64 purrr R6 Rcpp rlang tidyselect]; };
   ars = derive2 { name="ars"; version="0.6"; sha256="0zs1rk3i7pc9wcvxrvjcls194mfbvmkz7cb6pwd1cm3fzjwsyxsp"; depends=[]; };
   arse = derive2 { name="arse"; version="1.0.0"; sha256="0ssaalc058m09gfcr1n0s729rx2plia3zkhlynj67drclyvhyb0i"; depends=[dplyr pracma]; };
   arsenal = derive2 { name="arsenal"; version="3.3.0"; sha256="1bn1i5cdy6caw6ndqcfy41x3qb0hj3g4r8p4jl24gljygd3rvzgh"; depends=[]; };
   artfima = derive2 { name="artfima"; version="1.5"; sha256="1nqsq9fsqk9kag9n7i2r9yvf578nkdfrkkv7qy8650prka0jca2p"; depends=[gsl ltsa]; };
   arules = derive2 { name="arules"; version="1.6-4"; sha256="003c5cd3xzq39h7c19px077ygm0n1v7k83icy5zzrnkagyds2p8n"; depends=[Matrix]; };
-  arulesCBA = derive2 { name="arulesCBA"; version="1.1.4"; sha256="1d0ln8mislns7ix1rch63ry4856b2cnpx99rmw9d967dmvyrm8vs"; depends=[arules discretization Matrix testthat]; };
+  arulesCBA = derive2 { name="arulesCBA"; version="1.1.5"; sha256="0mzsc9abnyj1fzvrdz26czrigmp96nhw6f832m69a2fqmld2qgkg"; depends=[arules discretization glmnet Matrix testthat]; };
   arulesNBMiner = derive2 { name="arulesNBMiner"; version="0.1-5"; sha256="1q4sx6c9637kc927d0ylmrh29cmn4mv5jxxpl09yaclzfihjlk9a"; depends=[arules rJava]; };
   arulesSequences = derive2 { name="arulesSequences"; version="0.2-22"; sha256="0m4g1mgc1swixq9z2v30bjvgnkqsjrinsmwqznrycxyzcgwbn8b3"; depends=[arules]; };
   arulesViz = derive2 { name="arulesViz"; version="1.3-3"; sha256="1c51l4hqai07qx20lbdvffxw9kx0vkgbccw7b9wz1h2n5ma90c8y"; depends=[arules colorspace DT igraph plotly scatterplot3d seriation vcd visNetwork]; };
   asVPC = derive2 { name="asVPC"; version="1.0.2"; sha256="07nfwr0lsfpwgfdgzcdn1svw8dnjfni5ga9q77yjd1bj0wf76ci2"; depends=[ggplot2 plyr]; };
   asaur = derive2 { name="asaur"; version="0.50"; sha256="0c1rgic76w3i2xhna7i52lyc0p01s5b1mxyn55gqw6i19v9mq0b3"; depends=[]; };
   asbio = derive2 { name="asbio"; version="1.5-5"; sha256="0nq388b9ma0a3p5l57v1b4js8i2a6n5rip3yi0zzzfwi3n3kxi77"; depends=[deSolve lattice multcompView mvtnorm pixmap plotrix scatterplot3d]; };
-  asciiSetupReader = derive2 { name="asciiSetupReader"; version="2.1.0"; sha256="1bvdlmr83qhjxjdyh69h6gnf8dffpqi5v60fm5z8q1j9rh3c2sr7"; depends=[data_table haven readr stringr zoo]; };
+  asciiSetupReader = derive2 { name="asciiSetupReader"; version="2.2.0"; sha256="1xh8ksxdf1i2p8pagppw1bw5s190yicpxcyc213ml3s0r4h071s5"; depends=[data_table haven miniUI readr rstudioapi shiny stringr zoo]; };
   asciiruler = derive2 { name="asciiruler"; version="0.2"; sha256="0xhkbsy9dypk09avazgxczyfkh3rhdxhwci688dw1lxnhxv1hj24"; depends=[stringr]; };
   asd = derive2 { name="asd"; version="2.2"; sha256="0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l"; depends=[mvtnorm]; };
   asdreader = derive2 { name="asdreader"; version="0.1-3"; sha256="15a922aw0v5w4hrha03xifx8cpifcc773gambgwqq6i5nz08ya26"; depends=[]; };
   ash = derive2 { name="ash"; version="1.0-15"; sha256="1ay2a2agdmiz7zzvn26mli0x0iwk09g5pp4yy1r23knhkp1pn2lb"; depends=[]; };
-  ashr = derive2 { name="ashr"; version="2.2-32"; sha256="0k3kh42g1py3s94chnq3nxm44dr4j8nqzwrassl3abc0rhh5f2v4"; depends=[assertthat doParallel etrunct foreach Matrix mixsqp pscl Rcpp SQUAREM truncnorm]; };
+  ashr = derive2 { name="ashr"; version="2.2-39"; sha256="170scg00a65kwbf7kx7lszgsgq243q5c2f0rs289qn2vqpf935b8"; depends=[assertthat doParallel etrunct foreach Matrix mixsqp pscl Rcpp SQUAREM truncnorm]; };
   asht = derive2 { name="asht"; version="0.9.4"; sha256="1aq384vgf26ig3isyp99z09glcjhl2qd43kp8qdcwk75dcrmxd7z"; depends=[bpcp coin exact2x2 exactci perm ssanv]; };
   askpass = derive2 { name="askpass"; version="1.1"; sha256="07q0ik8jzk44vpwh48rr3fnpd7dzsdhjjsl4l850rffv3dyq4h6v"; depends=[sys]; };
   aslib = derive2 { name="aslib"; version="0.1"; sha256="0dkb6bb6dqavjklbciqxqhi3fdqib9asdnhiap2gp9b9wfnkyq7k"; depends=[BatchExperiments BatchJobs BBmisc checkmate corrplot ggplot2 llama mlr parallelMap ParamHelpers plyr reshape2 RWeka stringr yaml]; };
@@ -5110,7 +5201,8 @@ in with self; {
   assertr = derive2 { name="assertr"; version="2.6"; sha256="0g4ii6vhp0155a29ljhs64a09x0nzy5ybvwwchhk4mkcgsvnvfkj"; depends=[dplyr MASS rlang]; };
   assertthat = derive2 { name="assertthat"; version="0.2.1"; sha256="17wy5bdfzg73sg2clisg1k3zyn1adkj59x56m5nwia2k8z67zkw5"; depends=[]; };
   assignPOP = derive2 { name="assignPOP"; version="1.1.7"; sha256="0zx7cblfzfpi5jvagni56845lg198zkx5q43ip3lg8h0sq2h8qp2"; depends=[caret doParallel e1071 foreach ggplot2 MASS randomForest reshape2 stringr tree]; };
-  assist = derive2 { name="assist"; version="3.1.5"; sha256="12mzg1lqy0f35m0bq7kb4jw0l5g0rsghx11ibgz06w6s31g734ar"; depends=[lattice nlme]; };
+  assignR = derive2 { name="assignR"; version="1.1.3"; sha256="0pmzgz955nqxlcnb0f0kbv415kysjl12niyh704ksvhs5yw0xhah"; depends=[maptools raster rgdal sp]; };
+  assist = derive2 { name="assist"; version="3.1.6"; sha256="13r029z32f2xcspafx01jkgmabbjcvnp8wg1wx1liwxh3mf2zalg"; depends=[lattice nlme]; };
   assocInd = derive2 { name="assocInd"; version="1.0.1"; sha256="16yzgvlqbapjhvzm5nw8vfrhh8mp9llnhck4bpgmszyrh93z1ha5"; depends=[]; };
   assortnet = derive2 { name="assortnet"; version="0.12"; sha256="1vyzrb8vsi9pcdn6jd83k77bg0q2a3dwdvlnmxnshqiif2pakb8m"; depends=[]; };
   aster = derive2 { name="aster"; version="1.0-3"; sha256="1bcghw30db8m39fqza2msi6ahfn6yx7gaa3fzcmnxb8jrvrlpjgy"; depends=[trust]; };
@@ -5126,17 +5218,18 @@ in with self; {
   asymmetry = derive2 { name="asymmetry"; version="2.0.2"; sha256="0x5yzlf804mhwfr9244b04vnixiyh5d8vmqrfffgid3dijg2zszm"; depends=[gplots smacof]; };
   asympTest = derive2 { name="asympTest"; version="0.1.4"; sha256="02l07psiy1888zx86j2r1l5lznz47wdmzbh39pd2nbj8r9i80szr"; depends=[]; };
   asypow = derive2 { name="asypow"; version="2015.6.25"; sha256="0il38djkmw5ka7czpalmhq6yycx7flpdpgbd7p5nx52rsjdv49mj"; depends=[]; };
-  atable = derive2 { name="atable"; version="0.1.2"; sha256="0859yyg2a548wajsmjljzk5hysj14fgsk63qhy35838rkgw85zxc"; depends=[DescTools doBy effsize Hmisc plyr reshape2 settings]; };
+  atable = derive2 { name="atable"; version="0.1.5"; sha256="0jvlch6yhcz5azxj9yllah0x98plws5camxqis58qyqiapgvl9h8"; depends=[DescTools doBy effsize Hmisc plyr reshape2 settings]; };
   atlas = derive2 { name="atlas"; version="1.0.0"; sha256="02wm22j40llmdi6z3rzgbc5fpkzmjfq0xar33bypvj1dx1zxygnd"; depends=[httr testthat]; };
   atmcmc = derive2 { name="atmcmc"; version="1.0"; sha256="05k69b5wlysz3kh0yiqvshgvr0nyz34zkvn6bjs30cwz7s9j21pn"; depends=[]; };
   atmopt = derive2 { name="atmopt"; version="0.1.0"; sha256="1h79ngq1236gz4w29fs3nj46a3m1x8a28z3xnhc6wn3a46cf8zzi"; depends=[DoE_base gtools hierNet]; };
   atsd = derive2 { name="atsd"; version="1.2.0"; sha256="0jan8r5f2r3l2xpdf9rrv4smkr2l645rfdgdfjb1xa54jd3pqvqs"; depends=[httr RCurl]; };
   attachment = derive2 { name="attachment"; version="0.0.9"; sha256="0z47v5nqvw0grgll2bl66zy82igg1ncy78jm9dwv45yd4dl2xi10"; depends=[desc devtools glue knitr magrittr rmarkdown stringr]; };
   attempt = derive2 { name="attempt"; version="0.3.0"; sha256="1q0r4r0hirw2kxsvcq5rqkmbxzi7fa6fxaqi6rmzwiz25025iv71"; depends=[rlang]; };
+  attenuation = derive2 { name="attenuation"; version="1.0.0"; sha256="0ys4psvkvimmym4qj9cmhq8y7x10kv0x6bsvpjkrsc3l8p2g3474"; depends=[]; };
   attrCUSUM = derive2 { name="attrCUSUM"; version="0.1.0"; sha256="113y40v9hyvnvvzvyqg81n0n1h84pj4zph5q8p0vc0384hw00544"; depends=[Rcpp RcppArmadillo]; };
   atus = derive2 { name="atus"; version="0.2"; sha256="1i67rx8p5v4shgbfcym4lbnlw55xx7w2fdzhgsgjjyfpwbpm7h4h"; depends=[]; };
   auRoc = derive2 { name="auRoc"; version="0.2-0"; sha256="1q5cpa1y96bs5x0vifi0h6ca4yasg3z57yhq29vicd433h3phy3x"; depends=[coda MBESS ProbYX rjags]; };
-  aucm = derive2 { name="aucm"; version="2018.1-24"; sha256="0x10dawlwxqywjl7mxc2gpp2r4wnd7pb6n80xlrb9yywm7zbb6x2"; depends=[kyotil]; };
+  aucm = derive2 { name="aucm"; version="2019.12-1"; sha256="1vjb5jiq2iz6c8nhfcbqg21nms7nf485xlrgd7mdkbzvqxxl43h6"; depends=[kyotil]; };
   auctestr = derive2 { name="auctestr"; version="1.0.0"; sha256="15b1x0c9yhl91gir7jmivp8vxzc8q7wvb0mgam9454avc6l29x4y"; depends=[dplyr tidyr]; };
   audio = derive2 { name="audio"; version="0.1-6"; sha256="1f3k7n8x716kqx439jd0g0dc5iwc33jzzas4ikjrlgidp89i89iz"; depends=[]; };
   audiolyzR = derive2 { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin plotrix RJSONIO]; };
@@ -5167,7 +5260,7 @@ in with self; {
   avar = derive2 { name="avar"; version="0.1.0"; sha256="00pp2irhw04jry545l4hvklf25aphdrz8djrhxx2936icgxz5kw4"; depends=[Rcpp RcppArmadillo simts]; };
   averisk = derive2 { name="averisk"; version="1.0.3"; sha256="02j27d4jxgy2bk5sgxp1xdfyqr321civs99qj0g8cp34gwqk0j3m"; depends=[MASS]; };
   aweek = derive2 { name="aweek"; version="1.0.0"; sha256="0a9d4yp694qch34mf08qc5fwsn21h9mw1ak6vylaq73nwiihajw9"; depends=[]; };
-  aws = derive2 { name="aws"; version="2.2-1"; sha256="1g0saj3v67cjdk6396ck3ah7qvv3m9awj4b3v1n86nkwdpa75z91"; depends=[awsMethods gsl]; };
+  aws = derive2 { name="aws"; version="2.3-0"; sha256="12gp0jv63hrvbjl38ksdb024c79bgglvzvl2j32z2kjdd2lhi90b"; depends=[awsMethods gsl]; };
   aws_alexa = derive2 { name="aws.alexa"; version="0.1.7"; sha256="0k3kwkmi13j2nrkyi6ahpc98s24idx4m5s4wkqkgqhi8xaljpp7c"; depends=[aws_signature dplyr httr xml2]; };
   aws_cloudtrail = derive2 { name="aws.cloudtrail"; version="0.1.5"; sha256="0p7qj9ivs14ska11a9qni4n0f8d05c1p126zvlxj9038c9p0y1wx"; depends=[aws_s3 aws_signature httr jsonlite]; };
   aws_comprehend = derive2 { name="aws.comprehend"; version="0.1.2"; sha256="0480ggfdmcv2pkjzmwh40h4nd87qswrpwr6h3j959f9y8zmzfd7n"; depends=[aws_signature httr jsonlite]; };
@@ -5186,6 +5279,7 @@ in with self; {
   awsMethods = derive2 { name="awsMethods"; version="1.1-1"; sha256="0hbmrcpdyg15zg4rysscsmxpxlpy0dkxx2aa63qibq7l1k14v4sh"; depends=[]; };
   awsjavasdk = derive2 { name="awsjavasdk"; version="0.2.0"; sha256="1461h565il4y68g0a3k7wgn9jyb6pys8405f780ldg6g44aa7p60"; depends=[assertthat R_utils rappdirs rJava]; };
   awspack = derive2 { name="awspack"; version="0.1.6"; sha256="0pf6g9w2r2rm887sa3v0gfwia2w2q94m40m76sq66gb3spkmngd5"; depends=[aws_alexa aws_cloudtrail aws_ec2metadata aws_iam aws_lambda aws_polly aws_s3 aws_ses aws_signature aws_sns aws_sqs]; };
+  azuremlsdk = derive2 { name="azuremlsdk"; version="0.5.7"; sha256="1r9s1avkr03hradzr66lz7xxz4s6ax8d6amxkhcnphyaykss8gh1"; depends=[DT ggplot2 htmltools plyr reticulate rstudioapi]; };
   b6e6rl = derive2 { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
   bPeaks = derive2 { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
   bReeze = derive2 { name="bReeze"; version="0.4-3"; sha256="17nc6qvw9l6sq8knd1mk193md2y3z1jlcjymqzl389yxj8s0i2il"; depends=[lubridate]; };
@@ -5195,27 +5289,27 @@ in with self; {
   babel = derive2 { name="babel"; version="0.3-0"; sha256="1iwvx69051yhlxbcl6bypvc3mcih0q8bf3i29r3i79356hp12xqa"; depends=[edgeR]; };
   babelwhale = derive2 { name="babelwhale"; version="1.0.1"; sha256="0mgkg9hji4mab3l33vvyyyc1d2q84l1zrmg63vr3b3gr0d62jcnl"; depends=[crayon dplyr dynutils processx purrr]; };
   babynames = derive2 { name="babynames"; version="1.0.0"; sha256="1vchzyk5pkr0zhh1q8k9g771n45jxiislipwkgrgamv7yzr49xsp"; depends=[tibble]; };
-  bacistool = derive2 { name="bacistool"; version="0.9.8"; sha256="1yq7d2657l6iyy5v094c9rwphbpyhnijhwvacwhb07k6c6h069wh"; depends=[rjags]; };
+  bacistool = derive2 { name="bacistool"; version="0.9.9"; sha256="06734pi829xhfkpdhysa62x1sc0shhbdn6l9vls2cyfr30w6y6md"; depends=[rjags]; };
   backShift = derive2 { name="backShift"; version="0.1.4.2"; sha256="1nj7mcdpzfzq68qg86rrys752gzw69n99yyb0jzg6r8qrgpcxj49"; depends=[clue ggplot2 igraph MASS matrixcalc mvnmle reshape2]; };
-  backbone = derive2 { name="backbone"; version="1.0.0"; sha256="1dddkn0q98xrjr81z8yhcr2rn9mcadc6zcsmdg8mrf51yjpqxg8a"; depends=[Matrix]; };
+  backbone = derive2 { name="backbone"; version="1.1.0"; sha256="1ggs22s5pxy0y8plnnr1mkvgcc3bvpz9a2427cw3kpp61gcsh5a8"; depends=[Matrix poibin]; };
   backpipe = derive2 { name="backpipe"; version="0.2.3"; sha256="12k2cv9x8h0b002m9c8g4vj5a7chp4b8jqz377ia0diqw89dydpm"; depends=[]; };
   backports = derive2 { name="backports"; version="1.1.5"; sha256="0k19w68b2aihyj5mflw3732gkkzs78sssqdns960pdw3yfnkiv33"; depends=[]; };
   backtest = derive2 { name="backtest"; version="0.3-4"; sha256="1s0mf247dz2vvyf4m3sp9xiqhv7xcs4rphyg9gdcy73060sah2ad"; depends=[lattice]; };
   bacr = derive2 { name="bacr"; version="1.0.1"; sha256="14zr1v4rihx0ra3x0vsb81vsz0g8gzskkdxkg7nhiz835hp2fiy8"; depends=[MCMCpack]; };
   badgecreatr = derive2 { name="badgecreatr"; version="0.2.0"; sha256="0mdixklaxky5gs8zm99ky280vxxlbq1mxnaarq6x0d1cb71bzv4l"; depends=[git2r]; };
-  badger = derive2 { name="badger"; version="0.0.4"; sha256="0y0kr0r5b44c19w93sisd61khiwhlgj3n88mhfgs3ljbl68qjcvh"; depends=[dlstats rvcheck]; };
+  badger = derive2 { name="badger"; version="0.0.7"; sha256="1djgzn6ixfsdr0v4f3714mv2z2kl776dd2hq670g7bla4lp6344s"; depends=[desc dlstats rvcheck]; };
   bagRboostR = derive2 { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
   baggedcv = derive2 { name="baggedcv"; version="1.0"; sha256="1rqs4sm6g1anck5s2dxlm1vcmylpphcbs2dpvf1sjki5lrzdq9z4"; depends=[doParallel foreach kedd mclust]; };
-  baggr = derive2 { name="baggr"; version="0.1.0"; sha256="04iqvdj3ih5i6qwb25rmngvhw66v00xb2x5mzgbicd712dydp57s"; depends=[bayesplot BH crayon ggplot2 gridExtra Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  baggr = derive2 { name="baggr"; version="0.2.0"; sha256="0hg7wxyq072vf1sqbiai9lgfc01k2l7v99nnlmlgy1m3r3m5f631"; depends=[bayesplot BH crayon ggplot2 gridExtra Rcpp RcppEigen rstan rstantools StanHeaders testthat]; };
   bain = derive2 { name="bain"; version="0.2.2"; sha256="08cgqba073hkisg122612va8ry971cvqs564gg9c7cfyipg5rilz"; depends=[lavaan]; };
   bairt = derive2 { name="bairt"; version="0.1.2"; sha256="17nc0lp0bzwshik33v0gq5d6nd2gvm4799b7rfiq089zhnzv90kj"; depends=[coda mvtnorm shiny shinyjs]; };
   baitmet = derive2 { name="baitmet"; version="1.0.1"; sha256="02ydakqr8v41hdnhcsgigwnic8d48qswryg1srb5w1fqdmdglnkl"; depends=[erah HiClimR Rcpp signal XML]; };
   balance = derive2 { name="balance"; version="0.2.4"; sha256="13ksd1ysd2by8qdc3vn1fgnaj1c2v0py7f501bajiyq6hpcwn1c5"; depends=[ggplot2]; };
-  ballr = derive2 { name="ballr"; version="0.2.3"; sha256="1bfbdzn4q3i5m87vbxymxha54vgxjfckzpxk52m54fkwpz6yw9cl"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
+  ballr = derive2 { name="ballr"; version="0.2.4"; sha256="0b9y5cr2qwgdnhv15ir7d3fiajg9lzccs0k8v19gq491201ssa1w"; depends=[dplyr janitor lubridate magrittr rlang rvest xml2]; };
   bama = derive2 { name="bama"; version="0.9.1"; sha256="1yx0gv5qxq3si5vzrrjy8y6d3b0v433aljyniyx9dp6q6mcqrhvw"; depends=[Rcpp RcppArmadillo]; };
   bamboo = derive2 { name="bamboo"; version="0.9.24"; sha256="1fw1wniba0kxb44d2w9r9nh5sy1jhrk48bn0zblz2y6gvwn8m2vn"; depends=[rscala]; };
   bamdit = derive2 { name="bamdit"; version="3.3.2"; sha256="11v9hy8ijbcqhwim0s3y69dz11jvys4vjvfnshj4p5qdz38sji6l"; depends=[ggExtra ggplot2 gridExtra MASS R2jags rjags]; };
-  bamlss = derive2 { name="bamlss"; version="1.1-0"; sha256="1d1b6hzfyq03p0va568rckc9fm6b9k9dsdx1zp50w8jnf5bfns8x"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp survival]; };
+  bamlss = derive2 { name="bamlss"; version="1.1-1"; sha256="06i0yfmq5k98yqs8mfw3ppkanlp34v18fb1xynxaxwgj9d58h5k3"; depends=[coda colorspace Formula Matrix MBA mgcv mvtnorm sp survival]; };
   bamp = derive2 { name="bamp"; version="2.0.7"; sha256="0yrqy4cj6wq98d5yfm9ahzhp2giwyqzd93s2fhxb8r4mzza5i9hm"; depends=[abind coda]; };
   banR = derive2 { name="banR"; version="0.2.0"; sha256="0m71m99f8f4wckylry6z16gw6r2cc4wxbd9287ns00jr6s13x6c8"; depends=[dplyr httr magrittr purrr readr rlang stringr tibble]; };
   bandit = derive2 { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
@@ -5225,6 +5319,7 @@ in with self; {
   banxicoR = derive2 { name="banxicoR"; version="0.9.0"; sha256="0vchm2hnqm45fhn8k38rcam4vkazmifcl40390s2r04bgvqr0pnl"; depends=[rvest stringr xml2]; };
   bapred = derive2 { name="bapred"; version="1.0"; sha256="08kvc4cc984jv08ikwbja8zxidrcdiwi5w88hlqakbm8yc6hzssa"; depends=[affy affyPLM Biobase FNN fuzzyRankTests glmnet lme4 MASS mnormt sva]; };
   barcode = derive2 { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
+  barplot3d = derive2 { name="barplot3d"; version="1.0.1"; sha256="182kpiknv3id1bsgcc6b3ahbxmm8x3lxcpf1r6rckpr3s0whfx3g"; depends=[rgl]; };
   barsurf = derive2 { name="barsurf"; version="0.3.1"; sha256="07s43sy5200mwxasmcar4lsw7bm1112ck7z62rbyxnawg1zmrwq5"; depends=[colorspace]; };
   bartMachine = derive2 { name="bartMachine"; version="1.2.4.2"; sha256="100zcpbndbps01qnybrgmsfnh37j93661l4v7zcin0i56cvgg998"; depends=[bartMachineJARs car missForest randomForest rJava]; };
   bartMachineJARs = derive2 { name="bartMachineJARs"; version="1.1"; sha256="1wpfzrb6mrx3xmxy4rgnwygmpqq2l4ki2xqr4m51g1bl9nwirhzj"; depends=[rJava]; };
@@ -5234,14 +5329,15 @@ in with self; {
   base64enc = derive2 { name="base64enc"; version="0.1-3"; sha256="13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd"; depends=[]; };
   base64url = derive2 { name="base64url"; version="1.4"; sha256="0n1c2b68vza1dh7sk38v6biiwm72c4jpl79kpdg1bsb0hq9qy18x"; depends=[backports]; };
   baseballDBR = derive2 { name="baseballDBR"; version="0.1.2"; sha256="0w54g1avcqamc12lmvjchlqbqck9jfjccm441k03nsql460mpydq"; depends=[dplyr magrittr rvest xml2]; };
-  basefun = derive2 { name="basefun"; version="1.0-5"; sha256="1w8nbwpa9invndhlndha4dsrmvmar4xar1hzixnxkcbrzj6yzmi8"; depends=[Matrix orthopolynom polynom variables]; };
-  baseline = derive2 { name="baseline"; version="1.2-1"; sha256="1vk0vf8p080ainhv09fjwfspqckr0123qlzb9dadqk2601bsivgy"; depends=[SparseM]; };
-  basetheme = derive2 { name="basetheme"; version="0.1.1"; sha256="021zgrdqz1yvb2linraskfk9cxqjjc3p5z5r0dhhnrkpy4ijbkyz"; depends=[]; };
-  basicMCMCplots = derive2 { name="basicMCMCplots"; version="0.2.2"; sha256="1yhdhl1vzvz7wysrgj96dgqsbdc1p7031m0m69m8ha8wx4vryil8"; depends=[]; };
+  baseflow = derive2 { name="baseflow"; version="0.11.2"; sha256="10y73s22xmrzvm697vdmnr7zal83jrxy4ifvskyhdqzsljj53p3j"; depends=[airGR]; };
+  basefun = derive2 { name="basefun"; version="1.0-6"; sha256="08ys5iqzbf95pimgaj1g2q7lwhxj73jc737ap55358h75dx0nzdx"; depends=[Matrix orthopolynom polynom variables]; };
+  baseline = derive2 { name="baseline"; version="1.2-2"; sha256="044m1znvz2c6h0z7x4zkqxld2l138kpv2pirbiz41pk72gvzv50v"; depends=[SparseM]; };
+  basetheme = derive2 { name="basetheme"; version="0.1.2"; sha256="0yck4qc7qd406s7kw95xgnfc0pfvzk3ylhkv6mk6l2wbkfm8ldrb"; depends=[]; };
+  basicMCMCplots = derive2 { name="basicMCMCplots"; version="0.2.4"; sha256="03mggvdasqrkq41dpfwsrhnxh98hfqfr3z58hrfhnjrzydwxbci9"; depends=[]; };
   basicTrendline = derive2 { name="basicTrendline"; version="2.0.3"; sha256="10rq9hriyn50b28ikvl0vsvchbkrc0pjzxamq4ix1xd04n4drkl9"; depends=[investr scales]; };
   basicspace = derive2 { name="basicspace"; version="0.20"; sha256="0nyljk8ydasirgv7ijxplyhk10s8m9k3rw5qmgf0z81dm7p257wc"; depends=[]; };
   basictabler = derive2 { name="basictabler"; version="0.3.0"; sha256="1dzjdgc8ffnr219m5zb410ln1rbnzz96g1aqb70pkg9gp0ykgk29"; depends=[dplyr htmltools htmlwidgets jsonlite R6]; };
-  basket = derive2 { name="basket"; version="0.9.2"; sha256="1d5qrnb4130ijbnq309992g3ak7zs5kl3ywii732bpnpzz6mssf7"; depends=[cli crayon dplyr foreach GenSA ggplot2 gridExtra igraph itertools tibble tidyr]; };
+  basket = derive2 { name="basket"; version="0.9.10"; sha256="1773f0abhz854sdb0jfhmfpgxpkagb3x6mzi77jycfl6ywhry48h"; depends=[cli crayon dplyr foreach GenSA ggplot2 gridExtra igraph itertools RColorBrewer tibble tidyr]; };
   bastah = derive2 { name="bastah"; version="1.0.7"; sha256="08xdba16wj0inp0kq2sbcrdr6wj8bwlq7rqnfrzjrz03wxhc5bk0"; depends=[BigQuic foreach glmnet lars MASS Matrix scalreg]; };
   batade = derive2 { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
   batch = derive2 { name="batch"; version="1.1-5"; sha256="0wdgfvk2i542cqg34ikvzwlix09f2jyjb32a0f4zh9vg9nrywswq"; depends=[]; };
@@ -5260,12 +5356,13 @@ in with self; {
   bayesDem = derive2 { name="bayesDem"; version="2.5-1"; sha256="1cxrqil1p692mbzkcj1fvsx335qyy6c1y43mq48s4shs1hhc69bn"; depends=[bayesLife bayesPop bayesTFR gWidgets gWidgetsRGtk2 RGtk2 wpp2015]; };
   bayesGARCH = derive2 { name="bayesGARCH"; version="2.1.3"; sha256="1480mmzfshchfbfh3x420cq5qblfh59jkl21hkq2jvnwppksdn9w"; depends=[coda mvtnorm]; };
   bayesImageS = derive2 { name="bayesImageS"; version="0.6-0"; sha256="1m0az3z8hwaxpqd1ljly9vlp41dp7c7p39r0rx7k9vcs201vlcg8"; depends=[Rcpp RcppArmadillo]; };
-  bayesLife = derive2 { name="bayesLife"; version="4.0-2"; sha256="0c4jcrwg6rgj0irmw3r6j1xyb6m76fn3wqxjrl2r9i408hnfnw83"; depends=[bayesTFR car coda data_table hett wpp2017]; };
-  bayesPop = derive2 { name="bayesPop"; version="7.0-0"; sha256="1ydr0hds09xa17117y9dvk2sym2jfk0yjip79dig9c2vsykns0cm"; depends=[abind bayesLife bayesTFR fields googleVis plyr reshape2 rworldmap wpp2012 wpp2017]; };
+  bayesLife = derive2 { name="bayesLife"; version="4.1-0"; sha256="1sswnwv4x77sd07d3hpsf3wfd5szrdnc4fni8glzl8rk3y0r3jns"; depends=[bayesTFR car coda data_table hett wpp2019]; };
+  bayesPop = derive2 { name="bayesPop"; version="8.1-1"; sha256="1xhzind6k23rcgy1iw0bqks6wz77755qs9pw6sqinfi8qbv0ax1l"; depends=[abind bayesLife bayesTFR data_table fields googleVis MortCast plyr reshape2 rworldmap wpp2012 wpp2019]; };
   bayesQR = derive2 { name="bayesQR"; version="2.3"; sha256="1c6y7r9h9626ghp68pl5k1g0l95fwd6dp0jfznmhy53qza0ny8z4"; depends=[]; };
   bayesSurv = derive2 { name="bayesSurv"; version="3.2"; sha256="1zp302pfi64nnqdiqldvfi1lm0wv2dplz5sfjp0ydl1qc16z0axp"; depends=[coda smoothSurv survival]; };
-  bayesTFR = derive2 { name="bayesTFR"; version="6.3-1"; sha256="0ddassahnba4xlbj9iqf49qw2pmqa3gskvm5dr0b31a3zg1n7dfa"; depends=[coda MASS mvtnorm wpp2017]; };
+  bayesTFR = derive2 { name="bayesTFR"; version="6.4-0"; sha256="159lcii3hpl91vypl16adzair6ik85fyjybyy6fjibxvjkn3fh3b"; depends=[coda MASS mvtnorm wpp2019]; };
   bayesammi = derive2 { name="bayesammi"; version="0.1.0"; sha256="1vfcmk47x71c5akj3ppxzb74293pikspknkkv08f8p15v0chk7fs"; depends=[dplyr ggplot2 lme4 magrittr MASS mvtnorm rlang rstiefel scales tibble tidyr tmvtnorm]; };
+  bayesanova = derive2 { name="bayesanova"; version="1.2"; sha256="1qn3bjy2k12xg67xrlscrl6nql2g0v3i3r5c0349xpq1ya2kaiya"; depends=[]; };
   bayesbio = derive2 { name="bayesbio"; version="1.0.0"; sha256="08qa4lzkrcwin7n3kzfqfdlnlqahdmjl1lxpdh29n780cgyjfvs0"; depends=[]; };
   bayesboot = derive2 { name="bayesboot"; version="0.2.2"; sha256="0976ryd0gbw3kpmxg2qxyp1m2swnrpa86vdhvqrqxp7fcrs8cs2z"; depends=[HDInterval plyr]; };
   bayescount = derive2 { name="bayescount"; version="0.9.99-5"; sha256="0c2b54768wn72mk297va3k244256xlsis9cd6zn6q5n1l7ispj6j"; depends=[coda rjags runjags]; };
@@ -5275,24 +5372,25 @@ in with self; {
   bayeslm = derive2 { name="bayeslm"; version="0.8.0"; sha256="1gvqkbz1wmqkxjwkdgj5pir5j1qy5dzjm4jv6mz3mplm16z5vzbl"; depends=[coda Rcpp RcppArmadillo RcppParallel]; };
   bayesloglin = derive2 { name="bayesloglin"; version="1.0.1"; sha256="0j2ziahf6mwsz2gvb1azvdzlmszlpqgr5zqcqa68pxgq947sa2cs"; depends=[igraph]; };
   bayeslongitudinal = derive2 { name="bayeslongitudinal"; version="0.1.0"; sha256="0g45ikpnbry1albb3asrzab5z3sy98yf74c64qn02d65xgafifwg"; depends=[LearnBayes MASS mvtnorm]; };
-  bayesm = derive2 { name="bayesm"; version="3.1-3"; sha256="041ach2f2vrqzd5kz17v7wmkjz6z8cjjihpk4qvczm4cr9z85r2i"; depends=[Rcpp RcppArmadillo]; };
+  bayesm = derive2 { name="bayesm"; version="3.1-4"; sha256="154glks7rsjkza0sfi1kj7wj727py9sl1ba6sswflwmwc9n226q6"; depends=[Rcpp RcppArmadillo]; };
   bayesmeta = derive2 { name="bayesmeta"; version="2.4"; sha256="0h2b237ml90z9xcbjy5fgc4l8k09210g101cf25mngbz76wxvy87"; depends=[forestplot metafor]; };
   bayesmix = derive2 { name="bayesmix"; version="0.7-4"; sha256="1qms1nnk2nq3gqr8zf2b9ri4wv8jrxv5i8s087k1rwdvya3k5r9a"; depends=[coda rjags]; };
-  bayesplot = derive2 { name="bayesplot"; version="1.7.0"; sha256="0h23sbfny2hcipvvfhq5aiwdh1vanizn7f8lpb9kffypxhcd7v7w"; depends=[dplyr ggplot2 ggridges glue reshape2 rlang tibble tidyselect]; };
+  bayesplot = derive2 { name="bayesplot"; version="1.7.1"; sha256="0sq0ajnm96hmlqf1cv5n2gshh3qdij4n1zbm7qrniz2q6b5aj342"; depends=[dplyr ggplot2 ggridges glue reshape2 rlang tibble tidyselect]; };
   bayespref = derive2 { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
   bayesreg = derive2 { name="bayesreg"; version="1.1"; sha256="12g5sklip3i8fpzrhvbikhgnl6kx8fxb88hfv8f34jy71r3h7zyp"; depends=[pgdraw]; };
   bayess = derive2 { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[combinat gplots MASS mnormt]; };
   bayest = derive2 { name="bayest"; version="1.0"; sha256="0ysfy96s9pk0xw0rzygf43c5jpj9j37kap3cd6w3m6361a0dw8mj"; depends=[]; };
-  bayestestR = derive2 { name="bayestestR"; version="0.3.0"; sha256="0r453zb106hj9w53jjgckxqajjf7shlrgv10gjxsv8if6qybdz5b"; depends=[insight]; };
+  bayestestR = derive2 { name="bayestestR"; version="0.4.0"; sha256="1d3f50rzjzgzclwd6j887dssyhv7hdq7pik9nnlr3w775v3f69zc"; depends=[insight]; };
   bayesvl = derive2 { name="bayesvl"; version="0.8.5"; sha256="1gb2in8hjiqb3daqz6phn1639i6p2w641kxrm3zh4rm3d6hg6hzr"; depends=[bayesplot bnlearn coda dplyr ggplot2 reshape2 rstan StanHeaders viridis]; };
   bayfoxr = derive2 { name="bayfoxr"; version="0.0.1"; sha256="1295296mbjpmd0bg1pfxvyp0az3sry6gsq9ir3l8x64w5a4qrzd5"; depends=[]; };
+  baymedr = derive2 { name="baymedr"; version="0.1.0"; sha256="0y01s6dpnhnxqqvl15cdxmb5ysb685bbp47xifyp5nz8sjh2pci0"; depends=[rlang stringr]; };
   bayou = derive2 { name="bayou"; version="2.1.1"; sha256="17gvb2dmviwibnlqn6p3p9pcc3705xh9r8lrm90p0yg7nhm0cn02"; depends=[ape assertthat coda denstrip fitdistrplus foreach geiger MASS Matrix mnormt phytools Rcpp RcppArmadillo]; };
   baystability = derive2 { name="baystability"; version="0.1.0"; sha256="1zv4bf5a4p21w2qpr6lcsgsxb0xv15v8p33031rsypmnbs9i80dp"; depends=[dplyr ggfortify ggplot2 lme4 magrittr MASS matrixStats reshape2 rlang rstiefel scales tibble tidyr tidyverse]; };
   baytrends = derive2 { name="baytrends"; version="1.1.0"; sha256="0yml560cbamp7pf433va28vsfi5rcrjm61rbk8384bbjlslpsdkj"; depends=[dataRetrieval digest gdata lubridate memoise mgcv plyr survival XML zCompositions]; };
   bazar = derive2 { name="bazar"; version="1.0.11"; sha256="1q2w5pvlb51lzbb5k719sf1lrhffandkfqlcvi2prw4dmq7qjxv9"; depends=[kimisc]; };
   bbefkr = derive2 { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
   bbemkr = derive2 { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
-  bbl = derive2 { name="bbl"; version="0.1.5"; sha256="1xp89cq27msqhq297i0syh3m0cwnmai0ii502x78m7fx7kgf5v1b"; depends=[pROC Rcpp]; };
+  bbl = derive2 { name="bbl"; version="0.2.0"; sha256="027awr8xx86wv6xhpj4ywwgldmmf2ln5161ak51kqnygfdavy8bc"; depends=[pROC RColorBrewer Rcpp]; };
   bbmle = derive2 { name="bbmle"; version="1.0.20"; sha256="1xzij7swrrzl5ly8l3lw6awh486zcm00251dwqws1y23fbgyh3vc"; depends=[lattice MASS numDeriv]; };
   bbo = derive2 { name="bbo"; version="0.2"; sha256="19xrbla3bb3csg3gjjrpkgyr379zfwyh293bcrcd6j8rnm6g4i01"; depends=[]; };
   bbw = derive2 { name="bbw"; version="0.1.3"; sha256="1z3an561qh0rfi3jhh1ghsdbg8aimqmf4hpqri2jz39in3p0gwg4"; depends=[car]; };
@@ -5300,6 +5398,7 @@ in with self; {
   bcROCsurface = derive2 { name="bcROCsurface"; version="1.0-3"; sha256="1g9l4abnpp1iq5wy3rl2jv47ql9zh6s2qrhyj06x22358lpinjnl"; depends=[boot nnet Rcpp RcppArmadillo rgl]; };
   bcRep = derive2 { name="bcRep"; version="1.3.6"; sha256="1fibx11ykkkjv4sgg6zc2a0g270384z2cf68hwghnld0wi002b5z"; depends=[ape doParallel foreach gplots ineq plotrix proxy stringdist vegan]; };
   bcaboot = derive2 { name="bcaboot"; version="0.2-1"; sha256="0wf1igkb0lidz4pvh3kfccs9858m1g9650wprrvrpwsdfrcd7rc9"; depends=[]; };
+  bcdata = derive2 { name="bcdata"; version="0.1.1"; sha256="0qygwdly1k6g9zr1qbf21ylnq3713724d1ninw99syirz5knk16k"; depends=[cli crul dbplyr dplyr glue jsonlite leaflet leaflet_extras purrr readr readxl rlang sf xml2]; };
   bcf = derive2 { name="bcf"; version="1.3"; sha256="1f8szjgsyhnff3zzmmy7bnsam12ywj46n3fxsj1y3fn1m5wnd8mz"; depends=[Rcpp RcppArmadillo]; };
   bcgam = derive2 { name="bcgam"; version="1.0"; sha256="1dg2fcjw8xal77irviiz260qpar2iqkjvi2k4qfm71jyq0ir0axk"; depends=[coda igraph nimble]; };
   bclust = derive2 { name="bclust"; version="1.5"; sha256="01kx02azj26b6swly53zhf3sny6c6jglkxnzylsc0pvri89x7yj2"; depends=[]; };
@@ -5311,7 +5410,6 @@ in with self; {
   bcrypt = derive2 { name="bcrypt"; version="1.1"; sha256="1wwdin8x09y8n8zrwj1ylh5ikcz0v0la4wmrsvbdr61cg336wzx4"; depends=[openssl]; };
   bcv = derive2 { name="bcv"; version="1.0.1"; sha256="0yqcfariw9sw0b8cpljcr7vf5rf0cwr1wbif23icchfaxk2m42gj"; depends=[]; };
   bdDwC = derive2 { name="bdDwC"; version="0.1.15"; sha256="0yraq8a0wgz12rzi2dx0gdcz5rx99qd2pzw972wjqyq3rs41pwx0"; depends=[shiny shinyBS shinydashboard shinyFiles shinyjs]; };
-  bda = derive2 { name="bda"; version="10.1.9"; sha256="06ycxqjpnsywakjkjxf1czhxsbdzbpwa11m69gad5538z066d24x"; depends=[]; };
   bdchecks = derive2 { name="bdchecks"; version="0.1.7"; sha256="1pzsvn1m1f9bdmhxmh57pvn9jm4z41rkvv6h60hq2lfgkapnjy7q"; depends=[bdDwC data_table DT finch knitr rgbif shiny shinyBS shinydashboard shinyjs spocc yaml]; };
   bdclean = derive2 { name="bdclean"; version="0.1.15"; sha256="14cy8yaqd6bg2zyh2wvndydk9sigaydavxl4cfypqz5kqdhj82z9"; depends=[bdchecks bdDwC data_table DT finch knitr leaflet rgbif rmarkdown shiny shinydashboard shinyjs spocc]; };
   bde = derive2 { name="bde"; version="1.0.1"; sha256="1f25gmjfl58x4pns89abfk85yq5aad3bgq9yqpv505g5gxk62d3v"; depends=[ggplot2 shiny]; };
@@ -5333,8 +5431,8 @@ in with self; {
   beanplot = derive2 { name="beanplot"; version="1.2"; sha256="0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"; depends=[]; };
   beanz = derive2 { name="beanz"; version="2.4"; sha256="18i4ygz83l60fdfkl4yg9kp5n2vmqn6yd7qkpkiplq0mzg5s4nk9"; depends=[BH loo Rcpp RcppEigen rstan rstantools StanHeaders survival]; };
   beast = derive2 { name="beast"; version="1.1"; sha256="0ikbnzdzp2lv1nh5mxxanra81v4dl6svg3ywqcqd6wgzri70a4ry"; depends=[RColorBrewer]; };
-  beastier = derive2 { name="beastier"; version="2.0.15"; sha256="15s8n6xw0n1cbfiv5lcrbc0fa51bici0mh7wkwchh9mwziljrvs8"; depends=[ape phangorn rappdirs rJava stringr xml2]; };
-  beautier = derive2 { name="beautier"; version="2.2.1"; sha256="1cp4shz8yp4hypdhg1jw1070ls7j4358lxxw4g7vz865wkdx6am6"; depends=[ape geiger seqinr stringr testit]; };
+  beastier = derive2 { name="beastier"; version="2.1.1"; sha256="17qzjk4lq83khj5f04jhkr3q2w7snv4aq4zrbnsziszwnlazyqqy"; depends=[ape assertive beautier phangorn rappdirs remotes rJava stringr xml2]; };
+  beautier = derive2 { name="beautier"; version="2.3.2"; sha256="0wwlv1z030mi2q895z9m9xpkfq348ka3ljyiaddzp9niappszpcj"; depends=[ape assertive geiger rappdirs seqinr stringr testit]; };
   bedr = derive2 { name="bedr"; version="1.0.7"; sha256="0zpqvyjgwyqawxm8qrhcv8zq2b3yxgcqkkc87br29yrl7sjb8h6j"; depends=[data_table R_utils testthat VennDiagram yaml]; };
   beepr = derive2 { name="beepr"; version="1.3"; sha256="061sfld23b516jws4llml0a4jsdk4z74rll4z58l2rvahkqsdrfp"; depends=[audio stringr]; };
   beeswarm = derive2 { name="beeswarm"; version="0.2.3"; sha256="0hy89bwv7jixlg91li1fywa77916am2whqp1m1fx1khd45g44581"; depends=[]; };
@@ -5346,8 +5444,8 @@ in with self; {
   belg = derive2 { name="belg"; version="1.0.0"; sha256="02n4i0kyxdxwgq7qqjqa4pwsxmmp0cksn0jrj5dvlvpflf1naicg"; depends=[Rcpp RcppArmadillo]; };
   bench = derive2 { name="bench"; version="1.0.4"; sha256="1vb31jx4rwri4ywm9jlib65nn2avirvyd40af8zz5i3sl684ypg9"; depends=[glue pillar profmem rlang tibble]; };
   benchden = derive2 { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
-  benchmarkme = derive2 { name="benchmarkme"; version="1.0.2"; sha256="0ivrlglxnfl7cm7vww8mrnpjy2w2w4vdrkr647s3x6yfia12p07n"; depends=[benchmarkmeData doParallel dplyr foreach httr Matrix tibble]; };
-  benchmarkmeData = derive2 { name="benchmarkmeData"; version="1.0.2"; sha256="1rxly627f7wbwvhli5xzz52vpabj5wa5fkx6ahl487jgs1ll7nms"; depends=[dplyr tibble]; };
+  benchmarkme = derive2 { name="benchmarkme"; version="1.0.3"; sha256="003d97rs0gb6l6hq7d4lxgdngrgb5lii6fxw2n7l50m14hib2sv2"; depends=[benchmarkmeData doParallel dplyr foreach httr Matrix tibble]; };
+  benchmarkmeData = derive2 { name="benchmarkmeData"; version="1.0.3"; sha256="1qiw9d93y4m2ch20hsgvf1k3r9dqf60mrdr6cc647m1qv2syjgrk"; depends=[dplyr tibble]; };
   benchr = derive2 { name="benchr"; version="0.2.3-1"; sha256="1q8g9v7zbspd2gmydwwfi3avdsnmn5ahr9iybdqsicgfch5plsf5"; depends=[Rcpp RcppProgress]; };
   bender = derive2 { name="bender"; version="0.1.1"; sha256="07npksrj094h884lli0fjvwjc1lhcwzlsk9wx82761mka5xajv4v"; depends=[httr jsonlite R6]; };
   benford_analysis = derive2 { name="benford.analysis"; version="0.1.5"; sha256="0y0c7l2r9s7lg9bw4ndcqwisa5l6a2cpydn1vmz88h3yva0l68cg"; depends=[data_table]; };
@@ -5356,7 +5454,7 @@ in with self; {
   ber = derive2 { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
   berryFunctions = derive2 { name="berryFunctions"; version="1.18.2"; sha256="0yicwsz6v5nffvw2wmjmc2zhcik7avz3xmj8zhb77xhaq9dazk9s"; depends=[abind]; };
   bestNormalize = derive2 { name="bestNormalize"; version="1.4.2"; sha256="0df4fspcmf8scifgy2v69qlqp7zzyicjmscmyxp1m8wzd7cwzd0q"; depends=[doParallel doRNG dplyr foreach LambertW nortest]; };
-  bestglm = derive2 { name="bestglm"; version="0.37"; sha256="0ghhi4g75mgq2pnkrvw188s65132i1d7v3hahnjrsnx4vrr8a9lz"; depends=[glmnet grpreg lattice leaps pls]; };
+  bestglm = derive2 { name="bestglm"; version="0.37.1"; sha256="13wd1jnh9d82s4qz81k78y1v47ld0csdgn9k4izca2g039jqjxmq"; depends=[glmnet grpreg lattice leaps pls]; };
   betaboost = derive2 { name="betaboost"; version="1.0.1"; sha256="1zdyzxl2kp2i5lkiz280wz4av9wqklbn25zmq6n4yb6a579yjfn8"; depends=[gamboostLSS mboost]; };
   betacal = derive2 { name="betacal"; version="0.1.0"; sha256="19wgpgf9yhckl9qx9v24f4yh055wfalphcxwm7lg68px6ap2pxl9"; depends=[]; };
   betafam = derive2 { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
@@ -5371,18 +5469,18 @@ in with self; {
   bfast = derive2 { name="bfast"; version="1.5.7"; sha256="0n75minka55rxpvs3qkj0c65ydn1gc3i8lkr2gdyn1adjkl5yn01"; depends=[forecast raster sp strucchange zoo]; };
   bfp = derive2 { name="bfp"; version="0.0-40"; sha256="03risiq2b7bc3gwlgpcsy1gvja6n5w1j3kw13s2wrd420hddzk4s"; depends=[Rcpp]; };
   bfsl = derive2 { name="bfsl"; version="0.1.0"; sha256="1hl53nis8bb1ffgkx91ij9vh680cpkb80y548y67y9w18iyd4aw4"; depends=[]; };
-  bfw = derive2 { name="bfw"; version="0.4.0"; sha256="11n1f5sb4fyc18fqj838kbjh96waz9kk2fdvvakslxwvg415nxk9"; depends=[coda MASS runjags]; };
+  bfw = derive2 { name="bfw"; version="0.4.1"; sha256="1dwl6p70wbgippysl7vk8nv6rc78f6h5xl8fna98zv99qf0ib31c"; depends=[coda MASS runjags]; };
   bgeva = derive2 { name="bgeva"; version="0.3-1"; sha256="0qm4xknyab8hdyn3in2hsvm8s062cnmqqf41b5jvax1mi5hs0z8c"; depends=[magic mgcv trust]; };
   bgmfiles = derive2 { name="bgmfiles"; version="0.0.6"; sha256="10qldfjjq5fx5jrrakdxc8k2pf0vp8ifg18nq56lvx9n28mqigim"; depends=[]; };
   bgmm = derive2 { name="bgmm"; version="1.8.3"; sha256="09hsqjjyzlpl0fqb7832j5ydrr0yc42zb1c9q1y5hbrms7yp00p8"; depends=[car combinat lattice mvtnorm]; };
-  bgsmtr = derive2 { name="bgsmtr"; version="0.5"; sha256="1yqj3761zs64kdh63vaz6glpv65i3ji8fi51nqq8wlggak0zklnx"; depends=[CholWishart coda EDISON inline LaplacesDemon Matrix matrixcalc miscTools mnormt mvtnorm Rcpp sparseMVN statmod]; };
+  bgsmtr = derive2 { name="bgsmtr"; version="0.6"; sha256="1djxkls963j97j76a15zxdx4rfhwrpis7i1wqal0v780f2c576a9"; depends=[CholWishart coda EDISON glmnet inline LaplacesDemon Matrix matrixcalc miscTools mnormt mvtnorm Rcpp sparseMVN statmod]; };
   bhm = derive2 { name="bhm"; version="1.15"; sha256="1xfm1k3wf4k1c65pd9201c00y4qda3lw9aycjh6q34ixyl6g5jg5"; depends=[coda MASS survival]; };
   bhrcr = derive2 { name="bhrcr"; version="1.0.3"; sha256="1w52f4ghl328vdcr8hwvmdrnxnj45fy4r21yqzg5q1fpd4mpjw2i"; depends=[AER Cairo MASS MCMCpack msm mvtnorm survival]; };
   biasbetareg = derive2 { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
   bib2df = derive2 { name="bib2df"; version="1.1.1"; sha256="0d57883df774qqwpssmly3f1gci32yc5sgwc3x8f2rjih23s1nf6"; depends=[dplyr httr humaniformat stringr]; };
-  bibliometrix = derive2 { name="bibliometrix"; version="2.2.1"; sha256="0d8mwhy792m4dp9h0gyw984qq5p8xbs1xx626w8a6jw23w6qzmxg"; depends=[dplyr DT factoextra FactoMineR ggplot2 ggraph ggrepel igraph Matrix networkD3 RColorBrewer reshape2 RISmed rscopus shiny shinycssloaders shinythemes SnowballC stringdist stringr]; };
+  bibliometrix = derive2 { name="bibliometrix"; version="2.3.2"; sha256="02sikbjnsfd1gxwlbdiafp35af22gmz2p6i951l3syxpcvylxfc8"; depends=[dplyr DT factoextra FactoMineR ggplot2 ggraph ggrepel igraph Matrix networkD3 RColorBrewer reshape2 rio RISmed rscopus shiny shinycssloaders shinythemes SnowballC stringdist stringr]; };
   bibtex = derive2 { name="bibtex"; version="0.4.2"; sha256="0wl3925ryd54g1nv3ncwllc493d39dpgy5md61940h69c0van1hz"; depends=[stringr]; };
-  biclique = derive2 { name="biclique"; version="1.0.3"; sha256="1jxfw0f9z916l2s9q5q7jgqfdr038ikf7ql61hzh3pw0ypnvabam"; depends=[]; };
+  biclique = derive2 { name="biclique"; version="1.0.4"; sha256="0jflbl1fbi3v3igi447f8i2zs9vh84xk1rci6dmwm0k9s9zqfrs2"; depends=[]; };
   biclust = derive2 { name="biclust"; version="2.0.1"; sha256="1y5n6wfa1lx88ck3x09rcg0dh3pw89225h85hmq2la1s1fpa48i0"; depends=[additivityTests colorspace flexclust ggplot2 lattice MASS tidyr]; };
   biclustermd = derive2 { name="biclustermd"; version="0.1.0"; sha256="0d2fa6lainnkdzn1mq8pbxlc14hvlgfi3pcxw9rwqfjhxp6wkkig"; depends=[biclust clues doParallel dplyr foreach ggplot2 magrittr nycflights13 tidyr]; };
   bife = derive2 { name="bife"; version="0.6"; sha256="1fmzmzq3hxr9kzqq5zmmsm2927vjb5mj08g2pnzljhmvsn2b7x3y"; depends=[data_table Formula Rcpp RcppArmadillo]; };
@@ -5390,10 +5488,11 @@ in with self; {
   bigIntegerAlgos = derive2 { name="bigIntegerAlgos"; version="0.1.2"; sha256="1cbcxwhb25ismiyr95pfgc7nq14p4srd9y8y3g3xz0ywjs0qnjy5"; depends=[gmp]; };
   bigKRLS = derive2 { name="bigKRLS"; version="3.0.5.1"; sha256="1za8pxij1nwpdz3lz51zqib99pc73s92lz0k01fkcgw5rj78kgs8"; depends=[BH bigalgebra biganalytics bigmemory ggplot2 Rcpp RcppArmadillo shiny]; };
   bigMap = derive2 { name="bigMap"; version="2.1.0"; sha256="0bpnzz3acqn006jk8db5yyvbhl3sq807926igjcxj813i3r0x98r"; depends=[BH bigmemory colorspace RColorBrewer Rcpp RcppArmadillo]; };
-  bigQueryR = derive2 { name="bigQueryR"; version="0.4.0"; sha256="1b89yfa0gwd3frdh1z6ygxv2dfncb6g4lp67nh7hkm6r9xamfrxr"; depends=[assertthat googleAuthR googleCloudStorageR httr jsonlite]; };
+  bigQueryR = derive2 { name="bigQueryR"; version="0.5.0"; sha256="051c8rkj77dm78237dzhf3lcdawv0xv72pwfiim9bi89z9mp6f9m"; depends=[assertthat googleAuthR googleCloudStorageR httr jsonlite]; };
   bigReg = derive2 { name="bigReg"; version="0.1.2"; sha256="1hmvh5j40zpzz6c88hmikphps8rb741yvkg60dxmkfl8gxqsrp3w"; depends=[MASS Rcpp RcppArmadillo uuid]; };
   bigalgebra = derive2 { name="bigalgebra"; version="0.8.4.1"; sha256="19j5f7d6yf9g0glybdwahj7n0mrgbxrbdajh7s30v25fkmm36r2z"; depends=[BH bigmemory]; };
   biganalytics = derive2 { name="biganalytics"; version="1.1.14"; sha256="1hsqdg5hkhs6z9pwvn055q02hzpksjwrf33q5zdnkm387g188ca6"; depends=[BH biglm bigmemory foreach Rcpp]; };
+  bigassertr = derive2 { name="bigassertr"; version="0.1.1"; sha256="0jyycg9qkqswqakbc2p80s7qrv0hm3mn0zwg4v373zcf4z21rvlh"; depends=[]; };
   bigchess = derive2 { name="bigchess"; version="1.5.2"; sha256="021l5pvbh6v95wavxl118k2gvlaadwr18d8f712jzarcnfi1hvy3"; depends=[ff ffbase RSQLite subprocess]; };
   bigdatadist = derive2 { name="bigdatadist"; version="1.1"; sha256="16gkybwcp9sxqb0iic2fhmc4gndr44ayg14wrfcjvjaj4g5r6xs2"; depends=[FNN MASS pdist rrcov]; };
   bigdist = derive2 { name="bigdist"; version="0.1.4"; sha256="1qfnmhyfadmnnagbhdl4jjrb53i1srszf19idp8fy6bczbjq85yi"; depends=[assertthat bigstatsr furrr proxy]; };
@@ -5406,7 +5505,8 @@ in with self; {
   bigmemory = derive2 { name="bigmemory"; version="4.5.33"; sha256="0ycl9dzm3drpyas625h34rir5bnbjlncxlvawfsfmqwcbmwdjdvj"; depends=[BH bigmemory_sri Rcpp]; };
   bigmemory_sri = derive2 { name="bigmemory.sri"; version="0.1.3"; sha256="0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"; depends=[]; };
   bigml = derive2 { name="bigml"; version="0.1.2"; sha256="0vl5krjbgckknxwl26b2hn63jhb80zbn7abpckhxzxfxzncpnfz9"; depends=[plyr RCurl RJSONIO]; };
-  bigreadr = derive2 { name="bigreadr"; version="0.1.10"; sha256="0zp8xqjf15xahhlwrcqgr0r30dbdpvnk5ml2h4m9kw6cydkb9g7b"; depends=[data_table Rcpp]; };
+  bigparallelr = derive2 { name="bigparallelr"; version="0.1.2"; sha256="1c6vw03xk4fhl5rlgajznw5rlfklsi59srncd51s24fj2avvr8ww"; depends=[bigassertr doParallel flock foreach RhpcBLASctl]; };
+  bigreadr = derive2 { name="bigreadr"; version="0.2.0"; sha256="0d5fgs16kdsl23jqrgz7in63pwhh7bvj7m8pa8nj11v84ji6lagr"; depends=[bigassertr data_table Rcpp]; };
   bigrquery = derive2 { name="bigrquery"; version="1.2.0"; sha256="1ggh2gngr5x0g6y7d55y6kvn94anf7qi1bkc28cjmw61hxjq38fb"; depends=[assertthat bit64 curl DBI gargle glue httr jsonlite prettyunits progress rapidjsonr Rcpp rlang tibble]; };
   bigsplines = derive2 { name="bigsplines"; version="1.1-1"; sha256="1kf04p2lglzdi1fdryk27nmj2a2jca2ii7ki8vak93sq21isb179"; depends=[quadprog]; };
   bigstatsr = derive2 { name="bigstatsr"; version="0.9.1"; sha256="0v0rxp45lbv5bmvyfkm1v4l2rr7g1rfymi547y10b2zysllbfbr0"; depends=[bigreadr cowplot doParallel foreach ggplot2 Rcpp RcppArmadillo rmio RSpectra tibble]; };
@@ -5414,20 +5514,20 @@ in with self; {
   bigtabulate = derive2 { name="bigtabulate"; version="1.1.5"; sha256="1jvp3m0ms2cav9z8vvhh80gsa0kvc351brv2jq99rxv1mwvpa4xj"; depends=[BH biganalytics bigmemory Rcpp]; };
   bigtcr = derive2 { name="bigtcr"; version="1.1"; sha256="1l03yc28afdm7glbw4ay0zsywjgqg5l90qz1hfhslsy8gg7d5wq5"; depends=[]; };
   bigtime = derive2 { name="bigtime"; version="0.1.0"; sha256="136gy2i4qwa2drklllyzp3z0dbijlavgf3sxy73bf84df2yq1c9i"; depends=[corrplot lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
-  bigutilsr = derive2 { name="bigutilsr"; version="0.1.1"; sha256="143nvsg9xyvhmi6ky76ls00v87h41iiwy7yvpk6pqvbj7zqzs0cy"; depends=[hdpca nabor Rcpp robust robustbase]; };
+  bigutilsr = derive2 { name="bigutilsr"; version="0.2.2"; sha256="19d4rj598094fncblncd0bampm19srrmczrsmwvj5njf3cxkvxdp"; depends=[bigparallelr nabor Rcpp robust robustbase RSpectra]; };
   bikeshare14 = derive2 { name="bikeshare14"; version="0.1.2"; sha256="1sib83driqv9k4aa131nw3xasslrxvnxkn3mr8kxycxccky025n9"; depends=[]; };
   bikm1 = derive2 { name="bikm1"; version="0.9.0"; sha256="09ibaj5nd7ql5l30z726nifym5bnmkx4nbw982p9h2440rdx0g5b"; depends=[ade4 ggplot2 gtools pracma reshape2]; };
   bild = derive2 { name="bild"; version="1.1-5"; sha256="03has1zi57inicahl52ja006vv5cdndyxfsxp77l6nc3zc6ixna8"; depends=[]; };
   billboard = derive2 { name="billboard"; version="0.1.0"; sha256="1z3y8dijhc1381y91n5zq305xzm1gpvs0g4mdpfr7zrblpa8ws39"; depends=[tibble]; };
   billboarder = derive2 { name="billboarder"; version="0.2.7"; sha256="02k90rhz2pawy83kp0rjzvl94s02x41a53diqfva357p8w9k6z48"; depends=[ggplot2 htmltools htmlwidgets jsonlite magrittr scales]; };
   bimetallic = derive2 { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
-  bimets = derive2 { name="bimets"; version="1.4.1"; sha256="1yv6zag3jhr64hkjwliy71ac8vrg6rmpyfbcs0hbwd4zfwmzbdv7"; depends=[xts zoo]; };
+  bimets = derive2 { name="bimets"; version="1.4.2"; sha256="13gv3p3mldmdwvbvivh4fx8ygmjvf0gza69gprv4z1wphb6rz7yn"; depends=[xts zoo]; };
   bimixt = derive2 { name="bimixt"; version="1.0"; sha256="0nhszpzjqy8z3vngl5jdzqxzshnn92wgi0ci5n3n5kzi24xkfrzc"; depends=[pROC]; };
   binGroup = derive2 { name="binGroup"; version="2.2-1"; sha256="0cb7j6b0s3y56mv1967awwri0kv0rf3sr3vwf9gc2zbjggxi9ffp"; depends=[partitions Rdpack]; };
   binMto = derive2 { name="binMto"; version="0.0-7"; sha256="0rg9rsdy14jx7zjv60krcz1vh0sxqimsai0wynhx2sx0kydw4ngy"; depends=[mvtnorm]; };
   binaryGP = derive2 { name="binaryGP"; version="0.2"; sha256="0i4xi0gxk0lamjdygyx0azdp3kfqmva1g20nl3p65w4yx77m88d6"; depends=[GPfit lhs logitnorm nloptr Rcpp RcppArmadillo]; };
   binaryLogic = derive2 { name="binaryLogic"; version="0.3.9"; sha256="19ig9qgjjnivfihjy41pc13qlrb95679mmk4zks5lbbri8qi4qxj"; depends=[]; };
-  binb = derive2 { name="binb"; version="0.0.4"; sha256="11pkvw833qa9g82l6bzqxswacxkxp88aaamk2mxl694nahy1kcj1"; depends=[knitr rmarkdown]; };
+  binb = derive2 { name="binb"; version="0.0.5"; sha256="1xr3y8ynz1j5hxbphnw44n0k99x66da0mibqn7kby8whqq2398ki"; depends=[knitr rmarkdown]; };
   binda = derive2 { name="binda"; version="1.0.3"; sha256="15rhxnlif7agblzd09gyllkqkf5d8cc75b4vmp7grx8a6y7w47g0"; depends=[entropy]; };
   bindata = derive2 { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
   bindr = derive2 { name="bindr"; version="0.1.1"; sha256="1l05fpk2yql3jka321c0bdgx6mqq9pvfrg2844lbjfpbgjkmqy3w"; depends=[]; };
@@ -5437,6 +5537,7 @@ in with self; {
   bingat = derive2 { name="bingat"; version="1.3"; sha256="1y68rgafipfad78yrzcygdszgy1d5q739kap06pzr78bn3i8hiwa"; depends=[doParallel foreach gplots matrixStats network vegan]; };
   binhf = derive2 { name="binhf"; version="1.0-3"; sha256="1vdw2s8zddp7gad8l3c4jpmnjcc0f5wpqbrp6gp9lgp1c3qa505y"; depends=[adlift EbayesThresh wavethresh]; };
   binman = derive2 { name="binman"; version="0.1.1"; sha256="0hm0h285p4v9lhrqjy8s22f1s1vmfpfla5iaycpj8vw3qb3632az"; depends=[assertthat httr jsonlite rappdirs semver xml2 yaml]; };
+  binmapr = derive2 { name="binmapr"; version="0.1.3"; sha256="00vaj70zjjprgyhf7zqwcbrxlgh9sj4yskba2s3i82z7k8bvn1kh"; depends=[vcfR]; };
   binnednp = derive2 { name="binnednp"; version="0.4.0"; sha256="1qswrr982x5hy2vl2fc603j98cjli9l40zzvvjy2l91p8xxrc5dn"; depends=[doParallel fitdistrplus foreach kedd mclust nor1mix Rcpp Rdpack]; };
   binom = derive2 { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
   binomSamSize = derive2 { name="binomSamSize"; version="0.1-5"; sha256="1an6dcqsjh5r0w4kc3n6yfvvha5qhrb2i4bpf7g5ykhl3i60zfcc"; depends=[binom]; };
@@ -5445,16 +5546,16 @@ in with self; {
   binostics = derive2 { name="binostics"; version="0.1.2"; sha256="1izcck2dq8ay9ni1wjg426w5rj39gxwzls1sgnngggapl3pmqzz2"; depends=[]; };
   binr = derive2 { name="binr"; version="1.1"; sha256="0kgk91zy7bdrhpkh9c5bi206y9hjwjwzb508i8qqmznqyxmza70r"; depends=[]; };
   binseqtest = derive2 { name="binseqtest"; version="1.0.3"; sha256="0661a2bqmv6bckq23c6m04ggwrp8z10lfgjg9dgkz4bfxsd297gs"; depends=[clinfun]; };
-  binsmooth = derive2 { name="binsmooth"; version="0.2.0"; sha256="1ln38vcjnh57jqdaaibj1hckvdvagbv6dlzrydpyyvmw11lsbksz"; depends=[ineq pracma triangle]; };
+  binsmooth = derive2 { name="binsmooth"; version="0.2.1"; sha256="0izfgsjajq64n9x7lv19dscg7z39jspwa9fpvxmyxhiv3d3fz8f0"; depends=[ineq pracma triangle]; };
   binsreg = derive2 { name="binsreg"; version="0.2.0"; sha256="031a794bkb9qdy51p4jgjg3hvh8ga0hwakcdrjn0hv4ls9f5gsm7"; depends=[ggplot2 sandwich]; };
   binst = derive2 { name="binst"; version="0.2.1"; sha256="09kzk7n1j9nzgyijwirzk33z6p6hc67zkd05hv1i9qfijy31gci4"; depends=[rpart]; };
   bio_infer = derive2 { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
-  bio3d = derive2 { name="bio3d"; version="2.3-4"; sha256="1zmswa9xs81lbrlkkgi8dvv9xpf0ynqjqwy1k36szvfb8ar9mczr"; depends=[Rcpp]; };
+  bio3d = derive2 { name="bio3d"; version="2.4-0"; sha256="0ikpk1ppdp50m9kd289z616i382j9i7ji1zchyd4xqfyk8lnxf4s"; depends=[Rcpp]; };
   bioOED = derive2 { name="bioOED"; version="0.2.1"; sha256="0wx58bngpzlrbbcnx8l1lqhsg51y98wcym1238p87drf64x2mj1n"; depends=[bioinactivation corrplot dplyr FME ggplot2 MEIGOR rlang tidyr tidyselect tidyverse]; };
   bioPN = derive2 { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
   bioRad = derive2 { name="bioRad"; version="0.4.0"; sha256="100b1fz7dxpvsc452r4yvd4g6gmzz80pvw1l0sp6g4310gyzs2fb"; depends=[curl fields ggmap ggplot2 maptools raster rgdal rhdf5 sp]; };
-  bioacoustics = derive2 { name="bioacoustics"; version="0.2.1"; sha256="0yk7x2alr6sly9fnd3wg6cph8w4lpz140588zjldiz7zg97qbvvq"; depends=[htmltools moments Rcpp stringr tuneR]; };
-  biofiles = derive2 { name="biofiles"; version="1.0.0"; sha256="1bglgl2jcp6jy3f7xwndil56i98xx4kn518s3fqdixw7n5ibmqd2"; depends=[assertthat BiocGenerics Biostrings foreach GenomeInfoDb GenomicRanges IRanges iterators Rcpp RCurl reutils S4Vectors XVector]; };
+  bioacoustics = derive2 { name="bioacoustics"; version="0.2.2"; sha256="13m5w888fap7nxn3pwimi04zdp848n20ha01v7gkzdkchdnbbchb"; depends=[htmltools moments Rcpp stringr tuneR]; };
+  biocompute = derive2 { name="biocompute"; version="1.0.3"; sha256="1c23yd0vhar1hvzskr7h6g3a78mcrwminm2pkdmc9qlpy8s8smvv"; depends=[cli crayon curl digest httr jsonlite jsonvalidate magrittr rmarkdown stringr uuid yaml]; };
   biogas = derive2 { name="biogas"; version="1.10.3"; sha256="1qfidjwhaxg5zplzkldhj4zqg81xrcqmvh9x5km5yhyymzr6y4vs"; depends=[]; };
   biogeo = derive2 { name="biogeo"; version="1.0"; sha256="14sqgg8b06gp5dajxvyj9s3ndsk7jpkfr0mkyl2l61kgp6qx53rh"; depends=[maptools raster sp stringr vegan]; };
   biogram = derive2 { name="biogram"; version="1.4"; sha256="1kkim6dxmvvpby2ir280adl14jmrz7nsib3m8g2ki81d539km6il"; depends=[bit combinat entropy partitions slam]; };
@@ -5469,7 +5570,7 @@ in with self; {
   bioset = derive2 { name="bioset"; version="0.2.3"; sha256="15vchim8cim42j1if0jars696rh50vmbggr9748q321f6ngm1w1i"; depends=[dplyr magrittr rlang tibble tidyr]; };
   biosignalEMG = derive2 { name="biosignalEMG"; version="2.1.0"; sha256="0bbkrfqkmks4z8c7rh0k43lvm71vn3fzrw3kpj012ym77whwkvay"; depends=[signal]; };
   biospear = derive2 { name="biospear"; version="1.0.2"; sha256="10y4hbncwiqpxzqvzjrmfgp804zczdgvwpjcj0dzaa0sx1njdzja"; depends=[cobs corpcor devtools glmnet grplasso MASS Matrix mboost pkgconfig plsRcox pROC PRROC RCurl survAUC survival]; };
-  biostat3 = derive2 { name="biostat3"; version="0.1.3"; sha256="1m9fk8il3hrq4npba44c6x55p1dsjf6cijzris2ffgdq9wrb7l22"; depends=[car MASS muhaz survival]; };
+  biostat3 = derive2 { name="biostat3"; version="0.1.4"; sha256="12inmmy5xjd0c6vs2s00z13rm5ykndxpmmgi8h7pkw30rhq4snyc"; depends=[car MASS muhaz survival]; };
   biotic = derive2 { name="biotic"; version="0.1.2"; sha256="1p18jkdd263dgk90626n9awkj6m4zn1n7897596fzrzrahksa978"; depends=[]; };
   biotools = derive2 { name="biotools"; version="3.1"; sha256="15y3ccmj1gslzc0lp0gvc66hf0yigx3zkqnw46crgrizjm2kmjay"; depends=[boot lattice MASS rpanel SpatialEpi tkrplot]; };
   bipartite = derive2 { name="bipartite"; version="2.13"; sha256="11l8lialvb02wwk6q81sq0i48v422rcvxxbkz74la820a2qzdwcx"; depends=[fields igraph MASS permute sna vegan]; };
@@ -5501,8 +5602,8 @@ in with self; {
   blackbox = derive2 { name="blackbox"; version="1.1.27"; sha256="1mpxil8fr56xiy64177s6m16pygfsr6i1bn4crvnhypz9197in8c"; depends=[foreach geometry lattice MASS nloptr numDeriv pbapply proxy rcdd Rcpp RcppEigen spaMM]; };
   blaise = derive2 { name="blaise"; version="1.3.4"; sha256="14jk62sw4xs0yip8gh1w2795l8p0ybv83c24ijizxymg16h7i9g7"; depends=[dplyr readr stringr tibble]; };
   blandr = derive2 { name="blandr"; version="0.5.1"; sha256="1rqas71hlf000b3z824d8ljshf8bx91bbrzaxxnx5n3chv19w6z6"; depends=[ggplot2 jmvcore knitr R6 rmarkdown stringr]; };
-  blastula = derive2 { name="blastula"; version="0.2.1"; sha256="1w9g858c6p7qzv86pfndycvpgv6k63r85wlq11249mi2zqzvh7rl"; depends=[commonmark downloader dplyr ggplot2 glue htmltools httr magrittr stringr tidyr]; };
-  blavaan = derive2 { name="blavaan"; version="0.3-7"; sha256="16r838lc93a5lg4brvdyx7ghb4k2p896azmgnfschj1rw3xdlf3q"; depends=[bayesplot BH coda future_apply lavaan loo MCMCpack mnormt nonnest2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  blastula = derive2 { name="blastula"; version="0.3.1"; sha256="0vanb8ghzskicnk7gw7mw67790lw953jf3jgyyhd71qdgz6wjli7"; depends=[base64enc commonmark curl dplyr fs getPass here htmltools httr jsonlite magrittr mime rlang rmarkdown stringr uuid]; };
+  blavaan = derive2 { name="blavaan"; version="0.3-8"; sha256="0sspwr2pfm5an8lg3xwgmq45nxv39yll66bkgk0qjdbfxb2zhzzx"; depends=[bayesplot BH coda future_apply lavaan loo MCMCpack mnormt nonnest2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   blendedLink = derive2 { name="blendedLink"; version="1.0"; sha256="19d1pnjag89jjvkl5a6wx531qjqp4cv5jk95md6jby27yr52r8vp"; depends=[]; };
   blender = derive2 { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
   blin = derive2 { name="blin"; version="0.0.1"; sha256="1h94azm7gli9i4v3li5c1p36p3rkcj2p5j6rqzlzf0pcqs0bsc09"; depends=[abind glmnet MASS Matrix mvtnorm]; };
@@ -5520,9 +5621,8 @@ in with self; {
   blockmodeling = derive2 { name="blockmodeling"; version="0.3.4"; sha256="11v9903y9dwlzaqp8sx0fsibcg82phvappddy37r8lnxd4vchsd2"; depends=[doParallel doRNG foreach Matrix]; };
   blockmodels = derive2 { name="blockmodels"; version="1.1.1"; sha256="088629i4g63m8rnqmrv50dgpqbnxd1a4zl5wr3ga0pdpqhmd53wp"; depends=[digest Rcpp RcppArmadillo]; };
   blockrand = derive2 { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
-  blocksdesign = derive2 { name="blocksdesign"; version="3.5"; sha256="04bsax0f3q332920xllbxawz49wr8k4cwlizp649gpz82a2rs7zd"; depends=[crossdes lme4 plyr]; };
-  blockseg = derive2 { name="blockseg"; version="0.5.2"; sha256="1i2c9prr51ak6vrdh5gzxlwkdmmky1sj71b4m12khrizigbqgysa"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 shiny]; };
-  blogdown = derive2 { name="blogdown"; version="0.16"; sha256="12gjwkrif1qnvjkzcfr9kcnlgzrk3k51anf5hdr39vjhq94bk88q"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
+  blocksdesign = derive2 { name="blocksdesign"; version="3.8"; sha256="1vjx94i3n63hzs9nx0gs9cjc4947lrgq9ld60cxjrdsgk53f53s5"; depends=[lme4 plyr PolynomF]; };
+  blogdown = derive2 { name="blogdown"; version="0.17"; sha256="1ijfskdl9apvs95km2f7p2m1imcbxvqxd8wkp3rdmgfs73pfk33r"; depends=[bookdown htmltools httpuv knitr rmarkdown servr xfun yaml]; };
   blorr = derive2 { name="blorr"; version="0.2.1"; sha256="1lvh5jr1jidrkwidpy6plzd58p8q3rxa23wl4xsf8milw180w69p"; depends=[car caret checkmate cli clisymbols crayon dplyr e1071 ggplot2 glue gridExtra magrittr purrr Rcpp rlang scales shiny tibble]; };
   blrm = derive2 { name="blrm"; version="1.0-1"; sha256="0p0nmbxil4l89fcryrgsg9mxzb5fyg93p50aqkjy00ms05hwd0hx"; depends=[boot mvtnorm openxlsx reshape2 rjags]; };
   blsAPI = derive2 { name="blsAPI"; version="0.2.1"; sha256="0p45g4qqaialh5m9bxgrvnc7nqmm0429syw0bml8h4h8vy4014a7"; depends=[httr rjson]; };
@@ -5539,7 +5639,7 @@ in with self; {
   bmotif = derive2 { name="bmotif"; version="1.0.0"; sha256="1zjwlsimihszg8gg7mvvi8xmzvlsdph9x6524gb28jmd24xb4gwj"; depends=[tensor]; };
   bmp = derive2 { name="bmp"; version="0.3"; sha256="0jd67r11bn98hjwgyr6gas423787xy7ji2hq7ay80blkkcj91xxx"; depends=[]; };
   bmrm = derive2 { name="bmrm"; version="4.1"; sha256="1brdd5mhr5282wkdc62lgsqcxw077p69rknjk7fjcs282ahcik2s"; depends=[LowRankQP lpSolve matrixStats Rcpp]; };
-  bnclassify = derive2 { name="bnclassify"; version="0.4.2"; sha256="1x7rf54zrls1gwxybmn51c071kd62d2gxczlnihcfxj3hw1b27bh"; depends=[assertthat BH entropy matrixStats Rcpp rpart]; };
+  bnclassify = derive2 { name="bnclassify"; version="0.4.3"; sha256="1bh1l57xzbj6cj21lslxw5b79x3jmm2wyv24smdyrgyi8s6mvj7v"; depends=[assertthat BH entropy matrixStats Rcpp rpart]; };
   bnlearn = derive2 { name="bnlearn"; version="4.5"; sha256="0y452cw1dxm1cik4na1zq6g0zv5ybiwc1cq9sdashq1jacjpc158"; depends=[]; };
   bnnSurvival = derive2 { name="bnnSurvival"; version="0.1.5"; sha256="1d9jmfx0id4lmw122zga7hb52vlfdfqn4amhzpsmhyck99rv92j4"; depends=[pec prodlim Rcpp]; };
   bnormnlr = derive2 { name="bnormnlr"; version="1.0"; sha256="0l2r7vqikak47nr6spdzgjzhvmkr9dc61lfnxybmajvcyy6ymqs9"; depends=[mvtnorm numDeriv]; };
@@ -5554,9 +5654,9 @@ in with self; {
   boilerpipeR = derive2 { name="boilerpipeR"; version="1.3"; sha256="0467bjqhdmi3p02fp0r7rgm00x9ry464f2hniav990qzsw8i16q6"; depends=[rJava]; };
   bold = derive2 { name="bold"; version="0.9.0"; sha256="0ppdhbpdffvs0sgh7ykkhr585nhk66w6vqw793wa4ia57yl49s25"; depends=[crul data_table jsonlite plyr reshape stringr tibble xml2]; };
   bomrang = derive2 { name="bomrang"; version="0.6.0"; sha256="0lnrv274lhl4n9rngkwx63dgd765bv0bd0mq9gz0vh8msmxnih0z"; depends=[crayon curl data_table dplyr foreign hoardr httr janitor jsonlite lubridate magrittr raster readr rgdal rvest tidyr xml2]; };
-  bookdown = derive2 { name="bookdown"; version="0.14"; sha256="1jiq2d292y0l3f4npyfzfpnmb0sqxsl212kkjfbjg5301h0na762"; depends=[htmltools knitr rmarkdown tinytex xfun]; };
+  bookdown = derive2 { name="bookdown"; version="0.16"; sha256="1gwgvx1yg6q3wccnhidr3gshdvlgr42i4pvlg4h29kpsa7smjiv1"; depends=[htmltools knitr rmarkdown tinytex xfun]; };
   bookdownplus = derive2 { name="bookdownplus"; version="1.5.7"; sha256="1y3iiw3grs6h3ppar1yjmha0nbp19naiirj0hvzgi4yhnibf7nid"; depends=[bookdown knitr magick xaringan]; };
-  boostmtree = derive2 { name="boostmtree"; version="1.3.0"; sha256="0q1lgjvbc15m2gygnmh63m0wy2c6x25iwrh9cbn0baq598hnr7j9"; depends=[nlme randomForestSRC]; };
+  boostmtree = derive2 { name="boostmtree"; version="1.4.1"; sha256="16adb9akrdw1cfcarrv9l5cxhn1nzskir6nwl9nawl1r727s57z6"; depends=[nlme randomForestSRC]; };
   boostr = derive2 { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; };
   boot = derive2 { name="boot"; version="1.3-23"; sha256="0bx07zbb5nfz2xfgnzbspg7r5vxz4bjdz1ry4d1vk434vlcrxj1h"; depends=[]; };
   bootES = derive2 { name="bootES"; version="1.2"; sha256="0hcaw1v80zspdsy4wr464lmgq33807i2f6n2dc3r7qqwa80g4zz0"; depends=[boot]; };
@@ -5575,27 +5675,27 @@ in with self; {
   boottol = derive2 { name="boottol"; version="2.0"; sha256="01dps9rifzrlfm4lvi7w99phfi87b7khx940kpsr4m9s168a2dzv"; depends=[boot plyr]; };
   bor = derive2 { name="bor"; version="0.1.0"; sha256="1r5jacmin0cq9zipxa9nmp3jnh6wsddd4wnzw2n5sggnf24ryp8g"; depends=[]; };
   boral = derive2 { name="boral"; version="1.7"; sha256="0li7jdzgq2ffhrf0nly96syp72vv3c6rbcni19kk2wgyv16mjwcm"; depends=[abind coda fishMod MASS mvtnorm R2jags]; };
-  borrowr = derive2 { name="borrowr"; version="0.1.0"; sha256="0va4sp1xc91qfrzxlbqq499npn50azhw6cdr4ra3aamin54n9pgk"; depends=[BART mvtnorm Rcpp]; };
+  borrowr = derive2 { name="borrowr"; version="0.1.1"; sha256="0q9lkdzf7v9rggrwcny551cx7lfqli60dxqgqx0d2x819d7h0k1d"; depends=[BART mvtnorm Rcpp]; };
   bossMaps = derive2 { name="bossMaps"; version="0.1.0"; sha256="0w4ks1xicvfm8ari4fr18wjm0qj2nxdsapl6lpfjz8l1id0y78cg"; depends=[doParallel foreach ggplot2 raster rgdal rgeos scales sp tidyr]; };
+  botor = derive2 { name="botor"; version="0.2.0"; sha256="13lyw6pmz923vdkyaa9n623h134kq0n5gb6qi8bpx8rhq2sycbdb"; depends=[checkmate logger reticulate]; };
   boussinesq = derive2 { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
   boxcoxmix = derive2 { name="boxcoxmix"; version="0.21"; sha256="0pav4nksh1zbic11l38jyyq8i58hfvwzkp88ra6nny3jn2axzipl"; depends=[npmlreg qicharts statmod]; };
-  boxoffice = derive2 { name="boxoffice"; version="1.2.2"; sha256="0p3n3x2wf7c3yl5pqgpxk23lqmgv6mp1984liy30c594j9n011pq"; depends=[httr rvest]; };
   boxplotdbl = derive2 { name="boxplotdbl"; version="1.3.0"; sha256="1y1b45q69sxbszd83s8ch10z4i55h34ixm8q7yxr7byx3px8y65n"; depends=[]; };
-  boxr = derive2 { name="boxr"; version="0.3.4"; sha256="0wx3x65rk1ma8bw5h4yskr7ii95ynkm7il22l1bj34kv9f4bfyj3"; depends=[assertthat bit64 digest dplyr httpuv httr mime rio stringr]; };
+  boxr = derive2 { name="boxr"; version="0.3.5"; sha256="1mhw3val08l03y7c52kq6ln2l5gjn6x1mxg0hx7nr8b86skbrka4"; depends=[assertthat bit64 digest dplyr fs glue httpuv httr mime rio rlang stringr]; };
   bpa = derive2 { name="bpa"; version="0.1.1"; sha256="0np7q1nasrq4j7ssaipvbjgrsi9n612p9lp96frq1dgix95mcgf0"; depends=[magrittr plyr]; };
   bpbounds = derive2 { name="bpbounds"; version="0.1.3"; sha256="1lqhrvd7hf8ryij5rf7zrcqc3k89bj1665x81m9rn7dixk7qlb6h"; depends=[]; };
   bpca = derive2 { name="bpca"; version="1.3-0"; sha256="16a7b94nk5psnm435vrwilcsria9mhr5d31fwzxy53pzp8n78kcr"; depends=[rgl scatterplot3d]; };
   bpcp = derive2 { name="bpcp"; version="1.3.4"; sha256="0l4x3n7lcwinnrh2sy386grisj1x7k1d5hll1k4bljg01p7lb475"; depends=[]; };
   bpgmm = derive2 { name="bpgmm"; version="1.0.5"; sha256="0dxyrcf1qyf3ymj36d9flaw8405m7c1cqxbv6yrqm2dhba0ymyxq"; depends=[gtools label_switching MASS mcmcse mvtnorm pgmm Rcpp RcppArmadillo]; };
   bpkde = derive2 { name="bpkde"; version="1.0-7"; sha256="1ls6rwmbgb2vzsjn34r87ab8rnz3ls61g6f4x3jpglbk0j91f0h8"; depends=[]; };
-  bpnreg = derive2 { name="bpnreg"; version="1.0.0"; sha256="0mpwrhbbbw8m3cz0fl0x9j9m3n9zfdamnw83mmg4bjd0wmxkkm90"; depends=[BH haven MASS Rcpp RcppArmadillo]; };
+  bpnreg = derive2 { name="bpnreg"; version="1.0.1"; sha256="1nz3adhalhrr04yimsr6ybpw4hvl018sz3ynwcggpprpy92xwha9"; depends=[BH haven MASS Rcpp RcppArmadillo]; };
   bpp = derive2 { name="bpp"; version="1.0.0"; sha256="11fgn92vvl7kklv0xdisf8gnf2rbhq11qyckqsxvc5wa821lmnkm"; depends=[mvtnorm]; };
   bqtl = derive2 { name="bqtl"; version="1.0-32"; sha256="0jjqgsm9fmvz5nkgz608xfljjpmaf4rs4f7kxvpqn4b1l9s5lhci"; depends=[]; };
   braQCA = derive2 { name="braQCA"; version="1.0.0.1"; sha256="1chyy8sk3iqs54sqg79dp1vjz3gcvnbzqbmgasdynir38b45scjh"; depends=[bootstrap dplyr QCA]; };
   bracer = derive2 { name="bracer"; version="1.1.1"; sha256="1l722jg88i4898v8fwb9klwl9mbpaz1phypbpqc1j2kp2n2vq0vb"; depends=[stringr]; };
   braidReports = derive2 { name="braidReports"; version="0.5.3"; sha256="107c9lrzb55dw5pal8qqpn8is3nrh19vfngx3zcfpmc49f06kskq"; depends=[braidrm ggplot2]; };
   braidrm = derive2 { name="braidrm"; version="0.71"; sha256="1cn0rdlw775pmzbjmhny7gkm901a3qgz7infqb5s9az606xg54d3"; depends=[]; };
-  brainGraph = derive2 { name="brainGraph"; version="2.2.0"; sha256="10bqlwrhqjzj1bqv8r77rrqjrxqbwfmzyand47bv4vb00g1wyq3x"; depends=[abind ade4 boot data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix mediation oro_nifti permute RcppEigen scales]; };
+  brainGraph = derive2 { name="brainGraph"; version="2.7.3"; sha256="1r39hxjix7vf3x8w46cgrpxfzsjkyw1k2r34xw73rvb75xx0aaay"; depends=[abind ade4 boot data_table expm foreach ggplot2 ggrepel gridExtra Hmisc igraph MASS Matrix oro_nifti permute RcppEigen scales]; };
   brainKCCA = derive2 { name="brainKCCA"; version="0.1.0"; sha256="1ag3qahlba4h4126873hg2bbi6sr729mhiw22gjgr4g4jg6lhh09"; depends=[brainR CCA elasticnet kernlab knitr misc3d oro_nifti rgl]; };
   brainR = derive2 { name="brainR"; version="1.5.1"; sha256="0ih4vwy445ciyyvf8snm42vg7rzzf6vn9qkbhj0yyd8sy88mgyss"; depends=[misc3d oro_nifti rgl]; };
   brainwaver = derive2 { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
@@ -5612,7 +5712,7 @@ in with self; {
   breathteststan = derive2 { name="breathteststan"; version="0.4.7"; sha256="0lvyp3524cha6ckfx2c25829ys1g97xhjc3mi5cmdbfg8zfgcy58"; depends=[BH dplyr purrr Rcpp RcppEigen rstan rstantools StanHeaders stringr tibble tidyr]; };
   brew = derive2 { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
   brglm = derive2 { name="brglm"; version="0.6.2"; sha256="0c9ngscc6zlfm90fqyggnj04qfkhp5qgf5q3wnfpxwyc8cm47by2"; depends=[profileModel]; };
-  brglm2 = derive2 { name="brglm2"; version="0.5.1"; sha256="1vjgy9vxcx1n8syb04ck5sa4wnc4klrpyl8pk4ywkxzjflayh8ca"; depends=[enrichwith lpSolveAPI MASS Matrix nnet numDeriv]; };
+  brglm2 = derive2 { name="brglm2"; version="0.6.0"; sha256="1955fqnw97hn9r2q15a06xn80ijbrkfkxjihq91dfj82mb38fqyv"; depends=[enrichwith lpSolveAPI MASS Matrix nnet numDeriv]; };
   bridgedist = derive2 { name="bridgedist"; version="0.1.0"; sha256="0hqkpwpi3nv6mfhljl65zcflf4wy72ag36hdam6s7kynfj41qz6w"; depends=[]; };
   bridger2 = derive2 { name="bridger2"; version="0.1.0"; sha256="0clp42nnbvd01n65azdi2ghp0mfqwsipzdl2d30q04lcvfkdpxrf"; depends=[BSDA data_table ggplot2 outliers plotly shiny shinydashboard]; };
   bridgesampling = derive2 { name="bridgesampling"; version="0.7-2"; sha256="0kd4p5pz46vssjb8faxwy5nv6r403a89h8hylxhq50n2rj94x934"; depends=[Brobdingnag coda Matrix mvnfast scales stringr]; };
@@ -5625,13 +5725,13 @@ in with self; {
   broman = derive2 { name="broman"; version="0.69-5"; sha256="1y1l1p0ddy4a3vwa01yhrc5zcgnl673ar9prkn89pspbdab7km2s"; depends=[assertthat ggplot2 jsonlite RPushbullet]; };
   broom = derive2 { name="broom"; version="0.5.2"; sha256="0qmclih5dm5sqzy4hplcfy677kr12pm9pnpv3r319g14dd27pbqn"; depends=[backports dplyr generics nlme purrr reshape2 stringr tibble tidyr]; };
   broom_mixed = derive2 { name="broom.mixed"; version="0.2.4"; sha256="176817l4d31xbi7yfsjlw287va2wjllxizhi5z3p7x5mi7fkyv2c"; depends=[broom coda dplyr nlme plyr purrr reshape2 stringr tibble tidyr TMB]; };
-  broomExtra = derive2 { name="broomExtra"; version="0.0.5"; sha256="1hfh0yc94919llmzapvp0khglc2n5w6rkgpr5h1r4nww2ikr7v6p"; depends=[broom broom_mixed dplyr magrittr purrr rlang rsample tidyr]; };
+  broomExtra = derive2 { name="broomExtra"; version="0.0.6"; sha256="0wnis18nm11kkb198rqr8179mr9vfrb7hwn5v9dy2sqwbf47ncc6"; depends=[broom broom_mixed dplyr magrittr purrr rlang rsample tidyr]; };
   brotli = derive2 { name="brotli"; version="1.2"; sha256="07rgdgxh9bvn0qavpclxmkglwyl6ndqasxcs6j12if698dkn976b"; depends=[]; };
   brr = derive2 { name="brr"; version="1.0.0"; sha256="050ivnqcaxiyypd1sxfpy6ianhzzmvs6c77ga40g3440cvfigkgw"; depends=[gsl hypergeo pander stringr SuppDists TeachingDemos]; };
   brranching = derive2 { name="brranching"; version="0.5.0"; sha256="07dxynk8pbpbsqwaxg9vhpjv4wx8mb1lqxy1nkczjayn1yrpjfm5"; depends=[ape conditionz crul curl phylocomr phytools taxize]; };
   brt = derive2 { name="brt"; version="1.3.0"; sha256="13fn2mv66fys7w0xchh69sb6jggg5c2imk1psi3mlr1902m6ss5m"; depends=[ggplot2]; };
   brunnermunzel = derive2 { name="brunnermunzel"; version="1.3.5"; sha256="0pam2a17vj62a8as7a9lhk29wpd0chan8g7rx296da481n5r5w6b"; depends=[]; };
-  bs4Dash = derive2 { name="bs4Dash"; version="0.4.0"; sha256="192fpy4qbra264smv9xqdzmm9wx86gm0k7bpaapjlpb30lb4izh3"; depends=[htmltools shiny]; };
+  bs4Dash = derive2 { name="bs4Dash"; version="0.5.0"; sha256="1y75i6bsdy1bsbzwjblsnimw1zzk0zl3qnzqfq9zcnf6q2ghi3r2"; depends=[htmltools shiny]; };
   bsam = derive2 { name="bsam"; version="1.1.2"; sha256="1m2lpqm2i4i35hzr1iylrb8skx8rsys3w542xjyqw030bs7b1rdk"; depends=[coda dplyr ggplot2 gridExtra lubridate msm mvtnorm rjags rworldxtra sp tibble]; };
   bsamGP = derive2 { name="bsamGP"; version="1.2.2"; sha256="1r7jmrj91na9718digggsjqfqc2l0s0md68vr3s9xcb77c4bbhyi"; depends=[ggplot2 gridExtra MASS]; };
   bsearchtools = derive2 { name="bsearchtools"; version="0.0.61"; sha256="11fqz8kdhqpc3jq34vgv3frzawgsl5y0s83rb2p54yb5yhd3p68w"; depends=[Rcpp]; };
@@ -5648,6 +5748,7 @@ in with self; {
   btergm = derive2 { name="btergm"; version="1.9.4"; sha256="17bjd1d2yj1l98mbflklznxd3q7zi5nzj943nxzva7ij3hdsn6l4"; depends=[boot coda ergm ggplot2 igraph Matrix network ROCR RSiena sna speedglm statnet_common xergm_common]; };
   bucky = derive2 { name="bucky"; version="1.0.5"; sha256="0xn92dnhrs8810f8kvn2dnig0icd1k4dkxljmldij6dn8xb7c85q"; depends=[lmtest sandwich]; };
   buildmer = derive2 { name="buildmer"; version="1.3"; sha256="0iv0819vaax7yy2p9cyrhj507n3zr681w7ks81y2b07n8mra0ylz"; depends=[lme4 mgcv plyr]; };
+  bujar = derive2 { name="bujar"; version="0.2-7"; sha256="1r14mh5j2w87mc6b192hi4qg97si2xv6v826j6c1awh7w3vqbbr9"; depends=[bst earth elasticnet gbm mboost mda modeltools mpath rms survival]; };
   bulletcp = derive2 { name="bulletcp"; version="1.0.0"; sha256="1k7lw8gflih47ncz8hgsj0sxbajnkhz1k7yb7rwbdnzcki3n3jln"; depends=[assertthat dplyr mvtnorm Rdpack]; };
   bulletr = derive2 { name="bulletr"; version="0.1"; sha256="181rnrp62almf08gr41qnrnq8qnbqraqdvj4zixdh8fachsq2imp"; depends=[dplyr ggplot2 plotly plyr reshape2 robustbase smoother xml2 zoo]; };
   bullwhipgame = derive2 { name="bullwhipgame"; version="0.1.0"; sha256="03nwf2v4zhgkxvkghpkbkxz0cnkqcwwl51ykrk25qciakfqkgfws"; depends=[shiny]; };
@@ -5664,13 +5765,12 @@ in with self; {
   bvartools = derive2 { name="bvartools"; version="0.0.2"; sha256="16wa2bnm91764xspgvswvl3ylv0s3x5f734scw9x0zjy9q72b05h"; depends=[coda Rcpp RcppArmadillo]; };
   bvenn = derive2 { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
   bvls = derive2 { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
-  bvpSolve = derive2 { name="bvpSolve"; version="1.3.3"; sha256="1q5sh3kj1c07zq7mx8sh4ggp1fvwh86394qrc3ildj4wrbakmzib"; depends=[deSolve rootSolve]; };
   bwd = derive2 { name="bwd"; version="0.1.0"; sha256="1ryd5cqbpns9dsis2a9vjg6fcg23284c3dr3j3l18krdshdksfr0"; depends=[]; };
-  bwimage = derive2 { name="bwimage"; version="1.0"; sha256="0qh5qhcp8fm2d39dk4637biphv6rc6i687h5pip7ydp5f5bvgz77"; depends=[jpeg png]; };
+  bwimage = derive2 { name="bwimage"; version="1.2"; sha256="1wm17spxfrgf8kfc6fadri54sdk0b9813s9y4rp2xiwmy5sp6aj2"; depends=[jpeg png]; };
   bysykkel = derive2 { name="bysykkel"; version="0.2.3"; sha256="1cbfmmmw7a37fwgwgfvc8yqxl4dh5n30qcnva9wsm903wccmb2cr"; depends=[glue httr jsonlite lubridate magrittr tibble]; };
   bytescircle = derive2 { name="bytescircle"; version="1.1"; sha256="0c83d37kijcvr00pc4qqdci14cpbg6988izyjfjk1yliavyc6mwf"; depends=[]; };
   bzinb = derive2 { name="bzinb"; version="1.0.3"; sha256="1n5ga5v6v71cgrgga5jlhmxs0s62pz93lsp3x8qz6vg042m5dl0s"; depends=[BH Rcpp]; };
-  c060 = derive2 { name="c060"; version="0.2-4"; sha256="1yzy0p6041rygqfwzb8dpyc7jq12javmhlvdcmmc7p59bbk7wv3j"; depends=[glmnet lattice mlegp penalizedSVM peperr survival tgp]; };
+  c060 = derive2 { name="c060"; version="0.2-5"; sha256="1862lic0vvidbd7s63j65iz4rf70d5337l80vvrbgv8d7fhnxz0y"; depends=[glmnet lattice mlegp penalizedSVM peperr survival tgp]; };
   c14bazAAR = derive2 { name="c14bazAAR"; version="1.0.3"; sha256="1fnsaadnam8njj1gskz26j71jd3n229y61psk3scnbrr5fyawlhh"; depends=[crayon data_table dplyr httr magrittr pbapply rlang tibble tidyr]; };
   c212 = derive2 { name="c212"; version="0.95"; sha256="1cgmldy2ysz3934fxh0mmzrb2vw33j3pmws53ng7yxg79mb9ixja"; depends=[coda]; };
   c2c = derive2 { name="c2c"; version="0.1.0"; sha256="149np512wjnlr9glmqxpiamf6c31v0bh6ym95jpdhk0iw3ic9kvh"; depends=[]; };
@@ -5683,17 +5783,19 @@ in with self; {
   cPCG = derive2 { name="cPCG"; version="1.0"; sha256="1pfbsv2rcjsryn6nr56a7i4yb7k0m3gdfn4q9l1kpzhmv9lic7m1"; depends=[Rcpp RcppArmadillo]; };
   cRegulome = derive2 { name="cRegulome"; version="0.3.1"; sha256="0j3rv7vakv27r1n1yxmd50nlnyc4y329w0dmrw56dwkdkk4zzbsg"; depends=[DBI ggplot2 ggridges httr igraph R_utils RSQLite UpSetR VennDiagram]; };
   ca = derive2 { name="ca"; version="0.71"; sha256="1ywqvj0rc9ss7yim4x09yf6l80xz4y6ggl56m0c1hc9x6wxna7h2"; depends=[]; };
-  caMST = derive2 { name="caMST"; version="0.1.0"; sha256="1xb8ka2r729sqwxhxh5qj4girh0va0faqjv1jsyn3hlbijcz78jj"; depends=[catR mstR]; };
+  caMST = derive2 { name="caMST"; version="0.1.2"; sha256="1prs9xrva3wk7d5k13a4vxgjdv5vw1ybymprp21v97h199qsnarp"; depends=[catR diagram mstR]; };
   caRamel = derive2 { name="caRamel"; version="1.1"; sha256="06nppjx66xwdqchna5j6xlhfzs5g36nv8srwivbnfixys29awabb"; depends=[geometry]; };
   caRpools = derive2 { name="caRpools"; version="0.83"; sha256="10m7fw1zfr9i6v2qg235diwf3fmfr88incxnqpvnhmqcn082mxrp"; depends=[biomaRt DESeq2 rmarkdown scatterplot3d seqinr sm VennDiagram xlsx]; };
-  caTools = derive2 { name="caTools"; version="1.17.1.2"; sha256="0svj31y7h8vimvliygmmbl7pk850qk80k1vn38mlcxsnmcpm9k39"; depends=[bitops]; };
+  caTools = derive2 { name="caTools"; version="1.17.1.3"; sha256="04m7vbydxb1nipday97w29p2miykyzxw572j9lda6jxmmp2kb1yp"; depends=[bitops]; };
+  cabinets = derive2 { name="cabinets"; version="0.3.1"; sha256="1f6pkh2vpnqdqhbd6ipy5553xh7bppc7y7xbz9lw27wn5fppilzl"; depends=[crayon fs glue here purrr R6 rjson rstudioapi stringr usethis withr]; };
   cabootcrs = derive2 { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
   cacIRT = derive2 { name="cacIRT"; version="1.4"; sha256="145j6isqa8yj2nvlqkxagd076zs10ng3n44khi5p4jj77fjc8gh6"; depends=[]; };
   caesar = derive2 { name="caesar"; version="1.0.0"; sha256="0z1bb5cmjr97l3h9svy4r4bj58jkmq6kdkip577cvy2xf5q9n410"; depends=[binhf]; };
   caffsim = derive2 { name="caffsim"; version="0.2.2"; sha256="00bkgmmqrydpji2pvhcchgl2p8w5ksby4g80i3h76q0bm2325w9h"; depends=[dplyr ggplot2 markdown mgcv shiny tibble tidyr]; };
-  cairoDevice = derive2 { name="cairoDevice"; version="2.27"; sha256="0hhzndaqcpkdfbvrsfp54k8bl82wffmp0s0689vd7zhwxvp7l3wg"; depends=[]; };
+  cairoDevice = derive2 { name="cairoDevice"; version="2.28"; sha256="14885gpmhdzmxbz3q59s5sd3kjkyi5yf9lpnjwmvc482n8ix4lpq"; depends=[]; };
   calACS = derive2 { name="calACS"; version="2.2.2"; sha256="0a53k2rzyjksb0ypr5zrask4a6mgiyrqx0l2z3lm218y8pk2jf1w"; depends=[]; };
   calcWOI = derive2 { name="calcWOI"; version="1.0.2"; sha256="09g96inaayp0brbxw75l7k1cqn50f7qw0glb2g04657zmlk16i52"; depends=[LS2W wavethresh]; };
+  calculus = derive2 { name="calculus"; version="0.1.1"; sha256="1haviqraiil5cx6sy2zlkxlspvv1vx6qn1jji77ma4yhd2xzs1gk"; depends=[Rcpp]; };
   calendar = derive2 { name="calendar"; version="0.0.1"; sha256="18ha6vpx2bpk8p08hajiq2d201fbqhzcycp8ks6wrr06fy04z689"; depends=[lubridate tibble]; };
   calibrar = derive2 { name="calibrar"; version="0.2.0"; sha256="1544bc5rhhc6d1mky7ngza00wwh63q07dkbzlwfgyavly8m9cplb"; depends=[cmaes foreach optimx]; };
   calibrate = derive2 { name="calibrate"; version="1.7.5"; sha256="1s423nr176l2sc66wp7hzgqkv7c2bq8d2bjrrvrrm5qa9y3zdx1k"; depends=[MASS]; };
@@ -5709,20 +5811,20 @@ in with self; {
   cancerTiming = derive2 { name="cancerTiming"; version="3.1.8"; sha256="1sfi8q2f5ag7iak0sf9pmqncb89w3gnxdiwjwpivkwhr28ais4mq"; depends=[gplots LearnBayes]; };
   candisc = derive2 { name="candisc"; version="0.8-0"; sha256="0hq5bwvq791rhff2c29xdjbbkcyydii1lbsy05c1fapyn88ir0mi"; depends=[car heplots]; };
   canprot = derive2 { name="canprot"; version="0.1.2"; sha256="0lc31vw49sc2zsrn52aqqljcc4n79j4i4845sr201ga67w07vrrb"; depends=[CHNOSZ xtable]; };
-  cansim = derive2 { name="cansim"; version="0.3.2"; sha256="11s4kx4pjbl62ishwgkm9d9l9mqiy0nlw2l7jp4h486qnb27s1vl"; depends=[dplyr httr jsonlite purrr readr rlang rvest stringr tibble xml2]; };
+  cansim = derive2 { name="cansim"; version="0.3.3"; sha256="17rhhqzs49zhgkhcdi4xq7cgj4hb6900bxvw43nbwqr3gcif1wpq"; depends=[dplyr httr jsonlite purrr readr rlang rvest stringr tibble xml2]; };
   canvasXpress = derive2 { name="canvasXpress"; version="1.24.8"; sha256="1sxhxddl9fdvxs1hdn5b03jg0sp8wgpfli9v0p2n381lq1z30m3s"; depends=[htmlwidgets httr]; };
   cap = derive2 { name="cap"; version="1.0"; sha256="1pv8hskxjbp589dn7rx80yaa1ld76x1w37bss2fyrys1p3qr78aa"; depends=[MASS multigroup]; };
   cape = derive2 { name="cape"; version="2.0.2"; sha256="0ngm9scd3f2zcy7gy0lqk05cgbfrhhcss3mj5g6bj0byhgwd7msn"; depends=[corpcor doParallel evd fdrtool foreach HardyWeinberg igraph Matrix qpcR RColorBrewer regress shape]; };
   caper = derive2 { name="caper"; version="1.0.1"; sha256="0md0sngj7wsv2d4d7fmyyz9qqismk3ps9l3qk1blqz1yi19pq124"; depends=[ape MASS mvtnorm]; };
-  capitalR = derive2 { name="capitalR"; version="1.2.0"; sha256="1mclb0hx7ajr0gmmj7pn55zdqrd659dd5xgb3nzkp4yrqgfbv2bm"; depends=[]; };
-  capm = derive2 { name="capm"; version="0.13.10"; sha256="19lz1nnil0s37r089k3bc2c5jpav03dbvwk9w3brh4zls7w4qypf"; depends=[circlize deSolve dplyr FME ggplot2 magrittr sf survey tidyr]; };
+  capitalR = derive2 { name="capitalR"; version="1.3.0"; sha256="08lvncia9mdrnw84zydf1k7336xawiirh2swziqfwx3z1n172n52"; depends=[]; };
+  capm = derive2 { name="capm"; version="0.14.0"; sha256="0c3rnc1qd9c4v0jj8ihg6bdhpqvfnpafkqyqkar6fwnlvgw48z83"; depends=[circlize deSolve dplyr FME ggplot2 magrittr sf survey tidyr]; };
   capn = derive2 { name="capn"; version="1.0.0"; sha256="14vfk00xyx0az3whmxjpcv1785lf0gx81w7qc54i3wcfp3i22kcr"; depends=[]; };
   captioner = derive2 { name="captioner"; version="2.2.3"; sha256="0xg72pmgm84f0v45phfwxpsslhf12nhn1swmrj1yifj7g9sjvybj"; depends=[]; };
   captr = derive2 { name="captr"; version="0.3.0"; sha256="13j2nq9hm37g4h5fjdpz7kix0sqajdd7zssjfgil06ixfmnsijkx"; depends=[curl jsonlite]; };
   capushe = derive2 { name="capushe"; version="1.1.1"; sha256="1aa76ir1kp67hiz7dr60azyc71yzslshyc640fjh0fpw0sp5kwbc"; depends=[MASS]; };
   capwire = derive2 { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
-  car = derive2 { name="car"; version="3.0-3"; sha256="0vy3g3bjljd2al8xb9qr45f98is7yppc9jilqn7b6zvf5yqpr07s"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg rio]; };
-  carData = derive2 { name="carData"; version="3.0-2"; sha256="152lfgaspgx6x2wzdb5p3zv6r87a0d2pg10h6fjmdr613kzlwp1v"; depends=[]; };
+  car = derive2 { name="car"; version="3.0-5"; sha256="0w7fm81pn0wqrwzbjyddnrkpjl8gavg7ijh7rab9f21rkgkzgm3y"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg rio]; };
+  carData = derive2 { name="carData"; version="3.0-3"; sha256="0cg2yxzn0pdjqykr60my1fzpfkqac21fll5hv3m9w5c9sayq8swq"; depends=[]; };
   carSurv = derive2 { name="carSurv"; version="1.0.0"; sha256="0wv7lp10i4sdfqyizg77ghblp3pcp7wzhs946sm0wl6w00krav9j"; depends=[corpcor fdrtool mboost Rcpp survival]; };
   carbonate = derive2 { name="carbonate"; version="0.1.2"; sha256="1v4ssdk7j60sm4iahywb4x710ijvzj0yczcmr75zvq9rjfki1b54"; depends=[clipr httr magick R6 RSelenium rtweet wdman yaml]; };
   carcass = derive2 { name="carcass"; version="1.6"; sha256="0nhp35nxjqqmy15rf9vc0qyymy7d0v8mc84570b9nc62g5xac8xy"; depends=[arm expm lme4 MASS survival]; };
@@ -5748,12 +5850,12 @@ in with self; {
   casebase = derive2 { name="casebase"; version="0.1.0"; sha256="0216qzyxv44cl9f806lal9lx4n0zzr9csx8ggyjva04h5iiqrq6w"; depends=[data_table ggplot2 survival VGAM]; };
   casino = derive2 { name="casino"; version="0.1.0"; sha256="07fphn46718gr1zm0xr43mwv7yk697xrc40lxxin315cf3gm0cka"; depends=[crayon dplyr ggplot2 magrittr purrr R6 tibble tidyr]; };
   cassandRa = derive2 { name="cassandRa"; version="0.1.0"; sha256="0rwqzxbflxn1iyggm3mq6pkbl61mhk4vdwqwzlwrhrvvr2ib236r"; depends=[bipartite boot dplyr ggplot2 magrittr purrr reshape2 tidyr vegan]; };
-  castor = derive2 { name="castor"; version="1.4.3"; sha256="14lh14im15fqc9yrc3is9fxlwsfiji5jbkwg1gjsz35zlq2b2lw7"; depends=[naturalsort nloptr Rcpp]; };
+  castor = derive2 { name="castor"; version="1.5.0"; sha256="1fdfprp03ddslypqkclnv4i9cbk92d4qiqy3qx8bnv8gly76n40s"; depends=[naturalsort nloptr Rcpp]; };
   cat = derive2 { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
   cat_dt = derive2 { name="cat.dt"; version="0.1.0"; sha256="1rxq1kaw03c7m2jz4n6v5x4l9fiaqahdrvh9624zapf9mfhky0lm"; depends=[Matrix Rglpk]; };
   catIrt = derive2 { name="catIrt"; version="0.5-0"; sha256="09010z1q96nbnpys6mybspaqy57lvgd2cvwgnfijzgx3kl87pwnl"; depends=[numDeriv]; };
   catR = derive2 { name="catR"; version="3.16"; sha256="1w39dxfzqk065v64qzmfamx8p1njsv13a461s6clagbqmhysmzbx"; depends=[]; };
-  catSurv = derive2 { name="catSurv"; version="1.0.3"; sha256="1qjmjdmc81inim5kpwh4k2r3cffmkyp2wpcqqzv731hciqrad8a8"; depends=[BH ltm Rcpp RcppArmadillo RcppGSL RcppParallel]; };
+  catSurv = derive2 { name="catSurv"; version="1.1.3"; sha256="11j4girw99wj0l3b022kkgjcsww99dwpn3hpwzyxxd54cr55bbip"; depends=[BH jsonlite ltm plyr Rcpp RcppArmadillo RcppGSL RcppParallel]; };
   catch = derive2 { name="catch"; version="1.0"; sha256="16gdjrmlsnpyc38fihggj6c7wpgpmf4phcwrimnncdhwlk038yn8"; depends=[MASS Matrix tensr]; };
   catchr = derive2 { name="catchr"; version="0.2.1"; sha256="00h7gizv90zq78a80pqvp78f2l55xxnmya2g275pj84dqj1g9pfb"; depends=[purrr rlang]; };
   catcont = derive2 { name="catcont"; version="0.5.0"; sha256="0ix6ipm3nn9aq5vxirjga2kwwfnxn4v8ggfjlg5v9027v2r8rb96"; depends=[dplyr]; };
@@ -5762,7 +5864,7 @@ in with self; {
   cate = derive2 { name="cate"; version="1.1"; sha256="1mw4h03gbrrf69jhw3g8a761gxrz2i7aiqdb0vc1dv75pkjspwmj"; depends=[corpcor esaBcv leapp MASS Matrix ruv sva]; };
   catenary = derive2 { name="catenary"; version="1.1.2"; sha256="1n64kq3lkaf00a2mghs67hnxvi4dp6g12pwifyx0bd418wkw9wf3"; depends=[boot broom dplyr ggplot2 tidyverse]; };
   catfun = derive2 { name="catfun"; version="0.1.4"; sha256="1482rll333fvy4h58f15flfs7qrck3vk9bzpdn3hayhnmc7svmma"; depends=[broom cli DescTools epitools Hmisc magrittr rlang]; };
-  catlearn = derive2 { name="catlearn"; version="0.6.2"; sha256="0b038qgx6jksshi68iin1wwi66hng1fdbcr8dg7q6nqmx78bhc3k"; depends=[doParallel dplyr foreach Rcpp tidyr]; };
+  catlearn = derive2 { name="catlearn"; version="0.7.1"; sha256="194gqx94wkl4zr01ms5g684ma328q35cfqpwa63jv98scrybrbwj"; depends=[doParallel dplyr foreach Rcpp tidyr]; };
   catmap = derive2 { name="catmap"; version="1.6.4"; sha256="18449qh10jxfi8p49gmbnib5y013nfdgdblbs4n0mfs0nnzb10sx"; depends=[forestplot metafor]; };
   catnet = derive2 { name="catnet"; version="1.15.5"; sha256="1mwhchja3k9mrhclg6janxsjjs4x20ppg3gx6jymfai2bdv23azh"; depends=[]; };
   catseyes = derive2 { name="catseyes"; version="0.2.3"; sha256="1p0jnjjfl1jqqqk8q6yfsxrh30idfbss7v6lrrm25x8zrhxah0ww"; depends=[]; };
@@ -5780,7 +5882,7 @@ in with self; {
   cbird = derive2 { name="cbird"; version="1.0"; sha256="0kzylylk46swd7f0j6kjyrcs3plbx9799q9kb8hjxmgh0qcjk2p6"; depends=[]; };
   cblasr = derive2 { name="cblasr"; version="1.0.0"; sha256="1bz8d4124qpja4bvzn6k1swi89cfyrcpwg2nwyj4r8y0m1hbpc71"; depends=[Rcpp]; };
   cbsem = derive2 { name="cbsem"; version="1.0.0"; sha256="0gc14rhfy566yw2yqzq7yk0xanpzcz7zp3km483azgk816vakbn4"; depends=[]; };
-  cbsodataR = derive2 { name="cbsodataR"; version="0.3.4"; sha256="197x0i1v4cxra79zpdi0rgbbibgx5l37mb88pd81gnyd97vcnp8s"; depends=[jsonlite whisker]; };
+  cbsodataR = derive2 { name="cbsodataR"; version="0.3.5"; sha256="1j0v360q5vwl4xqzd35glwilcz8hv6kh4kky19zkzckkj4qqzidi"; depends=[jsonlite whisker]; };
   ccChooser = derive2 { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
   ccRemover = derive2 { name="ccRemover"; version="1.0.4"; sha256="1npd0vx2hyg7qbwd650987i49v5cxr6i1hlj5rw6fxc0b808s596"; depends=[]; };
   ccaPP = derive2 { name="ccaPP"; version="0.3.2"; sha256="166spwqsqbp42mr1acglydlxspcpn8vhnim8r3s9m81sa9pmazpj"; depends=[pcaPP Rcpp RcppArmadillo robustbase]; };
@@ -5796,8 +5898,9 @@ in with self; {
   ccmm = derive2 { name="ccmm"; version="1.0"; sha256="0855nr74xxpy7in2vrw15g8pv7nm1374irc1c5hikr5hadk5pf8v"; depends=[MASS]; };
   ccostr = derive2 { name="ccostr"; version="0.1.0"; sha256="0yfmj8v7ip595v87w9dmlzl5rih2j0lsapswh9b9vvc20wnk48ld"; depends=[data_table dplyr forcats ggplot2 knitr msm Rdpack rlang survival tibble]; };
   ccrs = derive2 { name="ccrs"; version="0.1.0"; sha256="1nyw4ip9v7y6yfbfdz3bwhy4r6hpp1hiip3ycldxlkl9wrxkxgrw"; depends=[cds colorspace dplyr limSolve lsbclust msm]; };
+  ccss = derive2 { name="ccss"; version="1.0"; sha256="0m2facn6kwxrjxg9a8z0pjnhp0rkgw6nxj6sac93ig24zygx4380"; depends=[]; };
   cctools = derive2 { name="cctools"; version="0.1.2"; sha256="03lp9pa9qr2hi584ivvmswxmwjw1c3a6xqladpqldjhzvzpxvcwi"; depends=[qrng Rcpp RcppArmadillo]; };
-  cdata = derive2 { name="cdata"; version="1.1.2"; sha256="1h28xcnwzxbm749hmqciqzjca7kd4r7hvqi50la0zqh371fv98xs"; depends=[rqdatatable rquery wrapr]; };
+  cdata = derive2 { name="cdata"; version="1.1.3"; sha256="15ql0w90n0y3jy21vkpdkqhiq3rf2hwz16l39hg3kpvnvn65k23r"; depends=[rqdatatable rquery wrapr]; };
   cdb = derive2 { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
   cdcfluview = derive2 { name="cdcfluview"; version="0.9.0"; sha256="0i6jipzpfcqs48w0cwjyynf3lpdppa7xh27q1rwv3jsqd246880v"; depends=[dplyr httr jsonlite MMWRweek purrr readr sf units xml2]; };
   cdcsis = derive2 { name="cdcsis"; version="2.0.3"; sha256="0hv52valyig3zzywm3058c5nxb2n7y3j2vfibxdbfg8414wwapd9"; depends=[ks mvtnorm Rcpp]; };
@@ -5842,14 +5945,14 @@ in with self; {
   cfma = derive2 { name="cfma"; version="1.0"; sha256="006z5g3rqpg44jqdf6ivyxr47sxm5cd9cqhayfi8qk73xx5w4lv9"; depends=[]; };
   cg = derive2 { name="cg"; version="1.0-3"; sha256="1kbyal1sicbr10yvxpwgcij710kqpi23vmndp9kyfzn3k8zfird3"; depends=[Hmisc lattice MASS multcomp nlme rms survival VGAM]; };
   cgAUC = derive2 { name="cgAUC"; version="1.2.1"; sha256="172f9rkfhv4xzwpw8izsnsdbcw9p3hvxhh0fd8hzlkil7vskr3k8"; depends=[Rcpp]; };
-  cgam = derive2 { name="cgam"; version="1.14"; sha256="1919pvl03lbf30nalwalasi1i883xxcmg3hs88b0paz9vvlfl1li"; depends=[coneproj lme4 Matrix svDialogs]; };
+  cgam = derive2 { name="cgam"; version="1.15"; sha256="0bgvsjhafhhkhdq2b1dvji72913wrhi05adzrsnhrk7vwf8xxjki"; depends=[coneproj lme4 Matrix svDialogs]; };
   cgdsr = derive2 { name="cgdsr"; version="1.3.0"; sha256="07yc819hkabpzzh0g0cbqza6bcfy67b2marrzz1lj97f9iba78ja"; depends=[httr R_methodsS3 R_oo]; };
   cgh = derive2 { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
   cghRA = derive2 { name="cghRA"; version="1.6.0"; sha256="16dlw27s8wckc75xcwc2g74pw6bar0y0ii3h53w1hql05d4f7sb8"; depends=[DNAcopy Rgb]; };
   cglasso = derive2 { name="cglasso"; version="1.1.1"; sha256="0d3r6jxrh1z4qnpxcfvwd7bcayzya2dhfl3hpfqd2dzm8fwwc2lf"; depends=[igraph MASS]; };
   cglm = derive2 { name="cglm"; version="1.0"; sha256="1539n1q1zz1888d143w6vva9465viwcnb49frcsb74j3zvk6j4zp"; depends=[data_table nleqslv Rcpp RcppArmadillo]; };
-  cgmanalysis = derive2 { name="cgmanalysis"; version="2.4"; sha256="17njw0abcmfwaqhglfnmgmbyp4zxjmxbchjiabsv6nan1scl9z43"; depends=[gdata ggplot2 lubridate pastecs pracma readr zoo]; };
-  cgraph = derive2 { name="cgraph"; version="4.0.3"; sha256="0q3zfwa910h1y8hgm5pam8jnqak9zvkq55bkary0h3kglmg25p67"; depends=[]; };
+  cgmanalysis = derive2 { name="cgmanalysis"; version="2.5"; sha256="0mpdd56zhvdlwl305752ivmabmlqb2pkayqrscraq7kshb3fm8cr"; depends=[ggplot2 lubridate pastecs pracma readr readxl zoo]; };
+  cgraph = derive2 { name="cgraph"; version="5.0.1"; sha256="14x0q2353kfd66788amxydayqigrhfgdkf9i6rcliwc0cx9hqcck"; depends=[]; };
   cgwtools = derive2 { name="cgwtools"; version="3.0.1"; sha256="15qllfcgls6hpj51xa7mklr5ppxrs2avbiwq3y4bqbb20fld78w3"; depends=[]; };
   chandwich = derive2 { name="chandwich"; version="1.1.2"; sha256="196k13qg9kl94yki989ncx2mrvvj82vv8mi453s8lqmv9s875841"; depends=[numDeriv]; };
   changedetection = derive2 { name="changedetection"; version="0.2.0"; sha256="0j8x7qyna7qgjhx56yxav1g3wj3r47zvx2hivybsjis2gqbl82hr"; depends=[glmnet L1pack Rdpack]; };
@@ -5877,13 +5980,16 @@ in with self; {
   chi = derive2 { name="chi"; version="0.1"; sha256="1y91mwahj4j2wz0y5k5vdpq7ygq834h8jkn37n74lqnwvv1968rr"; depends=[]; };
   chi2x3way = derive2 { name="chi2x3way"; version="1.1"; sha256="13qc8sigiw4gcxk8y50q7yfgzbssjyl41fizzjqzcp3p14kpsmzw"; depends=[]; };
   chicane = derive2 { name="chicane"; version="0.1.1"; sha256="1d2rvaxdcambawf8l4sn566nr3s8xgf8nfpqa5n6lazvik8vb7kb"; depends=[data_table doParallel foreach gamlss gamlss_tr iterators MASS]; };
-  childesr = derive2 { name="childesr"; version="0.1.1"; sha256="0jbyby215dizcsp27mb2a4fbjmpfyj2br6m2j43wchlbhjidz70i"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
+  childesr = derive2 { name="childesr"; version="0.1.2"; sha256="170xjsk0sjwlw3w3nf9jmq4yd6ivbznmjhqq2np5grn1rwlswawb"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
   childhoodmortality = derive2 { name="childhoodmortality"; version="0.3.0"; sha256="1ixd10jyzgr1ssnjas35kngpsqyjzl73wwpvcspv06cn12sv2b8d"; depends=[dplyr matrixStats plyr]; };
   childsds = derive2 { name="childsds"; version="0.7.4"; sha256="1dyzidmbr7608y65kymf7x5s19qjsz9hxzfv51ml1kaymml1hbf3"; depends=[boot class dplyr gamlss gamlss_dist magrittr purrr purrrlyr reshape2 tibble tidyr VGAM]; };
-  chillR = derive2 { name="chillR"; version="0.70.17"; sha256="0nlb7clbq12j8llk95f6yc5k81a2n3vmcbisk912h2wxn8qxnkwd"; depends=[assertthat dplyr fields ggplot2 httr jsonlite Kendall pls plyr R_utils raster RCurl readxl reshape2 rlang RMAWGEN sp XML]; };
+  chillR = derive2 { name="chillR"; version="0.70.21"; sha256="0sj97c4sgmywr5fl5csjyk9g6sy4a6vw2ryvg0idsfidklrdfvxd"; depends=[assertthat dplyr fields ggplot2 httr jsonlite Kendall pls plyr R_utils raster RCurl readxl reshape2 rlang RMAWGEN sp XML]; };
   chinese_misc = derive2 { name="chinese.misc"; version="0.2.1"; sha256="17sffxjpga8mq8xfxhas9jqj71bb80ayz4m2dgnmg1w6bb3p7bsp"; depends=[jiebaR Matrix NLP purrr slam stringi tm]; };
   chipPCR = derive2 { name="chipPCR"; version="0.0.8-10"; sha256="1mff7n7ga4sfwvcq7zkjkrl68nybnm2zkn37hmxvnw9yl3ls9lnw"; depends=[lmtest MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
-  chngpt = derive2 { name="chngpt"; version="2019.9-2"; sha256="0dx4y104108y5ig8339d17a30m9ghiay8p962fvk7rbmgasaa4a2"; depends=[boot kyotil MASS survival]; };
+  chisq_posthoc_test = derive2 { name="chisq.posthoc.test"; version="0.1.2"; sha256="0lvj3jqhaj1ijjpzvpq3fn3a1y3fgv69pxh91j6k958pn6vmp40i"; depends=[]; };
+  chk = derive2 { name="chk"; version="0.2.1"; sha256="09bs1q3x6393rk91l6491pbjs4wyn63n7i8lzpg2jxjl25c2xa3y"; depends=[lifecycle rlang]; };
+  chlorpromazineR = derive2 { name="chlorpromazineR"; version="0.1.2"; sha256="0zg3xjq67na98n4amsm5v4cn9ba1k7c0lb7k2lvxa3n1w7rndpw3"; depends=[]; };
+  chngpt = derive2 { name="chngpt"; version="2019.11-30"; sha256="1yw6hsshpsavmx3v1ndh4b0crr8wsak8h1vbv5qrbj3g1jzazrx7"; depends=[boot kyotil MASS survival]; };
   choiceDes = derive2 { name="choiceDes"; version="0.9-3"; sha256="1nsc8p4svfc6z7ckffl24c0acnaxi6cnpz7jq03vzn6spxvpjcmw"; depends=[AlgDesign]; };
   cholera = derive2 { name="cholera"; version="0.7.0"; sha256="0ja013k431vd0sjy74y2mlrii46rbwb5x886jaza4ihb48mgz7ah"; depends=[deldir ggplot2 HistData igraph KernSmooth pracma RColorBrewer sp threejs TSP]; };
   choplump = derive2 { name="choplump"; version="1.0-0.4"; sha256="0fn6m3n81jb7wjdji4v04m53gakjfsj3ksm546xxz5zm7prk237s"; depends=[]; };
@@ -5892,7 +5998,7 @@ in with self; {
   choroplethr = derive2 { name="choroplethr"; version="3.6.3"; sha256="0m6kyrgnv5s1q2ncc63rfxcwqdqx5adqk14q57ss4r84i14dm5yb"; depends=[acs dplyr ggmap ggplot2 gridExtra Hmisc R6 RgoogleMaps stringr tigris WDI]; };
   choroplethrAdmin1 = derive2 { name="choroplethrAdmin1"; version="1.1.1"; sha256="13ljs21hdhiv6n4napmk1gjnjhpll6j5wyijzv4xnnbi1y3ns7a9"; depends=[ggplot2]; };
   choroplethrMaps = derive2 { name="choroplethrMaps"; version="1.0.1"; sha256="0ghqb2d1h0qkbcsll6ck2qk5sfvdwsrlh3phlbsjbak30832j7fr"; depends=[]; };
-  chorrrds = derive2 { name="chorrrds"; version="0.1.9.1"; sha256="1l6n7hc63rxdwv3yar7cxcq7fx3n5n1l1gpqmyfarf2i0bbxmvjl"; depends=[dplyr forcats magrittr purrr stringr XML zoo]; };
+  chorrrds = derive2 { name="chorrrds"; version="0.1.9.2"; sha256="0g999i5nlxhbjcnx3kfv4qzd16ybj0da5bwkkn0bsb9qbp8s7lll"; depends=[dplyr forcats magrittr purrr stringr XML zoo]; };
   chromer = derive2 { name="chromer"; version="0.1"; sha256="0fzl2ahvzyylrh4247w9yjmwib42q96iyhdlldchj97sld66c817"; depends=[data_table dplyr httr]; };
   chromoMap = derive2 { name="chromoMap"; version="0.2"; sha256="1ljjwkv7rdy1mcrkb8dd5lfkg54gxzclsjvla4qnc8j5hmfp0p8g"; depends=[htmltools htmlwidgets]; };
   chromoR = derive2 { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[gdata haarfisz]; };
@@ -5908,36 +6014,35 @@ in with self; {
   circglmbayes = derive2 { name="circglmbayes"; version="1.2.3"; sha256="1a60d8jpvwx2qwmy2if60c5vni9hp73fdwgz7mwi5xd5l67zwd3h"; depends=[BH coda ggplot2 Rcpp RcppArmadillo reshape2 shiny]; };
   circlize = derive2 { name="circlize"; version="0.4.8"; sha256="0jvr9hmxyhg0zx101iiqkrg8wfaj86kp62xpv42n2j9fkn5r1mi2"; depends=[colorspace GlobalOptions shape]; };
   circular = derive2 { name="circular"; version="0.4-93"; sha256="0hki85rs8wc5950pjaw28q54rly2napfbcrx3pchlfap6wwy5kkn"; depends=[boot mvtnorm]; };
-  circumplex = derive2 { name="circumplex"; version="0.3.3"; sha256="11n3zj6mdv4hv0gfg7i2m1kw1ghz20frwdaq22qx5pcpzz6d7yzc"; depends=[assertthat boot dplyr ggforce ggplot2 glue htmlTable magrittr purrr Rcpp RcppArmadillo rlang tibble tidyr]; };
   cit = derive2 { name="cit"; version="2.2"; sha256="1lf8r3r4zwvs08vl4byhw6rvf54nb7vg83558pi0b5866m7in4sc"; depends=[]; };
   citbcmst = derive2 { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
   citccmst = derive2 { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
-  citecorp = derive2 { name="citecorp"; version="0.1.0"; sha256="1xp5vwrqxin0gp2kx8wn3bxajin0c7pa5f352csk6ivr2y7czl0p"; depends=[crul data_table fauxpas jsonlite]; };
+  citecorp = derive2 { name="citecorp"; version="0.2.0"; sha256="1lkbfklmwp84408pbpr8n63r4kqrw3z36mzmhramxnscrsf3f8k6"; depends=[crul data_table fauxpas jsonlite]; };
   citr = derive2 { name="citr"; version="0.3.2"; sha256="1qbarvafjb8jgkrnrhh6jw7mcglmjwf7dpdiibxf39jkmlhf7las"; depends=[assertthat curl httr miniUI RefManageR rstudioapi shiny shinyjs yaml]; };
   ciuupi = derive2 { name="ciuupi"; version="1.1.0"; sha256="0czfmmf62p1vml24s87pdwv52spqycchpkqzwk8vyd4n1z27r5s2"; depends=[functional nloptr pracma statmod]; };
   civis = derive2 { name="civis"; version="2.1.0"; sha256="0bpm42q243ghq03x9vajs0yjdhy4lgn7fqndc53172inmkxwp7dy"; depends=[future httr jsonlite memoise]; };
   cjoint = derive2 { name="cjoint"; version="2.1.0"; sha256="1bs380ji9vsc1d77wqhl0ij9xblww3g9x3hiwpcpz26wihqcx7ac"; depends=[DT ggplot2 lmtest Matrix sandwich shiny shinyBS shinyjs survey]; };
-  ck37r = derive2 { name="ck37r"; version="1.0.0"; sha256="0nn2sfsfs8mhgjrz0ghn041ybhj2qim4rs3lkci7s4n95c8hbgdi"; depends=[caret cvAUC doParallel doSNOW foreach ggplot2 pryr randomForest RANN reader RhpcBLASctl ROCR snow stringr SuperLearner tmle]; };
-  ckanr = derive2 { name="ckanr"; version="0.3.0"; sha256="0qbsq40yxy9j7q49k5712gk8iv0c7rcr8w0hnv410035i1rddlfj"; depends=[DBI dbplyr dplyr httr jsonlite magrittr]; };
+  ckanr = derive2 { name="ckanr"; version="0.4.0"; sha256="17mb8ank4p39mkmkrpj40hk2g1wpn06k0rx65hqd5h49pvlj21d3"; depends=[DBI dbplyr dplyr httr jsonlite magrittr]; };
   clValid = derive2 { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[class cluster]; };
   cladoRcpp = derive2 { name="cladoRcpp"; version="0.15.1"; sha256="0msay6yvm6wc964gwrz31ky5w4mizakji3j6rpkydz0zlrl52v1j"; depends=[Rcpp RcppArmadillo]; };
   clam = derive2 { name="clam"; version="2.3.2"; sha256="1za0njc10mcvdmyyy4yy6sgzl6kk2kix319w84d5mcs2zrfb83j4"; depends=[]; };
-  clampSeg = derive2 { name="clampSeg"; version="1.0-4"; sha256="0clmv53wz7shawg6mp4q3qp0z0gmd8jmd6flgzn2q1m8j2i62vq0"; depends=[Rcpp stepR]; };
+  clampSeg = derive2 { name="clampSeg"; version="1.0-5"; sha256="05922fddvi7s4imdnr9fb27aqskgd489amw9h86g5vw4l494lnl9"; depends=[Rcpp stepR]; };
   clarifai = derive2 { name="clarifai"; version="0.4.2"; sha256="0igi4xl27nz0r85hpws2zfc2gn5z2nmywp3saxgp74mh2y99lg6s"; depends=[curl jsonlite]; };
   class = derive2 { name="class"; version="7.3-15"; sha256="1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn"; depends=[MASS]; };
   classGraph = derive2 { name="classGraph"; version="0.7-5"; sha256="19jb9jr1gfg4karymrbilh0zjrlsczhy2q03x5b0jxnh4ykhxfj8"; depends=[graph Rgraphviz]; };
-  classInt = derive2 { name="classInt"; version="0.4-1"; sha256="00q1bpgblrldckn1rk166q1b0hgap2sjjyfmfcyh6ydk6y73ziir"; depends=[class e1071 KernSmooth]; };
+  classInt = derive2 { name="classInt"; version="0.4-2"; sha256="0w980hrw8sgfdfyd5dsimalq7gwhvqm7507abk7k363pvgks23dv"; depends=[class e1071 KernSmooth]; };
   classiFunc = derive2 { name="classiFunc"; version="0.1.1"; sha256="1qaima3sii394741p5n06lcqkk4fiv9apb7qqnpi6srx5h02lfl5"; depends=[BBmisc checkmate dtw fda fda_usc fdasrvf proxy rucrdtw zoo]; };
   classifierplots = derive2 { name="classifierplots"; version="1.3.3"; sha256="01rvn0jwliyxj7q4cmyv8an5g7fzn6y3sccp8mj6bcqjyblfcfaa"; depends=[caret data_table ggplot2 gridExtra png Rcpp ROCR]; };
   classifly = derive2 { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
-  classyfireR = derive2 { name="classyfireR"; version="0.2.2"; sha256="1v7sqwak8wczr6611aw0kzjhnyr6xsdzlmm8080w9dgcs2aani9b"; depends=[clisymbols crayon dplyr httr jsonlite magrittr purrr stringr tibble]; };
+  classyfireR = derive2 { name="classyfireR"; version="0.3.0"; sha256="1cagdwr8i3f4c4hjdgg64f3kp7ibndh766na7psd0pmki5s8grsv"; depends=[cli clisymbols crayon dplyr httr jsonlite magrittr purrr stringr tibble]; };
   cld2 = derive2 { name="cld2"; version="1.2"; sha256="03ffg1nxdlmg66sgg0w2jdx2s5jzdp8qhja24z0il2qy3qsa915k"; depends=[Rcpp]; };
   cld3 = derive2 { name="cld3"; version="1.2"; sha256="11bjkbhjxaf6lc96qm8zk4k1i66b69f8dmc303i1560b2jj2zah3"; depends=[Rcpp]; };
   clean = derive2 { name="clean"; version="1.1.0"; sha256="11jfg9xh6xyhcva4pq5bl7bg2d2ar12mp568j8j79dqlci3f53zx"; depends=[crayon knitr pillar rlang]; };
   cleanEHR = derive2 { name="cleanEHR"; version="1.0"; sha256="0i8q7y4izc7q1pshdajy0n9wyihj4wlzzkd52ykam3dxqnwlnyh4"; depends=[data_table ggplot2 knitr pander Rcpp XML yaml]; };
-  cleanNLP = derive2 { name="cleanNLP"; version="2.3.0"; sha256="0d3v87ylp5vxkg6x5wfc1v482a3wcy02bb5xl3k2s8jpsawf2vxd"; depends=[dplyr Matrix stringi]; };
+  cleanNLP = derive2 { name="cleanNLP"; version="3.0.0"; sha256="15prwj32rq28dqqpfagaq4vfbimjws7ldrjm7waf4w6rcavz7r93"; depends=[Matrix reticulate stringi udpipe]; };
   cleancall = derive2 { name="cleancall"; version="0.1.0"; sha256="0g52nvr8fnwlhfzx0ja87xkg4ff3jafj08qz9xkwc790zfszc6z1"; depends=[]; };
   cleandata = derive2 { name="cleandata"; version="0.3.0"; sha256="1lm7k25j16p888xvd7rzzd3sb3namzjlpjn22xmmpzlzyl0h7dhk"; depends=[]; };
+  cleaner = derive2 { name="cleaner"; version="1.2.0"; sha256="0n8qxvy8xixdgibh17fsl5vf1nvfj0l0804crdjq3lhr5s3b794f"; depends=[crayon knitr pillar rlang]; };
   cleanerR = derive2 { name="cleanerR"; version="0.1.1"; sha256="0rghn8rx7dj5clmc1dqvqwfm9kiva04k9gxsjjga3109l4jcpg63"; depends=[data_table plyr]; };
   cleangeo = derive2 { name="cleangeo"; version="0.2-2"; sha256="1bhpn53v36652mwg2ba2a6cs34slb7i0df2ibssyr2lnx5gciq4i"; depends=[maptools rgeos sp]; };
   cleanr = derive2 { name="cleanr"; version="1.2.0"; sha256="1yd6w4jv4rj1g67i3q7h0z2n8nycvg67ixxgf49fplxnjhxq09g5"; depends=[checkmate pkgload rprojroot]; };
@@ -5950,7 +6055,7 @@ in with self; {
   clickstream = derive2 { name="clickstream"; version="1.3.0"; sha256="01bii527xy7hdph1pm6f1g4qnwa5yf3mwz01rjg1h2gc12s5vzgg"; depends=[arules ClickClust data_table ggplot2 igraph linprog MASS plyr reshape2 Rsolnp]; };
   clifro = derive2 { name="clifro"; version="3.2-2"; sha256="11bfvaf1b1wv83dw8ggj7ldsc6fs8s3gl7jdzyq7l1w7innihp9s"; depends=[ggplot2 lubridate magrittr RColorBrewer RCurl reshape2 scales xml2]; };
   clikcorr = derive2 { name="clikcorr"; version="1.0"; sha256="0zdnbcl5q293mmm6pbn4ri7p1q6z6sff74axsb3nyd153v2xamr5"; depends=[mvtnorm]; };
-  climateStability = derive2 { name="climateStability"; version="0.1.1"; sha256="0zmxcf4l79rgq2ar7v3asrjr8hci1ba6xl1xwb56mm3qnkc75q7d"; depends=[knitr raster]; };
+  climateStability = derive2 { name="climateStability"; version="0.1.3"; sha256="1zag722sznr22xid2v1k4a9sh3sr3grfa3wwd2m943zpvyi1sk9a"; depends=[raster]; };
   climatol = derive2 { name="climatol"; version="3.1.2"; sha256="0p3nk4n7izj0cmmqd9apa1gix5lfdzp08ydy0n7rkl5kbkmrkb6n"; depends=[mapdata maps]; };
   climbeR = derive2 { name="climbeR"; version="0.0.1"; sha256="10i74bph7dhv2xj01qdhymlmfwj32lzxivanif11zmzmq9p5bqsw"; depends=[ggplot2]; };
   climdex_pcic = derive2 { name="climdex.pcic"; version="1.1-9.1"; sha256="13wjkz2ldpvw9ri58vqpzdrqqyvzygmhzshx10v25d757x6h1qvb"; depends=[PCICt Rcpp]; };
@@ -5977,7 +6082,7 @@ in with self; {
   clttools = derive2 { name="clttools"; version="1.3"; sha256="0va9k1b4xsb2sgpxzvid6sa8m6b8i3r4kgghclmb78nnrs480cwi"; depends=[]; };
   clubSandwich = derive2 { name="clubSandwich"; version="0.3.5"; sha256="03mxfvh2h4gigis7wzq9hwzfaanpx66h1c16xx11pqfkvdfwal49"; depends=[sandwich]; };
   clue = derive2 { name="clue"; version="0.3-57"; sha256="05rdcahawxlxci3fjxihjvvh33wqpxw50sx015165ab4nh3rsdkf"; depends=[cluster]; };
-  clues = derive2 { name="clues"; version="0.5.9"; sha256="0znlsbfmnz5wkp2cswrkjbgchdmmf7h78mv2zwx382m9n9n9hshy"; depends=[]; };
+  clues = derive2 { name="clues"; version="0.6.1"; sha256="1g7qy9fxdjmc3y7x0qpa9prn5l83l3j59dzs862f35k7mzfnyggj"; depends=[]; };
   cluscov = derive2 { name="cluscov"; version="1.1.0"; sha256="0345v5r6b53243h5bir29v0w77pmwjqjkqfrjnk5j5r1wbh98q1w"; depends=[MASS quantreg]; };
   clusrank = derive2 { name="clusrank"; version="0.6-2"; sha256="1hjxks8cb1mp1d93rcpwqjrxqavspmzjrxvflhv6nqx41ar9dpxv"; depends=[MASS Rcpp]; };
   clust_bin_pair = derive2 { name="clust.bin.pair"; version="0.1.2"; sha256="11lqd3vmx4kg08n6iv9na8rra49dkldx4f8jyf43hppbjrbvfinm"; depends=[]; };
@@ -5995,7 +6100,7 @@ in with self; {
   clusterPower = derive2 { name="clusterPower"; version="0.6.111"; sha256="1mwq188x9d495my75cdcahfjm3w46cas9jqxks5c0j63395cw9g3"; depends=[lme4]; };
   clusterRepro = derive2 { name="clusterRepro"; version="0.9"; sha256="0s7qqvaf5yxxwhw6qyzfmk65c49yz405gljarwav6aglkx9883cl"; depends=[]; };
   clusterSEs = derive2 { name="clusterSEs"; version="2.6.2"; sha256="15a9hn8g70y64v5lq91mwjbx411ji2b5zvm1wm4qz820jri5wy20"; depends=[AER Formula lmtest mlogit plm sandwich]; };
-  clusterSim = derive2 { name="clusterSim"; version="0.47-4"; sha256="06x8qhsxbv9qgad9h24bpylzc06p6w1fdpzm5bmmvaddmg6ghkkg"; depends=[ade4 cluster e1071 MASS R2HTML rgl]; };
+  clusterSim = derive2 { name="clusterSim"; version="0.48-2"; sha256="0y1y09y7dmk8kfnzhmywxbjcxg4qkawjsqxvpfkz9rqw0q2hchya"; depends=[ade4 cluster e1071 MASS R2HTML rgl]; };
   clusteredinterference = derive2 { name="clusteredinterference"; version="1.0.1"; sha256="01w7i9pmvwmrlf5q6y2d48ib0bm16j16xiw4pqnrvbndx4d6wf6n"; depends=[cubature Formula lme4 numDeriv rootSolve]; };
   clusterfly = derive2 { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[e1071 plyr reshape2 rggobi RGtk2]; };
   clusterhap = derive2 { name="clusterhap"; version="0.1"; sha256="1ic6588mqp146jsvrxlxk449zw4n81xixgrny9r29497z7hg5a1m"; depends=[]; };
@@ -6006,7 +6111,7 @@ in with self; {
   clusternor = derive2 { name="clusternor"; version="0.0-3"; sha256="0qf1k5y9i60skdqz7glq7czwg84gafnxfg0npx772xydvivan210"; depends=[Rcpp]; };
   clustertend = derive2 { name="clustertend"; version="1.4"; sha256="1aqg8cy1hk3lmzvyqh9qc1mcknrva2i0c77hyd0yff9whz80ik4j"; depends=[]; };
   clusteval = derive2 { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; };
-  clustrd = derive2 { name="clustrd"; version="1.3.5"; sha256="0i9zp7084biym29dx87ljjpcvcbl1wi7bn50hh6v4y54ws0fgyh9"; depends=[ca cluster corpcor dplyr fpc GGally ggplot2 ggrepel plyr rARPACK tibble]; };
+  clustrd = derive2 { name="clustrd"; version="1.3.6-2"; sha256="06njv48sb3j7d5517l6c886hqmlyp5vk6pk5zpmdmzcxay6c81qy"; depends=[ca cluster corpcor dplyr fpc GGally ggplot2 ggrepel plyr rARPACK tibble]; };
   clustree = derive2 { name="clustree"; version="0.4.1"; sha256="0jsffqd25ad08q35a3ggzblhia7y6m5gj972kij6nrbah920qk0x"; depends=[checkmate dplyr ggplot2 ggraph ggrepel igraph rlang tidygraph viridis]; };
   clustringr = derive2 { name="clustringr"; version="1.0"; sha256="07f0ywpkf8igic7ijvvrjlngq3smjcv9nqnah41fp6wfgvh49ifq"; depends=[assertthat dplyr forcats ggplot2 ggraph igraph magrittr rlang stringdist stringi stringr tidygraph]; };
   clustsig = derive2 { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
@@ -6021,12 +6126,13 @@ in with self; {
   cmna = derive2 { name="cmna"; version="1.0.2"; sha256="18vbqa258m0g5pvfhqi2vbr8n2bil07n9spgz1wh2axw1c3bcf76"; depends=[]; };
   cmocean = derive2 { name="cmocean"; version="0.2"; sha256="0v1bm2qgvjb82ynakglr61swx5jy41ngn6vml5gllv3r7skqr1is"; depends=[]; };
   cmpprocess = derive2 { name="cmpprocess"; version="1.0"; sha256="0gqfmbm86bfi2l81pf2dn70rxg58h1y8hiyrp8sv9v84cx20422v"; depends=[compoisson numDeriv]; };
-  cmprsk = derive2 { name="cmprsk"; version="2.2-8"; sha256="1nacbzx950ygaqgnj0949skhwpzar5i3xlscd44jsimk2gsppx6z"; depends=[survival]; };
+  cmprsk = derive2 { name="cmprsk"; version="2.2-9"; sha256="0xhgfg5b4i9skkaxp7gzkafgg5bqs5q1rp4hpw2jjmykg2nifn99"; depends=[survival]; };
   cmprskQR = derive2 { name="cmprskQR"; version="0.9.2"; sha256="1b3di5fsgglriv00fxydpc4p8lh0xcgi6jc04awq2vmp6s8kvjmw"; depends=[quantreg survival]; };
   cmrutils = derive2 { name="cmrutils"; version="1.3.1"; sha256="0nrq84bkd23lvvg8ls2smkjcnfnydhbcni3n6s8w0579i9xga8dv"; depends=[chron]; };
   cmsaf = derive2 { name="cmsaf"; version="2.0.1"; sha256="0ampq493i8x40jk8p8acgizy1vlhm05i5nllk5a0xk81vywf7ifi"; depends=[fields FNN ncdf4 rainfarmr raster sp]; };
   cmvnorm = derive2 { name="cmvnorm"; version="1.0-6"; sha256="1wf23w9gxrrgw7j740r381xrss09inzd7mrg6g7wz883c9madbfn"; depends=[elliptic emulator]; };
   cna = derive2 { name="cna"; version="2.2.1"; sha256="1yzr3r8jykr25i52f5rvq9h68gnkqksy9qkkmib771kmdy1k310a"; depends=[matrixStats Rcpp]; };
+  cnaOpt = derive2 { name="cnaOpt"; version="0.1.0"; sha256="1km2v3gkjzy2lib6b39fz9z733wdnkzlxhg12a58sd93wisg68h2"; depends=[cna dplyr ggplot2 matrixStats Rcpp]; };
   cnbdistr = derive2 { name="cnbdistr"; version="1.0.1"; sha256="05qi41jimslbngjgbwzfda0q25hb28ax79v9yckvrbpgjc8dk990"; depends=[hypergeo]; };
   cncaGUI = derive2 { name="cncaGUI"; version="1.0"; sha256="1v55kvrc05bsm1qdyfw3r3h64wlv3s6clxbr8k512lfk99ry42kn"; depends=[MASS plotrix rgl shapes tcltk2 tkrplot]; };
   cnmlcd = derive2 { name="cnmlcd"; version="1.2-0"; sha256="1vpn926wf8vkifscnb35y4c74721iar2wykrl50fcv0fg16yggnd"; depends=[lsei]; };
@@ -6035,7 +6141,7 @@ in with self; {
   coalescentMCMC = derive2 { name="coalescentMCMC"; version="0.4-1"; sha256="0xxv1sw5byf84wdypg5sfazrmj75h4xpv7wh4x5cr9k0vgf80b3s"; depends=[ape coda lattice Matrix phangorn]; };
   coalitions = derive2 { name="coalitions"; version="0.6.10"; sha256="1yfibzkg4psmghfwpv5rivaxzizilbd8frgpd0z05hx519lmx9h7"; depends=[checkmate dplyr forcats ggplot2 gtools jsonlite lubridate magrittr purrr RCurl reshape2 rlang rvest stringr tidyr xml2]; };
   coarseDataTools = derive2 { name="coarseDataTools"; version="0.6-4"; sha256="1y6msvcr1j9cvnc1v87p6wkwvnn7iszwsr9sl6ixjjwgnpc05ayc"; depends=[MCMCpack]; };
-  cobalt = derive2 { name="cobalt"; version="3.8.0"; sha256="0bgcdlars0diql3x60nvizlvn3ny5if1jac2whhzvnm5pbchlqf1"; depends=[backports crayon ggplot2 ggstance gridExtra gtable]; };
+  cobalt = derive2 { name="cobalt"; version="3.9.0"; sha256="173chz93cwzxgh8lnvlvl9bzsd4plqrqxh6bwr6xkj11m5xmc7by"; depends=[backports crayon ggplot2 ggstance gridExtra gtable]; };
   cobiclust = derive2 { name="cobiclust"; version="0.1.0"; sha256="068cqrhx7lxsvcjb62rgrca7y20cybz4445bl1qc6k16ca4bh0m9"; depends=[cluster]; };
   cobs = derive2 { name="cobs"; version="1.3-3"; sha256="1pqvz7czcchri4x79g78hbwyagb3bqzdqb047zkbdinyz067c7kb"; depends=[quantreg SparseM]; };
   cocktailApp = derive2 { name="cocktailApp"; version="0.2.1"; sha256="1aq7m3qb4s5v59ym8p5vh7lr5s1xfp8b04x64a014k47gakgiw1d"; depends=[dplyr DT forcats ggplot2 ggtern magrittr shiny shinythemes tibble tidyr]; };
@@ -6060,11 +6166,12 @@ in with self; {
   coexist = derive2 { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
   cofad = derive2 { name="cofad"; version="0.1.0"; sha256="034ihvg2bqlfhpwivza15slksn7zxk3k20rdyx9zlriqzfgvlwws"; depends=[]; };
   cofeatureR = derive2 { name="cofeatureR"; version="1.1.1"; sha256="1awfrlnbpw9ivfvaahznx6dx5jp8ln0154vh2pznp520q59h1mbs"; depends=[dplyr ggplot2 lazyeval tibble]; };
-  coga = derive2 { name="coga"; version="1.0.0"; sha256="0mx3jdjd1s855lk451zmjf6w5rpajx39q6w7aw3kng68snyalz16"; depends=[Rcpp RcppGSL]; };
+  coga = derive2 { name="coga"; version="1.1.0"; sha256="0p2mdia89gj7w0j33qxil1l2zg6civj18i3pqym7aijzz1fgwnzp"; depends=[cubature Rcpp RcppGSL]; };
   cogmapr = derive2 { name="cogmapr"; version="0.9.1"; sha256="1iz776avw05a0lcna78fycixacby4bjf8ar1jazsf34yss6zka23"; depends=[car dplyr ggplot2 graph magrittr Rgraphviz tidyr]; };
+  cohorttools = derive2 { name="cohorttools"; version="0.1.0"; sha256="0350q0dyy0rfk2g8anc62cib2gq7hi4zzg3gsd02fhwadz5gnjga"; depends=[DiagrammeR DiagrammeRsvg Epi epitools rsvg survival]; };
+  coil = derive2 { name="coil"; version="1.0.1"; sha256="1hlyaqq253rxbng6ji1z64ld52bpxkcwb0g6709nvai297wixxyl"; depends=[ape aphid seqinr]; };
   coin = derive2 { name="coin"; version="1.3-1"; sha256="0qi03fyqw42a2vnqcia5l2m1mzyarj2q1iblknx9n19bdsd53qjx"; depends=[libcoin matrixStats modeltools multcomp mvtnorm survival]; };
   coindeskr = derive2 { name="coindeskr"; version="0.1.0"; sha256="0iwkg9qx5gymzjxw3w1zlwq9336kbqp4z8a9wf9a1p2gp9727qcm"; depends=[httr jsonlite]; };
-  coinmarketcapr = derive2 { name="coinmarketcapr"; version="0.2"; sha256="1r3r5ifl663pdmkvkrf6yhdg1kwmwdjg9kvp0ykbdvpbvqjcjhkv"; depends=[curl ggplot2 jsonlite]; };
   cointReg = derive2 { name="cointReg"; version="0.2.0"; sha256="0n4s809avhlrmrjdqzc2s752m7x96c4432gnjd4qv77r2nns7dw4"; depends=[checkmate MASS matrixStats]; };
   cointmonitoR = derive2 { name="cointmonitoR"; version="0.1.0"; sha256="0rsacvib9prgb199m5ndi0zlgfsvf1giqc5s41wp0yvxdxjdq5lw"; depends=[cointReg matrixStats]; };
   cold = derive2 { name="cold"; version="2.0-0"; sha256="10kn2kycyc6di30ji6lk5agsczh1zdv65s8ryj6q2f40v0y0zlck"; depends=[cubature]; };
@@ -6073,13 +6180,13 @@ in with self; {
   collapsibleTree = derive2 { name="collapsibleTree"; version="0.1.7"; sha256="0b65pbp1wnpsrayqi630ds4r98jvcvynnlp6wxdqrnnr9nzw5343"; depends=[data_tree htmlwidgets]; };
   collateral = derive2 { name="collateral"; version="0.4.2"; sha256="1i1fzvm838s2cfmxw654vwmp9rl9f9985vjildkxyx2f6571sjfm"; depends=[crayon pillar purrr]; };
   collectArgs = derive2 { name="collectArgs"; version="0.4.0"; sha256="0fz5w1xsxiddzrwahrg50px4igyhd4plq655jaix6grancs7kvix"; depends=[magrittr]; };
-  collections = derive2 { name="collections"; version="0.2.0"; sha256="04rnfz2ljfsimi98mjy9f6mzw73z8n6v9lji0sfz6kv1ma2asibi"; depends=[xptr]; };
+  collections = derive2 { name="collections"; version="0.2.3"; sha256="1fkajfmh7zx2a111js2sdlkzx5q0an67s7ns9jsy65zl7iqis3i0"; depends=[xptr]; };
   collidr = derive2 { name="collidr"; version="0.1.2"; sha256="1b8yy0p1r4gs6azcl1aqkny3hws5hhl9bvsrkrhgk2r2xni9sk6f"; depends=[dplyr jsonlite stringr]; };
-  collpcm = derive2 { name="collpcm"; version="1.0"; sha256="15k6khsgikjpsasyz02bhgd43nij2n7nl0m0sgxvjlcn0nv95y2n"; depends=[latentnet network vegan]; };
+  collpcm = derive2 { name="collpcm"; version="1.1"; sha256="14rlipdww5sm1ijp2ggpnd23m14qh10zm99cfq1w0kky9jfl0fkn"; depends=[latentnet network vegan]; };
   colmozzie = derive2 { name="colmozzie"; version="1.1.1"; sha256="0sn7dqg7rnddnmdb10c6scws6kgi1lz4lw8nc698x63z431ah1p8"; depends=[]; };
   coloc = derive2 { name="coloc"; version="3.2-1"; sha256="0sm2mji8bihvcshkh9g18sgbwznhh8j4hip50rk7ckac3vc8y75h"; depends=[BMA data_table ggplot2 reshape snpStats]; };
-  colocalization = derive2 { name="colocalization"; version="1.0.0"; sha256="0szdxjj5nbb3ncxsg0b7jphlqqxnizs2lymcafk42sdgvlfkx8sr"; depends=[ggplot2]; };
-  colocalized = derive2 { name="colocalized"; version="0.1.0"; sha256="1c25bq618bhgc6s7rv20ih94pzchrwgmizssnjy3m1z2czmhpnr3"; depends=[doParallel foreach purrr]; };
+  colocalization = derive2 { name="colocalization"; version="1.0.1"; sha256="0ax560r5f629zv8rfa91ynx8g3kcn5ga553k5svircl21n65zb1y"; depends=[ggplot2]; };
+  colocalized = derive2 { name="colocalized"; version="0.2.0"; sha256="1q98wfqk0p9p92jgjf8liamz6grzwy6h57k7681fm07wfnyr268g"; depends=[doParallel foreach purrr]; };
   colocr = derive2 { name="colocr"; version="0.1.0"; sha256="0lfwhn3hd7kwhm6dwbpfqhsphz2249vb0mpjvma18zym93x6gj2i"; depends=[imager magick magrittr scales shiny]; };
   colorRamps = derive2 { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
   colorSpec = derive2 { name="colorSpec"; version="1.0-1"; sha256="1fgikg5x9ir2n7nhjvsflnz99g2wjh3jj1yh59jiirq725dw573d"; depends=[MASS spacesXYZ]; };
@@ -6092,16 +6199,16 @@ in with self; {
   colormap = derive2 { name="colormap"; version="0.1.4"; sha256="0032ji9n8pivl70jppq989fgg781wil8zag7pfl1hs9xrpin8asy"; depends=[ggplot2 stringr V8]; };
   colorpatch = derive2 { name="colorpatch"; version="0.1.2"; sha256="18p9hgccp37pbdf437xffkv6z500896v08fsw2jm8zcl9ladygaf"; depends=[colorspace ggplot2 gridExtra TSP]; };
   colorr = derive2 { name="colorr"; version="1.0.0"; sha256="1wwrgb9fc9gzxxwxrdrkwwrmhqqllv29wr4q8y1shj9d3nzcpwmh"; depends=[]; };
-  colorscience = derive2 { name="colorscience"; version="1.0.5"; sha256="0pr28fhv7alvki9f6wncys8lxihsl6q6lr8xffw4fkkgyapnhqxg"; depends=[Hmisc pracma sp]; };
+  colorscience = derive2 { name="colorscience"; version="1.0.8"; sha256="11fy8545g93b8dn2imihsb031lnf5g5z17km8q07q4y6g96xdbdv"; depends=[Hmisc pracma sp]; };
   colorspace = derive2 { name="colorspace"; version="1.4-1"; sha256="0wyny3ah2d74hqv80s6imrarpna09gq3j9rjnz6zx2qg0lx72gb9"; depends=[]; };
   colortools = derive2 { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; };
   colourlovers = derive2 { name="colourlovers"; version="0.3.5"; sha256="172ny0w9n2ys8pa7zxkfjsl7lv6fa59bmmbkzlwfx59wamxahmky"; depends=[httr jsonlite png XML]; };
   colourpicker = derive2 { name="colourpicker"; version="1.0"; sha256="0z3v2083g7kwdp21x9s2n1crfh24agpdq3yxkcdzc2awn2pwpnpi"; depends=[ggplot2 htmltools htmlwidgets jsonlite miniUI shiny shinyjs]; };
-  colourvalues = derive2 { name="colourvalues"; version="0.3.0"; sha256="1r762z0dkm0f8agj29mry8k5b9m4yby9kw3bgywbvw3z4mrwic0d"; depends=[BH Rcpp]; };
+  colourvalues = derive2 { name="colourvalues"; version="0.3.1"; sha256="0bwahphbvmk0jq4iafvny1nwsvcksm5avly8d30w7b6kkirym7jk"; depends=[BH Rcpp]; };
   colourvision = derive2 { name="colourvision"; version="2.0.2"; sha256="15ndhqpp5fi9jgiri9ysl68nf4rdamh9c25svf5nvh2wvv8shrd9"; depends=[Matrix rgl]; };
   colr = derive2 { name="colr"; version="0.1.900"; sha256="0ilz1y0jd2vgyh81g3dwx2l64sir6z6sgmqx7lnvr1hafsqnwfc8"; depends=[]; };
   colt = derive2 { name="colt"; version="0.1.1"; sha256="028jqvgr14ig8jxp8h2lrf7mainzppgqh6v1479qfv4l9is3bnwy"; depends=[crayon]; };
-  comat = derive2 { name="comat"; version="0.3.0"; sha256="0lqkhj4ina7zfrlpn55ac68f79asd3fhcx086ll6gjibfn3vf68f"; depends=[raster Rcpp RcppArmadillo]; };
+  comat = derive2 { name="comat"; version="0.7.2"; sha256="1rca5n47ypw8mbhx40x9vi4wvkpnzzyxgm4vb7sq32w5pnydnkcn"; depends=[Rcpp RcppArmadillo]; };
   comato = derive2 { name="comato"; version="1.1"; sha256="0lidwr5vw10655p7q0iqzq3phq5y1i86w3bjdv87cwx3m6333bz6"; depends=[cluster clusterSim gdata igraph lattice Matrix XML]; };
   combinat = derive2 { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
   combiter = derive2 { name="combiter"; version="1.0.3"; sha256="11pcvrpbvkzkjwks2z6ww7s9d5fkh8zl0jw52a5ya3y1wkqcs3n6"; depends=[iterators itertools Rcpp]; };
@@ -6112,7 +6219,7 @@ in with self; {
   commentr = derive2 { name="commentr"; version="1.0.4"; sha256="0anlcbk8rj0yr8i23qmr6v5ws0695nkc3mvgr6pnq1fg2d4c4brj"; depends=[stringr]; };
   commonmark = derive2 { name="commonmark"; version="1.7"; sha256="024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni"; depends=[]; };
   commonsMath = derive2 { name="commonsMath"; version="1.2.4"; sha256="12hwl3xjm7kl5y36v3y4jyr2gk4l87mff237qms2hy8y41nwwagr"; depends=[]; };
-  comorbidity = derive2 { name="comorbidity"; version="0.5.0"; sha256="137j4lyg2l0qlzsdpzlghx39gb6zlwm8jfvn57srq4ybmpsydp18"; depends=[checkmate data_table reshape2]; };
+  comorbidity = derive2 { name="comorbidity"; version="0.5.2"; sha256="0kf1fxv5aqkwy7q0df6f29jgjry3zliahgrs11rfmym5dhrb8rvm"; depends=[checkmate data_table]; };
   compHclust = derive2 { name="compHclust"; version="1.0-3"; sha256="0agay7rn5mrw07imz4l547b7m9pfcg3rhz4krfxrvg1q2z2kryvj"; depends=[]; };
   compactr = derive2 { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
   compare = derive2 { name="compare"; version="0.2-6"; sha256="0k9zms930b5dz9gy8414li21wy0zg9x9vp7301v5cvyfi0g7xzgw"; depends=[]; };
@@ -6134,7 +6241,7 @@ in with self; {
   complexplus = derive2 { name="complexplus"; version="2.1"; sha256="16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx"; depends=[expm Matrix]; };
   complmrob = derive2 { name="complmrob"; version="0.7.0"; sha256="0dvkc5y53041agkjz3rl898hkq686pxzr6flf2qx1g3jbza3pk1y"; depends=[boot ggplot2 robustbase scales]; };
   compoisson = derive2 { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
-  compositions = derive2 { name="compositions"; version="1.40-2"; sha256="12mp05yi7jkdqg9iwh6bc9sx6sdxagcnrirznxy9hq8502p7238i"; depends=[bayesm energy robustbase tensorA]; };
+  compositions = derive2 { name="compositions"; version="1.40-3"; sha256="103hbmibrf1n333pn4xpll1gqqsv4szms0n5gdq7zak31aar0bg4"; depends=[bayesm robustbase tensorA]; };
   compound_Cox = derive2 { name="compound.Cox"; version="3.19"; sha256="1wl8jg916567nk0wy37in6syh7z2rw70v5jm7s0w3ifiqs5v7nzb"; depends=[numDeriv survival]; };
   comprehenr = derive2 { name="comprehenr"; version="0.6.7"; sha256="0c0wid4lch7yrz41b8n773hy4zj80sfb1lhy4pclvlsjdr5zryk6"; depends=[]; };
   compstatr = derive2 { name="compstatr"; version="0.2.0"; sha256="07kak4dc1q44m58wb7ps4bf5ikcnjfkvd7fn1mxfxvqljrdy6978"; depends=[dplyr fs httr janitor lubridate purrr readr rlang rvest sf stringr tibble tidyr xml2]; };
@@ -6176,11 +6283,13 @@ in with self; {
   conicfit = derive2 { name="conicfit"; version="1.0.4"; sha256="1d704xgiyqmbwfxnsmhqg885x10q8yqxmrk4khqpg3lh696bw97d"; depends=[geigen pracma]; };
   conics = derive2 { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
   conjoint = derive2 { name="conjoint"; version="1.41"; sha256="1iq3226a6fn1gddmh2nxlzvjcvbj7502r9520g9d4xdmk8smfx33"; depends=[AlgDesign broom cluster fpc ggfortify ggplot2]; };
+  connections = derive2 { name="connections"; version="0.1.0"; sha256="1jkk9s3w6d3751hb2y4d2lilndhpfs2alqgg6k23q7bav6848wyp"; depends=[DBI dbplyr dplyr pins rscontract uuid]; };
   conover_test = derive2 { name="conover.test"; version="1.1.5"; sha256="0f1p10klidk1xic1wd48j9rjh2fb3z6pfjx4y021lglx1w3av68k"; depends=[]; };
   conquestr = derive2 { name="conquestr"; version="0.3.7"; sha256="13pkbgw0z2icpc2l16g1wy92bbhmrk3l0jfhvh0sa8zj5idw35z1"; depends=[]; };
   constants = derive2 { name="constants"; version="0.0.2"; sha256="1j9d52riwx7v1ppfdw0x517j7xh92qgskd4mj5yk9qa233brcwyy"; depends=[]; };
   constellation = derive2 { name="constellation"; version="0.2.0"; sha256="1d49rnyf2z3bvx158nsmgmb0x7xcgxl9f8y98pwg5wlqck7af99q"; depends=[data_table]; };
   constrainedKriging = derive2 { name="constrainedKriging"; version="0.2.4"; sha256="1a91s0b7yka37fb5pm172fmlqrhm6da370cqb9knvkg5n8vi4hys"; depends=[RandomFields rgeos sp spatialCovariance]; };
+  contact = derive2 { name="contact"; version="1.0.1"; sha256="16dqvfkdckd59yx48s3qv5iz1jn087v4m93yjzmmvv78agqdi1m2"; depends=[ape data_table geosphere igraph lubridate raster rgdal rgeos sf sp]; };
   container = derive2 { name="container"; version="0.3.0"; sha256="128fj97mx52kap299fmhn3whnaismsd4cq3zqpbfvwxx2ii4fd33"; depends=[R6]; };
   contextual = derive2 { name="contextual"; version="0.9.8.2"; sha256="03123mghmixy9v2c5lqg0df5ycxa09mir94rkjgs8lp62ncq170r"; depends=[data_table doParallel foreach Formula iterators itertools R_devices R6 rjson]; };
   contfrac = derive2 { name="contfrac"; version="1.1-12"; sha256="0sq5c7ny235yrkv2xc4insgxby6rvzc1qsj8h301cd2if3lwbgwm"; depends=[]; };
@@ -6206,6 +6315,7 @@ in with self; {
   cope = derive2 { name="cope"; version="0.2.3"; sha256="1r02nb6wy25ixhdcbqqz167s7ny3hydpxfxry5ar4136qvcamgyy"; depends=[abind fields maps MASS Matrix mvtnorm nlme]; };
   coppeCosenzaR = derive2 { name="coppeCosenzaR"; version="0.1.3"; sha256="1chwsfyaf5rmlsypr43n7px8b2220dfa5mzcriq1swylgbx4181l"; depends=[]; };
   coprimary = derive2 { name="coprimary"; version="1.0"; sha256="0pjln9p5lzv6wl5xrz0kb90hnjlnp7ch2kvh054nxdbmlxv5akc3"; depends=[digest gsDesign plyr proto]; };
+  cops = derive2 { name="cops"; version="1.0-2"; sha256="0ifp3cai490lw6dnyyjj4822x8g2mswhaamnw5ljwnxdbmjwhhrw"; depends=[cmaes cordillera crs dfoptim GenSA MASS minqa NlcOptim nloptr pso rgenoud rgl Rsolnp scatterplot3d smacof subplex]; };
   copula = derive2 { name="copula"; version="0.999-19.1"; sha256="0bk92fx71282dx0whwv4rsfchw7pm7axicrl3r6f3gm4rlldf68r"; depends=[ADGofTest colorspace gsl lattice Matrix mvtnorm numDeriv pcaPP pspline stabledist]; };
   copulaData = derive2 { name="copulaData"; version="0.0-1"; sha256="1s917g8wasxndg1xq4b4fjaq29nyzzigpflgqcy4rxdb7r54dl0z"; depends=[]; };
   copulaedas = derive2 { name="copulaedas"; version="1.4.3"; sha256="01wp8jnz7kndknj7lh9ia7mm41k1vbaksalyy9v19bb77yhgzmba"; depends=[copula mvtnorm truncnorm vines]; };
@@ -6215,20 +6325,20 @@ in with self; {
   corclass = derive2 { name="corclass"; version="0.1.1"; sha256="0ai8si992f58mrvc8hq598zbw9d4jslnc96lpzj5d89lljjv3hf5"; depends=[igraph]; };
   cord = derive2 { name="cord"; version="0.1.1"; sha256="18xj6cwmx1a7p3vqx5img8qf8s75nc6pcv78v15j081pgn786ma5"; depends=[Rcpp RcppArmadillo]; };
   cordillera = derive2 { name="cordillera"; version="0.8-0"; sha256="0cpysfivwmim36gcqn1i7450a33hv4pdbvil7syb0hr7vdm083dd"; depends=[dbscan yesno]; };
-  coreCT = derive2 { name="coreCT"; version="1.3.0"; sha256="0q10w57d5r2v8xxv7rv3xppmlci09zbwlrxjwlvargzzp6ilk8in"; depends=[igraph oro_dicom plyr raster]; };
+  coreCT = derive2 { name="coreCT"; version="1.3.2"; sha256="0xxcgd5qar9fwhyzs5g3fc45naca4xmcgmw88ygav02vv5y93w03"; depends=[igraph oro_dicom plyr raster]; };
   coreNLP = derive2 { name="coreNLP"; version="0.4-2"; sha256="0rvyqj7s3lijq4rzil65060b29m393m7zmg99mykp1g1kby5bjd8"; depends=[rJava XML]; };
   coreSim = derive2 { name="coreSim"; version="0.2.4"; sha256="1fhlss420rhs21l9i2ag5g3j0vnrkpqdh13ca4rwfan6h35qr3sm"; depends=[dplyr MASS]; };
   coreTDT = derive2 { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
   corehunter = derive2 { name="corehunter"; version="3.2.1"; sha256="0cxvhmi768kz3q8hydb6y9nqvc8hvkmq8nc5yfry4k94whk12wax"; depends=[naturalsort rJava]; };
   corkscrew = derive2 { name="corkscrew"; version="1.1"; sha256="1nb81r4lsrajcj3xz3f7p6xznnb38yg3rnnh44rd3kabca4d8r1s"; depends=[ggplot2 gplots igraph RColorBrewer]; };
   corlink = derive2 { name="corlink"; version="1.0.0"; sha256="06n9pcvbn8y9gy0mn9c0sw05424ss8smpaw3ly6a785cmj3d9b6m"; depends=[]; };
-  cornet = derive2 { name="cornet"; version="0.0.2"; sha256="0m611rq7m9ki57q8n5zwp5i0l95w6nrd6cwr03q3mxg58bnh01p3"; depends=[glmnet palasso]; };
+  cornet = derive2 { name="cornet"; version="0.0.3"; sha256="0f0fwyz2kp59xb4a7kxa66h0y9940fba56dlyncin5szr5nhfrpp"; depends=[glmnet palasso]; };
   coroICA = derive2 { name="coroICA"; version="1.0.1"; sha256="0hjy1sdii8kk859bj1xv3vh1hzxznhymhgdb583z57i0hqxnijiv"; depends=[MASS]; };
   corpcor = derive2 { name="corpcor"; version="1.6.9"; sha256="1hi3i9d3841snppq1ks5pd8cliq1b4rm4dpsczmfqvwksg8snkrf"; depends=[]; };
   corpora = derive2 { name="corpora"; version="0.5"; sha256="0b4yw37msx9h8hf5mjs4h10gdmc1qc2gv5bzyj1r90n4gcli042d"; depends=[]; };
-  corporaexplorer = derive2 { name="corporaexplorer"; version="0.6.2"; sha256="05dk3rb1ys3fifvscqwfgqabkbg9cxm9khd3nca7ffcwhmqbkh9g"; depends=[data_table dplyr forcats ggplot2 lubridate magrittr padr plyr RColorBrewer re2r rlang rmarkdown scales shiny shinycssloaders shinydashboard shinyjs shinyWidgets stringi stringr tibble tidyr zoo]; };
+  corporaexplorer = derive2 { name="corporaexplorer"; version="0.8.0"; sha256="0rn35wqi4bb90k440dk1sm862azx3pfgc2d6z489fdqq7xsjnk3a"; depends=[data_table dplyr forcats ggplot2 lubridate magrittr padr plyr RColorBrewer re2r rlang rmarkdown scales shiny shinycssloaders shinydashboard shinyjs shinyWidgets stringi stringr tibble tidyr zoo]; };
   corpus = derive2 { name="corpus"; version="0.10.0"; sha256="0c984rsnbai2qrm2s10lkdfgx31m0ax46zhl74bns2bxfmagcn3l"; depends=[utf8]; };
-  corpustools = derive2 { name="corpustools"; version="0.3.3"; sha256="1hgcwnjhqfyylvqcy2j5f2k6chwyybnx38vzzvq62s6qf6p9p7by"; depends=[data_table Matrix memoise plyr R6 Rcpp SnowballC stringi udpipe wordcloud]; };
+  corpustools = derive2 { name="corpustools"; version="0.4.1"; sha256="1zg7vx9j678zj4hmmi03pyf91y7dxx5297ks6gk00b3521z7hybh"; depends=[data_table digest Matrix R6 Rcpp RNewsflow SnowballC stringi tokenbrowser udpipe wordcloud]; };
   corr2D = derive2 { name="corr2D"; version="1.0.0"; sha256="12k6vbqyb33kfj2xdg8rbydnp2yk15kv4b0m4lid4gf2lqmy3jwz"; depends=[colorspace doParallel fields foreach mmand profr rgl xtable]; };
   corrDNA = derive2 { name="corrDNA"; version="1.0.1"; sha256="1mfjrzpcb63ydyj1yxa0wd3vh4z0rdwsqv09w0a0l4l7mhb5jz2k"; depends=[mvtnorm]; };
   corrcoverage = derive2 { name="corrcoverage"; version="1.1.0"; sha256="194fb6j8pngqwnsndjld8709hj1637mswbx7ck6m3334f196af59"; depends=[magrittr matrixStats Rcpp]; };
@@ -6241,6 +6351,8 @@ in with self; {
   corrr = derive2 { name="corrr"; version="0.4.0"; sha256="0zjqkgsnwgcyi8hdskr7in0liqhpj9qml96agawzj11iy0bf6387"; depends=[dplyr ggplot2 ggrepel purrr rlang seriation tibble]; };
   corrsieve = derive2 { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
   corset = derive2 { name="corset"; version="0.1-4"; sha256="0ladyqvkys4cldvbhkii9jwn1k5p1ym2g5bgdlz1hq1sv30ixn2f"; depends=[]; };
+  corto = derive2 { name="corto"; version="0.99.10"; sha256="0ss28d0fi30waywgz47j7vxqqxxgiixk4qandlvaxjyik3yy0n4g"; depends=[dplyr knitr pbapply rmarkdown]; };
+  corx = derive2 { name="corx"; version="1.0.2"; sha256="1k9k1w5i5yky6c9jn5s80rf0r5r6qn7w0xwamjbankp2i4ryna5z"; depends=[clipr crayon ggcorrplot glue moments ppcor psych tidyselect]; };
   cosa = derive2 { name="cosa"; version="2.0.0"; sha256="1ra1m75ay829xlhjax82px4ffflnfgh2mrmzzj4i8ml545d9hmgr"; depends=[msm nloptr]; };
   cosinor = derive2 { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
   cosinor2 = derive2 { name="cosinor2"; version="0.2.1"; sha256="1pp0z86fflqkkllfrzx3vj98kzxjwnawr4a2d8z5q6zhq6v5qrvf"; depends=[cosinor cowplot ggplot2 Hmisc magrittr matrixStats purrr scales stringr]; };
@@ -6249,7 +6361,7 @@ in with self; {
   costat = derive2 { name="costat"; version="2.4"; sha256="0c47bklqjgjmdglw3mi9lvygwjr5w6i1zv91ll3vpnl5dnay0692"; depends=[wavethresh]; };
   costsensitive = derive2 { name="costsensitive"; version="0.1.2.10"; sha256="192q55123yzcjjh4047ppxa3h7gk9afqnvm1nlhzs4ccqz71g411"; depends=[]; };
   cotram = derive2 { name="cotram"; version="0.1-1"; sha256="0rjwx94gpdndpwagy2wdjdvr5b8n8qrjv9yjyxph9xw533paiz49"; depends=[basefun mlt tram variables]; };
-  cotrend = derive2 { name="cotrend"; version="1.0.1"; sha256="14yzfq5a3wi26gn45mp2zm2yn6gic90csk9by66m08fgpzznz4dq"; depends=[xts]; };
+  cotrend = derive2 { name="cotrend"; version="1.0.2"; sha256="17h67vnpnlv11bf3ka5mlnah9bizxjhvicsvbygy91dqbhjhj9wb"; depends=[xts]; };
   couchDB = derive2 { name="couchDB"; version="1.4.1"; sha256="1n99amvnsjp88y091603hjsvp243c5i6dbrsvdjfmzgj5dsrv70m"; depends=[bitops httr RCurl rjson]; };
   countHMM = derive2 { name="countHMM"; version="0.1.0"; sha256="12z0nz7in2msb5wa5yyjxx19ih8psw06m7xwlapvjksslippp6gs"; depends=[]; };
   countToFPKM = derive2 { name="countToFPKM"; version="1.0"; sha256="0h89knii8zkbq0lw7yn3qzak30s7bifq53ga4vy6za6hqwc53x2j"; depends=[circlize ComplexHeatmap]; };
@@ -6265,12 +6377,12 @@ in with self; {
   covLCA = derive2 { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; };
   covRobust = derive2 { name="covRobust"; version="1.1-3"; sha256="0zcfala4l0j4w0sx5hlw40vxiypans3d7pgkxy25nj0d2m1jkvba"; depends=[]; };
   covTestR = derive2 { name="covTestR"; version="0.1.4"; sha256="0j9kay8lwkhpdyg0fbfars1m58v0i58v1v5sm7m72s7kz8qh2yfs"; depends=[purrr Rcpp RcppArmadillo rlang]; };
-  covafillr = derive2 { name="covafillr"; version="0.4.3"; sha256="0mqq4hm3nhzrvdai9blb0ycgm6j5klfd8y4ib5pl99plffs6r7pl"; depends=[RcppEigen]; };
+  covafillr = derive2 { name="covafillr"; version="0.4.4"; sha256="1vsay0qlqcw3l6xp18rxrkhwsadsv9rpxwpj9f4d3vlr8inkiv4h"; depends=[Rcpp RcppEigen]; };
   covatest = derive2 { name="covatest"; version="1.1.1"; sha256="0fnm3ljk4my3xinv0qswi57l51z0j6cva7by00p8f5992hhk3sn9"; depends=[gstat lubridate matrixcalc sp spacetime zoo]; };
-  coveffectsplot = derive2 { name="coveffectsplot"; version="0.0.3"; sha256="0d6s7kk38px3y8132493kksa45krmjmqc3w0c3zid4r1x35h73la"; depends=[colourpicker dplyr egg ggplot2 ggstance markdown shiny shinyjs tidyr]; };
+  coveffectsplot = derive2 { name="coveffectsplot"; version="0.0.4"; sha256="0lx42f86w5z7i0p2z5kwrm8rbcm4vriaagfhpixc8n7aq6mkb7bl"; depends=[colourpicker dplyr egg ggplot2 ggstance markdown shiny shinyjs tidyr]; };
   covequal = derive2 { name="covequal"; version="0.1.0"; sha256="1qj6djqf1rnjmnaz1nryj9dc104082w258dzjjp5q18gg1ck8v0c"; depends=[corpcor RMTstat]; };
   covfefe = derive2 { name="covfefe"; version="0.1.0"; sha256="178qc77y4bn04qad3g70wr8y4v0ggyg807w67m8wvhbcxqr8yq7c"; depends=[tokenizers]; };
-  covr = derive2 { name="covr"; version="3.3.1"; sha256="0fvd7v53w11x6kaw61hbml8n1j2ck9l2fv2wvqdsg689xic9rqcs"; depends=[crayon digest httr jsonlite rex withr yaml]; };
+  covr = derive2 { name="covr"; version="3.4.0"; sha256="0p44kr6yz5sqza5zvq6divqglzkpv0if9pjpjmzhmdaaddjrqzg5"; depends=[crayon digest httr jsonlite rex withr yaml]; };
   covreg = derive2 { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
   covsep = derive2 { name="covsep"; version="1.1.0"; sha256="19dvwhl85yx9ddwxvnq5sdd534s6llcw61gckrav48hq49x1bqld"; depends=[mvtnorm]; };
   cowbell = derive2 { name="cowbell"; version="0.1.0"; sha256="1zz0g30zvqfk5lh09y90iq3s7x2wwbs852i3d56mfp926gxdxc2y"; depends=[ggplot2 misc3d rgl]; };
@@ -6279,7 +6391,7 @@ in with self; {
   coxed = derive2 { name="coxed"; version="0.3.0"; sha256="01fwkw6ba8zj09a7mzm7rja188rapd6knwjq247pm4panqih8m5l"; depends=[dplyr ggplot2 gridExtra mgcv PermAlgo rms survival tidyr]; };
   coxinterval = derive2 { name="coxinterval"; version="1.2"; sha256="0vb7vmzbb2dsihx04jbp2yvzcr033g435mywmwimqhfqdrmjx3fi"; depends=[Matrix survival timereg]; };
   coxme = derive2 { name="coxme"; version="2.2-14"; sha256="0pcmf44c3v1hvr8031lwgib58j6la5hsphsbc57mcgz09ppw30zg"; depends=[bdsmatrix Matrix nlme survival]; };
-  coxmeg = derive2 { name="coxmeg"; version="1.0.7"; sha256="0mgjipbaa8qm23gyndi4x1pllzrkvfs5lnlifk6mya5vgkxxzm3g"; depends=[coxme knitcitations MASS Matrix matrixcalc nloptr rARPACK Rcpp RcppEigen SNPRelate]; };
+  coxmeg = derive2 { name="coxmeg"; version="1.0.9"; sha256="19p2j6i34jg6akfyr6hv2xmashpsvf8y5bbql6a62b3f5yz5639v"; depends=[coxme MASS Matrix matrixcalc microbenchmark nloptr rARPACK Rcpp RcppEigen SNPRelate]; };
   coxphMIC = derive2 { name="coxphMIC"; version="0.1.0"; sha256="0lmma5wzcczr762xqa4yamvwvyviqxk8gdrps3sydg3n14hckp6d"; depends=[numDeriv survival]; };
   coxphSGD = derive2 { name="coxphSGD"; version="0.2.1"; sha256="17ga33v7a89dsygk5yypkz03x7dvjhibnwlvwfvgb2p7djd8w465"; depends=[survival]; };
   coxphf = derive2 { name="coxphf"; version="1.13"; sha256="16bman8xv5xx7gg8s54sj3hc4isqxk4h3q93h4q3h3j0bdvww2yy"; depends=[survival]; };
@@ -6304,6 +6416,7 @@ in with self; {
   cpt = derive2 { name="cpt"; version="1.0.2"; sha256="0j9ns8qhcvwxnzl9rc59vmh5jdahnni5dxpmi38gxvvj5k9hd8p7"; depends=[glmnet MASS nnet randomForest]; };
   cptcity = derive2 { name="cptcity"; version="1.0.4"; sha256="1agknys80m16xq0x285sdf1452a6dmghysrhy7s6zfcb59acb1nf"; depends=[]; };
   cptec = derive2 { name="cptec"; version="0.1.0"; sha256="1sh6vs9qfxxlhlg6y2qchikjg8sh64zg3j8x5b9dpba9lhbhzzqj"; depends=[magrittr rvest xml2]; };
+  cqcr = derive2 { name="cqcr"; version="0.1.2"; sha256="11bcqr4bw11vjqdgddpfjb4dsk0dxdasddkp1g310l71vw7zaryg"; depends=[anytime dplyr httr jsonlite purrr rlang snakecase]; };
   cqrReg = derive2 { name="cqrReg"; version="1.2"; sha256="1sn8pkbqb058lbysdf2y1s734351a91kwbanplyzv3makbbdm4ca"; depends=[quantreg Rcpp RcppArmadillo]; };
   cquad = derive2 { name="cquad"; version="2.1"; sha256="1cq57qd33cbzhgnnw4fk36xch0prwr9a404sxi7b4ijwgzw84d0h"; depends=[MASS plm]; };
   cr17 = derive2 { name="cr17"; version="0.1.0"; sha256="1zyq77gxycbwyqhv5w0zw4n7v3ipjs6rcbja43g0k5q8h0gjnnn1"; depends=[cmprsk dplyr ggplot2 gridExtra gtable scales survival]; };
@@ -6311,7 +6424,7 @@ in with self; {
   crank = derive2 { name="crank"; version="1.1-2"; sha256="0wwbdh5sfi2bg13nrlkxxij4k053kjx9afm4gjpgs6iir6pml711"; depends=[]; };
   cranlike = derive2 { name="cranlike"; version="1.0.2"; sha256="06xgxgwpmfrwmcd0gnr9prjjbhd1y0ky1zb8yh09v0bvsf6ixnyx"; depends=[DBI debugme desc RSQLite]; };
   cranlogs = derive2 { name="cranlogs"; version="2.1.1"; sha256="02d9qrqyjj33naq3g7ykaw9dzzl1dq8qf13id6h7kfx1fvx9b7zd"; depends=[httr jsonlite]; };
-  cranly = derive2 { name="cranly"; version="0.5.3"; sha256="15ngklyqjp0yxz42ijhfpvraxd549fidj1k4b1s1v3iilwvsd7q4"; depends=[colorspace countrycode ggplot2 igraph magrittr stringr tm visNetwork wordcloud]; };
+  cranly = derive2 { name="cranly"; version="0.5.4"; sha256="02g3r8y3yj6pajjzzf7akgpjgg6vnv3mp9pqpqcfrrckvmvysm35"; depends=[colorspace countrycode ggplot2 igraph magrittr stringr tm visNetwork wordcloud]; };
   crantastic = derive2 { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
   crassmat = derive2 { name="crassmat"; version="0.0.6"; sha256="1c4ii34vh8y5b3z2maby4cafb3n2m9bnxv3762cy0z12mbg7zk1s"; depends=[svMisc]; };
   crawl = derive2 { name="crawl"; version="2.2.1"; sha256="18mr7vp72jj5msj9mbq45jy3f6qhn45azsmkq07i2d30gwdj0c3a"; depends=[dplyr gdistance lubridate magrittr mvtnorm purrr raster Rcpp RcppArmadillo rmapshaper sf shiny sp tibble]; };
@@ -6319,7 +6432,7 @@ in with self; {
   crblocks = derive2 { name="crblocks"; version="1.0-0"; sha256="0y101kgi7ryjv18fyjp0ralp4qj7kgshmbd4mf7n3hdjay0znss5"; depends=[]; };
   crch = derive2 { name="crch"; version="1.0-4"; sha256="18qjvh1lkw1f6rrhnb21f30xxrcq8whbs3x1jgkw6q14rf1483ri"; depends=[Formula ordinal sandwich scoringRules]; };
   credentials = derive2 { name="credentials"; version="1.1"; sha256="0izwskymymkxdwsdj7zapqpkc6g37c0m6c2na0y00s1kwr73d2qd"; depends=[askpass curl jsonlite openssl sys]; };
-  creditmodel = derive2 { name="creditmodel"; version="1.1.4"; sha256="1vk7y3xc3wjaq7yba2pa4llb3zqrqxgy0b0wa3qc50ncg61n7r2m"; depends=[cli data_table doParallel dplyr foreach gbm ggplot2 glmnet pdp randomForest rpart xgboost]; };
+  creditmodel = derive2 { name="creditmodel"; version="1.1.6"; sha256="185pwcs50ssn24lm63waaq8pbyran11q848wwd9pphlminfw9wy4"; depends=[cli data_table doParallel dplyr foreach ggplot2 glmnet rpart xgboost]; };
   credsubs = derive2 { name="credsubs"; version="1.0.1"; sha256="0n3684fxknvvs57g2vjqykgdjfbpl6242nd23sm9nv2fn57q8k2c"; depends=[]; };
   credule = derive2 { name="credule"; version="0.1.3"; sha256="1vciqkxkf93z067plipvhbks9k9sfqink5rhifzbnwc2c5gxp5mx"; depends=[]; };
   cregg = derive2 { name="cregg"; version="0.3.0"; sha256="08dhn4i5i27zw3ayqp7lkw5z8dzckv8fhflpvz0mphax34pm3z72"; depends=[ggplot2 ggstance lmtest sandwich scales survey]; };
@@ -6345,7 +6458,7 @@ in with self; {
   crossrun = derive2 { name="crossrun"; version="0.1.0"; sha256="0br57nraqhs5f1cpidc8kd31izm82wvhiw9pxcdj9v51l9vifbmx"; depends=[Rmpfr]; };
   crosstalk = derive2 { name="crosstalk"; version="1.0.0"; sha256="0lfa89vhrzi7a1rghmygcjr8gzddw35sinb3jx6g49mc9jias7mk"; depends=[ggplot2 htmltools jsonlite lazyeval R6 shiny]; };
   crossval = derive2 { name="crossval"; version="1.0.3"; sha256="0acpcisg6pkxblyc4j9hiri58h1rn7ay43p5ib5ia8a4a8bnfa4p"; depends=[]; };
-  crosswalkr = derive2 { name="crosswalkr"; version="0.2.4"; sha256="1jn2l3b1ghb6rplj79n5p1wj044fl77v2r72vq5lcd6qxgfzv0rr"; depends=[dplyr haven labelled readr readxl tibble]; };
+  crosswalkr = derive2 { name="crosswalkr"; version="0.2.5"; sha256="1bzfcvyknbds64f31d8azl2s0spsrja9abmk5lnyvwr1v76hggwb"; depends=[haven labelled readr readxl tibble]; };
   crossword_r = derive2 { name="crossword.r"; version="0.3.6"; sha256="1s31613s4qxxspka9bhgq3rq8xraf48mwfv6phvz6v06gijh64lr"; depends=[dplyr jsonlite magrittr R6 r6extended stringr]; };
   crov = derive2 { name="crov"; version="0.1.3"; sha256="0gvrki9ldm3yrnp6zx2awqg4p3pqjzv1088gn3nbg00j0i3s9m5h"; depends=[gtools VGAM]; };
   crp_CSFP = derive2 { name="crp.CSFP"; version="2.0.2"; sha256="0gazmhf5bv994x441m2xm0w18h9lw3y68qzdf6gmyqimj4wjqjgf"; depends=[MASS]; };
@@ -6354,18 +6467,18 @@ in with self; {
   crrSC = derive2 { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
   crrp = derive2 { name="crrp"; version="1.0"; sha256="1fq54jr6avrli91a4z1hp5img4kghyw1yvjr5xyccsanf9i35x8r"; depends=[cmprsk Matrix survival]; };
   crrstep = derive2 { name="crrstep"; version="2015-2.1"; sha256="03vd97prws9gxc7iv3jfzffvlrzhjh0g6kyvclrf87gdnwifyn1z"; depends=[cmprsk]; };
-  crs = derive2 { name="crs"; version="0.15-31"; sha256="0h8hhxnyy8lf7jpnvriaa5dn3zgp1yqhfrnc5rpjlzsx2lnyyv9r"; depends=[boot np quantreg rgl]; };
+  crs = derive2 { name="crs"; version="0.15-31.1"; sha256="1p16nnxskjf3fdrdm5y1n5zj0acyrmc73ff75rgry1b1fd4yk61x"; depends=[boot np quantreg rgl]; };
   crseEventStudy = derive2 { name="crseEventStudy"; version="1.2"; sha256="1fgjj78p54fk0bkvx0fq1h7c5j4c64g10cdjzmmqhhxlyjwp5z7y"; depends=[sandwich]; };
   crskdiag = derive2 { name="crskdiag"; version="1.0.1"; sha256="0100wbyvchx6jwlrwc6rwhdjanips5c0f5zqzs2c0dgwygpqw30w"; depends=[cmprsk]; };
   crsnls = derive2 { name="crsnls"; version="0.2"; sha256="0rv0xrdl9ix6bhaf554gma8zf923w47f8j1dkbs8g6xjqjr1c40a"; depends=[]; };
   crso = derive2 { name="crso"; version="0.1.1"; sha256="1r10vz8z5y52a5v5phw22fhqwv9p7g66xfsx0906bcx74dn3f2b3"; depends=[foreach]; };
   crsra = derive2 { name="crsra"; version="0.2.3"; sha256="1rkqm88zmvp9gw442cby6qpvfw4pfw65wz0gyl2h37w87c3wwvrw"; depends=[digest dplyr knitr purrr rcorpora readr tibble tidytext]; };
   crtests = derive2 { name="crtests"; version="0.2.1"; sha256="0z8idz37dgwvi1q2vryldii7fn9yxd32gds77ml76jfplxbkikpd"; depends=[caret plyr stringr]; };
-  crul = derive2 { name="crul"; version="0.8.4"; sha256="12scs09qk9d7jrgs4fn98v4bvjdmphd5nqamb5d2wh387fnm1nfv"; depends=[curl httpcode jsonlite mime R6 urltools]; };
+  crul = derive2 { name="crul"; version="0.9.0"; sha256="1h1iyp625x2fx22dai9y0pmg64q65p9iiilkkd0qlr1ir9ljrd57"; depends=[curl httpcode jsonlite mime R6 urltools]; };
   crunch = derive2 { name="crunch"; version="1.26.1"; sha256="01ajcvn31nb8cdmqmalmxvp1pvh7nmd9fyg2fc1zm7yy3a2klp9l"; depends=[crayon curl httpcache httr jsonlite]; };
   crunchy = derive2 { name="crunchy"; version="0.3.1"; sha256="1qvwzym2hj61zjlm7j34j8jl5kfpkpx35xfjjyl5y35a5y50sz8g"; depends=[crunch httpcache miniUI rstudioapi shiny]; };
   cruts = derive2 { name="cruts"; version="0.5"; sha256="08mklbmwgaq6cf3hd40mingplwjss5im30l5j6nmy7lijp15nq7k"; depends=[lubridate ncdf4 raster sp stringr]; };
-  crypto = derive2 { name="crypto"; version="1.1.1"; sha256="1kcldvl1rm363ah46hna6lcv8fkc48gp4d1vm24iig8fmi5rxa4x"; depends=[cli crayon curl dplyr httr jsonlite lubridate progress rstudioapi rvest tibble tidyr xml2 xts]; };
+  crypto = derive2 { name="crypto"; version="1.1.2"; sha256="03cq0yg6110a4qfh0hzq7n6bclddkz1vbqjcjwn7v219nqamyrvm"; depends=[cli crayon curl dplyr httr jsonlite lubridate progress rstudioapi rvest tibble tidyr xml2 xts]; };
   cryst = derive2 { name="cryst"; version="0.1.0"; sha256="04da19dy3mkngd3ma44cd8cdkb5acjy9lbhfipa9flp339j1pp57"; depends=[flux pracma]; };
   csSAM = derive2 { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
   csabounds = derive2 { name="csabounds"; version="1.0.0"; sha256="15l7i15w5jk4h3148dlk8v2i4awns5vxvv6m59qcv0hzns6jhx9j"; depends=[BMisc ggplot2 pbapply progress qte]; };
@@ -6384,13 +6497,10 @@ in with self; {
   ctl = derive2 { name="ctl"; version="1.0.0-2"; sha256="1gpb43zn411l476dby2g38qkcvh2fsdcvbkr9jb274l1154km1xm"; depends=[MASS qtl]; };
   ctmcd = derive2 { name="ctmcd"; version="1.4.1"; sha256="01nflgdyb70kh4f8bnxpavr31fz4fh02kgz2nlx3zzblnm2idbcx"; depends=[coda expm numDeriv Rcpp RcppArmadillo]; };
   ctmcmove = derive2 { name="ctmcmove"; version="1.2.9"; sha256="1pxyxbbhfa8arqfb7qw10ya1b8hy9ylqbqqzys6d9dsixvdk98h0"; depends=[fda gdistance Matrix raster sp]; };
-  ctmle = derive2 { name="ctmle"; version="0.1.1"; sha256="1k9nr2xbaqrbpp31vdcnmpwyazcw79k0r3gbcbinva4pgv2psp29"; depends=[glmnet SuperLearner tmle]; };
-  ctmm = derive2 { name="ctmm"; version="0.5.6"; sha256="04jpmjlpnh8zmk6l14sll945s5bjgkcwnj11yq5297nbggl4wmsx"; depends=[data_table expm fasttime Gmedian gsl manipulate MASS numDeriv pbivnorm pracma raster rgdal shape]; };
+  ctmm = derive2 { name="ctmm"; version="0.5.7"; sha256="02i9k42raxy8ry1c4ydh96hfn1wvjp09yqppvlbhxbi56z9xj5ln"; depends=[data_table expm fasttime Gmedian gsl manipulate MASS numDeriv pbivnorm pracma raster rgdal shape sp]; };
   ctqr = derive2 { name="ctqr"; version="1.0"; sha256="1q4icv8qicgwr664cbrmkh2x9xmlrc80yvz8gnaqh86248kn4yp3"; depends=[pch survival]; };
-  ctrdata = derive2 { name="ctrdata"; version="0.18.2"; sha256="1nnqfg7x6wq5lzb4xxb52fb8ljxgnbwswfywv1d4ibcn7m5y0947"; depends=[clipr curl httr jsonlite mongolite rvest xml2]; };
   ctrlGene = derive2 { name="ctrlGene"; version="1.0.1"; sha256="0x7j11v7jj4k1jml6lrnjq79awhrvsm3pig1yxsd337jlfml3ra9"; depends=[psych]; };
-  cts = derive2 { name="cts"; version="1.0-22"; sha256="0kcbppfsx1hvnsz6nmj8frrqrglcr6cmasd1ma34qkqb9f6q0xry"; depends=[]; };
-  ctsem = derive2 { name="ctsem"; version="3.0.4"; sha256="0q21xf7f1njjdlvvwbp1nls18phrhdi67s2xwb2qhj078qra7zwb"; depends=[BH cOde data_table Deriv ggplot2 MASS Matrix mize mvtnorm OpenMx pkgbuild plyr Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  ctsem = derive2 { name="ctsem"; version="3.0.8"; sha256="1wwv4abnjxsp62yz09l1jpkzxk41cb0g651lx849hmw8j12z03an"; depends=[BH cOde data_table Deriv ggplot2 MASS Matrix mize mvtnorm OpenMx pkgbuild plyr quantreg Rcpp RcppEigen rstan rstantools StanHeaders]; };
   ctv = derive2 { name="ctv"; version="0.8-5"; sha256="0kl6z8dbbjgm29q0c5xy6lihjgf5cdihrllm27x0zbcvy8lyl51p"; depends=[]; };
   cubature = derive2 { name="cubature"; version="2.0.3"; sha256="0wvs80i4axj7pdcy9gjl08qzjbcjkldha94xy4gdxc34vgmh7gvr"; depends=[Rcpp]; };
   cubeview = derive2 { name="cubeview"; version="0.2.0"; sha256="1352hi2j9x9rx4iy3xvsca86nsh39x1vnymd17f5qc8c3plfm8db"; depends=[base64enc htmltools htmlwidgets lattice raster stars viridisLite]; };
@@ -6400,7 +6510,8 @@ in with self; {
   cumSeg = derive2 { name="cumSeg"; version="1.2"; sha256="0ix8g3w04n799pppyhyd365bdx9cwrgn7k7qljs1fdiq8s135wzk"; depends=[lars]; };
   cumplyr = derive2 { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
   cumstats = derive2 { name="cumstats"; version="1.0"; sha256="119w751z9dg6pjyk389pbl8ab8pirf9sqndi4nxi89ix2bby4xz8"; depends=[]; };
-  curl = derive2 { name="curl"; version="4.2"; sha256="0xh227gvb056wlipjxxbf555z1i1qcs7rr1igvs6k6645y9irrlp"; depends=[]; };
+  cumulocityr = derive2 { name="cumulocityr"; version="0.1.0"; sha256="0ybvh5args3s1f3nra58bnfwgrlrdpw40by68az84s90v88bbz2q"; depends=[httr jsonlite]; };
+  curl = derive2 { name="curl"; version="4.3"; sha256="1nrf6md41b37j424y6rvifdj9zb3j14f60fj7q71k9jhpf2x81kl"; depends=[]; };
   currentSurvival = derive2 { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[cmprsk survival]; };
   curry = derive2 { name="curry"; version="0.1.1"; sha256="1ps9hvbnb02m0b8hlw4admwbziyjvswj08ldi2dk3ymnrpawcc29"; depends=[]; };
   cursory = derive2 { name="cursory"; version="1.0.0"; sha256="0jyfp0i43fxh91n4s8r54hnzmq1y037176c8bv2q3fqjm1adibxy"; depends=[dplyr pkgcond purrr rlang tibble tidymargins tidyr tidyselect]; };
@@ -6423,16 +6534,18 @@ in with self; {
   cvcqv = derive2 { name="cvcqv"; version="1.0.0"; sha256="0327r4jw6m4avcz1zvdkxszqwaw2s9sh1i1jagl6aggd7aaiiyg0"; depends=[boot dplyr MBESS R6 SciViews]; };
   cvcrand = derive2 { name="cvcrand"; version="0.0.4"; sha256="1150vn753m95gpc1clyf4xzzgwmnzdh83prw8a3ikps0l6grvrps"; depends=[tableone]; };
   cvequality = derive2 { name="cvequality"; version="0.2.0"; sha256="1im839vzfqylphp2vr20avnzkyl02n88fngbs63d4ik7c72d9992"; depends=[]; };
+  cvmdisc = derive2 { name="cvmdisc"; version="0.1.0"; sha256="19b9kxqgbk1d631l3jph87pzhk4zf3xd5q5j2xsrbqz8zmm96sn9"; depends=[CompQuadForm]; };
   cvmgof = derive2 { name="cvmgof"; version="1.0.0"; sha256="0rnd7icqjprhbpmn383ah4fi5nz0hmg88fa612fmivkvnpn79v6j"; depends=[lattice]; };
-  cvms = derive2 { name="cvms"; version="0.3.1"; sha256="0916wzyh4rg3m2visnm8nc9qsab6rj4xvwyc3jqryciw2a10c59n"; depends=[broom caret data_table dplyr ggplot2 lifecycle lme4 mltools MuMIn plyr pROC purrr rlang stringr tibble tidyr]; };
+  cvms = derive2 { name="cvms"; version="0.3.2"; sha256="0k7v5m95dqanm8hb8j4jx4r4phxx8zrl9nagqampy2sgiwlld6wg"; depends=[broom caret data_table dplyr ggplot2 lifecycle lme4 mltools MuMIn plyr pROC purrr rlang stringr tibble tidyr]; };
   cvq2 = derive2 { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
   cvxbiclustr = derive2 { name="cvxbiclustr"; version="0.0.1"; sha256="00k75zy8v6qd5fg0h258i5z8ljjkfgkxz45cspysl1ap89d5n7df"; depends=[igraph Matrix]; };
   cvxclustr = derive2 { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[igraph Matrix]; };
+  cwbtools = derive2 { name="cwbtools"; version="0.1.0"; sha256="0wdg559y3bcrvw0f2gyhbkbvp8hc00qz1h3xnhb52qp9siq8r6pl"; depends=[curl data_table pbapply R6 RcppCWB stringi xml2]; };
   cwhmisc = derive2 { name="cwhmisc"; version="6.6"; sha256="1pf365g4f51cfrhlff9mqw2ddvkps0abax17zcn3vw1ba2djalnp"; depends=[lattice]; };
   cwm = derive2 { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
   cxhull = derive2 { name="cxhull"; version="0.2.0"; sha256="1m03ym83ghgmb0j14aihfj6divmnr13f5s9jwknicjsxz3p3divk"; depends=[]; };
   cxxfunplus = derive2 { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
-  cyanoFilter = derive2 { name="cyanoFilter"; version="0.1.1"; sha256="1fgmh9138zwajply3namh4wnq5z29w9khajf9hna7pg2p6ks8vby"; depends=[Biobase flowCore flowDensity RColorBrewer Rdpack stringr]; };
+  cyanoFilter = derive2 { name="cyanoFilter"; version="0.1.2"; sha256="0nf76pwmgz9qp297dgp9qql4r8y468sa0mcy423hq13yp1swgx6w"; depends=[Biobase flowCore flowDensity RColorBrewer Rdpack stringr]; };
   cycleRtools = derive2 { name="cycleRtools"; version="1.1.1"; sha256="1l7w2lm4s149ndd85v41pkdrdig6l3nmhl14bdx56aw8q57fxmb0"; depends=[Rcpp xml2]; };
   cyclestreets = derive2 { name="cyclestreets"; version="0.1.5"; sha256="1wvg43wrnh0lz2pkkrbidzdsrkypdl2r4ccs9jhdsj8ixm158dvf"; depends=[httr jsonlite magrittr sf stringr]; };
   cyclocomp = derive2 { name="cyclocomp"; version="1.1.0"; sha256="0gky3svk02wiajw7nfjh30684h3qxili4bvsab0m7b6cggw6bgyd"; depends=[callr crayon desc remotes withr]; };
@@ -6453,13 +6566,13 @@ in with self; {
   dCovTS = derive2 { name="dCovTS"; version="1.1"; sha256="1pd50nfmfcqpi8zj20ngl0hc23qa4rabqhc1xci3ivyhs0valhsl"; depends=[doParallel energy foreach]; };
   dGAselID = derive2 { name="dGAselID"; version="1.2"; sha256="0da7fi872i3ycb3j5v4isr4x2z39a68w4mdq859zslmqhiqd43b6"; depends=[ALL Biobase genefilter MLInterfaces]; };
   dHSIC = derive2 { name="dHSIC"; version="2.1"; sha256="1c1xz1f1fp937w4rlylvqv3ii0p9dafvmn4fqq8rzxhcg5rn9j4l"; depends=[Rcpp]; };
-  dLagM = derive2 { name="dLagM"; version="1.0.17"; sha256="01jm0y4br86iznlr8mpvvfwz12rqipwyy3adlic97mr401845bqq"; depends=[AER dynlm formula_tools lmtest MASS nardl plyr roll strucchange wavethresh]; };
+  dLagM = derive2 { name="dLagM"; version="1.0.19"; sha256="0bvzyv6hbs9n21gz2s24gmpzyxak6630j7dc9d6bzis1s2v08rda"; depends=[AER dynlm formula_tools lmtest MASS nardl plyr roll strucchange wavethresh]; };
   dMod = derive2 { name="dMod"; version="1.0.0"; sha256="1mj2a9hpfldxbsiggi27nz3w0klp7qwpplpwh4bi9ik25vll25a0"; depends=[cOde deSolve doParallel dplyr foreach ggplot2 plyr rootSolve stringr]; };
   dSVA = derive2 { name="dSVA"; version="1.0"; sha256="0vy0flyg82x0n9vw6jf9f76qy84sp0wnis91faj37ac5hdv3pvsb"; depends=[sva]; };
   daarem = derive2 { name="daarem"; version="0.4"; sha256="00gcy23yzwsfxvys7hncgshma73df0wzwnxgwvccppn3z213sg50"; depends=[]; };
   dabestr = derive2 { name="dabestr"; version="0.2.2"; sha256="10vzp28bx4vf9jc3l9jjw94wir75j8h60lcncafbdwvxjh5alpfs"; depends=[boot cowplot dplyr ellipsis forcats ggbeeswarm ggforce ggplot2 magrittr rlang simpleboot stringr tibble tidyr]; };
   dad = derive2 { name="dad"; version="3.3.0"; sha256="1154jk4j1h5wr3c68pj0slh90jxccia28wpmygn9mz0mlvx9km9l"; depends=[DescTools e1071 lattice]; };
-  dae = derive2 { name="dae"; version="3.0-32"; sha256="0syv6kjnicb0x7sxbaavxhiv9mcqvc2zzbf4wyar933q3hzrxnrd"; depends=[ggplot2 plyr]; };
+  dae = derive2 { name="dae"; version="3.1-16"; sha256="089c19h5msq6j1hs2791x385g6nxgvhr89gxrgdybvwb8z2bbdwq"; depends=[ggplot2 plyr]; };
   daewr = derive2 { name="daewr"; version="1.1-7"; sha256="01n9g3adjk66wx9lm9gl6wa3y9ba5w0w0p5ayj8rx5ywxnm8fnvi"; depends=[BsMD FrF2 lattice]; };
   daff = derive2 { name="daff"; version="0.3.5"; sha256="00zcdf215m7p3xm9yv571v09znhdqacxg69hb5b5j749mp4wdsyj"; depends=[jsonlite V8]; };
   dafs = derive2 { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; };
@@ -6469,7 +6582,7 @@ in with self; {
   dam = derive2 { name="dam"; version="0.0.1"; sha256="1b0fi3l8jxgpr9fwvi03giq7wm39msbh0c82ffgkh54a3bbf5blc"; depends=[]; };
   damr = derive2 { name="damr"; version="0.3.4"; sha256="19rffdrgx9c03f66qgj1gwp5vra89n3jrrb54i9xl2rxsf28ry3h"; depends=[behavr data_table readr]; };
   dams = derive2 { name="dams"; version="0.2"; sha256="0hf5s8i61r5q4h3s8dfmdl3vkj7v15ha59pjvpjqx3yihsgziqz9"; depends=[RCurl]; };
-  dang = derive2 { name="dang"; version="0.0.10"; sha256="1q4378wvn0fmvm3gqb0si9x5sq0dh6mkxzhxbh570npjhb15p272"; depends=[]; };
+  dang = derive2 { name="dang"; version="0.0.11"; sha256="14bxzbkrqzs0ic7n4rlaa429lwdgldlcx97h8l7ma6jh8c0fx3qr"; depends=[]; };
   dani = derive2 { name="dani"; version="0.1-0"; sha256="05npr3i49wn01rbcsr1pfbb0d5l8c0pz48q961v28s6kdxp0vwr3"; depends=[Epi]; };
   dapr = derive2 { name="dapr"; version="0.0.3"; sha256="136chxijyxrl5sbiggxf56zga26zqds647z1z2igwn5mdff1wxyb"; depends=[]; };
   darksky = derive2 { name="darksky"; version="1.3.0"; sha256="1740cw5qifgvqa0nafd6lmllxi32n1zm45zlify1yn3h1qdcszhb"; depends=[ggplot2 gridExtra gtable httr plyr]; };
@@ -6477,13 +6590,13 @@ in with self; {
   darts = derive2 { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; };
   dashboard = derive2 { name="dashboard"; version="0.1.0"; sha256="1znqwvz49r47lp6q48qaas0s63wclgybav82a247qvcavzns3kip"; depends=[Rook]; };
   dat = derive2 { name="dat"; version="0.4.0"; sha256="1nw16hsw9b4hpcl5rqrlw6yk9y2h1pd0ra1c7iz82sknkyd5afi6"; depends=[aoos data_table dplyr Formula magrittr progress tibble]; };
-  data_table = derive2 { name="data.table"; version="1.12.4"; sha256="0zdcbr4nixvl8ga4mp9pw1dfww35dzhzpb6ixajqasiri824m7i9"; depends=[]; };
-  data_tree = derive2 { name="data.tree"; version="0.7.8"; sha256="05svd1h70dn92imadw2djqqvchx30md74d4z6a00grkajj16cchb"; depends=[DiagrammeR R6 stringr]; };
+  data_table = derive2 { name="data.table"; version="1.12.6"; sha256="1kgbnm5gv7ax7qn8irpz7qsry2ci21axga8y7qpkidcqkxkkndn2"; depends=[]; };
+  data_tree = derive2 { name="data.tree"; version="0.7.11"; sha256="1mm27p3k2qw77wqrx05qs39nazcgpn0af0ahlps4gm62fs9pzddq"; depends=[R6 stringr]; };
   data_world = derive2 { name="data.world"; version="1.2.2"; sha256="1d9hh4965f2d0lwh2xxhnxzc948ailkjzdax3d3z9l8lakqfrx0h"; depends=[dwapi httr ini miniUI shiny stringi]; };
   dataCompareR = derive2 { name="dataCompareR"; version="0.1.2"; sha256="0n10dqnrlpwafxys68b3ly156235lhqby71qay0vb0r6bvl2g349"; depends=[dplyr knitr markdown stringi]; };
   dataMaid = derive2 { name="dataMaid"; version="1.3.2"; sha256="10c5b1xp1mca5h0vdqikfn549jf981xk7c2rcpq71rf0fng93qz6"; depends=[ggplot2 gridExtra haven htmltools magrittr pander robustbase stringi whoami]; };
   dataMeta = derive2 { name="dataMeta"; version="0.1.1"; sha256="13xxayqxbps07h0xr5b7sb7q30gy5zm7jzzaq4k20fskkjrzhzcm"; depends=[dplyr]; };
-  dataPreparation = derive2 { name="dataPreparation"; version="0.4.1"; sha256="0jxfvsx7wvsnhvlxb65a041pd3va7slryrblpbpj5xbnbdpyi4i7"; depends=[data_table lubridate Matrix progress stringr]; };
+  dataPreparation = derive2 { name="dataPreparation"; version="0.4.2"; sha256="12707zncdzsj05gw336g37qigbzq3iqmxx7agca32prx0mj39wdj"; depends=[data_table lubridate Matrix progress stringr]; };
   dataQualityR = derive2 { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; };
   dataRetrieval = derive2 { name="dataRetrieval"; version="2.7.5"; sha256="0aagj04x5792rp73h5lwvrx63nh739jn3cmhhrzchm9symq8x8mx"; depends=[curl httr jsonlite lubridate readr xml2]; };
   datacheck = derive2 { name="datacheck"; version="1.2.2"; sha256="1i3n5g1b6ix8gpn4c74s7ll1dbrllrzgpb1f3hk449d6p4kmisq6"; depends=[Hmisc shiny stringr]; };
@@ -6492,17 +6605,17 @@ in with self; {
   datadr = derive2 { name="datadr"; version="0.8.6.1"; sha256="1x8j34gj5c5arr1iqxfx8cs8hjapylvfjsnh4k6a34z65r83h93y"; depends=[codetools data_table digest dplyr hexbin magrittr]; };
   dataesgobr = derive2 { name="dataesgobr"; version="1.0.0"; sha256="10znkaq45m4bgiyjx4x8s6ilvxlry6h0z54pkg8jgmblrpfazmqb"; depends=[dplyr DT httr jsonlite readODS readr readxl shiny shinycssloaders shinyFiles shinyjs shinythemes stringi stringr yaml]; };
   dataframes2xls = derive2 { name="dataframes2xls"; version="0.4.7"; sha256="10krlv0l5w021z0qd7rj93pzfjjmcjlda4xz4vq470bxbjmn1bss"; depends=[]; };
-  datafsm = derive2 { name="datafsm"; version="0.2.2"; sha256="1q4vfvpvlp127lh6y2ls59gg8dg20syv0sqrwa7sfnml6ysb21q2"; depends=[caret GA Rcpp]; };
+  datafsm = derive2 { name="datafsm"; version="0.2.3"; sha256="18q6s8sz8bm2xlfvhj0x5sagpn363s3k21s428wd0bqzqlppwbmb"; depends=[caret GA Rcpp]; };
   datamap = derive2 { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
   datamaps = derive2 { name="datamaps"; version="0.0.3"; sha256="00pvns98miq56z3prbb5qg608d5ns9wbp0711x3mmqg0bld1xwmp"; depends=[htmlwidgets magrittr]; };
   datamart = derive2 { name="datamart"; version="0.5.2"; sha256="0c0l157fzkcp30ch4ymaalcx18zhz6sa5srr50w9izhbx3pmldxp"; depends=[base64 gsubfn markdown RCurl RJSONIO XML]; };
   dataonderivatives = derive2 { name="dataonderivatives"; version="0.3.1"; sha256="0q1zd1l7l0hmbs1bx469d706rmprjbz2f2dgcnfp9wxfgqpfxkz1"; depends=[assertthat httr lubridate readr tibble]; };
   dataone = derive2 { name="dataone"; version="2.1.2"; sha256="0rdn2jjqxkyf77xfbxy1zkdgrfhrcwd1dagidn0hynrldfj4r3iw"; depends=[base64enc datapack hash httr jsonlite parsedate plyr stringr uuid XML]; };
-  datapack = derive2 { name="datapack"; version="1.3.1"; sha256="0hzc68vgjvpm235zg8k2642c3jzh3ls9kp6lpz720y1b56q8k3n7"; depends=[digest hash redland uuid XML]; };
-  datapackage_r = derive2 { name="datapackage.r"; version="0.1.1"; sha256="1f5mm3cb2yz3dzxj26pp7w1rb8jccyj7zjl602d3mcfxc9d99643"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
+  datapack = derive2 { name="datapack"; version="1.3.2"; sha256="0v9m7fbzi1w5p3arb0ywl4yglyw87civc59ndqsdm8rp84gbvnbl"; depends=[digest hash redland uuid XML]; };
+  datapackage_r = derive2 { name="datapackage.r"; version="0.1.2"; sha256="0y4adfgdf2k04aaimxzj1fz50j6w6fqc8gvjls47nlqhi3dgmdav"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
   datapasta = derive2 { name="datapasta"; version="3.0.0"; sha256="022ci7iy683lh3fh13a4b3szzqp6j4fchil695bifhi0a34bnxyr"; depends=[clipr readr rstudioapi]; };
   datarium = derive2 { name="datarium"; version="0.1.0"; sha256="1v98yxsxhfqlalz5qy3x5axb7fy067vf3y0qg7ngixphmy9qybym"; depends=[]; };
-  datarobot = derive2 { name="datarobot"; version="2.14.2"; sha256="0vjka8sdn4ywxwwf6jwrsjp2c17gx7lz62cgqbp3l2ry7jx4acfd"; depends=[curl httr jsonlite yaml]; };
+  datarobot = derive2 { name="datarobot"; version="2.15.0"; sha256="1s3q83g8sjff7k0irv26kbnsd3h16hbw3qilqnvb9q824qza4psd"; depends=[curl httr jsonlite yaml]; };
   datasauRus = derive2 { name="datasauRus"; version="0.1.4"; sha256="1w1yhwwrmh95bklacz44wjwynxd8cj3z8b9zvsnzmk18m5a4k0fl"; depends=[]; };
   dataseries = derive2 { name="dataseries"; version="0.2.0"; sha256="11wc2p5m8qbdmkpbd21lpwl28a1dpab88c3gqyrhsn0298lpnip4"; depends=[]; };
   datasets_load = derive2 { name="datasets.load"; version="0.3.0"; sha256="13ywnqln831i5hlf1cpqcyc77blg99w8jvy8jic17z86fjxh4gim"; depends=[DT miniUI shiny]; };
@@ -6534,7 +6647,7 @@ in with self; {
   dbparser = derive2 { name="dbparser"; version="1.0.4"; sha256="0s69da7czznnmv2kgipss1cdklx5ijh0q5aa2lg2gx3an1rjbgp2"; depends=[DBI odbc purrr readr RMariaDB tibble tidyr XML]; };
   dbplot = derive2 { name="dbplot"; version="0.3.2"; sha256="0xw1zjvf1fa092kyryq2pk7dd4y60ka8yczaxk0f231mmsm1741p"; depends=[dplyr ggplot2 purrr rlang]; };
   dbplyr = derive2 { name="dbplyr"; version="1.4.2"; sha256="1q2dflr88s5a1amzfld3087q422vf70052qn84zyd8895kdg10xp"; depends=[assertthat DBI dplyr glue purrr R6 rlang tibble tidyselect]; };
-  dbscan = derive2 { name="dbscan"; version="1.1-4"; sha256="1ps5fyxsshk08jv1y9mapsa14pdk2y4nvf9q10n80lwl5idigy21"; depends=[Rcpp]; };
+  dbscan = derive2 { name="dbscan"; version="1.1-5"; sha256="1vh29nmmana2755zcy15i1mhj3amwc2r84cq9d71wqr7ygzynphk"; depends=[Rcpp]; };
   dbstats = derive2 { name="dbstats"; version="1.0.5"; sha256="0pr80mx8y87l96hhg0rp3ajxl7yx2f8qr0y1zrjkbzxavjmp9k34"; depends=[cluster pls]; };
   dbx = derive2 { name="dbx"; version="0.2.5"; sha256="1g1pm0zw667m0wdzndak1qzym527lcl6gmdfzi5b3rlinkk2y0s2"; depends=[DBI]; };
   dc3net = derive2 { name="dc3net"; version="1.2.0"; sha256="19ibsvbnq6y88vqvgkm31zrqwjhpml59d792bz0zkk50r1q5bnyr"; depends=[c3net igraph RedeR]; };
@@ -6547,7 +6660,7 @@ in with self; {
   dcmodify = derive2 { name="dcmodify"; version="0.1.2"; sha256="093rh3r3n0wjdpx861xiqd1zqd5v1v9rzxgcynz4awr7jbm5xszi"; depends=[settings validate yaml]; };
   dcurver = derive2 { name="dcurver"; version="0.9.1"; sha256="1cfy0j3rmi3laszrgd3i59cfy4xfs2p6h9dcwbkwq6wnshrpypfn"; depends=[Rcpp RcppArmadillo]; };
   dcv = derive2 { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
-  ddalpha = derive2 { name="ddalpha"; version="1.3.9"; sha256="1vzs0cvl6xw3h9i00rg3hs02xwgxcnh8326y10kxmhs3qq4m7nb2"; depends=[BH class geometry MASS Rcpp robustbase sfsmisc]; };
+  ddalpha = derive2 { name="ddalpha"; version="1.3.10"; sha256="1064g7y8d7kmvd5kjc2m48yvidmh2ci1y0xgil3pcx4ix6mf0ljz"; depends=[BH class geometry MASS Rcpp robustbase sfsmisc]; };
   dde = derive2 { name="dde"; version="1.0.0"; sha256="0fsj7n66j0dhp65c6f9k0dsrkklj1hy4w376j150f91jc7m3wliv"; depends=[ring]; };
   ddiv = derive2 { name="ddiv"; version="0.1.0"; sha256="1r2sxlkw1vxf2svdi1nary3hb7c5k1b4j820mj268r9swmy632ch"; depends=[MASS segmented]; };
   ddpca = derive2 { name="ddpca"; version="1.1"; sha256="1qsanid7sr2nc9pwzyz4cbjc1vg0rj255d3rnh1rb22agrgj2bc1"; depends=[MASS Matrix quantreg RSpectra]; };
@@ -6556,10 +6669,10 @@ in with self; {
   ddst = derive2 { name="ddst"; version="1.4"; sha256="1y0immm337adkd2bjx8c5pf02w9wysv3gj26f4qf0jiba0f2wk8n"; depends=[evd orthopolynom]; };
   deBInfer = derive2 { name="deBInfer"; version="0.4.2"; sha256="108vijk71sgsj14hwfv78r4lnn68cybvnpr92zvrvl0d82b7qxfd"; depends=[coda deSolve MASS mvtnorm PBSddesolve plyr RColorBrewer truncdist]; };
   deGradInfer = derive2 { name="deGradInfer"; version="1.0.0"; sha256="1wl1pw1rwins4gr47a8ii4diw6wd6cx8ib4l5bhri5f3crbw7l86"; depends=[deSolve gdata gptk]; };
-  deSolve = derive2 { name="deSolve"; version="1.24"; sha256="0hkvspq0fp8j64l9zayab2l2nazazhwfgfym0jllh0xv5a12r99s"; depends=[]; };
+  deSolve = derive2 { name="deSolve"; version="1.25"; sha256="0735y3p5glhqx69rzrc8qgmvs7p7w0p98qxmvylb6bgqp6kp0cbp"; depends=[]; };
   deTS = derive2 { name="deTS"; version="1.0"; sha256="08yq7vfcd8fv8qw2w0f1rnj3rzys9kslmkqspmiz6prmzqvj1zf1"; depends=[pheatmap RColorBrewer]; };
-  deTestSet = derive2 { name="deTestSet"; version="1.1.6"; sha256="0n04p05fcaksiqm59pn3r58ihqwbd5r7jxgfvbw05s9l4q46nh3c"; depends=[deSolve]; };
-  deaR = derive2 { name="deaR"; version="1.1.0"; sha256="0q36cfjb1vypn2d581rpfilzspvxmfb97phcnvp2w6l98kx8gcvj"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
+  deTestSet = derive2 { name="deTestSet"; version="1.1.7"; sha256="0l73c0lwmbpg9prwy3hyd4m9q8r6689pdm47agyv59vj0839s25p"; depends=[deSolve]; };
+  deaR = derive2 { name="deaR"; version="1.2.0"; sha256="1p3lsck0zwzfgjxyvzgvxig9g5p7i67pf71hrhzpmkxvafafx9jw"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
   deadband = derive2 { name="deadband"; version="0.1.0"; sha256="02pq3d0l0wy8bdlyfir3zf46j1ascx4qajyq5cf28yl62q6ngq5d"; depends=[TTR]; };
   deal = derive2 { name="deal"; version="1.2-39"; sha256="0sw0v1mm004ky1gjw3dmvf2vb7nf2j9s9386bhqxijw63j7xnjd3"; depends=[]; };
   deamer = derive2 { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
@@ -6567,7 +6680,7 @@ in with self; {
   debugr = derive2 { name="debugr"; version="0.0.1"; sha256="0lfq0s0hibd00558vl3dmvrkzxjc7q62xr8sqzai0pv9a9lhixcn"; depends=[rprojroot rstudioapi]; };
   decido = derive2 { name="decido"; version="0.2.0"; sha256="17myg67qry1sbd1scv9bbvdh67fpcnqcb6r8n0kajdxb96vnlqk0"; depends=[Rcpp]; };
   decision = derive2 { name="decision"; version="0.1.0"; sha256="13d0yyg5zp7n3r92l0l1dsffxfph6vacrlzga9rz41l5pja72z6g"; depends=[]; };
-  decisionSupport = derive2 { name="decisionSupport"; version="1.103.8"; sha256="1xp97v22ar4nsv2q4di6rqfin7pa7a6zqw5d1zmm5aqxfi07nc4x"; depends=[chillR msm mvtnorm nleqslv rriskDistributions]; };
+  decisionSupport = derive2 { name="decisionSupport"; version="1.105.2"; sha256="095qwgsw6y1clv2hyjr56s2wg8q1nhd22ikh9b3l2mcsw2xdzvjy"; depends=[chillR fANCOVA ggplot2 msm mvtnorm nleqslv rriskDistributions]; };
   deckgl = derive2 { name="deckgl"; version="0.1.8"; sha256="0nm9jf166343sd01mchw2v6qpsfjgdhf6zd2p92rqyhp9k0hq5lv"; depends=[base64enc htmltools htmlwidgets jsonlite magrittr readr tibble yaml]; };
   decode = derive2 { name="decode"; version="1.2"; sha256="1qp0765gl3pgfdzjwj7icf3zminxxmrlw6gx3vj51y6c2y5ws4as"; depends=[]; };
   decoder = derive2 { name="decoder"; version="1.1.13"; sha256="1kpcx754djfr8y0flpa1hrr92s0wbxw23rlvb6q3k9absvdvvmg6"; depends=[backports]; };
@@ -6600,7 +6713,7 @@ in with self; {
   demogR = derive2 { name="demogR"; version="0.6.0"; sha256="06x82ffbdv6ifl8xh52d3npdwha67v1ylfjp78j5pa4wdqkg221b"; depends=[]; };
   demography = derive2 { name="demography"; version="1.22"; sha256="1m15capbfknr4rqxmfgj1vb7rmgambk6r9ic37149525sg7wn3j6"; depends=[cobs forecast ftsa mgcv rainbow RCurl strucchange]; };
   demu = derive2 { name="demu"; version="0.2.0"; sha256="0prfl2i3q2n5f4qpvkksyi8qvwj2fd9v82cr6val7abvcvbn9276"; depends=[ClusterR fields Matrix Rcpp RcppArmadillo spam]; };
-  dendextend = derive2 { name="dendextend"; version="1.12.0"; sha256="0mgsc9qkr5p6hss3wychdjvk263ay48yx543wawj72l7q7cgx1xl"; depends=[ggplot2 magrittr viridis]; };
+  dendextend = derive2 { name="dendextend"; version="1.13.2"; sha256="1iclvd9cyckd4djpa87ynm05fk6zl4b4m735za1w4irimc130m3r"; depends=[ggplot2 magrittr viridis]; };
   dendroTools = derive2 { name="dendroTools"; version="1.0.6"; sha256="0y323sa1ccp6sr95rs9chm4mwxxja9dhjvg67lac2lf41a6yg5yb"; depends=[boot brnn Cubist dplyr ggplot2 gridExtra knitr lubridate magrittr MLmetrics oce plotly psych randomForest reshape2 scales]; };
   dendroextras = derive2 { name="dendroextras"; version="0.2.3"; sha256="0hb7crbgsnbcwvbk05iz5ik45n7zgysmwjj6xc46131yd8l0i1qx"; depends=[]; };
   dendrometeR = derive2 { name="dendrometeR"; version="1.0.0"; sha256="1par27ipgbfbrmdlwvkf82i5dgnfrcawmavakrf8lplin2hhb7gs"; depends=[forecast pspline zoo]; };
@@ -6613,11 +6726,11 @@ in with self; {
   densityClust = derive2 { name="densityClust"; version="0.3"; sha256="1zry0vafajzmr37aylglxfvwplhdygbkb9cvzvh8cy0xgnjrnx13"; depends=[FNN ggplot2 ggrepel gridExtra RColorBrewer Rcpp Rtsne]; };
   densratio = derive2 { name="densratio"; version="0.2.1"; sha256="0x333kfx5mdzzjsqy37j4bmv9iddlgp3wi4774lx8d159lbr6irp"; depends=[]; };
   denstrip = derive2 { name="denstrip"; version="1.5.4"; sha256="0hzxphj740q6pfa1q42knr7n12bmnawg7b2fs74msxn83dka5cmq"; depends=[lattice]; };
-  denvax = derive2 { name="denvax"; version="0.1.1"; sha256="0yc7cks18k1pq6cdjpqmyvb2n8ljbw201fbnwx18r8p93c9493ry"; depends=[]; };
+  denvax = derive2 { name="denvax"; version="0.1.2"; sha256="0a8x7z7jagshc5h6xy24xrvqv0gm08f78ik6y8ki4i0mhl8c5fyx"; depends=[]; };
   depend_truncation = derive2 { name="depend.truncation"; version="3.0"; sha256="1jym52qxx8v4kbq2578d03q2593q96jccr85if47djikw0aaxmcr"; depends=[mvtnorm]; };
   depmix = derive2 { name="depmix"; version="0.9.15"; sha256="1dnps6s5bfa834akjgx4zbg49danpy54mhiz1kjb4nmrnlb0zq7q"; depends=[MASS]; };
   depmixS4 = derive2 { name="depmixS4"; version="1.4-0"; sha256="0v8hvkg7ia7c6a0x7rw5fddm06vv1n0kwjk7g0kj3g18chvpnvw2"; depends=[MASS nlme nnet Rsolnp]; };
-  depth = derive2 { name="depth"; version="2.1-1"; sha256="17fxv4a5fbb65p7kmb4iakik5ng6401y7gmknkfr66fmjq65i1sm"; depends=[abind circular rgl]; };
+  depth = derive2 { name="depth"; version="2.1-1.1"; sha256="0szy0027nh4ps1z919i740i50app5q7cfyg1fj7pdyl45nbl8k6m"; depends=[abind circular rgl]; };
   depth_plot = derive2 { name="depth.plot"; version="0.1"; sha256="0zjg9iyqmcnkvwc9w2j7lmk3k9nsg6n8m6vq5x44d1bp4g2gr6jv"; depends=[mvtnorm]; };
   depthTools = derive2 { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
   dequer = derive2 { name="dequer"; version="2.0-1"; sha256="04kzlff8xa733qkkx0gacgig7d4l7yvgqmzva0mj8di12byh214p"; depends=[]; };
@@ -6635,11 +6748,13 @@ in with self; {
   designGG = derive2 { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; };
   designGLMM = derive2 { name="designGLMM"; version="0.1.0"; sha256="0ya246mqclkhg8cq6f5mzqn67qks22f3fribyjcvhrx395n0f21v"; depends=[]; };
   designmatch = derive2 { name="designmatch"; version="0.3.1"; sha256="0px6iyqik4sfs25yybamvf3ay0vd6r75acj8hin76jl6l7fwk30f"; depends=[lattice MASS Rglpk slam]; };
+  designr = derive2 { name="designr"; version="0.1.8"; sha256="04sd4av05rq4cwfx27rg0ig6maq4qiwr1q63wf9x7777q5r9zkg1"; depends=[crossdes dplyr MASS tibble]; };
   desirability = derive2 { name="desirability"; version="2.1"; sha256="094gxvp6a60lfcc0a0gk9rv1p6ajnzq9m58sy8cvhcj5337g4fmk"; depends=[]; };
   desire = derive2 { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
   desplot = derive2 { name="desplot"; version="1.6"; sha256="1vxczs14afsapagvvsvcwi9ar3z74szs0m1g14zqkkkd47h3cij3"; depends=[ggplot2 lattice reshape2]; };
+  details = derive2 { name="details"; version="0.1.2"; sha256="03b0wz03mqwna5n3gkcidrcwbagdky43m6pg8wdk6y384r6r1l14"; depends=[clipr desc httr knitr magrittr png withr xml2]; };
   detect = derive2 { name="detect"; version="0.4-2"; sha256="03xzv13y2l15afyp00lgvbh51vxg1jaakxjcbnsxzdgb11039x2g"; depends=[Formula Matrix pbapply]; };
-  detectRUNS = derive2 { name="detectRUNS"; version="0.9.5"; sha256="0w4pz7waaabgsb47xcmgiz8bzlrs2a83y3v6j7bqb5125y1wn8hw"; depends=[data_table ggplot2 gridExtra iterators itertools plyr Rcpp reshape2]; };
+  detectRUNS = derive2 { name="detectRUNS"; version="0.9.6"; sha256="0yl1x0jz66hingbl094picsiyrxzxvnz0grq63rva6nwn7pv1c0b"; depends=[data_table ggplot2 gridExtra iterators itertools plyr Rcpp reshape2]; };
   detector = derive2 { name="detector"; version="0.1.0"; sha256="010i063b94hzx7qac8gpl67gmk7hzgqm9i1c7pbbw4la3wcd9lz7"; depends=[stringr]; };
   detpack = derive2 { name="detpack"; version="1.1.3"; sha256="1mk2k9akagz7knd4n5p8nxkmnm2mdv9izk4i5yl2v9nv5v39mc4h"; depends=[]; };
   detrendeR = derive2 { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
@@ -6650,9 +6765,9 @@ in with self; {
   devRate = derive2 { name="devRate"; version="0.1.10"; sha256="0c5hg98w83d02lvb7rbgx8c24li58vpxjy71if337p7cyzzd1lqg"; depends=[]; };
   devoid = derive2 { name="devoid"; version="0.1.0"; sha256="1aq7yyfpid3r41c6v5v92im2iq9m3d7gnisc9rkc9zpjfpbpzpx8"; depends=[]; };
   devtools = derive2 { name="devtools"; version="2.2.1"; sha256="0i2f549hxkn0j1x1avkhwy68c9r48v9284j7x9cak2q6dfsqz61f"; depends=[callr cli covr crayon desc digest DT ellipsis git2r glue httr jsonlite memoise pkgbuild pkgload rcmdcheck remotes rlang roxygen2 rstudioapi rversions sessioninfo testthat usethis withr]; };
-  dexter = derive2 { name="dexter"; version="1.0.0"; sha256="08w1k6hw9dfw6ppbwcvsxwra85f14bb2v455cnhhqrrp1klkz1n6"; depends=[DBI dplyr Rcpp RcppArmadillo rlang RSQLite tidyr]; };
+  dexter = derive2 { name="dexter"; version="1.0.1"; sha256="1b6nlnp9m5lvd7cxrzx246q4n2b3jqqi8a4cask1sskldgq1pnfc"; depends=[DBI dplyr MASS Rcpp RcppArmadillo rlang RSQLite tidyr]; };
   dexterMST = derive2 { name="dexterMST"; version="0.1.2"; sha256="1h56dr2z2pzi4zdy3dmyb2vg2jg1v5602c497khkvrbr7qfx8zra"; depends=[crayon DBI dbplyr dexter dplyr fastmatch igraph Rcpp rlang RSQLite tibble tidyr]; };
-  dextergui = derive2 { name="dextergui"; version="0.2.0"; sha256="1mz88nydyv469jl26hv2w8xmig45745wx90zqqv8xlr4a7g1xzpy"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets jsonlite networkD3 RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
+  dextergui = derive2 { name="dextergui"; version="0.2.1"; sha256="1c92j70zihzsqi83rs7hgnp70qgg6y0hdcs3gxin80grsihj1frw"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets jsonlite networkD3 RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
   df2json = derive2 { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; };
   dfCompare = derive2 { name="dfCompare"; version="1.0.0"; sha256="1lhx69j0bkjbnp5jz23hrbxjcf04vf3big4k593ixz003xs2077f"; depends=[]; };
   dfConn = derive2 { name="dfConn"; version="0.2.1"; sha256="03yl00mqj6r7p2xmrwam2chgqlq4qpfcm85n4b3b41vrm27xg11g"; depends=[data_table doParallel fields foreach ggplot2 gplots gtools nlme Rcpp RcppArmadillo stringr]; };
@@ -6668,7 +6783,7 @@ in with self; {
   dfpk = derive2 { name="dfpk"; version="3.5.1"; sha256="010rlxj66ar3y61fnm7ys3p6aimlr8ylqq4q4flzr9m88klz8701"; depends=[BH dfcrm ggplot2 PK Rcpp RcppEigen rstan StanHeaders]; };
   dga = derive2 { name="dga"; version="1.2"; sha256="13mfampnghcs5xplzq69bw948lqhw561pn54j3gb0ydsg5bm5vmr"; depends=[chron]; };
   dggridR = derive2 { name="dggridR"; version="2.0.3"; sha256="1gdwxrl5c5mprfk7rx5mk8davi4mmg1crccxaaipnbnsilg9j9vh"; depends=[dplyr ggplot2 Rcpp rgdal sp]; };
-  dglars = derive2 { name="dglars"; version="2.1.2"; sha256="1wp3g23rcrd386hh9xs3yha4fbzxzvlw0gp29ljp6ilf3wzx140k"; depends=[Matrix]; };
+  dglars = derive2 { name="dglars"; version="2.1.4"; sha256="1yvw6k0rspaqj42dnnkj828las5v83hqd3db6h94ydcs05n6ym06"; depends=[Matrix]; };
   dglm = derive2 { name="dglm"; version="1.8.3"; sha256="0vj4vddqcrjzgqsi6zsxm22gj5pa5dm50wcxip4vi8kbwxaahnaj"; depends=[statmod]; };
   dgmb = derive2 { name="dgmb"; version="1.2"; sha256="1r5md917wipx78n63x87fpvsc3h87c68cpacrrs9dhss199p1a5k"; depends=[abind MASS]; };
   dgo = derive2 { name="dgo"; version="0.2.15"; sha256="16z3vag1fwsnmynqh0zpwq5qp5ac3xf4787lwqy7asx8qgcc3wmw"; depends=[assertthat data_table dgodata ggplot2 lubridate R6 rstan survey]; };
@@ -6684,7 +6799,7 @@ in with self; {
   diagram = derive2 { name="diagram"; version="1.6.4"; sha256="0f6ffprn5k0ir1s7m9s7izc64aa17r3gnygagz5bihrlsvawaavw"; depends=[shape]; };
   dialr = derive2 { name="dialr"; version="0.3.0"; sha256="1wdl3m6mlpxhy75kyzxypf053n2zaf8skk0xq1m4gklq4disbg32"; depends=[dialrjars rJava]; };
   dialrjars = derive2 { name="dialrjars"; version="8.10.14"; sha256="0xzgrqgydgrljp3ylqk24hwgj9mcpxsfd4xp3wx8k1d4jmz80gw8"; depends=[rJava]; };
-  dials = derive2 { name="dials"; version="0.0.3"; sha256="0ynq6baiyc0iasyhrp1imivha00vy2fndda7gr983p246f38hg82"; depends=[DiceDesign dplyr glue purrr rlang scales tibble withr]; };
+  dials = derive2 { name="dials"; version="0.0.4"; sha256="04vz6spp8lw011a9fn8z0bkba9nghgj2hvsxy3n6dqqs3ajd4nfa"; depends=[DiceDesign dplyr glue purrr rlang scales tibble withr]; };
   diaplt = derive2 { name="diaplt"; version="1.3.0"; sha256="1kkqhkv3s8rrpqd05jidjdnqmlnb3s9f8rr34rfqj7k4nh0qzzcz"; depends=[]; };
   dice = derive2 { name="dice"; version="1.2"; sha256="0gic7lqnsdmwv3dbzwwmcwdfyfqlq8kpr2pciqphd1j2ligzwl3s"; depends=[gtools]; };
   diceR = derive2 { name="diceR"; version="0.6.0"; sha256="1jwgngvajnm80g079z4jks5f3y2hy7hz3h9cf7c6wlb8spmaffxr"; depends=[abind apcluster assertthat blockcluster caret class cli clue cluster clusterCrit clValid dbscan dplyr e1071 flux ggplot2 gplots Hmisc infotheo kernlab klaR kohonen magrittr mclust NMF poLCA progress purrr quantable RankAggreg RColorBrewer Rcpp Rtsne sigclust stringr tibble tidyr]; };
@@ -6694,11 +6809,13 @@ in with self; {
   didrooRFM = derive2 { name="didrooRFM"; version="1.0.0"; sha256="12clfnbm56jwldw0afb0nb0argnd97mx7369jiywhxy0p4xqibqq"; depends=[dplyr]; };
   dief = derive2 { name="dief"; version="1.2"; sha256="1i4icdfqvw7imaj1fh392zmzfyz8aqlv9s5naqxm1pm0lqfxl6ca"; depends=[flux fmsb ggplot2 plyr]; };
   dielectric = derive2 { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
+  diem = derive2 { name="diem"; version="1.0"; sha256="09qf47y3mbhkdy7nmy9mcvx371hyss81igc5frbhbp85z2pf5zzb"; depends=[dbscan ggplot2 igraph Matrix Rcpp RcppEigen scales]; };
+  dietr = derive2 { name="dietr"; version="1.0"; sha256="0wz7nvhn1c3l36kpmdv4j3ia3wp77qzjlx8rmqv7al0wpmjnxcb6"; depends=[rfishbase]; };
   diezeit = derive2 { name="diezeit"; version="0.1-0"; sha256="0rq1k08byvqn99wpql7drnrcxlzcqrcxixh7bczbc8dv1hhsgk9i"; depends=[brew httr jsonlite]; };
   difNLR = derive2 { name="difNLR"; version="1.3.0"; sha256="1p3iiaw1wy9ni74y96yp4003406wy1jz773nq919hmrqj0agxkg7"; depends=[CTT ggplot2 msm nnet plyr reshape2 VGAM]; };
   difR = derive2 { name="difR"; version="5.0"; sha256="0k0vw5l3pig514ngpvf0rwhwxc316ws352fgw49c3c95ydsz6wd8"; depends=[deltaPlotR lme4 ltm mirt]; };
   difconet = derive2 { name="difconet"; version="1.0-4"; sha256="0cjadi4mnpfmy18vyp0dw55mnhs0zddf51w59gvq6gszk145z3bq"; depends=[data_table gplots mvtnorm stringr]; };
-  diffEq = derive2 { name="diffEq"; version="1.0-1"; sha256="1xmb19hs0x913g45szmm26xx5xp85v182wqf0lnl4raxaf47yhkm"; depends=[bvpSolve deSolve deTestSet ReacTran rootSolve shape]; };
+  diffEnrich = derive2 { name="diffEnrich"; version="0.1.1"; sha256="19bq2frd2h8gh6mdy3pcwd54zzv170c0m1m3wnp5c4gadb9424qf"; depends=[dplyr ggnewscale ggplot2 here reshape2 rlang stringr]; };
   diffIRT = derive2 { name="diffIRT"; version="1.5"; sha256="0kip6wz9l9q80qsqwf32pwz7d9vqin6dgfwf0nxlrlzf8xjsxgim"; depends=[statmod]; };
   diffMeanVar = derive2 { name="diffMeanVar"; version="0.0.6"; sha256="0zivbd22hp0biy4vnjh21f4djfg5bl9az0wlhn47rk7fw65rgipb"; depends=[Biobase lawstat MASS methylumi missMethyl]; };
   diffMeshGP = derive2 { name="diffMeshGP"; version="0.1.0"; sha256="1dc37hxh3fi27gw11kij57j78p87bza77s82niagdv6dqhldj5a4"; depends=[]; };
@@ -6716,7 +6833,7 @@ in with self; {
   diffusion = derive2 { name="diffusion"; version="0.2.7"; sha256="1j9s9vw5sc4k956bk4yp3bf4fnp7lhhkwcvlzvsh1w4dyaj8l35h"; depends=[dfoptim nloptr systemfit]; };
   diffusionMap = derive2 { name="diffusionMap"; version="1.2.0"; sha256="1rvk7069brlm1s9kqj4c31mwwr3mw4hmhay95cjjjfmw5xclff2j"; depends=[igraph Matrix scatterplot3d]; };
   diffusr = derive2 { name="diffusr"; version="0.1.4"; sha256="1f3h387kblw1xzdnxphwgfl1n7f6i07kk7kfslvbfxkalbish6ii"; depends=[igraph Rcpp RcppEigen]; };
-  digest = derive2 { name="digest"; version="0.6.21"; sha256="0qycqchmv59fb6jp369d82mcx9xgbv70m18qzam0vrs8zkmajb17"; depends=[]; };
+  digest = derive2 { name="digest"; version="0.6.23"; sha256="18h5s8vkdcz2vhpsx6g3ig00zalrihr03skn95zw3lr2y56pafmp"; depends=[]; };
   digitalPCR = derive2 { name="digitalPCR"; version="1.1.0"; sha256="0hwqq84yr1hnvf4bygc5425887dhqjjjyy1ils71iavcal04s8pb"; depends=[]; };
   digitize = derive2 { name="digitize"; version="0.0.4"; sha256="1qw4x4z9vrs79sd9b2daw668nc6nvjl4qhayfqmd87yxa2ydv6x0"; depends=[readbitmap]; };
   dils = derive2 { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
@@ -6724,9 +6841,10 @@ in with self; {
   dina = derive2 { name="dina"; version="2.0.0"; sha256="1sq7998xc5qhvd8clc8r32ch7axinh2a2dc7i1w2p148wv130yhd"; depends=[Rcpp RcppArmadillo rgen simcdm]; };
   dinamic = derive2 { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
   dineq = derive2 { name="dineq"; version="0.1.0"; sha256="1xrhrdc970f7hm9xng9z7xmshnmmz89cn3gmnyabzprx44ccr9sl"; depends=[boot Hmisc]; };
-  dint = derive2 { name="dint"; version="2.1.0"; sha256="1ckrjv0c9vqz7drbkmp5lapkikzgll1jbnh51qn59dc1acc5zhvn"; depends=[]; };
+  dint = derive2 { name="dint"; version="2.1.1"; sha256="01j8kah94qlmag2ysdl0p9nj2pqsivkdg1aammq04d8j97pm82yb"; depends=[]; };
+  dipsaus = derive2 { name="dipsaus"; version="0.0.3"; sha256="061nvdn3x9bqps5d60zzb41f39h8qy3y3xdfib508zgarbpb67nq"; depends=[base64url cli crayon data_table digest fastmap filelock future future_apply jsonlite qs R6 Rcpp RcppParallel rlang shiny stringr txtq]; };
   diptest = derive2 { name="diptest"; version="0.75-7"; sha256="0rcgycgp0bf8vhga1wwgfcz3pqs5l26hgzsgf2f97dwfna40i1p1"; depends=[]; };
-  directPA = derive2 { name="directPA"; version="1.3"; sha256="0hcs56y69gdkfyk2xl0vxh01c19s6z1lfv02g056wxr24qfsx08c"; depends=[calibrate rgl]; };
+  directPA = derive2 { name="directPA"; version="1.4"; sha256="0rbdygdslr2gvg4mvnp09lc9rv0sg9jwdf5a5ks50v67n25x6y5d"; depends=[calibrate rgl]; };
   directlabels = derive2 { name="directlabels"; version="2018.05.22"; sha256="0xcpc56ssb9430b0xcdhayk3qaak2qcakyss2pz14y5w2027hblv"; depends=[quadprog]; };
   directotree = derive2 { name="directotree"; version="1.0.0"; sha256="1yv703mb3fnvjxr2rrxvb8x869hbbjx4l94qbbsmy0ssknayq60y"; depends=[collapsibleTree data_tree]; };
   dirichletprocess = derive2 { name="dirichletprocess"; version="0.3.0"; sha256="0hhvmnkx2y5sl308vrx349jr54daifgz4pj5gfykn42gppcpw56v"; depends=[ggplot2 gtools mvtnorm]; };
@@ -6745,9 +6863,10 @@ in with self; {
   discreteRV = derive2 { name="discreteRV"; version="1.2.2"; sha256="1lhf67cccr96zl3j1sysh2bv0pbgvkbgjdzm35fvrdm7k74ypjsi"; depends=[MASS plyr]; };
   discretecdAlgorithm = derive2 { name="discretecdAlgorithm"; version="0.0.5"; sha256="1q4g455jjg293yxdwdppw04ah15idk5j233x2kbqv0jni4v0l2bf"; depends=[igraph Rcpp RcppEigen sparsebnUtils]; };
   discretization = derive2 { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
+  discrim = derive2 { name="discrim"; version="0.0.1"; sha256="1g698bimrvzbzzv6mfafwmdyyziscr055zhssnz69j250mh81kyw"; depends=[dials parsnip purrr rlang tibble withr]; };
   discrimARTs = derive2 { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; };
   diseasemapping = derive2 { name="diseasemapping"; version="1.4.6"; sha256="16y2w8qjq442qdbqlrg3s2mn53rlcipl22m3q168gda5klm4f7sl"; depends=[sp]; };
-  disk_frame = derive2 { name="disk.frame"; version="0.1.1"; sha256="0hp3svp4krx0bssmx7l93fm15lyx1aiml6s0jc6ffcbmc4gyckf1"; depends=[assertthat benchmarkme bigreadr bit64 crayon data_table dplyr fs fst furrr future future_apply globals glue jsonlite pryr purrr Rcpp rlang stringr]; };
+  disk_frame = derive2 { name="disk.frame"; version="0.2.1"; sha256="1a3q1zwp5aarpb9780g6r0d4vbflf7qfnh2j4v6jkbmzalbd582n"; depends=[assertthat bigreadr bit64 crayon data_table dplyr fs fst furrr future future_apply globals glue jsonlite pryr purrr Rcpp rlang stringr]; };
   diskImageR = derive2 { name="diskImageR"; version="1.0.0"; sha256="1r19k5fdjn6vkn11p5df77fnxfqaz3nciiaai0f3pr2bgpfppzka"; depends=[subplex zoo]; };
   dismo = derive2 { name="dismo"; version="1.1-4"; sha256="1j4pzbyvn8msi3k2y79nc6pqlrald46168ibznjwrr6rdiqhy4gj"; depends=[raster sp]; };
   dispRity = derive2 { name="dispRity"; version="1.3.1"; sha256="0pf6c1byw095q7a6zx0sgwl84a5djkaaq1ly5jpcv0q0l0c9kxxh"; depends=[ade4 ape Claddis geiger geometry geoscale mnormt paleotree phangorn phyclust vegan]; };
@@ -6760,7 +6879,7 @@ in with self; {
   distTails = derive2 { name="distTails"; version="0.1.2"; sha256="10p7rfqfkhcwq10lhz3cq9i4k1jdccks4y3791lajljsxz5jrca4"; depends=[ercv gsl MASS]; };
   distance_sample_size = derive2 { name="distance.sample.size"; version="0.0"; sha256="0hlf3kp34rg1gnkxp4k3rnv0shv4fpgb0rhx3a6x5692lhyigbcs"; depends=[MASS]; };
   distances = derive2 { name="distances"; version="0.1.8"; sha256="0mmwks1qzx680izv26x8mcfs4i16mnmf6s9arz1ssx470xwxljxy"; depends=[]; };
-  distantia = derive2 { name="distantia"; version="1.0.1"; sha256="0vmq90x2mlbhbgqq37vriwqbh0lr7hgjbbjp5im24qs9xf7jhv90"; depends=[arrangements data_table doParallel fields foreach iterators plyr RColorBrewer viridis]; };
+  distantia = derive2 { name="distantia"; version="1.0.2"; sha256="12d6xzhcxs3xxyj82ih6chrr638siy45gna1s22vhnqvjd5jixc6"; depends=[arrangements data_table doParallel fields foreach iterators plyr RColorBrewer viridis]; };
   distcomp = derive2 { name="distcomp"; version="1.1"; sha256="1b2rxn7x6sa3kiip1sv8yd556mkjqvq38v3cycb5084x3k6prhp4"; depends=[digest httr jsonlite R6 shiny stringr survival]; };
   distcrete = derive2 { name="distcrete"; version="1.0.3"; sha256="0sa6z2mpmk51ig1r7bmpbyv2jd8z6z7mixki2vlq1kybg8cx3wmi"; depends=[]; };
   distdichoR = derive2 { name="distdichoR"; version="0.1-1"; sha256="0v19m3n1jgipg65yrv75rm4v27b5aq58cbsmbp7lxvfxmj5ra328"; depends=[boot emmeans nlme sn]; };
@@ -6771,7 +6890,7 @@ in with self; {
   disto = derive2 { name="disto"; version="0.2.0"; sha256="09pafy8y1ifgglqmal32dy34acx06ypsq2bgwsn6fjiqr9kw401j"; depends=[assertthat broom dplyr factoextra fastcluster fastmatch ggplot2 pbapply proxy tidyr]; };
   distory = derive2 { name="distory"; version="1.4.3"; sha256="1mszk8fv1z46d7y1q37mhq9b5yk39w2i9rq6mgdf03afdslrmrip"; depends=[ape]; };
   distr = derive2 { name="distr"; version="2.8.0"; sha256="1dyff4m33xmw6hxb3jxzr8vvajg3qz3rfcrfxjxwsswlddfz0zdv"; depends=[MASS sfsmisc startupmsg]; };
-  distr6 = derive2 { name="distr6"; version="1.2.0"; sha256="1d68k6b7id5jh39g79lw6l09xml3v5k99nd7wvpilq5j4h2jwk7x"; depends=[checkmate data_table pracma R6 R62S3]; };
+  distr6 = derive2 { name="distr6"; version="1.3.1"; sha256="0chv04nsay2kjfxicf9b001wj71rfhxnrbbqj16mab80ilrhv40q"; depends=[checkmate data_table pracma R6 R62S3]; };
   distrDoc = derive2 { name="distrDoc"; version="2.8.0"; sha256="1iq2gbfbsf3h279yh3fnqsi39gdw15vc6r1g33xcb8kgmmqmvf0p"; depends=[distr distrEx distrMod distrSim distrTeach distrTEst MASS RandVar startupmsg]; };
   distrEllipse = derive2 { name="distrEllipse"; version="2.8.0"; sha256="1ymfa8xpgs8zjp4psiwmll5z0vji496fivxmcavspzxy31cw70wx"; depends=[distr distrEx distrSim mvtnorm setRNG startupmsg]; };
   distrEx = derive2 { name="distrEx"; version="2.8.0"; sha256="1gwhsnlrnzyp2x97d9wfdy5pa9z3q5il934wjv4kxs9wsvkwsr5h"; depends=[distr startupmsg]; };
@@ -6795,6 +6914,7 @@ in with self; {
   divo = derive2 { name="divo"; version="1.0.0"; sha256="0xy4yxvx2grskdzb5z73mhgrq0nfhdkm2hxahdns7pb1fgajxyjx"; depends=[cluster]; };
   dixon = derive2 { name="dixon"; version="0.0-6"; sha256="1prvr16a9n7qyaznir2bl7mg6nlvbdv9pk75p3xipzjg36hwyam8"; depends=[spatstat splancs]; };
   dixonTest = derive2 { name="dixonTest"; version="1.0.0"; sha256="0nv2qyivr9agr8s2l95jdz3sj21i60asdi5mx1dbn61yqbzv80q6"; depends=[]; };
+  diyar = derive2 { name="diyar"; version="0.0.2"; sha256="0gjj6r520dlm034m4361y87lim5h0n904mw2m0avfpkzr54siyx9"; depends=[dplyr lubridate rlang tidyr]; };
   dkDNA = derive2 { name="dkDNA"; version="0.1.1"; sha256="0ycyzn5bmhjl5idp0lndffkninpm9n23wrkrzi59ac8z8ghsnhf4"; depends=[]; };
   dkanr = derive2 { name="dkanr"; version="0.1.3"; sha256="1zic7qhwq3s9w70zi1f6qyf7pzm69k5a1p5fd4n3z4nbga54njxd"; depends=[assertthat dplyr httr jsonlite purrr stringr tibble]; };
   dlbayes = derive2 { name="dlbayes"; version="0.1.0"; sha256="058kkh67npai2ffrjdpjn4pzj8f233znl16nj6yx8wz8lkb17cb0"; depends=[expm GIGrvg glmnet LaplacesDemon MASS]; };
@@ -6802,21 +6922,22 @@ in with self; {
   dlm = derive2 { name="dlm"; version="1.1-5"; sha256="1aksm66sfa7ipl5xgs4j5giac7q2m744wjl40mva56xn6i674h4r"; depends=[]; };
   dlmap = derive2 { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[ibdreg mgcv nlme qtl wgaim]; };
   dlnm = derive2 { name="dlnm"; version="2.3.9"; sha256="0vbrp9x7n94wjrigw124i3i7szy0bsh4sdggi8nsizn2ccsv5pnq"; depends=[mgcv nlme tsModel]; };
-  dlookr = derive2 { name="dlookr"; version="0.3.11"; sha256="0a0ar7alfngv0fmbklv7jvlsbjk3sbvmssapjvng22w4swcnk2py"; depends=[classInt corrplot DMwR dplyr ggplot2 gridExtra kableExtra knitr magrittr mice moments prettydoc purrr RcmdrMisc RColorBrewer rlang rmarkdown rpart smbinning tibble tidyr tidyselect tinytex xtable]; };
-  dlsem = derive2 { name="dlsem"; version="2.4.3"; sha256="1x5l63a1789lbim91msw0g98yrw86s0pavws0bf5cpvj23la8i9h"; depends=[graph Rgraphviz]; };
-  dlstats = derive2 { name="dlstats"; version="0.1.0"; sha256="0s92rdpw3m534wgjaic4srsp9i1pa3ibfmr4h7p3ly51zhza6l5h"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
+  dlookr = derive2 { name="dlookr"; version="0.3.12"; sha256="1963b9cjfs56jazvizfj2yj7vkzav6z87z3ii1wbdpk33d76bxmy"; depends=[classInt corrplot DMwR dplyr ggplot2 gridExtra kableExtra knitr magrittr mice moments prettydoc purrr RcmdrMisc RColorBrewer rlang rmarkdown rpart smbinning tibble tidyr tidyselect tinytex xtable]; };
+  dlsem = derive2 { name="dlsem"; version="2.4.5"; sha256="0ywcssjzkdqxlmjbsqdcgl9kivih5zw865556lnxx3zqnfygxzlv"; depends=[graph Rgraphviz]; };
+  dlstats = derive2 { name="dlstats"; version="0.1.3"; sha256="0inij1rzw8i683lyzvnjhfzrng7zx727y9wcijv6ny2fw64cdd6n"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
   dma = derive2 { name="dma"; version="1.4-0"; sha256="003snr09hazszwqnvjrbv8vyz6ihgcfcfhrlshg451dddn920615"; depends=[MASS]; };
+  dmacs = derive2 { name="dmacs"; version="0.1.0"; sha256="1prw6h8sj6fcpajg6xwqhi8v5jfl74mbjdjrdy524miw56fh9h0r"; depends=[lavaan MplusAutomation]; };
   dmai = derive2 { name="dmai"; version="0.4.0"; sha256="0ma89jl0l598sffpikvjj40f2djjcnjq29k6y1bav4dm2g51qgmq"; depends=[dplyr ggplot2 magrittr stringr tibble tidyr]; };
   dml = derive2 { name="dml"; version="1.1.0"; sha256="0z1dalgxh5nhrac49vh60d5awzjylc8b8mn5fk379c324milm59l"; depends=[lfda MASS]; };
   dmm = derive2 { name="dmm"; version="2.1-5"; sha256="1i94bsgc12ysivpy9mdmzcdfki1f84x036danki7ynrbym2b3c7a"; depends=[MASS Matrix nadiv pls robustbase]; };
   dmt = derive2 { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[MASS Matrix mvtnorm]; };
   dmutate = derive2 { name="dmutate"; version="0.1.2"; sha256="06gr49j5jz6ns1zydwsqysgkigi2sbm4hdd2jbb82f05rd9spyf3"; depends=[dplyr MASS]; };
-  dnet = derive2 { name="dnet"; version="1.1.4"; sha256="0xccb50a85d9fcxfg0shxf430hzgjyh4qgb3js4sgzi02iagim58"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
+  dnet = derive2 { name="dnet"; version="1.1.5"; sha256="0gw3r4sg0893gjkh54k1gyy3x5wqnv5lxhj8ds1p98c9v7j94z78"; depends=[graph igraph Matrix Rgraphviz supraHex]; };
   dng = derive2 { name="dng"; version="0.2.1"; sha256="0yi1fs4yvlsy3j128l7s5kwq8mhdd5fr74y2bzj7cjrxi7wgz2hg"; depends=[Rcpp]; };
   dnr = derive2 { name="dnr"; version="0.3.4"; sha256="0hzaa308pppq2cqpb067f3y3nyv1p2xdmgy3dykf90psnn5v011p"; depends=[arm ergm glmnet igraph network sna]; };
-  do = derive2 { name="do"; version="1.0.0.0"; sha256="1r7c4n4821b27czyqy7162wwbnwg6ps74diwd4s8zyilxjs782gn"; depends=[plyr reshape2]; };
-  doBy = derive2 { name="doBy"; version="4.6-2"; sha256="02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb"; depends=[dplyr magrittr MASS Matrix plyr]; };
-  doFuture = derive2 { name="doFuture"; version="0.8.1"; sha256="1akjzzqsa768y6d4ligr4mrcb107g5jwcl0rm34hbnqm81qms0bz"; depends=[foreach future globals iterators]; };
+  do = derive2 { name="do"; version="1.1.0.0"; sha256="1v80vq8rc8ywajgi08xxkpcbhi800qjix5fyqi12ynq83wqmn93x"; depends=[data_table plyr]; };
+  doBy = derive2 { name="doBy"; version="4.6-3"; sha256="1d0d6pwai1g4i5jls0jm9va29ci5hy92n5957608f3fzi1jwy635"; depends=[broom Deriv dplyr magrittr MASS Matrix pbkrtest plyr tibble]; };
+  doFuture = derive2 { name="doFuture"; version="0.8.2"; sha256="0p69gh3adwhinpxry380wccwiq85zr2h49chxz1qwacavvafcvv8"; depends=[foreach future globals iterators]; };
   doMC = derive2 { name="doMC"; version="1.3.6"; sha256="1cn9gxavhvjswip8pwvkpi7q6wpzdllcsdjabga8akf55nggqxr9"; depends=[foreach iterators]; };
   doMPI = derive2 { name="doMPI"; version="0.2.2"; sha256="0ahwm17p3gq1yvc8v6sr6sb8z7i6zws8d1pf46qynl0gd4amg938"; depends=[foreach iterators Rmpi]; };
   doParallel = derive2 { name="doParallel"; version="1.0.15"; sha256="0vnqbha3gig3awbfvsfx3ni5jir398md1n7xmsb8jihnjsk7xbbi"; depends=[foreach iterators]; };
@@ -6826,6 +6947,7 @@ in with self; {
   dobin = derive2 { name="dobin"; version="1.0.0"; sha256="023s1gq9wqsaf9390nxqclpwwmxfpyv0sxxb8nnck7lpsl5g1pkl"; depends=[FNN pracma]; };
   dobson = derive2 { name="dobson"; version="0.4"; sha256="0xfn7s3wzrv1md40bdjrnjfiqyxg5c6lrcpnvayjdgrhxq161hhq"; depends=[]; };
   dockerfiler = derive2 { name="dockerfiler"; version="0.1.3"; sha256="128648s9lj96p3nlxwy4gs108w5kjcg6w48nfx3r52gb8w2z7948"; depends=[attempt glue R6]; };
+  docknitr = derive2 { name="docknitr"; version="0.4.0"; sha256="1gc2dvji07fzmippnnk6m8v7wra4cprfayqa6skymnp14nf14h00"; depends=[knitr]; };
   docopt = derive2 { name="docopt"; version="0.6.1"; sha256="06zknnd0c5s2y0hbddzdlr3m63ib783izpck6pgz7sjbab5pd068"; depends=[]; };
   docopulae = derive2 { name="docopulae"; version="0.4.0"; sha256="186mfiy4ygx6spnv7yrm5h0k6nf2g1xhk1l05iij39j5al5d9j21"; depends=[]; };
   docstring = derive2 { name="docstring"; version="1.0.0"; sha256="19z5frhxbdc5c4vrkckgqbh9mx4d9w1icw8szsw9yadvbg48nlhl"; depends=[roxygen2]; };
@@ -6835,11 +6957,13 @@ in with self; {
   documenter = derive2 { name="documenter"; version="0.1.1"; sha256="0y6zrvmb9bhc1ni4v89h9pq5ara8p2v4b35ylasia5s9x1y93mcp"; depends=[htmltools magrittr officer xml2 yaml]; };
   docxtools = derive2 { name="docxtools"; version="0.2.1"; sha256="09fcamrr3yw1zrj4bx8ra9yidprk1h44p48by85zjqwd1ly4gqbf"; depends=[dplyr ggplot2 lubridate purrr rlang stringr tidyr]; };
   docxtractr = derive2 { name="docxtractr"; version="0.6.1"; sha256="03bcaiwxxybbdxh26rp4bl66aiv4hxmgn21w6dxm383xha03iqfw"; depends=[dplyr httr magrittr purrr xml2]; };
-  doex = derive2 { name="doex"; version="1.1"; sha256="1md7l1kr7i258kycxlpsar6aq5vll6qjqyabjgi14f2hp5p8b6ah"; depends=[]; };
+  dodgr = derive2 { name="dodgr"; version="0.2.5"; sha256="0n4jh7rdj4qxmi1wns3ida8pa7rlvz6lrjl0n9ba18w3mgg1z483"; depends=[callr digest igraph magrittr osmdata Rcpp RcppParallel]; };
+  doex = derive2 { name="doex"; version="1.2"; sha256="1r999z30ipa04pgck0hfalqxihb1bj8sdhlkkhf4plb7maaz3qm3"; depends=[]; };
   dominanceanalysis = derive2 { name="dominanceanalysis"; version="1.2.0"; sha256="04x0l37lbdjflz2jr5h95hd9a3c858p7j1p2mscyn08c986j04mb"; depends=[]; };
   domino = derive2 { name="domino"; version="0.3.1"; sha256="0f67w0z5jy82kgm3l1rji430ayigw30vmmwp3i1nz0xibsx7jxv4"; depends=[]; };
+  donut = derive2 { name="donut"; version="1.0.0"; sha256="1m10kcdcr9ma4zmc1gj3lyza8zxvnn57wvxznaappaba4a5b47v2"; depends=[]; };
   doremi = derive2 { name="doremi"; version="0.1.1"; sha256="1h36sj60l5sd5ybbdyrv0wkr9p18j7iwg111khq0znb71xi5nzp7"; depends=[data_table ggplot2 lme4 lmerTest zoo]; };
-  dosearch = derive2 { name="dosearch"; version="1.0.2"; sha256="090k7fbla5xsczbbz7qglnbnngi1gdhjis4yy6bccw9v9s4mfg9s"; depends=[Rcpp]; };
+  dosearch = derive2 { name="dosearch"; version="1.0.4"; sha256="1hq85jym0plf8hj77bfd623nhyjgfqqzm1w92n3lii3j5lv9vrwg"; depends=[Rcpp]; };
   dosresmeta = derive2 { name="dosresmeta"; version="2.0.1"; sha256="0qdalzdk7q4wx3vl5f3i64m8cb7vhi4pqzghar32j0a7l6gla04z"; depends=[mvmeta]; };
   dostats = derive2 { name="dostats"; version="1.3.2"; sha256="15j9sik9j5pic5wrp0w26xkrhi337xkbikw0k7sa4yfimw6f84w5"; depends=[]; };
   dotCall64 = derive2 { name="dotCall64"; version="1.0-0"; sha256="1b8p7m3w0m7bp977c6jz74xkd611cxg11j49yza59k5fp338scb9"; depends=[]; };
@@ -6850,6 +6974,7 @@ in with self; {
   double_truncation = derive2 { name="double.truncation"; version="1.4"; sha256="190fwl119ycmiszkq0mqc6dh8adwqx7b0ipmhz71qvqdzgh9gjm9"; depends=[]; };
   downloader = derive2 { name="downloader"; version="0.4"; sha256="1axggnsc27zzgr7snf41j3zd1vp3nfpmq4zj4d01axc709dyg40q"; depends=[digest]; };
   downscale = derive2 { name="downscale"; version="3.0-1"; sha256="0kmv4d5fa6mmhmbfqfxzk1gv55j15d7madsdqi8470bwh0kkya4y"; depends=[cubature minpack_lm raster Rmpfr sp]; };
+  downscaledl = derive2 { name="downscaledl"; version="1.0"; sha256="0lqxngzpxj65b48j5w0n8dg6fp4lgg5zpgxc2wj6d9wh5f97l71b"; depends=[dplyr keras magrittr raster Rcpp RcppArmadillo rgdal rstack sp tensorflow]; };
   downsize = derive2 { name="downsize"; version="0.2.2"; sha256="18b9shd79z0bsdnp0apqqwv6c73j4wnfiv41ywqz761nmxbldxbn"; depends=[magrittr R_utils]; };
   dpa = derive2 { name="dpa"; version="1.0-3"; sha256="0dmwi68riddi1q4b10c12wx6n7pqfmv30ix5x72zpdbgm72v343h"; depends=[igraph sem]; };
   dparser = derive2 { name="dparser"; version="0.1.8"; sha256="1yx425s3iq03j043g41pyfp3cgmajb4qh50zirhd0qpplzwy8xj5"; depends=[digest]; };
@@ -6861,18 +6986,17 @@ in with self; {
   dplyr = derive2 { name="dplyr"; version="0.8.3"; sha256="032c89wa04g9rih9shyvwl3il0bsrv3xk489x6867sk9bb3amd38"; depends=[assertthat BH glue magrittr pkgconfig plogr R6 Rcpp rlang tibble tidyselect]; };
   dplyr_teradata = derive2 { name="dplyr.teradata"; version="0.3.2"; sha256="1pq630hlvpfrhaxqn6yh0kgapgibrnbic78g130d40visak60j1p"; depends=[bit64 DBI dbplyr dplyr odbc rstudioapi]; };
   dplyrAssist = derive2 { name="dplyrAssist"; version="0.1.0"; sha256="1lqizh70b1apyr4578917gv6s0i7p84ak96a57kvwipmh36a4ywn"; depends=[DT magrittr miniUI plyr rstudioapi shiny shinyAce shinyWidgets stringr tidyr tidyverse]; };
-  dpmixsim = derive2 { name="dpmixsim"; version="0.0-9"; sha256="064i122j8vkpjxzfrhp25kb6nv5j3a7s8qk0202x7vnvj9caqjvx"; depends=[cluster oro_nifti]; };
   dpmr = derive2 { name="dpmr"; version="0.1.9"; sha256="1cnjywkvjb4fhbf4shjmsrq47f1fg2x21hcm1q5512bm0wg9i6jd"; depends=[digest httr jsonlite magrittr rio]; };
   dprint = derive2 { name="dprint"; version="0.0.4"; sha256="13bq6yjlp5p5rcsz684rqcigp42xnz3p5phnqmrhzm874gfzm8rj"; depends=[]; };
   dqrng = derive2 { name="dqrng"; version="0.2.1"; sha256="0rp8q5zijlvaqmpnkwr314w9w40sj4fz7sqsdgsffcfvn42w2jg1"; depends=[BH Rcpp sitmo]; };
   dqshiny = derive2 { name="dqshiny"; version="0.0.3"; sha256="1fra6fbv8if7wwr8vi3261rdzv4kj99y841lb9xiv1mh72r3mx58"; depends=[htmltools shiny]; };
   dr = derive2 { name="dr"; version="3.0.10"; sha256="0dmz4h7biwrn480i66f6jm3c6p4pjvfv24pw1aixvab2vcdkqlnf"; depends=[MASS]; };
-  dr4pl = derive2 { name="dr4pl"; version="1.1.8"; sha256="13ic6lmk2cdh6pvjfpkcnv41mgr27amay2g501ag5ppl4b95lc2q"; depends=[ggplot2 Matrix matrixcalc Rdpack tensor]; };
+  dr4pl = derive2 { name="dr4pl"; version="1.1.11"; sha256="0vv3h4sxw38grhr70s28sxkca20adnqdmpp8qqwlbr3dw950yaa3"; depends=[ggplot2 Matrix matrixcalc Rdpack tensor]; };
   drLumi = derive2 { name="drLumi"; version="0.1.2"; sha256="09ps8rcqrm6a1y8yif2x82l0k4jywq60pkndh9nzfpbsw4ak2lby"; depends=[chron gdata ggplot2 Hmisc irr minpack_lm msm plyr reshape rootSolve stringr]; };
-  dragon = derive2 { name="dragon"; version="0.2.0"; sha256="16jf6b0zkps9z5z8nsgfgny2jp3fbbwihd2v20w41b0lb3swj757"; depends=[broom colorspace colourpicker cowplot DT igraph magrittr RColorBrewer shiny shinyBS shinydashboard shinythemes shinyWidgets tidyverse visNetwork]; };
+  dragon = derive2 { name="dragon"; version="0.2.1"; sha256="1y2dav9151zdcqw1maxhh3s4c1syk5rs8yb8grx8xkffvg5123w7"; depends=[broom colorspace colourpicker cowplot DT igraph magrittr RColorBrewer shiny shinyBS shinydashboard shinythemes shinyWidgets tidyverse visNetwork]; };
   dragonking = derive2 { name="dragonking"; version="0.1.0"; sha256="01b01wd1s2b8sa9f0kfbf2pbzhaqra7xxskigqh3vlj389xqm1id"; depends=[]; };
   dragulaR = derive2 { name="dragulaR"; version="0.3.1"; sha256="1cw5v7m1b4pxsizsjb3zdzhydxj577p6q5fcjklsvpzmiixzlyav"; depends=[htmlwidgets shiny shinyjs]; };
-  drake = derive2 { name="drake"; version="7.6.2"; sha256="1hkvb7hs2yh4vwm76lzkyi9kxmvjrmrwf08gykkvypc6xa9vnvvf"; depends=[base64url digest igraph rlang storr txtq]; };
+  drake = derive2 { name="drake"; version="7.8.0"; sha256="0s9dv0013vknpcagrd1makzpzmkf8ag5b2zja4vw3d4895cpx6vd"; depends=[base64url digest igraph rlang storr txtq]; };
   drat = derive2 { name="drat"; version="0.1.5"; sha256="0i80c4hyclwnq8g8amvdid9pwr11mwbscwydaxmvbrbhv3qzjg6d"; depends=[]; };
   draw = derive2 { name="draw"; version="1.0.0"; sha256="0kbz8rcgygl4fhmljzaan5jl7wjvfljcaykm7q9lw9s6m78p06gz"; depends=[]; };
   drc = derive2 { name="drc"; version="3.0-1"; sha256="0c8xn8ripzq270hy8d16fcnx02l02alddznd7fqwk3jyi6113h1y"; depends=[car gtools MASS multcomp plotrix scales]; };
@@ -6885,7 +7009,7 @@ in with self; {
   droptest = derive2 { name="droptest"; version="0.1.3"; sha256="1wlfhj6c4pb5mcybyd2bcn55y3azk7dv7d7il97qwbhl8kf59csl"; depends=[data_table]; };
   drsmooth = derive2 { name="drsmooth"; version="1.9.0"; sha256="1wgi961bvbsnq4bygxbpy4sy5fy34lrrkaaj0r2rxcahwa1sc38n"; depends=[boot car DTK lubridate mgcv multcomp pgirmess segmented]; };
   drtmle = derive2 { name="drtmle"; version="1.0.4"; sha256="0k8cps3kpfrlv33a0czjp327qzdj69lwbpv4k5q7qjcv0878yypg"; depends=[doFuture future future_apply future_batchtools np plyr SuperLearner]; };
-  drugCombo = derive2 { name="drugCombo"; version="1.1.0"; sha256="0y8zjcbaympczrvr4dfbd1n83iliv5qv4xz9za4zm412c1dkdd24"; depends=[BIGL Deriv ggplot2 minpack_lm nlme rgl]; };
+  drugCombo = derive2 { name="drugCombo"; version="1.1.1"; sha256="0f4akxmj5jd89jm7kzkmqksxmb6fqj7jawvm3hpw6limyry3mp4z"; depends=[BIGL Deriv ggplot2 minpack_lm nlme rgl]; };
   drumr = derive2 { name="drumr"; version="0.1.0"; sha256="09xi3sf424bpq10fq25j209dylfbi1lfd911r44ffadkxzvp5p1s"; depends=[audio stringr]; };
   ds = derive2 { name="ds"; version="4.0"; sha256="1iic5fb27cnhsa83zg28hydrhzc01i9z0711xvk95c3gv7mbfp2p"; depends=[]; };
   ds4psy = derive2 { name="ds4psy"; version="0.1.0"; sha256="15knnl0ld8vnb3mv06p7425h7w5y5m598k4dny8svqwranhs856a"; depends=[cowplot ggplot2 here readr stringr tibble tidyr tidyverse unikn]; };
@@ -6902,27 +7026,29 @@ in with self; {
   dst = derive2 { name="dst"; version="1.4.0"; sha256="0zr04m33ky98y5n6jbczcfn898i7y8zc1hygfm8p9rrnw93d2lin"; depends=[]; };
   dstat = derive2 { name="dstat"; version="1.0.4"; sha256="023jp0xdbg200ww1gnr3fzgjqd82acag0jps7q6j6m27q11psvgz"; depends=[]; };
   dtables = derive2 { name="dtables"; version="0.2.0"; sha256="0ikgip3p4b7q97b2dshlx0fq09xsk304gfk5prw4rk95w9wck3qs"; depends=[psych]; };
-  dtangle = derive2 { name="dtangle"; version="0.3.1"; sha256="0kvds49gx850rmrcja0xr3j9nja5zqnsg1q2zjb07qp425jc3j46"; depends=[]; };
-  dti = derive2 { name="dti"; version="1.4.2"; sha256="0f4ck215p3i1dnl0hzjzrx1llgjd67zyabzwmbj0s5my4byj8xiz"; depends=[adimpro awsMethods gsl oro_dicom oro_nifti quadprog rgl]; };
+  dtangle = derive2 { name="dtangle"; version="2.0.9"; sha256="0yg1fbrqixqp93vdw3grvz1la5l2kidgs730qp6yihkp3260cxf3"; depends=[DEoptimR]; };
+  dti = derive2 { name="dti"; version="1.4.3.1"; sha256="147s8aj65jyrz9qwiwjpa3ly1nsv201z5r7xmg03fj2vlx93k44k"; depends=[adimpro awsMethods gsl oro_dicom oro_nifti quadprog rgl]; };
   dtp = derive2 { name="dtp"; version="0.1.0"; sha256="0qy8nrbq22bfbajkxq6blkq7583pc5mb392gmqb3c9daxmqn42vb"; depends=[Formula gtools plyr]; };
   dtpcrm = derive2 { name="dtpcrm"; version="0.1.1"; sha256="0k25fm0z3snpx1v2kwd50svgnkjhn5c0hy1gnlw2lif6rjz1fzd9"; depends=[dfcrm diagram]; };
-  dtplyr = derive2 { name="dtplyr"; version="0.0.3"; sha256="04yawjzyij0hlarifb9w4bnxybf73crwidvd5nwclscbis22a29r"; depends=[data_table dplyr lazyeval rlang]; };
+  dtplyr = derive2 { name="dtplyr"; version="1.0.0"; sha256="115b08fc3rpj101i0j5gx2z3w80ylgampzvb674jhx2jxf4kl9c7"; depends=[crayon data_table dplyr rlang tibble tidyselect]; };
   dtree = derive2 { name="dtree"; version="0.4.2"; sha256="1cpv0pyf515610djxzfw1c83p3alk5a93clg4x9gk7a7qy4cyhr1"; depends=[caret evtree party partykit rpart]; };
   dtt = derive2 { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
   dttr2 = derive2 { name="dttr2"; version="0.0.1"; sha256="042zll9hw4ljwr85x4dmkv8nz6r0mpawaa5s58ngxypshss8sbg0"; depends=[checkr hms]; };
   dtw = derive2 { name="dtw"; version="1.21-3"; sha256="02hyhx1sy5h3vzh9zixy18a7d47df4k5d0wyflcvlcbsbcl6p90s"; depends=[proxy]; };
   dtwSat = derive2 { name="dtwSat"; version="0.2.5"; sha256="0qvjzqmi6plkq5l4r52c7wil58n41l5f5dxzpk9r4yis8bdm5zlq"; depends=[caret dtw ggplot2 lubridate mgcv plyr proxy raster RColorBrewer Rdpack reshape2 rgdal scales snow sp xtable zoo]; };
   dtwclust = derive2 { name="dtwclust"; version="5.5.5"; sha256="1jmbcmkw7kvd0vr8rlnqyi5i8kgnlxm5rwbgjzl8cv2d3v67rm18"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel RcppThread reshape2 RSpectra shiny shinyjs]; };
-  duawranglr = derive2 { name="duawranglr"; version="0.6.3"; sha256="0swvrdwnbyigsvds3s32nw79b245q3cgv7xskjx7qjcpnvzr7x7q"; depends=[digest dplyr haven readr readxl]; };
+  duawranglr = derive2 { name="duawranglr"; version="0.6.5"; sha256="04w8ll6p8m0ljcp96sfp028afgxddk4wyncfdwiywi0ps34zh084"; depends=[digest dplyr haven readr readxl]; };
   dub = derive2 { name="dub"; version="0.2.0"; sha256="066lzyk44380mf17vx4db4a3a4rs7zl85mj5hjg172khjbqnbixw"; depends=[]; };
   duckduckr = derive2 { name="duckduckr"; version="1.0.0"; sha256="1wki8xvqp5hr27iafd9jbryl9faywfkdkpn0pa0afywbic39k2cm"; depends=[crul jsonlite]; };
   dummies = derive2 { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
   dummy = derive2 { name="dummy"; version="0.1.3"; sha256="081a5h33gw6ym4isy91h6mcf247c2vsdygv9ll07a3mgjcjnk79p"; depends=[]; };
   dunn_test = derive2 { name="dunn.test"; version="1.3.5"; sha256="0lqwvyl3pyygfc73nf81gzw3zl3w43r7ki0yw2dgrzhkpb2iji4a"; depends=[]; };
   dupiR = derive2 { name="dupiR"; version="1.2"; sha256="0p649yw7iz6hnp7rqa2gk3dqkjbqx1f6fzpf1xh9088nbf3bhhz3"; depends=[plotrix]; };
+  dupree = derive2 { name="dupree"; version="0.2.0"; sha256="12dlqmvk2zlxh283xjf2d6x12cy6r3rsy88y5g40h9002m7i2jqy"; depends=[dplyr lintr magrittr purrr rlang stringdist tibble]; };
   durmod = derive2 { name="durmod"; version="1.1-2"; sha256="1mp97x8px4s53m91m5vnkixgz087wgd4bas64xdbki6y53zimzjj"; depends=[data_table mvtnorm nloptr numDeriv Rcpp]; };
   dvmisc = derive2 { name="dvmisc"; version="1.1.3"; sha256="0x391pxg5mqgp5xxc8qwhwxky8ds7d9gr9iwmsb12c92kxfk00bv"; depends=[cubature data_table dplyr ggplot2 MASS mvtnorm pracma purrr rbenchmark Rcpp survey]; };
   dwapi = derive2 { name="dwapi"; version="0.1.3.1"; sha256="1sz4n8vn7cmlilxzhkm4rdfca0904cbh28n5383p9pr46bdi69q5"; depends=[httr jsonlite readr rjson xml2]; };
+  dwdradar = derive2 { name="dwdradar"; version="0.2.0"; sha256="06wa3m77931lv47530hyczwdjrrfdmgczmbhwy0z9fzhn8kz0ipp"; depends=[]; };
   dwlm = derive2 { name="dwlm"; version="0.1.0"; sha256="0n5dil9qvyy4gish3wnv8bzq0ci1p0dr2vmbbadl29jl7rd1v0rc"; depends=[]; };
   dyads = derive2 { name="dyads"; version="1.1.2"; sha256="014gphxkn0wkdq5zgd71vv9dmzyswgpari59w5mf2070c0rr56n5"; depends=[MASS mvtnorm]; };
   dydea = derive2 { name="dydea"; version="0.1.0"; sha256="15alr3f6wkkpjd5wmcjazi58yc8gwcqr662mjwlfg15r94fzqrlg"; depends=[Chaos01]; };
@@ -6933,10 +7059,10 @@ in with self; {
   dynOmics = derive2 { name="dynOmics"; version="1.2"; sha256="0fsck5wx4rcfckjr6xg0s3a6cvh4881cqzy0af91icqg0p3zjj2l"; depends=[ggplot2 gplots]; };
   dynRB = derive2 { name="dynRB"; version="0.15"; sha256="0fa6g4aj2cncg6mi0yc2yn6321qi7fz9d9cvqrnxhcnbbghdyzq9"; depends=[corrplot dplyr foreign ggplot2 RColorBrewer reshape2 vegan]; };
   dynaTree = derive2 { name="dynaTree"; version="1.2-10"; sha256="1ng672mlv98xnsbd4xq70hxc8j158la4n63y46rw74granaz29ya"; depends=[]; };
-  dynamac = derive2 { name="dynamac"; version="0.1.9"; sha256="09lbhs1k5n9l57ml7wzrp63rzx4j79vb86jqfdd8zpf1jl512ffh"; depends=[lmtest MASS]; };
+  dynamac = derive2 { name="dynamac"; version="0.1.10"; sha256="10qz2wx39rb7d1z0drzxm4m30bg9hvi3bjr9m10z3hdkzsg1ybvw"; depends=[lmtest MASS]; };
   dynamicGraph = derive2 { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
   dynamicTreeCut = derive2 { name="dynamicTreeCut"; version="1.63-1"; sha256="1fadbql7g5r2vvlkr89nlrjxwp4yx4xrdqmv077qvmnx9vv0f4w3"; depends=[]; };
-  dynamichazard = derive2 { name="dynamichazard"; version="0.6.5"; sha256="1f12c89p5b6yfhha5gzacf82bjgmvri5xnhhpwcqrxa3mli4d1hb"; depends=[boot nloptr Rcpp RcppArmadillo survival]; };
+  dynamichazard = derive2 { name="dynamichazard"; version="0.6.6"; sha256="1ad4ymi28yx6vh3x8p4pm4ph81fb9fkhk4zfhbl60522d4kjbsjq"; depends=[boot Rcpp RcppArmadillo survival]; };
   dynamo = derive2 { name="dynamo"; version="1.0"; sha256="0arsv686ix7xpca57ayqgifim1q35dl4w2mx7fw8bc0lidapilyp"; depends=[abind glamlasso MortalitySmooth Rcpp RcppArmadillo]; };
   dynatopmodel = derive2 { name="dynatopmodel"; version="1.2.1"; sha256="0lpfhj69bvagqzzg2kjqvn9xx8f93ii34flrrns20z3bxla6gds9"; depends=[deSolve lubridate maptools raster rgdal rgeos sp topmodel xts zoo]; };
   dyncomp = derive2 { name="dyncomp"; version="0.0.2-1"; sha256="13wp2k8nbgrbrqng2dmgy0ixgidk51wq9y7mv5pdbvdajxdsyh11"; depends=[zoo]; };
@@ -6949,28 +7075,28 @@ in with self; {
   dynparam = derive2 { name="dynparam"; version="1.0.0"; sha256="0rzkksb0j7vybz4mk9c4sm3zcxdjll1bqx54cbal8a0iq259rigp"; depends=[assertthat carrier dplyr dynutils Hmisc magrittr purrr stringr testthat tibble tidyr]; };
   dynpred = derive2 { name="dynpred"; version="0.1.2"; sha256="111ykasaiznn3431msj4flfhmjvzq7dd1mnzn1wklc5ndix1pvf9"; depends=[survival]; };
   dynprog = derive2 { name="dynprog"; version="0.1.0"; sha256="1rvn2zyhdi60y01zbvfv4him6iz2ljdr7ivkr7m7y7yd1lg547ax"; depends=[rlang]; };
-  dynr = derive2 { name="dynr"; version="0.1.14-85"; sha256="0b0fyiyqr2hhzglr6l7k4qfxz2pq3wkq1xcmmsyjyyxj1zj4d5a6"; depends=[ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 xtable]; };
+  dynr = derive2 { name="dynr"; version="0.1.15-1"; sha256="1vd93mckc8q8wvs3sgly7j1vn1i2qis6pcyqiag6nqz5xjfv6rn4"; depends=[car deSolve fda ggplot2 latex2exp magrittr MASS Matrix mice numDeriv plyr Rdpack reshape2 stringi tibble xtable]; };
   dynsbm = derive2 { name="dynsbm"; version="0.6"; sha256="0sdy42ihymhzx577jc2qr7lwirc9lviz3sagfy09zhbwizz5a4kw"; depends=[RColorBrewer Rcpp riverplot]; };
   dynsim = derive2 { name="dynsim"; version="1.2.1"; sha256="0nkxn9v4f353fhcn1vsdrh29mrms10zid63b84flg3c6hvc0x4qr"; depends=[ggplot2 gridExtra MASS]; };
   dynsurv = derive2 { name="dynsurv"; version="0.3-7"; sha256="0ar8n84fpfy68cx321syg8hvjxjnh00mw0a9sid9dw58f956phf8"; depends=[BH ggplot2 nleqslv plyr reshape survival]; };
   dynutils = derive2 { name="dynutils"; version="1.0.4"; sha256="1rzwcfbv5aqa08fy9i1fiz4a7v3z2skyyjz392rjsbwpnlk77ryh"; depends=[assertthat crayon desc dplyr magrittr Matrix proxyC purrr Rcpp remotes stringr tibble]; };
-  e1071 = derive2 { name="e1071"; version="1.7-2"; sha256="0lipj692rjjw8rrhqh2k9i5dh8y2sjrw9q53rwm32irhx2f2j73j"; depends=[class]; };
+  dynwrap = derive2 { name="dynwrap"; version="1.1.4"; sha256="11c8rd9yv54a7g1ypdniw4vchcpa3lbijnh67srp6fymrlf82z7d"; depends=[assertthat babelwhale crayon dplyr dynparam dynutils FNN glue hdf5r igraph jsonlite magrittr Matrix processx purrr readr reshape2 stringr testthat tibble tidyr yaml]; };
+  e1071 = derive2 { name="e1071"; version="1.7-3"; sha256="0pf2pjb590z0jikgv1037xcp7dq06mg3dzmyffjw6gk7dd9blbdv"; depends=[class]; };
   eAnalytics = derive2 { name="eAnalytics"; version="0.1.4"; sha256="15hhd4q2yxzq3a3awvk81ixa43hk519ym8ap7v1ahghyr0njnyyf"; depends=[dplyr DT energyr googleVis leaflet plotly shiny shinydashboard shinytest shinyWidgets]; };
   eChem = derive2 { name="eChem"; version="1.0.0"; sha256="0wmf204hqd4s5har5l9bkcbrbmbqbb8m11w2aivi2gs98f3hy51p"; depends=[animation plot3D]; };
   eDMA = derive2 { name="eDMA"; version="1.5-3"; sha256="0wyp81si6lcispqng4c7lii22qbyblvijgnlxvcsnkcxj5hpm76j"; depends=[Rcpp RcppArmadillo xts zoo]; };
   eGST = derive2 { name="eGST"; version="1.0.0"; sha256="0qi4vg0pwy55js9ww1cw85ssim3x7s2p98cjijxvlrvid8sns5bq"; depends=[MASS matrixStats mvtnorm purrr]; };
-  eHOF = derive2 { name="eHOF"; version="1.8"; sha256="0g0sb98mlgvhs27s0a1x0ysj3r4p3r7i382fqzfv29kn1ayw0r5c"; depends=[lattice mgcv]; };
   eMLEloglin = derive2 { name="eMLEloglin"; version="1.0.1"; sha256="087zw48lykls2jcsmpqd5jkrlpr0j423snp00liszjhdpdh59saq"; depends=[lpSolveAPI]; };
   eNetXplorer = derive2 { name="eNetXplorer"; version="1.1.0"; sha256="1n84rf9axvvjf6s0mamf5z889hg3y32mhypasmxc455698z3d1k5"; depends=[calibrate expm glmnet gplots Matrix progress RColorBrewer survcomp survival survivalROC]; };
-  ePCR = derive2 { name="ePCR"; version="0.9.9-9"; sha256="0ix7rvh9w4zcp7k0m5bm16wdjs6yr7wvnsc9mssfrwcjx0p57nlx"; depends=[Bolstad2 glmnet hamlet impute pracma survival timeROC]; };
+  ePCR = derive2 { name="ePCR"; version="0.9.9-11"; sha256="0bkvjvygdnzcc23sslgkcrx11mzwgsqss37lwnbr7rq0jp1sw46s"; depends=[Bolstad2 glmnet hamlet impute pracma survival timeROC]; };
   eRTG3D = derive2 { name="eRTG3D"; version="0.6.2"; sha256="04m39jkp4lvv145wmcswc87qx36wpfkm95kq9fik8a3jb5myvjll"; depends=[CircStats ggplot2 gridExtra pbapply plotly plyr raster rasterVis sp tiff]; };
   eRm = derive2 { name="eRm"; version="1.0-0"; sha256="11p8j61arq1ih2qi33wf0442vcdbp3zvknzm5aknsifwl4mbzzly"; depends=[lattice MASS Matrix]; };
-  eSDM = derive2 { name="eSDM"; version="0.3.0"; sha256="15slr528qbf4nhmwlcbj96gsjhmf8y3pc7dzicy6x5xc5c7r6ywf"; depends=[colorRamps colourpicker dichromat dplyr DT leaflet lwgeom purrr raster RColorBrewer rlang ROCR sf shiny shinycssloaders shinydashboard shinyjs tmap units viridis zip]; };
+  eSDM = derive2 { name="eSDM"; version="0.3.1"; sha256="1q0482n7p4880brjnrfg4xzqz7wz4g6v4rdgg3ljnhidipszkp2d"; depends=[colorRamps colourpicker dichromat dplyr DT leaflet lwgeom purrr raster RColorBrewer rlang ROCR sf shiny shinycssloaders shinydashboard shinyjs tmap units viridis zip]; };
   eaf = derive2 { name="eaf"; version="1.8"; sha256="1plzvfa2vs3njky7xk9dvic2xapdnzb5iycrksv0qj03ylbh6410"; depends=[modeltools]; };
   earlyR = derive2 { name="earlyR"; version="0.0.1"; sha256="14davqhh3n5dfsddnfd79ni56bssrpwhvkqkdb77a8x9fn8w32pv"; depends=[distcrete EpiEstim epitrix]; };
   earlygating = derive2 { name="earlygating"; version="1.0"; sha256="0y6xjkh9p8bvanc9p5sycah8v81k85xr8i7vyvjb9g4a64srwhd7"; depends=[betareg doParallel foreach]; };
   earlywarnings = derive2 { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[fields ggplot2 Kendall KernSmooth lmtest moments nortest quadprog som spam tgp tseries]; };
-  earth = derive2 { name="earth"; version="5.1.1"; sha256="0dz2jl0jw9sbz5ym92hfzx3pzf234wbfkjp6i7d5cgrjfpaa5xil"; depends=[Formula plotmo TeachingDemos]; };
+  earth = derive2 { name="earth"; version="5.1.2"; sha256="13a8qfv94bqnjkacnr0nz1g8yd99cnyz4k2qslyclrckqbl9hvrj"; depends=[Formula plotmo TeachingDemos]; };
   earthtide = derive2 { name="earthtide"; version="0.0.9"; sha256="14i1ihswvspqlis9h9m4xfjmhqwz1nj6blhdzqanvd05abw6qnkx"; depends=[BH R6 Rcpp RcppArmadillo RcppParallel]; };
   earthtones = derive2 { name="earthtones"; version="0.1.1"; sha256="17biiw0ig8i8ihc2f8csp0bqryygg27ic2v1vrf81ax3qzhngy4l"; depends=[ggmap]; };
   easyAHP = derive2 { name="easyAHP"; version="0.1.1"; sha256="161mn90j9ph1p9277mj61hch8ndcv7k9izs32q93y5wp474gzynd"; depends=[]; };
@@ -6988,6 +7114,7 @@ in with self; {
   easynls = derive2 { name="easynls"; version="5.0"; sha256="1ma2q4y5dxk6q99v880vqfsgy1fha96j7pi8ch699l0pi6bx0d6c"; depends=[]; };
   easypackages = derive2 { name="easypackages"; version="0.1.0"; sha256="00paxdwz4bw3imqhcsw6hj1h0gmnpishlxcj79n826vhdy23jc4y"; depends=[assertthat devtools]; };
   easypower = derive2 { name="easypower"; version="1.0.1"; sha256="1vf0zv55yf96wjxja6ifdjvgc9nw0jl0hnc1ygyjd8pmwbgdz9bl"; depends=[pwr]; };
+  easyr = derive2 { name="easyr"; version="0.1-1"; sha256="0ha64fl9kvnnc4i9bwg7bv065w2v1y7lcdgsyp7s6ik2lpfc73rx"; depends=[data_table digest dplyr foreign glue Hmisc lubridate openssl readxl rlang stringr tibble XML]; };
   easyreg = derive2 { name="easyreg"; version="4.0"; sha256="1w4wlhziyhdyldm0zgnm73fnxrh0fv8hwcw5j8ircxb4npx7bcgg"; depends=[nlme]; };
   ebGenotyping = derive2 { name="ebGenotyping"; version="2.0.1"; sha256="1jllzc7kvvckrws8qhgvwy626llyb68sp1davp7swx48sf7rwcxc"; depends=[]; };
   ebSNP = derive2 { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
@@ -6997,6 +7124,7 @@ in with self; {
   ebimetagenomics = derive2 { name="ebimetagenomics"; version="0.6"; sha256="0jaz7l71pnf3i2q83mx0pjqli9sn30a4b9vshcmp70v3h6xdj9wx"; depends=[breakaway sads vegan]; };
   ebirdst = derive2 { name="ebirdst"; version="0.1.0"; sha256="1bj4jb2cg08z58p9ih9c9f3jfy8xxm4rz99hdm29282dy37xn7dz"; depends=[car data_table dplyr fasterize gbm ggplot2 gridExtra mgcv PresenceAbsence rappdirs raster rgdal scales sf stringr tidyr viridisLite xml2]; };
   ebmc = derive2 { name="ebmc"; version="1.0.0"; sha256="0v9hkzy8ljddmi6wdjd1jga4ib566ikr1vgrvxba67ka524r6bbp"; depends=[C50 DMwR e1071 pROC randomForest rpart]; };
+  ebreg = derive2 { name="ebreg"; version="0.1.0"; sha256="033ldzj9r9y14nq5bsy1ds9vys8imk1ysii8b889zd1bi319b05y"; depends=[lars Rdpack]; };
   ecb = derive2 { name="ecb"; version="0.2"; sha256="17hj4d48j6rran64ajzlgkgz17mab51fa3lz8rm3mw0qhahkjlmc"; depends=[curl httr rsdmx xml2]; };
   ecd = derive2 { name="ecd"; version="0.9.1"; sha256="0d8mf5q6n7k5qj6kxvrb3habl0qmn2rxv814kydkrz2bg0scvm1q"; depends=[digest ggplot2 gridExtra gsl moments optimx polynom RcppFaddeeva Rmpfr RSQLite stabledist xtable xts yaml zoo]; };
   ecdfHT = derive2 { name="ecdfHT"; version="0.1.1"; sha256="1n3n9n86pj8c54l3xvp7knvi0ajbnjmz9pi79p7wfq92a90fqx48"; depends=[rgl]; };
@@ -7016,7 +7144,7 @@ in with self; {
   ecolottery = derive2 { name="ecolottery"; version="1.0.0"; sha256="0w5aq1aaqzz74vlj8hgnmn60l8rdrchx022dpspqnpvpzdlh65z5"; depends=[abc ggplot2]; };
   econet = derive2 { name="econet"; version="0.1.81"; sha256="0hm1v4fjzyzdaxiw6lar7fxnqsckis3n7nrsravhbllhcf0aqq7w"; depends=[bbmle dplyr igraph intergraph MASS Matrix minpack_lm plyr sna spatstat_utils tnet]; };
   econetwork = derive2 { name="econetwork"; version="0.2"; sha256="0ilqxyvpkiwhhgml19f1rf08bn061nf76d7fby3084ypgc4iwi1b"; depends=[igraph Matrix_utils rdiversity]; };
-  economiccomplexity = derive2 { name="economiccomplexity"; version="0.2.2"; sha256="0hlrpj6mzcvkb7vv4rk32aq7c3782rkd294f59lsbzvfsjzlrz4b"; depends=[dplyr igraph magrittr Matrix rlang tibble tidyr]; };
+  economiccomplexity = derive2 { name="economiccomplexity"; version="0.3"; sha256="058cyzr01jrgi9090wn8vpjhf074bq7g76vfbyk58jic0k78k634"; depends=[dplyr igraph magrittr Matrix rlang tibble tidyr]; };
   econullnetr = derive2 { name="econullnetr"; version="0.1.0.1"; sha256="1ssgvz17a2cpwag786rc6azi3cz74cc4bxz5jjrn1bfq8ch8xqd3"; depends=[bipartite gtools reshape2]; };
   ecoreg = derive2 { name="ecoreg"; version="0.2.2"; sha256="1yzyqvhshgc7ip251y7hsvip4xwf8i92bvvz84mn0mzv5b4mq3im"; depends=[]; };
   ecoseries = derive2 { name="ecoseries"; version="0.1.5"; sha256="1q35hp5hl6z28hns5rnp3mjn6hqp5qh714pagw7fw4d4a6wnvacy"; depends=[magrittr RCurl readr rjson rvest tibble xml2 zoo]; };
@@ -7026,10 +7154,11 @@ in with self; {
   ecotox = derive2 { name="ecotox"; version="1.4.0"; sha256="1x048njvlq7mp0fpx2nal8znhnkw5cnq2z0rmvknm2m66lfhds7a"; depends=[ggplot2 tibble]; };
   ecotoxicology = derive2 { name="ecotoxicology"; version="1.0.1"; sha256="084xkr59d7x9zxmsnsyym2x8jshz6ag6rvnmhd1i6fzar8ypwccb"; depends=[]; };
   ecoval = derive2 { name="ecoval"; version="1.2.5"; sha256="0rlgi8cd7jdybb2dqx6ndp8rg02bvsvhksmh8vk8g5fg2wk0rll3"; depends=[jpeg rivernet utility]; };
-  ecp = derive2 { name="ecp"; version="3.1.1"; sha256="0s0286ky1imhhs89bp1ylx8wvii55v7wzg1g49l03az64971kayj"; depends=[Rcpp]; };
+  ecp = derive2 { name="ecp"; version="3.1.2"; sha256="11f9p869xr0zg779i46gmflxlq4xclk9wxbab0nj2fan26pn4sfy"; depends=[Rcpp]; };
   ecr = derive2 { name="ecr"; version="2.1.0"; sha256="0vvkdxlcqaim9mkgwgdxrx1xhw3lshi1nxfw3kqllq14p3l6xss4"; depends=[BBmisc checkmate ggplot2 parallelMap ParamHelpers reshape2 smoof]; };
   ectotemp = derive2 { name="ectotemp"; version="0.1.2"; sha256="0dy6n2gaz6qgfj2gvavlgl4ic15wq1lb9ykynihi77nyxnz67i46"; depends=[dplyr psych]; };
   ed50 = derive2 { name="ed50"; version="0.1.1"; sha256="058p1750ba5hp4rczi26grgwjia2ny1880v1vfp6wxad13r459pq"; depends=[boot]; };
+  ed50simulation = derive2 { name="ed50simulation"; version="0.1.1"; sha256="00fknpssrpin8bpjhf2lsjx3lbpinrmqa6jzmgy3nslkc51x0939"; depends=[boot]; };
   eda4treeR = derive2 { name="eda4treeR"; version="0.2.0"; sha256="0fh6nfgvbkvjm1f0b292ggi0mr8ylq5pg2wp8cph46j8rhbgbdxz"; depends=[dae dplyr emmeans ggplot2 lme4 magrittr pbkrtest tidyverse]; };
   edarf = derive2 { name="edarf"; version="1.1.1"; sha256="0f27hs7vn4v2jis3d66s48hr0ki8m8ndspcw1cwns5vjwb77iqwm"; depends=[data_table ggplot2 mmpf]; };
   edcc = derive2 { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
@@ -7037,7 +7166,6 @@ in with self; {
   eddi = derive2 { name="eddi"; version="0.0.1"; sha256="19cgrqdcji509igb6rmlwb75xyyvrh34nv6zyjjfcsc31p5nvf95"; depends=[raster rgdal]; };
   edeR = derive2 { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
   edeaR = derive2 { name="edeaR"; version="0.8.3"; sha256="18v85mzs5gys3x4vj9dh941xxbfajlp6zly2q7pf842hs33fipbi"; depends=[bupaR data_table dplyr ggplot2 ggthemes glue hms lubridate miniUI purrr rlang shiny shinyTime stringr tibble tidyr zoo]; };
-  edesign = derive2 { name="edesign"; version="1.0-13"; sha256="0fc3arr8x9x9kshp6jq4m4izzc5hqyn5vl0ys6x0ph92fc6mybp3"; depends=[]; };
   edf = derive2 { name="edf"; version="1.0.0"; sha256="14ikm6j0ndxrk7c7lh5mbd2aci46d4j9a30mvcgnxy3kq6046a7b"; depends=[]; };
   edfReader = derive2 { name="edfReader"; version="1.2.1"; sha256="076far4fhd6rpa6fwffad4cgchjvar135yblvlrm33s9pd5bf0hn"; depends=[]; };
   edfun = derive2 { name="edfun"; version="0.2.0"; sha256="1wxx6bgy03z7c1d6556bbjl1cb49n2vn734fw2d5c1jk0zsh3fmz"; depends=[]; };
@@ -7051,7 +7179,7 @@ in with self; {
   edrGraphicalTools = derive2 { name="edrGraphicalTools"; version="2.2"; sha256="105jv2sz10xbl881lkhgmxzgmb8629mqsminhd197khrkf9nv40i"; depends=[lasso2 MASS mvtnorm rgl]; };
   edstan = derive2 { name="edstan"; version="1.0.6"; sha256="1gm1rxwywigyfdlcm2yj1m9qjb4s6w7chr1ck7b32x1pdxdl3ns5"; depends=[ggplot2 rstan]; };
   educineq = derive2 { name="educineq"; version="0.1.0"; sha256="0qd6kvcy280glv3q6lcrawmnsfvp90as95chgi3hav0yj2dpakn6"; depends=[flexsurv ineq]; };
-  eechidna = derive2 { name="eechidna"; version="1.3.0"; sha256="1hh6qmdsq700q16g7fjvk6gq8z3kd4562ch5pvlb0zqgjx52jskf"; depends=[colourpicker dplyr ggplot2 ggthemes magrittr plotly purrr rgdal rgeos shiny sp stringi tidyr]; };
+  eechidna = derive2 { name="eechidna"; version="1.4.0"; sha256="07537brbdinkrmygbd2galyl6acbcbg2pkjafkdhxdgklpxv7j9m"; depends=[colourpicker dplyr ggplot2 ggthemes magrittr plotly purrr rgdal rgeos shiny sp stringi tibble tidyr tidyselect]; };
   eefAnalytics = derive2 { name="eefAnalytics"; version="1.0.6"; sha256="07wpz8zlgkbzkhmv569w7rnz3i830391arrh17sg2gc4fx9h1559"; depends=[geoR lme4 metafor mvtnorm]; };
   eegkit = derive2 { name="eegkit"; version="1.0-4"; sha256="1r1lack4ps9hwqq56rq37431rcxf3x79zgvda6vrmh4s0ziy6v4x"; depends=[bigsplines eegkitdata ica rgl signal]; };
   eegkitdata = derive2 { name="eegkitdata"; version="1.0"; sha256="1krsadhamv1m8im8sa1yfl7injvrc4vv3p88ps1mpn8hibk5g51m"; depends=[]; };
@@ -7059,9 +7187,10 @@ in with self; {
   eemR = derive2 { name="eemR"; version="1.0.1"; sha256="1w3nwlrbxm7z4c3acx991zk5drgs67qys7kgl0qakh5vrdsrxw3v"; depends=[assertthat dplyr pracma purrr R_matlab rlist stringr viridis]; };
   eeptools = derive2 { name="eeptools"; version="1.2.2"; sha256="1sc9km926pnl6dhk7ir2zx4693bki10zrq09v07k177wq7xlphw9"; depends=[arm data_table ggplot2 maptools vcd]; };
   eesim = derive2 { name="eesim"; version="0.1.0"; sha256="0ljj1jp9cl0im8k7sfjd28ggj4q9a14df3554kwxkssr1vsn1wbc"; depends=[dplyr lubridate purrr viridis]; };
-  effectFusion = derive2 { name="effectFusion"; version="1.1.1"; sha256="1z3m1wadl5qs37mbj335xghinji9qx9njrd9ckvz63xh1sgpz89i"; depends=[bayesm cluster ggplot2 GreedyEPL gridExtra MASS Matrix mcclust]; };
+  effectFusion = derive2 { name="effectFusion"; version="1.1.2"; sha256="0m392wrkmgvys7a2bk2w1swfkjikkllng8sy8wb8s2j9y6c3wanp"; depends=[bayesm cluster ggplot2 GreedyEPL gridExtra MASS Matrix mcclust]; };
   effectR = derive2 { name="effectR"; version="1.0.2"; sha256="1icr1sx98x3h8rbky1agdh809arhjqcypyajl7y50yis8a5pkycb"; depends=[ggplot2 reshape2 rmarkdown seqinr shiny viridis]; };
-  effects = derive2 { name="effects"; version="4.1-2"; sha256="08v77w52ds5v20vj6brqfri714mr8i65jffsqaa4brkg4li4bjqi"; depends=[carData colorspace estimability lattice lme4 nnet survey]; };
+  effects = derive2 { name="effects"; version="4.1-4"; sha256="1jbpyji7qn5hz8a6afsfbng0nx0a7w0v3v51wpmnbipfjchyalhy"; depends=[carData colorspace estimability lattice lme4 nnet survey]; };
+  effectsize = derive2 { name="effectsize"; version="0.0.1"; sha256="07vgmxdl75798hgdh90zysafjh97rmmj2wjjyr6xff4fbhi8rlkb"; depends=[bayestestR insight parameters]; };
   effectsizescr = derive2 { name="effectsizescr"; version="0.1.0"; sha256="0shfjk6r3bz04jakrn5nwgymjx60lk83i0akcx7zqfxp3k8yncs5"; depends=[Kendall]; };
   efflog = derive2 { name="efflog"; version="1.0"; sha256="1sfmq7xrr6psa6hwi05m44prjcpixnrl7la03k33n0bksj8r1w6b"; depends=[]; };
   effsize = derive2 { name="effsize"; version="0.7.6"; sha256="129vs8kp10h6yhrrmn77518120bmfr55l6nkpbxkvylnr641b5a2"; depends=[]; };
@@ -7072,12 +7201,15 @@ in with self; {
   egg = derive2 { name="egg"; version="0.4.5"; sha256="1fy7srpiavfn8kyrr1m84an7acgwi6ydzrg71m3b0vk7y9ybmj0m"; depends=[ggplot2 gridExtra gtable]; };
   eggCounts = derive2 { name="eggCounts"; version="2.2-1"; sha256="01lbinwc91pyynhny3lpdh0gb8fffk4dq8a99ps0mbsk8aa5735j"; depends=[BH boot coda lattice numbers Rcpp RcppEigen rootSolve rstan StanHeaders]; };
   egoTERGM = derive2 { name="egoTERGM"; version="2.1.1"; sha256="1zp3kr7s43rjp45qbd6lv48mbmby5rrz1vdz9s64v43rjm8v2jyz"; depends=[boot btergm ergm GGally Matrix network sna speedglm xergm_common]; };
+  egor = derive2 { name="egor"; version="0.19.10"; sha256="0s9s15j1v5z2v8jhfz8zrmfl43hmn7rw1afs1wjw1kvzz41k1jlm"; depends=[dplyr igraph network plyr purrr rlang shiny survey tibble tidygraph tidyr]; };
   eha = derive2 { name="eha"; version="2.7.6"; sha256="01q75bn3r06zwbfa6p69whdkilqx53ysxa3cz2d50jvd79bqlf4h"; depends=[survival]; };
+  ehaGoF = derive2 { name="ehaGoF"; version="0.1.0"; sha256="1qrx9rmf4ifasxycnzj06xn3gl0gp9w1vplb4wrghiziqw5cqird"; depends=[]; };
+  ehelp = derive2 { name="ehelp"; version="1.1"; sha256="0zxa6aq75w4k4pkk47wmdird2r8jvqvkbbzhilmv0f7z36lrr894"; depends=[]; };
   ei = derive2 { name="ei"; version="1.3-3"; sha256="0i8pvpal23zwsqldhmm3iis4vw9s08mlydpshaig2dsd9549gn11"; depends=[cubature eiPack ellipse foreach MASS mnormt msm mvtnorm plotrix sp tmvtnorm ucminf]; };
   eiCompare = derive2 { name="eiCompare"; version="2.1"; sha256="0kv4k1zk1gz3fapy2i2ydy0n38hy95i10r3hr3dx8mkkf3nsj46h"; depends=[cubature data_table ei eiPack ellipse foreach ggplot2 magrittr mnormt msm mvtnorm plotrix plyr R_utils stringr tidyr tmvtnorm ucminf]; };
   eiPack = derive2 { name="eiPack"; version="0.1-9"; sha256="1rivccqfr5hz80xgfw652993zg0pw7yd0by52hyp7bwm89gsjksq"; depends=[coda MASS msm]; };
   eiPartialID = derive2 { name="eiPartialID"; version="0.1.2"; sha256="0721p89llzjznz2b6zlf54v7fy9lb9c5qb7w8q0l582iy5cwaw35"; depends=[eco MASS sandwich]; };
-  eia = derive2 { name="eia"; version="0.3.3"; sha256="0yl09g4gbcig6c1hkd4qb2vnnf77inc02mb6c96h5mjykazbn8s5"; depends=[dplyr httr jsonlite lubridate magrittr memoise purrr tibble]; };
+  eia = derive2 { name="eia"; version="0.3.4"; sha256="1yjrgmf6s9c35wpgpg66gi0wmfynm3kbcyaknsw44blpkd35c6yq"; depends=[dplyr httr jsonlite lubridate magrittr memoise purrr readxl tibble]; };
   eigeninv = derive2 { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; };
   eigenmodel = derive2 { name="eigenmodel"; version="1.11"; sha256="1l3n0z736xf3x6cyxzmmq1jb2glxi2b75z7v39y4471knh6nbb4d"; depends=[]; };
   eigenprcomp = derive2 { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
@@ -7085,7 +7217,7 @@ in with self; {
   eive = derive2 { name="eive"; version="2.3"; sha256="073hwx944db7zxq6yib6yvciaic11k49zl1iqphippcd5ygkad80"; depends=[Rcpp]; };
   eivtools = derive2 { name="eivtools"; version="0.1-8"; sha256="0ynmrql6dv10m7cwba5mzwlbvp6ab53nzqqvk3ihwyiqzmnnmpk4"; depends=[R2jags]; };
   eiwild = derive2 { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[coda gtools lattice]; };
-  eixport = derive2 { name="eixport"; version="0.3.6"; sha256="0wzp7jxs80drp428m6kgx419vzrmiw6spgv9ldrakbfkjjnrzsa6"; depends=[cptcity ncdf4 raster sf sp]; };
+  eixport = derive2 { name="eixport"; version="0.4.0"; sha256="06knza8mm7d8i1h72axq3s9id1cdrrq0gjc6lc3q65hf5hx89k1q"; depends=[cptcity ncdf4 raster sf sfheaders silicate sp tidyr]; };
   elasso = derive2 { name="elasso"; version="1.1"; sha256="0nz3vw803dvk4s45zc9swyrkjwna94z84dn4vfj3j17h74a0cij2"; depends=[glmnet SiZer]; };
   elastic = derive2 { name="elastic"; version="1.0.0"; sha256="1mq2ayq4dwb1y0dkp3v30qs6vh2d5q4brcifjrvq7wifh4r6gnpk"; depends=[crul curl jsonlite R6]; };
   elasticIsing = derive2 { name="elasticIsing"; version="0.2"; sha256="1zjgvz7w5j06x2cd1fzjl85di95ah67m1lanw01kic2bvhfwfbn6"; depends=[cvTools glmnet magrittr qgraph reshape2]; };
@@ -7101,6 +7233,7 @@ in with self; {
   elementR = derive2 { name="elementR"; version="1.3.6"; sha256="12gg2x6xzms2ni80qdm04bfajg55ff6zkki0y2cz47kq70wzfkmg"; depends=[abind colourpicker devtools EnvStats gdata gnumeric httpuv lmtest outliers R6 reader readODS readxl shiny shinydashboard shinyjs stringr tcltk2 zoo]; };
   elevatr = derive2 { name="elevatr"; version="0.2.0"; sha256="0721w28pb07ndw24k4zssh5r90fd4mf33yxigricnz23z29ql120"; depends=[httr jsonlite progress raster sf sp]; };
   elexr = derive2 { name="elexr"; version="1.0"; sha256="1xmrzlp55z6k3psdg4a3x3rsilvq3k37v9r7ydfn80ahvqjz0fqh"; depends=[]; };
+  elfDistr = derive2 { name="elfDistr"; version="1.0.0"; sha256="11h91mwiw2pr0c8zvyzqql275falpiajv784n2rd5xs9azprqdd0"; depends=[Rcpp]; };
   elhmc = derive2 { name="elhmc"; version="1.1.0"; sha256="0ngva7rnfj75fq93ycsv929m9ykijp48r7cvd6sfmi0sqsjinax5"; depends=[emplik MASS plyr]; };
   elitism = derive2 { name="elitism"; version="1.0.4"; sha256="0n5g1nd1dd5wc76qa2va1lyxahg9p062l8wdqzq43ah6943pjzgr"; depends=[MASS]; };
   elliplot = derive2 { name="elliplot"; version="1.2.0"; sha256="186i4gr8k9bifzssblln8z6wxfmnplls3kc4m2liiz86mzsnim9r"; depends=[]; };
@@ -7109,20 +7242,20 @@ in with self; {
   elliptic = derive2 { name="elliptic"; version="1.4-0"; sha256="1dhba0yfxjd5rlqsxp5a7s2hclfkla9wigsr39dlma67l6qjjmxn"; depends=[MASS]; };
   elmNNRcpp = derive2 { name="elmNNRcpp"; version="1.0.1"; sha256="1n71b5pqd1szhmp4q1h9aqgkx7s54f5i3xk5nljwzsn7cyih1kb3"; depends=[KernelKnn Rcpp RcppArmadillo]; };
   elo = derive2 { name="elo"; version="2.0.0"; sha256="0cryr1cgvs5z54piw6yrv9fd7nrqv1kwxw5ahx46k7qxdgr5bb2s"; depends=[pROC Rcpp]; };
-  elrm = derive2 { name="elrm"; version="1.2.4"; sha256="11xcny3kxjcqyp37v7pcnmsinz9b8n13xlng7649r4p0vdkjf774"; depends=[coda]; };
   emIRT = derive2 { name="emIRT"; version="0.0.8"; sha256="17igda5phgfapjzg7dkid5jj49gmwgpadjr27z7s21365i7md9mz"; depends=[pscl Rcpp RcppArmadillo]; };
   emax_glm = derive2 { name="emax.glm"; version="0.1.2"; sha256="04di6bp97cxjbbszakb64y15bjmnd2j8zvxdj8gdbgmhxk9wmbwd"; depends=[AER MASS pander pracma pROC]; };
+  emba = derive2 { name="emba"; version="0.1.1"; sha256="0sgh97jzfxna4dww8xmj1qy5435d4lm2yar2ra6nf416snlppjxv"; depends=[Ckmeans_1d_dp igraph magrittr rje usefun visNetwork]; };
   embed = derive2 { name="embed"; version="0.0.4"; sha256="02rwifkpghwymsqnkn43p2gylnlxk2a3bqmssh7amd3d6rpl3wl8"; depends=[dplyr generics keras lme4 purrr recipes rlang rstanarm tensorflow tibble tidyr uwot withr]; };
   embryogrowth = derive2 { name="embryogrowth"; version="7.6"; sha256="0bsg904jikb1dqichkinpgm0difg17sfczw6q4zab6r02s7yb53s"; depends=[deSolve HelpersMG numDeriv optimx]; };
   emdbook = derive2 { name="emdbook"; version="1.3.11"; sha256="0a515jdzvg87npvrh7md7zp0v5nlz7c2jr7pba5dql6slb0d8j7q"; depends=[bbmle coda lattice MASS plyr]; };
-  emdi = derive2 { name="emdi"; version="1.1.5"; sha256="06v982rw8sz22w624hr68vdgxmfmi5na11ywsg6qr77jvgbprgz4"; depends=[boot ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 rgeos]; };
+  emdi = derive2 { name="emdi"; version="1.1.6"; sha256="1zxbbn0rl2z7zksh1k8wznry4k1bs08ipla1kaxyadj3i2wdk2y3"; depends=[boot ggplot2 gridExtra HLMdiag maptools MASS moments MuMIn nlme openxlsx parallelMap readODS reshape2 rgeos]; };
   emdist = derive2 { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
   emg = derive2 { name="emg"; version="1.0.7"; sha256="1d4l9kcji6ba137f1qqjl763q2fd6bxryxsarc3iwi3mfi2b580m"; depends=[]; };
   emhawkes = derive2 { name="emhawkes"; version="0.9.0"; sha256="1h6map6w66q91s6g1qr9wfk589cbvva1banqrxzzf29g7ihl15vh"; depends=[maxLik]; };
-  emld = derive2 { name="emld"; version="0.2.0"; sha256="08kncxrc4yj32wcl6h1sszrajfi41m87sivc94py40c9bxpmnmmf"; depends=[jsonld jsonlite xml2 yaml]; };
+  emld = derive2 { name="emld"; version="0.3.0"; sha256="16f1za636bbdp9y5mq40n2v77l2zbmwrph870wm12rmn7cjl9bwq"; depends=[jsonld jsonlite xml2 yaml]; };
   emma = derive2 { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[clusterSim earth]; };
   emme2 = derive2 { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
-  emmeans = derive2 { name="emmeans"; version="1.4.1"; sha256="1fpawaxnmj67md169a9mzrnnh2d0c973xydfg6hw865933jil9lq"; depends=[estimability mvtnorm numDeriv plyr xtable]; };
+  emmeans = derive2 { name="emmeans"; version="1.4.3.01"; sha256="16v5j31516nbqnj2zhgqvyp5yxd4zcs5zi0aspa5plr2qikvrkmg"; depends=[estimability mvtnorm numDeriv plyr xtable]; };
   emoa = derive2 { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
   emojifont = derive2 { name="emojifont"; version="0.5.2"; sha256="0s1as6i5dz2rbd1aashn99fji2iksjzrkdkfi7wqnnxxpmkha3yx"; depends=[ggplot2 proto showtext sysfonts]; };
   emon = derive2 { name="emon"; version="1.3.2"; sha256="19khjjpyxvzhzihqq15w02l5v5ryyvxlklz1ch2gkmqcpnvyga32"; depends=[MASS mgcv]; };
@@ -7133,7 +7266,7 @@ in with self; {
   emplik2 = derive2 { name="emplik2"; version="1.21"; sha256="1980bwc4fc4rwzlwya030n5rv8rq0s82hnw955mvaxrbmicnqlla"; depends=[]; };
   ems = derive2 { name="ems"; version="1.2.7"; sha256="1l4javnfhlb6y40dpdvri2795yj0s9zqf8bi02s5llx5lcq3bxbd"; depends=[]; };
   emstreeR = derive2 { name="emstreeR"; version="2.2.0"; sha256="1qbv61j2ya6zvyp8494xi8dhjlb58jmqil9cm5z0pr7p2sr6l32r"; depends=[BBmisc BH ggplot2 Rcpp RcppArmadillo RcppMLPACK scatterplot3d]; };
-  emuR = derive2 { name="emuR"; version="2.0.3"; sha256="1js04f9id5v3mf1kqwffrxag6949grma088cvzir4fp356izz8zs"; depends=[base64enc compare DBI dplyr git2r httpuv jsonlite MASS mime purrr RCurl readr rlang RSQLite rstudioapi shiny stringr tibble tidyr uuid wrassp]; };
+  emuR = derive2 { name="emuR"; version="2.0.4"; sha256="152lg7sf98a7qrblz1ryjdpsprk2arfzwlq8z7b4ilr771lq0plw"; depends=[base64enc compare DBI dplyr git2r httpuv jsonlite MASS mime purrr RCurl readr rlang RSQLite rstudioapi shiny stringr tibble tidyr uuid wrassp]; };
   emulator = derive2 { name="emulator"; version="1.2-20"; sha256="11z25iqyzck0s4hw0i86i9jsi52w9bjxx3zdpafssyfqfk7z5avw"; depends=[mvtnorm]; };
   enaR = derive2 { name="enaR"; version="3.0.0"; sha256="0sy7k8l6b8p34bcf9bpjr1y6qkjkvn77y2w2ws7ivcr1fynrhm5p"; depends=[gdata limSolve MASS network sna stringr]; };
   enc = derive2 { name="enc"; version="0.2.1"; sha256="0lx159hj464i9libaa3qy96avdwq220333h7pbdh94xz6jrn7k73"; depends=[]; };
@@ -7151,7 +7284,7 @@ in with self; {
   enpls = derive2 { name="enpls"; version="6.1"; sha256="12088v9xnj5b3dlakqz1hbzxz4mdai7xi7s2fpx8lj3y3lx7znmb"; depends=[doParallel foreach ggplot2 plotly pls reshape2 spls]; };
   enrichR = derive2 { name="enrichR"; version="2.1"; sha256="0ymhzs9d2wl0s9rvbqc1hqb78mlzwhlc7mmijpfqkm5r720pf6m1"; depends=[httr rjson]; };
   enrichvs = derive2 { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; };
-  enrichwith = derive2 { name="enrichwith"; version="0.2"; sha256="063q4jbs6054djk6qf3105p7na4kndvr549w5c4fiz8264r8bnvv"; depends=[]; };
+  enrichwith = derive2 { name="enrichwith"; version="0.3"; sha256="0nc8cdzz9x39kl821qpqg4b0rcs3a1vs75wivlcxcq5zlmdlpb9x"; depends=[]; };
   ensembleBMA = derive2 { name="ensembleBMA"; version="5.1.5"; sha256="0p744151pbj278lyc8d8p7rc20n70abpfgxz6jr10jarmq3r6x7l"; depends=[chron]; };
   ensembleMOS = derive2 { name="ensembleMOS"; version="0.8.2"; sha256="16d8030zfdwifqrh45vz3gf5n0bix0mhsmsnydgjq1fghdklcmyx"; depends=[chron ensembleBMA evd]; };
   ensembleR = derive2 { name="ensembleR"; version="0.1.0"; sha256="0xvq1jlsp7gsk46i847nfvadxwlh09gi2rgwss2wf2xmh1855ray"; depends=[caret]; };
@@ -7160,24 +7293,27 @@ in with self; {
   ensurer = derive2 { name="ensurer"; version="1.1"; sha256="1gbbni73ayzcmzhxb88pz6xx418lqjbp37sdkggbrxcyhsxpdkid"; depends=[]; };
   entropart = derive2 { name="entropart"; version="1.6-1"; sha256="0cc40xf2lf2vxxnamn26fkrch9lmpbqm4am743yq7bmprfbn4cc4"; depends=[ade4 ape EntropyEstimation geiger ggplot2 ggpubr reshape2 vegan]; };
   entropy = derive2 { name="entropy"; version="1.2.1"; sha256="10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd"; depends=[]; };
+  entrymodels = derive2 { name="entrymodels"; version="0.1.0"; sha256="0clyv5ws5nnnyys596zbmdndds43xrvnnkbdk59kj3wscw0hq982"; depends=[dplyr magrittr readr]; };
   envDocument = derive2 { name="envDocument"; version="2.4.1"; sha256="074m7adnasvys28kjdgj9071fi90vsl4yv5zvpxik4crlx098dlw"; depends=[]; };
   envalysis = derive2 { name="envalysis"; version="0.3.3"; sha256="1ys93g5gxr9x1v4hg98dcpwa40n5xkh1j8drrmpnmxwq6gv01r6r"; depends=[drc ggplot2]; };
-  enveomics_R = derive2 { name="enveomics.R"; version="1.4.4"; sha256="06pj5mla76w90mrzqlv7szcs7psaxhl6y0w0v0w6f8nlxx06nm3v"; depends=[fitdistrplus investr sn]; };
+  enveomics_R = derive2 { name="enveomics.R"; version="1.7.0"; sha256="0nk356svi25lzw5iza0jmg6krxhizilm7ja3sgym65319jpcflbp"; depends=[fitdistrplus investr sn]; };
   enviGCMS = derive2 { name="enviGCMS"; version="0.5.7"; sha256="00hydrvawm2zx6d8dcfd5p5l01lvrk5hsfq8k67b2iysjn2sh531"; depends=[animation BiocParallel broom crosstalk data_table dplyr DT genefilter ggplot2 ggraph ggridges igraph iterators itertools mixtools plotly rcdk RColorBrewer reshape2 rmarkdown shiny shinythemes]; };
   enviPat = derive2 { name="enviPat"; version="2.4"; sha256="1gvb7jmwwh4l44b50xmrq3bysr2iv6442yh9pdk6n81g3bgpz1d0"; depends=[]; };
   enviPick = derive2 { name="enviPick"; version="1.5"; sha256="04q6zwqq2ip8b8h2n1jpgx1bzcvi7lazljs0806wiakbc79x232p"; depends=[readMzXmlData shiny]; };
-  envirem = derive2 { name="envirem"; version="2.0"; sha256="150sqyc4k3cq12dl4ivbc4w0gmqfrkxj80mfk4ak4f5zp770k30a"; depends=[huxtable palinsol raster RSAGA sp]; };
+  envirem = derive2 { name="envirem"; version="2.1"; sha256="175190l81r24v6ygr759l4qwi4i3v6n57jmgswamr01px4pvhxag"; depends=[huxtable palinsol raster RSAGA sp]; };
   envlpaster = derive2 { name="envlpaster"; version="0.1-2"; sha256="11a5n40k1ln5gxxvwq1vh4dhmhifhlm89hkhf36qnhj4bjh3v3y0"; depends=[aster aster2 caTools MASS]; };
   envnames = derive2 { name="envnames"; version="0.4.0"; sha256="12mfbcksrp733jycasaiavlsmx138xmjpywly1wha4ds6bfw93hr"; depends=[]; };
-  eoffice = derive2 { name="eoffice"; version="0.1.7"; sha256="0jz18650zr6y1maz4lj4xlc5w8v87mgjkk92yqn4pyfv6x1i5y8n"; depends=[broom devEMF dplyr flextable ggplot2 ggplotify gplots htmlwidgets magick magrittr officer plotly R_devices rvg tibble]; };
+  envoutliers = derive2 { name="envoutliers"; version="1.0.0"; sha256="1wkd6xpsw5n9jx0qq5p88h6j8vkcyiyajd3zb6im5bc4d73nmi07"; depends=[car changepoint ecp ismev lokern MASS robustbase]; };
+  eoR = derive2 { name="eoR"; version="0.4.0"; sha256="0vn4s4af94n9h6x7z14qwpz94rgsd5m3mv55wva7x3h99ryhm83s"; depends=[data_table]; };
+  eoffice = derive2 { name="eoffice"; version="0.1.8"; sha256="03yjw8yy3x81hnisiznx2gch4flhp7b9vafavx2r8ny86mqya1k9"; depends=[broom devEMF dplyr flextable ggplot2 ggplotify gplots htmlwidgets magick magrittr officer plotly R_devices rvg tibble]; };
   epade = derive2 { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
   epandist = derive2 { name="epandist"; version="1.1.1"; sha256="0hxgbjns5bk82rgcmykxifnnxcnqdzmkimkkmpdif64zr5g3gjdg"; depends=[]; };
   epanet2toolkit = derive2 { name="epanet2toolkit"; version="0.3.2"; sha256="0j64riiy7b2v1m8ki6d43jm61s7yjwlx4kxxdvlz3fx1xw7qf522"; depends=[]; };
   epanetReader = derive2 { name="epanetReader"; version="0.7.3"; sha256="05pwa6z03qsjwr9pxpbxycsd21p7mf5j5ajyg4yaas5g100s1k8c"; depends=[]; };
-  eph = derive2 { name="eph"; version="0.1.1"; sha256="1j555gqyvk8zmiqijm50zxr7isgn8adinj9545s4qjzz2s6n52l8"; depends=[assertthat dplyr expss glue janitor magrittr purrr questionr readr readxl stringr tidyr]; };
+  eph = derive2 { name="eph"; version="0.2.0"; sha256="0j41hmiw59q9mwzsw94s0m0hrh4fqhbmayqbblfizh7gr7wijz53"; depends=[assertthat attempt curl dplyr expss glue janitor magrittr purrr questionr readr readxl stringr tibble tidyr tidyverse zoo]; };
   epiDisplay = derive2 { name="epiDisplay"; version="3.5.0.1"; sha256="08ym6hcbmajzr4rasdb35fxk79vgpzfc16rmcm34f7f3zzz09dyl"; depends=[foreign MASS nnet survival]; };
   epiGWAS = derive2 { name="epiGWAS"; version="1.0.2"; sha256="0jqblfmz02za3b2pgi15379bzgh98yv5kyv8kh0lkzhrmpgph2zj"; depends=[DescTools glmnet matrixStats SNPknock]; };
-  epiR = derive2 { name="epiR"; version="1.0-4"; sha256="0qdcav8dix8bgp5cp54g288sccqinrv1zj1wp49rgnzcy4n6a0c2"; depends=[BiasedUrn survival]; };
+  epiR = derive2 { name="epiR"; version="1.0-10"; sha256="1y1ki5dynzs58m1wgzsydbhpi8lmfbb9h4sma064mwyw6mih0q7g"; depends=[BiasedUrn survival]; };
   epibasix = derive2 { name="epibasix"; version="1.5"; sha256="0ivr51x37cbdryli9b4p4iq9v2c90zwmywrwdmg7ryq5vprvvbp0"; depends=[]; };
   epicontacts = derive2 { name="epicontacts"; version="1.1.0"; sha256="0f4a1y311z3fxw7ygj6fgsq6d2qn0ivxsjlh742pkmg3jb63s0f3"; depends=[colorspace dplyr igraph magrittr threejs visNetwork]; };
   epidata = derive2 { name="epidata"; version="0.3.0"; sha256="1b00k086wiwhhrlh4348wqqza1v0whakwy5h7q95rmgxz7lppiim"; depends=[dplyr httr jsonlite purrr readr rvest stringi tidyr xml2]; };
@@ -7188,21 +7324,21 @@ in with self; {
   episcan = derive2 { name="episcan"; version="0.0.1"; sha256="02687f8gpc2czn19lapvazd6mnm8902ay0lhgi3wdrzfhir42m4r"; depends=[]; };
   episensr = derive2 { name="episensr"; version="0.9.4"; sha256="1cjfmj9alf46mpfzx7jfh6yrn7i4ldpnks28zxk42ln1zhb6jh6f"; depends=[actuar boot ggplot2 gridExtra magrittr plyr reshape trapezoid triangle]; };
   episheet = derive2 { name="episheet"; version="0.4.0"; sha256="0y3wy91hr3b9iky5k81mf897wg2gcdv05afhndjqwcfb0xkn2f9q"; depends=[assertthat dplyr ggplot2 magrittr rlang tidyr]; };
-  episode = derive2 { name="episode"; version="1.0.0"; sha256="1djk36jkvr8xvhfddqg6xsmhxc3yrgivkm8g2hr4n1qixsk1ad8m"; depends=[glmnet Matrix nnls Rcpp RcppArmadillo]; };
   episplineDensity = derive2 { name="episplineDensity"; version="0.0-1"; sha256="0nmh97xajnnh54i04yq8fdici4n5xvcbpdbjdbz79483gnils4vn"; depends=[nloptr pracma]; };
   epistasis = derive2 { name="epistasis"; version="0.0.1-1"; sha256="0dfh26bs72i01hpxpgpgyiwpmg9mjpib8zynhc5ssxa0skm518wz"; depends=[glasso igraph Matrix tmvtnorm]; };
   epitab = derive2 { name="epitab"; version="0.2.2"; sha256="0yi65bblsikwsa9i7wys1mqf6pp6j01kyc8xkyrhs5n62y1k68nc"; depends=[kableExtra knitr MASS survival xml2]; };
   epitools = derive2 { name="epitools"; version="0.5-10"; sha256="1qqa2kam3j3mkbgk62g6lwygk2fkdlrpbi27wl37j4dkdkvx013m"; depends=[]; };
   epitrix = derive2 { name="epitrix"; version="0.2.2"; sha256="1rqpvdky002h6mz636b77l4kd0im16pww62l6vnwh83si1m9pkki"; depends=[distcrete sodium stringi]; };
-  eplusr = derive2 { name="eplusr"; version="0.10.3"; sha256="1mmzqbn1zhc742cqblmwpc4k94r0zqmzwyxi5sv5d11dfj5mszzd"; depends=[callr cli crayon data_table later lubridate processx progress R6 RSQLite stringi units]; };
+  eplusr = derive2 { name="eplusr"; version="0.10.4"; sha256="1ls3ixsmkqw4wbxbym8hdxkwqr273ji5krafq4mnw51ksn5f25b5"; depends=[callr cli crayon data_table later lubridate processx progress R6 RSQLite stringi units]; };
   eply = derive2 { name="eply"; version="0.1.2"; sha256="0al44pvqf6ls3dh129vlv3g56hk1nbql09rj0qsb04d9kaz9anrp"; depends=[magrittr]; };
   epoc = derive2 { name="epoc"; version="0.2.6-1.1"; sha256="1qlj4cl7mh5k52v2ippfs3cish5iadnix5w46p25hjqiriksclna"; depends=[elasticnet irr lassoshooting Matrix survival]; };
   epos = derive2 { name="epos"; version="0.1.0"; sha256="0b9r552hbrs281z7pxxw1hxgv9d15qmyzvgk5xsrgh8wivkh4lwp"; depends=[dplyr ggplot2 gridExtra hashmap stringr testthat tidyr TopKLists xtable]; };
   epr = derive2 { name="epr"; version="3.0"; sha256="0czfz6qkcpa2qqs3pqii27hgpdvdzfrvxl0ip67v58hamq7kvjfv"; depends=[car lme4]; };
   epsiwal = derive2 { name="epsiwal"; version="0.1.0"; sha256="0lmcmiqcc1pjj1d0zyn0hc23if1lkm85p6vcjqbddpnv9ags2mbh"; depends=[]; };
-  epubr = derive2 { name="epubr"; version="0.6.0"; sha256="0zzra5vpfsw62c19yah7fwm8xlrwnrlsb34d46wd1ssays6arf01"; depends=[dplyr magrittr tidyr xml2 xslt]; };
+  epubr = derive2 { name="epubr"; version="0.6.1"; sha256="0rp9q6hriilps5h6nc1226w5dvzws1g78pg3ldrq2r4dakpvsmjj"; depends=[dplyr magrittr tibble tidyr xml2 xslt]; };
   epxToR = derive2 { name="epxToR"; version="0.4-0"; sha256="1vw9czdxp80jpvcc8bj5m4fshlavlawc1735m0s0d0x14z3giy6g"; depends=[httr XML]; };
-  eq5d = derive2 { name="eq5d"; version="0.3.0"; sha256="1a2x3zmil76vkvp47iynxhbixsywv4a5i1vxmnqyqigv5v03bqnf"; depends=[]; };
+  eq5d = derive2 { name="eq5d"; version="0.4.0"; sha256="1zjdhxcq2slb31kf6sqjbzcrihkaxn37g4yf8lwcnffzaykz4kpg"; depends=[]; };
+  eqn2svg = derive2 { name="eqn2svg"; version="0.1.0"; sha256="01hqmhjy62ic28jsx8zn0zg87pipxmd82795pj66661qkq306lb0"; depends=[htmltools magrittr]; };
   eqs2lavaan = derive2 { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; };
   eqtl = derive2 { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
   equSA = derive2 { name="equSA"; version="1.2.1"; sha256="0gbv7jvjivnril3cmvknzmqlmpb4mv0rhqwk1i87wqxsvrgplik1"; depends=[bnlearn doParallel foreach huge igraph mvtnorm ncvreg SIS speedglm survival XMRF ZIM]; };
@@ -7216,7 +7352,7 @@ in with self; {
   equivalenceTest = derive2 { name="equivalenceTest"; version="0.0.1.1"; sha256="1lr1qc4mv8f9hwqidj1rwhxqm1fb8cf1hnb1k32xpdqwzsxbfa47"; depends=[cubature polynom Rdpack rootSolve]; };
   erah = derive2 { name="erah"; version="1.1.0"; sha256="1jp75z9y97v0dr656qqcf3npsijk91x5f2lyiwjy54yrzlf5bxp5"; depends=[igraph ncdf4 nnls quantreg Rcpp signal XML]; };
   erboost = derive2 { name="erboost"; version="1.3"; sha256="09hlpn6mqsmxfrrf7j3iy8ibb2lc4aw7rxy21g3pgqdmd9sbprim"; depends=[lattice]; };
-  ercv = derive2 { name="ercv"; version="1.0.0"; sha256="1h0v0gscf1ks1shkdvkn1g8r8x5jsb66a4m7rnpdfwbp2ijh41gp"; depends=[]; };
+  ercv = derive2 { name="ercv"; version="1.0.1"; sha256="0rs4yhm9sjnqkrgqqy6b8wj9fgk910hxc8d7zi4qwql0v1gid27l"; depends=[]; };
   erer = derive2 { name="erer"; version="2.5"; sha256="0wgzd7r63d20vghmbilqn1p5033i5p31asya1gzwlipgyfxmqp0b"; depends=[lmtest systemfit tseries urca]; };
   ergMargins = derive2 { name="ergMargins"; version="0.1.0"; sha256="0f65150ahlxx75k72f2shmlryq5qbszl9p0qxxpl87sfpclsaa0x"; depends=[btergm ergm Matrix network numDeriv statnet xergm_common]; };
   ergm = derive2 { name="ergm"; version="3.10.4"; sha256="08hzhc06sfchbq8kq5yvs7gxz0v6nvx0qdb2g6ac38n54cd0npw8"; depends=[coda dplyr lpSolve MASS Matrix network purrr rlang robustbase statnet_common tibble trust]; };
@@ -7245,9 +7381,9 @@ in with self; {
   esmisc = derive2 { name="esmisc"; version="0.0.3"; sha256="1d6xrdxwn85c8s60s7vzaymh7wa9f7fzd79hq5spzd12fr3zisvj"; depends=[ggplot2 raster readr]; };
   esmprep = derive2 { name="esmprep"; version="0.2.0"; sha256="076sm26mkkvig2g04k32z2dlp2h9gnqgzckhirl4pqm01siknl61"; depends=[lubridate]; };
   esquisse = derive2 { name="esquisse"; version="0.2.2"; sha256="1k18lrg5417s1mjm01m6nn81w959naybdqj74zrr8gbphlk8s4xx"; depends=[ggplot2 ggthemes hrbrthemes htmltools jsonlite miniUI RColorBrewer rlang rstudioapi scales shiny shinyWidgets stringi]; };
-  esreg = derive2 { name="esreg"; version="0.4.0"; sha256="1qfidbmdrm4vy72yjnpaadhm993xv6qqy44a8hk0l4isvmg51a5i"; depends=[Formula quantreg Rcpp RcppArmadillo]; };
+  esreg = derive2 { name="esreg"; version="0.5.0"; sha256="1njwqm3hrcxwl6y7gwa4zq0q5139293qk503ahw23dxwzdsiy2z5"; depends=[Formula quantreg Rcpp RcppArmadillo]; };
   essHist = derive2 { name="essHist"; version="1.2.2"; sha256="0rvlxfcl42h4pjqf37mx7bc4k21iwvnys6l5rf2jsl7yk1b9hmbn"; depends=[Rcpp]; };
-  essurvey = derive2 { name="essurvey"; version="1.0.2"; sha256="0r1hkdksidx974pi08hg25qlzfxazqmzamwqg2njks2r9xk299p8"; depends=[haven httr rvest stringr xml2]; };
+  essurvey = derive2 { name="essurvey"; version="1.0.4"; sha256="0y7acy5k3whz2xq3gyqds13n8yb8i8r1a34s9pjzsy6s3gw5rys3"; depends=[haven httr rvest tibble xml2]; };
   estatapi = derive2 { name="estatapi"; version="0.3.0"; sha256="0gjc5x1b2l5qnwdg77nzy6d7bf9q93ll39sfy89izqm8wsydwwkp"; depends=[dplyr httr purrr readr]; };
   estimability = derive2 { name="estimability"; version="1.3"; sha256="0cifdaa71spkcxl4db4z884jrya865sg3dhcv4isd8fnzg2pjcd3"; depends=[]; };
   estimatr = derive2 { name="estimatr"; version="0.20.0"; sha256="0mrx14chg9qb90hlivn90l1jv9la4n1bkznbdx58ghli73k8dvdz"; depends=[Formula generics Rcpp RcppEigen rlang]; };
@@ -7259,16 +7395,17 @@ in with self; {
   etable = derive2 { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[Hmisc xtable]; };
   etasFLP = derive2 { name="etasFLP"; version="1.4.0"; sha256="04d526yajakzivlcsz8631p0j482cbbgfpdmzkc9zr1m4495xxif"; depends=[fields mapdata maps rgl]; };
   ether = derive2 { name="ether"; version="0.1.5"; sha256="03skydbw4ch0lhhlm57qgg4q0vyd4rwzsq3v2w40jrczpxpdsn9q"; depends=[dplyr httr jsonlite Rmpfr]; };
-  ethnobotanyR = derive2 { name="ethnobotanyR"; version="0.1.5"; sha256="08h7wym5vnbmqws17bzs27zj7c2rzz5l37rvhj0y71m4s1pz1fkc"; depends=[assertthat circlize cowplot dplyr ggplot2 magrittr reshape]; };
+  ethnobotanyR = derive2 { name="ethnobotanyR"; version="0.1.6"; sha256="1v1vsj1nzmgji6kzgfkdmy08ajn8iag4jzw0lwh81b3vmdx8f4g2"; depends=[circlize cowplot dplyr ggplot2 magrittr reshape]; };
   etl = derive2 { name="etl"; version="0.3.7"; sha256="045hkh95ki3s10l9mz4710ws2i9and4rqb0qk1c5sfslglc0riq5"; depends=[DBI downloader dplyr lubridate readr rlang rvest stringr tibble xml2]; };
   etm = derive2 { name="etm"; version="1.0.5"; sha256="1yivbq8y0ijcl1m4nir4q9hp4pi6iphwxgjprygsdf7vp98wq677"; depends=[data_table lattice Rcpp RcppArmadillo survival]; };
   etma = derive2 { name="etma"; version="1.1-1"; sha256="0g9244yx50y1gw0f37hskbcgyv4nldmzr86v3rmf3afabmjbyzjj"; depends=[]; };
   etrunct = derive2 { name="etrunct"; version="0.1"; sha256="0ayazgyqlc8jcqr03cwfmfhm4pck6xri1r6vkgqy4arqkrrnrcqr"; depends=[]; };
+  eudract = derive2 { name="eudract"; version="0.9.0"; sha256="0idxccm3cqb34gjypbh635rlqvjgcwbmywp1cv41mz2g56kbrcnb"; depends=[dplyr magrittr tidyr xml2 xslt]; };
   eulerian = derive2 { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[graph]; };
   eulerr = derive2 { name="eulerr"; version="6.0.0"; sha256="0pvyg91xamhmz4k1b18g96imkddk64d6dadg74v1mnbzjiq742wh"; depends=[GenSA polyclip polylabelr Rcpp RcppArmadillo]; };
   europepmc = derive2 { name="europepmc"; version="0.3"; sha256="1ngqs1sqzkbwv98dd5z4cxj8bnz41wyd0g060a2vpqi3s99s4i2h"; depends=[dplyr httr jsonlite plyr progress purrr urltools xml2]; };
   europop = derive2 { name="europop"; version="0.3.1"; sha256="1ym257bxr4a0dmln1j8x3pf87wrryzgqyzhvk61whc6n2bj62x1s"; depends=[]; };
-  eurostat = derive2 { name="eurostat"; version="3.3.5"; sha256="0gsycqcpvc0042iv8pa0bg64fmkkw9gzxw81f4gndpl50q8iq68y"; depends=[broom classInt countrycode dplyr httr jsonlite RColorBrewer readr RefManageR sf sp stringi stringr tibble tidyr]; };
+  eurostat = derive2 { name="eurostat"; version="3.3.55"; sha256="1i66m6hamrq54209vcmp1y13lwfx1bykm1fggrv54nyxijikbjs7"; depends=[broom classInt countrycode dplyr httr jsonlite RColorBrewer readr RefManageR sf sp stringi stringr tibble tidyr]; };
   ev_trawl = derive2 { name="ev.trawl"; version="0.1.0"; sha256="14yhnhqq1gz2rfy13v1dybnf55pyyimajbarxyp7gaqnd66nfq3p"; depends=[eva evir fExtremes ghyp hypergeo testthat]; };
   eva = derive2 { name="eva"; version="0.2.5"; sha256="03hyzbqi2mgdrmzrjnwzvy0ndf7ha5959b63sgd1g0b998fibbmd"; depends=[EnvStats Matrix]; };
   evaluate = derive2 { name="evaluate"; version="0.14"; sha256="0a2y7j534gbgixkwj9r1z76l2vssw4g1hznzbpclc076wkdqpj58"; depends=[]; };
@@ -7295,13 +7432,14 @@ in with self; {
   evtree = derive2 { name="evtree"; version="1.0-8"; sha256="1dmzbsyrg8wwzzqcxzqmgm7yai37lh9lkjhizhr2h0k03s5xdv1k"; depends=[partykit]; };
   ewoc = derive2 { name="ewoc"; version="0.2.0"; sha256="0kanx14fhcbqz6gpyj7628vgy9fwz3ji5mkd4107b8pgpz2hkg00"; depends=[coda doParallel foreach Formula ggplot2 rjags]; };
   exCon = derive2 { name="exCon"; version="0.2.5"; sha256="0gqnv01dw4ncf3x3p74pc6f14a1ixq7icl2p18hsmvxdqqg7kgy7"; depends=[jsonlite]; };
-  exact2x2 = derive2 { name="exact2x2"; version="1.6.3"; sha256="11ayh6j6jj4p4bns3s2c2nmnigdzr6hpwjp4b2i7qw67kd321agn"; depends=[exactci ssanv]; };
+  exPrior = derive2 { name="exPrior"; version="1.0.1"; sha256="05z7dx1qfwcagadlw8wrf30071ssawv8njm2q6jaa4r4in0i5l1s"; depends=[coda ggplot2 gtable nimble plyr reshape2]; };
+  exact2x2 = derive2 { name="exact2x2"; version="1.6.3.1"; sha256="0yl0ylgk83w076vbda7yfdvfbwwhhcp89bcv3i6418rz8y7k1ili"; depends=[exactci ssanv]; };
   exactLoglinTest = derive2 { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
   exactRankTests = derive2 { name="exactRankTests"; version="0.8-30"; sha256="02lqs5pw9vii398jz8yr55jk8158xxxqrk1bf55b08xcccxdwrff"; depends=[]; };
   exactci = derive2 { name="exactci"; version="1.3-3"; sha256="03r35f6dyrck5pf43ypb1sjwfnvkhjkm1mbms3wh67ayfs2ypn0s"; depends=[ssanv]; };
   exactextractr = derive2 { name="exactextractr"; version="0.1.1"; sha256="0jazvagfy9m68f0z3imvs9vdbmviybssiw7vzragxy85m4dgkvzm"; depends=[raster Rcpp sf]; };
   exactmeta = derive2 { name="exactmeta"; version="1.0-2"; sha256="1v807ns799qajffky4k18iah0s3qh2ava6sz5i85hwx9dhkz19h4"; depends=[]; };
-  exampletestr = derive2 { name="exampletestr"; version="1.5.1"; sha256="1rk92ld5s812a2njs4fwidz7s2yjwbs7gf8chp7hcjw7pw81nbm4"; depends=[checkmate filesstrings fs glue magrittr ore purrr readr rlang roxygen2 stringr styler usethis withr]; };
+  exampletestr = derive2 { name="exampletestr"; version="1.5.2"; sha256="0lfhgjirsl2b1vksjfrw3wlvw6x34d20vldh313qkjrg2yihpk1q"; depends=[checkmate filesstrings fs glue magrittr ore purrr readr rlang roxygen2 stringr styler usethis withr]; };
   exams = derive2 { name="exams"; version="2.3-4"; sha256="1sa76qnzf7llj97xc41l2s8n4fqlg1wcvyq9sq59f1blfwxcnnd7"; depends=[]; };
   exceedProb = derive2 { name="exceedProb"; version="0.0.1"; sha256="02pb8b0rxygbv6501rcr2hb0bhz1r78k5znav161kk25fb9bxs5v"; depends=[BH Rcpp]; };
   excelR = derive2 { name="excelR"; version="0.3.1"; sha256="15frhi1laiwbd2izfm91ilvzcyl97svmx6slca5j2c6v5db3vzmq"; depends=[htmlwidgets jsonlite]; };
@@ -7312,29 +7450,27 @@ in with self; {
   exifr = derive2 { name="exifr"; version="0.3.1"; sha256="0394f04wq5dnqbnbaq7gxv4ggis4kf3b8dhhjzlybsbip6nmv54x"; depends=[curl jsonlite plyr rappdirs tibble]; };
   exiftoolr = derive2 { name="exiftoolr"; version="0.1.2"; sha256="18q23lmazqw5vjvpz9kbd8i8ljchm8nakh726ic3qqzsckl98psp"; depends=[curl jsonlite]; };
   exp2flux = derive2 { name="exp2flux"; version="0.1"; sha256="1b3ychb4wcf6dbccx2ddms5xygdgc296cnw4474fm81yrfjznplv"; depends=[gage igraph sybil]; };
-  expSBM = derive2 { name="expSBM"; version="1.1"; sha256="10l2in6l5l61lrj2rrf5rjgphb7px3xb8alx976vksq96c5l9rdj"; depends=[gtools mclust Rcpp RcppArmadillo]; };
+  expSBM = derive2 { name="expSBM"; version="1.3.5"; sha256="0k8nkwqrcmmhv0x8a2np1rm5cyc9glyvndwdbnp03v0wrg8121sw"; depends=[blockmodels gtools mclust Rcpp RcppArmadillo]; };
   expandFunctions = derive2 { name="expandFunctions"; version="0.1.0"; sha256="0661l4ab0xhjidmh8ycvymhp3wgxafm7nd1c59bfpxhyhz76n1p4"; depends=[glmnet orthopolynom plyr polynom]; };
   expands = derive2 { name="expands"; version="2.1.2"; sha256="15r5wld63kwk3kcl5x09dj0n1mgcl076lcjsmf0vbh10x4n0avrk"; depends=[ape commonsMath flexclust flexmix gplots matlab moments NbClust plyr RColorBrewer rJava]; };
   experiment = derive2 { name="experiment"; version="1.2.0"; sha256="0f8h4pj2y7cd2s1q44q4mrg9cirnpz0bkn4xm04hz1rpjxb4xlv1"; depends=[boot MASS]; };
   expert = derive2 { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
   expint = derive2 { name="expint"; version="0.1-5"; sha256="12ki8j17p070kq2mdzzai755wy1n6kvinax0ldd63kynij9n0gdh"; depends=[]; };
   explor = derive2 { name="explor"; version="0.3.5"; sha256="1v3z067w5kskwr0wmrr26m3yfsmg9pf17ma9ck2srgyxqmddc0sj"; depends=[dplyr DT formatR ggplot2 highr RColorBrewer scatterD3 shiny tidyr]; };
-  explore = derive2 { name="explore"; version="0.5.0"; sha256="1065mn2dvh29bs3yn4m8djni17fnl3icsqs9yg317617pw31xf14"; depends=[broom DBI dplyr DT forcats ggplot2 gridExtra magrittr MASS odbc rlang rmarkdown rpart rpart_plot shiny]; };
+  explore = derive2 { name="explore"; version="0.5.2"; sha256="1j3izj31595wcmv85hkdlyhgbm4cydr44c6vgjjacbmawxc2zm8r"; depends=[broom DBI dplyr DT forcats ggplot2 gridExtra magrittr MASS odbc rlang rmarkdown rpart rpart_plot shiny stringr]; };
   exploreR = derive2 { name="exploreR"; version="0.1"; sha256="154j5wiiy9vqdvh1qvdkz2fdp2phcygbbjl7nj5nkn07xwxbsc77"; depends=[ggplot2]; };
   expm = derive2 { name="expm"; version="0.999-4"; sha256="15k0acg2aqb2ajhwal6l7vhhp03m4lg579805d34554cl0kn9l2q"; depends=[Matrix]; };
-  expoRkit = derive2 { name="expoRkit"; version="0.9.4"; sha256="186wnnx0gygnzrhhnsjysvwqccpxrcgy4pnvkyz6v3kcgg0n2x6j"; depends=[Matrix SparseM]; };
   export = derive2 { name="export"; version="0.2.2"; sha256="03i3jk4b9q1sak6m36p349bzqcwfq3bw6y8sgrw65475mrwipm4m"; depends=[broom flextable officer openxlsx rgl rvg stargazer xml2 xtable]; };
   expose = derive2 { name="expose"; version="0.0.3"; sha256="0dlxlxm3g9d8vmgp13i1825z1jzah94ih1vyif46s43xq0nf9anj"; depends=[e1071 foreach gam ggplot2 glmnet Matrix nnet polspline RColorBrewer Rcpp repmis SuperLearner xgboost]; };
   expp = derive2 { name="expp"; version="1.2.4"; sha256="00r5f80wnz91n0ksp1dvrxpd6zyfis2v3rizsnm7qqnnwj3d4q1c"; depends=[deldir rgeos sp spatstat spdep]; };
   expperm = derive2 { name="expperm"; version="1.6"; sha256="0cybna0q3qn3slyc4lv5rby4pr0xkwq0h6n7hl1zhsaqv4c2zc5b"; depends=[Rcpp]; };
-  exprso = derive2 { name="exprso"; version="0.5.1"; sha256="02fz2awxxgf5avnnvv10kr20zvzdmal7z9jbmjxzw5kjqrcv7jci"; depends=[cluster e1071 frbs glmnet kernlab lattice MASS nnet plyr randomForest ROCR rpart sampling]; };
   expsmooth = derive2 { name="expsmooth"; version="2.3"; sha256="0alqg777g7zzbjbg86f00p2jzzlp4zyswpbif7ndd0zr8xis6zdc"; depends=[forecast]; };
-  expss = derive2 { name="expss"; version="0.9.1"; sha256="1lz09kwwvsqxcyj4qkikdl4sxcr9vni01xgxv8ivisg110xhi3ls"; depends=[data_table foreign htmlTable magrittr matrixStats]; };
+  expss = derive2 { name="expss"; version="0.10.1"; sha256="0pqvv8y3v00ymamz0xxbccb1pyic6h62hr5qm4hyw2sa82hh74dp"; depends=[data_table foreign htmlTable magrittr matrixStats]; };
   expstudies = derive2 { name="expstudies"; version="0.0.5"; sha256="07li3lf7gnziws452arv38dayc30dym30qkw5d3ifp6za1aih5pv"; depends=[dplyr lubridate magrittr Rcpp]; };
   exptest = derive2 { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
   exreport = derive2 { name="exreport"; version="0.4.1"; sha256="0vj60rchhrc5q6x1kv7b95fcmh2a5qynli2w54rrrw1nx54xm8c2"; depends=[ggplot2 reshape2]; };
   exsic = derive2 { name="exsic"; version="1.1.1"; sha256="1k6nqs9i4iivxnk4nkimp6zvdly274wibkmx9n0wz01gnzxqil0p"; depends=[markdown stringr]; };
-  extRemes = derive2 { name="extRemes"; version="2.0-10"; sha256="08fj72gpq2d6695hbm3cgwgal64z009ykrirby7g6r0akfcsx5ic"; depends=[distillery Lmoments]; };
+  extRemes = derive2 { name="extRemes"; version="2.0-11"; sha256="0hmgynxhzswqnhwb2sxrkczgam8c17s3vpxqc5bcz0bwczpxxyvm"; depends=[distillery Lmoments]; };
   extWeibQuant = derive2 { name="extWeibQuant"; version="1.1"; sha256="08dzw5xfgqx0c7ac632c5mg5jmjjw7wwpcr4c9lvz5rv72ykh2rh"; depends=[]; };
   extdplyr = derive2 { name="extdplyr"; version="0.1.4"; sha256="0rxwpspn3905f4l27cwgi9rlj379hb6b4kkb0kjq8gzpkg2fznh1"; depends=[dplyr lazyeval tidyr]; };
   exteriorMatch = derive2 { name="exteriorMatch"; version="1.0.0"; sha256="0cdfj1n502iws1g03rk7x0c18zyazqf3vci9kjm6lrv4j2qwrvip"; depends=[]; };
@@ -7345,20 +7481,25 @@ in with self; {
   extraTrees = derive2 { name="extraTrees"; version="1.0.5"; sha256="1rvvp2p9j8ih8fid1n17606pa23bjg3i2659w1l6w0jkb1p23zcx"; depends=[rJava]; };
   extrafont = derive2 { name="extrafont"; version="0.17"; sha256="0b9k2n9sk23bh45hjgnkxpjyvpdrz1hx7kmxvmb4nhlhm1wpsv9g"; depends=[extrafontdb Rttf2pt1]; };
   extrafontdb = derive2 { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; };
+  extraoperators = derive2 { name="extraoperators"; version="0.1.1"; sha256="1clyp97ssmdq9ggbv3w5yskx7khnlm4ji7ym3k3b4bx1pazcw4q4"; depends=[]; };
+  extremeIndex = derive2 { name="extremeIndex"; version="0.0.1"; sha256="0qyf7ban7cm9fnznbf78xffcfp5sc32s7kb3wn53mc5abgiad90b"; depends=[boot evd evir gmm goftest]; };
   extremeStat = derive2 { name="extremeStat"; version="1.4.0"; sha256="0fvkvlm47ri05w9h5qa937ijsc5lg51jc825wq9pmn7aiv58yxzm"; depends=[berryFunctions evd evir extRemes fExtremes ismev lmomco pbapply RColorBrewer Renext]; };
   extremefit = derive2 { name="extremefit"; version="1.0.2"; sha256="07gx6dp0kz4y1jn90hsfvkhn6k7i4flh7ghdz9v5nwda86f55q2s"; depends=[]; };
   extremevalues = derive2 { name="extremevalues"; version="2.3.2"; sha256="0pyngxljdnjwnbwcb0gmxcirv70r1s1wyq4m1wm5rprpdj8v9xil"; depends=[gWidgets gWidgetstcltk]; };
   extremis = derive2 { name="extremis"; version="0.90"; sha256="1cnwn70d9swks5b2y915l18gky9v23vaqlaaggshi0ghn3snb4sm"; depends=[emplik]; };
   extremogram = derive2 { name="extremogram"; version="1.0.2"; sha256="13k869v6j4ik9p8w0gf1absvb45xbd3nnwghsz0ix7y0vyvry358"; depends=[boot MASS]; };
   exuber = derive2 { name="exuber"; version="0.3.0"; sha256="1g0cr7lgj8j5qdvrm7zmafhqafi1iwln590pcmfrfs37cynd5fkx"; depends=[cli doSNOW dplyr foreach generics ggplot2 glue gridExtra lubridate purrr Rcpp RcppArmadillo rlang tibble tidyr zoo]; };
+  eyeTrackR = derive2 { name="eyeTrackR"; version="1.0.0"; sha256="1spv9167fw0nkwm98l5dkl9xs293c624gh87zrisjq4b4xawgxgx"; depends=[data_table plyr stringr]; };
   eyelinker = derive2 { name="eyelinker"; version="0.2.0"; sha256="14rfcdxad9iazwd46q6bm8gg1ryh6s8kf7arj00hhb7xz3gvk9c2"; depends=[intervals readr stringi stringr tibble]; };
   eyetracking = derive2 { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; };
   eyetrackingR = derive2 { name="eyetrackingR"; version="0.1.8"; sha256="18bz8fhy2hph7h8mm7hdhjfhi5gznj4qcl05rk3n99hkxl24qn73"; depends=[broom dplyr ggplot2 lazyeval purrr tidyr zoo]; };
   ez = derive2 { name="ez"; version="4.4-0"; sha256="0a58s94x576dfz7wcbivrr2hmdh5x1vy16zwkqp9fmdzqx38pagq"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; };
+  ezCutoffs = derive2 { name="ezCutoffs"; version="1.0.0"; sha256="0awi63f4hk35gd55w7axshlyb1vpwb64sw5y3733ag5cbgk30jkz"; depends=[doSNOW foreach ggplot2 lavaan moments progress]; };
+  ezcox = derive2 { name="ezcox"; version="0.2.0"; sha256="0ymvy17yzbzq7g9d8hk30pi3hvsmvxiym9v3j5ivpvy679j3w0iw"; depends=[dplyr magrittr purrr rlang survival]; };
   ezec = derive2 { name="ezec"; version="1.0.1"; sha256="0lpx55a8fhy6fqdv3zvzx9mh75q34r71v5kp96hkm9jzl4yvrpd2"; depends=[dplyr drc]; };
   ezglm = derive2 { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; };
   ezknitr = derive2 { name="ezknitr"; version="0.6"; sha256="060a2175zh1nhzmqgz1mpj2c6721n5w5bv695jj4rbl2s2b2h4qj"; depends=[knitr markdown R_utils]; };
-  ezpickr = derive2 { name="ezpickr"; version="1.1.0"; sha256="0l547xf0k3y0v8yqn2pxrd1m1p5j5sbdsvrljlk7nn470jk54048"; depends=[haven jsonlite magrittr mboxr purrr readr readxl rmarkdown stringr textreadr tibble vroom writexl]; };
+  ezpickr = derive2 { name="ezpickr"; version="2.0.0"; sha256="1x7v7zsr8hjrwi48dkryqryp607550gs77b058qcdgcdznlqwzp2"; depends=[haven jsonlite magrittr mboxr purrr readxl rmarkdown stringr textreadr tibble vroom writexl]; };
   ezplot = derive2 { name="ezplot"; version="0.3.1"; sha256="1cs5i3ik6q6s30z8nh6ckc68vcqkf1hnzy3wn6d0rypmny7jkfkc"; depends=[dplyr forcats ggplot2 rlang]; };
   ezsim = derive2 { name="ezsim"; version="0.5.5"; sha256="03x75vmf75qsmk4zb09j7xrb11w31rpfwd3dvv12nwjgndh9bnld"; depends=[digest foreach ggplot2 Jmisc plyr reshape]; };
   fANCOVA = derive2 { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; };
@@ -7402,14 +7543,15 @@ in with self; {
   factorcpt = derive2 { name="factorcpt"; version="0.1.2"; sha256="17hwlsrj0fx4x05p6xvs6kl43a24icmnrzyvpf2vam5imwvmpvmm"; depends=[doParallel fields foreach iterators Rcpp RcppArmadillo]; };
   factorial2x2 = derive2 { name="factorial2x2"; version="0.1.0"; sha256="186qnz09hkf3njb07rfrs42m3m3288h89ppzlfzrv00765r74yq6"; depends=[mvtnorm survival]; };
   factorplot = derive2 { name="factorplot"; version="1.1-2"; sha256="025lfk122w66yxym3njcpzwnbhg40xi7p1c9vnxczcb8kz31745s"; depends=[multcomp nnet]; };
-  factorstochvol = derive2 { name="factorstochvol"; version="0.9.2"; sha256="0yaf7j2d77m0kmgm8n2j4a0ai9b0lz29r9xjk3zk8sw8aabjlkaw"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
+  factorstochvol = derive2 { name="factorstochvol"; version="0.9.3"; sha256="15gamzznss9vfmbvbk61sgabxfsra2i49bs142jl1ahk7wchiskw"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
   factory = derive2 { name="factory"; version="0.1.0"; sha256="1715bx2rn8kk5qd196jnrv5f95l54n4y0aqqdzfkgrmqihcy8ahx"; depends=[purrr rlang]; };
   factualR = derive2 { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RCurl RJSONIO]; };
   fail = derive2 { name="fail"; version="1.3"; sha256="0vfm6kmpmgsamda5p0sl771kbnsscan31l2chzssyw93kwmams7d"; depends=[BBmisc checkmate]; };
+  fairadapt = derive2 { name="fairadapt"; version="0.1.0"; sha256="01ing7mm1asfgh4w8cc7f7fpv13lja97vv5skk5bri00zycwcqfd"; depends=[ranger]; };
   fairness = derive2 { name="fairness"; version="1.0.1"; sha256="1n17vrp0a3zii3444a2a7k33ffmyxmm15c8m7ln2fypya1z2pc5l"; depends=[caret devtools e1071 ggplot2 pROC]; };
   faisalconjoint = derive2 { name="faisalconjoint"; version="1.15"; sha256="08sb4za8qyadvigq2z7b0r44qk2lpahpnz9nv16xfjb1zhdkz5w3"; depends=[]; };
   fakeR = derive2 { name="fakeR"; version="1.0"; sha256="0f4ngnd8s34j1327zp3aqnsiw0gfxkp1i24ng20hrmfl13s1qmxp"; depends=[mvtnorm polycor pscl VGAM]; };
-  fakemake = derive2 { name="fakemake"; version="1.4.1"; sha256="0jmcbdq5gp7abqiihn8zi2l0whiwnc763lqrk2wflac4d0zw275z"; depends=[callr igraph MakefileR withr]; };
+  fakemake = derive2 { name="fakemake"; version="1.6.0"; sha256="019dwh7n7k2djrpm0kik5qn7w3ifszppmpraqn4jyddn1jmllsn3"; depends=[callr igraph MakefileR withr]; };
   falcon = derive2 { name="falcon"; version="0.2"; sha256="09hlvwwj3k3nhcsxijjvv8x74a9m200ayjjplrp4baxvczwyq341"; depends=[]; };
   falconx = derive2 { name="falconx"; version="0.2"; sha256="0648mvbc7ga7vr2xqzyln3dgd11h5s4bqhv3p55mj7smr4qv7hv9"; depends=[]; };
   fam_recrisk = derive2 { name="fam.recrisk"; version="0.1"; sha256="1lyrq7bq7p7ijc2vf545nazw4akncz08548ya1dv3lsc5jmkgfzj"; depends=[]; };
@@ -7424,11 +7566,11 @@ in with self; {
   far = derive2 { name="far"; version="0.6-5"; sha256="18lj2mgnn9s59ypkr19zzv0sffwpx9mgk975xmpvw4kkl84dykis"; depends=[nlme]; };
   faraway = derive2 { name="faraway"; version="1.0.7"; sha256="0lalf52y9rb4zdb4kpscwddb4zy0af7r5sm7lx8s9jaqykrwrfq6"; depends=[lme4 nlme]; };
   farff = derive2 { name="farff"; version="1.1"; sha256="0d3d343jjjwsb132ph12h3r044j3bc4jp94ayikjyq1lmwwsfr4k"; depends=[BBmisc checkmate readr stringi]; };
-  farver = derive2 { name="farver"; version="1.1.0"; sha256="1dllgx121al374gyp9pjv1m8ip4imm8zhbgyh1970dsz2c4z71i0"; depends=[Rcpp]; };
+  farver = derive2 { name="farver"; version="2.0.1"; sha256="0aq1hk561pz3s3lpay1adwsihha6mxp7zbj4n1m6307g34awlhhn"; depends=[]; };
   fasjem = derive2 { name="fasjem"; version="1.1.2"; sha256="1bbrcyyg96hakgla3604byrkn9034197vy2is048kdq20yr2y11n"; depends=[igraph]; };
   fast = derive2 { name="fast"; version="0.64"; sha256="098rk6kszdx3szcwvwzcv7zlcd6qvqvbqch7q8ilas6vbki81ba4"; depends=[zoo]; };
   fastAdaboost = derive2 { name="fastAdaboost"; version="1.0.0"; sha256="1pv1y6znvc37pgwk99v4r0hljhipq8v6r3r5cb5vhgyl0bfi8g38"; depends=[Rcpp rpart]; };
-  fastDummies = derive2 { name="fastDummies"; version="1.5.0"; sha256="043289gfyc3f1crfy1861jzs2gsc4pwxl0inxv9xi9scxazwyphi"; depends=[data_table tibble]; };
+  fastDummies = derive2 { name="fastDummies"; version="1.6.0"; sha256="0fkmc1kr11vf3pikj5is5951dx79705c7djfvg7bsbbvpvll0crj"; depends=[data_table tibble]; };
   fastGHQuad = derive2 { name="fastGHQuad"; version="1.0"; sha256="1rjia8wggadr9xwxcmzmal0rc4g6pa3dr5888fbbnb6abl8b2lrj"; depends=[Rcpp]; };
   fastGraph = derive2 { name="fastGraph"; version="2.1"; sha256="0lz199607hqpwxzhff4jzhmjq6cbakd335iyclmlscllgfzgnhql"; depends=[]; };
   fastHICA = derive2 { name="fastHICA"; version="1.0.2"; sha256="1h794ybbii0k7v3x0r1499zxdqa1i1dpi3i7idzqdrffnb5kmwlv"; depends=[energy fastICA]; };
@@ -7439,7 +7581,8 @@ in with self; {
   fastNaiveBayes = derive2 { name="fastNaiveBayes"; version="2.1.0"; sha256="0gjhprbgrvc42nzz6ya6331cgrfqn08q3vwnd3s3fd4a2ig5xn2k"; depends=[Matrix]; };
   fastR = derive2 { name="fastR"; version="0.10.3"; sha256="1sz6krxiamq3rp4h9ah2b1zvyyrlvsn7lpvrjv1xda2c1kqqkvmk"; depends=[lattice mosaic mosaicCalc mosaicData]; };
   fastR2 = derive2 { name="fastR2"; version="1.2.1"; sha256="15mqsdy79zvd4srrszdjp0kh9lfcq3yxp7j5d4xcqbjbwsgy68il"; depends=[dplyr ggplot2 lattice maxLik miscTools mosaic numDeriv]; };
-  fastSOM = derive2 { name="fastSOM"; version="1.0.0"; sha256="1x4kxys7mxlxz7cfbjig44za8m8p19xgzcs5y2wn9320sx8b0wc0"; depends=[]; };
+  fastSOM = derive2 { name="fastSOM"; version="1.0.1"; sha256="1fzy7lfx1fn9993h0qh6vbwq0w4gfgbdrprmzb1z3aqq6nqvmngm"; depends=[]; };
+  fastStat = derive2 { name="fastStat"; version="1.3"; sha256="1f4554p487l7cig2xihfbgl55x7w04xbazd01pic0l8819mgmy5n"; depends=[car do e1071 ggplot2 ggrepel plyr reshape2 set survival tseries]; };
   fastTextR = derive2 { name="fastTextR"; version="1.0"; sha256="0l0f9jvsa68a3vd6mwbhsqd12729nd6nwsnlzrhsg9wj9rx8kpmi"; depends=[Rcpp]; };
   fasta = derive2 { name="fasta"; version="0.1.0"; sha256="0wnppxn3039dj58xm0b66fsyq537bk8k8m56im11xj1iwc3zc6vw"; depends=[]; };
   fastclime = derive2 { name="fastclime"; version="1.4.1"; sha256="0zcir8r11b2hxr9vvkmvxlzmhfcaxbr0wbjy86ysr912mp8fs9i3"; depends=[igraph lattice MASS Matrix]; };
@@ -7452,12 +7595,15 @@ in with self; {
   fasteraster = derive2 { name="fasteraster"; version="1.1.1"; sha256="1ycr2h046jds2758xvxn00rhglx3zarbzn3r38j66j5pnz2iiq4f"; depends=[Rcpp]; };
   fasterize = derive2 { name="fasterize"; version="1.0.0"; sha256="0q8n1r5n06yr6vmnwrdajx8923646bzm7ywgn2f0zxl214plf56s"; depends=[raster Rcpp RcppArmadillo sp]; };
   fastglm = derive2 { name="fastglm"; version="0.0.1"; sha256="1vqw02j4y28mngki87r42f1mhlkvajqp2gpbvk0l2adrkz70l0bn"; depends=[Rcpp RcppEigen]; };
+  fastlogranktest = derive2 { name="fastlogranktest"; version="0.1.0"; sha256="0c0cv0a0y97grjywlcp71z6cnjgvaih4bnf2f332iq2lh6kb0j1x"; depends=[BH Rcpp]; };
   fastmaRching = derive2 { name="fastmaRching"; version="1.1.0"; sha256="085xr5i6h6vwl1flzbkwqsm8d815s0p02p0mir60jqjvy0s7haip"; depends=[raster rgdal sp]; };
-  fastmap = derive2 { name="fastmap"; version="1.0.0"; sha256="1mmqxzcdb64mj5i9fgcxlp1d547fgamja743y40b8v85pw9yz5gz"; depends=[]; };
+  fastmap = derive2 { name="fastmap"; version="1.0.1"; sha256="1v7sp56xiha0bh78g3w92k52p9vkp7ryzpw0z66nyddxzrfv0y27"; depends=[]; };
   fastmatch = derive2 { name="fastmatch"; version="1.1-0"; sha256="0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90"; depends=[]; };
   fastnet = derive2 { name="fastnet"; version="0.1.6"; sha256="16jdwvk1xhl6bn9fx5s8pzvbizx6c0jmg6arqf201a7ghw2wi4xh"; depends=[doParallel foreach igraph tidygraph]; };
   fastpseudo = derive2 { name="fastpseudo"; version="0.1"; sha256="0paag4pjh3gs270j663bsl65sfrq43gk2zzqmalr03fmcckp6aaj"; depends=[]; };
   fastqcr = derive2 { name="fastqcr"; version="0.1.2"; sha256="12x3lkg5zc4ckyg4x3xxqb779yhrr0fys7asf5b8shz49f86fmm9"; depends=[dplyr ggplot2 gridExtra magrittr readr rmarkdown rvest scales tibble tidyr xml2]; };
+  fastrtext = derive2 { name="fastrtext"; version="0.3.4"; sha256="0k38290pz92ysw57298nng7bbghf5cicvin7l9q6l89pk3qa5wp0"; depends=[assertthat Rcpp]; };
+  fastshap = derive2 { name="fastshap"; version="0.0.2"; sha256="1nf3aslcrysi6s4i13qjldal8ghqbpj1fcx8vh5yaqwi7snnj3k1"; depends=[ggplot2 gridExtra plyr Rcpp RcppArmadillo tibble]; };
   fasttime = derive2 { name="fasttime"; version="1.0-2"; sha256="11i4c0zrkvvqsax0az1fvmc0jxfsjyx28434k1qgzhj9g2j9m9cf"; depends=[]; };
   fat2Lpoly = derive2 { name="fat2Lpoly"; version="1.2.3"; sha256="00pnzr3v7vm965b3cvgplasw00akmixybvm6l9bn609c2kqbf5p3"; depends=[kinship2 multgee]; };
   fauxpas = derive2 { name="fauxpas"; version="0.2.0"; sha256="0l77gxcf06p984z9vgaf1kag609h9qyrgav84lxkv97h6f3fflnc"; depends=[httpcode R6 whisker]; };
@@ -7476,14 +7622,16 @@ in with self; {
   fcuk = derive2 { name="fcuk"; version="0.1.21"; sha256="1sb7p1m5qb88028mrw95lhh8l7dxj696hjh88nfsdpnscryknfpv"; depends=[magrittr purrr stringdist tibble]; };
   fdANOVA = derive2 { name="fdANOVA"; version="0.1.2"; sha256="1pycq5a4czqzi8wcfmlc9ncg827j7n0qxyj90wcv39nbcrnl3da1"; depends=[doBy doParallel fda foreach ggplot2 magic MASS]; };
   fda = derive2 { name="fda"; version="2.4.8"; sha256="0n39rzbhg1hipzn51rzmbchn2358qgapg08iv7lmiqj5y7i9qns2"; depends=[Matrix]; };
-  fda_usc = derive2 { name="fda.usc"; version="1.5.0"; sha256="135ggfmmbn2crnzmk34hpqxdi51pflqihkz7zpnhx49860fad0fd"; depends=[fda MASS mgcv nlme rpart]; };
+  fda_usc = derive2 { name="fda.usc"; version="2.0.0"; sha256="02ji65wq7kn6isl9nbiwh52vximd52sfg22mnc00vkqxdkrb9s8c"; depends=[doParallel fda foreach iterators MASS mgcv nlme]; };
   fdaMixed = derive2 { name="fdaMixed"; version="0.6"; sha256="0hyhb67qvvhyq68k5h4ffvsl4lmw66nfy5l14kwxnn42h3b810sc"; depends=[Formula Rcpp RcppArmadillo]; };
+  fdaPDE = derive2 { name="fdaPDE"; version="0.1-6"; sha256="0vi5mjmyrj2slzmvnkpnrlw67na7470ka97q9vadcjiwvfc6kv7c"; depends=[RcppEigen rgl]; };
   fdadensity = derive2 { name="fdadensity"; version="0.1.1"; sha256="0jj5gprv3ihdjic261czqnv7c13mxsmjmv7gn2gv4483kgijlkz9"; depends=[fdapace Rcpp]; };
   fdakma = derive2 { name="fdakma"; version="1.2.1"; sha256="0j9qgblrl7v4586dd6v0hjicli6jh8pkk5lzn8afpl75xfs24six"; depends=[]; };
   fdapace = derive2 { name="fdapace"; version="0.5.1"; sha256="0i9y9vz676jspanbbrfbygyq5bxplcv4c5q4yql1y0r8zkg4xq2z"; depends=[Hmisc MASS Matrix numDeriv pracma Rcpp RcppEigen]; };
   fdasrvf = derive2 { name="fdasrvf"; version="1.9.2"; sha256="0hdxpin1ydc9sl9wp5axn6sj2mwlhndxya92ss1i8lj1cxmlz42d"; depends=[coda doParallel fields foreach matrixcalc mvtnorm Rcpp RcppArmadillo testthat tolerance viridisLite]; };
   fdatest = derive2 { name="fdatest"; version="2.1"; sha256="0zdnmssir5jz2kbfz4f4xshjfv4pivqx7cbh2arlx6ypkjrjws8n"; depends=[fda]; };
   fdcov = derive2 { name="fdcov"; version="1.1.0"; sha256="0savsgcifcjjqrmbpn6m30gncq5iigqxpb19l710wlx8nm98svjh"; depends=[corrplot matlab]; };
+  fdistr = derive2 { name="fdistr"; version="0.1.0"; sha256="1i9nq4jmszbmwk4m6jfn7rifsn7aay40cj6kz23b9ihj3phqffi8"; depends=[dplyr ggplot2 magrittr usethis]; };
   fdm2id = derive2 { name="fdm2id"; version="0.9.0"; sha256="0mdqgq6jff1dnnnyhlh0fhdnir88b49aqzaph38f2k57fliaydq8"; depends=[arules car caret class cluster e1071 FactoMineR flexclust fpc glmnet ibr irr kohonen leaps MASS mclust mda meanShiftR NMF nnet pls questionr randomForest ROCR rpart Rtsne SnowballC stopwords text2vec wordcloud xgboost]; };
   fdq = derive2 { name="fdq"; version="0.11"; sha256="1lzv1pmzjixp8wpap0w3lad1ns9z2hjbxkfpyp9jy9mxprj1w3q9"; depends=[data_table Fgmutils ggplot2 plyr randomcoloR sqldf]; };
   fdrDiscreteNull = derive2 { name="fdrDiscreteNull"; version="1.3"; sha256="17nzqy4i1c5kcqyps52827q5apyjn4znb1ql4qvfm8v2m1fvily3"; depends=[MCMCpack qvalue]; };
@@ -7518,11 +7666,13 @@ in with self; {
   fftw = derive2 { name="fftw"; version="1.0-5"; sha256="037jnf0hgjlw4k2yj8kl9vi8h6vzsff261hn35f1kndywpl4zjdg"; depends=[]; };
   fftwtools = derive2 { name="fftwtools"; version="0.9-8"; sha256="1nqvpzda281rxi1cmwajxxsn3sc3gz7scv8bvs5jm34kf36whha6"; depends=[]; };
   fgac = derive2 { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; };
+  fgdr = derive2 { name="fgdr"; version="1.0.0"; sha256="0wf0ayn2vx2pkid08ssr7ygq9k9qxsw86wwppm2r9b7i8cw7kbf8"; depends=[jpmesh magrittr purrr raster readr rlang sf sp stars stringr tibble xml2]; };
   fgeo = derive2 { name="fgeo"; version="1.1.4"; sha256="0axglmk05li3plb79rccskhddjzq3pdx3mgxr8yqysymf1nscrq6"; depends=[cli crayon dplyr fgeo_analyze fgeo_plot fgeo_tool fgeo_x glue magrittr purrr rlang rstudioapi]; };
   fgeo_analyze = derive2 { name="fgeo.analyze"; version="1.1.11"; sha256="148ks0y8k29v5z69g04k2l1ncml18xcwgagi6mngj72b4h3cpc6p"; depends=[dplyr fgeo_tool glue lubridate magrittr MASS purrr rlang tibble tidyr withr]; };
   fgeo_plot = derive2 { name="fgeo.plot"; version="1.1.9"; sha256="18zw4bsqdqdpy103kdyl40162mii6s1lp2w4cpi50svx7g7xhgh5"; depends=[dplyr fgeo_tool ggplot2 ggrepel glue magrittr purrr rlang stringr]; };
   fgeo_tool = derive2 { name="fgeo.tool"; version="1.2.5"; sha256="1sy0w2n2727v44fv56zijj03q732q3qnxyn1r1j8spmb257bhvn6"; depends=[dplyr glue magrittr purrr readr rlang tibble tidyselect]; };
   fgeo_x = derive2 { name="fgeo.x"; version="1.1.4"; sha256="0swps9rli74fmfb2j4kf55kw39gxz0q49m74ad4vcs0ylyp0sxrb"; depends=[memoise]; };
+  fgm = derive2 { name="fgm"; version="1.0"; sha256="0i6lbqxxjq78dql14qwqs7slnn0kyls2g3a9biabny2narwf6n3m"; depends=[fdapace JGL]; };
   fgof = derive2 { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; };
   fgpt = derive2 { name="fgpt"; version="2.3"; sha256="1d0qzsn4b68jhk07k97iv765jpmzzh1gwqpid0r76vg4cwqfs3n7"; depends=[]; };
   fgui = derive2 { name="fgui"; version="1.0-8"; sha256="024fzd1c7iwqprn26hwjb9l2qlvvyzl449d7iixy0x69djwsrysv"; depends=[]; };
@@ -7530,7 +7680,7 @@ in with self; {
   fiberLD = derive2 { name="fiberLD"; version="0.1-6"; sha256="1i3bl2qsc77m81l11an9ihl4vy86s8jd5x6pasib77rl2877ad4x"; depends=[doParallel foreach Matrix VGAM]; };
   fic = derive2 { name="fic"; version="1.0.0"; sha256="18xz94w1ab17jfi61bdg9z3pm63g488v17ns2ivizkza4gg07pv8"; depends=[abind ggplot2 mvtnorm numDeriv scales survival tensor]; };
   fieldRS = derive2 { name="fieldRS"; version="0.2.2"; sha256="0jrcdsv46zx7six9ll5sha32wx36wqajaladj6z8xym2n9ay8d5b"; depends=[caret concaveman ggplot2 raster rgeos sp spatialEco stringdist]; };
-  fields = derive2 { name="fields"; version="9.8-6"; sha256="07x95vk1idjfzi5ikn0ijal754mssdmgr1p4nswmx9w3i5ndcqaz"; depends=[maps spam]; };
+  fields = derive2 { name="fields"; version="10.0"; sha256="173zm5vr236ydiq0v27qy0l3x7h9fc7jly38iakg77j26i0a01il"; depends=[maps spam]; };
   fiery = derive2 { name="fiery"; version="1.1.2"; sha256="01ahdvcag8ifpp6jl6cgjjrchwxbr9fzvzqysj77kg3n5dcqm6cl"; depends=[assertthat crayon future glue httpuv later R6 reqres stringi uuid]; };
   filehash = derive2 { name="filehash"; version="2.4-2"; sha256="14zv7h5195dmfksgk8qvjgc2qq8253vga6267aa1bqs5bpvmdl5n"; depends=[]; };
   filehashSQLite = derive2 { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[DBI filehash RSQLite]; };
@@ -7542,7 +7692,8 @@ in with self; {
   filesstrings = derive2 { name="filesstrings"; version="3.1.5"; sha256="072alawp6j08mwlw1pz50g3lfi726kpsc744x5fvy71d7w4gqn6l"; depends=[checkmate magrittr matrixStats ore rlang strex stringi stringr tibble withr]; };
   filling = derive2 { name="filling"; version="0.2.0"; sha256="0yxixwgvn7jq09j4r3q33mmdda9a4anfi7y0xqscbdjz6p9bx48w"; depends=[CVXR nabor Rcpp RcppArmadillo Rdpack ROptSpace RSpectra]; };
   fillr = derive2 { name="fillr"; version="0.1.1"; sha256="01z4841hxnpf8s9s327fqprb4gl9k8pkyv2mgc5vfl86r1pd7m1b"; depends=[]; };
-  finalfit = derive2 { name="finalfit"; version="0.9.5"; sha256="1r4gv3yxwyqy9bh63n3zajbz3jzn7lnvj5nzzvxhmi01ig43x6c1"; depends=[boot broom dplyr forcats GGally ggplot2 gridExtra Hmisc lme4 magrittr mice pillar plyr pROC purrr readr scales stringr survival survminer tibble tidyr]; };
+  finalfit = derive2 { name="finalfit"; version="0.9.7"; sha256="1y1fllbrqy4q79w4l3830aqlf32v4clfzajqnwiylxwxw71v7yaa"; depends=[boot broom dplyr forcats GGally ggplot2 gridExtra Hmisc lme4 magrittr mice pillar plyr pROC purrr scales stringr survival survminer tibble tidyr]; };
+  finbif = derive2 { name="finbif"; version="0.1.0"; sha256="1bvic9nbqz3qs24ldf1zsqfijvw3jl8frbm8pyxn8cpgdgkj9kq1"; depends=[digest httr jsonlite lubridate lutz]; };
   finch = derive2 { name="finch"; version="0.3.0"; sha256="1cglyq3b0cvl05yrnpy6xn0nj0n817hgpcsxp3m07cvj8xidib02"; depends=[data_table digest EML hoardr plyr rappdirs xml2]; };
   findR = derive2 { name="findR"; version="0.2.1"; sha256="1a7cf6kd7i2l4ffr2b17nb9xnpsjhf6fcwpjy06r0qgcapnfp54b"; depends=[pdftools stringr]; };
   findpython = derive2 { name="findpython"; version="1.0.5"; sha256="0icifm4z6hhpmcjrg75a875iph0ci890ss02kdv3725pijc236iy"; depends=[]; };
@@ -7550,7 +7701,7 @@ in with self; {
   fingerPro = derive2 { name="fingerPro"; version="1.1"; sha256="1a1lj8gyrbgcg8hr03cj2bjzlaafddspri7abc83ys1raqwd4j68"; depends=[car GGally ggplot2 gridExtra klaR MASS plyr Rcmdr Rcpp RcppGSL RcppProgress reshape rgl scales]; };
   fingerprint = derive2 { name="fingerprint"; version="3.5.7"; sha256="04jcwkydjrs31pia6kq8z2n9s54im950q08hs2ay15xjxxkmb8ic"; depends=[]; };
   fingertipsR = derive2 { name="fingertipsR"; version="0.2.9"; sha256="03zj7qqh3yzsvw3a36c8jfci9fz4n0ylzzvlw3dlsi9637xcc9pz"; depends=[curl dplyr DT httr jsonlite miniUI readr shiny shinycssloaders]; };
-  fingertipscharts = derive2 { name="fingertipscharts"; version="0.0.9"; sha256="18lm9xn464grcrw97gdl0yhmb4j0wkwwfbsxpz3zqk5cmbgljamy"; depends=[curl dplyr fingertipsR geojsonio ggplot2 httr leaflet lemon mapproj purrr rlang scales sf stringr tibble tidyr]; };
+  fingertipscharts = derive2 { name="fingertipscharts"; version="0.0.10"; sha256="1l3mirspz28djlzma04lkkynfbz8qfq0asr662q102j31qx6vnm4"; depends=[curl dplyr geojsonio ggplot2 httr leaflet lemon mapproj purrr rlang scales sf stringr tibble tidyr]; };
   finiteruinprob = derive2 { name="finiteruinprob"; version="0.6"; sha256="0z4l0crymh58chxniqq70fqmvi6f5jkgvz72vbc7s3l9lrrapgr3"; depends=[numDeriv sdprisk]; };
   finreportr = derive2 { name="finreportr"; version="1.0.1"; sha256="1mansiyl4p4zqc1h2aw9zgzb3fy4mppgmshdm8mcf4nbm340g4vk"; depends=[curl dplyr httr rvest XBRL xml2]; };
   fipe = derive2 { name="fipe"; version="0.0.1"; sha256="055jav8h4wws76jahm2d5dj49wkvzchh3f2vk5d50pny4dc7smar"; depends=[dplyr forcats furrr future httr jsonlite lubridate magrittr purrr readr stringr tibble tidyr]; };
@@ -7562,9 +7713,11 @@ in with self; {
   fishmethods = derive2 { name="fishmethods"; version="1.11-0"; sha256="0ikxvq0mkw0s382ias04il06sbqfiq8phx69f5pdzvbm5xskzmxs"; depends=[boot bootstrap lme4 MASS numDeriv]; };
   fishmove = derive2 { name="fishmove"; version="0.3-3"; sha256="1knbv087cg0czjcgdbrlpg69pp1dxb57b7ak5j1mcy7ay3a41a9h"; depends=[boot ggplot2 MASS plyr]; };
   fishtree = derive2 { name="fishtree"; version="0.3.1"; sha256="17iqwgh2ap4mjx7i4bwdbhzp3qlwwb4rr4zw0kg26va8rl3ycphn"; depends=[ape jsonlite memoise rlang]; };
+  fishualize = derive2 { name="fishualize"; version="0.1.0"; sha256="17ywlnjq1digkc73r9bc0czdwh7f3sp8lzbh53rx99dad7bpm9kd"; depends=[ggplot2 gridExtra png]; };
   fit_models = derive2 { name="fit.models"; version="0.5-14"; sha256="0vjbzmx0ambm6yzidb4vbgmhclwzwv2iz2cwl54ccdkvx4cx3fck"; depends=[lattice]; };
   fit4NM = derive2 { name="fit4NM"; version="3.3.3"; sha256="0k2194521yby6xxi77bpjp6ywz8kpnzws217m7n0hw6xwz5mqj1g"; depends=[cairoDevice gWidgets gWidgetsRGtk2 RGtk2 tkrplot]; };
   fitDRC = derive2 { name="fitDRC"; version="1.1.1"; sha256="09z9l27iwl0fd3zy6rsdhmy8qbm5d9a4wcaj5rxp7ynlnpi102aa"; depends=[]; };
+  fitHeavyTail = derive2 { name="fitHeavyTail"; version="0.1.1"; sha256="1smziqinv0ls33rchihn9r7x0sirm1ix9zmji8zkw59bpqp4ml94"; depends=[ICSNP mvtnorm]; };
   fitODBOD = derive2 { name="fitODBOD"; version="1.4.1"; sha256="06yqp95k13d5zy4md12aqlk8yjk9g7hnnizjzksx46sh6rsn82aw"; depends=[bbmle hypergeo]; };
   fitPoly = derive2 { name="fitPoly"; version="3.0.0"; sha256="0ws1vsh8if9i9i7820ak32b0bysjc0z09nbrk17qpms0b11cpc3g"; depends=[foreach]; };
   fitTetra = derive2 { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
@@ -7574,10 +7727,11 @@ in with self; {
   fitplc = derive2 { name="fitplc"; version="1.2-3"; sha256="1yg3ch907c4gk7q8hxgwqxgngkmy125j3ni917nkzi7hn59krd1n"; depends=[car nlme]; };
   fitteR = derive2 { name="fitteR"; version="0.1.0"; sha256="1kgnyl7am966vkfap8gmvchlpankrcj5dv5aj7ws8ix9shr76db6"; depends=[dplyr DT maxLik R_utils shiny]; };
   fitur = derive2 { name="fitur"; version="0.6.1"; sha256="04lr717lsbb4731nlzgscraj30knik4q68jzrl4i5f27912159r9"; depends=[actuar DT e1071 fitdistrplus ggplot2 goftest miniUI rstudioapi shiny]; };
+  fitzRoy = derive2 { name="fitzRoy"; version="0.2.0"; sha256="0c317bibl5az8ak29p0bfznldy1kda433mmxqrr7mc6fv0rd3jh3"; depends=[dplyr glue httr jsonlite lubridate magrittr purrr readr rlang rvest stringr tibble tidyr tidyselect xml2]; };
   fivethirtyeight = derive2 { name="fivethirtyeight"; version="0.5.0"; sha256="00cc7kjs54wk2cxbkd14gldsrjmf4i35vwr6c2kfsassvjjhbmpm"; depends=[]; };
   fixedTimeEvents = derive2 { name="fixedTimeEvents"; version="1.0"; sha256="0z7ji8yzp4pj76ad64l7ivknkbi82ijx6abd3a18wicqhrh433sj"; depends=[]; };
   fixerapi = derive2 { name="fixerapi"; version="0.1.6"; sha256="0ikf8dn0l9c9gshp4bph3wasl0bh6lfybinc8n1rvb202231hmgb"; depends=[jsonlite tibble tidyr]; };
-  fixest = derive2 { name="fixest"; version="0.1.1"; sha256="0jnhnxxky8p0wisc5xd031sv1qy8szg163vidl13lqpsahjri3pq"; depends=[Formula MASS nlme numDeriv Rcpp]; };
+  fixest = derive2 { name="fixest"; version="0.2.1"; sha256="1zs3jzrsg25hg8jrk1vc82xh5l07qc20109gvyv1m2arxs2ggnhs"; depends=[Formula MASS nlme numDeriv Rcpp]; };
   fizzbuzzR = derive2 { name="fizzbuzzR"; version="0.1.1"; sha256="119gbi9y4n8r52hk9vj7zf795dv9xnk7lnngljjcd7ydnhygwd4h"; depends=[]; };
   flacco = derive2 { name="flacco"; version="1.7"; sha256="1w77smmbrwglayr2rj88b00x7wan9f3x1fq8h6xyhybfvrw7vr0r"; depends=[BBmisc checkmate mlr]; };
   flagr = derive2 { name="flagr"; version="0.3.2"; sha256="195c78cml2pjzfvpkaxbzcg1dfdqxi76138p0v3x3zzva9d8nlji"; depends=[]; };
@@ -7587,7 +7741,7 @@ in with self; {
   flare = derive2 { name="flare"; version="1.6.0.2"; sha256="1ybrsx1djqldw0l5l1iz4pfh6xxb8ckkg1ric7wnsr51wm9ljlh5"; depends=[igraph lattice MASS Matrix]; };
   flars = derive2 { name="flars"; version="1.0"; sha256="06qma1ar1nj7n6g9alk1qydm5bkj6lsjx0pqkikxpb41d91civqk"; depends=[fda MASS Matrix Rcpp RcppEigen]; };
   flashClust = derive2 { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
-  flashlight = derive2 { name="flashlight"; version="0.2.0"; sha256="0ff3v44kpz1dyf7g6vsk8hlw3iwgp5rar7adcx7dy0a87w7kfh99"; depends=[dplyr ggplot2 ggpubr MetricsWeighted rlang tidyr]; };
+  flashlight = derive2 { name="flashlight"; version="0.4.0"; sha256="0p44my7786pr0mxncawf607dv696sg9cag201f1c3m75a1zsb4yy"; depends=[dplyr ggplot2 ggpubr MetricsWeighted rlang tidyr]; };
   flatr = derive2 { name="flatr"; version="0.1.1"; sha256="10l98a3f57wahfpdqxj70r25zfhk4vzzd014pdnriy458yrfd7rw"; depends=[dplyr magrittr tibble]; };
   flatxml = derive2 { name="flatxml"; version="0.0.2"; sha256="1f7pc3chzimkg23490qvppy63sk4ds3aaahc36sa4dc4qmhabyms"; depends=[RCurl xml2]; };
   flexPM = derive2 { name="flexPM"; version="2.0"; sha256="0h3qs9w9pc2nc24q1diz7j3s93y40ijpmgq2l0xg9mzcgjz9kz8c"; depends=[survival]; };
@@ -7599,7 +7753,7 @@ in with self; {
   flexrsurv = derive2 { name="flexrsurv"; version="1.4.1"; sha256="13jq7yk7rz2148wkf7dv28l79zwdf1gpfkd5khgacb8hl5kml3p0"; depends=[Epi formula_tools matrixcalc orthogonalsplinebasis survival]; };
   flexsurv = derive2 { name="flexsurv"; version="1.1.1"; sha256="0x7p1rv51pplfyyzcg63ssb8z56mig7y0363hkr0219w3cvyq9nr"; depends=[deSolve mstate muhaz mvtnorm quadprog Rcpp survival tibble tidyr]; };
   flexsurvcure = derive2 { name="flexsurvcure"; version="1.0.0"; sha256="1blhwbkp0a3a7xnqyxp952wxkihdxb0xh68sk827h8rxis9zr4z4"; depends=[flexsurv gtools survival]; };
-  flextable = derive2 { name="flextable"; version="0.5.5"; sha256="1q6x9mfk5gikqjbbra1dn8hs1rq5ws99jdjav3m113gx9f2j5yxh"; depends=[base64enc data_table gdtools htmltools knitr officer rlang rmarkdown xml2]; };
+  flextable = derive2 { name="flextable"; version="0.5.6"; sha256="1f869f2dfqkzhf6yix7xcbs8rn1nwq3sg623h74zg6h1pl6px66w"; depends=[base64enc data_table gdtools htmltools knitr officer rlang rmarkdown xml2]; };
   flifo = derive2 { name="flifo"; version="0.1.5"; sha256="03x66l3ryrjvwbxxd0ncjrb5w9kc7fswmp5psb1cb7r87f395gm3"; depends=[bazar pryr]; };
   flightplanning = derive2 { name="flightplanning"; version="0.7.2"; sha256="0l7pm4sdjdr0n5njnh4lxydayr55p4i5w2a6i3b998z8fdl0vpv9"; depends=[rgdal rgeos sp]; };
   flip = derive2 { name="flip"; version="2.5.0"; sha256="08x5hwxaxbgc745gblja7gcy0b5wbp7jf90lkha75zl5cc9iyksl"; depends=[cherry e1071 plyr someMTP]; };
@@ -7620,19 +7774,19 @@ in with self; {
   fluspect = derive2 { name="fluspect"; version="1.0.0"; sha256="0j80wx00s8ljqg1qaqw66rj7kxhhk438hb0syv0lr9vld03cxy2w"; depends=[pracma]; };
   flux = derive2 { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
   fluxweb = derive2 { name="fluxweb"; version="0.2.0"; sha256="1ssq90fqm4p0j4g171mx208lmgz3hkxs8hgsffkawpmxgacs0gh1"; depends=[]; };
-  flyio = derive2 { name="flyio"; version="0.1.2"; sha256="1s5j8gdrxz9xwdfs1b2fypm9679apbk4nn1bik17zwv4shfwyzvy"; depends=[assertthat aws_s3 googleCloudStorageR stringr]; };
+  flyio = derive2 { name="flyio"; version="0.1.4"; sha256="1mrv5gvsr4zbh8bghrrizgrqz1cqn4pl3gizr77jl9mlxxpmhx20"; depends=[assertthat aws_s3 googleCloudStorageR stringr]; };
   fma = derive2 { name="fma"; version="2.3"; sha256="1z7shh9ng3q7ax22cwg86y79jzz5gbchdny2rppzzm0lkvvyy5pm"; depends=[forecast]; };
   fmbasics = derive2 { name="fmbasics"; version="0.3.0"; sha256="1dnf09rgwpc7n7ydlp7r5cwy2fa4vh1h9mbjqzfhk0208kz6jpl0"; depends=[assertthat fmdates lubridate tibble]; };
   fmcmc = derive2 { name="fmcmc"; version="0.2-0"; sha256="0hczf41pykxz8j9y8d2mqawzk5q9w44875jk4p4pf7jbkff5rzxf"; depends=[coda]; };
   fmdates = derive2 { name="fmdates"; version="0.1.4"; sha256="1bbcwkh65nf2gak9b81zgg32c5ihwhmai3nc43ayf6ivhqsxw8x0"; depends=[assertthat lubridate]; };
-  fmri = derive2 { name="fmri"; version="1.9"; sha256="1v7aicpds7zbh7p0vizrg5730f98ikqzrp6gmjw9psjwfxv0kmf6"; depends=[aws awsMethods metafor nlme]; };
+  fmri = derive2 { name="fmri"; version="1.9.2.1"; sha256="0ij6j3hk3rb2vinhh2jxac085qd258zr4jk60difh5krsk9kksyc"; depends=[aws awsMethods metafor nlme]; };
   fmriqa = derive2 { name="fmriqa"; version="0.3.0"; sha256="1z09nf1c305a78c129jvs21b9z91wyhazz41wrn4bimmhfhx7szv"; depends=[ggplot2 gridExtra imager optparse pracma RcppEigen reshape2 RNifti tidyr viridisLite]; };
   fmrs = derive2 { name="fmrs"; version="1.0-9"; sha256="1x9g67701kcnz3p97iynr74sn0mfpxpp16mv1l4zxlhhfn2v5lwx"; depends=[survival]; };
   fmsb = derive2 { name="fmsb"; version="0.6.3"; sha256="1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5"; depends=[]; };
   foba = derive2 { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
   focusedMDS = derive2 { name="focusedMDS"; version="1.3.3"; sha256="18s86dbbpyajscqr9frprf2vp1zif7vh4lw5m0cjskfc6gmsdp2p"; depends=[htmlwidgets]; };
-  foghorn = derive2 { name="foghorn"; version="1.1.0"; sha256="161smkvx1pzn8sskr137iiqhcm0jp5rrrmc1valamh0zz5glcdk8"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
-  foieGras = derive2 { name="foieGras"; version="0.2.2"; sha256="0nllvq81py74hgjci0n0lbi0flr3rrc1ki39xnidpcqkdp9n8ddx"; depends=[argosfilter dplyr ggplot2 gridExtra lubridate magrittr RcppEigen sf stringr tibble TMB]; };
+  foghorn = derive2 { name="foghorn"; version="1.1.4"; sha256="1nxz41yhlg28jdihixy2w44nfvaliyfmxibxk58j7hfgyyvlm21s"; depends=[clisymbols crayon curl httr jsonlite rvest tibble xml2]; };
+  foieGras = derive2 { name="foieGras"; version="0.4.0"; sha256="0jrxdmsjxc8zjfgcv6n0kili0dzxppy0qdhqaji2ggklzynp4i33"; depends=[argosfilter dplyr furrr future ggplot2 gridExtra lubridate RcppEigen rworldmap sf stringr tibble tidyr TMB]; };
   folderfun = derive2 { name="folderfun"; version="0.1.2"; sha256="08kfw7i5xqbk07ssp4j79p3x0gf0jq2fbcq99lb10r6ndcgp5rxp"; depends=[]; };
   fontBitstreamVera = derive2 { name="fontBitstreamVera"; version="0.1.1"; sha256="0nipdlmhjv1wr3aidcl97nk6mppdkd65krgwqnhdsnv0jpfv761j"; depends=[]; };
   fontHind = derive2 { name="fontHind"; version="0.1.1"; sha256="0qz3bj8vdy6jayy84p3vyxfwqll4v4qlklwq9wl981ii2k7g0vxf"; depends=[extrafont ggplot2 hrbrthemes]; };
@@ -7640,6 +7794,7 @@ in with self; {
   fontMPlus = derive2 { name="fontMPlus"; version="0.1.1"; sha256="1hvviawbfs3m7mr46y2sjdxkksi10vpbnjic11rjaxqcy9a43f4y"; depends=[extrafont ggplot2 hrbrthemes]; };
   fontcm = derive2 { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; };
   fontquiver = derive2 { name="fontquiver"; version="0.2.1"; sha256="0qv3i9hch7cygl9983s3w68wfh5qvym2jkm52pp06p6mq8a1i1wm"; depends=[fontBitstreamVera fontLiberation]; };
+  foodingraph = derive2 { name="foodingraph"; version="0.1.0"; sha256="0v40yk7lx0zxvpd3vz48h5gzx8ds8v3l12i2r7v9safgfvip6fvn"; depends=[cowplot dplyr ggplot2 ggraph igraph labeling magrittr minerva rlang stringr tibble tidyr viridis]; };
   foodweb = derive2 { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
   foolbox = derive2 { name="foolbox"; version="0.1.1"; sha256="06lcr5v6bcqqxskrwdm16b46zq4h67x8bwqya88jxs5bgi5w0hj3"; depends=[magrittr rlang]; };
   forams = derive2 { name="forams"; version="2.0-5"; sha256="1fh3m9896ksv1h7b027yb955bzyv70yafhqvn5crkzalzk3jpb0s"; depends=[vegan]; };
@@ -7649,12 +7804,13 @@ in with self; {
   forecTheta = derive2 { name="forecTheta"; version="2.2"; sha256="1a7ip3czm8k82kb8dx95m8q47kjhifdj51gzavd1zj9ni3vwbhfn"; depends=[forecast tseries]; };
   forecast = derive2 { name="forecast"; version="8.9"; sha256="013xnpj3czcjkwqyzjjjhgy9nd56lwvh6y05ys2lndvcy4vyrqxd"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca zoo]; };
   forecastHybrid = derive2 { name="forecastHybrid"; version="4.2.17"; sha256="1k3jwxqwkprcf2qr5x1b8hzzdvbyzdiablpvqnr0482x4vza8lmc"; depends=[doParallel foreach forecast ggplot2 purrr thief zoo]; };
+  forecastML = derive2 { name="forecastML"; version="0.6.0"; sha256="1jq6dlm9ix81nx61nphg2fzmf1jmlqirhpjnxx8qyhb8gx3jiply"; depends=[data_table dplyr dtplyr future_apply ggplot2 lubridate magrittr purrr rlang tidyr]; };
   forecastSNSTS = derive2 { name="forecastSNSTS"; version="1.3-0"; sha256="0p47x7ic2ib7znqbp8br4b2ci75f5w8x413z9g4n30m002p7irp1"; depends=[Rcpp]; };
   foreign = derive2 { name="foreign"; version="0.8-72"; sha256="124c9229is44p2rv7xyh2q86nsfi7vzyyh5n3c5ihziqrp4ig723"; depends=[]; };
   forensic = derive2 { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[combinat genetics]; };
   forensim = derive2 { name="forensim"; version="4.3"; sha256="1jhlv9jv832qxxw39zsfgsf4gbkpyvywg11djldlr9vav7dlh3iw"; depends=[tcltk2 tkrplot]; };
   forestChange = derive2 { name="forestChange"; version="0.6"; sha256="13zzng022m1jhca0d2w868kqp9h0wfpjmh0xnlb8jl1l4vfc68r9"; depends=[curl raster rgdal rvest SDMTools xml2]; };
-  forestControl = derive2 { name="forestControl"; version="0.2.0"; sha256="1w1x7i57dqlrm6zzgx4k0p1zs83nrg2w2jhhvjjk9s6y1ba3whyg"; depends=[dplyr magrittr purrr Rcpp tibble]; };
+  forestControl = derive2 { name="forestControl"; version="0.2.1"; sha256="1m75s98bs8n3qad8gp6a333dh3mbi0rbbic9iwnsqyklzkhmx1nr"; depends=[dplyr magrittr purrr Rcpp tibble]; };
   forestFloor = derive2 { name="forestFloor"; version="1.11.1"; sha256="1sslxq44qmmmdhr7800bz8lj9w2l7f7x1vly3w2z7j1qdijc7nw7"; depends=[kknn randomForest Rcpp rgl]; };
   forestHES = derive2 { name="forestHES"; version="1.0-1"; sha256="05l04ly3l8xkdz3rnnrfa4y0wfmh1am2ixbz1vfarnqkc0zppwpj"; depends=[]; };
   forestRK = derive2 { name="forestRK"; version="0.0-5"; sha256="0zm0q7bckmjl1j3yh5pw4r6rq64rfmzjvmvqniza5691jagjz60m"; depends=[ggplot2 igraph knitr mlbench partykit pkgKitten rapportools]; };
@@ -7669,7 +7825,7 @@ in with self; {
   formatR = derive2 { name="formatR"; version="1.7"; sha256="1nsxbrx31k3y6yql30qkrvdfyznlia2qfvwv95mfiy7m7wdn4rm3"; depends=[]; };
   formattable = derive2 { name="formattable"; version="0.2.0.1"; sha256="1s7jjgm0j24vdwm39933ygh6xnxcfvzy4kl2mmfgas4czfcmd4rf"; depends=[htmltools htmlwidgets knitr rmarkdown]; };
   formula_tools = derive2 { name="formula.tools"; version="1.7.1"; sha256="15d3ikfmsh9zszfgfkrxb3jkipl41inm7n6bhs73kwlnklnygq2g"; depends=[operator_tools]; };
-  formulaic = derive2 { name="formulaic"; version="0.0.3"; sha256="0y2sq6ql3q2bf050dp9v0z6fn0f36z5k5777ymc8yjnj603xhfkd"; depends=[data_table DT]; };
+  formulaic = derive2 { name="formulaic"; version="0.0.4"; sha256="1y5v6zwyzcba3zn8xzn9q94v5cwnkcr406xp3kmj9igxgb24ff0m"; depends=[data_table DT]; };
   formulize = derive2 { name="formulize"; version="0.1.0"; sha256="1fz8q48z4zvfglxzmmjznb7lcfrrfqmnws85jfkihs3ff43h7ccc"; depends=[recipes rlang]; };
   fortunes = derive2 { name="fortunes"; version="1.5-4"; sha256="109ly9kpfn6hy294ava8795wy5z9l1bnl98hhhv8kn9naf4camdg"; depends=[]; };
   forward = derive2 { name="forward"; version="1.0.4"; sha256="0qhssp8mymy5wgzfkp1xa8s81j803g0ckg647ind6ms26320hq0x"; depends=[MASS]; };
@@ -7684,11 +7840,13 @@ in with self; {
   fpca = derive2 { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; };
   fpeek = derive2 { name="fpeek"; version="0.1.1"; sha256="0x7q5rl02ih0zmjfzvsc1vmn7s7yzdkf2gbmzc3mh7qadwpnf89p"; depends=[Rcpp]; };
   fpest = derive2 { name="fpest"; version="0.1.1"; sha256="013r8295spm02j558aqvnrnbkg2g73gl5vi4lqzngbw8yr8qlkri"; depends=[]; };
+  fplot = derive2 { name="fplot"; version="0.2.0"; sha256="0sq662qblkq6yngi5d98byjmf2xyfq9rlrg8pl1gr3pn000wi8b3"; depends=[data_table Formula Rcpp]; };
   fpmoutliers = derive2 { name="fpmoutliers"; version="0.1.0"; sha256="108bp3smk9jnckd5237xly4ywmal03rq1kidq5z61l6zrhc3yfh9"; depends=[arules doParallel foreach Matrix pmml pryr R_utils XML]; };
   fpop = derive2 { name="fpop"; version="2019.08.26"; sha256="1gz5db9hlkvzkp5y7zzn9h57qz7ilpdyxyf05vy9kxbj36kgc19n"; depends=[]; };
   fpow = derive2 { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
   fpp = derive2 { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[expsmooth fma forecast lmtest tseries]; };
   fpp2 = derive2 { name="fpp2"; version="2.3"; sha256="1krrvwg25qjfpfjdwd3n0d87ihl4zf7y1bnh6gbi92sdja3ljq48"; depends=[expsmooth fma forecast ggplot2]; };
+  fpp3 = derive2 { name="fpp3"; version="0.1"; sha256="17j5y1y46dn21049rfiwr7j0f5q2kc6jvxdpw252l063dqdb9pd9"; depends=[cli crayon dplyr fable fabletools feasts ggplot2 lubridate magrittr purrr rstudioapi tibble tidyr tsibble tsibbledata]; };
   fptdApprox = derive2 { name="fptdApprox"; version="2.1"; sha256="00vxwcwca7zfm4fr0x9898snr6j0474ci1bahjmpj2jxiclwnhzs"; depends=[]; };
   fracdiff = derive2 { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
   fracprolif = derive2 { name="fracprolif"; version="1.0.7"; sha256="124p5x59smqf8ba0xwhlq69w77zga2bv9plzwkadf700lzvaj2wx"; depends=[emg numDeriv]; };
@@ -7698,7 +7856,7 @@ in with self; {
   fractional = derive2 { name="fractional"; version="0.1.3"; sha256="1jz83y53s0xdphh1z3v3z7xhcmhx7rp0iiazw2vdsx2747r3rirn"; depends=[Rcpp]; };
   fragilityindex = derive2 { name="fragilityindex"; version="0.1.0"; sha256="06f7w0ff8mmydgylz5a0z29fc78spvmay3sjq0rz9k44w4bb9z3q"; depends=[pbapply stringr survival]; };
   frailtyEM = derive2 { name="frailtyEM"; version="1.0.1"; sha256="0ajqmn8353va8k3idsl90xsrhpdqarfmvg84d4kwayxlqy6dmbb0"; depends=[expint ggplot2 magrittr Matrix msm numDeriv Rcpp survival tibble]; };
-  frailtyHL = derive2 { name="frailtyHL"; version="2.2"; sha256="0i6r889i4f07w6992nfsfr439psz6k3q79nkkk3zwf5fv5r6bcky"; depends=[cmprsk Matrix survival]; };
+  frailtyHL = derive2 { name="frailtyHL"; version="2.3"; sha256="115iv1d2c9mvviick8b24bn6kdbsvnf21nvfjm9a8dk0x07hrv5g"; depends=[cmprsk Matrix survival]; };
   frailtySurv = derive2 { name="frailtySurv"; version="1.3.6"; sha256="0k41a5x7qzrajk2l59q5b8kjj084vids4ailr8r7r2lnf6r9xrav"; depends=[ggplot2 nleqslv numDeriv Rcpp reshape2 survival]; };
   frailtypack = derive2 { name="frailtypack"; version="3.0.3.2"; sha256="0kwp7z5m73nx6jcgh6j76lmirpzh2kz3yirwn4iii9qkccrh6jps"; depends=[boot doBy MASS nlme statmod survC1 survival]; };
   frair = derive2 { name="frair"; version="0.5.100"; sha256="1j557dqvc5xiz7xbl4h7vp55pc3hly8ci01qy36p02vlxhzf4hj3"; depends=[bbmle boot lamW]; };
@@ -7712,7 +7870,7 @@ in with self; {
   freeknotsplines = derive2 { name="freeknotsplines"; version="1.0.1"; sha256="1yl53rnngrpj5mv1fgd0rgiqaw431g4ckxl1bq0l712647njx02a"; depends=[]; };
   freestats = derive2 { name="freestats"; version="0.0.3"; sha256="0b18n8idap089gkmjknzzb94dvs2drpdqs0mrw7dqnacxgbbqwfj"; depends=[MASS mvtnorm]; };
   freesurfer = derive2 { name="freesurfer"; version="1.6.5"; sha256="0g5rpskwgxx37b60vxn89kf2d6b2y66v508xyrsx3h47q973kjia"; depends=[neurobase R_utils reshape2]; };
-  freesurferformats = derive2 { name="freesurferformats"; version="0.1.2"; sha256="1w0a1dvqba6iywab5jnji3ky4l36r4q1jmg773dqwjjwsss2g8n1"; depends=[]; };
+  freesurferformats = derive2 { name="freesurferformats"; version="0.1.6"; sha256="17lxy8b4xz7g3anmr2wv70idw37gmlh6cf95k7krqmrrm5a3i369"; depends=[pkgfilecache]; };
   freetypeharfbuzz = derive2 { name="freetypeharfbuzz"; version="0.2.5"; sha256="11agmqdp6sy32jk2840cj8wmgywq0yjar18zsnsn56qfvn4b1k1c"; depends=[fontquiver]; };
   freqdist = derive2 { name="freqdist"; version="0.1"; sha256="1pb45jabv9s3qa7v1isd5wm9b0g9p04q5h18spcaax8397s0d2fv"; depends=[]; };
   freqdom = derive2 { name="freqdom"; version="2.0.1"; sha256="0ig0ygnlcb5ndjjm5x8jpp37gvgwli9xv6zsvbbgfh72q418qswp"; depends=[matrixcalc mvtnorm]; };
@@ -7721,6 +7879,7 @@ in with self; {
   frequency = derive2 { name="frequency"; version="0.3.1"; sha256="0m3vgcwldl7zv0nwdwfz80qanibmfp8j5iv79kydhrmzzr04rbf5"; depends=[DT ggplot2 gtools knitr rmarkdown]; };
   frequencyConnectedness = derive2 { name="frequencyConnectedness"; version="0.2.1"; sha256="006cb7x65if7md5w6w90nacdmg39pv7dc8zxvchc52kmfzlps0ds"; depends=[knitr pbapply urca vars]; };
   frequentdirections = derive2 { name="frequentdirections"; version="0.1.0"; sha256="0rmifh221c8z3cqyqg0bfxnih9f64hvv98jz44i6grnlablfwwgw"; depends=[ggplot2]; };
+  fresh = derive2 { name="fresh"; version="0.1.0"; sha256="101ycxwk1z59zb2p6hfg4a8l565gfqbzmhw60nz22fql4gyhl8q9"; depends=[htmltools rstudioapi sass shiny]; };
   frm = derive2 { name="frm"; version="1.2.2"; sha256="1dl0vca9r2dams99sc13pfpi0b3yb02x59f4c1jz07zz005c8l23"; depends=[]; };
   frmhet = derive2 { name="frmhet"; version="1.1.3"; sha256="07sgsfhzrci8g1b0gicjfca1mgd8ppfqpkpp4q9bdxnjvdvlf45s"; depends=[]; };
   frmpd = derive2 { name="frmpd"; version="1.1.0"; sha256="0irgqdr0vr8k408lsxcrjkjbjvqvmy5mnjw9c1ghs86isrp5mciz"; depends=[]; };
@@ -7732,12 +7891,12 @@ in with self; {
   frostr = derive2 { name="frostr"; version="0.1.0"; sha256="02ygg5dxpnv72gpwwsarhkl5hk6hldxjqpw875p7hb1ny7khgmfg"; depends=[httr jsonlite tibble tidyr]; };
   frt = derive2 { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
   fs = derive2 { name="fs"; version="1.3.1"; sha256="1g26rgx13dzigp2vrlld6h28q33lwbax97zvwdrq2pc3iz54v4yn"; depends=[Rcpp]; };
+  fsbrain = derive2 { name="fsbrain"; version="0.0.3"; sha256="1s7i9rpazp5s3vnm9y6ajpy06wbd7gjdzr9mbndjnsb9w985957a"; depends=[dplyr fields freesurferformats pkgfilecache reshape rgl squash]; };
   fscaret = derive2 { name="fscaret"; version="0.9.4.4"; sha256="18fhyfl3f8syyc3g937qx87dmwbv7dray6b97p1s6lnssiv61gsw"; depends=[caret gsubfn hmeasure]; };
   fsdaR = derive2 { name="fsdaR"; version="0.4-6"; sha256="0lj2kaan5n4g2ckj6d4sfvab0a45h164m1fjvqf57c0ymhaswz76"; depends=[ggplot2 reshape2 rJava rrcov]; };
   fsia = derive2 { name="fsia"; version="1.1.1"; sha256="0id7cnswrqylgpwjil1zfn89ryrdpl20fim8x1srl8s1hm5bg35r"; depends=[]; };
   fslr = derive2 { name="fslr"; version="2.24.1"; sha256="1psjqvjv8krlkj7dcfwygz563a4cpn7h21z330hxh5q10rwhabi8"; depends=[neurobase oro_nifti R_utils]; };
   fso = derive2 { name="fso"; version="2.1-1"; sha256="0hn2ypm0nwfbmnh9il78pi30x7gfmayfangqyh0d63ngyz40bvma"; depends=[labdsv]; };
-  fssemR = derive2 { name="fssemR"; version="0.1.5"; sha256="1pxyl8b6nfaxdc86zlfjgyjvmx8ifh46d1lbwc2dknhp7sxc95q5"; depends=[glmnet igraph MASS Matrix mvtnorm qtl Rcpp RcppEigen stringr]; };
   fst = derive2 { name="fst"; version="0.9.0"; sha256="0ya5lh8p0qy5pcr6wxsrn43wj1r9gb9qycyn8gvl26ic3hxwk2rf"; depends=[Rcpp]; };
   fsthet = derive2 { name="fsthet"; version="1.0.1"; sha256="0z6az1jcvdahgn97r6cpj1s6fn0lvr7j12gcw2r7wbpajrvyl5j6"; depends=[]; };
   ftDK = derive2 { name="ftDK"; version="1.0"; sha256="1xs2rr2afjza97kpym5zkas3k78pilxjlh7lp1gc66banldr71g2"; depends=[dplyr httr pbapply purrr tibble]; };
@@ -7745,6 +7904,7 @@ in with self; {
   fts = derive2 { name="fts"; version="0.9.9.2"; sha256="08pwhi19db173d4nsk5rl8xa8qmaddj4bn3cjxb8ql4kny59i57q"; depends=[BH zoo]; };
   ftsa = derive2 { name="ftsa"; version="5.5"; sha256="1c7b3b6zrm45y2110j0dqlgilfiiyx4wqhgdiq82q6kagng32cl1"; depends=[colorspace fda forecast MASS pcaPP pdfCluster rainbow sde]; };
   ftsspec = derive2 { name="ftsspec"; version="1.0.0"; sha256="12f9yws1r26i240ijq0xqprl3pgbw50wv68jsm75ycplbs2jsyhs"; depends=[sna]; };
+  fuel = derive2 { name="fuel"; version="1.0.2"; sha256="0ziw370ch8g2hnlimxfgski4n28b83jnwrhlh7ibszk0lz593rkr"; depends=[]; };
   fueleconomy = derive2 { name="fueleconomy"; version="0.1"; sha256="1svy5naqfwdvmz98l80j38v06563vknajisnk596yq5rwapl71vj"; depends=[]; };
   fugeR = derive2 { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[Rcpp snowfall]; };
   fugue = derive2 { name="fugue"; version="0.1.7"; sha256="1myvi9cizxvahb6wn2k26v3x958xsrm2p414ar05injmfjdfnsmi"; depends=[]; };
@@ -7755,22 +7915,23 @@ in with self; {
   funFEM = derive2 { name="funFEM"; version="1.1"; sha256="08798lvryykrxfvp2297anzl4gi81gwvc1qyyzq16nafjf65kwfy"; depends=[elasticnet fda MASS]; };
   funHDDC = derive2 { name="funHDDC"; version="2.3.0"; sha256="1dym1bzywng5yjfzpppxx043pwcbvrxxq0bn1d6xqqkqcpzn2zhp"; depends=[fda MASS]; };
   funLBM = derive2 { name="funLBM"; version="1.0"; sha256="0krx5v1lakrrxk0j249k7sr7c6r40yg1l8l10laf4444j2qn8rjp"; depends=[fda funFEM]; };
-  funModeling = derive2 { name="funModeling"; version="1.9.2"; sha256="03kg0iqdijawly1nfw57x8d7sh9s8fd6p83l9450hghg77fbgdpn"; depends=[cli dplyr entropy ggplot2 gridExtra Hmisc lazyeval moments pander RColorBrewer reshape2 ROCR scales stringr]; };
+  funModeling = derive2 { name="funModeling"; version="1.9.3"; sha256="0dqpb5igdpdnbwr6y8wr11hcn84clshnx0q913512jvcrx0h0pd9"; depends=[cli dplyr entropy ggplot2 gridExtra Hmisc lazyeval moments pander RColorBrewer reshape2 ROCR scales stringr]; };
   funbarRF = derive2 { name="funbarRF"; version="1.0.2"; sha256="14xfhwp4vffl215fqdxdxpmjblyw75ylxqjzja794adywm06sz19"; depends=[BioSeqClass Biostrings randomForest]; };
   funchir = derive2 { name="funchir"; version="0.1.4"; sha256="1mbsy65628q117c2k01wvibpjd3ibigy4yc1c8m0rf9jwsc67qjb"; depends=[data_table]; };
   functional = derive2 { name="functional"; version="0.6"; sha256="120qq9apg6bf39n9vnp68db5rdhwvnj2vi12a8j8243vq8kqxdqr"; depends=[]; };
   functools = derive2 { name="functools"; version="0.2.0"; sha256="0g62jdia3n09vq8mx1m2r4nl3jfcadzpym0wkldzzzjcfs90vl6b"; depends=[]; };
   funcy = derive2 { name="funcy"; version="1.0.1"; sha256="08r9nyqq83vzaddxcqwf4zilkz935p40vssfn3afs1bkkda5xyya"; depends=[calibrate car cluster fda fields flexclust kernlab MASS Matrix plyr sm wavethresh]; };
-  fungible = derive2 { name="fungible"; version="1.86"; sha256="0k59drwc0z1l67bkc49nmpdf8p6m5xwdxfhjbw83y5pxdjgzvj9q"; depends=[clue GPArotation lattice MASS mvtnorm nleqslv Rcsdp RSpectra]; };
+  fungible = derive2 { name="fungible"; version="1.93"; sha256="03v15qf5mlfllx8kb82ajq3lg8pssi20ffkszxbn20y8q4m2rapq"; depends=[clue GPArotation lattice MASS mvtnorm nleqslv Rcsdp RSpectra]; };
   funique = derive2 { name="funique"; version="0.0.1"; sha256="0p9k4nxjns1xid9vmslkaap0hm6yq6pbyvylgygd808if4q1z8k6"; depends=[]; };
   funnelR = derive2 { name="funnelR"; version="0.1.0"; sha256="143lb048krgh8rkkz6sm8h464kdy62w29fvvyar795vqi10bb5fy"; depends=[ggplot2]; };
+  funprog = derive2 { name="funprog"; version="0.1.0"; sha256="1npyijpsbb9n3z8pyvf2pbnf67jlcqw4wl2jm860i3z13j1cnhmn"; depends=[]; };
   funr = derive2 { name="funr"; version="0.3.2"; sha256="11mjd1ba9kwawh7k5py54mkq4g1df79d7qivan8fj11qfwfzm679"; depends=[]; };
   funrar = derive2 { name="funrar"; version="1.3.0"; sha256="0bby03hjzcsy2chh7l5170ba12jbid6485nsjxapajv6gdzzpk58"; depends=[cluster dplyr]; };
   funreg = derive2 { name="funreg"; version="1.2"; sha256="199zvqali0sb0z4yp20rm5da0kd7z3rgv47g1cb1apsbcw0cq51n"; depends=[MASS mgcv mvtnorm]; };
   funtimes = derive2 { name="funtimes"; version="6.1"; sha256="1qr0z0nn3dv2yxq4sacsm0xs4pnda31zc10rz427rdyjrps85838"; depends=[dbscan Jmisc Kendall Rdpack]; };
   furniture = derive2 { name="furniture"; version="1.9.0"; sha256="17cik8r3dbv1a4d17ail7im65s8q2jmyzwiq1cbma7rldszs0x5j"; depends=[cli crayon dplyr forcats knitr magrittr rstudioapi tibble]; };
   furrr = derive2 { name="furrr"; version="0.1.0"; sha256="1ld9aa9hydna94hgm6p91zjbfv1dz1vsgchjlpknkg6irbvkfafx"; depends=[future globals purrr rlang]; };
-  fusedest = derive2 { name="fusedest"; version="1.3"; sha256="1i41bhrbdm501qs3dqh2y36mzfa5v94fqlhk625i2zwmf2ia7zas"; depends=[igraph Matrix Rcpp RcppEigen]; };
+  fusedest = derive2 { name="fusedest"; version="1.3.1"; sha256="1nz5bkvn8y9f8h0ya6wblryg7bwj1vnz1vyqmd1hfr85bxfgl83c"; depends=[igraph Matrix Rcpp RcppEigen]; };
   fuser = derive2 { name="fuser"; version="1.0.1"; sha256="17lsfpd9hdichj3wflac896zyjbq7a8w2gmlgj8nbgg80f646fgr"; depends=[glmnet irlba Matrix Rcpp RcppEigen RSpectra]; };
   fusionclust = derive2 { name="fusionclust"; version="1.0.0"; sha256="1h03nlk4gnz4j5h2h5bxazkka2qq983h7nglm1ghzqvbqjk6sv37"; depends=[bbmle]; };
   futile_any = derive2 { name="futile.any"; version="1.3.2"; sha256="09z12dlj7cnkfwnmgsjknsghirv1cry83w4a9k4d0w5a1jnlr5jg"; depends=[lambda_r]; };
@@ -7779,7 +7940,7 @@ in with self; {
   futile_options = derive2 { name="futile.options"; version="1.0.1"; sha256="0w15agpi88y3qkv6fl72zy2pzyplzgvnj41a4ixhg64mw1sck73s"; depends=[]; };
   futile_paradigm = derive2 { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
   futility = derive2 { name="futility"; version="0.4"; sha256="0zjb87brz7pkx3nq3q30y69cmcxpqqsra447p60qh7005kgr9vx4"; depends=[]; };
-  future = derive2 { name="future"; version="1.14.0"; sha256="1jyv2wlmpfqbk3hw269h4xg36na3wh1kd1lxmwdb40bsv4850lqa"; depends=[digest globals listenv]; };
+  future = derive2 { name="future"; version="1.15.1"; sha256="101hi8warqa0py9l6c5p98f7i9xjhx01w655z6a35jx1dhspykzd"; depends=[digest globals listenv]; };
   future_BatchJobs = derive2 { name="future.BatchJobs"; version="0.16.2"; sha256="08lh1sp0v1vagi34s218a1ygj63whkf3s9w0kyf25v64gsdavkzc"; depends=[BatchJobs future R_utils]; };
   future_apply = derive2 { name="future.apply"; version="1.3.0"; sha256="0wd3bh114zkvrqlpn8gqz4ix1igr9hr8x72h2g00a7mqkfjfqx33"; depends=[future globals]; };
   future_batchtools = derive2 { name="future.batchtools"; version="0.8.1"; sha256="034sgd5pcv6d4jbi21ishwz5r1ym82g1pvyv3s0sl1jsy5g55v0w"; depends=[batchtools future]; };
@@ -7789,7 +7950,7 @@ in with self; {
   fuzzyFDR = derive2 { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
   fuzzyRankTests = derive2 { name="fuzzyRankTests"; version="0.3-10"; sha256="1xj5xsm2s4ylv3b8v80qny201iddjym07h8d50asas7xy1k7945z"; depends=[]; };
   fuzzySim = derive2 { name="fuzzySim"; version="2.0"; sha256="00rl5npz656hwpd1ah8bgh9baqpa9z2lgxc44amm5w3pb9pqjkbs"; depends=[]; };
-  fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.5"; sha256="1ifhvdzn0rs8gxqmpz8w1prxg3pxs5jqx5lh0r4i5rai49qjy3sb"; depends=[doParallel doRNG foreach ggplot2 mvtnorm randomForest]; };
+  fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.6"; sha256="1g8vmz0srddw879prk7br535rdrgngpiyz2m0zchwahfjkn7yqz5"; depends=[doParallel doRNG foreach ggplot2 mvtnorm randomForest]; };
   fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.5"; sha256="1lz7zxpqn206rgk956c4z9sfj3rg66pwcyci7d3r63cbgynq1gcs"; depends=[dplyr geosphere purrr stringdist stringr tibble tidyr]; };
   fuzzyreg = derive2 { name="fuzzyreg"; version="0.5.1"; sha256="19ppb1m655z3n7h4wcd5bwjciw4ynjbi883ki50mr5di3zy64n4r"; depends=[limSolve quadprog]; };
   fuzzywuzzyR = derive2 { name="fuzzywuzzyR"; version="1.0.3"; sha256="1kbli1m44317m95a0r34vza9p27vd9ala05jrbrdkadninwdynal"; depends=[R6 reticulate]; };
@@ -7797,12 +7958,12 @@ in with self; {
   fwsim = derive2 { name="fwsim"; version="0.3.4"; sha256="0fy87c1x5hihfcppv1pvk3b0pwl6ygqpka40x55gbpkgssdigb1l"; depends=[Rcpp]; };
   fxregime = derive2 { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[car sandwich strucchange zoo]; };
   fxtract = derive2 { name="fxtract"; version="0.9.2"; sha256="0v65gdbc6xhqy1dwb6s8gp5dlz4nbsl7yr17g3pyw43znx7s5l1j"; depends=[checkmate data_table dplyr fs future_apply magrittr R6]; };
-  fy = derive2 { name="fy"; version="0.1.0"; sha256="1620b2qsrryxdg49xfisf0gf0j380vkbg2nizanki2wh0rw9x7r3"; depends=[data_table fastmatch hutils]; };
+  fy = derive2 { name="fy"; version="0.2.0"; sha256="0s8wqzzdd3sw5nfzap482382p252h5l0fx2bm6vi48zhg4pkgkc1"; depends=[data_table fastmatch hutils]; };
   g_data = derive2 { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
   g2f = derive2 { name="g2f"; version="0.2"; sha256="1jsmiv6v8ilpxg1k1npcgqa467hpyw7mzh5m8dp7bxar4j5npsp4"; depends=[KEGGREST minval sybil]; };
   g3viz = derive2 { name="g3viz"; version="1.1.2"; sha256="1rra2n8b6mimwpsdpjnvpfl3hh0nv1xyzmggpz9xydilv7lybinz"; depends=[cgdsr htmlwidgets jsonlite stringr]; };
   gCat = derive2 { name="gCat"; version="0.1"; sha256="10990ilsjk52kqkcdngj4nq0kcbn4w1syxl1mqjq2n5g1l002yjy"; depends=[]; };
-  gDefrag = derive2 { name="gDefrag"; version="0.1"; sha256="1xzp12p7w4gsy88hjl1n0ylymjbm3wqypqavkb97if94mwhlfqsh"; depends=[igraph maptools rgdal rgeos sp]; };
+  gDefrag = derive2 { name="gDefrag"; version="0.2"; sha256="0z2jbb53x0knxajap1f2w25s732xqy1fyayxh2mzlbhm0zf3pjjw"; depends=[igraph maptools rgdal rgeos sp]; };
   gIPFrm = derive2 { name="gIPFrm"; version="3.1"; sha256="08rfdac442picbw1r3xyxjzf2dc57svg44am0714z4r72mshvj04"; depends=[]; };
   gLRTH = derive2 { name="gLRTH"; version="0.2.0"; sha256="1drmmr576n3pbr0q1cnnx4k7r4iz061n2cizv1kpr3wcc1g291pn"; depends=[]; };
   gMCP = derive2 { name="gMCP"; version="0.8-14"; sha256="11q2d4a352z7c0ln10mdpms1cl4bh5hqmg9avmbxw54z4i00mdvy"; depends=[CommonJavaJars JavaGD MASS Matrix multcomp mvtnorm PolynomF rJava xlsxjars]; };
@@ -7810,7 +7971,7 @@ in with self; {
   gMWT = derive2 { name="gMWT"; version="1.1"; sha256="1ws96x3vjswh6m6s9zn3r9gp7xp6ybdkkxsq9a73ng2zqz2qjdl0"; depends=[clinfun Rcpp RcppArmadillo]; };
   gPCA = derive2 { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
   gPdtest = derive2 { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
-  gProfileR = derive2 { name="gProfileR"; version="0.6.8"; sha256="05d6y6b7vkkzp2qhs1cwlvp02djij1b28dbwxnrms08f8qi35iaj"; depends=[plyr RCurl]; };
+  gProfileR = derive2 { name="gProfileR"; version="0.7.0"; sha256="1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k"; depends=[plyr RCurl]; };
   gRain = derive2 { name="gRain"; version="1.3-0"; sha256="0xb746pyh8k8w1a8nz7z41bflx5xr0cqdq5l5wj7j464zv2cw6jy"; depends=[functional graph gRbase igraph magrittr Rcpp RcppArmadillo RcppEigen]; };
   gRapfa = derive2 { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
   gRbase = derive2 { name="gRbase"; version="1.8-4.5"; sha256="01mq9c5prkb9vhpp46i369i9a66vc1knh54vk57rb9mndlr8kinv"; depends=[graph igraph magrittr Matrix RBGL Rcpp RcppArmadillo RcppEigen Rgraphviz]; };
@@ -7836,7 +7997,7 @@ in with self; {
   galts = derive2 { name="galts"; version="1.3.1"; sha256="0jg0yng1kc6s0qdhq8ps38dsxdcrgdcn8dl2dlclw6rcbknb6h4k"; depends=[DEoptim genalg]; };
   gam = derive2 { name="gam"; version="1.16.1"; sha256="1fbldshnfy37bpqprazwp1rkyh9f67mr2krnxpl4688mqq143l40"; depends=[foreach]; };
   gamCopula = derive2 { name="gamCopula"; version="0.0-5"; sha256="08dw2i7h8maymqxr882kdv5938dz08n44969fisj2zya00zsrr4y"; depends=[copula doParallel foreach gsl igraph MASS mgcv numDeriv VineCopula]; };
-  gamRR = derive2 { name="gamRR"; version="0.6.0"; sha256="0l7ql1qp3xgky82d88l143nl7l11zsj4mnkdsx10f3nmf7kykj3d"; depends=[boot mgcv]; };
+  gamRR = derive2 { name="gamRR"; version="0.7.0"; sha256="0zn8921a4i1lz5wpdfbd72pqb25r12abyqw7y2w53kfhdzs57f3l"; depends=[boot mgcv]; };
   gama = derive2 { name="gama"; version="1.0.3"; sha256="1k79m01r3y9am62414947zfwb1w1gh0nn48najivbjyk9i2avn9r"; depends=[ArgumentCheck cluster clusterCrit GA ggplot2 NbClust Rfast]; };
   gamair = derive2 { name="gamair"; version="1.0-2"; sha256="1cjrd576l9md1jb1fc1y6iay5y49i0d8by024qsc7yik6f6mdl13"; depends=[]; };
   gambin = derive2 { name="gambin"; version="2.4.1"; sha256="03n5zcwfq8g1vk5w22hw8fhqkc63zz4g9d3gdxa5g8v7v56l3dqy"; depends=[doParallel foreach gtools]; };
@@ -7847,13 +8008,13 @@ in with self; {
   games = derive2 { name="games"; version="1.1.2"; sha256="01hbbr2hsxi5j9axpdl0jihpd55pa9hacjxmab8p7cixk3xqqqbf"; depends=[Formula MASS maxLik stringr]; };
   gamesGA = derive2 { name="gamesGA"; version="1.1.3.6"; sha256="1agvh27m5sy8psbsw9nbi39wl7cf406fl9sd9hkc14139w9drfwv"; depends=[shiny]; };
   gamlr = derive2 { name="gamlr"; version="1.13-5"; sha256="0fc27b6qcm01drb7pb14wri2hlb464jig3x7sb8njwrxcqqia14n"; depends=[Matrix]; };
-  gamlss = derive2 { name="gamlss"; version="5.1-4"; sha256="0v1pld56y5a9d9pi5pq1zgyr0l7k9wx57ndgrmlrv9m3dkz3dz72"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
+  gamlss = derive2 { name="gamlss"; version="5.1-5"; sha256="0gcngfck0dk2rhjg0z1fnc61dqs0s049jy2rkywaf57531s2k8bc"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
   gamlss_add = derive2 { name="gamlss.add"; version="5.0-1"; sha256="1agk6pfm04hf9dp5r6dvxqkj1hykx23a16q7vch2sg752z0dadgk"; depends=[gamlss gamlss_dist mgcv nnet rpart]; };
   gamlss_cens = derive2 { name="gamlss.cens"; version="5.0-1"; sha256="1s83dgifidvc6cbrqirwlvwfzg08mlhmxxiqkbmnsy09i5j9fzd3"; depends=[gamlss gamlss_dist survival]; };
   gamlss_countKinf = derive2 { name="gamlss.countKinf"; version="3.5.1"; sha256="1xalp909gxxhyhh4chlr1ssyfhydhw1w3szzbynajji98576zaqv"; depends=[gamlss gamlss_dist]; };
   gamlss_data = derive2 { name="gamlss.data"; version="5.1-4"; sha256="1dgfspbmps6ipzcmw681wjdp320nm50dwsxafgrcwxndqgc7fdqd"; depends=[]; };
   gamlss_demo = derive2 { name="gamlss.demo"; version="4.3-3"; sha256="01p6abppwbnh2a2ks1g08z4iwq2fxf125y9s4qzssybsn76a3gf3"; depends=[gamlss_dist gamlss_tr rpanel]; };
-  gamlss_dist = derive2 { name="gamlss.dist"; version="5.1-4"; sha256="0zi87lgigr83l35zqq1y1g4cdq6ssjamripzz7yis74aznh6qg1l"; depends=[MASS]; };
+  gamlss_dist = derive2 { name="gamlss.dist"; version="5.1-5"; sha256="1rl7hzdg5xpvaq3yyzwxhsaqzzs0qidi3ibv454fisijgv8l4vqw"; depends=[MASS]; };
   gamlss_inf = derive2 { name="gamlss.inf"; version="1.0-1"; sha256="0m091zxjm5wvhm6mzbpzkr275n3qnlb3v4099k0a1jymahk4w7vr"; depends=[gamlss gamlss_dist]; };
   gamlss_mx = derive2 { name="gamlss.mx"; version="4.3-5"; sha256="1jfs3ib2imwgazf8v23fa12iaflv0pm944bkqklx8qcljxp1lcs7"; depends=[gamlss gamlss_dist nnet]; };
   gamlss_nl = derive2 { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; };
@@ -7872,7 +8033,7 @@ in with self; {
   gapfill = derive2 { name="gapfill"; version="0.9.6"; sha256="0384v7capab7dbyvz6b2jvnh840z6ab3857my0h3cgsys3lhn3c5"; depends=[fields foreach ggplot2 quantreg Rcpp]; };
   gapmap = derive2 { name="gapmap"; version="0.0.4"; sha256="0xz19n0vvdzbfg6afp3y0qfbs3f2nfxib1cyya3cax5wqqfbzw3i"; depends=[ggplot2 reshape2]; };
   gapminder = derive2 { name="gapminder"; version="0.3.0"; sha256="067cra1ca4ngwjx8d1y9pyzwcpsfi1wcal0glzyy6ghd1k6jflpv"; depends=[tibble]; };
-  gargle = derive2 { name="gargle"; version="0.3.1"; sha256="0vqgp4w03sdyj0q96gxkybqflzzbaw84zifsbi7pxk5y08fimj2v"; depends=[fs glue httr jsonlite rlang withr]; };
+  gargle = derive2 { name="gargle"; version="0.4.0"; sha256="08zhfk2sl342w35i5n2c93ayypg3z0kbl0020l3y9adqka1vazgx"; depends=[fs glue httr jsonlite rlang withr]; };
   garray = derive2 { name="garray"; version="1.1.2"; sha256="0s2dgi556x9jnhafvzz4qkxdbq9dm12gsvsqd2g9iy3468fx9flq"; depends=[]; };
   gaselect = derive2 { name="gaselect"; version="1.0.7"; sha256="0bivbvs8yyspqskvka1s1sr6w3k0m5kk4b66wfz9bfdygnywd6wz"; depends=[Rcpp RcppArmadillo]; };
   gasfluxes = derive2 { name="gasfluxes"; version="0.4-3"; sha256="017y3d67f22r6pxpjxab634kpdcxjd5mq53h3g45cxic1jz3znym"; depends=[AICcmodavg data_table MASS sfsmisc]; };
@@ -7905,7 +8066,7 @@ in with self; {
   gcookbook = derive2 { name="gcookbook"; version="2.0"; sha256="11g1q187l4j31b6cdzdx5z3s14z3s09l7ynl36pzzn9j19l8cmrc"; depends=[]; };
   gdalUtilities = derive2 { name="gdalUtilities"; version="1.0.0"; sha256="1z452lh1n65g78dqynnwq3rcrmm7g4jz7qr25px7qav0zi6944mf"; depends=[raster sf]; };
   gdalUtils = derive2 { name="gdalUtils"; version="2.0.1.14"; sha256="0dvp1qzxxp6rjqfxpxckbfhdqanksnm4rfgsalvb5wdm5qmm02l9"; depends=[foreach R_utils raster rgdal sp]; };
-  gdalcubes = derive2 { name="gdalcubes"; version="0.2.1"; sha256="0i4dpxf9wx3sd3zi9vr0crinw449y98258plallmw47zvggwhiqv"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
+  gdalcubes = derive2 { name="gdalcubes"; version="0.2.3"; sha256="04wxy0w1sh1d64995m0b1ss9ly7n2dz7vdgmxgrdn07w7vhbhacx"; depends=[jsonlite ncdf4 Rcpp RcppProgress]; };
   gdata = derive2 { name="gdata"; version="2.18.0"; sha256="0zwdj7lscgxr8r62ii8hbdh4mb7sa9w4f5nv32zzrxdvymcpya2b"; depends=[gtools]; };
   gdimap = derive2 { name="gdimap"; version="0.1-9"; sha256="0ksbpcy739bvsiwis0pzd03zb4cvbd8d5wdf8whfn9k6mkj4x9rs"; depends=[abind colorspace geometry gridExtra gsl movMF oro_nifti rgl]; };
   gdistance = derive2 { name="gdistance"; version="1.2-2"; sha256="0lqpxsg01ibkaq50qyccdhsl2sbb4kh9bcfifs1yzsg45bq27jf8"; depends=[igraph Matrix raster sp]; };
@@ -7914,9 +8075,10 @@ in with self; {
   gdns = derive2 { name="gdns"; version="0.3.1"; sha256="1vydl7jacldidzx1hhqang9fw8zar8wy4cgdmr9pbw22ffw2qq7s"; depends=[httr jsonlite stringi]; };
   gdpc = derive2 { name="gdpc"; version="1.1.0"; sha256="1q1c9pypkb8dv6bvgizaca4p43krc52fvlvjz9l6nkpazr1qx33d"; depends=[doParallel foreach Rcpp RcppArmadillo xts zoo]; };
   gds = derive2 { name="gds"; version="0.1.0"; sha256="0kc3l93640x8d6g3pa9gbr7ci5hmryg9i1nqpasgnvb6ixv6azbm"; depends=[]; };
-  gdtools = derive2 { name="gdtools"; version="0.2.0"; sha256="1mvpkp8cj30fwd4bwlz96x3cff7yzfbfz7iswmf77zl0a6122inh"; depends=[Rcpp systemfonts]; };
+  gdtools = derive2 { name="gdtools"; version="0.2.1"; sha256="1aax50wyrs4336zpf247l8wmp4spab2n70msziy1ip4gbjn26wa1"; depends=[Rcpp systemfonts]; };
+  gdxdt = derive2 { name="gdxdt"; version="0.1.0"; sha256="1yrjixq4srmaiy5iaprix4096yhf3ldyklgjag4kxd3l5acwap4h"; depends=[data_table]; };
   gear = derive2 { name="gear"; version="0.1.4"; sha256="1wa35965fw4ga3p72z9w40pcc3jdc3fl7gdkfbwgakg7vc6f24xq"; depends=[lattice optimx sp]; };
-  gee = derive2 { name="gee"; version="4.13-19"; sha256="14n2fa2jmibw5j8n4qgbl8xbxhapmx4z3zrmkbcci39k9dsyplzb"; depends=[]; };
+  gee = derive2 { name="gee"; version="4.13-20"; sha256="167pzgnmj4cjc41ykps1mfwi6s7y32zxyycn5z17vn4v0pp4q0ak"; depends=[]; };
   gee4 = derive2 { name="gee4"; version="0.1.0.0"; sha256="1vvzb9sc69g292zmh9djd15jgc7falypd5p7mzw6ps7mirpbnicf"; depends=[Formula Rcpp RcppArmadillo]; };
   geeM = derive2 { name="geeM"; version="0.10.1"; sha256="1r9zyjv7r7r7avdqi54dvczf971frz8pgrs1a04kan5mh4ls6xpy"; depends=[Matrix]; };
   geecure = derive2 { name="geecure"; version="1.0-6"; sha256="0nmnrkfgblv38qvk66bdk8933icr59mayqwljkvmpy59sm6br2k5"; depends=[geepack MASS Matrix survival]; };
@@ -7931,14 +8093,15 @@ in with self; {
   gems = derive2 { name="gems"; version="1.1.1"; sha256="174mjnpldb0rwjvwdgpcg1acm526gs0pjf9gi5mn9d3x9yz4r5jx"; depends=[data_table MASS msm plyr]; };
   gemtc = derive2 { name="gemtc"; version="0.8-2"; sha256="0c2a9gz6rvsc5qh66ixxa4dz6lwhcmmsf2vnvxl98c9kbvdwfqm9"; depends=[coda igraph meta plyr Rglpk rjags truncnorm]; };
   gen2stage = derive2 { name="gen2stage"; version="1.0"; sha256="16xbzgkjskzm1wik3dznvwhqddrpmcgsgd372n4a67rbb46jgx6r"; depends=[clinfun]; };
-  genBaRcode = derive2 { name="genBaRcode"; version="1.2.0"; sha256="1h4yyjjx7cpinbh716ha79hsmjlj5waxvrv67dz8lij0ingycdzh"; depends=[ape Biostrings dplyr futile_logger future future_apply ggnetwork ggplot2 ggraph ggseqlogo ggtree igraph network phangorn RColorBrewer reshape2 S4Vectors shiny ShortRead stringdist VennDiagram visNetwork]; };
+  gen5helper = derive2 { name="gen5helper"; version="1.0.1"; sha256="0z7hisn57md18vcfb6f44hy6zzp9dirrjyxi4x1id3mqa3mligb6"; depends=[dplyr ggplot2 minpack_lm naturalsort plyr pracma rlang tidyr]; };
+  genBaRcode = derive2 { name="genBaRcode"; version="1.2.2"; sha256="0ls5xly4rrwjby04015yrs8f072fdg492bk4lj1zr2hy0z4m98jc"; depends=[ape Biostrings dplyr futile_logger future future_apply ggnetwork ggplot2 ggraph ggseqlogo ggtree igraph network phangorn RColorBrewer reshape2 S4Vectors shiny ShortRead stringdist VennDiagram visNetwork]; };
   genBart = derive2 { name="genBart"; version="1.0.1"; sha256="12z5vj41npwawz954zqkjfmg9inh063ilh7m82pn73asrxif0ay3"; depends=[clValid data_table fastcluster ggplot2 gtools limma NMF pca3d psych qusage RColorBrewer reshape2 rmarkdown scales shiny shinydashboard shinyjs statmod stringr VennDiagram]; };
   genSurv = derive2 { name="genSurv"; version="1.0.3"; sha256="0k5rfpq603szjb76gxffvsbqcav8182h8zwvg4kar68k72yfw1xs"; depends=[]; };
   genalg = derive2 { name="genalg"; version="0.2.0"; sha256="1wzfamq8k5yhwbdx0wy1w5bks93brj0p890xxc4yqrja4w38ja3s"; depends=[]; };
   genasis = derive2 { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[fitdistrplus Kendall]; };
   gencve = derive2 { name="gencve"; version="0.3"; sha256="00wbmaffm7mbfv3zl6mb24w1df1a8p24girwdh3a522lw3045iwf"; depends=[C50 class e1071 glmnet lars MASS nnet plus randomForest rpart]; };
   gendata = derive2 { name="gendata"; version="1.1"; sha256="1r5bhmfblhk6d31v0byhp4a0pmpri6vk697zmmx9b0hvhda7mllf"; depends=[]; };
-  gender = derive2 { name="gender"; version="0.5.2"; sha256="1kd5024z9mbyiwmj7rpn7zflmpw6jsj2sz153g3ckzyhxjbc3x36"; depends=[dplyr httr jsonlite]; };
+  gender = derive2 { name="gender"; version="0.5.3"; sha256="1r4w38av9qhmxbmripyn7zkk7r49qwvk8426y6g241dvilj7mxr0"; depends=[dplyr httr jsonlite]; };
   genderBR = derive2 { name="genderBR"; version="1.1.0"; sha256="0j5wsbv797wc48lc65yhaqhpwqyr662460vj59x7r9p7d7m1ncd0"; depends=[dplyr httr jsonlite]; };
   gendist = derive2 { name="gendist"; version="2.0"; sha256="0rs0sn1sb6j3pk2xncix04a093awlm2nw70g0rjhr7dlzmigspgb"; depends=[]; };
   geneHummus = derive2 { name="geneHummus"; version="1.0.11"; sha256="1m6yyjsvmn3w87cw4da8js5vi74k5y739gxdx1yscx1n50bc3m34"; depends=[curl dplyr httr rentrez stringr]; };
@@ -7948,11 +8111,11 @@ in with self; {
   genemodel = derive2 { name="genemodel"; version="1.1.0"; sha256="1x6n6k9ifv2swhyrghvm6fsz5vh85cdik8225175i9msvmkh928n"; depends=[stringr]; };
   genepi = derive2 { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
   genepop = derive2 { name="genepop"; version="1.1.3"; sha256="0qj6bjhaxq3d5n94qsrhgpy6yh2m9ldk2ch3xffl2bdg3df79jlk"; depends=[Rcpp RcppProgress stringr]; };
-  generalCorr = derive2 { name="generalCorr"; version="1.1.2"; sha256="19kr8gs41lxfn2k6azz3200p3c98fhq63skx9ga3glas8cmxph0i"; depends=[meboot np psych xtable]; };
+  generalCorr = derive2 { name="generalCorr"; version="1.1.5"; sha256="1kjmg9paxhpd6csia69k169qgm8s388iysrjnm4bqv9zxn21zwwg"; depends=[lattice meboot np psych xtable]; };
   generalhoslem = derive2 { name="generalhoslem"; version="1.3.4"; sha256="0fmfhmdb16gf3v9h50vif4f3f6bm03qq7wplnmzyxa80jb60fcc0"; depends=[MASS reshape]; };
   generator = derive2 { name="generator"; version="0.1.0"; sha256="0xjvnmnpdms8rrxxcz6pd8w4rnbv3ghzqv4m63zxia2l98x7z4rf"; depends=[]; };
   generics = derive2 { name="generics"; version="0.0.2"; sha256="0xk1xhpy7gpv3pvaygzhpfdxj72zmb38pb4nscfyg2ff36vx3cvi"; depends=[]; };
-  genesysr = derive2 { name="genesysr"; version="0.9.2"; sha256="1mzp52hiyh7ccqflyck96mv51f300lb2zil0ndsda2h3cnd4ibz2"; depends=[httr jsonlite]; };
+  genesysr = derive2 { name="genesysr"; version="1.0.0"; sha256="05jp8z7313r5wi9a5yw7fh198l7nd2ywzwg4f23yp4kfrkkgawn5"; depends=[dplyr httr jsonlite]; };
   genetics = derive2 { name="genetics"; version="1.3.8.1.2"; sha256="1v0ylnia6c44v356dsmnkx6054vcxazpzsrdh3yph5ch5vg6gjrh"; depends=[combinat gdata gtools MASS mvtnorm]; };
   genie = derive2 { name="genie"; version="1.0.4"; sha256="0ymrn42ik0rfildmyq4z0gsd7injda0dsjgx69nqb6hq0x8s5hqa"; depends=[Rcpp]; };
   genio = derive2 { name="genio"; version="1.0.10"; sha256="0l29rz9nap2rglansv8sbldhgngv04v1kdgy0zzxjzwwmsdcjrqp"; depends=[Rcpp readr tibble]; };
@@ -7973,8 +8136,9 @@ in with self; {
   genridge = derive2 { name="genridge"; version="0.6-6"; sha256="1hqarvd767h2vbjqfjzdr0548hxj87kv1073hfqyq5fybdlzsjx3"; depends=[car]; };
   gensemble = derive2 { name="gensemble"; version="1.0.1"; sha256="03ql1qxrxixr70hs9mwiqw92qyrg9pj4046pb42g435yncw321ad"; depends=[]; };
   gensphere = derive2 { name="gensphere"; version="1.1"; sha256="1xzli40fw94n89cv2qyb321csad1w9zidqc226wlifl2m44cw6f7"; depends=[geometry mvmesh rgl SimplicialCubature SphericalCubature]; };
-  gensvm = derive2 { name="gensvm"; version="0.1.1"; sha256="10ym8p1i66ppjhn039wqbpm2yvmirj3pfqmqqn7iji8s1hdxds73"; depends=[]; };
-  geoBayes = derive2 { name="geoBayes"; version="0.6.2"; sha256="17p8m1z8hkvvqsrsqkchc3ig4wysqng895gzpl22wjs9x7ld4a7n"; depends=[coda optimr sp]; };
+  gensvm = derive2 { name="gensvm"; version="0.1.3"; sha256="1r9vd6h3divmjd73p3541mngv452v1dkxc41q7mbkd5qhy34km74"; depends=[]; };
+  genvar = derive2 { name="genvar"; version="0.0.1.4"; sha256="0bnngj0ha9s12gbpjgnc0qybzylmvn9qf30avi0dssibiq1gynfx"; depends=[clubSandwich foreign Formula plm readstata13 sandwich]; };
+  geoBayes = derive2 { name="geoBayes"; version="0.6.3"; sha256="153a7kp73wxm5hzzq038p3mnykhakv0c9qa8fpbjijccmbi89970"; depends=[coda optimr sp]; };
   geoCount = derive2 { name="geoCount"; version="1.150120"; sha256="1kcjqls91r6p8ykn901c5p3v2lzbyainahhjpnr5c3a57v8s73ms"; depends=[Rcpp RcppArmadillo]; };
   geoGAM = derive2 { name="geoGAM"; version="0.1-2"; sha256="0q09pk2npn4hjymklwfrhz2ybmjpcb6kvqkpn9l3a6cdjgk6bkmj"; depends=[grpreg MASS mboost mgcv]; };
   geoR = derive2 { name="geoR"; version="1.7-5.2.1"; sha256="1fb3xm85i36q9l5lspa6fjfa82mv8fnwl30rimrlamss02ff959q"; depends=[MASS RandomFields sp splancs]; };
@@ -7991,19 +8155,20 @@ in with self; {
   geohashTools = derive2 { name="geohashTools"; version="0.3.0"; sha256="0lc5ib6iylbxn02bl72sh3b6j51zm3b1rnjrj5jdyjj22hm7n7sa"; depends=[]; };
   geojson = derive2 { name="geojson"; version="0.3.2"; sha256="0iqf8jkqgl97a07v8ixr2pbvamwyjswqckdwl3kkxgx7bycndprv"; depends=[jqr jsonlite lazyeval magrittr protolite sp]; };
   geojsonR = derive2 { name="geojsonR"; version="1.0.7"; sha256="11d6rn7z2i8x4j3myzk9gkaw6y5asi92ya9lxc9cn1zv8jlsamvr"; depends=[R6 Rcpp RcppArmadillo]; };
-  geojsonio = derive2 { name="geojsonio"; version="0.7.0"; sha256="1fhj4si2m60wy95badq31ip98r6wpnn20jnw7bmy2ps0103klmbz"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sf sp V8]; };
+  geojsonio = derive2 { name="geojsonio"; version="0.8.0"; sha256="00gh6wq1gxnvcx5fswmjc2qxw3jjcc5kf4gdrqn7lv1lip9qm3m1"; depends=[geojson httr jqr jsonlite magrittr maptools readr rgdal rgeos sf sp V8]; };
   geojsonlint = derive2 { name="geojsonlint"; version="0.3.0"; sha256="1ww52fg80mqwpn9rxz7qy698djjgzngp3fdhhhvixfrzl0ha810r"; depends=[crul jsonlite jsonvalidate V8]; };
   geojsonsf = derive2 { name="geojsonsf"; version="1.3.0"; sha256="1wr3g4rcvv7wh0gjw5mic3msz7wgcg6ra3zai5kxbv3wq2i9hfcg"; depends=[BH curl jsonify rapidjsonr Rcpp]; };
   geoknife = derive2 { name="geoknife"; version="1.6.3"; sha256="092in9wihgijhbkawzjqwfyazz22n4sc06x2gj14yvmp63x5dj36"; depends=[curl httr progress sp whisker xml2]; };
   geomapdata = derive2 { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
   geomedb = derive2 { name="geomedb"; version="2.0.0"; sha256="1lrxhgrrx12irbk9rlvyqcvzhw842c4hp9mqw7gzqcldhpc40isd"; depends=[ape data_table httr jsonlite]; };
   geomerge = derive2 { name="geomerge"; version="0.3.1"; sha256="0pvyhpv4vq8mvvlybxhviq8rbazw29dgf9m0xnldaxg9r6lqdp4d"; depends=[geosphere ggplot2 gridExtra inlmisc lubridate raster scales sp spdep]; };
-  geometa = derive2 { name="geometa"; version="0.6-0"; sha256="0hnzj6i4czg4n39bf2bk2m285j53ys80nnzy98gd884dr6zry2gq"; depends=[httr jsonlite R6 XML]; };
+  geometa = derive2 { name="geometa"; version="0.6-1"; sha256="0q06vj2r8xyiwrkrzixv0ymvwvznk2a6i2sdmykwyzm7vw7phwkw"; depends=[httr jsonlite R6 XML]; };
+  geometr = derive2 { name="geometr"; version="0.1.1"; sha256="0bh8m76273vk2hnn2d4fbr9a89av0f8fnww9lfa1v392i56zfi2z"; depends=[checkmate crayon deldir dplyr raster Rcpp rgdal rlang sf sp spatstat tibble]; };
   geometry = derive2 { name="geometry"; version="0.4.4"; sha256="1mx5n5mw63nij4n6crs9165mlls4fnh1ipw5ch467rjsidgl0mg8"; depends=[linprog lpSolve magic Rcpp RcppProgress]; };
   geomnet = derive2 { name="geomnet"; version="0.2.0"; sha256="0xanzx8p34bac4zcf9j69nivwhllvsrw7x70mzgl95jhg3gvv96a"; depends=[dplyr ggplot2 network plotly readr sna tidyr]; };
-  geomorph = derive2 { name="geomorph"; version="3.1.2"; sha256="1wd8pnpcb5zkqg39hvsw1jyw9yx66w0w5nyg114b8v3m9x41rkr9"; depends=[ape jpeg rgl RRPP]; };
+  geomorph = derive2 { name="geomorph"; version="3.1.3"; sha256="12vzf5cjk2zjj4832av93jzq79bnnymrcs9yxw7illy80aavbm6b"; depends=[ape jpeg rgl RRPP]; };
   geonames = derive2 { name="geonames"; version="0.999"; sha256="0yz1b7y3vwa4izrhpry4n3iwzb7y67s5p3kgnd7d29cl5pcbpmqx"; depends=[rjson]; };
-  geonapi = derive2 { name="geonapi"; version="0.2-1"; sha256="1fypk4cc0q9jvn6zicc3jnxkh6f8yh1zcycy2sblvv175lbjlfzx"; depends=[geometa httr openssl R6 XML]; };
+  geonapi = derive2 { name="geonapi"; version="0.3"; sha256="0ylb9cg2s8d06j0flmw434d7hbbqz6yf9di66r7bdp3rgsiypprl"; depends=[geometa httr openssl R6 XML]; };
   geonetwork = derive2 { name="geonetwork"; version="0.3"; sha256="0qjnv91rcxzw44fmbgm4qpcrbj5qgz1lgmyw53imyhxgyv55awxv"; depends=[geosphere igraph rgdal sf sp]; };
   geoops = derive2 { name="geoops"; version="0.2.0"; sha256="0n9n0j849jbqv6y6lqhyhddr5zfz8i9yi03gpg9862nzkvxd3c4k"; depends=[Rcpp]; };
   geoparser = derive2 { name="geoparser"; version="0.1.2"; sha256="0vca4ijybqgk5dmbk0af4ykvbdkny8dm9d4frh5ikzk28hkvnlik"; depends=[digest dplyr httr jsonlite lazyeval purrr stringr tidyr]; };
@@ -8014,6 +8179,7 @@ in with self; {
   geoscale = derive2 { name="geoscale"; version="2.0"; sha256="0gisds0in32xhw54fxfyxvwxgrfjs871wmqf6l915nr896rlx0bm"; depends=[]; };
   geosed = derive2 { name="geosed"; version="0.1.1"; sha256="07j4q6sgrf83h2gi2j5qap5rifz8gimdacd3b7ld1p3b6ai6kv3r"; depends=[]; };
   geospacom = derive2 { name="geospacom"; version="0.5-8"; sha256="14qyjbq0n43c2zr9gp11gdqgarvmicx3gpq2ql2vjfzrmirxwjgg"; depends=[classInt geosphere maptools rgeos sp]; };
+  geospark = derive2 { name="geospark"; version="0.2.1"; sha256="0r5zf80lb5jmqjahv7iszz8kr0983bwnb3cgrm78fg9fs3sv1sjn"; depends=[dbplyr dplyr sparklyr]; };
   geosphere = derive2 { name="geosphere"; version="1.5-10"; sha256="15xlgsmn0vwky1l13n6acdz6jn2b2na3gf6x367y3qh1f5w4zkan"; depends=[sp]; };
   geospt = derive2 { name="geospt"; version="1.0-2"; sha256="1814nn0naxvbn0bqfndpmizjbqcs6rm87g2s378axkn6qpii4bh8"; depends=[fields genalg gsl gstat limSolve MASS minqa plyr sgeostat sp TeachingDemos]; };
   geosptdb = derive2 { name="geosptdb"; version="0.5-0"; sha256="0m0dlazhq2za71mi3q8mz2zvz7yrmda7lha02kh9n820bx89v33z"; depends=[FD fields geospt gsl limSolve minqa sp StatMatch]; };
@@ -8028,7 +8194,7 @@ in with self; {
   gepaf = derive2 { name="gepaf"; version="0.1.1"; sha256="0n36w40jrq3qkgmhz9wrnhp6fczw7bm96g950sa4nq33872xhfgm"; depends=[bitops]; };
   germanpolls = derive2 { name="germanpolls"; version="0.2"; sha256="13ss7286sraiq6rgbbmlv3j94av26pv9016hz8hrlzvghmnkfwvh"; depends=[dplyr magrittr purrr RCurl xml2]; };
   germinationmetrics = derive2 { name="germinationmetrics"; version="0.1.3"; sha256="1hfhwprs4b582n81ardh7mah52989shq2cphci9vskwb4jbkyzwx"; depends=[broom data_table ggplot2 ggrepel minpack_lm plyr Rdpack]; };
-  gert = derive2 { name="gert"; version="0.2"; sha256="1qs404afcxpm3gxra2lpqb27l4746ga1pz0n29ig0qg3kala5yrj"; depends=[askpass credentials openssl]; };
+  gert = derive2 { name="gert"; version="0.3"; sha256="0caxjcdc2karsxasivkh5sasjkzlif25pw0whdjyq6zh3bvmdlkp"; depends=[askpass credentials openssl]; };
   gesca = derive2 { name="gesca"; version="1.0.4"; sha256="1ndn8wgp22pr017x6v7jw8jy4gd06x8110qa860hw8i6pn47wfwv"; depends=[]; };
   gestalt = derive2 { name="gestalt"; version="0.1.8"; sha256="1cb04rd3yvkd47byynrn0pq6brlsi2z2iavh4gfrwmqyvks34k51"; depends=[rlang]; };
   gestate = derive2 { name="gestate"; version="1.3.2"; sha256="1fr811f4d7zc75wxdrasd91wsa5ngzzb0p73ycy6lfwpm839i28q"; depends=[doParallel foreach shiny shinythemes survival survRM2]; };
@@ -8053,7 +8219,7 @@ in with self; {
   ggBubbles = derive2 { name="ggBubbles"; version="0.1.4"; sha256="116rl8j0s9xwhh9jl5yj9fspkhv2zrirbx9247hhns9ngrdn4i3x"; depends=[dplyr ggplot2]; };
   ggChernoff = derive2 { name="ggChernoff"; version="0.2.0"; sha256="09bh9isvx3hwwvg72fv6z3fvp8dimpbhvbp328z8amq8jjhph4vf"; depends=[ggplot2 scales]; };
   ggExtra = derive2 { name="ggExtra"; version="0.9"; sha256="18mbi6gblqmrsciad1d2c9ngllk6mayaqj43k40hjq9ydqnvjbgj"; depends=[colourpicker ggplot2 gtable miniUI R6 scales shiny shinyjs]; };
-  ggPMX = derive2 { name="ggPMX"; version="0.9.4"; sha256="11ccgklx1zdnv0klxrdyd27a848744srywijfi4j24cxg30c0yyg"; depends=[assertthat checkmate data_table GGally ggplot2 gtable knitr magrittr R6 rmarkdown stringr yaml zoo]; };
+  ggPMX = derive2 { name="ggPMX"; version="0.9.8"; sha256="1cpywycmn88vvfnpaf2jddx712h3w28k9hiqnkjhg9nfm14jv6ik"; depends=[assertthat checkmate data_table GGally ggplot2 gtable knitr magrittr R6 rmarkdown stringr yaml zoo]; };
   ggQC = derive2 { name="ggQC"; version="0.0.31"; sha256="1j9cs97hcj5zmqvn5rjr3gl0b9748s3pv2nb7v66dsyjdwvj7wyy"; depends=[dplyr ggplot2 tidyr]; };
   ggQQunif = derive2 { name="ggQQunif"; version="0.1.5"; sha256="0vrxmqxy946mwdq0mb2m1ch41r0chrw7hcn18dr3mp10bv7pl7wj"; depends=[dplyr ggplot2 scales]; };
   ggROC = derive2 { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
@@ -8061,11 +8227,12 @@ in with self; {
   ggResidpanel = derive2 { name="ggResidpanel"; version="0.3.0"; sha256="1vsjw229pd36100ix1sgfmk5lb9b0fx3l6pxg1irsfhm2ypbg1ig"; depends=[cowplot ggplot2 MASS plotly qqplotr stringr]; };
   ggThemeAssist = derive2 { name="ggThemeAssist"; version="0.1.5"; sha256="1biw91a8p13h62v4w3yim6ghr98khmyhb3qd0h04asf91vvmpxbv"; depends=[formatR ggplot2 miniUI rstudioapi shiny]; };
   ggTimeSeries = derive2 { name="ggTimeSeries"; version="1.0.1"; sha256="12gi0zfl8g3x78skpkhska8b3z1pp636shrbx33rkq0iacsipqga"; depends=[data_table ggplot2]; };
+  ggVennDiagram = derive2 { name="ggVennDiagram"; version="0.3"; sha256="1jgxzb3iffhx6xyn14nldljkaangdvzrxzfkibsb6g787fgv8ng9"; depends=[dplyr ggplot2 sf VennDiagram]; };
   ggallin = derive2 { name="ggallin"; version="0.1.1"; sha256="0hrxa7m07ppvnndivxcgxksdyblb6fw17aw46maqavlvcrz3fjgm"; depends=[ggplot2 scales]; };
   ggalluvial = derive2 { name="ggalluvial"; version="0.10.0"; sha256="05435i5859mi0dyahh9vgfdcqd4wjwznx9ixw1nkaqcdbv843v30"; depends=[dplyr ggplot2 lazyeval rlang tidyr tidyselect]; };
   ggalt = derive2 { name="ggalt"; version="0.4.0"; sha256="0ssa274d41vhd6crzjz7jqzbwgnjimxwxl23p2cx35aqs5wdfjpc"; depends=[ash dplyr extrafont ggplot2 gtable KernSmooth maps MASS plotly proj4 RColorBrewer scales tibble]; };
-  gganimate = derive2 { name="gganimate"; version="1.0.3"; sha256="0ngx4xjq0zvjf4fi433qyk8nxk1zvkimll0z6hs48y9k6b5mi4ch"; depends=[ggplot2 glue plyr progress rlang scales stringi tweenr]; };
-  ggasym = derive2 { name="ggasym"; version="0.1.1"; sha256="01mx5yz2b4y4vh76gq323pf66r5a6d0x5pbdzfaiakiav3hdw9gf"; depends=[broom dplyr ggplot2 magrittr purrr rlang scales stringr tibble tidyr]; };
+  gganimate = derive2 { name="gganimate"; version="1.0.4"; sha256="0z25fanxakc4vh67dnx99iygkxkpv8rjh9vlyypbwgy6rrg2mvpc"; depends=[ggplot2 glue plyr progress rlang scales stringi tweenr]; };
+  ggasym = derive2 { name="ggasym"; version="0.1.2"; sha256="1nhsiamiv8dwn5cb2l7z7dzy46x6qcygxr2ncp0nqp6rnl7mh712"; depends=[broom corrr dplyr ggplot2 magrittr purrr rlang scales stringr tibble tidyr]; };
   ggbeeswarm = derive2 { name="ggbeeswarm"; version="0.6.0"; sha256="0crk29p5vi1r3a988kms4y7r0iqwgwzsikgvh18r9wbzyr98bb5v"; depends=[beeswarm ggplot2 vipor]; };
   ggbuildr = derive2 { name="ggbuildr"; version="0.1.0"; sha256="0pld635v6fv46ky7s4icwxlcnr7z6bp5ikf20adpkljwhy0wwxak"; depends=[ggplot2 purrr readr]; };
   ggconf = derive2 { name="ggconf"; version="0.1.3"; sha256="0g4xasqhdiqfqahakv6p5npl56f2iakx4bnc9v9zcjr077kdda4n"; depends=[ggplot2 rly]; };
@@ -8078,7 +8245,7 @@ in with self; {
   ggdmc = derive2 { name="ggdmc"; version="0.2.6.0"; sha256="1gncv7npl548k3zd41x2gwg5qywn5rp6zb4i7ga78sy77mvi3x92"; depends=[coda data_table ggplot2 matrixStats Rcpp RcppArmadillo]; };
   gge = derive2 { name="gge"; version="1.4"; sha256="0plwk5j2n0309ghgn8r4ws3azwn7n4jb7yfykiiwwalhs3k05lsa"; depends=[nipals reshape2 rgl]; };
   ggedit = derive2 { name="ggedit"; version="0.3.0"; sha256="1v9apfkm47jcqyhjrvv8ig09gz6zsss5xj5mrckfjybd5ca08rzn"; depends=[colourpicker dplyr ggplot2 magrittr miniUI plyr purrr rlang rstudioapi scales shiny shinyAce shinyBS tidyr]; };
-  ggeffects = derive2 { name="ggeffects"; version="0.12.0"; sha256="0idfycjk05gyykfp9ibmhxfcjvd01ikh1dl0fb4nqw6znw3ar0xp"; depends=[dplyr insight magrittr MASS purrr rlang scales sjlabelled sjmisc]; };
+  ggeffects = derive2 { name="ggeffects"; version="0.13.0"; sha256="0ryfbaav0k874kbwmhbiv7fan93dmkpaimm1iw5kryjhhs3917lb"; depends=[dplyr insight magrittr MASS purrr rlang sjlabelled sjmisc]; };
   ggenealogy = derive2 { name="ggenealogy"; version="1.0.0"; sha256="1wi29f7allky84w9w2512v8gs687gvypsbd7r4vyxs24l6pfssyc"; depends=[ggplot2 igraph plotly plyr reshape2 tibble]; };
   ggetho = derive2 { name="ggetho"; version="0.3.4"; sha256="05wh0qk5cbcvcfgj5wf12qqbjgl1bbwcxywc16qdby7r4h5wy0gn"; depends=[behavr data_table ggplot2 labeling rlang scales stringr]; };
   ggfan = derive2 { name="ggfan"; version="0.1.3"; sha256="1p3hbznpsaznlk0lnjyazc130www0p5919qplg3kspng7qh8p22w"; depends=[colorspace dplyr ggplot2 rstan]; };
@@ -8086,17 +8253,18 @@ in with self; {
   ggfocus = derive2 { name="ggfocus"; version="0.9"; sha256="03adq3pdhlgckqc20aw6r70kdcrw0v4rmm848ivv6wkck4qyla3m"; depends=[dplyr ggplot2 magrittr RColorBrewer rlang]; };
   ggforce = derive2 { name="ggforce"; version="0.3.1"; sha256="04926cqrda6psvy2nzkkw4czwyxdp7fnxg76byp14v12kgd72lm0"; depends=[ggplot2 gtable MASS polyclip Rcpp RcppEigen rlang scales tidyselect tweenr withr]; };
   ggformula = derive2 { name="ggformula"; version="0.9.2"; sha256="16ycabhnp78fsiv1dc63ccgh9gmpsy2683vbmq0fdzl6w3pd87sr"; depends=[ggplot2 ggstance magrittr mosaicCore rlang stringr tibble tidyr]; };
-  ggfortify = derive2 { name="ggfortify"; version="0.4.7"; sha256="1wk9j0xg5hj9i1vf62qjiphv8cbsgq7y6baay3pfl3wyb2dwgci0"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
+  ggfortify = derive2 { name="ggfortify"; version="0.4.8"; sha256="191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
   gggenes = derive2 { name="gggenes"; version="0.4.0"; sha256="13hrjh80rlri8vm736p85v2jwwpck8gc5jfps1qrqcq86kv2xgkn"; depends=[ggfittext ggplot2 rlang]; };
   ggghost = derive2 { name="ggghost"; version="0.2.1"; sha256="0kvsjadxxdf6yvzk4a6yqkg02q1ysslvf3m0a369bdim396z4hnv"; depends=[animation ggplot2]; };
+  gggibbous = derive2 { name="gggibbous"; version="0.1.0"; sha256="1g6igmj2nh4b516p1wcs1cwgzdnawvf3snxzwxjkmdc4yqbzyz24"; depends=[ggplot2 scales]; };
   ggguitar = derive2 { name="ggguitar"; version="0.1.1"; sha256="1lmfs54h91gzcxin37v4flkywbq3fs648mm1h9ak03xlj5nagzsi"; depends=[dplyr ggplot2 gridExtra lazyeval readr tibble]; };
   gghalfnorm = derive2 { name="gghalfnorm"; version="1.1.2"; sha256="1sy0m6pqmnjbqv60rljyblhis0dxwkhw751jhlad5arcgrcwf4k8"; depends=[ggplot2 ggrepel]; };
   gghalves = derive2 { name="gghalves"; version="0.0.1"; sha256="03s1wrfgkd55zmf3scv6kp32s3lcpbm5prnc5ndgad43zq8jyi09"; depends=[ggplot2 gtable]; };
   gghighlight = derive2 { name="gghighlight"; version="0.1.0"; sha256="1mfjvfm5xbih7k7qz6x8akbqgh0b18dz9pybfgh7rbq2ppwnhpy9"; depends=[dplyr ggplot2 ggrepel magrittr purrr rlang tibble]; };
-  ggimage = derive2 { name="ggimage"; version="0.2.3"; sha256="00hxl1c2l63aw66v16ybhj6j2391kmqcisk3dyahvq1gz777rarz"; depends=[ggplot2 ggplotify jsonlite magick rvcheck scales tibble]; };
+  ggimage = derive2 { name="ggimage"; version="0.2.5"; sha256="158hbqlka4nqyflq0daqp829xjs0rckzj3fmwd980g23g2xk2m92"; depends=[ggplot2 ggplotify jsonlite magick rvcheck scales tibble]; };
   gginference = derive2 { name="gginference"; version="0.1.0"; sha256="0dikyqryz25ikm047clkwn0ihlxa5zia2bxp71fh8ynxxvzixz3k"; depends=[ggplot2 rlang]; };
-  gginnards = derive2 { name="gginnards"; version="0.0.2"; sha256="10a4mrp2sn9c1s1bjyk8h9fxd9a2qqsggpcb2spgcha37mhz8cak"; depends=[ggplot2 magrittr rlang stringr tibble]; };
-  ggiraph = derive2 { name="ggiraph"; version="0.6.1"; sha256="1ir62rxnas6whqlxf7lwvsaj731mnp1ixw391gp3sb6vigh5cair"; depends=[gdtools ggplot2 htmltools htmlwidgets Rcpp xml2]; };
+  gginnards = derive2 { name="gginnards"; version="0.0.3"; sha256="15ly88wjsd2fqvp483376rm2fczcbmj1s1vagb70z9z7968407xy"; depends=[ggplot2 magrittr rlang stringr tibble]; };
+  ggiraph = derive2 { name="ggiraph"; version="0.7.0"; sha256="1002mf2dp7ram5yrj9qlg9rawz083k130k6bjvdidq0x800ps7b4"; depends=[gdtools ggplot2 htmltools htmlwidgets purrr Rcpp rlang uuid xml2]; };
   ggiraphExtra = derive2 { name="ggiraphExtra"; version="0.2.9"; sha256="1qmw7z10h1x6xnlpq7shafg6w2bal8ni02c07fyy9f7hm02xfnzs"; depends=[dplyr ggforce ggiraph ggplot2 magrittr mgcv mycor plyr ppcor purrr RColorBrewer reshape2 scales sjlabelled sjmisc stringr tidyr webshot ztable]; };
   ggjoy = derive2 { name="ggjoy"; version="0.4.1"; sha256="012md2m0jqfcccb933j423m3ck31v3p0pd41gjxpyg9082y7ixyj"; depends=[ggplot2 ggridges]; };
   gglasso = derive2 { name="gglasso"; version="1.4"; sha256="0r4zfgkys8104iw1vzww3qid8a6dyn03x0jlgwrdvavfj86yhq54"; depends=[]; };
@@ -8108,27 +8276,30 @@ in with self; {
   ggmcmc = derive2 { name="ggmcmc"; version="1.3"; sha256="0p3akjbi0044nma8ynvqa42bkrgrb0jjx323k2pbrnlkq8x3ma1b"; depends=[dplyr GGally ggplot2 tidyr]; };
   ggmosaic = derive2 { name="ggmosaic"; version="0.2.0"; sha256="0byhp7125r015wbbnv6fq13bx38krf11r39jx9dzbr0ci6kqzkdb"; depends=[dplyr ggplot2 plotly productplots purrr rlang tidyr]; };
   ggmr = derive2 { name="ggmr"; version="0.1.1"; sha256="0941rvh7m5knlhp0m0mhm4j8spmch0pyvwhzs3bycq3vzlvzv1w7"; depends=[MASS]; };
+  ggmsa = derive2 { name="ggmsa"; version="0.0.1"; sha256="1f16fvcnk0923dhzlxnq0gmq4y4qnkdzy0h0ijinqm2iy3sfy5gp"; depends=[ggplot2 ggseqlogo magrittr tidyr treeio]; };
   ggmuller = derive2 { name="ggmuller"; version="0.5.4"; sha256="0y7bm9fm5i8acpy6fa903ca2r9yasky7kg2hicm4xz5ni09jm20x"; depends=[ape dplyr ggplot2]; };
   ggnetwork = derive2 { name="ggnetwork"; version="0.5.1"; sha256="13qisn4msjzkpcmn7rh2c4ymqfxp9bayrvqngp9pysfmr6wvc6ia"; depends=[ggplot2 ggrepel network sna]; };
-  ggnewscale = derive2 { name="ggnewscale"; version="0.3.0"; sha256="0nh5577if0qiqlksg028j4bkz058bm3qqwxm4nlqsssi4spja22f"; depends=[ggplot2 stringi]; };
+  ggnewscale = derive2 { name="ggnewscale"; version="0.4.0"; sha256="0w9lykxdrifm69mr157x1hirz37ws9m5lpmxaqbfq5picqyvplsx"; depends=[ggplot2 stringi]; };
   ggnormalviolin = derive2 { name="ggnormalviolin"; version="0.1.2"; sha256="1gbv2b86nznw5bs05c4ns96b8hsxkhikhcf8syl2qbbafzy8vx6y"; depends=[dplyr ggplot2 magrittr scales]; };
   ggpage = derive2 { name="ggpage"; version="0.2.3"; sha256="1qi8ydq3fxb1smk0jg9z1cv2xjq8c1lsnmz8l7c61rvdbjm3710v"; depends=[dplyr ggplot2 magrittr purrr rlang stringr tidytext]; };
   ggparallel = derive2 { name="ggparallel"; version="0.2.0"; sha256="0zxaff0jbqkbavsmh1yyp3vdrxsam6a66hjw8lamv9pksdw1s2wf"; depends=[ggplot2 plyr reshape2]; };
   ggparliament = derive2 { name="ggparliament"; version="2.0.0"; sha256="04za4lm3lir95bgda1rzlsyil2fkac3j5f5f1pjw2samy6pjz80r"; depends=[dplyr ggplot2 rlang]; };
   ggparty = derive2 { name="ggparty"; version="1.0.0"; sha256="0s6hr5p930kl3pj6ajwgwqz6yikc3l9hhzy1yn0nqc0r8pp2jyqf"; depends=[checkmate ggplot2 gtable partykit rlang survival]; };
   ggperiodic = derive2 { name="ggperiodic"; version="1.0.0"; sha256="1cig715qy1kjjrn89cf505njdl2xccvjc5l0fwbqh86xgjayslxb"; depends=[data_table dplyr ggplot2 sticky tidyselect]; };
+  ggplot_multistats = derive2 { name="ggplot.multistats"; version="1.0.0"; sha256="1afzfa86vc484bcwpg7m1ky03jpax584rigzgai8w06pifkmz0il"; depends=[ggplot2 hexbin rlang scales]; };
   ggplot2 = derive2 { name="ggplot2"; version="3.2.1"; sha256="0mjswqiqcwm0aqxll16bx2kwa6c9km3aql87bdj4347n1ali94g3"; depends=[digest gtable lazyeval MASS mgcv reshape2 rlang scales tibble viridisLite withr]; };
   ggplot2movies = derive2 { name="ggplot2movies"; version="0.0.1"; sha256="067ld6djxcpbliv70r2c1pp4z50rvwmn1xbvxfcqdi9s3k9a2v8q"; depends=[]; };
   ggplotAssist = derive2 { name="ggplotAssist"; version="0.1.3"; sha256="1g0s1dkbrxmwqjqppagdbnx24s0nbjn09xwxix3dkfssz6drhala"; depends=[dplyr editData gcookbook ggplot2 ggthemes magrittr miniUI moonBook rstudioapi scales shiny shinyAce shinyWidgets stringr tibble tidyverse]; };
   ggplotgui = derive2 { name="ggplotgui"; version="1.0.0"; sha256="1yfglg5438mwyml845isimzma5q6824x19jka509ng49bzmf1za0"; depends=[ggplot2 haven plotly RColorBrewer readr readxl shiny stringr]; };
   ggplotify = derive2 { name="ggplotify"; version="0.0.4"; sha256="0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg"; depends=[ggplot2 gridGraphics rvcheck]; };
-  ggpmisc = derive2 { name="ggpmisc"; version="0.3.1"; sha256="1kcjdpq7xz3609prbcf3ikj87wgcq9rk1pzhb62bh885plczsfz2"; depends=[broom dplyr ggplot2 gridExtra lubridate magrittr MASS plyr polynom rlang scales splus2R stringr tibble xts zoo]; };
+  ggplotlyExtra = derive2 { name="ggplotlyExtra"; version="0.0.1"; sha256="1m2rhylpzj934gb50lxjp47rxz0kwl9i1p3n7w1rz4qi96pr5p1c"; depends=[ggplot2 plotly rlang]; };
+  ggpmisc = derive2 { name="ggpmisc"; version="0.3.3"; sha256="1m5ajcy6l8gb2h2ph32ij9dgn6fqpcsf9nf5dr5gas7a15ihpcas"; depends=[broom dplyr ggplot2 gridExtra lubridate magrittr MASS plyr polynom rlang scales splus2R stringr tibble xts zoo]; };
   ggpointdensity = derive2 { name="ggpointdensity"; version="0.1.0"; sha256="0c9a14j3b0hvamqylhzldw2hjdxmfbllwahjkf3gg2rw337ld9iy"; depends=[ggplot2]; };
   ggpol = derive2 { name="ggpol"; version="0.0.5"; sha256="0n54mmk9alc3bd9q3jb64xvxnszqndfwpi6h6n09gpvlrbj8mkdx"; depends=[dplyr ggplot2 gtable plyr rlang]; };
   ggpolypath = derive2 { name="ggpolypath"; version="0.1.0"; sha256="0g9zfal3vqcx16fi4abxm6l5sam475lk1f6bdik487wc2v0dkq83"; depends=[ggplot2]; };
-  ggpubr = derive2 { name="ggpubr"; version="0.2.3"; sha256="0i81mmz4qn9yzcgfa6dhkcrx4ddlflkm2c3b40isc8all43rm8rn"; depends=[cowplot dplyr ggplot2 ggrepel ggsci ggsignif glue gridExtra magrittr polynom purrr rlang scales tidyr]; };
+  ggpubr = derive2 { name="ggpubr"; version="0.2.4"; sha256="0ln1gh3zlfx5s7zqcpvfdiksq74v1pma5kwkhc6r0riqnjjd19pf"; depends=[cowplot dplyr ggplot2 ggrepel ggsci ggsignif glue gridExtra magrittr polynom purrr rlang scales tidyr]; };
   ggpval = derive2 { name="ggpval"; version="0.2.3"; sha256="04s0pwi0pljdd8r6wnjyb3i3php6qgvpc1mdvhywcx2i2zqip2qx"; depends=[data_table ggplot2]; };
-  ggquickeda = derive2 { name="ggquickeda"; version="0.1.4"; sha256="0rv7q7fvc9c9ca7w90ib9jrrk96vrkmayhv80nyymnc9ybknw59l"; depends=[colourpicker dplyr DT Formula GGally ggplot2 ggpmisc ggpubr ggrepel ggstance gridExtra Hmisc lazyeval markdown plotly quantreg rlang scales shiny shinyjs stringr survival survminer table1 tidyr]; };
+  ggquickeda = derive2 { name="ggquickeda"; version="0.1.5"; sha256="13kszfsxnpbkcn3lnlcmrw5a0c3ny8gv9dn4ciphl40rk7qpi26v"; depends=[colourpicker dplyr DT Formula GGally ggplot2 ggpmisc ggpubr ggrepel ggstance gridExtra Hmisc lazyeval markdown plotly quantreg rlang scales shiny shinyjs stringr survival survminer table1 tidyr]; };
   ggquiver = derive2 { name="ggquiver"; version="0.2.0"; sha256="1hsayqxf4brck1rx97yyprw1axc83lksgf7mn3rh8hqx4h1f5f0f"; depends=[dplyr ggplot2]; };
   ggraph = derive2 { name="ggraph"; version="2.0.0"; sha256="0qj7w3af0pgmd9mil6y571jikfkln7b8csvzg6b08spwbglfy1s3"; depends=[digest dplyr ggforce ggplot2 ggrepel graphlayouts gtable igraph MASS Rcpp rlang scales tidygraph viridis]; };
   ggraptR = derive2 { name="ggraptR"; version="1.2"; sha256="18r70pnz7x8728lg447ds7swgk539gga9shax7rs4x56a710pf3q"; depends=[dplyr ggplot2 pacman purrr shiny]; };
@@ -8147,13 +8318,13 @@ in with self; {
   ggspatial = derive2 { name="ggspatial"; version="1.0.3"; sha256="0ka15qj3f0yq9nfkgk77wp490nz9ymi80918apv9zp6x39kcprj9"; depends=[abind ggplot2 plyr raster reshape2 rlang rosm scales sf tibble tidyr]; };
   ggspectra = derive2 { name="ggspectra"; version="0.3.4"; sha256="18p0wfcnkgahs43j2msrm6x5h91bpi3pnwlqlckniyfixhfdlycy"; depends=[dplyr ggplot2 ggrepel lubridate photobiology photobiologyWavebands scales tidyr]; };
   ggstance = derive2 { name="ggstance"; version="0.3.3"; sha256="0kdksay61hyb6612b07r84chh7a9aibjyclk3qcypvr9aang8hkh"; depends=[ggplot2 plyr rlang withr]; };
-  ggstatsplot = derive2 { name="ggstatsplot"; version="0.1.2"; sha256="03gny7svwjxiylwg5g0hlymla85img2gb2il8kvkzm93k76bci0x"; depends=[broomExtra cowplot crayon dplyr forcats ggcorrplot ggExtra ggplot2 ggrepel ggsignif groupedstats insight metaBMA metafor pairwiseComparisons paletteer psych purrr rlang scales sjstats statsExpressions tibble tidyr WRS2]; };
+  ggstatsplot = derive2 { name="ggstatsplot"; version="0.1.3"; sha256="1sia2sp929li67rfjbcgqwngxcv066939xnaz9mvk8bfxsz6qp03"; depends=[broomExtra cowplot crayon dplyr forcats ggcorrplot ggExtra ggplot2 ggrepel ggsignif groupedstats insight metaBMA metafor pairwiseComparisons paletteer parameters psych purrr rlang scales statsExpressions tibble tidyr WRS2]; };
   ggswissmaps = derive2 { name="ggswissmaps"; version="0.1.1"; sha256="0is48x6k2p5dgj9q4km0dv33a9pcpfhlai9vz295y3acpyrkmnn4"; depends=[ggplot2]; };
   ggtern = derive2 { name="ggtern"; version="3.1.0"; sha256="1fhs5s3sxhb46abzni7cyymyknk9z7ff8fanln41pkih76s5i18j"; depends=[compositions ggplot2 gridExtra gtable latex2exp lattice MASS plyr proto scales]; };
   ggthemes = derive2 { name="ggthemes"; version="4.2.0"; sha256="0rrkzfggc1nlda1w1lbqdycx6nawxbkac1szhvkwrqlzh6agxcsv"; depends=[ggplot2 purrr scales stringr tibble]; };
   ggupset = derive2 { name="ggupset"; version="0.1.0"; sha256="157dqwc185y2nqrqka0b14im7k1yzj8swr0jaxz46xxm0qgqk8cc"; depends=[ggplot2 gtable rlang scales tibble]; };
   ggversa = derive2 { name="ggversa"; version="0.0.1"; sha256="0xqn8iznrm8q30pxwka88wi1z7lndi6lm12rq6ngcaxf294fbz01"; depends=[]; };
-  ggvis = derive2 { name="ggvis"; version="0.4.4"; sha256="1bxggjr2313kfy895j0fvrv4bg7yh2z87907lk48i1kn5c9flchk"; depends=[assertthat dplyr htmltools jsonlite lazyeval magrittr shiny]; };
+  ggvis = derive2 { name="ggvis"; version="0.4.5"; sha256="091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2"; depends=[assertthat dplyr htmltools jsonlite lazyeval magrittr shiny]; };
   ggvoronoi = derive2 { name="ggvoronoi"; version="0.8.3"; sha256="04dv33vnip0rrli1diq43v7vhr86bmxjdyxjbxz5x4371kbb312j"; depends=[deldir ggplot2 raster rgeos sp]; };
   ggwordcloud = derive2 { name="ggwordcloud"; version="0.5.0"; sha256="0mr92738s3j9wm6mkr5hd2flqsqw3vfjifv3fajsygysbwrl8dn8"; depends=[colorspace ggplot2 png Rcpp scales]; };
   gh = derive2 { name="gh"; version="1.0.1"; sha256="1llinfajb0g7006jd2w1hpskxpmkjhnqarcjb71r1qvsccb2ph7k"; depends=[httr ini jsonlite]; };
@@ -8163,15 +8334,15 @@ in with self; {
   gibbs_met = derive2 { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
   gifski = derive2 { name="gifski"; version="0.8.6"; sha256="00w4bzp0rrp4isy1rnxs6g1q07r3wndadk3mqdrxk2wxi7jmghna"; depends=[]; };
   gifti = derive2 { name="gifti"; version="0.7.5"; sha256="1y64bc33b5f64a4khp916s9zb7kbb24xgdg3pdlh0f8m6zrbmp4a"; depends=[base64enc R_utils xml2]; };
-  gim = derive2 { name="gim"; version="0.11.0"; sha256="1psmziq03k1nbdl64sy152ih4g625qkbp5l7msfibrcbpgz0hg7y"; depends=[numDeriv]; };
+  gim = derive2 { name="gim"; version="0.28.0"; sha256="1m9pb3dcphyjmadxr87lrd4fb2jacrx2mmcgrvqzc16gfm66n6d5"; depends=[numDeriv]; };
   gimme = derive2 { name="gimme"; version="0.6-1"; sha256="1ipak83ma1fl24snsd7xlbbhgv67m03r3g8xh9rhvmr6ajag7ada"; depends=[data_tree igraph imputeTS lavaan MIIVsem qgraph]; };
   gimmeTools = derive2 { name="gimmeTools"; version="0.1"; sha256="1g170rz3c3qx27yy67f7xab4gkm0pbbvwlwkcsczfxphad609ryl"; depends=[easycsv magrittr miniUI rhandsontable rintrojs rstudioapi shiny shinyjs shinyWidgets]; };
   gimms = derive2 { name="gimms"; version="1.1.1"; sha256="06vq0apsadyfgnz7906v2kjy0nx3yn0agq4yschxz1r1zmgrnyki"; depends=[curl Kendall ncdf4 raster RCurl zyp]; };
   giphyr = derive2 { name="giphyr"; version="0.2.0"; sha256="0273f7lama8bhaalafs66m6ksp32vx0j6rmh1qr4484i7wkmdfqn"; depends=[dplyr httr miniUI purrr rstudioapi shiny tibble]; };
   gistr = derive2 { name="gistr"; version="0.4.2"; sha256="0bh325pf37v307isdlvdglripfki8xr6gh7n8mgi4cjparzhrh23"; depends=[assertthat dplyr httr jsonlite knitr magrittr rmarkdown]; };
   git2r = derive2 { name="git2r"; version="0.26.1"; sha256="0dbl845sahv2i641ncaf06w06djravwc5wknp9syzx0ad8l0kmhk"; depends=[]; };
-  git2rdata = derive2 { name="git2rdata"; version="0.1"; sha256="1nq9pxvxk05xqsknwyfx30r7gzidl0whqiix56mbgy6zi3ma2pvj"; depends=[assertthat git2r yaml]; };
-  gitgadget = derive2 { name="gitgadget"; version="0.4.4"; sha256="03p9ci5lbgh7avn4w9wy50d61yc6m0n1d97vsk62lia1xrnyhvyv"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
+  git2rdata = derive2 { name="git2rdata"; version="0.2.0"; sha256="1hzvr1h6rbqqf69xkjc1c2x3c5wqp8za40yim7vd7sb398f1iq4q"; depends=[assertthat git2r yaml]; };
+  gitgadget = derive2 { name="gitgadget"; version="0.5.2"; sha256="0la0x3p50wk5wv2p4vkf3rh72psz3k18lcymxn354nqb7m1xdggs"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
   githubinstall = derive2 { name="githubinstall"; version="0.2.2"; sha256="0hqh86r2007hzdbm8rr0fwqhhsna7ji8sdgmdnrxkxraa5f2pfz3"; depends=[curl data_table devtools httr jsonlite mockery]; };
   gitignore = derive2 { name="gitignore"; version="0.1.3"; sha256="0ckvl5i99k9sjvlk3cfjyclhmchrlqdz4379nmlckh4jpmnckzk0"; depends=[clipr clisymbols crayon curl glue here jsonlite purrr xfun]; };
   gitlabr = derive2 { name="gitlabr"; version="1.1.6"; sha256="1p68w0q8mjpz2hr6ys1qbfw1y4b35hgs27kzfkzv9hfi1vxqfd1h"; depends=[arpr base64enc dplyr httr magrittr purrr stringr tibble yaml]; };
@@ -8183,7 +8354,7 @@ in with self; {
   gkmSVM = derive2 { name="gkmSVM"; version="0.79.0"; sha256="04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges IRanges kernlab Rcpp ROCR rtracklayer S4Vectors seqinr]; };
   glacierSMBM = derive2 { name="glacierSMBM"; version="0.1"; sha256="0117fzz2b1lccs0kkwz59w2yysi72j54yvz7373pz11w7rjds84f"; depends=[raster sp udunits2]; };
   glamlasso = derive2 { name="glamlasso"; version="3.0"; sha256="1ynhl868kh25l8m04ln6ix31z9r26lrbr5ajprpq9yfhqs4l9ddc"; depends=[Rcpp RcppArmadillo]; };
-  glancedata = derive2 { name="glancedata"; version="1.0.0"; sha256="0v72zpf6njg90dggdvw7sqvpcq26izdx334yid8cfk2hidmj5a2k"; depends=[dplyr forcats GGally ggplot2 gridExtra openxlsx purrr tibble tidyr]; };
+  glancedata = derive2 { name="glancedata"; version="1.0.1"; sha256="01j7syjn33pc7hq032nmyak38wn35yv3n7is9g2ggs14kj3xqb0c"; depends=[dplyr forcats GGally ggplot2 gridExtra openxlsx purrr tibble tidyr]; };
   glarma = derive2 { name="glarma"; version="1.6-0"; sha256="0n0mv4xvh5q3y383cs224x6r608ciw4822pkanvmcjsc9zl0z1ar"; depends=[MASS]; };
   glassdoor = derive2 { name="glassdoor"; version="0.8.1"; sha256="0r85k1fyk8979ahfmd4vmzkhyvrlnpkgjwg1yi7092kpx8877lj0"; depends=[httr]; };
   glasso = derive2 { name="glasso"; version="1.11"; sha256="02p3612rpydk195n2qr77lp1j2w8zsw1ckkk98c8angm4r5q8dsc"; depends=[]; };
@@ -8204,24 +8375,25 @@ in with self; {
   glmc = derive2 { name="glmc"; version="0.3-1"; sha256="0x6jk2l5rpjkp5x815gpiwv8maa7mhmy6m8gaxbv1cbn3zyccynn"; depends=[emplik]; };
   glmdisc = derive2 { name="glmdisc"; version="0.2"; sha256="0f5bn307xvq1n9zvw6y8324v6i89vh2bam8z6s0q581xyzpbvmlg"; depends=[caret gam MASS nnet Rcpp RcppEigen RcppNumerical]; };
   glmdm = derive2 { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; };
-  glmertree = derive2 { name="glmertree"; version="0.1-2"; sha256="0p498kg873m7g90a05ki2zbki61f3ppnv874p79hlnm24hricasa"; depends=[Formula lme4 partykit]; };
+  glmertree = derive2 { name="glmertree"; version="0.2-0"; sha256="0lfn6dap38i6cnfy4gdap13aq81h9cm3bip7ci57q9br9b00x7ib"; depends=[Formula lme4 partykit]; };
   glmgraph = derive2 { name="glmgraph"; version="1.0.3"; sha256="16sq6i7kbw20nvwikpa02z3pb7wqw3270j6ss7f8sgf548skhmx0"; depends=[Rcpp RcppArmadillo]; };
   glmlep = derive2 { name="glmlep"; version="0.2"; sha256="0rq2vxbr732r725pn8qdvppxcrhjhyvlr550svfgy1inq985c1w4"; depends=[]; };
   glmm = derive2 { name="glmm"; version="1.3.0"; sha256="088m626c2f75ij457mskdyi927y6g01m5rgfsjaxpm7xbywk51sw"; depends=[doParallel foreach itertools Matrix mvtnorm trust]; };
-  glmmEP = derive2 { name="glmmEP"; version="1.0-2"; sha256="0j7i1pgykrxyb1z8c7pl1i2w02ypmn0r324p5wcqlxvas3w5bva5"; depends=[lme4 matrixcalc]; };
+  glmmEP = derive2 { name="glmmEP"; version="1.0-3.1"; sha256="0fql85m0mxn58jh3mgrcw56bb4dx7amrz39ngqrljwi5pv5i7aj4"; depends=[lme4 matrixcalc]; };
   glmmLasso = derive2 { name="glmmLasso"; version="1.5.1"; sha256="1az9vdnyqyrfn1q7zrn6x4ywx77b0vg65cni45x37b0ybkwpis39"; depends=[Matrix minqa]; };
   glmmML = derive2 { name="glmmML"; version="1.1.0"; sha256="121iclp86nfm9mybvfwascs937i0z2mbv982hn894q6g7jkqiw1l"; depends=[]; };
   glmmTMB = derive2 { name="glmmTMB"; version="0.2.3"; sha256="035hkywa37bz555fv6znxd4hfcs5w884365wfnwk4jx5vann4vvb"; depends=[lme4 Matrix nlme RcppEigen TMB]; };
   glmmboot = derive2 { name="glmmboot"; version="0.4.0"; sha256="1n25175nxmgirs41nhavrjgfqnl74hn63nxi6rdjbk40ngj0aq78"; depends=[]; };
   glmmfields = derive2 { name="glmmfields"; version="0.1.3"; sha256="1sygppwm58hvwj95nlyz59cjlnkrq82kpws6izbivl7p6wb06lil"; depends=[assertthat BH broom cluster dplyr forcats ggplot2 loo mvtnorm nlme Rcpp RcppEigen reshape2 rstan rstantools StanHeaders]; };
   glmmsr = derive2 { name="glmmsr"; version="0.2.3"; sha256="1fbg5zji0xjr9q1yc6phsp37nsrj7nfs8yiri0j9s84wzgwjili1"; depends=[BH lme4 Matrix numDeriv R6 Rcpp RcppEigen]; };
-  glmnet = derive2 { name="glmnet"; version="2.0-18"; sha256="0sr5akaiaab1sdh9c8gfmc4kp9b4vqhd90d9ig0rqpqhp3bykp78"; depends=[foreach Matrix]; };
-  glmnetUtils = derive2 { name="glmnetUtils"; version="1.1.2"; sha256="0zb8gfrkc06q3vyj2n919hdd5sbnnqigbjmrns01cc4ysjj8a6ha"; depends=[glmnet Matrix]; };
+  glmnet = derive2 { name="glmnet"; version="3.0-1"; sha256="04wa926mnss53p1fhx0mjgxnmwmmqls12sc0sy7w09kbmyqa3fq7"; depends=[foreach Matrix shape]; };
+  glmnetUtils = derive2 { name="glmnetUtils"; version="1.1.3"; sha256="1n89810vs8fx0vack2gzsy04dqnvg6klnms5zljb7ajg4rsq1vrl"; depends=[glmnet Matrix]; };
   glmnetcr = derive2 { name="glmnetcr"; version="1.0.4"; sha256="1fizw48lwhdyzfdmhl1hhcv7pfjf2zm8b96m2hcwm1ckvshf5j76"; depends=[glmnet]; };
   glmpath = derive2 { name="glmpath"; version="0.98"; sha256="1jbiqqd1s93i941dhyyx50zlgwavhyjfw8bx13z4gz05rdvi4gn8"; depends=[survival]; };
   glmpathcr = derive2 { name="glmpathcr"; version="1.0.7"; sha256="18i0ivvxyirgbp5qjc2av1wanang9pbjimwva448ighad7m2dsqr"; depends=[glmpath]; };
   glmpca = derive2 { name="glmpca"; version="0.1.0"; sha256="19fiivv72nnz4cax5nibcpzm47vma54h3myxcb9bhz3rm04b5srv"; depends=[]; };
   glmtlp = derive2 { name="glmtlp"; version="1.1"; sha256="01kyw0xipyr9z7x9z41wz7rqargzqd8s8ri34ffdvd3ggrdznl0p"; depends=[glmnet]; };
+  glmtree = derive2 { name="glmtree"; version="0.1"; sha256="03baxmabfpyl89a5dqk16fhvcgw58daji3fkqc35yy6hzsiwg04q"; depends=[caret dplyr magrittr partykit]; };
   glmulti = derive2 { name="glmulti"; version="1.0.7.1"; sha256="0ph47c3f1bqljmj2jdaaydqf0vhn5rld9257sn4x6jicy550l6r2"; depends=[rJava]; };
   glmvsd = derive2 { name="glmvsd"; version="1.4"; sha256="03axsn85axs4d6fdlr3wcdwq6qa4991svkqc7k9r52kk1ar0w5zz"; depends=[brglm glmnet MASS ncvreg]; };
   glmx = derive2 { name="glmx"; version="0.1-1"; sha256="06v2qxgr16w0qnfhjr9vdqcad5v475pwg2yhw0i236yzqbnsssh6"; depends=[Formula lmtest MASS sandwich]; };
@@ -8234,6 +8406,7 @@ in with self; {
   glpkAPI = derive2 { name="glpkAPI"; version="1.3.1"; sha256="06p8zvmshymcw994mmf1ar00kfj645z8dp18yy4i5bl6qydbpb8k"; depends=[]; };
   glrt = derive2 { name="glrt"; version="2.0"; sha256="0p2b0digndvnn396ynv56cdg436n3ll7pxkb81rs3dhwbyqyc948"; depends=[survival]; };
   glue = derive2 { name="glue"; version="1.3.1"; sha256="1a1ycg9r3gd91visp49q49rsrdgyf8kr9dxdy3hk99kikn4z5hag"; depends=[]; };
+  gluedown = derive2 { name="gluedown"; version="1.0.0"; sha256="1a2jzi5508bd9zp83jh5w164iqw58xnzk16icd845l061qbnjvcw"; depends=[glue knitr markdown stringr]; };
   gluvarpro = derive2 { name="gluvarpro"; version="1.0"; sha256="0knqn4cz14j5hq2w2s71aj8girf68a7v10w5jy0r04zvl4xlr3y7"; depends=[ggplot2 pracma scales tidyr zoo]; };
   gmDatabase = derive2 { name="gmDatabase"; version="0.5.0"; sha256="0prap4a8pvylmvakd2ii87jz9bqf0vvfsxdi4iwa40nx444hqhx2"; depends=[DBI digest foreach RMySQL shiny]; };
   gma = derive2 { name="gma"; version="1.0"; sha256="08hxbs9z4vq5zjis0lgdcvlysaj1k7i0icdk3wsyqf3wd9znsibi"; depends=[car MASS nlme]; };
@@ -8262,14 +8435,13 @@ in with self; {
   gofastr = derive2 { name="gofastr"; version="0.3.0"; sha256="02jn4xbbafl7siwvkqns1818wmw813x9cvqfcnpnmcippiqhrb0b"; depends=[data_table quanteda slam SnowballC tm]; };
   goffda = derive2 { name="goffda"; version="0.0.5"; sha256="1766fzk32072pq2m12bq0kyh1n6a7ij2j2j76jmqp8l3zkj722ha"; depends=[fda_usc glmnet ks Rcpp RcppArmadillo]; };
   goft = derive2 { name="goft"; version="1.3.4"; sha256="15n1av7r6w8hihxlgw9pd570qgrlcprkkacln15chvjs3b0i60la"; depends=[fitdistrplus]; };
-  goftest = derive2 { name="goftest"; version="1.1-1"; sha256="183imn6dy28ama8bywxgyh32vgakv7bsbz4k5qbhnlhqdvzv2v6v"; depends=[]; };
-  goftte = derive2 { name="goftte"; version="1.0.5"; sha256="0mqibs8kpj8qq3wpnlpfdzxx33q77clwli1q7yaxllwzbq0b99hw"; depends=[survival]; };
+  goftest = derive2 { name="goftest"; version="1.2-2"; sha256="0ivnkqhv5xgiv05dm648nngacymd8x8g0fyppv3bc0mhcqk9k5z4"; depends=[]; };
   gogarch = derive2 { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fastICA fGarch]; };
   goldi = derive2 { name="goldi"; version="1.0.1"; sha256="191ac02bwrxr3khq6qirhxzfhv7pqfhqyg7jb473p5vwygpvc53l"; depends=[dplyr futile_logger magrittr Rcpp RcppArmadillo SnowballC tm]; };
   golem = derive2 { name="golem"; version="0.1"; sha256="06nn0a3l4zxjz732wsglyqjgz39frzn8dcr2k39h7b37vkwwkk2m"; depends=[attempt cli crayon desc dockerfiler DT glue htmltools pkgload processx remotes rlang roxygen2 rsconnect rstudioapi shiny stringr testthat usethis yesno]; };
   gomms = derive2 { name="gomms"; version="1.0"; sha256="1i9d5y28wrhal990x7xxy99v3z9y2pzlakj7wnynd3dpx5pqr0jj"; depends=[]; };
   goodpractice = derive2 { name="goodpractice"; version="1.0.2"; sha256="08rnm8z0pry5mwpc7p37r6f2rd56dry9djpcvvs9yl170w56psx0"; depends=[clisymbols covr crayon cyclocomp desc jsonlite lintr praise rcmdcheck rstudioapi whoami withr xml2 xmlparsedata]; };
-  googleAnalyticsR = derive2 { name="googleAnalyticsR"; version="0.7.0"; sha256="1rh5aywrfhr32hvwscn2vvwvamnn8cf9572009rzr6ni736v2a5h"; depends=[assertthat dplyr googleAuthR httr jsonlite magrittr memoise purrr rlang tibble tidyr]; };
+  googleAnalyticsR = derive2 { name="googleAnalyticsR"; version="0.7.1"; sha256="1px57a5kqmnlny11p0niak6096pz1q8jvd9xbyld99hrwicav13r"; depends=[assertthat dplyr googleAuthR httr jsonlite magrittr memoise purrr rlang tibble tidyr]; };
   googleAuthR = derive2 { name="googleAuthR"; version="1.1.1"; sha256="053s6n28cq35gn18ywipygw3bpwsi1qv6rr4vv2bi9q6sy6rb8q3"; depends=[assertthat digest gargle httr jsonlite memoise rlang]; };
   googleCloudStorageR = derive2 { name="googleCloudStorageR"; version="0.5.1"; sha256="0sd6ca1ksv22avr5rcvkf5089f9igb8gqa83kidlc4xklaj6g92m"; depends=[assertthat curl googleAuthR httr jsonlite openssl yaml zip]; };
   googleCloudVisionR = derive2 { name="googleCloudVisionR"; version="0.1.0"; sha256="1n7lbqx7qiahmirydli9nvq4w4i26qnyk3s2kxy4aj413619ym67"; depends=[caTools data_table googleAuthR jsonlite purrr]; };
@@ -8284,32 +8456,33 @@ in with self; {
   googlenlp = derive2 { name="googlenlp"; version="0.2.0"; sha256="0d0g18i3im2s5f14k69ym3vwf9a7zkaval3nwrip97xcl6kf4x9h"; depends=[dplyr httr jsonlite purrr readr rlang]; };
   googler = derive2 { name="googler"; version="0.0.1"; sha256="1aayji3ncqxl58k29d93dbx05s9rp9bc63fl2cpl1cys7gilblxx"; depends=[jsonlite tibble]; };
   googlesheets = derive2 { name="googlesheets"; version="0.3.0"; sha256="11q07nxys72wkxx9mawmjyf20gvwvrb7h3gpa73h6lgh2vgrwnv8"; depends=[cellranger dplyr httr jsonlite purrr readr stringr tibble tidyr xml2]; };
+  googlesheets4 = derive2 { name="googlesheets4"; version="0.1.0"; sha256="1n12s92cbn6cnnkm629brdkghvj0r8x7rz191c0lbdfd8mgbw1pw"; depends=[cellranger curl gargle glue googledrive httr magrittr purrr rematch2 rlang tibble]; };
   googleway = derive2 { name="googleway"; version="2.7.1"; sha256="0axpr81p3gdp1nmfn000lk288sdn8z5qmzjvagdxqn5j44hq6sj1"; depends=[curl googlePolylines htmltools htmlwidgets jpeg jqr jsonlite magrittr scales shiny viridisLite]; };
   goric = derive2 { name="goric"; version="1.1-0"; sha256="1smjq9vljszgngs5i6x55jwg0imzc5gsfdqxzcs4541fp3pvk999"; depends=[MASS Matrix mvtnorm nlme quadprog]; };
   govStatJPN = derive2 { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
+  govdown = derive2 { name="govdown"; version="0.7.0"; sha256="0vp43bhb23cnasdizk5h6qzczk0zr1hxn7s8k5m8iskvcpfx0gn0"; depends=[rmarkdown]; };
   gower = derive2 { name="gower"; version="0.2.1"; sha256="007ivwn1nagpi26qq8iih1c2l61c53glvv60n90hi341ry8vwgxg"; depends=[]; };
   gpDDE = derive2 { name="gpDDE"; version="0.8.2"; sha256="100g2f8zlpbwxb46h62pgvidll8aflz1zl4inyh8dml6vhm9pilp"; depends=[CollocInfer deSolve fda forecast lars limSolve MASS nnls penalized trustOptim TSA]; };
   gpairs = derive2 { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode colorspace lattice MASS vcd]; };
   gpclib = derive2 { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; };
-  gpg = derive2 { name="gpg"; version="1.2.1"; sha256="0m6pn9ssjy74gg4nr7lg2csfkp5m9fwp3bk72vld5als2knzj90c"; depends=[askpass curl]; };
+  gpg = derive2 { name="gpg"; version="1.2.2"; sha256="1qc7w4d6frp0j4yk0q7slkj1mps80bv78lixcpw1shgx48rp41kh"; depends=[askpass curl]; };
   gpk = derive2 { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
   gplm = derive2 { name="gplm"; version="0.7-4"; sha256="0apvj14nl5qbi4dhhdx5nih5lvjwfcipvr8cyk6xsz4r5gfr2iw4"; depends=[AER]; };
   gplots = derive2 { name="gplots"; version="3.0.1.1"; sha256="033plcfs9w8pmn84n24mdhiixdirc2a7pz6dvm61fpd20gwh7cbx"; depends=[caTools gdata gtools KernSmooth]; };
   gpmap = derive2 { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[foreach ggplot2 isotone plyr]; };
   gppm = derive2 { name="gppm"; version="0.2.0"; sha256="1n9is3xj52lsck2fiy9j320p2ca6ib36s251i7g3iz99a77b0ahh"; depends=[ggplot2 ggthemes MASS mvtnorm Rcpp rstan]; };
   gpr = derive2 { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; };
-  gprofiler2 = derive2 { name="gprofiler2"; version="0.1.6"; sha256="0dx3dcfjwkxncgd86as3xrw2a3q07bfahigsdyqi2rjrg3ydqbgz"; depends=[crosstalk dplyr ggplot2 gridExtra jsonlite plotly plyr RCurl tidyr viridisLite]; };
+  gprofiler2 = derive2 { name="gprofiler2"; version="0.1.7"; sha256="19qfmk2w7bzycw8nw7np2f8j1wd5dr6bpbivxzzmnnp5zc1nmkiv"; depends=[crosstalk dplyr ggplot2 gridExtra jsonlite plotly plyr RCurl tidyr viridisLite]; };
   gptk = derive2 { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[fields Matrix]; };
   gpuR = derive2 { name="gpuR"; version="2.0.3"; sha256="1afbnrnk0hrsd3qa7gh269wxn1maq7dpi6wpjhhbp2gwr6100vqy"; depends=[assertive BH Rcpp RcppEigen RViennaCL]; };
-  gqlr = derive2 { name="gqlr"; version="0.0.1"; sha256="0qvyvy514ma5wi2qm6a8praqa7js9wl0hh0ack1hknw33g2gyqhy"; depends=[graphql jsonlite magrittr pryr R6]; };
+  gqlr = derive2 { name="gqlr"; version="0.0.2"; sha256="0gzhqyrbnz3qjzkr4slryrlfhlaxm474y9fahlj0sb0hvcx68pxj"; depends=[graphql jsonlite magrittr pryr R6]; };
   gquad = derive2 { name="gquad"; version="2.1-1"; sha256="19k7cqp2j5vb6m9hxdm951wfjh6nsswb64pdz9g93ypcqrg02wa4"; depends=[ape seqinr]; };
-  grImport = derive2 { name="grImport"; version="0.9-2"; sha256="0n3y6dzy8s0ifvyrgwbly6cl14lmgd54dyi74s5i984apszpsp16"; depends=[XML]; };
-  grImport2 = derive2 { name="grImport2"; version="0.1-5"; sha256="0dyb3nrrvxnkk9q5b136bdivcz1jj3ajx1kscm3k0kkpqjif0pls"; depends=[base64enc jpeg png XML]; };
+  grImport = derive2 { name="grImport"; version="0.9-3"; sha256="109mrdvq06xq3zgn9ngz0c7zzgqkv5zbpvsb2i636vmlk6y4dpkd"; depends=[XML]; };
+  grImport2 = derive2 { name="grImport2"; version="0.2-0"; sha256="19q0dd8fpp1g4xf6sg5f8dxybwxjfw553ra6wgjd8b74fzca40m1"; depends=[base64enc jpeg png XML]; };
   gradDescent = derive2 { name="gradDescent"; version="3.0"; sha256="1jxgvnjw9qk5bkb0fw4kyks4vb9d1933jn79ry0w6956mq2xbb79"; depends=[]; };
   grade = derive2 { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
-  gradeR = derive2 { name="gradeR"; version="1.0.3"; sha256="1hk2kjrd5r3gsfkv83x86727rdzzqn0h4cy81falnz8lakkwcgml"; depends=[testthat]; };
+  gradeR = derive2 { name="gradeR"; version="1.0.5"; sha256="1c7x16z1mn7ys63vdwpy8b2x21k35pbmnpl52h372pfrsvxxhb23"; depends=[testthat]; };
   gradientPickerD3 = derive2 { name="gradientPickerD3"; version="0.1.0.0"; sha256="0b20iqfipr7migwk1fl4lvdf4ghprqivcgmchfshhr8q82hyd1q0"; depends=[htmlwidgets jsonlite shiny]; };
-  grainchanger = derive2 { name="grainchanger"; version="0.2.0"; sha256="00gxzzl47kpghwzz22z5b1m1gcpsfg5pay3hcdwdqr00mz2albg2"; depends=[checkmate furrr raster sf usethis]; };
   grainscape = derive2 { name="grainscape"; version="0.4.0"; sha256="1i5bc1a0rh2grvd4xls2iz428jxspjrk038hm37cn2n0h88yx1xl"; depends=[ggplot2 igraph raster Rcpp rgdal sp]; };
   gramEvol = derive2 { name="gramEvol"; version="2.1-3"; sha256="0z2511zhs2gcdkwp29n6fpafhn49h69yi56nmrhh9zc8jqj1rwpa"; depends=[]; };
   grangers = derive2 { name="grangers"; version="0.1.0"; sha256="15q8hv7p5g5m7v6lx6nq5394fa6p05xgawnsrn1v5aslmmbbzyvl"; depends=[tseries vars]; };
@@ -8320,16 +8493,18 @@ in with self; {
   graphTweets = derive2 { name="graphTweets"; version="0.5.2"; sha256="1rizfabd3j3n5ddzg6c2a4jy4jnbdpy2zv8k09jqrxjkg1cvl5m0"; depends=[combinat dplyr igraph magrittr purrr rlang rtweet tidyr zeallot]; };
   grapherator = derive2 { name="grapherator"; version="1.0.0"; sha256="071by9b8figbsf4g0f8a8mgcdksjksc57mnlgggilw7py1yjnjlh"; depends=[BBmisc checkmate deldir ggplot2 lhs reshape2 vegan]; };
   graphframes = derive2 { name="graphframes"; version="0.1.2"; sha256="1bv7d0sggwab4rd486ayw9gkb5ja5p5fin5pn92xnrmz8cgwsfxq"; depends=[forge sparklyr tibble]; };
+  graphicalExtremes = derive2 { name="graphicalExtremes"; version="0.1.0"; sha256="1cc4xcb72yci2gq2zn3g1nh3ba802anpymm0hajdbz3kb0wz1gyn"; depends=[igraph matrixcalc mvtnorm Rdpack]; };
   graphicalVAR = derive2 { name="graphicalVAR"; version="0.2.2"; sha256="1jzhqbdylpzc8d28vz2k34i9dpxx5x34bgvx73z8wjglnn6j27b8"; depends=[dplyr glasso glmnet igraph Matrix mvtnorm qgraph Rcpp RcppArmadillo]; };
   graphicsQC = derive2 { name="graphicsQC"; version="1.0-8"; sha256="12vg93xfmkv73i19vkb10q2qngmsxd3y42z3l6izdywbdc3cdfkg"; depends=[XML]; };
   graphkernels = derive2 { name="graphkernels"; version="1.6"; sha256="1gn3ihqz7m0rdvvc2fp7hsgq583wh5cnz7200a2ff89xc04zs3dc"; depends=[igraph Rcpp RcppEigen]; };
   graphlayouts = derive2 { name="graphlayouts"; version="0.5.0"; sha256="03dizbhhdhnzbj2i5zvqgs617kwcv4h2pha4f16adic0fph1rxl3"; depends=[igraph Rcpp RcppArmadillo]; };
-  graphon = derive2 { name="graphon"; version="0.3.2"; sha256="0bh542ffxklydb826srnacmw3cncd8cxnkj76r40mbkaxq7vxxlp"; depends=[Rdpack ROptSpace]; };
+  graphon = derive2 { name="graphon"; version="0.3.3"; sha256="1jsjbyk1hbmdlgap3gaf1cdrrbgfccr4lgpdi7g3bzp3mjjbijh5"; depends=[Rdpack ROptSpace]; };
   graphql = derive2 { name="graphql"; version="1.5"; sha256="0zi1l93yk5rlgdy4j2nph14w0h8kgvnbzk9fi2jfys8s3fz54ksr"; depends=[jsonlite Rcpp]; };
   graphscan = derive2 { name="graphscan"; version="1.1.1"; sha256="1dgjb0grdymhimdgwnddjcivgy2i9r1i1nni4v9mx0447skcahk9"; depends=[ape rgl snowfall sp]; };
   gratia = derive2 { name="gratia"; version="0.2-8"; sha256="1diijk4s0x29aq7l8bjx5canjykj9xlsr7rajvj0jjxx7i9jaw56"; depends=[cowplot dplyr ggplot2 mgcv mvtnorm tibble tidyr]; };
   graticule = derive2 { name="graticule"; version="0.1.2"; sha256="1yvrijvyjilfql72dxj32b3sczqv065zj61729wrrzn63xcifvmb"; depends=[raster sp]; };
-  grattan = derive2 { name="grattan"; version="1.7.1.2"; sha256="1dmy6shigybp3g7kjqc9f2c28niw9if7igi1xmc8qnf0azlnlrlz"; depends=[assertthat data_table fastmatch forecast hutils ineq magrittr Rcpp rsdmx zoo]; };
+  grattan = derive2 { name="grattan"; version="1.8.0.0"; sha256="1604hrbh897hdgxg2ack4c47xzqlgwgy4nn96lyc2sk3qvw0l7s7"; depends=[assertthat data_table fastmatch forecast fy hutils ineq magrittr Rcpp rsdmx zoo]; };
+  gravitas = derive2 { name="gravitas"; version="0.1.0"; sha256="0w53rz6ips5cl2xigb16ffskjdnlx98f20slkpvdh4s2vwvbvk74"; depends=[dplyr ggplot2 ggridges ineq lubridate lvplot magrittr RColorBrewer rlang shiny stringr tibble tidyr tsibble]; };
   gravity = derive2 { name="gravity"; version="0.9.8"; sha256="1yx71gidv3ivjfip994ciaiwk2cvvm8z16yax4lwpwgl1fxj1p4k"; depends=[censReg dplyr glm2 lmtest magrittr MASS multiwayvcov purrr Rdpack rlang sandwich survival tibble tidyr]; };
   grec = derive2 { name="grec"; version="1.3.0"; sha256="0fksxzjnm843wbcwjf06gcbbw4lfz7zk361bj6qdpnkcfcl22c1w"; depends=[imagine raster]; };
   greenclust = derive2 { name="greenclust"; version="1.0.0"; sha256="1qqlg40bzi088vn4yx33izf12jsviyqj63a24xw2426lg4lif3kv"; depends=[]; };
@@ -8339,9 +8514,9 @@ in with self; {
   greta = derive2 { name="greta"; version="0.3.1"; sha256="0wy1619drj8ir6r44xcliiirgibksd80gmjx21am2h580k0x0xq2"; depends=[coda future progress R6 reticulate tensorflow]; };
   gretel = derive2 { name="gretel"; version="0.0.1"; sha256="1yyj4aing56f2vy0gshxwb623g9idg8k4701v3s53lqn4m2ybazk"; depends=[Rcpp ResistorArray]; };
   grex = derive2 { name="grex"; version="1.9"; sha256="0s6nan76rrmh3yhgvzb7pqdrzx2w9px8ay4v9yiib4bamy9wmhpb"; depends=[]; };
-  greybox = derive2 { name="greybox"; version="0.5.5"; sha256="0kqi02jb7wvmgi4k98iz0bygy47hislkmm03vdwj3m2gh10fbcpz"; depends=[forecast lamW nloptr numDeriv Rcpp]; };
+  greybox = derive2 { name="greybox"; version="0.5.6"; sha256="1m52sr7alil9s9aai22wk5x1qdm3lach5i8wpf9z2dy72jh2hw6i"; depends=[forecast lamW nloptr numDeriv Rcpp]; };
   greyzoneSurv = derive2 { name="greyzoneSurv"; version="1.0"; sha256="115i0d4fy4p4g4vd419hj9f23hi8cbiyfilgpgmag91ilr1xpcdp"; depends=[Hmisc survAUC survival]; };
-  grf = derive2 { name="grf"; version="0.10.4"; sha256="1nlrmvx1awd0zhbanw8p86xsdawza807hxiqxsdh3ydspcwh43x3"; depends=[DiceKriging lmtest Matrix Rcpp RcppEigen sandwich]; };
+  grf = derive2 { name="grf"; version="1.0.0"; sha256="0igiiwf8myifivp933q6glpadlbldqpfwi29s58mcd5dhiyyn4yh"; depends=[DiceKriging lmtest Matrix Rcpp RcppEigen sandwich]; };
   gridBase = derive2 { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
   gridBezier = derive2 { name="gridBezier"; version="1.1-1"; sha256="1n5d6svxblcxpzf79px0qjxsydpwjpnfcagnwk35ljinyd0wv68z"; depends=[]; };
   gridDebug = derive2 { name="gridDebug"; version="0.5-0"; sha256="12zrl7p8p7071w5viymdipycja7a2arvy0aahgahd5nlx1k1gha0"; depends=[graph gridGraphviz gridSVG]; };
@@ -8349,7 +8524,7 @@ in with self; {
   gridGeometry = derive2 { name="gridGeometry"; version="0.2-0"; sha256="0y7y1ld03cqpibmjssid6n3n8gf98hi9ngcfbkh6acyzck812bc7"; depends=[polyclip]; };
   gridGraphics = derive2 { name="gridGraphics"; version="0.4-1"; sha256="1kr3p54bkv2q7agxrva30y9bkwkiq1k2cfl5z1kvyjv6f5xi4w5p"; depends=[]; };
   gridGraphviz = derive2 { name="gridGraphviz"; version="0.3"; sha256="1jz0d6kc8ci55ffm6dns8bhak9xnaq7mg5mpv3fk53lircn7mwl5"; depends=[graph Rgraphviz]; };
-  gridSVG = derive2 { name="gridSVG"; version="1.7-0"; sha256="0wdjj6jyk1zflglhimjzhws51ifwz3yb044j5nfsynn6kjdgfn32"; depends=[jsonlite XML]; };
+  gridSVG = derive2 { name="gridSVG"; version="1.7-1"; sha256="03ra820lm0gydrvxmck658aaj3mqqkqrinxc134r5npl8bv4x2hg"; depends=[jsonlite XML]; };
   gridsample = derive2 { name="gridsample"; version="0.2.1"; sha256="062aryy26x07m31r6m0fj1zgnjhivlh1fikx9lv2rdgk0rh4yzz0"; depends=[data_table geosphere maptools raster rgdal rgeos sp spatstat spatstat_utils]; };
   gridsampler = derive2 { name="gridsampler"; version="0.6"; sha256="0wqpqg9c372sv8zqks6v93gawiyfghw58hn7m8q45dxpqm16ss3k"; depends=[BiasedUrn ggplot2 plyr reshape2 shiny shinyBS shinythemes]; };
   gripp = derive2 { name="gripp"; version="0.2.20"; sha256="0rshipm8rdynl19a4dsvvvlhkd0n4vjfkidwnv5iilc5ini7c4qr"; depends=[GA GenSA usethis]; };
@@ -8360,8 +8535,8 @@ in with self; {
   groupRemMap = derive2 { name="groupRemMap"; version="0.1-0"; sha256="1bfp746j0dx7kk44nyjqmimvgw14par9ayvqxnzldc05qsazjdwx"; depends=[]; };
   groupdata2 = derive2 { name="groupdata2"; version="1.1.2"; sha256="0v206sq4h50v1scb2i8qwwi3kxiqamxwrnn1gblwk9i3xkmqs48y"; depends=[dplyr numbers plyr rlang tibble]; };
   grouped = derive2 { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; };
-  groupedSurv = derive2 { name="groupedSurv"; version="1.0.3"; sha256="15ah8v1mfyq9xi27kkl0vwwbhf16vd4hy9h809jlw1i7b1zwg4pm"; depends=[BH doParallel doRNG foreach qvalue Rcpp RcppEigen]; };
-  groupedstats = derive2 { name="groupedstats"; version="0.0.9"; sha256="0x2dz25prk21vm0a8z1jvjqy19ncv6q6rkwd6akxv68p120pyj21"; depends=[broomExtra crayon dplyr glue lme4 magrittr purrr rlang robust rstudioapi sjstats skimr tibble tidyr]; };
+  groupedSurv = derive2 { name="groupedSurv"; version="1.0.4"; sha256="106z47icn680nyzj9gkq7g8gv73ajgmx0ypiv4l1j01cd3nripj2"; depends=[BH doParallel doRNG foreach qvalue Rcpp RcppEigen]; };
+  groupedstats = derive2 { name="groupedstats"; version="0.1.0"; sha256="1a517qxwbzxwilwqblvp0i8bwap1cgzvnmys4ab10c77npy9jl3z"; depends=[broomExtra dplyr glue lme4 parameters purrr rlang robust rstudioapi sjlabelled sjstats skimr tibble tidyr]; };
   groupsubsetselection = derive2 { name="groupsubsetselection"; version="1.0.3"; sha256="118cj5xc8nbq4fs2gbzg1nhynixaflbl0si77gyy4ybw0drsz4nj"; depends=[]; };
   grove = derive2 { name="grove"; version="1.1"; sha256="0fqsj5dx7py7cin3hvfkxglh8v3x0dwj6cxy4h5vbddjl687db5x"; depends=[Rcpp RcppArmadillo wavethresh]; };
   growfunctions = derive2 { name="growfunctions"; version="0.14"; sha256="1pvyiw20fxm3l4giyq4iizc67yy36i6wq4ch2qyqg4mfd4bki2g4"; depends=[ggplot2 mvtnorm Rcpp RcppArmadillo reshape2 spam]; };
@@ -8384,6 +8559,7 @@ in with self; {
   gsalib = derive2 { name="gsalib"; version="2.1"; sha256="1k3zjdydzb0dfh1ihih08d4cw6rdamgb97cdqna9mf0qdjc3pcp1"; depends=[]; };
   gsarima = derive2 { name="gsarima"; version="0.1-4"; sha256="1ay3iamnvg7mbnl1xaxxcyic559bdnfspy883w2bwgy20yhr34yg"; depends=[MASS]; };
   gsbDesign = derive2 { name="gsbDesign"; version="1.00"; sha256="1kbwlpxbr70aagx9jkap9xlw13r1k3y630b08wmmny421sv4zhxl"; depends=[gsDesign lattice]; };
+  gscaLCA = derive2 { name="gscaLCA"; version="0.0.2"; sha256="0s6rnyd632xq04pnyq1j3571qv7j5bzxir2nhk5jk9i8myf9fc9k"; depends=[devtools doSNOW fastDummies fclust foreach ggplot2 gridExtra MASS progress psych stringr]; };
   gscounts = derive2 { name="gscounts"; version="0.1-3"; sha256="1xcsvnam858l9am30mmqb6m0vcflijhli22ix8g56rcvfsh208q1"; depends=[Rcpp]; };
   gset = derive2 { name="gset"; version="1.1.0"; sha256="1gingqw6la8n7mnl47wpz9sicxca4zi2m8p35n6cnihrniibhajc"; depends=[Hmisc MCMCpack mvtnorm]; };
   gsg = derive2 { name="gsg"; version="2.0"; sha256="17fjl7aw1s814krnszxd4y1d4210bnkrf4kb2fwsycqwcwms5pm7"; depends=[boot mgcv mvtnorm numDeriv]; };
@@ -8394,7 +8570,6 @@ in with self; {
   gsmoothr = derive2 { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
   gsrsb = derive2 { name="gsrsb"; version="1.1.1"; sha256="0yjxzc69ihsx5ni6jb4shsvl9vskqlls3gmpckmzx5nsh1l5s5vb"; depends=[ldbounds mvtnorm xtable]; };
   gss = derive2 { name="gss"; version="2.1-10"; sha256="1qhywsn9244fc7ir705xc8s832ygd7w0j72k3d58bdx9wv57xi16"; depends=[]; };
-  gsscopu = derive2 { name="gsscopu"; version="0.9-3"; sha256="0bvhhs5wn4y1dcff2g87f80jdn3i4mdbvdbydsbx80ng38rfxhhg"; depends=[gss]; };
   gstar = derive2 { name="gstar"; version="0.1.0"; sha256="1582f7jcphb32j3wdc345qa5sgm2xyimlc6r5r5jay7ca5ll8c98"; depends=[dplyr ggplot2 reshape2 xts zoo]; };
   gstat = derive2 { name="gstat"; version="2.0-3"; sha256="1qfcg8zb3hlpcb6x6z2hdn08g0d9z7fkn9yyi1c1l8l9pzk3za90"; depends=[FNN lattice sp spacetime zoo]; };
   gsubfn = derive2 { name="gsubfn"; version="0.7"; sha256="00j6b8b6xsx6v370h220x233rpk6asca78165y3d48jpwvwisdc9"; depends=[proto]; };
@@ -8410,7 +8585,7 @@ in with self; {
   gtools = derive2 { name="gtools"; version="3.8.1"; sha256="0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505"; depends=[]; };
   gtop = derive2 { name="gtop"; version="0.2.0"; sha256="1nvvbf181x0miw3q0r2g0nklz29ljdsd07cazaajfls7pmhi0xw9"; depends=[hts lassoshooting quadprog]; };
   gtrendsR = derive2 { name="gtrendsR"; version="1.4.4"; sha256="0b05m5jbgbhdjmwp89zaa276z1h2qib2h30msg69lhwbdcsva96q"; depends=[anytime curl ggplot2 jsonlite]; };
-  gtsummary = derive2 { name="gtsummary"; version="1.2.1"; sha256="1ckcnng2768j0kmibgcdl34h7ss7ydycxlc6b3dvpvrq01wqahnk"; depends=[broom broom_mixed crayon dplyr glue knitr magrittr purrr rlang stringr survival tibble tidyr tidyselect]; };
+  gtsummary = derive2 { name="gtsummary"; version="1.2.3"; sha256="0mpr94l2hx3zvcgk1scbjl2080500lmhb6zdf83i0j41dqhd2k3k"; depends=[broom broom_mixed crayon dplyr glue knitr lifecycle magrittr purrr rlang stringr survival tibble tidyr tidyselect usethis]; };
   gtx = derive2 { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
   guardianapi = derive2 { name="guardianapi"; version="0.1.1"; sha256="17xmmr6pfzhdnmf45jzvk84gbfnmlw1qfv1gqjaw85vgm8b6jn6l"; depends=[dplyr httr jsonlite rlang tibble]; };
   guess = derive2 { name="guess"; version="0.1"; sha256="198pxi0yipgm9wccpj3y4a0gkibhyxcmb7v5dz7ipzrk44ha5g6j"; depends=[Rsolnp]; };
@@ -8429,26 +8604,27 @@ in with self; {
   gwfa = derive2 { name="gwfa"; version="0.0.4"; sha256="0jz82d9lfyd07z0jjlfqzsg7a3vnyz0s1j0rrb5sg9pnvcfjk9qy"; depends=[Rcpp sp]; };
   gwrpvr = derive2 { name="gwrpvr"; version="1.0"; sha256="0x15nv2pfv99c04lgs6q6hgczarld34xc4aqw9bn179m7j02v6m3"; depends=[]; };
   gwrr = derive2 { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
+  gwsem = derive2 { name="gwsem"; version="0.1.5"; sha256="0pzizjhxfxq73xq0kh5sj8v637iz4wqfv5cm9jxd2laid7fqgnb1"; depends=[BH data_table OpenMx]; };
   gym = derive2 { name="gym"; version="0.1.0"; sha256="0vcwzgawqwjsf65hr1mbjkz3px8zsibfkn42jpsg39n13jpfjq8v"; depends=[httr jsonlite]; };
   gyriq = derive2 { name="gyriq"; version="1.0.2"; sha256="12vbnhianzi4l43czaxrbnbkz1h8lvmwjys0y3c2ml3g6dmwwfji"; depends=[CompQuadForm irlba mvtnorm survival]; };
   h2o = derive2 { name="h2o"; version="3.26.0.2"; sha256="1ldjk1gm6jb5zvk2rmlfah4zm827dpmj4c5q83ysd4arwqqz5gna"; depends=[jsonlite RCurl]; };
   h2o4gpu = derive2 { name="h2o4gpu"; version="0.2.0"; sha256="06d2rrr27xvnsai6zjiaiw0jjfzdza1cc39c03d6pjkvnh0mqh2c"; depends=[magrittr reticulate]; };
   h5 = derive2 { name="h5"; version="0.9.9"; sha256="14p7i1sj24ky87kd7qr3n9fc9l64s0bp0rwbyl6i2x69xn75gpsx"; depends=[Rcpp]; };
-  hBayesDM = derive2 { name="hBayesDM"; version="1.0.1"; sha256="0f1w21xgbkdmk72zlfb2vyv53fv4zsdnkqr9sj0cmj83rkh5nhcq"; depends=[BH data_table ggplot2 loo Rcpp RcppEigen rstan StanHeaders]; };
+  hBayesDM = derive2 { name="hBayesDM"; version="1.0.2"; sha256="04p4d0hy2l6bmxyh2k5q0g19b7fbpsl9frmcvrf5rxkaasxyxwn6"; depends=[BH data_table ggplot2 loo Rcpp RcppEigen rstan StanHeaders]; };
   hIRT = derive2 { name="hIRT"; version="0.2.0"; sha256="1vgmr36dbcn2ah9pzhc46zh1va7y7w3zr4mpmyf626m1bq0alb39"; depends=[pryr rms]; };
   hNMF = derive2 { name="hNMF"; version="0.9"; sha256="0qavavgiqah4dv0gz8v5ssz637sd341n9s0pyc232n2jhqpzl0cz"; depends=[MASS NMF nnls oro_nifti R_matlab rasterImage spatialfil]; };
-  hR = derive2 { name="hR"; version="0.2.0"; sha256="1rh411g6as52l9y54y922fdmrisx7j98835n80y1czymk7ba2whh"; depends=[data_table data_tree knitr rhandsontable shiny]; };
+  hR = derive2 { name="hR"; version="0.2.1"; sha256="1y0rzcrxb21fhxnpvhijxg0syhj8n20882cy79g5x4rv4xrngw1z"; depends=[data_table data_tree knitr rhandsontable shiny]; };
   hSDM = derive2 { name="hSDM"; version="1.4.1"; sha256="1jwqjzr0zpckzh2jpqh17v6ypq4mzn5khlv6p37y59zz8bh9mvxp"; depends=[coda]; };
   haarfisz = derive2 { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
   hablar = derive2 { name="hablar"; version="0.2.0"; sha256="0242gqcjh04kgv1zf9idm4v2vrxm1vm8nvwhcl3mf08w9a8la2aw"; depends=[dplyr]; };
-  hagis = derive2 { name="hagis"; version="3.0.0"; sha256="0kryzv26f79wsg68nhh4y1yqp6958gmrg5cqdxmy7gps3w3vq12d"; depends=[data_table ggplot2 pander]; };
+  hagis = derive2 { name="hagis"; version="3.0.1"; sha256="1bljpva3j7x87hdmy8s9sh37r5vd8wkjzjqbk57akl654x6b0gfv"; depends=[data_table ggplot2 pander]; };
   hail = derive2 { name="hail"; version="0.1.1"; sha256="1nrc9msqyy5iq2i6p8875anbqswxl2z6vdd4hvihnl22qh5fnbvh"; depends=[]; };
   halfcircle = derive2 { name="halfcircle"; version="0.1.0"; sha256="1gbqbv3cn8w09i3f2ji3qq0snb4fy9243y12agw686fx46dfmhxs"; depends=[scales]; };
   hamlet = derive2 { name="hamlet"; version="0.9.6"; sha256="076fh28grlrv38qywshi79m84jsz1ck9k4n0rg4svvr3gqkdbcn2"; depends=[]; };
   handlr = derive2 { name="handlr"; version="0.2.0"; sha256="1p14q9swvy8yvd52wcms777vfcb9vandi0pd4cmqmyz1hpsi31d8"; depends=[crul jsonlite mime RefManageR urltools xml2]; };
   handyplots = derive2 { name="handyplots"; version="1.1.3"; sha256="0pcl0iichdw2lkv8y00mv6n6c0rvrnsk75ka5lwm2g7b64pphsvk"; depends=[]; };
   hans = derive2 { name="hans"; version="0.1"; sha256="0hh2nlzxs2kj93yb7yfm873m6nymjw5qmkin3qqn3acza6dr0k6q"; depends=[Rcpp]; };
-  hansard = derive2 { name="hansard"; version="0.7.1"; sha256="10xx8dfgpgggyv9h0ywvzqh4v620ln8whjlm6flcz1fy8ipf4274"; depends=[dplyr jsonlite lubridate snakecase tibble tidyr]; };
+  hansard = derive2 { name="hansard"; version="0.8.0"; sha256="00mcy58nhlphb0v0wchbaw1qamm0435s09nxxw6rr5z872rhyf5a"; depends=[dplyr jsonlite lubridate snakecase tibble tidyr]; };
   hapassoc = derive2 { name="hapassoc"; version="1.2-8"; sha256="0qs5jl0snzfchgpp6pabncwywxcmi743g91jvjiyyzw0lw85yv4s"; depends=[]; };
   haplo_stats = derive2 { name="haplo.stats"; version="1.7.9"; sha256="19kxascqq5qz0zdxx0w837ji207y1z2ggxkl4vmlbay03k2dw2mx"; depends=[rms]; };
   haploR = derive2 { name="haploR"; version="3.0.1"; sha256="162wqjpmgapy54n8msrw5apgzj586ps0kkc5wmbqay3l94xgnvzk"; depends=[DT httr plyr RCurl RUnit tibble XML]; };
@@ -8467,10 +8643,11 @@ in with self; {
   hashmap = derive2 { name="hashmap"; version="0.2.2"; sha256="1qypmyi033rjxjk055rv94qfqa99gm5hj5gfd9fiiq1xln3z700j"; depends=[BH Rcpp]; };
   hashr = derive2 { name="hashr"; version="0.1.0"; sha256="1ri2zz2l1rrc1qmpqamzw21d9y06c7yb3wr60izw81l8z4mmyc3a"; depends=[]; };
   hasseDiagram = derive2 { name="hasseDiagram"; version="0.1.3"; sha256="1r9z6jc9lbdj2xc81gpnbswrl8rhs8zrlsnypfrny40g3j402iap"; depends=[graph Rgraphviz]; };
-  haven = derive2 { name="haven"; version="2.1.1"; sha256="12h64r2v2451igyl7v4w2kg0hzw9rnanph0m7smffq29ybkv9g4h"; depends=[forcats hms Rcpp readr tibble]; };
+  haven = derive2 { name="haven"; version="2.2.0"; sha256="0g9d6mxqmrw2zdms78jpx2sx73pczlyy771v1h5hmxqz9sqyk7hr"; depends=[forcats hms Rcpp readr rlang tibble tidyselect]; };
   hawkes = derive2 { name="hawkes"; version="0.0-4"; sha256="1ghwq3icxwmrai3xn9r8cnvlh3z3j18lznhw1bm31h9mkkp2dk0a"; depends=[Rcpp RcppArmadillo]; };
   hazer = derive2 { name="hazer"; version="1.1.1"; sha256="1d1qj6mamgxlvxq2hjik69zfzackjz5819iss98jf5gdbdngw41x"; depends=[]; };
   hazus = derive2 { name="hazus"; version="0.1"; sha256="1c0ahjdy9di1683nk5k4rmr6rhb66523ny039nyv842rgqdy625j"; depends=[reshape2]; };
+  hbbr = derive2 { name="hbbr"; version="1.1.2"; sha256="09sph4vliyb63pd0abq02ix5wz373r70kgldw44fm279zq4z772h"; depends=[R2jags]; };
   hbim = derive2 { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
   hbm = derive2 { name="hbm"; version="1.0"; sha256="0qz28azm91a6pbss1mfc47a21d3q9rs3mmw0kgwc7i2a2m43mysm"; depends=[doParallel foreach Matrix]; };
   hbmem = derive2 { name="hbmem"; version="0.3-3"; sha256="1rajd5h9gp0rrpc0q0m0fx37mv2n70da3gnfvvnjc5a77mzfyqkp"; depends=[]; };
@@ -8484,16 +8661,17 @@ in with self; {
   hda = derive2 { name="hda"; version="0.2-14"; sha256="0azfxyws7yslcqplfddmdp5ngk91j5h7llvrg77yh5z0kkd09j1b"; depends=[e1071]; };
   hdbinseg = derive2 { name="hdbinseg"; version="1.0.1"; sha256="0fy9cqrygsnxkb3nxg56md19svrvkbijpxkqfk9p18cj5ibwrq94"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
   hdbm = derive2 { name="hdbm"; version="0.9.0"; sha256="0lvaica195chl6bb10wvvr7fbmh8b954fpxcm9r0gyp0d0i2a2w4"; depends=[Rcpp RcppArmadillo]; };
+  hdd = derive2 { name="hdd"; version="0.1.0"; sha256="0hnqjfp78s8fiabibf0dl57sj170ri1ysf7pyrk45z4qsnizbyn2"; depends=[data_table fst readr]; };
   hddplot = derive2 { name="hddplot"; version="0.59"; sha256="18llkpawm12cjxlcrlra60m16virfpjqiaqkvy9mb3wq1zif61rh"; depends=[MASS multtest]; };
   hddtools = derive2 { name="hddtools"; version="0.8.2"; sha256="02gbqlzwxc77gllgz9sf2s73y4ngyb4warabdfyj2sm2g7jl6y12"; depends=[gdata Hmisc raster RCurl rgdal rnrfa sp stringr tibble XML zoo]; };
-  hdf5r = derive2 { name="hdf5r"; version="1.2.0"; sha256="10gynjwaaxks8y9c2fl8k040j0nbwn372nil70009yfk9wrkx0aq"; depends=[bit64 R6]; };
+  hdf5r = derive2 { name="hdf5r"; version="1.3.0"; sha256="1pq12vkfqxvcaznwaxvjdg3acimk5a20m8h18sixvxc34vnqxw8f"; depends=[bit64 R6]; };
   hdfqlr = derive2 { name="hdfqlr"; version="0.6-1"; sha256="1z8sylaaki8ab9k7m4hp3530rnkxjh39zvw4n962fw5fb9a11dx3"; depends=[]; };
   hdi = derive2 { name="hdi"; version="0.1-7"; sha256="1q58bvlqh59hv3vb3dw92r0w1nwyifnqm5ccss54fzmf2gjsj1cj"; depends=[glmnet linprog MASS scalreg]; };
   hdlm = derive2 { name="hdlm"; version="1.3.1"; sha256="1zl6bksw0apkmn5shf8qjpxjyx6vb40dc4m4db76hhn5nhcp10ic"; depends=[foreach glmnet iterators MASS Matrix]; };
   hdm = derive2 { name="hdm"; version="0.3.1"; sha256="1kibfc1fc94y1vk06nn0yfvpdzcm30a1jn89lqqfma70x5jpa25s"; depends=[checkmate Formula ggplot2 glmnet MASS]; };
-  hdme = derive2 { name="hdme"; version="0.3.1"; sha256="12q1drgss9avm5z7nwsl1rdqgy63hi942d4wcwv27i50ah8yhwdr"; depends=[ggplot2 glmnet Rcpp RcppArmadillo Rdpack Rglpk]; };
+  hdme = derive2 { name="hdme"; version="0.3.2"; sha256="01qpb194nxpfxhlwyd2p8cga9zypp000sjhpbzands660g224j84"; depends=[ggplot2 glmnet Rcpp RcppArmadillo Rdpack Rglpk]; };
   hdnom = derive2 { name="hdnom"; version="6.0.0"; sha256="0wszxxfz5xkyqd3xgc9g3d5iwwsfkq9517bgp416h6l31ynxxrwn"; depends=[foreach ggplot2 glmnet gridExtra ncvreg penalized survAUC survival]; };
-  hdpca = derive2 { name="hdpca"; version="1.0.0"; sha256="1sv7caw4nhpcvsb7fxpvf2b5zskvfsv004hrqc51b5jx4fsc7y92"; depends=[boot lpSolve]; };
+  hdpca = derive2 { name="hdpca"; version="1.1.3"; sha256="09h96wm6r6w1imkm4k9bg5l0vcq2yvbp6iqx786x99ds8jzppsb9"; depends=[boot lpSolve]; };
   hdrcde = derive2 { name="hdrcde"; version="3.3"; sha256="0c2qbw4c3mq1cb068kjs72rxlbibz8svwcrx853jyr8ybs23z7ab"; depends=[ash ggplot2 KernSmooth ks locfit RColorBrewer]; };
   hds = derive2 { name="hds"; version="0.8.1"; sha256="1smg5ixrl7f2x3wn7s5i26dyadn5sigpf4jsk236z1bhnz617ax4"; depends=[survival tensor]; };
   healthcareai = derive2 { name="healthcareai"; version="2.3.0"; sha256="0lyx9fldw28gx2lr2cpi7lyrwf5qz549v2vqxjx83ih5kxm6mlnp"; depends=[caret cowplot data_table dbplyr dplyr e1071 forcats generics ggplot2 glmnet lubridate MLmetrics purrr ranger recipes rlang ROCR stringr tibble tidyr xgboost]; };
@@ -8503,10 +8681,10 @@ in with self; {
   heatmap3 = derive2 { name="heatmap3"; version="1.1.6"; sha256="13aa9rd16k67b1fr6471bdz2a1i04k7279ck1i4rjdly9rbksnjx"; depends=[fastcluster]; };
   heatmapFit = derive2 { name="heatmapFit"; version="2.0.4"; sha256="1rswp1wp58f21fpyjybcvvmnn53kr54ij83hp05qbvl7yn1fsnrb"; depends=[]; };
   heatmaply = derive2 { name="heatmaply"; version="0.16.0"; sha256="1qhxk48qh61qjxdlhl0qffdh3yh8iiwccid5ssngdv433q0cmyc1"; depends=[assertthat colorspace dendextend ggplot2 htmlwidgets magrittr plotly RColorBrewer reshape2 scales seriation viridis webshot]; };
-  heatwaveR = derive2 { name="heatwaveR"; version="0.4.1"; sha256="1dqqk3mjqlz60h54zfryqqcf11ikmja7fnf6s7wphld765am7ll8"; depends=[data_table dplyr ggplot2 lubridate plotly Rcpp RcppArmadillo RcppRoll tibble zoo]; };
-  heavy = derive2 { name="heavy"; version="0.38.19"; sha256="15bg2qqkslkqfnsq3ixbgmq72xagh8laji0265l06xgf2l6045kx"; depends=[]; };
+  heatwaveR = derive2 { name="heatwaveR"; version="0.4.2"; sha256="1fp38vlb4646jg397gsxmf5ws15grmmg6hdzijwll5zsg6a9xhg4"; depends=[data_table dplyr ggplot2 lubridate plotly Rcpp RcppArmadillo RcppRoll tibble zoo]; };
+  heavy = derive2 { name="heavy"; version="0.38.196"; sha256="05k788ynw9fhhmjydzp8dbk1vhl44j2rz2shqwn02i40jmwdvwrk"; depends=[]; };
   hedgehog = derive2 { name="hedgehog"; version="0.1"; sha256="1mvjnm2zlc4pvw9vnhxr0dj1g1sfqvlrnnhcipzfbvr147yan9l5"; depends=[rlang testthat]; };
-  heemod = derive2 { name="heemod"; version="0.10.0"; sha256="0vkmjsi8dya6zyhh6bxisvwaydk6w2q9k31gkbkvwjcjrv09dnnv"; depends=[dplyr ggplot2 lazyeval memoise mvnfast plyr pryr tibble]; };
+  heemod = derive2 { name="heemod"; version="0.11.0"; sha256="0zzjq4cmyr25p4x91jw542jiqmds6qikbp8gyix34dcmk765drnk"; depends=[dplyr ggplot2 lazyeval memoise mvnfast plyr pryr rlang tibble]; };
   heims = derive2 { name="heims"; version="0.4.0"; sha256="0vnq31jwn09grni4gdhf1hzd87b62as4f65b2qw7ky6mi38ahr5d"; depends=[bit64 data_table fastmatch hutils lubridate magrittr]; };
   helixvis = derive2 { name="helixvis"; version="1.0.1"; sha256="113rnpnrcnw18ks78fgq79zdrw3kmpzpimlc45gvj0za2fbyci3p"; depends=[ggforce ggplot2 rlang]; };
   hellno = derive2 { name="hellno"; version="0.0.1"; sha256="1j787rw9hh75bvkckmlz5xkgwc22gd7si3mgjd7v60dd6lykfa88"; depends=[]; };
@@ -8515,20 +8693,21 @@ in with self; {
   helsinki = derive2 { name="helsinki"; version="0.9.29"; sha256="0bn5iyxjn9qs6f0dmhv51ssayywbx1rayh80zbzk0gsm94nhs0d9"; depends=[maptools RCurl rjson sp]; };
   heplots = derive2 { name="heplots"; version="1.3-5"; sha256="1vyhfkp66gi17jni3gsbv9kn1s0n00qigr13q8xbzbgylz5jjiln"; depends=[car MASS]; };
   here = derive2 { name="here"; version="0.1"; sha256="1vb5dxqdpimy51q1gjsypyq14p2hhvj7wsvh6g35pj1g03cyg9av"; depends=[rprojroot]; };
-  hergm = derive2 { name="hergm"; version="4.1-4"; sha256="16nxarmn1syx8k0ijmqg41r0h5sciwsavpbiq7wfp2wysh8irwsk"; depends=[ergm igraph intergraph latentnet Matrix mcgibbsit mlergm network Rcpp sna stringr]; };
+  hereR = derive2 { name="hereR"; version="0.2.0"; sha256="0ki819gds0mndq56bxdyv91qkbm9i7iqsb63ipmy4w9sd1smx1ml"; depends=[curl data_table jsonlite lwgeom sf stringr]; };
+  hergm = derive2 { name="hergm"; version="4.1-5"; sha256="0i75jcr63gbivwz680d5wrbz01nwlklfg5h8zqvk2r16vbpwl8ag"; depends=[ergm igraph intergraph latentnet Matrix mcgibbsit mlergm network Rcpp sna stringr]; };
   heritability = derive2 { name="heritability"; version="1.2"; sha256="18snrfsjj5jw5qicj92d5qch9v4ciqw1hbiwg6q8kfjka9nmqpma"; depends=[MASS]; };
   hermite = derive2 { name="hermite"; version="1.1.2"; sha256="0j9s7ayvbvmgwybrvf703b72qbn8gskb105pis19ig2sslllzda3"; depends=[maxLik]; };
   hero = derive2 { name="hero"; version="0.0.3"; sha256="166jqxlp2x459ixm83kw55ssd86041qiwfymsk035r5aaf7nvjq1"; depends=[]; };
-  hesim = derive2 { name="hesim"; version="0.2.1"; sha256="1b8hsdyk88kpf6d1dkxg8zmp7qkfdbm2w6rkspkjam0034d2ni6q"; depends=[data_table flexsurv MASS R6 Rcpp RcppArmadillo survival]; };
+  hesim = derive2 { name="hesim"; version="0.2.2"; sha256="1wchccw9761iz0sk5sd8ahdzpphrd4k9rmgg8f9cgp43aza68ic2"; depends=[data_table flexsurv MASS R6 Rcpp RcppArmadillo survival]; };
   het_test = derive2 { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; };
-  hetGP = derive2 { name="hetGP"; version="1.1.1"; sha256="1f0lb91hb6lp9cfil1qpbqf032xv697jazcqyc1y694hdbx0jwqj"; depends=[DiceDesign MASS Rcpp]; };
+  hetGP = derive2 { name="hetGP"; version="1.1.2"; sha256="0r7hzw6ccyrqpq51adljd2ljv9dl00c0dr8frjrhibpzpc68z3sz"; depends=[DiceDesign MASS Rcpp]; };
   hett = derive2 { name="hett"; version="0.3-2"; sha256="1kmspw0738pdall5scmllsa79dynliai2glk1h5rzm4030r5rd6j"; depends=[lattice MASS]; };
   hettx = derive2 { name="hettx"; version="0.1.1"; sha256="0zfxg88l83pzj37c5khpv4vi0v28fdnp0p8yz39scm8d8lya1dkm"; depends=[doParallel dplyr foreach formula_tools MASS moments mvtnorm plyr purrr quantreg tidyverse]; };
   heuristica = derive2 { name="heuristica"; version="1.0.2"; sha256="1wqdwggnma6p667ivr0xja4vvn3jgzbkc5whkkijmdmxpjzg1wz6"; depends=[Hmisc]; };
   heuristicsmineR = derive2 { name="heuristicsmineR"; version="0.2.1"; sha256="0zpkkz20jlppdvsxcxs0w2n79af21ry1vvmbqlm1scgkr86674yd"; depends=[BH bupaR data_table DiagrammeR dplyr ggplot2 ggthemes magrittr petrinetR processmapR purrr Rcpp rlang scales tidyr]; };
   hexSticker = derive2 { name="hexSticker"; version="0.4.6"; sha256="02zdnxnhci0d9dclb6z3zc8sm1c4bj8zzbapwy34h8bs3sz1c8xn"; depends=[ggimage ggplot2 hexbin showtext sysfonts]; };
   hexView = derive2 { name="hexView"; version="0.3-4"; sha256="01hiqyibsd4as7jcklzg09pl12la341mg561vn16z4jzdarfvkfc"; depends=[]; };
-  hexbin = derive2 { name="hexbin"; version="1.27.3"; sha256="14f181lw6sj5xhfxbrpyyinsjfl0nzqilq6z80lgrhj2cnkj593y"; depends=[lattice]; };
+  hexbin = derive2 { name="hexbin"; version="1.28.0"; sha256="0b58jb1kz39wzrnkv077cfzns889xly7psvhxnm3xmnx6yvd986d"; depends=[lattice]; };
   hextri = derive2 { name="hextri"; version="0.6"; sha256="05rvigi225npncbr1brc6apc7gsg9a5jzcbmhvflwp3hbcg3hn02"; depends=[FNN hexbin]; };
   hflights = derive2 { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
   hgam = derive2 { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; };
@@ -8555,12 +8734,13 @@ in with self; {
   highTtest = derive2 { name="highTtest"; version="1.1"; sha256="18hgxlr0y8y1d4ldqmfcg4536lhyn5p6w88sq1vj74qr5wzydga1"; depends=[]; };
   highcharter = derive2 { name="highcharter"; version="0.7.0"; sha256="0qfv25dqr7l54jq3vrnwphsj7wzk0an3vfx1zik36wi05yf2w8br"; depends=[assertthat broom crosstalk dplyr htmltools htmlwidgets igraph jsonlite lubridate magrittr purrr quantmod rlang rlist stringr tibble tidyr whisker xts yaml zoo]; };
   highfrequency = derive2 { name="highfrequency"; version="0.6.1"; sha256="0531kvsd06h684kksci63vyl865hiiic624fqdqicf0sis2bd1sd"; depends=[cubature data_table lubridate mvtnorm Rcpp RcppArmadillo RcppRoll readr robustbase xts zoo]; };
-  highlight = derive2 { name="highlight"; version="0.4.7.2"; sha256="0xc1akglgby3qd6c9y2rhcd0gpfihx5jvakji38vzlxb1m21sn10"; depends=[]; };
+  highlight = derive2 { name="highlight"; version="0.4.7.3"; sha256="0zzq9c1rb6j7rgb4943k64khgz554jrc5caqzji0ia7x9wbksd92"; depends=[]; };
   highlightHTML = derive2 { name="highlightHTML"; version="0.2.1"; sha256="06k2idx9aadjd6xp6kadm9jh7ap1hwg7vh0bc8vw9ll82wcp1nv1"; depends=[]; };
   highmean = derive2 { name="highmean"; version="3.0"; sha256="1lq7z0l1737j4wvsy7951405afylyywp7vf2i7girzh459fdfzpc"; depends=[MASS mnormt mvtnorm]; };
   highr = derive2 { name="highr"; version="0.8"; sha256="0my6idnhmmgs4q1vs40y2lh56yij2p59mpwvm53wjs2zk6x1zl2b"; depends=[]; };
   highriskzone = derive2 { name="highriskzone"; version="1.4.5"; sha256="09ad025ydpfsrkcfqsfm4cj6lk8shrdh6vyya7isqwrd5jfyf1qc"; depends=[deldir fields ks maps Matrix mvtnorm rgeos spatstat]; };
   higrad = derive2 { name="higrad"; version="0.1.0"; sha256="0q9av8qyvmvgy6a3l7svcmbkjjgnp4iny1cld4g3qsbaz3yp3jaj"; depends=[Matrix]; };
+  hilbertSimilarity = derive2 { name="hilbertSimilarity"; version="0.4.3"; sha256="1251df3q7c7c69f8q9y9bxj210bk2dh80c8ca4s58isf0hr2x7zp"; depends=[entropy Rcpp]; };
   hillR = derive2 { name="hillR"; version="0.4.0"; sha256="0wivagbn4clfm3vbxbl3p93d9yxms94gkvi7p15lh0jfdppzm4c9"; depends=[ade4 ape FD plyr tibble]; };
   hilldiv = derive2 { name="hilldiv"; version="1.5.1"; sha256="1jp4xvrpqd575y2x0i73s0bq708bzi6gdhqgz85bia6d5kf05lq9"; depends=[ape data_table FSA geiger ggplot2 ggpubr qgraph RColorBrewer scales vegan]; };
   hillmakeR = derive2 { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
@@ -8580,12 +8760,12 @@ in with self; {
   hkevp = derive2 { name="hkevp"; version="1.1.4"; sha256="01m5yywi4vjnwhdayaqaqcp5lz70mllj5ifnwdb4c60wm9aby9pm"; depends=[Rcpp RcppArmadillo]; };
   hkex_api = derive2 { name="hkex.api"; version="0.1"; sha256="0hqwihlrppchpaz2yaq92gf779yi5k8n7sxy1kbpjxs2qc18xvj2"; depends=[httr RCurl XML]; };
   hmeasure = derive2 { name="hmeasure"; version="1.0-2"; sha256="0l4nlny532kddiaa1nmgd37971whhwzb54mb1pvbwax7fsg6hmhw"; depends=[]; };
-  hmi = derive2 { name="hmi"; version="0.9.16"; sha256="128rwbflxy9j49xpgmwjsw35jhsz586r5b0hn80jkjmpfshnffx3"; depends=[boot coda linLIR lme4 MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm rlang tmvtnorm VGAM]; };
+  hmi = derive2 { name="hmi"; version="0.9.17"; sha256="08cppa061xn13lyp7d9jsybn0cc6k2ffml79m5bp7fk11gzq18mb"; depends=[boot coda linLIR lme4 MASS Matrix MCMCglmm mice msm mvtnorm nlme nnet ordinal pbivnorm rlang tmvtnorm VGAM]; };
   hmlasso = derive2 { name="hmlasso"; version="0.0.1"; sha256="0ydcyz9pw30ji8ghrvkgcbmp27d661vajl97b8cwis52605a3gfx"; depends=[BH MASS Matrix Rcpp RSpectra]; };
   hmm_discnp = derive2 { name="hmm.discnp"; version="2.1-11"; sha256="0s0qzwg5lidmzcxgdbjnq6dqal8xm28h75drrjm712pg36577fcg"; depends=[nnet]; };
   hmmhdd = derive2 { name="hmmhdd"; version="1.0"; sha256="16jz951d1ssai0gmfnnfikkkvc8yca29a82dq7092kbzwc4i90sk"; depends=[gmfd mvtnorm roahd]; };
   hmmm = derive2 { name="hmmm"; version="1.0-4"; sha256="1sbr85lcmcw3lv0ygqwfbarr91dp3br1xnlygy49145cvl93nfci"; depends=[MASS mvtnorm nleqslv quadprog]; };
-  hms = derive2 { name="hms"; version="0.5.1"; sha256="1v4cxfpvp85la4gqla6b4q2bwx4jv1fxqwndcnjsibbnybz6wcvd"; depends=[pkgconfig rlang vctrs]; };
+  hms = derive2 { name="hms"; version="0.5.2"; sha256="0h24dsagn4kcr65arn73mpqapcg002kw4kyxfqyff95j6s6cjifl"; depends=[pkgconfig rlang vctrs]; };
   hmstimer = derive2 { name="hmstimer"; version="0.0.2"; sha256="0qv2pls6mplnv3mylbiwh83gnvq2qkdpnnjnxnhrgmwia9fapixs"; depends=[]; };
   hnp = derive2 { name="hnp"; version="1.2-6"; sha256="12cbc353ipr2rcc93skf1766g38j1pvpdkqk3cswv0cxsjl2x7pl"; depends=[MASS]; };
   hoa = derive2 { name="hoa"; version="2.1.4.1"; sha256="152vz6cddphmxvm7vi6f3b7jjpib0nsb6qv2k1wrmfrpvv3hgsxx"; depends=[statmod survival]; };
@@ -8596,12 +8776,12 @@ in with self; {
   holodeck = derive2 { name="holodeck"; version="0.2.0"; sha256="1p7crpwa56a4363x4c888475xajga3blp544as4ad85br1k8vpjl"; depends=[assertthat dplyr MASS purrr rlang tibble]; };
   homals = derive2 { name="homals"; version="1.0-8"; sha256="0gad0jmflw5zmzf9hk5qqmxxpbncm9gngsi24i3rgiz7565kli1r"; depends=[ape rgl scatterplot3d]; };
   homeR = derive2 { name="homeR"; version="0.3.0"; sha256="0gi383392rs7snb2l9760vkws5hqfikyaj3i7cyby9g1sc2s6yx8"; depends=[]; };
-  hommel = derive2 { name="hommel"; version="1.4"; sha256="1bzall7xfg4fyjx9i4ck24yfdp5s9gwcm2324y75a4hc088wpspl"; depends=[Rcpp]; };
+  hommel = derive2 { name="hommel"; version="1.5"; sha256="15c5az35zwmj6g0pxycfr4jnlc5ykllly0xk8gbdv7yk5m23my6d"; depends=[Rcpp]; };
   homologene = derive2 { name="homologene"; version="1.4.68.19.3.27"; sha256="0d7wxisk0vqk1n165v1i19bc02zv78h5r5d3jqai5y6nkmwn01sh"; depends=[dplyr magrittr purrr R_utils readr]; };
   homomorpheR = derive2 { name="homomorpheR"; version="0.2-2"; sha256="1iahq16nswlc3b87598206xdp24bg9v8acyjp1jivybl3fr4k3pq"; depends=[gmp R6 sodium]; };
   homtest = derive2 { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
   hopbyhop = derive2 { name="hopbyhop"; version="3.41"; sha256="1dh502mjrk9dlqikn0ak4gh2dw9nrnp3zrz8j1xwa9cjn37al2wh"; depends=[ggplot2 pastecs]; };
-  hopit = derive2 { name="hopit"; version="0.9.0"; sha256="177kg6gqf76qhjlm259g8if0n4345mv0xxk6vi4qy5c64zx29arg"; depends=[MASS Matrix Rcpp RcppEigen Rdpack survey]; };
+  hopit = derive2 { name="hopit"; version="0.10.2"; sha256="0iphvadn5shqlnk01xbz1vx13q453pkrs0nk1k5r1bmm2mr36kj1"; depends=[MASS Matrix Rcpp RcppEigen Rdpack survey]; };
   horizon = derive2 { name="horizon"; version="1.2"; sha256="0b8m9ghfabjgdl155wh4gc4ng2lsvyfyhsy62pldbcix757b4ck9"; depends=[raster]; };
   hornpa = derive2 { name="hornpa"; version="1.0"; sha256="0pfvk2jkrwgvshgq9g55qijgpjh0677rpbya0r8759n92v3axbp4"; depends=[]; };
   horserule = derive2 { name="horserule"; version="1.0.0"; sha256="0d348pn0ld7lr9lfl1z05905l9kl296j0xic1pib6r5l1c5600r9"; depends=[gbm ggplot2 inTrees MASS mvnfast randomForest RColorBrewer Rdpack]; };
@@ -8631,8 +8811,8 @@ in with self; {
   htmlTable = derive2 { name="htmlTable"; version="1.13.2"; sha256="0h6jslchlx1dzqqdb70c3n9xlapcym9ykycvr0hc4q3450y8qmvh"; depends=[checkmate htmltools htmlwidgets knitr magrittr rstudioapi stringr]; };
   htmltab = derive2 { name="htmltab"; version="0.7.1"; sha256="0lymagm7z6zn0ddygqxi831ikk74112lkqkbvs5j1djhmr359ajc"; depends=[httr XML]; };
   htmltidy = derive2 { name="htmltidy"; version="0.5.0"; sha256="1djkjff3750fm1sp54kf9cjvsqz2x7ia1ns12h5vqqcvwzfd0701"; depends=[htmltools htmlwidgets Rcpp XML xml2]; };
-  htmltools = derive2 { name="htmltools"; version="0.3.6"; sha256="18k8r1s8sz1jy7dkz35n69wj20xhmllr53xmwb4pdzf2z61gpbs4"; depends=[digest Rcpp]; };
-  htmlwidgets = derive2 { name="htmlwidgets"; version="1.3"; sha256="04jsdh14l2zifbjpbbh23w7bxz1wpsas0zb2gy2zwv4yqamzzr7i"; depends=[htmltools jsonlite yaml]; };
+  htmltools = derive2 { name="htmltools"; version="0.4.0"; sha256="06l17d8jkf438yk2mchpsp4j90bynnapz3nabh5vkcc324p5a62v"; depends=[digest Rcpp rlang]; };
+  htmlwidgets = derive2 { name="htmlwidgets"; version="1.5.1"; sha256="10fp306l1nybkah6jrlrqwwdb6zvklbddp8i3w9v9naj8la5jbnl"; depends=[htmltools jsonlite yaml]; };
   htree = derive2 { name="htree"; version="2.0.0"; sha256="15bi5c2p4aghihp3k12s78447j2x9hbsaq56b5lc8jmd1vf0jdwb"; depends=[]; };
   hts = derive2 { name="hts"; version="5.1.5"; sha256="0mvsxrk7wkfn81hbk8a80fckiqiwdbvhq42k7c6lm69gamnbak2f"; depends=[forecast Matrix matrixcalc Rcpp RcppEigen SparseM]; };
   httk = derive2 { name="httk"; version="1.10.1"; sha256="05zbxyxlq94i6v4wwx7znr9p4k5gn9z7yi818v9f76bv8xi7mxv2"; depends=[data_table deSolve magrittr msm mvtnorm survey truncnorm]; };
@@ -8643,18 +8823,18 @@ in with self; {
   httptest = derive2 { name="httptest"; version="3.2.2"; sha256="1q2lhqi5lhdc15wjrcr4z2yxjrfhjkgn0wwxr0mawsfz8cy3703q"; depends=[digest httr jsonlite testthat]; };
   httpuv = derive2 { name="httpuv"; version="1.5.2"; sha256="13ax0hs2lc39ilznh1zarwqdzahcbhb8adilrfik3xg0fkljpcwk"; depends=[BH later promises R6 Rcpp]; };
   httr = derive2 { name="httr"; version="1.4.1"; sha256="0mp1il13q6n49n2hv1p2p8x6avjan6dr5az19ql4hb78pc3pwp37"; depends=[curl jsonlite mime openssl R6]; };
-  hues = derive2 { name="hues"; version="0.1"; sha256="0b6y4ld242fqzx4ccxzk4i4zbx7myk7v3a03r0klgbh2mmw3ixm0"; depends=[colorspace]; };
-  huge = derive2 { name="huge"; version="1.3.3"; sha256="18f8w4hdp9fdi2k5ip6fnrn5z47w4ybgxs2m6a7jdvd2v4wfdr69"; depends=[igraph MASS Matrix Rcpp RcppEigen]; };
+  hues = derive2 { name="hues"; version="0.2.0"; sha256="062i7yc16nmnp15c1jh4xffw2lpklp36wkn1yvagh186ahnlgffx"; depends=[colorspace]; };
+  huge = derive2 { name="huge"; version="1.3.4"; sha256="07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3"; depends=[igraph MASS Matrix Rcpp RcppEigen]; };
   humanFormat = derive2 { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
   humaniformat = derive2 { name="humaniformat"; version="0.6.0"; sha256="0vaynjzz57pk4y1liag9lpn9jkag2033a6bkn28zzm7ndg3344l6"; depends=[Rcpp]; };
   humanize = derive2 { name="humanize"; version="0.2.0"; sha256="0hhhd640n77s8xaa2gbd9fckdk2yjg68gdb7wjy56a2khzqfssxr"; depends=[assertthat glue lubridate]; };
   humanleague = derive2 { name="humanleague"; version="2.1.0"; sha256="1mp7lqwx97r60amllz9cjsixw21zspgs4zkp0nc63z315vgfzwrx"; depends=[Rcpp]; };
-  humidity = derive2 { name="humidity"; version="0.1.4"; sha256="1nnrjk9wjvp28s615xd9wllnwv4js3kg7rj2f6al3sk3vhiqljsk"; depends=[]; };
+  humidity = derive2 { name="humidity"; version="0.1.5"; sha256="143pn8jjinlda76b94qh5zw2sfajw0ifcx774x6adr2il5a5wm99"; depends=[]; };
   hunspell = derive2 { name="hunspell"; version="3.0"; sha256="0mwqw5p0ph083plm2hr2hqr50bjg2dw862dpsfm4l2fgyy3rryq1"; depends=[digest Rcpp]; };
   hurdlr = derive2 { name="hurdlr"; version="0.1"; sha256="1ryrqsxa07isxv2zx156bcn36d4yjvwpirb8jqcmqm97q7rmihmq"; depends=[]; };
   hurricaneexposure = derive2 { name="hurricaneexposure"; version="0.1.0"; sha256="1wwa1b96yglmnkvn209v8g0cvx567i2mxd7y6vjzzy5l428cf9f0"; depends=[data_table dplyr ggmap ggplot2 lazyeval lubridate mapproj maps purrr RColorBrewer rlang stringr tidyr]; };
-  hutils = derive2 { name="hutils"; version="1.5.0"; sha256="053zraq4c35w0lmpzgw03gw3r7dmq97yjfdldsv8d6sb1m4va7rk"; depends=[data_table fastmatch magrittr]; };
-  hutilscpp = derive2 { name="hutilscpp"; version="0.2.0"; sha256="1wp51xsy9wx7y8nf6b9k2dqvc9bamikqjwnihnndsgajfygr6jwj"; depends=[data_table hutils Rcpp]; };
+  hutils = derive2 { name="hutils"; version="1.5.1"; sha256="1x2x8gg2hdwxj1gz81pjls4y3yilssksirsbjnjd665rjs3jx7fj"; depends=[data_table fastmatch magrittr]; };
+  hutilscpp = derive2 { name="hutilscpp"; version="0.3.0"; sha256="1x7h1fq6qyylda8k3a1v6s0cx7pf169k86akb6ccwgiikqqsp51h"; depends=[data_table hutils Rcpp]; };
   huxtable = derive2 { name="huxtable"; version="4.7.0"; sha256="0pnba6k8mnn6wi4inlcap3ir7w784sxnvfvrc6g4iwql5s3rz6cz"; depends=[assertthat generics glue memoise rlang stringr tibble tidyselect]; };
   hwde = derive2 { name="hwde"; version="0.67"; sha256="0wb2f9i5qi7w77ygh8bvydfpr7j5x8dyvnnhdkajaz0wdcpkyaqy"; depends=[]; };
   hwordcloud = derive2 { name="hwordcloud"; version="0.1.0"; sha256="0civbwv276lcwvfs4qzz14r8rk14kg1ml4zzhi3msnkkh29v70y2"; depends=[colourpicker htmlwidgets shiny wordcloud2]; };
@@ -8685,6 +8865,7 @@ in with self; {
   hypervolume = derive2 { name="hypervolume"; version="2.0.11"; sha256="1lfxsqvkzych9zvknxf4fnsfav9kv8cjss0pr4ny1wbmbvdxbbqc"; depends=[data_table e1071 fastcluster geometry hitandrun ks maps MASS mvtnorm pdist progress raster Rcpp RcppArmadillo rgeos rgl sp]; };
   hypothesestest = derive2 { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
   hypothesisr = derive2 { name="hypothesisr"; version="0.1.1"; sha256="0z06risagphhvqiw4lrxy52q6q2yr10w2yxsm8iz1wh9ik097pcv"; depends=[dplyr httr jsonlite]; };
+  hypr = derive2 { name="hypr"; version="0.1.4"; sha256="1a1dysa08v9q4sr8w3mr1lyj8fl1cdgqa00dnaa9pj6k81djr2qj"; depends=[MASS pracma]; };
   hysteresis = derive2 { name="hysteresis"; version="2.6"; sha256="00v19m52bg2i3zg8p7yj56axzj9sm64qr61226p5h7sn0zrpws3b"; depends=[car MASS msm]; };
   hzar = derive2 { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[coda foreach MCMCpack]; };
   iAdapt = derive2 { name="iAdapt"; version="0.1.0"; sha256="0ykcvqm1aswc4iypapml22194nxi6mxvxipy6wj7l9g4cazfa8j8"; depends=[shiny shinydashboard]; };
@@ -8694,8 +8875,8 @@ in with self; {
   iC10 = derive2 { name="iC10"; version="1.5"; sha256="1xq6xv582wxdb0nc2nia3q38155gx8z26idiqyx7h1rjb20hhwdl"; depends=[iC10TrainingData impute pamr]; };
   iC10TrainingData = derive2 { name="iC10TrainingData"; version="1.3.1"; sha256="175ymib3h359296hk36psryksisipx63ybvacz8hys21irzx58j1"; depends=[]; };
   iCARH = derive2 { name="iCARH"; version="2.0.0"; sha256="08krf7if4nlj7whchjqsr3gzvhz81w24wa2vxzs6znf9m0k5aqay"; depends=[abind ggplot2 igraph KEGGgraph MASS Matrix mc2d RCurl reshape2 rstan]; };
-  iCellR = derive2 { name="iCellR"; version="1.1.4"; sha256="0gamxpn63rvj9pr33z0gdgc5fh5g71sz9vi94bah5271lqfbwqzx"; depends=[ape ggdendro ggplot2 ggpubr ggrepel gridExtra Hmisc htmlwidgets knitr Matrix NbClust pheatmap plotly plyr RColorBrewer reshape Rtsne scatterplot3d shiny umap]; };
-  iCiteR = derive2 { name="iCiteR"; version="0.1.0"; sha256="1h38m3blnpivrdz1hdgakl502zxb92gjkczra0a7izbq9fn19mfw"; depends=[httr jsonlite]; };
+  iCellR = derive2 { name="iCellR"; version="1.2.5"; sha256="1n5zp7k766q6xwvhw0w5s9x3ws9229pkdllh334bpxz3saj12s3r"; depends=[ape ggdendro ggplot2 ggpubr ggrepel gridExtra Hmisc htmlwidgets knitr Matrix NbClust pheatmap plotly plyr RColorBrewer reshape Rtsne scatterplot3d shiny umap]; };
+  iCiteR = derive2 { name="iCiteR"; version="0.2.1"; sha256="0hbps2q5i7yj6zvqawlayhqqr5iv39yqc0xnk7fvra7rimzc1qid"; depends=[httr]; };
   iClick = derive2 { name="iClick"; version="1.5"; sha256="0yq0r9nz1mf9ci6l30ylqxbgl8mf1ahyqzr7m6nks0ygxabipdnd"; depends=[boot car coefplot fBasics forecast lattice lmtest lubridate openair papeR rugarch sandwich timeDate timeSeries xts zoo]; };
   iCluster = derive2 { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[caTools gdata gplots gtools lattice]; };
   iDINGO = derive2 { name="iDINGO"; version="1.0.3"; sha256="0aa7g7shcbjzjwhnrh6hd4idjdka9rd7jawkvqvyjnwcql2qlapv"; depends=[GGMridge glasso igraph mvtnorm scales visNetwork]; };
@@ -8716,17 +8897,18 @@ in with self; {
   iRegression = derive2 { name="iRegression"; version="1.2.1"; sha256="1kwsrmsflmqan96aj0dczlszfww1dlg6rwycyid52f7ghg9810rn"; depends=[mgcv]; };
   iRepro = derive2 { name="iRepro"; version="1.1"; sha256="1sqg1n83m1308v6bk8ilra8w01frqyd8vpvmv63rllxz38r3vyhz"; depends=[]; };
   iSDM = derive2 { name="iSDM"; version="1.0"; sha256="1hzs187mwv3k2wx6dpvkizjhkcx63mznd06wiw6047lf5jrlif0a"; depends=[ade4 colorRamps geometry geosphere maptools MASS pdist raster rgdal rgl sp virtualspecies]; };
-  iSTATS = derive2 { name="iSTATS"; version="0.1.0"; sha256="0dv1hrhx0gf327fdfrn3j73i64v8kd8109ywz75s3xfacwn98yr2"; depends=[Cairo ggplot2 gtools shiny shinyBS shinyWidgets]; };
+  iSTATS = derive2 { name="iSTATS"; version="1.1.0"; sha256="0hkyf3qa35hk8hs4qraz2y433ad93bjmi1mlmzfaw132x96f8zvf"; depends=[Cairo data_table ggplot2 gtools plotly rstudioapi shiny shinyBS shinyWidgets]; };
   iTOP = derive2 { name="iTOP"; version="1.0.2"; sha256="1n6nlmmx2h63nksycgzr7qsnd1j6bxa629av7cfd3ihriim7dj47"; depends=[corpcor Matrix]; };
   iWISA = derive2 { name="iWISA"; version="1.0-2"; sha256="0jqi1kh7jlc04nb9d1w711q4i8j1vgwbxjls09z7853kv22wxfyz"; depends=[fda ggplot2 waveslim]; };
   iWeigReg = derive2 { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
+  iZID = derive2 { name="iZID"; version="0.0.1"; sha256="1jaqdh6i5xyfw4y2wd9qivzjklf4j2xxnya8ssn7rv5bz6misgcz"; depends=[doParallel extraDistr foreach rootSolve]; };
   iadf = derive2 { name="iadf"; version="0.1.0"; sha256="02zx9n4ncg10bbydrr05631vzc4w2b1jg3x6xiaffg7x5rh4mnyf"; depends=[dplR dplyr manipulate rlang tibble tidyr]; };
   iai = derive2 { name="iai"; version="1.1.0"; sha256="1ck5znn3l80ahh6n6qvp8rw4307blkqyr1jmq9ksifb5hkqpxyfw"; depends=[JuliaCall rlang stringr]; };
-  iarm = derive2 { name="iarm"; version="0.2.0"; sha256="0lg1q5z40hjm8wicniimv4wlb210qj7d5lmmknilzkpz4shwr44k"; depends=[eRm mRm PP psychotools vcdExtra]; };
+  iarm = derive2 { name="iarm"; version="0.2.0"; sha256="0lg1q5z40hjm8wicniimv4wlb210qj7d5lmmknilzkpz4shwr44k"; depends=[eRm PP psychotools vcdExtra]; };
   ibd = derive2 { name="ibd"; version="1.5"; sha256="0rxvy4hn4fpbv6y214ggkmgfvzwns5mkanp4h8201rjk3v84mk2r"; depends=[car emmeans lpSolve multcomp]; };
   ibdreg = derive2 { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; };
   ibeemd = derive2 { name="ibeemd"; version="1.0.1"; sha256="115z13q02gzixziknix2l53mi12zzg30ra9h35pv6qzrr11ra1ic"; depends=[deldir fields rgeos sp spdep]; };
-  ibelief = derive2 { name="ibelief"; version="1.2"; sha256="1zh6bpg0gaybslr1p05qd5p2y5kxbgyhgha4j4v5d69d78jwgah9"; depends=[]; };
+  ibelief = derive2 { name="ibelief"; version="1.3"; sha256="15jafk5b954hsl5kkbiyr8pi385c92il05jls33lyf4i25q5aqk3"; depends=[]; };
   ibm = derive2 { name="ibm"; version="0.1.0"; sha256="0g6wg2qpa4q142xw2vq5pca4ll6pb8hyll5g0c93kk8crddk51s7"; depends=[Rcpp]; };
   ibmcraftr = derive2 { name="ibmcraftr"; version="1.0.0"; sha256="0zm5j0a1wjj5agibp38h73qxpq0njvrhfq3077xhhfizcb3v24sb"; depends=[Rcpp]; };
   ibmdbR = derive2 { name="ibmdbR"; version="1.50.0"; sha256="151gg05gcy5wpyvyflr4mc0jq1npxzq9pc4spjc81x2igd14c370"; depends=[arules ggplot2 MASS Matrix RODBC rpart rpart_plot]; };
@@ -8746,18 +8928,18 @@ in with self; {
   icd_data = derive2 { name="icd.data"; version="1.0"; sha256="0cynr9327wfg88661w4hali48mb6ghyvlqgybsa38k9bbf57v8aa"; depends=[]; };
   icdGLM = derive2 { name="icdGLM"; version="1.0.0"; sha256="1mh9kwn21n19v4lrmj33ghpna7dl66fx19gi6lcjanmrpzrkwdnz"; depends=[Matrix]; };
   icemelt = derive2 { name="icemelt"; version="1.0"; sha256="13pjbyh2ggns36m8s43m2cb0kvisjlfxq75gqscldp75zjli2wi8"; depends=[survival]; };
-  icenReg = derive2 { name="icenReg"; version="2.0.10"; sha256="184cl83rwr0h1b3dia1vd81zvfr0yqqmfszkzah3cqljkcirz8di"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
+  icenReg = derive2 { name="icenReg"; version="2.0.11"; sha256="1skppn8ncj91c9hmsv07qjr8xc3ylzrynbm9c950ayr4w15907hp"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
   icensBKL = derive2 { name="icensBKL"; version="1.1"; sha256="12zx5x81jy48mp0l6a5ga0ikkjxvndv5cv2xf6d2lczfk7fz9lbp"; depends=[gtools Icens MASS mvtnorm smoothSurv survival TeachingDemos]; };
   icensmis = derive2 { name="icensmis"; version="1.3.1"; sha256="1c0j43wffb5h99chlj8j45lpan7dpn2i0r4rr6b2kq16p1zabfjw"; depends=[Rcpp]; };
   icesAdvice = derive2 { name="icesAdvice"; version="2.0-0"; sha256="0sx93fsx2srmynnvs3bjb525m9a5w70qr9lghmkqa07crd991vfr"; depends=[]; };
   icesDatras = derive2 { name="icesDatras"; version="1.3-0"; sha256="0yaqlximxa3rcjxgrd0mii02mm9gpcxgw3i8pymp00bk8zixvj30"; depends=[]; };
   icesSAG = derive2 { name="icesSAG"; version="1.3-6"; sha256="08nlsvs23j7ax03gwld3ycyvhfrhs70jdjif3562q1ysgvvkbf45"; depends=[httr icesVocab openssl png xml2]; };
-  icesTAF = derive2 { name="icesTAF"; version="3.1-1"; sha256="0yyma72vrigr3kz4mxrkp90ijkmzlg79xdras45mrqq261cya3hm"; depends=[bibtex lattice remotes]; };
+  icesTAF = derive2 { name="icesTAF"; version="3.2-0"; sha256="11c4glpjqz6hdxmsbh7q4hyqps6xdj0ph3310dicwnxwymbp1dmx"; depends=[bibtex lattice remotes]; };
   icesVocab = derive2 { name="icesVocab"; version="1.1-4"; sha256="0ydrxxmglgcsmjccamhfyw4cr2q583y4836v3wm2gxs5pcf9q86g"; depends=[XML]; };
   icmm = derive2 { name="icmm"; version="1.1"; sha256="1w9f1rniz67rrvq0akc64s5433ddmr2cgbcljil4c58yyz8hinx8"; depends=[EbayesThresh]; };
   icosa = derive2 { name="icosa"; version="0.9.81"; sha256="05gpiksncdi536f4py7szfi6myny1gqj8i0hsgpma7cfcm3npn0l"; depends=[igraph raster Rcpp rgdal rgl sp]; };
   icpsrdata = derive2 { name="icpsrdata"; version="0.4.0"; sha256="01whs8wssjx3qgdnc1ixh59gvn1bajqm5q3zj1jpw1dqjh71qzf0"; depends=[httr purrr rvest]; };
-  icr = derive2 { name="icr"; version="0.6.0"; sha256="1cgb475kqnhczaknf0a1srw3221kr64nb8ljya0m7k658r28mnxr"; depends=[Rcpp]; };
+  icr = derive2 { name="icr"; version="0.6.1"; sha256="1hmlh01p286zq26ya2x7hn4xba2g0q988pmvmxy6lfv0nigys0gs"; depends=[Rcpp]; };
   icsw = derive2 { name="icsw"; version="1.0.0"; sha256="0g7bcqs0rpbs1p202i9wjbl8hhy3r196zambm044xyf7kvsbzzf6"; depends=[]; };
   idar = derive2 { name="idar"; version="1.0"; sha256="1yfv3na4rcldkpzybf7la227z4ynsl1scrziirl5gp072k7zrs01"; depends=[ape FD picante spatstat]; };
   idbg = derive2 { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
@@ -8770,7 +8952,7 @@ in with self; {
   identity = derive2 { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
   ideq = derive2 { name="ideq"; version="0.1.1"; sha256="1lp1mxckj4znngavv701mxcx84n9409irnpcsadj5v1grmy9352x"; depends=[matrixcalc mvtnorm pdist Rcpp RcppArmadillo rgen]; };
   ider = derive2 { name="ider"; version="0.1.0"; sha256="021s4fybki7a6mdsr6gkjrzfhaqdcg0m2a6r24y91jklxlxqxmws"; depends=[FNN]; };
-  idiogramFISH = derive2 { name="idiogramFISH"; version="1.5.1"; sha256="0snb8im0xxda3nymvn08x5677r97cvpdixa19v7zc2xiv6vchimp"; depends=[badger crayon kableExtra knitr prettydoc rmarkdown rvcheck]; };
+  idiogramFISH = derive2 { name="idiogramFISH"; version="1.9.1"; sha256="1rc378k8ngjcmhsz7hkpvyh2ayxyl3sk89y191assy8zx0i84p8v"; depends=[crayon dplyr plyr]; };
   idm = derive2 { name="idm"; version="1.8.2"; sha256="04f0i0kwdxywmj2i184knx5a5v9svx0lbam6wpz49hghg7qpy0w5"; depends=[animation ca corpcor dummies ggplot2 ggrepel]; };
   idmTPreg = derive2 { name="idmTPreg"; version="1.1"; sha256="1329sjb4dnw3yiyg16whbj4l2v0kg8phg1x4ysvyp2kqkmw14yq6"; depends=[doParallel foreach survival]; };
   idmodelr = derive2 { name="idmodelr"; version="0.3.1"; sha256="147rlcm7dj20xbwi392w82m1mnw90mvcp4yjgfplm34z6y90ljir"; depends=[deSolve dplyr furrr future ggplot2 magrittr purrr rlang stringr tibble tidyr viridis]; };
@@ -8789,28 +8971,28 @@ in with self; {
   ifultools = derive2 { name="ifultools"; version="2.0-5"; sha256="040kvbczcmmbaiaz0k0pdq9af541pjj6iwzh1a3w4szh9w6b5a3j"; depends=[MASS splus2R]; };
   ig_vancouver_2014_topcolour = derive2 { name="ig.vancouver.2014.topcolour"; version="0.1.2.0"; sha256="0yclvm6xppf4w1qf25nf82hg1pliah68z7h3f683svv0j62q748h"; depends=[]; };
   igate = derive2 { name="igate"; version="0.3.3"; sha256="0b8dk976z0764cmxwcq6w2f3akv7iivivharinq029p90b600qza"; depends=[dplyr ggplot2 kableExtra knitr rmarkdown stringr xtable]; };
-  igraph = derive2 { name="igraph"; version="1.2.4.1"; sha256="1074y8mvprrqlkb4vwa2qc9l03r8d7p5vaaqacj4ljjs7dvcq6l9"; depends=[magrittr Matrix pkgconfig]; };
+  igraph = derive2 { name="igraph"; version="1.2.4.2"; sha256="0scrbqb26pam8akblb4g9rkz888s0xffw3gcly78s4ijj67barxd"; depends=[magrittr Matrix pkgconfig]; };
   igraphdata = derive2 { name="igraphdata"; version="1.0.1"; sha256="19w5npa4b8c054v94xlr7nmhhg2fhq4m8jbds86skp8zvipl4rkl"; depends=[]; };
   igraphinshiny = derive2 { name="igraphinshiny"; version="0.1"; sha256="1ww5s4jfihzcx4k35lbhzsf54z720xh7b2p5alzk843m6rx77986"; depends=[igraph shiny]; };
   igraphtosonia = derive2 { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
-  iheatmapr = derive2 { name="iheatmapr"; version="0.4.8"; sha256="0rypfhr05x3yqaywpkkd2mjn1vwbj6hw7v8nkwm2mbff9z87aam7"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr plyr RColorBrewer S4Vectors scales]; };
-  ihpdr = derive2 { name="ihpdr"; version="1.0.0"; sha256="1z1cz6md8vzli1115q0qjcw6xiy485nkxawx0xwnzg07mwbqp2d4"; depends=[dplyr httr lubridate magrittr purrr readxl rlang rvest tidyr xml2]; };
+  iheatmapr = derive2 { name="iheatmapr"; version="0.4.12"; sha256="0s479j9l35xiss599vablxgvg6i2j9zq9sxphsq4vdk3bafg84bw"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr plyr RColorBrewer S4Vectors scales]; };
+  ihpdr = derive2 { name="ihpdr"; version="1.1.0"; sha256="0ga90dwnxygz63m894h4aj2lkjqi99qalkgw9ncfqggq5255h6l3"; depends=[dplyr httr lubridate magrittr purrr readxl rlang rvest tidyr xml2]; };
   ihs = derive2 { name="ihs"; version="1.0"; sha256="1c5c9l6kdalympb19nlgz1r9zq17575ivp3zrayb9p6w3fn2i06h"; depends=[maxLik]; };
   iilasso = derive2 { name="iilasso"; version="0.0.2"; sha256="043m1n5840459zsknkb54801apb0a2cqfprncmj2wp235rbqj832"; depends=[BH Matrix Rcpp]; };
-  ijtiff = derive2 { name="ijtiff"; version="2.0.3"; sha256="1zgjfc5vyz56cx63j28jkjxgl6y6q8n5f0mbkji6gr15p5f2hrls"; depends=[checkmate dplyr filesstrings fs glue magrittr purrr Rcpp readr rlang stringr withr]; };
+  ijtiff = derive2 { name="ijtiff"; version="2.0.4"; sha256="1jfvqn22v2rji8rnyjmpa2y3q14r514q2wdmh7ykiplvhlm9kyga"; depends=[checkmate dplyr filesstrings fs glue magrittr purrr Rcpp readr rlang stringr withr]; };
   iki_dataclim = derive2 { name="iki.dataclim"; version="1.0"; sha256="1yhvgr8d3j2r8y9c02rzcg80bz4cx58kzybm4rch78m0207wqs7p"; depends=[climdex_pcic lubridate PCICt zoo]; };
   ilc = derive2 { name="ilc"; version="1.0"; sha256="0hs0nxv7cd300mfxscgvcjag9f2igispcskfknb7sn7p8qvwr5ki"; depends=[date demography forecast rainbow survival]; };
   imageData = derive2 { name="imageData"; version="0.1-59"; sha256="096y589r1mrbvzax5i7sdczkl613kyn8g93qcddqb6jjljw03qmi"; depends=[dae GGally ggplot2 Hmisc RColorBrewer reshape XLConnect]; };
   imagefluency = derive2 { name="imagefluency"; version="0.2.1"; sha256="1hb38gv8bj9fshcwp0vjqh29pi0ynmh4hj4hf3izrgqiiy42hvxf"; depends=[magick OpenImageR pracma quadprog R_utils readbitmap]; };
-  imagefx = derive2 { name="imagefx"; version="0.2.0"; sha256="0yvmxshc35y8gmwvwwj46g9rni53rv2k68gg3rw6qjzja8r4njls"; depends=[moments]; };
+  imagefx = derive2 { name="imagefx"; version="0.3.0"; sha256="1jw85kb2xxq1yzjnvpd8l5avvamyh12kimss7w31ry2wgsad2mdz"; depends=[moments signal]; };
   imager = derive2 { name="imager"; version="0.41.2"; sha256="19fqgjhg04garbipx20g72h9dd6k0jj4ac48nby6km4h665vrs4v"; depends=[Cairo downloader igraph jpeg magrittr plyr png purrr Rcpp readbitmap stringr]; };
   imagerExtra = derive2 { name="imagerExtra"; version="1.3.2"; sha256="1f6mxfn7am4ph9acbbx53r4bk4vsm73p7arh8rvrsic9pgma3gqf"; depends=[fftwtools imager magrittr Rcpp]; };
   imageviewer = derive2 { name="imageviewer"; version="0.1.0"; sha256="1rsrwy5v0gnsmbay1zqijhvll2l1bs844m52w65588j9nlx4fci9"; depends=[htmlwidgets]; };
   imagine = derive2 { name="imagine"; version="1.5.2"; sha256="1k017a1qw7bahk1aif3ky7f1aynvrppmhvxbcmai646pmx99kbxn"; depends=[Rcpp]; };
   imbalance = derive2 { name="imbalance"; version="1.0.0"; sha256="1pfhwf4844m0a8qsm852am63x18vlkbs6m1s9izrpd219616skpr"; depends=[bnlearn C50 FNN ggplot2 KernelKnn mvtnorm Rcpp RcppArmadillo smotefamily]; };
   imdbapi = derive2 { name="imdbapi"; version="0.1.0"; sha256="11v7c0s7qqf02b186md5lhgkgmywkn8lmmanlz3gfcxca26g047y"; depends=[dplyr httr stringr]; };
-  imfr = derive2 { name="imfr"; version="0.1.6"; sha256="0dvhz16wfmrrs21pcys8hjlwa9xkwc78pn76zj2aq1vyj9qby0wj"; depends=[dplyr httr jsonlite]; };
-  imgpalr = derive2 { name="imgpalr"; version="0.2.1"; sha256="0ppzk0rza1rbaz69i8rxjmj7j1q26q75cn2yim8ji31j5hknqj23"; depends=[downloader dplyr jpeg magrittr tibble]; };
+  imfr = derive2 { name="imfr"; version="0.1.7"; sha256="1ch05d37gp0niml80k2apab1942aa05r77s52vgh2pfcx9kklv20"; depends=[dplyr httr jsonlite]; };
+  imgpalr = derive2 { name="imgpalr"; version="0.3.0"; sha256="1kb1ggrlkrh086nwq47sf2y20r7ydk4ww2j3gq0s4iz00aa34pxg"; depends=[downloader dplyr farver jpeg magrittr tibble]; };
   imgrec = derive2 { name="imgrec"; version="0.1.0"; sha256="1v4q2hxil7f0jnj4nql44d9dssh8kz1mnj8ah5slndnn1fbymy8f"; depends=[base64enc dplyr httr jsonlite knitr rlang]; };
   imguR = derive2 { name="imguR"; version="1.0.3"; sha256="14f7ghgc8rbrpqb21rinfbrj1wh80i6ii0awwi814152v5qzj4b3"; depends=[httr jpeg png]; };
   imgw = derive2 { name="imgw"; version="0.2.0"; sha256="00zkjxqnw1zwcpj8mmdw1ydpcq0sbhs54ismm1i8r6ymb13j5fgj"; depends=[RCurl XML]; };
@@ -8846,14 +9028,14 @@ in with self; {
   incadata = derive2 { name="incadata"; version="0.8.2"; sha256="1ayr7krqcs25b5zg80m2s4g3pdasfaj2qfdnjp871im5i6bplai5"; depends=[backports decoder dplyr rvest sweidnumbr xml2]; };
   incgraph = derive2 { name="incgraph"; version="1.0.1"; sha256="0zjvxk2krdlm5bcr0m80nxy46f69a1xadfjw5sjw249b28wdclml"; depends=[BH dplyr orca purrr Rcpp testthat tibble]; };
   incidence = derive2 { name="incidence"; version="1.7.0"; sha256="1ljn9phxsf47qp12xv1ly76lm4gcqfnhrisx4sy9f6pz5rx6k5s3"; depends=[aweek ggplot2]; };
-  inctools = derive2 { name="inctools"; version="1.0.14"; sha256="0ial852b96x310wzvla9lahxz3mwbqqv0l0lafs0bnmyaiiwycxv"; depends=[cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma rlang tibble tmvtnorm]; };
+  inctools = derive2 { name="inctools"; version="1.0.15"; sha256="0ikldiwgizs2p9vcalk5729dr6krysnyr4ni0ybg9gljw7iafdlf"; depends=[binom cubature doParallel dplyr foreach ggplot2 glm2 magrittr plyr pracma rlang tibble tmvtnorm]; };
   indelmiss = derive2 { name="indelmiss"; version="1.0.9"; sha256="0i4qnvc0xb3ngnk8xdscmx7qnicfs7s6czawf6schb1nh2pjpzyq"; depends=[ape numDeriv phangorn Rcpp]; };
-  indicspecies = derive2 { name="indicspecies"; version="1.7.6"; sha256="0a7s37k3bg4cnzkvn833nrwi6hnfa5f6jxa8ra954v4sp55g6i5d"; depends=[permute]; };
+  indicspecies = derive2 { name="indicspecies"; version="1.7.8"; sha256="1j70plalgn9y69m958q5jxhrzd14prcjbniiljnjl243xbbydgv9"; depends=[permute]; };
   indirect = derive2 { name="indirect"; version="0.2.0"; sha256="1k7xwsx655nzl43s1mkaysyn5gydq973gynmqip67lssnm7cnch4"; depends=[gplots MASS]; };
   inegiR = derive2 { name="inegiR"; version="3.0.0"; sha256="1rhkdmpz7mxi7ddyygss5rlh3c8hgxhzdk3fnvnlizc1l55cc6c0"; depends=[jsonlite lubridate plyr tibbletime XML zoo]; };
   ineq = derive2 { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
   ineqJD = derive2 { name="ineqJD"; version="1.0"; sha256="0anv384jwzn5gkc0jqsl81bkmrjd21br99c5q30xd6ncxavj4s57"; depends=[]; };
-  infer = derive2 { name="infer"; version="0.5.0"; sha256="05h793inpvpi0nijkz9afny00l3mjwws3392hzg9fhvqjf3xddik"; depends=[dplyr ggplot2 glue magrittr purrr rlang tibble]; };
+  infer = derive2 { name="infer"; version="0.5.1"; sha256="0m22bv71hmi3p89p1cx4rjqp7547i4sma8nl12qjvq1d4955lf28"; depends=[dplyr ggplot2 glue lifecycle magrittr purrr rlang tibble]; };
   inference = derive2 { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
   inferference = derive2 { name="inferference"; version="1.0.0"; sha256="1x6i8ycba9z57m1n143p1j9pmlfrhjhi4iw0fsny8xmcvqrlr85p"; depends=[Formula lme4 numDeriv]; };
   inferr = derive2 { name="inferr"; version="0.3.0"; sha256="1z5bfq0gv1h6iw8nwc19ar6f2sgsvgs3ghq52s09wclqk2yy4azz"; depends=[dplyr magrittr purrr Rcpp rlang shiny tibble tidyr]; };
@@ -8869,30 +9051,33 @@ in with self; {
   infra = derive2 { name="infra"; version="0.1.2"; sha256="0jycnnmrrjq37lv67xbvh6p63d6l4vbgf3i1z9y7r75d6asspzn1"; depends=[]; };
   infraFDTD_assist = derive2 { name="infraFDTD.assist"; version="0.6"; sha256="04j5nl5vxk79iciz6s9bpiyn319c2dbh7fdahgwira2r30w2fxv9"; depends=[fields]; };
   infutil = derive2 { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; };
-  ingredients = derive2 { name="ingredients"; version="0.3.9"; sha256="1w6hz0wjas3p5qkn21wksp8m1rmmpfihjs3gfqajm182y3yrcyyz"; depends=[DALEX ggplot2 glmnet scales]; };
+  ingredients = derive2 { name="ingredients"; version="0.4"; sha256="1sak7y80aq9blhr3gkxjdvfvpv49z39c40pl6gnh688qrlzz4csx"; depends=[DALEX ggplot2 gridExtra scales]; };
   ini = derive2 { name="ini"; version="0.3.1"; sha256="04yqij344dwm0xqgara8xia42mlmij3i8711qbb5534w05a1l6bv"; depends=[]; };
   injectoR = derive2 { name="injectoR"; version="0.2.4"; sha256="0sa32cspp6y3m04yfmd02kxx55mk7l9jxf4r9pk1a6k3sqnj6fl8"; depends=[]; };
   inlabru = derive2 { name="inlabru"; version="2.1.12"; sha256="0ry32hsf9f4hd1jka51d7jbxlalhknwnc3zj9i9bggx38bb9w9fg"; depends=[ggplot2 Matrix rgdal rgeos sp]; };
   inline = derive2 { name="inline"; version="0.3.15"; sha256="0s4wssvpan189fijahknxq5s22ww9bzmdlmyhnra748r7khky17z"; depends=[]; };
   inlmisc = derive2 { name="inlmisc"; version="0.4.8"; sha256="1zgpc4rfbx7l4hlaav3fyl68gd7xj8ff2fj1k4xy98jafi9j86mg"; depends=[checkmate data_table GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos rmarkdown scales sp tinytex xtable yaml]; };
+  inops = derive2 { name="inops"; version="0.0.1"; sha256="1y402a9r542hpwd1nfdc07mbgnf9alpnykl9di1v8fy0qly8s0an"; depends=[]; };
   inpdfr = derive2 { name="inpdfr"; version="0.1.8"; sha256="1xscrqkwl15l5r1sik6mnhzl868s9yxscm74sp740n3107md92hx"; depends=[ca cluster entropart metacom R_devices RColorBrewer SnowballC stringi tm wordcloud]; };
   inplace = derive2 { name="inplace"; version="0.1.0"; sha256="1lmvfjxgficlzxbn953wvfa1n9lys9gqprix6zbqqr4d6vkm0srj"; depends=[Rcpp]; };
   insect = derive2 { name="insect"; version="1.2.0"; sha256="0lbck8jbhymzkhm1iqd2y2xg8a26yjizw7x31b1l1kqc1l0p3kmv"; depends=[ape aphid kmer openssl phylogram RANN seqinr xml2]; };
   insideRODE = derive2 { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve lattice nlme]; };
-  insight = derive2 { name="insight"; version="0.5.0"; sha256="0lrh2l9n2zd9n3zzknsxz6nlasnrayx3bplxlz7m616g56gr5nfp"; depends=[]; };
+  insight = derive2 { name="insight"; version="0.7.1"; sha256="0scjmr8qvwaswb9wfq2lxp1v5fl72way8cid9agrf0z1agp0adad"; depends=[]; };
   insol = derive2 { name="insol"; version="1.2"; sha256="14ikz05375pjn9hby7kwkhcnykjilbnkdy5i8lsl7c5qdbhmqcm5"; depends=[raster rgdal]; };
-  inspectdf = derive2 { name="inspectdf"; version="0.0.6"; sha256="1073yw26178f9ndx62wgqipim1irrdavka0p86m9c2q54cm13w1s"; depends=[dplyr ggfittext ggplot2 magrittr progress Rcpp tibble tidyr]; };
+  inspectdf = derive2 { name="inspectdf"; version="0.0.7"; sha256="03yli2fiyb3kw189aga9hiyxm9f9b2lhpx1cjv9silfgm0xj54lh"; depends=[dplyr ggfittext ggplot2 magrittr progress Rcpp tibble tidyr]; };
   inspectr = derive2 { name="inspectr"; version="1.0.0"; sha256="04rpr5ajpdx1d49y327dryxwxk27yljj4c96i9qglf02i9kmplkg"; depends=[openxlsx]; };
   instaR = derive2 { name="instaR"; version="0.2.4"; sha256="0c4m471ragkpksr0h21cdgnjxcknf01xqz543dahxgzjg9ncjwhg"; depends=[httr jsonlite]; };
   install_load = derive2 { name="install.load"; version="1.2.1"; sha256="148q0rjal5hfcb8ilxzd1bz38mn8vxqrsfg5x4jy48psk00fk3d9"; depends=[]; };
   insuranceData = derive2 { name="insuranceData"; version="1.0"; sha256="0wryh8i1v3bnpbqn6d6dpxr9bwwl6mnh5cb5igz0yanh4m1rx96w"; depends=[]; };
-  insurancerating = derive2 { name="insurancerating"; version="0.4.2"; sha256="16z129jhyr85riiki78f0l864j91fpikgkphkjf1qz4nc66r1p08"; depends=[classInt evtree ggplot2 mgcv stringr]; };
+  insurancerating = derive2 { name="insurancerating"; version="0.4.3"; sha256="0m4ndbyinmqd1207qmw796zm7xs10bqyc5k3pqvvjy765fcni95k"; depends=[classInt data_table evtree ggplot2 lubridate mgcv stringr]; };
   intRegGOF = derive2 { name="intRegGOF"; version="0.85-5"; sha256="0xjq8vdlgqlzrvp752gd4qfrpnpapx7k6xzfsvfril8ngvm9a162"; depends=[]; };
   intRvals = derive2 { name="intRvals"; version="1.0.0"; sha256="0391raj5wq6issvzqm8bfnv1ap2hh5nfsqi9r1x5ss37fvcq5fjm"; depends=[lme4 plyr]; };
   intamap = derive2 { name="intamap"; version="1.4-9"; sha256="060sghkqsdrxpa340rvjskh2wafdkffa5q8nlbg1msnsmk639lkn"; depends=[automap doParallel evd foreach gstat MASS mvtnorm rgdal sp]; };
   intamapInteractive = derive2 { name="intamapInteractive"; version="1.1-12"; sha256="1h8kzinfpp2rwal11xqs9g99rmigs0jlsr5h0qh0zsill73minid"; depends=[automap gstat intamap rgdal sp spatstat spcosa]; };
-  intccr = derive2 { name="intccr"; version="1.1.4"; sha256="0a7g5jymalv282x5znwgza1z9y8s0qdijnd1al2yilqz1jwb9bmc"; depends=[alabama doParallel foreach numDeriv]; };
+  intccr = derive2 { name="intccr"; version="2.0.0"; sha256="0861skkr9rlldlck1r5gv206s7wlx06bg4hgfqfbwqfih83r5zpz"; depends=[alabama doParallel foreach MASS]; };
   intcensROC = derive2 { name="intcensROC"; version="0.1.1"; sha256="0qkgp6iw2s772zk2533jsar64f5mqgy4874swgarnfgd4jvkwy2k"; depends=[pracma Rcpp RcppEigen]; };
+  intdag = derive2 { name="intdag"; version="1.0.1"; sha256="0mb0a1ccc67clfa75b4hl901zdmx7fxw713c4ybx3i5wc2ldl8ph"; depends=[]; };
+  intePareto = derive2 { name="intePareto"; version="0.0.1"; sha256="0mynqvmdb39zqx1z2y6bscfjkwf880b7pd149xsdbc6f49hlnfw6"; depends=[apeglm biomaRt DESeq2 GenomeInfoDb GenomicAlignments GenomicRanges IRanges rPref Rsamtools]; };
   integIRTy = derive2 { name="integIRTy"; version="1.0.6"; sha256="0nyp9nixwyz1n2nydkh64lmd5z4qjcabwa1pyzv69rgw5gx60020"; depends=[abind doParallel foreach ltm MASS mclust]; };
   integr = derive2 { name="integr"; version="1.0.0"; sha256="172vj29bdk42ibgwj7dl06wslpg2dccp1i8iscbz1yd0j5kw36sq"; depends=[DiagrammeR DiagrammeRsvg dplyr gtools rsvg]; };
   intensity_analysis = derive2 { name="intensity.analysis"; version="0.1.6"; sha256="1ydmn7njqk6i2667zaha8mvfndss4im39czadg1f3z6sndp2lsji"; depends=[diffeR ggplot2 raster reshape2 rgdal]; };
@@ -8900,7 +9085,7 @@ in with self; {
   interactionTest = derive2 { name="interactionTest"; version="1.2"; sha256="0ycr839l07xahakr4r2jvlmd0fcxfm4qi3g8agnyh24c2kwl3ck2"; depends=[]; };
   interactions = derive2 { name="interactions"; version="1.1.1"; sha256="0xsqsylfgqgdy7bh32v8x0yn5naf1jclv05dvpyvhladgd0q1c0m"; depends=[cli crayon generics ggplot2 jtools rlang tibble]; };
   intercure = derive2 { name="intercure"; version="0.1.0"; sha256="0j71dqcbcfl1zpfidh3xys5h3ggyhrzq3avkdm9v18pv464x8xlv"; depends=[foreach iterators MASS Matrix survival]; };
-  interep = derive2 { name="interep"; version="0.2.0"; sha256="18f5qkfq3rcr4n2vpdp4xp56cbg5z30cpk6wdchh64gly6g28bi0"; depends=[Rcpp RcppArmadillo]; };
+  interep = derive2 { name="interep"; version="0.3.0"; sha256="03a51vambjl7gwxk43k47iff65lc6xs66vmkiw3dhxjr3b3nxrh8"; depends=[MASS Rcpp RcppArmadillo]; };
   interferenceCI = derive2 { name="interferenceCI"; version="1.1"; sha256="19ky10nn6ygma6yy5h1krxx61aikh3yx5y39p68a944mz8f72vsn"; depends=[gtools]; };
   interflex = derive2 { name="interflex"; version="1.0.8"; sha256="117bq8cid36v6d2lrcywv5xqh6wm2z0fj9hwkjzwqhfkd8qhpq0a"; depends=[doParallel foreach ggplot2 lfe Lmoments lmtest mgcv pcse Rcpp RcppArmadillo sandwich]; };
   interfr = derive2 { name="interfr"; version="0.1.0"; sha256="1wn7i8dsll1qq3v39hgpbqnkjc8f4wlffy73453rw9lpq61y2fgj"; depends=[CircStats colorSpec plotrix]; };
@@ -8910,7 +9095,8 @@ in with self; {
   interlineaR = derive2 { name="interlineaR"; version="1.0"; sha256="0y1ym6iwly8sv94pdzwv2qy1g7z4hpqlrbcrpb1ds5a62a6axqj5"; depends=[reshape2 xml2]; };
   internetarchive = derive2 { name="internetarchive"; version="0.1.6"; sha256="1cx9dxlrdz1xak4jrrjs2wsq6ml8n2xl0n0s6n9h3g247j4lfvnm"; depends=[dplyr httr]; };
   interp = derive2 { name="interp"; version="1.0-32"; sha256="10ccsyz9wy31mdf58g7drifnb2zpbzcpk6pbffqxa6b0yxrmfwsa"; depends=[deldir Rcpp RcppEigen]; };
-  interplot = derive2 { name="interplot"; version="0.2.1"; sha256="0kg17g12dccs6imdqkyagm3zqziah4hvlba72irpck03w6z4sdb3"; depends=[abind arm dplyr ggplot2 gridExtra interactionTest purrr]; };
+  interplot = derive2 { name="interplot"; version="0.2.2"; sha256="10licnz1x97ky7plq3j5gf23lg14jcx7bavv9mwib7p39ls5lagq"; depends=[abind arm dplyr ggplot2 gridExtra interactionTest purrr]; };
+  interpret = derive2 { name="interpret"; version="0.1.23"; sha256="06m35dmd029rrj762nqgxs6kj3zsz9k1b92idzyak1498i15xpxp"; depends=[]; };
   interpretR = derive2 { name="interpretR"; version="0.2.4"; sha256="0nfh3pyr7nn0r41xk0mfb4fs5rjkbh43lbw14x7pdmbgzpgsc22c"; depends=[AUC randomForest]; };
   interval = derive2 { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[Icens MLEcens perm survival]; };
   intervals = derive2 { name="intervals"; version="0.15.1"; sha256="1r2akz8dpix1rgvdply4r3m2zc08r0n96w9c97hma80g61a3i2ws"; depends=[]; };
@@ -8942,6 +9128,7 @@ in with self; {
   iosmooth = derive2 { name="iosmooth"; version="0.94"; sha256="06xgzhjgb6pznjzfli193q7kn8sh5jmqsssgymwj98bw7iwn4q3z"; depends=[]; };
   iotables = derive2 { name="iotables"; version="0.4.2"; sha256="1ds6j8x965fc2j11r507ljqwcaam0zz5q2vkhq9gkl53fjfgajlk"; depends=[dplyr eurostat forcats kableExtra knitr lubridate magrittr plyr purrr readxl tibble tidyr]; };
   iotools = derive2 { name="iotools"; version="0.2-5"; sha256="0rn6kvlcijnhlwajh6nmi80qlamxgz0x3pn09yp4hyfpl3zxg1fz"; depends=[]; };
+  ip2location = derive2 { name="ip2location"; version="8.0.0"; sha256="1rhy3jlcl4hcynhjgy3gjx9g9kyn30gq1jwfpll23jixvmrx64by"; depends=[jsonlite reticulate stringr]; };
   ipc = derive2 { name="ipc"; version="0.1.3"; sha256="10h54j83l7khk1lkpdwn6hwaz31i3v6svg4q1lxzvr2aqdsj7hy0"; depends=[R6 shiny txtq]; };
   ipcwswitch = derive2 { name="ipcwswitch"; version="1.0.3"; sha256="1pqlfkglgsahzsw7z9wsx7k0i9n0kx77g9p1j7i9dz7j74s6g09r"; depends=[survival]; };
   ipdmeta = derive2 { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; };
@@ -8956,11 +9143,13 @@ in with self; {
   ipred = derive2 { name="ipred"; version="0.9-9"; sha256="0vs1hqfx7yd0xdbmfsf2gim7spkni0845cj6gswn0nhdfdq7ma0d"; depends=[class MASS nnet prodlim rpart survival]; };
   iprior = derive2 { name="iprior"; version="0.7.3"; sha256="15qzqwikxy85fcd7psz363b5wb0kpi85icfyb47hbgdhln8fi2qb"; depends=[doSNOW foreach ggplot2 mvtnorm Rcpp RcppEigen reshape2 scales]; };
   ips = derive2 { name="ips"; version="0.0.11"; sha256="02jxanfhsjrabj33nwjv71vdc87hiyzikyqrfdj9ix6dky6lm199"; depends=[ape phangorn plyr seqinr XML]; };
-  iptmnetr = derive2 { name="iptmnetr"; version="0.1.5"; sha256="02lljbbr2sm90sgyjv6a17mbh758n93qqxfr900g0m557nsv35i8"; depends=[httr jsonlite]; };
+  iptmnetr = derive2 { name="iptmnetr"; version="0.1.6"; sha256="1hahsmb9lk8ml1z8yfin2qswb2rskqbdzf3ndzddqyixf585vsaa"; depends=[httr jsonlite]; };
   iptools = derive2 { name="iptools"; version="0.6.1"; sha256="143gawwp3aja5vycl43n6x5hzg3yvagi8x10v9y92hkif9v075qq"; depends=[AsioHeaders BH Rcpp readr stringi triebeard]; };
   ipumsr = derive2 { name="ipumsr"; version="0.4.2"; sha256="1y1s1grmfkaax04i9ig57lv1l64hcwdn420kv1w51f3jh28hbdgg"; depends=[cli crayon dplyr haven hipread pillar purrr R6 raster Rcpp readr rlang tibble tidyselect xml2 zeallot]; };
   ipw = derive2 { name="ipw"; version="1.0-11"; sha256="11a34j6lp329ran2r9kxn8184kfmibkdig74lsy6lj4w4w0d71cm"; depends=[geepack MASS nnet survival]; };
+  ipwCoxCSV = derive2 { name="ipwCoxCSV"; version="1.0"; sha256="0avnvf4pnpxnik3iwwglpwkc8h0vsx9v6fxldkbvq7l9bphdbba1"; depends=[survival]; };
   ipwErrorY = derive2 { name="ipwErrorY"; version="2.1"; sha256="14p22mwc120kdlf6r1hfx4kp7nqrz2nl2vpvy45j8rbrc571b6ka"; depends=[nleqslv]; };
+  iq = derive2 { name="iq"; version="1.1"; sha256="0i0i9xc0mdz026gg3iqyyjplvn8b3di045j3h6iiis2gwjswi6pr"; depends=[]; };
   iqLearn = derive2 { name="iqLearn"; version="1.5"; sha256="1zn43zvx0mjzh96bm73scacmladamy8jmhxim7hcfq39cfhiw3c8"; depends=[]; };
   irace = derive2 { name="irace"; version="3.3"; sha256="040d1cl8q5hmcji66bvgvm9wb8w6v7xzfsggbrar8490s9ldjhj4"; depends=[]; };
   ircor = derive2 { name="ircor"; version="1.0"; sha256="07apa4l4ib11xw25d44b403s3la29sqlid13q41hjrlfxafm91ld"; depends=[]; };
@@ -8974,7 +9163,7 @@ in with self; {
   irtDemo = derive2 { name="irtDemo"; version="0.1.4"; sha256="0rpwryybnj7b4bxn0mn1m496y85s2fpqdd78lmdl6jg1ck4j4pb3"; depends=[fGarch shiny]; };
   irtProb = derive2 { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
   irtoys = derive2 { name="irtoys"; version="0.2.1"; sha256="0h6iiaxikhbxhbyksbjnb09qdxinlkwr2v9yzs5wslbni14paq5q"; depends=[ltm sm]; };
-  irtplay = derive2 { name="irtplay"; version="1.1.0"; sha256="0wln9fw36j659k8dvk0kq63nhi39nxbsaym79wrfk0xl56c76ln3"; depends=[dplyr ggplot2 gridExtra pbapply purrr reshape2 rlang statmod tidyr]; };
+  irtplay = derive2 { name="irtplay"; version="1.3.0"; sha256="1lix9j9xnid0npxmjyjk79an2jfcjf0k109d05cv5hv02813kj23"; depends=[dplyr ggplot2 gridExtra pbapply purrr reshape2 rlang statmod tidyr]; };
   irtrees = derive2 { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
   irtreliability = derive2 { name="irtreliability"; version="0.1-1"; sha256="15qs8bvgrwajj5kfd57rd34l1p2805ilyd7w60ngrqc14d6az9d2"; depends=[fastGHQuad ltm mirt]; };
   isa2 = derive2 { name="isa2"; version="0.3.5"; sha256="17vm0906szhrh2k5x694vwcfijbzmd1v3axpszfybc0lgds437cv"; depends=[lattice]; };
@@ -9014,9 +9203,10 @@ in with self; {
   itsmr = derive2 { name="itsmr"; version="1.9"; sha256="0dmijaq6q31irwrjqv5gq1yfbgggwb3m6rwbg4lx1r9l3cqays7i"; depends=[]; };
   itunesr = derive2 { name="itunesr"; version="0.1.3"; sha256="1czwkrqy3jqw1x0z5zj2kvp4p11s5zdiswwhx9jfxdcsg86zhr45"; depends=[curl jsonlite lubridate xml2]; };
   iva = derive2 { name="iva"; version="0.1.0"; sha256="0dchb263ygilxapwsw2gpl18z12wcjsz8zz5fg7h068hmcysa88g"; depends=[Formula ucminf]; };
+  ivdesc = derive2 { name="ivdesc"; version="1.0.0"; sha256="134dia4wwg7pazc92ccsb3pmsp9kpszr3j5ziyh0ld53qdmcsmz3"; depends=[knitr purrr rsample]; };
   ivfixed = derive2 { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
   ivmodel = derive2 { name="ivmodel"; version="1.7.1"; sha256="0v8alqn141s9rymk29xqmdx7gpp8ivz4525afvarxmp9sm2rqq0q"; depends=[Formula ggplot2 Matrix reshape2]; };
-  ivmte = derive2 { name="ivmte"; version="1.0.1"; sha256="12gr4b4l85q3n9j0j4hxq8203jp8lzgy33ifgq9grkyyimkfc5fa"; depends=[Formula polynom]; };
+  ivmte = derive2 { name="ivmte"; version="1.1.0"; sha256="0a7m04n7lyqykfix0shjhbgnl502zlyigxb997v8wbmx9sx2vk56"; depends=[Formula]; };
   ivpack = derive2 { name="ivpack"; version="1.2"; sha256="0cr5acjrn41d3q0b77hlg2jmsbf1msvys9gcavm1blsryg2bc03c"; depends=[AER lmtest sandwich]; };
   ivpanel = derive2 { name="ivpanel"; version="1.0"; sha256="0irjmkw3nnd8ssidvj23lr0hihlhd9acsbaznh88lknx53ijc2qv"; depends=[Formula]; };
   ivprobit = derive2 { name="ivprobit"; version="1.1"; sha256="05b5gf5gmi2yrkg61n7w12qlgpnjakd1z8hhqxy6py8hahsf84gm"; depends=[Formula]; };
@@ -9026,9 +9216,10 @@ in with self; {
   jSDM = derive2 { name="jSDM"; version="0.1.0"; sha256="0lkapg6v5lh53vnsg5hcr9qis8qimb6ilds23dqcyhi6w3dys9nb"; depends=[coda corrplot Rcpp RcppArmadillo RcppGSL]; };
   jSonarR = derive2 { name="jSonarR"; version="1.1.1"; sha256="054q3ly471xa64yyz2as6vkr440ip1y8n5wl6s3zbhqy3bqkdqif"; depends=[jsonlite RCurl]; };
   jaatha = derive2 { name="jaatha"; version="3.2.1"; sha256="0zqvylknvymggw5jl40cfyahfjy64wb25f0qymh78xbamv1hc85w"; depends=[assertthat R6]; };
+  jabr = derive2 { name="jabr"; version="0.1.0"; sha256="0c8ihffwgj14phbl51cabk2jcnnxipqlbsxq73yvg57a8vj6yj24"; depends=[ckanr dplyr glue httr magrittr purrr rappdirs rlang stringr tibble tidyr]; };
   jaccard = derive2 { name="jaccard"; version="0.1.0"; sha256="1dmla6qc1k8iw2d7zfjqhf13gqd2lpsrj09yh47ljf994fpab936"; depends=[dplyr magrittr qvalue Rcpp]; };
   jack = derive2 { name="jack"; version="1.1.1"; sha256="1mp7cfmh3bzfansb3dyqq347qk6kkf4ndn23pbd78h1xcb54555b"; depends=[DescTools gmp multicool mvp partitions]; };
-  jackalope = derive2 { name="jackalope"; version="0.1.2"; sha256="0mjlilsjh8y3rwskqa1xqhdz4f2za1a25jvhl4d3j54rc6ldkj0k"; depends=[ape R6 Rcpp RcppArmadillo RcppProgress Rhtslib zlibbioc]; };
+  jackalope = derive2 { name="jackalope"; version="1.0.0"; sha256="1v2n8ip0nfrdpd263yvr9jnmz9yx9m76vdwds18wj8504y95fzcv"; depends=[ape R6 Rcpp RcppArmadillo RcppProgress Rhtslib zlibbioc]; };
   jackknifeKME = derive2 { name="jackknifeKME"; version="1.2"; sha256="0c5shl6s46kz7a623gccqk2plrrf2g29nwr6vbny6009pq3jvzam"; depends=[imputeYn]; };
   jackstraw = derive2 { name="jackstraw"; version="1.3"; sha256="02qcaf2p0fyni6n2zhd7vp65kniz74di0pf5jzz79jwj15cfd1b0"; depends=[cluster ClusterR corpcor irlba lfa qvalue rsvd]; };
   jacpop = derive2 { name="jacpop"; version="0.6"; sha256="0kq6rn33civ2g6i5nwfqvcgmnn5k2dwmw60lkmz4ywm0y4xxlkai"; depends=[]; };
@@ -9056,46 +9247,45 @@ in with self; {
   jmdem = derive2 { name="jmdem"; version="1.0"; sha256="1qz2l02m4gnxrm1ankr5qqlskl8amphzj8r763yas218fvzfa34q"; depends=[statmod VGAM]; };
   jmdl = derive2 { name="jmdl"; version="0.3.0"; sha256="0167yj368lh1n79jwbqs4g2asb67hfmgh97519linmfpx0n6xdpa"; depends=[boot Formula MASS minqa mnormt mvtnorm]; };
   jmetrik = derive2 { name="jmetrik"; version="1.1"; sha256="1if1kxx8apgkbxpkjnlj2lpsfnyj2splsg1p3j5vxa7q6wx70f9j"; depends=[]; };
-  jmotif = derive2 { name="jmotif"; version="1.0.3"; sha256="1llmrksajrd35kfdzq2vqfm17yv5kwark6gz3rvyzcmbrqk5spqv"; depends=[Rcpp RcppArmadillo]; };
   jmuOutlier = derive2 { name="jmuOutlier"; version="2.2"; sha256="1vj9n1hsf780f7l0a22kmi3qm84j4dzjybjkh5zwh6bhwfjnjws3"; depends=[]; };
-  jmv = derive2 { name="jmv"; version="0.9.6.1"; sha256="10b59415wb48k2wv2n74v89acgj843qk4pp0jkpns6nhymw41m0q"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
+  jmv = derive2 { name="jmv"; version="1.0.8"; sha256="0h62kmg7z08a5kz4fyz0l1s1hx6i8p75xm5k2pq80jryd6nk3xkg"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
   jmvconnect = derive2 { name="jmvconnect"; version="1.0.9"; sha256="1x74zwnp3cdwqsv7djnqcv6k0nrf7v7ng6pk79lzninbssm24sr1"; depends=[BH evaluate httr jmvcore rappdirs Rcpp]; };
-  jmvcore = derive2 { name="jmvcore"; version="1.0.0"; sha256="1agwzmd24b22x303dpmb5qjbzsrxp287n52c7iavzx42sfishayi"; depends=[base64enc R6 rjson rlang stringi]; };
+  jmvcore = derive2 { name="jmvcore"; version="1.0.8"; sha256="11g6cmiw6l3xkppm6xz1k2lm6xl69ll2av9vn755ngbvf09fgywn"; depends=[base64enc R6 rjson rlang stringi]; };
   jocre = derive2 { name="jocre"; version="0.3.3"; sha256="1i9n3r16pq6r4sy3fc1rxpil5ws8v2is0xdxafinvwr1hzkv1gz6"; depends=[boot KernSmooth plyr TSP]; };
   joinXL = derive2 { name="joinXL"; version="1.0.1"; sha256="1l76bckjz5r1kdsh0s10i0gpca12rkfkp14346fn7avdcw73v23i"; depends=[data_table openxlsx R_utils rChoiceDialogs Rcpp readxl rJava timeDate timeSeries]; };
   joineR = derive2 { name="joineR"; version="1.2.4"; sha256="05wr7gr3mnsfj8a1m5v1b71gh3fc4pyhj6rqapls7iwrkywbf1b6"; depends=[lattice MASS nlme statmod survival]; };
   joineRML = derive2 { name="joineRML"; version="0.4.2"; sha256="06a7iicq3fngsmmi8qcz2fdzdzvym5s70s3aaqlzxnl4sj9km3g2"; depends=[cobs doParallel foreach ggplot2 lme4 MASS Matrix mvtnorm nlme randtoolbox Rcpp RcppArmadillo survival]; };
   joineRmeta = derive2 { name="joineRmeta"; version="0.1.1"; sha256="0d9wwb3v43v30xjy67j366mhwixzz79bm67j01fqmcdsnmn3qpjn"; depends=[ggplot2 gridExtra gtools JM joineR lme4 MASS Matrix meta msm nlme statmod survival]; };
-  joinet = derive2 { name="joinet"; version="0.0.2"; sha256="16jzx1jdxig6i5qq313n261h0mnq3jyzr8dcxzpkdq2ckxqr9gbi"; depends=[cornet glmnet palasso]; };
-  joint_Cox = derive2 { name="joint.Cox"; version="3.6"; sha256="161szy444p1yg21d9r76s3ibwmni8ydsh8frvwjjy9qp8nzcvqd1"; depends=[survival]; };
+  joinet = derive2 { name="joinet"; version="0.0.3"; sha256="01rql7nidmzhrz6agy5kphsln5nl4lpyrqdrfmf5w98zjr8yqkpr"; depends=[cornet glmnet palasso]; };
+  joint_Cox = derive2 { name="joint.Cox"; version="3.7"; sha256="1h9cqmly5rrrqvxzkx5fxjaqzks9hpvb2ggaw8b5rn67wbyblrl9"; depends=[survival]; };
   jointDiag = derive2 { name="jointDiag"; version="0.3"; sha256="0pra70jcnkqkzrxz5vc6lzi637rp5w8n9wbv9ix718vnd0j3fm3n"; depends=[]; };
   jointMeanCov = derive2 { name="jointMeanCov"; version="0.1.0"; sha256="1cai5g63n11dirn9fldzkqxcnkxc20ndr9ygrr9rk0s1qz8x63pb"; depends=[glasso]; };
   jointNmix = derive2 { name="jointNmix"; version="1.0"; sha256="0ibh7hqkpzlfk3bk4d2dd64jhr8cvw563k082vwnljiam7k5nj4b"; depends=[]; };
   jointPm = derive2 { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
   jointseg = derive2 { name="jointseg"; version="1.0.2"; sha256="0zilkxk30w3l9mwikmsgvpy5misjggs98c3bjrjy1pfc4b0is943"; depends=[acnr DNAcopy matrixStats]; };
-  jomo = derive2 { name="jomo"; version="2.6-9"; sha256="16ychdhhv8cii8zrdfdf5gzgnvmfaq573bmi00xqdf323q3lf3xr"; depends=[lme4 MASS ordinal survival]; };
+  jomo = derive2 { name="jomo"; version="2.6-10"; sha256="1k9l4290g350zbw1pjs871q9bxj3j2h1dilxpp06v4wy4n7d8qs0"; depends=[lme4 MASS ordinal survival]; };
   josaplay = derive2 { name="josaplay"; version="0.1.3"; sha256="0q6kjk3mjxwbqvq3zz0ylpi1viznp9pxzngqpjzv5sibv0ndh0lf"; depends=[magrittr utf8]; };
   jose = derive2 { name="jose"; version="1.0"; sha256="1yna3x4hi0vn23dqi605nn1y313brwh2wcv527bm3mdbscgsi2jf"; depends=[jsonlite openssl]; };
-  jpeg = derive2 { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
+  jpeg = derive2 { name="jpeg"; version="0.1-8.1"; sha256="1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"; depends=[]; };
   jpmesh = derive2 { name="jpmesh"; version="1.1.3"; sha256="0ybv19bmrcwzan151p4px0vv6qnaqmk4fgqvqlh4syjnrb6xv0c5"; depends=[leaflet magrittr miniUI purrr rlang sf shiny tibble units]; };
   jpndistrict = derive2 { name="jpndistrict"; version="0.3.4"; sha256="1z1rgqibksxrz0048zk78xlsm595jbm3y6xkrqcifm1xnqgh1fys"; depends=[dplyr jpmesh leaflet magrittr miniUI purrr rlang sf shiny tibble tidyr tidyselect]; };
   jqr = derive2 { name="jqr"; version="1.1.0"; sha256="00x5a61bsn2ywzc2haz19f6h0sqhlx7z3k1n9y0729dwm4id89ms"; depends=[lazyeval magrittr]; };
-  jrc = derive2 { name="jrc"; version="0.2.0"; sha256="0rz32341najd7jyd8lkjf13g66a0kqdx5xa0a898wpq2g1lxi32c"; depends=[httpuv jsonlite stringi stringr]; };
+  jrc = derive2 { name="jrc"; version="0.2.1"; sha256="1izyl787p3n36mrsk3bz16lxykf29140w7cj7mk0lg03qa8fx3cd"; depends=[httpuv jsonlite mime stringi stringr]; };
   jrich = derive2 { name="jrich"; version="0.60-35"; sha256="1y486bfqmfg3f22wm0lfk3lh20ljgi8qrgn5jji0f417wh48nf0x"; depends=[ape]; };
   jrt = derive2 { name="jrt"; version="1.0.1"; sha256="023i0xqz8mhnjnii92vjw64mjnnlf8jaji99i4c2vxcr7m83jm0r"; depends=[directlabels dplyr ggplot2 ggsci irr mirt psych tidyr]; };
   jrvFinance = derive2 { name="jrvFinance"; version="1.4.1"; sha256="1gkivmvc0njm32w7yhbh02h9p212xa3m4cvrwcy7yray8g6phdxp"; depends=[]; };
   js = derive2 { name="js"; version="1.1"; sha256="1xsdr14k4djcd1nqybvfzhviics4igsj8yz3r0j2nqhin2wjynlf"; depends=[V8]; };
   jsTree = derive2 { name="jsTree"; version="1.0.1"; sha256="0n754illyw29bprll676k9qm5vk5h8qss6gb8lls57kdzj51x2jz"; depends=[data_table htmlwidgets jsonlite]; };
-  jskm = derive2 { name="jskm"; version="0.3.7"; sha256="006k7prql4i18pbjksy4k16mlv1j288gc9l3b5l5j8m3xh70n8cp"; depends=[ggplot2 gridExtra plyr scales survey survival]; };
-  jsmodule = derive2 { name="jsmodule"; version="1.0.1"; sha256="0sga88gdgn7dnafamnqba6iqlmbwgz0cgk4l17fv17qz1va2lsz7"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 haven Hmisc jskm jstable labelled MatchIt maxstat pROC purrr RColorBrewer readr readxl rstudioapi see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival tableone timeROC]; };
+  jskm = derive2 { name="jskm"; version="0.3.8"; sha256="1z420lx4ayn19k8d13p4ii8r035jingli618mpfjl3wk95hzigqf"; depends=[ggplot2 gridExtra plyr scales survey survival]; };
+  jsmodule = derive2 { name="jsmodule"; version="1.0.4"; sha256="1b81k4kgx0bzwdvq777gfj36mhw1832fbb8bijx6np2w46z1xkyg"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 haven Hmisc jskm jstable labelled MatchIt maxstat pROC purrr RColorBrewer readr readxl rstudioapi see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival tableone timeROC]; };
   json64 = derive2 { name="json64"; version="0.1.3"; sha256="19q8qgf4wnd3np12ajy180klpjy0g2csw5micwb4sl7qfzl6wc7j"; depends=[jsonlite]; };
-  jsonify = derive2 { name="jsonify"; version="0.2.1"; sha256="1jrc7w9i0riy6ls18d127i5ac6wlpc03n01bw74kkrwl4f6f17fn"; depends=[BH rapidjsonr Rcpp]; };
+  jsonify = derive2 { name="jsonify"; version="1.0.0"; sha256="0cxdbihcl4w43gvskjw420i6dm689jcydp2dzc371152ysdsjjzd"; depends=[BH rapidjsonr Rcpp]; };
   jsonld = derive2 { name="jsonld"; version="2.1"; sha256="0lp0lp9nbk31dia2nq6xba29ymak9h5wl4zbq4pdqw6qm9iwz6ww"; depends=[curl jsonlite V8]; };
   jsonlite = derive2 { name="jsonlite"; version="1.6"; sha256="0lyvhnr6n57h3a89bvipii7x17nvfaycm9j5j50bfrlr48jv9ic8"; depends=[]; };
   jsonstat = derive2 { name="jsonstat"; version="0.0.2"; sha256="0p0d3snl1971p5ikrkmwqrjjh4fy0b89qk3rnd1dayfb0r80xnnj"; depends=[cli dplyr jsonlite rlang]; };
   jsonvalidate = derive2 { name="jsonvalidate"; version="1.1.0"; sha256="1vxklvkva547mzbgi7hll46sfx274c6j4m70algygphz783x3dsx"; depends=[V8]; };
   jsr223 = derive2 { name="jsr223"; version="0.3.3"; sha256="0i00nbsj6b4mx9pgp5rana1kj57hi4lz3lsiniv7baz5avmhp65n"; depends=[curl jdx R6 rJava]; };
-  jstable = derive2 { name="jstable"; version="0.8.6"; sha256="0gklfmz4jvxnqb1riijhyz65bj6n53kc3kjmbi17acan0s7bvl01"; depends=[car coxme data_table dplyr geepack labelled lme4 magrittr purrr survey survival tableone tibble]; };
+  jstable = derive2 { name="jstable"; version="0.9.0"; sha256="1qfqz6lisl6pksxfb0anqcm4m01ljr2nscz2f1agcpimrwlcmgvr"; depends=[car coxme data_table dplyr geepack labelled lme4 magrittr purrr survey survival tableone tibble]; };
   jstor = derive2 { name="jstor"; version="0.3.7"; sha256="0if7ngqs9ncnkg9kiag3k51ipxiyrkaqm7lzmvp84hysqq8536jc"; depends=[cli crayon dplyr furrr magrittr pryr purrr readr rlang stringr tibble tidyr xml2]; };
   jtGWAS = derive2 { name="jtGWAS"; version="1.5.1"; sha256="06cgsncgrqslxcc7s0lb3zwa85bhzkmjzz3f04716xpzwa186vxq"; depends=[Rcpp]; };
   jtools = derive2 { name="jtools"; version="2.0.1"; sha256="03c3nii7il8wjdpv99xqlbpf12hjpw7ni4vdqxmkffybra6c97nx"; depends=[crayon ggplot2 magrittr pander pkgconfig rlang tibble]; };
@@ -9120,11 +9310,11 @@ in with self; {
   kappalab = derive2 { name="kappalab"; version="0.4-7"; sha256="16bwbwwqmq2w7vy8p3wg0y80wfgc8q5l1ly1mqh51xi240z1qmq0"; depends=[kernlab lpSolve quadprog]; };
   kaps = derive2 { name="kaps"; version="1.0.2"; sha256="0jg4smbq51v88i3815icb284j97iam09pc52rv3izxa57nv9a0gz"; depends=[coin Formula survival]; };
   karaoke = derive2 { name="karaoke"; version="1.0"; sha256="1kx11lijdffhhh8prjgsamshgg2v29b2i129fjqi079waa335352"; depends=[seewave tuneR]; };
-  kayadata = derive2 { name="kayadata"; version="0.4.0"; sha256="0azy6aiwwi1imcw242b8c917qrni52biymgxcicfch0ncr62xrvf"; depends=[dplyr forcats ggplot2 magrittr scales stringr tidyr]; };
+  kayadata = derive2 { name="kayadata"; version="0.4.2"; sha256="198wa3bzvgk97b65v11nnbdw0myyricy0ig4b52n3m5ib9781snm"; depends=[dplyr forcats ggplot2 magrittr scales stringr tidyr]; };
   kazaam = derive2 { name="kazaam"; version="0.1-0"; sha256="0j7vysnmiv9sggcxdn3nrgfvyl52pza4kkjnsa0xlb3fzq9qpwlz"; depends=[pbdMPI]; };
   kcirt = derive2 { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[corpcor mvtnorm snowfall]; };
   kcpRS = derive2 { name="kcpRS"; version="1.0.0"; sha256="067j91rhw56kf15h7hxpm9qr6i59fvy5fh9ycfdqcps83wjgx62x"; depends=[doParallel foreach RColorBrewer Rcpp roll]; };
-  kde1d = derive2 { name="kde1d"; version="0.4.0"; sha256="0sgq85fn5zfdczazq6wb8rgiv7bab6j3zh8gl2bsm1925h8k4x0p"; depends=[BH cctools qrng Rcpp RcppEigen]; };
+  kde1d = derive2 { name="kde1d"; version="1.0.2"; sha256="0m6y1anzl5agb8xpywn2pv6hx4l7k0352bxnzxcs23iksbimxx13"; depends=[BH randtoolbox Rcpp RcppEigen]; };
   kdecopula = derive2 { name="kdecopula"; version="0.9.2"; sha256="0g5c12wm3byd4chd8i9mxv599gsf4ip4qghx83j3mmhsmn05zf4y"; depends=[lattice locfit qrng quadprog Rcpp RcppArmadillo]; };
   kdensity = derive2 { name="kdensity"; version="1.0.1"; sha256="1iinwbyn3d10gsh7i43sm9hf93baqla3gd5s10kiik76r7d97pdc"; depends=[assertthat]; };
   kdetrees = derive2 { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
@@ -9137,7 +9327,7 @@ in with self; {
   kelvin = derive2 { name="kelvin"; version="2.0-0"; sha256="04xdgpmysksm79m3vqmb4zra3pq09nv99w4fbdla1lmy7z8pkdrk"; depends=[Bessel]; };
   kendallRandomWalks = derive2 { name="kendallRandomWalks"; version="0.9.4"; sha256="1mfqblvsn9p6gdcnbypfpzk0xzn6bz1ajbrkz2dap5w35dia3kxa"; depends=[actuar dplyr ggplot2 tibble]; };
   kequate = derive2 { name="kequate"; version="1.6.2"; sha256="08p2dv5swp5458n9sx262s330cj8iy86vr6d8989mjzfys2jyb4q"; depends=[equateIRT ltm mirt]; };
-  keras = derive2 { name="keras"; version="2.2.4.1"; sha256="0zirg7vmlq90fjd4p5mgyyrdfg92az8yc4ynbi9w63a39xl03ys8"; depends=[generics magrittr R6 reticulate tensorflow tfruns zeallot]; };
+  keras = derive2 { name="keras"; version="2.2.5.0"; sha256="14a1mhx95446s8smd4s7adzlmpzx18kqsbgzva4gbya1b48bkw3l"; depends=[generics magrittr R6 reticulate tensorflow tfruns zeallot]; };
   kerasR = derive2 { name="kerasR"; version="0.6.1"; sha256="1yi7710vgcwz0jhishbga41sc6qyk83a0avmq01dvqjsz3cdfsfc"; depends=[reticulate]; };
   kerasformula = derive2 { name="kerasformula"; version="1.5.1"; sha256="1b4mq1y41lz8maszlrm7w907vcz7in8napfnhas7dgal1kid4mcf"; depends=[dplyr ggplot2 keras Matrix]; };
   kerdiest = derive2 { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[chron date evir]; };
@@ -9147,12 +9337,11 @@ in with self; {
   kernelFactory = derive2 { name="kernelFactory"; version="0.3.0"; sha256="001kw9k3ivd4drd4mwqapkkk3f4jgljiaprhg2630hmll064s89j"; depends=[AUC genalg kernlab randomForest]; };
   kernelPSI = derive2 { name="kernelPSI"; version="1.1.0"; sha256="09fdh3zgc13a6i66kw9qmsy8wa7mq7359ym3srf5dzv57hz9x8md"; depends=[CompQuadForm kernlab lmtest pracma Rcpp RcppArmadillo]; };
   kernelTDA = derive2 { name="kernelTDA"; version="0.1.1"; sha256="0rghj0yx32r6565mb06k83qfmnf7lajdhdg2zf8kjd9jyzidqdrn"; depends=[BH mvtnorm Rcpp RcppEigen Rdpack]; };
-  kernelboot = derive2 { name="kernelboot"; version="0.1.5"; sha256="0m31akhya7390lbkw0cjxcrzw28njbz4smd35m93aarb2lgpcj4k"; depends=[future future_apply Rcpp]; };
+  kernelboot = derive2 { name="kernelboot"; version="0.1.6"; sha256="151jksyd316wdlinzikpik9g4x4qnqyl87sg4lbdnzq6w35c5j38"; depends=[future future_apply Rcpp]; };
   kernhaz = derive2 { name="kernhaz"; version="0.1.0"; sha256="1cxwjnfyhxfjdbhs21airycs704jic21pdpsbxsx37wkl11cxpai"; depends=[doParallel foreach GA rgl]; };
-  kernlab = derive2 { name="kernlab"; version="0.9-27"; sha256="1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn"; depends=[]; };
+  kernlab = derive2 { name="kernlab"; version="0.9-29"; sha256="0vqhndl4zm7pvkfvq0f6i9cbrm7pij6kmdp7d7w39pa100x6knn3"; depends=[]; };
   kernplus = derive2 { name="kernplus"; version="0.1.2"; sha256="0z5zpj89nw7cdphg6frmjwqjxsl6g95xsa8zgsxmw2q75wwj1saz"; depends=[circular KernSmooth mixtools]; };
   kernscr = derive2 { name="kernscr"; version="1.0.5"; sha256="1kcj710q8jbc34g6fcv2nk07hpsb81mfx8hvivgxq8x58028gjzs"; depends=[MASS mvtnorm]; };
-  kexpmv = derive2 { name="kexpmv"; version="0.0.3"; sha256="1nx2bpyc06vlr78nhig4zaaygphjp4wqsz9jzhs4qx8wy3kh7rmy"; depends=[Rcpp SparseM]; };
   keyholder = derive2 { name="keyholder"; version="0.1.3"; sha256="0r45wd36bf3ir3j3llcy40w6l8440ncvx3c1f6qvb8zgl4bl6z22"; depends=[dplyr rlang tibble]; };
   keyplayer = derive2 { name="keyplayer"; version="1.0.3"; sha256="0j4n46r9ivkbzqz8g22dq2bpmx7bs05yb5qp27p9jnfh5x19v2ds"; depends=[igraph matpow sna]; };
   keypress = derive2 { name="keypress"; version="1.1.1"; sha256="0w8hcxxx47zyz2cbz2s8va2rfb6s2ziw9ck1slq9kh3aqsx3i9g0"; depends=[]; };
@@ -9162,7 +9351,7 @@ in with self; {
   kfigr = derive2 { name="kfigr"; version="1.2"; sha256="0hmfh4a95883p1a63lnziw8l9f2g0fn0xzxzh36x9qd9nm7ypmkw"; depends=[knitr]; };
   kgc = derive2 { name="kgc"; version="1.0.0.2"; sha256="14zbcimnglh5jj07dcaxp1dfjaz8syswy29nf8z39qmslv1hg9kk"; depends=[plyr shiny shinythemes]; };
   kgschart = derive2 { name="kgschart"; version="1.3.5"; sha256="1gdsrmnv8z99cldvig7grlq8gsbv3wpx7zdamw85lz563n4ln94d"; depends=[abind deepnet ggplot2 gridExtra magrittr matrixStats nnet png shiny stringr]; };
-  khroma = derive2 { name="khroma"; version="1.2.0"; sha256="09a9fkk8jds8byyh0si4bnadyzqkljndfgayr4kiazyify3i0nqw"; depends=[ggplot2 scales]; };
+  khroma = derive2 { name="khroma"; version="1.3.0"; sha256="1bpap5ljnsjwj0d6r90zhxvgs87j6v2pwxxd6ny14jzn402f1zp8"; depends=[]; };
   kidney_epi = derive2 { name="kidney.epi"; version="1.1.0"; sha256="191yrqdviwvfl62c62qqfa154hglxpfwcxllhgwlm8nsysg46z5i"; depends=[]; };
   kimisc = derive2 { name="kimisc"; version="0.4"; sha256="0nbjspbq9akhmamfdn192p5b6ki7xqhp422ih6v77xsnrhl5m24z"; depends=[memoise plyr pryr]; };
   kin_cohort = derive2 { name="kin.cohort"; version="0.7"; sha256="0wijsjz0piz5j9rm2nr3d5dfpiyba740mbfbkmfll9pz72s58wz8"; depends=[survival]; };
@@ -9176,6 +9365,7 @@ in with self; {
   kiwisR = derive2 { name="kiwisR"; version="0.1.7"; sha256="0xyrxk8109s1wfbacfjip0ch77jbhb4y8rqxz4cyml4l5kyw4zf6"; depends=[dplyr httr jsonlite lubridate tibble]; };
   kknn = derive2 { name="kknn"; version="1.3.1"; sha256="1nzkg3dxaiqp87p56wm895qx5xn86hv5hjr73qvl1yiaxiq0x112"; depends=[igraph Matrix]; };
   klaR = derive2 { name="klaR"; version="0.6-14"; sha256="1g995df6286sd64nw7q9bihzkqhrasks45n8xk678y57kcadksai"; depends=[combinat MASS questionr]; };
+  klassR = derive2 { name="klassR"; version="0.1.2"; sha256="1wfgqy4pfbaikm0qqf6dirjw0imbl6si9i0nwn8l17i7c8g8g55s"; depends=[httr jsonlite tm]; };
   klausuR = derive2 { name="klausuR"; version="0.12-10"; sha256="12fjs4dnwaki8sz718xgsg8qrqhsgf87cs0bylf0p3f5k8hrmk4b"; depends=[polycor psychometric xtable]; };
   klin = derive2 { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
   klustR = derive2 { name="klustR"; version="0.1.0"; sha256="1g2q6h3cbm8v3gqz0f6v8bl5na9972k38d94czjfxmx4cv7wfgx8"; depends=[htmlwidgets jsonlite]; };
@@ -9194,9 +9384,10 @@ in with self; {
   kmodR = derive2 { name="kmodR"; version="0.1.0"; sha256="1y1pqrrralklflyb1dw8bslfcyqrw8ryijfbhkwba7ykpxcf9fda"; depends=[]; };
   knitLatex = derive2 { name="knitLatex"; version="0.9.0"; sha256="1igacc2sx8897wmnhh8kngd0fq6zqbi30chy5c8jw60zc38mi3wi"; depends=[knitr]; };
   knitcitations = derive2 { name="knitcitations"; version="1.0.10"; sha256="0d73qr1zhkx0255vzzf7fs8vpmfnzl91ni4zp5y0l42h8p98vdn5"; depends=[digest httr RefManageR]; };
-  knitr = derive2 { name="knitr"; version="1.25"; sha256="0lsc201a4f6xksmsklhr6gmhl0mxih0xhlcdvhs2ypzcx1pvkpnv"; depends=[evaluate highr markdown stringr xfun yaml]; };
+  knitr = derive2 { name="knitr"; version="1.26"; sha256="08f3bdd5cnnbigybr9vmkhq12n64pbmn4layl3w5rwk8xi5kbnrq"; depends=[evaluate highr markdown stringr xfun yaml]; };
   knitrBootstrap = derive2 { name="knitrBootstrap"; version="1.0.2"; sha256="1aj60j7f0gcs120fdrnfbnb7vk7lfn1phil0mghg6a5zldz4cqs3"; depends=[knitr markdown rmarkdown]; };
   knitrProgressBar = derive2 { name="knitrProgressBar"; version="1.1.0"; sha256="18v5jrscfrin3mcs63bpj0q1drxk3zkhlbw93sqh0qrq04d4x02v"; depends=[R_oo R6]; };
+  knn_covertree = derive2 { name="knn.covertree"; version="1.0"; sha256="0msfcmwydws7q7m5jdb0dxab0nkbl7mq5llg6v3r4qrnlvrdggvz"; depends=[Matrix Rcpp RcppEigen]; };
   knnGarden = derive2 { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
   knnIndep = derive2 { name="knnIndep"; version="2.0"; sha256="1fwkldgs2994svf3sj90pwsfx6r22cwwa22b30hdmd24l8v9kzn7"; depends=[]; };
   knncat = derive2 { name="knncat"; version="1.2.2"; sha256="1d392910y3yy46j8my1a7m0xkij2rc6vwq5fg22qk00vqli8drz2"; depends=[]; };
@@ -9209,7 +9400,7 @@ in with self; {
   koRpus_lang_en = derive2 { name="koRpus.lang.en"; version="0.1-3"; sha256="013zxm5x5hwdx1hqgb7mh3zmn8dri3fhq1brmzg936gddhxap6is"; depends=[koRpus sylly_en]; };
   kofdata = derive2 { name="kofdata"; version="0.1.3.3"; sha256="08rmqm8z1xqf2kdjrxlj90v2fc2cqj43yynm1k46vmcs9m224y9k"; depends=[httr jsonlite xts zoo]; };
   kofnGA = derive2 { name="kofnGA"; version="1.3"; sha256="0w0881ydnqdah04sifi25ypzxdwnsiqxfq1xam4yhr670bdak1vm"; depends=[bigmemory]; };
-  kohonen = derive2 { name="kohonen"; version="3.0.8"; sha256="1zbfqa1qdlry8w6xhypkiknc5gn98v1ijhlsfka8zjg8ajhqgn1q"; depends=[MASS Rcpp]; };
+  kohonen = derive2 { name="kohonen"; version="3.0.10"; sha256="1ck7j13x701g67bx81x7plszz804jfhl1yg42krcj9x88vm5cscr"; depends=[Rcpp]; };
   kokudosuuchi = derive2 { name="kokudosuuchi"; version="0.4.2"; sha256="1nwydfyr9waa5h8h8nrmwxy0jx7i4893g5khfv6b4g09z6g5cyly"; depends=[curl dplyr glue httr purrr rlang sf shiny stringr tibble xml2]; };
   kolmim = derive2 { name="kolmim"; version="1.0"; sha256="0g1i0cazi4nhfwdd3ywqrar1sn7bw77w38qjii045w5vqg05srkp"; depends=[]; };
   komadown = derive2 { name="komadown"; version="0.2.0"; sha256="0mw1bcrg10yy1y844lpik70979420h0nsar48v5p3qk783pymbdp"; depends=[bookdown rmarkdown]; };
@@ -9221,10 +9412,10 @@ in with self; {
   kpmt = derive2 { name="kpmt"; version="0.1.0"; sha256="15d26khc0v3kc1c7l1avqp48pfqmc6xj32029mv7myivr41ashk3"; depends=[matrixStats]; };
   kpodclustr = derive2 { name="kpodclustr"; version="1.0"; sha256="1fywgdj4q3kg8y9lwnj6vxg9cwgs5ccwj6m3knfgg92f8ghnsbsw"; depends=[clues]; };
   kriens = derive2 { name="kriens"; version="0.1"; sha256="1qi65k9fsbbkbw0w40rv60p5ygrvr10rmlyxdaqa5bdpcmrbly5z"; depends=[]; };
-  krige = derive2 { name="krige"; version="0.2-1"; sha256="1g8298xnjjaxzfn53xwadnxr1bpn586xyiljq0gzibisnj2453fs"; depends=[MASS mvtnorm]; };
+  krige = derive2 { name="krige"; version="0.3-1"; sha256="1dxn9prl79ln0m5dlwh62m553lrah1w1kwix02xafhiawl4rxp40"; depends=[MASS mvtnorm]; };
   kriging = derive2 { name="kriging"; version="1.1"; sha256="04bxr34grf2nlrwvgrlh84pz7yi0r8y7dc2wk0v5h5z6yf5a085w"; depends=[]; };
   krm = derive2 { name="krm"; version="2018.8-17"; sha256="0d4isfzhlz9kxq0sbb1m60wnvcnlqzz8d45hiikgf1dfbngkyh2a"; depends=[kyotil]; };
-  ks = derive2 { name="ks"; version="1.11.5"; sha256="06ymx244yknmpl6935l4pafqbm4gcbpnhqg7rinql6rrfr9mcrag"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm]; };
+  ks = derive2 { name="ks"; version="1.11.6"; sha256="0hcccjfqnzdxkmnfzq8c5a7yhc138azwyl7rp29d1vl1jawwrwfq"; depends=[FNN kernlab KernSmooth Matrix mclust mgcv multicool mvtnorm]; };
   ksNN = derive2 { name="ksNN"; version="0.1.2"; sha256="06x471hck95xqy7rbh53ibhzh6kfjra7y9ipqdj2rqdkmfdj72q8"; depends=[Rcpp]; };
   kselection = derive2 { name="kselection"; version="0.2.0"; sha256="1arg96r2pldvb89rfqnfpjxwksyac2mhmbimbkwzm7wrnbnrcn5d"; depends=[]; };
   ksrlive = derive2 { name="ksrlive"; version="1.0"; sha256="1zd3ggzgjks0jay69s5m7ihbd7v7zha6ssj2m9ahnyp00ghpk83j"; depends=[tightClust]; };
@@ -9234,13 +9425,13 @@ in with self; {
   ktaucenters = derive2 { name="ktaucenters"; version="0.1.0"; sha256="15ddjr4c90b5hc4977gk35zb2kswrcvai3xighy7qj6g9lgiszgf"; depends=[dbscan dplyr GSE MASS]; };
   ktsolve = derive2 { name="ktsolve"; version="1.2"; sha256="1606b9anlqjwcbf3jp1rpwzvyx94k79q6zw3p9j0a4nxdvgxlx1j"; depends=[BB nleqslv rootSolve]; };
   ktspair = derive2 { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[Biobase]; };
-  kubik = derive2 { name="kubik"; version="0.1.1"; sha256="0f0gvnqlip3mhp1ss82c9iwba5y9qmgdplvvpycs94x3fs5gjqlm"; depends=[intoo]; };
+  kubik = derive2 { name="kubik"; version="0.1.2"; sha256="1cjr8vcvjgy425sgr23cl2xrsz9smgil4lkkzm94b8g5rwyk731g"; depends=[intoo]; };
   kuiper_2samp = derive2 { name="kuiper.2samp"; version="1.0"; sha256="0gcgayh7qdic9zprdvs6r8qvpqs467zrm0qzp2acb7alcp01jhpi"; depends=[]; };
   kulife = derive2 { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
   kutils = derive2 { name="kutils"; version="1.69"; sha256="12pg26a85h0jxlfcyai68dbh4bq1gnq8v1ngi8k9qvafbrpc6gx8"; depends=[foreign lavaan openxlsx plyr RUnit xtable]; };
   kvh = derive2 { name="kvh"; version="1.4.1"; sha256="0hnqlybphx8qnx98ynykxpz4ys4prp9zbmkak02qlvmnxwc2cqg0"; depends=[Rcpp]; };
   kwb_hantush = derive2 { name="kwb.hantush"; version="0.3.0"; sha256="1rlm7i95yw66asgkag93phig2y9lic4xl2fv3cbnr3v751f6a59m"; depends=[hydroGOF lattice]; };
-  kyotil = derive2 { name="kyotil"; version="2018.10-17"; sha256="12rrr7ynjwhcskjkfkv11q5xpdfn9j27vmnsd0r0vc2w2b25217k"; depends=[]; };
+  kyotil = derive2 { name="kyotil"; version="2019.11-22"; sha256="13ihijshgzi3lg07p24yzyxjsrfy9nsf6r5vcssz19y9w26scaj2"; depends=[]; };
   kza = derive2 { name="kza"; version="4.1.0"; sha256="128r4xmqxy1i1svcmv8786qqmriyqygd8d49cp53x8gb56k011xa"; depends=[]; };
   kzfs = derive2 { name="kzfs"; version="1.5.0.2"; sha256="0x0fc807p0pwsjkhjq51ymwr9nhs6cb0m82029cz8bbn3yf6cymq"; depends=[digest kzft]; };
   kzft = derive2 { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; };
@@ -9255,6 +9446,7 @@ in with self; {
   labeledLoop = derive2 { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; };
   labeling = derive2 { name="labeling"; version="0.3"; sha256="13sk7zrrrzry6ky1bp8mmnzcl9jhvkig8j4id9nny7z993mnk00d"; depends=[]; };
   labelled = derive2 { name="labelled"; version="2.2.1"; sha256="1mrpsayrar5m3w2s7ck3m5x62bcns1jhyc6jw12b3bdca251v1ai"; depends=[dplyr haven]; };
+  labelmachine = derive2 { name="labelmachine"; version="1.0.0"; sha256="18l7argmf7d60cv34w7acjg4bk08nhi2cc5p61sx2zmq28v8nndr"; depends=[yaml]; };
   labelrank = derive2 { name="labelrank"; version="0.1"; sha256="03pmpkjdhgw80473kdzdz4s4828pa8f5bja2zqicxrhvyvicvz6f"; depends=[pdist]; };
   labstatR = derive2 { name="labstatR"; version="1.0.9"; sha256="1ysk23dwan1lsfwnf9v86yqyzc8wsgzmy18ycz34s4d9biq6y1zd"; depends=[]; };
   labstats = derive2 { name="labstats"; version="1.0.1"; sha256="1780slp9l1rqwr5ika6hv606jzbaa3g1ywzkjkd3ff2gb0cby3ni"; depends=[]; };
@@ -9276,12 +9468,12 @@ in with self; {
   landsat = derive2 { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[lmodel2 mgcv rgdal sp]; };
   landsat8 = derive2 { name="landsat8"; version="0.1-10"; sha256="169b5ka98ka9chbmksz6syaygc9wgl8i2gz1h2xkxj3lk9jcg01r"; depends=[rgdal sp]; };
   landscapeR = derive2 { name="landscapeR"; version="1.2"; sha256="1zm5mj861ycbc2m28yjqnkifx8grc4l718mf8r422m78jfakvcjy"; depends=[raster Rcpp]; };
-  landscapemetrics = derive2 { name="landscapemetrics"; version="1.2.2"; sha256="1f6s166khqzz9vlw58wal21rp9cf5p7892vq3lz5ywq4bs8pg7fd"; depends=[cli ggplot2 raster Rcpp RcppArmadillo sp tibble]; };
+  landscapemetrics = derive2 { name="landscapemetrics"; version="1.3"; sha256="1x7fm6gs9pxkcbj182w2cfpsp9bg2chgc9pg7w0hbydz3fnv8whx"; depends=[cli ggplot2 raster Rcpp RcppArmadillo sp tibble]; };
   landscapetools = derive2 { name="landscapetools"; version="0.5.0"; sha256="11zp6r414nkj8vhsbryzhkxmpal2bva8msaxf1v69xax70ilxyf1"; depends=[ggplot2 raster Rcpp tibble]; };
-  landsepi = derive2 { name="landsepi"; version="0.0.7"; sha256="00ckjjyq33y362xhwjic8rwz06ml3s5l8wxxf7cgh0xkzv5hwcnr"; depends=[fields maptools MASS Matrix Rcpp rgdal rgeos sf sp splancs]; };
+  landsepi = derive2 { name="landsepi"; version="0.0.8"; sha256="0k2hkrj0r3hx5jvmgx852s030md3cqhm7yixl0xxlkxwqrylw7qc"; depends=[fields maptools MASS Matrix Rcpp rgdal rgeos sf sp splancs]; };
   languageR = derive2 { name="languageR"; version="1.5.0"; sha256="1iipnr2b4hd2w718prbh075j56m5xnchlcb2vg26m16qpydp6afn"; depends=[]; };
   languagelayeR = derive2 { name="languagelayeR"; version="1.2.4"; sha256="1q82shdcdd84nr6bnfwgyyb81z8dycvj1i3vhwvdg710s15rgiyk"; depends=[attempt curl httr jsonlite]; };
-  languageserver = derive2 { name="languageserver"; version="0.3.1"; sha256="19dq4x4lz89gzmcv1fksq95hw9xq86g4x75cz82jrnsqmiyf135x"; depends=[callr collections desc jsonlite lintr R6 readr repr stringr styler]; };
+  languageserver = derive2 { name="languageserver"; version="0.3.2"; sha256="1sd2c9a0fqk4yag5cmzpnpkqi5nqq4gnzyv268vq9ch60pm610km"; depends=[callr collections desc jsonlite lintr R6 readr repr stringr styler xml2 xmlparsedata]; };
   lans2r = derive2 { name="lans2r"; version="1.0.5"; sha256="1m3hz85gl9m4vafdy7mj3z560d11mdwlwvnzy8n7d1cjqryn7a2b"; depends=[dplyr ggplot2 lazyeval R_matlab reshape2 tidyr]; };
   lar = derive2 { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
   largeList = derive2 { name="largeList"; version="0.3.1"; sha256="0csijzlxajj0rh24w5n7fs6ss301zr6zfv5khyq4a9g437bwhc2i"; depends=[]; };
@@ -9293,7 +9485,7 @@ in with self; {
   lassoshooting = derive2 { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
   latdiag = derive2 { name="latdiag"; version="0.2-4"; sha256="051chvky3hlfr4hwm9qickl6aaxwnxa88zksmzczqfspby771hq6"; depends=[]; };
   latentnet = derive2 { name="latentnet"; version="2.9.0"; sha256="0gmv4h6zijhgypkasr1y45lx7ksfhfpdgrqqxan4qnxfqp3kxbrr"; depends=[abind coda ergm MASS mvtnorm network sna statnet_common]; };
-  later = derive2 { name="later"; version="0.8.0"; sha256="08g503xjxrfxvrzj0cavsrz4m8ykbha64344j1w2r6v17js2hakb"; depends=[BH Rcpp rlang]; };
+  later = derive2 { name="later"; version="1.0.0"; sha256="11xjavj7siz0xv2ffq1ld4bwl35jyrcfpvvs4p3ilpifxx49hyr7"; depends=[BH Rcpp rlang]; };
   latex2exp = derive2 { name="latex2exp"; version="0.4.0"; sha256="12nbcgfmv13k6sc6m326ras9bcvy380b7rxcxphn06r3cfkby0zw"; depends=[magrittr stringr]; };
   latexpdf = derive2 { name="latexpdf"; version="0.1.6"; sha256="07g33z5lyxinlrzpk6pd41m4c4bbfql611yqcqxasf8wra9bb0jr"; depends=[]; };
   latte = derive2 { name="latte"; version="0.2.1"; sha256="1dcwxxj3yran5a3a8vvdfmx4ap69ql2jncxvmci4p4vcw4ki9j9g"; depends=[dplyr ggplot2 glue magrittr memoise mpoly stringr usethis]; };
@@ -9314,16 +9506,17 @@ in with self; {
   lazyData = derive2 { name="lazyData"; version="1.1.0"; sha256="0mbmmx6dh8ph4lrx1b4gxbwz3jwxv4nqi0xvfzpzrm3bwbsjc634"; depends=[]; };
   lazyWeave = derive2 { name="lazyWeave"; version="3.0.2"; sha256="1a7l0rgkp3xq2s6bikciq778fwyr282baa6jk9ip4a71s931p2ag"; depends=[Hmisc labelVector]; };
   lazyeval = derive2 { name="lazyeval"; version="0.2.2"; sha256="1m10i059csrcqkcn59a8wspn784alxsq3symzhn24mhhl894346n"; depends=[]; };
+  lazyraster = derive2 { name="lazyraster"; version="0.5.0"; sha256="0zf9xlxyzmgxy1nl2kg7fvpfamjz04gf4yxjn3r9j7fjkik35cnp"; depends=[quadmesh raster vapour]; };
   lazyrmd = derive2 { name="lazyrmd"; version="0.2.0.1"; sha256="0yzamy1bfq0d7mnrr24wzvvw6lq7rhfs6qnqypfmym65j5kfj0f8"; depends=[digest htmltools htmlwidgets knitr rmarkdown]; };
   lazysql = derive2 { name="lazysql"; version="0.1.3"; sha256="18vff80rl8ckjwfqi9dhzs1q35a1wrxvynidji6dy2kvvk38xnpa"; depends=[checkmate magrittr plyr]; };
-  lazytrade = derive2 { name="lazytrade"; version="0.3.4"; sha256="1j1da1848vjkvvnc6x3svmdy0fjn5pkn24llriy7w3mj8lr4bdpb"; depends=[dplyr h2o lubridate magrittr openssl ReinforcementLearning tidyverse]; };
+  lazytrade = derive2 { name="lazytrade"; version="0.3.6"; sha256="11yd2x6ya3vgzy7lx3gxqz1q115wmb4aw0s1c6jyhkkqlf3rbyw4"; depends=[dplyr h2o lubridate magrittr openssl readr ReinforcementLearning stringr]; };
   lba = derive2 { name="lba"; version="2.4.4"; sha256="0izqndm992zv3sg8v5lpnxbdbxhpxl6hq3bf6xgq3pnw8vl3f6nb"; depends=[alabama MASS plotrix rgl scatterplot3d]; };
   lbfgs = derive2 { name="lbfgs"; version="1.2.1"; sha256="0p99g4f3f63vhsw0s1m0y241is9lfqma86p26pvja1szlapz3jf5"; depends=[Rcpp]; };
-  lbfgsb3 = derive2 { name="lbfgsb3"; version="2015-2.13"; sha256="1jpy0j52w8kc8qnwcavjp3smvdwm1qgmswa9jyljpf72ln237vqw"; depends=[numDeriv]; };
-  lbfgsb3c = derive2 { name="lbfgsb3c"; version="2018-2.13-1"; sha256="1avk1srkp61dbjpgjhxq0w6q14y3jydmrywkab6kf1y6r3f4z20g"; depends=[numDeriv Rcpp RcppArmadillo]; };
+  lbfgsb3 = derive2 { name="lbfgsb3"; version="2015-2.13.1"; sha256="15g465dy4izybmgmbgzmiyaxdfa6l1mcvyh6rc3hgapnlmnvb66m"; depends=[numDeriv]; };
+  lbfgsb3c = derive2 { name="lbfgsb3c"; version="2019-11.26"; sha256="1wp4vhagh1pvvg6v7gayj7ljicipaa3jz4wbnml4fnzpwzp0irgv"; depends=[numDeriv Rcpp RcppArmadillo]; };
   lbiassurv = derive2 { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
   lbreg = derive2 { name="lbreg"; version="1.2"; sha256="0wcw5w07fgmxwzmamf380l8vxw9fnxhbrhcwwfy6x87xby3bzr1b"; depends=[MASS]; };
-  lcc = derive2 { name="lcc"; version="1.0.2"; sha256="10savjw28jv34xq9r7ry5dr1c96ghgqm9g93ybcas13dk3c23my3"; depends=[gdata ggplot2 gridExtra nlme]; };
+  lcc = derive2 { name="lcc"; version="1.0.3"; sha256="0jvih9j6r8q26m3rjzng6sn2l41n5hgfsg2w298ac1v6asv3a1kn"; depends=[gdata ggplot2 gridExtra hnp nlme]; };
   lcda = derive2 { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
   lclGWAS = derive2 { name="lclGWAS"; version="1.0.3"; sha256="03b6ijqvyirv96hc3dsqf4f0zzqlmq5451mcb14d2mw3s6xy1vmq"; depends=[BH Rcpp]; };
   lcmm = derive2 { name="lcmm"; version="1.8.1"; sha256="1n7g4m8r8n2zi53ah35gn0nx666fh6brbysgbsyb2yv4hjrf5v08"; depends=[survival]; };
@@ -9346,28 +9539,29 @@ in with self; {
   leafR = derive2 { name="leafR"; version="0.3"; sha256="0bb05y0py2q0qmvapbv3ibrycjb8i4adl25807i8l7g768y3llsr"; depends=[data_table lazyeval lidR raster sp]; };
   leafSTAR = derive2 { name="leafSTAR"; version="1.0"; sha256="16zfaj0v6dx6mhy6m126lxa6w0dzfw4acm83jlbrizaz52amhv6a"; depends=[]; };
   leafem = derive2 { name="leafem"; version="0.0.1"; sha256="0yjbwhxjifhf1yw3phc12hlrr080y4331dwgpxdg62x7v0y5xl31"; depends=[htmltools htmlwidgets leaflet raster sf sp]; };
-  leaflet = derive2 { name="leaflet"; version="2.0.2"; sha256="051i5qmwa0zbk4jpjrx9kzk4g8qg9c3cavvhw19yj08fjhh8si7s"; depends=[base64enc crosstalk htmltools htmlwidgets magrittr markdown png raster RColorBrewer scales sp viridis]; };
+  leaflet = derive2 { name="leaflet"; version="2.0.3"; sha256="053kn4a2lbhzq2c68c4q782yrbyx4a7zw7j1s6p7k2d75chk1aja"; depends=[base64enc crosstalk htmltools htmlwidgets leaflet_providers magrittr markdown png raster RColorBrewer scales sp viridis]; };
   leaflet_esri = derive2 { name="leaflet.esri"; version="1.0.0"; sha256="01bwzxh2rdhpvvazaxsji8axl765q1ix1fdxla6i61nvqkpw3dz1"; depends=[htmltools leaflet leaflet_extras]; };
   leaflet_extras = derive2 { name="leaflet.extras"; version="1.0.0"; sha256="0li7651cwlz7sg04xdrmvhkrf0n6amaydck7gqz0wkb6wq8hcyzw"; depends=[htmltools htmlwidgets leaflet magrittr stringr]; };
-  leaflet_minicharts = derive2 { name="leaflet.minicharts"; version="0.5.4"; sha256="17lrchpry3in36jdkinsxs9lzqnx65xyk9g939knc8nmjw6z2j2r"; depends=[htmltools leaflet]; };
+  leaflet_minicharts = derive2 { name="leaflet.minicharts"; version="0.6.0"; sha256="175zxyvgjbhhp5fl8fz8nr7n9y34ldhs9pnz602x1hk7vpyf3cjc"; depends=[htmltools leaflet]; };
   leaflet_opacity = derive2 { name="leaflet.opacity"; version="0.1.0"; sha256="19dkl105sf7c9wrpl8kzwsjwwc7r9qb4c1g85w2lavpj0pbyazxw"; depends=[htmltools htmlwidgets]; };
-  leaflet_providers = derive2 { name="leaflet.providers"; version="1.8.0"; sha256="1rbx3n59hrbh3ncfzcv442shdyx64d67nlviisyfixvc1jlmjr2h"; depends=[htmltools]; };
+  leaflet_providers = derive2 { name="leaflet.providers"; version="1.9.0"; sha256="0yynrwv4xd5cdh49cwvfxm4ranarah9iiry2cd3b4fiihdfcg3wy"; depends=[]; };
   leafletCN = derive2 { name="leafletCN"; version="0.2.1"; sha256="1rg39n4bjacwss9nbdnz8y2zh8hxlc7a5ygndhjbmzajnbxfh09b"; depends=[htmltools jsonlite leaflet magrittr rgeos sp]; };
   leafletR = derive2 { name="leafletR"; version="0.4-0"; sha256="0j1i971dl3smq8rcsa5s4rfmmk936k2q6xa4hppfzwhrxs3xkkkx"; depends=[brew jsonlite]; };
   leaflethex = derive2 { name="leaflethex"; version="0.1.0"; sha256="0wdph5xs2n7brdj7x1kgza0vxghl519hmva5xzkjc2yaj2dkpyrk"; depends=[dplyr htmltools htmlwidgets leaflet readr tibble]; };
   leafpm = derive2 { name="leafpm"; version="0.1.0"; sha256="06d2k5x6bnv7bf4aw2bayi8sh5bw8z6akwnp7da5s7454hyqn0vv"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet sf]; };
   leafpop = derive2 { name="leafpop"; version="0.0.1"; sha256="1bcab4f0g9xf7w5zh9xma93lv9ywbn9zqdy46k7cm0y6vnzggsy8"; depends=[base64enc brew gdalUtils htmlwidgets Rcpp svglite uuid]; };
   leafsync = derive2 { name="leafsync"; version="0.1.0"; sha256="0p6pb7w5yz2wj33kdh7ixii9f6b8zv018psp6b7ifr7npgdxi3vx"; depends=[htmltools htmlwidgets leaflet]; };
+  leaftime = derive2 { name="leaftime"; version="0.1.2"; sha256="0a653h0lhdw10j9yv0jsvaivj09fz1cjg3z9g3caja6c83w5c65q"; depends=[geojsonio htmltools htmlwidgets leaflet]; };
   leanpubr = derive2 { name="leanpubr"; version="0.3.1"; sha256="0c8pmzn25cwv0wccf30zrrqrs5amlk8iqyyva9vp9976wzwgbxrx"; depends=[httr jsonlite xml2]; };
   leapp = derive2 { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[corpcor MASS sva]; };
   leaps = derive2 { name="leaps"; version="3.0"; sha256="11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m"; depends=[]; };
   learNN = derive2 { name="learNN"; version="0.2.0"; sha256="0q0j25vi7hrwaf38y10m24czf3rsvj937jvkz3ns12bd8srlflah"; depends=[]; };
   learnPopGen = derive2 { name="learnPopGen"; version="1.0.4"; sha256="04wxina3n2bspxdp3d4bgqrwyxqxx46pfp8zgzr3rsj89ml8if9l"; depends=[gtools phytools]; };
   learningr = derive2 { name="learningr"; version="0.29.1"; sha256="0z3rs7y9yd81f14sbk3dwq1ifr4vca2s3kl1gnkqlns3dycgyp08"; depends=[plyr]; };
-  learnr = derive2 { name="learnr"; version="0.9.2.1"; sha256="0jbk0g6fkw7zs8ykzhsvh9vvz8xmc4v03bqzjsa5mmpxpqan5vx5"; depends=[evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs rmarkdown rprojroot shiny withr]; };
+  learnr = derive2 { name="learnr"; version="0.10.0"; sha256="0278q9nbkc4nb0rp930kjrwyidf0v7y38d1s187m4f4bs7ha82k6"; depends=[checkmate ellipsis evaluate htmltools htmlwidgets jsonlite knitr markdown rappdirs renv rmarkdown rprojroot shiny withr]; };
   learnrbook = derive2 { name="learnrbook"; version="0.0.2"; sha256="1k17dk8ahn1ifwid1hhx0k7fpgc62zg82y66bbf6nhd4dgdbbv2p"; depends=[]; };
   learnstats = derive2 { name="learnstats"; version="0.1.1"; sha256="1sa064cr7ykl4s1ssdfmb3v1sjrnkbwdh04hmwwd9b3x0llsi9vv"; depends=[ggplot2 Rcmdr shiny]; };
-  ledger = derive2 { name="ledger"; version="2.0.2"; sha256="0s0z4s4fmr8iz2d4xlrm5icqxbc5bmfrh60hmr5j0s3s7ynij8as"; depends=[dplyr rio rlang stringr tibble tidyr tidyselect]; };
+  ledger = derive2 { name="ledger"; version="2.0.4"; sha256="19jqy24c8xkpcs9d5w4a1ih474xpnxjnq1q8940mfkx1vq2bz1m5"; depends=[dplyr rio rlang stringr tibble tidyr tidyselect]; };
   leerSIECyL = derive2 { name="leerSIECyL"; version="1.0.2"; sha256="1zx28gpnys9mmhq7wwljfnq92wj1h1vxgqiirnfmn36z942nvmxl"; depends=[RCurl]; };
   lefse = derive2 { name="lefse"; version="0.1"; sha256="1zdmjxr5xa5p3miw79mhsswsh289hgzfmn3mpj1lyzal1qgw1h5m"; depends=[ape fBasics geiger picante SDMTools vegan]; };
   legocolors = derive2 { name="legocolors"; version="0.2.0"; sha256="06jbq12jzga1p5jajhnnkk11s9gjw5ngmnrvhmbvirhsbafp0fjv"; depends=[]; };
@@ -9378,7 +9572,7 @@ in with self; {
   leri = derive2 { name="leri"; version="0.0.1"; sha256="1309v58xdw3p6y2wpnl64vgsds5kvfiary2a3fa041kz23jzbp3c"; depends=[ncdf4 raster]; };
   lero_lero = derive2 { name="lero.lero"; version="0.2"; sha256="03ll7jzcay0swwpmxyf0y9k2h8mxx4p5v3ggm9dgdz4j99934l70"; depends=[]; };
   lessR = derive2 { name="lessR"; version="3.8.9"; sha256="00k1ar4nnsj89zvsqp3b0nwyiwbprpgznzkn53d0csgrm473lwyf"; depends=[colorspace ellipse foreign lattice latticeExtra leaps openxlsx png rmarkdown robustbase sas7bdat triangle viridisLite wesanderson]; };
-  lest = derive2 { name="lest"; version="1.0.0"; sha256="06ng0dpj37bhhwc34ilpks2ics97m9yjdpj4q993h3s2fn8kdgxw"; depends=[]; };
+  lest = derive2 { name="lest"; version="1.1.0"; sha256="1d69kvdl31crv4ik8bwylq3s3f4skzrjc4x49c79w443g64n2jp9"; depends=[]; };
   lestat = derive2 { name="lestat"; version="1.9"; sha256="1skxymdf3ncmdbskh7711xxgwsmwxfxnl52gcgw06jscx6s6wrsd"; depends=[MASS]; };
   letsR = derive2 { name="letsR"; version="3.1"; sha256="0wyqqq7w21k87md3pwsz3kdaws345fdhh2xgavwiiywalg0gvxxx"; depends=[fields geosphere maps maptools raster rgdal rgeos sp XML]; };
   lexRankr = derive2 { name="lexRankr"; version="0.5.2"; sha256="0vb4m4g88k05yhjla1gwp8ck08356r9dzwal6cq7lb6xm6pl5gvi"; depends=[igraph Rcpp SnowballC]; };
@@ -9404,7 +9598,7 @@ in with self; {
   librarysnapshot = derive2 { name="librarysnapshot"; version="0.1.2"; sha256="0v4x564zpm58kxs5n84bi6mcjhbzjg6a2lc30vsc8kbm3qy0nq38"; depends=[]; };
   libsoc = derive2 { name="libsoc"; version="0.7"; sha256="1r548rvj98wl0yp6jx5d2qhvy1y4883qp0w3jjk97vp07a1cywn8"; depends=[]; };
   libstableR = derive2 { name="libstableR"; version="1.0.2"; sha256="1gkcgbc8a7ks9x8mqmlz98hk55q3qy62izam7csz1s0r5dzsyqcr"; depends=[Rcpp RcppGSL]; };
-  lidR = derive2 { name="lidR"; version="2.1.3"; sha256="0arpdqkkhh0dw23z8h4klm5kp8cmr3ci5sd4bla514zw482im1gy"; depends=[BH data_table future gdalUtils geometry glue imager lazyeval raster Rcpp RcppArmadillo RCSF rgdal rgeos rgl rlas sf sp]; };
+  lidR = derive2 { name="lidR"; version="2.1.4"; sha256="0qn2rf6h5ybx1qqri0cnb24iyylfv9hy8qm1lsbibssway9v8as2"; depends=[BH data_table future gdalUtils geometry glue imager lazyeval raster Rcpp RcppArmadillo RCSF rgdal rgeos rgl rlas sf sp]; };
   lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.6"; sha256="0v8xrnmviq938x779f3h55iq8bhvbkwgz35v1dxgzbxwclj7jycl"; depends=[markovchain Rcpp]; };
   lifecourse = derive2 { name="lifecourse"; version="2.0"; sha256="1m8ihqvzhzpq2m2pdvh37bpq9pdbj23r3y0jkl3q8farh3qj473d"; depends=[TraMineR]; };
   lifecycle = derive2 { name="lifecycle"; version="0.1.0"; sha256="11rk7hkw63rfrf4aqmb4xrb88kg95xh8hajpjvjfwjym2v02h74n"; depends=[glue rlang]; };
@@ -9413,6 +9607,7 @@ in with self; {
   liftLRD = derive2 { name="liftLRD"; version="1.0-8"; sha256="1m24f4mc70l808cpkcdm91hzb5b3bkzibvgyfi9zs6cs8apcvmy3"; depends=[adlift nlt]; };
   liftr = derive2 { name="liftr"; version="0.9.2"; sha256="0azi831c4f0vcq27a3q86vj90zvwrzcy4plhj9hqkk4qz8xw113x"; depends=[knitr rmarkdown rstudioapi stringr yaml]; };
   liger = derive2 { name="liger"; version="1.0"; sha256="0vn49p8ldb7ss35by04qh7r1arn5w8gci1rqbyfqw8ignwjrdc7s"; depends=[matrixStats Rcpp RcppArmadillo]; };
+  lightr = derive2 { name="lightr"; version="0.1"; sha256="0ijqsgszjgxp3xci6fr17krbzns6r0qyxna60ad85c5ri868rmzs"; depends=[pbmcapply xml2]; };
   lightsout = derive2 { name="lightsout"; version="0.3"; sha256="0ypniqf9wk35dd9j57wd7gxchr5hy25fwhmkndz2z8b9ajhm3c9b"; depends=[magrittr shiny shinyjs]; };
   likeLTD = derive2 { name="likeLTD"; version="6.3.0"; sha256="1mjf4667xd9pf2684d7vqaj54l5s9pgljn4vkfp32wzbfknq6y8r"; depends=[DEoptim gdata ggplot2 gtools rtf]; };
   likelihood = derive2 { name="likelihood"; version="1.7"; sha256="0q8lvwzlniijyzsznb3ys4mv1cqy7ibj9nc3wgyb4rf8676k4f8v"; depends=[nlme]; };
@@ -9420,8 +9615,9 @@ in with self; {
   likelihoodExplore = derive2 { name="likelihoodExplore"; version="0.1.0"; sha256="13cnql7pbx8qq1j3cfb3lkzzf2k55shpfa0jd00z30ys6imxzcfn"; depends=[lazyeval plyr]; };
   likert = derive2 { name="likert"; version="1.3.5"; sha256="0c4irxs7pp1z8nj4s8cq23daw4h94n3h7x4f6q1d85614qcl9l3p"; depends=[ggplot2 gridExtra plyr psych reshape2 xtable]; };
   lilikoi = derive2 { name="lilikoi"; version="0.1.0"; sha256="1v7xrkv8xxmq6cdww4z1p9vlvy71cqgd3yb5mal4v9w2wrfaps6z"; depends=[caret corrplot devtools dplyr e1071 gbm ggplot2 glmnet hash Hmisc infotheo Matrix pamr princurve pROC R_oo randomForest reshape2 RWeka stringr]; };
-  limSolve = derive2 { name="limSolve"; version="1.5.5.3"; sha256="1ll6ir42h3g2fzf0wqai213bm82gpwjj2hfma2np3mz024sc09rg"; depends=[lpSolve MASS quadprog]; };
-  lime = derive2 { name="lime"; version="0.5.0"; sha256="1xpzrdp6l6ndfg50cbbbrwpvfj4n0xll5cpam7cvq1s35rhpgnvm"; depends=[assertthat ggplot2 glmnet gower htmlwidgets Matrix Rcpp RcppEigen shiny shinythemes stringi]; };
+  lillies = derive2 { name="lillies"; version="0.2.5"; sha256="0cqlxcq8yyw87m018hv8s82d6qmh9x93j0hyqycl6w5fdpp62hf0"; depends=[ddpcr dplyr knitr pracma progress rlang survival tidyr]; };
+  limSolve = derive2 { name="limSolve"; version="1.5.6"; sha256="1829rd2cnd8qj80z9a7sgc7gx4sf3kvl5g6d2a0lqqw30f9sjzmr"; depends=[lpSolve MASS quadprog]; };
+  lime = derive2 { name="lime"; version="0.5.1"; sha256="021wz43dfc3f2k275c98hcnnx7dyyjj18dm2zf8vh7rbk9bnf0sj"; depends=[assertthat ggplot2 glmnet gower htmlwidgets Matrix Rcpp RcppEigen shiny shinythemes stringi]; };
   limitplot = derive2 { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
   lin_eval = derive2 { name="lin.eval"; version="0.1.2"; sha256="05saxzzwh3gs6a4ii63n5kjm06p399xkyrjnqvn9f164322p7pwb"; depends=[broom]; };
   linERR = derive2 { name="linERR"; version="1.0"; sha256="1mhiyqfpwagg161ncp5ndd22hlh12qzr360nms13rgyd8a077cq7"; depends=[survival]; };
@@ -9429,19 +9625,20 @@ in with self; {
   linbin = derive2 { name="linbin"; version="0.1.2"; sha256="0shw976nlryjvmvnyyiycchqs7zcg5flalywm1ymnv62nw3n55xs"; depends=[]; };
   lindia = derive2 { name="lindia"; version="0.9"; sha256="1qma8wr0fkwx03x971crkh8cfc8z4374py1r1wvszj9wzi4vfp5r"; depends=[ggplot2 gridExtra MASS]; };
   linear_tools = derive2 { name="linear.tools"; version="1.3.0"; sha256="14lp3gifzbid82lkr7rdqajz2abp8m7y8irpwx6s8w66djjfckda"; depends=[ggplot2 magrittr plyr pryr scales stringr]; };
+  linearOrdering = derive2 { name="linearOrdering"; version="1.0.0"; sha256="1y9wcmcwbaqphzv8mk3xgk49pmd8m020zv3qmi85b5kzzqam1r4z"; depends=[]; };
   linearQ = derive2 { name="linearQ"; version="2.0"; sha256="0sx7bx0x1k193day5w1dbmc09kn5741pcilxijjn2y5aijhd5wk9"; depends=[Rcpp stepR]; };
   linemap = derive2 { name="linemap"; version="0.1.0"; sha256="0qkbmpfr742xbs3xn5ppx6q0prwrr9mk1c1mv050cm47dm7jcs6l"; depends=[sf]; };
-  lineqGPR = derive2 { name="lineqGPR"; version="0.0.4"; sha256="1z7114c303cjh0wdbvsza5p0vsq6dz2kd425vg91r4bayhy4wd0k"; depends=[broom ggplot2 MASS Matrix mvtnorm nloptr quadprog restrictedMVN tmg TruncatedNormal]; };
+  lineqGPR = derive2 { name="lineqGPR"; version="0.1.1"; sha256="180rvmpasdw8r3w5lw6dxg5jkj875dklvifi2msyp0vaq1nbpbwp"; depends=[broom ggplot2 MASS Matrix mvtnorm nloptr plot3D purrr quadprog tmg TruncatedNormal]; };
   lineup = derive2 { name="lineup"; version="0.37-11"; sha256="0lk2wm8wsaaxw3j7yvmg6qif0r0s1jlwqyg73d3xjnjhxgy03zp4"; depends=[class qtl]; };
-  lingtypology = derive2 { name="lingtypology"; version="1.0.14"; sha256="07pv6815a37nhab578zk677wzx8sbjf5ii4kvdg5q4jbrldmp5ia"; depends=[leaflet leaflet_minicharts rowr stringdist]; };
+  lingtypology = derive2 { name="lingtypology"; version="1.0.15"; sha256="1iy33d29fdwpsw13094ykjijidhpcgkxqdqxfmlw4s6ma08sx4gh"; depends=[leaflet leaflet_minicharts rowr stringdist]; };
   linguisticsdown = derive2 { name="linguisticsdown"; version="1.2.0"; sha256="1y2g8h0p4q4mjrawzyprsdw8ynqcbpnjypyhdaf03pcwqglcirkl"; depends=[DT knitr magrittr miniUI rstudioapi shiny stringr]; };
-  link2GI = derive2 { name="link2GI"; version="0.3-7"; sha256="1zpl0lm8grcahyx4xd9axymqbja7v87p03jnhqjc8yih0227867x"; depends=[devtools R_utils roxygen2 sf]; };
+  link2GI = derive2 { name="link2GI"; version="0.4-0"; sha256="00cvakpyl8jmj3d3lyap6b22kav6dkqj0r24w2h6nn5w9b9j3max"; depends=[devtools R_utils roxygen2 sf stringr]; };
   linkR = derive2 { name="linkR"; version="1.1.1"; sha256="1748r7s5g0gvsmghrb7l5lmdbzb9f4vkbgj51v308jr64r1k7l93"; depends=[svgViewR]; };
   linkcomm = derive2 { name="linkcomm"; version="1.0-11"; sha256="1w5sfmzvrk30fr161pk0cy5nj8kasqm6hqgyafq6r280b5s272cb"; depends=[dynamicTreeCut igraph RColorBrewer]; };
   linkim = derive2 { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; };
   linkprediction = derive2 { name="linkprediction"; version="1.0-0"; sha256="0p2abdq6ad689236w2d0khlycpjgy6j7xrlb96ngl6csgxwm07bl"; depends=[igraph intergraph]; };
   linkspotter = derive2 { name="linkspotter"; version="1.2.0"; sha256="0wk27jn8jr5rskjxbixshmp2dl0l74hrc8r6x3rvhy0x0b00zks2"; depends=[dplyr energy ggplot2 Hmisc infotheo mclust minerva pbapply rAmCharts shiny tidyr visNetwork]; };
-  linl = derive2 { name="linl"; version="0.0.3"; sha256="0cl9p77c9702mzjv02yd7yj7lxwnwslibj0nk8p96glclsbyayl5"; depends=[knitr rmarkdown]; };
+  linl = derive2 { name="linl"; version="0.0.4"; sha256="1wq0wm3k12sfvg0nzdsdxb4qc79kny7qvckxplfgaj6y62vcjxxl"; depends=[knitr rmarkdown]; };
   linpk = derive2 { name="linpk"; version="1.0"; sha256="14l3vv507z7x63ziynp07902599syah0icvzq4rxfjf48bf96l63"; depends=[mvtnorm]; };
   linprog = derive2 { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; };
   lintools = derive2 { name="lintools"; version="0.1.2"; sha256="18layj6a202p0sy9rs022fp0a6fwvixwwmwlyzn7h9kh4y9gvxjz"; depends=[]; };
@@ -9449,7 +9646,7 @@ in with self; {
   liqueueR = derive2 { name="liqueueR"; version="0.0.1"; sha256="0rpjib0dz39la63gy9bw9gmdfq2fcx40y4y4wcb6ky41qcjdp1nd"; depends=[itertools]; };
   liquidSVM = derive2 { name="liquidSVM"; version="1.2.4"; sha256="1fka0jbc200n0il1qbp5nb9819afi11b1ndwqpsd6bhfjgrcga8m"; depends=[]; };
   lira = derive2 { name="lira"; version="2.0.1"; sha256="10bjmapnlw5z5cnbdpkwisvjkmk7zi9xqrvgmb5psj317zcxfc2p"; depends=[coda rjags]; };
-  lisa = derive2 { name="lisa"; version="0.1.0"; sha256="042492w4gq3myqr6kpy272cxdmbr3lynja3ggrfzicvfbnrs6mzz"; depends=[]; };
+  lisa = derive2 { name="lisa"; version="0.1.1"; sha256="1i5fbcac24rp8s7z2v23aqy7xv0p610zj5xfb6vscsvhdlvg4w1a"; depends=[]; };
   lisp = derive2 { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; };
   lisrelToR = derive2 { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; };
   list = derive2 { name="list"; version="9.1"; sha256="17d8pscn56wlp6pcz2mvqjmrwv22fhphiiblrnfnd36m65nd58dm"; depends=[arm coda corpcor gamlss_dist magic MASS mvtnorm quadprog sandwich VGAM]; };
@@ -9458,12 +9655,12 @@ in with self; {
   listdtr = derive2 { name="listdtr"; version="1.0"; sha256="08drps03nndpdxswyv8bjm1bcckjav5pjj7fdx3dzyn0v4dfy619"; depends=[ggplot2]; };
   listenv = derive2 { name="listenv"; version="0.7.0"; sha256="0ma5jsri2zqkrlsm9nqpikl7imbwfy1glsmk13mblw0q245h49k1"; depends=[]; };
   listless = derive2 { name="listless"; version="0.0-2"; sha256="1gr6l4vih7j28kg2mj1xj2yhlpwjc4p894vsxri25vq0r9kgcdym"; depends=[magrittr tidyr]; };
-  listviewer = derive2 { name="listviewer"; version="2.1.0"; sha256="09jkrrq4zyzgi66vkpm5n7isxpbckx5hjk39nik766hzarj5i7rs"; depends=[htmltools htmlwidgets shiny]; };
+  listviewer = derive2 { name="listviewer"; version="3.0.0"; sha256="0zirxdj58h43062f68h6nqcgmpnvdglxx3kjbs4i4k0z9wvqhx8r"; depends=[htmltools htmlwidgets shiny]; };
   liteq = derive2 { name="liteq"; version="1.1.0"; sha256="0w3w9f6374qwvlrqknavqh9b38n5q1r6aw5zmz5lahvadalwdbwi"; depends=[assertthat DBI rappdirs RSQLite]; };
-  litteR = derive2 { name="litteR"; version="0.4.1"; sha256="1348vljlm546j00bh9x8dfjjrvvclamx5cb7ik9bganj1i9dvjmk"; depends=[dplyr fs ggplot2 purrr readr rlang rmarkdown stringr tidyr yaml]; };
-  littler = derive2 { name="littler"; version="0.3.8"; sha256="0g4aw031fsv69i7ah1g308dj0jsb9gpz0pbixji0agqqivhsf63a"; depends=[]; };
+  litteR = derive2 { name="litteR"; version="0.6.6"; sha256="0f0djjv7b77zkfjdlh2afvhqs215lnd3nqc2rwl25jajyjhw6m0j"; depends=[dplyr fs ggplot2 purrr readr rlang rmarkdown stringr tidyr yaml]; };
+  littler = derive2 { name="littler"; version="0.3.9"; sha256="1l0680icgj835hb1b8kanh2zx7cmy3yghglr75qilbvsd4anhxyz"; depends=[]; };
   liureg = derive2 { name="liureg"; version="1.1.2"; sha256="1zhc5fs47whjvvwwiivykxfchzbjbldyvdmqh9rp7ccwba2q3956"; depends=[]; };
-  live = derive2 { name="live"; version="1.5.10"; sha256="17wz3cs6pjghc31965wblm3lm3x1pr5bk5j1wi84vyyl0sni3qx4"; depends=[breakDown data_table dplyr e1071 forestmodel ggplot2 gower MASS mlr shiny]; };
+  live = derive2 { name="live"; version="1.5.11"; sha256="08xyh6fnwnx7vlz9ldgslkqsnpwb0pdmmc77gl70dwh1c5v3w1gz"; depends=[breakDown data_table dplyr e1071 forestmodel ggplot2 gower MASS mlr shiny]; };
   livechatR = derive2 { name="livechatR"; version="0.1.0"; sha256="1k0z6q3s9iw962m1lwlx45p95flzl5jg1xh6ng426v9jh1yyrbb2"; depends=[data_table dplyr jsonlite magrittr purrr]; };
   ljr = derive2 { name="ljr"; version="1.4-0"; sha256="0jby94ml8w6pwnxbmv6qfjww2myvvnn9vrmlqpdh71dhgp3z35py"; depends=[]; };
   llama = derive2 { name="llama"; version="0.9.2"; sha256="0knlmfddp70ddhjb9slyibbb9qj7pfybqccv3i4f545qxmmykj2n"; depends=[BBmisc checkmate ggplot2 mlr parallelMap plyr rJava]; };
@@ -9489,7 +9686,7 @@ in with self; {
   lmenssp = derive2 { name="lmenssp"; version="1.2"; sha256="1vc90x3y1vzmzblc15kqar3nd3c3p8p9nvmpk0ib52n0qv5pr6wz"; depends=[geoR MASS mvtnorm nlme]; };
   lmerTest = derive2 { name="lmerTest"; version="3.1-0"; sha256="1nkz8cmxa5yb8q4i65bmhnn5pd4bhwcyjplyscynb24z3f64xp9b"; depends=[ggplot2 lme4 MASS numDeriv]; };
   lmf = derive2 { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
-  lmfor = derive2 { name="lmfor"; version="1.3"; sha256="1c97kgzgrn0mgb6a8m4c8875qi8li1z189fa463z826x3psrr40v"; depends=[nlme spatstat]; };
+  lmfor = derive2 { name="lmfor"; version="1.4"; sha256="012bk6r6gf6y9skfch2pqr2irv70108sz1x6hakl1bifb4lgnbjp"; depends=[magic nlme spatstat]; };
   lmm = derive2 { name="lmm"; version="1.2"; sha256="1xymcizqfqh2jp0rxgfgniflyqzgcwg04g9mllva5xgc1ydcg69k"; depends=[]; };
   lmmen = derive2 { name="lmmen"; version="1.0"; sha256="0c1yy991bff1hp47rg89j5811l50kb9pdf76834jxh38dr3b4lsw"; depends=[glmmLasso glmnet lme4 lmmlasso mvtnorm quadprog]; };
   lmmlasso = derive2 { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; };
@@ -9509,6 +9706,7 @@ in with self; {
   loa = derive2 { name="loa"; version="0.2.45.4"; sha256="0dcpadv453885a2s8l064zn1xswi2v819154j822jr22kd7bj57v"; depends=[lattice MASS mgcv plyr png RColorBrewer rgdal RgoogleMaps sp]; };
   loadr = derive2 { name="loadr"; version="0.1.2"; sha256="1zqg90hxw6c3k3gd0caj8fh5ym3f97gsr9cvi6ndlzqh4957cd5n"; depends=[]; };
   lobstr = derive2 { name="lobstr"; version="1.1.1"; sha256="0vkif17825x33cz8r89j0qph4wj5l8fzfgl8nh2g7m2v140cxjdq"; depends=[crayon Rcpp rlang]; };
+  locStra = derive2 { name="locStra"; version="1.1"; sha256="0wnis4x85hz5hsi8a9ii2gkbsx8lzp064gab2xdv0k8zizyj0dvk"; depends=[Matrix Rcpp RcppEigen Rdpack]; };
   localICE = derive2 { name="localICE"; version="0.1.0"; sha256="0pch4mdn0bj3rlqsai3lqrkv6pw04238n9qvlwzwcwii3wyqhkgs"; depends=[checkmate ggplot2]; };
   localIV = derive2 { name="localIV"; version="0.2.1"; sha256="09z5iqqa9ia4v88fbgf23ww8wxywpyndhzl5mhsp5dvpnj0vyhx1"; depends=[KernSmooth mgcv sampleSelection]; };
   localModel = derive2 { name="localModel"; version="0.3.11"; sha256="1qy5qpczyp0dbnbfmznzn84cgakvlbsq6cgdn6r08dkdh339d6fb"; depends=[ggplot2 glmnet ingredients partykit]; };
@@ -9524,10 +9722,10 @@ in with self; {
   loe = derive2 { name="loe"; version="1.1"; sha256="1n16pgfxg9vcn729xxjbbvavg2ywbdcch9v2ph8nv3z7psc0q46c"; depends=[MASS]; };
   log4r = derive2 { name="log4r"; version="0.3.1"; sha256="081fsfgs1shn2002hbvx974421s1294b2l9878q591a4gmv61n1n"; depends=[]; };
   logKDE = derive2 { name="logKDE"; version="0.3.2"; sha256="09gachibj0klqa9ijw572lwphbh9qj6zqray5byq1dh7zsiq516q"; depends=[pracma Rcpp]; };
-  logNormReg = derive2 { name="logNormReg"; version="0.2-0"; sha256="1mry2vqb9sqv17xw26k637w3i3zqjgayz2ql43rbz2f5248lm0yc"; depends=[]; };
+  logNormReg = derive2 { name="logNormReg"; version="0.3-0"; sha256="172d0y9rb7j0d3m7d22ycfip6s8hk8hlp9810d7r95ra5dr5dx8z"; depends=[]; };
   logOfGamma = derive2 { name="logOfGamma"; version="0.0.1"; sha256="0r7di0l646ycfmdjk8hli6b0v7qj0i8z3i8i7rwd3fsblb2q22vd"; depends=[]; };
   logbin = derive2 { name="logbin"; version="2.0.4"; sha256="01gwfq9r2yy28iymxa402r8jp8km953cb5i60xnskcpzh8bv4rmf"; depends=[glm2 turboEM]; };
-  logconcens = derive2 { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; };
+  logconcens = derive2 { name="logconcens"; version="0.17-0"; sha256="0zrnyb25iyr3cm83b3xp21nipv1q0l1kp7nwjaja3173z7wwlvvr"; depends=[]; };
   logcondens = derive2 { name="logcondens"; version="2.1.5"; sha256="1sq27klnphp74hq0l0460m9bb7lrl06mpgkg4qq8iciy3yy1mrkj"; depends=[ks]; };
   logcondens_mode = derive2 { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[distr logcondens]; };
   logcondiscr = derive2 { name="logcondiscr"; version="1.0.6"; sha256="08wwxsrpflwbzgs6vb3r0f52hscxz1f4q0xabr1yqns06gir1kxd"; depends=[cobs Matrix mvtnorm]; };
@@ -9545,10 +9743,10 @@ in with self; {
   loglognorm = derive2 { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
   logmult = derive2 { name="logmult"; version="0.7.1"; sha256="0y9z5l93hm8p3r1rd6g11miqg1a02b9hy5mgcxv2q0hm1pg2vh0q"; depends=[gnm qvcalc]; };
   lognorm = derive2 { name="lognorm"; version="0.1.6"; sha256="05a6djz06jblnx51x2r5gwb57l4wq6giz6kknsslzsl64xj275z1"; depends=[Matrix]; };
-  logspline = derive2 { name="logspline"; version="2.1.13"; sha256="1mhv23r7whragw2rg8hcwll2mki1z85mrp82zxn5pkljl5yndagh"; depends=[]; };
+  logspline = derive2 { name="logspline"; version="2.1.15"; sha256="07ppq178la64yn34z7zk5wnz95s0k7fqixvsx8hx26g25adciq6z"; depends=[]; };
   lokern = derive2 { name="lokern"; version="1.1-8"; sha256="1dlyvgd2i4dckd8ic3x75r4sikwalch9b2f13xp5rhkzmfzbprxq"; depends=[sfsmisc]; };
   lolog = derive2 { name="lolog"; version="1.2"; sha256="1vd80ngq4558ahan1vhsql0wc578imm13fgrrgnzlrd91xncnnjf"; depends=[BH ggplot2 intergraph Matrix network Rcpp reshape2]; };
-  lomb = derive2 { name="lomb"; version="1.1"; sha256="08gzmrxl149p4wy8q3vs9impxqdf429q7lrg8j7g2r0k2yzm4rp7"; depends=[]; };
+  lomb = derive2 { name="lomb"; version="1.2"; sha256="09cp9c33x14b4did8baq3hi0b3rb2nhasjz7aav03031c0fq07zj"; depends=[]; };
   longCatEDA = derive2 { name="longCatEDA"; version="0.31"; sha256="0dji41lsknfwmgb2fczzm37dm97wvi45rh878w7pwlzwdh9vq8va"; depends=[]; };
   longROC = derive2 { name="longROC"; version="1.0"; sha256="1fs11vqi4hy99d7shzzdvd6ic5gay6rh2027w6j0qpd04n8q88m8"; depends=[survival]; };
   longRPart2 = derive2 { name="longRPart2"; version="0.2.3"; sha256="1vqcsxi6c4hqrpk3ns7yhghfryin1psxl38qkz2xz8cvyn58f685"; depends=[formula_tools ggplot2 MASS nlme rpart]; };
@@ -9561,7 +9759,7 @@ in with self; {
   longurl = derive2 { name="longurl"; version="0.3.0"; sha256="0ysa70zlkk3ybddj3yd3vbhjnkjbrisiz5a2hgbjx10p33m1r3am"; depends=[dplyr httr purrr]; };
   loo = derive2 { name="loo"; version="2.1.0"; sha256="0zg8a11qhifg1p3hisxin1q47wlykjig4k3dz5zmflfihpps3x0v"; depends=[checkmate matrixStats]; };
   lookupTable = derive2 { name="lookupTable"; version="0.1"; sha256="0ipy0glrad2gfr75kd8p3999xnfw4pgpbg6p064qa8ljqg0n1s49"; depends=[data_table dplyr]; };
-  loon = derive2 { name="loon"; version="1.2.2"; sha256="1mb6jys2pipac31x8a7rm265zvx1l11w1gl2b82afl8as2v7s90j"; depends=[gridExtra]; };
+  loon = derive2 { name="loon"; version="1.2.3"; sha256="0h6vbsdp7m9wawjswzzpx7sq8q06xj9l1ln11vfwsyfnp4c66bfs"; depends=[gridExtra]; };
   loon_data = derive2 { name="loon.data"; version="0.0.6"; sha256="01bd3w5xfr7lnbdhi9al5svlg7x3xs4l0jbqsrlamzc96izkm952"; depends=[]; };
   loop = derive2 { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
   loopr = derive2 { name="loopr"; version="1.0.1"; sha256="1qzfjv15ymk8mnvb556g2bfk64jpl0qcvh4bm3wihplr1whrwq6y"; depends=[dplyr lazyeval magrittr plyr R6]; };
@@ -9578,7 +9776,7 @@ in with self; {
   lpc = derive2 { name="lpc"; version="1.0.2.1"; sha256="1g1dzm7pcrbrdk1dmhbdhj58j69dzar41al3i8q4gysf3adqzsvv"; depends=[]; };
   lpdensity = derive2 { name="lpdensity"; version="1.0"; sha256="1rmddq8drvwdlqw9ggf3h8dcvx64hh6ha2v9zdxfjmi50zlcirg5"; depends=[ggplot2]; };
   lpint = derive2 { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
-  lpirfs = derive2 { name="lpirfs"; version="0.1.5"; sha256="015009c930jilspmpk8w27lixda3mynqrlv1klss0xaj7ih286yq"; depends=[doParallel dplyr foreach ggplot2 lmtest plm Rcpp RcppArmadillo sandwich]; };
+  lpirfs = derive2 { name="lpirfs"; version="0.1.7"; sha256="0s873vy9vbxbjrxrbwgz9nf483idqvjqbw35ns3h2sjpwhq5i60l"; depends=[doParallel dplyr foreach ggplot2 gridExtra lmtest plm Rcpp RcppArmadillo sandwich]; };
   lplyr = derive2 { name="lplyr"; version="0.1.12"; sha256="1wcab8wwdzpgb61q83gfn2d34vsrd3qa4xyb9sqna6krss1ii1in"; depends=[bazar dplyr lazyeval magrittr]; };
   lpme = derive2 { name="lpme"; version="1.1.1"; sha256="0si90nkgl8bqk8yvd2igdsrngiwqh8891072pfpzipifnd0f5448"; depends=[decon flexmix locpol Rcpp RcppArmadillo]; };
   lpmodeler = derive2 { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
@@ -9596,7 +9794,7 @@ in with self; {
   lsei = derive2 { name="lsei"; version="1.2-0"; sha256="1xl06fb3is744pxlh42wx5hn1h0ab1k31wnmsmh0524kxzcyp0a7"; depends=[]; };
   lshorth = derive2 { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
   lsl = derive2 { name="lsl"; version="0.5.6"; sha256="1hwzklx1qp5ljc059j2hridg3caw4cgn7rbqs8xh2arzcvqdw3rb"; depends=[ggplot2 lavaan reshape2]; };
-  lslx = derive2 { name="lslx"; version="0.6.8"; sha256="0x1xfgk0k77k3qvsqqi5cy73v1a2ra5rbfwvhm3wdjk928n1c9dv"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
+  lslx = derive2 { name="lslx"; version="0.6.9"; sha256="0jfy6j5z53daarv8d8vqsgqdiy6s720m7qlcvrhicc8drvj88mrm"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
   lsm = derive2 { name="lsm"; version="0.1.8"; sha256="0h7gyc4wb0y3hvs21h22l57czdd3xfycg400ncz5c9s63r47wzx3"; depends=[]; };
   lsmeans = derive2 { name="lsmeans"; version="2.30-0"; sha256="1z35dzfgib0fk201gzjhgmnryhl3mkz50gz8g6nfv4mj9kzc5x5f"; depends=[emmeans]; };
   lspartition = derive2 { name="lspartition"; version="0.4"; sha256="1n0pag5l4kx211dl5z9xbqijp7l04jcm0i6jgvkk2b0x9v32q4r5"; depends=[combinat dplyr ggplot2 MASS matrixStats mgcv pracma]; };
@@ -9604,6 +9802,7 @@ in with self; {
   lspls = derive2 { name="lspls"; version="0.2-2"; sha256="1cmffkyc881659l9m1miwhr3jfpwb0xb9n5chg317vcm8l9r4wcn"; depends=[pls]; };
   lsplsGlm = derive2 { name="lsplsGlm"; version="1.0"; sha256="1qh68r033fwq1hc19h2srl1k6znvvvrcp38ghxadsksjfxllvniy"; depends=[]; };
   lsr = derive2 { name="lsr"; version="0.5"; sha256="0q385a3q19i8462lm9fx2bw779n4n8azra5ydrzw59zilprhn03f"; depends=[]; };
+  lss2 = derive2 { name="lss2"; version="1.1"; sha256="1rkv26zq36zyh891xkkllxphwplljmzpy15g619x1w4qvsajyyg8"; depends=[quantreg]; };
   ltable = derive2 { name="ltable"; version="1.0"; sha256="1sx6bknbfkays899yq7wqpvc7izz757smaw9g9i7wii7d7a75plr"; depends=[]; };
   ltbayes = derive2 { name="ltbayes"; version="0.4"; sha256="0kv5k56hmc1m7bv5pmmmk46822szsgwqgpwydn0x56az7xn6hjk6"; depends=[mcmc MHadaptive numDeriv]; };
   ltm = derive2 { name="ltm"; version="1.1-1"; sha256="1qrgzwx5l58qf5rfp1knxc84r0g943q5sdr3ky74zzwpnmrf2vf7"; depends=[MASS msm polycor]; };
@@ -9612,6 +9811,7 @@ in with self; {
   ltsa = derive2 { name="ltsa"; version="1.4.6"; sha256="10wmw9r00400ng2zlysd8jqgypjclshxj83x32002j2a9cz4f186"; depends=[]; };
   ltsbase = derive2 { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
   ltsk = derive2 { name="ltsk"; version="1.0.7"; sha256="1swv5xk5mqmi20wn85a5978gdblmwbx22y3hzadivrk7q130r9w6"; depends=[fields gstat sp]; };
+  ltsspca = derive2 { name="ltsspca"; version="0.1.0"; sha256="0hgl2zd8y01z8mhnqg1hlv1l7klpwhwk7q8b99pw9vgnh1f2gnfs"; depends=[pracma Rcpp RcppArmadillo]; };
   ltxsparklines = derive2 { name="ltxsparklines"; version="1.1.2"; sha256="1jnygg7wm2768lrrzball8rn8f60xy4nc3a18h4d32jpnbhifj13"; depends=[]; };
   lubridate = derive2 { name="lubridate"; version="1.7.4"; sha256="14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i"; depends=[Rcpp stringr]; };
   lucid = derive2 { name="lucid"; version="1.7"; sha256="0hrb8qlm8g4h1ziwxq7m53pf7g8fxhcb2xryavm6rniqpcx8yb7g"; depends=[nlme]; };
@@ -9639,11 +9839,11 @@ in with self; {
   mFilter = derive2 { name="mFilter"; version="0.1-5"; sha256="0anc93mciq8j64knd0i38sfgv10w1gd375wnfzn1fq8sj3lby7kb"; depends=[]; };
   mGSZ = derive2 { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[Biobase GSA ismev limma MASS]; };
   mHG = derive2 { name="mHG"; version="1.1"; sha256="1rz5ncrvvv9h9grls15apa63v2nh9j87fmp4mwjjil37jx6a5zki"; depends=[]; };
+  mHMMbayes = derive2 { name="mHMMbayes"; version="0.1.1"; sha256="0dwywrnzdzkq48x2li9waj1yrm9r5b3qnksad42kf1bm28r1mdl5"; depends=[MCMCpack mvtnorm Rdpack]; };
   mMPA = derive2 { name="mMPA"; version="1.2.0"; sha256="0g4zjknz52fpk7f436j95aw93aa8q2jwcrb1pqkm294kr276nnd9"; depends=[]; };
   mQTL = derive2 { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[MASS outliers qtl]; };
   mRMRe = derive2 { name="mRMRe"; version="2.0.9"; sha256="1zk09w9s8sc11j5cl0v93i09yn83f11diqib27rrph37aix2vs3p"; depends=[igraph survival]; };
-  mRm = derive2 { name="mRm"; version="1.1.6"; sha256="1d897c5xflbkkj25hw15rd62nggv000cv2j481x0lhdgmgldjhrh"; depends=[]; };
-  mRpostman = derive2 { name="mRpostman"; version="0.2.0"; sha256="16l6531s5ljas75gm2l744nwq134v61qrq1xjn4g26zbr1q1y3c9"; depends=[assertthat base64enc curl magrittr stringr]; };
+  mRpostman = derive2 { name="mRpostman"; version="0.3.0"; sha256="18ky3xpgb4rns65574jr9fy8jwi6nrz6py9ai8nqf2r1s0bdmww3"; depends=[assertthat base64enc curl magrittr stringr]; };
   mSTEM = derive2 { name="mSTEM"; version="1.0-1"; sha256="0mh09mqqpq9k8jrxs9d39009idld3b4y98ik75czdy580jmdg7mm"; depends=[doParallel foreach latex2exp]; };
   mSimCC = derive2 { name="mSimCC"; version="0.0.1"; sha256="1f15r214srcdb4yacmy4hq890a674iqd2s7bry5dk20k46qdl026"; depends=[doParallel foreach]; };
   maGUI = derive2 { name="maGUI"; version="2.3"; sha256="0dr0f90ldisqxklhysipbca6di7j6ks6an5k44g65h57b85z4n3q"; depends=[affy amap annotate beadarray Biobase BiocManager Biostrings Category convert genefilter GEOmetadb GEOquery globaltest GO_db GOstats graph gWidgets gWidgetsRGtk2 impute KEGGgraph KEGGREST limma lumi marray oligo pdInfoBuilder RBGL Rgraphviz RGtk2 RSQLite simpleaffy ssize WGCNA]; };
@@ -9680,18 +9880,19 @@ in with self; {
   makeProject = derive2 { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
   makedummies = derive2 { name="makedummies"; version="1.2.1"; sha256="062rvijhy2dybpgxzp44cg46bfyb8lp9yasv3mhskhf3yg717sqp"; depends=[tibble]; };
   malani = derive2 { name="malani"; version="1.0"; sha256="1jps28gfkiysr356ackxf1my5xz6rpx3a2bv68pziy2614hrqbs9"; depends=[e1071]; };
-  malariaAtlas = derive2 { name="malariaAtlas"; version="0.0.4"; sha256="0hvbzknh4qv1d7by5pgyq85b1accinwx57f9a24jg4cw4307dncg"; depends=[curl dplyr ggplot2 gridExtra httr raster rgdal rlang sp stringi tidyr xml2]; };
+  malariaAtlas = derive2 { name="malariaAtlas"; version="0.0.5"; sha256="1hz23b7yq8vq5ydj1xwazg1zkl4f4kykgy6qhh6v8mwk70yg4s1w"; depends=[curl dplyr ggplot2 gridExtra httr raster rgdal rlang sp stringi tidyr xml2]; };
   mallet = derive2 { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
   managelocalrepo = derive2 { name="managelocalrepo"; version="0.1.5"; sha256="180b7ikas1kb7phm4l2z1d8wi45wi0qyz2c8rl8ml3f71b4mlzgc"; depends=[assertthat stringr]; };
   mandelbrot = derive2 { name="mandelbrot"; version="0.2.0"; sha256="04a288jj8h1a04r584a02wg9dm3c6zifhqwj964ybsvgb4m6g99s"; depends=[reshape2]; };
   manet = derive2 { name="manet"; version="2.0"; sha256="1dnacgkdjmn7yiqk71qx5jgfipbpvqfdnrdd8wm0b9p8kgw4x7n4"; depends=[combinat igraph mclust MCMCpack]; };
   mangoTraining = derive2 { name="mangoTraining"; version="1.0-7"; sha256="0lw46j44jhdcyh079a7zjmxcnv5c6qsfachinlwv3ild1gwggr3p"; depends=[]; };
   manhattanly = derive2 { name="manhattanly"; version="0.2.0"; sha256="185fkakx4v35n4gmlpk2kfm2bm8p320q4khkw936m09zx3aqz398"; depends=[ggplot2 magrittr plotly]; };
-  manhplot = derive2 { name="manhplot"; version="1.0"; sha256="1dxqfdfr9iqlgwzn8sw5k1znj99h41z2fyrv54243nkf7yzcix0q"; depends=[ggplot2 ggrepel gridExtra reshape2]; };
+  manhplot = derive2 { name="manhplot"; version="1.1"; sha256="17yw10gpfp6bqmilb09v61jd2amz6cv1z38si4nqnhbvmac065qd"; depends=[ggplot2 ggrepel gridExtra reshape2]; };
   manifestoR = derive2 { name="manifestoR"; version="1.3.0"; sha256="1bxmlg6fmr4ky9m7b65rrylspwhwc8k9s1cbxnx9dyl33wh39ci6"; depends=[base64enc dplyr DT functional htmltools htmlwidgets httr jsonlite magrittr NLP psych tibble tm zoo]; };
   manipulate = derive2 { name="manipulate"; version="1.0.1"; sha256="1klknqdfppi5lf6zbda3r2aqzsghabcsaxmvd3vw3cy3aa984zky"; depends=[]; };
   manipulateWidget = derive2 { name="manipulateWidget"; version="0.10.0"; sha256="1zagrbwkn2d50zzw8i2vyb1hsq4cydmfsqiy1a2qlp6zrv8a6q9x"; depends=[base64enc codetools htmltools htmlwidgets knitr miniUI shiny webshot]; };
   manymodelr = derive2 { name="manymodelr"; version="0.2.2"; sha256="02jswli6k4m9662zf48maix28lr7w93rgwvzgm0nv1zf2mdrh6qb"; depends=[caret dplyr e1071 magrittr Metrics plyr purrr reshape2 tibble]; };
+  maotai = derive2 { name="maotai"; version="0.1.1"; sha256="0g79mhm2cnr8pqhkh6xhi3dxws98i7pbcrw5ciixrghfjn5w7f16"; depends=[Matrix mclust Rcpp RcppArmadillo Rdpack RSpectra shapes]; };
   mapReasy = derive2 { name="mapReasy"; version="1.0"; sha256="13va0z967ckwxnnianki5aj66km0x6r37nj4mz9qd3b0bps4g2kj"; depends=[Hmisc rgdal sp]; };
   mapStats = derive2 { name="mapStats"; version="2.4"; sha256="18pp1sb9p4p300ffvmzjrg5bv1i7f78mhpggq83myc26c3a593na"; depends=[classInt colorspace Hmisc lattice maptools RColorBrewer reshape2 sp survey]; };
   mapcan = derive2 { name="mapcan"; version="0.0.1"; sha256="1a4135wc1h4nzcv6xq0bg75i744wyq8p7q0ix7y2x2gb6s35w46k"; depends=[dplyr ggplot2 magrittr]; };
@@ -9699,15 +9900,15 @@ in with self; {
   mapdeck = derive2 { name="mapdeck"; version="0.2.1"; sha256="1slj4yrw7qir3cz70yqawbsz521n4614h6gjn0qpj75rj12wnxlk"; depends=[BH colourvalues geojsonsf googlePolylines htmltools htmlwidgets jsonify magrittr rapidjsonr Rcpp shiny spatialwidget]; };
   mapedit = derive2 { name="mapedit"; version="0.5.0"; sha256="16rdksnkx6s7w92as896scfdnl1smp00fdnxmlz4ayym2a26wagb"; depends=[dplyr htmltools htmlwidgets jsonlite leaflet leaflet_extras leafpm mapview miniUI sf shiny]; };
   mapfit = derive2 { name="mapfit"; version="0.9.7"; sha256="16a318bz3my27qj0xzf40g0q4bh9alg2bm6c8jbwgswf1paq1xmx"; depends=[Matrix]; };
-  mapi = derive2 { name="mapi"; version="1.0.0-62"; sha256="1czg2lqrlmp7fsm7908bwd4f9klq8d90z79zb1g80w2dlh5hb0nc"; depends=[data_table pbapply Rcpp sf]; };
-  mapmisc = derive2 { name="mapmisc"; version="1.7.2"; sha256="0w0yvdnxk6gjcc86b6imq764va9f9hjan3ayw7qrbjpqx16fs7dx"; depends=[raster sp]; };
+  mapi = derive2 { name="mapi"; version="1.0.1"; sha256="0qfwxrd0ya5amw7f96pfxf3f8m97s7vhaz62clqn083mw8ddaz2l"; depends=[data_table pbapply Rcpp sf]; };
+  mapmisc = derive2 { name="mapmisc"; version="1.7.5"; sha256="0p9vpilyrz7ifhljqsbjvzgql01vl76y45day21n8517gsdwyvkd"; depends=[raster sp]; };
   mapplots = derive2 { name="mapplots"; version="1.5.1"; sha256="18s2y66f8vi8g2r8a25zbgp2xm079r8v8qxv0w71h8krycs6vs9p"; depends=[]; };
   mapproj = derive2 { name="mapproj"; version="1.2.6"; sha256="1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"; depends=[maps]; };
   mapr = derive2 { name="mapr"; version="0.4.0"; sha256="169ah9v7cpw3hmaj6n575gi1zwazf4vh59n46zghb1x68nc2gqs0"; depends=[data_table ggplot2 gistr jsonlite leaflet RColorBrewer rworldmap sp spocc]; };
   maps = derive2 { name="maps"; version="3.3.0"; sha256="05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"; depends=[]; };
   mapsRinteractive = derive2 { name="mapsRinteractive"; version="1.0.0"; sha256="0lpmizhaan7zp201wjaq544wadizwpswch7sn6m3sjwn8rswg6av"; depends=[gstat raster rgdal rgeos sp]; };
   mapsapi = derive2 { name="mapsapi"; version="0.4.2"; sha256="1l7sp65ghdcli6ajkvlnhfizjq16mw2cmlf8jbif3al1vhbv4dvw"; depends=[bitops magrittr plyr sf xml2]; };
-  maptools = derive2 { name="maptools"; version="0.9-5"; sha256="1pbvcn9xfx0hxq1ppbfg9xm5j04q4c15nj983yjmg7dlkzq135ax"; depends=[foreign lattice sp]; };
+  maptools = derive2 { name="maptools"; version="0.9-9"; sha256="0v4llkxk8qs61vq4ykvaim4k23aagdaz0p62ns7zfq02sln3pfk9"; depends=[foreign lattice sp]; };
   maptpx = derive2 { name="maptpx"; version="1.9-2"; sha256="1i5djmjg0lsi7xlkbvn90njq1lbyi74zwc2nldisay4xsbgqg7fj"; depends=[slam]; };
   maptree = derive2 { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
   mapview = derive2 { name="mapview"; version="2.7.0"; sha256="1cqa7hw7h0n6ing87bq903ax2m4iw82xb2jdgl55z9v9rdhxp0xh"; depends=[base64enc brew htmltools htmlwidgets lattice leafem leaflet leafpop png raster Rcpp satellite scales sf sp svglite uuid viridisLite webshot]; };
@@ -9718,6 +9919,7 @@ in with self; {
   marg = derive2 { name="marg"; version="1.2-2.1"; sha256="1r6rl7dhvm8dghm7pm4hfw3924qja65hczl6d47v9ixnv4rxyzr9"; depends=[statmod survival]; };
   margins = derive2 { name="margins"; version="0.3.23"; sha256="1gn18bmz7zwdv5fm62g4kj1x0y4lzhwvwgk4xc9hfi2mh5w08j4f"; depends=[data_table MASS prediction]; };
   marima = derive2 { name="marima"; version="2.2"; sha256="03nvh93r4052li84yjqzc106gwh1542q9s192s980gs6sgy8scm6"; depends=[]; };
+  marindicators = derive2 { name="marindicators"; version="1.0.0"; sha256="1id055jc624n34vxb68gdy2kgfsm5y61dkfskzhlrwq9d5npxv6m"; depends=[]; };
   marinespeed = derive2 { name="marinespeed"; version="0.1.0"; sha256="1r9bpggb88px8149dsga3xmkjhjq6ybs6a5kp60qz28iyr183mar"; depends=[bit geosphere sp]; };
   markdown = derive2 { name="markdown"; version="1.1"; sha256="06zwbrp14bri3470anadd7dvgmw06xf8df6v2pk64wx3f9sd934d"; depends=[mime xfun]; };
   marked = derive2 { name="marked"; version="1.2.1"; sha256="138m1clidyhahpz111iblff2w44m8zp0302vcj46frk1c60c46qi"; depends=[coda expm lme4 Matrix numDeriv optimx R2admb Rcpp TMB truncnorm]; };
@@ -9731,7 +9933,7 @@ in with self; {
   mason = derive2 { name="mason"; version="0.2.6"; sha256="01ppc7f18kf4xv4lrhib0cfm85v658grmxpny3h3kdb4pi4rbspy"; depends=[broom dplyr lazyeval magrittr tidyr]; };
   mastif = derive2 { name="mastif"; version="1.0"; sha256="1xxfql4d298ib9h8821jp717a60vgxq7nzs08yb3xyzp0c3djja2"; depends=[corrplot RANN Rcpp RcppArmadillo repmis xtable]; };
   matR = derive2 { name="matR"; version="0.9.1"; sha256="1qw2vqmpq7gc3dmr9r000ccjj7xa0h82waxnvryz3l17ggryyjjm"; depends=[BIOM_utils MGRASTer]; };
-  matahari = derive2 { name="matahari"; version="0.1.0"; sha256="004dqixbb5azdv52wcglb3p7yc41nyn3fhf7yrvcpclaqizggamy"; depends=[clipr jsonlite purrr readr rlang rstudioapi tibble]; };
+  matahari = derive2 { name="matahari"; version="0.1.1"; sha256="0lsqgxglfvk9p6zyd1m377z3jygvrm2dvrnw0bd6kpadycc8p5cb"; depends=[clipr jsonlite purrr readr rlang rstudioapi tibble]; };
   matchMulti = derive2 { name="matchMulti"; version="1.1.7"; sha256="0k5psmjzcyr7pm603vni7w2hvslck05r81cngm26pql2prdrv5yk"; depends=[coin Hmisc MASS mvtnorm plyr rcbsubset weights]; };
   matchbook = derive2 { name="matchbook"; version="1.0.7"; sha256="0xfqg8z2zkn215kqmjjkqdwrgsk7cn4jdpxfgd6razhcbvflg48j"; depends=[]; };
   matchingMarkets = derive2 { name="matchingMarkets"; version="1.0-1"; sha256="0c2jaccjdwgnx39jgak35hanaxq301h3qaj90xivlr9dk8xg19qx"; depends=[lattice lpSolve partitions Rcpp RcppArmadillo RcppProgress rJava]; };
@@ -9750,18 +9952,19 @@ in with self; {
   matrixProfile = derive2 { name="matrixProfile"; version="0.5.0"; sha256="0nd54k878xf7hzwxawh03c3na4jfvb68afarkwrmmffjlp3i8a9g"; depends=[fftw signal TTR zoo]; };
   matrixStats = derive2 { name="matrixStats"; version="0.55.0"; sha256="06fvx0rlaz80k0lkqq2n7v0309xpz7h7ss0m9kgyikp4xs8bvmhn"; depends=[]; };
   matrixStrucTest = derive2 { name="matrixStrucTest"; version="1.0.0"; sha256="06la9xmpi1viyjml4m1akbna3lwkz5lnq95v1nnf73i9zpfwz03k"; depends=[]; };
-  matrixTests = derive2 { name="matrixTests"; version="0.1.6"; sha256="0kc7qh0a0m598irpbgd78h8rks3sp497w8klcr2wgm6q29dfm4c7"; depends=[matrixStats]; };
+  matrixTests = derive2 { name="matrixTests"; version="0.1.7"; sha256="1p0bdy783nj9c94nqwi3vx02rsfsvsjms086mxzhz6icn53l54ch"; depends=[matrixStats]; };
   matrixcalc = derive2 { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
   matrixpls = derive2 { name="matrixpls"; version="1.0.5"; sha256="04sshb88rq2mp3y4rrs6nkzr4kc380vx380r911c7j975l55a183"; depends=[assertive lavaan MASS matrixcalc psych]; };
   matrixsampling = derive2 { name="matrixsampling"; version="2.0.0"; sha256="05dbn7rj07jx1hj7i6k3akf11hysxg6v32kav9fvsqmiy2zkippa"; depends=[keep]; };
   matsbyname = derive2 { name="matsbyname"; version="0.4.10"; sha256="004947nqy3mps34ym506y8q31awfca7g2y2d4wdq7kncxdk4a388"; depends=[dplyr Hmisc magrittr]; };
-  matsindf = derive2 { name="matsindf"; version="0.3.0"; sha256="0bvy81wj5hhgqqdyvnzk4vn883zxxzppzvrralkj6ag7q17d07dj"; depends=[dplyr magrittr matsbyname purrr rlang rlist tibble tidyr]; };
+  matsindf = derive2 { name="matsindf"; version="0.3.1"; sha256="18pbc00z8djmbmdzfg3s2n9k48xp8bllab17a93ngwa69cqm1mxg"; depends=[dplyr magrittr matsbyname purrr rlang rlist tibble tidyr]; };
   mau = derive2 { name="mau"; version="0.1.2"; sha256="1wgiai8f1kbjh9hfwv4m0kavd44ib5xb33p8m16zpawnw14m7sj5"; depends=[data_table ggplot2 gtools igraph RColorBrewer Rdpack stringr]; };
+  mauricer = derive2 { name="mauricer"; version="2.0.5"; sha256="01x1cigwr95hzyz1pm9w5xi2j9z4zf54p6bwhn0y865gln80wvnz"; depends=[beastier stringr]; };
   maxLik = derive2 { name="maxLik"; version="1.3-6"; sha256="0jlj8g7pm3caa4r7slwqd9rfrh7sn22g36dgynmcaw3dfwj23scm"; depends=[miscTools sandwich]; };
   maxTPR = derive2 { name="maxTPR"; version="0.1.0"; sha256="13x5rz0mfha5pzahkk4x67ncz9v77sa690cyl6wigwsldsrvzr3h"; depends=[aucm Rsolnp]; };
   maxadjAUC = derive2 { name="maxadjAUC"; version="0.1.0"; sha256="04zdaqmavhhrj63s2k5pqncvlzbfnxan7r0fagfka9dypwwcl5qm"; depends=[aucm Hmisc Rsolnp survival]; };
-  maximin = derive2 { name="maximin"; version="1.0-2"; sha256="1gg19x73kl1yghak9lx3fq0yl8vcpvcxqzfs6qqlky502ygcv96n"; depends=[plgp]; };
-  maxlike = derive2 { name="maxlike"; version="0.1-7"; sha256="0gi33hcjj456sjw7l3q4n46k4cb6m3ml3ycd93pnajxacl24swbb"; depends=[raster]; };
+  maximin = derive2 { name="maximin"; version="1.0-3"; sha256="1wfhpgk149aw6gkdlr8g29icj0l0xa8fczxkz4hbdr91dqmnxvp3"; depends=[plgp]; };
+  maxlike = derive2 { name="maxlike"; version="0.1-8"; sha256="0lbj212dbx8lbkw808xlhniw5864bh86xs8zwvxcnngj0abapalh"; depends=[raster]; };
   maxmatching = derive2 { name="maxmatching"; version="0.1.0"; sha256="1xbwrhmr8gzvlcprib7nzvqrcd355bhx7wkqxrvfk4g7dvskf9ka"; depends=[igraph]; };
   maxnet = derive2 { name="maxnet"; version="0.1.2"; sha256="1rfcylbv068pz4jgry5ijszwf5fibz566s5iv0ar8dhv0fhjr86z"; depends=[glmnet]; };
   maxstat = derive2 { name="maxstat"; version="0.7-25"; sha256="114z1rwxwvk05ijjhdppzm148n1h192fp0w12ky10zkrhf6kphbg"; depends=[exactRankTests mvtnorm]; };
@@ -9770,13 +9973,14 @@ in with self; {
   mazeinda = derive2 { name="mazeinda"; version="0.0.1"; sha256="0ns4ib73y4fghf7p1wg0a05js4mqr66dpp49p1h039pqrb0f1vwd"; depends=[foreach]; };
   mbbefd = derive2 { name="mbbefd"; version="0.8.8.5"; sha256="1bnbavhii2wm9944l4j5x21y9b3kp0sdshz32r1k7cy1y569zd6r"; depends=[actuar alabama fitdistrplus gsl MASS Rcpp]; };
   mbclusterwise = derive2 { name="mbclusterwise"; version="1.0"; sha256="1ilqaxcxf1k3ck910s0xqwnp88w8ag5rn1dpvaa1i7jlcldsbnhp"; depends=[ade4 doParallel foreach kknn]; };
+  mbend = derive2 { name="mbend"; version="1.2.3"; sha256="0w1rrj1zcbvi8nlspzqa8142ilvbw9q6m26kmxqcp9mvqzbnbd30"; depends=[]; };
   mbest = derive2 { name="mbest"; version="0.6"; sha256="1x0f7y5hj6a35wq1xn6g7jyjn9c4zryahwlf07qrypgrcnj2m8vx"; depends=[abind bigmemory foreach lme4 logging nlme]; };
   mbgraphic = derive2 { name="mbgraphic"; version="1.0.1"; sha256="1f5zzm9xv6c4qid75r4pww4cqclk664m5xm5p72yb9ijiwc77cy1"; depends=[diptest dplyr energy GGally ggplot2 gridExtra hexbin magrittr mgcv Rcpp scagnostics scales seriation shiny]; };
   mbir = derive2 { name="mbir"; version="1.3.5"; sha256="10sd5gk2k94cmi49nbpywqvh9bxj9q3psa3d00zmw1a7d6c0jjpd"; depends=[effsize psych]; };
   mblm = derive2 { name="mblm"; version="0.12.1"; sha256="1fipb3bryaimr30lcxsxrn0ymv24z39swca7s4z7p9xcfg3ban1b"; depends=[]; };
   mbmdr = derive2 { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; };
   mboost = derive2 { name="mboost"; version="2.9-1"; sha256="02ia3y0fxfjl02fb1nnl93j640fyl18jm15cgxyybhf27w4jdvb7"; depends=[lattice Matrix nnls partykit quadprog stabs survival]; };
-  mboxr = derive2 { name="mboxr"; version="0.1.6"; sha256="11fakbrhpphjbc4p0src0f3l39dillhbz8030cc79zdann9jfp4p"; depends=[dplyr lubridate magrittr purrr reticulate tibble]; };
+  mboxr = derive2 { name="mboxr"; version="0.2.0"; sha256="1d11fpz17k65dzw9sjc7zfs1jpajzrh2pvr2s435p83g3mpf40vz"; depends=[dplyr lubridate magrittr purrr reticulate stringr tibble tidyr]; };
   mbrglm = derive2 { name="mbrglm"; version="0.0.1"; sha256="0yxq1xk8qy5hpiqqldyrs78lp4ggdp5lj2lmh8rqq1xvsfr6nrh4"; depends=[enrichwith nleqslv]; };
   mc_heterogeneity = derive2 { name="mc.heterogeneity"; version="0.1.0"; sha256="1jrj7kkykhw9qj71cfjrn5gbm3qyrbdcc4cj3mfz62wlvny18233"; depends=[metafor]; };
   mc2d = derive2 { name="mc2d"; version="0.1-18"; sha256="1ljw8ms661bsdqbfpjvvrif9n0c2i6lzxyqj4rxhxsp3dj18w3g3"; depends=[mvtnorm]; };
@@ -9788,7 +9992,7 @@ in with self; {
   mcbiopi = derive2 { name="mcbiopi"; version="1.1.6"; sha256="1caw2sy15hw2zw0bdynwnsa7hn4rly34hlxp06nwm5lssz8l2597"; depends=[]; };
   mcc = derive2 { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
   mcca = derive2 { name="mcca"; version="0.6.0"; sha256="0frac86ahljc0pamky1zds32amh3sadd1299x8k7qcfmlv1rh4ym"; depends=[caret e1071 MASS nnet pROC rgl rpart]; };
-  mccf1 = derive2 { name="mccf1"; version="1.0"; sha256="1d8dw3kb2p3n3kgpihbxmwvg4blvaiss4s09452xz0d1gkjk4y01"; depends=[ggplot2 ROCR]; };
+  mccf1 = derive2 { name="mccf1"; version="1.1"; sha256="023pvjfc1iv7hac3gz5rakg6ljs92j0qfm4givad5iiwv5n4k3zr"; depends=[ggplot2 ROCR]; };
   mcclust = derive2 { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
   mccmeiv = derive2 { name="mccmeiv"; version="2.1"; sha256="1lkghvvwxvg474p37h1mpbackr5qmy05qkx8yiq4x066wrfq1w1i"; depends=[MASS numDeriv survival]; };
   mccr = derive2 { name="mccr"; version="0.4.4"; sha256="1scqds1yx317qmjappy2h1m564dcmsqqfpdm8pm3plalag16xrhj"; depends=[]; };
@@ -9816,7 +10020,7 @@ in with self; {
   mcprofile = derive2 { name="mcprofile"; version="0.2-3"; sha256="0rakaa1p6z0p4jl4df357vi58wzph81ik6plc8zzl370r8mj1y8q"; depends=[ggplot2 mvtnorm quadprog]; };
   mcr = derive2 { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
   mcsm = derive2 { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[coda MASS]; };
-  mctest = derive2 { name="mctest"; version="1.2"; sha256="0rsyqdfsmyvjgns7z2vj24n91ziaz45q4vidk48ay3acfam8i274"; depends=[]; };
+  mctest = derive2 { name="mctest"; version="1.2.5"; sha256="1brqa8rvb5jvwmjz4wms7rhzv9xpvqydzkjm46ckz9fsiwrkq5mf"; depends=[]; };
   md = derive2 { name="md"; version="1.0.4"; sha256="13z8f3p84kivk6j58fb1qpzrmml41mq9pgv9nv2gvxrhyhanzi46"; depends=[]; };
   md_log = derive2 { name="md.log"; version="0.1.1"; sha256="0ix5nz38xzlhrga40hfhlfss938mrfbni2wysvz2qbpm59qxrhg0"; depends=[futile_logger]; };
   mda = derive2 { name="mda"; version="0.4-10"; sha256="19g6kn6g0shidrjfffklbmzc5w7mcimrxhagx4nmpslg59ibqdkh"; depends=[class]; };
@@ -9829,11 +10033,10 @@ in with self; {
   mdmb = derive2 { name="mdmb"; version="1.3-18"; sha256="0jvwwdblky080j8cwfjna2d11z7hr672cdw9bkjz7ngd44blyp8x"; depends=[CDM coda miceadds Rcpp RcppArmadillo sirt]; };
   mdpeer = derive2 { name="mdpeer"; version="1.0.1"; sha256="1vsqhah8h47s8k687fwa352549mdz16mwk1g7rcmhx75c2k85w2q"; depends=[boot ggplot2 glmnet magic nlme nloptr psych reshape2 rootSolve]; };
   mds = derive2 { name="mds"; version="0.3.0"; sha256="098ynvwra7ylli1pklmmfl9xnmiyd13iw5zd7g2xlqmg3rrphysg"; depends=[lubridate parsedate]; };
-  mdsOpt = derive2 { name="mdsOpt"; version="0.4-2"; sha256="1f31d3snn99bzcc4rh8dmasis9nag3q3gvbc43733q6izcjq0aa9"; depends=[animation clusterSim plotrix smacof smds spdep symbolicDA]; };
+  mdsOpt = derive2 { name="mdsOpt"; version="0.4-3"; sha256="0chk95n8gvj8jxvqq3bkdsw3hjaizcqd0x2lk32rkaq52lp3l9d8"; depends=[animation clusterSim plotrix smacof smds spdep symbolicDA]; };
   mdscore = derive2 { name="mdscore"; version="0.1-3"; sha256="10cl5r6kd9chdik5v0q91x40xpw2cjvvyi220z4bvngpb0989x8j"; depends=[MASS]; };
   mdsdt = derive2 { name="mdsdt"; version="1.2"; sha256="0nbzc54jac4wmfyrs821ycxh749cb1zfxcws0nbpk35rydqkc627"; depends=[ellipse mnormt polycor]; };
   mdsr = derive2 { name="mdsr"; version="0.1.7"; sha256="1angy75nyhzwfhmb4axs14yl0jsxjaiqh5nz2jpmi5j890y32zda"; depends=[babynames DBI dbplyr downloader dplyr fs ggplot2 mosaic RMySQL]; };
-  mdsstat = derive2 { name="mdsstat"; version="0.3.1"; sha256="1nbdyxlk1kv2hjr281z3rw42ddq7v19vnh8jg0yxyvp466d1yi24"; depends=[lubridate mds Sequential]; };
   mdw = derive2 { name="mdw"; version="2017.12-03"; sha256="054vssnypbik0yf6smicggnkrqf6kx8k21nbf5rminsh00sx39k1"; depends=[]; };
   meaRtools = derive2 { name="meaRtools"; version="1.0.4"; sha256="1nxyvdq4670696mhg0svxxlvk9hnr8szai8b18pw6754kmw1bjvn"; depends=[emdist ggplot2 gridExtra gtools lattice plyr Rcpp reshape2]; };
   meanShiftR = derive2 { name="meanShiftR"; version="0.53"; sha256="1pla9hr9nbbnc3hcmk0ywfh6129zng5lp3dmjqb3cgdrmwkdrx9i"; depends=[]; };
@@ -9847,7 +10050,7 @@ in with self; {
   medfate = derive2 { name="medfate"; version="0.8.2"; sha256="0f86cpczzkpx8sy6krx970zy1fmsn93mjkm9mq00w2nw91kqjrh6"; depends=[ggplot2 GSIF meteoland Rcpp sp spdep]; };
   medflex = derive2 { name="medflex"; version="0.6-6"; sha256="04cjqhyihxf1imbl9y9s58qpy6lmxsh2gwy4bras03hx52slzl5r"; depends=[boot car Matrix multcomp sandwich]; };
   mediacloudr = derive2 { name="mediacloudr"; version="0.1.0"; sha256="1r11mpz44msla71lqw45r9s8z7rwvbnqi026l0ljx6crby183h0w"; depends=[httr jsonlite rvest xml2]; };
-  mediation = derive2 { name="mediation"; version="4.4.7"; sha256="0nd4nli1qsvhgf404v1y16bc8q7axmpzyhbn38vncranb6lc235l"; depends=[Hmisc lme4 lpSolve MASS Matrix mvtnorm sandwich]; };
+  mediation = derive2 { name="mediation"; version="4.5.0"; sha256="0i88wvqqw8cmxmh9i78rqzp4s16zhf12dgl9fsk9bhw7hxhhc0i1"; depends=[boot Hmisc lme4 lpSolve MASS Matrix mvtnorm sandwich]; };
   medicalrisk = derive2 { name="medicalrisk"; version="1.2"; sha256="1zdxv3rj7768kbyxfvr9n0hp4z7y0sf3r7ssqv731hjjp656l6xp"; depends=[hash plyr reshape2]; };
   medicare = derive2 { name="medicare"; version="0.2.1"; sha256="00a1gml2khzisdavnaip6ap4bw45b17nbl9cqb1mqrm4y0p9gm16"; depends=[]; };
   meditations = derive2 { name="meditations"; version="1.0.1"; sha256="0wnx3zadpngfch0sb0ifqvsmzl613639f1yazwsgvhk29mycx4ss"; depends=[]; };
@@ -9864,10 +10067,10 @@ in with self; {
   meme = derive2 { name="meme"; version="0.2.2"; sha256="1q78q8080vvqni8ncqp326pidfjfia0f2b6pis08m7fr1q1gcqca"; depends=[ggplot2 gridGraphics magick showtext sysfonts]; };
   memery = derive2 { name="memery"; version="0.5.2"; sha256="1hr52g69lr2n84yczm8i8yxh7rys5nr8jk1hcmv548p5y79l8k9s"; depends=[Cairo colourpicker cowplot ggplot2 jpeg magrittr png purrr shiny shinyBS shinycssloaders showtext sysfonts]; };
   memgene = derive2 { name="memgene"; version="1.0.1"; sha256="1x3vf2f1yh40xw5vqcjlrn07zn9zh3sx4kc9dijxzygd9crl5a29"; depends=[ade4 gdistance raster vegan]; };
-  memisc = derive2 { name="memisc"; version="0.99.17.2"; sha256="0w3pjgf7vr26gcva2hcrh9kab70bcnpc1nz4lxjxr9sywm7czmav"; depends=[lattice MASS repr]; };
+  memisc = derive2 { name="memisc"; version="0.99.20.1"; sha256="1x0vm115m02zwq45knlkrwis21swkwcwl19fhqa59vmncrmzjsqy"; depends=[lattice MASS repr]; };
   memnet = derive2 { name="memnet"; version="0.1.0"; sha256="1lhpij3dm4whsawy6cxcfcwn9q881i8jbjpkrwvdsn63ibxrm55s"; depends=[BH igraph Rcpp]; };
   memo = derive2 { name="memo"; version="1.0.1"; sha256="14nvqi1qsin45ksd0wp9cigjk1gghr4jijdqkaqh177dwa244r9j"; depends=[digest]; };
-  memochange = derive2 { name="memochange"; version="1.0.0"; sha256="1hisd1f4chcavhw4rnalz1wj16rnd12p1fxmvghmj8gcnm4b5sx2"; depends=[fracdiff longmemo LongMemoryTS sandwich strucchange urca]; };
+  memochange = derive2 { name="memochange"; version="1.1.0"; sha256="1im6342by0pf1kmz8jps9d3y752k87bl02v5ddywbvh0idkdnba5"; depends=[forecast fracdiff longmemo LongMemoryTS sandwich strucchange urca]; };
   memoise = derive2 { name="memoise"; version="1.1.0"; sha256="034qfc2xlh30x1q2vya239w34a3ir3y2fwnx2agbgbi6592zjxmj"; depends=[digest]; };
   memor = derive2 { name="memor"; version="0.2"; sha256="10w2jw9ma7yds2d179l7bv4rzpggp3l04kvqnncii6yf5f4lj9cd"; depends=[knitr rmarkdown yaml]; };
   memoria = derive2 { name="memoria"; version="1.0.0"; sha256="05nx6xkgf1mkn1ajjizwp66xhn7ddbvgdnmkdbcl4s7sq456vczw"; depends=[cowplot ggplot2 HH ranger stringr tidyr viridis viridisLite zoo]; };
@@ -9880,9 +10083,9 @@ in with self; {
   merlin = derive2 { name="merlin"; version="0.0.1"; sha256="14k8kz8icj3wgd3li83v0wfl61pdc97r7qjcsmmc5srp36kbw1i9"; depends=[MASS randtoolbox statmod survival]; };
   merror = derive2 { name="merror"; version="2.0.2"; sha256="13d9r5r83zai8jnzxaz1ak40876aw20zbpr244gs55rvj5j7f87q"; depends=[]; };
   messaging = derive2 { name="messaging"; version="0.1.0"; sha256="0q19cqp1zgh0yhk1ql0jqf414bhx6jwhkairq6wx2cmkli2g7k1y"; depends=[dplyr glue magrittr rlang stringr]; };
-  metR = derive2 { name="metR"; version="0.4.0"; sha256="1j4y2nn2r1i29h2invid8s695nv7b1lfanqspc281gjkrkns77ps"; depends=[checkmate curl data_table digest dplyr fields Formula formula_tools ggplot2 gridExtra gtable lubridate maps maptools Matrix memoise plyr purrr RCurl scales sp stringr]; };
+  metR = derive2 { name="metR"; version="0.5.0"; sha256="0dpbzyawswlvzydx54i4f75zv79qww1p5hk1p4pzjc7fmgx9ba57"; depends=[checkmate curl data_table digest dplyr fields Formula formula_tools ggplot2 gridExtra gtable lubridate maps maptools Matrix memoise plyr purrr RCurl scales sp stringr]; };
   metRology = derive2 { name="metRology"; version="0.9-28-1"; sha256="1syjwblyd18myxrs0hx4m91fgb6zs3r4g7w701j2f2pw6j9mvz0y"; depends=[MASS numDeriv robustbase]; };
-  metScanR = derive2 { name="metScanR"; version="1.2.2"; sha256="07j9y54z039gnrp8w6xi0xj4xzl8x2qjlzgf4nh9frmwqd6cld2i"; depends=[geosphere leaflet matlab plyr RCurl]; };
+  metScanR = derive2 { name="metScanR"; version="1.2.3"; sha256="1v7zrxj3wspx6f5n5s75skcygbf3r85rn4p0z9iwbrbrgxwi4qgs"; depends=[geosphere leaflet matlab plyr RCurl]; };
   meta = derive2 { name="meta"; version="4.9-7"; sha256="0fwas40007sm6x6zf7vv8527qj7kq6h6amqsyl68nilvwfg4d0ap"; depends=[lme4 metafor]; };
   meta4diag = derive2 { name="meta4diag"; version="2.0.8"; sha256="1ila8x9r1rdmlwfpzfx1zj5yx1m4yrbhyb74db4wqbh1dswn7zsm"; depends=[caTools shiny shinyBS sp]; };
   metaBLUE = derive2 { name="metaBLUE"; version="1.0.0"; sha256="0ppn4bvr10z32pghmv4wjv86k6n5y5bkfxc6h5mvb556v6jnl6d8"; depends=[Matrix]; };
@@ -9893,11 +10096,12 @@ in with self; {
   metaMix = derive2 { name="metaMix"; version="0.3"; sha256="17qkwg9iz5v63ybyvqppbf044l0pi0ym5pw283174dlx8lfac60q"; depends=[data_table ggplot2 gtools Matrix Rmpi]; };
   metaRMST = derive2 { name="metaRMST"; version="1.0.0"; sha256="1mq9j7iczjh7d3cps9g1bh0f8k388bdn8d5lkjs2s8y9fq1kxzmx"; depends=[meta mvmeta rstpm2 survival survRM2]; };
   metaRNASeq = derive2 { name="metaRNASeq"; version="1.0.2"; sha256="1xz7df7ypq4326yg429pgxd6aldp14c3h3qi20j5nqr5xgsdgzqa"; depends=[]; };
-  metaSEM = derive2 { name="metaSEM"; version="1.2.2"; sha256="09riif6ia0si97zn8kcx23k40iyj38vfvli73y0044npymirz2sx"; depends=[ellipse lavaan MASS Matrix mvtnorm numDeriv OpenMx]; };
+  metaSDTreg = derive2 { name="metaSDTreg"; version="0.2.0"; sha256="08q2llzqakrrxab73a63s4bpqq461m4q1dl60za9826yxl3g86b8"; depends=[Matrix maxLik ordinal truncnorm]; };
+  metaSEM = derive2 { name="metaSEM"; version="1.2.3"; sha256="13bny83pnd0mwz6bcnvpnn9bipvzj7ifwsx1z145gs5arx7k7dsh"; depends=[ellipse lavaan MASS Matrix mvtnorm numDeriv OpenMx]; };
   metaboGSE = derive2 { name="metaboGSE"; version="1.2.1"; sha256="169m59y2g3618rpjjlmwsj1alkfcjfhpsyzhz9010vn38bbwgmxr"; depends=[AnnotationDbi ape Matrix sybil sys topGO]; };
   metacart = derive2 { name="metacart"; version="2.0-1"; sha256="1dv4vq3pxbmjg8xxjjxxqnl3njy4v7j20ha90sj1i2dd814y0r72"; depends=[ggplot2 gridExtra Rcpp rpart]; };
   metacoder = derive2 { name="metacoder"; version="0.3.3"; sha256="0d7fpx5zpggc8k3y882mlw4szn7ghzckyiaxj9x652xink8zi397"; depends=[ape biomformat cowplot crayon dplyr GA ggfittext ggplot2 ggrepel igraph lazyeval magrittr phylotate RColorBrewer Rcpp RCurl readr reshape reshape2 rlang scales seqinr stringr svglite taxa taxize tibble traits vegan viridisLite zoo]; };
-  metacom = derive2 { name="metacom"; version="1.5.1"; sha256="18n3mbmjna3db44gscsdgv1j8f11jhikiw7yg3vbw2a9v5w3ypkv"; depends=[vegan]; };
+  metacom = derive2 { name="metacom"; version="1.5.2"; sha256="0v2rscql8vks12v5s9rvfrylh175if2mnpr69wsvr2snlcjxmirq"; depends=[vegan]; };
   metacor = derive2 { name="metacor"; version="1.0-2.1"; sha256="0y3z7jbhw5c2dbn9fx9wlw1311irjc2xvnm5hnaixbbj53qz24n0"; depends=[gsl rmeta]; };
   metadynminer = derive2 { name="metadynminer"; version="0.1.6"; sha256="0zg08lwnimnmfwac0d5kg8yhsl88gmn029dra18phy1jzkfnsx34"; depends=[Rcpp]; };
   metadynminer3d = derive2 { name="metadynminer3d"; version="0.0.1"; sha256="0riqr2hhk4h0rm7m4njb2dd2f24jff7lzf9chh83sq4q3wldgpz5"; depends=[metadynminer misc3d Rcpp rgl]; };
@@ -9912,7 +10116,7 @@ in with self; {
   metamedian = derive2 { name="metamedian"; version="0.1.4"; sha256="00jzgf8zdcbgnz89g55lq9c6ybh3praa68b9wwj6sx63hnkicvgd"; depends=[estmeansd Hmisc metafor]; };
   metamer = derive2 { name="metamer"; version="0.2.0"; sha256="0wdhr83mph9v7vb9mfhf7lcwmp0smz72sniass7kxcbj6j9hga4g"; depends=[FNN progress]; };
   metamicrobiomeR = derive2 { name="metamicrobiomeR"; version="1.1"; sha256="16ymdhhr7h2785gfgrw7qi1fjvawiz599h42qi7l0v6djinbxlw2"; depends=[caret compositions dplyr foreign gamlss gdata ggplot2 gplots gridExtra httr jsonlite knitr lme4 lmerTest magrittr matrixStats meta mgcv plyr randomForest RColorBrewer RCurl repmis reshape2 rmarkdown tidyr zCompositions]; };
-  metamisc = derive2 { name="metamisc"; version="0.2.0"; sha256="052hvnf9dvz9x8jbq7358jgg23iw4zpx7yqdrbrl1gdyahn0k75g"; depends=[ggplot2 lme4 metafor mvtnorm plyr pROC]; };
+  metamisc = derive2 { name="metamisc"; version="0.2.2"; sha256="0ll245a3f442n7jyjshcn87l725mgk132ri73kynrwh0z8g2r7i5"; depends=[ggplot2 lme4 metafor mvtnorm plyr pROC]; };
   metansue = derive2 { name="metansue"; version="2.3"; sha256="18vy294862lfgxiw9cikai9svy3wpwk2bvz3vp20fcslg90mn3xp"; depends=[]; };
   metap = derive2 { name="metap"; version="1.1"; sha256="10kv7z8pik5iy374h399vws0ldf41y2nczlwh8axqf9dcwl084i0"; depends=[lattice Rdpack]; };
   metaplot = derive2 { name="metaplot"; version="0.8.3"; sha256="1zw8bq2fy9m15dfc92ag0dz2k9dqrf5jbvfaycizcgsgaqd79s1c"; depends=[dplyr encode ggplot2 gridExtra gtable lattice magrittr rlang scales tidyr]; };
@@ -9929,8 +10133,9 @@ in with self; {
   meteo = derive2 { name="meteo"; version="0.1-5"; sha256="0n37plka9vsxwd03lca3h6m8dcz3f1bi46jn3bz7vyilnkq9hcdk"; depends=[gstat plyr raster rgdal snowfall sp spacetime]; };
   meteoForecast = derive2 { name="meteoForecast"; version="0.53"; sha256="15bjhkcn4zcll3cfgpzcdj0zv753x29qsjndy3h2zzqn83qywx9s"; depends=[ncdf4 raster sp XML zoo]; };
   meteogRam = derive2 { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
-  meteoland = derive2 { name="meteoland"; version="0.8.1"; sha256="1896cqfm8c2ck4w5fkvjwi9kxf713r9bxfjsakv10ii02r78hk95"; depends=[httr jsonlite ncdf4 ncdf4_helpers Rcpp rgdal sp spdep]; };
+  meteoland = derive2 { name="meteoland"; version="0.8.3"; sha256="0xbnb5kpb565ivi1qx2jmbgx5zg3bv65q4a7aylhdxijsjdr8vcv"; depends=[httr jsonlite ncdf4 Rcpp rgdal sp spdep]; };
   meteor = derive2 { name="meteor"; version="0.3-4"; sha256="01009d9wpxybig4n82m48hqqg1k4x4shcjxfy8y0kk7cgfdb4naw"; depends=[Rcpp]; };
+  meteorits = derive2 { name="meteorits"; version="0.1.0"; sha256="0b2rpq03wijmnqbdbdm10nzh19zvqhfcwnnph2f94ibsip6fxzy8"; depends=[MASS pracma Rcpp RcppArmadillo]; };
   metricTester = derive2 { name="metricTester"; version="1.3.4"; sha256="1z4z8km1jr0azh2zxp1sffm5picc9y6w9yn68zr1axli0l64y3a0"; depends=[ape doParallel dplyr foreach geiger MASS picante plotrix spacodiR]; };
   metricsgraphics = derive2 { name="metricsgraphics"; version="0.9.0"; sha256="1zbx82b34y0rr4w7rzvyc1nzk95w6cdkg0j1kkshbmkvplq6v9i4"; depends=[htmltools htmlwidgets magrittr]; };
   mets = derive2 { name="mets"; version="1.2.6"; sha256="0vaqizmr27144dkh5mh095vih0p70j3ly9zwk5h0fklmn8bf2qhl"; depends=[lava mvtnorm numDeriv Rcpp RcppArmadillo survival timereg]; };
@@ -9946,14 +10151,13 @@ in with self; {
   mgarchBEKK = derive2 { name="mgarchBEKK"; version="0.0.2"; sha256="1k4c34srnckbh5kchzmm44l91ma9sw0gi4y225igs3cl79212q9c"; depends=[mvtnorm tseries]; };
   mgc = derive2 { name="mgc"; version="1.0.1"; sha256="0bdj890v2rinsddny8kwa48cgqh9qlzfd7k5s4i9mg40ajr0f291"; depends=[MASS SDMTools]; };
   mgcViz = derive2 { name="mgcViz"; version="0.1.4"; sha256="0gxxmnawvq88jljdszhjw85px4w0q73nmgyq61hlfvjd2k8lscc8"; depends=[gamm4 GGally ggplot2 gridExtra KernSmooth matrixStats mgcv miniUI plyr qgam rgl shiny viridis]; };
-  mgcv = derive2 { name="mgcv"; version="1.8-29"; sha256="1236gz25nap1aprbvcrqvmmnl6f8cvbjy8dcl4j968cpalqax5ww"; depends=[Matrix nlme]; };
+  mgcv = derive2 { name="mgcv"; version="1.8-31"; sha256="1if34mqsn9r7g0l82lxvvx0wjhi9paqdymyd73nschxcl1if8vbk"; depends=[Matrix nlme]; };
   mglmn = derive2 { name="mglmn"; version="0.0.2"; sha256="1ijkmr85s4yya0hfwcyqqskbprnkcbq8sc9c889i0gy0543fgqz4"; depends=[mvabund snowfall]; };
   mgm = derive2 { name="mgm"; version="1.2-7"; sha256="1s0m9xjq2d067ba2cx87q83nqmdza34vw9g0g0mqd8ap53rmqhas"; depends=[glmnet gtools Hmisc matrixcalc qgraph stringr]; };
   mgpd = derive2 { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[corpcor evd fields numDeriv]; };
   mgsub = derive2 { name="mgsub"; version="1.7.1"; sha256="0v3386a7i71ixqidqfqakl428rnq0z9pjz08lgmyvray0ls5vmvi"; depends=[]; };
   mgwrsar = derive2 { name="mgwrsar"; version="0.1"; sha256="13h56fgq3fs28fqh19hwbcza622xd921qnjwcgw2rjwaabqz70w5"; depends=[doParallel foreach htmltools leaflet Matrix nabor Rcpp RcppEigen sp spgwr]; };
   mhsmm = derive2 { name="mhsmm"; version="0.4.16"; sha256="009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"; depends=[mvtnorm]; };
-  mht = derive2 { name="mht"; version="3.1.2"; sha256="01zcaf9k0qayzm8dn5dvnm5n3qgqpj8r96qhqaa5vbjcr6ci2x2r"; depends=[glmnet Matrix]; };
   mhtboot = derive2 { name="mhtboot"; version="1.3.3"; sha256="1z0p8ny9lpnrshgas7cad2lv7j0blw0n6ihiimw600n70h73jwrn"; depends=[ggplot2 reshape2]; };
   mhurdle = derive2 { name="mhurdle"; version="1.1-8"; sha256="0nnzhcp9ghx2ifaj8lvhvv1acb3dpwi8m9n1al8zjvfg35wmxwwm"; depends=[Formula maxLik survival texreg truncreg]; };
   mi = derive2 { name="mi"; version="1.0"; sha256="1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l"; depends=[arm Matrix]; };
@@ -9972,7 +10176,7 @@ in with self; {
   mice = derive2 { name="mice"; version="3.6.0"; sha256="0pgcxdmp77604h6f4x8hhs6j4xdjgf5b9zvnixyzdj8vcgdjpivv"; depends=[broom dplyr lattice MASS mitml nnet Rcpp rlang rpart survival]; };
   miceFast = derive2 { name="miceFast"; version="0.5.1"; sha256="0n09l6y7jwcskv2lfynyzl614c7x84yyc52wqwyhnzvd8lzapp5d"; depends=[data_table Rcpp RcppArmadillo]; };
   miceMNAR = derive2 { name="miceMNAR"; version="1.0.2"; sha256="1s607icaf3c25mn8xdi3zkzmm8m7qd9a6vjdlz5j7ig2gc9f2y2d"; depends=[GJRM mice mvtnorm pbivnorm sampleSelection]; };
-  miceadds = derive2 { name="miceadds"; version="3.5-14"; sha256="1fk554wkjz6xmqc5ymimp96xvcv57c91g1wsykb8yql9x11c9gbz"; depends=[mice mitools Rcpp RcppArmadillo]; };
+  miceadds = derive2 { name="miceadds"; version="3.6-21"; sha256="1gk91rg1p1s042cnlkcm6lnszfrknpbysc8gkhinyxyw7bm87h62"; depends=[mice mitools Rcpp RcppArmadillo]; };
   micemd = derive2 { name="micemd"; version="1.6.0"; sha256="1n8kzdf2713dw9mbzvbwl0gknzi9amdqnabfw2wmb70gsvma3f48"; depends=[abind digest jomo lme4 MASS Matrix mice mvmeta mvtnorm nlme]; };
   michelRodange = derive2 { name="michelRodange"; version="1.0.0"; sha256="1pykqb9hmpvn77k0vhfh36iyhamz9h5kpswq3ql31h9nknfy3ixi"; depends=[magrittr]; };
   micompr = derive2 { name="micompr"; version="1.1.0"; sha256="0qsxs35mmqx8hpszcb1z87xczh0vh0m0plqrj22af5mjjvif76n9"; depends=[]; };
@@ -9988,13 +10192,13 @@ in with self; {
   micropan = derive2 { name="micropan"; version="1.2"; sha256="1b3hd5c6l9njns372zhqfryibrpqmrjxmc1p5gzdwm7450cs7qky"; depends=[BH igraph microseq Rcpp]; };
   microplot = derive2 { name="microplot"; version="1.0-42"; sha256="062dd4k6ryyl44lwbc2qgdsfcs1fiv9j2n6lx9driw6vng533b6q"; depends=[cowplot flextable ggplot2 HH Hmisc htmltools lattice officer]; };
   microsamplingDesign = derive2 { name="microsamplingDesign"; version="1.0.6"; sha256="093rldfx3b45j4qn0r42d7fmqzx4h43s6vq4zlysdimq4ncxdm3v"; depends=[abind deSolve devtools ggplot2 gridExtra gtools knitr MASS matrixcalc matrixStats plyr Rcpp RcppArmadillo readr reshape2 shiny stringr]; };
-  microseq = derive2 { name="microseq"; version="1.2.3"; sha256="1cpgnl3y1v5pwh333lkg7igh3qgga0mhmhc8vdb7gw0k5gzh7gzp"; depends=[Rcpp]; };
+  microseq = derive2 { name="microseq"; version="1.3"; sha256="1svkgx2ymxzn0zm1gzwcjhdyml2zjy4m0p7wg5phmnxpkz5m9win"; depends=[Rcpp stringr tibble]; };
   microsynth = derive2 { name="microsynth"; version="2.0.13"; sha256="1ijv7kbxl087m0wzdbzl9p74116dfwid03dlamy4b1l308azc4ag"; depends=[boot kernlab LowRankQP MASS nleqslv pracma survey]; };
   midas = derive2 { name="midas"; version="1.0.1"; sha256="1alqxk23651jnkg0xn4rpvk71z5rhvx3y0wjrgkw2qw95s7jjn72"; depends=[shiny xml2]; };
   midasr = derive2 { name="midasr"; version="0.7"; sha256="02kjyzbznmy0362ambnnh8vc7ywbgikk3n7705sww9p0k0pywrrx"; depends=[forecast Formula MASS Matrix numDeriv optimx quantreg sandwich texreg zoo]; };
   midastouch = derive2 { name="midastouch"; version="1.3"; sha256="1pjzcf0hjfhr5p0la8pz1njw7bhfrcrzpqfsdqk2z5c6dbh4awzq"; depends=[]; };
   midrangeMCP = derive2 { name="midrangeMCP"; version="1.3"; sha256="1733dlhzbgrjdzd88rh9dkqhxh05gr078sbmihab7whbrpsq8068"; depends=[SMR WriteXLS xtable]; };
-  migest = derive2 { name="migest"; version="1.8.0"; sha256="0736jh3wrkwd4y2nka892nr6ncaj9kgpf19hppszxj8knf5320dv"; depends=[]; };
+  migest = derive2 { name="migest"; version="1.8.1"; sha256="12gk1ip1kw3x35bazxqqjf1drbs2h7kpgzbh5psd6ppphj81dzjg"; depends=[dplyr magrittr mipfp purrr stringr tidyr]; };
   migration_indices = derive2 { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
   migui = derive2 { name="migui"; version="1.1"; sha256="1qchjsc7ff2b6s9w6ncj9knjv6pyp90jd4jxljn2rr1ix1gc45za"; depends=[arm gWidgets2 mi]; };
   miic = derive2 { name="miic"; version="1.0.3"; sha256="088szscn9v9279w86mypxphp3avv17iijvcvlckx3h1ka75lkx27"; depends=[bnlearn igraph MASS ppcor Rcpp]; };
@@ -10002,6 +10206,7 @@ in with self; {
   mime = derive2 { name="mime"; version="0.7"; sha256="12vpip67ajb90b8p96w43ir7mavrw2i61bwvpfnrlmlj9kj3w20i"; depends=[]; };
   mimi = derive2 { name="mimi"; version="0.2.0"; sha256="1ig34qd37my74nmlv3jcfrj7cnd55alxpf2flf2sssk2ws1y56xh"; depends=[data_table doParallel FactoMineR foreach glmnet rARPACK softImpute]; };
   mimsy = derive2 { name="mimsy"; version="0.4.2"; sha256="0f2yy5s9dxl8k12lrnc0w5d8vl0c9by0zc7gv05a2sq5jl7zrr8j"; depends=[dplyr lubridate magrittr openxlsx]; };
+  minMSE = derive2 { name="minMSE"; version="0.1.1"; sha256="11m34nmxi2v80lsix8k44vl8ms5541js4av6h3pvx11px3i3c841"; depends=[MASS]; };
   mindr = derive2 { name="mindr"; version="1.2.2"; sha256="1ggpdjyjaprw03gjqk34h7k4h3cdxrwmwvjg5sdqdp0pya6ik03y"; depends=[data_tree htmlwidgets jsonlite knitr]; };
   mineCitrus = derive2 { name="mineCitrus"; version="1.0.0"; sha256="031nfhrsc5rlqls3vyrk18lx0pd4ssdk96cmfr4ifaciz0rgv8h2"; depends=[ggplot2]; };
   mined = derive2 { name="mined"; version="1.0-2"; sha256="1py6gylya8dhmxcyfrcwbwc5q226m041rs3cmj4q0dhqy8iy2zsw"; depends=[Rcpp RcppEigen]; };
@@ -10021,7 +10226,6 @@ in with self; {
   minxent = derive2 { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
   mipfp = derive2 { name="mipfp"; version="3.2.1"; sha256="1gxazpg81vj5dywpb6jb29188jw28qil6pfygawa7znnjn3k5ca6"; depends=[cmm numDeriv Rsolnp]; };
   mipred = derive2 { name="mipred"; version="0.0.1"; sha256="0kijn2xj0dh28rm2sjgd8j1a3c5avc3fjfvvcmzfasvxqdjflv6j"; depends=[mice]; };
-  miraculix = derive2 { name="miraculix"; version="0.9.4"; sha256="14wc1bagrlcpa6r563r8slp5kb5v2vz1il6wh105qns1w8i9rrgi"; depends=[RandomFieldsUtils]; };
   mirt = derive2 { name="mirt"; version="1.31"; sha256="1jfpb69ih0kyffjf9k7z8yhfyw6ngqhkjxmpzgmm0v8lr2mnw0gq"; depends=[dcurver Deriv GPArotation lattice mgcv Rcpp RcppArmadillo vegan]; };
   mirtCAT = derive2 { name="mirtCAT"; version="1.9.3"; sha256="1yd03rkviqxl9rsqnny3fgn2rj0hss49nav11b9w4np8lv9zkwgh"; depends=[lattice lpSolve markdown mirt pbapply Rcpp RcppArmadillo shiny]; };
   mirtjml = derive2 { name="mirtjml"; version="1.2"; sha256="0vjcbgl1s8haqc0xi4k8dsqvhr2qyz4ikhjwmqrxyl5xssjy330r"; depends=[GPArotation Rcpp RcppArmadillo]; };
@@ -10029,7 +10233,8 @@ in with self; {
   misc3d = derive2 { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
   miscF = derive2 { name="miscF"; version="0.1-4"; sha256="1kvkbvrmaqclwdfghkrsmnzb6xbi97icay2wwb7k5m34xhx4ha82"; depends=[MASS MCMCpack mvtnorm R2jags]; };
   miscFuncs = derive2 { name="miscFuncs"; version="1.2-10"; sha256="1kqya581n76ff9avhj6xm6nwsbw7zlm4mwy0vyvdlqlf7c381qq0"; depends=[mvtnorm roxygen2]; };
-  miscTools = derive2 { name="miscTools"; version="0.6-22"; sha256="1sngkl5rwg1vp2xx9a5g2nz2nhwxwv7ni21ww7hyjc8x5mhb42yh"; depends=[]; };
+  miscIC = derive2 { name="miscIC"; version="0.1.0"; sha256="0pnwc3b318xxnmb7scrj4qkqlvqfyczspdg496kl0ixsiaafr1ad"; depends=[nnls]; };
+  miscTools = derive2 { name="miscTools"; version="0.6-24"; sha256="0sqixfawnf2kb1172a3dcihk85gxwzqmkllkdgg0mik8zch635s9"; depends=[digest]; };
   misclassGLM = derive2 { name="misclassGLM"; version="0.2.0"; sha256="1dz36q2gl0q8d0s2rxn28b8ykw31wcdxf91s7ypmjggfdj64i8br"; depends=[bigmemory foreach MASS Matrix mlogit numDeriv ucminf]; };
   miscor = derive2 { name="miscor"; version="0.1-1"; sha256="1vn0q0i2f1szjywddb7h7krpbf0qch6gmbzs03m4zb03xd70983b"; depends=[]; };
   miscset = derive2 { name="miscset"; version="1.1.0"; sha256="1gwi7jnqdf2fa8yk8gmcc7dcv72bbdl7yj3yccj3r5jjk41vdp91"; depends=[data_table devtools ggplot2 gridExtra Rcpp xtable]; };
@@ -10039,7 +10244,7 @@ in with self; {
   missCompare = derive2 { name="missCompare"; version="1.0.1"; sha256="0f173463dsr2xcj228aysfnabrdv8i2c9sprmd2jndn65dv8hhsz"; depends=[Amelia data_table dplyr ggdendro ggplot2 Hmisc ltm magrittr MASS Matrix mi mice missForest missMDA pcaMethods plyr rlang tidyr VIM]; };
   missDeaths = derive2 { name="missDeaths"; version="2.5.1"; sha256="1vj1d4r2ikc7ppm5kgivc7bj81qkyymrs11cxj1gdll6xyfn1g1d"; depends=[cmprsk MASS mitools Rcpp relsurv rms survival]; };
   missForest = derive2 { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[foreach itertools randomForest]; };
-  missMDA = derive2 { name="missMDA"; version="1.14"; sha256="1pqwfs1p7i624ilddj48i4kig6pjw5b28ic33l09g0c4bq7nw5lh"; depends=[doParallel FactoMineR foreach mice mvtnorm]; };
+  missMDA = derive2 { name="missMDA"; version="1.15"; sha256="0c4zinknrpixbd3czl1lnvwc7jswi8ci03dwajl90qxgh78g3v92"; depends=[doParallel FactoMineR foreach mice mvtnorm]; };
   missRanger = derive2 { name="missRanger"; version="2.1.0"; sha256="06ic99zg91ikzvmwbj05ma46rc4ayfwylv8cnj21sbr5nxw0qpz9"; depends=[FNN ranger]; };
   missSBM = derive2 { name="missSBM"; version="0.2.1"; sha256="00jxj1f7hr78srlm49finf9j2q14y1cl66rwdkm1i81l8db5fvcp"; depends=[ape corrplot ggplot2 igraph magrittr nloptr R6 Rcpp RcppArmadillo]; };
   missingHE = derive2 { name="missingHE"; version="1.2.1"; sha256="1ckkszq9c095svg3syfnrcdxy64yfm14rskglpsiyl1d4im9h9c8"; depends=[bayesplot BCEA coda ggmcmc ggplot2 ggthemes gridExtra loo mcmcplots mcmcr R2jags]; };
@@ -10065,14 +10270,15 @@ in with self; {
   mixedsde = derive2 { name="mixedsde"; version="5.0"; sha256="0ss1ng4nx91gxj85wxxfyh9ljxsj3ag6lsj1a5d2815p9jzl7dsv"; depends=[MASS moments plot3D sde]; };
   mixexp = derive2 { name="mixexp"; version="1.2.5"; sha256="0nbf10xhrr51rb1b2apcj4p3ci8xbi7flgz500ar3mxh8h8l74sq"; depends=[daewr gdata lattice]; };
   mixggm = derive2 { name="mixggm"; version="1.0"; sha256="1wiiayld7rwp3mwz93zizrv0dzw02mqrzprc4z6c4jj25c8pypw5"; depends=[foreach GA mclust memoise network Rcpp RcppArmadillo]; };
+  mixl = derive2 { name="mixl"; version="1.1"; sha256="0v3yxhar1ms6y2j73a5hgyh1c9v6lg5xl646mv0ischqj21bysbh"; depends=[maxLik numDeriv randtoolbox Rcpp readr sandwich stringr]; };
   mixlink = derive2 { name="mixlink"; version="0.1.5"; sha256="0ywgrcplhspc0x5fniw52xqz20y7j9mwgy4ky8lv3vii659mr52m"; depends=[mvtnorm numDeriv Rcpp RcppGSL]; };
   mixlm = derive2 { name="mixlm"; version="1.2.3"; sha256="0i7nrn31yaicdpwfssnid1x8w51iv17lcl96zfr1pgrf97d7gkqd"; depends=[car leaps multcomp pls pracma]; };
-  mixmeta = derive2 { name="mixmeta"; version="1.0.3"; sha256="1bg7qgw1ixv510lallq9m3313bcv2dms8id6gx0sdhj4fab8ga5b"; depends=[]; };
+  mixmeta = derive2 { name="mixmeta"; version="1.0.5"; sha256="0wyzvsw76wb95fvvy43q9n9gkgc32ys8qdhm36gs56dg85bjzsgd"; depends=[]; };
   mixor = derive2 { name="mixor"; version="1.0.4"; sha256="1l296z0a3kamb1m94pfx3vczp36pa0np101fy5c23kh45s59pbs7"; depends=[survival]; };
   mixreg = derive2 { name="mixreg"; version="0.0-6"; sha256="04g863yxrlj0wqsmzzxph5110g3gjk094r59zzk0b9r89m8vhpsl"; depends=[]; };
   mixsep = derive2 { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[MASS RODBC tcltk2]; };
-  mixsmsn = derive2 { name="mixsmsn"; version="1.1-5"; sha256="0y1ysh75xqsqk87717akiqi8p6varry8n92hanl4qwy7la0ksy7w"; depends=[mvtnorm]; };
-  mixsqp = derive2 { name="mixsqp"; version="0.1-97"; sha256="0d3dcgg4p9z151cg360s008pgiq71vjc0fbpp6sxgqwbapan617k"; depends=[Rcpp RcppArmadillo]; };
+  mixsmsn = derive2 { name="mixsmsn"; version="1.1-6"; sha256="0zlbs0yn336xdzymrb065rbg1zj8f7zri77lmd7c4w1rxhfjh9a9"; depends=[mvtnorm]; };
+  mixsqp = derive2 { name="mixsqp"; version="0.2-2"; sha256="12gm40dlh007dqxhaba0d6ssmrarhy5qlslmgymr3sil72rgz9a4"; depends=[Rcpp RcppArmadillo]; };
   mixtNB = derive2 { name="mixtNB"; version="1.0"; sha256="0lqbm1yl54zfs0xcmf3f2vcg78rsqyzlgvpydhmhg7x6dkissb22"; depends=[]; };
   mixtools = derive2 { name="mixtools"; version="1.1.0"; sha256="13wdm0xs5bakhpa8ypg6lvhjaqkxyabwz4glxdwn0jwdvkcdhgsl"; depends=[MASS segmented survival]; };
   mixtox = derive2 { name="mixtox"; version="1.3.2"; sha256="0mdnp1yrcxvan5l7jj91s41vq5y1kdnkhhinqrklmg4ph5f29dmq"; depends=[minpack_lm]; };
@@ -10080,12 +10286,12 @@ in with self; {
   mize = derive2 { name="mize"; version="0.2.2"; sha256="1p728svnj5ckixry6xw70nywqabmgdcygdsa6dvpicr2s4sffn86"; depends=[]; };
   mizer = derive2 { name="mizer"; version="1.0.1"; sha256="1vn03f3j9vd8hwz18i67blif33y3cd7hc8m1h4aw7wkgdpqsyb4b"; depends=[deSolve ggplot2 plyr progress Rcpp reshape2]; };
   mkde = derive2 { name="mkde"; version="0.1"; sha256="04v84arpnmjrkk88ffphnhkz32x7y0dypk75jfmbbgcgv59xlglv"; depends=[raster Rcpp sp]; };
-  mkin = derive2 { name="mkin"; version="0.9.49.5"; sha256="1q4j9krbrvr74pla33vn7piqcpz4bx53hqc6jk26qv9d5q4yh5xw"; depends=[deSolve inline numDeriv plyr R6]; };
+  mkin = derive2 { name="mkin"; version="0.9.49.7"; sha256="11zr15isjf26k5rzbraxxs7i1k4c6zc11va1w5wgvkhbxsa93j4r"; depends=[deSolve inline lmtest numDeriv R6]; };
   mknapsack = derive2 { name="mknapsack"; version="0.1.0"; sha256="1kzmx7d512681a4hjirfgcd7a8rvndb4da66p16gms5nnxzsby9c"; depends=[assertthat data_table lpSolve]; };
   mkssd = derive2 { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
   mlDNA = derive2 { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[e1071 igraph pROC randomForest ROCR rsgcc snowfall]; };
   mlPhaser = derive2 { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
-  mlVAR = derive2 { name="mlVAR"; version="0.4.3"; sha256="0kx8s2id4qr44wfncf924ywp996ljkb2ip5zds47x7bg55ad3mi5"; depends=[abind arm clusterGeneration corpcor dplyr graphicalVAR lme4 MplusAutomation mvtnorm plyr qgraph]; };
+  mlVAR = derive2 { name="mlVAR"; version="0.4.4"; sha256="0ib566qygm28lqhr3w9vzfxnpsmazlipzrfsdm3cw21wpz2lvxcr"; depends=[abind arm clusterGeneration corpcor dplyr graphicalVAR lme4 MplusAutomation mvtnorm plyr qgraph]; };
   mlapi = derive2 { name="mlapi"; version="0.1.0"; sha256="023vk5bp8cjcq88sapkl87kdxr92bay1dyxl6xirnyj699pyj51k"; depends=[Matrix R6]; };
   mlbench = derive2 { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
   mlbgameday = derive2 { name="mlbgameday"; version="0.2.0"; sha256="05b8jdrcfrh6rli9inkgizkmmj9jw0cypc5r4ckqqbrfj00zfi3q"; depends=[DBI doParallel dplyr foreach iterators magrittr purrr stringr tidyr xml2]; };
@@ -10096,10 +10302,10 @@ in with self; {
   mleap = derive2 { name="mleap"; version="0.1.3"; sha256="17i6rjbrf14g6857jpkpjwcac028861m1nn073wzf2kmznd2rfkk"; depends=[digest fs jsonlite purrr rJava sparklyr tibble]; };
   mlearning = derive2 { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class e1071 ipred MASS nnet randomForest]; };
   mlegp = derive2 { name="mlegp"; version="3.1.7"; sha256="1q0mxvr23qcxvf8k2cgs4m8yfp1gbkmprp964w8viy30japmx16l"; depends=[]; };
-  mlergm = derive2 { name="mlergm"; version="0.3"; sha256="0nh1dzddamlsj31z8cns11gysrbziha0amdig873x5hj4qxfp3yr"; depends=[cowplot ergm GGally ggplot2 Matrix network plyr reshape2 sna stringr]; };
+  mlergm = derive2 { name="mlergm"; version="0.4"; sha256="0mv5wmcs28n0sq8z46mc4v2j1cqf8x1s5ji3phkvizasyfg9wi78"; depends=[cowplot ergm GGally ggplot2 lpSolve Matrix network plyr reshape2 sna stringr]; };
   mleur = derive2 { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[fGarch lattice stabledist urca]; };
   mlf = derive2 { name="mlf"; version="1.2.1"; sha256="09ihnibpknpp26hdlbxyr99yz7z0n8qpsjs5aq3zngng0yh3wdn9"; depends=[]; };
-  mlflow = derive2 { name="mlflow"; version="1.3.0"; sha256="15q041pfnzxvr8q5fp0jnk1lplszg44mmv5gg9grikyw3211n1xg"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr xml2 yaml zeallot]; };
+  mlflow = derive2 { name="mlflow"; version="1.4.0"; sha256="0kn9phlr817mjn1sj2x31ia2r3xfvr4cfhk96rp8c4vx2b2chppw"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr xml2 yaml zeallot]; };
   mlgt = derive2 { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
   mlica2 = derive2 { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
   mljar = derive2 { name="mljar"; version="0.1.1"; sha256="1mw45aqjwklsnrfwf8656jf30miyrlxpz87z97nkv9i135yhwfx3"; depends=[httr jsonlite readr]; };
@@ -10111,21 +10317,23 @@ in with self; {
   mlmmm = derive2 { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
   mlogit = derive2 { name="mlogit"; version="1.0-1"; sha256="1cjh0dl0yvzyz5wsplygm4al2zfvs7cgdg5fhbcjnv159qfvflml"; depends=[Formula lmtest MASS Rdpack statmod zoo]; };
   mlogitBMA = derive2 { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[abind BMA maxLik]; };
-  mlr = derive2 { name="mlr"; version="2.15.0"; sha256="092kr9h1hak7d4zhsrmi9rmyf4kpivpv2xz8wnsr0zd8cnyw5hm3"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
-  mlr3 = derive2 { name="mlr3"; version="0.1.3"; sha256="0gd573vw026pjhvf8zbqs2avs1nvsd88w0ld6x12azmz9kbnla8s"; depends=[backports checkmate data_table digest lgr Metrics mlbench mlr3misc paradox R6 uuid]; };
-  mlr3db = derive2 { name="mlr3db"; version="0.1.2"; sha256="15hyi1bp9sk4yznv2rfrq9ryi4dy2v5m0k797sg1i9q81bdwqwsp"; depends=[checkmate data_table digest dplyr mlr3 R6]; };
+  mlr = derive2 { name="mlr"; version="2.16.0"; sha256="0sp7hi7x4f23yjyfcmhv4892aci4ancym8zkkff16wdvkhfi9f1x"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
+  mlr3 = derive2 { name="mlr3"; version="0.1.4"; sha256="1rc9xf9pqj9v85slcc07wqi94w6d0x2m78yk5x1x1j06kvrz29y3"; depends=[backports checkmate data_table digest lgr Metrics mlbench mlr3misc paradox R6 uuid]; };
+  mlr3db = derive2 { name="mlr3db"; version="0.1.3"; sha256="0zg5hmlc7mybhrz0hrz4rmvdhbvjp4d0im0r22qvsd3phv614v8m"; depends=[checkmate data_table digest dplyr mlr3 R6]; };
   mlr3filters = derive2 { name="mlr3filters"; version="0.1.0"; sha256="12ss7w68s6dmq6dy8iap2kipc1m8d8di5iywghcqspdbzcx5ynmz"; depends=[backports checkmate data_table mlr3 mlr3misc paradox R6]; };
-  mlr3learners = derive2 { name="mlr3learners"; version="0.1.3"; sha256="0a6j4k883ykv4li22a9v3l8hli8db21bkg5kilnngnljhrpdmjlc"; depends=[data_table mlr3 mlr3misc paradox R6]; };
+  mlr3learners = derive2 { name="mlr3learners"; version="0.1.5"; sha256="0yraazjfrd3vpbl9na5c77yy8lcdhisq30d7nl13ha2pssn7ifb3"; depends=[data_table mlr3 mlr3misc paradox R6]; };
+  mlr3measures = derive2 { name="mlr3measures"; version="0.1.1"; sha256="0pbsj1yra3wx5xny4ak901qfj983lk8nsiqw2x8kzz46dskx4wzl"; depends=[checkmate]; };
   mlr3misc = derive2 { name="mlr3misc"; version="0.1.5"; sha256="1ni8a318gc6slscb28vl3a33kr5qfwmjbc66igmi7bn5brk7iik1"; depends=[backports checkmate data_table R6]; };
+  mlr3pipelines = derive2 { name="mlr3pipelines"; version="0.1.1"; sha256="0sw907w9w6w71jq8pirmwd683blic6pfhsj6b2cf8jjnnx56amhn"; depends=[backports checkmate data_table digest mlr3 mlr3misc paradox R6 withr]; };
   mlr3tuning = derive2 { name="mlr3tuning"; version="0.1.0"; sha256="065vwq830hb388r8767dlr1k80rq27zhpmfjnvh9w64jn46wz763"; depends=[checkmate data_table lgr mlr3 mlr3misc paradox R6]; };
   mlrCPO = derive2 { name="mlrCPO"; version="0.3.4-4"; sha256="0v8d336f7xghs2pdh6r5j21i6mcy0p2wdzx4nkj69fsc5gn0n058"; depends=[backports BBmisc checkmate mlr ParamHelpers stringi]; };
-  mlrMBO = derive2 { name="mlrMBO"; version="1.1.2"; sha256="1ziyiycgwr4vgilji8dkf1c0kyqjnbmqi3qj35q3si2xbnmcm14f"; depends=[backports BBmisc checkmate data_table lhs mlr parallelMap ParamHelpers smoof]; };
+  mlrMBO = derive2 { name="mlrMBO"; version="1.1.3"; sha256="1y67kc8kcbim23kkymkn10h761r5pyq80cfzz6a7f0rnmagzvqxp"; depends=[backports BBmisc checkmate data_table lhs mlr parallelMap ParamHelpers smoof]; };
   mlsjunkgen = derive2 { name="mlsjunkgen"; version="0.1.1"; sha256="109ag52x4y3rzx8yccilrnl24mz4ximzx6v4lrbak7dpiclqrw7a"; depends=[]; };
-  mlt = derive2 { name="mlt"; version="1.0-5"; sha256="0c0w54yrynsz270aqc2l61lggqfp0hrcxnazjd1bgprim99m5nv0"; depends=[alabama basefun BB coneproj numDeriv sandwich survival variables]; };
+  mlt = derive2 { name="mlt"; version="1.0-7"; sha256="004mydn99p34f4nxh49zi3q2q1lw164j7ijbcd9fw7blm7i14dp0"; depends=[alabama basefun BB coneproj numDeriv sandwich survival variables]; };
   mlt_docreg = derive2 { name="mlt.docreg"; version="1.0-3"; sha256="1nminamywhwh3l2w3458iapb0zi1784nvdys3ni9ynxbgnxzgr70"; depends=[mlt numDeriv]; };
   mltest = derive2 { name="mltest"; version="1.0.1"; sha256="14gyssfph088v936mpywmd4y8z9vdv0zk8638vlg23j8cf5j4al2"; depends=[]; };
   mltools = derive2 { name="mltools"; version="0.3.5"; sha256="045v28w7vz1zjxim8vfc6ncvg2mavr1q332x0hzlqpfzrk7gz4vh"; depends=[data_table Matrix]; };
-  mlxR = derive2 { name="mlxR"; version="4.0.6"; sha256="0865lmj6mavfymmmnxq95x37yr1kqfqsnad322cibqvbkswlr39r"; depends=[ggplot2]; };
+  mlxR = derive2 { name="mlxR"; version="4.1.0"; sha256="1jb214isf0zbx1j7xkidmc4jrvlw3hfvs7q2if3489p0si1n2k23"; depends=[ggplot2]; };
   mma = derive2 { name="mma"; version="9.0-0"; sha256="1nam7gn3a7jp4dcy9q6ypk7icknflvgmsdzv218qhf28zaw2ybza"; depends=[car doParallel foreach gbm gplots lattice plotrix survival]; };
   mmabig = derive2 { name="mmabig"; version="2.0-0"; sha256="1kp7q2xvkbwa8syk82dsynzizjmhh9z3p7r5hnnvp169as0yvgwl"; depends=[car glmnet gplots mma survival]; };
   mmand = derive2 { name="mmand"; version="1.5.4"; sha256="04kqxdbj54nflgx9lb80xxp121ligdzjkym850z3kbw60ashxybh"; depends=[Rcpp]; };
@@ -10142,6 +10350,7 @@ in with self; {
   mmm2 = derive2 { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
   mmmgee = derive2 { name="mmmgee"; version="1.20"; sha256="0y3pwnc9h7y2l9cvgfl62nl1vnnkla2y8082jhdvxsb3mk88rgad"; depends=[Matrix mvtnorm]; };
   mmod = derive2 { name="mmod"; version="1.3.3"; sha256="1dz6887mlqbagjj98wcabmxj9hvsz8pgsizy1fqkwjhhs44c62y4"; depends=[adegenet pegas]; };
+  mmpca = derive2 { name="mmpca"; version="1.0.1"; sha256="0ah9w3sf7fh6simbhgx88q9cr44r79f314r615ss9l29m6ws7ffv"; depends=[CMF digest gmp gsl Rcpp RcppEigen]; };
   mmpf = derive2 { name="mmpf"; version="0.0.5"; sha256="1w1ll1l7yzwb1wmlrcfpgqyzni7yb20kxy422y867hx2ndxlfwpz"; depends=[checkmate data_table]; };
   mmpp = derive2 { name="mmpp"; version="0.6"; sha256="16aypjf4i0ya3qgxqrrg8y0xbnq1pnqky1dpkgln5q494hphyg91"; depends=[]; };
   mmppr = derive2 { name="mmppr"; version="0.1"; sha256="0fswkqcw0xkqd9gmqabb61i32zscp5jzfx0z43wq7mrlwynryylv"; depends=[expm reshape2]; };
@@ -10149,6 +10358,8 @@ in with self; {
   mmtfa = derive2 { name="mmtfa"; version="0.3"; sha256="0qfszr6f10v27w1pfns78dyarznqryl4m1ppyqap7l8fc12sliky"; depends=[matrixStats mvnfast]; };
   mmtsne = derive2 { name="mmtsne"; version="0.1.0"; sha256="1by0hrggla6idc1isnq072i1wfpw4x7id3hkg8l65gy8iycccd12"; depends=[]; };
   mnis = derive2 { name="mnis"; version="0.2.7"; sha256="1yhhgrhsk3ww93vd29ipw16bkn16w0b2i7d46cb5bb5xs4s7vivd"; depends=[dplyr httr jsonlite Rcpp stringi tibble]; };
+  mniw = derive2 { name="mniw"; version="1.0"; sha256="1iamq6cq027ncakm4rfx2p1k2mcj7nk5vk57m8ndnbmmi2y9wwv9"; depends=[Rcpp RcppEigen]; };
+  mnj = derive2 { name="mnj"; version="1.0"; sha256="05rz6krcq56zqvvaz3myf1aki2z635g2zrqyl25n2da1cvyjwdzq"; depends=[rpart]; };
   mnlfa = derive2 { name="mnlfa"; version="0.1-53"; sha256="1hw4m6zpb2322041aizam1l71zxz3i7siawid8npig8v9dhkaqrf"; depends=[CDM Rcpp RcppArmadillo]; };
   mnlogit = derive2 { name="mnlogit"; version="1.2.6"; sha256="0dfwpkl8g7ap5xr48smiv8vdbamd2r1liy9nwpsn0kcsr9cj65n9"; depends=[Formula lmtest mlogit]; };
   mnormpow = derive2 { name="mnormpow"; version="0.1.1"; sha256="0z53vwhkhkkr6zrjhd3yr14mb02vh7lr63frf0ivajndxiap0s9v"; depends=[]; };
@@ -10169,12 +10380,12 @@ in with self; {
   modTurPoint = derive2 { name="modTurPoint"; version="0.1.0"; sha256="1m24vsi80ln1r7sr40pipaaanyc60yfxmjzf8l7nfy3yvyr8zqpn"; depends=[]; };
   modcmfitr = derive2 { name="modcmfitr"; version="0.1.0"; sha256="1d6fi7pc10w2a97h1prhkg5cvzmxjp11c5bwrz90zry0m8anwjyh"; depends=[gtools nloptr]; };
   modeLLtest = derive2 { name="modeLLtest"; version="1.0.0"; sha256="1f80bgw1l6zgwlhz1agdrl5d44jfrk50yi3jgwf14l4zjx8x8rp3"; depends=[coxrobust MASS quantreg Rcpp RcppArmadillo survival]; };
-  modeest = derive2 { name="modeest"; version="2.3.3"; sha256="1y9kzi0hhpm97a38z8c6dkma1wyhx15sfmqmlxcbs8dmlyibbjin"; depends=[bazar fBasics genefilter stable stabledist statip]; };
+  modeest = derive2 { name="modeest"; version="2.4.0"; sha256="087dw0013y4m7fcl06mxylh9lnp6acysl80d80r9srv4pw4r950s"; depends=[fBasics stable stabledist statip]; };
   modehunt = derive2 { name="modehunt"; version="1.0.7"; sha256="0qz9kmf1qfs2dr7kzm9l7ac0h5rvi3b9j9896p991sk4bcalsl0b"; depends=[]; };
   model4you = derive2 { name="model4you"; version="0.9-3"; sha256="03s87dklil69znflny9vcl934yisfb13d0gdk94279cb4hb693c0"; depends=[Formula ggplot2 gridExtra partykit sandwich survival]; };
   modelDown = derive2 { name="modelDown"; version="1.0.1"; sha256="0rdpma8g461a17n6qsdvjb9s5nnhap1n05mavjy8cpj7d8j7ikkv"; depends=[archivist auditor breakDown DALEX devtools drifter DT ggplot2 kableExtra psych svglite whisker]; };
   modelObj = derive2 { name="modelObj"; version="4.0"; sha256="1py2y80x37mmnl2y0pxdbhqkjrln6x210hg0g224d34lxk71m172"; depends=[]; };
-  modelStudio = derive2 { name="modelStudio"; version="0.1.7"; sha256="01w1ipjmbfpfjj4cvgc3spp0qjk0q4q49w1njm920mabi61a144n"; depends=[iBreakDown ingredients jsonlite r2d3]; };
+  modelStudio = derive2 { name="modelStudio"; version="0.1.9"; sha256="076awi00q53vq471rx71kjzkdfrkkpazjmwawb5g8kjsvyplkrii"; depends=[iBreakDown ingredients jsonlite r2d3]; };
   modeldb = derive2 { name="modeldb"; version="0.2.0"; sha256="1qcgmv31gd1x0mzxq4lcarmswsr75qgq5zpfcwchxzrz97ncbwgd"; depends=[dplyr ggplot2 progress purrr rlang tibble tidypredict]; };
   modelfree = derive2 { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; };
   modelgrid = derive2 { name="modelgrid"; version="1.1.1.0"; sha256="1z6g0akczry7vldkk6anfq572zbsfzbd6qnyllgjpbxhy3rrrq0r"; depends=[caret dplyr ggplot2 lattice magrittr purrr]; };
@@ -10183,7 +10394,7 @@ in with self; {
   modelsummary = derive2 { name="modelsummary"; version="0.1.0"; sha256="1g6yc89q267zjplqpwiy6wwvdswyhr6lhg2sldm8zhmbm81jcvks"; depends=[broom checkmate dplyr generics magrittr purrr stringr tibble tidyr]; };
   modeltools = derive2 { name="modeltools"; version="0.2-22"; sha256="1s9lmkac3rl0nknf4wizfhg7ryq7c8yvvyc4z619238br27hhsi5"; depends=[]; };
   modelwordcloud = derive2 { name="modelwordcloud"; version="0.1"; sha256="0ardib0h923i7jk8bgcq6pn2zazx9acf9sdggifsk46hdz8hvqnm"; depends=[]; };
-  moderndive = derive2 { name="moderndive"; version="0.3.0"; sha256="0ww435flspm4yi25v9nh2cdn9bpnwjxdz4fg3cny1c4djs2bzgz2"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
+  moderndive = derive2 { name="moderndive"; version="0.4.0"; sha256="16fbr80v0f5v6is19d5zh9s2qgqw2cb5q71lna7lp0hi22xljl98"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
   modes = derive2 { name="modes"; version="0.7.0"; sha256="185qjrmz2sj0l5931g4d3kx3jpgjn4rf4lln84h6g97prk1ykqmj"; depends=[]; };
   modest = derive2 { name="modest"; version="0.3-1"; sha256="07rs014hdcabp2n0gg14pz2gmqgbw38vjv7a80vkzzh3601hxqws"; depends=[knitr rhandsontable shiny shinyBS]; };
   modesto = derive2 { name="modesto"; version="0.1.2"; sha256="0vmdj8wcy0vv9jaihxrj0m5sr7favz18ngfqc8pd8rd4ipcnxkjf"; depends=[markovchain]; };
@@ -10211,7 +10422,7 @@ in with self; {
   monkeylearn = derive2 { name="monkeylearn"; version="0.2.0"; sha256="18lpfs64h0hy4vkdjlnmxwgagvf54kn8a1c866vv00ckyp85fvn2"; depends=[cowsay digest dplyr httr jsonlite magrittr purrr ratelimitr tibble tidyr]; };
   monmlp = derive2 { name="monmlp"; version="1.1.5"; sha256="19cx60csm8mnf6ksg64vlhi8wi1c7bmv9l55y9zmaljblr0kmzxf"; depends=[optimx]; };
   monographaR = derive2 { name="monographaR"; version="1.2.0"; sha256="0sis2kw07ifq54w6p56zspmlnvxvq6ajb0sdvc9fk480sfxg9806"; depends=[circular maptools png raster rmarkdown sp]; };
-  monomvn = derive2 { name="monomvn"; version="1.9-10"; sha256="13v7rk22a200wcv21phpmhkahw40p9avx8pjxadhgxw9acxcsasb"; depends=[lars MASS mvtnorm pls quadprog]; };
+  monomvn = derive2 { name="monomvn"; version="1.9-13"; sha256="1hm5qf28bh0q7f4zcjqx1qxw3l8hzkx349c1y3nwyfg7436vff6a"; depends=[lars MASS mvtnorm pls quadprog]; };
   monoreg = derive2 { name="monoreg"; version="1.2"; sha256="16n622j1j998a5fhn1c1qbzk5bfa5h09d95ry89gsd00p40hqg0a"; depends=[]; };
   monotonicity = derive2 { name="monotonicity"; version="1.3"; sha256="1h82aikpq5m54zfs1pg4mrajnss6hl0i65ka3rdywv96wmhwsdnr"; depends=[lmtest MASS sandwich]; };
   monreg = derive2 { name="monreg"; version="0.1.3"; sha256="08rcg2xffa61cgqy8g98b0f7jqhd4yp8nx6g4bq3g722aqx4nfg3"; depends=[]; };
@@ -10228,23 +10439,23 @@ in with self; {
   mosaicCore = derive2 { name="mosaicCore"; version="0.6.0"; sha256="1klw97h6lchw1cpcl8s637ikcl428cckmjq0czi7mibh9q9mw72z"; depends=[dplyr lazyeval MASS rlang tidyr]; };
   mosaicData = derive2 { name="mosaicData"; version="0.17.0"; sha256="04z0mdm52mykqsxsinhmsihn181zf6cw321gayk2rjp7lj7mwdq9"; depends=[]; };
   mosaicModel = derive2 { name="mosaicModel"; version="0.3.0"; sha256="1gx4rzh0h922gyb50vz6q5vqqp5ry5hf2mq95948q2gcady91k5w"; depends=[caret dplyr ggformula ggplot2 knitr lazyeval MASS mosaicCore testthat tibble tidyr tidyverse]; };
-  mosum = derive2 { name="mosum"; version="1.2.1"; sha256="1fzxaxc5wd5dv53c460f83k8bc10688ai3qp9vhwhghahsam1wf6"; depends=[plot3D RColorBrewer Rcpp]; };
-  motmot = derive2 { name="motmot"; version="2.1.2"; sha256="163ax2hshwv29b216p2vj904zd1k5xhx62pdm93rl5p333ycl9yi"; depends=[ape caper coda ks mvtnorm Rcpp]; };
+  mosum = derive2 { name="mosum"; version="1.2.3"; sha256="1xrrx0gaby5gbqssvhwracm8wny31lqzd64hkmr81s41z8srkxx9"; depends=[plot3D RColorBrewer Rcpp]; };
+  motmot = derive2 { name="motmot"; version="2.1.3"; sha256="09qsyc4ifdl316kjqqkarmflpjcd0ivkhx5fzi3502anj6dxpjnq"; depends=[ape caper coda ks mvtnorm Rcpp]; };
   motoRneuron = derive2 { name="motoRneuron"; version="1.0.0"; sha256="1hdsf4c1v5hfaqpi5y1v60zqq5fdmlqdvzpsq77diclp9vzdshja"; depends=[dygraphs ggplot2]; };
   moult = derive2 { name="moult"; version="2.1.0"; sha256="0k0969fwy648x25xw42w5ncimyw2cbq305rzf4m77p3pf0k50m9b"; depends=[Formula Matrix]; };
   mountainplot = derive2 { name="mountainplot"; version="1.2"; sha256="1bbgkps1yhfa0lmapqkhhl5mc63p0gzszxw2g910dbi1cjc0pphx"; depends=[lattice]; };
   mousetrack = derive2 { name="mousetrack"; version="1.0.0"; sha256="0lf0xh0c3xl27nh5w8wwyrm2jfzfajm2f73xjdgf746dp365qc8n"; depends=[pracma]; };
-  mousetrap = derive2 { name="mousetrap"; version="3.1.2"; sha256="0kk5i0xzxbcdjx9i2ck429z8pa98rxrqcb5xvck5k9fisprp5xi6"; depends=[cstab diptest dplyr fastcluster fields ggplot2 magrittr pracma psych RColorBrewer Rcpp scales tidyr]; };
+  mousetrap = derive2 { name="mousetrap"; version="3.1.3"; sha256="0c3jnw2jwdrmvkcwlz8gp10pljix4l41yn3jnzxcsz6l3ib50mgr"; depends=[cstab diptest dplyr fastcluster fields ggplot2 magrittr pracma psych RColorBrewer Rcpp scales tidyr]; };
   movMF = derive2 { name="movMF"; version="0.2-4"; sha256="0j5gp1l374479lsijw1hz00pxs09zzh7hapljv80lsvr24vfscpa"; depends=[clue skmeans slam]; };
   move = derive2 { name="move"; version="3.2.2"; sha256="14wmiyk52iar90kbzi6ksl75i0kg2nmsq08sms9rr2wgswr9f7km"; depends=[geosphere httr memoise raster Rcpp rgdal sp xml2]; };
   moveHMM = derive2 { name="moveHMM"; version="1.7"; sha256="031msh427hgjyr37imalr7smd79yqscw9xq5rjrixxc2w5qly9jj"; depends=[boot CircStats geosphere ggmap ggplot2 MASS numDeriv Rcpp RcppArmadillo sp]; };
-  moveVis = derive2 { name="moveVis"; version="0.10.2"; sha256="18crhndhgnhd73r7yx3660z0328vrng94ihm5g8brq2b4iz1wxw3"; depends=[av cowplot curl dplyr geosphere ggplot2 gifski lubridate magick magrittr move pbapply plyr raster RStoolbox sf slippymath sp zoo]; };
+  moveVis = derive2 { name="moveVis"; version="0.10.3"; sha256="1sphh8v16k0qis1ajc81sg0lb3dca7mf0wz4khlxra8sg6cj4gk2"; depends=[av cowplot curl dplyr geosphere ggplot2 gifski lubridate magick magrittr move pbapply plyr raster RStoolbox sf slippymath sp zoo]; };
   moveWindSpeed = derive2 { name="moveWindSpeed"; version="0.2.3"; sha256="14a2iymn4j831xlh42z5qxmhnh7xpp5bxasgpkhnb3v0b5ldyilh"; depends=[move Rcpp]; };
-  movecost = derive2 { name="movecost"; version="0.2"; sha256="1y8wsh6pbg2504y1mvkl608mwxpa9j7rs18b2aiqjkq7g057cmq5"; depends=[gdistance raster rgdal rgeos sp]; };
+  movecost = derive2 { name="movecost"; version="0.3"; sha256="0lrnk09sdbamxc4xhrkgggjcim1xhbsnq13f3ysadn7d1rjazl9i"; depends=[gdistance raster rgdal rgeos sp]; };
   mozzie = derive2 { name="mozzie"; version="0.1.0"; sha256="09dwrv4r0hi19gzi1vpif3q4wlbny9h22430g1hhv0wkqs86mhmw"; depends=[]; };
   mp = derive2 { name="mp"; version="0.4.1"; sha256="0awvwqwb25q47j14b450k1k5mh2yzwhn7gizjv5j7lyiamk30iwq"; depends=[Rcpp RcppArmadillo]; };
   mpa = derive2 { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
-  mpath = derive2 { name="mpath"; version="0.3-17"; sha256="1pk8bkp8y8gyydil33p5fwx440zgrmz3svf4zjbxhdqng9gl10xj"; depends=[bst doParallel foreach glmnet MASS numDeriv pscl]; };
+  mpath = derive2 { name="mpath"; version="0.3-20"; sha256="14nkh161bwdja6b1gycijids387714pk1fhbrljphsilvldv3682"; depends=[bst doParallel foreach MASS numDeriv pscl]; };
   mpbart = derive2 { name="mpbart"; version="0.2"; sha256="1145n0lxmm0kjm2lc358d79hqws48crj17pjvmchl1pbfd7zi4r8"; depends=[bayesm cvTools mlbench mlogit]; };
   mpcmp = derive2 { name="mpcmp"; version="0.1.3"; sha256="11j12ns04g2xdw5r34x86bacwacf3618rzpqz8wvfs1l192l001c"; depends=[]; };
   mpcv = derive2 { name="mpcv"; version="1.1"; sha256="0vwycspiw9saj811f6alkbijivy7szpahf35bxn2rpn2bdhbn21i"; depends=[lpSolve]; };
@@ -10257,11 +10468,11 @@ in with self; {
   mppR = derive2 { name="mppR"; version="1.2.0"; sha256="0ij1r4pihlm79mywacz5fmgd6nww9026mp9a3hamslpn68pflvpz"; depends=[ggplot2 igraph qtl]; };
   mppa = derive2 { name="mppa"; version="1.0"; sha256="06v6vq2nfh4b407x2gyvcp5wbdrcnk3m8y58akapi66lj8xplcx4"; depends=[]; };
   mpr = derive2 { name="mpr"; version="1.0.4"; sha256="13fqvndwxzqa1safa43ad90pkiqnpqmgr0pkwp8lwmnxqmrmj0jb"; depends=[survival]; };
-  mpt = derive2 { name="mpt"; version="0.6-0"; sha256="02r6wqlq9l6cvjhwgmhjbijk7c0rzaxdvc9j5lnascm2d55npfj3"; depends=[]; };
+  mpt = derive2 { name="mpt"; version="0.6-1"; sha256="13f48nflz6b3dk1d22ndfn22sdkz1rzhbh8c85lxk23qhfyc6fv6"; depends=[]; };
   mptools = derive2 { name="mptools"; version="1.0.1"; sha256="1g4fbfwxv9hir0jn22nh9854blgkh0b5jan3lv0888izj4isa1hc"; depends=[animation lattice latticeExtra raster rasterVis sp viridis zoo]; };
   mr_raps = derive2 { name="mr.raps"; version="0.2"; sha256="069vyvsdgc5m7n2fd0h7jrllz789zvsxka7h5wiy36dc7lagd6f8"; depends=[nortest]; };
-  mrMLM = derive2 { name="mrMLM"; version="3.1"; sha256="0mmnqgirbihq25fcy7bqs6qsw9dz6v1mzlm5ccs6pfpi852460c9"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars MASS ncvreg openxlsx qqman sampling stringr]; };
-  mrMLM_GUI = derive2 { name="mrMLM.GUI"; version="3.2"; sha256="0xhbkvq9bd0spnpd8acnmf3spsi1kz43wf2na5b122iv7ppwl3ix"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars MASS mrMLM ncvreg openxlsx qqman sampling shiny shinyjs stringr]; };
+  mrMLM = derive2 { name="mrMLM"; version="4.0"; sha256="03y8gsnz1xwjb5imzgs0iv7hfyajfxag2fjyg1s8qwbvl1s6w04c"; depends=[coin data_table doParallel foreach ggplot2 lars ncvreg qqman sampling sbl]; };
+  mrMLM_GUI = derive2 { name="mrMLM.GUI"; version="4.0"; sha256="0jl61rc642mqg9gmil6vdfc9296srvs2vmfm43ds0f46ysbh8wpx"; depends=[bigmemory coin data_table doParallel foreach ggplot2 lars mrMLM ncvreg openxlsx qqman sampling sbl shiny shinyjs]; };
   mra = derive2 { name="mra"; version="2.16.11"; sha256="0268msdy4cs2ifpagmwiabi6aav54ckn214ai18aqv2h97hmixw0"; depends=[]; };
   mratios = derive2 { name="mratios"; version="1.4.0"; sha256="0pjcwqx3zykpwyykwgqziwignd41sjm2s1blyjwc1lhymis4ldzq"; depends=[mvtnorm]; };
   mrbayes = derive2 { name="mrbayes"; version="0.1.0"; sha256="0p0a1g6xv7g3scmn290ja4bicbdz5c9y6c4hfn4c7advd6ha6ang"; depends=[]; };
@@ -10271,7 +10482,7 @@ in with self; {
   mregions = derive2 { name="mregions"; version="0.1.6"; sha256="0ix77hqcllhcpldchlnvciiflm6ysylynnnqvczpf8vx7gwa3lrk"; depends=[data_table httr jsonlite rappdirs sp tibble wellknown xml2]; };
   mrfDepth = derive2 { name="mrfDepth"; version="1.0.11"; sha256="0x4z4agwbzlyzbkf6aj7y9061cm05dvhzpg05wc7k59xbq1ns1sv"; depends=[abind geometry ggplot2 matrixStats Rcpp RcppArmadillo RcppEigen reshape2]; };
   mrfse = derive2 { name="mrfse"; version="0.1"; sha256="156qy6g2s6cxyd1ijzn709jniml6308gdzvkzcks5q6s7gs9sl2m"; depends=[]; };
-  mrgsolve = derive2 { name="mrgsolve"; version="0.9.2"; sha256="1y3dh5myswghals4nz2m4jb8qk3q6dzgnqm0bf4dilzgpbj3gdx6"; depends=[BH dplyr magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
+  mrgsolve = derive2 { name="mrgsolve"; version="0.10.0"; sha256="1z2i3sl5s6z1pk3fy324zfm9gpdzr1g4af2fhrwhsdk97l6580ij"; depends=[BH dplyr magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
   mri = derive2 { name="mri"; version="1.0.1"; sha256="1dssq556kid6c3djp0s6v853cranv2wjs2c9521l5ykg5g33hfmv"; depends=[]; };
   mritc = derive2 { name="mritc"; version="0.5-1"; sha256="12sfyw5b1lryczl92xvyvhl37qfx3ybg4y9awsl0b7f51zi0lzy3"; depends=[lattice misc3d oro_nifti]; };
   mro = derive2 { name="mro"; version="0.1.1"; sha256="00gc2hd8q5hb2xrswclcqqw1gxl83zmpma6bhsggg3kppsw1dpjv"; depends=[MASS matrixcalc]; };
@@ -10282,7 +10493,7 @@ in with self; {
   msaR = derive2 { name="msaR"; version="0.3.0"; sha256="0lj9yhsissr4rgavyhgdxi2nrkq2088darzraisx9jsirjr49jf8"; depends=[ape htmlwidgets]; };
   msaenet = derive2 { name="msaenet"; version="3.1"; sha256="067p97z54dwhxy0w4ihi8dddcbvglh8ssynbh29fl9jyxfwjr1ms"; depends=[foreach glmnet Matrix mvtnorm ncvreg survival]; };
   msap = derive2 { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
-  mschart = derive2 { name="mschart"; version="0.2.4"; sha256="0499yrdhrihcj6l334nf7abjpzph0ziwwscbzxa25xldv4qrviq2"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
+  mschart = derive2 { name="mschart"; version="0.2.5"; sha256="08j342slv4ca6qkd12hh7jmmv5wv6kfxamw34dr6sd89kzrfdj0p"; depends=[cellranger data_table htmltools officer R6 writexl xml2]; };
   mscstexta4r = derive2 { name="mscstexta4r"; version="0.1.2"; sha256="1hjcasmn33xav2mw085lcndv0432l6sz327aikf63491wj1sj7mw"; depends=[dplyr httr jsonlite pander stringi]; };
   mscstts = derive2 { name="mscstts"; version="0.5.2"; sha256="1zvicr1c9lh7cscbx7j5d98zkjwq7piggyz6ssz19gpp2gfc4igy"; depends=[httr jsonlite tuneR]; };
   mscsweblm4r = derive2 { name="mscsweblm4r"; version="0.1.2"; sha256="031s00wpr9zfjpii56m67q1phn05vqlhb8cfzhyf6fbrxvpb8k7n"; depends=[httr jsonlite pander]; };
@@ -10300,13 +10511,13 @@ in with self; {
   msme = derive2 { name="msme"; version="0.5.3"; sha256="0mq57zdas1s87nblnvbif9lisgahfhvmabglvp9imr1mvpwybpbh"; depends=[lattice MASS]; };
   msmtools = derive2 { name="msmtools"; version="1.3"; sha256="0p7xpj78cjc1s015ma7vc38kqiy6wvpyixrdinx4ngig1pqfrq4p"; depends=[data_table msm survival]; };
   msos = derive2 { name="msos"; version="1.1.0"; sha256="1dlqmjz5f8h71334kzdjbzvkn0dhysp7fb18g45qqs79cqpf1vzf"; depends=[mclust tree]; };
-  mssm = derive2 { name="mssm"; version="0.1.2"; sha256="1x788jlr1jr1nsy5jlmqrrdgh2r7vgk6qwwvmals5n47avv7sxaw"; depends=[nloptr Rcpp RcppArmadillo testthat]; };
+  mssm = derive2 { name="mssm"; version="0.1.3"; sha256="1d1iksvm97g42p4y3jfzrk0xf4bbw8n237dcmy9jjyaw9vlxw61h"; depends=[nloptr Rcpp RcppArmadillo testthat]; };
   mssqlR = derive2 { name="mssqlR"; version="1.0.0"; sha256="0qdnm7cx9cg14vfcnkmcjqr1jpxsw8xlrbnxldvzz44mzv2n878l"; depends=[magrittr RODBC]; };
   mstR = derive2 { name="mstR"; version="1.2"; sha256="0v8cv9pswkvw0lva6jx5vavsb20dawgq83gn4rgydyhvigcl5szd"; depends=[]; };
   mstate = derive2 { name="mstate"; version="0.2.11"; sha256="13kw1n1p2f1f0k5hkcc4732wlhiy3csx8nx2ajrgw06svzksgh3y"; depends=[RColorBrewer survival]; };
   mstherm = derive2 { name="mstherm"; version="0.4.7"; sha256="04jrp0w17svwmrvx356jmh04npbwhk9nvfy3r39vqr82yrvn6jip"; depends=[doParallel foreach nls2 plotrix RColorBrewer]; };
   mstknnclust = derive2 { name="mstknnclust"; version="0.1.0"; sha256="1q7cx4yjgdvwkjfx07dywlh02zd3002165wh88aqhs3999jhnpnz"; depends=[amap igraph]; };
-  mstrio = derive2 { name="mstrio"; version="10.11.1"; sha256="1k407b75kfvqlvlr9wcklf81b2cby3yi6jdi5ka661n5rybcs4nn"; depends=[httr jsonlite openssl]; };
+  mstrio = derive2 { name="mstrio"; version="11.1.4.25"; sha256="017g2y0imfhn6d9k1fa1h9ckln6mmn7adn5dj2fa8mdf6mygbxdb"; depends=[httr jsonlite miniUI openssl R6 rstudioapi shiny shinyjs]; };
   msu = derive2 { name="msu"; version="0.0.1"; sha256="1vhh9725dbywmzihnmsq1jircpn91r8227j2f76fvma9rwss90p7"; depends=[entropy]; };
   mtconnectR = derive2 { name="mtconnectR"; version="1.2.1"; sha256="0hl46h535mjqwgrhmxlixhfsych3blzcynffp55nr1ynrra4dn06"; depends=[data_table dplyr dtw ggplot2 lubridate magrittr plyr proxy stringr tidyr XML]; };
   mthapower = derive2 { name="mthapower"; version="0.1.1"; sha256="0g6dn0qn7z6qc1gbzspy1n7b803427bc9fv5yqk7j8i1is1p8h94"; depends=[]; };
@@ -10324,6 +10535,7 @@ in with self; {
   muir = derive2 { name="muir"; version="0.1.0"; sha256="0h3qaqf549v40ms7c851sspaxzidmdpcj89ycdmfp94b2q3bmz98"; depends=[DiagrammeR dplyr stringr]; };
   mulset = derive2 { name="mulset"; version="1.0.0"; sha256="0pigiy6hfiqh6x4zx6zqn3ykk36s3abzzyb67jdlf4jzc5zhrl9g"; depends=[digest gtools]; };
   multDM = derive2 { name="multDM"; version="1.0"; sha256="06vjbsjmqdnndpqacfpgq5w8q6xg81s7vd9fhwdkww3adr7r8cg3"; depends=[]; };
+  multbxxc = derive2 { name="multbxxc"; version="1.0.1"; sha256="1ip5awjc2ljpy6nsr4y42x0yg4n7lyaxp9kzfjvwp41k9lriz4gm"; depends=[Rcpp RcppArmadillo rmumps]; };
   multcomp = derive2 { name="multcomp"; version="1.4-10"; sha256="1kzmdn9jmz5bmhf3wsfr12ljbasmwsgcsfdia52k0bi6q0swdg19"; depends=[codetools mvtnorm sandwich survival TH_data]; };
   multcompView = derive2 { name="multcompView"; version="0.1-7"; sha256="18gfn3dxgfzjs13l039l2xdkkf10fapjjhxzjx76k0iac06i1p7i"; depends=[]; };
   multdyn = derive2 { name="multdyn"; version="1.6"; sha256="06yab2lmxp7lc7zjk8n194mn5vza0yjbp276iair3ry35my4h3v8"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
@@ -10348,22 +10560,22 @@ in with self; {
   multicross = derive2 { name="multicross"; version="2.0.0"; sha256="1ic632ig0mzvq00hrkjs8vfa5mzp8vwrqflfqfdr5wkdvcqqnhbb"; depends=[AnnotationDbi crossmatch MASS Matrix nbpMatching org_Ce_eg_db org_Hs_eg_db org_Mm_eg_db Seurat]; };
   multifluo = derive2 { name="multifluo"; version="1.1"; sha256="1hnh1gj6lfnh2fn0v064bszydgsr6p9f7p8yxyw5rdxfrxymiw09"; depends=[agricolae ellipse imager]; };
   multifwf = derive2 { name="multifwf"; version="0.2.2"; sha256="1l6z3pzz6g6w1spp1f918jh6w0jm93qyc882rj8jhn1198d2s8nd"; depends=[]; };
-  multigraph = derive2 { name="multigraph"; version="0.91"; sha256="1ind8zqqcy4k97sdimn7bn85nbqwda92z0dp80kilcsvlhf47y35"; depends=[multiplex]; };
+  multigraph = derive2 { name="multigraph"; version="0.92"; sha256="1wxia62qjy94cbcpf85nyxba6gb9d9607pkqhgy2dc5dyhhw61vs"; depends=[multiplex]; };
   multigroup = derive2 { name="multigroup"; version="0.4.4"; sha256="1r79zapziz3jkd654bwsc5g0rphrk9hkp1fpik8jvjsa1cix40mq"; depends=[MASS]; };
   multilaterals = derive2 { name="multilaterals"; version="1.0"; sha256="11zfdhn6qzqz0n31g23bn40wnfzkjndb753iiqvihirphzb74v5v"; depends=[ape igraph]; };
   multilevel = derive2 { name="multilevel"; version="2.6"; sha256="19zrvpq23dn69d7kai1rgw5b8ibmgybnbg6isliq0n8bv9jvrzia"; depends=[MASS nlme]; };
   multilevelMatching = derive2 { name="multilevelMatching"; version="1.0.0"; sha256="11xb52z4pkikpbba98pviy2zvggf5dlqqd987vd8f3r7wxqpl2rk"; depends=[boot MASS Matching nnet]; };
   multilevelPSA = derive2 { name="multilevelPSA"; version="1.2.5"; sha256="0926jaicdxk846vyfphb2hyg3zan3wal44x1bwamws0zf4flc4hj"; depends=[ggplot2 MASS party plyr PSAgraphics psych reshape xtable]; };
-  multimark = derive2 { name="multimark"; version="2.1.0"; sha256="1c33m33hi7s3ap310hm9y6b0ji020paislsiixa4qp4608r3cg0j"; depends=[Brobdingnag coda doParallel doRNG foreach Matrix mvtnorm prodlim raster RMark sp statmod]; };
+  multimark = derive2 { name="multimark"; version="2.1.1"; sha256="08m25qg9w691i3sj023hbca5p3523nfi3kb25wk4abm97ixzf0s3"; depends=[Brobdingnag coda doParallel doRNG foreach Matrix mvtnorm prodlim raster RMark sp statmod]; };
   multimode = derive2 { name="multimode"; version="1.4"; sha256="142k2jbi6y9aaqz9cwl4wk2m1y1n1fgvk873nk3psdv2h6r77slx"; depends=[diptest ks rootSolve]; };
   multinbmod = derive2 { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
-  multinet = derive2 { name="multinet"; version="3.0.3"; sha256="1dazqilfn5ws0v55h5v75n27jhgv964gdv1n5rkfjzgzrcp1djxj"; depends=[igraph RColorBrewer Rcpp]; };
+  multinet = derive2 { name="multinet"; version="3.1.0"; sha256="0skxk1h7ax11mlc7pffb7m5p86baamcc8d6v93y9vz91j8304g5w"; depends=[igraph RColorBrewer Rcpp]; };
   multinets = derive2 { name="multinets"; version="0.2.1"; sha256="00h1nqi49mix5rxp39i46pimmr3rl0c2869g7ss8cy0kl8hl41hz"; depends=[igraph igraphdata Rcpp]; };
   multinomRob = derive2 { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[MASS mvtnorm rgenoud]; };
   multinomineq = derive2 { name="multinomineq"; version="0.2.1"; sha256="09h5nccfcrnl78rdxwsw5cqirfq40a6x4dmpkibc475z3xndk2rm"; depends=[coda quadprog Rcpp RcppArmadillo RcppProgress RcppXPtrUtils Rglpk]; };
   multipanelfigure = derive2 { name="multipanelfigure"; version="2.0.2"; sha256="0f24b0msx6y9ccdi65d8rxf589vw5rz6pxwa55bivq8cy5s4gc27"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_types ggplot2 gridGraphics gtable magick magrittr stringi]; };
   multipleNCC = derive2 { name="multipleNCC"; version="1.2-1"; sha256="080wpyifpw41p6jip2ia7439jdhzyb7lbhs2qzzg0hn6c0qq7mrr"; depends=[mgcv survival]; };
-  multiplex = derive2 { name="multiplex"; version="2.9"; sha256="1na0w4kzaswgzyw4wq8qmihasgbvbl426a2cx3y672l80rgjhhdh"; depends=[]; };
+  multiplex = derive2 { name="multiplex"; version="2.9.2"; sha256="1qwxyzm4i33siybh65qny6bbmv039kdp7mfd5cbbx252qrz9379s"; depends=[]; };
   multipol = derive2 { name="multipol"; version="1.0-7"; sha256="1rkrg3kayxa05jayg8bk1mm3hcvi76570wqfja5953hd9j4krgha"; depends=[abind]; };
   multirich = derive2 { name="multirich"; version="2.1.1"; sha256="04jr5jvds70j2psyxz12d2my61jcj5hvdyv10pvar2rpqaw0yxyh"; depends=[]; };
   multiselect = derive2 { name="multiselect"; version="0.1.0"; sha256="1cda38zq7c1r56wdfpr5dg0jfw4kzi9p7jq59qm04j461j9ag3q6"; depends=[Hmisc]; };
@@ -10371,7 +10583,7 @@ in with self; {
   multisom = derive2 { name="multisom"; version="1.3"; sha256="0msxmrj4iawxg4vf4r7kj26zalxz4di2w4nxgxiakiig4g4ggy9z"; depends=[class kohonen]; };
   multispatialCCM = derive2 { name="multispatialCCM"; version="1.0"; sha256="1fzd91w10iln8qb81z240lq3fi4gq22l4rh9npkav6fiq6g6rlp8"; depends=[]; };
   multistate = derive2 { name="multistate"; version="0.2"; sha256="0jdgyzc99k4py39g98c4dlcdl918568ihcyhb7csxbsn1zn1qm9l"; depends=[date relsurv statmod survival]; };
-  multistateutils = derive2 { name="multistateutils"; version="1.2.2"; sha256="135rjk16k85g3j3dw5pzz98waw7g3ixjdbkl7gqmngndyc3mlii9"; depends=[data_table dplyr magrittr networkD3 Rcpp tidyr webshot]; };
+  multistateutils = derive2 { name="multistateutils"; version="1.2.3"; sha256="00fs0mbx3vhs0xkcjxr1i44a2qi99bvhiikkm30m3kbalny5nn01"; depends=[data_table dplyr magrittr networkD3 Rcpp tidyr]; };
   multitaper = derive2 { name="multitaper"; version="1.0-14"; sha256="04wd9bbhyx7697pfy0fpj02v1csr48hkpqj62h9p8a6w84ji4k68"; depends=[]; };
   multivariance = derive2 { name="multivariance"; version="2.2.0"; sha256="1877yym7fhnjhjdfchpdjrcyz10w7flsvjq78s51y0km0rblycph"; depends=[igraph microbenchmark Rcpp]; };
   multivator = derive2 { name="multivator"; version="1.1-9"; sha256="0vbqvhmym46zjr1h4s53sjrddfjpv8wi0sq4lrh2rmqarq068416"; depends=[emulator mvtnorm]; };
@@ -10400,7 +10612,7 @@ in with self; {
   mvPot = derive2 { name="mvPot"; version="0.1.4"; sha256="04l9dn8amwp366b6lic5fkl4kck0x2m3xcsqz6as4c3h772nhq1w"; depends=[evd gmp MASS numbers]; };
   mvProbit = derive2 { name="mvProbit"; version="0.1-8"; sha256="07dizclqjlwj29yb3xwjihjh8kmn6jiq5cpf8rcirylzykfdv3wk"; depends=[abind bayesm maxLik miscTools mvtnorm]; };
   mvQuad = derive2 { name="mvQuad"; version="1.0-6"; sha256="016477dhjdkqiadc631vzpbp967mn4yli6by3s1k348mlfirwsi3"; depends=[data_table statmod]; };
-  mvSLOUCH = derive2 { name="mvSLOUCH"; version="2.0.7"; sha256="0kcqjzsdpdclfifgbcnqg76kv4dpqsd2zajgrsgfzlhc6vvrqk42"; depends=[abind ape Matrix matrixcalc mvtnorm ouch PCMBase]; };
+  mvSLOUCH = derive2 { name="mvSLOUCH"; version="2.1"; sha256="0p9rappzbz68jhgia9w3kpiy0x2gzm74mc1ap2xcyvk13y9pgvyz"; depends=[abind ape Matrix matrixcalc mvtnorm ouch PCMBase]; };
   mvShapiroTest = derive2 { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; };
   mvabund = derive2 { name="mvabund"; version="4.0.1"; sha256="0la935gsiryfc0zixxr1dqj0av271x96pqxbi3bp6dksbw5gm68k"; depends=[MASS Rcpp RcppGSL statmod tweedie]; };
   mvbutils = derive2 { name="mvbutils"; version="2.8.232"; sha256="0awd0jy492ha321c20kmmgl20kqphdmrmswakc0rq6h8z9d55kdg"; depends=[]; };
@@ -10433,7 +10645,7 @@ in with self; {
   mvtnorm = derive2 { name="mvtnorm"; version="1.0-11"; sha256="0lkjph661blc1nwfzg9w48a60wvj6ffh4zjwlisvracsx4nn2883"; depends=[]; };
   mvtsplot = derive2 { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; };
   mwa = derive2 { name="mwa"; version="0.4.1"; sha256="0bd4i1zzwmcsrm2bg14f528yav5hb6qxcd7x4i5rwdcx1hlx27bw"; depends=[cem MASS rJava]; };
-  mwaved = derive2 { name="mwaved"; version="1.1.6"; sha256="12anv9f1mgb4p6f497zax3hzdc2wfjmi2sjha27qsfp7bfglikjn"; depends=[Rcpp shiny]; };
+  mwaved = derive2 { name="mwaved"; version="1.1.7"; sha256="0g0yddsgdfyvqaj59qi6k3sknpbppdmgvq0rgnil5q8ki5skvgis"; depends=[Rcpp shiny]; };
   mwshiny = derive2 { name="mwshiny"; version="2.0.0"; sha256="07x36dymd79aziz8k3sfx7l82xzmv43pkwndsfv9ii58q7nli1hz"; depends=[shiny]; };
   mxkssd = derive2 { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
   myTAI = derive2 { name="myTAI"; version="0.9.1"; sha256="0pbyxbrbbaadi5k2yp79lr6r56gjq65hmin3ssr032xipgw0d97l"; depends=[doParallel dplyr edgeR fitdistrplus foreach ggplot2 gridExtra nortest RColorBrewer Rcpp RcppArmadillo readr reshape2 scales taxize tibble]; };
@@ -10451,9 +10663,10 @@ in with self; {
   nVennR = derive2 { name="nVennR"; version="0.2.1"; sha256="11qkwd8laf67iqyzx3ia424vykvsvy0k9d7labdgqfx2ihd95hh2"; depends=[Rcpp]; };
   na_tools = derive2 { name="na.tools"; version="0.3.1"; sha256="1lbzsckfg297n85kzbin65x1l6qgg9l50hd3xi2gflxc7n2xb8bw"; depends=[]; };
   nabor = derive2 { name="nabor"; version="0.5.0"; sha256="1nj39cdfwrmhgsi3cq8imxv3n6xzc1v6dzdb2cf2hybjk368v4s7"; depends=[BH Rcpp RcppEigen]; };
-  nadiv = derive2 { name="nadiv"; version="2.16.0.0"; sha256="0pfg9hbhcjgbfmakl1jqqaf9i07i5z5jk7sh2x7x7p4354z30z9y"; depends=[Matrix]; };
+  nadiv = derive2 { name="nadiv"; version="2.16.2.0"; sha256="0gvpl8jrczk9afc7qg6w8w0gn28nia5mh3vanlsp7j0kj3vzqqc5"; depends=[Matrix]; };
   naivebayes = derive2 { name="naivebayes"; version="0.9.6"; sha256="1rmpc7ynnl909m20njdy5nc7siqqlj5xra3ry41b0pgb966ijcdz"; depends=[]; };
-  naivereg = derive2 { name="naivereg"; version="1.0.1"; sha256="0wvyv54q3r4jz03jdbsmnxsinzpqcac6xjvzcrjjdzbkqfxicxal"; depends=[gmm grpreg]; };
+  naivereg = derive2 { name="naivereg"; version="1.0.2"; sha256="11prmwb6jc0la4w2qlmbr9n529sn4mv3zm9h80svg6gs119a9yb0"; depends=[gmm grpreg ncvreg]; };
+  nakagami = derive2 { name="nakagami"; version="1.0.0"; sha256="1i9m1nlqfdk9k3bzf8qlfc11spzfqly49n1pk7phvykzjgd1c1s4"; depends=[assertthat]; };
   namedCapture = derive2 { name="namedCapture"; version="2019.7.30"; sha256="12cnd16015ig0qx41gfkf7915iyzlaa7ixdv72x9vx3rylw86y4q"; depends=[]; };
   namer = derive2 { name="namer"; version="0.1.4"; sha256="0ika1imdrslfycbsg6zrssgghsc729ah4yvgjpv9kykppw098qwd"; depends=[dplyr fs glue magrittr purrr rstudioapi tibble]; };
   namespace = derive2 { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
@@ -10466,34 +10679,34 @@ in with self; {
   nardl = derive2 { name="nardl"; version="0.1.5"; sha256="1xi1fkwgkfc1b8qsgi4lrjx419778qk0vxzl23azcziwa6fha5p8"; depends=[Formula gtools strucchange tseries]; };
   narray = derive2 { name="narray"; version="0.4.1"; sha256="09n50shk2gy1m85kmvq8g3zh2nrikpllv8gph9x2id1p62rbqf1y"; depends=[progress stringr]; };
   nasadata = derive2 { name="nasadata"; version="0.9.0"; sha256="0y88qdy8c1y0prsajxic5vdqfixv9knjsbhw3vbfac8wv3a69bjl"; depends=[dplyr jsonlite plyr png]; };
-  nasapower = derive2 { name="nasapower"; version="1.1.2"; sha256="182nwk0b1i268l9i2kgybkgvw5hc5bcyzd6p2nw8kf2pcqwn8x1i"; depends=[APSIM crul curl jsonlite lubridate readr tibble]; };
+  nasapower = derive2 { name="nasapower"; version="1.1.3"; sha256="1grfbj68vxsy50a0zylgfddwgr3ilrk2v60755vra9ckpmnf31zi"; depends=[APSIM crul curl jsonlite lubridate readr tibble]; };
   nasaweather = derive2 { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
   nat = derive2 { name="nat"; version="1.8.13"; sha256="12n81jzlzamnpkf5inczfc1x8qmfibszpkakpyc0q7r7wgpykbgv"; depends=[digest filehash igraph nabor nat_utils plyr rgl yaml]; };
   nat_nblast = derive2 { name="nat.nblast"; version="1.6.2"; sha256="0b2gzyzszj2v5girxyv31nvds0837lzvim7x7bs9h897yrxs57k8"; depends=[dendroextras nabor nat plyr rgl spam]; };
   nat_templatebrains = derive2 { name="nat.templatebrains"; version="0.9"; sha256="0r0ydhxnax4x4gwp60bgarhgp59g4sis7msa3rq4kddv8qdi3gix"; depends=[digest igraph memoise nat rappdirs rgl]; };
   nat_utils = derive2 { name="nat.utils"; version="0.5.1"; sha256="12g87ar795xfbz7wljksb24x9hqvcirjr50y4mbpx1427r0l7clv"; depends=[]; };
+  nationwider = derive2 { name="nationwider"; version="1.0.0"; sha256="0g4lz39gn1xwxk0jd14bl70q7c537bdpclra26lqqg1xj0jcfmm1"; depends=[dplyr httr lubridate magrittr readxl rvest stringr tidyr xml2 zoo]; };
   natserv = derive2 { name="natserv"; version="0.3.0"; sha256="0plfcf9c1lwfmac3nnx07hyhpr12q6mfmmj0dz8xyxdspd2ps81w"; depends=[crul data_table tibble xml2]; };
   natural = derive2 { name="natural"; version="0.9.0"; sha256="0zxwbf3gg2h0bhl2w0md3rd162vlsgg0dv3187hc0ax7333cc4cx"; depends=[glmnet Matrix]; };
   naturalsort = derive2 { name="naturalsort"; version="0.1.3"; sha256="0mz801y9mzld9ypp3xmsjw2d8l9q97sdnv09wrci9xi3yg2sjf6d"; depends=[]; };
   nbc4va = derive2 { name="nbc4va"; version="1.1"; sha256="025p9h1ghrsq4h439gx25ffpyvh2kp1i51hm7kbzx8nmh4ka8aff"; depends=[]; };
-  nbconvertR = derive2 { name="nbconvertR"; version="1.0.2"; sha256="1dc9jxfibvb27qwiykj93322nb1ahwrg69zqcc0p9xp0rpsim02w"; depends=[]; };
+  nbconvertR = derive2 { name="nbconvertR"; version="1.3.2"; sha256="0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg"; depends=[]; };
   nbpMatching = derive2 { name="nbpMatching"; version="1.5.1"; sha256="0f90k9vq05gkc0sgywb98frig63df0ih4z41dq7m2inx1zk5rqns"; depends=[Hmisc MASS]; };
-  nc = derive2 { name="nc"; version="2019.9.16"; sha256="07bl48k4hkz7rp16h8la8z3d313vgarqb00a65grg1v1cc4sa6r3"; depends=[data_table]; };
+  nc = derive2 { name="nc"; version="2019.10.19"; sha256="1z8v8i2bvqj1vdhijxabv0rw6ammfgzxxmwax1ywcka9jr0x1fnw"; depends=[data_table]; };
   ncappc = derive2 { name="ncappc"; version="0.3.0"; sha256="0bf00iskrd3x43839bwn957mi3qvm2dhcmqa7hl1ib0gp2r1cnzx"; depends=[bookdown Cairo dplyr ggplot2 gridExtra gtable knitr lazyeval magrittr PopED purrr readr reshape2 rlang rmarkdown scales tibble tidyr xtable]; };
   ncar = derive2 { name="ncar"; version="0.4.2"; sha256="12cz4mlcmg8vdcn6747q1vz20wyypf89jq3nzx17s3aki0vlnwmj"; depends=[NonCompart rtf]; };
   ncbit = derive2 { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
   ncdf_tools = derive2 { name="ncdf.tools"; version="0.7.1.295"; sha256="1jgxivmg2gzvkn09n13i5xr1v0xcyp5ckhwxz6g5kdh9z2dkjhc2"; depends=[abind chron JBTools plotrix raster RColorBrewer RNetCDF]; };
-  ncdf4 = derive2 { name="ncdf4"; version="1.16.1"; sha256="083sb24anyd4sw0il3x07pqn9rbx5y5ayqass6mz8x443rnjvphd"; depends=[]; };
-  ncdf4_helpers = derive2 { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[abind ncdf4 PCICt]; };
+  ncdf4 = derive2 { name="ncdf4"; version="1.17"; sha256="1xls44ln2zjrrlimxl8v4bk2ni3g45c9j0gxdnjx31rikmrc95fv"; depends=[]; };
   ncdfgeom = derive2 { name="ncdfgeom"; version="1.1.0"; sha256="19gbpf19vjzfigi9awhqjx6zsv92h4w1lg3dps3sgaibym9lq3zk"; depends=[dplyr ncmeta RNetCDF sf]; };
   ncdump = derive2 { name="ncdump"; version="0.0.3"; sha256="09g98mzpky32z41jf23ahzhyv34l34y1gqq99j2hl4pqlvvhxs9i"; depends=[dplyr ncdf4]; };
   ncf = derive2 { name="ncf"; version="1.2-8"; sha256="1j2q1dqhr8xk9fhzjkpnx8ff427d1m8qr07l2zj5lwyh9wbr1jzn"; depends=[]; };
   ncg = derive2 { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
-  ncmeta = derive2 { name="ncmeta"; version="0.1.0"; sha256="0b02nqz0757jm55yh5zw4pd52v0af8hkq84is50fr1vpp9pdpshc"; depends=[dplyr rlang RNetCDF tibble tidyr]; };
-  ncodeR = derive2 { name="ncodeR"; version="0.1.3.0"; sha256="03jwvxks4db3dngrmmz7bhwq2j072lqwvnhi7xwg1pgbba02wlz7"; depends=[cli R6 rhoR]; };
+  ncmeta = derive2 { name="ncmeta"; version="0.2.0"; sha256="1qrb2mnb4qjgx1ss1zwz7z034xrb9p0w0q9mqdh6rg4qgdsfhdxh"; depends=[dplyr rlang RNetCDF tibble tidyr]; };
+  ncodeR = derive2 { name="ncodeR"; version="0.2.0.1"; sha256="1pxiqxhq2rxs8rxxhw1hbds7z2qkf7ws26a8wsbw815yn6jm10n8"; depends=[cli R6 rhoR]; };
   ncpen = derive2 { name="ncpen"; version="1.0.0"; sha256="0vl4cbrsifr5s1691gacmp0lk3aqyq0yfafafzv6g3zygi4igrsa"; depends=[Rcpp RcppArmadillo]; };
   ncvreg = derive2 { name="ncvreg"; version="3.11-1"; sha256="09s8k8gqsnwm6f5x1rr1f32pzam67migxwkbj4lfvw85v3pljdmr"; depends=[]; };
-  ndjson = derive2 { name="ndjson"; version="0.7.0"; sha256="1hqbp5aii3x2yygsy4zfv3j2zl78fzrydqj3ycfl3k3nnrkrf8h5"; depends=[data_table dplyr dtplyr Rcpp]; };
+  ndjson = derive2 { name="ndjson"; version="0.8.0"; sha256="0lvzbgfi1sg4kya1mvv67z14qk3vz9q57x22qh57xq8ampdkg812"; depends=[data_table Rcpp tibble]; };
   ndl = derive2 { name="ndl"; version="0.2.18"; sha256="0b235v6jf98rrqp5aqw3jkk7mq8dbqmhb758zbzza1mavh4n2k7s"; depends=[Hmisc MASS Rcpp]; };
   ndtv = derive2 { name="ndtv"; version="0.13.0"; sha256="1qfjvq5wch256gmg7pw9jwda33r4963a8p8jmp27cmpzdwycvnzy"; depends=[animation base64 jsonlite MASS network networkDynamic sna statnet_common]; };
   nearfar = derive2 { name="nearfar"; version="1.2"; sha256="116rq797a5fascirz8xg465fywjf40j1k5czryvqzpik0if0w00r"; depends=[car GenSA MASS nbpMatching]; };
@@ -10513,7 +10726,7 @@ in with self; {
   nephro = derive2 { name="nephro"; version="1.2"; sha256="1izmzx8lah322xzb42asfnrvr2c9yqd0zf7fmrhwd3p4rr1rqa7d"; depends=[]; };
   nesRdata = derive2 { name="nesRdata"; version="0.2.0"; sha256="1cr5d600bnslxbm2kknzwivvb4zyfsrf8rbrk3kk0j6dpclx5x6s"; depends=[dataone dplyr purrr rappdirs readr]; };
   nestfs = derive2 { name="nestfs"; version="1.0"; sha256="0lzbjj287s5kmw9635gfyl3jdgfh5mxbwxqxmnwynbwccixk0akc"; depends=[dgof pROC]; };
-  netCoin = derive2 { name="netCoin"; version="0.3.2"; sha256="04fi08879yisdmkla93rvr029inwlgg5c5vz8k24d535m8k6mjhp"; depends=[haven igraph Matrix]; };
+  netCoin = derive2 { name="netCoin"; version="1.1.23"; sha256="0v5ia8iwn7i21a5xa6wjnm1pn1z1y0ccbg6qqnfzg01x1d751s5q"; depends=[haven igraph Matrix]; };
   netSEM = derive2 { name="netSEM"; version="0.5.1"; sha256="0k4ngl4p1v2rp1sf2x65m7p0cd6ha98fyx21b73ki0531q0d9fil"; depends=[DiagrammeR DiagrammeRsvg gtools htmlwidgets knitr magrittr MASS png rsvg segmented svglite]; };
   netassoc = derive2 { name="netassoc"; version="0.6.3"; sha256="1hyshnbpq60a3y13b4sh1c2rk78x09q01b7q6xrgv10w7bn9r2sg"; depends=[corpcor huge igraph infotheo vegan]; };
   netchain = derive2 { name="netchain"; version="0.1.0"; sha256="187pgsp6dn15n9bx9sj1pjx8wyfp2cs5s89s72hclanic479pv4g"; depends=[gtools igraph Matrix Rcpp stringr]; };
@@ -10523,13 +10736,13 @@ in with self; {
   netdiffuseR = derive2 { name="netdiffuseR"; version="1.20.2"; sha256="0fscbpn8dvaflnk06rpnxydvq1292l233rlxw14nkmm7d0508g9x"; depends=[boot igraph MASS MatchIt Matrix network networkDynamic Rcpp RcppArmadillo sna SparseM viridisLite]; };
   netgen = derive2 { name="netgen"; version="1.3"; sha256="1iywpl9n1yplnd38dff8m9mz1vlfbvplw393grhpav5czcknj160"; depends=[BBmisc checkmate ggplot2 igraph lhs lpSolve mvtnorm stringr]; };
   netgsa = derive2 { name="netgsa"; version="3.1.0"; sha256="0mn4dnvckdskigdfbszjnfmb3m6yfbz4qc26qwh1wznwx5wmcbf0"; depends=[corpcor dplyr glassoFast glmnet graph graphite igraph magrittr Matrix msigdbr quadprog rlang]; };
-  netgwas = derive2 { name="netgwas"; version="1.10"; sha256="19gqsilw9i4hinz6qsms7cnlrrrnpriq2ws8l1naivfz94bdi7dx"; depends=[glasso huge igraph MASS Matrix qtl RBGL tmvtnorm]; };
+  netgwas = derive2 { name="netgwas"; version="1.11"; sha256="13d889ji6x0v5pmqlr1gs9yskm3262fzb5i2l9lw6y6bc72q3l06"; depends=[glasso huge igraph MASS Matrix qtl RBGL tmvtnorm]; };
   netjack = derive2 { name="netjack"; version="1.2.0"; sha256="060ygb0kxi0gx1ya38cmf5hhyy6jkwq5519azdqhq5i324cwzzm7"; depends=[brainGraph ggplot2 igraph Rdpack]; };
   netmeta = derive2 { name="netmeta"; version="1.1-0"; sha256="16cf7cam63f07lfmvj5g8rqrdagyzphnsp4pxaklgnx5wwjwj3wj"; depends=[ggplot2 magic MASS meta]; };
   netrankr = derive2 { name="netrankr"; version="0.2.1"; sha256="0csgi09ijp7ygwk7x057l9xjrzyhr7sav8hamh0p6i72l6719ssl"; depends=[igraph Rcpp RcppArmadillo]; };
   netregR = derive2 { name="netregR"; version="1.0.1"; sha256="0n5absjra0imddz1spy1piij5rdz76wi4g568yby3rbhkm1896rs"; depends=[Matrix]; };
   nets = derive2 { name="nets"; version="0.9"; sha256="1wcr0fj50w3rqxw0k9cb81c2psdkb0dwwwzrjvxv50hksbhyi8kn"; depends=[igraph]; };
-  network = derive2 { name="network"; version="1.15"; sha256="1cscw5978fyixhkicf06c4b2g1yf6gyi8vx86cz3dy75d41mrgjw"; depends=[magrittr tibble]; };
+  network = derive2 { name="network"; version="1.16.0"; sha256="0dnf1wl3za2lhx2lwd8smhlijl1cfhckgr8zz9piiirrfi2m2kx2"; depends=[magrittr tibble]; };
   networkABC = derive2 { name="networkABC"; version="0.5-3"; sha256="0f3wbm76i8m9f52b0zvb2fvziqh43xy67llnv4lm54yj5szxvjr0"; depends=[network RColorBrewer sna]; };
   networkD3 = derive2 { name="networkD3"; version="0.4"; sha256="02wxki67drppgfka1is1ykg1f2rxf0x0657c0crj7ipfy62jbf1k"; depends=[htmlwidgets igraph magrittr]; };
   networkDynamic = derive2 { name="networkDynamic"; version="0.10.0"; sha256="1dgk3lj1fx0x6ccyp6h6rkzbjqqd8nflilqs4dfi8sm0fcndfcgb"; depends=[network statnet_common]; };
@@ -10560,14 +10773,16 @@ in with self; {
   ngstk = derive2 { name="ngstk"; version="0.2.3"; sha256="0196hnbqw9bji3bl2phjs9z5n84x5fs7iiirfd6gjyqv9xlfwd2p"; depends=[configr data_table future optparse stringi stringr]; };
   nhanesA = derive2 { name="nhanesA"; version="0.6.5"; sha256="0bb53s379qrm8xqp4bsi5vgk6v6hvwadzjv09pvdp1n45z7rqj86"; depends=[Hmisc magrittr plyr rvest stringr xml2]; };
   nhdR = derive2 { name="nhdR"; version="0.5.2"; sha256="0qi7ls10pdjcihkdnhbvbnv8dwcy1448pd5fzhpy0kjky7hfi7bj"; depends=[curl dplyr foreign gdalUtils ggplot2 httr maps memoise purrr rappdirs rgdal rlang rvest sf stringr units xml2]; };
-  nhdplusTools = derive2 { name="nhdplusTools"; version="0.3.8"; sha256="06vxs30iymvmdvr0ag9rywp270ya0aqkpb9wy4grv6bn9lw4n36q"; depends=[dplyr httr igraph jsonlite magrittr RANN sf units xml2]; };
+  nhdplusTools = derive2 { name="nhdplusTools"; version="0.3.11"; sha256="17kskpp6m8d2as21ii0l1m2gpsc3yfcgznng4gakb49d476365zy"; depends=[dplyr httr igraph jsonlite magrittr R_utils RANN sf units xml2]; };
   nhds = derive2 { name="nhds"; version="1.0.3"; sha256="1cgw3hmsik3vlnb1lgalhvhrqzwdv08dp80vwpw1nwbf8whcbxjn"; depends=[]; };
+  nhm = derive2 { name="nhm"; version="0.1.0"; sha256="1yf9hnbmfb7xj8mbhnq40wvd0pd88x9qspy1jr3x0n8nb75i3jlp"; depends=[deSolve maxLik mvtnorm]; };
   nhstplot = derive2 { name="nhstplot"; version="1.0.1"; sha256="1f07gfmbx80as54mlzdbs2z1vzc78rjy6i6m7zd4jplgcqdcynws"; depends=[ggplot2]; };
   nice = derive2 { name="nice"; version="0.4-1"; sha256="1p8vmimiq9sbjvbx6c2wqwwkpnzw4kkdvjry6qyadmm3frwhj5qb"; depends=[]; };
   nicheROVER = derive2 { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
   nilde = derive2 { name="nilde"; version="1.1-3"; sha256="0h88if7dh16inyy5zh0yjqmc0c57k99la038p5vlwkj62vvjscmm"; depends=[]; };
   nima = derive2 { name="nima"; version="0.5.0"; sha256="1xpzq1mg2l9hnh83hbmxcqz3v0ai62ii7k688i8lpj0xnpsm25pl"; depends=[assertthat devtools ggplot2 ggthemes gridExtra gtools plyr ProjectTemplate scales survival]; };
   nimble = derive2 { name="nimble"; version="0.8.0"; sha256="0zfxv1bvvdyzdg2b0wvrc9x6y52jyqjm9ffikaql1acalblqws5y"; depends=[coda igraph R6]; };
+  nimbleEcology = derive2 { name="nimbleEcology"; version="0.1.0"; sha256="195g1hcx7fyqx2la2ci88m2bykcnzrv27k4q4qq3z69c54fc5p7d"; depends=[nimble]; };
   nipals = derive2 { name="nipals"; version="0.5"; sha256="1zrn1ykl9scd988wj3mm0j6g5q6lq04iwn2ibgap1lrsd0rw1zbf"; depends=[]; };
   nitrcbot = derive2 { name="nitrcbot"; version="1.2"; sha256="0lainbw9j5aj9s824afpxdjl3q2f728jfpdfji7kpi9hdg8jixhx"; depends=[dplyr httr jsonlite RCurl]; };
   nivm = derive2 { name="nivm"; version="0.3"; sha256="111jkgirgsl1j36xgwi81wzwxial3vdw8mqzi1faldxxd9a2cixm"; depends=[bpcp ssanv]; };
@@ -10578,12 +10793,11 @@ in with self; {
   nleqslv = derive2 { name="nleqslv"; version="3.3.2"; sha256="1v9znvncyigw9r25wx2ma0b7ib179b488dl0qsrhp5zrcz7mcjgm"; depends=[]; };
   nlgeocoder = derive2 { name="nlgeocoder"; version="0.1.3"; sha256="13d30kfgfsny5gnn3yjfnclky6yixaa8sg0m689rszqxrvbrj79x"; depends=[jsonlite]; };
   nlirms = derive2 { name="nlirms"; version="3.4.4"; sha256="1njyfip377a0f6hf9y32s077b4jv4h8ydbjgnl68yfypxbfn2xyx"; depends=[gridExtra gtable]; };
-  nlme = derive2 { name="nlme"; version="3.1-141"; sha256="0ml00g79bimjcl0sgn6h55l5b4gfmnsnc1vvmivggn0318k4c04i"; depends=[lattice]; };
+  nlme = derive2 { name="nlme"; version="3.1-142"; sha256="0figfb1i22hfkkhzpprmpp723s01r43x725a1ab0pc9gsxqg90nx"; depends=[lattice]; };
   nlmeODE = derive2 { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve lattice nlme]; };
   nlmeU = derive2 { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
-  nlmixr = derive2 { name="nlmixr"; version="1.1.1-2"; sha256="1x9df3w8093ri858yjmkp963pnrjx4hny2s74chf5q85q13dib0k"; depends=[BH brew cli crayon digest dparser fastGHQuad flextable generics ggplot2 huxtable lattice lbfgs lbfgsb3c magrittr Matrix memoise minqa n1qn1 nlme R_utils Rcpp RcppArmadillo RcppEigen rex RxODE StanHeaders stringr sys tidyr vpc yaml]; };
+  nlmixr = derive2 { name="nlmixr"; version="1.1.1-3"; sha256="04gm74mjwz8fidapk0040fghy4wpj19412n54v8wli10xjwwb76w"; depends=[BH brew cli crayon digest dparser fastGHQuad flextable generics ggplot2 huxtable lattice lbfgs lbfgsb3c magrittr Matrix memoise minqa n1qn1 nlme R_utils Rcpp RcppArmadillo RcppEigen rex RxODE StanHeaders stringr sys tidyr vpc yaml]; };
   nlmrt = derive2 { name="nlmrt"; version="2016.3.2"; sha256="1g0qq0a933ay65gkp04qgn2wqk6vw79pj2a228c2ski4rcmkjxyn"; depends=[]; };
-  nlnet = derive2 { name="nlnet"; version="1.2"; sha256="00lcyz5csjj9qbhh7yw0qlbnyv32k0c2dpm23v04n9wkdgs67jy0"; depends=[coin e1071 earth fdrtool igraph randomForest ROCR TSP]; };
   nloptr = derive2 { name="nloptr"; version="1.2.1"; sha256="15yz60kljxwnhm2m3gryjzxl3ynhkhd5jiwc179b1hz6rlzf71hz"; depends=[]; };
   nlpred = derive2 { name="nlpred"; version="1.0.0"; sha256="0a13agsacn7qw2i8ggd9v8w7k44r4faby1vv163gsa764ppj70m4"; depends=[assertthat bde cvAUC data_table np Rdpack ROCR SuperLearner]; };
   nlr = derive2 { name="nlr"; version="0.1-3"; sha256="19zcnigijr3jfy4da945z4fdnrirvlmpqminaf5wwk0bz71f3b61"; depends=[GA MASS nlme quantreg robcor TSA tseries]; };
@@ -10596,7 +10810,7 @@ in with self; {
   nlsem = derive2 { name="nlsem"; version="0.8"; sha256="0q3wk7x67mh2447ah807djyklia2x2d45krsskffynazm83msnj9"; depends=[gaussquad lavaan mvtnorm nlme orthopolynom]; };
   nlshelper = derive2 { name="nlshelper"; version="0.2"; sha256="02xnx0j8p1im1hdwnia3n51dicscjf8s33y475i3dczvhmivvbmf"; depends=[broom dplyr magicaxis mgcv nlme]; };
   nlshrink = derive2 { name="nlshrink"; version="1.0.1"; sha256="0adnr7g3n3brwlvyix8wa7h59gj036l5anv8abqy80ysmfcmsp0y"; depends=[MASS nloptr]; };
-  nlsmsn = derive2 { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; };
+  nlsmsn = derive2 { name="nlsmsn"; version="0.0-5"; sha256="1awslzwvv4d3kqw01p7qcqkq5shby29gprzbzxfwnvb5v86dn6ka"; depends=[]; };
   nlsr = derive2 { name="nlsr"; version="2019.9.7"; sha256="1zhfnv09khd2k236jzka9znc0nlps452gwl7db0grb0ylfyxbqg4"; depends=[digest]; };
   nlsrk = derive2 { name="nlsrk"; version="1.1"; sha256="0yqcsz5pdhqsrd86g0yx8bdac13fbmvg89phj3v4qvla2jfznjba"; depends=[]; };
   nlstimedist = derive2 { name="nlstimedist"; version="1.1.4"; sha256="1c9yxpaxdx03yav4x0vk67f1j6w70jv212sfxrfxkz61ivyqcmlb"; depends=[broom dplyr ggplot2 lazyeval minpack_lm nlstools]; };
@@ -10605,14 +10819,14 @@ in with self; {
   nltm = derive2 { name="nltm"; version="1.4.2"; sha256="02f3rn5l1hfvjpymy7vljmh6iq9w1w96016kx75qw563zwhmp5kx"; depends=[survival]; };
   nlts = derive2 { name="nlts"; version="1.0-2"; sha256="0s49qjwavl9ns2746nn4zy4h4dh0njfcvznm3qd61qhs7np9w1db"; depends=[acepack locfit]; };
   nmaINLA = derive2 { name="nmaINLA"; version="0.1.2"; sha256="0layk1pqry2g3xiwmasrnsvmw91sgg7iz15d6iz6hbq4za61hr0k"; depends=[]; };
-  nmadb = derive2 { name="nmadb"; version="1.0.0"; sha256="051kzr6hva57bsla8qbnkkkw7a3hnr4415gd6qzk9bq79q2bg53p"; depends=[devtools jsonlite RCurl readxl]; };
+  nmadb = derive2 { name="nmadb"; version="1.1.0"; sha256="062h24w0678bgzn5l5qa3nchl0a121f7623acl0ljida53zx81wp"; depends=[devtools jsonlite RCurl readxl]; };
   nmathresh = derive2 { name="nmathresh"; version="0.1.4"; sha256="0nsywahzph06c7grk3ch65fvll4ninqz97y007d6qdqgmym9vxjq"; depends=[ggplot2 gridExtra gtable Matrix nnls]; };
   nmfem = derive2 { name="nmfem"; version="1.0.4"; sha256="0qn3p244i8mkmqhsjnyas2r2hcb21npn2jykf6dg7w2f1ddhbfbx"; depends=[d3heatmap dplyr mixtools plyr tidyr]; };
   nmfgpu4R = derive2 { name="nmfgpu4R"; version="0.2.5.2"; sha256="05066rgbbp6kj2d67nzf3d1pf32gypz9ammz4ba88yxblydb3cwk"; depends=[Matrix Rcpp SparseM stringr]; };
   nmixgof = derive2 { name="nmixgof"; version="0.1.0"; sha256="0cbwrsxrcf8pn4ycn6r0z8jdidw5l6kdvwyrks69fq4pjzx988d6"; depends=[Rcpp unmarked]; };
   nmslibR = derive2 { name="nmslibR"; version="1.0.3"; sha256="1m3bq0vg774kqragdx1ydm4q2if3yn9llbd6ybv3c8bmbdb9h405"; depends=[KernelKnn Matrix R6 Rcpp RcppArmadillo reticulate]; };
   nmw = derive2 { name="nmw"; version="0.1.4"; sha256="1vj7b2p40x0h3xp45qzar86i9439mj8y3r5hnlbwa025jqdf2g0q"; depends=[numDeriv]; };
-  nnTensor = derive2 { name="nnTensor"; version="1.0.1"; sha256="0h6m601wjj8xzzgc6m8fal6mhvlxpiajg2d53vyjw1hxm4ilqk4x"; depends=[fields plot3D rTensor tagcloud]; };
+  nnTensor = derive2 { name="nnTensor"; version="1.0.2"; sha256="12h25kn3d70ldlqpd4nqnycv3mnzfx1f9gcw1yaspmnhs1x6gddf"; depends=[fields plot3D rTensor tagcloud]; };
   nna = derive2 { name="nna"; version="0.0.2.1"; sha256="17cz1jf7iv61wspqldfdwbdjhlr0wq09idkzlivfb8aik5w9f0z5"; depends=[]; };
   nnet = derive2 { name="nnet"; version="7.3-12"; sha256="17amqnw9dpap2w8ivx53hxha2xrm0drwfnj32li0xk41hlz548r7"; depends=[]; };
   nnetpredint = derive2 { name="nnetpredint"; version="1.2"; sha256="1c6s9wm6vhylwv4xhp2hkllw18zj8hdr17ls9vlxm9qs3wx1v48w"; depends=[RSNNS]; };
@@ -10620,9 +10834,10 @@ in with self; {
   nngeo = derive2 { name="nngeo"; version="0.2.9"; sha256="1cxrr7k2rjzg2bw43c2mr9jnr9mwwaln5j2xivmrfq2lcrhll0fi"; depends=[igraph lwgeom RANN raster Rcpp sf sp stars units]; };
   nnlasso = derive2 { name="nnlasso"; version="0.3"; sha256="1n7karlmgq61z9ywfx9xb5wvmxx40ydpnzzazj1xr70qlv5m0qk4"; depends=[]; };
   nnls = derive2 { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
-  noaaoceans = derive2 { name="noaaoceans"; version="0.1.0"; sha256="15spkivnc6kv3w2z5m8gvlqpa6pfqxmggjchnsd3r0v61nz64ab3"; depends=[httr jsonlite rvest xml2]; };
+  noaaoceans = derive2 { name="noaaoceans"; version="0.2.0"; sha256="1hvjkma14kl8f69ichk27ddxlg9cqnzif8x43ckxyny6h341bbkf"; depends=[httr jsonlite rvest xml2]; };
   noaastormevents = derive2 { name="noaastormevents"; version="0.1.1"; sha256="1ra852r5hw1ng3f4jk866jx0z2dszwvbidmfrdjchv9bfrjwmlmx"; depends=[choroplethr choroplethrMaps data_table dplyr forcats ggplot2 htmltab hurricaneexposure lubridate maps plyr RColorBrewer rlang stringr tidyr viridis XML]; };
-  nodbi = derive2 { name="nodbi"; version="0.3.0"; sha256="1yb1g4xbjzadm5rljxhk7bc22s888hwj8r3yxzzik4p3pksy634h"; depends=[data_table jsonlite]; };
+  noctua = derive2 { name="noctua"; version="1.2.1"; sha256="0pahdwb68xxbcg9accb2fjmcj1z8alk0kfv6dvcbidgnx7b601c1"; depends=[data_table DBI paws]; };
+  nodbi = derive2 { name="nodbi"; version="0.4.0"; sha256="1jlqzj9lv9wnsb8hwy8y91369i6ykp8av35abakfpxg0302svay9"; depends=[data_table jsonlite]; };
   nodeHarvest = derive2 { name="nodeHarvest"; version="0.7-3"; sha256="0nh3g50rk9qzrarpf29kijwkz9v60682i0ag77j2ipyvhhbpwpkc"; depends=[quadprog randomForest]; };
   nodiv = derive2 { name="nodiv"; version="1.3.0"; sha256="1z0xqdfplg5rz94qcnks435md3q7jpd5f32jfm0pqnyr3536gs03"; depends=[ape picante raster sp vegan]; };
   nofrills = derive2 { name="nofrills"; version="0.3.0"; sha256="18hryq6clywlr2f45az6ryslkkarly45nacln4bwk6ip0yfl5s98"; depends=[rlang]; };
@@ -10639,7 +10854,7 @@ in with self; {
   noncomplyR = derive2 { name="noncomplyR"; version="1.0"; sha256="1a9m6r9cizw42nmy24jdsrsbllg5z84fs8b239axnh1fxzskg2qy"; depends=[MCMCpack]; };
   nonet = derive2 { name="nonet"; version="0.4.0"; sha256="1043vplj8libbzll172h82dfwnz2lsdba5na2g9liryg8p08h4v8"; depends=[caret dplyr e1071 ggplot2 glmnet pROC purrr randomForest rlang rlist tidyverse]; };
   nonlinearICP = derive2 { name="nonlinearICP"; version="0.1.2.1"; sha256="1m9a1f0yrbjl0nx2l7r76pyi78b2bxj8v4jx92yga91f975mw6np"; depends=[caTools CondIndTests data_tree randomForest]; };
-  nonlinearTseries = derive2 { name="nonlinearTseries"; version="0.2.6"; sha256="0nsfpcqmfsn31gi5dyyc7y7zcafhqmv5931vkphbg51lgs6va0qp"; depends=[Matrix Rcpp RcppArmadillo rgl TSA tseries zoo]; };
+  nonlinearTseries = derive2 { name="nonlinearTseries"; version="0.2.7"; sha256="0p6gkhiajk168jw92gkfl4nf93fp6a4ya0c3gvsn9vz8r07pvkbr"; depends=[Matrix Rcpp RcppArmadillo rgl TSA tseries zoo]; };
   nonmem2R = derive2 { name="nonmem2R"; version="0.2.1"; sha256="0a7h9wb8dqjgzyk4hd9ivhy90n80wrrp4zkrxnvgfvza1619qd52"; depends=[ggplot2 gridExtra lattice latticeExtra MASS mvtnorm reshape2 splines2]; };
   nonmemica = derive2 { name="nonmemica"; version="0.9.0"; sha256="1vn70qynw2j2sf0z55dr9cl0inqzdk48xybsavcivn5dbl5lzzg2"; depends=[csv dplyr encode lazyeval magrittr metaplot rlang spec tidyr xml2]; };
   nonneg_cg = derive2 { name="nonneg.cg"; version="0.1.6"; sha256="15361k0kjy1465s8pr9jb5jy22mibi37zcnza7mbfh5l66hr29kh"; depends=[Rcpp]; };
@@ -10669,7 +10884,7 @@ in with self; {
   notifyR = derive2 { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
   notifyme = derive2 { name="notifyme"; version="0.3.0"; sha256="0b6xrv6c4id7rs0dafg96pl4brn4yma5xh9wjz78ql44bg3w5s91"; depends=[dplyr httr magrittr]; };
   nowcasting = derive2 { name="nowcasting"; version="1.1.4"; sha256="1nj34cbkv1xlhmcfhxs32shv00mz02rp95xj59qkq5by53sx8qwq"; depends=[corpcor DBI httr lubridate magic matlab Matrix RCurl RMySQL vars xts zoo]; };
-  noweb = derive2 { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
+  noweb = derive2 { name="noweb"; version="1.1-2"; sha256="1h0v92l5jzgiy5rz33pan1l6rb3mykckmvn5c8jm3hhph6ipgqad"; depends=[]; };
   np = derive2 { name="np"; version="0.60-9"; sha256="1z4jcpx8bbgwslv42wrphfd1qfq965qjn0kmfxm5f6hbbycahcgy"; depends=[boot cubature quadprog quantreg]; };
   npExact = derive2 { name="npExact"; version="0.2"; sha256="055wm5lcj98wb71lqp2zdyl8kkwvi6lwmnaylynvr907xqabaqvd"; depends=[]; };
   npIntFactRep = derive2 { name="npIntFactRep"; version="1.5"; sha256="14ms66ppzb4jjsa3fparic6gdn913f6wv2ccjyb02j1ahs4iaa4g"; depends=[ez plyr]; };
@@ -10690,12 +10905,12 @@ in with self; {
   npmlreg = derive2 { name="npmlreg"; version="0.46-5"; sha256="1f0bzccmral2y56aih37gmi6mjww6wmp2a8z6yxm501fgj2lgzfc"; depends=[statmod]; };
   npmr = derive2 { name="npmr"; version="1.2"; sha256="073i9zcnyp8l5fxblx2sfyn0b4lr6i595q6kl6ispvzmylwqj8na"; depends=[]; };
   npmv = derive2 { name="npmv"; version="2.4.0"; sha256="04lfks2rlax59gxdnbgkpmk2vaax718z6hkgsvmyxf52iby6rvlr"; depends=[Formula]; };
-  npordtests = derive2 { name="npordtests"; version="1.1"; sha256="1g8s9nmqqawq65hvpg82c78l3ffsih057665hw98mkipqb9r0vs5"; depends=[]; };
+  npordtests = derive2 { name="npordtests"; version="1.2"; sha256="1axzcyy45h3rs67m0i3cvwbmza1mnmraxan9j4zlpxdd5x9nz4h8"; depends=[]; };
   nppbib = derive2 { name="nppbib"; version="1.1-0"; sha256="1dcqcf2jhlz3n4d2kjix8wray9c7yaawfdbdg9lcrih1m7b8gmsy"; depends=[]; };
   npphen = derive2 { name="npphen"; version="1.1-0"; sha256="0pbf9sqdapl5q09g1hj5hi4j2wigrd0b6s0gbv1gx4wn68alrals"; depends=[ks lubridate raster rgdal rts snow]; };
   npreg = derive2 { name="npreg"; version="1.0-0"; sha256="0idbradahyj6qm7nqrhvnfzly38x4apnbxslkk2i15ldvv50bfh7"; depends=[]; };
   npregfast = derive2 { name="npregfast"; version="1.5.1"; sha256="0s9ci3nybzwykrgi9z2rqp6l15mqbxf759ks0clvkbm7wxv3whk5"; depends=[doParallel foreach ggplot2 mgcv sfsmisc shiny shinyjs wesanderson]; };
-  nprobust = derive2 { name="nprobust"; version="0.1.4"; sha256="0ndn1a54i7zk7ixyimm1jdviz3x5l3qa0rpgsdd30jqv8fldfjpz"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  nprobust = derive2 { name="nprobust"; version="0.2.1"; sha256="086x6p4ipd910nnm2whsvbjkvmjny69ryh0lw0j5jjq2ddah5p1i"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   nproc = derive2 { name="nproc"; version="2.1.4"; sha256="1gj38yppip0ygxcgp0x9ba9kpr12ahmz2k0956x3h7py2rl8b098"; depends=[ada e1071 glmnet MASS naivebayes randomForest ROCR tree]; };
   nprotreg = derive2 { name="nprotreg"; version="1.0.0"; sha256="06n82i5m7sgfj759zdwwh8fqybkbchvnaaqcds64m6hbms592bh3"; depends=[expm]; };
   npsf = derive2 { name="npsf"; version="0.5.2"; sha256="0iz4dh2cv1bi90wdf08x70rdm44xmzblck69rlg7vnsb6n2q2is9"; depends=[Formula randtoolbox Rcpp sfsmisc]; };
@@ -10726,7 +10941,7 @@ in with self; {
   numGen = derive2 { name="numGen"; version="0.1.1"; sha256="1y41wq31r8126dz1sj23smq2k6v9yqczq4ddgzqb73dsrx9dmmc0"; depends=[]; };
   numKM = derive2 { name="numKM"; version="0.1.0"; sha256="0pnwb7skp5jx5ibgfkympq59m9sf71gvk5zc0fwik539vrzfykdf"; depends=[survival]; };
   numOSL = derive2 { name="numOSL"; version="2.6"; sha256="03h1p56650x4my5vq5jlmjsz5xj0w2j75qfr08rh7nr38dwgp1k8"; depends=[]; };
-  numbers = derive2 { name="numbers"; version="0.7-1"; sha256="1k5a24pnjhn3h330q0s7ivk2v5dsjmg2xwlhfinzixihnwhc12xy"; depends=[]; };
+  numbers = derive2 { name="numbers"; version="0.7-5"; sha256="1dz23rmjzdns4av28kk8bc9psj71q2bpcgm1m7sxnyzcxpm8hczc"; depends=[]; };
   numbersBR = derive2 { name="numbersBR"; version="0.0.2"; sha256="0ihxlny745gpz1ngq862rydn1zwn8zni1xw9mmgw8hkylsrnjfq8"; depends=[stringr]; };
   numform = derive2 { name="numform"; version="0.5.0"; sha256="1c9vhzm4rjh8b5bkzkv1r9j2y1iqndq9ndandix28wdgn2v6lzv6"; depends=[glue]; };
   nutriNetwork = derive2 { name="nutriNetwork"; version="0.1.1"; sha256="0ya95h88jkiwc7cg7ic8bmyd7b0lgnhxrywwqvi2j6m6nbvvaxzy"; depends=[glasso huge igraph Matrix tmvtnorm]; };
@@ -10734,11 +10949,11 @@ in with self; {
   nutshell_audioscrobbler = derive2 { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
   nutshell_bbdb = derive2 { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; };
   nvctr = derive2 { name="nvctr"; version="0.1.1"; sha256="0hjrimg0hvwgkx2hbln6k8z0f2bp9kln7mxxh623qjp0hg4mcvcn"; depends=[magrittr pracma]; };
-  nvmix = derive2 { name="nvmix"; version="0.0-1"; sha256="13pp664n5f06gavny586xrwm1n18jndr0hlqx5fdy68n6py0vz9r"; depends=[qrng]; };
+  nvmix = derive2 { name="nvmix"; version="0.0-2"; sha256="18825p8hdrfiznjkgx26i2qmhpyj9ky1kc4k2az7d29pnrjnyjdg"; depends=[Matrix qrng]; };
   nws = derive2 { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; };
   nycflights13 = derive2 { name="nycflights13"; version="1.0.1"; sha256="0h4jzg4q5qpvjp5b2wlk3a2mh0jhyz9c1acdjcmg70pap7fyh0fj"; depends=[tibble]; };
   nzelect = derive2 { name="nzelect"; version="0.4.0"; sha256="19kcbq454yg9g76ix7v3nibgw2203d7vv6f2d6d2zkcc0h08bjm7"; depends=[]; };
-  nzilbb_labbcat = derive2 { name="nzilbb.labbcat"; version="0.2-2"; sha256="0424kf53wrs8q5iqs08zbq6srjnz7z5pakz98fmvznlv9ximzvhc"; depends=[httr jsonlite rstudioapi stringr]; };
+  nzilbb_labbcat = derive2 { name="nzilbb.labbcat"; version="0.3-1"; sha256="03n0j9xb3qgjrqwh8rw5vqyf71223knhfvb7bki4zp2hm00k9ywq"; depends=[httr jsonlite rstudioapi stringr]; };
   nzpullover = derive2 { name="nzpullover"; version="0.3.0"; sha256="0b3mz5i58m48fa1x7gv4l3gqj0gvrar201ph2l1gkbcnfmazwjp8"; depends=[]; };
   oXim = derive2 { name="oXim"; version="1.2.2"; sha256="1hi4ps36amvgqgj64yc3cvy4sx32z1az6lk5yy1sciy6074k5byb"; depends=[gstat imagine R_matlab sp]; };
   oaColors = derive2 { name="oaColors"; version="0.0.4"; sha256="040sdqrk9dciylnnrrshlj06s9qhvngii9shx1p8412ip7mk8r1m"; depends=[MASS RColorBrewer]; };
@@ -10759,17 +10974,17 @@ in with self; {
   obs_agree = derive2 { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; };
   obsSens = derive2 { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
   observer = derive2 { name="observer"; version="0.1.2"; sha256="1027827k57qb4xppx0xxxffd1s3n7pz754irdx3v1v3piix8xi8m"; depends=[bazar bit dplyr lazyeval magrittr tibble]; };
-  oc = derive2 { name="oc"; version="1.01"; sha256="12idrh4jxxq28lgqzr6jzgrvmmwysh5amzhmmaqn3yz49i17gcaf"; depends=[pscl]; };
   occ = derive2 { name="occ"; version="1.1"; sha256="1aka29qqwbd494kvi15yyyqkb9hks4ky2gcvykxhx2drm2fnsn4g"; depends=[]; };
   oce = derive2 { name="oce"; version="1.1-1"; sha256="0hwfnpb6q6pmckzgh67ryvqd1jkrzzhn187x1655rnmkmp9zis1c"; depends=[gsw Rcpp testthat]; };
-  oceanis = derive2 { name="oceanis"; version="1.0.4"; sha256="1wdqfbvl0d92s0rpc3l9vnck5ln9q144msbb60n6bgra9w6vx8b0"; depends=[classInt dplyr DT foreign ggplot2 leaflet leaflet_extras lwgeom mapview munsell readODS sf sfc shiny shinyBS shinyjs shinythemes stringr tidyr units xlsx]; };
+  oceanis = derive2 { name="oceanis"; version="1.0.5"; sha256="0fdcrwyv8idnspx1z82x92jh8iy58dcbqz97kammbs74ywjsgq34"; depends=[classInt dplyr DT foreign ggplot2 leaflet leaflet_extras lwgeom mapview munsell readODS sf sfc shiny shinyBS shinyjs shinythemes stringr tidyr units xlsx]; };
   oceanmap = derive2 { name="oceanmap"; version="0.1.0.1"; sha256="0cdv5rizrlbzz1ifcqh726kmki0j68w829k9f0cfnckmh3rwj2y6"; depends=[abind extrafont fields lubridate mapdata maps maptools ncdf4 plotrix raster sp]; };
+  oceanwaves = derive2 { name="oceanwaves"; version="0.1.0"; sha256="0izgnqjji3xrvv8xbpsdbrx53wdb3rg3045xx6gcknfl2fj5iky7"; depends=[bspec ggplot2 signal]; };
   ocedata = derive2 { name="ocedata"; version="0.1.5"; sha256="0rs3nzacvg5mbbmbhcj8g9ikjlw26x2mka7lp644l17kgmzzynh6"; depends=[testthat]; };
   ockc = derive2 { name="ockc"; version="1.0"; sha256="0chzrs3ipa2518r4d35z4fxffgq12p1mwj0hzkxw19gdgq6aa8s7"; depends=[flexclust modeltools]; };
   oclust = derive2 { name="oclust"; version="0.1.0"; sha256="005ml6vhi9rw6js2v4f1dc2ci8kcd7iwrkgbs4c1qxc836ygq0yx"; depends=[entropy mclust]; };
   ocomposition = derive2 { name="ocomposition"; version="1.1"; sha256="0fk8ia95yjlvyvmjw7qg72piqa40kcqq9wlb3flc6a81pys1ycb5"; depends=[bayesm coda]; };
   ocp = derive2 { name="ocp"; version="0.1.1"; sha256="0q52s8j3z3xwnma3sxx6019qxid66bf0a43w4g8xjagplwps57dx"; depends=[]; };
-  odbc = derive2 { name="odbc"; version="1.1.6"; sha256="146phrsks0hfd1bfxx452kkq7ximk3fwjz9lqg9fdykar5sr6vjj"; depends=[BH bit64 blob DBI hms Rcpp]; };
+  odbc = derive2 { name="odbc"; version="1.2.0"; sha256="12crw6xxyd1cj911ihkfifrpwvdl4jjpjzi7l8pi6y658r2q5mdx"; depends=[BH bit64 blob DBI hms Rcpp rlang]; };
   odds_converter = derive2 { name="odds.converter"; version="1.4.8"; sha256="09s8pg55gpsxmrbimzg5rsr1n07la93781sar6vab5p9zn9zxgx4"; depends=[]; };
   odds_n_ends = derive2 { name="odds.n.ends"; version="0.1.1"; sha256="0kgdv4m14h4a16b0k2s2qjyjn0kxk5sf4qkbi6ikm6kqdh5ashp4"; depends=[MASS]; };
   oddsratio = derive2 { name="oddsratio"; version="2.0.0"; sha256="0lr56djlw52j3azvifcdbyn01b85jv18gm789s7skmnylrl3rgw9"; depends=[ggplot2 mgcv stringr tibble]; };
@@ -10778,12 +10993,12 @@ in with self; {
   odk = derive2 { name="odk"; version="1.5"; sha256="0fcnr4c1clwx1sk6fgg4cx506gdi90n2h05g0i47p4s5bra0qwwl"; depends=[gsheet openxlsx]; };
   odpc = derive2 { name="odpc"; version="2.0.1"; sha256="06d574sj7p5qlf7s3lbrwd56mcs4lq3pn9bkzwxhpybibgrfzn5q"; depends=[doParallel foreach forecast Rcpp RcppArmadillo]; };
   odr = derive2 { name="odr"; version="1.0.0"; sha256="0niadinljx5pph329dgixivdc9s1l27ik9755fbfhmplhj92ihi2"; depends=[]; };
-  oem = derive2 { name="oem"; version="2.0.9"; sha256="1ffv71cwf58wrba3zhyp443kfl0j3z451mgxsxl8ig5fn9y9i9ca"; depends=[BH bigmemory foreach Matrix Rcpp RcppArmadillo RcppEigen]; };
   ofGEM = derive2 { name="ofGEM"; version="1.0"; sha256="0xdkl8k12an9pdy6i5nay4m2iakrwsp0lr3zl8gphii75j0ywz7k"; depends=[CompQuadForm forestplot MASS]; };
-  officer = derive2 { name="officer"; version="0.3.5"; sha256="005kaxjhr40shpav2pg7s7gj8f49579r7rbgwlncbwv16nn0rbbg"; depends=[base64enc digest htmltools magrittr R6 Rcpp rlang uuid xml2 zip]; };
+  officer = derive2 { name="officer"; version="0.3.6"; sha256="1i6jmnbkx7gd0qyf6akhizmxp7y1dh3h7a886mcbmrzka9d60zh4"; depends=[base64enc digest htmltools magrittr R6 Rcpp rlang uuid xml2 zip]; };
   offlineChange = derive2 { name="offlineChange"; version="0.0.2"; sha256="1d8jm8mm8g1fcbffk697qap58dcw3yyvrm9daviy42jsz59nbsxs"; depends=[Rcpp]; };
   oglmx = derive2 { name="oglmx"; version="3.0.0.0"; sha256="13axmhbqhv4kkcdsdmp9r7p0d0kyqlsaqgyyllbkxlxb4hfz79b6"; depends=[maxLik]; };
-  ohtadstats = derive2 { name="ohtadstats"; version="2.1.0"; sha256="17fpfqpvmyh2ykyb56g2zc72f8d8x7d85wmdm63n7b9kr53lscj3"; depends=[lattice]; };
+  ohenery = derive2 { name="ohenery"; version="0.1.1"; sha256="0i7cc110c30y7dm86srh2xkikkmlr28mvy0kkjxywxmiwnrsmzjq"; depends=[dplyr magrittr maxLik Rcpp]; };
+  ohtadstats = derive2 { name="ohtadstats"; version="2.1.1"; sha256="0hkjs322vii1dsminlkwpwi12sc9pd88jag7p4dmy6nfw2hh2d69"; depends=[lattice]; };
   oii = derive2 { name="oii"; version="1.0.2.1"; sha256="1n41hikn53ikyynsravg127cw5csa8s0s1l63w5hym7c6j625ya5"; depends=[Deducer gmodels rapportools]; };
   okcupiddata = derive2 { name="okcupiddata"; version="0.1.0"; sha256="1l04rr4yr73a6q2am9ylyr5prf347hkf2jx735w78rsb6472kbaq"; depends=[]; };
   okmesonet = derive2 { name="okmesonet"; version="0.1.5"; sha256="1kzyzmg702ayzphn9jsk64m51mlnz37ylxiwq5gsr23vaiida680"; depends=[plyr]; };
@@ -10795,7 +11010,7 @@ in with self; {
   ompr_roi = derive2 { name="ompr.roi"; version="0.8.0"; sha256="1cbrchvpd31lxpxvw2l3q9k5jmffarb1shca8kwm76y5a6zxxq63"; depends=[Matrix ompr ROI slam]; };
   omu = derive2 { name="omu"; version="1.0.2"; sha256="03mj5xk447gadsnvqrm97cjcyfq4xzkgc46kw85gishv7w9qmqrk"; depends=[dplyr ggfortify ggplot2 KEGGREST magrittr plyr reshape2 stringr tidyr]; };
   oncomodel = derive2 { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
-  oncrawlR = derive2 { name="oncrawlR"; version="0.1.6"; sha256="1nf5ycmfjy4d8p00clvzsinvj9y845iaqrpd1q5bv6bdc916qzbf"; depends=[caret DALEX dplyr e1071 formattable fs ggplot2 htmltools jsonlite pdp pROC RCurl readr rlang rlist scales sparkline tidyr webshot xgboost]; };
+  oncrawlR = derive2 { name="oncrawlR"; version="0.1.8"; sha256="0l7b3gx21jli97jq0i87bkp01v1b4xmmh9k4zjhdij6412rv0rfh"; depends=[caret DALEX dplyr e1071 formattable fs ggplot2 htmltools jsonlite pdp pROC RCurl readr rlang rlist scales sparkline tidyr webshot xgboost]; };
   onehot = derive2 { name="onehot"; version="0.1.1"; sha256="1cdsz007wr054k5phvihhg4qx0fc039k2s6484m92kws8mb2ziix"; depends=[]; };
   onelogin = derive2 { name="onelogin"; version="0.2.0"; sha256="06p3a8kaxmvsj8nn7dy8w6wv1jjw67is991hqg9q0fa20ifym3dl"; depends=[glue jsonlite magrittr R6 safer tibble]; };
   onemap = derive2 { name="onemap"; version="2.1.2"; sha256="142yasn8pyd046d8s0k3i4ynmpq7rh6v2vjdnj88yn99zshaxfig"; depends=[ggplot2 MDSMap plotly Rcpp reshape2]; };
@@ -10814,21 +11029,23 @@ in with self; {
   opart = derive2 { name="opart"; version="2019.1.0"; sha256="0yw4vlip4whhvp23yjr57h5j0ii8ighp77g3fjjzr3l56slmrmcz"; depends=[]; };
   openCR = derive2 { name="openCR"; version="1.4.1"; sha256="046ijw5ss8nb0m11p7r682zi7242m0ljydnsrr3gwrnmc4ayk6xv"; depends=[abind MASS nlme plyr Rcpp RcppParallel secr stringr]; };
   openEBGM = derive2 { name="openEBGM"; version="0.8.2"; sha256="0v6jr1yry937knvkrn448rkilwfl7w90169lm5vnp53ds6fhh7bj"; depends=[data_table ggplot2]; };
-  openNLP = derive2 { name="openNLP"; version="0.2-6"; sha256="1173cng877sg6ynbs3csfnn956wwrq3yldhhzfbqdsz35draganj"; depends=[NLP openNLPdata rJava]; };
+  openNLP = derive2 { name="openNLP"; version="0.2-7"; sha256="15yl74wv6w1d2wwpn1xlkkpam3c62977gnqal651fv623v29gg35"; depends=[NLP openNLPdata rJava]; };
   openNLPdata = derive2 { name="openNLPdata"; version="1.5.3-4"; sha256="0j45rh9qki8r5wavaysrfsvb3wc3x8jjicqff2yi0r34j58xvlv8"; depends=[rJava]; };
   openSTARS = derive2 { name="openSTARS"; version="1.1.0"; sha256="1cjws49r22cmdax136zcy3k35yzbajkm6pyfibgcw2iqdxy1vcxg"; depends=[data_table progress raster rgdal rgrass7 sf sp SSN]; };
   openVA = derive2 { name="openVA"; version="1.0.8"; sha256="17nqh43gmhlb383ack1pbjkdfdb2g0k527zprdp1xkyxbp92v7xa"; depends=[cli crayon ggplot2 InSilicoVA InterVA4 InterVA5 Tariff]; };
   openadds = derive2 { name="openadds"; version="0.2.0"; sha256="1jb8zd3rpxfkjkg895iab6m4cfi53p5vy3nnpjkgq7ym6499qjcv"; depends=[crul dplyr jsonlite maptools rappdirs readr tibble xml2]; };
-  openair = derive2 { name="openair"; version="2.6-6"; sha256="0ikk3f034hsqv1qxsbxnhhp827b2xpxj4r6p9k0r036f0nssgynl"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr Rcpp rlang tidyr]; };
-  openblender = derive2 { name="openblender"; version="0.2.0"; sha256="1awndp29gcsbrx4m4lwm32vsw2jwhkw2xjp401vx7fc3g3nsm0js"; depends=[httr jsonlite xml2]; };
+  openair = derive2 { name="openair"; version="2.7-0"; sha256="1h2hyk93xvcw3i86k1kw7w9y2s39l6xnj7hjqp3wawgm4nnsr5kp"; depends=[cluster dplyr hexbin lattice latticeExtra lubridate mapproj MASS mgcv purrr Rcpp readr rlang tidyr]; };
+  openblender = derive2 { name="openblender"; version="0.3.2"; sha256="1mjmphmhbrxvz6szaphmfbdjp491z7fq18dbmd3v4v216ypfw2d9"; depends=[httr jsonlite xml2]; };
   opencage = derive2 { name="opencage"; version="0.1.4"; sha256="1lqs38lml73axsjlsjkmcsb2irgs40mjrx2cn3k0bjb63qyb9hf5"; depends=[dplyr httr jsonlite memoise]; };
+  opencastR = derive2 { name="opencastR"; version="0.1.2"; sha256="0fnp4bsr35knff7q19jqmlwdnfh9qzk2zsvg92y3pg1g64fmxazv"; depends=[httr jsonlite]; };
   opencpu = derive2 { name="opencpu"; version="2.1.4"; sha256="06jsymwgckgnzp49brnxb5d250kybzxggy99wlkhlfgnchdisgkh"; depends=[brew curl evaluate httpuv jsonlite knitr mime openssl protolite rappdirs remotes sys webutils zip]; };
   opencv = derive2 { name="opencv"; version="0.1"; sha256="0m649g6k6cgxnljjx8czypjawbyzx7xjcg32wddxkrgi2b236lwh"; depends=[magrittr Rcpp]; };
+  opendatatoronto = derive2 { name="opendatatoronto"; version="0.1.1"; sha256="1rabbpq1jmihrm5wz8i5pkxfhpbm8x6dk3bqj56fnkzqkmg6zwjj"; depends=[ckanr geojsonsf magrittr readxl sf tibble xml2]; };
   opendotaR = derive2 { name="opendotaR"; version="0.1.4"; sha256="17cygsw3nkg6zincfrcdh1509rlz3n5zrv9wvv7mjngm61sn79nf"; depends=[dplyr jsonlite lubridate]; };
   openintro = derive2 { name="openintro"; version="1.7.1"; sha256="059azlasdkmp8f54qpjf3mq5dyqakw0dgx0kx85wfdmhq38zal5n"; depends=[]; };
   openssl = derive2 { name="openssl"; version="1.4.1"; sha256="1ihz2qi33lhngl19xdanq0pbmfaacy63794mg8ll7z2lab3yryzp"; depends=[askpass]; };
   opentraj = derive2 { name="opentraj"; version="1.0"; sha256="13nqal96199l8vkgmkvl542ksnappkscb6rbdmdapxyi977qrgxk"; depends=[doParallel foreach maptools openair plyr raster reshape rgdal sp]; };
-  openxlsx = derive2 { name="openxlsx"; version="4.1.0.1"; sha256="1lflygpi1z4rlb1c6g6wsmi334maiiy7jhpg6ph4sw8lpvg12w4b"; depends=[Rcpp zip]; };
+  openxlsx = derive2 { name="openxlsx"; version="4.1.3"; sha256="087zivh9xdh1kk8zci67ys0m2xq0slzwgnf0jl05yy4gsgb6nmyx"; depends=[Rcpp rlang stringi zip]; };
   opera = derive2 { name="opera"; version="1.0"; sha256="0p2wg3srg088l420ykrq0wqvzh1mp6l753rdw35f7kdmaj08mqfq"; depends=[quadprog quantreg RColorBrewer]; };
   operator_tools = derive2 { name="operator.tools"; version="1.6.3"; sha256="1v4dg7xhz24dnp0zxn815x1405ig64ibii6y40la1gvmzcc41dz5"; depends=[]; };
   operators = derive2 { name="operators"; version="0.1-8"; sha256="0zgcv2q46qyqv4dhbd33s4044zjw38w8dqfpzs0c1lxjpkil3dnx"; depends=[]; };
@@ -10850,6 +11067,7 @@ in with self; {
   optifunset = derive2 { name="optifunset"; version="1.0"; sha256="18pvdl04ln1i0w30ljdb3k86j27zg2nvrn3ws54c1g6zg9haqhbg"; depends=[]; };
   optigrab = derive2 { name="optigrab"; version="0.9.2.1"; sha256="1c3q4kx8rkgpjsy0hy2w2dd9kv51avnw1ab82hzmjgngfnvaig0n"; depends=[magrittr stringi]; };
   optim_functions = derive2 { name="optim.functions"; version="0.1"; sha256="1la3v8yd9cdichp3mka4x86hr9lynh6qfg7h9ab6cwijw6kzkn6g"; depends=[lhs randtoolbox stringr]; };
+  optimCheck = derive2 { name="optimCheck"; version="1.0"; sha256="1qjkv1mfyn7sw0dkxxcdaqj85vl71cgffpf3k3mvzy0s8yhxjb4n"; depends=[]; };
   optimParallel = derive2 { name="optimParallel"; version="0.8-1"; sha256="176m425pp3jf48jip513hvbrvgjv78qzylmksqw5ks8yhylq41l9"; depends=[]; };
   optimStrat = derive2 { name="optimStrat"; version="2.0"; sha256="0n9igrxyasl2h2xjsx044ma3nqbd8258psc2h6za2pw6jjwwlz4g"; depends=[cubature mvtnorm shiny]; };
   optimbase = derive2 { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; };
@@ -10863,7 +11081,7 @@ in with self; {
   optionstrat = derive2 { name="optionstrat"; version="1.4.0"; sha256="0mb3hsr5dxlam1a8zi337jgg0qcvhaxa84qdni0q4b4500r2yy7w"; depends=[]; };
   optiscale = derive2 { name="optiscale"; version="1.1"; sha256="1c263w9df66m7lgvzpdfm2zwx9nj8wcdpgh5gijachr2dzffmrp2"; depends=[lattice]; };
   optismixture = derive2 { name="optismixture"; version="0.1"; sha256="0nacfbqlnzajp1hfhf0yzm2d86fxpp4kw2zy33q8k2d4sr56bird"; depends=[Matrix mvtnorm]; };
-  optmatch = derive2 { name="optmatch"; version="0.9-11"; sha256="0lvba8gca1bvf7b46kmjqpkb3ykip07niw1w2qghgqrfxkq0s6yi"; depends=[digest Rcpp RItools survival]; };
+  optmatch = derive2 { name="optmatch"; version="0.9-12"; sha256="099135433855259n1ci5vzcr5v2szvrw09mcdb8vn1hmv9p5251v"; depends=[digest Rcpp RItools survival]; };
   optparse = derive2 { name="optparse"; version="1.6.4"; sha256="0wyrc42ja3ab5szx46zmz8lm7vzfqxkjca0m0sms8g9hqbmmay6d"; depends=[getopt]; };
   optpart = derive2 { name="optpart"; version="2.3-0"; sha256="125b9sfdk4bdcj1vq5rxlrskv1zra31x8d96pdxnqvcnkmwxm4zh"; depends=[cluster labdsv MASS plotrix]; };
   optrcdmaeAT = derive2 { name="optrcdmaeAT"; version="1.0.0"; sha256="16g4612mwyfsckn6l71fbrjnnjv4yvnac1cccbrn3k8jh07qgb1h"; depends=[igraph MASS Matrix]; };
@@ -10883,6 +11101,7 @@ in with self; {
   orderbook = derive2 { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[hash lattice]; };
   orderedLasso = derive2 { name="orderedLasso"; version="1.7.1"; sha256="1qywvvdbxjqq886i1gd1hsxx92zm7lbalm0acylabap5m2nf9q53"; depends=[ggplot2 Iso Matrix quadprog reshape2]; };
   ordering = derive2 { name="ordering"; version="0.7.0"; sha256="0sgwgcjg6sazmi11c9qvxfrzg671kcp18i2q20xbmbj4v3yqhwbh"; depends=[]; };
+  orderly = derive2 { name="orderly"; version="1.0.2"; sha256="1ak1f73bm8wifqdjiyln4jxgmpnzap7bm7kyarly4ascar82r4w2"; depends=[DBI digest docopt fs ids R6 RSQLite withr yaml zip]; };
   orders = derive2 { name="orders"; version="0.1.3"; sha256="14p0wk7y9hbhxwifr4fjp3h9dll0sin8q88an6a536d4f2045j7c"; depends=[Newdistns]; };
   orderstats = derive2 { name="orderstats"; version="0.1.0"; sha256="0a3ga0cjryvbininspsx5wzc96s3fza06s3d5fhbllbixz0rap4a"; depends=[]; };
   ordiBreadth = derive2 { name="ordiBreadth"; version="1.0"; sha256="04faqhas1p9lxhghd4xq07yq1nxv7ns18avhvkql7sy5a9g7bfs1"; depends=[vegan]; };
@@ -10894,8 +11113,9 @@ in with self; {
   ordinalNet = derive2 { name="ordinalNet"; version="2.6"; sha256="0mapkhhv5bpmfxw2dhg9lrw7lj8ha7s7yhamihga2l977ja0ma34"; depends=[]; };
   ordinalRR = derive2 { name="ordinalRR"; version="1.0"; sha256="07gihg8hppxa7bp5wxcshqawj3vkzicmdsrnjyrasr3glv08b9lj"; depends=[rjags]; };
   ordinalgmifs = derive2 { name="ordinalgmifs"; version="1.0.6"; sha256="0axpndyyns649mwifq8f16l8n8x9nic8cv8l71ljyr2gwlm0nqz0"; depends=[survival]; };
-  ore = derive2 { name="ore"; version="1.6.2"; sha256="1l1ziljgm5gwjhvjq42wi5vcwbxlaj5dl9w8bhz0wh8vx4ajj07m"; depends=[]; };
+  ore = derive2 { name="ore"; version="1.6.3"; sha256="1vh6w3arrhgkfjjjw7ci91xmz4wpfr3cmwd5zkqch89dgn07skkv"; depends=[]; };
   ores = derive2 { name="ores"; version="0.3.1"; sha256="12war455cfcn2llig7pkx05b70dp5y7warjq03ayqq6i7c945mhb"; depends=[httr]; };
+  orf = derive2 { name="orf"; version="0.1.2"; sha256="123lx1wa3sbi5l5zy92rq30f0hqq1pjpjyaklq9n1k9z28aa7p14"; depends=[ggplot2 ranger Rcpp xtable]; };
   org = derive2 { name="org"; version="2019.4.2"; sha256="0jrnr22slgzwsdb4a1jb1l878smhvfb680cgmgb3a88jqj4jfscl"; depends=[]; };
   orgR = derive2 { name="orgR"; version="0.9.0"; sha256="1q4qbwnbhmja8rqiph7g7m4wxhzhk9mh91x1jgbnky8bs4ljdgrx"; depends=[data_table ggplot2 ggthemes lubridate stringr]; };
   orgutils = derive2 { name="orgutils"; version="0.4-1"; sha256="1yc3avhq3786his7nd60zfbzd9inkfrfz938r8378z59zbb1mzqq"; depends=[textutils]; };
@@ -10905,7 +11125,7 @@ in with self; {
   orloca = derive2 { name="orloca"; version="4.8"; sha256="01fq3sas2xlp56f6s8jn5079pchszg2pbvzy8d5psxpb5jz59mwc"; depends=[knitr png rmarkdown ucminf]; };
   orloca_es = derive2 { name="orloca.es"; version="4.6"; sha256="1yfsvihm8p4ggdfam50i2xg7dy7khww5qqk6g4lry3m1icwx6vsy"; depends=[orloca]; };
   ormPlot = derive2 { name="ormPlot"; version="0.3.2"; sha256="0sdn7vrc35pl763snfrrcn0fa6i3agr57sjayjz93friijddkcp6"; depends=[ggplot2 gtable rms]; };
-  oro_dicom = derive2 { name="oro.dicom"; version="0.5.0"; sha256="05dmhfglp76apyilwicf3n2ylyjhp1gq6b9bnzsiiblpjnfpia43"; depends=[oro_nifti]; };
+  oro_dicom = derive2 { name="oro.dicom"; version="0.5.3"; sha256="1ar70xk2bqk7jgckfivgp4np3dxaynmgdg41n8x0sg9cpxl2lc38"; depends=[oro_nifti]; };
   oro_nifti = derive2 { name="oro.nifti"; version="0.9.1"; sha256="19w9dzyfmfgxgxb5i0l06b6gzqksx879iwicfs76fwmb1q2ph540"; depends=[abind bitops RNifti]; };
   oro_pet = derive2 { name="oro.pet"; version="0.2.6"; sha256="1dczii7knh9241ksswxk9zg1d69mhk2ilrk4kjv7cj9nfm8fgmja"; depends=[minpack_lm msm oro_dicom oro_nifti]; };
   orsifronts = derive2 { name="orsifronts"; version="0.1.1"; sha256="1js4q2s1mn263x8szl5q47ajfxv9lsjd5zyphwyhbkqrnd8ijd3w"; depends=[sp]; };
@@ -10921,7 +11141,7 @@ in with self; {
   osmdata = derive2 { name="osmdata"; version="0.1.1"; sha256="0n297bhdb5klbk7a2n3lm4iicdggwmz82njsxqdfvzbq85j2s96v"; depends=[curl httr jsonlite lubridate magrittr Rcpp rvest sp tibble xml2]; };
   osmose = derive2 { name="osmose"; version="0.1.1"; sha256="0fiijnrvvydhj6j9yb02rn5sg8arcpj3jz977m2zwjgqy878cffg"; depends=[rlist stringr]; };
   osmplotr = derive2 { name="osmplotr"; version="0.3.2"; sha256="0k5rjxsi1sfcxcl6lf8zcncqnshz2jaz7hcwn2ifg4yhvxvkfma8"; depends=[curl e1071 ggm ggplot2 httr mapproj osmdata rgeos sp spatstat]; };
-  osqp = derive2 { name="osqp"; version="0.6.0.2"; sha256="0lc56gbakh3b92rij85rmqva7i81rrgmbj5qr3h6ysm9j347zzqm"; depends=[Matrix R6 Rcpp]; };
+  osqp = derive2 { name="osqp"; version="0.6.0.3"; sha256="1266n04c8zsv4ixf7y25jkccv9lx3rvmd7bnkxynbwga9psd3l0j"; depends=[Matrix R6 Rcpp]; };
   osrm = derive2 { name="osrm"; version="3.3.2"; sha256="10adkq8sm0jvyd35m8vvjxiqvay976fsgffyxh9sh564l053srkp"; depends=[gepaf isoband jsonlite lwgeom RCurl sf sp]; };
   osrmr = derive2 { name="osrmr"; version="0.1.35"; sha256="1pmsybyqkgpqz0yhfmwrsa2smgmclxzk9mlzcqmm8ph6dcd1x0s8"; depends=[assertthat bitops R_utils rjson stringr]; };
   otinference = derive2 { name="otinference"; version="0.1.0"; sha256="1l75jjnkyk8yzaw9zyk45jq9ys304i6pzm2xd5apxrb1jk75a3li"; depends=[MASS Rglpk sm transport]; };
@@ -10943,16 +11163,17 @@ in with self; {
   overlapping = derive2 { name="overlapping"; version="1.5.4"; sha256="1j3jmv15hy6h4d3v4rwg0796dz6np3pv67xrn2vcgvh1s1rmqnzs"; depends=[ggplot2 testthat]; };
   overlapptest = derive2 { name="overlapptest"; version="1.1"; sha256="0r732za6lm7dk5r237nhadgbpinaz5dmb6f7pn3mbg0plkdy3mff"; depends=[spatstat]; };
   overture = derive2 { name="overture"; version="0.4-0"; sha256="1s16x5kn0apb0w1f7hqzcsqvw3x621y5n6yr1qn7yb7431pdw3cz"; depends=[bigmemory]; };
-  owdbr = derive2 { name="owdbr"; version="1.0.1.0"; sha256="1sdlvkirp15hzby26lwviz2jclggl3da8r105mr8c821377q5smy"; depends=[data_table dplyr httr jsonlite magrittr tibble]; };
+  owdbr = derive2 { name="owdbr"; version="1.0.1.1"; sha256="0q4654zr5aw04sssy7127vafry72b7p3d8i44fqvqg3055awin0i"; depends=[data_table dplyr httr jsonlite magrittr tibble]; };
   owmr = derive2 { name="owmr"; version="0.8.1"; sha256="11krzrkr1ga41nv9c2fb8cb2mgy3ias7qx85d4cdv4k68lsksv18"; depends=[httr jsonlite magrittr plyr tibble tidyr]; };
-  ows4R = derive2 { name="ows4R"; version="0.1-2"; sha256="0zqmzv7p693zza48dijg6fah601y4r8lcp5v67p2lpi73r8vhbil"; depends=[geometa httr openssl R6 rgdal sf XML]; };
+  ows4R = derive2 { name="ows4R"; version="0.1-4"; sha256="1chvb7i9a6kalnjacfvwrnp5j0fhr6da6v6llazqarij9njxfing"; depends=[geometa httr openssl R6 rgdal sf XML]; };
   oxcAAR = derive2 { name="oxcAAR"; version="1.0.0"; sha256="19inf2bcpfj4jzfym1v5f1w5fkmcycz5jrfc2hf0wsvixy53lfxa"; depends=[jsonlite stringr]; };
   oz = derive2 { name="oz"; version="1.0-21"; sha256="0p4r8qbpv7q6vad940540pd3lk79pyfj41h2cn22hsy1j0va1qbv"; depends=[]; };
+  ozmaps = derive2 { name="ozmaps"; version="0.2.0"; sha256="1g2kilj9m733d7mmcpslrpaahx2zbndiq8v3g37pjr08rbq7gr48"; depends=[oz tibble]; };
   p2distance = derive2 { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
   p3state_msm = derive2 { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
   pAnalysis = derive2 { name="pAnalysis"; version="2.0"; sha256="0pykdlbynzgcbnjs8xs8frgncf53l8qgf6na34adq7da76n570hi"; depends=[coin ggplot2]; };
   pBrackets = derive2 { name="pBrackets"; version="1.0"; sha256="0cwv609hzp8anfv3cgfbspz8w0g1ljfz05wm4xfhwy15v32fckrj"; depends=[]; };
-  pCODE = derive2 { name="pCODE"; version="0.9.2"; sha256="02p2kygyqd6c55wdzzhava9qkzck01mnfa5wccbj6plrxvrpfrz1"; depends=[deSolve fda MASS pracma]; };
+  pCODE = derive2 { name="pCODE"; version="0.9.3"; sha256="067hhlj75l04b404fidvb2rkj6bb3zxrjy37p5vzvc5a1p1pcnf5"; depends=[deSolve fda MASS pracma]; };
   pCalibrate = derive2 { name="pCalibrate"; version="0.1-1"; sha256="04a7dmf9sjw44y53i469f8fjm8as2vwr0pgk4s91l63pxdqnjvfl"; depends=[epitools exact2x2 MCMCpack]; };
   pGLS = derive2 { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; };
   pGMGM = derive2 { name="pGMGM"; version="1.0"; sha256="1hkczz38g8a8253jm8vhm8948fs91g6b2rfzkz47srkkby9ksa4x"; depends=[JGL MASS mvtnorm]; };
@@ -10970,9 +11191,9 @@ in with self; {
   packHV = derive2 { name="packHV"; version="2.2"; sha256="0bj7zhlz2283y1hfdqdn7xil4wscwri1f5hszarwjwczx4n5sv81"; depends=[survival WriteXLS]; };
   packMBPLSDA = derive2 { name="packMBPLSDA"; version="0.6"; sha256="0dnj99f8gl5qwn7xjg5jm7hj2ywdmmixbl2ak429ygilf8hlxzwd"; depends=[ade4 DiscriMiner doParallel FactoMineR foreach MASS pROC]; };
   packS4 = derive2 { name="packS4"; version="0.9.3"; sha256="0kkh4lfdbr2ydyfpymwrdkms1d4mj8430p6vxvj5wrgl4vh85gwd"; depends=[codetools]; };
-  packageRank = derive2 { name="packageRank"; version="0.2.0"; sha256="13gi0n1bzpy1q1ccxsi82bpx8p25wwna3wmgm3nyi8hfwc8bbnks"; depends=[cranlogs data_table ggplot2 memoise RCurl]; };
+  packageRank = derive2 { name="packageRank"; version="0.3.0"; sha256="1617xah0c8rnyjq09k69yrmalfryx921fflpx7k7bk52zwrrblc9"; depends=[cranlogs data_table ggplot2 memoise RCurl rversions]; };
   packagedocs = derive2 { name="packagedocs"; version="0.4.0"; sha256="0zw9ana7s42ardphhdaklba02yjj1v8gliq4l98397mjmzc6f4xd"; depends=[crayon devtools digest evaluate highlight htmltools lazyrmd magrittr rmarkdown stringr whisker yaml]; };
-  packagefinder = derive2 { name="packagefinder"; version="0.1.4"; sha256="17awdf97fjlncqbglgb2cic4xxa8vpsfpsm6f2wxv7zpg4cdlg2p"; depends=[crayon formattable httr jsonlite lubridate pander stringr tidyr]; };
+  packagefinder = derive2 { name="packagefinder"; version="0.1.5"; sha256="11dv9684370jnk4lsyqnqcqngrix3fwjhlhgsar6m01vvhy9w1c0"; depends=[crayon formattable httr jsonlite lubridate pander stringr tidyr]; };
   packagetrackr = derive2 { name="packagetrackr"; version="0.1.1"; sha256="0xjq27j7bd7lps0vp9gdinxn19wl10k2cp9wb2xjih7p6l0wd57g"; depends=[dplyr httr magrittr rappdirs]; };
   packcircles = derive2 { name="packcircles"; version="0.3.3"; sha256="0gik0splf48zfl40297nh7lbgvd2qqlci99wv841mfy7858ai933"; depends=[Rcpp]; };
   packrat = derive2 { name="packrat"; version="0.5.0"; sha256="1xy5dd2hrpqa07jfl4s7dsrya05mf36ms74j833scdz0zf89586n"; depends=[]; };
@@ -10983,7 +11204,7 @@ in with self; {
   padr = derive2 { name="padr"; version="0.5.0"; sha256="1lckaizlffgdzs7rhlkafam2clqkn3130r4fdnanm2bvd6b0z220"; depends=[dplyr lubridate Rcpp rlang]; };
   paf = derive2 { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
   pafdR = derive2 { name="pafdR"; version="1.0"; sha256="1yimsd4h23hcf752p5flda3dqk8hgn6qm9k0pmbapxj4jbsw14w5"; depends=[curl exams stringr]; };
-  pagedown = derive2 { name="pagedown"; version="0.5"; sha256="0kzrak17qxbbaj20vg4c6iwynwiy5q2psqmhmzlz1xkxkmk4gmdb"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
+  pagedown = derive2 { name="pagedown"; version="0.6"; sha256="0iri0mlxazkrphq45cynap0k4pnqfvl49slb4pyx5skfyyli0gvd"; depends=[bookdown htmltools httpuv jsonlite later processx rmarkdown servr websocket xfun]; };
   pagenum = derive2 { name="pagenum"; version="1.1"; sha256="0908rlr9sd1a2qwz0idw8ccxhji73sk24gyrdl071lpnd1rs2wl7"; depends=[]; };
   pageviews = derive2 { name="pageviews"; version="0.3.0"; sha256="031y67nqqvf3fa2273m7z2cldda0ijh63qwkh4gis3hz9hfril0v"; depends=[curl httr jsonlite]; };
   painter = derive2 { name="painter"; version="0.1.0"; sha256="0qr6p13h50rlavcsamxmijfr4dfrbv1k088m28qf8a4gam3ap85b"; depends=[]; };
@@ -10993,10 +11214,10 @@ in with self; {
   pairsD3 = derive2 { name="pairsD3"; version="0.1.0"; sha256="0ql6pqijf24pfyid52hmf5fmh4w1ca3sm47z9vknqpnjbn47v8q2"; depends=[htmlwidgets shiny]; };
   pairwise = derive2 { name="pairwise"; version="0.4.4-5.1"; sha256="0j15qbpym0y9ipc4l3z95f0bzc0pgzayspyqv81p7xakksnj2y02"; depends=[]; };
   pairwiseCI = derive2 { name="pairwiseCI"; version="0.1-27"; sha256="0yp9nibdrsddjqq6vdlfbpvmfgm209h99b6qqqd6wgfzng327822"; depends=[boot coin MASS MCPAN mcprofile]; };
-  pairwiseComparisons = derive2 { name="pairwiseComparisons"; version="0.1.1"; sha256="1a3kvwwq2541axiinv0k3rw79cgm8az2db7f5lwb857wd5rlzs1b"; depends=[broomExtra crayon dplyr forcats groupedstats jmv purrr rlang stringr tibble tidyr WRS2]; };
+  pairwiseComparisons = derive2 { name="pairwiseComparisons"; version="0.1.2"; sha256="0ak58v4675xhnskmjiin069gvq0sylfcv11f38mbl5c7iiai66bk"; depends=[broomExtra crayon dplyr forcats groupedstats jmv purrr rlang stringr tibble tidyr WRS2]; };
   pak = derive2 { name="pak"; version="0.1.2"; sha256="05s8rg84w4xhpbaa98p3lgvsnbjrxfbcz5izgkamqa1dw4gdxml4"; depends=[assertthat base64enc callr cli cliapp crayon curl desc filelock glue jsonlite lpSolve pkgbuild pkgcache prettyunits processx ps R6 rematch2 rprojroot tibble]; };
   palaeoSig = derive2 { name="palaeoSig"; version="2.0-3"; sha256="1sn2nbiq037l81qvrqbg7gf1312g8vy574hsfng07qk1jpx7vwkk"; depends=[assertr dplyr forcats ggplot2 ggrepel magrittr MASS mgcv purrr rioja rlang TeachingDemos tibble tidyr vegan]; };
-  palasso = derive2 { name="palasso"; version="0.0.5"; sha256="1ckxrkk2b8dri8pw0hj0g1sdlpwn6p436748sv86lj5b1m02yf3w"; depends=[glmnet Matrix survival]; };
+  palasso = derive2 { name="palasso"; version="0.0.7"; sha256="1r7kcx0i1xqvqpqwvh5khsv3g0hj3j8f56q9jbya18scywk2ivzg"; depends=[glmnet Matrix survival]; };
   paleoMAS = derive2 { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[lattice MASS vegan]; };
   paleoTS = derive2 { name="paleoTS"; version="0.5.2"; sha256="1hd143xw16n8xhicfr6nfyfm6kyr56gyiq5vqnfzhmndjrvkpkx7"; depends=[doParallel foreach iterators mnormt]; };
   paleobioDB = derive2 { name="paleobioDB"; version="0.6.0"; sha256="00bx59gv59hsdlg5x7n6n68av0m4brw2d02caifzgy79cfln5rha"; depends=[gtools maps plyr raster RCurl rjson scales]; };
@@ -11009,7 +11230,7 @@ in with self; {
   palinsol = derive2 { name="palinsol"; version="0.93"; sha256="0k29sl2j7yf4yc0dhb047rxwg9np9l6pdwv6wyb4j80yc07vc9am"; depends=[gsl]; };
   palm = derive2 { name="palm"; version="1.1.3"; sha256="1w13a1517h9dqfkc0863fsb08mapx8cafypk3b61djh69hcpbl0v"; depends=[gsl minqa mvtnorm R6 Rcpp spatstat]; };
   palmtree = derive2 { name="palmtree"; version="0.9-0"; sha256="0cd5p82gp2g1zq8kf9ybi4wa1r2jg4dbxbp5n01qs4apmyyncl4d"; depends=[Formula partykit]; };
-  palr = derive2 { name="palr"; version="0.0.6"; sha256="163c0kcsl0k3fp5q9afv3pb8246j2b3jzmd6g2vcgxb8nhs8wr2f"; depends=[]; };
+  palr = derive2 { name="palr"; version="0.1.0"; sha256="1v0bajsnzqamx9y275qhvzp56vzzs3hyp4mr5ijqynqj4376fqys"; depends=[]; };
   pals = derive2 { name="pals"; version="1.5"; sha256="0zc4dw8ipvhdm2qvy71k16vf8fmjs08nqbvvdi1k8h4fs648ddhi"; depends=[colorspace dichromat mapproj maps rgl]; };
   pamctdp = derive2 { name="pamctdp"; version="0.3.2"; sha256="0qs8lj5g2fx5rfd0afv76x9x7wqm333qmjv6zzip6pf11dzkghyj"; depends=[ade4 FactoClass xtable]; };
   pamm = derive2 { name="pamm"; version="0.9"; sha256="01dv70ca3zif2b2fkx4xjl24x9p9kc63wf0dj5agdjp5qgbkp1p5"; depends=[gmodels lattice lme4 lmerTest mvtnorm]; };
@@ -11017,8 +11238,9 @@ in with self; {
   pampe = derive2 { name="pampe"; version="1.1.2"; sha256="092n04nrp886kd163v32f5vhp9r7gnayxzqb6pj57ilm5w1yrcsk"; depends=[leaps]; };
   pamr = derive2 { name="pamr"; version="1.56.1"; sha256="0ycpgkk23y3zzkb42n2skcyl35ps1n7jmyzfj7pbxr3f6gr2grfh"; depends=[cluster survival]; };
   pan = derive2 { name="pan"; version="1.6"; sha256="1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d"; depends=[]; };
+  pancor = derive2 { name="pancor"; version="0.1.0"; sha256="16yiyqjzrqxqms3xyzg1c6b81y94vr8m72ilga7cpvkjvdpm3fbk"; depends=[ggplot2 rlang]; };
   pander = derive2 { name="pander"; version="0.6.3"; sha256="1bd9sdghlsppmff18k5fg3i0visq9f4wc82rlhwq5m82bmgdgnyi"; depends=[digest Rcpp]; };
-  pandocfilters = derive2 { name="pandocfilters"; version="0.1-3"; sha256="1qic94kmw6qqdzy362x2wiba5l3ghc4vh8wfbg7abzb04ysbdznf"; depends=[jsonlite]; };
+  pandocfilters = derive2 { name="pandocfilters"; version="0.1-4"; sha256="1nlnvnvq3zwzpf6hnf8akl0w25kr7hrbr98rw5vgncxw35314xdp"; depends=[jsonlite]; };
   panelAR = derive2 { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
   panelView = derive2 { name="panelView"; version="1.1.2"; sha256="0kbh2g8yynv2mvvndy89lkm5yhy2hr04z52i2ccv9yfrkyignlfp"; depends=[ggplot2 gridExtra]; };
   panelWranglR = derive2 { name="panelWranglR"; version="1.2.13"; sha256="0zj0m08518zi6xsa7qik61ys1qqa2lqiar4l7acclkw58w5zrmbc"; depends=[caret data_table Hmisc]; };
@@ -11039,13 +11261,14 @@ in with self; {
   parallelSVM = derive2 { name="parallelSVM"; version="0.1-9"; sha256="0nhxkllpjc3775gpivj8c5a9ssl42zgvswwaw1sdhwg3cxcib99h"; depends=[doParallel e1071 foreach]; };
   parallelize_dynamic = derive2 { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
   paramGUI = derive2 { name="paramGUI"; version="2.1.3"; sha256="1z7k4wgzm1bga8djyk44r1kr1mzdb9mrd6fvb5nrd69d76pvldji"; depends=[colorspace fields shiny shinydashboard TIMP]; };
-  parameters = derive2 { name="parameters"; version="0.2.0"; sha256="1mgggb3l67wgjiccq4y84wbs2dw9qk01akd553yiwbwky9rpawgh"; depends=[bayestestR insight]; };
+  parameters = derive2 { name="parameters"; version="0.3.0"; sha256="0ifb9g1h8sn661q7jf9d8glk58gxdcym5ywbmx7phwn0y3is5wdv"; depends=[bayestestR insight]; };
   paramhetero = derive2 { name="paramhetero"; version="0.1.0"; sha256="16ydhp401f1iqh2b8gdi100j5dncb7khb8c6f81dak4hhs8lv4if"; depends=[ggplot2 ggpubr]; };
   paramlink = derive2 { name="paramlink"; version="1.1-2"; sha256="0y6wsrxwyavipmrjjznr2n920w0p6qlwapxc9mnkh9c6w3yznka2"; depends=[assertthat kinship2 maxLik]; };
   params = derive2 { name="params"; version="0.6.1"; sha256="0w7k8k7z8p1y2w0dhpfssa868xaikfzfdjw2vlj1yl299k5yisax"; depends=[whisker]; };
   paramtest = derive2 { name="paramtest"; version="0.1.0"; sha256="0yn1s1qkgby8x0qn7cy1zhxzc0wyi7bm30pkvijhn5h5afjpylsy"; depends=[boot]; };
   paran = derive2 { name="paran"; version="1.5.2"; sha256="0d9la83mxfpfgdfrqa40ck5fcp3j2b70d8c8nl9wmdsgvgqrl23s"; depends=[MASS]; };
   parboost = derive2 { name="parboost"; version="0.1.4"; sha256="087b4as0w8bckwqpisq9mllvm523vlxmld3irrms13la23z6rjvf"; depends=[caret doParallel glmnet iterators mboost party plyr]; };
+  parcats = derive2 { name="parcats"; version="0.0.1"; sha256="0bf1kqg3954z47cb4n4wv6pf55f1801qlsj1523ac0j3l3i39xn5"; depends=[dplyr easyalluvial forcats htmlwidgets magrittr purrr stringr tibble tidyr]; };
   parcoords = derive2 { name="parcoords"; version="1.0.0"; sha256="15w0g789a2igagfrgv1978ib4ipxpfkid5jpj4q344mpdvgp6ip2"; depends=[crosstalk htmlwidgets]; };
   parcor = derive2 { name="parcor"; version="0.2-6"; sha256="10bhw50g8c4ln5gapa7wghhb050a3jmd1sw1d1k8yljibwcbbx36"; depends=[Epi GeneNet glmnet MASS ppls]; };
   parfm = derive2 { name="parfm"; version="2.7.6"; sha256="1n548gaf62m56n8rlcz1mhpqxikd33vydjwl4wps441drp1dbvs0"; depends=[msm optimx sn survival]; };
@@ -11058,7 +11281,7 @@ in with self; {
   parsedate = derive2 { name="parsedate"; version="1.2.0"; sha256="0gb3w6hmwxayhijpf36p5dk4h6bbdps57x3cgikwvvxkgi83rarr"; depends=[rematch2]; };
   parsemsf = derive2 { name="parsemsf"; version="0.1.1"; sha256="0ks4503k06ib5lq4ar2rg0sdni99rjcqxj76b0mclasxbi07kjsa"; depends=[DBI dbplyr dplyr lazyeval RSQLite stringr tidyr]; };
   parsetools = derive2 { name="parsetools"; version="0.1.1"; sha256="0fl06h4aph0rr55n3c4gw9wkblvjipgyl5drpycmpldj8kix1nz2"; depends=[]; };
-  parsnip = derive2 { name="parsnip"; version="0.0.3.1"; sha256="1p0md1s08dd8w3md1cx8n00rfpbnsayqv0bnvc9mcwljmmw6wb2s"; depends=[dplyr generics globals glue magrittr purrr rlang tibble tidyr vctrs]; };
+  parsnip = derive2 { name="parsnip"; version="0.0.4"; sha256="08q4qq8akfp3ni4l380gan6r04c8ql41wpn1brciwcr4nva5ckjx"; depends=[dplyr generics globals glue magrittr prettyunits purrr rlang tibble tidyr vctrs]; };
   partDSA = derive2 { name="partDSA"; version="0.9.14"; sha256="1kp0cdsdjiay349jz22iqfzvspny8s343cfan8xahgf931k9h8p6"; depends=[survival]; };
   partialAR = derive2 { name="partialAR"; version="1.0.11"; sha256="1x7vsrjn91nr4bbkzz9mp8h93j9yhwwaqw1abh5n3bsrkq3xmgqj"; depends=[data_table ggplot2 KFAS MASS plot3D Rcpp tseries urca zoo]; };
   partialCI = derive2 { name="partialCI"; version="1.2.0"; sha256="0hi936yg4g5bg61ix2i68f8q4c5nvvshl2728ynz1rl970qfcrp7"; depends=[data_table ggplot2 glmnet KFAS MASS partialAR Rcpp TTR zoo]; };
@@ -11069,7 +11292,7 @@ in with self; {
   partitionComparison = derive2 { name="partitionComparison"; version="0.2.5"; sha256="0wzg2r4c61fd3cp8kwsc313gwcizh5aavw361lc9gqn57p1kml1j"; depends=[lpSolve Rdpack]; };
   partitionMap = derive2 { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
   partitionMetric = derive2 { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
-  partitions = derive2 { name="partitions"; version="1.9-19"; sha256="1pklfnjdc094c8nzkqcdvqzdh8v3p5n8jbg4pf9678iw648saiyx"; depends=[gmp polynom]; };
+  partitions = derive2 { name="partitions"; version="1.9-22"; sha256="1qqy4df28wy4q0g572azrj171jlhvrnzbh7x0wr2g7v6gr20y0ns"; depends=[gmp polynom sets]; };
   partools = derive2 { name="partools"; version="1.1.6"; sha256="0w7p88y4ab4v14k16k95cyb5f3yl2g6ban11775rmi2h9xqkfxk8"; depends=[data_table pdist regtools]; };
   partsm = derive2 { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; };
   party = derive2 { name="party"; version="1.3-3"; sha256="1sbwpwxdz81ikp64kc0s06vdwy04bccff2kr0phwx9235nhfwwlz"; depends=[coin modeltools mvtnorm sandwich strucchange survival zoo]; };
@@ -11077,6 +11300,7 @@ in with self; {
   parviol = derive2 { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
   pass_lme = derive2 { name="pass.lme"; version="0.9.0"; sha256="1rxm509vnkdvdxii4jwniirdb2pv90rjkf6wjc9zrjh88jrl678k"; depends=[]; };
   passport = derive2 { name="passport"; version="0.2.0"; sha256="1jiwivrz7781zmwxmw13rxl80cr9r5pinnk5bvqz8nhfmlx0zmgd"; depends=[]; };
+  passt = derive2 { name="passt"; version="0.1.0"; sha256="1znf911l1flk8yw2kwbf9kvq5b8hrxangsb1fff4fx5g0bvjb2rb"; depends=[dplyr magrittr rlang tidyr]; };
   password = derive2 { name="password"; version="1.0-0"; sha256="1ijzqdw54l8wvpy6ys28njvhplzjxzzi5i9y41vjnrr88n13977v"; depends=[]; };
   pastecs = derive2 { name="pastecs"; version="1.3.21"; sha256="0z4dic94ar646w7zc2ggi5hgvf2qnznsani94c5pyql8zspz47lc"; depends=[boot]; };
   pastis = derive2 { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[ape caper]; };
@@ -11084,41 +11308,42 @@ in with self; {
   patchDVI = derive2 { name="patchDVI"; version="1.9.1616"; sha256="1akdlzw8v2p1zz09bm88d63jyxj7fv5h50p459p9ml4yc816xvji"; depends=[]; };
   patchPlot = derive2 { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
   patchSynctex = derive2 { name="patchSynctex"; version="0.1-4"; sha256="1li3kw7a77sx6dss8pnxzb0p0sdy1kfm1zdnmhhj043zihrryd5p"; depends=[stringr]; };
+  patchwork = derive2 { name="patchwork"; version="1.0.0"; sha256="0qrwbcswh7ylrmghi17k6wk7w51cz6mcmvcyyd41hy3m2ywmkywb"; depends=[ggplot2 gtable]; };
   patentsview = derive2 { name="patentsview"; version="0.2.2"; sha256="003pcddz6adsh893xvlb9d72r316z14nlp3fwm1vbc50hpa24w6z"; depends=[httr jsonlite]; };
   pathdiagram = derive2 { name="pathdiagram"; version="0.1.9.1"; sha256="018frv1n3x0bf1682jibnm5k2dlkg85xa9mps28l22a0z8bplbv5"; depends=[shape]; };
-  pathfindR = derive2 { name="pathfindR"; version="1.3.0"; sha256="1pljw5pz6g1jpk92smbmzwgwx7p3jvjyvr7fciajay39gfvj7fd5"; depends=[AnnotationDbi DBI doParallel foreach fpc ggplot2 igraph knitr org_Hs_eg_db pathview rmarkdown]; };
+  pathfindR = derive2 { name="pathfindR"; version="1.4.1"; sha256="1m4hrchhmy9qjkilz520az7h2ga5552kqx64cl4c31pw7zy4p1vx"; depends=[AnnotationDbi DBI doParallel foreach fpc ggplot2 ggraph igraph KEGGgraph KEGGREST knitr magick org_Hs_eg_db R_utils rmarkdown]; };
   pathlibr = derive2 { name="pathlibr"; version="0.1.0"; sha256="0z8iz765fi1s2770p7dwwv2anihfw86kb5dwg081wb6474wiq6v8"; depends=[glue logging magrittr purrr R6 rlang]; };
   pathmapping = derive2 { name="pathmapping"; version="1.0.2"; sha256="0kx4wxf6lhi58sif8fzr5w4wa0i5253fq4v0ynp721fv1hkvmhvz"; depends=[]; };
   pathmox = derive2 { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
   patrick = derive2 { name="patrick"; version="0.0.1"; sha256="16r0q3d9bq06393v46gabn9y9w2w7nqjcl65b7y2ryp35nv0aqsi"; depends=[dplyr purrr rlang testthat tibble]; };
   patternator = derive2 { name="patternator"; version="0.1.0"; sha256="0s4vrhdfblllnhpz2awhhrkwm8d4170xg7fpsp7kvvqy8z8biwvi"; depends=[data_table]; };
   patternize = derive2 { name="patternize"; version="0.0.2"; sha256="0hd6l66ybrjjndad5m2li9qqsjd0k2blhvjm469j6ab95073zq9f"; depends=[abind dplyr imager magrittr Morpho purrr raster rgdal RNiftyReg sp vegan]; };
-  patternplot = derive2 { name="patternplot"; version="0.2.1"; sha256="0ixb9x32fciwxwxnna47z9jb6s1zf3d9jqfiwvv4slaygi2cgydr"; depends=[dplyr ggplot2 gtable jpeg png R6 Rcpp RcppParallel]; };
+  patternplot = derive2 { name="patternplot"; version="0.3.2"; sha256="0bzy1fq9za1251h8iiixyq397wnw9k3s59i3wi2pyjca2dydhr9a"; depends=[dplyr ggplot2 gridExtra gtable jpeg png R6 Rcpp RcppParallel]; };
   pauwels2014 = derive2 { name="pauwels2014"; version="1.0"; sha256="1b7whn13lgydc69kg1fhnwkxirw0nqq75cfvii0yg0j4p8r1lw42"; depends=[deSolve ggplot2]; };
   pavo = derive2 { name="pavo"; version="2.2.0"; sha256="0bbmgjc63i6vx0grs97y6jg9q44vnjhik93zzkagq532mnggjiqv"; depends=[cluster geometry magick pbmcapply plot3D rcdd sp viridisLite]; };
   pawacc = derive2 { name="pawacc"; version="1.2.2"; sha256="0d5k0bq8zmb7sjvba3ljp97mba2iycnw44rnsnn2aajs02l1c2xg"; depends=[SparseM]; };
   pawls = derive2 { name="pawls"; version="1.0.0"; sha256="01sf1cmd216ca5iwmw4hfnxi9lvh16r441cfcaa3n77zhq0i4w7n"; depends=[]; };
-  paws = derive2 { name="paws"; version="0.1.4"; sha256="0qz1h7mys6mpf4yl53x7m2lvp9s4i31axqky24mi41j87g67bsag"; depends=[paws_analytics paws_application_integration paws_compute paws_cost_management paws_customer_engagement paws_database paws_machine_learning paws_management paws_networking paws_security_identity paws_storage]; };
-  paws_analytics = derive2 { name="paws.analytics"; version="0.1.4"; sha256="08ifbx7958ibb3x59xzxj73inrq1iqj5g6q9a0pdk4iihg828ill"; depends=[paws_common]; };
-  paws_application_integration = derive2 { name="paws.application.integration"; version="0.1.4"; sha256="04szgz9lmnp5nafknsqdkpa40x5d2qgwyiib5gvi2vp2a97nl0k4"; depends=[paws_common]; };
-  paws_common = derive2 { name="paws.common"; version="0.2.2"; sha256="0fax6brbj5pkcbj11r9jizn8zx993rbwdpfl84vajxdqqq6q461y"; depends=[base64enc digest httr ini jsonlite xml2]; };
-  paws_compute = derive2 { name="paws.compute"; version="0.1.4"; sha256="12p7lmxjya8y73l8xynm4jnwd0ri7hh9rh5nr375y0vvf2lfvxl3"; depends=[paws_common]; };
-  paws_cost_management = derive2 { name="paws.cost.management"; version="0.1.4"; sha256="1y53ckj98hsj15r9i21gs53198a4ib7h7maf6x931gz4j8l5i3vj"; depends=[paws_common]; };
-  paws_customer_engagement = derive2 { name="paws.customer.engagement"; version="0.1.4"; sha256="0zzk8b07q2774jd7f69lszrw4iljk68fq104akvikiw96cm9786m"; depends=[paws_common]; };
-  paws_database = derive2 { name="paws.database"; version="0.1.4"; sha256="0nxh9krj062zm3x7x1aqzbwv6iv7n5ivypv12xa49klv9h6cam2l"; depends=[paws_common]; };
-  paws_machine_learning = derive2 { name="paws.machine.learning"; version="0.1.4"; sha256="0anbhx7c47v36zzpb13myjvki4xjb04xybyg7gq2li8c0rlbnmas"; depends=[paws_common]; };
-  paws_management = derive2 { name="paws.management"; version="0.1.4"; sha256="1q0bbwgsjwbqv808pyf8nz33xaqfci933ng375i8pb0bgiyqy7mz"; depends=[paws_common]; };
-  paws_networking = derive2 { name="paws.networking"; version="0.1.4"; sha256="1556x2c2li0fdxrnpcblz4yijkanmmw3wshmd1ad4hbvh8xa7mqk"; depends=[paws_common]; };
-  paws_security_identity = derive2 { name="paws.security.identity"; version="0.1.4"; sha256="09kna71xaizd2878qym6lyxafjf370qh3paknv4gyzf8z43c9na6"; depends=[paws_common]; };
-  paws_storage = derive2 { name="paws.storage"; version="0.1.4"; sha256="1ln3cdbp1bgsnq1s8v7kwbgx1ih5fzv3n1fglwl4yp8q3vag8ab5"; depends=[paws_common]; };
+  paws = derive2 { name="paws"; version="0.1.5"; sha256="1a65az7al3vn2gxbki20zbjjvk8qyblhn720x9pgkhj822nmmvc0"; depends=[paws_analytics paws_application_integration paws_compute paws_cost_management paws_customer_engagement paws_database paws_machine_learning paws_management paws_networking paws_security_identity paws_storage]; };
+  paws_analytics = derive2 { name="paws.analytics"; version="0.1.5"; sha256="1k4s1qd8zy852a7ggns5kzj4sdhp1jabhy34kx37py0ahl2g9zd8"; depends=[paws_common]; };
+  paws_application_integration = derive2 { name="paws.application.integration"; version="0.1.5"; sha256="10d4fmr1savpk39yd2y7k6d4pbhy0cpq97mkgqz12iing7fdg3ml"; depends=[paws_common]; };
+  paws_common = derive2 { name="paws.common"; version="0.2.4"; sha256="1hzxazh3qmizm2fk38lrkc8dxkaaq2hkys4nbp1amizjxq6gga99"; depends=[base64enc digest httr ini jsonlite xml2]; };
+  paws_compute = derive2 { name="paws.compute"; version="0.1.5"; sha256="03p2j7isp0p4k4jagayqbylcja3f5z26js9m9dg190azgbplpl9p"; depends=[paws_common]; };
+  paws_cost_management = derive2 { name="paws.cost.management"; version="0.1.5"; sha256="0clddz1b7ndznwdhs6nb4bi5s71jb4zyp8bk8jh91hw44g0p29bp"; depends=[paws_common]; };
+  paws_customer_engagement = derive2 { name="paws.customer.engagement"; version="0.1.5"; sha256="054bvpqyhp6j3b857ra65p6yxsq2wncfiwgw1vxpw1c5j858yvbf"; depends=[paws_common]; };
+  paws_database = derive2 { name="paws.database"; version="0.1.5"; sha256="1mfvvkncqs6fb28x375g3vs4ygk2dcgzbhj0hn8x1mkv0gk7wdx5"; depends=[paws_common]; };
+  paws_machine_learning = derive2 { name="paws.machine.learning"; version="0.1.5"; sha256="02kq69nsd8nba48x9c0gzprw727glam22dpp094c7c91y92677np"; depends=[paws_common]; };
+  paws_management = derive2 { name="paws.management"; version="0.1.5"; sha256="0mmzmzg00gg1g2sm6jcp30rxwch36gvd4hrism77g7dbp8s9kgvf"; depends=[paws_common]; };
+  paws_networking = derive2 { name="paws.networking"; version="0.1.5"; sha256="08v9wlkziv7vabygfpzm8m8k7qn9n5w06i7i2d3qpsnxmqpvrwhs"; depends=[paws_common]; };
+  paws_security_identity = derive2 { name="paws.security.identity"; version="0.1.5"; sha256="0h3xi543sacl9iw7r7g431sbp48gynk7wbrsdb4y0z5250hgsjjr"; depends=[paws_common]; };
+  paws_storage = derive2 { name="paws.storage"; version="0.1.5"; sha256="1nvyxlvcwaki4s3gr8sphvpahvfvzysq7n8f9dsa8c7hfa6kcfyh"; depends=[paws_common]; };
   pbapply = derive2 { name="pbapply"; version="1.4-2"; sha256="1xmk4p006v8gij26rs6kp5prjyf2n32nqjxiyp8a6kvgyc4z46dc"; depends=[]; };
   pbatR = derive2 { name="pbatR"; version="2.2-13"; sha256="01ra1ggdpxdl1xqjdh86qynr5gkgzw01ww6j9bwgx4mj20i6j1ha"; depends=[rootSolve survival]; };
   pbdBASE = derive2 { name="pbdBASE"; version="0.5-0"; sha256="11jlfr0pswldd5h06swfrc8bm785dv09iqgg3kfnc53yvrs0d7qv"; depends=[pbdMPI pbdSLAP]; };
   pbdDEMO = derive2 { name="pbdDEMO"; version="0.3-1"; sha256="0vr3dvvhr8j6xvdf308nn37y0lkl2ysm93yf0h7rclvqvsk1pf66"; depends=[pbdBASE pbdDMAT pbdMPI]; };
   pbdDMAT = derive2 { name="pbdDMAT"; version="0.5-1"; sha256="0vg362f3wj5bmla5h85lqy5vs3q0sffcxbmbs9s0m378ahjcjqh3"; depends=[pbdBASE pbdMPI]; };
-  pbdMPI = derive2 { name="pbdMPI"; version="0.3-9"; sha256="04085h8k61l3nsji13nvvq4phlcs1faiignjbqbk7pgi3194diph"; depends=[float rlecuyer]; };
+  pbdMPI = derive2 { name="pbdMPI"; version="0.4-1"; sha256="1f7pjv0nqwnw74jb8hkds4as6w302mjncwjrv6jbbr81i0szncms"; depends=[float rlecuyer]; };
   pbdNCDF4 = derive2 { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
-  pbdPROF = derive2 { name="pbdPROF"; version="0.3-1"; sha256="0a7c31605si062vbwcwngv770axlwyhh00cvdfqw3hv421p61sj8"; depends=[]; };
+  pbdPROF = derive2 { name="pbdPROF"; version="0.4-0"; sha256="174jwrkvw5qz1430y6id01w1czlw45j1yw8a8dyw36knrmvmdz10"; depends=[]; };
   pbdRPC = derive2 { name="pbdRPC"; version="0.2-1"; sha256="1pz71zfs9qw96dj3h5mrm734vbbi4drlv9hrw91dbzm3a7jsxg4q"; depends=[]; };
   pbdSLAP = derive2 { name="pbdSLAP"; version="0.2-6"; sha256="0165v210pyc0mh3pp6d32jg6g2zyjajgams83g03yhqmz73kd6dj"; depends=[pbdMPI rlecuyer]; };
   pbdZMQ = derive2 { name="pbdZMQ"; version="0.3-3"; sha256="1jkfcfhspvqra7vbllrvkz3jx8j7d0ang6zzcdjgpb7200sc29mf"; depends=[]; };
@@ -11128,8 +11353,8 @@ in with self; {
   pbmcapply = derive2 { name="pbmcapply"; version="1.5.0"; sha256="0i58gcqpnbyvc448qfgm45b7rpbmrnagsvk1h1hsqchbbicfslnz"; depends=[]; };
   pbo = derive2 { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
   pbs = derive2 { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
-  pbv = derive2 { name="pbv"; version="0.2-16"; sha256="1jr0xvk56d7qqpj7azw64lidwc3604iw87k7cccswv4yvbihvzzk"; depends=[Rcpp RcppArmadillo]; };
-  pcFactorStan = derive2 { name="pcFactorStan"; version="1.1.0"; sha256="08lgi8j5q64nwix1npz0dw4vmzc9pfv8cdrn8jm1vsa2dazssnm4"; depends=[BH igraph loo mvtnorm Rcpp RcppEigen reshape2 rstan StanHeaders]; };
+  pbv = derive2 { name="pbv"; version="0.3-19"; sha256="18cypzbyamafq942bwp3k0ml3crwcpxa6rdck8657kkc22lq05g5"; depends=[Rcpp RcppArmadillo]; };
+  pcFactorStan = derive2 { name="pcFactorStan"; version="1.2.0"; sha256="15nq45p9bsmb649gp39pkq77ryzf6bcpmr70c6ijq2dda73f6265"; depends=[BH igraph loo mvtnorm Rcpp RcppEigen reshape2 rstan StanHeaders]; };
   pcIRT = derive2 { name="pcIRT"; version="0.2.4"; sha256="0crll51s14nisnaxjln7bc3b1a181v358nfkh1p5iiyn98clacl6"; depends=[combinat Rcpp]; };
   pcLasso = derive2 { name="pcLasso"; version="1.1"; sha256="1wdwin6xszysydspxjb8b6r3y416ri3zndh0s142b2487lhmqkb6"; depends=[svd]; };
   pca3d = derive2 { name="pca3d"; version="0.10"; sha256="1bpm4sbj7h2fd0h5ybjhq8g61l8v2fbc92yiiascdgfili85zsf3"; depends=[ellipse rgl]; };
@@ -11137,7 +11362,7 @@ in with self; {
   pcaL1 = derive2 { name="pcaL1"; version="1.5.2"; sha256="1f7481wn2c935llb9visfdlv958ixxqybp5r2dy7nm18jacf2a0l"; depends=[]; };
   pcaPP = derive2 { name="pcaPP"; version="1.9-73"; sha256="1z2kdf9gfp965xbcd4rg6vf20d1bl443na0qjkpq7gmzpaq6cifa"; depends=[mvtnorm]; };
   pcadapt = derive2 { name="pcadapt"; version="4.1.0"; sha256="0631qx37ffz21bgwvjq2y5xn4dvz6kpmwg3rlmkxa93kwsx2b7rb"; depends=[data_table ggplot2 magrittr mmapcharr plotly Rcpp rmio robust RSpectra vcfR]; };
-  pcalg = derive2 { name="pcalg"; version="2.6-6"; sha256="01irqkw7lv5m4svrjalpgpgp28y1m6w3jsgz0hlzwfdz2z5gkkhh"; depends=[abind bdsmatrix BH clue corpcor fastICA ggm graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
+  pcalg = derive2 { name="pcalg"; version="2.6-8"; sha256="1pp7y0v3li8y5q599cz10ws6nql4xqdmgxfjp69h1dmc5635kr06"; depends=[abind bdsmatrix BH clue corpcor fastICA ggm graph igraph RBGL Rcpp RcppArmadillo robustbase sfsmisc vcd]; };
   pccc = derive2 { name="pccc"; version="1.0.3"; sha256="1dd1kh0gx7ffwnmxqn3zbcsxiav4z70psis24dgqxwq42r0kw5mk"; depends=[dplyr Rcpp]; };
   pcdpca = derive2 { name="pcdpca"; version="0.4"; sha256="0ys4hrin0w3f87d1d986wvrfkfwapzj9hz7d7v92r60ns74g7r5m"; depends=[fda freqdom]; };
   pcensmix = derive2 { name="pcensmix"; version="1.2-1"; sha256="1yrz4hdj52in8z65qyl18kh7frv75rb8ss5ljv3vbm6yhxi32jnd"; depends=[]; };
@@ -11161,10 +11386,11 @@ in with self; {
   pdfetch = derive2 { name="pdfetch"; version="0.2.4"; sha256="0qskxak1mb8h038ly4hlsjvkz8nyinaraqh5f91d8nyzjzhj7x3c"; depends=[curl httr jsonlite lubridate readr reshape2 XML xml2 xts zoo]; };
   pdfsearch = derive2 { name="pdfsearch"; version="0.3.0"; sha256="0mk1s8b7cdz025xn9kg5xnw388sndhjm80ckf71daxviknrzcscf"; depends=[pdftools stringi tibble tokenizers]; };
   pdftables = derive2 { name="pdftables"; version="0.1"; sha256="1gnwjijr89cczchc7yi4w5xiw0dalbymvj23rymm8cfra34iwn5p"; depends=[httr]; };
-  pdftools = derive2 { name="pdftools"; version="2.2"; sha256="1cvmr33jx09r7d76q0g8bd0ik4xa304n42b7psw1lj8a3a4wrk0l"; depends=[qpdf Rcpp]; };
+  pdftools = derive2 { name="pdftools"; version="2.3"; sha256="1v193v74higrkafcn96wank86wixnb0p9x3z2j2ddlvypc355i69"; depends=[qpdf Rcpp]; };
   pdist = derive2 { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
   pdmod = derive2 { name="pdmod"; version="1.0.1"; sha256="04bk9gjg2c55hk6k1hy0m29927s8a5ig6mr4xb89npam68g0pcms"; depends=[mco]; };
   pdp = derive2 { name="pdp"; version="0.7.0"; sha256="0wcszaq4c14f9a2r1gd32mzhs035jlg2w8mkfklzigcj7fv9xmi8"; depends=[ggplot2 gridExtra lattice magrittr mgcv plyr viridis]; };
+  pdqr = derive2 { name="pdqr"; version="0.2.0"; sha256="1wcsdx0nns5vb0gksmykhyrn0y00x9b8m4d05dxllyvx9xika1n5"; depends=[]; };
   pds3 = derive2 { name="pds3"; version="0.5.0"; sha256="1hipi4ygk30khrrslxq3m9qdichazhrl34k444shs7gi6wjx9ilr"; depends=[rly]; };
   peRiodiCS = derive2 { name="peRiodiCS"; version="0.5.0"; sha256="1366gmn6qfciwcjsfnbl3hfa16ffn11g00fm0kv74ilvm3nnawk3"; depends=[Hmisc rms]; };
   peRspective = derive2 { name="peRspective"; version="0.1.0"; sha256="1zz3znzaa80k60jddys5fhxwx4c8lyqymx5fw2zvj654rnk0mmzc"; depends=[crayon dplyr glue httr jsonlite magrittr purrr rlang rlist stringr tibble]; };
@@ -11173,7 +11399,7 @@ in with self; {
   peakRAM = derive2 { name="peakRAM"; version="1.0.2"; sha256="0mj7f8jqkfky61xag2km0svbgvfmif3c1d8ccav6pv1963cg3cvv"; depends=[]; };
   pear = derive2 { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
   pearson7 = derive2 { name="pearson7"; version="1.0-2"; sha256="0x8bnlzgmfah8lzdg8skxs7bm8yq0nkrhqi7q43h902j4jl5b8jy"; depends=[]; };
-  pec = derive2 { name="pec"; version="2018.07.26"; sha256="07xr22klvmxpn2k72mjd775fs89f5hppb5xcy4sjy1njalmn3icm"; depends=[foreach prodlim rms survival timereg]; };
+  pec = derive2 { name="pec"; version="2019.11.03"; sha256="1h6fk3k9w61a9xqhvkm1zdv75nsl06n78036qvcxkcf0bkfxl360"; depends=[foreach prodlim rms survival timereg]; };
   pedantics = derive2 { name="pedantics"; version="1.7"; sha256="14hphziwqrq4fkxlvp94j564q19k9fabvhmdz7zhb6cvak6xv1n6"; depends=[genetics kinship2 MasterBayes MCMCglmm mvtnorm]; };
   pedgene = derive2 { name="pedgene"; version="3.2"; sha256="1cl95fw6wdh4k6rg1nlydh09gf96pcgyfd3bxdcaisq0vfn05g0j"; depends=[CompQuadForm kinship2 Matrix survey]; };
   pedigree = derive2 { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[HaploSim Matrix reshape]; };
@@ -11181,11 +11407,14 @@ in with self; {
   pedigreemm = derive2 { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
   pedmut = derive2 { name="pedmut"; version="0.1.0"; sha256="0b8qlcl4g8kjix4q1drs1yk7wnilxqslv4p8svyabcg8wb4bnvwa"; depends=[]; };
   pedometrics = derive2 { name="pedometrics"; version="0.6-6"; sha256="1w9wa73wva6z0d56g221l8qmc5igfypwsa2xq4sn4r501bdy8qpq"; depends=[lattice latticeExtra Rcpp]; };
+  pedprobr = derive2 { name="pedprobr"; version="0.1.0"; sha256="1nn8pmxzj1lnfynaws87lbrk2p5y8im4cdm46vw91lbk00z7j3vc"; depends=[pedmut pedtools]; };
   pedquant = derive2 { name="pedquant"; version="0.1.2"; sha256="18shjp241ihy01ksmp2sqrpq5y693njml4wqaayypb961s1850kj"; depends=[curl data_table ggplot2 gridExtra httr jsonlite readr readxl rvest scales stringi TTR webdriver xml2 zoo]; };
-  pegas = derive2 { name="pegas"; version="0.11"; sha256="0l21bapzbjcvblbvks3jh9rpy9hng1ccd7f0glhqw695lc737bpx"; depends=[adegenet ape]; };
+  pedtools = derive2 { name="pedtools"; version="0.9.1"; sha256="1qki2yf0dy9yl7b0n8va2knzpjnrai4v5qg6538kqsbpx1i9rxcy"; depends=[kinship2]; };
+  pegas = derive2 { name="pegas"; version="0.12"; sha256="0sb8cmz4d238mcb56hv9fa0cagm00k82r7aj4cj4lxa1flxlpy8p"; depends=[adegenet ape]; };
   pems_utils = derive2 { name="pems.utils"; version="0.2.26.4"; sha256="13d5cg2wdz84inby017bra6xzwhkp5qcy1b213r387fq771h2xrx"; depends=[baseline dplyr ggplot2 lattice latticeExtra loa RColorBrewer Rcpp rlang]; };
   penDvine = derive2 { name="penDvine"; version="0.2.4"; sha256="0znpvsr7zy2wgy7znha1qiajcrz1z6mypi3f5hpims33z7npa7dl"; depends=[doParallel fda foreach lattice latticeExtra Matrix quadprog TSP]; };
   penMSM = derive2 { name="penMSM"; version="0.99"; sha256="1xdcxnagvjdpgnfa5914gb41v5y4lsvh63lbz1d2l8bl9mpff3lm"; depends=[Rcpp]; };
+  penPHcure = derive2 { name="penPHcure"; version="1.0.1"; sha256="0d5sz5027dvjgp4zc9qjlidplldpq4y18rfiq2wxxcrba7xp8yvp"; depends=[MASS Rcpp RcppArmadillo Rdpack survival]; };
   penalized = derive2 { name="penalized"; version="0.9-51"; sha256="1zcrwa93mc27qj3g4ayc2k895r6g8q0g6qb2azmvj7wqk750va7a"; depends=[Rcpp RcppArmadillo survival]; };
   penalizedLDA = derive2 { name="penalizedLDA"; version="1.1"; sha256="1bw5wiixmmg1vr3v0d59vh67f0gy2rvr30bi58skvrkb25qcjq6l"; depends=[flsa]; };
   penalizedSVM = derive2 { name="penalizedSVM"; version="1.1.2"; sha256="03zw95bc6svbnzak9x72s3b8l9gh581mxn2di1fl89gxlh864amd"; depends=[corpcor e1071 lhs MASS mlegp statmod tgp]; };
@@ -11202,7 +11431,7 @@ in with self; {
   perccal = derive2 { name="perccal"; version="1.0"; sha256="1akak068d0g70amj5sbvnqbywzy21l4wz11mhp71b7cp4xmr9n12"; depends=[Rcpp RcppArmadillo RcppEigen]; };
   perccalc = derive2 { name="perccalc"; version="1.0.3"; sha256="0x895b75fjipzv7ff9mz7qpcabm9zys3bjsalk6h2q2350lwjmq1"; depends=[broom dplyr magrittr multcomp purrr tibble tidyr]; };
   perfectphyloR = derive2 { name="perfectphyloR"; version="0.1.3"; sha256="05awwlsams9qc75hxl362scjsfz65kd250a5a545yniljr6wm6zl"; depends=[ape dendextend HHG phytools Rcpp RcppArmadillo]; };
-  performance = derive2 { name="performance"; version="0.3.0"; sha256="13j74ffhx950kacs86ixx84nviq9qlwzr7hjnhkmzw2hspjxq99w"; depends=[bayestestR insight]; };
+  performance = derive2 { name="performance"; version="0.4.0"; sha256="0lxpmp9smn5r3xvfik36nr608wcpmmximjh0v2sckyvjf7hnb4s0"; depends=[bayestestR insight]; };
   performanceEstimation = derive2 { name="performanceEstimation"; version="1.1.0"; sha256="08jx2zl6xh0rp54xa70gb717wbfdzfrx9b47i3b3ly41qaf85vrc"; depends=[dplyr ggplot2 parallelMap tidyr]; };
   pergola = derive2 { name="pergola"; version="1.0"; sha256="1650ipp2b455xdkznwm7bnxvimad7nbyr9i1lg2vdh64j1qfh7gl"; depends=[seriation]; };
   periscope = derive2 { name="periscope"; version="0.4.6"; sha256="0544b525nbq26sr5zwxgvcw9mpg6v4qgbzjjji5xirzfj0ra1v1h"; depends=[DT ggplot2 logging lubridate openxlsx shiny shinyBS shinydashboard]; };
@@ -11213,12 +11442,12 @@ in with self; {
   permPATH = derive2 { name="permPATH"; version="1.1"; sha256="06h1lqpmkg4ajjh4r837qp094h105n4mpvafnp2nsbv9yyayd4h8"; depends=[R2HTML xtable]; };
   permubiome = derive2 { name="permubiome"; version="1.2"; sha256="0np10qhj5rl2gjmq5sfnpaqymmr0wag2b8fwyzndjflvypfmcsyp"; depends=[ggplot2]; };
   permuco = derive2 { name="permuco"; version="1.0.2"; sha256="0mms11j2x3rw7c9pq2pb2wvcvx0a14p20clysa2b081xgmzx3971"; depends=[Matrix permute]; };
-  permutations = derive2 { name="permutations"; version="1.0-4"; sha256="1i40impzc6vd3zbrhw8jflsafp8brc60hl2vswn6a8qan4k8p2jn"; depends=[magic numbers partitions]; };
+  permutations = derive2 { name="permutations"; version="1.0-5"; sha256="0891yqrj45fn11762d4an3bri8ihlxf0102z06mbfdy4hf8582h0"; depends=[magic numbers partitions]; };
   permute = derive2 { name="permute"; version="0.9-5"; sha256="0ra8p5mf2590azrkas8z2ry7mif77xqxd29n4zgyi5vll225726j"; depends=[]; };
   permutes = derive2 { name="permutes"; version="1.0"; sha256="1lrhlqwv1y2vgklgwp16jw90vmgifnp4rlxw55hhj8gs97agv5y8"; depends=[ggplot2 lmPerm plyr viridis]; };
   perry = derive2 { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
   persiandictionary = derive2 { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
-  personalized = derive2 { name="personalized"; version="0.2.4"; sha256="0yn07mxngyx0vnxn47h6pnfn1g9rp5kd30yd4hcsrw03hvbdsb35"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
+  personalized = derive2 { name="personalized"; version="0.2.5"; sha256="073mi3g0khba1s8wz01h1xc0zxq0yr05nflf15nss2rv7lh2qazb"; depends=[foreach gbm ggplot2 glmnet kernlab mgcv plotly survival]; };
   personograph = derive2 { name="personograph"; version="0.1.3"; sha256="07lrlbw4222l1d5rwn0hfqliyk8sqjf6ipz4n2zwcbk113bb8sy7"; depends=[grImport]; };
   perspectev = derive2 { name="perspectev"; version="1.1"; sha256="175s1nq5z4gfs5qb39lq230g6n0v8fxzs5hr9j2rgx0knpbjfq03"; depends=[ape boot doParallel foreach ggplot2 mapproj sp]; };
   perturb = derive2 { name="perturb"; version="2.10"; sha256="07c84x67hzyr70zkmd00f4gxqzcrpizc7w7h2hs22xy6p719a5i2"; depends=[gdata]; };
@@ -11248,6 +11477,7 @@ in with self; {
   phantom = derive2 { name="phantom"; version="0.1.3"; sha256="0kgw65jziw5s03isq5ywmqijhkbik5i84k30hx5gbi0zzgj8y0h1"; depends=[gplots MASS NMF qusage RColorBrewer Rcpp RcppArmadillo]; };
   phase1PRMD = derive2 { name="phase1PRMD"; version="1.0.1"; sha256="1gg11rvs5zqza66f7r7sw7g3w8nzi3il1883wpwzqhp58hsphjdw"; depends=[arrayhelpers coda dplyr ggplot2 gridExtra kableExtra knitr MASS phase1RMD plyr RColorBrewer reshape2 rjags]; };
   phase1RMD = derive2 { name="phase1RMD"; version="1.0.8"; sha256="1wvlajsqb8y8f30asq1lyk87kmakh2risnky98g5gday765y90qa"; depends=[arrayhelpers boot coda ggplot2 mvtnorm rjags]; };
+  phaseR = derive2 { name="phaseR"; version="2.1.3"; sha256="1xqh6k8zl0jc2srklb8vg57f88kssm80b286asg2cawanj06qs2k"; depends=[deSolve]; };
   phateR = derive2 { name="phateR"; version="0.4.1"; sha256="13vqrxbshk62wk4myhwyp4a7k6i9synknvmfah3l1pg2b3b3dqmj"; depends=[ggplot2 Matrix reticulate]; };
   phd = derive2 { name="phd"; version="0.1"; sha256="1scwan3pkhdl0nyhpjrkcal1f58x0jkdkhixdcxppr1363r1v22a"; depends=[glmnet]; };
   pheatmap = derive2 { name="pheatmap"; version="1.0.12"; sha256="1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"; depends=[gtable RColorBrewer scales]; };
@@ -11284,19 +11514,19 @@ in with self; {
   photobiologyWavebands = derive2 { name="photobiologyWavebands"; version="0.4.3"; sha256="04nc3yhd97k2pb1jv2bgda8mii4y4ph1884wagw8y3lc0g4dkicv"; depends=[photobiology]; };
   photosynthesis = derive2 { name="photosynthesis"; version="1.0.0"; sha256="089b42s4277j6pmxa3jsg0bcrilqanp7dblnz6hlmgprqcbmlhwb"; depends=[crayon dplyr furrr future glue gunit magrittr purrr rlang stringr tealeaves tidyr tidyselect units]; };
   phrasemachine = derive2 { name="phrasemachine"; version="1.1.2"; sha256="1145c8ymarhbza8253rw4ybnq0k5pcckqxpdcr8s2y23pj182r1p"; depends=[NLP openNLP stringr]; };
-  phreeqc = derive2 { name="phreeqc"; version="3.4.10"; sha256="1gmi81dical39ph1yf7n0pkhgbaf7p5xhv2cg3n15j1vpr8gwikl"; depends=[]; };
+  phreeqc = derive2 { name="phreeqc"; version="3.6.0"; sha256="17dv4c94y7z5yaqx1g8llbmwpg15pkkixkhmi5knyyvi2fd23vkl"; depends=[]; };
   phtt = derive2 { name="phtt"; version="3.1.2"; sha256="1fvvx5jilq5dlgh3qlfsjxr8jizy4k34a1g3lknfkmvn713ycp7v"; depends=[pspline]; };
   phuassess = derive2 { name="phuassess"; version="1.1"; sha256="0jplj9gih32dllx2hw5aqvc9b94sbrbv66s3a5r8mdbpjh93rhng"; depends=[]; };
-  phuse = derive2 { name="phuse"; version="0.1.8"; sha256="1ppinprmanpkhvf9apmjzsqc1q26m0mmgxl97iqqnrpk8cpln54d"; depends=[git2r httr jsonlite RCurl rlist shiny stringr yaml]; };
+  phuse = derive2 { name="phuse"; version="0.2.0"; sha256="0zbkh7j3i87c77k9z959gq676qn3aqnsx8lvm7jg99yl9p7i5znm"; depends=[git2r httr jsonlite RCurl rlist SASxport shiny stringr yaml]; };
   phybreak = derive2 { name="phybreak"; version="0.2.0"; sha256="0vapc0w308wv1cd72p2xbj3q7jfnxwp08g5g8855a38pcn3njbfg"; depends=[ape phangorn Rcpp stringr]; };
-  phyclust = derive2 { name="phyclust"; version="0.1-26"; sha256="1zapp8252przxlbi9knx9qvv8vc1cm3ywf65m07j9n2cdl31iqbw"; depends=[ape]; };
+  phyclust = derive2 { name="phyclust"; version="0.1-27"; sha256="0pcid1vf3cb9ly0kx2a5jgdlns5chx51zkgnfj33z30h50fs2n02"; depends=[ape]; };
   phyext2 = derive2 { name="phyext2"; version="0.0.4"; sha256="0j871kgqm9fll0vdgh071z77ib51y8pxxm0ssjszljvvpx1mb8rb"; depends=[ape phylobase]; };
-  phylin = derive2 { name="phylin"; version="2.0"; sha256="1j7v79ga6d4ysfmsh8na4s6mgs04wi4c89l5kxvwaqvj8ic0jlpn"; depends=[]; };
+  phylin = derive2 { name="phylin"; version="2.0.1"; sha256="0gmvr9zcaxb49gfjg3bq0izmw18hhganv1hnzjg257ar2xr5hbgn"; depends=[]; };
   phyloTop = derive2 { name="phyloTop"; version="2.1.1"; sha256="1n44kr3a9yg8yvy3m493zi04x6aiqm424fp2ls9yzyx1cga2h9nk"; depends=[ape igraph NHPoisson phylobase]; };
   phylobase = derive2 { name="phylobase"; version="0.8.6"; sha256="1n9g69llrh8xfmrnxh78rr09cxy5qbc99dr3amg121pl1qhpn4g7"; depends=[ade4 ape Rcpp rncl RNeXML]; };
   phylocanvas = derive2 { name="phylocanvas"; version="0.1.3"; sha256="1l5br500lwwf7vp8wph5ykpkpqd15lypvhzy0c1cc8g8c6f7pckn"; depends=[ape htmlwidgets phylobase]; };
   phyloclim = derive2 { name="phyloclim"; version="0.9.5"; sha256="107kilh0gwr84ig54g92zyk7zv553pky2bzpjqgf9fjwbm6fvmrs"; depends=[ape raster sp]; };
-  phylocomr = derive2 { name="phylocomr"; version="0.1.4"; sha256="1jaznba7mmizkx7xipxr9l89j6cmpq7rrsg9jjl4wi8sdv2s7fcc"; depends=[sys tibble]; };
+  phylocomr = derive2 { name="phylocomr"; version="0.3.0"; sha256="0w02r7nwnal22gqrs53fbmhbzs10237yghhmm20fh6va0cfh1j36"; depends=[sys tibble]; };
   phylocurve = derive2 { name="phylocurve"; version="2.0.9"; sha256="1d01nwfpyh61r00dq6cnhxdwzk81jr3l6aa51dl1wck4cy0frscp"; depends=[ape doParallel drc dtw foreach geiger geomorph GPfit Matrix mvnmle phylolm phytools Rcpp RcppArmadillo rgl]; };
   phylogram = derive2 { name="phylogram"; version="2.1.0"; sha256="1p4h5pirc0m5pzc18q0jk3mcmb5n48gdf9abz03vml3a209xxl2v"; depends=[ape]; };
   phyloland = derive2 { name="phyloland"; version="1.3"; sha256="10g40m6n2s4qvnzlqcwpy3k0j7bxdp79f586jj910b8p00ymrksp"; depends=[ape]; };
@@ -11305,10 +11535,11 @@ in with self; {
   phylopath = derive2 { name="phylopath"; version="1.1.1"; sha256="02wx4hav2p81hpzyd2k589h7d56ziki7gmk16bi28c6z49pn2cfx"; depends=[ape ggm ggplot2 ggraph igraph MuMIn pbapply phylolm purrr tibble]; };
   phyloseqGraphTest = derive2 { name="phyloseqGraphTest"; version="0.0.2"; sha256="1xgv2kf7j3ia5vk10r7w9588rfv7asdaf8f3yxwp5q7aqn3krm6q"; depends=[ggnetwork ggplot2 igraph intergraph phyloseq]; };
   phylosignal = derive2 { name="phylosignal"; version="1.2.1"; sha256="10ds4vn5rw3nrgvsg2n0b53bivy54p5j7fmnqn81alzz9irgrkcs"; depends=[adephylo ape boot DBI igraph phylobase Rcpp RcppArmadillo]; };
-  phylosim = derive2 { name="phylosim"; version="3.0.4"; sha256="08ajpb3gjglgx2s4jqbpgpcm01hz4p9c3wacfmq0wl1l7sjgsnrs"; depends=[ape compoisson ggplot2 R_methodsS3 R_oo]; };
+  phylosim = derive2 { name="phylosim"; version="3.0.5"; sha256="07adqgkxng0jj51nhwlsxxnd0bdxrk54lvj1fs53yxy236q6xwkf"; depends=[ape compoisson ggplot2 R_methodsS3 R_oo]; };
   phylotaR = derive2 { name="phylotaR"; version="1.0.0"; sha256="0plxc3l9fxxj9mfnhnpp5wrxyvxm292fxrwx2g8xysasmjb301v9"; depends=[ggplot2 igraph R_utils rentrez sys treeman treemapify XML]; };
   phylotate = derive2 { name="phylotate"; version="1.3"; sha256="092kvn32j06vm8ilwjkgidcz11r3qhsmi0cb0g0nnykw0a0vii4p"; depends=[]; };
   phylotools = derive2 { name="phylotools"; version="0.2.2"; sha256="1dhk1ncp5zi4zl1xfnjz64v983dm7bq7iimfjin80j0bdcpps44w"; depends=[ape]; };
+  phyr = derive2 { name="phyr"; version="1.0.2"; sha256="1qk4mbchi5dcz6vsmwb93gj5ihp2ygvm1ya63mkw11vkyy2nv67c"; depends=[ape dplyr gridExtra latticeExtra lme4 Matrix mvtnorm nloptr Rcpp RcppArmadillo]; };
   phyreg = derive2 { name="phyreg"; version="1.0.2"; sha256="0m1psq79zl7h8791pl8g6i0ybda7vgddza8r9mwqhg4sw1q4bzcp"; depends=[]; };
   physiology = derive2 { name="physiology"; version="1.2.1"; sha256="1z7xymwgj7bqn0yvcz3q8pvwhpr5vx5qd0x8sayal1vgpqc0nccb"; depends=[Rcpp]; };
   phytools = derive2 { name="phytools"; version="0.6-99"; sha256="03rrcx2r8sbf6510xdd0259p02apy2z84ifk7f076pvwlz5k5x9f"; depends=[animation ape clusterGeneration coda combinat expm gtools maps MASS mnormt nlme numDeriv phangorn plotrix scatterplot3d]; };
@@ -11316,7 +11547,7 @@ in with self; {
   picante = derive2 { name="picante"; version="1.8"; sha256="1bcq2j7fs89c2jib68qq6la67rxyg9raryf162mwvjakpf6k19l1"; depends=[ape nlme vegan]; };
   picasso = derive2 { name="picasso"; version="1.3.1"; sha256="1z7zm88wjp7fia7054l7i55f152iddrjj9wbcpcskhc8s6kfg53c"; depends=[MASS Matrix]; };
   pid = derive2 { name="pid"; version="0.50"; sha256="05s3xqf95d4avh7gkr49jsm8jzacbv694c3wgppkkc40zip6vkc7"; depends=[DoE_base FrF2 FrF2_catlg128 ggplot2 png]; };
-  piecepackr = derive2 { name="piecepackr"; version="1.0.2"; sha256="108nq35xgbwzhab900pn2dqdqhxycqiigf5cvliswpxx0zddp0n7"; depends=[grImport2 purrr R6 stringr tibble]; };
+  piecepackr = derive2 { name="piecepackr"; version="1.1.1"; sha256="1s5qkawjsqv0nz1ixk87nlr6sg1jxc3jf8sxfphl4bgvhkyx0f5j"; depends=[grImport2 purrr R6 stringr tibble]; };
   piecewiseSEM = derive2 { name="piecewiseSEM"; version="2.0.2"; sha256="07vz90cghkbmcar9ps94wydvg4r7mj32pa7vjdmgm5j8dhxq8max"; depends=[car lme4 MASS nlme pbkrtest]; };
   pifpaf = derive2 { name="pifpaf"; version="1.0.1"; sha256="0wj1fbhd871fnw7fjlbh0gdjz848mbwl1bzjp3cgmh9s7jnd2kci"; depends=[ggplot2 gridExtra MASS matrixcalc numDeriv sfsmisc]; };
   piggyback = derive2 { name="piggyback"; version="0.0.10"; sha256="08d7jxw7mvfyhjbr8zy95p952j2p94ii6zq38b8xw96g6k1380bz"; depends=[clisymbols crayon fs gh git2r httr jsonlite lubridate magrittr memoise usethis]; };
@@ -11326,12 +11557,12 @@ in with self; {
   pinbasic = derive2 { name="pinbasic"; version="1.2.2"; sha256="0mcw68wrixz2jf62nfifdgg8bnp4h1p3byivz28wi61blj8iaa75"; depends=[fastcluster ggplot2 lubridate Rcpp reshape2 scales]; };
   pinfsc50 = derive2 { name="pinfsc50"; version="1.1.0"; sha256="1fja8xdqwsm4g223wmb2yg5fqmsg94hchzjd4qrqah1zb8vbdfdn"; depends=[]; };
   pingers = derive2 { name="pingers"; version="0.1.1"; sha256="09np6aph6rhvdh6mwky8a57i38bi2amwi7x91p9kfb2mzkql8k8w"; depends=[data_table dplyr lubridate plotly reshape2 stringr tibble tictoc tidyselect]; };
-  pingr = derive2 { name="pingr"; version="1.1.2"; sha256="17fh2gjlmwy6wy8i24q76fivjig8jm05g9kvfz81q0h6b5zxnpmg"; depends=[]; };
+  pingr = derive2 { name="pingr"; version="2.0.0"; sha256="0fyzm8hlksqyzp1mrb5b10qprnqd9jhk8lsdyb4j4h4ap94wwzb7"; depends=[processx]; };
   pinnacle_API = derive2 { name="pinnacle.API"; version="2.3.3"; sha256="1b6adns1xr3cgcj2mdjvl16cm2vjjgsj2l8m2c47plyc5jh05qmb"; depends=[data_table httr jsonlite magrittr openssl purrr rjson uuid]; };
   pinnacle_data = derive2 { name="pinnacle.data"; version="0.1.4"; sha256="1sl36i2857b3xwx7iwgy8mkgjvz7nfa74ch1n8kcxbj59ib7mp8p"; depends=[tibble]; };
   pinochet = derive2 { name="pinochet"; version="0.1.0"; sha256="0qy18mlw34cv9p7b3qb5bidxyq44k0hzj91hm5vp6wkjhik4knvi"; depends=[]; };
   pinp = derive2 { name="pinp"; version="0.0.9"; sha256="1hdj0mqwz0hwl6jsh5zknbgg10bj49giqnr4y3lavfbk8d7qmmvs"; depends=[knitr rmarkdown]; };
-  pins = derive2 { name="pins"; version="0.2.0"; sha256="07mjrpfd4mvczlfg4dhradacirlrf8lq9mhrfjf71v2vlhzv54da"; depends=[base64enc httr jsonlite magrittr openssl rappdirs withr yaml zip]; };
+  pins = derive2 { name="pins"; version="0.3.0"; sha256="17hzp8rcif85bc4svazwhyv434aqilzm7ir019l8y7bwhsfnbilw"; depends=[base64enc crayon httr jsonlite magrittr mime openssl rappdirs withr yaml zip]; };
   pinyin = derive2 { name="pinyin"; version="1.1.6"; sha256="0rw9qd5hbcmpi30vdqs31ijy37d8jlpqv0xif2nndb8cwj8x5bw2"; depends=[data_table splitstackshape]; };
   pipe_design = derive2 { name="pipe.design"; version="0.5.1"; sha256="0r0szkdzifxmnnbr6675w8ij4zwqgxj3gwahc7a74mxr51f7qh8j"; depends=[ggplot2 gtools xtable]; };
   pipeGS = derive2 { name="pipeGS"; version="0.4"; sha256="0ki4i70r5f195b4jfv3hxlxz3zj57mhy2yf4984bwr11impilz5w"; depends=[]; };
@@ -11344,21 +11575,22 @@ in with self; {
   piton = derive2 { name="piton"; version="0.1.1"; sha256="1265y4lv2m5nwrh25sahjkxwmivpxgh9shrdidlmaman7zs6cclr"; depends=[Rcpp]; };
   pivmet = derive2 { name="pivmet"; version="0.2.0"; sha256="0xcm0pb5qn2vikhnf7fnp6942syq0xax7fgwmspixa6la5bdkksg"; depends=[bayesmix cluster corpcor MASS mclust mvtnorm RcmdrMisc rjags rstan runjags]; };
   pivotaltrackR = derive2 { name="pivotaltrackR"; version="0.1.0"; sha256="024srncm288mn3bz6hv7ljzkchmnljk4yc2d4z7i05vsn7dzd2c6"; depends=[curl httr]; };
-  pivottabler = derive2 { name="pivottabler"; version="1.2.2"; sha256="1j74jd48xh2x3jzgi5v45g4lg8xp7fwqw0pkhx1c0dhdp4d1wf02"; depends=[data_table dplyr htmltools htmlwidgets jsonlite R6]; };
+  pivottabler = derive2 { name="pivottabler"; version="1.2.3"; sha256="08aapjisah7q0lyw70cfiqkyic633z8cfiq760nnngh88cp1hkc7"; depends=[data_table dplyr htmltools htmlwidgets jsonlite R6]; };
   pixels = derive2 { name="pixels"; version="0.1.0"; sha256="0lna0z2shs49kh48ipjnyigaa22wb9gm4mq970ldhh9msb7wcv55"; depends=[htmlwidgets miniUI shiny]; };
   pixiedust = derive2 { name="pixiedust"; version="0.8.6"; sha256="1dajiblpm51szndz026lmwh6swx8f9f03s6md26d84awcx0q1dpc"; depends=[broom checkmate dplyr htmltools knitr labelVector magrittr scales tidyr]; };
   pixmap = derive2 { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
-  pkgKitten = derive2 { name="pkgKitten"; version="0.1.4"; sha256="0c44zrvpyz87s5mjhsqdrkyrvyzhyldnq371bwnn9crbpbac3wnd"; depends=[]; };
-  pkgbuild = derive2 { name="pkgbuild"; version="1.0.5"; sha256="0y4i85axwajrk67h3w6fiqfm6wxmhn3dr240w5l2nvqg3ahpxc8q"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
+  pkgKitten = derive2 { name="pkgKitten"; version="0.1.5"; sha256="0nnib0gv9g22b9p01xigsgj04jv29fv7f444invfphfh9cc866m4"; depends=[]; };
+  pkgbuild = derive2 { name="pkgbuild"; version="1.0.6"; sha256="0xnlz6ivhkbmncg9hfw5p69lm4rjy3wn5lyxmygxyf4rrfnnqwxx"; depends=[callr cli crayon desc prettyunits R6 rprojroot withr]; };
   pkgcache = derive2 { name="pkgcache"; version="1.0.5"; sha256="0d0w3gqw3429dwmfc9804f9pl71l14phh03ppk2q5q1kyp49xw92"; depends=[assertthat cli cliapp crayon curl digest filelock glue prettyunits R6 rappdirs rematch2 rlang tibble uuid withr]; };
   pkgcond = derive2 { name="pkgcond"; version="0.1.0"; sha256="0pxj798042g23cf19r67nbgdyhpd868n2pkqjvjgrgr8ivwnkf1h"; depends=[]; };
   pkgconfig = derive2 { name="pkgconfig"; version="2.0.3"; sha256="0l1qph8zyi2sic3k2qcd7vlfl7rzfh1q7z7zvjkl5f7y1x2fy3rk"; depends=[]; };
   pkgdown = derive2 { name="pkgdown"; version="1.4.1"; sha256="1y0mnsiq05snzschh2y5a0y1wrwh79c4jclsljjyflibbffhxxcf"; depends=[callr cli crayon desc digest evaluate fansi fs highlight httr magrittr MASS memoise openssl processx purrr rematch2 rlang rmarkdown rstudioapi tibble whisker withr xml2 yaml]; };
+  pkgfilecache = derive2 { name="pkgfilecache"; version="0.1.2"; sha256="07x63w19fg7sl547501r2dx2ds5sfdfb29xvqrvjibf8265x25fw"; depends=[downloader rappdirs]; };
   pkggraph = derive2 { name="pkggraph"; version="0.2.3"; sha256="1isiywgm20rypc5qr03p0k7lis76zzd96x5ncbvia644d2n13brm"; depends=[curl data_table dplyr ggnetwork ggplot2 htmltools igraph intergraph Matrix network networkD3 plyr RColorBrewer tibble]; };
   pkgload = derive2 { name="pkgload"; version="1.0.2"; sha256="0z7jvharafahi2gv5547mk1n499isjzw06kfwymmxc0gd575d1ii"; depends=[desc pkgbuild rlang rprojroot rstudioapi withr]; };
   pkgmaker = derive2 { name="pkgmaker"; version="0.27"; sha256="0spcamjncj78kzjps2rw4v1a4494yazv6xvhn0vmdflnypc8k8hp"; depends=[bibtex codetools digest magrittr registry stringi stringr withr xtable]; };
   pkgnet = derive2 { name="pkgnet"; version="0.4.0"; sha256="0da139p57xvy2v5ld3mnddgak59zjr58ndnbgg3y8msni80g52gq"; depends=[assertthat covr data_table DT futile_logger glue igraph knitr magrittr R6 rlang rmarkdown visNetwork]; };
-  pkgsearch = derive2 { name="pkgsearch"; version="2.0.1"; sha256="00wi4lym0zjb29qdalgwlbcdxi4k39pxxm6a2qhllfcbgc099mlb"; depends=[httr jsonlite magrittr parsedate prettyunits]; };
+  pkgsearch = derive2 { name="pkgsearch"; version="3.0.1"; sha256="0gkc8dnsfp6df8y1s09m52faz069vsv7kgpkjw1w2fw93nl1354f"; depends=[assertthat httr jsonlite parsedate prettyunits tibble]; };
   pkgverse = derive2 { name="pkgverse"; version="0.0.1"; sha256="0lsv7s9vsjvfpy19nxbdlbm363j01wwqqnrp0nlrik590hfq4w83"; depends=[devtools usethis]; };
   pkmon = derive2 { name="pkmon"; version="1.0"; sha256="0j2v4zlf7vgy5gld29xiii15m9i85cpiwc25rmzjm02cz2p32c72"; depends=[]; };
   pkr = derive2 { name="pkr"; version="0.1.2"; sha256="0m045dlcq3rls1w0smy4jvk3c57ckpqdv8xnz261k1gnnyjmz1k2"; depends=[binr foreign forestplot rtf]; };
@@ -11384,9 +11616,8 @@ in with self; {
   plfMA = derive2 { name="plfMA"; version="1.0.4"; sha256="0q6wiiknmgw812kcf9qq309zlizyry7ldn6m08lkw6xq6i4f4s85"; depends=[cairoDevice gWidgets gWidgetsRGtk2 limma RGtk2]; };
   plfm = derive2 { name="plfm"; version="2.2.2"; sha256="1jgf3jrkdpsf77i4lf68s6sxax95c9is4nryhnzanq9i5f23j24v"; depends=[abind sfsmisc]; };
   plgp = derive2 { name="plgp"; version="1.1-7"; sha256="02g6saabrsd8pra0szbwcbilf6w5ywg2gxqb5zdvbxds2vw36hn0"; depends=[mvtnorm tgp]; };
-  pliable = derive2 { name="pliable"; version="1.1"; sha256="0z1hm4k0q3dgwgd1dy6wl0ydsqzygmn85m6yimffzqvnlmrq3vjg"; depends=[class glmnet]; };
   plink = derive2 { name="plink"; version="1.5-1"; sha256="0rn2i9i8af9aq0xgxhpcdchs2952lq2d2sg8x3js0zi3vcml76k0"; depends=[lattice MASS statmod]; };
-  plinkQC = derive2 { name="plinkQC"; version="0.2.3"; sha256="1xjwa5zc69m4p9x4vx0fi5xi8zhwv1a5b4l3b1z3l3vw800ngjjq"; depends=[cowplot data_table dplyr ggforce ggplot2 ggrepel igraph optparse R_utils sys UpSetR]; };
+  plinkQC = derive2 { name="plinkQC"; version="0.3.0"; sha256="1s458cg4y1zisjk3var3fnm1q54hfbl228i9qdxgzkkrhzc9mghw"; depends=[cowplot data_table dplyr ggforce ggplot2 ggrepel igraph optparse R_utils sys UpSetR]; };
   plm = derive2 { name="plm"; version="2.2-0"; sha256="0sn8a3f5xaa1c98br454c6h5jfba7s3jscl61km1gm47qcr8a0vz"; depends=[bdsmatrix Formula lattice lmtest MASS maxLik nlme Rdpack sandwich zoo]; };
   plmm = derive2 { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[Formula nlme sm]; };
   pln = derive2 { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
@@ -11397,18 +11628,18 @@ in with self; {
   plot3logit = derive2 { name="plot3logit"; version="1.0.2"; sha256="0pgqlq8rpkrv277d1mfy2z22mkykc5zmhvkg07wsz3hdxr0ifx80"; depends=[ellipse ggplot2 ggtern magrittr reshape2 Ternary]; };
   plotGMM = derive2 { name="plotGMM"; version="0.2.1"; sha256="1gp99gvb886kcwjk9yvfd7s6mgy3jf3x0zhpaj9zp0fky12ivz7b"; depends=[amerika ggplot2 wesanderson]; };
   plotGoogleMaps = derive2 { name="plotGoogleMaps"; version="2.2"; sha256="0qv57k46ncg0wrgma0sbr3xf0j9j8cii3ppk3gs65ardghs3bf6b"; depends=[lattice maptools raster rgdal sp spacetime]; };
-  plotKML = derive2 { name="plotKML"; version="0.5-9"; sha256="08pbpa3j4m4vngl902z7hr1p7yjimhxmajx7lw45p226x654x6xr"; depends=[aqp classInt colorRamps colorspace dismo gstat pixmap plotrix plyr raster RColorBrewer rgdal RSAGA scales sp spacetime stringr XML zoo]; };
+  plotKML = derive2 { name="plotKML"; version="0.6-0"; sha256="18c2lwdlxbzlfhlf0bip825v2mfrnqd9gg30l967zv112j7x0hrf"; depends=[aqp classInt colorRamps colorspace dismo gstat pixmap plotrix plyr raster RColorBrewer rgdal RSAGA scales sp spacetime stringr XML zoo]; };
   plotMCMC = derive2 { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; };
   plotMElm = derive2 { name="plotMElm"; version="0.1.5"; sha256="0wwqzrpkmq9gzazdzlk62qig6vz43niada6fxh1wcsjqjwkcccgp"; depends=[ggplot2 interactionTest]; };
   plotROC = derive2 { name="plotROC"; version="2.2.1"; sha256="0bk8j2lp80zcz4kkig1y5a1ig8vbjh7b4inzc46bn07ns1rdjgzg"; depends=[ggplot2 gridSVG plyr rlang shiny]; };
   plotSEMM = derive2 { name="plotSEMM"; version="2.4"; sha256="0fircrayhz92zvkigkyb1zpn07bvssqs1ip15p926zj3rl77fqgy"; depends=[MplusAutomation plotrix plyr Rcpp shiny]; };
-  plotdap = derive2 { name="plotdap"; version="0.0.3"; sha256="0ymgbg24k1v853jfd621swhh4g8i77sywbxjzm7pjqcg7wrb1z44"; depends=[dplyr gganimate ggplot2 lazyeval lubridate magrittr maps maptools raster rerddap rgdal rgeos scales sf tidyr]; };
+  plotdap = derive2 { name="plotdap"; version="0.0.4"; sha256="1lal5vqy7s9g5wj39d5d5kw8lzpl9gvq0p2wig8s1w3m7cb2ignx"; depends=[dplyr gganimate ggplot2 lazyeval lubridate magrittr maps raster rerddap rgeos scales sf tidyr]; };
   plotfunctions = derive2 { name="plotfunctions"; version="1.3"; sha256="0cnmwkfjg45187j490sf01gxijhajrpi6j13hfckli2ysn6xrgz3"; depends=[]; };
-  plothelper = derive2 { name="plothelper"; version="0.1.4"; sha256="0qmzbks70rjhkih0g2xvwd4zsfykxh0i18l61phz77zz71w4nbr1"; depends=[ggfittext ggplot2 gridExtra magick plyr scales]; };
+  plothelper = derive2 { name="plothelper"; version="0.1.5"; sha256="1bvk45cfajcjwr4b4ajw33xk5p9hwqw833n05vxhhgrwnmsla2ag"; depends=[ggfittext ggplot2 gridExtra magick plyr scales]; };
   plotluck = derive2 { name="plotluck"; version="1.1.1"; sha256="16wqj4xfa8b7kal6v8mp2zlhwf9l3y6y5n44qbpvy652gzb2rw2z"; depends=[ggplot2 hexbin Hmisc plyr quantreg RColorBrewer scales]; };
-  plotly = derive2 { name="plotly"; version="4.9.0"; sha256="1kz2hm7vnkn4clxr6yyxxnmdmkz9zwjq6bzysw7j27r3721i8qgp"; depends=[base64enc crosstalk data_table digest dplyr ggplot2 hexbin htmltools htmlwidgets httr jsonlite lazyeval magrittr promises purrr RColorBrewer rlang scales tibble tidyr viridisLite]; };
+  plotly = derive2 { name="plotly"; version="4.9.1"; sha256="0gadam4qw81q9gpjp7sqrpd7ikmcdsc78d8vjn39g0xzs5j8r845"; depends=[base64enc crosstalk data_table digest dplyr ggplot2 hexbin htmltools htmlwidgets httr jsonlite lazyeval magrittr promises purrr RColorBrewer rlang scales tibble tidyr viridisLite]; };
   plotlyGeoAssets = derive2 { name="plotlyGeoAssets"; version="0.0.2"; sha256="1c6i4dz5qmym1pcddgffcqgb76jz84252xldprg2caylrqvzv6b7"; depends=[]; };
-  plotmo = derive2 { name="plotmo"; version="3.5.5"; sha256="0wdpdik6kn21pf3fmb0qxm9pwsh3l59wgsd8a1789mfvi2a7f37f"; depends=[Formula plotrix TeachingDemos]; };
+  plotmo = derive2 { name="plotmo"; version="3.5.6"; sha256="15555b7y62sc0z3r41gb56fmc6rmj1icnanyibx22v8kjz48vw3q"; depends=[Formula plotrix TeachingDemos]; };
   plotpc = derive2 { name="plotpc"; version="1.0.4"; sha256="1sf7n7mfyaijldm24bc8r8pfm8pp9cyaja7am14z2wpj2j9f9vyq"; depends=[]; };
   plotprotein = derive2 { name="plotprotein"; version="1.0"; sha256="14kfb4xxpfp8klz31kb7cpc39636ax2cx2483vqqkciccb28f0ks"; depends=[ade4 plotrix plyr seqinr XML]; };
   plotrix = derive2 { name="plotrix"; version="3.7-6"; sha256="0ijfjlr7ls5hvfyzdmwab6bx0w3nvp0c8fgynj4355cj8mbzgmc3"; depends=[]; };
@@ -11423,7 +11654,7 @@ in with self; {
   plsdepot = derive2 { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
   plsdof = derive2 { name="plsdof"; version="0.2-9"; sha256="1g41nbycgzjwrackbdf08q1phqpyy6zihm5ak2728683vd88fxzv"; depends=[MASS]; };
   plsgenomics = derive2 { name="plsgenomics"; version="1.5-2"; sha256="1pvb50nv6jc99bm2hsxpzazg26y49yi24wwwim5xcjj6j1szbip4"; depends=[boot fields MASS plyr reshape2 RhpcBLASctl]; };
-  plsmselect = derive2 { name="plsmselect"; version="0.1.3"; sha256="0j5g0hlm2zk02ygp0692b3721xdhdy7lf8pmwbfq5dkrxq805jhj"; depends=[dplyr glmnet mgcv survival]; };
+  plsmselect = derive2 { name="plsmselect"; version="0.2.0"; sha256="044mwdqv5vw0apmx3yhn6xkdmw6baalvb8c6hhmawcs279kwi1m9"; depends=[dplyr glmnet mgcv survival]; };
   plspm = derive2 { name="plspm"; version="0.4.9"; sha256="03aj1ffq11hh931dbkxy9ba74xyvzmr1ylrj4fw1rbryrwqg89v6"; depends=[amap diagram shape tester turner]; };
   plspm_formula = derive2 { name="plspm.formula"; version="1.0.1"; sha256="1i2d1q8pz21js1ci8afnqzcky430hh1iwf5f6jr3j9yr9gs365k5"; depends=[plspm]; };
   plsr = derive2 { name="plsr"; version="0.0.1"; sha256="0l413m49zjpb35v0zw8dlxn53nh7fghinbmwfmldl3jgdvay2s7x"; depends=[boot ggplot2 reshape2 shiny]; };
@@ -11444,11 +11675,11 @@ in with self; {
   pmhtutorial = derive2 { name="pmhtutorial"; version="1.5"; sha256="1hcw8hwpsivbhz86lnzy08q9n8vahnq8f7rmi4xkmg6b44582cqx"; depends=[mvtnorm Quandl]; };
   pmml = derive2 { name="pmml"; version="2.1.0"; sha256="0vcfwc4gwc2cgf1v2008wf3mkbw77vq5dqziw13ivir49qnzjf2g"; depends=[stringr XML]; };
   pmmlTransformations = derive2 { name="pmmlTransformations"; version="1.3.3"; sha256="0315kb5x04pidpzr04yaxyynp0mz4ilzp7vkspq4agjkds5hyc88"; depends=[]; };
-  pmpp = derive2 { name="pmpp"; version="0.1.0"; sha256="1vmv7aav0rvp7kd5f16ym422ygw1wpnwrhmmp2w1c2fl8i263zh9"; depends=[data_table dplyr ggplot2 magrittr MASS Matrix minqa moments plm pracma]; };
+  pmpp = derive2 { name="pmpp"; version="0.1.1"; sha256="1srmkih6zsyf8yf1f045xy1afcz0if6nf1ncslgrq6rgm7330lkw"; depends=[data_table dplyr ggplot2 magrittr MASS Matrix minqa moments plm pracma]; };
   pmr = derive2 { name="pmr"; version="1.2.5"; sha256="0dq97dfjmgxlhr3a2n20vyyzfmamcicw878hdxpw31lw02xs6yls"; depends=[]; };
-  pmsampsize = derive2 { name="pmsampsize"; version="1.0.1"; sha256="1463pw28f09f9yvn4lhlsiz1cv017i693i73rvlq94qb3fzar5yw"; depends=[]; };
+  pmsampsize = derive2 { name="pmsampsize"; version="1.0.2"; sha256="1jb6vpbc3p7xpskjs7cfkird096fl1faczmp3nfawf7pnvf679jg"; depends=[]; };
   pmultinom = derive2 { name="pmultinom"; version="1.0.0"; sha256="0p2amb3y4jl24r21fii1qpmdbn5pfgywrx8k7x1jxpg49rk7k0rp"; depends=[fftw]; };
-  pmxTools = derive2 { name="pmxTools"; version="0.1.1"; sha256="0ryvbrk0f5x6b8rx479ifhk651wzg32zb4kn75dbjgh9q2qnsqhl"; depends=[GGally ggplot2 magrittr MASS PKNCA plyr stringr XML]; };
+  pmxTools = derive2 { name="pmxTools"; version="0.1.3"; sha256="0v1q83hgql2qpkc199m1sf0kwmacda3i06lbs4ws02had3r4nv8s"; depends=[ggplot2 ggrepel gridExtra MASS stringr XML]; };
   png = derive2 { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[]; };
   pnmtrem = derive2 { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
   pnn = derive2 { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
@@ -11473,13 +11704,14 @@ in with self; {
   poker = derive2 { name="poker"; version="0.8.8"; sha256="14ik77440z22k4kwq0p1fn7adzi0p8mh8j8hd7ayinvrab4b5r85"; depends=[]; };
   polidata = derive2 { name="polidata"; version="0.1.0.1"; sha256="0mfjcjhv2prc2xdg9672z1cjxd2wp541hb7lz497cqlig2p6qgb4"; depends=[jsonlite RCurl]; };
   poliscidata = derive2 { name="poliscidata"; version="2.2.3"; sha256="18mmdzf9hrfz36rh1rg1j5q1m131xadppy272y4f4yay0ljafbm2"; depends=[abind car descr ENmisc gplots Hmisc plotrix plyr survey weights xtable]; };
-  politeness = derive2 { name="politeness"; version="0.3.3"; sha256="1v9xm67lgn3bj4cf9x996ymb21l7l15jfarikbs1zf1vxb7qpq21"; depends=[data_table ggplot2 glmnet quanteda spacyr stringr textir tm]; };
+  polite = derive2 { name="polite"; version="0.1.1"; sha256="15hiifaf63hx0xn453lr0xhdnxqifrgyrgrymp0a9k3j7qja59jk"; depends=[here httr magrittr memoise ratelimitr robotstxt rvest usethis]; };
+  politeness = derive2 { name="politeness"; version="0.4.1"; sha256="0jb5s62qbf5904j0990iv4z1zlqmyvci4dbahkd2lzxsz51ykdq3"; depends=[data_table ggplot2 glmnet quanteda spacyr stringr textir tm]; };
   politicaldata = derive2 { name="politicaldata"; version="0.1.3"; sha256="1n25k53mmlmmg9p9a36jh4z6xhl1yyv9v1c56mav873105h359wi"; depends=[]; };
   pollen = derive2 { name="pollen"; version="0.71.0"; sha256="0g0g6n8y87jyk7l4s6xpdk60dz4lkg2xp5c5agakkrah8a233920"; depends=[dplyr lubridate purrr]; };
   pollimetry = derive2 { name="pollimetry"; version="1.0.1"; sha256="09zmcwlgzl4fnkdg2m424ibv3izzrm595c7pi4mc3bd1g8sa2ypn"; depends=[brms repmis]; };
   pollstR = derive2 { name="pollstR"; version="2.0.1"; sha256="13g5z1hix1bmsxznq5qx82yf445rvvyn67ch9bihxm1hr4cr4sbl"; depends=[httr lubridate purrr stringr]; };
   polmineR = derive2 { name="polmineR"; version="0.7.11"; sha256="0vifxnvzh2nvrykpx8y9waps1aqzplvjpxxcfy2z31lyfca646kz"; depends=[data_table DT jsonlite knitr Matrix pbapply R6 RcppCWB slam stringi tm xml2]; };
-  polspline = derive2 { name="polspline"; version="1.1.15"; sha256="19zs4kpagsrzhng1byjbz1c4jxnfk58h4rgr096ml1bjwrgamnwc"; depends=[]; };
+  polspline = derive2 { name="polspline"; version="1.1.17"; sha256="0c7fnxpqpy3hibiim4yib6l6bq363s97wwvllxp4lp8h06fjcyyn"; depends=[]; };
   polyCub = derive2 { name="polyCub"; version="0.7.1"; sha256="0ln1n5w64vgq63gm4mm9wzl9lbp7ppgaxg0ba0yw0xsr5cmkyp37"; depends=[sp]; };
   polyPK = derive2 { name="polyPK"; version="3.1.0"; sha256="0cb83sq8iz4swr73vwhh8n4k62p6321nsy1sz5fba0wiicycxf55"; depends=[circlize corrplot gplots Hmisc impute imputeLCMD mixOmics pcaMethods pkr plyr ropls sqldf xlsx]; };
   polyRAD = derive2 { name="polyRAD"; version="1.1"; sha256="04rhff7yzswilx67ak56vsr4sxfjzhd3d9fihnx2mnyddf1mhamq"; depends=[fastmatch pcaMethods Rcpp]; };
@@ -11500,19 +11732,18 @@ in with self; {
   polywog = derive2 { name="polywog"; version="0.4-1"; sha256="02qk1cyvkd77mwlvhj1zzzi0bmy7qxz29j2v730wp7rz4w7h5x5n"; depends=[foreach Formula glmnet iterators Matrix miscTools ncvreg Rcpp stringr]; };
   pom = derive2 { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
   pomdp = derive2 { name="pomdp"; version="0.9.1-1"; sha256="16vbriv5ssb75qcp6c6gaz796wryf5b4d09vc9i3dd37gdf09d4s"; depends=[igraph]; };
-  pomp = derive2 { name="pomp"; version="2.3"; sha256="0zkb6h2i34p2y4vhhrfwhqcdw0jqps7yafgry7wlpczdfjjdnqh2"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
+  pomp = derive2 { name="pomp"; version="2.4"; sha256="19j8aqsxx54xacw6vd3yva8jznqrycc831zs5f08x9r2q1ld6yjp"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
   pompom = derive2 { name="pompom"; version="0.2.0"; sha256="1alz3lrj7m16vhymsvvrcmf0kmgx88q2f3v4j6wiciqv77bnyai1"; depends=[ggplot2 lavaan qgraph reshape2]; };
   pooh = derive2 { name="pooh"; version="0.3-2"; sha256="0qwa5j91aypasvsf4xcfbl6lz7llawdr38jiflzmfak2ad72rv7j"; depends=[]; };
   pool = derive2 { name="pool"; version="0.1.4.3"; sha256="065pbvhgvvgv00df4kj4zn7mlbrv2iqa1583k0hlgavn15gfm6d2"; depends=[DBI dbplyr dplyr later R6]; };
   poolVIM = derive2 { name="poolVIM"; version="1.0.0"; sha256="19yw6pp5l3jmla4wjbvpjq132f645yks49pzsdv123f3qfr8f0m6"; depends=[EmpiricalBrownsMethod Hmisc ranger]; };
-  poolfstat = derive2 { name="poolfstat"; version="1.1.0"; sha256="126rlvjnssh7s0r637in75wzjyv9f1pb35ivfinib5paw2nx1sy5"; depends=[doParallel foreach]; };
+  poolfstat = derive2 { name="poolfstat"; version="1.1.1"; sha256="12iwhfj1a87mbis7whgp4z3qg97xkj90rw8b9jsqnfmzhz6fn0yp"; depends=[doParallel foreach]; };
   pooling = derive2 { name="pooling"; version="1.1.1"; sha256="0011w80pxz01scj2sa69m1bcfq797hq3ihpw46fdlxsxavz8prwy"; depends=[cubature dplyr dvmisc ggplot2 ggrepel mvtnorm pracma]; };
   pop = derive2 { name="pop"; version="0.1"; sha256="0hbxdrkasb69x7ipddvyrzl5vvc7dd6rzj1vy7v3chg3rzgq89cj"; depends=[igraph MASS]; };
   pop_wolf = derive2 { name="pop.wolf"; version="0.1"; sha256="19n00xv47v9j7slvm2ykzlksjfwjzimf88b3nk0y0192c29sdc9x"; depends=[abind]; };
   popEpi = derive2 { name="popEpi"; version="0.4.8"; sha256="1gc7kyik0209pc8mvl6c69lzb3dnkif0mby4l4pq8zfdz73lmi06"; depends=[data_table Epi survival]; };
   popKorn = derive2 { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
-  popRange = derive2 { name="popRange"; version="1.1.3"; sha256="0kkz6va0p8zv3skaqqcpw42014d9x9x4ilx0czz91qf46h61jgb0"; depends=[findpython]; };
-  popReconstruct = derive2 { name="popReconstruct"; version="1.0-5"; sha256="0fvrjb3b3bahi5da0ikzv164p49zvgm43mskqd7p9dgadbg1xpi2"; depends=[coda]; };
+  popReconstruct = derive2 { name="popReconstruct"; version="1.0-6"; sha256="0nmf93dy2qf7z9mafpy99ry53aapbxlismn7drn732r8gvravapx"; depends=[coda]; };
   popbio = derive2 { name="popbio"; version="2.6"; sha256="1j8q4rdq8b9r56p0slwkfsknv6linjnmcprrzbck9yr99zfqp067"; depends=[]; };
   popdemo = derive2 { name="popdemo"; version="1.3-0"; sha256="0760ajqaq822m0j092gdqzhgw1mk413k09mmmwyzb0jzj6bd15q3"; depends=[expm MCMCpack]; };
   popkin = derive2 { name="popkin"; version="1.2.2"; sha256="1dc1p791v20zq6wxc3n45g6bqpvjvhy9pn4s5v1y6sw69myxlhj3"; depends=[RColorBrewer Rcpp RcppEigen]; };
@@ -11523,14 +11754,17 @@ in with self; {
   poptrend = derive2 { name="poptrend"; version="0.1.0"; sha256="0hypxpb18azg6q1mqrphbx3x262h9ybwhlkb8fyd6vr7jjb5wn3h"; depends=[mgcv]; };
   population = derive2 { name="population"; version="0.2"; sha256="1k0hwh17dyfbbyw8gprsz1klx6l2ncq5mxkmnjmknlnrkpah0bbl"; depends=[abind]; };
   populationPDXdesign = derive2 { name="populationPDXdesign"; version="1.0.3"; sha256="0p73ddv3j1s1vs4j3axnsf39n626qjv0w1qlq9p7km4s6729bhgv"; depends=[devtools ggplot2 plyr roxygen2 shiny shinycssloaders]; };
-  portalr = derive2 { name="portalr"; version="0.2.6"; sha256="08d29xg377vrrxzdzbsivm2zvh795fwhhz8aw53gbg4xxz23ydkj"; depends=[clisymbols crayon dplyr forecast httr jsonlite lubridate lunar magrittr rlang tibble tidyr usethis]; };
+  porridge = derive2 { name="porridge"; version="0.0.2"; sha256="04w31avmjhb997vdzxg5mxddjgjzbhphw4a0l2xck7x374v3qqh7"; depends=[MASS mvtnorm Rcpp RcppArmadillo]; };
+  portalr = derive2 { name="portalr"; version="0.2.7"; sha256="09l61ncxs0v65x43yp189yj53sl4wdrgsiiz89c4lhasjh5q64h7"; depends=[clisymbols crayon dplyr forecast httr jsonlite lubridate lunar magrittr rlang tibble tidyr usethis]; };
   portes = derive2 { name="portes"; version="3.0"; sha256="144fipskh6yb6xcz3m5bgh2kwjwa58zaw24y88hzzrdvh9glvyrc"; depends=[forecast]; };
   portfolio = derive2 { name="portfolio"; version="0.4-7"; sha256="0gs1a4qh68xsvl7yi6mz67lamwlqyqjbljpyax795piv46kkm06p"; depends=[lattice nlme]; };
   portfolio_optimization = derive2 { name="portfolio.optimization"; version="1.0-0"; sha256="1rdhwffsjc1pa1qq7rqy6dwk8yrcblkmijz94p2w7sf2v4jmwxxr"; depends=[magrittr MASS modopt_matlab xts]; };
-  portfolioBacktest = derive2 { name="portfolioBacktest"; version="0.2.0"; sha256="0y905km1kj8v2nvs88f4kl7w9bmhhs7qx9ain3mwm1i488viz65g"; depends=[digest doSNOW evaluate foreach ggplot2 PerformanceAnalytics quantmod R_utils snow xts zoo]; };
+  portfolioBacktest = derive2 { name="portfolioBacktest"; version="0.2.1"; sha256="15yh3vi8qdahmsy2lic77vfv9c5ssalw08lmhq6vk9dbcl04z5n1"; depends=[digest doSNOW evaluate foreach ggplot2 PerformanceAnalytics quantmod R_utils rlang snow xts zoo]; };
   portfolioSim = derive2 { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
   portsort = derive2 { name="portsort"; version="0.1.0"; sha256="0swl39dn7lzwvps18bva4l64a441gkf6lbwcwrhlf93f1ardvxji"; depends=[xts zoo]; };
+  postDoubleR = derive2 { name="postDoubleR"; version="1.4.12"; sha256="19z8wisi16g7a78gw16r72dkxh3x5qh888qz260ih5naq0p8vy71"; depends=[doParallel ggplot2 glmnet grf neuralnet progress]; };
   postGIStools = derive2 { name="postGIStools"; version="0.2.4"; sha256="04d6iqnk7j2lgv1h5c94j6y89jk75pmv26sxa51s5iwkjq7rchym"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
+  posterdown = derive2 { name="posterdown"; version="1.0"; sha256="13plrrnylw3yldm0md1gr5drccfjk9f2wwlhz6lrmb3px7w5nqs0"; depends=[pagedown rmarkdown yaml]; };
   postinfectious = derive2 { name="postinfectious"; version="0.1.0"; sha256="1v327zxxiwc1cdksk6s39lkkgck5dxg169pp3jiqmm7xs35dcl6y"; depends=[]; };
   postlightmercury = derive2 { name="postlightmercury"; version="1.2"; sha256="1345ckp50jplcdqp3a250c6mhapqh9322jzpxj5dyqmbg2nmgp9i"; depends=[crul jsonlite purrr rvest tibble xml2]; };
   postlogic = derive2 { name="postlogic"; version="0.1.0"; sha256="1m4z92y9kjjgz5xh0x74i1sgsybm8gv36l25fbbcwlg1jazwgrwn"; depends=[]; };
@@ -11552,6 +11786,7 @@ in with self; {
   ppcSpatial = derive2 { name="ppcSpatial"; version="0.2.0"; sha256="1gi57zngc42wcrihg29nn7qa3gaq105ckp76qmczkldshlpd7x4r"; depends=[dplyr ggplot2 htmltools htmlwidgets leaflet magrittr PakPC2017 rgdal scales shiny tidyr tmap]; };
   ppcc = derive2 { name="ppcc"; version="1.1"; sha256="0c22nkp6c6rl2d6c868pnrda1l6h9bxssmdbca3pdc5s8wjxi0nd"; depends=[]; };
   ppclust = derive2 { name="ppclust"; version="0.1.3"; sha256="1480fcjzz1vfmz3sgcdrpfilqklmb1f0h4vna6xkfib5xh624lxb"; depends=[inaparc MASS]; };
+  ppcong = derive2 { name="ppcong"; version="0.0.1"; sha256="1maf9lyb24v3q48x1zn9i25lqdsjpwl0hzsq8spljdzvjiyl84rb"; depends=[curl jsonlite tfse tibble]; };
   ppcor = derive2 { name="ppcor"; version="1.1"; sha256="1x9b2kb8s0bp92b17gby0jwzzr3i4cf3ap9c4nq7m8fav72g0y3a"; depends=[MASS]; };
   ppgmmga = derive2 { name="ppgmmga"; version="1.2"; sha256="1dq0p3xna5r1kiyhiziz3wc78dfqh362qhna5hmkjzhljawr9jg0"; depends=[cli crayon GA ggplot2 ggthemes mclust Rcpp RcppArmadillo]; };
   ppitables = derive2 { name="ppitables"; version="0.5.1"; sha256="1gc0hh2g1wmqk49cmswq9drxw8h94xpriibs76n287nmvrg6ip7d"; depends=[tibble tidyr]; };
@@ -11572,10 +11807,11 @@ in with self; {
   prcbench = derive2 { name="prcbench"; version="0.8"; sha256="0bidf7268c130xj4c2pxljgkrppvjg8bmivj9zq0cm9nwhm0fdf5"; depends=[assertthat ggplot2 gridExtra memoise precrec PRROC R6 rJava ROCR]; };
   prclust = derive2 { name="prclust"; version="1.3"; sha256="0p0sf8248aigs99py8mpzz743jnrf7n1nv5shag15arxz9yx7zn3"; depends=[Rcpp]; };
   prcr = derive2 { name="prcr"; version="0.1.5"; sha256="1hfr0jijnj5nd25rh16i81bsz8kwz0q9vmn7bqgy467cwvypg9k2"; depends=[class dplyr ggplot2 irr lpSolve purrr tibble tidyr]; };
-  pre = derive2 { name="pre"; version="0.7.1"; sha256="1saz7by3r0vj97bm6jdyyyaf1041dvcs8kbj12ir6xsx6iv355s7"; depends=[earth Formula glmnet Matrix MatrixModels partykit rpart stringr survival]; };
+  pre = derive2 { name="pre"; version="0.7.2"; sha256="156wgyv88a5qvdksfhyyim2h1igaba8gf4mgaq6ii6sxppmik4a8"; depends=[earth Formula glmnet Matrix MatrixModels partykit rpart stringr survival]; };
   preText = derive2 { name="preText"; version="0.6.2"; sha256="0pcnqssv542cfajzrqfsbq0jf628nnmcb3nryvd7d5wk4wdkji4q"; depends=[cowplot ecodist ggplot2 proxy quanteda reshape2 topicmodels vegan]; };
   precintcon = derive2 { name="precintcon"; version="2.3.0"; sha256="1sf0mfqa77aqhbx3hg8pv582ibmfnv6vigqcd3xqsbq7nigy2ms9"; depends=[ggplot2 scales]; };
   precrec = derive2 { name="precrec"; version="0.10.1"; sha256="008vcnbg0rl9x70ly1xzz1xn4fs7mjhnp2c0a7jxzwiri5gymh09"; depends=[assertthat data_table ggplot2 gridExtra Rcpp]; };
+  predhy = derive2 { name="predhy"; version="0.1.0"; sha256="1m4ysryh66blqnvnskfwmjbz85pziqlii12jv9gpf2a3jnl5dvij"; depends=[]; };
   predict3d = derive2 { name="predict3d"; version="0.1.3.3"; sha256="1kb3jacpgzln1ddnkfzhvfpzzf9wig60lppca6iy0fvq5cm8ddr4"; depends=[dplyr ggiraphExtra ggplot2 magrittr modelr moonBook plyr prediction purrr reshape2 rgl rlang stringr TH_data tidyr]; };
   prediction = derive2 { name="prediction"; version="0.3.14"; sha256="0awlq5lxfia6m2b91w73rksp93rbwv5gwqb36wbji4rgq41rzbrx"; depends=[data_table]; };
   predictionInterval = derive2 { name="predictionInterval"; version="1.0.0"; sha256="029hc57cblfcbqckrghf95l2rkn7acgb4yr36da01bx8bmpww0bn"; depends=[ggplot2 MASS MBESS pbapply]; };
@@ -11596,12 +11832,14 @@ in with self; {
   preputils = derive2 { name="preputils"; version="1.0.2"; sha256="0cww3x7375ck56cm14ssalvpgvsdi4myr3p19zy4fcjy6fgyyxc5"; depends=[data_table]; };
   prereg = derive2 { name="prereg"; version="0.4.0"; sha256="1jhlgp7ajq6mx7gn4kf3b7wqzs3v0678pa1r6p4mgvvynic8rnqj"; depends=[rmarkdown]; };
   presens = derive2 { name="presens"; version="2.1.0"; sha256="175nr9pqn3m6kh9bcc1gxqmqv05xdsqdw9lx385lmm1g947d2159"; depends=[marelac measurements]; };
+  presentes = derive2 { name="presentes"; version="0.1.0"; sha256="0d6zhishc7wxcvvglgw44pc6c172qpxb8i4iw3lqbmji7ash5zpx"; depends=[]; };
   preseqR = derive2 { name="preseqR"; version="4.0.0"; sha256="1g2rnnmi45649vpy6z45v5i3wxm54s138ajqrzwi3a5r7x3xnhq1"; depends=[polynom]; };
+  presmTP = derive2 { name="presmTP"; version="1.1.0"; sha256="134p58zzk8i0whscvl5qdfn4niksypyxavq1m15cvw4zzk4dk6fw"; depends=[mgcv survPresmooth]; };
   prettyB = derive2 { name="prettyB"; version="0.2.1"; sha256="1qpqr490bpvmj1ybjbh4lhiznqa0n3chn09m7bhn9wfm3ic56s0p"; depends=[]; };
   prettyGraphs = derive2 { name="prettyGraphs"; version="2.1.6"; sha256="0yjpwxdy9mkj2k33zvd5klyv4ava46i19yls87n0bvf79y90ikpy"; depends=[]; };
   prettyR = derive2 { name="prettyR"; version="2.2-3"; sha256="1rs90cmr5dyry724php90mp41qwzzk1z3gxfwcj1k157qawacyhr"; depends=[]; };
   prettycode = derive2 { name="prettycode"; version="1.0.2"; sha256="0yz75qqpvrk4p9mypjnmrg1xwlrhh2iax2897f11cfk8rjj784jg"; depends=[crayon withr]; };
-  prettydoc = derive2 { name="prettydoc"; version="0.3.0"; sha256="1bjgcr9kxyzm8q5hilc6kfjy32rwy10cdfajb90w8drc91g0g9n9"; depends=[rmarkdown]; };
+  prettydoc = derive2 { name="prettydoc"; version="0.3.1"; sha256="02x4vf7rr4gazz6mmygynqnjs016jhjb2gg109sqrs0nwk1blcm9"; depends=[rmarkdown]; };
   prettymapr = derive2 { name="prettymapr"; version="0.2.2"; sha256="151jp0l728krmxcyzwjh01mvd1zhqijq0nsgjaqsh0q8n3jmndi0"; depends=[digest httr plyr rjson]; };
   prettyunits = derive2 { name="prettyunits"; version="1.0.2"; sha256="0p3z42hnk53x7ky4d1dr2brf7p8gv3agxr71i99m01n2hq2ri91m"; depends=[assertthat magrittr]; };
   prevR = derive2 { name="prevR"; version="3.4.0"; sha256="1y61ggqjf3b2a5f9zprbp9ylfkcfk0jiqfymkyqci9figsnahdy1"; depends=[directlabels fields foreign GenKern ggplot2 gstat maptools rgdal sp]; };
@@ -11613,6 +11851,7 @@ in with self; {
   prim = derive2 { name="prim"; version="1.0.16"; sha256="0i5jpk798qbvyv9adgjbzpg4dvf7x51bcgbdp38fzdnam6g88y5a"; depends=[misc3d rgl]; };
   primePCA = derive2 { name="primePCA"; version="1.0"; sha256="0kpyqv3l58xcyd98a7c7ggsna30j6k62aliidlyxgv2ya0g0dshv"; depends=[MASS Matrix softImpute]; };
   primefactr = derive2 { name="primefactr"; version="0.1.1"; sha256="11hi75jwjxrl9p5m8yjwjb20pc9y9vkhi8sjrnisdq2hm53m483w"; depends=[]; };
+  primer = derive2 { name="primer"; version="1.1.1"; sha256="1hw7qd0xq3bvzk5ms9q568a3nkj3ws4jnzbmlypy8c5x3ly6pl1d"; depends=[deSolve lattice]; };
   primerTree = derive2 { name="primerTree"; version="1.0.4"; sha256="15am88swc9h8igjnjqr4jg105i91lsl28nncqly03cgy4vm814kk"; depends=[ape directlabels foreach ggplot2 gridExtra httr lubridate plyr reshape2 scales stringr XML]; };
   primes = derive2 { name="primes"; version="0.1.0"; sha256="0hhkgpkadvai9xcivfalsvr5w0irsxygyz3p2zngwl3g5rvvh5g9"; depends=[Rcpp]; };
   princurve = derive2 { name="princurve"; version="2.1.4"; sha256="1b3grra328wkfsmqkkwp3lwdzhbdiwyq380qi5pl9r2jc6arnppj"; depends=[Rcpp]; };
@@ -11623,6 +11862,7 @@ in with self; {
   prioritizrdata = derive2 { name="prioritizrdata"; version="0.2.2"; sha256="1gljrll89r2y6nb4jwcp1pyjs5qrahqawi84kgg74w2q6xq65kga"; depends=[raster sp]; };
   prioritylasso = derive2 { name="prioritylasso"; version="0.2.2"; sha256="1wdnizwq0mgjqbaxp6swf3z4wkdfig390i2d8jy86lg0q7gym5af"; depends=[glmnet survival]; };
   prism = derive2 { name="prism"; version="0.1.0"; sha256="0d2llrpw5y0svrdzbk52pjrfp76lknrw4r8ciqq0cq3l6kbynh9r"; depends=[dplyr ggplot2 httr lubridate magrittr purrr raster readr stringr]; };
+  prismatic = derive2 { name="prismatic"; version="0.2.0"; sha256="0j077khvagzs9lxrryi4q1czk1129r93cqf1i1hiz0b3wij2bwsg"; depends=[farver]; };
   prisonbrief = derive2 { name="prisonbrief"; version="0.1.0"; sha256="1fnhg6vqdabdnhvgd19vnkfrdgz8a53snfrx6m6mmdwb6cvavb8m"; depends=[data_table dplyr httr magrittr passport rlang rnaturalearth rnaturalearthdata rvest stringr tibble tidyr xml2]; };
   prithulib = derive2 { name="prithulib"; version="1.0.2"; sha256="12ybksrvxzc5gjz8m38cs35b7r3kd8m0zqm2c67pqw38vq82sjxm"; depends=[]; };
   prnsamplr = derive2 { name="prnsamplr"; version="0.1.0"; sha256="0hdxbdkmxfd3ax1qfc4fj9bbxz8cv08qzcjwpxgkapgm2jwgxpgc"; depends=[]; };
@@ -11638,14 +11878,14 @@ in with self; {
   proccalibrad = derive2 { name="proccalibrad"; version="0.14"; sha256="0vr55rpcqh9wvy3bklssrimp42x85w3sanjgshfij657v68vmx46"; depends=[]; };
   processR = derive2 { name="processR"; version="0.1.0"; sha256="1c36f1l9ylj01hr5fs1413kixd3jx6fdhha4rw1mpcjbn9cxnjgq"; depends=[diagram dplyr flextable ggiraphExtra ggplot2 jtools lavaan magrittr modelr mycor officer prediction psych purrr rlang rrtable semTools shiny shinyWidgets stringr TH_data tidyr tidyselect]; };
   processanimateR = derive2 { name="processanimateR"; version="1.0.1"; sha256="0dd09s7k46snwqjznpl38kz9xhlx9qd2n3h3y4ai7p7hpa96c22d"; depends=[bupaR DiagrammeR dplyr htmlwidgets magrittr processmapR rlang tidyr]; };
-  processcheckR = derive2 { name="processcheckR"; version="0.1.0"; sha256="1arckp3m9z9idq8dq6aghijc6h8i6giir606h1viivrwj0ks0f90"; depends=[bupaR dplyr edeaR glue rlang stringr]; };
+  processcheckR = derive2 { name="processcheckR"; version="0.1.2"; sha256="1l8qx7ivw6vwmw7d7x7dawv11aklbyjwpyial3crhamnj5389ngj"; depends=[bupaR dplyr edeaR glue rlang stringr]; };
   processcontrol = derive2 { name="processcontrol"; version="0.1.0"; sha256="0c0bksgq24blfkdgp5bn49sjnaajrg5bag8qzb5zffxbhnm4s30x"; depends=[plyr]; };
   processmapR = derive2 { name="processmapR"; version="0.3.3"; sha256="0skiavjays0qp9yvxfdzhp7iagz3zirq90m08lcl6sa83n5dj8rr"; depends=[bupaR data_table DiagrammeR dplyr edeaR forcats ggplot2 ggthemes glue hms miniUI plotly purrr RColorBrewer rlang scales shiny stringr tidyr]; };
   processmonitR = derive2 { name="processmonitR"; version="0.1.0"; sha256="1ckr438yifpsh095j6bb65dq3rdm7cfm8k7qsjmcqwjkww4j74z8"; depends=[bupaR dplyr edeaR ggplot2 magrittr miniUI shiny]; };
   processx = derive2 { name="processx"; version="3.4.1"; sha256="1g6ipcaxg9y94lyrnbp7kkbqfkcdh1fyrqjjclbjp3x7iysdvazi"; depends=[ps R6]; };
   prodest = derive2 { name="prodest"; version="1.0.1"; sha256="16nqgd9wrjfxymwbxrnlak54cagbv3fxgbql0w5bxnmyrbbqy509"; depends=[AER DEoptim dplyr Matrix Rsolnp]; };
   prodigenr = derive2 { name="prodigenr"; version="0.5.0"; sha256="1h15fwd4rclja0q80y119sah1qbyjlbaqxg360ywq9ig151lxsjq"; depends=[fs git2r rmarkdown rprojroot usethis withr]; };
-  prodlim = derive2 { name="prodlim"; version="2018.04.18"; sha256="1aslq87sqwikh8chxc378r38146y7kv79zz0kcq3j93ivx7va8jb"; depends=[KernSmooth lava Rcpp survival]; };
+  prodlim = derive2 { name="prodlim"; version="2019.11.13"; sha256="03wvh3kirp1prac5nky6a5whs97rvaf4hc27x0fnh51sa17r42b8"; depends=[KernSmooth lava Rcpp survival]; };
   productivity = derive2 { name="productivity"; version="1.1.0"; sha256="1g8b4vlyqq3xyzd4dki01glhc3g9j3ywgwpxylkmzp0ivqic53yc"; depends=[doParallel foreach iterators lpSolveAPI]; };
   productplots = derive2 { name="productplots"; version="0.1.1"; sha256="1igs6d0qwgsfk0z3vxabgv5kva9w2kpzi535gjfdrbx34j4pf3gx"; depends=[ggplot2 plyr]; };
   prof_tree = derive2 { name="prof.tree"; version="0.1.0"; sha256="0mjvxaacrgkzl0f1wn3fpgah4jh720safni66ri0dnriwcxis6rz"; depends=[data_tree]; };
@@ -11666,7 +11906,7 @@ in with self; {
   projects = derive2 { name="projects"; version="2.0.0"; sha256="0m9177ldp0d3f9k2ifrbww5snhvaql8h96shcdm46i1kjnzj4070"; depends=[dplyr fs lubridate magrittr purrr readr rlang rstudioapi sessioninfo stringr tibble zip]; };
   projmgr = derive2 { name="projmgr"; version="0.1.0"; sha256="1iysxcl6awvp7zbm04zyq4d9659fcz3sy711jnycsxhsk8hsvmc2"; depends=[gh magrittr]; };
   projpred = derive2 { name="projpred"; version="1.1.4"; sha256="1zlay8pj86mj68nh332ki53pz1lpdbl1k181lpmkh9dxpak0nwg0"; depends=[ggplot2 loo Rcpp RcppArmadillo]; };
-  promises = derive2 { name="promises"; version="1.0.1"; sha256="0n2mlv6bvfb4yhgcml696l9vkbw21pz0smqylivr606z99rwgny2"; depends=[later magrittr R6 Rcpp rlang]; };
+  promises = derive2 { name="promises"; version="1.1.0"; sha256="01l0ydjvvy6afcg5d6pzvk1ikd3djq8n2flv8c831ksn68z0zsn8"; depends=[later magrittr R6 Rcpp rlang]; };
   promote = derive2 { name="promote"; version="1.1.1"; sha256="1cdz4xqinyzpbbgkxxd4f86n1h8zj88vp5z6w01cxd5ykyjf5411"; depends=[httr jsonlite stringr]; };
   promotionImpact = derive2 { name="promotionImpact"; version="0.1.2"; sha256="1mx745q37fqgn46y9qj3ql54r747qfab1yq8878g08cq6y696rmp"; depends=[crayon data_table dplyr ggplot2 ggpubr KernSmooth lmtest prophet Rcpp reshape2 scales stringr strucchange]; };
   prop_comb_RR = derive2 { name="prop.comb.RR"; version="1.2"; sha256="10s52fkq7rv6v4gw1yd46f0fbg89ksim0qhgb5jbglzrqh585ny5"; depends=[rootSolve]; };
@@ -11677,7 +11917,7 @@ in with self; {
   proportion = derive2 { name="proportion"; version="2.0.0"; sha256="0a71f6hz6blb7550m9x0di84vp51yjhnn952301rwlrh3axf6dbr"; depends=[ggplot2 TeachingDemos]; };
   propr = derive2 { name="propr"; version="4.1.6"; sha256="1zpqx0xcf0di3p8x48g8icjwisfans0b1x902mq9fcal0qyc5mi1"; depends=[fastcluster ggplot2 igraph Rcpp]; };
   prospectr = derive2 { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[foreach iterators Rcpp RcppArmadillo]; };
-  protViz = derive2 { name="protViz"; version="0.4.0"; sha256="150i2q4nakz28f39kmhrchz4qsr8ax6y02512md94k8hq4hamxg1"; depends=[Rcpp]; };
+  protViz = derive2 { name="protViz"; version="0.5.1"; sha256="0cznzm1ijlq33yd5wsa61prav77y2vi698w0n2fx1xcv504c4bjv"; depends=[Rcpp]; };
   protag = derive2 { name="protag"; version="1.0.0"; sha256="1iaw2w1d7hdvlg5vplpqc49wq08dgmm0ifvp2v0ggqb8invvdnw8"; depends=[dplyr ggplot2 RColorBrewer]; };
   proteomicdesign = derive2 { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
   proteomics = derive2 { name="proteomics"; version="0.2"; sha256="01cd4sb79gcx8gbzl624scvjbwhgcsca1wdvvfkhsv7jfwdd2ry2"; depends=[foreach ggplot2 plyr reshape2]; };
@@ -11685,7 +11925,7 @@ in with self; {
   proto = derive2 { name="proto"; version="1.0.0"; sha256="1l843p8vckjckdhgv37ngv47fga5jzy0n00pmipvp05nnaixk54j"; depends=[]; };
   protoclass = derive2 { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; };
   protoclust = derive2 { name="protoclust"; version="1.6.3"; sha256="1jwfzlxyi2mx3mry2xr2glc6fm6a9jc8fhsdzjbb4zgx7vx2vpqv"; depends=[]; };
-  protolite = derive2 { name="protolite"; version="1.9"; sha256="18k2909af314k3av7vwnkcz0k7ykfwjk2891pyqnlkxmknmg69z6"; depends=[jsonlite Rcpp]; };
+  protolite = derive2 { name="protolite"; version="2.0"; sha256="0vzdsngns3s4r272vh783d2v7576p4fgxbahzn2c9c6vfw7539vg"; depends=[jsonlite Rcpp]; };
   proton = derive2 { name="proton"; version="1.0"; sha256="1mgaw54is8l6ac1rf8s70rj7kv9xgsfdrlvjz01ggfwg7c6pyr3s"; depends=[digest]; };
   prototest = derive2 { name="prototest"; version="1.2"; sha256="07g58hq2qdpczqhjsv6dq1bya9rs958r103n91icw5yc19bvyhi2"; depends=[glmnet intervals MASS Rcpp RcppArmadillo]; };
   protr = derive2 { name="protr"; version="1.6-2"; sha256="13vgiqkqqq1w2yj5f6i6scag0mr189zmisyvi6fgaw8g9dgxpxan"; depends=[]; };
@@ -11740,17 +11980,17 @@ in with self; {
   pterrace = derive2 { name="pterrace"; version="1.0"; sha256="15k5149jqjy20cck5121zsv2mk63amn5b8qgdlacivri9dpxjns1"; depends=[doParallel foreach plotly TDA viridis]; };
   ptest = derive2 { name="ptest"; version="1.0-8"; sha256="1d30a23yknf7xgqj8adgr36pnh9dpffl1v5fq682f26fk3ss30qp"; depends=[quantreg]; };
   ptinpoly = derive2 { name="ptinpoly"; version="2.4"; sha256="1jbj8z7lqg7w1mqdh230qjaydx2yb6ffgkc39k7dx8xl30g00i5b"; depends=[misc3d]; };
-  ptmixed = derive2 { name="ptmixed"; version="0.3.1"; sha256="160d7a0h2qpa4mpg6al2jh73arxcx2ljqz15d1yydi8fy1yxrldw"; depends=[GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
+  ptmixed = derive2 { name="ptmixed"; version="0.4.1"; sha256="0sqlg4pk383xig3q86c6x5dyb0ws4ccijr8v1w9526zcrabi4b8v"; depends=[aod GLMMadaptive lme4 matrixcalc moments mvtnorm numDeriv tweeDEseq]; };
   pts2polys = derive2 { name="pts2polys"; version="0.1.1"; sha256="1pnh8ajh95c8xzfa4bvd2w41fi7h0jcg003rsji6xsasly3q34vr"; depends=[Rcpp]; };
   ptstem = derive2 { name="ptstem"; version="0.0.4"; sha256="0dx677c7qh7rbalsys1n3xv4hjdhd6qypjd1mrggfwz1bd4vig4j"; depends=[dplyr hunspell magrittr rslp SnowballC stringr tidyr tokenizers]; };
   ptsuite = derive2 { name="ptsuite"; version="1.0.0"; sha256="1df273p8v6zvhy2jj6imhjigwj77grx6sxqmg0sidxwqny5d1d9c"; depends=[Rcpp]; };
-  ptw = derive2 { name="ptw"; version="1.9-13"; sha256="0iighsx6xn8nbw4qpzmwgi4czmr5m8yrr7fzm7mx7cvx2r5ffmbq"; depends=[nloptr]; };
+  ptw = derive2 { name="ptw"; version="1.9-15"; sha256="0ikvzc5vfcs50jl5n49mhk39pcijyfdxd26adgs01h0b50zh1yi2"; depends=[nloptr]; };
   ptwikiwords = derive2 { name="ptwikiwords"; version="0.0.3"; sha256="129dad1vy52sf97dqrkwa49vjhv2kvs4pmd5zvq8pxd51hqm6wy9"; depends=[]; };
   ptycho = derive2 { name="ptycho"; version="1.1-4"; sha256="1llk3rpk0lf80vwvs23d6dqhgyic3a6sfjc393csj69hh01nrdvc"; depends=[coda plyr reshape2]; };
   pubchunks = derive2 { name="pubchunks"; version="0.2.0"; sha256="119ihi6xi9k3p5lv2qkch2jc2fqmf8h0wi7mqh57asg7n6f0qb6r"; depends=[data_table rcrossref xml2]; };
   pubh = derive2 { name="pubh"; version="0.4.3"; sha256="18n6jyidq01gxbqvfal7ipgpjvfkdy71niy7w24dvvxnvcy7hc4l"; depends=[bookdown car desctable effects Epi epiR epitools knitr latex2exp lattice latticeExtra lme4 lmtest MASS multcomp nlme nnet ordinal pander papeR sandwich survival tactile]; };
   pubmed_mineR = derive2 { name="pubmed.mineR"; version="1.0.16"; sha256="1dcviy347lypbzwwz506d37wy5swla2vjgyqijwc37daic71bnih"; depends=[boot R2HTML RCurl XML]; };
-  pubtatordb = derive2 { name="pubtatordb"; version="0.1.3"; sha256="0k16nq7fbsd07wkv6zys0jqdd35ikq3aiax3jdihk94gq46raqc1"; depends=[assertthat DBI dplyr R_utils readr RSQLite]; };
+  pubtatordb = derive2 { name="pubtatordb"; version="0.1.4"; sha256="0i5azbf75bwxxzpsr5fc2hh22pbwix00hz9dcdpn5jgp2957f7wx"; depends=[assertthat DBI dplyr R_utils readr RSQLite]; };
   pullword = derive2 { name="pullword"; version="0.2"; sha256="14rln0nbd4k2cvf18iwvc56776b9g3m3cs67i7fgzabfrgj8y6db"; depends=[RCurl]; };
   pulsar = derive2 { name="pulsar"; version="0.3.6"; sha256="0r1myng3wmirlp1ixqkkzlgv5i0my37irligah3wwfh0cprip1dm"; depends=[Matrix]; };
   pulseTD = derive2 { name="pulseTD"; version="0.1.0"; sha256="0sdnswinpnm0vvplrh5gl9gx4p03dx175mqxzg5r52rkzd3rfbsr"; depends=[AnnotationDbi Biobase GenomicAlignments GenomicFeatures ggplot2 Rsamtools S4Vectors SummarizedExperiment]; };
@@ -11758,15 +11998,16 @@ in with self; {
   puniform = derive2 { name="puniform"; version="0.2.1"; sha256="0pizpq3v0jlvl41pqypk5i5ghyg2na8mysf2pcvihx4ha7415i51"; depends=[ADGofTest metafor Rcpp]; };
   purge = derive2 { name="purge"; version="0.2.1"; sha256="1faf8mkaxsnj63wnig5rs50hd3j6vzaj0xkdz8kn0j7y2vvshp9p"; depends=[]; };
   purging = derive2 { name="purging"; version="1.0.0"; sha256="1b8f87jn6wyh4fp6b1660bd484wcf7xiajdg9dz2594aj1r94qsr"; depends=[MASS]; };
-  purrr = derive2 { name="purrr"; version="0.3.2"; sha256="0ccs78a2ylr60f3z0f7iywi8h1pwr8mz4ga78bs4pwgnwkclvir7"; depends=[magrittr rlang]; };
+  purrr = derive2 { name="purrr"; version="0.3.3"; sha256="17lyys7dxjrwsfkq7a7hw65iy3qn3pp1sn70srdy64jf8adahc8g"; depends=[magrittr rlang]; };
   purrrlyr = derive2 { name="purrrlyr"; version="0.0.5"; sha256="0rcamyf7d01rpd9izh8xp66j130aqarfbc24p898dqhghb6q1ryq"; depends=[BH dplyr magrittr purrr Rcpp]; };
   purrrogress = derive2 { name="purrrogress"; version="0.1.1"; sha256="1l7wr7jjpang9gx61pfw9qiapsviwpp13kbylmxvw7lz7q0khzcz"; depends=[assertthat glue hms pkgcond purrr R6 rlang testextra]; };
   pushbar = derive2 { name="pushbar"; version="0.1.0"; sha256="1gxarv6x32y6ssrhsq3pyihzcvpnnj7bg0jf2cpcr99da78n1d9b"; depends=[jsonlite shiny]; };
   pushoverr = derive2 { name="pushoverr"; version="1.0.0"; sha256="1zazrx0szx21ymn7zlkfqkhid0ar8jblnpnf5nycj0p7dbh6d0bd"; depends=[assertthat httr]; };
-  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.4.0"; sha256="1cvym37l3vyanfvbb845fcdcy8xsqinj8vnz64wiqyb83hnq3cq7"; depends=[ggplot2 scales zipfR]; };
+  puzzle = derive2 { name="puzzle"; version="0.0.1"; sha256="073n074irsvn4w1jy5xmr6l24a209kn0ypvf1d2zn3p6yd93wzss"; depends=[dplyr kableExtra lubridate plyr readr readxl reshape reshape2 sqldf tidyverse]; };
+  pvaluefunctions = derive2 { name="pvaluefunctions"; version="1.5.0"; sha256="0gch4fkb7fdmqvckanpskfm51kw6dk86i77s74w2qhy3ig6vvi3c"; depends=[ggplot2 scales zipfR]; };
   pvar = derive2 { name="pvar"; version="2.2.5"; sha256="1a5dxhki5nd5s1d5wwnc1dkg7mdib2s8w1i0l8mdg3f1g3l00klz"; depends=[Rcpp]; };
   pvclass = derive2 { name="pvclass"; version="1.4"; sha256="1g6x75qz3xybq1xnik0hzi7mcs0gzzqd3f0iwfkzi5d1zcddnw13"; depends=[Matrix]; };
-  pvclust = derive2 { name="pvclust"; version="2.0-0"; sha256="0hfpf257k5f1w59m0zq6sk0gaamflc3ldkw6qzbpyc4j94hiaihs"; depends=[]; };
+  pvclust = derive2 { name="pvclust"; version="2.2-0"; sha256="0082icm54k2yq60k06qpr92a626k39j2jr0046lva4ylmhxqb4kq"; depends=[]; };
   pvsR = derive2 { name="pvsR"; version="0.3"; sha256="1ijmqlcsc8z0aphdd3j37ci8yqsy50wnr2fwn7h8fxbyd12ax2nj"; depends=[httr nnet XML]; };
   pwr = derive2 { name="pwr"; version="1.2-2"; sha256="0r5g781lr677vp3zyhgmi7r68c87l8gd05l1s3ffnxgn5wf043sm"; depends=[]; };
   pwr2 = derive2 { name="pwr2"; version="1.0"; sha256="0zfv7z5yymw310r1sqm8ivsc2pv6dgk2k4b1axmm92gsaj53cn7p"; depends=[]; };
@@ -11788,7 +12029,7 @@ in with self; {
   qCBA = derive2 { name="qCBA"; version="0.3.1"; sha256="0lr97hig9c4l9k7vjalvgar4f1dic1lqf91li4q63j07lgdyvh4c"; depends=[arc arules rJava]; };
   qGaussian = derive2 { name="qGaussian"; version="0.1.8"; sha256="02xy35xg4swr1ldnsbywnz2h0ga1pbsivnj0aqmpll7kvwl9qz4c"; depends=[Rcpp robustbase zipfR]; };
   qLearn = derive2 { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
-  qMRI = derive2 { name="qMRI"; version="1.0.1"; sha256="1b6wa3s9km22ymwhd7a1hxnaish4zhdi23w96mydjb32bf28x0rp"; depends=[adimpro aws awsMethods dti oro_nifti stringr]; };
+  qMRI = derive2 { name="qMRI"; version="1.1.1"; sha256="05r5kzndmwxad3rkq4jrrg1i7gzclv32zfibsk84dwv90c4qrlyv"; depends=[adimpro aws awsMethods dti oro_nifti stringr]; };
   qVarSel = derive2 { name="qVarSel"; version="1.0"; sha256="13x2hnqjsm0ifzmqkkl9ilhykrh80q04lhlkkp06hkysmh5w9rkx"; depends=[lpSolveAPI Rcpp]; };
   qad = derive2 { name="qad"; version="0.1.1"; sha256="11v291swfl4llgzfffm786xqp9cn82vl8xlqjlma5wah7ig73rgh"; depends=[copula data_table doParallel foreach ggplot2 plyr viridis]; };
   qap = derive2 { name="qap"; version="0.1-1"; sha256="0d2d1ni1camixyi45lfy00f4pn3p063k7bsi8gj5scp6n15mdgb0"; depends=[]; };
@@ -11806,8 +12047,8 @@ in with self; {
   qdm = derive2 { name="qdm"; version="0.1-0"; sha256="0cfxyy8s5zfb7867f9xv9scq9blq2qnw68x66m7y7nqlrrff5xdr"; depends=[]; };
   qfasar = derive2 { name="qfasar"; version="1.2.0"; sha256="067wnwwz8s0yxig13wrjq37w62kf8p5pa8my5lfpc1ik1b7iysby"; depends=[Rsolnp]; };
   qgam = derive2 { name="qgam"; version="1.3.0"; sha256="0i0irz2jqi73d97zyy8xz2yi95y93kw3sr9xf4hmrjdd4k15l0wk"; depends=[doParallel mgcv plyr shiny]; };
-  qgcomp = derive2 { name="qgcomp"; version="1.1.0"; sha256="1nh6z45rzfiv8zymxdigz6zd86x751ciwrmc85s1g3awn5bf6r1p"; depends=[ggplot2 gridExtra survival]; };
-  qgraph = derive2 { name="qgraph"; version="1.6.3"; sha256="0makwk8kygqfi4hqzhfzd2jbljlwvs24mv7psr5wyh76g8392drn"; depends=[abind BDgraph colorspace corpcor d3Network fdrtool ggm ggplot2 glasso gtools Hmisc huge igraph jpeg lavaan Matrix pbapply plyr png psych Rcpp reshape2]; };
+  qgcomp = derive2 { name="qgcomp"; version="1.2.0"; sha256="1kpg0hjnmfvakzq45qpng92dhi3nfvm7qd5fgqy58z453hpg5hn4"; depends=[arm future future_apply ggplot2 gridExtra survival]; };
+  qgraph = derive2 { name="qgraph"; version="1.6.4"; sha256="1glg814h7fwl1jfm6dw1d9i80bilmj5jcjjrfln15byrdh4mm1j3"; depends=[abind BDgraph colorspace corpcor d3Network dplyr fdrtool ggm ggplot2 ggraph glasso gtools Hmisc huge igraph jpeg lavaan Matrix pbapply plyr png psych Rcpp reshape2 tidygraph]; };
   qgtools = derive2 { name="qgtools"; version="1.0"; sha256="0irqfaj2qqx7n1jfc0kmfpgzqrhwwlj0qizsmya94zk9d27bcpn5"; depends=[MASS Matrix]; };
   qha = derive2 { name="qha"; version="0.0.8"; sha256="0sdf6g6884wn73i237xkwszg2mq8xddhvyy225qzpplh5za4pnhl"; depends=[ade4 FactoClass FactoMineR]; };
   qicharts = derive2 { name="qicharts"; version="0.5.5"; sha256="0bl1f64b5n8q9jhzh3rqfyh9613qiy9mhcy2xsn16jyrj4hmj0jd"; depends=[ggplot2 lattice latticeExtra scales]; };
@@ -11844,12 +12085,13 @@ in with self; {
   qrng = derive2 { name="qrng"; version="0.0-7"; sha256="1dw1qqajxavlnfyh6xn58069fpfza28x1xjzd3diqlcxxlb4hjaf"; depends=[copula randtoolbox]; };
   qrnn = derive2 { name="qrnn"; version="2.0.5"; sha256="0ligz67kbfg5cmvacnb7y0ms1v0c7mbvbcfsxyfiz543ppl3xn1v"; depends=[]; };
   qrsvm = derive2 { name="qrsvm"; version="0.2.1"; sha256="0qpj3c8qwrwr2asvp921av0mbdba1ayz0pdq4a52i1waqng4fgis"; depends=[doParallel foreach kernlab Matrix quadprog]; };
-  qs = derive2 { name="qs"; version="0.18.3"; sha256="1rlfm2s7yx97z1fwi6prw7y8kpzfy902bxjqqk1znxmarza2wa13"; depends=[RApiSerialize Rcpp]; };
+  qs = derive2 { name="qs"; version="0.20.2"; sha256="12iqfa5rmcvw8dhprg4w8xvk2qd5796rmdsl9bsj59ijzr7zwg82"; depends=[RApiSerialize Rcpp]; };
   qsort = derive2 { name="qsort"; version="0.2.3"; sha256="1xvp29dijfa2207wyw3z09rmffn61fngfy0f00qjk284n1jnnvrg"; depends=[cowplot ggplot2 gridExtra purrr]; };
   qsub = derive2 { name="qsub"; version="1.1.0"; sha256="0i52bibc782k09f5hp3ic9ll14fsrwjnkdxlb0mhkjvsqm7m5hc5"; depends=[dplyr glue pbapply processx purrr random readr ssh stringr tidyr]; };
   qtbase = derive2 { name="qtbase"; version="1.0.14"; sha256="1pcgjycq61x9h52sqr6fz83qjnlpbawvpavnn9hyw2b7jlv3nwfd"; depends=[]; };
   qte = derive2 { name="qte"; version="1.3.0"; sha256="0x65n2qyq1py0nrachxkqd273mywkw433ai5x6ni3ak4ckbp3g66"; depends=[BMisc formula_tools ggplot2 Hmisc knitr msm pbapply quantreg texreg]; };
   qtl = derive2 { name="qtl"; version="1.44-9"; sha256="03lmvydln8b7666b6w46qbryhf83vsd11d4y2v95rfgvqgq66l1i"; depends=[]; };
+  qtl2pleio = derive2 { name="qtl2pleio"; version="1.2.3"; sha256="0ihlp6glsw4pk97vpqlcbd6zmg0qww3i19c1b76vx1wkazjg6pd8"; depends=[dplyr gemma2 ggplot2 magrittr MASS Matrix Rcpp RcppEigen rlang stringr testthat tibble]; };
   qtlDesign = derive2 { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
   qtlbook = derive2 { name="qtlbook"; version="0.18-8"; sha256="1c849xy2ki7niddajv5wnsm0zdp5381w8zm9lc8rvkdbs2v6rhf4"; depends=[]; };
   qtlc = derive2 { name="qtlc"; version="1.0"; sha256="17ij4alx4qg556b5kq7qsjygj5jf8iyx1f0v52pvx1z2sm6nppww"; depends=[plot3D rgl tiff]; };
@@ -11862,7 +12104,7 @@ in with self; {
   quad = derive2 { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
   quadmatrix = derive2 { name="quadmatrix"; version="0.1.0"; sha256="0nngrvvbalmrr6g9bq9f5qrllvwfq5p1b9yhs4zb098s3wga8jms"; depends=[geigen matrixcalc]; };
   quadmesh = derive2 { name="quadmesh"; version="0.4.0"; sha256="196p1qiis1hbs8yxd5570cqln0zcp3ngbajf3rsc0rwgjzqgm3wv"; depends=[geometry gridBase png raster reproj scales sp viridis]; };
-  quadprog = derive2 { name="quadprog"; version="1.5-7"; sha256="0vg7i9p241bwvfdspjbydjrsvgipl6nsb8bjigp0hbbgvxbixx0s"; depends=[]; };
+  quadprog = derive2 { name="quadprog"; version="1.5-8"; sha256="1ka9g8zak8sg4y2xbz93dfrldznlk9qpd4pq9z21cdcdn3b8s4i2"; depends=[]; };
   quadprogXT = derive2 { name="quadprogXT"; version="0.0.4"; sha256="1bqjlqihb371ggds60219x474b6n4wsl6fnia8hd410iyn9wm05g"; depends=[quadprog]; };
   quadrupen = derive2 { name="quadrupen"; version="0.2-7"; sha256="05yn9cnnc1481k8yqc6dg5hcv0ll4v3h2yw3qyaarwhgyxiips11"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 scales]; };
   qualCI = derive2 { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
@@ -11872,14 +12114,15 @@ in with self; {
   qualpalr = derive2 { name="qualpalr"; version="0.4.3"; sha256="1hlssqj2129796d00gnip3ih5b705qasw0hkj25xfz7xak0vdbkm"; depends=[assertthat randtoolbox Rcpp RcppArmadillo RcppParallel]; };
   qualtRics = derive2 { name="qualtRics"; version="3.1.1"; sha256="092f8d59g5b5619q6v4vkpjw8za5rrmhv805xg95m3z0xcscg1rl"; depends=[assertthat dplyr httr jsonlite purrr readr rlang sjlabelled stringr tibble yaml]; };
   qualvar = derive2 { name="qualvar"; version="0.2.0"; sha256="1c7b7lcyq2l46sslk185r6xfh5fb35z9qihrhnh294sw1k52bffa"; depends=[]; };
+  qualypsoss = derive2 { name="qualypsoss"; version="1.0.0"; sha256="1pvf9b9yw8317wnh1x1jkmwl4cl0r9q7npfw0xzgbs8mfpl9j2ah"; depends=[doParallel foreach MASS mvtnorm]; };
   quantable = derive2 { name="quantable"; version="0.3.6"; sha256="15q4phc2j7aihl8f4qzpdwxcvshq2cfzkfcxc8k4qypsxk9a00sb"; depends=[caret dplyr e1071 ggplot2 ggrepel gplots Matrix plyr pROC RColorBrewer readr reshape2 rlang scales stringr tibble tidyr]; };
-  quanteda = derive2 { name="quanteda"; version="1.5.1"; sha256="08hzgqza853jrk0r6cgn5398k0llfpm6jk4hs4rw8l2dn0520nq5"; depends=[data_table extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network proxyC Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi xml2 yaml]; };
+  quanteda = derive2 { name="quanteda"; version="1.5.2"; sha256="0iv25rpx5cl9ansazjs0qb97pniajrxf4mqsnb5q98y2hil9ipd3"; depends=[data_table extrafont fastmatch ggplot2 ggrepel lubridate magrittr Matrix network proxyC Rcpp RcppArmadillo RcppParallel RSpectra sna SnowballC spacyr stopwords stringi xml2 yaml]; };
   quantification = derive2 { name="quantification"; version="0.2.0"; sha256="116cp88q9cmizxc2a8lsysa1vwyp1y86457fx5qkq5dcm4g721g8"; depends=[car]; };
   quantileDA = derive2 { name="quantileDA"; version="1.1"; sha256="0jbklxsy33j7clcw97qq4ijwkrb94v2m11gjcfa38vplfxm9913q"; depends=[]; };
-  quantities = derive2 { name="quantities"; version="0.1.2"; sha256="01h0d2cmqqyqch98d8pgv3n2rvp3vc3sby95srahgcrrlxmmrrvj"; depends=[errors Rcpp units]; };
+  quantities = derive2 { name="quantities"; version="0.1.3"; sha256="0crcwcr53bpqj07q5hvqkpq1sg9ikwz3nig2ifshqq5g2a3m57qs"; depends=[errors Rcpp units]; };
   quantmod = derive2 { name="quantmod"; version="0.4-15"; sha256="0lyzaf5ypk93v6zj9gdghy05cc7cxgn9yasv1apx5r6qsjcfgwky"; depends=[curl TTR xts zoo]; };
   quantoptr = derive2 { name="quantoptr"; version="0.1.3"; sha256="0f9vy9yhya4wpya8n345s6n7a5sb29chdkl5fz6dwa31lp1mvvj3"; depends=[quantreg Rdpack rgenoud stringr]; };
-  quantreg = derive2 { name="quantreg"; version="5.51"; sha256="1cdx51a9g6fjq2g9arr6wp6ghkyl2m6bs2dj4kcycvpn8p9304yz"; depends=[Matrix MatrixModels SparseM]; };
+  quantreg = derive2 { name="quantreg"; version="5.52"; sha256="0rq9as31wiz41lmi9hmdq3gknpcbpwqzfcn065ysjdxzjdb57dcy"; depends=[Matrix MatrixModels SparseM]; };
   quantreg_nonpar = derive2 { name="quantreg.nonpar"; version="1.0"; sha256="1f9120awnkwsgdiqg98lg7xs5l4y80930869x6k9q76595r5m92k"; depends=[fda mnormt quantreg Rearrangement]; };
   quantregForest = derive2 { name="quantregForest"; version="1.3-7"; sha256="0lk7r02i6zpx9sdl2rp0r7fc3a84s8qhg49nh2x7k3vxwa095pjz"; depends=[randomForest RColorBrewer]; };
   quantregGrowth = derive2 { name="quantregGrowth"; version="0.4-3"; sha256="0q2yk51hcn7jnvh14nxa7szfj4pr9grh5rdfwazaziilbwqdmw4f"; depends=[quantreg]; };
@@ -11904,8 +12147,8 @@ in with self; {
   quokar = derive2 { name="quokar"; version="0.1.0"; sha256="1qnl3x1aa665xpyb3ac07xrnnjdwbmj645p103144k5is5b8likc"; depends=[ald ALDqr bayesQR dplyr ggplot2 GIGrvg gridExtra knitr magrittr MCMCpack purrr quantreg robustbase tidyr]; };
   quotedargs = derive2 { name="quotedargs"; version="0.1.3"; sha256="11cswg9bmddsl1axxcdz11flq46p1zkpv022526f2vgl4qsprwbm"; depends=[]; };
   qut = derive2 { name="qut"; version="2.1"; sha256="1wkk4c4f10a1whrspr5yalp7flcxckzxlx187ymmpnz7qcncz619"; depends=[flare glmnet lars Matrix]; };
-  qvcalc = derive2 { name="qvcalc"; version="1.0.0"; sha256="1x8ywx0vzssvjk99a7hp4razcvnggd7bhpgqn14zg74w07fmjgvc"; depends=[]; };
-  qwraps2 = derive2 { name="qwraps2"; version="0.4.1"; sha256="0p1fc9h2c6ax3iz6dw03ljr394sbj1p9j2wsd26anc1pr047jy25"; depends=[dplyr ggplot2 knitr magrittr Rcpp RcppArmadillo rlang tidyr]; };
+  qvcalc = derive2 { name="qvcalc"; version="1.0.1"; sha256="1wr5zivnfwscrzhw9myc5llpac0xjkz51s6hravjhflmp8s8lm7k"; depends=[]; };
+  qwraps2 = derive2 { name="qwraps2"; version="0.4.2"; sha256="14h9xwv6x5lci17hg048a6n0cp3d2rif4v0g7dr05w504h157kw9"; depends=[dplyr ggplot2 knitr magrittr Rcpp RcppArmadillo rlang tidyr]; };
   r_blip = derive2 { name="r.blip"; version="1.1"; sha256="1p33g6i6fq9c27d5ix9nd8prv90i4hrf91x34bldlw8041sjqxm0"; depends=[bnlearn foreign]; };
   r_jive = derive2 { name="r.jive"; version="2.1"; sha256="0l0bhhp6bdc84pzxi7gnsxx3scycw0zahrnc496wx3j43np9hlsg"; depends=[abind gplots SpatioTemporal]; };
   r2d2 = derive2 { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
@@ -11915,12 +12158,12 @@ in with self; {
   r2pmml = derive2 { name="r2pmml"; version="0.23.0"; sha256="1md7fzx7yc6b3plflcq4c109v2plhvb1a6dg628bhyiicjs1s83c"; depends=[]; };
   r2stl = derive2 { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; };
   r4lineups = derive2 { name="r4lineups"; version="0.1.1"; sha256="1p0dnrp21zx1l9lqx01jnq54d5ppb8siibv47i4gsp7c7db9ymxc"; depends=[boot dplyr ggplot2 ggrepel here magick magrittr pROC psych purrr]; };
-  r4ss = derive2 { name="r4ss"; version="1.24.0"; sha256="1kifzfg2zx6lq2c8qqbhb096z1wgdayhg5qzx5hnkwpn05w5cma3"; depends=[coda corpcor gplots gtools maps pso truncnorm]; };
+  r4ss = derive2 { name="r4ss"; version="1.36.1"; sha256="03xin7avdbg5ayrcdbw5rx9sh6ingjq2kv3405h01vqf1jhkfsxk"; depends=[coda corpcor gdata gplots gtools kableExtra pso truncnorm]; };
   r511 = derive2 { name="r511"; version="0.1.1"; sha256="1njsnjf0746cv6x7fznq4cg556fczqcfawwb869r3w9zv0zj1iy9"; depends=[assertthat dplyr httr tibble xml2]; };
   r6extended = derive2 { name="r6extended"; version="0.1.2"; sha256="1kq1j5rx57053mslj8jx1s0wjvhis7x3y264zw44q4k2x48q9wxs"; depends=[digest hellno magrittr R6]; };
   rARPACK = derive2 { name="rARPACK"; version="0.11-0"; sha256="12h2y46xcfldhjdmm960swgn9b23zvkj5vg2bi42s9qxwgi02d63"; depends=[RSpectra]; };
   rAltmetric = derive2 { name="rAltmetric"; version="0.7.0"; sha256="1vbvjv273vg3pi30vxxa2bivlajfsbqrzflk3payp6ym9myi27mg"; depends=[httr jsonlite rlist]; };
-  rAmCharts = derive2 { name="rAmCharts"; version="2.1.11"; sha256="1r8k2ri03pyxkh76hcbsxmmmyy4dqdx7dfldpkni4s9m0kj1bcqn"; depends=[data_table htmltools htmlwidgets knitr pipeR yaml zoo]; };
+  rAmCharts = derive2 { name="rAmCharts"; version="2.1.12"; sha256="16ha5f21xlvpk59sxrwks5l5bsw4ldz0psgs0l2sq7cz144qls5f"; depends=[data_table htmltools htmlwidgets knitr pipeR yaml zoo]; };
   rAverage = derive2 { name="rAverage"; version="0.5-8"; sha256="09yap3qv02k5nidi6a4png9xa5yy7cb8hg8s2dq99wnc88s42d26"; depends=[]; };
   rAvis = derive2 { name="rAvis"; version="0.1.4"; sha256="0svplnrn8rrr59v04nr1pz7d5r4dr1kdl0bd3kg8c3azxv47mxbp"; depends=[gdata maptools raster RCurl rgdal scales scrapeR sp stringr XML]; };
   rBayesianOptimization = derive2 { name="rBayesianOptimization"; version="1.1.0"; sha256="194j445nirvvkz880ax0zw2q1mkiy0khdfjl7bwiwj8knhhvkrhw"; depends=[data_table foreach GPfit magrittr]; };
@@ -11936,11 +12179,12 @@ in with self; {
   rDEA = derive2 { name="rDEA"; version="1.2-5"; sha256="1wsi2dkq9izvbhdqmd4qk8i277r1j38dk59fcmnxnwqvk6ar6nrb"; depends=[maxLik slam truncnorm truncreg]; };
   rDNAse = derive2 { name="rDNAse"; version="1.1-1"; sha256="0cl51q61kwvdsm5f49cjjbzggqam1fnr6gp15cmy6m2yahyxg1lk"; depends=[]; };
   rDotNet = derive2 { name="rDotNet"; version="0.9.1"; sha256="18cd5373pdfi1x958llb4cgjqdi1fb7h7m5nkdwcd4xw9hxhinzd"; depends=[Rcpp testthat]; };
-  rEDM = derive2 { name="rEDM"; version="0.7.2"; sha256="1k7i8idn3aybkwld0093ixkn7ijqfrgqprgan5a9xmipp4divla4"; depends=[Rcpp RcppEigen]; };
+  rEDM = derive2 { name="rEDM"; version="0.7.3"; sha256="1k5k5qpm5icgsdl859my9gx3p27fldlbbcsdzr378aaqg351pvqx"; depends=[Rcpp RcppEigen]; };
   rEMM = derive2 { name="rEMM"; version="1.0-11"; sha256="0ynjn10gcmxs8qnh6idb34ppmki91l8sl720x70xkzcqpahy0nic"; depends=[cluster clusterGeneration igraph MASS proxy]; };
-  rENA = derive2 { name="rENA"; version="0.1.6.1"; sha256="1j1nli1mk737ksy6j499vyi0lblwyrr7h28rmpiriy0w9hh54dh1"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppEigen RcppParallel scales]; };
+  rENA = derive2 { name="rENA"; version="0.2.0.0"; sha256="0hr45rcd756fny7sk79p2sav34jdnrc67887jgncm4jwh3bd9d6l"; depends=[data_table data_tree doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo RcppParallel scales]; };
   rERR = derive2 { name="rERR"; version="0.1"; sha256="1ymf0v3r2sv9m72c19csk38fy5kmld3i18jh06rir5kxkb5l245p"; depends=[dplyr ggplot2 numDeriv plyr reshape2 survival]; };
   rFDSN = derive2 { name="rFDSN"; version="0.0.0"; sha256="1ffiqpdzy4ipy2aci22zkih4373ifkjkpvsrza8awhyf9fwqwdsl"; depends=[XML]; };
+  rFIA = derive2 { name="rFIA"; version="0.1.1"; sha256="0yd20kgcr3lszqx63ihg05lkpnw80xlnarn4lq96yay93icmarx8"; depends=[bit64 data_table dplyr gganimate ggplot2 progress sf sp stringr tidyr]; };
   rFSA = derive2 { name="rFSA"; version="0.9.1"; sha256="14qpxmzy4vy1fydn8yqh1001mqrgv1i67ai42w61dkk0d4m75z60"; depends=[hashmap tibble]; };
   rFerns = derive2 { name="rFerns"; version="3.0.0"; sha256="0z12201y1b9d3rd02k4y64hpnlrgkg7pi1jpzsh1br4pchdf7rrm"; depends=[]; };
   rGammaGamma = derive2 { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
@@ -11959,12 +12203,11 @@ in with self; {
   rLDCP = derive2 { name="rLDCP"; version="1.0.2"; sha256="0k7zc1xyqmcl7070hhpqw1d2k1ij6bd4wjym8cw263pds2n7nx21"; depends=[XML]; };
   rLTP = derive2 { name="rLTP"; version="0.1.4"; sha256="04w432m03xwh0szshsrfw5h7wy43q4lj8z0y07k8w6gsf27cy5bx"; depends=[RCurl]; };
   rLakeAnalyzer = derive2 { name="rLakeAnalyzer"; version="1.11.4.1"; sha256="1bwg8mzddsc39km85b41bxp2hwqmb4g5a3010f6yp1qlgcb9rmj1"; depends=[plyr]; };
-  rLandsat = derive2 { name="rLandsat"; version="0.1.1"; sha256="0zbmd36fs2rwdw4x2aphp44q3abyh4zj3dvx9z6jbkgwlsxvck0v"; depends=[dplyr httr jsonlite RCurl readr stringr svMisc]; };
   rLiDAR = derive2 { name="rLiDAR"; version="0.1.1"; sha256="1w0yi4ygw0l9ydbllqjylp30d401bsf7b6fng6qg3pssbi9v3kln"; depends=[bitops deldir geometry plyr raster rgl sp spatstat]; };
   rLindo = derive2 { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
   rMEA = derive2 { name="rMEA"; version="1.1.0"; sha256="1aarnik0qjxg6h55xpskx1dwkp78nfdyrwpy9r6ffyxhz9jbplnj"; depends=[]; };
   rMR = derive2 { name="rMR"; version="1.1.0"; sha256="0da1hclfnnlkp9by6zf2p079643p8nimplr9p3ipbjdy739j344z"; depends=[biglm]; };
-  rMVP = derive2 { name="rMVP"; version="0.99.16"; sha256="1fmnbz7cmmf0zkikag3q2nfw7fmjizki8db0lwgvx3kw48p4l912"; depends=[BH bigmemory MASS Rcpp RcppArmadillo RcppEigen RcppProgress]; };
+  rMVP = derive2 { name="rMVP"; version="0.99.17"; sha256="1ddnvpi5m3z52z0prcsi9bd2cp2axgl7nry50rmgxjfv7nal61bl"; depends=[BH bigmemory MASS Rcpp RcppArmadillo RcppEigen RcppProgress]; };
   rMouse = derive2 { name="rMouse"; version="0.1"; sha256="0pzxasap5kwxqq36mb4zi139jllsl4vk06dw2pv9xnwdxiszr3gp"; depends=[rJava]; };
   rNMF = derive2 { name="rNMF"; version="0.5.0"; sha256="1nz6h0j5ywdh48m0swmhp34hbkycd7n13rclrxaw85qi9wc42597"; depends=[knitr nnls]; };
   rNOMADS = derive2 { name="rNOMADS"; version="2.4.1"; sha256="0qag0riwkrzgybwfbhpkapjcf7ccqrqa4j8zqh3xx0548k8mm37l"; depends=[fields GEOmap MBA RCurl rvest stringr uuid XML]; };
@@ -11978,10 +12221,10 @@ in with self; {
   rQCC = derive2 { name="rQCC"; version="0.19.8.2"; sha256="091c53jggq3k9sf48pnds8s4kkqia6x268lbkb2fx88b408i0iny"; depends=[]; };
   rRAP = derive2 { name="rRAP"; version="1.1"; sha256="1nzvs8bjkbjraa33azxf9mrxsxh87qhh3qlldrcs5y4fq4ancyqb"; depends=[lars lassoshooting MASS]; };
   rSCA = derive2 { name="rSCA"; version="3.0"; sha256="1ka8p1slqb3a9hfc8z4j7v90k0wn6y35vmwxqaf8jlgwfhhc1v9f"; depends=[]; };
-  rSEA = derive2 { name="rSEA"; version="2.0.0"; sha256="129qj44x4151f5516fv041l0hmzj38l9xjqhvmbvq240iflgqmf1"; depends=[hommel]; };
+  rSEA = derive2 { name="rSEA"; version="2.1.0"; sha256="0zym2kg7vzi61xiglwr3dw5kvavjqcgjj56219aqyclkqrnf67rc"; depends=[hommel]; };
   rSFA = derive2 { name="rSFA"; version="1.04"; sha256="0gd6ji1ynbb04rfv8jfdmp7dqnyz8pxcl5636fypd9a81fggl0gs"; depends=[MASS]; };
   rSHAPE = derive2 { name="rSHAPE"; version="0.3.2"; sha256="0z6dizsxlkmaymbd24b1m1i8kmndcf21nxxnyfzq6gvdii7bal4h"; depends=[abind DBI doParallel evd foreach RSQLite sn VGAM]; };
-  rSPARCS = derive2 { name="rSPARCS"; version="0.0.6"; sha256="0fvzvsi33lhgr6ik7038blv45wyfl5s4whd2qvyy7m945y0f7dzd"; depends=[data_table geosphere plyr raster sp spatialEco tigris]; };
+  rSPARCS = derive2 { name="rSPARCS"; version="0.0.7"; sha256="0z9l7d03r5qxnnl9as2dl1z8r8a28qbwp8n69sxrnd7rffcwm17l"; depends=[data_table geosphere plyr raster sp spatialEco tigris]; };
   rSPDE = derive2 { name="rSPDE"; version="0.4.6"; sha256="1fdk7mhrkp5r7lr9rn9wz1rbxinrr8yvfcss9ky8namp7f65vwa1"; depends=[Matrix]; };
   rSQM = derive2 { name="rSQM"; version="1.3.14"; sha256="0m69n2pnfv2085dln6p149a5gw0gif9xk00xmad5s9j68hwjdmym"; depends=[dplyr EcoHydRology ggplot2 gsubfn mise ncdf4 qmap reshape2 stringr yaml zoo]; };
   rSymPy = derive2 { name="rSymPy"; version="0.2-1.2"; sha256="0jdl8ss3dbgjqrmmppb0ix1gqk9g28pbh6w5sybil046ic83s13i"; depends=[rJython]; };
@@ -11994,11 +12237,11 @@ in with self; {
   rUnemploymentData = derive2 { name="rUnemploymentData"; version="1.1.0"; sha256="0p5hba8iv060szp23s05hvpmwan518ykakm6vqzdcki0inxw0hyv"; depends=[choroplethr rvest stringr]; };
   rWBclimate = derive2 { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr jsonlite plyr reshape2 rgdal sp]; };
   rWind = derive2 { name="rWind"; version="1.1.3"; sha256="1q9f7mrjks7nb9lgkmi6w774dz479d2hhzhns0v0mrllmv9nck1s"; depends=[gdistance lubridate Matrix raster]; };
-  rWishart = derive2 { name="rWishart"; version="0.1.1"; sha256="1zv35l2nvwwidx5zxfh7a4jgiaq2mqk69xf974994k1ksfvibkmi"; depends=[lazyeval MASS Matrix]; };
+  rWishart = derive2 { name="rWishart"; version="0.1.2"; sha256="0wzijc454mrvmggb7a5jqwjbmk0kzr4bmy0iwniz5cn343pr1rri"; depends=[lazyeval MASS Matrix]; };
   rYoutheria = derive2 { name="rYoutheria"; version="1.0.3"; sha256="1r63ggy4knwzxnpjkmsn7zwmwfaznm8mmxl7r9ph10wz4sblgygl"; depends=[plyr RCurl reshape2 RJSONIO]; };
   rabhit = derive2 { name="rabhit"; version="0.1.1"; sha256="010ayd8hyk02gwpnpa06n2rymxl1hy3j4jm5cn4x2xl3mj2kzg8h"; depends=[alakazam cowplot data_table dendextend dplyr ggdendro ggplot2 gridExtra gtable gtools htmlwidgets plotly RColorBrewer reshape2 rlang stringi tidyr tigger]; };
   rabi = derive2 { name="rabi"; version="1.0.0"; sha256="1ljs6wgdw045q1acdmci5b3p8qxhhm4d6bdj64nha76fnq2rr76x"; depends=[numbers polynom shiny stringdist]; };
-  raceland = derive2 { name="raceland"; version="1.0.0"; sha256="058hpimpbzxda7h6walxczp9ndfs7480189w0rml085cpl2g3mwm"; depends=[comat fasterize plotwidgets raster Rcpp RcppArmadillo sf]; };
+  raceland = derive2 { name="raceland"; version="1.0.3"; sha256="0gd5x3k1mdk6s1svgv9vgy2bzml6qg74rfr6p009g2bkbxpcjydy"; depends=[comat fasterize plotwidgets raster Rcpp RcppArmadillo sf]; };
   radar = derive2 { name="radar"; version="1.0.0"; sha256="1wh5j3cfbj01jx2kbm9ca5cqhbb0vw7ifjn426bllm4lbbd8l273"; depends=[]; };
   radarBoxplot = derive2 { name="radarBoxplot"; version="1.0.0"; sha256="16s38yy984mb1hmsdw17z4nk2z4xg03xi0yrp7445yqv3fs1fghl"; depends=[]; };
   radarchart = derive2 { name="radarchart"; version="0.3.1"; sha256="0gcxnbgj8ja1m4wzhbjy67m6zphf0c5ni9yx7sr7f0abm03ry753"; depends=[htmltools htmlwidgets]; };
@@ -12021,11 +12264,9 @@ in with self; {
   ragt2ridges = derive2 { name="ragt2ridges"; version="0.3.2"; sha256="03613amz11ixgkjhc8rg4vp3ih60g1ibhdjrldr9mazzkak46y91"; depends=[abind expm fdrtool igraph MASS Matrix mvtnorm rags2ridges Rcpp RcppArmadillo]; };
   ragtop = derive2 { name="ragtop"; version="1.1.0"; sha256="1gz4hdfb4yxjqcmclxw2yacpk0km29n3gfpqkcj48wr1s6vv7djb"; depends=[futile_logger limSolve]; };
   rai = derive2 { name="rai"; version="1.0.0"; sha256="0qimfzchbrarkwmv3mxxbdgvqzk16sc8m1h140zm0cnfgr2pvi5p"; depends=[dplyr ggplot2 readr rlang]; };
-  railtrails = derive2 { name="railtrails"; version="0.1.1"; sha256="1hi55rcxmr7k3na3rpjqmd5fpgn51bymrp7yxmw45ff7mlzpa5h6"; depends=[tibble]; };
   rainbow = derive2 { name="rainbow"; version="3.6"; sha256="11vfcck17d2xjc049ci5i8l1nqv345anmd110gdz7654i1pj9lb3"; depends=[cluster colorspace hdrcde ks MASS pcaPP]; };
   raincpc = derive2 { name="raincpc"; version="0.4"; sha256="0yzpyidvf24frf82pj7rarjh0ncm5dhm0mmpsf2ycqlvp0qld10i"; depends=[SDMTools]; };
   rainfarmr = derive2 { name="rainfarmr"; version="0.1"; sha256="1gasnmyjnis6vv0krx6299ck2a6v9v1fgqajzqdpjaz2fsxn245i"; depends=[]; };
-  rainfreq = derive2 { name="rainfreq"; version="0.3"; sha256="0985ck2bglg22gfj7m0hc7kpk0apljsbssf1ci99mgk47yi8fk9v"; depends=[RCurl SDMTools]; };
   rakeR = derive2 { name="rakeR"; version="0.2.1"; sha256="0cd89q6k0y9z1qk9k06iw56lhj4c52ckr0g4qv6q95lkyrbi3qg8"; depends=[ipfp wrswoR]; };
   ramchoice = derive2 { name="ramchoice"; version="1.1"; sha256="1im9r95109919hfmici6avdqxh3a375wmg2lfy75z1gjivvcygbr"; depends=[MASS]; };
   ramcmc = derive2 { name="ramcmc"; version="0.1.0-1"; sha256="0x8q0bah8fcyqlwap9iw52xhl6b989va5c144kgmfimh2b4yinc7"; depends=[Rcpp RcppArmadillo]; };
@@ -12042,22 +12283,23 @@ in with self; {
   random_polychor_pa = derive2 { name="random.polychor.pa"; version="1.1.4-2"; sha256="1ybwfn3hdwisxjn85vqrib1zhk8dcddbarbwjdf1vn27ih3c4h2c"; depends=[boot MASS mvtnorm nFactors psych sfsmisc]; };
   randomForest = derive2 { name="randomForest"; version="4.6-14"; sha256="0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l"; depends=[]; };
   randomForestExplainer = derive2 { name="randomForestExplainer"; version="0.10.0"; sha256="08j4mj6r595kzkrgkvjhkda9x6w275nmnvmmhmyk0knq2p2g7p2r"; depends=[data_table dplyr DT GGally ggplot2 ggrepel randomForest ranger reshape2 rmarkdown]; };
-  randomForestSRC = derive2 { name="randomForestSRC"; version="2.9.1"; sha256="1vylj5mdhy11nda644yn7mdz9kf64a9zz8j317y5n1jmzvx4fyii"; depends=[]; };
+  randomForestSRC = derive2 { name="randomForestSRC"; version="2.9.2"; sha256="0x3d9sycrn4yfsdx8b543d1jnrw7i0klsvapvzx7c9hbr83vq3vq"; depends=[]; };
   randomGLM = derive2 { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[doParallel foreach MASS]; };
   randomLCA = derive2 { name="randomLCA"; version="1.0-15"; sha256="10rx2ah50dcjxz5y492c59d3pn0dvlgjaxfdf8sknkf6s4pmwkis"; depends=[boot fastGHQuad lattice Matrix]; };
   randomNames = derive2 { name="randomNames"; version="1.4-0.0"; sha256="1kchngfjv53n32z2qjrplp2xmssl8gjx1y3m7bxsfq1wjzj52qf5"; depends=[crayon data_table toOrdinal]; };
   randomUniformForest = derive2 { name="randomUniformForest"; version="1.1.5"; sha256="1amr3m7h5xcb8gahrr58233chsnx1naf9x5vpjy9p5ivh71xcxf7"; depends=[cluster doParallel foreach ggplot2 gtools iterators MASS pROC Rcpp]; };
-  randomcoloR = derive2 { name="randomcoloR"; version="1.1.0"; sha256="0sirxgrf7xf470d7lls45c698l6c078hqjkjcswmwz6kphykrzhg"; depends=[cluster colorspace Rtsne scales stringr V8]; };
+  randomcoloR = derive2 { name="randomcoloR"; version="1.1.0.1"; sha256="0rqh1zrdza12qq7475f77yvryhh4hj0pg25lb8ywrcljgaj53bnb"; depends=[cluster colorspace Rtsne scales stringr V8]; };
   randomizationInference = derive2 { name="randomizationInference"; version="1.0.3"; sha256="0x36r9bjmpx90fz47cha4hbas4b31mpnbd8ziw2wld4580jkd6mk"; depends=[matrixStats permute]; };
   randomizeBE = derive2 { name="randomizeBE"; version="0.3-5"; sha256="08yfdrf56i8php48ycilc79jk7ms0f6k40swg56mccnqm2yb3b12"; depends=[]; };
-  randomizeR = derive2 { name="randomizeR"; version="1.4.2"; sha256="0jv0mc40cy4w17jrsb2023l7k7cnzl9czdigl4shq9nx67mccdwx"; depends=[ggplot2 plotrix]; };
+  randomizeR = derive2 { name="randomizeR"; version="2.0.0"; sha256="1bcdh245lh5a2yim00m2cgcmlcjm2vyba813026v0a4c42gr3b8x"; depends=[ggplot2 plotrix survival]; };
   randomizr = derive2 { name="randomizr"; version="0.20.0"; sha256="0dljyfldnardaps3fq6vi5wcs9x6qfaq5apapa78c51lnaa6fn9h"; depends=[]; };
   randomsearch = derive2 { name="randomsearch"; version="0.2.0"; sha256="0ywr4ms66p5nmq8bzy04gbvmpp0nhfyf8rvynhr2c4alqva9x3yi"; depends=[checkmate fs parallelMap ParamHelpers smoof]; };
+  randquotes = derive2 { name="randquotes"; version="0.1.1"; sha256="0fj9vx0c4059511wka7ip30yz87y144pz7ny840gp72qm73pp8li"; depends=[curl httr jsonlite xml2]; };
   randstr = derive2 { name="randstr"; version="0.2.0"; sha256="17593lbk6r089yasafd21i3v90ya9n92rflpzl0qicd2kqqk2gdh"; depends=[random stringi truncnorm]; };
   randtests = derive2 { name="randtests"; version="1.0"; sha256="03z3kxl4x0l91dsv65ld9kgc58z82ld1f4lk18i18dpvwcgkqk82"; depends=[]; };
   randtoolbox = derive2 { name="randtoolbox"; version="1.30.0"; sha256="141p13ajgzmb2s89rlac7zrra92mi1izvpfrngb4kqzlf3igdsqd"; depends=[rngWELL]; };
   rangeBuilder = derive2 { name="rangeBuilder"; version="1.4"; sha256="1jjy1d3kljysm3mqgdszdi6incbmg2di63akxswfaiqcp1m68a6y"; depends=[alphahull cleangeo pbapply raster Rcpp rgdal rgeos sp stringi]; };
-  rangeMapper = derive2 { name="rangeMapper"; version="0.3-5"; sha256="1y34b23mayx8h12lvgv4dvnv009pvs145xh1csnzvg15x4s2z6fa"; depends=[classInt data_table doFuture foreach future future_apply ggplot2 gridExtra lattice magrittr maptools raster RColorBrewer rgdal rgeos RSQLite sp]; };
+  rangeMapper = derive2 { name="rangeMapper"; version="0.3-7"; sha256="0b457qxlhwcnsw9x60mccvivq7a5cg7lkyfmsfva7qaipnjixcmh"; depends=[classInt data_table doFuture foreach future future_apply ggplot2 gridExtra lattice magrittr maptools raster RColorBrewer rgdal rgeos RSQLite sp]; };
   rangeModelMetadata = derive2 { name="rangeModelMetadata"; version="0.1.2"; sha256="1d31nz2izppkj0zsm6iq74py5s7zg4w3vvjjxzbzprnj2x6r9zlw"; depends=[biomod2 dismo dplyr ecospat ENMeval googlesheets jsonlite MASS raster rgbif rgdal rgeos shiny sp spatstat spocc spThin]; };
   rangemodelR = derive2 { name="rangemodelR"; version="1.0.4"; sha256="0y8hdqi04n3pc3iwz82gikn61h42bmfi7iccwgbglk8wkrkg4gy0"; depends=[]; };
   ranger = derive2 { name="ranger"; version="0.11.2"; sha256="1sxyzxmjc6lm8wcmq15j6sscnza7aay4mr3dyri2zngx6fa8mb0k"; depends=[Matrix Rcpp RcppEigen]; };
@@ -12076,17 +12318,17 @@ in with self; {
   rare = derive2 { name="rare"; version="0.1.1"; sha256="0j78ilswiaxdp9107psiw8ibxncd7i81z2njhfqf0n7532pbvjss"; depends=[glmnet Matrix Rcpp RcppArmadillo]; };
   rareGE = derive2 { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
   rareNMtests = derive2 { name="rareNMtests"; version="1.1"; sha256="13r2hipqsf8z9k48ha5bh53n3plw1whb7crpy8zqqkcac8444b2z"; depends=[vegan]; };
-  rarhsmm = derive2 { name="rarhsmm"; version="1.0.7"; sha256="0pvqa6f0ib1jb0rwc6wv6hfinncb21v2g0y0hsy5l33gdagjw2sz"; depends=[glmnet Rcpp RcppArmadillo]; };
   rasciidoc = derive2 { name="rasciidoc"; version="2.0.0"; sha256="1bqabjr8h0ldhmf7mirk0fkv6nrv80zrm2vrx836ib5cxb2hw1yv"; depends=[document highr knitr]; };
   rasclass = derive2 { name="rasclass"; version="0.2.2"; sha256="1lsmv8kh519mz3szb4k9s17fz1480cw0i4qk12givhhm2rpzjy50"; depends=[car e1071 nnet randomForest RSNNS]; };
   rase = derive2 { name="rase"; version="0.3-3"; sha256="03jqf5y5vj354m9psp81wzw6d7dfqr76bfjqv9kannsakkj587sy"; depends=[ape mvtnorm polyCub rgl sm spatstat]; };
   raster = derive2 { name="raster"; version="3.0-7"; sha256="0faxv71hlxkblvbi3ps1vfzm3wwi0brwzmpsr5114bddcqyiqkvn"; depends=[Rcpp sp]; };
-  rasterImage = derive2 { name="rasterImage"; version="0.3.0"; sha256="0csx7wqwxdsddypd1c9wv74gcyymasn9n6pn05a35j6xhqbk2zp3"; depends=[plotrix]; };
+  rasterImage = derive2 { name="rasterImage"; version="0.4.0"; sha256="191m5k1rbbwziznmxbsq4g55afkw8gb5011i70f3wx3dscr3phxz"; depends=[plotrix]; };
   rasterKernelEstimates = derive2 { name="rasterKernelEstimates"; version="1.0.1"; sha256="1733ic1hxym3gyibk2ysy5zzq7s9rbf6jx63x7irnrcavq151f8s"; depends=[raster]; };
   rasterList = derive2 { name="rasterList"; version="0.5.8"; sha256="0q7apglxzpah04463z07cpkzyd6l6dbbdhm601brzh6yk75z20vh"; depends=[raster]; };
   rasterVis = derive2 { name="rasterVis"; version="0.46"; sha256="0lzjqkm22qfcmzgnjv9k9b49hx9xa3vjwcl9935a5kjqsn57ipdy"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp viridisLite zoo]; };
   rasterize = derive2 { name="rasterize"; version="0.1"; sha256="18nrhmq1qmi05rkyr86xsyc8nz0fbdpf2d45h62bbfzbfynqd4qy"; depends=[png]; };
-  rasterpdf = derive2 { name="rasterpdf"; version="0.1.0"; sha256="00l83a26b76wpg0nd9cqms7d5yqw8cg4k5f94j34bxl3d7bzx5vc"; depends=[png]; };
+  rasterly = derive2 { name="rasterly"; version="0.1.0"; sha256="128699nc1y2parfwqfx31afdy3f91z5iarpx8q1v5qfmbmb12ppx"; depends=[data_table ggplot2 magrittr plotly Rcpp rlang]; };
+  rasterpdf = derive2 { name="rasterpdf"; version="0.1.1"; sha256="0zi54nifbb4dzb29i8rskynblw3z42vzaykwbq30ia5zs9q1bvm5"; depends=[png]; };
   ratelimitr = derive2 { name="ratelimitr"; version="0.4.1"; sha256="06x759jxr5zcnvg9q120n5bpipkb16piw15kxrpk7i918mby889b"; depends=[assertthat]; };
   ratematrix = derive2 { name="ratematrix"; version="1.2.1"; sha256="0hbwfgwkkd5a83f3nqk5gdyiqbpzsgshvcjcslaz73si05zsrkgs"; depends=[ape coda corpcor ellipse geiger MASS mvMORPH phylolm Rcpp RcppArmadillo readr]; };
   rateratio_test = derive2 { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
@@ -12100,8 +12342,10 @@ in with self; {
   raw = derive2 { name="raw"; version="0.1.6"; sha256="0hnqwa9pwj3k2y0bs6hxrvbwksjyq0q6m73c9hhlafg8g3lkyxnf"; depends=[]; };
   rawr = derive2 { name="rawr"; version="0.1.0"; sha256="1a8r1vyvki3z2ms4miqv6wq9pzympgifsjx0pzzs6f4b40m083lq"; depends=[dplyr jsonlite rvest xml2]; };
   raws_profile = derive2 { name="raws.profile"; version="0.1.0"; sha256="04f7wk7x9j3rb6nn3zqss9vw0h9a4vpcjyilc2vqy0fm2by41xkg"; depends=[stringr tibble withr]; };
-  rayshader = derive2 { name="rayshader"; version="0.11.5"; sha256="1sycybfpw0d5d7f2579047jr60vay26hzqlvj8a5c9czdyrvlcxs"; depends=[doParallel foreach ggplot2 imager magrittr png progress raster Rcpp RcppArmadillo rgl scales]; };
+  rayrender = derive2 { name="rayrender"; version="0.4.2"; sha256="070h6p7dmai0rrdiyghr97i3jn9yj86ak74zvw019b6g50rid6h6"; depends=[assertthat magrittr png progress purrr raster Rcpp RcppThread tibble]; };
+  rayshader = derive2 { name="rayshader"; version="0.13.1"; sha256="0szwa07kyakgyd0cgj9fl9v7szchi8bqg2j2v8pqmxzs6i103qhr"; depends=[doParallel foreach ggplot2 imager magrittr png progress raster rayrender Rcpp RcppArmadillo rgl scales]; };
   rbacon = derive2 { name="rbacon"; version="2.3.9.1"; sha256="0gnvi0aaw4yyg1cvrdyps2590gx1lwcjl21y4q9zn3k00mnwmc12"; depends=[coda Rcpp]; };
+  rbamtools = derive2 { name="rbamtools"; version="2.16.17"; sha256="0qj37ljdva3v29s01dkrbg31mcfzy3bl145cp40d54v4h9xhcghc"; depends=[refGenome]; };
   rbart = derive2 { name="rbart"; version="1.0"; sha256="1byfm1ycw9nfhdblqklyn8pxn6b9q5fa3inbgfpynqpsid97ig35"; depends=[Rcpp]; };
   rbefdata = derive2 { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[RColorBrewer RCurl rjson rtematres wordcloud XML]; };
   rbenchmark = derive2 { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
@@ -12110,15 +12354,16 @@ in with self; {
   rbi = derive2 { name="rbi"; version="0.10.2"; sha256="158yi9d8pxgb5b1x1qpjzrfnq673vmsbmgm00w0dbk03akcvlfzc"; depends=[data_table ncdf4 processx reshape2]; };
   rbi_helpers = derive2 { name="rbi.helpers"; version="0.3.1"; sha256="0hngqbdydvvp4zmicvnnmwz3fw6pjvgdxp7h80zk1qczid2yg4x5"; depends=[data_table lubridate Matrix rbi reshape2]; };
   rbin = derive2 { name="rbin"; version="0.1.1"; sha256="1rbwm5xc61sva1m3n5hd9vsh7gm4hamswny35zm7j0fyc4v4bzxz"; depends=[DescTools dplyr forcats ggplot2 glue magrittr miniUI purrr recipes rlang rstudioapi shiny tibble]; };
-  rbiouml = derive2 { name="rbiouml"; version="1.8"; sha256="0qvc896sf6idczbxix3klf56paxf0wpfbmga8qqlcyjasv1dsdql"; depends=[RCurl RJSONIO]; };
+  rbiouml = derive2 { name="rbiouml"; version="1.9"; sha256="01ysjq49nhawp0r2by7b15s4b7bzsbn2xhdcyyrh38vrl04rpf57"; depends=[RCurl RJSONIO]; };
   rbison = derive2 { name="rbison"; version="0.8.0"; sha256="0x2yiq1wvm6mzmhfa3ds8mmhidv91hxi14nhz4nib6nmna3c9al2"; depends=[crul data_table dplyr ggplot2 jsonlite mapproj plyr sp]; };
   rbit = derive2 { name="rbit"; version="1.0.0"; sha256="09ywr711gv0vgfims2vfcxk3rnd0iadzlksil0q9159yarapfc59"; depends=[R6]; };
   rbitcoinchartsapi = derive2 { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RCurl RJSONIO]; };
-  rblt = derive2 { name="rblt"; version="0.2.4.3"; sha256="0s205cyhndcs3gjyh311fii9pmckp5mp4w9sagdpa4qsjh5x1hx4"; depends=[data_table dygraphs h5 shiny xts]; };
+  rblt = derive2 { name="rblt"; version="0.2.4.4"; sha256="0psxv9rrbyk4j4nh60fwcn67xk2czhyzdjvjn52256ag192z6lms"; depends=[data_table dygraphs h5 shiny xts]; };
   rbmn = derive2 { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
   rbokeh = derive2 { name="rbokeh"; version="0.5.0"; sha256="1lpbph6bhh9rf5rs0ivp8dchx8i8ylz5nr7xc2xv9bnwlwj35729"; depends=[digest ggplot2 gistr hexbin htmlwidgets jsonlite lazyeval magrittr maps pryr scales]; };
   rbounds = derive2 { name="rbounds"; version="2.1"; sha256="1h334bc37r1vbwz1b08jazsdrf6qgzpzkil9axnq5q04jf4rixs3"; depends=[Matching]; };
   rbraries = derive2 { name="rbraries"; version="0.1.0"; sha256="12vdci4rzjvd419nxh99hpkhjlx86nsmrbjca0am5q0rkc68dgmj"; depends=[crul data_table fauxpas jsonlite tibble]; };
+  rbridge = derive2 { name="rbridge"; version="1.0"; sha256="1ggak2rp20vs3zzpl86yaa9dkxxwmnznbzxcy4wzdgsllmfij628"; depends=[dplyr Matrix Rcpp RcppArmadillo]; };
   rbtc = derive2 { name="rbtc"; version="0.1-6"; sha256="1z5p1jn5b0hzwcbdpiwj224h45x01bbsgkskllir5j13l416561p"; depends=[gmp httr openssl rjson]; };
   rbtt = derive2 { name="rbtt"; version="0.1.0"; sha256="1gbsb0vmqxcl28c5nn0rz95bxrvl7i0b17lq90cj5ahbk6x9jblz"; depends=[data_table]; };
   rbundler = derive2 { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
@@ -12149,6 +12394,7 @@ in with self; {
   rcorpora = derive2 { name="rcorpora"; version="2.0.0"; sha256="1b8xa81mn3afadz77576vda9b0d99f1k096drxrpqd989g993aqy"; depends=[jsonlite]; };
   rcosmo = derive2 { name="rcosmo"; version="1.1.1"; sha256="195cxjgkcgz9qx51hsg9bd2y7c96dk69c8yvy9s2w59jy9iy5i7y"; depends=[cli entropy FITSio geoR mmap nnls Rcpp rgl tibble]; };
   rcreds = derive2 { name="rcreds"; version="0.6.6"; sha256="1sdrdgn53kgcdnxfjs8jh0h538vb3b9ixz74lbnp54yp09jpqsri"; depends=[collectArgs digest jsonlite magrittr]; };
+  rcrimeanalysis = derive2 { name="rcrimeanalysis"; version="0.1.0"; sha256="17s5k0p24vgy34gp213sxy7d7fd3fl8zyhiibszm2z81aknpszz8"; depends=[dplyr forecast ggmap htmltools igraph KernSmooth leaflet lubridate raster rgdal sp]; };
   rcrossref = derive2 { name="rcrossref"; version="0.9.2"; sha256="1383xlwy3vj08hhghx5zsy0890zsm402x9hdqzs5x5q7mxkqdwjq"; depends=[bibtex crul dplyr DT jsonlite miniUI plyr R6 shiny stringr xml2]; };
   rcrtan = derive2 { name="rcrtan"; version="0.1.1"; sha256="0kcp3gnjmp00i1hsjagpp0dlr6zgpc4y5ihpx93hm4m3fnzcmn7x"; depends=[dplyr magrittr purrrlyr tibble tidyr]; };
   rcrypt = derive2 { name="rcrypt"; version="0.1.1"; sha256="002r5wr0bmqbj014iz8wacj883j6gqcxc786m6p9a7zdrjpx2pqi"; depends=[]; };
@@ -12174,33 +12420,34 @@ in with self; {
   rdist = derive2 { name="rdist"; version="0.0.3"; sha256="1jp3s4293h973dpz0waq9abpd8ibp4gxdyk3bwn7a32zfpk4kjza"; depends=[Rcpp RcppArmadillo]; };
   rdiversity = derive2 { name="rdiversity"; version="1.2.1"; sha256="0j67b9mnq2xfbi2hrn1x9vgdv63779d0rcbzndljh37b1x5zlr22"; depends=[ape ggplot2 ggthemes phangorn phytools plyr reshape2 tibble tidyr]; };
   rdlocrand = derive2 { name="rdlocrand"; version="0.5"; sha256="1dadb3yazk9kn051rswq3568m77x44485l2268ahm0im6bj2i7al"; depends=[AER sandwich]; };
-  rdmulti = derive2 { name="rdmulti"; version="0.2"; sha256="1sl677kaq5qr2m9nzxfslwzai7h07mdfqjjzrak2xbpgqa44288z"; depends=[rdrobust]; };
+  rdmulti = derive2 { name="rdmulti"; version="0.3"; sha256="0s65zpy4zlqzdg34wq1bf2g0r97iak3fscrik2p83p4ah4gf4raw"; depends=[rdrobust]; };
   rdnb = derive2 { name="rdnb"; version="0.1-3"; sha256="0g85masa1a2c26l12i6ck1hdjvm2saqdlqnwb2p29rm9spmc04qg"; depends=[brew httr stringr xml2]; };
   rdoc = derive2 { name="rdoc"; version="0.1.0"; sha256="0ac6413jyrr7m25z30n3bpiafsvjx38ik6rrjzsiqxrfp41j6l9x"; depends=[cli crayon prettycode R6]; };
   rdoxygen = derive2 { name="rdoxygen"; version="1.0.0"; sha256="16907969w66xvy62k45rw10qfv4x8z6jkkc6i97vppkgnlvf4d4b"; depends=[devtools]; };
   rdpla = derive2 { name="rdpla"; version="0.2.0"; sha256="0d32bp68z1agymcmjwnds4fkblhjrcx8i2q6f5b7sl4kdfdbjchf"; depends=[crul data_table hoardr jsonlite tibble]; };
-  rdpower = derive2 { name="rdpower"; version="0.3"; sha256="1jdr18xrnws07iczi1f52l3py9fhxgvpina230jyr713hz99hzm3"; depends=[rdrobust]; };
+  rdpower = derive2 { name="rdpower"; version="0.4"; sha256="050yy1zwkxniqails24nmmaglcmlx50niqqqw5sgqfyn64yxndk1"; depends=[rdrobust]; };
   rdrobust = derive2 { name="rdrobust"; version="0.99.4"; sha256="0ykz9lgkr95l6h7jk9k8k0yv26hd4iyvgr9j298l388ry9w1ph9w"; depends=[]; };
   rdrop2 = derive2 { name="rdrop2"; version="0.8.1"; sha256="1f4ysck58dm40k4wn9nfjaxym0mbgfkm146iidfkz7agmd1x0xyl"; depends=[assertive digest dplyr httr jsonlite magrittr purrr]; };
   rdryad = derive2 { name="rdryad"; version="0.4.0"; sha256="19ca618hymvpk5byrrglc6iidsgm6wn43fypspssa7b3r1c4xhdc"; depends=[crul curl data_table oai solrium tibble xml2]; };
   rdtLite = derive2 { name="rdtLite"; version="1.2"; sha256="1g4y8rsq7hy8kwradlmkmf4r309128mb3mfdyxjb24acazmaybyl"; depends=[curl digest ggplot2 gtools jsonlite knitr rmarkdown sessioninfo stringi XML]; };
-  rdwd = derive2 { name="rdwd"; version="1.1.0"; sha256="1zx00bbfh0nqycs3h2f05kridikxqq59xaqkvbxv4rm827y8356x"; depends=[berryFunctions pbapply]; };
+  rdwd = derive2 { name="rdwd"; version="1.2.0"; sha256="1vcw5pcvcw1rx6dwwwh9j9g2pb1m81g812abd5h8zq5n7plkd2jk"; depends=[berryFunctions pbapply]; };
   re2r = derive2 { name="re2r"; version="0.2.0"; sha256="0xv355h4bps4a0picxmi6i15niq4knlail80fp9xvszyn72pm8gq"; depends=[htmlwidgets Rcpp RcppParallel stringi]; };
   reGenotyper = derive2 { name="reGenotyper"; version="1.2.0"; sha256="13g4fhj25kdk6wbl1hcabcaxcpv0dj0hj2l502wl1aywk1fvmy8m"; depends=[gplots MatrixEQTL zoo]; };
-  reReg = derive2 { name="reReg"; version="1.1.6"; sha256="198vgf3294if9zmvl54pgx6ram63pswpjnh44fy7n60g8nza44bb"; depends=[BB dplyr ggplot2 MASS nleqslv plyr purrr SQUAREM survival tibble tidyr]; };
+  reReg = derive2 { name="reReg"; version="1.2.1"; sha256="0nfi02wlmb1n8j134qgv3p03z2j200kkrwhvd5i17ybhzpwfndri"; depends=[BB ggplot2 MASS nleqslv reda scam SQUAREM survival]; };
   reactR = derive2 { name="reactR"; version="0.4.1"; sha256="0fzx0qy9s366gd81xiz36k3v4d9sdsrrf3m5azlghvbvq5h42wxv"; depends=[htmltools]; };
+  reactable = derive2 { name="reactable"; version="0.1.0"; sha256="00ydsx8g27a40qwnkp593dd9pn62r32riry9ayhv3nzqa6mwzb4d"; depends=[digest htmltools htmlwidgets jsonlite reactR]; };
   reactlog = derive2 { name="reactlog"; version="1.0.0"; sha256="1pajxd9k208s06sava2gqip22pzwlyslnfvkbkfw47mp4wb7zmk9"; depends=[jsonlite]; };
   read_dbc = derive2 { name="read.dbc"; version="1.0.5"; sha256="1vrvxkcrk3iw5am9rsadxzf0wsr7z2mdpa5wb0v9jbhda710b4yf"; depends=[foreign]; };
   read_gb = derive2 { name="read.gb"; version="1.6"; sha256="17py6al9cwq4jmab7k2164f7hi8943gi8a50d8zpn1xms9l2cnld"; depends=[]; };
   readABF = derive2 { name="readABF"; version="1.0.1"; sha256="0w85v8dl337lsyfad3hxwavma1gnhi4wyszdj8npaz37y12nk2gy"; depends=[]; };
   readBrukerFlexData = derive2 { name="readBrukerFlexData"; version="1.8.5"; sha256="1qmimfxwh6d7s5qrnnk20i2f9l5j1ci3wpfs3qlmggz69jzf589m"; depends=[]; };
   readHAC = derive2 { name="readHAC"; version="1.0"; sha256="0z80ai6xfswwgdfh83l9sq279c97n0wz25bk2l7xfb6w0sndzq53"; depends=[]; };
-  readJDX = derive2 { name="readJDX"; version="0.3.250"; sha256="0h7yfc0y4b67rhh949zknqyjx0jknsld1099y9x563a5lhzwrchv"; depends=[stringr]; };
+  readJDX = derive2 { name="readJDX"; version="0.4.29"; sha256="0hy8lcy8n2qf17b5q7q67mmv23m155nd9dcnlpgvzcr6hsify78q"; depends=[stringr]; };
   readMLData = derive2 { name="readMLData"; version="0.9-7"; sha256="0l752j1jq37j9pdcsbmcb23b5l8fkfsbisfr3yjy3q4rxsphc7k6"; depends=[XML]; };
   readMzXmlData = derive2 { name="readMzXmlData"; version="2.8.1"; sha256="03lnhajj75i3imy95n2npr5qpm4birbli922kphj0w3458nq8g8w"; depends=[base64enc digest XML]; };
   readODS = derive2 { name="readODS"; version="1.6.7"; sha256="1nvkhjv3i6l7d15v2abxg4141hrgv2jmc4agxi2d0wv6j1fc1ya1"; depends=[cellranger readr stringi xml2]; };
   readOffice = derive2 { name="readOffice"; version="0.2.2"; sha256="0dg7fwxdl41nrjqnxvh9rpz0la99iid0wy51gncjwrh3s85fj2ks"; depends=[magrittr purrr rvest xml2]; };
-  readabs = derive2 { name="readabs"; version="0.4.1"; sha256="1kjvvasc780icfx8wn456y9fsa1rllg09vbsy6ym4cifnws74100"; depends=[curl dplyr purrr readr readxl rsdmx stringr tibble tidyr XML]; };
+  readabs = derive2 { name="readabs"; version="0.4.2"; sha256="08lkddcfvb3j4nlkbnqwxb7w7a95hklfgky6jhlk119r1czb5ycd"; depends=[curl dplyr purrr readr readxl rsdmx stringr tibble tidyr XML]; };
   readbitmap = derive2 { name="readbitmap"; version="0.1.5"; sha256="14825906l326w59g6apy00j55jg3h5kx2r6s031f4gdkbrc7szbk"; depends=[bmp jpeg png tiff]; };
   readbulk = derive2 { name="readbulk"; version="1.1.2"; sha256="0341sp9jqqci62zx6my4r50dwrysgjppjasx2lf1dj8w5bv559rd"; depends=[jsonlite plyr]; };
   reader = derive2 { name="reader"; version="1.0.6"; sha256="1x489q3ljap4zpny68mx83mgxaqiwlkglcy57whwhnh33dd7qp4h"; depends=[NCmisc]; };
@@ -12212,11 +12459,12 @@ in with self; {
   readsdmx = derive2 { name="readsdmx"; version="0.3.0"; sha256="188yzkjblbjly032312w0fazj7k7j4ynqfc69xpblnw4gs708sx0"; depends=[Rcpp]; };
   readstata13 = derive2 { name="readstata13"; version="0.9.2"; sha256="02mqwpzn7n3pqjxivnd1vlfc47xkyiywfz594x0f6vd2dym8rdwd"; depends=[Rcpp]; };
   readtext = derive2 { name="readtext"; version="0.75"; sha256="0xbl4q3y4kzigr6rgqb04sq1xqddfzqivkjmbd0v5sfammrhla8n"; depends=[antiword data_table digest httr jsonlite pdftools readODS readxl streamR stringi striprtf tibble xml2]; };
+  readthat = derive2 { name="readthat"; version="0.0.1"; sha256="04vnpvfa8in3gxi6nv3si59hr8hj17wq3a5n8rnpiaczg46qr1dr"; depends=[curl Rcpp]; };
   readwritesqlite = derive2 { name="readwritesqlite"; version="0.0.2"; sha256="064imgjl197avdsjhqvlg9yzgsp4p4yisvk62l6arcnkixwlz086"; depends=[checkr DBI dttr2 err hms RSQLite sf tibble units]; };
   readxl = derive2 { name="readxl"; version="1.3.1"; sha256="15mambxr8c7k2ikdfsl1w3vxvm54dsnk0cl1qvks6iig7rql3d14"; depends=[cellranger progress Rcpp tibble]; };
   readxlsb = derive2 { name="readxlsb"; version="0.1.2"; sha256="0vm1hl8rjmcly6wkq06x9q5yswcdxasdc66xgpvhvw8mf0q6rlkd"; depends=[cellranger Rcpp xml2]; };
   reams = derive2 { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
-  rebird = derive2 { name="rebird"; version="1.0.0"; sha256="0gp8afj6y3vss2b11v0fqyc3ai67kilicr4fnk5zghljfvbxsxm8"; depends=[assertthat dplyr httr jsonlite]; };
+  rebird = derive2 { name="rebird"; version="1.1.0"; sha256="0l1wignhs4hsy0yshr9gh9mwy8h794injkl5f7flkl1m4c39rz8w"; depends=[assertthat dplyr httr jsonlite]; };
   rebmix = derive2 { name="rebmix"; version="2.10.3"; sha256="0yhazicibq8h2d7ldv59isapc6f68psawa3vrs1fdzwkrraj6893"; depends=[mvtnorm]; };
   rebus = derive2 { name="rebus"; version="0.1-3"; sha256="0ms3dm6g0fq3jycpgjl7q7kyljxc97cczy2jj0lyviwmipdgjg9d"; depends=[rebus_base rebus_datetimes rebus_numbers rebus_unicode]; };
   rebus_base = derive2 { name="rebus.base"; version="0.0-3"; sha256="1n2khszcya9k6379bdkq47xi2nw9jngiwj7z8a14wfswqydczv6y"; depends=[]; };
@@ -12237,21 +12485,19 @@ in with self; {
   reconstructr = derive2 { name="reconstructr"; version="2.0.2"; sha256="0pzpd2l1b6y1b1lnd95lpc5s8niz7p56vkmxgyi6g6b25vh9c2vi"; depends=[openssl Rcpp]; };
   recorder = derive2 { name="recorder"; version="0.8.2"; sha256="1j3fqqp5vi8z3hxqgb887v9r8x0cl5jikiyx3c7arwna7k89215a"; depends=[crayon data_table]; };
   recosystem = derive2 { name="recosystem"; version="0.4.2"; sha256="1bn6l23gqmfpr6w60ph7zgv53vy3vnq9zdy5x0a8n1yp6b0lw48x"; depends=[Rcpp RcppProgress]; };
-  recurse = derive2 { name="recurse"; version="1.1.0"; sha256="1zgzzhbvdzqgmgzj43yvpyc7ahbkn96l5wyr1iqpnn3ha78fy0p3"; depends=[Rcpp]; };
   red = derive2 { name="red"; version="1.4.0"; sha256="1z8ja8qbwgpbmy4ira9q6x482nw5rm4bksm82y0vc4gwpdxls5z3"; depends=[BAT dismo geosphere jsonlite maptools raster rgdal rgeos sp]; };
   redR = derive2 { name="redR"; version="1.0.1"; sha256="0bd1jzjip6p449m9ysi4kybxqljh2wj8z9mrgyk1cy08bjivd1cd"; depends=[imager]; };
-  reda = derive2 { name="reda"; version="0.4.1"; sha256="0aq6c2h694kdmjis12g4nxq5hdlzsi42nbnpzq7wic305l5r7nxl"; depends=[ggplot2 Rcpp RcppArmadillo splines2]; };
+  reda = derive2 { name="reda"; version="0.5.0"; sha256="05lbhamd8z0bhc7cvpd24nmgsc5lfzidjynbi0dzbvkn2gphpdzs"; depends=[ggplot2 Rcpp RcppArmadillo splines2]; };
   redcapAPI = derive2 { name="redcapAPI"; version="2.2"; sha256="0bszw9px7ddcwnc1p3zpd8426mwym5369hglz3qm5x92va1j4036"; depends=[checkmate chron DBI httr labelVector lubridate readr stringr tidyr]; };
   reddPrec = derive2 { name="reddPrec"; version="0.4.0"; sha256="0zmkaiivvjq8mcaz310zgjjc7y0wgsqv29bf8nhli5qawaczvb9a"; depends=[fields snowfall]; };
   redist = derive2 { name="redist"; version="1.3-3"; sha256="18asjam8hvayvnfysyjzbazjn27ds7163qhdq0p9aqlx03v89aa9"; depends=[coda doParallel foreach Rcpp RcppArmadillo sp spdep]; };
-  redland = derive2 { name="redland"; version="1.0.17-10"; sha256="0k28896jsxy1qxnn6iyx3xxasq4y171xfjragqkj568nn9lmzfi8"; depends=[roxygen2]; };
+  redland = derive2 { name="redland"; version="1.0.17-11"; sha256="1xbzz6iv4yal1gwplnb9d4z0xzrv25hnqmr6ima2aq9mirwr1l5b"; depends=[roxygen2]; };
   redlistr = derive2 { name="redlistr"; version="1.0.3"; sha256="003jxfmj1gryw77vnrvaxmpvjbshlq53wgcrj02mcywfcqzg4jcr"; depends=[plyr raster rgeos sp]; };
   redshiftTools = derive2 { name="redshiftTools"; version="1.0.1"; sha256="0rg9s9i7cdy2qm45bpm50d7859pqx1kmk4m8gpazkp0kgr7alb7l"; depends=[aws_s3 DBI progress purrr]; };
   redux = derive2 { name="redux"; version="1.1.0"; sha256="0a551w7fph338mqzxda6y21lsad19dway7w18jw9cv1rgvcp9nvc"; depends=[R6 storr]; };
   ref_ICAR = derive2 { name="ref.ICAR"; version="1.0"; sha256="0k6czsbjclgmi7vp5hl50jghkzm573s50993iz3dcv55mv662251"; depends=[coda MCMCglmm mvtnorm Rdpack rgdal spdep]; };
   refGenome = derive2 { name="refGenome"; version="1.7.7"; sha256="1za89bn3am1zgvm641qi1ab6kaqpll4rb9p9f1sjwvcgqq6065g5"; depends=[DBI doBy RSQLite]; };
   referenceIntervals = derive2 { name="referenceIntervals"; version="1.1.1"; sha256="04199nxh216msaghkp66zsi96h76a7c42ldml0fm66v2vamcslg8"; depends=[boot car extremevalues outliers]; };
-  refimpact = derive2 { name="refimpact"; version="1.0.0"; sha256="0qifqhar2pv81npsxl2pj713vgldyap7y79fq20jpk7qigzf9573"; depends=[checkmate curl httr jsonlite tibble xml2]; };
   refinr = derive2 { name="refinr"; version="0.3.1"; sha256="0q76sr050pg3ahwzcxj08mjig0k2jq8yh7nv6d914pwg3dhq05sn"; depends=[Rcpp stringdist stringi]; };
   refnr = derive2 { name="refnr"; version="0.1.0"; sha256="1gjjzxpyxm1kf1pqk99bd7f2j85rzmww3r1268bccivf19rs881i"; depends=[]; };
   refset = derive2 { name="refset"; version="0.1.1"; sha256="1xbwvm9066g3f7pd34z5jh04vph4ddy2lkcgmf4kiwa1k5czpwg1"; depends=[]; };
@@ -12271,7 +12517,6 @@ in with self; {
   regress = derive2 { name="regress"; version="1.3-15"; sha256="1cgr0r49cmr8nzs2lr2cm8lli1i8azyas0lbnf1681kyab15c0r7"; depends=[]; };
   regressoR = derive2 { name="regressoR"; version="1.1.8"; sha256="1a8whcr32sjv6lncch8y1n7xs44djm3nx90lpvh8z8r5ggc8bw21"; depends=[colourpicker corrplot dplyr DT e1071 flexdashboard gbm ggplot2 glmnet htmltools kknn neuralnet pls randomForest rattle ROCR rpart shiny shinyAce shinydashboardPlus shinyjs shinyWidgets xgboost zip]; };
   regrrr = derive2 { name="regrrr"; version="0.1.0"; sha256="0h9vag1ypf5ycvz5fbfvw4nh4l8dgn2kmsgzq9kmn7hw2qsjwbbl"; depends=[dplyr ggplot2 magrittr MuMIn purrr rlang robustbase scales spatstat stringr tidyr usdm]; };
-  regsel = derive2 { name="regsel"; version="0.2"; sha256="0wwwpawqsqimaldy0zxnqsy23nwp30ypa5dnrnndwhbs4qz99c9w"; depends=[elasticnet glmnet]; };
   regsem = derive2 { name="regsem"; version="1.3.9"; sha256="1klml4bp76mplipxaca7fk653cjxgdmmiciksxgiglxkzmf2bdps"; depends=[lavaan Rcpp RcppArmadillo Rsolnp]; };
   regspec = derive2 { name="regspec"; version="2.4"; sha256="18i6k2wqaddrc0dz7v8x3s9205dcfwanqhpnxa9hkpyqzbb17pd3"; depends=[]; };
   regsubseq = derive2 { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
@@ -12291,8 +12536,7 @@ in with self; {
   relabeLoadings = derive2 { name="relabeLoadings"; version="1.0"; sha256="16gxdrhkaaa33hypnsacn4vd1g3lbqdl3j8p8va54v777c561g81"; depends=[]; };
   relaimpo = derive2 { name="relaimpo"; version="2.2-3"; sha256="0pbffalyhmfigyynkl6il60dyyf2aw1i71sncwrqcp18qgx4bxq9"; depends=[boot corpcor MASS mitools survey]; };
   relatable = derive2 { name="relatable"; version="1.0.0"; sha256="0147gin6dn76gg7gassar64f0w2gny1sh0k60v7914qhb4sj4s7i"; depends=[compare]; };
-  relations = derive2 { name="relations"; version="0.6-8"; sha256="0zld95ak07g3gqgjq80p18sww2ib5xg45idrvhxjvn19wddy87vz"; depends=[cluster sets slam]; };
-  relaxnet = derive2 { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; };
+  relations = derive2 { name="relations"; version="0.6-9"; sha256="0vq4wawj9k3a9n70i7y6c7k2jylmyczsi6iqssydn5z5h48m15fj"; depends=[cluster sets slam]; };
   relaxo = derive2 { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
   reldist = derive2 { name="reldist"; version="1.6-6"; sha256="09vips7spcz0fahrpy0bl15hk43zgnq74h189hmygyi41l95aywa"; depends=[Hmisc mgcv]; };
   relen = derive2 { name="relen"; version="1.0.1"; sha256="0br7c3j30a1yc61pyinmk5lvk8zw9rivd0z2096g6crgmbzix8ml"; depends=[]; };
@@ -12309,15 +12553,17 @@ in with self; {
   remote = derive2 { name="remote"; version="1.2.1"; sha256="1ihzjxbvas7396cwsi9am4pl94naxa9dnhbnh8k0l5p4a50mk33w"; depends=[gridExtra latticeExtra mapdata raster Rcpp scales]; };
   remoter = derive2 { name="remoter"; version="0.4-0"; sha256="1a7m63l8phv5jnazvdqdrqkaqjwqzaac5y4jm2jn0ypy4n8jvkfl"; depends=[argon2 getPass pbdZMQ png]; };
   remotes = derive2 { name="remotes"; version="2.1.0"; sha256="19v8dmnk9l4i9m64p7zgmj7y1vhnnwhi5kyn0k5d034zzkvchi49"; depends=[]; };
+  remss = derive2 { name="remss"; version="1.0.0"; sha256="0dl7iqg65qgafq7s1srcymqzvplkpzplpn6g68lb1mqirqzvgpqw"; depends=[survival]; };
   renpow = derive2 { name="renpow"; version="0.1-1"; sha256="0kbfpzr17fvf5zzxpzdhvfmrqmlkba2w3rzxl5q5ac1w3h75gfhc"; depends=[]; };
   rentrez = derive2 { name="rentrez"; version="1.2.2"; sha256="0ghrvh1czf2kbz7p5fh5c20wiwppg6x6fdns247fvlh6zmjl5jz5"; depends=[httr jsonlite XML]; };
+  renv = derive2 { name="renv"; version="0.8.3"; sha256="0034jlaq7z40q3hcpkjlaff37dpn46kvxvzw4scbwlw4x9q8sx9j"; depends=[]; };
   repeated = derive2 { name="repeated"; version="1.1.2"; sha256="19kcsj96i1zpnwfan3gz5vrzc2gqlah0wrdr9vb4vvacz45wcdfq"; depends=[rmutil]; };
   repec = derive2 { name="repec"; version="0.1.0"; sha256="0alr9fbmfxmnnnn1qymy65crcycynwz435jj0vangbb4p0qhv8pm"; depends=[jsonlite]; };
   repfdr = derive2 { name="repfdr"; version="1.2.3"; sha256="0jpk44arg1jib0h2w90h851bs5cd1ss32fab9bfvf9iir2jk8985"; depends=[Rcpp]; };
-  replicateBE = derive2 { name="replicateBE"; version="1.0.11"; sha256="0j958jzkw67yjjmfxh9y42bdv0z3dyki6qcxvacj4c6qmb26b0jq"; depends=[lmerTest nlme pbkrtest PowerTOST readxl]; };
+  replicateBE = derive2 { name="replicateBE"; version="1.0.12"; sha256="1vvl88vak56s2q96crr34q8lpwp0davpqysvzxrs5y1sswb6xb3b"; depends=[lmerTest nlme pbkrtest PowerTOST readxl]; };
   replicatedpp2w = derive2 { name="replicatedpp2w"; version="0.1-2"; sha256="0nskwkqm9z2aphpim6pvykhc3fphlsbap3r49nghkwjpngd0qzj8"; depends=[spatstat spatstat_utils]; };
   replicationInterval = derive2 { name="replicationInterval"; version="2.0.1"; sha256="1jyvyqr8r2fs1cmbz7zjcc8p116bnkslvx27pqi92y5pxgqvsqvr"; depends=[ggplot2 MASS MBESS pbapply]; };
-  replyr = derive2 { name="replyr"; version="1.0.4"; sha256="1vz2lw2b587c7yc2l9x2rx9wdb2l3nfr3cjv1jy0h4y9k5rmzfpg"; depends=[DBI dbplyr dplyr rlang wrapr]; };
+  replyr = derive2 { name="replyr"; version="1.0.5"; sha256="0k77rz0vwgyhdgvry3j2i290w1378fjjfkfrykb0b6wjs7pq4q4b"; depends=[DBI dbplyr dplyr rlang wrapr]; };
   repmis = derive2 { name="repmis"; version="0.5"; sha256="0z5mjbsl24yjbl0aawr35grcal44rf2xbwv1hy7bdkms94ix79b5"; depends=[data_table digest httr plyr R_cache]; };
   repo = derive2 { name="repo"; version="2.1.3"; sha256="1g72zvj2mg8cxfy1w3d46lkk4hayad64ns5w1y43731whzraxk95"; depends=[digest]; };
   repolr = derive2 { name="repolr"; version="3.4"; sha256="13kmy09c7lk8p1mkdss0krcsfb6d7zcnqpwnl38zkanvh8q3fqhm"; depends=[Matrix Rcpp RcppArmadillo]; };
@@ -12332,14 +12578,14 @@ in with self; {
   represtools = derive2 { name="represtools"; version="0.1.3"; sha256="00hnvzkkcl9d3k115i5l9gs0wah5d11amn7q62m1j158lkqlcfza"; depends=[whisker]; };
   reprex = derive2 { name="reprex"; version="0.3.0"; sha256="0v7vxzs8alwz8y1cjicpimp5yimf1g9gb8x5wy3zhvrz6kk2lg10"; depends=[callr clipr fs rlang rmarkdown whisker withr]; };
   reproducer = derive2 { name="reproducer"; version="0.3.0"; sha256="0z0gkikr5219wb20hndqlflxar1mn3638zn2095ja0b2d1cn40nk"; depends=[dplyr GetoptLong ggplot2 gridExtra httr jsonlite lme4 magrittr MASS metafor openxlsx readr reshape stringr tibble tidyr xtable]; };
-  reproducible = derive2 { name="reproducible"; version="0.2.10"; sha256="08k9kly2fhim2zv7dv8sd79wxpaqaf1ssb0jyvn2ci9hb1rvv7ms"; depends=[archivist backports crayon data_table digest dplyr fastdigest fasterize fpCompare gdalUtils git2r googledrive httr magrittr memoise quickPlot R_utils raster RCurl remotes rgdal rgeos rlang sf sp testthat versions]; };
+  reproducible = derive2 { name="reproducible"; version="0.2.11"; sha256="08pjmhhcgcrnrr8w6sdc3phz2ymp2b7gml0848f384blqkg9wavj"; depends=[archivist backports crayon data_table digest dplyr fastdigest fasterize fpCompare gdalUtils git2r googledrive httr magrittr memoise quickPlot R_utils raster RCurl remotes rgdal rgeos rlang sf sp testthat versions]; };
   reproj = derive2 { name="reproj"; version="0.4.0"; sha256="0liwv4sgxdm42vyykjyc3jihcxk3b5q0d7cwgai8349nn1ah0wdh"; depends=[proj4 tibble]; };
   repurrrsive = derive2 { name="repurrrsive"; version="1.0.0"; sha256="1nmy88h2bfv2bad282kbrmnkjx9d8klgzv4mm8nspm049s09ydmz"; depends=[tibble]; };
   reqres = derive2 { name="reqres"; version="0.2.3"; sha256="0dly09h8dpjlmvrd1wfg1gqcqhm03ax97qr0nd1p0fg9y0pdapya"; depends=[assertthat brotli jsonlite R6 stringi urltools webutils xml2]; };
   request = derive2 { name="request"; version="0.1.0"; sha256="1q7zd6q00gdqmgq7s7nq1ixmns8zn2amr5zah9rwnsn8dkllj9yh"; depends=[curl httr jsonlite lazyeval magrittr R6 whisker]; };
   requireR = derive2 { name="requireR"; version="1.0.0.1"; sha256="192l7i3q7s2a6n737an3fn258agjsdzh0q2w0vc8jbz7v4f3i92d"; depends=[]; };
   rerddap = derive2 { name="rerddap"; version="0.6.5"; sha256="1pmpf9jdgp71ganzslwlp5qhkxhy7snaxgbrrym7swx6v2jnwhmv"; depends=[crul data_table digest dplyr hoardr jsonlite ncdf4 tibble xml2]; };
-  rerddapXtracto = derive2 { name="rerddapXtracto"; version="0.4.4"; sha256="03sd24hbm9s3q014ys77avjbqpm9mpl8lmaw9r6bwbq81jw2ak9c"; depends=[abind dplyr ggplot2 httr maps ncdf4 parsedate plotdap readr rerddap sf sp]; };
+  rerddapXtracto = derive2 { name="rerddapXtracto"; version="0.4.5"; sha256="1c185qckr931a0rqr5l1c4vpcqy1ll8387ssb0lfrwbah41j11sj"; depends=[abind dplyr ggplot2 httr maps ncdf4 parsedate plotdap readr rerddap sf sp]; };
   rerf = derive2 { name="rerf"; version="2.0.4"; sha256="0ykgxdmkqapdpk5zwi8h1cbsvjv6jpscqpr5cjmdzdan22m09l6k"; depends=[dummies mclust Rcpp RcppArmadillo RcppZiggurat]; };
   resample = derive2 { name="resample"; version="0.4"; sha256="1rckzm2p0rkf42isc47x72j17xqrg8b7jpc440kn24mqw4szgmgh"; depends=[]; };
   resampledata = derive2 { name="resampledata"; version="0.3.1"; sha256="1nxjqvxxvycccmh1n7lpc4k8zmwnciicfr5rzfid1icij5fzw3ak"; depends=[]; };
@@ -12350,13 +12596,13 @@ in with self; {
   reshape2 = derive2 { name="reshape2"; version="1.4.3"; sha256="03ki5ka1dj208fc0dclbm0b4xp9d769pah2j9cs34l776p4r9zwa"; depends=[plyr Rcpp stringr]; };
   reshapeGUI = derive2 { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[gWidgets gWidgetsRGtk2 plyr reshape2]; };
   respirometry = derive2 { name="respirometry"; version="1.0.1"; sha256="1syc2gf3jri90pi0qmrhwg472rn6dx8abpr9yb8jb5q1f1qs07p0"; depends=[birk lubridate marelac measurements minpack_lm PKNCA seacarb segmented]; };
-  restatapi = derive2 { name="restatapi"; version="0.3.6"; sha256="1g82vnka0nq98rxjjx6ph8dsd7dgarq4fwsf4c8jfsna6r1prrcx"; depends=[data_table rjson rsdmx xml2]; };
+  restatapi = derive2 { name="restatapi"; version="0.4.0"; sha256="0syacz5fy0hcqfzj0x0ymkdwb61j9qn9s4maijywpd3yhrk2ijjs"; depends=[data_table rjson rsdmx xml2]; };
   restfulr = derive2 { name="restfulr"; version="0.0.13"; sha256="1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv"; depends=[RCurl rjson S4Vectors XML yaml]; };
   restimizeapi = derive2 { name="restimizeapi"; version="1.0.0"; sha256="1ss6fng5pmqg6cafc256g9ddz8f660c68ysxfan6mn4gdaigz7lb"; depends=[RCurl RJSONIO]; };
   restlos = derive2 { name="restlos"; version="0.2-2"; sha256="083w1ldax8bnf3w4119damma2nz75c3ki187b0275i1mqxqrixp7"; depends=[geometry igraph limSolve rgl som]; };
   restorepoint = derive2 { name="restorepoint"; version="0.2"; sha256="0pjp5dvycvfg75hhj8lrr2lrjn6n6bqj0ziwyd87lyi15b9j8w4s"; depends=[]; };
   restrictedMVN = derive2 { name="restrictedMVN"; version="1.0"; sha256="0qynkg244gzq0yjb0716w7g1sxdq66i11ss8jij86h2mz3ykj137"; depends=[MASS]; };
-  restriktor = derive2 { name="restriktor"; version="0.2-15"; sha256="1m3ng5cmkiim5gwi3v18d0987ghw1pkxxyw37pyz02iwlhzdj06s"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
+  restriktor = derive2 { name="restriktor"; version="0.2-250"; sha256="0ks6fg76y1h7mgdxgl0w895ykwp3dri6if2va08aj4sqxcgg1rpa"; depends=[boot ic_infer lavaan MASS mvtnorm quadprog]; };
   resumer = derive2 { name="resumer"; version="0.0.3"; sha256="0ilya3v75989zqm16x69w4599ax2s5j2n6f16bmhwydrmzxs1g48"; depends=[dplyr rmarkdown useful]; };
   rethinker = derive2 { name="rethinker"; version="1.1.0"; sha256="02zfx08s5xisv1v4y16iqbddi9kb3fcr249b3414fzvs4nm5as94"; depends=[rjson]; };
   reticulate = derive2 { name="reticulate"; version="1.13"; sha256="1qwxh7zq9igl7dxl5g5qjbvv0mlac3w80djnkm0w8rxnaval3gmd"; depends=[jsonlite Matrix Rcpp]; };
@@ -12366,7 +12612,7 @@ in with self; {
   retrodesign = derive2 { name="retrodesign"; version="0.1.0"; sha256="173jrpzasimplv8vbm8gzpl8aibnsjkgvhz1hd75is0b2l8gnbxy"; depends=[]; };
   reutils = derive2 { name="reutils"; version="0.2.3"; sha256="09dhf4s7wz3anrkzqi16abx64gk8ck2142kfd8pv71mjy3x548l7"; depends=[assertthat jsonlite RCurl tibble XML]; };
   reval = derive2 { name="reval"; version="2.0.0"; sha256="1yxkyc6wdp5h3cp8i42a9cf0b1cwr4nmpd7svlp7bpfxlcnqqa0d"; depends=[doParallel foreach]; };
-  revdbayes = derive2 { name="revdbayes"; version="1.3.4"; sha256="0aqj2hvav3k4b1xiaz2adrqjdm87074a14p58ddclywq609cy2zk"; depends=[bayesplot Rcpp RcppArmadillo rust]; };
+  revdbayes = derive2 { name="revdbayes"; version="1.3.6"; sha256="15nrmnl3g4l8yn6x1xvbfjn4fznryvgkvaqyxjr929v05rrf3fl0"; depends=[bayesplot Rcpp RcppArmadillo rust]; };
   revealedPrefs = derive2 { name="revealedPrefs"; version="0.4.1"; sha256="1m8y1mj39bnf9q0n9mi0ashvb79lksx5dfkxb04qj2h5kkyxg49g"; depends=[pso Rcpp RcppArmadillo]; };
   revealjs = derive2 { name="revealjs"; version="0.9"; sha256="0h4csxrcl1rzmj3g01nf0mr990zc8swrf4jvmxwqsyzx9v2cqbnc"; depends=[rmarkdown]; };
   revengc = derive2 { name="revengc"; version="1.0.4"; sha256="1nipkff9zmkdi509qfdrmvsq5c643xd7bzzw5bchxd8nmfqb412i"; depends=[dplyr mipfp stringr truncdist]; };
@@ -12375,7 +12621,7 @@ in with self; {
   revtools = derive2 { name="revtools"; version="0.4.0"; sha256="138k9pcdv1gxfh52wlxavy6dinwqigrnckwka8bg3rwhdw0j8cky"; depends=[ade4 modeltools NLP plotly shiny shinydashboard SnowballC stringdist tm topicmodels viridisLite]; };
   reweight = derive2 { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
   rex = derive2 { name="rex"; version="1.1.2"; sha256="0alsadgjgass3wr8y5d247j12qqzg454sc84vpskclrkmz778g5x"; depends=[lazyeval magrittr]; };
-  rexpokit = derive2 { name="rexpokit"; version="0.26.6.4"; sha256="0flqf57zsf0a70yrkgp9jfq3bmj36wyfzwldpkmfvw3qvfhddysw"; depends=[Rcpp]; };
+  rexpokit = derive2 { name="rexpokit"; version="0.26.6.6"; sha256="13dxra3s68i499g21z9i93mbn6n8s4xay5zmvslafaccbq3q1ray"; depends=[Rcpp]; };
   rfPermute = derive2 { name="rfPermute"; version="2.1.7"; sha256="0dhgxm9b2djgadr1wnwgd0gbqv7751y0ln4jis32p0qmwi30v76d"; depends=[abind dplyr ggplot2 gridExtra magrittr plyr randomForest reshape2 rlang scales swfscMisc tibble tidyr]; };
   rfUtilities = derive2 { name="rfUtilities"; version="2.1-5"; sha256="1anwvmxn3xrc1aqxl75rzlk4wby8l54rmkp0bgi8dgbz2l223xr0"; depends=[cluster randomForest]; };
   rfVarImpOOB = derive2 { name="rfVarImpOOB"; version="1.0"; sha256="1341bicd65qw3pz1j8d6c9baj9d6s70ljdaaf87xvx8pjnajrfsw"; depends=[binaryLogic dplyr ggplot2 ggpubr magrittr prob randomForest titanic]; };
@@ -12394,17 +12640,17 @@ in with self; {
   rforensicbatwing = derive2 { name="rforensicbatwing"; version="1.3.1"; sha256="1i521h2nmlkhcxfxqir8jfjv0llwr6cz0ck5w6hzplk48044bn16"; depends=[Rcpp]; };
   rfviz = derive2 { name="rfviz"; version="1.0.0"; sha256="0rzyy7r2ybqjnp1g5bbkxydpa93h8q4r71kdaj77r475m2i4kb6b"; depends=[loon randomForest]; };
   rgabriel = derive2 { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
-  rgbif = derive2 { name="rgbif"; version="1.3.0"; sha256="1lamyylaj51vn693964xhgmx2fyrnlc4yljh63cb74gx9qjc9yga"; depends=[crul data_table geoaxe ggplot2 jsonlite lazyeval magrittr oai tibble whisker wicket xml2]; };
-  rgdal = derive2 { name="rgdal"; version="1.4-6"; sha256="0lj1dax56dxxsj1hindxcvgz169p9dxd0y4wjypbyr01nja8rz4d"; depends=[sp]; };
+  rgbif = derive2 { name="rgbif"; version="1.4.0"; sha256="00ik9aab13zq6n5r7sa8199nczrxb77xcf9j5bn2v8x0b7kyj4l9"; depends=[crul data_table geoaxe ggplot2 jsonlite lazyeval magrittr oai tibble whisker wicket xml2]; };
+  rgdal = derive2 { name="rgdal"; version="1.4-8"; sha256="1jd691amf3ghznq5im15gvhl6v6k25klpl75m4ngrqf9xlxaa3as"; depends=[sp]; };
   rgdax = derive2 { name="rgdax"; version="1.0.0"; sha256="16ph6n1nyl2v2w51ih6wzkpw0j0hfa3f60q1g6p9zis59j0rh7d9"; depends=[digest httr jsonlite RCurl]; };
   rgen = derive2 { name="rgen"; version="0.0.1"; sha256="0gl82v09q1ha58wd1014s46wzkx1yf348bc7jkl6s4qdc6c4vsb8"; depends=[]; };
   rgenoud = derive2 { name="rgenoud"; version="5.8-3.0"; sha256="0p93wf6ghgz2nifxbscb6bhahh5jd2ba7nh1c2mb6fmbxnsi3swv"; depends=[]; };
   rgeolocate = derive2 { name="rgeolocate"; version="1.0.1"; sha256="1v9kd71wpxna1war0rbp91pc5wdqlganmj2c2fc5m5176dnxd2v3"; depends=[httr Rcpp]; };
   rgeopat2 = derive2 { name="rgeopat2"; version="0.2.6"; sha256="04r8q3mig7sp38f3m9g20xlb0h046c04hhrzg4n06b5wkn7298s5"; depends=[readr sf stringr]; };
+  rgeoprofile = derive2 { name="rgeoprofile"; version="0.1.0"; sha256="1s72l7gl370gfcwdhv1qqsyiq8qb530yi1dn4frslf6ay00yash9"; depends=[aspace geosphere leaflet pals RANN_L1 raster sp splancs]; };
   rgeos = derive2 { name="rgeos"; version="0.5-2"; sha256="0ajrrxfwfp184c6rnby3dq54hzp3rrx3px72dn7gbdn6c4li2bqz"; depends=[sp]; };
   rgexf = derive2 { name="rgexf"; version="0.15.3"; sha256="0iw1vk32ad623aasf6f8hl0qkj59f1dsc2riwqc775zvs5w7k2if"; depends=[igraph Rook XML]; };
   rggobi = derive2 { name="rggobi"; version="2.1.22"; sha256="1g7k4xais9xkjlbvrkadr5d6c5rw4jp9c0gljhm71pa1fc9fcqff"; depends=[RGtk2]; };
-  rgho = derive2 { name="rgho"; version="1.0.1"; sha256="0jkfmyn3i50vsqciy96wd2fpik6yfg0sz6rrhwb04jv1dmyz2nfa"; depends=[curl dplyr httr jsonlite lazyeval magrittr memoise readr tibble tidyr]; };
   rgl = derive2 { name="rgl"; version="0.100.30"; sha256="0rzqzskcwf2ah4yr62x5rjwf7yh90d43h39gk7jmfc5lc08zaxc5"; depends=[crosstalk htmltools htmlwidgets jsonlite knitr magrittr manipulateWidget shiny]; };
   rglobi = derive2 { name="rglobi"; version="0.2.20"; sha256="0fygxl5bfkkl5d2wadpbk5xg0y6kab4c99mliwlzvl9d3mqpnpsp"; depends=[curl RCurl readr rjson]; };
   rglwidget = derive2 { name="rglwidget"; version="0.2.1"; sha256="0siqxn3gyl98i84p0yha821b4rdrp2i0942mkx819wnf7qwrpqcv"; depends=[rgl]; };
@@ -12414,17 +12660,17 @@ in with self; {
   rgsp = derive2 { name="rgsp"; version="0.2.0"; sha256="1fk0k479srfr0f4a5abyzcrzwy9hr1v5xf0jgs36fbim9bh7njlc"; depends=[dplyr magrittr tibble]; };
   rgw = derive2 { name="rgw"; version="0.1.0"; sha256="12f7bsfg24cld9y47jyqxswgc1bk4adbhhdpycapinbcfhyzc91p"; depends=[]; };
   rhandsontable = derive2 { name="rhandsontable"; version="0.3.7"; sha256="1y6dlpzid5apjx0gphkym7gq3lhwp0bxan8ca274pg170xyb33h8"; depends=[htmlwidgets jsonlite magrittr]; };
-  rhierbaps = derive2 { name="rhierbaps"; version="1.1.2"; sha256="0xi52wx4vswh7i4flg6y2pcrrbx6syk6pw43gkjccddwb4rf87sq"; depends=[ape ggplot2 gmp matrixStats purrr]; };
   rhli = derive2 { name="rhli"; version="0.0.2"; sha256="1mb6bizqkg7zd8nc5a81fw7d0y0vcv6zh6y28k9vikqmc5l1n21q"; depends=[]; };
   rhmc = derive2 { name="rhmc"; version="1.0.0"; sha256="1m79f1hx404y0k8lk3n6jnzhr6wwrk83xiym68sq1zvj0wjqiqmw"; depends=[]; };
   rhmmer = derive2 { name="rhmmer"; version="0.1.0"; sha256="0875b29i8rl9iypxp7vw514avq0ac4abdlfq3861cdd3kgycw8jh"; depends=[dplyr magrittr readr rlang tidyr]; };
   rhnerm = derive2 { name="rhnerm"; version="1.1"; sha256="1fkh2pr4kzvqvagdyjlyab7p591s913104gyq05q170gmvlpmiww"; depends=[]; };
-  rhoR = derive2 { name="rhoR"; version="1.2.1.1"; sha256="0jinacyaibf4yk5dizkyxaz0bi0lx8f5av0gzqzs15870vb8ybil"; depends=[]; };
+  rhoR = derive2 { name="rhoR"; version="1.3.0.0"; sha256="1nmnrib3dlsf2cswnx19l63449cv4yl6nbq5ih5j7m9ygxr8b8s8"; depends=[Rcpp RcppArmadillo]; };
   rhosp = derive2 { name="rhosp"; version="1.10"; sha256="1k0rb4fchjlzinky6ysdvyk0xjsx5986aqwn3yc6s7m3v7y9wb9m"; depends=[]; };
   rhub = derive2 { name="rhub"; version="1.1.1"; sha256="05b4phrny85fshismspjbaz1h0klg1fpy4b309si94pnqffxaqx6"; depends=[assertthat callr cli crayon desc digest httr jsonlite parsedate pillar prettyunits processx R6 rappdirs rcmdcheck rematch tibble uuid whoami withr]; };
   rhymer = derive2 { name="rhymer"; version="1.0.0"; sha256="1k15sd5q6a1ijayl585vc54d1zs4nyrxsfck9bn4nlfdiwc5arwf"; depends=[httr jsonlite]; };
   ri = derive2 { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
   ri2 = derive2 { name="ri2"; version="0.1.2"; sha256="0z6mbhrda7fh7a4y2kx3mf1zc1p0k4d76phw3187w50kwvkpb737"; depends=[estimatr generics ggplot2 pbapply randomizr]; };
+  ribd = derive2 { name="ribd"; version="1.0.0"; sha256="1r3w8zfihs5i1al0g136319zaj2dr0x52s3spxrcvd0irq9r4v8b"; depends=[glue kinship2 pedtools slam]; };
   riceware = derive2 { name="riceware"; version="0.4"; sha256="0pky0bwf10qcdgg9fgysafr35xbmnr9q0jbh56fawj99nbyj3m70"; depends=[random]; };
   rich = derive2 { name="rich"; version="1.0.1"; sha256="0kasr9gb85qhngfayqy3fvrsr0a066krwxsx21nsxcnss0mrqygr"; depends=[boot vegan]; };
   ridge = derive2 { name="ridge"; version="2.4"; sha256="18a16653k850sfxw9rmk4spy44hn93i97b2a0jfx41qh43hmkgqy"; depends=[]; };
@@ -12441,15 +12687,15 @@ in with self; {
   rio = derive2 { name="rio"; version="0.5.16"; sha256="0rfl56fdawlhc98451a9lcb6a6m56kw0i7dvd5hx58z025d8vsyk"; depends=[curl data_table foreign haven openxlsx readxl tibble]; };
   rioja = derive2 { name="rioja"; version="0.9-21"; sha256="01vc7zfw13zdri0rx93adx86gprzcmw9d454848ach95hdkwipk5"; depends=[mgcv vegan]; };
   rise = derive2 { name="rise"; version="1.0.4"; sha256="12r7mbaxp9pjypbpjxlsbqg7spw80gjgm2w0lsvgvclffc50a6ni"; depends=[dplyr ggplot2]; };
-  riskParityPortfolio = derive2 { name="riskParityPortfolio"; version="0.2.0"; sha256="1blswxlxf5iyrjixcabwmn1c5a3kkpyn57pw89a0k36cijry30pk"; depends=[alabama Matrix nloptr quadprog Rcpp RcppEigen]; };
+  riskParityPortfolio = derive2 { name="riskParityPortfolio"; version="0.2.1"; sha256="0l51spflm7wwwz5yrkw1i5534d1840wyyh2w3mz8apaxac76l0xz"; depends=[alabama Matrix nloptr quadprog Rcpp RcppEigen]; };
   riskPredictClustData = derive2 { name="riskPredictClustData"; version="0.2.6"; sha256="0mvy9299pg374gvvqs9lmj2j0f3bzyy279kjpz7jq35hkgz5wif3"; depends=[gee Hmisc MASS mvtnorm]; };
   riskR = derive2 { name="riskR"; version="1.1"; sha256="1qadfyb07idfw0bs006kb3917rzda83di6jmsr22941gv78z1wyv"; depends=[]; };
-  riskRegression = derive2 { name="riskRegression"; version="2019.01.29"; sha256="0nvp42j2bzqmiffni2yxg7170z1hl9xli614v6ji65nhy27gnr85"; depends=[abind cmprsk data_table doParallel foreach ggplot2 lava plotrix prodlim ranger Rcpp RcppArmadillo rms survival timereg]; };
+  riskRegression = derive2 { name="riskRegression"; version="2019.11.03"; sha256="15mz89cdzd6pjrlf61qs6vlcwx10rqxmz8ggpynyclhm9327skbb"; depends=[cmprsk data_table doParallel foreach ggplot2 lattice lava plotrix prodlim ranger Rcpp RcppArmadillo rms survival timereg]; };
   riskSimul = derive2 { name="riskSimul"; version="0.1"; sha256="0s2a1mn6g11m96gqscb916caj2aykcs3rkacpqcdnlyzryk1gsnb"; depends=[Runuran]; };
   riskclustr = derive2 { name="riskclustr"; version="0.2"; sha256="0j5gcm9a57yrg5ppqmacdjr16b9d8rwqkhq1mawy1fjpf18d2max"; depends=[aod gtools Matrix mlogit stringr]; };
   risksetROC = derive2 { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[MASS survival]; };
   riskyr = derive2 { name="riskyr"; version="0.2.0"; sha256="0zq5qybqisbh9k7i57s8yw9xcm7yckcjk17h4ybcx4p8788gg5m3"; depends=[]; };
-  ritis = derive2 { name="ritis"; version="0.7.6"; sha256="1a1q44dmagzf4k67pxa5x0s5s5jx9kpqg4s193c8r3m7kk3xwna6"; depends=[crul data_table jsonlite solrium tibble]; };
+  ritis = derive2 { name="ritis"; version="0.8.0"; sha256="1ggcchavhxcd3pawcf631ca8w1y4v0ygm1hflvkmzhk4k9ci3g13"; depends=[crul data_table jsonlite solrium tibble]; };
   riv = derive2 { name="riv"; version="2.0-5"; sha256="0n19jlrs12iysq45xyi3zvghkircg0ww5vbsfpnqkw5b22zsv30s"; depends=[MASS quantreg rrcov]; };
   riverdist = derive2 { name="riverdist"; version="0.15.0"; sha256="145mvqnhv12dcvss54wdycgb3wwk95phl4kx5z0jnh3kmm1zsdl4"; depends=[rgdal sp]; };
   rivernet = derive2 { name="rivernet"; version="1.2"; sha256="0lvl7m1y779g7jsbbc2gh1h6giy1m293j0ky9759c0w17fm454fd"; depends=[]; };
@@ -12457,7 +12703,7 @@ in with self; {
   rivervis = derive2 { name="rivervis"; version="0.46.0"; sha256="19jsl5g46jcbc0kg47bsif1wrw9z9brgvwdcxqjc89shnx3hzzfv"; depends=[]; };
   rivr = derive2 { name="rivr"; version="1.2-1"; sha256="17kh5kin2id8imarvwkjikrmz266x2ldja6b7xpj34s35dzap682"; depends=[Rcpp]; };
   rjade = derive2 { name="rjade"; version="0.1"; sha256="0f1jljj6m1almz0na984n0g314y0rl6a0mx04rbrpipgfgz1h37c"; depends=[V8]; };
-  rjags = derive2 { name="rjags"; version="4-9"; sha256="1vrmxxfnia2mkmfkp5yaq5qrlh4xg3ggab6fnj14mrp1231wb91a"; depends=[coda]; };
+  rjags = derive2 { name="rjags"; version="4-10"; sha256="1nhaim84ww8fd6m8xlpmngqcnp2qpql29ahc38366fxja3ghngmx"; depends=[coda]; };
   rjazz = derive2 { name="rjazz"; version="0.1.7"; sha256="0wmqlpgcr98dvapfmdcph5mdv202rzzsvb06iy5sqvpizpg7pbsz"; depends=[RCurl]; };
   rjdqa = derive2 { name="rjdqa"; version="0.1.0"; sha256="07qvvy3i0ak7p717wf68gx8d1m9l4lhibf0ynmc0jny58i56fiw8"; depends=[plotrix RJDemetra]; };
   rje = derive2 { name="rje"; version="1.10.10"; sha256="1i0v8v5sdc9dwwljgnv3365sxyshp9dqbmamr3fa5gmhsjly3zs2"; depends=[knitr]; };
@@ -12471,19 +12717,21 @@ in with self; {
   rknn = derive2 { name="rknn"; version="1.2-1"; sha256="1x9r01314q0wgqwqzd7d13ycjzb4jzghzd3whgjvm2rsmnabai95"; depends=[gmp]; };
   rkt = derive2 { name="rkt"; version="1.5"; sha256="1rgf7dnk4d1b46rns2mb2s1ilxq7hqrh057vrrl00324r4h8bs1k"; depends=[]; };
   rkvo = derive2 { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
-  rlang = derive2 { name="rlang"; version="0.4.0"; sha256="038mmbmklw17ncgz53vrdx2506c1jj6di3y165bbx2sl2yia8j4p"; depends=[]; };
+  rlang = derive2 { name="rlang"; version="0.4.2"; sha256="0fczcp17kaz3s4p0nd4126bppwl20vpxfybhsndpcky9h75wklgv"; depends=[]; };
   rlas = derive2 { name="rlas"; version="1.3.4"; sha256="0ccdbg634ibdjh1c7bri4l6achfrb4agy4iilr4z1pc1yzgsnk6r"; depends=[BH data_table Rcpp]; };
+  rlc = derive2 { name="rlc"; version="0.1.0"; sha256="1f0ibhnj43aalks7z9w2sbnqwccjvff1lbkkykr5fqllybnsn05r"; depends=[httpuv hwriter jrc jsonlite plyr stringr]; };
   rld = derive2 { name="rld"; version="1.0"; sha256="1glv4q25z14hcwifwg623h77p4awpsn3nk843pnph4sb3p5qbmn3"; depends=[emdbook MASS survival]; };
   rleafmap = derive2 { name="rleafmap"; version="0.2"; sha256="1i2qczipg7lr6fl35lcl896r54jia7libxx83darrfzc1hd9sdcq"; depends=[knitr raster sp]; };
-  rlecuyer = derive2 { name="rlecuyer"; version="0.3-4"; sha256="0d5mcdzn6f5nhwzs165a24z36d0b8gd0cyfyzffvr6p96h8qydy7"; depends=[]; };
+  rlecuyer = derive2 { name="rlecuyer"; version="0.3-5"; sha256="09mniai7v8gapr6hd3zm8sm3vi1zcyhgym389904ykb2yx7l68s7"; depends=[]; };
   rless = derive2 { name="rless"; version="0.1.1"; sha256="0ham8kf2hbswrcnc5i5b3svywdwq3kwp9n66n4k9sllahl4x9jdn"; depends=[V8]; };
-  rlfsm = derive2 { name="rlfsm"; version="0.3.1"; sha256="1pqhm25xc1i7lx99vapflcdp7i82sw3zd20avx3p71j60wyngdx0"; depends=[doParallel foreach ggplot2 plyr Rdpack reshape2 stabledist]; };
+  rlfsm = derive2 { name="rlfsm"; version="1.0.0"; sha256="06dar7hfxpah3dm8zlfq5g0n2gwr9wjch1dy08f8dj22600spbya"; depends=[doParallel foreach ggplot2 plyr Rdpack reshape2 stabledist]; };
   rlist = derive2 { name="rlist"; version="0.4.6.1"; sha256="08awy2p7rykc272wvvya4ddszbr7b7s7qv4wr3hs8ylr4jqlh0dv"; depends=[data_table jsonlite XML yaml]; };
   rlm = derive2 { name="rlm"; version="1.2"; sha256="18y735z05k9pms6iv1739qg3q12w099qhs42icxhqs5gcdhz92fm"; depends=[]; };
   rlmDataDriven = derive2 { name="rlmDataDriven"; version="0.4.0"; sha256="1fhh2siafpqmvpxi2piccxvvn5n38s5d6as6iyn43rgpsslswc8g"; depends=[MASS tseries]; };
   rlme = derive2 { name="rlme"; version="0.5"; sha256="0p26mw4g12l279lh80vqcjs3pvjr759ap2m622490k1i2ralxzif"; depends=[magic MASS mgcv nlme quantreg Rcpp robustbase stringr]; };
   rlo = derive2 { name="rlo"; version="0.3.2"; sha256="0abq42dhapzmh6hvmildbn8zya29c6p1aqbv8avc03g014dwbrd0"; depends=[PythonInR]; };
   rly = derive2 { name="rly"; version="1.6.2"; sha256="1bb55g3rip524dccaxvahjxsi2cimxqvzc897pxplv3bb10pm0r2"; depends=[futile_logger R6]; };
+  rmRNAseq = derive2 { name="rmRNAseq"; version="0.1.0"; sha256="0hh44bn7z7945aw722haazw8dx7fwzym67jismkygzhnksh59wqi"; depends=[AUC Biobase DESeq2 edgeR limma MASS Matrix nlme reshape rlang splineTimeR statmod]; };
   rma_exact = derive2 { name="rma.exact"; version="0.1.0"; sha256="1igs92la79akyqj84ah23lpcay7i33k7zgzcwm7sii782fhirivx"; depends=[abind metafor]; };
   rmaf = derive2 { name="rmaf"; version="3.0.1"; sha256="0w247mamwgibr5576p5c2lzaiz2lv2c25n7gw9q99s7rc4bps7j7"; depends=[]; };
   rmake = derive2 { name="rmake"; version="1.1.0"; sha256="00qlki2vps505nxzmfykf1iyq4b0y20nb75hbfcj63ap46z7zk3c"; depends=[assertthat pryr rmarkdown visNetwork]; };
@@ -12491,14 +12739,14 @@ in with self; {
   rmapshaper = derive2 { name="rmapshaper"; version="0.4.1"; sha256="0kd8hppn4d3z527s3kqz0mll7qjy0pbxbif46dfqx3rci6m62a68"; depends=[geojsonio geojsonlint jsonlite readr sf sp V8]; };
   rmapzen = derive2 { name="rmapzen"; version="0.4.2"; sha256="1vybg3lmrqghvd23jwpfmypvqz2b65bc0m2pwbpizwkkg35iza70"; depends=[assertthat digest dplyr geojsonio httr jsonlite maps maptools purrr rgdal sf sp tibble tidyr]; };
   rmargint = derive2 { name="rmargint"; version="1.0.2"; sha256="1hl2nxmgknw74jvmc05wz6zkf7i151xl7h7hdpcivvm60yizlx8i"; depends=[]; };
-  rmarkdown = derive2 { name="rmarkdown"; version="1.16"; sha256="1p11g9lma604ndrhvyvriqxxp91lardc543nmvmr49n1m7309qvz"; depends=[base64enc evaluate htmltools jsonlite knitr mime stringr tinytex xfun yaml]; };
+  rmarkdown = derive2 { name="rmarkdown"; version="1.18"; sha256="0fykzbb5kjsqc8v6gjcdma7rmq0gailp30qij6plgna4d8nhjw3w"; depends=[base64enc evaluate htmltools jsonlite knitr mime stringr tinytex xfun yaml]; };
   rmatio = derive2 { name="rmatio"; version="0.14.0"; sha256="072fxg81r4rsc71qrf5p6lr5s3gchbgvxhyzwlx3wxw7y2px6w7y"; depends=[Matrix]; };
   rmcfs = derive2 { name="rmcfs"; version="1.3.0"; sha256="0mvrf6d2pfdvsgfgwkkb7k7q367k5i71wbq96gjhfimxr2lxwf7f"; depends=[data_table dplyr ggplot2 gridExtra igraph reshape2 rJava stringi yaml]; };
   rmcorr = derive2 { name="rmcorr"; version="0.3.0"; sha256="1p05ln653yrd02wmn8wfzawiw6a924d8an0568fcbgl1pdna43b1"; depends=[psych RColorBrewer]; };
   rmd = derive2 { name="rmd"; version="0.1.4"; sha256="01ib000hq6acklvysdxnyjmlypnxznsk0zymj1f6vs9vwh711f00"; depends=[blogdown bookdown bookdownplus citr cli crayon curl devtools dplyr DT magrittr mindr miniUI pagedown purrr rappdirs rmarkdown rstudioapi rticles rvest shiny shinyjs tibble tinytex xaringan xml2]; };
   rmdHelpers = derive2 { name="rmdHelpers"; version="1.2"; sha256="1ahzbs8z7wvh1dwbq1kq8wrjrknxi2gck63k70gj0swjvgk0ih5r"; depends=[dplyr knitr]; };
   rmda = derive2 { name="rmda"; version="1.6"; sha256="1m7j79jwii9la47w34ka3yl1n7nql8pfn32if0aycn4yw5sy8dmc"; depends=[caret MASS pander reshape]; };
-  rmdcev = derive2 { name="rmdcev"; version="0.9.0"; sha256="0bcriwrfynhvw27z57374hc7llsv5l58baplqkw4diq16gpqx5ik"; depends=[BH dplyr purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidyr tidyselect tmvtnorm]; };
+  rmdcev = derive2 { name="rmdcev"; version="1.1.1"; sha256="0pz60hzd3gvmrzcb29h0h4zb4lr5sdyw3nsa84hixsph00cf4lm0"; depends=[BH dplyr Formula purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidyr tidyselect tmvtnorm]; };
   rmdfiltr = derive2 { name="rmdfiltr"; version="0.1.0"; sha256="05hr6lrlsdp8g9y41g3zz875x9gg1533as95krb37ywp3rr4p819"; depends=[assertthat rmarkdown]; };
   rmdformats = derive2 { name="rmdformats"; version="0.3.5"; sha256="16ncawidfkkzh67ak6043kg504glli5g9npfg7vsrw168r7mmyci"; depends=[bookdown htmltools knitr questionr rmarkdown]; };
   rmdplugr = derive2 { name="rmdplugr"; version="0.4.0"; sha256="10xwaxjhrkkinahv9n29br0znkfvbyvx7yjva7ycrlibndm55bxq"; depends=[bookdown rmarkdown]; };
@@ -12512,11 +12760,11 @@ in with self; {
   rmio = derive2 { name="rmio"; version="0.1.2"; sha256="0lhfwjmi5s7ysm4jrb0r18cm3sdcswdrsx9kps4dv7v2yab4jkvx"; depends=[]; };
   rmonad = derive2 { name="rmonad"; version="0.5.0"; sha256="0m7hhmn87rfh49hxrjlcxcq6q36niyxlh3w2frld68jkbks71jn5"; depends=[digest glue igraph magrittr pryr]; };
   rmpw = derive2 { name="rmpw"; version="0.0.4"; sha256="1a49rvdwvmccv4gfir48fw0b9jyrpc2q9zfyk5j9b7nxsx6x7abl"; depends=[gtools MASS]; };
-  rms = derive2 { name="rms"; version="5.1-3.1"; sha256="0drbr3g0x5pbxyzy50wnf92rbal8izizrcqslqhg0gsfg9adjih9"; depends=[ggplot2 Hmisc htmlTable htmltools lattice multcomp nlme polspline quantreg rpart SparseM survival]; };
+  rms = derive2 { name="rms"; version="5.1-4"; sha256="19knh1sw0icw6jh9wfb2hq5jf49i2qfvp9myvqm5paa495689x9q"; depends=[ggplot2 Hmisc htmlTable htmltools lattice multcomp nlme polspline quantreg rpart SparseM survival]; };
   rms_gof = derive2 { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; };
   rmsfact = derive2 { name="rmsfact"; version="0.0.3"; sha256="05s23rfs9prr2ia3h4h9y614xhv91lbgppgf3mrrssxkwz220kd5"; depends=[]; };
   rmsfuns = derive2 { name="rmsfuns"; version="0.0.0.2"; sha256="0by2d6l25lf5vidxbkcxghpxycffyldzzbxcw6h4rm86zmkkv1m0"; depends=[magrittr purrr readr tidyverse xts zoo]; };
-  rmumps = derive2 { name="rmumps"; version="5.2.1-5"; sha256="0pgfmnkj3v4raf49w5229m27a54jpkhd000r202xyp679vcwsapc"; depends=[Rcpp]; };
+  rmumps = derive2 { name="rmumps"; version="5.2.1-6"; sha256="1a0y4iaq2697z34b8jr9pm12n4qa5knxb1q995bli50pygz8zyl8"; depends=[Rcpp]; };
   rmutil = derive2 { name="rmutil"; version="1.1.3"; sha256="1nl20nyahnm55z41d096ni9iqhn19ab98i9c13ja1i6ik4gg9fks"; depends=[]; };
   rmweather = derive2 { name="rmweather"; version="0.1.3"; sha256="1qdf511vmpffrdfcxlll54km2s0pf6pdswj8401k4ymv5iif91hl"; depends=[dplyr ggplot2 lubridate magrittr pdp purrr ranger stringr strucchange tibble viridis]; };
   rmytarget = derive2 { name="rmytarget"; version="2.1.8"; sha256="1sn1pncxnv2jgxhmbm4zlq6zyi8nsz90x8b7697qlqf2la837v96"; depends=[dplyr httr lubridate purrr stringr]; };
@@ -12533,10 +12781,10 @@ in with self; {
   rngtools = derive2 { name="rngtools"; version="1.4"; sha256="1kivj594bn774lbn29ws2rmzy2km99sza0j3jqvhal6hwmk27a9s"; depends=[digest pkgmaker stringr]; };
   rngwell19937 = derive2 { name="rngwell19937"; version="0.6-0"; sha256="0m6icqf7nckdxxvmqvwfkrpjs10hc7l8xisc65q8iqpnpwl5p2f6"; depends=[]; };
   rnn = derive2 { name="rnn"; version="0.9.8"; sha256="1f1h7x9vff0jrdkv1gpxlmlr5v1c81gsfxy4z83rq3v0drpxahnv"; depends=[shiny sigmoid]; };
-  rnoaa = derive2 { name="rnoaa"; version="0.9.0"; sha256="1hhp2axqpqrfvn5isxay1ci032inagir57b0z52apcjk1y271c4r"; depends=[crul dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate rappdirs scales tibble tidyr tidyselect XML xml2]; };
+  rnoaa = derive2 { name="rnoaa"; version="0.9.5"; sha256="123gzgycv8lnx9dikkqjn2fhnpzlwgxdmzkvdvf3kgwl1gw9170b"; depends=[crul dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate rappdirs scales tibble tidyr tidyselect XML xml2]; };
   rnpn = derive2 { name="rnpn"; version="0.1.0"; sha256="10xx8fxgdknv71ks42xxvf38xsmjy6s87y67wi21673v0n07fxb5"; depends=[data_table httr jsonlite plyr]; };
   rnr = derive2 { name="rnr"; version="0.2.1"; sha256="1z9bab3qmq8d79bcvjzldbxlah2w8mqp2ifd0cn1348dafwa0dhi"; depends=[assertthat purrr]; };
-  rnrfa = derive2 { name="rnrfa"; version="2.0"; sha256="0ymfgas1hzmmmf56ax47nfjm9mf9yzj48np1fzyshhzavnlymg0s"; depends=[curl dplyr ggmap ggplot2 httr jsonlite lubridate rgdal sp tibble xts]; };
+  rnrfa = derive2 { name="rnrfa"; version="2.0.1"; sha256="1p7wc3czp0i6il16nc1syp51i5gnb1hjx32j35ms8v20ficyb1zp"; depends=[curl dplyr ggmap ggplot2 httr jsonlite lubridate rgdal sp tibble xts]; };
   roadoi = derive2 { name="roadoi"; version="0.6"; sha256="1mlf63018qpgyqma51fas1nvags7qcrsw11hm6c1idnxjh0sz82z"; depends=[dplyr httr jsonlite miniUI plyr purrr shiny tibble tidyr]; };
   roahd = derive2 { name="roahd"; version="1.4.1"; sha256="0d89d21s32bsjkm8bdiqrbccd3m9badh87vrsb1laawhl4hr3dn9"; depends=[dplyr magrittr robustbase scales]; };
   robCompositions = derive2 { name="robCompositions"; version="2.1.0"; sha256="17kpl35lynm1fwsl8ljwl6yjph1fps8vk2m8qxsx0x64wwfvccim"; depends=[car cluster cvTools data_table e1071 fpc GGally ggplot2 kernlab MASS mclust pls Rcpp robustbase rrcov sROC tidyr VIM zCompositions]; };
@@ -12546,12 +12794,14 @@ in with self; {
   robcp = derive2 { name="robcp"; version="0.2.4"; sha256="1pvd8dw0kgwxrwnafaraya1qm3cwnp2c3ma569i7nwm2xsys76xj"; depends=[]; };
   robeth = derive2 { name="robeth"; version="2.7-5"; sha256="0jz3ivck9ma8x03sz41zkln3qh70ckfm5c2l57nlxi0ci5h0dfh2"; depends=[]; };
   robets = derive2 { name="robets"; version="1.4"; sha256="0lvzfpv6569pjysblhadd05sglx0qvyr9wipb9cpiya4a1992n61"; depends=[forecast Rcpp]; };
-  robfilter = derive2 { name="robfilter"; version="4.1.1"; sha256="1fxqva2khk16sj5ka5zdpaknh2w9n925ys0i4v7ahqvzhnxg6l3b"; depends=[lattice MASS robustbase]; };
+  robfilter = derive2 { name="robfilter"; version="4.1.2"; sha256="0mvpaf6g694b7175bl3yr6lxbwla4pwp7g4y34qb4klgl5n3nw03"; depends=[lattice MASS robustbase]; };
+  robin = derive2 { name="robin"; version="0.99.1"; sha256="0ghlfkpcfnywfb8psszbkzrljlissw11y4n52hhgm9ivk2ds4lk5"; depends=[DescTools fdatest ggplot2 gprege igraph networkD3]; };
   robis = derive2 { name="robis"; version="2.1.8"; sha256="1qi6ay0v3vc2gz5xalgj8vfx7zaiz5726mkkgwawxfj35gmdq0mk"; depends=[dplyr ggplot2 httr jsonlite leaflet]; };
-  robmed = derive2 { name="robmed"; version="0.4.0"; sha256="1wds9yh2sjjwmfmkjaxarmbmq226gm55m2r1y6ry41i3kjjrr83b"; depends=[boot ggplot2 quantreg robustbase shiny]; };
+  robmed = derive2 { name="robmed"; version="0.5.0"; sha256="02kavd5vllp3mf2gir66kf00n1ppc19k47zg4agfm2rhcn8whz9s"; depends=[boot ggplot2 quantreg robustbase shiny]; };
   robmixglm = derive2 { name="robmixglm"; version="1.0-2"; sha256="0z23frjv9yscw0q33s5vlrmisg9an5hksyhcrgcnlan6x63r91kq"; depends=[actuar bbmle boot fastGHQuad MASS numDeriv Rcpp VGAM]; };
   robotstxt = derive2 { name="robotstxt"; version="0.6.2"; sha256="1c1rhiwkdzvbspwa5km6gp3sjhzmb60ljibb2pf26s931lkr5b6l"; depends=[future future_apply httr magrittr spiderbar stringr]; };
   robreg3S = derive2 { name="robreg3S"; version="0.3"; sha256="0rv8qh98wws1f40d1kmysyy9qin0ngsvwq63cnxbwi290wsnrvls"; depends=[GSE MASS robustbase]; };
+  robregcc = derive2 { name="robregcc"; version="1.0"; sha256="159ms69jqjkf8bhi4hkm929hpwqi8qbcfyaahcjlkyximv7qnqaz"; depends=[magrittr MASS Rcpp RcppArmadillo]; };
   robsurvey = derive2 { name="robsurvey"; version="0.1.1"; sha256="0rf2sd7maz565hlgpyhvkswqyck01hif4mg5isbnnky9n3nc98pi"; depends=[survey]; };
   robumeta = derive2 { name="robumeta"; version="2.0"; sha256="1ynlfxlzh442jd1cf02j0f948m16d536a30gb4bf7208baqri1vg"; depends=[]; };
   robust = derive2 { name="robust"; version="0.4-18.1"; sha256="0xs098pfw5zdcdk3rsxkylfl6d2pyp566s5v92bzhgl7h8c90cfy"; depends=[fit_models lattice MASS robustbase rrcov]; };
@@ -12571,19 +12821,19 @@ in with self; {
   robustrao = derive2 { name="robustrao"; version="1.0-3"; sha256="0gcxxizsg380blrv55vl9f3az8gnr274c6idi0pimhh5c26h7ma6"; depends=[doParallel foreach gmp igraph iterpc quadprog]; };
   robustreg = derive2 { name="robustreg"; version="0.1-11"; sha256="08c6dyzki68hzl006s12bkjiirlw2n2isirjh8b79sd6zjrjlh72"; depends=[Matrix Rcpp RcppArmadillo]; };
   robustsae = derive2 { name="robustsae"; version="0.1.0"; sha256="0fi1fpqnfj6vkmidlr90kqbn1bxxxqb5qpqqrz9rrimlsvrc4ddl"; depends=[coda lattice MCMCpack mvtnorm pscl]; };
+  robvis = derive2 { name="robvis"; version="0.3.0"; sha256="0xzvx3230ydd082jmdlm70vyhjizknngfzhvcbqpdcm403klni5h"; depends=[ggplot2 scales tidyr]; };
   rocNIT = derive2 { name="rocNIT"; version="1.0"; sha256="18vxyh1wcq6dv62xf2dyl4226cd00n4hlbaqnynl9j5gnrmmsvi1"; depends=[]; };
-  rocTree = derive2 { name="rocTree"; version="1.0.0"; sha256="0zq2w4jjkh6b657b92knkmnl121xiybnxq81x4xzz5nsg1sc8w1q"; depends=[data_tree DiagrammeR dplyr flexsurv ggplot2 MASS survival tibble]; };
   rocc = derive2 { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; };
   roccv = derive2 { name="roccv"; version="1.2"; sha256="18kq2gzcbz97dw168xppql8k3slpkfl8yv1d8ac48damlhvipif1"; depends=[glmnet pROC]; };
-  rock = derive2 { name="rock"; version="0.0.1"; sha256="1kss47w89rbdzzh92p7fwci76n6ld7pnxw9s6rjii039q7zrywk0"; depends=[data_tree DiagrammeR dplyr glue purrr yum]; };
+  rock = derive2 { name="rock"; version="0.1.0"; sha256="0plyn9n3ngbdakdv98ywakr5xgkwqkwspla3pdmsi6w12zsvkak8"; depends=[data_tree DiagrammeR dplyr glue purrr yum]; };
   rockchalk = derive2 { name="rockchalk"; version="1.8.144"; sha256="07dp1n155b9gfvk8l30h6bhjbhbylsjxfzns08mryn4mxj3nqpnb"; depends=[carData kutils lme4 MASS]; };
   rococo = derive2 { name="rococo"; version="1.1.7"; sha256="1fp3kk5j9kc0vyr50rlbsxjc9p3qz5137sifxsbd297p7zj1fcs2"; depends=[Rcpp]; };
   rocsvm_path = derive2 { name="rocsvm.path"; version="0.1.0"; sha256="1pd59bzcz96sxpp725pqa7pjh2gdrfapbilp4wccjkf5290zw56v"; depends=[quadprog svmpath]; };
   rodd = derive2 { name="rodd"; version="0.2-1"; sha256="01zrkw4lr21vxk2grfc37iyrcipfdcj5m0i7gnxsvs435y9fqagd"; depends=[Matrix matrixcalc numDeriv quadprog rootSolve]; };
-  rodeo = derive2 { name="rodeo"; version="0.7.4"; sha256="16yzj12m9wvcrqxc33rpbyzbq019swi5jxnbda9crfwjdvafaa0d"; depends=[deSolve R6]; };
+  rodeo = derive2 { name="rodeo"; version="0.7.5"; sha256="0825py3a41ccbd1dplkv1hci11wcp0ai5m37489cjg4gqaka7qgn"; depends=[deSolve R6]; };
   rodham = derive2 { name="rodham"; version="0.1.1"; sha256="15mrlx7azvwkwjgfplvs5fhk2nwlg9pay2l99q327p8hx87jr8ra"; depends=[jsonlite plyr splitstackshape stringr tibble]; };
-  roll = derive2 { name="roll"; version="1.1.2"; sha256="16s60r8p85q176k5smzcdcqzx9snf62v8q6r3ddvpp7mh5l9clgj"; depends=[Rcpp RcppArmadillo RcppParallel]; };
-  rollRegres = derive2 { name="rollRegres"; version="0.1.2"; sha256="1cgdg4a40dqy7kc7bx567w8hirlwzg5aqn41hi5m1plzzprmcfzm"; depends=[checkmate Rcpp RcppArmadillo]; };
+  roll = derive2 { name="roll"; version="1.1.3"; sha256="1fhxsvxhvf7m01n1fyyq9pc65w16wpw76ww4l538m9m54g49xs8g"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  rollRegres = derive2 { name="rollRegres"; version="0.1.3"; sha256="1rf6hdbndindq6kr5yzyqq4jy1c11shfdvjb8mwm957dd0kbs3rx"; depends=[checkmate Rcpp RcppArmadillo]; };
   rollbar = derive2 { name="rollbar"; version="0.1.0"; sha256="1q2ym0vkgbdnibxmwx0bp9c20g3bm8fzwwgs3j4bxg1ydg3gnkj4"; depends=[httr]; };
   rolldown = derive2 { name="rolldown"; version="0.1"; sha256="1awr8lcxz7y9mjhia4p85jvixc72gj525gk2jjl13njgq6shp0b5"; depends=[bookdown htmltools jsonlite]; };
   rollmatch = derive2 { name="rollmatch"; version="2.0.1"; sha256="1nyxsl2n8bnx31i78pzq0b19d58w70rqdn62bzrxdd11h9ph2dpr"; depends=[dplyr magrittr]; };
@@ -12591,11 +12841,12 @@ in with self; {
   rolocISCCNBS = derive2 { name="rolocISCCNBS"; version="0.1"; sha256="100jh5m2c1zp5wg3wd4y2i47dzx1j0g6lfwyqmwk4bz99yzzz5am"; depends=[colorspace roloc]; };
   rolr = derive2 { name="rolr"; version="1.0.0"; sha256="04nm4q0mlr4w6jb0frykzlyknfn3gn02ysqr5ll5jch6wawichy2"; depends=[survival]; };
   rolypoly = derive2 { name="rolypoly"; version="0.1.0"; sha256="11nf7in6n03675l11ynl4rp20rlzy7jli3m518s4sqqxdm8f8ci7"; depends=[data_table dplyr foreach ggplot2 glmnet MASS Matrix matrixcalc]; };
-  rootSolve = derive2 { name="rootSolve"; version="1.7"; sha256="08ic6ggcc5dw4nv9xsqkm3vnvswmxyhnqnv1rdjv1h2gy1ivpcq8"; depends=[]; };
+  rootSolve = derive2 { name="rootSolve"; version="1.8.1"; sha256="0skrspq7sd7gaq73w91km14v8znc8chncgy64hvjgcng2xw15phx"; depends=[]; };
   rootWishart = derive2 { name="rootWishart"; version="0.4.1"; sha256="1l9pr3i20hi5k02qnlb3blxhlvp2j0njn74xslw3gcjvyzjlr12j"; depends=[BH Rcpp RcppEigen]; };
   roots = derive2 { name="roots"; version="1.0"; sha256="1ssmmmrg18xmqxs6f7dqv07357iwcvk21j1gxsl8s9njbj2plxai"; depends=[animation igraph rARPACK]; };
   rope = derive2 { name="rope"; version="1.0"; sha256="06qp6h8cjnz0yacm4r39k99hrw74iyq16h5mqfcki7sf3zqbfm7r"; depends=[]; };
   ropenaq = derive2 { name="ropenaq"; version="0.2.7"; sha256="161yc2d82iivxaqpl5kzvxcmcqjpv6s5jj9pa304vj8cz0rnxgfr"; depends=[crul dplyr jsonlite lazyeval lubridate tidyr]; };
+  ropenblas = derive2 { name="ropenblas"; version="0.1.0"; sha256="1lbdkiagbgpdj7zvy7vszbwh7zdz2bfcmjgj4hi3lry9qq9k6w1a"; depends=[fs getPass git2r glue magrittr rstudioapi stringr]; };
   ropendata = derive2 { name="ropendata"; version="0.1.0"; sha256="1bv6y241abs6pb4wq5ybx9x4zh72kf8ffs3vlcgdsmhw4jwrsxdl"; depends=[httr jsonlite]; };
   ropensecretsapi = derive2 { name="ropensecretsapi"; version="1.0.1"; sha256="0d4yl0h4am3blskdnzk119hk374c3vx0cg99r20w07yh8jfafrw7"; depends=[RCurl RJSONIO]; };
   roperators = derive2 { name="roperators"; version="1.1.0"; sha256="0klmk1jmh1iysgf345qa6qyjmn1pkz072ha254k90flprgicg7c6"; depends=[]; };
@@ -12604,8 +12855,8 @@ in with self; {
   roptim = derive2 { name="roptim"; version="0.1.2"; sha256="0kamdhyc7s1i7mbgzf6zbdbcs2qjjq4wgl1v181xzhq6gpv7fhy6"; depends=[Rcpp RcppArmadillo]; };
   rorcid = derive2 { name="rorcid"; version="0.5.0"; sha256="0508dc3av593bqylrq5zysav56p9243hg35gs8vhnbqjngfm1pib"; depends=[crul data_table fauxpas httr jsonlite tibble xml2]; };
   rorutadis = derive2 { name="rorutadis"; version="0.4.2"; sha256="13a7xj4qw1nd8xgrqhrki3php960lgy9gy38sg4kpvs4j2rwijzc"; depends=[ggplot2 gridExtra hitandrun Rglpk]; };
-  rosetta = derive2 { name="rosetta"; version="0.1.1"; sha256="0q2rhz9icx4w7ihb289v1bzngbi3dnsvyviv6mvg32il1xfw8ji9"; depends=[car ggplot2 ggrepel gridExtra lme4 multcompView pander plyr psych pwr rio ufs]; };
-  rosetteApi = derive2 { name="rosetteApi"; version="1.12.1"; sha256="1b3cwxg7ja7g3bdl13j23xs8lw6ip70r4bah92pqs5pzmb5hx0wz"; depends=[httr jsonlite]; };
+  rosetta = derive2 { name="rosetta"; version="0.2.0"; sha256="0b5xcy9gzw8d71m2pyx1m71mnbdggckhd42c7pzhkivkl79n5wdz"; depends=[car ggplot2 ggrepel gridExtra lavaan lme4 multcompView pander plyr psych pwr rio ufs]; };
+  rosetteApi = derive2 { name="rosetteApi"; version="1.14.3"; sha256="1fq5wg2rgcqv4x5045zgccpawgi6ac47hykfam9waqjnqy7r4y1a"; depends=[httr jsonlite]; };
   rosm = derive2 { name="rosm"; version="0.2.5"; sha256="10n3yzhk29i3mzbcg6nkjqgvwc9n53ax0d7imn9l4a9msa06as07"; depends=[abind curl jpeg plyr png prettymapr rgdal rjson sp]; };
   rospca = derive2 { name="rospca"; version="1.0.4"; sha256="1pxm34xsc2610n0i6dwcm4rhn016yqb03f8vrm93r7285c04n4q7"; depends=[elasticnet mrfDepth mvtnorm pcaPP pracma robustbase rrcov rrcovHD]; };
   rosqp = derive2 { name="rosqp"; version="0.1.0"; sha256="0975g7p75bq238g7lr200svsqm9i11z7l331r0igm5ycahljrlsm"; depends=[Matrix R6 Rcpp]; };
@@ -12619,10 +12870,10 @@ in with self; {
   roundhouse = derive2 { name="roundhouse"; version="0.0.1"; sha256="142dw9ky6fyp5n8zf5lymx083gi56q6wxj4jm0m8cjb0khiqw2lq"; depends=[httr jsonlite]; };
   routr = derive2 { name="routr"; version="0.4.0"; sha256="1vswq7vm80nwb50grr4cs290kbq5lx9b19dq0c2wlp9d2dxk50si"; depends=[assertthat digest httpuv R6 reqres stringi uuid]; };
   rowr = derive2 { name="rowr"; version="1.1.3"; sha256="1f93c2yni956flwnxgphn340pc7p6yagr5xnmhinjgk9kvsd07yh"; depends=[]; };
-  roxygen2 = derive2 { name="roxygen2"; version="6.1.1"; sha256="0wq29ilqas8yn2z8v49fk0hbgchg29nmyyhwczgdipz0cbhbfipd"; depends=[brew commonmark desc digest pkgload purrr R6 Rcpp stringi stringr xml2]; };
+  roxygen2 = derive2 { name="roxygen2"; version="7.0.2"; sha256="162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq"; depends=[brew commonmark desc digest pkgload purrr R6 Rcpp rlang stringi stringr xml2]; };
   roxygen2md = derive2 { name="roxygen2md"; version="1.0.0"; sha256="1gvrfy0sk5qi8d93zxj5f7xgnnw0w38zyxdik4ckf0pkk0zdm27a"; depends=[desc devtools enc rex rlang tibble usethis withr]; };
   royston = derive2 { name="royston"; version="1.2"; sha256="1rywc89qzx0hldbq10201bjdhz60pq2gmgd9b9j52mza3w4canjz"; depends=[moments nortest]; };
-  rpact = derive2 { name="rpact"; version="2.0.4"; sha256="1x4jrvprss2s4qgagypqrq0flalkqlxha8ap2bcf5wc7i63c5c8m"; depends=[Rcpp]; };
+  rpact = derive2 { name="rpact"; version="2.0.5"; sha256="0mj4l1sdwqbxccsailx2b252qswq92kjl7cq0b2s5c41jxjc97k4"; depends=[Rcpp]; };
   rpanel = derive2 { name="rpanel"; version="1.1-4"; sha256="0yzasb4k5jcx3wfsll9k9alyrwc0l1x6pk91nj7cqrdiapw8j519"; depends=[]; };
   rpart = derive2 { name="rpart"; version="4.1-15"; sha256="0p5frya963ppn476p5dxs2mnarsalksr6gw9zzmjsn8ikq7bx3ib"; depends=[]; };
   rpart_plot = derive2 { name="rpart.plot"; version="3.0.8"; sha256="0y8054jw44jkjg8ijp3p2grsqwrmsdfzk8vps9ksgm7mgfq5732d"; depends=[rpart]; };
@@ -12642,33 +12893,34 @@ in with self; {
   rpivotTable = derive2 { name="rpivotTable"; version="0.3.0"; sha256="0ndhsw4nnz6wf0v8dh4sz8867m01jjkzw6aq7f490z1ypa3d9fv5"; depends=[htmlwidgets]; };
   rplos = derive2 { name="rplos"; version="0.8.6"; sha256="1i5dzlv57bpddf9qsnq0azc0fsbmzqz9bkrijabp2qwxg0w76mcx"; depends=[crul dplyr ggplot2 jsonlite lubridate plyr reshape2 solrium whisker]; };
   rplotengine = derive2 { name="rplotengine"; version="1.0-7"; sha256="1bbciq84l0h6g4qajlcqg3v66g2rspflv6k7x5h5qzwlcb4p4dps"; depends=[xtable]; };
+  rpmodel = derive2 { name="rpmodel"; version="1.0.2"; sha256="0daldm91lmmk6ivsj3rknn60w5fa9wakrnxxp77xm88bf1fr5yda"; depends=[rlang]; };
   rpms = derive2 { name="rpms"; version="0.4.0"; sha256="10zw0xln0vjrzrilyn67nnw13aadnskzca1930fvb483c691bm36"; depends=[Rcpp RcppArmadillo]; };
   rpnf = derive2 { name="rpnf"; version="1.0.5"; sha256="07byg0ym4d2cr6fp74z379jhsaw4c0xrwf622dvhwa4frn4anl60"; depends=[]; };
   rportfolios = derive2 { name="rportfolios"; version="1.0-1"; sha256="00xxh85jpl0rw8fv84i7zmq0psc92pq7hharnr4szbmhgz8kbc35"; depends=[truncdist]; };
-  rpostgis = derive2 { name="rpostgis"; version="1.4.2"; sha256="0zbq9605jk26r2mdkigi2pgn2s5ssrp5dvm4kbgk7fscnm1r6fbs"; depends=[DBI raster rgeos RPostgreSQL sp]; };
+  rpostgis = derive2 { name="rpostgis"; version="1.4.3"; sha256="04x5qdz0kznxnp9kygp0m2rjxyhqfz3mc81mcr4aw6cy5p4zp9aq"; depends=[DBI raster rgeos RPostgreSQL sp]; };
   rpostgisLT = derive2 { name="rpostgisLT"; version="0.6.0"; sha256="1adwpkfndm6n3s9xcx8zrwnj6bmgvq4nzs072fnl5i6kjy6ngjm6"; depends=[adehabitatLT DBI htmltools leaflet lubridate magrittr mapview rpostgis RPostgreSQL sf shiny shinyWidgets sp]; };
-  rppo = derive2 { name="rppo"; version="1.0"; sha256="0agqys52l8bb3mc3bpawym12phl5r1ymalfvgrq5w6n78lpzcxls"; depends=[httr jsonlite plyr readr]; };
   rpql = derive2 { name="rpql"; version="0.7"; sha256="18llgwk1jfwf3y1dabpc508kfb1k4yh4cr4k76azkziv11arbh0c"; depends=[gamlss_dist lme4 MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
   rprev = derive2 { name="rprev"; version="1.0.2"; sha256="0gdragdnakq9476df116viw8nyv0iahsfm1a3insv01j8x1y5l8c"; depends=[data_table dplyr ggplot2 lazyeval lubridate magrittr survival tidyr]; };
   rprime = derive2 { name="rprime"; version="0.1.0"; sha256="1v6n1qi0i7x8xgizbyvp1mnwc316lsan4rvam44fgjj45fcd79gd"; depends=[assertthat plyr stringi stringr]; };
   rprintf = derive2 { name="rprintf"; version="0.2.1"; sha256="0rwqpln0igxb4m6d6jyp7h3shfb8sbp0kj7cgkffjp88hn9qm4h3"; depends=[stringi]; };
   rprojroot = derive2 { name="rprojroot"; version="1.3-2"; sha256="12r3fdxmi2pmwn6ic3rhg0b20ll5z420m0d8fziv1n21961namnz"; depends=[backports]; };
-  rpsftm = derive2 { name="rpsftm"; version="1.2.5"; sha256="1l8i1v4si5x6g8mn7n6vllfdywzcpmxik7mg91ig1dci9bgcd9ya"; depends=[ggplot2 rootSolve survival]; };
+  rpsftm = derive2 { name="rpsftm"; version="1.2.6"; sha256="1bidxyvn8r3pdd3yf1clcc4dil3wsl3hc4kznyhhk67870p25n6s"; depends=[ggplot2 rootSolve survival]; };
   rpst = derive2 { name="rpst"; version="1.0.0"; sha256="10cbgj67lqgh5bawwa0nwj9kfl3jg4vdm121kc61q199v8dw7nrz"; depends=[plotrix survival]; };
   rpsychi = derive2 { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; };
   rptR = derive2 { name="rptR"; version="0.9.22"; sha256="0vvjc6qiq71d5wckl77z606q1fp43mgrfzp1bxcab96n5whb2r9k"; depends=[lme4 pbapply]; };
   rpubchem = derive2 { name="rpubchem"; version="1.5.10"; sha256="06j9ir65ykky5hdbyv74fnddwqd39jxvr6jig0kjqisc75k4spjz"; depends=[base64enc car data_table fingerprint iterators itertools RCurl RJSONIO stringr XML]; };
   rqPen = derive2 { name="rqPen"; version="2.1"; sha256="195s2l60llw2hb5abykydajadzg44700j5kahkw57413hh86qrh0"; depends=[quantreg regpro]; };
-  rqdatatable = derive2 { name="rqdatatable"; version="1.2.2"; sha256="1r1i8g17ij5397xa86rzax4iw3v5gniy2d2s4a724zj8fxwcws34"; depends=[data_table rquery wrapr]; };
-  rquery = derive2 { name="rquery"; version="1.3.8"; sha256="1pmxs1w2c84wljrq10lch8bs0l4nbx6l5nwm5mq9ynal9xhp4qas"; depends=[wrapr]; };
+  rqdatatable = derive2 { name="rqdatatable"; version="1.2.4"; sha256="01q4pzipn3kbbbb9fika5n727rbjca66mldfh0kn5gx8mlsf08ny"; depends=[data_table rquery wrapr]; };
+  rquery = derive2 { name="rquery"; version="1.4.0"; sha256="0dnbdi9fn5r2s2p0f9z1qnszxnbbsvwgnbql5awrk5zjbajybxgy"; depends=[wrapr]; };
   rr = derive2 { name="rr"; version="1.4"; sha256="1c2h6ibjfwrjfqh1if3c90pdh0g2rf3p71j4p9w23xbbrx2l80pl"; depends=[arm coda magic MASS]; };
   rr2 = derive2 { name="rr2"; version="1.0.2"; sha256="099vjg91ni2bnxlra18pvgsvzrl28zrj639cdjrh3wkpqv99d04q"; depends=[ape lme4 Matrix nlme phylolm]; };
   rrBLUP = derive2 { name="rrBLUP"; version="4.6"; sha256="1bw4pjj9hm9ik5bvvklnlkykhlqm6k7pbkma1iwc3kbg8shpbd18"; depends=[]; };
+  rrat = derive2 { name="rrat"; version="1.0.0"; sha256="1j1jd32pgggn5cqv66l63sw5p4hblgpznf33wd0zdbfapwy8rx4r"; depends=[quantreg]; };
   rray = derive2 { name="rray"; version="0.1.0"; sha256="0x4wavvjsiy8b9bhgxddisx82k6q52qhngr2am50bf38d3x2n58h"; depends=[glue Rcpp rlang vctrs xtensor]; };
-  rrcov = derive2 { name="rrcov"; version="1.4-7"; sha256="14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b"; depends=[cluster lattice mvtnorm pcaPP robustbase]; };
+  rrcov = derive2 { name="rrcov"; version="1.4-9"; sha256="11zvxidlb1pr2j5dzvmbjqdgsmmicsq8ppjf5wcfykfyf2fkcmz7"; depends=[cluster lattice mvtnorm pcaPP robustbase]; };
   rrcov3way = derive2 { name="rrcov3way"; version="0.1-10"; sha256="0ybl759mfva185z2mjs5s8cjim9h8dk4gkqnva2rj9kxp7i45srd"; depends=[robustbase rrcov ThreeWay]; };
-  rrcovHD = derive2 { name="rrcovHD"; version="0.2-5"; sha256="1wv50lcjf0fsxb1zagxbrcx68ilfmnmkc8ccpy9hw3qql5p368ij"; depends=[pcaPP pls robustbase robustHD rrcov spls]; };
-  rrcovNA = derive2 { name="rrcovNA"; version="0.4-9"; sha256="1qc9xqm5x55dqjx1y7s4a2nwc07v32rygicbb8469knxasf92cs3"; depends=[cluster lattice norm robustbase rrcov]; };
+  rrcovHD = derive2 { name="rrcovHD"; version="0.2-6"; sha256="03dr42np7a0yl3hi2iz4xp5b6yrazx6vlsjrby6fcn9r8y1fmac9"; depends=[pcaPP pls Rcpp robustbase robustHD rrcov spls]; };
+  rrcovNA = derive2 { name="rrcovNA"; version="0.4-13"; sha256="1nq37iaay2w7y573ni5dgi4vzx5rnzibjimb97k6gzn3si6r68g9"; depends=[cluster lattice norm robustbase rrcov]; };
   rrd = derive2 { name="rrd"; version="0.2.2"; sha256="104iz2y49vzm92a8nrvgzrjyljxl467mp1hjnjmzl4rhf9kl809y"; depends=[assertthat tibble]; };
   rrecsys = derive2 { name="rrecsys"; version="0.9.7.3.1"; sha256="1qnjriv1xq4gjjhzz8jxrbk88mw5xddl2l2i4bmfhnxhi51d2rk3"; depends=[ggplot2 knitr MASS Rcpp registry]; };
   rredis = derive2 { name="rredis"; version="1.7.0"; sha256="0wzamwpmx20did8xj8x9dllri2ps83viyqjic18ari7i4h1bpixv"; depends=[]; };
@@ -12681,7 +12933,7 @@ in with self; {
   rrlda = derive2 { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[glasso matrixcalc mvoutlier pcaPP]; };
   rroad = derive2 { name="rroad"; version="0.0.5"; sha256="09q5r9wq3vm5wy5aigx9wffv7m0njlp3sma1djm6cp7hhwgss0nj"; depends=[]; };
   rromeo = derive2 { name="rromeo"; version="0.1.0"; sha256="0dab3gcdpc5w9nxjw02348vj8cbrr8324aw982kjlrwkpjnvmfv5"; depends=[httr xml2]; };
-  rrpack = derive2 { name="rrpack"; version="0.1-10"; sha256="03lr72327fa8sim2n4bfrwni4hhn5rf27mnpw0lrscjw37gjd7bz"; depends=[ggplot2 glmnet lassoshooting MASS Rcpp RcppArmadillo]; };
+  rrpack = derive2 { name="rrpack"; version="0.1-11"; sha256="1bchha6dbkgc1raiks22cjmqzsias0c0frz8il67napkgmwlqk6d"; depends=[ggplot2 glmnet lassoshooting MASS Rcpp RcppArmadillo]; };
   rrr = derive2 { name="rrr"; version="1.0.0"; sha256="0sv6k70mv325yjm8yjy4dw8cqc0xc071iiv94fk1l1yfz0n67prz"; depends=[dplyr GGally ggplot2 magrittr MASS plotly Rcpp]; };
   rrscale = derive2 { name="rrscale"; version="0.1.3"; sha256="0pf5pac883f1p6gidy2k1nrbrygi1va8r5h785449dhphx806bf5"; depends=[abind DEoptim doParallel foreach]; };
   rrtable = derive2 { name="rrtable"; version="0.1.0"; sha256="1rvqb32fr63dkm5kz291pxzli8yi10k76v0lm1qdn28cx1l6ff3y"; depends=[devEMF editData flextable ggplot2 magrittr moonBook officer purrr readr rmarkdown rvg shiny stringr ztable]; };
@@ -12694,6 +12946,7 @@ in with self; {
   rscielo = derive2 { name="rscielo"; version="1.0.0"; sha256="005nmi18831a2krl2xhj74ya9mfjq8zzccjafnfxha89x8ygxsa3"; depends=[dplyr httr magrittr purrr rvest stringr tibble xml2]; };
   rscimark = derive2 { name="rscimark"; version="1.0"; sha256="1jsjz4d5bnxb90qqzz42m4nyvm8d8w8bs0m1r5g2n78zmckqb8vy"; depends=[checkmate]; };
   rsconnect = derive2 { name="rsconnect"; version="0.8.15"; sha256="018cdbcxlbvqpwzv0qxvvz8yhl0d6gcavpbk1m5fyrgpvys1brri"; depends=[curl jsonlite openssl packrat rstudioapi yaml]; };
+  rscontract = derive2 { name="rscontract"; version="0.1.0"; sha256="0hhhndvrk9z6izdq4vh95bi9879k0svgpmhajrnm20xc5sb136jf"; depends=[]; };
   rscopus = derive2 { name="rscopus"; version="0.6.6"; sha256="0kl6rv0j2396b8izvy0lp1f588il6w3yhq6d4swv8x8z14rsgcpw"; depends=[dplyr glue httr jsonlite plyr tidyr]; };
   rscorecard = derive2 { name="rscorecard"; version="0.13.0"; sha256="1iahfdgjslcnhm24ynvyzdvlrkdkjy1s6hhxqaqc56wprd5bhx27"; depends=[dplyr httr jsonlite lazyeval magrittr tidyselect]; };
   rsdepth = derive2 { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
@@ -12701,35 +12954,34 @@ in with self; {
   rsed = derive2 { name="rsed"; version="0.1.2"; sha256="1rk7wkidvdn1d39a11cbgglz2dg74bbv3v1ijjdx903kgwg3nnrc"; depends=[Smisc]; };
   rseedcalc = derive2 { name="rseedcalc"; version="1.3"; sha256="18zmpjv6g8f7pmvqlp6khxyys9kdnq5x4zxwb6gwybsh4jxrymkp"; depends=[]; };
   rsem = derive2 { name="rsem"; version="0.4.6"; sha256="16nsbp4s20396h2in0zymbpmsn24gqlbik0vgv86zhy1yg1rz9ia"; depends=[lavaan MASS]; };
-  rsf = derive2 { name="rsf"; version="0.1.0"; sha256="1jnay391jqylhg4d5fjg0mr38apa64v42gv4y83fqx3x04q3l9zx"; depends=[bookdown stringr usethis whoami yaml]; };
+  rsf = derive2 { name="rsf"; version="0.2.0"; sha256="0p9h61nvr5p42c7cjqgsvv45ycircw8jd4h3075rly08jbp02nim"; depends=[bookdown knitr magrittr rlang usethis yaml ymlthis]; };
   rsgcc = derive2 { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene snowfall stringr]; };
-  rsggm = derive2 { name="rsggm"; version="0.3.1"; sha256="1yl0gq5qyw7vgagdnvwgkzc0cfnb62ydcndmzxvrlg1jpbkmq7yl"; depends=[glasso MASS Matrix QUIC]; };
-  rsimsum = derive2 { name="rsimsum"; version="0.6.1"; sha256="1ypkh27n71il64l1v2qbgkmss62j965ybf89asprdp15vcbhld33"; depends=[checkmate ggplot2 ggridges rlang scales]; };
+  rsimsum = derive2 { name="rsimsum"; version="0.7.0"; sha256="1c63nzvyrnjva99hh3ikijpgsmnks8y8qsqxshxn9s1gjix7il5p"; depends=[checkmate ggplot2 ggridges rlang scales]; };
   rsinaica = derive2 { name="rsinaica"; version="0.6.1"; sha256="1ba19b2fgnnl50qp6hgjppgxbadghq68qap9f0m51k2k3ijgfiwn"; depends=[dplyr httr jsonlite lubridate stringr]; };
   rskey = derive2 { name="rskey"; version="0.4.1"; sha256="0l9z5zbii4wi7da6cl9mr62zn72pc3dgfhk6dp8sjx4jbzpa94s3"; depends=[berryFunctions miniUI rstudioapi shiny]; };
   rsleep = derive2 { name="rsleep"; version="1.0.1"; sha256="0kjb5sgv1y50cqg54dy5cx9ngr64hx2bhfav314vm2alnxsk19jh"; depends=[edfReader ggplot2 jsonlite phonTools signal]; };
   rslp = derive2 { name="rslp"; version="0.1.0"; sha256="06glpdsd309058kxww114j9sshvj6gw9g5sdm4zkmzq3cl91fa6h"; depends=[magrittr plyr stringi stringr]; };
-  rslurm = derive2 { name="rslurm"; version="0.4.0"; sha256="1ck4ky5d0pf8hnxz1ijbjk0nfyj1hfnhf9la5qrqw2spa09z82ki"; depends=[whisker]; };
+  rslurm = derive2 { name="rslurm"; version="0.5.0"; sha256="0dpxglcsqa2k0nak10515ga13c46rb4mrbpbr3gv7xckg6347zqg"; depends=[whisker]; };
   rsm = derive2 { name="rsm"; version="2.10"; sha256="0a6bxrb0qad40lnigqjv2pnwwzcwi1rcmh9gb1a1b00k1n3mnmlc"; depends=[estimability]; };
   rsnps = derive2 { name="rsnps"; version="0.3.0"; sha256="1ym58gqpvn708228pbkq1klvl60a60bwxwm0arzzad3wh1wansxj"; depends=[crul data_table jsonlite plyr stringr XML xml2]; };
   rsoi = derive2 { name="rsoi"; version="0.5.0"; sha256="0y7883b4zw95rhndxl66ji513a1m4riacbkbvd1bzkzq4jb3a8fc"; depends=[curl]; };
   rsolr = derive2 { name="rsolr"; version="0.0.9"; sha256="1mxvzb7wvm1agv35r82pr1hxa3fimixcwf36j98qjlxj9p7valrw"; depends=[BiocGenerics graph RCurl restfulr rjson S4Vectors XML]; };
   rspa = derive2 { name="rspa"; version="0.2.5"; sha256="0jvrr3jaw66zqi5pal9dycpac24dn9v7lf2m63q01wmd8m3mlnv9"; depends=[lintools validate]; };
   rsparkling = derive2 { name="rsparkling"; version="0.2.18"; sha256="0lhq9jxxib2krl298hy3sglh5lm5lyibknigpbxx68pn71jwp1hm"; depends=[h2o sparklyr]; };
-  rsparse = derive2 { name="rsparse"; version="0.3.3.3"; sha256="0kdgyn9qcmblwqmz8c0hwcysvz38bjf98b6sj9qsg83kq7prj8zg"; depends=[data_table float lgr Matrix mlapi Rcpp RcppArmadillo RhpcBLASctl]; };
+  rsparse = derive2 { name="rsparse"; version="0.3.3.4"; sha256="1n4h33vrbgia9pm04clji3qgvnamn53v334mj7z1ksx121avli38"; depends=[data_table float lgr Matrix mlapi Rcpp RcppArmadillo RhpcBLASctl]; };
   rsppfp = derive2 { name="rsppfp"; version="1.0.4"; sha256="123yv54i58xj4wx9n08qp50mm4l271fm1zhzimrxx22wn2bg8zy5"; depends=[doParallel dplyr foreach igraph stringr tidyr]; };
   rsq = derive2 { name="rsq"; version="1.1"; sha256="0pvnyf875jybid16mg1y3dmnlrk1vahckhr5zaai1a0k4i6mh4jf"; depends=[MASS]; };
   rstack = derive2 { name="rstack"; version="1.0.0"; sha256="19vbfmkd6ymadah1y1w5rn52f4hviddccyc6qj2cv5viqwbwws2z"; depends=[R6]; };
   rstackdeque = derive2 { name="rstackdeque"; version="1.1.1"; sha256="0i1qqbfj0yrqbkad8bqc1qlxmyxpn7zycbnq83cdmfbilcmi87ql"; depends=[]; };
   rstan = derive2 { name="rstan"; version="2.19.2"; sha256="1nh8sm97ck1fwmqj5ia70p5w8alcagx7y2956a3n5k97qfwwxr1i"; depends=[BH ggplot2 gridExtra inline loo pkgbuild Rcpp RcppEigen StanHeaders]; };
   rstanarm = derive2 { name="rstanarm"; version="2.19.2"; sha256="1k4sal4pmyyfb0n9k0x6n7kd04xq75scr6j357vpryaz8dfn46iz"; depends=[bayesplot BH ggplot2 lme4 loo Matrix nlme Rcpp RcppEigen rstan rstantools shinystan StanHeaders survival]; };
-  rstanemax = derive2 { name="rstanemax"; version="0.1.0"; sha256="0xwacxaj99qz4i2npgpiq4jggx73q53il3jm4qlhmpapbwrkbl5f"; depends=[BH dplyr ggplot2 magrittr Rcpp RcppEigen rstan rstantools StanHeaders tidyr]; };
+  rstanemax = derive2 { name="rstanemax"; version="0.1.1"; sha256="0yvinnz0ybrarl1p36ibaiflava1hhdnh4avjgc5iq0b3nr6x42g"; depends=[BH dplyr ggplot2 magrittr purrr Rcpp RcppEigen rstan rstantools StanHeaders tidyr]; };
   rstantools = derive2 { name="rstantools"; version="2.0.0"; sha256="1il0pn4ksbdkska5fmhvgaicvwnnc6cs08g6ags9fj1xkjiqmrsa"; depends=[desc Rcpp]; };
   rstap = derive2 { name="rstap"; version="1.0.3"; sha256="176z39k54l5r60md6wziz828c46alv2pmqivvmhvb358crrb8x7n"; depends=[abind bayesplot BH dplyr ggplot2 lme4 loo Matrix nlme pracma Rcpp RcppEigen rstan rstantools StanHeaders]; };
-  rstatix = derive2 { name="rstatix"; version="0.2.0"; sha256="16xln4skyp222834glzzkck82p1dcfqhhkzhrnrbla81b9isziwn"; depends=[broom car corrplot dplyr magrittr purrr rlang tibble tidyr tidyselect]; };
+  rstatix = derive2 { name="rstatix"; version="0.3.0"; sha256="0rg1wfvjap09x0lc4hfiwsdk0ghldiy33lb97i9w5xs4napkj04d"; depends=[broom car corrplot dplyr magrittr purrr rlang tibble tidyr tidyselect]; };
   rstatscn = derive2 { name="rstatscn"; version="1.1.3"; sha256="07w7ixq1faq7mif2ksxcgl8n6ali9h0wx0nb2yz4kbdgvz68r7b9"; depends=[httr jsonlite]; };
   rstiefel = derive2 { name="rstiefel"; version="1.0.0"; sha256="0g09fpp3432v78gqgn0hiva6zqr8yqn379wz4428wanmiskqr3f0"; depends=[]; };
-  rstpm2 = derive2 { name="rstpm2"; version="1.4.5"; sha256="0xdvv27cf3b45ahvlzbn8n0kmj4kyc7sl52xjr71757ymf154q3g"; depends=[bbmle fastGHQuad mgcv Rcpp RcppArmadillo survival]; };
+  rstpm2 = derive2 { name="rstpm2"; version="1.5.1"; sha256="0p1zqqjss8i5wca4qvr56d6p9ak20ki4cfbxja1wrhkp4kii29r6"; depends=[bbmle deSolve fastGHQuad mgcv Rcpp RcppArmadillo survival]; };
   rstream = derive2 { name="rstream"; version="1.3.5"; sha256="1wprsnwl63cc4a6j5h18r09wlh32bq5z6hj6r5klp7rkpjchsplp"; depends=[]; };
   rstudioapi = derive2 { name="rstudioapi"; version="0.10"; sha256="15mbw607ncdf53mgga76n3va5zzdcjqz14nb0jcn9axwccqamic0"; depends=[]; };
   rsubgroup = derive2 { name="rsubgroup"; version="0.6"; sha256="1hz8rnbsl97ch6sjwxdicn2sjyn6cajg2zwmfp03idzpb3ixlk7l"; depends=[foreign rJava]; };
@@ -12741,21 +12993,22 @@ in with self; {
   rt_test = derive2 { name="rt.test"; version="1.18.7.9"; sha256="0ywkdjvfzmrmmsfkz4jbhwzbzv7wivx80xy8wr92dch1862h6ias"; depends=[]; };
   rt3 = derive2 { name="rt3"; version="0.1.2"; sha256="1fqbymkz4csavkxrs26glzrh0kw3qy9x5smgddgda9a1dxh9ljkm"; depends=[]; };
   rtape = derive2 { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
-  rtdists = derive2 { name="rtdists"; version="0.9-0"; sha256="14ccpn67xdsx5fhwiw32z55gldzdcpaparqb1zpls2r233wg0v99"; depends=[evd gsl msm Rcpp]; };
+  rtdists = derive2 { name="rtdists"; version="0.10-0"; sha256="0dm4nx94xfg6bs7v2m4makk4qx4zw1xh49nihpsaj8vx1ng4lp89"; depends=[evd gsl msm Rcpp]; };
   rtematres = derive2 { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[gdata plyr RCurl XML]; };
   rtext = derive2 { name="rtext"; version="0.1.21"; sha256="0j2jfz0mz9552dwa78d527lxipmj5ql8q8np8qq5jw4ka6wj5lbs"; depends=[digest hellno magrittr R6 Rcpp RSQLite stringb]; };
   rtf = derive2 { name="rtf"; version="0.4-14"; sha256="1v4vb2ijqlbqcjqdhf85kfzs67whkhm6ygp5cw8xa6qw179vkgd5"; depends=[R_methodsS3 R_oo]; };
   rtfbs = derive2 { name="rtfbs"; version="0.3.9"; sha256="02irj6c7nfgp42yb5zdmhbr5pi09xgx0z76d1ccfczjf0r1cyvfz"; depends=[rphast]; };
-  rticles = derive2 { name="rticles"; version="0.11"; sha256="1gzbm7hj8xbml1rs2f2g5baqh3g5073j1vjq5l77i90s7gklvh5m"; depends=[knitr rmarkdown tinytex xfun yaml]; };
+  rticles = derive2 { name="rticles"; version="0.12"; sha256="1zc8cpm3621a9qnwa15clqkn3qf2n55xrj1ncpz6gmcqkw2gxs0g"; depends=[knitr rmarkdown tinytex xfun yaml]; };
   rtide = derive2 { name="rtide"; version="0.0.5"; sha256="0ns79xkkl141bbns8zlvx3gf48k4a03qa21pjyhnhgkm9lsihwfc"; depends=[abind checkr lubridate]; };
-  rtiff = derive2 { name="rtiff"; version="1.4.6"; sha256="09p4rki1z6zy79z9hb8pajglznnklr4hg7fcyrdxnqs1sjbw1iwy"; depends=[pixmap]; };
+  rtiff = derive2 { name="rtiff"; version="1.4.7"; sha256="0l0chjbn8kipnhi37zshphxmxga6id39rm5gzz5gjrv8bnaaxxqb"; depends=[pixmap]; };
   rtika = derive2 { name="rtika"; version="1.22"; sha256="1vlv2v7s7p6plahph1wvki68ssyqq8l49brj3pp3r0cnz082askl"; depends=[curl digest rappdirs sys]; };
   rtimicropem = derive2 { name="rtimicropem"; version="1.4.0"; sha256="0z6bnzks8mcb871m3z5b3cd883hj1i17swjgly005hvwbvi9h61f"; depends=[changepoint dplyr fs ggplot2 knitr lazyeval lubridate R6 rbokeh readr stringr tibble tidyr]; };
   rtip = derive2 { name="rtip"; version="1.1.1"; sha256="0lfny8nvgnf90xsmgmr32nzjbw8117m4vw7d0bc3xm4pzpnymjdq"; depends=[boot ggplot2 mvtnorm plyr rootSolve]; };
   rtk = derive2 { name="rtk"; version="0.2.5.7"; sha256="0h2664z7rbpj0zqnixb5swkkpjbbsgiagmd6dl92k10zphw0c8i0"; depends=[Rcpp]; };
   rtkore = derive2 { name="rtkore"; version="1.5.5"; sha256="0srk0ih4gbmhb1pl6zf8sjwrkdmgws9cl1397fcqv6l3bc376622"; depends=[inline Rcpp]; };
+  rtmpt = derive2 { name="rtmpt"; version="0.1-17"; sha256="0hp4hia8fp9kbs25hgbjv2nr3h0lkn4v4b0j0c4a9bfm2mrvy0l9"; depends=[coda data_table LaplacesDemon loo stringr truncnorm]; };
   rtop = derive2 { name="rtop"; version="0.5-14"; sha256="1wwllckginnzisapbklpsizy47db24r83xahq4qsd8zhqvv9yj33"; depends=[gstat sp]; };
-  rtrek = derive2 { name="rtrek"; version="0.2.0"; sha256="0xp97vzbd5lmad7zd1n14y3x6l7kdqrl9kzj5ncmikwxa5iavcn2"; depends=[downloader dplyr ggplot2 jpeg jsonlite magrittr memoise purrr rvest tibble tidyr xml2]; };
+  rtrek = derive2 { name="rtrek"; version="0.2.5"; sha256="0b7j0y20damrzih3ibj4jf7gpa0sjqqxh31h9cs6r41mn5m7pyj2"; depends=[downloader dplyr ggplot2 jpeg jsonlite magrittr memoise purrr rvest tibble tidyr xml2]; };
   rtrends = derive2 { name="rtrends"; version="0.1.0"; sha256="04xdggf36m294drb9z8khdjr6fgsg4bwkb4mmbbvqfzjpq4mq4y1"; depends=[dplyr lubridate tidyr]; };
   rtrim = derive2 { name="rtrim"; version="2.0.6"; sha256="18fvi8zbf9dqwi5x0sgy2aay5565ldvqpispqqb5gx2lwb9qra2r"; depends=[]; };
   rts = derive2 { name="rts"; version="1.0-49"; sha256="086zlmcjsv7a38k1jfzq2vhlmx7nivhffcz83i57hl6wbkjl7gv2"; depends=[raster RCurl sp xts zoo]; };
@@ -12774,27 +13027,27 @@ in with self; {
   ruler = derive2 { name="ruler"; version="0.2.1"; sha256="01b5qn6b69hhl9df6sr187w16z5hj6vxb8yi77y2rghkcrnm12i9"; depends=[dplyr keyholder rlang tibble tidyr]; };
   runittotestthat = derive2 { name="runittotestthat"; version="0.0-2"; sha256="15zdcvqkr5ivq6wk6dw8k6diginc6z7mdc18pswim90d99j2g9sm"; depends=[assertive RUnit]; };
   runjags = derive2 { name="runjags"; version="2.0.4-4"; sha256="0wqc3kmilvn3szyqvwrvqlins6smpvwv2fj80yflxcr553kph7xd"; depends=[coda lattice]; };
-  runner = derive2 { name="runner"; version="0.2.1"; sha256="107mf3c0paxbncfzm4l1xjiig4gl25ww3ncvbs0j6a13q6pfgjif"; depends=[Rcpp]; };
-  runstats = derive2 { name="runstats"; version="1.0.1"; sha256="05kaw3wkvr6csaa17ivib0hssh2c4nmmkqyba796zpixwmmmb7wq"; depends=[]; };
+  runner = derive2 { name="runner"; version="0.2.3"; sha256="1vnq8lchsffdi8bwi9bv4n6aw2ha1gykwsm0wrm2nhsfp7i1y164"; depends=[Rcpp]; };
+  runstats = derive2 { name="runstats"; version="1.1.0"; sha256="0n9348af60j8a2mwgbafabspb4nm45ry92zlzmynja06zyx8lb2d"; depends=[fftwtools]; };
   rusda = derive2 { name="rusda"; version="1.0.8"; sha256="0xx72jjf1pyixwpnvvgx5n2vc5gl46bam1caav043iqki68wb338"; depends=[foreach httr plyr RCurl stringr taxize testthat XML]; };
   rusk = derive2 { name="rusk"; version="0.1.1"; sha256="0a6vbcnfzlfq9fmibiy0cwcfix65qhxq4f7wc7d53riga82s00lk"; depends=[dplyr ggforce ggplot2 reshape2 shiny tidyr]; };
-  rust = derive2 { name="rust"; version="1.3.6"; sha256="1qh7cf9h1v1fhh2cibrz5afdri6zhcdx0nv0d2y2i6mam0xljf6x"; depends=[Rcpp RcppArmadillo spatstat]; };
+  rust = derive2 { name="rust"; version="1.3.7"; sha256="0d92vqm7hvdwy0glsjg7l1w324zmnq1igypb7f2ymsj7bls0h61d"; depends=[Rcpp RcppArmadillo spatstat]; };
   ruta = derive2 { name="ruta"; version="1.1.0"; sha256="1qr2ryz55h2j3wlwg0535lhmk2ydm0idfxl07rlfxq1pi32cjms1"; depends=[keras purrr R_utils]; };
   ruv = derive2 { name="ruv"; version="0.9.7.1"; sha256="1n4q9mrp9f644spbns6bbnzmlabrg90hwkdfg3hnm3rxp9b4xid0"; depends=[ggplot2 gridExtra scales]; };
   rv = derive2 { name="rv"; version="2.3.3"; sha256="1h5lhy87v88b70a7pbq5xirskm6ih9fk90n6mzp1nmkr7w1d3zai"; depends=[]; };
   rvHPDT = derive2 { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
   rvTDT = derive2 { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
   rvalues = derive2 { name="rvalues"; version="0.6.3"; sha256="1bsdvwcijb75f27c8padjx8663as667axc4skwa6xgv5y423kbd0"; depends=[]; };
-  rvcheck = derive2 { name="rvcheck"; version="0.1.5"; sha256="15222q3sglq0mad5q806p99fhrb96qizmpqw35fa1rb148f95paf"; depends=[BiocManager rlang]; };
+  rvcheck = derive2 { name="rvcheck"; version="0.1.7"; sha256="1a3xlzi4n1rqiapfa180aif7n7nws8pbg8k3nk7ccaczvmni38aw"; depends=[BiocManager rlang]; };
   rversions = derive2 { name="rversions"; version="2.0.0"; sha256="0mkg9zrjxlbwqzijiysivrs523x48syqj30xdfp88clpkqfk435m"; depends=[curl xml2]; };
   rvertnet = derive2 { name="rvertnet"; version="0.7.0"; sha256="01z3ij5z21v901hz4l9173r4pa9jz2nl7bx086ka1bxvcy0dgqgj"; depends=[crul dplyr ggplot2 jsonlite maps]; };
-  rvest = derive2 { name="rvest"; version="0.3.4"; sha256="0ji5lk8g1gbv4d9c4jg1fg6rgsqrrwkm05j1id7drdw9kqdifgj1"; depends=[httr magrittr selectr xml2]; };
-  rvg = derive2 { name="rvg"; version="0.2.1"; sha256="0j61qlswrivz4a4jx8laprcyfzm867x3qibr65vd0fyvf7m6dl8p"; depends=[gdtools officer Rcpp rlang xml2]; };
+  rvest = derive2 { name="rvest"; version="0.3.5"; sha256="0r0a5jic09xw5pk0x42pr99r3zab5m9s4x85ymx1sl769jz42zqf"; depends=[httr magrittr selectr xml2]; };
+  rvg = derive2 { name="rvg"; version="0.2.2"; sha256="0f74ja8frkfgb5hhsdydirn7v6hhylmq5wbay9p0z2ac16xrslrd"; depends=[gdtools officer Rcpp rlang xml2]; };
   rvgtest = derive2 { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
   rviewgraph = derive2 { name="rviewgraph"; version="1.2"; sha256="0qw1fdfwg2763a1k1qmryblw5rpagsi5p70rs7fj256zfcjvwrz8"; depends=[rJava]; };
-  rvinecopulib = derive2 { name="rvinecopulib"; version="0.3.2.1.1"; sha256="093iy7jy7iair3qiqifmbml420bkyzyj8xd09vyffwnw1q3cri1d"; depends=[assertthat BH cctools kde1d lattice Rcpp RcppEigen RcppThread wdm]; };
+  rvinecopulib = derive2 { name="rvinecopulib"; version="0.5.1.1.0"; sha256="1616xqchjyqqf2nmgx5rlpnw8g4696lvlpmrx7jav2cnvkff7s2i"; depends=[assertthat BH kde1d lattice Rcpp RcppEigen RcppThread wdm]; };
   rvkstat = derive2 { name="rvkstat"; version="2.6.2"; sha256="11jaxmf24rkzmymx5dvfjbw2i6lxw4n4g4f83kpjf2768cvscyp2"; depends=[httr jsonlite RCurl tidyr]; };
-  rwalkr = derive2 { name="rwalkr"; version="0.4.0"; sha256="01ia1wkmbigly45kyc1ydrah0yzxlymsnj3vy6wf8ck24lv51dif"; depends=[dplyr httr tidyr]; };
+  rwalkr = derive2 { name="rwalkr"; version="0.5.0"; sha256="1sf3f072j8lywik0j8dhnpd34svlv2j4j47nvyym9ykw4w4apm2a"; depends=[dplyr hms httr tidyr]; };
   rwars = derive2 { name="rwars"; version="1.0.0"; sha256="0kmwpr6gn3xsf0pqx153vblpjbhc34mzlgyv8xb2nw78nf8znfij"; depends=[httr]; };
   rwavelet = derive2 { name="rwavelet"; version="0.4.0"; sha256="0wb3kd97inyh985q1hspnzwxfawfdps43r3zzdpw0jd8sgd7zqxp"; depends=[signal]; };
   rwc = derive2 { name="rwc"; version="1.11"; sha256="1qhgkbkp4nz0wq5c4x8232xiszpiyzcdklfgvpnx4cbp3bbfdi4g"; depends=[MASS Matrix mvtnorm raster]; };
@@ -12808,7 +13061,7 @@ in with self; {
   rwunderground = derive2 { name="rwunderground"; version="0.1.8"; sha256="02p26gkicd5v511kb04p1h3wxj57r7j5vr97n3ibywc6ivz7nqxa"; depends=[countrycode dplyr httr lubridate tibble]; };
   rxSeq = derive2 { name="rxSeq"; version="0.99.3"; sha256="0g0n2pzbssz61psghjp1vrlspgph4s39x1k1zhcz7ivdn5pjb2nx"; depends=[MASS numDeriv VGAM]; };
   rxylib = derive2 { name="rxylib"; version="0.2.4"; sha256="0va7kw40nycjn8gh9blzpbph4z319r5a16yim8lwx3hi6rs9myhr"; depends=[BH Rcpp]; };
-  ryandexdirect = derive2 { name="ryandexdirect"; version="3.2.1"; sha256="0rfvwi4nhqvifqr54zvin2fzfrhjr6w8jq1srk71mm4mjwvaq37y"; depends=[bitops data_table dplyr httr jsonlite magrittr readr xml2]; };
+  ryandexdirect = derive2 { name="ryandexdirect"; version="3.2.2"; sha256="0ga6kx4mpd1dw6b8nbnmc7cly7kcmkplldgdy6jaiz3jmsiy2vgn"; depends=[bitops data_table dplyr httr jsonlite magrittr readr xml2]; };
   rym = derive2 { name="rym"; version="0.5.2"; sha256="1j69fmc0wgj8w5y68ix13kh3rsc4blmyc9hsmp41crgr10mi3nvi"; depends=[httr stringr]; };
   ryouready = derive2 { name="ryouready"; version="0.4"; sha256="1d9z3paxcrkwsgn5g83x57jwz2iqarks30x0bwg48i5ispw6xbr3"; depends=[car ggplot2 stringr]; };
   rysgran = derive2 { name="rysgran"; version="2.1.0"; sha256="1l2mx297iyipap8cw2wcw5gm7jq4076bf4gvgvij4q35vp62m85z"; depends=[lattice soiltexture]; };
@@ -12816,7 +13069,7 @@ in with self; {
   rzmq = derive2 { name="rzmq"; version="0.9.6"; sha256="05j34fwwqlzq9nfkaafl39aqc0nvljf22pndqhj151gpnrpgr8w0"; depends=[]; };
   s2 = derive2 { name="s2"; version="0.4-2"; sha256="17r3xn2ldlz7qpdwrp0mdm7pfrdfwibyv8biaxq4b6qx0p7wvw6n"; depends=[Rcpp]; };
   s20x = derive2 { name="s20x"; version="3.1-28"; sha256="1fx5206gy7cq4n0xrdxcvnd913i08yjjz39ldjm3a98sfz6xj636"; depends=[]; };
-  s2dverification = derive2 { name="s2dverification"; version="2.8.5"; sha256="1y4sj5dkjr9kx3m0iwxpsrq7x1rqjfrz2wxbngk1a6qnxyk52aim"; depends=[abind bigmemory GEOmap geomapdata mapproj maps NbClust ncdf4 plyr SpecsVerification]; };
+  s2dverification = derive2 { name="s2dverification"; version="2.8.6"; sha256="1nvmc3mpdqrcnv17vk8rjd7mh55pj68y2ffiia09lc8h84r3zxil"; depends=[abind bigmemory GEOmap geomapdata mapproj maps NbClust ncdf4 plyr SpecsVerification]; };
   s4vd = derive2 { name="s4vd"; version="1.1-1"; sha256="1rp3z42nxmrvb942h3c5cl544lngzx7nrnnr4zjw7dq495bym7yp"; depends=[biclust foreach irlba]; };
   sAIC = derive2 { name="sAIC"; version="1.0"; sha256="1ih63cfs98kb61gwbmrx2yq7iacb5qa1qrh1a264041qd27r5pj5"; depends=[]; };
   sBF = derive2 { name="sBF"; version="1.1.1"; sha256="0dankakl4rwl9apl46hk57ps4mvn2l1crw4gdqds26fc8w6f6rab"; depends=[]; };
@@ -12831,7 +13084,7 @@ in with self; {
   sValues = derive2 { name="sValues"; version="0.1.6"; sha256="0830f4w6jgpiysk0vz0bxaxwa8m3k94fgj9l3qb42r3jjf9cdn29"; depends=[ggplot2 reshape2]; };
   saasCNV = derive2 { name="saasCNV"; version="0.3.4"; sha256="12h5vrl55sb4wmx0hzib5iax8p0q2qzk19h15r0asfkh9l7qz94l"; depends=[DNAcopy RANN]; };
   sabarsi = derive2 { name="sabarsi"; version="0.1.0"; sha256="14c94zby3jjm6jr28nrg3qp6r6iw68wsb5l5bpd6jjz9pkljrk9i"; depends=[]; };
-  sabre = derive2 { name="sabre"; version="0.3.1"; sha256="0yqw126yr7syjdwq780b395b9qwncqr86vjkmwcvs2w6v1j3nppi"; depends=[dplyr entropy raster rlang sf tibble tidyr]; };
+  sabre = derive2 { name="sabre"; version="0.3.2"; sha256="14rvc8in8lfs9vg96jkqm3xg7bszwss5zd78vngp36x4yay007b6"; depends=[dplyr entropy raster rlang sf tibble tidyr]; };
   sac = derive2 { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; };
   saccades = derive2 { name="saccades"; version="0.1-1"; sha256="138a6g3hjmcyvflpxx1lhgxnb8svrynplrjnvzij7c4bzkp8zip6"; depends=[zoom]; };
   sadists = derive2 { name="sadists"; version="0.2.3"; sha256="17jlzx5h5l1w7riz0rs99w31n6lxnnxwzbzqn2z5r292j2nxvmkw"; depends=[hypergeo orthopolynom PDQutils]; };
@@ -12846,7 +13099,7 @@ in with self; {
   safer = derive2 { name="safer"; version="0.2.1"; sha256="1lmhaj9y0hi4ybxfkllxl99vsagcg73sy4kkcmlvn3bs69jky1r9"; depends=[assertthat base64enc sodium]; };
   safetyGraphics = derive2 { name="safetyGraphics"; version="1.0.0"; sha256="0vkl31bwh2ishijby2xhp5jcnjxzvy6bsv83f3cfpv4qcw4wbd4k"; depends=[dplyr DT haven htmlwidgets jsonlite magrittr purrr rlang rmarkdown shiny shinyjs shinyWidgets stringr tibble tidyr]; };
   salesforcer = derive2 { name="salesforcer"; version="0.1.3"; sha256="1nhw7l6bg375dqqcaxjfvhjm9sb1jsil5wayhffdxc9lqdxrd5a2"; depends=[data_table dplyr httr jsonlite lubridate purrr readr XML xml2]; };
-  salso = derive2 { name="salso"; version="0.1.3"; sha256="1skqr5q42xrx9l6jikfvhqqbqjgy2jsp79n1r2z8wj97cw5g30m8"; depends=[]; };
+  salso = derive2 { name="salso"; version="0.1.9"; sha256="1an0viw8j1mnafc16hdgiynnaxxvwi3nf4pwaig5zagpzg4kl6im"; depends=[]; };
   salty = derive2 { name="salty"; version="0.1.0"; sha256="1dxq62yrkv416fy09l03slc7ci6mnwiyvjlsxhbqnj8yjy3kbhr6"; depends=[assertthat purrr stringr]; };
   sambia = derive2 { name="sambia"; version="0.1.0"; sha256="15yz5lrjav5bs8m52crg3l43xmi4gf7wydji76p181ssyg43z2ln"; depends=[dplyr e1071 FNN mvtnorm pROC ranger smotefamily]; };
   samc = derive2 { name="samc"; version="1.0.3"; sha256="1jhlxyh1h4p29axrpncpjhqxaziybf8hpfa52nxgnif0c9hwjn4b"; depends=[gdistance Matrix raster Rcpp RcppEigen]; };
@@ -12869,6 +13122,7 @@ in with self; {
   sandwich = derive2 { name="sandwich"; version="2.5-1"; sha256="1mk685b9wq7k566pbml52rj96i5h6b3vf215k9picgmq296nzvyv"; depends=[zoo]; };
   sanitizers = derive2 { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
   sankey = derive2 { name="sankey"; version="1.0.2"; sha256="0jvcr2bn69aklfbgj4hbsrc047mymrx0jmsg26m0g6w7n1igqvcw"; depends=[simplegraph]; };
+  sankeywheel = derive2 { name="sankeywheel"; version="0.1.0"; sha256="1sigj4jz13qj4s8vxk0dl2xsddqgyfxabj8yggkasawm7pryvbyy"; depends=[htmlwidgets]; };
   sanon = derive2 { name="sanon"; version="1.5"; sha256="1iikm7ivlz87kbq0ax9r1dz29zdq1kmhxd2imzc4hkvr1rwgciv6"; depends=[]; };
   santaR = derive2 { name="santaR"; version="1.0"; sha256="10g4z951mpxw9d21s5f6zwfch5xs9vx812fb0wyrbw9s8drmlbkh"; depends=[doParallel foreach ggplot2 gridExtra iterators pcaMethods plyr reshape2 shiny shinythemes]; };
   saotd = derive2 { name="saotd"; version="0.2.0"; sha256="1rhkhsnmh3nf7y0x5sl3mmr5mismz8m92gj0v12niysalcywiarh"; depends=[dplyr ggplot2 ggraph igraph ldatuning lubridate magrittr maps plyr purrr reshape2 scales stringr tidyr tidytext topicmodels twitteR widyr]; };
@@ -12886,7 +13140,6 @@ in with self; {
   saves = derive2 { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
   saws = derive2 { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; };
   sazedR = derive2 { name="sazedR"; version="2.0.1"; sha256="1y8vlffvw7ff6j6pqwd0r2zxx1an846znajgcl8mdcbjimvf7fg5"; depends=[bspec dplyr fftwtools pracma zoo]; };
-  sbart = derive2 { name="sbart"; version="0.1.1"; sha256="0552dbdj7rm1h7dbl34m4r4disra6x3p919d9c4719ks88i78255"; depends=[LaplacesDemon msm Rcpp]; };
   sbfc = derive2 { name="sbfc"; version="1.0.1"; sha256="1xz8h1m5d5ahrz4wsy55amd5mxh3acjs5qmcn7gl6yh3pn0c8phf"; depends=[DiagrammeR discretization Matrix Rcpp RcppArmadillo]; };
   sbgcop = derive2 { name="sbgcop"; version="0.980"; sha256="0vmg8b4462qghlyx6hq0raf9xqvygzgwi5y0cbqcljhmbmqjrwxs"; depends=[]; };
   sbioPN = derive2 { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
@@ -12902,7 +13155,7 @@ in with self; {
   scaRabee = derive2 { name="scaRabee"; version="1.1-3"; sha256="1yap3hi36f8hk93jn59nxrbgq8iw0xwkkm3pc2gb50cpcpaq41pd"; depends=[deSolve lattice neldermead]; };
   scagnostics = derive2 { name="scagnostics"; version="0.2-4.1"; sha256="1azg1xlid63l9mcyns9yyl3a3hykbl0sl0h5jhyvzjzahfyanq53"; depends=[rJava]; };
   scaleboot = derive2 { name="scaleboot"; version="0.3-4"; sha256="16shdj4b8pbdbphqzw7r5xzx6k2qfkr729inv21gkp9qcp4h0vrm"; depends=[mvtnorm pvclust]; };
-  scales = derive2 { name="scales"; version="1.0.0"; sha256="0353dkh3d7x78463c6ds80hcml59lrqwr8rlv82a8dnkxla4l7qc"; depends=[labeling munsell R6 RColorBrewer Rcpp viridisLite]; };
+  scales = derive2 { name="scales"; version="1.1.0"; sha256="00rdbfj5mwc3kr8pskidn3n2zkp4ms6cx36xazz54pxw3pysdr0y"; depends=[farver labeling lifecycle munsell R6 RColorBrewer viridisLite]; };
   scalpel = derive2 { name="scalpel"; version="1.0.1"; sha256="18mapg96xl9a1g85h5xhqsz1333hkc28z0ivfjaff933p1kc6sng"; depends=[gam igraph Matrix protoclust R_matlab SDMTools]; };
   scalreg = derive2 { name="scalreg"; version="1.0.1"; sha256="0kfcgl9cpp6g1qx23s1yrjzn0hi74vmrw567vy9wpsmhk04a5bkx"; depends=[lars]; };
   scam = derive2 { name="scam"; version="1.2-5"; sha256="0c8pp2cr3khaibpv3m8kkw73q2pdx6931kh8w64s38wgvjv293fp"; depends=[Matrix mgcv]; };
@@ -12912,20 +13165,20 @@ in with self; {
   scar = derive2 { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
   scatr = derive2 { name="scatr"; version="1.0.1"; sha256="1c2z722i7d7qflh4mzb8kkix5i22wph98kwz2p98x2mhaml8802d"; depends=[cowplot ggplot2 ggridges ggstance jmvcore R6]; };
   scatterD3 = derive2 { name="scatterD3"; version="0.9"; sha256="0miadn406viqzw1sc27fl3xb1l0vvachrfiv72jl9r7qgk2ga5jv"; depends=[digest ellipse htmlwidgets]; };
-  scatterpie = derive2 { name="scatterpie"; version="0.1.3"; sha256="1h89dbcnkqc3l1b8rvdcxsw2d2ak2wcvlj7xg3wzgf7pjah1i6g9"; depends=[ggforce ggplot2 rlang rvcheck tidyr]; };
+  scatterpie = derive2 { name="scatterpie"; version="0.1.4"; sha256="0g5sn0iv6c1q7y51j4gbbbnil5089dgk1w4q94c7h5y3x7wfrzqb"; depends=[ggforce ggplot2 rlang rvcheck tidyr]; };
   scatterplot3d = derive2 { name="scatterplot3d"; version="0.3-41"; sha256="152xqz9c70qab86mpgng049gxsg5f4fpf1m8dh93fb9v1avjd0sc"; depends=[]; };
   scbursts = derive2 { name="scbursts"; version="1.6"; sha256="09yxnq6m35xmp0priavjnh0bdcwkr5hhy7j33cz13xwkrd1cgw5j"; depends=[readxl tibble]; };
   scclust = derive2 { name="scclust"; version="0.2.2"; sha256="0w0qwz8wfdprs2bgv1cjvd2yb6g12jylad21a9rr3w5bkgxprcrp"; depends=[distances]; };
-  sccr = derive2 { name="sccr"; version="1.0"; sha256="1x0ynm64nk1ilknmxgskan8nxymb2y5hmg8i2xw5pbjagyag17lx"; depends=[dplyr]; };
+  sccr = derive2 { name="sccr"; version="2.0"; sha256="1r5hmkij73l0z19smq080gr66nnlqk4v5sq0wcmidbxxsjpzwb45"; depends=[dplyr]; };
   scdensity = derive2 { name="scdensity"; version="1.0.2"; sha256="173xm3bf8vxl30zk4n451al7m003byg9q4d1l1pfyfa4xnv8qdg9"; depends=[lpSolve quadprog]; };
   scdhlm = derive2 { name="scdhlm"; version="0.3.1"; sha256="1b5x4kqvmkpb8wbgfhnwqakisw6hfnvama2bsnd8kvw4alfanxhm"; depends=[nlme]; };
   scenario = derive2 { name="scenario"; version="1.0"; sha256="0v1b00kiny21yx4qkk2x51cy1zqibdnd68z76qia7h5py28yhxsi"; depends=[]; };
   scgwr = derive2 { name="scgwr"; version="0.1.0"; sha256="1pyq6qnfhnzbkla1yp49sfkx5y4g26ccgi803axivyjyp5zvwc1b"; depends=[dplyr FNN spData]; };
-  schoRsch = derive2 { name="schoRsch"; version="1.6"; sha256="0n6mgw185q0d31sxqvqqxc6w79rybmr66wsaqvcxp8ny13l82lr7"; depends=[]; };
+  schoRsch = derive2 { name="schoRsch"; version="1.7"; sha256="19h721v4a7rb1dlkbpb9s24x87fvz3q449ndi0rn0yc0m6mhmcvi"; depends=[]; };
   schoenberg = derive2 { name="schoenberg"; version="2.0.2"; sha256="17pbw9266r9lv9blygmvq9285kcrcy07jaqrj3zfa2pg0zyvhjvm"; depends=[crayon]; };
   scholar = derive2 { name="scholar"; version="0.1.7"; sha256="142iwrips1589fa0g1178a6s1cz4dfcv9b0qs570q6b6ccfjxi6r"; depends=[dplyr ggplot2 ggraph httr R_cache rvest stringr tidygraph xml2]; };
   schoolmath = derive2 { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; };
-  schumaker = derive2 { name="schumaker"; version="1.1"; sha256="09ggzhi60lzqwmc344h6f31zdz0b22mzvj0jpfpdp9lllqb25amf"; depends=[]; };
+  schumaker = derive2 { name="schumaker"; version="1.2"; sha256="1whfmnjmib7lh72src7cnbw3mswzaxq8vd50x5x9cv0031n0y6l7"; depends=[]; };
   scico = derive2 { name="scico"; version="1.1.0"; sha256="0c52a4mhsd9y5vhz3h6f7j2fa5cq0lkks5qa449w6kra5cqpbx34"; depends=[]; };
   scidb = derive2 { name="scidb"; version="2.0.0"; sha256="079akdsxxjnca5jsv0grw1c2nd3dl368xhy4mzm94mh5j6ghi57l"; depends=[bit64 curl data_table digest openssl]; };
   scientoText = derive2 { name="scientoText"; version="0.1"; sha256="0f18hg9s50lbbgl0fqjv45yhynpnsxj8wwm07g126snzr68gbd21"; depends=[stringr tm]; };
@@ -12933,12 +13186,12 @@ in with self; {
   scio = derive2 { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; };
   sciplot = derive2 { name="sciplot"; version="1.1-1"; sha256="1ydwx9kh778z3x7s3i6gqinqi6bmsf6bslaf0mgszj0nrgcmj6y3"; depends=[]; };
   sclero = derive2 { name="sclero"; version="0.2"; sha256="1vqysby822s958msnwcqmz78193vrgmpf6si1jnfb9cj90hh7wgg"; depends=[plyr RImageJROI spatstat]; };
-  sclr = derive2 { name="sclr"; version="0.1.0"; sha256="0fl8zqxqfvrcbs1x7lxb99dfl0z6kfka38fvvclkd1agrw2csks9"; depends=[broom dplyr rlang tibble]; };
+  sclr = derive2 { name="sclr"; version="0.3.0"; sha256="1qm9jds7kxaz1g6v71z2vfmih2sr4c2n26xxjs6ic9hr9dd15y9y"; depends=[broom dplyr rlang tibble]; };
   scmamp = derive2 { name="scmamp"; version="0.2.55"; sha256="17qhj9l1akxachaimy9d5rls8adph8aalj3qr6ckip29a8ma9gf7"; depends=[ggplot2 graph reshape2 Rgraphviz]; };
   scoper = derive2 { name="scoper"; version="0.2.0"; sha256="1b4kyrml5yk46fw9hrp21i6w6ylck5qs64y0mzkbqr2wf1x4ncvs"; depends=[alakazam data_table doParallel dplyr foreach ggplot2 Rcpp rlang seqinr shazam stringi stringr]; };
   scopr = derive2 { name="scopr"; version="0.3.3"; sha256="1j45l5zcrpc4dnb6ik1v0jlqizpkijl0p656s869jhhvv55r6v2i"; depends=[behavr data_table memoise readr RSQLite stringr]; };
   score = derive2 { name="score"; version="1.0.2"; sha256="1p289k1vmc7qg70rv15x05dyb92r7s6315whr1ibi40sqln62a5s"; depends=[msm]; };
-  scorecard = derive2 { name="scorecard"; version="0.2.6"; sha256="18irjp8y8mdn1aiqr50h67w18c3m9yd0ywp5f2vd4l7rw7h5jj23"; depends=[data_table doParallel foreach ggplot2 gridExtra openxlsx]; };
+  scorecard = derive2 { name="scorecard"; version="0.2.7"; sha256="1fp7qd1wy0ki0wwsa2ir0wyqrwjvq5g0b023c5gvzs5y6k7hg4jj"; depends=[data_table doParallel foreach ggplot2 gridExtra openxlsx]; };
   scorecardModelUtils = derive2 { name="scorecardModelUtils"; version="0.0.1.0"; sha256="09znaxrv14m58hsk5pac458xbpcsidc6ygcsw4q9j0p4yd80qbvl"; depends=[car e1071 gbm ggplot2 partykit randomForest reshape2 sqldf stringr]; };
   scorepeak = derive2 { name="scorepeak"; version="0.1.2"; sha256="1g9n7kjqb9qk5b7hw8ysrc069w9dzc4z29ay6z1kbm0v4kkzp7bi"; depends=[checkmate Rcpp]; };
   scorer = derive2 { name="scorer"; version="0.2.0"; sha256="1mc4hxcrqzh4dmz5fy40740bnrp4fxia81fj3cdw9382p67ivhim"; depends=[Rcpp]; };
@@ -12954,18 +13207,18 @@ in with self; {
   scriptexec = derive2 { name="scriptexec"; version="0.3.1"; sha256="0k10x0npdga1nmchzz9xxv0qijnq2n9pb49z1g06bmva1z8wb4wg"; depends=[]; };
   scriptuRs = derive2 { name="scriptuRs"; version="0.1.0"; sha256="1wbvfqcc0raazhdc6pyp93q859ilxfz9rz338p3sb7fjyxvparbl"; depends=[]; };
   scrm = derive2 { name="scrm"; version="1.7.3-1"; sha256="090gsa23l9s4x92q4n7ggp491fc8ghgnjw5p7j67gd1i1iwr55n8"; depends=[Rcpp]; };
-  scrobbler = derive2 { name="scrobbler"; version="0.1.0"; sha256="166ria9pw1v8ky4975xb0jhqrl9jr3y95p7jl8bsmsgyii6lxcia"; depends=[anytime]; };
+  scrobbler = derive2 { name="scrobbler"; version="0.2.12"; sha256="0zqz5hpq9kabcz2q0zdmbygwj9xgdvs9mmv5k6h4gdbfjbzl4fiy"; depends=[anytime httr jsonlite]; };
   scrubr = derive2 { name="scrubr"; version="0.1.1"; sha256="0dqsk6vvc79qmjcr1gdksqzbd064nkyqfj2mxg6z7aifqgxs8zzz"; depends=[lazyeval magrittr Matrix qlcMatrix]; };
   scrypt = derive2 { name="scrypt"; version="0.1.3"; sha256="14iblgbp9v2by8fjbrpsd59iknp5babcz7j3yv1yxxzcwyb6wrrm"; depends=[Rcpp]; };
-  scs = derive2 { name="scs"; version="1.2-3"; sha256="0kljqx0f6x1s98896vwckd3yhmzrilh3k27mvmyvw8nxadkapys7"; depends=[]; };
+  scs = derive2 { name="scs"; version="1.3-2"; sha256="10z5619gbnnygk8pkdx2qji56jlv1q6c1z4581pdkd9sfnhg1yp3"; depends=[]; };
   sctransform = derive2 { name="sctransform"; version="0.2.0"; sha256="1r5kiqqs318q59h2i8m7c6nhghp9w6q26ss2y5a390lkhsawgx6p"; depends=[future future_apply ggplot2 gridExtra MASS Matrix Rcpp RcppEigen reshape2]; };
   scuba = derive2 { name="scuba"; version="1.9-1"; sha256="1b92b6p9dn54rmcaw2ng41pvvvkmrzgg12d6zcr3yh8qgi89pvdi"; depends=[]; };
   sdPrior = derive2 { name="sdPrior"; version="1.0-0"; sha256="0g4crlasnvxz752n3az5jc681jvvj2g87c3a8s2h1i2vh64p5h37"; depends=[doParallel GB2 MASS mgcv mvtnorm pscl]; };
   sdStaf = derive2 { name="sdStaf"; version="1.0.2"; sha256="0r7lqj30r3f0b18kpahi63zsdizcw2zjf1vvvs04s4cg1djjbcp3"; depends=[dismo dplyr ggplot2 raster rasterVis rgdal rgeos sp tidyr]; };
   sda = derive2 { name="sda"; version="1.3.7"; sha256="1v0kp6pnjhazr8brz1k9lypchz8k8gdaby8sqpqzjsj8klghlcjp"; depends=[corpcor entropy fdrtool]; };
   sdat = derive2 { name="sdat"; version="1.1"; sha256="1mxijw2yfblqjvqqb2xrzhfn9c872i1q9ggw24xicvr2fk4lvjw6"; depends=[]; };
-  sdcHierarchies = derive2 { name="sdcHierarchies"; version="0.18.1"; sha256="0k7kks4kg62pk00zs7y5gbikaz2fpgkldw9p5jzhghdlkykz03xw"; depends=[cli data_table jsonlite rlang shiny shinyjs shinythemes shinyTree]; };
-  sdcMicro = derive2 { name="sdcMicro"; version="5.4.0"; sha256="0qh9rcjg5pbq2lnymjzf5xh3h22f0j30xmq5hqsk9lkhr863mbn6"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase sets shiny shinyBS VIM xtable]; };
+  sdcHierarchies = derive2 { name="sdcHierarchies"; version="0.18.2"; sha256="09f9b6padx6jsjhh0d7qa7qs99rar4j9fbmyp9569ywc9ld7z7mm"; depends=[cli data_table jsonlite rlang shiny shinyjs shinythemes shinyTree]; };
+  sdcMicro = derive2 { name="sdcMicro"; version="5.5.0"; sha256="0qskj65994kmv1s0rpz1a4dvlji1s4sn3y6lfqsh1zdf6lfdvhpn"; depends=[car carData cluster data_table DT e1071 ggplot2 haven knitr MASS prettydoc Rcpp rhandsontable rmarkdown robustbase shiny shinyBS VIM xtable]; };
   sdcSpatial = derive2 { name="sdcSpatial"; version="0.1.1"; sha256="1szv2nb758k3x5scxml2ns11fi99rlmd11r3fhzy3dgylf0m0xnm"; depends=[raster]; };
   sdcTable = derive2 { name="sdcTable"; version="0.30"; sha256="1sbdnm2na36jx76hcpfks3kr5milid5sn0cpzjky90ldfii2pqf9"; depends=[data_table knitr lpSolveAPI Rcpp Rglpk rlang sdcHierarchies slam stringr]; };
   sdcTarget = derive2 { name="sdcTarget"; version="0.9-11"; sha256="18cf276mh1sv16xn0dn8par4zg8k7y8710byxiih6db4i616fjpi"; depends=[doParallel foreach magic tuple]; };
@@ -12993,14 +13246,14 @@ in with self; {
   seasonalview = derive2 { name="seasonalview"; version="0.3"; sha256="1l705yc7ssldsfckbgnvd95sh3zzhpkmf1rr6ar2s60s3wsyly4n"; depends=[dygraphs htmlwidgets openxlsx seasonal shiny shinydashboard xtable xts zoo]; };
   seastests = derive2 { name="seastests"; version="0.14.2"; sha256="04kx4sijnpsarq4iaclxvckgr5y0gmz5a0fmkkqjmfi3hm1kvw3d"; depends=[forecast xts zoo]; };
   seawaveQ = derive2 { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[lubridate NADA survival]; };
-  secr = derive2 { name="secr"; version="3.2.1"; sha256="1612zbbpcm5xbvki7qz1jsk09wdxf64285f87a3dmh1479fnc16q"; depends=[abind MASS mgcv nlme raster sp stringr]; };
+  secr = derive2 { name="secr"; version="4.0.2"; sha256="07b8prqx9yy9k2pzm69mf6lahcwzb6z8x52bgph6ljxwji53vyk6"; depends=[abind MASS mgcv nlme raster Rcpp RcppParallel sp stringr]; };
   secrdesign = derive2 { name="secrdesign"; version="2.5.7"; sha256="064c9vwcn0pn0hd461j60fzzc21k22gqlm5zcsz2qqvv5c64ynic"; depends=[abind openCR secr]; };
   secret = derive2 { name="secret"; version="1.0.0"; sha256="09b28f7ndc167bbanbdydralykq718fixnrgs5xr9d3fbdhz1vdl"; depends=[assertthat curl jsonlite openssl rprojroot]; };
   secrlinear = derive2 { name="secrlinear"; version="1.1.1"; sha256="0jcvraypkss1gphh4cjb0b4v9460fj4dw80yd057ah11p9942ggs"; depends=[igraph maptools MASS rgdal secr sp]; };
   secsse = derive2 { name="secsse"; version="2.0.0"; sha256="0qsbn56vc6y19hmc94bimv1mf86ayxa8rj38qvvsxjfm9czmw2ac"; depends=[ape apTreeshape DDD deSolve doParallel foreach geiger phylobase]; };
   secure = derive2 { name="secure"; version="0.5"; sha256="16pv5m7rrcs8hcjj3kylq7smyzf2qk8rkg9m1b421w0ac7lg04x1"; depends=[MASS Rcpp RcppArmadillo]; };
   securitytxt = derive2 { name="securitytxt"; version="0.1.1"; sha256="0yrydcc68qcsq5wrdfgwfi347pdd0zc8hp2ikmw3iz31anm3b4yw"; depends=[Rcpp]; };
-  see = derive2 { name="see"; version="0.2.1"; sha256="0c4hw3x30zip8rp04knw07b3cvczfkpx7zi7m6n411d5bl90xiij"; depends=[bayestestR dplyr ggplot2 ggridges gridExtra insight magrittr rlang scales]; };
+  see = derive2 { name="see"; version="0.3.0"; sha256="0qcnfv2v7p2day4p6839jlwf6jr9ls8049zw9qfl0xynxnxz66s1"; depends=[bayestestR dplyr effectsize ggplot2 ggridges gridExtra insight magrittr parameters rlang scales]; };
   seeclickfixr = derive2 { name="seeclickfixr"; version="1.1.0"; sha256="1agsqq2msrqrssffc6liyjjs6nqm90xy2inlcjbkdac5dhinjc4n"; depends=[jsonlite RCurl]; };
   seedCCA = derive2 { name="seedCCA"; version="1.0"; sha256="1grs6ykiyp8p5gh93hgb4niggppbh2wzwl6yx0l1qs9fkcz5zvy7"; depends=[CCA corpcor]; };
   seedwater = derive2 { name="seedwater"; version="1.0"; sha256="0qqhjax16lnyriv6q9n89g93bs1zy8xwx9jp0xbilba7djzjh33g"; depends=[rpanel tkrplot]; };
@@ -13022,12 +13275,13 @@ in with self; {
   selectapref = derive2 { name="selectapref"; version="0.1.1"; sha256="0pn0s8dxbshwmv0qdrf670cjk3inf5w7jgac3fq29gmcx4f3fhl2"; depends=[]; };
   selectiongain = derive2 { name="selectiongain"; version="2.0.591"; sha256="11gd9xdn3jl3mg3c9ykw8bqvcxhihn19iqsy8dl8bacijjv84bva"; depends=[mvtnorm]; };
   selectiveInference = derive2 { name="selectiveInference"; version="1.2.5"; sha256="07kzpvdmflca1sriqfzn20f84fx2b9kwwiqm91lqjpx854bsx5kh"; depends=[adaptMCMC glmnet intervals MASS Rcpp survival]; };
-  selectr = derive2 { name="selectr"; version="0.4-1"; sha256="1jp27rxks4w29l47k42869hp8hnkzq2rnvsqbr44wd19fqb2zm4b"; depends=[R6 stringr]; };
+  selectr = derive2 { name="selectr"; version="0.4-2"; sha256="09y1n3iy297g49xlpl7xrjpwgnm57pskx5991lyfcpizbz8ax22m"; depends=[R6 stringr]; };
   selectspm = derive2 { name="selectspm"; version="0.2"; sha256="0wvhlzhl0janhms107xczmilpmr4y26jgk0ag3g34iqba7fbnfqd"; depends=[ecespa spatstat]; };
   seleniumPipes = derive2 { name="seleniumPipes"; version="0.3.7"; sha256="1krpzh2gy3yl07c2n1d8q21xjc2qcv5ac1kv7212710bxkdyfad6"; depends=[httr jsonlite magrittr whisker xml2]; };
   selfea = derive2 { name="selfea"; version="1.0.1"; sha256="0zyxbd5vg8nhigill3ndcvavzbb9sbh5bz6yrdsvzy8i5gzpspvx"; depends=[ggplot2 MASS plyr pwr]; };
   selfingTree = derive2 { name="selfingTree"; version="0.2"; sha256="18ylxmg2ms4ccgm4ahzfl65x614wiq5id7zazjjz5y75h8gs7gzj"; depends=[foreach]; };
   sem = derive2 { name="sem"; version="3.1-9"; sha256="1f9c6g6pfx66gd2pappcsqh484ah6a0x4z47hpd46rah0817hcsa"; depends=[boot MASS matrixcalc mi]; };
+  semEff = derive2 { name="semEff"; version="0.1.0"; sha256="0mch1xzm4j2i612qs6002756zzdl7wmrgjmlp047dpa89dlp2yly"; depends=[boot lme4]; };
   semPLS = derive2 { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
   semPlot = derive2 { name="semPlot"; version="1.1.2"; sha256="0l1v9yi1pv59iwfknw4dh9qskk5y8r347jq1vq13gnfd3bmd71xr"; depends=[colorspace corpcor igraph lavaan lisrelToR OpenMx plyr qgraph regsem rockchalk sem XML]; };
   semPower = derive2 { name="semPower"; version="1.0.0"; sha256="0wciz5qrd40q4mxq96pibnya11ac42n37c9xhjd4zfhznhjz06bb"; depends=[]; };
@@ -13043,13 +13297,14 @@ in with self; {
   semsfa = derive2 { name="semsfa"; version="1.1"; sha256="1k6i1m4r9y7j85rlrsgfjm8w15ax4xgf70xyvqwsszmf9950ldxx"; depends=[doParallel foreach gamlss iterators mgcv moments np]; };
   semtree = derive2 { name="semtree"; version="0.9.13"; sha256="0am7fm7f9kgq6kmd17axrswlg191ny3pq6b5sf731diz1ghyncmp"; depends=[bitops cluster digest OpenMx plotrix rpart rpart_plot sets stringr]; };
   semver = derive2 { name="semver"; version="0.2.0"; sha256="10wpkyms2cix3bsin2q0qhkbl445pwwpa5gm2s4jjw1989namkxy"; depends=[assertthat Rcpp]; };
+  sen2r = derive2 { name="sen2r"; version="1.2.1"; sha256="19rzh7xxq6b9rbiqmmk4rwh5x0w3h8p8yk7c3111fggm67jy62dv"; depends=[data_table doParallel foreach geojsonio httr jsonlite leaflet leaflet_extras magrittr mapedit raster reticulate sf shiny shinydashboard shinyFiles shinyjs shinyWidgets stars units XML]; };
   sendmailR = derive2 { name="sendmailR"; version="1.2-1"; sha256="0z7ipywnzgkhfvl4zb2fjwl1xq7b5wib296vn9c9qgbndj6b1zh4"; depends=[base64enc]; };
   sendplot = derive2 { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; };
   sensR = derive2 { name="sensR"; version="1.5-1"; sha256="0hqnk6gvlkl9harz7rh5ikbp0s0vjwi63gxixqjfhkyk02ilaa3z"; depends=[MASS multcomp numDeriv]; };
   sensemakr = derive2 { name="sensemakr"; version="0.1.2"; sha256="0p5rh511fymbh8vkfwdv62xxwflkmrqwas1b16m0hlzjwyzdn03m"; depends=[]; };
   sensiPhy = derive2 { name="sensiPhy"; version="0.8.3"; sha256="03qrxal0wvgiyr5vnnzc8n95h4460p11idnmr6vnr73c5f8q905h"; depends=[ape caper geiger ggplot2 phylolm phytools]; };
   sensibo_sky = derive2 { name="sensibo.sky"; version="1.0.0"; sha256="0s8gbj7qrcbcnflp7v0s93ykh2xgk7jwpyvzndj1f90hjy20x3bc"; depends=[glue httr jsonlite]; };
-  sensitivity = derive2 { name="sensitivity"; version="1.16.1"; sha256="1qzkj0bzyyh42n40a6ihzs08bngrd8bq62rssrgzj7vfs7a14wi3"; depends=[boot ggplot2]; };
+  sensitivity = derive2 { name="sensitivity"; version="1.16.2"; sha256="1y9w7vxzkw0rx6sbgvs5b0czmksqxcf1c6iycmw6yf4hgwjf5clm"; depends=[boot ggplot2]; };
   sensitivity2x2xk = derive2 { name="sensitivity2x2xk"; version="1.01"; sha256="1r829k939zzmi0j4chdaniajchcflmmjrl3a9hwnkg0wkfnjbvdl"; depends=[BiasedUrn mvtnorm]; };
   sensitivityCalibration = derive2 { name="sensitivityCalibration"; version="0.0.1"; sha256="1fn07dra7dhpsg6f1yn1ayfpmvwaxma8cps94070nrpfwmdvi04g"; depends=[ggplot2 ggrepel plotly relaimpo splitstackshape stringi]; };
   sensitivityPStrat = derive2 { name="sensitivityPStrat"; version="1.0-6"; sha256="0rfzvkpz7dll3173gll6np65dyb40zms63fkvaiwn0lk4aryinlh"; depends=[survival]; };
@@ -13063,12 +13318,12 @@ in with self; {
   sensory = derive2 { name="sensory"; version="1.1"; sha256="1zd0ajrymxi6gygcq9fqgwgy0g6c3cqz53x0k5m0ihbmh11rc7s7"; depends=[gtools MASS Matrix]; };
   senstrat = derive2 { name="senstrat"; version="1.0.3"; sha256="0j6mb55v5ivqvk8nn8fjlzrbdgj6csa58yc6gy1g07m7gk2qz2np"; depends=[BiasedUrn MASS]; };
   sentimentr = derive2 { name="sentimentr"; version="2.7.1"; sha256="13myh7w9pynmgvqspsxpnj8mz8jz8nwkwjyax4hahvwb9707hf2s"; depends=[data_table ggplot2 lexicon stringi syuzhet textclean textshape]; };
-  sentometrics = derive2 { name="sentometrics"; version="0.7.0"; sha256="08vpjpbcyp4r8psi06ql6zij51r1cp2hz45r007r1lz151pd043y"; depends=[caret data_table foreach ggplot2 glmnet ISOweek quanteda Rcpp RcppArmadillo RcppParallel RcppRoll stringi]; };
+  sentometrics = derive2 { name="sentometrics"; version="0.7.6"; sha256="1yjli4lkh164m68qhf5fnz7gvv0wpxb4cwx9vqc3n75m7ybc45vw"; depends=[caret data_table foreach ggplot2 glmnet ISOweek quanteda Rcpp RcppArmadillo RcppParallel RcppRoll stringi]; };
   separationplot = derive2 { name="separationplot"; version="1.1"; sha256="0qfkrk8n6jj8l7ywngwsaikfwmd9hbrpr43x0l9wkjjp1asgs5l6"; depends=[]; };
   seplyr = derive2 { name="seplyr"; version="0.8.4"; sha256="18z3nfxghzzcn23ilgsimbxz8mqi3q45i7b3ihdmkllc3ln1f0vk"; depends=[dplyr rlang tidyr wrapr]; };
   seqCBS = derive2 { name="seqCBS"; version="1.2.1"; sha256="176ggpdcgmpsjixmz0ldknyd0vw120kjyrid3bq2bn4cgkwzb74z"; depends=[clue]; };
   seqDesign = derive2 { name="seqDesign"; version="1.2"; sha256="10p8ldj83mvhpcz1yas4xns5qh8zbs533na8nv87phngi8dsb76m"; depends=[survival]; };
-  seqHMM = derive2 { name="seqHMM"; version="1.0.13"; sha256="1kg0vjwbmapvrwh0cn2rfzsbkp8f2l0hlaw4qd5hxjij177h0whx"; depends=[gridBase igraph Matrix nloptr numDeriv Rcpp RcppArmadillo TraMineR]; };
+  seqHMM = derive2 { name="seqHMM"; version="1.0.14"; sha256="0ybdp5364jddakkd7rawrfk87hn30fgjpsirlz2440w600m69ydr"; depends=[gridBase igraph Matrix nloptr numDeriv Rcpp RcppArmadillo TraMineR]; };
   seqICP = derive2 { name="seqICP"; version="1.1"; sha256="1dfhl7g47icjw38p9c0hyvnn3pwzw7pndywk22vgcyfhiz23xjcp"; depends=[dHSIC mgcv]; };
   seqMeta = derive2 { name="seqMeta"; version="1.6.7"; sha256="11dscdrlnk5jzg0q2g59qis4xjr4xs86bi463jmhq53n9gsb4i1l"; depends=[CompQuadForm coxme Matrix survival]; };
   seqRFLP = derive2 { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; };
@@ -13102,7 +13357,7 @@ in with self; {
   sfadv = derive2 { name="sfadv"; version="1.0.1"; sha256="1rfpm6km5pckwhqgpvidm6qsj5sjdaqqj5b0sgvpslivfa4c80cr"; depends=[gmm minpack_lm]; };
   sfc = derive2 { name="sfc"; version="0.1.0"; sha256="0cm4mfcfd9bhf2j5fppsihzrfipnldb6q3xradd88z9pwgrkfx2a"; depends=[dplyr sna tidyr triangle zoo]; };
   sfdct = derive2 { name="sfdct"; version="0.0.6"; sha256="0ilh89mfwp1yqn44yn80vz1a6g65hryk6w87ngzvak3pd6jxq6aa"; depends=[dplyr RTriangle sf sp tibble]; };
-  sfheaders = derive2 { name="sfheaders"; version="0.0.1"; sha256="1zx3kqx8p9mhmxlhh39i0lp9lnwl6khn1phm7rl4capfa9d7ry0p"; depends=[Rcpp]; };
+  sfheaders = derive2 { name="sfheaders"; version="0.0.2"; sha256="1bl76g27kv8szivxrp8pki7z16ghk9v50nhwbkl2x66r9d6n778x"; depends=[Rcpp]; };
   sfinx = derive2 { name="sfinx"; version="1.7.99"; sha256="14v47y00qwvc2s0vzjw19hwn85nzj8lna539c75qq6zkn6kir6va"; depends=[]; };
   sfsmisc = derive2 { name="sfsmisc"; version="1.1-4"; sha256="0zaw617zarmwir8l60riky0z6r1j3mwfnm1f32vqcbljb74akdj4"; depends=[]; };
   sft = derive2 { name="sft"; version="2.2-1"; sha256="0fxz64ba58n6ghfqsgq64n1c7qkvi8c3lsa86732mil9w71yxw33"; depends=[fda SuppDists]; };
@@ -13115,30 +13370,30 @@ in with self; {
   sglasso = derive2 { name="sglasso"; version="1.2.3"; sha256="1xf4jni7gybk66wp542p92jxrp4lf63ypbwsnb3av5db04bis7ll"; depends=[igraph Matrix]; };
   sglg = derive2 { name="sglg"; version="0.1.5"; sha256="0b2lksn887h92y8l1gjmhm2pxzfn6kk0rjvyh9k2b1j4plkvp73b"; depends=[AdequacyModel Formula ggplot2 gridExtra moments robustloggamma ssym survival]; };
   sglr = derive2 { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
-  sgmcmc = derive2 { name="sgmcmc"; version="0.2.4"; sha256="1bivg3rw5c98355z4d596pwf4ciibbrmr3ay2ixj16dqd7g23j94"; depends=[reticulate tensorflow]; };
+  sgmcmc = derive2 { name="sgmcmc"; version="0.2.5"; sha256="0lq79c7i6bklh8c63wx3k6h9mk8s1abbr0hc41drcm96bbbg0aal"; depends=[reticulate tensorflow]; };
   sgmodel = derive2 { name="sgmodel"; version="0.1.0"; sha256="03s9z7n7w3pys5dp1z5x91bszgv3q1sax5z591dz9rvmn5glp2lj"; depends=[ggplot2 ramify Rtauchen tidyverse]; };
   sgof = derive2 { name="sgof"; version="2.3"; sha256="12bpyvg5df1m2ar6frpi10zlj3dk9h61r13rzn3w5a3nyk8gljsg"; depends=[poibin]; };
   sgr = derive2 { name="sgr"; version="1.3"; sha256="0zxmrbv3fyb686hcgfy2w1w2jffxf41ab8yc90dsgf931s9c55wn"; depends=[MASS]; };
   sgt = derive2 { name="sgt"; version="2.0"; sha256="0qb3maj5idwafs40fpdfrwzkadnh5yg8fvfzfs51p9yy69kbmlkx"; depends=[numDeriv optimx]; };
   shades = derive2 { name="shades"; version="1.4.0"; sha256="1zg95sjhrfvbdlfc387g9p0vnb8nb6agdk1mb3wq3kwkm2da0bqj"; depends=[]; };
-  shadow = derive2 { name="shadow"; version="0.6.2"; sha256="10azq8w2hwd2ff2yvl81jrfsfqjq1qb6dqkhvkb7xnnwmd4488bs"; depends=[plyr raster rgeos sp]; };
-  shadowtext = derive2 { name="shadowtext"; version="0.0.6"; sha256="1cx9wdx99n9k8ysf947vkxry27rvjs24yhg8yqygs84z5rjaahzp"; depends=[ggplot2 scales]; };
+  shadow = derive2 { name="shadow"; version="0.6.3"; sha256="0xm3d3x02z2lk1n9z5ny7cdybyvxxznwrfn76nk1jx5dshqhrwpr"; depends=[plyr raster rgeos sp]; };
+  shadowtext = derive2 { name="shadowtext"; version="0.0.7"; sha256="1s1ip8zfr684a3ld7hvf524bhn2j31k6d1wbhh1ni0flsggv2ckf"; depends=[ggplot2 scales]; };
   shallot = derive2 { name="shallot"; version="0.4.7"; sha256="0lvvnia3yngywp7gm68kdwgfmvag4llhzim8nqcbl6iq52lvlj2g"; depends=[commonsMath rscala salso]; };
   shape = derive2 { name="shape"; version="1.4.4"; sha256="0hadk3mapkhbh8xjkiz52vxdagmmgvm15xwpzb90ikw4giyipjzl"; depends=[]; };
   shapeR = derive2 { name="shapeR"; version="0.1-5"; sha256="17fq4gsdvyniq7n4x1xdvb5kk50184i7why3pdf1djjhknym087j"; depends=[gplots jpeg MASS pixmap vegan wavethresh]; };
   shapefiles = derive2 { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; };
-  shapes = derive2 { name="shapes"; version="1.2.4"; sha256="1zqykhx8rz1k2ahi2lmmzll1c8k0as6vw4gbd3rpfb5fvpni3ni0"; depends=[MASS minpack_lm rgl scatterplot3d]; };
+  shapes = derive2 { name="shapes"; version="1.2.5"; sha256="0gfpdydfysp5mwg7qmkn73s67gvh2szb40mzqrx97h41ijgcgd8s"; depends=[MASS minpack_lm rgl scatterplot3d]; };
   shapper = derive2 { name="shapper"; version="0.1.2"; sha256="0z2ad0hk1gwxbr4kqbk26lzl25hrcifcp92i3am5j6y0ys71dwsx"; depends=[ggplot2 reticulate]; };
-  shar = derive2 { name="shar"; version="1.0.1"; sha256="0qpjmxdfp08lqhn70nh4728scm1ah93qpdyg3215640b3js0d3ik"; depends=[classInt raster Rcpp spatstat]; };
+  shar = derive2 { name="shar"; version="1.1"; sha256="157b1pia21qygb7pqb97v8b3bklnfq40xf8y7wg6p2ixkab0ws6c"; depends=[classInt raster Rcpp spatstat]; };
   sharpData = derive2 { name="sharpData"; version="1.2"; sha256="0pvaq8i1vrra3d0wf6yyqkbin0zgsd1kvdzh4bfnyps6pzn5k789"; depends=[KernSmooth quadprog]; };
   sharpeRratio = derive2 { name="sharpeRratio"; version="1.1"; sha256="0rgsad8idhjyjgwlzk358jlqkqf6sk7g6vl3fchkamjzxnhbb8p9"; depends=[ghyp Rcpp]; };
   sharpr2 = derive2 { name="sharpr2"; version="1.1.1.0"; sha256="1r7anfr296l5sbhgry6rb15hlca6mpcm24qssdzz9bckavyfvqgi"; depends=[Matrix mvtnorm]; };
-  sharpshootR = derive2 { name="sharpshootR"; version="1.0"; sha256="1x9cava7b9lg8qpmjqlbkqmpc9a2dn8k4kl71s4himr4wzp9z4y3"; depends=[ape aqp circular cluster digest Hmisc igraph lattice latticeExtra plyr RColorBrewer reshape2 scales soilDB sp vegan]; };
+  sharpshootR = derive2 { name="sharpshootR"; version="1.5"; sha256="1r9pmrbdbncph1xjvwa29pzfw0xvw0p0giy098jswiyzfipsjv6k"; depends=[ape aqp circular cluster digest e1071 Hmisc igraph lattice latticeExtra plyr RColorBrewer reshape2 scales soilDB sp stringi vegan]; };
   sharx = derive2 { name="sharx"; version="1.0-5"; sha256="10sfjg6946jfk4051da0w1v89503av40wckqaabr12syf8kn0aw8"; depends=[dclone dcmle Formula]; };
   shazam = derive2 { name="shazam"; version="0.2.1"; sha256="1qqrjddkj29b7c9vgc2x4w6ya0gilgc983sqbgmm60ljl1ihl958"; depends=[alakazam ape diptest doParallel dplyr foreach ggplot2 igraph iterators kedd KernSmooth lazyeval MASS progress rlang scales SDMTools seqinr stringi tidyr]; };
   shelltrace = derive2 { name="shelltrace"; version="3.5.1"; sha256="1xgbavaa26185i6q3907ds3bzq4xrw027x1sw5vsybqrxdz04jiz"; depends=[bmp tiff xlsx]; };
   shiftR = derive2 { name="shiftR"; version="1.5"; sha256="18y2qzqx8hd6yph1wnsq4ygm16pcdszynh174xsrxrhvx2h9mi4x"; depends=[]; };
-  shiny = derive2 { name="shiny"; version="1.3.2"; sha256="0ky2w2f1lgak2q5a3ym44g0mlna7j8vw25g8yr2shv0rdjp53f18"; depends=[crayon digest htmltools httpuv jsonlite later mime promises R6 rlang sourcetools xtable]; };
+  shiny = derive2 { name="shiny"; version="1.4.0"; sha256="0jvcxs0vdxdlbriahxjzzcmg8v8if21k3xvdgk59iskw71ch81qc"; depends=[crayon digest fastmap htmltools httpuv jsonlite later mime promises R6 rlang sourcetools xtable]; };
   shiny_i18n = derive2 { name="shiny.i18n"; version="0.1.0"; sha256="15llwr4yrx6rlk32b92wcq3dn360y5cvy4mh2aqkza9ikcvlhcvv"; depends=[jsonlite yaml]; };
   shiny_router = derive2 { name="shiny.router"; version="0.1.1"; sha256="0biwni6bk39qafvsh8w32crlgm4hf8r9kwkmnlc3w5za2x2fja4c"; depends=[magrittr shiny]; };
   shiny_semantic = derive2 { name="shiny.semantic"; version="0.2.1"; sha256="0m0f22qlmf7f2cf33myn72dm48yslqyx4kwzb96i78a3yz6a2awp"; depends=[htmltools htmlwidgets jsonlite magrittr purrr shiny]; };
@@ -13148,29 +13403,30 @@ in with self; {
   shinyEffects = derive2 { name="shinyEffects"; version="0.1.0"; sha256="03fm2i1ydlp90w299nvz7dqs9724g0m2f0bc44ni8m2gz9cfpccs"; depends=[htmltools shiny shinydashboard]; };
   shinyEventLogger = derive2 { name="shinyEventLogger"; version="0.1.1"; sha256="1piycfg9j0dg3fgq9f88gs7zvhldmrzn7ggy2ijbh6r7iwipwgdm"; depends=[bupaR jsonlite mongolite purrr R_utils shiny stringr]; };
   shinyFeedback = derive2 { name="shinyFeedback"; version="0.1.0"; sha256="01qp75c5dsvc4xs1id1yhn81gmjl0hnjz8msf8mkvf4ifqal563f"; depends=[digest shiny]; };
-  shinyFiles = derive2 { name="shinyFiles"; version="0.7.3"; sha256="01as3l9ffj5dwac0vviais2x5l3027zxlj67kcvkdwxaj5hql33i"; depends=[fs htmltools jsonlite shiny tibble]; };
+  shinyFiles = derive2 { name="shinyFiles"; version="0.7.5"; sha256="1143m941hma9hc77c3xcw26c0ygfhn9ii2sbp9wrydxv4gc7mr8a"; depends=[fs htmltools jsonlite shiny tibble]; };
   shinyHeatmaply = derive2 { name="shinyHeatmaply"; version="0.1.0"; sha256="1vl80vp7yslnh0dvcrpysfn5rndjavphy31y15546q7ax7d0fn6v"; depends=[dplyr DT heatmaply htmltools htmlwidgets jsonlite plotly RColorBrewer readxl shiny viridis xtable]; };
   shinyKGode = derive2 { name="shinyKGode"; version="1.0.5"; sha256="004zwz4kqfijzvvwkq8v1gi25w1wrdlg8230g93w36gbi6cl2vk1"; depends=[ggplot2 gridExtra KGode mvtnorm pracma pspline reshape2 shiny shinyjs XML]; };
   shinyLP = derive2 { name="shinyLP"; version="1.1.2"; sha256="1sjcll10ciq6pj9h8c6ybjqp8763wc423hddlalcblxxpajf6avz"; depends=[shiny]; };
-  shinyML = derive2 { name="shinyML"; version="0.1.1"; sha256="16agyfss9zxigi34qz9823rdfzzi20174ssb3mk3la7rcdpb8chr"; depends=[data_table dplyr DT dygraphs ggplot2 h2o plotly shiny shinycssloaders shinydashboard shinyWidgets sparklyr tidyr]; };
-  shinyMatrix = derive2 { name="shinyMatrix"; version="0.2.0"; sha256="10l85263xkj9mgx8ylpabq8319qlzd712bb46qc50rl7x10k7piz"; depends=[jsonlite shiny]; };
+  shinyML = derive2 { name="shinyML"; version="0.2.0"; sha256="1x7fshfq85cbaydhhqx1lcfybv6qlrc6rmajsbcvvnbnbp1m5ysb"; depends=[data_table dplyr DT dygraphs ggplot2 h2o plotly shiny shinycssloaders shinydashboard shinyWidgets sparklyr tidyr]; };
+  shinyMatrix = derive2 { name="shinyMatrix"; version="0.3.0"; sha256="0gakbwfrqyxbm946rgxk3xc4qh4i3631hg8q37058ji63bxqzadc"; depends=[jsonlite shiny]; };
+  shinyMobile = derive2 { name="shinyMobile"; version="0.1.0"; sha256="1jk4dpg78qxpsqnj44ia3z668bhf8mfziiz8v4zp7mmpp7x5447b"; depends=[htmltools jsonlite magrittr shiny]; };
   shinyMolBio = derive2 { name="shinyMolBio"; version="0.2"; sha256="09lq5pvis450il1agcq5n9cilnq84rfv08w2dz1d0bbq1qgrgnvg"; depends=[checkmate dplyr plotly purrr RColorBrewer RDML shiny stringr whisker]; };
   shinyRGL = derive2 { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
   shinyShortcut = derive2 { name="shinyShortcut"; version="0.1.0"; sha256="101wz9s4rk7fbaqgm0r2v3v8za20vdxwq4vhkz8xr7y5pr65sxiq"; depends=[]; };
   shinyTime = derive2 { name="shinyTime"; version="1.0.1"; sha256="1d830wf7d5ki7frbr1vgy9d0vllyfcylq7pfkspjkz64b2xfhah3"; depends=[htmltools shiny]; };
   shinyTree = derive2 { name="shinyTree"; version="0.2.7"; sha256="0jfx2capckv7hf2yx3fn8i4rcmhi222ah91jnmhg497x8wgz31s3"; depends=[htmlwidgets jsonlite promises shiny stringr]; };
-  shinyWidgets = derive2 { name="shinyWidgets"; version="0.4.9"; sha256="1yxmqvq96hhbnvwsaf7cpp2947bxww5ap3jlz7sjch8jrkwlb4cl"; depends=[htmltools jsonlite scales shiny]; };
+  shinyWidgets = derive2 { name="shinyWidgets"; version="0.5.0"; sha256="111w6f23m16w6zb5bg85brg90gsyw50rad6c4qqm1y5k3ny1gzgb"; depends=[htmltools jsonlite scales shiny]; };
   shinyaframe = derive2 { name="shinyaframe"; version="1.0.1"; sha256="1flhgsm4q7p5acb41v73pf8ni92y9dwdppxjb9czlz1sxwf03p1s"; depends=[htmltools htmlwidgets shiny]; };
   shinyalert = derive2 { name="shinyalert"; version="1.0"; sha256="0ngmpbzw6fw1gs6sv9m3xv2c9bmrxg0bs6lnvxn8hm8cwr4440xi"; depends=[digest shiny]; };
   shinyanimate = derive2 { name="shinyanimate"; version="0.3.0"; sha256="0vshid5mfq006cprjj61d0g7ajyc3plc66x55c5jjmijwbp6pw7a"; depends=[shiny]; };
   shinybootstrap2 = derive2 { name="shinybootstrap2"; version="0.2.1"; sha256="17634l3swlvgj1sv56nvrpgd6rqv7y7qjq0gygljbrgpwmfj198c"; depends=[htmltools jsonlite shiny]; };
-  shinybusy = derive2 { name="shinybusy"; version="0.1.3"; sha256="0drkxw1vnhkii12vv8b2k8j3d7mg93dg8iz097a38sd6l7i3wxfj"; depends=[htmltools jsonlite shiny]; };
+  shinybusy = derive2 { name="shinybusy"; version="0.2.0"; sha256="1zhi4nfnwwxn25r47fa8c5dq0wfvxmmdzrr8vfiq3qjj46bi1alf"; depends=[htmltools htmlwidgets jsonlite shiny]; };
   shinycssloaders = derive2 { name="shinycssloaders"; version="0.2.0"; sha256="1bpzsm7m7c366sjl1qndp4m5dg2vlm68rjgdy9n1ija9xbp0r2g4"; depends=[digest glue shiny]; };
   shinycustomloader = derive2 { name="shinycustomloader"; version="0.9.0"; sha256="1klx71vr26g0gjf6hbiia1qidqii5d467i1sdjvlrg1hxdcggqff"; depends=[glue shiny]; };
   shinydashboard = derive2 { name="shinydashboard"; version="0.7.1"; sha256="0khac8b27q3swdw07kl609hm0fjfjsjv591b388q99mqqr2rk92i"; depends=[htmltools promises shiny]; };
   shinydashboardPlus = derive2 { name="shinydashboardPlus"; version="0.7.0"; sha256="0hxg9gxravalfbrh05jixk9pz1qsq92pspysgx0vn2smgvp7rzlb"; depends=[htmltools shiny shinydashboard]; };
-  shinyglide = derive2 { name="shinyglide"; version="0.1.1"; sha256="1jl48s4pl0f69j3gg9y1zpxnx0l4p6f4czjr27g6cs9y780z3r96"; depends=[htmltools shiny]; };
-  shinyhelper = derive2 { name="shinyhelper"; version="0.3.1"; sha256="1z3wb3vdpz9pcn6rfmpbxky05cf8bxldhpwzldrmhn03spz3n987"; depends=[markdown shiny]; };
+  shinyglide = derive2 { name="shinyglide"; version="0.1.2"; sha256="0i98k3gl83kfzp3vs1his05idhwj1n0bw98ik7d62cgn4rqi6ar4"; depends=[htmltools shiny]; };
+  shinyhelper = derive2 { name="shinyhelper"; version="0.3.2"; sha256="1c4hvf19j3yyh8r12nx85ldkxs89g98q74csnqs5ml5l79a65vgp"; depends=[markdown shiny]; };
   shinyhttr = derive2 { name="shinyhttr"; version="1.0.0"; sha256="1l02g0qgvycwpfr6wl7svnms128fhlzbn9p7i4mr7ghgsd5qr58a"; depends=[shinyWidgets]; };
   shinyjqui = derive2 { name="shinyjqui"; version="0.3.2"; sha256="1a73vsq1wc3xf14y64hkgnk5jgxj98b8aj3g0fs7mgayar3an5g0"; depends=[htmltools htmlwidgets jsonlite shiny]; };
   shinyjs = derive2 { name="shinyjs"; version="1.0"; sha256="113zpijri0l80rlgrvqn6bxk0sdqgl79h7yhja2p76f9dc9i2sr8"; depends=[digest htmltools jsonlite shiny]; };
@@ -13185,13 +13441,14 @@ in with self; {
   shipunov = derive2 { name="shipunov"; version="1.3"; sha256="0bja3gb837ccyqxncm666749abnlr8bn88k788x0z4mnc8x32zak"; depends=[]; };
   shock = derive2 { name="shock"; version="1.0"; sha256="11m52al591xjznl62q1waxsg5m1a1afmd0yqcc5zsjlrplykg4lp"; depends=[capushe GGMselect glasso igraph mvtnorm]; };
   shopifyr = derive2 { name="shopifyr"; version="1.0.0"; sha256="05hih1v5vvr7vmwarizsdx8517g74s96fdsz3klcz3g12idx1nqn"; depends=[curl jsonlite R6]; };
+  shortcuts = derive2 { name="shortcuts"; version="1.3.0"; sha256="0y35civsrm8lc508khiwg5igzl1xb141p8012d9civ3pvv7i5vd7"; depends=[rstudioapi]; };
   shotGroups = derive2 { name="shotGroups"; version="0.7.5.1"; sha256="0il6hlv2hnfx5rmj3vk3q9p24xqii77z6hdz5fsgyh4i3kgcyrjy"; depends=[boot coin CompQuadForm KernSmooth robustbase]; };
   showimage = derive2 { name="showimage"; version="1.0.0"; sha256="1c0x3iqjdjsz3cdhc02b3qm2pwxjr1q2k87jwvxj9lnzzw81f1pl"; depends=[png]; };
   showtext = derive2 { name="showtext"; version="0.7"; sha256="1ihgqzfia36b0n9aa41p1w98wxxvs1lxh1zz0570hbfqmph1sk73"; depends=[showtextdb sysfonts]; };
   showtextdb = derive2 { name="showtextdb"; version="2.0"; sha256="1qwwj9x2jvadvwn60h75k99c9xi7yhqjsgaakahz5paxgj583bsh"; depends=[sysfonts]; };
   shp2graph = derive2 { name="shp2graph"; version="0-5"; sha256="1l9mg98hkb0bvr5dzd2p26g8mw5hqjxrym2gmbm10kyapvccfk56"; depends=[igraph maptools sp]; };
   shrink = derive2 { name="shrink"; version="1.2.1"; sha256="0pd967wsys8fd7gyvr9y08km118yamfk5c1a1i2k8nr2ifpqmy0w"; depends=[MASS mfp rms survival]; };
-  shrinkTVP = derive2 { name="shrinkTVP"; version="1.0.2"; sha256="0psn20a68fvmr8d94jjvrqhngkzdrqpgq0rr6fz3jximy4856437"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol]; };
+  shrinkTVP = derive2 { name="shrinkTVP"; version="1.1.1"; sha256="0dl6dpbjq6ykh813344qs3n6kp8xgif354wjz7lzv1ik4kl3a71s"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol zoo]; };
   shuffle = derive2 { name="shuffle"; version="1.0.1"; sha256="0aqb11h340picx7z2jg3k46l3pr6fkknlpyzc0z89hhrc90pss48"; depends=[]; };
   shuffleCI = derive2 { name="shuffleCI"; version="0.1.0"; sha256="1n9k28m1fcnw1my9a7v0gy9waygd48lab45vj9k2wwijbc325zai"; depends=[plotrix]; };
   shutterstock = derive2 { name="shutterstock"; version="0.1.0"; sha256="1vqbrjbwl2gdcf607f51cdzkjbkmk11n08mzx01j7bwcd278ny8r"; depends=[httr jsonlite]; };
@@ -13213,29 +13470,30 @@ in with self; {
   signal = derive2 { name="signal"; version="0.7-6"; sha256="1vsxramz5qd9q9s3vlqzmfdpmwl2rhlb2n904zw6f0fg0xxjfq3b"; depends=[MASS]; };
   signalHsmm = derive2 { name="signalHsmm"; version="1.5"; sha256="1d4v6cbvcbi8pb5zmn58s01h3jb0kv7yr7qvcnx4p2v82knvhik7"; depends=[Rcpp seqinr shiny]; };
   signmedian_test = derive2 { name="signmedian.test"; version="1.5.1"; sha256="05n7a4h2bibv2r64cqschzhjnm204m2lm1yrwxvx17cwdp847hkm"; depends=[]; };
-  signs = derive2 { name="signs"; version="0.1.0"; sha256="1kkm8gxwgvbkjz5pvscj7x9c88acara4qnzg311va9fd43li55h8"; depends=[rlang scales]; };
+  signs = derive2 { name="signs"; version="0.1.1"; sha256="1pcn5pf3gc8fl5nrfjqafx1ap9s23q7kqnxwkknqbabqhl7d1453"; depends=[rlang scales]; };
   sigora = derive2 { name="sigora"; version="3.0.5"; sha256="1240q42kpb4l1idanywzal7c85kp3ncdl5m2irh8qs5xrs02gdc7"; depends=[]; };
   sigr = derive2 { name="sigr"; version="1.0.6"; sha256="01crx8r9bcq1kwlq66vypnv1r48fp3hbl06ykd8g2k5zm06w0yyi"; depends=[wrapr]; };
   siland = derive2 { name="siland"; version="1.2"; sha256="1njn5a4gr4rpf8xwbfvxiyg7h64pfzxijakn9sbhb1agspn5z1zz"; depends=[ggforce ggplot2 lme4 raster rgdal sp]; };
+  silicate = derive2 { name="silicate"; version="0.2.0"; sha256="19386cd46jil4fhs6340wbk96igi9jlfgghbm88c0j5ff4ah1bsj"; depends=[decido dplyr geometry gibble gridBase magrittr purrr rlang tibble tidyr unjoin]; };
   sim1000G = derive2 { name="sim1000G"; version="1.40"; sha256="1avq6xfc34izavvp9vb5ccc2b9nc4m7cwr06ygnsmpgwi5nswbb8"; depends=[hapsim MASS readr stringr]; };
   simEd = derive2 { name="simEd"; version="1.0.3"; sha256="1yq0qblrz0zddx682rzwdaa0k0r223i123la7wbp73spnn38g4br"; depends=[rstream]; };
   simExam = derive2 { name="simExam"; version="1.0.0"; sha256="10p3y67cli5is2gj23cjy8y7zpbnn2jbxmfiq01ls0hc1jind82w"; depends=[Matrix msm]; };
   simFrame = derive2 { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[lattice Rcpp]; };
-  simGWAS = derive2 { name="simGWAS"; version="0.2.0-2"; sha256="1228kbcsv16gmdl3rv816547bkn1nlj5pyipfwbcf3g6ll2x4pk0"; depends=[combinat corpcor dplyr mvtnorm Rcpp]; };
   simIReff = derive2 { name="simIReff"; version="1.0"; sha256="0yi43splda8chnh4bq5x6chbrl5c0y9sv1k2m31763da0czayall"; depends=[bde extraDistr ks MASS np rvinecopulib truncnorm]; };
   simLife = derive2 { name="simLife"; version="0.5.2"; sha256="1dhrjszfgxr0j4dkc2bwykyj515ji5rkb572nmnyjgkyi652j01v"; depends=[splancs]; };
   simMP = derive2 { name="simMP"; version="0.17.3"; sha256="1pzg79dd08ds3pfzxnk9h95gaibicv00mnm0jb4i8v5is4gzrdhr"; depends=[Biostrings BSgenome doParallel foreach GenomeInfoDb GenomicRanges IRanges XVector]; };
   simMSM = derive2 { name="simMSM"; version="1.1.41"; sha256="04icijrdc269b4hwbdl3qz2lyxcxx6z63y2wbak1884spn6bzbs8"; depends=[mvna survival]; };
-  simPATHy = derive2 { name="simPATHy"; version="0.2"; sha256="0ai5wmjz8k0glbwkclgg3m3ncsjghja4iys2mn1psn3r8gxk79yc"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
+  simPATHy = derive2 { name="simPATHy"; version="0.3"; sha256="09ss23sh90b8ggmw26pldx3jnbvh9l0rr27268xf4sri013y7hiq"; depends=[ggm graph gRbase htmlwidgets igraph mvtnorm qpgraph R_utils shiny shinydashboard]; };
   simPH = derive2 { name="simPH"; version="1.3.10"; sha256="0br32m28ynmhr4xal69bsv925rlmih898rk5bskn1s6bhsshalqq"; depends=[data_table dplyr ggplot2 gridExtra lazyeval MASS mgcv quadprog stringr survival]; };
   simPop = derive2 { name="simPop"; version="1.2.0"; sha256="05f1azdz202bap4pkqxiacj7wqkbmw3naw6p7xgmvx8nlh5xl40h"; depends=[colorspace data_table doParallel e1071 EnvStats fitdistrplus foreach laeken lattice MASS nnet party plyr ranger Rcpp RcppArmadillo vcd VIM wrswoR]; };
   simSummary = derive2 { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind gdata svUnit]; };
+  simTargetCov = derive2 { name="simTargetCov"; version="1.0"; sha256="0r34jkrkq382a7afy4nqrw1ci9yh8aq3mfixw11asxjb7m16c1j2"; depends=[MASS]; };
   simTool = derive2 { name="simTool"; version="1.1.4"; sha256="1jb5r32kwyfv38vij236f3mb2ijqm48iz427zya27dyhps8i305s"; depends=[dplyr plyr purrr reshape tibble tidyr]; };
   simba = derive2 { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
   simboot = derive2 { name="simboot"; version="0.2-6"; sha256="0bgibrqb9j62p1chldi1lvdsgc6sgsr7afyq4lvyrc2h861f3j9d"; depends=[boot mvtnorm]; };
   simcausal = derive2 { name="simcausal"; version="0.5.5"; sha256="0k1dbg10bmpxc37nq9vk849qsdi09whc8r85rj08pbcfaac8cgfv"; depends=[assertthat data_table igraph Matrix R6 stringr]; };
   simcdm = derive2 { name="simcdm"; version="0.1.1"; sha256="1qzxxpz3nvqf9801k6zgphv6vd8alf2sf6cvzggk7cz6x5jc3w1r"; depends=[Rcpp RcppArmadillo]; };
-  simctest = derive2 { name="simctest"; version="2.5"; sha256="038ipxww0n09sh8al5isbm1fikr8kazwxn9cj2d0wgm6cdpy681n"; depends=[]; };
+  simctest = derive2 { name="simctest"; version="2.6"; sha256="0igwn82zfx6ajv42gpyx6969aldygldkpdc9ik6601511sscvf2a"; depends=[]; };
   simdistr = derive2 { name="simdistr"; version="1.0.1"; sha256="16fsj42zr627i57q1q72l1nhin7g6rxq9hfy487hf1ywd6rvns18"; depends=[]; };
   simecol = derive2 { name="simecol"; version="0.8-13"; sha256="0641qh5ih1mkbdr0a5qg9i280qkzdvdjyzw56awlv66zqbjqvqq8"; depends=[deSolve minqa]; };
   simest = derive2 { name="simest"; version="0.4"; sha256="1wp08dkbshn5parq69d7iizp4g16qzpdim37kcg09pgsc3aghwaj"; depends=[cobs nnls]; };
@@ -13247,7 +13505,7 @@ in with self; {
   simmer_plot = derive2 { name="simmer.plot"; version="0.1.15"; sha256="0g13d6qw6cl7bzmpkckiswvg9n4mrrdbs195r3pyljaw5c5bmvhp"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
   simml = derive2 { name="simml"; version="0.1.0"; sha256="0j3vv3kp8rl4an6r0vzzn6syzi9h058v9040pshz0hldkhi21pby"; depends=[mgcv plyr]; };
   simmr = derive2 { name="simmr"; version="0.4.1"; sha256="0903fh8vhl7r9cspanzkrn23kq68dkxhn01bjhyhf3c8wc9zfdy5"; depends=[bayesplot boot compositions ggplot2 MASS R2jags reshape2 viridis]; };
-  simode = derive2 { name="simode"; version="1.1.6"; sha256="1lqndadcrqc3jix7b9kjlc8a2w712bqnw56k5h5slwrawp7krwxj"; depends=[deSolve pracma quadprog]; };
+  simode = derive2 { name="simode"; version="1.1.8"; sha256="19l4xwbc7n53sgjbirpssppz5ps6alghxia4asv239fm2251r2jx"; depends=[deSolve pracma quadprog]; };
   simone = derive2 { name="simone"; version="1.0-4"; sha256="09d8kdg2wxpmjgcn4dk6yqr6nmf7mzqqi6x1rz3fv7qknja6l1xi"; depends=[blockmodels]; };
   simpleCache = derive2 { name="simpleCache"; version="0.4.1"; sha256="1prhahphyb4dg9qv813ahpwfngmr9blirb97pvypc5npzvahj5lv"; depends=[]; };
   simpleNeural = derive2 { name="simpleNeural"; version="0.1.1"; sha256="0rm6kvz1mppvgcvwsgg3nz6ci37l95ins64g0jh4rw6lfmy0grjc"; depends=[]; };
@@ -13261,8 +13519,9 @@ in with self; {
   simrel = derive2 { name="simrel"; version="2.0"; sha256="1wshbnmq9yqh01f9mjvfhhr3d76dshkxmqchxk11v4yx4apd8b4z"; depends=[FrF2 ggplot2 gridExtra jsonlite magrittr miniUI purrr reshape2 rlang rstudioapi scales sfsmisc shiny testthat tibble tidyr]; };
   simsalapar = derive2 { name="simsalapar"; version="1.0-10"; sha256="1q7kh44xl7q48vpqbyrp85my6x97l4fqq36bry8vg3k5riihirzf"; depends=[colorspace gridBase sfsmisc]; };
   simsem = derive2 { name="simsem"; version="0.5-14"; sha256="1sg1zmngpviqpbsy8kxnw4f4x93gy3gh02ykmcw8j9falfnd7g6i"; depends=[lavaan]; };
+  simsl = derive2 { name="simsl"; version="0.1.0"; sha256="09d6k61c2m0n03xpqvig7310bpgddxl8vzfjgn6wbr21s73b9xis"; depends=[mgcv]; };
   simstandard = derive2 { name="simstandard"; version="0.3.0"; sha256="0fg5y6n5ydn6qxbd5sdbxh3aqj4i7qk7h9c28i3s5z4s9rxgycdj"; depends=[lavaan magrittr mvtnorm purrr rlang tibble]; };
-  simstudy = derive2 { name="simstudy"; version="0.1.14"; sha256="1a8hxfvvvyxdja9rihgrwwhsnlsn2painr06qx6lxng7wyql0z0g"; depends=[data_table mvnfast mvtnorm Rcpp]; };
+  simstudy = derive2 { name="simstudy"; version="0.1.15"; sha256="14jynqvxfp8lc7vxa3lc5cfwmvxkg9ssrh78nq0x80rj7lwx8916"; depends=[data_table mvnfast mvtnorm Rcpp]; };
   simsurv = derive2 { name="simsurv"; version="0.2.3"; sha256="0jlacjgrnnlmcl6k83clfkdfb1kr2xbyz2zcmq1f3xg2z0zwypjq"; depends=[]; };
   simtimer = derive2 { name="simtimer"; version="4.0.0"; sha256="1c5017xmh4767d75k4rs1pssyn7p5w41bcsjjmwk4c9g6w1jgx1w"; depends=[]; };
   simts = derive2 { name="simts"; version="0.1.1"; sha256="1b76grf7c14pgyhphplnil4lkzbwn3dih4pv4xdy721ih9n9llby"; depends=[broom dplyr magrittr purrr Rcpp RcppArmadillo robcor scales tidyr]; };
@@ -13276,7 +13535,7 @@ in with self; {
   sinx = derive2 { name="sinx"; version="0.0.12"; sha256="0hv54n6pc8qdxl1kmwbrnnmgmd8mz6fzlplz9nr7iws1y1v0ckf5"; depends=[bookdownplus clipr cowsay crayon jsonlite multicolor pagedown rmsfact rosr xaringan]; };
   siplab = derive2 { name="siplab"; version="1.4"; sha256="1kayskawq9dqwwmk17akl68xw9kwllkmh4i251gdqkfcz61j3bb4"; depends=[spatstat]; };
   sirad = derive2 { name="sirad"; version="2.3-3"; sha256="0vhmk2fmq4797gj6c8803zw1ipmdxfvdfgi2bygzxbn5bqd4da2n"; depends=[raster zoo]; };
-  sirt = derive2 { name="sirt"; version="3.6-21"; sha256="0khjjps3q1gdanszmgzi30yrk5qcwi2fxf8jq71raj77hfvgd2s8"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
+  sirt = derive2 { name="sirt"; version="3.7-40"; sha256="18adv3gnk1cg9i3jrv6mxfdn68gpdak8451jpwkagz7n9hr0x6dj"; depends=[CDM pbv Rcpp RcppArmadillo TAM]; };
   sirus = derive2 { name="sirus"; version="0.1.2"; sha256="1ryi9b6vadgmv3ybb2vw7sqy4nr8f8zxb3by0s6f8xqn6vfpmmbg"; depends=[ggplot2 Matrix Rcpp ROCR]; };
   sisVIVE = derive2 { name="sisVIVE"; version="1.4"; sha256="1vh53irxgk8ahw52cdqbbm89dvmzyf54izg4lm8a3v92k5p6nzwz"; depends=[lars]; };
   sisal = derive2 { name="sisal"; version="0.46"; sha256="00szc3l69i0cksxmd0lyrs4p6plf05sl4vxs3nl4gkbja5y4lvpc"; depends=[boot digest lattice mgcv R_matlab R_methodsS3]; };
@@ -13288,25 +13547,25 @@ in with self; {
   sitreeE = derive2 { name="sitreeE"; version="0.0-5"; sha256="16m8w0rxb40pimzd06znqskz74jk4rrki4gjy8nk24r1zih2cjq1"; depends=[data_table sitree]; };
   sivipm = derive2 { name="sivipm"; version="1.1-4.2"; sha256="0y1wpzvndbyyzf063mzisqdk9ndj29ygiipmmz7i4xdpwidv21p6"; depends=[seqinr]; };
   sizeMat = derive2 { name="sizeMat"; version="1.1.0"; sha256="1pxb99gd0zfrpbq2ndmhciv2bc8xdfgm0q1y771f6ji5665qxgfw"; depends=[MASS matrixStats MCMCpack]; };
-  sjPlot = derive2 { name="sjPlot"; version="2.7.2"; sha256="1kx1qqgp4fhwwwpqn9mv8m1pnpjxfs7ww36ns7j1ja4a7ydwn2hp"; depends=[bayestestR broom dplyr forcats ggeffects ggplot2 ggrepel glmmTMB insight knitr lme4 magrittr MASS modelr nlme parameters performance psych purrr rlang scales sjlabelled sjmisc sjstats tidyr]; };
+  sjPlot = derive2 { name="sjPlot"; version="2.8.0"; sha256="0ahz6v6bhvq1537inwakmrafs44hs2m9w0ra8q17fz626nn9rb9b"; depends=[bayestestR dplyr effectsize forcats ggeffects ggplot2 ggrepel glmmTMB insight knitr lme4 magrittr MASS modelr parameters performance psych purrr rlang scales sjlabelled sjmisc sjstats tidyr]; };
   sjdbc = derive2 { name="sjdbc"; version="1.6.0"; sha256="17ncgj2s2pjn3w3c1dgxv8g7y17h4p78iic86gsj2ahn0xpsmkcc"; depends=[rJava]; };
   sjlabelled = derive2 { name="sjlabelled"; version="1.1.1"; sha256="0c9wy0gsr2sbkrv2638xbi7qm0gl6jyr6sfricavhkm7l4hljjkz"; depends=[haven insight magrittr purrr rlang tidyselect]; };
   sjmisc = derive2 { name="sjmisc"; version="2.8.2"; sha256="0rl0bmk91wc4dxdgy008fl0dwkx3ffvys30vgpnr78lb4pk45nb2"; depends=[dplyr insight magrittr purrr rlang sjlabelled tidyselect]; };
-  sjstats = derive2 { name="sjstats"; version="0.17.6"; sha256="11z1wfi0d74d1rld0320l3vmv6rl41wa0v9bjc44rk06yc90wld2"; depends=[bayestestR broom dplyr emmeans insight lme4 magrittr MASS modelr parameters performance purrr rlang sjlabelled sjmisc tidyr]; };
+  sjstats = derive2 { name="sjstats"; version="0.17.7"; sha256="029rl05p88bp01favz300m980r1khcx2a2kn88yqbnbgkjjgqqc6"; depends=[bayestestR broom dplyr emmeans insight lme4 magrittr MASS modelr parameters performance purrr rlang sjlabelled sjmisc tidyr]; };
   skda = derive2 { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
   skeleSim = derive2 { name="skeleSim"; version="0.9.8"; sha256="1wxdl30cy8vr1cd0wcjxyklp6crw4bv8r77ma2dkzmxm2ma5jw92"; depends=[adegenet ape hierfstat igraph markdown pegas reshape2 rmetasim shiny shinyFiles strataG swfscMisc]; };
   skeletor = derive2 { name="skeletor"; version="1.0.4"; sha256="1jfbfbkjx8mdwamsrkhvcnyn470in702vgcyw3g2dbgs84gl29q8"; depends=[]; };
   skellam = derive2 { name="skellam"; version="0.2.0"; sha256="0r5wbs5h7xc3k2vjxd4axwnxr9cmwm008fcyj1vyixkg8fa680gx"; depends=[]; };
   skewt = derive2 { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
-  skimr = derive2 { name="skimr"; version="1.0.7"; sha256="0zbmj8vx4m7z66lf7phr3cj8dzp1ry5xc705w401154h2f5a4fk9"; depends=[cli dplyr knitr magrittr pander purrr rlang stringr tibble tidyr tidyselect]; };
+  skimr = derive2 { name="skimr"; version="2.0.2"; sha256="1310fgmg1mzgy1xw6rbnr0v5habzi0v18383cpwkgir38ild9llk"; depends=[cli crayon dplyr knitr magrittr purrr repr rlang stringr tibble tidyr tidyselect]; };
   sklarsomega = derive2 { name="sklarsomega"; version="2.0"; sha256="05ar391bsaixv83dah3qzfi50avsjhn85niyq5n05sb8d5943z9h"; depends=[extraDistr hash LaplacesDemon Matrix mcmcse numDeriv spam]; };
   skm = derive2 { name="skm"; version="0.1.5.4"; sha256="06g3bdncq2r56d8k3dr87gqnibypbsps0gj4jxkw9q1sq1yaff3v"; depends=[data_table magrittr plyr Rcpp RcppArmadillo RcppParallel]; };
   skmeans = derive2 { name="skmeans"; version="0.2-11"; sha256="1a8nwlym6pf0z13nnw1id2wls9lq788860yhjaqd56c3slzfsymn"; depends=[clue cluster slam]; };
-  skpr = derive2 { name="skpr"; version="0.61.3"; sha256="1n3cfsvrrnf3n9yvxwxq9jczc2k208rkbsr809hi0g33lcizcm33"; depends=[car doParallel doRNG foreach future iterators kableExtra knitr lme4 lmerTest magrittr nlme promises Rcpp RcppEigen rintrojs shiny shinyjs shinythemes survival viridis]; };
+  skpr = derive2 { name="skpr"; version="0.62.0"; sha256="07i6k3dzhwy7yblja3dpds0mihnzy9m9hip00p9n5plw65hywi2n"; depends=[car doParallel doRNG foreach future iterators kableExtra knitr lazyeval lme4 lmerTest magrittr nlme promises Rcpp RcppEigen rintrojs shiny shinyjs shinythemes survival viridis]; };
   skynet = derive2 { name="skynet"; version="1.3.0"; sha256="02kkgrqcrg1x61fip47w6vzi8nya12rxg47qjhn4lw4czaympqpx"; depends=[data_table dplyr ggplot2 ggrepel httr igraph maps stringr]; };
   skyscapeR = derive2 { name="skyscapeR"; version="0.2.2"; sha256="08h3vvn9zglw3xrl0xpyj95r1n3v6lk835a4nbanxdvi21mgpi77"; depends=[astrolibR doParallel foreach MESS numDeriv oce plotrix png pracma RColorBrewer rootSolve]; };
   slackr = derive2 { name="slackr"; version="1.4.2"; sha256="1vm2h5fzcss3xx1annx68wrvv6c0s6h2ci0bipxmdl9amdaqw85w"; depends=[dplyr ggplot2 httr jsonlite]; };
-  slam = derive2 { name="slam"; version="0.1-45"; sha256="0xvj8va6xd7zkn3l4a5ad7v62s7xmkz8frq7gpcl3b6vqwckkaw4"; depends=[]; };
+  slam = derive2 { name="slam"; version="0.1-46"; sha256="1ihhbx76miwys35gsbhijriadvrw4f51lc3v45pnn6cvcfd9hr0b"; depends=[]; };
   sld = derive2 { name="sld"; version="0.3.2"; sha256="0za5pw7ki419ni9pqqzddb10d16nvv5rh5jrkl4f77j0ps2ajylp"; depends=[lmom]; };
   sleekts = derive2 { name="sleekts"; version="1.0.2"; sha256="0syk244xrsv8hz5sxm7wizk0kyn1nc6z4c63c8xn57fz130zj75k"; depends=[]; };
   sleepr = derive2 { name="sleepr"; version="0.3.0"; sha256="1ka4pl6a09d1qga5svcirc5ywmzz9pcml09053745lz3p1v8fnn3"; depends=[behavr data_table]; };
@@ -13318,7 +13577,7 @@ in with self; {
   slim = derive2 { name="slim"; version="0.1.1"; sha256="0x9bk6w6lmw15s85gw9g8d1wlb57kkvnmx1wsyasn93x9llkjva1"; depends=[data_table MASS]; };
   slimrec = derive2 { name="slimrec"; version="0.1.0"; sha256="1qzcvk7z8y11hwmybvppk1gf8di596zxy7qs22fclp6h6y18s377"; depends=[assertthat bigmemory glmnet Matrix pbapply]; };
   slippymath = derive2 { name="slippymath"; version="0.3.1"; sha256="0dqnv089mcfxvpsc1px7mblim6m77n59xpcysz75jrvpc5q4lsrg"; depends=[png purrr raster]; };
-  slm = derive2 { name="slm"; version="1.0.0"; sha256="06r04kamg9y491q9wl4cvnvl301y7a47l70sl25vzi2q7y3bcf8y"; depends=[capushe ltsa]; };
+  slm = derive2 { name="slm"; version="1.1.0"; sha256="1y9pw9lgxp2xz6smbhg0rayjszm83kxf2an9rk9pdhlmx6670bbf"; depends=[capushe expm ltsa sandwich]; };
   sloop = derive2 { name="sloop"; version="1.0.1"; sha256="00fk5fr5zsk2qxc1kfhmshhjxgnamm3401089sx8m2l529zd6r8j"; depends=[codetools crayon purrr rlang tibble]; };
   slouch = derive2 { name="slouch"; version="2.1.2"; sha256="0xf2saf4q0ywmng3avl6hjd2wjjzfpbwlnagggvs8ri41jyk7gma"; depends=[ape memoise]; };
   slowraker = derive2 { name="slowraker"; version="0.1.1"; sha256="0glc3ldvbqkvzfvhs4s5mzx1kfz05px4k7rx5jfp9dm9d0gfpvsx"; depends=[NLP openNLP SnowballC]; };
@@ -13333,7 +13592,7 @@ in with self; {
   smapr = derive2 { name="smapr"; version="0.2.1"; sha256="1gcq66gs6968c5h303dqd2jyw2rcdwxv642ki1cmpdj6ix665dpr"; depends=[httr rappdirs raster rhdf5 rvest xml2]; };
   smartR = derive2 { name="smartR"; version="0.62.0"; sha256="1jc2zvys05xs8y24fsrqkfvg77dpcqd2ydq1rknh0j9m4qhd9x9i"; depends=[caret chron clues cluster foreign ggplot2 ggrepel ggthemes gridExtra gstat gsubfn gWidgets2 gWidgets2RGtk2 igraph jpeg jsonlite lattice mapdata mapproj maps maptools marmap mtsdi nnls PBSmapping plyr R6 RColorBrewer reshape2 rgdal rgeos rjags ROCR rpart scales shape sp spdep sqldf vegan]; };
   smartdata = derive2 { name="smartdata"; version="1.0.2"; sha256="1j1ngvlaj0kx0kp8ffvndcd5kk8zamjrgx2dn156zp4zjsd27vhv"; depends=[adaptiveGPCA Amelia Boruta checkmate class clusterSim denoiseR discretization DMwR FSelector functional imbalance infotheo lle magrittr mice missForest missMDA MVN NoiseFiltersR outliers RoughSets unbalanced VIM]; };
-  smartsizer = derive2 { name="smartsizer"; version="1.0.1"; sha256="0m474f6dz0izwdh2xvgx6shsbkpr969ckcld56d7c589kjhapbrl"; depends=[MASS]; };
+  smartsizer = derive2 { name="smartsizer"; version="1.0.2"; sha256="1w2vf6q3f7bywkvazgxn9gh7f2bqy4rg74mm4r6izw4gx7r81ls6"; depends=[MASS]; };
   smatr = derive2 { name="smatr"; version="3.4-8"; sha256="0qqqbg65flxh48sw7x90zvgzbpcfzb1811h0pz3zlhdw9a7khs9n"; depends=[]; };
   smbinning = derive2 { name="smbinning"; version="0.9"; sha256="1sr0nsqqzxdf402g9qx1ycigbh330idl9n2cyli4x4zxj1nqm3yv"; depends=[Formula gsubfn partykit sqldf]; };
   smcfcs = derive2 { name="smcfcs"; version="1.4.0"; sha256="0dlk2i2g8scbqy573drpf5252g0aa2i1v63172jswjmy5hl28byf"; depends=[MASS survival VGAM]; };
@@ -13349,7 +13608,7 @@ in with self; {
   smirnov = derive2 { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
   smnet = derive2 { name="smnet"; version="2.1.1"; sha256="0fa47zgm7jxvs3jfai54wsc6qa9ycqw4f3yr941fvkczwzh4ch02"; depends=[DBI RSQLite spam SSN]; };
   smoof = derive2 { name="smoof"; version="1.5.1"; sha256="01jkldmxn86vmcmmz81mdlhpm1m3bddj4sv550a3b4wm1r3gddng"; depends=[BBmisc checkmate ggplot2 mco ParamHelpers plot3D plotly RColorBrewer Rcpp RcppArmadillo RJSONIO]; };
-  smooth = derive2 { name="smooth"; version="2.5.3"; sha256="0anmdqsx3yxpj4amjv00igsmrxbn5lx4g10x4gjbf6cns2dl4q29"; depends=[forecast greybox nloptr Rcpp RcppArmadillo zoo]; };
+  smooth = derive2 { name="smooth"; version="2.5.4"; sha256="0apjjqzb36z71500lyccm9jdss7h7736g8lrs3rfz5f6d2k5yqf6"; depends=[forecast greybox nloptr Rcpp RcppArmadillo zoo]; };
   smoothAPC = derive2 { name="smoothAPC"; version="0.3"; sha256="11f34qqdm8m0hmy9jf29q439slchvmqgdfrmak7vcdhfnjcylr5r"; depends=[colorspace lmtest quantreg rgl SparseM]; };
   smoothHR = derive2 { name="smoothHR"; version="1.0.2"; sha256="0l33xg3p9pyfrp4rhavz8m1jakk4wr8i14g6jjiizb03rpxdpzqy"; depends=[survival]; };
   smoothROCtime = derive2 { name="smoothROCtime"; version="0.1.0"; sha256="03iihjxb5xdaf74cm9cajqqjli754mdmv5v1y4hla9vv23017ca1"; depends=[ks]; };
@@ -13359,12 +13618,13 @@ in with self; {
   smoothmest = derive2 { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
   smoothr = derive2 { name="smoothr"; version="0.1.1"; sha256="03pqvblrw0qj55gncn6a3hb0y0y64k8v1a2a8g64p53jjmlrw9nv"; depends=[sf units]; };
   smoothtail = derive2 { name="smoothtail"; version="2.0.5"; sha256="1sqkwniz9m03k23nba9ndmdm0g03mdshzm8risr6wz98jcqjilrk"; depends=[logcondens]; };
+  smoots = derive2 { name="smoots"; version="1.0.1"; sha256="1kk1hvfqxslg76gy8gzaidv3d55pflyvbv3ski6rkk0l9lwbb2q1"; depends=[]; };
   smotefamily = derive2 { name="smotefamily"; version="1.3.1"; sha256="062yps71bqnyff1hzqb7yvigvqg2lnc24r9gfp8m3zhvmyprk3cp"; depends=[dbscan FNN igraph]; };
-  smovie = derive2 { name="smovie"; version="1.0.1"; sha256="0nh228vp06w83wm826vw62gzy0zk66ng61safwvhl8lgaxkbwqmj"; depends=[revdbayes rpanel SuppDists]; };
+  smovie = derive2 { name="smovie"; version="1.1.1"; sha256="10mqzk9xrd3iicldz8n49v0nj81rjwy6fds4kxwa7vzsqapdw1g2"; depends=[revdbayes rpanel SuppDists]; };
   smpic = derive2 { name="smpic"; version="0.1.0"; sha256="0ff2146gjcrc6nvrbf4779jh076abhb843zzlk2zvqir13qfap61"; depends=[ggplot2 imager stringr]; };
   sms = derive2 { name="sms"; version="2.3.1"; sha256="0vr5jy8bxbczaqr9kg0fnanxhv9nj51yzgacrb63k33cs85p981m"; depends=[doParallel foreach iterators]; };
   smss = derive2 { name="smss"; version="1.0-2"; sha256="04lgfdcvnzpnpplyl62fy7slyiy8wkqpjjrzmclgqis3c9zkkncp"; depends=[]; };
-  smurf = derive2 { name="smurf"; version="1.0.1"; sha256="1jp0dziqpiffj08kkm28bg4jzsijs30xlz237q8xdxdrf64igvik"; depends=[catdata glmnet MASS Matrix mgcv RColorBrewer Rcpp RcppArmadillo speedglm]; };
+  smurf = derive2 { name="smurf"; version="1.0.2"; sha256="08k64y0wb9da7ji94zra411zwcvssi0lb1drh98p6w9pwvn552rf"; depends=[catdata glmnet MASS Matrix mgcv RColorBrewer Rcpp RcppArmadillo speedglm]; };
   sn = derive2 { name="sn"; version="1.5-4"; sha256="0x46gxkplxbnhaqbpiav1r4xlv4ib7n57kxmca7scqwj22y7wrs6"; depends=[mnormt numDeriv]; };
   sna = derive2 { name="sna"; version="2.4"; sha256="1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2"; depends=[network statnet_common]; };
   snahelper = derive2 { name="snahelper"; version="1.0.0"; sha256="15x7qp36lzs61ll3gqyjmxix0pqnyf2rz799mxzkzxzwqsp0srwi"; depends=[colourpicker formatR ggplot2 ggraph graphlayouts igraph miniUI rstudioapi shiny]; };
@@ -13390,12 +13650,13 @@ in with self; {
   snpar = derive2 { name="snpar"; version="1.0"; sha256="0c9myg748jm7khqs8yhg2glxgar1wcf6gyg0xwbmw0qc41myzfnq"; depends=[]; };
   snplist = derive2 { name="snplist"; version="0.18.1"; sha256="14x31h8h3lx25rm30vhp89byrzy3qrmawi07pmzy4xpxdf0rxm4s"; depends=[biomaRt DBI R_utils Rcpp RSQLite]; };
   sns = derive2 { name="sns"; version="1.1.2"; sha256="132zd57xb2y0nshw4lakf49r2mvvkv7j32f7l7hqrh91mw7wyqpr"; depends=[coda mvtnorm numDeriv]; };
+  sobir = derive2 { name="sobir"; version="0.1.1"; sha256="1v9ic35s1qm27hj2fihli68x2b5lxhddca6hgvdnpwq4hpz4vlmj"; depends=[ggplot2 raster rlang scales sp statmod tidyr]; };
   sobolnp = derive2 { name="sobolnp"; version="0.1.0"; sha256="00rmigjyd3fsmhrhbvjzrfsl4ir0xpfr4xbgjws6vkx2rmcqnq1s"; depends=[minqa np pbmcapply]; };
   soc_ca = derive2 { name="soc.ca"; version="0.7.3"; sha256="0z3phmvgwd3s6swfaywq851my12a2n48i6k26vhggc6pf9d28phl"; depends=[ellipse ggplot2 ggrepel gridExtra reshape2 shiny]; };
   socceR = derive2 { name="socceR"; version="0.1.1"; sha256="1vd0r3vixavg1br2q3kfn3nvl7dw854vkcfwcvyw411k84ivb13y"; depends=[Rcpp]; };
   social = derive2 { name="social"; version="1.0"; sha256="0ny81bhj80rlwwa6cgbkdz2rxz6bp0f3nvjr1sqxr4s8l8rnf4ic"; depends=[Rcpp]; };
   socialmixr = derive2 { name="socialmixr"; version="0.1.5"; sha256="1kkvhrw28cgijnhcyc8phbq797pcal5h40av8brpbvvcf82yx0xd"; depends=[countrycode curl data_table httr jsonlite oai stringr wpp2015 XML]; };
-  sociome = derive2 { name="sociome"; version="1.2.0"; sha256="12qk3qjxp0sczcawi29fy1gzqzkprr2d1raqhs01rhk2a1hyp2p8"; depends=[dplyr magrittr mice psych purrr rlang stringr tibble tidycensus tidyr]; };
+  sociome = derive2 { name="sociome"; version="1.3.0"; sha256="0anynmpb6i8hwp5b0axkmfwsdyfzwd28g26ril2i3mlcivkgjyg4"; depends=[censusapi dplyr magrittr mice psych purrr rlang stringr tidycensus tidyr]; };
   socviz = derive2 { name="socviz"; version="1.0.0"; sha256="14713g5saa167c5wk06i9v5708cj60znc8a7c3a2wpk0h2idfjlb"; depends=[dplyr fs magrittr rlang tibble]; };
   sodavis = derive2 { name="sodavis"; version="1.2"; sha256="1jf5sml51qxlpgv5b1rvyig4dm4ijw2hpnk85zf790jp22xm64jw"; depends=[MASS mvtnorm nnet]; };
   sodium = derive2 { name="sodium"; version="1.1"; sha256="1zxzi8xvxnhgcd5qrylf08nz1cdq3aslrswjas440qg63ypmbf6w"; depends=[]; };
@@ -13403,7 +13664,8 @@ in with self; {
   softImpute = derive2 { name="softImpute"; version="1.4"; sha256="07cxbzkl08q58m1455i139952rmryjlic4s2f2hscl5zxxmfdxcq"; depends=[Matrix]; };
   softclassval = derive2 { name="softclassval"; version="1.0-20160527"; sha256="1f5qj5sajy3dg0mgss6f9w6v5a2prcypld9jcv457bd4n4a409kr"; depends=[arrayhelpers svUnit]; };
   softmaxreg = derive2 { name="softmaxreg"; version="1.2"; sha256="0y1r4n83sv2744lpli65aip0c0cq823asb8gw9yy9yjjc9sbyr9s"; depends=[]; };
-  soilDB = derive2 { name="soilDB"; version="2.3.5"; sha256="1qljwr9b09ag51bh0ip5532fs6q6qagkm8rbjbi9xr869iw16zal"; depends=[aqp curl Hmisc plyr raster reshape2 sp xml2]; };
+  soilDB = derive2 { name="soilDB"; version="2.4.1"; sha256="0ac4pqfnpzjv6bgsyd759zkqs427jbsj5jl7zq3sdqhsq2xawjap"; depends=[aqp curl lattice plyr raster reshape2 sp xml2]; };
+  soilassessment = derive2 { name="soilassessment"; version="0.1.0"; sha256="0xap6x41my7ardjpcp6rp3wvvkbjcvf6p2wla4zg2l72zb55s710"; depends=[arm caret Cubist e1071 FuzzyAHP Hmisc kernlab maptools randomForest raster rgdal rpart soiltexture sp]; };
   soilcarbon = derive2 { name="soilcarbon"; version="1.2.0"; sha256="1gxq7np5xh3jcqbsf8xva4b82rv6rab2j23mbkc4pjs6nbnzvzba"; depends=[devtools ggplot2 openxlsx shiny]; };
   soilphysics = derive2 { name="soilphysics"; version="3.1"; sha256="11c094bqbwhggh0n3hdva1321gqzz2k1b7v3767wyyk1xpgzg98r"; depends=[boot MASS rpanel tkrplot]; };
   soiltexture = derive2 { name="soiltexture"; version="1.5.1"; sha256="1l9npvk910488qzd45ibc7ss557hnkb78lx1p6fs3nhl8sacgyxh"; depends=[MASS sp]; };
@@ -13415,24 +13677,25 @@ in with self; {
   solartime = derive2 { name="solartime"; version="0.0.1"; sha256="0q6la6d281zgf1kxhrdvi3b91na60szknq0fvldvlnszlqb5vkgs"; depends=[lubridate]; };
   solitude = derive2 { name="solitude"; version="0.2.0"; sha256="1wvhvzak1jy31z3q0s2m25kbkkn725qdvawpdr4gkcswk3vvr22x"; depends=[data_table future_apply igraph R6 ranger]; };
   solrad = derive2 { name="solrad"; version="1.0.0"; sha256="13ybllvmig1yqsy4md4kazs83hxb9lrlwy64yw1wwr1w6sxpbnp6"; depends=[]; };
-  solrium = derive2 { name="solrium"; version="1.0.2"; sha256="011yyn2fwk222w3cn0zr7pf4d8fxwxqp2i6x6b89ns58lipcrbhd"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
-  solvebio = derive2 { name="solvebio"; version="2.6.1"; sha256="17zcnfmccfl2njv1ph40jchxb06x0qhgn82fz4yg8nqyf8b9cq5h"; depends=[dplyr httr jsonlite mime]; };
+  solrium = derive2 { name="solrium"; version="1.1.4"; sha256="0x83s83r4sr4r9cgk9fgcw6xz778m4gg14fzwib3qja6ax2xpk2z"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
+  solvebio = derive2 { name="solvebio"; version="2.7.0"; sha256="0xgwpng5264q47axryxr19x70fljyj9frc100ys7q30b325w963h"; depends=[dplyr httr jsonlite mime]; };
   som = derive2 { name="som"; version="0.3-5.1"; sha256="1fbza1jxvwrkf5x3inkj36vshhkn7mz0ajqlxalbfmk6ngjw1x56"; depends=[]; };
   som_nn = derive2 { name="som.nn"; version="1.1.0"; sha256="0mw2c2lqvdq9bhndpjyawjy43l4x7clcsx2350j45g7fnchhy602"; depends=[class hexbin kohonen som]; };
   soma = derive2 { name="soma"; version="1.1.1"; sha256="1mc1yr9sq9h2z60v40aqmil0xswj5hgxfdh4racq297qw3a97my4"; depends=[reportr]; };
   someKfwer = derive2 { name="someKfwer"; version="1.2"; sha256="0widny5l04ja91fy16x4giwrabwqhx0fs3yl48pv9xh4zj6sx563"; depends=[]; };
   someMTP = derive2 { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
   somebm = derive2 { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
-  sommer = derive2 { name="sommer"; version="4.0.4"; sha256="0ad2ifhhphx5x4kyyjvjlibdp5g84yx41i85668vcxds8r1d1i8h"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo]; };
+  sommer = derive2 { name="sommer"; version="4.0.8"; sha256="0czizds24y2dj2w3611kydcs40lcg71pa9v2v7j4z73vks2p17mc"; depends=[crayon lattice MASS Matrix Rcpp RcppArmadillo]; };
   somplot = derive2 { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
   somspace = derive2 { name="somspace"; version="1.0.0"; sha256="1cp7mprapidzfphis697r3jipm1ig5198580mmdygvbajxcjib75"; depends=[data_table ggplot2 kohonen maps]; };
   sonar = derive2 { name="sonar"; version="1.0.2"; sha256="1f0f5iqi3y9vnxyym14nm8dqxw0vcpnxmvvkx4sm612i4fclg1f9"; depends=[]; };
   sonicLength = derive2 { name="sonicLength"; version="1.4.6"; sha256="0jh9zk908afqxacccsph6477cc8sbcc1vxbv7jz8ppgc20imw932"; depends=[]; };
+  sonicscrewdriver = derive2 { name="sonicscrewdriver"; version="0.0.1"; sha256="03v53blb8f67ybhqys4n0zxf7pk9g024ncq0g9rnj9qpr740zclb"; depends=[ggplot2 seewave tuneR]; };
   sonify = derive2 { name="sonify"; version="0.0-1"; sha256="1wkqqgf8fhhaz1dmri2zzr8cdwmx3cgrxbprrz3yily5r1m17d15"; depends=[tuneR]; };
   soobench = derive2 { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; };
-  sophisthse = derive2 { name="sophisthse"; version="0.7.0"; sha256="08vr5y5cvn2q7410krg7620cqv7jmprh96bv43yhh3mk6ixd21dl"; depends=[dplyr RCurl stringr XML zoo]; };
   soptdmaeA = derive2 { name="soptdmaeA"; version="1.0.0"; sha256="03n1y82myq0rz14awjnx9nx1dz3dxqq58m13cw7a7ncap7fmw9r5"; depends=[igraph MASS Matrix]; };
   soql = derive2 { name="soql"; version="0.1.1"; sha256="12wvbxy9xx140b7mga4ma7hkg4q6kv549gkq15fnf4dn8q43x8nf"; depends=[]; };
+  sortable = derive2 { name="sortable"; version="0.4.2"; sha256="08v78r0vibr0lk09lxm0s0vfkzpp03asqnqpl8jqa6rxcb484fri"; depends=[assertthat ellipsis htmltools htmlwidgets jsonlite learnr shiny]; };
   sorvi = derive2 { name="sorvi"; version="0.7.26"; sha256="19lfrc4bdiljs437w3a2bpf7abnkv0934dh929bbj2w1w8rzghjn"; depends=[dplyr ggplot2 RColorBrewer reshape2]; };
   sos = derive2 { name="sos"; version="2.0-0"; sha256="0fwv76m0iihzy60kglsdjnlp6800qsll6h0v2435a50lcr53jj8g"; depends=[brew]; };
   sos4R = derive2 { name="sos4R"; version="0.3.1"; sha256="0zcrk8fgg2jsp29wvbw448yp15m4lz0sbf570nyjg3admnpf5whs"; depends=[httr sp stringr xml2]; };
@@ -13440,14 +13703,15 @@ in with self; {
   sotu = derive2 { name="sotu"; version="1.0.2"; sha256="0aqwkawaydsm91hz13msjg1a5llg7xmv6hxmfmsaganrl7iaym3c"; depends=[]; };
   sound = derive2 { name="sound"; version="1.4.5"; sha256="1kbbb614d0fmj9l0yjiwf5yqnl7sby4xklp7qwp6rwjvq9bnm0ab"; depends=[]; };
   soundecology = derive2 { name="soundecology"; version="1.3.3"; sha256="16h6gbdlyav7wbfisdv1f2zsqhr45liidgj7qqk8giwjxgan8q97"; depends=[ineq oce pracma seewave tuneR vegan]; };
-  soundgen = derive2 { name="soundgen"; version="1.5.0"; sha256="0qczrspc8gbhxw95gclfmfxi1c098iwfryiwsnwc43g6h6gnm7fi"; depends=[dtw mvtnorm phonTools plyr reshape2 seewave shiny tuneR zoo]; };
+  soundgen = derive2 { name="soundgen"; version="1.5.1"; sha256="0mzxqwi0qqvlaf48m901szbfqn8riwkghxjqbcpcwrx77rph22gp"; depends=[dtw mvtnorm phonTools reshape2 seewave shiny shinyBS shinyjs tuneR zoo]; };
   source_gist = derive2 { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
   sourceR = derive2 { name="sourceR"; version="1.0.1"; sha256="01qxa44s9szaxl0rdcx4p0wn4vby17hdzdjzpsbls3prsnr0jaad"; depends=[assertthat cluster dplyr gplots gtools hashmap R6 reshape2 SPIn tensorA]; };
   sourcetools = derive2 { name="sourcetools"; version="0.1.7"; sha256="1jnjir0q2dj724f1mjm6p5h77yzyx6xcqy9r2g7gmcxkxw349627"; depends=[]; };
-  sp = derive2 { name="sp"; version="1.3-1"; sha256="17xm1ig80p9wc860hm3bgishz6lj9fxgwqidj7rkbk4ap99qp62p"; depends=[lattice]; };
+  sp = derive2 { name="sp"; version="1.3-2"; sha256="0kpjsqh3lzqp1m0avsvm54lazlgwfx3hyf0av3mvbyslsanj42ll"; depends=[lattice]; };
   sp23design = derive2 { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
   spANOVA = derive2 { name="spANOVA"; version="0.99.1"; sha256="0dsi1cj0i5gm3b1wlrb2r5nbw1zmnqiwvgz41s0wmm7wwjsbva3x"; depends=[ape car DT geoR gtools knitr MASS Matrix multcomp multcompView mvtnorm rmarkdown ScottKnott shiny shinyBS shinycssloaders shinythemes spatialreg spdep xtable]; };
   spAddins = derive2 { name="spAddins"; version="0.2.0"; sha256="19wbcghcf0f9qvqy92jhsdcpmd9b4lkhxndvr71cyhzga539lh1n"; depends=[magrittr purrr rstudioapi stringr]; };
+  spBFA = derive2 { name="spBFA"; version="1.0"; sha256="0w50zzizh8ki0ngwjaj92g0lcj79ssllv75a1b4i37hiy4qh4z1m"; depends=[msm mvtnorm pgdraw Rcpp RcppArmadillo]; };
   spBayes = derive2 { name="spBayes"; version="0.4-2"; sha256="0qmh8sdawhssr1jmx9dc56mxxwsgya8spsss88jgg0npvmpl5khb"; depends=[abind coda Formula magic Matrix]; };
   spBayesSurv = derive2 { name="spBayesSurv"; version="1.1.3"; sha256="0syb4x05j878jhcql8prfw1aqxmpi1idxk1d4xl52j32wngkpn8b"; depends=[coda fields MASS Rcpp RcppArmadillo survival]; };
   spCP = derive2 { name="spCP"; version="1.2"; sha256="0y00k96p96jgp84wbdhqfwsq2fg8c68gc5310rnzpiv3clws27fb"; depends=[msm mvtnorm Rcpp RcppArmadillo]; };
@@ -13455,15 +13719,14 @@ in with self; {
   spFSR = derive2 { name="spFSR"; version="1.0.0"; sha256="0094plnjlyhnnjqw3i4an5q95bw6hjy1gzc7zr6wy77faivqsbms"; depends=[class ggplot2 mlbench mlr parallelMap tictoc]; };
   spGARCH = derive2 { name="spGARCH"; version="0.2.0"; sha256="03jn5v5szq2nfihwvv3v966bv48wng2bahyaxlkvik2firdl8j9y"; depends=[Matrix nleqslv Rcpp RcppEigen Rsolnp spdep truncnorm]; };
   spMC = derive2 { name="spMC"; version="0.3.10"; sha256="0p0s6w7sif02b91b73a0zb2i4i95a8m86dkqmgx6w1jk9h2mgqaz"; depends=[]; };
-  spMaps = derive2 { name="spMaps"; version="0.3"; sha256="0w4rrzbybaf9zgb09zg0zkf2hgvfrwx57yzbxm4px1ygdfxyi4cm"; depends=[raster rgeos sp]; };
+  spMaps = derive2 { name="spMaps"; version="0.4.0"; sha256="0n9693aam7gsclfhijq7cy61l0w4mm5vf3rjaz5w0jrz77lrkprh"; depends=[raster rgeos sp]; };
   spNNGP = derive2 { name="spNNGP"; version="0.1.2"; sha256="0zr2lfvrjlpi6j3xswi974spvhmkbf1ddfb6d8f2zddkfhppfg00"; depends=[coda Formula RANN]; };
   spTDyn = derive2 { name="spTDyn"; version="2.0"; sha256="0wandd5iqyqb474096lky04rrgj31gnyqnlmgw8ypxsypd0gqdy0"; depends=[coda sp spacetime spTimer]; };
-  spTest = derive2 { name="spTest"; version="0.2.5"; sha256="11x2wq3031mqbj4n6hvb4l3sp4382qankdl1v1qh7ab2xa0h6xw8"; depends=[geoR sp]; };
-  spThin = derive2 { name="spThin"; version="0.1.0.1"; sha256="1cj859q0i5ldqvndky2jwr5jwnpgj01mfqkw8hb8pibpwaknmy7y"; depends=[fields knitr spam]; };
+  spThin = derive2 { name="spThin"; version="0.2.0"; sha256="0j10j1cbbwp3baqm3b59rxlnd643mkx1mirlxpnr1ad2g7xpm69f"; depends=[fields knitr spam]; };
   spTimer = derive2 { name="spTimer"; version="3.3"; sha256="0vzqig9dq4k6p5s2gbm5arqiih28ghzjx0fs7ml70vx2f181jrxi"; depends=[coda extraDistr sp spacetime]; };
   spaMM = derive2 { name="spaMM"; version="3.0.0"; sha256="1rwgwh4lvpgbplbzrxi08cdmay9q44dv0szcdfnz74wdsgmpxjjs"; depends=[MASS Matrix nlme nloptr pbapply proxy Rcpp RcppEigen]; };
   spaa = derive2 { name="spaa"; version="0.2.2"; sha256="163iipz1knxx1lzby9a3n1f014yqkf25z1wpwwy4gbx7sia499d5"; depends=[]; };
-  space = derive2 { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
+  space = derive2 { name="space"; version="0.1-1.1"; sha256="09dpksbda4lg5hax47a9h9shjmggza6583slvdj0fldblykpyxck"; depends=[]; };
   spaceNet = derive2 { name="spaceNet"; version="1.2"; sha256="1s2672icxs0qvdhl52xhllgvh1i9mjfrn5j3icyw6h61ljbnhy11"; depends=[MASS mclust permute RcppTN Rfast sna vegan]; };
   spacejam = derive2 { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
   spacesRGB = derive2 { name="spacesRGB"; version="1.2-2"; sha256="0rl5xh4pa29ab3ckqhb4pq7s8x76738na320kzhidyhj6x39a6kf"; depends=[]; };
@@ -13474,18 +13737,18 @@ in with self; {
   spacyr = derive2 { name="spacyr"; version="1.2"; sha256="1xsiz6zx89vs6ykrkkp011d8fz4ksdgnf5nyaq5ynjr6zv865vks"; depends=[data_table reticulate]; };
   spaero = derive2 { name="spaero"; version="0.5.0"; sha256="1r3rgvmkcrkzm6ikbbmnm4rfdrnwgmn4wq21mxgjs2bzg2r72mw6"; depends=[]; };
   spagmix = derive2 { name="spagmix"; version="0.3-1"; sha256="0xfrm4i28sy490g5324bc43dxlrgcnzxg27gsd5b81mqi03sry9j"; depends=[abind mvtnorm RandomFields sparr spatstat]; };
-  spam = derive2 { name="spam"; version="2.3-0"; sha256="194n5mgvyms9ckjqixl3h33apii8h9kqspqg2si9k741k578qb3w"; depends=[dotCall64]; };
-  spam64 = derive2 { name="spam64"; version="2.3-0"; sha256="1n9gf063r5mfr4aagwcvv2g6wyyp46r744lylpzr9hm4hx04sw0c"; depends=[]; };
+  spam = derive2 { name="spam"; version="2.4-0"; sha256="0xb7a0x1i93kzijr518m9plzmg8s3mxh5anwfx9xrkg5ipldvz10"; depends=[dotCall64]; };
+  spam64 = derive2 { name="spam64"; version="2.4-0"; sha256="1s2kjjyzrvj9yc57x5f03pkc4p2xclfnny14xch6dcv6rkkk6izq"; depends=[]; };
   spanel = derive2 { name="spanel"; version="0.1"; sha256="1riyvvfij277mclgik41gyi01qv0k466wyk2wbqqhlvrlj79yzsc"; depends=[]; };
   spanish = derive2 { name="spanish"; version="0.4.2"; sha256="15drc11lh0qxpww50p0smi8qxfbln82bx0yd74jqf71irhk5jxyp"; depends=[magrittr xml2]; };
-  spant = derive2 { name="spant"; version="0.15.0"; sha256="05pqa0zv9zqykr8xgvd3mm7m62igy1jln70q0qn9lsdbdb79yn5z"; depends=[abind complexplus foreach magrittr matrixcalc minpack_lm nnls plyr pracma readr signal smoother stringr svd tibble tkrplot]; };
+  spant = derive2 { name="spant"; version="0.18.0"; sha256="047xk0a2a93pzda8ygsxbvhdd2ycs95rqrkljwgrd698l9fkqsc4"; depends=[abind complexplus fields foreach magrittr MASS matrixcalc miniUI minpack_lm mmand nnls oro_dicom plyr pracma ptw readr RNifti RNiftyReg shiny signal smoother stringr svd tibble viridisLite]; };
   sparcl = derive2 { name="sparcl"; version="1.0.4"; sha256="138krflvfdlx4hlh90mswds51i8aw2vv00gm5lgkfsvxj4w324jg"; depends=[]; };
   spark_sas7bdat = derive2 { name="spark.sas7bdat"; version="1.2"; sha256="1kvzfjhf1q5jzlq5d04s7d96j63vnvqqrh8s03rwkl79h1dhqhhp"; depends=[sparklyr]; };
   sparkTable = derive2 { name="sparkTable"; version="1.3.0"; sha256="1fc2nihxfrjpmxm9g9296mz5czd3ydvi1v37g8qgb20j7b73c64h"; depends=[boot Cairo ggplot2 gridExtra pixmap Rglpk RGraphics shiny StatMatch xtable]; };
   sparkavro = derive2 { name="sparkavro"; version="0.2.0"; sha256="005pdfb08clq2fsabdxcbmd4n8nj5ix6yqk5pxpv3gvrzw8s7y32"; depends=[DBI dplyr sparklyr]; };
   sparkbq = derive2 { name="sparkbq"; version="0.1.0"; sha256="0jcxnivi5zfbixmdywhn1v42lxi085wh7r4c26laclz9j2wvj8mk"; depends=[sparklyr]; };
   sparkline = derive2 { name="sparkline"; version="2.0"; sha256="0lrr1lm7603di7x3mf53cp13d9ssjh9gmb43wa6z9yqapis2djm2"; depends=[htmltools htmlwidgets]; };
-  sparklyr = derive2 { name="sparklyr"; version="1.0.3"; sha256="16lzr72hf2ryid6m7pf0wbw69ji9r6fv88lxgr6n5l1xbspja301"; depends=[assertthat base64enc config DBI dbplyr digest dplyr ellipsis forge generics httr jsonlite openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi tibble tidyr withr xml2]; };
+  sparklyr = derive2 { name="sparklyr"; version="1.0.5"; sha256="1sh023f6djxm2bmjhrbgly8x3y87vlcjx00p7s3vkc2zl3mpydy5"; depends=[assertthat base64enc config DBI dbplyr digest dplyr ellipsis forge generics httr jsonlite openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi tibble tidyr withr xml2]; };
   sparklyr_nested = derive2 { name="sparklyr.nested"; version="0.0.3"; sha256="0lva7fbjp253kxq3970h52cr8s52xycbi03d5shsyna8grhkbczj"; depends=[dplyr jsonlite listviewer purrr rlang sparklyr]; };
   sparktex = derive2 { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
   sparktf = derive2 { name="sparktf"; version="0.1.0"; sha256="0jd018n7553q0ldv6whxbj2s38myig0m8zq4fbp8fsv34q5wnsx4"; depends=[sparklyr]; };
@@ -13503,10 +13766,10 @@ in with self; {
   sparseMatEst = derive2 { name="sparseMatEst"; version="1.0.0"; sha256="06y061zl6id7cfw3cqzvwykzlijmala8hj61i04mgc491ngybimv"; depends=[glasso]; };
   sparseSEM = derive2 { name="sparseSEM"; version="2.5"; sha256="0ig8apsi94kvbcq3i8nzmywbdizlss7c6r9bppcyl9lxgikc3cds"; depends=[]; };
   sparseSVM = derive2 { name="sparseSVM"; version="1.1-6"; sha256="0b0qiikjyyh9qfd4jl69zqnlp7adxq63mwsxvgwvyc0pv5ccg8i0"; depends=[]; };
-  sparsebn = derive2 { name="sparsebn"; version="0.0.5"; sha256="19315nzj9pz98498amlhas6ii3vwvn3qxz5a6136nh2xfwfg2bhc"; depends=[ccdrAlgorithm discretecdAlgorithm sparsebnUtils]; };
+  sparsebn = derive2 { name="sparsebn"; version="0.1.0"; sha256="1f6b6wb5lg3avcgwcr2dbaikcrrvk0vb5ag5c1c30j0xckgl3n1v"; depends=[ccdrAlgorithm discretecdAlgorithm sparsebnUtils]; };
   sparsebnUtils = derive2 { name="sparsebnUtils"; version="0.0.7"; sha256="1a810wrjvgzqmlgcx1lnvxz8j1v8ycfqwk9acnm84c4lmb8rkyx0"; depends=[Matrix nnet]; };
   sparseinv = derive2 { name="sparseinv"; version="0.1.3"; sha256="06inzix9m7b5g7c97lyvyl2g7fdr4iz60791hl2w9mah7nd6bfja"; depends=[Matrix Rcpp spam]; };
-  sparsenet = derive2 { name="sparsenet"; version="1.3"; sha256="1n95imjvs0c0yp4bmayaib5yab0abrr0zyq1crp5gg8686dzcbjc"; depends=[glmnet Matrix shape]; };
+  sparsenet = derive2 { name="sparsenet"; version="1.4"; sha256="1r7xmpn3r8dq1zm6ghygks3l014kqlrpfgsl8q23w7rly8ksw3m9"; depends=[Matrix shape]; };
   sparsepca = derive2 { name="sparsepca"; version="0.1.2"; sha256="0wk2nm37p15gb8i4s45izzzdmwywr56kv4g0j3jd5s3slm224vv4"; depends=[rsvd]; };
   sparsepp = derive2 { name="sparsepp"; version="1.22"; sha256="0wa1585pkbn3y11apyim4z1ixn300c1yyv9bf2qldb6cjfiv7699"; depends=[]; };
   sparsereg = derive2 { name="sparsereg"; version="1.2"; sha256="1ipsang2fppmjx4h5ljgzx3c44z3lggc376ghrqqgmxb5ql8bcp3"; depends=[coda ggplot2 GIGrvg glmnet gridExtra MASS MCMCpack msm Rcpp RcppArmadillo VGAM]; };
@@ -13529,8 +13792,8 @@ in with self; {
   spatialkernel = derive2 { name="spatialkernel"; version="0.4-23"; sha256="0kvhirh7afk2gfy21pa6117yk6kzbaf2dxfkr1ax3b554rnrv4p0"; depends=[spatstat]; };
   spatialnbda = derive2 { name="spatialnbda"; version="1.0"; sha256="14mx5jybymasyia752f3vnr5vmswcavbz8bpqr69vlxphw27qkwk"; depends=[mvtnorm SocialNetworks]; };
   spatialprobit = derive2 { name="spatialprobit"; version="0.9-11"; sha256="1cpxxylc0pm7h9m83m2cklrh4jni5x79r5m5gibxi6viahwxn9kc"; depends=[Matrix mvtnorm spdep tmvtnorm]; };
-  spatialreg = derive2 { name="spatialreg"; version="1.1-3"; sha256="1004rz4x34i0nmm46ac2vq7ddxp31cvbbdhd79jd49z4vzycs2bn"; depends=[boot coda expm gmodels LearnBayes MASS Matrix nlme spData spdep]; };
-  spatialrisk = derive2 { name="spatialrisk"; version="0.6.2"; sha256="1n7akj7jhl6m3gqa51wi4cmbi3bblzrja3ss6ni664pargnkvd0q"; depends=[classInt dplyr ggplot2 Rcpp RcppProgress sf shiny tmap viridis]; };
+  spatialreg = derive2 { name="spatialreg"; version="1.1-5"; sha256="0zdj67rvfvssjch5hwyi4gvyr7pjgfjrkbhnc4q9psfjp9rhggyx"; depends=[boot coda expm gmodels LearnBayes MASS Matrix nlme spData spdep]; };
+  spatialrisk = derive2 { name="spatialrisk"; version="0.6.5"; sha256="0qgy4imk1p35vglj8ahfaf8gy7ixqzdwp75nf1q2y22gjq45d1xa"; depends=[automap classInt dplyr fs ggplot2 gstat lubridate mgcv Rcpp RcppProgress sf sp tmap viridis vroom]; };
   spatialsegregation = derive2 { name="spatialsegregation"; version="2.45"; sha256="04ibvk6shs15b8piln2lcnlj8s5gy6r7wraz6591dbc31grzaa36"; depends=[spatstat]; };
   spatialwarnings = derive2 { name="spatialwarnings"; version="1.3.1"; sha256="139m6jaw6f5gglwqrd4f5mzr4vkqk2r1a069971y7ap2klzzbhns"; depends=[ggplot2 plyr Rcpp RcppArmadillo reshape2 tidyr VGAM]; };
   spatialwidget = derive2 { name="spatialwidget"; version="0.2"; sha256="105pgsv4dq3pmk9bylb3fxzvp44frfp6xcvq5d01ja4gnwmb35p2"; depends=[BH colourvalues geojsonsf jsonify rapidjsonr Rcpp]; };
@@ -13539,10 +13802,10 @@ in with self; {
   spatstat_Knet = derive2 { name="spatstat.Knet"; version="1.11-2"; sha256="0jkpj4m44cqid5jdn7fwg3cl15lsmc0dp3bzp6759spivsx1yzq1"; depends=[Matrix spatstat spatstat_utils]; };
   spatstat_data = derive2 { name="spatstat.data"; version="1.4-0"; sha256="137cf9x6qcp7lw3rpjqizsy73z99yihff8gr434wlz7b5fwmn7hj"; depends=[spatstat_utils]; };
   spatstat_local = derive2 { name="spatstat.local"; version="3.6-0"; sha256="19kv85smy8jp2bx1mgppav50k07xm8zvmf7snzj29rrspiws7sig"; depends=[spatstat spatstat_utils tensor]; };
-  spatstat_utils = derive2 { name="spatstat.utils"; version="1.13-0"; sha256="0wijib2fmmvz5sf2sp212ms88ffhcz9c1d0j2ljdxf222lp6v8l1"; depends=[]; };
+  spatstat_utils = derive2 { name="spatstat.utils"; version="1.15-0"; sha256="031ar9yycg8kwknn0aa0pn12qjw722payff9jdzz8fb91drpvq4h"; depends=[]; };
   spatsurv = derive2 { name="spatsurv"; version="1.2"; sha256="0acg6n5qs3z9c7y2n3amla61dm3z1p16njkx0h52dlgdbj5v1nhn"; depends=[fields geostatsp iterators lubridate Matrix OpenStreetMap RandomFields raster RColorBrewer rgeos rgl sp spatstat stringr survival]; };
   spbabel = derive2 { name="spbabel"; version="0.5.0"; sha256="0jwv3mirm5wkfqja0nwy25nfndis8px4awpjh4hk9bi77dfy14bf"; depends=[dplyr sp tibble]; };
-  spc = derive2 { name="spc"; version="0.6.1"; sha256="0pwmwyizpxky50nlm0k7i3rn0985wg0vg7d58a1jphzf2r8pdcp2"; depends=[]; };
+  spc = derive2 { name="spc"; version="0.6.3"; sha256="0ik5qmf0f0l77rbg78rp8v606h0d1qp4kccl6j3vqfb2hjsqb7r0"; depends=[]; };
   spc4sts = derive2 { name="spc4sts"; version="0.5.1"; sha256="0fvmzp222qsprl7jhmj9yz23kf1n7xl4i05infms3nasgac20hcb"; depends=[gridExtra LS2Wstat rpart]; };
   spcadjust = derive2 { name="spcadjust"; version="1.1"; sha256="016i3zaaq800x4niz4fixa57nfj1m10sz5xskff4vq4v9fjn2sl0"; depends=[]; };
   spcosa = derive2 { name="spcosa"; version="0.3-8"; sha256="1hw3njn2c8wj8bk2qpnbi2mbhj485q3gpbjf1gq9k6my4brdp86b"; depends=[ggplot2 rJava sp]; };
@@ -13565,6 +13828,7 @@ in with self; {
   spectral_methods = derive2 { name="spectral.methods"; version="0.7.2.133"; sha256="0k8kpk94d2qzqdk3fnf6h9jmwdyp8h3klr0ilm5siwq5wkcz339l"; depends=[abind DistributionUtils foreach JBTools ncdf_tools nnet raster RColorBrewer RNetCDF Rssa]; };
   spectralAnalysis = derive2 { name="spectralAnalysis"; version="3.12.0"; sha256="0mz01hx86qi65k6vzz9k1j9q7gi10dh14cqvrlfy93f3kmi52q0x"; depends=[baseline BiocGenerics data_table ggplot2 hNMF jsonlite magrittr NMF nnls plotly plyr RColorBrewer signal viridis]; };
   spectralGP = derive2 { name="spectralGP"; version="1.3.3"; sha256="1jf09nsil4r90vdj7n1k6ma9dzzx3bwv0fa7svil9pxrd2zlbkbs"; depends=[]; };
+  spectralGraphTopology = derive2 { name="spectralGraphTopology"; version="0.2.0"; sha256="02j374zsz4ba8ldy52x43rih1p77b56cv5xlbycj5wmkzny2gzx1"; depends=[MASS Matrix progress Rcpp RcppArmadillo RcppEigen rlist]; };
   spectrolab = derive2 { name="spectrolab"; version="0.0.8"; sha256="1hjvi9na94f7n7yr64p0bvh0mzckwmfh36d6zxisrxr08zxwyxzz"; depends=[devtools prospectr RColorBrewer shiny shinyjs usethis]; };
   speedglm = derive2 { name="speedglm"; version="0.3-2"; sha256="1b25zimk0z7ad62yacqdg0zk0qs0jja4i918ym942xfw4j1z3jjz"; depends=[MASS Matrix]; };
   spef = derive2 { name="spef"; version="1.0.8"; sha256="1c4hpm19zqh869z8qbixkfbidnygc3fy91d0m2l4bp2s6bq1wdnz"; depends=[BB ggplot2 nleqslv plyr sm SQUAREM survival]; };
@@ -13615,7 +13879,7 @@ in with self; {
   spmoran = derive2 { name="spmoran"; version="0.1.7.1"; sha256="0nxg1xl3m4lkpxrkfcbnmf1x0gf43llz7095rj6i3flgmymirnxh"; depends=[doParallel fields foreach ggplot2 Matrix rARPACK spdep vegan]; };
   spnet = derive2 { name="spnet"; version="0.9.1-0"; sha256="1fy0fpgz2k985brfqyza1l49y0w2j9z308n542pgmkzqsnsdscpw"; depends=[shape sp]; };
   spnn = derive2 { name="spnn"; version="1.2"; sha256="1pfgffcaycv8ym9sal24s7h3zycjnnkkwhp4c2drigh6qvq8bly6"; depends=[MASS Rcpp RcppArmadillo]; };
-  spocc = derive2 { name="spocc"; version="0.9.0"; sha256="1azid8girmj4f0j4x9irljpxbsdpsxz572grb4fdjdxmlzpls7sy"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble whisker wicket]; };
+  spocc = derive2 { name="spocc"; version="1.0.2"; sha256="1mglkbbr2zhy884ilhxy2dkcjlr4aq16z08vs9gc44258i59kzy0"; depends=[crul data_table jsonlite lubridate rbison rebird rgbif ridigbio rvertnet tibble whisker wicket]; };
   spongebob = derive2 { name="spongebob"; version="0.4.0"; sha256="1ar5173fwx1am5rgjlnczfla6b49g0azl0h9vn89ipw7f71rr5j7"; depends=[]; };
   spongecake = derive2 { name="spongecake"; version="0.1.2"; sha256="13fxizbfjvqkhkmxk5bwv2fj2xyjkbxrxicpdgwpg0wsk4dhj3s8"; depends=[ggplot2 jpeg magrittr plyr]; };
   sporm = derive2 { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
@@ -13624,11 +13888,10 @@ in with self; {
   spotifyr = derive2 { name="spotifyr"; version="2.1.1"; sha256="0d3n75gyyqi5vgp3z4v3g9l7963xgadi98p1b5iag78zzz1zkcz8"; depends=[dplyr genius httr jsonlite lubridate purrr readr rvest stringr tibble tidyr]; };
   spp = derive2 { name="spp"; version="1.16.0"; sha256="08zxxgyp0h6733b08jmml7k4rhfd3mi5dda3jrzid0s184y0z29w"; depends=[BH caTools Rcpp Rsamtools]; };
   sppmix = derive2 { name="sppmix"; version="1.0.2"; sha256="1924lrxjlijlbvjbkkwb3pfa4klg49ph6hz66b7kyy1371wa2b9y"; depends=[fields ggplot2 mvtnorm Rcpp RcppArmadillo rgl spatstat]; };
-  spray = derive2 { name="spray"; version="1.0-7"; sha256="0lx837swixh02ivpg8b39c895g5xlxwrv95nppkpbqivxkn0zyjp"; depends=[magic partitions Rcpp]; };
+  spray = derive2 { name="spray"; version="1.0-8"; sha256="0gkzfzidwccznbf17qkmyppr7qsl8w7jn5ghqxgaqwkz6k8ad93f"; depends=[magic partitions Rcpp]; };
   spread = derive2 { name="spread"; version="2019.8.5"; sha256="1mc25abh1jxgis9p78pdy91a45kanr7y32xbqypyd514jjylnc52"; depends=[data_table fhidata Rcpp RcppProgress readxl stringr zoo]; };
   spreadr = derive2 { name="spreadr"; version="0.1.0"; sha256="1azf1543ijlgmry0f2sxivpy4hk9mcwnn5kqggzwwzwla2ql3lhj"; depends=[extrafont ggplot2 igraph Rcpp]; };
   sprex = derive2 { name="sprex"; version="1.4.1"; sha256="14idml4mipd4wyza7hqf49ww4dparmwaps35hxm8jg5h0w1pgh7j"; depends=[swfscMisc]; };
-  sprinter = derive2 { name="sprinter"; version="1.1.0"; sha256="12v4l4fxijh2d46yzs0w4235a8raip5rfbxskl0dw7701ryh7n8g"; depends=[CoxBoost GAMBoost LogicReg randomForestSRC survival]; };
   sprintr = derive2 { name="sprintr"; version="0.9.0"; sha256="0nnzjn7zrcgcmk3rs0hn56jcjrzrn5z0kc77bv4zzvbz5vr8gbwj"; depends=[glmnet Rcpp RcppArmadillo]; };
   sprm = derive2 { name="sprm"; version="1.2.2"; sha256="0iyijkjnyz4yx2cmazlnhkk0f5ls0c2q2aikwlzl13w6zbj040a8"; depends=[cvTools ggplot2 pcaPP reshape2 robustbase]; };
   sprsmdl = derive2 { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
@@ -13640,7 +13903,7 @@ in with self; {
   spsurvey = derive2 { name="spsurvey"; version="4.1.0"; sha256="1f48jddws3whaakvkcps7kvg179q74mjprh0rs3y6wfhfn0w67hm"; depends=[crossdes deldir foreign Hmisc MASS rgeos sf sp]; };
   spt = derive2 { name="spt"; version="2.5.1"; sha256="04j38d2b35p4798znnc49vqrg8r8bygwi07vybfj3nzimlp2mkrn"; depends=[]; };
   sptemExp = derive2 { name="sptemExp"; version="0.1.4"; sha256="16rp20l65id6jiqify7hii0xpgkiyhgp9xg89b002n0jsy10pgph"; depends=[automap BayesX BayesXsrc bcv deldir doParallel foreach limSolve ncdf4 plyr R2BayesX raster Rcpp RcppEigen rgdal rgeos sp SpatioTemporal]; };
-  sptm = derive2 { name="sptm"; version="17.12-7"; sha256="1l5in0jkqg44rr2id3h25jrfbn7x855p31z338hnmdpfwkpm2b1a"; depends=[kyotil survey survival]; };
+  sptm = derive2 { name="sptm"; version="2019.11-25"; sha256="1hdymzngdppmh56dqh0k88n9hg68pbx9rgmimbz4ihnfx2plvadh"; depends=[kyotil survey survival]; };
   spuRs = derive2 { name="spuRs"; version="2.0.2"; sha256="00c0hnyrcbkbj269czxbfgmgi88y0vxzm79sxclllkzr9rdd1p53"; depends=[lattice MASS]; };
   spup = derive2 { name="spup"; version="1.3-1"; sha256="0xq9z9iy3bwqhzq783qydgmczxvh7knkk9vdvwnbpbk0rbjgq3kn"; depends=[gstat magrittr mvtnorm purrr raster whisker]; };
   sqldf = derive2 { name="sqldf"; version="0.4-11"; sha256="0q12vsb53p2wchgp8wfz5bk08wfnm0jxjrakclj4jyy6x3a7ksff"; depends=[chron DBI gsubfn proto RSQLite]; };
@@ -13653,8 +13916,8 @@ in with self; {
   sra = derive2 { name="sra"; version="0.1.1"; sha256="03nqjcydl58ld0wq1f9f5p666qnvdfxb5vhd584sdilw1b730ykd"; depends=[]; };
   srm = derive2 { name="srm"; version="0.2-10"; sha256="1vcggiifp3h12pb4dcdyz4345n2sr5yjszdjgn6s4jsc99lzmj0a"; depends=[Rcpp RcppArmadillo]; };
   srp = derive2 { name="srp"; version="1.2.0"; sha256="0xdzfvi7z78xmyxwd8fha3lr86jwmgjba1w8hhn4sv3v5gc9vlkh"; depends=[fda mgcv]; };
-  srvyr = derive2 { name="srvyr"; version="0.3.5"; sha256="0yy18jaja7w7q6lbc2ky2lranjr6j23s88nplrvvn5a28n72mkdp"; depends=[dplyr magrittr rlang survey tibble tidyselect]; };
-  ss3sim = derive2 { name="ss3sim"; version="0.9.5"; sha256="0rdb49bfxvyh0jrqycrv1hxvh7y4kvw81jccjg5ma734x44q0vm5"; depends=[bbmle dplyr foreach ggplot2 gtools lubridate magrittr plyr r4ss]; };
+  srvyr = derive2 { name="srvyr"; version="0.3.6"; sha256="0d8mqi0cf8kxkw802vhrvnazg3kdnqzg8x5myfmz3a3m8cbk8w8q"; depends=[dplyr magrittr rlang survey tibble tidyselect]; };
+  ss3sim = derive2 { name="ss3sim"; version="1.0.3"; sha256="0s2yajlhi07fvqc0rr4msd9g2jrswb83dx55wsxnw925vikqa5kz"; depends=[bbmle foreach ggplot2 gtools r4ss]; };
   ssMousetrack = derive2 { name="ssMousetrack"; version="1.1.5"; sha256="069jsp2l63jp4fv2hwadqxpkp89aqmbh439zy66rx55kws75b556"; depends=[BH CircStats cowplot dtw ggplot2 Rcpp RcppEigen rstan rstantools StanHeaders]; };
   ssa = derive2 { name="ssa"; version="1.3.0"; sha256="0lbwvw8f88wvlhzd469fww0av0nbi6l76vmmxbps0ifw2q87l00d"; depends=[iterators]; };
   ssanv = derive2 { name="ssanv"; version="1.1"; sha256="17a4a5azxm5h2vxia16frcwdyd36phpfm7fi40q6mnnrwbpkzsjd"; depends=[]; };
@@ -13686,7 +13949,7 @@ in with self; {
   st = derive2 { name="st"; version="1.2.5"; sha256="0dnyfjcz37gjjv87nrabb11gw2dlkqhq3mrxdpkzahx0w0g0q0pb"; depends=[corpcor fdrtool sda]; };
   stR = derive2 { name="stR"; version="0.4"; sha256="120k8k1l8cfy8x746808jym7lnaplgh4s3lycgyq2wia2c35r0rc"; depends=[foreach forecast Matrix quantreg rgl SparseM]; };
   stUPscales = derive2 { name="stUPscales"; version="1.0.3.4"; sha256="0a6b38lhi1p0n2hjq2j8aw2vkasdv50cpgllxfxla7ddwbhbk3nk"; depends=[data_table doParallel EmiStatR foreach ggplot2 hydroGOF lattice lmom mAr moments msm xts zoo]; };
-  staRdom = derive2 { name="staRdom"; version="1.0.18"; sha256="15jgp1i3fs73g2gw3blx85rgww6w94a93632f9292x342bpsy7c4"; depends=[cdom data_table doParallel dplyr drc eemR foreach GGally ggplot2 gtools matrixStats MBA multiway pracma R_matlab readr stringr tibble tidyr zoo]; };
+  staRdom = derive2 { name="staRdom"; version="1.1.1"; sha256="089fks6qik8wplsfibdvj7r6m89329n3grlm7sdhg4m0m7x2z8yc"; depends=[cdom data_table doParallel dplyr drc eemR foreach GGally ggplot2 gtools matrixStats MBA multiway pracma R_matlab readr stringr tibble tidyr zoo]; };
   staTools = derive2 { name="staTools"; version="0.1.0"; sha256="1ksr0sjkhlwh0fkwcxjcxzbyxs1g78m4spkhrmgdpfzmk5zskqf9"; depends=[magicaxis Rcpp VGAM]; };
   stability = derive2 { name="stability"; version="0.5.0"; sha256="0mz7ikfhpfbdcp72klq7fi4zfmx2w18gz46yhwywcc4dyi277m11"; depends=[dplyr ggfortify ggplot2 lme4 magrittr matrixStats reshape2 rlang scales tibble tidyr]; };
   stable = derive2 { name="stable"; version="1.1.4"; sha256="01azqg4yi5wl6wfdpjq57w41x5z2b4dsp5n3vpkz24b9avk6rm8s"; depends=[rmutil stabledist]; };
@@ -13709,26 +13972,27 @@ in with self; {
   stargazer = derive2 { name="stargazer"; version="5.2.2"; sha256="1pij76r60hkjlvxw6zw1v7gkib81smiqmjq7mwszn6xclq9lmsvh"; depends=[]; };
   starma = derive2 { name="starma"; version="1.3"; sha256="07r0kyabhgbm2v39fcrw0qhxcxj9a9cb45g9chzcnn9qmvramcwx"; depends=[ggplot2 Rcpp RcppArmadillo scales]; };
   starmie = derive2 { name="starmie"; version="0.1.2"; sha256="06cvl8gk78c55kcf4rd27d4gfzh2lcg7ldynvx4hclvbw7ak9zdq"; depends=[combinat data_table ggdendro ggplot2 ggrepel gridExtra iterpc label_switching MCL MCMCpack proxy purrr readr stringr tidyr]; };
-  stars = derive2 { name="stars"; version="0.3-1"; sha256="1bcvv4y4fcnvw5lgxwab89wz27ajqqwhn4q8rqsk6lsa8259qz4v"; depends=[abind classInt rlang sf units]; };
+  stars = derive2 { name="stars"; version="0.4-0"; sha256="1wby9mkqybq17aakplhz22xp3xkpih9y5b2kc5mhgsl7s07glh42"; depends=[abind classInt lwgeom rlang sf units]; };
   startR = derive2 { name="startR"; version="0.0.1"; sha256="12y57n3yip5rz4rln41896a15zv5b4c67k164282fh1p6ww9gr3r"; depends=[abind bigmemory future]; };
-  startup = derive2 { name="startup"; version="0.12.0"; sha256="1lan8rzl8b4zh4msh9w97kcj5d93wvwga81g9jh39gyl7xjbyqyl"; depends=[]; };
+  startup = derive2 { name="startup"; version="0.13.0"; sha256="0xwilml9yv26l5bygnn9158nc0z0b8aydf09klxzsyycmsp0r2y8"; depends=[]; };
   startupmsg = derive2 { name="startupmsg"; version="0.9.6"; sha256="0vkqxir4ady4dn9s70dfg1fxck2xg8vnmrmxjzvk01i6pc9zyq0x"; depends=[]; };
-  statGraph = derive2 { name="statGraph"; version="0.2.0"; sha256="03cxm3kvs88q7p8v859xzma97vlklx50yh3kgmmfzf4axdm6dcgm"; depends=[igraph MASS]; };
+  statGraph = derive2 { name="statGraph"; version="0.3.0"; sha256="1xc10pkv3dq7x98xjqkg7ily89qj2r637y5qlnfvk08n6mzhn8w0"; depends=[igraph MASS]; };
   statVisual = derive2 { name="statVisual"; version="1.1.8"; sha256="06l6f9zbycwrm47hi564v1lnxx8xjmrn79kva84n0gliblci8nx8"; depends=[Biobase dplyr factoextra forestplot gbm GGally ggdendro ggfortify ggplot2 ggrepel glmnet gplots gridExtra knitr limma magrittr multigroup pheatmap pROC pvca randomForest RColorBrewer reshape2 rmarkdown rpart_plot tibble tidyverse]; };
   statar = derive2 { name="statar"; version="0.7.1"; sha256="0gxchf3mnjvxcp7dg8f1dxbm16hx4ks92z0h0ig7m9l6k6f8adkv"; depends=[data_table dplyr ggplot2 lazyeval matrixStats rlang stringr tidyr tidyselect]; };
   statcheck = derive2 { name="statcheck"; version="1.3.0"; sha256="0ivybdcrymlsfv6pg6p5bv70qdvgxf2vgp0kf4r0pf2fcvav1mcp"; depends=[ggplot2 plyr rmarkdown]; };
+  statcomp = derive2 { name="statcomp"; version="0.1.0"; sha256="0793k14rxiwq98zlrbsmbbkjn5z2ny5c90pia7cx3s77a3wdc96l"; depends=[Matrix zoo]; };
   statebins = derive2 { name="statebins"; version="1.2.2"; sha256="0qfs796dk5x983qah32w3npv9mxzljp3g7kffdd0ansn3z7i1zbb"; depends=[ggplot2 gridExtra RColorBrewer scales]; };
   states = derive2 { name="states"; version="0.2.2"; sha256="1lw1gljmkn8i8fd4ng5c3jpqrwr0gkiyazppy19dp8xl94m1xa4b"; depends=[dplyr]; };
   stationaRy = derive2 { name="stationaRy"; version="0.5.0"; sha256="1h6c7iivjqir45rk6qdfr8driqjliqn09sjdm521kkb3c5qv334r"; depends=[downloader dplyr lubridate lutz magrittr progress readr stringr tidyr]; };
-  stationery = derive2 { name="stationery"; version="0.98.6"; sha256="0qvvalck0j2bgzvmnl4dl54wx3b2v9mr88ii26zb5hvm7i2i4x9f"; depends=[knitr kutils rmarkdown]; };
-  statip = derive2 { name="statip"; version="0.2.0"; sha256="012caxqa04qv3z49cz09qzh9crfbdc4il2d2b96l5d3qnqv9xbh9"; depends=[bazar clue rpart]; };
+  stationery = derive2 { name="stationery"; version="0.98.24"; sha256="06qn3ck2cgcyrx8l27ka1y5dq8hyf01wq3hky6876a5g65b1wax2"; depends=[knitr kutils rmarkdown]; };
+  statip = derive2 { name="statip"; version="0.2.3"; sha256="0kymc3ds1nx0h11ffmm3vmqr1w34gd0k788vf72x2v45h8c1ma2n"; depends=[clue rpart]; };
   statmod = derive2 { name="statmod"; version="1.4.32"; sha256="083yyp84xj85zg4bhz7i90bqzl3p6155ch4abwsfc9k1lv7s2rrg"; depends=[]; };
   statnet = derive2 { name="statnet"; version="2019.6"; sha256="17dj6vjnjyqrfhzjq1lys5b29j942kd15zffb69jidni3slf20q9"; depends=[ergm ergm_count network networkDynamic sna statnet_common tergm tsna]; };
   statnet_common = derive2 { name="statnet.common"; version="4.3.0"; sha256="0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3"; depends=[coda]; };
   statnetWeb = derive2 { name="statnetWeb"; version="0.5.5"; sha256="1v2zgbfl975gqhkhxvgdfhgbw7yf9y3p6kqqxldr9zskhmrn7p1x"; depends=[ergm lattice latticeExtra network RColorBrewer shiny sna]; };
   statprograms = derive2 { name="statprograms"; version="0.2.0"; sha256="0m7px7fmpz2zzlfdi7rbllcjvcjp8iy94f6fa1w4xinh7vz3y6vq"; depends=[]; };
   statquotes = derive2 { name="statquotes"; version="0.2.2"; sha256="1xzc3ndddjrlyld0p4zcwwxkj7i3m3adj7c78x9l4lhlw9mxbbqg"; depends=[stringr tidytext wordcloud]; };
-  stats19 = derive2 { name="stats19"; version="1.0.0"; sha256="1lm2qif0g710n5i7gzqhbwhxm76cabs5zm6504wja343fk3vzb54"; depends=[readr sf]; };
+  stats19 = derive2 { name="stats19"; version="1.1.0"; sha256="163v39dvy0gahw2ra0pvri21k02iv9waqb8pv6j55nicvpvha7jm"; depends=[readr sf]; };
   statsExpressions = derive2 { name="statsExpressions"; version="0.1.1"; sha256="11f3ikrznp21sxk7r8m417f1sad0a7y63g623crvpyjr0cg0zq53"; depends=[BayesFactor boot broomExtra crayon dplyr ellipsis ez groupedstats magrittr MCMCpack psych rcompanion rlang tibble tidyr WRS2]; };
   statsguRu = derive2 { name="statsguRu"; version="0.1.0"; sha256="0pqz0la86mk6zp65zzbfwhxyrqqx040p8mrm2j9wqb53r8fbnmqc"; depends=[devtools htmltab plotrix]; };
   statsr = derive2 { name="statsr"; version="0.1-0"; sha256="1z0wfj1jxz02x7vl6sr651v85k88wg8rx0k2kkrwzc4ynim8shms"; depends=[BayesFactor broom cubature dplyr ggplot2 gridExtra knitr rmarkdown shiny tidyr]; };
@@ -13744,7 +14008,7 @@ in with self; {
   stemmatology = derive2 { name="stemmatology"; version="0.3.2"; sha256="1l2y4jlszz1dnafdl2wqqfgdjis07i3gzfnp1v1af32pvjy4zqhw"; depends=[cluster igraph xml2]; };
   stepPenal = derive2 { name="stepPenal"; version="0.2"; sha256="08gizl6c606ibbv7x2rdvfw37rghkrprwszha79yngkzpajw8gql"; depends=[caret dfoptim glmnet mvtnorm pROC]; };
   stepPlr = derive2 { name="stepPlr"; version="0.93"; sha256="1i54nyz8z5vq3mzfh6h2vd1q0hsdazc4mhrj9ad0zdvn0qnz61lv"; depends=[]; };
-  stepR = derive2 { name="stepR"; version="2.0-3"; sha256="1vz7mr2zycn4w0zv4rg2dn4v4dbbpxv8vy20sl9nphya0w0w4mrg"; depends=[digest R_cache Rcpp]; };
+  stepR = derive2 { name="stepR"; version="2.0-4"; sha256="1jv2mv1glzap7nsyxwzil9wif3q3p4y9q0c3kphz49hwwrg20k79"; depends=[digest R_cache Rcpp]; };
   stepp = derive2 { name="stepp"; version="3.2.0.0"; sha256="0fnjqbncadscv6ryvqyqf8qqgpfzh2hka5ld2zvw39mjqzy5gadi"; depends=[car survival]; };
   steps = derive2 { name="steps"; version="0.2.1"; sha256="1ccghvhrbk0d2m1896wbnzf55i1rlvwmdnr5dikr9h9sc79dahla"; depends=[future future_apply memuse raster rasterVis Rcpp viridisLite]; };
   stepwise = derive2 { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
@@ -13756,7 +14020,7 @@ in with self; {
   stinepack = derive2 { name="stinepack"; version="1.4"; sha256="0crl77gr4x2bz2zp0a0lqiw5iqlrcx7vj67igkbzg64d1fxai85d"; depends=[]; };
   stlcsb = derive2 { name="stlcsb"; version="0.1.2"; sha256="08pnj1yb4xcbhnrp2wny8lq9rvcvmsgaza07k4358csfksvmcira"; depends=[dplyr lubridate purrr readr readxl rlang rvest sf stringr tibble xml2]; };
   stlplus = derive2 { name="stlplus"; version="0.5.1"; sha256="14728xsm982z9sg4rbqg307pbwqlsiyzj8z3sr9wr6fi0dayf6z5"; depends=[lattice Rcpp yaImpute]; };
-  stm = derive2 { name="stm"; version="1.3.3"; sha256="1b1i4r161i92f5q63zjfghzg39bw9d2rqdxx0y6zjd8n2p0ni3wv"; depends=[data_table glmnet lda Matrix matrixStats quadprog quanteda Rcpp RcppArmadillo slam stringr]; };
+  stm = derive2 { name="stm"; version="1.3.4"; sha256="0w8adswwrdkgv5pc5g2v60r63qhqlg7f4zkcg1x09bi9hc1i6qgv"; depends=[data_table glmnet lda Matrix matrixStats quadprog quanteda Rcpp RcppArmadillo slam stringr]; };
   stmCorrViz = derive2 { name="stmCorrViz"; version="1.3"; sha256="1a4pckrbzsihyf1bqvw3cl0hxrc4yq1pnkgxgf4b8jday6zkxwcv"; depends=[jsonlite SnowballC stm tm]; };
   stmgp = derive2 { name="stmgp"; version="1.0.2"; sha256="14d7aivnm2y5cb6wm3cj1fgaqhv0i59jb4khvrjwqihzcnii90x5"; depends=[MASS]; };
   stmgui = derive2 { name="stmgui"; version="0.1.6"; sha256="1fn2m5l7y3p1riw39g6r3hpjxdccygih7yipp7dvc4msl9fm4h5c"; depends=[markdown shiny shinyBS shinyjs shinythemes stm tm]; };
@@ -13764,7 +14028,7 @@ in with self; {
   stoRy = derive2 { name="stoRy"; version="0.1.3"; sha256="146xs8as5f8ig2xpj9k2san4bllqxddsnlflnhl0sy6132vshyr1"; depends=[data_tree R6]; };
   stocc = derive2 { name="stocc"; version="1.30"; sha256="0xpf9101094l5l75p9lr64gwh2b8jh4saw6z6m2nbn197la3acpw"; depends=[coda fields Matrix rARPACK truncnorm]; };
   stochQN = derive2 { name="stochQN"; version="0.1.2"; sha256="1zwxw95jrpkqgbgwhwdy907v9gqmvn5as4v35a75wvy3nhawka9a"; depends=[]; };
-  stochprofML = derive2 { name="stochprofML"; version="1.2"; sha256="0gqfm2l2hq1dy3cvg9v2ksphydqdmaj8lppl5s5as2khnh6bd1l1"; depends=[MASS numDeriv]; };
+  stochprofML = derive2 { name="stochprofML"; version="2.0.0"; sha256="1101jshd1k3b1gy6fqdirnc17qa2fgjg48rlf8kc3jklmx4n1hfs"; depends=[MASS numDeriv]; };
   stochvol = derive2 { name="stochvol"; version="2.0.4"; sha256="1hb2fgnyn8zxq1j74x00msq3j807y70yxx2s3fq4csrb1935vr85"; depends=[coda Rcpp RcppArmadillo]; };
   stockR = derive2 { name="stockR"; version="1.0.68"; sha256="0pgyxh19csv21vgji1sjpqaaqb1wwz62mnsf85a97ba9aph9lxwb"; depends=[gtools]; };
   stocks = derive2 { name="stocks"; version="1.1.4"; sha256="0b6rl7pfkgzbpwnv7zzkr36hs5f1zb60d16ijslf7g9m25vvcyg6"; depends=[dvmisc Hmisc lubridate quantmod rbenchmark RColorBrewer Rcpp TTR zoo]; };
@@ -13773,7 +14037,7 @@ in with self; {
   stormwindmodel = derive2 { name="stormwindmodel"; version="0.1.1"; sha256="16w6si2icpsyhkn0d3l6sh64nj6ynyymp7jxfwa792ds2wrz2mkm"; depends=[dplyr ggplot2 lubridate maps plyr stringr tidyr weathermetrics]; };
   storr = derive2 { name="storr"; version="1.2.1"; sha256="0409gb6wji3cjxkdcd0wc3jvsx61h3rxd8a3nr018y8rh1rpsaj6"; depends=[digest R6]; };
   stosim = derive2 { name="stosim"; version="0.0.14"; sha256="10k8j7manskjsrjc1l44yhy682b1qh0k2jx3cs5k69j2z42mnhmk"; depends=[Rcpp]; };
-  stplanr = derive2 { name="stplanr"; version="0.3.1"; sha256="11r7ijma1v47kjd8ai06r1z4h207823cfrh0iajzjlrnx91qi4qg"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate lwgeom magrittr maptools nabor openxlsx R_utils raster Rcpp RcppArmadillo readr rgeos rlang sf sp stringi stringr]; };
+  stplanr = derive2 { name="stplanr"; version="0.4.1"; sha256="0kgs3ccyhm2hi8aia7misxwj45c5fy686sqliz7vdk8jayzdsqv1"; depends=[curl dplyr geosphere httr igraph jsonlite lubridate lwgeom magrittr maptools nabor openxlsx raster Rcpp RcppArmadillo readr rgeos rlang sf sp stringr]; };
   stpm = derive2 { name="stpm"; version="1.7.7"; sha256="1l40zb9qwshg7saqmgi7c49a3jd93ycrbvmysgzs0q8pl94vgcfs"; depends=[knitcitations MASS nloptr Rcpp RcppArmadillo sas7bdat survival]; };
   stpp = derive2 { name="stpp"; version="2.0-3"; sha256="18icnfrlrcibrpw7vqkrhzfx880ak24xk6llwgiqw18r929mq1hw"; depends=[ggplot2 gridExtra KernSmooth plot3D rgl rpanel spatstat splancs]; };
   strandCet = derive2 { name="strandCet"; version="1.0"; sha256="019cacj0g9f6i8v03rq7qyph7f14d8n0qw0axvczijvnk99q602a"; depends=[boot corpcor MASS minpack_lm mvtnorm numDeriv]; };
@@ -13782,11 +14046,13 @@ in with self; {
   strat = derive2 { name="strat"; version="0.1"; sha256="1axxrp750kjzcgxjdqfscjmryv1mkv4l23zk8k23z8l4ymhd2f5w"; depends=[Hmisc Rcpp RcppArmadillo]; };
   stratEst = derive2 { name="stratEst"; version="0.1.2"; sha256="045wmvkv9jxmazvy0p2dkf3200vy5gf124cv78132ysrnh2vcd4v"; depends=[Rcpp RcppArmadillo]; };
   strataG = derive2 { name="strataG"; version="2.0.2"; sha256="1rf1xf07yb0dzasgig9sfm4i9ggdkjgy5iiysqgdapk3sxs26c8r"; depends=[adegenet ape apex copula data_table DT ggplot2 gridExtra Hmisc pegas phangorn RColorBrewer Rcpp shiny shinyFiles survival swfscMisc]; };
+  stratamatch = derive2 { name="stratamatch"; version="0.1.2"; sha256="0lpvz5ma7afyb08d1fn0nsdakpxd4i61vjdr774kx8f2akjrhqf2"; depends=[dplyr Hmisc magrittr rlang survival]; };
   stratbr = derive2 { name="stratbr"; version="1.2"; sha256="15vkymmc61yz9szhfhc5663hfyqvh499ahwhr9mv1lhv5bikk0kb"; depends=[Rglpk snowfall stratification]; };
   strategicplayers = derive2 { name="strategicplayers"; version="1.0"; sha256="19vijrlzawd701vvk9ig7yhzbirh39dxxcwfz8ywwvxxiaky5x55"; depends=[sna]; };
   stratification = derive2 { name="stratification"; version="2.2-6"; sha256="1jlks3g8wpqlpci6v0ryyv93agiabdiklmk6ij0pc5icrfiynbhw"; depends=[]; };
   stratifyR = derive2 { name="stratifyR"; version="1.0-2"; sha256="10qlxkdbym206bvl2wc8ig00fvj1n7553vmjk6rs2n4p945qd47g"; depends=[actuar fitdistrplus mc2d triangle zipfR]; };
   stratvns = derive2 { name="stratvns"; version="1.0"; sha256="1bw9l389lxiji4h7hrsshf24v135h6la9dg3xxjly53d4fi56ifh"; depends=[MultAlloc Rglpk sampling snowfall stratification]; };
+  straweib = derive2 { name="straweib"; version="1.1"; sha256="0hi59p580yg6rj72grq4jx6grv7lmpi2cimp0rbxhkjpj6i1hav9"; depends=[]; };
   stream = derive2 { name="stream"; version="1.3-1"; sha256="09f26m0fajaw77mb6pk9qkinzkhxpghagd1qhc3nkvcki3vwlcxa"; depends=[BH clue cluster clusterGeneration dbscan fpc MASS mlbench proxy Rcpp]; };
   streamDepletr = derive2 { name="streamDepletr"; version="0.1.0"; sha256="0a8cihwjr5bzw5dw07x2kisi4qycwmxpj5hhv9b4pjvfghdwq4b8"; depends=[dplyr magrittr Rmpfr]; };
   streamMOA = derive2 { name="streamMOA"; version="1.2-2"; sha256="1zm7bcdsyazqksizir5rqibgw6w1bz85gdga0ncirh2s1z0dhi79"; depends=[rJava stream]; };
@@ -13796,14 +14062,14 @@ in with self; {
   strex = derive2 { name="strex"; version="1.2.0"; sha256="1vshbq83szgig93ljhnwqwdsdskayszdzwk85n1n650clriv0b85"; depends=[checkmate glue magrittr matrixStats ore processx Rcpp rlang stringi stringr tibble]; };
   strider = derive2 { name="strider"; version="1.2"; sha256="0kfwanz80ki41yr5m0xw4nbbqgzl6zfvwqx906bxywlqiqi47cb6"; depends=[BH Rcpp]; };
   stringb = derive2 { name="stringb"; version="0.1.13"; sha256="004bp75yhrgr480v9774kfq7z5l9z0761cnrwj4yk7fxygk89a1x"; depends=[backports]; };
-  stringdist = derive2 { name="stringdist"; version="0.9.5.2"; sha256="0nw8c317qkfq63pr0prl0hx522ddfq4cbgixb5r4pq3fxk9z303l"; depends=[]; };
+  stringdist = derive2 { name="stringdist"; version="0.9.5.5"; sha256="1dqfakclzaf878x7mhwmqrcpcql2h9cv19fz5f3ygpajf3si5kqi"; depends=[]; };
   stringformattr = derive2 { name="stringformattr"; version="0.1.2"; sha256="0x56k30clj5ajk0qg5sr8b9l0asz6ldivwr1ddy1vp1djliih1fx"; depends=[stringr]; };
   stringi = derive2 { name="stringi"; version="1.4.3"; sha256="1vbr6g9p1iyzdj7wfw6afyizvnd1a2srfvkl72pq23vhdcwwpkhk"; depends=[]; };
   stringr = derive2 { name="stringr"; version="1.4.0"; sha256="1p9ip7p87gbbg4s6d3d392svvzz2b5dqdq2c8ilgvn4s78nlsq47"; depends=[glue magrittr stringi]; };
   strip = derive2 { name="strip"; version="1.0.0"; sha256="1j3kq6w8k66z45rpd1cgxplpnldzbyqklgs4bnbv906pyd8wk9ak"; depends=[rlist]; };
   stripless = derive2 { name="stripless"; version="1.0-3"; sha256="08mdp7kq6r5bk77j09477d1dnn7iwa346pr24b5bqsxwnbknyrsr"; depends=[lattice]; };
   striprtf = derive2 { name="striprtf"; version="0.5.2"; sha256="1ra6aalalig6drsj26z9s24lmb10zssagqrvgqqi4358zbm8gwcd"; depends=[magrittr Rcpp stringr]; };
-  strucchange = derive2 { name="strucchange"; version="1.5-1"; sha256="0cdgvl6kphm2i59bmnppn1y3kv65ml111bk7yzpcx7vv8wh2w3kl"; depends=[sandwich zoo]; };
+  strucchange = derive2 { name="strucchange"; version="1.5-2"; sha256="1y022363a4pp0mnji91sjh1qiyspkh09sybqwj03r9pmwrd7q93x"; depends=[sandwich zoo]; };
   structSSI = derive2 { name="structSSI"; version="1.1.1"; sha256="06rwmrgqc4qy4x0bhlshjdsjxfmp5fr9d1wjglhlb1gbp72fmkdv"; depends=[ggplot2 igraph multtest reshape2 rjson]; };
   structree = derive2 { name="structree"; version="1.1.6"; sha256="0d3ww07grprp908i3h1xaz3jw92g0g0s3gjdnb63wl10yqqsq2vj"; depends=[lme4 mgcv penalized]; };
   strum = derive2 { name="strum"; version="0.6.2"; sha256="0f5cb7cfvqhmnv4sjfr58lns4fclmr8iyka595zddy9f6dv5rqp1"; depends=[graph MASS Matrix pedigree Rcpp RcppArmadillo Rgraphviz]; };
@@ -13813,12 +14079,13 @@ in with self; {
   stuart = derive2 { name="stuart"; version="0.8.0"; sha256="1hcb1jybra0cpibxc1k31nr6xciwd2chxjfdnir4kfzxn2bd2cxd"; depends=[]; };
   stubthat = derive2 { name="stubthat"; version="1.2.1"; sha256="130naxzvswcyadwcgldvwnxxdxbfwx5vljac7901vn3ahjp75d8z"; depends=[testthat]; };
   studentlife = derive2 { name="studentlife"; version="1.0.0"; sha256="1snrsaapjwvcifa91hg5xcbg7n70aqcdyyq69gg20168qg8abkws"; depends=[crayon dplyr ggplot2 jsonlite purrr R_utils readr skimr tibble tidyr visdat]; };
-  styler = derive2 { name="styler"; version="1.1.1"; sha256="1k660lpjvd64gnf6bndcb1cq3qxsvik928kcn6271zmkhja5rgyb"; depends=[backports cli magrittr purrr rematch2 rlang rprojroot tibble withr xfun]; };
+  styler = derive2 { name="styler"; version="1.2.0"; sha256="0rdbz60x8bymis6r6188ia1y0ip3nhf5y363i4cmakr618irjab9"; depends=[backports cli magrittr purrr rematch2 rlang rprojroot tibble withr xfun]; };
   stylest = derive2 { name="stylest"; version="0.1.0"; sha256="0dr7j9fh8kp6wsqql38s3rk596xl6m9nx0w1l5v25hv2bphidxzr"; depends=[corpus Matrix]; };
-  stylo = derive2 { name="stylo"; version="0.6.9"; sha256="14kr12gjbk7l6f4lz5m4j51vsjkyhnpgbiflsl327az5l0nrr5vw"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
+  stylo = derive2 { name="stylo"; version="0.7.1"; sha256="0l7z4d8q4kp9m0di0hch2zpbxmf7im4h0n95mrylqw93w768z76s"; depends=[ape class e1071 lattice pamr tcltk2 tsne]; };
   suRtex = derive2 { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
   subcopem2D = derive2 { name="subcopem2D"; version="1.3"; sha256="06wwd847g9pxd0z2a8494h3nc9s280a3s1510bir24m3z7w1pqf3"; depends=[]; };
   subdetect = derive2 { name="subdetect"; version="1.1"; sha256="1bcc13avs5w9vmwyf71cnjd2kwmcavmzpwyv8gvsn61n7b4j8wlk"; depends=[]; };
+  subformula = derive2 { name="subformula"; version="0.1.0"; sha256="0nsl0nzj79z6aib12b5qijyab0yxlljfssiq9p8xgcgbxy4a7syy"; depends=[]; };
   subgroup = derive2 { name="subgroup"; version="1.1"; sha256="1n3qw7vih1rngmp4fwjbs050ngby840frj28i8x7d7aa52ha2syf"; depends=[]; };
   subgroup_discovery = derive2 { name="subgroup.discovery"; version="0.2.1"; sha256="15yvkymcig19y9h8362izap0qbv1igmd0s0yxdgv0n0l1xgfsywj"; depends=[]; };
   subgxe = derive2 { name="subgxe"; version="0.9.0"; sha256="0faww87ncylqixb640hc2axvn4i50d2r2ggngmd7s9wazbb6sd55"; depends=[]; };
@@ -13835,7 +14102,7 @@ in with self; {
   subspace = derive2 { name="subspace"; version="1.0.4"; sha256="0p2j0lnwj3ym1v4xla6r97zjikb8alnibdc690xn9c0z21hmv43v"; depends=[colorspace ggvis rJava stringr]; };
   subtee = derive2 { name="subtee"; version="0.3-5"; sha256="14pvfghsd17n9qkznik4vdalqfv5ykgqrhk2g33idl8chi9q7jjn"; depends=[ggplot2 MASS matrixStats survival]; };
   subtype = derive2 { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
-  suddengains = derive2 { name="suddengains"; version="0.3.1"; sha256="0l9dfgf07myi7sgz8xrgh93kzl2am0v3h6fbm3r9wmn63q2kqiml"; depends=[dplyr ggplot2 ggrepel magrittr psych readr rlang stringr tibble tidyr]; };
+  suddengains = derive2 { name="suddengains"; version="0.4.0"; sha256="1606lj9x4qlkg5sm7i7xgp8bd2ivzngz0phc7bs06akwd7xbbnra"; depends=[dplyr ggplot2 ggrepel magrittr psych readr rlang stringr tibble tidyr]; };
   sudoku = derive2 { name="sudoku"; version="2.6"; sha256="13j7m06m38s654wn75kbbrin5nqda4faiawlsharxgrljcibcbrk"; depends=[]; };
   sudokuAlt = derive2 { name="sudokuAlt"; version="0.2-0"; sha256="0d530hb4d8i0qziw5iaf5r5c46c9d9ns7n5c1kcb3ffw2c1xi1pl"; depends=[magrittr]; };
   sugarbag = derive2 { name="sugarbag"; version="0.1.1"; sha256="1wldsqfgw8mqhwikgaasrz7qrnpj51f0kwi9i7v6hil756y5bhjv"; depends=[dplyr geosphere purrr rlang rmapshaper sf tibble tidyr]; };
@@ -13843,27 +14110,28 @@ in with self; {
   sumFREGAT = derive2 { name="sumFREGAT"; version="1.1.0"; sha256="1ycdnf5ghrv3czi4lh5yc8n8690m3b8i85s46k7lya2k0rasvac4"; depends=[GBJ Matrix seqminer]; };
   summariser = derive2 { name="summariser"; version="0.1.0"; sha256="0a6wyb0r1i0cynld002q96ylr58jz76n5jqjz8gm6a3csjn9qss7"; depends=[dplyr ggplot2 lazyeval plotrix]; };
   summarytools = derive2 { name="summarytools"; version="0.9.4"; sha256="1n695baz56mg4f13xjjadfq0xalw5xsn6xicil0yap5hgi8fsr3a"; depends=[checkmate dplyr htmltools lubridate magick matrixStats pander pryr rapportools RCurl tibble tidyr]; };
-  sunburstR = derive2 { name="sunburstR"; version="2.1.1"; sha256="0r46ca3pvnvak7dqslbn64dg8h6d50nlhh0wrsxi8vcwgsycaf6y"; depends=[d3r dplyr htmltools htmlwidgets]; };
+  sunburstR = derive2 { name="sunburstR"; version="2.1.3"; sha256="1zxy1zyi8sp26vicxjh7jx167qwnmvj1h6hpyj6398cbzcx7dvy7"; depends=[d3r dplyr htmltools htmlwidgets]; };
   suncalc = derive2 { name="suncalc"; version="0.5.0"; sha256="1chkl297km313m89h9mbp7vnpz188fhzz5dn8x5cjkqy0mm6c0qc"; depends=[data_table lubridate magrittr]; };
   sundialr = derive2 { name="sundialr"; version="0.1.3"; sha256="1bpqfxbg187g113nzsgk5pnfw9ldg9v7x52frrw8wjjs8b3c0v8z"; depends=[Rcpp]; };
-  supc = derive2 { name="supc"; version="0.2.1"; sha256="121dy7ymvxvq3ksf17hg0df74ycd2nag2z2ggnw4p2rwzj99vgc5"; depends=[BH Rcpp]; };
+  supc = derive2 { name="supc"; version="0.2.2"; sha256="0b7safpg766mzi2qiwyyf9wn5pcpcb9w7dn5qb3kjalijvcqz7mp"; depends=[BH Rcpp]; };
   supclust = derive2 { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[class rpart]; };
   supcluster = derive2 { name="supcluster"; version="1.0"; sha256="1rkd4bpzzvzbmqaj907pqv53hxcgic0jklbsf5iayf0ra768b5w6"; depends=[gtools mvtnorm]; };
   superMDS = derive2 { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
   superbiclust = derive2 { name="superbiclust"; version="1.1"; sha256="1gzjbzbl8y1nzdfhyd6dlrwjq8mwj43a26qav84s1bdzwx6dra48"; depends=[biclust fabia Matrix]; };
   superdiag = derive2 { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[boa coda]; };
   superheat = derive2 { name="superheat"; version="0.1.0"; sha256="01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83"; depends=[dplyr ggdendro ggplot2 gtable magrittr plyr scales]; };
-  superml = derive2 { name="superml"; version="0.4.0"; sha256="0lq2mjlapihnz8pfb8y3zzv460pdplkyh0dbsm7cdhr01shwz4n9"; depends=[assertthat data_table doParallel Metrics R6]; };
+  superml = derive2 { name="superml"; version="0.5.0"; sha256="1h5jpafriw5drkmwyyk42fn33qq9qvc19wmi13mfnpkhc67xmlyp"; depends=[assertthat data_table doParallel Metrics R6]; };
   supernova = derive2 { name="supernova"; version="2.1.1"; sha256="1vjx0mfnqksgvcgn8hfvpx8j3q8791yifdsaqjqkhc7h56r9gcc5"; depends=[magrittr stringr]; };
   superpc = derive2 { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
   supervisedPRIM = derive2 { name="supervisedPRIM"; version="2.0.0"; sha256="1j5gsy119pvrhkkg048lyk6hjvn9x1bhmfy5g824gj3k1w5slrib"; depends=[prim]; };
   suppdata = derive2 { name="suppdata"; version="1.1-1"; sha256="1sysd5w59y9hkm1ab8m9i1d976dv6cxchssc86s27bsibhsj2blc"; depends=[httr jsonlite rcrossref xml2]; };
   support = derive2 { name="support"; version="0.1.4"; sha256="1yahhb9l2f3129av4cj4q77q1s0nfszzd6z7dqkfpnjvvk8gzdq7"; depends=[BH MHadaptive randtoolbox Rcpp RcppArmadillo]; };
-  support_BWS = derive2 { name="support.BWS"; version="0.2-0"; sha256="1yfjpr9v9zsbkysm3r6zk9r0a072g038lmj9wk4014a3rk9kmm80"; depends=[]; };
-  support_BWS2 = derive2 { name="support.BWS2"; version="0.2-2"; sha256="1pykq297gz42n6scl5s6zjy33wjvcb5590vcrgysdigf3hqb22ra"; depends=[]; };
-  support_BWS3 = derive2 { name="support.BWS3"; version="0.1-1"; sha256="1pzgc98har44kylrg04669lmmfn10pb3km5598p163nzh5s4ymgg"; depends=[]; };
+  support_BWS = derive2 { name="support.BWS"; version="0.3-0"; sha256="1mylc1jys8j56qciscy8ra4dv0ig0swh2gyf3wv5q00v85n1wf92"; depends=[]; };
+  support_BWS2 = derive2 { name="support.BWS2"; version="0.3-0"; sha256="0k9yvg0n4lzsq43r53r9f70hq1q3zfljjafj9ds2p3c6qzgs9chi"; depends=[]; };
+  support_BWS3 = derive2 { name="support.BWS3"; version="0.2-0"; sha256="012kcvscz7m2is92r71731zc7xnp7pwyx30vivwjazrigp9bq1kl"; depends=[]; };
   support_CEs = derive2 { name="support.CEs"; version="0.4-1"; sha256="1rbyl7v6m07dsp08kkk9020bh39rhx89q7d05rc5kxb6f7y66jyz"; depends=[DoE_base MASS RCurl simex XML]; };
   supportInt = derive2 { name="supportInt"; version="1.1"; sha256="14fh75sds05c06xkcfbijd8my3sa9kpnczzh96xx0gwj1193yya9"; depends=[ProfileLikelihood]; };
+  sur = derive2 { name="sur"; version="1.0.2"; sha256="13mkn153x9sgkmj2vchma5qz1zggxw5vf28v8sfbg0n77f4wjc1p"; depends=[learnr]; };
   sure = derive2 { name="sure"; version="0.2.0"; sha256="0gwr2j321i2vq98rin5b1m4sl123dm1nih1ghcmj0zd1wd6x5x54"; depends=[ggplot2 goftest gridExtra]; };
   surface = derive2 { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape geiger MASS ouch]; };
   suropt = derive2 { name="suropt"; version="0.1.1"; sha256="0fm3vq3d0r4ahjgdmxm06yyakngssryzvdd1w0my34m0nvk6cbq4"; depends=[DiceKriging DiceOptim dplyr emoa GenSA ggplot2 GPareto lhs mco pso purrr rgenoud tibble tidyr]; };
@@ -13885,7 +14153,7 @@ in with self; {
   survRM2 = derive2 { name="survRM2"; version="1.0-2"; sha256="0pvp65c1kkbkcci4l3cvq4a5krmv58jwb9abz5225ql6jyawzlsw"; depends=[survival]; };
   survRM2adapt = derive2 { name="survRM2adapt"; version="1.0-1"; sha256="1r3jvjbc2sb7b00s95b3sdx4d99rmrnd573fx1n4914ydiggi9nn"; depends=[survival]; };
   survSNP = derive2 { name="survSNP"; version="0.24"; sha256="0mzwcp8zfqvsiapa446si9qb6wyymnw5zj6acj6f2cfjpyi76k4w"; depends=[foreach lattice Rcpp survival xtable]; };
-  surveillance = derive2 { name="surveillance"; version="1.17.1"; sha256="0fz37ah1ljylmn0sycc2pr1sp757c8iwrm6ijcsj21rzxxyajind"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat xtable]; };
+  surveillance = derive2 { name="surveillance"; version="1.17.2"; sha256="1gnyylil70qw06fnyhg38xqh9pmzqj5ykf79p66dvhv7zhjq95r7"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat xtable]; };
   survexp_fr = derive2 { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
   survey = derive2 { name="survey"; version="3.36"; sha256="0xclsy4ram4k48vzh5m5bpmknnpwxnss85v73s4czsjj5ffjxwwh"; depends=[lattice Matrix minqa mitools numDeriv survival]; };
   surveybootstrap = derive2 { name="surveybootstrap"; version="0.0.1"; sha256="13rp6gj1dgdzcjbi2403pldygp1dyqx8zj0r1nvyghpi06x5gpb7"; depends=[dplyr functional plyr Rcpp RcppArmadillo stringr]; };
@@ -13896,7 +14164,7 @@ in with self; {
   surveysd = derive2 { name="surveysd"; version="1.1.0"; sha256="0ab1f3z86idv3cy9nycqh4nnkcwachlm27pynlrn6g4jmcvcbj9b"; depends=[data_table dplyr ggplot2 laeken matrixStats Rcpp]; };
   survidm = derive2 { name="survidm"; version="1.2.0"; sha256="0dgcxhf8x1aavr4n4aqanfc23zd62dyk3h05sa04611h6n9l8j9c"; depends=[doParallel doRNG foreach KernSmooth np survival TPmsm]; };
   survivALL = derive2 { name="survivALL"; version="0.9.3"; sha256="0lnvs7b097sl21gvnfafdprzvh197p1q4nzzagkdf4xm1xw8pj0h"; depends=[cowplot desiR ggplot2 ggthemes survcomp survival viridis]; };
-  survival = derive2 { name="survival"; version="2.44-1.1"; sha256="1faiwyg7x8y2kfzb66l4yc8br0mdlz4k20znmjrwq96dbzhm3cam"; depends=[Matrix]; };
+  survival = derive2 { name="survival"; version="3.1-7"; sha256="1ij77bgfcjx29xkx5bck0sv4ybglpcmzzv9ilkinj8fqhhclbs8p"; depends=[Matrix]; };
   survivalAnalysis = derive2 { name="survivalAnalysis"; version="0.1.1"; sha256="0y4hgskc36jrriy6577bnkvg1gmxs0x3pxiv3lma38a9lj71ivwf"; depends=[cowplot dplyr forcats ggplot2 gridExtra magrittr purrr rlang scales stringr survival survminer tibble tidyr tidytidbits]; };
   survivalMPL = derive2 { name="survivalMPL"; version="0.2"; sha256="05bfa9fx841kh9g2jcs1dimsxkjnf4bxgamcnjpisx3a644c1gkn"; depends=[MASS survival]; };
   survivalROC = derive2 { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
@@ -13936,14 +14204,14 @@ in with self; {
   svs = derive2 { name="svs"; version="1.1.0"; sha256="0575msaxg04ck76mbr815m29y895qvg8b9qg4y0ggv6b1lvwp5p6"; depends=[gtools]; };
   svyPVpack = derive2 { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
   svydiags = derive2 { name="svydiags"; version="0.3"; sha256="0xgizswdqs8cjac200sqv3ygvrnbcy74h92kgx4r6nv1fhlcljl3"; depends=[MASS Matrix survey]; };
-  swCRTdesign = derive2 { name="swCRTdesign"; version="3.0"; sha256="053d7dhdhv61j30rdl6s0h0sfh28hjzljhj6d4n5sydhn0g2137x"; depends=[]; };
+  swCRTdesign = derive2 { name="swCRTdesign"; version="3.1"; sha256="18ln02fnxkpjqi8a36wr2qr427hxrghkhfjx0384grmdg1mmkbf5"; depends=[]; };
   swa = derive2 { name="swa"; version="0.8.1"; sha256="1zy1a6c17vmdkmkwp8vv3niww2zs1m0hylsa0b2cz68vfhnmpim4"; depends=[ggplot2 reshape ROCR]; };
   swagger = derive2 { name="swagger"; version="3.9.2"; sha256="13scbzv65qzxh7kfwlb2k47zgvv7fz085g5lki6zr5w6a33g45q9"; depends=[]; };
   swamp = derive2 { name="swamp"; version="1.4.1"; sha256="01w44d7rqh6q9wpapd3g7rzllhbm2brwilmna9vk2dwqx57jyim6"; depends=[amap gplots impute MASS]; };
   swapClass = derive2 { name="swapClass"; version="1.0.1"; sha256="0wg6km261xdywakxi64dw4wwprbrkw217q4c6622z0mgm9sjgpym"; depends=[inline]; };
   swatches = derive2 { name="swatches"; version="0.5.0"; sha256="1kivscgka8gn44rjj0s5sjan1s04znnyn0nd37a74zaik0hm8zs0"; depends=[colorspace httr pack stringr xml2]; };
   swdft = derive2 { name="swdft"; version="1.0.0"; sha256="0529rw8nsl48hwiy741alvrzg5d5q1nhnjshrsfwchm5kdv0igva"; depends=[]; };
-  sweep = derive2 { name="sweep"; version="0.2.1.1"; sha256="0hfvgvzr5mh9niwpsr9jcly426dz457afrg4q5w13ahsasx7c9jg"; depends=[broom devtools dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
+  sweep = derive2 { name="sweep"; version="0.2.2"; sha256="12mbkkinvv11s96bn61vww79xjivjshhg9m3lmza5y0512zm89k5"; depends=[broom dplyr forecast lazyeval lubridate tibble tidyr timetk]; };
   sweidnumbr = derive2 { name="sweidnumbr"; version="1.4.1"; sha256="014zbp6a66gv7b0f2gmzvifllz266zrc14ihawksvyp1mcxz2ipg"; depends=[lubridate stringr]; };
   swephR = derive2 { name="swephR"; version="0.3.0"; sha256="0fk5wih3i5vpkcc9y1n30xwc1hyqgfgnad9jkdgdx0m31pn1y9j5"; depends=[Rcpp]; };
   swfscMisc = derive2 { name="swfscMisc"; version="1.2"; sha256="08p2crsx8zi6qprs14mhdyq9x5sjlp3a46c1zzvp6741an4fy640"; depends=[ggplot2 mapdata maps reshape2 spatstat]; };
@@ -14005,7 +14273,7 @@ in with self; {
   tables = derive2 { name="tables"; version="0.8.8"; sha256="1cgfwrnmgi1jhv9kj918mv0ib75hvprqjg0nb7ppih73kqpaw5m2"; depends=[Hmisc knitr]; };
   tableschema_r = derive2 { name="tableschema.r"; version="1.1.0"; sha256="0ny683p9kaidj5bayz77hyvsaqg3jk87pb95271znk8hzhl2jlcj"; depends=[config future httr iterators jsonlite jsonvalidate lubridate purrr R6 RCurl rlist stringr urltools]; };
   tabplot = derive2 { name="tabplot"; version="1.3-3"; sha256="0gv27igixcy5vqrk71ckyhlk4yhcprm8r2a2l0lgmn4rbsm20c6h"; depends=[bit ff ffbase]; };
-  tabr = derive2 { name="tabr"; version="0.3.0"; sha256="0723yzjnv30bfs4v7ircn17hhpjx0w1hzls6bcqc3xi3awqzkbg3"; depends=[crayon dplyr ggplot2 magrittr purrr]; };
+  tabr = derive2 { name="tabr"; version="0.3.5"; sha256="14lsqkn5xzxmnh23ppmv9b0pkqiyw82b2nnmnv56cpgv2ds6bv4h"; depends=[crayon dplyr ggplot2 magrittr purrr tidyr]; };
   tabuSearch = derive2 { name="tabuSearch"; version="1.1.1"; sha256="0396a8hla508na1hmyyhfbl8w10dbg810cln2xyhhvxi7rr223dj"; depends=[]; };
   tabula = derive2 { name="tabula"; version="1.3.0"; sha256="12fqkqky2amg9lzm7q1dc7j2i71cbm1mdpzgfkyjwgjkv87b896k"; depends=[ca ggplot2 rlang]; };
   tabularaster = derive2 { name="tabularaster"; version="0.5.0"; sha256="0cqax6hq0pbxmqls3cs21cc86662wdzjyx4lkxw42dbw4v13f728"; depends=[dplyr fasterize gibble magrittr raster rlang sp spatstat spbabel spex tibble viridis]; };
@@ -14021,7 +14289,8 @@ in with self; {
   tailr = derive2 { name="tailr"; version="0.1.3"; sha256="0agm83zwj6f3bpicbn2pcwira05v2pbv0g7myc1x06jxbw1qbfwp"; depends=[foolbox glue rlang]; };
   taipan = derive2 { name="taipan"; version="0.1.2"; sha256="192sy5pgq74vs31p7jfn6svdzf9mk9ybppzhp1rlki1bagmm5f1r"; depends=[shiny]; };
   takos = derive2 { name="takos"; version="0.1.0"; sha256="0a26jmxccpyk36sah9nz7pqpkc1rd9kbwrvwh0r0zp7lwvxbjb8w"; depends=[baseline broom colorRamps data_table devEMF MASS minpack_lm pracma segmented sfsmisc smoother]; };
-  tanaka = derive2 { name="tanaka"; version="0.1.0"; sha256="1j0xjklwrlzrh0078bk34qzk2fvv0fb3r2rak571hkm3xpl2g5zn"; depends=[isoband lwgeom raster sf]; };
+  tanaka = derive2 { name="tanaka"; version="0.1.1"; sha256="0d7kqgl4kdmgvc8an0h1jqh8h4qw7mgdqmghxs49ssw3db6ir6lh"; depends=[isoband lwgeom raster sf]; };
+  tangles = derive2 { name="tangles"; version="0.8.1"; sha256="06a5hn5hkvgr6pcjz3n0vi1zwmv00wypi5f62agqh8mas80v44vh"; depends=[digest raster sp]; };
   tangram = derive2 { name="tangram"; version="0.4"; sha256="1yj5vwc8jkiic4zjag9k7w3j6dibqw5zsi78q6gssshsi9z0zbgy"; depends=[base64enc digest htmltools magrittr R6 stringi stringr]; };
   tapkee = derive2 { name="tapkee"; version="1.1"; sha256="1s8710m4drhnycfv27bv1w7vqc99dvbcn8zxkahq0lrsx7q8i5mz"; depends=[]; };
   tashu = derive2 { name="tashu"; version="0.1.0"; sha256="04xvmbcwi84zg1pqw21nmrbnkyx184wc200vl1vhmwxggq1i60np"; depends=[dplyr drat ggplot2 lubridate plyr randomForest RColorBrewer reshape2]; };
@@ -14032,7 +14301,7 @@ in with self; {
   tawny = derive2 { name="tawny"; version="2.1.7"; sha256="1b2v0cgkmhzxy36dcdn6hnbqk6l5ac5c3myvwryf7wlp19xi786d"; depends=[futile_logger futile_matrix lambda_r lambda_tools PerformanceAnalytics quantmod tawny_types xts zoo]; };
   tawny_types = derive2 { name="tawny.types"; version="1.1.5"; sha256="1vg0hv91dif6cfqfzrf7m1qbk57fp8v97fp88whwmvs83yd521hq"; depends=[futile_logger futile_options lambda_r lambda_tools quantmod xts zoo]; };
   taxa = derive2 { name="taxa"; version="0.3.2"; sha256="1kiffyfpgapap6m2k3wx7p89kzpdyk48nwbmqvfa883kvg0ddzcy"; depends=[crayon dplyr jsonlite knitr lazyeval magrittr R6 rlang stringr taxize tibble tidyr]; };
-  taxize = derive2 { name="taxize"; version="0.9.8"; sha256="11b486jyd447np8ri4s0ywry7n0xdyw42vspcdpxb11pli9x4x45"; depends=[ape bold cli crayon crul data_table foreach jsonlite natserv phangorn plyr R6 reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2 zoo]; };
+  taxize = derive2 { name="taxize"; version="0.9.91"; sha256="0ncglmj0nzk60dvmngzskr2psn0bi2wj8jr628kczln2qz2hagff"; depends=[ape bold cli crayon crul data_table foreach jsonlite natserv phangorn plyr R6 reshape2 ritis rotl rredlist stringr tibble wikitaxa worrms xml2 zoo]; };
   taxizedb = derive2 { name="taxizedb"; version="0.1.4"; sha256="15gj9i18ysd83v9fidrrvw938dah04i10ahi3wh5dgjs5fd5ch2s"; depends=[curl DBI dbplyr dplyr hoardr magrittr RMySQL RPostgreSQL RSQLite]; };
   taxlist = derive2 { name="taxlist"; version="0.1.6"; sha256="0p68izdhqggra14g6n93124qnwrxmdy5f9x0617fmix5yc23rww3"; depends=[foreign stringdist taxize vegdata]; };
   taxonomizr = derive2 { name="taxonomizr"; version="0.5.3"; sha256="0hxvcbyr5b3sxqy5kw1q17qx7c2q90a6x79r9bmjn6c2lnrqn83i"; depends=[data_table R_utils RSQLite]; };
@@ -14041,8 +14310,8 @@ in with self; {
   tbd = derive2 { name="tbd"; version="0.1.0"; sha256="1wmfy3p82gckhfsslxzapryfygmircii7x24j6ysfyx52gy8iwf5"; depends=[numDeriv]; };
   tbdiag = derive2 { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; };
   tbl2xts = derive2 { name="tbl2xts"; version="0.1.3"; sha256="0yy0cpsflwx7fbql3vh0l87cvqgn0ghdqal4m7l9aplqhzdwxs3r"; depends=[dplyr lazyeval PerformanceAnalytics xts zoo]; };
-  tbm = derive2 { name="tbm"; version="0.3-0"; sha256="03bh98jn5rm3c159sbyx830cjf8yhpbn8jdgrmnqrwgr1fp5hdqf"; depends=[basefun coneproj mboost mlt sandwich variables]; };
-  tbrf = derive2 { name="tbrf"; version="0.1.2"; sha256="03n9s2n5y9d669l78v6s2dbk3sz51g5v28301ng2w082njrsvxhv"; depends=[boot dplyr lubridate purrr rlang tibble tidyr]; };
+  tbm = derive2 { name="tbm"; version="0.3-1"; sha256="1nakiixh833jwfz5zp3kz9zc09373zd8ydy94x4v9vxxwqp3zvl5"; depends=[basefun coneproj mboost mlt sandwich variables]; };
+  tbrf = derive2 { name="tbrf"; version="0.1.3"; sha256="1g6ll9vqhszas3czpnvvxhrih4b1h10dhn40ljh4206m27mzl8v9"; depends=[boot dplyr lubridate purrr rlang tibble tidyr]; };
   tcR = derive2 { name="tcR"; version="2.2.4"; sha256="17g26cq6zpcmg9kv32v0rvyqmml5wkbwra7p8f1cdzyc0zajbvn2"; depends=[data_table dplyr ggplot2 gridExtra gtable igraph Rcpp reshape2 scales stringdist]; };
   tcgsaseq = derive2 { name="tcgsaseq"; version="1.8.1"; sha256="1v5b3qghygb81lqc2h1fijgw856b1778xndppq7r4b0zhhvb81ac"; depends=[CompQuadForm ggplot2 GSA KernSmooth statmod]; };
   tcl = derive2 { name="tcl"; version="0.1.0"; sha256="1ssqx50ii6j2y5n2nxn5ndp20nrjss0xf0fqp8aiwlgnm3d1zggn"; depends=[eRm lattice MASS Matrix numDeriv]; };
@@ -14052,18 +14321,18 @@ in with self; {
   tdROC = derive2 { name="tdROC"; version="1.0"; sha256="137j1m9pysjcz1gsfcym0438by3c7na21ccjlqf7xfccr1y8k2k6"; depends=[survival]; };
   tdigest = derive2 { name="tdigest"; version="0.3.0"; sha256="17axsir4xig3vm3sc2gziy9n0p80b14vg52nwys23bzkfp0n63bm"; depends=[magrittr]; };
   tdr = derive2 { name="tdr"; version="0.13"; sha256="0i0hnb3fc4d1mbbxcpzmyfh1w2rahfjabg5iyxym3yjd6377al15"; depends=[ggplot2 lattice RColorBrewer]; };
-  tdsc = derive2 { name="tdsc"; version="1.0.0.1"; sha256="17nr5fa4f16ww8si8qikbqmixl38jxjy185b80ff2i5v4129mnwd"; depends=[data_table]; };
+  tdsc = derive2 { name="tdsc"; version="1.0.2"; sha256="19wd7gbpb23x55jzp0snnqm8ccnga3bfgr0mbhh31frkf6453721"; depends=[data_table moments]; };
   tdthap = derive2 { name="tdthap"; version="1.1-11"; sha256="15qlj2bivvz3pizd8dq34wczbkbxhzqh3cqp1ixkdkprlyvcxj5k"; depends=[]; };
   tea = derive2 { name="tea"; version="1.0"; sha256="03wxhbgx17hl9bbzbfjmfa30q4fqszhs5y9imbp768fmzwbppn24"; depends=[eva]; };
   teachingApps = derive2 { name="teachingApps"; version="1.0.4"; sha256="0wi25wdpkz7kh8r1s42wa9kiky8ilmcg8kgw0j1caygwg0bml2fa"; depends=[actuar BH d3heatmap data_table devtools diagram DiagrammeR dplyr DT dygraphs ggplot2 knitr leaflet magrittr markdown metricsgraphics miniUI networkD3 pacman plotly radarchart Rcpp RcppEigen RcppNumerical rprojroot scales shiny shinyAce shinydashboard shinythemes threejs tidyr visNetwork yaml]; };
   tealeaves = derive2 { name="tealeaves"; version="1.0.0"; sha256="0hzih93h8c9gqvsmfaldq9jaw8hgvd4kmrlqlaqr6xhi6zhjqhf1"; depends=[crayon dplyr furrr future ggplot2 glue magrittr purrr rlang stringr tidyr units]; };
-  teamcolors = derive2 { name="teamcolors"; version="0.0.2"; sha256="1dns9z03n2bf8bda965wx243dacdm6ixp7zgzkvqr5mifcgmfafh"; depends=[dplyr ggplot2]; };
+  teamcolors = derive2 { name="teamcolors"; version="0.0.3"; sha256="1p2fx30j4wplicd30b8677jdmg78fpp6cbd3nqmx8xbs01gwix9w"; depends=[dplyr ggplot2]; };
   teamr = derive2 { name="teamr"; version="0.0.1"; sha256="01gngws8lf093598wlzrv4ls74avsli6ij33v1plqgc0znyaw4s2"; depends=[httr jsonlite R6]; };
   teda = derive2 { name="teda"; version="0.1.1"; sha256="0yx469jbkw9cgx73zi5mkykrdn16kn01zh524x9411314aa32avx"; depends=[]; };
   teigen = derive2 { name="teigen"; version="2.2.2"; sha256="1k5k3lj6av5pyx130w1j7avd0jdmm12ryc71mi5mq49sp95ndl4v"; depends=[]; };
   telefit = derive2 { name="telefit"; version="1.0.1"; sha256="05qnnp7bsv6q9230kikwk1r80f6v809cc2nv117w08nax4423vwx"; depends=[abind coda cowplot doRNG dplyr fields foreach ggplot2 gtable itertools mvtnorm raster Rcpp RcppArmadillo RcppEigen reshape2 scales scoringRules SDMTools sp stringr]; };
   telegram = derive2 { name="telegram"; version="0.6.0"; sha256="02wwa115f0vz2d9y4nf01397hjkpc3cv2gdl47snrajrm41gji7y"; depends=[curl httr jsonlite R6]; };
-  telegram_bot = derive2 { name="telegram.bot"; version="2.3.1"; sha256="1mzmc3gvma90mrzyn3w8s3jwmq7apqy4wacv0j6zd99a96nj855b"; depends=[curl httr jsonlite R6]; };
+  telegram_bot = derive2 { name="telegram.bot"; version="2.4.0"; sha256="1bvfnr6k0zxdawrf63yh8wj9hcgq1xvy791xbqhiy0isaa86yfw9"; depends=[curl httr jsonlite R6]; };
   tempR = derive2 { name="tempR"; version="0.9.9.15"; sha256="00xxrwzbqcsvb50xcrr4aii4fjcfa8bc25jn0zvg4dxmww8w4s1r"; depends=[]; };
   tempcyclesdata = derive2 { name="tempcyclesdata"; version="1.0.1"; sha256="0hciachv59kjpjs119r4z24jskzgnassi1yjg3cgl2r0hyglxxc3"; depends=[]; };
   tempdisagg = derive2 { name="tempdisagg"; version="0.25.0"; sha256="0zi11jqb3i5kd2z1bbkz8y7g16kmkcn3xpkwj2brv0s86wxwsny7"; depends=[]; };
@@ -14077,22 +14346,24 @@ in with self; {
   tensorBSS = derive2 { name="tensorBSS"; version="0.3.5"; sha256="1m4g9jr2s37xys2q4gv6rqknrznd4nrppa7qrgygqywwlmnyid44"; depends=[ggplot2 ICtest JADE Rcpp RcppArmadillo tensor tsBSS]; };
   tensorflow = derive2 { name="tensorflow"; version="2.0.0"; sha256="1cz0l6blr8wan47lslq4lx0aafk61gjxwm6b3nn8zwgx849nqyr4"; depends=[config jsonlite processx reticulate rstudioapi tfruns yaml]; };
   tensorr = derive2 { name="tensorr"; version="0.1.1"; sha256="18xdvp328h96jn8y1iayxh7cyz2s8j5nn43nq18pyaxq271hkfyh"; depends=[assertive_base assertive_properties assertive_types Matrix purrr]; };
+  tensorregress = derive2 { name="tensorregress"; version="1.0"; sha256="0gx2skh175gs2cmihqaklwadnp777xcfimd66w3wh18qiz66ggaz"; depends=[MASS pracma rTensor speedglm]; };
   tensorsparse = derive2 { name="tensorsparse"; version="1.0"; sha256="1qy6s58nkqq4spg7sapq3jafmxda0mx0j0cqjaj9pd34qqxifglf"; depends=[clues fields glasso glmnet HDCI mvtnorm RColorBrewer reshape rgl rTensor viridis]; };
   tensr = derive2 { name="tensr"; version="1.0.1"; sha256="1z6b3ra7fgn88mxbhsq65x3frj5j7p17n119s9kbw7sg9y633vfx"; depends=[assertthat]; };
   tergm = derive2 { name="tergm"; version="3.6.1"; sha256="03yd4l317airz84jfjyczjx43wi6sraid58lmxivm29xjk52xpi1"; depends=[coda ergm MASS network networkDynamic nlme robustbase statnet_common]; };
   ternvis = derive2 { name="ternvis"; version="1.2"; sha256="057i6i3ygxrin0npc18gsg3dpdldzafyb5sr6lix5mhy6b09lkxf"; depends=[dichromat maps quadprog]; };
   tesseract = derive2 { name="tesseract"; version="4.1"; sha256="1a7cf48n7hdd6inqz23ifqhq6kx6wxri34a79ns2vxaj6f4llxf0"; depends=[curl digest pdftools rappdirs Rcpp]; };
+  test2norm = derive2 { name="test2norm"; version="0.1.1"; sha256="11by5a1j6613akxj1nc16r07jfwxr1izkpvymr9yycnddiqyp42c"; depends=[mfp]; };
   testDriveR = derive2 { name="testDriveR"; version="0.5.1"; sha256="0wjdqvsyv33fsg1lljp9m0bhz38mpfgpgickgj4zdspc9x6lbnv6"; depends=[]; };
   testassay = derive2 { name="testassay"; version="0.1.0"; sha256="06gks3k04m45kn946i525261v33ymwxpvgdy84kc7sp01xxx4rfv"; depends=[]; };
   testequavar = derive2 { name="testequavar"; version="0.1.2"; sha256="12qfy53rkrasxphcfmch5bmdlvlybd27jfg3azsi3fg4zk4qgdw2"; depends=[]; };
   tester = derive2 { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
   testextra = derive2 { name="testextra"; version="0.1.0"; sha256="0n5d3a4fnqb9bc47sha5zyi18gd9k6hm1jkjlb7apk43zry6n0y8"; depends=[assertthat parsetools pkgcond postlogic purrr rlang stringi testthat]; };
   testforDEP = derive2 { name="testforDEP"; version="0.2.0"; sha256="1mgzhj8b35r5cm4bl0nnyxj0h7rwd28d17qvgvaky2kvm2r83cf9"; depends=[Hmisc minerva Rcpp]; };
-  testit = derive2 { name="testit"; version="0.10"; sha256="0jhlqv5qfms4mwhaaicn6c3rlijkyvb5akk0qazb37a0msjns0mh"; depends=[]; };
-  testthat = derive2 { name="testthat"; version="2.2.1"; sha256="0y0bvggm4pzkzp6xn7b8cf3ybqp9ijxkhhyp3z49a9iipc90bvk7"; depends=[cli crayon digest evaluate magrittr praise R6 rlang withr]; };
+  testit = derive2 { name="testit"; version="0.11"; sha256="13iq4p8xzng88miizf04yv6z8vk7zhg1c8kd2h6swcmhqzq29yqj"; depends=[]; };
+  testthat = derive2 { name="testthat"; version="2.3.1"; sha256="0m8xchdpgn9iwj6gb2qw46zr85v9zf1gkbr9nnahmy5sp1s9bbky"; depends=[cli crayon digest ellipsis evaluate magrittr pkgload praise R6 rlang withr]; };
   testthis = derive2 { name="testthis"; version="1.1.0"; sha256="1ci7q25f8lq7mvigdj48gvpi75j08s0kll72kwa88xyfx9q8m3yl"; depends=[assertthat devtools fs magrittr pkgload rprojroot stringi testthat usethis]; };
   tetraclasse = derive2 { name="tetraclasse"; version="0.1.21"; sha256="1cl2cah0xi6x3rvvdy56iszai6rkbxc1w3x13v0l1z1nryff7c6a"; depends=[dplyr FactoMineR ggplot2 ggrepel magrittr reshape2 tibble tidyr]; };
-  texPreview = derive2 { name="texPreview"; version="1.3.2"; sha256="0gg46iy4s17gri28g0nvqibm8wy4c6mj1hc5iyj6dsn4jskvpfmy"; depends=[base64enc htmltools magick rematch2 rstudioapi svgPanZoom whisker xml2]; };
+  texPreview = derive2 { name="texPreview"; version="1.4.1"; sha256="0vjplajgrzz97a9lrrx43vx05djyi5dq22l6smjywn7m1ij6c9gv"; depends=[base64enc details fs htmltools knitr lifecycle magick magrittr rematch2 rstudioapi svgPanZoom whisker xml2]; };
   texmex = derive2 { name="texmex"; version="2.4.2"; sha256="01qx4f5f0gf0xz85lzxxv79fp7syd7x484iw711rbnv0nw3aqwa2"; depends=[ggplot2 mvtnorm Rcpp]; };
   texreg = derive2 { name="texreg"; version="1.36.23"; sha256="0yxaqimd7cyfrfpia6fnqm15lgs0bf5zyjzmnfm1v4qmf8kj8x6v"; depends=[]; };
   text2speech = derive2 { name="text2speech"; version="0.2.5"; sha256="0wc9c6sgv2p6qq8n9cmf143gn8ijps5ncwnkjq3q8m7558m6f24j"; depends=[aws_polly aws_signature dplyr googleAuthR googleLanguageR httr magrittr mscstts tuneR]; };
@@ -14118,21 +14389,23 @@ in with self; {
   textstem = derive2 { name="textstem"; version="0.1.4"; sha256="1pbhi5ia3w16vsix2x3if51zd2v9bcv0j4lj9hfikgq1yz9zxmw2"; depends=[dplyr hunspell koRpus koRpus_lang_en lexicon quanteda SnowballC stringi textclean textshape]; };
   textutils = derive2 { name="textutils"; version="0.1-11"; sha256="12vx89k49js7k7h2ay1qx345infr5gns8bhvlm3jinrm9saj0f54"; depends=[]; };
   tfCox = derive2 { name="tfCox"; version="0.1.0"; sha256="06mbiz1jwp8mv5dbwyvdvy1wpp8s3xp9hhsm94vrbvjaxg680g28"; depends=[Rcpp survival]; };
+  tfautograph = derive2 { name="tfautograph"; version="0.1.0"; sha256="0bia0hqwwhf2iwbzy6wa9r72fl00k8pm5ll74bb9w372r129i5wh"; depends=[reticulate tensorflow]; };
   tfdatasets = derive2 { name="tfdatasets"; version="1.13.1"; sha256="19szgpb040v33hicrqdigjpg3z6jph0fxx6rh8ln16hk4sb2rd2d"; depends=[magrittr reticulate rlang tensorflow tidyselect]; };
   tfdeploy = derive2 { name="tfdeploy"; version="0.6.1"; sha256="1vbxyvmzaafbwp1pmvzn16zyl4nz85787m79gn7iazh9zw9f7j34"; depends=[httpuv httr jsonlite magrittr reticulate swagger tensorflow]; };
   tfer = derive2 { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
   tfestimators = derive2 { name="tfestimators"; version="1.9.1"; sha256="0da34iy7fyfzhbvaj8494sl6nrmhcfbqcr71l95ziaxgb8285ndm"; depends=[forge magrittr progress purrr reticulate rlang tensorflow tfruns tibble tidyr tidyselect]; };
   tfio = derive2 { name="tfio"; version="0.4.0"; sha256="1ah37sf3qf099bv50gsz1ny13vrp67ry0famabihc5kmqk9viyhg"; depends=[forge magrittr reticulate tensorflow tfdatasets]; };
   tfplot = derive2 { name="tfplot"; version="2015.12-1"; sha256="1x007j6ibbzfr0kncvsr4c7295jv3c4amg2dpyjvdir9h665nc23"; depends=[tframe]; };
+  tfprobability = derive2 { name="tfprobability"; version="0.8.0.0"; sha256="1h32r15yxxzmvqp0gs2k5m2c6z1jkgfwj757sl6pfhwpr7av9zqp"; depends=[keras magrittr reticulate tensorflow]; };
   tframe = derive2 { name="tframe"; version="2015.12-1.1"; sha256="1yff22jzh1mp73zbz2mav6z8m42lylfjhb8dgxj4337fv3if3i13"; depends=[]; };
   tframePlus = derive2 { name="tframePlus"; version="2016.7-1"; sha256="12xi2xw4pr78n3cppfknpxmjp2263pb4kqj9v412yxwp82rgb6yk"; depends=[tframe timeSeries]; };
   tfruns = derive2 { name="tfruns"; version="1.4"; sha256="1mqv5m13qm1dqz0622jd5ayb3nk76lfa657y2hyqv261flxizhvg"; depends=[base64enc config jsonlite magrittr reticulate rlang rstudioapi tidyselect whisker yaml]; };
   tfse = derive2 { name="tfse"; version="0.5.0"; sha256="05q75xsiy955xwgchagk7l7725y6mylp5lj5284xm7y2xh197zp3"; depends=[dapr magrittr]; };
-  tgcd = derive2 { name="tgcd"; version="2.1"; sha256="0anaycfsjax62iasly9b0mmmhqfcl11a8ncavr1c1i7rikandj0i"; depends=[]; };
   tggd = derive2 { name="tggd"; version="0.1.1"; sha256="1izar1b3w148vp2r8gv3vpwfndib8ilxcjxgbfzbxn7q5mr73mwa"; depends=[gsl]; };
   tgp = derive2 { name="tgp"; version="2.4-14"; sha256="1l3kssjkh5sbrh75qdpmynjfnidgz8vmzq1jml1qm1yfwval8ak1"; depends=[maptree]; };
   tgram = derive2 { name="tgram"; version="0.2-3"; sha256="0vlnry8drq3fqfy8dk50pcwcx9dj657kx6s19fs2b6acigkr4g7w"; depends=[zoo]; };
   thankr = derive2 { name="thankr"; version="1.0.0"; sha256="089ikp85d5ia6a1qzmw8dkgcmz628cibmwfzcpk7m3ii8acxq91w"; depends=[]; };
+  thectar = derive2 { name="thectar"; version="1.0.0"; sha256="1qh0qzg0ybb38kzm56xxlvhm201pdjm16aky5f1fdflcsszgy8mx"; depends=[proxy smacof]; };
   theiaR = derive2 { name="theiaR"; version="0.2.0"; sha256="1zvgg3xs1xlmg7gkv7pax7w5xgarvya4nvv4d78iv7p02bzckbxv"; depends=[askpass httr R6 raster tiff XML]; };
   themetagenomics = derive2 { name="themetagenomics"; version="0.1.0"; sha256="1p8qyvll6a9yx2akny1087f73r6p5zi6cf1si7b8i786bcs9khwj"; depends=[ggplot2 lda lme4 Matrix plotly Rcpp rstan scales shiny stm]; };
   thermocouple = derive2 { name="thermocouple"; version="1.0.2"; sha256="1rlvhw3i83iq1vibli84gj67d98whvgkxafwpmisva1m4s1bmij4"; depends=[]; };
@@ -14142,7 +14415,7 @@ in with self; {
   thief = derive2 { name="thief"; version="0.3"; sha256="12ymkkisg5p0g1gmvlczhp4dc7mirjg55fqqmz2d90673vlg6rfq"; depends=[forecast ggplot2 hts]; };
   thinkr = derive2 { name="thinkr"; version="0.13"; sha256="1j43mjznriq8d5ki50rb41vgmzj2gq8sahvhj11742ggxd0bzvdb"; depends=[assertthat devtools dplyr ggplot2 lazyeval lubridate magrittr officer rvg stringi stringr tidyr]; };
   thor = derive2 { name="thor"; version="1.1.0"; sha256="0ard98z5kb9r6k4qvnbqq4mx4x6ydhd4b6ppzrp19yilvdb8wgjp"; depends=[R6 storr]; };
-  threeBrain = derive2 { name="threeBrain"; version="0.1.3"; sha256="02jmr2wgmw0qqczpmnlivwrh5s9x36a8rbz6j8dnj30j6hrk1jqi"; depends=[base64enc crayon gifti htmltools htmlwidgets jsonlite R6 reticulate shiny startup stringr]; };
+  threeBrain = derive2 { name="threeBrain"; version="0.1.4"; sha256="1lp1wy7c9927156nvchah7rhdgblfg8vx178k106nhaa1a56in04"; depends=[base64enc crayon gifti htmltools htmlwidgets jsonlite oro_nifti R6 reticulate shiny startup stringr]; };
   threeboost = derive2 { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
   threejs = derive2 { name="threejs"; version="0.3.1"; sha256="1s3rdlzy7man6177ycayg6xsh6k8y1r9rdj9yzn3b93j2rs0nxbi"; depends=[base64enc crosstalk htmlwidgets igraph]; };
   threewords = derive2 { name="threewords"; version="0.1.0"; sha256="083y5i4qyl1wj017wy5ywl2yx9wvrpjl9g9k9clvnrbwzbycx2cg"; depends=[httr]; };
@@ -14153,32 +14426,37 @@ in with self; {
   thsls = derive2 { name="thsls"; version="0.1"; sha256="18z7apskydkg7iqrs2hgnzby578qsvyd73wx8v4z3aa338lssdi7"; depends=[Formula]; };
   thurstonianIRT = derive2 { name="thurstonianIRT"; version="0.9.0"; sha256="0jjrdx5f581h8vh0fw4p85mlqfym467azp7cln48wzi1s28m9mn2"; depends=[BH dplyr lavaan magrittr MplusAutomation mvtnorm Rcpp RcppEigen rlang rstan rstantools StanHeaders tibble tidyr]; };
   tibble = derive2 { name="tibble"; version="2.1.3"; sha256="06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s"; depends=[cli crayon fansi pillar pkgconfig rlang]; };
+  tibbleOne = derive2 { name="tibbleOne"; version="0.1.0"; sha256="01v3jqxps0d27hg50d38zzh8lypr5735xsdggpc6zmqd39cbnjsp"; depends=[dplyr flextable forcats glue kableExtra knitr labelled lifecycle magrittr officer purrr rlang stringr tibble tidyr tidyselect vctrs]; };
   tibbletime = derive2 { name="tibbletime"; version="0.1.3"; sha256="0p42g73cmw460v372317as50ijvsg49avg9cf222ypf1v0ls3ig1"; depends=[assertthat dplyr glue hms lifecycle lubridate purrr Rcpp rlang tibble tidyselect vctrs zoo]; };
   tibbrConnector = derive2 { name="tibbrConnector"; version="1.5.1"; sha256="1r58myi7x4hqqvyrphxy4ppa1lnad6x2ginfq2j52ax53zr07ajp"; depends=[RCurl rjson]; };
   tictactoe = derive2 { name="tictactoe"; version="0.2.2"; sha256="1fx8plj5zr04xwk5hfj3zqhcknidxlzya2q14cf0m3y33a86lx42"; depends=[hash]; };
   tictoc = derive2 { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
   tidyLPA = derive2 { name="tidyLPA"; version="1.0.4"; sha256="154jikhm1dnriwdib5ncmkjixlihs3b74ilpi225h8ijq84n31ai"; depends=[dplyr ggplot2 mclust mix MplusAutomation tibble]; };
   tidyRSS = derive2 { name="tidyRSS"; version="1.2.11"; sha256="0ikizs24frvv888zxris6j41lfcvy7hrp5z3h3mk5vxdlqi3rag7"; depends=[dplyr httr jsonlite lubridate magrittr purrr sf stringr testthat tibble xml2]; };
-  tidyUSDA = derive2 { name="tidyUSDA"; version="0.2.0"; sha256="1jxg6q7h90zllm35h2vx5r0y6zihxzvn29pa9c8plfgi4b5pskky"; depends=[dplyr fuzzyjoin ggplot2 jsonlite keyring magrittr nlme rgdal rgeos sf tigris]; };
+  tidyUSDA = derive2 { name="tidyUSDA"; version="0.2.4"; sha256="0mlvjrhrbnvck7d1ml48yzaq4gks5m5r9cdnz8kqvaffwjwbyr2q"; depends=[crayon curl dplyr fuzzyjoin ggplot2 jsonlite keyring magrittr nlme rgdal sf stringi tigris usethis]; };
   tidybayes = derive2 { name="tidybayes"; version="1.1.0"; sha256="1mq6gqr66pqrwdmnk3fmfi508ds086k7jnlazi5mczn4r6pdyzd7"; depends=[arrayhelpers coda dplyr forcats ggplot2 ggstance HDInterval magrittr plyr purrr rlang tibble tidyr tidyselect]; };
   tidyboot = derive2 { name="tidyboot"; version="0.1.1"; sha256="0nss1ci763g9p5f33g163ppamx72axc8xhrils0cql3ka8439pmn"; depends=[dplyr modelr purrr rlang tidyr]; };
   tidycells = derive2 { name="tidycells"; version="0.2.1"; sha256="161g06ga4wk1sn2qp9ljjq9mrjmvwl2dcs1nc352alk6p7bjbj8p"; depends=[dplyr ggplot2 magrittr purrr rlang stringr tibble tidyr unpivotr]; };
   tidycensus = derive2 { name="tidycensus"; version="0.9.2"; sha256="0dlm5f24rw7zyf5wx1v1rsx1zkkff1c4zqgbysm9xzya059m4m14"; depends=[dplyr httr jsonlite purrr rappdirs readr rvest sf stringr tidyr tigris units xml2]; };
   tidycode = derive2 { name="tidycode"; version="0.1.0"; sha256="16chz6bbj28aa039s57j48qa5fhj9hlj8ijsqmbfp5ib8bnijgc4"; depends=[glue matahari pryr purrr rlang tibble]; };
   tidycomm = derive2 { name="tidycomm"; version="0.1.0"; sha256="0xas6nr7fy612r0b5h8ncvirxhzy099zvhdzxbnskm3sa21046ni"; depends=[broom dplyr forcats glue magrittr MBESS purrr rlang stringr tibble tidyr]; };
+  tidycwl = derive2 { name="tidycwl"; version="1.0.3"; sha256="0m92g6ykglpdygb41jacixanzwrn60lk8az0ygs6diffikyv8sk3"; depends=[dplyr htmlwidgets jsonlite magrittr visNetwork webshot yaml]; };
+  tidydice = derive2 { name="tidydice"; version="0.0.4"; sha256="01ahmyk7jpsp03kffazy2b73i5z6466jh7y66flpqk5jyszghyr2"; depends=[assertthat dplyr ggplot2 magrittr purrr tibble]; };
   tidygenomics = derive2 { name="tidygenomics"; version="0.1.2"; sha256="1cnwmmmzp9kg4k7iy2kgb22bdllpnz257pv1ahy3l11zy6bl48fc"; depends=[dplyr fuzzyjoin IRanges purrr Rcpp rlang tidyr]; };
+  tidygeocoder = derive2 { name="tidygeocoder"; version="0.2.4"; sha256="0r37s3hfyqz4zqs7cwp72dhc6f1y7zfc22v9b0705bdbqnfllahn"; depends=[dplyr httr jsonlite purrr rlang stringr tibble tidyr tmaptools]; };
   tidygraph = derive2 { name="tidygraph"; version="1.1.2"; sha256="1zpsarm74afbc7p5dlyb0whc09670qdcddw1ckb25cfc9hfh0hjn"; depends=[dplyr igraph magrittr pillar R6 Rcpp rlang tibble tidyr]; };
-  tidyhydat = derive2 { name="tidyhydat"; version="0.4.0"; sha256="0k239xixq6x9xb51ipmxn7ph72ibqa9s9sp79gkabgawc0lij6q0"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr rlang RSQLite tidyr]; };
+  tidyhydat = derive2 { name="tidyhydat"; version="0.5.0"; sha256="0bf8rnk0yhdjjs79d4s833z9j165cwvg3xdmqg3kc5yzc31m4hsg"; depends=[cli crayon DBI dbplyr dplyr httr lubridate rappdirs readr rlang RSQLite tidyr]; };
   tidyimpute = derive2 { name="tidyimpute"; version="0.1.0"; sha256="03b475nn206hxq3i0n7j1qws82rwwk5vqivmdg5mff44dvz4gl5s"; depends=[dplyr na_tools rlang]; };
+  tidyjson = derive2 { name="tidyjson"; version="0.2.4"; sha256="1nbg7wg8r38ydvcp3kbxmmnayxrdkl3p7x0fjxny3bj9a0fp99y7"; depends=[assertthat dplyr jsonlite magrittr purrr tibble tidyr]; };
   tidylog = derive2 { name="tidylog"; version="0.2.0"; sha256="04l9bjfjnc706ya19swywr489wldkr7n9cm6kkyws56kqb571zxv"; depends=[clisymbols dplyr glue tidyr]; };
   tidymargins = derive2 { name="tidymargins"; version="0.1.0"; sha256="1r782h6a5fhk9yb9ixjbpq3a9g56j3xz1871fsndkfigbzz39w51"; depends=[assertthat dplyr forcats magrittr pkgcond purrr rlang tidyr tidyselect]; };
-  tidymodels = derive2 { name="tidymodels"; version="0.0.2"; sha256="1hidjrayqxz1g7bn20pqs1bwyx4cxxqx9dq5lwqyfsij0ir0lia9"; depends=[broom cli crayon dials dplyr ggplot2 infer magrittr parsnip pillar purrr recipes rlang rsample rstudioapi tibble tidyposterior tidypredict tidytext yardstick]; };
+  tidymodels = derive2 { name="tidymodels"; version="0.0.3"; sha256="07l33slvh38lpycz2v4slwz06v33ni9jqr5wv672gzcgirw5xy7p"; depends=[broom cli crayon dials dplyr ggplot2 infer magrittr parsnip pillar purrr recipes rlang rsample rstudioapi tibble tidyposterior tidypredict tidytext yardstick]; };
   tidymv = derive2 { name="tidymv"; version="2.2.0"; sha256="0g550b0frgk4wy3sicsqqinffrlbqzghhcnvh3snci6xd7j37hmm"; depends=[dplyr ggplot2 itsadug magrittr mgcv rlang tibble tidyr]; };
-  tidync = derive2 { name="tidync"; version="0.2.1"; sha256="1w6ciyk4024aad6japfar1pq4q9bygcgl5avzg2l8c7mcqd58rvl"; depends=[dplyr forcats magrittr ncdf4 ncmeta purrr rlang RNetCDF tibble tidyr]; };
+  tidync = derive2 { name="tidync"; version="0.2.3"; sha256="1wjw3fmyj8f95f94zai58h8b6h0vqqlrw4c629jjgg8ayy7aay9p"; depends=[dplyr forcats magrittr ncdf4 ncmeta purrr rlang RNetCDF tibble tidyr]; };
   tidypmc = derive2 { name="tidypmc"; version="1.7"; sha256="1fijlvdiw4vwm34wizm4xlm0x10vvpkldzk7rrla44apq7y2w3yq"; depends=[dplyr readr stringr tibble tokenizers xml2]; };
   tidyposterior = derive2 { name="tidyposterior"; version="0.0.2"; sha256="1sdbar3ycnjqyjy664zyhr9xks48l6g6mw8p5scp31x3gdh352rs"; depends=[dplyr generics ggplot2 purrr rlang rsample rstanarm tibble tidyr]; };
   tidypredict = derive2 { name="tidypredict"; version="0.4.3"; sha256="1mn14rd33irgcfrhm9d3zd71jdwdjay5z5xsmas8d9zmf05g0bcr"; depends=[dplyr generics knitr purrr rlang tibble]; };
-  tidyquant = derive2 { name="tidyquant"; version="0.5.7"; sha256="1j987dmg74ah0vs8i46811phn84ccfyglwjmx2l2fg10naflcgzx"; depends=[cli crayon dplyr ggplot2 httr lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod rlang rstudioapi stringr tibble tidyr timetk TTR xml2 xts]; };
+  tidyquant = derive2 { name="tidyquant"; version="0.5.8"; sha256="1wg2r2197j846kapra58z51r6xgp38g0m6rb3dvmz5awlkb9mdz8"; depends=[cli crayon dplyr ggplot2 httr lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod rlang rstudioapi stringr tibble tidyr timetk TTR xml2 xts]; };
   tidyquery = derive2 { name="tidyquery"; version="0.1.0"; sha256="0jbkzm2vlzjfwn1849skkinywh7xa0n772qyrdhya7cg53xqp5vd"; depends=[dplyr lubridate queryparser stringr]; };
   tidyqwi = derive2 { name="tidyqwi"; version="0.1.1"; sha256="0qrwclaz6cf2wg3rkg2nqjygflj0a1mx4cfbv5lx4r194km2dmr9"; depends=[dplyr furrr future httr jsonlite labelled magrittr purrr stringr tidyr xml2]; };
   tidyr = derive2 { name="tidyr"; version="1.0.0"; sha256="1403j0xd93l0r7qj738ryd5zc79hbcghrzybib3c3hrnaq5s78cj"; depends=[dplyr ellipsis glue lifecycle magrittr purrr Rcpp rlang stringi tibble tidyselect vctrs]; };
@@ -14189,9 +14467,9 @@ in with self; {
   tidystringdist = derive2 { name="tidystringdist"; version="0.1.4"; sha256="1srxh5gyspcghzvnmpyq36ky608ipf71vv0s1jg01mgf2i5pdkf4"; depends=[attempt rlang stringdist tibble]; };
   tidytext = derive2 { name="tidytext"; version="0.2.2"; sha256="1h1fpy86fha3jidb1xz0n3mfn7110mmf3dz9hpyfczqpyd62k3qq"; depends=[dplyr generics hunspell janeaustenr Matrix purrr rlang stopwords stringr tokenizers]; };
   tidytidbits = derive2 { name="tidytidbits"; version="0.2.1"; sha256="1hyqk8p4w1mjk9f497f2lh8hlic6fs37jnawqpfmrl39ylx4z6r7"; depends=[dplyr extrafont forcats magrittr purrr rlang stringr tibble tidyr tidyselect]; };
-  tidytransit = derive2 { name="tidytransit"; version="0.5.2"; sha256="0j2gdljfq6jp833qr30v5nlrqh5vr0hl5hjh69ii8k4fdk0zj4v1"; depends=[assertthat data_table digest dplyr here hms htmltools httr lubridate magrittr readr rlang scales sf stringr tibble tidyr zip]; };
-  tidytree = derive2 { name="tidytree"; version="0.2.8"; sha256="1hkddl8kj1g01dy7xiracx81f6b405b3ga2qp4wlrl552b9xxpby"; depends=[ape dplyr lazyeval magrittr rlang tibble]; };
-  tidyverse = derive2 { name="tidyverse"; version="1.2.1"; sha256="0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd"; depends=[broom cli crayon dbplyr dplyr forcats ggplot2 haven hms httr jsonlite lubridate magrittr modelr purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
+  tidytransit = derive2 { name="tidytransit"; version="0.6.1"; sha256="0gm33d73k5rygdk6waaqlknkm65gg5xc6w85m3qhllch2akphh1j"; depends=[assertthat data_table digest dplyr hms httr lubridate magrittr readr rlang sf tibble tidyr zip]; };
+  tidytree = derive2 { name="tidytree"; version="0.3.0"; sha256="1sbfwcxf9v1lhpa0392b49b6qfjrq7nlqz2djqzk5aknj9j64zvy"; depends=[ape dplyr lazyeval magrittr rlang tibble]; };
+  tidyverse = derive2 { name="tidyverse"; version="1.3.0"; sha256="02gyys08qv2v4cl2d66gml4d31ipxay0iyfwwksvxyclx60wp2kd"; depends=[broom cli crayon dbplyr dplyr forcats ggplot2 haven hms httr jsonlite lubridate magrittr modelr pillar purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
   tidyxl = derive2 { name="tidyxl"; version="1.0.4"; sha256="19kcm9lfbkf61z0whfkn69b8m36qd1rvyhyk5y0cqbzkxvq8f70i"; depends=[piton Rcpp]; };
   tiff = derive2 { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
   tiger = derive2 { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin klaR lattice qualV som]; };
@@ -14203,7 +14481,7 @@ in with self; {
   tigris = derive2 { name="tigris"; version="0.8.2"; sha256="03hlwykm14j8il53yslii8npfr42plj87maq120crhijafr6m3gd"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
   tikzDevice = derive2 { name="tikzDevice"; version="0.12.3"; sha256="1d8cxb3srmfv54c61c25myiknkm43ysl69lqjknhaj682x0nyz2r"; depends=[filehash png]; };
   tilegramsR = derive2 { name="tilegramsR"; version="0.2.0"; sha256="11cnyvlghg8z7lr9ahzsjpyjrqnxqs77wdcydqvavrsqj745xvi2"; depends=[sf sp]; };
-  tiler = derive2 { name="tiler"; version="0.2.1"; sha256="19w772wwv764i2b8i9ym6scf18kyci3albz27hw3mdhjy7i0acm3"; depends=[png raster rgdal sp]; };
+  tiler = derive2 { name="tiler"; version="0.2.4"; sha256="1j1952vp0gnx0pnhqydipj4qw3cm05im502jc77wb2r1vklwimgb"; depends=[png raster rgdal sp]; };
   tilting = derive2 { name="tilting"; version="1.1.1"; sha256="0srvxjv3sg35n7f8pam45ny1z1dxwqjkrz9d91hf67a3fi34f5gk"; depends=[mvtnorm]; };
   time2event = derive2 { name="time2event"; version="0.1.0"; sha256="1xkvarw53lcn07wqq7ly5znr6vjq7x72xb0piq5igdmwqmg2y26g"; depends=[survival timereg]; };
   timeDate = derive2 { name="timeDate"; version="3043.102"; sha256="0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p"; depends=[]; };
@@ -14217,7 +14495,7 @@ in with self; {
   timelineR = derive2 { name="timelineR"; version="0.1.0"; sha256="1a2pdy5b9nca66khydrb50yzjglr78lxrgzisw6bp2simk5cix51"; depends=[dplyr futile_logger ggplot2 gtable lubridate mtconnectR stringr]; };
   timelineS = derive2 { name="timelineS"; version="0.1.1"; sha256="076w8ckzzl59bc1gnwjgdwynnz86320hyfmzb0k26hl3k13jlmxs"; depends=[dplyr ggplot2 lubridate magrittr]; };
   timeordered = derive2 { name="timeordered"; version="0.9.9"; sha256="0rfga5i6kckmlz2dzqb1pp634dl93wxp7v3kisxlbjl7mgnbck3k"; depends=[igraph plyr]; };
-  timeperiodsR = derive2 { name="timeperiodsR"; version="0.1.0"; sha256="1pb27389ab8s2xz5zx4xi742hwbdf4bny311g7s7m2gvypc38cxi"; depends=[lubridate]; };
+  timeperiodsR = derive2 { name="timeperiodsR"; version="0.2.0"; sha256="04m4dgz8xxvrpqhiz7rnf8in2cdbms9xj740p969zgybp1vlww7x"; depends=[lubridate]; };
   timereg = derive2 { name="timereg"; version="1.9.4"; sha256="0jxm3h2sjc83klxdry5r1wgliadk6967cmiifycfpz282vpfxx7v"; depends=[lava numDeriv survival]; };
   timesboot = derive2 { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
   timeseriesdb = derive2 { name="timeseriesdb"; version="0.4.1"; sha256="1ghb3lg63fs9zx34l5qczv39mdccnmqzlc74l1zhb8qmsg8sm1g2"; depends=[data_table DBI jsonlite openxlsx RPostgreSQL shiny xtable xts zoo]; };
@@ -14232,7 +14510,7 @@ in with self; {
   tinter = derive2 { name="tinter"; version="0.0.1"; sha256="1zw5a79mryqighf8b6gidsi30001749sllpwqwbck26cyal6m8y6"; depends=[checkr]; };
   tinyProject = derive2 { name="tinyProject"; version="0.6.1"; sha256="0cflnfp5mib3j1y3n5yvi867h5a7z6xr6163gq9y9b6nrl2skxfk"; depends=[brew R_utils]; };
   tinytest = derive2 { name="tinytest"; version="1.1.0"; sha256="1y3f0x56xagf9m5wr2b26qahww13p8i2s66yr51xy9pqxdyjh2yl"; depends=[]; };
-  tinytex = derive2 { name="tinytex"; version="0.16"; sha256="1dadq9l0527v038b1k1dyfs0dklsgxnmplls3qhqprfgskif8mga"; depends=[xfun]; };
+  tinytex = derive2 { name="tinytex"; version="0.17"; sha256="0mgxrbj4gam2gvxfk26nq820vsfjggj81m2l7j9m8vp361k15r0w"; depends=[xfun]; };
   tiobeindexr = derive2 { name="tiobeindexr"; version="0.1.1"; sha256="09vw83hkf7lgd3xyhbmqkyv57g3dz856230xkf8630jiicfvcg3b"; depends=[rvest xml2]; };
   tipom = derive2 { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
   tippy = derive2 { name="tippy"; version="0.0.1"; sha256="0kkyi4s4ffpyjyfl89cd5y788ab1p253rx179k422y3y1z6w1md7"; depends=[htmltools htmlwidgets jsonlite shiny]; };
@@ -14242,19 +14520,20 @@ in with self; {
   titanic = derive2 { name="titanic"; version="0.1.0"; sha256="0mdmh0ciwfig00847bmvp50cyvj8pra6q4i4vdg7md19z5rjlx3j"; depends=[]; };
   titeIR = derive2 { name="titeIR"; version="0.1.0"; sha256="047vidn3zydbjijwgz6qm2d9j2ny8ng2sv5jzm8zb300y7k2426c"; depends=[Iso]; };
   titrationCurves = derive2 { name="titrationCurves"; version="0.1.0"; sha256="0z127sihd262mdik46sq9vcf05s7jsqmkpm3p4d779viw74bl768"; depends=[]; };
-  tkRplotR = derive2 { name="tkRplotR"; version="0.1.1"; sha256="0fr30c2xjgpjh0pkqv0m7g413wkzzffbak7ak26k7bsi2ls341qa"; depends=[]; };
+  tkRplotR = derive2 { name="tkRplotR"; version="0.1.2"; sha256="146jqjnbxqsph804ysd2jrcmm5qvqa7yi4f41sq0myjlkqvd6ndk"; depends=[]; };
   tkrgl = derive2 { name="tkrgl"; version="0.8"; sha256="1c5jiahqpf3nfybkzmks785dlkchjdisvknxkb0biv3xj9nzgz14"; depends=[rgl]; };
   tkrplot = derive2 { name="tkrplot"; version="0.0-24"; sha256="04gk48vm8ilj1n3b3ir66pcfv504ra4rlgc0ll4ixbnp6w566wr8"; depends=[]; };
   tlemix = derive2 { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
   tlm = derive2 { name="tlm"; version="0.1.5"; sha256="1iw08pa70nb25fnv64834s5c8vl456a2rcng7x6v9vs5q37610g6"; depends=[boot]; };
   tlmec = derive2 { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
+  tlrmvnmvt = derive2 { name="tlrmvnmvt"; version="1.0.0"; sha256="0qfpmh8kbakx7am64pvlcfw5w33p72c15gj53chmyc119l4vv1lg"; depends=[BH Rcpp RcppEigen]; };
   tls = derive2 { name="tls"; version="0.1.0"; sha256="183b5m70s2whlgp9s1gb4xnylhlp4hnh3lw6b8f2vx4kahaid763"; depends=[]; };
   tm = derive2 { name="tm"; version="0.7-6"; sha256="0spv43kjbpxq3rdxx8ysgrncjyc35ydiwk7gp8n4sig45iqyz59r"; depends=[BH NLP Rcpp slam xml2]; };
   tm_plugin_alceste = derive2 { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
   tm_plugin_dc = derive2 { name="tm.plugin.dc"; version="0.2-8"; sha256="0z843i2wlmx75748p95jz3j45d9bzmlmqa3awgya24k7bdhpd6kd"; depends=[DSL NLP slam tm]; };
   tm_plugin_europresse = derive2 { name="tm.plugin.europresse"; version="1.4"; sha256="03qi9rkfwgjvir4cjpi9imc8zaldvan42v9lqfr5d6zhr0ajy6wx"; depends=[NLP tm XML]; };
-  tm_plugin_factiva = derive2 { name="tm.plugin.factiva"; version="1.7"; sha256="1zcddarjd083p3sly49wvsnbn6bmpx5wd1bqm3acgydxk8y84nif"; depends=[NLP rvest tm xml2]; };
-  tm_plugin_lexisnexis = derive2 { name="tm.plugin.lexisnexis"; version="1.4.0"; sha256="0q4njhfpwqym9d8xfbb577vn6g9ks4nkpb4bh6j31nzg7yp96av7"; depends=[ISOcodes NLP tm xml2]; };
+  tm_plugin_factiva = derive2 { name="tm.plugin.factiva"; version="1.8"; sha256="1gdkflz2g1vmqzv4p65w6zfynnx0fls7xyvhzg4li4kjg2xf6l75"; depends=[NLP rvest tm xml2]; };
+  tm_plugin_lexisnexis = derive2 { name="tm.plugin.lexisnexis"; version="1.4.1"; sha256="0c094z83mcq8blc8w7kvy91d28qqcx6f6193p3frpviznlaq21xk"; depends=[ISOcodes NLP tm xml2]; };
   tm_plugin_mail = derive2 { name="tm.plugin.mail"; version="0.2-1"; sha256="0rn8jqv622qmc0zkz534ka5qnbca2rlabxm3vjbqplr6fh1ahwb1"; depends=[NLP tm]; };
   tm_plugin_webmining = derive2 { name="tm.plugin.webmining"; version="1.3"; sha256="1694jidf01ilyk286q43bjchh1gg2fk33a2cwsf5jxv7jky3gl7h"; depends=[boilerpipeR NLP RCurl RJSONIO tm XML]; };
   tm1r = derive2 { name="tm1r"; version="1.1.3"; sha256="1r1va052aaya70pvvn950833w0q0sbd67yyg3m2qdikgniq3dn6z"; depends=[httr jsonlite]; };
@@ -14263,7 +14542,7 @@ in with self; {
   tmbstan = derive2 { name="tmbstan"; version="1.0.2"; sha256="1g4b415k36wij028xz15kwpv8hmx92kznsp231bnrprzw2vrninr"; depends=[BH Rcpp RcppEigen rstan StanHeaders TMB]; };
   tmcn = derive2 { name="tmcn"; version="0.2-13"; sha256="0rf8mz6kdm83pm85kzfyzb8kd3iwaxv5bgphjpxlnq6z32m9yds7"; depends=[]; };
   tmg = derive2 { name="tmg"; version="0.3"; sha256="0yqavibinzsdh85izzsx8b3bb9l36vzkp5a3bdwdbh410s62j68a"; depends=[Rcpp RcppEigen]; };
-  tmle = derive2 { name="tmle"; version="1.3.0-2"; sha256="0krcyky19p60mkq29dvmcfc5jrv38wy0jv8xqqq5glh6yjyyslaj"; depends=[SuperLearner]; };
+  tmle = derive2 { name="tmle"; version="1.4.0.1"; sha256="009mndjjbbq8g02a053gdisxnxj4p06ysnmkbrw04vj9w1zpnph7"; depends=[glmnet SuperLearner]; };
   tmle_npvi = derive2 { name="tmle.npvi"; version="0.10.0"; sha256="00jav1ql3lv18wh9msxnjvz36z2ds44fdi6lrp1pfphh1in4vdcl"; depends=[geometry MASS Matrix R_methodsS3 R_oo R_utils]; };
   tmod = derive2 { name="tmod"; version="0.40"; sha256="157m5jjkfd7g9aih5zylxzwkkdryj9l6yapgwjqydvwj6ab6k67l"; depends=[beeswarm plotwidgets tagcloud XML]; };
   tmpm = derive2 { name="tmpm"; version="1.0.3"; sha256="1fqk39zyc07gh0ygi7pfljlnj6ih37jsb7bcxm05zcd4796wil8j"; depends=[reshape2]; };
@@ -14276,13 +14555,14 @@ in with self; {
   toOrdinal = derive2 { name="toOrdinal"; version="1.1-0.0"; sha256="0zg4zk7jx8s57g8nb0jw7r7gss00349jmkglf6sz26p7jldpgmff"; depends=[crayon testthat]; };
   todor = derive2 { name="todor"; version="0.0.5"; sha256="1zv6bky5v14csq3pmyy7qzmy680pg3qrj1zghqixsf54aqm7h96q"; depends=[rex rstudioapi stringr]; };
   togglr = derive2 { name="togglr"; version="0.1.33"; sha256="105c9vxa67bqccj31ksk5myfd0v7v0wbz6qqjhxqndlg7v6ggfzc"; depends=[assertthat dplyr getPass glue httr jsonlite keyring lubridate magrittr parsedate prettyunits purrr rstudioapi]; };
-  tokenbrowser = derive2 { name="tokenbrowser"; version="0.1.0"; sha256="1kbw5bsghhpxd1742wgq2pw2y52s2vhbk0w8qiw6qagvx2dq5z52"; depends=[Rcpp stringi]; };
+  tokenbrowser = derive2 { name="tokenbrowser"; version="0.1.1"; sha256="0sslli1m4lrg8bf5rzjndvf9hsw3c6mqwj8cp27mgn8ibxckrjd2"; depends=[Rcpp stringi]; };
   tokenizers = derive2 { name="tokenizers"; version="0.2.1"; sha256="006xf1vdrmp9skhpss9ldhmk4cwqk512cjp1pxm2gxfybpf7qq98"; depends=[Rcpp SnowballC stringi]; };
   tokenizers_bpe = derive2 { name="tokenizers.bpe"; version="0.1.0"; sha256="1pwgjrzdcsafpv9rlyly6fckcjiymz0xcjm9byavj069kc4c69mi"; depends=[Rcpp]; };
   tolBasis = derive2 { name="tolBasis"; version="1.0"; sha256="0g4jdwklx92dffrz38kpm1sjzmvhdqzv6mj6hslsjii6sawiyibh"; depends=[lubridate polynom]; };
   tolerance = derive2 { name="tolerance"; version="1.3.0"; sha256="17qh4ad1f3fbcpwlxxqh8qr9bnwjcl4yxk0l3fkbr6b2l4rc5p86"; depends=[rgl]; };
   toolmaRk = derive2 { name="toolmaRk"; version="0.0.1"; sha256="0pdr8lq4c11ia03v68lbfq38p3qp770mbj0nsbjsgbqi0pv9i1vx"; depends=[dplyr ggplot2 plyr reshape2]; };
   tools4uplift = derive2 { name="tools4uplift"; version="0.1-1"; sha256="0difrjqgj8amc49mwh059ca9mr0z1fzy0g43vk43alsyl8lvajc4"; depends=[dplyr glmnet]; };
+  topicdoc = derive2 { name="topicdoc"; version="0.1.0"; sha256="0qliy6y8l09nblch1swlywam2awzwjl5xx0w8c3kiz48jxfysw0j"; depends=[slam topicmodels]; };
   topicmodels = derive2 { name="topicmodels"; version="0.2-8"; sha256="19msp5cz67ff4v1gfd8vhjnnsmwfkxiv08ym4k506j2mhaklipci"; depends=[modeltools slam tm]; };
   topmodel = derive2 { name="topmodel"; version="0.7.3"; sha256="15w9id90d6l0i0ji3ln3sxnpispb6pgabk4waysqn0nh6y4lfdgb"; depends=[]; };
   topoDistance = derive2 { name="topoDistance"; version="1.0.1"; sha256="055z3gvqlb8nyy58ix89w7miav9gj3h43a4wcfc3kagd97xc3222"; depends=[gdistance igraph plotly raster RColorBrewer scales sp]; };
@@ -14292,19 +14572,19 @@ in with self; {
   tosca = derive2 { name="tosca"; version="0.1-4"; sha256="1c7x89b2vh2xl5bc1xgclmnk2gajqalxmz4ipqlwp9axz91w85gs"; depends=[data_table htmltools lda lubridate quanteda RColorBrewer stringr tm WikipediR]; };
   tosls = derive2 { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
   totalcensus = derive2 { name="totalcensus"; version="0.6.2"; sha256="1z0awdzi93r4mmaymdahansss7ccb0y3ym1sqja0jr3dx71zy4jn"; depends=[data_table magrittr purrr stringr]; };
-  touch = derive2 { name="touch"; version="0.1-4"; sha256="0xz3mvwhyn7wbqhbfp2klrnf89gvsncrv5y7fmk9ym3nkq7z26cg"; depends=[Rcpp]; };
+  touch = derive2 { name="touch"; version="0.1-5"; sha256="0dan4mlvc5lg9v4zj9w6gk3c4cy64kaa984y495xpc1bzmv5c6jd"; depends=[Rcpp]; };
   touchard = derive2 { name="touchard"; version="2.0.1"; sha256="06491r4x3ycmv3ddbqwig334wj9qvm395xlaifx4hjjyyi65xb3q"; depends=[MASS nleqslv numDeriv plotrix]; };
   tourr = derive2 { name="tourr"; version="0.5.6"; sha256="028pbprq1hjfbzvybpdkwi49arsg9r7ayjb52flw33szfqdpcimw"; depends=[MASS]; };
-  toxEval = derive2 { name="toxEval"; version="1.0.4"; sha256="1jz2d1wxw1jnyygsp34y3py8mwxjrnvj64smsifac32mvvi6ka5s"; depends=[dplyr DT ggplot2 leaflet magrittr RColorBrewer readxl shiny shinyAce shinycssloaders shinydashboard tidyr]; };
+  toxEval = derive2 { name="toxEval"; version="1.1.0"; sha256="1zdgk91girmlxqq6zz3vzhj9m9q4r5ckn073cd7dpfdxl87444hh"; depends=[dplyr DT ggplot2 leaflet magrittr RColorBrewer readxl shiny shinyAce shinycssloaders shinydashboard tidyr]; };
   toxtestD = derive2 { name="toxtestD"; version="2.0"; sha256="0b7hmpfhwg626r8il12shni0kw94cqnbj49y4vfh8gn98x1s6m48"; depends=[]; };
   tpAUC = derive2 { name="tpAUC"; version="2.1.1"; sha256="0wix9qwcidj7xfqhh7bmrpnadd9qlkvg3515gaamdxkjbz2kyydc"; depends=[pROC]; };
   tpe = derive2 { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
   tpr = derive2 { name="tpr"; version="0.3-1.2"; sha256="0fnvzvis75gfkmxhyx6h3g4ps4rs07abk36r03108qwsmhcfk3y7"; depends=[lgtdl]; };
   tracer = derive2 { name="tracer"; version="1.0.0"; sha256="1jdh4ljcz7d0w2y5miggqkvv397jdx7fn108hbjw93af2gnh698q"; depends=[clisymbols crayon prettycode]; };
-  tracerer = derive2 { name="tracerer"; version="2.0.1"; sha256="0w8si9fgdh28swqba5jvb0zqgpkb33nq9vyq9rga83sfzn2wkik8"; depends=[jsonlite Rcpp testit]; };
+  tracerer = derive2 { name="tracerer"; version="2.0.2"; sha256="0xh95qrd63s04zs69fcrmvwscn153qlpw2xlkzn8h6jwsd92amv9"; depends=[jsonlite Rcpp testit]; };
   tracheideR = derive2 { name="tracheideR"; version="0.1.1"; sha256="1x1jwzgs2aqb3k17mm9mhfhnbwcmilhkjaz9rl40rcg84xjqdrpl"; depends=[tgram]; };
   track = derive2 { name="track"; version="1.1.9"; sha256="1d0hab7xyayyhyyrbv8nvpka1kzry4yx10fg8aqwkca3nm7n2q3c"; depends=[]; };
-  trackdem = derive2 { name="trackdem"; version="0.4.3"; sha256="04gjvm4dxdy7nwaq6f0nbvqb2hbvmava5x6q5kvyy7snsr8mx25f"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo SDMTools shiny]; };
+  trackdem = derive2 { name="trackdem"; version="0.5"; sha256="12p6pg2gvqa55j9sxfvdjc3ah00w0av5cpmi400szkc2lr1gpb9s"; depends=[MASS neuralnet png raster Rcpp RcppArmadillo SDMTools shiny]; };
   trackdf = derive2 { name="trackdf"; version="0.2.1"; sha256="18kiwbrfalj19gjp2v3yhxlmc6liw5scfnwx2svq5f5h3h54a7iz"; depends=[data_table lubridate rgdal sp tibble]; };
   trackeR = derive2 { name="trackeR"; version="1.5.2"; sha256="1f3giz6naxxyicgy9v0391ang43srwhy9zbiv4zmlc8i9v05b57i"; depends=[fda foreach ggmap ggplot2 ggridges gridExtra gtable jsonlite leaflet raster RSQLite scam sp xml2 zoo]; };
   trackeRapp = derive2 { name="trackeRapp"; version="1.0"; sha256="05r012kcf86j45q00y6ynz9srd0by45w41bpx9mf7q4h8m5nm0jn"; depends=[changepoint colorspace DT foreach mapdeck mgcv plotly sf shiny shinydashboard shinyjs shinyWidgets trackeR V8 zoo]; };
@@ -14314,6 +14594,7 @@ in with self; {
   trade = derive2 { name="trade"; version="0.5.4"; sha256="05skmm2j826wjhmxdvkln50y0mjy74qcl2hay2l1322qqs7phin6"; depends=[antitrust]; };
   tradestatistics = derive2 { name="tradestatistics"; version="0.2.5"; sha256="0y6xyba3lr7mdd8q4ar8x7v8shkknbd0qhkvnz2ad9kfbwbxv7v1"; depends=[crul dplyr jsonlite magrittr purrr rlang stringr]; };
   trafo = derive2 { name="trafo"; version="1.0.1"; sha256="0gq3snjpkw0ncny7pkfi686qkgdhd8id73jxjk3chhqf5mzrrsbc"; depends=[FNN lmtest moments pryr]; };
+  traineR = derive2 { name="traineR"; version="1.0.0"; sha256="0m0k9hxdpx8dzxdy8i0k2rqmibm78fkw8fykkm5r56g7zjh3b7g0"; depends=[ada dplyr dummies e1071 kknn neuralnet nnet randomForest rpart stringr xgboost]; };
   traipse = derive2 { name="traipse"; version="0.1.0"; sha256="0174rxc3p3s848s9ynkkw32f33dq9gnq7zd14i3b9xnp8zr9jnph"; depends=[geodist geosphere magrittr]; };
   traitdataform = derive2 { name="traitdataform"; version="0.5.6"; sha256="0wp3z9l9vpniaa2b53qq6a77ya0my9cvkqd8i831zsxyj63vaabl"; depends=[data_table getPass plyr RCurl reshape2 taxize units XML]; };
   traitr = derive2 { name="traitr"; version="0.14"; sha256="1pkc8wcq55229wkwb54hg9ndbhlxziv51n8880z6yq73zac1hbmf"; depends=[digest gWidgets proto]; };
@@ -14321,7 +14602,7 @@ in with self; {
   traj = derive2 { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster GPArotation NbClust pastecs psych]; };
   trajectories = derive2 { name="trajectories"; version="0.2-1"; sha256="0sw1gcwmz2d27ck8gm5xa9bmmpgpy483brdyi74wccchwb3nfw2m"; depends=[lattice sp spacetime zoo]; };
   trajr = derive2 { name="trajr"; version="1.3.0"; sha256="1p092kqvwg3ncbk9hh8dij2grl1hfs3j5j64cqn227nr5b3xn1rc"; depends=[plotrix signal]; };
-  tram = derive2 { name="tram"; version="0.2-6"; sha256="1vlqc41g22lbsl9wa0zlfsb940frf3ddzyh2b6s5257nkpf17f9d"; depends=[basefun Formula mlt multcomp sandwich survival variables]; };
+  tram = derive2 { name="tram"; version="0.3-1"; sha256="1qpnm498w5z9qhmhhh5dvm76hcdiv60s10njl8w9dhl0ljd21x68"; depends=[basefun Formula Matrix mlt multcomp sandwich survival variables]; };
   tranSurv = derive2 { name="tranSurv"; version="1.2.0"; sha256="0r698s2yg7ypyzid52a46p0bhl3xi4rh50bfnx0pacc65rigjr6f"; depends=[SQUAREM survival]; };
   transcribeR = derive2 { name="transcribeR"; version="0.0.0"; sha256="0y2kxg2da71i962fhsjxsr2ic3b31fmffhj3gg97b0nykfpcviib"; depends=[httr]; };
   transformr = derive2 { name="transformr"; version="0.1.1"; sha256="186n789zzf2p9ggw9j7gmd4knfq051jhl35x1585jgll2karyn2c"; depends=[lpSolve Rcpp rlang sf tweenr]; };
@@ -14333,8 +14614,10 @@ in with self; {
   trawl = derive2 { name="trawl"; version="0.2.1"; sha256="1ns4nk8zdnl2z9clc2q38sbb1ijkj86lcifxq7d111mcwsmpb6fi"; depends=[DEoptim MASS rootSolve Runuran squash TSA]; };
   tree = derive2 { name="tree"; version="1.0-40"; sha256="1rr6ws62j9h36f3nl713f8h3ndkh95mv46l055jvgmby5lw1dazz"; depends=[]; };
   tree_bins = derive2 { name="tree.bins"; version="0.1.1"; sha256="1flrkhdqimsn8dxn97xzl1fykx916i1dis1bfany44yk0cjmd85g"; depends=[data_table dplyr rpart rpart_utils]; };
+  tree_interpreter = derive2 { name="tree.interpreter"; version="0.1.0"; sha256="17yci49zsz05ydjzs0zbz8xg2vdjmh8xq6cfxchrq488kvjyjzsz"; depends=[Rcpp RcppArmadillo]; };
   treeClust = derive2 { name="treeClust"; version="1.1-7"; sha256="1s7kh6q0bkixsygrip95zf1bi10ihddsa5lq9dfxd68yh8rsby6z"; depends=[cluster rpart]; };
   treeDA = derive2 { name="treeDA"; version="0.0.4"; sha256="0zhzb21lvxk278ysl275g39y2r8dlgqdix5rfg2pwv3nzj2531rc"; depends=[ggplot2 gtable Matrix mvtnorm phyloseq reshape2 sparseLDA]; };
+  treeHMM = derive2 { name="treeHMM"; version="0.1.0"; sha256="1iasvqfy62psj7md9sv97hqm1lcvkiw1qapsfsjcc6bdx5zflnxq"; depends=[future gtools Matrix matrixStats PRROC]; };
   treebase = derive2 { name="treebase"; version="0.1.4"; sha256="1bx31jahb0wy2g8wl1z71vy659lfi8fq1sbbaxvyixzcwymix1wq"; depends=[ape httr RCurl XML]; };
   treeclim = derive2 { name="treeclim"; version="2.0.3"; sha256="03d734zxz4vjrx7xw9r8y8lcsacn0p92q09n05vqfx4p7wvpwp26"; depends=[abind boot ggplot2 lmodel2 lmtest np plyr Rcpp RcppArmadillo]; };
   treecm = derive2 { name="treecm"; version="1.2.2"; sha256="0vrawg4vvy270dn20gb2k99xi4q89l4mjz0mm7ikpz8wxqypzq2l"; depends=[plyr]; };
@@ -14343,22 +14626,24 @@ in with self; {
   treeman = derive2 { name="treeman"; version="1.1.3"; sha256="0xvazizpi3dbdgjd48ff4kg4dhsi2yzbnkk43pgyi21zii673yyn"; depends=[ape bigmemory plyr RJSONIO stringr]; };
   treemap = derive2 { name="treemap"; version="2.4-2"; sha256="15bdgkdwryb55v82b3hpcx4ykfg5z7zf10h0wwknf6kl1kn34v90"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
   treemapify = derive2 { name="treemapify"; version="2.5.3"; sha256="1y6fyzxk542fp4h975xfgajz7cjym3rjs6asal9arv94a9cqra33"; depends=[ggfittext ggplot2]; };
+  treenomial = derive2 { name="treenomial"; version="1.0.0"; sha256="1052f4k96p6849y9jsqjirqqbgg7kaabxh6f7fwflp7g8y6jkyd2"; depends=[ape Rcpp RcppArmadillo RcppThread]; };
   treeperm = derive2 { name="treeperm"; version="1.6"; sha256="0mz7p9khrsq4dbkijymfvlwr01y4fvs0x6si4x5xid16s2zsnmm4"; depends=[]; };
   treeplyr = derive2 { name="treeplyr"; version="0.1.7"; sha256="11y15dslalwifarz79zyc5vxszyajkjyzm98p0w1n8gfr6lrq9yy"; depends=[ape dplyr geiger lazyeval phytools Rcpp]; };
   treespace = derive2 { name="treespace"; version="1.1.3.1"; sha256="0wnzc4fw23yi28a5hdl381kbkqxsqwyq3b3ljw1hfy89rpyy2v8c"; depends=[ade4 adegenet adegraphics adephylo ape combinat distory fields htmlwidgets MASS phangorn phytools Rcpp rgl RLumShiny scatterD3 shiny shinyBS]; };
   treestartr = derive2 { name="treestartr"; version="0.1.0"; sha256="05rxy9lmb77ng4266871sd881mlp4rd5qalvsd7ps2x2j4plaqf4"; depends=[ape phytools]; };
   treethresh = derive2 { name="treethresh"; version="0.1-11"; sha256="1fksyn9mycr6dpw1yh5b3fa7fk7ndz7q39174daplm55jbrz1dr5"; depends=[EbayesThresh wavethresh]; };
+  trekcolors = derive2 { name="trekcolors"; version="0.1.1"; sha256="1fw2wgkkky79vy9sc3cn42vmfcdnsjsnhb81wvalwi6ww64fzrkh"; depends=[ggplot2]; };
   trekfont = derive2 { name="trekfont"; version="0.9.3"; sha256="15p1r5q36fbajhwidjhhvvldckvz5js08w4cnj47gqr4lpmmpbx7"; depends=[]; };
   trelliscopejs = derive2 { name="trelliscopejs"; version="0.1.18"; sha256="1i13l3a74cxppkffzbpnyh2faqdwj3gy55s4s0fck1fwpvlkn5zr"; depends=[autocogs base64enc digest DistributionUtils dplyr ggplot2 gtable htmltools htmlwidgets jsonlite knitr progress purrr rlang tidyr webshot]; };
   trelloR = derive2 { name="trelloR"; version="0.1.0"; sha256="0d549yw9pfxs8a3q716z08fzg68bkm5l09cv5iqqkm4gyasrxsf4"; depends=[dplyr httr jsonlite]; };
   trend = derive2 { name="trend"; version="1.1.1"; sha256="1bd567n15k2vpmgbx02584k5kglrc58mlb5kgd07wdss3knpa48q"; depends=[extraDistr]; };
-  trendchange = derive2 { name="trendchange"; version="0.1.0"; sha256="0j5rrahs0dsdnxs8g6qmkzvsahpfjhnf27a75k9kkxkhj0sj6xv4"; depends=[]; };
+  trendchange = derive2 { name="trendchange"; version="1.1"; sha256="19r0kmwsim78ynssyh6j0zd99cz96cacy3hmyrjabwwvz0f8sk3h"; depends=[]; };
   trendsegmentR = derive2 { name="trendsegmentR"; version="1.0.0"; sha256="0zgm5nbm5azmz6x0xg4aphc80q6x1cvijry9pznyi0mg14743g86"; depends=[]; };
   trendyy = derive2 { name="trendyy"; version="0.1.1"; sha256="03n7qdfc197hds8bdwl20b0nn62nqnz9r35v1q315nm3ccdifl1p"; depends=[crayon dplyr gtrendsR magrittr purrr stringr tibble]; };
   trialr = derive2 { name="trialr"; version="0.1.2"; sha256="1pwg6n11642a8zn7443a73w18yxrwqdniriaj7iq7ajnj31dbi70"; depends=[BH binom coda dplyr ggplot2 gtools magrittr MASS purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders stringr tibble tidybayes tidyr]; };
   triangle = derive2 { name="triangle"; version="0.12"; sha256="1cv3l97myhkyl0c4xjympqghlk0av8xfk00av8kj93ndgkv5bfj7"; depends=[]; };
   triangulation = derive2 { name="triangulation"; version="0.5.0"; sha256="1zp09g0s0qpqgz2k6jx32pswh2zqyyd0b62lf1dx1p46m28dafkn"; depends=[]; };
-  tribe = derive2 { name="tribe"; version="0.1.7"; sha256="1k12yzicf3p5wpgzpsv4kk5xzrdfx712z67kj9xmcr1mbs8l5skb"; depends=[bazar dplyr lazyeval magrittr rlist rstudioapi]; };
+  tribe = derive2 { name="tribe"; version="0.1.8"; sha256="01z1b9k3j4xi5fp9pkpr991yr7x8vk8vysipy7iwdmdr7xg4w4p0"; depends=[dplyr lazyeval magrittr rlang rstudioapi]; };
   tricolore = derive2 { name="tricolore"; version="1.2.1"; sha256="04ihsgy6l8nlfp1q8c14g56v2inpw48mlhni4xqfqb7mzvalvhf8"; depends=[assertthat ggplot2 ggtern shiny]; };
   triebeard = derive2 { name="triebeard"; version="0.3.0"; sha256="1hqyz57gph02c9fdc07lxz113bbklif3g18sw8jan6pakhhdc7dz"; depends=[Rcpp]; };
   trigpoints = derive2 { name="trigpoints"; version="1.0.0"; sha256="1hckjh2gb0fvd2c8x6mj0idpk3im7b831y7mbli1hqhry6qqdw15"; depends=[sf tibble]; };
@@ -14387,8 +14672,8 @@ in with self; {
   trust = derive2 { name="trust"; version="0.1-7"; sha256="013gmiqb6frzsl6fsb5pqfdapwdxas0llg954hlcvgki9al5mlg3"; depends=[]; };
   trustOptim = derive2 { name="trustOptim"; version="0.8.6.2"; sha256="1nsl8jd6cna52b5dd92jw3sh84jqpg7gazskn7166bcjbph19bf7"; depends=[Matrix Rcpp RcppEigen]; };
   trustedtimestamping = derive2 { name="trustedtimestamping"; version="0.2.6"; sha256="1rx7ypy331mq5ni5hxhqcfnicvwdgg9j2pm3aj097a5hhigibdrq"; depends=[digest httr jsonlite]; };
-  tryCatchLog = derive2 { name="tryCatchLog"; version="1.1.4"; sha256="0iahbm1zjgrb5x5awlvy1jgylw47p7qa1cxhrzg2mjknwpsd4vwm"; depends=[]; };
-  tsBSS = derive2 { name="tsBSS"; version="0.5.3"; sha256="1x56rm1nnkzfg482gahk4c7fvj5k1jhsqdfd7vcaac84h3a8xd9x"; depends=[boot forecast ICtest JADE Rcpp RcppArmadillo xts zoo]; };
+  tryCatchLog = derive2 { name="tryCatchLog"; version="1.1.6"; sha256="0ik2y2ac771z9r0wb4av2xhr3xv36n4wcv8cqx0vid3wcmbl6prc"; depends=[]; };
+  tsBSS = derive2 { name="tsBSS"; version="0.5.5"; sha256="19i9raw3wiig66a84msqqwwxd9br4ayk108v7d9j78d0ynm6ki84"; depends=[boot forecast ICtest JADE Rcpp RcppArmadillo xts zoo]; };
   tsDyn = derive2 { name="tsDyn"; version="0.9-48.1"; sha256="0r8xxzr2z7r7xzpvi3sani169j3irw866gdmml0798czbdarq1qd"; depends=[foreach forecast MASS Matrix mgcv mnormt nnet tseries tseriesChaos urca vars]; };
   tsModel = derive2 { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
   tsPI = derive2 { name="tsPI"; version="1.0.2"; sha256="0lw4s7gxn4xldsk5f3dz27bb9jywa14195703b5q1497h9j966gk"; depends=[KFAS]; };
@@ -14407,10 +14692,11 @@ in with self; {
   tseriesEntropy = derive2 { name="tseriesEntropy"; version="0.6-0"; sha256="04clfkpkiy5p5nxcq59c7f4v1llj1d95lvck23h1px50lvb993fv"; depends=[cubature ks]; };
   tsfa = derive2 { name="tsfa"; version="2014.10-1"; sha256="0gkgl55v08dr288nf8r769f96qri7qbi5src7y6azrykb37nz6iz"; depends=[dse EvalEst GPArotation setRNG tfplot tframe]; };
   tsfeatures = derive2 { name="tsfeatures"; version="1.0.1"; sha256="11ysmi9jd3x92fcylw6jbg62fdmdbi58nnasz0pm3ji46knwnd5n"; depends=[ForeCA forecast fracdiff furrr future purrr RcppRoll tibble tseries urca]; };
+  tsfgrnn = derive2 { name="tsfgrnn"; version="0.1.0"; sha256="1kx4q1a12yrngg1jps4jk2k5svnmsl1lhybb6ziypza20hmmzral"; depends=[ggplot2]; };
   tsfknn = derive2 { name="tsfknn"; version="0.3.0"; sha256="0h44s8bvnd68nhl0rbwvs0sycsjlmpnni0nr2169429a9y3f91f1"; depends=[ggplot2]; };
   tsgui = derive2 { name="tsgui"; version="0.0.3"; sha256="16cx68gq2f63wx7mhbv0aq6pr71wfbc035kjbjjsfrbagaq4ib13"; depends=[RandomFieldsUtils tcltk2 tkrplot]; };
   tsiR = derive2 { name="tsiR"; version="0.4.2"; sha256="1yc9kcyj8yg7zsdkqsxkr7czv3i5gf2146z5h89qfqifrrzmjifa"; depends=[ggplot2 kernlab reshape2]; };
-  tsibble = derive2 { name="tsibble"; version="0.8.4"; sha256="1qvjhnm7czg5fzpb360xq361sy372f7cnd6r7kqxs9a0dar19vhn"; depends=[anytime dplyr lifecycle lubridate purrr rlang tibble tidyselect vctrs]; };
+  tsibble = derive2 { name="tsibble"; version="0.8.5"; sha256="1xm5zwx0p101gr4qf4yc1p33fhck44ppdk104pcwbhxwbza6mh3y"; depends=[anytime dplyr lifecycle lubridate purrr rlang tibble tidyselect vctrs]; };
   tsibbledata = derive2 { name="tsibbledata"; version="0.1.0"; sha256="17qvjfkppg1z4pxgax37ikx2x28ib39syps5vhppc1y3yn8441vq"; depends=[tsibble]; };
   tsintermittent = derive2 { name="tsintermittent"; version="1.9"; sha256="1mrb6yrsjwj6j40n97sgg42ddvwhjnaiq9k7ka249bbq01gf2975"; depends=[MAPA]; };
   tsmp = derive2 { name="tsmp"; version="0.3.5"; sha256="1gilzxxgaa1qqsk56s7ynlqhz6bssxrpc1h7fxkjp0z9amajvb5h"; depends=[audio doSNOW foreach magrittr progress]; };
@@ -14428,7 +14714,7 @@ in with self; {
   ttScreening = derive2 { name="ttScreening"; version="1.6"; sha256="1i8c9l3sdkzl99zxxyfqm84vkh6wjdh3a32l5q8ikf74g9dhxkf4"; depends=[corpcor limma MASS matrixStats simsalapar sva]; };
   ttTensor = derive2 { name="ttTensor"; version="0.99.2"; sha256="1qhpsaa0m8g61mhdffnrpfsc66iwm240na2wsa3cnmydk1mqjlxd"; depends=[Matrix PTAk rTensor tensorr]; };
   ttbbeer = derive2 { name="ttbbeer"; version="1.1.0"; sha256="1azffcizm3460kxvrxxkilc6qxspyi247x8drrw5ywfichwhmdhc"; depends=[]; };
-  ttdo = derive2 { name="ttdo"; version="0.0.3"; sha256="1zb09llgfwf039lzs27f3habzz0c8v3af5b8bxklvkp24mly0arg"; depends=[diffobj tinytest]; };
+  ttdo = derive2 { name="ttdo"; version="0.0.4"; sha256="1hq1s2rsngx496mhrf9pnpvp25805f17pfj7l0dm5g7lmiq24rr8"; depends=[diffobj tinytest]; };
   ttestshiny = derive2 { name="ttestshiny"; version="0.1.0"; sha256="186569p9h3597z9lxyzm7fj8k6bzgm2kw757dcv2qhhf2k7nfch9"; depends=[dplyr shiny shinyAce shinyjs]; };
   tth = derive2 { name="tth"; version="4.3-2-1"; sha256="19rvmyprl1nk9mmngk6dax8rnli10msfvm3vzp86pbdjxnsh3hjc"; depends=[]; };
   tttplot = derive2 { name="tttplot"; version="1.1.1"; sha256="0rmgp1888y07w0h8kwq1azpr6bysjq4pyjf6ygpra75jj4563wx9"; depends=[]; };
@@ -14450,11 +14736,12 @@ in with self; {
   turner = derive2 { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
   tutorial = derive2 { name="tutorial"; version="0.4.3"; sha256="0sxdlpw0w4azlaxdlk36ycrric6pbj2zi4nyv26pgsp0cr1hrx6r"; depends=[base64enc knitr markdown rjson]; };
   tuts = derive2 { name="tuts"; version="0.1.1"; sha256="0mwc6lsnhxww041wh3020wz7w812asp1d6djv4n9pl7jil0kvkry"; depends=[coda doParallel foreach lomb mcmcplots rjags truncnorm]; };
-  tvR = derive2 { name="tvR"; version="0.3.0"; sha256="1pg13bvndqyyi2yl1bg3bkdh2xq060ihl25j3a91nahwasy3225m"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
+  tvR = derive2 { name="tvR"; version="0.3.1"; sha256="056a241m3c1jhf8idly1bm4xja349cg5yzz19l45zyggml82snin"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
   tvReg = derive2 { name="tvReg"; version="0.4.2"; sha256="1ma6jiqlj5jlsyk37vcddyv427xi8980cbplb40ppync18f7psmp"; depends=[bvarsv MASS Matrix systemfit vars]; };
   tvd = derive2 { name="tvd"; version="0.1.0"; sha256="07al7gpm81a16q5nppsyc5rhv6zzkcvw72isx955b1q189v073aw"; depends=[Rcpp]; };
+  tvgeom = derive2 { name="tvgeom"; version="1.0.0"; sha256="18vqkxqikj87nhcayp7f5amh1mzfpnv2lfb9wg900wi5xpzg4n1q"; depends=[knitr testthat]; };
   tvm = derive2 { name="tvm"; version="0.4.0"; sha256="0v5b9s35q08a4z2ccph7g9q211w04x99sh72lrfby43fgl2jwyd1"; depends=[ggplot2 reshape2]; };
-  tvthemes = derive2 { name="tvthemes"; version="1.0.0"; sha256="1817m5w6qcvsc0ci7nqfwcnn4xv36mlz8cx6f3mzh2ad9dkrc9y6"; depends=[extrafont ggplot2 glue magick scales]; };
+  tvthemes = derive2 { name="tvthemes"; version="1.1.0"; sha256="0bc9li8vgmm4r6dshm52ll2d69gcynv1xrv8n7jhbyn7xmx3q3kz"; depends=[extrafont ggplot2 glue magick scales]; };
   twang = derive2 { name="twang"; version="1.5"; sha256="1sp1vb6l0mwpy9b9my5d3spc0q0zs7xg4dkmi4cl7hy7m9xy1dbk"; depends=[gbm lattice latticeExtra survey xtable]; };
   tweedie = derive2 { name="tweedie"; version="2.3.2"; sha256="10fv998qjxsyx0h94fi0xbh6xbf24nwgh254n9zfnmix9vk2cqls"; depends=[]; };
   tweenr = derive2 { name="tweenr"; version="1.0.1"; sha256="0sq90pbln6lkc2q3zflhkxxwpqdw5dd7igrxhdnlynkdrmi83mpg"; depends=[farver magrittr Rcpp rlang]; };
@@ -14469,26 +14756,27 @@ in with self; {
   twostageTE = derive2 { name="twostageTE"; version="1.3"; sha256="0mkxs3lmzja51zdrf5himhwcdygpj6czhdd2bydakm26kvw7znwr"; depends=[isotone]; };
   twoway = derive2 { name="twoway"; version="0.6.2"; sha256="0q053jvb2sa762bjnpzkxzdcq1wk82ynp4rjl4j6qncqccvqq0c3"; depends=[]; };
   txtplot = derive2 { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
-  txtq = derive2 { name="txtq"; version="0.1.6"; sha256="062ljbfix54dsfj4kjc7nmmvdhff5jigds60r1z860hf3bxwvlqi"; depends=[base64url filelock R6]; };
+  txtq = derive2 { name="txtq"; version="0.2.0"; sha256="1w4dmws2l0r5bbx2n2g79dfrpa8dz4hlg8raphgh8mimf1skfb3h"; depends=[base64url filelock R6]; };
   types = derive2 { name="types"; version="1.0.0"; sha256="01shcin8wjbhbmzl979fj3008xqxssw90g3bjg42cnjxkmnaql59"; depends=[]; };
   uCAREChemSuiteCLI = derive2 { name="uCAREChemSuiteCLI"; version="0.2.0"; sha256="1nccgkxv57inhgvgmhwm4fr8cp28sj8n83za5gam9xx1f42mzsqk"; depends=[ChemmineR usethis]; };
   uGMAR = derive2 { name="uGMAR"; version="3.2.0"; sha256="09x7wf5lgqrz5vpgbsl13c4p57amf3wp6yaib10zh1xnmw3fa2i6"; depends=[Brobdingnag pbapply]; };
   uHMM = derive2 { name="uHMM"; version="1.0"; sha256="1516ipadxi7rc1dbinr5rva2fbcr5i2zg3rlli5wy7r6naf8fzzl"; depends=[chron class cluster clValid corrplot FactoMineR HMM tcltk2 tkrplot]; };
   uaparserjs = derive2 { name="uaparserjs"; version="0.1.0"; sha256="1zhz39jrvi64sj0wvwkm4y8gakfp6kz1knw4wn08kk4fa9ymyjvq"; depends=[dplyr purrr V8]; };
   uavRmp = derive2 { name="uavRmp"; version="0.5.4"; sha256="0djx6z9489pr03bf01y2d79ar840q4ffj39j72c8phz27yz40y04"; depends=[brew data_table devtools gdalUtils geosphere htmltools htmlwidgets log4r maptools raster rgdal rgeos roxygen2 sf sp spatial_tools stringr zoo]; };
-  ubci = derive2 { name="ubci"; version="0.0.5"; sha256="1470cvnniwa8pn4yvqg82d5b2zg8n1l4yjdbg0jmqyiw7bf41m0b"; depends=[dplyr httr lubridate magrittr tibble tidyr]; };
+  ubiquity = derive2 { name="ubiquity"; version="1.0.0"; sha256="065jygsqsz2sczpri4xdw7gjjk1pp6z87nl3v5a6a6lsmkzkwlhz"; depends=[deSolve digest doParallel doRNG flextable foreach gdata ggplot2 gridExtra knitr MASS officer optimx PKNCA pso rhandsontable rmarkdown rstudioapi shiny]; };
   ucbthesis = derive2 { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
+  uchardet = derive2 { name="uchardet"; version="1.0.1"; sha256="1h6vkf3kbh7bzb1vp5rdss1r52lgvd4m3c73r89ba3kpsnwyzcvq"; depends=[Rcpp]; };
   uclust = derive2 { name="uclust"; version="0.1.0"; sha256="0b4cj1np4b7m3nfk3crisw9qznk86lbh7x9xb70lwjmcjjgxkw8q"; depends=[dendextend robcor]; };
   ucminf = derive2 { name="ucminf"; version="1.1-4"; sha256="01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2"; depends=[]; };
   udapi = derive2 { name="udapi"; version="0.1.3"; sha256="0qyn6fdh8ia913hn2dl0x99xsm20ps8zm52snswlyb00prinm668"; depends=[curl httr]; };
   udpipe = derive2 { name="udpipe"; version="0.8.3"; sha256="1ys4ss700h3xk4z72lsjavd6vic4ihm00b1mzidq41klrgpwzcb0"; depends=[data_table Matrix Rcpp]; };
   udunits2 = derive2 { name="udunits2"; version="0.13"; sha256="0yav7rm2afcx67xqrknybxgz7x63w78zyxa0xifvc0k2gz0d6mfi"; depends=[]; };
   ufs = derive2 { name="ufs"; version="0.3.1"; sha256="079azpicvimjq7qw1790j5f0vq5jis67lv4r28x3390r9fh04m6l"; depends=[digest diptest dplyr GGally ggplot2 ggrepel ggridges gridExtra gtable knitr pander plyr scales SuppDists viridis]; };
-  ui = derive2 { name="ui"; version="0.1.0"; sha256="1pc18v99n1psiiv7jxy3as1qwg2y41i1syrpvkbk05yii1qzsw2b"; depends=[Matrix maxLik mvtnorm numDeriv]; };
+  ui = derive2 { name="ui"; version="0.1.1"; sha256="15hcdzaj75ip6j7yglx8rqhp4y3yf3aw5cpbjgk1mjr4cya7lvzi"; depends=[Matrix maxLik mvtnorm numDeriv]; };
   uiucthemes = derive2 { name="uiucthemes"; version="0.3.0"; sha256="0bby3a1fdh3y7yia38qy2gjgcqxkkvp4k13b6iabj219yck9a4lq"; depends=[rmarkdown xaringan]; };
   ukbabynames = derive2 { name="ukbabynames"; version="0.1.1"; sha256="0vrwcf3hixd40ag6kb289anq2ys2k6vdhhsrjbizvndkyn8sr0r0"; depends=[]; };
   ukbtools = derive2 { name="ukbtools"; version="0.11.3"; sha256="1j5p9ypn3s781582all64kvywih1ry0lqsh1zirr35g7r46fy783"; depends=[data_table doParallel dplyr foreach ggplot2 magrittr purrr readr scales stringr tibble tidyr XML]; };
-  ukgasapi = derive2 { name="ukgasapi"; version="0.16"; sha256="0bj1dpsz4709dcb297b9rcb4nbzvxxhrqh5sv2qbrcypdh0x2m3b"; depends=[RCurl XML]; };
+  ukgasapi = derive2 { name="ukgasapi"; version="0.17"; sha256="1jly1bzisvvx8pcsw0fb35xxvjgq7ydpxianf3dbxa88msdjr02d"; depends=[RCurl XML]; };
   ukpolice = derive2 { name="ukpolice"; version="0.1.2"; sha256="0jwc57360cr9fkqzs5j2jmnfagci86jzi6p5d5mpm35drsrzm1ca"; depends=[jsonlite purrr tibble]; };
   ulid = derive2 { name="ulid"; version="0.3.0"; sha256="0xxkqrnlz3pkb3s1gacfzqav54w97gc0w8rh0fn1qy5rkmg2bplv"; depends=[Rcpp]; };
   umap = derive2 { name="umap"; version="0.2.3.1"; sha256="0rzz1s029cn1w1bf5va2pav2lg9j1mq97ibwcln39drvm67kj76d"; depends=[openssl Rcpp reticulate RSpectra]; };
@@ -14497,14 +14785,15 @@ in with self; {
   unbalanced = derive2 { name="unbalanced"; version="2.0"; sha256="18hy9nnq42s1viij0a5i9wzrrfmmbf7y3yzjzymz2wnrx4f2pqwv"; depends=[doParallel FNN foreach mlr RANN]; };
   unbalhaar = derive2 { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
   uncertainty = derive2 { name="uncertainty"; version="0.2.0"; sha256="1mq14ny7l3gy3wjsqijnm37azavyapxszjnckd861h4hgcpdcdjz"; depends=[mvtnorm triangle]; };
-  uncmbb = derive2 { name="uncmbb"; version="0.2.0"; sha256="0cvbh7a81g52hd2qzp23jwwjd5406iszf4wilgrz8sjfrfgybgfm"; depends=[dplyr rlang]; };
+  uncmbb = derive2 { name="uncmbb"; version="0.2.1"; sha256="0ilbsl6hww613i6in9x4v8knx9vlv6hiycgl2879aiq456ghx91m"; depends=[dplyr rlang]; };
   understandBPMN = derive2 { name="understandBPMN"; version="1.1.1"; sha256="04wnyxplrn5c6jb76dw25pawwcvvn5xq80lqn5imsf31nbwybpm5"; depends=[devtools dplyr purrr R_utils Rcpp tibble tidyr usethis XML]; };
   unfoldr = derive2 { name="unfoldr"; version="0.7"; sha256="18qjsmlbqy9nhwyv288r9n3plv22fgb4g73jpyjyzy3hzfamcb17"; depends=[]; };
+  unglue = derive2 { name="unglue"; version="0.0.1"; sha256="0avk5d4dgbmqvmqlr5kbhg3qsyg5rxmw9icadivaahzf4znav5x4"; depends=[]; };
   ungroup = derive2 { name="ungroup"; version="1.1.1"; sha256="0jrxxp93ak9bva98j3nmkhrb7znz7lpywk56415k4b2rzpy3j7fs"; depends=[MortalitySmooth pbapply Rcpp RcppEigen Rdpack rgl]; };
   uniReg = derive2 { name="uniReg"; version="1.1"; sha256="0wjc7pgaisvk26j7grxp2ypsabb5my9wg6c9i5w9zhh5jdx1fdab"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
   uniah = derive2 { name="uniah"; version="1.0"; sha256="19zwy33gwa749i81mi9h05k8k3l4xbbln3k6q70fa7ic5lqbbdzj"; depends=[ahaz Iso survival]; };
-  unifDAG = derive2 { name="unifDAG"; version="1.0.2"; sha256="0az9knspvf49mvp41m64lpm1a0nzvkygg957pb81mm9kh6cjbhfs"; depends=[gmp graph]; };
-  unifed = derive2 { name="unifed"; version="1.1.1"; sha256="0bh15cvpasgd0ypcmybbss5s9hsilfxgqj4b0mppj44vxm15bzk6"; depends=[]; };
+  unifDAG = derive2 { name="unifDAG"; version="1.0.3"; sha256="052qjrnj04imhj6i62k8jdx9rs8r70n0qrmd2z45x4fimn5py6j5"; depends=[gmp graph]; };
+  unifed = derive2 { name="unifed"; version="1.1.2"; sha256="04598l4ngf0v9j49m9gzxls7z2aal76pddprliqh1qbb694yq44r"; depends=[]; };
   uniformly = derive2 { name="uniformly"; version="0.1.0"; sha256="0n3s0x05v4d79jn51nwj06gm074rgy269f57y2q5z0bkwyp6yc7n"; depends=[pgnorm]; };
   uniftest = derive2 { name="uniftest"; version="1.1"; sha256="0a37m7l3lc6rznx10w9h9krnn5paim2i2wvw47ckwag7bv0d4pm4"; depends=[orthopolynom]; };
   unikn = derive2 { name="unikn"; version="0.2.0"; sha256="1lw3wn93bb8y76phnqwhvgn14zrs68rq8xx9hl2wbngispvwpwn1"; depends=[ggplot2]; };
@@ -14512,20 +14801,20 @@ in with self; {
   uniqtag = derive2 { name="uniqtag"; version="1.0"; sha256="025q71mzdv3n1jw1fa37bbw8116msnfzcia01p1864si04ch5358"; depends=[]; };
   unitedR = derive2 { name="unitedR"; version="0.3.1"; sha256="06plbhjbn1gflpxarn21knhiwfr02vxprak9qcghl30fkkymd02r"; depends=[plyr]; };
   unitizer = derive2 { name="unitizer"; version="1.4.8"; sha256="1q2l32lkxv87vaih5wqfn6n2a2q6mlaw83mgrn4g5ircp5z3r98j"; depends=[crayon diffobj]; };
-  units = derive2 { name="units"; version="0.6-4"; sha256="1jz0mzd78sdfxkhqw041ji50hmhjk2ha55i31yjvz35nsw30lwi5"; depends=[Rcpp]; };
-  unittest = derive2 { name="unittest"; version="1.3-0"; sha256="0haf3s3pc5bhsm6y5njghr9w8ifsjxczm5r7g0ynylwzvd019n8b"; depends=[]; };
+  units = derive2 { name="units"; version="0.6-5"; sha256="02nls8m0r1r7kljs4x35naz3szq62hyqyd5vracf1xwi1kz5kdsh"; depends=[Rcpp]; };
+  unittest = derive2 { name="unittest"; version="1.4-0"; sha256="1wyiikccnkw8fzrjrb2a80lw2xyiii4zb0hrbzfszy2bd6prqxx4"; depends=[]; };
   univOutl = derive2 { name="univOutl"; version="0.1-5"; sha256="193wrpkvgmlrx43nag8w3ivrlqm37nm6g86wcvd3bgw3hchs70gi"; depends=[Hmisc robustbase]; };
   unival = derive2 { name="unival"; version="1.0.2"; sha256="1sw0z7dmicmka3znrc1c5v0s9g8cpqapacdjzl5i4k5ak2qq35qp"; depends=[optimbase psych]; };
   unix = derive2 { name="unix"; version="1.5"; sha256="0sgm1gzfkfilrsgmv567ld79azmfk076xl998sv139kh9dvwgsyx"; depends=[]; };
   unjoin = derive2 { name="unjoin"; version="0.0.3"; sha256="08vjgl4dnh9kycrvdq5ngf57fy61n0nc582bi4znv06pq696rkwp"; depends=[dplyr rlang tibble]; };
-  unmarked = derive2 { name="unmarked"; version="0.12-3"; sha256="0cbi3saga4g39x68xxhvk07wd0qwjx9jih3g5lhz0zidz4fp3g40"; depends=[lattice Matrix plyr raster Rcpp RcppArmadillo reshape2]; };
+  unmarked = derive2 { name="unmarked"; version="0.13-0"; sha256="02i6iz4fqzb2frpscgq2kb7ywk2kpwsa3k9lx4c06p4x5zfhqfyj"; depends=[lattice MASS Matrix plyr raster Rcpp RcppArmadillo reshape2]; };
   unpivotr = derive2 { name="unpivotr"; version="0.5.1"; sha256="0j2q98xm3gg3mscn9ckl4pcihwc4p5gn4sk5sr1nqi4ghc047qaf"; depends=[cellranger dplyr forcats magrittr pillar purrr rlang tibble tidyr tidyselect xml2]; };
   unrepx = derive2 { name="unrepx"; version="1.0"; sha256="1dzvwpza60y9p7kz1f0bm20wid5jyxx9pma4w41az9shq5kkr0aj"; depends=[]; };
   unrtf = derive2 { name="unrtf"; version="1.3"; sha256="06v6hjpbybv07vqfq23i2s6j0ic035vnm0i4wfqgiw0pw6c85242"; depends=[sys]; };
   unsystation = derive2 { name="unsystation"; version="0.2.0"; sha256="02da7wzzk5bwd475i67v5x04ay2bn5yd5xffl1asqcqxcc5sy0m8"; depends=[doParallel foreach iterators Rcpp RcppArmadillo]; };
   untb = derive2 { name="untb"; version="1.7-4"; sha256="1i7m4vfslsix98dwx4jlrsldm7fhhfp25gr7aapcxqxms7ryaby6"; depends=[Brobdingnag partitions polynom]; };
   unvotes = derive2 { name="unvotes"; version="0.2.0"; sha256="0wanvivwm1nmqadq2vapg27kasnjnr0a4np2kw54wj9pg21izqic"; depends=[]; };
-  updog = derive2 { name="updog"; version="1.1.1"; sha256="0gsklxccvp887mr8rmn0vsmv6746fldbr66s900xa7l4lprn84hm"; depends=[assertthat doParallel foreach ggplot2 ggthemes Rcpp RcppArmadillo stringr]; };
+  updog = derive2 { name="updog"; version="1.1.3"; sha256="0dnvf205x39sb236652rsa2c9wlb8a6c93i8ldr2f9mhrhwndzbp"; depends=[assertthat doParallel foreach ggplot2 ggthemes Rcpp RcppArmadillo stringr]; };
   uplift = derive2 { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[coin MASS penalized RItools tables]; };
   uplifteval = derive2 { name="uplifteval"; version="0.1.0"; sha256="1gnn40c47rpx40j210bz6fb48d70p6spv3drr8hd5b3vzfz6686c"; depends=[dplyr ggplot2 gridExtra whisker]; };
   upmfit = derive2 { name="upmfit"; version="0.1.0"; sha256="0f0rk606v17abgw3mwlwihl6fsxprp44h2xbhv1675i18i36vbgx"; depends=[mcmcplots R2jags]; };
@@ -14540,21 +14829,23 @@ in with self; {
   uroot = derive2 { name="uroot"; version="2.1-0"; sha256="1hhq7ns2pyiziwx6sx7sb6445p3nynv7l04rksjngai2vpdaj0iw"; depends=[]; };
   usdarnass = derive2 { name="usdarnass"; version="0.1.0"; sha256="10fh9anpmbb7i70q3hjxbplrkqa1q86zgh8nldsf2i526p62hpm1"; depends=[httr jsonlite readr]; };
   usdm = derive2 { name="usdm"; version="1.1-18"; sha256="1sis47fri2lrbx2ll5ps7bvycjqhncnia800izf11szgayim5lrv"; depends=[raster sp]; };
-  usedist = derive2 { name="usedist"; version="0.1.0"; sha256="17mldp0888ig2xc8cp1nhldj5g3srwmbx3mfcnzz21n1fz31jkmg"; depends=[]; };
+  usedist = derive2 { name="usedist"; version="0.3.0"; sha256="11bklq2fzmk49rnmlrpjlf9qn4lzdzx52722wy0mfd3qsg9mpcbm"; depends=[]; };
   useful = derive2 { name="useful"; version="1.2.6"; sha256="0n50v1q75k518sq23id14jphwla35q4sasahrnrnllwrachl67v1"; depends=[assertthat dplyr ggplot2 magrittr Matrix plyr purrr scales]; };
+  usefun = derive2 { name="usefun"; version="0.4.1"; sha256="1fv10s73hk0xnwrigri9713bxa03jhrf8lafc110syihdj7d5kvx"; depends=[]; };
   userfriendlyscience = derive2 { name="userfriendlyscience"; version="0.7.2"; sha256="17arxxha8qr876nrf9szpymgamxlvacj3lfbmpiv973kyi3hr7m4"; depends=[BiasedUrn car data_tree DiagrammeR digest diptest GGally ggplot2 ggrepel ggridges GPArotation gridExtra gtable knitr lavaan lme4 MASS MBESS minpack_lm pander plyr psych pwr RColorBrewer rio scales SCRT SuppDists ufs viridis XML xtable]; };
   usethis = derive2 { name="usethis"; version="1.5.1"; sha256="07an5wbikilg7cb3q6x5aykw8dfqnjrc3wpfb7gjmy0d9fh20fcy"; depends=[clipr clisymbols crayon curl desc fs gh git2r glue purrr rlang rprojroot rstudioapi whisker withr yaml]; };
   usfertilizer = derive2 { name="usfertilizer"; version="0.1.5"; sha256="05zjn39hqjjzzp4v4b1zbqq59205s7k0kikms951h57kbyvjz6vk"; depends=[tidyverse]; };
+  ushr = derive2 { name="ushr"; version="0.1.0"; sha256="1m25pi96hkv4v2933clgzyknp36mvn9hsay8k4phqar4xxarrm11"; depends=[dplyr ggplot2 tidyr]; };
   uskewFactors = derive2 { name="uskewFactors"; version="2.0"; sha256="0ndi5987ak8sa7krgiglsibfg0k7z9j8fg47hg1m8ar0sq4r1yj6"; depends=[MASS MCMCpack mvtnorm tmvtnorm]; };
   usl = derive2 { name="usl"; version="1.8.0"; sha256="04w7p9i08a51smgg11kh4hablic5rjmr5hndrnlg49j5h20i7w1v"; depends=[nlsr]; };
   usmap = derive2 { name="usmap"; version="0.5.0"; sha256="0fjmmw8xhba31gv8mx9k55881yb94z518csbqas3bvssq5s7048f"; depends=[]; };
   ustyc = derive2 { name="ustyc"; version="1.0.0"; sha256="1267bng2dz3229cbbq47w22i2yq2ydpw26ngqa1nbi3ma6hwqsv4"; depends=[plyr XML]; };
   utc = derive2 { name="utc"; version="0.1.5"; sha256="1lhm5rhr78cxp3cz5n6j2zkhjphj7csk026xvvhkjqdi39rrq6i4"; depends=[]; };
   utf8 = derive2 { name="utf8"; version="1.1.4"; sha256="0m0ywg8k3blfiahxvh1i4zn9dksrlc937d2lbza5fc38zjnrrnpn"; depends=[]; };
-  utile_tables = derive2 { name="utile.tables"; version="0.1.6"; sha256="0azsqsz3rl8nwqj8c7chhipl739wfyf0anvfw29lnw8iwvik6a7y"; depends=[dplyr purrr rlang survival tibble utile_tools]; };
-  utile_tools = derive2 { name="utile.tools"; version="0.2.1"; sha256="1advgh7xymviqj9qr84i9ykgwpb0ihj40q42z4i2xghgnnfwyqfy"; depends=[dplyr lubridate purrr rlang stringr tibble]; };
-  utile_visuals = derive2 { name="utile.visuals"; version="0.2.1"; sha256="107gmlispmvafb2yvv8j869xpbcgyy6by6lj7910j5ll8pn74k55"; depends=[dplyr ggplot2 gridExtra purrr utile_tools]; };
-  utility = derive2 { name="utility"; version="1.4.3"; sha256="12g2y9xzzi2sl3ya3va1p7nc7hrjhr4arsz06f8xlxw5n8kvdxag"; depends=[]; };
+  utile_tables = derive2 { name="utile.tables"; version="0.1.8"; sha256="0zxy5y8d34lssg5jr7hzqkwf92k3yy52p1qjd505zrp90sgz9cjj"; depends=[dplyr purrr rlang survival tibble utile_tools]; };
+  utile_tools = derive2 { name="utile.tools"; version="0.2.3"; sha256="0jlyrd7a96gpvs6i62smg4mcds9660y65lykqjs0dvm42c1j0823"; depends=[dplyr lubridate purrr rlang stringr tibble]; };
+  utile_visuals = derive2 { name="utile.visuals"; version="0.2.3"; sha256="1748nbj2vzigw0q97z9c6pgxa9x8h9rllh8asaahdybachwal7kh"; depends=[dplyr ggplot2 gridExtra purrr utile_tools]; };
+  utility = derive2 { name="utility"; version="1.4.4"; sha256="18ariimhlmh4gi01jdywidk3gwfcm2yhl4d0dbr8ymdxlg1f1w8g"; depends=[]; };
   utilsIPEA = derive2 { name="utilsIPEA"; version="0.0.6"; sha256="07avc0j6qkzqmznbydn0zdg743g7g7kn2bcx5n03m3wg0fqyggr7"; depends=[data_table dplyr RCurl stringdist stringr]; };
   utiml = derive2 { name="utiml"; version="0.1.5"; sha256="02wxsg1gg2y83cii5ly7r8lk376kas261f9qyl03z55p5m72w9zy"; depends=[mldr ROCR]; };
   uuid = derive2 { name="uuid"; version="0.1-2"; sha256="1gmisd630fc8ybg845hbg13wmm3pk3npaamrh5wqbc1nqd6p0wfx"; depends=[]; };
@@ -14576,7 +14867,7 @@ in with self; {
   valorate = derive2 { name="valorate"; version="1.0-1"; sha256="06vczszpkipsxfs7h6ld33vvxb5ci62rwg3cglwy3lcfifhbnsfi"; depends=[survival]; };
   valottery = derive2 { name="valottery"; version="0.0.1"; sha256="0rlv8agm9ng4jcb9ixqifh7kjczvkx7047brq8yf9kg7rb8mzgpz"; depends=[]; };
   valr = derive2 { name="valr"; version="0.5.0"; sha256="14jhrwkiwmha3vlmm7b50n2xxyizj6ddmy89gb20mpzq7qhz1ika"; depends=[broom dplyr ggplot2 Rcpp readr rlang stringr tibble]; };
-  valueEQ5D = derive2 { name="valueEQ5D"; version="0.4.4"; sha256="05949qd1ydiz86kp4vanv8g6z0mry9iyjr7ja2ni919sz91bw0zs"; depends=[dplyr rstudioapi stringr testthat]; };
+  valueEQ5D = derive2 { name="valueEQ5D"; version="0.5.0"; sha256="0835p71lipihxks8mzb4wisrjlnlqb794khzw0bh6f6j5s3kaspb"; depends=[rstudioapi testthat]; };
   valuer = derive2 { name="valuer"; version="1.1.2"; sha256="0mbwzsvy34ppngyxdzpd9w1r4f00cik4maqab9kpiflrrv9xdp78"; depends=[ggplot2 orthopolynom R6 Rcpp RcppEigen timeDate yuima]; };
   vamc = derive2 { name="vamc"; version="0.1.0"; sha256="1rcyj2zsx33rxmhw7p1i45cm6z6380df0bayxlyizi7vh43ggy6p"; depends=[Rdpack]; };
   vanddraabe = derive2 { name="vanddraabe"; version="1.1.1"; sha256="094kd72slq0n3pk0p6zps241aszb9yql49h4mr007zf0kn8wlf8v"; depends=[bio3d cowplot fastcluster ggplot2 openxlsx reshape2 scales]; };
@@ -14592,7 +14883,7 @@ in with self; {
   varclust = derive2 { name="varclust"; version="0.9.4"; sha256="0knmfq3pn38j8p29j6sqapdv3g5335si3gwiw932ml5z49a8ga5m"; depends=[doParallel doRNG foreach pesel RcppEigen]; };
   vardiag = derive2 { name="vardiag"; version="0.2-1"; sha256="07i0wv84sw035bpjil3cfw69fdgbcf2j8wq4k22narkrz83iyi2z"; depends=[]; };
   vardpoor = derive2 { name="vardpoor"; version="0.16.0"; sha256="09dy1q1lx3b53an7qdszqzl5r4aswddy3046cvz997k1f692mwda"; depends=[data_table foreach ggplot2 laeken MASS plyr pracma stringr surveyplanning]; };
-  varhandle = derive2 { name="varhandle"; version="2.0.3"; sha256="11yisjgqc8fq0sj1kzgp51i926cs4yqkpfmbis5ak786wqalc6na"; depends=[]; };
+  varhandle = derive2 { name="varhandle"; version="2.0.4"; sha256="17hvn991268xdfmxx9a03k04zy9gbd4jihyl0750pm3flsldarrl"; depends=[]; };
   variables = derive2 { name="variables"; version="1.0-2"; sha256="02q1fyd7r0xclvwbiqz07dr6y5g2sqfjj1qv5hvvhs0vmx93w7f9"; depends=[]; };
   varian = derive2 { name="varian"; version="0.2.2"; sha256="0jyw46qx2w19h02mrwv3w3n8qc1n4b3ckm38qly1y4a4w9ib6c2i"; depends=[Formula ggplot2 gridExtra MASS rstan]; };
   variantspark = derive2 { name="variantspark"; version="0.1.1"; sha256="13hkp6l64hi7xlll09gin7kdlkqrkn0lggrw8147zy9ivhknhk59"; depends=[sparklyr]; };
@@ -14601,6 +14892,7 @@ in with self; {
   varrank = derive2 { name="varrank"; version="0.2"; sha256="19c40wwiadyqwn4z7nd22ynpa4wxr2anr2487mllmpg1d7wz3y38"; depends=[FNN]; };
   vars = derive2 { name="vars"; version="1.5-3"; sha256="0zc6v827ll19n088n31afgjf65zqwvyzmmj4q3ab1xhqzxfsgbw6"; depends=[lmtest MASS sandwich strucchange urca]; };
   varsExplore = derive2 { name="varsExplore"; version="0.1.0"; sha256="1sscz565i288nmk7sv03kj2xysfppvil4nl2lxxbvp3y4mrkz09b"; depends=[dplyr DT glue magrittr purrr rio rstudioapi stringr tidyr]; };
+  varycoef = derive2 { name="varycoef"; version="0.2.9"; sha256="1hc6w5bmmp98bnly7wyb10ljdsfl40xy2i60lmrask93zk80br7f"; depends=[fields RandomFields sp spam]; };
   vaultr = derive2 { name="vaultr"; version="1.0.2"; sha256="1b7g0jplp5dw1img7d6wm75gaycb3z8a8mzc6s0iwvhbfl8vf574"; depends=[getPass httr jsonlite R6]; };
   vbdm = derive2 { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; };
   vbsr = derive2 { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
@@ -14623,16 +14915,14 @@ in with self; {
   vegan3d = derive2 { name="vegan3d"; version="1.1-2"; sha256="01yyhrapdvs6rr5hw1ij4jnpz7mq005s35pn96snpy8ngn6ir386"; depends=[cluster rgl scatterplot3d vegan]; };
   vegawidget = derive2 { name="vegawidget"; version="0.2.1"; sha256="1afmz3bpd863hghvfbv3yicy9hf29fr9ga741yxbkx5jd8grxzzs"; depends=[assertthat glue htmltools htmlwidgets jsonlite magrittr rlang]; };
   vegclust = derive2 { name="vegclust"; version="1.7.7"; sha256="0f81jw429ib601lvbzi4q23kb5n6lvavlgw56wfqdmvvkl68vwlc"; depends=[circular Kendall MASS Rcpp sp vegan]; };
-  vegdata = derive2 { name="vegdata"; version="0.9.5"; sha256="145frmlsdb7m5z8qa03js4061pqmgvy3gykxkpiv1wv2wnfzyvnr"; depends=[foreign XML]; };
+  vegdata = derive2 { name="vegdata"; version="0.9.7"; sha256="1cfb993p8sgm08g5859v4q9mil3a64yzhx3hzddvp536pq7jsc86"; depends=[foreign plyr xml2]; };
   vegetarian = derive2 { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
   vegperiod = derive2 { name="vegperiod"; version="0.2.6"; sha256="0v8bpxaa0xp8ywnycxs3613scncrhv8g7p99j6n5hs26m4h1km49"; depends=[]; };
-  vegtable = derive2 { name="vegtable"; version="0.1.4"; sha256="1gk80i4gi98nigiya4n8ng8d2y7l3j63i1ijg4g80nfr5w64qh5w"; depends=[foreign plotKML qdapRegex sp stringi taxlist vegdata]; };
   vein = derive2 { name="vein"; version="0.8.0"; sha256="1yaz7vxcb6sspalsdzjjb0i08w0s2f0p3ms0gli1v8z4qfgg5izz"; depends=[data_table eixport sf sp units]; };
   velociraptr = derive2 { name="velociraptr"; version="1.1.0"; sha256="0a67vmv05cxc9f27aqzr6nkgy2mj3fhykwj5nb23qwfqa669a5hi"; depends=[sf]; };
   velox = derive2 { name="velox"; version="0.2.0"; sha256="1jrarfsfflvpc0dqh5gnw92fk8zic222n7pr7hd0lhr5d389k6d0"; depends=[BH raster Rcpp rgdal rgeos sf sp]; };
   vembedr = derive2 { name="vembedr"; version="0.1.3"; sha256="0zg6j0g9l7j36ifwabhxrin5z0dics66bqkc7x6rqijmizk1xpba"; depends=[htmltools httr magrittr stringr]; };
   venn = derive2 { name="venn"; version="1.7"; sha256="0lll5bcwx64di4m0k56f00vsfaas2l2mkcbblniq302v0g12v8cj"; depends=[]; };
-  vennLasso = derive2 { name="vennLasso"; version="0.1.5"; sha256="05msl15kgscj8dhnvb9ngkqldasgvw4jrfmkbfrfajbw1w3qbqm3"; depends=[foreach igraph MASS Matrix Rcpp RcppEigen RcppNumerical survival VennDiagram visNetwork]; };
   venneuler = derive2 { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
   vennplot = derive2 { name="vennplot"; version="1.0"; sha256="0x59awa1zsjwk5qb1jzv6d2mn2fm4aq1lq8zlbnf1da0h4837yab"; depends=[Rcpp rgl stringr]; };
   verification = derive2 { name="verification"; version="1.42"; sha256="0pdqvg7cm9gam49lhc2xy42w788hh2zd06apydc95q2gj95xnaiw"; depends=[boot CircStats dtw fields MASS]; };
@@ -14643,16 +14933,17 @@ in with self; {
   vetr = derive2 { name="vetr"; version="0.2.7"; sha256="1gwaa5wz675g6hgifwvskix929ar1jk2h0gpfyhxifzdb6dp2mw4"; depends=[]; };
   vfcp = derive2 { name="vfcp"; version="1.4.0"; sha256="0zj1ihqdx5x1695al1xyi8k001yw8x7gdss72myxlnh7b4flnp9m"; depends=[copula extraDistr stringr]; };
   vfprogression = derive2 { name="vfprogression"; version="0.7.1"; sha256="0kgw1jx0rl9v8qy8qg7zjzdgvwqdi7k1lsvsx3lnpw4sfpkzsq23"; depends=[]; };
+  vhcub = derive2 { name="vhcub"; version="1.0.0"; sha256="04a8hdm4pxl8fzwy9q2wqc9q0dl5r49xwbid70yj9qlflh683id0"; depends=[Biostrings coRdon ggplot2 seqinr stringr]; };
   vhica = derive2 { name="vhica"; version="0.2.4"; sha256="0km49lrzn9rm3wxadwxc290dvx3bsblbmna7f9lnkq6g1z5jdqwg"; depends=[]; };
   viafr = derive2 { name="viafr"; version="0.1.0"; sha256="14y5k1vskfzxfpzjkk9602p8mvvyfrf3qpr517zdb714wv3gwk3h"; depends=[assertthat crul dplyr jsonlite magrittr purrr rlang stringr tibble tidyr utf8]; };
   vici = derive2 { name="vici"; version="0.5.2"; sha256="0qad8ab04ndd29kcmd388piiymablfc7xlv6iml4sxkid7z5kgby"; depends=[cowplot DT ggplot2 ggpubr nlme shiny tidyr]; };
   vietnamcode = derive2 { name="vietnamcode"; version="0.1.1"; sha256="0vc0c1fg30afar2dkch5h27b8jbglcd9ja6d5hcypnibqz4c68vz"; depends=[]; };
   viewshed3d = derive2 { name="viewshed3d"; version="2.0.0"; sha256="0wil1k64clfzjl2j5gl4xi4m4q0l15frxsphvsajp5hqgfpk6fn0"; depends=[data_table doParallel foreach iterators rgl tcltk2 viridis VoxR]; };
   vimp = derive2 { name="vimp"; version="1.1.6"; sha256="1jczlg8sa62f9skn32gbc094lbm41w5hp65w1k1imqxcvb43n8ql"; depends=[SuperLearner]; };
-  vinereg = derive2 { name="vinereg"; version="0.5.0"; sha256="17qni21jaizmfzl975xd39ahlc5flfnmy6xy7n9adfv346f3zwp0"; depends=[cctools furrr future kde1d rvinecopulib]; };
+  vinereg = derive2 { name="vinereg"; version="0.7.0"; sha256="1fviqzs879n7rin3b0jks8dfvcxiay8jssqy7salslghpj7rkm84"; depends=[assertthat BH kde1d Rcpp RcppEigen RcppThread rvinecopulib wdm]; };
   vines = derive2 { name="vines"; version="1.1.5"; sha256="057d2fdh03cq9kh4vz94arqscahmz14xbr2g59l0vn205lnyilf1"; depends=[ADGofTest copula cubature TSP]; };
   violinmplot = derive2 { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; };
-  vioplot = derive2 { name="vioplot"; version="0.3.2"; sha256="13kfjp747bnzksai8j39y2hyl3ljc6n53c2cfhaw78q3d63x0lbv"; depends=[sm zoo]; };
+  vioplot = derive2 { name="vioplot"; version="0.3.4"; sha256="1fsklymilspzz5fzlj7666x09aglaw0v4x0yfjjzy4vr5qpjc529"; depends=[sm zoo]; };
   viopoints = derive2 { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
   vip = derive2 { name="vip"; version="0.1.3"; sha256="140sv4rp7g600adh0mq8k8m8v6qdb6rkan87fh6i0svw67vbjr16"; depends=[ggplot2 gridExtra magrittr ModelMetrics pdp plyr tibble]; };
   vipor = derive2 { name="vipor"; version="0.4.5"; sha256="112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"; depends=[]; };
@@ -14667,7 +14958,7 @@ in with self; {
   visTree = derive2 { name="visTree"; version="0.8.1"; sha256="1l07zfr2hagjpdxfw5290wa3ki4bl7iqxrrhda0d1bp3wmwfz0ai"; depends=[colorspace partykit rpart]; };
   visdat = derive2 { name="visdat"; version="0.5.3"; sha256="1ikqp29nncbw1xlwyb9dqqgcdk9q0bs3wxhnhnjpb11vcjv7cz2j"; depends=[dplyr ggplot2 glue magrittr purrr readr tibble tidyr]; };
   visit = derive2 { name="visit"; version="2.1"; sha256="0kkspih7m18g5pqlwrxpgjdwqxpp23c3xyvcnvv247abl9aq81rd"; depends=[BH Rcpp RcppEigen rstan sqldf StanHeaders]; };
-  visreg = derive2 { name="visreg"; version="2.5-1"; sha256="106i8y16iam1kbfqd56447vfhk5mixkm92gpqcl8rf6ycd6vi5y5"; depends=[lattice]; };
+  visreg = derive2 { name="visreg"; version="2.6-0"; sha256="0an58wrgn8qxmigc3nvykvglh41asdz8bn4zrzpg34dxiqykqb4b"; depends=[lattice]; };
   vistime = derive2 { name="vistime"; version="0.8.1"; sha256="0nm7sdbj99nlb46rfs5w2k62v1iikfymmz934rb21rn7cj8hs99p"; depends=[plotly RColorBrewer]; };
   vistributions = derive2 { name="vistributions"; version="0.1.1"; sha256="1s68dpcy55v6yw7ivh2xpshz6qc0qaifjd15h7rjg3zl1cx81mh3"; depends=[ggplot2 magrittr shiny]; };
   visualFields = derive2 { name="visualFields"; version="0.6"; sha256="1w6wkyzjakj6ss9nv4gzkgva4m21jbsz10c2jy660bjb25rf59ih"; depends=[deldir flip gtools Hmisc matrixStats spatstat]; };
@@ -14687,7 +14978,7 @@ in with self; {
   voronoiTreemap = derive2 { name="voronoiTreemap"; version="0.2.0"; sha256="1wvnqdrvba4ss4f3k8gzb720irdq2brv2aaq16ywifv8fnjf02r3"; depends=[data_tree DT htmlwidgets rlang shiny shinyjs]; };
   vortexR = derive2 { name="vortexR"; version="1.1.6"; sha256="113ndhf2f3hlhmgbg6gh5fq1az6d314fwl872dwypj2zsvfm7x03"; depends=[betareg data_table GGally ggplot2 glmulti gtools irr plyr R_utils stringr vortexRdata]; };
   vortexRdata = derive2 { name="vortexRdata"; version="1.0.5"; sha256="0b47q3aslz4110a1bfaa103i098y2ngzrjh01rwasq3gd6xbif9n"; depends=[]; };
-  vosonSML = derive2 { name="vosonSML"; version="0.27.2"; sha256="0a2qqs6kf48l5ik3dsw40xsw1wzq7bnc3vdh33jiqh2fm93nzvrp"; depends=[data_table dplyr Hmisc httpuv httr igraph magrittr RCurl RedditExtractoR rlang rtweet stringr textutils tictoc tm]; };
+  vosonSML = derive2 { name="vosonSML"; version="0.29.4"; sha256="0ngipwg83xw832ikaaqbyh2zxkwwwxalp6xrb60dk96z2r7qgj2r"; depends=[data_table dplyr Hmisc httpuv httr igraph magrittr purrr RCurl RedditExtractoR rlang rtweet stringr textutils tibble tictoc tm]; };
   vote = derive2 { name="vote"; version="1.1-0"; sha256="1kxbv4062g4x9vn4gh74c6zwdshysw5n7vx9qljhq2wrdnqzjpyg"; depends=[formattable knitr]; };
   voteogram = derive2 { name="voteogram"; version="0.3.1"; sha256="12xv0c3g4vr23c8adkk8z7m7sx31w5mjvdg9h4qbvaimb99p2r7z"; depends=[dplyr ggplot2 jsonlite scales]; };
   votesys = derive2 { name="votesys"; version="0.1.1"; sha256="1z7cx3rj3bfrkb6jkmf1m1wad5ff46zrab5vhk69wf3jbwd9h920"; depends=[data_table gtools Matrix]; };
@@ -14706,7 +14997,7 @@ in with self; {
   vstsr = derive2 { name="vstsr"; version="1.0.0"; sha256="0flsw5yw1vmj5x866klxmjqz5aimkvjiwl1zdciz63p9zffmb4gz"; depends=[httr jsonlite magrittr R6 RCurl xml2]; };
   vtable = derive2 { name="vtable"; version="0.5.0"; sha256="02dagwaakf08v9y2lm5j2r5bfz8sg6ac0hv6akmjp0llq2bd725d"; depends=[sjlabelled]; };
   vtreat = derive2 { name="vtreat"; version="1.4.7"; sha256="1x2z1sc45jnbnj3p2nfb7v1r2f4lca86ky0znl5hlvk174d2nxyf"; depends=[wrapr]; };
-  vtree = derive2 { name="vtree"; version="2.0.0"; sha256="1zxsvzbyq6nkghg9dx1zxs2mnxzwv54nv317fh3vq45c6wdj43cn"; depends=[DiagrammeR DiagrammeRsvg rsvg]; };
+  vtree = derive2 { name="vtree"; version="3.0.0"; sha256="0la03f34pnrghsaszp97xl0bri71v23cqylsaqz077077aryj1m2"; depends=[DiagrammeR DiagrammeRsvg rsvg]; };
   vudc = derive2 { name="vudc"; version="1.1"; sha256="0zxz6n3ixa3xjzcinky8ymqjx9w8y8z65mz8d84dl00mxzkmkz4h"; depends=[]; };
   vwline = derive2 { name="vwline"; version="0.2-2"; sha256="1hilr996xn5wh8kfyab55w2i1c02a8x909h4ahag5q6s7603qng5"; depends=[gridBezier polyclip]; };
   vwr = derive2 { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[lattice latticeExtra stringdist]; };
@@ -14721,18 +15012,18 @@ in with self; {
   waffect = derive2 { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; };
   waffle = derive2 { name="waffle"; version="0.7.0"; sha256="1qjmai33p96cyavi9lgi6k30h6fj7db5sr569v9jf4kwx92c61df"; depends=[extrafont ggplot2 gridExtra gtable RColorBrewer]; };
   wahc = derive2 { name="wahc"; version="1.0"; sha256="1324xhajgmxq6dxzpnkcvxdpm2m3g47drhyb2b3h227cn3aakxyg"; depends=[]; };
-  waiter = derive2 { name="waiter"; version="0.0.1"; sha256="1zl95v01qbnrs7nh2rcmhjny57wvfylzrdm7gpyyxj753mzwla6b"; depends=[shiny]; };
+  waiter = derive2 { name="waiter"; version="0.0.6"; sha256="1hxp525zk422cw88cnap5kc773qff9gc840jqa0k88hh34yhyybb"; depends=[magrittr R6 shiny]; };
   wakefield = derive2 { name="wakefield"; version="0.3.3"; sha256="05z9a6g1cdavalp50wss7klnlcdbv3y1jvz1v8ry1x2bziy216y2"; depends=[chron dplyr ggplot2 stringi]; };
   walkalytics = derive2 { name="walkalytics"; version="0.1.0"; sha256="1kl6kwwnl67d45akna01xp389wjxsxlc84l0bcpadbipsqyb3kd1"; depends=[base64enc dplyr httr purrr sp stringr tibble]; };
   walker = derive2 { name="walker"; version="0.3.0"; sha256="0p45mq6xfpzr82y8pbfv04r85prvygm6z01xda4paicmimynd2r4"; depends=[bayesplot BH dplyr ggplot2 KFAS Rcpp RcppArmadillo RcppEigen rstan StanHeaders]; };
   walkr = derive2 { name="walkr"; version="0.4.0"; sha256="1lra3ard90nzlpwwfiq50ghd3qv5xnmsp8rjhlq9rkpa7xazsnx8"; depends=[hitandrun limSolve MASS Rcpp RcppEigen shinystan]; };
   walkscoreAPI = derive2 { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
   wallace = derive2 { name="wallace"; version="1.0.6"; sha256="0pnkwdfmimnvyygbz1iz1b9fhcdi7k53wjw44kmnr2b7ln9pbcl2"; depends=[dismo dplyr DT ENMeval leaflet leaflet_extras magrittr maptools raster RColorBrewer rgdal rgeos rmarkdown shiny shinyjs shinythemes spocc spThin XML zip]; };
-  wally = derive2 { name="wally"; version="1.0.9"; sha256="1g6dywny8s8fpdnfvrlbzsp9d9dhxdxrm1j4dd3b9r6rpiajf964"; depends=[data_table prodlim riskRegression]; };
+  wally = derive2 { name="wally"; version="1.0.10"; sha256="1d03vxn6q7v0nsrkd7dxkkv3siysgicv6c13fkvwmypln9vsl6sl"; depends=[data_table prodlim riskRegression]; };
   walmartAPI = derive2 { name="walmartAPI"; version="0.1.5"; sha256="1nng8izncj2nmmpywn1ggpzvjh8q7y3q6260qhy9kbmvrrl26spf"; depends=[dplyr glue httr magrittr purrr stringr tibble]; };
   walrus = derive2 { name="walrus"; version="1.0.3"; sha256="1nk2glcvy4hyksl5ipq2mz8jy4fss90hx6cq98m3w96kzjni6jjj"; depends=[ggplot2 jmvcore R6 WRS2]; };
   wand = derive2 { name="wand"; version="0.5.0"; sha256="0y9xmh9a93lnadg83i223j2nf77jazz8m1ck1bmdf5jwj4vyzaqa"; depends=[]; };
-  warbleR = derive2 { name="warbleR"; version="1.1.17"; sha256="0chpq5sr1qzv5ymcqg98k2g8rkmwpazjmxi50q0jvlkqijvr1m5j"; depends=[bitops dtw fftw iterators jpeg maps monitoR NatureSounds pbapply pracma RCurl rjson seewave Sim_DiffProc soundgen tuneR]; };
+  warbleR = derive2 { name="warbleR"; version="1.1.18"; sha256="10kwr7x4m210hmhjn15rxg72mm24imibswqasdx7pkxpfbavccq1"; depends=[dtw fftw maps monitoR NatureSounds pbapply pracma RCurl rjson seewave Sim_DiffProc tuneR]; };
   warpMix = derive2 { name="warpMix"; version="0.1.0"; sha256="13zbl4aifhg7j5b3vpwgzgs09hr7yblz0rckmj5qh40s78j8cpfn"; depends=[fda fields lme4 MASS nlme reshape2]; };
   washdata = derive2 { name="washdata"; version="0.1.2"; sha256="01cnlhymh3qg9c7fda8s6lvm4j2vklmb72dfk17sn4p0kkikf9m8"; depends=[]; };
   washeR = derive2 { name="washeR"; version="0.1.2"; sha256="0sb5sgwf7y9sd291qfj1az3x6h6gmznnnsdmqizkmv2xz9029rxz"; depends=[gplots]; };
@@ -14773,7 +15064,7 @@ in with self; {
   webr = derive2 { name="webr"; version="0.1.0"; sha256="0fjbk933034cgmqd41cw7q5xcvrwgylcic6lxav9jv3b2sspzw06"; depends=[ggplot2 moonBook stringr]; };
   webreadr = derive2 { name="webreadr"; version="0.4.0"; sha256="0l3l5g4zj5faxqi1kqwx9lq91gbj40z2q3csrsmpal08qnwkxs90"; depends=[Rcpp readr]; };
   websearchr = derive2 { name="websearchr"; version="0.0.3"; sha256="1c6dwm5g5rjq0b12zrwwi5k9760jb0ph83v4j2gm8zm0x9dhiqm9"; depends=[]; };
-  webshot = derive2 { name="webshot"; version="0.5.1"; sha256="08sb1xi376pfy1vwilk2d68zljsg9yiv04n2dkqz383gdhh0sxdr"; depends=[callr jsonlite magrittr]; };
+  webshot = derive2 { name="webshot"; version="0.5.2"; sha256="0gq4h8cw51z95yvsnf38kj5l58wgljkm0dalmi8mn1sp06bxr0zi"; depends=[callr jsonlite magrittr]; };
   websocket = derive2 { name="websocket"; version="1.1.0"; sha256="1qw3cb48ha579cijasq23w946p138k2x9yl37kpf51lyaagikzg1"; depends=[AsioHeaders BH later R6 Rcpp]; };
   webuse = derive2 { name="webuse"; version="0.1.3"; sha256="09xvw0v991cq1ck2kfxblp5cngfh9j6swvh5xv420mvky0kshv32"; depends=[haven]; };
   webutils = derive2 { name="webutils"; version="1.0"; sha256="0khvvfrjhzcjbnsjshbsjgqk2pcvhkw34248f9wglwjmmsh6wbs1"; depends=[curl jsonlite]; };
@@ -14798,7 +15089,7 @@ in with self; {
   wgaim = derive2 { name="wgaim"; version="2.0-1"; sha256="1qiyfkpsbzjr9xsq5kqq6rlqpndngkn2irdfh3gyi45h6hn118j4"; depends=[ggplot2 qtl]; };
   wgeesel = derive2 { name="wgeesel"; version="1.5"; sha256="0lybvsq5168cjybzv2dbyx2z8aakcx7i7ivm8zc90haiispm9n5x"; depends=[bindata CRTgeeDR geepack MASS PoisNor]; };
   wheatmap = derive2 { name="wheatmap"; version="0.1.0"; sha256="1c1xvzy194vw3idkwkqp9kyrfldzczj30cl15jw1bbnw87zcwdzy"; depends=[colorspace RColorBrewer]; };
-  whereami = derive2 { name="whereami"; version="0.1.8.1"; sha256="007a5wcg80gapqhn3s0sax83fxm55zx36l8rmipkr0c58wi0nr72"; depends=[cli rstudioapi]; };
+  whereami = derive2 { name="whereami"; version="0.1.9"; sha256="0mjq9haacsf0zkgh7xxx8dr67hnw5ijjdhaz8c69mfjmd2zfzfwq"; depends=[cli jsonlite rstudioapi]; };
   whereport = derive2 { name="whereport"; version="0.1"; sha256="1gdqzr2hrnpxbwl7cfps4m3xja8wkgwfs50i2nailybympvdnxm4"; depends=[dplyr]; };
   whiboclustering = derive2 { name="whiboclustering"; version="0.1.2"; sha256="0bzzr71kbynzj28i8g5li5j40653nyh08ywgs2xww49qxjm3b9lj"; depends=[cluster clusterCrit]; };
   whisker = derive2 { name="whisker"; version="0.4"; sha256="1a7vz0dk95xfjvi38wbpw8vmf5qn3g8p490msz2rw0piwidmk1ks"; depends=[]; };
@@ -14809,9 +15100,9 @@ in with self; {
   whoapi = derive2 { name="whoapi"; version="0.1.2"; sha256="0ib0an08xsxan24q8mb5ai375njmkdc61lh4321rzgr25iqvi682"; depends=[httr]; };
   wicket = derive2 { name="wicket"; version="0.4.0"; sha256="1lizzmj69bswzlk18fv2v4yxxc6dynvmkymdiafznzcyyz4a8xnf"; depends=[BH Rcpp]; };
   widals = derive2 { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
-  widenet = derive2 { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
   widgetframe = derive2 { name="widgetframe"; version="0.3.1"; sha256="0j0d73m72nzfc1wyrgsqr99ldx72adis6pd57mpim55hz0n9l224"; depends=[htmltools htmlwidgets magrittr purrr]; };
   widyr = derive2 { name="widyr"; version="0.1.2"; sha256="0mqj9w5sy8m2vqhjxmjrf68bfixbvmkigrsdzfnwvxp18hhfw5mj"; depends=[broom dplyr Matrix purrr reshape2 tidyr tidytext]; };
+  wiesbaden = derive2 { name="wiesbaden"; version="1.2.0"; sha256="09nf25s134livlcgfl0aq5njg50kcw82nmiin6jqzwpjkd35x6vp"; depends=[httr jsonlite keyring readr stringi stringr xml2]; };
   wikibooks = derive2 { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
   wikifacts = derive2 { name="wikifacts"; version="0.1.0"; sha256="01mwzqign59lh7wvf8q8kwkgnfxi9nkk6n0qwfh27q64fajw8clg"; depends=[magrittr rvest xml2]; };
   wikilake = derive2 { name="wikilake"; version="0.4"; sha256="0pm0brzkf2k6aknwl4b3fba5ly7mhah8qfb0h94fckiaqbnpyx9v"; depends=[maps rvest selectr sp stringi stringr units WikipediR xml2]; };
@@ -14821,8 +15112,9 @@ in with self; {
   wildcard = derive2 { name="wildcard"; version="1.1.0"; sha256="0qkzab84z95g5f4fv3v4wisccgd7k9m3210pz4nvm1x8rfaqfjf1"; depends=[magrittr stringi]; };
   wildlifeDI = derive2 { name="wildlifeDI"; version="0.3.0"; sha256="1aqiazrr2sp76777m0isscainhdnn9qp87dwpr4cspk7grbsa53k"; depends=[adehabitatLT rgeos sp]; };
   wildpoker = derive2 { name="wildpoker"; version="1.1"; sha256="1302ain55spz34irmq49sp9b1pvrn2nxmzmqs8m9wdk6g82h3s27"; depends=[]; };
-  wilson = derive2 { name="wilson"; version="2.0.2"; sha256="0ivd3cm6swhbcg38f66505rwf8h19wcg69mf3p4f9vjif8l13q4s"; depends=[circlize colourpicker ComplexHeatmap data_table DESeq2 DT factoextra FactoMineR ggplot2 ggrepel gplots heatmaply log4r openssl plotly plyr R6 RColorBrewer reshape rintrojs rje rjson RJSONIO scales shiny shinycssloaders shinydashboard shinyjs viridis]; };
+  wilson = derive2 { name="wilson"; version="2.3.1"; sha256="040hq68l2ja37gx8g6q1nrr9b15v4gmc2l23c772vr4gq9k97977"; depends=[circlize colourpicker ComplexHeatmap data_table DESeq2 DT factoextra FactoMineR ggplot2 ggrepel gplots heatmaply log4r magrittr openssl plotly plyr R6 RColorBrewer reshape rintrojs rje rjson RJSONIO scales shiny shinycssloaders shinydashboard shinyjs viridis zip]; };
   winRatioAnalysis = derive2 { name="winRatioAnalysis"; version="0.1.0"; sha256="1msvc06bfzw9clinxbvr5fdw38dff0c0xii46182nwnk5kj0libr"; depends=[data_table JM Matrix MLEcens mvtnorm nlme plyr pssm survival]; };
+  windAC = derive2 { name="windAC"; version="1.2.0"; sha256="1dwnj0spxq9n73vg938j5jn0vvzvlqnfb4j0slzxp6lvkkyd2sc4"; depends=[mvtnorm sf]; };
   windex = derive2 { name="windex"; version="1.0"; sha256="0ci10x6mm5i03j05fyadxa0ic0ngpyp5nsn05p9m7v1is5jhxci0"; depends=[ape geiger scatterplot3d]; };
   windfarmGA = derive2 { name="windfarmGA"; version="2.2.2"; sha256="0gj62b0ppk478xz5f5cwqkb4rhs7fabpx8zl6p0zm1z6dzclq1rc"; depends=[calibrate doParallel foreach ggplot2 gstat leaflet magrittr raster RColorBrewer Rcpp rgdal rworldmap sf sp spatstat]; };
   wingui = derive2 { name="wingui"; version="0.2"; sha256="0yf6k33qpcjzyb7ckwsxpdw3pcsja2wsf08vaca7qw27yxrbmaa3"; depends=[Rcpp]; };
@@ -14833,6 +15125,7 @@ in with self; {
   wkb = derive2 { name="wkb"; version="0.3-0"; sha256="0s7libkg27jdmcw5qmk5j0cmz3nqq7ny4q8gy4vhbgsgj4gbbdn9"; depends=[sp]; };
   wktmo = derive2 { name="wktmo"; version="1.0.5"; sha256="05pjyk0xsdazbi1x7xfmg097ybybd60zmzzm7sch1ikp05hzn0wb"; depends=[]; };
   wmlf = derive2 { name="wmlf"; version="0.1.2"; sha256="0zxw84l5v12r15hpyd1kbajjz3cbkn5g884kmj72y7yi0yi1b6d6"; depends=[waveslim]; };
+  wmm = derive2 { name="wmm"; version="1.0.0"; sha256="0f46a69vcz1cb4qmz68gf8h0hq5amilsp9h4gmacmprad49n702g"; depends=[]; };
   wmtsa = derive2 { name="wmtsa"; version="2.0-3"; sha256="1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6"; depends=[ifultools MASS splus2R]; };
   wmwpow = derive2 { name="wmwpow"; version="0.1.2"; sha256="0f7gkpr64g2wl9ag70hikyjfqbr4c5nwzyfjwfpdl4a26c2k5xz6"; depends=[lamW MASS smoothmest]; };
   wnl = derive2 { name="wnl"; version="0.5.1"; sha256="09xm9x3wz0p9srncw5527slkqrqr37d6kgbzlc2g9zf9frmdlpmb"; depends=[numDeriv]; };
@@ -14849,7 +15142,7 @@ in with self; {
   wordmatch = derive2 { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
   wordnet = derive2 { name="wordnet"; version="0.1-14"; sha256="12a21zlc7h973gi1632gngbk8b09vhp3sldh1mh9b5n6h18ga25p"; depends=[rJava]; };
   wordspace = derive2 { name="wordspace"; version="0.2-5"; sha256="1xrnzq5hmdwdd7692as4ddjkr64bfgl141xx2gvcla308rxql9yp"; depends=[cluster iotools MASS Matrix Rcpp sparsesvd]; };
-  workflowr = derive2 { name="workflowr"; version="1.4.0"; sha256="1m7x89wmivcpj4p8qi6dlpf25j4r7l5axa602qq1bx0r050hajrm"; depends=[callr fs getPass git2r glue httr knitr rmarkdown rprojroot rstudioapi stringr whisker yaml]; };
+  workflowr = derive2 { name="workflowr"; version="1.5.0"; sha256="0jvdm6kgny84rxmriqq2hrabgdx9v3m5wmypsc5nbwyka94578gl"; depends=[callr fs getPass git2r glue httpuv httr knitr rmarkdown rprojroot rstudioapi stringr whisker yaml]; };
   worldmet = derive2 { name="worldmet"; version="0.8.7"; sha256="1hhh3a28xxi5265053gclsbihv41372f64isz9xc5sjdjnpcv6g4"; depends=[doParallel dplyr foreach leaflet openair readr zoo]; };
   worms = derive2 { name="worms"; version="0.2.2"; sha256="183chjdi5qvsmdznvc9igcxaz769a37rwh5nzgvf5zf012a85wir"; depends=[httr plyr]; };
   worrms = derive2 { name="worrms"; version="0.4.0"; sha256="0nb02k0aimf6z1fw4y5qzja4xwgwff7gdzh364w2lrhj8imcb044"; depends=[crul data_table jsonlite tibble]; };
@@ -14859,15 +15152,16 @@ in with self; {
   wpp2012 = derive2 { name="wpp2012"; version="2.2-1"; sha256="00283s4r36zzwn67fydrl7ldg6jhn14qkf47h0ifmsky95bd1n5k"; depends=[]; };
   wpp2015 = derive2 { name="wpp2015"; version="1.1-2"; sha256="07bnbmrshlqnlpca5djpq5crnpsmz228wmbpv1ah7ywnjvks6fyx"; depends=[plyr]; };
   wpp2017 = derive2 { name="wpp2017"; version="1.2-1"; sha256="1hg3fj92ja93kw226crfxjvnjb7p0svdbi6pr3sqkg9w5zpwfwp1"; depends=[]; };
-  wpp2019 = derive2 { name="wpp2019"; version="1.0-0"; sha256="0652jbwm5xa1031lhpghlh9q1w4xqng21q8ykb759fnqvj1744vm"; depends=[]; };
-  wppExplorer = derive2 { name="wppExplorer"; version="2.1-1"; sha256="0n0ayn8bxkrabw2iyqv3hfkdchbk9bzv1lhkjpxnjb6z3zl1sggl"; depends=[DT ggplot2 googleVis Hmisc plyr reshape2 shiny shinyjs shinythemes wpp2017]; };
+  wpp2019 = derive2 { name="wpp2019"; version="1.1-0"; sha256="0gx8rgz9lg6crn6ss76sg4xj8dsiwj08fkq5f67slvx4c0cjfhc5"; depends=[]; };
+  wppExplorer = derive2 { name="wppExplorer"; version="2.3-2"; sha256="05cvdwfmflciq42zr6v0279fhmsmsgdmqva2zvka95sch09kxci6"; depends=[DT ggplot2 googleVis Hmisc plyr reshape2 shiny shinyjs shinythemes wpp2019]; };
   wql = derive2 { name="wql"; version="0.4.9"; sha256="0m16l807mhcjkbqhlzhc24pw4hl78fjyykiszlg337x3qs803fg2"; depends=[ggplot2 reshape2 zoo]; };
   wqs = derive2 { name="wqs"; version="0.0.1"; sha256="14qaa9g9v4nqrv897laflib3wwhflyfaf9wpllmbi5xfv9223rcg"; depends=[glm2 Rsolnp]; };
+  wrMisc = derive2 { name="wrMisc"; version="1.0.4"; sha256="042by7n3xr0ggwna3jlaq56sp8027q0iivs88mqc6mr6pngrs53f"; depends=[MASS]; };
   wrangle = derive2 { name="wrangle"; version="0.5.2"; sha256="1b6qgwdjvwbrarp9ylgkb5ia1p5a5g7ws0jyqrwc6hii8z5yj2qb"; depends=[dplyr lazyeval magrittr rlang tidyr]; };
-  wrapr = derive2 { name="wrapr"; version="1.9.0"; sha256="0l51r3f391xs9gbfsaan7yb0ygmabbqjn14w107vk3rnikb2lw24"; depends=[]; };
+  wrapr = derive2 { name="wrapr"; version="1.9.3"; sha256="1spkjpbx9plyiyr9ndni63cxxb3nxwzwszj2brdz5wj18qhvn86i"; depends=[]; };
   wrassp = derive2 { name="wrassp"; version="0.1.8"; sha256="052x0lxpchr6f97yfj3vmhh8gc8qg5pp1m91h5akrav4yfawbs7k"; depends=[]; };
   write_snns = derive2 { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
-  writexl = derive2 { name="writexl"; version="1.1"; sha256="0w4wnpl3yhaqp63p32bk60xrbmd7xd11kxifjbzrghi7d4483a46"; depends=[]; };
+  writexl = derive2 { name="writexl"; version="1.2"; sha256="09fhdip6igcg97fjx4c7727cx2lb49l4d74l4i8rg2bag2s5lrj3"; depends=[]; };
   wrswoR = derive2 { name="wrswoR"; version="1.1"; sha256="0jnb818xz841bx2i03k3hhy4hxcwpxblskg9nrc8kgbc22rxx4lz"; depends=[logging Rcpp]; };
   wrswoR_benchmark = derive2 { name="wrswoR.benchmark"; version="0.2"; sha256="0vzs2lqq48kzk63xz2k9b7qcy0ph5yyvih6z98jfz36kpdfhdps9"; depends=[curl lazyeval]; };
   wru = derive2 { name="wru"; version="0.1-9"; sha256="0xrm3f1khggcvdzzk65mnbfcyji3kjz8hrk9d2n4y15nhpbw8p8h"; depends=[devtools]; };
@@ -14875,14 +15169,14 @@ in with self; {
   wsrf = derive2 { name="wsrf"; version="1.7.17"; sha256="0gmlvfcy2iqa5sqhwps3hx0hl9fir8nf5xq62f25sn8i3llw752z"; depends=[Rcpp]; };
   wsyn = derive2 { name="wsyn"; version="1.0.1"; sha256="1lsaah5dndg1myx3qgbm4hih2wr1zgjfaracnyljfrri2cb436n6"; depends=[fields MASS]; };
   wtest = derive2 { name="wtest"; version="3.2"; sha256="063ax9mbb2dy33l1cl533mjzpvhf2akw3613pklfjg6bhprlniz7"; depends=[]; };
-  wtss = derive2 { name="wtss"; version="1.1.0"; sha256="019zvmq4z5xy5dwcf4g0z43x2mb14d1lgqhs1zp6821izffpbd0s"; depends=[jsonlite lubridate RCurl roxygen2 zoo]; };
   wux = derive2 { name="wux"; version="2.2-1"; sha256="0iw0kf0wfspnpc83v7gxhcakmp0z34cccnm0jn9c2za9ay9l2swv"; depends=[abind class corpcor fields gdata Hmisc ncdf4 reshape rgdal rgeos rworldmap sp stringr]; };
   wv = derive2 { name="wv"; version="0.1.0"; sha256="13avx4dydy91aak9bjcqjj2hsbk9f0l4imqmwpg1fdmg6zx7694z"; depends=[coda Rcpp RcppArmadillo simts]; };
   wvtool = derive2 { name="wvtool"; version="1.0"; sha256="0x9awj6g5lzqp2lhwgh9ib7jmfdzyhwazrjvw1vwacqqfhbz8qxv"; depends=[]; };
   wwntests = derive2 { name="wwntests"; version="1.0.0"; sha256="1wsqbhsnzkishqwxz5kjcb5xawafizi3ip4yzxj05p9rx9wja1yc"; depends=[ftsa MASS rainbow sde]; };
-  wyz_code_offensiveProgramming = derive2 { name="wyz.code.offensiveProgramming"; version="1.1.12"; sha256="1xj0k9yxk7abh49w85ffxh9zmkgq57xim8409zw9mk8ysx8nv0zv"; depends=[crayon data_table lubridate R6 stringr tidyr]; };
-  wyz_code_rdoc = derive2 { name="wyz.code.rdoc"; version="1.1.6"; sha256="0ch46gxhlgp1y4v8xh7jxqd69gm48ncjnsm2y9021lwpx5vgx75l"; depends=[data_table lubridate tidyr wyz_code_offensiveProgramming]; };
-  wyz_code_testthat = derive2 { name="wyz.code.testthat"; version="1.1.6"; sha256="18y53n3vjgri01ak099r8c98fgf597bn5f83i7289xg3z9bslqsk"; depends=[data_table lubridate R6 tidyr wyz_code_offensiveProgramming]; };
+  wyz_code_metaTesting = derive2 { name="wyz.code.metaTesting"; version="1.1.4"; sha256="0npk9axsg6x8pgf3f19y2544jlrzf88269604cfdynp724l2dwb9"; depends=[crayon data_table lubridate tidyr wyz_code_offensiveProgramming]; };
+  wyz_code_offensiveProgramming = derive2 { name="wyz.code.offensiveProgramming"; version="1.1.14"; sha256="0zh3sqgwrv172dlmiiw5z86pyf1m32xkylixpdlillq731ag79v9"; depends=[crayon data_table lubridate R6 stringr tidyr]; };
+  wyz_code_rdoc = derive2 { name="wyz.code.rdoc"; version="1.1.7"; sha256="0rravk8hl2pbr3blsx96xas2zi7c9d83mpzhrqqqna66hg88zq5q"; depends=[data_table lubridate R6 tidyr wyz_code_offensiveProgramming]; };
+  wyz_code_testthat = derive2 { name="wyz.code.testthat"; version="1.1.9"; sha256="0i4jmww0sg5w8ffvk4302jdi3m5bfrbywbx5756r4dijfhv9n2kq"; depends=[data_table lubridate R6 tidyr wyz_code_offensiveProgramming]; };
   x_ent = derive2 { name="x.ent"; version="1.1.7"; sha256="15qra77dqhj27g3qx92gram4mq4n9fdidygdpvxfmcx7ww3vc6yh"; depends=[ggplot2 jsonlite statmod stringr xtable]; };
   x12 = derive2 { name="x12"; version="1.9.0"; sha256="0hrcw1d52yp5rr4r120lcnfxw2rgs95njg37m28blcnfbq2flfc2"; depends=[stringr x13binary]; };
   x12GUI = derive2 { name="x12GUI"; version="0.13.0"; sha256="1mga7g9gwb3nv2qs27lz4n9rp6j3svads28hql88sxaif6is3nk1"; depends=[cairoDevice Hmisc lattice RGtk2 stringr x12]; };
@@ -14893,27 +15187,28 @@ in with self; {
   xRing = derive2 { name="xRing"; version="0.1.0"; sha256="17f1jif8yw2508k86p8mjgw1h20ml5wzaff04ix9xq96plqzi8ma"; depends=[dplR imager tcltk2 tkRplotR]; };
   xSub = derive2 { name="xSub"; version="2.0.2"; sha256="00mahp8fi6iskjaf5nwka67a7hqb3i08j8yrd4d2av39zfs268h2"; depends=[countrycode haven RCurl]; };
   xVA = derive2 { name="xVA"; version="0.8.1"; sha256="0wr4i37sya5gg6v63ka16g9077gxbhvjqyqfaahhban8skzl2adf"; depends=[SACCR Trading]; };
-  xaringan = derive2 { name="xaringan"; version="0.12"; sha256="0k7x9cn9pm3dmp88bjzpjf4y8lqnwcmd13sjisrvqkjb82bd3pyq"; depends=[htmltools knitr rmarkdown servr xfun]; };
-  xbreed = derive2 { name="xbreed"; version="1.0.1"; sha256="0grrfra9j0k3mqikmrif5qawh4260ayr40irskzpp9ywsixim63h"; depends=[BGLR]; };
+  xaringan = derive2 { name="xaringan"; version="0.13"; sha256="1xbrjqa676m7bv6vbr4ydf7c8v6bgpcqiqzjy90vz78rg8c1hcc2"; depends=[htmltools knitr rmarkdown servr xfun]; };
+  xbreed = derive2 { name="xbreed"; version="1.0.1.1"; sha256="032i04ginyf9dyabfkygnhrkq7lqdvvyw7s41vjimy2kvjrnkkkx"; depends=[BGLR]; };
   xdcclarge = derive2 { name="xdcclarge"; version="0.1.0"; sha256="1j8wsidwmfjygqlwavxinv4bqc6rddy42jdmlknsjfrrs49yj8kn"; depends=[nlshrink Rcpp RcppArmadillo]; };
   xergm = derive2 { name="xergm"; version="1.8.3"; sha256="155469550rsdwszrhw7vdgwz2h0d72a8f4hirrb6hny7f1q63ykk"; depends=[btergm GERGM rem tnam xergm_common]; };
   xergm_common = derive2 { name="xergm.common"; version="1.7.7"; sha256="0nfls8a1knmnjjrrw0q93qsfrrb9p3yqsm5dxp13z0780vrzxvcj"; depends=[ergm network]; };
   xesreadR = derive2 { name="xesreadR"; version="0.2.3"; sha256="1pvdx0mxg2f885bhy4hb3kqzcgva4q7hzzaipkfzyi5lnjdsbc81"; depends=[bupaR data_table dplyr lubridate purrr stringr tidyr XML xml2]; };
-  xfun = derive2 { name="xfun"; version="0.10"; sha256="065ygh046ah43p5aqyrkv2vkxcnvnb4j7blfdygysg6hmqzp4pbv"; depends=[]; };
+  xfun = derive2 { name="xfun"; version="0.11"; sha256="0dncw6bqkal7nyarrrrj9arxy0y3nkdzmrbibcjh84m1cxd4phiw"; depends=[]; };
   xgb2sql = derive2 { name="xgb2sql"; version="0.1.2"; sha256="1gw5dw0ck5hip8mv347zaswrggk395bg2hgn02bvqs0d31jhmgvi"; depends=[data_table xgboost]; };
   xgboost = derive2 { name="xgboost"; version="0.90.0.2"; sha256="1gy9rzg43mjpfis893vf15drmbigfn0481zrzss9ajnmnk0q8194"; depends=[data_table magrittr Matrix stringi]; };
   xgobi = derive2 { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
-  xgxr = derive2 { name="xgxr"; version="1.0.3"; sha256="0wjk869viyzd0mb3idgg1ixapc1a7x3v63ndhp2n48wfcbzib9sq"; depends=[assertthat binom dplyr ggplot2 labeling magrittr pander png scales tibble]; };
+  xgxr = derive2 { name="xgxr"; version="1.0.5"; sha256="0q97lavhlq66cfkcq1p3jqrknd5dxgsfrsiccgzk84bd8ab42i8h"; depends=[assertthat binom dplyr ggplot2 labeling magrittr pander png scales tibble]; };
   xhmmScripts = derive2 { name="xhmmScripts"; version="1.1"; sha256="1qryyb34jx9c64l8bnwp40b08y81agdj5w0icj8dk052x50ip1hl"; depends=[gplots plotrix]; };
   xkcd = derive2 { name="xkcd"; version="0.0.6"; sha256="1z2y0ihn68ppay7xkglhw7djki5654g6z4bbpyy41if57z9q554f"; depends=[extrafont ggplot2 Hmisc]; };
   xkcdcolors = derive2 { name="xkcdcolors"; version="1.0"; sha256="07fnjv01r3b951dqca2zs9b9f6hsgbpbpsrggvb8rps53kpid0i7"; depends=[FNN]; };
   xlink = derive2 { name="xlink"; version="1.0.1"; sha256="02ahgjampy92gcwhv269px5w8651a7j50dn1295zwqxj44lk4g9q"; depends=[survival]; };
   xlsimple = derive2 { name="xlsimple"; version="0.0.1"; sha256="1x0b2pb1sg2sqmh4z03bchsc9fhcphi6mxk4nbb6my2cr0kqrrdq"; depends=[]; };
   xlsx = derive2 { name="xlsx"; version="0.6.1"; sha256="1d58qlzdj4vrk4vnlyzri600ix7z3wnc30gnbcc1qz27nlbbv055"; depends=[rJava xlsxjars]; };
+  xlsx2dfs = derive2 { name="xlsx2dfs"; version="0.1.0"; sha256="0bdawr80grks91sy221d33fsk75g20zh3wjg6gvd0zj0m1zvvwvd"; depends=[openxlsx]; };
   xlsxjars = derive2 { name="xlsxjars"; version="0.6.1"; sha256="1rka5smm7yqnhhlblpihhciydfap4i6kjaa4a7isdg7qjmzm3h9p"; depends=[rJava]; };
   xltabr = derive2 { name="xltabr"; version="0.1.2"; sha256="0pwbpcdiqkhvzxsi6yxly4zza12bw7zc7ji8cvhldw4yl5sxkz1l"; depends=[magrittr openxlsx]; };
   xlutils3 = derive2 { name="xlutils3"; version="0.1.0"; sha256="1cxishi62bd36zlsy5qhzix1p68akdf9kpjg9gfm9aqpcijzccb9"; depends=[magrittr readxl]; };
-  xmeta = derive2 { name="xmeta"; version="1.1-4"; sha256="1y9jldi8qn4jpr05g8fnvb23gig180hh36pc2v4y8n8289s9yvg2"; depends=[aod glmmML metafor mvmeta numDeriv]; };
+  xmeta = derive2 { name="xmeta"; version="1.1-5"; sha256="1r2mqrrcl7vmbyydw3kzpskinkiqr919bxgq69i1y6pbfim7jzag"; depends=[aod glmmML metafor mvmeta numDeriv]; };
   xml2 = derive2 { name="xml2"; version="1.2.2"; sha256="1x3q3a0xv8j0nx3hs4d3pfjm5g9nvaxmfrapba9f4nrkqi3z2l1h"; depends=[Rcpp]; };
   xmlparsedata = derive2 { name="xmlparsedata"; version="1.0.3"; sha256="0gjr3l5z5dp276lchr2649as1rkj56d2mlvbr66yg393zzw50lsh"; depends=[]; };
   xmlrpc2 = derive2 { name="xmlrpc2"; version="1.1"; sha256="13rfw0civp3hzi4hn31x1idliid1qb73495x4c31z5msd35lzxrs"; depends=[base64enc curl xml2]; };
@@ -14922,7 +15217,7 @@ in with self; {
   xopen = derive2 { name="xopen"; version="1.0.0"; sha256="1vrvgdika1d63dwygynbv2wmd87ll8dji5dy89hj576n8hw601z2"; depends=[processx]; };
   xplain = derive2 { name="xplain"; version="0.2.1"; sha256="01hl9dxiqqxzdixqccga0sywlhv97pi1l51r9sr7v106s7q11jxn"; depends=[RCurl readr XML]; };
   xplorerr = derive2 { name="xplorerr"; version="0.1.1"; sha256="17h8z9rmqkmm6lm9gipa33mr7zxpzd5xbjk251592mwr79lwsh8n"; depends=[magrittr shiny]; };
-  xpose = derive2 { name="xpose"; version="0.4.4"; sha256="0ps9v2iiygrzpj1zvw0xbg0cscpvsph3b2w2cv4m602iwkd6372r"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
+  xpose = derive2 { name="xpose"; version="0.4.5"; sha256="08z0n78ah27waj16rlzkvpgr9dy8z93j1lc9pfd3yip2nb9yxx45"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
   xpose4 = derive2 { name="xpose4"; version="4.6.1"; sha256="1722ai8r94dmy4d2r728iir0hl2b2gmym8xjsqscfc6jw070734i"; depends=[dplyr gam Hmisc lattice lazyeval readr survival]; };
   xptr = derive2 { name="xptr"; version="1.1.1"; sha256="1xjmplalf5w7iqkc5dk57g7lvx4jlndg4b2hvqpn05g628bxxdx2"; depends=[]; };
   xray = derive2 { name="xray"; version="0.2"; sha256="1ibj92ljlj8a5rmbrci691yhpd4kwrfyl944nzl2dcbf58l01dzq"; depends=[dplyr foreach ggplot2 lubridate scales]; };
@@ -14956,16 +15251,16 @@ in with self; {
   yhatr = derive2 { name="yhatr"; version="0.15.1"; sha256="18g2cr1kjxnfw6cwzl62ynppfv1zz732kbx18zq8918l85kx6wbw"; depends=[httr jsonlite stringr]; };
   ykmeans = derive2 { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[foreach plyr]; };
   yll = derive2 { name="yll"; version="1.0.0"; sha256="0lf3cd6pfzki29nk2iy0vd6v4dw6zlsbrjh2839zq5vlpiimsvck"; depends=[]; };
-  ymlthis = derive2 { name="ymlthis"; version="0.1.0"; sha256="02zazpi109ydgs1p4qljnx4wdvhdyx2hpv7vcavv9fwsnkl6s0a3"; depends=[crayon fs glue magrittr miniUI purrr rlang rmarkdown rstudioapi shiny shinyBS stringr usethis whoami withr yaml]; };
-  yonder = derive2 { name="yonder"; version="0.1.1"; sha256="0sb0sahxab1n42cy0kwi6dn9nhbw6vkpdd3k20a62baplxcwabn5"; depends=[htmltools magrittr shiny]; };
+  ymlthis = derive2 { name="ymlthis"; version="0.1.1"; sha256="04vf722n0yk50bclv25m11rfvqjja5kjzkn9bbdf8pw3kw83brqa"; depends=[crayon fs glue magrittr miniUI purrr rlang rmarkdown rstudioapi shiny shinyBS stringr usethis whoami withr yaml]; };
+  yonder = derive2 { name="yonder"; version="0.1.2"; sha256="0xw78nmixhp8rb6vd7pgsjqgxdrig8f652hzpiirmqcc87f80ksk"; depends=[htmltools magrittr shiny]; };
   yorkr = derive2 { name="yorkr"; version="0.0.7"; sha256="035pmvignq4lip3y5670kxj1n70ff04yy2jwi4837pimr9d0qjhv"; depends=[dplyr ggplot2 gridExtra reshape2 rpart_plot yaml]; };
-  youtubecaption = derive2 { name="youtubecaption"; version="0.1.1"; sha256="0q6ifhgmaby3lj089hld7mwaq81522r2d1zsgijc9a9xfcwfqgv0"; depends=[dplyr magrittr purrr reticulate stringr tibble writexl]; };
+  youtubecaption = derive2 { name="youtubecaption"; version="0.1.2"; sha256="183zbkzczcidd773ivahfjlsxfayczql10s8qxi3cpdr83f5dv6x"; depends=[dplyr magrittr purrr reticulate stringr tibble writexl]; };
   ypr = derive2 { name="ypr"; version="0.3.1"; sha256="0yir9c34i5yncijf6yiliv38glzbfmlr5781nvsnckh8wdb9flgx"; depends=[checkr ggplot2 scales]; };
   yuima = derive2 { name="yuima"; version="1.8.1"; sha256="1jzk3623c1cpw9j8d9b96x6n0jwz8h2izzhrdp01cwwskbnv3hq2"; depends=[boot cubature expm mvtnorm Rcpp RcppArmadillo zoo]; };
   yuimaGUI = derive2 { name="yuimaGUI"; version="1.3.0"; sha256="1znwfkhnmv9m32izikziqpgxx8gpw50786r81va808x7q058cp5n"; depends=[DT ggplot2 ghyp plotly quantmod sde shiny shinyBS shinydashboard shinyjs yuima]; };
   yum = derive2 { name="yum"; version="0.0.1"; sha256="1q8yxn18nia7jh6g2016hxm81d2jak8pwylr6nai9kfynv9wri0g"; depends=[yaml]; };
   yummlyr = derive2 { name="yummlyr"; version="0.1.1"; sha256="0xrk6g58laksz92d8mxck923sk4j92g55szrkxk123wjp5kg9vx6"; depends=[httr jsonlite]; };
-  zCompositions = derive2 { name="zCompositions"; version="1.3.2-1"; sha256="0xd0vgb6hvhxaqjkxwbgjfkx3mly4wkp40vzlsn2dph720vj87b7"; depends=[MASS NADA truncnorm]; };
+  zCompositions = derive2 { name="zCompositions"; version="1.3.3"; sha256="14f4gnvwcw7mcs08dfnrjmrdifvv0h15zaz9ajxkzsazd619mkpj"; depends=[MASS NADA truncnorm]; };
   zFactor = derive2 { name="zFactor"; version="0.1.9"; sha256="1x0cfcmnmpb8dq6wn6538ghlz9cm00grv54dj91hvb09i96cp95x"; depends=[covr data_table dplyr ggplot2 knitcitations logging rootSolve tibble tidyr]; };
   zTree = derive2 { name="zTree"; version="1.0.6"; sha256="1mywxrx6bw7dzhrdwyxbjzc8ikgvw423zycyji0jjr69cfhpmywv"; depends=[plyr]; };
   zbank = derive2 { name="zbank"; version="0.1.0"; sha256="0vzvlri3sncvbz2cdg8wzlpskm1lq9ji0jrfy5cx4ib19m6gxhpc"; depends=[crul jsonlite tibble]; };
@@ -14982,12 +15277,13 @@ in with self; {
   zic = derive2 { name="zic"; version="0.9.1"; sha256="1vd64ljigf6iwgzlgdxgj65nlwir176h7ddznddpaz2abh6n6zwp"; depends=[coda Rcpp RcppArmadillo]; };
   zip = derive2 { name="zip"; version="2.0.4"; sha256="1c02amk3pl6xir5jnbfiwiv2wvpkpbkkb1w71y6lf2yk7g3d0pdb"; depends=[]; };
   zipR = derive2 { name="zipR"; version="0.1.1"; sha256="1aaw3dslhsw3zgxvkc1v60vsk44x64i4qmjwx0gq4f7dad1rbiqp"; depends=[]; };
+  zipangu = derive2 { name="zipangu"; version="0.1.0"; sha256="1scl047mj7vpkrpgg2glvrr958p5nrwwcpymbkh4mqbhb90s79bg"; depends=[dplyr lifecycle magrittr purrr rlang stringr]; };
   zipcode = derive2 { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
   zipfR = derive2 { name="zipfR"; version="0.6-66"; sha256="0fjqa9a4z2p21ywy8h3pg0gwq4gwzjnrl78kn1nswly3w637574h"; depends=[]; };
   zipfextR = derive2 { name="zipfextR"; version="1.0.1"; sha256="14p17xxnpnvvinbgjkfxjcmipfanj6vabfh8bzw78k30rl7bj32b"; depends=[copula tolerance VGAM]; };
   ziphsmm = derive2 { name="ziphsmm"; version="2.0.6"; sha256="0lm6m2g9jd1v7gxv4viych8c59phbvz1yly1ydgajl8q251d8n87"; depends=[pracma Rcpp RcppArmadillo]; };
   zoeppritz = derive2 { name="zoeppritz"; version="1.0-7"; sha256="14j9jl2g7gn94nzs96mwsgwlxnfbr1crjfmfwbi3rk367xi197jb"; depends=[]; };
-  zoib = derive2 { name="zoib"; version="1.5.3"; sha256="0qm626z679kpzjxjlkq6fy3jg9x75x1k03pcjh57ar3saa2h96df"; depends=[abind coda Formula matrixcalc rjags]; };
+  zoib = derive2 { name="zoib"; version="1.5.4"; sha256="10hv5li1l9gm1bl3k3c9qcmzkqa4ri0kccrsgw1mn8ddn11g9m0a"; depends=[abind coda Formula matrixcalc rjags]; };
   zoltr = derive2 { name="zoltr"; version="0.2.2"; sha256="0nxg37h6vlj5g6rxmgzy060h3lwfgjxvcf5gfpsgpg1mjg9h4k3f"; depends=[base64url httr jsonlite mockery readr webmockr]; };
   zoo = derive2 { name="zoo"; version="1.8-6"; sha256="1k1pmzr9nfwbxq1xf0jzn3nawv4sgnkxkgzxnm1i887jcbrs85r2"; depends=[lattice]; };
   zooaRch = derive2 { name="zooaRch"; version="1.2"; sha256="0grc378xppv0303sf4flfqz5002vq5a23nzbq4bsff41rww7dihc"; depends=[ggplot2]; };
@@ -14996,8 +15292,8 @@ in with self; {
   zooimage = derive2 { name="zooimage"; version="5.5.2"; sha256="0ck8w0zb9l1n9xvjwqshq9q9l8pigy3yslq2hnfbgcwk17kk9mp8"; depends=[digest DT filehash jpeg MASS mda mlearning png shiny svDialogs svMisc tiff]; };
   zoom = derive2 { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; };
   zoomgrid = derive2 { name="zoomgrid"; version="1.0.0"; sha256="1bjm2b1ll5ikym21ia7k6gfiw1bcplcn4p6fls2298nf20q63kaa"; depends=[]; };
-  zoon = derive2 { name="zoon"; version="0.6.3"; sha256="11accyiv9n2zk7fq5bapbmv1ixadab19666i8w41bw642lafgivq"; depends=[dismo plyr randomForest raster RCurl rfigshare rgdal roxygen2 rworldmap SDMTools sp testthat]; };
-  zscorer = derive2 { name="zscorer"; version="0.3.0"; sha256="1fhmrkzacbqrsjcwkfc0vv2lz9mwcb1gfdpxajcc06cfkjdq8f4f"; depends=[shiny]; };
+  zoon = derive2 { name="zoon"; version="0.6.4"; sha256="1pdhsglp5w2y2pm4irnp849389iakvp03942hhgl9dzc93ad2k14"; depends=[dismo plyr randomForest raster RCurl rfigshare rgdal roxygen2 rworldmap SDMTools sp testthat]; };
+  zscorer = derive2 { name="zscorer"; version="0.3.1"; sha256="0aijhs0fyird5gq68x4dxchb02mxa7ijk10k9zjhngghxbjj7iqn"; depends=[shiny]; };
   ztable = derive2 { name="ztable"; version="0.2.0"; sha256="0g7khk5ifsdh9p31wlwh2l5mn1hzxzpv6qcn1wh34vsfjdmijjwy"; depends=[flextable magrittr moonBook officer RColorBrewer scales stringr]; };
   ztype = derive2 { name="ztype"; version="0.1.0"; sha256="0brbq2rgkl4mhjbb70kkfv47lzs66k9ppfs2klavcbripirxn5fx"; depends=[assertthat dplyr ggplot2 lubridate magrittr rvest stringr]; };
   zyp = derive2 { name="zyp"; version="0.10-1.1"; sha256="03cxpkfbhrx1fy8l0dl9a13ghz93cqq6877wa8rig09ksdiivaw9"; depends=[Kendall]; };
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index afb23ed5438..2019ee45f3c 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -311,7 +311,7 @@ let
     rgdal = [ pkgs.proj.dev pkgs.gdal ];
     rgeos = [ pkgs.geos ];
     rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
-    rgl = [ pkgs.libGLU_combined pkgs.xlibsWrapper ];
+    rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ];
     Rglpk = [ pkgs.glpk ];
     RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
@@ -454,6 +454,7 @@ let
     randomForest = [ pkgs.libiconv ];
     sundialr = [ pkgs.libiconv ];
     ucminf = [ pkgs.libiconv ];
+    glmnet = [ pkgs.libiconv ];
   };
 
   packagesRequireingX = [
@@ -852,6 +853,11 @@ let
       PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
     });
 
+    websocket = old.websocket.overrideDerivation (attrs: {
+      PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
+    });
+
     Rserve = old.Rserve.overrideDerivation (attrs: {
       patches = [ ./patches/Rserve.patch ];
       configureFlags = [
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 0e4260b6e2d..5a3b3140efd 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi
 , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl
-, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
+, msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
@@ -70,11 +70,6 @@ in
     buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ];
   };
 
-  capybara-webkit = attrs: {
-    buildInputs = [ qt59.qtbase qt59.qtwebkit ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
-    NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
-  };
-
   charlock_holmes = attrs: {
     buildInputs = [ which icu zlib ];
   };
@@ -542,7 +537,7 @@ in
     dontBuild = false;
     postPatch = ''
       substituteInPlace lib/rbreadline.rb \
-        --replace 'infocmp' '${ncurses.dev}/bin/infocmp'
+        --replace 'infocmp' '${ncurses}/bin/infocmp'
     '';
   };
 
diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix
index 7b92a586b54..af38160a5fa 100644
--- a/pkgs/development/ruby-modules/gem/default.nix
+++ b/pkgs/development/ruby-modules/gem/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
     runHook preUnpack
 
     if [[ -f $src && $src == *.gem ]]; then
-      if [[ -z "$dontBuild" ]]; then
+      if [[ -z "''${dontBuild-}" ]]; then
         # we won't know the name of the directory that RubyGems creates,
         # so we'll just use a glob to find it and move it over.
         gempkg="$src"
diff --git a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
index 142d2da9bee..0d501bd9add 100644
--- a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
+++ b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
@@ -5,6 +5,7 @@ require 'rubygems/command'
 require 'fileutils'
 require 'pathname'
 require 'tmpdir'
+require 'shellwords'
 
 if defined?(Encoding.default_internal)
   Encoding.default_internal = Encoding::UTF_8
@@ -31,7 +32,7 @@ bin_dir = File.join(ENV["out"], "bin")
 type        = ARGV[0]
 name        = ARGV[1]
 version     = ARGV[2]
-build_flags = ARGV[3]
+build_flags = Shellwords.split(ARGV[3])
 if type == "git"
   uri         = ARGV[4]
   REPO        = ARGV[5]
@@ -117,7 +118,7 @@ else
   source = Bundler::Source::Path.new(options)
 end
 spec = source.specs.search_all(name).first
-Bundler.rubygems.with_build_args [build_flags] do
+Bundler.rubygems.with_build_args build_flags do
   source.install(spec)
 end
 
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index edd946d9285..c2e4840eab0 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -3,18 +3,18 @@ GEM
   specs:
     ast (2.4.0)
     backport (1.1.2)
-    htmlentities (4.3.4)
-    jaro_winkler (1.5.3)
+    jaro_winkler (1.5.4)
+    maruku (0.7.3)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
-    parallel (1.18.0)
+    parallel (1.19.1)
     parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
     reverse_markdown (1.3.0)
       nokogiri
-    rubocop (0.75.1)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
@@ -22,11 +22,11 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 1.7)
     ruby-progressbar (1.10.1)
-    solargraph (0.37.2)
+    solargraph (0.38.0)
       backport (~> 1.1)
       bundler (>= 1.17.2)
-      htmlentities (~> 4.3, >= 4.3.4)
       jaro_winkler (~> 1.5)
+      maruku (~> 0.7, >= 0.7.3)
       nokogiri (~> 1.9, >= 1.9.1)
       parser (~> 2.3)
       reverse_markdown (~> 1.0, >= 1.0.5)
@@ -46,4 +46,4 @@ DEPENDENCIES
   solargraph!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index aa28f666e5a..e1ea15fb4e1 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -19,25 +19,25 @@
     };
     version = "1.1.2";
   };
-  htmlentities = {
+  jaro_winkler = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "4.3.4";
+    version = "1.5.4";
   };
-  jaro_winkler = {
+  maruku = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "0.7.3";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -55,20 +55,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -108,10 +108,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s5q1i7776yklkcwwx6ibm2mwnjky6wv7rpa3xhn8448854is31n";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.75.1";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -124,15 +124,15 @@
     version = "1.10.1";
   };
   solargraph = {
-    dependencies = ["backport" "htmlentities" "jaro_winkler" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "jaro_winkler" "maruku" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w20g68i6djc2vyx3awzvn15brdfpcwbna27r0903h5djcmnr8a0";
+      sha256 = "1pdqpxvjj6r6gzrz9rmxfg85cmfjs4y2lyq8p5qfg3kfpqx4rhpw";
       type = "gem";
     };
-    version = "0.37.2";
+    version = "0.38.0";
   };
   thor = {
     groups = ["default"];
@@ -174,4 +174,4 @@
     };
     version = "0.9.20";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
index 056bbd85916..0b34055274d 100644
--- a/pkgs/development/tools/alloy/default.nix
+++ b/pkgs/development/tools/alloy/default.nix
@@ -59,14 +59,14 @@ in rec {
     };
   };
 
-  alloy5 = let version = "5.0.0.1"; in generic {
+  alloy5 = let version = "5.1.0"; in generic {
     major = "5";
     inherit version;
     src = fetchurl {
-      sha256 = "0kz6i9av9ksjk62lx0dxx8xr542iqvbqd14m1f9h8xpf72c25xw4";
-      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/Alloy-${version}.jar";
+      sha256 = "02k9khs4k5nc86x9pp5k3vcb0kiwdgcin46mlap4fycnr673xd53";
+      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/org.alloytools.alloy.dist.jar";
     };
   };
 
-  alloy = alloy4;
+  alloy = alloy5;
 }
diff --git a/pkgs/development/tools/ameba/default.nix b/pkgs/development/tools/ameba/default.nix
new file mode 100644
index 00000000000..5ac6c5afa91
--- /dev/null
+++ b/pkgs/development/tools/ameba/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchFromGitHub, crystal, shards }:
+
+stdenv.mkDerivation rec {
+  pname = "ameba";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner  = "crystal-ameba";
+    repo   = "ameba";
+    rev    = "v${version}";
+    sha256 = "0zjv59f555q2w8ahrvmpdzasrifwjgr0mk6rly9yss4ab3rj8cy2";
+  };
+
+  nativeBuildInputs = [ crystal shards ];
+
+  buildPhase = ''
+    runHook preBuild
+    shards build --release
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 -t $out/bin bin/ameba
+    runHook postInstall
+  '';
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    crystal spec
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A static code analysis tool for Crystal";
+    homepage = https://crystal-ameba.github.io;
+    license = licenses.mit;
+    maintainers = with maintainers; [ kimburgess ];
+  };
+}
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index ad33edf004f..69e81596574 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm
   '' + optionalString (disableRemoteLogging) ''
     sed -i '0,/ammonite.Main/{s|ammonite.Main|ammonite.Main --no-remote-logging|}' $out/bin/amm
+    sed -i '1i #!/bin/sh' $out/bin/amm
   '';
 
   meta = {
diff --git a/pkgs/development/tools/analysis/bingrep/default.nix b/pkgs/development/tools/analysis/bingrep/default.nix
index 5fd6b402e0b..2367e197f84 100644
--- a/pkgs/development/tools/analysis/bingrep/default.nix
+++ b/pkgs/development/tools/analysis/bingrep/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bingrep";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "m4b";
     repo = pname;
-    # Currently doesn't tag versions so we're using the raw revision
-    rev = "33d56a4b020c4a3c111294fe41c613d5e8e9c7af";
-    sha256 = "0lg92wqknr584b44i5v4f97js56j89z7n8p2zpm8j1pfhjmgcigs";
+    rev = "v${version}";
+    sha256 = "1xig3lrw0jdaxibzirqnm50l8nj4si9pa9w0jypmyhf1lr6yzd0g";
   };
 
-  cargoSha256 = "1yxm7waldhilx7wh1ag79rkp8kypb9k1px4ynmzq11r72yl2p4m7";
+  cargoSha256 = "1fsp1ycfswrzldwnjw5cdwi809fd37pwshvrpf7sp0wmzx2bqhgm";
 
   meta = with stdenv.lib; {
     description = "Greps through binaries from various OSs and architectures, and colors them";
diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix
index 121e1597eb7..edf37efbce9 100644
--- a/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/pkgs/development/tools/analysis/brakeman/default.nix
@@ -4,13 +4,13 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "brakeman";
-  version = "4.7.1";
-  source.sha256 = "149ny2n82hzxw4g8xnimjavs2niq14wl9kwq8zlvadavdg4g9ind";
+  version = "4.7.2";
+  source.sha256 = "1j1svldxvbl27kpyp9yngfwa0fdqal926sjk0cha7h520wvnz79k";
 
   meta = with lib; {
     description = "Static analysis security scanner for Ruby on Rails";
-    homepage = https://brakemanscanner.org/;
-    license = [ licenses.cc-by-nc-sa-40 licenses.mit ];
+    homepage = "https://brakemanscanner.org/";
+    license = [ licenses.unfreeRedistributable ];
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 2ecb660ff84..009458d4176 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.26";
+  version = "8.27";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "0q0jb0ip78vai2qcig51lgp9pbb4bsg9wlwjxq0gm61icbxw6vy3";
+    sha256 = "1x3klaww0x5ql0jrqfmirni7jbph4hybmkslc268f6knsbs5lijl";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/analysis/cpplint/default.nix b/pkgs/development/tools/analysis/cpplint/default.nix
index 10ed99e3ffe..8b4a68adba3 100644
--- a/pkgs/development/tools/analysis/cpplint/default.nix
+++ b/pkgs/development/tools/analysis/cpplint/default.nix
@@ -1,6 +1,6 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "cpplint";
   version = "1.3.0";
 
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index b309f559f36..ecd8f3a17ec 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices }:
+{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.111.0";
+  version = "0.114.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "17w26b17n81kc1igmr6dgm6y2aa1ng0cbhbhwwz3iwsf0dm6db1l";
+    sha256 = "1dkp3v898b5vd0a9fl5xknwbbqv23v0icqml8ypyhzrv6wz5qiy3";
   };
 
   installPhase = ''
@@ -19,9 +19,18 @@ stdenv.mkDerivation rec {
   buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ocaml-migrate-parsetree ])
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  patches = [
+    # Fix List.compare labeled argument. Remove when https://github.com/facebook/flow/pull/8191 is merged
+    (fetchpatch {
+      url = "https://github.com/facebook/flow/commit/1625664ec7290d4128587d96cb878571751f8881.patch";
+      sha256 = "18fan0d2xa6z4ilbr7ha3vhnfqlr2s6mb02sgpv8ala99b0mcgmn";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A static type checker for JavaScript";
     homepage = https://flow.org/;
+    changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
     maintainers = with maintainers; [ marsam puffnfresh ];
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 8f170993370..701db7a158f 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -23,13 +23,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "19.0";
+  version = "19.1";
   slang   = "Potassium";
 
   src = fetchurl {
     url    = "http://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    sha256 = "190n1n4k0xbycz25bn0d2gnfxd8w6scz3nlixl7w2k2jvpqlcs3n";
-
+    sha256 = "16xsc4jv3ycs5dqprpkh9isr6l2w6i4bq83msqmkdc7l7hf53vrd";
   };
 
   preConfigure = lib.optionalString stdenv.cc.isClang "configureFlagsArray=(\"--with-cpp=clang -E -C\")";
diff --git a/pkgs/development/tools/analysis/hotspot/default.nix b/pkgs/development/tools/analysis/hotspot/default.nix
index 89ffbff3db7..fc7cd2ffe19 100644
--- a/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/pkgs/development/tools/analysis/hotspot/default.nix
@@ -1,4 +1,5 @@
 { stdenv,
+  mkDerivation,
   cmake,
   elfutils,
   extra-cmake-modules,
@@ -14,7 +15,7 @@
   threadweaver,
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "hotspot";
   version = "1.2.0";
 
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
index c05d47e396c..424d83822e8 100644
--- a/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   pname = "include-what-you-use";
   # Also bump llvmPackages in all-packages.nix to the supported version!
-  version = "0.12";
+  version = "0.13";
 
   src = fetchurl {
-    sha256 = "09b0h704fh7r4f5h92p5997cj3zk1v04bqp4jk1j1f6cmfq2z2d5";
+    sha256 = "1jav4qf7d303by9iy6v08w73wfwzj76i54inh90w1s34m9q44aa9";
     url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
   };
 
diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix
new file mode 100644
index 00000000000..5895be0208b
--- /dev/null
+++ b/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, parallel-io
+, fixplate
+, pandoc
+, tasty
+, tasty-hunit
+, tasty-th
+, streamly
+, mtl
+, path-io
+, path
+, pretty-terminal
+, text
+, base
+, aeson
+, cmdargs
+, containers
+, hnix
+, bytestring
+}:
+
+mkDerivation rec {
+  pname = "nix-linter-unstable";
+  version = "2019-04-26";
+
+  src = fetchFromGitHub {
+    owner = "Synthetica9";
+    repo = "nix-linter";
+    rev = "4aaf60195cd2d9f9e2345fbdf4aac48e1451292c";
+    sha256 = "0c7rcjaxd8z0grwambsw46snv7cg66h3pszw3549z4xz0i60yq87";
+  };
+
+  isLibrary = false;
+  isExecutable = true;
+  libraryHaskellDepends = [ parallel-io fixplate pandoc ];
+  executableHaskellDepends = [ streamly mtl path-io path pretty-terminal text base aeson cmdargs containers hnix bytestring ];
+  testHaskellDepends = [ tasty tasty-hunit tasty-th ];
+
+  description = "Linter for Nix(pkgs), based on hnix";
+  homepage = "https://github.com/Synthetica9/nix-linter";
+  license = lib.licenses.bsd3;
+  maintainers = [ lib.maintainers.marsam ];
+}
diff --git a/pkgs/development/tools/analysis/oclgrind/default.nix b/pkgs/development/tools/analysis/oclgrind/default.nix
index 4d1b22a72b5..f5e649d0354 100644
--- a/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oclgrind";
-  version = "18.3"; # see comment in all-packages.nix
+  version = "19.10";
 
   src = fetchFromGitHub {
     owner = "jrprice";
     repo = "oclgrind";
     rev = "v${version}";
-    sha256 = "0s42z3dg684a0gk8qyx2h08cbh95zkrdaaj9y71rrc5bjsg8197x";
+    sha256 = "12v5z5x3ls26p3y3yc4mqmh12cazc0nlrwvmfbn6cyg4af9dp0zn";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
index 794581bca7a..b9e72e62366 100755
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ b/pkgs/development/tools/analysis/radare2/update.py
@@ -38,7 +38,7 @@ def get_radare2_rev() -> str:
 
 def get_cutter_version() -> str:
     version_expr = """
-(with import <nixpkgs> {}; (builtins.parseDrvName (qt5.callPackage <radare2/cutter.nix> {}).name).version)
+(with import <nixpkgs> {}; lib.getVersion (qt5.callPackage <radare2/cutter.nix> {}))
 """
     return sh("nix", "eval", "--raw", version_expr.strip(), "-I", "radare2={0}".format(SCRIPT_DIR))
 
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 844fd38d9be..a8d95eb05de 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cmake libpfm zlib python2Packages.python python2Packages.pexpect which procps gdb capnproto
   ];
+  propagatedBuildInputs = [ gdb ]; # needs GDB to replay programs at runtime
   cmakeFlags = [
     "-DCMAKE_C_FLAGS_RELEASE:STRING="
     "-DCMAKE_CXX_FLAGS_RELEASE:STRING="
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 2e07542d5f9..79dedb3afba 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,22 +2,23 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.12.1";
+  version = "0.13.3";
 
   src = fetchFromGitHub {
-    owner = "wata727";
+    owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vwv6gkzrs5nv5a278siwza2ifwqy08rmcdddx275crcjkz3bv53";
+    sha256 = "13azczm5lg9v5mvf1jx165qy2nj2941qlr9vvxa7q3gqmhxcg271";
   };
 
-  modSha256 = "048mh6zr1fkz5bcxg27d0s472ig9xcq0zgbqpxspkvkdxxw9iizf";
+  modSha256 = "0xckzyfc144bc212amw1n63jkmdljbmj0rq0midr37h6bg5a10q3";
 
   subPackages = [ "." ];
 
   meta = with lib; {
     description = "Terraform linter focused on possible errors, best practices, and so on";
-    homepage = "https://github.com/wata727/tflint";
+    homepage = "https://github.com/terraform-linters/tflint";
+    changelog = "https://github.com/terraform-linters/tflint/releases/tag/v${version}";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
new file mode 100644
index 00000000000..953e9f5b95a
--- /dev/null
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "tfsec";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1nv7wdchbgf3y265kghhy8rbyvbs03ys5gv9622v0f2kswscy9xl";
+  };
+
+  goPackagePath = "github.com/liamg/tfsec";
+
+  meta = with lib; {
+    homepage = "https://github.com/liamg/tfsec";
+    description = "Static analysis powered security scanner for your terraform code";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index b5abff94c79..8e2db5caab1 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
   # Perl is needed for `callgrind_{annotate,control}'.
   buildInputs = [ gdb perl ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
 
+  # Perl is also a native build input.
+  nativeBuildInputs = [ perl ];
+
   enableParallelBuilding = true;
   separateDebugInfo = stdenv.isLinux;
 
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 56f9f98856c..76037f98e1b 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apktool";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchurl {
     urls = [
       "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
       "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
     ];
-    sha256 = "1hdwgsw3ggmdzv523wq037kjxhxqp1xq8n8m1qb22vvdj7l1dwd0";
+    sha256 = "0ljsh8nx065isnyzzrwddypikkfhyqsww0w02cgwgh8x3lhndsxx";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/tools/async/default.nix b/pkgs/development/tools/async/default.nix
new file mode 100644
index 00000000000..1b06d8e1adc
--- /dev/null
+++ b/pkgs/development/tools/async/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "async";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "ctbur";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19ypflbayi5l0mb8yw7w0a4bq9a3w8nl9jsxapp9m3xggzmsvrxx";
+  };
+
+  cargoSha256 = "1qf52xsd15rj8y9w65zyab7akvzry76k1d4gxvxlz7ph3sl7jl3y";
+
+  meta = with stdenv.lib; {
+    description = "A tool to parallelize shell commands";
+    longDescription = ''
+      `async` is a tool to run shell commands in parallel and is designed to be
+      able to quickly parallelize shell scripts with minimal changes. It was
+      inspired by GNU Parallel, with the main difference being that async
+      retains state between commands by running a server in the background.
+      '';
+    homepage = "https://github.com/ctbur/async";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ minijackson ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 67abd284952..43cb26a30d8 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,12 +5,11 @@
 let
   py = python.override {
     packageOverrides = self: super: {
-
-      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
-        version = "1.14.0";
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "1cghn1m7ana9s8kyg61dwp9mrism5l04vy5rj1wnmksz8vzmnq9w";
+          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
         };
       });
 
@@ -34,11 +33,11 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "0.22.0";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1flbvqlj5llz7nrszmcf00v2a1pa36alv90r1l8lwn8zid5aabkn";
+    sha256 = "1ndgcbd6zr23lvmqn4wikgvnlwl0gj0wgyawaspwm3b0jlvxadik";
   };
 
   # Tests are not included in the PyPI package
@@ -58,14 +57,17 @@ buildPythonApplication rec {
     requests
     serverlessrepo
     six
+    tomlkit
   ];
 
   # fix over-restrictive version bounds
   postPatch = ''
-    substituteInPlace requirements/base.txt --replace "requests==2.20.1" "requests==2.22.0"
-    substituteInPlace requirements/base.txt --replace "serverlessrepo==0.1.9" "serverlessrepo~=0.1.9"
-    substituteInPlace requirements/base.txt --replace "six~=1.11.0" "six~=1.12.0"
-    substituteInPlace requirements/base.txt --replace "PyYAML~=3.12" "PyYAML~=5.1"
+    substituteInPlace requirements/base.txt \
+      --replace "requests==2.20.1" "requests==2.22.0" \
+      --replace "serverlessrepo==0.1.9" "serverlessrepo~=0.1.9" \
+      --replace "six~=1.11.0" "six~=1.12.0" \
+      --replace "python-dateutil~=2.6, <2.8.1" "python-dateutil~=2.6" \
+      --replace "PyYAML~=3.12" "PyYAML~=5.1"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 403d0ab745a..e3e85ffcd40 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.0.1-pre";
-  revision = "10.0.1";
-  goPackagePath = "github.com/Azure/azure-storage-azcopy";
-
-  goDeps= ./deps.nix;
+  version = "10.3.2";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
-    rev = revision;
-    sha256 = "0v1qli01nnx81186q1d2556w457qkbwypq6yy89ns52pqg941arp";
+    rev = "v${version}";
+    sha256 = "0n4yns81kwwx725smsgqg8hc693ygqlzrgkqdrhrfszkpm205479";
   };
 
+  subPackages = [ "." ];
+
+  modSha256 = "07cy2zi7m2pkbfdcy659x4k5j2w60cmjy8kxv1dcii3dc6ls4bvb";
+
+  postInstall = ''
+    ln -rs "$out/bin/azure-storage-azcopy" "$out/bin/azcopy"
+  '';
+
   meta = with stdenv.lib; {
     maintainers = with maintainers; [ colemickens ];
     license = licenses.mit;
diff --git a/pkgs/development/tools/azcopy/deps.nix b/pkgs/development/tools/azcopy/deps.nix
deleted file mode 100644
index cef400200d0..00000000000
--- a/pkgs/development/tools/azcopy/deps.nix
+++ /dev/null
@@ -1,129 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/Azure/azure-pipeline-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-pipeline-go";
-      rev =  "7571e8eb0876932ab505918ff7ed5107773e5ee2";
-      sha256 = "0i8n7jna9prq3zdbj0bsr1ha271lgg9233n71dw8li5qsiyg8bs2";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/azure-storage-blob-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-storage-blob-go";
-      rev =  "197d1c0aea1b9eedbbaee0a1a32bf81e879bde80";
-      sha256 = "0wslfah8x1i5l98ss4wxv47ddxfp8mbc90cnfi81v7qnf0bpjp2g";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/azure-storage-file-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/azure-storage-file-go";
-      rev =  "9227fd295d972e4395fd601e6f48cee2f5cda02b";
-      sha256 = "0sr5iqiddjs2lnma5ixrrdik9zciqqd74priivvpycgi3cyxyxyn";
-    };
-  }
-  {
-    goPackagePath  = "github.com/Azure/go-autorest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev =  "39013ecb48eaf6ced3f4e3e1d95515140ce6b3cf";
-      sha256 = "1cbf1ay68lghr4swy2a0asfcjpzkamvz1cqxpdm6691b76j2x6cm";
-    };
-  }
-  {
-    goPackagePath  = "github.com/JeffreyRichter/enum";
-    fetch = {
-      type = "git";
-      url = "https://github.com/JeffreyRichter/enum";
-      rev =  "2567042f9cda26772f0afe08bab6e5105745f298";
-      sha256 = "1d2sjjlp0r2ynk1fb3sb7dgbqzbq4czipb7ffm9zdmjbz0gp6crr";
-    };
-  }
-  {
-    goPackagePath  = "github.com/dgrijalva/jwt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgrijalva/jwt-go";
-      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
-      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
-    };
-  }
-  {
-    goPackagePath  = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath  = "github.com/jiacfan/keychain";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jiacfan/keychain";
-      rev =  "55285221316b0547171a4258015906e3a4da4721";
-      sha256 = "0nfpmqmj33953awysp1948y6k28cmh4770q0i60jv88k35p10s56";
-    };
-  }
-  {
-    goPackagePath  = "github.com/jiacfan/keyctl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jiacfan/keyctl";
-      rev =  "988d05162bc59cf7789c35af405be8f1599a87a3";
-      sha256 = "1q4svv9z3s3n2x4ff8cyr53g5ln1yfrcmc3bvznhhwq190dhm94c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev =  "73f6ac0b30a98e433b289500d779f50c1a6f0712";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath  = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev =  "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev =  "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
-    };
-  }
-  {
-    goPackagePath  = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev =  "9a97c102cda95a86cec2345a6f09f55a939babf5";
-      sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-check/check";
-      rev =  "788fd78401277ebd861206a03c884797c6ec5541";
-      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
-    };
-  }
-]
\ No newline at end of file
diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix
index 15303c2c87f..f6dd4687dab 100644
--- a/pkgs/development/tools/bazelisk/default.nix
+++ b/pkgs/development/tools/bazelisk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pv113sk7hfxp4m2rcriqqp6mbbzcfdr0yrx4g1yiam93rx34yb7";
+    sha256 = "1rjv21jwq2lkyq60qqg6bd8226dz90hanl3zd9fjlms3vm0zarf8";
   };
 
   modSha256 = "0gs8y618izqi0gfa46jqh79yj8lzsmc6yj95fakhp2f5i8v1xrmx";
diff --git a/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
index 0a86aaeb6ca..661e16d83e8 100644
--- a/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
@@ -46,14 +46,14 @@ stdenv.mkDerivation {
       # JRE by looking for java.  The latter allows just the JRE to be
       # used with (say) ECJ as the compiler.  Finally, allow the GNU
       # JVM.
-      if [ -z "\$JAVA_HOME" ]; then
+      if [ -z "\''${JAVA_HOME-}" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
                   export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
-          if [ -z "\$JAVA_HOME" ]; then
+          if [ -z "\''${JAVA_HOME-}" ]; then
               echo "\$0: cannot find the JDK or JRE" >&2
               exit 1
           fi
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 8d1e09eeb33..28e86e29175 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -46,14 +46,14 @@ stdenv.mkDerivation {
       # JRE by looking for java.  The latter allows just the JRE to be
       # used with (say) ECJ as the compiler.  Finally, allow the GNU
       # JVM.
-      if [ -z "\$JAVA_HOME" ]; then
+      if [ -z "\''${JAVA_HOME-}" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
                   export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
-          if [ -z "\$JAVA_HOME" ]; then
+          if [ -z "\''${JAVA_HOME-}" ]; then
               echo "\$0: cannot find the JDK or JRE" >&2
               exit 1
           fi
diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
index 89103ee540c..9194eda3361 100644
--- a/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -2,7 +2,7 @@
 
 assert jdk != null;
 
-let version = "3.6.2"; in
+let version = "3.6.3"; in
 stdenv.mkDerivation rec {
   pname = "apache-maven";
   inherit version;
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "1p6z6bmjfzda8kxy73jjg03yfkbssbb3vgvzspxxd0hljv8r5g1z";
+    sha256 = "1i9qlj3vy4j1yyf22nwisd0pg88n9qzp9ymfhwqabadka7br3b96";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_rc.patch b/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
new file mode 100644
index 00000000000..a599ac3ec72
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc
+index 8f8f15685f..a7ae52d1e4 100644
+--- a/src/main/cpp/option_processor.cc
++++ b/src/main/cpp/option_processor.cc
+@@ -56,7 +56,7 @@ OptionProcessor::OptionProcessor(
+     : workspace_layout_(workspace_layout),
+       startup_options_(std::move(default_startup_options)),
+       parse_options_called_(false),
+-      system_bazelrc_path_(BAZEL_SYSTEM_BAZELRC_PATH) {}
++      system_bazelrc_path_("@bazelSystemBazelRCPath@") {}
+ 
+ OptionProcessor::OptionProcessor(
+     const WorkspaceLayout* workspace_layout,
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 4a5a1d4d44c..e82bbb4aba1 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -19,14 +19,17 @@
 , enableNixHacks ? false
 , gcc-unwrapped
 , autoPatchelfHook
+, file
+, substituteAll
+, writeTextFile
 }:
 
 let
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1awm5wa4y4c37zy7d1ass83amwq5992wydkj5v9jx0zp7b4shrjb";
+    sha256 = "1qfk14mgx1m454b4w4ldggljzqkqwpdwrlynq7rc8aq11yfs8p95";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -50,7 +53,7 @@ let
        else srcs."java_tools_javac11_linux-v6.1.zip")
       srcs."coverage_output_generator-v2.0.zip"
       srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.11.tar.gz"
+      srcs."android_tools_pkg-0.12.tar.gz"
       srcs."0.28.3.tar.gz"
       srcs.rules_pkg
       srcs.rules_cc
@@ -91,7 +94,7 @@ let
     #        ],
     #     )
     #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
+    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
 
   # Java toolchain used for the build and tests
   javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
@@ -124,6 +127,18 @@ let
     '';
   };
 
+  bazelRC = writeTextFile {
+    name = "bazel-rc";
+    text = ''
+      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
+      build --distdir=${distDir}
+      startup --server_javabase=${runJdk}
+
+      # load default location for the system wide configuration
+      try-import /etc/bazel.bazelrc
+    '';
+  };
+
 in
 stdenv.mkDerivation rec {
   pname = "bazel";
@@ -145,6 +160,24 @@ stdenv.mkDerivation rec {
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
     ./trim-last-argument-to-gcc-if-empty.patch
+
+    # --experimental_strict_action_env (which may one day become the default
+    # see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a non hermetic value (e.g. "/usr/local/bin").
+    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
+    # So we are replacing this bazel paths by defaultShellPath,
+    # improving hermeticity and making it work in nixos.
+    (substituteAll {
+      src = ./strict_action_env.patch;
+      strictActionEnvPatch = defaultShellPath;
+    })
+
+    # bazel reads its system bazelrc in /etc
+    # override this path to a builtin one
+    (substituteAll {
+      src = ./bazel_rc.patch;
+      bazelSystemBazelRCPath = bazelRC;
+    })
   ] ++ lib.optional enableNixHacks ./nix-hacks.patch;
 
 
@@ -390,14 +423,6 @@ stdenv.mkDerivation rec {
           -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
           -i scripts/bootstrap/compile.sh
 
-      # --experimental_strict_action_env (which will soon become the
-      # default, see bazelbuild/bazel#2574) hardcodes the default
-      # action environment to a value that on NixOS at least is bogus.
-      # So we hardcode it to something useful.
-      substituteInPlace \
-        src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
-        --replace /bin:/usr/bin ${defaultShellPath}
-
       # This is necessary to avoid:
       # "error: no visible @interface for 'NSDictionary' declares the selector
       # 'initWithContentsOfURL:error:'"
@@ -413,12 +438,6 @@ stdenv.mkDerivation rec {
       mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
 
       patchShebangs .
-
-      # bazel reads its system bazelrc in /etc
-      # override this path to a builtin one
-      substituteInPlace \
-        src/main/cpp/option_processor.cc \
-        --replace BAZEL_SYSTEM_BAZELRC_PATH "\"$out/etc/bazelrc\""
     '';
     in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
      + genericPatches;
@@ -470,15 +489,6 @@ stdenv.mkDerivation rec {
     cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
     mv ./bazel_src/output/bazel $out/bin/bazel-real
 
-    wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"
-
-    # generates the system bazelrc
-    # warning: the name of the repository depends on the system, hence
-    # the reference to .name
-    mkdir $out/etc
-    echo "build --override_repository=${remote_java_tools.name}=${remote_java_tools}" > $out/etc/bazelrc
-    echo "build --distdir=${distDir}" >> $out/etc/bazelrc
-
     # shell completion files
     mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
     mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
diff --git a/pkgs/development/tools/build-managers/bazel/src-deps.json b/pkgs/development/tools/build-managers/bazel/src-deps.json
index 152cce5093e..e86e6a1c945 100644
--- a/pkgs/development/tools/build-managers/bazel/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/src-deps.json
@@ -55,11 +55,11 @@
             "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
-    "android_tools_pkg-0.11.tar.gz": {
-        "name": "android_tools_pkg-0.11.tar.gz",
-        "sha256": "6fc50151063bffdda700038ea7df99c89d54dc066e9377a5baff60d55d482ad2",
+    "android_tools_pkg-0.12.tar.gz": {
+        "name": "android_tools_pkg-0.12.tar.gz",
+        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.11.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz"
         ]
     },
     "bazel_j2objc": {
@@ -108,11 +108,11 @@
     },
     "com_google_googletest": {
         "name": "com_google_googletest",
-        "sha256": "0fb00ff413f6b9b80ccee44a374ca7a18af7315aea72a43c62f2acd1ca74e9b5",
-        "strip_prefix": "googletest-f13bbe2992d188e834339abe6f715b2b2f840a77",
+        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+        "strip_prefix": "googletest-release-1.10.0",
         "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz",
-            "https://github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz"
+            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
+            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
         ]
     },
     "coverage_output_generator-v2.0.zip": {
diff --git a/pkgs/development/tools/build-managers/bazel/strict_action_env.patch b/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
new file mode 100644
index 00000000000..1402c20f6bd
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+index a70b5559bc..10bdffe961 100644
+--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+@@ -466,7 +466,7 @@ public class BazelRuleClassProvider {
+       // Note that --action_env does not propagate to the host config, so it is not a viable
+       // workaround when a genrule is itself built in the host config (e.g. nested genrules). See
+       // #8536.
+-      return "/bin:/usr/bin:/usr/local/bin";
++      return "@strictActionEnvPatch@";
+     }
+
+     String newPath = "";
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 23ffe286824..ce656d4d78f 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -2,15 +2,15 @@
 
 let
   baseName = "bloop";
-  version = "1.3.2";
-  nailgunCommit = "9327a60a"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
+  version = "1.3.4";
+  nailgunCommit = "d7ed5db"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
 
   client = stdenv.mkDerivation {
     name = "${baseName}-client-${version}";
 
     src = fetchurl {
       url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py";
-      sha256 = "0z4as5ibmzkd145wsch9caiy4037bgg780gcf7pyns0cv9n955b4";
+      sha256 = "0lrj25m0nvphz2i5mqjwccpyrd7gn8a5k22k5khrpdh6ldxqis8a";
     };
 
     phases = [ "installPhase" ];
@@ -33,7 +33,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0k9zc9q793fkfwcssbkmzb0nxmgb99rwi0pjkqhvf719vmgvhc2a";
+    outputHash     = "1z33ip6hgfwiixm2gimz819p5cnxn1fmxb3ryyf77jzwsx7py718";
   };
 
   zsh = stdenv.mkDerivation {
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 5bad0100a03..37a44f15e9c 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig
 , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
 , buildPackages
 # darwin attributes
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
           + lib.optionalString useNcurses "-cursesUI"
           + lib.optionalString withQt5 "-qt5UI"
           + lib.optionalString useQt4 "-qt4UI";
-  version = "3.15.1";
+  version = "3.15.5";
 
   src = fetchurl {
     url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
     # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt
-    sha256 = "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq";
+    sha256 = "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv";
   };
 
   patches = [
@@ -36,6 +36,13 @@ stdenv.mkDerivation rec {
 
     # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
     ./libuv-application-services.patch
+
+    # Fix for harfbuzz with pango versions > 1.43.
+    # Should be removed with cmake >= 3.16
+    (fetchpatch {
+      url = "https://gitlab.kitware.com/cmake/cmake/commit/effafca77eacbb4988006b1f3f4d9154df6c33f8.diff";
+      sha256 = "0vxam5kka1dffygp1nd0g21ib9qk8kds8iprbfga2gimzyrlfmfr";
+    })
   ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index b8716c5251e..52b9c3ab5f5 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -20,17 +20,17 @@ cmakeConfigurePhase() {
         export CTEST_PARALLEL_LEVEL=$NIX_BUILD_CORES
     fi
 
-    if [ -z "$dontFixCmake" ]; then
+    if [ -z "${dontFixCmake-}" ]; then
         fixCmakeFiles .
     fi
 
-    if [ -z "$dontUseCmakeBuildDir" ]; then
+    if [ -z "${dontUseCmakeBuildDir-}" ]; then
         mkdir -p build
         cd build
         cmakeDir=${cmakeDir:-..}
     fi
 
-    if [ -z "$dontAddPrefix" ]; then
+    if [ -z "${dontAddPrefix-}" ]; then
         cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags"
     fi
 
@@ -84,7 +84,7 @@ cmakeConfigurePhase() {
     cmakeFlags="-DCMAKE_INSTALL_LOCALEDIR=${!outputLib}/share/locale $cmakeFlags"
 
     # Don’t build tests when doCheck = false
-    if [ -z "$doCheck" ]; then
+    if [ -z "${doCheck-}" ]; then
         cmakeFlags="-DBUILD_TESTING=OFF $cmakeFlags"
     fi
 
@@ -99,7 +99,7 @@ cmakeConfigurePhase() {
     cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
     cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON $cmakeFlags"
 
-    if [ "$buildPhase" = ninjaBuildPhase ]; then
+    if [ "${buildPhase-}" = ninjaBuildPhase ]; then
         cmakeFlags="-GNinja $cmakeFlags"
     fi
 
@@ -115,7 +115,7 @@ cmakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseCmakeConfigure-}" -a -z "${configurePhase-}" ]; then
     setOutputFlags=
     configurePhase=cmakeConfigurePhase
 fi
@@ -125,25 +125,25 @@ addEnvHooks "$targetOffset" addCMakeParams
 makeCmakeFindLibs(){
   isystem_seen=
   iframework_seen=
-  for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do
+  for flag in ${NIX_CFLAGS_COMPILE-} ${NIX_LDFLAGS-}; do
     if test -n "$isystem_seen" && test -d "$flag"; then
       isystem_seen=
-      export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag}"
+      export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag}"
     elif test -n "$iframework_seen" && test -d "$flag"; then
       iframework_seen=
-      export CMAKE_FRAMEWORK_PATH="$CMAKE_FRAMEWORK_PATH${CMAKE_FRAMEWORK_PATH:+:}${flag}"
+      export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag}"
     else
       isystem_seen=
       iframework_seen=
       case $flag in
         -I*)
-          export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
+          export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag:2}"
           ;;
         -L*)
-          export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
+          export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH-}${CMAKE_LIBRARY_PATH:+:}${flag:2}"
           ;;
         -F*)
-          export CMAKE_FRAMEWORK_PATH="$CMAKE_FRAMEWORK_PATH${CMAKE_FRAMEWORK_PATH:+:}${flag:2}"
+          export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag:2}"
           ;;
         -isystem)
           isystem_seen=1
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index ce7b0871044..59b1b14ac5f 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, git }:
+{ lib, python3, git, pkgconfig }:
 
 let newPython = python3.override {
   packageOverrides = self: super: {
@@ -37,43 +37,48 @@ let newPython = python3.override {
         sha256 = "c0abe3218b86533cca287e7057a37481883c07acef7814b70583406938214cc8";
       };
     });
-    pyyaml = super.pyyaml_3;
   };
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.12.0";
+  version = "1.12.3";
   pname = "conan";
 
   src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0hgy3wfy96likdchz42h9mawfjw4dxx7k2iinrrlhph7128kji1j";
+    sha256 = "1cnfy9b57apps4bfai6r67g0mrvgnqa154z9idv0kf93k1nvx53g";
   };
+
+  propagatedBuildInputs = with newPython.pkgs; [
+    colorama deprecation distro fasteners bottle
+    future node-semver patch pygments pluginbase
+    pyjwt pylint pyyaml requests six tqdm
+  ];
+
   checkInputs = [
+    pkgconfig
     git
   ] ++ (with newPython.pkgs; [
     codecov
     mock
+    pytest
     node-semver
     nose
     parameterized
     webtest
   ]);
 
-  propagatedBuildInputs = with newPython.pkgs; [
-    colorama deprecation distro fasteners bottle
-    future node-semver patch pygments pluginbase
-    pyjwt pylint pyyaml requests six tqdm
-  ];
-
   checkPhase = ''
-    export HOME="$TMP/conan-home"
-    mkdir -p "$HOME"
+    export HOME=$TMPDIR
+    pytest conans/test/{utils,unittests} \
+      -k 'not SVN and not ToolsNetTest'
   '';
 
   postPatch = ''
     substituteInPlace conans/requirements_server.txt \
       --replace "pluginbase>=0.5, < 1.0" "pluginbase>=0.5"
+    substituteInPlace conans/requirements.txt \
+      --replace "PyYAML>=3.11, <3.14.0" "PyYAML"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix
index 6fc03a55094..8fd2514c4a0 100644
--- a/pkgs/development/tools/build-managers/doit/default.nix
+++ b/pkgs/development/tools/build-managers/doit/default.nix
@@ -3,14 +3,14 @@
 let
 
   name = "doit";
-  version = "0.31.1";
+  version = "0.32.0";
 
 in python3Packages.buildPythonApplication {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz";
-    sha256 = "1spm8vfjh4kvalaj0i2ggbdln1yy5k68d8mfwfnpqlzxxx4ikl5s";
+    sha256 = "033m6y9763l81kgqd07rm62bngv3dsm3k9p28nwsn2qawl8h8g9j";
   };
 
   buildInputs = with python3Packages; [ mock pytest ];
diff --git a/pkgs/development/tools/build-managers/gn/setup-hook.sh b/pkgs/development/tools/build-managers/gn/setup-hook.sh
index 75d2edcaf1c..850f18948ca 100644
--- a/pkgs/development/tools/build-managers/gn/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/gn/setup-hook.sh
@@ -9,6 +9,6 @@ gnConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseGnConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseGnConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=gnConfigurePhase
 fi
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index 1d1bee9c04f..48a719c7c26 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "icmake";
-  version = "9.02.08";
+  version = "9.02.09";
 
   src = fetchFromGitLab {
-    sha256 = "1pr5lagmdls3clzwa2xwcfa3k5750rf7i0j3zld0xirb41zx07q2";
+    sha256 = "0f4vyqgjribwa60j3a1c2xv69zllc7rfhaafq0jj1mdy8hdzvxpd";
     rev = version;
     repo = "icmake";
     owner = "fbb-git";
diff --git a/pkgs/development/tools/build-managers/kati/default.nix b/pkgs/development/tools/build-managers/kati/default.nix
index 03cc0518ab5..05834565f93 100644
--- a/pkgs/development/tools/build-managers/kati/default.nix
+++ b/pkgs/development/tools/build-managers/kati/default.nix
@@ -1,14 +1,14 @@
-{ fetchgit, stdenv }:
+{ stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "kati-unstable";
-  version = "2017-05-23";
-  rev = "2dde61e46ab789f18956ff3b7c257dd8eb97993f";
+  version = "2019-09-23";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/google/kati.git";
-    sha256 = "1das1fvycra546lmh72cr5qpgblhbzqqy7gfywiijjgx160l75vq";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "kati";
+    rev = "9da3296746a0cd55b38ebebf91e7f57105a4c36f";
+    sha256 = "0s5dfhgpcbx12b1fqmm8p0jpvrhgrnl9qywv1ksbwhw3pfp7j866";
   };
 
   patches = [ ./version.patch ];
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
     install -D ckati $out/bin/ckati
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An experimental GNU make clone";
     homepage = https://github.com/google/kati;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.asl20;
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danielfullmer ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index fad5bc9e630..49d7287087f 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,4 +1,11 @@
-{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
+{ lib
+, python3Packages
+, fetchpatch
+, stdenv
+, writeTextDir
+, substituteAll
+, targetPackages
+}:
 
 let
   # See https://mesonbuild.com/Reference-tables.html#cpu-families
@@ -12,11 +19,11 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "meson";
-  version = "0.51.2";
+  version = "0.52.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0cqhkjbab1mbvxmbjvyfrbjfkm7bh436svqpjapca36c2k9h1vwr";
+    sha256 = "02fnrk1fjf3yiix0ak0m9vgbpl4h97fafii5pmw7phmvnlv9fyan";
   };
 
   postFixup = ''
@@ -54,14 +61,14 @@ python3Packages.buildPythonApplication rec {
       src = ./fix-rpath.patch;
       inherit (builtins) storeDir;
     })
-  ] ++ lib.optionals stdenv.isDarwin [
-    # We use custom Clang, which makes Meson think *not Apple*, while still
-    # relying on system linker. When it detects standard Clang, Meson will
-    # pass it `-Wl,-O1` flag but optimizations are not recognized by
-    # Mac linker.
-    # https://github.com/mesonbuild/meson/issues/4784
-    # Should be fixed in 0.52
-    ./fix-objc-linking.patch
+
+    # Fix detecting incorrect compiler in the store path hash.
+    # https://github.com/NixOS/nixpkgs/issues/73417#issuecomment-554077964
+    # https://github.com/mesonbuild/meson/pull/6185
+    (fetchpatch {
+      url = "https://github.com/mesonbuild/meson/commit/972ede1d14fdf17fe5bb8fb99be220f9395c2392.patch";
+      sha256 = "19bfsylhpy0b2xv3ks8ac9x3q6vvvyj1wjcy971v9d5f1455xhbb";
+    })
   ];
 
   setupHook = ./setup-hook.sh;
@@ -96,7 +103,7 @@ python3Packages.buildPythonApplication rec {
   isCross = stdenv.targetPlatform != stdenv.hostPlatform;
 
   meta = with lib; {
-    homepage = http://mesonbuild.com;
+    homepage = https://mesonbuild.com;
     description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
     license = licenses.asl20;
     maintainers = with maintainers; [ mbe rasendubi ];
diff --git a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
deleted file mode 100644
index 996e0c3420e..00000000000
--- a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index dc8f099b..d8581fcf 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -944,7 +944,7 @@
-                 compiler_type = self.get_gnu_compiler_type(defines)
-                 version = self.get_gnu_version_from_defines(defines)
-                 return GnuObjCCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
--            if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
-+            if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
-                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
-             if 'windows' in out:
-                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)
-@@ -974,7 +974,7 @@
-                 compiler_type = self.get_gnu_compiler_type(defines)
-                 version = self.get_gnu_version_from_defines(defines)
-                 return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
--            if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
-+            if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
-                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
-             if 'windows' in out:
-                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)
diff --git a/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
index 1a5f8cb89dc..6cf7afc2bdf 100644
--- a/pkgs/development/tools/build-managers/meson/fix-rpath.patch
+++ b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
@@ -1,21 +1,34 @@
---- a/mesonbuild/compilers/compilers.py
-+++ b/mesonbuild/compilers/compilers.py
-@@ -1202,8 +1202,10 @@
-             # In order to avoid relinking for RPATH removal, the binary needs to contain just
-             # enough space in the ELF header to hold the final installation RPATH.
-             paths = ':'.join(all_paths)
--            if len(paths) < len(install_rpath):
--                padding = 'X' * (len(install_rpath) - len(paths))
-+            store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
-+            extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
-+            if extra_space_needed > 0:
-+                padding = 'X' * extra_space_needed
-                 if not paths:
-                     paths = padding
-                 else:
+--- a/mesonbuild/linkers.py
++++ b/mesonbuild/linkers.py
+@@ -527,8 +527,10 @@ class GnuLikeDynamicLinkerMixin:
+         # In order to avoid relinking for RPATH removal, the binary needs to contain just
+         # enough space in the ELF header to hold the final installation RPATH.
+         paths = ':'.join(all_paths)
+-        if len(paths) < len(install_rpath):
+-            padding = 'X' * (len(install_rpath) - len(paths))
++        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
++        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++        if extra_space_needed > 0:
++            padding = 'X' * extra_space_needed
+             if not paths:
+                 paths = padding
+             else:
+@@ -902,8 +904,10 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
+         # In order to avoid relinking for RPATH removal, the binary needs to contain just
+         # enough space in the ELF header to hold the final installation RPATH.
+         paths = ':'.join(all_paths)
+-        if len(paths) < len(install_rpath):
+-            padding = 'X' * (len(install_rpath) - len(paths))
++        store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), all_paths))
++        extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
++        if extra_space_needed > 0:
++            padding = 'X' * extra_space_needed
+             if not paths:
+                 paths = padding
+             else:
 --- a/mesonbuild/scripts/depfixer.py
 +++ b/mesonbuild/scripts/depfixer.py
-@@ -303,6 +303,14 @@
+@@ -303,6 +303,14 @@ class Elf(DataSizes):
              return
          self.bf.seek(rp_off)
          old_rpath = self.read_str()
@@ -30,7 +43,7 @@
          if len(old_rpath) < len(new_rpath):
              sys.exit("New rpath must not be longer than the old one.")
          # The linker does read-only string deduplication. If there is a
-@@ -316,6 +324,10 @@
+@@ -316,6 +324,10 @@ class Elf(DataSizes):
          if not new_rpath:
              self.remove_rpath_entry(entrynum)
          else:
diff --git a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
index 7a33d4127fa..e59795486aa 100644
--- a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
+++ b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
@@ -1,8 +1,8 @@
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -805,6 +805,13 @@
-         scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers])
-         scan_command += list(external_ldflags)
+@@ -801,6 +801,13 @@ class GnomeModule(ExtensionModule):
+             scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_source_dir(), self.interpreter.subproject_dir, state.subproject)]
+             scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_build_dir(), self.interpreter.subproject_dir, state.subproject)]
  
 +        if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1:
 +            raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
index 6e8d94523e1..8d76ecdaf32 100644
--- a/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh
@@ -1,7 +1,7 @@
 mesonConfigurePhase() {
     runHook preConfigure
 
-    if [ -z "$dontAddPrefix" ]; then
+    if [ -z "${dontAddPrefix-}" ]; then
         mesonFlags="--prefix=$prefix $mesonFlags"
     fi
 
@@ -36,7 +36,7 @@ mesonConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseMesonConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then
     setOutputFlags=
     configurePhase=mesonConfigurePhase
 fi
diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix
index a07fc2643f6..6a4431be0eb 100644
--- a/pkgs/development/tools/build-managers/mill/default.nix
+++ b/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}";
-    sha256 = "1y5044m0qlwa1wlg7xkhg76agmfn7bgcf040wf56fvxhf0w78zjw";
+    sha256 = "1m4p0d15qgayfnknvl99sd1kpgrqfaj1yczvwh7ip0gxcladn1wv";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
     runHook preInstall
     install -Dm555 "$src" "$out/bin/.mill-wrapped"
     # can't use wrapProgram because it sets --argv0
-    makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" --set JAVA_HOME "${jre}"
+    makeWrapper "$out/bin/.mill-wrapped" "$out/bin/mill" \
+      --prefix PATH : "${jre}/bin" \
+      --set JAVA_HOME "${jre}" \
+      --set MILL_VERSION "${version}"
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
index e3c67bd139d..7d8087ad134 100644
--- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
@@ -19,7 +19,7 @@ ninjaBuildPhase() {
     runHook postBuild
 }
 
-if [ -z "$dontUseNinjaBuild" -a -z "$buildPhase" ]; then
+if [ -z "${dontUseNinjaBuild-}" -a -z "${buildPhase-}" ]; then
     buildPhase=ninjaBuildPhase
 fi
 
@@ -38,7 +38,7 @@ ninjaInstallPhase() {
     runHook postInstall
 }
 
-if [ -z "$dontUseNinjaInstall" -a -z "$installPhase" ]; then
+if [ -z "${dontUseNinjaInstall-}" -a -z "${installPhase-}" ]; then
     installPhase=ninjaInstallPhase
 fi
 
@@ -73,6 +73,6 @@ ninjaCheckPhase() {
     runHook postCheck
 }
 
-if [ -z "$dontUseNinjaCheck" -a -z "$checkPhase" ]; then
+if [ -z "${dontUseNinjaCheck-}" -a -z "${checkPhase-}" ]; then
     checkPhase=ninjaCheckPhase
 fi
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 08baa53b1dc..cd08ae973eb 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.14.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "19adxjyp5bf5hrjisv3ff9ndcmh1glrxfrzifs46xjn3r69kyv1k";
+    sha256 = "0rqfnclhzln6v4gm68fn4vn6ncf5qpi90295fwm4fx6dq4l94b3v";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index feb0086a355..4ebeb7f0528 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,12 +1,10 @@
 { stdenv, fetchFromGitHub,
   fetchHex, erlang,
-  tree, hexRegistrySnapshot }:
+  tree }:
 
 let
   version = "3.12.0";
 
-  bootstrapper = ./rebar3-nix-bootstrap;
-
   erlware_commons = fetchHex {
     pkg = "erlware_commons";
     version = "1.3.1";
@@ -80,15 +78,9 @@ stdenv.mkDerivation rec {
     sha256 = "0936ix7lfwsamssap58b265zid7x2m97azrr2qpjcln3xysd16lg";
   };
 
-  inherit bootstrapper;
-
   buildInputs = [ erlang tree ];
 
-  # TODO: Remove registry snapshot
-  propagatedBuildInputs = [ hexRegistrySnapshot ];
-
   postPatch = ''
-    ${erlang}/bin/escript ${bootstrapper} registry-only
     mkdir -p _checkouts
     mkdir -p _build/default/lib/
 
diff --git a/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap b/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
index 802f47af6ad..f1deed1df35 100755
--- a/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
+++ b/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
@@ -25,14 +25,12 @@
 %%%   Environment Variable
 
 -record(data, {version
-              , registry_only = false
               , debug_info = false
               , compile_ports
               , erl_libs
               , plugins
               , root
-              , name
-              , registry_snapshot}).
+              , name}).
 
 -define(HEX_REGISTRY_PATH, ".cache/rebar3/hex/default/registry").
 
@@ -41,30 +39,24 @@ main(Args) ->
     {ok, RequiredData} = gather_required_data_from_the_environment(ArgData),
     do_the_bootstrap(RequiredData).
 
-%% @doc There are two modes 'registry_only' where the register is
-%% created from hex and everything else.
 -spec do_the_bootstrap(#data{}) -> ok.
-do_the_bootstrap(RequiredData = #data{registry_only = true}) ->
-    ok = bootstrap_registry(RequiredData);
 do_the_bootstrap(RequiredData) ->
-    ok = bootstrap_registry(RequiredData),
     ok = bootstrap_configs(RequiredData),
     ok = bootstrap_plugins(RequiredData),
     ok = bootstrap_libs(RequiredData).
 
 %% @doc
 %% Argument parsing is super simple only because we want to keep the
-%% dependencies minimal. For now there can be two entries on the
-%% command line, "registry-only" and "debug-info"
+%% dependencies minimal. For now there can be one entry on the
+%% command line: "debug-info"
 -spec parse_args([string()]) -> #data{}.
 parse_args(Args0) ->
-    PossibleArgs = sets:from_list(["registry-only", "debug-info"]),
+    PossibleArgs = sets:from_list(["debug-info"]),
     Args1 = sets:from_list(Args0),
     Result = sets:subtract(Args1, PossibleArgs),
     case sets:to_list(Result) of
         [] ->
-            {ok, #data{registry_only = sets:is_element("registry-only", Args1),
-                       debug_info = sets:is_element("debug-info", Args1)}};
+            {ok, #data{debug_info = sets:is_element("debug-info", Args1)}};
         UnknownArgs ->
             io:format("Unexpected command line arguments passed in: ~p~n",
                       [UnknownArgs]),
@@ -156,30 +148,6 @@ fixup_app_name(FileName) ->
         [Name, _Version, _Tag] -> Name
     end.
 
--spec bootstrap_registry(#data{}) -> ok.
-bootstrap_registry(#data{registry_snapshot = RegistrySnapshot}) ->
-    io:format("Bootstrapping Hex Registry for Rebar~n"),
-    make_sure_registry_snapshot_exists(RegistrySnapshot),
-    filelib:ensure_dir(?HEX_REGISTRY_PATH),
-    ok = case filelib:is_file(?HEX_REGISTRY_PATH) of
-             true ->
-                 file:delete(?HEX_REGISTRY_PATH);
-             false ->
-                 ok
-         end,
-    ok = file:make_symlink(RegistrySnapshot,
-                           ?HEX_REGISTRY_PATH).
-
--spec make_sure_registry_snapshot_exists(string()) -> ok.
-make_sure_registry_snapshot_exists(RegistrySnapshot) ->
-    case filelib:is_file(RegistrySnapshot) of
-        true ->
-            ok;
-        false ->
-            stderr("Registry snapshot (~s) does not exist!", [RegistrySnapshot]),
-            erlang:halt(1)
-    end.
-
 -spec gather_required_data_from_the_environment(#data{}) -> {ok, #data{}}.
 gather_required_data_from_the_environment(ArgData) ->
     {ok, ArgData#data{ version = guard_env("version")
@@ -187,8 +155,7 @@ gather_required_data_from_the_environment(ArgData) ->
                      , plugins = get_env("buildPlugins", [])
                      , root = code:root_dir()
                      , name = guard_env("name")
-                     , compile_ports = nix2bool(get_env("compilePorts", ""))
-                     , registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
+                     , compile_ports = nix2bool(get_env("compilePorts", ""))}}.
 
 -spec nix2bool(any()) -> boolean().
 nix2bool("1") ->
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index bb2f000f606..bd0c667fdad 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.3.3";
+  version = "1.3.5";
 
   src = fetchurl {
     urls = [
       "https://piccolo.link/sbt-${version}.tgz"
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
     ];
-    sha256 = "0v27i8pd9ss53ipi1cs40426mnyppdjgcdjk8nn05bi6rm7a4r7y";
+    sha256 = "1c1ha4w3c36l7w2ncmwvry05hwcj8pv7dkpq23wdc25w1yj0l7sn";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/build-managers/scons/setup-hook.sh b/pkgs/development/tools/build-managers/scons/setup-hook.sh
index 55159aa5a93..0b908f68286 100644
--- a/pkgs/development/tools/build-managers/scons/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/scons/setup-hook.sh
@@ -71,14 +71,14 @@ sconsCheckPhase() {
     runHook postCheck
 }
 
-if [ -z "$buildPhase" ]; then
+if [ -z "${buildPhase-}" ]; then
     buildPhase=sconsBuildPhase
 fi
 
-if [ -z "$dontUseSconsInstall" -a -z "$installPhase" ]; then
+if [ -z "${dontUseSconsInstall-}" -a -z "${installPhase-}" ]; then
     installPhase=sconsInstallPhase
 fi
 
-if [ -z "$checkPhase" ]; then
+if [ -z "${checkPhase-}" ]; then
     checkPhase=sconsCheckPhase
 fi
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index ace42560db8..db01a068c00 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.11.4";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "11jdjrmyafy3fnnp4cdxh3fncjbcy7gggpzwp4n857ij7k2581hl";
+    sha256 = "0lsjsfp6ls38vlgibbnsyd1m7jvmjwdmpyrd0qigp4aa2abwi4dg";
   };
 
   outputs = [ "bin" "man" "out" ];
@@ -18,9 +18,15 @@ buildGoPackage rec {
   goPackagePath = "github.com/containers/buildah";
   excludedPackages = [ "tests" ];
 
+  # Disable module-mode, because Go 1.13 automatically enables it if there is
+  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
+  GO111MODULE = "off";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
+  patches = [ ./disable-go-module-mode.patch ];
+
   buildPhase = ''
     pushd go/src/${goPackagePath}
     make GIT_COMMIT="unknown"
@@ -35,6 +41,6 @@ buildGoPackage rec {
     description = "A tool which facilitates building OCI images";
     homepage = "https://github.com/containers/buildah";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Profpatsch vdemeester ];
+    maintainers = with maintainers; [ Profpatsch vdemeester saschagrunert ];
   };
 }
diff --git a/pkgs/development/tools/buildah/disable-go-module-mode.patch b/pkgs/development/tools/buildah/disable-go-module-mode.patch
new file mode 100644
index 00000000000..a6f211412ea
--- /dev/null
+++ b/pkgs/development/tools/buildah/disable-go-module-mode.patch
@@ -0,0 +1,33 @@
+From e2d12e52b3638a320a8d69ea4b392b60f44ea57f Mon Sep 17 00:00:00 2001
+From: Mario Rodas <marsam@users.noreply.github.com>
+Date: Wed, 4 Dec 2019 21:07:33 -0500
+Subject: [PATCH] Do not check Go module-mode availability
+
+Since buildah vendorizes its dependencies we use buildGoPackage which
+does not uses Go module-mode.  The module-mode check will be true
+because nixpkgs uses Go 1.13 by default, and building go modules with
+buildGoPackage may lead to inconsistencies.
+---
+ Makefile | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9d04177d..4cf9b6a2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,12 +15,7 @@ BUILDAH := buildah
+ GO := go
+ GO110 := 1.10
+ GOVERSION := $(findstring $(GO110),$(shell go version))
+-# test for go module support
+-ifeq ($(shell go help mod >/dev/null 2>&1 && echo true), true)
+-export GO_BUILD=GO111MODULE=on $(GO) build -mod=vendor
+-else
+ export GO_BUILD=$(GO) build
+-endif
+ 
+ GIT_COMMIT ?= $(if $(shell git rev-parse --short HEAD),$(shell git rev-parse --short HEAD),$(error "git failed"))
+ SOURCE_DATE_EPOCH ?= $(if $(shell date +%s),$(shell date +%s),$(error "date failed"))
+-- 
+2.24.0
+
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
new file mode 100644
index 00000000000..23afc8b53f2
--- /dev/null
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "pack";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "buildpacks";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00v4kb9cv6nn7vrybjkv0kgcvfm5dsg0168dv253mrp9xmv8kd9l";
+  };
+
+  goPackagePath = "github.com/buildpacks/pack";
+
+  subPackages = [ "cmd/pack" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/buildpacks/pack/cmd.Version=${version}" ];
+
+  meta = with lib; {
+    homepage = "https://buildpacks.io/";
+    description = "Local CLI for building apps using Cloud Native Buildpacks";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/ccloud-cli/default.nix b/pkgs/development/tools/ccloud-cli/default.nix
new file mode 100644
index 00000000000..7fa53029772
--- /dev/null
+++ b/pkgs/development/tools/ccloud-cli/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, autoPatchelfHook, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "ccloud-cli";
+  version = "0.202.0";
+
+  # To get the latest version:
+  # curl -L 'https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=ccloud-cli/archives/&delimiter=/' | nix run nixpkgs.libxml2 -c xmllint --format -
+  src = fetchurl (if stdenv.hostPlatform.isDarwin then {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_darwin_amd64.tar.gz";
+      sha256 = "1w7c7fwpjj6f26nmcgm6rkrl4v9zhdpygkh02la77n23lg8wxah5";
+    } else {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_linux_amd64.tar.gz";
+      sha256 = "1xbhv2viw8cbwv03rfq99jddnw5lwy812a8xby348290l323xi89";
+    });
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/doc/ccloud-cli}
+    cp ccloud $out/bin/
+    cp LICENSE $out/share/doc/ccloud-cli/
+    cp -r legal $out/share/doc/ccloud-cli/
+  '';
+
+  meta = with lib; {
+    description = "Confluent Cloud CLI";
+    homepage = https://docs.confluent.io/current/cloud/cli/index.html;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index d5c74201418..d30c0aaeb49 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,7 +1,7 @@
 { lib, bundlerEnv, bundlerUpdateScript, ruby_2_4, perl, autoconf }:
 
 bundlerEnv {
-  pname = "chef-dk";
+  name = "chef-dk-2.4.17";
 
   ruby = ruby_2_4;
   gemdir = ./.;
diff --git a/pkgs/development/tools/clang-tools/default.nix b/pkgs/development/tools/clang-tools/default.nix
index 0abea99f64a..2e8f48901ab 100644
--- a/pkgs/development/tools/clang-tools/default.nix
+++ b/pkgs/development/tools/clang-tools/default.nix
@@ -13,15 +13,20 @@ in stdenv.mkDerivation {
     runHook preInstall
 
     mkdir -p $out/bin
+    export libc_includes="${stdenv.lib.getDev stdenv.cc.libc}/include"
+    export libcpp_includes="${llvmPackages.libcxx}/include/c++/v1"
+
+    export clang=${clang}
+    substituteAll ${./wrapper} $out/bin/clangd
+    chmod +x $out/bin/clangd
     for tool in \
       clang-apply-replacements \
       clang-check \
       clang-format \
       clang-rename \
-      clang-tidy \
-      clangd
+      clang-tidy
     do
-      ln -s ${clang}/bin/$tool $out/bin/$tool
+      ln -s $out/bin/clangd $out/bin/$tool
     done
 
     runHook postInstall
diff --git a/pkgs/development/tools/clang-tools/wrapper b/pkgs/development/tools/clang-tools/wrapper
new file mode 100644
index 00000000000..53c99a67f2d
--- /dev/null
+++ b/pkgs/development/tools/clang-tools/wrapper
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+buildcpath() {
+  local path
+  while (( $# )); do
+    case $1 in
+        -isystem)
+            shift
+            path=$path${path:+':'}$1
+    esac
+    shift
+  done
+  echo $path
+}
+
+export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE})
+export CPATH=${CPATH}${CPATH:+':'}@libc_includes@
+export CPLUS_INCLUDE_PATH=${CPATH}${CPATH:+':'}@libcpp_includes@
+
+exec -a "$0" @clang@/bin/$(basename $0) "$@"
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 9b2e80c7674..8317473570d 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec{
   pname = "clj-kondo";
-  version = "2019.10.26";
+  version = "2019.12.14";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec{
 
   src = fetchurl {
     url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "1pq03g4bkslpa3jv7vrnw3sy6wnqdgnavl8qyb4lb1y96pmk9hd1";
+    sha256 = "1mprwqc5ydqn2wkssrj2g3wbpjss7flv584wss9j0jjfgy7jc4s1";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/cloudflare-wrangler/default.nix b/pkgs/development/tools/cloudflare-wrangler/default.nix
new file mode 100644
index 00000000000..efca438ada3
--- /dev/null
+++ b/pkgs/development/tools/cloudflare-wrangler/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cloudflare-wrangler";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = "wrangler";
+    rev = "v" + version;
+    sha256 = "1agl1cg34iklvniygrkq8dqsampvg17d3nsm0dcr6c3n5rj09gbi";
+  };
+
+  cargoSha256 = "0c2g6yghwqjy21yfdcri4v9aqizd06ww3zx2snns51gnqqk8r57k";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
+
+  # tries to use "/homeless-shelter" and fails
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A CLI tool designed for folks who are interested in using Cloudflare Workers.";
+    homepage = https://github.com/cloudflare/wrangler;
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix
index 5726b067e67..891a653a373 100644
--- a/pkgs/development/tools/cmake-format/default.nix
+++ b/pkgs/development/tools/cmake-format/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonApplication rec {
   pname = "cmake-format";
-  version = "0.6.0";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit version;
     pname = "cmake_format";
-    sha256 = "0sip832bxsvnm7fhqhx49d53g2s7swdk3fhyhlglm2shgj89b5zw";
+    sha256 = "0n03vaa8b51c0lzdcy8ygivsg07d1n26576rfzwqzx4izy0rclj9";
   };
 
   propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ];
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index 17dbcc7ff1f..ae35170cd19 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -2,24 +2,22 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "instrumenta";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "0fjz6ad8rnznlp1kiyb3c6anhjs6v6acgziw4hmyz0xva4jnspsh";
+    sha256 = "0lb644fj80r4igxbslbd5pksirnyf6slz4yn0mznyx8i2bd1g4ic";
   };
 
-  modSha256 = "1xwqlqx5794hsi14h5gqg69gjcqcma24ha0fxn0vffqgqs2cz1d1";
+  modSha256 = "1p7fjg1vcrcxb4f5hd00qxx4fqcl051klcjs6ljn4v46qcpn6dcn";
 
   buildFlagsArray = ''
     -ldflags=
         -X main.version=${version}
   '';
 
-  subPackages = [ "cmd" ];
-
   meta = with lib; {
     description = "Write tests against structured configuration data";
     homepage = https://github.com/instrumenta/conftest;
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index 3f394472c40..1a56be02a28 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "5.4.1";
+  version = "5.7.2";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "15lkhdvxqcryn5k7qflkby666ddj66gpqzga13yxjgjjp7zx2mi3";
+    sha256 = "1jhc2h00rh6lpgdq3n2d1sk7gdzmhkigyra04gf70s6kjb903igw";
   };
 
-  modSha256 = "0wz0v7w2di23cvqpg35zzqs2hvsbjgcrl7pr90ymmpsspq97fkf7";
+  modSha256 = "00qagz28iz1z5kjshs1m74bf12qlhjbkf4pbchy7lzf09bd291pg";
 
   subPackages = [ "fly" ];
 
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 8bac62b07c1..214e48b14b6 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "12.4.1";
+  version = "12.6.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}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "0y68x5hl2gip7bpcgjychf5qd1535ry4qkjb3fybm2pb81qy2gy7";
+    sha256 = "14wp9dyacbldfvykc68pa0mj59anf0zfadxsr9bqwyl795zsxh7g";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1nb0cspjqasyg7bppyrf3m3rg1c26iaw6h9dpnq2m7f60dciyiq2";
+    sha256 = "1iln85xy4qkz7ps2vr4qlbvn4p1b8137a75r4s24bc7g6apzyyvs";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "1smn7b1dvqvaka23a7zhnlnpbqw40hpdn8vvj1r3ivx20khpsnhn";
+    sha256 = "08vxgv6m83wqxksy0vj7nx6bb55sxn9c7l0sdpg0nblps0n8fzxm";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index cdc4e6db2c2..adee52d967e 100644
--- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-agent-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip";
-    sha256 = "1xcwwjf2khhng6v1y7dvi579y2j643al9n0x80m0c46qb9mzd04x";
+    sha256 = "1nirdv82i8x4s1dyb0rmxldh8avappd4g3mbbl6xp7r7s0drcprp";
   };
   meta = with stdenv.lib; {
     description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
diff --git a/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 8982ca5f77a..c0fabdeb5a1 100644
--- a/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-server-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-server-${version}-${rev}.zip";
-    sha256 = "0x5pmjbhrka6p27drkrca7872vgsjxaa5j0cbxsa2ds02wrn57a7";
+    sha256 = "0c30qzd6awlw0zx91rk6na0mmgykqkgrw9ychx18ivjwma0hr0sc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 28314934b11..2e69c7df2a3 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.190.2";
+  version = "2.204.1";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "09zij2gpg1i0pkx1nsgccc26p8z4gy4ljhch8m767xaa0000lqj7";
+    sha256 = "112jimw5sf6n9nszmpsllz9sb06d3d8i45fin3m1vkdikszypf8j";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/continuous-integration/jenkins/update.sh b/pkgs/development/tools/continuous-integration/jenkins/update.sh
index 66d1b4ceff6..4f2f6527ecc 100755
--- a/pkgs/development/tools/continuous-integration/jenkins/update.sh
+++ b/pkgs/development/tools/continuous-integration/jenkins/update.sh
@@ -4,7 +4,7 @@
 set -eu -o pipefail
 
 core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)"
-oldVersion=$(nix-instantiate --eval -E "with import ./. {}; jenkins.version or (builtins.parseDrvName jenkins.name).version" | tr -d '"')
+oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"')
 
 version="$(jq -r .version <<<$core_json)"
 sha256="$(jq -r .sha256 <<<$core_json)"
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 754c014ee16..98bf5249b62 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.0.11";
+  version = "0.0.15";
 
   src = fetchgit {
     url = "https://cue.googlesource.com/cue";
     rev = "v${version}";
-    sha256 = "146h3nxx72n3byxr854lnxj7m33ipbmg6j9dy6dlwvqpa7rndrmp";
+    sha256 = "0mipzci2zjp6yh4lxg9jrdxn03ska188zg3jl6g1zr8rn0ry274h";
   };
 
-  modSha256 = "1q0fjm34mbijjxg089v5330vc820nrvwdkhm02zi45rk2fpdgdqd";
+  modSha256 = "04dapx75zwi8cv1pj3c6266znrhwihv3df4izm3gjk34r2i07q6s";
 
   subPackages = [ "cmd/cue" ];
 
@@ -19,8 +19,8 @@ buildGoModule rec {
   ];
 
   meta = {
-    description = "A data constraint language which aims to simplify tasks involving defining and using data.";
-    homepage = https://cue.googlesource.com/cue;
+    description = "A data constraint language which aims to simplify tasks involving defining and using data";
+    homepage = "https://cuelang.org/";
     maintainers = with stdenv.lib.maintainers; [ solson ];
     license = stdenv.lib.licenses.asl20;
   };
diff --git a/pkgs/development/tools/database/pgcli/default.nix b/pkgs/development/tools/database/pgcli/default.nix
index 147988b22b3..03f0ae3c444 100644
--- a/pkgs/development/tools/database/pgcli/default.nix
+++ b/pkgs/development/tools/database/pgcli/default.nix
@@ -1,17 +1,17 @@
-{ buildPythonApplication, lib, fetchPypi, isPy3k, fetchpatch
+{ buildPythonApplication, lib, fetchPypi, isPy3k
 , cli-helpers, click, configobj, humanize, prompt_toolkit, psycopg2
 , pygments, sqlparse, pgspecial, setproctitle, keyring, pytest, mock
 }:
 
 buildPythonApplication rec {
   pname = "pgcli";
-  version = "2.1.1";
+  version = "2.2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jmnb8izsdjmq9cgajhfapr31wlhvcml4lakz2mcmjn355x83q44";
+    sha256 = "54138a31e6736a34c63b84a6d134c9292c9a73543cc0f66e80a0aaf79259d39b";
   };
 
   propagatedBuildInputs = [
@@ -21,9 +21,10 @@ buildPythonApplication rec {
 
   checkInputs = [ pytest mock ];
 
-  # One test fails: https://github.com/dbcli/pgcli/issues/1104
-  doCheck = false;
-  checkPhase = "pytest";
+  # `test_application_name_db_uri` fails: https://github.com/dbcli/pgcli/issues/1104
+  checkPhase = ''
+    pytest --deselect=tests/test_main.py::test_application_name_db_uri
+  '';
 
   meta = with lib; {
     description = "Command-line interface for PostgreSQL";
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 5ce57ee8055..2113e319f19 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -1,19 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub, pkg-config, btrfs-progs, gpgme, lvm2 }:
 
 buildGoModule rec {
   pname = "dive";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "wagoodman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pyrdff5qqc0l3h4nssa9a7qnfqwy2p6ywc8nbwyc7wvzgdiczb8";
+    sha256 = "0bqmrva7rx6al50fmy4gvf853csascc5mj6ihgg7ydsy0d99j5qn";
   };
 
-  modSha256 = "1fk9z7a6wghrs15pc28g5ri7rkbb1ifjb91rscwqsmh10r2wik4w";
+  modSha256 = "0hb7bq8v6xr8xqni1iv3zkqdnknfy539sm0vxqal1mhvs5yg06m0";
 
-  meta = with lib; {
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
+
+  meta = with stdenv.lib; {
     description = "A tool for exploring each layer in a docker image";
     homepage = https://github.com/wagoodman/dive;
     license = licenses.mit;
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index edad5d6276b..2aead3940ad 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   pname = "doctl";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "31";
-  patch = "2";
+  minor = "35";
+  patch = "0";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner  = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "1q71kfjiav8xfw1bb3dziik1d0jr84hl83d3sx3cak0nd9nmakgs";
+    sha256 = "1blg4xd01vvr8smpii60jlk7rg1cg64115azixw9q022f7cnfiyw";
   };
 
   meta = {
diff --git a/pkgs/development/tools/documentation/antora/default.nix b/pkgs/development/tools/documentation/antora/default.nix
index 9f1aa037087..6427fa461dd 100644
--- a/pkgs/development/tools/documentation/antora/default.nix
+++ b/pkgs/development/tools/documentation/antora/default.nix
@@ -1,16 +1,15 @@
 { stdenv, nodePackages_10_x }:
 
 let
-  drvName = drv: (builtins.parseDrvName drv).name;
   linkNodeDeps = ({ pkg, deps, name ? "" }:
     let
-      targetModule = if name != "" then name else drvName pkg;
+      targetModule = if name != "" then name else stdenv.lib.getName pkg;
     in nodePackages_10_x.${pkg}.override (oldAttrs: {
       postInstall = ''
         mkdir -p $out/lib/node_modules/${targetModule}/node_modules
         ${stdenv.lib.concatStringsSep "\n" (map (dep: ''
-          ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${drvName dep} \
-            $out/lib/node_modules/${targetModule}/node_modules/${drvName dep}
+          ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${stdenv.lib.getName dep} \
+            $out/lib/node_modules/${targetModule}/node_modules/${stdenv.lib.getName dep}
         '') deps
         )}
       '';
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 2f29fb2fbad..54c37fa6183 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -29,6 +29,11 @@ python2Packages.buildPythonApplication rec {
     };
   };
 
+  postFixup = ''
+    # Do not propagate Python
+    rm $out/nix-support/propagated-build-inputs
+  '';
+
   meta = with stdenv.lib; {
     description = "Collection of documentation utilities for the GNOME project";
     homepage = "https://gitlab.gnome.org/GNOME/gnome-doc-utils";
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index 5f3dff95e35..e9e116280a0 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -1,4 +1,4 @@
-{ lib, python, fetchFromGitHub }:
+{ stdenv, lib, python, fetchFromGitHub }:
 
 with python.pkgs;
 
@@ -35,9 +35,18 @@ buildPythonApplication rec {
     backports_tempfile
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Project documentation with Markdown / static website generator";
+    longDescription = ''
+      MkDocs is a fast, simple and downright gorgeous static site generator that's
+      geared towards building project documentation. Documentation source files
+      are written in Markdown, and configured with a single YAML configuration file.
+      
+      MkDocs can also be used to generate general-purpose Websites.
+    '';
     homepage = http://mkdocs.org/;
-    description = "Project documentation with Markdown";
     license = lib.licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.rkoe ];
   };
 }
diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix
deleted file mode 100644
index 5155632169f..00000000000
--- a/pkgs/development/tools/erlang/hex2nix/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ fetchFromGitHub, fetchRebar3Deps, rebar3Relx }:
-
-rebar3Relx rec {
-    name = "hex2nix";
-    version = "0.0.6-42d7b2ec";
-
-    releaseType = "escript";
-
-    checkouts = fetchRebar3Deps {
-      inherit name version;
-      src = "${src}/rebar.config";
-      sha256 = "0z6v1f6hagl3qyj97frqr2ww3adrwgfwdyb2zshaai0d3xchg3ly";
-    };
-
-    src = fetchFromGitHub {
-      owner  = "erlang-nix";
-      repo   = "hex2nix";
-      rev    = "42d7b2ec64f61f21061066b192003cf7f460bf43";
-      sha256 = "0ac1fmckvid5077djg3ajycxn7gwbf7pdk1knhfp8yva3c5qq58r";
-    };
-}
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index a4e51008bf7..731eb80b261 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -4,14 +4,14 @@
 , lib }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "1.1.5";
+  version = "1.1.6";
   pname = "fdroidserver";
 
   src = fetchFromGitLab {
     owner = "fdroid";
     repo = "fdroidserver";
     rev = version;
-    sha256 = "1wpwv5gbwrjs03fmr6d81268k6gzjgr86swzgb8nfj48955iw193";
+    sha256 = "0bz3pb34bkdg3l6dvpzynnfhblv18x88a5bh2dm8v31g5f9agh7r";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index f7d344506d5..1bb5c23645d 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , fetchurl
 , substituteAll
+, nixosTests
 
 , autoreconfHook
 , docbook_xml_dtd_412
@@ -131,7 +132,16 @@ in stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    installedTestsDependencies = [ gnupg ostree python2 gnumake ];
+    installedTestsDependencies = [
+      gnupg
+      ostree
+      python2
+      gnumake
+    ];
+
+    tests = {
+      installedTests = nixosTests.installed-tests.flatpak-builder;
+    };
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index b57c9841978..047bbd171f3 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "5.2.4";
+    version = "6.1.2";
   in
     stdenv.mkDerivation {
       pname = "flyway";
       inherit version;
       src = fetchurl {
         url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-        sha256 = "16ia6nlvj4cgmdkn66bjg73h5vah82hpzk9mf0n5kmqnwcaa8hmc";
+        sha256 = "sha256:1rh1p50mwwlmwwdlcx7pzlsrg1dcl7gdsjbi7kyz0m71fbnn0bnv";
       };
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
@@ -15,14 +15,22 @@
       installPhase = ''
         mkdir -p $out/bin $out/share/flyway
         cp -r sql jars drivers conf $out/share/flyway
-        cp -r lib/community $out/share/flyway/lib
+        install -Dt $out/share/flyway/lib lib/community/*.jar lib/*.jar
         makeWrapper "${jre_headless}/bin/java" $out/bin/flyway \
           --add-flags "-Djava.security.egd=file:/dev/../dev/urandom" \
           --add-flags "-classpath '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \
+          --add-flags "-DjarDirs '$out/share/flyway/jars'" \
           --add-flags "org.flywaydb.commandline.Main"
       '';
       meta = with stdenv.lib; {
         description = "Evolve your Database Schema easily and reliably across all your instances";
+        longDescription = ''
+          The Flyway command-line tool is a standalone Flyway distribution.
+          It is primarily meant for users who wish to migrate their database from the command-line
+          without having to integrate Flyway into their applications nor having to install a build tool.
+
+          This package is only the Community Edition of the Flyway command-line tool.
+        '';
         homepage = "https://flywaydb.org/";
         license = licenses.asl20;
         platforms = platforms.unix;
diff --git a/pkgs/development/tools/gamecube-tools/default.nix b/pkgs/development/tools/gamecube-tools/default.nix
index 872c8fae527..7c31f691b4e 100644
--- a/pkgs/development/tools/gamecube-tools/default.nix
+++ b/pkgs/development/tools/gamecube-tools/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, which, autoconf, automake, fetchFromGitHub,
-  libtool, freeimage, mesa }:
+{ stdenv, fetchFromGitHub, autoreconfHook
+, freeimage, libGL }:
+
 stdenv.mkDerivation rec {
-  version = "v1.0.2";
+  version = "1.0.2";
   pname = "gamecube-tools";
 
-  nativeBuildInputs = [ which autoconf automake libtool ];
-  buildInputs = [ freeimage mesa ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ freeimage libGL ];
 
   src = fetchFromGitHub {
     owner = "devkitPro";
     repo  = "gamecube-tools";
-    rev = version;
+    rev = "v${version}";
     sha256 = "0zvpkzqvl8iv4ndzhkjkmrzpampyzgb91spv0h2x2arl8zy4z7ca";
   };
 
-  preConfigure = "./autogen.sh";
-
   meta = with stdenv.lib; {
     description = "Tools for gamecube/wii projects";
     homepage = "https://github.com/devkitPro/gamecube-tools/";
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index d2bc539860b..7e126b3d112 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2 }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform
+, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2, libssh2
+}:
 
 with rustPlatform;
 
@@ -28,8 +30,9 @@ buildRustPackage rec {
   ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG = true;
+  LIBSSH2_SYS_USE_PKG_CONFIG = true;
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl zlib curl libgit2 ];
+  buildInputs = [ openssl zlib curl libgit2 libssh2 ];
 
   postBuild = ''
     install -D "$src/git-series.1" "$out/man/man1/git-series.1"
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index 20c031ead4a..e31d27f710b 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -10,13 +10,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "godot";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
     rev    = "${version}-stable";
-    sha256 = "0lplkwgshh0x7r1daai9gflzwjnp3yfx4724h1myvidaz234v2wh";
+    sha256 = "12305wj2i4067jc50l8r0wmb7zjcna24fli8vb8kiaild0jrlip6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 4c662f9b5c0..59416f03134 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotools-unstable";
-  version = "2019-09-05";
-  rev = "6b3d1c9ba8bf7ce410f6b490852ec54953383362";
+  version = "2019-11-14";
+  rev = "4191b8cbba092238a318a71cdff48b20b4e1e5d8";
 
   src = fetchgit {
     inherit rev;
     url = "https://go.googlesource.com/tools";
-    sha256 = "0a2xjx9hqkash7fd2qv9hd93wcqdbfrmsdzjd91dwvnk48j61daf";
+    sha256 = "16m62m303j4wqfjr1401xpqpb9m11bs6qc2dhf6x2za2d9pycish";
   };
 
   # Build of golang.org/x/tools/gopls fails with:
diff --git a/pkgs/development/tools/grabserial/default.nix b/pkgs/development/tools/grabserial/default.nix
index ab32674f188..5e06e9f771d 100644
--- a/pkgs/development/tools/grabserial/default.nix
+++ b/pkgs/development/tools/grabserial/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "grabserial";
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "tbird20d";
     repo = "grabserial";
     rev = "v${version}";
-    sha256 = "1xmy3js4hzsxlkxc172hkjzxsc34mmg3vfz61h24c7svmfzyhbd5";
+    sha256 = "0cwrajkh605gfhshrlpbc32gmx86a8kv3pq7cv713k60sgqrgpqx";
   };
 
   propagatedBuildInputs = [ pythonPackages.pyserial ];
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index 9b64dc8a3b1..480456ff21d 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hcloud";
-  version = "1.13.0";
+  version = "1.14.0";
 
   goPackagePath = "github.com/hetznercloud/cli";
 
@@ -10,24 +10,24 @@ buildGoPackage rec {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1bin9gcmmj3i6a11rv7czvnryl8bv7cjz3pi2cqx8baycg3hia5j";
+    sha256 = "167x64ni4xm0d9b02gy8zvc8knhsvb1c9jhysw7svi7iaw5f2ds5";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "1g81szkrkxmv51l78v0d39i8dvrrdhf8wh38rwxvnay3iajgrnqk";
 
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
     mkdir -p \
-      $bin/etc/bash_completion.d \
-      $bin/share/zsh/vendor-completions
+      $out/etc/bash_completion.d \
+      $out/share/zsh/vendor-completions
 
     # Add bash completions
-    $bin/bin/hcloud completion bash > "$bin/etc/bash_completion.d/hcloud"
+    $out/bin/hcloud completion bash > "$out/etc/bash_completion.d/hcloud"
 
     # Add zsh completions
-    echo "#compdef hcloud" > "$bin/share/zsh/vendor-completions/_hcloud"
-    $bin/bin/hcloud completion zsh >> "$bin/share/zsh/vendor-completions/_hcloud"
+    echo "#compdef hcloud" > "$out/share/zsh/vendor-completions/_hcloud"
+    $out/bin/hcloud completion zsh >> "$out/share/zsh/vendor-completions/_hcloud"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/hcloud/deps.nix b/pkgs/development/tools/hcloud/deps.nix
deleted file mode 100644
index 01bde6f302a..00000000000
--- a/pkgs/development/tools/hcloud/deps.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
-      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "878a968ab22548362a09bdb3322f98b00f470d46";
-      sha256 = "15nkffa8ylr5kkv52gyry675l8bzv3c0xx39j0fzz0vp2kcjyy8x";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uilive";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uilive";
-      rev = "4512d98b127f3f3a1b7c3cf1104969fdd17b31d9";
-      sha256 = "12n3kjgdzrb50jhkcb2ac3437mdhxh33zrcz7mi4gpji20jz4ai7";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uiprogress";
-      rev = "4442fea128d2bc91caf276b08518bdf4582561c8";
-      sha256 = "1g6xjknm0981h3b1drbvm6vd66hiah1cylpdck9cqd18kyxd6bpd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/cli";
-      rev = "d6ec656f964aac4382d9c724edd27a8608e7b354";
-      sha256 = "0ng7hihzplwyz4sdipms4m9qq2bcj92qczzd5adhm6da851jxpbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/hcloud-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/hcloud-go";
-      rev = "70b166c92266125ee6a621dcc6089023a5f8d055";
-      sha256 = "02hh214qk8qrhl9rpaywv2z5jpkzx3y2j8gv5xmdprdamrjwwlbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "84da2c4a25c585816f2c4211b699228d111d18ab";
-      sha256 = "1zh5kswqckz7aaz4kpd1kxbxnlhlmprba1ghkl742x6mbv3w08bm";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1c9c46d5c1cc2aaebdd1898c0680e85e8a44b36d";
-      sha256 = "0mxliq4gfvdazga8mapc2sazi915rz1h6prnark9hwbbsz0xn0r3";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "24fa6976df40757dce6aea913e7b81ade90530e1";
-      sha256 = "0rf6prz6gl0l1b3wijzdgq887cdwigvzxvz6gqbm5l8pkq3fx1m9";
-    };
-  }
-  {
-    goPackagePath = "github.com/thcyron/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/thcyron/uiprogress";
-      rev = "25e98ffb0e98b5192b475d8f2fd78083bfe9a67e";
-      sha256 = "1avb0jykn3qbjrvhc8i50ahisf9rsfy74ysrwfqbqqkpvhdxv12i";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
-      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fc99dfbffb4e5ed5758a37e31dd861afe285406b";
-      sha256 = "186x8bg926qb9sprs5zpd97xzvvhc2si7q1nhvyg12r5cd6v7zjd";
-    };
-  }
-]
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index f2c926a6f39..228a82f6008 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation {
   pname = "irony-server";
-  inherit (irony) version;
+  inherit (irony) src version;
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ llvmPackages.libclang ];
+  buildInputs = [ llvmPackages.libclang llvmPackages.llvm ];
 
   dontUseCmakeBuildDir = true;
 
@@ -15,13 +15,11 @@ stdenv.mkDerivation {
     "-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
   ];
 
-  src = irony.src;
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "The server part of irony.";
     homepage = "https://melpa.org/#/irony";
-    maintainers = [ stdenv.lib.maintainers.deepfire ];
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.free;
+    maintainers = [ maintainers.deepfire ];
+    platforms = platforms.unix;
+    license = licenses.free;
   };
 }
diff --git a/pkgs/development/tools/jazzy/Gemfile.lock b/pkgs/development/tools/jazzy/Gemfile.lock
index 65716e824f9..907b095629f 100644
--- a/pkgs/development/tools/jazzy/Gemfile.lock
+++ b/pkgs/development/tools/jazzy/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.1)
+    CFPropertyList (3.0.2)
     activesupport (4.2.11.1)
       i18n (~> 0.7)
       minitest (~> 5.1)
@@ -12,10 +12,10 @@ GEM
       json (>= 1.5.1)
     atomos (0.1.3)
     claide (1.0.3)
-    cocoapods (1.8.0)
+    cocoapods (1.8.4)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.8.0)
+      cocoapods-core (= 1.8.4)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -31,14 +31,14 @@ GEM
       nap (~> 1.0)
       ruby-macho (~> 1.4)
       xcodeproj (>= 1.11.1, < 2.0)
-    cocoapods-core (1.8.0)
+    cocoapods-core (1.8.4)
       activesupport (>= 4.0.2, < 6)
       algoliasearch (~> 1.0)
-      concurrent-ruby (~> 1.0)
+      concurrent-ruby (~> 1.1)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
     cocoapods-deintegrate (1.0.4)
-    cocoapods-downloader (1.2.2)
+    cocoapods-downloader (1.3.0)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
@@ -50,14 +50,14 @@ GEM
     colored2 (3.1.2)
     concurrent-ruby (1.1.5)
     escape (0.0.4)
-    ffi (1.11.1)
+    ffi (1.11.3)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jazzy (0.11.2)
+    jazzy (0.13.0)
       cocoapods (~> 1.5)
       mustache (~> 1.1)
       open4
@@ -68,15 +68,15 @@ GEM
       xcinvoke (~> 0.3.0)
     json (2.2.0)
     liferaft (0.0.6)
-    minitest (5.12.0)
+    minitest (5.13.0)
     molinillo (0.6.6)
-    mustache (1.1.0)
+    mustache (1.1.1)
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
     open4 (1.3.4)
     redcarpet (3.5.0)
-    rouge (3.11.0)
+    rouge (3.13.0)
     ruby-macho (1.4.0)
     sassc (2.2.1)
       ffi (~> 1.9)
@@ -86,7 +86,7 @@ GEM
       thread_safe (~> 0.1)
     xcinvoke (0.3.0)
       liferaft (~> 0.0.6)
-    xcodeproj (1.12.0)
+    xcodeproj (1.13.0)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -100,4 +100,4 @@ DEPENDENCIES
   jazzy
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/tools/jazzy/gemset.nix b/pkgs/development/tools/jazzy/gemset.nix
index c397c2a50e2..2073991e787 100644
--- a/pkgs/development/tools/jazzy/gemset.nix
+++ b/pkgs/development/tools/jazzy/gemset.nix
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+      sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   claide = {
     groups = ["default"];
@@ -57,10 +57,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07kwhlf8s5by0bwl07f8nyz0k1szgi801cb51n8wbargwhqk1xa4";
+      sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.8.4";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
@@ -68,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1clmsmc7407namv0b6d0zssjzamwvvb2k8hxggwmrcbs2gmd20ad";
+      sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.8.4";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -88,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+      sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -170,10 +170,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.3";
   };
   fourflusher = {
     groups = ["default"];
@@ -230,10 +230,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dw29rsdijr4dhpvn89m3934qrr80a4jyg3v813iy7jbkb6kspj4";
+      sha256 = "0d903aii1y54xb348cyj7rps7xa3in41w2qjh6yvgkbxbabnc616";
       type = "gem";
     };
-    version = "0.11.2";
+    version = "0.13.0";
   };
   json = {
     groups = ["default"];
@@ -258,10 +258,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kj5m8gg643w8jh8nsdy15bpddmnnafhyzhjx7gp28l1acb4fik7";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.12.0";
+    version = "5.13.0";
   };
   molinillo = {
     groups = ["default"];
@@ -278,10 +278,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1698xpwxmfvj39ii5vv8a4aka54p3fpk5i4rf8z9lfxrh4948rbk";
+      sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   nanaimo = {
     groups = ["default"];
@@ -332,10 +332,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
+      sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.13.0";
   };
   ruby-macho = {
     groups = ["default"];
@@ -402,9 +402,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162gwhrl7ppj6hlmnpp1scvy1ylcv5xqk51826v075sckdqjp8c8";
+      sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.13.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/jo/default.nix b/pkgs/development/tools/jo/default.nix
index 2417f4cbfd1..9e5d29a6bb2 100644
--- a/pkgs/development/tools/jo/default.nix
+++ b/pkgs/development/tools/jo/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchFromGitHub, autoreconfHook}:
+{stdenv, fetchFromGitHub, autoreconfHook, pandoc, pkgconfig}:
 
 stdenv.mkDerivation rec {
   pname = "jo";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner  = "jpmens";
     repo = "jo";
     rev = version;
-    sha256 ="03b22zb5034ccqyp4ynfzknxagb3jz2dppl0kqz2nv4a08aglpmy";
+    sha256 ="11miqg0i83drwkn66b4333vhfdw62al11dyfgp30alg6pcab3icl";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pandoc pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "A small utility to create JSON objects";
diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix
index 4ac57d0e850..411b6a261d6 100644
--- a/pkgs/development/tools/kind/default.nix
+++ b/pkgs/development/tools/kind/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 with stdenv.lib;
 
 buildGoPackage rec {
   pname = "kind";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "kubernetes-sigs";
     repo   = "kind";
-    sha256 = "12bjvma98dlxybqs43dggnd6cihxm18xz68a5jw8dzf0cg738gs8";
+    sha256 = "165nwkhsa12z043rvkdf977jndhp82x7sccqfy75pkx99mzz43r2";
   };
 
   goDeps = ./deps.nix;
   goPackagePath = "sigs.k8s.io/kind";
   subPackages = [ "." ];
 
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    $bin/bin/kind completion bash > kind.bash
+    $bin/bin/kind completion zsh > kind.zsh
+    installShellCompletion kind.{bash,zsh}
+  '';
+
   meta = {
     description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
     homepage    = https://github.com/kubernetes-sigs/kind;
diff --git a/pkgs/development/tools/kind/deps.nix b/pkgs/development/tools/kind/deps.nix
index c5557c2aa49..99a73291d71 100644
--- a/pkgs/development/tools/kind/deps.nix
+++ b/pkgs/development/tools/kind/deps.nix
@@ -1,6 +1,15 @@
 # file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
     goPackagePath = "github.com/NYTimes/gziphandler";
     fetch = {
       type = "git";
@@ -14,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.1.1";
-      sha256 = "0c525frsxmalrn55hzzsxy17ng8avkd40ga0wxfw9haxsdjgqdqy";
+      rev = "v1.0.0";
+      sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1";
     };
   }
   {
@@ -23,8 +32,62 @@
     fetch = {
       type = "git";
       url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "de5bf2ad4578";
-      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
+      rev = "5bd2802263f2";
+      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/alessio/shellescape";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alessio/shellescape";
+      rev = "b115ca0f9053";
+      sha256 = "0z4jq94yn0jjj56bzrpdazb3pv1jg0r7z0ikq3gjaa51h423wk4z";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v1.0.10";
+      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
     };
   }
   {
@@ -37,12 +100,30 @@
     };
   }
   {
+    goPackagePath = "github.com/docker/spdystream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/spdystream";
+      rev = "449fdfce4d96";
+      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev = "c4fc26588b6e";
+      sha256 = "1s3v02px61a3hmvb47rqk598z5visayxq46k3c8dcrayhhngv2fw";
+    };
+  }
+  {
     goPackagePath = "github.com/emicklei/go-restful";
     fetch = {
       type = "git";
       url = "https://github.com/emicklei/go-restful";
-      rev = "v2.9.6";
-      sha256 = "0dgjld5240xhz45rj929ffm452n931qfw3fx8x99vhlnii9qrwz2";
+      rev = "ff4f55a20633";
+      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
     };
   }
   {
@@ -73,12 +154,21 @@
     };
   }
   {
+    goPackagePath = "github.com/go-logr/logr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logr/logr";
+      rev = "v0.1.0";
+      sha256 = "0fhijjhxz4n2j5i24ckzv8r9kri3v44jdyklgbqjfq0xm7izqg14";
+    };
+  }
+  {
     goPackagePath = "github.com/go-openapi/jsonpointer";
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonpointer";
-      rev = "v0.19.2";
-      sha256 = "1s3cqf4svrbygvvpvi7hf122szsgihas52vqh0bba3avf4w03g9n";
+      rev = "46af16f9f7b1";
+      sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc";
     };
   }
   {
@@ -86,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/jsonreference";
-      rev = "v0.19.2";
-      sha256 = "0v933yvcwyzzlpdxwb9204ki7lls2rwfd96ww2i901ndvz37kdf8";
+      rev = "13c6e3589ad9";
+      sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis";
     };
   }
   {
@@ -95,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/spec";
-      rev = "v0.19.2";
-      sha256 = "1r2my46qc85fp1j4lbddmd6c1n0am9bq1wyqsnw7x8raiznqxp5l";
+      rev = "6aced65f8501";
+      sha256 = "0yf0nw7167yjpiqrikns5djarjpf2r07q6xnq9xb1cfsc4m7ynm4";
     };
   }
   {
@@ -104,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-openapi/swag";
-      rev = "v0.19.2";
-      sha256 = "1mlxlajx2p9wjm72rmqjrx5g49q2sn04y45s3nrykkf6jqlq1v4z";
+      rev = "1d0bd113de87";
+      sha256 = "0fmk42chj20679n87n6sig3czs25lavyj6w208000n6kccv1ns3c";
     };
   }
   {
@@ -113,8 +203,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/gogo/protobuf";
-      rev = "v1.2.1";
-      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+      rev = "65acae22fc9d";
+      sha256 = "0700alky9z0g9akhrzn20wf4jr1600d0clhs32sm8chnlbvidy46";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/groupcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/groupcache";
+      rev = "02826c3e7903";
+      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
     };
   }
   {
@@ -122,8 +221,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
     };
   }
   {
@@ -149,8 +257,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/googleapis/gnostic";
-      rev = "v0.3.0";
-      sha256 = "0bnxpkxw9kmwm27rxhgv3i0jn362wp9whmqrv0lb77874s5iz2lc";
+      rev = "0c5108395e2d";
+      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
     };
   }
   {
@@ -176,8 +302,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/json-iterator/go";
-      rev = "v1.1.6";
-      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+      rev = "v1.1.8";
+      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
     };
   }
   {
@@ -185,8 +311,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kisielk/errcheck";
-      rev = "v1.1.0";
-      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
     };
   }
   {
@@ -199,15 +325,6 @@
     };
   }
   {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
-    };
-  }
-  {
     goPackagePath = "github.com/kr/pretty";
     fetch = {
       type = "git";
@@ -221,8 +338,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kr/pty";
-      rev = "v1.1.5";
-      sha256 = "1bpq77b90z72cv9h66dvxsg2j197ylpgcps23xsjfbs752bykfw1";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
     };
   }
   {
@@ -235,12 +352,48 @@
     };
   }
   {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
     goPackagePath = "github.com/mailru/easyjson";
     fetch = {
       type = "git";
       url = "https://github.com/mailru/easyjson";
-      rev = "da37f6c1e481";
-      sha256 = "0yhamddd1jyqslp0hm5g07ki82sp52f0idfiqylx6fm24fin74gh";
+      rev = "d5b7844b561a";
+      sha256 = "1g84l4wns28xjpn6nl1g33dcj3sfgxlkqqsa6w8fbq2kwyd50xka";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.10";
+      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
     };
   }
   {
@@ -271,12 +424,21 @@
     };
   }
   {
+    goPackagePath = "github.com/mxk/go-flowrate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mxk/go-flowrate";
+      rev = "cca7078d478f";
+      sha256 = "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541";
+    };
+  }
+  {
     goPackagePath = "github.com/onsi/ginkgo";
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.8.0";
-      sha256 = "1326s5fxgasdpz1qqwrw4n5p3k0vz44msnyz14knrhlw5l97lx33";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -284,8 +446,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.5.0";
-      sha256 = "1n7i4hksdgv410m43v2sw14bl5vy59dkp6nlw5l76nibbh37syr9";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
     };
   }
   {
@@ -307,12 +478,30 @@
     };
   }
   {
-    goPackagePath = "github.com/sirupsen/logrus";
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
     fetch = {
       type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.1";
-      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.1.2";
+      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
     };
   }
   {
@@ -320,8 +509,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "v0.0.3";
-      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+      rev = "v0.0.5";
+      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
     };
   }
   {
@@ -329,8 +527,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+      rev = "v1.0.5";
+      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
     };
   }
   {
@@ -338,8 +545,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/objx";
-      rev = "v0.2.0";
-      sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
     };
   }
   {
@@ -347,8 +554,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "d75b2dcb6bc8";
+      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
     };
   }
   {
@@ -356,8 +581,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "5c40567a22f8";
-      sha256 = "17g8fb9vy2sqq8vgz8jdvf6c6d2290gm2qs0i4yzsd86mgn4dlrg";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
     };
   }
   {
@@ -365,8 +590,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+      rev = "13f9640d40b9";
+      sha256 = "1ba2767lvklnmfvb9jkwvd4m7z6326gaiz3rgylh795g88hy34g1";
     };
   }
   {
@@ -374,8 +599,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+      rev = "1d60e4601c6f";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
     };
   }
   {
@@ -383,8 +608,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d432491b9138";
-      sha256 = "0ijq720jr76yxdd6mh1rdpxh7q93w6149paclb4g39vhr84hfiv8";
+      rev = "c1f44814a5cd";
+      sha256 = "1a6hb4326hk8hvcbs0pqypalsxzqc8xasnglrrwd6ai0njgh18pg";
     };
   }
   {
@@ -401,8 +626,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "5aca471b1d59";
-      sha256 = "1i4h3q83w4y9s065w0wnnnwlssy69jbrj08k47ppsa8dnv85kyrf";
+      rev = "6c7e314b6563";
+      sha256 = "1m1n6r8v6mrlh0yvlz3qxz4s7jc7nis0zf3dfl1i6hqh5xblkwnw";
     };
   }
   {
@@ -446,17 +671,17 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+      rev = "v2.2.5";
+      sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
     };
   }
   {
-    goPackagePath = "k8s.io/api";
+    goPackagePath = "gopkg.in/yaml.v3";
     fetch = {
       type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "6e4e0e4f393b";
-      sha256 = "0y7nxxywq2qx74a5vsg0h2jkfj879wbv6bjran12401fv0vsdlp1";
+      url = "https://gopkg.in/yaml.v3";
+      rev = "e228e37189d3";
+      sha256 = "06sc63lqhkqjh188md1cywvscxq40cqgmdl8ccd3q891b1xpajl4";
     };
   }
   {
@@ -464,17 +689,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/apimachinery";
-      rev = "6a84e37a896d";
-      sha256 = "1ys06ixidvpcj9sgk0c2i5vsz11gg3h8xcpc9kqxfsik36cw1akk";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "v11.0.0";
-      sha256 = "006007k55b5q95fa0vih4bprwvx5sk4a5chvsn46baqa5znphyn1";
+      rev = "v0.17.0";
+      sha256 = "1418y3p2fx7zsf1anpwcma1fqnaymal12d6x33j600jf1y0j9g8i";
     };
   }
   {
@@ -491,8 +707,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/klog";
-      rev = "v0.3.3";
-      sha256 = "1gk1jhhyzsqcb4wnb02hkp8fwmk3ac924yzk87hfc6sgz43jplpn";
+      rev = "v1.0.0";
+      sha256 = "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn";
     };
   }
   {
@@ -500,17 +716,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/kubernetes/kube-openapi";
-      rev = "db7b694dc208";
-      sha256 = "11pmxz6if6gphspyyjqrphwclg02mgnp30mn1i0lr8r21d64m148";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/kustomize/v3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/kustomize";
-      rev = "4b67a6de1296";
-      sha256 = "1qi5swzs3qix9mimrc660hxh9qgcrbcw49z4w27hdv27xl5fa0rd";
+      rev = "30be4d16710a";
+      sha256 = "13pksn2xzyhrz569zihqy78y9ckn4sf4f4x31w1czfwbs87n00gf";
     };
   }
   {
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 76be5e60c53..0c55dc9fdb1 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchurl {
     url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "0zj18wcapnqny7k4wvwkyjfds6l2f4y22w6a84k06rzih2ghv0gm";
+    sha256 = "0pjxd4z0byqrr5qbk3k38vr1ln052m5vhlrky4agmhg5zhn38mm6";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix
index fe72f6dcf16..b3116a9b2f9 100644
--- a/pkgs/development/tools/kubectx/default.nix
+++ b/pkgs/development/tools/kubectx/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubectx";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11snp3li2w4ds2r7fc6mldlgj24mga40v0knlralaiz296bd6zcs";
+    sha256 = "0mv40jh94by99i5wkf3p52wk4l68hvly1k5gnn7zsy9avc8fjd0p";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/kubeprompt/default.nix b/pkgs/development/tools/kubeprompt/default.nix
new file mode 100644
index 00000000000..7c6f3f3396c
--- /dev/null
+++ b/pkgs/development/tools/kubeprompt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeprompt";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jlesquembre";
+    repo = pname;
+    rev = version;
+    sha256 = "1a0xi31bd7n2zrx2z4srhvixlbj028h63dlrjzqxgmgn2w6akbz2";
+  };
+
+  preBuild = ''
+    export buildFlagsArray+=(
+      "-ldflags=
+        -w -s
+        -X ${goPackagePath}/pkg/version.Version=${version}")
+  '';
+
+  goPackagePath = "github.com/jlesquembre/kubeprompt";
+  modSha256 = "0rbpdk2dixywn3wcdgz48f3xw3b7fk8xh7mrlx27wz7fq5wj9v8f";
+
+  meta = with stdenv.lib; {
+    description = "Kubernetes prompt";
+    homepage = "https://github.com/jlesquembre/kubeprompt";
+    license = licenses.epl20;
+    maintainers = with maintainers; [ jlesquembre ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index f91938fb62e..c98a0a79705 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "lazygit";
-  version = "0.8";
+  version = "0.11.3";
 
   goPackagePath = "github.com/jesseduffield/lazygit";
 
@@ -12,13 +12,13 @@ buildGoPackage rec {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zynw5gr96a59x1qshzhhvld883ndf1plnw6l9dbhmff0wcfv6l1";
+    sha256 = "0v765f93hkq94bmzfwkkb9ndbfka415sxyi01679fg860746rl6l";
   };
 
   meta = with stdenv.lib; {
     description = "Simple terminal UI for git commands";
     homepage = "https://github.com/jesseduffield/lazygit";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz equirosa ];
   };
 }
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
index a91ab763bea..b9c149af531 100644
--- a/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
 
 stdenv.mkDerivation rec {
-  name = "libsigrokdecode-0.5.2";
+  name = "libsigrokdecode-0.5.3";
 
   src = fetchurl {
     url = "https://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
-    sha256 = "1w434nl1syjkvwl08lji3r9sr60lbxp1nqys8hqwzv2lgiwrx3g0";
+    sha256 = "1h1zi1kpsgf6j2z8j8hjpv1q7n49i3fhqjn8i178rka3cym18265";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index 9b24fc7573c..fd9fa5f02da 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-core/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "1ka70cr6kznl68ilc42blzqk59gy20spkyqfn26n6zbk0jm5ssxv";
+    sha256 = "0y7qshg6v8s5rwi0fz9xpyhd1yhv8jrw2jhp276a30dfkglx19qn";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/misc/argbash/default.nix b/pkgs/development/tools/misc/argbash/default.nix
new file mode 100644
index 00000000000..b8e3ff4a9df
--- /dev/null
+++ b/pkgs/development/tools/misc/argbash/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoconf }:
+
+stdenv.mkDerivation rec {
+  pname = "argbash";
+
+  version = "2.8.1";
+
+  src = fetchFromGitHub {
+    owner = "matejak";
+    repo = "argbash";
+    rev = "${version}";
+    sha256 = "0zara7v3pnwiwkpb0x0g37pxhmim4425q4gba712f6djj115r1mr";
+  };
+
+  sourceRoot = "${src}/resources";
+
+  nativeBuildInputs = [ autoconf ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Bash argument parsing code generator";
+    homepage = "https://argbash.io/";
+    license = licenses.free; # custom license.  See LICENSE in source repo.
+    maintainers = with maintainers; [ rencire ];
+  };
+}
diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
index e1aeb025c30..f1a48644617 100644
--- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./help2man-SOURCE_DATE_EPOCH-support.patch ];
+
   # Disable indented log output from Make, otherwise "make.test" will
   # fail.
   preCheck = "unset NIX_INDENT_MAKE";
diff --git a/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch b/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
new file mode 100644
index 00000000000..048f75e6334
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/help2man-SOURCE_DATE_EPOCH-support.patch
@@ -0,0 +1,41 @@
+From 2e3357d7f0d63f1caeb40d9644c2436a5cd0da5f Mon Sep 17 00:00:00 2001
+From: David Terry <me@xwvvvvwx.com>
+Date: Fri, 18 Oct 2019 10:23:11 +0200
+Subject: [PATCH] help2man: add support for SOURCE_DATE_EPOCH
+
+---
+ doc/help2man | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/doc/help2man b/doc/help2man
+index af4306f..4a64167 100755
+--- a/doc/help2man
++++ b/doc/help2man
+@@ -213,11 +213,23 @@ sub get_option_value;
+ my $help_text   = get_option_value $ARGV[0], $help_option;
+ $version_text ||= get_option_value $ARGV[0], $version_option;
+ 
++# By default the generated manual pages will include the current date.  This may
++# however be overriden by setting the environment variable $SOURCE_DATE_EPOCH
++# to an integer value of the seconds since the UNIX epoch.  This is primarily
++# intended to support reproducible builds (wiki.debian.org/ReproducibleBuilds)
++# and will additionally ensure that the output date string is UTC.
++my $epoch_secs = time;
++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
++{
++    $epoch_secs = $1;
++    $ENV{TZ} = 'UTC';
++}
++
+ # Translators: the following message is a strftime(3) format string, which in
+ # the English version expands to the month as a word and the full year.  It
+ # is used on the footer of the generated manual pages.  If in doubt, you may
+ # just use %x as the value (which should be the full locale-specific date).
+-my $date = enc strftime _("%B %Y"), localtime;
++my $date = enc strftime _("%B %Y"), localtime $epoch_secs;
+ (my $program = $ARGV[0]) =~ s!.*/!!;
+ my $package = $program;
+ my $version;
+-- 
+2.23.0
+
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 210659289d1..82365d986b8 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,11 +1,13 @@
 { stdenv, lib, buildPackages
-, fetchurl, zlib, autoreconfHook, gettext
+, fetchFromGitHub, fetchurl, zlib, autoreconfHook, gettext
 # Enabling all targets increases output size to a multiple.
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? true
 , noSysDirs
 , gold ? !stdenv.buildPlatform.isDarwin || stdenv.hostPlatform == stdenv.targetPlatform
 , bison ? null
+, flex
+, texinfo
 }:
 
 let
@@ -15,21 +17,29 @@ let
   # is now upstream.
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.31.1";
-  basename = "binutils-${version}";
+  basename = "binutils";
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
                   "${stdenv.targetPlatform.config}-";
+  vc4-binutils-src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "binutils-vc4";
+    rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
+    sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
+  };
+  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
+  normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
+    url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
+    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
+  });
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix + basename;
+  pname = targetPrefix + basename;
+  inherit version;
 
-  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
-  src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
-    url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
-  });
+  src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
 
   patches = [
     # Make binutils output deterministic by default.
@@ -54,6 +64,8 @@ stdenv.mkDerivation {
     # cross-compiling.
     ./always-search-rpath.patch
 
+  ] ++ lib.optionals (!stdenv.targetPlatform.isVc4)
+  [
     # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
     ./gold-symbol-visibility.patch
 
@@ -69,9 +81,9 @@ stdenv.mkDerivation {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [
     bison
-  ] ++ lib.optionals stdenv.targetPlatform.isiOS [
+  ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
     autoreconfHook
-  ];
+  ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ];
   buildInputs = [ zlib gettext ];
 
   inherit noSysDirs;
@@ -132,7 +144,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit targetPrefix version;
+    inherit targetPrefix;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/ccls/default.nix b/pkgs/development/tools/misc/ccls/default.nix
index ec97d1bb75b..8748cdf52b4 100644
--- a/pkgs/development/tools/misc/ccls/default.nix
+++ b/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20190823.4";
+  version = "0.20190823.5";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "1aq8q32jdkhrdrsghk8sdb8y4si36hfavf7jq2yzbqinjx03y1n4";
+    sha256 = "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/misc/chrpath/default.nix b/pkgs/development/tools/misc/chrpath/default.nix
index 956a8df69ce..3cae6aa2ae6 100644
--- a/pkgs/development/tools/misc/chrpath/default.nix
+++ b/pkgs/development/tools/misc/chrpath/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "chrpath-0.16";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/file/3979/chrpath-0.16.tar.gz";
+    url = "https://alioth-archive.debian.org/releases/chrpath/chrpath/0.16/chrpath-0.16.tar.gz";
     sha256 = "0yvfq891mcdkf8g18gjjkn2m5rvs8z4z4cl1vwdhx6f2p9a4q3dv";
   };
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
       binary. The rpath, or runpath if it is present, is where the runtime
       linker should look for the libraries needed for a program.
     '';
-    homepage = https://alioth.debian.org/projects/chrpath/;
+    homepage = https://tracker.debian.org/pkg/chrpath;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/cli11/default.nix b/pkgs/development/tools/misc/cli11/default.nix
index a3579b73408..6261ffc9b01 100644
--- a/pkgs/development/tools/misc/cli11/default.nix
+++ b/pkgs/development/tools/misc/cli11/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, cmake, gtest, python, boost }:
+{
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  gtest,
+  python,
+  boost
+}:
 
 stdenv.mkDerivation rec {
   pname = "cli11";
@@ -20,6 +27,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     rm -rfv extern/googletest
     ln -sfv ${gtest.src} extern/googletest
+    sed -i '/TrueFalseTest/d' tests/CMakeLists.txt
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
new file mode 100644
index 00000000000..e86c32281ff
--- /dev/null
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  pname = "clojure-lsp";
+  version = "20191223T204324";
+
+  src = fetchurl {
+    url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
+    sha256 = "1dcqn72szp4q3b591plby6vzv0xl3ik0hr5wiha3hfb8lm7y6inn";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    install -Dm755 $src $out/bin/clojure-lsp
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Language Server Protocol (LSP) for Clojure";
+    homepage = "https://github.com/snoe/clojure-lsp";
+    license = licenses.mit;
+    maintainers = [ maintainers.ericdallo ];
+    platforms = jre.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/tools/misc/direvent/default.nix b/pkgs/development/tools/misc/direvent/default.nix
new file mode 100644
index 00000000000..0ae1884646d
--- /dev/null
+++ b/pkgs/development/tools/misc/direvent/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  name = "direvent-${version}";
+  version = "5.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/direvent/${name}.tar.gz";
+    sha256 = "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Directory event monitoring daemon";
+    homepage = "https://www.gnu.org.ua/software/direvent/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ puffnfresh ];
+  };
+}
diff --git a/pkgs/development/tools/misc/editorconfig-checker/default.nix b/pkgs/development/tools/misc/editorconfig-checker/default.nix
new file mode 100644
index 00000000000..cbb6a38f67a
--- /dev/null
+++ b/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -0,0 +1,22 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "editorconfig-checker";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "editorconfig-checker";
+    repo = "editorconfig-checker";
+    rev = "${version}";
+    sha256 = "0v2ml9r8b5admi3sv80wa1pwl9qnz03q2p84vgcmgg2nv1v6yxf3";
+  };
+
+  modSha256 = "09b1v9gyh6827yqlfxxxq3lcqhd5snn3n7gdlbjmga3wyp2x4g2r";
+
+  meta = with lib; {
+    description = "A tool to verify that your files are in harmony with your .editorconfig";
+    homepage = "https://editorconfig-checker.github.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ uri-canva ];
+  };
+}
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
index c7eaafd9c7a..288e8bf9699 100644
--- a/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "elfkickers";
-  version = "3.1";
+  version = "3.1a";
 
   src = fetchurl {
     url = "http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz";
-    sha256 = "0n0sypjrdm3ramv0sby4sdh3i3j9d0ihadr951wa08ypdnq3yrkd";
+    sha256 = "02354yn1lh1dxny35ky2d0b44iq302krsqpwk5grr4glma00hhq6";
   };
 
   makeFlags = [ "CC=cc prefix=$(out)" ];
diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix
index 152792dcee2..b8202f94ce9 100644
--- a/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/pkgs/development/tools/misc/fsatrace/default.nix
@@ -2,23 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "fsatrace";
-  version = "0.0.1-160";
+  version = "0.0.1-324";
 
   src = fetchFromGitHub {
     owner = "jacereda";
     repo = "fsatrace";
-    rev = "2bf89d836e0156e68f121b0ffeedade7c9381f77";
-    sha256 = "0bndfmm0y738azwzf6m6xg6gjnrwcqlfjsampk67vga40yylwkbw";
+    rev = "41fbba17da580f81ababb32ec7e6e5fd49f11473";
+    sha256 = "1ihm2v723idd6m0kc1z9v73hmfvh2v0vjs8wvx5w54jaxh3lmj1y";
   };
 
-  preConfigure = ''
-    mkdir -p $out/libexec/${pname}-${version}
-    export makeFlags=INSTALLDIR=$out/libexec/${pname}-${version}
+  installDir = "libexec/${pname}-${version}";
+
+  makeFlags = [ "INSTALLDIR=$(out)/$(installDir)" ];
+
+  preInstall = ''
+    mkdir -p $out/$installDir
   '';
 
   postInstall = ''
     mkdir -p $out/bin
-    ln -s $out/libexec/${pname}-${version}/fsatrace $out/bin/
+    ln -s $out/$installDir/fsatrace $out/bin/fsatrace
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e990cb683e7..e125b7418f6 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv
+{ stdenv, targetPackages
 
 # Build time
 , fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages
@@ -8,7 +8,12 @@
 
 , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
-
+, safePaths ? [
+   # $debugdir:$datadir/auto-load are whitelisted by default by GDB
+   "$debugdir" "$datadir/auto-load"
+   # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb
+   targetPackages.stdenv.cc.cc.lib
+  ]
 }:
 
 let
@@ -70,6 +75,7 @@ stdenv.mkDerivation rec {
     "--with-gmp=${gmp.dev}"
     "--with-mpfr=${mpfr.dev}"
     "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+    "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
   ] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
 
   postInstall =
diff --git a/pkgs/development/tools/misc/gputils/default.nix b/pkgs/development/tools/misc/gputils/default.nix
index 37a7a8c931c..2ad496bfb88 100644
--- a/pkgs/development/tools/misc/gputils/default.nix
+++ b/pkgs/development/tools/misc/gputils/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://gputils.sourceforge.io/;
+    homepage = "https://gputils.sourceforge.io";
+    description = "A collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib";
     license = licenses.gpl2;
     maintainers = with maintainers; [ yorickvp ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 4a65d088834..f8b04af3f97 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -15,7 +15,7 @@ else
 let
   perlDeps = buildEnv {
     name = "hydra-perl-deps";
-    paths = with perlPackages;
+    paths = with perlPackages; lib.closePropagation
       [ ModulePluggable
         CatalystActionREST
         CatalystAuthenticationStoreDBIxClass
diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix
index 9368a3c1acf..a5c3623b699 100644
--- a/pkgs/development/tools/misc/itstool/default.nix
+++ b/pkgs/development/tools/misc/itstool/default.nix
@@ -1,24 +1,14 @@
-{ stdenv, fetchurl, python2, libxml2Python }:
-# We need the same Python as is used to build libxml2Python
+{ stdenv, fetchurl, python3 }:
 
 stdenv.mkDerivation rec {
-  # 2.0.3+ breaks the build of gnome3.gnome-desktop
-  # https://github.com/itstool/itstool/issues/17
-  name = "itstool-2.0.2";
+  name = "itstool-2.0.6";
 
   src = fetchurl {
     url = "http://files.itstool.org/itstool/${name}.tar.bz2";
-    sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a";
+    sha256 = "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2";
   };
 
-  buildInputs = [ python2 libxml2Python ];
-
-  patchPhase =
-    ''
-      sed -e '/import libxml2/i import sys\
-      sys.path.append("${libxml2Python}/lib/${python2.libPrefix}/site-packages")' \
-      -i itstool.in
-    '';
+  buildInputs = [ (python3.withPackages(ps: with ps; [ libxml2 ])) ];
 
   meta = {
     homepage = http://itstool.org/;
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index a02bb2c9f2f..815d5aac406 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-tools";
-  version = "2.10.8";
+  version = "2.11.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
-    sha256 = "03dkwvmiqbr7dcnrk8hw8xd9i0vrx6xxz8wal56mfypxz52i2jk6";
+    sha256 = "1g0g7ypxvc7wd5x4d4ixmfgl9yk0lxax3ymm95hcjwxn5p497r6w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index b9b1f83322d..ae0a4a6dfe2 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mkcert";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xcmvzh5lq8vs3b0f1zw645fxdr8471v7prl1656q02v38f58ly7";
+    sha256 = "0w1ji96hbd3anzsz82xjcafsqhgyz7c7n41rsq60yrllwbj5946f";
   };
 
+  modSha256 = "13a3snhcqq3a9lfy9zfr2rx10mf2ymvhmds1bg8n4m7lbwnzm4fg";
+
   goPackagePath = "github.com/FiloSottile/mkcert";
+  buildFlagsArray = ''
+    -ldflags=
+      -X ${goPackagePath}/main.Version=${version}
+  '';
 
   meta = with lib; {
     homepage = https://github.com/FiloSottile/mkcert;
diff --git a/pkgs/development/tools/misc/patchelf/setup-hook.sh b/pkgs/development/tools/misc/patchelf/setup-hook.sh
index bc1cddd4879..576b9ca2103 100644
--- a/pkgs/development/tools/misc/patchelf/setup-hook.sh
+++ b/pkgs/development/tools/misc/patchelf/setup-hook.sh
@@ -2,7 +2,7 @@
 # directories from the RPATH of every library or executable in every
 # output.
 
-fixupOutputHooks+=('if [ -z "$dontPatchELF" ]; then patchELF "$prefix"; fi')
+fixupOutputHooks+=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi')
 
 patchELF() {
     local dir="$1"
diff --git a/pkgs/development/tools/misc/premake/setup-hook.sh b/pkgs/development/tools/misc/premake/setup-hook.sh
index ba06ea2c761..6e65e9e8c73 100644
--- a/pkgs/development/tools/misc/premake/setup-hook.sh
+++ b/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -14,6 +14,6 @@ premakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$configurePhase" ]; then
+if [ -z "${configurePhase-}" ]; then
     configurePhase=premakeConfigurePhase
 fi
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index 9af43e4b747..449d9ee0984 100644
--- a/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Exploit Development and Reverse Engineering with GDB Made Easy";
-    homepage = http://pwndbg.com;
+    homepage = "https://github.com/pwndbg/pwndbg";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index 65a7c9eef39..2b20b3bd547 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.9.12";
+  version = "0.9.14";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r7y8nbpwfbvinpapv6lgnlc93kwn4b6722cp5ihyf361fklcd02";
+    sha256 = "1npawdvryrxrdfkv4j1jk63l3mwsdgsj85k9yqyhrrphk2w4s1cr";
   };
 
-  modSha256 = "1ydfirjhw238zbia5mk90fx9rrg3kvm2h54zjhiimlvnpls5y8c9";
+  modSha256 = "0a6bmwysgvwpddh2mp228s2brb0kqfcxqjffs2pabf7ym5flmz0g";
 
   subPackages = [ "cmd/reviewdog" ];
 
-  buildFlagsArray = [ "-ldflags=-X github.com/reviewdog/reviewdog/commands.Version=${version}" ];
+  buildFlagsArray = [ "-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/pkgs/development/tools/misc/scc/default.nix b/pkgs/development/tools/misc/scc/default.nix
index 2d5d94813ca..47a91482327 100644
--- a/pkgs/development/tools/misc/scc/default.nix
+++ b/pkgs/development/tools/misc/scc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "scc";
-  version = "2.8.0";
+  version = "2.10.1";
 
   src = fetchFromGitHub {
     owner = "boyter";
@@ -17,9 +17,9 @@ buildGoPackage rec {
   subPackages = [ "./" ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/boyter/scc;
+    homepage = "https://github.com/boyter/scc";
     description = "A very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go";
-    maintainers = with maintainers; [ sigma ];
+    maintainers = with maintainers; [ sigma filalex77 ];
     license = with licenses; [ unlicense /* or */ mit ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix
index a077367622e..66d40ae3127 100644
--- a/pkgs/development/tools/misc/sqitch/default.nix
+++ b/pkgs/development/tools/misc/sqitch/default.nix
@@ -1,4 +1,4 @@
-{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule }:
+{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule, shortenPerlShebang }:
 
 stdenv.mkDerivation {
   name = "${name}-${sqitchModule.version}";
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
   src = sqitchModule;
   dontBuild = true;
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+
   installPhase = ''
     mkdir -p $out/bin
     for d in bin/sqitch etc lib share ; do
@@ -17,6 +19,8 @@ stdenv.mkDerivation {
         ln -s ${sqitchModule}/$d $out/$d
       fi
     done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/sqitch
   '';
   dontStrip = true;
   postFixup = "wrapProgram $out/bin/sqitch --prefix PERL5LIB : $PERL5LIB";
diff --git a/pkgs/development/tools/misc/stm32cubemx/default.nix b/pkgs/development/tools/misc/stm32cubemx/default.nix
new file mode 100644
index 00000000000..53336ab417c
--- /dev/null
+++ b/pkgs/development/tools/misc/stm32cubemx/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, requireFile, makeDesktopItem, libicns, imagemagick, zstd, jre }:
+
+let
+  version = "5.3.0";
+  desktopItem = makeDesktopItem {
+    name = "stm32CubeMX";
+    exec = "stm32cubemx";
+    desktopName = "STM32CubeMX";
+    categories = "Application;Development;";
+    icon = "stm32cubemx";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "stm32cubemx";
+  inherit version;
+
+  src = requireFile rec {
+    name = "STM32CubeMX.tar.zst";
+    message = ''
+      Unfortunately, we cannot download file ${name} automatically.
+      Please proceed with the following steps to download and add it to the Nix
+      store yourself:
+
+      1. get en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      2. unzip en.STM32CubeMX_${builtins.replaceStrings ["."] ["-"] version}.zip
+      3. run the setup: java -jar SetupSTM32CubeMX-${version}.exe
+      4. create a tar from created folder: tar --zstd -cf ${name} STM32CubeMX
+      5. add the result to the store: nix-prefetch-url file://\$PWD/${name}
+
+      Notice: The setup will quit with an error about /bin/chmod
+    '';
+    sha256 = "1r5k5wmsvw1w2nfs3nb4gc6pb3j0x6bqljn9jzc4r8y5bxc34rr8";
+  };
+
+  nativeBuildInputs = [ libicns imagemagick zstd ];
+
+  buildCommand = ''
+    mkdir -p $out/{bin,opt,share/applications}
+
+    tar --extract --zstd --file $src --directory $out/opt/
+    chmod +rx $out/opt/STM32CubeMX/STM32CubeMX.exe
+
+    cat << EOF > $out/bin/${pname}
+    #!${stdenv.shell}
+    ${jre}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX.exe
+    EOF
+    chmod +x $out/bin/${pname}
+
+    icns2png --extract $out/opt/STM32CubeMX/${pname}.icns
+    ls
+    for size in 16 24 32 48 64 128 256; do
+      mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
+      if [ -e ${pname}_"$size"x"$size"x32.png ]; then
+        mv ${pname}_"$size"x"$size"x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      else
+        convert -resize "$size"x"$size" ${pname}_256x256x32.png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      fi
+    done;
+
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A graphical tool that allows a very easy configuration of STM32
+      microcontrollers and microprocessors, as well as the generation of the
+      corresponding initialization C code for the Arm® Cortex®-M core or a
+      partial Linux® Device Tree for Arm® Cortex®-A core), through a
+      step-by-step process.        
+    '';
+    homepage = "https://www.st.com/en/development-tools/stm32cubemx.html";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 4f71d5ae410..2ecabb68670 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0ix06z4vnc49mv76f22kixz8dsh7daqv9mpgwcgl0mlnfjc124vc";
+    sha256 = "0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://strace.io/;
+    homepage = "https://strace.io/";
     description = "A system call tracer for Linux";
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index 8076925f29b..8feeb13db95 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, libmysqlclient
-, libaio }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, libmysqlclient, libaio
+}:
 
-stdenv.mkDerivation {
-  name = "sysbench-1.0.17";
+stdenv.mkDerivation rec {
+  pname = "sysbench";
+  version = "1.0.18";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ vim libmysqlclient libaio ];
+  buildInputs = [ libmysqlclient libaio ];
 
   src = fetchFromGitHub {
     owner = "akopytov";
-    repo = "sysbench";
-    rev = "1.0.17";
-    sha256 = "02i9knvp0bjw6ri848xxiy2dbww2xv70nah9yn67a6zgw617hwa6";
+    repo = pname;
+    rev = version;
+    sha256 = "1r6lkyfp65xqklj1rdfw551srqqyak144agi8x3wjz3wmsbqls19";
   };
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Modular, cross-platform and multi-threaded benchmark tool";
+    homepage = https://github.com/akopytov/sysbench;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/tools/misc/texlab/citeproc/package.json b/pkgs/development/tools/misc/texlab/citeproc/package.json
new file mode 100644
index 00000000000..87e7ccc1c92
--- /dev/null
+++ b/pkgs/development/tools/misc/texlab/citeproc/package.json
@@ -0,0 +1,31 @@
+{
+  "name": "citeproc",
+  "version": "0.1.0",
+  "description": "Render BibTeX citations",
+  "repository": "https://github.com/latex-lsp/citeproc.git",
+  "author": "Eric Förster <efoerster@users.noreply.github.com>",
+  "license": "MIT",
+  "scripts": {
+    "dist": "webpack",
+    "format": "prettier --write \"src/**/*.{js,json}\" \"*.{js,json,yml,md}\" \".vscode/**/*.{json}\""
+  },
+  "dependencies": {
+    "@babel/core": "^7.5.5",
+    "@babel/preset-env": "^7.5.5",
+    "@citation-js/core": "^0.4.8",
+    "@citation-js/plugin-bibtex": "^0.4.8",
+    "@citation-js/plugin-csl": "^0.4.8",
+    "@types/node": "^11.13.17",
+    "@types/webpack": "^4.4.35",
+    "babel-loader": "^8.0.6",
+    "babel-polyfill": "^6.26.0",
+    "null-loader": "^0.1.1",
+    "prettier": "^1.18.2",
+    "ts-loader": "^5.4.5",
+    "ts-node": "^8.3.0",
+    "tslint": "^5.18.0",
+    "tslint-config-prettier": "^1.15.0",
+    "webpack": "^4.35.3",
+    "webpack-cli": "^3.3.6"
+  }
+}
diff --git a/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh b/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh
new file mode 100755
index 00000000000..b57e48e10bc
--- /dev/null
+++ b/pkgs/development/tools/misc/texlab/citeproc/update-package.json.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p jq
+
+set -eu -o pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+	echo "Usage: $0 <git release tag>"
+	exit 1
+fi
+
+TEXLAB_WEB_SRC="https://raw.githubusercontent.com/latex-lsp/texlab/$1"
+
+curl --silent "$TEXLAB_WEB_SRC/src/citeproc/js/package.json" | \
+	jq '. + {"dependencies": .devDependencies} | del(.devDependencies)' > package.json
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
new file mode 100644
index 00000000000..e11c288c1e9
--- /dev/null
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, nodejs
+, Security
+, texlab-citeproc-build-deps
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "texlab";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "latex-lsp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0b9lw6cmh7gyzj0pb3ghvqc3q7lzl12bfg9pjhl31lib3mmga8yb";
+  };
+
+  cargoSha256 = "0qnysl0ayc242dgvanqgmx8v4a2cjg0f1lhbyw16qjv61qcsx8y5";
+
+  nativeBuildInputs = [ nodejs ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  preBuild = ''
+    rm build.rs
+    ln -s ${texlab-citeproc-build-deps}/lib/node_modules/citeproc/node_modules src/citeproc/js
+    (cd src/citeproc/js && npm run dist)
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An implementation of the Language Server Protocol for LaTeX";
+    homepage = https://texlab.netlify.com/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ doronbehar metadark ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/tokei/Cargo.lock.patch b/pkgs/development/tools/misc/tokei/Cargo.lock.patch
deleted file mode 100644
index 46bd80a218d..00000000000
--- a/pkgs/development/tools/misc/tokei/Cargo.lock.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index db09bc4..1e4892d 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -961,7 +961,7 @@ dependencies = [
- 
- [[package]]
- name = "tokei"
--version = "10.0.0"
-+version = "10.0.1"
- dependencies = [
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index 104aa4691ab..e3e8e2c046c 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -2,19 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
-  version = "10.0.1";
+  version = "10.1.0";
 
   src = fetchFromGitHub {
     owner = "XAMPPRocky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0g8p4f8g9zb1fqzzb1qi28idskahi5nldsma6rydjyrgi9gynpa0";
+    sha256 = "0l7vqmdagfhi4hnp50ng253zy4g48qjhs5kmnk2xh5v3c59ys4zs";
   };
 
-  cargoSha256 = "0pwq1scll5ga8rw4lx97s915zvp7v171b6316cin54f2zzpbrxx5";
-
-  # Patch for v10.0.1 Cargo.lock issue
-  patches = [ ./Cargo.lock.patch ];
+  cargoSha256 = "140nm0nswmgdp549gqp71dbn99rc5g7cagl9s5m5qirl9mbpys8x";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile
index 0a470854aaf..3da9975913e 100644
--- a/pkgs/development/tools/misc/travis/Gemfile
+++ b/pkgs/development/tools/misc/travis/Gemfile
@@ -1,3 +1,4 @@
 source "https://rubygems.org"
 
-gem "travis", "1.8.10"
+gem "travis"
+gem "pry", "~> 0.11.0"
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index c5ac09cb9e6..a29f329ca8a 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -3,13 +3,14 @@ GEM
   specs:
     addressable (2.4.0)
     backports (3.15.0)
+    coderay (1.1.2)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    faraday (0.15.4)
+    faraday (0.17.0)
       multipart-post (>= 1.2, < 3)
     faraday_middleware (0.13.1)
       faraday (>= 0.7.4, < 1.0)
-    ffi (1.11.1)
+    ffi (1.11.2)
     gh (0.15.1)
       addressable (~> 2.4.0)
       backports
@@ -21,10 +22,14 @@ GEM
     json (2.2.0)
     launchy (2.4.3)
       addressable (~> 2.3)
-    multi_json (1.13.1)
+    method_source (0.9.2)
+    multi_json (1.14.1)
     multipart-post (2.1.1)
     net-http-persistent (2.9.4)
     net-http-pipeline (1.0.1)
+    pry (0.11.3)
+      coderay (~> 1.1.0)
+      method_source (~> 0.9.0)
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
@@ -45,7 +50,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  travis (= 1.8.10)
+  pry (~> 0.11.0)
+  travis
 
 BUNDLED WITH
    1.17.2
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index 09d5d41454e..a12a891b3e7 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -15,6 +15,16 @@
     };
     version = "3.15.0";
   };
+  coderay = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
   ethon = {
     dependencies = ["ffi"];
     source = {
@@ -26,12 +36,14 @@
   };
   faraday = {
     dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.17.0";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -43,12 +55,14 @@
     version = "0.13.1";
   };
   ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   gh = {
     dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
@@ -84,13 +98,25 @@
     };
     version = "2.4.3";
   };
+  method_source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   multipart-post = {
     source = {
@@ -116,6 +142,17 @@
     };
     version = "1.0.1";
   };
+  pry = {
+    dependencies = ["coderay" "method_source"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
+      type = "gem";
+    };
+    version = "0.11.3";
+  };
   pusher-client = {
     dependencies = ["json" "websocket"];
     source = {
@@ -151,4 +188,4 @@
     };
     version = "1.2.8";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index d85cd1a8216..01ed6603018 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, python }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "uncrustify";
-  version = "0.67";
+  version = "0.70.1";
 
   src = fetchFromGitHub {
     owner = product;
     repo = product;
     rev = name;
-    sha256 = "0hf8c93aj1hjg6cc77x6p7nf7ddp8mn4b6a9gpcrvmx8w81afpd3";
+    sha256 = "0zr3vxhd947zdvwccw3cj0vsriaawcpfjq3x94v9887hsi8fk87b";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix
index fb43ff61a81..d2b80011dea 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch-data";
-  version = "20170806";
+  version = "20191128";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
+    sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz";
   };
 
   inherit (usb-modeswitch) makeFlags;
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 7c119c92943..a0e1b8eb8ce 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "usb-modeswitch";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchurl {
     url    = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
-    sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb";
+    sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
   };
 
   makeFlags = [
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index 09de5b02737..309c44d6d46 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
     export NIX_CFLAGS_COMPILE+=" -isystem $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
     export NIX_LDFLAGS+=" -L $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
   '';
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 4dd21671325..1531408e498 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      z77z vbgl
+      maggesi vbgl
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index bde5cce6048..8aa446081b7 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, dune }:
 let
   pname = "cppo";
-  webpage = "http://mjambon.com/${pname}.html";
+  webpage = "https://github.com/ocaml-community/${pname}";
 in
 assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
-    version = "1.6.5";
-    sha256 = "03c0amszy28shinvz61hm340jz446zz5763a1pdqlza36kwcj0p0";
+    version = "1.6.6";
+    sha256 = "1smcc0l6fh2n0y6bp96c69j5nw755jja99w0b206wx3yb2m4w2hs";
     buildInputs = [ dune ];
     extra = {
       inherit (dune) installPhase;
@@ -31,7 +31,7 @@ stdenv.mkDerivation ({
   name = "${pname}-${param.version}";
 
   src = fetchFromGitHub {
-    owner = "mjambon";
+    owner = "ocaml-community";
     repo = pname;
     rev = "v${param.version}";
     inherit (param) sha256;
diff --git a/pkgs/development/tools/ocaml/crunch/default.nix b/pkgs/development/tools/ocaml/crunch/default.nix
new file mode 100644
index 00000000000..e48707dcb9a
--- /dev/null
+++ b/pkgs/development/tools/ocaml/crunch/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl, ocaml, cmdliner, opaline, ptime }:
+
+buildDunePackage rec {
+
+  pname = "crunch";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-crunch/releases/download/v${version}/crunch-v${version}.tbz";
+    sha256 = "0d26715a4h9r1wibnc12xy690m1kan7hrcgbb5qk8x78zsr67lnf";
+  };
+
+  propagatedBuildInputs = [ cmdliner ptime ];
+
+  outputs = [ "lib" "bin" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib/
+  '';
+
+  meta = {
+    homepage = "https://github.com/mirage/ocaml-crunch";
+    description = "Convert a filesystem into a static OCaml module";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
new file mode 100644
index 00000000000..3260068edcd
--- /dev/null
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+if stdenv.lib.versionOlder ocaml.version "4.07"
+then throw "dune is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  pname = "dune";
+  version = "2.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
+    sha256 = "1hf8c0djx2v1jpjba0z096gw6qdr0igsljrf0qh0ggphg9valsmj";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  buildFlags = "release";
+
+  dontAddPrefix = true;
+
+  installFlags = [ "PREFIX=${placeholder "out"}" "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
+
+  meta = {
+    homepage = "https://dune.build/";
+    description = "A composable build system";
+    maintainers = [ stdenv.lib.maintainers.vbgl stdenv.lib.maintainers.marsam ];
+    license = stdenv.lib.licenses.mit;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index fb1eb4276d6..9db5ed10c84 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
   setupHook = writeText "setupHook.sh" ''
     addOCamlPath () {
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
-            export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
+            export OCAMLPATH="''${OCAMLPATH-}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
         fi
         if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"; then
-            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
+            export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
         fi
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
-        if test -n "$createFindlibDestdir"; then
+        if test -n "''${createFindlibDestdir-}"; then
           mkdir -p $OCAMLFIND_DESTDIR
         fi
     }
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
     maintainers = [
-      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.maggesi
       stdenv.lib.maintainers.vbmithr
     ];
   };
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
index d1ff9eee817..9ca6ca67421 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation {
-	pname = "js_of_ocaml"; 
+  pname = "js_of_ocaml"; 
 
-	inherit (js_of_ocaml-compiler) version src installPhase meta;
+  inherit (js_of_ocaml-compiler) version src installPhase meta;
 
-	buildInputs = [ ocaml findlib dune ocaml-migrate-parsetree ppx_tools_versioned ];
+  buildInputs = [ findlib ocaml-migrate-parsetree ppx_tools_versioned ];
+  nativeBuildInputs = [ ocaml findlib dune ];
 
   postPatch = "patchShebangs lib/generate_stubs.sh";
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index c449c0f9002..801e4142780 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, buildDunePackage
-, cmdliner, cppo, yojson
+, ocaml, findlib, cmdliner, dune, cppo, yojson
 }:
 
 buildDunePackage rec {
@@ -13,8 +13,10 @@ buildDunePackage rec {
 		sha256 = "0c537say0f3197zn8d83nrihabrxyn28xc6d7c9c3l0vvrv6qvfj";
 	};
 
-	buildInputs = [ cmdliner cppo ];
+	nativeBuildInputs = [ ocaml findlib dune cppo ];
+  buildInputs = [ cmdliner ];
 
+  configurePlatforms = [];
 	propagatedBuildInputs = [ yojson ];
 
 	meta = {
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index 67acf874baf..ed3d5efc789 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, yojson }:
+{ lib, fetchurl, buildDunePackage, yojson }:
 
 buildDunePackage rec {
   pname = "merlin";
-  version = "3.3.2";
+  version = "3.3.3";
 
   minimumOCamlVersion = "4.02.1";
 
-  src = fetchFromGitHub {
-    owner = "ocaml";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1z9mcxflraj15sbz6q7f84n31n9fsialw7z8bi3r1biz68nypva9";
+  src = fetchurl {
+    url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-v${version}.tbz";
+    sha256 = "05dfkbpbb7nvs4g6y0iw7a9f73ygvhs9l45l2g56y7zagvs9x43j";
   };
 
   buildInputs = [ yojson ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 04aeab5f431..b13d98acd0d 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     license = licenses.lgpl21;
     platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
-      vbgl z77z
+      vbgl maggesi
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index 7336439240d..3ceb9b1622c 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchzip, ncurses, ocamlPackages }:
+{ lib, fetchzip, ncurses, ocamlPackages }:
 
 with ocamlPackages; buildDunePackage rec {
   pname = "ocaml-top";
-  version = "1.1.5";
+  version = "1.2.0-rc";
 
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocaml-top/archive/${version}.tar.gz";
-    sha256 = "1d4i6aanrafgrgk4mh154k6lkwk0b6mh66rykz33awlf5pfqd8yv";
+    sha256 = "1r290m9vvr25lgaanivz05h0kf4fd3h5j61wj4hpp669zffcyyb5";
   };
 
-  buildInputs = [ ncurses ocp-build lablgtk ocp-index ];
+  buildInputs = [ ncurses ocp-build lablgtk3-sourceview3 ocp-index ];
 
   configurePhase = ''
     export TERM=xterm
@@ -18,8 +18,8 @@ with ocamlPackages; buildDunePackage rec {
 
   meta = {
     homepage = https://www.typerex.org/ocaml-top.html;
-    license = stdenv.lib.licenses.gpl3;
+    license = lib.licenses.gpl3;
     description = "A simple cross-platform OCaml code editor built for top-level evaluation";
-    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    maintainers = with lib.maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocamlformat/default.nix b/pkgs/development/tools/ocaml/ocamlformat/default.nix
index 4eb1cc858ad..d599fb7ade1 100644
--- a/pkgs/development/tools/ocaml/ocamlformat/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlformat/default.nix
@@ -1,16 +1,14 @@
-{ lib, fetchFromGitHub, ocamlPackages }:
+{ lib, fetchurl, ocamlPackages }:
 
 with ocamlPackages; buildDunePackage rec {
   pname = "ocamlformat";
-  version = "0.11.0";
+  version = "0.12";
 
   minimumOCamlVersion = "4.06";
 
-  src = fetchFromGitHub {
-    owner = "ocaml-ppx";
-    repo = pname;
-    rev = version;
-    sha256 = "0zvjn71jd4d3znnpgh0yphb2w8ggs457b6bl6cg1fmpdgxnds6yx";
+  src = fetchurl {
+    url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/ocamlformat-${version}.tbz";
+    sha256 = "1zi8x597dhp2822j6j28s84yyiqppl7kykpwqqclx6ybypvlzdpj";
   };
 
   buildInputs = [
@@ -25,7 +23,7 @@ with ocamlPackages; buildDunePackage rec {
   ];
 
   meta = {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/ocaml-ppx/ocamlformat";
     description = "Auto-formatter for OCaml code";
     maintainers = [ lib.maintainers.Zimmi48 ];
     license = lib.licenses.mit;
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
index df480903d15..5465e9dcb6f 100644
--- a/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     platforms = ocaml.meta.platforms or [];
     license = stdenv.lib.licenses.lgpl21;
     maintainers = with stdenv.lib.maintainers; [
-      z77z
+      maggesi
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index 91e2e67eaf1..522cb7c199d 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     description = "Generate OCaml modules from source files";
     platforms = ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [
-      z77z
+      maggesi
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
index 79be6a8170c..9ea01a8dca7 100644
--- a/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -1,29 +1,24 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, dune, ocp-build, ocp-indent, cmdliner, re }:
-
-stdenv.mkDerivation rec {
+{ stdenv, fetchFromGitHub, buildDunePackage, ocp-build, ocp-indent, cmdliner, re,  }:
 
+buildDunePackage rec {
+  pname = "ocp-index";
   version = "1.1.9";
-  name = "ocaml${ocaml.version}-ocp-index-${version}";
 
   src = fetchFromGitHub {
     owner = "OCamlPro";
-    repo = "ocp-index";
+    repo = pname;
     rev = version;
     sha256 = "0dq1kap16xfajc6gg9hbiadax782winpvxnr3dkm2ncznnxds37p";
   };
 
-  buildInputs = [ ocaml findlib dune ocp-build cmdliner re ];
-  propagatedBuildInputs = [ ocp-indent ];
-
-  buildPhase = "dune build -p ocp-index";
+  buildInputs = [ ocp-build cmdliner re ];
 
-  inherit (dune) installPhase;
+  propagatedBuildInputs = [ ocp-indent ];
 
   meta = {
     homepage = http://typerex.ocamlpro.com/ocp-index.html;
     description = "A simple and light-weight documentation extractor for OCaml";
     license = stdenv.lib.licenses.lgpl3;
-    platforms = ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch b/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
index f74ac84ca6b..13aa7a89570 100644
--- a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
+++ b/pkgs/development/tools/ocaml/opam/opam-shebangs.patch
@@ -64,7 +64,7 @@ index 00000000..3ea84e2d
 +header() { echo "$1"; }
 +stopNest() { true; }
 +
-+fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
++fixupOutputHooks+=('if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
 +
 +patchShebangs() {
 +    local dir="$1"
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 7662041a488..c0aa1d16374 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,27 +1,25 @@
 { stdenv, fetchurl, ocaml, findlib, dune
-, lambdaTerm, cppo, makeWrapper
+, lambdaTerm, cppo, makeWrapper, buildDunePackage
 }:
 
 if !stdenv.lib.versionAtLeast ocaml.version "4.03"
 then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "utop";
   version = "2.4.2";
 
   src = fetchurl {
-    url = "https://github.com/diml/utop/archive/${version}.tar.gz";
-    sha256 = "0fl8524vmxb9yxjwrh5varvfp0ff3sgfp627knwbxxr69w45ad8h";
+    url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
+    sha256 = "0y2v8rkfz19nlz8gh0lkh5wx5hyvw5gl4nw1kg8j2pw9jnilq5nb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml findlib cppo dune ];
+  buildInputs = [ cppo ];
 
   propagatedBuildInputs = [ lambdaTerm ];
 
-  inherit (dune) installPhase;
-
   postFixup =
    let
      path = "etc/utop/env";
@@ -39,6 +37,7 @@ stdenv.mkDerivation rec {
        installPhase = ''
          mkdir -p "$out"/${path}
          for e in OCAMLPATH CAML_LD_LIBRARY_PATH; do
+           [[ -v "$e" ]] || continue
            printf %s "''${!e}" > "$out"/${path}/$e
          done
        '';
diff --git a/pkgs/development/tools/ofono-phonesim/default.nix b/pkgs/development/tools/ofono-phonesim/default.nix
index cc33b675954..e62827c67b4 100644
--- a/pkgs/development/tools/ofono-phonesim/default.nix
+++ b/pkgs/development/tools/ofono-phonesim/default.nix
@@ -1,27 +1,21 @@
 { stdenv
 , mkDerivation
-, fetchFromGitHub
+, fetchgit
 , autoreconfHook
 , pkgconfig
 , qtbase
-, qtscript
 }:
 
 mkDerivation {
   pname = "ofono-phonesim";
-  version = "unstable-2014-04-22";
+  version = "unstable-2019-11-18";
 
-  src = fetchFromGitHub {
-    owner = "jpakkane";
-    repo = "ofono-phonesim";
-    rev = "baa41f04e6a86c5289d7185cad8a6f08a5c3ed0a";
-    sha256 = "0ywalvvf3dfbn81ml21gji1n2hywh2nmakynakjzyyskcqjn2wiz";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/ofono/phonesim.git";
+    rev = "adf231a84cd3708b825dc82c56e841dd7e3b4541";
+    sha256 = "sha256:1840914sz46l8h2jwa0lymw6dvgj72wq9bhp3k4v4rk6masbf6hp";
   };
 
-  patches = [
-    ./qt5-compat.patch
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     pkgconfig
@@ -29,7 +23,6 @@ mkDerivation {
 
   buildInputs = [
     qtbase
-    qtscript
   ];
 
   makeFlags = [
@@ -39,7 +32,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Phone Simulator for modem testing";
-    homepage = https://github.com/jpakkane/ofono-phonesim;
+    homepage = "https://01.org/ofono";
     license = licenses.gpl2;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/ofono-phonesim/qt5-compat.patch b/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
deleted file mode 100644
index e2e9dcebd6b..00000000000
--- a/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 2436292..993df87 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,18 +21,18 @@ AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
- 	fi
- ])
- 
--PKG_CHECK_MODULES(QT, QtCore QtGui QtXml QtNetwork QtScript QtDBus, dummy=yes,
-+PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5Script Qt5DBus, dummy=yes,
- 						AC_MSG_ERROR(Qt is required))
- AC_SUBST(QT_CFLAGS)
- AC_SUBST(QT_LIBS)
- 
- AC_MSG_CHECKING(for moc)
--MOC="`$PKG_CONFIG --variable=moc_location QtCore`"
-+MOC="`$PKG_CONFIG --variable=moc_location Qt5Core`"
- AC_SUBST(MOC)
- AC_MSG_RESULT($MOC)
- 
- AC_MSG_CHECKING(for uic)
--UIC="`$PKG_CONFIG --variable=uic_location QtCore`"
-+UIC="`$PKG_CONFIG --variable=uic_location Qt5Core`"
- AC_SUBST(UIC)
- AC_MSG_RESULT($UIC)
- 
-diff --git a/src/control.cpp b/src/control.cpp
-index e1838a6..880da68 100644
---- a/src/control.cpp
-+++ b/src/control.cpp
-@@ -22,7 +22,7 @@
- #include <qslider.h>
- #include <qcheckbox.h>
- #include <qcombobox.h>
--#include <QtGui/qmessagebox.h>
-+#include <QMessageBox>
- #include <qfiledialog.h>
- #include <Qt>
- #include <qbuffer.h>
-@@ -31,7 +31,7 @@
- #include <QFileInfo>
- #include <QFile>
- #include <QDir>
--#include <QtGui/QHeaderView>
-+#include <QHeaderView>
- 
- #define TWO_BYTE_MAX 65535
- #define FOUR_CHAR 4
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
new file mode 100644
index 00000000000..d1ecdd1efd9
--- /dev/null
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "open-policy-agent";
+  version = "0.15.0";
+
+  goPackagePath = "github.com/open-policy-agent/opa";
+  src = fetchFromGitHub {
+    owner = "open-policy-agent";
+    repo = "opa";
+    rev = "v${version}";
+    sha256 = "0i9735v73a7wfq02p4hsy61g7d7bip6zmb8bnsiz2ma84g2g533w";
+  };
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "General-purpose policy engine";
+    homepage = "https://www.openpolicyagent.org";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lewo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/open-policy-agent/deps.nix b/pkgs/development/tools/open-policy-agent/deps.nix
new file mode 100644
index 00000000000..ba9eed180d5
--- /dev/null
+++ b/pkgs/development/tools/open-policy-agent/deps.nix
@@ -0,0 +1,408 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/OneOfOne/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/OneOfOne/xxhash";
+      rev = "v1.2.3";
+      sha256 = "0hxyvv77ghja6vim210s7fa1n2zlvykvjak8s3k3nkj85h611kwb";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev = "v1.1.0";
+      sha256 = "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/ghodss/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ghodss/yaml";
+      rev = "c7ce16629ff4";
+      sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1";
+    };
+  }
+  {
+    goPackagePath = "github.com/gobwas/glob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
+      rev = "v0.2.3";
+      sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.3.0";
+      sha256 = "0slfyrmbpdcppf0z3waar90bpszdhi2gv705ys1b0zx5x6ax8f1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "d3de96c4c28e";
+      sha256 = "0k41z9dybs3fvgb1jzgnxr91qad9rnf9a269l95jics58m3kn7f5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev = "521ea7b17d02";
+      sha256 = "0bd83nd6jc2vsddwnb8w6gpw6qpfg449n6wb4dmk12ybmdhkwrvf";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.2.0";
+      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    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";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "b20a3daf6a39";
+      sha256 = "0crivpncmh22696d5cy7k15ll5yqfjcigk0xy73wb6g1q6vnfxs7";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/mna/pigeon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mna/pigeon";
+      rev = "bb0192cfc2ae";
+      sha256 = "1yid3pm46hjszikbap2wbfh97vpnha0qncywlnm1mk1pzglfgdy9";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "v0.0.1";
+      sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
+    };
+  }
+  {
+    goPackagePath = "github.com/peterh/liner";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterh/liner";
+      rev = "bf27d3ba8e1d";
+      sha256 = "0xx9923l4a46kjd1wpscqw31p4am28xrhd17xgw1cnx06bznb36v";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "059132a15dd0";
+      sha256 = "0bxkbh2rq40kdk8i05am5np77cnskx3571v2k300j5mmj1rl1ijg";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "f30f42803563";
+      sha256 = "0d3a9igvpdx516wpvj3b1ki1c4n2lvp5ghvzpqk95j2fxzyyzcxg";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "5c3871d89910";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "7e9e6cabbd39";
+      sha256 = "00nmyp6k6x53gl7csca6bja010wnxf2p2pxfph3y0l2ap44qb38w";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "185b4288413d";
+      sha256 = "0d85429kdw5dgj5zhyiz1sq3i5691vj2gjnda93nnxxzx9acg8cv";
+    };
+  }
+  {
+    goPackagePath = "github.com/rcrowley/go-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rcrowley/go-metrics";
+      rev = "3113b8401b8a";
+      sha256 = "1m5q5dsvkqz809aag6dyan74wdrp69g2mb9killbv7z4ls2mlfr3";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.4.1";
+      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "f09979ecbc72";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "fe5e611709b0";
+      sha256 = "1pn7g9jmhqc9yg6x02dgp4phiggnnxz8a11pv5y4vxhrvkjm6h71";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "082b515c9490";
+      sha256 = "03jil8szw5hsp0x4pgzdxas2njqij2466p20q1ag18lmgncjl50m";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath = "github.com/yashtewari/glob-intersection";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yashtewari/glob-intersection";
+      rev = "5c77d914dd0b";
+      sha256 = "1mfdk6iwqbhikcccds81knqlrj1phf9pad39fs2y8bzr6n7nqfzz";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev = "1baf3a9d7d67";
+      sha256 = "0aql4lb9cf2kcb9jx90bvpp9chrmic2y3fwfvdq76hq2qvr4818d";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3b0461eec859";
+      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "d0b11bdaac8a";
+      sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "5eefd052ad72";
+      sha256 = "1bgpq8j3a1mwsd9cbp9hqmb5ms6vp4b0a2xsrlpwrfpyswnyagi0";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a985d3407aa7";
+      sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "11092d34479b";
+      sha256 = "12qcrjq658zga5fj4n0wgm11pzpr3gafwg25cinl5qcq4p9cnl0r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+]
diff --git a/pkgs/development/tools/out-of-tree/default.nix b/pkgs/development/tools/out-of-tree/default.nix
index 0e4810f0ba4..725694063a3 100644
--- a/pkgs/development/tools/out-of-tree/default.nix
+++ b/pkgs/development/tools/out-of-tree/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "out-of-tree";
-  version = "1.1.1";
+  version = "1.2.1";
 
   buildInputs = [ makeWrapper ];
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchgit {
     rev = "refs/tags/v${version}";
     url = "https://code.dumpstack.io/tools/${pname}.git";
-    sha256 = "048jda3vng11mg62fd3d8vs9yjsp569zlfylnkqv8sb6wd1qn66d";
+    sha256 = "0wh4yh865wgl3hs203ncdjh1gaxznmhxdg56mciibng0dghgyw7n";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/overcommit/Gemfile b/pkgs/development/tools/overcommit/Gemfile
new file mode 100644
index 00000000000..39325c7561b
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'overcommit'
diff --git a/pkgs/development/tools/overcommit/Gemfile.lock b/pkgs/development/tools/overcommit/Gemfile.lock
new file mode 100644
index 00000000000..bf88c1bb148
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile.lock
@@ -0,0 +1,17 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    childprocess (3.0.0)
+    iniparse (1.4.4)
+    overcommit (0.51.0)
+      childprocess (>= 0.6.3, < 4)
+      iniparse (~> 1.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  overcommit
+
+BUNDLED WITH
+   1.17.3
diff --git a/pkgs/development/tools/overcommit/default.nix b/pkgs/development/tools/overcommit/default.nix
new file mode 100644
index 00000000000..84529ca4b6f
--- /dev/null
+++ b/pkgs/development/tools/overcommit/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "overcommit";
+  gemdir = ./.;
+  exes = [ "overcommit" ];
+
+  meta = with lib; {
+    description = "Tool to manage and configure Git hooks";
+    homepage    = https://github.com/sds/overcommit;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/overcommit/gemset.nix b/pkgs/development/tools/overcommit/gemset.nix
new file mode 100644
index 00000000000..b7d58c0ea70
--- /dev/null
+++ b/pkgs/development/tools/overcommit/gemset.nix
@@ -0,0 +1,33 @@
+{
+  childprocess = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  iniparse = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  overcommit = {
+    dependencies = ["childprocess" "iniparse"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fjrrm9dy9mry5ss96sizn6xcphia5l54ydz9c31phipm61nwmfk";
+      type = "gem";
+    };
+    version = "0.51.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 261ae318a62..2ce1a570b86 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 buildGoPackage rec {
   pname = "packer";
-  version = "1.4.4";
+  version = "1.5.0";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "00il85qbj5yadm5l5bczv7awmaazn9k3v3i0wsd6dbwpjga6snw9";
+    sha256 = "0gml1q3xrwiybclrvw69jpa812lz4p99ffn122w0pmsgdfqhv7p7";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index 23ea39c6fa9..8542d415196 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20190617";
+  version = "20191119";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "13ai0az00c86s4k94cpgh48nf5dfccpvccpw635z42wjgcb6hy7q";
+    sha256 = "0ch8y9g7b3lnw1r76p65gvdnbpwd60d4pghgadid122fcq7566p2";
   };
 
   configureFlags = [
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 29b8d4d5ae1..f50e7670b46 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -69,6 +69,10 @@ in stdenv.mkDerivation rec {
       --replace "QT_MINOR_VERSION, 5" "QT_MINOR_VERSION, 9"
   '';
 
+  # Avoids error in webpage.cpp:80:89:
+  # invalid suffix on literal; C++11 requires a space between litend identifier
+  NIX_CFLAGS_COMPILE = "-Wno-reserved-user-defined-literal";
+
   __impureHostDeps = stdenv.lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index de9e02de3f7..37d5c8a7890 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -39,7 +39,12 @@ in buildPythonApplication rec {
 
   propagatedBuildInputs = runtimeDeps;
 
-  doCheck = false;
+  doCheck = true;
+  checkPhase = ''
+    export HOME=$(mktemp -d)
+    cp -r --no-preserve=mode ${wheel.src} $HOME/wheel-src
+    $out/bin/pipenv install $HOME/wheel-src
+  '';
 
   meta = with lib; {
     description = "Python Development Workflow for Humans";
diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix
index b02ae3c544f..e856c1f718a 100644
--- a/pkgs/development/tools/profiling/EZTrace/default.nix
+++ b/pkgs/development/tools/profiling/EZTrace/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tool that aims at generating automatically execution trace from HPC programs";
     license = stdenv.lib.licenses.cecill-b;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/profiling/pyflame/default.nix b/pkgs/development/tools/profiling/pyflame/default.nix
deleted file mode 100644
index 2467769ad3d..00000000000
--- a/pkgs/development/tools/profiling/pyflame/default.nix
+++ /dev/null
@@ -1,143 +0,0 @@
-{ stdenv, autoreconfHook, coreutils, fetchFromGitHub, fetchpatch, pkgconfig, procps
-# pyflame needs one python version per ABI
-# are currently supported
-# * 2.6 or 2.7 for 2.x ABI
-# * 3.4 or 3.5 for 3.{4,5} ABI
-# * 3.6        for 3.6 ABI
-# * 3.7        for 3.7+ ABI
-# to disable support for an ABI, make the corresponding argument null
-, python2, python35, python36, python37, python3
-}:
-stdenv.mkDerivation rec {
-  pname = "pyflame";
-  version = "1.6.7";
-  src = fetchFromGitHub {
-    owner = "uber";
-    repo = "pyflame";
-    rev = "v${version}";
-    sha256 = "0hz1ryimh0w8zyxx4y8chcn54d6b02spflj5k9rcg26an2chkg2w";
-  };
-
-  # Uber's abandoned this since Jun 2018, so we have to patch a lot.
-  # Yay.
-  patches = let
-    # "Add support for Python3.7 (#151)":
-    py37-support = [ # https://github.com/uber/pyflame/pull/153
-      (fetchpatch { # "Add support for python3.7"
-        url = "https://github.com/uber/pyflame/commit/5ee674c4b09a29b82a0e2d7a4ce064fea3df1f4c.patch";
-        sha256 = "19v0yl8frbsq1dkvcmr1zsxf9v75bs8hvlkiv2x8cwylndvz2g5n";
-      })
-      (fetchpatch { # "Add python3.7 to travis test matrix"
-        url = "https://github.com/uber/pyflame/commit/610b5281502ff6d57471e84071f17a33d30f3bcf.patch";
-        sha256 = "13kwzrz0zwmdiirg061wvz7zvdl2w9dnrc81xbkxpm1hh8h0mi9z";
-      })
-      (fetchpatch { # "Update ppa and Ubuntu version"
-        url = "https://github.com/uber/pyflame/commit/ec82a43c90da64815a87d4e3fe2a12ec3c93dc38.patch";
-        sha256 = "1rrcsj5095ns5iyk6ij9kylv8hsrflxjld7b4s5dbpk8jqkf3ndi";
-      })
-      (fetchpatch { # "Clang-Format"
-        url = "https://github.com/uber/pyflame/commit/fb81e40398d6209c38d49d0b6758d9581b3c2bba.patch";
-        sha256 = "024namalrsai8ppl87lqsalfgd2fbqsnbkhpg8q93bvsdxldwc6r";
-      })
-    ];
-
-    # "Fix pyflame for code compiled with ld -z separate-code":
-    separate-code-support = [ # https://github.com/uber/pyflame/pull/170
-      (fetchpatch { # "Fix for code compiled with ld -z separate-code"
-        url = "https://github.com/uber/pyflame/commit/739a77d9b9abf9599f633d49c9ec98a201bfe058.patch";
-        sha256 = "03xhdysr5s73bw3a7nj2h45dylj9a4c1f1i3xqm1nngpd6arq4y6";
-      })
-    ];
-
-    # "Improve PtraceSeize error output"
-    full-ptrace-seize-errors = [ # https://github.com/uber/pyflame/pull/152
-      (fetchpatch { # "Print whole error output from PtraceSeize"
-        url = "https://github.com/uber/pyflame/commit/4b0e2c1b442b0f0c6ac5f56471359cea9886aa0f.patch";
-        sha256 = "0nkqs5zszf78cna0bavcdg18g7rdmn72li3091ygpkgxn77cnvis";
-      })
-      (fetchpatch { # "Print whole error for PtraceSeize"
-        url = "https://github.com/uber/pyflame/commit/1abb23abe4912c4a27553f0b3b5c934753f41f6d.patch";
-        sha256 = "07razp9rlq3s92j8a3iak3qk2h4x4xwz4y915h52ivvnxayscj89";
-      })
-    ];
-  in stdenv.lib.concatLists [
-    py37-support
-    # Without this, tests will leak memory and run forever.
-    separate-code-support
-    full-ptrace-seize-errors
-  ];
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig procps ];
-  buildInputs = [ python37 python36 python2 python35 ];
-
-  postPatch = ''
-    patchShebangs .
-
-    # some tests will fail in the sandbox
-    substituteInPlace tests/test_end_to_end.py \
-      --replace 'skipif(IS_DOCKER' 'skipif(True'
-
-    # don't use patchShebangs here to be explicit about the python version
-    substituteInPlace utils/flame-chart-json \
-      --replace '#!usr/bin/env python' '#!${python3.interpreter}'
-
-    # Many tests require the build machine to have kernel.yama.ptrace_scope = 0,
-    # but hardened machines have it set to 1. On build machines that cannot run
-    # these tests, skip them to avoid breaking the build.
-    if [[ $(sysctl -n kernel.yama.ptrace_scope || echo 0) != "0" ]]; then
-      for test in \
-        test_monitor \
-        test_non_gil \
-        test_threaded \
-        test_unthreaded \
-        test_legacy_pid_handling \
-        test_exclude_idle \
-        test_exit_early \
-        test_sample_not_python \
-        test_include_ts \
-        test_include_ts_exclude_idle \
-        test_thread_dump \
-        test_no_line_numbers \
-        test_utf8_output; do
-
-        substituteInPlace tests/test_end_to_end.py \
-          --replace "def $test(" "\
-@pytest.mark.skip('build machine had kernel.yama.ptrace_scope != 0')
-def $test("
-      done
-    fi
-  '';
-
-  postInstall = ''
-    install -D utils/flame-chart-json $out/bin/flame-chart-json
-  '';
-
-  doCheck = true;
-  # reproduces the logic of their test script, but without downloading pytest
-  # from the internet with pip
-  checkPhase = let inherit (stdenv) lib; in
-    lib.concatMapStringsSep "\n" (python: ''
-      set -x
-      PYMAJORVERSION=${lib.substring 0 1 python.version} \
-        PATH=${lib.makeBinPath [ coreutils ]}\
-        PYTHONPATH= \
-        ${python.pkgs.pytest}/bin/pytest -v tests/
-      set +x
-    '') (lib.filter (x: x != null) buildInputs);
-
-  meta = with stdenv.lib; {
-    description = "A ptracing profiler for Python ";
-    longDescription = ''
-      Pyflame is a high performance profiling tool that generates flame graphs
-      for Python. Pyflame uses the Linux ptrace(2) system call to collect
-      profiling information. It can take snapshots of the Python call stack
-      without explicit instrumentation, meaning you can profile a program
-      without modifying its source code.
-    '';
-    homepage = https://github.com/uber/pyflame;
-    license = licenses.asl20;
-    maintainers = [ maintainers.symphorien ];
-    # arm: https://github.com/uber/pyflame/issues/136
-    platforms = [ "i686-linux" "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
new file mode 100644
index 00000000000..6879d6875cc
--- /dev/null
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
+, base, bower-json, bytestring, Cabal, containers, dhall, directory
+, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
+, fsnotify, github, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, lens-family-core
+, megaparsec, mtl, network-uri, open-browser, optparse-applicative
+, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
+, semver-range, stdenv, stm, tar, template-haskell, temporary, text
+, time, transformers, turtle, unliftio, unordered-containers
+, vector, versions, zlib
+}:
+mkDerivation {
+  pname = "spago";
+  version = "0.12.1.0";
+  src = fetchgit {
+    url = "https://github.com/spacchetti/spago";
+    sha256 = "17xgp75yxangmb65sv3raysad31kmc109c4q4aj9dgcdqz23fcn2";
+    rev = "a4679880402ead320f8be2f091b25d30e27b62df";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson aeson-pretty ansi-terminal async-pool base bower-json
+    bytestring Cabal containers dhall directory either exceptions
+    file-embed filepath foldl fsnotify github Glob http-client
+    http-conduit lens-family-core megaparsec mtl network-uri
+    open-browser prettyprinter process retry rio rio-orphans safe
+    semver-range stm tar template-haskell temporary text time
+    transformers turtle unliftio unordered-containers vector versions
+    zlib
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson-pretty async-pool base bytestring containers dhall filepath
+    github lens-family-core megaparsec optparse-applicative process
+    retry stm temporary text time turtle vector
+  ];
+  testHaskellDepends = [
+    base containers directory extra hspec hspec-megaparsec megaparsec
+    process QuickCheck temporary text turtle versions
+  ];
+  testToolDepends = [ hspec-discover ];
+  prePatch = "hpack";
+  homepage = "https://github.com/spacchetti/spago#readme";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 3faaa48458e..76302824d9d 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -4,12 +4,11 @@ with python3;
 
 pkgs.buildPythonApplication rec {
   pname = "pypi2nix";
-  version = "2.0.0";
+  version = "2.0.2";
   src = pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0w9z07kdnfs96230jag8xgz4wx337bb3q3bvqxn3r31x8fsmz6rr";
+    sha256 = "1kynyarqx49j89nxd7rx8mjncg8hkklscfcr36smham7cvj17nsv";
   };
-  checkInputs = with pkgs; [ pytest ];
   propagatedBuildInputs = with pkgs; [
     attrs
     click
@@ -19,6 +18,6 @@ pkgs.buildPythonApplication rec {
     parsley
     setuptools
     toml
+    jsonschema
   ];
-  checkPhase = "${python3.interpreter} -m pytest unittests -m 'not nix'";
 }
diff --git a/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch b/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
index 8744b753a6e..f0e8c3d2c5e 100644
--- a/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
+++ b/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch
@@ -1,15 +1,15 @@
 diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp
-index b514c46..5f96358 100644
+index b656f8e1..a830d3c3 100644
 --- a/src/plugins/cpptools/headerpathfilter.cpp
 +++ b/src/plugins/cpptools/headerpathfilter.cpp
-@@ -92,8 +92,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths, bool isMacOs)
+@@ -124,8 +124,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths)
  {
      // include/c++, include/g++, libc++\include and libc++abi\include
-     static const QString cppIncludes = R"((.*\/include\/.*(g\+\+|c\+\+).*))"
--                                       R"(|(.*libc\+\+\/include))"
--                                       R"(|(.*libc\+\+abi\/include))";
+     static const QString cppIncludes = R"((.*/include/.*(g\+\+|c\+\+).*))"
+-                                       R"(|(.*libc\+\+/include))"
+-                                       R"(|(.*libc\+\+abi/include))"
 +                                       R"(|(.*libc\+\+.*\/include))"
 +                                       R"(|(.*libc\+\+abi.*\/include))";
+                                        R"(|(/usr/local/include))";
      static const QRegularExpression includeRegExp("\\A(" + cppIncludes + ")\\z");
  
-     // The same as includeRegExp but also matches /usr/local/include
diff --git a/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch b/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch
new file mode 100644
index 00000000000..b0427e94c7c
--- /dev/null
+++ b/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch
@@ -0,0 +1,12 @@
+diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp
+index a830d3c3..80e2f933 100644
+--- a/src/plugins/cpptools/headerpathfilter.cpp
++++ b/src/plugins/cpptools/headerpathfilter.cpp
+@@ -157,7 +157,6 @@ void removeClangSystemHeaderPaths(HeaderPaths &headerPaths)
+ 
+ void HeaderPathFilter::tweakHeaderPaths()
+ {
+-    removeClangSystemHeaderPaths(builtInHeaderPaths);
+     removeGccInternalIncludePaths();
+ 
+     auto split = resourceIterator(builtInHeaderPaths);
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index 7e592bf060a..9e9ec6f0d3d 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -1,14 +1,11 @@
 { mkDerivation, lib, fetchurl, fetchgit, fetchpatch
 , qtbase, qtquickcontrols, qtscript, qtdeclarative, qmake, llvmPackages_8
-, withDocumentation ? false
+, withDocumentation ? false, withClangPlugins ? true 
 }:
 
 with lib;
 
 let
-  baseVersion = "4.9";
-  revision = "1";
-
   # Fetch clang from qt vendor, this contains submodules like this:
   # clang<-clang-tools-extra<-clazy.
   clang_qt_vendor = llvmPackages_8.clang-unwrapped.overrideAttrs (oldAttrs: {
@@ -23,35 +20,28 @@ in
 
 mkDerivation rec {
   pname = "qtcreator";
-  version = "${baseVersion}.${revision}";
+  version = "4.11.0";
+  baseVersion = builtins.concatStringsSep "." (lib.take 2 (builtins.splitVersion version));
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/${pname}/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    sha256 = "10ddp1365rf0z4bs7yzc9hajisp3j6mzjshyd0vpi4ki126j5f3r";
+    sha256 = "0ibn7bapw7m26nmxl26dns1hnpawfdqk1i1mgg0gjssja8famszg";
   };
 
-  buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative llvmPackages_8.libclang clang_qt_vendor llvmPackages_8.llvm ];
+  buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ] ++ 
+    optionals withClangPlugins [ llvmPackages_8.libclang 
+                                 clang_qt_vendor 
+                                 llvmPackages_8.llvm ];
 
   nativeBuildInputs = [ qmake ];
 
   # 0001-Fix-clang-libcpp-regexp.patch is for fixing regexp that is used to
   # find clang libc++ library include paths. By default it's not covering paths
   # like libc++-version, which is default name for libc++ folder in nixos.
+  # ./0002-Dont-remove-clang-header-paths.patch is for forcing qtcreator to not 
+  # remove system clang include paths.
   patches = [ ./0001-Fix-clang-libcpp-regexp.patch
-
-    # Fix clazy plugin name. This plugin was renamed with clang8
-    # release, and patch didn't make it into 4.9.1 release. Should be removed
-    # on qtcreator update, if this problem is fixed.
-    (fetchpatch {
-      url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82";
-      sha256 = "1lanp7jg0x8jffajb852q8p4r34facg41l410xsz6s1k91jskbi9";
-    })
-
-    (fetchpatch {
-      url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangtools/clangtidyclazyrunner.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82";
-      sha256 = "1rl0rc2l297lpfhhawvkkmj77zb081hhp0bbi7nnykf3q9ch0clh";
-    })
-  ];
+              ./0002-Dont-remove-clang-header-paths.patch ];
 
   doCheck = true;
 
@@ -63,8 +53,8 @@ mkDerivation rec {
 
   preConfigure = ''
     substituteInPlace src/plugins/plugins.pro \
-      --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls'
-
+      --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls' 
+    '' + optionalString withClangPlugins ''
     # Fix paths for llvm/clang includes directories.
     substituteInPlace src/shared/clang/clang_defines.pri \
       --replace '$$clean_path($${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include)' '${clang_qt_vendor}/lib/clang/8.0.0/include' \
@@ -77,7 +67,9 @@ mkDerivation rec {
     # Fix paths to libclang library.
     substituteInPlace src/shared/clang/clang_installation.pri \
       --replace 'LIBCLANG_LIBS = -L$${LLVM_LIBDIR}' 'LIBCLANG_LIBS = -L${llvmPackages_8.libclang}/lib' \
-      --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang'
+      --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang' \
+      --replace 'LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}' 'LIBTOOLING_LIBS = -L${clang_qt_vendor}/lib' \
+      --replace 'LLVM_CXXFLAGS ~= s,-gsplit-dwarf,' '${lib.concatStringsSep "\n" ["LLVM_CXXFLAGS ~= s,-gsplit-dwarf," "    LLVM_CXXFLAGS += -fno-rtti"]}'
   '';
 
   preBuild = optional withDocumentation ''
diff --git a/pkgs/development/tools/richgo/default.nix b/pkgs/development/tools/richgo/default.nix
index 507402deed6..871ea0dc67a 100644
--- a/pkgs/development/tools/richgo/default.nix
+++ b/pkgs/development/tools/richgo/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "richgo";
-  version = "0.2.8";
-  goPackagePath = "github.com/kyoh86/richgo";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "kyoh86";
     repo = "richgo";
     rev = "v${version}";
-    sha256 = "0kbwl3a2gima23zmahk0jxp7wga91bs927a1rp5xl889ikng1n4j";
+    sha256 = "07ipa54c4mzm6yizgvkm6x5yim1xgv3f0xdxg35qziacdfcwd6m4";
   };
 
+  modSha256 = "12wbjfqy6qnapm3f2pz1ci1gvc0y8kzr8c99kihyh1jv9r3zy1wz";
+
+  subPackages = [ "." ];
+
   meta = with stdenv.lib; {
     description = "Enrich `go test` outputs with text decorations.";
     homepage = https://github.com/kyoh86/richgo;
-    license = licenses.unlicense; # NOTE: The project switched to MIT in https://git.io/fA1ik
+    license = licenses.mit;
     maintainers = with maintainers; [ rvolosatovs ];
   };
 }
diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock
index 7c523c3ea15..9d166f0fad5 100644
--- a/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/pkgs/development/tools/rubocop/Gemfile.lock
@@ -2,12 +2,12 @@ GEM
   remote: https://rubygems.org/
   specs:
     ast (2.4.0)
-    jaro_winkler (1.5.3)
-    parallel (1.18.0)
+    jaro_winkler (1.5.4)
+    parallel (1.19.1)
     parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
-    rubocop (0.76.0)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix
index 5defb56109f..d7e1b9328dc 100644
--- a/pkgs/development/tools/rubocop/gemset.nix
+++ b/pkgs/development/tools/rubocop/gemset.nix
@@ -14,20 +14,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -56,10 +56,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07x51ixlx76y194xsszh5lbkaqakz44ykbrjxg3qaggbs18790q0";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.76.0";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
diff --git a/pkgs/development/tools/rucksack/default.nix b/pkgs/development/tools/rucksack/default.nix
index 85a4d0fa23d..9eb568040ff 100644
--- a/pkgs/development/tools/rucksack/default.nix
+++ b/pkgs/development/tools/rucksack/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Texture packer and resource bundler";
-    platforms = platforms.unix;
+    platforms = [ "i686-linux" "x86_64-linux" ]; # fails on Darwin and AArch64
     homepage = https://github.com/andrewrk/rucksack;
     license = licenses.mit;
     maintainers = [ maintainers.andrewrk ];
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index ca1c2fa45e9..a87ef4d2228 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -3,7 +3,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-bindgen";
-  version = "0.51.0";
+  version = "0.52.0";
 
   RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update
 
@@ -11,10 +11,10 @@ rustPlatform.buildRustPackage rec {
     owner = "rust-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hlak8b57pndmdfkpfl17xxc91a6b239698bcm4yzlvliyscjgz1";
+    sha256 = "0rf5sg9136f4j7s07iz2gd481h8gzdd106jc1jw1p5pw4zaiz5l0";
   };
 
-  cargoSha256 = "1311d0wjjj99m59zd2n6r4aq6lwbbpyj54ha2z9g4yd1hn344r91";
+  cargoSha256 = "1wy5xdkf9ql2l9qavi0fh7hwjvly108f4l2m1k947412fyjwr7x7";
 
   libclang = llvmPackages.libclang.lib; #for substituteAll
 
diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix
index 0c1af58221b..32e369251d5 100644
--- a/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03pzp5d9kzbx62jpjzgww0x3qv9f08blvl8f4yg5hrlyaaa06xsd";
+    sha256 = "0wzsc8azxgvavsbsdpd1i6g8i4sp07wn9iayr8dp8072ig5c4fhy";
   };
 
   cargoSha256 = "1jc1lx0yk8galkyc4a67d39ywsfrgc2sjjsz08p47gpz7228d64w";
diff --git a/pkgs/development/tools/rust/cargo-crev/default.nix b/pkgs/development/tools/rust/cargo-crev/default.nix
new file mode 100644
index 00000000000..01ca288fba8
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security, openssl, pkgconfig, libiconv, curl }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-crev";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "crev-dev";
+    repo = "cargo-crev";
+    rev = "v${version}";
+    sha256 = "15b4spz080y411h7niwzb1rshhyd9cx7rc6bpa0myd2kzrfky7yl";
+  };
+
+  cargoSha256 = "02bi6pzm1ys31zi1s5yzyw47dmdgclgkfjyyfa9h686640nakg8d";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];
+
+  meta = with stdenv.lib; {
+    description = "A cryptographically verifiable code review system for the cargo (Rust) package manager";
+    homepage = "https://github.com/crev-dev/cargo-crev";
+    license = with licenses; [ asl20 mit mpl20 ];
+    maintainers = with maintainers; [ b4dm4n ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 43b3a88f6ee..41fc993c62f 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.15";
+  version = "0.4.16";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
+    sha256 = "0cf539y20hlwxbk0zfs1and99hkb0fqg7m3a6dfd80hwx0dm0xmx";
   };
 
-  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
+  cargoSha256 = "1bspciy7sfx887hwxmckrnjy7b6kpy6g51yraw25yl302mzzng21";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-fuzz/default.nix b/pkgs/development/tools/rust/cargo-fuzz/default.nix
index 7ccc8528359..c5b45b92c81 100644
--- a/pkgs/development/tools/rust/cargo-fuzz/default.nix
+++ b/pkgs/development/tools/rust/cargo-fuzz/default.nix
@@ -2,28 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-fuzz";
-  version = "0.5.3"; # Note to self: on 0.5.4, remove the hand-added Cargo.lock
+  version = "0.5.4";
 
-  src =
-    let
-      source = fetchFromGitHub {
-        owner = "rust-fuzz";
-        repo = "cargo-fuzz";
-        rev = version;
-        sha256 = "1l452fnjw7i10nrd4y4rssi5d457vgjp6rhdr9cnq32bjhdkprrs";
-      };
-      cargo-lock = fetchurl {
-        url = "https://gist.githubusercontent.com/Ekleog/7d5b62d13b7207aafa4c37d1bbdf2de7/raw/c6027fc1c531947f4d6836a3c4cba1b3e24df24c/Cargo.lock";
-        sha256 = "0d7b6kxfbfvwksybzrihylamg2zv5fmsk9m6xshryhwipskzzvmd";
-      };
-    in
-    runCommand "cargo-fuzz-src" {} ''
-      cp -R ${source} $out
-      chmod +w $out
-      cp ${cargo-lock} $out/Cargo.lock
-    '';
+  src = fetchFromGitHub {
+    owner = "rust-fuzz";
+    repo = "cargo-fuzz";
+    rev = version;
+    sha256 = "0qy4xb7bxyw2x2ya7zmbkz48wxb69jcnvvj7021f1kyc6wdwcxs7";
+  };
 
-  cargoSha256 = "19kldw2sx0jd89q5q9cwmdcaan148s45fxlb2m0vdxwb69crb7yp";
+  cargoSha256 = "1d42cmpg1yn1ql9isx26kxsxzf5rg6qw6j948skc5p054r0c9n3f";
 
   meta = with stdenv.lib; {
     description = "Command line helpers for fuzzing";
diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix
index 2512a9ec4f4..1edeaeb9b46 100644
--- a/pkgs/development/tools/rust/cargo-geiger/default.nix
+++ b/pkgs/development/tools/rust/cargo-geiger/default.nix
@@ -1,19 +1,21 @@
 { stdenv, lib, fetchFromGitHub
-, rustPlatform, pkgconfig
-, openssl, Security }:
+, rustPlatform, pkgconfig, openssl
+# darwin dependencies
+, Security, CoreFoundation, libiconv
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-geiger";
-  version = "0.7.3";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "anderejd";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1lm8dx19svdpg99zbpfcm1272n18y63sq756hf6k99zi51av17xc";
+    sha256 = "0yn4m94bklxyg0cxzhqm1m976z66rbi58ri1phffvqz457mxj3hk";
   };
 
-  cargoSha256 = "16zvm2y0j7ywv6fx0piq99g8q1sayf3qipd6adrwyqyg8rbf4cw6";
+  cargoSha256 = "0608wvbdw4i9pp3x6dgny186if6bzlbivkvfd5lfp1x1f53534za";
 
   # Multiple tests require internet connectivity, so they are disabled here.
   # If we ever get cargo-insta (https://crates.io/crates/insta) in tree,
@@ -26,9 +28,16 @@ rustPlatform.buildRustPackage rec {
     --skip test_package::case_6
   '';
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
   nativeBuildInputs = [ pkgconfig ];
 
+  # FIXME: Use impure version of CoreFoundation because of missing symbols.
+  # CFURLSetResourcePropertyForKey is defined in the headers but there's no
+  # corresponding implementation in the sources from opensource.apple.com.
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  '';
+
   meta = with lib; {
     description = "Detects usage of unsafe Rust in a Rust crate and its dependencies.";
     homepage = https://github.com/anderejd/cargo-geiger;
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index 970c641fe49..c49739165aa 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,23 +2,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ashleygwilliams";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "09276jrb0a735v6p06wz94kbk8bblwpca13vpvy8n0jjmqack2xb";
+    sha256 = "07hklya22ixklb44f3qp6yyh5d03a7rjcn0g76icqr36hvcjyjjh";
   };
 
-  cargoSha256 = "1gbxfmhwzpxm0gs3zwzs010j0ndi5aw6xsvvngg0h1lpwg9ypnbr";
+  cargoSha256 = "1rsk9j1ij53dz4gakxwdppgmv12lmyj0ihh9qypdbgskvyq3a2j9";
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ openssl  ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];
 
-  doCheck = false;
+  preCheck = ''
+    export HOME=$(mktemp -d) USER=nixbld
+    git config --global user.name Nixbld
+    git config --global user.email nixbld@localhost.localnet
+  '';
 
   meta = with stdenv.lib; {
     description = "cargo, make me a project";
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index e4c01baff9f..00a2eb721df 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -17,55 +17,47 @@ dependencies = [
 ]
 
 [[package]]
-name = "approx"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
 name = "arrayref"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "arrayvec"
-version = "0.4.12"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
 name = "atty"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "autocfg"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "backtrace"
-version = "0.3.38"
+version = "0.3.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "backtrace-sys"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -83,11 +75,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "blake2b_simd"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -98,39 +90,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "c2-chacha"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cargo-make"
-version = "0.23.0"
+version = "0.24.2"
 dependencies = [
- "ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.45"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -139,21 +132,21 @@ version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "cgmath"
-version = "0.16.1"
+name = "chrono"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "ci_info"
-version = "0.8.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -166,7 +159,7 @@ dependencies = [
  "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "strsim 0.8.0 (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.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -180,11 +173,12 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -216,17 +210,17 @@ version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "envmnt"
-version = "0.7.0"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -234,7 +228,7 @@ name = "failure"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -243,17 +237,18 @@ name = "failure_derive"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "fern"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -264,25 +259,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "getrandom"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "git_info"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "glob"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "home"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "indexmap"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -292,7 +302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "libc"
-version = "0.2.62"
+version = "0.2.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -309,34 +319,30 @@ version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "nodrop"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "num-traits"
-version = "0.1.43"
+name = "num-integer"
+version = "0.1.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -347,19 +353,7 @@ name = "quote"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "rand"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -367,8 +361,8 @@ name = "rand"
 version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -379,7 +373,7 @@ name = "rand_chacha"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -401,7 +395,7 @@ name = "rand_core"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -419,7 +413,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -466,11 +460,6 @@ version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "rgb"
-version = "0.8.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
 name = "run_script"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -485,7 +474,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -500,6 +489,11 @@ version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "scopeguard"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "semver"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -514,17 +508,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde"
-version = "1.0.101"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.101"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -542,22 +536,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "syn"
-version = "1.0.5"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "synstructure"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -566,7 +560,7 @@ name = "textwrap"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -578,16 +572,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "time"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "toml"
-version = "0.5.3"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "unicode-width"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -600,7 +604,7 @@ name = "users"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -632,62 +636,50 @@ name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
-[[package]]
-name = "winconsole"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rgb 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
 [metadata]
 "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-"checksum approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94"
 "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
+"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-"checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
-"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
+"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
+"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
+"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-"checksum cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)" = "64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c"
-"checksum ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93b085342b4579e6bd92189bb6b832b2fff5564382e2472be42748b630e8063d"
+"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+"checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6cdb90b60f2927f8d76139c72dbde7e10c3a2bc47c8594c9c7a66529f2687c03"
+"checksum colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "433e7ac7d511768127ed85b0c4947f47a254131e37864b2dc13f52aa32cd37e5"
 "checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
 "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-"checksum envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7760c979bc8a1f3319ee72ee71df5eaaf02ada9daaa80ae257011cab0f3a25ef"
+"checksum envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c6fdfb01bf7386076c5f655278306bbbed4ecc8abe30981217a11079fe3f2b"
 "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
-"checksum fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "29d26fa0f4d433d1956746e66ec10d6bf4d6c8b93cd39965cceea7f7cc78c7dd"
+"checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
+"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+"checksum git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "add3a9c3c08c8905a2165ff06891dd1c3bb32d81b2a32d79528abc9793dfb06f"
 "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-"checksum indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a61202fbe46c4a951e9404a720a0180bcf3212c750d735cb5c4ba4dc551299f3"
+"checksum home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
+"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
-"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
+"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
+"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
 "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
 "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
@@ -700,23 +692,24 @@ dependencies = [
 "checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
 "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
 "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
-"checksum rgb 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2089e4031214d129e201f8c3c8c2fe97cd7322478a0d1cdf78e7029b0042efdb"
 "checksum run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "61b3a5ed82e15afc3e238178e2d22113af69ac88bd64a04499f025478853937f"
 "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 "checksum rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e4e04a5022c08c95c2285b0beb4cdd24c9b20bc018a263d6fdb0372f7a597db"
 "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
-"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
+"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
+"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
 "checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
+"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
+"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 "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 toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
-"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
+"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 "checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
@@ -724,4 +717,3 @@ dependencies = [
 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 "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 winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef84b96d10db72dd980056666d7f1e7663ce93d82fa33b63e71c966f4cf5032"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 0685c11ddfa..e4cb070464c 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.23.0";
+  version = "0.24.2";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1g62k0g9b5m8jaxxkbx0d59k8yb3di59l3p9m32hx617rn4k5wjd";
+        sha256 = "02fc3vf802dzqvyh61cmkjf3vqf5xsl8dhjggns7p5zr2aqh8pfi";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1mfsjxvyybq9d5702habxq5abcp9h11qx0ci2rqs2rgkbcnksk98";
+  cargoSha256 = "1x2pkis82hsikjqgma7f6wmkcmviiqwc7pvdpmww61iq2aqfg7ds";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-raze/default.nix b/pkgs/development/tools/rust/cargo-raze/default.nix
index 1c4e176966d..142edbdaf11 100644
--- a/pkgs/development/tools/rust/cargo-raze/default.nix
+++ b/pkgs/development/tools/rust/cargo-raze/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-raze";
-  version = "0.2.8";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d87azip59bmkk38par23f5yvb9w8ikvdg6grn689zpgc3di2phx";
+    sha256 = "1fznh8jygzyzphw7762qc2jv0370z7qjqk1vkql0g246iqby8pq9";
   };
   sourceRoot = "source/impl";
 
diff --git a/pkgs/development/tools/rust/cargo-udeps/default.nix b/pkgs/development/tools/rust/cargo-udeps/default.nix
new file mode 100644
index 00000000000..829f9aa3740
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-udeps/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, CoreServices, Security, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-udeps";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "est31";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lrfnrxqmpp06fargb5s5fc9y4w4h0ahbd7rgibqqx1la23l9r5q";
+  };
+
+  cargoSha256 = "18rwzcsrlwds3nx90y03dkqm1hl4dpvclm32i9zy9bhpm9hkypwr";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security libiconv ];
+
+  meta = with stdenv.lib; {
+    description = "Find unused dependencies in Cargo.toml";
+    homepage = "https://github.com/est31/cargo-udeps";
+    license = licenses.mit;
+    maintainers = with maintainers; [ b4dm4n ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-watch/default.nix b/pkgs/development/tools/rust/cargo-watch/default.nix
index 9f8577dc19d..55721df22d7 100644
--- a/pkgs/development/tools/rust/cargo-watch/default.nix
+++ b/pkgs/development/tools/rust/cargo-watch/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-watch";
-  version = "7.2.2";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "passcod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ld45xqmmi13x1wgwm9fa7sck2jiw34pr9xzdwrx5ygl81hf3plv";
+    sha256 = "0l1aalb8ans7scljrza7akhi821jbpqgn6sa8kgd8sys83r93fkj";
   };
 
-  cargoSha256 = "1g8qg7nicdan0w39rfzin573lgx3sbfr3b9hn8k3vgyq0jg6ywh7";
+  cargoSha256 = "0dlbln8nsvmrc9p99bl6yni57fravicias9gbv88fg7az904ilzz";
 
   buildInputs = lib.optional stdenv.isDarwin CoreServices;
 
diff --git a/pkgs/development/tools/rust/cargo-xbuild/default.nix b/pkgs/development/tools/rust/cargo-xbuild/default.nix
index 81814300655..a5220775b52 100644
--- a/pkgs/development/tools/rust/cargo-xbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-xbuild/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xbuild";
-  version = "0.5.18";
+  version = "0.5.19";
 
   src = fetchFromGitHub {
     owner = "rust-osdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hcsdwwl1xc59f1ppwlxj1zyp1md07z70gfvg4zqvafc6dzx708j";
+    sha256 = "0j15d52bpl3k6jw0hzcxdvjayd2azdp5b9s2fq3ywd4zbda8rqp7";
   };
 
   cargoSha256 = "1pj4x8y5vfpnn8vhxqqm3vicn29870r3jh0b17q3riq4vz1a2afp";
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index 8e08e5e50eb..fb71c2fbdff 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-cbindgen";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "1g0vrkwkc8wsyiz04qchw07chg0mg451if02sr17s65chwmbrc19";
+    sha256 = "0g82ikn5yricihl064q57dhrd4m475aykclrjf145hgl4qy2bjly";
   };
 
   cargoSha256 = "1y96m2my0h8fxglxz20y68fr8mnw031pxvzjsq801gwz2p858d75";
diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix
index a665b466ef4..9457a08556a 100644
--- a/pkgs/development/tools/rust/racerd/default.nix
+++ b/pkgs/development/tools/rust/racerd/default.nix
@@ -19,8 +19,8 @@ buildRustPackage rec {
 
   cargoSha256 = "07130587drrdkrk7aqb8pl8i3p485qr6xh1m86630ydlnb9z6s6i";
 
-  buildInputs = [ makeWrapper ]
-                ++ stdenv.lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   RUST_SRC_PATH = rustPlatform.rustcSrc;
 
diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix
index d36306a0756..0269c344e2a 100644
--- a/pkgs/development/tools/rust/rustup/default.nix
+++ b/pkgs/development/tools/rust/rustup/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustup";
-  version = "1.20.2";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
-    repo = "rustup.rs";
+    repo = "rustup";
     rev = version;
-    sha256 = "0vfrfjfg5x1g44w03rdci2ky7s3s7rljdcmmp5h6pdvhzrd234aj";
+    sha256 = "1jyiix153iqsfbrm3xx8g0bnabihqlahhf4c81hgc68zg4cxrc9z";
   };
 
-  cargoSha256 = "1lsv1d99dn6mngaqhd3lw90cr3zg4gq08wi0adxkkhaikc9jjdwh";
+  cargoSha256 = "0kn3sq99sgsh8msignyb4vjllv0wf1crqaw7sqp3ggmlkrdq35sd";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 368419c07f5..a455f9e5fc7 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, libelf, which, pkgconfig, freeglut
 , avrgcc, avrlibc
-, libGLU_combined
+, libGLU, libGL
 , GLUT }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
 
   nativeBuildInputs = [ which pkgconfig avrgcc ];
-  buildInputs = [ libelf freeglut libGLU_combined ]
+  buildInputs = [ libelf freeglut libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   # Hack to avoid TMPDIR in RPATHs.
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 58dde838692..498de0edecf 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,9 +2,9 @@
 
 buildGoPackage rec {
   pname = "skaffold";
-  version = "0.36.0";
-  # rev is the 0.36.0 commit, mainly for skaffold version command output
-  rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89";
+  version = "1.0.1";
+  # rev is the 1.0.1 commit, mainly for skaffold version command output
+  rev = "934dd5ad304bef89cb3619b5b2ef53eb8cf04715";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng";
+    sha256 = "0pvidf8m6v56qa3dlqls55jcmjqb54spkx7xxynvhj3590pjw4qx";
   };
 
   meta = {
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index e5b23f14517..a7d9057d9f0 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -4,9 +4,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.5";
+  version = "2.2.6";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "0a228f5185b24b72efcc5a3924f86fa9fabab6f7562c3c63c1d9d239aa72a7b1";
+  sha256 = "0nssq2i4riif0q72h5qp7dlxd4shqcyvm1bx9adppcacb77gpnhv";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index ad3422d8b59..f9aebbe6996 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -10,6 +10,8 @@
     version = "1.0.1";
   };
   builder = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
@@ -19,6 +21,8 @@
   };
   childprocess = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv";
@@ -36,14 +40,6 @@
     };
     version = "1.1.5";
   };
-  diff-lcs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
-      type = "gem";
-    };
-    version = "1.3";
-  };
   domain_name = {
     dependencies = ["unf"];
     groups = ["default"];
@@ -56,6 +52,8 @@
     version = "0.5.20190701";
   };
   ed25519 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
@@ -63,7 +61,19 @@
     };
     version = "1.2.4";
   };
+  erubi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
   erubis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
@@ -94,6 +104,8 @@
   };
   gyoku = {
     dependencies = ["builder"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
@@ -102,6 +114,8 @@
     version = "1.3.1";
   };
   hashicorp-checkpoint = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd";
@@ -111,6 +125,8 @@
   };
   http-cookie = {
     dependencies = ["domain_name"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
@@ -119,6 +135,8 @@
     version = "1.0.3";
   };
   httpclient = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
@@ -128,6 +146,8 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
@@ -137,6 +157,8 @@
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
@@ -145,6 +167,8 @@
     version = "3.1.5";
   };
   little-plugger = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
@@ -153,6 +177,8 @@
     version = "1.1.4";
   };
   log4r = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv";
@@ -162,6 +188,8 @@
   };
   logging = {
     dependencies = ["little-plugger" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
@@ -171,33 +199,39 @@
   };
   mime-types = {
     dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   net-scp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
@@ -207,6 +241,8 @@
   };
   net-sftp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
@@ -215,6 +251,8 @@
     version = "2.1.2";
   };
   net-ssh = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0jglf8rxvlw6is5019r6kwsdhw38zm3z39jbghdbj449r6h7h77n";
@@ -223,6 +261,8 @@
     version = "5.1.0";
   };
   netrc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
@@ -231,6 +271,8 @@
     version = "0.11.0";
   };
   nori = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
@@ -239,6 +281,8 @@
     version = "2.6.0";
   };
   rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
@@ -248,6 +292,8 @@
   };
   rb-inotify = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
@@ -257,6 +303,8 @@
   };
   rb-kqueue = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14mhzrhs2j43vj36i1qq4z29nd860shrslfik015f4kf1jiaqcrw";
@@ -266,6 +314,8 @@
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
@@ -273,51 +323,9 @@
     };
     version = "2.0.2";
   };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
-      type = "gem";
-    };
-    version = "3.5.4";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-support = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
   ruby_dep = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0v0qznxz999lx4vs76mr590r90i0cm5m76wwvgis7sq4y21l308l";
@@ -326,6 +334,8 @@
     version = "1.3.1";
   };
   rubyntlm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
@@ -338,21 +348,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
-      type = "gem";
-    };
-    version = "1.2.3";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
+      sha256 = "0i5dhyiavmk2yc7xyfwzp3m476f7d9mhigibsw37jqpdq4vmi4cv";
       type = "gem";
     };
-    version = "0.18.1";
+    version = "1.2.4";
   };
   unf = {
     dependencies = ["unf_ext"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
@@ -370,27 +374,20 @@
     };
     version = "0.0.7.6";
   };
-  vagrant-spec = {
-    dependencies = ["childprocess" "log4r" "rspec" "thor"];
-    source = {
-      fetchSubmodules = false;
-      rev = "abfc34474d122235d56e4c6b6fb5d3e35bedfa90";
-      sha256 = "08xy2c82lrxkwjlvrbx1v32968a6psni3952y3knriqgygv2kzbn";
-      type = "git";
-      url = "https://github.com/hashicorp/vagrant-spec.git";
-    };
-    version = "0.0.1";
-  };
   vagrant_cloud = {
     dependencies = ["rest-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0451x3ab869hbycffcq656dm7mmjwmnxcyhv6g7dpdv3acg64783";
+      sha256 = "16jpnq4xa7gavm024wk1rgmkfb850g89rv56f26dkh0rdhbqiqvs";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.3";
   };
   wdm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18";
@@ -399,32 +396,36 @@
     version = "0.1.1";
   };
   winrm = {
-    dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
+    dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vxrclxc5l8n2agwvv291740s6gna2phg3lkybjb0ldkmpi3sj2";
+      sha256 = "1sl14qdshkmficdsy9z57xmdp5z9riv7jc5lv005n0h04mg7d47b";
       type = "gem";
     };
-    version = "2.3.2";
+    version = "2.3.3";
   };
   winrm-elevated = {
-    dependencies = ["winrm" "winrm-fs"];
+    dependencies = ["erubi" "winrm" "winrm-fs"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1saqc3ffh075y6fdkc7iqmn0v3pnidvfw0sh09w9cn6jvpsdxizk";
+      sha256 = "13d0pjzffbqicg08fsx4dsl6ibsqda5vx5d9f6hsds2z6mdilrab";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   winrm-fs = {
-    dependencies = ["erubis" "logging" "rubyzip" "winrm"];
+    dependencies = ["erubi" "logging" "rubyzip" "winrm"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3";
+      sha256 = "0phhzliw47hmpi3ddygs500kfxa7il5yzmp7dw4ix2dvhrxrj7s6";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.3.3";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/vim-vint/default.nix b/pkgs/development/tools/vim-vint/default.nix
index 27296edfac0..382871ff6af 100644
--- a/pkgs/development/tools/vim-vint/default.nix
+++ b/pkgs/development/tools/vim-vint/default.nix
@@ -1,31 +1,26 @@
-{ fetchFromGitHub, lib, python3Packages }:
+{ lib, python3Packages }:
 
 with python3Packages;
 
 buildPythonApplication rec {
   pname = "vim-vint";
-  version = "0.3.20";
+  version = "0.3.21";
 
-  src = fetchFromGitHub {
-    owner = "kuniwak";
-    repo = "vint";
-    rev = "v${version}";
-    sha256 = "0ij9br4z9h8qay6l41sicr4lbjc38hxsn3lgjrj9zpn2b3585syx";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "15qdh8fby9xgfjxidcfv1xmrqqrxxapky7zmyn46qx1abhp9piax";
   };
 
   # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails.
   disabled = ! pythonAtLeast "3.5";
 
-  # Prevent setup.py from adding dependencies in run-time and insisting on specific package versions
-  postPatch = ''
-    substituteInPlace setup.py --replace "return requires" "return []"
-  '';
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ ansicolor chardet pyyaml ] ;
+  checkInputs = [ pytest pytestcov ];
+  propagatedBuildInputs = [ ansicolor chardet pyyaml setuptools ];
 
-  # The acceptance tests check for stdout and location of binary files, which fails in nix-build.
-  checkPhase = ''
-    py.test -k "not acceptance"
+  # Unpin test dependency versions. This is fixed in master but not yet released.
+  preCheck = ''
+    sed -i 's/==.*//g' test-requirements.txt
+    sed -i 's/mock == 1.0.1/mock/g' setup.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/wally-cli/default.nix b/pkgs/development/tools/wally-cli/default.nix
new file mode 100644
index 00000000000..b7333e45644
--- /dev/null
+++ b/pkgs/development/tools/wally-cli/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoPackage, fetchFromGitHub, pkg-config, libusb1 }:
+
+buildGoPackage rec {
+  pname = "wally-cli";
+  version = "1.1.1";
+
+  goPackagePath = "github.com/zsa/wally";
+  subPackages = [ "cli" ];
+
+  nativeBuildInputs = [
+    pkg-config
+    libusb1
+  ];
+
+  src = fetchFromGitHub {
+    owner = "zsa";
+    repo = "wally";
+    rev = "68960e452ee0f6c7142f5008d4b1cdc6284d3de7";
+    sha256 = "122m5v7s5wqlshyk2salmd848lqs4rrz54d2ap11ay61kijm0bs2";
+  };
+
+  postInstall = ''
+    mv $bin/bin/cli $bin/bin/wally
+  '';
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A tool to flash firmware to mechanical keyboards";
+    homepage = https://ergodox-ez.com/pages/wally-planck;
+    license = licenses.mit;
+    maintainers = [ maintainers.spacekookie ];
+  };
+}
diff --git a/pkgs/development/tools/wally-cli/deps.nix b/pkgs/development/tools/wally-cli/deps.nix
new file mode 100644
index 00000000000..8edac40c0d5
--- /dev/null
+++ b/pkgs/development/tools/wally-cli/deps.nix
@@ -0,0 +1,66 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/caarlos0/spin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/caarlos0/spin";
+      rev = "950231d3237faf48da965375e65a00c224bcb4dc";
+      sha256 = "1yz987f86qwx2avyp1bmi5y35h8bbfgp3z1fipqpjlvfq8m7lf8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gousb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gousb";
+      rev = "18f4c1d8a750878c4f86ac3d7319b8aa462a79f9";
+      sha256 = "1i7ffkq395x0v1186j9bhfgy67wlq6s840xkyx8wn87w55yd05rh";
+    };
+  }
+  {
+    goPackagePath = "github.com/logrusorgru/aurora";
+    fetch = {
+      type = "git";
+      url = "https://github.com/logrusorgru/aurora";
+      rev = "66b7ad493a23a2523bac50571522bbfe5b90a835";
+      sha256 = "06allslr29qdapv5j3fpyw9xklmb9fmya5jzybmakz9mwczm76nq";
+    };
+  }
+  {
+    goPackagePath = "github.com/marcinbor85/gohex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/marcinbor85/gohex";
+      rev = "7a43cd876e46e0f6ddc553f10f91731a78e6e949";
+      sha256 = "1nzy1hk7blawq4skycj330ac3kfwh0xr6xd7s3y09hsxfzcv4p9v";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "f93a0d58d5fd95e53f82782d07bb0c79d23e1290";
+      sha256 = "1sq97q71vgwnbg1fphsmqrzkbfn6mjal6d8a3qgwv4nbgppwaz25";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "f068ffe820e46336f56dfca7777430582d6e507b";
+      sha256 = "14qvaq9wcrm7mgyra4h9jl8ssfcxyygi1hraq3cmf118961m90zn";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/cheggaaa/pb.v1";
+      rev = "f907f6f5dd81f77c2bbc1cde92e4c5a04720cb11";
+      sha256 = "13a66cqbpdif804qj12z9ad8r24va9q41gfk71qbc4zg1wsxs3rh";
+    };
+  }
+]
diff --git a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
index e564717a56f..73c9fd01d27 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch
+++ b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock.patch
@@ -1,26 +1,26 @@
-From 3d3c33a610856b861204ccb111777e9edd8799b8 Mon Sep 17 00:00:00 2001
+From 8fb1c405426871f272e81c45c250dc11d32a4d51 Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Thu, 3 Oct 2019 22:26:12 +0200
-Subject: [PATCH] Add cargo.lock for `rustPlatform.buildRustPackage` in nixpkgs
+Date: Fri, 20 Dec 2019 19:08:27 +0100
+Subject: [PATCH] Add cargo.lock
 
 ---
- Cargo.lock | 2221 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 2221 insertions(+)
+ Cargo.lock | 2363 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2363 insertions(+)
  create mode 100644 Cargo.lock
 
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..d7d32a06
+index 00000000..f6018717
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2221 @@
+@@ -0,0 +1,2363 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
 +name = "add"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
@@ -37,17 +37,19 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayref"
 +version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.11"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "ascii"
@@ -80,9 +82,9 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 + "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -92,7 +94,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -102,33 +104,33 @@ index 00000000..d7d32a06
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.6"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.38"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "backtrace-sys"
-+version = "0.1.31"
++version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -137,7 +139,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -155,16 +157,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -174,7 +176,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -189,25 +191,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "c2-chacha"
-+version = "0.2.2"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "canvas"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.45"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -219,17 +220,16 @@ index 00000000..d7d32a06
 +name = "char"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
 +name = "chrono"
-+version = "0.4.9"
++version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "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)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -242,9 +242,9 @@ index 00000000..d7d32a06
 +name = "closures"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -252,7 +252,7 @@ index 00000000..d7d32a06
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -266,15 +266,15 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
 +name = "console_log"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -284,32 +284,32 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "crossbeam-deque"
-+version = "0.7.1"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-epoch"
-+version = "0.7.2"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-queue"
-+version = "0.1.2"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -322,14 +322,24 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "crossbeam-utils"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "curl"
-+version = "0.4.24"
++version = "0.4.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 + "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 + "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -337,15 +347,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "curl-sys"
-+version = "0.4.22"
++version = "0.4.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -359,6 +369,11 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "diff"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "difference"
 +version = "2.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -368,7 +383,7 @@ index 00000000..d7d32a06
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -380,16 +395,16 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "dom"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -407,7 +422,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "env_logger"
-+version = "0.7.0"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -424,59 +439,59 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure_derive"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "fetch"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "filetime"
-+version = "0.2.7"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "float-cmp"
-+version = "0.4.0"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -512,11 +527,11 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.12"
++version = "0.1.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -538,7 +553,7 @@ index 00000000..d7d32a06
 +name = "guide-supported-types-examples"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
@@ -546,14 +561,22 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hello_world"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -574,7 +597,7 @@ index 00000000..d7d32a06
 +version = "2.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -584,7 +607,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -595,7 +618,7 @@ index 00000000..d7d32a06
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "gif 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "jpeg-decoder 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "jpeg-decoder 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -607,7 +630,7 @@ index 00000000..d7d32a06
 +name = "import_js"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
@@ -622,28 +645,28 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "jpeg-decoder"
-+version = "0.1.16"
++version = "0.1.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "js-sys"
-+version = "0.3.28"
++version = "0.3.33"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-test 0.3.6",
 +]
 +
 +[[package]]
 +name = "julia_set"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -658,7 +681,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.62"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -666,10 +689,10 @@ index 00000000..d7d32a06
 +version = "1.0.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -705,7 +728,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.1"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -742,7 +765,7 @@ index 00000000..d7d32a06
 + "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -751,15 +774,10 @@ index 00000000..d7d32a06
 +name = "no-std"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
-+name = "nodrop"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
 +name = "nom"
 +version = "4.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -778,8 +796,8 @@ index 00000000..d7d32a06
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -787,9 +805,9 @@ index 00000000..d7d32a06
 +version = "0.1.39"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "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)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -798,7 +816,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -806,36 +824,37 @@ index 00000000..d7d32a06
 +version = "0.1.43"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
-+version = "0.2.8"
++version = "0.2.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num_cpus"
-+version = "1.10.1"
++version = "1.11.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl"
-+version = "0.10.25"
++version = "0.10.26"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -845,23 +864,23 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "openssl-src"
-+version = "111.6.0+1.1.1d"
++version = "111.6.1+1.1.1d"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl-sys"
-+version = "0.9.50"
++version = "0.9.53"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-src 111.6.1+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -874,8 +893,8 @@ index 00000000..d7d32a06
 +version = "0.1.0"
 +dependencies = [
 + "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -915,7 +934,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.16"
++version = "0.3.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -931,16 +950,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ppv-lite86"
-+version = "0.2.5"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "predicates"
-+version = "1.0.1"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -970,7 +989,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "1.0.4"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -994,7 +1013,7 @@ index 00000000..d7d32a06
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1003,7 +1022,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1016,7 +1035,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1026,8 +1045,8 @@ index 00000000..d7d32a06
 +version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1044,8 +1063,8 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1056,7 +1075,7 @@ index 00000000..d7d32a06
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1065,7 +1084,7 @@ index 00000000..d7d32a06
 +version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1087,7 +1106,7 @@ index 00000000..d7d32a06
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1119,7 +1138,7 @@ index 00000000..d7d32a06
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1131,7 +1150,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1142,7 +1161,7 @@ index 00000000..d7d32a06
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1156,24 +1175,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "rayon"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.6.0"
++version = "1.6.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1182,13 +1201,13 @@ index 00000000..d7d32a06
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.33",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -1197,8 +1216,8 @@ index 00000000..d7d32a06
 +source = "git+https://github.com/alexcrichton/raytracer?branch=update-deps#42faa13859f7d8d47fd18be785c108003a207786"
 +dependencies = [
 + "image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1219,7 +1238,7 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1253,8 +1272,8 @@ index 00000000..d7d32a06
 +name = "request-animation-frame"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -1263,14 +1282,14 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multipart 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 + "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1285,7 +1304,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1293,7 +1312,7 @@ index 00000000..d7d32a06
 +name = "rust-duck-typed-interfaces"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
@@ -1311,22 +1330,22 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ryu"
-+version = "1.0.0"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "safemem"
-+version = "0.3.2"
++version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "sample"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-test 0.3.6",
 +]
 +
 +[[package]]
@@ -1368,30 +1387,30 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.101"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.101"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.40"
++version = "1.0.44"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1406,7 +1425,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1415,7 +1434,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1427,7 +1446,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "strsim"
-+version = "0.9.2"
++version = "0.9.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1442,23 +1461,23 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.10.2"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (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 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1476,7 +1495,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1514,7 +1533,7 @@ index 00000000..d7d32a06
 +version = "1.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1522,7 +1541,7 @@ index 00000000..d7d32a06
 +version = "0.1.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1533,7 +1552,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1545,9 +1564,9 @@ index 00000000..d7d32a06
 +dependencies = [
 + "askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -1555,15 +1574,15 @@ index 00000000..d7d32a06
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.3"
++version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1573,15 +1592,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "trybuild"
-+version = "1.0.16"
++version = "1.0.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1596,7 +1615,7 @@ index 00000000..d7d32a06
 +name = "typescript-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
@@ -1617,15 +1636,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "unicode-normalization"
-+version = "0.1.8"
++version = "0.1.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1650,7 +1669,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "vcpkg"
-+version = "0.2.7"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1660,27 +1679,27 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "walrus"
-+version = "0.12.0"
++version = "0.14.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "walrus-macro"
-+version = "0.12.0"
++version = "0.14.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1690,217 +1709,235 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "wasm-bindgen"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.33",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-macro 0.2.56",
++ "wasm-bindgen-test 0.3.6",
 + "wasm-bindgen-test-crate-a 0.1.0",
 + "wasm-bindgen-test-crate-b 0.1.0",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-anyref-xform"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-backend"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
 + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-shared 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-benchmark"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "diff 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rouille 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-cli-support 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-cli-support 0.2.56",
++ "wasm-bindgen-shared 0.2.56",
++ "wit-printer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli-support"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-anyref-xform 0.2.51",
-+ "wasm-bindgen-multi-value-xform 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
-+ "wasm-bindgen-threads-xform 0.2.51",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
-+ "wasm-bindgen-wasm-interpreter 0.2.51",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-anyref-xform 0.2.56",
++ "wasm-bindgen-multi-value-xform 0.2.56",
++ "wasm-bindgen-shared 0.2.56",
++ "wasm-bindgen-threads-xform 0.2.56",
++ "wasm-bindgen-wasm-conventions 0.2.56",
++ "wasm-bindgen-wasm-interpreter 0.2.56",
++ "wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-futures"
-+version = "0.4.1"
++version = "0.4.6"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-test 0.3.6",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro-support 0.2.51",
++ "trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-macro-support 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro-support"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.56",
++ "wasm-bindgen-shared 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-multi-value-xform"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-paint"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-shared"
-+version = "0.2.51"
++version = "0.2.56"
 +
 +[[package]]
 +name = "wasm-bindgen-test"
-+version = "0.3.1"
++version = "0.3.6"
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "js-sys 0.3.33",
 + "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test-macro 0.3.1",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-test-macro 0.3.6",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-a"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-b"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-macro"
-+version = "0.3.1"
++version = "0.3.6"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-threads-xform"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-wasm-conventions 0.2.56",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-conventions"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-interpreter"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-webidl"
-+version = "0.2.51"
++version = "0.2.56"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.56",
 + "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1908,81 +1945,104 @@ index 00000000..d7d32a06
 +name = "wasm-in-wasm"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++]
++
++[[package]]
++name = "wasm2js"
++version = "0.1.0"
++dependencies = [
++ "wasm-bindgen 0.2.56",
++]
++
++[[package]]
++name = "wasmparser"
++version = "0.42.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wasmprinter"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "wasm-webidl-bindings"
-+version = "0.5.0"
++name = "wast"
++version = "3.0.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "wasm2js"
-+version = "0.1.0"
++name = "wast"
++version = "5.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "wasmparser"
-+version = "0.37.2"
++name = "wat"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "web-sys"
-+version = "0.3.28"
++version = "0.3.33"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.33",
 + "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-futures 0.4.6",
++ "wasm-bindgen-test 0.3.6",
++ "wasm-bindgen-webidl 0.2.56",
 +]
 +
 +[[package]]
 +name = "webaudio"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "webgl"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "webidl-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.33",
++ "wasm-bindgen 0.2.56",
++ "wasm-bindgen-test 0.3.6",
++ "wasm-bindgen-webidl 0.2.56",
 +]
 +
 +[[package]]
 +name = "websockets"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
@@ -2030,79 +2090,152 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "wit-parser"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-printer"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-schema-version"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wit-text"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-validator"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-walrus"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wit-writer"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "without-a-bundler"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[[package]]
 +name = "without-a-bundler-no-modules"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.56",
++ "web-sys 0.3.33",
 +]
 +
 +[metadata]
 +"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
 +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9267dff192e68f3399525901e709a48c1d3982c9c072fa32f2127a0cb0babf14"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "97be891acc47ca214468e09425d02cef3af2c94d0d82081cd02061f996802f14"
 +"checksum askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eed81479263c8753e06f4981f5a313b3fe6cbff30c3ff8d9ae15ef0c72d93fb5"
 +"checksum askama_derive 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "46580c08e5520afadc6e9064759e15fc743489a4db78f9c751113e3d32a1e083"
 +"checksum askama_shared 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "64509fd5c2fa767fa7ea973b732c61f0b8d30d1adf084e5164523e51a5e35d71"
 +"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-+"checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
-+"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
 +"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
-+"checksum bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a606a02debe2813760609f57a64a2ffd27d9fdf5b2f133eaca0b248dd92cdd2"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
 +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-+"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
++"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
 +"checksum chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "498d20a7aaf62625b9bf26e637cf7736417cde1d0c99f1d04d1170229a85cf87"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd"
 +"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
-+"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
-+"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
++"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
++"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-+"checksum curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "d08ad3cb89d076a36b0ce5749eec2c9964f70c0c58480ab6b75a91ec4fc206d8"
-+"checksum curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9a9a4e417722876332136a00cacf92c2ceb331fab4b52b6a1ad16c6cd79255"
++"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
++"checksum curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++"checksum curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
 +"checksum deflate 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)" = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
++"checksum diff 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
 +"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
 +"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
 +"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
 +"checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
-+"checksum env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39ecdb7dd54465526f0a56d666e3b2dd5f3a218665a030b6e4ad9e70fa95d8fa"
++"checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
 +"checksum escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597"
-+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
-+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
-+"checksum filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469"
-+"checksum float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "134a8fa843d80a51a5b77d36d42bc2def9edcb0262c914861d08129fd1926600"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++"checksum float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e"
 +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +"checksum futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a"
 +"checksum futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
-+"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
++"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
 +"checksum gif 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e41945ba23db3bf51b24756d73d81acb4f28d85c3dccc32c6fae904438c25f"
 +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
++"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7"
 +"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
 +"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
 +"checksum id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
@@ -2110,46 +2243,45 @@ index 00000000..d7d32a06
 +"checksum image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d95816db758249fe16f23a4e23f1a3a817fe11892dbfd1c5836f625324702158"
 +"checksum inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb"
 +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum jpeg-decoder 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "c1aae18ffeeae409c6622c3b6a7ee49792a7e5a062eea1b135fbb74e301792ba"
++"checksum jpeg-decoder 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0256f0aec7352539102a9efbcb75543227b7ab1117e0f95450023af730128451"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 +"checksum leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
-+"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 +"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
 +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
 +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
 +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
 +"checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
 +"checksum mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0d977de9ee851a0b16e932979515c0f3da82403183879811bc97d50bd9cc50f7"
 +"checksum multipart 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "adba94490a79baf2d6a23eac897157047008272fa3eecb3373ae6377b91eca28"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
 +"checksum normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2e0a1a39eab95caf4f5556da9289b9e68f0aafac901b2ce80daaf020d3b733a8"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
 +"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
 +"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
 +"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
-+"checksum openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
++"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++"checksum openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
 +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
-+"checksum openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "b9c2da1de8a7a3f860919c01540b03a6db16de042405a8a07a5e9d0b4b825d9c"
-+"checksum openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)" = "2c42dcccb832556b5926bc9ae61e8775f2a61e725ab07ab3d1e7fcf8ae62c3b6"
++"checksum openssl-src 111.6.1+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005"
++"checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
 +"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
 +"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
 +"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
 +"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
++"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
 +"checksum png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3cb773e9a557edb568ce9935cf783e3cdcabe06a9449d41b3e5506d88e582c82"
-+"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
-+"checksum predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53e09015b0d3f5a0ec2d4428f7559bb7b3fff341b4e159fedd1d57fac8b939ff"
++"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++"checksum predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a9bfe52247e5cc9b2f943682a85a5549fb9662245caf094504e69a2f03fe64d4"
 +"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
 +"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
 +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 +"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
@@ -2169,8 +2301,8 @@ index 00000000..d7d32a06
 +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
 +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
 +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-+"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
-+"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
++"checksum rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43739f8831493b276363637423d3622d4bd6394ab6f0a9c4a552e208aeb7fddd"
++"checksum rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791"
 +"checksum raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)" = "<none>"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
 +"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
@@ -2182,26 +2314,26 @@ index 00000000..d7d32a06
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
-+"checksum safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
 +"checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
 +"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
 +"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
 +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
-+"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
-+"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
++"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
 +"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 +"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
++"checksum smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
 +"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
 +"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
-+"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
++"checksum strsim 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
 +"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +"checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
@@ -2211,30 +2343,40 @@ index 00000000..d7d32a06
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 +"checksum tiny_http 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1661fa0a44c95d01604bd05c66732a446c657efb62b5164a7a083a3b552b4951"
 +"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
++"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
-+"checksum trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)" = "10d8f366221c5a5ff8a62faa005e186fdce758949d34a9140b64a062951bae68"
++"checksum trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "b75e31d624df08744532e935f1d4bfedd319a277d5a162c5b15f6ced59307575"
 +"checksum twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
 +"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
 +"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-+"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-+"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
++"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-+"checksum walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f3bd9559eb5b59d55cc60986e26dc9b3f64377d0b9495e41abd9ede9a6443f"
-+"checksum walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0464a6e0d86be4c95c8c838bcb1910df831e1216a9586feeb02478cd52c4e554"
++"checksum walrus 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4d96e9ec3f81fdb3210b12b2b1e9e39369c8050a3a28e692e5247e3ab5196410"
++"checksum walrus-macro 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc16925d405153a91e01cdac2a5549aa25ca9148b5176e25e601f6536344d94"
 +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-+"checksum wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e407ee3155cb0742acacd0b21060daafe2ad78ea718f2d6b10e7d9d1032aa961"
-+"checksum wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7387ba67c13dd9cd01d7d961e733375aee889f828564e190da85b5602eb5eeb"
++"checksum wasmparser 0.42.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1527c84a5bd585215f29c06b0e2a5274e478ad4dfc970d26ffad66fdc6cb311d"
++"checksum wasmprinter 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89101d1890503f4d87cc0512ff2568c00d6c13ed9de3880569e5c9c21556c06c"
++"checksum wast 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "233648f540f07fce9b972436f2fbcae8a750c1121b6d32d949e1a44b4d9fc7b1"
++"checksum wast 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8d1de68310854a9840d39487701a8c1acccb5c9f9f2650d5fce3cdfe6650c372"
++"checksum wat 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d916cc60b1b79ac1ca7683af8d6ec56b789167f7f696b3f1ab3d98961129f192"
 +"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
 +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 +"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++"checksum wit-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6bb31e17473db76d44713485a85dec22d7786958a9a9b9693cfe0d7162c1b4f5"
++"checksum wit-printer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8c76e17384f4feb766d109a42c309b78de75ea2b3745f663ac3f5f331633f77f"
++"checksum wit-schema-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bfee4a6a4716eefa0682e7a3b836152e894a3e4f34a9d6c2c3e1c94429bfe36a"
++"checksum wit-text 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa19a002c984e25356af8938a8f4b7f0c9fe3963498e7ae1f90d64da9e563f5"
++"checksum wit-validator 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "676e5641088526a9bdcab24dc2f675f464f4ca1a4714aa90307464aa6658b5ba"
++"checksum wit-walrus 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e14fbb9453201558c582d227c2b75df5c050409f467e8c220fcd57dc369280a"
++"checksum wit-writer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebeb128df9e103e61f8ddd8a190259f3c48b73fe86a5932f40f4de526ef357e8"
 -- 
 2.23.0
 
diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix
index 2fd30ecc6b1..44d31e784c7 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.51";
+  version = "0.2.56";
 
   src = fetchFromGitHub {
     owner = "rustwasm";
     repo = "wasm-bindgen";
     rev = version;
-    sha256 = "1pfkwak11k3ghvv985c20vhg4cyvf131a1f7k3sv5snw2klww7vm";
+    sha256 = "0fmwcv192zyplxp26r9amb4zf7qf8150rd6k39sdi60lxp1dx76p";
   };
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkgconfig ];
 
-  cargoSha256 = "06zk2yzwpl569q5mgn56gprsfxxvyz4a2i949lls13daq1kal5pa";
-  cargoPatches = [ ./0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch ];
+  cargoSha256 = "0xn6sa1gc62gqf8zfn9b4zs2g58diixflxdvflygk5y55bp3rjcy";
+  cargoPatches = [ ./0001-Add-cargo.lock.patch ];
   cargoBuildFlags = [ "-p" pname ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/wiiload/default.nix b/pkgs/development/tools/wiiload/default.nix
index 8db830b3284..95f54050184 100644
--- a/pkgs/development/tools/wiiload/default.nix
+++ b/pkgs/development/tools/wiiload/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoconf, automake, zlib }:
 stdenv.mkDerivation rec {
-  version = "v0.5.1";
+  version = "0.5.1";
   pname = "wiiload";
 
   nativeBuildInputs = [ autoconf automake ];
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "devkitPro";
     repo  = "wiiload";
-    rev = version;
+    rev = "v${version}";
     sha256 = "0dffy603zggkqv7g1a2jninmi64vy519gpgkdfhjnijhdm9gs5m3";
   };
 
diff --git a/pkgs/development/tools/xcbuild/setup-hook.sh b/pkgs/development/tools/xcbuild/setup-hook.sh
index 9dc03a61f62..f4b5abf2d8d 100644
--- a/pkgs/development/tools/xcbuild/setup-hook.sh
+++ b/pkgs/development/tools/xcbuild/setup-hook.sh
@@ -20,7 +20,7 @@ xcbuildInstallPhase () {
 }
 
 buildPhase=xcbuildBuildPhase
-if [ -z "$installPhase" ]; then
+if [ -z "${installPhase-}" ]; then
     installPhase=xcbuildInstallPhase
 fi
 
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 43d3e20d3df..154b228e0e1 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.19.1";
+  version = "1.21.1";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0qlrwmvpv0ifvywqqzg28ywmhk4prkk1dflnnpk6grpgkq3bfv77";
+    sha256 = "1yw3v62a6309f9hr189870i9jw2a15pkians1nnfjqczzh7r5pih";
   };
 
   buildInputs = [ nodejs ];
diff --git a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
index b15b40c4a04..fc9b149887a 100644
--- a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
@@ -5,6 +5,6 @@
 fetchFromGitHub {
   owner  = "moretea";
   repo   = "yarn2nix";
-  rev    = "3f2dbb08724bf8841609f932bfe1d61a78277232";
-  sha256 = "142av7dwviapsnahgj8r6779gs2zr17achzhr8b97s0hsl08dcl2";
+  rev    = "9e7279edde2a4e0f5ec04c53f5cd64440a27a1ae";
+  sha256 = "0zz2lrwn3y3rb8gzaiwxgz02dvy3s552zc70zvfqc0zh5dhydgn7";
 }
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index f5989390c4b..22032e145d3 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -238,7 +238,7 @@ in rec {
       package = lib.importJSON packageJSON;
       pname = package.name;
       safeName = reformatPackageName pname;
-      version = package.version;
+      version = package.version or attrs.version;
       baseName = unlessNull name "${safeName}-${version}";
 
       workspaceDependenciesTransitive = lib.unique (
@@ -389,6 +389,11 @@ in rec {
     # yarn2nix is the only package that requires the yarnNix option.
     # All the other projects can auto-generate that file.
     yarnNix = ./yarn.nix;
+    
+    # Using the filter above and importing package.json from the filtered
+    # source results in an error in restricted mode. To circumvent this,
+    # we import package.json from the unfiltered source
+    packageJSON = ./package.json;
 
     yarnFlags = defaultYarnFlags ++ ["--production=true"];
 
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index f88a6ceaeb3..796060de0b0 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec{
   pname = "cypress";
-  version = "3.5.0";
+  version = "3.6.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "1w1nqa0j3bzjr000d4jlr34d1asdc1fv81pq831s3wl55hyqbij6";
+    sha256 = "0vlfmhsz7zkp3bjsgqmp9n716d5znicl42hm0m9hl7ndvgm9z9z0";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index 675564b789b..00ffa9d1d62 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -1,11 +1,9 @@
-{ stdenv, makeWrapper, fetchurl, dpkg
-, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype
-, gdk-pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2, at-spi2-atk
-, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
+{ stdenv, makeWrapper, fetchurl, dpkg, alsaLib, atk, cairo, cups, dbus, expat
+, fontconfig, freetype, gdk-pixbuf, glib, gnome2, nspr, nss, gtk3, gtk2
+, at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
 , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
-, libudev0-shim, glibc, curl, openssl, autoPatchelfHook
-}:
+, libudev0-shim, glibc, curl, openssl, autoPatchelfHook }:
 
 let
   runtimeLibs = stdenv.lib.makeLibraryPath [
@@ -18,19 +16,16 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "6.6.2";
+  version = "7.0.5";
 
   src = fetchurl {
-    url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
-    sha256 = "0hlny3lac7whdbpp0pcyaa30h6x9536jsg95gj9irw2qjsx74xa7";
+    url =
+      "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
+    sha256 = "1zcxldfi4rxg7rr6r588blhihyh7ggcdy32vwzjklgq7ihsvx5bs";
   };
 
-  nativeBuildInputs = [
-    autoPatchelfHook
-    dpkg
-    makeWrapper
-    gobject-introspection wrapGAppsHook
-  ];
+  nativeBuildInputs =
+    [ autoPatchelfHook dpkg makeWrapper gobject-introspection wrapGAppsHook ];
 
   buildInputs = [
     alsaLib
@@ -87,11 +82,11 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://insomnia.rest/;
+    homepage = "https://insomnia.rest/";
     description = "The most intuitive cross-platform REST API Client";
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ markus1189 ];
+    maintainers = with maintainers; [ markus1189 babariviere ];
   };
 
 }
diff --git a/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch b/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch
deleted file mode 100644
index d6ac38138b8..00000000000
--- a/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/node.gyp
-+++ b/node.gyp
-@@ -289,7 +289,7 @@
-           '-Wl,-bnoerrmsg',
-         ],
-       }],
--      ['(OS=="linux" or OS=="mac") and llvm_version!=0', {
-+      ['OS=="linux" and llvm_version!=0', {
-         'libraries': ['-latomic'],
-       }],
-     ],
diff --git a/pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
index b3b2c8b0fb6..7ac6c2ef895 100644
--- a/pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch
+++ b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
@@ -5,7 +5,7 @@
          ],
        }],
 -      ['OS in ("linux", "mac") and llvm_version != "0.0"', {
-+      ['OS=="linux" and llvm_version!=0', {
++      ['OS == "linux" and llvm_version != "0.0"', {
          'libraries': ['-latomic'],
        }],
      ],
diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix
index 22887a44aff..a3b975e3718 100644
--- a/pkgs/development/web/nodejs/v10.nix
+++ b/pkgs/development/web/nodejs/v10.nix
@@ -5,6 +5,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "10.17.0";
-    sha256 = "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1";
+    version = "10.18.0";
+    sha256 = "1ppycqffsy7ix6whdp6id7ld1qizwvjlzxyk12kxw4wphjmn49hb";
   }
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index bed3127ee4b..61c433bc0d4 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.13.0";
-    sha256 = "1xmy73q3qjmy68glqxmfrk6baqk655py0cic22h1h0v7rx0iaax8";
+    version = "12.14.0";
+    sha256 = "0wdyz6fymkf2pfb5bf5ddcza7f2n55p9zqjvq661nr5gl9xj32h8";
 
-    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin-12_x.patch ];
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix
index 37d42e0ee77..f5e9952233b 100644
--- a/pkgs/development/web/nodejs/v13.nix
+++ b/pkgs/development/web/nodejs/v13.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "13.0.1";
-    sha256 = "1n9w1kvdzdg2j0a41wdkqcl893209lc018sd49xpy1cnr169h6vr";
+    version = "13.3.0";
+    sha256 = "0j36jf0ybq470w91kzg28bcmxlml7ccl4swwklb6x1ibkz697np7";
 
-    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin-13_x.patch ];
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 440012461b9..7c56cd827ca 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "7.10.0";
+  version = "7.12.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "0k8np71p414407hvcw149gspvdgyadnmpvfdxwwkr3pydj70vn6f";
+    sha256 = "0sz7cidajrsj43vq5g8jrkxlrp97r7n8dfr9gp8l0wxnidiqm401";
     name = "${pname}.tar.gz";
   };
 
diff --git a/pkgs/development/web/twitter-bootstrap/default.nix b/pkgs/development/web/twitter-bootstrap/default.nix
index 61e7947a479..d0de36d426a 100644
--- a/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/pkgs/development/web/twitter-bootstrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bootstrap";
-  version = "4.3.1";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip";
-    sha256 = "08rkg4q8x36k03g1d81brhncrzb98sh8r53a5wg3i4p1nwqgv3w8";
+    sha256 = "1gdzp54f2xyvbw9hnyjlj4s69jvxkxr3hqclq1c8ajmx39s7rymz";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/web/wml/default.nix b/pkgs/development/web/wml/default.nix
index 57fedb78407..841a6ebecb0 100644
--- a/pkgs/development/web/wml/default.nix
+++ b/pkgs/development/web/wml/default.nix
@@ -56,7 +56,7 @@ perlPackages.buildPerlPackage {
   installTargets = "install";
 
   meta = with stdenv.lib; {
-    homepage = http://thewml.org/;
+    homepage = "https://www.shlomifish.org/open-source/projects/website-meta-language/";
     description = "Off-line HTML generation toolkit for Unix";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
index ef285f8cb93..8102235d88e 100644
--- a/pkgs/games/0ad/game.nix
+++ b/pkgs/games/0ad/game.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, perl, fetchurl, python2
 , pkgconfig, spidermonkey_38, boost, icu, libxml2, libpng, libsodium
 , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
-, openal, libGLU_combined, xorgproto, libX11, libXcursor, nspr, SDL2
+, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2
 , gloox, nvidia-texture-tools
 , withEditor ? true, wxGTK ? null
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     spidermonkey_38 boost icu libxml2 libpng libjpeg
     zlib curl libogg libvorbis enet miniupnpc openal
-    libGLU_combined xorgproto libX11 libXcursor nspr SDL2 gloox
+    libGLU libGL xorgproto libX11 libXcursor nspr SDL2 gloox
     nvidia-texture-tools libsodium
   ] ++ lib.optional withEditor wxGTK;
 
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index 9766e58c15a..2d3be1880de 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU_combined, alsaLib, libpulseaudio
+{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsaLib, libpulseaudio
 , xorg }:
 
 let
@@ -6,7 +6,7 @@ let
   inherit (xorg) libXext libX11;
 
   lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [
-      zlib libmad libpng12 libcaca libXext libX11 libGLU_combined alsaLib libpulseaudio];
+      zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsaLib libpulseaudio];
 
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index 89c74d83b49..5c27e3426fd 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libjpeg, libX11, libXxf86vm, curl, libogg
-, libvorbis, freetype, openal, libGLU_combined }:
+, libvorbis, freetype, openal, libGL }:
 
 stdenv.mkDerivation {
   name = "alienarena-7.65";
@@ -11,12 +11,12 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libjpeg libX11 curl libogg libvorbis
-                  freetype openal libGLU_combined libXxf86vm ];
+                  freetype openal libGL libXxf86vm ];
 
   patchPhase = ''
     substituteInPlace ./configure \
       --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \
-      --replace libGL.so.1 ${libGLU_combined}/lib/libGL.so.1
+      --replace libGL.so.1 ${libGL}/lib/libGL.so.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index c3caf9105d0..c1ba8851f5c 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -163,10 +163,13 @@ buildPythonApplication rec {
     '';
 
     dontWrapQtApps = true;
-    makeWrapperArgs = [
-        ''--prefix PATH ':' "${lame}/bin:${mplayer}/bin"''
-        "\${qtWrapperArgs[@]}"
-    ];
+
+    preFixup = ''
+      makeWrapperArgs+=(
+        "''${qtWrapperArgs[@]}"
+        --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
+      )
+    '';
 
     # now wrapPythonPrograms from postFixup will add both python and qt env variables
 
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 70c23664dc0..edb739125c0 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU_combined, zlib }:
+{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib }:
 
 let
   versionMajor = "0.2.8";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   configureFlags = [ "--disable-etc" ];
-  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU_combined zlib ];
+  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ];
 
   meta = with stdenv.lib; {
     homepage = http://armagetronad.org;
diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix
index d3f18d4c218..354787e0f07 100644
--- a/pkgs/games/arx-libertatis/default.nix
+++ b/pkgs/games/arx-libertatis/default.nix
@@ -47,14 +47,14 @@ stdenv.mkDerivation {
   '' + optionalString withCrashReporter ''
     wrapQtApp "$out/libexec/arxcrashreporter"
   '';
-  
+
   meta = {
     description = ''
       A cross-platform, open source port of Arx Fatalis, a 2002
       first-person role-playing game / dungeon crawler
       developed by Arkane Studios.
     '';
-    homepage = http://arx-libertatis.org/;
+    homepage = https://arx-libertatis.org/;
     license = licenses.gpl3;
     maintainers = with maintainers; [ rnhmjoj ];
     platforms = platforms.linux;
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index 37593d3bd72..191428f66db 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU_combined, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
+{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU, libGL, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
 
 stdenv.mkDerivation rec {
   version = "1.3.2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv";
   };
 
-  buildInputs = [ cmake xlibsWrapper libGLU_combined SDL openal freealut libogg libvorbis ];
+  buildInputs = [ cmake xlibsWrapper libGLU libGL SDL openal freealut libogg libvorbis ];
 
   buildPhase = ''
     cmake ./
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index 94a1e6ee91a..c6c5176ecdf 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, lua, libGLU_combined }:
+{ stdenv, fetchurl, SDL, lua, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name = "bitsnbots-20111230";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     ln -s $out/share/${name}/bitsnbots $out/bin
   '';
 
-  buildInputs = [ SDL lua libGLU_combined ];
+  buildInputs = [ SDL lua libGLU libGL ];
 
   meta = {
     description = "Simple puzzle game with moving robots";
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index a35b449f92f..608b32764bb 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchsvn, SDL, libGLU_combined, openal, libvorbis, freealut, SDL_image}:
+{stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}:
 
 stdenv.mkDerivation {
   name = "blackshades-svn-110";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lSDL_image";
 
-  buildInputs = [ SDL SDL_image libGLU_combined openal libvorbis freealut ];
+  buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
 
   patchPhase = ''
     sed -i -e s,Data/,$out/opt/$name/Data/,g \
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index d3eb2348a0d..938d767c3d8 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL2, SDL2_image, libGLU_combined, cmake, physfs, boost, zip, zlib
+{stdenv, fetchurl, SDL2, SDL2_image, libGLU, libGL, cmake, physfs, boost, zip, zlib
 , pkgconfig, unzip}:
 stdenv.mkDerivation rec {
   version = "1.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [SDL2 SDL2_image libGLU_combined cmake physfs boost zip zlib
+  buildInputs = [SDL2 SDL2_image libGLU libGL cmake physfs boost zip zlib
     unzip];
 
   preConfigure=''
diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix
index e658ef9f5cb..3dcfe201d2c 100644
--- a/pkgs/games/boohu/default.nix
+++ b/pkgs/games/boohu/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   pname = "boohu";
-  version = "0.12.0";
+  version = "0.13.0";
 
   goPackagePath = "git.tuxfamily.org/boohu/boohu.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/boohu/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0nf3xj3lda8279cqvjv5c3vpsb7d2kynwwna5yrsy7gq8c9n4rh8";
+    sha256 = "0q89yv4klldjpli6y9xpyr6k8nsn7qa68gp90vb3dgxynn91sh68";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/games/boohu/deps.nix b/pkgs/games/boohu/deps.nix
index a785567addd..c2dc3b41b97 100644
--- a/pkgs/games/boohu/deps.nix
+++ b/pkgs/games/boohu/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "288510b9734e30e7966ec2f22b87c5f8e67345e3";
-      sha256 = "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4";
+      rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d";
+      sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+      rev = "f93a0d58d5fd95e53f82782d07bb0c79d23e1290";
+      sha256 = "1sq97q71vgwnbg1fphsmqrzkbfn6mjal6d8a3qgwv4nbgppwaz25";
     };
   }
 ]
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 56d2866a235..d07088a30a3 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig
-, curl, SDL2, libGLU_combined, glew, ncurses, c-ares
+, curl, SDL2, libGLU, libGL, glew, ncurses, c-ares
 , Carbon, CoreServices }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ curl SDL2 libGLU_combined glew ncurses c-ares ]
+  buildInputs = [ curl SDL2 libGLU libGL glew ncurses c-ares ]
     ++ lib.optionals stdenv.isDarwin [ Carbon CoreServices ];
 
   meta = with lib; {
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
index b872e95d589..8e3c3e33994 100644
--- a/pkgs/games/cataclysm-dda/git.nix
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -10,15 +10,18 @@ let
 in
 
 stdenv.mkDerivation (common // rec {
-  version = "2019-05-03";
+  version = "2019-11-22";
   name = "cataclysm-dda-git-${version}";
 
   src = fetchFromCleverRaven {
-    rev = "65a05026e7306b5d1228dc6ed885c43447f128b5";
-    sha256 = "18yn0h6b4j9lx67sq1d886la3l6l7bqsnwj6mw2khidssiy18y0n";
+    rev = "a6c8ece992bffeae3788425dd4b3b5871e66a9cd";
+    sha256 = "0ww2q5gykxm802z1kffmnrfahjlx123j1gfszklpsv0b1fccm1ab";
   };
 
-  patches = [ ./patches/fix_locale_dir_git.patch ];
+  patches = [
+    # Locale patch required for Darwin builds, see: https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970
+    ./patches/fix_locale_dir_git.patch
+  ];
 
   makeFlags = common.makeFlags ++ [
     "VERSION=git-${version}-${substring 0 8 src.rev}"
diff --git a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
index 1b92c881661..79b442ff5c9 100644
--- a/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
+++ b/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
@@ -1,8 +1,8 @@
 diff --git a/src/translations.cpp b/src/translations.cpp
-index 0068a35785..c8034cbeac 100644
+index 067e2cd77d..5660d18b3d 100644
 --- a/src/translations.cpp
 +++ b/src/translations.cpp
-@@ -202,14 +202,12 @@ void set_language()
+@@ -211,14 +211,12 @@ void set_language()
      auto env = getenv( "LANGUAGE" );
      locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
                                "/LC_MESSAGES/cataclysm-dda.mo" );
@@ -16,5 +16,5 @@ index 0068a35785..c8034cbeac 100644
 -#else
 -    locale_dir = "lang/mo";
  #endif
- 
+
      const char *locale_dir_char = locale_dir.c_str();
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index 3b460daefd1..f0b04489eda 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -1,8 +1,16 @@
-{ stdenv, pkgconfig, zlib, qtbase, qtsvg, qttools, qtmultimedia, qmake, fetchurl, makeWrapper
-, lib
+{ mkDerivation
+, stdenv
+, pkgconfig
+, zlib
+, qtbase
+, qtsvg
+, qttools
+, qtmultimedia
+, qmake
+, fetchurl
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "chessx";
   version = "1.5.0";
 
@@ -11,16 +19,19 @@ stdenv.mkDerivation rec {
     sha256 = "09rqyra28w3z9ldw8sx07k5ap3sjlli848p737maj7c240rasc6i";
   };
 
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+  ];
+
   buildInputs = [
     qtbase
+    qtmultimedia
     qtsvg
     qttools
-    qtmultimedia
     zlib
   ];
 
-  nativeBuildInputs = [ pkgconfig qmake makeWrapper ];
-
   # RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
   enableParallelBuilding = false;
 
@@ -39,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = http://chessx.sourceforge.net/;
     description = "ChessX allows you to browse and analyse chess games";
     license = licenses.gpl2;
-    maintainers = [maintainers.luispedro];
+    maintainers = [ maintainers.luispedro ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix
index 9528c6d06cb..5c74b596279 100644
--- a/pkgs/games/construo/default.nix
+++ b/pkgs/games/construo/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL ? null, freeglut ? null }:
+{ stdenv
+, fetchurl
+, libX11
+, zlib
+, xorgproto
+, libGL ? null
+, libGLU ? null
+, freeglut ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "construo";
@@ -11,6 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 zlib xorgproto ]
     ++ stdenv.lib.optional (libGL != null) libGL
+    ++ stdenv.lib.optional (libGLU != null) libGLU
     ++ stdenv.lib.optional (freeglut != null) freeglut;
 
   preConfigure = ''
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index bb06bec411b..4741ac7bb68 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU_combined, libXi, libXmu }:
+{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU, libGL, libXi, libXmu }:
 
 stdenv.mkDerivation {
   name = "crack-attack-1.1.14";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--enable-sound=yes" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU_combined libXi libXmu ];
+  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU libGL libXi libXmu ];
 
   hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 2179c2bff76..e4cccdd6221 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
-, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
+, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp
 , tileMode ? false, enableSound ? tileMode
 
 # MacOS / Darwin builds
@@ -8,29 +8,24 @@
 
 stdenv.mkDerivation rec {
   name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.23.2";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "1d6mip4rvp81839yf2xm63hf34aza5wg4g5z5hi5275j94szaacs";
+    sha256 = "1cdjd33z04gj70manavihc3lj9ckpmd75n09vvyw01z41s33fzs0";
   };
 
-  patches = [
-    ./crawl_purify.patch  # Patch hard-coded paths and remove force library builds
-    (fetchpatch {         # Use a nice high-res app icon
-      url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
-      sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
-    })
-  ];
+  # Patch hard-coded paths and remove force library builds
+  patches = [ ./crawl_purify.patch ];
 
   nativeBuildInputs = [ pkgconfig which perl pngcrush advancecomp ];
 
   # Still unstable with luajit
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
                 ++ (with python3.pkgs; [ pyyaml ])
-                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ]
+                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ]
                 ++ lib.optional enableSound SDL2_mixer
                 ++ (lib.optionals stdenv.isDarwin (
                   assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds");
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index b9d3a69d87b..75ff970a16a 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, plib, libjpeg }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, plib, libjpeg }:
 let
   version = "0.9.13";
 in
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined SDL SDL_mixer plib libjpeg
+    libGLU libGL SDL SDL_mixer plib libjpeg
   ];
 
   patches = [
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 441e9f66981..fd972937640 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU_combined, zlib, libjpeg, libogg, libvorbis
+{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis
 , openal, curl }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk";
   };
 
-  # Add libGLU_combined linking
+  # Add libGLU libGL linking
   patchPhase = ''
     sed -i 's/\<idlib\()\?\)$/idlib GL\1/' neo/CMakeLists.txt
   '';
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL2 libGLU_combined zlib libjpeg libogg libvorbis openal curl ];
+  buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 71024f3d5c9..544fa26b21c 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
 , perl, XMLLibXML, XMLLibXSLT, zlib
-, enableStoneSense ? false,  allegro5, libGLU_combined
+, enableStoneSense ? false,  allegro5, libGLU, libGL
 , enableTWBT ? true, twbt
 , SDL
 , dfVersion
@@ -100,7 +100,7 @@ let
     nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
     # We don't use system libraries because dfhack needs old C++ ABI.
     buildInputs = [ zlib SDL ]
-               ++ lib.optionals enableStoneSense [ allegro5 libGLU_combined ];
+               ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ];
 
     preConfigure = ''
       # Trick build system into believing we have .git
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
index 82806c7521c..b7eb2f02568 100644
--- a/pkgs/games/dxx-rebirth/default.nix
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -1,5 +1,5 @@
 { gcc6Stdenv, fetchurl, fetchpatch, scons, pkgconfig
-, SDL, SDL_mixer, libGLU_combined, physfs
+, SDL, SDL_mixer, libGLU, libGL, physfs
 }:
 
 let
@@ -33,7 +33,7 @@ in gcc6Stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig scons ];
 
-  buildInputs = [ libGLU_combined physfs SDL SDL_mixer ];
+  buildInputs = [ libGLU libGL physfs SDL SDL_mixer ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 2999da8fcaa..e305505d62c 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nasm, makeDesktopItem
-, flac, gtk2, libvorbis, libvpx, libGLU_combined
+, flac, gtk2, libvorbis, libvpx, libGLU, libGL
 , SDL2, SDL2_mixer }:
 
 let
@@ -26,18 +26,18 @@ in stdenv.mkDerivation {
     sha256 = "09a7l23i6sygicc82w1in9hjw0jvivlf7q0vw8kcx9j98lm23mkn";
   };
 
-  buildInputs = [ flac gtk2 libvorbis libvpx libGLU_combined SDL2 SDL2_mixer ];
+  buildInputs = [ flac gtk2 libvorbis libvpx libGL libGLU SDL2 SDL2_mixer ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ]
     ++ stdenv.lib.optional (stdenv.hostPlatform.system == "i686-linux") nasm;
 
   postPatch = ''
     substituteInPlace source/build/src/glbuild.cpp \
-      --replace libGLU.so ${libGLU_combined}/lib/libGLU.so
+      --replace libGLU.so ${libGLU}/lib/libGLU.so
 
     for f in glad.c glad_wgl.c ; do
       substituteInPlace source/glad/src/$f \
-        --replace libGL.so ${libGLU_combined}/lib/libGL.so
+        --replace libGL.so ${libGL}/lib/libGL.so
     done
   '';
 
diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix
index 98ab4d27d5f..3cd2dc5827b 100644
--- a/pkgs/games/egoboo/default.nix
+++ b/pkgs/games/egoboo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_ttf }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_ttf }:
 
 stdenv.mkDerivation rec {
   # pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/${name}
   '';
 
-  buildInputs = [ libGLU_combined SDL SDL_mixer SDL_image SDL_ttf ];
+  buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ];
 
   /*
     This big commented thing may be needed for versions 2.8.0 or beyond
diff --git a/pkgs/games/eidolon/cargo-lock.patch b/pkgs/games/eidolon/cargo-lock.patch
new file mode 100644
index 00000000000..5aa09c52683
--- /dev/null
+++ b/pkgs/games/eidolon/cargo-lock.patch
@@ -0,0 +1,19 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 8abf781..62511ef 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,3 +1,5 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
+ [[package]]
+ name = "adler32"
+ version = "1.0.3"
+@@ -229,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [[package]]
+ name = "eidolon"
+-version = "1.4.5"
++version = "1.4.6"
+ dependencies = [
+  "butlerd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/games/eidolon/default.nix b/pkgs/games/eidolon/default.nix
new file mode 100644
index 00000000000..ab3d9647dc8
--- /dev/null
+++ b/pkgs/games/eidolon/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, rustPlatform, pkgconfig, openssl }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "eidolon";
+  version = "1.4.6";
+
+  src = fetchgit {
+    url = "https://git.sr.ht/~nicohman/eidolon";
+    rev = "${version}";
+    sha256 = "1yn3k569pxzw43mmsk97088xpkdc714rks3ncchbb6ccx25kgxrr";
+  };
+  cargoPatches = [ ./cargo-lock.patch ];
+
+  cargoSha256 = "1887fjkk641cn6dpmyc5r3r2li61yw1nvfb0f2dp3169gycka15h";
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl ];
+
+  meta = with stdenv.lib; {
+    description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu";
+    homepage = "https://github.com/nicohman/eidolon";
+    license = licenses.gpl3;
+    maintainers = [ maintainers."0x4A6F" ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/endless-sky/default.nix b/pkgs/games/endless-sky/default.nix
index 14bea8185c6..5d1ed1c11a9 100644
--- a/pkgs/games/endless-sky/default.nix
+++ b/pkgs/games/endless-sky/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "0.9.8";
+  version = "0.9.10";
 
 in
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     owner = "endless-sky";
     repo = "endless-sky";
     rev = "v${version}";
-    sha256 = "0i36lawypikbq8vvzfis1dn7yf6q0d2s1cllshfn7kmjb6pqfi6c";
+    sha256 = "1wax9qhxakydg6bs92d1jy2fki1n9r0wkps1np02y0pvm1fl189i";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/endless-sky/fixes.patch b/pkgs/games/endless-sky/fixes.patch
index cad7a6acaed..359e2ee4af3 100644
--- a/pkgs/games/endless-sky/fixes.patch
+++ b/pkgs/games/endless-sky/fixes.patch
@@ -2,15 +2,6 @@ diff --git a/SConstruct b/SConstruct
 index 48fd080..419b40d 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -1,7 +1,7 @@
- import os
- 
- # Load any environment variables that alter the build.
--env = Environment()
-+env = Environment(ENV = os.environ)
- if 'CCFLAGS' in os.environ:
- 	env.Append(CCFLAGS = os.environ['CCFLAGS'])
- if 'CXXFLAGS' in os.environ:
 @@ -55,7 +55,7 @@ sky = env.Program("endless-sky", Glob("build/" + env["mode"] + "/*.cpp"))
  
  
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 30788c7ec5c..c7c618c0c18 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, libX11, xorgproto, tcl, freeglut, freetype
+{ stdenv, fetchurl, libGLU, libGL, libX11, xorgproto, tcl, freeglut, freetype
 , sfml, libXi
 , libXmu, libXext, libXt, libSM, libICE
 , libpng, pkgconfig, gettext, intltool
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined libX11 xorgproto tcl freeglut freetype
+    libGLU libGL libX11 xorgproto tcl freeglut freetype
     sfml libXi
     libXmu libXext libXt libSM libICE
     libpng pkgconfig gettext intltool
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     '';
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://sourceforge.net/projects/extremetuxracer/;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index e06975e8db4..1c007cc6bb5 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, curl, expat
-, jansson, libpng, libjpeg, libGLU_combined, libXxf86vm, pcre
+, jansson, libpng, libjpeg, libGLU, libGL, libXxf86vm, pcre
 , pkgconfig, SDL2, vim }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    expat curl jansson libpng libjpeg libGLU_combined libXxf86vm pcre SDL2 vim
+    expat curl jansson libpng libjpeg libGLU libGL libXxf86vm pcre SDL2 vim
   ];
 
   installPhase = with stdenv.lib; let
diff --git a/pkgs/games/flare/default.nix b/pkgs/games/flare/default.nix
index 551276b1b25..2058abebb55 100644
--- a/pkgs/games/flare/default.nix
+++ b/pkgs/games/flare/default.nix
@@ -16,7 +16,7 @@ buildEnv {
 
   meta = with lib; {
     description = "Fantasy action RPG using the FLARE engine";
-    homepage = "http://flarerpg.org/";
+    homepage = "https://flarerpg.org/";
     maintainers = [ maintainers.aanderse ];
     license = [ licenses.gpl3 licenses.cc-by-sa-30 ];
     platforms = platforms.unix;
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 9266428b5e7..d3c3271710a 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, wrapQtAppsHook
-, freeglut, freealut, libGLU_combined, libICE, libjpeg, openal, openscenegraph, plib
+, freeglut, freealut, libGLU, libGL, libICE, libjpeg, openal, openscenegraph, plib
 , libSM, libunwind, libX11, xorgproto, libXext, libXi
 , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
 , makeDesktopItem, qtbase, qtdeclarative, glew
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
   buildInputs = [
-    freeglut freealut libGLU_combined libICE libjpeg openal openscenegraph plib
+    freeglut freealut libGLU libGL libICE libjpeg openal openscenegraph plib
     libSM libunwind libX11 xorgproto libXext libXi
     libXmu libXt simgear zlib boost libpng udev fltk13 apr qtbase
     glew qtdeclarative
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index d0f514f239d..dfad954f0f0 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, doxygen, graphviz, makeWrapper
 , boost, SDL2, python2, freetype, openal, libogg, libvorbis, zlib, libpng, libtiff
-, libjpeg, libGLU_combined, glew, libxslt
+, libjpeg, libGLU, libGL, glew, libxslt
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
 	(boost.override { enablePython = true; })
-    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU_combined glew ];
+    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU libGL glew ];
 
   nativeBuildInputs = [ cmake doxygen graphviz makeWrapper ];
 
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index d334439cafb..b8a0d5ff3c7 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU_combined, wxGTK, libX11, xorgproto
+{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU, libGL, wxGTK, libX11, xorgproto
 , runtimeShell }:
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 glib libGLU_combined wxGTK libX11 xorgproto ];
+  buildInputs = [ gtk2 glib libGLU libGL wxGTK libX11 xorgproto ];
 
   preBuild = ''
     sed -e '
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
index 3665467407a..f1230b739bb 100644
--- a/pkgs/games/gcs/default.nix
+++ b/pkgs/games/gcs/default.nix
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
 
     cd ../toolkit
     ant
-  
+
     cd ../gcs
     ant
 
@@ -60,15 +60,15 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/bin $out/share/java
 
     find gcs/libraries toolkit/libraries apple_stubs/ \( -name '*.jar' -and -not -name '*-src.jar' \) -exec cp '{}' $out/share/java ';'
-    
+
     makeWrapper ${jre8}/bin/java $out/bin/gcs \
       --set GCS_LIBRARY ${library} \
       --add-flags "-cp $out/share/java/gcs-${version}.jar com.trollworks.gcs.app.GCS"
-  '';  
+  '';
 
   meta = with stdenv.lib; {
     description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
-    homepage = http://gurpscharactersheet.com/;
+    homepage = https://gurpscharactersheet.com/;
     license = licenses.mpl20;
     platforms = platforms.all;
     maintainers = with maintainers; [];
diff --git a/pkgs/games/gl-117/default.nix b/pkgs/games/gl-117/default.nix
index fb60808bab7..09a472f4dac 100644
--- a/pkgs/games/gl-117/default.nix
+++ b/pkgs/games/gl-117/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
+, libGLU, libGL, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4";
   };
 
-  buildInputs = [ libGLU_combined SDL freeglut SDL_mixer autoconf automake libtool ];
+  buildInputs = [ libGLU libGL SDL freeglut SDL_mixer autoconf automake libtool ];
 
   meta = with stdenv.lib; {
     description = "An air combat simulator";
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index edfb05d237c..b953aad606d 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
+{ stdenv, fetchurl, libGLU, libGL, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
 , speex, libvorbis, libogg, boost, fribidi, bsdiff
 , fetchpatch
 }:
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ sconsPackages.scons_3_0_1 ];
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
 
   postConfigure = ''
     sconsFlags+=" BINDIR=$out/bin"
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index bd3ae0b2e12..0e70096ab53 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
+{stdenv, fetchurl, SDL, libGLU, libGL, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
 
 stdenv.mkDerivation rec {
   name = "gltron-0.70";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # The build fails, unless we disable the default -Wall -Werror
   configureFlags = [ "--disable-warn" ];
 
-  buildInputs = [ SDL libGLU_combined zlib libpng libvorbis libmikmod SDL_sound ];
+  buildInputs = [ SDL libGLU libGL zlib libpng libvorbis libmikmod SDL_sound ];
 
   meta = {
     homepage = http://www.gltron.org/;
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 7eab9626877..288d3369dfb 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "06fy4ksn1n745y86s6rlnamkfyqi0894aznf6s56ff6hz2pngsfc";
+    sha256 = "1mkfpa3mx1rpd6lywdcqcf0y9ydzr1jxpk330kl9lxw59xihk0pc";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
@@ -35,6 +35,12 @@ stdenv.mkDerivation rec {
     for i in *.pk3; do
       install -Dm644 "$i" "$out/lib/gzdoom/$i"
     done
+    for i in fm_banks/*; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
+    for i in soundfonts/*; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
     mkdir $out/bin
     makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom
   '';
diff --git a/pkgs/games/harmonist/default.nix b/pkgs/games/harmonist/default.nix
index a391a73069a..19074a309dd 100644
--- a/pkgs/games/harmonist/default.nix
+++ b/pkgs/games/harmonist/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   pname = "harmonist";
-  version = "0.2";
+  version = "0.3.0";
 
   goPackagePath = "git.tuxfamily.org/harmonist/harmonist.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/harmonist/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r78v312x2k1v9rkxkxffs5vxn9sc0dcszm66yw10p7qy9lyvicd";
+    sha256 = "16bh4zzq7szwcw19n34bslkf81fz3i0p4zqkd8gdi5ixkbm998lm";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/games/harmonist/deps.nix b/pkgs/games/harmonist/deps.nix
index c65c0e33998..68290823625 100644
--- a/pkgs/games/harmonist/deps.nix
+++ b/pkgs/games/harmonist/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "eeb6cd0a176293eeb2c69270d83835972e3567bc";
-      sha256 = "14695dk07dj41s5f74l3wdf3xjj2flq4fq016i98f5xijh5f64i3";
+      rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d";
+      sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+      rev = "18c3d09a134a52720932bbaa92c798a0ab111004";
+      sha256 = "1snr8mk63vz2h44knq26dm81p83887v7kb09iywqmx0nqzngih66";
     };
   }
 ]
diff --git a/pkgs/games/hexen/default.nix b/pkgs/games/hexen/default.nix
deleted file mode 100644
index 48379da3a0a..00000000000
--- a/pkgs/games/hexen/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, SDL} :
-
-stdenv.mkDerivation {
-  name = "hexen-0.2.3";
-  src = fetchurl {
-    url = https://www.libsdl.org/projects/hexen/src/hexen-0.2.3.tar.gz;
-    sha256 = "c1433e930f2003c5f817f935406bb28ba15298a15b1c11f83f42df3e9f1f3bc4";
-  };
-
-  buildInputs = [ SDL ];
-
-  meta = {
-    homepage = http://www.libsdl.org/projects/hexen/;
-    description = "Port of Raven Software's popular Hexen 3-D shooter game";
-    license = stdenv.lib.licenses.free;
-    broken = true;
-  };
-}
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index b25341da01d..fff15b5c5b0 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
+{ stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "3.3.0";
+  version = "3.3.1";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,13 +33,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "0kskwrq2gy1gpp97134sjrw08ip1h6i5dc64zrbl9yv7jaz4by69";
+    sha256 = "10bppcdjnd0all71l5akdvy7fx0c8s8x0za9qxszs8cjmlv9z1q0";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL SDL_ttf SDL_image SDL_mixer lua zlib unzip ];
+  nativeBuildInputs = [ pkgconfig unzip ];
+  buildInputs = [ SDL2 SDL2_ttf SDL2_image SDL2_mixer lua zlib ];
 
   configurePhase = ''
     { echo 2; echo $out; } | ./configure.sh
@@ -47,9 +47,7 @@ stdenv.mkDerivation {
 
   inherit games;
 
-  installPhase = ''
-    make install
-
+  postInstall = ''
     pushd $out/share/instead/games
     for a in $games; do
       unzip $a
@@ -57,6 +55,8 @@ stdenv.mkDerivation {
     popd
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Simple text adventure interpreter for Unix and Windows";
     homepage = http://instead.syscall.ru/;
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index b6d14085351..38eff4f2fce 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, SDL_image, libGLU_combined} :
+{stdenv, fetchurl, SDL, SDL_image, libGLU, libGL} :
 
 stdenv.mkDerivation {
   name = "kobodeluxe-0.5.1";
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c";
   };
 
-  buildInputs = [ SDL SDL_image libGLU_combined ];
+  buildInputs = [ SDL SDL_image libGLU libGL ];
 
   prePatch = ''
     sed -e 's/char \*tok/const char \*tok/' -i graphics/window.cpp
diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix
index 505d98c92db..dc6ebd396ed 100644
--- a/pkgs/games/lgogdownloader/default.nix
+++ b/pkgs/games/lgogdownloader/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, curl, boost, liboauth, jsoncpp
-, htmlcxx, rhash, tinyxml-2, help2man }:
+, htmlcxx, rhash, tinyxml-2, help2man, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "lgogdownloader";
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ curl boost liboauth jsoncpp htmlcxx rhash tinyxml-2 ];
 
+  patches = [
+    # Fix find_path for newer jsoncpp. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/Sude-/lgogdownloader/commit/ff353126ecda61824cf866d3807c9ebada96282e.patch";
+      sha256 = "1xr1lwxlrncrj662s9l1is1x1mhs1jbwlj8qafixz5hw2kx22w19";
+    })
+  ];
+
   meta = {
     homepage = https://github.com/Sude-/lgogdownloader;
     description = "Unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOGDownloader";
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index 3ec508040e7..67f15be1ed3 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, jam, pkgconfig
-, zlib, libxml2, libxslt, xorgproto, libX11, libGLU_combined, SDL
+, zlib, libxml2, libxslt, xorgproto, libX11, libGLU, libGL, SDL
 , SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs
 }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    zlib libxml2 libxslt xorgproto libX11 libGLU_combined SDL SDL_mixer SDL_image
+    zlib libxml2 libxslt xorgproto libX11 libGLU libGL SDL SDL_mixer SDL_image
     SDL_ttf SDL_gfx physfs
   ];
 
diff --git a/pkgs/games/mars/default.nix b/pkgs/games/mars/default.nix
index 668605a9ae1..ed926461db2 100644
--- a/pkgs/games/mars/default.nix
+++ b/pkgs/games/mars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, libGLU_combined, sfml, fribidi, taglib }:
+{ stdenv, fetchgit, cmake, libGLU, libGL, sfml, fribidi, taglib }:
 stdenv.mkDerivation rec {
   name = "mars-${version}-${rev}";
   version = "0.7.5";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh";
   };
-  buildInputs = [ cmake libGLU_combined sfml fribidi taglib ];
+  buildInputs = [ cmake libGLU libGL sfml fribidi taglib ];
   patches = [
     ./unbind_fix.patch
     ./fix-gluortho2d.patch
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 0de2268c1af..f71a0e4fd20 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -84,11 +84,11 @@ in
  stdenv.mkDerivation rec {
   pname = "minecraft-launcher";
 
-  version = "2.1.7658";
+  version = "2.1.9618";
 
   src = fetchurl {
     url = "https://launcher.mojang.com/download/linux/x86_64/minecraft-launcher_${version}.tar.gz";
-    sha256 = "10sng7l0q9r98zwifjmy50nyh65ny4djmacz8158hffcsfcx93px";
+    sha256 = "1wk7414i9n6yvhhc0g3cpqjs4ryklmdp2pxgvfdg9zibjdx0avvy";
   };
 
   icon = fetchurl {
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index 0f457cc688b..4654456bd6c 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, sqlite, luajit
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
 , freetype, gettext, doxygen, ncurses, graphviz, xorg
 , leveldb, postgresql, hiredis
 }:
@@ -47,7 +47,7 @@ let
     buildInputs = [
       irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
     ] ++ optionals buildClient [
-      libpng libjpeg libGLU_combined openal libogg libvorbis xorg.libX11 libXxf86vm
+      libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
     ] ++ optional buildServer [
       leveldb postgresql hiredis
     ];
diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix
index 99c369fdce8..5c65203c93a 100644
--- a/pkgs/games/mnemosyne/default.nix
+++ b/pkgs/games/mnemosyne/default.nix
@@ -1,39 +1,50 @@
 { fetchurl
 , python
+, anki
 }:
 
 python.pkgs.buildPythonApplication rec {
   pname = "mnemosyne";
-  version = "2.6.1";
+  version = "2.7";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${version}/Mnemosyne-${version}.tar.gz";
-    sha256 = "0xcwikq51abrlqfn5bv7kcw1ccd3ip0w6cjd5vnnzwnaqwdj8cb3";
+    sha256 = "0lx70vl3pa3c42lr59s459b2bqi7fm0c80lsm06l34ggfwdadq24";
   };
 
+  nativeBuildInputs = with python.pkgs; [ wrapPython pyqtwebengine.wrapQtAppsHook ];
+
+  buildInputs = [ anki ];
+
   propagatedBuildInputs = with python.pkgs; [
+    pyqtwebengine
     pyqt5
     matplotlib
     cherrypy
     cheroot
     webob
-    pillow
   ];
 
-  # No tests/ directrory in tarball
-  doCheck = false;
-
   prePatch = ''
     substituteInPlace setup.py --replace /usr $out
     find . -type f -exec grep -H sys.exec_prefix {} ';' | cut -d: -f1 | xargs sed -i s,sys.exec_prefix,\"$out\",
   '';
 
+  # No tests/ directrory in tarball
+  doCheck = false;
+
   postInstall = ''
     mkdir -p $out/share
     mv $out/${python.sitePackages}/$out/share/locale $out/share
     rm -r $out/${python.sitePackages}/nix
   '';
 
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   meta = {
     homepage = https://mnemosyne-proj.org/;
     description = "Spaced-repetition software";
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index d2646bf8d67..a402587ed8b 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, pcre, pugixml, qtbase, qtmultimedia, qttools, yajl, libzip, hunspell
+{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, git, pcre, pugixml, qtbase, libsForQt5, qtmultimedia, qttools, yajl, libzip, hunspell
 , boost, libGLU, lua, cmake,  which, }:
 
 let
@@ -6,19 +6,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mudlet";
-  version = "4.1.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "Mudlet";
     repo = "Mudlet";
     rev = "Mudlet-${version}";
     fetchSubmodules = true;
-    sha256 = "1d6r51cj8a71hmhzsayd2far4hliwz5pnrsaj3dn39m7c0iikgdn";
+    sha256 = "0qqdmivfwf9jmv5yx90z1fj99nlhnq762lfw6bcxgv74y4l4b4c0";
   };
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook qttools which ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook git qttools which ];
   buildInputs = [
-    pcre pugixml qtbase qtmultimedia luaEnv libzip libGLU yajl boost hunspell
+    pcre pugixml qtbase libsForQt5.qtkeychain qtmultimedia luaEnv libzip libGLU yajl boost hunspell
   ];
 
   WITH_FONTS = "NO";
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     makeQtWrapper $out/mudlet $out/bin/mudlet \
       --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
       --prefix LUA_PATH : "$NIX_LUA_PATH" \
+      --prefix LD_LIBRARY_PATH : "${libsForQt5.qtkeychain}/lib/" \
       --run "cd $out";
   '';
 
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index d8a4e32faaa..a1b525ff093 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, SDL, openal, SDL_mixer, libxml2, pkgconfig, libvorbis
-, libpng, libGLU_combined, makeWrapper, zlib, freetype }:
+, libpng, libGLU, libGL, makeWrapper, zlib, freetype }:
 
 let
   pname = "naev";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     sha256 = "0gahi91lmpra0wvxsz49zwwb28q9w2v1s3y7r70252hq6v80kanb";
   };
 
-  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU_combined zlib freetype ];
+  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU libGL zlib freetype ];
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
diff --git a/pkgs/games/newtonwars/default.nix b/pkgs/games/newtonwars/default.nix
index a0ae03cefb7..093f071c723 100644
--- a/pkgs/games/newtonwars/default.nix
+++ b/pkgs/games/newtonwars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU_combined }:
+{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "newtonwars";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0g63fwfcdxxlnqlagj1fb8ngm385gmv8f7p8b4r1z5cny2znxdvs";
   };
 
-  buildInputs = [ makeWrapper freeglut libGLU_combined ];
+  buildInputs = [ makeWrapper freeglut libGL libGLU ];
 
   patchPhase = ''
     sed -i "s;font24.raw;$out/share/font24.raw;g" display.c
@@ -26,7 +26,8 @@ stdenv.mkDerivation {
 
     wrapProgram $out/bin/nw \
       --prefix LD_LIBRARY_PATH ":" ${freeglut}/lib \
-      --prefix LD_LIBRARY_PATH ":" ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH ":" ${libGLU}/lib \
+      --prefix LD_LIBRARY_PATH ":" ${libGL}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
index 72235d9131b..9f8d228e716 100644
--- a/pkgs/games/nexuiz/default.nix
+++ b/pkgs/games/nexuiz/default.nix
@@ -3,7 +3,7 @@
   unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
 , libogg, libmodplug
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
 , # sdl
   SDL
 }:
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
     # required for both
     unzip
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm libXxf86dga alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm libXxf86dga alsaLib
     # sdl
     SDL
   ];
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index d546ff8481e..1dbb14c9497 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -5,27 +5,27 @@
 
 let
   name = "openrct2-${version}";
-  version = "0.2.3";
+  version = "0.2.4";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${version}";
-    sha256 = "01mj6jlbl2cn3wpk6sy34ldzdl0qykpn7fncznjykklj2nqzr4ig";
+    sha256 = "1rlw3w20llg36sj3bk50g661qw766ng8ma3p42sdkj8br9dw800h";
   };
 
   objects-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "objects";
-    rev = "v1.0.11";
-    sha256 = "1bh7mngpqnhzwnhhawq5y3a6hbvwxis2yagk4dcmc4w1fifq2y66";
+    rev = "v1.0.12";
+    sha256 = "0vfhyldc8nfvkg4d9kry669haxz2165walbxzgza7pqpnd7aqgrf";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
-    rev = "v0.1.2";
-    sha256 = "1yb1ynkfmiankii3fngr9km5wbc07rp30nh0apkj6wryrhy7imgm";
+    rev = "v0.1.2c";
+    sha256 = "1qdrm4q75bznmgdrpjdaiqvbf3q4vwbkkmls45izxvyg1djrpsdf";
   };
 in
 stdenv.mkDerivation {
@@ -33,9 +33,13 @@ stdenv.mkDerivation {
 
   src = openrct2-src;
 
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+  ];
+
   buildInputs = [
     SDL2
-    cmake
     curl
     fontconfig
     freetype
@@ -47,7 +51,6 @@ stdenv.mkDerivation {
     libzip
     libGLU
     openssl
-    pkgconfig
     speexdsp
     zlib
   ];
diff --git a/pkgs/games/openrw/default.nix b/pkgs/games/openrw/default.nix
index 368fba1499f..04d8afd2786 100644
--- a/pkgs/games/openrw/default.nix
+++ b/pkgs/games/openrw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, sfml, libGLU_combined, bullet, glm, libmad, xlibsWrapper, openal
+{ stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
 , SDL2, boost, ffmpeg, Cocoa, OpenAL }:
 
 stdenv.mkDerivation {
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    sfml libGLU_combined bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
+    sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
   ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenAL Cocoa ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 2958a162bbc..a77b8f2ba4c 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib, openssl, libyamlcpp, boost
+{stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
 let version = "1.0.0.2019.10.18"; in
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU_combined openssl zlib ];
+  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU libGL openssl zlib ];
 
   meta = {
     description = "Open source clone of UFO: Enemy Unknown";
diff --git a/pkgs/games/openxray/default.nix b/pkgs/games/openxray/default.nix
index 9960d94a247..c115833d848 100644
--- a/pkgs/games/openxray/default.nix
+++ b/pkgs/games/openxray/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchFromGitHub, cmake, glew, freeimage,  liblockfile
-, openal, cryptopp, libtheora, SDL2, lzo, libjpeg, libogg, tbb
+, openal, libtheora, SDL2, lzo, libjpeg, libogg, tbb
 , pcre, makeWrapper }:
 
-stdenv.mkDerivation rec {
-  pname = "OpenXRay";
+let
   version = "558";
 
   src = fetchFromGitHub {
@@ -14,6 +13,31 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  # https://github.com/OpenXRay/xray-16/issues/518
+  cryptopp = stdenv.mkDerivation {
+    pname = "cryptopp";
+    version = "5.6.5";
+
+    inherit src;
+
+    postUnpack = "sourceRoot+=/Externals/cryptopp";
+
+    makeFlags = [ "PREFIX=${placeholder "out"}" ];
+    enableParallelBuilding = true;
+
+    doCheck = true;
+
+    meta = with stdenv.lib; {
+      description = "Crypto++, a free C++ class library of cryptographic schemes";
+      homepage = "https://cryptopp.com/";
+      license = with licenses; [ boost publicDomain ];
+      platforms = platforms.all;
+    };
+  };
+in stdenv.mkDerivation rec {
+  pname = "OpenXRay";
+  inherit version src;
+
   hardeningDisable = [ "format" ];
   cmakeFlags = [ "-DCMAKE_INCLUDE_PATH=${cryptopp}/include/cryptopp" ];
   installFlags = [ "DESTDIR=${placeholder "out"}" ];
@@ -47,6 +71,6 @@ stdenv.mkDerivation rec {
       url = https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt;
     };
     maintainers = [ maintainers.gnidorah ];
-    platforms = ["x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix
index dc47e5aa58e..640a4d761f4 100644
--- a/pkgs/games/pingus/default.nix
+++ b/pkgs/games/pingus/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, fetchpatch, scons, SDL, SDL_image, boost, libpng, SDL_mixer
-, pkgconfig, libGLU_combined}:
+, pkgconfig, libGLU, libGL}:
 let
   s = # Generated upstream information
   {
@@ -14,7 +14,7 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU_combined];
+  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU libGL];
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix
index 02c91b1523d..cb9fe730f19 100644
--- a/pkgs/games/pioneer/default.nix
+++ b/pkgs/games/pioneer/default.nix
@@ -1,24 +1,24 @@
 { fetchFromGitHub, stdenv, cmake, pkgconfig, curl, libsigcxx, SDL2
-, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU_combined
+, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU, libGL
 , glew
 }:
 
 stdenv.mkDerivation rec {
   pname = "pioneer";
-  version = "20191009";
+  version = "20191117";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "1ll6pv1931z29kz1zvhnc6mgvjxz30q25lvb00qrsvh236nvll7n";
+    sha256 = "0ka5w1sfp56bs3njiwyr6ffy34qvqbzcvmra9cqwyvi7famn8b49";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     curl libsigcxx SDL2 SDL2_image freetype libvorbis libpng
-    assimp libGLU_combined glew
+    assimp libGLU libGL glew
   ];
 
   preConfigure = ''
diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix
index 520f6503edf..ea6f8b01c71 100644
--- a/pkgs/games/prboom/default.nix
+++ b/pkgs/games/prboom/default.nix
@@ -1,8 +1,11 @@
 { stdenv, fetchurl, SDL, SDL_mixer, SDL_net
-, libGLU_combined ? assert false; null
+, libGLU ? null
+, libGL ? null
 , useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
+assert useOpenGL -> libGL != null && libGLU != null;
+
 stdenv.mkDerivation rec {
   name = "prboom-2.5.0";
   src = fetchurl {
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ SDL SDL_mixer SDL_net ]
-    ++ stdenv.lib.optional useOpenGL libGLU_combined;
+    ++ stdenv.lib.optionals useOpenGL [ libGL libGLU ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
diff --git a/pkgs/games/privateer/default.nix b/pkgs/games/privateer/default.nix
index d4945d43c7d..607458f3798 100644
--- a/pkgs/games/privateer/default.nix
+++ b/pkgs/games/privateer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib,
   gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp,
-  libXmu, libGLU_combined, openal, pixman, pkgconfig, python27, SDL }:
+  libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }:
 
 stdenv.mkDerivation {
   name = "privateer-1.03";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs =
     [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng
-      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU_combined openal
+      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal
       pixman pkgconfig python27 SDL ];
 
   patches = [ ./0001-fix-VSFile-constructor.patch ];
diff --git a/pkgs/games/pysolfc/default.nix b/pkgs/games/pysolfc/default.nix
index 85424ebea9b..48c06c0eab6 100644
--- a/pkgs/games/pysolfc/default.nix
+++ b/pkgs/games/pysolfc/default.nix
@@ -1,39 +1,48 @@
-{ fetchurl, python2, stdenv }:
-
-with python2.pkgs;
+{ stdenv, fetchzip, buildPythonApplication, python3Packages
+  , desktop-file-utils, freecell-solver }:
 
 buildPythonApplication rec {
   pname = "PySolFC";
-  version = "2.0";
+  version = "2.6.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2";
-    sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv";
+  src = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC/PySolFC-${version}/PySolFC-${version}.tar.xz";
+    sha256 = "1bd84law5b1yga3pryggdvlfvm0l62gci2q8y3q79cysdk3z4w3z";
   };
 
-  patches = [
-    ./pysolfc-datadir.patch
+  cardsets = fetchzip {
+    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC-Cardsets/PySolFC-Cardsets-2.0/PySolFC-Cardsets-2.0.tar.bz2";
+    sha256 = "0h0fibjv47j8lkc1bwnlbbvrx2nr3l2hzv717kcgagwhc7v2mrqh";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    tkinter six random2
+    # optional :
+    pygame freecell-solver pillow
   ];
 
-  propagatedBuildInputs = [
-    tkinter
+  patches = [
+    ./pysolfc-datadir.patch
   ];
 
-  # No tests in archive
-  doCheck = false;
+  nativeBuildInputs = [ desktop-file-utils ];
+  postPatch = ''
+    desktop-file-edit --set-key Icon --set-value ${placeholder "out"}/share/icons/pysol01.png data/pysol.desktop
+    desktop-file-edit --set-key Comment --set-value "${meta.description}" data/pysol.desktop
+  '';
 
   postInstall = ''
-    # executables should not have an extension
-    pushd $out/bin
-    mv pysol.py pysol
-    rm pysol.pyc
-    popd
+    mkdir $out/share/PySolFC/cardsets
+    cp -r $cardsets/* $out/share/PySolFC/cardsets
   '';
 
+  # No tests in archive
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "A collection of more than 1000 solitaire card games";
-    homepage = http://pysolfc.sourceforge.net/;
+    homepage = https://pysolfc.sourceforge.io;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ kierdavis ];
+    maintainers = with maintainers; [ kierdavis genesis ];
   };
 }
diff --git a/pkgs/games/qtads/default.nix b/pkgs/games/qtads/default.nix
new file mode 100644
index 00000000000..dda7799aacb
--- /dev/null
+++ b/pkgs/games/qtads/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, qmake
+, SDL2, fluidsynth, libsndfile, libvorbis, mpg123, qtbase
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qtads";
+  version = "2.1.99.2019-04-12";
+
+  src = fetchFromGitHub {
+    owner = "realnc";
+    repo = pname;
+    rev = "43289a830a18c66a293c2b1ee75a08e92e8dd5dc";
+    sha256 = "0zscf6nmjjc4i7c38iy8znv2s453xc49gn7knyi3g1l6iinjwbx7";
+  };
+
+  nativeBuildInputs = [ pkgconfig qmake ];
+
+  buildInputs = [ SDL2 fluidsynth libsndfile libvorbis mpg123 qtbase ];
+
+  meta = with lib; {
+    homepage = https://realnc.github.io/qtads/;
+    description = "Multimedia interpreter for TADS games";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/games/quake3/quake3e/default.nix b/pkgs/games/quake3/quake3e/default.nix
index 2c9367bfe76..1e179f2f956 100644
--- a/pkgs/games/quake3/quake3e/default.nix
+++ b/pkgs/games/quake3/quake3e/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "Quake3e";
-  version = "2019-09-09";
+  version = "2019-11-29";
 
   src = fetchFromGitHub {
     owner = "ec-";
     repo = pname;
     rev = version;
-    sha256 = "0i9flw8h87lagdpbci6vgqkriv05p3bidgqb4pwrxls947zwfcw8";
+    sha256 = "1gpfl72rzwiawhcj3ir38sqdb95y7w7lm7wgj44lbn99z7bvkcn3";
   };
 
   buildInputs = [ curl libGL libX11 libXxf86dga alsaLib libXrandr libXxf86vm libXext ];
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index e8678253b40..e30065666b0 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.02.1";
+  version = "1.03.0";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "0fk9jqql0crnf0s12cxnris392ajciyw1zbz17qgs5hdyivp9vdx";
+    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix
index 79d657e668d..9b0cfaa3b50 100644
--- a/pkgs/games/residualvm/default.nix
+++ b/pkgs/games/residualvm/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, openglSupport ? libGLSupported, libGLU_combined ? null
+, openglSupport ? libGLSupported, libGLU, libGL ? null
 }:
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
 
 with stdenv.lib;
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ]
-    ++ optional openglSupport libGLU_combined;
+    ++ optionals openglSupport [ libGL libGLU ];
 
   configureFlags = [ "--enable-all-engines" ];
 
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 09550339f83..00faee7b928 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU_combined, boost,
+{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU, libGL, boost,
   pkgconfig, libuuid, openal, ogre, ois, curl, gtk2, mygui, unzip,
   angelscript, ogrepaged, mysocketw, libxcb
   }:
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU_combined boost
+  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU libGL boost
     libuuid openal ogre ois curl gtk2 mygui unzip angelscript
     ogrepaged mysocketw libxcb ];
 
diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix
index 1527f61c4d0..a2859c11712 100644
--- a/pkgs/games/scorched3d/default.nix
+++ b/pkgs/games/scorched3d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
+{ stdenv, fetchurl, libGLU, libGL, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
 , freetype, libvorbis, fftwSinglePrec, SDL, SDL_net, expat, libjpeg, libpng }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ libGLU_combined glew openalSoft freealut wxGTK libogg freetype libvorbis
+    [ libGLU libGL glew openalSoft freealut wxGTK libogg freetype libvorbis
       SDL SDL_net expat libjpeg libpng fftwSinglePrec
     ];
 
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 8c4ce46f6f5..8ef6e0c8be5 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, nasm
-, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU_combined, SDL2, zlib
+, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU, libGL, SDL2, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ nasm ];
 
   buildInputs = [
-    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU_combined SDL2 zlib
+    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU libGL SDL2 zlib
   ];
 
   dontDisableStatic = true;
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 428be470b3e..8349be64264 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sgt-puzzles-r${version}";
-  version = "20190415.e2135d5";
+  version = "20191114.1c0c49d";
 
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "02p9kpvmqa0cm9y0lzdy7g8h4b4mqma8d9jfvgi2yysbgjfzq2ak";
+   sha256 = "01fi2f3w71bfbgcfr6gxdp5a9cxh4dshbflv83q2j5rxxs2ll870";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ];
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
-    homepage = http://www.chiark.greenend.org.uk/~sgtatham/puzzles/;
+    homepage = https://www.chiark.greenend.org.uk/~sgtatham/puzzles/;
   };
 }
diff --git a/pkgs/games/shattered-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/default.nix
index 1bf4bde9ef2..f96f61764b5 100644
--- a/pkgs/games/shattered-pixel-dungeon/default.nix
+++ b/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -11,13 +11,13 @@
 
 let
   pname = "shattered-pixel-dungeon";
-  version = "0.7.5e";
+  version = "0.7.5f";
 
   src = fetchFromGitHub {
     owner = "00-Evan";
     repo = "shattered-pixel-dungeon-gdx";
     rev = "v${version}";
-    sha256 = "1wy5qlfsq7dqvn4g0glm1v60xildv44ww3p396wmgi390c9zg18d";
+    sha256 = "05awbbc7np9li50shdbpv9dgdgry6lra8d5gibwn578m2g9srbxx";
   };
 
   postPatch = ''
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 2ffd3f3d053..7179c4f48b5 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake
-, boost, eigen2, lua, luabind, libGLU_combined, SDL }:
+, boost, eigen2, lua, luabind, libGLU, libGL, SDL }:
 
 stdenv.mkDerivation rec {
   pname = "soi";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost lua luabind libGLU_combined SDL ];
+  buildInputs = [ boost lua luabind libGLU libGL SDL ];
 
   cmakeFlags = [
     "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2"
diff --git a/pkgs/games/space-orbit/default.nix b/pkgs/games/space-orbit/default.nix
index 2b69dfccad1..e9fe6257fb6 100644
--- a/pkgs/games/space-orbit/default.nix
+++ b/pkgs/games/space-orbit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, libXi, libXt, libXext, libX11, libXmu, freeglut
+, libGLU, libGL, libXi, libXt, libXext, libX11, libXmu, freeglut
 }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "1.01";
   patchversion = "9";
 
-  buildInputs = [ libGLU_combined libXi libXt libXext libX11 libXmu freeglut ];
+  buildInputs = [ libGLU libGL libXi libXt libXext libX11 libXmu freeglut ];
 
   src = fetchurl {
     url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}.orig.tar.gz";
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index 17cb57d3fdb..473409ffae9 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libGLU_combined, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
+{ fetchurl, stdenv, libGLU, libGL, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
 libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat,
 libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkgconfig, libvorbis, runtimeShell, curl }:
 
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ libpng libGLU_combined freeglut libX11 plib openal freealut libXrandr xorgproto
+  buildInputs = [ libpng libGLU libGL freeglut libX11 plib openal freealut libXrandr xorgproto
     libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat
     SDL2 enet libjpeg openscenegraph libvorbis curl ];
 
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index e98148cbc83..8f43a6d84b1 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
-, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU_combined
+, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU, libGL
 , asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper
 , jdk ? null, python ? null, systemd, libunwind, which, minizip
 , withAI ? true # support for AI Interfaces and Skirmish AIs
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL2
-    xorg.libX11 xorg.libXcursor libGLU_combined glew asciidoc libxslt docbook_xsl curl makeWrapper
+    xorg.libX11 xorg.libXcursor libGLU libGL glew asciidoc libxslt docbook_xsl curl makeWrapper
     docbook_xsl_ns systemd libunwind which minizip ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
diff --git a/pkgs/games/stardust/default.nix b/pkgs/games/stardust/default.nix
index 9de9bd37e8d..1e2089b9c50 100644
--- a/pkgs/games/stardust/default.nix
+++ b/pkgs/games/stardust/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib, libtiff, libxml2, SDL, xorgproto, libX11
-, libXi, libXmu, libXext, libGLU_combined }:
+, libXi, libXmu, libXext, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "stardust";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     zlib libtiff libxml2 SDL xorgproto libX11 libXi
-    libXmu libXext libGLU_combined
+    libXmu libXext libGLU libGL
   ];
 
   installFlags = [ "bindir=\${out}/bin" ];
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index b2bca7ca7b9..426be1f214a 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -75,6 +75,7 @@ in buildFHSUserEnv rec {
     xorg.libX11
     xorg.libXfixes
     libGL
+    pkgsi686Linux.libva
 
     # Not formally in runtime but needed by some games
     at-spi2-atk
@@ -85,14 +86,14 @@ in buildFHSUserEnv rec {
     xorg.xkeyboardconfig
     xorg.libpciaccess
     ## screeps dependencies
-    gnome3.gtk
+    gtk3
     dbus
     zlib
     glib
     atk
     cairo
     freetype
-    gdk_pixbuf
+    gdk-pixbuf
     pango
     fontconfig
   ] ++ (if (!nativeOnly) then [
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 0bdd1f9f62d..2db49165c5f 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig
-, openal, freealut, libGLU_combined, libvorbis, libogg, gettext, curl, freetype
+, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype
 , fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     libX11 libXrandr
-    openal freealut libGLU_combined libvorbis libogg zlib freetype
+    openal freealut libGLU libGL libvorbis libogg zlib freetype
     curl fribidi bluez libjpeg libpng enet
   ];
 
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = https://supertuxkart.net/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ pyrolagus fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ pyrolagus peterhoeg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix
index 6cfabc4ee6a..3b33296892f 100644
--- a/pkgs/games/supertux/default.nix
+++ b/pkgs/games/supertux/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image , curl
-, libogg, libvorbis, libGLU_combined, openal, boost, glew
+, libogg, libvorbis, libGLU, libGL, openal, boost, glew
 , libpng, freetype
 }:
 
 stdenv.mkDerivation rec {
   pname = "supertux";
-  version = "0.6.0";
+  version = "0.6.1.1";
 
   src = fetchurl {
     url = "https://github.com/SuperTux/supertux/releases/download/v${version}/SuperTux-v${version}-Source.tar.gz";
-    sha256 = "1h1s4abirkdv4ag22zvyk6zkk64skqbjmcnnba67ps4hdzxfbhy4";
+    sha256 = "0n36qxwjlkdlksximz4s729az6pry2sdjavwgm7m65vfgdiz139f";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU_combined openal boost glew
+  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU libGL openal boost glew
     libpng freetype
   ];
 
diff --git a/pkgs/games/tdm/default.nix b/pkgs/games/tdm/default.nix
index f0a89adab57..fef3350a061 100644
--- a/pkgs/games/tdm/default.nix
+++ b/pkgs/games/tdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, binutils-unwrapped, scons, gnum4, p7zip, glibc_multi, mesa
-, xorg, libGLU_combined, openal
+, xorg, libGLU, libGL, openal
 , lib, makeWrapper, makeDesktopItem }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   buildInputs = [
     glibc_multi mesa.dev xorg.libX11.dev openal
     xorg.libXext.dev xorg.libXxf86vm.dev
-    libGLU_combined
+    libGL libGLU
   ];
   unpackPhase = ''
     7z x $src
@@ -86,7 +86,7 @@ EOF
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGLU_combined ]}
+    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 02c55d7d06c..1482b58a7b0 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU_combined }:
+{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     cp -r * $out/res
 
     patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \
-             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU_combined ]} \
+             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU libGL ]} \
              "$out/res/Tibia"
 
     # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
@@ -52,6 +52,6 @@ stdenv.mkDerivation {
     homepage = http://tibia.com;
     license = stdenv.lib.licenses.unfree;
     platforms = ["i686-linux"];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
index 2e1837bdef6..9b58725a392 100644
--- a/pkgs/games/tintin/default.nix
+++ b/pkgs/games/tintin/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl, zlib, pcre }:
+{ stdenv, fetchurl, lib, zlib, pcre
+, tlsSupport ? true, gnutls ? null
+# ^ set { tlsSupport = false; } to reduce closure size by ~= 18.6 MB
+}:
+
+assert tlsSupport -> gnutls != null;
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.01.91";
+  name = "tintin-2.01.92";
 
   src = fetchurl {
     url    = "mirror://sourceforge/tintin/${name}.tar.gz";
-    sha256 = "0nb3przw84r5zaibhpcb8gxm5vllrchca663c3f650fm83asd5im";
+    sha256 = "0id8rd2yhh6ccjnlwyixflsay1rq3sw6pwlhz1ic3nzj22cd91ik";
   };
 
-  buildInputs = [ zlib pcre ];
+  nativeBuildInputs = lib.optional tlsSupport gnutls.dev;
+  buildInputs = [ zlib pcre ] ++ lib.optional tlsSupport gnutls;
 
   preConfigure = ''
     cd src
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index c4d5dcb41e7..2d9ef45a9e0 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -18,11 +18,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.5.10";
+  version = "1.6.5";
 
   src = fetchurl {
     url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
-    sha256 = "0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7";
+    sha256 = "0ifi057idid8xq7af8ybs99b6939hyfif1ml1ihjpx02vinmd419";
   };
 
   prePatch = ''
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index b5ff38b93a1..b778579c9d7 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU_combined }:
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU, libGL }:
 
 with stdenv.lib;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yjzz50r57aahy7wcbsmhrd40abzyriq40j49225ya7m9g28vmgl";
   };
 
-  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU_combined ];
+  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU libGL ];
 
   meta = {
     homepage = https://trackballs.github.io/;
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index 802bdb08a87..fc9bc985c00 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libGLU_combined, libX11, SDL, openal, runtimeShell }:
+{ stdenv, fetchurl, unzip, libGLU, libGL, libX11, SDL, openal, runtimeShell }:
 stdenv.mkDerivation rec {
   pname = "tremulous";
   version = "1.1.0";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     url = "http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz";
     sha256 = "1njrqlhzjvy9myddzkagszwdcf3m4h08wip888w2rmbshs6kz6ql";
   };
-  buildInputs = [ unzip libGLU_combined libX11 SDL openal ];
+  buildInputs = [ unzip libGLU libGL libX11 SDL openal ];
   unpackPhase = ''
     unzip $src1
     cd tremulous
diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index 0050ef19cea..34ae0762bea 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, runtimeShell
-, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU_combined, glew }:
+, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU, libGL, glew }:
 
 stdenv.mkDerivation rec {
   name = "trigger-rally-0.6.6";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "08qa2f2s8zyn42ff6jb1gsi64d916020ixkzvl16kbb88rabqra8";
   };
 
-  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU_combined glew ];
+  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU libGL glew ];
 
   preConfigure = ''
     sed s,/usr/local,$out, -i bin/*defs
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index f699a6a05c6..beff8ada96b 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libtheora, xvidcore, libGLU_combined, SDL, SDL_ttf, SDL_mixer
+{ stdenv, fetchurl, libtheora, xvidcore, libGLU, libGL, SDL, SDL_ttf, SDL_mixer
 , curl, libjpeg, libpng, gettext, cunit, enableEditor?false }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableEditor "--enable-uforadiant";
 
   buildInputs = [
-    libtheora xvidcore libGLU_combined SDL SDL_ttf SDL_mixer
+    libtheora xvidcore libGLU libGL SDL SDL_ttf SDL_mixer
     curl libjpeg libpng gettext cunit
   ];
 
diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix
index a7ad366aa19..df80b3a555f 100644
--- a/pkgs/games/ultimatestunts/default.nix
+++ b/pkgs/games/ultimatestunts/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, SDL_image, freealut, openal, libvorbis,
+{stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis,
 pkgconfig}:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libGLU_combined SDL_image freealut openal libvorbis ];
+  buildInputs = [ SDL libGLU libGL SDL_image freealut openal libvorbis ];
 
   postPatch = ''
     sed -e '1i#include <unistd.h>' -i $(find . -name '*.c' -o -name '*.cpp')
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 8dd8222e55e..1c40d8f5800 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -1,13 +1,13 @@
 { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
 , lua, fpc, pcre, portaudio, freetype, libpng
 , SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf
-, ffmpeg, sqlite, zlib, libX11, libGLU_combined }:
+, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }:
 
 let
   sharedLibs = [
     pcre portaudio freetype
     SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf
-    sqlite lua zlib libX11 libGLU_combined ffmpeg
+    sqlite lua zlib libX11 libGLU libGL ffmpeg
   ];
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 638900c9e89..3944050e983 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, libGLU_combined
+{ stdenv, lib, fetchurl, pkgconfig, libGLU, libGL
 , SDL, SDL_image, libpng, libvorbis, libogg, libmikmod
 
 , use3DOVideos ? false, requireFile ? null, writeText ? null
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU_combined ];
+  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ];
 
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 999799de58d..98ef32b0472 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, SDL, libGLU_combined, openal, curl, libXxf86vm }:
+{ stdenv, fetchurl, unzip, SDL, libGLU, libGL, openal, curl, libXxf86vm }:
 
 stdenv.mkDerivation rec {
   pname = "urbanterror";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
        })
     ];
 
-  buildInputs = [ unzip SDL libGLU_combined openal curl libXxf86vm ];
+  buildInputs = [ unzip SDL libGL libGLU openal curl libXxf86vm ];
   sourceRoot = "ioq3-for-UrbanTerror-4-release-${version}";
 
   configurePhase = ''
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     p=$out/opt/urbanterror/Quake3-UrT
     cur_rpath=$(patchelf --print-rpath $p)
-    patchelf --set-rpath $cur_rpath:${libGLU_combined}/lib $p
+    patchelf --set-rpath $cur_rpath:${libGL}/lib:${libGLU}/lib $p
   '';
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index e018dfd664d..3002216b9d4 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU_combined, SDL2, SDL2_image
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU, libGL, SDL2, SDL2_image
 , libvorbis, bullet, curl, gettext, writeTextFile
 
 , data ? fetchsvn {
@@ -21,7 +21,7 @@ let
     };
 
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ scons libGLU_combined SDL2 SDL2_image libvorbis bullet curl gettext ];
+    buildInputs = [ scons libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ];
 
     patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
 
diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix
index 9ea9ec7bd12..d8c16c9b7ce 100644
--- a/pkgs/games/voxelands/default.nix
+++ b/pkgs/games/voxelands/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, irrlicht, libpng, bzip2, sqlite
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, xlibsWrapper, pkgconfig }:
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, xlibsWrapper, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "voxelands";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cmake irrlicht libpng bzip2 libjpeg sqlite
-    libXxf86vm libGLU_combined openal libvorbis xlibsWrapper pkgconfig
+    libXxf86vm libGLU libGL openal libvorbis xlibsWrapper pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 7d8380e9f7c..0889e52d8f8 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, requireFile
-, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU_combined
+, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU, libGL
 , runtimeShell
 , demo ? false }:
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ]
-    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU_combined ]
+    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU libGL ]
     + ":" + stdenv.cc.cc + "/lib64";
 
   installPhase = ''
diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix
index d9bba3fdbdc..34c9bf1f06d 100644
--- a/pkgs/games/xmoto/default.nix
+++ b/pkgs/games/xmoto/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, chipmunk, sqlite, curl, zlib, bzip2, libjpeg
-, libpng, freeglut, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_net
+, libpng, freeglut, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_net
 , SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     chipmunk sqlite curl zlib bzip2 libjpeg libpng
-    freeglut libGLU_combined SDL SDL_mixer SDL_image SDL_net SDL_ttf
+    freeglut libGLU libGL SDL SDL_mixer SDL_image SDL_net SDL_ttf
     lua5 ode libxdg_basedir libxml2
   ];
 
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index ac7bf7973d7..f4ce3c86a64 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -2,7 +2,7 @@
 , # required for both
   unzip, libjpeg, zlib, libvorbis, curl
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsaLib
 , # sdl
   SDL2
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     # required for both
     unzip libjpeg
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm alsaLib
     # sdl
     SDL2
     zlib libvorbis curl
diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix
index aefc8ad9876..257b0010245 100644
--- a/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/pkgs/games/xpilot/bloodspilot-client.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, SDL, libGLU_combined, expat, zlib, SDL_ttf, SDL_image }:
+{ stdenv, fetchurl, libX11, SDL, libGLU, libGL, expat, zlib, SDL_ttf, SDL_image }:
 
 stdenv.mkDerivation rec {
   version = "1.5.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 SDL SDL_ttf SDL_image libGLU_combined expat zlib
+    libX11 SDL SDL_ttf SDL_image libGLU libGL expat zlib
   ];
 
   NIX_LDFLAGS = [ "-lX11" ];
diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix
index d0fe9f61896..7d83dece333 100644
--- a/pkgs/games/xpilot/default.nix
+++ b/pkgs/games/xpilot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, libSM, SDL, libGLU_combined, expat, SDL_ttf
+{ stdenv, fetchurl, libX11, libSM, SDL, libGLU, libGL, expat, SDL_ttf
 , SDL_image, zlib, libXxf86misc }:
 stdenv.mkDerivation rec {
   pname = "xpilot-ng";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj";
   };
   buildInputs = [
-    libX11 libSM SDL SDL_ttf SDL_image libGLU_combined expat zlib libXxf86misc
+    libX11 libSM SDL SDL_ttf SDL_image libGLU libGL expat zlib libXxf86misc
   ];
   meta = with stdenv.lib; {
     description = "A multiplayer X11 space combat game";
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index ce32e435608..754c4814945 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -9,13 +9,14 @@ let
   sqlite = callPackage ./sqlite.nix { };
   clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
-in stdenv.mkDerivation {
-  name = "zandronum${suffix}-3.0";
+in stdenv.mkDerivation rec {
+  pname = "zandronum${suffix}";
+  version = "3.0.1";
 
   src = fetchhg {
     url = "https://bitbucket.org/Torr_Samaho/zandronum-stable";
-    rev = "dd3c3b57023f";
-    sha256 = "1f8pd8d2zjwdp6v9anp9yrkdbfhd2mp7svmnna0jiqgxjw6wkyls";
+    rev = "ZA_${version}";
+    sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
   };
 
   # zandronum tries to download sqlite now when running cmake, don't let it
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index ffac9a97b28..d18829673cc 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   pname = "cups";
 
   # After 2.2.6, CUPS requires headers only available in macOS 10.12+
-  version = if stdenv.isDarwin then "2.2.6" else "2.2.12";
+  version = if stdenv.isDarwin then "2.2.6" else "2.3.0";
 
   passthru = { inherit version; };
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
     sha256 = if version == "2.2.6"
              then "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20"
-             else "1a4sgx5y7z16flmpnchd2ix294bnzy0v8mdkd96a4j27kr2anq8g";
+             else "19d1jpdpxy0fclq37pchi7ldnw9dssxx3zskcgqai3h0rwlh5bxc";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix
index b6219e1c749..adc4ead94b7 100644
--- a/pkgs/misc/cups/drivers/canon/default.nix
+++ b/pkgs/misc/cups/drivers/canon/default.nix
@@ -1,49 +1,55 @@
-{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux }:
+{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux, zlib }:
 
 let
 
   i686_NIX_GCC = pkgsi686Linux.callPackage ({gcc}: gcc) {};
   i686_libxml2 = pkgsi686Linux.callPackage ({libxml2}: libxml2) {};
 
+  commonVer = "4.10";
+  version = "3.70";
+  dl = "8/0100007658/08";
+
+  versionNoDots = builtins.replaceStrings ["."] [""] version;
   src_canon = fetchurl {
-    url = "https://files.canon-europe.com/files/soft45378/software/o147jen_linuxufrII_0290.zip";
-    sha256 = "1qpdmaaw42gm5fi21rp4lf05skffkq42ka5c8xkw8rckzb13sy9j";
+    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-05.tar.gz";
+    sha256 = "0424lvyrsvsb94qga4p4ldis7f714c5yw5ydv3f84mdl2a7papg0";
   };
 
 in
 
 
 stdenv.mkDerivation {
-  name = "canon-cups-ufr2-2.90";
+  pname = "canon-cups-ufr2";
+  version = version;
   src = src_canon;
 
   phases = [ "unpackPhase" "installPhase" ];
 
   postUnpack = ''
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-2.90-1.tar.gz)
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-2.90-1.tar.gz)
+    (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 ];
 
-  buildInputs = [ cups ];
+  buildInputs = [ cups zlib ];
 
   installPhase = ''
     ##
     ## cndrvcups-common buildPhase
     ##
-    ( cd cndrvcups-common-2.90/buftool
+    ( cd cndrvcups-common-${commonVer}/buftool
       autoreconf -fi
       ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static
       make
     )
 
-    ( cd cndrvcups-common-2.90/backend
+    ( cd cndrvcups-common-${commonVer}/backend
       ./autogen.sh --prefix=$out --libdir=$out/lib
       make
     )
 
-    ( cd cndrvcups-common-2.90/c3plmod_ipc
+    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
       make
     )
 
@@ -51,19 +57,19 @@ stdenv.mkDerivation {
     ## cndrvcups-common installPhase
     ##
 
-    ( cd cndrvcups-common-2.90/buftool
+    ( cd cndrvcups-common-${commonVer}/buftool
       make install
     )
 
-    ( cd cndrvcups-common-2.90/backend
+    ( cd cndrvcups-common-${commonVer}/backend
       make install
     )
 
-    ( cd cndrvcups-common-2.90/c3plmod_ipc
+    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
       make install DESTDIR=$out/lib
     )
 
-    ( cd cndrvcups-common-2.90/libs
+    ( cd cndrvcups-common-${commonVer}/libs
       chmod 755 *
       mkdir -p $out/lib32
       mkdir -p $out/bin
@@ -72,15 +78,22 @@ stdenv.mkDerivation {
       cp libc3pl.so.0.0.1 $out/lib32
       cp libcaepcm.so.1.0 $out/lib32
       cp libColorGear.so.0.0.0 $out/lib32
-      cp libColorGearC.so.0.0.0 $out/lib32
+      cp libColorGearC.so.1.0.0 $out/lib32
       cp libcanon_slim.so.1.0.0 $out/lib32
       cp c3pldrv $out/bin
     )
 
-    (cd cndrvcups-common-2.90/data
+    (cd cndrvcups-common-${commonVer}/Rule
+      mkdir -p $out/share/usb
+      chmod 644 *.usb-quirks $out/share/usb
+    )
+
+    (cd cndrvcups-common-${commonVer}/data
       chmod 644 *.ICC
       mkdir -p $out/share/caepcm
       cp *.ICC $out/share/caepcm
+      cp *.icc $out/share/caepcm
+      cp *.PRF $out/share/caepcm
     )
 
     (cd $out/lib32
@@ -96,8 +109,8 @@ stdenv.mkDerivation {
       ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so
       ln -sf libColorGear.so.0.0.0 libColorGear.so.0
       ln -sf libColorGear.so.0.0.0 libColorGear.so
-      ln -sf libColorGearC.so.0.0.0 libColorGearC.so.0
-      ln -sf libColorGearC.so.0.0.0 libColorGearC.so
+      ln -sf libColorGearC.so.1.0.0 libColorGearC.so.1
+      ln -sf libColorGearC.so.1.0.0 libColorGearC.so
     )
 
     (cd $out/lib
@@ -106,7 +119,7 @@ stdenv.mkDerivation {
     )
 
     patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0
-    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.0.0.0
+    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.1.0.0
 
     patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv
 
@@ -127,18 +140,13 @@ stdenv.mkDerivation {
     ## cndrvcups-lb buildPhase
     ##
 
-    ( cd cndrvcups-lb-2.90/ppd
-      ./autogen.sh --prefix=$out
+    ( cd cndrvcups-lb-${version}/buftool
+      ./autogen.sh --prefix=$out --libdir=$out/lib --enable-progpath=$out/bin --enable-static
       make
     )
 
-    ( cd cndrvcups-lb-2.90/pstoufr2cpca
-      CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin
-      make
-    )
-
-    ( cd cndrvcups-lb-2.90/cpca
-      CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin  --enable-static
+    ( cd cndrvcups-lb-${version}/pstoufr2cpca
+      ./autogen.sh --prefix=$out --libdir=$out/lib
       make
     )
 
@@ -146,19 +154,11 @@ stdenv.mkDerivation {
     ## cndrvcups-lb installPhase
     ##
 
-    ( cd cndrvcups-lb-2.90/ppd
+    ( cd cndrvcups-lb-${version}/pstoufr2cpca
       make install
     )
 
-    ( cd cndrvcups-lb-2.90/pstoufr2cpca
-      make install
-    )
-
-    ( cd cndrvcups-lb-2.90/cpca
-      make install
-    )
-
-    ( cd cndrvcups-lb-2.90/libs
+    ( cd cndrvcups-lb-${version}/libs
       chmod 755 *
       mkdir -p $out/lib32
       mkdir -p $out/bin
@@ -189,7 +189,7 @@ stdenv.mkDerivation {
       ln -sf libcnlbcm.so.1.0 libcnlbcm.so
     )
 
-    ( cd cndrvcups-lb-2.90
+    ( cd cndrvcups-lb-${version}
       chmod 644 data/CnLB*
       chmod 644 libs/cnpkbidi_info*
       chmod 644 libs/ThLB*
@@ -201,6 +201,9 @@ stdenv.mkDerivation {
       cp libs/ThLB* $out/share/ufr2filter
     )
 
+    mkdir -p $out/share/cups/model
+    install -c -m 644 cndrvcups-lb-${version}/ppd/CN*.ppd $out/share/cups/model/
+
     patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0
 
     patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2
@@ -211,9 +214,12 @@ stdenv.mkDerivation {
       --prefix PATH ":" "$out/bin"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "CUPS Linux drivers for Canon printers";
     homepage = http://www.canon.com/;
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfree;
+    maintainers = with maintainers; [
+      kylesferrazza
+    ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/pkgs/misc/cups/drivers/dymo/fix-includes.patch
index fa7df5591dd..55f71369a00 100644
--- a/pkgs/misc/cups/drivers/dymo/fix-includes.patch
+++ b/pkgs/misc/cups/drivers/dymo/fix-includes.patch
@@ -65,3 +65,16 @@ diff -rp dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-driv
   #include <cups/raster.h>
   #include "LabelWriterDriver.h"
   #include "LabelWriterLanguageMonitor.h"
+diff -rp dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp
+*** dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp	2019-12-16 19:37:23.429662838 +0000
+--- dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp	2019-12-16 19:41:48.506991614 +0000
+***************
+*** 23,28 ****
+--- 23,29 ----
+  #include "CupsPrintEnvironment.h"
+  #include <errno.h>
+  #include <cups/cups.h>
++ #include <cups/sidechannel.h>
+  #include <cassert>
+
+  namespace DymoPrinterDriver
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 7e3b4b952f1..76f68e50750 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cups-filters";
-  version = "1.25.11";
+  version = "1.25.12";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
-    sha256 = "0ni8krr4rf5833livn9401cd41gspjvxj0iiqnc1rfg3x90i0fxh";
+    sha256 = "1kv25011iyzvd33n5zmmn1z2p6pzk26hmmw6qvjjnx8p3sp7raqn";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix
index 779325c99b0..3b03c300db3 100644
--- a/pkgs/misc/drivers/hplip/3.16.11.nix
+++ b/pkgs/misc/drivers/hplip/3.16.11.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
-, net_snmp, openssl, nettools
+, cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils
+, net-snmp, openssl, nettools
 , bash, coreutils, utillinux
 , qtSupport ? true
 , withPlugin ? false
@@ -45,7 +45,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -55,7 +55,7 @@ pythonPackages.buildPythonApplication {
     libusb1
     sane-backends
     dbus
-    net_snmp
+    net-snmp
     openssl
   ];
 
@@ -63,7 +63,7 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python2Packages; [
     dbus
     pillow
     pygobject2
diff --git a/pkgs/misc/drivers/hplip/3.18.5.nix b/pkgs/misc/drivers/hplip/3.18.5.nix
index d95eb85168e..ab1794c1251 100644
--- a/pkgs/misc/drivers/hplip/3.18.5.nix
+++ b/pkgs/misc/drivers/hplip/3.18.5.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends
+, cups, zlib, libjpeg, libusb1, python2Packages, sane-backends
 , dbus, file, ghostscript, usbutils
-, net_snmp, openssl, perl, nettools
+, net-snmp, openssl, perl, nettools
 , bash, coreutils, utillinux
 , withQt5 ? true
 , withPlugin ? false
@@ -47,7 +47,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -59,7 +59,7 @@ pythonPackages.buildPythonApplication {
     dbus
     file
     ghostscript
-    net_snmp
+    net-snmp
     openssl
     perl
     zlib
@@ -69,7 +69,7 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python2Packages; [
     dbus
     pillow
     pygobject2
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 978fd9b9e03..ecb74f39ab9 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, substituteAll
 , pkgconfig
-, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends
+, cups, zlib, libjpeg, libusb1, python3Packages, sane-backends
 , dbus, file, ghostscript, usbutils
-, net_snmp, openssl, perl, nettools
+, net-snmp, openssl, perl, nettools
 , bash, coreutils, utillinux
 , withQt5 ? true
 , withPlugin ? false
@@ -46,7 +46,7 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
-pythonPackages.buildPythonApplication {
+python3Packages.buildPythonApplication {
   inherit name src;
   format = "other";
 
@@ -58,7 +58,7 @@ pythonPackages.buildPythonApplication {
     dbus
     file
     ghostscript
-    net_snmp
+    net-snmp
     openssl
     perl
     zlib
@@ -68,13 +68,14 @@ pythonPackages.buildPythonApplication {
     pkgconfig
   ];
 
-  pythonPath = with pythonPackages; [
+  pythonPath = with python3Packages; [
     dbus
     pillow
     pygobject2
     reportlab
     usbutils
     sip
+    dbus-python
   ] ++ stdenv.lib.optionals withQt5 [
     pyqt5
     enum-compat
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index 1ed279d2998..8ca83c2c93d 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     homepage = https://pingus.seul.org/~grumbel/xboxdrv/;
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 228da687094..38dc54ea9d7 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, unzip, zlib, SDL, readline, libGLU_combined, libX11 }:
+, unzip, zlib, SDL, readline, libGLU, libGL, libX11 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec{
     sha256 = "1dcynsf8i52y7zyg62bkbhl3rdd22ss95zs2s9jm4y5jvn4vks88";
   };
 
-  buildInputs = [ unzip zlib SDL readline libGLU_combined libX11 ];
+  buildInputs = [ unzip zlib SDL readline libGLU libGL libX11 ];
 
   configureFlags = [
     "--target=default"
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/misc/emulators/attract-mode/default.nix
index a725d9c9b08..7e6694b28d9 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/misc/emulators/attract-mode/default.nix
@@ -1,5 +1,5 @@
 { expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg
-, libGLU_combined, openal, pkgconfig, sfml, stdenv, zlib
+, libGLU, libGL, openal, pkgconfig, sfml, stdenv, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU_combined openal sfml zlib
+    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/misc/emulators/cdemu/analyzer.nix
index e52cf7efc6b..246dbb7dd35 100644
--- a/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -1,9 +1,9 @@
 { callPackage, makeWrapper, gobject-introspection, cmake
 , python3Packages, gtk3, glib, libxml2, gnuplot, gnome3, gdk-pixbuf, librsvg, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "image-analyzer";
-  pkgSha256 = "0by3nd5c413cvk3jmv3md6q0axbiidy061g9dhf37qzwgcakcx8j";
+  pkgSha256 = "17yfjmf65s77214qassz6l01cjcni4cv06nzfsm7qrzw172fmci4";
 };
 in callPackage pkg {
   buildInputs = [ glib gtk3 libxml2 gnuplot libmirage makeWrapper
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/misc/emulators/cdemu/client.nix
index dbf471d35d1..087b15cecd1 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/misc/emulators/cdemu/client.nix
@@ -1,8 +1,8 @@
 { callPackage, python3Packages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
-  version = "3.2.1";
+  version = "3.2.3";
   pkgName = "cdemu-client";
-  pkgSha256 = "1d8m24qvv62xcwafw5zs4yf39vs64kxl4idqcngd8yyjhrb2ykg5";
+  pkgSha256 = "1bvc2m63fx03rbp3ihgl2n7k24lwg5ydwkmr84gsjfcxp46q10zq";
 };
 in callPackage pkg {
   buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/misc/emulators/cdemu/daemon.nix
index a80327ce91c..db6ed7ddb47 100644
--- a/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/pkgs/misc/emulators/cdemu/daemon.nix
@@ -1,8 +1,8 @@
 { callPackage, glib, libao, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "cdemu-daemon";
-  pkgSha256 = "0himyrhhfjsr4ff5aci7240bpm9x34h20pid412ci8fm16nk929b";
+  pkgSha256 = "022xzgwmncswb9md71w3ly3mjkdfc93lbij2llp2jamq8grxjjxr";
 };
 in callPackage pkg {
   buildInputs = [ glib libao libmirage intltool ];
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix
index e06853b8f73..599531950a2 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/misc/emulators/cdemu/gui.nix
@@ -2,9 +2,9 @@
 , python3Packages, gtk3, glib, libnotify, intltool, gnome3, gdk-pixbuf, librsvg }:
 let
   pkg = import ./base.nix {
-    version = "3.2.1";
+    version = "3.2.3";
     pkgName = "gcdemu";
-    pkgSha256 = "0lmyvhbf57wcm8k2a33j2dhy4gblaiycy33q070gdrxi37xk7w5g";
+    pkgSha256 = "19vy1awha8s7cfja3a6npaf3rfy3pl3cbsh4vd609q9jz4v4lyg4";
   };
   inherit (python3Packages) python pygobject3;
 in callPackage pkg {
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix
index 0ead78305cd..cc3118ace15 100644
--- a/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -3,9 +3,9 @@
 , pcre, utillinux, libselinux, libsepol }:
 
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "libmirage";
-  pkgSha256 = "0gwrfia0fyhi0b3p2pfyyvrcfcb0qysfzgpdqsqjqbx4xaqx5wpi";
+  pkgSha256 = "08mfvqyk3833ksfd47i4j3ppmrw5ry219km6h7lywdh9hm9x14yf";
 };
 in callPackage pkg {
   buildInputs = [ glib libsndfile zlib bzip2 lzma libsamplerate intltool ];
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index 71beaf12548..df25fb96eb1 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vhba";
-  version = "20190410";
+  version = "20190831";
 
   src  = fetchurl {
     url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
-    sha256 = "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c";
+    sha256 = "1ybbk6l06n0y11n5wnfmvdz0baizmq55l458ywimghdyz0n7g0ws";
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
diff --git a/pkgs/misc/emulators/desmume/default.nix b/pkgs/misc/emulators/desmume/default.nix
index 67fb3b4d24b..d5d63cc2694 100644
--- a/pkgs/misc/emulators/desmume/default.nix
+++ b/pkgs/misc/emulators/desmume/default.nix
@@ -5,7 +5,7 @@
 , tinyxml
 , agg, alsaLib, soundtouch, openal
 , desktop-file-utils
-, gtk2, gtkglext, libglade, pangox_compat
+, gtk2, gtkglext, libglade
 , libGLU, libpcap, SDL, zziplib }:
 
 with stdenv.lib;
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
   [ pkgconfig libtool intltool libXmu lua agg alsaLib soundtouch
-    openal desktop-file-utils gtk2 gtkglext libglade pangox_compat
+    openal desktop-file-utils gtk2 gtkglext libglade
     libGLU libpcap SDL zziplib tinyxml ];
 
   configureFlags = [
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index 303c2f82d9e..cc49ef2aa1d 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib
-, libGLU_combined , gettext, libpthreadstubs, libXrandr, libXext, readline
+, libGLU, libGL , gettext, libpthreadstubs, libXrandr, libXext, readline
 , openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
 , wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
 , libpulseaudio ? null }:
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake bluez ffmpeg libao libGLU_combined gtk2 glib
+  buildInputs = [ cmake bluez ffmpeg libao libGLU libGL gtk2 glib
                   gettext libpthreadstubs libXrandr libXext readline openal
                   libevdev libXdmcp portaudio libusb libpulseaudio
                   libevdev libXdmcp portaudio libusb libpulseaudio
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index e96b2e07890..cec88918282 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake
-, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext
+, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
 , libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
 , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
 , miniupnpc, enet, mbedtls, soundtouch, sfml
@@ -21,13 +21,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-10879";
+  version = "5.0-11109";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "c7fc9126aaf447a014af4aed195b17aa593dd49b";
-    sha256 = "1pf4mxacxhrkvvh9j49ackm8hahl8x0ligmann1pafsb4lw0xbnj";
+    rev = "93d7b3d15962a3393cf2971e14c4acf54d90cecd";
+    sha256 = "1kkx3agdsc0qmf3yymlzq315nypm34qvq04qpjqycpfhmpx8gdnq";
   };
 
   enableParallelBuilding = true;
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional stdenv.isLinux wrapQtAppsHook;
 
   buildInputs = [
-    curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio
+    curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
     portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml
     qtbase
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index e7250491608..5b770a6471a 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU_combined, libpng, graphicsmagick }:
+{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }:
 
 stdenv.mkDerivation rec {
   name = "dosbox-0.74-3";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ SDL SDL_net SDL_sound libGLU_combined libpng ];
+  buildInputs = [ SDL SDL_net SDL_sound libGLU libGL libpng ];
 
   nativeBuildInputs = [ graphicsmagick ];
 
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index d8f5f1cbdb0..668d1804544 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
-, freeimage, freetype, libGLU_combined, SDL2, alsaLib, libarchive }:
+, freeimage, freetype, libGLU, libGL, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation {
   pname = "emulationstation";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU_combined SDL2 ];
+  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix
index 1cfa0db790f..81202008db1 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/misc/emulators/epsxe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
+{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU, libGL,
   libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }:
 
 with stdenv.lib;
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     libX11
-    libGLU_combined
+    libGLU libGL
     openssl_1_0_2
     ncurses5
     SDL
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix
index eb7964cc017..704cef52e5e 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/misc/emulators/fakenes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, allegro, openal, libGLU_combined, zlib, hawknl, freeglut, libX11,
+{stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11,
   libXxf86vm, libXcursor, libXpm }:
 
 stdenv.mkDerivation {
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
   };
 
-  buildInputs = [ allegro openal libGLU_combined zlib hawknl freeglut libX11
+  buildInputs = [ allegro openal libGLU libGL zlib hawknl freeglut libX11
     libXxf86vm libXcursor libXpm ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix
index 95a95bb17b1..9f092f91e2e 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/misc/emulators/fs-uae/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, pkgconfig
-, gettext, gtk2, SDL2, zlib, glib, openal, libGLU_combined, lua, freetype, libmpeg2, zip }:
+, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "fs-uae";
-  version = "3.0.0";
+  version = "3.0.2";
 
   src = fetchurl {
     url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0r69i6rh472lj4qwqfcfh17xmlw4x6mhqzr9hhpkbb4byyw6h592";
+    sha256 = "1awakxs3rlbm0bxpi37cbavi5fpb89wszksyw62as4nz3qsdrpjf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU_combined lua freetype libmpeg2 zip ];
+  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ];
 
   meta = {
     description = "An accurate, customizable Amiga Emulator";
diff --git a/pkgs/misc/emulators/fuse-emulator/default.nix b/pkgs/misc/emulators/fuse-emulator/default.nix
new file mode 100644
index 00000000000..a3a379eb2cf
--- /dev/null
+++ b/pkgs/misc/emulators/fuse-emulator/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, perl, pkgconfig, wrapGAppsHook
+, SDL, bzip2, glib, gtk3, libgcrypt, libpng, libspectrum, libxml2, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fuse-emulator";
+  version = "1.5.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/fuse-${version}.tar.gz";
+    sha256 = "0kaynjr28w42n3iha60mgr7nxm49w8j0v49plyrc7ka24qzmiqph";
+  };
+
+  nativeBuildInputs = [ perl pkgconfig wrapGAppsHook ];
+
+  buildInputs = [ SDL bzip2 glib gtk3 libgcrypt libpng libspectrum libxml2 zlib ];
+
+  configureFlags = [ "--enable-desktop-integration" ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = http://fuse-emulator.sourceforge.net/;
+    description = "ZX Spectrum emulator";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index da53b4f8c55..4120ec7ba6a 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU_combined }:
+{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "gens-gs-7";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU_combined ];
+  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU libGL ];
 
   # Work around build failures on recent GTK.
   # See http://ubuntuforums.org/showthread.php?p=10535837
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 3cb0f787ce7..74e35379137 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index ad96ca36bc1..c1e64d26b47 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -2,7 +2,7 @@
 , p7zip, pkgconfig
 , libX11, libXv
 , udev
-, libGLU_combined, SDL
+, libGLU, libGL, SDL
 , libao, openal, libpulseaudio
 , gtk2, gtksourceview
 , runtimeShell }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp";
 
   buildInputs =
-  [ p7zip pkgconfig libX11 libXv udev libGLU_combined
+  [ p7zip pkgconfig libX11 libXv udev libGLU libGL
     SDL libao openal libpulseaudio gtk2 gtksourceview ];
 
   unpackPhase = ''
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix
index 499d7dd6c4a..d98232b1058 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/misc/emulators/mame/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem
+{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper
 , python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }:
 
 let
   majorVersion = "0";
-  minorVersion = "215";
+  minorVersion = "216";
 
   desktopItem = makeDesktopItem {
     name = "MAME";
@@ -12,6 +12,8 @@ let
     genericName = "MAME is a multi-purpose emulation framework";
     categories = "System;Emulator;";
   };
+
+  dest = "$out/opt/mame";
 in mkDerivation {
   pname = "mame";
   version = "${majorVersion}.${minorVersion}";
@@ -20,7 +22,7 @@ in mkDerivation {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${majorVersion}${minorVersion}";
-    sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h";
+    sha256 = "0dmmw08pxxznvadrc51zg27jc9fjh688355w8kxkmi7k8qa367r0";
   };
 
   hardeningDisable = [ "fortify" ];
@@ -28,22 +30,35 @@ in mkDerivation {
 
   makeFlags = [ "TOOLS=1" ];
 
+  dontWrapQtApps = true;
+
   buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
-  nativeBuildInputs = [ python pkgconfig which ];
+  nativeBuildInputs = [ python pkgconfig which makeWrapper ];
 
-  installPhase = ''
-    dest=$out/opt/mame
+  # by default MAME assumes that paths with stock resources
+  # are relative and that you run MAME changing to
+  # install directory, so we add absolute paths here
+  patches = [ ./emuopts.patch ];
 
-    make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"}
-    mkdir -p $dest
-    mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest
+  postPatch = ''
+    substituteInPlace src/emu/emuopts.cpp \
+      --subst-var-by mame ${dest}
+  '';
+
+  installPhase = ''
+    make -f dist.mak PTR64=${stdenv.lib.optionalString stdenv.is64bit "1"}
+    mkdir -p ${dest}
+    mv build/release/*/Release/mame/* ${dest}
 
     mkdir -p $out/bin
-    find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
+    find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
+    install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh
 
     mkdir -p $out/share/man/man{1,6}
-    mv $dest/docs/man/*.1 $out/share/man/man1
-    mv $dest/docs/man/*.6 $out/share/man/man6
+    mv ${dest}/docs/man/*.1 $out/share/man/man1
+    mv ${dest}/docs/man/*.6 $out/share/man/man6
+
+    mv artwork plugins samples ${dest}
 
     mkdir -p $out/share
     ln -s ${desktopItem}/share/applications $out/share
diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/misc/emulators/mame/emuopts.patch
new file mode 100644
index 00000000000..b85291f52f7
--- /dev/null
+++ b/pkgs/misc/emulators/mame/emuopts.patch
@@ -0,0 +1,29 @@
+diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp
+index c42fcef848..d1bddae060 100644
+--- a/src/emu/emuopts.cpp
++++ b/src/emu/emuopts.cpp
+@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] =
+ 	{ nullptr,                                           nullptr,     OPTION_HEADER,     "CORE SEARCH PATH OPTIONS" },
+ 	{ OPTION_HOMEPATH,                                   ".",         OPTION_STRING,     "path to base folder for plugin data (read/write)" },
+ 	{ OPTION_MEDIAPATH ";rp;biospath;bp",                "roms",      OPTION_STRING,     "path to ROM sets and hard disk images" },
+-	{ OPTION_HASHPATH ";hash_directory;hash",            "hash",      OPTION_STRING,     "path to software definition files" },
+-	{ OPTION_SAMPLEPATH ";sp",                           "samples",   OPTION_STRING,     "path to audio sample sets" },
+-	{ OPTION_ARTPATH,                                    "artwork",   OPTION_STRING,     "path to artwork files" },
+-	{ OPTION_CTRLRPATH,                                  "ctrlr",     OPTION_STRING,     "path to controller definitions" },
+-	{ OPTION_INIPATH,                                    ".;ini;ini/presets",     OPTION_STRING,     "path to ini files" },
+-	{ OPTION_FONTPATH,                                   ".",         OPTION_STRING,     "path to font files" },
++	{ OPTION_HASHPATH ";hash_directory;hash",            "hash;@mame@/hash",      OPTION_STRING,     "path to software definition files" },
++	{ OPTION_SAMPLEPATH ";sp",                           "samples;@mame@/samples",   OPTION_STRING,     "path to audio sample sets" },
++	{ OPTION_ARTPATH,                                    "artwork;@mame@/artwork",   OPTION_STRING,     "path to artwork files" },
++	{ OPTION_CTRLRPATH,                                  "ctrlr;@mame@/ctrlr",     OPTION_STRING,     "path to controller definitions" },
++	{ OPTION_INIPATH,                                    ".;ini;ini/presets;@mame@/ini/presets",     OPTION_STRING,     "path to ini files" },
++	{ OPTION_FONTPATH,                                   ".;@mame@",         OPTION_STRING,     "path to font files" },
+ 	{ OPTION_CHEATPATH,                                  "cheat",     OPTION_STRING,     "path to cheat files" },
+ 	{ OPTION_CROSSHAIRPATH,                              "crosshair", OPTION_STRING,     "path to crosshair files" },
+-	{ OPTION_PLUGINSPATH,                                "plugins",   OPTION_STRING,     "path to plugin files" },
+-	{ OPTION_LANGUAGEPATH,                               "language",  OPTION_STRING,     "path to UI translation files" },
++	{ OPTION_PLUGINSPATH,                                "plugins;@mame@/plugins",   OPTION_STRING,     "path to plugin files" },
++	{ OPTION_LANGUAGEPATH,                               "language;@mame@/language",  OPTION_STRING,     "path to UI translation files" },
+ 	{ OPTION_SWPATH,                                     "software",  OPTION_STRING,     "path to loose software" },
+ 
+ 	// output directory options
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 74c456cfb10..337d19804fc 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, freeglut, libGLU_combined, libcdio, libjack2
+{ stdenv, fetchurl, pkgconfig, freeglut, libGLU, libGL, libcdio, libjack2
 , libsamplerate, libsndfile, libX11, SDL, SDL_net, zlib }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     freeglut
-    libGLU_combined
+    libGLU libGL
     libcdio
     libjack2
     libsamplerate
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
index 4f02d0f147d..20c7c39312a 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, SDL2, alsaLib, gtk3
-, makeWrapper, libGLU_combined, libarchive, libao, unzip, xdg_utils
+, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg_utils
 , epoxy, gdk-pixbuf, gnome3, wrapGAppsHook
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     epoxy
     gtk3
     gdk-pixbuf
-    libGLU_combined
+    libGLU libGL
     libarchive
     libao
     unzip
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix
index 619938ba5c6..b976c1e8c27 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/misc/emulators/ppsspp/default.nix
@@ -1,45 +1,69 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qtmultimedia
-, glew, libzip, snappy, zlib, withGamepads ? true, SDL2 }:
+{ SDL2
+, cmake
+, fetchFromGitHub
+, ffmpeg
+, glew
+, lib
+, libzip
+, mkDerivation
+, pkgconfig
+, python3
+, qtbase
+, qtmultimedia
+, snappy
+, zlib
+}:
 
-assert withGamepads -> (SDL2 != null);
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "ppsspp";
-  version = "1.4.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "hrydgard";
     repo = "ppsspp";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0m4qkhx7q496sm7ibg2n7rm3npxzfr93iraxgndk0vhfk8vy8w75";
+    sha256 = "17sym0vk72lzbh9a1501mhw98c78x1gq7k1fpy69nvvb119j37wa";
   };
 
-  patchPhase = ''
-    echo 'const char *PPSSPP_GIT_VERSION = "${src.rev}";' >> git-version.cpp
-    substituteInPlace UI/NativeApp.cpp --replace /usr/share $out/share
+  postPatch = ''
+    substituteInPlace git-version.cmake \
+      --replace unknown ${src.rev}
+    substituteInPlace UI/NativeApp.cpp \
+      --replace /usr/share $out/share
   '';
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase qtmultimedia glew libzip snappy zlib ]
-    ++ optionals withGamepads [ SDL2 SDL2.dev ];
+  nativeBuildInputs = [ cmake pkgconfig python3 ];
+
+  buildInputs = [
+    SDL2
+    ffmpeg
+    glew
+    libzip
+    qtbase
+    qtmultimedia
+    snappy
+    zlib
+  ];
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DUSING_QT_UI=ON" ];
+  cmakeFlags = [
+    "-DOpenGL_GL_PREFERENCE=GLVND"
+    "-DUSE_SYSTEM_FFMPEG=ON"
+    "-DUSE_SYSTEM_LIBZIP=ON"
+    "-DUSE_SYSTEM_SNAPPY=ON"
+    "-DUSING_QT_UI=ON"
+  ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/ppsspp
-    mv PPSSPPQt $out/bin/ppsspp
+    mkdir -p $out/share/ppsspp
+    install -Dm555 PPSSPPQt $out/bin/ppsspp
     mv assets $out/share/ppsspp
   '';
 
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://www.ppsspp.org/;
+  meta = with lib; {
     description = "A PSP emulator for Android, Windows, Mac and Linux, written in C++";
+    homepage = "https://www.ppsspp.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu AndersonTorres ];
-    platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
+    maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/pkgs/misc/emulators/resim/default.nix b/pkgs/misc/emulators/resim/default.nix
new file mode 100644
index 00000000000..81acdf81f2e
--- /dev/null
+++ b/pkgs/misc/emulators/resim/default.nix
@@ -0,0 +1,18 @@
+{ fetchFromGitHub, stdenv, cmake, qt4 }:
+
+stdenv.mkDerivation {
+  name = "resim";
+  src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "resim";
+    rev = "cdc7808ceb7ba4ac00d0d08ca646b58615059150";
+    sha256 = "1743lngqxd7ai4k6cd4d1cf9h60z2pnvr2iynfs1zlpcj3w1hx0c";
+  };
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qt4 ];
+  installPhase = ''
+    mkdir -pv $out/{lib,bin}
+    cp -v libresim/libarmsim.so $out/lib/libarmsim.so
+    cp -v vc4emul/vc4emul $out/bin/vc4emul
+  '';
+}
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index ced26333f4c..c8171f6c233 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch
-, alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL
+, alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, libGL
 , ffmpeg, pcre, libevdev, libpng, libjpeg, udev, libvorbis
 , miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost }:
 
@@ -152,7 +152,7 @@ in with stdenv.lib.licenses;
     buildPhase = "make";
     name = "beetle-pce-fast-${der.version}";
   };
-  
+
   beetle-pcfx = (mkLibRetroCore rec {
     core = "mednafen-pcfx";
     src = fetchRetro {
@@ -197,7 +197,7 @@ in with stdenv.lib.licenses;
     name = "beetle-saturn-${der.version}";
     meta.platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
-  
+
   beetle-supergrafx = (mkLibRetroCore rec {
     core = "mednafen-supergrafx";
     src = fetchRetro {
@@ -276,7 +276,7 @@ in with stdenv.lib.licenses;
     };
     description = "libretro wrapper for desmume NDS emulator";
     license = gpl2;
-    extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ];
+    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
   }).override {
     makefile = "desmume/src/frontend/libretro/Makefile.libretro";
     configurePhase = "cd desmume/src/frontend/libretro";
@@ -292,7 +292,7 @@ in with stdenv.lib.licenses;
     };
     description = "libretro wrapper for desmume NDS emulator from 2015";
     license = gpl2;
-    extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ];
+    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
   }).override {
     makefile = "desmume/Makefile.libretro";
     configurePhase = "cd desmume";
@@ -311,7 +311,7 @@ in with stdenv.lib.licenses;
     broken = true;
 
     extraBuildInputs = [
-      cmake curl libGLU_combined pcre pkgconfig sfml
+      cmake curl libGLU libGL pcre pkgconfig sfml
       gettext hidapi
       libevdev udev
     ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
@@ -323,7 +323,7 @@ in with stdenv.lib.licenses;
       "-DENABLE_QT=OFF"
       "-DENABLE_LTO=OFF"
       "-DUSE_UPNP=OFF"
-      "-DUSE_DISCORD_PRESENCE=OFF" 
+      "-DUSE_DISCORD_PRESENCE=OFF"
     ];
     dontUseCmakeBuildDir = "yes";
     buildPhase = "make";
@@ -380,7 +380,7 @@ in with stdenv.lib.licenses;
     };
     description = "Flycast libretro port";
     license = gpl2;
-    extraBuildInputs = [ libGLU_combined ];
+    extraBuildInputs = [ libGL libGLU ];
   }).override {
     makefile = "Makefile";
     buildPhase = "make";
@@ -478,7 +478,7 @@ in with stdenv.lib.licenses;
     description = "Port of MAME to libretro";
     license = gpl2Plus;
 
-    extraBuildInputs = [ alsaLib libGLU_combined portaudio python27 xorg.libX11 ];
+    extraBuildInputs = [ alsaLib libGLU libGL portaudio python27 xorg.libX11 ];
   }).override {
     postPatch = ''
       # Prevent the failure during the parallel building of:
@@ -614,7 +614,7 @@ in with stdenv.lib.licenses;
     description = "Libretro port of Mupen64 Plus, GL only";
     license = gpl2;
 
-    extraBuildInputs = [ libGLU_combined libpng nasm xorg.libX11 ];
+    extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
   }).override {
     makefile = "Makefile";
     buildPhase = "make";
@@ -633,7 +633,7 @@ in with stdenv.lib.licenses;
     makefile = "libretro/Makefile";
     buildPhase = "cd libretro && make";
   };
- 
+
   o2em = (mkLibRetroCore rec {
     core = "o2em";
     src = fetchRetro {
@@ -647,7 +647,7 @@ in with stdenv.lib.licenses;
     makefile = "Makefile";
     buildPhase = "make";
   };
- 
+
   parallel-n64 = (mkLibRetroCore rec {
     core = "parallel-n64";
     src = fetchRetro {
@@ -658,7 +658,7 @@ in with stdenv.lib.licenses;
     description = "Parallel Mupen64plus rewrite for libretro.";
     license = gpl2;
 
-    extraBuildInputs = [ libGLU_combined libpng ];
+    extraBuildInputs = [ libGLU libGL libpng ];
   }).override {
     makefile = "Makefile";
     buildPhase = "make";
@@ -677,7 +677,7 @@ in with stdenv.lib.licenses;
     configurePhase = "rm configure";
     buildPhase = "make -f Makefile.libretro";
   };
-  
+
   picodrive = (mkLibRetroCore rec {
     core = "picodrive";
     src = fetchRetro {
@@ -718,7 +718,7 @@ in with stdenv.lib.licenses;
     };
     description = "ppsspp libretro port";
     license = gpl2;
-    extraBuildInputs = [ cmake libGLU_combined ffmpeg python37 xorg.libX11 ];
+    extraBuildInputs = [ cmake libGLU libGL ffmpeg python37 xorg.libX11 ];
   }).override {
     cmakeFlags = "-DLIBRETRO=ON";
     makefile = "Makefile";
@@ -778,7 +778,7 @@ in with stdenv.lib.licenses;
     };
     description = "Libretro port of ScummVM";
     license = gpl2;
-    extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ];
+    extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ];
   }).override {
     makefile = "backends/platform/libretro/build/Makefile";
     buildPhase = "cd backends/platform/libretro/build && make";
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 3b55c44d173..34e3961250c 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchFromGitHub, which, pkgconfig, makeWrapper
-, ffmpeg, libGLU_combined, freetype, libxml2, python3
+, ffmpeg, libGLU, libGL, freetype, libxml2, python3
 , libobjc, AppKit, Foundation
 , alsaLib ? null
+, libdrm ? null
 , libpulseaudio ? null
 , libv4l ? null
 , libX11 ? null
 , libXdmcp ? null
 , libXext ? null
 , libXxf86vm ? null
+, mesa ? null
 , SDL2 ? null
 , udev ? null
 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
@@ -27,27 +29,29 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "retroarch-bare";
-  version = "1.7.8.4";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph";
+    sha256 = "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7";
     rev = "v${version}";
   };
 
   nativeBuildInputs = [ pkgconfig ]
                       ++ optional withVulkan [ makeWrapper ];
 
-  buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python3 SDL2 which ]
+  buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ]
                 ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
                 ++ optional withVulkan [ vulkan-loader ]
                 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
-                ++ optionals stdenv.isLinux [ alsaLib libpulseaudio libv4l libX11
-                                              libXdmcp libXext libXxf86vm udev ];
+                ++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11
+                                              libXdmcp libXext libXxf86vm mesa udev ];
 
   enableParallelBuilding = true;
 
+  configureFlags = if stdenv.isLinux then [ "--enable-kms" ] else "";
+
   postInstall = optionalString withVulkan ''
     wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
   '' + optionalString stdenv.targetPlatform.isDarwin ''
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
index 71ae168f1b2..08ebf8ea854 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -1,14 +1,8 @@
 { stdenv, lib, makeWrapper, retroarch, cores }:
 
-let
-
-  p = builtins.parseDrvName retroarch.name;
-
-in
-
 stdenv.mkDerivation {
-  name = "retroarch-" + p.version;
-  version = p.version;
+  pname = "retroarch";
+  version = lib.getVersion retroarch;
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index daa6814a411..e44b45dbb4b 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , ffmpeg
 , gettext
-, libGLU_combined
+, libGLU, libGL
 , openal
 , pkgconfig
 , SDL2
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     cairo
     ffmpeg
     gettext
-    libGLU_combined
+    libGLU libGL
     openal
     SDL2
     sfml
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index 7cf4faf55cd..cb083c0aa0d 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU_combined, libXaw
+{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU, libGL, libXaw
 , pkgconfig, gtk2, SDL, autoreconfHook, makeDesktopItem
 }:
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y";
   };
 
-  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU_combined
+  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU libGL
     pkgconfig gtk2 SDL autoreconfHook libXaw ];
   dontDisableStatic = true;
   configureFlags = [ "--enable-fullscreen --enable-gnomeui" ];
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 8252c96282d..057615a79a1 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
-  ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.mesa.osmesa pkgs.libdrm ]
+  ++ lib.optionals openglSupport [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
   ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
      CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
      ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenAL OpenCL Cocoa Carbon
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix
index 5264e66279f..df979c68a47 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/misc/emulators/wine/staging.nix
@@ -5,7 +5,7 @@ with callPackage ./util.nix {};
 let patch = (callPackage ./sources.nix {}).staging;
     build-inputs = pkgNames: extra:
       (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
-in assert (builtins.parseDrvName wineUnstable.name).version == patch.version;
+in assert stdenv.lib.getVersion wineUnstable == patch.version;
 
 stdenv.lib.overrideDerivation wineUnstable (self: {
   buildInputs = build-inputs [ "perl" "utillinux" "autoconf" libtxc_dxtn_Name ] self.buildInputs;
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index 1199f987bb6..2416ddd65b7 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined
+{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
 , wafHook }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ wafHook ];
-  buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ];
+  buildInputs = [ python wxGTK29 SDL libX11 libGLU libGL ];
 
   preConfigure = ''
     tar xf ${mupen64plus.src}
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix
index ed8652d08f1..abceb752b2f 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/misc/emulators/yabause/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU_combined
+{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU, libGL
 , freeglut ? null, openal ? null, SDL2 ? null }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase qt5.qtmultimedia libGLU_combined freeglut openal SDL2 ];
+  buildInputs = [ qtbase qt5.qtmultimedia libGLU libGL freeglut openal SDL2 ];
 
   patches = [
     ./linkage-rwx-linux-elf.patch
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 1ea8d7e68d3..55fe49895c9 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU_combined
+{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU, libGL
 , makeDesktopItem }:
 
 let
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
     sha256 = "1gy79d5wdaacph0cc1amw7mqm7i0716n6mvav16p1svi26iz193v";
   };
 
-  buildInputs = [ nasm SDL zlib libpng ncurses libGLU_combined ];
+  buildInputs = [ nasm SDL zlib libpng ncurses libGLU libGL ];
 
   prePatch = ''
     for i in $(cat debian/patches/series); do
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index ac410a22997..541fbea1dd4 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -10,8 +10,8 @@ assert cupsSupport -> cups != null;
 
 let
   version = "9.${ver_min}";
-  ver_min = "27";
-  sha512 = "00m8pfvvg4dzvrzk66myr8kid76x44sgqk84m9562g4viv9zbw759l8q9qg64mgvbajzn78zpqfgdlgz9nwgcdb1vpwc08gm12ssrsy";
+  ver_min = "50";
+  sha512 = "3p46kzn6kh7z4qqnqydmmvdlgzy5730z3yyvyxv6i4yb22mgihzrwqmhmvfn3b7lypwf6fdkkndarzv7ly3zndqpyvg89x436sms7iw";
 
   fonts = stdenv.mkDerivation {
     name = "ghostscript-fonts";
@@ -48,22 +48,9 @@ stdenv.mkDerivation rec {
     ./urw-font-files.patch
     ./doc-no-ref.diff
     (fetchpatch {
-        name = "CVE-2019-10216.patch";
-        url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=5b85ddd19a8420a1bd2d5529325be35d78e94234";
-        sha256 = "165svml4knq1xlysfvj7vc07h68bhv3rgvl83xrhxsxdzs1ign31";
-    })
-    (fetchpatch {
-        name = "CVE-2019-14811.CVE-2019-14812.CVE-2019-14813.patch";
-        url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=885444fcbe10dc42787ecb76686c8ee4dd33bf33";
-        sha256 = "19928sr7xpx7iibk9gn127g0r1yv2lcfpwgk2ipzz4wgrs3f5j70";
-    })
-    (fetchpatch {
-        name = "CVE-2019-14817-partial.patch";
-        url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=cd1b1cacadac2479e291efe611979bdc1b3bdb19";
-        # patch doesn't apply cleanly to all files, but at least partially applying it fixes
-        # *most* of the problematic sites.
-        excludes = ["Resource/Init/pdf_font.ps"];
-        sha256 = "0f8qgdqpv7bldc9akvjj10af2h2876cvnz4q3nvg4a00rk5i05wn";
+      name = "CVE-2019-14869.patch";
+      url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=485904772c5f0aa1140032746e5a0abfc40f4cef";
+      sha256 = "0z5gnvgpp0dlzgvpw9a1yan7qyycv3mf88l93fvb1kyay893rshp";
     })
   ];
 
diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix
index e866a1937d6..cfc0c3f7301 100644
--- a/pkgs/misc/gnash/default.nix
+++ b/pkgs/misc/gnash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, autoreconfHook
+{ stdenv, fetchgit, fetchpatch, autoreconfHook
 , pkgconfig, libtool, boost, SDL
 , glib, pango, gettext, curl, xorg
 , libpng, libjpeg, giflib, speex, atk
@@ -6,7 +6,9 @@
 # renderers
 , enableAGG    ? true,  agg   ? null
 , enableCairo  ? false, cairo ? null
-, enableOpenGL ? false, libGLU_combined  ? null
+, enableOpenGL ? false
+, libGLU ? null
+, libGL  ? null
 
 # GUI toolkits
 , enableGTK ? true,  gtk2 ? null, gnome2 ? null
@@ -45,7 +47,7 @@ in
 # renderers
 assert enableAGG    -> available agg;
 assert enableCairo  -> available cairo;
-assert enableOpenGL -> available libGLU_combined;
+assert enableOpenGL -> all available [ libGLU libGL ];
 
 # GUI toolkits
 assert enableGTK -> all available [ gtk2 gnome2.gtkglext gnome2.GConf ];
@@ -57,7 +59,7 @@ assert enableFFmpeg    -> available ffmpeg_2 ;
 
 # misc
 assert enableJemalloc -> available jemalloc;
-assert enableHwAccel  -> available libGLU_combined;
+assert enableHwAccel  -> all available [ libGLU libGL ];
 assert enablePlugins  -> all available [ xulrunner npapi_sdk ];
 
 assert length toolkits  == 0 -> throw "at least one GUI toolkit must be enabled";
@@ -85,14 +87,21 @@ stdenv.mkDerivation {
     libpng libjpeg giflib pango atk
   ] ++ optional  enableAGG       agg
     ++ optional  enableCairo     cairo
-    ++ optional  enableOpenGL    libGLU_combined
     ++ optional  enableQt        qt4
     ++ optional  enableFFmpeg    ffmpeg_2
     ++ optional  enableJemalloc  jemalloc
-    ++ optional  enableHwAccel   libGLU_combined
+    ++ optional  enableHwAccel   [ libGL libGLU ]
+    ++ optionals enableOpenGL    [ libGL libGLU ]
     ++ optionals enablePlugins   [ xulrunner npapi_sdk ]
     ++ optionals enableGTK       [ gtk2 gnome2.gtkglext gnome2.GConf ];
 
+  patches = [
+    (fetchpatch { # fix compilation due to bad detection of libgif version: https://savannah.gnu.org/patch/index.php?9873
+      url = "https://savannah.gnu.org/patch/download.php?file_id=47859";
+      sha256 = "0aimayzgi5065gkcfcr8d5lkd9c0471q7dqmln42hjzq847n6d5y";
+    })
+  ];
+
   configureFlags = with stdenv.lib; [
     "--with-boost-incl=${boost.dev}/include"
     "--with-boost-lib=${boost.out}/lib"
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index f246c41d965..f6eaa553bb2 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
-, fetchpatch
+{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, makeWrapper
 , bash, libsamplerate, libsndfile, readline, eigen, celt
 , wafHook
 # Darwin Dependencies
@@ -15,7 +14,7 @@
 
 with stdenv.lib;
 let
-  inherit (python2Packages) python dbus-python;
+  inherit (python3Packages) python dbus-python;
   shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) pkg.meta.platforms then pkg else null;
 
   libOnly = prefix == "lib";
@@ -28,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}jack2-${version}";
-  version = "1.9.12";
+  version = "1.9.14";
 
   src = fetchFromGitHub {
     owner = "jackaudio";
     repo = "jack2";
     rev = "v${version}";
-    sha256 = "0ynpyn0l77m94b50g7ysl795nvam3ra65wx5zb46nxspgbf6wnkh";
+    sha256 = "1prxg1l8wrxfp2mh7l4mvjvmml6816fciq1la88ylhwm1qnfvnax";
   };
 
   nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
@@ -49,11 +48,6 @@ stdenv.mkDerivation rec {
         --replace /bin/bash ${bash}/bin/bash
   '';
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/jackaudio/jack2/commit/d851fada460d42508a6f82b19867f63853062583.patch";
-    sha256 = "1iwwxjzvgrj7dz3s8alzlhcgmcarjcbkrgvsmy6kafw21pyyw7hp";
-  }) ];
-
   wafConfigureFlags = [
     "--classic"
     "--autostart=${if (optDbus != null) then "dbus" else "classic"}"
@@ -70,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "JACK audio connection kit, version 2 with jackdbus";
-    homepage = http://jackaudio.org;
+    homepage = https://jackaudio.org;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index cb487677881..39c0d7d50c7 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   version = "0.125.0";
 
   src = fetchurl {
-    url = "http://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
+    url = "https://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
     sha256 = "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm";
   };
 
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "JACK audio connection kit";
-    homepage = http://jackaudio.org;
-    license = "GPL";
+    homepage = https://jackaudio.org;
+    license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/sailsd/default.nix b/pkgs/misc/sailsd/default.nix
index ea2435c50ae..49d86491aa0 100644
--- a/pkgs/misc/sailsd/default.nix
+++ b/pkgs/misc/sailsd/default.nix
@@ -4,18 +4,18 @@ let
   libsailing = fetchFromGitHub {
     owner = "sails-simulator";
     repo = "libsailing";
-    rev = "c24cddb717f81cd432868b8d41e04486c0a440fd";
-    sha256 = "0mna0c9n8lvfdf4y1iigjy3dlks70hq6jik52zkik2yxvkqv949f";
+    rev = "9b2863ff0c539cd23d91b0254032a7af9c840574";
+    sha256 = "06rcxkwgms9sxqr1swnnc4jnvgs0iahm4cksd475yd1bp5p1gq6j";
   };
 in
 stdenv.mkDerivation rec {
-  version = "0.2.0";
+  version = "0.3.0";
   pname = "sailsd";
   src = fetchFromGitHub {
     owner = "sails-simulator";
     repo = "sailsd";
     rev = version;
-    sha256 = "147cr4aw1kw4gv3bhn0cska855kmyah8m70vdw1q2lwz56lbf4mb";
+    sha256 = "1s4nlffp683binbdxwwzbsci61kbjylbcr1jf44sv1h1r5d5js05";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index bfca574cd49..6e5822b5a6f 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -10,10 +10,10 @@
 }:
 
 let
-  version = "1.10";
+  version = "1.12.1";
   prebuilt_server = fetchurl {
-    url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}.jar";
-    sha256 = "144k25x6ha89l9p5a1dm6r3fqvgqszzwrhvkvk0r44vg0i71msyb";
+    url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
+    sha256 = "1sk6hbbnf4g6q58fspwlh8bn16j73j3i8hlcshqxzhfhl746krb3";
   };
 in
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hhncqcs49n9g8sgvwbyvkaq4b1dhrpn7qgnaj6grjcb0i27vzaq";
+    sha256 = "16zi0d2jjm2nlrwkwvsxzfpgy45ami45wfh67wq7na2h2ywfmgcp";
   };
 
   # postPatch:
@@ -40,12 +40,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ffmpeg SDL2 ];
 
-  # FIXME: remove on update to > 1.10
-  patches = [(fetchpatch {
-    url = "https://github.com/Genymobile/scrcpy/commit/c05056343b56be65ae887f8b7ead61a8072622b9.diff";
-    sha256 = "1xh24gr2g2i9rk0zyv19jx54hswrq12ssp227vxbhsbamin9ir5b";
-  })];
-
   # Manually install the server jar to prevent Meson from "fixing" it
   preConfigure = ''
     echo -n > server/meson.build
@@ -54,7 +48,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [ "-Doverride_server_path=${prebuilt_server}" ];
   postInstall = ''
     mkdir -p "$out/share/scrcpy"
-    ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server.jar"
+    ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server"
 
     # runtime dep on `adb` to push the server
     wrapProgram "$out/bin/scrcpy" --prefix PATH : "${platform-tools}/bin"
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index b1c2ec5c3bd..b36f8bf98de 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl
-, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU_combined
+, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL
 , glee }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wxGTK30 libav lua5_1 curl libpng xorg.libXrender
-    flam3 libgtop boost tinyxml freeglut libGLU_combined glee
+    flam3 libgtop boost tinyxml freeglut libGLU libGL glee
   ];
 
   preAutoreconf = ''
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index e3d3b109d1a..9763949cf98 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -64,6 +64,12 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://github.com/the-cavalry/light-locker;
     description = "A simple session-locker for LightDM";
diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix
index 7f6d99297ab..467f762de86 100644
--- a/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/pkgs/misc/screensavers/rss-glx/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU_combined, imagemagick, libtiff, bzip2}:
+{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU, libGL, imagemagick, libtiff, bzip2}:
 
 stdenv.mkDerivation rec {
   version = "0.9.1";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined xlibsWrapper imagemagick libtiff bzip2 ];
+  buildInputs = [ libGLU libGL xlibsWrapper imagemagick libtiff bzip2 ];
 
   NIX_CFLAGS_COMPILE = "-I${imagemagick.dev}/include/ImageMagick";
   NIX_LDFLAGS= "-rpath ${libXext}/lib";
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 771abf79c1d..c43a8acf885 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,11 +2,11 @@
 , libXdmcp, libXt }:
 
 stdenv.mkDerivation rec {
-  name = "xlockmore-5.59";
+  name = "xlockmore-5.61";
 
   src = fetchurl {
     url = "http://sillycycle.com/xlock/${name}.tar.xz";
-    sha256 = "0lajc5a4lki33b9mzfsi74q4hbivbmhwysp7mib4ivnyxianhaid";
+    sha256 = "012wsfcphahwwylyfk9c848nwj1v08hpnja2yfs0j8pnq7milnva";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 39706bb96ed..1937874a49c 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, perlPackages, pam, libXext, libXScrnSaver, libX11
-, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU_combined, gtk2
+, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU, libGL, gtk2
 , libxml2, libglade, intltool, xorg, makeWrapper, gle
 , forceInstallAllHacks ? false
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ pkgconfig bc perl libjpeg libGLU_combined gtk2 libxml2 libglade pam
+    [ pkgconfig bc perl libjpeg libGLU libGL gtk2 libxml2 libglade pam
       libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
       libXxf86misc intltool xorg.appres makeWrapper gle
     ];
diff --git a/pkgs/misc/sndio/default.nix b/pkgs/misc/sndio/default.nix
index 0f09483a857..c415714f573 100644
--- a/pkgs/misc/sndio/default.nix
+++ b/pkgs/misc/sndio/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libsndio.7.0.dylib $out/lib/libsndio.7.0.dylib
     for file in $out/bin/*; do
       install_name_tool -change libsndio.7.0.dylib $out/lib/libsndio.dylib $file
     done
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 5aeec7cf13b..0d10b44ab1e 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -25,7 +25,7 @@ let
     addonInfo ? null,
     preInstall ? "",
     postInstall ? "",
-    path ? (builtins.parseDrvName pluginName).name,
+    path ? lib.getName pluginName,
     dependencies ? [],
     ...
   }:
@@ -95,8 +95,8 @@ in rec {
     pluginName = "ctrlw";
     src = fetchgit {
       url = "https://github.com/eraserhd/tmux-ctrlw";
-      rev = "2354b5d56828813d0f7a4b228ca74b6134c2695f";
-      sha256 = "00hy1axmki8h2285mivsj923z327xkq89wfl2x4dxc71xjhdl216";
+      rev = "b456977125c640cd587b786c6a79cb5c7b0f900d";
+      sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1";
     };
   };
 
@@ -187,6 +187,19 @@ in rec {
     };
   };
 
+  plumb = mkDerivation {
+    pluginName = "plumb";
+    src = fetchFromGitHub {
+      owner = "eraserhd";
+      repo = "tmux-plumb";
+      rev = "v0.1.1";
+      sha256 = "1c6k4fdl0az9811r6k164mgd4w5la75xr6x7nabmy046xc0z5i2r";
+    };
+    postInstall = ''
+      sed -i -e 's,9 plumb,${pkgs.plan9port}/bin/9 plumb,' $target/scripts/plumb
+    '';
+  };
+
   prefix-highlight = mkDerivation {
     pluginName = "prefix-highlight";
     src = fetchgit {
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index ffe576c31d8..8a07461bb2f 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -1,37 +1,49 @@
-{ stdenv, lib, fetchurl, fetchpatch, bc, bison, dtc, flex, openssl, swig
-, armTrustedFirmwareAllwinner
+{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bc, bison, dtc, flex
+, openssl, swig, armTrustedFirmwareAllwinner, armTrustedFirmwareRK3328
+, armTrustedFirmwareRK3399
 , buildPackages
 }:
 
 let
-  buildUBoot = { version ? "2019.10"
-            , filesToInstall
-            , installDir ? "$out"
-            , defconfig
-            , extraConfig ? ""
-            , extraPatches ? []
-            , extraMakeFlags ? []
-            , extraMeta ? {}
-            , ... } @ args:
-           stdenv.mkDerivation ({
-
+  defaultVersion = "2019.10";
+  defaultSrc = fetchurl {
+    url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
+    sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
+  };
+  buildUBoot = {
+    version ? null
+  , src ? null
+  , filesToInstall
+  , installDir ? "$out"
+  , defconfig
+  , extraConfig ? ""
+  , extraPatches ? []
+  , extraMakeFlags ? []
+  , extraMeta ? {}
+  , ... } @ args: stdenv.mkDerivation ({
     pname = "uboot-${defconfig}";
-    inherit version;
 
-    src = fetchurl {
-      url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
-    };
+    version = if src == null then defaultVersion else version;
+
+    src = if src == null then defaultSrc else src;
 
     patches = [
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203693/
       (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/extlinux-path-length-2018-03.patch;
         sha256 = "07jafdnxvqv8lz256qy29agjc2k1zj5ad4k28r1w5qkhwj4ixmf8";
       })
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203678/
+      (fetchpatch {
+        name = "rockchip-allow-loading-larger-kernels.patch";
+        url = "https://marc.info/?l=u-boot&m=157537843004298&q=raw";
+        sha256 = "0l3l88cc9xkxkraql82pfgpx6nqn4dj7cvfaagh5pzfwkxyw0n3p";
+      })
     ] ++ extraPatches;
 
     postPatch = ''
       patchShebangs tools
+      patchShebangs arch/arm/mach-rockchip
     '';
 
     nativeBuildInputs = [
@@ -90,15 +102,12 @@ in {
   inherit buildUBoot;
 
   ubootTools = buildUBoot {
-    defconfig = "allnoconfig";
+    defconfig = "tools-only_defconfig";
     installDir = "$out/bin";
     hardeningDisable = [];
     dontStrip = false;
     extraMeta.platforms = lib.platforms.linux;
     extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
-    postConfigure = ''
-      sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
-    '';
     filesToInstall = [
       "tools/dumpimage"
       "tools/fdtgrep"
@@ -251,6 +260,43 @@ in {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRock64 = let
+    rkbin = fetchFromGitHub {
+      owner = "ayufan-rock64";
+      repo = "rkbin";
+      rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
+      sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
+    };
+  in buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rock64-rk3328_defconfig";
+    extraMeta = {
+      platforms = [ "aarch64-linux" ];
+      license = lib.licenses.unfreeRedistributableFirmware;
+    };
+    BL31="${armTrustedFirmwareRK3328}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+    # Derive MAC address from cpuid
+    # Submitted upstream: https://patchwork.ozlabs.org/patch/1203686/
+    extraConfig = ''
+      CONFIG_MISC_INIT_R=y
+    '';
+    # Close to being blob free, but the U-Boot TPL causes random memory
+    # corruption
+    postBuild = ''
+      ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
+      cat spl/u-boot-spl.bin >> idbloader.img
+    '';
+  };
+
+  ubootRockPro64 = buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rockpro64-rk3399_defconfig";
+    extraMeta.platforms = ["aarch64-linux"];
+    BL31="${armTrustedFirmwareRK3399}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+  };
+
   ubootSheevaplug = buildUBoot {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
diff --git a/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch b/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
deleted file mode 100644
index 92725cac5b4..00000000000
--- a/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From fbee2adffd39b03e10262b09779faef94c4d5a9d Mon Sep 17 00:00:00 2001
-From: Ben Wolsieffer <benwolsieffer@gmail.com>
-Date: Thu, 18 Apr 2019 15:50:24 -0400
-Subject: [PATCH] fdt: make compatible with dtc >=1.4.6
-
-Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
----
- include/libfdt_env.h         | 6 +++---
- lib/libfdt/fdt.h             | 6 +++---
- lib/libfdt/libfdt.h          | 6 +++---
- lib/libfdt/libfdt_internal.h | 6 +++---
- tools/dtoc/fdt.py            | 2 +-
- 5 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/include/libfdt_env.h b/include/libfdt_env.h
-index 6c6845f76c..1fbcd0ef83 100644
---- a/include/libfdt_env.h
-+++ b/include/libfdt_env.h
-@@ -6,8 +6,8 @@
-  * SPDX-License-Identifier:	LGPL-2.1+
-  */
- 
--#ifndef _LIBFDT_ENV_H
--#define _LIBFDT_ENV_H
-+#ifndef LIBFDT_ENV_H
-+#define LIBFDT_ENV_H
- 
- #include "compiler.h"
- #include "linux/types.h"
-@@ -32,4 +32,4 @@ typedef __be64 fdt64_t;
- /* adding a ramdisk needs 0x44 bytes in version 2008.10 */
- #define FDT_RAMDISK_OVERHEAD	0x80
- 
--#endif /* _LIBFDT_ENV_H */
-+#endif /* LIBFDT_ENV_H */
-diff --git a/lib/libfdt/fdt.h b/lib/libfdt/fdt.h
-index 3134d78332..38cc182739 100644
---- a/lib/libfdt/fdt.h
-+++ b/lib/libfdt/fdt.h
-@@ -1,5 +1,5 @@
--#ifndef _FDT_H
--#define _FDT_H
-+#ifndef FDT_H
-+#define FDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -64,4 +64,4 @@ struct fdt_property {
- #define FDT_V16_SIZE	FDT_V3_SIZE
- #define FDT_V17_SIZE	(FDT_V16_SIZE + sizeof(fdt32_t))
- 
--#endif /* _FDT_H */
-+#endif /* FDT_H */
-diff --git a/lib/libfdt/libfdt.h b/lib/libfdt/libfdt.h
-index cb533f4275..9345a59f05 100644
---- a/lib/libfdt/libfdt.h
-+++ b/lib/libfdt/libfdt.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_H
--#define _LIBFDT_H
-+#ifndef LIBFDT_H
-+#define LIBFDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -2189,4 +2189,4 @@ int fdt_device_is_available(const void *blob, int node);
- int fdt_node_offset_by_phandle_node(const void *fdt, int node, uint32_t phandle);
- #endif /* SWIG */
- 
--#endif /* _LIBFDT_H */
-+#endif /* LIBFDT_H */
-diff --git a/lib/libfdt/libfdt_internal.h b/lib/libfdt/libfdt_internal.h
-index 9a79fe85dd..8fdda7ee79 100644
---- a/lib/libfdt/libfdt_internal.h
-+++ b/lib/libfdt/libfdt_internal.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_INTERNAL_H
--#define _LIBFDT_INTERNAL_H
-+#ifndef LIBFDT_INTERNAL_H
-+#define LIBFDT_INTERNAL_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -47,4 +47,4 @@ static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)
- 
- #define FDT_SW_MAGIC		(~FDT_MAGIC)
- 
--#endif /* _LIBFDT_INTERNAL_H */
-+#endif /* LIBFDT_INTERNAL_H */
-diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
-index dbc338653b..ac2191fb37 100644
---- a/tools/dtoc/fdt.py
-+++ b/tools/dtoc/fdt.py
-@@ -360,7 +360,7 @@ class Fdt:
-         poffset = libfdt.fdt_first_property_offset(self._fdt, node._offset)
-         while poffset >= 0:
-             p = self._fdt_obj.get_property_by_offset(poffset)
--            prop = Prop(node, poffset, p.name, p.value)
-+            prop = Prop(node, poffset, p.name, p)
-             props_dict[prop.name] = prop
- 
-             poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
--- 
-2.21.0
-
diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix
deleted file mode 100644
index 9dd43f5fe7e..00000000000
--- a/pkgs/misc/uboot/rock64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
-
-  # Close to being blob free, but the U-Boot TPL causes the kernel to hang after a few minutes
-  postBuild = ''
-    ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rock64-rk3328_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "tpl/u-boot-tpl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL blob
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/pkgs/misc/uboot/rockpro64.nix b/pkgs/misc/uboot/rockpro64.nix
deleted file mode 100644
index 436e1bcdf87..00000000000
--- a/pkgs/misc/uboot/rockpro64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  # Upstream ATF hangs in SPL
-  extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.25.elf" "u-boot.itb" "all" ];
-
-  postBuild = ''
-    ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_933MHz_v1.19.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rockpro64-rk3399_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL and ATF (BL31) blobs
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/pkgs/misc/vim-plugins/build-vim-plugin.nix b/pkgs/misc/vim-plugins/build-vim-plugin.nix
index b797f49df9e..4ca99b09af5 100644
--- a/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -18,7 +18,7 @@ rec {
     buildPhase ? "",
     preInstall ? "",
     postInstall ? "",
-    path ? (builtins.parseDrvName name).name,
+    path ? stdenv.lib.getName name,
     addonInfo ? null,
     ...
   }:
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index e8e9702f964..b83cc814511 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -39,34 +39,34 @@ let
 
   agda-vim = buildVimPluginFrom2Nix {
     pname = "agda-vim";
-    version = "2019-08-04";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "derekelkins";
       repo = "agda-vim";
-      rev = "4fc0a0a95a347b7b98715a78b6f41edd5aa084c5";
-      sha256 = "15zzc1aqzflw36462ka5914cmfqckciqcgcff0kfmzglfcx7is6z";
+      rev = "fbb55d9ef8829630ea8f12c112bebc69c7a15337";
+      sha256 = "0fg43ggaxpnybc9ism4b5q7l0n6rdgh4vkpch80x89mwld287lqv";
     };
   };
 
   alchemist-vim = buildVimPluginFrom2Nix {
     pname = "alchemist-vim";
-    version = "2019-07-04";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
-      rev = "336b3f549cc6028db7bf8a43f725b93250f9cae1";
-      sha256 = "19wzrydm1qciwagklhl7ln37ax69jfgzfw55k4cxbx7g972dg2s3";
+      rev = "911eda990ef259d1f035061c5dfb2f44adb2697e";
+      sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m";
     };
   };
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-10-29";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "2d9380d75c5c27a3241925d24ab3be8977a43207";
-      sha256 = "1xn9c8j3z7344a1cczpccig1hg1kzq286ch60n22jrm6fq732znc";
+      rev = "5f84325cd811ec179b7f3642652438c6a45b174d";
+      sha256 = "0fdy4kvd7bg3xcls5g2xxml8hlwb80qvs9225dh2hqif0isbf4l2";
     };
   };
 
@@ -83,12 +83,12 @@ let
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2019-09-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "ac2e4f55aedddd7f473aaaa4035062c3c489e8c3";
-      sha256 = "0kgdm06g67y3pfzcd4wqdrc59klxchrim755ml1038hbnk39lilj";
+      rev = "19e6ae0f2258953591d7c674abd7aca3ceb51374";
+      sha256 = "0283nm92666idvwp0pzy6yzcfvrqy12nwn9zys1jbs34kk6srwa8";
     };
   };
 
@@ -149,12 +149,12 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2019-09-21";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "21f5c63f22fe70b0fae3ff0fb9e55c602e622ea7";
-      sha256 = "1k7h8faz9qqyqzpkxxhsjsdqyah6amwk3rlhxygz9qg25mp558xf";
+      rev = "b5037cbf87ee4b0beed91adb33c339122e58326f";
+      sha256 = "1yxjdb2cmha6vqhmsv8vy80whs201wwwx0xmyp76mz9zkcsyljak";
     };
   };
 
@@ -204,23 +204,23 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2019-07-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "f8ba659ba6a094d000f355807efb71f7975d10f0";
-      sha256 = "16np6mkmn7h4rx9471yqy4k89m6w9v1gz1cyphlwn90gzm8f97xz";
+      rev = "6d6ac26c537b996819eda9f0cf8f303d10048c10";
+      sha256 = "120bx0wskkpk2r05sv74430270lf3c5j1z02bd05i9747dbjcgq5";
     };
   };
 
   camelcasemotion = buildVimPluginFrom2Nix {
     pname = "camelcasemotion";
-    version = "2019-06-28";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "bkad";
       repo = "camelcasemotion";
-      rev = "406368dea50303884aa321d2cdff714e010f951e";
-      sha256 = "0a1grafg05cb9mpk69j2y433ifm27ksy29wzlxlm5798dmb473mw";
+      rev = "de439d7c06cffd0839a29045a103fe4b44b15cdc";
+      sha256 = "0yfsb0d9ly8abmc95nqcmr8r8ylif80zdjppib7g1qj1wapdhc69";
     };
   };
 
@@ -303,23 +303,23 @@ let
 
   coc-emmet = buildVimPluginFrom2Nix {
     pname = "coc-emmet";
-    version = "2019-08-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-emmet";
-      rev = "0fd6e93dcab3507240962a480b42e08e818d1fa9";
-      sha256 = "196cvnynkm34sa90gznp81l2l3wl2sxfishqzwr8xxlk2cdcshxn";
+      rev = "1e65237f65b94bd5f9376023f557a26c14c9d35a";
+      sha256 = "16f3gdnprxw939zwdy7lzksj1qwlwfs174vk0nzf1d8yb04a7y2g";
     };
   };
 
   coc-eslint = buildVimPluginFrom2Nix {
     pname = "coc-eslint";
-    version = "2019-10-21";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-eslint";
-      rev = "a84833d95ab641f0576dec5bf0ffde845055188a";
-      sha256 = "1r3sy5bmnl4hbsb6ln47ahxqqbcfycca0zn6b2qnqrb64ynb30y1";
+      rev = "ba55d386f296cc3ef3da4b14147dfb7c3ef18ecb";
+      sha256 = "1jxw4h3vwbv6and90bwrgcp4cvd7af547x270lc2085nkna3hdk9";
     };
   };
 
@@ -336,12 +336,12 @@ let
 
   coc-go = buildVimPluginFrom2Nix {
     pname = "coc-go";
-    version = "2019-10-29";
+    version = "2019-12-16";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-go";
-      rev = "0f395b22aee6f99ba3cfc07d3faaf13edcb1ca96";
-      sha256 = "118nqx3k7frxvx0cz8w6k6sx905200aym2lqh0qajkg5m288vl75";
+      rev = "2408fb2c163aef22857645b58537879562373fbb";
+      sha256 = "1cffcrmz72cn9sd7yl5z4r9yqzavh9dd9pjhxyjy80g5f0ryxc93";
     };
   };
 
@@ -369,23 +369,23 @@ let
 
   coc-imselect = buildVimPluginFrom2Nix {
     pname = "coc-imselect";
-    version = "2019-07-29";
+    version = "2019-11-04";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-imselect";
-      rev = "ae248e744ac3c092c6d957d3923595676666b0e2";
-      sha256 = "11cnab1s9jkywbm3nv6wbaaafq2nxqp9g3yav6lc74bazkzflm8i";
+      rev = "19d89413b3b00db8de6ccd7db619149f542f496c";
+      sha256 = "12w36mkw6b1bxpw51h04xxg703zdwrnww0wh3j32x2bx3bycdla4";
     };
   };
 
   coc-java = buildVimPluginFrom2Nix {
     pname = "coc-java";
-    version = "2019-10-30";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-java";
-      rev = "3195dd594389247e4bdb19d129e48846d9215f54";
-      sha256 = "1k354jh521fjm2xz05x1653g31bgmx3s0bpsraj516172k605qfr";
+      rev = "4be4a57ad8f888ef92974ccb6e685358498863f1";
+      sha256 = "15175bphaiih5j63bigj5sblcyqjj68g3k81wn7dwgwdpglf1mwf";
     };
   };
 
@@ -402,23 +402,23 @@ let
 
   coc-json = buildVimPluginFrom2Nix {
     pname = "coc-json";
-    version = "2019-10-26";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-json";
-      rev = "82f2cbcbc9e29aec315357428cedee8614d15a70";
-      sha256 = "0vp735ibzifpz7mi8mcm02a1pdarjn7ax6bsi54wxclr4kniqil7";
+      rev = "13c8b482662f964af89e167a438f06493f347617";
+      sha256 = "19sqv2bflr4aw8hkq9rh8r2b9llx4dbirp5755jbvd62bvizab2d";
     };
   };
 
   coc-lists = buildVimPluginFrom2Nix {
     pname = "coc-lists";
-    version = "2019-10-16";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-lists";
-      rev = "25cd38285df23766fa8c543c307f9ddf65120902";
-      sha256 = "0smilk9mi6d4v1p03wqigvri8vk0k30fb8gqlqz5gpxdf3wwn90v";
+      rev = "6dde4a564e33251d6745631fcf3168663cad7551";
+      sha256 = "1w6cln4ac6df4ka7q4wkv303sh5bmgfzl7gck2v2n5fff7yhrqxq";
     };
   };
 
@@ -435,56 +435,56 @@ let
 
   coc-pairs = buildVimPluginFrom2Nix {
     pname = "coc-pairs";
-    version = "2019-09-10";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-pairs";
-      rev = "26b1be159c2f24d74c6f175e91b6a8fbd3868e9a";
-      sha256 = "16g2wz87l1pskn6ri71sdm1j5r4h8z1vjdg3ksqs6mz9x2vzy2zz";
+      rev = "08ad1b1565960b41005bedbbd051f90c8edacc3c";
+      sha256 = "0wfjs9hj11b0zfryfa2jnclgx4sfml9wvpjbwdqhhzz20ahc1jsh";
     };
   };
 
   coc-prettier = buildVimPluginFrom2Nix {
     pname = "coc-prettier";
-    version = "2019-10-06";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-prettier";
-      rev = "198fff4227cbc2742ed6167c1f097826e867d66d";
-      sha256 = "1ylwcr8l3bhgxb2zkqskkq97757di6vq7acxw6dd1hb5hk5a17kc";
+      rev = "f2c5959b0e8a5658017c9dcb57f03d86c3a7c484";
+      sha256 = "1c2vvjvji5wkmxlm5mi5q4px2x9fslkqsw4vii3kjc7cz2w4fnhk";
     };
   };
 
   coc-python = buildVimPluginFrom2Nix {
     pname = "coc-python";
-    version = "2019-08-20";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-python";
-      rev = "65ff16f71ead209e83d34c639594a66df2e19c49";
-      sha256 = "11bmf8rzdkgrmanyfmjckm2s3nby143lnra80q9bj2fs3dh9l5hd";
+      rev = "714ae8de45ab756d5b65f0be0b616153220b9257";
+      sha256 = "17gb0xbvczkqxzs2abknr460v0rcvgsi0m7pc4v0waggr690z53l";
     };
   };
 
   coc-r-lsp = buildVimPluginFrom2Nix {
     pname = "coc-r-lsp";
-    version = "2019-07-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-r-lsp";
-      rev = "261e14c4d80c3302dda0d7b51c45637e3390fe76";
-      sha256 = "1r4z8aiw8s66crrg9n26s93wpync7p6p3jwm32m8anvp1swkqp6b";
+      rev = "a1b97e36c601975a8d730b6965f25592b1ecd1e7";
+      sha256 = "04g1kbgm8p0asrsibmg4w6wj8i2xzwc70g7rkcs2bj3pakbkvws6";
     };
   };
 
   coc-rls = buildVimPluginFrom2Nix {
     pname = "coc-rls";
-    version = "2019-10-28";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-rls";
-      rev = "1e8610b2642232185b7e020651423d11001b7546";
-      sha256 = "18d2pxmifyacg7gki99bja7gjs7ycprsm3p6p7snf3dx3g5r4pqq";
+      rev = "c899418e8fae4a8c3eb15fee48513ae050b11d60";
+      sha256 = "0sipvs8r8i239l2334k4qnhwpaijwd524q598rp4ma34ry42c2xl";
     };
   };
 
@@ -501,12 +501,12 @@ let
 
   coc-snippets = buildVimPluginFrom2Nix {
     pname = "coc-snippets";
-    version = "2019-10-24";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-snippets";
-      rev = "1294af604d65b66bac4ff05e159dc0bd0adb8710";
-      sha256 = "093q9gx7fkahyk082gkawgvakzimvhhxazxhrdvmzsqs07yjxjmc";
+      rev = "3ffd09dad94f6f41dd03cf3cec2a6b92a7028702";
+      sha256 = "1qrkgva9yjjbjyflwaqfk84ia2vd5956ikjkmjfhd3gd52kh7hlg";
     };
   };
 
@@ -534,12 +534,12 @@ let
 
   coc-tabnine = buildVimPluginFrom2Nix {
     pname = "coc-tabnine";
-    version = "2019-09-12";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tabnine";
-      rev = "cb787892b860a53fea65954b4afa32331ab17851";
-      sha256 = "0c7hk8alggvz837w48fqiz3d01z56pxg2qss13qpp01kvvw12np6";
+      rev = "f72b4f47109918cc6ad43b42ed566bec61feff8e";
+      sha256 = "1jaj6qsascdpdyz0g8yvi7bcxf4jwcrb0766x4dsmfk9r7prxifl";
     };
   };
 
@@ -567,23 +567,23 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2019-10-06";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "a22270bede3ebab2f51c9a4bfd91305c5d5b7fcb";
-      sha256 = "1nd2hk0zdgys7gzmfzkyzsxdcc2dbw573g7wxwxsa9fsk733fydf";
+      rev = "1f76767ffb0c79a8917b122c8091dbcdf71aa824";
+      sha256 = "0p6pkhq4y69ib408g2r3a20ycfh8yyr8a5jld9snc1jpb8vi0m1l";
     };
   };
 
   coc-vetur = buildVimPluginFrom2Nix {
     pname = "coc-vetur";
-    version = "2019-10-12";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-vetur";
-      rev = "b26cda8472205bf28522f06f16a39166a0b78d2a";
-      sha256 = "0d8x4l5jk1na0a08xxq65drhcisxm5s8llsymiv9mgnqv3w43yyj";
+      rev = "8c55c4b867cf2210810133fab6c9382a6f0a14e0";
+      sha256 = "1da97d4s2qnysqk21qdm0sgxn03c2cg8vjsajccx538dwiq9f8lb";
     };
   };
 
@@ -611,23 +611,23 @@ let
 
   coc-yaml = buildVimPluginFrom2Nix {
     pname = "coc-yaml";
-    version = "2019-06-20";
+    version = "2019-11-08";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yaml";
-      rev = "aca9aae69ecd7f0953ab3353361b4ce9f089dbd8";
-      sha256 = "1f7d4hbily073pdf3cmmb2vfhb65nxljpin2dhlh57f0l1jiipdn";
+      rev = "916db4bca79c85c68e175534f733b41a79fb06bd";
+      sha256 = "016ix4jwq5c7zdvk9h2z64rwyzv39wxjr2675xrdv240f5zw0fmw";
     };
   };
 
   coc-yank = buildVimPluginFrom2Nix {
     pname = "coc-yank";
-    version = "2019-10-28";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yank";
-      rev = "636c8a3ff0fb4a950b72c626bf2075c20f7c0086";
-      sha256 = "1wz8vp558v3l1c4d3igz55iv673ypapjapyy9q3fcxya8b3qs09y";
+      rev = "79c5a97c9b7122180b869f90f7f011934f3ae8f5";
+      sha256 = "0dqz759aw0zlmgwrkv8ia45sdl27hb63ilawm9awzbl99w02psjf";
     };
   };
 
@@ -655,12 +655,12 @@ let
 
   command-t = buildVimPluginFrom2Nix {
     pname = "command-t";
-    version = "2019-08-02";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "command-t";
-      rev = "02a22d27e1c4671db32b0ded1fa2bb861c16d14c";
-      sha256 = "0aj9lnrd0v4296c8rwy4bp73dah0lx298yi6ybz3rma2gx9xss6c";
+      rev = "9bdc2e1585419640129a48c646bbf8459f96951b";
+      sha256 = "0iim0lhib6fiainyb48ibl2qzgv8cmn9yinmd1k6i2y5y26wlhfy";
       fetchSubmodules = true;
     };
   };
@@ -733,12 +733,12 @@ let
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv-vim";
-    version = "2019-06-04";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "f8d24584b01cc72e1a3bee640099a7d9bae98102";
-      sha256 = "112spld65z56zbgd0zm2p1psc8g728pbd8gig0az1lnbxp3pl3jc";
+      rev = "012cd2637d48aa33541078451d70d66930e03e0f";
+      sha256 = "1gaqxhpzskcc28qma6vcjwig8v3q3a8sf7b2ckm14i7cb4c1lyh5";
     };
   };
 
@@ -777,34 +777,34 @@ let
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp-vim";
-    version = "2019-09-30";
+    version = "2019-11-07";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "6bca8770a04c099e8c6ec7c7ea58cf9a17c8e44d";
-      sha256 = "1h0k9s5adpplrd5zga8078khdld02wxrwwg47q6n0sz5f40vjncp";
+      rev = "44c8e24956d7dcfee3ee6083a0573fed31d136ed";
+      sha256 = "0g1j4g2p48pwcvbj2p36122q71x1xybq5aqqyz40n16sjjrvcz02";
     };
   };
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2019-09-24";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "f8486e58fb02351689ae247cebf28b5fee326c33";
-      sha256 = "038zx5zn4da73ps5klixcwh64z6rivfp78l2lvaj5d1vjqh1ac83";
+      rev = "ff468225ce2c8834b944ba6e040fe18a28a67cff";
+      sha256 = "1h4yw71dj67q57d7iiw22silcmji5ibp4bj18kgm0gvwa53hy7hh";
     };
   };
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2019-10-27";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "0a42be58745b2b0a19f6d59ca6238d1dfc96a07b";
-      sha256 = "0hm3i66fni89khv8ik8xs36x5485yc2i0mn5fkhjl61ip417b13y";
+      rev = "4dc152ac826a825b69741cc79681a257e24497dc";
+      sha256 = "1j9hgz76x554wzdz9ss14c94pwp2fk7yplznhyxamndn9wcy8yiv";
     };
   };
 
@@ -843,34 +843,34 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-10-27";
+    version = "2019-12-16";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "18ab1648891e360345e1d9f3b004fb2eabf69ee7";
-      sha256 = "03pxdw9g2j0szvpncvxhwd2wx3v1fffx5il7ld3mkqm8ymi0b88l";
+      rev = "35ceadf33e1248caead987fc83f01336b81d98fb";
+      sha256 = "1bazm1n2hqgg13yp5gywzghq310qhkbfqg1v42lyvc0gax8dngzj";
     };
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2019-09-08";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "474b72a8541e529a1628084c277e6e0aa7f80fda";
-      sha256 = "00kwij67csk9yp64r8lfrc9m0jm5mqckf4c9a3489azfjn8da097";
+      rev = "856041638e98fc3bf4d4de5d90dee525f3dfa9a5";
+      sha256 = "1y6kp56n26kabmp60nnyaw46yxv9nqv5bp15hzvfpwvzq7gvpm10";
     };
   };
 
   deoplete-clang = buildVimPluginFrom2Nix {
     pname = "deoplete-clang";
-    version = "2019-06-22";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-clang";
-      rev = "30f17cb58b7838492fbe6b9d62b70b52c8ceedf7";
-      sha256 = "0rdr8hxmlbf633ffr217l5vzqdxjxihp4vi2iq3k1491b0pwnzi0";
+      rev = "2ea262e98edcb66e828f9077fcc844100320eb63";
+      sha256 = "1wvk61f8ph2vpl6llzmir3qs3zwaw3lrphs16d1j7ljkdl3bk49k";
       fetchSubmodules = true;
     };
   };
@@ -899,24 +899,24 @@ let
 
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
-    version = "2019-07-04";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
-      rev = "fa73f06f2e62ca58093eb02edc6134f002f27df4";
-      sha256 = "02d3h5mnvzqlhq17qadyzfh4570r7gpv0bimapff0nvbyjk4qgkc";
+      rev = "bed0a49705caf350e4f1ac51172bb3021a723734";
+      sha256 = "022n512rr4szw0jn10d056qc5kaykpkqjlgpnnlfq00i1ns7gpm6";
       fetchSubmodules = true;
     };
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix {
     pname = "deoplete-jedi";
-    version = "2019-07-22";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-jedi";
-      rev = "46121d9ca7688c148764d7ee488bb3572d1434c4";
-      sha256 = "1hiw42dm12xyhmvg180mrbjv3bbbvrgl4p2abll0lv5l2zmsbf12";
+      rev = "7990447a308c6c5839ada856f31a7dd3e34f20a4";
+      sha256 = "1570k79ihz6kif85ichdgdnbipbdkqb5ks8izhqppb68lajyjvd2";
       fetchSubmodules = true;
     };
   };
@@ -932,14 +932,25 @@ let
     };
   };
 
+  deoplete-khard = buildVimPluginFrom2Nix {
+    pname = "deoplete-khard";
+    version = "2019-09-02";
+    src = fetchFromGitHub {
+      owner = "nicoe";
+      repo = "deoplete-khard";
+      rev = "27221723a3bb8e480ff8cbe7f4be9ff38c076bf7";
+      sha256 = "0g7sysm5lb8fpgagfg4565fz4rn16djdc4m2213ryq1s3crx40gw";
+    };
+  };
+
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-09-20";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "335e8a03d5741aa42bd7ce64d79e31d7de570ab5";
-      sha256 = "0jn4fn9vkxf3av6mdmzixz20l9ca8n2sql7j9mcmh06mn86949bs";
+      rev = "ca4018c69aca115033f3e3b5408331e76ff64cd0";
+      sha256 = "0k3vgikvjapqniz0cmnhjx4ds5dn4kscd443sf2x2nd6ppa6fd6j";
     };
   };
 
@@ -967,34 +978,34 @@ let
 
   deoplete-ternjs = buildVimPluginFrom2Nix {
     pname = "deoplete-ternjs";
-    version = "2019-09-22";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "carlitux";
       repo = "deoplete-ternjs";
-      rev = "307f9c3beb178026d122d9ab3825e4640dd1c29a";
-      sha256 = "039qbcg9fanrs7dc52n987rhd0xdyvsmjdrfd1dcrr6ys990n64d";
+      rev = "5405e84a44fc4ab5234c9a253ad4aa2b161e5897";
+      sha256 = "0684f9ci0y4wihf04z9r8x55cir02al4wp911dz0zg678z8w0yha";
     };
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-10-27";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "ff09a7ab58e5271053c59825895d607316657023";
-      sha256 = "183wx20p3mmbxwbdyd5z9gxzhfrgjjl2swymmdw00bw5ys7j5w0r";
+      rev = "18681650e81e809cd56e1006cf92cd7f9108266b";
+      sha256 = "0rlh97bdmiagrxs9gqjvrimpqcj9w0ys77l0kyxb111zcgcr8s9s";
     };
   };
 
   dhall-vim = buildVimPluginFrom2Nix {
     pname = "dhall-vim";
-    version = "2019-05-01";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "20d2fa23dddc11d694d62c957e4aa7287dba63d3";
-      sha256 = "0718acz3qwrnjy1d76bar825dhbjj7mm5vrkgwxhyvdljx5w0hxs";
+      rev = "016420bcae13eb13d47fd6717b0d5905e79d6dde";
+      sha256 = "1j15nrv3cdcjxssspzw3zz77kmpkr5r4w00ili0br2a4wlr94id6";
     };
   };
 
@@ -1022,23 +1033,23 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2019-10-13";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "dcbeba8ce075e3b6afc0422bbb339ef953582347";
-      sha256 = "1y07a42a976z5cvkkjg6sir0vi7xdmk97bzyc2qvpx16gvqby6a2";
+      rev = "e20bff5f3ef4ea29b64f386fa1994281832863d0";
+      sha256 = "15xsin3wv7gba0wd7766ylgl9k32xzk0crv3liqmxsn5kgggkcxa";
     };
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2019-07-20";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "c718cefc51ccdaf7bd27c4c1ae2de55103434241";
-      sha256 = "1sbpkv2q68s6qnm03jr1vazvdqqnrgiw53w4jn38dr8l9i2im199";
+      rev = "53c56fcf358ca36b00b9cbf7dd70642c8922fdd0";
+      sha256 = "1i0sk2s10ac5lagvn74m21lxsss1h4nfnn51lxnaflqbvlba4rln";
       fetchSubmodules = true;
     };
   };
@@ -1090,12 +1101,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-10-20";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "95ea5ae8b0f1766237438f28ecce56414ee6432a";
-      sha256 = "1qn825py75cdh414h9gcdf41w7wv84y38m5h39p0w04qz4p585xc";
+      rev = "55ef64a057025209c48905df06f725430e63542f";
+      sha256 = "07qca1xmwaak45ccgv5vg69s3vwl1p5h9r2agh0aw30qw50jvkkw";
     };
   };
 
@@ -1201,34 +1212,45 @@ let
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2019-07-04";
+    version = "2019-12-22";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "359a80e3a34aacbd5257713b6a88aa085337166f";
-      sha256 = "0a01g0gw59m57zizidvm9n89qh8lvj0aq4kyxy27i72ysclp3wsf";
+      rev = "76669c3c1d675833f9d89f6496f16a7accc0f40e";
+      sha256 = "0p5z9bljjfnp4kkpf9pb5zwv5l9xdk3aikpfxjj8scafl99k4m5r";
+    };
+  };
+
+  gen_tags-vim = buildVimPluginFrom2Nix {
+    pname = "gen_tags-vim";
+    version = "2019-06-28";
+    src = fetchFromGitHub {
+      owner = "jsfaint";
+      repo = "gen_tags.vim";
+      rev = "208cd0490547bc8f7615eea1b26e4635d2e60a96";
+      sha256 = "00s1kxi1bsvz06z7x78kls0k6ncnbqdyz14fvdxxq82f6s1kdvdw";
     };
   };
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2019-09-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "d09e3a3cf3b9c37b1cf0cd7e4952e24c46bfb9fe";
-      sha256 = "0d0brqssq4qrx0l0yr668jvq5zk5pxqfkr8d8acbds8a48afz6zf";
+      rev = "946aac94d5690e9ca1ca2db21a254fea56e45b2b";
+      sha256 = "1q1rq1rxxq5hyglz90d7vd1m6az12lr2wz9aafn6zir68n3ak0lj";
     };
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2019-10-13";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "3318e1f29fde78bd75b2863d6cae6e1035f814de";
-      sha256 = "0nbmg9m6ydma7hx8kb2dgswv1ksy68iqcpsgj81782g0ksimdf8b";
+      rev = "723054642faf15082bbad6a0d6db921918e5db61";
+      sha256 = "0ln5y7jfd4m59ci39zffjmzi9bda0bck7mkxk0i5fyp4whp8jqdr";
     };
   };
 
@@ -1309,6 +1331,17 @@ let
     };
   };
 
+  gv-vim = buildVimPluginFrom2Nix {
+    pname = "gv-vim";
+    version = "2019-12-09";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "gv.vim";
+      rev = "a18f4465974dfbd53f1ea33bfbbcc8a32baf1b4b";
+      sha256 = "1b4y39zqjggqw6sybmr73di3grhnk19xb5jvyckjb43rp8nxrr00";
+    };
+  };
+
   haskell-vim = buildVimPluginFrom2Nix {
     pname = "haskell-vim";
     version = "2018-05-22";
@@ -1344,12 +1377,12 @@ let
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg-vim";
-    version = "2019-08-31";
+    version = "2019-11-07";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "ddc3e4ea485771e4f0b939fd8259f3152eb1bd29";
-      sha256 = "0128yxhafndllc383ncw4ka0r7q8mwvb3nx70f4plb6m3f07x8rm";
+      rev = "dc4b4b5838d126c22c44229a3ee170f6ac79ba86";
+      sha256 = "1hicambipbgwf22fax782gpfmcndcpikj3bpf8v91wd5fxm7ik74";
     };
   };
 
@@ -1410,12 +1443,12 @@ let
 
   intero-neovim = buildVimPluginFrom2Nix {
     pname = "intero-neovim";
-    version = "2018-08-07";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "parsonsmatt";
       repo = "intero-neovim";
-      rev = "9bb546e37adc1ffda28ff33922c506c15ed67b10";
-      sha256 = "173kc8xrbmkhrc9ssaz6h5w1zisxsgz4bibihgj9bx60ibn4kaa7";
+      rev = "4ce2d154379f8c95b3819512a9b67ead5204ffd0";
+      sha256 = "1na61qb31z80973jfi7ziw2zv6y73rm0bpfb6iqxjppmg4iqgl3i";
     };
   };
 
@@ -1454,12 +1487,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2019-10-20";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "08f13af066fad3a60cf241b37ac1878b8cfafa46";
-      sha256 = "0ghdbxmmw1s67vb4l4ap6n6dy69lpp8k1sln27abxhympi2fs2dg";
+      rev = "55120b28e4f8aa1da6b5677ebd627a5f5557a9c7";
+      sha256 = "1q4645ayqyi82j0pbak6i8r6pkq553yr67rd21x22rghwg6h37la";
       fetchSubmodules = true;
     };
   };
@@ -1497,6 +1530,17 @@ let
     };
   };
 
+  kotlin-vim = buildVimPluginFrom2Nix {
+    pname = "kotlin-vim";
+    version = "2019-05-26";
+    src = fetchFromGitHub {
+      owner = "udalov";
+      repo = "kotlin-vim";
+      rev = "b9fa728701a0aa0b9a2ffe92f10880348fc27a8f";
+      sha256 = "1yqzxabhpc4jbdlzhsysp0vi1ayqg0vnpysvx4ynd9961q2fk3sz";
+    };
+  };
+
   lalrpop-vim = buildVimPluginFrom2Nix {
     pname = "lalrpop-vim";
     version = "2017-11-22";
@@ -1576,23 +1620,23 @@ let
 
   lh-brackets = buildVimPluginFrom2Nix {
     pname = "lh-brackets";
-    version = "2019-05-23";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "f3240c3782a97720e9a344b5bd5f6808e156722b";
-      sha256 = "1qyh58xxp6hh86bykk17934pgg72q7xfsngrhrrr3cxb8jpnmx7z";
+      rev = "441b2d3827158c1c1781e797dd5953fa2b7ba63f";
+      sha256 = "134lb5nnbkwlcgryd39n9dbqyqzadnfibk76m67pjk60sy4s64wk";
     };
   };
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2019-09-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "3c041e1e98c207f260f9c0b2f323e724adf1fb6d";
-      sha256 = "063mvhip0pvnil2ip2nlwadn5g845k0v6r3p44zywlklgm5l62ss";
+      rev = "12388bb5ce5f5a16dc55dc22b80d7a410410b479";
+      sha256 = "1k7l8sq6jcl0a6yk68ch72w20rhwi26fhrp0yvvvim0krs0yr068";
     };
   };
 
@@ -1609,12 +1653,12 @@ let
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
-    version = "2019-10-18";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "d7fd8d7a7465194e8eb67ce759c9fe392035f939";
-      sha256 = "0dg0m5ff1gwqn8l4il2yykgmi71vjyp1z9dwil9jn74xk1zhwszp";
+      rev = "6fb3ddd293cbd0614f6ed5e637a059c72de643f7";
+      sha256 = "1c0dsxqj5f3i2i3k6q7m1b2xlxz9mizmchydw1mz7s3rd0vs06sq";
     };
   };
 
@@ -1651,6 +1695,17 @@ let
     };
   };
 
+  mattn-calendar-vim = buildVimPluginFrom2Nix {
+    pname = "mattn-calendar-vim";
+    version = "2019-11-24";
+    src = fetchFromGitHub {
+      owner = "mattn";
+      repo = "calendar-vim";
+      rev = "de499b9525490b10edbd28fb8f0c4e81c6a6f20c";
+      sha256 = "0xvvkq9zckmv9pnzvxg71fblly8lksfi736brbcwcvnszqif4b69";
+    };
+  };
+
   mayansmoke = buildVimPluginFrom2Nix {
     pname = "mayansmoke";
     version = "2010-10-18";
@@ -1675,12 +1730,12 @@ let
 
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
-    version = "2019-07-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2";
-      rev = "53b6531769e43c7e3c9051e3a12ab31e3e06a422";
-      sha256 = "1kf2gfcw0wmyib72na3j2dsw6q4qff1r9lvdbk7cm7iclhwylhma";
+      rev = "a6ab1a4d17a295dae5446382a45c9ea3b2936f1e";
+      sha256 = "1abxy7p0b6y2zvi7lmdhgkyl1ws281n3dsfk15lkg9j0sk51j06l";
     };
   };
 
@@ -1697,12 +1752,12 @@ let
 
   ncm2-jedi = buildVimPluginFrom2Nix {
     pname = "ncm2-jedi";
-    version = "2019-06-07";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-jedi";
-      rev = "86744a7641ce11e22d01778c310e5015f85ef412";
-      sha256 = "16h17cqy76iwd9b3wsmmzjg6j465mjd5kjybmk6dilxmq07q24c9";
+      rev = "b28bf6d054051cc1c7a6b148323d3adb9baa4ed5";
+      sha256 = "07pq8akzvlb8hzksgxx1c50j09ia0xnszq1f83x75kqsjg5f6nhy";
     };
   };
 
@@ -1752,34 +1807,34 @@ let
 
   neco-look = buildVimPluginFrom2Nix {
     pname = "neco-look";
-    version = "2018-11-09";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "ujihisa";
       repo = "neco-look";
-      rev = "8c3951acb93b72dda4572859928ef7b372485596";
-      sha256 = "1gd692yc1x3753rxg58hwc7nwmm4rjr03y1xaczy1qahq1bm9a40";
+      rev = "4d7f1fd7e406c302fba2a1358017c5a76d0f9fc1";
+      sha256 = "1brvzg15ni5j60wncpvxhs5k36wz83lhvfcnvja2l9yrngcgh6vr";
     };
   };
 
   neco-syntax = buildVimPluginFrom2Nix {
     pname = "neco-syntax";
-    version = "2017-10-01";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-syntax";
-      rev = "98cba4a98a4f44dcff80216d0b4aa6f41c2ce3e3";
-      sha256 = "1cjcbgx3h00g91ifgw30q5n97x4nprsr4kwirydws79fcs4vkgip";
+      rev = "6c3862ac82d2c917fa8b4126832de7d3a909f1fe";
+      sha256 = "1kmzlz6c5bs7f4dxgrdn4azwh55k6ghhyzy8jjdgj0wsb309y92k";
     };
   };
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2018-10-30";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "4c0203b44f8daa7e2f72e2514488d637e8a766a4";
-      sha256 = "03v3h2ks6y9pl960lnvzxlfhnn6l2pcn6d6012znw2wqpralrjq2";
+      rev = "5be295ef60f0e3234164ef822a7471389a7035c5";
+      sha256 = "1y73hyb82vs3wcbv02k9n4krvmyn1yhp1mh88jslhcniql2nnj2a";
     };
   };
 
@@ -1796,23 +1851,23 @@ let
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark-vim";
-    version = "2019-06-15";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "eeafb097ad5d9aa9db4ba43b8556306da9e3329f";
-      sha256 = "0n34980wdvxrgymnb0xgdy01mv201643xijr9czi0pf1hvfsbd70";
+      rev = "44919aa0bebfa60e93e653fdd2a81d1c75c2e721";
+      sha256 = "1wz9ygfdg59jwi19l9njcxknf77azlx5nkf5q0ghk6zyv1mqwvc1";
     };
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-10-07";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "ec512eb8d8d66fa15bb7f5df2f500d117aa3ee0d";
-      sha256 = "0v2i0wwiyc5x9s3ff7qpddicf9i18hhmzffgkm0hfmnspln04vml";
+      rev = "b4f7ad5ebb759f56c598527ab671aecace114ed5";
+      sha256 = "0xq0vxq86am6xj4sxsnj131d54fds532pikabzsz2l8gnikb4b2r";
     };
   };
 
@@ -1829,12 +1884,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-10-19";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "75b50f8ab8dbf57c193cfe5f8ca4edd975ccd314";
-      sha256 = "16c6zjqskfdcrdk08cxjpbc1kyixnbmzy7d4mz0xrkxh3bczqgff";
+      rev = "212c0d8b05ee65b9be77675db147d05abd323a46";
+      sha256 = "0fjmrnmnqjb1r4cxbrlxwpwbm7jgs47wx6pql565946adv5bckh2";
     };
   };
 
@@ -1851,23 +1906,23 @@ let
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
-    version = "2019-08-11";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
-      rev = "f38f1732e4bb0643b3019b5b733a87f5f03ea348";
-      sha256 = "1brzryd2sc44xpkz4w4s78a8vmwddvzkqgiyiaygp45k87q2yp24";
+      rev = "7e300f1b986f46b217c26906ca4ee88629f18610";
+      sha256 = "121zqdmpz2dmgsc6zzvrbjhbc3ik5hbj069wh33laxvj74gsar6k";
     };
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2019-10-13";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "037b7a76f28d51c126de43fb88f01b592193c835";
-      sha256 = "0n0i4iax3argmmzcwm22yrs9av71nqydza15c9ynlwkdd5gi2xvp";
+      rev = "84057dd1dd28e1198d0b2777301ef6cafd8f2cef";
+      sha256 = "164077vmqf4kcj0kn5c027faa4fjzfdbl1cz4j45dxpbak36hy6w";
     };
   };
 
@@ -1884,23 +1939,23 @@ let
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2019-09-21";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "f6c22fda80455b52957b3fd11d94acc44db21250";
-      sha256 = "1r1fx958qhbs8xq31wrp5jyfvqjrs611xywv7avpwy9991rh33xv";
+      rev = "9f0e71200274fc7906df1284d18d43c127214c2c";
+      sha256 = "0shg7a66w8l6g872fgpf59sialc8gs3nx9h1awgngy0kk0m17ilq";
     };
   };
 
   neovim-fuzzy = buildVimPluginFrom2Nix {
     pname = "neovim-fuzzy";
-    version = "2018-11-15";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "cloudhead";
       repo = "neovim-fuzzy";
-      rev = "c177209678477d091ee4576e231c5b80b44514d0";
-      sha256 = "069phpy1p8dindi6whddsb9x5zyw1adzsnv7br7q955hf6x9bxxj";
+      rev = "53383395befafce802c902c21b54847074454491";
+      sha256 = "064qi6zv2hrzn91pvr31b9zj2q0k9vbkk5csdhw5y52q26p1gakq";
     };
   };
 
@@ -1917,34 +1972,34 @@ let
 
   neoyank-vim = buildVimPluginFrom2Nix {
     pname = "neoyank-vim";
-    version = "2019-03-27";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoyank.vim";
-      rev = "6a41fd651c00b1ff6a6298cb2be088e8d27d3629";
-      sha256 = "1p084xbycwkghfih41z1sc6nn2xi7471vj8zgc9jgw0qkxbmbcnn";
+      rev = "1829c6e426f829edea46660d0db08d4488010fcd";
+      sha256 = "1y6fvxqpj3rwf1fmjib177lqzh3z7syp7bccn79g1j8177m515w6";
     };
   };
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2019-10-05";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "92082862364cf5ec3eec79a025bbc7bc5165e05f";
-      sha256 = "0aqjc26l1m62jgj34difkkbbd0kam1sa6ldfwf2fbkxs3f5y63q8";
+      rev = "ce590719f67ec031f75935bdbfe0c9616ea878b9";
+      sha256 = "09q72ddypwh8mpg467nl6z16mvs29gxhwlmm3npn0817c6sf9dqb";
     };
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-10-22";
+    version = "2019-12-16";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "fec3e57ad23e4c268d07181d6afb858925b647a1";
-      sha256 = "1s5rmzl2rlqgxms5gi8gj6nnk18qqfsz6r40kk84cgqkf0ip13xv";
+      rev = "1ab85e33bef8763a618c505ee5a0611519f81e5a";
+      sha256 = "1fxbl06pqm1zay0lbg9q6qq21rbcbpmbn53kfw86qyqj71rayd01";
     };
   };
 
@@ -1972,12 +2027,12 @@ let
 
   nord-vim = buildVimPluginFrom2Nix {
     pname = "nord-vim";
-    version = "2019-05-25";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "arcticicestudio";
       repo = "nord-vim";
-      rev = "9f7ce848723f69e33792e5606091bbfd5739d253";
-      sha256 = "1n6kdnll5jh92kfbwwm8544mpp7c2awqsaps91agqjd3nwa5x27x";
+      rev = "f06189a4c054fe8c22e46aca4d451e03456f2283";
+      sha256 = "0gk4zq0gz3nnwfkldswg9bjpk0gf6d6mgfzcgvj0pnlbja6ass81";
     };
   };
 
@@ -2014,6 +2069,17 @@ let
     };
   };
 
+  nvim-lsp = buildVimPluginFrom2Nix {
+    pname = "nvim-lsp";
+    version = "2019-12-22";
+    src = fetchFromGitHub {
+      owner = "neovim";
+      repo = "nvim-lsp";
+      rev = "842c4413c1e6585960db503080c8ac663dba9440";
+      sha256 = "0nbbsq8y51c15wh29c3ia6lk6ahr8r281r5069x56v478n8p82h8";
+    };
+  };
+
   nvim-terminal-lua = buildVimPluginFrom2Nix {
     pname = "nvim-terminal-lua";
     version = "2019-10-17";
@@ -2027,12 +2093,12 @@ let
 
   nvim-yarp = buildVimPluginFrom2Nix {
     pname = "nvim-yarp";
-    version = "2019-10-13";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-yarp";
-      rev = "81caad80107abb9c2f5159e02e2cd95876370bec";
-      sha256 = "01x1jx7wxpjkv09l9wx1ygsjqrdvfy47pxqgjzmnx4x126ji9gw2";
+      rev = "83c6f4e61aa73e2a53796ea6690fb7e5e64db50a";
+      sha256 = "0yswx77gwxsac4aw2hkx0krjz4jh7pj5bgpvshynj5dlp34ip0m0";
     };
   };
 
@@ -2071,23 +2137,34 @@ let
 
   open-browser-vim = buildVimPluginFrom2Nix {
     pname = "open-browser-vim";
-    version = "2018-11-29";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "open-browser.vim";
-      rev = "b900ff9d39bb36891704bd0fe76737ee3a7ac2b9";
-      sha256 = "1sws0pzm13cgl7mf6938xjmh23hk02agf23zfx5rdb4d2lcn4ir3";
+      rev = "cd29e8c8db02cd7744728a8f77a829b967e5ff31";
+      sha256 = "0n1q76bcavkh1smk3l78ai7jh7qzn3sbpqcxs3pjf5za5j4c5i48";
+    };
+  };
+
+  palenight-vim = buildVimPluginFrom2Nix {
+    pname = "palenight-vim";
+    version = "2019-08-21";
+    src = fetchFromGitHub {
+      owner = "drewtempelmeyer";
+      repo = "palenight.vim";
+      rev = "139f5b929a8be2530c7386a5b4610d4459941199";
+      sha256 = "061iqgw9kzpsni9159bd8hllpkdmnrjbzpi9phy91l9klnja2cam";
     };
   };
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2019-07-07";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "20f3b25cdd772d4483eb8ced453f94f93b6126e1";
-      sha256 = "1yck7f48v9rz7wq2q2b372bv07qmpj562ncwfdiavsgy6wms3p4b";
+      rev = "ddd09867ed4e020b3ba2eb47dc3ef365da5b0fed";
+      sha256 = "1dhbnd99xs6l5alqhn9m1nynmr9sbvrqj2137l23ysisprl3rgmr";
     };
   };
 
@@ -2115,12 +2192,12 @@ let
 
   plantuml-syntax = buildVimPluginFrom2Nix {
     pname = "plantuml-syntax";
-    version = "2019-10-17";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "08f69d9dfc314021eef8802f1acbce051bf7fda0";
-      sha256 = "040ya0grhalylnaqrjgdlw0f7mfl87pz5y3f624gqq73pcf36skk";
+      rev = "82ff416ce99cc9f69b1af54b8832eaf6cdbeaea6";
+      sha256 = "1297h9jipfx2xw5dqh1286g2syv5c18g15644lqn11s62skqxd16";
     };
   };
 
@@ -2190,14 +2267,25 @@ let
     };
   };
 
+  quick-scope = buildVimPluginFrom2Nix {
+    pname = "quick-scope";
+    version = "2019-04-22";
+    src = fetchFromGitHub {
+      owner = "unblevable";
+      repo = "quick-scope";
+      rev = "994576d997a52b4c7828149e9f1325d1c4691ae2";
+      sha256 = "0lr27vwv2bzva9s7f9d856vvls10icwli0kwj5v5f1q8y83fa4zd";
+    };
+  };
+
   quickfix-reflector-vim = buildVimPluginFrom2Nix {
     pname = "quickfix-reflector-vim";
-    version = "2018-08-12";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "stefandtw";
       repo = "quickfix-reflector.vim";
-      rev = "c76b7a1f496864315eea3ff2a9d02a53128bad50";
-      sha256 = "02vb7qkdprx3ksj4gwnj3j180kkdal8jky69dcjn8ivr0x8g26s8";
+      rev = "8e9c05a110b80ab66fc8bc3d5fe9e6fa168aada6";
+      sha256 = "1i8453z3s0xmbmbzk3kpxwvd42ar9v2m2gjqic9k7njpxw87czvs";
     };
   };
 
@@ -2258,12 +2346,12 @@ let
 
   readline-vim = buildVimPluginFrom2Nix {
     pname = "readline-vim";
-    version = "2019-08-24";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "ryvnf";
       repo = "readline.vim";
-      rev = "40964933819e2a719e6e34adcf3e8b2210c5c6ce";
-      sha256 = "1jc8lzl49nl7r3v1b7fk6zpiba41h51qsi2w4lhf8v6lnzbazii7";
+      rev = "9711f3c7c1d295e775750d7421060d74ee1b56e3";
+      sha256 = "0zvavhc8033isdn7gdfla5kwif40rkn9p4zmkvwy423dpb3432h2";
     };
   };
 
@@ -2335,12 +2423,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2019-10-20";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "97fdc4e4975515d8e8a5a82380dd85628d59a005";
-      sha256 = "1ggnl9h0jqb3zf8n8vpvlizxb3fikmghwpj8d3xq3ny54wfjgx78";
+      rev = "05f98470e55722aaf9b1a1ef1eb272f2d95e349d";
+      sha256 = "0hg8jmbybhfaiiwzm4rh7m706mwvzkyk1vzg8jxq8653cbbjfzib";
     };
   };
 
@@ -2357,23 +2445,23 @@ let
 
   semshi = buildVimPluginFrom2Nix {
     pname = "semshi";
-    version = "2019-10-01";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "numirias";
       repo = "semshi";
-      rev = "b50f1bcc48bb944704c586b462a5e9d5cdf0d532";
-      sha256 = "1f2wqqhnfyicx8dgna6lcsa3pl5bxbjqf261rz9phxw649rsa9a4";
+      rev = "801d0c971d3d7291cf2fc22d74ac69155a71a279";
+      sha256 = "0adq1qxlxd53ps5byjvqmzk266f3wbvqmw74dkx6vd41zqw38wfx";
     };
   };
 
   seoul256-vim = buildVimPluginFrom2Nix {
     pname = "seoul256-vim";
-    version = "2017-09-05";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "seoul256.vim";
-      rev = "1475b7610663c68aa90b6e565997c8792ce0d222";
-      sha256 = "03gqw14f5cirivcg1p06g500ns066yv5rd0z3zikvn4ql7n278dk";
+      rev = "b68f4032c49b64065072b449dc0f0f1f30616d8d";
+      sha256 = "0bxw0ks5gndzrgixa6xqhnf78b7n75w2jnc3s6bv75lz0fn0gypx";
     };
   };
 
@@ -2410,6 +2498,17 @@ let
     };
   };
 
+  smartpairs-vim = buildVimPluginFrom2Nix {
+    pname = "smartpairs-vim";
+    version = "2018-01-01";
+    src = fetchFromGitHub {
+      owner = "gorkunov";
+      repo = "smartpairs.vim";
+      rev = "dc754c29509b1a942552b3cfa348e4aae209322c";
+      sha256 = "1pyynwz7wfbgccdxsyggzl0301qjj3wgyymah5spx8b3s42a6slj";
+    };
+  };
+
   sourcemap-vim = buildVimPluginFrom2Nix {
     pname = "sourcemap-vim";
     version = "2012-09-19";
@@ -2476,6 +2575,17 @@ let
     };
   };
 
+  split-term-vim = buildVimPluginFrom2Nix {
+    pname = "split-term-vim";
+    version = "2018-09-30";
+    src = fetchFromGitHub {
+      owner = "vimlab";
+      repo = "split-term.vim";
+      rev = "a4e28cab77ad07fc8a0ebb62a982768c02eb287c";
+      sha256 = "12vrmbq1r8d6sgyxjwi0s856n1v4vjhrf8wpwq6l4ydmk1bnvjkb";
+    };
+  };
+
   starsearch-vim = buildVimPluginFrom2Nix {
     pname = "starsearch-vim";
     version = "2014-09-21";
@@ -2511,23 +2621,23 @@ let
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift-vim";
-    version = "2019-07-09";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "d3d66151598b5d6dda159524baa9c66b3d1bf5ad";
-      sha256 = "0pq4nwdhnw3qzz3xaz9fpbf3p0l6vrmjkqj4lrfymafbmxc94j6w";
+      rev = "245e5f7aae6f1bc96849a0a01a58cb81cf56e721";
+      sha256 = "0hj7ln0qvfpb0pmvkzj21zd8a2zribdahwwl4rn1yn8skclcq149";
     };
   };
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-10-23";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "28bb72adbe5c610bdc07407ddb83898919e4645c";
-      sha256 = "1hhpd01vc9377fvqdh30pqack0i0sxxz2qdzz2i6x4snabga2zqj";
+      rev = "39b35b23b952d620b8ec7cabb13110f586663837";
+      sha256 = "1nc3019c969ms6m0hrj5k1kggcvsywn6j7kz0scdwzvfd6bcla6h";
     };
   };
 
@@ -2566,12 +2676,12 @@ let
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2019-10-25";
+    version = "2019-12-22";
     src = fetchFromGitHub {
       owner = "majutsushi";
       repo = "tagbar";
-      rev = "a0f51bd5a6514632bf3d2df1b001df27361892bd";
-      sha256 = "1drhdyyalg2sjgckgw8s026q2ydd07vfxr3i6vyvp3irlf86sbdy";
+      rev = "ce30e3f0d1d2ceaad44a2e3550738b6bc71628a1";
+      sha256 = "1sx3jnb7zifjhrg27kfh0q7r038yy3qlyf778hrkfpcqfmrki992";
     };
   };
 
@@ -2588,12 +2698,12 @@ let
 
   targets-vim = buildVimPluginFrom2Nix {
     pname = "targets-vim";
-    version = "2019-10-27";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "targets.vim";
-      rev = "be309773998ca729213206950109a758be15b556";
-      sha256 = "0ravnykqlhw09cz5yyjm6k4kbikx39jagmmpj87q31pgf1rzycmx";
+      rev = "8d6ff2984cdfaebe5b7a6eee8f226a6dd1226f2d";
+      sha256 = "192wq3x64x11nm2jhs4yrc627b0lh002dfnj72xrc7jak9vbdps9";
     };
   };
 
@@ -2630,6 +2740,17 @@ let
     };
   };
 
+  thesaurus_query-vim = buildVimPluginFrom2Nix {
+    pname = "thesaurus_query-vim";
+    version = "2019-11-09";
+    src = fetchFromGitHub {
+      owner = "ron89";
+      repo = "thesaurus_query.vim";
+      rev = "830a20ec77780ebfe8d2a7e8c740ca4abb079f89";
+      sha256 = "0kfqpjwashwf084cbz6dmhirk42a4n8d1zj17i086by17nx7qn1g";
+    };
+  };
+
   thumbnail-vim = buildVimPluginFrom2Nix {
     pname = "thumbnail-vim";
     version = "2017-04-24";
@@ -2654,12 +2775,12 @@ let
 
   tmux-complete-vim = buildVimPluginFrom2Nix {
     pname = "tmux-complete-vim";
-    version = "2019-05-13";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "tmux-complete.vim";
-      rev = "897aaecdffd0133548ea7f8b5d76472236322ab6";
-      sha256 = "0iazphx5708hwpzyys7mx7hilkrarh7g5251j18m1pg5smbbfjvr";
+      rev = "7237d8d8d60af7916e3b546a9f4f396df95a1b21";
+      sha256 = "05ypjahaf7gk4vjc8hhglmw7y8vyjxyhxq8sm0s3np05aw0gdbsc";
     };
   };
 
@@ -2677,12 +2798,12 @@ let
 
   traces-vim = buildVimPluginFrom2Nix {
     pname = "traces-vim";
-    version = "2019-10-09";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "6863fcdce850673b4468c43244d189ade3f99a8f";
-      sha256 = "0sq5cmsng2lid3dlfhcyagpzsjw1abp43wl3clm3bc5f3944lx5r";
+      rev = "393b3d0d55b951ad8d28f63f0e28c48e25ff48e4";
+      sha256 = "1hwn530p6zcjhk2lcmiqgrahxmp9hkwbzjbz4vnqdf1j6w9aqrwp";
     };
   };
 
@@ -2710,23 +2831,23 @@ let
 
   typescript-vim = buildVimPluginFrom2Nix {
     pname = "typescript-vim";
-    version = "2019-06-23";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "5a319ea5504e18215d155576c78d1b7fb8e22c8f";
-      sha256 = "1hz42blc1sshkms9ramdhzwnphqs26p83q8smw5y14blp1zdb628";
+      rev = "616186fd8a04afa32bae8dc0b70ab7f9cdb427fd";
+      sha256 = "0mq6yxq5ais47ib0ifvdl3qi4c4wz0jwzqsz5djb616xfnmp8ysx";
     };
   };
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2019-10-20";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "8ff301c651d6df806c0f9305273a6c62a693bc48";
-      sha256 = "0ckgwfchxxd5va9ils2d0518irlsjkc0pzncn357dfihh2mgg01s";
+      rev = "c4bb89495a2af3ed41a510db9a2f589748643801";
+      sha256 = "0xwcx35aj32h99l5gb8qb4xvddpcndim998p0vrirzj0mi08avlx";
     };
   };
 
@@ -2743,12 +2864,12 @@ let
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode-vim";
-    version = "2019-06-04";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "29f43f7b1be94dccfac461f4da0a34410408111f";
-      sha256 = "1wr0gq008jzlaignlkr706z5cjrdb6cc16r621zvfjncm9a71pnw";
+      rev = "49f79785e7fba0f40519a6b9074dcceb8626f7d5";
+      sha256 = "1k2b4wh0244dx7zinag88wfcwl2x2042z0zsyv9b77w81h8qfdd1";
     };
   };
 
@@ -2763,6 +2884,17 @@ let
     };
   };
 
+  utl-vim = buildVimPluginFrom2Nix {
+    pname = "utl-vim";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "utl.vim";
+      rev = "67a6506a7a8a3847d00d3af3e2ed9707460d5ce5";
+      sha256 = "0ax68nmzlka9193n2h82qzvhzv4dv6lm7rg3b1vhj2pn1r6ci6p4";
+    };
+  };
+
   vader-vim = buildVimPluginFrom2Nix {
     pname = "vader-vim";
     version = "2019-05-18";
@@ -2798,23 +2930,23 @@ let
 
   vim = buildVimPluginFrom2Nix {
     pname = "vim";
-    version = "2019-10-21";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "c8c0a9325407c487fd702eca39d987d67123c98b";
-      sha256 = "054q6lk91x7dghvvzb51j7923bdy317iya5msv9as76nwzdrk5dp";
+      rev = "a6f90e5691d8b80db024d8298b3fb461752e0248";
+      sha256 = "1g19lgjlqcyvs5x120sv5iwnggjyfzyl1k9w4b39yhhfmqi1vvf9";
     };
   };
 
   vim-abolish = buildVimPluginFrom2Nix {
     pname = "vim-abolish";
-    version = "2019-10-01";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-abolish";
-      rev = "3c7f939bbc99a30d1c5013bc9fa0fe967398c9ac";
-      sha256 = "0i8i912lvs281n0wn4wvqykx0aj0f1ply6pd9pbk5k0whlgf6r1v";
+      rev = "7e4da6e78002344d499af9b6d8d5d6fcd7c92125";
+      sha256 = "1n35igng3a6d5y4nh5pyb09s6khgcwbr3v0lnh33qb51cv4cnjh4";
     };
   };
 
@@ -3029,34 +3161,34 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-10-25";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "a0e9b383c67174744ea2be6239f6c71eaa10434c";
-      sha256 = "0vdpcgm7925gmr15zr0nb75b2449fgw78aqchc6qqa07n6n2zgrd";
+      rev = "b93492b40b068d4bb3020c123295061aaba7c846";
+      sha256 = "12nb31ca6w3wv7b5sq7msasm39mjcxd3ii8r94y18lhxz223dgzj";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-09-18";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "0d5c5c1e2995126e76606a628316c8e3f5efb37a";
-      sha256 = "1xra1yiz03pap18hsq00053s42xf185ls9qydrkgpyjypqdnm5bg";
+      rev = "945bc057d1e96c99834f1beee6c9f03f0d430b97";
+      sha256 = "0v6q71hyd4pn46636xb9crlydjds05dvrq0idwjxb62146j83m32";
     };
   };
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2019-09-29";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "1d5d169044ef71f687df0efcffd9a394528d7f47";
-      sha256 = "07h1091fdjnhi45wql7yadsyln2861m4435wzr8zp5yj2b9k132a";
+      rev = "0849bcb6523d17a753fcaff8d40cbeed2d09cf65";
+      sha256 = "1z3x72aprp950chk754h0qpf5lxh2svzk39flks5fanxaggkpkng";
     };
   };
 
@@ -3095,12 +3227,12 @@ let
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2019-10-09";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "a350538f8a5a8f08cf64a520d456282080c3968f";
-      sha256 = "0abz5asjgawz7zx5gy7q5nnrkmzijwpn0ay93913l78dnsal0408";
+      rev = "354abcd3d533ba07eebc510102870d85d4e2c466";
+      sha256 = "1hngbjj12q5v73smyhsay4irp3q71cxyc60n97ybfik5mmm455nj";
     };
   };
 
@@ -3181,6 +3313,28 @@ let
     };
   };
 
+  vim-clojure-highlight = buildVimPluginFrom2Nix {
+    pname = "vim-clojure-highlight";
+    version = "2015-07-05";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-clojure-highlight";
+      rev = "9ac6cb8fef04b2c243377adb671324a60952aee0";
+      sha256 = "0fg3faj0fq7b8pqr0i33qdg2xfd5966lrjl1wkq6jcgvdqamhz0y";
+    };
+  };
+
+  vim-clojure-static = buildVimPluginFrom2Nix {
+    pname = "vim-clojure-static";
+    version = "2017-10-23";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-clojure-static";
+      rev = "fae5710a0b79555fe3296145be4f85148266771a";
+      sha256 = "0s98qrhv7xh7bvh8bm1vaxpw3n2mcxayay3k90ibgjrv1jpyvzx7";
+    };
+  };
+
   vim-closetag = buildVimPluginFrom2Nix {
     pname = "vim-closetag";
     version = "2019-02-14";
@@ -3194,12 +3348,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2019-08-14";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "18f47c3ac563b60f71103b1e1d29b349ff9d8549";
-      sha256 = "0z36jjj1bxb4xz9lyjrbv769797g3x475ncamflfj6yj72vvhfy4";
+      rev = "dae6dd82a98eda68af83a1f725cc570ef3b1ae7d";
+      sha256 = "0w2djjs29dgd5jcfglvgb4mb60vb1bj34mxzbx2sidp3lb15xn4y";
     };
   };
 
@@ -3260,23 +3414,23 @@ let
 
   vim-commentary = buildVimPluginFrom2Nix {
     pname = "vim-commentary";
-    version = "2019-09-28";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
-      rev = "62b68aecec2de531bc3978bfb9c07d3b6759ce0e";
-      sha256 = "1fbcdrrhn4l8266zr6rm0f3zbhpql9is6rx4rkim5wxcwmnpkr77";
+      rev = "f8238d70f873969fb41bf6a6b07ca63a4c0b82b1";
+      sha256 = "09d81q9na7pvvrmxxqy09ffdzsx5v5dikinb704c9wm4ys2bidr9";
     };
   };
 
   vim-cpp-enhanced-highlight = buildVimPluginFrom2Nix {
     pname = "vim-cpp-enhanced-highlight";
-    version = "2019-07-01";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "octol";
       repo = "vim-cpp-enhanced-highlight";
-      rev = "da1d86aaf42bd4e52272b5a2f62b098c3986c048";
-      sha256 = "02cz8av85pjxpl9ggiy0y0z3gnjvd6ng1pafzv0c64xharg9l5aq";
+      rev = "27e0ffc215b81fa5aa87eca396acd4421d36c060";
+      sha256 = "15nyd4yssswyi4brkch09rca0qh7p77li4xyrivmiapkr4a60vwb";
     };
   };
 
@@ -3326,12 +3480,12 @@ let
 
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2019-10-26";
+    version = "2019-11-10";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "72cb43727e3b87c99042e1f9dbae23b82c8ea59f";
-      sha256 = "022ikmrva76whv4gnc1c33z6b1pxg2avpay9yac57l0gs4rhccv4";
+      rev = "e3e6aa16bfce255e9bca3d117c11f18f36f5c1b3";
+      sha256 = "1p7k20nfxm6jrrlx6dp9cm9bq8jkssh7fyr2y49wnwp652s191gm";
     };
   };
 
@@ -3359,23 +3513,23 @@ let
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2019-10-19";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "79ffe5c6cf0a56d693659b6b98e92a82daf105f4";
-      sha256 = "1s1rqc7ai5a7al4sqavsng7pa3hx8fxgdkq8ww119bwfx5p43v4z";
+      rev = "9c12328df924ddb875ee1e5c9fc0f939b62d6a6c";
+      sha256 = "1kpkwqrhix7whd00pcbanf3ij55x34cqc6qz3r2xshcmydk5vqxn";
     };
   };
 
   vim-dispatch = buildVimPluginFrom2Nix {
     pname = "vim-dispatch";
-    version = "2019-09-27";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "4bd1ecd7f38206ef26c37d7d142df58c4237d9dc";
-      sha256 = "0wz8p8fm48dbpzd00h9qw0q2s3r7nm8qa5kcligcrzh1kv139026";
+      rev = "1206e1474fc613caeb1ba56d36b71d7f9f7760ac";
+      sha256 = "15mdn8s9isnscsaggkz552f8hi2yqq9wksymrxkihihv0nwwdgi6";
     };
   };
 
@@ -3390,6 +3544,17 @@ let
     };
   };
 
+  vim-docbk-snippets = buildVimPluginFrom2Nix {
+    pname = "vim-docbk-snippets";
+    version = "2019-09-13";
+    src = fetchFromGitHub {
+      owner = "jhradilek";
+      repo = "vim-snippets";
+      rev = "b8604893f46f6c570a55efff733f0371ac8a805d";
+      sha256 = "1qz3azgzv9718s2a6h8xw5nrvs4j776csmzsn9chvykdpx8rwim1";
+    };
+  };
+
   vim-easy-align = buildVimPluginFrom2Nix {
     pname = "vim-easy-align";
     version = "2019-04-29";
@@ -3447,23 +3612,34 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2019-09-06";
+    version = "2019-11-03";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "vim-elixir";
-      rev = "e8d59d115c8153a7de9872b3c4419f2354c0f14b";
-      sha256 = "1q6bk8rqsdwgbyckwdnq4kv6gy5wjqrhdm06sip5x53mnkhmpf5p";
+      rev = "057ac39b5982a2decf52d48cffc405ff6a666ca5";
+      sha256 = "1mzdjqh99cyixngy9y38fdgs2bzni4pgrk14y8f72vlc0di0fg5d";
+    };
+  };
+
+  vim-elm-syntax = buildVimPluginFrom2Nix {
+    pname = "vim-elm-syntax";
+    version = "2019-11-28";
+    src = fetchFromGitHub {
+      owner = "andys8";
+      repo = "vim-elm-syntax";
+      rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5";
+      sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx";
     };
   };
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2019-10-26";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "a35d8ffe59e1ff7408bce67ce3301d3b04c7f7b6";
-      sha256 = "03if3ckai0ppgv1f5mxpbfvc7ns13k0m4f923k98hinnm04qbr9v";
+      rev = "75efe06ccc63b7cd50b193b99cce83e3ad3e60cb";
+      sha256 = "0yjsk6amlbgdbp95h8fp4x1hf9gmrfgrvz9gizyh08xdrb7pbpdw";
     };
   };
 
@@ -3513,12 +3689,12 @@ let
 
   vim-fireplace = buildVimPluginFrom2Nix {
     pname = "vim-fireplace";
-    version = "2019-09-01";
+    version = "2019-12-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
-      rev = "ea9fa306a731a105511cc5faecbaf7d58c94dfcf";
-      sha256 = "1l1wzgr4ly25yablz299pfrgl47ys51hljhhzcfdivvkrrzjpdd5";
+      rev = "63d7209ff4f17d4bdc30f3478986b5bd44a47a3e";
+      sha256 = "1n0p70w0qmbxffchxsmklraxqrzg1q6bwnp4qhy0xjcz89p3fzx5";
     };
   };
 
@@ -3535,12 +3711,12 @@ let
 
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
-    version = "2018-08-15";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
-      rev = "66abd2fc519f4339ec751874279c14da7833dd99";
-      sha256 = "0ijfa076a5jr6gi11j2zcgh5c7kj0vlwipzk1myjc1a77pss7nlg";
+      rev = "e522bd0ffb0e329f695ead7d4288a6245ff22410";
+      sha256 = "0vqkdzd7b204kbinn12jk306kc9bn2f0yaifj49swd0g8hv6dk4b";
     };
   };
 
@@ -3601,12 +3777,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-10-27";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "f6acae50ea4d8ec1bb1497cb886d80298b54831b";
-      sha256 = "04k9bmqzlrx9pvkjs51znbbrqxy416k6jl7ffdp892hacgvr8cnj";
+      rev = "b68b6d4329d9bee58a521e0ff8c6adbbc53915b4";
+      sha256 = "1lrx2vk6bj10sy297mby4fqjrn09s7ghq2xjbp8z2ajww4pcxp05";
     };
   };
 
@@ -3645,12 +3821,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2019-10-24";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "af20a9fcfff9b5277fc8482e802c4dec291ea589";
-      sha256 = "0jakfv1b1kc8mq1izj7bzd83d55z38igl7xl1c7n1vb9m2dy0nn3";
+      rev = "1c53af9a0d3b622af5a62d69ddfc141c841a28c1";
+      sha256 = "0269cjkcx4arq7phyqv80ziafg5p1in5ci7207svixbfdg5hlmfs";
     };
   };
 
@@ -3667,23 +3843,23 @@ let
 
   vim-glsl = buildVimPluginFrom2Nix {
     pname = "vim-glsl";
-    version = "2017-10-15";
+    version = "2019-11-01";
     src = fetchFromGitHub {
       owner = "tikhomirov";
       repo = "vim-glsl";
-      rev = "697eca9784ffac39308e1fd45e0300582c3d060b";
-      sha256 = "0qj00wgshx0pm6w1p682kc6s4xnzshnwx0sr65b24g1m495ck4q4";
+      rev = "fbdb226318e3e1747b29f31ad07c0cce07e9f22a";
+      sha256 = "076fny258ynamnd1mnknmp1zlafvvxpx7p28985mms84k65ihvy5";
     };
   };
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-10-29";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "bbbf77153a319a52798a3c8f4a0235470cf35196";
-      sha256 = "1271079cipiida8kmh1d33x4z0lzs85izkr0pdxfhm0y51g2h55k";
+      rev = "b1b9a1b0d4e9b2408b29ed566135f56ec27629b9";
+      sha256 = "1m4ldfc7k5ds8z4bjl8dpx63dx7d4b75ifkpjxz8l9rq6ix8i4y8";
     };
   };
 
@@ -3700,12 +3876,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-10-09";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "8b783474b64fa01b813f9c4a24f240c7c3378726";
-      sha256 = "1mrqdg0hq4gvzng959dk6hbgh19sxzgg959i6k39c7phdd1f1fm9";
+      rev = "dde6a660c7dd4e02b331da238ea477770073aca2";
+      sha256 = "0c411yg2s6wb8141lqpgasg7iwgvfwy88z6l0c0gccmk8knypxhm";
     };
   };
 
@@ -3865,12 +4041,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2019-08-04";
+    version = "2019-11-21";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "0c37ddf0dfbe069b9f2cf1d4a341efe7b373f133";
-      sha256 = "11zjm9a6x57s5rs080p1gcj86l01765ayn3k9yx6mx8d48n8zr3k";
+      rev = "4929d19cc8483d9d9872cb3669915e6a8cc381a2";
+      sha256 = "1rbhnmqrw8gdpf60lx4akhadz3q80fykal1a9c4mnn5nrqymv9va";
     };
   };
 
@@ -3953,23 +4129,23 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2019-09-16";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "24e7908bae33df5851f7085f5ec3af0ca81f060c";
-      sha256 = "1bqrhkxk6f5ha7xlkgqrp96a1pfk9258x5b4iz3kbk2gqp6mcrmb";
+      rev = "dc7951895a98c49c39622f65cdd7b39374c348bc";
+      sha256 = "1d8xiiwfg5wz57jyy7ahbi2bl5sjkhkpkqm2qbhsn7cd9vk36sxy";
     };
   };
 
   vim-javascript = buildVimPluginFrom2Nix {
     pname = "vim-javascript";
-    version = "2019-08-14";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "pangloss";
       repo = "vim-javascript";
-      rev = "b6c8c8419240bdd29b5eb51a47d488fd390deed5";
-      sha256 = "0p56av0zmig4rpsq4w4armnccyd713xdm5lwrck3cip55c39382f";
+      rev = "2e4a8c485cdf601bb2f2761ea68c09750a0b82e0";
+      sha256 = "1zvqpk8qvkhglfdi6ma7ads54w0i8v8vy4k3gcrrjydmwwa2v34l";
     };
   };
 
@@ -4042,12 +4218,12 @@ let
 
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
-    version = "2019-10-16";
+    version = "2019-12-21";
     src = fetchFromGitHub {
       owner = "MaxMEllon";
       repo = "vim-jsx-pretty";
-      rev = "8f8c9edba37310d17e59a625b177ec6a37c07035";
-      sha256 = "1hk3003ypiw62vra8vdjx2gzrv23b642w1nhq0zvgmh6yv8l33nz";
+      rev = "838cfce82df8cf99df5e3a200ad23f6c0f027550";
+      sha256 = "0305q9vf454h3hzkax5lpwzfwr9d573kqpsrlfsny69wgkrkvcax";
     };
   };
 
@@ -4108,12 +4284,12 @@ let
 
   vim-ledger = buildVimPluginFrom2Nix {
     pname = "vim-ledger";
-    version = "2019-10-30";
+    version = "2019-11-11";
     src = fetchFromGitHub {
       owner = "ledger";
       repo = "vim-ledger";
-      rev = "66718caab97f13d25813f91b8352c9ac75b3771e";
-      sha256 = "0ia9r212019d8jqrbs3nrn36mpc09gc81gf4dnv3hksn6knpdr8b";
+      rev = "fba44d7bab381b2107f9c6db0322282910e98267";
+      sha256 = "1scv9zscvywr40rw6z1v4vsgq8j8mfvp1hxs6ana22wbm0qdwkrf";
     };
   };
 
@@ -4130,12 +4306,12 @@ let
 
   vim-liquid = buildVimPluginFrom2Nix {
     pname = "vim-liquid";
-    version = "2016-02-11";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-liquid";
-      rev = "209f77c9550a90b0b88492c93852195c171f6ebd";
-      sha256 = "1ghspgjr6r0csmqacmsmkvrqvfgplx033yb3qwzddby991fpvfaa";
+      rev = "9ebc192daec70e620c22d574b5a1c1e16f89a48c";
+      sha256 = "0cvcjiii5wv55n695284k520rrwi0l4gqpyiqnrpnhmsaqks0n0f";
     };
   };
 
@@ -4163,12 +4339,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-10-29";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "d6bb42bf75bd5dfd28b1f3216749475f940abc5b";
-      sha256 = "0d68cajna2q92ikpyzbhbia6wq6v5n4pnz7zcw8bp4zayj5rv48c";
+      rev = "0fd38b8a93ab16d380aed8467a5059e5b3932a2e";
+      sha256 = "06jz7f5npwm2iknpfmzz5x8lw5377hzc5kpg6n5p2icjwzaha6mz";
     };
   };
 
@@ -4216,6 +4392,17 @@ let
     };
   };
 
+  vim-metamath = buildVimPluginFrom2Nix {
+    pname = "vim-metamath";
+    version = "2017-02-10";
+    src = fetchFromGitHub {
+      owner = "david-a-wheeler";
+      repo = "vim-metamath";
+      rev = "50aff63608256909159f1b8fc3f09ba61b2bb9bd";
+      sha256 = "0gwqafhr18wv9ygq47cxwi0k4gj1xll4z8s61w9l9vwaiy5znssh";
+    };
+  };
+
   vim-misc = buildVimPluginFrom2Nix {
     pname = "vim-misc";
     version = "2015-05-21";
@@ -4238,25 +4425,36 @@ let
     };
   };
 
+  vim-move = buildVimPluginFrom2Nix {
+    pname = "vim-move";
+    version = "2019-11-23";
+    src = fetchFromGitHub {
+      owner = "matze";
+      repo = "vim-move";
+      rev = "58049562efb0e6e077416d897b760c4dc9bb25c4";
+      sha256 = "18pnk6ri73a6dq86zh510wy1s0z1dwnsyay7lxrgirjgh3s9nhhq";
+    };
+  };
+
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2019-09-30";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "3a512e21a9c91cb61103734b8bb5dc776c1a3146";
-      sha256 = "1dh26qwsky12fhc8v9d6x841nhgbdnp2xgsrlnqak7cyiwmwp41g";
+      rev = "137b7e5c671b4b376b2df7492c4023ac6e1439da";
+      sha256 = "1pv19ylhifd32p8jb8rvbd8l5wik7349q4m4f8a8qycab2ba5xhv";
     };
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix {
     pname = "vim-multiple-cursors";
-    version = "2019-07-11";
+    version = "2019-11-09";
     src = fetchFromGitHub {
       owner = "terryma";
       repo = "vim-multiple-cursors";
-      rev = "2609c9b054b562b6bf46936f3e80a25042c5d572";
-      sha256 = "1vd7rcns8r52vaaamfz5p23vmrz6j2b3z3yqjlc46s4pmzxdvpgh";
+      rev = "6ab4dc7dd012e23adee74ef4596ad3e9659a20c7";
+      sha256 = "149cg1fwsrd1swvd0ivn1p8j8gpj3gk08mx6dim4fkshknwxs5l0";
     };
   };
 
@@ -4317,12 +4515,12 @@ let
 
   vim-obsession = buildVimPluginFrom2Nix {
     pname = "vim-obsession";
-    version = "2019-05-31";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-obsession";
-      rev = "60f0ef80fd74b8c58fd0cc7a55b81846e06c04f3";
-      sha256 = "0gbb4ici66965v449bm5gn3cyyjw81n5z4db9cfy9aca2rdapjha";
+      rev = "c44d3c432243d39469046f4e25d38a690e49c755";
+      sha256 = "0bvml6jcjd986ggx63sf9w4h852ivnshw6ilf6x2grfhnvsdgcgs";
     };
   };
 
@@ -4372,12 +4570,12 @@ let
 
   vim-orgmode = buildVimPluginFrom2Nix {
     pname = "vim-orgmode";
-    version = "2019-10-12";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
-      rev = "5099025d0b632a5e56fa457f826153cd37c48d3c";
-      sha256 = "145x60yxzxga92ix4pp0rac5r9r61jgqr8s0l991zz30jxcv1qy2";
+      rev = "c6cd668ed13af85d8292b524f827e729bf70ea0f";
+      sha256 = "1239c0yc51jyp5shwpx2j7kbsb63qj6zp3k2lirppy8c2lls4nsv";
     };
   };
 
@@ -4394,12 +4592,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-10-28";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "4f1d28c7c10376b8f03ea89e31be71419549fbb9";
-      sha256 = "1wc7fcamblpjym4vs38spdlpj58r0lm33c1fxzbrl107yj4902w3";
+      rev = "b29871936f064be43ea9774cdf6980677830288c";
+      sha256 = "0i20dlcnaf84fnsip9bfqz2clqgsq2vrzjxwq2mc1pj8pfvgr8r3";
     };
   };
 
@@ -4416,12 +4614,12 @@ let
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2019-06-25";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "6710d46c8b772f77248f30d650c83f90c68f37ab";
-      sha256 = "1dir9h6s63lr10ffaxlpjar0xfmmjr3nhhgijsaa0vgnghc00r7x";
+      rev = "98a3051566690fcd779f540e9d4a81ccad667bd5";
+      sha256 = "0bvrkflryzb43xg5s9kiksk7nslgrqpybasz4grjv6lnmzis7x97";
     };
   };
 
@@ -4449,45 +4647,45 @@ let
 
   vim-pathogen = buildVimPluginFrom2Nix {
     pname = "vim-pathogen";
-    version = "2018-12-13";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-pathogen";
-      rev = "e9fb0914dba5bdfe2feaa364dda2e9495c5620a2";
-      sha256 = "1hqfmk6xpkldhs8n5hmnvx0qn955fnzf19pp2gh4c2kvrq1y6sm8";
+      rev = "a553410f1bdb9000fbc764069f3a5ec3454a02bc";
+      sha256 = "1klnfqdb1v5zba8rm1ldga6wjhywgx870svyd4z2j3hqlrrvdfrb";
     };
   };
 
   vim-peekaboo = buildVimPluginFrom2Nix {
     pname = "vim-peekaboo";
-    version = "2019-08-11";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-peekaboo";
-      rev = "9d3c7f39a6771496fac5f730ae7574bc57da21b4";
-      sha256 = "0r61r0s01nn4n153k60dlhr3l0sfj0gcx4y5ry7cvixl85b6y505";
+      rev = "cc4469c204099c73dd7534531fa8ba271f704831";
+      sha256 = "11lgf60v2kj772d9azkfddypwidcgfps5mvnhmp4gg0fmfx12h99";
     };
   };
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2019-08-30";
+    version = "2019-12-13";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
-      rev = "4e0f08de173fcde5f3cb93da2c8129b1588e469a";
-      sha256 = "1vhqcd0gls9bys1anjlfyx4mh3rfkc076g6j9h1r4j09zn0bw1qn";
+      rev = "09458527601fdb2fbd174317bdddfb34e4c64e79";
+      sha256 = "09b30cxlwbr9l07ya05is9q2y9vzbzhcc656nvjjzf968l496xr2";
     };
   };
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2019-10-21";
+    version = "2019-12-11";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "eee50c55bf691bf6bf04c981c1d1cfed3ffc4588";
-      sha256 = "12awz68lzckh4c2ffhp3gv45f123bsb9jghv5g8ypzrj3ch6im0c";
+      rev = "359ce90b9b37442974fd3ccd9279493d85efb3af";
+      sha256 = "1dbdnyfzhfgn70jgcd0a079b76s4gdv9ykslmfiaiv7bvlmhs08s";
     };
   };
 
@@ -4504,12 +4702,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-10-16";
+    version = "2019-12-12";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "31c55b85a03d96252bba14d64911cc78a20369a1";
-      sha256 = "0f6kywmk7id6yglqf59qrfb1swrw3f7b7pxqj4zr0q6xmjq233n0";
+      rev = "cea0d08a062478503814e51aa21c6486a0dd1b21";
+      sha256 = "05vhwgq2kj3safjhnv0rl4fhcfszba02mbwnyrlq4ayyiyv3n7cc";
     };
   };
 
@@ -4526,12 +4724,12 @@ let
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2019-08-22";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "b1a826329c0891416f2357bf77a43ac49b441e6d";
-      sha256 = "0za2hnsg888nl3ddhawll053j64sgqhiqpxciqi05j50bz34cs8n";
+      rev = "17a8b2078a9ca1410d2080419e1cb9c9bb2e4492";
+      sha256 = "1vf3jdcfiq27k9mdwlvsm2hn1xgxr79ckq3jqq00avj50bpdzs1z";
     };
   };
 
@@ -4548,12 +4746,12 @@ let
 
   vim-ps1 = buildVimPluginFrom2Nix {
     pname = "vim-ps1";
-    version = "2017-10-20";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "0b2509f210f5dc73001fdcfe8fd7ac354b363388";
-      sha256 = "0fkqd9xnr0310pmi5hjxfwh9x6b75z6q1w8qp1alm4qcv425q9rm";
+      rev = "d11593b4a65551cc3391d36b088cc87a59c62da6";
+      sha256 = "08d9mp6ig3vkvmynm6qfvb18hc128wwssffkwdd9xnqkr7c3dmlv";
     };
   };
 
@@ -4570,12 +4768,12 @@ let
 
   vim-qml = buildVimPluginFrom2Nix {
     pname = "vim-qml";
-    version = "2018-07-22";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "peterhoeg";
       repo = "vim-qml";
-      rev = "8af43da6950ce5483704bb97f5b24471d8ffda1a";
-      sha256 = "1y1xvbfr1ffxyyk3zzf50xn87a85i1zszj4fqlq5ka8zhgdrnhvc";
+      rev = "b04de1dadb7dfe372d22f7529a001af1b5e19f4f";
+      sha256 = "1pxl70l0g4i8cbnpjhb9pyjhz982flkrng07y9xwzbdl2jx42i8s";
     };
   };
 
@@ -4592,34 +4790,34 @@ let
 
   vim-racer = buildVimPluginFrom2Nix {
     pname = "vim-racer";
-    version = "2019-07-30";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "racer-rust";
       repo = "vim-racer";
-      rev = "539e38c6ec0f747a9116452fe9ebd062222b89a3";
-      sha256 = "19kfhm32mspwvnvfl96hzl67h9jcmzwwl92c37rw38pqpnm1sy1l";
+      rev = "4ed62b09b84b8212382d5c3b03278b6eb9ddc08b";
+      sha256 = "06kii2p5czan1m92s5p992c137n9ijvgbjj1miqy86am2p48a40k";
     };
   };
 
   vim-repeat = buildVimPluginFrom2Nix {
     pname = "vim-repeat";
-    version = "2019-07-29";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-repeat";
-      rev = "ae361bea990e27d5beade3a8d9fa22e25cec3100";
-      sha256 = "0myqas20r81gfvfrph4ww38db1nz32qlph7syr6ym8zl7c1fcjd4";
+      rev = "c947ad2b6a16983724a0153bdf7f66d7a80a32ca";
+      sha256 = "00hhbqcx21j0738ad5xh92lsykpa0qxhdy1s7wnwc8d3jndmyjwb";
     };
   };
 
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
-    version = "2019-09-02";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "75ad917e4978b4620c3b0eff1722880d2d53a9f4";
-      sha256 = "1qxlaqbfliv2w4r7bw04h3m19g8f89v9070f59k9zbz3gv8g3hzv";
+      rev = "5130596a65330a4e8523d3ac1582f6c31ea6bc63";
+      sha256 = "1hpyxcmwrjxhkgkb0w2qpg8gh9bgiqwddyj4zx8hy2g8qnx7z5yj";
     };
   };
 
@@ -4636,23 +4834,34 @@ let
 
   vim-rsi = buildVimPluginFrom2Nix {
     pname = "vim-rsi";
-    version = "2019-03-15";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rsi";
-      rev = "8b7abe2d470b7fffac6562818468e14594735564";
-      sha256 = "1fvswbqd51gs4qhcabnz3zdmmlhcijs3pnbp3f2zgfi7lqvjc6s5";
+      rev = "ad8ba6beae8e82339479104b914214a868c9f1fe";
+      sha256 = "1ycjwnbs6rks78yxh0k0ywpvic0663mv7kydy3kjpa4f5bnkgbvc";
     };
   };
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2019-09-05";
+    version = "2019-12-08";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "1c70532339889b7794a52b956f389b4f9ab9b3eb";
-      sha256 = "1rj06j71f08b1may9pm27xf6k19bcw3jq3jbwndd975qram7zcr0";
+      rev = "81f64ec3f33165159017f782bc8a1ce9f97348b4";
+      sha256 = "0dja73g2mhbwnb29yqcwamwh77k8l3qqbmn25w9pa2mlnfkp9jy8";
+    };
+  };
+
+  vim-salve = buildVimPluginFrom2Nix {
+    pname = "vim-salve";
+    version = "2019-11-13";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-salve";
+      rev = "876104d364420a7a11a2d97729dd4ab0a2f8a72e";
+      sha256 = "1hj0qg182jv3cwg85rg4z0f8f8hr409is71z7sxhnhjq9fn1h6xj";
     };
   };
 
@@ -4691,23 +4900,45 @@ let
 
   vim-scriptease = buildVimPluginFrom2Nix {
     pname = "vim-scriptease";
-    version = "2019-07-07";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-scriptease";
-      rev = "71195d60792fbfcd30edb25fdfc89eadf3e400a5";
-      sha256 = "084vz719af6vhlrgzv0bvl9qg53p1mz1942lqj1pfc3p99w22v47";
+      rev = "76f62675a1814abcfbacb296f60dbb2d9d2b2f5f";
+      sha256 = "05fmzd368d0mn141a1awhybl19bgls5j8czmyyvygx5pawjl3s6f";
     };
   };
 
   vim-sensible = buildVimPluginFrom2Nix {
     pname = "vim-sensible";
-    version = "2019-10-18";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
-      rev = "4a7159a30061b26aec9ac367823094e7fd0f6a5b";
-      sha256 = "08qlxa22kfqv4r2vdl8gfzayxir4cw78p8acah6dq3svksk2b2ib";
+      rev = "2d9f34c09f548ed4df213389caa2882bfe56db58";
+      sha256 = "153i3kh44ri046va3qdrbvvsv7gy25fsd9pc2yhrg23lvj169zfp";
+    };
+  };
+
+  vim-sexp = buildVimPluginFrom2Nix {
+    pname = "vim-sexp";
+    version = "2017-05-15";
+    src = fetchFromGitHub {
+      owner = "guns";
+      repo = "vim-sexp";
+      rev = "12292941903d9ac8151513189d2007e1ccfc95f0";
+      sha256 = "1mfqbmrbqgnsc34pmcsrc0c5zvgxhhnw4hx4g5wbssfk1ddyx6y0";
+    };
+  };
+
+  vim-sexp-mappings-for-regular-people = buildVimPluginFrom2Nix {
+    pname = "vim-sexp-mappings-for-regular-people";
+    version = "2019-11-13";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-sexp-mappings-for-regular-people";
+      rev = "f10bfacf2a20c719a3e0b6b5dfbfb2662f48b19e";
+      sha256 = "08z1a5f0k2aafk7ris2w3xf0s2jcsi94bd1wh8idr4fxljjs77qb";
     };
   };
 
@@ -4724,34 +4955,45 @@ let
 
   vim-signify = buildVimPluginFrom2Nix {
     pname = "vim-signify";
-    version = "2019-10-22";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-signify";
-      rev = "ad755bb72953d02d01046b606962db727766d096";
-      sha256 = "1l46ar2v1000l44dwbybzy60nqw76hiczdfh370n3sr5vpp4ynda";
+      rev = "56db16f8d3825c4d066c2faf05315c2b208cd5f5";
+      sha256 = "0alargsa6sxdxha6jshax7ff6jy8svzc9yxvsh83f8301zx9vmra";
+    };
+  };
+
+  vim-slash = buildVimPluginFrom2Nix {
+    pname = "vim-slash";
+    version = "2019-08-28";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "vim-slash";
+      rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
+      sha256 = "0ifdd3yqbk8hdvdmr4k44967lyvjnv9ig3r2145wn1lab797sbl4";
     };
   };
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2018-08-19";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "7a104e34c10c6f3581c6e98da7834d765d0b067c";
-      sha256 = "0i147vhrrkarir36ysyaic42d22hk38cnpaqzqck7b2zdwnqrvbv";
+      rev = "ea3f065f23cd0592062b8226c8fef08b6af3b459";
+      sha256 = "17w4m6zg1izcs75isy1jdzycgdr1ml1f5wqf1bjq80qgy3f28znp";
     };
   };
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2019-07-28";
+    version = "2019-12-20";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "dc8ca22cef3f87999d926e18e2e230145e013838";
-      sha256 = "0pafvfhf3xbdqyy7v5y8h2j47k4y1zmscp7rans6vd5rq68k8fwf";
+      rev = "cf896c1f4f37a9feb15d657dfd120aeeb6215ad8";
+      sha256 = "19caali0yy1cy4hk9y9z21nzp0kj916551h0p0x7nmzxiiakp9nn";
     };
   };
 
@@ -4768,12 +5010,12 @@ let
 
   vim-sneak = buildVimPluginFrom2Nix {
     pname = "vim-sneak";
-    version = "2019-08-21";
+    version = "2019-11-06";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "27cc3ce0fd19f0414024a81ee1eee6b17f155122";
-      sha256 = "162gvzm7f0dsgv52ixd79ggzxddgpmrxqsqa41nv72mw61s0pmax";
+      rev = "24e6c3f4cd6004e2b44e4022dee0260aba6132aa";
+      sha256 = "000i2x36b8l5vc1li0f4jazs06nch9pca95yqr4w4m5hgjpzs5qs";
     };
   };
 
@@ -4790,12 +5032,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-10-24";
+    version = "2019-12-19";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "0e5c36c4fec8ae2abe0ce334dbc58c82b094705a";
-      sha256 = "0gyqf9hgwzld1i02vwkzmb2cr7if5h8w0mras1x1wqvwf468x1jn";
+      rev = "180d239935a2cb496c7b702d9fbe38f05fe3dea2";
+      sha256 = "0gz8yk87c0v0vaamy2nz7flrklzb00867nm7vcmyfpamha4wkib4";
     };
   };
 
@@ -4834,34 +5076,34 @@ let
 
   vim-speeddating = buildVimPluginFrom2Nix {
     pname = "vim-speeddating";
-    version = "2019-02-27";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-speeddating";
-      rev = "ce2f1aae9f2be128b4ca322a8e797be3ae40c30b";
-      sha256 = "1fcvwq5iixh31fm9sfmlz4m765z1vx2a2mi8bgh64g2v6095lm5x";
+      rev = "fe98cfaa7ea9c4b838d42a6830437c919eb55b4e";
+      sha256 = "02875qswrmanr7b798ymlc7w60055q0av0qj3fh7fvpqhsqpg52k";
     };
   };
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2019-10-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "bba214f6b39d782c15f2d97fbc98fd0d18ace909";
-      sha256 = "0cmqklc553wqxs72qnwqsp1nchsxi46kfyz01zr5bdxzjg4afyis";
+      rev = "05122f08c6a553992f7b0a9ad88016a89f51548a";
+      sha256 = "09kg1zf5lmwlksqz11scnjazg5d862fjip48qakjbabf66f23svs";
     };
   };
 
   vim-stylish-haskell = buildVimPluginFrom2Nix {
     pname = "vim-stylish-haskell";
-    version = "2018-08-31";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "nbouscal";
       repo = "vim-stylish-haskell";
-      rev = "0df8a2dd397f232a9ee0e56bc57071ccf29e21bf";
-      sha256 = "05f2ms2c914ycxjjd7csga89mpsk3wzyhi56vikg3nd7a8z54gzw";
+      rev = "ef12ab024cb3928ae57ce7c4fa519c4751afef99";
+      sha256 = "0ysz68v4c2i4kxchsvxgkpj5kb0jbm5x06ri1ns9cmk5gj01pmd6";
     };
   };
 
@@ -4876,14 +5118,25 @@ let
     };
   };
 
+  vim-subversive = buildVimPluginFrom2Nix {
+    pname = "vim-subversive";
+    version = "2019-07-28";
+    src = fetchFromGitHub {
+      owner = "svermeulen";
+      repo = "vim-subversive";
+      rev = "5837cb38f656f120e7a04ae73f749303d78b9191";
+      sha256 = "0n04mxdq80xkjgi75n1c2gg2s6am5kns8rj7pz6dvvlqr4vxyrjf";
+    };
+  };
+
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2019-07-22";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "fab8621670f71637e9960003af28365129b1dfd0";
-      sha256 = "0lkc0isv1cqv34qfia9mjvnp1nzz0qqy3k47z8r3xzb7dxgymkw8";
+      rev = "f51a26d3710629d031806305b6c8727189cd1935";
+      sha256 = "0aqrqn35xdiy80y7skxfsh3m33n6cdxw6lzz6aspfgzwllx2f0kr";
     };
   };
 
@@ -4911,12 +5164,12 @@ let
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2019-09-28";
+    version = "2019-12-17";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "126897a6fbcbf24523737502524208f75f255b88";
-      sha256 = "1cdnggcl8vkz74l5k1yl2y3yg1zawvg1zj2nlqrk3c5qm9qzhkzq";
+      rev = "0af25d72ebc0271648c8f91c0ce5c59174d2761b";
+      sha256 = "1wqfc8bilknz1j1spk3iag99hmz5f1w87v95rb3cyp46ymrf9dcv";
     };
   };
 
@@ -4933,34 +5186,34 @@ let
 
   vim-tbone = buildVimPluginFrom2Nix {
     pname = "vim-tbone";
-    version = "2019-04-12";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-tbone";
-      rev = "b7f41b10db9ed5e5854fc5fe3a619bc05f2d541a";
-      sha256 = "152mklqnqipzz2wwzj0i6s3fm75903flr1dff98nyw4khhm84pn2";
+      rev = "82b0118772a87b659a6af49b26b0c4817ec7eccf";
+      sha256 = "0pbj4v6zhlpcxm10jcq50jf2rpqiyp2x0zpxa50s6y6gm834v9wc";
     };
   };
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2019-10-07";
+    version = "2019-12-16";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "ffdf2dc17aaef733164a7079f95dd74f6cda9241";
-      sha256 = "1y4v2hn44rjyfh18ninzyb37xxc47fl20wzhnvs5gnnhjfsyfbqj";
+      rev = "bff65bf59401ef7d165637aedafe72f212ddf4c7";
+      sha256 = "1jgzir5qn9v0ws6yb6d0hc3p859gy81x22wkqk58w55xxmfxd7am";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-10-22";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "18619b98d8fc16c6d23ccbefc5e9ce335c499d42";
-      sha256 = "0aja7qfv3mcg7skagrd73xj9hncv35a9l554sjmm072wbi682p5l";
+      rev = "e9e824cf3f22fa1cddabb7ef739f2481436c3924";
+      sha256 = "0nl1b3zzw3w413lmdl4fhm8ia079hr1rz1kpx7sf0i86lx1c0dcv";
     };
   };
 
@@ -5054,23 +5307,23 @@ let
 
   vim-tmux-focus-events = buildVimPluginFrom2Nix {
     pname = "vim-tmux-focus-events";
-    version = "2019-04-19";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "tmux-plugins";
       repo = "vim-tmux-focus-events";
-      rev = "0f89b1ada151e22882a5a47a1ee2b6d6135bc5c1";
-      sha256 = "0rx1615wlsl62y62l217vgjd5vjfzf3zjwq43fflpc6bixikqc6j";
+      rev = "e80960715c09aef8ab9204848ed1683805a93a33";
+      sha256 = "0ds6qw2i1r67jhxh9ff36al45bafsmbxxdc127l6iy2vl5wj0d3d";
     };
   };
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2019-01-29";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "4e1a877f51a17a961b8c2a285ee80aebf05ccf42";
-      sha256 = "1b8sgbzl4pcpaabqk254n97mjz767ganrmqbsr6rqzz3j9a3s1fv";
+      rev = "8fdf78292bb3aed1c9de880be7e03efdbf23d306";
+      sha256 = "0y92na4dcfcsj5zbs3m7y6csl3sd46a9968id78cdn9cgg8iwzac";
     };
   };
 
@@ -5098,12 +5351,12 @@ let
 
   vim-trailing-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-trailing-whitespace";
-    version = "2017-09-23";
+    version = "2019-12-09";
     src = fetchFromGitHub {
       owner = "bronson";
       repo = "vim-trailing-whitespace";
-      rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
-      sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
+      rev = "6b7cdecff252474fe560d32c6f05641f3c5952c7";
+      sha256 = "0arv1hmlw7c1rlkc00hzjyg48pg8g4cc9q9l2hy8kpmsl037akm3";
     };
   };
 
@@ -5131,23 +5384,23 @@ let
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2019-08-07";
+    version = "2019-11-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "ab7082c0e89df594a5ba111e18af17b3377d216d";
-      sha256 = "1gvzjihkxnc84kd7sdh26kmm0rqi19xmwiisfqhf307yqyqa6lkj";
+      rev = "08e66532bffed445c949ae0a0501940c000553ed";
+      sha256 = "0sm5rv6z0s80l9c39hijhnfggvgmi24ac6d9a1k58pzjz6i9w2vr";
     };
   };
 
   vim-vinegar = buildVimPluginFrom2Nix {
     pname = "vim-vinegar";
-    version = "2019-05-13";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
-      rev = "09ac84c4d152a944caa341e913220087211c72ef";
-      sha256 = "18ki85s1l4f0q40k26jvcdcbq6a73x870dnxkw20ji3pfwdaa5v3";
+      rev = "fcce70f1403ba4101668a4c960c577bddbd00f06";
+      sha256 = "0zxqdyla40xcp0ps362b85bqwl3mp4zfmfdggl0gwvgd5m949yk0";
     };
   };
 
@@ -5164,12 +5417,12 @@ let
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2019-10-23";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "55fb6a5fe58292e5c2c76a52a3c5143ed6198604";
-      sha256 = "1k81cnn685xyqxhng6vndnvd7770dj3smdlfqjns4dm69bs76md9";
+      rev = "d332d08365bc735f60904a4207d650f191598378";
+      sha256 = "0g5lawg641ma216v53ivhbkzpmdqhcmgybb5kh1rz6s991j51ziy";
     };
   };
 
@@ -5197,12 +5450,12 @@ let
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2019-07-27";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "29d14cca6593a4809a31cfc3565a366d87426daf";
-      sha256 = "1b47fv3jm37yhbg2mwc7kmlsl54dapb4sw9isf1h3mbmgxnvi5p9";
+      rev = "dfc57db34d641315ddf1880b27573dfa07a41872";
+      sha256 = "05fhnw4jdi6wbf14zrmq6gvb7pqxhvmy65kij2zzf0nwyb8l1c09";
     };
   };
 
@@ -5219,12 +5472,12 @@ let
 
   vim-wordy = buildVimPluginFrom2Nix {
     pname = "vim-wordy";
-    version = "2019-08-29";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-wordy";
-      rev = "87a77cb293ed1193c01e0f93c4dd70cddde76b08";
-      sha256 = "19wvm1al41ys429rb2agb7d3xfv1kh2287r8sgiy1f6whjn236z6";
+      rev = "f0391713fa83771d64b065868331ef4754d861ed";
+      sha256 = "0v5cl3rrg2vrdb2al67hbh730rw8m2zvhb1vippv64k65mknkgp5";
     };
   };
 
@@ -5241,12 +5494,12 @@ let
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2019-03-28";
+    version = "2019-12-14";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "3c968fd4fd83d3631dec4c0caf289c85917d8ca9";
-      sha256 = "17ncq06al2pzqxpx45bmh4b66d48y3kklxcd1f80jfsp9hh5v0vm";
+      rev = "b9839555f70d319b4e21fc7bc9b559d91cf1260a";
+      sha256 = "1ql8yv8rxpr9j9phf4jddqs1j81vcb9gpp0p3fmy6f8nf4b26nvw";
     };
   };
 
@@ -5283,6 +5536,28 @@ let
     };
   };
 
+  vimagit = buildVimPluginFrom2Nix {
+    pname = "vimagit";
+    version = "2019-07-24";
+    src = fetchFromGitHub {
+      owner = "jreybert";
+      repo = "vimagit";
+      rev = "94762b1356ebdcb8ec486a86f45e69ef77a69465";
+      sha256 = "1p8izqdkx8g1aqmq9a2qm506bs4mvc4xdbzkh2k5xprm5vc14z0s";
+    };
+  };
+
+  vimelette = buildVimPluginFrom2Nix {
+    pname = "vimelette";
+    version = "2019-05-02";
+    src = fetchFromGitHub {
+      owner = "gotcha";
+      repo = "vimelette";
+      rev = "662f47fe0da2625dc743532832fa39f490388fa7";
+      sha256 = "094xyqba64dndgr5gfcqp6hy3siw90niyrrwz0avs924abss6adg";
+    };
+  };
+
   vimfiler-vim = buildVimPluginFrom2Nix {
     pname = "vimfiler-vim";
     version = "2019-07-30";
@@ -5294,6 +5569,17 @@ let
     };
   };
 
+  VimOrganizer = buildVimPluginFrom2Nix {
+    pname = "VimOrganizer";
+    version = "2014-04-10";
+    src = fetchFromGitHub {
+      owner = "hsitz";
+      repo = "VimOrganizer";
+      rev = "cab0baf635eb9470e62d57d42f2d470180b06c8d";
+      sha256 = "0qncr00xn7lj1i469fzjaaghhqrlyg5s2wj4v6625dhg98y0irix";
+    };
+  };
+
   vimoutliner = buildVimPluginFrom2Nix {
     pname = "vimoutliner";
     version = "2018-07-04";
@@ -5318,12 +5604,12 @@ let
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc-vim";
-    version = "2019-07-08";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "0328ac6096ac57d647bed1ee59c8b616b3ba2858";
-      sha256 = "1apg6zjpqagj8m7rai64awp2n4s77grjlyr56hdk09bh9678wg31";
+      rev = "89065f62883edb10a99aa1b1640d6d411907316b";
+      sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k";
     };
   };
 
@@ -5340,12 +5626,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-10-25";
+    version = "2019-12-15";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "f6a84aec49d9577fab7486b72a6830b61ee093b0";
-      sha256 = "01aiasbysm0y23aid5v5r8avn70bc458gz3j8zbaq6c53bc1h3q0";
+      rev = "7c08bf73aa15bc794c79b1e8750df3c18066c6fb";
+      sha256 = "130x4nwp2wci67nf7v73r4b7xgmfgs18ls1ckyrsq54k16016dbz";
     };
   };
 
@@ -5395,23 +5681,23 @@ let
 
   wal-vim = buildVimPluginFrom2Nix {
     pname = "wal-vim";
-    version = "2019-05-22";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "dylanaraps";
       repo = "wal.vim";
-      rev = "c5c412fae2f72a07dff24ba8652c6d5e13924167";
-      sha256 = "08rx1xb0mn6krfj3q8vrzlvzzh2dljjddn3wbkjvamihblnjbf7v";
+      rev = "f0dd97bd4076c9a1410786c3e5baba7bd3028b05";
+      sha256 = "0aiwsrcqnazam56cvwmck4bf7w543cr219bkmq0ngqzna72h9735";
     };
   };
 
   webapi-vim = buildVimPluginFrom2Nix {
     pname = "webapi-vim";
-    version = "2019-07-11";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "webapi-vim";
-      rev = "4d1e59c4fe01dec9d3008704dd06977a7bc3b0f2";
-      sha256 = "15k9h4nhsiwasv8l4mq6m8mw989pmpdfsinv9bdwh41q1pmkv551";
+      rev = "10b8e926d85a3ab689c2966a3df1139bcb4e197f";
+      sha256 = "1hbm2mgsncqdjjfgabgncr4ji90mjsa3z0cx7813vdf113v41x26";
     };
   };
 
@@ -5483,24 +5769,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-10-17";
+    version = "2019-11-30";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "7ea1a4da5ab0d3ae73ea6af80b7252ae960e126f";
-      sha256 = "0vhgmwycmscd7v10nzcb8q7wqx4g2lrc9jb6zgd9dnkd8dzhmz3h";
+      rev = "e9d8813c02b8bdb81b63aeb576b9eaadf0dd4445";
+      sha256 = "1x5950ca4nmsf1129sjd12kcncpv8jf4x80s0y3gwwgr3p7x1m22";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-10-26";
+    version = "2019-12-18";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "3620fb550d6dd790376b18ed730dbc0f53239b35";
-      sha256 = "1wd2cx37b3567rzjiydn4n7mrr0n5av8227as74fd1blnwbdik7f";
+      rev = "9e2ab00bd54cf41787079bcc22e8d67ce9b27ec2";
+      sha256 = "0fnir9hlpmh4k8cg79lcir51aydrsfnwn9w9nnxa4yi8qnvc0pgs";
       fetchSubmodules = true;
     };
   };
@@ -5540,12 +5826,12 @@ let
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2019-09-26";
+    version = "2019-12-10";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
-      rev = "08ba9f9354698c3ab85bf84b8390ce909d3bc221";
-      sha256 = "1m44hm7jgv1v5z88mi5ha0p1lrffxx2h0p25vxq12zd2x834vghf";
+      rev = "65f71de21c31a0b7f7b09a62f865d1b61f9f71ed";
+      sha256 = "0y0rfpsggl1a1h89zjzgpnx3vj244gmr3qwblsclh3hzf0sdav5r";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 4d127c20e31..a885dc163a1 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -14,6 +14,9 @@
 # coc-go dependency
 , go
 
+# deoplete-khard dependency
+, khard
+
 # vim-go denpencies
 , asmfmt, delve, errcheck, godef, golint
 , gomodifytags, gotags, gotools, go-motion
@@ -49,16 +52,16 @@ self: super: {
   };
 
   LanguageClient-neovim = let
-    version = "0.1.154";
+    version = "0.1.155";
     LanguageClient-neovim-src = fetchurl {
       url = "https://github.com/autozimu/LanguageClient-neovim/archive/${version}.tar.gz";
-      sha256 = "03sp643nihj9p2s9cx2dcazhz68s30qx7igqprgsmr1040rhg2py";
+      sha256 = "0v9n450iwgvm1d4qwv742bjam3p747cvyrkapkgxy7n1ar8rz50i";
     };
     LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
       name = "LanguageClient-neovim-bin";
       src = LanguageClient-neovim-src;
 
-      cargoSha256 = "1bvbls2l1xa0s3k11crvd98il4i20z5sn0hqmsc1b915k03qq4zj";
+      cargoSha256 = "139sj1aq0kr4r4qzhgcn2hb4dyvp5wxjz7bxbm0bbh9bv2pr98jq";
       buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
       # FIXME: Use impure version of CoreFoundation because of missing symbols.
@@ -80,17 +83,6 @@ self: super: {
     '';
   };
 
-  # do not auto-update this one, as the name clashes with vim-snippets
-  vim-docbk-snippets = buildVimPluginFrom2Nix {
-    pname = "vim-docbk-snippets";
-    version = "2017-11-02";
-    src = fetchgit {
-      url = "https://github.com/jhradilek/vim-snippets";
-      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
-      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
-    };
-  };
-
   clang_complete = super.clang_complete.overrideAttrs(old: {
     # In addition to the arguments you pass to your compiler, you also need to
     # specify the path of the C++ std header (if you are using C++).
@@ -123,14 +115,15 @@ self: super: {
   });
 
   # Only official releases contains the required index.js file
+  # NB: Make sure you pick a rev from the release branch!
   coc-nvim = buildVimPluginFrom2Nix rec {
     pname = "coc-nvim";
-    version = "0.0.74";
+    version = "2019-11-30";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "v${version}";
-      sha256 = "1s4nib2mnhagd0ymx254vf7l1iijwrh2xdqn3bdm4f1jnip81r10";
+      rev = "42a45c639e2c43f9f1795c3804787c6a686781c0";
+      sha256 = "0bny7s7scbls01jkvrwcd516py09lp0vkr65p1ik4282blyxyy6s";
     };
   };
 
@@ -184,6 +177,17 @@ self: super: {
    '';
   });
 
+  deoplete-khard = super.deoplete-khard.overrideAttrs(old: {
+    dependencies = [ self.deoplete-nvim ];
+    passthru.python3Dependencies = ps: [ (ps.toPythonModule khard) ];
+    meta = {
+      description = "Address-completion for khard via deoplete";
+      homepage = "https://github.com/nicoe/deoplete-khard";
+      license = stdenv.lib.licenses.mit;
+      maintainers = with stdenv.lib.maintainers; [ jorsn ];
+    };
+  });
+
   ensime-vim = super.ensime-vim.overrideAttrs(old: {
     passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
     dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
@@ -390,6 +394,10 @@ self: super: {
     '';
   });
 
+  vim-metamath = super.vim-metamath.overrideAttrs(old: {
+    preInstall = "cd vim";
+  });
+
   vim-snipmate = super.vim-snipmate.overrideAttrs(old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
@@ -437,8 +445,8 @@ self: super: {
   youcompleteme = super.youcompleteme.overrideAttrs(old: {
     buildPhase = ''
       substituteInPlace plugin/youcompleteme.vim \
-        --replace "'ycm_python_interpreter_path', '''" \
-        "'ycm_python_interpreter_path', '${python3}/bin/python'"
+        --replace "'ycm_path_to_python_interpreter', '''" \
+        "'ycm_path_to_python_interpreter', '${python3}/bin/python3'"
 
       rm -r third_party/ycmd
       ln -s ${ycmd}/lib/ycmd third_party
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index 8a8e20da8d7..0ef93ac569a 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -8,6 +8,7 @@
 # linted:
 # $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265 update.py
 
+import argparse
 import functools
 import json
 import os
@@ -20,15 +21,53 @@ import xml.etree.ElementTree as ET
 from datetime import datetime
 from multiprocessing.dummy import Pool
 from pathlib import Path
-from typing import Dict, List, Optional, Tuple, Union, Any
+from typing import Dict, List, Optional, Tuple, Union, Any, Callable
 from urllib.parse import urljoin, urlparse
 from tempfile import NamedTemporaryFile
 
-ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"
-ATOM_LINK = "{http://www.w3.org/2005/Atom}link"
-ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"
+ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"  # " vim gets confused here
+ATOM_LINK = "{http://www.w3.org/2005/Atom}link"  # "
+ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"  # "
 
 ROOT = Path(__file__).parent
+DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
+DEFAULT_OUT = ROOT.joinpath("generated.nix")
+
+import time
+from functools import wraps
+
+
+def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
+    """Retry calling the decorated function using an exponential backoff.
+
+    http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
+    original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry
+    (BSD licensed)
+
+    :param ExceptionToCheck: the exception on which to retry
+    :param tries: number of times to try (not retry) before giving up
+    :param delay: initial delay between retries in seconds
+    :param backoff: backoff multiplier e.g. value of 2 will double the delay
+        each retry
+    """
+
+    def deco_retry(f: Callable) -> Callable:
+        @wraps(f)
+        def f_retry(*args: Any, **kwargs: Any) -> Any:
+            mtries, mdelay = tries, delay
+            while mtries > 1:
+                try:
+                    return f(*args, **kwargs)
+                except ExceptionToCheck as e:
+                    print(f"{str(e)}, Retrying in {mdelay} seconds...")
+                    time.sleep(mdelay)
+                    mtries -= 1
+                    mdelay *= backoff
+            return f(*args, **kwargs)
+
+        return f_retry  # true decorator
+
+    return deco_retry
 
 
 class Repo:
@@ -42,9 +81,12 @@ class Repo:
     def __repr__(self) -> str:
         return f"Repo({self.owner}, {self.name})"
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def has_submodules(self) -> bool:
         try:
-            urllib.request.urlopen(self.url("blob/master/.gitmodules")).close()
+            urllib.request.urlopen(
+                self.url("blob/master/.gitmodules"), timeout=10
+            ).close()
         except urllib.error.HTTPError as e:
             if e.code == 404:
                 return False
@@ -52,8 +94,9 @@ class Repo:
                 raise
         return True
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
-        with urllib.request.urlopen(self.url("commits/master.atom")) as req:
+        with urllib.request.urlopen(self.url("commits/master.atom"), timeout=10) as req:
             xml = req.read()
             root = ET.fromstring(xml)
             latest_entry = root.find(ATOM_ENTRY)
@@ -66,7 +109,7 @@ class Repo:
                 updated_tag is not None and updated_tag.text is not None
             ), f"No updated tag found feed entry {xml}"
             updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ")
-            return Path(url.path).name, updated
+            return Path(str(url.path)).name, updated
 
     def prefetch_git(self, ref: str) -> str:
         data = subprocess.check_output(
@@ -154,13 +197,13 @@ def get_current_plugins() -> List[Plugin]:
     return plugins
 
 
-def prefetch_plugin(user: str, repo_name: str, cache: "Cache") -> Plugin:
+def prefetch_plugin(user: str, repo_name: str, alias: str, cache: "Cache") -> Plugin:
     repo = Repo(user, repo_name)
     commit, date = repo.latest_commit()
     has_submodules = repo.has_submodules()
     cached_plugin = cache[commit]
     if cached_plugin is not None:
-        cached_plugin.name = repo_name
+        cached_plugin.name = alias or repo_name
         cached_plugin.date = date
         return cached_plugin
 
@@ -170,7 +213,7 @@ def prefetch_plugin(user: str, repo_name: str, cache: "Cache") -> Plugin:
     else:
         sha256 = repo.prefetch_github(commit)
 
-    return Plugin(repo_name, commit, has_submodules, sha256, date=date)
+    return Plugin(alias or repo_name, commit, has_submodules, sha256, date=date)
 
 
 def print_download_error(plugin: str, ex: Exception):
@@ -207,18 +250,26 @@ def check_results(
         sys.exit(1)
 
 
-def load_plugin_spec() -> List[Tuple[str, str]]:
-    plugin_file = ROOT.joinpath("vim-plugin-names")
+def parse_plugin_line(line: str) -> Tuple[str, str, Optional[str]]:
+    name, repo = line.split("/")
+    try:
+        repo, alias = repo.split(" as ")
+        return (name, repo, alias.strip())
+    except ValueError:
+        # no alias defined
+        return (name, repo.strip(), None)
+
+
+def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, Optional[str]]]:
     plugins = []
     with open(plugin_file) as f:
         for line in f:
-            spec = line.strip()
-            parts = spec.split("/")
-            if len(parts) != 2:
-                msg = f"Invalid repository {spec}, must be in the format owner/repo"
+            plugin = parse_plugin_line(line)
+            if not plugin[0]:
+                msg = f"Invalid repository {line}, must be in the format owner/repo[ as alias]"
                 print(msg, file=sys.stderr)
                 sys.exit(1)
-            plugins.append((parts[0], parts[1]))
+            plugins.append(plugin)
     return plugins
 
 
@@ -276,12 +327,12 @@ class Cache:
 
 
 def prefetch(
-    args: Tuple[str, str], cache: Cache
+    args: Tuple[str, str, str], cache: Cache
 ) -> Tuple[str, str, Union[Exception, Plugin]]:
-    assert len(args) == 2
-    owner, repo = args
+    assert len(args) == 3
+    owner, repo, alias = args
     try:
-        plugin = prefetch_plugin(owner, repo, cache)
+        plugin = prefetch_plugin(owner, repo, alias, cache)
         cache[plugin.commit] = plugin
         return (owner, repo, plugin)
     except Exception as e:
@@ -293,10 +344,10 @@ header = (
 )
 
 
-def generate_nix(plugins: List[Tuple[str, str, Plugin]]):
+def generate_nix(plugins: List[Tuple[str, str, Plugin]], outfile: str):
     sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
 
-    with open(ROOT.joinpath("generated.nix"), "w+") as f:
+    with open(outfile, "w+") as f:
         f.write(header)
         f.write(
             """
@@ -326,15 +377,44 @@ let
   }};
 """
             )
-        f.write("""
+        f.write(
+            """
 });
 in lib.fix' (lib.extends overrides packages)
-""")
-    print("updated generated.nix")
+"""
+        )
+    print(f"updated {outfile}")
+
+
+def parse_args():
+    parser = argparse.ArgumentParser(
+        description=(
+            "Updates nix derivations for vim plugins"
+            f"By default from {DEFAULT_IN} to {DEFAULT_OUT}"
+        )
+    )
+    parser.add_argument(
+        "--input-names",
+        "-i",
+        dest="input_file",
+        default=DEFAULT_IN,
+        help="A list of plugins in the form owner/repo",
+    )
+    parser.add_argument(
+        "--out",
+        "-o",
+        dest="outfile",
+        default=DEFAULT_OUT,
+        help="Filename to save generated nix code",
+    )
+
+    return parser.parse_args()
 
 
 def main() -> None:
-    plugin_names = load_plugin_spec()
+
+    args = parse_args()
+    plugin_names = load_plugin_spec(args.input_file)
     current_plugins = get_current_plugins()
     cache = Cache(current_plugins)
 
@@ -342,7 +422,7 @@ def main() -> None:
 
     try:
         # synchronous variant for debugging
-        # results = map(prefetch_with_cache, plugins)
+        # results = list(map(prefetch_with_cache, plugin_names))
         pool = Pool(processes=30)
         results = pool.map(prefetch_with_cache, plugin_names)
     finally:
@@ -350,7 +430,7 @@ def main() -> None:
 
     plugins = check_results(results)
 
-    generate_nix(plugins)
+    generate_nix(plugins, args.outfile)
 
 
 if __name__ == "__main__":
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 350ed619be6..c0768f02851 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -12,11 +12,12 @@ amiorin/ctrlp-z
 andreshazard/vim-logreview
 andsild/peskcolor.vim
 andviro/flake8-vim
+andys8/vim-elm-syntax
 ap/vim-css-color
 arcticicestudio/nord-vim
 artur-shaik/vim-javacomplete2
-ayu-theme/ayu-vim
 autozimu/LanguageClient-neovim
+ayu-theme/ayu-vim
 bazelbuild/vim-bazel
 bbchung/clighter8
 benmills/vimux
@@ -57,6 +58,7 @@ dag/vim-fish
 dannyob/quickfixstatus
 darfink/starsearch.vim
 dart-lang/dart-vim-plugin
+david-a-wheeler/vim-metamath
 davidhalter/jedi-vim
 dcharbon/vim-flatbuffers
 deoplete-plugins/deoplete-dictionary
@@ -68,6 +70,7 @@ digitaltoad/vim-jade
 direnv/direnv.vim
 dleonard0/pony-vim-syntax
 dracula/vim
+drewtempelmeyer/palenight.vim
 drmingdrmer/xptemplate
 dylanaraps/wal.vim
 eagletmt/ghcmod-vim
@@ -104,7 +107,12 @@ godlygeek/tabular
 google/vim-codefmt
 google/vim-jsonnet
 google/vim-maktaba
+gorkunov/smartpairs.vim
+gotcha/vimelette
 gregsexton/gitv
+guns/vim-clojure-highlight
+guns/vim-clojure-static
+guns/vim-sexp
 guns/xterm-color-table.vim
 hashivim/vim-terraform
 haya14busa/incsearch-easymotion.vim
@@ -117,6 +125,7 @@ HerringtonDarkholme/yats.vim
 honza/vim-snippets
 hotwatermorning/auto-git-diff
 hsanson/vim-android
+hsitz/VimOrganizer
 ianks/vim-tsx
 icymind/NeoSolarized
 idris-hackers/idris-vim
@@ -139,6 +148,7 @@ jeffkreeftmeijer/neovim-sensible
 jelera/vim-javascript-syntax
 jgdavey/tslime.vim
 jhradilek/vim-docbk
+jhradilek/vim-snippets as vim-docbk-snippets
 jiangmiao/auto-pairs
 jistr/vim-nerdtree-tabs
 jlanzarotta/bufexplorer
@@ -148,11 +158,14 @@ jonsmithers/vim-html-template-literals
 joonty/vim-xdebug
 josa42/coc-go
 jpalardy/vim-slime
+jreybert/vimagit
+jsfaint/gen_tags.vim
 JuliaEditorSupport/deoplete-julia
 JuliaEditorSupport/julia-vim
 Julian/vim-textobj-variable-segment
 junegunn/fzf.vim
 junegunn/goyo.vim
+junegunn/gv.vim
 junegunn/limelight.vim
 junegunn/seoul256.vim
 junegunn/vader.vim
@@ -160,6 +173,7 @@ junegunn/vim-easy-align
 junegunn/vim-github-dashboard
 junegunn/vim-peekaboo
 junegunn/vim-plug
+junegunn/vim-slash
 justincampbell/vim-eighties
 justinmk/vim-dirvish
 justinmk/vim-sneak
@@ -226,9 +240,11 @@ MarcWeber/vim-addon-toggle-buffer
 MarcWeber/vim-addon-xdebug
 markonm/traces.vim
 martinda/Jenkinsfile-vim-syntax
+mattn/calendar-vim as mattn-calendar-vim
 mattn/emmet-vim
 mattn/gist-vim
 mattn/webapi-vim
+matze/vim-move
 maximbaz/lightline-ale
 MaxMEllon/vim-jsx-pretty
 mbbill/undotree
@@ -300,8 +316,10 @@ neomake/neomake
 neovimhaskell/haskell-vim
 neovimhaskell/nvim-hs.vim
 neovim/nvimdev.nvim
+neovim/nvim-lsp
 neutaaaaan/iosvkem
 nfnty/vim-nftables
+nicoe/deoplete-khard
 nixprime/cpsm
 NLKNguyen/papercolor-theme
 noc7c9/vim-iced-coffee-script
@@ -344,6 +362,7 @@ rhysd/vim-grammarous
 rhysd/vim-operator-surround
 Rip-Rip/clang_complete
 rodjek/vim-puppet
+ron89/thesaurus_query.vim
 roxma/nvim-cm-racer
 roxma/nvim-completion-manager
 roxma/nvim-yarp
@@ -389,6 +408,7 @@ slashmili/alchemist.vim
 sonph/onehalf
 stefandtw/quickfix-reflector.vim
 stephpy/vim-yaml
+svermeulen/vim-subversive
 t9md/vim-choosewin
 t9md/vim-smalls
 takac/vim-hardtime
@@ -429,8 +449,10 @@ tpope/vim-projectionist
 tpope/vim-repeat
 tpope/vim-rhubarb
 tpope/vim-rsi
+tpope/vim-salve
 tpope/vim-scriptease
 tpope/vim-sensible
+tpope/vim-sexp-mappings-for-regular-people
 tpope/vim-sleuth
 tpope/vim-speeddating
 tpope/vim-surround
@@ -447,11 +469,14 @@ tyru/caw.vim
 tyru/open-browser-github.vim
 tyru/open-browser.vim
 uarun/vim-protobuf
+udalov/kotlin-vim
 ujihisa/neco-look
+unblevable/quick-scope
 valloric/youcompleteme
 vhda/verilog_systemverilog.vim
 vim-airline/vim-airline
 vim-airline/vim-airline-themes
+vimlab/split-term.vim
 vimoutliner/vimoutliner
 vim-pandoc/vim-pandoc
 vim-pandoc/vim-pandoc-after
@@ -479,6 +504,7 @@ vim-scripts/ReplaceWithRegister
 vim-scripts/ShowMultiBase
 vim-scripts/tabmerge
 vim-scripts/taglist.vim
+vim-scripts/utl.vim
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
 vim-utils/vim-husk
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index e33a32ffa3e..22e97cd4d88 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -64,7 +64,7 @@ in
     mktplcRef = {
       name = "latex-workshop";
       publisher = "James-Yu";
-      version = "8.2.0"; 
+      version = "8.2.0";
       sha256 = "1ai16aam4v5jzhxgms589q0l24kyk1a9in6z4i7g05b3sahyxab2";
     };
     meta = with stdenv.lib; {
@@ -84,12 +84,63 @@ in
     };
   };
 
+  ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-docker";
+      publisher = "ms-azuretools";
+      version = "0.8.1";
+      sha256 = "0n59whmcrx8946xix6skvc50f2vsc85ckvn8cs06w9mqmymm1q0s";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-kubernetes-tools";
+      publisher = "ms-kubernetes-tools";
+      version = "1.0.6";
+      sha256 = "12a4phl1pddsajy3n0ld6rp607iy0pif6pqrs6ljbg2x97fyra28";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  ms-vscode.Go = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "Go";
+      publisher = "ms-vscode";
+      version = "0.11.7";
+      sha256 = "1l6jjdfivw1pn9y4d4i7zf80ls1k1b0ap1d828ah57ad3bgmyqfi";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   ms-vscode.cpptools = callPackage ./cpptools {};
 
+  ms-vscode-remote.remote-ssh = callPackage ./remote-ssh {};
+
   ms-python.python = callPackage ./python {
     extractNuGet = callPackage ./python/extract-nuget.nix { };
   };
 
+  redhat.vscode-yaml = buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "vscode-yaml";
+      publisher = "redhat";
+      version = "0.5.3";
+      sha256 = "03swlsp906rqlrx6jf3ibh7pk36sm0zdr8jfy6sr3w5lqjg27gka";
+    };
+    meta = {
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
   skyapps.fish-vscode = buildVscodeMarketplaceExtension {
     mktplcRef = {
       name = "fish-vscode";
@@ -106,8 +157,8 @@ in
     mktplcRef = {
       name = "vim";
       publisher = "vscodevim";
-      version = "1.3.0";
-      sha256 = "18z24w7smjjnv945f8qyy6dl95xckyqa6gg3gijfcigvq5sgyawc";
+      version = "1.11.3";
+      sha256 = "1smzsgcrkhghbnpy51gp28kh74l7y4s2m8pfxabb4ffb751254j0";
     };
     meta = {
       license = stdenv.lib.licenses.mit;
diff --git a/pkgs/misc/vscode-extensions/remote-ssh/default.nix b/pkgs/misc/vscode-extensions/remote-ssh/default.nix
new file mode 100644
index 00000000000..fe053dd7ea3
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/remote-ssh/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, vscode-utils
+, useLocalExtensions ? false}:
+# Note that useLocalExtensions requires that vscode-server is not running
+# on host. If it is, you'll need to remove ~/.vscode-server,
+# and redo the install by running "Connect to host" on client
+
+let
+  inherit (vscode-utils) buildVscodeMarketplaceExtension;
+  
+  # patch runs on remote machine hence use of which
+  # links to local node if version is 12
+  patch = ''
+    f="/home/''$USER/.vscode-server/bin/''$COMMIT_ID/node"
+    localNodePath=''$(which node)
+    if [ -x "''$localNodePath" ]; then
+      localNodeVersion=''$(node -v)
+      if [ "\''${localNodeVersion:1:2}" = "12" ]; then
+        echo PATCH: replacing ''$f with ''$localNodePath
+        rm ''$f
+        ln -s ''$localNodePath ''$f
+      fi
+    fi
+    ${stdenv.lib.optionalString useLocalExtensions ''
+      # Use local extensions
+      if [ -d ~/.vscode/extensions ]; then
+        if ! test -L "~/.vscode-server/extensions"; then
+          mkdir -p ~/.vscode-server
+          ln -s ~/.vscode/extensions ~/.vscode-server/
+        fi
+      fi
+    ''}
+  '';
+in
+  buildVscodeMarketplaceExtension {
+    mktplcRef = {
+      name = "remote-ssh";
+      publisher = "ms-vscode-remote";
+      version = "0.48.0";
+      sha256 = "04q53gljqh5snkrdf5l69g0ahn1s5z35a4ipfcbf1rsjjmm85a19";
+    };
+
+    postPatch = ''
+      substituteInPlace "out/extension.js" \
+        --replace "# install extensions" '${patch}'
+    '';
+
+    meta = with stdenv.lib; {
+      description ="Use any remote machine with a SSH server as your development environment.";
+      license = licenses.unfree;
+      maintainers = with maintainers; [
+        tbenst
+      ];
+    };
+  }
diff --git a/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
index 66e24fe5877..86c241cd0f5 100644
--- a/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
+++ b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh
@@ -1,5 +1,5 @@
 linkSystemCoreFoundationFramework() {
-  NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks $NIX_CFLAGS_COMPILE"
+  NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks${NIX_CFLAGS_COMPILE:+ }${NIX_CFLAGS_COMPILE-}"
   # gross! many symbols (such as _OBJC_CLASS_$_NSArray) are defined in system CF, but not
   # in the opensource release
   # if the package needs private headers, we assume they also want to link with system CF
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index ba5002c8c48..8456d64a451 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -12,8 +12,8 @@ let
     #  3. ???
     #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/28/09/091-29862/pafhn2u002b9slnrxzy9p86rpedycnjhb5/DevSDK_OSX1012.pkg";
-      sha256 = "1sggc70rypqwcjwr7ciavw8sczwll16cwqxdxrbw7r2qvy3b0nhx";
+      url    = "http://swcdn.apple.com/content/downloads/33/36/041-90419-A_7JJ4H9ZHO2/xs88ob5wjz6riz7g6764twblnvksusg4ps/DevSDK_OSX1012.pkg";
+      sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih";
     };
 
     buildInputs = [ xar cpio python pbzx ];
diff --git a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
index fbd977f8552..a351c39de13 100644
--- a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
+++ b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh
@@ -1,6 +1,6 @@
 addPrivateFrameworks() {
     flag="-F/System/Library/PrivateFrameworks"
-    if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then
+    if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then
         NIX_CFLAGS_COMPILE+=" $flag"
     fi
 }
diff --git a/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
index ed9bdbd912d..35cea773f98 100644
--- a/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
+++ b/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh
@@ -2,7 +2,7 @@ noDeprecatedDeclarations() {
   # Security.framework has about 2000 deprecated constants, all of which the user will be
   # warned about at compilation time
   flag="-Wno-deprecated-declarations"
-  if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then
+  if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then
     NIX_CFLAGS_COMPILE+=" $flag"
   fi
 }
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 9f9a0c74724..e31f9b91f97 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -14,7 +14,8 @@ in
 
 # TODO: loop over targetPrefixed binaries too
 stdenv.mkDerivation {
-  name = "${targetPrefix}cctools-binutils-darwin";
+  pname = "${targetPrefix}cctools-binutils-darwin";
+  inherit (cctools) version;
   outputs = [ "out" "info" "man" ];
   buildCommand = ''
     mkdir -p $out/bin $out/include
diff --git a/pkgs/os-specific/darwin/cctools/apfs.patch b/pkgs/os-specific/darwin/cctools/apfs.patch
deleted file mode 100644
index 8c6b3c0d273..00000000000
--- a/pkgs/os-specific/darwin/cctools/apfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/cctools/ld64/src/ld/OutputFile.cpp b/cctools/ld64/src/ld/OutputFile.cpp
-index 8859882..158c7d2 100644
---- a/cctools/ld64/src/ld/OutputFile.cpp
-+++ b/cctools/ld64/src/ld/OutputFile.cpp
-@@ -2786,7 +2786,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(_options.outputFilePath(), &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					(void)unlink(_options.outputFilePath());
- 					outputIsMappableFile = true;
- 				}
-@@ -2814,7 +2814,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(dirPath, &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					outputIsMappableFile = true;
- 				}
- 			}
diff --git a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d30477..17ad9053f3b 100644
--- a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
@@ -1,13 +1,14 @@
 diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
-index 9250016..91d54ec 100644
+index e4b37ec..4189ebc 100644
 --- a/cctools/ld64/src/ld/Options.cpp
 +++ b/cctools/ld64/src/ld/Options.cpp
-@@ -4175,23 +4175,9 @@ void Options::checkIllegalOptionCombinations()
+@@ -5800,24 +5800,6 @@ void Options::checkIllegalOptionCombinations()
+ 	if ( fDeadStrip && (fOutputKind == Options::kObjectFile) )
  		throw "-r and -dead_strip cannot be used together";
  
- 	// can't use -rpath unless targeting 10.5 or later
+-	// can't use -rpath unless targeting 10.5 or later
 -	if ( fRPaths.size() > 0 ) {
--		if ( !minOS(ld::mac10_5, ld::iOS_2_0) )
+-		if ( !platforms().minOS(ld::version2008) )
 -			throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
 -		switch ( fOutputKind ) {
 -			case Options::kDynamicExecutable:
@@ -23,9 +24,6 @@ index 9250016..91d54ec 100644
 -		}
 -	}
 -	
-+	if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) )
-+		throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
-+
  	if ( fPositionIndependentExecutable ) {
  		switch ( fOutputKind ) {
  			case Options::kDynamicExecutable:
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index ff8f3eb5e26..1aee5c8c35e 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -18,14 +18,14 @@ assert (!stdenv.hostPlatform.isDarwin) -> maloader != null;
 
 let
   baseParams = rec {
-    name = "${targetPrefix}cctools-port-${version}";
-    version = "895";
+    name = "${targetPrefix}cctools-port";
+    version = "927.0.2";
 
     src = fetchFromGitHub {
       owner  = "tpoechtrager";
       repo   = "cctools-port";
-      rev    = "07619027f8311fa61b4a549c75994b88739a82d8";
-      sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi";
+      rev    = "8239a5211bcf07d6b9d359782e1a889ec1d7cce5";
+      sha256 = "0h8b1my0wf1jyjq63wbiqkl2clgxsf87f6i4fjhqs431fzlq8sac";
     };
 
     outputs = [ "out" "dev" ];
@@ -35,7 +35,7 @@ let
       ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]
       ++ stdenv.lib.optional enableTapiSupport libtapi;
 
-    patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ./apfs.patch ];
+    patches = [ ./ld-ignore-rpath-link.patch ./ld-rpath-nonfinal.patch ];
 
     __propagatedImpureHostDeps = [
       # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
@@ -84,12 +84,6 @@ let
       cd cctools
     '';
 
-    # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
-    # hairy to handle during bootstrap. Perhaps it could be optional?
-    preConfigure = ''
-      sh autogen.sh
-    '';
-
     preInstall = ''
       pushd include
       make DSTROOT=$out/include RC_OS=common install
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix
index e68e77f55af..cac2d97482a 100644
--- a/pkgs/os-specific/darwin/libtapi/default.nix
+++ b/pkgs/os-specific/darwin/libtapi/default.nix
@@ -1,18 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, python, clang_6 }:
 
 stdenv.mkDerivation {
-  name = "libtapi";
+  name = "libtapi-1000.10.8";
   src = fetchFromGitHub {
     owner = "tpoechtrager";
     repo = "apple-libtapi";
-    rev = "e56673694db395e25b31808b4fbb9a7005e6875f";
-    sha256 = "1lnl1af9sszp9wxfk0wljrpdmwcx83j0w5c0y4qw4pqrdkdgwks7";
+    rev = "cd9885b97fdff92cc41e886bba4a404c42fdf71b";
+    sha256 = "1a19h39a48agvnmal99n9j1fjadiqwib7hfzmn342wmgh9z3vk0g";
   };
 
   nativeBuildInputs = [ cmake python ];
+  buildInputs = [ clang_6.cc ];
 
   preConfigure = ''
-    cd src/apple-llvm/src
+    cd src/llvm
   '';
 
   cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ];
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 6f7caa8ec02..4f2f84b3c0a 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -63,10 +63,31 @@ stdenv.mkDerivation {
   # I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra"
   # and this version is a version from there. No idea how accurate it is.
   LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize";
-  configurePhase = "../configure release --sysroot UNUSED";
+
+  configurePhase = ''
+    ../configure release --sysroot UNUSED
+  '';
 
   enableParallelBuilding = true;
-  buildPhase = "ninja -j $NIX_BUILD_CORES";
+
+  # FIXME: Workaround for intermittent build failures of CFRuntime.c.
+  # Based on testing this issue seems to only occur with clang_7, so
+  # please remove this when updating the default llvm versions to 8 or
+  # later.
+  buildPhase = stdenv.lib.optionalString true ''
+    for i in {1..512}; do
+        if ninja -j $NIX_BUILD_CORES; then
+            break
+        fi
+
+        echo >&2
+        echo "[$i/512] retrying build, workaround for #66811" >&2
+        echo "  With clang_7 the build of CFRuntime.c fails intermittently." >&2
+        echo "  See https://github.com/NixOS/nixpkgs/issues/66811 for more details." >&2
+        echo >&2
+        continue
+    done
+  '';
 
   # TODO: their build system sorta kinda can do this, but it doesn't seem to work right now
   # Also, this includes a bunch of private headers in the framework, which is not what we want
diff --git a/pkgs/os-specific/linux/alienfx/default.nix b/pkgs/os-specific/linux/alienfx/default.nix
deleted file mode 100644
index d04e7b8fbeb..00000000000
--- a/pkgs/os-specific/linux/alienfx/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, libusb1, fetchgit}:
-
-
-let
-  rev = "85ee5eeaca59a1c92659c3f49b148b0447d78f16";
-in
-
-stdenv.mkDerivation {
-  name = "alienfx-1.0.0";
-  src = fetchgit {
-    inherit rev;
-    url = https://github.com/tibz/alienfx.git;
-
-    sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1";
-  };
-
-  prePatch = ''
-    substituteInPlace Makefile --replace /usr/ $out/
-    substituteInPlace Makefile --replace "install -o root -g root -m 4755" "install -m 555"
-  '';
-
-  patches = [./unistd.patch];
-  buildInputs = [ libusb1 ];
-  makeFlags = "build";
-  preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
-  '';
-  installTargets = "install";
-  postInstall = ''cp alienfx.1 $out/man/man1'';
-
-  meta = {
-    description = "Controls AlienFX lighting";
-    homepage = https://github.com/tibz/alienfx;
-    maintainers = [stdenv.lib.maintainers.tomberek];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
-
diff --git a/pkgs/os-specific/linux/alienfx/unistd.patch b/pkgs/os-specific/linux/alienfx/unistd.patch
deleted file mode 100644
index 546a27892f0..00000000000
--- a/pkgs/os-specific/linux/alienfx/unistd.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/alienfx.cpp b/alienfx.cpp
-index 5981039..aea8992 100644
---- a/alienfx.cpp
-+++ b/alienfx.cpp
-@@ -13,6 +13,7 @@
- #include <string.h>
- #include <iostream>
- #include <libusb-1.0/libusb.h>
-+#include <unistd.h>
- 
- using namespace std;
- 
diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix
index 53fcf7d6843..7f0ba5498df 100644
--- a/pkgs/os-specific/linux/alsa-firmware/default.nix
+++ b/pkgs/os-specific/linux/alsa-firmware/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-firmware-1.0.29";
+  name = "alsa-firmware-1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/firmware/${name}.tar.bz2";
-    sha256 = "0gfcyj5anckjn030wcxx5v2xk2s219nyf99s9m833275b5wz2piw";
+    sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index 2956b107aa7..a5262d6ae9e 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-plugins";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2";
-    sha256 = "01zrg0h2jw9dlj9233vjsn916yf4f2s667yry6xsn8d57lq745qn";
+    sha256 = "1nj8cpbi05rb62yzs01c1k7lymdn1ch229b599hbhd0psixdx52d";
   };
 
   # ToDo: a52, etc.?
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index 6f23d190318..8b1faf788e5 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-utils";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
-    sha256 = "0fi11b7r8hg1bdjw74s8sqx8rc4qb310jaj9lsia9labvfyjrpsx";
+    sha256 = "039c19b7091is0czl9jlrfczp7pp1jpdri0vvc4k07gl3skhn48b";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix
index 755ec390a9c..0012c3de989 100644
--- a/pkgs/os-specific/linux/anbox/default.nix
+++ b/pkgs/os-specific/linux/anbox/default.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "anbox";
-  version = "unstable-2019-05-03";
+  version = "unstable-2019-11-15";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "ea2b7a3dea34a6803134f4adc16c276f4c2479eb";
-    sha256 = "00x772nbrbx7ma0scr24m65g50pmi4v6d6q3cwbbi55r8qiy2yz7";
+    rev = "0a49ae08f76de7f886a3dbed4422711c2fa39d10";
+    sha256 = "09l56nv9cnyhykclfmvam6bkcxlamwbql6nrz9n022553w92hkjf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix
index fee8d1e7a42..0888f2c5414 100644
--- a/pkgs/os-specific/linux/anbox/kmod.nix
+++ b/pkgs/os-specific/linux/anbox/kmod.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "anbox-modules";
-  version = "2019-07-13-" + kernel.version;
+  version = "2019-11-15-" + kernel.version;
 
   src = fetchFromGitHub {
     owner = "anbox";
     repo = "anbox-modules";
-    rev = "816dd4d6e702cf77a44cfe208659af6c39e02b57";
-    sha256 = "115xrv3fz5bk51hz8cwb61h0xnrsnv217fxmbpw35a6hjrk7gslc";
+    rev = "e0a237e571989987806b32881044c539db25e3e1";
+    sha256 = "1km1nslp4f5znwskh4bb1b61r1inw1dlbwiyyq3rrh0f0agf8d0v";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index aed0ed374a7..2aa71b92beb 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "android-udev-rules";
-  version = "20190315";
+  version = "20191103";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "1w8zkww3cj6yzcsfzwvj1gkf4dfflhp1vd9fixnmlbm43kwkqrdr";
+    sha256 = "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index f6ad8e2c03b..09d218e8745 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -246,9 +246,9 @@ if test -z "$libsOnly"; then
   ( # build and install fgl_glxgears
     cd fgl_glxgears;
     gcc -DGL_ARB_texture_multisample=1 -g \
-    -I$libGLU_combined/include \
+    -I$libGL/include -I$libGLU/include \
     -I$out/include \
-    -L$libGLU_combined/lib -lGL -lGLU -lX11 -lm \
+    -L$libGL/lib -L$libGLU/lib -lGL -lGLU -lX11 -lm \
     -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c
   )
 
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index b79054d4406..a391f73391f 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, kernel ? null, which
 , xorg, makeWrapper, glibc, patchelf, unzip
-, fontconfig, freetype, libGLU_combined # for fgl_glxgears
+, fontconfig, freetype, libGLU, libGL # for fgl_glxgears
 , # Whether to build the libraries only (i.e. not the kernel module or
   # driver utils). Used to support 32-bit binaries on 64-bit
   # Linux.
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
       patchelf
       unzip
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       makeWrapper
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
   LD_LIBRARY_PATH = makeLibraryPath
     [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       stdenv.cc.cc
@@ -122,7 +122,7 @@ stdenv.mkDerivation rec {
                    xorg.libX11.out xorg.libXinerama.out xorg.libSM.out
                    xorg.libICE.out ];
 
-  inherit libGLU_combined; # only required to build the examples
+  inherit libGLU libGL; # only required to build the examples
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 4a569e1e1c3..dab95049643 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -61,6 +61,6 @@ stdenv.mkDerivation rec {
     homepage = https://people.redhat.com/sgrubb/audit/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 1f24f4182de..eccb3e71660 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2019.3";
+  ver = "2019.5";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0rj7vyir4m63b69fgrz06mqlw7nivjfc8mdv19l02xs9vqh7khx4";
+    sha256 = "09npizg89ks1wm19l5xz0pq1ljpsbwy030xnprqnd0p53976wywa";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index 449f8e3d40b..ffb14e9c3c1 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -1,38 +1,25 @@
 { stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel
 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
-, systemtap
+, systemtap, bash
 }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "0.11.0";
+  version = "0.12.0";
   name = "bcc-${version}";
 
-  srcs = [
-    (fetchFromGitHub {
-      owner  = "iovisor";
-      repo   = "bcc";
-      rev    = "v${version}";
-      sha256 = "1v2gzdd4k58f3yxmq4z97a7xh5vyd84flzzfr9k2cm29i93cwcam";
-      name   = "bcc";
-    })
-
-    # note: keep this in sync with the version that was used at the time of the
-    # tagged release!
-    (fetchFromGitHub {
-      owner  = "libbpf";
-      repo   = "libbpf";
-      rev    = "a30df5c09fb3941fc42c4570ed2545e7057bf82a";
-      sha256 = "088vb9sfs1zazlqi6abb3ia1xgpmwiz5pmz6y3a6gbh0zdrgh6px";
-      name   = "libbpf";
-    })
-  ];
-  sourceRoot = "bcc";
+  src = fetchFromGitHub {
+    owner  = "iovisor";
+    repo   = "bcc";
+    rev    = "v${version}";
+    sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym";
+    fetchSubmodules = true;
+  };
   format = "other";
 
   buildInputs = with llvmPackages; [
     llvm clang-unwrapped kernel
     elfutils luajit netperf iperf
-    systemtap.stapBuild flex
+    systemtap.stapBuild flex bash
   ];
 
   patches = [
@@ -58,12 +45,6 @@ python.pkgs.buildPythonApplication rec {
     patch -p1 < libbcc-path.patch
   '';
 
-  preConfigure = ''
-    chmod -R u+w ../libbpf/
-    rmdir src/cc/libbpf
-    (cd src/cc && ln -svf ../../../libbpf/ libbpf)
-  '';
-
   postInstall = ''
     mkdir -p $out/bin $out/share
     rm -r $out/share/bcc/tools/old
@@ -76,6 +57,8 @@ python.pkgs.buildPythonApplication rec {
       if [ ! -e $bin ]; then
         ln -s $f $bin
       fi
+      substituteInPlace "$f" \
+        --replace '$(dirname $0)/lib' "$out/share/bcc/tools/lib"
     done
 
     sed -i -e "s!lib=.*!lib=$out/bin!" $out/bin/{java,ruby,node,python}gc
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix
deleted file mode 100644
index 7ce2fea6924..00000000000
--- a/pkgs/os-specific/linux/beegfs/default.nix
+++ /dev/null
@@ -1,167 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, unzip, which
-, libuuid, attr, xfsprogs, cppunit, rdma-core
-, zlib, openssl, sqlite, jre, openjdk, ant
-, openssh, perl, gfortran, influxdb, curl
-} :
-
-let
-  version = "7.0";
-
-  subdirs = [
-    "beeond_thirdparty/build"
-    "beeond_thirdparty_gpl/build"
-    "thirdparty/build"
-    "opentk_lib/build"
-    "common/build"
-    "admon/build"
-    "java_lib/build"
-    "ctl/build"
-    "fsck/build"
-    "helperd/build"
-    "meta/build"
-    "mgmtd/build"
-    "storage/build"
-    "utils/build"
-    "mon/build"
-    "upgrade/beegfs_mirror_md/build"
-  ];
-
-in stdenv.mkDerivation {
-  pname = "beegfs";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
-  };
-
-  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
-
-  buildInputs = [
-    libuuid
-    attr
-    xfsprogs
-    zlib
-    openssl
-    sqlite
-    jre
-    rdma-core
-    openssh
-    gfortran
-    influxdb
-    curl
-  ];
-
-  hardeningDisable = [ "format" ]; # required for building beeond
-
-  postPatch = ''
-    patchShebangs ./
-    find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
-    find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
-    find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
-
-    # unpack manually and patch variable name
-    sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
-    cd beeond_thirdparty/source
-    tar xf pcopy-0.96.tar.gz
-    sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
-    cd ../..
-  '';
-
-  buildPhase = ''
-    for i in ${toString subdirs}; do
-      make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-    done
-    make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1
-  '';
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    binDir=$out/bin
-    docDir=$out/share/doc/beegfs
-    includeDir=$out/include/beegfs
-    libDir=$out/lib
-    libDirPkg=$out/lib/beegfs
-
-    mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir
-
-    cp admon/build/beegfs-admon $binDir
-    cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir
-    cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg
-    cp admon/build/dist/etc/beegfs-admon.conf $docDir
-
-    cp java_lib/build/jbeegfs.jar $libDirPkg
-    cp java_lib/build/libjbeegfs.so $libDir
-
-    cp ctl/build/beegfs-ctl $binDir
-    cp fsck/build/beegfs-fsck $binDir
-
-    cp utils/scripts/beegfs-check-servers $binDir
-    cp utils/scripts/beegfs-df $binDir
-    cp utils/scripts/beegfs-net $binDir
-
-    cp helperd/build/beegfs-helperd $binDir
-    cp helperd/build/dist/etc/beegfs-helperd.conf $docDir
-
-    cp client_module/build/dist/sbin/beegfs-setup-client $binDir
-    cp client_module/build/dist/etc/beegfs-client.conf $docDir
-
-    cp meta/build/beegfs-meta $binDir
-    cp meta/build/dist/sbin/beegfs-setup-meta $binDir
-    cp meta/build/dist/etc/beegfs-meta.conf $docDir
-
-    cp mgmtd/build/beegfs-mgmtd $binDir
-    cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir
-    cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir
-
-    cp storage/build/beegfs-storage $binDir
-    cp storage/build/dist/sbin/beegfs-setup-storage $binDir
-    cp storage/build/dist/etc/beegfs-storage.conf $docDir
-
-    cp opentk_lib/build/libbeegfs-opentk.so $libDir
-
-    cp upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir
-
-    cp client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
-    cp -r client_devel/include/* $includeDir
-
-    cp beeond_thirdparty_gpl/build/parallel $out/bin
-    cp beeond_thirdparty/build/pcopy/p* $out/bin
-    cp beeond_thirdparty/build/pcopy/s* $out/bin
-    cp -r beeond/scripts/* $out
-    cp beeond/source/* $out/bin
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/bin/beegfs-admon-gui \
-      --replace " java " " ${jre}/bin/java " \
-      --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
-                "$libDirPkg/beegfs-admon-gui.jar"
-
-    substituteInPlace $out/bin/beeond \
-      --replace /opt/beegfs/sbin "$out/bin"
-  '';
-
-  doCheck = true;
-
-  checkPhase = ''
-    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \
-      common/build/test-runner --text
-  '';
-
-  meta = with stdenv.lib; {
-    description = "High performance distributed filesystem with RDMA support";
-    homepage = "https://www.beegfs.io";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    license = {
-      fullName = "BeeGFS_EULA";
-      url = "https://www.beegfs.io/docs/BeeGFS_EULA.txt";
-      free = false;
-    };
-    maintainers = with maintainers; [ markuskowa ];
-    # 2019-08-09
-    # fails to build and had stability issues earlier
-    broken = true;
-  };
-}
diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix
deleted file mode 100644
index 286252b927b..00000000000
--- a/pkgs/os-specific/linux/beegfs/kernel-module.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, which
-, kmod, kernel
-} :
-
-let
-  version = "7.0";
-in stdenv.mkDerivation {
-  name = "beegfs-module-${version}-${kernel.version}";
-
-  src = fetchurl {
-    url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
-  };
-
-  hardeningDisable = [ "fortify" "pic" "stackprotector" ];
-
-  nativeBuildInputs = [ which kmod ];
-
-  buildInputs = kernel.moduleBuildDependencies;
-
-  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/" ];
-
-  postPatch = ''
-    patchShebangs ./
-    find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
-    find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
-    find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
-  '';
-
-  preBuild = "cd client_module/build";
-
-  installPhase = ''
-    instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs
-    mkdir -p $instdir
-    cp beegfs.ko $instdir
-  '';
-
-  meta = with stdenv.lib; {
-    description = "High performance distributed filesystem with RDMA support";
-    homepage = "https://www.beegfs.io";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ markuskowa ];
-    broken = stdenv.lib.versionAtLeast kernel.version "4.18";
-  };
-}
diff --git a/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch b/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch
deleted file mode 100644
index 749787c5b3a..00000000000
--- a/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Submitted By:            Armin K. <krejzi at email dot com>
-Date:                    2013-04-29
-Initial Package Version: 5.17
-Upstream Status:         unknown
-Origin:                  Arch Linux (Giovanni Campagna)
-Description:             Allow using obexd without systemd in the user session
-
-Not all sessions run systemd --user (actually, the majority
-doesn't), so the dbus daemon must be able to spawn obexd
-directly, and to do so it needs the full path of the daemon.
----
- Makefile.obexd                      | 4 ++--
- obexd/src/org.bluez.obex.service    | 4 ----
- obexd/src/org.bluez.obex.service.in | 4 ++++
- 3 files changed, 6 insertions(+), 6 deletions(-)
- delete mode 100644 obexd/src/org.bluez.obex.service
- create mode 100644 obexd/src/org.bluez.obex.service.in
-
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 3760867..142e7c3 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -2,12 +2,12 @@
- if SYSTEMD
- systemduserunitdir = @SYSTEMD_USERUNITDIR@
- systemduserunit_DATA = obexd/src/obex.service
-+endif
- 
- dbussessionbusdir = @DBUS_SESSIONBUSDIR@
- dbussessionbus_DATA = obexd/src/org.bluez.obex.service
--endif
- 
--EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
-+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
- 
- obex_plugindir = $(libdir)/obex/plugins
- 
-diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
-deleted file mode 100644
-index a538088..0000000
---- a/obexd/src/org.bluez.obex.service
-+++ /dev/null
-@@ -1,4 +0,0 @@
--[D-BUS Service]
--Name=org.bluez.obex
--Exec=/bin/false
--SystemdService=dbus-org.bluez.obex.service
-diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
-new file mode 100644
-index 0000000..9c815f2
---- /dev/null
-+++ b/obexd/src/org.bluez.obex.service.in
-@@ -0,0 +1,4 @@
-+[D-BUS Service]
-+Name=org.bluez.obex
-+Exec=@libexecdir@/obexd
-+SystemdService=dbus-org.bluez.obex.service
--- 
-1.8.3.1
-
-
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index cca3674bdd1..cf9bcec554c 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,49 +1,58 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
-  python3, readline, udev, libical, systemd, fetchpatch,
-  enableWiimote ? false, enableMidi ? false, enableSixaxis ? false }:
+{ stdenv
+, lib
+, fetchurl
+, alsaLib
+, dbus
+, glib
+, json_c
+, libical
+, pkgconfig
+, python3
+, readline
+, systemd
+, udev
+}:
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.50";
+  pname = "bluez";
+  version = "5.52";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z";
+    url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz";
+    sha256 = "02jng21lp6fb3c2bh6vf9y7cj4gaxwk29dfc32ncy0lj0gi4q57p";
   };
 
   pythonPath = with python3.pkgs; [
-    dbus-python pygobject2 pygobject3 recursivePthLoader
+    dbus-python
+    pygobject3
+    recursivePthLoader
   ];
 
   buildInputs = [
-    dbus glib alsaLib python3 python3.pkgs.wrapPython
-    readline udev libical
+    alsaLib
+    dbus
+    glib
+    json_c
+    libical
+    python3
+    readline
+    udev
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    pkgconfig
+    python3.pkgs.wrapPython
+  ];
 
   outputs = [ "out" "dev" "test" ];
 
-  patches = [
-    ./bluez-5.37-obexd_without_systemd-1.patch
-    (fetchpatch {
-      url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=1880b299086659844889cdaf687133aca5eaf102";
-      name = "CVE-2018-10910-1.patch";
-      sha256 = "17spsxza27gif8jpxk7360ynvwii1llfdfwg35rwywjjmvww0qj4";
-    })
-    (fetchpatch {
-      url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=9213ff7642a33aa481e3c61989ad60f7985b9984";
-      name = "CVE-2018-10910-2.patch";
-      sha256 = "0j7klbhym64yhn86dbsmybqmwx47bviyyhx931izl1p29z2mg8hn";
-    })
-  ];
-
-  postConfigure = ''
+  postPatch = ''
     substituteInPlace tools/hid2hci.rules \
       --replace /sbin/udevadm ${systemd}/bin/udevadm \
       --replace "hid2hci " "$out/lib/udev/hid2hci "
   '';
 
-  configureFlags = (with stdenv.lib; [
+  configureFlags = [
     "--localstatedir=/var"
     "--enable-library"
     "--enable-cups"
@@ -54,14 +63,21 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
     "--with-udevdir=${placeholder "out"}/lib/udev"
-    ] ++ optional enableWiimote [ "--enable-wiimote" ]
-      ++ optional enableMidi    [ "--enable-midi" ]
-      ++ optional enableSixaxis [ "--enable-sixaxis" ]);
+    "--enable-health"
+    "--enable-mesh"
+    "--enable-midi"
+    "--enable-nfc"
+    "--enable-sap"
+    "--enable-sixaxis"
+    "--enable-wiimote"
+  ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
-  installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
+  installFlags = [ "statedir=$(TMPDIR)/var/lib/bluetooth" ];
+
+  makeFlags = [ "rulesdir=${placeholder "out"}/lib/udev/rules.d" ];
 
-  makeFlags = "rulesdir=${placeholder "out"}/lib/udev/rules.d";
+  doCheck = stdenv.hostPlatform.isx86_64;
 
   postInstall = ''
     mkdir -p $test/{bin,test}
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index 02a46e5a776..9eb9c53b8dd 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner  = "iovisor";
     repo   = "bpftrace";
     rev    = "refs/tags/v${version}";
-    sha256 = "19lblnhx3p0qk8s3qgxrx9wl0d6dgz5dfp4gw6a6cvhhyn78cldm";
+    sha256 = "1qkfbmksdssmm1qxcvcwdql1pz8cqy233195n9i9q5dhk876f75v";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/brillo/default.nix b/pkgs/os-specific/linux/brillo/default.nix
index 3ad4acf127b..6d51907ea16 100644
--- a/pkgs/os-specific/linux/brillo/default.nix
+++ b/pkgs/os-specific/linux/brillo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "brillo";
-  version = "1.4.8";
+  version = "1.4.9";
 
   src = fetchFromGitLab {
     owner= "cameronnemo";
     repo= "brillo";
     rev= "v${version}";
-    sha256 = "0wxvg541caiwm3bjwbmk7xcng7jd9xsiga2agxwp7gpkrlp74j9f";
+    sha256 = "0ab7s60zcgl6hvm0a9rlwq35p25n3jnw6r9256pwl4cdwyjyybsb";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 40b44514f1b..41ac6e94ab3 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -34,14 +34,14 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.30.1";
+  name = "busybox-1.31.1";
 
   # Note to whoever is updating busybox: please verify that:
   # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test
   # still builds after the update.
   src = fetchurl {
     url = "https://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "1p7vbnwj60q6zkzrzq3pa8ybb7mviv2aa5a8g7s4hh6kvfj0879x";
+    sha256 = "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh";
   };
 
   hardeningDisable = [ "format" "pie" ]
diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
index 58038923890..d9608650ed9 100644
--- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
+++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
@@ -1,6 +1,6 @@
-{fetchgit }:
+{ fetchFromGitiles }:
 
-fetchgit {
+fetchFromGitiles {
   name = "chromium-xorg-conf";
   url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf";
   rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514";
diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix
index 1b307da8cb8..601810f2600 100644
--- a/pkgs/os-specific/linux/cpupower/default.nix
+++ b/pkgs/os-specific/linux/cpupower/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation {
     sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile
   '';
 
-  makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ];
+  makeFlags = [
+    "CROSS=${stdenv.cc.targetPrefix}"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
 
   installFlags = stdenv.lib.mapAttrsToList
     (n: v: "${n}dir=${placeholder "out"}/${v}") {
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix
index 7ce5535313c..642d05e4beb 100644
--- a/pkgs/os-specific/linux/displaylink/default.nix
+++ b/pkgs/os-specific/linux/displaylink/default.nix
@@ -11,22 +11,22 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "displaylink";
-  version = "4.4.24";
+  version = "5.2.14";
 
   src = requireFile rec {
     name = "displaylink.zip";
-    sha256 = "0c02mg7vbijpfpk9imh0hmls1yiglc216zfllw5ar86r1slhd5y0";
+    sha256 = "03b176y95f04rg3lcnjps9llsjbvd8yksh1fpvjwaciz48mnxh2i";
     message = ''
       In order to install the DisplayLink drivers, you must first
       comply with DisplayLink's EULA and download the binaries and
       sources from here:
 
-      http://www.displaylink.com/downloads/file?id=1261
+      http://www.displaylink.com/downloads/file?id=1369
 
       Once you have downloaded the file, please use the following
       commands and re-run the installation:
 
-      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${version}.zip" \$PWD/${name}
+      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${lib.versions.majorMinor version}.zip" \$PWD/${name}
       nix-prefetch-url file://\$PWD/${name}
     '';
   };
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   unpackPhase = ''
     unzip $src
     chmod +x displaylink-driver-${version}.run
-    ./displaylink-driver-${version}.run --target . --noexec
+    ./displaylink-driver-${version}.run --target . --noexec --nodiskspace
   '';
 
   patches = [ (substituteAll {
@@ -67,8 +67,9 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux";
+    maintainers = with maintainers; [ nshalman abbradar peterhoeg ];
     platforms = [ "x86_64-linux" "i686-linux" ];
     license = licenses.unfree;
-    homepage = https://www.displaylink.com/;
+    homepage = "https://www.displaylink.com/";
   };
 }
diff --git a/pkgs/os-specific/linux/displaylink/udev-installer.patch b/pkgs/os-specific/linux/displaylink/udev-installer.patch
index 3e62e20c315..bd7d9d145c9 100644
--- a/pkgs/os-specific/linux/displaylink/udev-installer.patch
+++ b/pkgs/os-specific/linux/displaylink/udev-installer.patch
@@ -4,13 +4,13 @@
    cat <<'EOF'
  start_service()
  {
--  systemctl start dlm
+-  systemctl start displaylink-driver
 +  @systemd@/bin/systemctl start --no-block dlm
  }
  
  stop_service()
  {
--  systemctl stop dlm
+-  systemctl stop displaylink-driver
 +  @systemd@/bin/systemctl stop dlm
  }
  
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 0c7e2566f00..104fccd6955 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -1,58 +1,56 @@
-{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl, shared ? false }:
+{ stdenv, lib
+, kernel
+, fetchurl
+, pkgconfig, meson, ninja
+, libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap
+, doxygen, python3
+, shared ? false }:
 
 let
-
   kver = kernel.modDirVersion or null;
-
   mod = kernel != null;
 
 in stdenv.mkDerivation rec {
   name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}";
-  version = "19.08";
+  version = "19.08.2";
 
   src = fetchurl {
     url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-    sha256 = "0xgrkip2aji1c7jy5gk38zzwlp5ap1s6dmbcag5dnyy3bmwvmp9y";
+    sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ numactl ] ++ lib.optional mod kernel.moduleBuildDependencies;
-
-  RTE_KERNELDIR = if mod then "${kernel.dev}/lib/modules/${kver}/build" else "/var/empty";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
-
-  NIX_CFLAGS_COMPILE = [
-    # we need sse3 instructions to build
-    "-msse3"
-    # gcc9 compatibility
-    "-Wno-error=address-of-packed-member"
+  nativeBuildInputs = [
+    doxygen
+    meson
+    ninja
+    pkgconfig
+    python3
+    python3.pkgs.sphinx
   ];
-  hardeningDisable = [ "pic" ];
+  buildInputs = [
+    jansson
+    libbpf
+    libbsd
+    libelf
+    libpcap
+    numactl
+    openssl.dev
+    zlib
+  ] ++ lib.optionals mod kernel.moduleBuildDependencies;
 
   postPatch = ''
-    cat >>config/defconfig_$RTE_TARGET <<EOF
-# Build static or shared libraries.
-CONFIG_RTE_BUILD_SHARED_LIB=${if shared then "y" else "n"}
-EOF
-  '' + lib.optionalString (!mod) ''
-    cat >>config/defconfig_$RTE_TARGET <<EOF
-# Do not build kernel modules.
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_KNI_KMOD=n
-EOF
+    patchShebangs config/arm
   '';
 
-  configurePhase = ''
-    make T=${RTE_TARGET} config
-  '';
-
-  installTargets = [ "install-runtime" "install-sdk" "install-kmod" ]; # skip install-doc
-
-  installFlags = [
-    "prefix=$(out)"
-  ] ++ lib.optionals mod [
-    "kerneldir=$(kmod)/lib/modules/${kver}"
-  ];
+  mesonFlags = [
+    "-Denable_docs=true"
+    "-Denable_kmods=${if kernel != null then "true" else "false"}"
+  ]
+  ++ lib.optionals (shared == false) [
+    "-Ddefault_library=static"
+  ]
+  ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
+  ++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
 
   outputs = [ "out" ] ++ lib.optional mod "kmod";
 
@@ -62,7 +60,7 @@ EOF
     description = "Set of libraries and drivers for fast packet processing";
     homepage = http://dpdk.org/;
     license = with licenses; [ lgpl21 gpl2 bsd2 ];
-    platforms =  [ "x86_64-linux" ];
+    platforms =  platforms.linux;
     maintainers = with maintainers; [ domenkozar magenbluten orivej ];
   };
 }
diff --git a/pkgs/os-specific/linux/ebtables/default.nix b/pkgs/os-specific/linux/ebtables/default.nix
index 23bd39ff388..3f025ca7504 100644
--- a/pkgs/os-specific/linux/ebtables/default.nix
+++ b/pkgs/os-specific/linux/ebtables/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ebtables";
-  version = "2.0.10-4";
+  version = "2.0.11";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ebtables/ebtables-v${version}.tar.gz";
-    sha256 = "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw";
+    url = "http://ftp.netfilter.org/pub/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0apxgmkhsk3vxn9q3libxn3dgrdljrxyy4mli2gk49m7hi3na7xp";
   };
 
   makeFlags =
@@ -15,11 +15,6 @@ stdenv.mkDerivation rec {
       "LOCALSTATEDIR=/var"
     ];
 
-  preBuild =
-    ''
-      substituteInPlace Makefile --replace '-o root -g root' ""
-    '';
-
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   preInstall = "mkdir -p $out/etc/sysconfig";
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index a8776f688ca..bd0ddb4ce1d 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.24";
+  version = "0.26";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
      url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
      rev = version;
-     sha256 = "1dspi6ds58dy7g1q3chapxydfiyz8bjjlryq66jvwgpynzp0c1h1";
+     sha256 = "1gnqd7dghwkcn48f6fr9qvkkm976b3x4bn3l7l2k9pamzpng084i";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
index c9723c944ab..1a1c1ec39d7 100644
--- a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "1.43_4";
+  version = "1.43_5";
 
 
   # Updated according to https://github.com/patjak/bcwc_pcie/pull/81/files
@@ -10,8 +10,8 @@ let
   # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/extract-firmware.sh
 
   # From the Makefile:
-  dmgUrl = "https://support.apple.com/downloads/DL1877/en_US/osxupd10.11.5.dmg";
-  dmgRange = "205261917-208085450"; # the whole download is 1.3GB, this cuts it down to 2MB
+  dmgUrl = "https://updates.cdn-apple.com/2019/cert/041-88431-20191011-e7ee7d98-2878-4cd9-bc0a-d98b3a1e24b1/OSXUpd10.11.5.dmg";
+  dmgRange = "204909802-207733123"; # the whole download is 1.3GB, this cuts it down to 2MB
   # Notes:
   # 1. Be sure to update the sha256 below in the fetch_url
   # 2. Be sure to update the homepage in the meta
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = dmgUrl;
-    sha256 = "0xqkl4yds0n9fdjvnk0v5mj382q02crry6wm2q7j3ncdqwsv02sv";
+    sha256 = "0s8crlh8rvpanzk1w4z3hich0a3mw0m5xhpcg07bxy02calhpdk1";
     curlOpts = "-r ${dmgRange}";
   };
 
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "facetimehd firmware";
-    homepage = https://support.apple.com/downloads/DL1877;
+    homepage = https://support.apple.com/kb/DL1877;
     license = licenses.unfree;
     maintainers = with maintainers; [ womfoo grahamc ];
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 3b5867837bd..8db9d4fb3b5 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchgit, lib }:
 
 stdenv.mkDerivation rec {
   pname = "firmware-linux-nonfree";
-  version = "2019-09-23";
+  version = "2019-10-22";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "20190923";
-    sha256 = "1gq55ny6lb2nh6rr1w55bslzysyj0bwdl6rbpv882hhyjrnsma0n";
+    rev = lib.replaceStrings ["-"] [""] version;
+    sha256 = "03ycc55h7vgd4fmb7v7gl7lplf7pg7acs16aa2rramgldxqvyx7j";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1y2z3wxqq2km6x08kfdqgcr9xczbq1h2jqyrqr6h31bapjb8x0k9";
+  outputHash = "15nm0xh2xq8mnk7a66iljcklc15gvh6jcpz2d9llg1fkv6w8lqc6";
 
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index 4903eadef4b..81e82d68dbc 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,30 +1,21 @@
 diff --git a/data/meson.build b/data/meson.build
-index 61664cd6..f10abbba 100644
+index 25db9509..f394eb25 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -11,7 +11,7 @@ if get_option('daemon')
+@@ -13,7 +13,7 @@
+ if build_daemon
+   subdir('installed-tests')
+   install_data(['daemon.conf'],
+-    install_dir : join_paths(sysconfdir, 'fwupd')
++    install_dir : join_paths(sysconfdir_install, 'fwupd')
+   )
  endif
  
- install_data(['daemon.conf'],
--  install_dir : join_paths(sysconfdir, 'fwupd')
-+  install_dir : join_paths(sysconfdir_install, 'fwupd')
- )
- 
- install_data(['org.freedesktop.fwupd.metainfo.xml'],
-@@ -23,7 +23,7 @@ install_data(['org.freedesktop.fwupd.svg'],
- )
- 
- install_data(['org.freedesktop.fwupd.conf'],
--  install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d')
-+  install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d')
- )
- 
- if get_option('daemon')
 diff --git a/data/pki/meson.build b/data/pki/meson.build
 index eefcc914..dc801fa1 100644
 --- a/data/pki/meson.build
 +++ b/data/pki/meson.build
-@@ -4,14 +4,14 @@ if get_option('gpg')
+@@ -4,14 +4,14 @@
        'GPG-KEY-Linux-Foundation-Firmware',
        'GPG-KEY-Linux-Vendor-Firmware-Service',
      ],
@@ -41,7 +32,7 @@ index eefcc914..dc801fa1 100644
    )
  endif
  
-@@ -19,12 +19,12 @@ if get_option('pkcs7')
+@@ -19,12 +19,12 @@
    install_data([
        'LVFS-CA.pem',
      ],
@@ -57,10 +48,10 @@ index eefcc914..dc801fa1 100644
  endif
  
 diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
-index a27c31ef..374e09b6 100644
+index 826a3c1d..b78db663 100644
 --- a/data/remotes.d/meson.build
 +++ b/data/remotes.d/meson.build
-@@ -3,7 +3,7 @@ if get_option('daemon') and get_option('lvfs')
+@@ -3,7 +3,7 @@
        'lvfs.conf',
        'lvfs-testing.conf',
      ],
@@ -69,7 +60,7 @@ index a27c31ef..374e09b6 100644
    )
    i18n.merge_file(
      input: 'lvfs.metainfo.xml',
-@@ -37,12 +37,12 @@ configure_file(
+@@ -37,12 +37,12 @@
    output : 'vendor.conf',
    configuration : con2,
    install: true,
@@ -85,10 +76,10 @@ index a27c31ef..374e09b6 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index a89f9b3f..736896eb 100644
+index 8e1de887..a5bb1fe6 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -145,6 +145,12 @@ localstatedir = join_paths(prefix, get_option('localstatedir'))
+@@ -158,6 +158,12 @@
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -99,13 +90,13 @@ index a89f9b3f..736896eb 100644
 +endif
 +
  gio = dependency('gio-2.0', version : '>= 2.45.8')
+ giounix = dependency('gio-unix-2.0', version : '>= 2.45.8')
  if gio.version().version_compare ('>= 2.55.0')
-   conf.set('HAVE_GIO_2_55_0', '1')
 diff --git a/meson_options.txt b/meson_options.txt
-index 5d4163e8..db81fd1f 100644
+index 71b50c6a..561c2031 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -21,6 +21,7 @@ option('plugin_modem_manager', type : 'boolean', value : false, description : 'e
+@@ -24,6 +24,7 @@
  option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
  option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
  option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
@@ -117,7 +108,7 @@ diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
 index cb9f4555..b972d7fb 100644
 --- a/plugins/dell-esrt/meson.build
 +++ b/plugins/dell-esrt/meson.build
-@@ -36,5 +36,5 @@ configure_file(
+@@ -36,5 +36,5 @@
    output : 'dell-esrt.conf',
    configuration : con2,
    install: true,
@@ -128,7 +119,7 @@ diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
 index 5c88504e..7706da71 100644
 --- a/plugins/redfish/meson.build
 +++ b/plugins/redfish/meson.build
-@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish',
+@@ -26,7 +26,7 @@
  )
  
  install_data(['redfish.conf'],
@@ -137,11 +128,24 @@ index 5c88504e..7706da71 100644
  )
  
  if get_option('tests')
+diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build
+index 42718abf..bc815491 100644
+--- a/plugins/thunderbolt/meson.build
++++ b/plugins/thunderbolt/meson.build
+@@ -46,7 +46,7 @@
+ )
+ 
+ install_data(['thunderbolt.conf'],
+-  install_dir:  join_paths(sysconfdir, 'fwupd')
++  install_dir:  join_paths(sysconfdir_install, 'fwupd')
+ )
+ # we use functions from 2.52 in the tests
+ if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
 diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index ac9f5dd8..1ab51b5e 100644
+index 45b18d7d..ef8e0b04 100644
 --- a/plugins/uefi/meson.build
 +++ b/plugins/uefi/meson.build
-@@ -79,7 +79,7 @@ executable(
+@@ -85,7 +85,7 @@
  )
  
  install_data(['uefi.conf'],
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 75144799d01..1f6a7145b77 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -45,6 +45,7 @@
 , freetype
 , fontconfig
 , pango
+, tpm2-tss
 , bubblewrap
 , efibootmgr
 , flashrom
@@ -79,18 +80,18 @@ let
 
   # # Currently broken on Aarch64
   # haveFlashrom = isx86;
-  # Experimental in 1.2.10
+  # Experimental
   haveFlashrom = false;
 
 in
 
 stdenv.mkDerivation rec {
   pname = "fwupd";
-  version = "1.2.10";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-    sha256 = "0inngs7i48akm9c7fmdsf9zjif595rkaba69rl76jfwfv8r21vjb";
+    sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql";
   };
 
   outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
@@ -137,6 +138,7 @@ stdenv.mkDerivation rec {
     freetype
     fontconfig
     pango
+    tpm2-tss
     efivar
   ] ++ stdenv.lib.optionals haveDell [
     libsmbios
@@ -146,6 +148,10 @@ stdenv.mkDerivation rec {
     ./fix-paths.patch
     ./add-option-for-installation-sysconfdir.patch
 
+    # do not require which
+    # https://github.com/fwupd/fwupd/pull/1568
+    ./no-which.patch
+
     # installed tests are installed to different output
     # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
     (substituteAll {
@@ -195,6 +201,7 @@ stdenv.mkDerivation rec {
   '';
 
   mesonFlags = [
+    "-Dgtkdoc=true"
     "-Dplugin_dummy=true"
     "-Dudevdir=lib/udev"
     "-Dsystemdunitdir=lib/systemd/system"
@@ -209,8 +216,8 @@ stdenv.mkDerivation rec {
     "-Dplugin_synaptics=false"
   ] ++ stdenv.lib.optionals (!haveRedfish) [
     "-Dplugin_redfish=false"
-  ] ++ stdenv.lib.optionals (!haveFlashrom) [
-    "-Dplugin_flashrom=false"
+  ] ++ stdenv.lib.optionals haveFlashrom [
+    "-Dplugin_flashrom=true"
   ];
 
   # TODO: We need to be able to override the directory flags from meson setup hook
@@ -231,6 +238,9 @@ stdenv.mkDerivation rec {
   # https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
   PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
 
+  # cannot install to systemd prefix
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMPRESETDIR = "${placeholder "out"}/lib/systemd/system-preset";
+
   # TODO: wrapGAppsHook wraps efi capsule even though it is not elf
   dontWrapGApps = true;
   # so we need to wrap the executables manually
@@ -247,11 +257,15 @@ stdenv.mkDerivation rec {
   # /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module
   passthru = {
     filesInstalledToEtc = [
+      # "fwupd/daemon.conf" # already created by the module
+      "fwupd/redfish.conf"
       "fwupd/remotes.d/dell-esrt.conf"
       "fwupd/remotes.d/lvfs-testing.conf"
       "fwupd/remotes.d/lvfs.conf"
       "fwupd/remotes.d/vendor.conf"
       "fwupd/remotes.d/vendor-directory.conf"
+      "fwupd/thunderbolt.conf"
+      # "fwupd/uefi.conf" # already created by the module
       "pki/fwupd/GPG-KEY-Hughski-Limited"
       "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
       "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
@@ -262,12 +276,12 @@ stdenv.mkDerivation rec {
     ];
 
     tests = {
-      installedTests = nixosTests.fwupd;
+      installedTests = nixosTests.installed-tests.fwupd;
     };
   };
 
   meta = with stdenv.lib; {
-    homepage = https://fwupd.org/;
+    homepage = "https://fwupd.org/";
     maintainers = with maintainers; [ jtojnar ];
     license = [ licenses.gpl2 ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
index 9efd7b8d6ab..474b250097d 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
@@ -6,14 +6,3 @@ index c7a430c0..e69de29b 100644
 -install_data('README.md',
 -  install_dir : join_paths(localstatedir, 'lib', 'fwupd', 'builder')
 -)
-diff --git a/meson_post_install.sh b/meson_post_install.sh
-index 0cbb6f41..d757a81a 100755
---- a/meson_post_install.sh
-+++ b/meson_post_install.sh
-@@ -11,6 +11,4 @@ LOCALSTATEDIR=$2
-     echo 'Updating systemd deps'
-     mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants
-     ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service
--    echo 'Creating stateful directory'
--    mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd
- #fi
diff --git a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
new file mode 100644
index 00000000000..c0c65e42539
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
@@ -0,0 +1,31 @@
+--- a/plugins/uefi/efi/generate_binary.sh
++++ b/plugins/uefi/efi/generate_binary.sh
+@@ -1,9 +1,9 @@
+ #!/bin/sh
+ output=$2
+-objcopy_cmd=$(which objcopy)
+-genpeimg_cmd=$(which genpeimg)
++objcopy_cmd=$(command -v objcopy)
++genpeimg_cmd=$(command -v genpeimg)
+ 
+-$objcopy_cmd  -j .text \
++"$objcopy_cmd"  -j .text \
+               -j .sdata \
+               -j .data \
+               -j .dynamic \
+@@ -11,7 +11,7 @@
+               -j .rel \
+               -j .rela \
+               -j .reloc \
+-              $*
++              "$@"
+ 
+ if [ -n "${genpeimg_cmd}" ]; then
+         $genpeimg_cmd -d \
+@@ -20,5 +20,5 @@
+                       +n \
+                       -d \
+                       +s \
+-                      $output
++                      "$output"
+ fi
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 98cf56f799e..a8c4bd559d3 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "raspberrypi-firmware";
-  version = "1.20190819";
+  version = "1.20190925";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "0qzpc092qg748i5s23xa1jk6qpga9wn0441r2awsz0apkysqx5fj";
+    sha256 = "0xyj3f04dcfnl9hp8hakgwcb1msqh7934n0pclcmzy47xjkz7ris";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index edee6a52ba2..6792e05829d 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -11,7 +11,7 @@ in {
   };
 
   fuse_3 = mkFuse {
-    version = "3.8.0";
-    sha256Hash = "0zbj5l2pffs0q38lqfrnkafsgxf50mw5mqmh4m2jmqab1fxg5mip";
+    version = "3.9.0";
+    sha256Hash = "00yppzmv15jqjy3wq5ki9d49jl6bfxrlwr5sfz50ihr40d6dgx9p";
   };
 }
diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix
index 03018c98818..a7aad276d37 100644
--- a/pkgs/os-specific/linux/google-authenticator/default.nix
+++ b/pkgs/os-specific/linux/google-authenticator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "google-authenticator-libpam";
-  version = "1.06";
+  version = "1.07";
 
   src = fetchurl {
     url = "https://github.com/google/google-authenticator-libpam/archive/${version}.tar.gz";
-    sha256 = "01kb1ppsc2fz1i3crdwi6ic8gyphjv89f5li6ypv3pp88v3kxw2j";
+    sha256 = "01841dfmf6aw39idlv8y52b1nw9wx4skklzqhw1f519m0671ajhh";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index 542d99eeabe..2aa928e8119 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/hdparm/;
     platforms = platforms.linux;
     license = licenses.bsd2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/os-specific/linux/health-check/default.nix b/pkgs/os-specific/linux/health-check/default.nix
index c6dc7bf66e2..d45f6c5f896 100644
--- a/pkgs/os-specific/linux/health-check/default.nix
+++ b/pkgs/os-specific/linux/health-check/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "health-check";
-  version = "0.03.03";
+  version = "0.03.04";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1bvgfzmvbqqhf1ailbwrsma6sbp5wcl6a35pb1n0y1n1p1hnqzph";
+    sha256 = "0p85ai31n9hh6d4b79zzlczf9arsy7vmkjak1x3g9f5qj8fy4avp";
   };
 
   buildInputs = [ json_c libbsd ];
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index e90470cd589..b1251a4396f 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hostapd";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj";
+    sha256 = "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     CONFIG_INTERNETWORKING=y
     CONFIG_HS20=y
     CONFIG_ACS=y
+    CONFIG_GETRANDOM=y
   '' + stdenv.lib.optionalString (sqlite != null) ''
     CONFIG_SQLITE=y
   '';
@@ -69,7 +70,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://hostap.epitest.fi;
+    homepage = https://hostap.epitest.fi;
     repositories.git = git://w1.fi/hostap.git;
     description = "A user space daemon for access point and authentication servers";
     license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index 5021d12acec..d8aefd02e7f 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "19.34.13959";
+  version = "19.44.14658";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    sha256 = "1m54w5p5pilrkmlmqgvgrsm3d5dqfdr4jai5siq5ccsqj4gnv1wz";
+    sha256 = "1pl7yhmgzf7r2b8jyxzmwdc7772gd24izy2z2g4n5s205s125k7x";
   };
 
   # Build script tries to write the ICD to /etc
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index d30ac5e62bb..b8b46b33e96 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iproute2";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b";
+    sha256 = "1bl6c3af7wbgi6nqjfm32fkhqh63iphkg2g11f1srifll1ham5zy";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 57255b4a382..4463e689851 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-7.3";
+  name = "ipset-7.4";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "0nm3vagr1pb5hr1028qrwx6v6s8bxf1m4qjx72vak42y032wfi26";
+    sha256 = "110q996yrf74ckpkc5f4pn8j5bqq98f27fsak3ibgr3zwmv435sa";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 882c24057bb..f556d7368e9 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -6,12 +6,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.8.3";
+  version = "1.8.4";
   pname = "iptables";
 
   src = fetchurl {
     url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "106xkkg5crsscjlinxvqvprva23fwwqfgrzl8m2nn841841sqg52";
+    sha256 = "0z0mgs1ghvn3slc868mgbf2g26njgrzcy5ggyb5w4i55j1a3lflr";
   };
 
   nativeBuildInputs = [ pkgconfig pruneLibtoolFiles flex bison ];
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ad965f95c94..930f77437ac 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iw";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1m85ap8hwzfs7xf9r0v5d55ra4mhw45f6vclc7j6gsldpibyibq4";
+    sha256 = "0prrgb11pjrr6dw71v7nx2bic127qzrjifvz183v3mw8f1kryim2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 6d0eba0b0db..2d9554a4894 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -8,16 +8,17 @@
 , docutils
 , readline
 , python3Packages
+, systemd
 }:
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "0.22";
+  version = "1.2";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
     rev = version;
-    sha256 = "0mjc08ayq2k7sinqanrlm97dn88dxkqkyk2vqqcx1nqjvwvbpbsp";
+    sha256 = "10fwi31ym6hvn0vvh9fy0swzs3mfnpcwg95np4i5ksmw8k0kj0hf";
   };
 
   nativeBuildInputs = [
@@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
     ell
     python3Packages.python
     readline
+    systemd
   ];
 
   pythonPath = [
@@ -46,6 +48,7 @@ stdenv.mkDerivation rec {
     "--with-dbus-datadir=${placeholder "out"}/share/"
     "--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe
     "--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/"
+    "--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/"
   ];
 
   postUnpack = ''
@@ -77,6 +80,6 @@ stdenv.mkDerivation rec {
     description = "Wireless daemon for Linux";
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dtzWill ];
+    maintainers = with maintainers; [ dtzWill fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 1699324546d..fb2b9068921 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -58,7 +58,7 @@ let
     + '' mkdir -p $out/include/config
       echo "${version}-default" > $out/include/config/kernel.release
     ''
-    # These oddly named file records teh `SHELL` passed, which causes bootstrap
+    # These oddly named file records the `SHELL` passed, which causes bootstrap
     # tools run-time dependency.
     + ''
       find "$out" -name '..install.cmd' -print0 | xargs -0 rm
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 736e872f1ba..4bd86a70267 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -363,6 +363,7 @@ let
       SECURITY_APPARMOR                = yes;
       DEFAULT_SECURITY_APPARMOR        = yes;
 
+      SECURITY_LOCKDOWN_LSM            = whenAtLeast "5.4" yes;
     } // optionalAttrs (!stdenv.hostPlatform.isAarch32) {
 
       # Detect buffer overflows on the stack
@@ -716,6 +717,9 @@ let
 
       # Enable AMD's ROCm GPU compute stack
       HSA_AMD = whenAtLeast "4.20" yes;
+      ZONE_DEVICE = whenAtLeast "5.3" yes;
+      HMM_MIRROR = whenAtLeast "5.3" yes;
+      DRM_AMDGPU_USERPTR = whenAtLeast "5.3" yes;
 
       PREEMPT = no;
       PREEMPT_VOLUNTARY = yes;
@@ -739,6 +743,9 @@ let
     } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
       # Enables support for the Allwinner Display Engine 2.0
       SUN8I_DE2_CCU = whenAtLeast "4.13" yes;
+
+      # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647
+      CRYPTO_AEGIS128_SIMD = no;
     };
   };
 in
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index 26fc07202bb..26c559ea908 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -136,10 +136,12 @@ while (<CONFIG>) {
 }
 close CONFIG;
 
+my $ret = 0;
 foreach my $name (sort (keys %answers)) {
     my $f = $requiredAnswers{$name} && $ignoreConfigErrors ne "1"
-        ? sub { die "error: " . $_[0]; } : sub { warn "warning: " . $_[0]; };
+        ? sub { warn "error: " . $_[0]; $ret = -1; } : sub { warn "warning: " . $_[0]; };
     &$f("unused option: $name\n") unless defined $config{$name};
     &$f("option not set correctly: $name (wanted '$answers{$name}', got '$config{$name}')\n")
         if $config{$name} && $config{$name} ne $answers{$name};
 }
+exit $ret;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 74d49210fd2..f18a605f46e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.151";
+  version = "4.14.160";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1bizb1wwni5r4m5i0mrsqbc5qw73lwrfrdadm09vbfz9ir19qlgz";
+    sha256 = "0b59xyr8if0qcbnwqa88y275g9rzhjbbp8589i8xxpmws6x2c0y6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index e3a9b79e235..614f1f0b255 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.81";
+  version = "4.19.91";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "17g2wiaa7l7mxi72k79drxij2zqk3nsj8wi17bl4nfvb1ypc2gi9";
+    sha256 = "0irl5jlh5rrdfz5g28x4ifbillvspwd8fy4wi3qhmv9dw7gc60zl";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index b68f791cdcc..e63f96d6876 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.198";
+  version = "4.4.207";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "04pkryy1lc75c88vq5wcjjcxs43i7bb8hhplbfi6s204ipc0iy7c";
+    sha256 = "024flajnl3l4yk8sgqdrfrl21js4vsjcv4ivmjblj4l9fl3hdjb6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 3d9bb239cf5..27e802f6107 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.198";
+  version = "4.9.207";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1b05jra6q695s1d4rzdr39i6m8xsi5xjrdn73sgwzvx0dgxfnwlm";
+    sha256 = "090181vij95py22jhx7baaxabb78w0j5hsfsnzp6bv2vgdz671na";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
index 8d6c9f7a1c5..d83f0fb9813 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3.8";
+  version = "5.3.18";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0jb6yya9yx4z52p5m32dqj0kgc6aaz9df8mvq0hzy40bqb3czwvq";
+    sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.2.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index d3794616d8c..8fdb4f47e4f 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.2.21";
+  version = "5.4.6";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0f1mick15d0m7yhhhdwai03wmczvkm9cg38w2ivgmgysfpzy73ls";
+    sha256 = "1j4916izy2nrzq7g6m5m365r60hhhx9rqcanjvaxv5x3vsy639gx";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index d29a2382c2a..707ca7ff7ec 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,11 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-
-    # Update this if linux_latest-libre fails to build.
-    # $ curl https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/ | grep -Eo 'Revision [0-9]+'
-    rev = "16794";
-    sha256 = "1lpaka4hs7yrpnrzfybd6radjylwvw2p4aly68pypykqs2srvm7j";
+    rev = "17145";
+    sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789";
   }
 , ...
 }:
@@ -36,6 +33,8 @@ in linux.override {
       '';
     };
 
+    passthru.updateScript = ./update-libre.sh;
+
     maintainers = [ lib.maintainers.qyliss ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index f8ad6b37a19..6f5f2524276 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, rpiVersion, ... } @ args:
 
 let
-  modDirVersion = "4.19.71";
-  tag = "1.20190906";
+  modDirVersion = "4.19.75";
+  tag = "1.20190925";
 in
 lib.overrideDerivation (buildLinux (args // {
   version = "${modDirVersion}-${tag}";
@@ -11,8 +11,8 @@ lib.overrideDerivation (buildLinux (args // {
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "linux";
-    rev = "9532eb3c84d8d952ef28da3d135683ac01adc9b8";
-    sha256 = "0168wz8kkdzbyha41iqlgn1z1kcy4smg89rgxkgadzq78y7fglpl";
+    rev = "raspberrypi-kernel_${tag}-1";
+    sha256 = "0l91kb4jjxg4fcp7d2aqm1fj34ns137rys93k907mdgnarcliafs";
   };
 
   defconfig = {
@@ -33,7 +33,7 @@ lib.overrideDerivation (buildLinux (args // {
     platforms = with lib.platforms; [ arm aarch64 ];
     hydraPlatforms = [ "aarch64-linux" ];
   };
-})) (oldAttrs: {
+} // (args.argsOverride or {}))) (oldAttrs: {
   postConfigure = ''
     # The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
     sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 8096684b137..f89a7c93730 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,15 +3,15 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4-rc6";
-  extraMeta.branch = "5.4";
+  version = "5.5-rc2";
+  extraMeta.branch = "5.5";
 
   # modDirVersion needs to be x.y.z, will always add .0
   modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg;
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0ypazqr6z0n8fwaawxca0i56bwd4g4q2bw5qwayf0f4402m34xdh";
+    sha256 = "1fs432ld5k1j68hflqdxby9mxa6a7xnw1m6z5lfb9341gjw078xc";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 87fa9c8f08e..d206910732c 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -179,7 +179,7 @@ let
       '' else "") + (if isModular then ''
         mkdir -p $dev
         cp vmlinux $dev/
-        if [ -z "$dontStrip" ]; then
+        if [ -z "''${dontStrip-}" ]; then
           installFlagsArray+=("INSTALL_MOD_STRIP=1")
         fi
         make modules_install $makeFlags "''${makeFlagsArray[@]}" \
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index fa5b168389b..2af64c2ddc4 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -6,6 +6,16 @@
       patch = ./bridge-stp-helper.patch;
     };
 
+  request_key_helper =
+    { name = "request-key-helper";
+      patch = ./request-key-helper.patch;
+    };
+
+  request_key_helper_updated =
+    { name = "request-key-helper-updated";
+      patch = ./request-key-helper-updated.patch;
+    };
+
   p9_fixes =
     { name = "p9-fixes";
       patch = ./p9-fixes.patch;
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 21615f62a3d..163fc391cf9 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper
+{ lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
 , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
 , zlib, withGtk ? false, gtk2 ? null
@@ -36,12 +36,13 @@ stdenv.mkDerivation {
   # perf refers both to newt and slang
   nativeBuildInputs = [
     asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-    flex bison libiberty audit makeWrapper pkgconfig python perl
+    flex bison libiberty audit makeWrapper pkgconfig
   ];
   buildInputs = [
     elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
-    libopcodes
-  ] ++ stdenv.lib.optional withGtk gtk2;
+    libopcodes python3 perl
+  ] ++ stdenv.lib.optional withGtk gtk2
+    ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]);
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
diff --git a/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch b/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch
new file mode 100644
index 00000000000..aabb9e801be
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch
@@ -0,0 +1,13 @@
+diff --git a/security/keys/request_key.c b/security/keys/request_key.c
+index 88172c163953..4da74a1eebb2 100644
+--- a/security/keys/request_key.c
++++ b/security/keys/request_key.c
+@@ -161,7 +161,7 @@ static int call_sbin_request_key(struct key_construction *cons,
+
+	/* set up the argument list */
+	i = 0;
+-	argv[i++] = "/sbin/request-key";
++	argv[i++] = "/run/current-system/sw/bin/request-key";
+	argv[i++] = (char *) op;
+	argv[i++] = key_str;
+	argv[i++] = uid_str;
diff --git a/pkgs/os-specific/linux/kernel/request-key-helper.patch b/pkgs/os-specific/linux/kernel/request-key-helper.patch
new file mode 100644
index 00000000000..8264e265aed
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/request-key-helper.patch
@@ -0,0 +1,13 @@
+diff --git a/security/keys/request_key.c b/security/keys/request_key.c
+index 957b9e3e1492..5436a0d8b81d 100644
+--- a/security/keys/request_key.c
++++ b/security/keys/request_key.c
+@@ -114,7 +114,7 @@ static int call_usermodehelper_keys(const char *path, char **argv, char **envp,
+  */
+ static int call_sbin_request_key(struct key *authkey, void *aux)
+ {
+-	static char const request_key[] = "/sbin/request-key";
++	static char const request_key[] = "/run/current-system/sw/bin/request-key";
+ 	struct request_key_auth *rka = get_request_key_auth(authkey);
+ 	const struct cred *cred = current_cred();
+ 	key_serial_t prkey, sskey;
diff --git a/pkgs/os-specific/linux/kernel/update-libre.sh b/pkgs/os-specific/linux/kernel/update-libre.sh
new file mode 100755
index 00000000000..3b8a00edcda
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/update-libre.sh
@@ -0,0 +1,26 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p nix-prefetch-svn git curl
+set -euo pipefail
+
+nixpkgs="$(git rev-parse --show-toplevel)"
+path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix"
+
+old_rev="$(grep -o 'rev = ".*"' "$path" | awk -F'"' '{print $2}')"
+
+svn_url=https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/
+rev="$(curl -s "$svn_url" | grep -Em 1 -o 'Revision [0-9]+' | awk '{print $2}')"
+
+if [ "$old_rev" = "$rev" ]; then
+    echo "No updates for linux-libre"
+    exit 0
+fi
+
+sha256="$(QUIET=1 nix-prefetch-svn "$svn_url" "$rev" | tail -1)"
+
+sed -i -e "s/rev = \".*\"/rev = \"$rev\"/" \
+    -e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" "$path"
+
+if [ -n "$COMMIT" ]; then
+    git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path"
+    echo "Updated linux_latest-libre $old_rev -> $rev"
+fi
diff --git a/pkgs/os-specific/linux/kernel/update.sh b/pkgs/os-specific/linux/kernel/update.sh
index 7a86b05dafc..dbfa052d292 100755
--- a/pkgs/os-specific/linux/kernel/update.sh
+++ b/pkgs/os-specific/linux/kernel/update.sh
@@ -57,3 +57,6 @@ ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do
 
   echo "Updated $OLDVER -> $V"
 done
+
+# Update linux-libre
+COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-libre.sh
diff --git a/pkgs/os-specific/linux/keyutils/conf-symlink.patch b/pkgs/os-specific/linux/keyutils/conf-symlink.patch
new file mode 100644
index 00000000000..02762e857a8
--- /dev/null
+++ b/pkgs/os-specific/linux/keyutils/conf-symlink.patch
@@ -0,0 +1,13 @@
+diff --git a/request-key.c b/request-key.c
+index bf47c0a..105fee8 100644
+--- a/request-key.c
++++ b/request-key.c
+@@ -313,7 +313,7 @@ static void scan_conf_dir(struct parameters *params, const char *confdir)
+ 	while ((d = readdir(dir))) {
+ 		if (d->d_name[0] == '.')
+ 			continue;
+-		if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG)
++		if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG && d->d_type != DT_LNK)
+ 			continue;
+ 		l = strlen(d->d_name);
+ 		if (l < 5)
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 7d6ee61030c..887aee45aa8 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "keyutils";
-  version = "1.6";
+  version = "1.6.1";
 
   src = fetchurl {
-    url = "https://people.redhat.com/dhowells/keyutils/${pname}-${version}.tar.bz2";
-    sha256 = "05bi5ja6f3h3kdi7p9dihlqlfrsmi1wh1r2bdgxc0180xh6g5bnk";
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${pname}-${version}.tar.gz";
+    sha256 = "0mzmw8c7gqmqaxm3sa0xki8ycjla47xxhqg0yh17pl00d7ydqw9w";
   };
 
   patches = [
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
       url = "https://salsa.debian.org/debian/keyutils/raw/4cecffcb8e2a2aa4ef41777ed40e4e4bcfb2e5bf/debian/patches/Make-build-reproducible.patch";
       sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm";
     })
+    ./conf-symlink.patch
   ];
 
   BUILDDATE = "1970-01-01";
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 433506e5c39..052ab3061c1 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, autoreconfHook, pkgconfig
-, libxslt, xz, elf-header }:
+, libxslt, xz, elf-header
+, withStatic ? false }:
 
 let
   systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
@@ -21,10 +22,11 @@ in stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--with-xz"
     "--with-modulesdirs=${modulesDirs}"
-  ];
+  ] ++ lib.optional withStatic "--enable-static";
 
   patches = [ ./module-dir.patch ]
-    ++ lib.optional stdenv.isDarwin ./darwin.patch;
+    ++ lib.optional stdenv.isDarwin ./darwin.patch
+    ++ lib.optional withStatic ./enable-static.patch;
 
   postInstall = ''
     for prog in rmmod insmod lsmod modinfo modprobe depmod; do
diff --git a/pkgs/os-specific/linux/kmod/enable-static.patch b/pkgs/os-specific/linux/kmod/enable-static.patch
new file mode 100644
index 00000000000..8308c655792
--- /dev/null
+++ b/pkgs/os-specific/linux/kmod/enable-static.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index ee72283..b42c42a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes])
+ LT_INIT([disable-static pic-only])
+ DOLT
+ 
+-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
+ AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])])
+ 
+ #####################################################################
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
index 0fff816eac7..fd16acaa3a9 100644
--- a/pkgs/os-specific/linux/kmscon/default.nix
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -4,7 +4,7 @@
 , systemd
 , libxkbcommon
 , libdrm
-, libGLU_combined
+, libGLU, libGL
 , pango
 , pixman
 , pkgconfig
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     systemd
     libxkbcommon
     libdrm
-    libGLU_combined
+    libGLU libGL
     pango
     pixman
     pkgconfig
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index fef7a3236b3..090bf6a566a 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = http://lse.sourceforge.net/io/aio.html;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl21;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/libratbag/default.nix b/pkgs/os-specific/linux/libratbag/default.nix
index f2bf5c94970..2f92b316003 100644
--- a/pkgs/os-specific/linux/libratbag/default.nix
+++ b/pkgs/os-specific/linux/libratbag/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libratbag";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner  = "libratbag";
     repo   = "libratbag";
     rev    = "v${version}";
-    sha256 = "10hahpv2n48b5z35d2draka7cz1a9vw53rvwfmpp5dibwnmi81jb";
+    sha256 = "1fcdcs4i83yic4rp3dsr7rq040f78lh8fb1ni1nnvp3y78fmibmi";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index d5b45117732..9c48caaa243 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -40,7 +40,9 @@ stdenv.mkDerivation {
         --replace /usr/bin/udevadm ${systemd}/bin/udevadm
     '';
 
-  enableParallelBuilding = true;
+  # https://github.com/NixOS/nixpkgs/pull/52597
+  # gcc: error: ../../device_mapper/libdevice-mapper.a: No such file or directory
+  enableParallelBuilding = false;
 
   patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix
index 8b62ce76409..4e2e31606c5 100644
--- a/pkgs/os-specific/linux/mbpfan/default.nix
+++ b/pkgs/os-specific/linux/mbpfan/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mbpfan";
-  version = "2.1.1";
+  version = "2.2.1";
   src = fetchFromGitHub {
     owner = "dgraziotin";
     repo = "mbpfan";
     rev = "v${version}";
-    sha256 = "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj";
+    sha256 = "0gc9ypxi55vxs77nx8ihhh9zk7fr9v0m0zfm76q7x0bi6jz11mbr";
   };
   installPhase = ''
     mkdir -p $out/bin $out/etc
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index a58bfc321d3..13bdbcc19f6 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "164";
+  version = "166";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1i0f0zvxlzkfp0bvghm1z8z8bb8a5x97h56bwd7fdkrm00ivfw2k";
+    sha256 = "0q76lf5yrjq7b96ynj5dbf9ll94ymiab1b9106xpb4vbiwz0ia7w";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 0196718cfd0..70b2580b664 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20190918";
+  version = "20191115";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "0v668mfqxn6wzyng68aqaffh75gc215k13n6d5g7zisivvv2bgdp";
+    sha256 = "0pzi5qmrcrdf6nsds4bvyq1hnvv9d1dlrvqrbzcrpxk84rcjwq1x";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     description = "Microcode for Intel processors";
     license = licenses.unfreeRedistributableFirmware;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ andir ];
   };
 }
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 628b14b6a48..9a76e5873d4 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
   makeFlags = [
     "LIB=lib"
     "prefix=$(out)"
-    "mandir=$(out)/share/man/man8"
+    "man8dir=$(out)/share/man/man8"
     "man5dir=$(out)/share/man/man5"
     "man3dir=$(out)/share/man/man3"
-    "unitdir=$(out)/lib/systemd/system"
+    "SYSTEMDPATH=lib"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 3f53c0f5817..74363be47f4 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent
 , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
-, python3, buildPackages
+, python3, buildPackages, nixosTests
 }:
 
 let
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--enable-gss"
+      "--enable-svcgss"
       "--with-statedir=/var/lib/nfs"
       "--with-krb5=${lib.getLib kerberos}"
       "--with-systemd=${placeholder "out"}/etc/systemd/system"
@@ -104,6 +105,12 @@ stdenv.mkDerivation rec {
 
   disallowedReferences = [ (lib.getDev kerberos) ];
 
+  passthru.tests = {
+    nfs3-simple = nixosTests.nfs3.simple;
+    nfs4-simple = nixosTests.nfs4.simple;
+    nfs4-kerberos = nixosTests.nfs4.kerberos;
+  };
+
   meta = with stdenv.lib; {
     description = "Linux user-space NFS utilities";
 
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 9b4f2f1c544..34f899977d1 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -1,31 +1,44 @@
-{ stdenv, fetchurl, pkgconfig, bison, flex
+{ stdenv, fetchurl, pkgconfig, bison, file, flex
+, asciidoc, libxslt, findXMLCatalogs, docbook_xml_dtd_45, docbook_xsl
 , libmnl, libnftnl, libpcap
 , gmp, jansson, readline
+, withDebugSymbols ? false
+, withPython ? false , python3
 , withXtables ? false , iptables
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.2";
+  version = "0.9.3";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "1x8kalbggjq44j4916i6vyv1rb20dlh1dcsf9xvzqsry2j063djw";
+    sha256 = "0y6vbqp6x8w165q65h4n9sba1406gaz0d4744gqszbm7w9f92swm";
   };
 
-  configureFlags = [
-    "--disable-man-doc"
-    "--with-json"
-  ] ++ optional withXtables "--with-xtables";
-
-  nativeBuildInputs = [ pkgconfig bison flex ];
+  nativeBuildInputs = [
+    pkgconfig bison file flex
+    asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt 
+  ];
 
   buildInputs = [
     libmnl libnftnl libpcap
-    gmp readline jansson
-  ] ++ optional withXtables iptables;
+    gmp jansson readline
+  ] ++ optional withXtables iptables
+    ++ optional withPython python3;
+
+  preConfigure = ''
+    substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  configureFlags = [
+    "--with-json"
+  ] ++ optional (!withDebugSymbols) "--disable-debug"
+    ++ optional (!withPython) "--disable-python"
+    ++ optional withPython "--enable-python"
+    ++ optional withXtables "--with-xtables";
 
   meta = {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index e3affca1220..f5aad76b0b4 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -20,25 +20,25 @@ if ((!lib.versionOlder args.version "391")
 in
 rec {
   # Policy: use the highest stable version as the default (on our master).
-  stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_43x else legacy_390;
+  stable = if stdenv.hostPlatform.system == "x86_64-linux"
+    then generic {
+      version = "440.44";
+      sha256_64bit = "057wq9p2vl87gy61f079b6d7clw2vhw3kq7rj411brhrnvr7shmd";
+      settingsSha256 = "1hr1n78c92zksnnryrcz4b8kxvi6kz4yp801ks85hq4a3rryj4vg";
+      persistencedSha256 = "050znx2scm7x3r7czsz77ddjh4bs18hdd3k3shwpi3zflkmnhnvj";
+    }
+    else legacy_390;
 
   # No active beta right now
   beta = stable;
 
-  stable_43x = generic {
-    version = "435.21";
-    sha256_64bit = "0v3pq677ab01qdmwl5dawk8hn39qlwj05p8s9qzh9irmrlnc1izs";
-    settingsSha256 = "1p13cz79kncwx5067a3d7dbz6a1ibp611zynp1qdxpa65hwp2pxa";
-    persistencedSha256 = "0br8znxhz2ryzdj0j4jhqzvdgw9h899q8yz0p9429xz4wxkavgdr";
-  };
-
   # Last one supporting x86
   legacy_390 = generic {
-    version = "390.129";
-    sha256_32bit = "0dkgkp0zx40hf1fsq5xnvbschp7r3c1x1pnpdxna24pi4s62cm2q";
-    sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n";
-    settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l";
-    persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf";
+    version = "390.132";
+    sha256_32bit = "0xgjywzkmmm6a5gby67l2kx0gn7bcxksv4wam0sqym6l1s7v5bai";
+    sha256_64bit = "0qgzsajrc3xkf2jjkwip3la0f2ixp45f76nmz5cphvzrb7k2slxn";
+    settingsSha256 = "07nylqzhldq1gr40q7x5424p2aml3qqnvl2zvnpzc65x2way34v6";
+    persistencedSha256 = "0vab5rj9b1n9yl9674q7i88w1i5p8nhvrwsayn7i1vh4wp3m840r";
   };
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index 101f61f3020..533a74fcffd 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation {
   buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
              ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
 
+  enableParallelBuilding = true;
   makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 2d1e59668aa..0bdc22da918 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -1,42 +1,56 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig
-, dpdk, libconfig, libpcap, numactl, openssl
+, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
 }: let
-
-  dpdk_17_11 = dpdk.overrideAttrs (old: rec {
-    version = "17.11.6";
+  dpdk_18_11 = dpdk.overrideAttrs (old: rec {
+    version = "18.11.5";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "0g4l6yjcn17n18c7q1pxkmnj4fg2kiv0krz7n2vjjsb8s6gmbps2";
+      sha256 = "0000000000000000000000000000000000000000000000000000";
     };
   });
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.19.0.0_DPDK_17.11";
+  version = "1.22.0.0_DPDK_18.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px";
+    sha256 = "1m8xhmfjqlj2gkkigq5ka3yh0xgzrcpfpaxp1pnh8d1g99094vbx";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ dpdk_17_11 libconfig libpcap numactl openssl ];
-
-  RTE_SDK = "${dpdk_17_11}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+  buildInputs = [
+    dpdk_18_11
+    libconfig
+    libpcap
+    numactl
+    openssl
+    zlib
+    libbsd
+    libelf
+    jansson
+  ];
 
-  dontDisableStatic = true;
+  # for some reason, /build/odp-dpdk-1.22.0.0_DPDK_18.11/lib/.libs ends up in all binaries,
+  # while it should be $out/lib instead.
+  # prepend rpath with the proper location, the /build will get removed during rpath shrinking
+  preFixup = ''
+    for prog in $out/bin/*; do
+      patchelf --set-rpath $out/lib:`patchelf --print-rpath $prog` $prog
+    done
+  '';
 
-  configureFlags = [
-    "--disable-shared"
-    "--with-dpdk-path=${dpdk_17_11}"
-  ];
+  # binaries will segfault otherwise
+  dontStrip = true;
 
   meta = with stdenv.lib; {
     description = "Open Data Plane optimized for DPDK";
     homepage = https://www.opendataplane.org;
     license = licenses.bsd3;
-    platforms =  [ "x86_64-linux" ];
+    platforms =  platforms.linux;
     maintainers = [ maintainers.abuibrahim ];
   };
 }
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 090b9d7183d..34e2591d44a 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "open-iscsi";
-  version = "2.0.878";
+  version = "2.1.0";
 
   nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ];
   buildInputs = [ kmod openisns.lib openssl systemd utillinux ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "open-iscsi";
     repo = "open-iscsi";
     rev = version;
-    sha256 = "0hkprlni0z1zdkrmhd897knyfws0l95bz67fgp0vvf63ag08b5ly";
+    sha256 = "0z7rnbfa48j3r4ij7335xgjfb835gnnp10v7q6lvwg7bq6v5xvih";
   };
 
   DESTDIR = "$(out)";
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
     $out/sbin/iscsistart -v
   '';
 
+  postFixup = ''
+    sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login
+  '';
+
   meta = with stdenv.lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix
index 355108f56e4..a6bf67db098 100644
--- a/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/pkgs/os-specific/linux/openrazer/driver.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation (common // {
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildFlags = [
-    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.version}/build"
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index bf26b9e2b28..53fc986d9f6 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which
-, procps, libcap_ng, openssl, python27 , perl
+, procps, libcap_ng, openssl, python3 , perl
 , kernel ? null }:
 
 with stdenv.lib;
 
 let
   _kernel = kernel;
+  pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.5.4";
+  version = "2.12.0";
   pname = "openvswitch";
 
   src = fetchurl {
-    url = "http://openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1lji87wg953lqcdf02f1zv2m54vhd2x9jd03bb91lnlb4qlhifiv";
+    url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
+    sha256 = "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper utillinux openssl libcap_ng python27
+  buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv
                   perl procps which ];
 
   configureFlags = [
@@ -36,27 +37,13 @@ in stdenv.mkDerivation rec {
 
   postBuild = ''
     # fix tests
-    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python27.interpreter}'
-    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python27.interpreter}'
+    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${pythonEnv.interpreter}'
+    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${pythonEnv.interpreter}'
   '';
 
   enableParallelBuilding = true;
   doCheck = false; # bash-completion test fails with "compgen: command not found"
 
-  postInstall = ''
-    cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts
-    makeWrapper \
-      $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      $out/bin/ovs-monitor-ipsec \
-      --prefix PYTHONPATH : "$out/share/openvswitch/python"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "self.psk_file" "root_prefix + self.psk_file"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "self.cert_dir" "root_prefix + self.cert_dir"
-  '';
-
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     description = "A multilayer virtual switch";
@@ -71,7 +58,8 @@ in stdenv.mkDerivation rec {
       support distribution across multiple physical servers similar
       to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
       '';
-    homepage = http://openvswitch.org/;
+    homepage = https://www.openvswitch.org/;
     license = licenses.asl20;
+    maintainers = with maintainers; [ netixx kmcopper ];
   };
 }
diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix
new file mode 100644
index 00000000000..4f3f4c5c172
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/lts.nix
@@ -0,0 +1,82 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which
+, procps, libcap_ng, openssl, python2, iproute , perl
+, automake, autoconf, libtool, kernel ? null }:
+
+with stdenv.lib;
+
+let
+  _kernel = kernel;
+in stdenv.mkDerivation rec {
+  version = "2.5.9";
+  pname = "openvswitch";
+
+  src = fetchurl {
+    url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
+    sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7";
+  };
+
+  patches = [ ./patches/lts-ssl.patch ];
+
+  kernel = optional (_kernel != null) _kernel.dev;
+
+  nativeBuildInputs = [ autoconf libtool automake pkgconfig  ];
+  buildInputs = [ makeWrapper utillinux openssl libcap_ng python2
+                  perl procps which ];
+
+  preConfigure = "./boot.sh";
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sharedstatedir=/var"
+    "--sbindir=$(out)/bin"
+  ] ++ (optionals (_kernel != null) ["--with-linux"]);
+
+  # Leave /var out of this!
+  installFlags = [
+    "LOGDIR=$(TMPDIR)/dummy"
+    "RUNDIR=$(TMPDIR)/dummy"
+    "PKIDIR=$(TMPDIR)/dummy"
+  ];
+
+  postBuild = ''
+    # fix tests
+    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python2.interpreter}'
+    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python2.interpreter}'
+  '';
+
+  enableParallelBuilding = true;
+  doCheck = false; # bash-completion test fails with "compgen: command not found"
+
+  postInstall = ''
+    cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts
+    makeWrapper \
+      $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      $out/bin/ovs-monitor-ipsec \
+      --prefix PYTHONPATH : "$out/share/openvswitch/python"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "self.psk_file" "root_prefix + self.psk_file"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "self.cert_dir" "root_prefix + self.cert_dir"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    description = "A multilayer virtual switch";
+    longDescription =
+      ''
+      Open vSwitch is a production quality, multilayer virtual switch
+      licensed under the open source Apache 2.0 license. It is
+      designed to enable massive network automation through
+      programmatic extension, while still supporting standard
+      management interfaces and protocols (e.g. NetFlow, sFlow, SPAN,
+      RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to
+      support distribution across multiple physical servers similar
+      to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+      '';
+    homepage = https://www.openvswitch.org/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ netixx kmcopper ];
+  };
+}
diff --git a/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch
new file mode 100644
index 00000000000..0d8ff5b0d52
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch
@@ -0,0 +1,274 @@
+diff --git a/build-aux/automake.mk b/build-aux/automake.mk
+new file mode 100644
+index 000000000..5d2657fd6
+--- /dev/null
++++ b/build-aux/automake.mk
+@@ -0,0 +1,2 @@
++EXTRA_DIST += \
++	build-aux/generate-dhparams-c 
+diff --git a/build-aux/generate-dhparams-c b/build-aux/generate-dhparams-c
+new file mode 100755
+index 000000000..bcd25e2d8
+--- /dev/null
++++ b/build-aux/generate-dhparams-c
+@@ -0,0 +1,33 @@
++#! /bin/sh -e
++
++cat <<'EOF'
++/* Generated automatically; do not modify!     -*- buffer-read-only: t -*-
++ *
++ * If you do need to regenerate this file, run "make generate-dhparams-c". */
++
++#include <config.h>
++#include "lib/dhparams.h"
++#include "lib/util.h"
++
++static int
++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
++{
++    ovs_assert(q == NULL);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
++    dh->p = p;
++    dh->g = g;
++    return 1;
++#else
++    return DH_set0_pqg(dh, p, NULL, g);
++#endif
++}
++EOF
++(openssl dhparam -C -in lib/dh1024.pem -noout &&
++openssl dhparam -C -in lib/dh2048.pem -noout &&
++openssl dhparam -C -in lib/dh4096.pem -noout) | sed '
++    s/^static DH/DH/
++    s/\(get_dh[0-9]*\)()/\1(void)/
++    s/\(DH_set0_pqg\)/my_\1/
++    s/[ 	]*$//
++    s/	/        /g
++'
+diff --git a/lib/automake.mk b/lib/automake.mk
+index 5387d519a..804a8b7d7 100644
+--- a/lib/automake.mk
++++ b/lib/automake.mk
+@@ -399,15 +399,16 @@ lib_libopenvswitch_la_SOURCES += \
+ 	lib/route-table-bsd.c
+ endif
+ 
++.PHONY: generate-dhparams-c
+ if HAVE_OPENSSL
+-lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c
+-nodist_lib_libopenvswitch_la_SOURCES += lib/dhparams.c
+-lib/dhparams.c: lib/dh1024.pem lib/dh2048.pem lib/dh4096.pem
+-	$(AM_V_GEN)(echo '#include "lib/dhparams.h"' &&                 \
+-	 openssl dhparam -C -in $(srcdir)/lib/dh1024.pem -noout &&	\
+-	 openssl dhparam -C -in $(srcdir)/lib/dh2048.pem -noout &&	\
+-	 openssl dhparam -C -in $(srcdir)/lib/dh4096.pem -noout)	\
+-	| sed 's/\(get_dh[0-9]*\)()/\1(void)/' > lib/dhparams.c.tmp &&  \
++lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c lib/dhparams.c
++
++# Manually regenerates lib/dhparams.c.  Not normally necessary since
++# lib/dhparams.c is part of the repository and doesn't normally need
++# updates.
++generate-dhparams-c:
++	$(AM_V_GEN)cd $(srcdir) && \
++	build-aux/generate-dhparams-c > lib/dhparams.c.tmp && \
+ 	mv lib/dhparams.c.tmp lib/dhparams.c
+ else
+ lib_libopenvswitch_la_SOURCES += lib/stream-nossl.c
+diff --git a/lib/dhparams.c b/lib/dhparams.c
+new file mode 100644
+index 000000000..4e42efad2
+--- /dev/null
++++ b/lib/dhparams.c
+@@ -0,0 +1,192 @@
++/* Generated automatically; do not modify!     -*- buffer-read-only: t -*-
++ *
++ * If you do need to regenerate this file, run "make generate-dhparams-c". */
++
++#include <config.h>
++#include "lib/dhparams.h"
++#include "lib/util.h"
++
++static int
++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
++{
++    ovs_assert(q == NULL);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
++    dh->p = p;
++    dh->g = g;
++    return 1;
++#else
++    return DH_set0_pqg(dh, p, NULL, g);
++#endif
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh1024(void)
++{
++    static unsigned char dhp_1024[] = {
++        0xF4, 0x88, 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4,
++        0x9D, 0xE4, 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D,
++        0x45, 0x1D, 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D,
++        0x8E, 0xF6, 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B,
++        0x18, 0x8D, 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3,
++        0x34, 0xFD, 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C,
++        0xDE, 0x33, 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1,
++        0x29, 0x40, 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72,
++        0xD6, 0x86, 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA,
++        0x95, 0x0C, 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B,
++        0x02, 0x46, 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F,
++        0x9C, 0x7C, 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB,
++        0xA2, 0x5E, 0xC3, 0x55, 0xE9, 0x2F, 0x78, 0xC7
++    };
++    static unsigned char dhg_1024[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_1024, sizeof (dhp_1024), NULL);
++    dhg_bn = BN_bin2bn(dhg_1024, sizeof (dhg_1024), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh2048(void)
++{
++    static unsigned char dhp_2048[] = {
++        0xF6, 0x42, 0x57, 0xB7, 0x08, 0x7F, 0x08, 0x17, 0x72, 0xA2,
++        0xBA, 0xD6, 0xA9, 0x42, 0xF3, 0x05, 0xE8, 0xF9, 0x53, 0x11,
++        0x39, 0x4F, 0xB6, 0xF1, 0x6E, 0xB9, 0x4B, 0x38, 0x20, 0xDA,
++        0x01, 0xA7, 0x56, 0xA3, 0x14, 0xE9, 0x8F, 0x40, 0x55, 0xF3,
++        0xD0, 0x07, 0xC6, 0xCB, 0x43, 0xA9, 0x94, 0xAD, 0xF7, 0x4C,
++        0x64, 0x86, 0x49, 0xF8, 0x0C, 0x83, 0xBD, 0x65, 0xE9, 0x17,
++        0xD4, 0xA1, 0xD3, 0x50, 0xF8, 0xF5, 0x59, 0x5F, 0xDC, 0x76,
++        0x52, 0x4F, 0x3D, 0x3D, 0x8D, 0xDB, 0xCE, 0x99, 0xE1, 0x57,
++        0x92, 0x59, 0xCD, 0xFD, 0xB8, 0xAE, 0x74, 0x4F, 0xC5, 0xFC,
++        0x76, 0xBC, 0x83, 0xC5, 0x47, 0x30, 0x61, 0xCE, 0x7C, 0xC9,
++        0x66, 0xFF, 0x15, 0xF9, 0xBB, 0xFD, 0x91, 0x5E, 0xC7, 0x01,
++        0xAA, 0xD3, 0x5B, 0x9E, 0x8D, 0xA0, 0xA5, 0x72, 0x3A, 0xD4,
++        0x1A, 0xF0, 0xBF, 0x46, 0x00, 0x58, 0x2B, 0xE5, 0xF4, 0x88,
++        0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, 0x9D, 0xE4,
++        0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, 0x45, 0x1D,
++        0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, 0x8E, 0xF6,
++        0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, 0x18, 0x8D,
++        0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, 0x34, 0xFD,
++        0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, 0xDE, 0x33,
++        0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, 0x29, 0x40,
++        0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, 0xD6, 0x86,
++        0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, 0x95, 0x0C,
++        0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, 0x02, 0x46,
++        0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, 0x9C, 0x7C,
++        0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, 0xA2, 0x5E,
++        0xC3, 0x55, 0xE9, 0x32, 0x0B, 0x3B
++    };
++    static unsigned char dhg_2048[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
++    dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh4096(void)
++{
++    static unsigned char dhp_4096[] = {
++        0xFA, 0x14, 0x72, 0x52, 0xC1, 0x4D, 0xE1, 0x5A, 0x49, 0xD4,
++        0xEF, 0x09, 0x2D, 0xC0, 0xA8, 0xFD, 0x55, 0xAB, 0xD7, 0xD9,
++        0x37, 0x04, 0x28, 0x09, 0xE2, 0xE9, 0x3E, 0x77, 0xE2, 0xA1,
++        0x7A, 0x18, 0xDD, 0x46, 0xA3, 0x43, 0x37, 0x23, 0x90, 0x97,
++        0xF3, 0x0E, 0xC9, 0x03, 0x50, 0x7D, 0x65, 0xCF, 0x78, 0x62,
++        0xA6, 0x3A, 0x62, 0x22, 0x83, 0xA1, 0x2F, 0xFE, 0x79, 0xBA,
++        0x35, 0xFF, 0x59, 0xD8, 0x1D, 0x61, 0xDD, 0x1E, 0x21, 0x13,
++        0x17, 0xFE, 0xCD, 0x38, 0x87, 0x9E, 0xF5, 0x4F, 0x79, 0x10,
++        0x61, 0x8D, 0xD4, 0x22, 0xF3, 0x5A, 0xED, 0x5D, 0xEA, 0x21,
++        0xE9, 0x33, 0x6B, 0x48, 0x12, 0x0A, 0x20, 0x77, 0xD4, 0x25,
++        0x60, 0x61, 0xDE, 0xF6, 0xB4, 0x4F, 0x1C, 0x63, 0x40, 0x8B,
++        0x3A, 0x21, 0x93, 0x8B, 0x79, 0x53, 0x51, 0x2C, 0xCA, 0xB3,
++        0x7B, 0x29, 0x56, 0xA8, 0xC7, 0xF8, 0xF4, 0x7B, 0x08, 0x5E,
++        0xA6, 0xDC, 0xA2, 0x45, 0x12, 0x56, 0xDD, 0x41, 0x92, 0xF2,
++        0xDD, 0x5B, 0x8F, 0x23, 0xF0, 0xF3, 0xEF, 0xE4, 0x3B, 0x0A,
++        0x44, 0xDD, 0xED, 0x96, 0x84, 0xF1, 0xA8, 0x32, 0x46, 0xA3,
++        0xDB, 0x4A, 0xBE, 0x3D, 0x45, 0xBA, 0x4E, 0xF8, 0x03, 0xE5,
++        0xDD, 0x6B, 0x59, 0x0D, 0x84, 0x1E, 0xCA, 0x16, 0x5A, 0x8C,
++        0xC8, 0xDF, 0x7C, 0x54, 0x44, 0xC4, 0x27, 0xA7, 0x3B, 0x2A,
++        0x97, 0xCE, 0xA3, 0x7D, 0x26, 0x9C, 0xAD, 0xF4, 0xC2, 0xAC,
++        0x37, 0x4B, 0xC3, 0xAD, 0x68, 0x84, 0x7F, 0x99, 0xA6, 0x17,
++        0xEF, 0x6B, 0x46, 0x3A, 0x7A, 0x36, 0x7A, 0x11, 0x43, 0x92,
++        0xAD, 0xE9, 0x9C, 0xFB, 0x44, 0x6C, 0x3D, 0x82, 0x49, 0xCC,
++        0x5C, 0x6A, 0x52, 0x42, 0xF8, 0x42, 0xFB, 0x44, 0xF9, 0x39,
++        0x73, 0xFB, 0x60, 0x79, 0x3B, 0xC2, 0x9E, 0x0B, 0xDC, 0xD4,
++        0xA6, 0x67, 0xF7, 0x66, 0x3F, 0xFC, 0x42, 0x3B, 0x1B, 0xDB,
++        0x4F, 0x66, 0xDC, 0xA5, 0x8F, 0x66, 0xF9, 0xEA, 0xC1, 0xED,
++        0x31, 0xFB, 0x48, 0xA1, 0x82, 0x7D, 0xF8, 0xE0, 0xCC, 0xB1,
++        0xC7, 0x03, 0xE4, 0xF8, 0xB3, 0xFE, 0xB7, 0xA3, 0x13, 0x73,
++        0xA6, 0x7B, 0xC1, 0x0E, 0x39, 0xC7, 0x94, 0x48, 0x26, 0x00,
++        0x85, 0x79, 0xFC, 0x6F, 0x7A, 0xAF, 0xC5, 0x52, 0x35, 0x75,
++        0xD7, 0x75, 0xA4, 0x40, 0xFA, 0x14, 0x74, 0x61, 0x16, 0xF2,
++        0xEB, 0x67, 0x11, 0x6F, 0x04, 0x43, 0x3D, 0x11, 0x14, 0x4C,
++        0xA7, 0x94, 0x2A, 0x39, 0xA1, 0xC9, 0x90, 0xCF, 0x83, 0xC6,
++        0xFF, 0x02, 0x8F, 0xA3, 0x2A, 0xAC, 0x26, 0xDF, 0x0B, 0x8B,
++        0xBE, 0x64, 0x4A, 0xF1, 0xA1, 0xDC, 0xEE, 0xBA, 0xC8, 0x03,
++        0x82, 0xF6, 0x62, 0x2C, 0x5D, 0xB6, 0xBB, 0x13, 0x19, 0x6E,
++        0x86, 0xC5, 0x5B, 0x2B, 0x5E, 0x3A, 0xF3, 0xB3, 0x28, 0x6B,
++        0x70, 0x71, 0x3A, 0x8E, 0xFF, 0x5C, 0x15, 0xE6, 0x02, 0xA4,
++        0xCE, 0xED, 0x59, 0x56, 0xCC, 0x15, 0x51, 0x07, 0x79, 0x1A,
++        0x0F, 0x25, 0x26, 0x27, 0x30, 0xA9, 0x15, 0xB2, 0xC8, 0xD4,
++        0x5C, 0xCC, 0x30, 0xE8, 0x1B, 0xD8, 0xD5, 0x0F, 0x19, 0xA8,
++        0x80, 0xA4, 0xC7, 0x01, 0xAA, 0x8B, 0xBA, 0x53, 0xBB, 0x47,
++        0xC2, 0x1F, 0x6B, 0x54, 0xB0, 0x17, 0x60, 0xED, 0x79, 0x21,
++        0x95, 0xB6, 0x05, 0x84, 0x37, 0xC8, 0x03, 0xA4, 0xDD, 0xD1,
++        0x06, 0x69, 0x8F, 0x4C, 0x39, 0xE0, 0xC8, 0x5D, 0x83, 0x1D,
++        0xBE, 0x6A, 0x9A, 0x99, 0xF3, 0x9F, 0x0B, 0x45, 0x29, 0xD4,
++        0xCB, 0x29, 0x66, 0xEE, 0x1E, 0x7E, 0x3D, 0xD7, 0x13, 0x4E,
++        0xDB, 0x90, 0x90, 0x58, 0xCB, 0x5E, 0x9B, 0xCD, 0x2E, 0x2B,
++        0x0F, 0xA9, 0x4E, 0x78, 0xAC, 0x05, 0x11, 0x7F, 0xE3, 0x9E,
++        0x27, 0xD4, 0x99, 0xE1, 0xB9, 0xBD, 0x78, 0xE1, 0x84, 0x41,
++        0xA0, 0xDF
++    };
++    static unsigned char dhg_4096[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_4096, sizeof (dhp_4096), NULL);
++    dhg_bn = BN_bin2bn(dhg_4096, sizeof (dhg_4096), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
diff --git a/pkgs/os-specific/linux/pam_ccreds/default.nix b/pkgs/os-specific/linux/pam_ccreds/default.nix
index 8293ac0a830..012750c22ad 100644
--- a/pkgs/os-specific/linux/pam_ccreds/default.nix
+++ b/pkgs/os-specific/linux/pam_ccreds/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pam, openssl, db}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pam_ccreds-10";
 
   src = fetchurl {
-    url = "http://www.padl.com/download/pam_ccreds.tgz";
+    url = "https://www.padl.com/download/${name}.tar.gz";
     sha256 = "1h7zyg1b1h69civyvrj95w22dg0y7lgw3hq4gqkdcg35w1y76fhz";
   };
   patchPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ pam openssl db ];
 
   meta = with stdenv.lib; {
-    homepage = http://www.padl.com/OSS/pam_ccreds.html;
+    homepage = https://www.padl.com/OSS/pam_ccreds.html;
     description = "PAM module to locally authenticate using an enterprise identity when the network is unavailable";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/pam_ldap/default.nix b/pkgs/os-specific/linux/pam_ldap/default.nix
index 5b34a8bc82b..2b3a300ecca 100644
--- a/pkgs/os-specific/linux/pam_ldap/default.nix
+++ b/pkgs/os-specific/linux/pam_ldap/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "pam_ldap-186";
 
   src = fetchurl {
-    url = "http://www.padl.com/download/${name}.tar.gz";
+    url = "https://www.padl.com/download/${name}.tar.gz";
     sha256 = "0lv4f7hc02jrd2l3gqxd247qq62z11sp3fafn8lgb8ymb7aj5zn8";
   };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pam openldap ];
 
   meta = {
-    homepage = http://www.padl.com/OSS/pam_ldap.html;
+    homepage = https://www.padl.com/OSS/pam_ldap.html;
     description = "LDAP backend for PAM";
     longDescription = ''
       The pam_ldap module provides the means for Solaris and Linux servers and
diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix
index 157bd02a06c..fd57fa6e37c 100644
--- a/pkgs/os-specific/linux/pktgen/default.nix
+++ b/pkgs/os-specific/linux/pktgen/default.nix
@@ -3,9 +3,7 @@
 , gtk2, which, withGtk ? false
 }:
 
-let
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "pktgen";
   version = "3.7.2";
 
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 5f84b5dcc66..b5e44a10947 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
   '';
 
-  kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
+  kernelVersion = if libsOnly then "" else lib.getName kernel.name;
   kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}";
   scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]);
 
diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix
index 0185d3022bc..d24f665cc7c 100644
--- a/pkgs/os-specific/linux/procdump/default.nix
+++ b/pkgs/os-specific/linux/procdump/default.nix
@@ -1,28 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }:
+{ stdenv, fetchFromGitHub, bash, coreutils, gdb, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "procdump";
-  version = "1.0.1";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = "ProcDump-for-Linux";
     rev = version;
-    sha256 = "1lkm05hq4hl1vadj9ifm18hi7cbf5045xlfxdfbrpsl6kxgfwcc4";
+    sha256 = "1pcf6cpslpazla0na0q680dih9wb811q5irr7d2zmw0qmxm33jw2";
   };
 
   nativeBuildInputs = [ zlib ];
   buildInputs = [ bash coreutils gdb ];
 
-  patches = [
-    # Fix name conflict when built with musl
-    # TODO: check if fixed upstream https://github.com/Microsoft/ProcDump-for-Linux/pull/50
-    (fetchpatch {
-      url = "https://github.com/Microsoft/ProcDump-for-Linux/commit/1b7b50b910f20b463fb628c8213663c8a8d11d0d.patch";
-      sha256 = "0h0dj3gi6hw1wdpc0ih9s4kkagv0d9jzrg602cr85r2z19lmb7yk";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/CoreDumpWriter.c \
       --replace '"gcore ' '"${gdb}/bin/gcore ' \
@@ -31,16 +22,26 @@ stdenv.mkDerivation rec {
   '';
 
   makeFlags = [
-    "DESTDIR=$(out)"
+    "DESTDIR=${placeholder "out"}"
     "INSTALLDIR=/bin"
     "MANDIR=/share/man/man1"
   ];
 
-  doCheck = false; # needs root
+  doCheck = false; # needs sudo root
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    set +o pipefail
+    ($out/bin/procdump -h | grep "ProcDump v${version}") ||
+      (echo "ERROR: ProcDump is not the expected version or does not run properly" ; exit 1)
+    set -o pipefail
+    runHook postInstallCheck
+  '';
 
   meta = with stdenv.lib; {
     description = "A Linux version of the ProcDump Sysinternals tool";
-    homepage = https://github.com/Microsoft/ProcDump-for-Linux;
+    homepage = "https://github.com/Microsoft/ProcDump-for-Linux";
     license = licenses.mit;
     maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 413b7d5dcbd..999df37706d 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "psmisc";
-  version = "23.2";
+  version = "23.3";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d90wmibxpkl0d7sdibvvkwpyxyg6m6ksh5gwrjh15vf1swvd5i1";
+    sha256 = "1132xvrldv0dar2mf221mv5kvajq0v6yrq8k3nl0wslnh5baa0r0";
   };
 
   nativeBuildInputs = [ autoconf automake gettext ];
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index da40321d6bc..2162db25c86 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -4,7 +4,7 @@
 } :
 
 let
-  version = "26.0";
+  version = "26.1";
 
 in stdenv.mkDerivation {
   pname = "rdma-core";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "0yvhc7xc3mxzjd7v2y408w333qi7hkf1f99gbsd3fv2qydp9gps3";
+    sha256 = "1zb1y70ff8yy7rdl4gh2jx1gpja5hrbsh8gfi9fsxkz2rv1234r0";
   };
 
   nativeBuildInputs = [ cmake pkgconfig pandoc docutils makeWrapper ];
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index c078fb18c4e..1635dc064be 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, python2 }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, python2 }:
 
 stdenv.mkDerivation rec {
   version = "0.7.0";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj";
   };
 
+  patches = [
+    # Fix tests hanging
+    (fetchpatch {
+      url = "https://github.com/nelhage/reptyr/commit/bca3070ac0f3888b5d37ee162505be81b3b496ff.patch";
+      sha256 = "0w6rpv9k4a80q0ijzdq5hlpr37ncr284piqjv5agy8diniwlilab";
+    })
+  ];
+
   makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];
 
   checkInputs = [ (python2.withPackages (p: [ p.pexpect ])) ];
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 1a38b804888..c2547ce262a 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2
-, docbook_xml_dtd_45, docbook_xsl, gnome-doc-utils, flex, bison
+, docbook_xml_dtd_45, docbook_xsl, itstool, flex, bison
 , pam ? null, glibcCross ? null
 }:
 
@@ -19,18 +19,18 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shadow";
-  version = "4.7";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "shadow-maint";
     repo = "shadow";
     rev = version;
-    sha256 = "0a7g9k83igfid8pybqpk6fracmz2q021isn2by3994p4hhh3s327";
+    sha256 = "05a636dqxip09l5jjrrs30lvwq6xkhjrdgjbbj3bg6b6z7hc67qk";
   };
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
   nativeBuildInputs = [autoreconfHook libxslt libxml2
-    docbook_xml_dtd_45 docbook_xsl gnome-doc-utils flex bison
+    docbook_xml_dtd_45 docbook_xsl flex bison itstool
     ];
 
   patches =
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 399244e47ee..0d85e6e3a57 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.26.4";
+  version = "0.26.5";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "1v2j1ns17wyj7xl91p6wy1iwfx2fnn8af9nm939skc6229m87zzn";
+    sha256 = "145mwg6izrpi4r1qrygi4yb7qd68g4k64i3qmamk0671wxhjqi3c";
   };
 
   nativeBuildInputs = [ cmake perl ];
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DUSE_BUNDLED_DEPS=OFF"
     "-DSYSDIG_VERSION=${version}"
+    "-DCREATE_TEST_TARGETS=OFF"
   ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF";
 
   # needed since luajit-2.1.0-beta3
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index a9fc0c6f4b5..3cc976a909d 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap, kmod
-, xz, pam, acl, libuuid, m4, utillinux, libffi
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap
+, curl, kmod, gnupg, gnutar, xz, pam, acl, libuuid, m4, utillinux, libffi
 , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor
 , audit, lz4, bzip2, libmicrohttpd, pcre2
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
@@ -15,8 +15,22 @@
 , withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms, kexectools
 }:
 
-stdenv.mkDerivation {
-  version = "243";
+let gnupg-minimal = gnupg.override {
+  enableMinimal = true;
+  guiSupport = false;
+  pcsclite = null;
+  sqlite = null;
+  pinentry = null;
+  adns = null;
+  gnutls = null;
+  libusb = null;
+  openldap = null;
+  readline = null;
+  zlib = null;
+  bzip2 = null;
+};
+in stdenv.mkDerivation {
+  version = "243.3";
   pname = "systemd";
 
   # When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
@@ -24,8 +38,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "systemd";
-    rev = "d25cf413c6bff1b5a9d216a8830e3a90c9cad1de";
-    sha256 = "0ilvrnh3m7g0yflxl16fk52gkb1z0fwwk9ba5gs4005nzpl0c7i0";
+    rev = "491a247eff9b7ce1e5877f5f3431517c95f3222f";
+    sha256 = "1xqiahapg480m165glrwqbfmc1fxw5sacdlm933cwyi1q8x4537g";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
@@ -41,7 +55,7 @@ stdenv.mkDerivation {
       (buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]))
     ];
   buildInputs =
-    [ linuxHeaders libcap kmod xz pam acl
+    [ linuxHeaders libcap curl.dev kmod xz pam acl
       /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2
       libmicrohttpd pcre2 ] ++
       stdenv.lib.optional withKexectools kexectools ++
@@ -67,6 +81,7 @@ stdenv.mkDerivation {
     "-Ddebug-shell=${bashInteractive}/bin/bash"
     # while we do not run tests we should also not build them. Removes about 600 targets
     "-Dtests=false"
+    "-Dimportd=true"
     "-Dlz4=true"
     "-Dhostnamed=true"
     "-Dnetworkd=true"
@@ -77,7 +92,7 @@ stdenv.mkDerivation {
     "-Dlocaled=true"
     "-Dresolve=true"
     "-Dsplit-usr=false"
-    "-Dlibcurl=false"
+    "-Dlibcurl=true"
     "-Dlibidn=false"
     "-Dlibidn2=true"
     "-Dquotacheck=false"
@@ -144,6 +159,14 @@ stdenv.mkDerivation {
       patchShebangs $dir
     done
 
+    # absolute paths to gpg & tar
+    substituteInPlace src/import/pull-common.c \
+      --replace '"gpg"' '"${gnupg-minimal}/bin/gpg"'
+    for file in src/import/{{export,import,pull}-tar,import-common}.c; do
+      substituteInPlace $file \
+        --replace '"tar"' '"${gnutar}/bin/tar"'
+    done
+
     substituteInPlace src/journal/catalog.c \
       --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
   '';
diff --git a/pkgs/os-specific/linux/targetcli/default.nix b/pkgs/os-specific/linux/targetcli/default.nix
index b8990484cb9..aa670aba727 100644
--- a/pkgs/os-specific/linux/targetcli/default.nix
+++ b/pkgs/os-specific/linux/targetcli/default.nix
@@ -2,17 +2,22 @@
 
 python.pkgs.buildPythonApplication rec {
   pname = "targetcli";
-  version = "2.1.fb49";
+  version = "2.1.51";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "${pname}-fb";
     rev = "v${version}";
-    sha256 = "093dmwc5g6yz4cdgpbfszmc97i7nd286w4x447dvg22hvwvjwqhh";
+    sha256 = "07i9kyr525hlk32amzgycirwgwykdbjy5fmw6ji0nnhvk2jh4arn";
   };
 
   propagatedBuildInputs = with python.pkgs; [ configshell rtslib ];
 
+  postInstall = ''
+    install -D targetcli.8 -t $out/share/man/man8/
+    install -D targetclid.8 -t $out/share/man/man8/
+  '';
+
   meta = with stdenv.lib; {
     description = "A command shell for managing the Linux LIO kernel target";
     homepage = https://github.com/open-iscsi/targetcli-fb;
diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix
index 9fde8406024..4a47ed8868d 100644
--- a/pkgs/os-specific/linux/tomb/default.nix
+++ b/pkgs/os-specific/linux/tomb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tomb";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner  = "dyne";
     repo   = "Tomb";
     rev    = "v${version}";
-    sha256 = "0pr0lw1byxwkgv857zfmd8yqa03a7mckhzklrf9rkv1l6nisz0z0";
+    sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57";
   };
 
   buildInputs = [ sudo zsh pinentry ];
diff --git a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
index 2156177f641..5e355ac7c9a 100644
--- a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
+++ b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
@@ -32,7 +32,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem";
-    homepage    = http://kernelshark.org/;
+    homepage    = https://kernelshark.org/;
     license     = licenses.gpl2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ basvandijk ];
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
index c07e063caa7..5f401411074 100644
--- a/pkgs/os-specific/linux/uclibc/default.nix
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -48,7 +48,7 @@ let
     UCLIBC_HAS_FPU n
   '';
 
-  version = "1.0.31";
+  version = "1.0.32";
 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 = "0ba9yh7ir1jamrgc9x9v7zw0sw144f78q4vidiz6ynpr4dwbd5qm";
+    sha256 = "0cp4xf3k0ib76xaz6n6i7yybw7s92s607ak8svq1kakwk0d1jjbv";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
@@ -109,6 +109,6 @@ stdenv.mkDerivation {
     description = "A small implementation of the C library";
     maintainers = with maintainers; [ rasendubi ];
     license = licenses.lgpl2;
-    platforms = platforms.linux;
+    platforms = intersectLists platforms.linux platforms.x86; # fails to build on ARM
   };
 }
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index d787acae61b..ab7f65925ee 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -52,12 +52,14 @@ stdenv.mkDerivation {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-systemdutildir=${placeholder "out"}/lib/systemd"
     "--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
+    "--sysconfdir=/etc"
   ];
 
   doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
 
   installFlags = [
     "historydir=$(TMPDIR)/foo"
+    "sysconfdir=${placeholder "out"}/etc"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index a9983561345..3b4c1c4b665 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -12,14 +12,14 @@ with stdenv.lib;
 assert libgcrypt != null -> libsodium == null;
 
 stdenv.mkDerivation rec {
-  version = "0.7.5";
+  version = "0.7.6";
   pname = "usbguard";
 
   repo = "https://github.com/USBGuard/usbguard";
 
   src = fetchurl {
     url = "${repo}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0jj56sls13ryfgz6vajq8p4dm3grgb6rf2cmga6sckmzd4chk65b";
+    sha256 = "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index b79a2cd342a..c66b4cbab83 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,18 +1,12 @@
 { lib, stdenv, fetchurl, pkgconfig, zlib, shadow
 , ncurses ? null, perl ? null, pam, systemd ? null, minimal ? false }:
 
-let
-  version = lib.concatStringsSep "." ([ majorVersion ]
-    ++ lib.optional (patchVersion != "") patchVersion);
-  majorVersion = "2.33";
-  patchVersion = "2";
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "util-linux";
-  inherit version;
+  version = "2.33.2";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${pname}-${version}.tar.xz";
+    url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3";
   };
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 99425b6799c..dc5b4289a45 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://hostap.epitest.fi/wpa_supplicant/;
+    homepage = https://hostap.epitest.fi/wpa_supplicant/;
     description = "A tool for connecting to WPA and WPA2-protected wireless networks";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marcweber ];
diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 7c6f595bfaf..d02901e0cc1 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -25,7 +25,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Qt-based GUI for wpa_supplicant";
-    homepage = http://hostap.epitest.fi/wpa_supplicant/;
+    homepage = https://hostap.epitest.fi/wpa_supplicant/;
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/xf86-input-cmt/default.nix b/pkgs/os-specific/linux/xf86-input-cmt/default.nix
index 2422b70b068..9f9b278d6f7 100644
--- a/pkgs/os-specific/linux/xf86-input-cmt/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-cmt/default.nix
@@ -2,7 +2,7 @@
   utilmacros, libgestures, libevdevc }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-cmt-${version}";
+  pname = "xf86-input-cmt";
   version = "2.0.2";
   src = fetchFromGitHub {
     owner = "hugegreenbug";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Chromebook touchpad driver.";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    homepage = "www.github.com/hugegreenbug/xf86-input-cmt";
+    homepage = "https://www.github.com/hugegreenbug/xf86-input-cmt";
     maintainers = with maintainers; [ kcalvinalvin ];
   };
 }
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
index 4621c2da10f..7f1634d5c0b 100644
--- a/pkgs/os-specific/windows/default.nix
+++ b/pkgs/os-specific/windows/default.nix
@@ -1,29 +1,45 @@
-{ newScope, crossLibcStdenv }: let
+{ stdenv, buildPackages
+, newScope, overrideCC, crossLibcStdenv, libcCross
+}:
 
-  callPackage = newScope self;
+stdenv.lib.makeScope newScope (self: with self; {
 
-  self = {
-    cygwinSetup = callPackage ./cygwin-setup { };
+  cygwinSetup = callPackage ./cygwin-setup { };
 
-    jom = callPackage ./jom { };
+  jom = callPackage ./jom { };
 
-    w32api = callPackage ./w32api { };
+  w32api = callPackage ./w32api { };
 
-    mingwrt = callPackage ./mingwrt { };
-    mingw_runtime = self.mingwrt;
+  mingwrt = callPackage ./mingwrt { };
+  mingw_runtime = mingwrt;
 
-    mingw_w64 = callPackage ./mingw-w64 {
-      stdenv = crossLibcStdenv;
-    };
-
-    mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
+  mingw_w64 = callPackage ./mingw-w64 {
+    stdenv = crossLibcStdenv;
+  };
 
-    mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { };
+  crossThreadsStdenv = overrideCC crossLibcStdenv
+    (if stdenv.hostPlatform.useLLVM or false
+     then buildPackages.llvmPackages_8.lldClangNoLibcxx
+     else buildPackages.gccCrossStageStatic.override (old: {
+       bintools = old.bintools.override {
+         libc = libcCross;
+       };
+       libc = libcCross;
+     }));
 
-    pthreads = callPackage ./pthread-w32 { };
+  mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
 
-    wxMSW = callPackage ./wxMSW-2.8 { };
+  mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix {
+    stdenv = crossThreadsStdenv;
+  };
 
-    libgnurx = callPackage ./libgnurx { };
+  mcfgthreads = callPackage ./mcfgthreads {
+    stdenv = crossThreadsStdenv;
   };
-in self
+
+  pthreads = callPackage ./pthread-w32 { };
+
+  wxMSW = callPackage ./wxMSW-2.8 { };
+
+  libgnurx = callPackage ./libgnurx { };
+})
diff --git a/pkgs/os-specific/windows/mcfgthreads/default.nix b/pkgs/os-specific/windows/mcfgthreads/default.nix
new file mode 100644
index 00000000000..6c4cd171025
--- /dev/null
+++ b/pkgs/os-specific/windows/mcfgthreads/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation {
+  pname = "mcfgthreads";
+  version = "git";
+
+  src = fetchFromGitHub {
+    owner = "lhmouse";
+    repo = "mcfgthread";
+    rev = "9570e5ca7b98002d707c502c919d951bf256b9c6";
+    sha256 = "10y2x3x601a7c1hkd6zlr3xpfsnlr05xl28v23clf619756a5755";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  # Don't want prebuilt binaries sneaking in.
+  postUnpack = ''
+    rm -r "$sourceRoot/debug" "$sourceRoot/release"
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+}
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 022aaffe596..7efc2e21313 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -11,11 +11,15 @@ in stdenv.mkDerivation {
     sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm";
   };
 
+  outputs = [ "out" "dev" ];
+
   configureFlags = [
     "--enable-idl"
     "--enable-secure-api"
   ];
 
+  enableParallelBuilding = true;
+
   buildInputs = [ windows.mingw_w64_headers ];
   dontStrip = true;
   hardeningDisable = [ "stackprotector" "fortify" ];
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index bc83c5a8ea2..a25bf48f8dd 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -6,12 +6,12 @@
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
 
-  version = "3.8.1";
+  version = "3.8.2";
 
   # 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 = "17ymzjgz3544jgf321f8f788gdxs9l252ah61nlgsglv0x8gggrh";
+    sha256 = "17gixahxass9n4d697my8sq4an51rw3cicb36fqvl8fbhnwjjrwc";
   };
 
   buildInputs =
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index d7fb5b55468..a5aead770b8 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "7.0.2";
+  version = "7.2.0";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "00ma2l6gknlpaf2k26md9fskgzcllky3vv89sb1izsrxl8la1dhq";
+    sha256 = "1srwxk9c26hp1j3v6v1hr16l4dqaaiwrli5a9n9a44hkl7qy8yzl";
   };
 
   buildPhase = ''
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Team collaboration software written in Java and mainly used in corporate environments";
-    homepage = https://www.atlassian.com/software/confluence;
+    homepage = "https://www.atlassian.com/software/confluence";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin willibutz ];
   };
 }
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 7ac7bc8e918..2cc27eda1d4 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline }:
+{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh }:
 
 with lib;
 
@@ -15,7 +15,7 @@ let
       };
 
       nativeBuildInputs = [ flex bison ];
-      buildInputs = [ readline ];
+      buildInputs = [ readline libssh ];
 
       patches = [
         (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index bb1f4ac8538..2eca465bfd2 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "caddy";
-  version = "1.0.3";
+  version = "1.0.4";
 
   goPackagePath = "github.com/caddyserver/caddy";
 
@@ -12,9 +12,9 @@ buildGoModule rec {
     owner = "caddyserver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n7i9w4vva5x5wry7gzkyfylk39x40ykv7ypf1ca3zbbk7w5x6mw";
+    sha256 = "0mqbaa9cshrqm5fggm5l5nzcnv8c9dvylcc4z7qj3322vl5cpfdc";
   };
-  modSha256 = "0np0mbs0mrn8scqa0dgvi7ya1707b3883prdaf1whsqrcr71ig8q";
+  modSha256 = "0f08smcnzmrj3v43v0qgyd11qwdbymbl86c9prais6sykgh1ld97";
 
   preBuild = ''
     cat << EOF > caddy/main.go
@@ -28,9 +28,9 @@ buildGoModule rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://caddyserver.com;
+    homepage = "https://caddyserver.com";
     description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rushmorem fpletz zimbatm ];
+    maintainers = with maintainers; [ rushmorem fpletz zimbatm filalex77 ];
   };
 }
diff --git a/pkgs/servers/caddy/v2.nix b/pkgs/servers/caddy/v2.nix
new file mode 100644
index 00000000000..c0b2134abde
--- /dev/null
+++ b/pkgs/servers/caddy/v2.nix
@@ -0,0 +1,25 @@
+{ stdenv, callPackage, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "caddy";
+  version = "2.0.0-beta10";
+
+  goPackagePath = "github.com/caddyserver/caddy";
+
+  subPackages = [ "cmd/caddy" ];
+
+  src = fetchFromGitHub {
+    owner = "caddyserver";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vagcw6ibri4nbx1n60xp7rffcfr64a2202hjaijyjzc8wcl80na";
+  };
+  modSha256 = "1sb8w6n84cpya2rjm0zm798kzf5vjpkr5440j1gfnnnr07jl2aqn";
+
+  meta = with stdenv.lib; {
+    homepage = "https://caddyserver.com";
+    description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/servers/cloud-print-connector/default.nix b/pkgs/servers/cloud-print-connector/default.nix
index bf8623f0a89..2fb5b403508 100644
--- a/pkgs/servers/cloud-print-connector/default.nix
+++ b/pkgs/servers/cloud-print-connector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, avahi, cups }:
+{ stdenv, buildGoPackage, fetchFromGitHub, avahi, cups, fetchpatch }:
 
 # TODO: Add a service for gcp-cups-connector and perhaps some other
 # kind of configuration for the same thing that gcp-connector-util
@@ -19,6 +19,14 @@ buildGoPackage rec {
     "gcp-cups-connector"
   ];
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/google/cloud-print-connector/pull/475
+      url = "https://github.com/google/cloud-print-connector/commit/6a77c7c283b83cbcc9cbfab59710023cd09da3ed.patch";
+      sha256 = "054pi9nz402va95z5k6wq3dalnv5rcya078wa99p1kdwb7cqmrcq";
+    })
+  ];
+
   src = fetchFromGitHub {
     owner = "google";
     repo = "cloud-print-connector";
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 916c681ab16..637ac0607db 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "19.05.3.2";
+  version = "19.05.5.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1ds4dvwswyx9rjcmcwz2fm2zi3q4gcc2n0fxxihl31i5i6wg1kv0";
+    sha256 = "0f0gv3sirp6sxdrbwydsbcqicjbmrpm58yhgbsar8v6nx3g6y3hx";
   };
 
   outputs = [ "out" "dev" ];
@@ -48,7 +48,8 @@ stdenv.mkDerivation rec {
       "--with-zlib=${zlib}"
       "--sysconfdir=/etc/slurm"
     ] ++ (optional (gtk2 == null)  "--disable-gtktest")
-      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
+      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}")
+      ++ (optional (!enableX11) "--disable-x11");
 
 
   preConfigure = ''
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index e993f70b105..2a4361d99d2 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "consul";
-  version = "1.6.1";
+  version = "1.6.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/consul";
@@ -19,7 +19,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "00dvvxi7y80v2b6wzwyfzhxv1ksnl1m0nmdjl98dhq5ikb0v7p28";
+    sha256 = "0r9wqxhgspgypvp9xdv931r8g28gjg9njdignp84rrbxljix25my";
   };
 
   preBuild = ''
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
index faa9976bed8..2d7acda90af 100644
--- a/pkgs/servers/corosync/default.nix
+++ b/pkgs/servers/corosync/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
-, dbus, rdma-core, libstatgrab, net_snmp
+, dbus, rdma-core, libstatgrab, net-snmp
 , enableDbus ? false
 , enableInfiniBandRdma ? false
 , enableMonitoring ? false
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ] ++ optional enableDbus dbus
     ++ optional enableInfiniBandRdma rdma-core
     ++ optional enableMonitoring libstatgrab
-    ++ optional enableSnmp net_snmp;
+    ++ optional enableSnmp net-snmp;
 
   configureFlags = [
     "--sysconfdir=/etc"
diff --git a/pkgs/servers/couchpotato/default.nix b/pkgs/servers/couchpotato/default.nix
index a528cd2ca26..07ff725f7c9 100644
--- a/pkgs/servers/couchpotato/default.nix
+++ b/pkgs/servers/couchpotato/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, pythonPackages, lib }:
+{ fetchurl, python2Packages, lib }:
 
-with pythonPackages;
+with python2Packages;
 
 buildPythonApplication rec {
   pname = "couchpotato";
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 40a116f5665..e13967d7af1 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.14.7";
+  version = "9.14.8";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz";
-    sha256 = "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f";
+    sha256 = "0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index def78223f12..2c8506ac9d2 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "coredns";
-  version = "1.3.1";
+  version = "1.6.6";
 
   goPackagePath = "github.com/coredns/coredns";
 
@@ -10,15 +10,15 @@ buildGoPackage rec {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "0aflm0c3qcjcq4dy7yx9f5xlvdm4k0b2awsp3qvbfgyp74by0584";
+    sha256 = "1x8sgchp0kkk5xdharjrq29qxgv1mdzrw3f12s2kchgqf1m6r0sx";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "10ljggg1g5x00gpgzc5m29n1k5akf0s0g3hkdh8adcbrcz0pgr5c";
 
   meta = with stdenv.lib; {
-    homepage = https://coredns.io;
+    homepage = "https://coredns.io";
     description = "A DNS server that runs middleware";
     license = licenses.asl20;
-    maintainers = [ maintainers.rushmorem maintainers.rtreffer maintainers.deltaevo ];
+    maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
   };
 }
diff --git a/pkgs/servers/dns/coredns/deps.nix b/pkgs/servers/dns/coredns/deps.nix
deleted file mode 100644
index 4dd8228c8a6..00000000000
--- a/pkgs/servers/dns/coredns/deps.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/mholt/caddy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mholt/caddy";
-      rev = "v0.11.1";
-      sha256 = "0v35d3dy0f88wgk1vzznbx7p15vjjf7xm3qfi2c3192rsxgzvy0l";
-    };
-  }
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "v1.1.3";
-      sha256 = "1xs1k9jm9f04y8callww9x4s0jrxmsn7882iyy4br8sbpl3wzkw4";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "v0.9.1";
-      sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l";
-    };
-  }
-  # client_golang dependencies
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "347cf4a86c1cb8d262994d8ef5924d4576c5b331";
-      sha256 = "0c5j5c2dnj1452653c8nnpx4jwijwafi1p8685g7ddm6kng9q1wz";
-    };
-  }
-  {
-    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/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "56726106282f1985ea77d5305743db7231b0c0a8";
-      sha256 = "19y4qs9mkxiiab5sh3b7cccjpl3xbp6sy8812ig9f1zg8vzkzj7j";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "2998b132700a7d019ff618c06a234b47c1f3f681";
-      sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4";
-      sha256 = "0k65i2ikf3jp6863mpc1raf928i78r8jd7zn9djx6f4izls6l6j1";
-    };
-  }
-]
diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix
index cb004a596d2..0c236fe9315 100644
--- a/pkgs/servers/dns/dnsdist/default.nix
+++ b/pkgs/servers/dns/dnsdist/default.nix
@@ -1,22 +1,26 @@
 { stdenv, fetchurl, pkgconfig, systemd
 , boost, libsodium, libedit, re2
-, net_snmp, lua, protobuf, openssl }: stdenv.mkDerivation rec {
+, net-snmp, lua, protobuf, openssl, zlib, h2o
+}:
+
+stdenv.mkDerivation rec {
   pname = "dnsdist";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2";
-    sha256 = "1i3b1vpk9a8zbx9aby2s1ckkzhlvzgn11hcgj3b8x2j1b9771rqb";
+    sha256 = "1h0x5xd13j8xxrrinb7d55851m6n9w0r15wx9m3c50dk7qngldm3";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ systemd boost libsodium libedit re2 net_snmp lua protobuf openssl ];
+  nativeBuildInputs = [ pkgconfig protobuf ];
+  buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o ];
 
   configureFlags = [
     "--enable-libsodium"
     "--enable-re2"
     "--enable-dnscrypt"
     "--enable-dns-over-tls"
+    "--enable-dns-over-https"
     "--with-protobuf=yes"
     "--with-net-snmp"
     "--disable-dependency-tracking"
@@ -26,6 +30,8 @@
 
   doCheck = true;
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "DNS Loadbalancer";
     homepage = "https://dnsdist.org";
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 6e87ac5052c..c3d63a54ac0 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "2.9.0";
+  version = "2.9.2";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "df7434eaefbabbf7cca2d6cba5038be48a4668e508215ca197532bac7c9b21a2";
+    sha256 = "298cdf33aa7589b50df7e5833694b24cd2de8b6d17cee7e1673873fe576db6ee";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 3fe8499a58c..d996d646d22 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -23,11 +23,11 @@ exportLuaPathsFor = luaPkgs: ''
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "4.2.2";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "03b68dff16429aed7a5b0cea7189276c8056e8ecd567b678c2595d48d9a51458";
+    sha256 = "0ca0f171ae2b2d76830967a5150eb0fa496b48b2a48f41b2be65d3743aaece25";
   };
 
   # https://gitlab.labs.nic.cz/knot/knot-resolver/issues/496
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 531e00e578f..b6a405f6d2d 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1ys608jyp5scc957q4brm094c97sxlwymina7d2nvzi51aa37cw3";
+    sha256 = "1664wpglrwqk627xma10f9qa652vzmf90gsjd8pribyj74xrczc1";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index 5bfb06cb15b..129fec2895b 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerdns";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "0flhia156vir03np8va53rw31jsbg9wz3dyqqwddgai5bvr0f812";
+    sha256 = "0a5al77rn4cd7v3g8c2q7627nf9b9g8dxg7yzz3b3jwgdfc1jl7n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/documize-community/default.nix b/pkgs/servers/documize-community/default.nix
index dffa596f9e9..078936b237f 100644
--- a/pkgs/servers/documize-community/default.nix
+++ b/pkgs/servers/documize-community/default.nix
@@ -1,37 +1,26 @@
-{ lib, buildGoPackage, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
+{ lib, buildGoModule, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "documize-community";
-  version = "3.4.1";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "1qbf5c42mf30kc4yrk7mav8hk91v5yjx32h9wirmqkcb9k2lpv7s";
+    sha256 = "0wic4j7spw9ya1m6yz0mkpqi1px6jd2vk60w8ldx0m0k606wy6ir";
   };
 
-  goPackagePath = "github.com/documize/community";
+  modSha256 = "1z0v7n8klaxcqv7mvzf3jzgrp78zb4yiibx899ppk6i5qnj4xiv0";
 
   buildInputs = [ go-bindata-assetfs go-bindata ];
 
-  buildPhase = ''
-    runHook preBuild
+  subPackages = [ "edition/community.go" ];
 
-    pushd go/src/github.com/documize/community
-    GO111MODULE=off go build -gcflags="all=-trimpath=$GOPATH" -o bin/documize ./edition/community.go
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $bin/bin
-    cp go/src/github.com/documize/community/bin/documize $bin/bin
-
-    runHook postInstall
+  postInstall = ''
+    # `buildGoModule` calls `go install` (without `go build` first), so
+    # `-o bin/documize` doesn't work.
+    mv $out/bin/community $out/bin/documize
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index eeea3298ecd..cbd71085340 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
-  version = "3.0.19";
+  version = "3.0.20";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "0v5b46rq878093ff549ijccy98md1l7l4rvshjxs672il0zvq5i4";
+    sha256 = "0zrnlpril8lcnyd6zz0wy45wj5i2k2krcf42dwa0rldjsjh6nazp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/gortr/default.nix b/pkgs/servers/gortr/default.nix
new file mode 100644
index 00000000000..375631d5cbf
--- /dev/null
+++ b/pkgs/servers/gortr/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "gortr";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kg42qynqqj05bvfwzd77mpl63y3gnkk15x2a4rspxf4w1ziaxkr";
+  };
+  modSha256 = "157dpalfz3z1s3mxq63xy6lrkwzyy9xzmvn7wsxkwznjq4djv1a1";
+
+  meta = with lib; {
+    description = "The RPKI-to-Router server used at Cloudflare";
+    homepage = "https://github.com/cloudflare/gortr/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ petabyteboy ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 06663a87bcd..3d644093a0b 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -10,16 +10,18 @@
 
 buildGoModule rec {
   pname = "gotify-server";
-  version = "2.0.10";
+  # Note that when this is updated, along with the hash, the `ui.nix` file
+  # should include the same changes to the version and the sha256.
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "0f7y6gkxikdfjhdxplkv494ss2b0fqmibd2kl9nifabggfz5gjal";
+    sha256 = "0pkws83ymmlxcdxadb1w6rmibw84vzhx9xrhxc6b1rjncb80l0kk";
   };
 
-  modSha256 = "19mghbs1jasb7vxdw13mmwsbk5sfg3y2vvddr73c82lq0f8g2iha";
+  modSha256 = "1awhbc8qs2bwv6y2vwd92r4ys0l1bzymrb36iamr040x961682wv";
 
   postPatch = ''
     substituteInPlace app.go \
diff --git a/pkgs/servers/gotify/ui.nix b/pkgs/servers/gotify/ui.nix
index e1277a2db21..ecb0367e3f2 100644
--- a/pkgs/servers/gotify/ui.nix
+++ b/pkgs/servers/gotify/ui.nix
@@ -8,13 +8,13 @@ yarn2nix-moretea.mkYarnPackage rec {
   packageJSON = ./package.json;
   yarnNix = ./yarndeps.nix;
 
-  version = "2.0.8";
+  version = "2.0.12";
 
   src_all = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "17bxs3wcazrxippf3i9w7d2mq8lf0v5m4bn3nl2zb8v8dl3lsc9a";
+    sha256 = "0pkws83ymmlxcdxadb1w6rmibw84vzhx9xrhxc6b1rjncb80l0kk";
   };
   src = "${src_all}/ui";
 
diff --git a/pkgs/servers/gotify/yarndeps.nix b/pkgs/servers/gotify/yarndeps.nix
index 02886c27f04..0e81e890a9f 100644
--- a/pkgs/servers/gotify/yarndeps.nix
+++ b/pkgs/servers/gotify/yarndeps.nix
@@ -706,6 +706,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz";
+        sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f";
+      };
+    }
+    {
       name = "_babel_template___template_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.4.4.tgz";
@@ -890,11 +898,11 @@
       };
     }
     {
-      name = "_material_ui_icons___icons_4.4.3.tgz";
+      name = "_material_ui_icons___icons_4.5.1.tgz";
       path = fetchurl {
-        name = "_material_ui_icons___icons_4.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.4.3.tgz";
-        sha1 = "5d4346ddbb2673a1b57ebc78fd6d50bcd88711db";
+        name = "_material_ui_icons___icons_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.5.1.tgz";
+        sha1 = "6963bad139e938702ece85ca43067688018f04f8";
       };
     }
     {
diff --git a/pkgs/servers/gotty/default.nix b/pkgs/servers/gotty/default.nix
index da24b0a0e26..a9cf6c1da47 100644
--- a/pkgs/servers/gotty/default.nix
+++ b/pkgs/servers/gotty/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "gotty";
-  version = "0.0.13";
+  version = "2.0.0-alpha.3";
   rev = "v${version}";
 
   goPackagePath = "github.com/yudai/gotty";
@@ -11,11 +11,9 @@ buildGoPackage rec {
     inherit rev;
     owner = "yudai";
     repo = "gotty";
-    sha256 = "1hsfjyjjzr1zc9m8bnhid1ag6ipcbx59111y9p7k8az8jiyr112g";
+    sha256 = "1vhhs7d4k1vpkf2k69ai2r3bp3zwnwa8l9q7vza0rck69g4nmz7a";
   };
 
-  goDeps = ./deps.nix;
-
   meta = with stdenv.lib; {
     description = "Share your terminal as a web application";
     homepage = https://github.com/yudai/gotty;
diff --git a/pkgs/servers/gotty/deps.nix b/pkgs/servers/gotty/deps.nix
deleted file mode 100644
index 4f59dc414c4..00000000000
--- a/pkgs/servers/gotty/deps.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "a622679ebd7a3b813862379232f645f8e690e43f";
-      sha256 = "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-      sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
-    };
-  }
-  {
-    goPackagePath = "github.com/braintree/manners";
-    fetch = {
-      type = "git";
-      url = "https://github.com/braintree/manners";
-      rev = "cab36f97339b1925cd89e158632728025557e550";
-      sha256 = "1q508c62iiklghkhwqz9c0zsn9hrij7kqb93gdywzj7ms7x6hlfh";
-    };
-  }
-  {
-    goPackagePath = "github.com/codegangsta/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/codegangsta/cli";
-      rev = "71f57d300dd6a780ac1856c005c4b518cfd498ec";
-      sha256 = "1fxznirkvank5461789dm5aw5z8aqi0jvwligvz44659rfl376p3";
-    };
-  }
-  {
-    goPackagePath = "github.com/elazarl/go-bindata-assetfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/elazarl/go-bindata-assetfs";
-      rev = "d5cac425555ca5cf00694df246e04f05e6a55150";
-      sha256 = "636ce247ff6f85c14f38a421f46662fa77bdc29762692e1f72b3cd1f9d7a1d17";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "a9f7daa9c2729e97450c2da2feda19130a367d8f";
-      sha256 = "0pyrc7svc826g37al3db19n5l4r2m9h1mlhjh3hz2r41xfaqia50";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "54864211433d45cb780682431585b3e573b49e4a";
-      sha256 = "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "56912fb08d85084aa318edcf2bba735b97cf35c5";
-      sha256 = "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r";
-    };
-  }
-]
diff --git a/pkgs/servers/hitch/default.nix b/pkgs/servers/hitch/default.nix
index 7bc2da8b023..442796b8065 100644
--- a/pkgs/servers/hitch/default.nix
+++ b/pkgs/servers/hitch/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, docutils, libev, openssl, pkgconfig }:
 stdenv.mkDerivation rec {
-  version = "1.5.0";
+  version = "1.5.2";
   pname = "hitch";
 
   src = fetchurl {
     url = "https://hitch-tls.org/source/${pname}-${version}.tar.gz";
-    sha256 = "02sd2p3jsbnqmldsjwzk5qcjc45k9n1x4ygjkx0kxxwjj9lm9hhf";
+    sha256 = "1nnzqqigfw78nqhp81a72x1s8d6v49ayw4w5df0zzm2cb1jgv95i";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index f46868c4cb4..492d5a0b0dc 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -644,7 +644,7 @@
     "sensehat" = ps: with ps; [  ];
     "sensibo" = ps: with ps; [  ];
     "sensor" = ps: with ps; [  ];
-    "serial" = ps: with ps; [  ];
+    "serial" = ps: with ps; [ pyserial-asyncio ];
     "serial_pm" = ps: with ps; [  ];
     "sesame" = ps: with ps; [  ];
     "seven_segments" = ps: with ps; [  ];
@@ -814,7 +814,7 @@
     "vicare" = ps: with ps; [  ];
     "vivotek" = ps: with ps; [  ];
     "vizio" = ps: with ps; [  ];
-    "vlc" = ps: with ps; [  ];
+    "vlc" = ps: with ps; [ python-vlc ];
     "vlc_telnet" = ps: with ps; [  ];
     "voicerss" = ps: with ps; [  ];
     "volkszaehler" = ps: with ps; [  ];
@@ -873,7 +873,7 @@
     "zengge" = ps: with ps; [  ];
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
     "zestimate" = ps: with ps; [ xmltodict ];
-    "zha" = ps: with ps; [  ];
+    "zha" = ps: with ps; [ zha-quirks zigpy-deconz zigpy ];
     "zhong_hong" = ps: with ps; [  ];
     "zigbee" = ps: with ps; [  ];
     "ziggo_mediabox_xl" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/esphome.nix b/pkgs/servers/home-assistant/esphome.nix
index b5f6af3e483..27dabd2a2eb 100644
--- a/pkgs/servers/home-assistant/esphome.nix
+++ b/pkgs/servers/home-assistant/esphome.nix
@@ -1,4 +1,4 @@
-{ lib, python3, platformio, esptool, git, protobuf3_7, fetchpatch }:
+{ lib, python3, platformio, esptool, git, protobuf3_10, fetchpatch }:
 
 let
   python = python3.override {
@@ -11,24 +11,19 @@ let
         };
       });
       protobuf = super.protobuf.override {
-        protobuf = protobuf3_7;
+        protobuf = protobuf3_10;
       };
+
     };
   };
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.13.6";
+  version = "1.14.1";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "53148fc43c6cc6736cb7aa4cc1189caa305812061f55289ff916f8bd731ac623";
-  };
-
-  patches = fetchpatch {
-    url = https://github.com/esphome/esphome/pull/694.patch;
-    includes = [ "esphome/voluptuous_schema.py" ];
-    sha256 = "0i2v1d6mcgc94i9rkaqmls7iyfbaisdji41sfc7bh7cf2j824im9";
+    sha256 = "1hw1q2fck9429077w207rk65a1krzyi6qya5pzjkpw4av5s0v0g3";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
@@ -36,8 +31,16 @@ in python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     voluptuous pyyaml paho-mqtt colorlog
     tornado protobuf tzlocal pyserial ifaddr
+    protobuf
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "protobuf==3.10.0" "protobuf~=3.10" \
+      --replace "paho-mqtt==1.4.0" "paho-mqtt~=1.4" \
+      --replace "tornado==5.1.1" "tornado~=5.1"
+  '';
+
   makeWrapperArgs = [
     # platformio is used in esphomeyaml/platformio_api.py
     # esptool is used in esphomeyaml/__main__.py
diff --git a/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch b/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
deleted file mode 100644
index dda21c54f69..00000000000
--- a/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/frontend/filter-datatypes.c b/src/frontend/filter-datatypes.c
-index 8aae1dd..49ed358 100644
---- a/src/frontend/filter-datatypes.c
-+++ b/src/frontend/filter-datatypes.c
-@@ -23,6 +23,7 @@
- #include <string.h>
- #include <math.h>
- #define __USE_MISC
-+#define __USE_XOPEN_EXTENDED
- #include <time.h>
- 
- #include "filter.h"
diff --git a/pkgs/servers/http/4store/default.nix b/pkgs/servers/http/4store/default.nix
deleted file mode 100644
index 6e4be4a36fe..00000000000
--- a/pkgs/servers/http/4store/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv, fetchFromGitHub, librdf_raptor
-, librdf_rasqal, glib, libxml2, pcre
-, avahi, readline, ncurses, expat, autoreconfHook
-, zlib, pkgconfig, which, perl, libuuid
-, gmp, mpfr
-, db_dir ? "/var/lib/4store" }:
-
-
-stdenv.mkDerivation rec {
-  pname = "4store";
-  version = "1.1.6";
-
-  src = fetchFromGitHub {
-    owner = "4store";
-    repo = "4store";
-    rev = "v${version}";
-    sha256 = "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk";
-  };
-
-  patches = [ ./4store-1.1.6-glibc-2.26.patch ];
-
-  nativeBuildInputs = [ autoreconfHook perl pkgconfig which ];
-
-  buildInputs = [ librdf_raptor librdf_rasqal glib libxml2 pcre
-    avahi readline ncurses expat zlib libuuid gmp mpfr ];
-
-  # needed for ./autogen.sh
-  prePatch = ''
-    echo "${version}" > .version
-  '';
-
-  preConfigure =  ''
-    sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure
-    find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';'
-
-    rm src/utilities/4s-backend
-    sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/*
-    sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile*
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "SparQL query server (RDF storage)";
-    homepage = https://4store.danielknoell.de/;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-    broken = true; # since 2018-04-11
-  };
-}
diff --git a/pkgs/servers/http/4store/src-for-default.nix b/pkgs/servers/http/4store/src-for-default.nix
deleted file mode 100644
index 7076b921911..00000000000
--- a/pkgs/servers/http/4store/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="v1.1.5";
-   name="4store-v1.1.5";
-   hash="0nwckvf8xqwvc2h3v6s1rvmxvcx2xrjy6yapghc052180jw6zp9b";
-   url="http://4store.org/download/4store-${version}.tar.gz";
-   advertisedUrl="http://4store.org/download/4store-v1.1.5.tar.gz";
-  
-  
-}
diff --git a/pkgs/servers/http/4store/src-info-for-default.nix b/pkgs/servers/http/4store/src-info-for-default.nix
deleted file mode 100644
index 91a9bad92de..00000000000
--- a/pkgs/servers/http/4store/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://4store.org/download/";
-  baseName = "4store";
-  choiceCommand = "tail -n 1";
-  versionExtractorSedScript = "s@.*-(v[0-9.]+)[.].*@\\1@";
-}
diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix
new file mode 100644
index 00000000000..397e0dfe0bb
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, apacheHttpd, apr, cairo, iniparser, mapnik }:
+
+stdenv.mkDerivation rec {
+  pname = "mod_tile";
+  version = "unstable-2017-01-08";
+
+  src = fetchFromGitHub {
+    owner = "openstreetmap";
+    repo = "mod_tile";
+    rev = "e25bfdba1c1f2103c69529f1a30b22a14ce311f1";
+    sha256 = "12c96avka1dfb9wxqmjd57j30w9h8yx4y4w34kyq6xnf6lwnkcxp";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ apacheHttpd apr cairo iniparser mapnik ];
+
+  configureFlags = [
+    "--with-apxs=${apacheHttpd.dev}/bin/apxs"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/modules
+    make install-mod_tile DESTDIR=$out
+    mv $out${apacheHttpd}/* $out
+    rm -rf $out/nix
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/openstreetmap/mod_tile";
+    description = "Efficiently render and serve OpenStreetMap tiles using Apache and Mapnik";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jglukasik ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/http/h2o/default.nix b/pkgs/servers/http/h2o/default.nix
index a8de0d7e084..d599956cfda 100644
--- a/pkgs/servers/http/h2o/default.nix
+++ b/pkgs/servers/http/h2o/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , pkgconfig, cmake, ninja
-, libressl, libuv, zlib
+, openssl, libuv, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig cmake ninja ];
-  buildInputs = [ libressl libuv zlib ];
+  buildInputs = [ openssl libuv zlib ];
 
   meta = with stdenv.lib; {
     description = "Optimized HTTP/1 and HTTP/2 server";
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 5ce44322e92..8d2340647cb 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.16.v20190411";
+  version = "9.4.24.v20191120";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0vkcm68cp7z45pgfg5maxcxfjwy4xj30f2d0c7cfnw9d38wf5lpq";
+    sha256 = "072vr8gfly2xdwxx1c771yymf145l8nv0j31liwqrih8zqvvhsd4";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A Web server and javax.servlet container";
-    homepage = http://www.eclipse.org/jetty/;
+    homepage = "https://www.eclipse.org/jetty/";
     platforms = stdenv.lib.platforms.all;
     license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
   };
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 3edbed22b6b..2c0dbc7d665 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt
-, substituteAll, gd, geoip
+, nixosTests
+, substituteAll, gd, geoip, perl
 , withDebug ? false
 , withStream ? true
 , withMail ? false
@@ -29,7 +30,7 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip ]
+  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ]
     ++ mapModules "inputs";
 
   configureFlags = [
@@ -52,8 +53,6 @@ stdenv.mkDerivation {
     "--with-http_stub_status_module"
     "--with-threads"
     "--with-pcre-jit"
-    # Install destination problems
-    # "--with-http_perl_module"
   ] ++ optional withDebug [
     "--with-debug"
   ] ++ optional withStream [
@@ -65,6 +64,10 @@ stdenv.mkDerivation {
   ] ++ optional withMail [
     "--with-mail"
     "--with-mail_ssl_module"
+  ] ++ optional (perl != null) [
+    "--with-http_perl_module"
+    "--with-perl=${perl}/bin/perl"
+    "--with-perl_modules_path=lib/perl5"
   ]
     ++ optional (gd != null) "--with-http_image_filter_module"
     ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
@@ -107,7 +110,10 @@ stdenv.mkDerivation {
     mv $out/sbin $out/bin
   '';
 
-  passthru.modules = modules;
+  passthru = {
+    modules = modules;
+    tests.nginx = nixosTests.nginx;
+  };
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index f05d9c1ce8f..8711be4b5c0 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchFromGitHub, which
-, withPython ? true, python
-, withPHP72 ? true, php72
-, withPHP73 ? false, php73
-, withPerl ? true, perl
+, withPython2 ? false, python2
+, withPython3 ? true, python3, ncurses
+, withPHP72 ? false, php72
+, withPHP73 ? true, php73
+, withPerl528 ? false, perl528
+, withPerl530 ? true, perl530
 , withPerldevel ? false, perldevel
 , withRuby_2_4 ? false, ruby_2_4
-, withRuby ? true, ruby
+, withRuby_2_5 ? false, ruby_2_5
+, withRuby_2_6 ? true, ruby_2_6
 , withSSL ? true, openssl ? null
 , withIPv6 ? true
 , withDebug ? false
@@ -14,26 +17,29 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.12.0";
+  version = "1.13.0";
   pname = "unit";
 
   src = fetchFromGitHub {
     owner = "nginx";
     repo = "unit";
     rev = version;
-    sha256 = "1ylzfsajjfaxzn7mycjs69ms4x58r4szpk07kqrmbf03dp2cmxkq";
+    sha256 = "1b5il05isq5yvnx2qpnihsrmj0jliacvhrm58i87d48anwpv1k8q";
   };
 
   nativeBuildInputs = [ which ];
 
   buildInputs = [ ]
-    ++ optional withPython python
+    ++ optional withPython2 python2
+    ++ optionals withPython3 [ python3 ncurses ]
     ++ optional withPHP72 php72
     ++ optional withPHP73 php73
-    ++ optional withPerl perl
+    ++ optional withPerl528 perl528
+    ++ optional withPerl530 perl530
     ++ optional withPerldevel perldevel
     ++ optional withRuby_2_4 ruby_2_4
-    ++ optional withRuby ruby
+    ++ optional withRuby_2_5 ruby_2_5
+    ++ optional withRuby_2_6 ruby_2_6
     ++ optional withSSL openssl;
 
   configureFlags = [
@@ -46,13 +52,16 @@ stdenv.mkDerivation rec {
     ++ optional withDebug   [ "--debug" ];
 
   postConfigure = ''
-    ${optionalString withPython     "./configure python  --module=python    --config=${python}/bin/python-config  --lib-path=${python}/lib"}
-    ${optionalString withPHP72      "./configure php     --module=php72     --config=${php72.dev}/bin/php-config  --lib-path=${php72}/lib"}
-    ${optionalString withPHP73      "./configure php     --module=php73     --config=${php73.dev}/bin/php-config  --lib-path=${php73}/lib"}
-    ${optionalString withPerl       "./configure perl    --module=perl      --perl=${perl}/bin/perl"}
-    ${optionalString withPerldevel  "./configure perl    --module=perl529   --perl=${perldevel}/bin/perl"}
-    ${optionalString withRuby_2_4   "./configure ruby    --module=ruby24    --ruby=${ruby_2_4}/bin/ruby"}
-    ${optionalString withRuby       "./configure ruby    --module=ruby      --ruby=${ruby}/bin/ruby"}
+    ${optionalString withPython2    "./configure python --module=python2  --config=${python2}/bin/python2-config  --lib-path=${python2}/lib"}
+    ${optionalString withPython3    "./configure python --module=python3  --config=${python3}/bin/python3-config  --lib-path=${python3}/lib"}
+    ${optionalString withPHP72      "./configure php    --module=php72    --config=${php72.dev}/bin/php-config    --lib-path=${php72}/lib"}
+    ${optionalString withPHP73      "./configure php    --module=php73    --config=${php73.dev}/bin/php-config    --lib-path=${php73}/lib"}
+    ${optionalString withPerl528    "./configure perl   --module=perl528  --perl=${perl528}/bin/perl"}
+    ${optionalString withPerl530    "./configure perl   --module=perl530  --perl=${perl530}/bin/perl"}
+    ${optionalString withPerldevel  "./configure perl   --module=perldev  --perl=${perldevel}/bin/perl"}
+    ${optionalString withRuby_2_4   "./configure ruby   --module=ruby24   --ruby=${ruby_2_4}/bin/ruby"}
+    ${optionalString withRuby_2_5   "./configure ruby   --module=ruby25   --ruby=${ruby_2_5}/bin/ruby"}
+    ${optionalString withRuby_2_6   "./configure ruby   --module=ruby26   --ruby=${ruby_2_6}/bin/ruby"}
   '';
 
   meta = {
diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix
index c6b2af3d387..ecbedcfbec8 100644
--- a/pkgs/servers/irc/charybdis/default.nix
+++ b/pkgs/servers/irc/charybdis/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "IRCv3 server designed to be highly scalable";
-    homepage    = http://atheme.org/projects/charybdis.html;
+    homepage    = https://github.com/charybdis-ircd/charybdis;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ lassulus fpletz ];
     platforms   = platforms.unix;
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index c5c97b51422..9f411c69a8d 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.11.751";
+  version = "0.12.907";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxAMDx64.tar.gz";
-    sha256 = "09y9pck35pj2g89936zallxr3hanmbgp8jc42nj2js68l0z64qz3";
+    sha256 = "0f88zjd8abkr72sjbzm51npxsjbk6xklfqd7iyaq3j0l5hxh6b8w";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 356ae7fee17..b1116dc4a95 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -18,12 +18,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.4.0";
+  version = "10.4.3";
 
   # Impossible to build anything offline with dotnet
   src = fetchurl {
     url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
-    sha256 = "0a3n2g8xcxz9syj21v3f3jbzksw22bg0dksbakkvs1kphaygk5q2";
+    sha256 = "11scxcwf02h6gvll0jwwac1wcpwz8d2y16yc3da0hrhy34yhysbl";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index e7bff373c3a..8de4c471e22 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, doxygen, perl, pam, nspr, nss, openldap
-, db, cyrus_sasl, svrcore, icu, net_snmp, kerberos, pcre, perlPackages, libevent, openssl, python
+, db, cyrus_sasl, svrcore, icu, net-snmp, kerberos, pcre, perlPackages, libevent, openssl, python
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig doxygen ];
   buildInputs = [
     perl pam nspr nss openldap db cyrus_sasl svrcore icu
-    net_snmp kerberos pcre libevent openssl python
+    net-snmp kerberos pcre libevent openssl python
   ] ++ (with perlPackages; [ MozillaLdap NetAddrIP DBFile ]);
 
   patches = [
@@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
     "--with-db-inc=${db.dev}/include"
     "--with-db-lib=${db.out}/lib"
     "--with-sasl=${cyrus_sasl.dev}"
-    "--with-netsnmp=${net_snmp}"
+    "--with-netsnmp=yes"
+    "--with-netsnmp-inc=${stdenv.lib.getDev net-snmp}/include"
+    "--with-netsnmp-lib=${stdenv.lib.getLib net-snmp}/lib"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
deleted file mode 100644
index 422bfad92e6..00000000000
--- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-diff --git a/src/auth/main.c b/src/auth/main.c
-index 2dbf9e1..b1e778a 100644
---- a/src/auth/main.c
-+++ b/src/auth/main.c
-@@ -192,7 +192,7 @@ static void main_preinit(void)
- 	mod_set.debug = global_auth_settings->debug;
- 	mod_set.filter_callback = auth_module_filter;
- 
--	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	if (!worker)
-@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
- 	mod_set.debug = global_auth_settings->debug;
- 	mod_set.ignore_missing = TRUE;
- 
--	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
-+	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
- 					  &mod_set);
- 	module_dir_init(modules);
- }
-diff --git a/src/config/all-settings.c b/src/config/all-settings.c
-index 4a2ab53..5057d63 100644
---- a/src/config/all-settings.c
-+++ b/src/config/all-settings.c
-@@ -1079,7 +1079,7 @@ static const struct mail_user_settings mail_user_default_settings = {
- 	.last_valid_gid = 0,
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 
- 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
- 
-@@ -4723,7 +4723,7 @@ const struct doveadm_settings doveadm_default_settings = {
- 	.base_dir = PKG_RUNDIR,
- 	.libexec_dir = PKG_LIBEXECDIR,
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 	.auth_debug = FALSE,
- 	.auth_socket_path = "auth-userdb",
- 	.doveadm_socket_path = "doveadm-server",
-diff --git a/src/config/config-parser.c b/src/config/config-parser.c
-index 6894123..07e9fec 100644
---- a/src/config/config-parser.c
-+++ b/src/config/config-parser.c
-@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
- 
- 	i_zero(&mod_set);
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
--	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	i_array_init(&new_roots, 64);
-diff --git a/src/dict/main.c b/src/dict/main.c
-index 722ed02..4ed12ae 100644
---- a/src/dict/main.c
-+++ b/src/dict/main.c
-@@ -104,7 +104,7 @@ static void main_init(void)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.require_init_funcs = TRUE;
- 
--	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
-+	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
- 	module_dir_init(modules);
- 
- 	/* Register only after loading modules. They may contain SQL drivers,
-diff --git a/src/doveadm/doveadm-settings.c b/src/doveadm/doveadm-settings.c
-index 88da40c..141ed05 100644
---- a/src/doveadm/doveadm-settings.c
-+++ b/src/doveadm/doveadm-settings.c
-@@ -86,7 +86,7 @@ const struct doveadm_settings doveadm_default_settings = {
- 	.base_dir = PKG_RUNDIR,
- 	.libexec_dir = PKG_LIBEXECDIR,
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 	.auth_debug = FALSE,
- 	.auth_socket_path = "auth-userdb",
- 	.doveadm_socket_path = "doveadm-server",
-diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
-index a939f61..846cf86 100644
---- a/src/lib-fs/fs-api.c
-+++ b/src/lib-fs/fs-api.c
-@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.ignore_missing = TRUE;
- 
--	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
-+	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
- 					     module_name, &mod_set);
- 	module_dir_init(fs_modules);
- 
-diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
-index f857ec9..0d1023b 100644
---- a/src/lib-ssl-iostream/iostream-ssl.c
-+++ b/src/lib-ssl-iostream/iostream-ssl.c
-@@ -53,7 +53,7 @@ int ssl_module_load(const char **error_r)
- 	mod_set.abi_version = DOVECOT_ABI_VERSION;
- 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
- 	mod_set.require_init_funcs = TRUE;
--	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
-+	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
- 	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
- 					&mod_set, error_r) < 0)
- 		return -1;
-diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
-index b314b52..7055094 100644
---- a/src/lib-storage/mail-storage-settings.c
-+++ b/src/lib-storage/mail-storage-settings.c
-@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
- 	.last_valid_gid = 0,
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- 
- 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
- 
-diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c
-index 1666ec9..8a27200 100644
---- a/src/lmtp/lmtp-settings.c
-+++ b/src/lmtp/lmtp-settings.c
-@@ -89,7 +89,7 @@ static const struct lmtp_settings lmtp_default_settings = {
- 	.login_trusted_networks = "",
- 
- 	.mail_plugins = "",
--	.mail_plugin_dir = MODULEDIR,
-+	.mail_plugin_dir = "/etc/dovecot/modules",
- };
- 
- static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff --git a/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch
new file mode 100644
index 00000000000..0f987b44d8a
--- /dev/null
+++ b/pkgs/servers/mail/dovecot/2.3.x-module_dir.patch
@@ -0,0 +1,165 @@
+diff -ru dovecot-2.3.9.2.orig/src/auth/main.c dovecot-2.3.9.2/src/auth/main.c
+--- dovecot-2.3.9.2.orig/src/auth/main.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/auth/main.c	2019-12-15 19:46:52.101597499 +0100
+@@ -191,7 +191,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+ 
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	if (!worker)
+@@ -222,7 +222,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff -ru dovecot-2.3.9.2.orig/src/config/all-settings.c dovecot-2.3.9.2/src/config/all-settings.c
+--- dovecot-2.3.9.2.orig/src/config/all-settings.c	2019-12-13 14:12:32.000000000 +0100
++++ dovecot-2.3.9.2/src/config/all-settings.c	2019-12-15 19:49:42.764650074 +0100
+@@ -1080,7 +1080,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+ 
+@@ -3849,7 +3849,7 @@
+ 	.login_log_format = "%$: %s",
+ 	.login_access_sockets = "",
+ 	.login_proxy_notify_path = "proxy-notify",
+-	.login_plugin_dir = MODULEDIR"/login",
++	.login_plugin_dir = "/etc/dovecot/modules""/login",
+ 	.login_plugins = "",
+ 	.login_proxy_max_disconnect_delay = 0,
+ 	.director_username_hash = "%u",
+@@ -4058,7 +4058,7 @@
+ 	.login_trusted_networks = "",
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ };
+ static const struct setting_parser_info *lmtp_setting_dependencies[] = {
+ 	&lda_setting_parser_info,
+@@ -4823,7 +4823,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 	.mail_temp_dir = "/tmp",
+ 	.auth_debug = FALSE,
+ 	.auth_socket_path = "auth-userdb",
+diff -ru dovecot-2.3.9.2.orig/src/config/config-parser.c dovecot-2.3.9.2/src/config/config-parser.c
+--- dovecot-2.3.9.2.orig/src/config/config-parser.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/config/config-parser.c	2019-12-15 19:46:52.102597505 +0100
+@@ -1077,7 +1077,7 @@
+ 
+ 	i_zero(&mod_set);
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	i_array_init(&new_roots, 64);
+diff -ru dovecot-2.3.9.2.orig/src/dict/main.c dovecot-2.3.9.2/src/dict/main.c
+--- dovecot-2.3.9.2.orig/src/dict/main.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/dict/main.c	2019-12-15 19:46:52.102597505 +0100
+@@ -104,7 +104,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+ 
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff -ru dovecot-2.3.9.2.orig/src/doveadm/doveadm-settings.c dovecot-2.3.9.2/src/doveadm/doveadm-settings.c
+--- dovecot-2.3.9.2.orig/src/doveadm/doveadm-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/doveadm/doveadm-settings.c	2019-12-15 19:47:29.525812499 +0100
+@@ -89,7 +89,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 	.mail_temp_dir = "/tmp",
+ 	.auth_debug = FALSE,
+ 	.auth_socket_path = "auth-userdb",
+diff -ru dovecot-2.3.9.2.orig/src/doveadm/doveadm-util.c dovecot-2.3.9.2/src/doveadm/doveadm-util.c
+--- dovecot-2.3.9.2.orig/src/doveadm/doveadm-util.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/doveadm/doveadm-util.c	2019-12-15 19:52:32.003844670 +0100
+@@ -33,7 +33,7 @@
+ 	mod_set.debug = doveadm_debug;
+ 	mod_set.ignore_dlopen_errors = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm",
+ 					  NULL, &mod_set);
+ 	module_dir_init(modules);
+ }
+@@ -58,7 +58,7 @@
+ 			return FALSE;
+ 	}
+ 
+-	dir = opendir(DOVEADM_MODULEDIR);
++	dir = opendir("/etc/dovecot/modules/doveadm");
+ 	if (dir == NULL)
+ 		return FALSE;
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lib-fs/fs-api.c dovecot-2.3.9.2/src/lib-fs/fs-api.c
+--- dovecot-2.3.9.2.orig/src/lib-fs/fs-api.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-fs/fs-api.c	2019-12-15 19:46:52.102597505 +0100
+@@ -114,7 +114,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.3.9.2/src/lib-ssl-iostream/iostream-ssl.c
+--- dovecot-2.3.9.2.orig/src/lib-ssl-iostream/iostream-ssl.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-ssl-iostream/iostream-ssl.c	2019-12-15 19:46:52.102597505 +0100
+@@ -54,7 +54,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+ 	mod_set.require_init_funcs = TRUE;
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
++	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
+ 	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
+ 					&mod_set, error_r) < 0)
+ 		return -1;
+diff -ru dovecot-2.3.9.2.orig/src/lib-storage/mail-storage-settings.c dovecot-2.3.9.2/src/lib-storage/mail-storage-settings.c
+--- dovecot-2.3.9.2.orig/src/lib-storage/mail-storage-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lib-storage/mail-storage-settings.c	2019-12-15 19:46:52.102597505 +0100
+@@ -337,7 +337,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+ 
+diff -ru dovecot-2.3.9.2.orig/src/lmtp/lmtp-settings.c dovecot-2.3.9.2/src/lmtp/lmtp-settings.c
+--- dovecot-2.3.9.2.orig/src/lmtp/lmtp-settings.c	2019-12-13 14:12:00.000000000 +0100
++++ dovecot-2.3.9.2/src/lmtp/lmtp-settings.c	2019-12-15 19:46:52.102597505 +0100
+@@ -95,7 +95,7 @@
+ 	.login_trusted_networks = "",
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+ };
+ 
+ static const struct setting_parser_info *lmtp_setting_dependencies[] = {
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 35c274eff25..3aff9f53ce7 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.8";
+  name = "dovecot-2.3.9.2";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0jdng27hqqagjy6v7ymd0xflbv5dbc1rhh450nk39ar6pw1qsxy5";
+    sha256 = "1yc6hi4hqg4hcc4495sf4m5f1lnargphi6dawj43if21vncgp127";
   };
 
   enableParallelBuilding = true;
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     # Make dovecot look for plugins in /etc/dovecot/modules
     # so we can symlink plugins from several packages there.
     # The symlinking needs to be done in NixOS.
-    ./2.2.x-module_dir.patch
+    ./2.3.x-module_dir.patch
   ];
 
   configureFlags = [
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 4184771f8a8..71a5c20dea3 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot-pigeonhole";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "08lhfl877xm790f1mqdhvz74xqr2kkl8wpz2m6p0j6hv1kan1f4g";
+    sha256 = "01dxidrnmrr2gqggfsgkfxa6ynvyjyw13xw32gi86yqmwnm6inin";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index fdc2b3fd2c4..5a768178ee7 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "opensmtpd";
-  version = "6.4.2p1";
+  version = "6.6.1p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
   buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
-    sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
+    sha256 = "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb";
   };
 
   patches = [
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
   # See https://github.com/OpenSMTPD/OpenSMTPD/issues/885 for the `sh bootstrap`
   # requirement
   postPatch = ''
-    substituteInPlace smtpd/parse.y \
-      --replace "/usr/libexec/" "$out/libexec/opensmtpd/"
     substituteInPlace mk/smtpctl/Makefile.am --replace "chgrp" "true"
     substituteInPlace mk/smtpctl/Makefile.am --replace "chmod 2555" "chmod 0555"
     sh bootstrap
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 8b6a46b9657..b3345f9420c 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
 
   pname = "postfix";
 
-  version = "3.4.7";
+  version = "3.4.8";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "0rzr0n1gljhmxidsslbr9505xcv0hm8jahkp4dm87a1v3l956cpy";
+    sha256 = "0hw9kbr05qdzvfqhxi4dp4n3s9xvdh0gr0la08a4bip06ybl4pcd";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/pkgs/servers/mail/public-inbox/default.nix b/pkgs/servers/mail/public-inbox/default.nix
new file mode 100644
index 00000000000..b4749558500
--- /dev/null
+++ b/pkgs/servers/mail/public-inbox/default.nix
@@ -0,0 +1,66 @@
+{ buildPerlPackage, lib, fetchurl, makeWrapper
+, DBDSQLite, EmailMIME, IOSocketSSL, IPCRun, Plack, PlackMiddlewareReverseProxy
+, SearchXapian, TimeDate, URI
+, git, highlight, openssl, xapian
+}:
+
+let
+
+  # These tests would fail, and produce "Operation not permitted"
+  # errors from git, because they use git init --shared.  This tries
+  # to set the setgid bit, which isn't permitted inside build
+  # sandboxes.
+  #
+  # These tests were indentified with
+  #     grep -r shared t/
+  skippedTests = [ "convert-compact" "search" "v2writable" "www_listing" ];
+
+  testConditions = with lib;
+    concatMapStringsSep " " (n: "! -name ${escapeShellArg n}.t") skippedTests;
+
+in
+
+buildPerlPackage rec {
+  pname = "public-inbox";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://public-inbox.org/releases/public-inbox-${version}.tar.gz";
+    sha256 = "0sa2m4f2x7kfg3mi4im7maxqmqvawafma8f7g92nyfgybid77g6s";
+  };
+
+  outputs = [ "out" "devdoc" "sa_config" ];
+
+  postConfigure = ''
+    substituteInPlace Makefile --replace 'TEST_FILES = t/*.t' \
+        'TEST_FILES = $(shell find t -name *.t ${testConditions})'
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [
+    DBDSQLite EmailMIME IOSocketSSL IPCRun Plack PlackMiddlewareReverseProxy
+    SearchXapian TimeDate URI highlight
+  ];
+
+  checkInputs = [ git openssl xapian ];
+  preCheck = ''
+    perl certs/create-certs.perl
+  '';
+
+  installTargets = [ "install" ];
+  postInstall = ''
+    for prog in $out/bin/*; do
+        wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ git ]}
+    done
+
+    mv sa_config $sa_config
+  '';
+
+  meta = with lib; {
+    homepage = "https://public-inbox.org/";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 186f4670153..f3032bfc86a 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -2,18 +2,21 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "SpamAssassin";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchurl {
     url = "mirror://apache/spamassassin/source/Mail-${pname}-${version}.tar.bz2";
-    sha256 = "1np8h293bzg33i0xn9gj9krwgr7k6xbyf1yhxr2j2xci95d080yg";
+    sha256 = "1380cmrgjsyidnznr844c5yr9snz36dw7xchdfryi2s61vjzvf55";
   };
 
   # https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7434
   patches = [ ./sa-update_add--siteconfigpath.patch ];
 
-  buildInputs = [ makeWrapper ] ++ (with perlPackages; [ HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
-    LWP IOSocketSSL DBI EncodeDetect IPCountry NetIdent Razor2ClientAgent MailSPF NetDNSResolverProgrammable ]);
+  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
+    HTMLParser NetCIDRLite NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP
+    IOSocketSSL DBI EncodeDetect IPCountry NetIdent Razor2ClientAgent MailSPF
+    NetDNSResolverProgrammable Socket6
+  ]);
 
   # Enabling 'taint' mode is desirable, but that flag disables support
   # for the PERL5LIB environment variable. Needs further investigation.
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 0c0a2c1908b..c270caa5a8e 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, python3, openssl
-, enableSystemd ? stdenv.isLinux
+, enableSystemd ? stdenv.isLinux, nixosTests
 }:
 
 with python3.pkgs;
@@ -7,11 +7,11 @@ with python3.pkgs;
 let
   matrix-synapse-ldap3 = buildPythonPackage rec {
     pname = "matrix-synapse-ldap3";
-    version = "0.1.3";
+    version = "0.1.4";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0a0d1y9yi0abdkv6chbmxr3vk36gynnqzrjhbg26q4zg06lh9kgn";
+      sha256 = "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx";
     };
 
     propagatedBuildInputs = [ service-identity ldap3 twisted ];
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.5.0";
+  version = "1.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0skhzbwzq2985frnd86fn2hxhsmy0q1l5p9aich8l2gyg1dd3wb8";
+    sha256 = "1nhzjmxzv5bvihl58cdpjw3hdghbh2pz7sg437k841mjn1qqq5lx";
   };
 
   patches = [
@@ -78,6 +78,8 @@ in buildPythonApplication rec {
 
   doCheck = !stdenv.isDarwin;
 
+  passthru.tests = { inherit (nixosTests) matrix-synapse; };
+
   checkPhase = ''
     PYTHONPATH=".:$PYTHONPATH" ${python3.interpreter} -m twisted.trial tests
   '';
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
index 6cbcd4d38f7..d46e3d75f02 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
@@ -22,13 +22,13 @@ let
         sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
       };
     };
-    "@slack/logger-1.1.0" = {
+    "@slack/logger-1.1.1" = {
       name = "_at_slack_slash_logger";
       packageName = "@slack/logger";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.0.tgz";
-        sha512 = "D3tabyLoUrsFy0w3koxaCVv+5ZJfIy+j0QW3PUq0XO3UiVuF5rtpAbqngAYVpeKnxPpqBjeth4XJ3tllKoW3aA==";
+        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.1.tgz";
+        sha512 = "PAC5CMnNAv/FPtJ0le+YD2wUV+tZ7n3Bnjj9dBI+deIcHsExCnQkQmZE79cLvfuYXbz3PWyv5coti30MJQhEjA==";
       };
     };
     "@slack/rtm-api-5.0.3" = {
@@ -40,22 +40,22 @@ let
         sha512 = "rzNIFst8iuVYyHdE7e3KSrbAtIA7sfS4Pth9ObKUm5KDemX0zyI7YfAijO1kgr1EMriQkjlpKBhlNq9Y+aQr6g==";
       };
     };
-    "@slack/types-1.2.1" = {
+    "@slack/types-1.3.0" = {
       name = "_at_slack_slash_types";
       packageName = "@slack/types";
-      version = "1.2.1";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/types/-/types-1.2.1.tgz";
-        sha512 = "NyGh7MibW+a0OHkwwOPlv63hC639dzQdkFy4dj0tl4sAdZR4OBaE/OhXixKhCzcT3kJsPXaQmvkUN7sqSf52iA==";
+        url = "https://registry.npmjs.org/@slack/types/-/types-1.3.0.tgz";
+        sha512 = "3AjHsDJjJKT3q0hQzFHQN7piYIh99LuN7Po56W/R6P/uscqZqwS5xm1U1cTYGIzk8fmsuW7TvWVg0W85hKY/MQ==";
       };
     };
-    "@slack/web-api-5.2.1" = {
+    "@slack/web-api-5.6.0" = {
       name = "_at_slack_slash_web-api";
       packageName = "@slack/web-api";
-      version = "5.2.1";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.2.1.tgz";
-        sha512 = "YobhBNMwEFZvfvOIBNU+GNyOqUa/S1rdiWliESYAq9ZcUXGblgEYIL3sxKwuNQckBjCgSYzexT3+nX5dSepwJg==";
+        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.6.0.tgz";
+        sha512 = "/HxTI9/4fMk3su1UAa7oN0n8fGSZLHXGUne3WJ+vjxGek2rvvzazqL6yTRWWWcpttPtsNyjk4KI9FkPq+6yLNg==";
       };
     };
     "@types/body-parser-1.17.1" = {
@@ -76,13 +76,13 @@ let
         sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
       };
     };
-    "@types/chai-4.2.3" = {
+    "@types/chai-4.2.6" = {
       name = "_at_types_slash_chai";
       packageName = "@types/chai";
-      version = "4.2.3";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.3.tgz";
-        sha512 = "VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA==";
+        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.6.tgz";
+        sha512 = "HF8faEUA4JurIm+68VaA2KedtZf5LYdXpQEAbIAN79DwWQbO82BNTksZgCH3UMqbZHXex9C6TrBfg7OUInRISQ==";
       };
     };
     "@types/connect-3.4.32" = {
@@ -103,22 +103,22 @@ let
         sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
       };
     };
-    "@types/express-4.17.1" = {
+    "@types/express-4.17.2" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.1";
+      version = "4.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz";
-        sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz";
+        sha512 = "5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==";
       };
     };
-    "@types/express-serve-static-core-4.16.9" = {
+    "@types/express-serve-static-core-4.17.0" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.16.9";
+      version = "4.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
-        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.0.tgz";
+        sha512 = "Xnub7w57uvcBqFdIGoRg1KhNOeEj0vB6ykUM7uFWyxvbdE89GFyqgmUcanAriMr4YOxNFZBAWkfcWIb4WBPt3g==";
       };
     };
     "@types/is-stream-1.1.0" = {
@@ -157,13 +157,13 @@ let
         sha512 = "w9Tl3DQCkdT0Ghes+PKhe+3/pZppBXuFFpSCjPJbb2KE3DjYmUpEyCYzjrAYlT9Y1TndnbbnChzkax2h/JorVQ==";
       };
     };
-    "@types/node-12.7.11" = {
+    "@types/node-12.12.14" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.7.11";
+      version = "12.12.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz";
-        sha512 = "Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz";
+        sha512 = "u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==";
       };
     };
     "@types/node-emoji-1.8.1" = {
@@ -238,22 +238,22 @@ let
         sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
-    "@types/tough-cookie-2.3.5" = {
+    "@types/tough-cookie-2.3.6" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
-      version = "2.3.5";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz";
-        sha512 = "SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==";
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz";
+        sha512 = "wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==";
       };
     };
-    "@types/uuid-3.4.5" = {
+    "@types/uuid-3.4.6" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "3.4.5";
+      version = "3.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.5.tgz";
-        sha512 = "MNL15wC3EKyw1VLF+RoVO4hJJdk9t/Hlv3rt1OL65Qvuadm4BYo6g9ZJQqoq7X8NBFSsQXgAujWciovh2lpVjA==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.6.tgz";
+        sha512 = "cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==";
       };
     };
     "@types/ws-5.1.2" = {
@@ -365,13 +365,13 @@ let
         sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
-    "arg-4.1.1" = {
+    "arg-4.1.2" = {
       name = "arg";
       packageName = "arg";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz";
-        sha512 = "SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==";
+        url = "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz";
+        sha512 = "+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==";
       };
     };
     "argparse-1.0.10" = {
@@ -482,13 +482,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.8.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
-        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "axios-0.18.1" = {
@@ -572,13 +572,13 @@ let
         sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1";
       };
     };
-    "bluebird-3.7.0" = {
+    "bluebird-3.5.5" = {
       name = "bluebird";
       packageName = "bluebird";
-      version = "3.7.0";
+      version = "3.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz";
-        sha512 = "aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==";
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
+        sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
       };
     };
     "body-parser-1.19.0" = {
@@ -788,13 +788,13 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-2.20.1" = {
+    "commander-2.20.3" = {
       name = "commander";
       packageName = "commander";
-      version = "2.20.1";
+      version = "2.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz";
-        sha512 = "cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==";
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     };
     "concat-map-0.0.1" = {
@@ -842,13 +842,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "core-js-2.6.9" = {
+    "core-js-2.6.10" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.9";
+      version = "2.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
-        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz";
+        sha512 = "I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -1040,22 +1040,22 @@ let
         sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
       };
     };
-    "es-abstract-1.15.0" = {
+    "es-abstract-1.16.3" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.15.0";
+      version = "1.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz";
-        sha512 = "bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz";
+        sha512 = "WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==";
       };
     };
-    "es-to-primitive-1.2.0" = {
+    "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
-        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
     "escape-html-1.0.3" = {
@@ -1409,13 +1409,13 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
-    "has-symbols-1.0.0" = {
+    "has-symbols-1.0.1" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
-        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "he-1.2.0" = {
@@ -1580,13 +1580,13 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-symbol-1.0.2" = {
+    "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
-        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -1778,13 +1778,13 @@ let
         sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
-    "loglevel-1.6.1" = {
+    "loglevel-1.6.6" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.6.1";
+      version = "1.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz";
-        sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz";
+        sha512 = "Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==";
       };
     };
     "make-error-1.3.5" = {
@@ -1805,31 +1805,31 @@ let
         sha512 = "pfDSB7QYoVg0Io4KMV9hhPoXpj6p0uBscgtyUSKCOFZe8bqgbpStfgnKIbF/ulnr6U3ICu4OqdyxAqBgOhZwBQ==";
       };
     };
-    "matrix-appservice-0.3.5" = {
+    "matrix-appservice-0.4.1" = {
       name = "matrix-appservice";
       packageName = "matrix-appservice";
-      version = "0.3.5";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.3.5.tgz";
-        sha512 = "oQcxlpERcUj90QbGjV7t5Ly5/Aze/sUwB9ZrIt1UMFwuNT+CgEzA7cxLDHAiJkXfgoNzFvjVnKJ3203oIuLONQ==";
+        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.4.1.tgz";
+        sha512 = "mxHr9XDOvN/p6OFrfb4kkcEjCPftnXNzMS8Lg9Cz/pDy1arfRWq11vl9pL9bjzBaAouBGLpW1JzmCR2MsW+VKA==";
       };
     };
-    "matrix-appservice-bridge-1.10.3" = {
+    "matrix-appservice-bridge-1.11.1" = {
       name = "matrix-appservice-bridge";
       packageName = "matrix-appservice-bridge";
-      version = "1.10.3";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-1.10.3.tgz";
-        sha512 = "PqAExCsokZOAnY/d2uqTmB7sCVNKDSHZ9R1V8hDNr6rtMUmO3jIuuKNuwFudeOGL2iYcqzB+s8tCz7yh9a3dew==";
+        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-1.11.1.tgz";
+        sha512 = "xrtjxScBIx33HRkiK/5G6wkUxZ9jxF9GqTiKzM/Fn7CgMZoHVDIms3sTc7ybZKA6RHAqH68bg4Eg4JbGCtUrhw==";
       };
     };
-    "matrix-js-sdk-2.4.1" = {
+    "matrix-js-sdk-2.4.5" = {
       name = "matrix-js-sdk";
       packageName = "matrix-js-sdk";
-      version = "2.4.1";
+      version = "2.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-2.4.1.tgz";
-        sha512 = "5mOp396eOtvaMiuUD85TWvuxSP532PuvtH/QLugBGenI15FGwtnC40cTnVYviYWGBi340FPrOKWulc5ILRX6qQ==";
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-2.4.5.tgz";
+        sha512 = "Mh0fPoiqyXRksFNYS4/2s20xAklmYVIgSms3qFvLhno32LN43NizUoAMBYYGtyjt8BQi+U77lbNL0s5f2V7gPQ==";
       };
     };
     "media-typer-0.3.0" = {
@@ -1868,22 +1868,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.40.0" = {
+    "mime-db-1.42.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.40.0";
+      version = "1.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
-        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
       };
     };
-    "mime-types-2.1.24" = {
+    "mime-types-2.1.25" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.24";
+      version = "2.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
-        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -1922,13 +1922,13 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "mocha-6.2.1" = {
+    "mocha-6.2.2" = {
       name = "mocha";
       packageName = "mocha";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-6.2.1.tgz";
-        sha512 = "VCcWkLHwk79NYQc8cxhkmI8IigTIhsCwZ6RTxQsqK6go4UvEhzJkYuHm8B2YtlSxcYq2fY+ucr4JBwoD6ci80A==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz";
+        sha512 = "FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==";
       };
     };
     "moment-2.24.0" = {
@@ -2039,13 +2039,13 @@ let
         sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
       };
     };
-    "object-inspect-1.6.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
-        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -2156,22 +2156,22 @@ let
         sha512 = "n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==";
       };
     };
-    "p-queue-6.1.1" = {
+    "p-queue-6.2.1" = {
       name = "p-queue";
       packageName = "p-queue";
-      version = "6.1.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.1.1.tgz";
-        sha512 = "R9gq36Th88xZ+rWAptN5IXLwqkwA1gagCQhT6ZXQ6RxEfmjb9ZW+UBzRVqv9sm5TQmbbI/TsKgGLbOaA61xR5w==";
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz";
+        sha512 = "wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==";
       };
     };
-    "p-retry-4.1.0" = {
+    "p-retry-4.2.0" = {
       name = "p-retry";
       packageName = "p-retry";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.1.0.tgz";
-        sha512 = "oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA==";
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.2.0.tgz";
+        sha512 = "jPH38/MRh263KKcq0wBNOGFJbm+U6784RilTmHjB/HM9kH9V8WlCpVUcdOmip9cjXOh6MxZ5yk1z2SjDUJfWmA==";
       };
     };
     "p-timeout-3.2.0" = {
@@ -2309,13 +2309,13 @@ let
         sha512 = "UiJyO5B9zZpu32GSlP0tXy8J2NsJ9EFGFfz5v6PSbdz/1hBLX1rNiiy5+mAm5iJJYwfCv4A0EBcQLGWwjbpzZw==";
       };
     };
-    "pg-promise-9.3.3" = {
+    "pg-promise-9.3.6" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "9.3.3";
+      version = "9.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-9.3.3.tgz";
-        sha512 = "C7Mj5RSUvK0cGOaJ0p1fcOk5jhS1n+HgY+DoE8s1+Zjzf6ta70zYDIlOmy6MtYWs4DFHhUW654hb0FmtGKkIkg==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-9.3.6.tgz";
+        sha512 = "b64UalKAkUImn01z7LeG2NtTTsp0TYfqMzo1vXjO2bDAshL+kXJ2HvCyHstJ4Nj8hLeqtCe0Tar5TbB4QGUHfw==";
       };
     };
     "pg-types-2.2.0" = {
@@ -2399,13 +2399,13 @@ let
         sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
-    "psl-1.4.0" = {
+    "psl-1.6.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.4.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
-        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz";
+        sha512 = "SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==";
       };
     };
     "punycode-1.4.1" = {
@@ -2516,22 +2516,22 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "request-promise-core-1.1.2" = {
+    "request-promise-core-1.1.3" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
-        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
+        sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==";
       };
     };
-    "request-promise-native-1.0.7" = {
+    "request-promise-native-1.0.8" = {
       name = "request-promise-native";
       packageName = "request-promise-native";
-      version = "1.0.7";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
-        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
+        sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==";
       };
     };
     "require-directory-2.1.1" = {
@@ -2552,13 +2552,13 @@ let
         sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
-    "resolve-1.12.0" = {
+    "resolve-1.13.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.12.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
-        sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz";
+        sha512 = "CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==";
       };
     };
     "retry-0.12.0" = {
@@ -2678,13 +2678,13 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-support-0.5.13" = {
+    "source-map-support-0.5.16" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.13";
+      version = "0.5.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
-        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
       };
     };
     "spex-3.0.0" = {
@@ -2903,13 +2903,13 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
-    "ts-node-8.4.1" = {
+    "ts-node-8.5.4" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "8.4.1";
+      version = "8.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.4.1.tgz";
-        sha512 = "5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.5.4.tgz";
+        sha512 = "izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==";
       };
     };
     "tslib-1.10.0" = {
@@ -2921,13 +2921,13 @@ let
         sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
       };
     };
-    "tslint-5.20.0" = {
+    "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
-      version = "5.20.0";
+      version = "5.20.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz";
-        sha512 = "2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==";
+        url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz";
+        sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==";
       };
     };
     "tsutils-2.29.0" = {
@@ -2975,13 +2975,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typescript-3.6.3" = {
+    "typescript-3.7.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.6.3";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz";
-        sha512 = "N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz";
+        sha512 = "Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==";
       };
     };
     "underscore-1.4.4" = {
@@ -2993,13 +2993,13 @@ let
         sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       };
     };
-    "unhomoglyph-1.0.2" = {
+    "unhomoglyph-1.0.3" = {
       name = "unhomoglyph";
       packageName = "unhomoglyph";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.2.tgz";
-        sha1 = "d69e5f5a6a1c6b211941a0889b81eba86595c253";
+        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.3.tgz";
+        sha512 = "PC/OAHE8aiTK0Gfmy0PxOlePazRn+BeCM1r4kFtkHgEnkJZgJoI7yD2yUEjsfSdLXKU1FSt/EcIZvNoKazYUTw==";
       };
     };
     "unpipe-1.0.0" = {
@@ -3212,42 +3212,42 @@ let
   };
 in
 {
-  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.1" = nodeEnv.buildNodePackage {
+  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" = nodeEnv.buildNodePackage {
     name = "matrix-appservice-slack";
     packageName = "matrix-appservice-slack";
-    version = "1.0.1";
+    version = "1.0.2";
     src = fetchgit {
       url = "https://github.com/matrix-org/matrix-appservice-slack.git";
-      rev = "3e30ae24faa0d457bea7f650a22083223af8d957";
-      sha256 = "40a68132606da347ffb90650ca5e0bd1e2be3025397c2f48e286fe9f5e78e847";
+      rev = "8202c97c1fee0f8215f86b0fda1845ca17db3612";
+      sha256 = "b419d34771f4f4be56fe66ba4cbf690fb5a337e317a927e70e65be3f1ddd55ef";
     };
     dependencies = [
       sources."@babel/code-frame-7.5.5"
       sources."@babel/highlight-7.5.0"
-      sources."@slack/logger-1.1.0"
+      sources."@slack/logger-1.1.1"
       (sources."@slack/rtm-api-5.0.3" // {
         dependencies = [
           sources."p-queue-2.4.2"
         ];
       })
-      sources."@slack/types-1.2.1"
-      (sources."@slack/web-api-5.2.1" // {
+      sources."@slack/types-1.3.0"
+      (sources."@slack/web-api-5.6.0" // {
         dependencies = [
           sources."p-queue-2.4.2"
         ];
       })
       sources."@types/body-parser-1.17.1"
       sources."@types/caseless-0.12.2"
-      sources."@types/chai-4.2.3"
+      sources."@types/chai-4.2.6"
       sources."@types/connect-3.4.32"
       sources."@types/events-3.0.0"
-      sources."@types/express-4.17.1"
-      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/express-4.17.2"
+      sources."@types/express-serve-static-core-4.17.0"
       sources."@types/is-stream-1.1.0"
       sources."@types/mime-2.0.1"
       sources."@types/mocha-5.2.7"
       sources."@types/nedb-1.8.9"
-      sources."@types/node-12.7.11"
+      sources."@types/node-12.12.14"
       sources."@types/node-emoji-1.8.1"
       sources."@types/p-queue-2.3.2"
       sources."@types/randomstring-1.1.6"
@@ -3256,8 +3256,8 @@ in
       sources."@types/request-promise-native-1.0.17"
       sources."@types/retry-0.12.0"
       sources."@types/serve-static-1.13.3"
-      sources."@types/tough-cookie-2.3.5"
-      sources."@types/uuid-3.4.5"
+      sources."@types/tough-cookie-2.3.6"
+      sources."@types/uuid-3.4.6"
       sources."@types/ws-5.1.2"
       sources."@types/yargs-13.0.3"
       sources."@types/yargs-parser-13.1.0"
@@ -3269,7 +3269,7 @@ in
       sources."ansi-colors-3.2.3"
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
-      sources."arg-4.1.1"
+      sources."arg-4.1.2"
       sources."argparse-1.0.10"
       sources."array-flatten-1.1.1"
       sources."array-uniq-1.0.2"
@@ -3281,7 +3281,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
+      sources."aws4-1.9.0"
       sources."axios-0.18.1"
       sources."babel-runtime-6.26.0"
       sources."balanced-match-1.0.0"
@@ -3322,13 +3322,13 @@ in
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.1"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.9"
+      sources."core-js-2.6.10"
       sources."core-util-is-1.0.2"
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
@@ -3347,8 +3347,8 @@ in
       sources."enabled-1.0.2"
       sources."encodeurl-1.0.2"
       sources."env-variable-0.0.5"
-      sources."es-abstract-1.15.0"
-      sources."es-to-primitive-1.2.0"
+      sources."es-abstract-1.16.3"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-2.0.0"
       sources."esprima-4.0.1"
@@ -3393,7 +3393,7 @@ in
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.0"
+      sources."has-symbols-1.0.1"
       sources."he-1.2.0"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
@@ -3412,7 +3412,7 @@ in
       sources."is-property-1.0.2"
       sources."is-regex-1.0.4"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.2"
+      sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
@@ -3437,22 +3437,22 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."loglevel-1.6.1"
+      sources."loglevel-1.6.6"
       sources."make-error-1.3.5"
       sources."manakin-0.5.2"
-      sources."matrix-appservice-0.3.5"
-      sources."matrix-appservice-bridge-1.10.3"
-      (sources."matrix-js-sdk-2.4.1" // {
+      sources."matrix-appservice-0.4.1"
+      sources."matrix-appservice-bridge-1.11.1"
+      (sources."matrix-js-sdk-2.4.5" // {
         dependencies = [
-          sources."bluebird-3.7.0"
+          sources."bluebird-3.5.5"
         ];
       })
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       (sources."mkdirp-0.5.1" // {
@@ -3460,7 +3460,7 @@ in
           sources."minimist-0.0.8"
         ];
       })
-      (sources."mocha-6.2.1" // {
+      (sources."mocha-6.2.2" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."escape-string-regexp-1.0.5"
@@ -3486,7 +3486,7 @@ in
       sources."nopt-3.0.6"
       sources."oauth-sign-0.9.0"
       sources."object-hash-1.3.1"
-      sources."object-inspect-1.6.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
       sources."object.getownpropertydescriptors-2.0.3"
@@ -3498,12 +3498,12 @@ in
       sources."p-finally-1.0.0"
       sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
-      (sources."p-queue-6.1.1" // {
+      (sources."p-queue-6.2.1" // {
         dependencies = [
           sources."eventemitter3-4.0.0"
         ];
       })
-      sources."p-retry-4.1.0"
+      sources."p-retry-4.2.0"
       sources."p-timeout-3.2.0"
       sources."p-try-2.2.0"
       sources."packet-reader-1.0.0"
@@ -3519,7 +3519,7 @@ in
       sources."pg-int8-1.0.1"
       sources."pg-minify-1.5.1"
       sources."pg-pool-2.0.7"
-      sources."pg-promise-9.3.3"
+      sources."pg-promise-9.3.6"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.2"
       sources."postgres-array-2.0.0"
@@ -3529,7 +3529,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."prom-client-11.5.3"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.4.0"
+      sources."psl-1.6.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."quick-lru-4.0.1"
@@ -3544,11 +3544,11 @@ in
           sources."qs-6.5.2"
         ];
       })
-      sources."request-promise-core-1.1.2"
-      sources."request-promise-native-1.0.7"
+      sources."request-promise-core-1.1.3"
+      sources."request-promise-native-1.0.8"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.12.0"
+      sources."resolve-1.13.1"
       sources."retry-0.12.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -3568,7 +3568,7 @@ in
       sources."setprototypeof-1.1.1"
       sources."simple-swizzle-0.2.2"
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.13"
+      sources."source-map-support-0.5.16"
       sources."spex-3.0.0"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
@@ -3597,13 +3597,13 @@ in
         ];
       })
       sources."triple-beam-1.3.0"
-      (sources."ts-node-8.4.1" // {
+      (sources."ts-node-8.5.4" // {
         dependencies = [
           sources."diff-4.0.1"
         ];
       })
       sources."tslib-1.10.0"
-      (sources."tslint-5.20.0" // {
+      (sources."tslint-5.20.1" // {
         dependencies = [
           sources."diff-4.0.1"
           sources."semver-5.7.1"
@@ -3614,9 +3614,9 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-detect-4.0.8"
       sources."type-is-1.6.18"
-      sources."typescript-3.6.3"
+      sources."typescript-3.7.3"
       sources."underscore-1.4.4"
-      sources."unhomoglyph-1.0.2"
+      sources."unhomoglyph-1.0.3"
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
       sources."util-deprecate-1.0.2"
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
index 72d259f26ce..87dada8f027 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
@@ -1,3 +1,3 @@
 [
-    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.1" }
+    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.0.2" }
 ]
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index 415609e77c2..e27e8bef6e8 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -5,6 +5,7 @@ with python3.pkgs;
 buildPythonPackage rec {
   pname = "mautrix-telegram";
   version = "0.6.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -16,12 +17,17 @@ buildPythonPackage rec {
       url = https://github.com/tulir/mautrix-telegram/commit/be6d395ed66d86ec7f13a262f9ae37731987019c.patch;
       sha256 = "1q69ip17r45yhyrxr0pj8bvqj2grw2l39wak8pi5pm7qrxra93j2";
     })
+    # bump dependencies, remove on next bump
+    (fetchpatch {
+      url = "https://github.com/tulir/mautrix-telegram/commit/cdee0df5ab9e04d6831e34590959496061c6621c.patch";
+      sha256 = "0sbfaais0jgg305dcjg9hn8b975ymdivvhmlzsxm1nm2ksa4c0v1";
+    })
   ];
 
-  disabled = pythonOlder "3.6";
-
   postPatch = ''
     sed -i -e '/alembic>/d' setup.py
+    substituteInPlace setup.py \
+      --replace "telethon>=1.9,<1.10" "telethon~=1.9"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch b/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
new file mode 100644
index 00000000000..e1fd5f4725b
--- /dev/null
+++ b/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
@@ -0,0 +1,46 @@
+From e9b9d97074ab811747792ef86f3d195709b65751 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 29 Nov 2019 16:27:15 +0100
+Subject: [PATCH] Add missing go dependencies to go.sum
+
+Generated by running `go build` locally. Otherwise some dependencies are
+missing when building with `buildGoModule` in Nix as it tries to fetch
+the packages during compilation and fails with the following error:
+
+```
+verifying maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: Get https://sum.golang.org/lookup/maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:44681->[::1]:53: read: connection refused
+builder for '/nix/store/qxpy80j6y4gl1h6hplsznml1ffrca6az-mautrix-whatsapp-unstable-2019-11-17.drv' failed with exit code 1
+```
+---
+ go.sum | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/go.sum b/go.sum
+index f638f9a..ab7e907 100644
+--- a/go.sum
++++ b/go.sum
+@@ -45,6 +45,7 @@ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5 h1:0pUczFGOo4s
+ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba h1:exEcedSHn0qEZ1iwNwFF5brEuflhMScjFyyzmxUA+og=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
++github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9 h1:WyLOadcpkAvoyaGfUvBgj/mTHetzliBGFioEEtM+Ac8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9/go.mod h1:ustkccVUt0hOuKikjFb6b4Eray6At5djkcKYYu4+Lco=
+ golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
+@@ -73,6 +74,7 @@ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3 h1:oVabjOi2r
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2 h1:0iVxLLAOSBqtJqhIjW9EbblMsaSYoCJRo5mHPZnytUk=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
++maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d h1:lfEHd6diaoKLdZvVNcmBF9kD667xWw+x7iXlvfpEd00=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548 h1:ni1nqs+2AOO+g1ND6f2W0pMcb6sIDVqzerXosO+pI2g=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548/go.mod h1:yVWU0gvIHIXClgyVnShiufiDksFbFrBqHG9lDAYcmGI=
+@@ -86,4 +88,5 @@ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c h
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be h1:sSBx9AGR4iYHRFwljqNwxXFtbY2bKLJHgI9B4whAU8I=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
++maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163 h1:+tWThOHlyIW2VITR4A05wuhixu0AH8iZZ/Ha7AwkAys=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163/go.mod h1:ST7YYCoHtFC4c7/Iga8W5wwKXyxjwVh4DlsnyIU6rYw=
+-- 
+2.23.0
+
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index cdce369bbf9..892f797a00e 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -1,17 +1,19 @@
 { stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule {
-  pname = "mautrix-unstable";
-  version = "2019-09-03";
+  pname = "mautrix-whatsapp-unstable";
+  version = "2019-11-17";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-whatsapp";
-    rev = "22fb5c125db1a0a3a8be8e8e09e92bb38718e6bf";
-    sha256 = "03wd6mn9jr1hr3qxg1r707ibi1s9511y97bfrmzka4mrsymgamxa";
+    rev = "0fba1db6aa88a95ff567f44aa9be7ce6ef24787f";
+    sha256 = "07cgpvicr6n897myx86mlnx7bydsxnf51lnjbv9dl5yyii73f957";
   };
 
-  modSha256 = "14bqxx2hcr8yhcd5hi087pyc1hzqmr13p2fqb3nnsx12j7n07gww";
+  patches = [ ./0001-Add-missing-go-dependencies-to-go.sum.patch ];
+
+  modSha256 = "0y0im3dz5z3rcsmnxkk0l6xqwcyxb0bi9h4arw7zblfy16iw6vrr";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tulir/mautrix-whatsapp;
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 9e7550a7171..dfb3ac2cfa2 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.19";
+  version = "1.5.20";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "1q2bb858iwc1jncav5vfl8c7dic9r1wqni5724qmy8ads6idmp1x";
+    sha256 = "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 5babc638e26..5c0fa2886dc 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.33.2";
+  version = "0.33.6";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "0sbh3xc4scp3qflnd0v7bd224w43rby20nzxb7xn2c80jwninnnl";
+    sha256 = "1q5d323fzfvlc12v1g0mahlcz2sjii3k7cc6qg8q4q8yl0vg5c9k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix
index 6f9c22ebecf..c2f0ffa59b9 100644
--- a/pkgs/servers/meteor/default.nix
+++ b/pkgs/servers/meteor/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, zlib, patchelf, runtimeShell }:
 
 let
-  version = "1.8.1";
+  version = "1.8.2";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   pname = "meteor";
   src = fetchurl {
     url = "https://static-meteor.netdna-ssl.com/packages-bootstrap/${version}/meteor-bootstrap-os.linux.x86_64.tar.gz";
-    sha256 = "1ql58j2d1pqhzpj7c9a6zrpmxxfmlgx743q7lw7g35vz2mpq34c6";
+    sha256 = "1pydmwx1yjbw54qfq7ndw2l3i3v302bvasvf71x4y9572r2p99mp";
   };
 
   #dontStrip = true;
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 96f09c2f82a..dd06c358358 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "miniflux";
-  version = "2.0.18";
+  version = "2.0.19";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0480f4481qf47l3l79f4gxhgfzzhfapjvl18kw9qjj3rzqn9xyj4";
+    sha256 = "121qy1af1qbc09c3yfwhpk6r3hwmh3jg6gjx8ygfv3hfrss9yfll";
   };
 
   goPackagePath = "miniflux.app";
diff --git a/pkgs/servers/misc/airsonic/default.nix b/pkgs/servers/misc/airsonic/default.nix
index 9b39723f843..d8501878435 100644
--- a/pkgs/servers/misc/airsonic/default.nix
+++ b/pkgs/servers/misc/airsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "airsonic";
-  version = "10.4.1";
+  version = "10.5.0";
 
   src = fetchurl {
     url = "https://github.com/airsonic/airsonic/releases/download/v${version}/airsonic.war";
-    sha256 = "18vm59x8pcgsyf3kl8ndvdszwf62df9vsqzv5jgbzayb3s0yjghx";
+    sha256 = "0nja33x3qh8zylqc7dn6x8j1wyxf7pzf9vdg9rzaq1hl6mi573jq";
   };
 
   buildCommand = ''
diff --git a/pkgs/servers/misc/qremotecontrol-server/default.nix b/pkgs/servers/misc/qremotecontrol-server/default.nix
new file mode 100644
index 00000000000..ddf69d10968
--- /dev/null
+++ b/pkgs/servers/misc/qremotecontrol-server/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchurl
+, qmake4Hook
+, qt4
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qremotecontrol-server";
+  version = "2.4.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/qrc/${version}/qremotecontrol-${version}.tar.bz2";
+    sha256 = "07hzc9959a56b49jgmcv8ry8b9sppklvqs9kns3qjj3v9d22nbrp";
+  };
+
+  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ qt4 xorg.libXtst ];
+
+  postPatch = ''
+    substituteInPlace QRemoteControl-Server.pro \
+      --replace /usr $out
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fgaz ];
+    homepage = "https://qremote.org/";
+    downloadPage = "https://qremote.org/download.php#Download";
+    description = "Remote control your desktop from your mobile";
+    longDescription = ''
+      With QRemoteControl installed on your desktop you can easily control
+      your computer via WiFi from your mobile. By using the touch pad of your
+      Phone you can for example open the internet browser and navigate to
+      the pages you want to visit, use the music player or your media center
+      without being next to your PC or laptop. Summarizing QRemoteControl
+      allows you to do almost everything you would be able to do with a
+      mouse and a keyboard, but from a greater distance. To make these
+      replacements possible QRemoteControl offers you a touch pad, a
+      keyboard, multimedia keys and buttons for starting applications. Even
+      powering on the computer via Wake On Lan is supported.
+    '';
+  };
+}
+
diff --git a/pkgs/servers/misc/subsonic/default.nix b/pkgs/servers/misc/subsonic/default.nix
index be5188f177a..a7041fc57d0 100644
--- a/pkgs/servers/misc/subsonic/default.nix
+++ b/pkgs/servers/misc/subsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "subsonic";
-  version = "6.1.5";
+  version = "6.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/subsonic/subsonic-${version}-standalone.tar.gz";
-    sha256 = "1xz3flxd5hxcvvg1izzxpv5rxwb5zprk92vsgvmcniy7j7r66936";
+    sha256 = "180qdk8mnc147az8v9rmc1kgf8b13mmq88l195gjdwiqpflqzdyz";
   };
 
   inherit jre;
diff --git a/pkgs/servers/monitoring/alertmanager-bot/default.nix b/pkgs/servers/monitoring/alertmanager-bot/default.nix
new file mode 100644
index 00000000000..8677a8d03f2
--- /dev/null
+++ b/pkgs/servers/monitoring/alertmanager-bot/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "alertmanager-bot";
+  version = "0.4.0";
+
+  goPackagePath = "github.com/metalmatze/alertmanager-bot";
+
+  src = fetchFromGitHub {
+    owner = "metalmatze";
+    repo = pname;
+    rev = version;
+    sha256 = "10v0fxxcs5s6zmqindr30plyw7p2yg0a64rdw1b2cj2mc1m3byx3";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Bot for Prometheus' Alertmanager";
+    homepage = "https://github.com/metalmatze/alertmanager-bot";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mmahut ];
+  };
+}
diff --git a/pkgs/servers/monitoring/alertmanager-bot/deps.nix b/pkgs/servers/monitoring/alertmanager-bot/deps.nix
new file mode 100644
index 00000000000..51e98ccbc93
--- /dev/null
+++ b/pkgs/servers/monitoring/alertmanager-bot/deps.nix
@@ -0,0 +1,948 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/DataDog/datadog-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/DataDog/datadog-go";
+      rev = "0ddda6bee211";
+      sha256 = "07ap1qhz8vwdypmlny5gxnc191c0qbm6acacs30m1d4p22x6wxip";
+    };
+  }
+  {
+    goPackagePath = "github.com/OneOfOne/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/OneOfOne/xxhash";
+      rev = "v1.2.5";
+      sha256 = "15ai4nzm8cv8nqs4xm5h6ghnms19c2sp8z0zpkc46rld6y7k0xky";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/circbuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/circbuf";
+      rev = "bbbad097214e";
+      sha256 = "1idpr0lzb2px2p3wgfq2276yl7jpaz43df6n91kf790404s4zmk3";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-metrics";
+      rev = "f0300d1749da";
+      sha256 = "13l7c35ps0r27vxfil2w0xhhc7w5rh00awvlmn4cz0a937b9ffpv";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "7fddfc383310";
+      sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.1";
+      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+    };
+  }
+  {
+    goPackagePath = "github.com/bgentry/speakeasy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bgentry/speakeasy";
+      rev = "v0.1.0";
+      sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/boltdb/bolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boltdb/bolt";
+      rev = "v1.3.1";
+      sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "v2.1.1";
+      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
+    };
+  }
+  {
+    goPackagePath = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev = "v1.0.0";
+      sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1";
+    };
+  }
+  {
+    goPackagePath = "github.com/circonus-labs/circonus-gometrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/circonus-labs/circonus-gometrics";
+      rev = "v2.0.0";
+      sha256 = "0d6cnswq28mjak7092vf89f9l0ga2ziwyamq9kdgfc7aavpwr6l9";
+    };
+  }
+  {
+    goPackagePath = "github.com/circonus-labs/circonusllhist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/circonus-labs/circonusllhist";
+      rev = "6e85b9352cf0";
+      sha256 = "182gry1clk12m34574qif7bx74qpxib2zv0mr5kv2j9hfq7f9m01";
+    };
+  }
+  {
+    goPackagePath = "github.com/creack/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/creack/pty";
+      rev = "v1.1.7";
+      sha256 = "1plwwlk1i9b80zv8zdplvv81shfyc9gf0flydnydsh5sr3ib5vrc";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/libkv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/libkv";
+      rev = "v0.2.1";
+      sha256 = "0blq7kxjy1bvm3j5q4i6csnc4i88c1wvj4gjvxbqfk3sny73gjkr";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-stack/stack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.1.1";
+      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev = "4030bb1f1f0c";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.1";
+      sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev = "v1.0.0";
+      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
+    };
+  }
+  {
+    goPackagePath = "github.com/hako/durafmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hako/durafmt";
+      rev = "ea3ab126a649";
+      sha256 = "1niq0v6av5vsn4rizfda4zq922jvavig5b0qg9g0gyz6cj62rjzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/consul";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/consul";
+      rev = "v1.4.5";
+      sha256 = "0gpg3cbpsmzcaab3scqhpzz57892s95hwq5z0l9bq7qqm6iqfr9d";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-cleanhttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-cleanhttp";
+      rev = "3573b8b52aa7";
+      sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-immutable-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-immutable-radix";
+      rev = "v1.0.0";
+      sha256 = "1v3nmsnk1s8bzpclrhirz7iq0g5xxbw9q5gvrg9ss6w9crs72qr6";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-msgpack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-msgpack";
+      rev = "v0.5.5";
+      sha256 = "0fqmfx3dxnvb0d23cpn2xpd067pibwlchdc58ln8w6lznzrbzaan";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-retryablehttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-retryablehttp";
+      rev = "794af36148bf";
+      sha256 = "1686d4qav0ayj3f5881w3kd9pz4fxsmknfqwccbj9yklxm3khvp4";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-rootcerts";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-rootcerts";
+      rev = "v1.0.1";
+      sha256 = "0ca5h7vlvrghf24dzh8l6w5px293n173qxfkjxb9kgsl6hsrsl3y";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-sockaddr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-sockaddr";
+      rev = "v1.0.2";
+      sha256 = "0y106nhd3s63lj7h7k21iq0br97h0z9qjrvx028zqcsq9407k9is";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-syslog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-syslog";
+      rev = "v1.0.0";
+      sha256 = "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-uuid";
+      rev = "v1.0.1";
+      sha256 = "0jvb88m0rq41bwgirsadgw7mnayl27av3gd2vqa3xvxp3fy0hp5k";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.3";
+      sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/logutils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/logutils";
+      rev = "v1.0.0";
+      sha256 = "076wf4sh5p3f953ndqk1cc0x7jhmlqrxak9953rz79rcdw77rjvv";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/mdns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/mdns";
+      rev = "v1.0.1";
+      sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/memberlist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/memberlist";
+      rev = "v0.1.4";
+      sha256 = "0l9qx8j7mm00ia6m41zbn39z7p77jjf95zph2nw8j2vihm56q9ql";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/serf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/serf";
+      rev = "v0.8.3";
+      sha256 = "0isaq2m08rpwvlzd72gvy3caapkrzgr9cwizl99ainsjgj2nkds9";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/uuid";
+      rev = "ebb0a03e909c";
+      sha256 = "0bzqr8y81h96cw299lhc5nxi9203a7xpd7csjsm6rh4k1bx4hdlf";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/yamux";
+      rev = "f5742cb6b856";
+      sha256 = "1k9b399ljsp443s1v69c1m5jqdiw1998ryz4b4lh86nkz775ws5s";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/joho/godotenv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/joho/godotenv";
+      rev = "v1.3.0";
+      sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.7";
+      sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    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";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.8";
+      sha256 = "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/kylelemons/godebug";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kylelemons/godebug";
+      rev = "v1.1.0";
+      sha256 = "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.0.9";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.9";
+      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "v1.0.15";
+      sha256 = "051f51fyrsnj69j9ni9j72acqnrvvzqda4l831ijffy5h5jdl8f2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/cli";
+      rev = "v1.0.0";
+      sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-testing-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-testing-interface";
+      rev = "v1.0.0";
+      sha256 = "1dl2js8di858bawg7dadlf1qjpkl2g3apziihjyf5imri3znyfpw";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-wordwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-wordwrap";
+      rev = "v1.0.0";
+      sha256 = "1jffbwcr3nnq6c12c5856bwzv2nxjzqk3jwgvxkwi1xhpd2by0bf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/hashstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/hashstructure";
+      rev = "2bca23e0e452";
+      sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "d0303fe80992";
+      sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/oklog/run";
+    fetch = {
+      type = "git";
+      url = "https://github.com/oklog/run";
+      rev = "v1.0.0";
+      sha256 = "1pbjza4claaj95fpqvvfrysvs10y7dm0pl6qr5lzh6qy1vnhmcgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.6.0";
+      sha256 = "0x0gc89vgq38xhgmi2h22bhr73cf2gmk42g89nz89k8dgg9hhr25";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.4.3";
+      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+    };
+  }
+  {
+    goPackagePath = "github.com/pascaldekloe/goe";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pascaldekloe/goe";
+      rev = "v0.1.0";
+      sha256 = "1dqd3mfb4z2vmv6pg6fhgvfc53vhndk24wcl9lj1rz02n6m279fq";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/posener/complete";
+    fetch = {
+      type = "git";
+      url = "https://github.com/posener/complete";
+      rev = "v1.1.2";
+      sha256 = "02xrnfkk9r2jarna8jqfkksrn469jdap716037zq84waq3d5xk3l";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/alertmanager";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/alertmanager";
+      rev = "v0.9.1";
+      sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v0.9.4";
+      sha256 = "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/satori/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satori/go.uuid";
+      rev = "v1.1.0";
+      sha256 = "1nbydsmjr60904kz5d46nib0zid5kcv4gk9wayi44gn5wlzz80zp";
+    };
+  }
+  {
+    goPackagePath = "github.com/sean-/seed";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sean-/seed";
+      rev = "e2103e2c3529";
+      sha256 = "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "v1.1.0";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/tucnak/telebot";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tucnak/telebot";
+      rev = "00cebf376d79";
+      sha256 = "0yay3h7gp6yag8jbapbq10vhmszad7svn68nnq5yp6pl1hmykzd6";
+    };
+  }
+  {
+    goPackagePath = "github.com/weaveworks/mesh";
+    fetch = {
+      type = "git";
+      url = "https://github.com/weaveworks/mesh";
+      rev = "f74318fb713b";
+      sha256 = "093j5i7wrkq1g92xaprd0rlfv9i74381wns4941bhbp6x6ahdcz7";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "45a5f77698d3";
+      sha256 = "0636jjj89wkzqchajwwzgcn4aafc334p70nawh9jzavg2mkx0ch4";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "891ebc4b82d6";
+      sha256 = "1rgw5gl2lc6bkmsx0fak84s6zdc1bhzfxgqg4mg4yh5hlnhpwrki";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "37e7f081c4d4";
+      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.1.0";
+      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/airbrake/gobrake.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/airbrake/gobrake.v2";
+      rev = "v2.0.9";
+      sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+      rev = "v2.1.2";
+      sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/vmihailenco/msgpack.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/vmihailenco/msgpack.v2";
+      rev = "v2.9.1";
+      sha256 = "0ah9j7i97ifyqhiscq8d43gcrhksb3bx83s2p1nyfi1bxw78jwfi";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index 029d8700956..aa4db2239f0 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -1,32 +1,21 @@
-{ stdenv, go, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   pname = "cadvisor";
-  version = "0.34.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "1hshmhsclja50ja2jqxx2f5lcvbs64n6aw6dw28wbnq3z9v0q8ad";
+    sha256 = "1652yf2a4ng9z0jq8q6jnzh6svj5nwar9j8q7sssgy36bi03ixqa";
   };
 
-  nativeBuildInputs = [ go ];
+  goPackagePath = "github.com/google/cadvisor";
 
-  buildPhase = ''
-    export GOCACHE="$TMPDIR/go-cache"
-    mkdir -p Godeps/_workspace/src/github.com/google/
-    ln -s $(pwd) Godeps/_workspace/src/github.com/google/cadvisor
-    GOPATH=$(pwd)/Godeps/_workspace go build -v -o cadvisor -ldflags="-s -w -X github.com/google/cadvisor/version.Version=${version}" github.com/google/cadvisor
-  '';
+  subPackages = [ "." ];
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 -t $out/bin cadvisor
-
-    runHook postInstall
-  '';
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/google/cadvisor/version.Version=${version}" ];
 
   meta = with stdenv.lib; {
     description = "Analyzes resource usage and performance characteristics of running docker containers";
diff --git a/pkgs/servers/monitoring/consul-alerts/default.nix b/pkgs/servers/monitoring/consul-alerts/default.nix
index 707d0129f70..cafccfeb8f2 100644
--- a/pkgs/servers/monitoring/consul-alerts/default.nix
+++ b/pkgs/servers/monitoring/consul-alerts/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "consul-alerts";
-  version = "0.5.0";
+  version = "0.6.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/AcalephStorage/consul-alerts";
@@ -13,7 +13,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "AcalephStorage";
     repo = "consul-alerts";
-    sha256 = "0dff2cpk3lkgjsh97rvlrpacpka0kwm29691diyvj7lb9ydzlx3r";
+    sha256 = "0836zicv76sd6ljhbbii1mrzh65pch10w3gfa128iynaviksbgn5";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index fa414fec843..787c7b1d463 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.4.3";
+  version = "6.5.2";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0150s14yjgshncs94xf42yrz7awvw2x91j0j9v23fypqmlch2p3m";
+    sha256 = "1hplnb8rv2sxai05qf6il5kza08bkhcawvymr2h9lfdsj7p4kbzy";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "0gr9m05h8qx3g0818b0qf1w26pdir3c5ydgi9zwdhjkppsq14dq2";
+    sha256 = "1fnj41lp9b53iyjgis5x8k3g5vl73fdrxsdxnf10d4ma95cwb2qa";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 96e583942dd..895621d4cba 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "0.4.0";
+  version = "1.2.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,22 +11,22 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "1anwq5dbh29dma18hnialbb253ciazzxmnqvympbh29ricldcf8p";
+    sha256 = "04ix58gb9yy5jf8fhn3k1pbwqs69k7m96cck38ymhwml1793b4k9";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ systemd.dev ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd.dev ];
 
-  preFixup = ''
+  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
     wrapProgram $bin/bin/promtail \
       --prefix LD_LIBRARY_PATH : "${systemd.lib}/lib"
   '';
 
   meta = with stdenv.lib; {
-    description = "Like Prometheus, but for logs.";
+    description = "Like Prometheus, but for logs";
     license = licenses.asl20;
-    homepage = "https://grafana.com/loki";
-    maintainers = with maintainers; [ willibutz globin ];
-    platforms = platforms.linux;
+    homepage = "https://grafana.com/oss/loki/";
+    maintainers = with maintainers; [ willibutz globin mmahut ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 2bbab30d9ec..ed2abbc7fc8 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, file, openssl, perl, perlPackages, unzip, nettools, ncurses }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo
+, file, openssl, perl, perlPackages, unzip, nettools, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "net-snmp-5.8";
@@ -19,6 +20,8 @@ stdenv.mkDerivation rec {
     ./0002-autoconf-version.patch
   ];
 
+  outputs = [ "bin" "out" "dev" "lib" ];
+
   configureFlags =
     [ "--with-default-snmp-version=3"
       "--with-sys-location=Unknown"
@@ -34,17 +37,21 @@ stdenv.mkDerivation rec {
     substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat"
   '';
 
-  nativeBuildInputs = [ autoreconfHook nettools ];
-  buildInputs = [ file perl unzip openssl ncurses ];
-  propagatedBuildInputs = with perlPackages; [ perl JSON Tk TermReadKey ];
+  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo ];
+  buildInputs = with perlPackages; [ file perl unzip openssl ncurses JSON Tk TermReadKey ];
 
   enableParallelBuilding = true;
   doCheck = false;  # tries to use networking
 
   postInstall = ''
-    for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
+    for f in "$lib/lib/"*.la $bin/bin/net-snmp-config $bin/bin/net-snmp-create-v3-user; do
       sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f
     done
+    mkdir $dev/bin
+    mv $bin/bin/net-snmp-config $dev/bin
+    # libraries contain configure options
+    find $lib/lib -type f -exec remove-references-to -t $bin '{}' +
+    find $lib/lib -type f -exec remove-references-to -t $dev '{}' +
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix
index 62f40b59d37..887256c85af 100644
--- a/pkgs/servers/monitoring/plugins/default.nix
+++ b/pkgs/servers/monitoring/plugins/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, autoreconfHook
-, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl
+, coreutils, gnugrep, gnused, lm_sensors, net-snmp, openssh, openssl, perl
 , dnsutils, libdbi, libmysqlclient, zlib, openldap, procps
 , runtimeShell }:
 
@@ -9,7 +9,7 @@ let
   majorVersion = "2.2";
   minorVersion = ".0";
 
-  binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net_snmp procps ];
+  binPath = makeBinPath [ coreutils gnugrep gnused lm_sensors net-snmp procps ];
 
 in stdenv.mkDerivation {
   name = "monitoring-plugins-${majorVersion}${minorVersion}";
@@ -48,7 +48,7 @@ in stdenv.mkDerivation {
   '';
 
   # !!! make openssh a runtime dependency only
-  buildInputs = [ dnsutils libdbi libmysqlclient net_snmp openldap openssh openssl perl procps zlib ];
+  buildInputs = [ dnsutils libdbi libmysqlclient net-snmp openldap openssh openssl perl procps zlib ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index e15dce8ae45..b44ebd35e9a 100644
--- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "blackbox_exporter";
-  version = "0.15.1";
+  version = "0.16.0";
   rev = version;
 
   goPackagePath = "github.com/prometheus/blackbox_exporter";
@@ -11,10 +11,11 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "prometheus";
     repo = "blackbox_exporter";
-    sha256 = "14z4xkkh9jb6ylclzsyj6gyqrb67lxs5cxd7lrs70qli567gzqwc";
+    sha256 = "1zbf3ljasv0r91rrmk3mj5nhimaf7xg3aih1ldz27rh5yww7gyzg";
   };
 
-  doCheck = true;
+  # dns-lookup is performed for the tests
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP";
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 86bd7f9d518..d772d9935bc 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,28 +1,56 @@
-{ lib, go, buildGoPackage, fetchFromGitHub }:
+{ lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage }:
 
-buildGoPackage rec {
-  pname = "prometheus";
-  version = "2.13.1";
-
-  goPackagePath = "github.com/prometheus/prometheus";
+let
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "prometheus";
-    sha256 = "055qliv683b87dwj7pkprdpjgyp6s4s3cwvpbsl1gxidhlr4y69b";
+    sha256 = "0zmxj78h3cnqbhsqab940hyzpim5i9r81b15a57f3dnrrd10p287";
   };
 
+  webui = mkYarnPackage {
+    src = "${src}/web/ui/react-app";
+    packageJSON = ./webui-package.json;
+    yarnNix = ./webui-yarndeps.nix;
+
+    # The standard yarn2nix directory management causes build failures with
+    # Prometheus's webui due to using relative imports into node_modules. Use
+    # an extremely simplified version of it instead.
+    configurePhase = "ln -s $node_modules node_modules";
+    buildPhase = "PUBLIC_URL=. yarn build";
+    installPhase = "mv build $out";
+    distPhase = "true";
+  };
+in buildGoPackage rec {
+  pname = "prometheus";
+  inherit src version;
+
+  goPackagePath = "github.com/prometheus/prometheus";
+
+  postPatch = ''
+    ln -s ${webui.node_modules} web/ui/react-app/node_modules
+    ln -s ${webui} web/ui/static/react
+  '';
+
   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}
+  in [
+    "-tags=builtinassets"
+    ''
+      -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}
+    ''
+  ];
+
+  preBuild = ''
+    make -C go/src/${goPackagePath} assets
   '';
 
   preInstall = ''
@@ -31,6 +59,12 @@ buildGoPackage rec {
     cp -a $src/console_libraries $src/consoles $bin/etc/prometheus
   '';
 
+  # Disable module-mode, because Go 1.13 automatically enables it if there is
+  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
+  preCheck = ''
+    export GO111MODULE=off
+  '';
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
deleted file mode 100644
index dd3c1b4d4c2..00000000000
--- a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter-deps.nix
+++ /dev/null
@@ -1,138 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    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/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "1d3f30b51784bec5aad268e59fd3c2fc1c2fe73f";
-      sha256 = "1wx76776z48qd9pjnrydhj1f3k94qlbcj32ak6am7n7w2nda7sjx";
-    };
-  }
-  {
-    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/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "5beb9624161b94eaf384fed4bd8dc4235e4d80af";
-      sha256 = "1p9ypprs467g31v635zjqn1f2rq1y3r6xw47d29ifg9wfmrpmpc7";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "d2ead25884778582e740573999f7b07f47e171b4";
-      sha256 = "1zj7x16xw94jw5l3arajwwcr2f06j2a7z87zqbd6a1jjcsbjj3a5";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f";
-      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "2998b132700a7d019ff618c06a234b47c1f3f681";
-      sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "b1a0a9a36d7453ba0f62578b99712f3a6c5f82d1";
-      sha256 = "00jdvxvg9zy6gm5q1zp3j5kdcrrma46kqcm73pz8wpljlhbb9s8g";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "eef6b768ab01a0598a0a6db97bad2a37d31df1d1";
-      sha256 = "0h3fy7i08s9wm1nrv3164g68dwdy0493px6xhyms6y3vfnbq2n6m";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "ff983b9c42bc9fbf91556e191cc8efb585c16908";
-      sha256 = "1hpr06kzn8jnn3gvzp0p9zn4fz4l9h69f7x66idx142w4xdlaanz";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4c64e13b10787722085407fe5d15f";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "cb59ee3660675d463e86971646692ea3e470021c";
-      sha256 = "0xnhdhwg6xca41m1204yg3qc7ki6l5xzx5fkq25gsmf5sz6ylsnl";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-]
diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
index d1cb5dcec9c..c8013e6bc15 100644
--- a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
@@ -1,24 +1,22 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "dnsmasq_exporter";
-  version = "0.1.0";
-
-  goPackagePath = "github.com/google/dnsmasq_exporter";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "dnsmasq_exporter";
-    sha256 = "0pl4jkp0kssplv32wbg8yk06x9c2hidilpix32hdvk287l3ys201";
+    sha256 = "1i7imid981l0a9k8lqyr9igm3qkk92kid4xzadkwry4857k6mgpj";
     rev = "v${version}";
   };
 
-  goDeps = ./dnsmasq-exporter-deps.nix;
+  modSha256 = "1ag1k0z35zkazaxj8hh2wxfj73xg63xdybfm1565il2vxs5986dh";
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "A dnsmasq exporter for Prometheus";
     license = licenses.asl20;
-    maintainers = with maintainers; [ willibutz globin ];
+    maintainers = with maintainers; [ willibutz globin ma27 ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index cc527c29ac2..ce3ed9ab9d6 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx_exporter";
-  version = "0.4.2";
+  version = "0.5.0";
 
   goPackagePath = "github.com/nginxinc/nginx-prometheus-exporter";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
-    sha256 = "023nl83w0fic7sj0yxxgj7jchyafqnmv6dq35amzz37ikx92mdcj";
+    sha256 = "1fyn2bjq80dx4jv1rakrm0vg6i657a5rs7kkg0f9mbv1alir8kkx";
   };
 
   doCheck = true;
diff --git a/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix
new file mode 100644
index 00000000000..68bac5c560e
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "nginxlog_exporter";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "martin-helmich";
+    repo = "prometheus-nginxlog-exporter";
+    rev = "v${version}";
+    sha256 = "0cma6hgagqdms6x40v0q4jn8gjq1awyg1aqk5l8mz7l6k132qq7k";
+  };
+
+  goPackagePath = "github.com/martin-helmich/prometheus-nginxlog-exporter";
+
+  goDeps = ./nginxlog-exporter_deps.nix;
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Export metrics from Nginx access log files to Prometheus";
+    homepage = "https://github.com/martin-helmich/prometheus-nginxlog-exporter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mmahut ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix
new file mode 100644
index 00000000000..3051258a636
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix
@@ -0,0 +1,282 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "v1.0.0";
+      sha256 = "1m1k0jz9gjfrk4m7hjm7p03qmviamfgxwm2ghakqxw3hdds8v503";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3ac7bf7a47d1";
+      sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "0c1f6d65b5a1";
+      sha256 = "1ad3zv0s3swslfwmk0wry9qbjz596689z13f2s7d9gska6msigsl";
+    };
+  }
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/consul";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/consul";
+      rev = "de080672fee9";
+      sha256 = "1q46gn7gv7ara21akkbyzlnari4naxax2d0z917y56ra4lwm259i";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-msgpack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-msgpack";
+      rev = "v0.5.3";
+      sha256 = "00jv0ajqd58pkb2yyhlrjp0rv1mvb1ijx3yqjyikcmzvk9jb4h5m";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "5636dc67ae77";
+      sha256 = "0fb4w52zp0jk8218gwk4wgbhpj7d4hp6n00dvm8s0ajbysbx524d";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fa8ad6fec335";
+      sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "4402f4e5ea79";
+      sha256 = "1nskicw0k0kay9dqg8hw2clgcnvjfcz839rijvrz4wh7gl42qiag";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "abf152e5f3e9";
+      sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
+    };
+  }
+  {
+    goPackagePath = "github.com/satyrius/gonx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satyrius/gonx";
+      rev = "47c52b995fe5";
+      sha256 = "0f0b6ac9xlai168d32zas4v2afk5b2q1bs0qi3dykkk6lhq7b58m";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "200a235640ff";
+      sha256 = "08hgfwjs5zqwsx1z5ja15d0g4glprb3ck7dfi88kwv5q5fl1p139";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "c200b10b5d5e";
+      sha256 = "1f764m3q05q2dq1pdms07jcixw4xakqw46w1djrmbhjmd9q8b0av";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.4";
+      sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index 410687d0335..e8af00b277b 100644
--- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "postgres_exporter";
-  version = "0.7.0";
+  version = "0.8.0";
 
   goPackagePath = "github.com/wrouesnel/postgres_exporter";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "wrouesnel";
     repo = "postgres_exporter";
     rev = "v${version}";
-    sha256 = "0xi61090kmkp1cid3hx00csfa4w8nvaw8ky0w004czwqlyids6jg";
+    sha256 = "0mid2kvskab3a32jscygg5jh0741nr7dvxzj4v029yiiqcx55nrc";
   };
 
   doCheck = true;
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index dfa81d4da83..f3dfccee3bc 100644
--- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, net_snmp }:
+{ stdenv, buildGoPackage, fetchFromGitHub, net-snmp }:
 
 buildGoPackage rec {
   pname = "snmp_exporter";
@@ -13,7 +13,7 @@ buildGoPackage rec {
     sha256 = "1cnz1wapxs3fkghzy6v90s56vd0ngynypyapcpbmx5y66rlpdxx6";
   };
 
-  buildInputs = [ net_snmp ];
+  buildInputs = [ net-snmp ];
 
   doCheck = true;
 
diff --git a/pkgs/servers/monitoring/prometheus/update-webui-deps.sh b/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
new file mode 100755
index 00000000000..812f6d5d9cf
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../.. -i bash -p wget yarn2nix-moretea.yarn2nix
+
+# This script is based upon:
+# pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+        echo "Regenerates the Yarn dependency lock files for the prometheus package."
+        echo "Usage: $0 <git release tag>"
+        exit 1
+fi
+
+PROM_WEB_SRC="https://raw.githubusercontent.com/prometheus/prometheus/$1"
+
+wget "$PROM_WEB_SRC/web/ui/react-app/package.json" -O webui-package.json
+wget "$PROM_WEB_SRC/web/ui/react-app/yarn.lock" -O yarn.lock
+yarn2nix --lockfile=yarn.lock > webui-yarndeps.nix
+rm yarn.lock
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index a629a2a27e2..d7767567195 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "prometheus_varnish_exporter";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "jonnenauha";
     repo = "prometheus_varnish_exporter";
     rev = version;
-    sha256 = "1lvs44936n3s9z6c5169jbvx390n5g0qk4pcrmnkndg796ixjshd";
+    sha256 = "0rpabw6a6paavv62f0gzhax9brzcgkly27rhkf0ihw8736gkw8ar";
   };
 
   modSha256 = "0w1zg9jc2466srx9pdckw7rzn7ma4pbd0617b1h98v364wjzgj72";
diff --git a/pkgs/servers/monitoring/prometheus/webui-package.json b/pkgs/servers/monitoring/prometheus/webui-package.json
new file mode 100644
index 00000000000..1a96845d15e
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/webui-package.json
@@ -0,0 +1,96 @@
+{
+  "name": "graph",
+  "version": "0.1.0",
+  "private": true,
+  "dependencies": {
+    "@fortawesome/fontawesome-svg-core": "^1.2.14",
+    "@fortawesome/free-solid-svg-icons": "^5.7.1",
+    "@fortawesome/react-fontawesome": "^0.1.4",
+    "@reach/router": "^1.2.1",
+    "@testing-library/react-hooks": "^3.1.1",
+    "@types/jest": "^24.0.20",
+    "@types/jquery": "^3.3.29",
+    "@types/node": "^12.11.1",
+    "@types/reach__router": "^1.2.6",
+    "@types/react": "^16.8.2",
+    "@types/react-copy-to-clipboard": "^4.3.0",
+    "@types/react-dom": "^16.8.0",
+    "@types/react-resize-detector": "^4.0.2",
+    "@types/sanitize-html": "^1.20.2",
+    "bootstrap": "^4.2.1",
+    "downshift": "^3.2.2",
+    "enzyme-to-json": "^3.4.3",
+    "flot": "^3.2.13",
+    "fuzzy": "^0.1.3",
+    "i": "^0.3.6",
+    "jest-fetch-mock": "^2.1.2",
+    "jquery": "^3.3.1",
+    "jquery.flot.tooltip": "^0.9.0",
+    "jsdom": "^15.2.0",
+    "moment": "^2.24.0",
+    "moment-timezone": "^0.5.23",
+    "popper.js": "^1.14.3",
+    "react": "^16.7.0",
+    "react-copy-to-clipboard": "^5.0.1",
+    "react-dom": "^16.7.0",
+    "react-resize-detector": "^4.2.1",
+    "react-scripts": "^3.2.0",
+    "react-test-renderer": "^16.9.0",
+    "reactstrap": "^8.0.1",
+    "sanitize-html": "^1.20.1",
+    "tempusdominus-bootstrap-4": "^5.1.2",
+    "tempusdominus-core": "^5.0.3",
+    "typescript": "^3.3.3"
+  },
+  "scripts": {
+    "start": "react-scripts start",
+    "build": "react-scripts build",
+    "test": "react-scripts test",
+    "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
+    "eject": "react-scripts eject",
+    "lint:ci": "eslint --quiet \"src/**/*.{ts,tsx}\"",
+    "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
+  },
+  "prettier": {
+    "singleQuote": true,
+    "trailingComma": "es5",
+    "printWidth": 125
+  },
+  "browserslist": [
+    ">0.2%",
+    "not dead",
+    "not ie <= 11",
+    "not op_mini all"
+  ],
+  "devDependencies": {
+    "@types/enzyme": "^3.10.3",
+    "@types/enzyme-adapter-react-16": "^1.0.5",
+    "@types/flot": "0.0.31",
+    "@types/moment-timezone": "^0.5.10",
+    "@types/reactstrap": "^8.0.5",
+    "@types/sinon": "^7.5.0",
+    "@typescript-eslint/eslint-plugin": "2.x",
+    "@typescript-eslint/parser": "2.x",
+    "babel-eslint": "10.x",
+    "enzyme": "^3.10.0",
+    "enzyme-adapter-react-16": "^1.15.1",
+    "eslint": "6.x",
+    "eslint-config-prettier": "^6.4.0",
+    "eslint-config-react-app": "^5.0.2",
+    "eslint-plugin-flowtype": "3.x",
+    "eslint-plugin-import": "2.x",
+    "eslint-plugin-jsx-a11y": "6.x",
+    "eslint-plugin-prettier": "^3.1.1",
+    "eslint-plugin-react": "7.x",
+    "eslint-plugin-react-hooks": "1.x",
+    "jest-fetch-mock": "^2.1.2",
+    "prettier": "^1.18.2",
+    "sinon": "^7.5.0"
+  },
+  "proxy": "http://localhost:9090",
+  "jest": {
+    "snapshotSerializers": [
+      "enzyme-to-json/serializer"
+    ]
+  }
+}
diff --git a/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
new file mode 100644
index 00000000000..3cc45a2f691
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
@@ -0,0 +1,11885 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.5.5.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 = "_babel_core___core_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz";
+        sha1 = "9b00f73554edd67bebc86df8303ef678be3d7b48";
+      };
+    }
+    {
+      name = "_babel_core___core_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz";
+        sha1 = "6ebd9fe00925f6c3e177bb726a188b5f578088ff";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz";
+        sha1 = "a4f8437287bf9671b07f483b76e3bb731bc97671";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz";
+        sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz";
+        sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f";
+      };
+    }
+    {
+      name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
+        sha1 = "a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4";
+      };
+    }
+    {
+      name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
+        sha1 = "769711acca889be371e9bc2eb68641d55218021f";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz";
+        sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz";
+        sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha1 = "83572d4320e2a4657263734113c42868b64e49c3";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz";
+        sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz";
+        sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz";
+        sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz";
+        sha1 = "a2920c5702b073c15de51106200aa8cad20497d5";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz";
+        sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz";
+        sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz";
+        sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz";
+        sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha1 = "ff94894a340be78f53f06af038b205c49d993677";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz";
+        sha1 = "c4e0012445769e2815b55296ead43a958549f6fa";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha1 = "681ffe489ea4dcc55f23ce469e58e59c1c045153";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.5.0.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_parser___parser_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz";
+        sha1 = "cb9b36a7482110282d5cb6dd424ec9262b473d81";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz";
+        sha1 = "b289b306669dce4ad20b0252889a15768c9d417e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz";
+        sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz";
+        sha1 = "6659d2572a17d70abd68123e89a12a43d90aa30c";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz";
+        sha1 = "e532202db4838723691b10a67b8ce509e397c506";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz";
+        sha1 = "568ecc446c6148ae6b267f02551130891e29f317";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz";
+        sha1 = "61939744f71ba76a3ae46b5eea18a54c16d22e58";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz";
+        sha1 = "8ffccc8f3a6545e9f78988b6bf4fe881b88e8096";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz";
+        sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz";
+        sha1 = "05413762894f41bfe42b9a5e80919bd575dcc802";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz";
+        sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz";
+        sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz";
+        sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
+        sha1 = "a765f061f803bc48f240c26f8747faf97c26bf7c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz";
+        sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
+        sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz";
+        sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
+        sha1 = "a7cc3f66119a9f7ebe2de5383cce193473d65991";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz";
+        sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz";
+        sha1 = "89a3848a0166623b5bc481164b5936ab947e887e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz";
+        sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz";
+        sha1 = "6e854e51fbbaa84351b15d4ddafe342f3a5d542a";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz";
+        sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz";
+        sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
+        sha1 = "44bbe08b57f4480094d57d9ffbcd96d309075ba6";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz";
+        sha1 = "44abb948b88f0199a627024e1508acaf8dc9b2f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz";
+        sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz";
+        sha1 = "a63868289e5b4007f7054d46491af51435766008";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz";
+        sha1 = "d267a081f49a8705fc9146de0768c6b58dccd8f7";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha1 = "e1436116abb0610c2259094848754ac5230922ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz";
+        sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz";
+        sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz";
+        sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
+        sha1 = "39dfe957de4420445f1fcf88b68a2e4aa4515486";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz";
+        sha1 = "e75266a13ef94202db2a0620977756f51d52d249";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz";
+        sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz";
+        sha1 = "aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz";
+        sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz";
+        sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz";
+        sha1 = "9fc9ea060b983c7c035acbe481cbe1fb1245bfff";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz";
+        sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz";
+        sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz";
+        sha1 = "583b10c49cf057e237085bcbd8cc960bd83bd96b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
+        sha1 = "f2cab99026631c767e2745a5368b331cfe8f5290";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz";
+        sha1 = "629dc82512c55cee01341fb27bdfcb210354680f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz";
+        sha1 = "4792af87c998a49367597d07fedf02636d2e1634";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz";
+        sha1 = "85a3cce402b28586138e368fce20ab3019b9713e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz";
+        sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz";
+        sha1 = "fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz";
+        sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz";
+        sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz";
+        sha1 = "dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz";
+        sha1 = "b692aad888a7e8d8b1b214be6b9dc03d5031f698";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz";
+        sha1 = "aae4141c506100bb2bfaa4ac2a5c12b395619e50";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz";
+        sha1 = "9e1bf05a2e2d687036d24c40e4639dc46cef2271";
+      };
+    }
+    {
+      name = "_babel_preset_react___preset_react_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz";
+        sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0";
+      };
+    }
+    {
+      name = "_babel_preset_react___preset_react_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz";
+        sha1 = "d5242c828322520205ae4eda5d4f4f618964e2f6";
+      };
+    }
+    {
+      name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz";
+        sha1 = "25768cb8830280baf47c45ab1a519a9977498c98";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz";
+        sha1 = "4fc1d642a9fd0299754e8b5de62c631cf5568205";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz";
+        sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f";
+      };
+    }
+    {
+      name = "_babel_template___template_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz";
+        sha1 = "7f0159c7f5012230dad64cca42ec9bdb5c9536e6";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz";
+        sha1 = "66d7dba146b086703c0fb10dd588b7364cec47f9";
+      };
+    }
+    {
+      name = "_babel_types___types_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz";
+        sha1 = "3f07d96f854f98e2fbd45c64b0cb942d11e8ba09";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+      };
+    }
+    {
+      name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+      path = fetchurl {
+        name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz";
+        sha1 = "ad495dc41b12e75d588c6db8b9834f08fa131eb7";
+      };
+    }
+    {
+      name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+      path = fetchurl {
+        name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz";
+        sha1 = "c27b391d8457d1e893f1eddeaf5e5412d12ffbb5";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz";
+        sha1 = "6df015905081f2762e5cfddeb7a20d2e9b16c786";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz";
+        sha1 = "24b03391d14f0c6171e8cad7057c687b74049790";
+      };
+    }
+    {
+      name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+      path = fetchurl {
+        name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.11.2.tgz";
+        sha1 = "2f2f1459743a27902b76655a0d0bc5ec4d945631";
+      };
+    }
+    {
+      name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+      path = fetchurl {
+        name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz";
+        sha1 = "b798b96401e25d07c30bbe1b9ec0e6d8a33760a5";
+      };
+    }
+    {
+      name = "_hapi_address___address_2.1.2.tgz";
+      path = fetchurl {
+        name = "_hapi_address___address_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz";
+        sha1 = "1c794cd6dbf2354d1eb1ef10e0303f573e1c7222";
+      };
+    }
+    {
+      name = "_hapi_bourne___bourne_1.3.2.tgz";
+      path = fetchurl {
+        name = "_hapi_bourne___bourne_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha1 = "0a7095adea067243ce3283e1b56b8a8f453b242a";
+      };
+    }
+    {
+      name = "_hapi_hoek___hoek_8.3.1.tgz";
+      path = fetchurl {
+        name = "_hapi_hoek___hoek_8.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.1.tgz";
+        sha1 = "227d29efdb158e4a64590224add90c820f94d20e";
+      };
+    }
+    {
+      name = "_hapi_joi___joi_15.1.1.tgz";
+      path = fetchurl {
+        name = "_hapi_joi___joi_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz";
+        sha1 = "c675b8a71296f02833f8d6d243b34c57b8ce19d7";
+      };
+    }
+    {
+      name = "_hapi_topo___topo_3.1.6.tgz";
+      path = fetchurl {
+        name = "_hapi_topo___topo_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz";
+        sha1 = "68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29";
+      };
+    }
+    {
+      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 = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+      path = fetchurl {
+        name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha1 = "524af240d1a360527b730475ecfa1344aa540dde";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b";
+      };
+    }
+    {
+      name = "_reach_auto_id___auto_id_0.2.0.tgz";
+      path = fetchurl {
+        name = "_reach_auto_id___auto_id_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.2.0.tgz";
+        sha1 = "97f9e48fe736aa5c6f4f32cf73c1f19d005f8550";
+      };
+    }
+    {
+      name = "_reach_router___router_1.2.1.tgz";
+      path = fetchurl {
+        name = "_reach_router___router_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz";
+        sha1 = "34ae3541a5ac44fa7796e5506a5d7274a162be4e";
+      };
+    }
+    {
+      name = "_sinonjs_commons___commons_1.6.0.tgz";
+      path = fetchurl {
+        name = "_sinonjs_commons___commons_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.6.0.tgz";
+        sha1 = "ec7670432ae9c8eb710400d112c201a362d83393";
+      };
+    }
+    {
+      name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+      path = fetchurl {
+        name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz";
+        sha1 = "771c60dfa75ea7f2d68e3b94c7e888a78781372c";
+      };
+    }
+    {
+      name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+      path = fetchurl {
+        name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz";
+        sha1 = "46682efd9967b259b81136b9f120fd54585feb4a";
+      };
+    }
+    {
+      name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+      path = fetchurl {
+        name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz";
+        sha1 = "8da5c6530915653f3a1f38fd5f101d8c3f8079c5";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz";
+        sha1 = "dadcb6218503532d6884b210e7f3c502caaa44b1";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz";
+        sha1 = "297550b9a8c0c7337bea12bdfc8a80bb66f85abc";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz";
+        sha1 = "c196302f3e68eab6a05e98af9ca8570bc13131c7";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz";
+        sha1 = "310ec0775de808a6a2e4fd4268c245fd734c1165";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz";
+        sha1 = "2cdedd747e5b1b29ed4c241e46256aac8110dd93";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz";
+        sha1 = "9a94791c9a288108d20a9d2cc64cac820f141391";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz";
+        sha1 = "151487322843359a1ca86b21a3815fd21a88b717";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz";
+        sha1 = "5f1e2f886b2c85c67e76da42f0f6be1b1767b697";
+      };
+    }
+    {
+      name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz";
+        sha1 = "a75d8c2f202ac0e5774e6bfc165d028b39a1316c";
+      };
+    }
+    {
+      name = "_svgr_core___core_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_core___core_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz";
+        sha1 = "b37b89d5b757dc66e8c74156d00c368338d24293";
+      };
+    }
+    {
+      name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz";
+        sha1 = "1d5a082f7b929ef8f1f578950238f630e14532b8";
+      };
+    }
+    {
+      name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz";
+        sha1 = "e2ba913dbdfbe85252a34db101abc7ebd50992fa";
+      };
+    }
+    {
+      name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz";
+        sha1 = "daac0a3d872e3f55935c6588dd370336865e9e32";
+      };
+    }
+    {
+      name = "_svgr_webpack___webpack_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_webpack___webpack_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz";
+        sha1 = "319d4471c8f3d5c3af35059274834d9b5b8fb956";
+      };
+    }
+    {
+      name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+      path = fetchurl {
+        name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-3.1.1.tgz";
+        sha1 = "5c93e463c0252bea6ac237ec8d9c982c27d67208";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.3.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha1 = "e441ea7df63cd080dfcd02ab199e6d16a735fc30";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha1 = "f1ec1c104d1bb463556ecb724018ab788d0c172a";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha1 = "2496e9ff56196cc1429c72034e07eab6121b6f3f";
+      };
+    }
+    {
+      name = "_types_cheerio___cheerio_0.22.13.tgz";
+      path = fetchurl {
+        name = "_types_cheerio___cheerio_0.22.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.13.tgz";
+        sha1 = "5eecda091a24514185dcba99eda77e62bf6523e6";
+      };
+    }
+    {
+      name = "_types_domhandler___domhandler_2.4.1.tgz";
+      path = fetchurl {
+        name = "_types_domhandler___domhandler_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domhandler/-/domhandler-2.4.1.tgz";
+        sha1 = "7b3b347f7762180fbcb1ece1ce3dd0ebbb8c64cf";
+      };
+    }
+    {
+      name = "_types_domutils___domutils_1.7.2.tgz";
+      path = fetchurl {
+        name = "_types_domutils___domutils_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domutils/-/domutils-1.7.2.tgz";
+        sha1 = "89422e579c165994ad5c09ce90325da596cc105d";
+      };
+    }
+    {
+      name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+      path = fetchurl {
+        name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.5.tgz";
+        sha1 = "1bf30a166f49be69eeda4b81e3f24113c8b4e9d5";
+      };
+    }
+    {
+      name = "_types_enzyme___enzyme_3.10.3.tgz";
+      path = fetchurl {
+        name = "_types_enzyme___enzyme_3.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.3.tgz";
+        sha1 = "02b6c5ac7d0472005944a652e79045e2f6c66804";
+      };
+    }
+    {
+      name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha1 = "1ee30d79544ca84d68d4b3cdb0af4f205663dd2d";
+      };
+    }
+    {
+      name = "_types_flot___flot_0.0.31.tgz";
+      path = fetchurl {
+        name = "_types_flot___flot_0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/flot/-/flot-0.0.31.tgz";
+        sha1 = "0daca37c6c855b69a0a7e2e37dd0f84b3db8c8c1";
+      };
+    }
+    {
+      name = "_types_history___history_4.7.3.tgz";
+      path = fetchurl {
+        name = "_types_history___history_4.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz";
+        sha1 = "856c99cdc1551d22c22b18b5402719affec9839a";
+      };
+    }
+    {
+      name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "1e65ba81401d53f425c1e2ba5a3d05c90ab742c7";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha1 = "7a8cbf6a406f36c8add871625b278eaf0b0d255a";
+      };
+    }
+    {
+      name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+      path = fetchurl {
+        name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha1 = "35cc15b9c4f30a18ef21852e255fdb02f6d59b89";
+      };
+    }
+    {
+      name = "_types_jest___jest_24.0.20.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_24.0.20.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.20.tgz";
+        sha1 = "729d5fe8684e7fb06368d3bd557ac6d91289d861";
+      };
+    }
+    {
+      name = "_types_jquery___jquery_3.3.31.tgz";
+      path = fetchurl {
+        name = "_types_jquery___jquery_3.3.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.31.tgz";
+        sha1 = "27c706e4bf488474e1cb54a71d8303f37c93451b";
+      };
+    }
+    {
+      name = "_types_json_schema___json_schema_7.0.3.tgz";
+      path = fetchurl {
+        name = "_types_json_schema___json_schema_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz";
+        sha1 = "bdfd69d61e464dcc81b25159c270d75a73c1a636";
+      };
+    }
+    {
+      name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+      path = fetchurl {
+        name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/moment-timezone/-/moment-timezone-0.5.12.tgz";
+        sha1 = "0fb680c03db194fe8ff4551eaeb1eec8d3d80e9f";
+      };
+    }
+    {
+      name = "_types_node___node_12.11.1.tgz";
+      path = fetchurl {
+        name = "_types_node___node_12.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz";
+        sha1 = "1fd7b821f798b7fa29f667a1be8f3442bb8922a3";
+      };
+    }
+    {
+      name = "_types_prop_types___prop_types_15.7.3.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz";
+        sha1 = "2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7";
+      };
+    }
+    {
+      name = "_types_q___q_1.5.2.tgz";
+      path = fetchurl {
+        name = "_types_q___q_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
+        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+      };
+    }
+    {
+      name = "_types_reach__router___reach__router_1.2.6.tgz";
+      path = fetchurl {
+        name = "_types_reach__router___reach__router_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.6.tgz";
+        sha1 = "b14cf1adbd1a365d204bbf6605cd9dd7b8816c87";
+      };
+    }
+    {
+      name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+      path = fetchurl {
+        name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-4.3.0.tgz";
+        sha1 = "8e07becb4f11cfced4bd36038cb5bdf5c2658be5";
+      };
+    }
+    {
+      name = "_types_react_dom___react_dom_16.9.2.tgz";
+      path = fetchurl {
+        name = "_types_react_dom___react_dom_16.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz";
+        sha1 = "90f9e6c161850be1feb31d2f448121be2a4f3b47";
+      };
+    }
+    {
+      name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+      path = fetchurl {
+        name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-resize-detector/-/react-resize-detector-4.0.2.tgz";
+        sha1 = "5c046301a881fe9af741536e0dd4c34dfb155c6e";
+      };
+    }
+    {
+      name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+      path = fetchurl {
+        name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.9.1.tgz";
+        sha1 = "9d432c46c515ebe50c45fa92c6fb5acdc22e39c4";
+      };
+    }
+    {
+      name = "_types_react___react_16.9.9.tgz";
+      path = fetchurl {
+        name = "_types_react___react_16.9.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz";
+        sha1 = "a62c6f40f04bc7681be5e20975503a64fe783c3a";
+      };
+    }
+    {
+      name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+      path = fetchurl {
+        name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reactstrap/-/reactstrap-8.0.5.tgz";
+        sha1 = "6c6429bcfcc1d97d9a89bcb73a07bbb698bfe945";
+      };
+    }
+    {
+      name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+      path = fetchurl {
+        name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-1.20.2.tgz";
+        sha1 = "59777f79f015321334e3a9f28882f58c0a0d42b8";
+      };
+    }
+    {
+      name = "_types_sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "_types_sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "f5a10c27175465a0b001b68d8b9f761582967cc6";
+      };
+    }
+    {
+      name = "_types_sizzle___sizzle_2.3.2.tgz";
+      path = fetchurl {
+        name = "_types_sizzle___sizzle_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz";
+        sha1 = "a811b8c18e2babab7d542b3365887ae2e4d9de47";
+      };
+    }
+    {
+      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_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+      path = fetchurl {
+        name = "_types_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/testing-library__react-hooks/-/testing-library__react-hooks-2.0.0.tgz";
+        sha1 = "7b289d64945517ae8ba9cbcb0c5b282432aaeffa";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha1 = "c563aa192f39350a1d18da36c5a8da382bbd8228";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_13.0.3.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_13.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz";
+        sha1 = "76482af3981d4412d65371a318f992d33464a380";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.5.0.tgz";
+        sha1 = "101d96743ce3365b3223df73d641078c9b775903";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz";
+        sha1 = "aaf6b542ff75b78f4191a8bf1c519184817caa24";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz";
+        sha1 = "dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.5.0.tgz";
+        sha1 = "383a97ded9a7940e5053449f6d73995e782b8fb1";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.5.0.tgz";
+        sha1 = "858030ddd808fbbe88e03f42e5971efaccb8218a";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz";
+        sha1 = "fe43ed5fec14af03d3594fce2c3b7ec4c8df0243";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz";
+        sha1 = "722c95493e1b7682893edaaaec0e69f36917feef";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.5.0.tgz";
+        sha1 = "40ada624d6217ef092a3a79ed30d947ad4f212ce";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha1 = "51b1c5fe6576a34953bf4b253df9f0d490d9e359";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha1 = "1ba926a2923613edce496fd5b02e8ce8a5f49721";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha1 = "c49dad22f645227c5edb610bdb9697f1aab721f7";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha1 = "fea93e429863dd5e4338555f42292385a653f204";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha1 = "9a740ff48e3faa3022b1dff54423df9aa293c25e";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha1 = "ba0b7d3b3f7e4733da6059c9332275d860702452";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha1 = "def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha1 = "537a750eddf5c1e932f3744206551c91c1b93e61";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha1 = "74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha1 = "712329dbef240f36bf57bd2f7b8fb9bf4154421e";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha1 = "044edeb34ea679f3e04cd4fd9824d5e35767ae10";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha1 = "a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha1 = "962da12aa5acc1c131c81c4232991c82ce56e01a";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha1 = "54840766c2c1002eb64ed1abe720aded714f98bc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha1 = "b24d9f6ba50394af1349f510afa8ffcb8a63d264";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha1 = "21576f0ec88b91427357b8536383668ef7c66b8d";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha1 = "e10eecd542d0e7bd394f6827c49f3df6d4eefb8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha1 = "114bbc481fd10ca0e23b3560fa812748b0bae5bc";
+      };
+    }
+    {
+      name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+      path = fetchurl {
+        name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "abab___abab_2.0.2.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz";
+        sha1 = "a2fba1b122c69a85caa02d10f9270c7219709a9d";
+      };
+    }
+    {
+      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 = "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 = "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.1.0.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
+        sha1 = "294adb71b57398b0680015f0a38c563ee1db5384";
+      };
+    }
+    {
+      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.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz";
+        sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e";
+      };
+    }
+    {
+      name = "acorn___acorn_7.1.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz";
+        sha1 = "949d36f2c292535da602283586c2477c57eb2d6c";
+      };
+    }
+    {
+      name = "address___address_1.1.2.tgz";
+      path = fetchurl {
+        name = "address___address_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz";
+        sha1 = "bf1116c9c758c51b7a933d296b72c221ed9428b6";
+      };
+    }
+    {
+      name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+      path = fetchurl {
+        name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz";
+        sha1 = "6471143af75ec02334b219f54bc7970c52fb29a4";
+      };
+    }
+    {
+      name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+      path = fetchurl {
+        name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz";
+        sha1 = "5287820043af1eb469f5b0af0d6f70da6c52aaef";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.1.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.4.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 = "ajv___ajv_6.10.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
+        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+      };
+    }
+    {
+      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
+      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.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
+        sha1 = "4dccdb846c3eee10f6d64dea66273eab90c37228";
+      };
+    }
+    {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
+      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_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_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 = "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 = "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.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      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 = "aria_query___aria_query_3.0.0.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz";
+        sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc";
+      };
+    }
+    {
+      name = "arity_n___arity_n_1.0.4.tgz";
+      path = fetchurl {
+        name = "arity_n___arity_n_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz";
+        sha1 = "d9e76b11733e08569c0847ae7b39b2860b30b745";
+      };
+    }
+    {
+      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_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_filter___array_filter_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_filter___array_filter_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz";
+        sha1 = "baf79e62e6ef4c2a4c0b831232daffec251f9d83";
+      };
+    }
+    {
+      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_flatten___array_flatten_2.1.2.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+      };
+    }
+    {
+      name = "array_from___array_from_2.1.1.tgz";
+      path = fetchurl {
+        name = "array_from___array_from_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz";
+        sha1 = "cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.0.3.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      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 = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+      path = fetchurl {
+        name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz";
+        sha1 = "630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7";
+      };
+    }
+    {
+      name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+      path = fetchurl {
+        name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz";
+        sha1 = "8f3c71d245ba349b6b64b4078f76f5576f1fd723";
+      };
+    }
+    {
+      name = "arrify___arrify_1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+    {
+      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_4.10.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0";
+      };
+    }
+    {
+      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 = "assert___assert_1.4.1.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+    {
+      name = "assert___assert_1.5.0.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
+        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+      };
+    }
+    {
+      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 = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+      path = fetchurl {
+        name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
+        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+      };
+    }
+    {
+      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_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_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 = "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 = "autoprefixer___autoprefixer_9.6.5.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz";
+        sha1 = "98f4afe7e93cccf323287515d426019619775e5e";
+      };
+    }
+    {
+      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.8.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
+        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+      };
+    }
+    {
+      name = "axobject_query___axobject_query_2.0.2.tgz";
+      path = fetchurl {
+        name = "axobject_query___axobject_query_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz";
+        sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9";
+      };
+    }
+    {
+      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_eslint___babel_eslint_10.0.3.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz";
+        sha1 = "81a2c669be0f205e19462fed2482d33e4687a88a";
+      };
+    }
+    {
+      name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+      path = fetchurl {
+        name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz";
+        sha1 = "0a2aedf81417ed391b85e18b4614e693a0351a21";
+      };
+    }
+    {
+      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_loader___babel_loader_8.0.6.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz";
+        sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb";
+      };
+    }
+    {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz";
+        sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f";
+      };
+    }
+    {
+      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_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz";
+        sha1 = "41f7ead616fc36f6a93180e89697f69f51671181";
+      };
+    }
+    {
+      name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+      path = fetchurl {
+        name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz";
+        sha1 = "4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
+      };
+    }
+    {
+      name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz";
+        sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06";
+      };
+    }
+    {
+      name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
+        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+      };
+    }
+    {
+      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 = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+      path = fetchurl {
+        name = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz";
+        sha1 = "247d37e883d6d6f4b4691e5f23711bb2dd80567d";
+      };
+    }
+    {
+      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 = "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.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 = "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 = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      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.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      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_extensions___binary_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz";
+        sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.1.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz";
+        sha1 = "df70e302b471d7473489acf26a93d63b53f874de";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.8.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz";
+        sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f";
+      };
+    }
+    {
+      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 = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "boolbase___boolbase_1.0.0.tgz";
+      path = fetchurl {
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "bootstrap___bootstrap_4.3.1.tgz";
+      path = fetchurl {
+        name = "bootstrap___bootstrap_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz";
+        sha1 = "280ca8f610504d99d7b6b4bfc4b68cec601704ac";
+      };
+    }
+    {
+      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 = "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 = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
+      };
+    }
+    {
+      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 = "browserify_aes___browserify_aes_1.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.2.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.0.4.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.0.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz";
+        sha1 = "9ee89225ffc07db03409f2fee524dc8227458a17";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.1.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz";
+        sha1 = "bd400d1aea56538580e8c4d5f1c54ac11b5ab468";
+      };
+    }
+    {
+      name = "bser___bser_2.1.0.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz";
+        sha1 = "65fc784bf7f87c009b973c12db6546902fa9c7b5";
+      };
+    }
+    {
+      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 = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      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 = "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 = "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_me_maybe___call_me_maybe_1.0.1.tgz";
+      path = fetchurl {
+        name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      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_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_5.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz";
+        sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42";
+      };
+    }
+    {
+      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 = "caniuse_api___caniuse_api_3.0.0.tgz";
+      path = fetchurl {
+        name = "caniuse_api___caniuse_api_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz";
+        sha1 = "427253a69ad7bea4aa8d8345687b8eec51ca0e43";
+      };
+    }
+    {
+      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 = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+      path = fetchurl {
+        name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz";
+        sha1 = "3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e";
+      };
+    }
+    {
+      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 = "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_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 = "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 = "cheerio___cheerio_1.0.0_rc.3.tgz";
+      path = fetchurl {
+        name = "cheerio___cheerio_1.0.0_rc.3.tgz";
+        url  = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz";
+        sha1 = "094636d425b2e9c0f4eb91a46c05630c9a1a8bf6";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.2.2.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz";
+        sha1 = "a433973350021e09f2b853a2287781022c0dc935";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.3.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz";
+        sha1 = "42d837d5239688d55f303003a508230fa6727142";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      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 = "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 = "classnames___classnames_2.2.6.tgz";
+      path = fetchurl {
+        name = "classnames___classnames_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz";
+        sha1 = "43935bffdd291f326dad0a205309b38d00f650ce";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.1.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz";
+        sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.2.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    }
+    {
+      name = "cliui___cliui_4.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
+        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+      };
+    }
+    {
+      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 = "clone_deep___clone_deep_0.2.4.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz";
+        sha1 = "4e73dd09e9fb971cc38670c5dced9c1896481cc6";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      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 = "coa___coa_2.0.2.tgz";
+      path = fetchurl {
+        name = "coa___coa_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
+        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+      };
+    }
+    {
+      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 = "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_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 = "color_string___color_string_1.5.3.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
+        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+      };
+    }
+    {
+      name = "color___color_3.1.2.tgz";
+      path = fetchurl {
+        name = "color___color_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
+        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+      };
+    }
+    {
+      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.17.1.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz";
+        sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf";
+      };
+    }
+    {
+      name = "commander___commander_2.20.0.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";
+      path = fetchurl {
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+      };
+    }
+    {
+      name = "commander___commander_2.19.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz";
+        sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a";
+      };
+    }
+    {
+      name = "common_tags___common_tags_1.8.0.tgz";
+      path = fetchurl {
+        name = "common_tags___common_tags_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz";
+        sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937";
+      };
+    }
+    {
+      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 = "compose_function___compose_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "compose_function___compose_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz";
+        sha1 = "9ed675f13cc54501d30950a486ff6a7ba3ab185f";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.17.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz";
+        sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1";
+      };
+    }
+    {
+      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 = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+      path = fetchurl {
+        name = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz";
+        sha1 = "7ff0a57f9aeda6314132d8994cce7aeca794fecf";
+      };
+    }
+    {
+      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 = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+      path = fetchurl {
+        name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz";
+        sha1 = "72bc13b483c0276801681871d4898516f8f54fdd";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+    {
+      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 = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_0.3.5.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz";
+        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
+      };
+    }
+    {
+      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 = "copy_concurrently___copy_concurrently_1.0.5.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 = "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 = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+      path = fetchurl {
+        name = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz";
+        sha1 = "d2724a3ccbfed89706fac8a894872c979ac74467";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.3.2.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz";
+        sha1 = "1096c989c1b929ede06b5b6b4768dc4439078c03";
+      };
+    }
+    {
+      name = "core_js___core_js_3.2.1.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz";
+        sha1 = "cd41f38534da6cc59f7db050fe67307de9868b09";
+      };
+    }
+    {
+      name = "core_js___core_js_1.2.7.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz";
+        sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.10.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz";
+        sha1 = "8a5b8391f8cc7013da703411ce5b585706300d7f";
+      };
+    }
+    {
+      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 = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.3.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff";
+      };
+    }
+    {
+      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 = "create_react_context___create_react_context_0.2.3.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz";
+        sha1 = "9ec140a6914a22ef04b8b09b7771de89567cb6f3";
+      };
+    }
+    {
+      name = "create_react_context___create_react_context_0.3.0.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz";
+        sha1 = "546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c";
+      };
+    }
+    {
+      name = "cross_fetch___cross_fetch_2.2.3.tgz";
+      path = fetchurl {
+        name = "cross_fetch___cross_fetch_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz";
+        sha1 = "e8a0b3c54598136e037f8650f8e823ccdfac198e";
+      };
+    }
+    {
+      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 = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+      path = fetchurl {
+        name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz";
+        sha1 = "dfdefd3254bf8a82027993674ccf35483bfcb3c5";
+      };
+    }
+    {
+      name = "css_color_names___css_color_names_0.0.4.tgz";
+      path = fetchurl {
+        name = "css_color_names___css_color_names_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+    {
+      name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+      path = fetchurl {
+        name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+      };
+    }
+    {
+      name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+      path = fetchurl {
+        name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz";
+        sha1 = "3c642ab34ca242c59c41a125df9105841f6966ee";
+      };
+    }
+    {
+      name = "css_loader___css_loader_2.1.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz";
+        sha1 = "d8254f72e412bb2238bb44dd674ffbef497333ea";
+      };
+    }
+    {
+      name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+      path = fetchurl {
+        name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz";
+        sha1 = "6f830a2714199d4f0d0d0bb8a27916ed65cff1f4";
+      };
+    }
+    {
+      name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+      path = fetchurl {
+        name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+      };
+    }
+    {
+      name = "css_select___css_select_1.2.0.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    }
+    {
+      name = "css_select___css_select_2.0.2.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz";
+        sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
+        sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
+        sha1 = "970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e";
+      };
+    }
+    {
+      name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+      path = fetchurl {
+        name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz";
+        sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996";
+      };
+    }
+    {
+      name = "css_what___css_what_2.1.3.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz";
+        sha1 = "a6d7604573365fe74686c3f311c56513d88285f2";
+      };
+    }
+    {
+      name = "css___css_2.2.4.tgz";
+      path = fetchurl {
+        name = "css___css_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz";
+        sha1 = "c646755c73971f2bba6a601e2cf2fd71b1298929";
+      };
+    }
+    {
+      name = "cssdb___cssdb_4.4.0.tgz";
+      path = fetchurl {
+        name = "cssdb___cssdb_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz";
+        sha1 = "3bf2f2a68c10f5c6a08abd92378331ee803cddb0";
+      };
+    }
+    {
+      name = "cssesc___cssesc_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
+        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      path = fetchurl {
+        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+      };
+    }
+    {
+      name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    }
+    {
+      name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    }
+    {
+      name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+      };
+    }
+    {
+      name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+      };
+    }
+    {
+      name = "cssnano___cssnano_4.1.10.tgz";
+      path = fetchurl {
+        name = "cssnano___cssnano_4.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
+        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+      };
+    }
+    {
+      name = "csso___csso_3.5.1.tgz";
+      path = fetchurl {
+        name = "csso___csso_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz";
+        sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b";
+      };
+    }
+    {
+      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 = "cssom___cssom_0.4.1.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.1.tgz";
+        sha1 = "b24111d236b6dbd00cdfacb5ab67a20473381fe3";
+      };
+    }
+    {
+      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 = "cssstyle___cssstyle_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.0.0.tgz";
+        sha1 = "911f0fe25532db4f5d44afc83f89cc4b82c97fe3";
+      };
+    }
+    {
+      name = "csstype___csstype_2.6.7.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz";
+        sha1 = "20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5";
+      };
+    }
+    {
+      name = "cyclist___cyclist_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";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+      path = fetchurl {
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz";
+        sha1 = "780cf7144eb2e8dbd1c3bb83ae31100ccc31a414";
+      };
+    }
+    {
+      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 = "date_now___date_now_0.1.4.tgz";
+      path = fetchurl {
+        name = "date_now___date_now_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+    {
+      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.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 = "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_2.0.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz";
+        sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7";
+      };
+    }
+    {
+      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_equal___deep_equal_1.1.0.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz";
+        sha1 = "3103cdf8ab6d32cf4a8df7865458f2b8d33f3745";
+      };
+    }
+    {
+      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 = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      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 = "del___del_3.0.0.tgz";
+      path = fetchurl {
+        name = "del___del_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz";
+        sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5";
+      };
+    }
+    {
+      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 = "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 = "des.js___des.js_1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+    {
+      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_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 = "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 = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+      path = fetchurl {
+        name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
+        sha1 = "24707deabe932d4a3cf621302027c2b266568275";
+      };
+    }
+    {
+      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 = "diff___diff_3.5.0.tgz";
+      path = fetchurl {
+        name = "diff___diff_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz";
+        sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12";
+      };
+    }
+    {
+      name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+      };
+    }
+    {
+      name = "dir_glob___dir_glob_2.0.0.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha1 = "0b205d2b6aef98238ca286598a8204d29d0a0034";
+      };
+    }
+    {
+      name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+      path = fetchurl {
+        name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
+        sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.3.1.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      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 = "dom_converter___dom_converter_0.2.0.tgz";
+      path = fetchurl {
+        name = "dom_converter___dom_converter_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha1 = "6721a9daee2e293682955b6afe416771627bb768";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_3.4.0.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz";
+        sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.2.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz";
+        sha1 = "13650c850daffea35d8b626a4cfc4d3a17643fdb";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.1.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz";
+        sha1 = "1ec4059e284babed36eec2941d4a970a189ce7c0";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.2.0.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_2.0.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+      };
+    }
+    {
+      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 = "domhandler___domhandler_2.4.2.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz";
+        sha1 = "8805097e933d65e85546f726d60f5eb88b44f803";
+      };
+    }
+    {
+      name = "domutils___domutils_1.5.1.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    }
+    {
+      name = "domutils___domutils_1.7.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
+        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_4.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+      };
+    }
+    {
+      name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+      path = fetchurl {
+        name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+      };
+    }
+    {
+      name = "dotenv___dotenv_6.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz";
+        sha1 = "941c0410535d942c8becf28d3f357dbd9d476064";
+      };
+    }
+    {
+      name = "downshift___downshift_3.3.5.tgz";
+      path = fetchurl {
+        name = "downshift___downshift_3.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/downshift/-/downshift-3.3.5.tgz";
+        sha1 = "635f465ab45f577814a98901024873637649ce6f";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      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 = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz";
+        sha1 = "b24359fa4f49b3a7c52afc005d59ec3aa9f6796e";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.5.1.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz";
+        sha1 = "c380f5f909bf1b9b4428d028cd18d3b0efd6b52b";
+      };
+    }
+    {
+      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 = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      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.12.tgz";
+      path = fetchurl {
+        name = "encoding___encoding_0.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    }
+    {
+      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 = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
+        sha1 = "2937e2b8066cd0fe7ce0990a98f0d71a35189f66";
+      };
+    }
+    {
+      name = "entities___entities_1.1.2.tgz";
+      path = fetchurl {
+        name = "entities___entities_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz";
+        sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56";
+      };
+    }
+    {
+      name = "entities___entities_2.0.0.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz";
+        sha1 = "68d6084cab1b079767540d80e56a39b423e4abf4";
+      };
+    }
+    {
+      name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.1.tgz";
+        sha1 = "8ad55332be7091dc53a25d7d38b3485fc2ba50d5";
+      };
+    }
+    {
+      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz";
+        sha1 = "e828e0d038e2b1efa4b9619ce896226f85c9dd88";
+      };
+    }
+    {
+      name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.0.tgz";
+        sha1 = "d8e4603495e6ea279038eef05a4bf4887b55dc69";
+      };
+    }
+    {
+      name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+      path = fetchurl {
+        name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.3.tgz";
+        sha1 = "ed4386f48768ed29e2d1a2910893542c34e7e0af";
+      };
+    }
+    {
+      name = "enzyme___enzyme_3.10.0.tgz";
+      path = fetchurl {
+        name = "enzyme___enzyme_3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme/-/enzyme-3.10.0.tgz";
+        sha1 = "7218e347c4a7746e133f8e964aada4a3523452f6";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      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.15.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz";
+        sha1 = "8884928ec7e40a79e3c9bc812d37d10c8b24cc57";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.16.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz";
+        sha1 = "d3a26dc9c3283ac9750dca569586e976d9dcc06d";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.51.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.51.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha1 = "ed2d7d9d48a12df86e0299287e93a09ff478842f";
+      };
+    }
+    {
+      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.2.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha1 = "859fdd34f32e905ff06d752e7171ddd4444a7ed1";
+      };
+    }
+    {
+      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_1.12.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz";
+        sha1 = "f763daf840af172bb3a2b6dd7219c0e17f7ff541";
+      };
+    }
+    {
+      name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz";
+        sha1 = "0a04f147e31d33c6c161b2dd0971418ac52d0477";
+      };
+    }
+    {
+      name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz";
+        sha1 = "df40d73a1402986030680c040bbee520db5a32a4";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz";
+        sha1 = "58f15fb839b8d0576ca980413476aab2472db66a";
+      };
+    }
+    {
+      name = "eslint_loader___eslint_loader_3.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_loader___eslint_loader_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz";
+        sha1 = "5a627316a51d6f41d357b9f6f0554e91506cdd6e";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz";
+        sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c";
+      };
+    }
+    {
+      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz";
+        sha1 = "e241ebd39c0ce519345a3f074ec1ebde4cf80f2c";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz";
+        sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6";
+      };
+    }
+    {
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz";
+        sha1 = "b872a09d5de51af70a97db1eea7dc933043708aa";
+      };
+    }
+    {
+      name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz";
+        sha1 = "507b8562410d02a03f0ddc949c616f877852f2ba";
+      };
+    }
+    {
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz";
+        sha1 = "6210b6d5a37205f0b92858f895a4e827020a7d04";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz";
+        sha1 = "911030dd7e98ba49e1b2208599571846a66bdf13";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz";
+        sha1 = "9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz";
+        sha1 = "e87c8887c73e8d1ec84f1ca591645c358bfc8fb9";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_1.4.2.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz";
+        sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.1.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___eslint_6.5.1.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz";
+        sha1 = "828e4c469697d43bb586144be152198b91e96ed6";
+      };
+    }
+    {
+      name = "espree___espree_6.1.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz";
+        sha1 = "7f80e5f7257fc47db450022d723e356daeb1e5de";
+      };
+    }
+    {
+      name = "esprima___esprima_3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+    {
+      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.0.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz";
+        sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.2.1.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf";
+      };
+    }
+    {
+      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 = "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 = "eventemitter3___eventemitter3_4.0.0.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha1 = "d65176163887ee59f386d64c82610b696a4a74eb";
+      };
+    }
+    {
+      name = "events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz";
+        sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.2.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
+      };
+    }
+    {
+      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 = "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 = "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_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_diff___fast_diff_1.2.0.tgz";
+      path = fetchurl {
+        name = "fast_diff___fast_diff_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz";
+        sha1 = "73ee11982d86caaf7959828d519cfe927fac5f03";
+      };
+    }
+    {
+      name = "fast_glob___fast_glob_2.2.7.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz";
+        sha1 = "6953857c3afa475fff92ee6015d52da70a4cd39d";
+      };
+    }
+    {
+      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 = "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 = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.11.3.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    }
+    {
+      name = "fbjs___fbjs_0.8.17.tgz";
+      path = fetchurl {
+        name = "fbjs___fbjs_0.8.17.tgz";
+        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz";
+        sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha1 = "862470112901c727a0e495a80744bd5baa1d6790";
+      };
+    }
+    {
+      name = "figures___figures_2.0.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    }
+    {
+      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_loader___file_loader_3.0.1.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz";
+        sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa";
+      };
+    }
+    {
+      name = "filesize___filesize_3.6.1.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz";
+        sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317";
+      };
+    }
+    {
+      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 = "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_0.1.1.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    }
+    {
+      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_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 = "find_up___find_up_1.1.2.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.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 = "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.1.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz";
+        sha1 = "69e57caa8f0eacbc281d2e2cb458d46fdb449e08";
+      };
+    }
+    {
+      name = "flatten___flatten_1.0.2.tgz";
+      path = fetchurl {
+        name = "flatten___flatten_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    }
+    {
+      name = "flot___flot_3.2.13.tgz";
+      path = fetchurl {
+        name = "flot___flot_3.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/flot/-/flot-3.2.13.tgz";
+        sha1 = "f4457fd6042fe4ac4e4e124e7a7c7256e69f5362";
+      };
+    }
+    {
+      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 = "follow_redirects___follow_redirects_1.9.0.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz";
+        sha1 = "8d5bcdc65b7108fe1508649c79c12d732dcedb4f";
+      };
+    }
+    {
+      name = "for_in___for_in_0.1.8.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz";
+        sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1";
+      };
+    }
+    {
+      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 = "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 = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz";
+        sha1 = "ce1d77190b44d81a761b10b6284a373795e41f0c";
+      };
+    }
+    {
+      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.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      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_extra___fs_extra_7.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_4.0.3.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz";
+        sha1 = "0d852122e5bc5beb453fb028e9c0c9bf36340c94";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_8.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+      };
+    }
+    {
+      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_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.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.0.7.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
+        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.9.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
+        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.1.1.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz";
+        sha1 = "74c64e21df71721845d0c44fe54b7f56b82995a9";
+      };
+    }
+    {
+      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 = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+      path = fetchurl {
+        name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz";
+        sha1 = "6d252350803085abc2ad423d4fe3be2f9cbda392";
+      };
+    }
+    {
+      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 = "functions_have_names___functions_have_names_1.2.0.tgz";
+      path = fetchurl {
+        name = "functions_have_names___functions_have_names_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.0.tgz";
+        sha1 = "83da7583e4ea0c9ac5ff530f73394b033e0bf77d";
+      };
+    }
+    {
+      name = "fuzzy___fuzzy_0.1.3.tgz";
+      path = fetchurl {
+        name = "fuzzy___fuzzy_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz";
+        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
+      };
+    }
+    {
+      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_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";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+      path = fetchurl {
+        name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz";
+        sha1 = "6f7764f88ea11e0b514bd9bd860a132259992ca4";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_6.0.0.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b";
+      };
+    }
+    {
+      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 = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz";
+        sha1 = "5f4c1d1e748d30cd73ad2944b3577a81b081e8c2";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    }
+    {
+      name = "glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz";
+        sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      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 = "globby___globby_8.0.2.tgz";
+      path = fetchurl {
+        name = "globby___globby_8.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz";
+        sha1 = "5697619ccd95c5275dbb2d6faa42087c1a941d8d";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.2.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha1 = "6f0952605d0140c1cfdb138ed005775b92d67b02";
+      };
+    }
+    {
+      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 = "gud___gud_1.0.0.tgz";
+      path = fetchurl {
+        name = "gud___gud_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz";
+        sha1 = "a489581b17e6a70beca9abe3ae57de7a499852c0";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.1.1.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha1 = "cb9bee692f87c0612b232840a873904e4c135274";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.0.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.4.3.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz";
+        sha1 = "180bae52c1d0e9ec0c15d7e82a4362d662762f6e";
+      };
+    }
+    {
+      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.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 = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+      path = fetchurl {
+        name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz";
+        sha1 = "c108d4f2bb451efef7a37861fdbdae72c9bdefa9";
+      };
+    }
+    {
+      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_symbols___has_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    }
+    {
+      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 = "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.0.4.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.7.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
+        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+      };
+    }
+    {
+      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 = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha1 = "759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "hsl_regex___hsl_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsl_regex___hsl_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    }
+    {
+      name = "hsla_regex___hsla_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsla_regex___hsla_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    }
+    {
+      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+      path = fetchurl {
+        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
+      };
+    }
+    {
+      name = "html_element_map___html_element_map_1.1.0.tgz";
+      path = fetchurl {
+        name = "html_element_map___html_element_map_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.1.0.tgz";
+        sha1 = "e5aab9a834caf883b421f8bd9eaedcaac887d63c";
+      };
+    }
+    {
+      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_entities___html_entities_1.2.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_3.5.21.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_3.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz";
+        sha1 = "d0040e054730e354db008463593194015212d20c";
+      };
+    }
+    {
+      name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+      path = fetchurl {
+        name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+        url  = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz";
+        sha1 = "2c53083c1151bfec20479b1f8aaf0039e77b5513";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      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.6.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    }
+    {
+      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_parser_js___http_parser_js_0.4.10.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    }
+    {
+      name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.18.0.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a";
+      };
+    }
+    {
+      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 = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "i___i_0.3.6.tgz";
+      path = fetchurl {
+        name = "i___i_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz";
+        sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
+      };
+    }
+    {
+      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 = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+      path = fetchurl {
+        name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_4.1.1.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz";
+        sha1 = "21170b53789ee27447c2f47dd683081403f9a467";
+      };
+    }
+    {
+      name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+      path = fetchurl {
+        name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
+        sha1 = "94d2bda96084453ef36fbc5aaec37e0f79f1fc14";
+      };
+    }
+    {
+      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";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      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___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      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 = "immer___immer_1.10.0.tgz";
+      path = fetchurl {
+        name = "immer___immer_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz";
+        sha1 = "bad67605ba9c810275d91e1c2a47d4582e98286d";
+      };
+    }
+    {
+      name = "import_cwd___import_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_cwd___import_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.1.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz";
+        sha1 = "6d33fa1dcef6df930fae003446f33415af905118";
+      };
+    }
+    {
+      name = "import_from___import_from_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_from___import_from_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    }
+    {
+      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 = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      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.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      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.5.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
+        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz";
+        sha1 = "2303317efc9a4ea7ec2e2df6f86569b734accf42";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.2.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz";
+        sha1 = "ad50942375d036d327ff528c08bd5fab089928ca";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      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 = "invert_kv___invert_kv_2.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65";
+      };
+    }
+    {
+      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 = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+    {
+      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_arguments___is_arguments_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_arguments___is_arguments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+      };
+    }
+    {
+      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_arrayish___is_arrayish_0.3.2.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+      };
+    }
+    {
+      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_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_boolean_object___is_boolean_object_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_boolean_object___is_boolean_object_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz";
+        sha1 = "98f8b28030684219a95f375cfbd88ce3405dff93";
+      };
+    }
+    {
+      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.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_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_color_stop___is_color_stop_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_color_stop___is_color_stop_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    }
+    {
+      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.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_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_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      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_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_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_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_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      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_object___is_number_object_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_number_object___is_number_object_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz";
+        sha1 = "f265ab89a9f445034ef6aff15a8f00b00f551799";
+      };
+    }
+    {
+      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_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_obj___is_obj_1.0.1.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_path_cwd___is_path_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52";
+      };
+    }
+    {
+      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_plain_obj___is_plain_obj_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+    {
+      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_promise___is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    }
+    {
+      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_regexp___is_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_regexp___is_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
+        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+      };
+    }
+    {
+      name = "is_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_root___is_root_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_root___is_root_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz";
+        sha1 = "809e18129cf1129644302a4f8544035d51984a9c";
+      };
+    }
+    {
+      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.4.tgz";
+      path = fetchurl {
+        name = "is_string___is_string_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz";
+        sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
+      };
+    }
+    {
+      name = "is_subset___is_subset_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_subset___is_subset_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz";
+        sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6";
+      };
+    }
+    {
+      name = "is_svg___is_svg_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_svg___is_svg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
+        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
+      };
+    }
+    {
+      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_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 = "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 = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+      path = fetchurl {
+        name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz";
+        sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
+      };
+    }
+    {
+      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.6.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af";
+      };
+    }
+    {
+      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_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz";
+        sha1 = "aad6393a9d4b565b69a609109bf469f62bf18ccc";
+      };
+    }
+    {
+      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_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz";
+        sha1 = "1260b347918e3931c4ec743ceaf60433da661bd0";
+      };
+    }
+    {
+      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.1.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+      };
+    }
+    {
+      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_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+      path = fetchurl {
+        name = "jest_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz";
+        sha1 = "4d5356839a85421588ce452d2440bf0d25308397";
+      };
+    }
+    {
+      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 = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+      path = fetchurl {
+        name = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz";
+        sha1 = "ae16bf94b26c2ed9ab4db167bba52dfdb615c1df";
+      };
+    }
+    {
+      name = "jquery___jquery_3.4.1.tgz";
+      path = fetchurl {
+        name = "jquery___jquery_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz";
+        sha1 = "714f1f8d9dde4bdfa55764ba37ef214630d80ef2";
+      };
+    }
+    {
+      name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+      path = fetchurl {
+        name = "js_levenshtein___js_levenshtein_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz";
+        sha1 = "c6cee58eb3550372df8deb85fad5ce66ce01d59d";
+      };
+    }
+    {
+      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.13.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 = "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 = "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 = "jsdom___jsdom_14.1.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_14.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz";
+        sha1 = "916463b6094956b0a6c1782c94e380cd30e1981b";
+      };
+    }
+    {
+      name = "jsdom___jsdom_15.2.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_15.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.0.tgz";
+        sha1 = "4baead4f464e733533ed6ac607ce440918cf5cbb";
+      };
+    }
+    {
+      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_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_stable_stringify___json_stable_stringify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+    {
+      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 = "json3___json3_3.3.3.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
+        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "json5___json5_2.1.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz";
+        sha1 = "81b6cb04e9ba496f1c7005d07b4368a2638f90b6";
+      };
+    }
+    {
+      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 = "jsonify___jsonify_0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify___jsonify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+    {
+      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 = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+      path = fetchurl {
+        name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz";
+        sha1 = "4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb";
+      };
+    }
+    {
+      name = "just_extend___just_extend_4.0.2.tgz";
+      path = fetchurl {
+        name = "just_extend___just_extend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz";
+        sha1 = "f3f47f7dfca0f989c55410a7ebc8854b07108afc";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_2.0.1.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz";
+        sha1 = "018ec7a4ce7e3a86cb9141be519d24c8faa981b5";
+      };
+    }
+    {
+      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.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz";
+        sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051";
+      };
+    }
+    {
+      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 = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+      path = fetchurl {
+        name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz";
+        sha1 = "9742df0e10e3cf46e5c0381c2de90d3a7a2d7555";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_0.2.7.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz";
+        sha1 = "7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65";
+      };
+    }
+    {
+      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 = "lcid___lcid_2.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
+        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
+      };
+    }
+    {
+      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 = "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 = "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 = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+      path = fetchurl {
+        name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz";
+        sha1 = "54cedf6b727e1779fd8f01205f05f6e88706f086";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.2.3.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "lodash_es___lodash_es_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash_es___lodash_es_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz";
+        sha1 = "21bd96839354412f23d7a10340e5eac6ee455d78";
+      };
+    }
+    {
+      name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+      path = fetchurl {
+        name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
+        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+      };
+    }
+    {
+      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.escape___lodash.escape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.escape___lodash.escape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz";
+        sha1 = "c9044690c21e04294beaa517712fded1fa88de98";
+      };
+    }
+    {
+      name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz";
+        sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
+      };
+    }
+    {
+      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.isequal___lodash.isequal_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    }
+    {
+      name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+      path = fetchurl {
+        name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz";
+        sha1 = "06de25df4db327ac931981d1bdb067e5af68d051";
+      };
+    }
+    {
+      name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+      path = fetchurl {
+        name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
+        sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d";
+      };
+    }
+    {
+      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.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+      path = fetchurl {
+        name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz";
+        sha1 = "617121f89ac55f59047c7aec1ccd6654c6590f55";
+      };
+    }
+    {
+      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.template___lodash.template_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.template___lodash.template_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz";
+        sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab";
+      };
+    }
+    {
+      name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
+        sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33";
+      };
+    }
+    {
+      name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz";
+        sha1 = "0b96b31b35672793eb7f5a63ee791f1b9e9025d9";
+      };
+    }
+    {
+      name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz";
+        sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c";
+      };
+    }
+    {
+      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.15.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.6.4.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz";
+        sha1 = "f408f4f006db8354d0577dcf6d33485b3cb90d56";
+      };
+    }
+    {
+      name = "lolex___lolex_4.2.0.tgz";
+      path = fetchurl {
+        name = "lolex___lolex_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz";
+        sha1 = "ddbd7f6213ca1ea5826901ab1222b65d714b3cd7";
+      };
+    }
+    {
+      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_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 = "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 = "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 = "mamacro___mamacro_0.0.3.tgz";
+      path = fetchurl {
+        name = "mamacro___mamacro_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz";
+        sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4";
+      };
+    }
+    {
+      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      path = fetchurl {
+        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+      };
+    }
+    {
+      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 = "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 = "mdn_data___mdn_data_2.0.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_1.1.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz";
+        sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01";
+      };
+    }
+    {
+      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 = "mem___mem_4.3.0.tgz";
+      path = fetchurl {
+        name = "mem___mem_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
+        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.5.0.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha1 = "324c01288b88652966d161db77838720845a8e3c";
+      };
+    }
+    {
+      name = "merge_deep___merge_deep_3.0.2.tgz";
+      path = fetchurl {
+        name = "merge_deep___merge_deep_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz";
+        sha1 = "f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2";
+      };
+    }
+    {
+      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_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 = "merge2___merge2_1.3.0.tgz";
+      path = fetchurl {
+        name = "merge2___merge2_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz";
+        sha1 = "5b366ee83b2f1582c48f87e47cf1a9352103ca81";
+      };
+    }
+    {
+      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 = "microevent.ts___microevent.ts_0.1.1.tgz";
+      path = fetchurl {
+        name = "microevent.ts___microevent.ts_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz";
+        sha1 = "70b09b83f43df5172d0205a63025bce0f7357fa0";
+      };
+    }
+    {
+      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 = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.40.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.40.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
+        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.42.0.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 = "mime_types___mime_types_2.1.24.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
+        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+      };
+    }
+    {
+      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 = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+      path = fetchurl {
+        name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz";
+        sha1 = "81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1";
+      };
+    }
+    {
+      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 = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      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_0.0.8.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.0.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+    {
+      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 = "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 = "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 = "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 = "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 = "mixin_object___mixin_object_2.0.1.tgz";
+      path = fetchurl {
+        name = "mixin_object___mixin_object_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz";
+        sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
+      };
+    }
+    {
+      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 = "moment_timezone___moment_timezone_0.4.1.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.4.1.tgz";
+        sha1 = "81f598c3ad5e22cdad796b67ecd8d88d0f5baa06";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.5.27.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.5.27.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.27.tgz";
+        sha1 = "73adec8139b6fe30452e78f210f27b1f346b8877";
+      };
+    }
+    {
+      name = "moment___moment_2.24.0.tgz";
+      path = fetchurl {
+        name = "moment___moment_2.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz";
+        sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b";
+      };
+    }
+    {
+      name = "moo___moo_0.4.3.tgz";
+      path = fetchurl {
+        name = "moo___moo_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz";
+        sha1 = "3f847a26f31cf625a956a87f2b10fbc013bfd10e";
+      };
+    }
+    {
+      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 = "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 = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.2.3.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    }
+    {
+      name = "nan___nan_2.14.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
+        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+      };
+    }
+    {
+      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 = "nearley___nearley_2.19.0.tgz";
+      path = fetchurl {
+        name = "nearley___nearley_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/nearley/-/nearley-2.19.0.tgz";
+        sha1 = "37717781d0fd0f2bfc95e233ebd75678ca4bda46";
+      };
+    }
+    {
+      name = "needle___needle_2.4.0.tgz";
+      path = fetchurl {
+        name = "needle___needle_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
+        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
+      };
+    }
+    {
+      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.1.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
+        sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
+      };
+    }
+    {
+      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 = "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 = "nise___nise_1.5.2.tgz";
+      path = fetchurl {
+        name = "nise___nise_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/nise/-/nise-1.5.2.tgz";
+        sha1 = "b6d29af10e48b321b307e10e065199338eeb2652";
+      };
+    }
+    {
+      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_fetch___node_fetch_2.1.2.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz";
+        sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_1.7.3.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.9.0.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz";
+        sha1 = "d624050edbb44874adca12bb9a52ec63cb782579";
+      };
+    }
+    {
+      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_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      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.3.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha1 = "cb72daf94c93904098e28b9c590fd866e464bd50";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
+        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.36.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.36.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz";
+        sha1 = "44b7cb8254138e87bdbfa47761d0f825e20900b4";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.1.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    }
+    {
+      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 = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      name = "normalize_url___normalize_url_1.9.1.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz";
+        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
+      };
+    }
+    {
+      name = "normalize_url___normalize_url_3.3.0.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+      };
+    }
+    {
+      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      path = fetchurl {
+        name = "npm_bundled___npm_bundled_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
+      };
+    }
+    {
+      name = "npm_packlist___npm_packlist_1.4.6.tgz";
+      path = fetchurl {
+        name = "npm_packlist___npm_packlist_1.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha1 = "53ba3ed11f8523079f1457376dd379ee4ea42ff4";
+      };
+    }
+    {
+      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 = "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 = "nth_check___nth_check_1.0.2.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
+        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      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 = "nwsapi___nwsapi_2.1.4.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha1 = "e006a878db23636f8e8a67d33ca0e4edf61a842f";
+      };
+    }
+    {
+      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 = "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_hash___object_hash_1.3.1.tgz";
+      path = fetchurl {
+        name = "object_hash___object_hash_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz";
+        sha1 = "fde452098a951cb145f039bb7d455449ddc126df";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.6.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b";
+      };
+    }
+    {
+      name = "object_is___object_is_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_is___object_is_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz";
+        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+      };
+    }
+    {
+      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_path___object_path_0.11.4.tgz";
+      path = fetchurl {
+        name = "object_path___object_path_0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz";
+        sha1 = "370ae752fbf37de3ea70a861c23bba8915691949";
+      };
+    }
+    {
+      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.0.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz";
+        sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519";
+      };
+    }
+    {
+      name = "object.fromentries___object.fromentries_2.0.1.tgz";
+      path = fetchurl {
+        name = "object.fromentries___object.fromentries_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz";
+        sha1 = "050f077855c7af8ae6649f45c80b16ee2d31e704";
+      };
+    }
+    {
+      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 = "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 = "object.values___object.values_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz";
+        sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      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 = "onetime___onetime_2.0.1.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    }
+    {
+      name = "open___open_6.4.0.tgz";
+      path = fetchurl {
+        name = "open___open_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz";
+        sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      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 = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+      path = fetchurl {
+        name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz";
+        sha1 = "e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      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_3.1.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
+        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
+      };
+    }
+    {
+      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_defer___p_defer_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_defer___p_defer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    }
+    {
+      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_is_promise___p_is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_is_promise___p_is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
+      };
+    }
+    {
+      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_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_map___p_map_1.2.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz";
+        sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b";
+      };
+    }
+    {
+      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_1.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_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 = "pako___pako_1.0.10.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz";
+        sha1 = "4328badb5086a426aa90f541977d4955da5c9732";
+      };
+    }
+    {
+      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 = "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 = "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_asn1___parse_asn1_5.1.5.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz";
+        sha1 = "003271343da58dc94cace494faef3d2147ecea0e";
+      };
+    }
+    {
+      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 = "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 = "parse5___parse5_5.1.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz";
+        sha1 = "c59341c9723f414c452975564c7c00a68d58acd2";
+      };
+    }
+    {
+      name = "parse5___parse5_3.0.3.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz";
+        sha1 = "042f792ffdd36851551cf4e9e066b3874ab45b5c";
+      };
+    }
+    {
+      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 = "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_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_2.1.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+    {
+      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_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_parse___path_parse_1.0.6.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_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_to_regexp___path_to_regexp_1.7.0.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.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 = "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 = "pbkdf2___pbkdf2_3.0.17.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha1 = "976c206530617b14ebb32114239f7b09336e93a6";
+      };
+    }
+    {
+      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.0.7.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz";
+        sha1 = "514169d8c7cd0bdbeecc8a2609e34a7163de69f6";
+      };
+    }
+    {
+      name = "pify___pify_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 = "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 = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      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_1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      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 = "pkg_up___pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_up___pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    }
+    {
+      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 = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz";
+        sha1 = "62a1cd3068f46d564bb33c56eb250e4d586676eb";
+      };
+    }
+    {
+      name = "popper.js___popper.js_1.16.0.tgz";
+      path = fetchurl {
+        name = "popper.js___popper.js_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.0.tgz";
+        sha1 = "2e1816bcbbaa518ea6c2e15a466f4cb9c6e2fbb3";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.25.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.25.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz";
+        sha1 = "254fd337ffba869f4b9d37edc298059cb4d35eca";
+      };
+    }
+    {
+      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 = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz";
+        sha1 = "b2a721a0d279c2f9103a36331c88981526428cc7";
+      };
+    }
+    {
+      name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz";
+        sha1 = "dc48d6a8ddbff188a80a000b7393436cb18aed88";
+      };
+    }
+    {
+      name = "postcss_calc___postcss_calc_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_calc___postcss_calc_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz";
+        sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436";
+      };
+    }
+    {
+      name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz";
+        sha1 = "5efd37a88fbabeb00a2966d1e53d98ced93f74e0";
+      };
+    }
+    {
+      name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz";
+        sha1 = "532a31eb909f8da898ceffe296fdc1f864be8547";
+      };
+    }
+    {
+      name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz";
+        sha1 = "a8d9ca4c39d497c9661e374b9c51899ef0f87388";
+      };
+    }
+    {
+      name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz";
+        sha1 = "816ba145ac11cc3cb6baa905a75a49f903e4d31d";
+      };
+    }
+    {
+      name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz";
+        sha1 = "c7a89be872bb74e45b1e3022bfe5748823e6de77";
+      };
+    }
+    {
+      name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+      };
+    }
+    {
+      name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+      };
+    }
+    {
+      name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+      path = fetchurl {
+        name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz";
+        sha1 = "fffd13ffeffad73621be5f387076a28b00294e0c";
+      };
+    }
+    {
+      name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz";
+        sha1 = "2d61772d6e92f22f5e0d52602df8fae46fa30d97";
+      };
+    }
+    {
+      name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz";
+        sha1 = "64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba";
+      };
+    }
+    {
+      name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz";
+        sha1 = "6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2";
+      };
+    }
+    {
+      name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+      };
+    }
+    {
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+      };
+    }
+    {
+      name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+      };
+    }
+    {
+      name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+      };
+    }
+    {
+      name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz";
+        sha1 = "fc927d52fddc896cb3a2812ebc5df147e110522e";
+      };
+    }
+    {
+      name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz";
+        sha1 = "0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7";
+      };
+    }
+    {
+      name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz";
+        sha1 = "e094a9df1783e2200b7b19f875dcad3b3aff8b20";
+      };
+    }
+    {
+      name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz";
+        sha1 = "477d107113ade6024b14128317ade2bd1e17046e";
+      };
+    }
+    {
+      name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz";
+        sha1 = "763b8788596cee9b874c999201cdde80659ef680";
+      };
+    }
+    {
+      name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz";
+        sha1 = "71dd3c6c10a0d846c5eda07803439617bbbabacc";
+      };
+    }
+    {
+      name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz";
+        sha1 = "431c192ab3ed96a3c3d09f2ff615960f902c1715";
+      };
+    }
+    {
+      name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz";
+        sha1 = "28920a2f29945bed4c3198d7df6496d410d3f288";
+      };
+    }
+    {
+      name = "postcss_initial___postcss_initial_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_initial___postcss_initial_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz";
+        sha1 = "99d319669a13d6c06ef8e70d852f68cb1b399b61";
+      };
+    }
+    {
+      name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz";
+        sha1 = "bb51a6856cd12289ab4ae20db1e3821ef13d7d2e";
+      };
+    }
+    {
+      name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
+        sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003";
+      };
+    }
+    {
+      name = "postcss_loader___postcss_loader_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_loader___postcss_loader_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+      };
+    }
+    {
+      name = "postcss_logical___postcss_logical_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_logical___postcss_logical_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz";
+        sha1 = "2495d0f8b82e9f262725f75f9401b34e7b45d5b5";
+      };
+    }
+    {
+      name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz";
+        sha1 = "b75bb6cbc217c8ac49433e12f22048814a4f5ed5";
+      };
+    }
+    {
+      name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+      };
+    }
+    {
+      name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+      };
+    }
+    {
+      name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+      };
+    }
+    {
+      name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+      };
+    }
+    {
+      name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+      };
+    }
+    {
+      name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
+        sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz";
+        sha1 = "dd9953f6dd476b5fd1ef2d8830c8929760b56e63";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz";
+        sha1 = "ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz";
+        sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64";
+      };
+    }
+    {
+      name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz";
+        sha1 = "b50ad7b7f0173e5b5e3880c3501344703e04c052";
+      };
+    }
+    {
+      name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+      };
+    }
+    {
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+      };
+    }
+    {
+      name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+      };
+    }
+    {
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+      };
+    }
+    {
+      name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+      };
+    }
+    {
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+      };
+    }
+    {
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+      };
+    }
+    {
+      name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+      };
+    }
+    {
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+      };
+    }
+    {
+      name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz";
+        sha1 = "eb51568d962b8aa61a8318383c8bb7e54332282e";
+      };
+    }
+    {
+      name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+      };
+    }
+    {
+      name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz";
+        sha1 = "31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30";
+      };
+    }
+    {
+      name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz";
+        sha1 = "add52d0e0a528cabe6afee8b46e2abb277df46bf";
+      };
+    }
+    {
+      name = "postcss_place___postcss_place_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_place___postcss_place_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz";
+        sha1 = "e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62";
+      };
+    }
+    {
+      name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+      path = fetchurl {
+        name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz";
+        sha1 = "c34ddacf8f902383b35ad1e030f178f4cdf118a5";
+      };
+    }
+    {
+      name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz";
+        sha1 = "2ed3eed393b3702879dec4a87032b210daeb04d1";
+      };
+    }
+    {
+      name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+      };
+    }
+    {
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+      };
+    }
+    {
+      name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz";
+        sha1 = "61b360ffdaedca84c7c918d2b0f0d0ea559ab01c";
+      };
+    }
+    {
+      name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+        sha1 = "8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea";
+      };
+    }
+    {
+      name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz";
+        sha1 = "71c8248f917ba2cc93037c9637ee09c64436fcff";
+      };
+    }
+    {
+      name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz";
+        sha1 = "c68ff7ba96527499e832724a2674d65603b645c0";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+        sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+      };
+    }
+    {
+      name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz";
+        sha1 = "482282c09a42706d1fc9a069b73f44ec08391dc9";
+      };
+    }
+    {
+      name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz";
+        sha1 = "da8b472d901da1e205b47bdc98637b9e9e550e5f";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.14.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz";
+        sha1 = "4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.18.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
+        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+      };
+    }
+    {
+      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 = "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 = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+      path = fetchurl {
+        name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
+        sha1 = "d23d41fe1375646de2d0104d3454a3008802cf7b";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
+      name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+      path = fetchurl {
+        name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz";
+        sha1 = "f2849e27db79fb4d6cfe24764fc4134f165989f2";
+      };
+    }
+    {
+      name = "pretty_error___pretty_error_2.1.1.tgz";
+      path = fetchurl {
+        name = "pretty_error___pretty_error_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    }
+    {
+      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 = "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 = "process___process_0.11.10.tgz";
+      path = fetchurl {
+        name = "process___process_0.11.10.tgz";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      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 = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+      path = fetchurl {
+        name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz";
+        sha1 = "ab05301d8c28536301622d69227632269a70ca3b";
+      };
+    }
+    {
+      name = "promise___promise_8.0.3.tgz";
+      path = fetchurl {
+        name = "promise___promise_8.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz";
+        sha1 = "f592e099c6cddc000d538ee7283bb190452b0bf6";
+      };
+    }
+    {
+      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 = "prompts___prompts_2.2.1.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz";
+        sha1 = "f901dd2a2dfee080359c0e20059b24188d75ad35";
+      };
+    }
+    {
+      name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+      path = fetchurl {
+        name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz";
+        sha1 = "825d6be46094663848237e3925a98c6e944e9869";
+      };
+    }
+    {
+      name = "prop_types___prop_types_15.7.2.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
+        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.5.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34";
+      };
+    }
+    {
+      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 = "psl___psl_1.4.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz";
+        sha1 = "5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.3.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      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.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      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_1.5.1.tgz";
+      path = fetchurl {
+        name = "q___q_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    }
+    {
+      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.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 = "query_string___query_string_4.3.4.tgz";
+      path = fetchurl {
+        name = "query_string___query_string_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz";
+        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
+      };
+    }
+    {
+      name = "querystring_es3___querystring_es3_0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring_es3___querystring_es3_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.1.1.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz";
+        sha1 = "60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e";
+      };
+    }
+    {
+      name = "raf_schd___raf_schd_4.0.2.tgz";
+      path = fetchurl {
+        name = "raf_schd___raf_schd_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.2.tgz";
+        sha1 = "bd44c708188f2e84c810bf55fcea9231bcaed8a0";
+      };
+    }
+    {
+      name = "raf___raf_3.4.1.tgz";
+      path = fetchurl {
+        name = "raf___raf_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
+        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+      };
+    }
+    {
+      name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+      path = fetchurl {
+        name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
+        sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e";
+      };
+    }
+    {
+      name = "randexp___randexp_0.4.6.tgz";
+      path = fetchurl {
+        name = "randexp___randexp_0.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz";
+        sha1 = "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3";
+      };
+    }
+    {
+      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 = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      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 = "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 = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz";
+        sha1 = "4dd2636846b585c2d842b1e44e1bc29044345874";
+      };
+    }
+    {
+      name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+      path = fetchurl {
+        name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz";
+        sha1 = "8eae107bb400be73132ed3b6a7b4fb156090208e";
+      };
+    }
+    {
+      name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+      path = fetchurl {
+        name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz";
+        sha1 = "3ad2bb8848a32319d760d0a84c56c14bdaae5e81";
+      };
+    }
+    {
+      name = "react_dom___react_dom_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_dom___react_dom_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz";
+        sha1 = "4840bce5409176bc3a1f2bd8cb10b92db452fda6";
+      };
+    }
+    {
+      name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+      path = fetchurl {
+        name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz";
+        sha1 = "c378c4b0a21e88b2e159a3e62b2f531fd63bf60d";
+      };
+    }
+    {
+      name = "react_is___react_is_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz";
+        sha1 = "b85dfecd48ad1ce469ff558a882ca8e8313928fa";
+      };
+    }
+    {
+      name = "react_is___react_is_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz";
+        sha1 = "984120fd4d16800e9a738208ab1fba422d23b5ab";
+      };
+    }
+    {
+      name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+      path = fetchurl {
+        name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
+        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+      };
+    }
+    {
+      name = "react_popper___react_popper_1.3.4.tgz";
+      path = fetchurl {
+        name = "react_popper___react_popper_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.4.tgz";
+        sha1 = "f0cd3b0d30378e1f663b0d79bcc8614221652ced";
+      };
+    }
+    {
+      name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+      path = fetchurl {
+        name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-4.2.1.tgz";
+        sha1 = "8982b74c3e1cf949afaa3c41050458c87b033982";
+      };
+    }
+    {
+      name = "react_scripts___react_scripts_3.2.0.tgz";
+      path = fetchurl {
+        name = "react_scripts___react_scripts_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz";
+        sha1 = "58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c";
+      };
+    }
+    {
+      name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.11.0.tgz";
+        sha1 = "72574566496462c808ac449b0287a4c0a1a7d8f8";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_2.9.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz";
+        sha1 = "df9cdb025796211151a436c69a8f3b97b5b07c8d";
+      };
+    }
+    {
+      name = "react___react_16.10.2.tgz";
+      path = fetchurl {
+        name = "react___react_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz";
+        sha1 = "a5ede5cdd5c536f745173c8da47bda64797a4cf0";
+      };
+    }
+    {
+      name = "reactstrap___reactstrap_8.0.1.tgz";
+      path = fetchurl {
+        name = "reactstrap___reactstrap_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/reactstrap/-/reactstrap-8.0.1.tgz";
+        sha1 = "0b663c8195f540bc1d6d5dbcbcf73cab56fe7c79";
+      };
+    }
+    {
+      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_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_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_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_2.3.6.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.4.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha1 = "a51c26754658e0a3c21dbf59163bd45ba6f447fc";
+      };
+    }
+    {
+      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 = "readdirp___readdirp_3.2.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz";
+        sha1 = "c30c33352b12c96dfb4b895421a49fd5a9593839";
+      };
+    }
+    {
+      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 = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+      path = fetchurl {
+        name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha1 = "9946fb3274e1628de6e36b2f6714953b4845094f";
+      };
+    }
+    {
+      name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+      path = fetchurl {
+        name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
+        sha1 = "749aceec7f3fdf8b63f927a04809e90c5c0b3460";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
+        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.0.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz";
+        sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz";
+        sha1 = "7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5";
+      };
+    }
+    {
+      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.14.1.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz";
+        sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb";
+      };
+    }
+    {
+      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 = "regex_parser___regex_parser_2.2.10.tgz";
+      path = fetchurl {
+        name = "regex_parser___regex_parser_2.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz";
+        sha1 = "9e66a8f73d89a107616e63b39d4deddfee912b37";
+      };
+    }
+    {
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+      path = fetchurl {
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
+        sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c";
+      };
+    }
+    {
+      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 = "regexpu_core___regexpu_core_4.6.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz";
+        sha1 = "2037c18b327cfce8a6fea2a4ec441f2432afb8b6";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
+        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
+        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+      };
+    }
+    {
+      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 = "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 = "renderkid___renderkid_2.0.3.tgz";
+      path = fetchurl {
+        name = "renderkid___renderkid_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz";
+        sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      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.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.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_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_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 = "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 = "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";
+        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_loader___resolve_url_loader_3.1.0.tgz";
+      path = fetchurl {
+        name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz";
+        sha1 = "54d8181d33cd1b66a59544d05cadf8e4aa7d37cc";
+      };
+    }
+    {
+      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.12.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz";
+        sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6";
+      };
+    }
+    {
+      name = "restore_cursor___restore_cursor_2.0.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    }
+    {
+      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 = "rework_visit___rework_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "rework_visit___rework_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz";
+        sha1 = "9945b2803f219e2f7aca00adb8bc9f640f842c9a";
+      };
+    }
+    {
+      name = "rework___rework_1.0.1.tgz";
+      path = fetchurl {
+        name = "rework___rework_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz";
+        sha1 = "30806a841342b54510aa4110850cd48534144aa7";
+      };
+    }
+    {
+      name = "rgb_regex___rgb_regex_1.0.1.tgz";
+      path = fetchurl {
+        name = "rgb_regex___rgb_regex_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    }
+    {
+      name = "rgba_regex___rgba_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "rgba_regex___rgba_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    }
+    {
+      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 = "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 = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+      path = fetchurl {
+        name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
+        sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91";
+      };
+    }
+    {
+      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.3.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.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 = "rxjs___rxjs_6.5.3.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz";
+        sha1 = "510e26317f4db91a7eb1de77d9dd9ba0a4899a3a";
+      };
+    }
+    {
+      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_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 = "sanitize_html___sanitize_html_1.20.1.tgz";
+      path = fetchurl {
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
+      };
+    }
+    {
+      name = "sass_loader___sass_loader_7.2.0.tgz";
+      path = fetchurl {
+        name = "sass_loader___sass_loader_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz";
+        sha1 = "e34115239309d15b2527cb62b5dfefb62a96ff7f";
+      };
+    }
+    {
+      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_3.1.11.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_3.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz";
+        sha1 = "d59d1fd332ec92ad98a2e0b2ee644702384b1c5b";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.16.2.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.16.2.tgz";
+        sha1 = "f74cd9d33eff6fc554edfb79864868e4819132c1";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.17.0.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz";
+        sha1 = "7c9c673e4ec781fac853927916d1c426b6f3ddfe";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz";
+        sha1 = "8f254f618d402cc80257486213c8970edfd7c22f";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.7.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.7.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz";
+        sha1 = "da5819fd049d5574f28e88a9bcc6dbc6e6f3906b";
+      };
+    }
+    {
+      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 = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
+        sha1 = "cfc200aef77b600c47da9bb8149c943e798c2fdb";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      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 = "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 = "setprototypeof___setprototypeof_1.1.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+      };
+    }
+    {
+      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 = "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 = "shallow_clone___shallow_clone_0.1.2.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz";
+        sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      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 = "shell_quote___shell_quote_1.7.2.tgz";
+      path = fetchurl {
+        name = "shell_quote___shell_quote_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz";
+        sha1 = "67a7d02c76c9da24f99d20808fcaded0e0e04be2";
+      };
+    }
+    {
+      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.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_swizzle___simple_swizzle_0.2.2.tgz";
+      path = fetchurl {
+        name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    }
+    {
+      name = "sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "e9488ea466070ea908fd44a3d6478fd4923c67ec";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.3.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha1 = "98168d62b79e3a5e758e27ae63c4a053d748f4eb";
+      };
+    }
+    {
+      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 = "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 = "slash___slash_3.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+      };
+    }
+    {
+      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 = "sockjs_client___sockjs_client_1.3.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz";
+        sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.4.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.19.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz";
+        sha1 = "d976bbe800af7bd20ae08598d582393508993c0d";
+      };
+    }
+    {
+      name = "sort_keys___sort_keys_1.1.2.tgz";
+      path = fetchurl {
+        name = "sort_keys___sort_keys_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz";
+        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
+      };
+    }
+    {
+      name = "source_list_map___source_list_map_2.0.1.tgz";
+      path = fetchurl {
+        name = "source_list_map___source_list_map_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.13.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      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 = "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 = "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 = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.1.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz";
+        sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2";
+      };
+    }
+    {
+      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 = "srcset___srcset_1.0.0.tgz";
+      path = fetchurl {
+        name = "srcset___srcset_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz";
+        sha1 = "a5669de12b42f3b1d5e83ed03c71046fc48f41ef";
+      };
+    }
+    {
+      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 = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "stable___stable_0.1.8.tgz";
+      path = fetchurl {
+        name = "stable___stable_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
+        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+      };
+    }
+    {
+      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_browserify___stream_browserify_2.0.2.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+      };
+    }
+    {
+      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_http___stream_http_2.8.3.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
+        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.0.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+    {
+      name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
+      path = fetchurl {
+        name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    }
+    {
+      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_length___string_length_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz";
+        sha1 = "107ef8c23456e187a8abd4a61162ff4ac6e25837";
+      };
+    }
+    {
+      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_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz";
+        sha1 = "75a729b10cfc1be439543dae442129459ce61e3d";
+      };
+    }
+    {
+      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";
+      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_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 = "stringify_object___stringify_object_3.3.0.tgz";
+      path = fetchurl {
+        name = "stringify_object___stringify_object_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz";
+        sha1 = "703065aefca19300d3ce88af4f5b3956d7556629";
+      };
+    }
+    {
+      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_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_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_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_comments___strip_comments_1.0.2.tgz";
+      path = fetchurl {
+        name = "strip_comments___strip_comments_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz";
+        sha1 = "82b9c45e7f05873bee53f37168af930aa368679d";
+      };
+    }
+    {
+      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.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha1 = "85713975a91fb87bf1b305cca77395e40d2a64a7";
+      };
+    }
+    {
+      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 = "style_loader___style_loader_1.0.0.tgz";
+      path = fetchurl {
+        name = "style_loader___style_loader_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz";
+        sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82";
+      };
+    }
+    {
+      name = "stylehacks___stylehacks_4.0.3.tgz";
+      path = fetchurl {
+        name = "stylehacks___stylehacks_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+      };
+    }
+    {
+      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 = "svg_parser___svg_parser_2.0.2.tgz";
+      path = fetchurl {
+        name = "svg_parser___svg_parser_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz";
+        sha1 = "d134cc396fa2681dc64f518330784e98bd801ec8";
+      };
+    }
+    {
+      name = "svgo___svgo_1.3.0.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz";
+        sha1 = "bae51ba95ded9a33a36b7c46ce9c359ae9154313";
+      };
+    }
+    {
+      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___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 = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      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 = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+      path = fetchurl {
+        name = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.1.2.tgz";
+        sha1 = "3c9906ca6e5d563faa0b81b2fdc6aa79cad9c0be";
+      };
+    }
+    {
+      name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+      path = fetchurl {
+        name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-core/-/tempusdominus-core-5.0.3.tgz";
+        sha1 = "808642e47a83f45d7ef18c1597fd7b1d413d69e5";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4";
+      };
+    }
+    {
+      name = "terser___terser_4.3.9.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz";
+        sha1 = "e4be37f80553d02645668727777687dad26bbca8";
+      };
+    }
+    {
+      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 = "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 = "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 = "timers_browserify___timers_browserify_2.0.11.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+      };
+    }
+    {
+      name = "timsort___timsort_0.3.0.tgz";
+      path = fetchurl {
+        name = "timsort___timsort_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    }
+    {
+      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_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      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_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 = "toggle_selection___toggle_selection_1.0.6.tgz";
+      path = fetchurl {
+        name = "toggle_selection___toggle_selection_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
+      };
+    }
+    {
+      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_3.0.1.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
+        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
+      };
+    }
+    {
+      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_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_pnp___ts_pnp_1.1.4.tgz";
+      path = fetchurl {
+        name = "ts_pnp___ts_pnp_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz";
+        sha1 = "ae27126960ebaefb874c6d7fa4729729ab200d90";
+      };
+    }
+    {
+      name = "tslib___tslib_1.10.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz";
+        sha1 = "c3c19f95973fb0a62973fb09d90d961ee43e5c8a";
+      };
+    }
+    {
+      name = "tsutils___tsutils_3.17.1.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_3.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz";
+        sha1 = "ed719917f11ca0dee586272b2ac49e015a2dd759";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      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_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_fest___type_fest_0.5.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz";
+        sha1 = "d6ef42a0356c6cd45f49485c3b6281fc148e48a2";
+      };
+    }
+    {
+      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 = "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 = "typed_styles___typed_styles_0.0.7.tgz";
+      path = fetchurl {
+        name = "typed_styles___typed_styles_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz";
+        sha1 = "93392a008794c4595119ff62dde6809dbc40a3d9";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "typescript___typescript_3.6.4.tgz";
+      path = fetchurl {
+        name = "typescript___typescript_3.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz";
+        sha1 = "b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d";
+      };
+    }
+    {
+      name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+      path = fetchurl {
+        name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz";
+        sha1 = "7527178b82f6a62a0f243d1f94fd30e3e3c21098";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.4.10.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz";
+        sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.6.2.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz";
+        sha1 = "fd8048c86d990ddd29fe99d3300e0cb329103f4d";
+      };
+    }
+    {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
+        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz";
+        sha1 = "a9cc6cc7ce63a0a3023fc99e341b94431d405a57";
+      };
+    }
+    {
+      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 = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "uniqs___uniqs_2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs___uniqs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.2.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+      };
+    }
+    {
+      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 = "unquote___unquote_1.1.1.tgz";
+      path = fetchurl {
+        name = "unquote___unquote_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    }
+    {
+      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 = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      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.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 = "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_loader___url_loader_2.1.0.tgz";
+      path = fetchurl {
+        name = "url_loader___url_loader_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz";
+        sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.7.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
+        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      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_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.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 = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utila___utila_0.4.0.tgz";
+      path = fetchurl {
+        name = "utila___utila_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    }
+    {
+      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.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 = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha1 = "e14de37b31a6d194f5690d67efc4e7f6fc6ab30e";
+      };
+    }
+    {
+      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 = "vendors___vendors_1.0.3.tgz";
+      path = fetchurl {
+        name = "vendors___vendors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz";
+        sha1 = "a6467781abd366217c050f8202e7e50cc9eef8c0";
+      };
+    }
+    {
+      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 = "vm_browserify___vm_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
+        sha1 = "30485ca7d70a6fd052420a3d12fd90e6339ce794";
+      };
+    }
+    {
+      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 = "warning___warning_3.0.0.tgz";
+      path = fetchurl {
+        name = "warning___warning_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz";
+        sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c";
+      };
+    }
+    {
+      name = "warning___warning_4.0.3.tgz";
+      path = fetchurl {
+        name = "warning___warning_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
+        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.6.0.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
+        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      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 = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz";
+        sha1 = "1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+      path = fetchurl {
+        name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz";
+        sha1 = "6b3e280327815b83152c79f42d0ca13b665773c4";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack___webpack_4.41.0.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.41.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz";
+        sha1 = "db6a254bde671769f7c14e90a1a55e73602fc70b";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.7.3.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29";
+      };
+    }
+    {
+      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_fetch___whatwg_fetch_2.0.4.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz";
+        sha1 = "dde6a5df315f9d39991aa17621853d720b85566f";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz";
+        sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb";
+      };
+    }
+    {
+      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.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
+      };
+    }
+    {
+      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 = "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 = "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 = "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 = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz";
+        sha1 = "26821b9bf16e9e37fd1d640289edddc08afd1950";
+      };
+    }
+    {
+      name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz";
+        sha1 = "e2c0280b149e3a504983b757606ad041f332c35b";
+      };
+    }
+    {
+      name = "workbox_build___workbox_build_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_build___workbox_build_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz";
+        sha1 = "414f70fb4d6de47f6538608b80ec52412d233e64";
+      };
+    }
+    {
+      name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz";
+        sha1 = "f53e079179c095a3f19e5313b284975c91428c91";
+      };
+    }
+    {
+      name = "workbox_core___workbox_core_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_core___workbox_core_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz";
+        sha1 = "005d2c6a06a171437afd6ca2904a5727ecd73be6";
+      };
+    }
+    {
+      name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz";
+        sha1 = "d790433562029e56837f341d7f553c4a78ebe921";
+      };
+    }
+    {
+      name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz";
+        sha1 = "9eda0183b103890b5c256e6f4ea15a1f1548519a";
+      };
+    }
+    {
+      name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz";
+        sha1 = "29c8e4db5843803b34cd96dc155f9ebd9afa453d";
+      };
+    }
+    {
+      name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz";
+        sha1 = "9fc45ed122d94bbe1f0ea9584ff5940960771cba";
+      };
+    }
+    {
+      name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz";
+        sha1 = "f8a470188922145cbf0c09a9a2d5e35645244e74";
+      };
+    }
+    {
+      name = "workbox_routing___workbox_routing_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_routing___workbox_routing_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz";
+        sha1 = "a675841af623e0bb0c67ce4ed8e724ac0bed0cda";
+      };
+    }
+    {
+      name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz";
+        sha1 = "d2be03c4ef214c115e1ab29c9c759c9fe3e9e646";
+      };
+    }
+    {
+      name = "workbox_streams___workbox_streams_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_streams___workbox_streams_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz";
+        sha1 = "0b57da70e982572de09c8742dd0cb40a6b7c2cc3";
+      };
+    }
+    {
+      name = "workbox_sw___workbox_sw_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_sw___workbox_sw_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz";
+        sha1 = "df69e395c479ef4d14499372bcd84c0f5e246164";
+      };
+    }
+    {
+      name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz";
+        sha1 = "47ff5ea1cc074b6c40fb5a86108863a24120d4bd";
+      };
+    }
+    {
+      name = "workbox_window___workbox_window_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_window___workbox_window_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz";
+        sha1 = "ee6051bf10f06afa5483c9b8dfa0531994ede0f3";
+      };
+    }
+    {
+      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 = "worker_rpc___worker_rpc_0.1.1.tgz";
+      path = fetchurl {
+        name = "worker_rpc___worker_rpc_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz";
+        sha1 = "cb565bd6d7071a8f16660686051e969ad32f54d5";
+      };
+    }
+    {
+      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 = "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.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
+        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "ws___ws_7.1.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.1.2.tgz";
+        sha1 = "c672d1629de8bb27a9699eb599be47aeeedd8f73";
+      };
+    }
+    {
+      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 = "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 = "xregexp___xregexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "xregexp___xregexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz";
+        sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020";
+      };
+    }
+    {
+      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_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      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 = "yargs_parser___yargs_parser_10.1.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+      };
+    }
+    {
+      name = "yargs___yargs_12.0.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_12.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz";
+        sha1 = "fe58234369392af33ecbef53819171eff0f5aadc";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz";
+        sha1 = "4c657a55e07e5f2cf947f8a366567c04a0dedc83";
+      };
+    }
+  ];
+}
diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 0bfad9030a8..7b92fc98e28 100644
--- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -2,19 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wireguard-exporter";
-  version = "3.2.0";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "MindFlavor";
     repo = "prometheus_wireguard_exporter";
     rev = version;
-    sha256 = "0j6xcdbh6fl8z9zyl3rqnnxjkg30nigs9a6ndlbi2ycgmlnds55m";
+    sha256 = "18khym7ygj29w98zf6i1l5c2pz84zla2z34l5jnh595xvwfl94pc";
   };
 
-  cargoSha256 = "1ndb33bi08j40b4jkj4q7d3k0cw5fscz2gc2cc3134nbs2r7jamk";
+  cargoSha256 = "1bi9nr1dhyv322pq6fjrhs12h3wdak53mvwkbyim1hmrp62vky4m";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
+  # Commonly used hack in nixpkgs to allow unstable features on a stable rustc. This is needed
+  # since `prometheus_exporter_base` uses `#!feature[]` to enable async which
+  # is actually not needed as `async` is part of rustc 1.39.0-stable. This can be removed
+  # as soon as https://github.com/MindFlavor/prometheus_exporter_base/pull/15 is merged.
+  RUSTC_BOOTSTRAP = 1;
+
   meta = with lib; {
     description = "A Prometheus exporter for WireGuard, written in Rust.";
     license = licenses.mit;
diff --git a/pkgs/servers/monitoring/riemann/default.nix b/pkgs/servers/monitoring/riemann/default.nix
index 83b7433b14a..295a7592880 100644
--- a/pkgs/servers/monitoring/riemann/default.nix
+++ b/pkgs/servers/monitoring/riemann/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riemann";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchurl {
     url = "https://github.com/riemann/riemann/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "1c31higrsmpkvl956rrw1hpwjyvypgrjzl6vky0gn55zgvisasn4";
+    sha256 = "1d7v2lg1b7z6v0qckq70nzqpqcs90v29laizsf8ghyj113ips3rc";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/zabbix/proxy.nix b/pkgs/servers/monitoring/zabbix/proxy.nix
index 53932af6a18..697492d9627 100644
--- a/pkgs/servers/monitoring/zabbix/proxy.nix
+++ b/pkgs/servers/monitoring/zabbix/proxy.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libevent, libiconv, openssl, pcre, zlib
 , odbcSupport ? true, unixODBC
-, snmpSupport ? true, net_snmp
+, snmpSupport ? true, net-snmp
 , sshSupport ? true, libssh2
 , sqliteSupport ? false, sqlite
 , mysqlSupport ? false, libmysqlclient
@@ -34,7 +34,7 @@ in
         zlib
       ]
       ++ optional odbcSupport unixODBC
-      ++ optional snmpSupport net_snmp
+      ++ optional snmpSupport net-snmp
       ++ optional sqliteSupport sqlite
       ++ optional sshSupport libssh2
       ++ optional mysqlSupport libmysqlclient
diff --git a/pkgs/servers/monitoring/zabbix/server.nix b/pkgs/servers/monitoring/zabbix/server.nix
index ac5dcca901d..4046cc7d8bb 100644
--- a/pkgs/servers/monitoring/zabbix/server.nix
+++ b/pkgs/servers/monitoring/zabbix/server.nix
@@ -2,7 +2,7 @@
 , jabberSupport ? true, iksemel
 , ldapSupport ? true, openldap
 , odbcSupport ? true, unixODBC
-, snmpSupport ? true, net_snmp
+, snmpSupport ? true, net-snmp
 , sshSupport ? true, libssh2
 , mysqlSupport ? false, libmysqlclient
 , postgresqlSupport ? false, postgresql
@@ -38,7 +38,7 @@ in
       ++ optional odbcSupport unixODBC
       ++ optional jabberSupport iksemel
       ++ optional ldapSupport openldap
-      ++ optional snmpSupport net_snmp
+      ++ optional snmpSupport net-snmp
       ++ optional sshSupport libssh2
       ++ optional mysqlSupport libmysqlclient
       ++ optional postgresqlSupport postgresql;
diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix
index 03e9464de01..0a61ba489eb 100644
--- a/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,21 +1,16 @@
 generic: {
   v44 = generic {
-    version = "4.4.0";
-    sha256 = "1a4csx1i21lcavfvj5djalcnxnlyh4mhk4dddzm895ipl87afzf4";
-  };
-
-  v42 = generic {
-    version = "4.2.7";
-    sha256 = "09znh8x1sass5mw6wjrfmizjbfls8ad2c16y24ldfj40hlfxz6wx";
+    version = "4.4.4";
+    sha256 = "0pw66zd89w0i9365zkwn6vihx9bdzsmg7f91hd7zzm42s7kyvxvv";
   };
 
   v40 = generic {
-    version = "4.0.13";
-    sha256 = "1hz4sdj4nw8fh124dqd41ag2wv4rcp4snpxgk80nx76rssw6c9ny";
+    version = "4.0.16";
+    sha256 = "0hjdvi0cwr9qczmkvnmmd22828hv5c587xcszp9pnap6621f3mx8";
   };
 
   v30 = generic {
-    version = "3.0.28";
-    sha256 = "16966danf5ww4lhjg5gx5bnpid8abxh2ymdg6k5mymrman5bcdjj";
+    version = "3.0.29";
+    sha256 = "1d81w68hnkjdj1a00iasg6aidw25syi4lrbsiyc98pdihmxbpiky";
   };
 }
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index 76b00b4cb29..c6b36fed8eb 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  version = "2.16";
+  version = "2.17";
   pname = "libmpdclient";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "libmpdclient";
     rev    = "v${version}";
-    sha256 = "0kd76pcf8pvmzl4k3cbq68c16imwaak2zljsa1wwwgk6idyw6gb1";
+    sha256 = "0458zq12ph1pbm9mcbdj8mm31iq3yzzc1aq9fhfwz341zwpwcp21";
   };
 
   nativeBuildInputs = [ meson ninja ]
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 7fcb5f94579..5dbd273fc3f 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -1,148 +1,162 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, systemd, boost, darwin
-, alsaSupport ? true, alsaLib
-, avahiSupport ? true, avahi, dbus
-, flacSupport ? true, flac
-, vorbisSupport ? true, libvorbis
-, madSupport ? true, libmad
-, id3tagSupport ? true, libid3tag
-, mikmodSupport ? true, libmikmod
-, shoutSupport ? true, libshout
-, sqliteSupport ? true, sqlite
-, curlSupport ? true, curl
-, audiofileSupport ? true, audiofile
-, bzip2Support ? true, bzip2
-, ffmpegSupport ? true, ffmpeg
-, fluidsynthSupport ? true, fluidsynth
-, zipSupport ? true, zziplib
-, samplerateSupport ? true, libsamplerate
-, mmsSupport ? true, libmms
-, mpg123Support ? true, mpg123
-, aacSupport ? true, faad2
-, lameSupport ? true, lame
-, pulseaudioSupport ? true, libpulseaudio
-, jackSupport ? true, libjack2
-, gmeSupport ? true, game-music-emu
-, icuSupport ? true, icu
-, clientSupport ? true, mpd_clientlib
-, opusSupport ? true, libopus
-, soundcloudSupport ? true, yajl
-, nfsSupport ? true, libnfs
-, smbSupport ? true, samba
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, systemd, boost, darwin
+# Inputs
+, curl, libmms, libnfs, samba
+# Archive support
+, bzip2, zziplib
+# Codecs
+, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu
+, libmad, libmikmod, mpg123, libopus, libvorbis, lame
+# Filters
+, libsamplerate
+# Outputs
+, alsaLib, libjack2, libpulseaudio, libshout
+# Misc
+, icu, sqlite, avahi, dbus, pcre, libgcrypt, expat
+# Services
+, yajl
+# Client support
+, mpd_clientlib
+# Tag support
+, libid3tag
 }:
 
-assert avahiSupport -> avahi != null && dbus != null;
-
 let
-  opt = stdenv.lib.optional;
-  mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
-  major = "0.20";
-  minor = "23";
-
-in stdenv.mkDerivation rec {
-  pname = "mpd";
-  version = "${major}${if minor == "" then "" else "." + minor}";
+  lib = stdenv.lib;
 
-  src = fetchFromGitHub {
-    owner  = "MusicPlayerDaemon";
-    repo   = "MPD";
-    rev    = "v${version}";
-    sha256 = "1z1pdgiddimnmck0ardrpxkvgk1wn9zxri5wfv5ppasbb7kfm350";
+  featureDependencies = {
+    # Storage plugins
+    udisks        = [ dbus ];
+    webdav        = [ curl expat ];
+    # Input plugins
+    curl          = [ curl ];
+    mms           = [ libmms ];
+    nfs           = [ libnfs ];
+    smbclient     = [ samba ];
+    # Archive support
+    bzip2         = [ bzip2 ];
+    zzip          = [ zziplib ];
+    # Decoder plugins
+    audiofile     = [ audiofile ];
+    faad          = [ faad2 ];
+    ffmpeg        = [ ffmpeg ];
+    flac          = [ flac ];
+    fluidsynth    = [ fluidsynth ];
+    gme           = [ game-music-emu ];
+    mad           = [ libmad ];
+    mikmod        = [ libmikmod ];
+    mpg123        = [ mpg123 ];
+    opus          = [ libopus ];
+    vorbis        = [ libvorbis ];
+    # Encoder plugins
+    vorbisenc     = [ libvorbis ];
+    lame          = [ lame ];
+    # Filter plugins
+    libsamplerate = [ libsamplerate ];
+    # Output plugins
+    alsa          = [ alsaLib ];
+    jack          = [ libjack2 ];
+    pulse         = [ libpulseaudio ];
+    shout         = [ libshout ];
+    # Commercial services
+    qobuz         = [ curl libgcrypt yajl ];
+    soundcloud    = [ curl yajl ];
+    tidal         = [ curl yajl ];
+    # Client support
+    libmpdclient  = [ mpd_clientlib ];
+    # Tag support
+    id3tag        = [ libid3tag ];
+    # Misc
+    dbus          = [ dbus ];
+    expat         = [ expat ];
+    icu           = [ icu ];
+    pcre          = [ pcre ];
+    sqlite        = [ sqlite ];
+    syslog        = [ ];
+    systemd       = [ systemd ];
+    yajl          = [ yajl ];
+    zeroconf      = [ avahi dbus ];
   };
 
-  patches = [ ./x86.patch ];
+  run = { features ? null }:
+    let
+      # Disable platform specific features if needed
+      # using libmad to decode mp3 files on darwin is causing a segfault -- there
+      # is probably a solution, but I'm disabling it for now
+      platformMask = lib.optionals stdenv.isDarwin [ "mad" "pulse" "jack" "nfs" "smbclient" ]
+                  ++ lib.optionals (!stdenv.isLinux) [ "alsa" "systemd" "syslog" ];
 
-  buildInputs = [ glib boost ]
-    ++ opt stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudioKit
-    ++ opt stdenv.isLinux systemd
-    ++ opt (stdenv.isLinux && alsaSupport) alsaLib
-    ++ opt avahiSupport avahi
-    ++ opt avahiSupport dbus
-    ++ opt flacSupport flac
-    ++ opt vorbisSupport libvorbis
-    # using libmad to decode mp3 files on darwin is causing a segfault -- there
-    # is probably a solution, but I'm disabling it for now
-    ++ opt (!stdenv.isDarwin && madSupport) libmad
-    ++ opt id3tagSupport libid3tag
-    ++ opt mikmodSupport libmikmod
-    ++ opt shoutSupport libshout
-    ++ opt sqliteSupport sqlite
-    ++ opt curlSupport curl
-    ++ opt bzip2Support bzip2
-    ++ opt audiofileSupport audiofile
-    ++ opt ffmpegSupport ffmpeg
-    ++ opt fluidsynthSupport fluidsynth
-    ++ opt samplerateSupport libsamplerate
-    ++ opt mmsSupport libmms
-    ++ opt mpg123Support mpg123
-    ++ opt aacSupport faad2
-    ++ opt lameSupport lame
-    ++ opt zipSupport zziplib
-    ++ opt (!stdenv.isDarwin && pulseaudioSupport) libpulseaudio
-    ++ opt (!stdenv.isDarwin && jackSupport) libjack2
-    ++ opt gmeSupport game-music-emu
-    ++ opt icuSupport icu
-    ++ opt clientSupport mpd_clientlib
-    ++ opt opusSupport libopus
-    ++ opt soundcloudSupport yajl
-    ++ opt (!stdenv.isDarwin && nfsSupport) libnfs
-    ++ opt (!stdenv.isDarwin && smbSupport) samba;
+      knownFeatures = builtins.attrNames featureDependencies;
+      platformFeatures = lib.subtractLists platformMask knownFeatures;
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+      features_ = if (features == null )
+        then platformFeatures
+        else
+          let unknown = lib.subtractLists knownFeatures features; in
+          if (unknown != [])
+            then throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}"
+            else
+              let unsupported = lib.subtractLists platformFeatures features; in
+              if (unsupported != [])
+                then throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}"
+                else features;
 
-  enableParallelBuilding = true;
+    in stdenv.mkDerivation rec {
+      pname = "mpd";
+      version = "0.21.17";
 
-  configureFlags =
-    [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
-      (mkFlag flacSupport "flac")
-      (mkFlag vorbisSupport "vorbis")
-      (mkFlag vorbisSupport "vorbis-encoder")
-      (mkFlag (!stdenv.isDarwin && madSupport) "mad")
-      (mkFlag mikmodSupport "mikmod")
-      (mkFlag id3tagSupport "id3")
-      (mkFlag shoutSupport "shout")
-      (mkFlag sqliteSupport "sqlite")
-      (mkFlag curlSupport "curl")
-      (mkFlag audiofileSupport "audiofile")
-      (mkFlag bzip2Support "bzip2")
-      (mkFlag ffmpegSupport "ffmpeg")
-      (mkFlag fluidsynthSupport "fluidsynth")
-      (mkFlag zipSupport "zzip")
-      (mkFlag samplerateSupport "lsr")
-      (mkFlag mmsSupport "mms")
-      (mkFlag mpg123Support "mpg123")
-      (mkFlag aacSupport "aac")
-      (mkFlag lameSupport "lame-encoder")
-      (mkFlag (!stdenv.isDarwin && pulseaudioSupport) "pulse")
-      (mkFlag (!stdenv.isDarwin && jackSupport) "jack")
-      (mkFlag stdenv.isDarwin "osx")
-      (mkFlag icuSupport "icu")
-      (mkFlag gmeSupport "gme")
-      (mkFlag clientSupport "libmpdclient")
-      (mkFlag opusSupport "opus")
-      (mkFlag soundcloudSupport "soundcloud")
-      (mkFlag (!stdenv.isDarwin && nfsSupport) "libnfs")
-      (mkFlag (!stdenv.isDarwin && smbSupport) "smbclient")
-      "--enable-debug"
-      "--with-zeroconf=avahi"
-    ]
-    ++ opt stdenv.isLinux
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
+      src = fetchFromGitHub {
+        owner  = "MusicPlayerDaemon";
+        repo   = "MPD";
+        rev    = "v${version}";
+        sha256 = "0a8nlsmkklm545vnnxcvgq40fqx4a6rp8xvrnvyy0iiwa94kf2r5";
+      };
 
-  NIX_LDFLAGS = ''
-    ${if shoutSupport then "-lshout" else ""}
-  '';
+      buildInputs = [ glib boost ]
+        ++ (lib.concatLists (lib.attrVals features_ featureDependencies))
+        ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AudioToolbox darwin.apple_sdk.frameworks.AudioUnit ];
 
-  meta = with stdenv.lib; {
-    description = "A flexible, powerful daemon for playing music";
-    homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz ];
-    platforms   = platforms.unix;
+      nativeBuildInputs = [ meson ninja pkgconfig ];
 
-    longDescription = ''
-      Music Player Daemon (MPD) is a flexible, powerful daemon for playing
-      music. Through plugins and libraries it can play a variety of sound
-      files while being controlled by its network protocol.
-    '';
-  };
+      enableParallelBuilding = true;
+
+      mesonAutoFeatures = "disabled";
+      mesonFlags =
+        map (x: "-D${x}=enabled") features_
+        ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures)
+        ++ lib.optional (builtins.elem "zeroconf" features_)
+          "-Dzeroconf=avahi"
+        ++ lib.optional (builtins.elem "systemd" features_)
+          "-Dsystemd_system_unit_dir=etc/systemd/system";
+
+      meta = with stdenv.lib; {
+        description = "A flexible, powerful daemon for playing music";
+        homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+        license     = licenses.gpl2;
+        maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
+        platforms   = platforms.unix;
+
+        longDescription = ''
+          Music Player Daemon (MPD) is a flexible, powerful daemon for playing
+          music. Through plugins and libraries it can play a variety of sound
+          files while being controlled by its network protocol.
+        '';
+      };
+    };
+in
+{
+  mpd = run { };
+  mpd-small = run { features = [
+    "webdav" "curl" "mms" "bzip2" "zzip"
+    "audiofile" "faad" "flac" "gme" "mad"
+    "mpg123" "opus" "vorbis" "vorbisenc"
+    "lame" "libsamplerate" "shout"
+    "libmpdclient" "id3tag" "expat" "pcre"
+    "yajl" "sqlite"
+    "soundcloud" "qobuz" "tidal"
+  ] ++ lib.optionals stdenv.isLinux [
+    "alsa" "systemd" "syslog"
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    "mad" "jack" "nfs"
+  ]; };
+  mpdWithFeatures = run;
 }
diff --git a/pkgs/servers/mtprotoproxy/default.nix b/pkgs/servers/mtprotoproxy/default.nix
index 523713e9d4d..550ee4c160f 100644
--- a/pkgs/servers/mtprotoproxy/default.nix
+++ b/pkgs/servers/mtprotoproxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtprotoproxy";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "alexbers";
     repo = "mtprotoproxy";
     rev = "v${version}";
-    sha256 = "1j8bxwcq968h5sd58g03yc4zjqkhkjdn0f04vr826hhsdxy853r4";
+    sha256 = "1bpgbqbgy7c637bzm6g5msm2i10dfl4qb7psy3k3cbaysw696kjc";
   };
 
   nativeBuildInputs = [ wrapPython ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 3b994337e9c..0d0aec4fb2c 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud";
-  version = "17.0.0";
+  version = "17.0.2";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
-    sha256 = "19j2l4qxkqsxcw75gvkinjqawia07wx2kcmzn8q33nzc6cdl50b0";
+    sha256 = "1qrxalyyfjlv3myzkn5z33smfpv8r1ph2w9ax6jqivspq3zrc9gk";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nginx-sso/default.nix b/pkgs/servers/nginx-sso/default.nix
index a89604c4e7c..5cc583c68b3 100644
--- a/pkgs/servers/nginx-sso/default.nix
+++ b/pkgs/servers/nginx-sso/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx-sso";
-  version = "0.16.1";
+  version = "0.22.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/Luzifer/nginx-sso";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "Luzifer";
     repo = "nginx-sso";
-    sha256 = "100k5dxrwj5xa1yh79qmyv6jampijqjbr4vkn1d9avim352yhnk1";
+    sha256 = "1kcyb7sbqna18yw3myi3c0imhh4hsa0h2k2y0bqfr2pqsnssz54a";
   };
 
   postInstall = ''
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index bc1aee8a687..21658a273b4 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -16,13 +16,13 @@ in
 stdenv.mkDerivation rec {
 
   pname = "EventStore";
-  version = "5.0.2";
+  version = "5.0.5";
 
   src = fetchFromGitHub {
     owner = "EventStore";
     repo = "EventStore";
     rev = "oss-v${version}";
-    sha256 = "0hjc64lmi9x1sq8zk24iag14k424l72g1n4z7wf7gaygd07kx9k8";
+    sha256 = "0cnpw24fvnj0q644p9jlijcqz6bxi61g0b59g52d3qxfydr0lgs0";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index ecc36dc283d..2e06ff5d95e 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "neo4j";
-  version = "3.5.11";
+  version = "3.5.13";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    sha256 = "0xk37rvb37rd7pwpv4ingmb2v6ad1kqka8ldmd16n89fqfvg5m2d";
+    sha256 = "0l320314pqy1mbcrkf7xkifwz86s5xa5saq81yqr8a67df0jknrg";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index f7a67ce398d..4b1003db284 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, lua, jemalloc }:
+{ stdenv, fetchurl, lua, jemalloc, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "5.0.6";
+  version = "5.0.7";
   pname = "redis";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1cr2dn9ilhj52snmlz38fw30gdlgbxq2sadyspawahp1cw988936";
+    sha256 = "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1";
   };
 
   # Cross-compiling fixes
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # needs tcl
 
+  passthru.tests.redis = nixosTests.redis;
+
   meta = with stdenv.lib; {
     homepage = https://redis.io;
     description = "An open source, advanced key-value store";
diff --git a/pkgs/servers/openafs/1.6/default.nix b/pkgs/servers/openafs/1.6/default.nix
index 8155a951061..a1e56ca161e 100644
--- a/pkgs/servers/openafs/1.6/default.nix
+++ b/pkgs/servers/openafs/1.6/default.nix
@@ -84,6 +84,6 @@ stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
   };
 }
diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix
index d410a4e55e5..0d61b1cd104 100644
--- a/pkgs/servers/openafs/1.6/module.nix
+++ b/pkgs/servers/openafs/1.6/module.nix
@@ -69,7 +69,7 @@ in stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
     broken = versionOlder kernel.version "3.18" || builtins.compareVersions kernel.version "5.0" >= 0
              || stdenv.targetPlatform.isAarch64;
   };
diff --git a/pkgs/servers/openafs/1.8/cross-build.patch b/pkgs/servers/openafs/1.8/cross-build.patch
index 2b4fd58b23a..62254164a1b 100644
--- a/pkgs/servers/openafs/1.8/cross-build.patch
+++ b/pkgs/servers/openafs/1.8/cross-build.patch
@@ -2,9 +2,9 @@ diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new
 --- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
 +++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
 @@ -23,6 +23,7 @@
+ AFS_LT_INIT
  
  AC_PROG_CC
- AC_PROG_LIBTOOL
 +AX_PROG_CC_FOR_BUILD
  
  AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index fca872a4a2b..5fe4cad021f 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -28,9 +28,6 @@ stdenv.mkDerivation {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
-  # Fixes broken format string in 1.8.2
-  hardeningDisable=[ "format" ];
-
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
@@ -96,6 +93,6 @@ stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
   };
 }
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index d58d2bff813..dab97f10bee 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,20 +11,6 @@ in stdenv.mkDerivation {
   name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
-  patches = [
-    # Linux 5.3
-    (fetchpatch {
-      name = "openafs_1_8-recurse-keyring_search.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=02d82275c17284d04629282aa374bb39f511c989";
-      sha256 = "03pkldwf6i67yf6i1705qp18rx5b0b342ryda8vfjw9lnvpinygs";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-send-sig.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=2b7af1243f46496c0b5973b3fa2a6396243f7613";
-      sha256 = "13gyh5ncpp15dl7056gdzl5xhp2bmafc557bd2a4bwx9nyj53bag";
-    })
-  ];
-
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
     ++ kernel.moduleBuildDependencies;
 
@@ -67,7 +53,7 @@ in stdenv.mkDerivation {
     homepage = https://www.openafs.org;
     license = licenses.ipl10;
     platforms = platforms.linux;
-    maintainers = [ maintainers.z77z maintainers.spacefrogg ];
+    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
     broken = versionOlder kernel.version "3.18";
   };
 
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index d1b23d8bcae..4a5591ef464 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.3";
+  version = "1.8.5";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "19ffchxwgqg4wl98l456jdpgq2w8b5izn8hxdsq9hjs0a1nc3nga";
+    sha256 = "08w5n803xm75j7daa3mr2ncfmcg0wpm7yasj6zyddqlb4f7xdppf";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "14smdhn1f6f3cbvvwxgjjld0m4b17vqh3rzkxf5apmjsdda21njq";
+      sha256 = "08mg3n0q2igfas1khj18r9apyrkpbp1jick0ix5nfaal90jbifis";
     })];
 }
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 67d6e954f9e..8b68d7bf501 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -8,13 +8,13 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.18.0.1944-f2cae8d6b";
+  version = "1.18.3.2156-349e9837e";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
-    sha256 = "1yq926j817aqngq5n8gjpcq5pr8lc5mi3xff1r834vkym1i5nz7q";
+    sha256 = "1kcmcpf2nnly01d2wrk6krg5jh5s7cyr31l9jkqlj5zkf5qj1bbx";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 2ce78a048c4..da201765e55 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkgconfig, autoreconfHook
 , libsndfile, libtool, makeWrapper, perlPackages
-, xorg, libcap, alsaLib, glib, gnome3
+, xorg, libcap, alsaLib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
 , speexdsp, systemd, webrtc-audio-processing
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
   preFixup = lib.optionalString stdenv.isLinux ''
     wrapProgram $out/libexec/pulse/gsettings-helper \
      --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
-     --prefix GIO_EXTRA_MODULES : "${lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/servers/quagga/default.nix b/pkgs/servers/quagga/default.nix
index fc130965cf1..bd679fd3ff8 100644
--- a/pkgs/servers/quagga/default.nix
+++ b/pkgs/servers/quagga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libcap, libnl, readline, net_snmp, less, perl, texinfo,
+{ stdenv, fetchurl, libcap, libnl, readline, net-snmp, less, perl, texinfo,
   pkgconfig, c-ares }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ readline net_snmp c-ares ]
+    [ readline net-snmp c-ares ]
     ++ stdenv.lib.optionals stdenv.isLinux [ libcap libnl ];
 
   nativeBuildInputs = [ pkgconfig perl texinfo ];
diff --git a/pkgs/servers/rainloop/default.nix b/pkgs/servers/rainloop/default.nix
index b037524f67f..ff6cb8c98eb 100644
--- a/pkgs/servers/rainloop/default.nix
+++ b/pkgs/servers/rainloop/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, dataPath ? "/etc/rainloop" }: let
   common = { edition, sha256 }:
     stdenv.mkDerivation (rec {
-      name = "rainloop-${edition}-${version}";
+      pname = "rainloop${stdenv.lib.optionalString (edition != "") "-${edition}"}";
       version = "1.13.0";
 
       buildInputs = [ unzip ];
@@ -26,8 +26,8 @@
       meta = with stdenv.lib; {
         description = "Simple, modern & fast web-based email client";
         homepage = "https://www.rainloop.net";
-        downloadPage = https://github.com/RainLoop/rainloop-webmail/releases;
-        license = licenses.agpl3;
+        downloadPage = "https://github.com/RainLoop/rainloop-webmail/releases";
+        license = with licenses; if edition == "" then unfree else agpl3;
         platforms = platforms.all;
         maintainers = with maintainers; [ das_j ];
       };
diff --git a/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch b/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
index 96710d6162d..27ebd59a48d 100644
--- a/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
+++ b/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
@@ -18,7 +18,7 @@ index 08e3bb5..b2ad498 100755
  */
  
 -define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
-+define('INSTALL_PATH', __DIR__ . '/../' );
++define('INSTALL_PATH', dirname(dirname($argv[0])).'/');
  
  require_once INSTALL_PATH . 'program/include/clisetup.php';
  
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index 93499d87e0b..8278674faf1 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roundcube";
-  version = "1.3.10";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
-    sha256 = "1gx8dgrr3p6fksv3pm381a080i9r6snwcmfd1q112mqg19ai3zk9";
+    sha256 = "0jml16djrap0602agwm3hvq53c4lw5bg2qklxbfk79qs3v926134";
   };
 
   patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index 440cd346522..7d91dc91a93 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.6.1";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1knqgq8xrlvwfc3y2hki6p0zr4dblm7max37y01p3bf641gs748z";
+    sha256 = "1hbqvjv9h1aghpyrl03w5f4j8gjy6n9lx83rmpsh5p7yd9ahwmf9";
   };
 
-  cargoSha256 = "13sx7mbirhrd0is7gvnk0mir5qizbhrlvsn0v55ibf3bybjsb644";
+  cargoSha256 = "08lizhag7aqz3a59gaapsymn7sf9c6im1aw64n0r9a5advhwdh18";
 
   meta = with stdenv.lib; {
     description = "An RPKI Validator written in Rust";
diff --git a/pkgs/servers/samba/3.x.nix b/pkgs/servers/samba/3.x.nix
deleted file mode 100644
index 1f432c18988..00000000000
--- a/pkgs/servers/samba/3.x.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ stdenv, fetchurl, readline, pam ? null, openldap ? null
-, popt, iniparser, libunwind
-, fam ? null , acl ? null, cups ? null
-, useKerberos ? false, kerberos ? null, winbind ? true
-
-# Eg. smbclient and smbspool require a smb.conf file.
-# If you set configDir to "" an empty configuration file
-# $out/lib/smb.conf is is created for you.
-#
-# configDir defaults to "/etc/samba" so that smbpassword picks up
-# the location of its passwd db files from the system configuration file
-# /etc/samba/smb.conf. That's why nixos touches /etc/samba/smb.conf even if you
-# don't enable the samba upstart service.
-, configDir ? "/etc/samba"
-
-}:
-
-assert useKerberos -> kerberos != null;
-
-stdenv.mkDerivation rec {
-  name = "samba-3.6.25";
-
-  src = fetchurl {
-    url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g";
-  };
-
-  patches = [(fetchurl {
-    url = "https://download.samba.org/pub/samba/patches/security/"
-        + "samba-3.6.25-security-2015-12-16.patch";
-    sha256 = "00dcjcn577825mfdwdp76jfy5kcrqw3s4d5c41gqdq5gfcdbmqdb";
-  })];
-
-  buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
-    ++ stdenv.lib.optional useKerberos kerberos;
-
-  enableParallelBuilding = true;
-
-  postPatch =
-    # XXX: Awful hack to allow cross-compilation.
-    '' sed -i source3/configure \
-           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
-    ''; # "
-
-  preConfigure =
-    '' cd source3
-       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
-       export libreplace_cv_HAVE_GETADDRINFO=yes
-       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
-    '';
-
-  configureFlags =
-    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
-    ++ [ "--with-aio-support"
-         "--disable-swat"
-         "--with-configdir=${configDir}"
-         "--with-fhs"
-         "--localstatedir=/var"
-       ]
-    ++ (stdenv.lib.optional winbind "--with-winbind")
-    ++ (stdenv.lib.optional (stdenv.cc.libc != null) "--with-libiconv=${stdenv.cc.libc}");
-
-  # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
-  installFlags = "DESTDIR=$(TMPDIR)/inst";
-
-  stripAllList = [ "bin" "sbin" ];
-
-  postInstall =
-    ''
-      mkdir -p $out
-      mv $TMPDIR/inst/$out/* $out/
-
-      mkdir -p "$out/lib/pkgconfig"
-      cp pkgconfig/*.pc "$out/lib/pkgconfig"
-
-      mkdir -pv $out/lib/cups/backend
-      ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
-      mkdir -pv $out/etc/openldap/schema
-      cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
-
-      # For nsswitch. Glibc >= 2.1 looks for libnss_<name>.so.2 (see man
-      # nsswitch.conf), so provide that too.
-      cp -v ../nsswitch/libnss_wins.so "$out/lib"
-      cp -v ../nsswitch/libnss_winbind.so "$out/lib"
-      (cd "$out/lib" && ln -s libnss_winbind.so libnss_winbind.so.2)
-      (cd "$out/lib" && ln -s libnss_wins.so libnss_wins.so.2)
-    '' # */
-    + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
-
-  meta = with stdenv.lib; {
-    homepage = https://www.samba.org/;
-    description = "The standard Windows interoperability suite of programs for Linux and Unix";
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-    knownVulnerabilities = [
-      "Numerous CVEs and no patches from upstream for 3.x since 2014."
-    ];
-  };
-}
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 044acbe1720..c7ee15bc9f8 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -20,11 +20,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.10.8";
+  version = "4.10.11";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "1x0hlhb674fndfkmimjicnzs543n3i8465a5ifcmjwvzavxha7y4";
+    sha256 = "157qvz8x2s7994rzxhcmpc79cfk86zc0rq5qwg8alvjcw0r457v0";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index 3a480bd7467..a40a142368a 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, stdenv, fetchurl, unzip, elasticsearch }:
+{ lib, stdenv, fetchurl, unzip, elasticsearch }:
 
 let
   esVersion = elasticsearch.version;
@@ -16,27 +16,27 @@ let
   }:
     stdenv.mkDerivation (a // {
       inherit installPhase;
+      pname = "elasticsearch-${pluginName}";
       dontUnpack = true;
       buildInputs = [ unzip ];
       meta = a.meta // {
         platforms = elasticsearch.meta.platforms;
-        maintainers = (a.meta.maintainers or []) ++ (with stdenv.lib.maintainers; [ offline ]);
+        maintainers = (a.meta.maintainers or []) ++ (with lib.maintainers; [ offline ]);
       };
     });
 in {
 
   analysis-lemmagen = esPlugin rec {
-    name = "elasticsearch-analysis-lemmagen-${version}";
-    pluginName = "elasticsearch-analysis-lemmagen";
+    pluginName = "analysis-lemmagen";
     version = esVersion;
     src = fetchurl {
-      url = "https://github.com/vhyza/${pluginName}/releases/download/v${version}/${name}-plugin.zip";
+      url = "https://github.com/vhyza/${pluginName}/releases/download/v${version}/${pluginName}-${version}-plugin.zip";
       sha256 =
-        if version == "7.0.1" then "155zj9zw81msx976c952nk926ndav1zqhmy2xih6nr82qf0p71hm"
-        else if version == "6.7.2" then "1r176ncjbilkmri2c5rdxh5xqsrn77m1f0p98zs47czwlqh230iq"
+        if version == "7.3.1" then "1nb82z6s94mzdx1srb1pwj7cpzs8w74njap0xiqn7sg5ylk6adm8"
+        else if version == "6.8.3" then "12bshvp01pp2lgwd0cn9l58axg8gdimsh4g9wfllxi1bdpv4cy53"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen;
       description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
       license = licenses.asl20;
@@ -44,37 +44,50 @@ in {
   };
 
   discovery-ec2 = esPlugin rec {
-    name = "elasticsearch-discovery-ec2-${version}";
     pluginName = "discovery-ec2";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
       sha256 =
-        if version == "7.0.1" then "0nrvralh4fygs0ys2ikg3x08jdyh9276d5w7yfncbbi0xrg9hk6g"
-        else if version == "6.7.2" then "1p0cdz3lfksfd2kvlcj0syxhbx27mimsaw8q4kgjpjjjwqayg523"
-        else if version == "5.6.16" then "1300pfmnlpfm1hh2jgas8j2kqjqiqkxhr8czshj9lx0wl4ciknin"
+        if version == "7.3.1" then "1p30by7pqnvj8dcwws51kh9s962c42qwqq07gmj4jl83zxcl8kyl"
+        else if version == "6.8.3" then "0pmffz761dqjpvmkl7i7xsyw1iyyspqpddxp89rjsznfc9pak5im"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2;
       description = "The EC2 discovery plugin uses the AWS API for unicast discovery.";
       license = licenses.asl20;
     };
   };
 
+  ingest-attachment = esPlugin rec {
+    pluginName = "ingest-attachment";
+    version = esVersion;
+    src = fetchurl {
+      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
+      sha256 =
+        if version == "7.3.1" then "1b9l17zv6582sdcdiabwd293xx5ckc2d3h6smiv6znk5f4dxj7km"
+        else if version == "6.8.3" then "0kfr4i2rcwinjn31xrc2piicasjanaqcgnbif9xc7lnak2nnzmll"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
+    };
+    meta = with lib; {
+      homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/ingest-attachment;
+      description = "Ingest processor that uses Apache Tika to extract contents";
+      license = licenses.asl20;
+    };
+  };
+
   repository-s3 = esPlugin rec {
-    name = "elasticsearch-repository-s3-${version}";
     pluginName = "repository-s3";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.0.1" then "17bf8m1q92j5yhgldckl4hlsfv6qgwwqdc1da9kzgidgky7jwkbc"
-        else if version == "6.7.2" then "1l353zfyv3qziz8xkann9cbzx4wj5s14wnknfw351j6vgdq26l12"
-        else if version == "5.6.16" then "0k3li5xv1270ygb9lqk6ji3nngngl2im3z38k08nd627vxdrzij2"
+        if version == "7.3.1" then "1dqd3hd8qa1bsvd1p42k5zcrdmb66d2yspfc7g8nsz89w6b1invg"
+        else if version == "6.8.3" then "1mm6hj2m1db68n81rzsvlw6nisflr5ikzk5zv9nmk0z641n5vh1x"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-s3;
       description = "The S3 repository plugin adds support for using AWS S3 as a repository for Snapshot/Restore.";
       license = licenses.asl20;
@@ -82,18 +95,16 @@ in {
   };
 
   repository-gcs = esPlugin rec {
-    name = "elasticsearch-repository-gcs-${version}";
     pluginName = "repository-gcs";
     version = esVersion;
-    src = pkgs.fetchurl {
+    src = fetchurl {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
       sha256 =
-        if version == "7.0.1" then "0a3rc2gggsj7xfncil1s53dmq799lcm82h0yncs94jnb182sbmzc"
-        else if version == "6.7.2" then "0afccbvb7x6y3nrwmal09vpgxyz4lar6lffw4mngalcppsk8irvv"
-        else if version == "5.6.16" then "0hwqx4yhdn4c0ccdpvgrg30ag8hy3mgxgk7h7pibdmzvy7qw7501"
+        if version == "7.3.1" then "0kpb1hn2fb4lh6kn96vi7265ign9lwcd0zfc19l4n6fpp8js5lfh"
+        else if version == "6.8.3" then "1s2klpvnhpkrk53p64zbga3b66czi7h1a13f58kfn2cn0zfavnbk"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-gcs;
       description = "The GCS repository plugin adds support for using Google Cloud Storage as a repository for Snapshot/Restore.";
       license = licenses.asl20;
@@ -103,23 +114,21 @@ in {
   search-guard = let
     majorVersion = lib.head (builtins.splitVersion esVersion);
   in esPlugin rec {
-    name = "elasticsearch-search-guard-${version}";
     pluginName = "search-guard";
     version =
-      if esVersion == "7.0.1" then "${esVersion}-35.0.0"
-      else if esVersion == "6.7.2" then "${esVersion}-25.1"
-      else if esVersion == "5.6.16" then "${esVersion}-19.3"
+      # https://docs.search-guard.com/latest/search-guard-versions
+      if esVersion == "7.3.1" then "${esVersion}-37.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.0.1-35.0.0" then "0wsiqq7j7ph9g2vhhvjmwrh5a2q1wzlysgr75gc35zcvqz6cq8ha"
-        else if version == "6.7.2-25.1" then "119r1zibi0z40mfxrpkx0zzay0yz6c7syqmmw8i2681wmz4nksda"
-        else if version == "5.6.16-19.3" then "1q70anihh89c53fnk8wlq9z5dx094j0f9a0y0v2zsqx18lz9ikmx"
+        if version == "7.3.1-37.0.0" then "0rb631npr6vykrhln3x6q75xwb0wndvrspwnak0rld5d7pqn1r04"
+        else if version == "6.8.3-25.5" then "0a7ys9qinc0fjyka03cx9rv0pm7wnvslk234zv5vrphkrj52s1cb"
         else throw "unsupported version ${version} for plugin ${pluginName}";
     };
-    meta = with stdenv.lib; {
-      homepage = https://github.com/floragunncom/search-guard;
+    meta = with lib; {
+      homepage = https://search-guard.com;
       description = "Elasticsearch plugin that offers encryption, authentication, and authorisation. ";
       license = licenses.asl20;
     };
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 7fb7a774e8d..cfadeac5f07 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "9.0.9";
+  version = "9.1.0";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "0axf07cg8j5lahkl41li9f7i3c6318cmlb40865iscmkjl17yxh9";
+    sha256 = "11mlpnaldb6z438qdb7qjq9dxbh71l6v6lrv69fxka34izpgyhkk";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/search/solr/8.x.nix b/pkgs/servers/search/solr/8.x.nix
index 7abfe9a2b20..6a5dfb98aa7 100644
--- a/pkgs/servers/search/solr/8.x.nix
+++ b/pkgs/servers/search/solr/8.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "solr";
-  version = "8.3.0";
+  version = "8.3.1";
 
   src = fetchurl {
     url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
-    sha256 = "11qkipmj8qq4gw5lwnx1j8dr2lq8d5h1v1fbdyppw8l6a68j160s";
+    sha256 = "0n80690vdsd0gf5gg77kg8pyf3nw0iv33zag9r7al88j5riy42ih";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
index f97182612fd..99402b3e1be 100644
--- a/pkgs/servers/shairport-sync/default.nix
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -2,11 +2,11 @@
 , libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.4";
+  version = "3.3.5";
   pname = "shairport-sync";
 
   src = fetchFromGitHub {
-    sha256 = "07rxf1la93g5y7yq49fglhxji8vizzr268p1ccf8ws8j025vbl7n";
+    sha256 = "1qaxx1g4dvdx54mc1kw07hm445zij37w6qmkdcwymy13krvsfd4b";
     rev = version;
     repo = "shairport-sync";
     owner = "mikebrady";
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
new file mode 100644
index 00000000000..b9876fbc5ea
--- /dev/null
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, lib, buildGoModule }:
+
+buildGoModule rec {
+    pname = "dolt";
+    version = "0.12.0";
+
+    src = fetchFromGitHub {
+        owner = "liquidata-inc";
+        repo = "dolt";
+        rev = "v${version}";
+        sha256 = "1sy8ia9j5aymjpf3k86fc8yw6384iy9ryd8cl72fr9cp70l7sx1q";
+    };
+
+    modRoot = "./go";
+    subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
+    modSha256 = "0fagi529m1gf5jrqdlg9vxxq4yz9k9q8h92ch0gahp43kxfbgr4q";
+
+    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;
+    };
+}
diff --git a/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch b/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch
deleted file mode 100644
index dee77d9ab17..00000000000
--- a/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/libmariadb/mariadb_config/mariadb_config.c.in b/libmariadb/mariadb_config/mariadb_config.c.in
-index 703c9466..c6d3f1bc 100644
---- a/libmariadb/mariadb_config/mariadb_config.c.in
-+++ b/libmariadb/mariadb_config/mariadb_config.c.in
-@@ -5,13 +5,13 @@
- 
- static char *mariadb_progname;
- 
--#define INCLUDE "-I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql"
--#define LIBS    "-L@CMAKE_INSTALL_PREFIX@/@INSTALL_LIBDIR@/ -lmariadb"
-+#define INCLUDE "-I@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_INCLUDEDIR@/mysql"
-+#define LIBS    "-L@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_LIBDIR@/ -lmariadb"
- #define LIBS_SYS "@extra_dynamic_LDFLAGS@"
- #define CFLAGS  INCLUDE
- #define VERSION "@MARIADB_CLIENT_VERSION@"
- #define CC_VERSION "@CPACK_PACKAGE_VERSION@"
--#define PLUGIN_DIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@"
-+#define PLUGIN_DIR "@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_PLUGINDIR@"
- #define SOCKET  "@MARIADB_UNIX_ADDR@"
- #define PORT "@MARIADB_PORT@"
- #define TLS_LIBRARY_VERSION "@TLS_LIBRARY_VERSION@"
diff --git a/pkgs/servers/sql/mariadb/connector-c/3_1.nix b/pkgs/servers/sql/mariadb/connector-c/3_1.nix
index cac300cf15a..257fa93d2b5 100644
--- a/pkgs/servers/sql/mariadb/connector-c/3_1.nix
+++ b/pkgs/servers/sql/mariadb/connector-c/3_1.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./. (args // {
-  version = "3.1.4";
-  sha256 = "05jkaq151a45rqpyh0vrn6xcpawayfxyzhwn1w32hk0fw3z746ks";
+  version = "3.1.5";
+  sha256 = "1mfrm595kfnpjladaq6m184npa3rxff9pr1vwa35r057s7nmzpm9";
 })
diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix
index 01cf015c825..af344d63721 100644
--- a/pkgs/servers/sql/mariadb/connector-c/default.nix
+++ b/pkgs/servers/sql/mariadb/connector-c/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fetchpatch
+{ stdenv, fetchurl, cmake
 , curl, openssl, zlib
 , libiconv
 , version, sha256, ...
@@ -18,13 +18,6 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [
-    (fetchpatch {
-      url = "https://github.com/MariaDB/mariadb-connector-c/commit/ee91b2c98a63acb787114dee4f2694e154630928.patch";
-      sha256 = "05mlyv20kzn9bax4byv2ph1cf42541fcl1zcqzbfwqmynnisvdah";
-    })
-  ];
-
   cmakeFlags = [
     "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock"
     "-DWITH_CURL=ON"
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 63ad6ce3b25..d451c1dab5c 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,9 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
 , libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
 , libaio, libevent, jemalloc, cracklib, systemd, numactl, perl
-, fixDarwinDylibNames, cctools, CoreServices
-, asio, buildEnv, check, scons
-, less, fetchpatch
+, fixDarwinDylibNames, cctools, CoreServices, less
 , withoutClient ? false
 }:
 
@@ -21,14 +19,14 @@ mariadb = server // {
 };
 
 common = rec { # attributes common to both builds
-  version = "10.3.18";
+  version = "10.3.20";
 
   src = fetchurl {
     urls = [
       "https://downloads.mariadb.org/f/mariadb-${version}/source/mariadb-${version}.tar.gz"
       "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"
     ];
-    sha256 = "1p6yvmahnkmsz50zjzp20ak7jzbqysly5bdl51nnrngrbfl6qib9";
+    sha256 = "14n4zfpwhvafz02r95bidmkwq2bz9jj3safqni1h21jfd0nqz0ak";
     name   = "mariadb-${version}.tar.gz";
   };
 
@@ -36,8 +34,8 @@ common = rec { # attributes common to both builds
 
   buildInputs = [
     ncurses openssl zlib pcre jemalloc libiconv curl
-  ] ++ optionals stdenv.isLinux [ libaio systemd libkrb5 ]
-    ++ optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
+  ] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
+    ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
 
   prePatch = ''
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -45,13 +43,7 @@ common = rec { # attributes common to both builds
 
   patches = [
     ./cmake-includedir.patch
-    ./cmake-libmariadb-includedir.patch
-  ] ++ optional stdenv.hostPlatform.isDarwin (fetchpatch {
-    url = "https://github.com/MariaDB/mariadb-connector-c/commit/ee91b2c98a63acb787114dee4f2694e154630928.patch";
-    extraPrefix = "libmariadb/";
-    sha256 = "06i865zwyhs9fvrgmargzn09pbg1cmably3c4wifd241bj8ig8qk";
-    stripLen = 1;
-  });
+  ];
 
   cmakeFlags = [
     "-DBUILD_CONFIG=mysql_release"
@@ -81,7 +73,7 @@ common = rec { # attributes common to both builds
     "-DWITH_SAFEMALLOC=OFF"
     "-DWITH_UNIT_TESTS=OFF"
     "-DEMBEDDED_LIBRARY=OFF"
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but
     # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides
     # to pass in java explicitly.
@@ -92,10 +84,14 @@ common = rec { # attributes common to both builds
   ];
 
   postInstall = ''
+    # Remove Development components. Need to use libmysqlclient.
     rm "$out"/lib/mysql/plugin/daemon_example.ini
-    mkdir -p "$dev"/bin && mv "$out"/bin/{mariadb_config,mysql_config} "$dev"/bin
-    mkdir -p "$dev"/lib/ && mv "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} "$dev"/lib
-    mkdir -p "$dev"/lib/mysql/plugin && mv "$out"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so} "$dev"/lib/mysql/plugin
+    rm "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a}
+    rm "$out"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so}
+    rm "$out"/bin/{mariadb_config,mysql_config}
+    rm -r $out/include
+    rm -r $out/lib/pkgconfig
+    rm -r $out/share/{aclocal,pkgconfig}
   '';
 
   enableParallelBuilding = true;
@@ -114,9 +110,7 @@ common = rec { # attributes common to both builds
 client = stdenv.mkDerivation (common // {
   pname = "mariadb-client";
 
-  outputs = [ "out" "dev" "man" ];
-
-  propagatedBuildInputs = [ openssl zlib ]; # required from mariadb.pc
+  outputs = [ "out" "man" ];
 
   patches = common.patches ++ [
     ./cmake-plugin-includedir.patch
@@ -129,11 +123,6 @@ client = stdenv.mkDerivation (common // {
     "-DINSTALL_MYSQLSHAREDIR=share/mysql-client"
   ];
 
-  preConfigure = ''
-   cmakeFlags="$cmakeFlags \
-      -DCMAKE_INSTALL_PREFIX_DEV=$dev"
-  '';
-
   postInstall = common.postInstall + ''
     rm -r "$out"/share/doc
     rm "$out"/bin/{mysqltest,mytop,wsrep_sst_rsync_wan}
@@ -147,20 +136,20 @@ client = stdenv.mkDerivation (common // {
 server = stdenv.mkDerivation (common // {
   pname = "mariadb-server";
 
-  outputs = [ "out" "dev" "man" ];
+  outputs = [ "out" "man" ];
 
-  nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.isDarwin) makeWrapper;
+  nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
 
   buildInputs = common.buildInputs ++ [
     xz lzo lz4 bzip2 snappy
     libxml2 boost judy libevent cracklib
-  ] ++ optional (stdenv.isLinux && !stdenv.isAarch32) numactl
-    ++ optional stdenv.isLinux linux-pam
-    ++ optional (!stdenv.isDarwin) mytopEnv;
+  ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
+    ++ optional stdenv.hostPlatform.isLinux linux-pam
+    ++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv;
 
   patches = common.patches ++ [
     ./cmake-without-client.patch
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     ./cmake-without-plugin-auth-pam.patch
   ];
 
@@ -175,44 +164,39 @@ server = stdenv.mkDerivation (common // {
     "-DWITH_INNODB_DISALLOW_WRITES=ON"
     "-DWITHOUT_EXAMPLE=1"
     "-DWITHOUT_FEDERATED=1"
-  ] ++ stdenv.lib.optionals withoutClient [
+  ] ++ optionals withoutClient [
     "-DWITHOUT_CLIENT=ON"
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     "-DWITHOUT_OQGRAPH=1"
     "-DWITHOUT_TOKUDB=1"
   ];
 
-  preConfigure = ''
-    cmakeFlags="$cmakeFlags \
-      -DCMAKE_INSTALL_PREFIX_DEV=$dev
-      -DINSTALL_SHAREDIR=$dev/share/mysql
-      -DINSTALL_SUPPORTFILESDIR=$dev/share/mysql"
-  '' + optionalString (!stdenv.isDarwin) ''
+  preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
     patchShebangs scripts/mytop.sh
   '';
 
   postInstall = common.postInstall + ''
     chmod +x "$out"/bin/wsrep_sst_common
-    rm "$out"/bin/mysql_client_test
+    rm "$out"/bin/{mysql_client_test,mysqltest}
     rm -r "$out"/data # Don't need testing data
-    rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
     mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
   '' + optionalString withoutClient ''
     ${ # We don't build with GSSAPI on Darwin
-      optionalString (!stdenv.isDarwin) ''
+      optionalString (!stdenv.hostPlatform.isDarwin) ''
         rm "$out"/lib/mysql/plugin/auth_gssapi_client.so
       ''
     }
     rm "$out"/lib/mysql/plugin/client_ed25519.so
-  '' + optionalString (!stdenv.isDarwin) ''
+    rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
+  '' + optionalString (!stdenv.hostPlatform.isDarwin) ''
     sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster
   '';
 
   # perlPackages.DBDmysql is broken on darwin
-  postFixup = optionalString (!stdenv.isDarwin) ''
+  postFixup = optionalString (!stdenv.hostPlatform.isDarwin) ''
     wrapProgram $out/bin/mytop --set PATH ${less}/bin/less
   '';
 
-  CXXFLAGS = optionalString stdenv.isi686 "-fpermissive";
+  CXXFLAGS = optionalString stdenv.hostPlatform.isi686 "-fpermissive";
 });
 in mariadb
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 263a21983e2..73d37ba11a2 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Galera 3 wsrep provider library";
-    homepage = http://galeracluster.com/;
+    homepage = https://galeracluster.com/;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ izorkin ];
     platforms = platforms.all;
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 34ebebbbcc1..08d2f8e504b 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "11.33.11";
+  version = "11.35.3";
 in stdenv.mkDerivation {
 
   pname = "monetdb";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
-    sha256 = "1fzgf1hplwlki6l6yvrk8an9y4jj40xzl4m5x1d8vi3xr526bzc9";
+    sha256 = "185v8ph8jq8im77dmm20d64nwgjzzc01kz71rh09nb6x6rgcna2x";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index 8785e052224..fcb64550d6f 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -5,10 +5,11 @@
 
 let
 self = stdenv.mkDerivation rec {
-  name = "mysql-8.0.17";
+  pname = "mysql";
+  version = "8.0.17";
 
   src = fetchurl {
-    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${name}.tar.gz";
+    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
     sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
   };
 
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 135844b5e68..440375db841 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -180,41 +180,41 @@ let
 in self: {
 
   postgresql_9_5 = self.callPackage generic {
-    version = "9.5.19";
+    version = "9.5.20";
     psqlSchema = "9.5";
-    sha256 = "1cqvbsyfs9048wbvdv0vhhaksjyjqv2vvh6ij4vqmjibc4kal34n";
+    sha256 = "03fygn3nn6l6ar66sldy5akdg1gynny3yxbrpvmmp5ygfnrm2mwj";
     this = self.postgresql_9_5;
     inherit self;
   };
 
   postgresql_9_6 = self.callPackage generic {
-    version = "9.6.15";
+    version = "9.6.16";
     psqlSchema = "9.6";
-    sha256 = "02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w";
+    sha256 = "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w";
     this = self.postgresql_9_6;
     inherit self;
   };
 
   postgresql_10 = self.callPackage generic {
-    version = "10.10";
+    version = "10.11";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "0lzj46dwd9cw94gnqm36bxd7jlhfdyqjrfzr3c4xd3prfn2rnkxd";
+    sha256 = "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d";
     this = self.postgresql_10;
     inherit self;
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.5";
+    version = "11.6";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz";
+    sha256 = "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9";
     this = self.postgresql_11;
     inherit self;
   };
 
   postgresql_12 = self.callPackage generic {
-    version = "12.0";
+    version = "12.1";
     psqlSchema = "12";
-    sha256 = "1ijm13gx1d9ai09n26nbdc77n9b8akh6pj21yy9vfn7p2mr3k8nd";
+    sha256 = "1vc3hjcbgkdfczc1ipkk02rahabn7fabpb7qs203jxpnpamz76x0";
     this = self.postgresql_12;
     inherit self;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index 05fd405dbe6..5946b8f5ec3 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_auto_failover";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "citusdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0v4fj83zifcqhihc5myh0qv2396n5kw4sa8ix6jljmp6wh036z9j";
+    sha256 = "1idlgqazr2qra5x702f2yjcl99zwm1i5fi84paplfy98i5jjmxm1";
   };
 
   buildInputs = [ postgresql openssl zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index 9a61e3c835d..deac1072e65 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_hll";
-  version = "2.12";
+  version = "2.14";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-hll";
     rev    = "refs/tags/v${version}";
-    sha256 = "1jdc9gjqc3dkjxv855q1p594j0awhrrymrcqnl5vw5vx2ny3bpgn";
+    sha256 = "13vphxkc9pn4bkpgab560bgdbl99li2b3p1n2rm5a78wswlsbsps";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
index 5fbe757598c..94a71cf223a 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_partman";
-  version = "4.1.0";
+  version = "4.2.2";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "pgpartman";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0bzv92x492jcwzhal9x4vc3vszixscdpxc6yq5rrqld26dhmsp06";
+    sha256 = "04d34b5z957imm3dndzjn474rxbgx95ha7a9x3vd0rya1pjv927r";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
index c368929db5d..b6300f78af2 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_topn.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_topn";
-  version = "2.2.2";
+  version = "2.3.0";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-topn";
     rev    = "refs/tags/v${version}";
-    sha256 = "1bh28nrxj06vc2cvlsxlwrwad5ff3lfj3kr5cnnggwjk2dhwbbjm";
+    sha256 = "05mjzm7rz5j7byzag23526hhsqsg4dsyxxsg8q9ray1rwxjbr392";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 15a22067000..866dd8021d0 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgroonga";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0d913rkxx6qlkav6z9crsz3ypqkdffn4c667nsgzh5s9n4wbbpb8";
+    sha256 = "0pdz2lpi7g1n9b5rg6kwhh6fr0bwf06zr642brmh53n6mp41186m";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 804356e9f6b..54e92b977bc 100644
--- a/pkgs/servers/sql/postgresql/ext/pgtap.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgtap";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "theory";
     repo = "pgtap";
     rev = "v${version}";
-    sha256 = "0ks53lsrpa8yxav8jh0jlvs25y6p7mkcdch8il1kvib9k5zq2wnb";
+    sha256 = "09fvzsl8m18yzpvrz6cqvs1ffzs451iwmb2mw39yq69jgqby5kqy";
   };
 
   nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 590d46b430e..ddefaea1549 100644
--- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
-  version = "1.0.8";
+  version = "2.0.1";
 
   buildInputs = [ postgresql freetds ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "tds-fdw";
     repo   =  pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0dlv1imiy773yplqqpl26xka65bc566k2x81wkrbvwqagnwvcai2";
+    sha256 = "1zpcrx30bvaf72782hgz2s19i5ndwvi7z87fanl1lnymznrk9lzg";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 296e7e0a41a..0427de60aa5 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "1.5.0";
+  version = "1.5.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "0qw7yp2vh3fkx43zlnj8xsvd0d68rcmdcl3p9jpmr97hyl376xf2";
+    sha256 = "1mgmkc42nksfsmjg463v03rj1v8gybwlzzi515gxz6ijx8604w4c";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 72a7fff7c47..5a6cbd7e2d6 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "squid-4.8";
+  name = "squid-4.9";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0432m0ix046rkja7r7qpydgsm2kf1w393xym15nx6h9kv4jb7kbq";
+    sha256 = "188znkbpr315yxbpvpvbpb5sbsn15zmg8l207a55dc43cs687c8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index 68e8f46e319..cbcd3c354cb 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.37";
+  version = "2.1.38";
   pname = "Tautulli";
 
   pythonPath = [ python.pkgs.setuptools ];
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0imq81njw6hsd0m091hmbaaq0znfan6lmnbg6m7g2vfgwvqh9fbq";
+    sha256 = "00kxz4i97lk3cb11vcpj894xdi7q9f1jcy29yglya8rcvsqmddwd";
   };
 
   buildPhase = ":";
diff --git a/pkgs/servers/tmate-ssh-server/default.nix b/pkgs/servers/tmate-ssh-server/default.nix
new file mode 100644
index 00000000000..836fa33f3f7
--- /dev/null
+++ b/pkgs/servers/tmate-ssh-server/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, cmake, libtool, pkgconfig
+, zlib, openssl, libevent, ncurses, ruby, msgpack, libssh }:
+
+stdenv.mkDerivation rec {
+  pname = "tmate-ssh-server";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner  = "tmate-io";
+    repo   = "tmate-ssh-server";
+    rev    = version;
+    sha256 = "1y77mv1k4c79glj84lzlp0s1lafr1jzf60mywr5vhy6sq47q8hwd";
+  };
+
+  dontUseCmakeConfigure = true;
+
+  buildInputs = [ libtool zlib openssl libevent ncurses ruby msgpack libssh ];
+  nativeBuildInputs = [ autoreconfHook cmake pkgconfig ];
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage    = https://tmate.io/;
+    description = "tmate SSH Server";
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ ];
+  };
+}
+
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 3ca91cfd625..f86ae9d7cec 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,7 +49,7 @@ in {
   };
 
   unifiStable = generic {
-    version = "5.11.39";
-    sha256 = "0v1gnvdazxa3bcbq8hl6796yw0mxzki2xn4s5im5k5ngmfmnswyj";
+    version = "5.12.35";
+    sha256 = "0ln8x7yisanbx1afclhffa0f3fk0sgh7dpj548xyhn5mgpwbj4i2";
   };
 }
diff --git a/pkgs/servers/unpfs/default.nix b/pkgs/servers/unpfs/default.nix
new file mode 100644
index 00000000000..df6cfb70438
--- /dev/null
+++ b/pkgs/servers/unpfs/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "unpfs";
+  version = "0.0.2019-05-17";
+
+  src = fetchFromGitHub {
+    owner = "pfpacket";
+    repo = "rust-9p";
+    rev = "01cf9c60bff0f35567d876db7be7fb86032b44eb";
+    sha256 = "0mhmr1912z5nyfpcvhnlgb3v67a5n7i2n9l5abi05sfqffqssi79";
+  };
+
+  sourceRoot = "source/example/unpfs";
+
+  cargoSha256 = "1d33nwj3i333a6ji3r3037mgg553lc3wsawm0pz13kbvhjf336i8";
+
+  RUSTC_BOOTSTRAP = 1;
+
+  postInstall = ''
+    install -D -m 0444 ../../README* -t "$out/share/doc/${pname}"
+    install -D -m 0444 ../../LICEN* -t "$out/share/doc/${pname}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "9P2000.L server implementation in Rust";
+    homepage = "https://github.com/pfpacket/rust-9p";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ raskin ];
+
+    # macOS build fails: https://github.com/pfpacket/rust-9p/issues/7
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix
index ab4065597ae..5b61de48b8d 100644
--- a/pkgs/servers/web-apps/codimd/default.nix
+++ b/pkgs/servers/web-apps/codimd/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, makeWrapper
-, which, nodejs, yarn2nix, python2 }:
+, which, nodejs, mkYarnPackage, python2 }:
 
-yarn2nix.mkYarnPackage rec {
+mkYarnPackage rec {
   name = "codimd";
   version = "1.5.0";
 
@@ -35,14 +35,8 @@ yarn2nix.mkYarnPackage rec {
     popd
 
     pushd node_modules/sqlite3
-    export OLD_HOME="$HOME"
-    export HOME="$PWD"
-    mkdir -p .node-gyp/${nodejs.version}
-    echo 9 > .node-gyp/${nodejs.version}/installVersion
-    ln -s ${nodejs}/include .node-gyp/${nodejs.version}
-    npm run install
-    export HOME="$OLD_HOME"
-    unset OLD_HOME
+    export CPPFLAGS="-I${nodejs}/include/node"
+    npm run install --build-from-source --nodedir=${nodejs}/include/node
     popd
 
     npm run build
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index e990a16c038..5c88b8efb4a 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -3,8 +3,8 @@
 let
   versions = {
     matomo = {
-      version = "3.11.0";
-      sha256 = "1fbnmmzzsi3dfm9qm30wypxjcazl37mryaik9mlrb19hnp2md40q";
+      version = "3.13.0";
+      sha256 = "0h4jqibb86zw5l26r927qrbjhba8c79pc4xp3hgpi25p3fjncax8";
     };
 
     matomo-beta = {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    # copy evertything to share/, used as webroot folder, and then remove what's known to be not needed
+    # copy everything to share/, used as webroot folder, and then remove what's known to be not needed
     mkdir -p $out/share
     cp -ra * $out/share/
     # tmp/ is created by matomo in PIWIK_USER_PATH
@@ -66,6 +66,34 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  filesToFix = [
+    "misc/composer/build-xhprof.sh"
+    "misc/composer/clean-xhprof.sh"
+    "misc/cron/archive.sh"
+    "plugins/Installation/FormDatabaseSetup.php"
+    "vendor/leafo/lessphp/package.sh"
+    "vendor/pear/archive_tar/sync-php4"
+    "vendor/szymach/c-pchart/coverage.sh"
+    # drupal_test.sh does not exist in 3.12.0-b3; added for 3.13.0
+    "vendor/twig/twig/drupal_test.sh"
+  ];
+
+  # This fixes the consistency check in the admin interface
+  #
+  # The filesToFix list may contain files that are exclusive to only one of the versions we build
+  # make sure to test for existence to avoid erroring on an incompatible version and failing
+  postFixup = ''
+    pushd $out/share > /dev/null
+    for f in $filesToFix; do
+      if [ -f "$f" ]; then
+        length="$(wc -c "$f" | cut -d' ' -f1)"
+        hash="$(md5sum "$f" | cut -d' ' -f1)"
+        sed -i "s:\\(\"$f\"[^(]*(\\).*:\\1\"$length\", \"$hash\"),:g" config/manifest.inc.php
+      fi
+    done
+    popd > /dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "A real-time web analytics application";
     license = licenses.gpl3Plus;
diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix
index 490459f2e25..d16d59af6b9 100644
--- a/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.33.1";
+  version = "1.34.0";
 
   src = with stdenv.lib; fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "19x10vsgg2fhcpmfvdswwilqwa65byrsmzvhk2v8bsxzhp6s95vx";
+    sha256 = "1lckjnharwxh9xb7gxdxrkb0r3xgd0dh4019cnbixn5mmzgc696y";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 77822365f9c..2957d296dc4 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, writeText }:
 
 let
-  version = "3.7.2";
+  version = "3.8";
   stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version);
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "1mvrmpqkcz7m7yplqi0lwgnal79n747f7nwcgd2nfrvz7jv3s8ir";
+    sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/web-apps/shiori/default.nix b/pkgs/servers/web-apps/shiori/default.nix
index 5cf54ff14ba..dd4cdc08287 100644
--- a/pkgs/servers/web-apps/shiori/default.nix
+++ b/pkgs/servers/web-apps/shiori/default.nix
@@ -4,7 +4,7 @@ buildGoModule rec {
   pname = "shiori";
   version = "1.5.0";
 
-  modSha256 = "142raxqh6mipw0dyhzgc8ha6vn74wdin25qrl1nkd68mpcvsbblg";
+  modSha256 = "1z6q5lv0j433p8lc3nxlw1rds5x1kvs1vzl63jf3disxw7ppyai3";
 
   src = fetchFromGitHub {
     owner = "go-shiori";
diff --git a/pkgs/servers/webmetro/default.nix b/pkgs/servers/webmetro/default.nix
index 352c5a80e1f..fc9876e10c2 100644
--- a/pkgs/servers/webmetro/default.nix
+++ b/pkgs/servers/webmetro/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1n2c7ygs8qsd5zgii6fqqcwg427bsij082bg4ijnzkq5630dx651";
   };
 
-  cargoSha256 = "07c8rrm70idmpvijvgkbgw5vswcyrghlrzv1km054xds5qxi2ldq";
+  cargoSha256 = "03ncwj9bn21590phcnqyclclcird7rikbhxbwhg8i9i0nad81aaa";
 
   meta = with stdenv.lib; {
     description = "Simple relay server for broadcasting a WebM stream";
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 8ad6867a890..f83d76a3c2b 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -2692,11 +2692,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
-    name = "xorg-server-1.20.5";
+    name = "xorg-server-1.20.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2;
-      sha256 = "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8";
+      url = mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2;
+      sha256 = "1laib9z17jksgzb67z69blcmnpbvj7i7m604b5ns7s760iii85k3";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/x11/xorg/imake-setup-hook.sh b/pkgs/servers/x11/xorg/imake-setup-hook.sh
index 10f54198f7f..351ffab34d0 100644
--- a/pkgs/servers/x11/xorg/imake-setup-hook.sh
+++ b/pkgs/servers/x11/xorg/imake-setup-hook.sh
@@ -14,6 +14,6 @@ imakeConfigurePhase() {
     runHook postConfigure
 }
 
-if [ -z "$dontUseImakeConfigure" -a -z "$configurePhase" ]; then
+if [ -z "${dontUseImakeConfigure-}" -a -z "${configurePhase-}" ]; then
     configurePhase=imakeConfigurePhase
 fi
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 9dd3425fcc4..d806c5bda27 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -533,7 +533,7 @@ self: super:
   xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
     # exchange attrs if abiCompat is set
     let
-      version = (builtins.parseDrvName attrs_passed.name).version;
+      version = lib.getVersion attrs_passed;
       attrs =
         if (abiCompat == null || lib.hasPrefix abiCompat version) then
           attrs_passed // {
@@ -568,7 +568,7 @@ self: super:
 
     in attrs //
     (let
-      version = (builtins.parseDrvName attrs.name).version;
+      version = lib.getVersion attrs;
       commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
       commonPropagatedBuildInputs = [
         zlib libGL libGLU dbus
@@ -633,8 +633,8 @@ self: super:
           libAppleWM xorgproto
         ];
 
-        # XQuartz patchset
         patches = [
+          # XQuartz patchset
           (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
             sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 9f4621316fc..2fcf09cd9fb 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -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.2.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index 06f54fd5207..d033f211c3a 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,16 +1,18 @@
-{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }:
+{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper, egl-wayland }:
 
 with stdenv.lib;
 
 xorgserver.overrideAttrs (oldAttrs: {
 
   name = "xwayland-${xorgserver.version}";
+  buildInputs = oldAttrs.buildInputs ++ [ egl-wayland ];
   propagatedBuildInputs = oldAttrs.propagatedBuildInputs
     ++ [wayland wayland-protocols epoxy libxslt makeWrapper libunwind];
   configureFlags = [
     "--disable-docs"
     "--disable-devel-docs"
     "--enable-xwayland"
+    "--enable-xwayland-eglstream"
     "--disable-xorg"
     "--disable-xvfb"
     "--disable-xnest"
diff --git a/pkgs/servers/xandikos/default.nix b/pkgs/servers/xandikos/default.nix
new file mode 100644
index 00000000000..27fb93a8803
--- /dev/null
+++ b/pkgs/servers/xandikos/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, fetchFromGitHub
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "xandikos";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jelmer";
+    repo = "xandikos";
+    rev = "v${version}";
+    sha256 = "12r8fciid2qpqf054584ywwh49yddyhhpkpcm6jihzyr5y2r4kn1";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    dulwich
+    defusedxml
+    icalendar
+    jinja2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Lightweight CalDAV/CardDAV server";
+    homepage = "https://github.com/jelmer/xandikos";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers."0x4A6F" ];
+  };
+}
+
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 335de9ea153..821515caa09 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -24,12 +24,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "19.08";
+  version = "19.09.1";
   pname = "ejabberd";
 
   src = fetchurl {
     url = "https://www.process-one.net/downloads/ejabberd/${version}/${pname}-${version}.tgz";
-    sha256 = "0ivkw31civcznv9k645hvrzn1yc6a4qsrsywjrakniwaaxlsnj8w";
+    sha256 = "1lj0zahsdg6naq007h8wp5p8ksdfwam3as7wiagvbj9gy8dgdp8q";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -76,7 +76,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "0h1amqp2x6ir29bdh9x8bm0abj67k81nmkqi8gidwccsa5z94s2c";
+    outputHash = "097c84qp00dq8x7ngfqcrv9fa0wm0k94grashmi1fxlasgbvxh18";
   };
 
   configureFlags =
@@ -115,7 +115,7 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = https://www.ejabberd.im;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ sander abbradar ];
+    maintainers = with maintainers; [ sander abbradar ajs124 ];
     broken = withElixir;
   };
 }
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index df6cad8c759..2dcaf44010e 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, cmake, makeWrapper, pkgconfig
-, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, mysql, pcre, perl, perlPackages
+, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, libmysqlclient, mysql, pcre, perl, perlPackages
 , polkit, utillinuxMinimal, x264, zlib
 , coreutils, procps, psmisc }:
 
@@ -123,7 +123,7 @@ in stdenv.mkDerivation rec {
     done
 
     substituteInPlace scripts/zmdbbackup.in \
-      --replace /usr/bin/mysqldump ${mysql}/bin/mysqldump
+      --replace /usr/bin/mysqldump ${mysql.client}/bin/mysqldump
 
     for f in scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in \
              scripts/zmupdate.pl.in \
@@ -140,7 +140,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    curl ffmpeg glib libjpeg libselinux libsepol mp4v2 mysql pcre perl polkit x264 zlib
+    curl ffmpeg glib libjpeg libselinux libsepol mp4v2 libmysqlclient mysql.client pcre perl polkit x264 zlib
     utillinuxMinimal # for libmount
   ] ++ (with perlPackages; [
     # build-time dependencies
diff --git a/pkgs/shells/bash/bash-5.0-patches.nix b/pkgs/shells/bash/bash-5.0-patches.nix
index 90bbc5e37dd..1f24a6dec12 100644
--- a/pkgs/shells/bash/bash-5.0-patches.nix
+++ b/pkgs/shells/bash/bash-5.0-patches.nix
@@ -10,4 +10,6 @@ patch: [
 (patch "007" "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
 (patch "008" "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
 (patch "009" "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
+(patch "010" "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn")
+(patch "011" "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c")
 ]
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index fbc07c86494..a741633340d 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , python3Packages
 , bashInteractive
@@ -6,6 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bash-completion";
+  # TODO: Remove musl patch below upon next release!
   version = "2.9";
 
   src = fetchFromGitHub {
@@ -26,6 +28,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
+    # TODO: Remove when https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393
+    #       is availabe in a release in nixpkgs. see https://github.com/scop/bash-completion/issues/312.
+    # Fixes a test failure with musl.
+    (fetchpatch {
+     url = "https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393.patch";
+     name = "bash-completion-musl-test_iconv-skip-option-completion-if-help-fails";
+     sha256 = "1l53d62zf01k625nzw3vcrxky93h7bzdpchgk4argxalrn17ckvb";
+    })
   ];
 
   # ignore ip_addresses because it tries to touch network
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
new file mode 100644
index 00000000000..05fef442c31
--- /dev/null
+++ b/pkgs/shells/nushell/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+, openssl
+, pkg-config
+, python3
+, xorg
+, libiconv
+, AppKit
+, Security
+, withStableFeatures ? true
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nushell";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "09kcyvhnhf5qsaivgrw58l9jh48rx40i9lkf10cpmk7jvqxgqyks";
+  };
+
+  cargoSha256 = "0bdxlbl33kilp9ai40dvdzlx9vcl8r21br82r5ljs2pg521jd66p";
+
+  nativeBuildInputs = [ pkg-config ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isLinux) [ python3 ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isLinux) [ xorg.libX11 ]
+    ++ stdenv.lib.optionals (withStableFeatures && stdenv.isDarwin) [ AppKit ];
+
+  cargoBuildFlags = stdenv.lib.optional withStableFeatures "--features=stable";
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A modern shell written in Rust";
+    homepage = "https://www.nushell.sh/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 marsam ];
+  };
+
+  passthru = {
+    shellPath = "/bin/nu";
+  };
+}
diff --git a/pkgs/shells/oh/default.nix b/pkgs/shells/oh/default.nix
index 09a54c8a3b8..3ae8a7c600a 100644
--- a/pkgs/shells/oh/default.nix
+++ b/pkgs/shells/oh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchgit }:
+{ stdenv, buildGoPackage, fetchgit, lib }:
 
 buildGoPackage rec {
   pname = "oh";
@@ -14,4 +14,10 @@ buildGoPackage rec {
   };
 
   goDeps = ./deps.nix;
+
+  meta = with lib;{
+    homepage = "https://github.com/michaelmacinnis/oh";
+    description = "A Unix shell";
+    license = stdenv.lib.licenses.mit;
+  };
 }
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index d2ecf032d3e..13b36bf54ad 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,22 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.7.pre5";
+  version = "0.7.pre9";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "1vpk4my8lp7wik8ywspawimya2a7hb1qjkp5vpm7ypmkya5jqivc";
+    sha256 = "1j17yxpjqv37vbl3qhnwl3gdmb33n9c6g6byxcc8mhbvbw91zi5i";
   };
 
-
-  # TODO remove at next bump
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/oilshell/oil/commit/81551d76ae5a8b53179f2472492d0b44f13f84fd.patch";
-      sha256 = "0v99cx13ajqmf489vvxkqhqi9pjyc8jn0dgc8wp78gsv9js2k7km";
-    })
-  ];
-
   postPatch = ''
     patchShebangs build
   '';
@@ -34,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A new unix shell";
-    homepage = https://www.oilshell.org/;
+    homepage = "https://www.oilshell.org/";
 
     license = with lib.licenses; [
       psfl # Includes a portion of the python interpreter and standard library
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index b999070a49e..6ec2319a49d 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/powershell
     cp -r * $out/share/powershell
     makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \
-                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1
+                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 --set DOTNET_CLI_TELEMETRY_OPTOUT 1
   '';
 
   dontStrip = true;
diff --git a/pkgs/shells/zsh/antibody/default.nix b/pkgs/shells/zsh/antibody/default.nix
index 0ea3c8d158d..e1bfc68dc4d 100644
--- a/pkgs/shells/zsh/antibody/default.nix
+++ b/pkgs/shells/zsh/antibody/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "antibody";
-  version = "4.1.2";
+  version = "4.2.0";
 
   goPackagePath = "github.com/getantibody/antibody";
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     owner = "getantibody";
     repo = "antibody";
     rev = "v${version}";
-    sha256 = "1csanmvix7b2sa7nsy8nh3jq6gmhp8i51xivsabm1lj2y30c0ly3";
+    sha256 = "1vds7mxqxa7xlhvjvmnh1nr1ra3dciav0qlv45s1dmwn5qrcilci";
   };
 
-  modSha256 = "1p9cw92ivwgpkvjxvwd9anbd1vzhpicm9il4pg37z2kgr2ihhnyh";
+  modSha256 = "1n9sgrm16iig600f4q1cmbwwk0822isjvbyazplylha843510b17";
 
   meta = with lib; {
     description = "The fastest shell plugin manager";
     homepage = https://github.com/getantibody/antibody;
     license = licenses.mit;
-    maintainers = with maintainers; [ worldofpeace ];
+    maintainers = with maintainers; [ filalex77 worldofpeace ];
   };
 }
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index 2d7dd4f24aa..80f51dbb763 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "grml-zsh-config";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "1b794c3hfhw51aqp8dg8smxqjv4x518rs1ib4pdglc4d785rlq1k";
+    sha256 = "1dmhwgs5v4f1yanbi6dg1lbpzmvq1l3dq7sra811ycsf4f6g0d7f";
   };
 
   buildInputs = [ zsh coreutils txt2tags procps ]
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 647f4cc1a6e..3b1faeef97e 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-10-30";
+  version = "2019-12-22";
   pname = "oh-my-zsh";
-  rev = "687c50bdf999f8efd45f3c8f578a62329b0633da";
+  rev = "38929084f98684b9267d7f0cfe3e7f9aa5f861d2";
 
   src = fetchgit { inherit rev;
-    url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "13vflcqshvr323sdh4yrs4wlvbxhhc7ldhcyawcwassk44g2kx8w";
+    url = "https://github.com/ohmyzsh/ohmyzsh";
+    sha256 = "0iwyfl8gk3hzd5hpryr0sk96n9p5m3riqdnaclmpasa0dyynd2ya";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/shells/zsh/oh-my-zsh/update.sh b/pkgs/shells/zsh/oh-my-zsh/update.sh
index 08b0daa4387..0146cac8496 100755
--- a/pkgs/shells/zsh/oh-my-zsh/update.sh
+++ b/pkgs/shells/zsh/oh-my-zsh/update.sh
@@ -3,12 +3,12 @@
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.version or (builtins.parseDrvName oh-my-zsh.name).version" | tr -d '"')"
-latestSha="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')"
+latestSha="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 url="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.src.url" | tr -d '"')"
 
 if [ ! "null" = "${latestSha}" ]; then
-  latestDate="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
+  latestDate="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')"
   update-source-version oh-my-zsh "${latestSha}" --version-key=rev
   update-source-version oh-my-zsh "${latestDate}" --ignore-same-hash
   nixpkgs="$(git rev-parse --show-toplevel)"
diff --git a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
new file mode 100644
index 00000000000..452419bf8b0
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
@@ -0,0 +1,30 @@
+{ stdenvNoCC, lib, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "zsh-fast-syntax-highlighting";
+  version = "1.54";
+
+  src = fetchFromGitHub {
+    owner = "zdharma";
+    repo = "fast-syntax-highlighting";
+    rev = "v${version}";
+    sha256 = "019hda2pj8lf7px4h1z07b9l6icxx4b2a072jw36lz9bh6jahp32";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    plugindir="$out/share/zsh/site-functions"
+
+    mkdir -p "$plugindir"
+    cp -r -- {,_,-}fast-* chroma themes "$plugindir"/
+  '';
+
+  meta = with lib; {
+    description = "Syntax-highlighting for Zshell";
+    homepage = "https://github.com/zdharma/fast-syntax-highlighting";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch b/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
deleted file mode 100644
index 0c4fd22c54f..00000000000
--- a/pkgs/shells/zsh/zsh-history/0001-Fix-path-marshalling-when-saveing-config.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From efc16fbe7e41784f218d9c6cb4239b209cd77214 Mon Sep 17 00:00:00 2001
-From: Christian Kampka <christian@kampka.net>
-Date: Sat, 12 Oct 2019 21:47:47 +0200
-Subject: [PATCH 1/2] Fix path marshalling when saveing config
-
----
- config/config.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config/config.go b/config/config.go
-index 69a10c5..b5c61fe 100644
---- a/config/config.go
-+++ b/config/config.go
-@@ -26,7 +26,7 @@ func (p *Path) UnmarshalText(text []byte) error {
- 	return nil
- }
- 
--func (p *Path) MarshalText() (text []byte, err error) {
-+func (p Path) MarshalText() (text []byte, err error) {
- 	return []byte(p.path), nil
- }
- 
--- 
-2.19.2
-
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
index 6bbcdac2c17..ece3c87cb66 100644
--- a/pkgs/shells/zsh/zsh-history/default.nix
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -1,20 +1,16 @@
-{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests }:
 
 buildGoModule rec {
   pname = "zsh-history";
-  version = "2019-10-07";
+  version = "2019-12-10";
 
   src = fetchFromGitHub {
     owner = "b4b4r07";
     repo = "history";
-    rev = "a08ad2dcffc852903ae54b0c5704b8a085009ef7";
-    sha256 = "0r3p04my40dagsq1dssnk583qrlcps9f7ajp43z7mq73q3hrya5s";
+    rev = "8da016bd91b0c2eb53c9980f00eee6abdbb097e2";
+    sha256 = "13n643ik1zjvpk8h9458yd9ffahhbdnigmbrbmpn7b7g23wqqsi3";
   };
 
-  patches = [
-    ./0001-Fix-path-marshalling-when-saveing-config.patch
-  ];
-
   nativeBuildInputs = [ installShellFiles ];
 
   modSha256 = "0f10b86gyn7m7lw43c8y1m30mdg0i092a319v3cb2qj05jb9vn42";
@@ -33,4 +29,8 @@ buildGoModule rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ kampka ];
   };
+
+  passthru.tests = {
+    zsh-history-shell-integration = nixosTests.zsh-history;
+  };
 }
diff --git a/pkgs/stdenv/cygwin/rebase-i686.sh b/pkgs/stdenv/cygwin/rebase-i686.sh
index 091c9044d93..6b8ec441ca7 100644
--- a/pkgs/stdenv/cygwin/rebase-i686.sh
+++ b/pkgs/stdenv/cygwin/rebase-i686.sh
@@ -1,7 +1,7 @@
 fixupOutputHooks+=(_cygwinFixAutoImageBase)
 
 _cygwinFixAutoImageBase() {
-    if [ "$dontRebase" == 1 ] || [ ! -d "$prefix" ]; then
+    if [ "${dontRebase-}" == 1 ] || [ ! -d "$prefix" ]; then
         return
     fi
     find "$prefix" -name "*.dll" -type f | while read DLL; do
diff --git a/pkgs/stdenv/cygwin/rebase-x86_64.sh b/pkgs/stdenv/cygwin/rebase-x86_64.sh
index 4c8f8ebd7eb..6dccdc40c72 100644
--- a/pkgs/stdenv/cygwin/rebase-x86_64.sh
+++ b/pkgs/stdenv/cygwin/rebase-x86_64.sh
@@ -1,7 +1,7 @@
 fixupOutputHooks+=(_cygwinFixAutoImageBase)
 
 _cygwinFixAutoImageBase() {
-    if [ "$dontRebase" == 1 ] || [ ! -d "$prefix" ]; then
+    if [ "${dontRebase-}" == 1 ] || [ ! -d "$prefix" ]; then
         return
     fi
     find "$prefix" -name "*.dll" -type f | while read DLL; do
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 6bd6a9bf41e..21ae809a222 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -67,7 +67,7 @@ let
     isUnfree (lib.lists.toList attrs.meta.license) &&
     !allowUnfreePredicate attrs;
 
-  allowInsecureDefaultPredicate = x: builtins.elem x.name (config.permittedInsecurePackages or []);
+  allowInsecureDefaultPredicate = x: builtins.elem (getName x) (config.permittedInsecurePackages or []);
   allowInsecurePredicate = x: (config.allowInsecurePredicate or allowInsecureDefaultPredicate) x;
 
   hasAllowedInsecure = attrs:
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 0962a1ec2fc..5b8fdde5796 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -17,10 +17,6 @@ fi
 # code). The hooks for <hookName> are the shell function or variable
 # <hookName>, and the values of the shell array ‘<hookName>Hooks’.
 runHook() {
-    local oldOpts="-u"
-    shopt -qo nounset || oldOpts="+u"
-    set -u # May be called from elsewhere, so do `set -u`.
-
     local hookName="$1"
     shift
     local hooksSlice="${hookName%Hook}Hooks[@]"
@@ -30,10 +26,8 @@ runHook() {
     # undefined.
     for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; do
         _eval "$hook" "$@"
-        set -u # To balance `_eval`
     done
 
-    set "$oldOpts"
     return 0
 }
 
@@ -41,10 +35,6 @@ runHook() {
 # Run all hooks with the specified name, until one succeeds (returns a
 # zero exit code). If none succeed, return a non-zero exit code.
 runOneHook() {
-    local oldOpts="-u"
-    shopt -qo nounset || oldOpts="+u"
-    set -u # May be called from elsewhere, so do `set -u`.
-
     local hookName="$1"
     shift
     local hooksSlice="${hookName%Hook}Hooks[@]"
@@ -56,10 +46,8 @@ runOneHook() {
             ret=0
             break
         fi
-        set -u # To balance `_eval`
     done
 
-    set "$oldOpts"
     return "$ret"
 }
 
@@ -70,17 +58,13 @@ runOneHook() {
 # environment variables) and from shell scripts (as functions). If you
 # want to allow multiple hooks, use runHook instead.
 _callImplicitHook() {
-    set -u
     local def="$1"
     local hookName="$2"
     if declare -F "$hookName" > /dev/null; then
-        set +u
         "$hookName"
     elif type -p "$hookName" > /dev/null; then
-        set +u
         source "$hookName"
     elif [ -n "${!hookName:-}" ]; then
-        set +u
         eval "${!hookName}"
     else
         return "$def"
@@ -96,13 +80,10 @@ _callImplicitHook() {
 # command can take them
 _eval() {
     if declare -F "$1" > /dev/null 2>&1; then
-        set +u
         "$@" # including args
     else
-        set +u
         eval "$1"
     fi
-    # `run*Hook` reenables `set -u`
 }
 
 
@@ -190,12 +171,12 @@ addToSearchPath() {
 # so it is defined here but tried after the hook.
 _addRpathPrefix() {
     if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then
-        export NIX_LDFLAGS="-rpath $1/lib $NIX_LDFLAGS"
+        export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}"
         if [ -n "${NIX_LIB64_IN_SELF_RPATH:-}" ]; then
-            export NIX_LDFLAGS="-rpath $1/lib64 $NIX_LDFLAGS"
+            export NIX_LDFLAGS="-rpath $1/lib64 ${NIX_LDFLAGS-}"
         fi
         if [ -n "${NIX_LIB32_IN_SELF_RPATH:-}" ]; then
-            export NIX_LDFLAGS="-rpath $1/lib32 $NIX_LDFLAGS"
+            export NIX_LDFLAGS="-rpath $1/lib32 ${NIX_LDFLAGS-}"
         fi
     fi
 }
@@ -267,6 +248,8 @@ for i in $initialPath; do
     fi
 done
 
+unset i
+
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
     echo "initial path: $PATH"
 fi
@@ -296,11 +279,11 @@ declare -a pkgsBuildBuild pkgsBuildHost pkgsBuildTarget
 declare -a pkgsHostHost pkgsHostTarget
 declare -a pkgsTargetTarget
 
-declare -ra pkgBuildAccumVars=(pkgsBuildBuild pkgsBuildHost pkgsBuildTarget)
-declare -ra pkgHostAccumVars=(pkgsHostHost pkgsHostTarget)
-declare -ra pkgTargetAccumVars=(pkgsTargetTarget)
+declare -a pkgBuildAccumVars=(pkgsBuildBuild pkgsBuildHost pkgsBuildTarget)
+declare -a pkgHostAccumVars=(pkgsHostHost pkgsHostTarget)
+declare -a pkgTargetAccumVars=(pkgsTargetTarget)
 
-declare -ra pkgAccumVarVars=(pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars)
+declare -a pkgAccumVarVars=(pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars)
 
 
 # Hooks
@@ -309,11 +292,11 @@ declare -a envBuildBuildHooks envBuildHostHooks envBuildTargetHooks
 declare -a envHostHostHooks envHostTargetHooks
 declare -a envTargetTargetHooks
 
-declare -ra pkgBuildHookVars=(envBuildBuildHook envBuildHostHook envBuildTargetHook)
-declare -ra pkgHostHookVars=(envHostHostHook envHostTargetHook)
-declare -ra pkgTargetHookVars=(envTargetTargetHook)
+declare -a pkgBuildHookVars=(envBuildBuildHook envBuildHostHook envBuildTargetHook)
+declare -a pkgHostHookVars=(envHostHostHook envHostTargetHook)
+declare -a pkgTargetHookVars=(envTargetTargetHook)
 
-declare -ra pkgHookVarVars=(pkgBuildHookVars pkgHostHookVars pkgTargetHookVars)
+declare -a pkgHookVarVars=(pkgBuildHookVars pkgHostHookVars pkgTargetHookVars)
 
 # Add env hooks for all sorts of deps with the specified host offset.
 addEnvHooks() {
@@ -329,26 +312,26 @@ addEnvHooks() {
 
 # Propagated dep files
 
-declare -ra propagatedBuildDepFiles=(
+declare -a propagatedBuildDepFiles=(
     propagated-build-build-deps
     propagated-native-build-inputs # Legacy name for back-compat
     propagated-build-target-deps
 )
-declare -ra propagatedHostDepFiles=(
+declare -a propagatedHostDepFiles=(
     propagated-host-host-deps
     propagated-build-inputs # Legacy name for back-compat
 )
-declare -ra propagatedTargetDepFiles=(
+declare -a propagatedTargetDepFiles=(
     propagated-target-target-deps
 )
-declare -ra propagatedDepFilesVars=(
+declare -a propagatedDepFilesVars=(
     propagatedBuildDepFiles
     propagatedHostDepFiles
     propagatedTargetDepFiles
 )
 
 # Platform offsets: build = -1, host = 0, target = 1
-declare -ra allPlatOffsets=(-1 0 1)
+declare -a allPlatOffsets=(-1 0 1)
 
 
 # Mutually-recursively find all build inputs. See the dependency section of the
@@ -489,11 +472,7 @@ activatePackage() {
     (( "$hostOffset" <= "$targetOffset" )) || exit -1
 
     if [ -f "$pkg" ]; then
-        local oldOpts="-u"
-        shopt -qo nounset || oldOpts="+u"
-        set +u
         source "$pkg"
-        set "$oldOpts"
     fi
 
     # Only dependencies whose host platform is guaranteed to match the
@@ -512,11 +491,7 @@ activatePackage() {
     fi
 
     if [[ -f "$pkg/nix-support/setup-hook" ]]; then
-        local oldOpts="-u"
-        shopt -qo nounset || oldOpts="+u"
-        set +u
         source "$pkg/nix-support/setup-hook"
-        set "$oldOpts"
     fi
 }
 
@@ -596,6 +571,13 @@ _addToEnv() {
 _addToEnv
 
 
+# Unset setup-specific declared variables
+unset allPlatOffsets
+unset pkgBuildAccumVars pkgHostAccumVars pkgTargetAccumVars pkgAccumVarVars
+unset pkgBuildHookVars pkgHostHookVars pkgTargetHookVars pkgHookVarVars
+unset propagatedDepFilesVars
+
+
 _addRpathPrefix "$out"
 
 
@@ -805,14 +787,17 @@ dumpVars() {
 # Utility function: echo the base name of the given path, with the
 # prefix `HASH-' removed, if present.
 stripHash() {
-    local strippedName
+    local strippedName casematchOpt=0
     # On separate line for `set -e`
-    strippedName="$(basename "$1")"
-    if echo "$strippedName" | grep -q '^[a-z0-9]\{32\}-'; then
-        echo "$strippedName" | cut -c34-
+    strippedName="$(basename -- "$1")"
+    shopt -q nocasematch && casematchOpt=1
+    shopt -u nocasematch
+    if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then
+        echo "${strippedName:33}"
     else
         echo "$strippedName"
     fi
+    if (( casematchOpt )); then shopt -s nocasematch; fi
 }
 
 
@@ -1264,19 +1249,11 @@ showPhaseHeader() {
 
 genericBuild() {
     if [ -f "${buildCommandPath:-}" ]; then
-        local oldOpts="-u"
-        shopt -qo nounset || oldOpts="+u"
-        set +u
         source "$buildCommandPath"
-        set "$oldOpts"
         return
     fi
     if [ -n "${buildCommand:-}" ]; then
-        local oldOpts="-u"
-        shopt -qo nounset || oldOpts="+u"
-        set +u
         eval "$buildCommand"
-        set "$oldOpts"
         return
     fi
 
@@ -1306,11 +1283,7 @@ genericBuild() {
 
         # Evaluate the variable named $curPhase if it exists, otherwise the
         # function named $curPhase.
-        local oldOpts="-u"
-        shopt -qo nounset || oldOpts="+u"
-        set +u
         eval "${!curPhase:-$curPhase}"
-        set "$oldOpts"
 
         if [ "$curPhase" = unpackPhase ]; then
             cd "${sourceRoot:-.}"
diff --git a/pkgs/tools/X11/caffeine-ng/default.nix b/pkgs/tools/X11/caffeine-ng/default.nix
index b54a7303ff8..c161a7c7737 100644
--- a/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/pkgs/tools/X11/caffeine-ng/default.nix
@@ -23,10 +23,15 @@ python3Packages.buildPythonApplication rec {
 
   doCheck = false; # There are no tests.
 
-  postBuild = ''
+  postInstall = ''
     mkdir -p $out/share
     cp -r share $out/
+    # autostart file
+    cp -r $out/lib/python*/site-packages/etc $out/etc/
     glib-compile-schemas --strict $out/share/glib-2.0/schemas
+    for i in $(find $out -name "*.desktop"); do
+      substituteInPlace $i --replace /usr $out
+    done
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index 5327e0f8c8f..1948dd2b9c5 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "107nl6vpy4036km3gr9z5f3mq1i6x169v0z0a0ywavj3zjqy23rp";
+    sha256 = "0fkabv05j5dj10mfrpjyvv7lnxl9qaqkbjhwj72r18i9i4019vgh";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/X11/dragon-drop/default.nix b/pkgs/tools/X11/dragon-drop/default.nix
index f15d099016a..54ece6a9a16 100644
--- a/pkgs/tools/X11/dragon-drop/default.nix
+++ b/pkgs/tools/X11/dragon-drop/default.nix
@@ -2,21 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "dragon-drop";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "mwh";
     repo = "dragon";
     rev = "v${version}";
-    sha256 = "0iwlrcqvbjshpwvg0gsqdqcjv48q1ary59pm74zzjnr8v9470smr";
+    sha256 = "0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv dragon $out/bin
+    install -D dragon -t $out/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/imwheel/default.nix b/pkgs/tools/X11/imwheel/default.nix
index f33e15e59cc..efed00f9639 100644
--- a/pkgs/tools/X11/imwheel/default.nix
+++ b/pkgs/tools/X11/imwheel/default.nix
@@ -10,10 +10,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 libXext libXi libXmu libXt libXtst ];
 
-  postPatch = ''
-    substituteInPlace Makefile.in --replace "ETCDIR = " "ETCDIR = $out"
-    substituteInPlace util.c --replace "/etc/X11/imwheel" "$out/etc/X11/imwheel"
-  '';
+  makeFlags = [
+    "sysconfdir=/etc"
+    "ETCDIR=/etc"
+  ];
+
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+    "ETCDIR=${placeholder "out"}/etc"
+  ];
 
   meta = with stdenv.lib; {
     homepage = "http://imwheel.sourceforge.net/";
diff --git a/pkgs/tools/X11/oblogout/default.nix b/pkgs/tools/X11/oblogout/default.nix
deleted file mode 100644
index 9acd113d0ab..00000000000
--- a/pkgs/tools/X11/oblogout/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, intltool, file, pythonPackages, cairo }:
-
-pythonPackages.buildPythonApplication {
-  pname = "oblogout-unstable";
-  version = "2009-11-18";
-
-  src = fetchFromGitHub {
-    owner = "nikdoof";
-    repo = "oblogout";
-    rev = "ee023158c03dee720a1af9b1307b14ed5a95f5a0";
-    sha256 = "0nj87q94idb5ki4wnb2xipfgc6k6clr3rmm4xxh46b58z4zhhbmj";
-  };
-
-  nativeBuildInputs = [ intltool file pythonPackages.distutils_extra ];
-
-  buildInputs = [ cairo ];
-
-  propagatedBuildInputs = [ pythonPackages.pygtk pythonPackages.pillow pythonPackages.dbus-python ];
-
-  patches = [ ./oblogout-0.3-fixes.patch ];
-
-  postPatch = ''
-    substituteInPlace data/oblogout --replace sys.prefix \"$out/${pythonPackages.python.sitePackages}\"
-    substituteInPlace oblogout/__init__.py --replace sys.prefix \"$out\"
-    mkdir -p $out/share/doc
-    cp -a README $out/share/doc
-  '';
-
-  meta = {
-    description = "Openbox logout script";
-    homepage = https://launchpad.net/oblogout;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch b/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
deleted file mode 100644
index c58103c6d40..00000000000
--- a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/data/oblogout b/data/oblogout
-index 8058c4a..dfe5285 100755
---- a/data/oblogout
-+++ b/data/oblogout
-@@ -77,8 +77,10 @@ def main(argv = None):
-             config = 'data/oblogout.conf'
-         elif os.path.isfile('%s/.config/oblogout.conf' % os.getenv("HOME")):
-             config = '%s/.config/oblogout.conf' % os.getenv("HOME")
--        else:
-+        elif os.path.isfile('/etc/oblogout.conf'):
-             config = '/etc/oblogout.conf'
-+        else:
-+            config = sys.prefix + '/etc/oblogout.conf'
-                 
-     # Check config in local path, if it exists pass it on     
-     if not os.path.isfile(config):
-diff --git a/data/oblogout.conf b/data/oblogout.conf
-index 810872c..b1c1009 100644
---- a/data/oblogout.conf
-+++ b/data/oblogout.conf
-@@ -1,11 +1,11 @@
- [settings]
--usehal = true
-+usehal = false
- 
- [looks]
- opacity = 70
- bgcolor = black
- buttontheme = simplistic
--buttons = cancel, logout, restart, shutdown, suspend, lock
-+buttons = cancel, logout, restart, shutdown, suspend
- 
- [shortcuts]
- cancel = Escape
-@@ -17,11 +17,11 @@ lock = K
- hibernate = H
- 
- [commands]
--shutdown = shutdown -h now
--restart = reboot
--suspend = pmi action suspend
--hibernate = pmi action hibernate
--safesuspend = safesuspend
--lock = gnome-screensaver-command -l
--switchuser = gdm-control --switch-user
-+shutdown = systemctl poweroff
-+restart = systemctl reboot
-+suspend = systemctl suspend
-+hibernate = systemctl hibernate
-+# safesuspend = safesuspend
-+# lock = gnome-screensaver-command -l
-+# switchuser = gdm-control --switch-user
- logout = openbox --exit
-diff --git a/oblogout/__init__.py b/oblogout/__init__.py
-index b9e4e01..12f521f 100644
---- a/oblogout/__init__.py
-+++ b/oblogout/__init__.py
-@@ -138,7 +138,7 @@ class OpenboxLogout():
-             self.logger.debug("Rendering Fade")
-             # Convert Pixbuf to PIL Image
-             wh = (pb.get_width(),pb.get_height())
--            pilimg = Image.fromstring("RGB", wh, pb.get_pixels())
-+            pilimg = Image.frombytes("RGB", wh, pb.get_pixels())
-             
-             pilimg = pilimg.point(lambda p: (p * self.opacity) / 255 )
- 
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
deleted file mode 100644
index 404cef72a3e..00000000000
--- a/pkgs/tools/X11/winswitch/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, pythonPackages
-, which, xpra, xmodmap }:
-
-let
-  base = pythonPackages.buildPythonApplication rec {
-    pname = "winswitch";
-    namePrefix = "";
-    version = "0.12.23";
-
-    src = fetchurl {
-      url = "http://winswitch.org/src/${pname}-${version}.src.tar.bz2";
-      sha256 = "1m0akjcdlsgng426rwvzlcl76kjm993icj0pggvha40cizig1yd9";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [
-      pygtk twisted pycrypto pyasn1 which xpra xmodmap
-    ];
-
-    patchPhase = ''
-      sed -i -r -e 's|(PREFIX_DIR *= *).*|\1"'"$out"'"|'             \
-                -e 's|(PREFIX_SEARCH_ORDER *= *).*|\1["'"$out"'"]|'  \
-                -e 's|(ETC_SEARCH_ORDER *= *).*|\1["'"$out/etc"'"]|' \
-                -e 's|(BIN_SEARCH_ORDER *= *).*|\1["'"$out/bin"'"]|' \
-                winswitch/util/paths.py
-
-      sed -i -e '/elif *LINUX:/,/distro_helper/{
-        s/elif *LINUX:.*/else: name = "NixOS"/p
-        /distro_helper/!d
-      }' winswitch/util/distro_packaging_util.py
-    '';
-
-    preInstall = ''
-      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-      python setup.py install_data --install-dir=$out --root=$out
-      sed -i '/data_files = data_files/d' setup.py
-    '';
-
-    doCheck = false;
-
-    meta.platforms = stdenv.lib.platforms.linux;
-    meta.broken = true;
-  };
-in stdenv.lib.overrideDerivation base (b: {
-  postFixup = b.postFixup + ''
-    sed -i -e 's/\''${PATH:+:}\$PATH//g' "$out/bin"/*
-  '';
-})
diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix
index 89aff817f50..67c6a594db7 100644
--- a/pkgs/tools/X11/xidlehook/default.nix
+++ b/pkgs/tools/X11/xidlehook/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, rustPlatform, fetchFromGitLab
+{ lib, stdenv, rustPlatform, fetchFromGitLab, python3
 , xlibsWrapper, xorg, libpulseaudio, pkgconfig, patchelf, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "xidlehook";
-  version = "0.7.1";
+  version = "0.8.0";
 
   doCheck = false;
 
@@ -12,14 +12,14 @@ rustPlatform.buildRustPackage rec {
     repo = "xidlehook";
     rev = version;
 
-    sha256 = "04bb81iwxznkr1zq1q8dql9qklzm9qy7837a71b02ywp3fc6v5b2";
+    sha256 = "127b20y86xs2wq5ka236057nyrh87fgzhjqbl6azf002afnbsn5m";
   };
 
   cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
-  cargoSha256 = "0xnz2s8vh5njqs4a1qm98ydh8pywxvnnpym0z94fsifyfdjlsfm4";
+  cargoSha256 = "0jdkcxvlw7s8pz1ka3d2w97356a2axvlwfgyh2dz7nmfzpjx64x0";
 
   buildInputs = [ xlibsWrapper xorg.libXScrnSaver libpulseaudio ] ++ lib.optional stdenv.isDarwin Security;
-  nativeBuildInputs = [ pkgconfig patchelf ];
+  nativeBuildInputs = [ pkgconfig patchelf python3 ];
 
   postFixup = lib.optionalString stdenv.isLinux ''
     RPATH="$(patchelf --print-rpath $out/bin/xidlehook)"
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 58569dcd59c..b5350ebecf7 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
     homepage = https://www.gnu.org/software/xnee/;
 
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
index 6e6aa1fb60e..30d7f69aeb5 100644
--- a/pkgs/tools/X11/xsecurelock/default.nix
+++ b/pkgs/tools/X11/xsecurelock/default.nix
@@ -32,11 +32,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  preInstall = ''
-    substituteInPlace helpers/saver_blank \
-      --replace 'protect xset' 'protect ${xset}/bin/xset'
-  '';
-
   meta = with lib; {
     description = "X11 screen lock utility with security in mind";
     homepage = https://github.com/google/xsecurelock;
diff --git a/pkgs/tools/X11/xzoom/default.nix b/pkgs/tools/X11/xzoom/default.nix
index e414576b523..31f2c014557 100644
--- a/pkgs/tools/X11/xzoom/default.nix
+++ b/pkgs/tools/X11/xzoom/default.nix
@@ -3,19 +3,17 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "xzoom";
-  major = "0";
-  minor = "3";
+  version = "0.3";
   patch = "24";
-  version = "${major}.${minor}.${patch}";
 
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
-    url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${major}.${minor}.tgz";
+    url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${version}.tgz";
     sha256 = "0jzl5py4ny4n4i58lxx2hdwq9zphqf7h3m14spl3079y5mlzssxj";
   };
   patches = [
     (fetchurl {
-       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${major}.${minor}-${patch}.diff.gz";
+       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz";
        sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
     })
   ];
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
index eaba5225150..5b724fb0bf9 100644
--- a/pkgs/tools/admin/ansible/default.nix
+++ b/pkgs/tools/admin/ansible/default.nix
@@ -7,21 +7,21 @@
 
   ansible_2_7 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.7.11";
+    version = "2.7.15";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0zipzm9al6k74h88b6zkddpcbxqs4cms7lidid6wn1vx3d3dxrp7";
+      sha256 = "1kjqr35c11njyi3f2rjab6821bhqcrdykv4285q76gwv0qynigwr";
     };
   }));
 
   ansible_2_6 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.6.17";
+    version = "2.6.20";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0ixr3g1nb02xblqyk87bzag8sj8phy37m24xflabfl1k2zfh0313";
+      sha256 = "02ra9q2mifyawn0719y78wrbqzik73aymlzwi90fq71jgyfvkkqn";
     };
   }));
 }
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
index 0fc001d5a19..e878369f177 100644
--- a/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonApplication rec {
   pname = "aws-google-auth";
-  version = "0.0.32";
+  version = "0.0.33";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   # https://github.com/cevoaustralia/aws-google-auth/issues/120
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     owner = "cevoaustralia";
     repo = "aws-google-auth";
     rev = version;
-    sha256 = "0blsvdkb28g1s3c7f8brjjai7lq9ij76xqr5z6zlxxafc4qqwhh3";
+    sha256 = "07sisv7b17bpjwikmm9zpxn3l3xpzywsbxi4brri2hdjmjb6p7w7";
   };
 
   propagatedBuildInputs = [ 
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 02a27b0fe48..b3af7f9bd6e 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -2,12 +2,18 @@
 , python3
 , groff
 , less
-, fetchpatch
 }:
 
 let
   py = python3.override {
     packageOverrides = self: super: {
+      colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
+        version = "0.4.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d";
+        };
+      });
       rsa = super.rsa.overridePythonAttrs (oldAttrs: rec {
         version = "3.4.2";
         src = oldAttrs.src.override {
@@ -15,7 +21,6 @@ let
           sha256 = "25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5";
         };
       });
-      prompt_toolkit = self.callPackage ../../../development/python-modules/prompt_toolkit/1.nix { };
     };
   };
 
diff --git a/pkgs/tools/admin/awslogs/default.nix b/pkgs/tools/admin/awslogs/default.nix
index 6d590b8975b..92b6d62a8a2 100644
--- a/pkgs/tools/admin/awslogs/default.nix
+++ b/pkgs/tools/admin/awslogs/default.nix
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   propagatedBuildInputs = with python3Packages; [
-    boto3 termcolor dateutil docutils
+    boto3 termcolor dateutil docutils setuptools
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/admin/awsweeper/default.nix b/pkgs/tools/admin/awsweeper/default.nix
new file mode 100644
index 00000000000..91ef7ee022e
--- /dev/null
+++ b/pkgs/tools/admin/awsweeper/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "awsweeper";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "cloudetc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0if2sfxd28m832zyiy40grwa4may45zq20h35yxf8bq0wxvp0q3f";
+  };
+
+  modSha256 = "0nzc8ib2c3wlwk97qq45kgpnval69v8nbxhkfabcx0idipx3pbvk";
+
+  meta = with lib; {
+    description = "A tool to clean out your AWS account";
+    homepage = "https://github.com/cloudetc/awsweeper/";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
new file mode 100644
index 00000000000..b28ef88ad99
--- /dev/null
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -0,0 +1,250 @@
+{ stdenv, lib, python, fetchFromGitHub, installShellFiles }:
+
+let
+  version = "2.0.77";
+  src = fetchFromGitHub {
+    owner = "Azure";
+    repo = "azure-cli";
+    rev = "azure-cli-${version}";
+    sha256 = "1qd6di8cqwhpcsqcx6g3scmwj90m15r695y5977q6a3qy13knisv";
+  };
+
+  # put packages that needs to be overriden in the py package scope
+  py = import ./python-packages.nix { inherit stdenv python lib src version; };
+in
+py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
+  pname = "azure-cli";
+  inherit version src;
+  disabled = python.isPy27; # namespacing assumes PEP420, which isn't compat with py2
+
+  sourceRoot = "source/src/azure-cli";
+
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "javaproperties==0.5.1" "javaproperties" \
+      --replace "pytz==2019.1" "pytz" \
+      --replace "mock~=2.0" "mock" \
+      --replace "azure-mgmt-reservations==0.3.1" "azure-mgmt-reservations~=0.3.1"
+
+    # remove namespace hacks
+    # remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well
+    sed -i setup.py \
+      -e '/azure-cli-command_modules-nspkg/d' \
+      -e '/azure-cli-nspkg/d' \
+      -e '/urllib3/d'
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  propagatedBuildInputs = with py.pkgs; [
+    azure-batch
+    azure-cli-core
+    azure-cli-telemetry
+    azure-cosmos
+    azure-datalake-store
+    azure-functions-devops-build
+    azure-graphrbac
+    azure-keyvault
+    azure-loganalytics
+    azure-mgmt-advisor
+    azure-mgmt-apimanagement
+    azure-mgmt-applicationinsights
+    azure-mgmt-appconfiguration
+    azure-mgmt-authorization
+    azure-mgmt-batch
+    azure-mgmt-batchai
+    azure-mgmt-billing
+    azure-mgmt-botservice
+    azure-mgmt-cdn
+    azure-mgmt-cognitiveservices
+    azure-mgmt-compute
+    azure-mgmt-consumption
+    azure-mgmt-containerinstance
+    azure-mgmt-containerregistry
+    azure-mgmt-containerservice
+    azure-mgmt-cosmosdb
+    azure-mgmt-datalake-analytics
+    azure-mgmt-datalake-store
+    azure-mgmt-datamigration
+    azure-mgmt-deploymentmanager
+    azure-mgmt-devtestlabs
+    azure-mgmt-dns
+    azure-mgmt-eventgrid
+    azure-mgmt-eventhub
+    azure-mgmt-hdinsight
+    azure-mgmt-imagebuilder
+    azure-mgmt-iotcentral
+    azure-mgmt-iothub
+    azure-mgmt-iothubprovisioningservices
+    azure-mgmt-keyvault
+    azure-mgmt-kusto
+    azure-mgmt-loganalytics
+    azure-mgmt-managedservices
+    azure-mgmt-managementgroups
+    azure-mgmt-maps
+    azure-mgmt-marketplaceordering
+    azure-mgmt-media
+    azure-mgmt-monitor
+    azure-mgmt-msi
+    azure-mgmt-network
+    azure-mgmt-netapp
+    azure-mgmt-policyinsights
+    azure-mgmt-privatedns
+    azure-mgmt-rdbms
+    azure-mgmt-recoveryservices
+    azure-mgmt-recoveryservicesbackup
+    azure-mgmt-redis
+    azure-mgmt-relay
+    azure-mgmt-reservations
+    azure-mgmt-resource
+    azure-mgmt-search
+    azure-mgmt-security
+    azure-mgmt-servicebus
+    azure-mgmt-servicefabric
+    azure-mgmt-signalr
+    azure-mgmt-sql
+    azure-mgmt-sqlvirtualmachine
+    azure-mgmt-storage
+    azure-mgmt-trafficmanager
+    azure-mgmt-web
+    azure-multiapi-storage
+    azure-storage-blob
+    colorama
+    cryptography
+    Fabric
+    jsmin
+    knack
+    mock
+    paramiko
+    pydocumentdb
+    pygments
+    pyopenssl
+    pytz
+    pyyaml
+    psutil
+    requests
+    scp
+    six
+    sshtunnel
+    urllib3
+    vsts-cd-manager
+    websocket_client
+    xmltodict
+    javaproperties
+    jsondiff
+    # urllib3[secure]
+    ipaddress
+    # shell completion
+    argcomplete
+  ];
+
+  # TODO: make shell completion actually work
+  # uses argcomplete, so completion needs PYTHONPATH to work
+  postInstall = ''
+    installShellCompletion --bash --name az.bash az.completion.sh
+    installShellCompletion --zsh --name _az az.completion.sh
+
+    # remove garbage
+    rm $out/bin/az.bat
+    rm $out/bin/az.completion.sh
+  '';
+
+  # wrap the executable so that the python packages are available
+  # it's just a shebang script which calls `python -m azure.cli "$@"`
+  postFixup = ''
+    wrapProgram $out/bin/az \
+      --set PYTHONPATH $PYTHONPATH
+  '';
+
+  # almost the entire test suite requires an azure account setup and networking
+  # ensure that the azure namespaces are setup correctly and that azure.cli can be accessed
+  checkPhase = ''
+    cd azure # avoid finding local copy
+    ${py.interpreter} -c 'import azure.cli.core; assert "${version}" == azure.cli.core.__version__'
+    HOME=$TMPDIR ${py.interpreter} -m azure.cli --help
+  '';
+
+  # ensure these namespaces are able to be accessed
+  pythonImportsCheck = [
+    "azure.batch"
+    "azure.cli.core"
+    "azure.cli.telemetry"
+    "azure.cosmos"
+    "azure.datalake.store"
+    "azure_functions_devops_build"
+    "azure.graphrbac"
+    "azure.keyvault"
+    "azure.loganalytics"
+    "azure.mgmt.advisor"
+    "azure.mgmt.apimanagement"
+    "azure.mgmt.applicationinsights"
+    "azure.mgmt.appconfiguration"
+    "azure.mgmt.authorization"
+    "azure.mgmt.batch"
+    "azure.mgmt.batchai"
+    "azure.mgmt.billing"
+    "azure.mgmt.botservice"
+    "azure.mgmt.cdn"
+    "azure.mgmt.cognitiveservices"
+    "azure.mgmt.compute"
+    "azure.mgmt.consumption"
+    "azure.mgmt.containerinstance"
+    "azure.mgmt.containerregistry"
+    "azure.mgmt.containerservice"
+    "azure.mgmt.cosmosdb"
+    "azure.mgmt.datalake.analytics"
+    "azure.mgmt.datalake.store"
+    "azure.mgmt.datamigration"
+    "azure.mgmt.deploymentmanager"
+    "azure.mgmt.devtestlabs"
+    "azure.mgmt.dns"
+    "azure.mgmt.eventgrid"
+    "azure.mgmt.eventhub"
+    "azure.mgmt.hdinsight"
+    "azure.mgmt.imagebuilder"
+    "azure.mgmt.iotcentral"
+    "azure.mgmt.iothub"
+    "azure.mgmt.iothubprovisioningservices"
+    "azure.mgmt.keyvault"
+    "azure.mgmt.kusto"
+    "azure.mgmt.loganalytics"
+    "azure.mgmt.managedservices"
+    "azure.mgmt.managementgroups"
+    "azure.mgmt.maps"
+    "azure.mgmt.marketplaceordering"
+    "azure.mgmt.media"
+    "azure.mgmt.monitor"
+    "azure.mgmt.msi"
+    "azure.mgmt.network"
+    "azure.mgmt.netapp"
+    "azure.mgmt.policyinsights"
+    "azure.mgmt.privatedns"
+    "azure.mgmt.rdbms"
+    "azure.mgmt.recoveryservices"
+    "azure.mgmt.recoveryservicesbackup"
+    "azure.mgmt.redis"
+    "azure.mgmt.relay"
+    "azure.mgmt.reservations"
+    "azure.mgmt.resource"
+    "azure.mgmt.search"
+    "azure.mgmt.security"
+    "azure.mgmt.servicebus"
+    "azure.mgmt.servicefabric"
+    "azure.mgmt.signalr"
+    "azure.mgmt.sql"
+    "azure.mgmt.sqlvirtualmachine"
+    "azure.mgmt.storage"
+    "azure.mgmt.trafficmanager"
+    "azure.mgmt.web"
+    "azure.storage.blob"
+    "azure.storage.common"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Azure/azure-cli";
+    description = "Next generation multi-platform command line experience for Azure";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+})
+
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
new file mode 100644
index 00000000000..529bc4d50d3
--- /dev/null
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -0,0 +1,254 @@
+{ stdenv, python, lib, src, version }:
+
+let
+  buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage (attrs // {
+    # Remove overly restrictive version contraints and obsolete namespace setup
+    prePatch = (attrs.prePatch or "") + ''
+      rm -f azure_bdist_wheel.py tox.ini
+      substituteInPlace setup.py \
+        --replace "wheel==0.30.0" "wheel"
+      sed -i "/azure-namespace-package/c\ " setup.cfg
+    '';
+
+    # Prevent these __init__'s from violating PEP420, only needed for python2
+    postInstall = (attrs.postInstall or "") + ''
+      rm $out/${python.sitePackages}/azure/{,__pycache__/}__init__.* \
+         $out/${python.sitePackages}/azure/cli/{,__pycache__/}__init__.*
+    '';
+
+    checkInputs = [ mock pytest ] ++ (attrs.checkInputs or []);
+    checkPhase = attrs.checkPhase or ''
+      cd azure
+      HOME=$TMPDIR pytest
+    '';
+  });
+
+  overrideAzureMgmtPackage = package: version: extension: sha256:
+    package.overrideAttrs(oldAttrs: rec {
+      inherit version;
+
+      src = py.pkgs.fetchPypi {
+        inherit (oldAttrs) pname;
+        inherit version sha256 extension;
+      };
+
+      preBuild = ''
+        rm -f azure_bdist_wheel.py
+        substituteInPlace setup.cfg \
+          --replace "azure-namespace-package = azure-mgmt-nspkg" ""
+      '';
+    });
+
+  py = python.override {
+    packageOverrides = self: super: {
+      inherit buildAzureCliPackage;
+
+      # core and the actual application are highly coupled
+      azure-cli-core = buildAzureCliPackage {
+        pname = "azure-cli-core";
+        inherit version src;
+
+        sourceRoot = "source/src/azure-cli-core";
+
+        propagatedBuildInputs = with self; [
+          adal
+          argcomplete
+          azure-common
+          azure-cli-telemetry
+          azure-mgmt-resource
+          colorama
+          humanfriendly
+          jmespath
+          knack
+          msrest
+          msrestazure
+          paramiko
+          psutil
+          pygments
+          pyjwt
+          pyopenssl
+          pyperclip
+          pyyaml
+          requests
+          six
+          tabulate
+        ]
+        ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
+        ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
+
+        doCheck = stdenv.isLinux;
+        # ignore test that does network call
+        checkPhase = ''
+          rm azure/{,cli/}__init__.py
+          python -c 'import azure.common; print(azure.common)'
+          PYTHONPATH=$PWD:$PYTHONPATH HOME=$TMPDIR pytest \
+            --ignore=azure/cli/core/tests/test_profile.py \
+            --ignore=azure/cli/core/tests/test_generic_update.py
+        '';
+
+        pythonImportsCheck = [
+          "azure.cli.telemetry"
+          "azure.cli.core"
+        ];
+      };
+
+      azure-cli-telemetry = buildAzureCliPackage {
+        pname = "azure-cli-telemetry";
+        version = "1.0.4"; # might be wrong, but doesn't really matter
+        inherit src;
+
+        sourceRoot = "source/src/azure-cli-telemetry";
+
+        propagatedBuildInputs = with super; [
+          applicationinsights
+          portalocker
+        ];
+
+        # ignore flaky test
+        checkPhase = ''
+          cd azure
+          HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch'
+        '';
+      };
+
+      azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.4.0" "zip"
+        "0zssvzdip23yzaxlac9rlzg9mlyjl97fwr0gj8y27z8j58pwj72i";
+
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "4.0.0" "zip"
+        "0gy89bi89ikg5hps8rvnq28r33lixci3sk2m86jvziv9fh9rz41b";
+
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "10.0.0" "zip"
+        "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
+
+      azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
+        "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
+
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "8.0.0" "zip"
+        "0akpm12xj453dp84dfdpi06phr4q0hknr5l7bz96zbc8iand78wg";
+
+      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.8.0" "zip"
+        "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+
+      azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "0.2.1" "zip"
+        "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky";
+
+      azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip"
+        "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq";
+
+      azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
+        "1pmcdgimd66h964a3d5m2j2fbydshcwhrk87wblhwhfl3xwbgf4y";
+
+      azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "2.2.0" "zip"
+        "15lpyv9z8ss47rjmg1wx5akh22p9br2vckaj7jk3639vi38ac5nl";
+
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.7.0" "zip"
+        "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
+
+      azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip"
+        "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p";
+
+      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "7.0.0" "zip"
+        "0ss5yc9k3dh78lb88nfh3z98yz1pcd8d7d7cfjlxmv4n3dlr1kij";
+
+      azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
+        "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+
+      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.42.0" "zip"
+        "0vp40i9aaw5ycz7s7qqir6jq7327f7zg9j9i8g31qkfl1h1c7pdn";
+
+      azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
+        "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
+
+      azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip"
+        "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx";
+
+      azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "0.4.0" "zip"
+        "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm";
+
+      azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip"
+        "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77";
+
+      azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
+        "1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
+
+      azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "2.6.0" "zip"
+        "1nnp2ki4iz4f4897psmwb0v5khrwh84fgxja7nl7g73g3ym20sz8";
+
+      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "1.1.0" "zip"
+        "16a0d3j5dilbp7pd7gbwf8jr46vzbjim1p9alcmisi12m4km7885";
+
+      azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc7" "zip"
+        "1bzfpbz186dhnxn0blgr20xxnk67gkr8ysn2b3f1r41bq9hz97xp";
+
+      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.7.0" "zip"
+        "1pprvk5255b6brbw73g0g13zygwa7a2px5x08wy3153rqlzan5l2";
+
+      azure-mgmt-advisor =  overrideAzureMgmtPackage super.azure-mgmt-advisor "2.0.1" "zip"
+        "1wsfkprdrn22mwm24y2zlcms8ppp7jwq3s86r3ymbl29pbaxca8r";
+
+      azure-mgmt-applicationinsights = overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "0.1.1" "zip"
+        "16raxr5naszrxmgbfhsvh7rqcph5cx6x3f480790m79ykvmjj0pi";
+
+      azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.52.0" "zip"
+        "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn";
+
+      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "5.0.0" "zip"
+        "1gzsscfnnfb8gxs34dq9hs339hidlzas7kgivw0234v3qz4gy9yx";
+
+      azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip"
+        "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj";
+
+      azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "1.1.0" "zip"
+        "0lj9dhb14dx4ag5pgd2zvrmn9y5ziq2qywvw38ccbv9g3bxpglkn";
+
+      azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec {
+        version = "0.60.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "1zna5vb887clvpyfp5439vhlz3j4z95blw9r7y86n6cfpzc65fyh";
+          extension = "zip";
+        };
+      });
+
+      azure-storage-blob = super.azure-storage-blob.overrideAttrs(oldAttrs: rec {
+        version = "1.5.0";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "0b15dzy75fml994gdfmaw5qcyij15gvh968mk3hg94d1wxwai1zi";
+        };
+      });
+
+      azure-storage-common = super.azure-storage-common.overrideAttrs(oldAttrs: rec {
+        version = "1.4.2";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "00g41b5q4ijlv02zvzjgfwrwy71cgr3lc3if4nayqmyl6xsprj2f";
+        };
+      });
+
+      # part of azure.mgmt.datalake namespace
+      azure-mgmt-datalake-analytics = super.azure-mgmt-datalake-analytics.overrideAttrs(oldAttrs: rec {
+        version = "0.2.1";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "192icfx82gcl3igr18w062744376r2ivh63c8nd7v17mjk860yac";
+          extension = "zip";
+        };
+
+        preBuild = ''
+          rm azure_bdist_wheel.py
+          substituteInPlace setup.cfg \
+            --replace "azure-namespace-package = azure-mgmt-datalake-nspkg" ""
+        '';
+      });
+
+    };
+  };
+in
+  py
diff --git a/pkgs/tools/admin/clair/default.nix b/pkgs/tools/admin/clair/default.nix
index 25c14712094..3f4d00736ad 100644
--- a/pkgs/tools/admin/clair/default.nix
+++ b/pkgs/tools/admin/clair/default.nix
@@ -1,28 +1,28 @@
-{ lib, buildGoPackage, fetchFromGitHub, makeWrapper, rpm, xz }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, rpm, xz }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "clair";
-  version = "2.0.9";
-
-  goPackagePath = "github.com/coreos/clair";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
-    owner = "coreos";
+    owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lcrqka4daqqjagx2mbfzg3z8wxg669mw1lb450nrlc33ji2iwdm";
+    sha256 = "14dh9iv2g138rivvfk135m3l90kk6c1ln1iqxhbi7s99h1jixbqw";
   };
 
+  modSha256 = "0rgkrid58kji39nlmiii95r8shbzr6dwalj5m7qwxy5w1rcaljr5";
+
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
-    wrapProgram $bin/bin/clair \
+    wrapProgram $out/bin/clair \
       --prefix PATH : "${lib.makeBinPath [ rpm xz ]}"
   '';
 
   meta = with lib; {
     description = "Vulnerability Static Analysis for Containers";
-    homepage = "https://github.com/coreos/clair";
+    homepage = "https://github.com/quay/clair";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/pkgs/tools/admin/docker-credential-helpers/default.nix b/pkgs/tools/admin/docker-credential-helpers/default.nix
new file mode 100644
index 00000000000..1f4315afc40
--- /dev/null
+++ b/pkgs/tools/admin/docker-credential-helpers/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, pkg-config, libsecret }:
+
+buildGoPackage rec {
+  pname = "docker-credential-helpers";
+  version = "0.6.3";
+
+  goPackagePath = "github.com/docker/docker-credential-helpers";
+
+  src = fetchFromGitHub {
+    owner = "docker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0xgmwjva3j1s0cqkbajbamj13bgzh5jkf2ir54m9a7w8gjnsh6dx";
+  };
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsecret ];
+
+  buildPhase =
+    if stdenv.isDarwin
+    then ''
+      cd go/src/${goPackagePath}
+      go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go
+    ''
+    else ''
+      cd go/src/${goPackagePath}
+      go build -o bin/docker-credential-secretservice secretservice/cmd/main_linux.go
+      go build -o bin/docker-credential-pass pass/cmd/main_linux.go
+    '';
+
+  installPhase =
+    if stdenv.isDarwin
+    then ''
+      install -Dm755 -t $bin/bin bin/docker-credential-osxkeychain
+    ''
+    else ''
+      install -Dm755 -t $bin/bin bin/docker-credential-pass
+      install -Dm755 -t $bin/bin bin/docker-credential-secretservice
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Suite of programs to use native stores to keep Docker credentials safe";
+    homepage = "https://github.com/docker/docker-credential-helpers";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index a07f3477012..e5fcf3933eb 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.8.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "09pz3pf0nndfbcfyds3y4nnia25ai7f0niyfgiy9832kf1vvyj9a";
+    sha256 = "197lf6cb1maam1yxy29wgp4dkakaavmwqvq2d9i4qxhscalrdra5";
   };
 
-  modSha256 = "0y222vxxs9aw17mhif4m0z35ks9xxv90ajk9am71x85sfvkglgl0";
+  modSha256 = "04ba3dyfwlf0m6kn7yp7qyp3h2qdwp17y1f9pa79y3c6sd2nadk2";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/development/python-modules/elasticsearch-curator/default.nix b/pkgs/tools/admin/elasticsearch-curator/default.nix
index 5c5329656a9..8d8f9070499 100644
--- a/pkgs/development/python-modules/elasticsearch-curator/default.nix
+++ b/pkgs/tools/admin/elasticsearch-curator/default.nix
@@ -1,27 +1,29 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, boto3
-, click
-, certifi
-, requests-aws4auth
-, voluptuous
-, pyyaml
-, elasticsearch
-, nosexcover
-, coverage
-, nose
-, mock
-, funcsigs
-} :
+{ lib, fetchFromGitHub, python }:
 
-buildPythonPackage rec {
+let
+py = python.override {
+  packageOverrides = self: super: {
+    click = super.click.overridePythonAttrs (oldAttrs: rec {
+      version = "6.7";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
+      };
+    });
+  };
+};
+in
+
+with py.pkgs;
+buildPythonApplication rec {
   pname   = "elasticsearch-curator";
   version = "5.8.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f0eec9ad043a30bc2e2232637111960139a1bda38232241bdd2f0c253a3584df";
+  src = fetchFromGitHub {
+    owner = "elastic";
+    repo = "curator";
+    rev = "v${version}";
+    sha256 = "1shr9jslirjnbvma3p19djsnamxl7f3m9c8zrlclk57zv8rnwpkr";
   };
 
   # The test hangs so we disable it.
@@ -31,6 +33,7 @@ buildPythonPackage rec {
     click
     certifi
     requests-aws4auth
+    pyopenssl
     voluptuous
     pyyaml
     elasticsearch
@@ -46,10 +49,15 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    sed -i s/pyyaml==3.12/pyyaml==${pyyaml.version}/ setup.cfg setup.py
+    sed -i s/pyyaml==3.13/pyyaml/g setup.cfg setup.py
+    sed -i s/pyyaml==3.12/pyyaml/g setup.cfg setup.py
+    substituteInPlace setup.py \
+      --replace "urllib3>=1.24.2,<1.25" "urllib3"
+    substituteInPlace setup.cfg \
+      --replace "urllib3>=1.24.2,<1.25" "urllib3"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/elastic/curator;
     description = "Curate, or manage, your Elasticsearch indices and snapshots";
     license = licenses.asl20;
@@ -68,6 +76,6 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ basvandijk ];
 
     # https://github.com/elastic/curator/pull/1280
-    broken = versionAtLeast click.version "7.0";
+    #broken = versionAtLeast click.version "7.0";
   };
 }
diff --git a/pkgs/tools/admin/fbvnc/default.nix b/pkgs/tools/admin/fbvnc/default.nix
new file mode 100644
index 00000000000..ec32b5f0a26
--- /dev/null
+++ b/pkgs/tools/admin/fbvnc/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchFromGitHub}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "fbvnc";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "zohead";
+    repo = pname;
+    sha256 = "0lkr4j1wsa05av2g9w99rr9w4j4k7a21vp36x0a3h50y8bmgwgm1";
+    rev = "783204ff6c92afec33d6d36f7e74f1fcf2b1b601";
+  };
+
+  buildInputs = [];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp fbvnc "$out/bin"
+    mkdir -p "$out/share/doc/${pname}"
+    cp README* "$out/share/doc/${pname}"
+  '';
+
+  meta = {
+    description = "Framebuffer VNC client";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/zohead/fbvnc/";
+  };
+}
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index bf4261682cf..fa7c3876a28 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,17 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "3.0.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0q73522yblcjsyscsppwnxfw6m249zr9whb93bhv5i5z012gy6mx";
+    sha256 = "1djvwyjg30f9bj61pf3y2k2w055pj39v0sif4rjqg8cz0j382a2z";
   };
 
-  modSha256 = "00pl8l8h01rfxyd0l4487x55kfqhpm0ls84kxmgz3vph7irm6hcq";
+  modSha256 = "0k3p11cji3p4nzr8aia8hp01wyx1qfx84259dwbfwg1b32ln8rkc";
+  subPackages = [ "cmd/lego" ];
 
   meta = with lib; {
     description = "Let's Encrypt client and ACME library written in Go";
diff --git a/pkgs/tools/admin/procs/default.nix b/pkgs/tools/admin/procs/default.nix
index 24f8036b428..20e9c8b3d47 100644
--- a/pkgs/tools/admin/procs/default.nix
+++ b/pkgs/tools/admin/procs/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchFromGitHub, rustPlatform
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.8.13";
+  version = "0.8.16";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yy41v2crds9500fa4r0kqiddciqkilr2h13nrjqy44ckvw2mi5y";
+    sha256 = "0l4n3gr1sc7wfa21p8yh7idaii0mnfpyqp4cg7f9l4345isy94vq";
   };
 
-  cargoSha256 = "1gnl97h0l9k8xnrwl6807qlbx13vd45kmla02mk9p1h52sr0din5";
+  cargoSha256 = "03c63dlzvag341n6la1s61ccri1avlprd91m11z9zzjhi9b46kcr";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
+  patches = [
+    # Fix tests on darwin. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/dalance/procs/commit/bb554e247b5b339bc00fa5dd2e771b0d7cb09cd5.patch";
+      sha256 = "1szvvifa4pdbgdsmdj5f0zq6qzf1lh6wwc6ipawblfzwmg7d9wvk";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A modern replacement for ps written in Rust";
     homepage = "https://github.com/dalance/procs";
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
new file mode 100644
index 00000000000..1edc80c24e2
--- /dev/null
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -0,0 +1,51 @@
+# DO NOT EDIT! This file is generated automatically by update.sh
+{ }:
+{
+  version = "1.4.0";
+  pulumiPkgs = {
+    x86_64-linux = [
+      {
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v1.4.0-linux-x64.tar.gz";
+        sha256 = "00ywy2ba4xha6gwd42i3fdrk1myivkd1r6ijdr2vkianmg524k6f";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v0.2.0-linux-amd64.tar.gz";
+        sha256 = "1hj4gysjipd091f106a7xz02g9cail5d11rn6j08m0xphg9cf3fn";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v1.4.1-linux-amd64.tar.gz";
+        sha256 = "0r6xpsb2riqmxwxw28lbi3xd7w4ds510gw99j1rr57h5b9bq19jj";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v1.2.3-linux-amd64.tar.gz";
+        sha256 = "0m7fajy3cy1agsz787ak548khwj8rwahs1ibaswqfyyw092iyzb9";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v1.7.0-linux-amd64.tar.gz";
+        sha256 = "1qw90l7h8yn06bz2l2995nbrc3svs223dm3ys1807amj4n2jyfwb";
+      }
+    ];
+    x86_64-darwin = [
+      {
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v1.4.0-darwin-x64.tar.gz";
+        sha256 = "02vqw9gn17dy3rfh0j00k9f827l42g3nl3rhlcbc8jbgx3n9c9qy";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v0.2.0-darwin-amd64.tar.gz";
+        sha256 = "077j9fp8ix00rcqrq8qxk3kvz6gz6sknzb2iv3qjvkh6yh292mz3";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v1.4.1-darwin-amd64.tar.gz";
+        sha256 = "1i2vf3bxwf8awvw183hq9bbnmznda1jpv1zqghgz2ybx4s0915nx";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v1.2.3-darwin-amd64.tar.gz";
+        sha256 = "123czx1c31r5r91k2jhdgmnffypnl8w1a6h9mr2rdhwgbx8hzq40";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v1.7.0-darwin-amd64.tar.gz";
+        sha256 = "0cl0vakppxi0v8ym8b4fzhzb10nl84wd0vfik8gpfwsg7zwdzhlp";
+      }
+    ];
+  };
+}
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index bba5c7e09cf..977c1991fab 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -3,26 +3,16 @@
 with lib;
 
 let
-
-  version = "1.4.0";
-
-  # switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
-  pulumiArchPackage = {
-    x86_64-linux = {
-      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
-      sha256 = "00ywy2ba4xha6gwd42i3fdrk1myivkd1r6ijdr2vkianmg524k6f";
-    };
-    x86_64-darwin = {
-      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
-      sha256 = "02vqw9gn17dy3rfh0j00k9f827l42g3nl3rhlcbc8jbgx3n9c9qy";
-    };
-  };
-
+  data = import ./data.nix {};
 in stdenv.mkDerivation {
-  inherit version;
   pname = "pulumi";
+  version = data.version;
+
+  postUnpack = ''
+    mv pulumi-* pulumi
+  '';
 
-  src = fetchurl pulumiArchPackage.${stdenv.hostPlatform.system};
+  srcs = map (x: fetchurl x) data.pulumiPkgs.${stdenv.hostPlatform.system};
 
   installPhase = ''
     mkdir -p $out/bin
@@ -35,9 +25,10 @@ in stdenv.mkDerivation {
     homepage = https://pulumi.io/;
     description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
     license = with licenses; [ asl20 ];
-    platforms = builtins.attrNames pulumiArchPackage;
+    platforms = builtins.attrNames data.pulumiPkgs;
     maintainers = with maintainers; [
       peterromfeldhk
+      jlesquembre
     ];
   };
 }
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
new file mode 100644
index 00000000000..7cb500ee9d3
--- /dev/null
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+VERSION="1.4.0"
+
+declare -A plugins
+plugins=(
+    ["aws"]="1.7.0"
+    ["gcp"]="1.4.1"
+    ["kubernetes"]="1.2.3"
+    ["random"]="0.2.0"
+)
+
+function genMainSrc() {
+    local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-$1-x64.tar.gz"
+    local sha256
+    sha256=$(nix-prefetch-url "$url")
+    echo "      {"
+    echo "        url = \"${url}\";"
+    echo "        sha256 = \"$sha256\";"
+    echo "      }"
+}
+
+function genSrcs() {
+    for plug in "${!plugins[@]}"; do
+        local version=${plugins[$plug]}
+        # url as defined here
+        # https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
+        local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-$1-amd64.tar.gz"
+        local sha256
+        sha256=$(nix-prefetch-url "$url")
+        echo "      {"
+        echo "        url = \"${url}\";"
+        echo "        sha256 = \"$sha256\";"
+        echo "      }"
+    done
+}
+
+cat <<EOF
+# DO NOT EDIT! This file is generated automatically by update.sh
+{ }:
+{
+  version = "${VERSION}";
+  pulumiPkgs = {
+    x86_64-linux = [
+EOF
+genMainSrc "linux"
+genSrcs "linux"
+echo "    ];"
+
+echo "    x86_64-darwin = ["
+genMainSrc "darwin"
+genSrcs "darwin"
+echo "    ];"
+echo "  };"
+echo "}"
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 5a964a7fe70..78fa4359c91 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -5,20 +5,20 @@
 , cmake, gettext, libtool
 , libGLU
 , gnutls, pam, nettle
-, xterm, openssh
+, xterm, openssh, perl
 , makeWrapper}:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.0";
   pname = "tigervnc";
 
   src = fetchFromGitHub {
     owner = "TigerVNC";
     repo = "tigervnc";
-    rev = "v1.9.0";
-    sha256 = "0b47fg3741qs3zdpl2zr0s6jz46dypp2j6gqrappbzm3ywnnmm1x";
+    rev = "v1.10.0";
+    sha256 = "0l0x7cq65wv9n93r952qsikwzcls1sq3r32mx0c4wg19dha0x1m4";
   };
 
   inherit fontDirectories;
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with xorg; [
     libjpeg_turbo fltk pixman
-    gnutls pam nettle
+    gnutls pam nettle perl
     xorgproto
     utilmacros libXtst libXext libX11 libXext libICE libXi libSM libXft
     libxkbfile libXfont2 libpciaccess
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.tigervnc.org/;
+    homepage = "https://tigervnc.org/";
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Fork of tightVNC, made in cooperation with VirtualGL";
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch
new file mode 100644
index 00000000000..cd65d2fb5dd
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch
@@ -0,0 +1,18 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/c5ba3fee85a7ecbbca1df5ffd46d32b92757bc2a
+diff --git a/vncviewer/rfbproto.c b/vncviewer/rfbproto.c
+index 04b0230..47a6863 100644
+--- a/vncviewer/rfbproto.c
++++ b/vncviewer/rfbproto.c
+@@ -1217,6 +1217,12 @@ HandleRFBServerMessage()
+     if (serverCutText)
+       free(serverCutText);
+ 
++    if (msg.sct.length > 1<<20) {
++      fprintf(stderr,"Ignoring too big cut text length sent by server: %u B > 1 MB\n",
++              (unsigned int)msg.sct.length);
++      return False;
++    }
++
+     serverCutText = malloc(msg.sct.length+1);
+ 
+     if (!ReadFromRFBServer(serverCutText, msg.sct.length))
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch
new file mode 100644
index 00000000000..6d7b3e89e0c
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch
@@ -0,0 +1,19 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/c2c4b81e6cb3b485fb1ec7ba9e7defeb889f6ba7
+diff --git a/vncviewer/rfbproto.c b/vncviewer/rfbproto.c
+index 04b0230..bd11b54 100644
+--- a/vncviewer/rfbproto.c
++++ b/vncviewer/rfbproto.c
+@@ -303,7 +303,12 @@ InitialiseRFBConnection(void)
+   si.format.blueMax = Swap16IfLE(si.format.blueMax);
+   si.nameLength = Swap32IfLE(si.nameLength);
+ 
+-  /* FIXME: Check arguments to malloc() calls. */
++  if (si.nameLength > 1<<20) {
++    fprintf(stderr, "Too big desktop name length sent by server: %lu B > 1 MB\n",
++            (unsigned long)si.nameLength);
++    return False;
++  }
++
+   desktopName = malloc(si.nameLength + 1);
+   if (!desktopName) {
+     fprintf(stderr, "Error allocating memory for desktop name, %lu bytes\n",
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch
new file mode 100644
index 00000000000..7426a2b58b1
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch
@@ -0,0 +1,16 @@
+diff --git a/vncviewer/zlib.c b/vncviewer/zlib.c
+index 80c4eee..76998d8 100644
+--- a/vncviewer/zlib.c
++++ b/vncviewer/zlib.c
+@@ -55,6 +55,11 @@ HandleZlibBPP (int rx, int ry, int rw, int rh)
+     raw_buffer_size = (( rw * rh ) * ( BPP / 8 ));
+     raw_buffer = (char*) malloc( raw_buffer_size );
+ 
++    if ( raw_buffer == NULL ) {
++      fprintf(stderr,
++              "couldn't allocate raw_buffer in HandleZlibBPP");
++      return False;
++    }
+   }
+ 
+   if (!ReadFromRFBServer((char *)&hdr, sz_rfbZlibHeader))
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch
new file mode 100644
index 00000000000..5bfd1b9ea87
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch
@@ -0,0 +1,14 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/7b1ef0ffc4815cab9a96c7278394152bdc89dc4d
+diff --git a/vncviewer/corre.c b/vncviewer/corre.c
+index c846a10..a4c272d 100644
+--- a/vncviewer/corre.c
++++ b/vncviewer/corre.c
+@@ -56,7 +56,7 @@ HandleCoRREBPP (int rx, int ry, int rw, int rh)
+     XChangeGC(dpy, gc, GCForeground, &gcv);
+     XFillRectangle(dpy, desktopWin, gc, rx, ry, rw, rh);
+ 
+-    if (!ReadFromRFBServer(buffer, hdr.nSubrects * (4 + (BPP / 8))))
++    if (hdr.nSubrects > BUFFER_SIZE / (4 + (BPP / 8)) || !ReadFromRFBServer(buffer, hdr.nSubrects * (4 + (BPP / 8))))
+ 	return False;
+ 
+     ptr = (CARD8 *)buffer;
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 5a76b500d14..1a65c31102e 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -9,6 +9,13 @@ stdenv.mkDerivation {
     sha256 = "f48c70fea08d03744ae18df6b1499976362f16934eda3275cead87baad585c0d";
   };
 
+  patches = [
+    ./1.3.10-CVE-2019-15678.patch
+    ./1.3.10-CVE-2019-15679.patch
+    ./1.3.10-CVE-2019-15680.patch
+    ./1.3.10-CVE-2019-8287.patch
+  ];
+
   # for the builder script
   inherit fontDirectories;
 
diff --git a/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch b/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
deleted file mode 100644
index 90ddeff9790..00000000000
--- a/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/src/copyin.c b/src/copyin.c
-index cde911e..032d35f 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -1385,6 +1385,8 @@ process_copy_in ()
-          break;
-        }
-
-+      if (file_hdr.c_namesize <= 1)
-+        file_hdr.c_name = xrealloc(file_hdr.c_name, 2);
-       cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
-                              false);
-
-diff --git a/src/util.c b/src/util.c
-index 6ff6032..2763ac1 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -1411,7 +1411,10 @@ set_file_times (int fd,
- }
-
- /* Do we have to ignore absolute paths, and if so, does the filename
--   have an absolute path?  */
-+   have an absolute path?
-+   Before calling this function make sure that the allocated NAME buffer has
-+   capacity at least 2 bytes to allow us to store the "." string inside.  */
-+
- void
- cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
-                        bool strip_leading_dots)
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 44943109ee1..3f6b3ba4598 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -1,30 +1,16 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl }:
 
 let
-  version = "2.12";
+  version = "2.13";
   name = "cpio-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://gnu/cpio/${name}.tar.bz2";
-    sha256 = "0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh";
+    sha256 = "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2015-1197-cpio-2.12.patch";
-      url = "https://gist.github.com/nckx/70b0bfa80ddfb86c2967/"
-        + "raw/e9b40d4d4b701f584f826775b75beb10751dc884/"
-        + "CVE-2015-1197-cpio-2.12.patch";
-      sha256 = "0ph43m4lavwkc4gnl5h9p3da4kb1pnhwk5l2qsky70dqri8pcr8v";
-    })
-
-    # Report: http://www.openwall.com/lists/oss-security/2016/01/19/4
-    # Patch from https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html
-    ./CVE-2016-2037-out-of-bounds-write.patch
-  ];
-
   preConfigure = if stdenv.isCygwin then ''
     sed -i gnu/fpending.h -e 's,include <stdio_ext.h>,,'
   '' else null;
diff --git a/pkgs/tools/archivers/innoextract/default.nix b/pkgs/tools/archivers/innoextract/default.nix
index 6b0ca7e1528..6a8c8c71274 100644
--- a/pkgs/tools/archivers/innoextract/default.nix
+++ b/pkgs/tools/archivers/innoextract/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "innoextract-1.8";
 
   src = fetchurl {
-    url = "http://constexpr.org/innoextract/files/${name}.tar.gz";
+    url = "https://constexpr.org/innoextract/files/${name}.tar.gz";
     sha256 = "0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A tool to unpack installers created by Inno Setup";
-    homepage = http://constexpr.org/innoextract/;
+    homepage = https://constexpr.org/innoextract/;
     license = licenses.zlib;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index b1d440e51ce..0fe8f2f5866 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "5.8.3";
+  version = "5.8.5";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "19lizlsbblkcdyc81jycp5k8kf5d8h2hlgfy16zb1g2vixf6i49m";
+    sha256 = "0abvz6vv8kr416fphysfbwgxc6hyf1bpnd0aczfv7j3vc8x949d7";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index cdf189e82df..7bbcc906292 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -26,6 +26,21 @@ stdenv.mkDerivation {
     ./CVE-2016-9844.patch
     ./CVE-2018-18384.patch
     ./dont-hardcode-cc.patch
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213.patch";
+      name = "CVE-2019-13232-1.patch";
+      sha256 = "04jzd6chg9fw4l5zadkfsrfm5llrd7vhd1dgdjjd29nrvkrjyn14";
+    })
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c.patch";
+      name = "CVE-2019-13232-2.patch";
+      sha256 = "0iy2wcjyvzwrjk02iszwcpg85fkjxs1bvb9isvdiywszav4yjs32";
+    })
+    (fetchurl {
+      url = "https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc.patch";
+      name = "CVE-2019-13232-3.patch";
+      sha256 = "1jvs7dkdqs97qnsqc6hk088alhv8j4c638k65dbib9chh40jd7pf";
+    })
   ] ++ stdenv.lib.optional enableNLS
     (fetchurl {
       url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 39ad4626f3e..575517829ff 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.5";
+  version = "8.14.6";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "1i6db49khqy8bqg21cn90b1fvyw8mh1asdswzssr6dr2g8bhdwmq";
+    sha256 = "1gqjqbd8wj0655vi8gcg2r5jqzafdlnfjzwa9z331ywhrskpm53w";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 773b09958ea..804f9f3ed24 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2019.08.11";
+  version = "2019.11.11";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "0rkqmavg7iv9080jdqs0qz80nanhizv6jk0fg9d5xvq3gnmfvnj1";
+    sha256 = "0xid13jqhbknrs31j74iwgjm0h0c64w3kqk9g9am1pkjwxh8d460";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/pkgs/tools/audio/acoustid-fingerprinter/default.nix
index acd205a30de..7b92b973df4 100644
--- a/pkgs/tools/audio/acoustid-fingerprinter/default.nix
+++ b/pkgs/tools/audio/acoustid-fingerprinter/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake qt4 taglib chromaprint ffmpeg ];
 
-  cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${(builtins.parseDrvName taglib.name).version}" ];
+  cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${stdenv.lib.getVersion taglib}" ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/tools/audio/beets/beet-check-tests.patch b/pkgs/tools/audio/beets/beet-check-tests.patch
new file mode 100644
index 00000000000..2de97b86c8b
--- /dev/null
+++ b/pkgs/tools/audio/beets/beet-check-tests.patch
@@ -0,0 +1,17 @@
+diff --git a/test/cli_test.py b/test/cli_test.py
+index 26df140..2eb913c 100644
+--- a/test/cli_test.py
++++ b/test/cli_test.py
+@@ -372,12 +372,6 @@ class ToolListTest(TestHelper, TestCase):
+         self.assertIn('flac', stdout.getvalue())
+         self.assertIn('oggz-validate', stdout.getvalue())
+ 
+-    def test_found_mp3val(self):
+-        shutil.copy('/bin/echo', os.path.join(self.temp_dir, 'mp3val'))
+-        with captureStdout() as stdout:
+-            beets.ui._raw_main(['check', '--list-tools'])
+-        self.assertRegexpMatches(stdout.getvalue(), r'mp3val *found')
+-
+     def test_oggz_validate_not_found(self):
+         with captureStdout() as stdout:
+             beets.ui._raw_main(['check', '--list-tools'])
diff --git a/pkgs/tools/audio/beets/check-plugin.nix b/pkgs/tools/audio/beets/check-plugin.nix
new file mode 100644
index 00000000000..49ee97ead06
--- /dev/null
+++ b/pkgs/tools/audio/beets/check-plugin.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "beets-check";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    repo = "beets-check";
+    owner = "geigerzaehler";
+    rev = "v${version}";
+    sha256 = "0b2ijjf0gycs6b40sm33ida3sjygjiv4spb5mba52vysc7iwmnjn";
+  };
+
+  nativeBuildInputs = [ beets ];
+  checkInputs = [ pythonPackages.nose flac liboggz mp3val ];
+  propagatedBuildInputs = [ flac liboggz mp3val ];
+
+  # patch out broken tests
+  patches = [ ./beet-check-tests.patch ];
+
+  # patch out futures dependency, it is only needed for Python2 which we don't
+  # support.
+  prePatch = ''
+    sed -i "/futures/d" setup.py
+  '';
+
+  checkPhase = "nosetests";
+
+  meta = with stdenv.lib; {
+    description = "Beets plugin to Verify and store checksums in your library";
+    homepage = https://github.com/geigerzaehler/beets-check;
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 241e552b05c..b4dfa71ca96 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -6,6 +6,7 @@
 # Attributes needed for tests of the external plugins
 , callPackage, beets
 
+, enableAbsubmit       ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
 , enableAcousticbrainz ? true
 , enableAcoustid       ? true
 , enableBadfiles       ? true, flac ? null, mp3val ? null
@@ -28,13 +29,16 @@
 
 # External plugins
 , enableAlternatives   ? false
+, enableCheck          ? false, liboggz ? null
 , enableCopyArtifacts  ? false
 
 , bashInteractive, bash-completion
 }:
 
+assert enableAbsubmit    -> essentia-extractor            != null;
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
+assert enableCheck       -> flac != null && mp3val != null && liboggz != null;
 assert enableConvert     -> ffmpeg != null;
 assert enableDiscogs     -> pythonPackages.discogs_client != null;
 assert enableFetchart    -> pythonPackages.responses      != null;
@@ -51,6 +55,7 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    absubmit = enableAbsubmit;
     acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
     chroma = enableAcoustid;
@@ -75,12 +80,12 @@ let
   };
 
   pluginsWithoutDeps = [
-    "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates"
-    "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename"
-    "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info"
-    "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync"
-    "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub"
-    "smartplaylist" "spotify" "the" "types" "zero"
+    "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
+    "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
+    "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
+    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
+    "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
+    "types" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -103,6 +108,7 @@ let
 
   plugins = {
     alternatives = callPackage ./alternatives-plugin.nix pluginArgs;
+    check = callPackage ./check-plugin.nix pluginArgs;
     copyartifacts = callPackage ./copyartifacts-plugin.nix pluginArgs;
   };
 
@@ -129,7 +135,8 @@ in pythonPackages.buildPythonApplication rec {
     pythonPackages.gst-python
     pythonPackages.pygobject3
     gobject-introspection
-  ] ++ optional enableAcoustid      pythonPackages.pyacoustid
+  ] ++ optional enableAbsubmit      essentia-extractor
+    ++ optional enableAcoustid      pythonPackages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
               || enableKodiupdate
@@ -138,6 +145,7 @@ in pythonPackages.buildPythonApplication rec {
               || enableSubsonicupdate
               || enableAcousticbrainz)
                                     pythonPackages.requests
+    ++ optional enableCheck         plugins.check
     ++ optional enableConvert       ffmpeg
     ++ optional enableDiscogs       pythonPackages.discogs_client
     ++ optional enableGmusic        pythonPackages.gmusicapi
@@ -242,6 +250,10 @@ in pythonPackages.buildPythonApplication rec {
 
   makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ];
 
+  passthru = {
+    externalPlugins = plugins;
+  };
+
   meta = {
     description = "Music tagger and library organizer";
     homepage = http://beets.io;
diff --git a/pkgs/tools/audio/essentia-extractor/default.nix b/pkgs/tools/audio/essentia-extractor/default.nix
new file mode 100644
index 00000000000..0d2bb17a75d
--- /dev/null
+++ b/pkgs/tools/audio/essentia-extractor/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+let
+  arch_table = {
+    "x86_64-linux" = "linux-x86_64";
+    "i686-linux" = "linux-i686";
+  };
+
+  sha_table = {
+    "x86_64-linux" =
+      "d9902aadac4f442992877945da2a6fe8d6ea6b0de314ca8ac0c28dc5f253f7d8";
+    "i686-linux" =
+      "46deb0a053b4910c4e68737a7b6556ff5360260c8f86652f91a0130445f5c949";
+  };
+
+  arch = arch_table.${stdenv.system};
+  sha = sha_table.${stdenv.system};
+in stdenv.mkDerivation rec {
+  pname = "essentia-extractor";
+  version = "2.1_beta2";
+
+  src = fetchurl {
+    url =
+      "ftp://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-v${version}-${arch}.tar.gz";
+    sha256 = sha;
+  };
+
+  unpackPhase = "unpackFile $src ; export sourceRoot=.";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp streaming_extractor_music $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://acousticbrainz.org/download";
+    description = "AcousticBrainz audio feature extractor";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix
index d13dfbe8f43..0dbdcd7d25a 100644
--- a/pkgs/tools/audio/mpdris2/default.nix
+++ b/pkgs/tools/audio/mpdris2/default.nix
@@ -1,31 +1,55 @@
-{ stdenv, fetchurl, autoreconfHook, intltool
-, pythonPackages
+{ stdenv
+, autoreconfHook
+, fetchFromGitHub
+, glib
+, gobject-introspection
+, intltool
+, libnotify
+, python3
+, wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "mpDris2";
   version = "0.8";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
-  src = fetchurl {
-    url = "https://github.com/eonpatapon/${pname}/archive/${version}.tar.gz";
-    sha256 = "14a3va3929qaq1sp9hs9w4bs6lykdvshkbc58kbsc5nzvlgmrcdn";
+  src = fetchFromGitHub {
+    owner = "eonpatapon";
+    repo = pname;
+    rev = version;
+    sha256 = "048b8acsd1b8kcxzd9fsh5p9g2an9c4rznicfcpyrsjz5syv894h";
   };
 
   preConfigure = ''
     intltoolize -f
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ intltool pythonPackages.wrapPython ];
-  propagatedBuildInputs = with pythonPackages; [ python pygtk dbus-python  ];
-  pythonPath = with pythonPackages; [ mpd pygtk dbus-python notify mutagen ];
-  postInstall = "wrapPythonPrograms";
+  nativeBuildInputs = [
+    autoreconfHook
+    gobject-introspection
+    intltool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    libnotify
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    dbus-python
+    mpd2
+    mutagen
+    pygobject3
+  ];
 
   meta = with stdenv.lib; {
     description = "MPRIS 2 support for mpd";
     homepage = https://github.com/eonpatapon/mpDris2/;
     license = licenses.gpl3;
+    maintainers = with maintainers; [];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ pjones ];
   };
 }
diff --git a/pkgs/tools/audio/volctl/default.nix b/pkgs/tools/audio/volctl/default.nix
new file mode 100644
index 00000000000..7b4cdd6b531
--- /dev/null
+++ b/pkgs/tools/audio/volctl/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, pythonPackages, libpulseaudio, glib, gtk3, gobject-introspection, wrapGAppsHook }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "volctl";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "buzz";
+    repo = pname;
+    rev = version;
+    sha256 = "1bqq5mrpi7qxzl37z6fj67pqappjmwhi8d8db95j3lmf16svm2xk";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libpulseaudio
+  ];
+
+  pythonPath = with pythonPackages; [
+    pygobject3
+  ];
+
+  strictDeps = false;
+
+  postPatch = ''
+    # The user can set a mixer application in the preferences. The
+    # default is pavucontrol. Do not hard code its path and hope it
+    # can be found in $PATH.
+
+    substituteInPlace volctl/app.py --replace /usr/bin/pavucontrol pavucontrol
+  '';
+
+  preBuild = ''
+    export LD_LIBRARY_PATH=${libpulseaudio}/lib
+  '';
+
+  preFixup = ''
+    glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
+
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib"
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio enabled volume control featuring per-app sliders";
+    homepage = https://buzz.github.io/volctl/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 963d7945b89..cd45edfa2d5 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
-, utillinux, asciidoc, asciidoctor, makeWrapper }:
+, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
-  version = "0.28.3";
+  version = "0.29.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
-    sha256 = "0s69pcjkjxg77cgyjahwyg2w81ckgzwz1ds4ifjw7z0zhjxy7miz";
+    sha256 = "1ki40jga09x361lj36hgzw3ahs0cg2w0s3rjwp209255fzyl89il";
   };
 
   nativeBuildInputs = [ asciidoc asciidoctor makeWrapper ];
@@ -38,15 +38,15 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram $out/sbin/btrbk \
       --set PERL5LIB $PERL5LIB \
-      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash openssh ]}"
+      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}"
   '';
 
   meta = with stdenv.lib; {
     description = "A backup tool for btrfs subvolumes";
-    homepage = http://digint.ch/btrbk;
+    homepage = https://digint.ch/btrbk;
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ the-kenny ];
+    maintainers = with maintainers; [ asymmetric the-kenny ];
     inherit version;
   };
 }
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index c1673c8308e..a33067e8897 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -43,7 +43,7 @@ python2Packages.buildPythonApplication rec {
   buildInputs = [ librsync makeWrapper python2Packages.wrapPython ];
   propagatedBuildInputs = [ backblaze-b2 ] ++ (with python2Packages; [
     boto cffi cryptography ecdsa enum idna pygobject3 fasteners
-    ipaddress lockfile paramiko pyasn1 pycrypto six
+    ipaddress lockfile paramiko pyasn1 pycrypto six pydrive
   ]);
   checkInputs = [
     gnupg  # Add 'gpg' to PATH.
diff --git a/pkgs/tools/backup/hpe-ltfs/default.nix b/pkgs/tools/backup/hpe-ltfs/default.nix
new file mode 100644
index 00000000000..d289febe1f0
--- /dev/null
+++ b/pkgs/tools/backup/hpe-ltfs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, fuse, icu, pkgconfig, libxml2, libuuid }:
+
+stdenv.mkDerivation rec {
+  version = "3.4.2_Z7550-02501";
+  pname = "hpe-ltfs";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "nix-community";
+    repo = "hpe-ltfs";
+    sha256 = "193593hsc8nf5dn1fkxhzs1z4fpjh64hdkc8q6n9fgplrpxdlr4s";
+  };
+
+  sourceRoot = "source/ltfs";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ 
+    fuse icu libxml2 libuuid
+  ];
+
+  meta = with stdenv.lib; {
+    description = "HPE's implementation of the open-source tape filesystem standard ltfs";
+    homepage = https://support.hpe.com/hpesc/public/km/product/1009214665/Product;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.redvers ];
+    platforms = platforms.linux;
+    downloadPage = https://github.com/nix-community/hpe-ltfs;
+  };
+}
diff --git a/pkgs/tools/backup/lvmsync/default.nix b/pkgs/tools/backup/lvmsync/default.nix
index 814c02267ba..8c23d804d0b 100644
--- a/pkgs/tools/backup/lvmsync/default.nix
+++ b/pkgs/tools/backup/lvmsync/default.nix
@@ -30,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Optimised synchronisation of LVM snapshots over a network";
-    homepage = http://theshed.hezmatt.org/lvmsync/;
+    homepage = https://theshed.hezmatt.org/lvmsync/;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ jluttine nicknovitski ];
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index b78fc9b61f7..26f05d41954 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "restic";
-  version = "0.9.5";
+  version = "0.9.6";
 
   goPackagePath = "github.com/restic/restic";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "1bhn3xwlycpnjg2qbqblwxn3apj43lr5cakgkmrblk13yfwfv5xv";
+    sha256 = "0lydll93n1lcn1fl669b9cikmzz9d6vfpc8ky3ng5fi8kj3v1dz7";
   };
 
   buildPhase = ''
diff --git a/pkgs/tools/backup/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix
index 6abd7002f8d..9f6204db2d8 100644
--- a/pkgs/tools/backup/rsnapshot/default.nix
+++ b/pkgs/tools/backup/rsnapshot/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, openssh, rsync, logger }:
 
 stdenv.mkDerivation rec {
-  name = "rsnapshot-1.4.2";
+  name = "rsnapshot-1.4.3";
 
   src = fetchurl {
     url = "http://rsnapshot.org/downloads/${name}.tar.gz";
-    sha256 = "05jfy99a0xs6lvsjfp3wz21z0myqhmwl2grn3jr9clijbg282ah4";
+    sha256 = "1lavqmmsf53pim0nvming7fkng6p0nk2a51k2c2jdq0l7snpl31b";
   };
 
   propagatedBuildInputs = [perl openssh rsync logger];
diff --git a/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix b/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
new file mode 100644
index 00000000000..94cd09674da
--- /dev/null
+++ b/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, substituteAll }:
+
+stdenv.mkDerivation rec {
+  pname = "srt-to-vtt-cl";
+  version = "unstable-2019-01-03";
+
+  src = fetchFromGitHub {
+    owner = "nwoltman";
+    repo = pname;
+    rev = "ce3d0776906eb847c129d99a85077b5082f74724";
+    sha256 = "0qxysj08gjr6npyvg148llmwmjl2n9cyqjllfnf3gxb841dy370n";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-validation.patch;
+    })
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/$(uname -s)/$(uname -m)/srt-vtt $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert SRT files to VTT";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ericdallo ];
+    homepage = https://github.com/nwoltman/srt-to-vtt-cl;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch b/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
new file mode 100644
index 00000000000..abddae6d071
--- /dev/null
+++ b/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
@@ -0,0 +1,13 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,4 @@
+-ERR = $(shell which clang++ >/dev/null; echo $$?)
+-ifeq "$(ERR)" "0"
+-	CXX ?= clang++
+-else
+-	CXX ?= g++
+-endif
++CXX ?= g++
+ CXXFLAGS = -std=c++11 -O2 -MMD -I ./deps
+ OBJECTS := src/text_encoding_detect.o src/Utils.o src/Converter.o src/main.o
+ DEPENDS := $(OBJECTS:.o=.d)
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
index 8bee8059fe2..46c8f4338c6 100644
--- a/pkgs/tools/compression/advancecomp/default.nix
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -1,5 +1,9 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, zlib }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "advancecomp";
@@ -15,6 +19,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-9210.patch";
+      url = "https://github.com/amadvance/advancecomp/commit/fcf71a89265c78fc26243574dda3a872574a5c02.patch";
+      sha256 = "0cdv9g87c1y8zwhqkd9ba2zjw4slcvg7yzcqv43idvnwb5fl29n7";
+      excludes = [ "doc/history.d" ];
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = ''A set of tools to optimize deflate-compressed files'';
     license = licenses.gpl3 ;
diff --git a/pkgs/tools/compression/gzrt/default.nix b/pkgs/tools/compression/gzrt/default.nix
index 59a11e2d4d7..6ce50bb3d99 100644
--- a/pkgs/tools/compression/gzrt/default.nix
+++ b/pkgs/tools/compression/gzrt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "gzrt-0.8";
 
   src = fetchurl {
-    url = "http://www.urbanophile.com/arenn/coding/gzrt/${name}.tar.gz";
+    url = "https://www.urbanophile.com/arenn/coding/gzrt/${name}.tar.gz";
     sha256 = "1vhzazj47xfpbfhzkwalz27cc0n5gazddmj3kynhk0yxv99xrdxh";
   };
 
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.urbanophile.com/arenn/hacking/gzrt/;
+    homepage = https://www.urbanophile.com/arenn/hacking/gzrt/;
     description = "The gzip Recovery Toolkit";
-    license = stdenv.lib.licenses.gpl3;
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/lbzip2/default.nix b/pkgs/tools/compression/lbzip2/default.nix
index cf616a21e0a..7e9cc055abf 100644
--- a/pkgs/tools/compression/lbzip2/default.nix
+++ b/pkgs/tools/compression/lbzip2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://lbzip2.org/;
+    homepage = "https://github.com/kjn/lbzip2"; # Formerly http://lbzip2.org/
     description = "Parallel bzip2 compression utility";
     license = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index 3f2497cd8d2..3ce0eac3fc5 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # TODO(@Ericson2314): Separate binaries and libraries
   outputs = [ "out" "dev" ];
 
   buildInputs = stdenv.lib.optional doCheck valgrind;
@@ -33,17 +34,27 @@ stdenv.mkDerivation rec {
     # TODO do this instead
     #"BUILD_STATIC=${if enableStatic then "yes" else "no"}"
     #"BUILD_SHARED=${if enableShared then "yes" else "no"}"
+    #"WINDRES:=${stdenv.cc.bintools.targetPrefix}windres"
   ]
     # TODO delete and do above
     ++ stdenv.lib.optional (enableStatic) "BUILD_STATIC=yes"
     ++ stdenv.lib.optional (!enableShared) "BUILD_SHARED=no"
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "WINDRES:=${stdenv.cc.bintools.targetPrefix}windres"
+    # TODO make full dictionary
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "TARGET_OS=MINGW"
     ;
 
   doCheck = false; # tests take a very long time
   checkTarget = "test";
 
-  # TODO remove
-  postInstall = stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a";
+  # TODO(@Ericson2314): Make resusable setup hook for this issue on Windows.
+  postInstall =
+    stdenv.lib.optionalString stdenv.hostPlatform.isWindows ''
+      mv $out/bin/*.dll $out/lib
+      ln -s $out/lib/*.dll
+    ''
+    # TODO remove
+    + stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a";
 
   meta = with stdenv.lib; {
     description = "Extremely fast compression algorithm";
@@ -56,6 +67,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://lz4.github.io/lz4/;
     license = with licenses; [ bsd2 gpl2Plus ];
-    platforms = platforms.unix;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 5a153393ccd..a3aecf88c90 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -1,24 +1,46 @@
-{ stdenv, fetchFromGitHub, gnugrep
+{ stdenv, fetchFromGitHub, fetchpatch, gnugrep
 , fixDarwinDylibNames
 , file
 , legacySupport ? false }:
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
-    sha256 = "0mmgs98cfh92gcbjyv37vz8nq7x4x7fbzymlxyqd9awwpv9v0i5n";
+    sha256 = "0zn7r8d4m8w2lblnjalqpz18na0spzkdiw3fwq2fzb7drhb32v54";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
   };
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  patches = [
+    # All 3 from https://github.com/facebook/zstd/pull/1883
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/106278e7e5fafaea3b7deb4147bdc8071562d2f0.diff";
+      sha256 = "13z7id1qbc05cv1rmak7c8xrchp7jh1i623bq5pwcihg57wzcyr8";
+    })
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/0ede342acc2c26f87ae962fa88e158904d4198c4.diff";
+      sha256 = "12l5xbvnzkvr76mvl1ls767paqfwbd9q1pzq44ckacfpz4f6iaap";
+      excludes = [
+        # I think line endings are causing problems, or something like that
+        "programs/windres/generate_res.bat"
+      ];
+    })
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/10552eaffef84c011f67af0e04f0780b50a5ab26.diff";
+      sha256 = "1s27ravar3rn7q8abybp9733jhpsfcaci51k04da94ahahvxwiqw";
+    })
+  ] # This I didn't upstream because if you use posix threads with MinGW it will
+    # work find, and I'm not sure how to write the condition.
+    ++ stdenv.lib.optional stdenv.hostPlatform.isWindows ./mcfgthreads-no-pthread.patch;
+
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   makeFlags = [
     "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
-  ];
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isWindows "OS=Windows";
 
   checkInputs = [ file ];
   doCheck = true;
@@ -56,7 +78,7 @@ stdenv.mkDerivation rec {
     homepage = https://facebook.github.io/zstd/;
     license = with licenses; [ bsd3 ]; # Or, at your opinion, GPL-2.0-only.
 
-    platforms = platforms.unix;
+    platforms = platforms.all;
     maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch
new file mode 100644
index 00000000000..69921c0c7ba
--- /dev/null
+++ b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch
@@ -0,0 +1,13 @@
+diff --git a/programs/Makefile b/programs/Makefile
+index 7882fe8c..1e8237bb 100644
+--- a/programs/Makefile
++++ b/programs/Makefile
+@@ -107,7 +107,7 @@ HAVE_THREAD := $(shell [ "$(HAVE_PTHREAD)" -eq "1" -o -n "$(filter Windows%,$(OS
+ ifeq ($(HAVE_THREAD), 1)
+ THREAD_MSG := ==> building with threading support
+ THREAD_CPP := -DZSTD_MULTITHREAD
+-THREAD_LD := -pthread
++THREAD_LD :=
+ else
+ THREAD_MSG := $(NO_THREAD_MSG)
+ endif
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index a8849e6af22..d0f68fac7ca 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.1";
+  version = "1.14.2";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "111i4ba4px3idmrr5qhgq01926fas1rs2yx2shnwgdk3ziqcszxl";
+    sha256 = "0zn5fjrm9la5w1p66xhy87aasqsdky36dgc447jp2yp7nh18v339";
   };
 
   dontStrip = true;
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 95fc1c1cd7a..1da8470280b 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.2.2";
+  version = "5.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1imivxjppi8zl27gn472pwpk8bg5dijkbyi340by31vhy7dj24w2";
+    sha256 = "1ykhasv0jc3qi3xrm5841mzkmlbkjw6rm70gl4aww90jj6ak55qg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 141d21951a8..3066be27772 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -6,9 +6,10 @@
 , libxml2, zlib, lz4
 , openldap, lttng-ust
 , babeltrace, gperf
+, gtest
 , cunit, snappy
 , rocksdb, makeWrapper
-, leveldb, oathToolkit, removeReferencesTo
+, leveldb, oathToolkit
 
 # Optional Dependencies
 , yasm ? null, fcgi ? null, expat ? null
@@ -108,14 +109,14 @@ in rec {
     nativeBuildInputs = [
       cmake
       pkgconfig which git python3Packages.wrapPython makeWrapper
+      python3Packages.python # for the toPythonPath function
       (ensureNewerSourcesHook { year = "1980"; })
     ];
 
     buildInputs = cryptoLibsMap.${cryptoStr} ++ [
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
-      malloc zlib openldap lttng-ust babeltrace gperf cunit
+      malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
       snappy rocksdb lz4 oathToolkit leveldb
-      removeReferencesTo
     ] ++ optionals stdenv.isLinux [
       linuxHeaders utillinux libuuid udev keyutils optLibaio optLibxfs optZfs
       # ceph 14
@@ -124,54 +125,52 @@ in rec {
       optFcgi optExpat optCurl optFuse optLibedit
     ];
 
+    pythonPath = [ ceph-python-env "${placeholder "out"}/${ceph-python-env.sitePackages}" ];
+
     preConfigure =''
       substituteInPlace src/common/module.c --replace "/sbin/modinfo"  "modinfo"
       substituteInPlace src/common/module.c --replace "/sbin/modprobe" "modprobe"
-      # Since Boost 1.67 this seems to have changed
-      substituteInPlace CMakeLists.txt --replace "list(APPEND BOOST_COMPONENTS python)" "list(APPEND BOOST_COMPONENTS python37)"
-      substituteInPlace src/CMakeLists.txt --replace "Boost::python " "Boost::python37 "
 
       # for pybind/rgw to find internal dep
       export LD_LIBRARY_PATH="$PWD/build/lib:$LD_LIBRARY_PATH"
       # install target needs to be in PYTHONPATH for "*.pth support" check to succeed
-      export PYTHONPATH=${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/python3.7/site-packages/:$out/lib/python3.7/site-packages/
 
-      patchShebangs src/spdk
+      patchShebangs src/script src/spdk src/test src/tools
     '';
 
     cmakeFlags = [
       "-DWITH_PYTHON3=ON"
       "-DWITH_SYSTEM_ROCKSDB=OFF"
+      "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
+
 
       "-DWITH_SYSTEM_BOOST=ON"
+      "-DWITH_SYSTEM_ROCKSDB=ON"
+      "-DWITH_SYSTEM_GTEST=ON"
+      "-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
       "-DWITH_SYSTEMD=OFF"
       "-DWITH_TESTS=OFF"
       # TODO breaks with sandbox, tries to download stuff with npm
       "-DWITH_MGR_DASHBOARD_FRONTEND=OFF"
     ];
 
-    preFixup = ''
-      find $lib -type f -exec remove-references-to -t $out '{}' +
-      mv $out/share/ceph/mgr $lib/lib/ceph/
-    '';
-
     postFixup = ''
-      export PYTHONPATH="${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
       wrapPythonPrograms
-      wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
-      wrapProgram $out/bin/ceph-volume --prefix PYTHONPATH ":" "${ceph-python-env}/lib/python3.7/site-packages:$lib/lib/ceph/mgr:$out/lib/python3.7/site-packages/"
+      wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "$(toPythonPath ${placeholder "out"}):$(toPythonPath ${ceph-python-env})"
     '';
 
     enableParallelBuilding = true;
 
     outputs = [ "out" "lib" "dev" "doc" "man" ];
 
+    doCheck = false; # uses pip to install things from the internet
+
     meta = {
       homepage = https://ceph.com/;
       description = "Distributed storage system";
       license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
       maintainers = with maintainers; [ adev ak krav johanot ];
-      platforms = platforms.unix;
+      platforms = [ "x86_64-linux" ];
     };
 
     passthru.version = version;
@@ -183,7 +182,7 @@ in rec {
         description = "Tools needed to mount Ceph's RADOS Block Devices";
         license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
         maintainers = with maintainers; [ adev ak johanot krav ];
-        platforms = platforms.unix;
+        platforms = [ "x86_64-linux" ];
       };
     } ''
       mkdir -p $out/{bin,etc,lib/python3.7/site-packages}
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 7eee02e220a..93a70f1f088 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -1,78 +1,78 @@
-{ stdenv, fetchFromGitHub
-, cmake, pkgconfig, coreutils
-, boost, cryptopp, curl, fuse, openssl, python, spdlog
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkgconfig, python, gtest
+, boost, cryptopp, curl, fuse, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "cryfs";
-  version = "0.9.10";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner  = "cryfs";
     repo   = "cryfs";
     rev    = version;
-    sha256 = "04yqpad8x0hiiwpykcn3swi0py6sg9xid6g15ny2qs4j3llin5ry";
+    sha256 = "1m6rcc82hbaiwcwcvf5xmxma8n0jal9zhcykv9xgwiax4ny0l8kz";
   };
 
-  prePatch = ''
+  patches = [
+    (fetchpatch {
+      name = "cryfs-0.10.2-install-targets.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "1jz6gpi1i7dnfm88a6n3mccwfmsmvg0d0bmp3fmqqrkbcg7in00l";
+    })
+    (fetchpatch {
+      name = "cryfs-0.10.2-unbundle-libs.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "0hzss5rawcjrh8iqzc40w5yjhxdqya4gbg6dzap70180s50mahzs";
+    })
+  ];
+
+  postPatch = ''
     patchShebangs src
 
-    substituteInPlace vendor/scrypt/CMakeLists.txt \
-      --replace /usr/bin/ ""
+    # remove tests that require network access:
+    substituteInPlace test/cpp-utils/CMakeLists.txt \
+      --replace "network/CurlHttpClientTest.cpp" "" \
+      --replace "network/FakeHttpClientTest.cpp" ""
 
-    # scrypt in nixpkgs only produces a binary so we lift the patching from that so allow
-    # building the vendored version. This is very much NOT DRY.
-    # The proper solution is to have scrypt generate a dev output with the required files and just symlink
-    # into vendor/scrypt
-    for f in Makefile.in autocrap/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh ; do
-      substituteInPlace vendor/scrypt/scrypt-*/scrypt/$f --replace "command -p " ""
-    done
+    # remove CLI test trying to access /dev/fuse
+    substituteInPlace test/cryfs-cli/CMakeLists.txt \
+      --replace "CliTest_IntegrityCheck.cpp" ""
 
-    # cryfs is vendoring an old version of spdlog
-    rm -rf vendor/spdlog/spdlog
-    ln -s ${spdlog} vendor/spdlog/spdlog
+    # downsize large file test as 4.5G is too big for Hydra:
+    substituteInPlace test/cpp-utils/data/DataTest.cpp \
+      --replace "(4.5L*1024*1024*1024)" "(0.5L*1024*1024*1024)"
   '';
 
-  buildInputs = [ boost cryptopp curl fuse openssl python spdlog ];
+  nativeBuildInputs = [ cmake gtest pkgconfig python ];
 
-  patches = [
-    ./test-no-network.patch  # Disable tests using external networking
-    ./skip-failing-test-large-malloc.patch
-  ];
-
-  # coreutils is needed for the vendored scrypt
-  nativeBuildInputs = [ cmake coreutils pkgconfig ];
+  buildInputs = [ boost cryptopp curl fuse openssl ];
 
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DCRYFS_UPDATE_CHECKS=OFF"
-    "-DBoost_USE_STATIC_LIBS=OFF" # this option is case sensitive
+    "-DCRYFS_UPDATE_CHECKS:BOOL=FALSE"
+    "-DBoost_USE_STATIC_LIBS:BOOL=FALSE" # this option is case sensitive
+    "-DUSE_SYSTEM_LIBS:BOOL=TRUE"
+    "-DBUILD_TESTING:BOOL=TRUE"
   ];
 
-  doCheck = true;
+  doCheck = (!stdenv.isDarwin); # Cryfs tests are broken on darwin
 
-  # Cryfs tests are broken on darwin
-  checkPhase = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+  checkPhase = ''
     # Skip CMakeFiles directory and tests depending on fuse (does not work well with sandboxing)
-    SKIP_IMPURE_TESTS="CMakeFiles|fspp|cryfs-cli"
+    SKIP_IMPURE_TESTS="CMakeFiles|fspp|my-gtest-main"
 
-    for test in `ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"`; do
-      "./$test`basename $test`-test"
+    for t in $(ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"); do
+      "./$t$(basename $t)-test"
     done
   '';
 
-  installPhase = ''
-    # Building with BUILD_TESTING=ON is missing the install target
-    mkdir -p $out/bin
-    install -m 755 ./src/cryfs-cli/cryfs $out/bin/cryfs
-  '';
-
   meta = with stdenv.lib; {
     description = "Cryptographic filesystem for the cloud";
     homepage    = https://www.cryfs.org;
     license     = licenses.lgpl3;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg c0bw3b ];
     platforms   = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch b/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
deleted file mode 100644
index feb0ed9cfbb..00000000000
--- a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ad3f7e9fa2dececfaab43963887a2f03de52d659 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 21:45:26 +0800
-Subject: [PATCH] Skip failing test: large malloc
-
----
- test/cpp-utils/data/DataTest.cpp | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/test/cpp-utils/data/DataTest.cpp b/test/cpp-utils/data/DataTest.cpp
-index 6f9df070..bd426e62 100644
---- a/test/cpp-utils/data/DataTest.cpp
-+++ b/test/cpp-utils/data/DataTest.cpp
-@@ -191,17 +191,6 @@ TEST_F(DataTest, Inequality_DifferentLastByte) {
-   EXPECT_TRUE(data1 != data2);
- }
- 
--#ifdef __x86_64__
--TEST_F(DataTest, LargesizeSize) {
--  //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks.
--  uint64_t size = 4.5L*1024*1024*1024;
--  Data data(size);
--  EXPECT_EQ(size, data.size());
--}
--#else
--#warning This is not a 64bit architecture. Large size data tests are disabled.
--#endif
--
- TEST_F(DataTest, LoadingNonexistingFile) {
-   TempFile file(false); // Pass false to constructor, so the tempfile is not created
-   EXPECT_FALSE(Data::LoadFromFile(file.path()));
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/cryfs/test-no-network.patch b/pkgs/tools/filesystems/cryfs/test-no-network.patch
deleted file mode 100644
index 3392d3f855e..00000000000
--- a/pkgs/tools/filesystems/cryfs/test-no-network.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8b1808e1278d2cb0dc56a4e98781eceeadfb9718 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 18:13:28 +0800
-Subject: [PATCH] Disable tests using external networking
-
----
- test/cpp-utils/CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/test/cpp-utils/CMakeLists.txt b/test/cpp-utils/CMakeLists.txt
-index 5a2bc9f8..d838edba 100644
---- a/test/cpp-utils/CMakeLists.txt
-+++ b/test/cpp-utils/CMakeLists.txt
-@@ -20,7 +20,6 @@ set(SOURCES
-     tempfile/TempFileIncludeTest.cpp
-     tempfile/TempDirIncludeTest.cpp
-     tempfile/TempDirTest.cpp
--    network/CurlHttpClientTest.cpp
-     network/FakeHttpClientTest.cpp
-     io/ConsoleIncludeTest.cpp
-     io/ConsoleTest_AskYesNo.cpp
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/dislocker/default.nix b/pkgs/tools/filesystems/dislocker/default.nix
index 81faed5bfa8..cf87f9ca98e 100644
--- a/pkgs/tools/filesystems/dislocker/default.nix
+++ b/pkgs/tools/filesystems/dislocker/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub
+{ stdenv
+, fetchFromGitHub
 , cmake
-, polarssl , fuse
+, mbedtls
+, fuse
 }:
-with stdenv.lib;
-let
-  version = "0.7.1";
-in
-stdenv.mkDerivation {
+
+
+stdenv.mkDerivation rec {
   pname = "dislocker";
-  inherit version;
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "aorimn";
@@ -17,9 +17,10 @@ stdenv.mkDerivation {
     sha256 = "1crh2sg5x1kgqmdrl1nmrqwxjykxa4zwnbggcpdn97mj2gvdw7sb";
   };
 
-  buildInputs = [ cmake fuse polarssl ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fuse mbedtls ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Read BitLocker encrypted partitions in Linux";
     homepage    = https://github.com/aorimn/dislocker;
     license     = licenses.gpl2;
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 3981521097a..d68ad10bd0d 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
       Duff is a Unix command-line utility for quickly finding duplicates in
       a given set of files.
     '';
-    homepage = http://duff.dreda.org/;
+    homepage = https://duff.dreda.org/;
     license = licenses.zlib;
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index eb17e9fc60c..0fd7062ac6c 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo }:
+{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo, shared ? true }:
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
@@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     if stdenv.isLinux then [
-      "--enable-elf-shlibs"
+      # It seems that the e2fsprogs is one of the few packages that cannot be
+      # build with shared and static libs.
+      (if shared then "--enable-elf-shlibs" else "--disable-elf-shlibs")
       "--enable-symlink-install"
       "--enable-relative-symlinks"
       "--with-crond-dir=no"
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 2c9336802ea..0d7bcdcd0f2 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,24 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.6.2";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03gad89jg0dif5wqdl1kh0rpmfc80pnkx8hk0v4hrlirr130dgl2";
+    sha256 = "1ybrki63ixrkraynms5i4jiil9901whwxs6p61h2c2ild8w2ir8n";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs = [ fuse3 ];
 
   meta = with lib; {
-    homepage = https://github.com/containers/fuse-overlayfs;
     description = "FUSE implementation for overlayfs";
     longDescription = "An implementation of overlay+shiftfs in FUSE for rootless containers.";
     license = licenses.gpl3;
+    maintainers = with maintainers; [ ma9e ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.ma9e ];
+    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/tools/filesystems/fusesmb/default.nix b/pkgs/tools/filesystems/fusesmb/default.nix
deleted file mode 100644
index ada9445218b..00000000000
--- a/pkgs/tools/filesystems/fusesmb/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, samba, fuse }:
-
-stdenv.mkDerivation rec {
-  name = "fusesmb-0.8.7";
-
-  src = fetchurl {
-    url = "http://www.ricardis.tudelft.nl/~vincent/fusesmb/download/${name}.tar.gz";
-    sha256 = "12gz2gn9iqjg27a233dn2wij7snm7q56h97k6gks0yijf6xcnpz1";
-  };
-
-  buildInputs = [ samba fuse ];
-
-  postInstall =
-    ''
-      mkdir -p $out/lib
-      ln -fs ${samba}/lib/libsmbclient.so $out/lib/libsmbclient.so.0
-    '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = with stdenv.lib; {
-    description = "Samba mounted via FUSE";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    broken = true; # Needs vulnerable Samba, missing source link
-                   # 2018-08-21
-  };
-}
diff --git a/pkgs/tools/filesystems/gitfs/default.nix b/pkgs/tools/filesystems/gitfs/default.nix
index cd1e3110a13..5b379414666 100644
--- a/pkgs/tools/filesystems/gitfs/default.nix
+++ b/pkgs/tools/filesystems/gitfs/default.nix
@@ -2,13 +2,13 @@
 
 python2Packages.buildPythonApplication rec {
   pname = "gitfs";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "PressLabs";
     repo = "gitfs";
     rev = version;
-    sha256 = "04plfdaai7bvnz39lw0yyda6ahbwx0wkws9fjnxxx43dzm3sjl98";
+    sha256 = "1jzwdwan8ndvp2lw6j7zbvg5k9rgf2d8dcxjrwc6bwyk59xdxn4p";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 1afefc71465..f9960722e82 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -15,10 +15,10 @@ let
     #       The command
     #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
     #       can help with finding new Python scripts.
-    version = "7.0";
+    version = "7.1";
     name="${baseName}-${version}";
     url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "0ynh7wrgpnmwah9r2ll32dmicdivz13ijjxg2vj1qcaxgy0b5ivm";
+    sha256 = "11v5hwijbb08xq3dd4m6bkspa3v4vjzcnw6j1qyh0gjmc7yy4ml3";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix
index 59ee358e028..f325fc97e32 100644
--- a/pkgs/tools/filesystems/grive2/default.nix
+++ b/pkgs/tools/filesystems/grive2/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pkgconfig, yajl, cmake, libgcrypt, curl, expat, boost, libiberty }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.5.1";
   pname = "grive2";
 
   src = fetchFromGitHub {
     owner = "vitalif";
     repo = "grive2";
     rev =  "v${version}";
-    sha256 = "0gyic9228j25l5x8qj9xxxp2cgbw6y4skxqx0xrq6qilhv4lj23c";
+    sha256 = "1kv34ys8qarjsxpb1kd8dp7b3b4ycyiwjzd6mg97d3jk7405g6nm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/tools/filesystems/mergerfs/default.nix b/pkgs/tools/filesystems/mergerfs/default.nix
index 4a3e860d358..a7c9421f46a 100644
--- a/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/pkgs/tools/filesystems/mergerfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mergerfs";
-  version = "2.28.2";
+  version = "2.28.3";
 
   src = fetchFromGitHub {
     owner = "trapexit";
     repo = pname;
     rev = version;
-    sha256 = "14h32acx2fcbyjf1f80vb86q845zwcjszd99a307ybdfhlv18r2m";
+    sha256 = "1w6p3svc2yknp6swqg8lax6n9b31lyplb3j7r8nv14hbq4hymylx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/moosefs/default.nix b/pkgs/tools/filesystems/moosefs/default.nix
index 1e89b5729c7..e9dc2c1f37c 100644
--- a/pkgs/tools/filesystems/moosefs/default.nix
+++ b/pkgs/tools/filesystems/moosefs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.105";
+  version = "3.0.107";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wphpdll0j4i6d4yxykaz2bamv83y0sj7j3cfv4br1zamdyprfwx";
+    sha256 = "18mw7a1by8l09fb2pan6zak29bcrgbf5zgfzrlw3c203yawqbx3k";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 48a72c5dd62..da2dff6b77a 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -3,6 +3,7 @@
 { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock
 , libselinux, cryptsetup, multipath_tools, lsof, utillinux
 , useNixUdev ? true, systemd ? null
+# useNixUdev is here for bw compatibility
 }:
 
 assert useNixUdev -> systemd != null;
@@ -28,7 +29,6 @@ buildPythonApplication rec {
     }' blivet/formats/__init__.py
     sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
     sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py
-  '' + stdenv.lib.optionalString useNixUdev ''
     sed -i -e '/find_library/,/find_library/ {
       c libudev = "${systemd.lib}/lib/libudev.so.1"
     }' blivet/pyudev.py
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index b293b6d8146..129283e83eb 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -73,6 +73,5 @@ in buildPythonApplication rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.aszlig ];
     platforms = platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
index 8a1fce78037..9d067359c44 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
@@ -19,7 +19,6 @@ buildPythonApplication rec {
   propagatedBuildInputs = [ urlgrabber ];
 
   checkPhase = ''
-    export PYTHONPATH="$PYTHONPATH:."
     ${python}/bin/${python.executable} tests/baseclass.py -vv
   '';
 
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 8f59ff809a8..809c5256873 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -16,6 +16,5 @@ buildPythonApplication rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.aszlig ];
     platforms = stdenv.lib.platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch b/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch
new file mode 100644
index 00000000000..2834b046cef
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch
@@ -0,0 +1,103 @@
+From ea1bc0fcfd33191002c5d1f7072c1c02bb7ec4af Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Thu, 14 Nov 2019 15:45:46 +0000
+Subject: [PATCH] Fix build on BSD systems
+
+I tested FreeBSD, DragonflyBSD, NetBSD and OpenBSD and the endian
+macros weren't necessary (and in fact caused errors) on all of them.
+
+Because OpenBSD ships with an ancient GCC that doesn't support the
+checked addition/multiplication builtins, the build there would fail
+unless built with CC=cc or CC=clang.  I changed configure.ac to prefer
+cc over gcc, so that the distribution's compiler preference is
+respected.  (The default is [gcc cc]).  I had to move AC_PROG_CC above
+LT_INIT because otherwise LT_INIT would run AC_PROG_CC first, and we
+wouldn't have a chance to use non-default parameters.
+---
+ configure.ac          |  2 +-
+ include/util/compat.h | 13 +++++--------
+ lib/common/dirstack.c |  1 +
+ lib/common/mkdir_p.c  |  2 +-
+ 4 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 018b3f6..19ea0ed 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,8 +3,8 @@ AC_INIT([squashfs-tools-ng], [0.7], [goliath@infraroot.at], squashfs-tools-ng)
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
+ AM_SILENT_RULES([yes])
++AC_PROG_CC([cc gcc clang])
+ LT_INIT
+-AC_PROG_CC
+ AC_PROG_CC_C99
+ AC_PROG_INSTALL
+ AC_SYS_LARGEFILE
+diff --git a/include/util/compat.h b/include/util/compat.h
+index 74d0b6f..f53fd0e 100644
+--- a/include/util/compat.h
++++ b/include/util/compat.h
+@@ -7,6 +7,10 @@
+ #ifndef COMPAT_H
+ #define COMPAT_H
+ 
++#ifndef __linux__
++#define O_PATH 0
++#endif
++
+ #if defined(__APPLE__)
+ #include <libkern/OSByteOrder.h>
+ 
+@@ -17,14 +21,8 @@
+ #define le32toh(x) OSSwapLittleToHostInt32(x)
+ #define le16toh(x) OSSwapLittleToHostInt16(x)
+ #define le64toh(x) OSSwapLittleToHostInt64(x)
+-#elif defined(__OpenBSD__)
++#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <sys/endian.h>
+-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+-#include <sys/endian.h>
+-
+-#define le16toh(x) letoh16(x)
+-#define le32toh(x) letoh32(x)
+-#define le64toh(x) letoh64(x)
+ #elif defined(_WIN32) || defined(__WINDOWS__)
+ #define htole16(x) (x)
+ #define htole32(x) (x)
+@@ -89,7 +87,6 @@
+ #else
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <sys/sysmacros.h>
+ #endif
+ 
+ #endif /* COMPAT_H */
+diff --git a/lib/common/dirstack.c b/lib/common/dirstack.c
+index 8f73898..f8d1278 100644
+--- a/lib/common/dirstack.c
++++ b/lib/common/dirstack.c
+@@ -5,6 +5,7 @@
+  * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
+  */
+ #include "common.h"
++#include "util/compat.h"
+ 
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/lib/common/mkdir_p.c b/lib/common/mkdir_p.c
+index cb433b3..95187ba 100644
+--- a/lib/common/mkdir_p.c
++++ b/lib/common/mkdir_p.c
+@@ -7,7 +7,7 @@
+ #include "common.h"
+ 
+ #include <string.h>
+-#include <alloca.h>
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
+ 
+-- 
+2.23.0
+
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
new file mode 100644
index 00000000000..727e257a486
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, doxygen, graphviz, perl
+, pkgconfig, lz4, xz, zlib, zstd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "squashfs-tools-ng";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
+    sha256 = "01yn621dnsfhrah3qj1xh6ynag7r3nvihc510sa5frapkyg9nw8n";
+  };
+
+  patches = lib.optional (!stdenv.isLinux) ./0001-Fix-build-on-BSD-systems.patch;
+
+  nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]
+                      ++ lib.optional (!stdenv.isLinux) autoreconfHook;
+  buildInputs = [ zlib xz lz4 zstd ];
+
+  meta = with lib; {
+    homepage = https://github.com/AgentD/squashfs-tools-ng;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 1d77bfe4250..14b15686d72 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -1,74 +1,74 @@
-{stdenv, fetchurl, fetchpatch
-  , freeglut, ghostscriptX, imagemagick, fftw
-  , boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
-  , python, zlib, perl, texLive, texinfo, xz
+{ stdenv, fetchFromGitHub, fetchurl
+, autoreconfHook, bison, glm, yacc, flex
+, freeglut, ghostscriptX, imagemagick, fftw
+, boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
+, python3Packages
+, zlib, perl
+, texLive, texinfo
 , darwin
 }:
 
-let
-  s = # Generated upstream information
-  rec {
-    baseName="asymptote";
-    version="2.47";
-    name="${baseName}-${version}";
-    hash="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
-    url="https://freefr.dl.sourceforge.net/project/asymptote/2.47/asymptote-2.47.src.tgz";
-    sha256="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
-  };
-  buildInputs = [
-   ghostscriptX imagemagick fftw
-   boehmgc ncurses readline gsl libsigsegv
-   python zlib perl texLive texinfo xz ]
-   ++ stdenv.lib.optionals stdenv.isLinux
-     [ freeglut libGLU libGL mesa.osmesa ]
-   ++ stdenv.lib.optionals stdenv.isDarwin
-     (with darwin.apple_sdk.frameworks; [ OpenGL GLUT Cocoa ])
-   ;
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
+stdenv.mkDerivation rec {
+  version = "2.61";
+  pname = "asymptote";
 
-  src = fetchurl {
-    inherit (s) url sha256;
+  src = fetchFromGitHub {
+    owner = "vectorgraphics";
+    repo = pname;
+    rev = version;
+    sha256 = "0nblcxqzaxv1286zl2fjkivgp478l0nf3m0wnk78rd99lscjlw71";
   };
 
-  patches = [
-    # Remove when updating from 2.47 to 2.48
-    # Compatibility with BoehmGC 7.6.8
-    (fetchpatch {
-      url = "https://github.com/vectorgraphics/asymptote/commit/38a59370dc5ac720c29e1424614a10f7384b943f.patch";
-      sha256 = "0c3d11hzxxaqh24kfw9y8zvlid54kk40rx2zajx7jwl12gga05s1";
-    })
+  nativeBuildInputs = [
+    autoreconfHook
+    bison
+    flex
+    yacc
+    texinfo
   ];
 
+  buildInputs = [
+    ghostscriptX imagemagick fftw
+    boehmgc ncurses readline gsl libsigsegv
+    zlib perl
+    texLive
+  ] ++ (with python3Packages; [
+    python
+    pyqt5
+  ]);
+
+  propagatedBuildInputs = [
+    glm
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    freeglut libGLU libGL mesa.osmesa
+  ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    OpenGL GLUT Cocoa
+  ]);
+
   preConfigure = ''
-    export HOME="$PWD"
-    patchShebangs .
-    sed -e 's@epswrite@eps2write@g' -i runlabel.in
-    xz -d < ${texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
-    cp texinfo-*/doc/texinfo.tex doc/
-    rm *.tar.gz
-    configureFlags="$configureFlags --with-latex=$out/share/texmf/tex/latex --with-context=$out/share/texmf/tex/context/third"
+    HOME=$TMP
   '';
 
+  configureFlags = [
+    "--with-latex=$out/share/texmf/tex/latex"
+    "--with-context=$out/share/texmf/tex/context/third"
+  ];
+
   NIX_CFLAGS_COMPILE = [ "-I${boehmgc.dev}/include/gc" ];
 
   postInstall = ''
-    mv -v "$out/share/info/asymptote/"*.info $out/share/info/
+    mv $out/share/info/asymptote/*.info $out/share/info/
     sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
     rmdir $out/share/info/asymptote
-    rm $out/share/info/dir
+    rm -f $out/share/info/dir
 
-    rm -rfv "$out"/share/texmf
-    mkdir -pv "$out"/share/emacs/site-lisp/${s.name}
-    mv -v "$out"/share/asymptote/*.el "$out"/share/emacs/site-lisp/${s.name}
+    rm -rf $out/share/texmf
+    install -Dt $out/share/emacs/site-lisp/${pname} $out/share/asymptote/*.el
   '';
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    inherit (s) version;
     description =  "A tool for programming graphics intended to replace Metapost";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.raskin maintainers.peti ];
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index e4ceff36f92..11ff4b743dd 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dcraw-9.28.0";
 
   src = fetchurl {
-    url = "https://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
+    url = "https://www.dechifro.org/dcraw/archive/${name}.tar.gz";
     sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
   };
 
@@ -23,10 +23,17 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.cybercom.net/~dcoffin/dcraw/;
+    homepage = https://www.dechifro.org/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
     maintainers = [ ];
+    knownVulnerabilities = [
+      "CVE-2018-19655"
+      "CVE-2018-19565"
+      "CVE-2018-19566"
+      "CVE-2018-19567"
+      "CVE-2018-19568"
+    ];
   };
 }
diff --git a/pkgs/tools/graphics/dpic/default.nix b/pkgs/tools/graphics/dpic/default.nix
index 7a9217302d6..d28f73dd91c 100644
--- a/pkgs/tools/graphics/dpic/default.nix
+++ b/pkgs/tools/graphics/dpic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dpic";
-  version = "2019.08.30";
+  version = "2019.11.30";
 
   src = fetchurl {
     url = "https://ece.uwaterloo.ca/~aplevich/dpic/${pname}-${version}.tar.gz";
-    sha256 = "059m53cppw67hwygm7l03ciaxbnaldx63bqdhx1vzbx3kiwz8iw2";
+    sha256 = "0rgd31mdbaqbm9rz49872s17n25n5ajxcn61xailz3f0kzr4f3dg";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 79c90575653..8c46e8154c1 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU_combined, vigra
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra
 , help2man, pkgconfig, perl, texlive }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7";
   };
 
-  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU_combined vigra ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ];
 
   nativeBuildInputs = [ help2man perl pkgconfig texlive.combined.scheme-small ];
 
diff --git a/pkgs/tools/graphics/facedetect/default.nix b/pkgs/tools/graphics/facedetect/default.nix
index aab2e111e85..cb697148d04 100644
--- a/pkgs/tools/graphics/facedetect/default.nix
+++ b/pkgs/tools/graphics/facedetect/default.nix
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ python2Packages.python python2Packages.wrapPython ];
-  pythonPath = [ python2Packages.numpy python2Packages.opencv ];
+  pythonPath = [ python2Packages.numpy python2Packages.opencv4 ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" ];
 
   patchPhase = ''
     substituteInPlace facedetect \
-      --replace /usr/share/opencv "${python2Packages.opencv}/share/OpenCV"
+      --replace /usr/share/opencv "${python2Packages.opencv4}/share/opencv4"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index 7d2323c6d48..79b2708cb2b 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.lcdf.org/gifsicle/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu zimbatm ];
+    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
   };
 }
diff --git a/pkgs/tools/graphics/glee/default.nix b/pkgs/tools/graphics/glee/default.nix
index ae6291811a4..a68e64c0894 100644
--- a/pkgs/tools/graphics/glee/default.nix
+++ b/pkgs/tools/graphics/glee/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchgit, cmake, libGLU_combined, xorg }:
+{stdenv, fetchgit, cmake, libGLU, libGL, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "glee";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libGLU_combined xorg.libX11 ];
+  buildInputs = [ libGLU libGL xorg.libX11 ];
 
   configureScript = ''
     cmake
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index cb0862c6373..a8dd35ce7b0 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -7,7 +7,7 @@
 , fetchFromGitLab
 , cmake
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -120,7 +120,7 @@ mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
     curl
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 54b140cdb3e..3f181d12ba0 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -3,7 +3,7 @@
 , cmake
 , ninja
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
   ];
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 7e823711e33..9f6393b6372 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -11,14 +11,14 @@
 , fontconfig ? null
 , gnused ? null
 , coreutils ? null
-, withQt ? false, qttools, qtbase, qtsvg
+, withQt ? false, mkDerivation, qttools, qtbase, qtsvg
 }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
 let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
-stdenv.mkDerivation rec {
+(if withQt then mkDerivation else stdenv.mkDerivation) rec {
   name = "gnuplot-5.2.7";
 
   src = fetchurl {
diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix
index cd2302efd16..700bed237bd 100644
--- a/pkgs/tools/graphics/graphviz/base.nix
+++ b/pkgs/tools/graphics/graphviz/base.nix
@@ -7,7 +7,7 @@
 assert stdenv.isDarwin -> ApplicationServices != null;
 
 let
-  inherit (stdenv.lib) optionals optionalString;
+  inherit (stdenv.lib) optional optionals optionalString;
   raw_patch =
     # https://gitlab.com/graphviz/graphviz/issues/1367 CVE-2018-10196
     fetchpatch {
@@ -17,11 +17,13 @@ let
       excludes = ["tests/*"]; # we don't run them and they don't apply
     };
   # the patch needs a small adaption for older versions
-  patch = if stdenv.lib.versionAtLeast version "2.37" then raw_patch else
+  patchToUse = if stdenv.lib.versionAtLeast version "2.37" then raw_patch else
   stdenv.mkDerivation {
     inherit (raw_patch) name;
     buildCommand = "sed s/dot_root/agroot/g ${raw_patch} > $out";
   };
+  # 2.42 has the patch included
+  patches = optional (stdenv.lib.versionOlder version "2.42") patchToUse;
 in
 
 stdenv.mkDerivation {
@@ -52,9 +54,7 @@ stdenv.mkDerivation {
     "--with-ltdl-include=${libtool}/include"
   ] ++ stdenv.lib.optional (xorg == null) [ "--without-x" ];
 
-  patches = [
-    patch
-  ];
+  inherit patches;
 
   postPatch = ''
     for f in $(find . -name Makefile.in); do
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 7249a6cdaad..c79fe3aaf4d 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -1,5 +1,5 @@
 import ./base.nix rec {
-  rev = "67cd2e5121379a38e0801cc05cce5033f8a2a609";
-  version = "2.40.1";
-  sha256 = "1xjqq3g2n6jgwp5xzyvibgrxawlskkpam69fjjz9ksrrjas2qwzj";
+  rev = "da4c2ec6f24ca1b6d1752c6b5bc4389e55682147"; # use rev as tags have disappeared before
+  version = "2.42.2";
+  sha256 = "0lacl11amyvj04j78m63qifljl4c0nkyy50z4bkg8mg9j4hjdy0x";
  }
diff --git a/pkgs/tools/graphics/ifm/default.nix b/pkgs/tools/graphics/ifm/default.nix
new file mode 100644
index 00000000000..c6e8df31dd0
--- /dev/null
+++ b/pkgs/tools/graphics/ifm/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchzip, autoreconfHook, bison, flex, help2man, perl, tk }:
+
+stdenv.mkDerivation rec {
+  pname = "ifm";
+  version = "2015-11-08";
+
+  src = fetchzip {
+    url = "https://bitbucket.org/zondo/ifm/get/dca0774e4d3a.zip";
+    sha256 = "14af21qjd5jvsscm6vxpsdrnipdr33g6niagzmykrhyfhwcbjahi";
+  };
+
+  nativeBuildInputs = [ autoreconfHook bison flex help2man ];
+
+  buildInputs = [ perl tk ]; # perl and wish are not run but written as shebangs.
+
+  enableParallelBuilding = false; # ifm-scan.l:16:10: fatal error: ifm-parse.h: No such file or directory
+
+  meta = with lib; {
+    homepage = https://bitbucket.org/zondo/ifm;
+    description = "Interactive fiction mapper";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/tools/graphics/jpegexiforient/default.nix b/pkgs/tools/graphics/jpegexiforient/default.nix
new file mode 100644
index 00000000000..9397f46fd2c
--- /dev/null
+++ b/pkgs/tools/graphics/jpegexiforient/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchurl }:
+stdenv.mkDerivation {
+  pname = "jpegexiforient";
+  version = "unstable-2002-02-17";
+  src = fetchurl {
+    url = "http://sylvana.net/jpegcrop/jpegexiforient.c";
+    sha256 = "1v0f42cvs0397g9v46p294ldgxwbp285npg6npgnlnvapk6nzh5s";
+  };
+  unpackPhase = ''
+    cp $src jpegexiforient.c
+  '';
+  buildPhase = ''
+    cc -o jpegexiforient jpegexiforient.c
+  '';
+  installPhase = ''
+    install -Dt $out/bin jpegexiforient
+  '';
+  meta = with lib; {
+    description = "Utility program to get and set the Exif Orientation Tag";
+    homepage = "http://sylvana.net/jpegcrop/exif_orientation.html";
+    # Website doesn't mention any license, but I think it's safe to assume this
+    # to be free since it's from IJG, the current maintainers of libjpeg
+    license = licenses.free;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ infinisil ];
+  };
+}
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index 1f1da8df3f2..aed8b0573ba 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL2_image, glew
-, libGLU_combined, boost, glm, freetype }:
+, libGLU, libGL, boost, glm, freetype }:
 
 stdenv.mkDerivation rec {
   pname = "logstalgia";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined boost
+  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL boost
                   glm freetype ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index 4826bd64984..6a0db954da6 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, python35
 , tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase
 , freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
-, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, gtk3, pcre
+, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, dconf, gtk3, pcre
 , bison, flex, libpthreadstubs, libX11
 , embree2, makeWrapper, gsettings-desktop-schemas, glib
 , withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp
@@ -35,7 +35,7 @@ in stdenv.mkDerivation {
      # needed for XDG_ICON_DIRS
      gnome3.adwaita-icon-theme
      makeWrapper
-     (stdenv.lib.getLib gnome3.dconf)
+     (stdenv.lib.getLib dconf)
    ] ++ stdenv.lib.optionals withOpenCL [opencl-headers ocl-icd opencl-clhpp];
 
   cmakeFlags = [
@@ -66,7 +66,7 @@ in stdenv.mkDerivation {
     wrapProgram "$out/bin/luxcoreui" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix
index 63758e23b15..8f3a4dc5c65 100644
--- a/pkgs/tools/graphics/maim/default.nix
+++ b/pkgs/tools/graphics/maim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, zlib, libpng, libjpeg, libGLU_combined, glm
+, zlib, libpng, libjpeg, libGLU, libGL, glm
 , libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs =
-    [ zlib libpng libjpeg libGLU_combined glm
+    [ zlib libpng libjpeg libGLU libGL glm
       libX11 libXext libXfixes libXrandr libXcomposite slop icu ];
 
   doCheck = false;
diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix
index 0e545fbfab9..90716d04a75 100644
--- a/pkgs/tools/graphics/nifskope/default.nix
+++ b/pkgs/tools/graphics/nifskope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "nifskope";
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
       src = ./qttools-bins.patch;
       qttools = "${qttools.dev}/bin";
     })
+    (fetchpatch {
+      name = "qt512-build-fix.patch";
+      url = "https://github.com/niftools/nifskope/commit/30954e7f01f3d779a2a1fd37d363e8a6ad560bd3.patch";
+      sha256 = "0d6xjj2mjjhdd7w1aig5f75jksjni16jyj0lxsz51pys6xqb6fpj";
+    })
   ];
 
   buildInputs = [ qtbase qttools libGLU.dev ];
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index 068aea54595..6dafbfe2f9f 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, darwin
-, openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat
+, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
 , fftw, gsl, libexif, perl, opencv, qt5, netpbm
 }:
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
   ]) else [
-    libGLU_combined freeglut
+    libGLU libGL freeglut
   ]);
 
   patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 3efbd6e0765..e551fc382fb 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.8.3";
+  version = "8.8.4";
 
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "0wlwcgcp7d3vhjdbi3xlpvnj4jl4321vac9v1sr1mis4aivwzsrn";
+    sha256 = "1gw8srjf5r6dhg6g5hh91if302mcr44dzy87mv230ar7027kwwbi";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/pkgs/tools/graphics/wallutils/default.nix b/pkgs/tools/graphics/wallutils/default.nix
index 80b90e8e6b2..263425aef1d 100644
--- a/pkgs/tools/graphics/wallutils/default.nix
+++ b/pkgs/tools/graphics/wallutils/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "wallutils";
-  version = "5.8.2";
+  version = "5.8.3";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "wallutils";
     rev = version;
-    sha256 = "1ghvcxsy5prj8l38r4lg39imsqbwmvn1zmiv7004j6skmgpaaawh";
+    sha256 = "1cc0bb6bdh3pm9mf6rcgk9myr62xhqc6l84xgw44lhm6hkkp16gb";
   };
 
   goPackagePath = "github.com/xyproto/wallutils";
diff --git a/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch b/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
index 00aeed6363e..77c55b35c96 100644
--- a/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
+++ b/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
@@ -1,25 +1,26 @@
-From 9d064428cec970ced9be6753d6250b20a45a9fe2 Mon Sep 17 00:00:00 2001
+From 2643b06889605e6096174fb48dcb64a49b252217 Mon Sep 17 00:00:00 2001
 From: Michael Weiss <dev.primeos@gmail.com>
-Date: Fri, 19 Apr 2019 11:56:50 +0200
+Date: Sun, 17 Nov 2019 20:30:08 +0100
 Subject: [PATCH] lscollection: Add NixOS paths to DefaultWallpaperDirectories
 
 ---
- collections.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ collections.go | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/collections.go b/collections.go
-index ef74ea6..9f9a608 100644
+index be04d41..cc79c56 100644
 --- a/collections.go
 +++ b/collections.go
-@@ -21,7 +21,7 @@ const (
- )
+@@ -22,6 +22,9 @@ const (
  
- var (
--	DefaultWallpaperDirectories = []string{"/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
-+	DefaultWallpaperDirectories = []string{"/run/current-system/sw/share/pixmaps", "/run/current-system/sw/share/wallpapers", "/run/current-system/sw/share/backgrounds", "/usr/share/pixmaps", "/usr/share/wallpapers", "/usr/share/backgrounds", "/usr/local/share/pixmaps", "/usr/local/share/wallpapers", "/usr/local/share/backgrounds", "/usr/share/archlinux"}
- )
- 
- type SearchResults struct {
+ // DefaultWallpaperDirectories lists the default locations to look for wallpapers
+ var DefaultWallpaperDirectories = []string{
++	"/run/current-system/sw/share/pixmaps",
++	"/run/current-system/sw/share/wallpapers",
++	"/run/current-system/sw/share/backgrounds",
+ 	"/usr/share/pixmaps",
+ 	"/usr/share/wallpapers",
+ 	"/usr/share/backgrounds",
 -- 
-2.19.2
+2.23.0
 
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
index 4c0a7f0b410..230b2926561 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx-cloudpinyin";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-cloudpinyin/${pname}-${version}.tar.xz";
-    sha256 = "1f3ryx817bxb8g942l50ng4xg0gp50rb7pv2p6zf98r2z804dcvf";
+    sha256 = "0ai347wv3qdjzcbh0j9hdjpzwvh2kk57324xbxq37nzagrdgg5x0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
index e10ffae4a51..ae9d8d0f53f 100644
--- a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
@@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ makeWrapper fcitx cmake isocodes gtk3
     gnome3.adwaita-icon-theme ];
 
+  # Patch paths to `fcitx-remote`
+  prePatch = ''
+    for f in gtk{3,}/config_widget.c; do
+      substituteInPlace $f \
+        --replace 'EXEC_PREFIX "/bin/fcitx-remote"' '"${fcitx}/bin/fcitx-remote"'
+    done
+  '';
+
   preFixup = ''
     wrapProgram $out/bin/fcitx-config-gtk3 \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS";
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
index 4038b50b44f..c35e7658d63 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    fusuma (0.10.2)
+    fusuma (1.3.0)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   fusuma
 
 BUNDLED WITH
-   1.16.3
+   1.17.3
diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix
index b410a21cd6b..a8901dfb0e4 100644
--- a/pkgs/tools/inputmethods/fusuma/default.nix
+++ b/pkgs/tools/inputmethods/fusuma/default.nix
@@ -16,9 +16,9 @@ bundlerApp {
 
   meta = with lib; {
     description = "Multitouch gestures with libinput driver on X11, Linux";
-    homepage    = https://github.com/iberianpig/fusuma;
-    license     = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau nicknovitski ];
-    platforms   = platforms.linux;
+    homepage = "https://github.com/iberianpig/fusuma";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix
index 2edf9c0886f..2dd9af421ba 100644
--- a/pkgs/tools/inputmethods/fusuma/gemset.nix
+++ b/pkgs/tools/inputmethods/fusuma/gemset.nix
@@ -1,10 +1,12 @@
 {
   fusuma = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hj64kafxj29gk53vj2syhs3vdywl3h9cpiknaqqm4srjx9g04a0";
+      sha256 = "150jc8jyqj3w4k13lf1ihqmm2sld1yawp4jwnf43jixnc9rmzx6f";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "1.3.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/inputmethods/gebaar-libinput/default.nix b/pkgs/tools/inputmethods/gebaar-libinput/default.nix
new file mode 100644
index 00000000000..6d4947e517e
--- /dev/null
+++ b/pkgs/tools/inputmethods/gebaar-libinput/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, libinput, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "gebaar-libinput";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "Coffee2CodeNL";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kqcgwkia1p195xr082838dvj1gqif9d63i8a52jb0lc32zzizh6";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ libinput zlib ];
+
+  meta = with lib; {
+    description = "Gebaar, A Super Simple WM Independent Touchpad Gesture Daemon for libinput";
+    homepage = "https://github.com/Coffee2CodeNL/gebaar-libinput";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ colemickens lovesegfault ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index d2f68fd5269..cfdfa85ad9f 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -1,35 +1,57 @@
-{ stdenv, fetchurl, intltool, pkgconfig
-, anthy, ibus, glib, gobject-introspection, gtk3, python3
+{ stdenv
+, fetchurl
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, anthy
+, ibus
+, glib
+, gobject-introspection
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-anthy";
   version = "1.5.11";
 
-  meta = with stdenv.lib; {
-    isIbusEngine = true;
-    description  = "IBus interface to the anthy input method";
-    homepage     = https://github.com/fujiwarat/ibus-anthy;
-    license      = licenses.gpl2Plus;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ gebner ericsagnes ];
+  src = fetchurl {
+    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
   };
 
-  configureFlags = [ "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t" ];
-
   buildInputs = [
-    anthy glib gobject-introspection gtk3 ibus (python3.withPackages (ps: [ps.pygobject3]))
+    anthy
+    glib
+    gtk3
+    ibus
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
+  configureFlags = [
+    "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t"
+  ];
 
   postFixup = ''
-    wrapPythonPrograms
     substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
   '';
 
-  src = fetchurl {
-    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description = "IBus interface to the anthy input method";
+    homepage = https://github.com/fujiwarat/ibus-anthy;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gebner ericsagnes ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
index 0a38ccfa3bd..d5e2f50299e 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -1,7 +1,8 @@
 { stdenv
 , fetchurl
 , substituteAll
-, intltool
+, appstream-glib
+, gettext
 , pkgconfig
 , wrapGAppsHook
 , gtk3
@@ -12,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-hangul";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchurl {
     url = "https://github.com/choehwanjin/ibus-hangul/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0gha8dfdf54rx8fv3yfikbgdg6lqq6l883lhg7q68ybvkjx9bwbs";
+    sha256 = "1400ba2p34vr9q285lqvjm73f6m677cgfdymmjpiwyrjgbbiqrjy";
   };
 
   patches = [
@@ -27,9 +28,9 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    intltool
+    appstream-glib
+    gettext
     pkgconfig
-    python3.pkgs.wrapPython
     wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index fc4677e06b0..2c1d558f04d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -1,33 +1,54 @@
-{ stdenv, fetchFromGitHub, autoreconfHook
-, intltool, pkgconfig, sqlite, libpinyin, db
-, ibus, glib, gtk3, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, sqlite
+, libpinyin
+, db
+, ibus
+, glib
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-libpinyin";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
-    owner  = "libpinyin";
-    repo   = "ibus-libpinyin";
-    rev    = version;
-    sha256 = "0zkzz6ig74nws8phqxbsggnpf5g5f2hxi0mdyn2m3s4nm14q3ma6";
+    owner = "libpinyin";
+    repo = "ibus-libpinyin";
+    rev = version;
+    sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
   };
 
-  buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
-  nativeBuildInputs = [ autoreconfHook intltool pkgconfig python3.pkgs.wrapPython ];
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  postAutoreconf = ''
-    intltoolize
-  '';
-
-  postFixup = "wrapPythonPrograms";
+  buildInputs = [
+    ibus
+    glib
+    sqlite
+    libpinyin
+    (python3.withPackages (pypkgs: with pypkgs; [
+      pygobject3
+      (toPythonModule ibus)
+    ]))
+    gtk3
+    db
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "IBus interface to the libpinyin input method";
-    license      = licenses.gpl2;
-    maintainers  = with maintainers; [ ericsagnes ];
-    platforms    = platforms.linux;
+    description = "IBus interface to the libpinyin input method";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ericsagnes ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 01b227f6f1b..c026a9d1a81 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -1,6 +1,14 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, pkgconfig
-, ibus, m17n_lib, m17n_db, gettext, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, ibus
+, gtk3
+, m17n_lib
+, m17n_db
+, gettext
+, python3
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -8,27 +16,40 @@ stdenv.mkDerivation rec {
   version = "1.4.1";
 
   src = fetchFromGitHub {
-    owner  = "ibus";
-    repo   = "ibus-m17n";
-    rev    = version;
+    owner = "ibus";
+    repo = "ibus-m17n";
+    rev = version;
     sha256 = "1xl7swqn46nhi43rka0zx666mpk667ykag3sz07x0zqrwi41frps";
   };
 
-  buildInputs = [
-    ibus m17n_lib m17n_db gettext
-    python3
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python3.pkgs.wrapPython ];
+  buildInputs = [
+    ibus
+    gtk3
+    m17n_lib
+    m17n_db
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
 
-  postFixup = "wrapPythonPrograms";
+  configureFlags = [
+    "--with-gtk=3.0"
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "m17n engine for ibus";
-    homepage     = https://github.com/ibus/ibus-m17n;
-    license      = licenses.gpl2;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ ericsagnes ];
+    description = "m17n engine for ibus";
+    homepage = https://github.com/ibus/ibus-m17n;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8e34cb860a6..c95a9c1651c 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     dconf
     gtk3
-    gobject-introspection
     ibus
     (python3.withPackages (pypkgs: with pypkgs; [
       pygobject3
@@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
     autoreconfHook
     docbook2x
     pkgconfig
-    python3.pkgs.wrapPython
+    gobject-introspection
     wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 6980478f685..6656739e622 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.7.0";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    sha256 = "1rd9dkjc9s15mxifcbr12944rsh8z66p0j6abh3iw8vkiylk674s";
+    sha256 = "0wp9y6cgxsb2z1hk899q7wybl7v49vkgx6x5zl4l706jm3w9qmg8";
   };
 
   patches = [ ./hunspell-dirs.patch ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
new file mode 100644
index 00000000000..434c85d3dbe
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
@@ -0,0 +1,13 @@
+diff --git a/uniemoji.xml.in b/uniemoji.xml.in
+index 5fbfd0f..6fb8ad3 100644
+--- a/uniemoji.xml.in
++++ b/uniemoji.xml.in
+@@ -7,7 +7,7 @@
+     <license>GPL</license>
+     <author>Lalo Martins &lt;lalo.martins@gmail.com&gt;</author>
+     <homepage>https://github.com/salty-horse/ibus-uniemoji</homepage>
+-    <exec>@PYTHON@ @DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
++    <exec>@DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
+     <textdomain>uniemoji</textdomain>
+     <engines>
+         <engine>
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
index 107c8c60271..435d1154d4a 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
@@ -1,8 +1,19 @@
-{ stdenv, fetchFromGitHub
-, python3Packages
+{ stdenv
+, fetchFromGitHub
+, gobject-introspection
+, wrapGAppsHook
+, python3
+, ibus
 }:
 
-stdenv.mkDerivation rec {
+let
+  python = python3.withPackages (ps: with ps; [
+    pygobject3
+    (toPythonModule ibus)
+    pyxdg
+    python-Levenshtein
+  ]);
+in stdenv.mkDerivation rec {
   pname = "ibus-uniemoji";
   version = "0.6.0";
 
@@ -13,25 +24,39 @@ stdenv.mkDerivation rec {
     sha256 = "121zh3q0li1k537fcvbd4ns4jgl9bbb9gm9ihy8cfxgirv38lcfa";
   };
 
-  propagatedBuildInputs = with python3Packages; [ pyxdg python-Levenshtein pygobject3 ];
+  patches = [
+    # Do not run wrapper script with Python,
+    # the wrapped script will have Python in shebang anyway.
+    ./allow-wrapping.patch
+  ];
 
-  nativeBuildInputs = [ python3Packages.wrapPython ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    python
+    ibus
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "SYSCONFDIR=${placeholder ''out''}/etc"
+    "PYTHON=${python.interpreter}"
+  ];
 
   postFixup = ''
-    buildPythonPath $out
-    patchPythonScript $out/share/ibus-uniemoji/uniemoji.py
+    wrapGApp $out/share/ibus-uniemoji/uniemoji.py
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc"
-                "PYTHON=${python3Packages.python.interpreter}"
-              ];
-
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "Input method (ibus) for entering unicode symbols and emoji by name";
-    homepage     = "https://github.com/salty-horse/ibus-uniemoji";
-    license      = with licenses; [ gpl3 mit ];
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ aske ];
+    description = "Input method (ibus) for entering unicode symbols and emoji by name";
+    homepage = "https://github.com/salty-horse/ibus-uniemoji";
+    license = with licenses; [ gpl3 mit ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ aske ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 0dc339e51c6..4951074bc43 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,74 +1,43 @@
-{ stdenv, substituteAll, fetchurl, fetchFromGitHub, autoreconfHook, gettext, makeWrapper, pkgconfig
-, vala, wrapGAppsHook, dbus, dconf ? null, glib, gdk-pixbuf, gobject-introspection, gtk2
-, gtk3, gtk-doc, isocodes, python3, json-glib, libnotify ? null, enablePython2Library ? false
-, enableUI ? true, withWayland ? false, libxkbcommon ? null, wayland ? null
-, buildPackages, runtimeShell }:
+{ stdenv
+, substituteAll
+, fetchurl
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, makeWrapper
+, pkgconfig
+, vala
+, wrapGAppsHook
+, dbus
+, dconf ? null
+, glib
+, gdk-pixbuf
+, gobject-introspection
+, gtk2
+, gtk3
+, gtk-doc
+, isocodes
+, cldr-emoji-annotation
+, unicode-character-database
+, unicode-emoji
+, python3
+, json-glib
+, libnotify ? null
+, enablePython2Library ? false
+, enableUI ? true
+, withWayland ? false
+, libxkbcommon ? null
+, wayland ? null
+, buildPackages
+, runtimeShell
+, nixosTests
+}:
 
 assert withWayland -> wayland != null && libxkbcommon != null;
 
 with stdenv.lib;
 
 let
-  emojiSrcs = {
-    data = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-data.txt";
-      sha256 = "11jfz5rrvyc2ixliqfcjgmch4cn9mfy0x96qnpfcyz5fy1jvfyxf";
-    };
-    sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-sequences.txt";
-      sha256 = "09bii7f5mmladg0kl3n80fa9qaix6bv5ylm92x52j7wygzv0szb1";
-    };
-    variation-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-variation-sequences.txt";
-      sha256 = "1wlg4gbq7spmpppjfy5zdl82sj0hc836p8gljgfrjmwsjgybq286";
-    };
-    zwj-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt";
-      sha256 = "16gvzv76mjv9g81lm1m6cr3rpfqyn2k4hb9a62xd329252dhl25q";
-    };
-    test = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-test.txt";
-      sha256 = "031qk2v8xdnba7hfinmgrmpglc9l8ll2hds6mw885p0hngdb3dgw";
-    };
-  };
-  emojiData = stdenv.mkDerivation {
-    name = "emoji-data-5.0";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList emojiSrcs (k: v: "cp ${v} $out/emoji-${k}.txt;"))}
-    '';
-  };
-  cldrEmojiAnnotation = stdenv.mkDerivation rec {
-    pname = "cldr-emoji-annotation";
-    version = "31.90.0_1";
-    src = fetchFromGitHub {
-      owner = "fujiwarat";
-      repo = "cldr-emoji-annotation";
-      rev = version;
-      sha256 = "1vsj32bg8ab4d80rz0fxy6sj2lv31inzyjnddjm079bnvlaf2kih";
-    };
-    nativeBuildInputs = [ autoreconfHook ];
-  };
-  ucdVersion = "12.0.0";
-  ucdSrcs = {
-    NamesList = fetchurl {
-      url = "https://www.unicode.org/Public/${ucdVersion}/ucd/NamesList.txt";
-      sha256 = "c17c7726f562bd9ef869096807f0297e1edef9a58fdae1fbae487378fa43586f";
-    };
-    Blocks = fetchurl {
-      url = "https://www.unicode.org/Public/${ucdVersion}/ucd/Blocks.txt";
-      sha256 = "a1a3ca4381eb91f7b65afe7cb7df615cdcf67993fef4b486585f66b349993a10";
-    };
-  };
-  ucd = stdenv.mkDerivation {
-    name = "ucd-${ucdVersion}";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList ucdSrcs (k: v: "cp ${v} $out/${k}.txt;"))}
-    '';
-  };
   python3Runtime = python3.withPackages (ps: with ps; [ pygobject3 ]);
   python3BuildEnv = python3.buildEnv.override {
     # ImportError: No module named site
@@ -82,13 +51,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.20";
+  version = "1.5.21";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "1npavb896qrp6qbqayb0va4mpsi68wybcnlbjknzgssqyw2ylh9r";
+    sha256 = "0fjbqj7d2g5c8i1wdggzhz269xisxv4xb1pa9swalm5p2b2vrjlx";
   };
 
   patches = [
@@ -99,7 +68,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "installedTests" ];
 
   postPatch = ''
     echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh
@@ -116,9 +85,15 @@ stdenv.mkDerivation rec {
     (enableFeature enablePython2Library "python-library")
     (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
     (enableFeature enableUI "ui")
-    "--with-unicode-emoji-dir=${emojiData}"
-    "--with-emoji-annotation-dir=${cldrEmojiAnnotation}/share/unicode/cldr/common/annotations"
-    "--with-ucd-dir=${ucd}"
+    "--enable-install-tests"
+    "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
+    "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
+    "--with-ucd-dir=${unicode-character-database}/share/unicode"
+  ];
+
+  makeFlags = [
+    "test_execsdir=${placeholder ''installedTests''}/libexec/installed-tests/ibus"
+    "test_sourcesdir=${placeholder ''installedTests''}/share/installed-tests/ibus"
   ];
 
   nativeBuildInputs = [
@@ -132,7 +107,9 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   buildInputs = [
     dbus
@@ -154,10 +131,31 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # requires X11 daemon
   doInstallCheck = true;
-  installCheckPhase = "$out/bin/ibus version";
+  installCheckPhase = ''
+    $out/bin/ibus version
+  '';
+
+  postInstall = ''
+    # It has some hardcoded FHS paths and also we do not use it
+    # since we set up the environment in NixOS tests anyway.
+    moveToOutput "bin/ibus-desktop-testing-runner" "$installedTests"
+  '';
+
+  postFixup = ''
+    # set necessary environment also for tests
+    for f in $installedTests/libexec/installed-tests/ibus/*; do
+        wrapGApp $f
+    done
+  '';
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.ibus;
+    };
+  };
 
   meta = {
-    homepage = https://github.com/ibus/ibus;
+    homepage = "https://github.com/ibus/ibus";
     description = "Intelligent Input Bus, input method framework";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/inputmethods/ibus/fix-paths.patch b/pkgs/tools/inputmethods/ibus/fix-paths.patch
index 192aa7d6395..60269c6c241 100644
--- a/pkgs/tools/inputmethods/ibus/fix-paths.patch
+++ b/pkgs/tools/inputmethods/ibus/fix-paths.patch
@@ -40,6 +40,6 @@
  export IBUS_DATAROOTDIR=@datarootdir@
  export IBUS_LOCALEDIR=@localedir@
  export IBUS_LIBEXECDIR=${libexecdir}
--exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@
+-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
 +exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@
  
diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix
index 3196c5b4e8a..1b14629d283 100644
--- a/pkgs/tools/inputmethods/ibus/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus/wrapper.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
+  name = "ibus-with-plugins-" + stdenv.lib.getVersion ibus;
   env = {
     buildInputs = [ ibus ] ++ plugins;
     nativeBuildInputs = [ lndir makeWrapper ];
diff --git a/pkgs/tools/inputmethods/libinput-gestures/default.nix b/pkgs/tools/inputmethods/libinput-gestures/default.nix
index f4b2f7e94e7..2764d2fee72 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/default.nix
+++ b/pkgs/tools/inputmethods/libinput-gestures/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper,
   libinput, wmctrl, python3,
-  xdotool ? null,
+  coreutils, xdotool ? null,
   extraUtilsPath ? lib.optional (xdotool != null) xdotool
 }:
 stdenv.mkDerivation rec {
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       rm "$out/bin/libinput-gestures-setup"
       substituteInPlace "$out/share/applications/libinput-gestures.desktop" --replace "/usr" "$out"
       chmod +x "$out/share/applications/libinput-gestures.desktop"
-      wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${lib.makeBinPath extraUtilsPath}"
+      wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${lib.makeBinPath ([coreutils] ++ extraUtilsPath)}"
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index ff14a13da04..c915e812891 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU_combined, geis, qmake4Hook }:
+{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }:
 
 stdenv.mkDerivation rec {
   pname = "touchegg";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
   };
 
-  buildInputs = [ xorgserver libGLU_combined xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
+  buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
 
   nativeBuildInputs = [ qmake4Hook ];
 
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
index 4f50e0f556b..9a3164db5d7 100644
--- a/pkgs/tools/misc/arp-scan/default.nix
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arp-scan";
-  version = "1.9.5";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "royhills";
     repo = "arp-scan";
-    rev = "4de863c2627a05177eda7159692a588f9f520cd1";
-    sha256 = "15zpfdybk2kh98shqs8qqd0f9nyi2ch2wcyv729rfj7yp0hif5mb";
+    rev = version;
+    sha256 = "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp";
   };
 
   perlModules = with perlPackages; [
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libpcap makeWrapper ];
+  buildInputs = [ perlPackages.perl libpcap makeWrapper ];
 
   postInstall = ''
     for name in get-{oui,iab}; do
-      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makePerlPath perlModules }"
+      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makeFullPerlPath perlModules}"
     done;
   '';
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       Arp-scan is a command-line tool that uses the ARP protocol to discover
       and fingerprint IP hosts on the local network.
     '';
-    homepage = http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation;
+    homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor mikoim ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 25765589bee..adf73037af8 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.8.1";
+  version = "1.9";
 in
   stdenv.mkDerivation {
     pname = "autorandr";
@@ -49,7 +49,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = version;
-      sha256 = "1bp1cqkrpg77rjyh4lq1agc719fmxn92jkiicf6nbhfl8kf3l3vy";
+      sha256 = "1bb0l7fcm5lcx9y02zdxv7pfdqf4v4gsc5br3v1x9gzjvqj64l7n";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 3b5e72c89f7..b4cbc747b1d 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
-  version = "1.5.1";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
-    sha256 = "1v9k1a2ilkbhc3viyacgq88c9if60kwsd1fy6rn84317qap4i7ib";
+    sha256 = "0zpv2qgkbak0llw47qcakhyh2z3zv4d69kasldmpdlpqryd9za84";
   };
 
   buildInputs = [ nasm ];
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 6b62ca247cb..6f5dc209b96 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig
-, Security, libiconv, installShellFiles
+{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig, less
+, Security, libiconv, installShellFiles, makeWrapper
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "0d7h0kn41w6wm4w63vjy2i7r19jkansfvfjn7vgh2gqh5m60kal2";
 
-  nativeBuildInputs = [ pkgconfig llvmPackages.libclang installShellFiles ];
+  nativeBuildInputs = [ pkgconfig llvmPackages.libclang installShellFiles makeWrapper ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security libiconv ];
 
@@ -27,6 +27,13 @@ rustPlatform.buildRustPackage rec {
     installShellCompletion assets/completions/bat.fish
   '';
 
+  # Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as
+  # expected with certain flag combinations.
+  postFixup = ''
+    wrapProgram "$out/bin/bat" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ less ]}"
+  '';
+
   meta = with stdenv.lib; {
     description = "A cat(1) clone with syntax highlighting and Git integration";
     homepage    = https://github.com/sharkdp/bat;
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 6309587fd52..defdd9494e5 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1mykng02fyxshm02kywrk16f27b1jhgn9zcaxcvxd255sn58w68k";
+    sha256 = "10c0rbhqscizfa063m6mms31i0knh25bxr35s008b6mp5pxr33mc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index d84c6ebaabc..d099a8aba9b 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bibutils";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
-    sha256 = "072cmhv692nk1lfcwmaqid5gpg8q4jc4vai5ss8lj72zms32p882";
+    sha256 = "1n28fjrl7zxjxvcqzmrc9xj8ly6nkxviimxbzamj8dslnkzpzqw1";
   };
 
   configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/tools/misc/birdfont/xmlbird.nix
index a5581c84d50..3d51f282dae 100644
--- a/pkgs/tools/misc/birdfont/xmlbird.nix
+++ b/pkgs/tools/misc/birdfont/xmlbird.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlbird";
-  version = "1.2.10";
+  version = "1.2.11";
 
   src = fetchurl {
     url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz";
-    sha256 = "0qpqpqqd4wj711jzczfsr38fgcz1rzxchrqbssxnan659ycd9c78";
+    sha256 = "1ycbgjvywnlc0garw8qjqd18s0xnrwjvssdrb410yschv3wjq1i0";
   };
 
   nativeBuildInputs = [ python3 pkgconfig vala gobject-introspection ];
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 93084640e76..63d5ff69e79 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "0.9.4";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1im04vlhmjdwzp19pizk4bmzvybgjg40ig833qx5lbisfs74xyxw";
+    sha256 = "1wisqb4cqdgsnjvmpgxbzs9zcw6npqw1kqxxs8mn33sxlikhbf2l";
   };
 
-  cargoSha256 = "0675995zh9nn690kdha3zfsa157173rxwcqz0kasbl9byjczi6sm";
+  cargoSha256 = "09gnyj97akychin1axp9kcww3c04xx7x1qnplhs2yxfki62r4y2b";
 
   meta = with stdenv.lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 65196e2a3b6..94db365f6d6 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python3, perl, textual-window-manager }:
 
 stdenv.mkDerivation rec {
-  version = "5.129";
+  version = "5.130";
   name = "byobu-" + version;
 
   src = fetchurl {
     url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
-    sha256 = "1ff20xdi58pncw76hrkf7azqy0y654kwz1zff5irnd8cflh5y4z5";
+    sha256 = "0qblw5vz90fixvpwfvlc8bkljsviri5gj77cp63l44ns3lb19r27";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 4adadbf4707..1fd76eb4db6 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.15";
+  version = "3.2.16";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0m2z34vgcqaf1yfa2919v3mz9b0q43mihz6di5kg62h6swaaanxd";
+    sha256 = "0ygmw03n8knczq9a9whslxcpmgyz0ksqwl0k8f7hyf96b9n8inc2";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 587bc2b9278..3eb3851457a 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.7.2";
+  version = "1.7.9";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "06wgfnlzcs6yfrjpy6zhcg5y844zd22manbm2sfq5vyng02bg229";
+    sha256 = "1qvrzksqr06lslryh7qzs56bs11xfyah5153x3aab2f5kgk1i8md";
   };
 
-  modSha256 = "1y1q1lps3a8piikh8ds28yrw5r82af9pyl6vy87207z1y5v2hams";
+  modSha256 = "0rzwslpikadhqw8rcbg4hbasfcgjcc850ccfnprdxva4g1bb5rqc";
 
   buildFlagsArray = [
     "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}"
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index 39370e6754e..6d567f6119a 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AlDanial/cloc;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu rycee ];
+    maintainers = with stdenv.lib.maintainers; [ rycee ];
   };
 }
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 91fb208f5c0..54379ec08f0 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, nixosTests
 , bash-completion
 , glib
 , polkit
@@ -97,6 +98,12 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions";
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.colord;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
     homepage = https://www.freedesktop.org/software/colord/;
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index a91fdad8d82..e3ba0abb8bc 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1p99kxgg2893ppp56q5igpva39lzj4wvx37c993r4p6i4gq6bi3v";
+    sha256 = "1r89cfw3ycqwvpfwwiqg8ykc1vyr1gf3ah30mvrmmalgmi6bnx5w";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/debianutils/default.nix b/pkgs/tools/misc/debianutils/default.nix
index b42c302a38f..74aec9bae6a 100644
--- a/pkgs/tools/misc/debianutils/default.nix
+++ b/pkgs/tools/misc/debianutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "debianutils";
-  version = "4.8.6.3";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
-    sha256 = "08g2gdm6n66w5m8qwm4f48wzgs3ymkpki6dg01nwzwbdzhxdxirc";
+    sha256 = "14a0fqdpwdw72790jjm01g5n7lwwaf9d6k78fflbysn5v62nd0mg";
   };
 
   meta = with stdenv.lib; {
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus publicDomain smail ];
     maintainers = [];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/misc/desktop-file-utils/setup-hook.sh b/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
index 004d635cff0..728070e3458 100644
--- a/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
+++ b/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
@@ -3,4 +3,4 @@ mimeinfoPreFixupPhase() {
     rm -f $out/share/applications/mimeinfo.cache
 }
 
-preFixupPhases="$preFixupPhases mimeinfoPreFixupPhase"
+preFixupPhases="${preFixupPhases-} mimeinfoPreFixupPhase"
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 739137dab48..b64c527a6b9 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -9,11 +9,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "127";
+  version = "133";
 
   src = fetchurl {
     url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "029v3lbv281n7axl97khdh4m1p7b614p1fp838mm84v0wgz7q34i";
+    sha256 = "15hi2fwcx3sf189rmxpyah0amq1a49wgp1ynhvwij5qj13wib2q8";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index a502735c773..5ac8a661c9a 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "08zgi2yiynb20l1f9rhly4a7zgqnr7lq3cr5vkmh1jnfs6z27dv6";
   };
 
-  cargoSha256 = "0ca9gaih0b9qg7bdgyhvb9gr1mq23r62pi0845vwc216jfaag079";
+  cargoSha256 = "0hd46h4wwh81hnida0in3142884y8n6ygk7qm09i5wj52g73bivv";
 
   meta = with lib; {
     description = "A tool to conveniently learn about the disk usage of directories, fast!";
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index 68f06f1ceb8..4239b54f18e 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dust";
-  version = "0.4.1.2";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "0a2n96p6z4y09l5z617qbpm8lgxvfagd1l950d2gz9xw4xf1ik5w";
+    sha256 = "0z1vi5agaf1gcq1bdzgfc89v6vpk9kaxxy8f3rd2h6yzdrd2dhk7";
   };
 
-  cargoSha256 = "0cpgxkgz10na90r3fgz8hs20vihqdcc8983inn71fq90627bhdx7";
+  cargoSha256 = "08c428rrana0llzhkg8ngzqs6vc773jrf4wql2qxdvm4l0nsx596";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix
new file mode 100644
index 00000000000..4944600108a
--- /dev/null
+++ b/pkgs/tools/misc/etcher/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, fetchurl
+, gcc-unwrapped
+, dpkg
+, polkit
+, bash
+, nodePackages
+, electron_3
+, gtk3
+, wrapGAppsHook
+}:
+
+let
+  libPath = lib.makeLibraryPath [
+    # for libstdc++.so.6
+    gcc-unwrapped.lib
+  ];
+
+  sha256 = {
+    "x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7";
+    "i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc";
+  }."${stdenv.system}";
+
+  arch = {
+    "x86_64-linux" = "amd64";
+    "i686-linux" = "i386";
+  }."${stdenv.system}";
+
+in stdenv.mkDerivation rec {
+  pname = "etcher";
+  version = "1.5.60";
+
+  src = fetchurl {
+    url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
+    inherit sha256;
+  };
+
+  buildInputs = [
+    gtk3
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackPhase = ''
+    ${dpkg}/bin/dpkg-deb -x $src .
+  '';
+
+  # sudo-prompt has hardcoded binary paths on Linux and we patch them here
+  # along with some other paths
+  patchPhase = ''
+    ${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp
+    # Use Nix(OS) paths
+    sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js
+    sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js
+    sed -i "s|process.resourcesPath|'$out/opt/balenaEtcher/resources/'|" tmp/generated/gui.js
+    ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
+    rm -rf tmp
+    # Fix up .desktop file
+    substituteInPlace usr/share/applications/balena-etcher-electron.desktop \
+      --replace "/opt/balenaEtcher/balena-etcher-electron" "$out/bin/balena-etcher-electron"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r opt $out/
+    cp -r usr/share $out/
+
+    # We'll use our Nixpkgs electron_3 instead
+    rm $out/opt/balenaEtcher/balena-etcher-electron
+
+    ln -s ${electron_3}/bin/electron $out/bin/balena-etcher-electron
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --add-flags $out/opt/balenaEtcher/resources/app.asar
+      --prefix LD_LIBRARY_PATH : ${libPath}
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flash OS images to SD cards and USB drives, safely and easily";
+    homepage = "https://etcher.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.shou ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix
index 8a270ed0fef..1ec99f12d82 100644
--- a/pkgs/tools/misc/ethminer/default.nix
+++ b/pkgs/tools/misc/ethminer/default.nix
@@ -1,16 +1,31 @@
-{ stdenv, fetchFromGitHub, opencl-headers, cmake, jsoncpp, boost, makeWrapper,
-  cudatoolkit, mesa, ethash, opencl-info, ocl-icd, openssl, pkg-config, cli11 }:
+{
+  stdenv,
+  fetchFromGitHub,
+  opencl-headers,
+  cmake,
+  jsoncpp,
+  boost,
+  makeWrapper,
+  cudatoolkit,
+  mesa,
+  ethash,
+  opencl-info,
+  ocl-icd,
+  openssl,
+  pkg-config,
+  cli11
+}:
 
 stdenv.mkDerivation rec {
   pname = "ethminer";
-  version = "0.18.0-rc.0";
+  version = "0.18.0";
 
   src =
     fetchFromGitHub {
       owner = "ethereum-mining";
       repo = "ethminer";
       rev = "v${version}";
-      sha256 = "0gwnwxahjfwr4d2aci7y3w206nc5ifssl28ildva98ys0d24wy7z";
+      sha256 = "10b6s35axmx8kyzn2vid6l5nnzcaf4nkk7f5f7lg3cizv6lsj707";
       fetchSubmodules = true;
     };
 
diff --git a/pkgs/tools/misc/eva/Cargo.lock.patch b/pkgs/tools/misc/eva/Cargo.lock.patch
index c9fea04c75d..67553f0d6d8 100644
--- a/pkgs/tools/misc/eva/Cargo.lock.patch
+++ b/pkgs/tools/misc/eva/Cargo.lock.patch
@@ -1,12 +1,20 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000000..630f81eae76
+index 0000000..ac198e7
 --- /dev/null
-+++ b/pkgs/tools/misc/eva/Cargo.lock
-@@ -0,0 +1,448 @@
++++ b/Cargo.lock
+@@ -0,0 +1,583 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "ansi_term"
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -21,29 +29,31 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.12"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "atty"
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "backtrace"
 +version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -52,8 +62,8 @@ index 00000000000..630f81eae76
 +version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -71,11 +81,11 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -86,7 +96,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.46"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -131,22 +141,45 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "directories"
++version = "2.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "dirs"
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "eva"
-+version = "0.2.4"
++version = "0.2.7"
 +dependencies = [
 + "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -166,8 +199,8 @@ index 00000000000..630f81eae76
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -182,7 +215,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.65"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -204,16 +237,81 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "nodrop"
-+version = "0.1.14"
++name = "num"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-bigint"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "proc-macro2"
@@ -256,7 +354,7 @@ index 00000000000..630f81eae76
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -287,12 +385,28 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "rust-argon2"
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -307,11 +421,11 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -324,7 +438,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -334,12 +448,12 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.12.1"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -352,8 +466,16 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -401,32 +523,42 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
 +"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 +"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
 +"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 +"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 +"checksum nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
-+"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
++"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
 +"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 +"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
@@ -436,14 +568,17 @@ index 00000000000..630f81eae76
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
 +"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
 +"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f47ea1ceb347d2deae482d655dc8eef4bd82363d3329baffa3818bd76fea48b"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
diff --git a/pkgs/tools/misc/eva/default.nix b/pkgs/tools/misc/eva/default.nix
index 0efaf008d48..bf43d11e566 100644
--- a/pkgs/tools/misc/eva/default.nix
+++ b/pkgs/tools/misc/eva/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch }:
 
 rustPlatform.buildRustPackage rec {
   pname = "eva";
-  version = "0.2.5";
+  version = "0.2.7";
 
-  cargoSha256 = "1zns4xspw9w1f84sf8cz30mp2fl1jyjc2ca09gkqhzhgaj055y7k";
+  cargoSha256 = "0n3xvlmp4l925nbz8lx6dr9yrrfh6z7b9z8wd6sli3a1dq26d6bg";
 
   src = fetchFromGitHub {
     owner = "NerdyPepper";
     repo = "${pname}";
-    rev = "v${version}";
-    sha256 = "1vqr6z4vicqx1lm5ll09za4jh8rki2qbav1pawz15hqqzps3y8h1";
+    rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
+    sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
   };
 
   cargoPatches = [ ./Cargo.lock.patch ];
 
+  patches = [
+    # to fix the test suite (can be removed as soon as #33 is merged).
+    (fetchpatch {
+      url = https://github.com/NerdyPepper/eva/commit/cacf51dbb9748b1dbe97b35f3c593a0a272bd4db.patch;
+      sha256 = "11q7dkz2x1888f3awnlr1nbbxzzfjrr46kd0kk6sgjdkyfh50cvv";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A calculator REPL, similar to bc";
     homepage = https://github.com/NerdyPepper/eva;
     license = licenses.mit;
-    maintainers = with maintainers; [ nrdxp ];
+    maintainers = with maintainers; [ nrdxp ma27 ];
   };
 }
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index e05963b6902..0edd8a1b318 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkgconfig, zlib
 , darwin, libiconv, installShellFiles
 }:
 
@@ -17,6 +17,15 @@ buildRustPackage rec {
     sha256 = "14qlm9zb9v22hxbbi833xaq2b7qsxnmh15s317200vz5f1305hhw";
   };
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/ogham/exa/pull/584
+      name = "fix-panic-on-broken-symlink-in-git-repository.patch";
+      url = "https://github.com/ogham/exa/pull/584/commits/a7a8e99cf3a15992afb2383435da0231917ffb54.patch";
+      sha256 = "0n5q483sz300jkp0sbb350hdinmkw7s6bmigdyr6ypz3fvygd9hx";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig perl installShellFiles ];
   buildInputs = [ zlib ]
   ++ stdenv.lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 25179c36c01..8c303dd1e0c 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/adrianlopezroche/fdupes;
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.z77z ];
+    maintainers = [ maintainers.maggesi ];
   };
 }
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index aa0af61c61c..d0c389f31f9 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.55";
+  version = "0.2.57";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "0z0wa12vnzj07q54nr1zr81vjr1kac60nys26bbi8s6nh46n93wv";
+    sha256 = "04y3mnh77g8mvcikp3m0a20vz180fzv847z8xjnz97ynhrbp3q94";
   };
 
-  cargoSha256 = "14brb11nb17dykh37y099bhmk85a7z8fld2pivmywfgvz1x3i141";
+  cargoSha256 = "19w1lwvp54fjl1ll5pay5grfgj4zs2idqiqppxhksf61az6knql9";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
@@ -55,7 +55,7 @@ buildRustPackage rec {
     '';
     homepage = https://gitlab.com/timvisee/ffsend;
     license = licenses.gpl3;
-    maintainers = [ maintainers.lilyball ];
+    maintainers = with maintainers; [ lilyball equirosa ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index fe68613b542..516badb7bc7 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.3.2";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "155szha6mx7cvq0bzqb528zg4q1m9gip7f0m1zv9yrz1sr9p1nzv";
+    sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
new file mode 100644
index 00000000000..b86e5ad997a
--- /dev/null
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fselect";
+  version = "0.6.7";
+
+  src = fetchFromGitHub {
+    owner = "jhspetersson";
+    repo = "fselect";
+    rev = version;
+    sha256 = "0pg3ahx8rmzr585qa4vphd1vxcm1r3sx5iyi8ghg5nn6sibqy0z4";
+  };
+
+  cargoSha256 = "0yf3xkxxlb9252r869wbiv3b3kpz4p5gp556sic63bp0acig6a76";
+
+  meta = with stdenv.lib; {
+    description = "Find files with SQL-like queries";
+    homepage = "https://github.com/jhspetersson/fselect";
+    license = with licenses; [ asl20 mit ];
+    maintainers = [ maintainers.filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index a189e8c1dba..99dcc194d01 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.3.1";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "058llxr8hbdjl721g76icm0gr50bglcgazwrbp3dxyd9jaa0bzc7";
+    sha256 = "08gscwdq7fwfpk3mf7dfdf64n5ijm5kjb7f5wrzzvpnnqz24xnb0";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 66da4f53099..19df7be9ab0 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl";
+    sha256 = "02zy3c4k84rzqdkaf04idbj10v286hi0ix1xl2qsz1wrblh168w8";
   };
 
-  modSha256 = "0xc4166d74ix5nzjphrq4rgw7qpskz05ymzl77i2qh2nhbdb53p0";
+  modSha256 = "12lnv8b96adpcg9qfizcyd9nxz590nxd82xch6ij719zlqyps143";
 
   outputs = [ "out" "man" ];
 
@@ -60,6 +60,7 @@ buildGoModule rec {
     homepage = "https://github.com/junegunn/fzf";
     description = "A command-line fuzzy finder written in Go";
     license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index 19fa7e547ae..32fe5cc5868 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.0.2";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "1vgq6dp22996y7llcij122idky92jgczliwm191yfc8b200xbx0p";
+    sha256 = "04d7ixfmzj22w9svjdj0kxsp7ycnzdzx9kd2z1vswnyybdkgyjy7";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 52e712c5cb1..d56f44aacef 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "3.1.2";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "14zr1aln34j5wifhg6ak3f83l959vic8i11jr90ibmnxl5v4hcqp";
+    sha256 = "0jwfq9q10nz6fy9ac2j4fcf0liz4vj0q7jmfhy9dsa3476zccwa8";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix
index 0315750c250..9a3ffe93510 100644
--- a/pkgs/tools/misc/hashit/default.nix
+++ b/pkgs/tools/misc/hashit/default.nix
@@ -33,6 +33,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A simple app for checking usual checksums - Designed for elementary OS";
     homepage = https://github.com/artemanufrij/hashit;
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 08689ae8dcf..ec69f523f3b 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,20 +5,22 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.11.1)
-    html-proofer (3.13.0)
+    ffi (1.11.3)
+    html-proofer (3.15.0)
       addressable (~> 2.3)
       mercenary (~> 0.3)
-      nokogiri (~> 1.10)
+      nokogumbo (~> 2.0)
       parallel (~> 1.3)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
       yell (~> 2.0)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    parallel (1.17.0)
+    nokogumbo (2.0.2)
+      nokogiri (~> 1.8, >= 1.8.4)
+    parallel (1.19.1)
     public_suffix (4.0.1)
     rainbow (3.0.0)
     typhoeus (1.3.1)
@@ -32,4 +34,4 @@ DEPENDENCIES
   html-proofer
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 2d915a48dd9..1f561f52976 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,21 +26,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.3";
   };
   html-proofer = {
-    dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
+    dependencies = ["addressable" "mercenary" "nokogumbo" "parallel" "rainbow" "typhoeus" "yell"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a620704y2h4g9ffpl6461ssdx87bn6hjd0y1m370r2p2xddkb9f";
+      sha256 = "0nmwxmn0dxgs53g1cqn251dzmjrklw14cpa6z6wz7cdwvjq47500";
       type = "gem";
     };
-    version = "3.13.0";
+    version = "3.15.0";
   };
   mercenary = {
     groups = ["default"];
@@ -68,20 +68,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.7";
+  };
+  nokogumbo = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      type = "gem";
+    };
+    version = "2.0.2";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.1";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 8f3d245280c..9a27c4df772 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -4,22 +4,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "12bj5xifnpj5yni563b6b33lzmkgm7j1wk0c9859zw59b33ifd1l";
+    sha256 = "0jx2lqhayp14c51dfvgmqrmmadyvxf0p4dsn770ndqpzv66rh6zb";
   };
 
-  cargoSha256 = "1ias944wg55njjnap7w02b87bvb502vzkpjvsb704q5i9sr8hjry";
+  cargoSha256 = "0sqmqfig40ragjx3jvwrng6hqz8l1zbmxzq470lk66x0gy4gziag";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line benchmarking tool";
-    homepage    = https://github.com/sharkdp/hyperfine;
+    homepage    = "https://github.com/sharkdp/hyperfine";
     license     = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.thoughtpolice ];
     platforms   = platforms.all;
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 3667b483383..5e5a7174a14 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -1,6 +1,6 @@
 { fetchzip
 , libX11
-, libGLU_combined
+, libGLU, libGL
 , makeWrapper
 , stdenv
 }:
@@ -8,7 +8,7 @@
 let
 
   libPath = stdenv.lib.makeLibraryPath [
-    libGLU_combined
+    libGLU libGL
     stdenv.cc.cc
     libX11
   ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     makeWrapper
-    libGLU_combined
+    libGLU libGL
     libX11
   ];
 
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index 3d9111b6a61..96c13010fac 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.7.4";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "03l6gs4p9p8g0ai6wqg9024rp0pd13m0b9y3sy1ww5afwxb82br6";
+    sha256 = "1sp5f9lkysqkyhd6gvrlpszrih78bj67yidkkd6azv9ianrndx0b";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
@@ -17,8 +17,8 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "A simple terminal UI for both docker and docker-compose";
-    homepage = https://github.com/jesseduffield/lazydocker;
+    homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
-    maintainers = with maintainers; [ das-g ];
+    maintainers = with maintainers; [ das-g filalex77 ];
   };
 }
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
new file mode 100644
index 00000000000..0913b9afbf5
--- /dev/null
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "licensor";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "raftario";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
+  };
+
+  cargoSha256 = "042dplm0cdxkv73m5qlkc61h0x9fpzxn2b0c8gjx2hwvigcia139";
+
+  meta = with lib; {
+    description = "Write licenses to stdout";
+    homepage = "https://github.com/raftario/licensor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix
new file mode 100644
index 00000000000..914578c47ec
--- /dev/null
+++ b/pkgs/tools/misc/lorri/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, pkgs
+, fetchFromGitHub
+, rustPlatform
+  # Updater script
+, runtimeShell
+, writeScript
+  # Tests
+, nixosTests
+  # Apple dependencies
+, CoreServices
+, Security
+, cf-private
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lorri";
+  version = "unstable-2019-10-30";
+
+  meta = with stdenv.lib; {
+    description = "Your project's nix-env";
+    homepage = "https://github.com/target/lorri";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ grahamc Profpatsch ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "target";
+    repo = pname;
+    # Run `eval $(nix-build -A lorri.updater)` after updating the revision!
+    rev = "03f10395943449b1fc5026d3386ab8c94c520ee3";
+    sha256 = "0fcl79ndaziwd8d74mk1lsijz34p2inn64b4b4am3wsyk184brzq";
+  };
+
+  cargoSha256 = "1daff4plh7hwclfp21hkx4fiflh9r80y2c7k2sd3zm4lmpy0jpfz";
+  doCheck = false;
+
+  BUILD_REV_COUNT = src.revCount or 1;
+  RUN_TIME_CLOSURE = pkgs.callPackage ./runtime.nix {};
+
+  nativeBuildInputs = with pkgs; [ nix direnv which ];
+  buildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security cf-private ];
+
+  passthru = {
+    updater = with builtins; writeScript "copy-runtime-nix.sh" ''
+      #!${runtimeShell}
+      set -euo pipefail
+      cp ${src}/nix/runtime.nix ${toString ./runtime.nix}
+      cp ${src}/nix/runtime-closure.nix.template ${toString ./runtime-closure.nix.template}
+    '';
+    tests = {
+      nixos = nixosTests.lorri;
+    };
+  };
+}
diff --git a/pkgs/tools/misc/lorri/runtime-closure.nix.template b/pkgs/tools/misc/lorri/runtime-closure.nix.template
new file mode 100644
index 00000000000..2cb2ec4bbb9
--- /dev/null
+++ b/pkgs/tools/misc/lorri/runtime-closure.nix.template
@@ -0,0 +1,37 @@
+# Nix with sandboxing requires every path used at build time be
+# explicitly declared. If we simply passed in the paths, they
+# would be copied in as sources. Using builtins.storePath we're
+# able to tell Nix that, no, in fact, treat these not as sources
+# to copy, but instead of a regular store path.
+#
+# Include the explicit closure, too, otherwise we'll get mysterious
+# "file not found" errors due to the glibc interpreter being
+# missing.
+let
+  # Magic inspired by Nix's config.nix:
+  # https://github.com/NixOS/nix/blob/f9a2ea44867cd1dbb408bca4df0ced806137b7f7/corepkgs/config.nix.in#L23
+  #
+  # If the dependency is in the Nix store we're using, refer to
+  # it as a literal store path. If it isn't, refer to it "normally".
+  #
+  # This makes sandboxing happy when in a nix-build, and the
+  # evaluation happy when in a «cargo build».
+  tools_build_host = @tools_build_host@;
+
+  # Compare the stringified version of the tools_build_host Nix store
+  # path to the evaluator's stringified Nix store path. Otherwise,
+  # Nix will read the sources in to the /nix/store, and, well,
+  # you can only copy the /nix/store in to the /nix/store so many
+  # times before you run out of disk space.
+  dep = if ("${toString (dirOf tools_build_host)}" == "${toString builtins.storeDir}")
+    then (builtins.trace "using storePath"  builtins.storePath)
+    else (builtins.trace "using toString" toString) # assume we have no sandboxing
+    ;
+
+  tools = dep tools_build_host;
+
+in {
+  path = "${tools}/bin";
+  builder = "${tools}/bin/bash";
+  closure = import @runtime_closure_list@ { inherit dep; };
+}
diff --git a/pkgs/tools/misc/lorri/runtime.nix b/pkgs/tools/misc/lorri/runtime.nix
new file mode 100644
index 00000000000..71bc89b5af3
--- /dev/null
+++ b/pkgs/tools/misc/lorri/runtime.nix
@@ -0,0 +1,33 @@
+{
+  # Plumbing tools:
+  closureInfo, runCommand, writeText, buildEnv,
+
+  # Actual dependencies to propagate:
+  bash, coreutils }:
+let
+  tools = buildEnv {
+    name = "lorri-runtime-tools";
+    paths = [ coreutils bash ];
+  };
+
+  runtimeClosureInfo = closureInfo {
+    rootPaths = [ tools ];
+  };
+
+  closureToNix = runCommand "closure.nix" {}
+  ''
+    (
+      echo '{ dep, ... }: ['
+      sed -E 's/^(.*)$/    (dep \1)/' ${runtimeClosureInfo}/store-paths
+      echo ']'
+    ) > $out
+  '';
+
+  runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" {
+    runtime_closure_list = closureToNix;
+    tools_build_host = tools;
+  }
+  ''
+    substituteAll ${./runtime-closure.nix.template} $out
+  '';
+in runtimeClosureInfoAsNix
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index a8fb7eea97c..49e4ab44836 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpipeline, db, groff, libiconv, makeWrapper, buildPackages }:
 
 stdenv.mkDerivation rec {
-  name = "man-db-2.8.6.1";
+  name = "man-db-2.8.7";
 
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "0a1sh5gxa16k6irzf3q2lli8m204w9ik1xm62wjgf1mzknxs4xrc";
+    sha256 = "09mkpvwirv9kh2pqhfq90zl7pjdl63f4w4g1x6zhhp9hjswmpkdr";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index 8d28dbcf40e..71409b1c3a8 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchzip {
     # TODO: The latest version of memtest86 is actually 8.2, but the
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     # binaries that we make sure to version, then we could probably keep up
     # with the latest versions released by the company.
     url = "https://www.memtest86.com/downloads/memtest86-${version}-usb.zip";
-    sha256 = "0qiyd8ymn307shmvwmqd80q3svxf49133d2pf84qpdlcmjjfnhgg";
+    sha256 = "1x1wjssr4nnbnfan0pi7ni2dfwnm3288kq584hkfqcyza8xdx03i";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix
index 412726e276d..09640b30be9 100644
--- a/pkgs/tools/misc/miniserve/default.nix
+++ b/pkgs/tools/misc/miniserve/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib }:
+{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib, openssl }:
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.2.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner  = "svenstaro";
     repo   = "miniserve";
     rev    = "v${version}";
-    sha256 = "1g8ggqs4fyscb1r98qj22f61jgkqnr4vdyps0drrvydl9lafdmpl";
+    sha256 = "06cxkkf3sf84prba65dymr1hg7mwizmsax0dlljh0lcmvlcpzi08";
   };
 
-  cargoSha256 = "055mbrzg7v8a65awn1051b4b9ngxq25wy31gjq8kc93qsb7k0f2k";
+  cargoSha256 = "046xxxqcf1sdsi9dlilsn0nk36gyca20ck1a70ihj1k9kl7yj8sn";
+
+  RUSTC_BOOTSTRAP = 1;
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
+  buildInputs = [ openssl ];
 
   meta = with stdenv.lib; {
     description = "For when you really just want to serve some files over HTTP right now!";
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 25d7eaba55e..95c87cb35fc 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, dpkg
 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
-, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg }:
+, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
 
 let
 
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
 
   inherit src;
 
-  buildInputs = [ dpkg ];
+  buildInputs = [ dpkg wrapGAppsHook gnome3.gtk ];
   dontUnpack = true;
 
   buildCommand = ''
@@ -76,6 +76,7 @@ in stdenv.mkDerivation {
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
       patchelf --set-rpath ${rpath}:$out/share/mongodb-compass "$file" || true
     done
+    wrapGAppsHook $out/bin/mongodb-compass
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index 3037b672498..92945004cb0 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "6.4.2";
+  version = "6.5.0";
   pname = "multitail";
 
   src = fetchurl {
     url = "https://www.vanheusden.com/multitail/${pname}-${version}.tgz";
-    sha256 = "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg";
+    sha256 = "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/multitime/default.nix b/pkgs/tools/misc/multitime/default.nix
new file mode 100644
index 00000000000..a46ee2b7c9c
--- /dev/null
+++ b/pkgs/tools/misc/multitime/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "multitime";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "ltratt";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = {
+    description = "Time command execution over multiple executions";
+
+    longDescription = ''
+      Unix's `time` utility is a simple and often effective way of measuring
+      how long a command takes to run. Unfortunately, running a command once
+      can give misleading timings: the process may create a cache on its first
+      execution, running faster subsequently; other processes may cause the
+      command to be starved of CPU or IO time; etc. It is common to see people
+      run `time` several times and take whichever values they feel most
+      comfortable with. Inevitably, this causes problems.
+
+      `multitime` is, in essence, a simple extension to time which runs a
+      command multiple times and prints the timing means (with confidence
+      intervals), standard deviations, minimums, medians, and maximums having
+      done so. This can give a much better understanding of the command's
+      performance.
+    '';
+
+    license = stdenv.lib.licenses.mit;
+    homepage = "https://tratt.net/laurie/src/multitime/";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix
index dcc946c854e..a6288b32295 100644
--- a/pkgs/tools/misc/noti/default.nix
+++ b/pkgs/tools/misc/noti/default.nix
@@ -3,13 +3,13 @@
 
 buildGoPackage rec {
   pname = "noti";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "variadico";
     repo = "noti";
     rev = version;
-    sha256 = "1644bivjcky07n3rrm83vsms7hw47p4hnp2536q0z3qca5jyri2f";
+    sha256 = "0bcwfyd93fx0rzjc9jgg4pvvqbpxwizr044yqqa5rx70gaasz7qa";
   };
 
   buildInputs = lib.optional stdenv.isDarwin Cocoa;
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
index 4317c46190d..d54302b31d1 100644
--- a/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU_combined, glibc, makeWrapper }:
+{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU, libGL, glibc, makeWrapper }:
 
 let
   system = if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" else "linux32";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       xorg.libXrender
       stdenv.cc.cc
       glibc
-      libGLU_combined
+      libGLU libGL
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
new file mode 100644
index 00000000000..be8c4fb9c06
--- /dev/null
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub, rustPlatform, stdenv
+, CoreFoundation, libiconv, libresolv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onefetch";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "o2sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02mdzpzfcxp9na86b4jcqqjd3id5jslgmnq1jc0vykg58xha51jg";
+  };
+
+  cargoSha256 = "1phv06zf47bv5cmhypivljfiynrblha0kj13c5al9l0hd1xx749h";
+
+  buildInputs = with stdenv;
+    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+
+  meta = with stdenv.lib; {
+    description = "Git repository summary on your terminal";
+    homepage = "https://github.com/o2sh/onefetch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix
index 1a4e4d5b3a2..007ae348bc2 100644
--- a/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/pkgs/tools/misc/osm2pgsql/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.0.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "1g9qc1z5gzdjd37n586vcmq1qli0lkhbnsrnky0mf22szzv8iwfx";
+    sha256 = "1xbzkrjv5d34dahgp9xxhasr8xzygpjbsr675rq59xzy9v7nvs9b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 9f423cf6a4d..8ec9fc1d488 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gnome3
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gjs, nixosTests
 , glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux
 , libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3
 }:
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     glib systemd e2fsprogs libsoup gpgme fuse libselinux libcap
     libarchive bzip2 xz
     utillinuxMinimal # for libmount
-    (python3.withPackages (p: with p; [ pyyaml ])) gnome3.gjs # for tests
+    (python3.withPackages (p: with p; [ pyyaml ])) gjs # for tests
   ];
 
   preConfigure = ''
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/libostree"
   ];
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.ostree;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Git for operating system binaries";
     homepage = https://ostree.readthedocs.io/en/latest/;
diff --git a/pkgs/tools/misc/paps/default.nix b/pkgs/tools/misc/paps/default.nix
index 521bebf47a3..8084f49f1b3 100644
--- a/pkgs/tools/misc/paps/default.nix
+++ b/pkgs/tools/misc/paps/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub
-, autoconf, automake, pkgconfig, pango }:
+, autoconf, automake, pkgconfig, intltool, pango }:
 
 stdenv.mkDerivation rec {
   pname = "paps";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "dov";
     repo = pname;
-    rev = version;
-    sha256 = "1f0qcawak76zk2xypipb6sy4bd8mixlrjby851x216a7f6z8fd4y";
+    rev = "v${version}";
+    sha256 = "129wpm2ayxs6qfh2761d4x9c034ivb2bcmmcnl56qs4448qb9495";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool ];
   buildInputs = [ pango ];
 
   preConfigure = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Pango to PostScript converter";
-    homepage = https://github.com/dov/paps;
+    homepage = "https://github.com/dov/paps";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ etu ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 27fd51ed447..e606b38775e 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20191022";
+  name = "parallel-20191122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4";
+    sha256 = "01wmk3sf34d2lmhl37j4ga7aims2hcnzv1bydg1xs4pablar6ahq";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 4934252bed9..0eed491e8a9 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline, perl, python2
-, utillinux, check, enableStatic ? false }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, lvm2
+, libuuid
+, gettext
+, readline
+, dosfstools
+, e2fsprogs
+, perl
+, python2
+, utillinux
+, check
+, enableStatic ? false
+}:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.2";
+  name = "parted-3.3";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
+    sha256 = "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp";
   };
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
-      sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
-    })
-    ++ stdenv.lib.optional (lvm2 == null)
-    (fetchpatch {
-      url = https://git.savannah.gnu.org/cgit/parted.git/patch/?id=7e87ca3c531228d35e13e802d2622006138b104c;
-      sha256 = "0i29lfg8cwj342q5s7qwqhncz2bkifj5rjc7cx6jd4zqb6ykkndj";
-    });
-
   postPatch = ''
     patchShebangs tests
   '';
@@ -42,8 +43,7 @@ stdenv.mkDerivation rec {
   # Tests were previously failing due to Hydra running builds as uid 0.
   # That should hopefully be fixed now.
   doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
-
-  checkInputs = [ check perl python2 utillinux ];
+  checkInputs = [ check dosfstools e2fsprogs perl python2 utillinux ];
 
   meta = {
     description = "Create, destroy, resize, check, and copy partitions";
diff --git a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
deleted file mode 100644
index 3070a2e4666..00000000000
--- a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From Ludo's suggestion at:
-
-  http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;bug=18258
-
-diff --git a/tests/t0251-gpt-unicode.sh b/tests/t0251-gpt-unicode.sh
-index c845950..fa63a72 100755
---- a/tests/t0251-gpt-unicode.sh
-+++ b/tests/t0251-gpt-unicode.sh
-@@ -22,7 +22,24 @@ dev=loop-file
- # create zeroed device
- truncate -s 10m $dev || fail=1
- 
--export LC_ALL=C.UTF-8
-+found_locale=no
-+for locale in en_US de_DE fr_FR es_ES
-+do
-+  LC_ALL="$locale.UTF-8"
-+  export LC_ALL
-+
-+  # In a UTF-8 locale, the string below prints as 4 characters.
-+  if [ `printf 'foo\341\264\244' | wc -m` -eq 4 ]; then
-+    found_locale=yes
-+    break
-+  fi
-+done
-+
-+if [ "$found_locale" != "yes" ]; then
-+  echo "no valid UTF-8 locale found; skipping" >&2
-+  exit 77
-+fi
-+
- # create gpt label with named partition
- part_name=$(printf 'foo\341\264\244')
- parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index 80583ea19cf..a5ce018545a 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -26,6 +26,8 @@ in mkDerivation {
   pathsToLink = [ "/etc/xdg/peruse.knsrc"];
 
   meta = with lib; {
+    homepage = "https://peruse.kde.org";
+    description = "A comic book reader";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/tools/misc/pfetch/default.nix b/pkgs/tools/misc/pfetch/default.nix
new file mode 100644
index 00000000000..491844f26b7
--- /dev/null
+++ b/pkgs/tools/misc/pfetch/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "pfetch";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "dylanaraps";
+    repo = "pfetch";
+    rev = version;
+    sha256 = "180vvbmvak888vs4dgzlmqk0ss4qfsz09700n4p8s68j7krkxsfq";
+  };
+
+  dontbuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pfetch $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A pretty system information tool written in POSIX sh";
+    homepage = https://github.com/dylanaraps/pfetch;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ equirosa ];
+  };
+}
diff --git a/pkgs/tools/misc/pg_flame/default.nix b/pkgs/tools/misc/pg_flame/default.nix
new file mode 100644
index 00000000000..a7b483a3f06
--- /dev/null
+++ b/pkgs/tools/misc/pg_flame/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pg_flame";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "mgartner";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13r35n4sy9s4343l3vc896av629wqr7m225ih2bbrm8qq70fwhwv";
+  };
+
+  modSha256 = "0j7qpvji546z0cfjijdd66l0vsl0jmny6i1n9fsjqjgjpwg26naq";
+
+  meta = with lib; {
+    description = "Flamegraph generator for Postgres EXPLAIN ANALYZE output";
+    homepage = "https://github.com/mgartner/pg_flame";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index 88f24676b79..2436bbe4381 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "9.0.1";
+  version = "9.2.0";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "056f2z1ssr2z7qnacq5aihpnawl05blbbw0bv64pkrkl0wss85x1";
+    sha256 = "04r4zm550kp44pzl5xgj8abncrd1rxcfs7hqm38an1lz7shiisfi";
   };
 
   buildInputs = [ php ];
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index 5bd1e347082..4c7e9d0892c 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU_combined, wine-staging }:
+{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }:
 
 let
   wine_custom = wine-staging;
@@ -17,9 +17,9 @@ in stdenv.mkDerivation rec {
     sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
-  buildInputs = [ wine_custom libX11 libGLU_combined curl ];
+  buildInputs = [ wine_custom libX11 libGLU libGL curl ];
 
-  propagatedbuildInputs = [ curl cabextract ];
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
 
   patches = [ ./pipelight.patch ];
 
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 2ff042d8cbb..ec56bb2b668 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2019.11";
+  version = "1.2019.13";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0k9l4d3rf5g5vwx6kd170ija872j3fafkn50fkd3ddzjqdd0v9lm";
+    sha256 = "0r8ahcnim7is7np68ci6ppzr07iyx417wi81gkckfyy5p4pwk8kz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix
index 1aa7dbedd93..3fc3efa0eda 100644
--- a/pkgs/tools/misc/ponysay/default.nix
+++ b/pkgs/tools/misc/ponysay/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Cowsay reimplemention for ponies";
-    homepage = http://erkin.co/ponysay/;
+    homepage = "https://github.com/erkin/ponysay";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ bodil ];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 5c1b1be2db3..47336e54d67 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.13.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hgc0ji9jcsq5qnvx54dvpq8qx80mgdbvkllzavnvqr7md638zk9";
+    sha256 = "06i07m68l24v29j01qp2y91rwsfqh4x1nc8sxkjzrc7q1c7fsc1r";
   };
 
-  modSha256 = "0800r08rawv4fz08d332z0fy6pd16l1dyflz3h91ba00g59wc2ah";
+  modSha256 = "0mz1qrwar9cgrhrgw4z3gwhjj62bnfnn59ji31zkyvwlc1mqh9an";
 
   meta = with stdenv.lib; {
     description = "A Powerline like prompt for Bash, ZSH and Fish";
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index ca769be02d8..c42ea76ca85 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "2.1.8";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "0nfc1cv2l2v1rav5jj7jz5wyb2df5l3iwrvvpkvxxpv3qll8kcfv";
+    sha256 = "0cs0hsrrknl2cv39zzq4wydx5p7095hz18yly572fnniyi4ljbdg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index 770b229a315..e32b016016b 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -12,6 +12,7 @@ perlPackages.buildPerlPackage {
   };
   meta = with stdenv.lib; {
     description = "Rename files according to a Perl rewrite expression";
+    homepage = "https://github.com/pstray/rename";
     maintainers = with maintainers; [ mkg ];
     license = with licenses; [ gpl1Plus ];
   };
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index af5bfedf203..96df0707153 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/hanslub42/rlwrap;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 71b6dd90530..d01a3a877f2 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "screenFetch";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner  = "KittyKatt";
     repo   = "screenFetch";
     rev    = "v${version}";
-    sha256 = "11mqld9pppbappqbaj49mw2v5kysx06sy1xbs81i0hhgh35hlziv";
+    sha256 = "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix
index 6638a50931d..faa4220200c 100644
--- a/pkgs/tools/misc/shadowenv/default.nix
+++ b/pkgs/tools/misc/shadowenv/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    sha256 = "01hhh45h742z9mjcpmyjpbjf90a5b1m58b6nml2han149xpn5b74";
+    sha256 = "1s59ra99wcyyqz8gzly4qmcq5rh22c50c75cdi2kyajm7ghgryy9";
   };
 
-  cargoSha256 = "0r8s20xgcp5d1ac07g5g4lrrnhrn2qsr1kgj13h2csly22j0ca2a";
+  cargoSha256 = "0s4p4mpz1p5v9hr4flxlzqvc1b3zbqr3nxp1nxjw39ng9g3hplpg";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index 65031c2a1fe..335a687dbc2 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu
+, glew, glm, libGLU, libGL, libX11, libXext, libXrender, icu
 , cppcheck
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ glew glm libGLU_combined libX11 libXext libXrender icu ]
+  buildInputs = [ glew glm libGLU libGL libX11 libXext libXrender icu ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 26cdbfeab67..ee47c17065f 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
-, lvm2, pam, python, utillinux, fetchpatch }:
+, lvm2, pam, python, utillinux, fetchpatch, json_c }:
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.5";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "1h8qpkfcp04xpnaki2hmc7h3536dnjli2cczhzma6q9m985y45kr";
+    sha256 = "0605j4f3plb6q8lwf82y2jhply6dwj49jgxk8j16wsbf5k7lqzfq";
   };
 
   nativeBuildInputs = [
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python utillinux
+    lvm2 pam python utillinux json_c
   ];
 
   patches = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     # Hard-coded root paths, hard-coded root paths everywhere...
-    for file in {client,data,pam,scripts}/Makefile.am; do
+    for file in {client,data,pam,scripts,zypp-plugin}/Makefile.am; do
       substituteInPlace $file \
         --replace '$(DESTDIR)/usr' "$out" \
         --replace "DESTDIR" "out" \
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 16ca002d6c7..5a708c04db3 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -1,26 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform, libiconv, darwin }:
+{ stdenv, fetchFromGitHub, rustPlatform
+, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.25.2";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "starship";
-    repo = "starship";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "12qpfim0sqrghy41wdlqyq04yqh9mdkfgkhr01ajg0scqwbxi8ws";
+    sha256 = "047nvi231hzwjfci13x8lhszmaccb94mn5lvnyq24zb0im8br6d3";
   };
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  cargoSha256 = "0vcyzvcdpbn27faaj0wkm0mzhmck8s4z3wlhsck1kx4hnjripn02";
+  postPatch = ''
+    substituteInPlace src/utils.rs \
+      --replace "/bin/echo" "echo"
+  '';
+
+  cargoSha256 = "0r1kbv6f5v95wnshxj1wkqvp1adyrivzlr606c6blhl9z9j7m3d7";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ bbigras davidtwco ];
+    maintainers = with maintainers; [ bbigras davidtwco filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/tensorman/default.nix b/pkgs/tools/misc/tensorman/default.nix
new file mode 100644
index 00000000000..97912b3c5fa
--- /dev/null
+++ b/pkgs/tools/misc/tensorman/default.nix
@@ -0,0 +1,24 @@
+{ pkgconfig, stdenv, rustPlatform, rustc, cargo, docker, openssl, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tensorman";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "tensorman";
+    rev = version;
+    sha256 = "0ywb53snvymmwh10hm6whckz7dwmpqa4rxiggd24y178jdfrm2ns";
+  };
+
+  buildInputs = [ pkgconfig openssl ];
+  cargoSha256 = "1gh5w6zzrvjk60bqaf355fagijy723rvmqjh4laksd96pmzdfwn9";
+
+  meta = with stdenv.lib; {
+    description = "Utility for easy management of Tensorflow containers";
+    homepage = "https://github.com/pop-os/tensorman/";
+    license = stdenv.lib.licenses.gpl3;
+    platforms =  [ "x86_64-linux" ];
+    maintainers = with maintainers; [ thefenriswolf ];
+  };
+}
diff --git a/pkgs/tools/misc/termtosvg/default.nix b/pkgs/tools/misc/termtosvg/default.nix
index f3a482baa48..7dc2bc618ea 100644
--- a/pkgs/tools/misc/termtosvg/default.nix
+++ b/pkgs/tools/misc/termtosvg/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "termtosvg";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1mf2vlq083mzhja449il78zpvjq6fv36pzakwrqmgxdjbsdyvxbd";
+    sha256 = "1d0lmvprraspdqpn0rsqzvkkmpj8zk0crid5l39kxpjpxrv2irfg";
   };
 
   propagatedBuildInputs = with python3Packages; [ lxml pyte wcwidth ];
diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix
index 3a8388280d6..9ee9b977ab2 100644
--- a/pkgs/tools/misc/tio/default.nix
+++ b/pkgs/tools/misc/tio/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = https://tio.github.io/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ yegortimoshenko ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix
index 9cc083e225f..86ab2492877 100644
--- a/pkgs/tools/misc/tmate/default.nix
+++ b/pkgs/tools/misc/tmate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmate";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "tmate-io";
     repo   = "tmate";
     rev    = version;
-    sha256 = "183rvga8nvh9r7p8104vwcmzp3vrfdhnx73vh06m2fgdq9i5rz3l";
+    sha256 = "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 36127dd57e6..1aa221bd59e 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig, makeWrapper }:
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, makeWrapper
+, bison
+, ncurses
+, libevent
+}:
 
 let
 
@@ -13,20 +21,28 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "2.9a";
+  version = "3.0a";
 
   outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "tmux";
+    repo = "tmux";
     rev = version;
-    sha256 = "040plbgxlz14q5p0p3wapr576jbirwripmsjyq3g1nxh76jh1ipg";
+    sha256 = "0y9lv1yr0x50v3k70vzkc8hfr7yijlsi30p7dr7i8akp3lwmmc7h";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    bison
+  ];
 
-  buildInputs = [ ncurses libevent makeWrapper ];
+  buildInputs = [
+    ncurses
+    libevent
+    makeWrapper
+  ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://tmux.github.io/;
+    homepage = "http://tmux.github.io/";
     description = "Terminal multiplexer";
 
     longDescription =
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index b794e46b258..9ffa89f5919 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vxnq5r3h32dvznh4lal29q5ny70rd861r7435gn7sa6v5ajs2f1";
+    sha256 = "13qnacqlcih731wfrsalbff1g81inkh6sypvabg5gi7gd7mha49p";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
new file mode 100644
index 00000000000..3adf37c2218
--- /dev/null
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "topgrade";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = "r-darwish";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
+  };
+
+  cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
+
+  meta = with stdenv.lib; {
+    description = "Upgrade all the things";
+    homepage = "https://github.com/r-darwish/topgrade";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/ttygif/default.nix b/pkgs/tools/misc/ttygif/default.nix
new file mode 100644
index 00000000000..2fbd4360698
--- /dev/null
+++ b/pkgs/tools/misc/ttygif/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ttygif";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "icholy";
+    repo = pname;
+    rev = version;
+    sha256 = "18l26iacpfn4xqqv1ai6ncabn83mqv98c48gl265gfld66y7zbzn";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/icholy/ttygif";
+    description = "Convert terminal recordings to animated gifs";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+}
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 8f66f566aa7..8bea94770ba 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -1,4 +1,13 @@
-{ stdenv, fetchurl, readline }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  readline,
+  enableCurrenciesUpdater ? true,
+  pythonPackages ? null
+}:
+
+assert enableCurrenciesUpdater -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "units";
@@ -9,7 +18,22 @@ stdenv.mkDerivation rec {
     sha256 = "0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2";
   };
 
-  buildInputs = [ readline ];
+  pythonEnv = pythonPackages.python.withPackages(ps: [
+    ps.requests
+  ]);
+
+  buildInputs = [ readline ]
+    ++ lib.optionals enableCurrenciesUpdater [
+      pythonEnv
+    ]
+  ;
+  prePatch = ''
+    substituteInPlace units_cur \
+      --replace "#!/usr/bin/env python" ${pythonEnv}/bin/python
+  '';
+  postInstall = ''
+    cp units_cur ${placeholder "out"}/bin/
+  '';
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 7ac9542c6b5..328c343ba70 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, CoreServices, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
     inherit src;
     sourceRoot = "source/rust";
     cargoSha256 = "1n1dxq3klsry5mmbfff2jv7ih8mr5zvpncrdgba6qs93wi77qi0y";
-    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -37,6 +37,13 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/pimutils/vdirsyncer/commit/7b636e8e40d69c495901f965b9c0686513659e44.patch";
+      sha256 = "0vl942ii5iad47y63v0ngmhfp37n30nxyk4j7h64b95fk38vfwx9";
+    })
+  ];
+
   postPatch = ''
     # see https://github.com/pimutils/vdirsyncer/pull/805
     substituteInPlace setup.cfg --replace --duration --durations
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 8c5ba4100c6..18ae7b5e211 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -1,33 +1,32 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform
 , openssl, pkgconfig, protobuf
-, Security, libiconv
+, Security, libiconv, rdkafka
 
 , features ?
     (if stdenv.isAarch64
-     then [ "jemallocator" ]
-     else [ "leveldb" "jemallocator" ])
+     then [ "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
+     else [ "leveldb" "leveldb/leveldb-sys-2" "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "timberio";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff";
+    sha256 = "0bb4552nwkdpnxhaq2mn4iz5w92ggqxc1b78jq2vjbh1317sj9hw";
   };
 
-  cargoSha256 = "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5";
-  buildInputs = [ openssl pkgconfig protobuf ]
+  cargoSha256 = "1akyzrscc6pv7ggb1kna05vvxhfzrf1b4kji4bah1ry3yyqxdjsj";
+  buildInputs = [ openssl pkgconfig protobuf rdkafka ]
                 ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
 
   # needed for internal protobuf c wrapper library
   PROTOC="${protobuf}/bin/protoc";
   PROTOC_INCLUDE="${protobuf}/include";
 
-  # rdkafka fails to build, for some reason...
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
   checkPhase = ":"; # skip tests, too -- they don't respect the rdkafka flag...
 
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
index c51d3cc2702..534a500c7bc 100644
--- a/pkgs/tools/misc/venus/default.nix
+++ b/pkgs/tools/misc/venus/default.nix
@@ -1,16 +1,14 @@
-{ stdenv, fetchurl, python, pythonPackages, libxslt, libxml2, makeWrapper }:
-
-let
-  rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
-in
+{ stdenv, fetchFromGitHub, python, pythonPackages, libxslt, libxml2, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "venus-${rev}";
-
-  src = fetchurl {
-    url = "https://github.com/rubys/venus/tarball/${rev}";
-    name = "${name}.tar.bz";
-    sha256 = "0lsc9d83grbi3iwm8ppaig4h9vbmd5h4vvz83lmpnyp7zqfka7dy";
+  pname = "venus";
+  version = "unstable-2011-02-18";
+
+  src = fetchFromGitHub {
+    owner = "rubys";
+    repo = "venus";
+    rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
+    sha256 = "10yyx4jaxxbwhica12aiw119aywghcr7b24gs9lrmafpa6xd3an2";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/vimpager/build.nix b/pkgs/tools/misc/vimpager/build.nix
index 69ec50bd575..60389f6862b 100644
--- a/pkgs/tools/misc/vimpager/build.nix
+++ b/pkgs/tools/misc/vimpager/build.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Use Vim as PAGER";
-    homepage    = "https://www.vim.org/scripts/script.php?script_id = 1723";
+    homepage    = "https://www.vim.org/scripts/script.php?script_id=1723";
     license     = with licenses; [ bsd2 mit vim ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index 4ffa250bdf5..a3df78abd25 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13x0295v5blvv8dxhimbdjh81l7xl0vm6zni3qjd85psfn61371q";
+    sha256 = "00xxk1ipr3hndd717q52j7s2wfxis1p4glaa9lvp72gwwzmv5k9w";
   };
 
   postPatch = ''
     substituteInPlace src/main.rs --replace /usr/share $out/share
   '';
 
-  cargoSha256 = "125392a7x0h9jgcqc4wcaky0494xmr82iacxwl883kf0g227rv2y";
+  cargoSha256 = "04xx26ngz7hx7bv5g01q9h6dqa96xkx0xm3jb0qk6c3hp6500zpn";
 
   postInstall = ''
     mkdir -p $out/share/${pname}
diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix
new file mode 100644
index 00000000000..d56d21b1516
--- /dev/null
+++ b/pkgs/tools/misc/wagyu/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wagyu";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "ArgusHQ";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1646j0lgg3hhznifvbkvr672p3yqlcavswijawaxq7n33ll8vmcn";
+  };
+
+  cargoSha256 = "10b96l0b32zxq0xrnhivv3gihmi5y31rllbizv67hrg1axz095vn";
+  verifyCargoDeps = true;
+
+  meta = with lib; {
+    description = "Rust library for generating cryptocurrency wallets";
+    homepage = https://github.com/ArgusHQ/wagyu;
+    license = with licenses; [ mit asl20 ];
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 06280b49fbf..a685dc7cbde 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "10.8.0";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "057gq6j41x9z29az4s21crswm97pa9z4v58m34q8mi3chihc3pj6";
+    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index dea4478581b..9729f110bb7 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, rustPlatform, fetchFromGitHub, CoreServices }:
+{ stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1iaib7yvxyn3l9kiys9x7wziixj13fmx1z3wgdy6h8c7jv6fpc0j";
+    sha256 = "03s9nsss4895x4lp90y65jajavk8c2nj1jjnmx0vbbwl210ghlv1";
   };
 
-  cargoSha256 = "101p0qj7ydfhqfz402mxy4bs48vq3rzgj513f1kwv0ba4hn1sxkv";
+  cargoSha256 = "07whi9w51ddh8s7v06c3k6n5q9gfx74rdkhgfysi180y2rgnbanj";
+
+  nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  postInstall = ''
+    installManPage doc/watchexec.1
+    installShellCompletion --zsh --name _watchexec completions/zsh
+  '';
+
   meta = with stdenv.lib; {
     description = "Executes commands in response to file modifications";
     homepage = https://github.com/watchexec/watchexec;
diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix
index b994aecfc0e..f682bb3d2eb 100644
--- a/pkgs/tools/misc/websocat/default.nix
+++ b/pkgs/tools/misc/websocat/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "websocat";
-  version = "1.3.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
-    owner  = "vi";
-    repo   = "websocat";
-    rev    = "v${version}";
-    sha256 = "1gf2snr12vnx2mhsrwkb5274r1pvdrf8m3bybrqbh8s9wd83nrh6";
+    owner = "vi";
+    repo = "websocat";
+    rev = "v${version}";
+    sha256 = "1lmra91ahpk4gamhnbdr066hl4vzwfh5i09fbabzdnxcvylbx8zf";
   };
 
   cargoBuildFlags = [ "--features=ssl" ];
-  cargoSha256 = "1zqfvbihf8xwgh092n9wzm3mdgbv0n99gjsfk9przqj2vh7wfvh2";
+  cargoSha256 = "163kwpahrbb9v88kjkrc0jx2np3c068pspr8rqrm9cb8jyl2njrr";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line client for WebSockets (like netcat/socat)";
-    homepage    = https://github.com/vi/websocat;
-    license     = with licenses; [ mit ];
-    maintainers = [ maintainers.thoughtpolice ];
-    platforms   = platforms.all;
+    homepage = "https://github.com/vi/websocat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thoughtpolice filalex77 ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/wob/default.nix b/pkgs/tools/misc/wob/default.nix
index 12e76be9658..ac00fd007e3 100644
--- a/pkgs/tools/misc/wob/default.nix
+++ b/pkgs/tools/misc/wob/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, wayland # wayland-scanner
+, meson, ninja, pkg-config, scdoc, wayland # wayland-scanner
 , wayland-protocols
 }:
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.2";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    fetchSubmodules = true;
-    sha256 = "1jyia4166lp4cc8gmjmgcyz6prshhfjriam8w8mz2c5h77990fr9";
+    sha256 = "1z8q5p5q8f0dfjzr96jldz97ycir9ip4p2cwj26nywmb8r0hznjr";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  postPatch = "sed -Ei 's/Version\ 0\.[0-9]/Version ${version}/' wob.1.scd";
+
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland ];
   buildInputs = [ wayland-protocols ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/xilinx-bootgen/default.nix b/pkgs/tools/misc/xilinx-bootgen/default.nix
new file mode 100644
index 00000000000..e7aa30ac059
--- /dev/null
+++ b/pkgs/tools/misc/xilinx-bootgen/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, openssl }:
+
+stdenv.mkDerivation {
+  pname = "xilinx-bootgen";
+  version = "unstable-2019-10-23";
+
+  src = fetchFromGitHub {
+    owner = "xilinx";
+    repo = "bootgen";
+    rev = "f9f477adf243fa40bc8c7316a7aac37a0efd426d";
+    sha256 = "1qciz3jkzy0z0lcgqnhch9pqj0202mk5ghzp2m9as5pzk8n8hrbz";
+  };
+
+  buildInputs = [ openssl ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -Dm755 bootgen $out/bin/bootgen
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generate Boot Images for Xilinx Zynq and ZU+ SoCs";
+    longDescription = ''
+      Bootgen for Xilinx Zynq and ZU+ SoCs, without code related to generating
+      obfuscated key and without code to support FPGA encryption and
+      authentication. These features are only available as part of Bootgen
+      shipped with Vivado tools.
+
+      For more details about Bootgen, please refer to Xilinx UG1283.
+    '';
+    homepage = "https://github.com/Xilinx/bootgen";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 946a07d17b4..776b41ac1aa 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yad";
-  version = "0.42.0";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "v1cont";
     repo = "yad";
     rev = "v${version}";
-    sha256 = "0ym8pgbzx7ydk5rmi2kwwdyzi6pdpcps86i0c20cqcjmqh8kdl36";
+    sha256 = "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 610738daebd..2c9d2be0761 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl 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 = "2019.10.29";
+  version = "2019.12.25";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1lq6ycjbx07831s24yx42q6m6svas4mf02vbszw0965dbbzs7vp4";
+    sha256 = "13f7wv9v77zilhif0ndgjv4wn9glhmm14yh7axdcx5wglrgz38hf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -65,6 +65,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz enzime ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ];
   };
 }
diff --git a/pkgs/tools/networking/6tunnel/default.nix b/pkgs/tools/networking/6tunnel/default.nix
new file mode 100644
index 00000000000..bf0e8ba3316
--- /dev/null
+++ b/pkgs/tools/networking/6tunnel/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "6tunnel";
+  version = "0.13";
+
+  src = fetchFromGitHub {
+    owner = "wojtekka";
+    repo = pname;
+    rev = version;
+    sha256 = "0zsx9d6xz5w8zvrqsm8r625gpbqqhjzvjdzc3z8yix668yg8ff8h";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "Tunnelling for application that don't speak IPv6";
+    homepage = "https://github.com/wojtekka/6tunnel";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index f367d2817cd..9d948eaf822 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools
 , iw, ethtool, pciutils, libnl, pkgconfig, makeWrapper
-, autoreconfHook }:
+, autoreconfHook, usbutils }:
 
 stdenv.mkDerivation rec {
   name = "aircrack-ng-1.5.2";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/airmon-ng --prefix PATH : ${stdenv.lib.makeBinPath [
-      ethtool iw pciutils
+      ethtool iw pciutils usbutils
     ]}
   '';
 
diff --git a/pkgs/tools/networking/argus/default.nix b/pkgs/tools/networking/argus/default.nix
index 72c0a78a447..bb9abccc933 100644
--- a/pkgs/tools/networking/argus/default.nix
+++ b/pkgs/tools/networking/argus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers,
-  pkgconfig, procps, which, wget, lsof, net_snmp, perl }:
+  pkgconfig, procps, which, wget, lsof, net-snmp, perl }:
 
 stdenv.mkDerivation rec {
   pname = "argus";
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex ];
-  propagatedBuildInputs = [ procps which wget lsof net_snmp ];
+  nativeBuildInputs = [ pkgconfig bison flex ];
+  buildInputs = [ libpcap cyrus_sasl tcp_wrappers ];
+  propagatedBuildInputs = [ procps which wget lsof net-snmp ];
 
   patchPhase = ''
      substituteInPlace events/argus-extip.pl \
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
     substituteInPlace events/argus-vmstat.sh \
       --replace vm_stat ${procps}/bin/vmstat
     substituteInPlace events/argus-snmp.sh \
-      --replace /usr/bin/snmpget ${net_snmp}/bin/snmpget \
-      --replace /usr/bin/snmpwalk ${net_snmp}/bin/snmpwalk
+      --replace /usr/bin/snmpget ${stdenv.lib.getBin net-snmp}/bin/snmpget \
+      --replace /usr/bin/snmpwalk ${stdenv.lib.getBin net-snmp}/bin/snmpwalk
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index e086105e19e..0b4d77881b4 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -6,23 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "aria2";
-  version = "1.34.0";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = "aria2";
     repo = "aria2";
     rev = "release-${version}";
-    sha256 = "0hwqnjyszasr6049vr5mn48slb48v5kw39cbpbxa68ggmhj9bw6m";
+    sha256 = "195r3711ly3drf9jkygwdc2m7q99hiqlfrig3ip1127b837gzsf9";
   };
 
-  patches = [
-    # Remove with 1.35.0.
-    (fetchpatch {
-      url = https://github.com/aria2/aria2/commit/e8e04d6f22a507e8374651d3d2343cd9fb986993.patch;
-      sha256 = "1v27nqbsdjgg3ga4n0v9daq21m3cmdpy7d08kp32200pzag87f4y";
-    })
-  ];
-
   nativeBuildInputs = [ pkgconfig autoreconfHook sphinx ];
 
   buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
@@ -44,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ filalex77 koral ];
   };
 }
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 2ff127f3e68..5fccd9c0ebc 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.pps.univ-paris-diderot.fr/~jch/software/babel/;
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu fpletz ];
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/networking/bgpdump/default.nix b/pkgs/tools/networking/bgpdump/default.nix
index 2f74ac713d7..3c84de29bf1 100644
--- a/pkgs/tools/networking/bgpdump/default.nix
+++ b/pkgs/tools/networking/bgpdump/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchzip, autoreconfHook, zlib, bzip2 }:
+{ stdenv, fetchurl, autoreconfHook, zlib, bzip2 }:
 
-stdenv.mkDerivation {
-  name = "bgpdump-2017-09-29";
+stdenv.mkDerivation rec {
+  pname = "bgpdump";
+  version = "1.6.0";
 
-  src = fetchzip {
-    url = "https://bitbucket.org/ripencc/bgpdump/get/94a0e724b335.zip";
-    sha256 = "09g9vz2zc4nyzl669w1j7fxw21ifja6dxbp0xbqh6n7w3gpx2g88";
+  src = fetchurl {
+    url = "https://ris.ripe.net/source/bgpdump/libbgpdump-1.6.0.tgz";
+    sha256 = "144369gj35mf63nz4idqwsvgsirw7fybm8kkk07yymrjp8jr3aqk";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zlib bzip2 ];
 
   meta = {
-    homepage = https://bitbucket.org/ripencc/bgpdump/wiki/Home;
+    homepage = https://bitbucket.org/ripencc/bgpdump/;
     description = ''Analyze dump files produced by Zebra/Quagga or MRT'';
     license = stdenv.lib.licenses.hpnd;
     maintainers = with stdenv.lib.maintainers; [ lewo ];
diff --git a/pkgs/tools/networking/cadaver/default.nix b/pkgs/tools/networking/cadaver/default.nix
index 75a05108b8b..95012208129 100644
--- a/pkgs/tools/networking/cadaver/default.nix
+++ b/pkgs/tools/networking/cadaver/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, openssl }:
+{ stdenv, fetchurl, fetchpatch, openssl, readline }:
 
 stdenv.mkDerivation rec {
   name = "cadaver-0.23.3";
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  configureFlags = [ "--with-ssl" ];
+  configureFlags = [ "--with-ssl" "--with-readline" ];
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl readline ];
 
   meta = with stdenv.lib; {
     description = "A command-line WebDAV client";
diff --git a/pkgs/tools/networking/chrony/allow-clock_adjtime.patch b/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
new file mode 100644
index 00000000000..2fa3baca722
--- /dev/null
+++ b/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
@@ -0,0 +1,26 @@
+From 0cf506c92967c84f9ed83ba9e1be946a7fda6425 Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar@redhat.com>
+Date: Mon, 2 Dec 2019 12:47:13 +0100
+Subject: sys_linux: allow clock_adjtime in seccomp filter
+
+The adjtimex() function in glibc was switched to the clock_adjtime
+system call.
+
+diff --git a/sys_linux.c b/sys_linux.c
+index 63eb8f1..fcf89c2 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -478,8 +478,8 @@ SYS_Linux_EnableSystemCallFilter(int level)
+ {
+   const int syscalls[] = {
+     /* Clock */
+-    SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
+-    SCMP_SYS(settimeofday), SCMP_SYS(time),
++    SCMP_SYS(adjtimex), SCMP_SYS(clock_adjtime), SCMP_SYS(clock_gettime),
++    SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday), SCMP_SYS(time),
+     /* Process */
+     SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid),
+     SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+-- 
+cgit v0.10.2
+
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 69c4f897c93..c0c3281431f 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
     sha256 = "1d9r2dhslll4kzdmxrj0qfgwq1b30d4l3s5cwr8yr93029dpj0jf";
   };
 
+  patches = [
+    ./allow-clock_adjtime.patch
+    ./fix-seccomp-build.patch
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/tools/networking/chrony/fix-seccomp-build.patch b/pkgs/tools/networking/chrony/fix-seccomp-build.patch
new file mode 100644
index 00000000000..6888e7efeb7
--- /dev/null
+++ b/pkgs/tools/networking/chrony/fix-seccomp-build.patch
@@ -0,0 +1,13 @@
+diff --git a/sys_linux.c b/sys_linux.c
+index 898dc7a7f75..fcd334ecf03 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -503,7 +503,7 @@ SYS_Linux_EnableSystemCallFilter(int level)
+     SCMP_SYS(socketcall),
+     /* General I/O */
+     SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
+-    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
++    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(pselect6), SCMP_SYS(read),
+     SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
+     /* Miscellaneous */
+     SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
diff --git a/pkgs/development/python-modules/circus/default.nix b/pkgs/tools/networking/circus/default.nix
index a4f96ccaf68..10edc92a995 100644
--- a/pkgs/development/python-modules/circus/default.nix
+++ b/pkgs/tools/networking/circus/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, iowait, psutil, pyzmq, tornado, mock }:
+{ stdenv, python3Packages }:
 
-buildPythonPackage rec {
+let
+  inherit (python3Packages) buildPythonApplication fetchPypi iowait psutil pyzmq tornado_4 mock;
+in
+
+buildPythonApplication rec {
   pname = "circus";
   version = "0.15.0";
 
@@ -13,15 +16,14 @@ buildPythonPackage rec {
   postPatch = ''
     # relax version restrictions to fix build
     substituteInPlace setup.py \
-      --replace "pyzmq>=13.1.0,<17.0" "pyzmq>13.1.0" \
-      --replace "tornado>=3.0,<5.0" "tornado>=3.0"
+      --replace "pyzmq>=13.1.0,<17.0" "pyzmq>13.1.0"
   '';
 
   checkInputs = [ mock ];
 
   doCheck = false; # weird error
 
-  propagatedBuildInputs = [ iowait psutil pyzmq tornado ];
+  propagatedBuildInputs = [ iowait psutil pyzmq tornado_4 ];
 
   meta = with stdenv.lib; {
     description = "A process and socket manager";
diff --git a/pkgs/tools/networking/cloud-custodian/default.nix b/pkgs/tools/networking/cloud-custodian/default.nix
new file mode 100644
index 00000000000..a57d9f13d78
--- /dev/null
+++ b/pkgs/tools/networking/cloud-custodian/default.nix
@@ -0,0 +1,48 @@
+{ lib, buildPythonApplication, fetchPypi
+, argcomplete
+, boto3
+, botocore
+, certifi
+, dateutil
+, jsonpatch
+, jsonschema
+, pyyaml
+, tabulate
+, urllib3
+}:
+
+buildPythonApplication rec {
+  pname = "cloud-custodian";
+  version = "0.8.45.1";
+
+  src = fetchPypi {
+    pname = "c7n";
+    inherit version;
+    sha256 = "0c199gdmpm83xfghrbzp02xliyxiygsnx2fvb35j9qpf37wzzp3z";
+  };
+
+  propagatedBuildInputs = [
+    argcomplete
+    boto3
+    botocore
+    certifi
+    dateutil
+    jsonpatch
+    jsonschema
+    pyyaml
+    tabulate
+    urllib3
+  ];
+
+  # Requires tox, many packages, and network access
+  checkPhase = ''
+    $out/bin/custodian --help
+  '';
+
+  meta = with lib; {
+    description = "Rules engine for cloud security, cost optimization, and governance";
+    homepage = "https://cloudcustodian.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bhipple ];
+  };
+}
diff --git a/pkgs/tools/networking/connman/connman-notify/default.nix b/pkgs/tools/networking/connman/connman-notify/default.nix
index 0cb32ca415f..d17729c691d 100644
--- a/pkgs/tools/networking/connman/connman-notify/default.nix
+++ b/pkgs/tools/networking/connman/connman-notify/default.nix
@@ -1,38 +1,34 @@
-{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }:
+{ stdenv, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation {
+python3Packages.buildPythonApplication {
   pname = "connman-notify";
-  version = "2014-06-23";
+  version = "2019-10-05";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "wavexx";
     repo = "connman-notify";
-    rev = "0ed9b5e4a0e1f03c83c4589cabf410cac66cd11d";
-    sha256 = "0lhk417fdg3qxs1marpqp277bdxhwnbyrld9xj224bfk5v7xi4bg";
+    rev = "24b10a51721b54d932f4cd61ef2756423768c015";
+    sha256 = "1k5b5y6114yna2cm0cq82xilicran63hrhlklgv7k3p89057xh8j";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  format = "other";
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.dbus-python
-    pythonPackages.pygobject2
-    pythonPackages.pygtk
-    pythonPackages.notify
-  ];
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+
+  buildInputs = [ glib ];
+
+  pythonPath = with python3Packages; [ dbus-python pygobject3 ];
+
+  strictDeps = false;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp -vai connman-notify $out/bin/
+    install -D -t $out/bin connman-notify
+    install -D -t $out/share/doc README.rst
   '';
 
-  preFixup = ''
-    wrapProgram $out/bin/connman-notify --prefix PYTHONPATH : "$PYTHONPATH"
-  '';  
-
   meta = with stdenv.lib; {
     description = "Desktop notification integration for connman";
-    homepage = https://github.com/wavexx/connman-notify;
+    homepage = https://gitlab.com/wavexx/connman-notify;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index b23b5a17e1f..fee1e9ee3ac 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "6.2.0";
+  version = "6.4.8";
 
   goPackagePath = "github.com/schollz/croc";
 
@@ -10,17 +10,17 @@ buildGoModule rec {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pav0l7akzqgwj7yqkgbpl96kndlb41kg1vmb3g6xp7ykmbdsbbc";
+    sha256 = "03wm7agjwky9ma321x6as76rg053cagmni9ygwls82jjs2pvv0bv";
   };
 
-  modSha256 = "02w4p877nvv7dril7l9nmj8xf3fnghxnj8kglxkv541vabvlpq03";
+  modSha256 = "011pcmfih8lg8l7hwdsq51p5brnhsddzv7mvsaw5sfv8nq9p8zc2";
   subPackages = [ "." ];
 
   meta = with stdenv.lib; {
     description = "Easily and securely send things from one computer to another";
     homepage = https://github.com/schollz/croc;
     license = licenses.mit;
-    maintainers = with maintainers; [ hugoreeves ];
+    maintainers = with maintainers; [ hugoreeves equirosa ];
 
     longDescription = ''
       Croc is a command line tool written in Go that allows any two computers to
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 817f3ccf19b..051271e9788 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -5,6 +5,7 @@
 , zlibSupport ? true, zlib ? null
 , sslSupport ? zlibSupport, openssl ? null
 , gnutlsSupport ? false, gnutls ? null
+, wolfsslSupport ? false, wolfssl ? null
 , scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
 , gssSupport ? !stdenv.hostPlatform.isWindows, libkrb5 ? null
 , c-aresSupport ? false, c-ares ? null
@@ -17,21 +18,24 @@ assert ldapSupport -> openldap != null;
 assert zlibSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 assert !(gnutlsSupport && sslSupport);
+assert !(gnutlsSupport && wolfsslSupport);
+assert !(sslSupport && wolfsslSupport);
 assert gnutlsSupport -> gnutls != null;
+assert wolfsslSupport -> wolfssl != null;
 assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 assert brotliSupport -> brotli != null;
 assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.66.0";
+  name = "curl-7.67.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${name}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
     ];
-    sha256 = "0hd1wwplw357hn876s4n2gk7dpmd1gfw5d2c3yi21i1m09726636";
+    sha256 = "0v2qb1c82m3qzkiyglsg1745qi791i9pl1jgnks8nm0sh9b6jpyx";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -53,6 +57,7 @@ stdenv.mkDerivation rec {
     optional c-aresSupport c-ares ++
     optional sslSupport openssl ++
     optional gnutlsSupport gnutls ++
+    optional wolfsslSupport wolfssl ++
     optional scpSupport libssh2 ++
     optional brotliSupport brotli;
 
@@ -67,7 +72,8 @@ stdenv.mkDerivation rec {
       # to nss-cacert from the default profile.
       "--without-ca-bundle"
       "--without-ca-path"
-      "--with-ca-fallback"
+      # The build fails when using wolfssl with --with-ca-fallback
+      ( if wolfsslSupport then "--without-ca-fallback" else "--with-ca-fallback")
       "--disable-manual"
       ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
       ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
@@ -77,6 +83,7 @@ stdenv.mkDerivation rec {
       ( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
       ( if brotliSupport then "--with-brotli" else "--without-brotli" )
     ]
+    ++ stdenv.lib.optional wolfsslSupport "--with-wolfssl=${wolfssl.dev}"
     ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${libkrb5.dev}"
        # For the 'urandom', maybe it should be a cross-system option
diff --git a/pkgs/tools/networking/curlie/default.nix b/pkgs/tools/networking/curlie/default.nix
index 2073c0b8497..fa1471aa620 100644
--- a/pkgs/tools/networking/curlie/default.nix
+++ b/pkgs/tools/networking/curlie/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "curlie";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src= fetchFromGitHub {
     owner = "rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jgwd1amwjpmfgg08j9m9i15rpxijhmld9najzqb2gf8c1n5d8cf";
+    sha256 = "09v8alrbw6qva3q3bcqxnyjm7svagfxqvhdff7cqf5pbmkxnhln9";
   };
 
   modSha256 = "18nwq99vv3nbdwfilfn8v64mn58jviwybi93li0lcg7779nxab3d";
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index a83274188c0..2253daa2d11 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkgconfig, systemd, hostname }:
+{ lib, stdenv, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkgconfig, systemd, hostname, extraTags ? [] }:
 
 let
   # keep this in sync with github.com/DataDog/agent-payload dependency
@@ -42,7 +42,7 @@ in buildGoPackage rec {
       "-r ${python}/lib"
     ];
   in ''
-    buildFlagsArray=( "-tags" "ec2 systemd cpython process log" "-ldflags" "${ldFlags}")
+    buildFlagsArray=( "-tags" "ec2 systemd cpython process log secrets ${lib.concatStringsSep " " extraTags}" "-ldflags" "${ldFlags}")
   '';
 
   # DataDog use paths relative to the agent binary, so fix these.
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 0827f2eac7b..d63c63ab1d2 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
   pname = "dhcpcd";
-  version = "8.0.6";
+  version = "8.1.2";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0kxxpb79j564m6bjvjb9gsn0yzs13c0arfgsycm51gw3xnch3db6";
+    sha256 = "1b9mihp1mf2vng92fgks764a6pwf2gx7ccw6knja79c42nmyglyb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
new file mode 100644
index 00000000000..6554dd465d4
--- /dev/null
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "dnsproxy";
+  version = "0.20.0";
+
+  src = fetchFromGitHub {
+    owner = "AdguardTeam";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yd3d90ssdzpbsdq068dvsi0r1z2rlv3wpbmpkhfgpxmwrvdanrq";
+  };
+
+  modSha256 = "0cqwkmhajp3py3b5aj3qz9480qy2ws0vy1gk21bxjm56wqxl2gf0";
+
+  meta = with stdenv.lib; {
+    description = "Simple DNS proxy with DoH, DoT, and DNSCrypt support";
+    homepage = "https://github.com/AdguardTeam/dnsproxy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ contrun ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index 2cf111e8ccf..6f1660484e7 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
+{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables, nixosTests }:
 
 stdenv.mkDerivation rec {
   version = "2.4.1";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests.ferm = nixosTests.ferm;
+
   meta = {
     homepage = http://ferm.foo-projects.org/;
     description = "Tool to maintain complex firewalls";
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
new file mode 100644
index 00000000000..87932cd02bd
--- /dev/null
+++ b/pkgs/tools/networking/frp/default.nix
@@ -0,0 +1,31 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "frp";
+  version = "0.30.0";
+
+  src = fetchFromGitHub {
+    owner = "fatedier";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15q2lfwqyicgllhh5fn3a8g3iw9m42cd0izb99a24hn57pd9cr0n";
+  };
+
+  modSha256 = "1zbl0gfc99pbzdacxhfa1k3y6i7v13sb441wpbp9aygxhvwqrms9";
+
+  subPackages = [ "cmd/frpc" "cmd/frps" ];
+
+  meta = with lib; {
+    description = "Fast reverse proxy";
+    longDescription = ''
+      frp is a fast reverse proxy to help you expose a local server behind a
+      NAT or firewall to the Internet. As of now, it supports TCP and UDP, as
+      well as HTTP and HTTPS protocols, where requests can be forwarded to
+      internal services by domain name. frp also has a P2P connect mode.
+    '';
+    homepage = "https://github.com/fatedier/frp";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix
index be1ca9f265d..d942dce6a19 100644
--- a/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -1,38 +1,38 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, makeWrapper
-, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
-
-let version = "4f221e6b85abf85957b547436e982d7a501a1718"; in
-
-stdenv.mkDerivation {
-  pname = "gmrender-resurrect";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "hzeller";
-    repo = "gmrender-resurrect";
-    rev = version;
-    sha256 = "1dmdhyz27bh74qmvncfd3kw7zqwnd05bhxcfjjav98z5qrxdygj4";
-  };
-
-  preConfigurePhases = "autoconfPhase";
-
-  autoconfPhase = "./autogen.sh";
-
-  buildInputs = [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav libupnp ];
-  nativeBuildInputs = [ autoconf automake pkgconfig makeWrapper ];
-
-  postInstall = ''
-    for prog in "$out/bin/"*; do
-        wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "${gst-plugins-base}/lib/gstreamer-1.0:${gst-plugins-good}/lib/gstreamer-1.0:${gst-plugins-bad}/lib/gstreamer-1.0:${gst-plugins-ugly}/lib/gstreamer-1.0:${gst-libav}/lib/gstreamer-1.0"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
-    homepage = https://github.com/hzeller/gmrender-resurrect;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    broken = true;
-    maintainers = [ maintainers.koral ];
-  };
-}
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, makeWrapper, gstreamer
+, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
+
+let
+  version = "0.0.8";
+
+  makePluginPath = plugins: builtins.concatStringsSep ":" (map (p: p + "/lib/gstreamer-1.0") plugins);
+
+  pluginPath = makePluginPath [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
+in
+  stdenv.mkDerivation {
+    pname = "gmrender-resurrect";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "hzeller";
+      repo = "gmrender-resurrect";
+      rev = "v${version}";
+      sha256 = "14i5jrry6qiap5l2x2jqj7arymllajl3wgnk29ccvr8d45zp4jn1";
+    };
+
+    buildInputs = [ gstreamer libupnp ];
+    nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+
+    postInstall = ''
+      for prog in "$out/bin/"*; do
+          wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pluginPath}"
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
+      homepage = https://github.com/hzeller/gmrender-resurrect;
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ koral ashkitten ];
+    };
+  }
diff --git a/pkgs/tools/networking/gnirehtet/default.nix b/pkgs/tools/networking/gnirehtet/default.nix
index 37d2eea825f..06faa064025 100644
--- a/pkgs/tools/networking/gnirehtet/default.nix
+++ b/pkgs/tools/networking/gnirehtet/default.nix
@@ -1,12 +1,12 @@
 {stdenv, rustPlatform, fetchFromGitHub, fetchzip, androidenv, substituteAll}:
 let
-version = "2.3";
+version = "2.4";
 apk = stdenv.mkDerivation {
   pname = "gnirehtet.apk";
   inherit version;
   src = fetchzip {
     url = "https://github.com/Genymobile/gnirehtet/releases/download/v${version}/gnirehtet-rust-linux64-v${version}.zip";
-    sha256 = "08pgmpbz82cd8ndr2syiv25l5xk1gvh9gzji4pgva5gw269bjmpz";
+    sha256 = "13gsh5982v961j86j5y71pgas94g2d1v1fgnbslbqw4h69fbf48g";
   };
   installPhase = ''
     mkdir $out
@@ -22,10 +22,10 @@ rustPlatform.buildRustPackage {
       owner = "Genymobile";
       repo = "gnirehtet";
       rev = "v${version}";
-      sha256 = "118ig42qzr2xyra7r8zfxq38xidaxfc98ja9836jwnn9fgbigczr";
+      sha256 = "1c99d6zpjxa8xlrg0n1825am20d2pjiicfcjwv8iay9ylfdnvygl";
   };
   sourceRoot = "source/relay-rust";
-  cargoSha256 = "1500lfwbfnc0k2hn7r1n629fq11zfqm3fg13dddmhchq4i3sqkfb";
+  cargoSha256 = "1l1cirhmfkpa466vksynlhwggsfiahws7cpsxydrc414l415l283";
 
   patchFlags = [ "-p2" ];
   patches = [
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index d8711d516dc..95457b01205 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -1,7 +1,9 @@
 { useLua ? !stdenv.isDarwin
 , usePcre ? true
-, stdenv, fetchurl
-, openssl, zlib, lua5_3 ? null, pcre ? null
+, withPrometheusExporter ? true
+, stdenv, lib, fetchurl
+, openssl, zlib
+, lua5_3 ? null, pcre ? null, systemd ? null
 }:
 
 assert useLua -> lua5_3 != null;
@@ -9,39 +11,47 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "1.9.8";
+  version = "2.0.10";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "1via9k84ycrdr8qh4qchcbqgpv0gynm3ra23nwsvqwfqvc0376id";
+    sha256 = "1sm42q9l159pdmjs5dg544z10dn6x073caljkqh0p4syshysnf0x";
   };
 
   buildInputs = [ openssl zlib ]
-    ++ stdenv.lib.optional useLua lua5_3
-    ++ stdenv.lib.optional usePcre pcre;
+    ++ lib.optional useLua lua5_3
+    ++ lib.optional usePcre pcre
+    ++ lib.optional stdenv.isLinux systemd;
 
   # TODO: make it work on bsd as well
   makeFlags = [
     "PREFIX=\${out}"
     ("TARGET=" + (if stdenv.isSunOS  then "solaris"
-             else if stdenv.isLinux  then "linux2628"
+             else if stdenv.isLinux  then "linux-glibc"
              else if stdenv.isDarwin then "osx"
              else "generic"))
   ];
+
   buildFlags = [
     "USE_OPENSSL=yes"
     "USE_ZLIB=yes"
-  ] ++ stdenv.lib.optionals usePcre [
+  ] ++ lib.optionals usePcre [
     "USE_PCRE=yes"
     "USE_PCRE_JIT=yes"
-  ] ++ stdenv.lib.optionals useLua [
+  ] ++ lib.optionals useLua [
     "USE_LUA=yes"
     "LUA_LIB=${lua5_3}/lib"
     "LUA_INC=${lua5_3}/include"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc"
-    ++ stdenv.lib.optional stdenv.isLinux "USE_GETADDRINFO=1";
+  ] ++ lib.optionals stdenv.isLinux [
+    "USE_SYSTEMD=yes"
+    "USE_GETADDRINFO=1"
+  ] ++ lib.optionals withPrometheusExporter [
+    "EXTRA_OBJS=contrib/prometheus-exporter/service-prometheus.o"
+  ] ++ lib.optional stdenv.isDarwin "CC=cc";
+
+  enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "Reliable, high performance TCP/HTTP load balancer";
     longDescription = ''
       HAProxy is a free, very fast and reliable solution offering high
@@ -51,9 +61,9 @@ stdenv.mkDerivation rec {
       tens of thousands of connections is clearly realistic with todays
       hardware.
     '';
-    homepage = http://haproxy.1wt.eu;
-    maintainers = with stdenv.lib.maintainers; [ fuzzy-id ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    license = stdenv.lib.licenses.gpl2;
+    homepage = "https://haproxy.org";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fuzzy-id ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index 049fb7a1a6e..9ed2f000f32 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages, httpie }:
+{ stdenv, fetchFromGitHub, python3Packages, httpie }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "http-prompt";
   version = "1.0.0";
 
@@ -11,11 +11,11 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0kngz2izcqjphbrdkg489p0xmf65xjc8ki1a2szcc8sgwc7z74xy";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     click
     httpie
     parsimonious
-    prompt_toolkit
+    (python.pkgs.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {})
     pygments
     six
   ];
@@ -30,6 +30,5 @@ pythonPackages.buildPythonApplication rec {
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.linux ++ platforms.darwin;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index 10e821fa152..971d8e69686 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -9,13 +9,13 @@ assert upnpSupport -> miniupnpc != null;
 
 stdenv.mkDerivation rec {
   pname = "i2pd";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "0pkqm5h3zvpbspj0xdc8j4yb1j2kc9gkw77mihc9g3rqifr7jvsv";
+    sha256 = "1issg3aidwikk4g12sa8q81zzp0hd0g8wdy2dx4899z8yrscl300";
   };
 
   buildInputs = with stdenv.lib; [ boost zlib openssl ]
diff --git a/pkgs/tools/networking/ifstat-legacy/default.nix b/pkgs/tools/networking/ifstat-legacy/default.nix
index 756e77f1157..72aaaa1e170 100644
--- a/pkgs/tools/networking/ifstat-legacy/default.nix
+++ b/pkgs/tools/networking/ifstat-legacy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, net_snmp }:
+{ stdenv, fetchurl, autoreconfHook, net-snmp }:
 
 stdenv.mkDerivation rec {
   pname = "ifstat-legacy";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "01zmv6vk5kh5xmd563xws8a1qnxjb6b6kv59yzz9r3rrghxhd6c5";
   };
 
-  buildInputs = [ net_snmp ];
+  buildInputs = [ net-snmp ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index 4e2c27e2d40..c59eb09f4c5 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://software.es.net/iperf/;
     description = "Tool to measure IP bandwidth using UDP or TCP";
     platforms = platforms.unix;
-    license = "as-is";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix
index 9ae981e0369..87748211425 100644
--- a/pkgs/tools/networking/keepalived/default.nix
+++ b/pkgs/tools/networking/keepalived/default.nix
@@ -1,24 +1,28 @@
-{ stdenv, fetchFromGitHub, libnfnetlink, libnl, net_snmp, openssl, pkgconfig }:
+{ stdenv, fetchFromGitHub, nixosTests
+, libnfnetlink, libnl, net-snmp, openssl
+, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "1.4.2";
+  version = "2.0.19";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "154yxs6kwpi9yc4pa45ba3z3bfwzgmmmja5nk3d9mxq6w6s1swcy";
+    sha256 = "05jgr0f04z69x3zf3b9z04wczl15fnh69bs6j0yw55fij1k9nj4d";
   };
 
   buildInputs = [
     libnfnetlink
     libnl
-    net_snmp
+    net-snmp
     openssl
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  passthru.tests.keepalived = nixosTests.keepalived;
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   configureFlags = [
     "--enable-sha1"
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 13bdbe17ff8..9a982e53825 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lftp";
-  version = "4.8.4";
+  version = "4.9.0";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz"
       "https://lftp.yar.ru/ftp/${pname}-${version}.tar.xz"
       ];
-    sha256 = "0qks22357xv9y6ripmf5j2n5svh8j5z0yniphfk89sjwkqg2gg2f";
+    sha256 = "0km267h57mlrd7gnn9gf40znvb3irwfc0qaql8kii8v936g6afqb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix
index dd0137a1463..e48f2d7aa5b 100644
--- a/pkgs/tools/networking/libreswan/default.nix
+++ b/pkgs/tools/networking/libreswan/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper,
   pkgconfig, systemd, gmp, unbound, bison, flex, pam, libevent, libcap_ng, curl, nspr,
   bash, iproute, iptables, procps, coreutils, gnused, gawk, nss, which, python,
-  docs ? false, xmlto
+  docs ? false, xmlto, libselinux, ldns
   }:
 
 let
   optional = stdenv.lib.optional;
-  version = "3.18";
+  version = "3.29";
   name = "libreswan-${version}";
   binPath = stdenv.lib.makeBinPath [
     bash iproute iptables procps coreutils gnused gawk nss.tools which python
@@ -14,6 +14,7 @@ let
 in
 
 assert docs -> xmlto != null;
+assert stdenv.isLinux -> libselinux != null;
 
 stdenv.mkDerivation {
   inherit name;
@@ -21,7 +22,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://download.libreswan.org/${name}.tar.gz";
-    sha256 = "0zginnakxw7m79zrdvfdvliaiyg78zgqfqkks9z5d1rjj5w13xig";
+    sha256 = "0gmbb1m5in5dvnbk1n31r8myrdankzvi6yk9gcqbcwijyih423nn";
   };
 
   # These flags were added to compile v3.18. Try to lift them when updating.
@@ -35,15 +36,21 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
-                  libcap_ng curl nspr nss python ]
-                ++ optional docs xmlto;
+                  libcap_ng curl nspr nss python ldns ]
+                ++ optional docs xmlto
+                ++ optional stdenv.isLinux libselinux;
 
   prePatch = ''
     # Correct bash path
     sed -i -e 's|/bin/bash|/usr/bin/env bash|' mk/config.mk
 
-    # Fix systemd unit directory, and prevent the makefile from trying to reload the systemd daemon
-    sed -i -e 's|UNITDIR=.*$|UNITDIR=$\{out}/etc/systemd/system/|' -e 's|systemctl --system daemon-reload|true|' initsystems/systemd/Makefile
+    # Fix systemd unit directory, and prevent the makefile from trying to reload the
+    # systemd daemon or create tmpfiles
+    sed -i -e 's|UNITDIR=.*$|UNITDIR=$\{out}/etc/systemd/system/|g' \
+      -e 's|TMPFILESDIR=.*$|TMPFILESDIR=$\{out}/tmpfiles.d/|g' \
+      -e 's|systemctl|true|g' \
+      -e 's|systemd-tmpfiles|true|g' \
+      initsystems/systemd/Makefile
 
     # Fix the ipsec program from crushing the PATH
     sed -i -e 's|\(PATH=".*"\):.*$|\1:$PATH|' programs/ipsec/ipsec.in
@@ -52,8 +59,6 @@ stdenv.mkDerivation {
     sed -i -e 's|#!/usr/bin/python|#!/usr/bin/env python|' -e 's/^\(\W*\)installstartcheck()/\1sscmd = "ss"\n\0/' programs/verify/verify.in
   '';
 
-  patches = [ ./libreswan-3.18-glibc-2.26.patch ];
-
   # Set appropriate paths for build
   preBuild = "export INC_USRLOCAL=\${out}";
 
diff --git a/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch b/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
deleted file mode 100644
index 33c44f617a0..00000000000
--- a/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/lib/libswan/id.c b/lib/libswan/id.c
-index 8f06275..efb0394 100644
---- a/lib/libswan/id.c
-+++ b/lib/libswan/id.c
-@@ -22,6 +22,7 @@
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
-+#include <limits.h>
- #include <unistd.h>
- #ifndef HOST_NAME_MAX	/* POSIX 1003.1-2001 says <unistd.h> defines this */
- #define HOST_NAME_MAX 255	/* upper bound, according to SUSv2 */
-diff --git a/linux/include/libreswan.h b/linux/include/libreswan.h
-index c5efc6a..b0af4d7 100644
---- a/linux/include/libreswan.h
-+++ b/linux/include/libreswan.h
-@@ -211,6 +211,7 @@ static inline deltatime_t monotimediff(monotime_t a, monotime_t b) {
- #include <assert.h>
- #define user_assert(foo) assert(foo)
- #include <stdio.h>
-+#include <stdint.h>
- 
- #  define uint8_t u_int8_t
- #  define uint16_t u_int16_t
-diff --git a/programs/pluto/rcv_whack.c b/programs/pluto/rcv_whack.c
-index 588c66c..4fc6289 100644
---- a/programs/pluto/rcv_whack.c
-+++ b/programs/pluto/rcv_whack.c
-@@ -24,6 +24,7 @@
- #include <stddef.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <limits.h>
- #include <unistd.h>
- #ifndef HOST_NAME_MAX           /* POSIX 1003.1-2001 says <unistd.h> defines this */
- # define HOST_NAME_MAX  255     /* upper bound, according to SUSv2 */
diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix
index b8ba1357f5f..23dbb60767e 100644
--- a/pkgs/tools/networking/lldpd/default.nix
+++ b/pkgs/tools/networking/lldpd/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig, removeReferencesTo
-, libevent, readline, net_snmp, openssl
+, libevent, readline, net-snmp, openssl
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig removeReferencesTo ];
-  buildInputs = [ libevent readline net_snmp openssl ];
+  buildInputs = [ libevent readline net-snmp openssl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 40eeed7f050..dcf377ca0c0 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkgconfig
 , gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
-, python, gss, libmysqlclient, system-sendmail }:
+, python3, gss, libmysqlclient, system-sendmail }:
 
 stdenv.mkDerivation rec {
   name = "${project}-${version}";
   project = "mailutils";
-  version = "3.2";
+  version = "3.8";
 
   src = fetchurl {
     url = "mirror://gnu/${project}/${name}.tar.xz";
-    sha256 = "0zh7xn8yvnw9zkc7gi5290i34viwxp1rn0g1q9nyvmckkvk59lwn";
+    sha256 = "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7";
   };
 
   postPatch = ''
@@ -29,17 +29,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools
-    gss libmysqlclient python
+    gss libmysqlclient python3
   ];
 
   patches = [
-    (fetchpatch {
-      url = "https://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=afbb33cf9ff";
-      excludes = [ "NEWS" ];
-      sha256 = "0yzkfx3j1zkkb43fhchjqphw4xznbclj39bjzjggv32gppy6d1db";
-    })
     ./fix-build-mb-len-max.patch
-    ./fix-test-ali-awk.patch
     ./path-to-cat.patch
   ];
 
diff --git a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch b/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch
deleted file mode 100644
index 3d301d530de..00000000000
--- a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/mh/tests/ali.at b/mh/tests/ali.at
-index 28c0e5451..c76cf9363 100644
---- a/mh/tests/ali.at
-+++ b/mh/tests/ali.at
-@@ -85,9 +85,9 @@ ali -a ./mh_aliases korzen | tr -d ' '
- [expout])
- 
- MH_CHECK([ali: group id],[ali05 ali-group-id ali-gid],[
--cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1 }' > expout
-+cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1; exit }' > expout
- test -s expout || AT_SKIP_TEST
--name=`awk -F : '/^#/ { next } $3==0 { print $1 }' /etc/group < /dev/null`
-+name=`awk -F : '/^#/ { next } $3==0 { print $1; exit }' /etc/group < /dev/null`
- test -z "$name" && AT_SKIP_TEST
- 
- echo "korzen: +$name" > mh_aliases
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index a9758e5fd47..53369baa01c 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -52,10 +52,12 @@ buildPythonPackage rec {
 
   doCheck = (!stdenv.isDarwin);
 
+  # examples.complex.xss_scanner doesn't import correctly with pytest5
   checkPhase = ''
     export HOME=$(mktemp -d)
     export LC_CTYPE=en_US.UTF-8
-    pytest -k 'not test_find_unclaimed_URLs and not test_tcp'
+    pytest --ignore test/examples \
+      -k 'not test_find_unclaimed_URLs and not test_tcp'
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/networking/mmsd/default.nix b/pkgs/tools/networking/mmsd/default.nix
new file mode 100644
index 00000000000..fee347dd201
--- /dev/null
+++ b/pkgs/tools/networking/mmsd/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchgit
+, autoreconfHook
+, pkgconfig
+, glib
+, dbus
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mmsd";
+  version = "unstable-2019-07-15";
+
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/ofono/mmsd.git";
+    rev = "f4b8b32477a411180be1823fdc460b4f7e1e3c9c";
+    sha256 = "0hcnpyhsi7b5m825dhnwbp65yi0961wi8mipzdvaw5nc693xv15b";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    glib
+    dbus
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Multimedia Messaging Service Daemon";
+    homepage = "https://01.org/ofono";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
index d921e841c5b..221e873387f 100644
--- a/pkgs/tools/networking/modem-manager/default.nix
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.10.4";
+  version = "1.10.6";
 
   package = "ModemManager";
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
-    sha256 = "0w6wdj9dh7zwhzl68775h1ni6zcgvss524dp17kph50zpas6nmgs";
+    sha256 = "15n9sd6ymxvw7hidc9pw81j89acwi5cjfhj220a68mi1h8vsfb1w";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 217f3b7d7cc..18850fab330 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig
 , libcap, ncurses
 , withGtk ? false, gtk2 ? null }:
 
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
     rev    = "v${version}";
     sha256 = "0n0zr9k61w7a9psnzgp7xnc7ll1ic2xzcvqsbbbyndg3v9rff6bw";
   };
+  
+  patches = [
+    # https://github.com/traviscross/mtr/pull/315
+    (fetchpatch {
+      url = https://github.com/traviscross/mtr/pull/315.patch?full_index=1;
+      sha256 = "18qcsj9058snc2qhq6v6gdbqhz021gi5fgw9h7vfczv45gf0qasa";
+    })
+  ];
 
   # we need this before autoreconfHook does its thing
   postPatch = ''
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index ad49c5e6c32..6c2a42e3a24 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub, sqlite, pkgconfig, autoreconfHook, pmccabe
 , xapian, glib, gmime3, texinfo , emacs, guile
-, gtk3, webkitgtk24x-gtk3, libsoup, icu
+, gtk3, webkitgtk, libsoup, icu
 , withMug ? false }:
 
 stdenv.mkDerivation rec {
   pname = "mu";
-  version = "1.3.5";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner  = "djcb";
     repo   = "mu";
     rev    = version;
-    sha256 = "1g7rhgp405v7q9xx44k6jn3py4v73a9qjwhai6l459wdywdz1n3n";
+    sha256 = "0yhjlj0z23jw3cf2wfnl98y8q6gikvmhkb8vdm87bd7jw0bdnrfz";
   };
 
   # test-utils coredumps so don't run those
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     sqlite xapian glib gmime3 texinfo emacs guile libsoup icu
-  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk24x-gtk3 ];
+  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook pmccabe ];
 
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
new file mode 100644
index 00000000000..7f9d194e44a
--- /dev/null
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "nebula";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "slackhq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j7fna352z8kzx6n0hck7rp122c0v44j9syz0v30vq47xq2pwj5c";
+  };
+
+  modSha256 = "130h0gc5z0w5inpc99y6mismwg3nyzk3bqdq5v9yclkxlhkbcp6d";
+
+  subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
+
+  buildFlagsArray = [ "-ldflags='-X main.Build=${version}'" ];
+
+  meta = with lib; {
+    description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
+    longDescription = ''
+      Nebula is a scalable overlay networking tool with a focus on performance,
+      simplicity and security. It lets you seamlessly connect computers
+      anywhere in the world. Nebula is portable, and runs on Linux, OSX, and
+      Windows. (Also: keep this quiet, but we have an early prototype running
+      on iOS). It can be used to connect a small number of computers, but is
+      also able to connect tens of thousands of computers.
+
+      Nebula incorporates a number of existing concepts like encryption,
+      security groups, certificates, and tunneling, and each of those
+      individual pieces existed before Nebula in various forms. What makes
+      Nebula different to existing offerings is that it brings all of these
+      ideas together, resulting in a sum that is greater than its individual
+      parts.
+    '';
+    homepage = "https://github.com/slackhq/nebula";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 947ede5372a..69b454ea72e 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -2,7 +2,7 @@
 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl, docbook_xml_dtd_43
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
 , libgudev, jansson, wrapGAppsHook, gobject-introspection, python3, gtk3
-, libappindicator-gtk3, withGnome ? false, gcr, glib }:
+, libappindicator-gtk3, withGnome ? true, gcr, glib }:
 
 let
   pname = "network-manager-applet";
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index e18b5970370..e762ac73844 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -10,11 +10,11 @@ let
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
 in stdenv.mkDerivation rec {
   pname = "network-manager";
-  version = "1.20.4";
+  version = "1.20.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "0k4i6m8acp48vl6l13267wv6kfkmzfjq2mraaa5m9n82wyvkimx3";
+    sha256 = "1ijpnx25wy5bcvp4mc49va942q56d0pncpj4jpknpdzwilmf455d";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -104,7 +104,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom domenkozar obadz ];
+    maintainers = with maintainers; [ phreedom domenkozar obadz worldofpeace ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
index 53d6ab2fbcf..94a4c4b362a 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig, file, gtk3,
-networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch }:
+networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-fortisslvpn";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ openfortivpn networkmanager ppp ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix
index 966827a07da..1b41a176723 100644
--- a/pkgs/tools/networking/network-manager/iodine/default.nix
+++ b/pkgs/tools/networking/network-manager/iodine/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, iodine, intltool, pkgconfig, networkmanager, libsecret, gtk3
-, withGnome ? true, gnome3, fetchpatch }:
+, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-iodine";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ iodine networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
diff --git a/pkgs/tools/networking/network-manager/openconnect/default.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix
index 7db0e59beab..3c1a8d11042 100644
--- a/pkgs/tools/networking/network-manager/openconnect/default.nix
+++ b/pkgs/tools/networking/network-manager/openconnect/default.nix
@@ -1,14 +1,31 @@
-{ stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, autoreconfHook, networkmanager, gcr, libsecret, file
-, gtk3, withGnome ? true, gnome3, kmod, fetchpatch }:
+{ stdenv
+, fetchurl
+, substituteAll
+, glib
+, libxml2
+, openconnect
+, intltool
+, pkgconfig
+, autoreconfHook
+, networkmanager
+, gcr
+, libsecret
+, file
+, gtk3
+, withGnome ? true
+, gnome3
+, kmod
+, fetchpatch
+}:
 
 let
-  pname   = "NetworkManager-openconnect";
+  pname = "NetworkManager-openconnect";
   version = "1.2.6";
 in stdenv.mkDerivation {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m";
   };
 
@@ -17,6 +34,7 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit kmod openconnect;
     })
+
     # Don't use etc/dbus-1/system.d
     (fetchpatch {
       url = "https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/merge_requests/9.patch";
@@ -24,10 +42,22 @@ in stdenv.mkDerivation {
     })
   ];
 
-  buildInputs = [ openconnect networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 gcr libsecret ];
+  buildInputs = [
+    glib
+    libxml2
+    openconnect
+    networkmanager
+  ] ++ stdenv.lib.optionals withGnome [
+    gtk3
+    gcr
+    libsecret
+  ];
 
-  nativeBuildInputs = [ intltool pkgconfig file ];
+  nativeBuildInputs = [
+    intltool
+    pkgconfig
+    file
+  ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
@@ -43,7 +73,7 @@ in stdenv.mkDerivation {
   };
 
   meta = with stdenv.lib; {
-    description = "NetworkManager's OpenConnect plugin";
+    description = "NetworkManager’s OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
     license = licenses.gpl2Plus;
   };
diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index bedc7875fb7..2762b12a364 100644
--- a/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, file, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod, fetchpatch }:
+, gtk3, withGnome ? true, gnome3, kmod, fetchpatch, networkmanagerapplet }:
 
 let
   pname = "NetworkManager-openvpn";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ openvpn networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file libxml2 ];
 
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index 448fef4226a..8d16f71c4af 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM
-, gtk3, gnome3, libsecret }:
+, gtk3, gnome3, libsecret, networkmanagerapplet }:
 
 stdenv.mkDerivation rec {
   pname = "NetworkManager-strongswan";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "015xcj42pd84apa0j0n9r3fhldp42mj72dqvl2xf4r9gwg5nhfrl";
   };
 
-  buildInputs = [ networkmanager strongswanNM libsecret gtk3 gnome3.networkmanagerapplet ];
+  buildInputs = [ networkmanager strongswanNM libsecret gtk3 networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix
index af5b19eb5db..66392325574 100644
--- a/pkgs/tools/networking/network-manager/vpnc/default.nix
+++ b/pkgs/tools/networking/network-manager/vpnc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch }:
+, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch, networkmanagerapplet }:
 let
   pname = "NetworkManager-vpnc";
   version = "1.2.6";
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ vpnc networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret gnome3.networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
diff --git a/pkgs/tools/networking/nfstrace/default.nix b/pkgs/tools/networking/nfstrace/default.nix
new file mode 100644
index 00000000000..50654da54e4
--- /dev/null
+++ b/pkgs/tools/networking/nfstrace/default.nix
@@ -0,0 +1,37 @@
+{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "nfstrace";
+  version = "0.4.3.2";
+
+  src = fetchFromGitHub {
+    owner = "epam";
+    repo = "nfstrace";
+    rev = "${version}";
+    sha256 = "1djsyn7i3xp969rnmsdaf5vwjiik9wylxxrc5nm7by00i76c1vsg";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/nfstrace/raw/debian/0.4.3.1-3/debian/patches/reproducible_build.patch";
+      sha256 = "0fd96r8xi142kjwibqkd46s6jwsg5kfc5v28bqsj9rdlc2aqmay5";
+    })
+  ];
+
+  buildInputs = [ json_c libpcap ncurses ];
+  nativeBuildInputs = [ cmake ];
+
+  # To build with GCC 8+ it needs:
+  CXXFLAGS = [ "-Wno-class-memaccess" "-Wno-ignored-qualifiers" ];
+  # CMake can't find json_c without:
+  NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" ];
+
+  doCheck = false; # requires network access
+
+  meta = with stdenv.lib; {
+    homepage = "http://epam.github.io/nfstrace/";
+    description = "NFS and CIFS tracing/monitoring/capturing/analyzing tool";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/ocserv/default.nix b/pkgs/tools/networking/ocserv/default.nix
index e695c460422..55d3b6ff81c 100644
--- a/pkgs/tools/networking/ocserv/default.nix
+++ b/pkgs/tools/networking/ocserv/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ocserv";
-  version = "0.12.4";
+  version = "0.12.5";
 
   src = fetchFromGitLab {
     owner = "openconnect";
     repo = "ocserv";
     rev = "ocserv_${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "0lybz93ah6n5b82ywshhmsmf65im8rk6gkxnzxfbxpqxra79j517";
+    sha256 = "01md7r7myaxp614bm2bmbpraxjjjhs0zr5h6k3az3y3ix0r7zi69";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index a14f8187b7d..f0e0bb805de 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -23,7 +23,7 @@ python2Packages.buildPythonApplication rec {
   doCheck = false;
 
   nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
-  propagatedBuildInputs = with python2Packages; [ six kerberos rfc6555 ];
+  propagatedBuildInputs = with python2Packages; [ six kerberos rfc6555 pysocks ];
 
   postInstall = ''
     make -C docs man
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index 27f4b9562b3..5cae8a61203 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "1.30";
+  version = "1.31";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "1qzysmzpgbh6zc3x9xh931wxcazka9wwx727c2k66z9gal2n6n66";
+    sha256 = "033y3vggjxn1c7mw75j452idp7arrdv51axs727f7l3c5lnxqdjy";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index df4ac83191d..1cb8e02130f 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.3";
+  version = "4.2.2";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://central.maven.org/maven2/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "0bqdjparv12wscq4qhm9xnryyfmdnn3w77hrhnsy8mlvxk2vnk13";
+    sha256 = "1pafv432ll3pp52580pbnk0gnrm6byl5fkrf1rarhxfkpkr82yif";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix
index 7244653e493..a926ef1e1dd 100644
--- a/pkgs/tools/networking/openconnect/default.nix
+++ b/pkgs/tools/networking/openconnect/default.nix
@@ -1,8 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, vpnc, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib } :
+{ stdenv, fetchurl, pkgconfig, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib, fetchgit, darwin } :
 
 assert (openssl != null) == (gnutls == null);
 
-stdenv.mkDerivation rec {
+let vpnc = fetchgit {
+  url = "git://git.infradead.org/users/dwmw2/vpnc-scripts.git";
+  rev = "c84fb8e5a523a647a01a1229a9104db934e19f00";
+  sha256 = "01xdclx0y3x66mpbdr77n4ilapwzjz475h32q88ml9gnq6phjxrs";
+};
+
+in stdenv.mkDerivation rec {
   pname = "openconnect";
   version = "8.05";
 
@@ -14,21 +20,22 @@ stdenv.mkDerivation rec {
   };
 
   outputs = [ "out" "dev" ];
-
+  
   configureFlags = [
-    "--with-vpnc-script=${vpnc}/etc/vpnc/vpnc-script"
+    "--with-vpnc-script=${vpnc}/vpnc-script"
     "--disable-nls"
     "--without-openssl-version-check"
   ];
 
+  buildInputs = [ openssl gnutls gmp libxml2 stoken zlib ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.PCSC;
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ vpnc openssl gnutls gmp libxml2 stoken zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "VPN Client for Cisco's AnyConnect SSL VPN";
     homepage = http://www.infradead.org/openconnect/;
-    license = stdenv.lib.licenses.lgpl21;
-    maintainers = with stdenv.lib.maintainers; [ pradeepchhetri ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ pradeepchhetri tricktron ];
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index 2672996a095..d1a73f1c148 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.10.0";
+    version = "1.11.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "1d9mp03dxz9j6pwd3d5z2pa7i1sqx5psshli1inqs0cq8zjmbzrw";
+    sha256 = "03ljyam0027w412vmi4gc0bp9c2xfmcspi676qck8cvvzg4gf736";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/openvpn/update-systemd-resolved.nix b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
new file mode 100644
index 00000000000..ddb3cc8e377
--- /dev/null
+++ b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub
+, makeWrapper
+, iproute, systemd, coreutils, utillinux }:
+
+stdenv.mkDerivation rec {
+  pname = "update-systemd-resolved";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jonathanio";
+    repo = "update-systemd-resolved";
+    rev = "v${version}";
+    sha256 = "19zhbpyms57yb70hi0ws5sbkpk2yqp9nnix3f86r36h1g93m70lm";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildFlags = [
+    "PREFIX=${placeholder "out"}/libexec/openvpn"
+  ];
+
+  installPhase = ''
+    wrapProgram $out/libexec/openvpn/update-systemd-resolved \
+      --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils utillinux ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Helper script for OpenVPN to directly update the DNS settings of a link through systemd-resolved via DBus";
+    homepage = https://github.com/jonathanio/update-systemd-resolved;
+    maintainers = with maintainers; [ eadwu ];
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index 2330a97d77d..264c6fd4e16 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
       applications.
     '';
 
-    homepage = "https://amule.org/";
+    homepage = "https://github.com/amule-project/amule";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/pirate-get/default.nix b/pkgs/tools/networking/pirate-get/default.nix
index 5d410685c0d..b92d255b719 100644
--- a/pkgs/tools/networking/pirate-get/default.nix
+++ b/pkgs/tools/networking/pirate-get/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "pirate-get";
-  version = "0.3.3";
+  version = "0.3.4";
 
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zwfgfiszkca44wlx5p2243hmf8594n7bnfva5if1f69dic6w7mi";
+    sha256 = "0f82yf3bl9jaywagv4vvwypm57z1x8a8qqn0xhz9np3949df4ysm";
   };
 
   propagatedBuildInputs = [ colorama veryprettytable beautifulsoup4 pyperclip ];
diff --git a/pkgs/tools/networking/pmacct/default.nix b/pkgs/tools/networking/pmacct/default.nix
new file mode 100644
index 00000000000..5d0c5cccded
--- /dev/null
+++ b/pkgs/tools/networking/pmacct/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, autoreconfHook
+, libtool
+, libpcap
+
+# Optional Dependencies
+, zlib ? null
+, withJansson ? true, jansson ? null
+, withNflog ? true, libnetfilter_log ? null
+, withSQLite ? true, sqlite ? null
+, withPgSQL ? true, postgresql ? null
+, withMysql ? true, libmysqlclient ? null }:
+
+assert withJansson -> jansson != null;
+assert withNflog -> libnetfilter_log != null;
+assert withSQLite -> sqlite != null;
+assert withPgSQL -> postgresql != null;
+assert withMysql -> libmysqlclient != null;
+
+let inherit (stdenv.lib) optional; in
+
+stdenv.mkDerivation rec {
+  version = "1.7.3";
+  pname = "pmacct";
+
+  src = fetchFromGitHub {
+    owner = "pmacct";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j5qmkya67q7jvaddcj00blmaac37bkir1zb3m1xmm95gm5lf2p5";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
+  buildInputs = [ libpcap ]
+    ++ optional withJansson jansson
+    ++ optional withNflog libnetfilter_log
+    ++ optional withSQLite sqlite
+    ++ optional withPgSQL postgresql
+    ++ optional withMysql [ libmysqlclient zlib ];
+
+  configureFlags = [
+    "--with-pcap-includes=${libpcap}/include"
+  ] ++ optional withJansson "--enable-jansson"
+    ++ optional withNflog "--enable-nflog"
+    ++ optional withSQLite "--enable-sqlite3"
+    ++ optional withPgSQL "--enable-pgsql"
+    ++ optional withMysql "--enable-mysql";
+
+  meta = with stdenv.lib; {
+    description = "pmacct is a small set of multi-purpose passive network monitoring tools";
+    longDescription = ''
+      pmacct is a small set of multi-purpose passive network monitoring tools
+      [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry]
+    '';
+    homepage = "http://www.pmacct.net/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ "0x4A6F" ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix
index 254e5d3e5d3..b6051ef26b0 100644
--- a/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "shadowsocks-libev";
-  version = "3.3.1";
+  version = "3.3.3";
 
   # Git tag includes CMake build files which are much more convenient.
   src = fetchFromGitHub {
     owner = "shadowsocks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "0l15mbwlzx446rn5cix9f1726by62807bhnxkzknd41j7r937vyv";
+    sha256 = "1i2431imbn4bhwmwyz63g5mh1g5ikhsiwv6mzcdc2kx34zjpibrj";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index b64cf5cdd9b..f9add47dd3f 100644
--- a/pkgs/tools/networking/slirp4netns/default.nix
+++ b/pkgs/tools/networking/slirp4netns/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, libcap, libseccomp }:
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "0.3.0";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "079m44l4l0p1c2sbkpzsy6zpv94glwmrc72ip2djcscnaq4b1763";
+    sha256 = "0g7apfw33wkxxj7qwvlnnhv7qy13s1gkbmvns8612c0yfv9jrsvq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  buildInputs = [ glib ];
+  buildInputs = [ libcap libseccomp glib ];
 
   enableParallelBuilding = true;
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/rootless-containers/slirp4netns;
     description = "User-mode networking for unprivileged network namespaces";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ orivej ];
+    maintainers = with maintainers; [ orivej saschagrunert ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/sshoogr/default.nix b/pkgs/tools/networking/sshoogr/default.nix
new file mode 100644
index 00000000000..764b34fc5a5
--- /dev/null
+++ b/pkgs/tools/networking/sshoogr/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, jdk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "sshoogr";
+  version = "0.9.26";
+
+  src = fetchzip {
+    url = "https://repo1.maven.org/maven2/com/aestasit/infrastructure/${pname}/${pname}/${version}/${pname}-${version}.zip";
+    sha256 = "134qlx90y82g1rfxhyn12z9r2imm1l3fz09hrrn3pgcdcq5jz2s1";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    rm bin/sshoogr.bat
+    cp -r . $out
+    wrapProgram $out/bin/sshoogr \
+      --prefix JAVA_HOME : ${jdk}
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      A Groovy-based DSL for working with remote SSH servers
+    '';
+    longDescription = ''
+      The sshoogr (pronounced [ʃʊgə]) is a Groovy-based DSL library for working
+      with remote servers through SSH. The DSL allows: connecting, executing 
+      remote commands, copying files and directories, creating tunnels in a 
+      simple and concise way.
+    '';
+    homepage = "https://github.com/aestasit/sshoogr";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+} 
diff --git a/pkgs/tools/networking/sshping/default.nix b/pkgs/tools/networking/sshping/default.nix
new file mode 100644
index 00000000000..20f0eaa7e47
--- /dev/null
+++ b/pkgs/tools/networking/sshping/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchFromGitHub, libssh}:
+
+stdenv.mkDerivation rec {
+  pname = "sshping";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "spook";
+    repo = "sshping";
+    rev = "v${version}";
+    sha256 = "0p1fvpgrsy44yvj44xp9k9nf6z1fh0sqcjvy75pcb9f5icgms815";
+  };
+
+  buildInputs = [ libssh ];
+
+  buildPhase = ''
+      g++ -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh
+    '';
+
+  installPhase = ''
+      install -Dm755 bin/sshping $out/bin/sshping
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/spook/sshping";
+    description = "Measure character-echo latency and bandwidth for an interactive ssh session";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jqueiroz ];
+  };
+}
diff --git a/pkgs/tools/networking/sslsplit/default.nix b/pkgs/tools/networking/sslsplit/default.nix
new file mode 100644
index 00000000000..bf23d06551d
--- /dev/null
+++ b/pkgs/tools/networking/sslsplit/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, openssl, libevent, libpcap, libnet, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sslsplit";
+  version = "0.5.5";
+
+  src = fetchFromGitHub {
+    owner = "droe";
+    repo = pname;
+    rev = version;
+    sha256 = "1p43z9ln5rbc76v0j1k3r4nhvfw71hq8jzsallb54z9hvwfvqp3l";
+  };
+
+  buildInputs = [ openssl libevent libpcap libnet zlib ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "OPENSSL_BASE=${openssl.dev}"
+    "LIBEVENT_BASE=${libevent.dev}"
+    "LIBPCAP_BASE=${libpcap}"
+    "LIBNET_BASE=${libnet}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Transparent SSL/TLS interception";
+    homepage = "https://www.roe.ch/SSLsplit";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ contrun ];
+    license = with licenses; [ bsd2 mit unlicense free ];
+  };
+}
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index 792e6f68294..b9278dd7c0d 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.55";
+  version = "5.56";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0qjc0wkjf6bqz29fvwwsn9hnjhm6alsm10jcwx4jad2q3ks6kplh";
+    sha256 = "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 65b88a34fb0..cd5f2bf18cb 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage {
-  pname = "subfinder-git";
-  version = "2018-07-15";
+buildGoPackage rec {
+  pname = "subfinder";
+  version = "2.2.4";
 
-  goPackagePath = "github.com/subfinder/subfinder";
+  goPackagePath = "github.com/projectdiscovery/subfinder";
 
   src = fetchFromGitHub {
-    owner = "subfinder";
-    repo = "subfinder";
-    rev = "26596affed961c535676395f443acc5af95ac9e6";
-    sha256 = "0m842jyrwlg4kaja1m3kca07jf20fxva0frg66b13zpsm8hdp10q";
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "00ni835zvgrj8gmmmpjdszrcijyd6apig8rpb4g2z3g016b6gwar";
   };
 
   goDeps = ./deps.nix;
@@ -22,8 +22,8 @@ buildGoPackage {
       subdomains for websites. Designed as a passive framework to be
       useful for bug bounties and safe for penetration testing.
     '';
-    homepage = https://github.com/subfinder/subfinder;
+    homepage = "https://github.com/projectdiscovery/subfinder";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz filalex77 ];
   };
 }
diff --git a/pkgs/tools/networking/subfinder/deps.nix b/pkgs/tools/networking/subfinder/deps.nix
index 34095c81428..16427eddcf6 100644
--- a/pkgs/tools/networking/subfinder/deps.nix
+++ b/pkgs/tools/networking/subfinder/deps.nix
@@ -1,12 +1,48 @@
 # file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
 [
   {
-    goPackagePath  = "github.com/bogdanovich/dns_resolver";
+    goPackagePath  = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
-      url = "https://github.com/bogdanovich/dns_resolver";
-      rev =  "a8e42bc6a5b6c9a93be01ca204be7e17f7ba4cd2";
-      sha256 = "0l1hgxxqafappw0y18sbkkk2vijclvf1b8x73b0nhi4r74wyib49";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev =  "03217c3e97663914aec3faafde50d081f197a0a2";
+      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/logrusorgru/aurora";
+    fetch = {
+      type = "git";
+      url = "https://github.com/logrusorgru/aurora";
+      rev =  "21d75270181e0436fee7bd58b991c212cf309068";
+      sha256 = "0vc9qdl6jzq7vazfqgz628gcgsvir56bdi2bkhl54pi92cz9cw0p";
+    };
+  }
+  {
+    goPackagePath  = "github.com/m-mizutani/urlscan-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/m-mizutani/urlscan-go";
+      rev =  "21d37c8d3d34d514f2ef49db9b59cc94f335e9c3";
+      sha256 = "1hpymd4ncp78hgpksnw8k27rp0lh832x1pyk3bhj5dm6xmh79g4c";
     };
   }
   {
@@ -14,17 +50,71 @@
     fetch = {
       type = "git";
       url = "https://github.com/miekg/dns";
-      rev =  "3e6e47bc11bc7f93f9e2f1c7bd6481ba4802808b";
-      sha256 = "1vmsnv6r799z5lz5g9l2dh065m9003yfjb18w8n6c053hp8jvrfm";
+      rev =  "1e224ff5dead8366ed6fcdcb832794be42e73f0e";
+      sha256 = "1iv9jznakz8f5swiir0z4zilr9ypavnsc0g4zi1r0vad6npy7zfl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev =  "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
     };
   }
   {
-    goPackagePath  = "github.com/subfinder/urlx";
+    goPackagePath  = "github.com/modern-go/reflect2";
     fetch = {
       type = "git";
-      url = "https://github.com/subfinder/urlx";
-      rev =  "8e731c8be06edbae81cab15937cd3c291c2a7680";
-      sha256 = "11vrx1c0mq1h6lwpsvibd3386wy4kirzmmm8ibrlx2gj0h6pkkcb";
+      url = "https://github.com/modern-go/reflect2";
+      rev =  "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd";
+      sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/rs/xid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/xid";
+      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
+      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "839c75faf7f98a33d445d181f3018b5c3409a45e";
+      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "221dbe5ed46703ee255b1da0dec05086f5035f62";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -32,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "a49355c7e3f8fe157a85be2f77e6e269a0f89602";
-      sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44";
+      rev =  "86a70503ff7e82ffc18c7b0de83db35da4791e6a";
+      sha256 = "0w7ih86lmll9gs2j0z3nmmy148i2yism9z53yp58zwa6d5pjahfn";
     };
   }
   {
@@ -41,8 +131,35 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "d0887baf81f4598189d4e12a37c6da86f0bba4d0";
-      sha256 = "00dmz9a5d3myyb0256b33vf1bk8wv1khhh88kcvbmqsfd6x1n6p5";
+      rev =  "5ee1b9f4859acd2e99987ef94ec7a58427c53bef";
+      sha256 = "0jvzqv6phv64rw4pj86x3j9kp5yx9p34fd38r46rb9464h69ba29";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "ce4227a45e2eb77e5c847278dcc6a626742e2945";
+      sha256 = "1s43wvqfml6ml5ks7iv2bis9d664g77mq86v7mfmjhn56x856g35";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "1f64d6156d11335c3f22d9330b0ad14fc1e789ce";
+      sha256 = "0k5xcwkd3wmcx54isk7ck9cwp8fapfhyqdz3f13kxp77cxqizazj";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "4206685974f28e3178b35fa198a59899aa4dee3a";
+      sha256 = "1ff5fd8x45cay9100ds63hxd32s7czsrric0ql6a1jrxczsgqk1g";
     };
   }
 ]
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
index d69221d9d50..eac73765300 100644
--- a/pkgs/tools/networking/surfraw/default.nix
+++ b/pkgs/tools/networking/surfraw/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "surfraw-2.3.0";
 
   src = fetchurl {
-    url = "http://surfraw.alioth.debian.org/dist/surfraw-2.3.0.tar.gz";
+    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-2.3.0.tar.gz";
     sha256 = "099nbif0x5cbcf18snc58nx1a3q7z0v9br9p2jiq9pcc7ic2015d";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power";
-    homepage = http://surfraw.alioth.debian.org;
+    homepage = https://gitlab.com/surfraw/Surfraw;
     maintainers = [];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.publicDomain;
diff --git a/pkgs/tools/networking/tdns-cli/default.nix b/pkgs/tools/networking/tdns-cli/default.nix
new file mode 100644
index 00000000000..473ee8ace34
--- /dev/null
+++ b/pkgs/tools/networking/tdns-cli/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name = "tdns-cli";
+  version = "0.0.5";
+  
+  src = fetchFromGitHub {
+    owner = "rotty";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0nn036in5j1h0vxkwif0lf7fn900zy4f4kxlzy6qdx3jakgmxvwh";
+  };
+
+  cargoSha256 = "0h41ws3jcxb90mhnznckfkfv0mpx6ykga7087bipbaw2fqhr7izd";
+
+  meta = with stdenv.lib; {
+    description = "DNS tool that aims to replace dig and nsupdate";
+    homepage = "https://github.com/rotty/tdns-cli";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ astro ];
+  };
+}
diff --git a/pkgs/tools/networking/tinyfecvpn/default.nix b/pkgs/tools/networking/tinyfecvpn/default.nix
new file mode 100644
index 00000000000..aab937c994e
--- /dev/null
+++ b/pkgs/tools/networking/tinyfecvpn/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "tinyfecvpn";
+  version = "20180820.0";
+
+  src = fetchFromGitHub {
+    owner = "wangyu-";
+    repo = pname;
+    rev = version;
+    sha256 = "1mbb9kzvy24na375dz0rlf5k93gan1vahamc9wzkn34mcx8i97cs";
+    fetchSubmodules = true;
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ pkgconfig ];
+
+  patchPhase = ''
+    runHook prePatch
+    find . -type f -name "makefile" -exec sed "s/ -static/ -g/g" -i \{\} \;
+    runHook postPatch
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 tinyvpn $out/bin/tinyvpn
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/wangyu-/tinyfecVPN";
+    description = "A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 665d988f48e..44daa23cd92 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.17.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "0dpd4jdym644rqm9h83lb8cwfccnwrnqm1g91nl913pj4k5x4hqr";
+    sha256 = "197vh3k9nh58djl6ph0lznkdb2schqlksxxr93xjkk4xsc7k6j1g";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/twa/default.nix b/pkgs/tools/networking/twa/default.nix
index fe75b35eea2..b15b6dcba31 100644
--- a/pkgs/tools/networking/twa/default.nix
+++ b/pkgs/tools/networking/twa/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , gawk
 , host
+, jq
 , lib
 , makeWrapper
 , ncurses
@@ -12,18 +13,25 @@
 
 stdenv.mkDerivation rec {
   pname = "twa";
-  version = "1.8.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "twa";
     rev = version;
-    sha256 = "1xq35xyz5536nwrwmlp1wqa7q9jgh90ly7vdy3a5rvxnksx0b2l5";
+    sha256 = "1ab3bcyhfach9y15w8ffvqqan2qk8h62n6z8nqbgygi7n1mf6jzx";
   };
 
   dontBuild = true;
 
-  buildInputs = [ makeWrapper bash gawk curl netcat host.dnsutils ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ bash
+                  curl
+                  gawk
+                  host.dnsutils
+                  jq
+                  netcat ];
 
   installPhase = ''
     install -Dm 0755 twa "$out/bin/twa"
@@ -32,7 +40,11 @@ stdenv.mkDerivation rec {
     install -Dm 0644 README.md "$out/share/doc/twa/README.md"
 
     wrapProgram "$out/bin/twa" \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ curl netcat ncurses host.dnsutils ]}
+      --prefix PATH : ${stdenv.lib.makeBinPath [ curl
+                                                 host.dnsutils
+                                                 jq
+                                                 ncurses
+                                                 netcat ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 78dcb00eb78..b2da1384557 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, openssl, curl, libnotify,
-  libappindicator-gtk3, gst_all_1, gtk3, gnome3, wrapGAppsHook, aria2 ? null
+  libappindicator-gtk3, gst_all_1, gtk3, dconf, wrapGAppsHook, aria2 ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     libnotify
     libappindicator-gtk3
     gtk3
-    (stdenv.lib.getLib gnome3.dconf)
+    (stdenv.lib.getLib dconf)
   ]
   ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ])
   ++ (stdenv.lib.optional (aria2 != null) aria2);
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index e83e5268629..18d9defdd94 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix";
+    sha256 = "0myv8l886gmlh9nh4j3q5549idxnl51hf9cw20yxfqbwd47l13ca";
   };
 
   # https://github.com/NLnetLabs/unbound/pull/90
@@ -34,6 +34,10 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
 
+  postInstall = ''
+    make unbound-event-install
+  '';
+
   preFixup = stdenv.lib.optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) # XXX: revisit
     # Build libunbound again, but only against nettle instead of openssl.
     # This avoids gnutls.out -> unbound.lib -> openssl.out.
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
new file mode 100644
index 00000000000..78f17934a78
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -0,0 +1,36 @@
+{ callPackage, fetchFromGitHub, fetchurl
+, assetOverrides ? {}
+, ... } @ args:
+
+callPackage ./generic.nix (rec {
+  version = "4.21.3";
+
+  src = fetchFromGitHub {
+    owner = "v2ray";
+    repo = "v2ray-core";
+    rev = "v${version}";
+    sha256 = "0z45nrjnalrvpprq7g4zrjbrdkc3d3lhs4ci8hb8m69f92asiwbs";
+  };
+
+  assets = {
+    # MIT licensed
+    "geoip.dat" = let
+      geoipRev = "20190516.1";
+      geoipSha256 = "14h4rq7rlcl1397pwpylfgwpk3fiscpzqb04c4wd5lxkfvk5f02r";
+    in fetchurl {
+      url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
+      sha256 = geoipSha256;
+    };
+
+    # MIT licensed
+    "geosite.dat" = let
+      geositeRev = "20191121.1";
+      geositeSha256 = "0ijmvy43pvm69w38djf114j8swni7wfq5ry9wdpv9dj0rzb59m74";
+    in fetchurl {
+      url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
+      sha256 = geositeSha256;
+    };
+
+  } // assetOverrides;
+
+} // args)
diff --git a/pkgs/tools/networking/v2ray/generic.nix b/pkgs/tools/networking/v2ray/generic.nix
new file mode 100644
index 00000000000..bf6e6cd55ae
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/generic.nix
@@ -0,0 +1,50 @@
+{ lib, linkFarm, buildGoModule, runCommand, makeWrapper
+
+# Version specific args
+, version, src, assets
+, ... }:
+
+let
+  assetsDrv = linkFarm "v2ray-assets" (lib.mapAttrsToList (name: path: {
+    inherit name path;
+  }) assets);
+
+  core = buildGoModule rec {
+    pname = "v2ray-core";
+    inherit version src;
+
+    modSha256 = "11gsncy3449a7y6w6pr7acqabyj2q2a1q52f8fcl5cdz1vjbmmxi";
+
+    buildPhase = ''
+      runHook preBuild
+
+      go build -o v2ray v2ray.com/core/main
+      go build -o v2ctl v2ray.com/core/infra/control/main
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      install -Dm755 v2ray v2ctl -t $out/bin
+    '';
+  };
+
+in runCommand "v2ray-${version}" {
+  inherit version;
+
+  buildInputs = [ assetsDrv core ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  meta = {
+    homepage = "https://www.v2ray.com/en/index.html";
+    description = "A platform for building proxies to bypass network restrictions";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ servalcatty ];
+  };
+
+} ''
+  for file in ${core}/bin/*; do
+    makeWrapper "$file" "$out/bin/$(basename "$file")" \
+      --set-default V2RAY_LOCATION_ASSET ${assetsDrv}
+  done
+''
diff --git a/pkgs/tools/networking/v2ray/update.sh b/pkgs/tools/networking/v2ray/update.sh
new file mode 100755
index 00000000000..38ad77e98f8
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/update.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq
+set -eo pipefail
+
+version_nix=$(dirname "$0")/default.nix
+deps_nix=$(dirname "$0")/deps.nix
+
+old_core_rev="v$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix")"
+old_geoip_rev=$(sed -En 's/.*\bgeoipRev = "(.*?)".*/\1/p' "$version_nix")
+old_geosite_rev=$(sed -En 's/.*\bgeositeRev = "(.*?)".*/\1/p' "$version_nix")
+echo "Current version:" >&2
+echo "core: $old_core_rev, geoip: $old_geoip_rev, geosite: $old_geosite_rev" >&2
+
+function fetch_latest_rev {
+    curl "https://api.github.com/repos/v2ray/$1/releases" |
+        jq '.[0].tag_name' --raw-output
+}
+
+core_rev=$(fetch_latest_rev 'v2ray-core')
+geoip_rev=$(fetch_latest_rev 'geoip')
+geosite_rev=$(fetch_latest_rev 'domain-list-community')
+echo "Latest version:" >&2
+echo "core: $core_rev, geoip: $geoip_rev, geosite: $geosite_rev" >&2
+
+if [[ $core_rev != $old_core_rev ]]; then
+    echo "Prefetching core..." >&2
+    { read hash; read store_path; } < <(
+        nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/$core_rev.zip"
+    )
+
+    sed --in-place \
+        -e "s/\bversion = \".*\"/version = \"$(echo "$core_rev" | tail -c+2)\"/" \
+        -e "s/\bsha256 = \".*\"/sha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geoip_rev != $old_geoip_rev ]]; then
+    echo "Prefetching geoip..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/geoip/releases/download/$geoip_rev/geoip.dat")
+    sed --in-place \
+        -e "s/\bgeoipRev = \".*\"/geoipRev = \"$geoip_rev\"/" \
+        -e "s/\bgeoipSha256 = \".*\"/geoipSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geosite_rev != $old_geosite_rev ]]; then
+    echo "Prefetching geosite..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/domain-list-community/releases/download/$geosite_rev/dlc.dat")
+    sed --in-place \
+        -e "s/\bgeositeRev = \".*\"/geositeRev = \"$geosite_rev\"/" \
+        -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index b0564ad7c74..e079f9a881e 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.2";
+  version = "5.5.3";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0587xvw0ifjrwxgisw0nfx7qykmkly1knfdghrpph9vicpzwsidw";
+    sha256 = "099yvqng085f69k815961jnwk50nzmiknvhl1wwmji2hl36r160g";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wifite2/default.nix b/pkgs/tools/networking/wifite2/default.nix
new file mode 100644
index 00000000000..2333408f078
--- /dev/null
+++ b/pkgs/tools/networking/wifite2/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, python3, aircrack-ng, wireshark-cli, reaverwps-t6x, cowpatty, hashcat, hcxtools, which }:
+
+python3.pkgs.buildPythonApplication rec {
+  version = "2.2.5";
+  pname = "wifite2";
+
+  src = fetchFromGitHub {
+    owner = "derv82";
+    repo = "wifite2";
+    rev = version;
+    sha256 = "1hfy90wf2bjg0z8rbs8cfhhvz78pzg2c6nj0zksal42mb6b5cjdp";
+  };
+
+  propagatedBuildInputs = [
+    aircrack-ng
+    wireshark-cli
+    reaverwps-t6x
+    cowpatty
+    hashcat
+    hcxtools
+    which
+  ];
+
+  postFixup = let
+    sitePackagesDir = "$out/lib/python3.${lib.versions.minor python3.version}/site-packages";
+  in ''
+    mv ${sitePackagesDir}/wifite/__main__.py ${sitePackagesDir}/wifite/wifite.py
+  '';
+
+  # which is not found
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/derv82/wifite2";
+    description = "Rewrite of the popular wireless network auditor, wifite";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
+  };
+}
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index ad449429f99..8133e2a5a54 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -1,6 +1,7 @@
 {
   stdenv, fetchzip,
 
+  iptables ? null,
   iproute ? null,
   libmnl ? null,
   makeWrapper ? null,
@@ -13,11 +14,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20191012";
+  version = "0.0.20191219";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "0nwcx7m5cpp4h1bclswiqq1jzj08xzpxmq5s4rcfqmrp59cmwgrs";
+    sha256 = "1qxpjvj3927xdly022rp2sndbifmr0c2y6ik77v43k95ch94716d";
   };
 
   sourceRoot = "source/src/tools";
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
       --replace /usr/bin $out/bin
   '' + optionalString stdenv.isLinux ''
     for f in $out/bin/*; do
-      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute openresolv]}
+      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute iptables openresolv]}
     done
   '' + optionalString stdenv.isDarwin ''
     for f in $out/bin/*; do
diff --git a/pkgs/tools/networking/yggdrasil/default.nix b/pkgs/tools/networking/yggdrasil/default.nix
index f6fff42efdf..ca10adae0e4 100644
--- a/pkgs/tools/networking/yggdrasil/default.nix
+++ b/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "0cz9axphqvpqwy591ws9by7khpdw96iwf9vmhif3i52ghp8hpfd1";
+    sha256 = "03ywxamjcnhcr20vm9pn3rq3hqq49i6rfdvx44czzr30h8xp8dhw";
   };
 
   modSha256 = "1vqk0jyqc1qcryi247r5pbvfjw3m48l028fb2mrq1xqqfkjqrr85";
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index d489d84d1cc..4675dac5f47 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "080p145j5pg8db88kb0y3x1pfc3v4aj3w68pdihlmi68dhjdr7i7";
+    sha256 = "0a4gxdan3aivbpkxw9cv1bgl7rfrwdii12d096dx06zlymb27gqs";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/pkgs/tools/nix/nixpkgs-fmt/default.nix b/pkgs/tools/nix/nixpkgs-fmt/default.nix
index 6c5f0660d12..946710b1fdd 100644
--- a/pkgs/tools/nix/nixpkgs-fmt/default.nix
+++ b/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "nixpkgs-fmt";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18kvsgl3kpla33dp1nbpd1kdgndfqcmlwwpjls55fp4mlczf8lcx";
+    sha256 = "1iylldgyvrcarfigpbhicg6j6qyipfiqn7gybza7qajfzyprjqfa";
   };
 
-  cargoSha256 = "0wfx7shsdqrwbnzr2a0fnly1kd93mxbm96zjq5pzrq94lphkhqhz";
+  cargoSha256 = "04my7dlp76dxs1ydy2sbbca8sp3n62wzdxyc4afcmrg8anb0ghaf";
 
   meta = with lib; {
     description = "Nix code formatter for nixpkgs";
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
new file mode 100644
index 00000000000..0438e340b21
--- /dev/null
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchurl, pkgconfig, cmake, perlPackages, curl, gtest
+, gnutls, libtasn1, lzma, 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
+}:
+
+stdenv.mkDerivation rec {
+  pname = "apt";
+  version = "1.8.4";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
+    sha256 = "0gn4srqaaym85gc8nldqkv01477kdwr136an2nlpbdrsbx3y83zl";
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake gtest libxslt.bin ];
+
+  buildInputs = [
+    perlPackages.perl curl gnutls libtasn1 lzma bzip2 lz4 zstd libseccomp udev db dpkg
+  ] ++ lib.optionals withDocs [
+    doxygen perlPackages.Po4a w3m docbook_xml_dtd_45
+  ] ++ lib.optionals withNLS [
+    gettext
+  ];
+
+  cmakeFlags = [
+    "-DBERKELEY_DB_INCLUDE_DIRS=${db.dev}/include"
+    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
+    "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl"
+    "-DROOT_GROUP=root"
+    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
+    "-DUSE_NLS=${if withNLS then "ON" else "OFF"}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Command-line package management tools used on Debian-based systems";
+    homepage = https://salsa.debian.org/apt-team/apt;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/package-management/cargo-deb/default.nix b/pkgs/tools/package-management/cargo-deb/default.nix
new file mode 100644
index 00000000000..d9e0630e6ff
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-deb/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-deb";
+  version = "1.23.0";
+
+  src = fetchFromGitHub {
+    owner = "mmstick";
+    repo = "cargo-deb";
+    rev = "v${version}";
+    sha256 = "0jjhbs48f0rprzxnfgav6mjbyvcqnr7xq1qgyjxwd61z8g3m8hx8";
+  };
+
+  buildInputs = with stdenv; lib.optionals isDarwin [ Security ];
+
+  cargoSha256 = "03z9hq873jfsbssnd3kr5vz9lx9mvhb1navb2glm6kkw1k2zm4d2";
+
+  meta = with stdenv.lib; {
+    description = "Generate Debian packages from information in Cargo.toml";
+    homepage = "https://github.com/mmstick/cargo-deb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/cargo-edit/default.nix b/pkgs/tools/package-management/cargo-edit/default.nix
index 8ddb8eb231b..0adc2add96d 100644
--- a/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/pkgs/tools/package-management/cargo-edit/default.nix
@@ -1,29 +1,28 @@
 { stdenv, lib, darwin
 , rustPlatform, fetchFromGitHub
-, openssl, pkgconfig }:
+, openssl, pkg-config, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.3.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05b64bm9441crw74xlywjg2y3psljk2kf9xsrixaqwbnnahi0mm5";
+    sha256 = "0y0sq0kll6bg0qrfdyas8rcx5dj50j9f05qx244kv7vqxp2q25jq";
   };
 
-  cargoSha256 = "1hjjw3i35vqr6nxsv2m3izq4x8c2a6wvl5c2kjlpg6shy9j2mjaa";
+  cargoSha256 = "0prd53p20cha2y2qp8dmq0ywd32f6jm8mszdkbi4x606dj9bcgbl";
 
-  nativeBuildInputs = lib.optional (!stdenv.isDarwin) pkgconfig;
-  buildInputs = lib.optional (!stdenv.isDarwin) openssl;
-  propagatedBuildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "A utility for managing cargo dependencies from the command line";
     homepage = https://github.com/killercup/cargo-edit;
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ gerschtli jb55 ];
+    maintainers = with maintainers; [ gerschtli jb55 filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch b/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
index 7137f8b7fb1..c6c4e3f62e1 100644
--- a/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
+++ b/pkgs/tools/package-management/cargo-license/add-Cargo.lock.patch
@@ -1,15 +1,9 @@
-commit ed7cd525d00a0f8517894cfec6e3e277f630b15f
-Author: Bas van Dijk <v.dijk.bas@gmail.com>
-Date:   Mon Jun 24 00:13:13 2019 +0200
-
-    Add Cargo.lock
-
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..b552c16
+index 0000000..20311b5
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,285 @@
+@@ -0,0 +1,429 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -18,122 +12,169 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "autocfg"
-+version = "0.1.4"
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.31"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (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)",
-+ "rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "backtrace-sys"
-+version = "0.1.28"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bstr"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "cargo-license"
-+version = "0.2.0"
++version = "0.3.0"
 +dependencies = [
 + "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "csv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getopts 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cargo_metadata"
-+version = "0.6.4"
++version = "0.9.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.37"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "csv"
-+version = "1.0.7"
++name = "clap"
++version = "2.33.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "csv-core 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "csv-core"
-+version = "0.1.5"
++name = "csv"
++version = "1.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "error-chain"
-+version = "0.12.1"
++name = "csv-core"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.31 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.31 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure_derive"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "getopts"
-+version = "0.2.19"
++version = "0.2.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -142,42 +183,65 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "libc"
-+version = "0.2.58"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.0"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "proc-macro-error"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "0.4.30"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "quote"
-+version = "0.6.12"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.1.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rustc-demangle"
-+version = "0.1.15"
++version = "0.1.16"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "ryu"
-+version = "0.2.8"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -186,7 +250,7 @@ index 0000000..b552c16
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -196,48 +260,82 @@ index 0000000..b552c16
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.93"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.93"
++version = "1.0.104"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.39"
++version = "1.0.44"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "structopt"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "structopt-derive"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "syn"
-+version = "0.15.38"
++version = "1.0.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.10.2"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +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)",
-+ "syn 0.15.38 (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 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -245,53 +343,93 @@ index 0000000..b552c16
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "unicode-segmentation"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "unicode-width"
-+version = "0.1.5"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++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)",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "version_check"
-+version = "0.1.5"
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
++"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"
-+"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
-+"checksum backtrace 0.3.31 (registry+https://github.com/rust-lang/crates.io-index)" = "e0f77aa27f55a4beb477ff6bc4d9bf72f90eb422b19c1d8e5a644b8aeb674d66"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e5d1b4d380e1bab994591a24c2bdd1b054f64b60bef483a8c598c7c345bc3bbe"
-+"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 csv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9044e25afb0924b5a5fc5511689b0918629e85d68ea591e5e87fbf1e85ea1b3b"
-+"checksum csv-core 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5cdef62f37e6ffe7d1f07a381bc0db32b7a3ff1cac0de56cb0d81e71f53d65"
-+"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
-+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
-+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
-+"checksum getopts 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "72327b15c228bfe31f1390f93dd5e9279587f0463836393c9df719ce62a3e450"
++"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46e3374c604fb39d1a2f35ed5e4a4e30e60d01fab49446e08f1b3e9a90aef202"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
++"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
++"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
 +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-+"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
-+"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
++"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aeccfe4d5d8ea175d5f0e4a2ad0637e0f4121d63bd99d356fb1f39ab2e7c6097"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
++"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
 +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)" = "960e29cf7004b3b6e65fc5002981400eb3ccc017a08a2406940823e58e7179a9"
-+"checksum serde_derive 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)" = "c4cce6663696bd38272e90bf34a0267e1226156c33f52d3f3915a2dd5d802085"
-+"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
-+"checksum syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)" = "37ea458a750f59ab679b47fef9b6722c586c5742f4cfe18a120bbc807e5e01fd"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
++"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
++"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum structopt 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "30b3a3e93f5ad553c38b3301c8a0a0cec829a36783f6a0c467fc4bf553a5f5bf"
++"checksum structopt-derive 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea692d40005b3ceba90a9fe7a78fa8d4b82b0ce627eebbffc329aab850f3410e"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 +"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"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 version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
++"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"
diff --git a/pkgs/tools/package-management/cargo-license/default.nix b/pkgs/tools/package-management/cargo-license/default.nix
index c8a43bda64a..f697c57d3e8 100644
--- a/pkgs/tools/package-management/cargo-license/default.nix
+++ b/pkgs/tools/package-management/cargo-license/default.nix
@@ -1,18 +1,18 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-license";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "onur";
     repo = "cargo-license";
     rev = "v${version}";
-    sha256 = "0xxgl9d695ncrxz29125wag285dwxpwc3fym0ixgj5fqbnkbx75g";
+    sha256 = "05a2af84gjyfzhsln0afg16h02pr56jng4xlsg21hicyi1kxjwlf";
   };
 
   cargoPatches = [ ./add-Cargo.lock.patch ];
 
-  cargoSha256 = "0jc84v8fxzzyfkcnfr9vrdblw5vdk54nzpch5lcarzfsarncqxw7";
+  cargoSha256 = "0ksxvbrx8d8d09i167mdrhz5m46nbr6l0vyn7xpdanmha31xiaz9";
 
   meta = with lib; {
     description = "Cargo subcommand to see license of dependencies";
diff --git a/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch b/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
new file mode 100644
index 00000000000..7e0528eda2a
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-outdated/cargo-lock.patch
@@ -0,0 +1,1283 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0f18cc6
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1277 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler32"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++
++[[package]]
++name = "backtrace"
++version = "0.3.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++dependencies = [
++ "backtrace-sys",
++ "cfg-if",
++ "libc",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "backtrace-sys"
++version = "0.1.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "bstr"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "bytesize"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "716960a18f978640f25101b5cbf1c6f6b0d3192fab36a2d98ca96f0ecbe41010"
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++dependencies = [
++ "ppv-lite86",
++]
++
++[[package]]
++name = "cargo"
++version = "0.40.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03504435a39de1303decb9c9a7416e875f16d4b94769d4d0dd5e1bfb21229640"
++dependencies = [
++ "atty",
++ "bytesize",
++ "clap",
++ "core-foundation",
++ "crates-io",
++ "crossbeam-utils",
++ "crypto-hash",
++ "curl",
++ "curl-sys",
++ "env_logger 0.6.2",
++ "failure",
++ "filetime",
++ "flate2",
++ "fs2",
++ "fwdansi",
++ "git2",
++ "git2-curl",
++ "glob",
++ "hex 0.4.0",
++ "home",
++ "humantime",
++ "ignore",
++ "im-rc",
++ "jobserver",
++ "lazy_static",
++ "lazycell",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "memchr",
++ "miow",
++ "num_cpus",
++ "opener",
++ "percent-encoding",
++ "remove_dir_all",
++ "rustc-workspace-hack",
++ "rustfix",
++ "same-file",
++ "semver",
++ "serde",
++ "serde_ignored",
++ "serde_json",
++ "shell-escape",
++ "strip-ansi-escapes",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "toml",
++ "unicode-width",
++ "url",
++ "walkdir",
++ "winapi",
++]
++
++[[package]]
++name = "cargo-outdated"
++version = "0.9.1"
++dependencies = [
++ "cargo",
++ "docopt",
++ "env_logger 0.7.1",
++ "failure",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "tabwriter",
++ "tempfile",
++ "termcolor",
++ "toml",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
++dependencies = [
++ "jobserver",
++ "num_cpus",
++]
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim 0.8.0",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "commoncrypto"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"
++dependencies = [
++ "commoncrypto-sys",
++]
++
++[[package]]
++name = "commoncrypto-sys"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
++
++[[package]]
++name = "crates-io"
++version = "0.28.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9dc57b7035c84bcaaa14d89221491b624a32977c230ce6bb77ae191e880c48e1"
++dependencies = [
++ "curl",
++ "failure",
++ "percent-encoding",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "url",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "crossbeam-channel"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa"
++dependencies = [
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++dependencies = [
++ "cfg-if",
++ "lazy_static",
++]
++
++[[package]]
++name = "crypto-hash"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca"
++dependencies = [
++ "commoncrypto",
++ "hex 0.3.2",
++ "openssl",
++ "winapi",
++]
++
++[[package]]
++name = "curl"
++version = "0.4.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++dependencies = [
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
++dependencies = [
++ "cc",
++ "libc",
++ "libnghttp2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi",
++]
++
++[[package]]
++name = "docopt"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
++dependencies = [
++ "lazy_static",
++ "regex",
++ "serde",
++ "strsim 0.9.3",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++dependencies = [
++ "backtrace",
++ "failure_derive",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
++dependencies = [
++ "cfg-if",
++ "crc32fast",
++ "libc",
++ "libz-sys",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "fs2"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "fwdansi"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
++dependencies = [
++ "memchr",
++ "termcolor",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "git2"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7c1af51ea8a906616af45a4ce78eacf25860f7a13ae7bf8a814693f0f4037a26"
++dependencies = [
++ "bitflags",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "openssl-probe",
++ "openssl-sys",
++ "url",
++]
++
++[[package]]
++name = "git2-curl"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd6527e480187ce19aaf4fa6acfb7657b25628ce31cb8ffabdfca3bf731524c5"
++dependencies = [
++ "curl",
++ "git2",
++ "log",
++ "url",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++
++[[package]]
++name = "globset"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hex"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
++
++[[package]]
++name = "hex"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
++
++[[package]]
++name = "home"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
++dependencies = [
++ "scopeguard",
++ "winapi",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "idna"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
++dependencies = [
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ec16832258409d571aaef8273f3c3cc5b060d784e159d1a0f3b0017308f84a7"
++dependencies = [
++ "crossbeam-channel",
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "im-rc"
++version = "13.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806"
++dependencies = [
++ "rustc_version",
++ "sized-chunks",
++ "typenum",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++
++[[package]]
++name = "jobserver"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2b1d42ef453b30b7387e113da1c83ab1605d90c5b4e0eb8e96d016ed3b8c160"
++dependencies = [
++ "getrandom",
++ "libc",
++ "log",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
++
++[[package]]
++name = "libc"
++version = "0.2.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
++
++[[package]]
++name = "libgit2-sys"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4870c781f6063efb83150cd22c1ddf6ecf58531419e7570cdcced46970f64a16"
++dependencies = [
++ "cc",
++ "libc",
++ "libssh2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++]
++
++[[package]]
++name = "libnghttp2-sys"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02254d44f4435dd79e695f2c2b83cd06a47919adea30216ceaf0c57ca0a72463"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "libssh2-sys"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fcd5a428a31cbbfe059812d74f4b6cd3b9b7426c2bdaec56993c5365da1c328"
++dependencies = [
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "log"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
++dependencies = [
++ "adler32",
++]
++
++[[package]]
++name = "miow"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "396aa0f2003d7df8395cb93e09871561ccc3e785f0acb369170e8cc74ddf9226"
++dependencies = [
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "opener"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13117407ca9d0caf3a0e74f97b490a7e64c0ae3aa90a8b7085544d0c37b6f3ae"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "lazy_static",
++ "libc",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.53"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
++dependencies = [
++ "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 = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++dependencies = [
++ "c2-chacha",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++
++[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++
++[[package]]
++name = "rustc-workspace-hack"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "rustfix"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7150ac777a2931a53489f5a41eb0937b84e3092a20cd0e73ad436b65b507f607"
++dependencies = [
++ "failure",
++ "log",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++
++[[package]]
++name = "same-file"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
++dependencies = [
++ "lazy_static",
++ "winapi",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++dependencies = [
++ "semver-parser",
++ "serde",
++]
++
++[[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.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.103"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_ignored"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7248fdcbd17d3f2604fc2a02d0ecc844d9a7bf52bf95fc196d9f0a38f6da6a0e"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "shell-escape"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "170a13e64f2a51b77a45702ba77287f5c6829375b04a69cf2222acd17d0cfab9"
++
++[[package]]
++name = "sized-chunks"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f01db57d7ee89c8e053245deb77040a6cc8508311f381c88749c33d4b9b78785"
++dependencies = [
++ "typenum",
++]
++
++[[package]]
++name = "smallvec"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
++
++[[package]]
++name = "socket2"
++version = "0.3.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "winapi",
++]
++
++[[package]]
++name = "strip-ansi-escapes"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d63676e2abafa709460982ddc02a3bb586b6d15a49b75c212e06edd3933acee"
++dependencies = [
++ "vte",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "strsim"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
++
++[[package]]
++name = "syn"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
++]
++
++[[package]]
++name = "tabwriter"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9128e3a9149e51494cad59712a286e149fcb74e443d2298d69bd6eaa42cc4ebb"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
++dependencies = [
++ "filetime",
++ "libc",
++ "redox_syscall",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
++dependencies = [
++ "wincolor",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "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",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "typenum"
++version = "1.11.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++dependencies = [
++ "matches",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++dependencies = [
++ "smallvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++
++[[package]]
++name = "url"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
++dependencies = [
++ "idna",
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "utf8parse"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++
++[[package]]
++name = "vte"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4f42f536e22f7fcbb407639765c8fd78707a33109301f834a594758bedd6e8cf"
++dependencies = [
++ "utf8parse",
++]
++
++[[package]]
++name = "walkdir"
++version = "2.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
++dependencies = [
++ "same-file",
++ "winapi",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
++
++[[package]]
++name = "winapi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
++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.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
++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 = "wincolor"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
++dependencies = [
++ "winapi",
++ "winapi-util",
++]
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index 71567df9403..7d684d943b9 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "unstable-2019-04-13";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
-    rev = "ce4b6baddc94b77a155abbb5a4fa4d3b31a45598";
-    sha256 = "0x00vn0ldnm2hvndfmq4g4q5w6axyg9vsri3i5zxhmir7423xabp";
+    rev = "v${version}";
+    sha256 = "02gsarwm4gjkr9m4sfbjwp37xmqhch8qpyy027bxqkg8iyipxm69";
   };
 
-  cargoSha256 = "1xqii2z0asgkwn1ny9n19w7d4sjz12a6i55x2pf4cfrciapdpvdl";
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "1ywmrvkwwwwh99l4j8vc4cyk8qjd0jx8hn68yr2h31ya1bzcqbd1";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ]
@@ -26,6 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = https://github.com/kbknapp/cargo-outdated;
     license = with licenses; [ asl20 /* or */ mit ];
     platforms = platforms.all;
-    maintainers = [ maintainers.sondr3 ];
+    maintainers = with maintainers; [ sondr3 ivan ];
   };
 }
diff --git a/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh b/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
new file mode 100755
index 00000000000..21ee27c59b7
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-outdated/update-cargo-lock.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This updates cargo-lock.patch for the cargo-outdated version listed in default.nix.
+
+set -eu -o verbose
+
+here=$PWD
+version=$(cat default.nix | grep '^  version = "' | cut -d '"' -f 2)
+checkout=$(mktemp -d)
+git clone -b "v$version" --depth=1 https://github.com/kbknapp/cargo-outdated "$checkout"
+cd "$checkout"
+
+cargo generate-lockfile
+git add -f Cargo.lock
+git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
+
+cd "$here"
+rm -rf "$checkout"
diff --git a/pkgs/tools/package-management/cargo-tree/default.nix b/pkgs/tools/package-management/cargo-tree/default.nix
index 8c3035ae79a..add08c50fcc 100644
--- a/pkgs/tools/package-management/cargo-tree/default.nix
+++ b/pkgs/tools/package-management/cargo-tree/default.nix
@@ -1,17 +1,16 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }:
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tree";
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "sfackler";
     repo = "cargo-tree";
-    rev = "v${version}";
-
-    sha256 = "12z0sa7g79x46q2ybpy6i9rf1x4cnwajw8dsjzra2qhssyp8rp9c";
+    rev = "37030742fbf83106707525913ab6c4c3c701cd0e";
+    sha256 = "1mi52n02j9dmi19af6js0vmmqnl8rf4zxind3cxh401530cd8ml4";
   };
 
-  cargoSha256 = "0ibmgyiqa53m9xfvl726w1sq37lbdp7vzyc76gwcp1zvzkcv2860";
+  cargoSha256 = "12p9dqlxa1b1sx8572w7hj0rlkkpv3k440pffdyjgyx4s1r9m0s0";
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
@@ -20,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     description = "A cargo subcommand that visualizes a crate's dependency graph in a tree-like format";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ jD91mZM2 ];
+    homepage = "https://crates.io/crates/cargo-tree";
   };
 }
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
new file mode 100644
index 00000000000..67829330844
--- /dev/null
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "emplace";
+  version = "0.2.8";
+
+  src = fetchFromGitHub {
+    owner = "tversteeg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0s04hi0i1ssg9dp75f9qdglnvqmh0cxmbk8nnhd4w45v9m5sadph";
+  };
+
+  cargoSha256 = "10y7lpgj9mxrh3rmc15km4rfzspwdjr8dcdh0747rjn6dcpfhcdq";
+
+  meta = with lib; {
+    description = "Mirror installed software on multiple machines";
+    homepage = "https://github.com/tversteeg/emplace";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix
index 5f4cc58c6a2..f093f442e52 100644
--- a/pkgs/tools/package-management/home-manager/default.nix
+++ b/pkgs/tools/package-management/home-manager/default.nix
@@ -6,13 +6,13 @@
 stdenv.mkDerivation rec {
 
   pname = "home-manager";
-  version = "2019-10-23";
+  version = "2019-11-17";
 
   src = fetchFromGitHub {
     owner = "rycee";
     repo = "home-manager";
-    rev = "1b987952b5f7d18f0bb66317cf18ffda43ad45aa";
-    sha256 = "1jdmxdnyd6jaiqjjkzw3qr0ia4qvmwmgfn05hbph37v03p55ah5q";
+    rev = "286dd9b3088298e5a4625b517f8e72b1c62e4f74";
+    sha256 = "0p3ba287h9a7mpj8chdgvz5qryc15qxdis3fdmv9jvl0hwsr738d";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index d5f855e44cb..a4acdf0a341 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "1.1.0";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "16wyn6dx7cs32a704zcyr6v26b9iw4b506nymgljghvqw4bhysr1";
+    sha256 = "0yy75iagyrr96y7497hbbizrm59c757mshwicl1b7ni2sn3p63fh";
   };
 
-  modSha256 = "0a4r4msfniya6pby4bs3qvgammn95sr5nmjp4vv0cm74n81rk051";
+  modSha256 = "05hcn0k1zb4k4p3aaas7b276jw607cv290np9vmyqxb3khzv4vjg";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix
index 1d025581b61..b3a16633c1d 100644
--- a/pkgs/tools/package-management/nix-index/default.nix
+++ b/pkgs/tools/package-management/nix-index/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
     rev = "v${version}";
     sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
   };
-  cargoSha256 = "0h8a5bnv32rkvywn8xdbny38m24bi6p9scwljgdk8k067pn3qk34";
+  cargoSha256 = "06idjb5h5fahqklyxnss2zffrvvfbcw0hjh1mcrf1872s4x78ags";
   nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ openssl curl ]
     ++ stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
index b191d1c3211..63f948db9db 100644
--- a/pkgs/tools/package-management/nix-serve/default.nix
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     homepage = https://github.com/edolstra/nix-serve;
     description = "A utility for sharing a Nix store as a binary cache";
     maintainers = [ maintainers.eelco ];
-    license = licenses.gpl3;
+    license = licenses.lgpl21;
     platforms = nix.meta.platforms;
   };
 }
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix
index bffe04e78d9..928c946de2b 100644
--- a/pkgs/tools/package-management/nix-review/default.nix
+++ b/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -7,14 +7,14 @@
 }:
 
 python3.pkgs.buildPythonApplication rec {
-  pname = "nix-review";
-  version = "2.0.1";
+  pname = "nixpkgs-review";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
-    repo = "nix-review";
+    repo = "nixpkgs-review";
     rev = version;
-    sha256 = "19x0wbb8annmzi67r79112j9kjzz99n3qd6adh80iqx2dh47pk5g";
+    sha256 = "0rx0ld2ihsvlr1yiap5cq7h227jr79zf3xhkninh2m00x384s6bd";
   };
 
   makeWrapperArgs = [
@@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
-    homepage = https://github.com/Mic92/nix-review;
+    homepage = https://github.com/Mic92/nixpkgs-review;
     license = licenses.mit;
     maintainers = [ maintainers.mic92 ];
   };
diff --git a/pkgs/tools/package-management/pacman/default.nix b/pkgs/tools/package-management/pacman/default.nix
index 9fd0ea05510..3353704cb36 100644
--- a/pkgs/tools/package-management/pacman/default.nix
+++ b/pkgs/tools/package-management/pacman/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig, perl, libarchive, openssl,
-zlib, bzip2, lzma, curl, runtimeShell }:
+{ stdenv, lib, fetchurl, pkgconfig, perl, libarchive, openssl, zlib, bzip2,
+lzma, curl, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "pacman";
-  version = "5.1.3";
+  version = "5.2.1";
 
   src = fetchurl {
-    url = "https://git.archlinux.org/pacman.git/snapshot/pacman-${version}.tar.gz";
-    sha256 = "108xp6dhvp02jnzskhgzjmp9jvrxhhkffvmpvs3rrif7vj47xd76";
+    url = "https://sources.archlinux.org/other/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "04pkb8qvkldrayfns8cx4fljl4lyys1dqvlf7b5kkl2z4q3w8c0r";
   };
 
   enableParallelBuilding = true;
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ curl perl libarchive openssl zlib bzip2 lzma ];
 
   postFixup = ''
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index 24301fc76d8..c8413c56854 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.2.5";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "1nkhp1mnvah7zkc1s55jji9lxxbph1miw8dfl9kb72khmaqfzsf0";
+    sha256 = "0snhm9r5igik030iqxm3zd9zvhlnsxi20zac71bbc29qflsi2dhk";
   };
 
   propagatedBuildInputs = [ vdf ];
diff --git a/pkgs/tools/package-management/reuse/default.nix b/pkgs/tools/package-management/reuse/default.nix
index 0f8a6f19127..4aadc4b7af0 100644
--- a/pkgs/tools/package-management/reuse/default.nix
+++ b/pkgs/tools/package-management/reuse/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "reuse";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "fsfe";
     repo = "reuse-tool";
     rev = "v${version}";
-    sha256 = "17qvsa2qnm767yv7x0v626np0kiyqpb0al7sjqmccarq2wnw8w90";
+    sha256 = "17bslyvjndhqryrisba9y7y0ijyzi3gmyl9rddkcvdqi3lg9668y";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index f83a1498825..2be1db764e1 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xbps";
-  version = "0.57";
+  version = "0.57.1";
 
   src = fetchFromGitHub {
     owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "1aaa0h265lx85hmcvg7zpg7iiq6dzzlyxqazn1s387ss709i5gxn";
+    sha256 = "0adxhhvn5r6hwwqp42iwwfrslmps30ycndi6v39934v38rf0wx9s";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/tools/security/afl/libdislocator.nix b/pkgs/tools/security/afl/libdislocator.nix
index 47e74573b81..415fa82f2ec 100644
--- a/pkgs/tools/security/afl/libdislocator.nix
+++ b/pkgs/tools/security/afl/libdislocator.nix
@@ -1,7 +1,7 @@
 { stdenv, afl}:
 
 stdenv.mkDerivation {
-  version = (builtins.parseDrvName afl.name).version;
+  version = stdenv.lib.getVersion afl;
   pname = "libdislocator";
 
   src = afl.src;
diff --git a/pkgs/tools/security/aws-okta/default.nix b/pkgs/tools/security/aws-okta/default.nix
index 9067e6a4dbf..f960245e2b3 100644
--- a/pkgs/tools/security/aws-okta/default.nix
+++ b/pkgs/tools/security/aws-okta/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv }:
+{ buildGoPackage, fetchFromGitHub, libusb1, pkgconfig, stdenv, libiconv }:
 
 buildGoPackage rec {
   pname = "aws-okta";
@@ -18,14 +18,13 @@ buildGoPackage rec {
   buildFlags = "--tags release";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb1 ];
+  buildInputs = [ libusb1  libiconv ];
 
   meta = with stdenv.lib; {
     inherit version;
     description = "aws-vault like tool for Okta authentication";
     license = licenses.mit;
     maintainers = [maintainers.imalsogreg];
-    broken = stdenv.isDarwin;  # test with CoreFoundation 10.11
     platforms = platforms.all;
     homepage = https://github.com/segmentio/aws-okta;
     downloadPage = "https://github.com/segmentio/aws-okta";
diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix
index c72bc6d8b9e..d0cda57e2d0 100644
--- a/pkgs/tools/security/bettercap/default.nix
+++ b/pkgs/tools/security/bettercap/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "bettercap";
-  version = "2.24";
+  version = "2.26.1";
 
   goPackagePath = "github.com/bettercap/bettercap";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f8bzxbcyf0bpyqj6hz4l8dp5xknnb537xy9y5skcznp03i44h55";
+    sha256 = "10qsknyzfpzfpm4gp98jwvw6qmkmx23nw88sbnpl2rlr725l560c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/bettercap/deps.nix b/pkgs/tools/security/bettercap/deps.nix
index ef09a821317..12aeb1918c6 100644
--- a/pkgs/tools/security/bettercap/deps.nix
+++ b/pkgs/tools/security/bettercap/deps.nix
@@ -1,336 +1,534 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
-    goPackagePath  = "github.com/adrianmo/go-nmea";
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/adrianmo/go-nmea";
     fetch = {
       type = "git";
       url = "https://github.com/adrianmo/go-nmea";
-      rev =  "a32116e4989e2b0e17c057ee378b4d5246add74e";
+      rev = "v1.1.0";
       sha256 = "167iwpwdwfbyghqfrzdfvfpvsmj92x7qqy6sx6yngdw21wd0m44f";
     };
   }
   {
-    goPackagePath  = "github.com/antchfx/jsonquery";
+    goPackagePath = "github.com/antchfx/jsonquery";
     fetch = {
       type = "git";
       url = "https://github.com/antchfx/jsonquery";
-      rev =  "a2896be8c82bb2229d1cf26204863180e34b2b31";
-      sha256 = "0mh6v21i3v3sxqjln7vph6wx3sm79p99010in9am1wh7k30rrjl5";
+      rev = "v1.0.0";
+      sha256 = "04xk7ib059xzl1y87ah41q7vzl3xp99mq8nyccx8hlsng1nc0haw";
     };
   }
   {
-    goPackagePath  = "github.com/antchfx/xpath";
+    goPackagePath = "github.com/antchfx/xpath";
     fetch = {
       type = "git";
       url = "https://github.com/antchfx/xpath";
-      rev =  "ce1d48779e67a1ddfb380995fe532b2e0015919c";
-      sha256 = "0brd75mhd5ix7rz1ijhbggyp53v6g8kz9bc2n7g6zwavzxarfj5p";
+      rev = "v1.1.0";
+      sha256 = "0bgin15841q009yxbyqfqk5b2yk2f4a1mswjkgiqxgarmql0mpsy";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/gatt";
+    goPackagePath = "github.com/bettercap/gatt";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/gatt";
-      rev =  "fac16c0ad797bbccae1fe4acf49761b98f7516e7";
-      sha256 = "08pyg4caw7lzb230l3k4rwgvn68zz6kmrlsdapaf3wa216pphyd9";
+      rev = "569d3d9372bb";
+      sha256 = "0ncg6wd4wkr12l4bs7vyyrd08imyd5y1vdyp7f9shjq9nzv3rzcz";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/nrf24";
+    goPackagePath = "github.com/bettercap/nrf24";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/nrf24";
-      rev =  "aa37e6d0e0eb125cee9ec71ed694db2ad58b509a";
+      rev = "aa37e6d0e0eb";
       sha256 = "1y6ffcj94hk7slajqw3lqpdxzx6iqpj2i2zpsvggg6kfaa1iklnj";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/readline";
+    goPackagePath = "github.com/bettercap/readline";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/readline";
-      rev =  "62c6fe6193755f722b8b8788aa7357be55a50ff1";
-      sha256 = "1qd2qhjps26x4pin2614w732giy89p22b2qww4wg15zz5g2365nk";
+      rev = "9cec905dd291";
+      sha256 = "1lsnyckg2l78hz4la8dhwvjsyff706khw10nxds5afzl4mrih3vn";
     };
   }
   {
-    goPackagePath  = "github.com/bettercap/recording";
+    goPackagePath = "github.com/bettercap/recording";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/recording";
-      rev =  "3ce1dcf032e391eb321311b34cdf31c6fc9523f5";
+      rev = "3ce1dcf032e3";
       sha256 = "1arh12iz15anyrqr4q496lpd0gx5nf2cwyr5rv17rawqqz8ydg23";
     };
   }
   {
-    goPackagePath  = "github.com/chifflier/nfqueue-go";
+    goPackagePath = "github.com/chifflier/nfqueue-go";
     fetch = {
       type = "git";
       url = "https://github.com/chifflier/nfqueue-go";
-      rev =  "61ca646babef3bd4dea1deb610bfb0005c0a1298";
+      rev = "61ca646babef";
       sha256 = "1i1q2xl86f3s9x3j2ffxprwqhcrkh4w23hh4ib7jksxvaq36v33l";
     };
   }
   {
-    goPackagePath  = "github.com/dustin/go-humanize";
+    goPackagePath = "github.com/chzyer/logex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/logex";
+      rev = "v1.1.10";
+      sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
+    };
+  }
+  {
+    goPackagePath = "github.com/chzyer/test";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/test";
+      rev = "a1ea475d72b1";
+      sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
     fetch = {
       type = "git";
       url = "https://github.com/dustin/go-humanize";
-      rev =  "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      rev = "v1.0.0";
       sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
     };
   }
   {
-    goPackagePath  = "github.com/elazarl/goproxy";
+    goPackagePath = "github.com/elazarl/goproxy";
     fetch = {
       type = "git";
       url = "https://github.com/elazarl/goproxy";
-      rev =  "9d40249d3c2f14d1a9d75e070a738362adeb5a83";
-      sha256 = "0hpzna9dvs2ff0bj8baz3sc5gg49vqmb0cbi6p061lmwl09cd00i";
+      rev = "473e67f1d7d2";
+      sha256 = "1xsrdlcgl088phanm81pskym2ry8z1nizvq3lsq0c7cvzb6mrw4p";
     };
   }
   {
-    goPackagePath  = "github.com/evilsocket/islazy";
+    goPackagePath = "github.com/evilsocket/islazy";
     fetch = {
       type = "git";
       url = "https://github.com/evilsocket/islazy";
-      rev =  "c5c7a41bb1c20e6df409825ed24af8de5fb7fb70";
+      rev = "v1.10.4";
       sha256 = "1ayc4di6584yajybh724mcmng069q38j1dpljgi8fhsyhb4sila3";
     };
   }
   {
-    goPackagePath  = "github.com/gobwas/glob";
+    goPackagePath = "github.com/gobwas/glob";
     fetch = {
       type = "git";
       url = "https://github.com/gobwas/glob";
-      rev =  "e7a84e9525fe90abcda167b604e483cc959ad4aa";
+      rev = "e7a84e9525fe";
       sha256 = "1v6vjklq06wqddv46ihajahaj1slv0imgaivlxr8bsx59i90js5q";
     };
   }
   {
-    goPackagePath  = "github.com/google/go-github";
+    goPackagePath = "github.com/google/go-github";
     fetch = {
       type = "git";
       url = "https://github.com/google/go-github";
-      rev =  "e48060a28fac52d0f1cb758bc8b87c07bac4a87d";
-      sha256 = "0a15gsqpshcipd4vmm0dzxgi99pfk0c5b60n3czfw2px864mg7x9";
+      rev = "v17.0.0";
+      sha256 = "1kvw95l77a5n5rgal9n1xjh58zxb3a40ij1j722b1h4z8yg9jhg4";
     };
   }
   {
-    goPackagePath  = "github.com/google/go-querystring";
+    goPackagePath = "github.com/google/go-querystring";
     fetch = {
       type = "git";
       url = "https://github.com/google/go-querystring";
-      rev =  "44c6ddd0a2342c386950e880b658017258da92fc";
+      rev = "v1.0.0";
       sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
-    goPackagePath  = "github.com/google/gopacket";
+    goPackagePath = "github.com/google/gopacket";
     fetch = {
       type = "git";
       url = "https://github.com/google/gopacket";
-      rev =  "v1.1.16";
-      sha256 = "1vnjgjz52l1bzrhx70qpvmwandf8v13zhiaj3rdljsphdp5cgadi";
+      rev = "v1.1.17";
+      sha256 = "192af5z18nnafn35gdy4wahlx6ggbhlnxzlm1yvxjxawfwnilidn";
     };
   }
   {
-    goPackagePath  = "github.com/google/gousb";
+    goPackagePath = "github.com/google/gousb";
     fetch = {
       type = "git";
       url = "https://github.com/google/gousb";
-      rev =  "64d82086770b8b671e1e7f162372dd37f1f5efba";
-      sha256 = "1kjgg8cdp8wz9rck4nh48pcia741p7a8w2nikhzxsscn0ld33109";
+      rev = "18f4c1d8a750";
+      sha256 = "1i7ffkq395x0v1186j9bhfgy67wlq6s840xkyx8wn87w55yd05rh";
     };
   }
   {
-    goPackagePath  = "github.com/gorilla/mux";
+    goPackagePath = "github.com/google/renameio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/renameio";
+      rev = "v0.1.0";
+      sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/mux";
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/mux";
-      rev =  "c5c6c98bc25355028a63748a498942a6398ccd22";
-      sha256 = "0im4da3hqxb6zr8g3m640qz234f5gs0a8hqhcz35mkvfqlv48f62";
+      rev = "v1.7.3";
+      sha256 = "0vr38zdad3zgg7q7nn24knl8axngj7cgmlwa93m17yhsnlvqi531";
     };
   }
   {
-    goPackagePath  = "github.com/gorilla/websocket";
+    goPackagePath = "github.com/gorilla/websocket";
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d";
-      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+      rev = "v1.4.1";
+      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
     };
   }
   {
-    goPackagePath  = "github.com/hashicorp/mdns";
+    goPackagePath = "github.com/hashicorp/mdns";
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/mdns";
-      rev =  "06dd1a31b32c42d4d6c2cf8dbce70597d1118f54";
+      rev = "v1.0.1";
       sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j";
     };
   }
   {
-    goPackagePath  = "github.com/inconshreveable/go-vhost";
+    goPackagePath = "github.com/inconshreveable/go-vhost";
     fetch = {
       type = "git";
       url = "https://github.com/inconshreveable/go-vhost";
-      rev =  "06d84117953b22058c096b49a429ebd4f3d3d97b";
+      rev = "06d84117953b";
       sha256 = "0wliilsybm7xf5h685a23rsm8bnlhkr332pkdkhf32q16sr1a9rk";
     };
   }
   {
-    goPackagePath  = "github.com/jpillora/go-tld";
+    goPackagePath = "github.com/jpillora/go-tld";
     fetch = {
       type = "git";
       url = "https://github.com/jpillora/go-tld";
-      rev =  "f16ca3b7b383d3f0373109cac19147de3e8ae2d1";
+      rev = "f16ca3b7b383";
       sha256 = "19v8bj14w0lcvysaw84klf5dg6ka351ixz9r6cd9mksdd80nvzcq";
     };
   }
   {
-    goPackagePath  = "github.com/kr/binarydist";
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/binarydist";
     fetch = {
       type = "git";
       url = "https://github.com/kr/binarydist";
-      rev =  "88f551ae580780cc79d12ab4c218ba1ca346b83a";
+      rev = "v0.1.0";
       sha256 = "0hz1yqlxmkdib8xsdkkvn4ian4i69jmfapadim9fhj632d6jpi7w";
     };
   }
   {
-    goPackagePath  = "github.com/malfunkt/iprange";
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/malfunkt/iprange";
     fetch = {
       type = "git";
       url = "https://github.com/malfunkt/iprange";
-      rev =  "3a31f5ed42d2d8a1fc46f1be91fd693bdef2dd52";
+      rev = "v0.9.0";
       sha256 = "0gv5w678r74jval675xp0y1hzpf7mm5m9apa1rz9krxc9zd0ycr8";
     };
   }
   {
-    goPackagePath  = "github.com/mattn/go-colorable";
+    goPackagePath = "github.com/mattn/go-colorable";
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-colorable";
-      rev =  "3a70a971f94a22f2fa562ffcc7a0eb45f5daf045";
-      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
+      rev = "v0.1.4";
+      sha256 = "1yxcz08kminqr1221zxpibnbzfcgs3fafin0z9zqb3gqvf74jywz";
     };
   }
   {
-    goPackagePath  = "github.com/mattn/go-isatty";
+    goPackagePath = "github.com/mattn/go-isatty";
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev =  "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7";
-      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
+      rev = "v0.0.10";
+      sha256 = "0jf4hwfwd2cpxrlyv0jzcia809q2bjw7y1m3ciaj2s8lj2jqyf6r";
     };
   }
   {
-    goPackagePath  = "github.com/mdlayher/dhcp6";
+    goPackagePath = "github.com/mdlayher/dhcp6";
     fetch = {
       type = "git";
       url = "https://github.com/mdlayher/dhcp6";
-      rev =  "2a67805d7d0b0bad6c1103058981afdea583b459";
+      rev = "2a67805d7d0b";
       sha256 = "0xn7canpik3lrz73dcz4jzapq1bfxpnashvjvnvshcpa2n1lh8yw";
     };
   }
   {
-    goPackagePath  = "github.com/mdlayher/raw";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mdlayher/raw";
-      rev =  "480b93709cce56651807d3fdeb260a5a7c4e2d5f";
-      sha256 = "0a0zlznk67nhpmgp21hxsbhyl5lvlkmwy5xvm3d3q0yaq0rqnh2x";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mgutz/ansi";
+    goPackagePath = "github.com/mgutz/ansi";
     fetch = {
       type = "git";
       url = "https://github.com/mgutz/ansi";
-      rev =  "9520e82c474b0a04dd04f8a40959027271bab992";
+      rev = "9520e82c474b";
       sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
     };
   }
   {
-    goPackagePath  = "github.com/mgutz/logxi";
+    goPackagePath = "github.com/mgutz/logxi";
     fetch = {
       type = "git";
       url = "https://github.com/mgutz/logxi";
-      rev =  "aebf8a7d67ab4625e0fd4a665766fef9a709161b";
+      rev = "aebf8a7d67ab";
       sha256 = "1f8sqibkzz9wfplvvblz9s0xvvmhkd2af8ghcsmjw8818gcrzsqx";
     };
   }
   {
-    goPackagePath  = "github.com/miekg/dns";
+    goPackagePath = "github.com/miekg/dns";
     fetch = {
       type = "git";
       url = "https://github.com/miekg/dns";
-      rev =  "8aa92d4e02c501ba21e26fb92cf2fb9f23f56917";
-      sha256 = "1niymj11xv82ghif3p7i60bgj0lqskwm7fmrzfjchd8wxwbk4bbi";
+      rev = "v1.1.22";
+      sha256 = "1iv9jznakz8f5swiir0z4zilr9ypavnsc0g4zi1r0vad6npy7zfl";
     };
   }
   {
-    goPackagePath  = "github.com/pkg/errors";
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      rev = "v0.8.1";
       sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
-    goPackagePath  = "github.com/robertkrimen/otto";
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/robertkrimen/otto";
     fetch = {
       type = "git";
       url = "https://github.com/robertkrimen/otto";
-      rev =  "15f95af6e78dcd2030d8195a138bd88d4f403546";
+      rev = "15f95af6e78d";
       sha256 = "07j7l340lmqwpfscwyb8llk3k37flvs20a4a8vzc85f16xyd9npf";
     };
   }
   {
-    goPackagePath  = "github.com/tarm/serial";
+    goPackagePath = "github.com/rogpeppe/go-charset";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-charset";
+      rev = "2471d30d28b4";
+      sha256 = "1cmkhwkqx1smnsvrr9ah2x5qav0i6vdiq8x4j8j812xspfl69zwx";
+    };
+  }
+  {
+    goPackagePath = "github.com/rogpeppe/go-internal";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rogpeppe/go-internal";
+      rev = "v1.3.0";
+      sha256 = "0mcdh1licgnnahwml9y2iq6xy5x9xmjw5frcnds2s3wpjyqrl216";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/tarm/serial";
     fetch = {
       type = "git";
       url = "https://github.com/tarm/serial";
-      rev =  "98f6abe2eb07edd42f6dfa2a934aea469acc29b7";
+      rev = "98f6abe2eb07";
       sha256 = "1yj4jiv2f3x3iawxdflrlmdan0k9xsbnccgc9yz658rmif1ag3pb";
     };
   }
   {
-    goPackagePath  = "golang.org/x/crypto";
+    goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev =  "a29dc8fdc73485234dbef99ebedb95d2eced08de";
-      sha256 = "07f0jj4haqs0ywc1akk1qjwn5msl2j0pry1rxjkkbfcq4r6ihc1p";
+      rev = "87dc89f01550";
+      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
     };
   }
   {
-    goPackagePath  = "golang.org/x/net";
+    goPackagePath = "golang.org/x/mod";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/mod";
+      rev = "4bf6d317e70e";
+      sha256 = "19lg1ly3j31anx92p0hynic1gjk417wwxphfdrb2cq1c19kj3r17";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "9ce7a6920f093fc0b908c4a5f66ae049110f417e";
-      sha256 = "1kbs85jsqbv4v89ii2zam4b8dhmllhsrf46njmi09x0w6s0b9cbk";
+      rev = "da9a3fd4c582";
+      sha256 = "0iavs400534jn7drmdphx0f18vgg060p2r59xw5d85ji1l5rin1l";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
-    goPackagePath  = "golang.org/x/sys";
+    goPackagePath = "golang.org/x/sys";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "d89cdac9e8725f2aefce25fcbfef41134c9ad412";
-      sha256 = "0iazr13ir6i267nb2w81lc3pr740wdjs86nsliwpf90kkgzn853f";
+      rev = "727590c5006e";
+      sha256 = "0891pfmc73hyr6hrsq1mkk3lasxa8fz4vlnljnzz6yihmhz9ab6a";
     };
   }
   {
-    goPackagePath  = "gopkg.in/sourcemap.v1";
+    goPackagePath = "golang.org/x/text";
     fetch = {
       type = "git";
-      url = "https://github.com/go-sourcemap/sourcemap";
-      rev =  "6e83acea0053641eff084973fee085f0c193c61a";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "2ca718005c18";
+      sha256 = "1nl4cw8vrfigab0hij86vl2mmhfmyim69r7vy5qk2v60g8frvgxg";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a985d3407aa7";
+      sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/errgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/errgo.v2";
+      rev = "v2.1.0";
+      sha256 = "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/sourcemap.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/sourcemap.v1";
+      rev = "v1.0.5";
       sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
     };
   }
-]
\ No newline at end of file
+  {
+    goPackagePath = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev = "v0.0.0-2019.2.1";
+      sha256 = "1frpy4pl9yp6j00mjj2yss3k8hip0cc7b5i5mz61n3dlw0kga9z1";
+    };
+  }
+]
diff --git a/pkgs/tools/security/bruteforce-luks/default.nix b/pkgs/tools/security/bruteforce-luks/default.nix
index 0c650781bda..cfa27a5c686 100644
--- a/pkgs/tools/security/bruteforce-luks/default.nix
+++ b/pkgs/tools/security/bruteforce-luks/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "bruteforce-luks";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
-    sha256 = "0ws5bm5pczhvqrlhl60h8a9rdwk6xlh9wr5ndnkyxvv7m90qpy9b";
+    sha256 = "0yyrda077avdapq1mvavgv5mvj2r94d6p01q56bbnaq4a3h5kfd6";
     rev = version;
     repo = "bruteforce-luks";
     owner = "glv2";
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index e81567c3ed8..c8ee9506968 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig
-, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }:
+{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip
+, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam
+}:
 
 let
-  src_chromebase = fetchgit {
-    url = "https://chromium.googlesource.com/chromium/src/base.git";
+  src_chromebase = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/chromium/src/base";
     rev = "2dfe404711e15e24e79799516400c61b2719d7af";
     sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5";
   };
@@ -13,7 +14,7 @@ let
     sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16";
   };
 
-  src_platform2 = fetchgit {
+  src_platform2 = fetchFromGitiles {
     url = "https://chromium.googlesource.com/chromiumos/platform2";
     rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b";
     sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh";
@@ -25,8 +26,9 @@ stdenv.mkDerivation rec {
   name = "chaps-0.42-6812";
   version = "0.42-6812";
 
-  src = fetchgit {
-    url = "https://github.com/google/chaps-linux";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "chaps-linux";
     rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7";
     sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1";
   };
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index de275b6c09a..43f56352ceb 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.102.0";
+  version = "0.102.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8";
+    sha256 = "1mpdgn3isz26hd1j6p8lcb76v8hjs54k1wb655rnil4hv78aig8d";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/efitools/default.nix b/pkgs/tools/security/efitools/default.nix
index 8a64a019fef..33b6c3b672d 100644
--- a/pkgs/tools/security/efitools/default.nix
+++ b/pkgs/tools/security/efitools/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's#/usr/include/efi#${gnu-efi}/include/efi/#g' Make.rules
     sed -i -e 's#/usr/lib64/gnuefi#${gnu-efi}/lib/#g' Make.rules
     sed -i -e 's#$(DESTDIR)/usr#$(out)#g' Make.rules
+    substituteInPlace lib/console.c --replace "EFI_WARN_UNKOWN_GLYPH" "EFI_WARN_UNKNOWN_GLYPH"
     patchShebangs .
   '';
 
diff --git a/pkgs/tools/security/enchive/default.nix b/pkgs/tools/security/enchive/default.nix
index baada40a6cb..7e45ab76ed0 100644
--- a/pkgs/tools/security/enchive/default.nix
+++ b/pkgs/tools/security/enchive/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "enchive";
-  version = "3.4";
+  version = "3.5";
   src = fetchFromGitHub {
     owner = "skeeto";
     repo = "enchive";
     rev = version;
-    sha256 = "0ssxbnsjx4mvaqimp5nzfixpxinhmi12z8lxdd8cj2361wbb54yk";
+    sha256 = "0fdrfc5l42lj2bvmv9dmkmhmm7qiszwk7cmdvnqad3fs7652g0qa";
   };
 
   makeFlags = ["PREFIX=$(out)"];
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 89e09a47858..6e61f054122 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, dpkg, xorg
-, glib, libGLU_combined, libpulseaudio, zlib, dbus, fontconfig, freetype
+, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk3, pango
-, makeWrapper , python, pythonPackages, lib
+, makeWrapper , python2Packages, lib
 , lsof, curl, libuuid, cups, mesa
 }:
 
@@ -19,7 +19,7 @@ let
   # used of both wrappers and libpath
   libPath = lib.makeLibraryPath (with xorg; [
     mesa.drivers
-    libGLU_combined
+    libGLU libGL
     fontconfig
     freetype
     libpulseaudio
@@ -84,9 +84,9 @@ let
       name = "enpass-update-script";
       SCRIPT =./update_script.py;
 
-      buildInputs = with pythonPackages; [python requests pathlib2 six attrs ];
+      buildInputs = with python2Packages; [python requests pathlib2 six attrs ];
       shellHook = ''
-      exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
+        exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
       '';
 
     };
diff --git a/pkgs/tools/security/fierce/default.nix b/pkgs/tools/security/fierce/default.nix
index 809d8e29ea3..5d12a000815 100644
--- a/pkgs/tools/security/fierce/default.nix
+++ b/pkgs/tools/security/fierce/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fierce";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "mschwager";
     repo = pname;
     rev = version;
-    sha256 = "0cdp9rpabazyfnks30rsf3qfdi40z1bkspxk4ds9bm82kpq33jxy";
+    sha256 = "11yaz8ap9swx95j3wpqh0b6jhw6spqgfnsyn1liw9zqi4jwgiax7";
   };
 
   propagatedBuildInputs = [ python3.pkgs.dns ];
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index 41a00306f69..13e6c0be391 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -1,11 +1,9 @@
-{ thinkpad ? false
-, stdenv
+{ stdenv
 , fetchurl
 , fetchpatch
 , pkgconfig
 , intltool
-, libfprint-thinkpad ? null
-, libfprint ? null
+, libfprint
 , glib
 , dbus-glib
 , polkit
@@ -17,7 +15,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad";
+  pname = "fprintd";
   version = "0.9.0";
 
   src = fetchurl {
@@ -46,10 +44,8 @@ stdenv.mkDerivation rec {
     nss
     pam
     systemd
-  ]
-  ++ stdenv.lib.optional thinkpad libfprint-thinkpad
-  ++ stdenv.lib.optional (!thinkpad) libfprint
-  ;
+    libfprint
+  ];
 
   configureFlags = [
     # is hardcoded to /var/lib/fprint, this is for the StateDirectory install target
diff --git a/pkgs/tools/security/ghidra/default.nix b/pkgs/tools/security/ghidra/default.nix
index d68fd5e7e92..b3773725e6e 100644
--- a/pkgs/tools/security/ghidra/default.nix
+++ b/pkgs/tools/security/ghidra/default.nix
@@ -1,16 +1,26 @@
 { stdenv, fetchurl, unzip, lib, makeWrapper, autoPatchelfHook
-, openjdk11, pam
+, openjdk11, pam, makeDesktopItem, icoutils
 }: let
 
   pkg_path = "$out/lib/ghidra";
 
+  desktopItem = makeDesktopItem {
+    name = "ghidra";
+    exec = "ghidra";
+    icon = "ghidra";
+    desktopName = "Ghidra";
+    genericName = "Ghidra Software Reverse Engineering Suite";
+    categories = "Development;";
+  };
+
+
 in stdenv.mkDerivation {
 
-  name = "ghidra-9.0.4";
+  name = "ghidra-9.1";
 
   src = fetchurl {
-    url = https://ghidra-sre.org/ghidra_9.0.4_PUBLIC_20190516.zip;
-    sha256 = "1gqqxk57hswwgr97qisqivcfgjdxjipfdshyh4r76dyrfpa0q3d5";
+    url = https://ghidra-sre.org/ghidra_9.1_PUBLIC_20191023.zip;
+    sha256 = "0pl7s59008gvgwz4mxp7rz3xr3vaa12a6s5zvx2yr9jxx3gk1l99";
   };
 
   nativeBuildInputs = [
@@ -22,13 +32,24 @@ in stdenv.mkDerivation {
   buildInputs = [
     stdenv.cc.cc.lib
     pam
+    icoutils
   ];
 
   dontStrip = true;
 
   installPhase = ''
     mkdir -p "${pkg_path}"
+    mkdir -p "${pkg_path}" "$out/share/applications"
     cp -a * "${pkg_path}"
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    
+    icotool -x "${pkg_path}/support/ghidra.ico"
+    rm ghidra_4_40x40x32.png
+    for f in ghidra_*.png; do
+      res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -d"x" -f1-2)
+      mkdir -pv "$out/share/icons/hicolor/$res/apps"
+      mv "$f" "$out/share/icons/hicolor/$res/apps/ghidra.png"
+    done;
   '';
 
   postFixup = ''
diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix
index 04fa923ce2c..a559039d95a 100644
--- a/pkgs/tools/security/gnome-keysign/default.nix
+++ b/pkgs/tools/security/gnome-keysign/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitLab
+, fetchpatch
 , python3
 , wrapGAppsHook
 , gobject-introspection
@@ -11,22 +12,38 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-keysign";
-  version = "1.0.1";
+  version = "1.2.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "0iy70dskd7wly37lpb2ypd9phhyml5j3c7rzajii4f2s7zgb3abg";
+    sha256 = "1sjphi1lsivg9jmc8khbcqa9w6608pkrccz4nz3rlcc54hn0k0sj";
   };
 
+  patches = [
+    # fix build failure due to missing import
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/216c3677e68960afc517edc00529323e85909323.patch";
+      sha256 = "1w410gvcridbq26sry7fxn49v59ss2lc0w5ab7csva8rzs1nc990";
+    })
+
+    # stop requiring lxml (no longer used)
+    # https://gitlab.gnome.org/GNOME/gnome-keysign/merge_requests/23
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/ffc6f40584d7564951e1c8b6d18d4f8a6a3fa09d.patch";
+      sha256 = "1hs6mmhi2f21kvy26llzvp37yf0i0dr69d18r641139nr6qg6kwy";
+      includes = [ "setup.py" ];
+    })
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
   ] ++ (with python3.pkgs; [
     Babel
-    lxml
+    babelgladeextractor
   ]);
 
   buildInputs = [
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index f62f10c8cf9..9aa92fd6829 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -1,26 +1,26 @@
 { fetchurl, fetchpatch, stdenv, pkgconfig, libgcrypt, libassuan, libksba
-, libgpgerror, libiconv, npth, gettext, texinfo, pcsclite, sqlite
-, buildPackages
+, libgpgerror, libiconv, npth, gettext, texinfo, buildPackages
 
 # Each of the dependencies below are optional.
 # Gnupg can be built without them at the cost of reduced functionality.
-, pinentry ? null, guiSupport ? false
-, adns ? null, gnutls ? null, libusb ? null, openldap ? null
-, readline ? null, zlib ? null, bzip2 ? null
+, guiSupport ? true, enableMinimal ? false
+, adns ? null , bzip2 ? null , gnutls ? null , libusb ? null , openldap ? null
+, pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ?
+null
 }:
 
 with stdenv.lib;
 
-assert guiSupport -> pinentry != null;
+assert guiSupport -> pinentry != null && enableMinimal == false;
 
 stdenv.mkDerivation rec {
   pname = "gnupg";
 
-  version = "2.2.17";
+  version = "2.2.19";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg";
+    sha256 = "1h6yx6sdpz3lf9gdppgxqcf73baynr8gflmh43286fkgw3058994";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' \
         configure doc/dirmngr.texi doc/gnupg.info-1
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
+  '' + stdenv.lib.optionalString ( stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   ''; #" fix Emacs syntax highlighting :-(
 
@@ -50,7 +50,14 @@ stdenv.mkDerivation rec {
     "--with-npth-prefix=${npth}"
   ] ++ optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}";
 
-  postInstall = ''
+  postInstall = if enableMinimal
+  then ''
+    rm -r $out/{libexec,sbin,share}
+    for f in `find $out/bin -type f -not -name gpg`
+    do
+      rm $f
+    done
+  '' else ''
     mkdir -p $out/lib/systemd/user
     for f in doc/examples/systemd-user/*.{service,socket} ; do
       substitute $f $out/lib/systemd/user/$(basename $f) \
diff --git a/pkgs/tools/security/gobuster/default.nix b/pkgs/tools/security/gobuster/default.nix
new file mode 100644
index 00000000000..c3426bee965
--- /dev/null
+++ b/pkgs/tools/security/gobuster/default.nix
@@ -0,0 +1,25 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "gobuster";
+  version = "3.0.1";
+
+  src = fetchFromGitHub {
+    owner = "OJ";
+    repo = "gobuster";
+    rev = "v${version}";
+    sha256 = "0q8ighqykh8qyvidnm6az6dc9mp32bbmhkmkqzl1ybbw6paa8pym";
+  };
+
+  modSha256 = "0jq0z5s05vqdvq7v1gdjwlqqwbl1j2rv9f16k52idl50vdiqviql";
+
+  meta = with lib; {
+    description = "Tool used to brute-force URIs, DNS subdomains, Virtual Host names on target web servers";
+    homepage = "https://github.com/OJ/gobuster";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pamplemousse ];
+  };
+}
diff --git a/pkgs/tools/security/haka/default.nix b/pkgs/tools/security/haka/default.nix
index bd7d356c1a0..bfac54d2d86 100644
--- a/pkgs/tools/security/haka/default.nix
+++ b/pkgs/tools/security/haka/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
     homepage = http://www.haka-security.org/;
     license = stdenv.lib.licenses.mpl20;
     maintainers = [ stdenv.lib.maintainers.tvestelind ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ]; # fails on aarch64
   };
 }
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index 40e9ee03952..8e70e0def41 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "5.2.2";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "0jschcjk9z9s3q2f7qcb4nmjmyipar3f0yqbrgmbg3jpgamahykn";
+    sha256 = "1pqvxncpcnwxs89imma01ry30bz7cjifm8wz1s80yclkxxf80php";
   };
 
   buildInputs = [ curl openssl zlib ];
diff --git a/pkgs/tools/security/ipscan/default.nix b/pkgs/tools/security/ipscan/default.nix
new file mode 100644
index 00000000000..40546b6f1c3
--- /dev/null
+++ b/pkgs/tools/security/ipscan/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, jdk, jre, swt, makeWrapper, xorg, dpkg }:
+
+stdenv.mkDerivation rec {
+  pname = "ipscan";
+  version = "3.6.2";
+
+  src = fetchurl {
+    url = "https://github.com/angryip/ipscan/releases/download/${version}/ipscan_${version}_amd64.deb";
+    sha256 = "0wnnnabpj0dsxdijvss5sl9kd4i6rmcq55zbas33xs3c5g305ssk";
+  };
+
+  sourceRoot = ".";
+  unpackCmd = "${dpkg}/bin/dpkg-deb -x $src .";
+
+  buildInputs = [ makeWrapper jdk ];
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp usr/lib/ipscan/ipscan-linux64-${version}.jar $out/share/${pname}-${version}.jar
+
+    makeWrapper ${jre}/bin/java $out/bin/ipscan \
+      --prefix LD_LIBRARY_PATH : "$out/lib/:${stdenv.lib.makeLibraryPath [ swt xorg.libXtst ]}" \
+      --add-flags "-Xmx256m -cp $out/share/${pname}-${version}.jar:${swt}/jars/swt.jar net.azib.ipscan.Main"
+
+    mkdir -p $out/share/applications
+    cp usr/share/applications/ipscan.desktop $out/share/applications/ipscan.desktop
+    substituteInPlace $out/share/applications/ipscan.desktop --replace "/usr/bin" "$out/bin"
+
+    mkdir -p $out/share/pixmaps
+    cp usr/share/pixmaps/ipscan.png $out/share/pixmaps/ipscan.png
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast and friendly network scanner";
+    homepage = https://angryip.org;
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ kylesferrazza ];
+  };
+}
diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix
index 213f7c30051..86b88638bd7 100644
--- a/pkgs/tools/security/jd-gui/default.nix
+++ b/pkgs/tools/security/jd-gui/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, fetchurl, gradle_2_5, perl, makeWrapper, jre, makeDesktopItem, writeText, runtimeShell }:
+{ stdenv, fetchFromGitHub, jre, jdk, makeDesktopItem, perl, writeText, runtimeShell }:
 
 let
-  version = "1.4.0";
-  name = "jd-gui-${version}";
-
-  src = fetchurl {
-    url    = "https://github.com/java-decompiler/jd-gui/archive/v${version}.tar.gz";
-    sha256 = "0anz7szlr5kgmsmkyv34jdynsnk8v6kvibcyz98jsd96fh725lax";
+  pname = "jd-gui";
+  version = "1.6.5";
+
+  src = fetchFromGitHub {
+    owner = "java-decompiler";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yn2xcwznig941pw2f3wi8ixz1wprxcn9wl0g2ggdzx51rfwgzzi";
   };
 
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
+    name = "${pname}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_2_5 perl ];
+
+    nativeBuildInputs = [ jdk perl ];
+
+    patchPhase = "patchShebangs gradlew";
 
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d);
-      gradle --no-daemon build
+      ./gradlew --no-daemon jar
     '';
 
     # Mavenize dependency paths
@@ -25,11 +30,12 @@ let
       find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
         | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
         | sh
+      cp -r $GRADLE_USER_HOME/wrapper $out
     '';
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "1apmqiphnav79m4rdii58h7f4qslpfig4qybyyl2fr7zk92gv3l9";
+    outputHash = "1s4p91iiyikrsgvpzkhw3jm5lsm0jpzp7iw7afdhhl9jm18igs70";
   };
 
   # Point to our local deps repo
@@ -59,18 +65,24 @@ let
     comment = "Java Decompiler JD-GUI";
     desktopName = "JD-GUI";
     genericName = "Java Decompiler";
-    mimeType = "application/x-java-archive;application/x-java";
+    mimeType = "application/java;application/java-vm;application/java-archive";
     categories = "Development;Debugger;";
+    extraEntries="StartupWMClass=org-jd-gui-App";
   };
 
-in stdenv.mkDerivation {
-  inherit name version src;
+in stdenv.mkDerivation rec {
+  inherit pname version src;
+  name = "${pname}-${version}";
 
-  nativeBuildInputs = [ gradle_2_5 perl makeWrapper ];
+  nativeBuildInputs = [ jdk ];
+
+  patchPhase = "patchShebangs gradlew";
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
-    gradle --offline --no-daemon --info --init-script ${gradleInit} jar
+    cp -r ${deps}/wrapper $GRADLE_USER_HOME
+    chmod u+w $GRADLE_USER_HOME/wrapper/dists/gradle*/*/*.lck
+    ./gradlew --offline --no-daemon --info --init-script ${gradleInit} jar
   '';
 
   installPhase = let
@@ -83,18 +95,16 @@ in stdenv.mkDerivation {
     cat > $out/bin/jd-gui <<EOF
     #!${runtimeShell}
     export JAVA_HOME=${jre}
-    ${jre}/bin/java -jar ${jar} $@
+    exec ${jre}/bin/java -jar ${jar} "\$@"
     EOF
     chmod +x $out/bin/jd-gui
 
     ${(desktopItem "$out/bin/jd-gui").buildCommand}
   '';
 
-  dontStrip = true;
-
   meta = with stdenv.lib; {
     description = "Fast Java Decompiler with powerful GUI";
-    homepage    = "http://jd.benow.ca/";
+    homepage    = "https://java-decompiler.github.io/";
     license     = licenses.gpl3;
     platforms   = platforms.unix;
     maintainers = [ maintainers.thoughtpolice ];
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index 4107e9fcf14..17e02e736dc 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -31,7 +31,10 @@ stdenv.mkDerivation rec {
     export AS=$CC
     export LD=$CC
   '';
-  configureFlags = [ "--disable-native-macro" ];
+  configureFlags = [
+    "--disable-native-tests"
+    "--with-systemwide"
+  ];
 
   buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ];
   nativeBuildInputs = [ gcc python3Packages.wrapPython perl makeWrapper ];
@@ -44,14 +47,13 @@ stdenv.mkDerivation rec {
   # gcc: error: memdbg.o: No such file or directory
   enableParallelBuilding = false;
 
-  NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
-
   postInstall = ''
-    mkdir -p "$out/bin" "$out/etc/john" "$out/share/john" "$out/share/doc/john"
+    mkdir -p "$out/bin" "$out/etc/john" "$out/share/john" "$out/share/doc/john" "$out/share/john/rules"
     find -L ../run -mindepth 1 -maxdepth 1 -type f -executable \
       -exec cp -d {} "$out/bin" \;
     cp -vt "$out/etc/john" ../run/*.conf
     cp -vt "$out/share/john" ../run/*.chr ../run/password.lst
+    cp -vt "$out/share/john/rules" ../run/rules/*.rule
     cp -vrt "$out/share/doc/john" ../doc/*
   '';
 
@@ -67,7 +69,7 @@ stdenv.mkDerivation rec {
     description = "John the Ripper password cracker";
     license = licenses.gpl2;
     homepage = https://github.com/magnumripper/JohnTheRipper/;
-    maintainers = with maintainers; [ offline ];
-    platforms = [ "x86_64-linux" "x86_64-darwin"];
+    maintainers = with maintainers; [ offline matthewbauer ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 653858d3696..1edf86675c3 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -6,10 +6,10 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "4.7.2";
+  version = "5.0.0";
 
   goPackagePath = "github.com/keybase/client";
-  subPackages = [ "go/keybase" ];
+  subPackages = [ "go/kbnm" "go/keybase" ];
 
   dontRenameImports = true;
 
@@ -17,7 +17,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "1ixfq9qv71misg04fvf4892z956w5aydq0r1wk6qk5jjqp6gf4lv";
+    sha256 = "0cxxqmgp82qi2b1fljyfa38is94y8ghb2pd31nbyh8y4wnmi0x1s";
   };
 
   patches = [
@@ -36,5 +36,6 @@ buildGoPackage rec {
     description = "The Keybase official command-line utility and service.";
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ carlsverre np rvolosatovs ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/security/keybase/fix-paths-kbfs.patch b/pkgs/tools/security/keybase/fix-paths-kbfs.patch
deleted file mode 100644
index 1180f38b865..00000000000
--- a/pkgs/tools/security/keybase/fix-paths-kbfs.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/go/kbfs/libfuse/mounter.go b/go/kbfs/libfuse/mounter.go
-index d791ffc2..b116ad5d 100644
---- a/go/kbfs/libfuse/mounter.go
-+++ b/go/kbfs/libfuse/mounter.go
-@@ -108,7 +108,7 @@ func (m *mounter) Unmount() (err error) {
- 	case "darwin":
- 		_, err = exec.Command("/sbin/umount", dir).Output()
- 	case "linux":
--		fusermountOutput, fusermountErr := exec.Command("fusermount", "-u", dir).CombinedOutput()
-+		fusermountOutput, fusermountErr := exec.Command("@fusermount@", "-u", dir).CombinedOutput()
- 		// Only clean up mountdir on a clean unmount.
- 		if fusermountErr == nil {
- 			m.log.Info("Successfully unmounted")
-@@ -135,7 +135,7 @@ func (m *mounter) Unmount() (err error) {
- 				"/usr/sbin/diskutil", "unmountDisk", "force", dir).Output()
- 		case "linux":
- 			// Lazy unmount; will unmount when KBFS is no longer in use.
--			_, err = exec.Command("fusermount", "-u", "-z", dir).Output()
-+			_, err = exec.Command("@fusermount@", "-u", "-z", dir).Output()
- 		default:
- 			err = errors.New("Forced unmount is not supported on this platform yet")
- 		}
-diff --git a/go/vendor/bazil.org/fuse/mount_linux.go b/go/vendor/bazil.org/fuse/mount_linux.go
-index ec7fd89c..4d0a9e30 100644
---- a/go/vendor/bazil.org/fuse/mount_linux.go
-+++ b/go/vendor/bazil.org/fuse/mount_linux.go
-@@ -196,7 +196,7 @@ func mount(dir string, conf *mountConfig, ready chan<- struct{}, _ *error) (fuse
- 	defer readFile.Close()
- 
- 	cmd := exec.Command(
--		"fusermount",
-+		"@fusermount@",
- 		"-o", conf.getOptions(),
- 		"--",
- 		dir,
-diff --git a/go/vendor/bazil.org/fuse/unmount_linux.go b/go/vendor/bazil.org/fuse/unmount_linux.go
-index f02448af..6e4c6c23 100644
---- a/go/vendor/bazil.org/fuse/unmount_linux.go
-+++ b/go/vendor/bazil.org/fuse/unmount_linux.go
-@@ -21,7 +21,7 @@ func unmount(dir string) error {
- 		return sysunix.Unmount(dir, sysunix.MNT_DETACH)
- 	}
- 
--	cmd := exec.Command("fusermount", "-u", dir)
-+	cmd := exec.Command("@fusermount@", "-u", dir)
- 	output, err := cmd.CombinedOutput()
- 	if err != nil {
- 		if len(output) > 0 {
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 1d32f1cc881..2ec97f88236 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, alsaLib, atk, cairo, cups, udev
-, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3
+, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3, libappindicator-gtk3
 , libnotify, nspr, nss, pango, systemd, xorg, autoPatchelfHook, wrapGAppsHook
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20191028173732.6fc2e969b4";
+  versionSuffix = "20191114203213.f73f97dac6";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "4.7.2"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.0.0"; # 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 = "01slhdxcjs1543rz1khxhzn25g26vm9fd9mcyd5ahp2v4g37b8sd";
+    sha256 = "e175e52a6355d8359d66ef4b445981b572c513754329d5c7f75ad7bb14ec348f";
   };
 
   nativeBuildInputs = [
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas
     gtk3
+    libappindicator-gtk3
     libnotify
     nspr
     nss
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
 
   runtimeDependencies = [
     udev.lib
+    libappindicator-gtk3
   ];
 
   dontBuild = true;
diff --git a/pkgs/tools/security/keybase/kbfs.nix b/pkgs/tools/security/keybase/kbfs.nix
index 93c7bd540d8..9448182a65a 100644
--- a/pkgs/tools/security/keybase/kbfs.nix
+++ b/pkgs/tools/security/keybase/kbfs.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, buildGoPackage, fetchFromGitHub, fuse, osxfuse, keybase }:
+{ stdenv, buildGoPackage, fetchFromGitHub, keybase }:
 
 buildGoPackage {
   pname = "kbfs";
@@ -10,13 +10,6 @@ buildGoPackage {
 
   dontRenameImports = true;
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths-kbfs.patch;
-      fusermount = "${fuse}/bin/fusermount";
-    })
-  ];
-
   buildFlags = [ "-tags production" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix
index 7231f6821da..2b52099e70b 100644
--- a/pkgs/tools/security/ossec/default.nix
+++ b/pkgs/tools/security/ossec/default.nix
@@ -31,8 +31,8 @@ yes
   '';
 
   meta = {
-    description = "Open soruce host-based instrusion detection system";
-    homepage = http://www.ossec.net;
+    description = "Open source host-based instrusion detection system";
+    homepage = https://www.ossec.net;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/security/pass/extensions/genphrase.nix b/pkgs/tools/security/pass/extensions/genphrase.nix
index c031c59e3f6..187852e8b55 100644
--- a/pkgs/tools/security/pass/extensions/genphrase.nix
+++ b/pkgs/tools/security/pass/extensions/genphrase.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pass-genphrase";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "congma";
     repo = "pass-genphrase";
     rev = version;
-    sha256 = "0vcg3b79n1r949qfn8ns85bq2mfsmbf4jw2dlzif8425n8ppfsgd";
+    sha256 = "1sdkmz5s6wdx4vdlgqf5kmyrm17zwzy3n52s13qpx32bnnajap1h";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/security/pbis/default.nix b/pkgs/tools/security/pbis/default.nix
new file mode 100644
index 00000000000..ee1282e9a13
--- /dev/null
+++ b/pkgs/tools/security/pbis/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, perl, flex, bison, curl,
+  pam, popt, libiconv, libuuid, openssl_1_0_2, cyrus_sasl, sqlite, tdb, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "pbis-open";
+  version = "9.1.0";
+
+  src = fetchFromGitHub {
+    owner = "BeyondTrust";
+    repo = pname;
+    rev = version;
+    sha256 = "081jm34sf488nwz5wzs55d6rxx3sv566x6p4h1yqcjaw36174m8v";
+  };
+
+  nativeBuildInputs = [
+    autoconf automake libtool perl flex bison
+  ];
+
+  # curl must be placed after openssl_1_0_2, because it pulls openssl 1.1 dependency.
+  buildInputs = [
+    pam popt libiconv libuuid openssl_1_0_2 cyrus_sasl
+    curl sqlite popt tdb libxml2 /*libglade2 for gtk*/
+  ];
+
+  postPatch = ''
+    patchShebangs .
+    sed -i -e 's/legacy//g' lwupgrade/MakeKitBuild # disable /opt/ symlinks
+    sed -i -e 's/tdb.h//g' samba-interop/MakeKitBuild #include <tdb.h> fails but it won't affect the build
+  '';
+  preConfigure = ''
+    mkdir release
+    cd release
+    if [ $CC = gcc ]; then
+            NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=format-overflow"
+    fi
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${stdenv.lib.getDev libxml2}/include/libxml2 -Wno-error=array-bounds -Wno-error=pointer-sign -Wno-error=deprecated-declarations -Wno-error=unused-variable"
+  '';
+  configureScript = ''../configure'';
+  configureFlags = [
+    "CFLAGS=-O"
+    "--docdir=${placeholder "prefix"}/share/doc"
+    "--mandir=${placeholder "prefix"}/share/doc/man"
+    "--datadir=${placeholder "prefix"}/share"
+    "--lw-initdir=${placeholder "prefix"}/etc/init.d"
+    "--selinux=no" # NixOS does not support SELinux
+    "--build-isas=x86_64" # [lwbase] endianness (host/x86_32): [lwbase] ERROR: could not determine endianness
+    "--fail-on-warn=no"
+    # "--debug=yes"
+  ]; # ^ See https://github.com/BeyondTrust/pbis-open/issues/124
+  configureFlagsArray = [ "--lw-bundled-libs=linenoise-mob tomlc99 opensoap krb5 cyrus-sasl curl openldap ${ if libuuid == null then "libuuid" else "" }" ];
+  # ^ it depends on old krb5 version 1.9 (issue #228)
+  # linenoise-mod, tomlc99, opensoap is not in nixpkgs.
+  # krb5 must be old one, and cyrus-sasl and openldap have dependency to newer libkrb5 that cause runtime error
+  enableParallelBuilding = true;
+  makeFlags = "SHELL=";
+  hardeningDisable = [ "format" ]; # -Werror=format-security
+  installPhase = ''
+    mkdir $sys
+    mv stage/{lib,var} $sys
+    mv stage$out $out
+  '';
+  outputs = [ "out" "sys" ];
+
+  meta = with stdenv.lib; {
+    description = "BeyondTrust AD Bridge Open simplifies the process of joining non-Microsoft hosts to Active Directory domains";
+    homepage = "https://github.com/BeyondTrust/pbis-open";
+    license = with licenses; [ gpl2 lgpl21 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index eed462ef0d0..263c308fc3d 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python2
+{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python3
 , IOKit ? null }:
 
 stdenv.mkDerivation rec {
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     moveToOutput bin/pcsc-spy "$dev"
   '';
 
-  nativeBuildInputs = [ pkgconfig perl python2 ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
+  nativeBuildInputs = [ pkgconfig perl ];
+  buildInputs = [ python3 ] ++ stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
              ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 5aa4ad47d42..6d2b5569a0d 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -36,6 +36,6 @@ python3Packages.buildPythonApplication {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu kierdavis ];
+    maintainers = with stdenv.lib.maintainers; [ kierdavis ];
   };
 }
diff --git a/pkgs/tools/security/ripasso/cursive.nix b/pkgs/tools/security/ripasso/cursive.nix
index 9eac6b6e5ca..b273b882daf 100644
--- a/pkgs/tools/security/ripasso/cursive.nix
+++ b/pkgs/tools/security/ripasso/cursive.nix
@@ -1,30 +1,37 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security }:
 
 with rustPlatform;
 buildRustPackage rec {
-  version = "unstable-2019-08-27";
+  version = "0.3.0";
   pname = "ripasso-cursive";
 
   src = fetchFromGitHub {
     owner = "cortex";
     repo = "ripasso";
-    rev  = "1b5ef4ae19f95f1422ba5cb09e9e689880599c40";
-    sha256 = "1lh1in8knpqz4vbsmdyd4hh8y4bfhxjciysfbq3qzdpdpihgj0nn";
+    rev  = "release-${version}";
+    sha256 = "1rkb23i9gcfmifcl31s8w86k7aza6nxrh3w33fvhv1ins1gxxk7w";
   };
 
-  cargoSha256 = "0dwaa106vj7jbgshhqpjabsr0zmkg1a5syzky7jcaasvc7r7njwl";
-  cargoBuildFlags = [ "-p ripasso-cursive" ];
+  cargoSha256 = "1p0bsl4h2w257vfjbpqiga693gaslfq34g30dghpqb5n4kl416zp";
+
+  cargoBuildFlags = [ "-p ripasso-cursive -p ripasso-man" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     ncurses python3 openssl libgpgerror gpgme xorg.libxcb
-  ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
+
+  preFixup = ''
+    mkdir -p "$out/man/man1"
+    $out/bin/ripasso-man > $out/man/man1/ripasso-cursive.1
+    rm $out/bin/ripasso-man
+  '';
 
   meta = with stdenv.lib; {
     description = "A simple password manager written in Rust";
     homepage = "https://github.com/cortex/ripasso";
     license = licenses.gpl3;
     maintainers = with maintainers; [ sgo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 41faa375f83..bd289200fe8 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchFromGitHub, libtool, autoreconfHook, pkgconfig
 , sysfsutils
+, argp-standalone
   # WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS
   # https://www.nist.gov/programs-projects/nist-randomness-beacon
 , curl ? null, libxml2 ? null, openssl ? null, withNistBeacon ? false
   # Systems that support RDRAND but not AES-NI require libgcrypt to use RDRAND as an entropy source
 , libgcrypt ? null, withGcrypt ? true
-  # Not sure if jitterentropy is safe to use for cryptography
-  # and thus a default entropy source
-, jitterentropy ? null, withJitterEntropy ? false
+, jitterentropy ? null, withJitterEntropy ? true
 , libp11 ? null, opensc ? null, withPkcs11 ? true
 }:
 
@@ -15,18 +14,16 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.7";
+  version = "6.9";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = "rng-tools";
     rev = "v${version}";
-    sha256 = "19f75m6mzg8h7b4snzg7d6ypvkz6nq32lrpi9ja95gqz4wsd18a5";
+    sha256 = "065jf26s8zkicb95zc9ilksjdq9gqrh5vcx3mhi6mypbnamn6w98";
   };
 
   postPatch = ''
-    cp README.md README
-
     ${optionalString withPkcs11 ''
       substituteInPlace rngd.c \
         --replace /usr/lib64/opensc-pkcs11.so ${opensc}/lib/opensc-pkcs11.so
@@ -42,25 +39,27 @@ stdenv.mkDerivation rec {
     (withFeature   withPkcs11        "pkcs11")
   ];
 
+  # argp-standalone is only used when libc lacks argp parsing (musl)
   buildInputs = [ sysfsutils ]
+    ++ optionals stdenv.hostPlatform.isx86_64 [ argp-standalone ]
     ++ optionals withGcrypt        [ libgcrypt ]
     ++ optionals withJitterEntropy [ jitterentropy ]
     ++ optionals withNistBeacon    [ curl libxml2 openssl ]
     ++ optionals withPkcs11        [ libp11 openssl ];
 
-  # This shouldn't be necessary but is as of 6.7
-  NIX_LDFLAGS = optionalString withPkcs11 "-lcrypto";
-
   enableParallelBuilding = true;
 
   # For cross-compilation
   makeFlags = [ "AR:=$(AR)" ];
 
+  doCheck = true;
+  preCheck = "patchShebangs tests/*.sh";
+
   meta = {
     description = "A random number generator daemon";
     homepage = https://github.com/nhorman/rng-tools;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ johnazoidberg ];
+    maintainers = with maintainers; [ johnazoidberg c0bw3b ];
   };
 }
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 554ed93f093..21403225aad 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -9,16 +9,16 @@ assert pythonSupport -> pythonPackages != null;
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gvczghyik56jlnb8cz7jg2l3nbm519gf19g7l5blxci3009v23d";
+    sha256 = "1k0pr3vn77fpfzyvbg7xb4jwm6srsiws9bsd8q7i3hl6j56a880i";
   };
 
-  cargoSha256 = "0dk9sjcbmygbdpwqnah5krli1p9j5hahgiqrca9c0kfpfiwgx62q";
+  cargoSha256 = "15bhg7b88rq8p0bn6y5wwv2l42kqb1qyx2s3kw0r0v0wadf823q3";
 
   nativeBuildInputs = [
     pkgconfig
@@ -87,6 +87,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ minijackson doronbehar ];
     platforms = platforms.all;
-    broken = true;
+    broken = stdenv.targetPlatform.isDarwin;
   };
 }
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index b132066fee5..8aa2e219e7d 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sops";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
-    rev = version;
+    rev = "v${version}";
     owner = "mozilla";
     repo = pname;
-    sha256 = "1mrqf9xgv88v919x7gz9l1x70xwvp6cfz3zp9ip1nj2pzn6ixz3d";
+    sha256 = "1515bk0fl0pvdkp402l51gdg63bmqlh89sglss6prc1qqvv5v2xy";
   };
 
-  modSha256 = "13ja8nxycmdjnrnsxdd1qs06x408aqr4im127a6y433pkx2dg7gc";
+  modSha256 = "0vhxd3dschj5i9sig6vpxzbl59cas1qa843akzmjnfjrrafb916y";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/mozilla/sops";
diff --git a/pkgs/tools/security/step-cli/default.nix b/pkgs/tools/security/step-cli/default.nix
new file mode 100644
index 00000000000..0ecd3bc8253
--- /dev/null
+++ b/pkgs/tools/security/step-cli/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "step-cli";
+  version = "0.13.3";
+
+  goPackagePath = "github.com/smallstep/cli";
+
+  src = fetchFromGitHub {
+    owner = "smallstep";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "0b5hk9a8yq1nyh8m1gmf28yiha95xwsc4dk321g84hvai7g47pbr";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
+    homepage = https://smallstep.com/cli/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ xfix ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/security/step-cli/deps.nix b/pkgs/tools/security/step-cli/deps.nix
new file mode 100644
index 00000000000..bae1ba070a6
--- /dev/null
+++ b/pkgs/tools/security/step-cli/deps.nix
@@ -0,0 +1,453 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev =  "e2d15f34fcf99d5dbb871c820ec73f710fca9815";
+      sha256 = "05kkrsmpragy69bj6s80pxlm3pbwxrkkx7wgk0xigs6y2n6ylpds";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ThomasRooney/gexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ThomasRooney/gexpect";
+      rev =  "5482f03509440585d13d8f648989e05903001842";
+      sha256 = "04zan78ndabxlwsw2hdcqbz32435pw2s04ljza07jlxnxzjp4kws";
+    };
+  }
+  {
+    goPackagePath  = "github.com/asaskevich/govalidator";
+    fetch = {
+      type = "git";
+      url = "https://github.com/asaskevich/govalidator";
+      rev =  "ccb8e960c48f04d6935e72476ae4a51028f9e22f";
+      sha256 = "1sih4yb6fqmdp5g6594yyida0qm7dvvqcfvf8pgikydkxyqb8g0k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boombuler/barcode";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boombuler/barcode";
+      rev =  "3cfea5ab600ae37946be2b763b8ec2c1cf2d272d";
+      sha256 = "1fzb8wz1ny2sc78g9rm0bcm80pgwvkm2k6lmim2sb4jgm1j3sajd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev =  "2972be24d48e78746da79ba8e24e8b488c9880de";
+      sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/corpix/uarand";
+    fetch = {
+      type = "git";
+      url = "https://github.com/corpix/uarand";
+      rev =  "2b8494104d86337cdd41d0a49cbed8e4583c0ab4";
+      sha256 = "06ml5m8l9wbr96gvyg6z1syawn797f8kmq74nhgry3vqpngyb6yn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev =  "391b6d3b93e6014fe8c2971fcc0c1266e47dbbd9";
+      sha256 = "13zyd6irxagwfv4azgmpk2qg8f80plhxrcjl8x89jzsjkl0a0pkx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev =  "6a90982ecee230ff6cba02d5bd386acc030be9d3";
+      sha256 = "1x3l4jgps0v1bjvd446kj4dp0ckswjckxgrng9afm275ixnf83ix";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-chi/chi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-chi/chi";
+      rev =  "0ebf7795c516423a110473652e9ba3a59a504863";
+      sha256 = "18hwj6vni19ykp3bsmg9ggnl6y2hawym0vbsigdgx8craqbp7jb1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev =  "72cd26f257d44c1114970e19afddcd812016007e";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "b5d812f8a3706043e23a9cd5babf2e5423744d30";
+      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/certificate-transparency-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/certificate-transparency-go";
+      rev =  "3629d6846518309d22c16fee15d1007262a459d2";
+      sha256 = "16vsq7dd2kbbk3vwlrhm3jrlg5kq16wf4iz6d1gnyc32s5fcy9d7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/icrowley/fake";
+    fetch = {
+      type = "git";
+      url = "https://github.com/icrowley/fake";
+      rev =  "4178557ae428460c3780a381c824a1f3aceb6325";
+      sha256 = "1mv4bxfphaqbvacy49v4lf4gf2nmadzpmjq0jbdx93wi5bnkc977";
+    };
+  }
+  {
+    goPackagePath  = "github.com/juju/ansiterm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/ansiterm";
+      rev =  "720a0952cc2ac777afc295d9861263e2a4cf96a1";
+      sha256 = "0n6j0y7xhashp8gdkdl0r7vlbkdrkymrzxn9hxrx522k2isggs7h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/kballard/go-shellquote";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kballard/go-shellquote";
+      rev =  "95032a82bc518f77982ea72343cc1ade730072f0";
+      sha256 = "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80";
+    };
+  }
+  {
+    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev =  "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath  = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev =  "db8e3cd836b82e82e0a9c8edc6896967dd31374f";
+      sha256 = "0knzlvndfgjm2k23vhp2xj1cv3fm31vbg5b20gdl1vnxk7rh549h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/lunixbochs/vtclean";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lunixbochs/vtclean";
+      rev =  "2d01aacdc34a083dca635ba869909f5fc0cd4f41";
+      sha256 = "1ss88dyx5hr4imvpg5lixvp0cf7c2qm4x9m8mdgshjpm92g5rqmf";
+    };
+  }
+  {
+    goPackagePath  = "github.com/manifoldco/promptui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/manifoldco/promptui";
+      rev =  "157c96fb638a14d268b305cf2012582431fcc410";
+      sha256 = "0zha48i5f529q4j1qycybdzza4l9706hijiqws36ikd5jzg8i7wz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mmcloughlin/avo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mmcloughlin/avo";
+      rev =  "2e7d06bc7ada2979f17ccf8ebf486dba23b84fc7";
+      sha256 = "0fna1hhg193zy428lkj24a8853g3qviqs2c9xi96mji6ldprna5d";
+    };
+  }
+  {
+    goPackagePath  = "github.com/newrelic/go-agent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/newrelic/go-agent";
+      rev =  "f5bce3387232559bcbe6a5f8227c4bf508dac1ba";
+      sha256 = "1zbp1cqhxp0sz3faymam6h1f91r1gl8dnnjx7qg8r06bd5fbzllb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pquerna/otp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pquerna/otp";
+      rev =  "b7b89250c468c06871d3837bee02e2d5c155ae19";
+      sha256 = "0gsl9rh8awira21z6cj26c6swasskx03z66q72yjc1mpbvyg6han";
+    };
+  }
+  {
+    goPackagePath  = "github.com/rs/xid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/xid";
+      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
+      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/samfoo/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/samfoo/ansi";
+      rev =  "b6bd2ded7189ce35bc02233b554eb56a5146af73";
+      sha256 = "0sw2d7c6l2ry34x0n4j37ydr8s7hxnax76yh6n35gb2g6f1h46sz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev =  "86672fcb3f950f35f2e675df2240550f2a50762f";
+      sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "ad15b42461921f1fb3529b058c6786c6a45d5162";
+      sha256 = "02xdfcp4f6dqvpavwf1vvr794qgz2fx8929paam7wnvcxy7ib606";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/assert";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/assert";
+      rev =  "de77670473b5492f5d0bce155b5c01534c2d13f7";
+      sha256 = "15z2b4qyylnwgq2pzlaxsdabqxh8dbna4ddprk9rzmsvnfkpds16";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/certificates";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/certificates";
+      rev =  "effb490d276f33b8cdab661df8b57a8ded67e082";
+      sha256 = "1i76bbm4rbpv4cw2ln36v0x74jjkss6j8pdh49hfvb75j2n32790";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/certinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/certinfo";
+      rev =  "78e21b44234ef6ddeb58f5e8aad2ed09975b694a";
+      sha256 = "0zrxql9173vzn7zirv4299j0vw2mzwknivrg8rzhdbkhvbfiql9q";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/nosql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/nosql";
+      rev =  "a0934e12468769d8cbede3ed316c47a4b88de4ca";
+      sha256 = "08bg0sgrhkzflyl0ybi8v2vmk8bfk5pmcyfrizpxssyql7k27fam";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/truststore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/truststore";
+      rev =  "e16045d94a61ca04b60d5d246da3117e7eeb1ecf";
+      sha256 = "15cv3dkn2npf6rwhkb575sdq089rf70rha8wrym4ygc8rjbgwbab";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/zcrypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/zcrypto";
+      rev =  "6bab21fcaafc3d150cf793b6d5f25fe32f49c80e";
+      sha256 = "129az7k556lmnhh14ayrwzrp1y205zdgwk3rj1xcmgisx5irliqp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smallstep/zlint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smallstep/zlint";
+      rev =  "d84eaafe274f9dc1f811ebfbb073e18c466e2a44";
+      sha256 = "1xm7b1wvbify20vk9f3kmgmi5mnj5x2z3czc0r4zylcqcwwjkfd6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "f35b8ab0b5a2cef36673838d662e249dd9c94686";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "b67dcf995b6a7b7f14fad5fcb7cc5441b05e814b";
+      sha256 = "0n5vq4nydlhb7w12jiwphvxqdy4jwpxc3zwlxyhf05lq1nxfb56h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/weppos/publicsuffix-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/weppos/publicsuffix-go";
+      rev =  "386050f8211b04c965721c3591e7d96650a1ea86";
+      sha256 = "17nvc0m0azm418w4mcyk7r1qcik0099vjpn455ia0lxhbqbl701b";
+    };
+  }
+  {
+    goPackagePath  = "go.etcd.io/bbolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/etcd-io/bbolt";
+      rev =  "63597a96ec0ad9e6d43c3fc81e809909e0237461";
+      sha256 = "13d5l6p6c5wvkr6vn9hkhz9c593qifn7fgx0hg4d6jcvg1y0bnm2";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "4d3f4d9ffa16a13f451c3b2999e9c49e9750bf06";
+      sha256 = "0sbsgjm6wqa162ssrf1gnpv62ak5wjn1bn8v7sxwwfg8a93z1028";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "c44066c5c816ec500d459a2a324a753f78531ae0";
+      sha256 = "0mgww74bl15d0jvsh4f3qr1ckjzb8icb8hn0mgs5ppa0b2fgpc4f";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "9b800f95dbbc54abff0acf7ee32d88ba4e328c89";
+      sha256 = "07v3l7q7y59cwvw0mc85i39v7qjcc1jh4svwi789rmrqqm5nq7q6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev =  "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75";
+      sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "54a98f90d1c46b7731eb8fb305d2a321c30ef610";
+      sha256 = "0l7mkdnwhidv8m686x432vmx8z5nqcrr9f46ddgvrxbh4wvyfcll";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/square/go-jose.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/square/go-jose";
+      rev =  "730df5f748271903322feb182be83b43ebbbe27d";
+      sha256 = "11r93g9xrcjqj7qvq8sbd5hy5rnbpmim0vdsp6rbav8gl7wimaa3";
+    };
+  }
+  {
+    goPackagePath  = "howett.net/plist";
+    fetch = {
+      type = "git";
+      url = "https://gitlab.howett.net/go/plist.git";
+      rev =  "591f970eefbbeb04d7b37f334a0c4c3256e32876";
+      sha256 = "1gr74rf6m8bgayf6mxcfaxb3cc49ldlhydzqfafx7di5nds5hxk9";
+    };
+  }
+]
diff --git a/pkgs/tools/security/stoken/default.nix b/pkgs/tools/security/stoken/default.nix
index 38fc884de48..d6375bee649 100644
--- a/pkgs/tools/security/stoken/default.nix
+++ b/pkgs/tools/security/stoken/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Software Token for Linux/UNIX";
     homepage = https://github.com/cernekee/stoken;
     license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index c3e464da516..a0922f4df73 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.28";
+  name = "sudo-1.8.29";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "188k3w67aflbmi4b5z23pxrvzfcfndi22b84w86gzjh8b9sglaci";
+    sha256 = "0z4wyadh9cks17gdpfgx4kvbrlnyb6nai2sd6chk7qh4jsngylyf";
   };
 
   prePatch = ''
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
       #define _PATH_MV "${coreutils}/bin/mv"
     EOF
     makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
-    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
+    installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/"
     '';
 
   nativeBuildInputs = [ groff ];
diff --git a/pkgs/tools/security/tpm2-tools/default.nix b/pkgs/tools/security/tpm2-tools/default.nix
index e2bbf1037d8..b7c2141b0f7 100644
--- a/pkgs/tools/security/tpm2-tools/default.nix
+++ b/pkgs/tools/security/tpm2-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tools";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "02p0wj87fnrpsijd2zaqcxqxicqs36q7vakp6y8and920x36jb0y";
+    sha256 = "1wnw4i2m6dkafqjjma8mxw9419py2v1knhn3zf1gaizdabskgkh7";
   };
 
   nativeBuildInputs = [ pandoc pkgconfig makeWrapper ];
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
index 6f7fed20c89..a38c011d7a4 100644
--- a/pkgs/tools/security/trousers/default.nix
+++ b/pkgs/tools/security/trousers/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "trousers";
-  version = "0.3.13";
+  version = "0.3.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/trousers/trousers/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1lvnla1c1ig2w3xvvrqg2w9qm7a1ygzy1j2gg8j7p8c87i58x45v";
+    sha256 = "0iwgsbrbb7nfqgl61x8aailwxm8akxh9gkcwxhsvf50x4qx72l6f";
   };
 
+  sourceRoot = ".";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ];
 
@@ -16,21 +18,14 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-usercheck" ];
 
-  # Attempt to remove -std=gnu89 when updating if using gcc5
-  NIX_CFLAGS_COMPILE = "-std=gnu89 -DALLOW_NON_TSS_CONFIG_FILE";
-  NIX_LDFLAGS = "-lgcc_s";
-
-  # Fix broken libtool file
-  preFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    sed 's,-lcrypto,-L${openssl.out}/lib -lcrypto,' -i $out/lib/libtspi.la
-  '';
+  NIX_CFLAGS_COMPILE = [ "-DALLOW_NON_TSS_CONFIG_FILE" ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Trusted computing software stack";
     homepage    = http://trousers.sourceforge.net/;
-    license     = licenses.cpl10;
+    license     = licenses.bsd3;
     maintainers = [ maintainers.ak ];
     platforms   = platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 4d47e5d4134..11b0b067ccb 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.2.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "11zi12j09vi6j112a1n8f7sxwp15pbh0801bzh27ihcy01hlzdf8";
+    sha256 = "052aj79gwmydc7ph1g567cbssqf8dsmqxad47k5hc5sc58bx7c93";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 87f2e922ff7..6e2ab221c42 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,30 +1,30 @@
 { stdenv, fetchurl, unzip }:
 
 let
-  version = "1.1.3";
+  version = "1.3.0";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "293b88f4d31f6bcdcc8b508eccb7b856a0423270adebfa0f52f04144c5a22ae0";
+      sha256 = "1crfj4gd1qwwa2xidd0pjffv0n6hf5hbhv6568m6zc1ig0qqm6yq";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "9f2fb99e08fa3d25af1497516d08b5d2d8a73bcacd5354ddec024e9628795867";
+      sha256 = "0pyf0kyvxpmx3fwfvin1r0x30r9byx9lyi81894q06xrhiwbqc0l";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "a0a7a242f8299ac4a00af8aa10ccedaf63013c8a068f56eadfb9d730b87155ea";
+      sha256 = "113vnpz9n6y7z2k9jqpfpxqxqbrmd9bhny79yaxqzkfdqw8vyv3g";
     };
     i686-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_386.zip";
-      sha256 = "50542cfb37abb06e8bb6b8ba41f5ca7d72a4d6a4396d4e3f4a8391bed14f63be";
+      sha256 = "0d191qai0bpl7cyivca26wqgycsj2dz08809z147d1vnrz321v6w";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "c243dce14b2e48e3667c2aa5b7fb37009dd7043b56032d6ebe50dd456715fd3f";
+      sha256 = "1bk5y3knc42mh07gnnn6p109qz908014620h1s0348wp4qfdy49w";
     };
   };
 
@@ -49,6 +49,6 @@ in stdenv.mkDerivation {
     description = "A tool for managing secrets, this binary includes the UI";
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "i686-darwin" ];
     license = licenses.mpl20;
-    maintainers = with maintainers; [ offline psyanticy ];
+    maintainers = with maintainers; [ offline psyanticy mkaito ];
   };
 }
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index 25d3e8d105b..59d8b8c0875 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, pythonPackages, nix, ronn }:
+{ stdenv, python3Packages, nix, ronn }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "vulnix";
-  version = "1.8.2";
+  version = "1.9.4";
 
-  src = pythonPackages.fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0zn21j15vd1z7s40s45zr5wri3r770yvazxqmm60fqpzc5sg552y";
+    sha256 = "06dpdsnz1ih0syas3x25s557qpw0f4kmypvxwaffm734djg8klmi";
   };
 
   outputs = [ "out" "doc" "man" ];
   nativeBuildInputs = [ ronn ];
 
-  checkInputs = with pythonPackages; [
+  checkInputs = with python3Packages; [
     freezegun
     pytest
     pytestcov
@@ -21,10 +21,9 @@ pythonPackages.buildPythonApplication rec {
 
   propagatedBuildInputs = [
     nix
-  ] ++ (with pythonPackages; [
+  ] ++ (with python3Packages; [
     click
     colorama
-    lxml
     pyyaml
     requests
     setuptools
@@ -47,8 +46,8 @@ pythonPackages.buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "NixOS vulnerability scanner";
-    homepage = https://github.com/flyingcircusio/vulnix;
+    homepage = "https://github.com/flyingcircusio/vulnix";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ckauhaus plumps ];
+    maintainers = with maintainers; [ ckauhaus ];
   };
 }
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
index bf03aba1418..7a29a18b7c3 100644
--- a/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,45 +1,53 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.3)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    cms_scanner (0.5.1)
-      nokogiri (~> 1.10.0)
-      opt_parse_validator (~> 1.7.2)
-      public_suffix (~> 3.0.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    cms_scanner (0.7.1)
+      get_process_mem (~> 0.2.5)
+      nokogiri (~> 1.10.4)
+      opt_parse_validator (~> 1.8.1)
+      public_suffix (>= 3.0, < 4.1)
       ruby-progressbar (~> 1.10.0)
+      sys-proctable (~> 1.2.2)
       typhoeus (~> 1.3.0)
       xmlrpc (~> 0.3)
       yajl-ruby (~> 1.4.1)
     concurrent-ruby (1.1.5)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.10.0)
-    i18n (1.6.0)
+    ffi (1.11.3)
+    get_process_mem (0.2.5)
+      ffi (~> 1.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    nokogiri (1.10.3)
+    minitest (5.13.0)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    opt_parse_validator (1.7.2)
-      activesupport (>= 4.2, < 5.3.0)
-      addressable (>= 2.5, < 2.7)
-    public_suffix (3.0.3)
-    ruby-progressbar (1.10.0)
+    opt_parse_validator (1.8.1)
+      activesupport (> 4.2, < 6.1.0)
+      addressable (>= 2.5, < 2.8)
+    public_suffix (4.0.1)
+    ruby-progressbar (1.10.1)
+    sys-proctable (1.2.2)
+      ffi
     thread_safe (0.3.6)
     typhoeus (1.3.1)
       ethon (>= 0.9.0)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    wpscan (3.5.3)
-      cms_scanner (~> 0.5.0)
+    wpscan (3.7.5)
+      cms_scanner (~> 0.7.1)
     xmlrpc (0.3.0)
     yajl-ruby (1.4.1)
+    zeitwerk (2.2.2)
 
 PLATFORMS
   ruby
@@ -48,4 +56,4 @@ DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/tools/security/wpscan/default.nix b/pkgs/tools/security/wpscan/default.nix
index 85455325f69..e7a784c1a77 100644
--- a/pkgs/tools/security/wpscan/default.nix
+++ b/pkgs/tools/security/wpscan/default.nix
@@ -13,7 +13,7 @@ bundlerApp {
 
   meta = with lib; {
     description = "Black box WordPress vulnerability scanner";
-    homepage    = https://wpscan.org/;
+    homepage    = "https://wpscan.org/";
     license     = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ nyanloutre manveru ];
     platforms   = platforms.unix;
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
index c0ad80bd99b..5c0691fda1b 100644
--- a/pkgs/tools/security/wpscan/gemset.nix
+++ b/pkgs/tools/security/wpscan/gemset.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 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,21 +16,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   cms_scanner = {
-    dependencies = ["nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "typhoeus" "xmlrpc" "yajl-ruby"];
+    dependencies = ["get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03hvvqq0s35a6l7lx9zpagv0gcdzhw7jvhzssiaiy6y81cx4z9pn";
+      sha256 = "14xmsigczibihlziisdgabsaz9lm2v31snlkc8kmza73pv8a61r4";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -58,10 +58,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.3";
+  };
+  get_process_mem = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q7pivp9z9pdxc2ha32q7x9zgqy8m9jf87g6n5mvi5l6knxya8sh";
+      type = "gem";
+    };
+    version = "0.2.5";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -69,10 +80,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -89,10 +100,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -100,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.10.7";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -111,30 +122,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14zp0260x652pf75maq9ydvqsqgv8ji9w85gjk8f0vwjykf1151n";
+      sha256 = "19rm44ww3zfb440kqpdprwb7y2d0gcm4znhv4kfs8dkhz8k1k5vy";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.8.1";
   };
   public_suffix = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "4.0.1";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.10.1";
+  };
+  sys-proctable = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ndk34ipd4v96v5cbvj0kbkhnssi4nqrzd7sifyg3bavi1jrw3w8";
+      type = "gem";
+    };
+    version = "1.2.2";
   };
   thread_safe = {
     groups = ["default"];
@@ -174,10 +196,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j4v24iwy35q7qy3l8zr5r8mjn7nc7ahdiq13dpgjwrprvrw1jk2";
+      sha256 = "0vn6i48msxhj8g769vn2s3siv98cnqchblw69ldk1mr85lw4jci6";
       type = "gem";
     };
-    version = "3.5.3";
+    version = "3.7.5";
   };
   xmlrpc = {
     groups = ["default"];
@@ -199,4 +221,14 @@
     };
     version = "1.4.1";
   };
-}
\ No newline at end of file
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+}
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index ccebb2dbab4..e09e1e69408 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -1,21 +1,30 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pcre
+{ stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pcre
 , withCrypto ? true, openssl
 , enableMagic ? true, file
 , enableCuckoo ? true, jansson
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.10.0";
+  version = "3.11.0";
   pname = "yara";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "1qxqk324cyvi4n09s79786ciig1gdyhs9dnsm07hf95a3kh6w5z2";
+    sha256 = "0mx3xm2a70fx8vlynkavq8gfd9w5yjcix5rx85444i2s1h6kcd0j";
   };
 
-  buildInputs = [ autoconf automake libtool pcre]
+  # See: https://github.com/VirusTotal/yara/issues/1036
+  # TODO: This patch should not be necessary in the next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/VirusTotal/yara/commit/04df811fa61fa54390b274bfcf56d7403c184404.patch";
+      sha256 = "0hsbc2k7nmk2kskll971draz0an4rmcs5v0iql47mz596vqvkzmb";
+    })
+  ];
+
+  buildInputs = [ autoconf automake libtool pcre ]
     ++ stdenv.lib.optionals withCrypto [ openssl ]
     ++ stdenv.lib.optionals enableMagic [ file ]
     ++ stdenv.lib.optionals enableCuckoo [ jansson ]
diff --git a/pkgs/tools/system/bootchart/default.nix b/pkgs/tools/system/bootchart/default.nix
deleted file mode 100644
index d3f692b70e7..00000000000
--- a/pkgs/tools/system/bootchart/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{stdenv, fetchFromGitHub, pkgconfig, glib, gtk2, python2Packages }:
-
-stdenv.mkDerivation rec {
-  version = "0.14.8";
-  pname = "bootchart";
-
-  src = fetchFromGitHub {
-    owner = "mmeeks";
-    repo = "bootchart";
-    rev = version;
-    sha256 = "12ja2hp6f49416zfjdx0kjfmlkh9wl9b7wz7gk372kps4gjnypqx";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gtk2 python2Packages.python python2Packages.wrapPython python2Packages.pygtk ];
-  pythonPath = with python2Packages; [ pygtk pycairo ];
-
-  installPhase = ''
-    make install DESTDIR=$out BINDIR=/bin PY_LIBDIR=/lib/${python2Packages.python.libPrefix}
-    wrapProgram $out/bin/pybootchartgui \
-      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bootchart.org/;
-    description = "Performance analysis and visualization of the GNU/Linux boot process";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/tools/system/collectd/plugins.nix b/pkgs/tools/system/collectd/plugins.nix
index c29ebc925bc..f1a87847a5c 100644
--- a/pkgs/tools/system/collectd/plugins.nix
+++ b/pkgs/tools/system/collectd/plugins.nix
@@ -24,7 +24,7 @@
 , lm_sensors
 , mongoc
 , mosquitto
-, net_snmp
+, net-snmp
 , postgresql
 , protobufc
 , python
@@ -243,10 +243,10 @@ let
       buildInputs = stdenv.lib.optionals stdenv.isLinux [ libatasmart udev ];
     };
     snmp = {
-      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net_snmp ];
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
     };
     snmp_agent = {
-      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net_snmp ];
+      buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ];
     };
     statsd = {};
     swap = {};
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index bd58dbf6e12..86aa5adb6f8 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.5";
+  version = "3.14.6";
 
   src = fetchFromGitHub {
-    sha256 = "0xzzhlsfw8yd3ac4kvr3za0rlkgfw28dzxzi5i1qbhzljivvipm5";
+    sha256 = "1zfff1mpdwnlnm8dmmlvysw2zdsnglgk5nvhhzx8zyk0zyz0nj54";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index c31e7337dd5..934b74dd384 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://fakeroot.alioth.debian.org/;
+    homepage = https://salsa.debian.org/clint/fakeroot;
     description = "Give a fake root environment through LD_PRELOAD";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index b6ad10ec645..3718f69370e 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fio";
-  version = "3.16";
+  version = "3.17";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "10ygvmzsrqh2bs8v0a304gkl8h50437xfaz1ck7j2ymckipnbha0";
+    sha256 = "1s37w8bhg23ml1f89x0bkaifywlkgh31305vmip4xfvh3j3vjbym";
   };
 
   buildInputs = [ python zlib ]
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Flexible IO Tester - an IO benchmark tool";
-    homepage = "http://git.kernel.dk/?p=fio.git;a=summary;";
+    homepage = "https://git.kernel.dk/cgit/fio/";
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/hardinfo/default.nix b/pkgs/tools/system/hardinfo/default.nix
index a2e342f85b7..6c5019847ff 100644
--- a/pkgs/tools/system/hardinfo/default.nix
+++ b/pkgs/tools/system/hardinfo/default.nix
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     description = "Display information about your hardware and operating system";
     license = licenses.gpl2;
     maintainers = with maintainers; [ bjornfor ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported
   };
 }
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index a896a57b080..7866bece066 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.0.36-1";
+  version = "3.0.37-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "04134l323vwd0g2bffj11rnpw2jgs9la6aqrmv8vh7w9mq5nd57y";
+    sha256 = "15wvj9w601ci3bavd1hk5qlm8dfm7a7cjglczk29yir5yw2jww3f";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index 7966deeccc2..0d2a78efba1 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.1.4";
+  version = "3.1.5";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0rca9bjn46i3xzah53l1r5bv1493773chj8x11by2asxyl9wlf4r";
+    sha256 = "18q1nc2caaixy3dr2axdvwq37iz916piarvmg0jdfzaxfpaxpk2q";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
new file mode 100644
index 00000000000..19502e5a352
--- /dev/null
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, jdk
+, ant, cunit, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  pname = "java-service-wrapper";
+  version = "3.5.41";
+
+  src = fetchurl {
+    url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
+    sha256 = "0wvazc4y134brn99aa4rc9jdh1h2q3l7qhhvbcs6lhf4ym47sskm";
+  };
+
+  buildInputs = [ jdk ];
+  nativeBuildInputs = [ ant cunit ncurses ];
+
+  buildPhase = ''
+    export ANT_HOME=${ant}
+    export JAVA_HOME=${jdk}/lib/openjdk/jre/
+    export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
+    export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
+
+    ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+    cp bin/wrapper $out/bin/wrapper
+    cp lib/wrapper.jar $out/lib/wrapper.jar
+    cp lib/libwrapper.so $out/lib/libwrapper.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
+    homepage = "https://wrapper.tanukisoftware.com/";
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.suhr ];
+  };
+}
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index 064071a5ca4..d51df4f408a 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       Logcheck helps spot problems and security violations in your logfiles automatically and will send the results to you by e-mail.
       Logcheck was part of the Abacus Project of security tools, but this version has been rewritten.
     '';
-    homepage = http://logcheck.alioth.debian.org/;
+    homepage = https://salsa.debian.org/debian/logcheck;
     license = licenses.gpl2;
     maintainers = [ maintainers.bluescreen303 ];
   };
diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix
index 74f0a84716a..2b4d1deb9f9 100644
--- a/pkgs/tools/system/minijail/default.nix
+++ b/pkgs/tools/system/minijail/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchgit, libcap }:
+{ stdenv, fetchFromGitiles, libcap }:
 
 stdenv.mkDerivation rec {
-  shortname = "minijail";
-  name = "${shortname}-${version}";
-  version = "android-9.0.0_r3";
+  pname = "minijail";
+  version = "android-10.0.0_r9";
 
-  src = fetchgit {
+  src = fetchFromGitiles {
     url = "https://android.googlesource.com/platform/external/minijail";
     rev = version;
-    sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2";
+    sha256 = "0gcfsyim1krrddcklydqfxl8mamaxgail2xl5qp9yclq60km8f22";
   };
 
   buildInputs = [ libcap ];
@@ -20,13 +19,20 @@ stdenv.mkDerivation rec {
     sed -i '/#include <asm\/siginfo.h>/ d' signal_handler.c
   '';
 
+  postPatch = ''
+    patchShebangs platform2_preinstall.sh
+  '';
+
+  postBuild = ''
+    ./platform2_preinstall.sh ${version} $out/include/chromeos
+  '';
+
   installPhase = ''
-    mkdir -p $out/lib
+    mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin
     cp -v *.so $out/lib
-    mkdir -p $out/include
-    cp -v libminijail.h $out/include
-    mkdir -p $out/bin
-    cp minijail0 $out/bin
+    cp -v *.pc $out/lib/pkgconfig
+    cp -v libminijail.h scoped_minijail.h $out/include/chromeos
+    cp -v minijail0 $out/bin
   '';
 
   meta = {
diff --git a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch b/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
deleted file mode 100644
index b90752f8dc5..00000000000
--- a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 511400b8ec0794588df88e2bb1c45cc6a4a51b1e Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sun, 26 May 2019 23:10:02 +0200
-Subject: [PATCH] Fix CMake configuration for Nix
-
-* -fno-limit-debug-info: CLang specific, patch away to support both
-  CLang and GCC.
-* Dropped unnecessary `lvm-internal` and `daemonclient` references.
----
- CMakeLists.txt                | 1 -
- osquery/tables/CMakeLists.txt | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f545d6c9..cfe68ddb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -328,7 +328,6 @@ if (POSIX)
-   # To be safe, only include them when building 'release' outputs.
-   add_compile_options(
-     "$<$<CONFIG:RELEASE>:-g>"
--    "$<$<CONFIG:RELEASE>:-fno-limit-debug-info>"
-     "$<$<CONFIG:RELEASE>:-fPIE>"
-     "$<$<CONFIG:RELEASE>:-fpie>"
-     "$<$<CONFIG:RELEASE>:-fPIC>"
-diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt
-index 470bdf1d..caa6ab6f 100644
---- a/osquery/tables/CMakeLists.txt
-+++ b/osquery/tables/CMakeLists.txt
-@@ -68,7 +68,7 @@ if(LINUX)
-   set(TABLE_PLATFORM "linux")
- 
-   ADD_OSQUERY_LINK_ADDITIONAL("libresolv.so")
--  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app lvm-internal daemonclient")
-+  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app")
-   ADD_OSQUERY_LINK_ADDITIONAL("gcrypt gpg-error")
-   ADD_OSQUERY_LINK_ADDITIONAL("blkid")
-   ADD_OSQUERY_LINK_ADDITIONAL("ip4tc")
--- 
-2.19.2
-
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
deleted file mode 100644
index c34b53c1e62..00000000000
--- a/pkgs/tools/system/osquery/default.nix
+++ /dev/null
@@ -1,149 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, python
-, udev, audit, aws-sdk-cpp, cryptsetup, lvm2, libgcrypt, libarchive
-, libgpgerror, libuuid, iptables, dpkg, lzma, bzip2, rpm
-, beecrypt, augeas, libxml2, sleuthkit, yara, lldpd, gflags
-, thrift, boost, rocksdb_lite, glog, gbenchmark, snappy
-, openssl, file, doxygen
-, gtest, fpm, zstd, rdkafka, rapidjson, fetchgit, fetchurl, libelfin
-, smartmontools, which, git, cscope, ctags, ssdeep
-}:
-
-let
-  overrides = {
-    # use older `lvm2` source for osquery, the 2.03 sourcetree
-    # will break osquery due to the lacking header `lvm2app.h`.
-    #
-    # https://github.com/NixOS/nixpkgs/pull/51756#issuecomment-446035295
-    lvm2 = lvm2.overrideAttrs (old: rec {
-      name = "lvm2-${version}";
-      version = "2.02.183";
-      src = fetchgit {
-        url = "git://sourceware.org/git/lvm2.git";
-        rev = "v${version}";
-        sha256 = "1ny3srcsxd6kj59zq1cman5myj8kzw010wbyc6mrpk4kp823r5nx";
-      };
-    });
-
-    # use smartmontools fork to programatically retrieve SMART information.
-    # https://github.com/facebook/osquery/pull/4133
-    smartmontools = smartmontools.overrideAttrs (old: rec {
-      name = "smartmontools-${version}";
-      version = "0.3.1";
-      src = fetchFromGitHub {
-        owner = "allanliu";
-        repo = "smartmontools";
-        rev = "v${version}";
-        sha256 = "1i72fk2ranrky02h7nh9l3va4kjzj0lx1gr477zkxd44wf3w0pjf";
-      };
-
-      # Apple build fix doesn't apply here and isn't needed as we
-      # only support `osquery` on Linux.
-      patches = [];
-    });
-
-    # dpkg 1.19.2 dropped api in `<dpkg/dpkg-db.h>` which breaks compilation.
-    dpkg = dpkg.overrideAttrs (old: rec {
-      name = "dpkg-${version}";
-      version = "1.19.0.5";
-      src = fetchurl {
-        url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-        sha256 = "1dc5kp3fqy1k66fly6jfxkkg7w6d0jy8szddpfyc2xvzga94d041";
-      };
-    });
-
-    # filter out static linking configuration to avoid that the library will
-    # be linked both statically and dynamically.
-    gflags = gflags.overrideAttrs (old: {
-      cmakeFlags = stdenv.lib.filter (f: (builtins.match ".*STATIC.*" f) == null) old.cmakeFlags;
-    });
-  };
-in
-
-stdenv.mkDerivation rec {
-  pname = "osquery";
-  version = "3.3.2";
-
-  # this is what `osquery --help` will show as the version.
-  OSQUERY_BUILD_VERSION = version;
-  OSQUERY_PLATFORM = "NixOS;";
-
-  src = fetchFromGitHub {
-    owner = "facebook";
-    repo = pname;
-    rev = version;
-    sha256 = "0nrwmzmbziacs3y0nljyc73bibr3w68myjpfwkicg9zgkq4qihij";
-  };
-
-  patches = [ ./0001-Fix-CMake-configuration-for-Nix.patch ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-I${libxml2.dev}/include/libxml2"
-  ];
-
-  nativeBuildInputs = [ python which git cscope ctags cmake pkgconfig doxygen fpm ]
-    ++ (with python.pkgs; [ jinja2 ]);
-
-  buildInputs = [
-    udev
-    audit
-    (aws-sdk-cpp.override {
-      apis = [ "firehose" "kinesis" "sts" "ec2" ];
-      customMemoryManagement = false;
-    })
-    overrides.lvm2
-    libgcrypt
-    libarchive
-    libgpgerror
-    libuuid
-    iptables
-    overrides.dpkg
-    lzma
-    bzip2
-    rpm
-    beecrypt
-    augeas
-    libxml2
-    sleuthkit
-    yara
-    lldpd
-    overrides.gflags
-    thrift
-    boost
-    glog
-    gbenchmark
-    snappy
-    openssl
-    file
-    cryptsetup
-    gtest
-    zstd
-    rdkafka
-    rapidjson
-    rocksdb_lite
-    libelfin
-    ssdeep
-    overrides.smartmontools
-  ];
-
-  cmakeFlags = [ "-DSKIP_TESTS=1" ];
-
-  preConfigure = ''
-    cp -r ${fetchFromGitHub {
-      owner = "osquery";
-      repo = "third-party";
-      rev = "32e01462fbea75d3b1904693f937dfd62eaced15";
-      sha256 = "0va24gmgk43a1lyjs63q9qrhvpv8gmqjzpjr5595vhr16idv8wyf";
-    }}/* third-party
-
-    chmod +w -R third-party
-  '';
-
-  meta = with lib; {
-    description = "SQL powered operating system instrumentation, monitoring, and analytics";
-    homepage = https://osquery.io/;
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ma27 ];
-    broken = true;
-  };
-}
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
index 0764844dbfc..5ff8ff95f8a 100644
--- a/pkgs/tools/system/proot/default.nix
+++ b/pkgs/tools/system/proot/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://proot-me.github.io;
+    homepage = https://proot-me.github.io;
     description = "User-space implementation of chroot, mount --bind and binfmt_misc";
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 02164e3581a..7c5b9a18966 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson
 , libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null
-, libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null
+, libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null
 , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null
 , liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
 , libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.1910.0";
+  version = "8.1911.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "14qczsj12spx0m3dz1pkxnacwi5njr0syamnmi1rg8ri5xlyw682";
+    sha256 = "01713vwz3w5fx9b97286h1rx9hxhjsdah96nyhh75bb23impgx71";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc
-    postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl
+    postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl
     librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq
     rabbitmq-c hiredis mongoc
   ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     (mkFlag (libmysqlclient != null)  "mysql")
     (mkFlag (postgresql != null)      "pgsql")
     (mkFlag (libdbi != null)          "libdbi")
-    (mkFlag (net_snmp != null)        "snmp")
+    (mkFlag (net-snmp != null)        "snmp")
     (mkFlag (libuuid != null)         "uuid")
     (mkFlag (curl != null)            "elasticsearch")
     (mkFlag (gnutls != null)          "gnutls")
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index b15c8623fa5..c98634e1199 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.08";
+  version = "0.10.11";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkmznn0y5wxi7x9nlhzyfy933bv66113in4rf0raw6brymympaa";
+    sha256 = "16z45fmvncpa0bv91dpwarqfm9p7aiqkmlcpmv2y23rh6sikhkdq";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index a13d29cfc7b..d070e1673c2 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -5,17 +5,13 @@
 , libesmtp
 }:
 
-let
-  pname = "syslog-ng";
-in
-
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "3.23.1";
+  pname = "syslog-ng";
+  version = "3.24.1";
 
   src = fetchurl {
-    url = "https://github.com/balabit/${pname}/releases/download/${name}/${name}.tar.gz";
-    sha256 = "0f6d19ysf2bd12fzagrbbrdp854pwx794ymp8d0zfc98k30wydpv";
+    url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "0ggsb5867mca83f5mqsi0j7hslvmj8943xynd5myjas5gcss1l6l";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -59,7 +55,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://www.balabit.com/network-security/syslog-ng/;
+    homepage = https://www.syslog-ng.com;
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
index 8caff1170bc..7afa91abf13 100644
--- a/pkgs/tools/system/thermald/default.nix
+++ b/pkgs/tools/system/thermald/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "1.9";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs";
+    sha256 = "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index ab78551e4fc..1391a2a5ed2 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }:
+{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }:
 
 stdenv.mkDerivation rec {
   version = "20180311";
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
 
   pname = "vboot_reference";
 
-  src = fetchgit {
-    url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
+  src = fetchFromGitiles {
+    url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference";
     rev = checkout;
     sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
   };
diff --git a/pkgs/tools/system/yeshup/default.nix b/pkgs/tools/system/yeshup/default.nix
index 8cea90b6758..42060aed295 100644
--- a/pkgs/tools/system/yeshup/default.nix
+++ b/pkgs/tools/system/yeshup/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "yeshup-${builtins.substring 0 7 rev}";
-  rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08";
+  pname = "yeshup";
+  version = "unstable-2013-10-29";
 
   src = fetchFromGitHub {
     owner = "RhysU";
     repo  = "yeshup";
-    inherit rev;
+    rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08";
     sha256 = "1wwbc158y46jsmdi1lp0m3dlbr9kvzvwxfvzj6646cpy9d6h21v9";
   };
 
diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix
index c8f380739a6..935b6a60729 100644
--- a/pkgs/tools/text/amber/default.nix
+++ b/pkgs/tools/text/amber/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amber";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jwrkd6qhxj2mqsfmhk687k15f7gf36gjyxnynj0yh8db2db6mjc";
+    sha256 = "0k70rk19hwdlhhqm91x12xcb8r09kzpijs0xwhplrwdh86qfxymx";
   };
 
-  cargoSha256 = "0iv8zvglwaihcc89dk9kkhchbj1g3v8wq8jcbrgcbclcsyymmplc";
+  cargoSha256 = "0hh3sgcdcp0llgf3i3dysrr3vry3fv3fzzf44ad1953d5mnyhvap";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index b9a4f678207..7437d2765a9 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,18 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "ansifilter";
-  version = "2.14";
+  version = "2.15";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "1bwp8zmxykfxr3mz1fgvnwqbyix4qpjlha3y479jdchq4y8y7vp2";
-
+    sha256 = "07x1lha6xkfn5sr2f45ynk1fxmzc3qr4axxm0hip4adqygx2zsky";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ boost lua ];
 
-  makeFlags = "PREFIX=$(out) conf_dir=/etc/ansifilter";
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "conf_dir=/etc/ansifilter"
+  ];
 
   meta = with stdenv.lib; {
     description = "Tool to convert ANSI to other formats";
@@ -21,10 +23,9 @@ stdenv.mkDerivation rec {
       Tool to remove ANSI or convert them to another format 
       (HTML, TeX, LaTeX, RTF, Pango or BBCode)
     '';
-
-    license = licenses.gpl1;
+    homepage = "http://www.andre-simon.de/doku/ansifilter/en/ansifilter.php";
+    license = licenses.gpl3;
     maintainers = [ maintainers.Adjective-Object ];
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/text/boxes/default.nix b/pkgs/tools/text/boxes/default.nix
new file mode 100644
index 00000000000..8325c6c08f3
--- /dev/null
+++ b/pkgs/tools/text/boxes/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, bison, flex }:
+
+stdenv.mkDerivation rec {
+  pname = "boxes";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "ascii-boxes";
+    repo = "boxes";
+    rev = "v${version}";
+    sha256 = "0b12rsynrmkldlwcb62drk33kk0aqwbj10mq5y5x3hjf626gjwsi";
+  };
+
+  # Building instructions:
+  # https://boxes.thomasjensen.com/build.html#building-on-linux--unix
+  nativeBuildInputs = [ bison flex ];
+
+  dontConfigure = true;
+
+  # Makefile references a system wide config file in '/usr/share'. Instead, we
+  # move it within the store by default.
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "GLOBALCONF = /usr/share/boxes" \
+                "GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
+  '';
+
+  makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+
+  installPhase = ''
+    install -Dm755 -t $out/bin src/boxes
+    install -Dm644 -t $out/share/boxes boxes-config
+    install -Dm644 -t $out/share/man/man1 doc/boxes.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line ASCII boxes unlimited!";
+    longDescription = ''
+      Boxes is a command line filter program that draws ASCII art boxes around
+      your input text.
+    '';
+    homepage = https://boxes.thomasjensen.com;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ waiting-for-dev ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/text/coloursum/default.nix b/pkgs/tools/text/coloursum/default.nix
index 212f071f276..5cac5a9f90e 100644
--- a/pkgs/tools/text/coloursum/default.nix
+++ b/pkgs/tools/text/coloursum/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "coloursum";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "ticky";
     repo = "coloursum";
     rev = "v${version}";
-    sha256 = "18ikwi0ihn0vadazrkh85jfz8a2f0dkfb3zns5jzh7p7mb0ylrr2";
+    sha256 = "1piz0l7qdcvjzfykm6rzqc8s1daxp3cj3923v9cmm41bc2v0p5q0";
   };
 
-  cargoSha256 = "0f73vqa82w4ccr0cc95mxga3r8jgd92jnksshxzaffbpx4s334p3";
+  cargoSha256 = "091flc5ymx0y43ld6bdmig5cy479b90bkmwv3yaysi5kpr28skvh";
+
+  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Colourise your checksum output";
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index fa5718ce4d3..bf4ff279f8f 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.62";
+  name = "diffstat-1.63";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/diffstat/${name}.tgz"
       "https://invisible-mirror.net/archives/diffstat/${name}.tgz"
     ];
-    sha256 = "07sr482y6iw7n7ddkba0w51kbjc99snvnijkn5ba2xzd8hv1h2bz";
+    sha256 = "0vyw200s5dv1257pmrh6c6fdkmw3slyz5szpqfx916xr04sdbpby";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index b0d66dfd93e..b01317a532f 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FanFicFare";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1hzb668fga9y422670iw22ggfn8a9jp2jdxs2xhzbqxnfrw08wq0";
+    sha256 = "01mrqqz2rv6abdsk80nxizsm5h68m12bqkdsjyqfzyxl0kn7zs0v";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/text/gawk/gawk-with-extensions.nix b/pkgs/tools/text/gawk/gawk-with-extensions.nix
new file mode 100644
index 00000000000..751e5181bb5
--- /dev/null
+++ b/pkgs/tools/text/gawk/gawk-with-extensions.nix
@@ -0,0 +1,12 @@
+{ runCommand, gawk, extensions, makeWrapper }:
+
+runCommand "gawk-with-extensions" {
+  buildInputs = [ makeWrapper gawk ] ++ extensions;
+} ''
+  mkdir -p $out/bin
+  for i in ${gawk}/bin/*; do
+    name="$(basename "$i")"
+    makeWrapper $i $out/bin/$name \
+      --prefix AWKLIBPATH : "${gawk}/lib/gawk:''${AWKLIBPATH:-}"
+  done
+''
diff --git a/pkgs/tools/text/gawk/gawkextlib.nix b/pkgs/tools/text/gawk/gawkextlib.nix
new file mode 100644
index 00000000000..e15b2d4e257
--- /dev/null
+++ b/pkgs/tools/text/gawk/gawkextlib.nix
@@ -0,0 +1,149 @@
+{ stdenv, recurseIntoAttrs, fetchgit, writeText, pkgconfig, autoreconfHook
+, autoconf, automake, libiconv, libtool, texinfo, gettext, gawk, rapidjson, gd
+, shapelib, libharu, lmdb, gmp, glibcLocales, mpfr, more, postgresql, hiredis
+, expat, tre, makeWrapper }:
+
+let
+  buildExtension = stdenv.lib.makeOverridable
+    ({ name, gawkextlib, extraBuildInputs ? [ ], doCheck ? true }:
+      let is_extension = !isNull gawkextlib;
+      in stdenv.mkDerivation rec {
+        pname = "gawkextlib-${name}";
+        version = "unstable-2019-11-21";
+
+        src = fetchgit {
+          url = "git://git.code.sf.net/p/gawkextlib/code";
+          rev = "f70f10da2804e4fd0a0bac57736e9c1cf21e345d";
+          sha256 = "0r8fz89n3l4dfszs1980yqj0ah95430lj0y1lb7blfkwxa6c2xik";
+        };
+
+        postPatch = ''
+          cd ${name}
+        '';
+
+        nativeBuildInputs = [
+          autoconf
+          automake
+          libtool
+          autoreconfHook
+          pkgconfig
+          texinfo
+          gettext
+        ];
+
+        buildInputs = [ gawk ] ++ extraBuildInputs;
+        propagatedBuildInputs = stdenv.lib.optional is_extension gawkextlib;
+
+        setupHook = if is_extension then ./setup-hook.sh else null;
+        inherit gawk;
+
+        inherit doCheck;
+        checkInputs = [ more ];
+
+        meta = with stdenv.lib; {
+          homepage = "https://sourceforge.net/projects/gawkextlib/";
+          description = "Dynamically loaded extension libraries for GNU AWK";
+          longDescription = ''
+            The gawkextlib project provides several extension libraries for
+            gawk (GNU AWK), as well as libgawkextlib containing some APIs that
+            are useful for building gawk extension libraries. These libraries
+            enable gawk to process XML data, interact with a PostgreSQL
+            database, use the GD graphics library, and perform unlimited
+            precision MPFR calculations.
+          '';
+          license = licenses.gpl3Plus;
+          platforms = platforms.unix;
+          maintainers = with maintainers; [ tomberek ];
+        };
+      });
+  gawkextlib = buildExtension {
+    gawkextlib = null;
+    name = "lib";
+  };
+  libs = {
+    abort = buildExtension {
+      inherit gawkextlib;
+      name = "abort";
+    };
+    aregex = buildExtension {
+      inherit gawkextlib;
+      name = "aregex";
+      extraBuildInputs = [ tre ];
+    };
+    csv = buildExtension {
+      inherit gawkextlib;
+      name = "csv";
+    };
+    errno = buildExtension {
+      inherit gawkextlib;
+      name = "errno";
+    };
+    gd = buildExtension {
+      inherit gawkextlib;
+      name = "gd";
+      extraBuildInputs = [ gd ];
+    };
+    haru = buildExtension {
+      inherit gawkextlib;
+      name = "haru";
+      extraBuildInputs = [ libharu ];
+    };
+    json = buildExtension {
+      inherit gawkextlib;
+      name = "json";
+      extraBuildInputs = [ rapidjson ];
+    };
+    lmdb = buildExtension {
+      inherit gawkextlib;
+      name = "lmdb";
+      extraBuildInputs = [ lmdb ];
+      #  mdb_env_open(env, /dev/null)
+      #! No such device
+      #  mdb_env_open(env, /dev/null)
+      #! Operation not supported by device
+      doCheck = !stdenv.isDarwin;
+    };
+    mbs = buildExtension {
+      inherit gawkextlib;
+      name = "mbs";
+      extraBuildInputs = [ glibcLocales ];
+      #! "spät": length: 5, mbs_length: 6, wcswidth: 4
+      doCheck = !stdenv.isDarwin;
+    };
+    mpfr = buildExtension {
+      inherit gawkextlib;
+      name = "mpfr";
+      extraBuildInputs = [ gmp mpfr ];
+    };
+    nl_langinfo = buildExtension {
+      inherit gawkextlib;
+      name = "nl_langinfo";
+    };
+    pgsql = buildExtension {
+      inherit gawkextlib;
+      name = "pgsql";
+      extraBuildInputs = [ postgresql ];
+    };
+    redis = buildExtension {
+      inherit gawkextlib;
+      name = "redis";
+      extraBuildInputs = [ hiredis ];
+    };
+    select = buildExtension {
+      inherit gawkextlib;
+      name = "select";
+    };
+    timex = buildExtension {
+      inherit gawkextlib;
+      name = "timex";
+    };
+    xml = buildExtension {
+      inherit gawkextlib;
+      name = "xml";
+      extraBuildInputs = [ expat libiconv ];
+    };
+  };
+in recurseIntoAttrs (libs // {
+  inherit gawkextlib buildExtension;
+  full = builtins.attrValues libs;
+})
diff --git a/pkgs/tools/text/gawk/setup-hook.sh b/pkgs/tools/text/gawk/setup-hook.sh
new file mode 100644
index 00000000000..d568cb8c7dd
--- /dev/null
+++ b/pkgs/tools/text/gawk/setup-hook.sh
@@ -0,0 +1,6 @@
+local oldOpts="-u"
+shopt -qo nounset || oldOpts="+u"
+set +u
+. @gawk@/etc/profile.d/gawk.sh
+gawklibpath_append @out@/lib/gawk
+set "$oldOpts"
diff --git a/pkgs/tools/text/grip-search/default.nix b/pkgs/tools/text/grip-search/default.nix
new file mode 100644
index 00000000000..921691a40af
--- /dev/null
+++ b/pkgs/tools/text/grip-search/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, boost, pkgconfig, cmake, catch2 }:
+
+stdenv.mkDerivation rec {
+  pname = "grip-search";
+  version = "0.8";
+
+  src = fetchFromGitHub {
+    owner = "sc0ty";
+    repo = "grip";
+    rev = "v${version}";
+    sha256 = "0bkqarylgzhis6fpj48qbifcd6a26cgnq8784hgnm707rq9kb0rx";
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake catch2 ];
+
+  doCheck = true;
+
+  buildInputs = [ boost ];
+
+  patchPhase = ''
+    substituteInPlace src/general/config.h --replace "CUSTOM-BUILD" "${version}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast, indexed regexp search over large file trees";
+    homepage = "https://github.com/sc0ty/grip";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ tex ];
+  };
+}
diff --git a/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch b/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch
new file mode 100644
index 00000000000..671293cda5b
--- /dev/null
+++ b/pkgs/tools/text/groff/0001-Fix-cross-compilation-by-looking-for-ar.patch
@@ -0,0 +1,46 @@
+From 1454525f70b43a6957b7c9e1870e997368787da3 Mon Sep 17 00:00:00 2001
+From: Samuel Dionne-Riel <samuel@dionne-riel.com>
+Date: Fri, 8 Nov 2019 21:59:21 -0500
+Subject: [PATCH] Fix cross-compilation by looking for `ar`.
+
+---
+ Makefile.am  | 2 +-
+ configure.ac | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d18c49b8..b1b53338 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -494,7 +494,7 @@ CCC=@CXX@
+ # INSTALL_INFO
+ # LN_S
+ 
+-AR=ar
++AR=@AR@
+ ETAGS=etags
+ ETAGSFLAGS=
+ # Flag that tells etags to assume C++.
+diff --git a/configure.ac b/configure.ac
+index 28e75f17..2449b9f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ 
+ AC_CONFIG_HEADERS([src/include/config.h:src/include/config.hin])
+ AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
++AC_CONFIG_MACRO_DIR([m4])
+ 
+ AC_USE_SYSTEM_EXTENSIONS
+ 
+@@ -72,6 +73,7 @@ GROFF_DOC_CHECK
+ GROFF_MAKEINFO
+ GROFF_TEXI2DVI
+ AC_PROG_RANLIB
++AC_CHECK_TOOL([AR], [ar], [ar])
+ GROFF_INSTALL_SH
+ GROFF_INSTALL_INFO
+ AC_PROG_INSTALL
+-- 
+2.23.0
+
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index 4055c5c083d..ec7e724d1fc 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
+  patches = [
+    ./0001-Fix-cross-compilation-by-looking-for-ar.patch
+  ];
+
   postPatch = stdenv.lib.optionalString (psutils != null) ''
     substituteInPlace src/preproc/html/pre-html.cpp \
       --replace "psselect" "${psutils}/bin/psselect"
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index eb86bc79d5c..3a9e8e9ceaf 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,37 +1,58 @@
-{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, gcc }:
+{ stdenv, fetchFromGitLab, getopt, lua, boost, pkgconfig, swig, perl, gcc }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
-  pname = "highlight";
-  version = "3.53";
-
-  src = fetchFromGitLab {
-    owner = "saalen";
-    repo = "highlight";
-    rev = "v${version}";
-    sha256 = "11szws4q6qyffq2fsvh1vksh1d0kcwg6smyyba9yr61hzx6zmzgr";
+let
+  self = stdenv.mkDerivation rec {
+    pname = "highlight";
+    version = "3.54";
+
+    src = fetchFromGitLab {
+      owner = "saalen";
+      repo = "highlight";
+      rev = "v${version}";
+      sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
+    };
+
+    enableParallelBuilding = true;
+
+    nativeBuildInputs = [ pkgconfig swig perl ] ++ optional stdenv.isDarwin gcc;
+
+    buildInputs = [ getopt lua boost ];
+
+    prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
+      substituteInPlace src/makefile \
+          --replace 'CXX=g++' 'CXX=clang++'
+    '';
+
+    preConfigure = ''
+      makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR"
+    '';
+
+    # This has to happen _before_ the main build because it does a
+    # `make clean' for some reason.
+    preBuild = optionalString (!stdenv.isDarwin) ''
+      make -C extras/swig $makeFlags perl
+    '';
+
+    postCheck = optionalString (!stdenv.isDarwin) ''
+      perl -Iextras/swig extras/swig/testmod.pl
+    '';
+
+    preInstall = optionalString (!stdenv.isDarwin) ''
+      mkdir -p $out/${perl.libPrefix}
+      install -m644 extras/swig/highlight.{so,pm} $out/${perl.libPrefix}
+      make -C extras/swig clean # Clean up intermediate files.
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Source code highlighting tool";
+      homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ ndowens willibutz ];
+    };
   };
 
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin  gcc ;
-
-  buildInputs = [ getopt lua boost ];
-
-  prePatch = stdenv.lib.optionalString stdenv.cc.isClang ''
-    substituteInPlace src/makefile \
-        --replace 'CXX=g++' 'CXX=clang++'
-  '';
-
-  preConfigure = ''
-    makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Source code highlighting tool";
-    homepage = "http://www.andre-simon.de/doku/highlight/en/highlight.php";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ndowens willibutz ];
-  };
-}
+in
+  if stdenv.isDarwin then self
+  else perl.pkgs.toPerlModule self
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index aa53aeb4206..d55ed89e633 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules, kdoctools, wrapGAppsHook,
-  kcrash, kconfig, kinit, kparts
+  kcrash, kconfig, kinit, kparts, kiconthemes
 }:
 
 mkDerivation rec {
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
-  propagatedBuildInputs = [ kconfig kcrash kinit kparts ];
+  propagatedBuildInputs = [ kconfig kcrash kinit kparts kiconthemes ];
 
   meta = with lib; {
     homepage = http://kdiff3.sourceforge.net/;
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 3123d31a7b5..b21523ce863 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.3.1";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0py69267jbs6b7zw191hcs011cm1v58jz8mglqx3ajkffdfl3ghw";
+    sha256 = "0gcrv54iswphzxxkmak1c7pmmpakiri6jk50j4bxrsplwjr76f7n";
   };
 
-  cargoSha256 = "0qwhc42a86jpvjcaysmfcw8kmwa150lmz01flmlg74g6qnimff5m";
+  cargoSha256 = "00grlxjz61vxinr18f28ga6610yjxcq48lr75wmyc5wq317j12fn";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index 9ebc9840b07..4139771b5cb 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -2,24 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "mdcat-${version}";
-    sha256 = "0xlcpyfmil7sszv4008v4ipqswz49as4nzac0kzmzsb86np191q0";
+    sha256 = "1q8h6pc1i89j1zl4s234inl9v95vsdrry1fzlis89sl2mnbv8ywy";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ (stdenv.lib.optional stdenv.isDarwin Security) openssl ];
 
-  cargoSha256 = "16q17gm59lpjqa18q289cjmjlf2jicag12jz529x5kh11x6bjl8v";
+  cargoSha256 = "1hxsfls6fpllc9yg5ib3qz6pa62j1y1va8a6356j6812csk4ifnn";
 
   checkInputs = [ ansi2html ];
   checkPhase = ''
-    # Skip tests that use the network.
-    cargo test -- --skip terminal::iterm2
+    # Skip tests that use the network and that include files.
+    cargo test -- --skip terminal::iterm2 --skip terminal::resources::tests::remote \
+      --skip magic::tests::detect_mimetype_of_svg_image \
+      --skip magic::tests::detect_mimetype_of_png_image
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/ocrmypdf/default.nix b/pkgs/tools/text/ocrmypdf/default.nix
index 820d98408fb..13353daa171 100644
--- a/pkgs/tools/text/ocrmypdf/default.nix
+++ b/pkgs/tools/text/ocrmypdf/default.nix
@@ -28,14 +28,14 @@ let
 
 in buildPythonApplication rec {
   pname = "ocrmypdf";
-  version = "9.0.3";
+  version = "9.2.0";
   disabled = ! python3Packages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
     repo = "OCRmyPDF";
     rev = "v${version}";
-    sha256 = "1qnjdcbwkxxqfahylzl0wj1gk51yi9m8akd4d1rrq37vg2vwdkjy";
+    sha256 = "1mvc6x5nn242z65pxv39ch71vaikgi89bb0sjbfy2jbw91vk41xa";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -53,7 +53,6 @@ in buildPythonApplication rec {
     pikepdf
     pillow
     reportlab
-    ruffus
     setuptools
     tqdm
   ];
@@ -71,8 +70,8 @@ in buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace src/ocrmypdf/leptonica.py \
-      --replace "ffi.dlopen(find_library('lept'))" \
-      'ffi.dlopen("${stdenv.lib.makeLibraryPath [leptonica]}/liblept${stdenv.hostPlatform.extensions.sharedLibrary}")'
+      --replace "lept = ffi.dlopen(_libpath)" \
+      'lept = ffi.dlopen("${stdenv.lib.makeLibraryPath [leptonica]}/liblept${stdenv.hostPlatform.extensions.sharedLibrary}")'
   '';
 
   # The tests take potentially 20+ minutes, depending on machine
diff --git a/pkgs/tools/text/papertrail/default.nix b/pkgs/tools/text/papertrail/default.nix
index be85511a92b..d20727f725a 100644
--- a/pkgs/tools/text/papertrail/default.nix
+++ b/pkgs/tools/text/papertrail/default.nix
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Command-line client for Papertrail log management service";
-    homepage    = http://github.com/papertrail/papertrail-cli/;
+    homepage    = https://github.com/papertrail/papertrail-cli/;
     license     = licenses.mit;
     maintainers = with maintainers; [ nicknovitski ];
     platforms   = ruby.meta.platforms;
diff --git a/pkgs/tools/text/par/default.nix b/pkgs/tools/text/par/default.nix
index 5f9ca5212d3..88325c38731 100644
--- a/pkgs/tools/text/par/default.nix
+++ b/pkgs/tools/text/par/default.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl, fetchpatch}:
 
 stdenv.mkDerivation {
-  name = "par-1.52";
+  pname = "par";
+  version = "1.52";
 
   src = fetchurl {
     url = http://www.nicemice.net/par/Par152.tar.gz;
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index cb9e1a84a40..e1c3d87bdcb 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, python, perl, intltool, flex, texinfo, libiconv, libintl }:
+{ stdenv, fetchurl, python3, perl, intltool, flex, texinfo, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   pname = "recode";
-  version = "3.7.4";
+  version = "3.7.6";
 
   # 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 = "0j9rjkgx4r8nah90d2vbi92k33gfmgaqlj72z1ni0vsiccpcgfc8";
+    sha256 = "0m59sd1ca0zw1aydpc3m8sw03nc885knmccqryg7byzmqs585ia6";
   };
 
-  nativeBuildInputs = [ python python.pkgs.cython perl intltool flex texinfo libiconv ];
+  nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
   buildInputs = [ libintl ];
 
   doCheck = true;
diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix
index 521b123d878..d41be25231c 100644
--- a/pkgs/tools/text/ripgrep-all/default.nix
+++ b/pkgs/tools/text/ripgrep-all/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform, makeWrapper, ffmpeg
-, pandoc, poppler_utils, ripgrep, Security
+, pandoc, poppler_utils, ripgrep, Security, imagemagick, tesseract
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -19,9 +19,33 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     wrapProgram $out/bin/rga \
-      --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep ]}"
+      --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}"
   '';
 
+  # Use upstream's example data to run a couple of queries to ensure the dependencies
+  # for all of the adapters are available.
+  installCheckPhase = ''
+    set -e
+    export PATH="$PATH:$out/bin"
+
+    test1=$(rga --rga-no-cache "hello" exampledir/ | wc -l)
+    test2=$(rga --rga-no-cache --rga-adapters=tesseract "crate" exampledir/screenshot.png | wc -l)
+
+    if [ $test1 != 26 ]
+    then
+      echo "ERROR: test1 failed! Could not find the word 'hello' 26 times in the sample data."
+      exit 1
+    fi
+
+    if [ $test2 != 1 ]
+    then
+      echo "ERROR: test2 failed! Could not find the word 'crate' in the screenshot."
+      exit 1
+    fi
+  '';
+
+  doInstallCheck = true;
+
   meta = with stdenv.lib; {
     description = "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more";
     longDescription = ''
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 4b1275d041f..77cc625f7f8 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1iga3320mgi7m853la55xip514a3chqsdi1a1rwv25lr9b1p7vd3";
   };
 
-  cargoSha256 = "11477l4l1y55klw5dp2kbsnv989vdz1547ml346hcfbkzv7m450v";
+  cargoSha256 = "17ldqr3asrdcsh4l29m3b5r37r5d0b3npq1lrgjmxb6vlx6a36qh";
 
   cargoBuildFlags = stdenv.lib.optional withPCRE2 "--features pcre2";
 
diff --git a/pkgs/tools/text/ruplacer/default.nix b/pkgs/tools/text/ruplacer/default.nix
new file mode 100644
index 00000000000..7fdde0b3a69
--- /dev/null
+++ b/pkgs/tools/text/ruplacer/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ruplacer";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "TankerHQ";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yj753d9wsnp4s5a71ph241jym5rfz3161a1v3qxfc4w23v86j1q";
+  };
+
+  cargoSha256 = "1lzw4x40j25khf68x5srj8i05c11ls5y7km206vxn19vsy9ah4k9";
+
+  buildInputs = (stdenv.lib.optional stdenv.isDarwin Security);
+
+  meta = with stdenv.lib; {
+    description = "Find and replace text in source files";
+    homepage = "https://github.com/TankerHQ/ruplacer";
+    license = [ licenses.bsd3 ];
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/text/sgml/opensp/setup-hook.sh b/pkgs/tools/text/sgml/opensp/setup-hook.sh
index 753a3ea6428..5bace3c6688 100644
--- a/pkgs/tools/text/sgml/opensp/setup-hook.sh
+++ b/pkgs/tools/text/sgml/opensp/setup-hook.sh
@@ -6,7 +6,7 @@ addSGMLCatalogs () {
       fi
 }
 
-if test -z "$sgmlHookDone"; then
+if test -z "${sgmlHookDone-}"; then
     sgmlHookDone=1
 
     # Set http_proxy and ftp_proxy to a invalid host to prevent
diff --git a/pkgs/tools/text/smu/default.nix b/pkgs/tools/text/smu/default.nix
new file mode 100644
index 00000000000..a80a6d3d799
--- /dev/null
+++ b/pkgs/tools/text/smu/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "smu";
+  version = "1.5";
+
+  src = fetchFromGitHub {
+    owner = "Gottox";
+    repo = "smu";
+    rev = "v${version}";
+    sha256 = "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc";
+  };
+
+  # _FORTIFY_SOURCE requires compiling with optimization (-O)
+  NIX_CFLAGS_COMPILE = "-O";
+
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+
+  meta = with lib; {
+    description = "simple markup - markdown like syntax";
+    homepage = "https://github.com/Gottox/smu";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
+
diff --git a/pkgs/tools/text/snippetpixie/default.nix b/pkgs/tools/text/snippetpixie/default.nix
new file mode 100644
index 00000000000..585c183a81c
--- /dev/null
+++ b/pkgs/tools/text/snippetpixie/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, pkgconfig
+, wrapGAppsHook
+, appstream
+, desktop-file-utils
+, python3
+, libgee
+, glib
+, gtk3
+, sqlite
+, at-spi2-atk
+, at-spi2-core
+, dbus
+, ibus
+, json-glib
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "snippetpixie";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "bytepixie";
+    repo = pname;
+    rev = version;
+    sha256 = "096xj7n1ypr8ss8mbwd1hyypvmzw5lc0hjlj2d1x8hbjljldfd13";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    appstream
+    desktop-file-utils
+    python3
+  ];
+
+  buildInputs = [
+    libgee
+    glib
+    gtk3
+    sqlite
+    at-spi2-atk
+    at-spi2-core
+    dbus
+    ibus
+    json-glib
+    pantheon.granite
+    pantheon.elementary-gtk-theme
+    pantheon.elementary-icon-theme
+  ];
+
+  doCheck = true;
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Your little expandable text snippet helper";
+    longDescription = ''
+      Your little expandable text snippet helper.
+
+      Save your often used text snippets and then expand them whenever you type their abbreviation.
+
+      For example:- "spr`" expands to "Snippet Pixie rules!"
+    '';
+    homepage = https://www.snippetpixie.com;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [
+      ianmjones
+    ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index d1858d6508d..8e937fe8518 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "source-highlight";
-  version = "3.1.8";
+  version = "3.1.9";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
-    sha256 = "18xdalxg7yzrxc1njzgw7aryq2jdm7zq2yqz41sc7k6il5z6lcq1";
+    sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
   };
 
   buildInputs = [ boost ];
diff --git a/pkgs/tools/text/transifex-client/default.nix b/pkgs/tools/text/transifex-client/default.nix
index 12e68689934..403adaf71b6 100644
--- a/pkgs/tools/text/transifex-client/default.nix
+++ b/pkgs/tools/text/transifex-client/default.nix
@@ -15,9 +15,9 @@ buildPythonApplication rec {
   };
 
   prePatch = ''
-    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0" \
-      --replace "six==1.11.0" "six<2.0.0" \
-      --replace "python-slugify==1.2.6" "python-slugify<4.0.0"
+    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3>=1.24" \
+      --replace "six==1.11.0" "six>=1.11.0" \
+      --replace "python-slugify==1.2.6" "python-slugify>=1.2.6"
   '';
 
   # Requires external resources
diff --git a/pkgs/tools/text/xml/sablotron/default.nix b/pkgs/tools/text/xml/sablotron/default.nix
deleted file mode 100644
index 131bf3ae68c..00000000000
--- a/pkgs/tools/text/xml/sablotron/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, expat} :
-
-stdenv.mkDerivation {
-  name = "sablotron-1.0.3";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/sablotron/sablotron-1.0.3/Sablot-1.0.3.tar.gz";
-    sha256 = "0qpk3dlfp3bn2hbq0fzx1bzifv8cgqb9aicn59d303cdlynkgix0";
-  };
-  buildInputs = [expat];
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/typesetting/asciidoctorj/default.nix b/pkgs/tools/typesetting/asciidoctorj/default.nix
new file mode 100644
index 00000000000..8eaee977d28
--- /dev/null
+++ b/pkgs/tools/typesetting/asciidoctorj/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, jdk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "asciidoctorj";
+  version = "2.1.0";
+
+  src = fetchzip {
+    url = "http://dl.bintray.com/asciidoctor/maven/org/asciidoctor/${pname}/${version}/${pname}-${version}-bin.zip";
+    sha256 = "19fl4y3xlkmmgf5vyyb3k9p6nyglck9l53r6x12zil01q49g0zba";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    rm bin/asciidoctorj.bat
+    cp -r . $out
+    wrapProgram $out/bin/asciidoctorj \
+      --prefix JAVA_HOME : ${jdk}
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      AsciidoctorJ is the official library for running Asciidoctor on the JVM.
+    '';
+    longDescription = ''
+      AsciidoctorJ is the official library for running Asciidoctor on the JVM. 
+      Using AsciidoctorJ, you can convert AsciiDoc content or analyze the 
+      structure of a parsed AsciiDoc document from Java and other JVM 
+      languages.
+    '';
+    homepage = https://asciidoctor.org/docs/asciidoctorj/;
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+} 
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index 55349641ab6..e42681dbd83 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -10,26 +10,13 @@ perlPackages.buildPerlModule {
 
   src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz";
 
-  patches = stdenv.lib.optionals (stdenv.lib.versionAtLeast perlPackages.perl.version "5.30") [
-    (fetchpatch {
-      name = "biber-fix-tests.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/biber-fix-tests.patch?h=5d0fffd493550e28b2fb81ad114d62a7c9403812";
-      sha256 = "1ninf46bxf4hm0p5arqbxqyv8r98xdwab34vvp467q1v23kfbhya";
-    })
-
-    (fetchpatch {
-      name = "biber-fix-tests-2.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/biber-fix-tests-2.patch?h=5d0fffd493550e28b2fb81ad114d62a7c9403812";
-      sha256 = "1l8pk454kkm0szxrv9rv9m2a0llw1jm7ffhgpyg4zfiw246n62x0";
-    })
-  ];
-
+  # TODO: remove TextBibTeX for biber 2.14: https://github.com/plk/biber/blob/dev/Changes
   buildInputs = with perlPackages; [
     autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
     DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
     DateTime DateTimeFormatBuilder DateTimeCalendarJulian
     ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
-    ListMoreUtils MozillaCA ReadonlyXS RegexpCommon TextBibTeX
+    ListMoreUtils MozillaCA IOString ReadonlyXS RegexpCommon TextBibTeX
     UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
     ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey
     TestDifferences
diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix
index a72ca698077..c681eaa6ddc 100644
--- a/pkgs/tools/typesetting/fop/default.nix
+++ b/pkgs/tools/typesetting/fop/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://xmlgraphics.apache.org/fop/;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = with maintainers; [ bjornfor ndowens ];
   };
 }
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 5b1412f3792..1090ad300f7 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
   version = "0.9.14";
@@ -9,6 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi";
   };
 
+  patches = [
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/0aa17bb79dbcdfc249e4841f5b5398e27cfdfd41.patch";
+      sha256 = "0mr14nz5w7z4ri2556bxkf3cnn2f7dhwsld7csrh6z5qqb7d5805";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/27b9e028091a2f370367e9eaf37b4bb1cde87b62.patch";
+      sha256 = "03apsg1487jl800q8j70hicvg6xsndd593bg7babm4vgivkxb0da";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ djvulibre poppler fontconfig libjpeg ];
diff --git a/pkgs/tools/typesetting/pygmentex/default.nix b/pkgs/tools/typesetting/pygmentex/default.nix
deleted file mode 100644
index 662f7717b33..00000000000
--- a/pkgs/tools/typesetting/pygmentex/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchFromBitbucket, python2Packages }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "pygmentex";
-  version = "0.8";
-  tlType = "run";
-
-  src = fetchFromBitbucket {
-    owner = "romildo";
-    repo = pname;
-    rev = version;
-    sha256 = "07dnv7hgppy15bda2kcbrlvfqzl6lhza80klc7133dwg8q92hm6m";
-  };
-
-  pythonPath = with python2Packages; [ pygments chardet ];
-
-  dontBuild = true;
-
-  doCheck = false;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -a pygmentex.py $out/bin
-
-    mkdir -p $out/scripts/pygmentex
-    ln -s $out/bin/pygmentex.py $out/scripts/pygmentex
-
-    mkdir -p $out/tex/latex/pygmentex
-    cp -a pygmentex.sty $out/tex/latex/pygmentex
-
-    mkdir -p $out/doc/latex/pygmentex
-    cp -a README demo.* blueshade.png Factorial.java $out/doc/latex/pygmentex
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://www.ctan.org/pkg/pygmentex;
-    description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments";
-    longDescription = ''
-      PygmenTeX is a Python-based LaTeX package that can be used for
-      typesetting code listings in a LaTeX document using Pygments.
-
-      Pygments is a generic syntax highlighter for general use in all kinds of
-      software such as forum systems, wikis or other applications that need to
-      prettify source code.
-
-      This package installs just the script needed to process code listings
-      snippets extracted from the a LaTeX document by the pygmentex LaTeX
-      package. In order to use it effectivelly the texlive package pygmentex
-      also has to be installed. This can be done by adding pygmentex to
-      texlive.combine.
-    '';
-    license = licenses.lppl13c;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ romildo ];
-  };
-}
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index 98c80da5b2c..c78e60996bb 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "v${version}";
-    sha256 = "1j98qxlq74vs8nf2jsn2xw9iyrf8kih4v0hrvznkhcab6bpibp2x";
+    sha256 = "0dycv135bkpf71iwlwh8rwwvn287d605nl7v8mjxlrsayiivdmn9";
   };
 
-  cargoSha256 = "0hsm5a40lc3gy1zrfrchp7zby17xjv5a4llqr4xmka07y7sk08fn";
+  cargoSha256 = "0bkgh73kqcdv3j9hr3m13wrdhls3zrk7aii9shzbzl6rnp2ry1az";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 2513d48796e..787f19d91f4 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, texlive, ghostscript }:
  
 let auctex = stdenv.mkDerivation ( rec {
-  version = "12.1";
+  version = "12.2";
 
   # Make this a valid tex(live-new) package;
   # the pkgs attribute is provided with a hack below.
@@ -13,7 +13,7 @@ let auctex = stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1d2x59jw42hr81fma195bniqyhvp5ig5q0xmywbkcy59f16wlp69";
+    sha256 = "14vqs08mkfzc91jg7kabs9sdn74vywj8a29gyrfa3ivnm9c7jrsr";
   };
 
   buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index c4eaf4e1df4..cc9432f6f22 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -21,11 +21,11 @@ assert enableAllFeatures ->
   ghostscript != null;
 
 stdenv.mkDerivation rec {
-  name = "dblatex-0.3.10";
+  name = "dblatex-0.3.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
-    sha256 = "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg";
+    sha256 = "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv";
   };
 
   buildInputs = [ python2 libxslt tex ]
diff --git a/pkgs/tools/typesetting/tex/pplatex/default.nix b/pkgs/tools/typesetting/tex/pplatex/default.nix
new file mode 100644
index 00000000000..01777f3dd42
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/pplatex/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre }:
+
+stdenv.mkDerivation {
+  pname = "pplatex";
+  version = "unstable-2015-09-14";
+
+  src = fetchFromGitHub {
+    owner = "stefanhepp";
+    repo = "pplatex";
+    rev = "5cec891ad6aec0115081cdd114ae1cc4f1ed7c06";
+    sha256 = "0wrkkbz6b6x91650nm8gccz7xghlp7b1i31fxwalz9xw3py9xygb";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ pcre ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 src/pplatex "$out"/bin/pplatex
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description =
+      "A tool to reformat the output of latex and friends into readable messages";
+    homepage = "https://github.com/stefanhepp/pplatex";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.srgom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
index 67ea7c4fe18..6c0380fac49 100644
--- a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
+++ b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
@@ -35,7 +35,7 @@ See <https://tug.org/texlive/acquire-mirror.html> for instructions.
 
 
 ```
-$ curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
+$ curl -L http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
            | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix
 ```
 
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index f250dfb69de..9eaa81e144b 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, fetchpatch, patchutils
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
-, perl, perlPackages, pkgconfig, autoreconfHook
+, perl, perlPackages, python2Packages, pkgconfig, autoreconfHook
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
-, cairo, pixman, xorg, clisp, biber
+, cairo, pixman, xorg, clisp, biber, xxHash
 , makeWrapper, shortenPerlShebang
 }:
 
@@ -14,49 +14,60 @@
 let
   withSystemLibs = map (libname: "--with-system-${libname}");
 
-  year = "2018";
+  year = "2019";
   version = year; # keep names simple for now
 
   common = {
     src = fetchurl {
       urls = [
-        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0414-source.tar.xz"
-              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0414-source.tar.xz"
+        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0410-source.tar.xz"
+              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0410-source.tar.xz"
       ];
-      sha256 = "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y";
+      sha256 = "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj";
     };
 
     patches = [
-      (fetchurl {
-        name = "poppler-compat-fixes-up-to-0.70.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/poppler-compat-fixes-up-to-0.70.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "0a8bvyl7v6zlyyg3ycl0dmg2g2qahxlq3qmc1nv33r24anzb8xhs";
-      })
-      (fetchurl {
-        name = "luatex-poppler-0.70-const-fixes.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/luatex-poppler-0.70-const-fixes.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "0yiw2x97whdi23dc10xnqpxqj3aja15alir1byp1y03j60zv5n7i";
-      })
-      (fetchurl {
-        name = "texlive-poppler-0.71.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.71.patch?h=packages/texlive-bin&id=85ee0539525d8012f134b76c18dfb10d0837a7e2;
-        sha256 = "164wibyf786gdcb0ij4svsmyi13wvcx0cpdr4flki0lpy3igvlnq";
-      })
-      (fetchurl {
-        name = "synctex-missing-header.patch";
-        url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/synctex-missing-header.patch?h=packages/texlive-bin&id=da56abf0f8a1e85daca0ec0f031b8fa268519e6b;
-        sha256 = "1c4aq8lk8g3mlfq3mdjnxvmhss3qs7nni5rmw0k054dmj6q1xj5n";
-      })
     ];
 
-    postPatch = ''
+    postPatch = let
+      # The source compatible with Poppler ${popplerVersion} not yet available in TeXLive ${year}
+      # so we need to use files introduced in https://www.tug.org/svn/texlive?view=revision&revision=52959
+      popplerVersion = "0.83.0";
+      pdftoepdf = let
+        revert-pdfmajorversion = fetchpatch {
+          name = "pdftoepdf-revert-pdfmajorversion.patch";
+          url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc?view=patch&r1=52953&r2=52952&pathrev=52953";
+          sha256 = "19jiv5xbvnfdk8lj6yd6mdxgs8f313a4dwg8svjj90dd35kjcfh8";
+          revert = true;
+          postFetch = ''
+            # The default file, changed by this patch, contains a branch for vendored Poppler
+            # The version-specific file replaces the section with an error, so we need to drop that part from the patch.
+            # Fortunately, there is not anything else in the patch after #else.
+            sed '/ #else/q' $out > "$tmpfile"
+            ${patchutils}/bin/recountdiff "$tmpfile" > "$out"
+          '';
+        };
+      in fetchurl {
+        name = "pdftoepdf-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0pngvw1jgnm4cqskrzf5a3z8rj4ssl10007n3wbblj50hvvzjph3";
+        postFetch = ''
+          # The trunk added some extra arguments to certain functions so we need to revert that
+          # https://www.tug.org/svn/texlive?view=revision&revision=52953
+          patch $out < ${revert-pdfmajorversion}
+        '';
+      };
+      pdftosrc = fetchurl {
+        name = "pdftosrc-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftosrc-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380";
+      };
+    in ''
       for i in texk/kpathsea/mktex*; do
         sed -i '/^mydir=/d' "$i"
       done
-      cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.70.0,}.cc
-      cp -pv texk/web2c/pdftexdir/pdftosrc{-newpoppler,}.cc
-      # fix build with poppler 0.71
-      find texk/web2c/{lua,pdf}texdir -type f | xargs sed -e 's|gTrue|true|g' -e 's|gFalse|false|g' -e 's|GBool|bool|g' -e 's|getCString|c_str|g' -e 's|Gulong|unsigned long|g' -e 's|Guint|unsigned int|g' -e 's|Gushort|unsigned short|g' -e 's|Guchar|unsigned char|g' -i
+      cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc
+      cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc
     '';
 
     # remove when removing synctex-missing-header.patch
@@ -101,7 +112,7 @@ core = stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
     /*teckit*/ zziplib poppler mpfr gmp
-    pixman potrace gd freetype libpng libpaper zlib
+    pixman gd freetype libpng libpaper zlib
     perl
   ];
 
@@ -109,7 +120,7 @@ core = stdenv.mkDerivation rec {
 
   preConfigure = ''
     rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
-      libs/{mpfr,pixman,poppler,potrace,xpdf,zlib,zziplib}
+      libs/{mpfr,pixman,poppler,xpdf,zlib,zziplib}
     mkdir WorkDir
     cd WorkDir
   '';
@@ -167,7 +178,7 @@ core = stdenv.mkDerivation rec {
   '' + cleanBrokenLinks;
 
   # needed for poppler and xpdf
-  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++14";
 
   setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references)
   passthru = { inherit version buildInputs; };
@@ -199,8 +210,6 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
     ++ map (prog: "--disable-${prog}") # don't build things we already have
       [ "tex" "ptex" "eptex" "uptex" "euptex" "aleph" "pdftex"
         "web-progs" "synctex"
-        # build fails on Darwin with luatex53
-        "luatex53" # TODO probably can be removed when TexLive 2019 is out
         # luajittex is mostly not needed, see:
         # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
         "luajittex" "mfluajit"
@@ -211,8 +220,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
   # we use static libtexlua, because it's only used by a single binary
   postConfigure = ''
     mkdir ./WorkDir && cd ./WorkDir
-    # TODO add lua53 here when luatex53 is enabled again
-    for path in libs/{teckit,lua52} texk/web2c; do
+    for path in libs/{teckit,lua53} texk/web2c; do
       (
         if [[ "$path" =~ "libs/lua5" ]]; then
           extraConfig="--enable-static --disable-shared"
@@ -253,13 +261,33 @@ dvisvgm = stdenv.mkDerivation {
 
   inherit (common) src;
 
+  patches = [
+    # Fix for ghostscript>=9.27
+    # Backport of
+    # https://github.com/mgieseki/dvisvgm/commit/bc51951bc90b700c28ea018993bdb058e5271e9b
+    ./dvisvgm-fix.patch
+
+    # Needed for ghostscript>=9.50
+    (fetchpatch {
+      url = "https://github.com/mgieseki/dvisvgm/commit/7b93a9197b69305429183affd24fa40ee04a663a.patch";
+      sha256 = "1gmj76ja9xng39wxckhs9q140abixgb8rkrcfv2cdgq786wm3vag";
+      stripLen = 1;
+      extraPrefix = "texk/dvisvgm/dvisvgm-src/";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype potrace ];
+  # TODO: dvisvgm still uses vendored dependencies
+  buildInputs = [ core/*kpathsea*/ ghostscript zlib freetype /*potrace xxHash*/ ];
 
   preConfigure = "cd texk/dvisvgm";
 
+  # configure script has a bug: it refers to $HAVE_LIBGS but sets $have_libgs
+  # TODO: remove for texlive 2020?
+  HAVE_LIBGS = 1;
+
   configureFlags = common.configureFlags
-    ++ [ "--with-system-kpathsea" "--with-system-libgs" ];
+    ++ [ "--with-system-kpathsea" ];
 
   enableParallelBuilding = true;
 };
@@ -271,10 +299,22 @@ dvipng = stdenv.mkDerivation {
 
   inherit (common) src;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ perl pkgconfig ];
   buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript makeWrapper ];
 
-  preConfigure = "cd texk/dvipng";
+  patches = [
+    (fetchpatch {
+      url = "http://git.savannah.nongnu.org/cgit/dvipng.git/patch/?id=f3ff241827a587e3d39eda477041fd3280f5b245";
+      sha256 = "1a0ixl9mga24p6xk8dy3v60yifvbzd27vs0hv8996rfkp8jqa7is";
+      stripLen = 1;
+      extraPrefix = "texk/dvipng/dvipng-src/";
+    })
+  ];
+
+  preConfigure = ''
+    cd texk/dvipng
+    patchShebangs doc/texi2pod.pl
+  '';
 
   configureFlags = common.configureFlags
     ++ [ "--with-system-kpathsea" "--with-gs=yes" "--disable-debug" ];
@@ -319,6 +359,43 @@ latexindent = perlPackages.buildPerlPackage rec {
 };
 
 
+pygmentex = python2Packages.buildPythonApplication rec {
+  pname = "pygmentex";
+  inherit (src) version;
+
+  src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.pygmentex.pkgs);
+
+  propagatedBuildInputs = with python2Packages; [ pygments chardet ];
+
+  dontBuild = true;
+
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D ./scripts/pygmentex/pygmentex.py "$out"/bin/pygmentex
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.ctan.org/pkg/pygmentex;
+    description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments";
+    longDescription = ''
+      PygmenTeX is a Python-based LaTeX package that can be used for
+      typesetting code listings in a LaTeX document using Pygments.
+
+      Pygments is a generic syntax highlighter for general use in all kinds of
+      software such as forum systems, wikis or other applications that need to
+      prettify source code.
+    '';
+    license = licenses.lppl13c;
+    maintainers = with maintainers; [ romildo ];
+  };
+};
+
+
 inherit biber;
 bibtexu = bibtex8;
 bibtex8 = stdenv.mkDerivation {
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 651ff88b6f2..44dc45fdfb2 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -38,9 +38,6 @@ let
     clean = removeSelfDep (orig // {
       # overrides of texlive.tlpdb
 
-      dvidvi = orig.dvidvi // {
-        hasRunfiles = false; # only contains docs that's in bin.core.doc already
-      };
       texlive-msg-translations = orig.texlive-msg-translations // {
         hasRunfiles = false; # only *.po for tlmgr
       };
@@ -103,13 +100,21 @@ let
               map (up: "${up}/${urlName}.tar.xz") urlPrefixes
             );
 
-      # Upstream refuses to distribute stable tarballs,
-      # so we host snapshots on IPFS or on our own servers.
-      # Common packages should get served from the binary cache anyway.
-      # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
+      # The tarballs on CTAN mirrors for the current release are constantly
+      # receiving updates, so we can't use those directly. Stable snapshots
+      # need to be used instead. Ideally, for the release branches of NixOS we
+      # should be switching to the tlnet-final versions
+      # (https://tug.org/historic/).
       urlPrefixes = args.urlPrefixes or [
-        http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2018/tlnet-final/archive
-        ftp://tug.org/texlive/historic/2018/tlnet-final/archive
+        # Snapshots hosted by one of the texlive release managers
+        https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive
+
+        # Mirror hosted by @veprbl
+        http://146.185.144.154/texlive-2019
+
+        # TODO: Upgrade to the final snapshot of the packages before 20.03
+        #http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive
+        #ftp://tug.org/texlive/historic/2019/tlnet-final/archive
       ];
 
       src = fetchurl { inherit urls sha512; };
@@ -178,7 +183,7 @@ in
           })
         )
         { inherit (tl)
-            scheme-basic scheme-context scheme-full scheme-gust
+            scheme-basic scheme-context scheme-full scheme-gust scheme-infraonly
             scheme-medium scheme-minimal scheme-small scheme-tetex;
         }
     );
diff --git a/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch b/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
new file mode 100644
index 00000000000..0e927e24fd0
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/texlive/dvisvgm-fix.patch
@@ -0,0 +1,16 @@
+diff a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+--- a/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
++++ b/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+@@ -107,8 +107,7 @@ const char *PSInterpreter::PSDEFS =
+ "dmode sysexec<</Normal 0/Compatible 0/Multiply 1/Screen 2/Overlay 3/SoftLight "
+ "4/HardLight 5/ColorDodge 6/ColorBurn 7/Darken 8/Lighten 9/Difference 10/Exclus"
+ "ion 11/Hue 12/Saturation 13/Color 14/Luminosity 15/CompatibleOverprint 16>>exc"
+-"h get 1(setblendmode)prcmd}def/@pdfpagecount{GS_PDF_ProcSet begin pdfdict begi"
+-"n(r)file pdfopen begin pdfpagecount currentdict pdfclose end end end}def/@pdfp"
+-"agebox{GS_PDF_ProcSet begin pdfdict begin(r)file pdfopen begin dup dup 1 lt ex"
+-"ch pdfpagecount gt or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse curre"
+-"ntdict pdfclose end end end}def DELAYBIND{.bindnow}if ";
++"h get 1(setblendmode)prcmd}def/@pdfpagecount{(r)file runpdfbegin pdfpagecount "
++"runpdfend}def/@pdfpagebox{(r)file runpdfbegin dup dup 1 lt exch pdfpagecount g"
++"t or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse runpdfend}def DELAYBIN"
++"D{.bindnow}if ";
diff --git a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index b342e07eec1..f6cd70c0aa3 100644
--- a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -3,115 +3,122 @@
 "amsfonts.doc-3.04"="ch872rwfiar58praz8f880rcspy4mjxa";
 "amsfonts.source-3.04"="vjiw3vdxv44nl4yvaxqfy4b78girpjs7";
 "bibtex-0.99d"="ybimfc49fzmgpy88wagy0z55sdsshr50";
-"bibtex.doc-0.99d"="mh3fa2hn9gnyjgi16ald9fchd744f3vr";
-"kpathsea-2018"="drai6bldximc54gjiggyp41jiax2zr8r";
-"kpathsea.doc-2018"="6i8nvbq3zadqmw10nvp3yilv2viwpypi";
-"cm-2018"="5xrqls79s3drpagj8j3ihqzkll10605w";
-"cm.doc-2018"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
+"bibtex.doc-0.99d"="z85q61ajdnn1h1rljqf3cmz76j7wk7ch";
+"kpathsea-2019"="pxadnxm342pbnkx16swvqkh3h4i0dm01";
+"kpathsea.doc-2019"="riqk53rhn7kpqlsiygpbxb2pdqpxw0sm";
+"cm-2019"="5xrqls79s3drpagj8j3ihqzkll10605w";
+"cm.doc-2019"="36wag31jc0lrgncaxhcspiaqpwnw7xvy";
 "colorprofiles-20181105"="9rs3wkarffy7hf7c9kymzacy20znvcqf";
 "colorprofiles.doc-20181105"="v1asppz0kqvfg85skaiisphh2z4y6mbh";
-"dvipdfmx-2018"="ijnr5k9wvwq8lnd22qjrrjmm962la5f4";
-"dvipdfmx.doc-2018"="vqx3s832wa6nb6y7jw37xvffcbgl54dz";
-"glyphlist-2018"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
-"dvips-2018"="92wx71n0k4ia02l5m44xkmw5z1q22pbg";
-"dvips.doc-2018"="qivqgp02yhlb7bsx6m8rzi9siab9pigb";
-"enctex-2018"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
-"enctex.doc-2018"="p2pad1ncy8izfag44p0pndyvgckfngvv";
-"etex-2018"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
-"etex.doc-2018"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
+"dvipdfmx-2019"="ijnr5k9wvwq8lnd22qjrrjmm962la5f4";
+"dvipdfmx.doc-2019"="rg5skprlg10ac8xyxkbsja5mgyncx3x0";
+"glyphlist-2019"="i4nay4q38l3367hlc93rhkgxvrkcmyjb";
+"dvips-2019"="92wx71n0k4ia02l5m44xkmw5z1q22pbg";
+"dvips.doc-2019"="6sb1q07cc45fhk8vzgnlk2q5zrbn3haa";
+"enctex-2019"="j6lf040j733q0aj90wvx2vwq0x61zwdm";
+"enctex.doc-2019"="p2pad1ncy8izfag44p0pndyvgckfngvv";
+"etex-2019"="mdrs8yrrjf03pcndsr5azzxz7lvk08jp";
+"etex.doc-2019"="xdmkddsi3lykqy5hm03xamxsmmwplmnb";
 "etex-pkg-2.7"="2p6j6s4jm1y7k82jhh9lrfgcbph03h1a";
 "etex-pkg.doc-2.7"="0xlalpljqrcinaazh35yv9vc2a925h90";
-"graphics-def-2018"="yvcmr3xc5jflyh8fhaw0hgm68h3x5sk7";
-"graphics-def.doc-2018"="vykac1brcska9rhk2kni4krgjqwmcb7j";
-"gsftopk-1.19.2"="8fc88z3281crv5743qh5rzr0b51a2l8i";
-"gsftopk.doc-1.19.2"="mjyqyn0ydiwp1k3zwx2r4fc5vx0zxrzs";
-"hyph-utf8-2018"="7blj7akm7vnbqdixack7ijcms80byvwk";
-"hyph-utf8.doc-2018"="x98pqzlm36lp7f4vd46mf721h3gcg2nl";
-"hyph-utf8.source-2018"="a58yyvqp617ypilhhbn0km4pr0gv0yin";
-"hyphen-base-2018"="my6s9cz4f5ffpwya4xgkwlaxyac8rxg0";
+"graphics-def-2019"="yvcmr3xc5jflyh8fhaw0hgm68h3x5sk7";
+"graphics-def.doc-2019"="vykac1brcska9rhk2kni4krgjqwmcb7j";
+"gsftopk-1.19.2"="s7f70s4jyd5rnif4gwrli43k0pmfhhw9";
+"gsftopk.doc-1.19.2"="ygqc2yjbjw4mcjbj38pj8ar6x172xq9r";
+"hyph-utf8-2019"="2p5nhs05nj1wkihyf08yfvvhj5w2l91v";
+"hyph-utf8.doc-2019"="gnsa3x6b0vnzxm27xplvmxxvhghp41l6";
+"hyph-utf8.source-2019"="jqzgwpvs62p4j2i2rr7hi9ai38gx1x70";
+"hyphen-base-2019"="dxji64yb6fkmvqnf1vs0mca9zymr4xs3";
+"hyphenex-2019"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
+"hyphenex.source-2019"="n4rvv61jcw6s91mydy65qq90clva5zrs";
 "ifluatex-1.4"="ccsyxfkf1qb03cxnkfs6gy7iinz89dwc";
-"ifluatex.doc-1.4"="iy2c918ngcwyrpp45f6p72j41yk7nsrh";
+"ifluatex.doc-1.4"="g4dzj6fi4rmlz468v3ivq00gkbs0v363";
 "ifluatex.source-1.4"="q4pdan6i8fdhyr4h029ci1qv6nfrff3h";
+"ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
+"ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
+"ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
 "ifxetex-0.6"="llq1x3f5fykh5mg6avzb1a21x1vh2mxz";
 "ifxetex.doc-0.6"="1iy2bgx7adrh6dbbrhraskqggr65f7f2";
 "ifxetex.source-0.6"="dl81ang1gw395giysn3vk6lv4v5h9xr2";
-"knuth-lib-2018"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
-"knuth-local-2018"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
+"knuth-lib-2019"="cvjgvw8rwhmr98sz0y3azsyawzswcv3n";
+"knuth-local-2019"="g5vihblw8w8p8k8s14nakk959vpdgnh4";
 "lua-alt-getopt-0.7.0"="s2qkgq8dv65ib6chsah4xcargxh26bml";
 "lua-alt-getopt.doc-0.7.0"="xv8zqch612n2ww2pnpfranafcf7jhl96";
-"luatex-2018"="637hdgqiq1bdrm6whkgdmfh7fvag9v7l";
-"luatex.doc-2018"="gb6ww3qz63n7nkza8wzbfwnskla5f3jc";
+"luatex-2019"="cyv130m5b93raz9qyqb23g2069cvfqz6";
+"luatex.doc-2019"="rli7lcyjk0igxdwxzz5g4vd8pizsfs41";
 "plain-3.141592653"="my32apfgd55b14vf8bsldaqwdd931gcg";
-"tex-ini-files-2018"="831h7dslin8dnan7llz8mki6zibqfglj";
-"tex-ini-files.doc-2018"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
-"unicode-data-1.7"="f7a8b4z76dgj38ql9ihsp5x26kcah09g";
-"unicode-data.doc-1.7"="fjhq1ix98k71xm4v6fqk43dr9fxsy9ry";
-"makeindex-2018"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
-"makeindex.doc-2018"="hzvip1ni9pcsdip58sfzb5a5l6avv8z5";
+"tex-ini-files-2019"="831h7dslin8dnan7llz8mki6zibqfglj";
+"tex-ini-files.doc-2019"="pqfrqdqmlbhmcpjycpf644v4vg0qw7ic";
+"unicode-data-1.10"="rdgsyc2626nybhwiwanp6zrmc3xgq61s";
+"unicode-data.doc-1.10"="hj4y19lylzpyqd3z58cr7al485ymgnpn";
+"makeindex-2019"="yzy90d3n087yrdsawabd0bn7iwz3m1i6";
+"makeindex.doc-2019"="9x9r1qc16jdij986xvyz13ipzqvc7ard";
 "mflogo-2.0"="mnn3p5gn5h9yi4inkllswxn142j31mz4";
 "mflogo.doc-2.0"="rdirf33m53y719b35aby2d98v1i0jhh5";
 "mflogo.source-2.0"="hl5rzcmk83lpc5rxcvy31kzm6qbwx3g5";
-"mfware-2018"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
-"mfware.doc-2018"="gn08m3g32srfjwsyma8m375vzg7sb7ax";
-"pdftex-2018"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
-"pdftex.doc-2018"="41dr04hkcxxjipvv53myzfsm30zyjb5q";
-"dehyph-2018"="dwnq2aajr29sdydc45056na079ph8gc6";
-"tetex-3.0"="3a1qxsxnbcqibqa8474sjxgmalnabjf8";
-"tetex.doc-3.0"="v56ghpn9mw9y8d8bi2h3dj1qzj62i0xn";
-"tex.doc-3.14159265"="2ra9a532d58i270l6mkazbrjvsh0qhgb";
-"texlive-common.doc-2018"="1rpzarhhrni1mzkgrvijlkk46zyk08nk";
-"texlive-docindex-2018"="5j5z0j2qwdlg2v7wxwz8ndmbwql2s0vk";
-"texlive-docindex.doc-2018"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
-"texlive-en.doc-2018"="0cvrbfgwhl9i7b944ir9ykgjkqffq5s6";
-"texlive-scripts-2018"="4slnm2lcj74cbda5ilf6qspc66zw2f7s";
-"texlive-scripts.doc-2018"="40bcqrd02xxkv3zwx33hlkrsapcvb0zk";
-"updmap-map-2018"="0kfqc1q8nymlz6ikpk6086vy53zgx49l";
-"aichej-2018"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
-"ajl-2018"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
+"mfware-2019"="7mwvvyrb9cz2d3k5jl8r1fl238m3gl6n";
+"mfware.doc-2019"="px98kdlpy9a8j5wwr41bj26sy7v0ydhj";
+"pdftex-2019"="jlscd5nj9rdhdhczjah0vmarhrqdv9z2";
+"pdftex.doc-2019"="y0hg5pllb0nl8q2cf7cka9y2s783ml4f";
+"dehyph-2019"="dwnq2aajr29sdydc45056na079ph8gc6";
+"tetex-3.0"="1av633anrh1362bd0jdjzmxccdihmkdc";
+"tetex.doc-3.0"="kkk61vzd79mpq8yzj26c88v9hz5iia7c";
+"tex.doc-3.14159265"="p071mch50kkp8fv3jppqz8wpixi6638s";
+"texlive-common.doc-2019"="amx0fzzmrb3p1cd6ianbl8vync5kl47m";
+"texlive-docindex-2019"="5j5z0j2qwdlg2v7wxwz8ndmbwql2s0vk";
+"texlive-docindex.doc-2019"="bw11wjaqjjahs4x0hnakfvmvrjmjckkb";
+"texlive-en.doc-2019"="xjar2iksr9zvpd8sa19nz94d27zwlx2i";
+"texlive-scripts-2019"="4slnm2lcj74cbda5ilf6qspc66zw2f7s";
+"texlive-scripts.doc-2019"="i65h4yvfw765smdvzlhm15fw38s2yjz3";
+"tlshell-2019"="533phr4487bjy6756yndli62gvbwh85i";
+"tlshell.doc-2019"="yps67a47kr5r3ljhd18kq35bhn2qjj3y";
+"updmap-map-2019"="vs5lh5y6140dsd49w12gyvgvpwjg8nsv";
+"aichej-2019"="rmm8q17dvb470lyarcvgbpgip24a4fxb";
+"ajl-2019"="j0z05x267dbbw5r8s0ybvlj0hwky6sg5";
 "amsrefs-2.14"="crmn3pm2zy2fcr5d82dwwwxjm42na6j3";
 "amsrefs.doc-2.14"="r45n92fihia786v5nsab5vgjvwgmij6d";
 "amsrefs.source-2.14"="k1rzn2d509i2nkfwclpbpir3q6a41ya9";
 "apacite-6.03"="sj9k6bnr8qhfddlzk7wd0daf12458yi9";
 "apacite.doc-6.03"="cbhyw6lwyg7mnx8h421y0hxf3h5m6n4y";
 "apacite.source-6.03"="cby7n3f9rzm83736nm4rn1m77km3lr9y";
-"apalike2-2018"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
-"archaeologie-2.4.0"="dn20g5ayqwbra6jwp59hq7c8dsra30ni";
-"archaeologie.doc-2.4.0"="a0gr675wd6hpwrr1caii0pif3xzdr6av";
-"archaeologie.source-2.4.0"="ag352zgpdh3w3r5mbxx72d89xjwhlgxa";
-"beebe-2018"="0yrg33124vlyz0ncyhvvm1ynl3zv33mh";
-"besjournals-2018"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
-"besjournals.doc-2018"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
+"apalike2-2019"="vf25kvilm8g379d8c5mkzv749nd9p8ap";
+"archaeologie-2.4.2"="fj7j1agf9h442pqf3qhr4rh456jhc077";
+"archaeologie.doc-2.4.2"="m7fgm0v0hqqnb2hnnsabpvf21wj9w2h1";
+"archaeologie.source-2.4.2"="mh92z13ri04fpgybdkl5xq59cff3jdbj";
+"beebe-2019"="vlf2az2sjd14kkyzc1wfhr9sq0mqsms0";
+"besjournals-2019"="n3ljrkamca5v9w0rk3m38nqw86s1izc8";
+"besjournals.doc-2019"="3swy1ix6cxbp87hjlaf3x4ws4kg8sz77";
 "bestpapers-1.0"="15nq2m32h0giv41k6dslrw28han015aq";
 "bestpapers.doc-1.0"="mmlnsl83sil5zbdhwq16b6025sxdh9s6";
-"bib2gls-1.8"="gbx66948c4ny11lznzjvz19f41698cdk";
-"bib2gls.doc-1.8"="bznwibk4bw1p4bxpkivl3fdcg9k14br8";
-"bib2gls.source-1.8"="f85hivhnr2785zk3gqvg346nsv3ncn9q";
-"bibarts-2.1"="a7wcn8rhgh4irszdqk86ls1p8hpdnr7l";
-"bibarts.doc-2.1"="v2ibi8mncd5sf5x50hwj3gs6yilh1znp";
-"bibarts.source-2.1"="x52hqh053yzn25n75z1fr3siqdh7qkwn";
-"biber.doc-2.12"="xhk5dcv962x8fwqa2f0x4m0acbdii0ad";
-"biber.source-2.12"="vwvc8i4gbqs74c5vg5879k2pld904yqi";
-"bibexport-3.02"="6gc6r95ph3rkjzq038zk6w12k733qzwr";
-"bibexport.doc-3.02"="qapijzk1s6y6z02s4wnlw4vr6p96djxv";
-"bibexport.source-3.02"="iqp7q4fagafj6nfclsmj68lxljb8siw7";
+"bib2gls-1.9"="20vrj8bvv3sxy871sxmbx1fbpvcfk6ka";
+"bib2gls.doc-1.9"="x4rsjfm3x052b6fmf609l07xj35y4d36";
+"bib2gls.source-1.9"="gg417lsy2grri0fd71nakl97bna20d21";
+"bibarts-2.2"="w813f5qw2kbsmlhcwxsg62na06bp0p0r";
+"bibarts.doc-2.2"="xrv6r5iwpdyrjzqzanvgw2dy07xgkgb0";
+"bibarts.source-2.2"="c4js97f9wx1ndh8isk3fgg6lp1rhrrmb";
+"biber.doc-2.13"="p5ki8hv1wymby7l19ampq1d8i5bd9j9d";
+"biber.source-2.13"="3c1mnm03rb2m9rbp2ka9d8k7z97zwqjd";
+"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.12"="z27yq1spygzjy49jacbwp9lw7h4pxavq";
-"biblatex.doc-3.12"="f6gxhxc3h2c0nv1c933p7sdf48yxbz4b";
+"biblatex-3.13a"="6l70zbayjarzsri0vdxyx5hwcxg92lhm";
+"biblatex.doc-3.13a"="mr59rpjlcqpkziy1q4kl2pf5r930h9c2";
 "biblatex-abnt-3.4"="ryrk1n85x197ff723jla7vrcv4jkb2fv";
 "biblatex-abnt.doc-3.4"="i1b7mjmy8din75dzaqb407n5byavjwzy";
 "biblatex-anonymous-2.6.2"="yv83qimx8n31f00csmlxxlmymxsq1ngf";
 "biblatex-anonymous.doc-2.6.2"="s3g5ndv0alcpi8jmslrashcg4slb96hz";
-"biblatex-apa-7.7"="ipnqgjkim3pbwknxmmmpkfyanva0whlm";
-"biblatex-apa.doc-7.7"="cbyngxhks9lc4mjy7drml5r7lmqik3h7";
+"biblatex-apa-8.0"="3grx9ci8fpg4x673kb74xyy4vwfwrv8x";
+"biblatex-apa.doc-8.0"="7rvsh97frkac4cr9622if48bhj9myk65";
 "biblatex-archaeology-2.1"="fwk746qhhpvx6cdwnlpr9lsk4fz2p6k5";
 "biblatex-archaeology.doc-2.1"="ci6qj0qllffk6xbdwddhdv7i3fq0jip2";
 "biblatex-archaeology.source-2.1"="g4xg5j30gj6qjr5diqxw4j6wn2p7y3xk";
 "biblatex-arthistory-bonn-1.2"="298lp84p62rlsin8y7spz0ig2g8wla3b";
 "biblatex-arthistory-bonn.doc-1.2"="bkssng4czmqvimlv8f2bdh4sxdrag13i";
-"biblatex-bath-2.0.1"="6407h1yszac3n1ax7pamdlnpm9dlg2jv";
-"biblatex-bath.doc-2.0.1"="32dy1nian1bvzxqzshgrdxw8x13h88sr";
-"biblatex-bath.source-2.0.1"="a8qlpl4zpignkg8gc4c0ddhd41b07cpj";
+"biblatex-bath-3.1"="yqsh8dki8m1vqfsgp581sg1603dia6wr";
+"biblatex-bath.doc-3.1"="m2brk51j4svs62zligpih1cmbmqbx9f9";
+"biblatex-bath.source-3.1"="ph4vmzn2q8a4g5bla9jqh46yrq9awql3";
 "biblatex-bookinarticle-1.3.1a"="bnx6iravlnrkkyqb3ah21p0ikq00ab57";
 "biblatex-bookinarticle.doc-1.3.1a"="6shjhb1lajkivsh3mrr2whli5hcsb8b4";
 "biblatex-bookinother-2.3.1"="r1bfwp8rzwmkbn47yi7m5lv5z4q439ch";
@@ -120,8 +127,8 @@
 "biblatex-bwl.doc-0.02"="b7ddxvcabp9qd88mzb6dxvw7sz8dnqfq";
 "biblatex-caspervector-0.3.3"="lpdqh2pgsaz1rm3zkpm07pgrac1hqxpn";
 "biblatex-caspervector.doc-0.3.3"="3c2lhsgv6ywx3q48iw2wc39ib9c4rgaf";
-"biblatex-chem-1.1w"="nwyqk36wjjn7mfg805jc6i26j9rwkmx8";
-"biblatex-chem.doc-1.1w"="8bhcvrjqa2z1yh93f83x4c5r3ag70b71";
+"biblatex-chem-1.1x"="83hmyr4xgjn1g1zfnxhlzjlhgicd6j0j";
+"biblatex-chem.doc-1.1x"="dnhi32pmha9nzzngd4dqx4mmxdb3an0x";
 "biblatex-chicago-1.0rc5"="0m7wf9glvcqm20cfn6xgpciz6nvg8vib";
 "biblatex-chicago.doc-1.0rc5"="zr7fqjvzg0i8nmzldwsidq8r58xcbhlx";
 "biblatex-claves-1.2.1"="yq5s9plvimz4w9san81swl08g2v6pa6q";
@@ -130,18 +137,18 @@
 "biblatex-dw.doc-1.7"="ppry56vc44c86m47r1z8mq9s7fg77n8m";
 "biblatex-enc-1.0"="ccc2f3rnf7kyavb3r2hmah6pcfl1xivg";
 "biblatex-enc.doc-1.0"="b54x1g0296ln6lkw1zvlbmshhr93vg7y";
-"biblatex-ext-0.7"="y5rns3svsgn7ck6fh4956588gk5daxg4";
-"biblatex-ext.doc-0.7"="834if6lqkp75ynl4v3jfgkbkkm9rwpc7";
+"biblatex-ext-0.8"="nz7zmq8xw0s63rvg6qz7y3mbxybfzlnj";
+"biblatex-ext.doc-0.8"="y8q3dr3l9ld521s9q748pd3qf22kki2l";
 "biblatex-fiwi-1.7"="xwb00mw95l90bba4fc31kw62p43cxjz1";
 "biblatex-fiwi.doc-1.7"="y5hpi0gwp2s7hgqir2qw2yam9l3aqzdw";
-"biblatex-gb7714-2015-1.0q"="a0iyp9qrswlx1dp7mvyd6mirpjshvzjn";
-"biblatex-gb7714-2015.doc-1.0q"="5j4rvdzkc4prqbfrsi8cbjscdk7zlcwi";
+"biblatex-gb7714-2015-1.0s"="349q48k7k21nwy0fkkha7jjgjkyygcqa";
+"biblatex-gb7714-2015.doc-1.0s"="x5gybphqsrbydy3lp2vkdfzcfacxjlwn";
 "biblatex-gost-1.17"="db6rrz6vh7bhn8mi21lqii2r0ha8ii26";
 "biblatex-gost.doc-1.17"="2n6ghdccgmqgpd0rj53zhaja1p4dimd8";
 "biblatex-historian-0.4"="xp6r6a37ibm9fhdc95b2v3x5kgyz26c8";
 "biblatex-historian.doc-0.4"="6280kicfk2n0hwp03pyhl29ljdg911hb";
-"biblatex-ieee-1.3"="281hd9qianiq4dcq4hzk49dxjiyx5jfv";
-"biblatex-ieee.doc-1.3"="xjbyag9x6jxgfzay00a91fr4dzw4wcaq";
+"biblatex-ieee-1.3"="sm3ssfjjdkvmnbak50dk3rs1pzh12dba";
+"biblatex-ieee.doc-1.3"="pv4yx2prl0xzk7bbnj03i3blc5n7mpkv";
 "biblatex-ijsra-0.1"="179hh36v47xfagjwp5vj3hczc18jkrgf";
 "biblatex-ijsra.doc-0.1"="x3js5mb545xapavsqq4phml7zqiswiki";
 "biblatex-iso690-0.3.2"="y5032mfrc8djxnwsawcpa611rpdhmas3";
@@ -152,8 +159,8 @@
 "biblatex-lni.doc-0.5"="z9pj0sxkl3ld3hq89bnlllx1522rv3kn";
 "biblatex-luh-ipw-0.3"="83gar343q3h1h96h8lzs2bmsp1ba82n0";
 "biblatex-luh-ipw.doc-0.3"="yxcknwckw9s58qhrbdd70jz5yrpnyip2";
-"biblatex-manuscripts-philology-2.1.0"="6hva4lnz6rjn77lyciv1bg3mcnxv6qw1";
-"biblatex-manuscripts-philology.doc-2.1.0"="i4sqp17f8krpm2810h9w2913byq9kdp1";
+"biblatex-manuscripts-philology-2.1.1"="z6sn2zg9ahldf95jh3kpzbagzg6szynj";
+"biblatex-manuscripts-philology.doc-2.1.1"="8fv3b9xphj57awnyfjpz2prn1lr9i5jb";
 "biblatex-mla-1.9"="1m10jmh42x7qahq16bzi2rwvv7j7biq5";
 "biblatex-mla.doc-1.9"="f6b9nj6xj93vikp4agvkrjddrrgfvjc2";
 "biblatex-morenames-1.3.1"="vbcnaicg2pa0jrqd170cs31wim08yk07";
@@ -171,16 +178,16 @@
 "biblatex-nottsclassic.doc-0.1"="mswi2valgb31i1whlspd2mxvfcs1szdh";
 "biblatex-opcit-booktitle-1.9.0"="3aspv5b3a0lpif4wksanjq3fqclqkdij";
 "biblatex-opcit-booktitle.doc-1.9.0"="sz4gb2ahn58y76cl92hpap7xxg0mg0y5";
-"biblatex-oxref-1.1"="bf8n2ji36njwgmg87whs6wznarv84rlg";
-"biblatex-oxref.doc-1.1"="p11kaaw4nljb4hzi3hm48rsfn7phligx";
-"biblatex-oxref.source-1.1"="nrd0bljzqj0jqp7lwc410va41v74zv5l";
+"biblatex-oxref-2.0"="50cq5z924lx7l5i6p5di5qy42m0x6sm5";
+"biblatex-oxref.doc-2.0"="vsrcdc86gwn1iy74117lmdxs730f8ijj";
+"biblatex-oxref.source-2.0"="hxsvlk8vqcv7m52lycq6gcg5v7kay5vn";
 "biblatex-philosophy-1.9.8a"="kha09gq8n5db4fxh2w6s5690vms39hlw";
 "biblatex-philosophy.doc-1.9.8a"="3m8nl72q1q3hfv3xxdj978pmxjvn43s2";
 "biblatex-philosophy.source-1.9.8a"="3102fdih2bxplhadmwvi09lns9agflcz";
-"biblatex-phys-1.1"="avdg5fagxbm8xjah1r4r703gqslag0lv";
-"biblatex-phys.doc-1.1"="c7i585civ4qyp58a8cx1h6z0f6kva5h7";
-"biblatex-publist-1.15"="3xmqd2y7a2hgyh1nc4crdwd5ngxb7jhi";
-"biblatex-publist.doc-1.15"="z4pcpa4xlqlalafvinbycdmasavfnzj7";
+"biblatex-phys-1.1a"="02hwhka1l116g9dzzj8yypq6ym4x8jb1";
+"biblatex-phys.doc-1.1a"="ys5z5v2rwqq0y2rs9n9hkgcsqc31cfar";
+"biblatex-publist-1.16"="jz1rnnnqx61jc88ksl536sldn2sc066j";
+"biblatex-publist.doc-1.16"="yikna45mkm4k222s7kpgs827q28al3vf";
 "biblatex-realauthor-2.7.1a"="6qb576bh9x616f02msiq3xz83xzaa047";
 "biblatex-realauthor.doc-2.7.1a"="9pbd2aixmwj8as9lrmivkkfl4081820q";
 "biblatex-sbl-0.11"="kd461qdagb93p72av0ffqpy6747yz37k";
@@ -201,8 +208,8 @@
 "biblatex-trad.doc-0.4a"="i3b3iybys9x78z52bal216qi3p6xr83z";
 "biblatex-true-citepages-omit-2.0.0"="y7mg4jqb3fl9mzy93xcpxz3y0l5fw3kc";
 "biblatex-true-citepages-omit.doc-2.0.0"="7cxbqdyazdfp0masgk6a31rr3h9606xd";
-"biblist-2018"="b565jl60ysccd5qkzgidjb188i509y9l";
-"biblist.doc-2018"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
+"biblist-2019"="b565jl60ysccd5qkzgidjb188i509y9l";
+"biblist.doc-2019"="50kjqxwhdncn09c7cx0abkcihvhfzzpl";
 "bibtexperllibs-1.5"="nnb90d3rqwa1vcc92fmmbnhs7di0rkgv";
 "bibtexperllibs.doc-1.5"="mzvrc7zyrq6agqb5vhxy743brp57yf4j";
 "bibtexperllibs.source-1.5"="ailmqz0d71gscxa584pkb6jpvvzish9r";
@@ -215,22 +222,22 @@
 "bibunits-2.2"="vkahqz7zjn0g4dkpffvg8rfhjlynvmnf";
 "bibunits.doc-2.2"="d6xcf9xdkabjg3jrnyklla7kpbylrg61";
 "bibunits.source-2.2"="1hxc8yqjpri8pn512pfvcq7b2m9qnwib";
-"biolett-bst-2018"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
-"biolett-bst.doc-2018"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
+"biolett-bst-2019"="c2iw962bwa5815qk2sbhhqjd7z4ygmns";
+"biolett-bst.doc-2019"="7w39z3hdps980l2g1yqbzy8384w4vbqr";
 "bookdb-0.2"="b4mqk50dn86zf30w2z8953ms8m8v9lrs";
 "bookdb.doc-0.2"="y5sdn2fijycnyx9is1cqc5vx6zkyav62";
-"breakcites-2018"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
-"breakcites.doc-2018"="jjqimy63648q6n4mzlwrd7p723m09cbw";
-"cell-2018"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
-"cell.doc-2018"="61a0456g9i76nxwhpv18fw532nimk2l4";
+"breakcites-2019"="cvqm5ljgdl47idyjvfs2hg98xmkscfj9";
+"breakcites.doc-2019"="jjqimy63648q6n4mzlwrd7p723m09cbw";
+"cell-2019"="qlg2sy9fj9cv6c8jbdmwzysadl8fhw8b";
+"cell.doc-2019"="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-2018"="k9y76g5a4nfy88igklw08n27zvnnap2b";
-"chicago-annote-2018"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
-"chicago-annote.doc-2018"="8qhd3kj016s9laavhg1wvimy4325zz0g";
+"chicago-2019"="k9y76g5a4nfy88igklw08n27zvnnap2b";
+"chicago-annote-2019"="nyasy7sal5vikd1jysdvhg0ym7hs6q0p";
+"chicago-annote.doc-2019"="8qhd3kj016s9laavhg1wvimy4325zz0g";
 "chscite-2.9999"="yc7v9v66md3dy5k2gjswzh58xzxdhwp4";
 "chscite.doc-2.9999"="fbcykh46rifs4kvn728sav04fnshr6br";
 "chscite.source-2.9999"="vsii846cdlrd9fdmf4npwy8jxh0fcafb";
@@ -244,20 +251,20 @@
 "amscls-2.20.4"="hjr4w21h3fp0y6m5gb30p6f54ybv0l0j";
 "amscls.doc-2.20.4"="zyf0gsqks7yvszlngwzjbjiigc0943cd";
 "amscls.source-2.20.4"="8lgim0r54srk961ys2q7v80dq5w04i9b";
-"amsmath-2018"="gh8cmrxvjnkmhxq84xg0944aq64qvzkh";
-"amsmath.doc-2018"="sba312b63anafvzzcad0nfm393lwxhg8";
-"amsmath.source-2018"="zxkxj8nhqyih9n73h6d0h84m5ahb4hq5";
-"babel-3.27"="b99n213gsi5rp0m33xi7d5sdszqwavmg";
-"babel.doc-3.27"="ljqifl8jnmcs8px7lmqqa3xqr35sb6ki";
-"babel.source-3.27"="gs8b8f4s62vwgbvd4l0l0jq84spdqg2k";
+"amsmath-2019-10-01_PL1"="56ydwy656jmvlrqnksw6v0v56xvkwlmd";
+"amsmath.doc-2019-10-01_PL1"="4g50843qsxgdyhg4f9iwz2v46332p0bm";
+"amsmath.source-2019-10-01_PL1"="n2gqxbxbnjrrlgwqsalzkg701xg29lxd";
+"babel-3.34"="wadnjmg9fbalgj65app4588ky6bv5yr8";
+"babel.doc-3.34"="adhzabyv276nc6df3xrid4kb7ra478x0";
+"babel.source-3.34"="03jmz4d3836jrhrbrgzbkbl7a5yhghsb";
 "babel-english-3.3r"="lrsz299wwvr17sshfjvsvrzs0s9y2acs";
 "babel-english.doc-3.3r"="y7rp46lrpxsp8z1ridc6msxnbb008k0c";
 "babel-english.source-3.3r"="5sxvprjfcqhw6xb3mv3b0smp2gsckjs9";
-"babelbib-1.31"="amkn9a5k0ggifkz1yczzlgl6lxklb1rn";
-"babelbib.doc-1.31"="82pbrcmmfxzpzb4aid7a7gq4wd4y0d5g";
-"carlisle-2018"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
-"carlisle.doc-2018"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
-"carlisle.source-2018"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
+"babelbib-1.32"="0jpv3d5s8inkpg1nyz1b8m80aq6simwa";
+"babelbib.doc-1.32"="cixpp9aiajyjxj23gzvxw94zydsxd3az";
+"carlisle-2019"="wlkxgqdq20dlbinabdia2n1af9nhz5vm";
+"carlisle.doc-2019"="i2mg4zqlcsipqcz4wa9y9p89nnfzvavf";
+"carlisle.source-2019"="bvla3z6fd0m46k365s2fsbpb5ypvb3rv";
 "colortbl-1.0d"="4lw5iwy35py4w2arbznxb3r9yd443z68";
 "colortbl.doc-1.0d"="45mzaihfjzwfv33k6c01d1nwdyp0agsc";
 "colortbl.source-1.0d"="9val9i06wbmvv4xaqp79ci1nqckswcbp";
@@ -270,57 +277,57 @@
 "geometry-5.8"="3xdzw74y7vizrlzxrcb5xbqzs67v8g02";
 "geometry.doc-5.8"="w0ldwyyv86y0d8ghpg9x603ldmqa33gw";
 "geometry.source-5.8"="x0dgg7kpn2apxabf2clw02ba8ci83pvk";
-"graphics-2018"="4n0jknkfdlb4wn4rhdvd9mb2qwbphm67";
-"graphics.doc-2018"="kd2f457spavjh20mm4as67ndk0vyy0gd";
-"graphics.source-2018"="2j3h2ql32np0wfhqhzvkqchxw1f03fsp";
-"graphics-cfg-2018"="j73na78ajl4n50wn2is5wvw7mf27da86";
-"graphics-cfg.doc-2018"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
-"hyperref-6.88e"="rh90di9gcwqlvbgyn3rxl0n9y9qmgmvm";
-"hyperref.doc-6.88e"="drq5fklnr7ivwgf2ygggilf1v8f0yh11";
-"hyperref.source-6.88e"="wnmlmmwq0qnq7gv79zn4n6cy9r7f16sh";
-"latex-2018"="l1qfdwfvbbk16ysbizcz59cgzcsvlwrv";
-"latex.doc-2018"="b5f7v32nc9wf57k01yrcrhyrnar46dw1";
-"latex.source-2018"="4p7rggl496163yr7ghwk5qyly02bmkhl";
-"latex-fonts-2018"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
-"latex-fonts.doc-2018"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
-"latexconfig-2018"="rpwazy1znnhn7bdbnrcckqkddmxxqzqv";
-"latex-bin.doc-2018"="4jd2pggj1zf9jjgvbxvyn5p926vlkm7s";
-"ltxmisc-2018"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
-"mfnfss-2018"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
-"mfnfss.doc-2018"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
-"mfnfss.source-2018"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
-"mptopdf-2018"="8a9cp2fz1ayhq8x7c3c609fzjd6dxz1x";
-"mptopdf.doc-2018"="is6risvf0n7s4f936blh4c7sab8szlw9";
+"graphics-2019-10-01_PL1"="2ba5bkbsx0cr555yc2fdg8nya9y915kv";
+"graphics.doc-2019-10-01_PL1"="yibgggcnv294s7f6lqyvby1psd6v15ry";
+"graphics.source-2019-10-01_PL1"="25rd6d1klffzzih3anv4jm49xz72p9g0";
+"graphics-cfg-2019"="j73na78ajl4n50wn2is5wvw7mf27da86";
+"graphics-cfg.doc-2019"="nzdjyk00lx0xhflm04d2kmyn5ya2v487";
+"hyperref-7.00a"="jbr8bq1504pmig2vd31bckicwm5p3g0z";
+"hyperref.doc-7.00a"="d177im8cpmc0hm6084lrims8zysbchlq";
+"hyperref.source-7.00a"="acwybgz16b0h3b9arhxrqlgg28phizfs";
+"latex-2019-10-01_PL1"="pjjiksxcbbrg4fwsqzj7xxy1g75ma8wk";
+"latex.doc-2019-10-01_PL1"="ibfpbbkvvk682gczxcfl3586kc11wyp1";
+"latex.source-2019-10-01_PL1"="a0x0c407wv20dx8dw2hgwzwl89mh8p4n";
+"latex-fonts-2019"="pw97wy7b4hhzm28r0wl44lacn7nx41ia";
+"latex-fonts.doc-2019"="mv9ivpdxgyjj92fq9141bsw5s306mg83";
+"latexconfig-2019"="4vggm9mgi3pyfk3rqqfmwhdcp9hcva4z";
+"latex-bin.doc-2019"="sklvy72k0l7x05rnj2hc4dwgjqq5jf5v";
+"ltxmisc-2019"="lf6x6jbl1d3i77wb0dg7lmy26qxk7h8x";
+"mfnfss-2019"="52p8xnxca0ypcxbbjakx42mljjwv5jjj";
+"mfnfss.doc-2019"="0c2hn0h964j1c0kzn0aq19cvff0n87hs";
+"mfnfss.source-2019"="829y6cng0z45bdsb2vdrs4wkq2pp0cxz";
+"mptopdf-2019"="ppsa0jcj7d7gi35cp2y5pbw6kqgkzfac";
+"mptopdf.doc-2019"="0v8v04k9s2i5yxdl77l3rnjhg0k628bz";
 "natbib-8.31b"="c4fyqph06vxqm37z88r31q84xz5imcnj";
 "natbib.doc-8.31b"="fsg1kcjvbp5hfn9h8lwhygnil9wr7awg";
 "natbib.source-8.31b"="c4b7bqivps74v8286lf4j36p551jhnzj";
-"oberdiek-2018"="hb54rn1s5hjy6hvpmay68ia6afjwlp7k";
-"oberdiek.doc-2018"="am5p570n3b8gak877s7rahmva3wabvp4";
-"oberdiek.source-2018"="89c7dfd1b9i1p30a94mmw2gnadrjcak7";
-"pslatex-2018"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
-"pslatex.source-2018"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
+"oberdiek-2019"="jjyf8yvabnnn9qq9p5984803gb1s1wc6";
+"oberdiek.doc-2019"="qzviygm5dqka4fphpj2s6pxsrllr37a4";
+"oberdiek.source-2019"="3jha5akdwhi1998gvg0hk5kbk0f5mp6b";
+"pslatex-2019"="7apd53ad70mr9pf8ja87iz4cfm41qs9p";
+"pslatex.source-2019"="cqc3yah7p9cgbbsj6var19b4xzyqj01l";
 "psnfss-9.2a"="a4gfps30ywrjdah9m5dknsv5yl80h0gz";
 "psnfss.doc-9.2a"="pbiaqsf1gqrwic9pf499k89aw757wr9m";
 "psnfss.source-9.2a"="vi285d52bbvq01x4yan9md3cck4dc1lh";
-"pspicture-2018"="siqi85kfmyg91cf7nggs71jh38g2aicl";
-"pspicture.doc-2018"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
-"pspicture.source-2018"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
-"tools-2018"="iy05yrd1y7y4bggg65lj10a1f4pa32gg";
-"tools.doc-2018"="pfp6fsa9ffairmcak502sq0g80b32rr6";
-"tools.source-2018"="rsgxiz1hchs3p3pymk7l8r2id769178x";
+"pspicture-2019"="siqi85kfmyg91cf7nggs71jh38g2aicl";
+"pspicture.doc-2019"="h26v6akzzgg6hn4ay096fvg2qw6l2ww8";
+"pspicture.source-2019"="fclpkng5q7dhd1vfzv2031r4l3f3vh5y";
+"tools-2019"="c9058cqv0a32gnz32nf5gy3998jcj181";
+"tools.doc-2019"="pysraqwxj1869p6dhlwj72a5vkxlvr10";
+"tools.source-2019"="q75n910y7g8q55w5z5zpizzvphnkrk9n";
 "url-3.4"="vf34zjwlv43kcw53sdla9052x7x0kn7y";
 "url.doc-3.4"="ii3z3l7xkmrkxb8dkgk6lcqyb34niirc";
 "collref-2.0c"="xxcnjj8qnbb06zkmh5kqysdm6k5yf4z4";
 "collref.doc-2.0c"="5a9ns23lv1n780ll3kp969dhi0mx93gb";
 "collref.source-2.0c"="7msfby8bxs89i87jiibpbnp97byjs6p5";
-"compactbib-2018"="5365y0lxziirnp7rraxwbcksrky9hr1m";
-"crossrefware-2018"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
-"crossrefware.doc-2018"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
+"compactbib-2019"="5365y0lxziirnp7rraxwbcksrky9hr1m";
+"crossrefware-2019"="qb2vwvcmvb0xmsj75vxgd7fn26c5npmf";
+"crossrefware.doc-2019"="69qdw8b3xrqnydxih94sjpj7pd8jpy5x";
 "custom-bib-4.33"="9vqjbilzlsqg3f609hnz27pwmrl5gfg5";
 "custom-bib.doc-4.33"="nz1gxi8ixypxpf4cv7nilabq1ivr6fiz";
 "custom-bib.source-4.33"="vmak3xkin0hmg92mmpxj53dgs2f2yihg";
-"din1505-2018"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
-"din1505.doc-2018"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
+"din1505-2019"="dc7lv2c8zid1c6pklllsiac390hx0v4c";
+"din1505.doc-2019"="fhdc3badjmz3zylmgahy34fbzjgkss0m";
 "dk-bib-0.6"="yvbpqypgxkh6i47yvkk0cp7qsfy083gr";
 "dk-bib.doc-0.6"="px69q4pi9444kwmw6fpmajvdwl8ivw9i";
 "dk-bib.source-0.6"="1jmv0pg8x913y6y0xjb888s0zg91iw1l";
@@ -331,34 +338,37 @@
 "ecobiblatex.doc-1.0"="y5hifg3r0xkgv6zklw7l9j7shl87fnf0";
 "econ-bst-2.5"="dfb5v9f83gkb7h53xd3iig951ay2aw6y";
 "econ-bst.doc-2.5"="px5fik2wrgkc67v6ddja3c2f5hrl0wlx";
-"economic-2018"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
-"economic.doc-2018"="pv3irnv3gj70q22ac3kr858hac50vrbz";
-"fbs-2018"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
-"figbib-2018"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
-"figbib.doc-2018"="6v3sj56vg039mrm7kk71wdjhp04h1rf6";
+"economic-2019"="xw85nd7v6i1d2ma0airnc7bwf1fdsipp";
+"economic.doc-2019"="pv3irnv3gj70q22ac3kr858hac50vrbz";
+"fbs-2019"="h6ghp5i14cqy46hzp9i481c8gvk2ddza";
+"figbib-2019"="imp65i6ddqyw5xck7k6gzb976glq9xj8";
+"figbib.doc-2019"="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-1.0.9"="g9sjibxccn227yv5gjg4xa7vi5jvrplg";
-"gbt7714.doc-1.0.9"="2vid9662wbyiq05lwlis2nnqvvyyx00v";
-"gbt7714.source-1.0.9"="975jm1lmx6g3g3hl98mjkr55vzp3006m";
+"gbt7714-1.1.1"="m93b7kdmx9qwas372saxfydrnh2cz21c";
+"gbt7714.doc-1.1.1"="2wxs8msr5n51ai13g23ly82ilrgv28w4";
+"gbt7714.source-1.1.1"="iz3wimzdq8cp06fjzbfjf08a3ygrcah7";
 "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-2018"="30iiq3zikvmyy87j98knxbc9iak232bb";
-"harvmac.doc-2018"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
+"harvmac-2019"="30iiq3zikvmyy87j98knxbc9iak232bb";
+"harvmac.doc-2019"="3q1j6s2rdz18fg3hknp7ifyzixgmwr8h";
 "historische-zeitschrift-1.2"="6zli1x9hz1dsy8p4hpi9rdb0hs35vka9";
 "historische-zeitschrift.doc-1.2"="y76j031x8zym5i6sqr0r67ws0z49q306";
+"icite-1.2"="saan1djq4x1i8zxs7a2wvf8g5qdkb7h9";
+"icite.doc-1.2"="m5qw69c6523g1ix7ik4h1kqpk2w6ldgs";
+"icite.source-1.2"="c2ziq7jww339p059lvgc4ba48k93nlsa";
 "ietfbibs.doc-1.0.0"="mqqb9qjrk1lg7w85w8jbhizmh1qh4zqa";
 "ijqc-1.2"="ry2ydiqc71zjfkb46l4fvlxa1h6wnq1c";
 "ijqc.doc-1.2"="zz9ai19qd2rxvpw5kx1k1rd3ndndjv6v";
-"inlinebib-2018"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
-"inlinebib.doc-2018"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
+"inlinebib-2019"="gkr44f3f9m92bx42gcvwgzclbjya5gdm";
+"inlinebib.doc-2019"="bpfx7h4w0zqr7xdxn51glllzf20qj24y";
 "iopart-num-2.1"="92jbzj605pi9chj3ymfxm9ii2dh62haz";
 "iopart-num.doc-2.1"="smix69mc1n89q45nw3rl18lasn2c2kwa";
 "jneurosci-1.00"="r5k91lza98jn52s8fmgrbclslb6zps08";
@@ -387,113 +397,117 @@
 "multibibliography-1.03"="3svp5l6al4k7adk99d6fcy7m54qbfbqy";
 "multibibliography.doc-1.03"="1bl112qsviy7jzhm1qdvn42x0lvcnjkd";
 "multibibliography.source-1.03"="65bvyr4gr7sdwhsraq9rmbv16d4fi6qc";
-"munich-2018"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
-"munich.doc-2018"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
+"munich-2019"="0a6hgpvjyd8hzvmrf5bjc6rniwj39bx8";
+"munich.doc-2019"="22c6rhm479c1gg7df9mzza2vl7jgb3ij";
 "nar-3.19"="iaann8dbnvignc32m1wnlz4j77i7ngx8";
 "nmbib-1.04"="mbz1wjyaxsx3cn4wymvz4w9wf10580da";
 "nmbib.doc-1.04"="s6bbxc8lyp7kbrpsi0i4jrvda00260ks";
 "nmbib.source-1.04"="x0gvyn54csgywd7wlmbi0c8djkwrp4xq";
-"notes2bib-2.0k"="q8dvcbf4dla1x8lrpsr6lmd4racfkfps";
-"notes2bib.doc-2.0k"="mw3vsv53vpng36nqwiwdw4aj49gq6rq1";
-"notes2bib.source-2.0k"="zllxh9jj5yakjw8pswdj5mv7cmm99lf8";
-"notex-bst-2018"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
+"notes2bib-2.0m"="18cgk3w262q3ji8c2safphbnv63yh7j7";
+"notes2bib.doc-2.0m"="3ivpnsxqwfsy5rhrc5wacl0b6va2sva1";
+"notes2bib.source-2.0m"="75wz1scfq0j5pdix1ksvwh90y5j3dzaf";
+"notex-bst-2019"="x4042ry48i6p1qr2l4yv0d52x4wmjarg";
 "oscola-1.6"="vq11bym9gl0s90nawvvlvhifb6z4mq1c";
 "oscola.doc-1.6"="cg73zf6fnga143mk6yjxpxmv77kv76lz";
-"perception-2018"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
-"perception.doc-2018"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
+"perception-2019"="xpljy8xycf22akdj5dzzzmcb34zx8d1z";
+"perception.doc-2019"="sn4m1gc1s04h1crw3gbaahbxa6b76npy";
 "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-2018"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
-"sort-by-letters.doc-2018"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
+"sort-by-letters-2019"="4m8cm6rnhgsc40liy2yhfc4r76zpdnsq";
+"sort-by-letters.doc-2019"="3z4kw7hvnjmp7hlfjw2gchraw69zyx09";
 "splitbib-1.17"="az1n021wdajs8dc0q93wgfb1r0jcr2h2";
 "splitbib.doc-1.17"="qsb89h2ch89qhbxir7f90xx5sqvgm1px";
 "splitbib.source-1.17"="c9m7hp7fh86qj53qwaqxh8xj8yf3gxdy";
-"turabian-formatting-2018"="dcm9mzg25w818sqjfhd7ih3azvydv0qy";
-"turabian-formatting.doc-2018"="2qhbgk9x91k0r4ar0hc3jydw1raaf3z0";
+"turabian-formatting-2019"="dcm9mzg25w818sqjfhd7ih3azvydv0qy";
+"turabian-formatting.doc-2019"="2qhbgk9x91k0r4ar0hc3jydw1raaf3z0";
 "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.7"="gpzjqqbgn0c8nx2w9dmbq1imgvdqym49";
-"urlbst.doc-0.7"="zn0qpl0y989d5489haj0cxi5dhvx8fgk";
-"urlbst.source-0.7"="5zckw24fv8ws9dbzmyvd4xsb5bl0vb0q";
+"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-2018"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
-"vak.doc-2018"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
-"windycity-2018"="sfby3ig68vnw8ywrsqn2zs421gl48vav";
-"windycity.doc-2018"="bqfx9l4ppww1rb7nwzvn4ba1k0qkf04f";
+"vak-2019"="7ar45am5q9mhv8liz1zvix9wgcwqgjhl";
+"vak.doc-2019"="sr1gi7csll74iw13j24r1hdwn3gql9ak";
+"windycity-2019"="d4xmbwf69spcn35mjmccdq37gszl3nyc";
+"windycity.doc-2019"="0vshfrxbpfndxsljkd1qghkinvxhyli6";
 "xcite-1.0"="fpgsqqg3rliap6chn99xzlj676ll25hd";
 "xcite.doc-1.0"="wvhx1d2wkws7fcrplh55v9fsq1r8a3hw";
 "xcite.source-1.0"="8n5kfjr7xfjicd1hw6hlhcrn8dzicp5q";
+"zootaxa-bst-1.0"="78lffb7mvla2yryr0lmljd5w4pmakggp";
+"zootaxa-bst.doc-1.0"="bx9v8rj2nlbdapknqk8wigrq9jdfjggn";
 "a2ping-2.83p"="6m6vil4rjfwnkgaw4apxfda97n2nx6g4";
 "a2ping.doc-2.83p"="v6k8vhfmq1f1k71qn8651v86mid1z4dk";
-"adhocfilelist-2018"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
-"adhocfilelist.doc-2018"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
-"adhocfilelist.source-2018"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
-"arara-4.0.5"="ad9x8ilgi6h354i6sijqwxs0akqgc0lw";
-"arara.doc-4.0.5"="gi552wwva8ggpkvwv2rgpny1lbn4kcjv";
-"arara.source-4.0.5"="v96bqimg5vn5bh3kg9pa52kv7pa2s2sa";
-"asymptote-2.44"="mgrlxp24znrbvqh449bjc4z6mm85lwfh";
-"asymptote.doc-2.44"="ngsvz2afsiv53yrhaf74xqsb8vcqxiy6";
+"adhocfilelist-2019"="l8ayz7mqaa5lma2bvqb2brc879y0viij";
+"adhocfilelist.doc-2019"="gm20nhwq88s1cmch3pcgkqnyahb5gnri";
+"adhocfilelist.source-2019"="3qx23im0z07cnk2bd5vrskl153zxy6ff";
+"arara-4.0.6"="qk5dq5f0il52m1gp8ckd7ilqbmpkvfmj";
+"arara.doc-4.0.6"="rvkrcair91scrk763igaj9mmi23n5j7x";
+"arara.source-4.0.6"="s7rlspqx9dqsbixbnmnaz9hh7gwkmkfi";
+"asymptote-2.49"="ka921kxzvyq3hi5frln4hh7qg1kfgch7";
+"asymptote.doc-2.49"="b1bh1i57rh28a4mdjx9bcplhb1qgd5cg";
 "bibtex8-3.71"="sri58vnydvfpv947gmlxd1s3c2056fp1";
-"bibtex8.doc-3.71"="glkl9d9h57q9q6dpyszcqc3axcxbw888";
-"bibtexu.doc-2018"="yppzw0banxngki9dzgm7dlm8cr9vnxya";
-"bundledoc-3.3"="l8hik9610hiabab94q3nwiyxc465rjsh";
-"bundledoc.doc-3.3"="w5f7l7n74hdmyc5idbfs9pgl1nas2azs";
+"bibtex8.doc-3.71"="cffvi0y0lv801yj5d8v9cr2d4x8gr0wa";
+"bibtexu.doc-2019"="lkrsyq73l14mmcviv2qwa3hrwp0nm793";
+"bundledoc-3.4"="3r6cx7n6wy995jd9hpg2n4qkbhwmnyfi";
+"bundledoc.doc-3.4"="cd59kzd2v9pq2d058jx5pxkcjhbvbrr1";
 "checklistings-1.0"="a2gvh85pcmrc82wq4h6n9ycqj86z9f8d";
 "checklistings.doc-1.0"="ymkplhp7331fs0kq4qcpmh9la0wxj5lq";
 "checklistings.source-1.0"="8ya9yd2by50zppk7rrqjkc34ans6ffb0";
 "chktex-1.7.6"="4khiza97qvhdbzdlz7pacnr16zmi9b9d";
-"chktex.doc-1.7.6"="1f1dbhlq7m6d14ncmp1z080nzn7cawn5";
-"cluttex-0.2"="pg9647irc2ai0vwhh0ljhin5wgsgq14a";
-"cluttex.doc-0.2"="w7v29ykpwmrzmqzgn7772bkls1cs5p2n";
-"ctan-o-mat-1.2"="jgbscps642n6xss5m0nwp689q5znrgij";
-"ctan-o-mat.doc-1.2"="iyrk7zg661fdjapxqiwsgd5afiwf5ijh";
+"chktex.doc-1.7.6"="dmr9yb4fygjxk0sznghrfjq2yx441378";
+"clojure-pamphlet-1.3"="czmy129a09h3r5ssnlhaxgz932vmqx6g";
+"clojure-pamphlet.doc-1.3"="cha12zds1j3adykqd9d697izik89i3xh";
+"clojure-pamphlet.source-1.3"="flbrsg215hp85fn6hrpygjmdggrzx6rs";
+"cluttex-0.4"="6kz3s0g8c6jmv2izivbhvrkyz9knrmpf";
+"cluttex.doc-0.4"="mghq29dal4f8lchx76jb7jnm4qfjv4j3";
+"ctan-o-mat-1.2"="jcmhpw3irmr4hix6j1n1wk1g4wgc0nm7";
+"ctan-o-mat.doc-1.2"="f43qd3ynl7x47g4wwfnd1icsrzxj3sgp";
 "ctan_chk.doc-1.0"="m4i1vj19h48zyk9pxadfq1qrwmvqy3i1";
-"ctanbib-0.1a"="h1139k4438fxfj9mh469wssasbvbw08c";
-"ctanbib.doc-0.1a"="k31mb4pkhh2s8l4gkhjyhw42a6j2gfc7";
+"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"="af2mrxy0q5bw0lbahcgdajgfyjd8zi5d";
+"ctie.doc-1.1"="zz696bci66pc2p1pkwa0ddrh7fn7q6gp";
 "cweb-3.64b"="rq96m12nzl8qip0zvafdssa1nsglq42z";
-"cweb.doc-3.64b"="aphwd72i8j9z7qxqnldhr2cdjj58yh2w";
+"cweb.doc-3.64b"="2nyvzqjz5xg4hfyf1z2qjbhr1gj1pjg3";
 "de-macro-1.3"="mscrdz5y4zdxszz37dnh6kw4hmwm185q";
 "de-macro.doc-1.3"="hdmn9ds4kiqsalhx5r2l4adv19ijf5f2";
-"detex.doc-2018"="6w5lilq5ci01pq7x2bv6gyihm55kc75n";
-"dtl.doc-0.6.1"="cij54ziw2awway2hjjff72r6l3h8kigz";
-"dtxgen-1.07"="nl5dq5v54hww8rwyxrq6l6vrimzh352q";
-"dtxgen.doc-1.07"="n9c7x9ga79p3gvgb6g3mhn3j3xxy63zw";
-"dvi2tty.doc-6.0.0"="wd8i2fsxc5brrj3shsr7jc6kbpyv08x3";
-"dviasm-2018"="j2wkfisw3hlackcz0f498zx59z24yk0n";
-"dviasm.doc-2018"="wj8a3skfwd5i6d1hb8v3dghijlgmbmdc";
-"dvicopy.doc-1.5"="py5hcd21sh89vqmq8rps4x6qzp6bi410";
-"dvidvi.doc-2018"="5ah8ppyjp4m5ki7rvj1p0rpaazjlchrz";
+"detex.doc-2019"="95vhzy5wyc21v8n1xjvmfbbxhw7hg912";
+"dtl.doc-0.6.1"="cb9x8v43asvzq5cppgvni86lxlmy8ny7";
+"dtxgen-1.08"="n3cwjwkf92c5zgbs7hmc9fgrwjvwky9i";
+"dtxgen.doc-1.08"="87sb4lz077jgnzpya1y1qyzakwd5j00x";
+"dvi2tty.doc-6.0.0"="9n1fws5f6glys7wwsz1ax16145wb103r";
+"dviasm-2019"="j2wkfisw3hlackcz0f498zx59z24yk0n";
+"dviasm.doc-2019"="wj8a3skfwd5i6d1hb8v3dghijlgmbmdc";
+"dvicopy.doc-1.5"="szvfihzbpfvz66w6v96nygkf7pnfa38v";
+"dvidvi.doc-2019"="hdnm6xayhr5smgch1qly5lc29wig7svc";
 "dviinfox-1.04"="zjbfw4kzwfqnvlwzvjibsgim855fc30c";
 "dviinfox.doc-1.04"="1n52la52nchv27j82lisrh8q7wygx6lp";
-"dviljk.doc-2018"="q5cciai4i11m07cq1qlyasf2qwjsmzvr";
-"dvipng.doc-1.15"="68fh0x7arqdrp8gia0nsb7ax8rssqpnh";
-"dvipos.doc-2018"="18kdd3yga3lldafpn2ij28kddkr09rd3";
-"dvisvgm.doc-2.3"="qsrmvbj87di5rpalvbd97csyb2jyahh5";
+"dviljk.doc-2019"="xjwvp52cq4895gsxlbv5r6048b87h779";
+"dviout-util.doc-2019"="hjmdykwbfg32ki7s27y4y8xffb4kck1g";
+"dvipng.doc-1.15"="zvsvnhcy54qj7i16j719shjx8ihhx621";
+"dvipos.doc-2019"="bb5388riin59hqxrrfnbflpvgjdass0g";
+"dvisvgm.doc-2.6.1"="vl2jk25bnzpwh16msfr5j21lv2ygvg2l";
 "findhyph-3.4"="4kc8qj2hs4hf7h25xb031fy5m9j8jygv";
 "findhyph.doc-3.4"="ivpfnjybcl80xzda2jlrplaglqhf9adc";
 "fragmaster-1.6"="r6wbba0qjxr5shfrf5ia8984dcrijpir";
 "fragmaster.doc-1.6"="vwmmc7jmhxfvblz3fpdj0saxjs75bgia";
 "hook-pre-commit-pkg.doc-1.1.2"="0rf4zqwdix7npi9g6nlcpp95mdpxana5";
-"hyphenex-2018"="1ak1ymbmsfx7z8kh09jzkr3a4dvkrfjw";
-"hyphenex.source-2018"="n4rvv61jcw6s91mydy65qq90clva5zrs";
 "installfont-1.7"="ds2zbs2f6kasda98jn1k8i0ym5168ax8";
 "installfont.doc-1.7"="jmwwjkliwr7wl1gyx8fzpyslscsnlqlx";
-"ketcindy-20190203.0"="pyiil1n28yh2zrpy1x9r6xw9hvyhhgkn";
-"ketcindy.doc-20190203.0"="bh2wszzhgwdqaszh7h3xxcpdjw01533r";
-"lacheck.doc-2018"="wjp0q1brla963wdyjh1m81alxm7knjvc";
+"ketcindy-20190927.0"="pi0hx1f1ma795z77fkjigfxxvkinxwly";
+"ketcindy.doc-20190927.0"="l2xhr32r5qfpk31qb2k2qbdss533kk8q";
+"lacheck.doc-2019"="bnhws6g9ddrf6pf76i8p4r3razpiylp1";
 "latex-git-log-0.9"="samiv870lgj4smwh80l5ck8q6q8m1yqm";
 "latex-git-log.doc-0.9"="1hjp3dx0d0yhj2c3n02cdk4fdg6iv6nc";
 "latex-papersize-1.62"="c2qx25bgknw9350pi7vr5hdnnj3i2ak6";
@@ -506,11 +520,11 @@
 "latexdiff.doc-1.3.0"="wbi6pnbzlm15dmknl8z3xywig6khh2f0";
 "latexfileversion-0.3"="79yrcgv4lj33pavgn48ycvsd9a1x49s3";
 "latexfileversion.doc-0.3"="c6n7z8c3lzrhk2g1fn4v05l2y6299sr8";
-"latexindent-3.5.3"="6s8rai4i04cfh4hiqk02llbfpy3h0fmg";
-"latexindent.doc-3.5.3"="yvd0fr7h3kwpn8lryzwxhwhd76wnjlfr";
-"latexmk-4.61"="dgkk4wm9b9f7hwnaliqjarq64sbpsrdi";
-"latexmk.doc-4.61"="nl5qx0rj2sk0rr1vzvg1ffsc6kk7lj8k";
-"latexmk.source-4.61"="m32pbzkr0my5gv38jw54bancbk66r15c";
+"latexindent-3.7.1"="q4ir39azl49h758n2nrnfnpwv4jyj41g";
+"latexindent.doc-3.7.1"="vzf97xlc626l1r171k8753m5xv5493cw";
+"latexmk-4.64a"="3375f05ip87vzvr9fcy9pnhzqm6bfwg0";
+"latexmk.doc-4.64a"="9dqh7i2fpg4nx5xrfj6vca77zh7aws6b";
+"latexmk.source-4.64a"="m32pbzkr0my5gv38jw54bancbk66r15c";
 "latexpand-1.5"="4w2x5njn2fc3pp9h2qd7lxifh7xswwxh";
 "latexpand.doc-1.5"="96q0sv1v5zn8hwaan17wd8k0gakwh9xj";
 "listings-ext-67"="zbinp0czaglig761svs0s13np81qpsr6";
@@ -518,22 +532,22 @@
 "listings-ext.source-67"="95y2zv6bcfkvqmwf6cpa4piaydlkjwz5";
 "ltxfileinfo-2.04"="fqka5xkp7758sr7hyiyy18nns1dir95f";
 "ltxfileinfo.doc-2.04"="rbqwgb89q514rih3hf5bv613xqw1gbci";
-"ltximg-1.5"="yrrcj5f8pffzpd49d7svwsd20669srh8";
-"ltximg.doc-1.5"="3hrdxbrn8r5220h2i8zzwg08v6rwngip";
-"ltximg.source-1.5"="5xl1avlrs14c4lsmjb6x5793virxhlmw";
-"make4ht-0.2e"="wsjsk526mr1zkz1ahz8iaskdv1kk82jv";
-"make4ht.doc-0.2e"="yg7ivyfrlbszjaisk0vs91ladbais5yl";
+"ltximg-1.7"="8hijfmwbnd6cjgk2zi3ik7flixy0xp09";
+"ltximg.doc-1.7"="kgggjbx84f62niwjkydqxxs7szkakczf";
+"ltximg.source-1.7"="akx09az4qpcrfp4011bpi6k52x1177vd";
+"make4ht-0.2g"="d9l9wfgfcnb67xaj1fb2k39r5g7yg2mv";
+"make4ht.doc-0.2g"="yichzrf0sy7cp9dnhscr6m2kcqfvz6bi";
 "match_parens-1.43"="hahwx0ca506ykknc9plsnrfg6fsb5rs4";
 "match_parens.doc-1.43"="1h445p7nl5n70rskvq4d10b15kb8058k";
-"mflua-2018"="5l61gh5fwi3kqilawfhzp77y8qq9zb9r";
+"mflua-2019"="zicmiqdsbqz7ddgmbwjcay8q5q4jyzqj";
 "metafont-2.7182818"="sxdr5v17hpv8g1562g06lhn26c1wbs8f";
-"metafont.doc-2.7182818"="49w14vkdspg2pnfj59z2h3fs08qnyamd";
+"metafont.doc-2.7182818"="wfy96iw7g8v6mcfmlnbbx1hix9zxhac4";
 "mkjobtexmf-0.8"="raq7ql17c3fdqqpaqbd53r0dg7kjrvh2";
 "mkjobtexmf.doc-0.8"="3cgxbgxpha9139jfz4v3478ny7yv3xm1";
 "mkjobtexmf.source-0.8"="dky5rv3xrbjqj7pg8spdjsllggpq61k9";
-"patgen.doc-2.3"="y6z5ck7zpny3h23g1wy044ynrdf1km2l";
-"pdfbook2-1.2"="nkfll8ynix954j2rplv72avzq9pw93f1";
-"pdfbook2.doc-1.2"="7wi87df5sfhk1pxk3i8kkk3w1ym3z2pd";
+"patgen.doc-2.3"="1p6bnifmajisixh6m0mar8lmzr3rd7s6";
+"pdfbook2-1.3"="j72jmp7cx48gmh9r9qadi5mqzvm8f7mc";
+"pdfbook2.doc-1.3"="yhv6d7m5b5ys1z6pzc893k62calf9s9x";
 "pdfcrop-1.37"="mr2zg2ji7gqm14zq5xsf8wk081fbdwdn";
 "pdfcrop.doc-1.37"="28jgvjwk6v7dvldqgqd4ry32ccd8avgn";
 "pdfjam-2.02"="p9l1q18vqf1yjaxxdyizz9b9rgr1kv4w";
@@ -543,7 +557,7 @@
 "pdftex-quiet-1.1.0"="3cx8zd0q9z19d1xhhc8rd640ifwsrjxc";
 "pdftex-quiet.doc-1.1.0"="84mb3zp9h3jnl179kc6svsd52pmx13pd";
 "pdftools-0.86"="a8nv2mqs26gb1dinymxa9kwk4baqch7l";
-"pdftools.doc-0.86"="sqdwc3ajka1gig9zj6x0xj50s9g3vybh";
+"pdftools.doc-0.86"="lhw8aadv99w7zl6hqnpwpmbl9z4l426z";
 "pdfxup-1.30"="r29ka6pw53vdscrpxbaar5g8x171c0l2";
 "pdfxup.doc-1.30"="kc5qc6a8q4f8yn2xa7cbabidk9gxg6sh";
 "pfarrei-r36"="n351xhnwd12vvy4b4zv2r9cqx1crd435";
@@ -555,17 +569,17 @@
 "pkfix-helper.doc-1.4"="gljfwywrvwin5fl5szfnpa095cr2r0m5";
 "purifyeps-1.1"="qmwy8zk8h0kzpsknp0430gdxq0zqj4hf";
 "purifyeps.doc-1.1"="4fj0jj42mjldhg90pkvj7bsd1b682x0c";
-"pythontex-0.16"="pzh8qkl7j7s5431cvifd70r5lywhzrqc";
-"pythontex.doc-0.16"="ifnkz8rfy2mb0hff6rv6ngp8fivr6v73";
-"pythontex.source-0.16"="wnszvmjiwgfppnxw5aq0lxd3mfdwi6l7";
-"seetexk.doc-2018"="0hzinznywrgax3nfg5hn5dxwfs5g6c7z";
+"pythontex-0.17"="1gza81rq8sz3172y81zkm5lvg8193spd";
+"pythontex.doc-0.17"="4z6bswby7179xqx47n89qfzcd7sxvxg9";
+"pythontex.source-0.17"="pnzqd2k0q1nng61d2ral344q8211vfma";
+"seetexk.doc-2019"="4cw2dn59pzvn6rmhnaj5sa97vnn4qh9q";
 "srcredact-1.0"="dzxdwnn9l06gngyvaarf10h6ws8aa73y";
 "srcredact.doc-1.0"="m028dd5fqv2x9xcxq7vhdsaz2xcyxwl1";
 "sty2dtx-2.3"="irvwyxk3ggfbc8p4b8s70v5704lqmsib";
 "sty2dtx.doc-2.3"="s9qzsp01129wgi8qfh0ljxkaj9jvdr65";
-"synctex.doc-2018"="a6jqg7vmbjian357kf1q4w9hmf76qmzp";
-"tex4ebook-0.2b"="697h0zd0a6dqd07njp0gq1zfyqxfcsnp";
-"tex4ebook.doc-0.2b"="sbdvskmcz8r2477g5gfikmn0x2r18mij";
+"synctex.doc-2019"="g88kvc6r9ga4mq0mgv298n29l705jx93";
+"tex4ebook-0.2c"="79p9z5smzw75qxkqv8lzaihni3fr3kp4";
+"tex4ebook.doc-0.2c"="fvyvgvr7vhz551k497y8zd3vhzf2nsaz";
 "texcount-3.1.1"="spfdnfgbcy8y8c7191pd973wmdnrgp8j";
 "texcount.doc-3.1.1"="idd45zpjjy6cgibnndxygdmljw28gyq4";
 "texdef-1.8a"="iyiqbv4h91h6qchgcddj251sas6ayf93";
@@ -575,160 +589,163 @@
 "texdiff.doc-0.4"="r9wsmivjyiwdnav7qc35kydk9b8pbcz8";
 "texdirflatten-1.3"="135358h2mb608wg3ni93rrsvvqgxm4ya";
 "texdirflatten.doc-1.3"="n9jxdwjiylvwy6n55vgci9a32qi10xhl";
-"texdoc-3.0"="j5jwnlcjd07mdsbpicnmq7w80a829alw";
-"texdoc.doc-3.0"="w18adf2pr1wzjk9v1iamh3zria4xfcz1";
-"texdoctk-0.6.0"="r49h79z4hpxxffi755kw1qpnlv38pxbs";
-"texdoctk.doc-0.6.0"="qyi26gnnkc71x552npkl8qijpcx90j7f";
-"texfot-1.37"="fbpbc24dbh8wvzyybjwb3vgc6w7mhlxw";
-"texfot.doc-1.37"="7vdbypvsmllg0frxh59rsb4iig3lvg5l";
-"texliveonfly-2018"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
-"texliveonfly.doc-2018"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
+"texdoc-3.1"="3zs9kxqd47nlrg8z7frq4h8kjz7a98r8";
+"texdoc.doc-3.1"="10xjlhy57y2knrws7bq5x01byjvzzi6f";
+"texdoctk-0.6.0"="48ix4zaj1k1v3i997rvl1kg0mc8a9g5s";
+"texdoctk.doc-0.6.0"="5h3azns62pa78gwr7gl07fj7ydpb1330";
+"texfot-1.38"="3qdqa7pywvk3f5rgdhn9806bfcfgr9dk";
+"texfot.doc-1.38"="06n4pipdm912xri2cpbv8vdlqja8fzk1";
+"texliveonfly-2019"="8csnp69s8i4bs18r18qqr2cmkqhgx437";
+"texliveonfly.doc-2019"="ic6vdfmbvl34zjqrn0lvp59armsin54n";
 "texloganalyser-0.9"="8dlsnkjvsic0xyaxjwixrgm4pf40snpz";
 "texloganalyser.doc-0.9"="yh3y429s0fbkjai3kmh3z1q4f1pja6g3";
 "texosquery-1.6"="8f8lapbim73bxwfmzgi07jl5qg5d0n6g";
 "texosquery.doc-1.6"="rph058iy26cxdk6n0i7kbgxv43rkmfx7";
 "texosquery.source-1.6"="6r8grnnhqr2jcmns2vrcxq6gai939nhb";
-"texware.doc-2018"="8r064nlbcnlf0n78lbsypvi3036w9hcn";
-"tie.doc-2.4"="14qgnsdkx2vp8lj0lskvnxp9cylk4qfx";
-"tlcockpit-1.0"="4rmcz896d0pah6bdihdcn0hzlnvcgyf3";
-"tlcockpit.doc-1.0"="823rcp8qwlkdrpm0c9f1qc5x9bgf6w56";
-"tlcockpit.source-1.0"="bh5kyd6yqbbl7valad4fz0dnkg2zvpl8";
-"tlshell-2018"="aa4dz5rhc1mgzxgnjv6qx52assdai0l4";
-"tlshell.doc-2018"="bfk5yhh81yyhdim9pjj8kp3x2z9j7xi7";
-"tpic2pdftex.doc-2018"="vgl97k9smbwxvbgfkz2fx3x06afy4lf2";
+"texware.doc-2019"="qy1dmjyam2slw0b2qcpq02jvr82bq25b";
+"tie.doc-2.4"="s7h7c6wbmzbsp0ixcm64jq8gskjjwwpb";
+"tlcockpit-1.1"="3cpabpc7kq0j0rfx217i3sh1lz825791";
+"tlcockpit.doc-1.1"="l7w6h4na36nfhky0w0jn53v4lx48yi1x";
+"tlcockpit.source-1.1"="dqgari1h9a0ny1jkjqqk3yx2rs59v0kc";
+"tpic2pdftex.doc-2019"="g21w28jq3l00jpg4k6ff7aajl2yla9c6";
 "typeoutfileinfo-0.31"="vjs333wmdxb9s1vd215af0vryplvb8hl";
 "typeoutfileinfo.doc-0.31"="qdrwm9hi7qk7hxzcz0grv7cfl4r9k4v6";
-"web.doc-4.5"="3ifa6s0gz7h0dyjcg6dfvnmfwy67vji9";
-"xindex-0.07"="99ql107qihdxz1nw507sjw15d1ymcmrc";
-"xindex.doc-0.07"="ir2scfnigs2wiy1flaczcnl5zhx01kdf";
+"web.doc-4.5"="sdmcsfyc18z4ldyiajpv5fqhfbb1gzgq";
+"xindex-0.16"="c9j47127l5yjkj0v2k3r2nbr2kysmazs";
+"xindex.doc-0.16"="2wm9d48w71s5mah2jz4bygcl153s0cva";
 "xindy-2.5.1"="rp60v85lrsbllzkwvhhz5sprxalf6kxp";
 "xindy.doc-2.5.1"="akx5bx8m387zsaxd7v6xh97nglbzd9k6";
-"context-2018"="jyx1m6v90l9gv2wmcsd5z7y9dr5dkjsq";
-"context.doc-2018"="bdr24r8l5s6nvskbdcqb2w1wddz9zwyd";
+"context-2019"="1a004zz4xs83m9jgy16k6q552lpn9dr6";
+"context.doc-2019"="zc8knfsrllnfggxxsgyijjzx59vjdscm";
 "lm-2.004"="ci5dpznkzlal3bkn0dcd2m5i05aws66g";
 "lm.doc-2.004"="w3g5xn4pfqhri4glpbh66rs8d6nbrd02";
 "lm.source-2.004"="bw69srvx8mprnj8d5f48bq3mg1ysfk1n";
 "lm-math-1.959"="j995x0y357lac8mn1kzn9v8p3v995bz7";
 "lm-math.doc-1.959"="bgfq2c4l1shm9453822cnmq7yq6hlknq";
-"manfnt-font-2018"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
-"metapost-2018"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
-"metapost.doc-2018"="fwn7p456ahb2036nfkwpvxznmnfj1ska";
+"manfnt-font-2019"="isk7hkf6lfg41mjli9sgn77kvn6fkl96";
+"metapost-2019"="6hm4z5b1yw7qdhnk5zvr0li679rvfvi0";
+"metapost.doc-2019"="3x54j33i3p3m3pf84805w011yr6v896j";
 "mflogo-font-1.002"="m5lb3rhr5yighsixjb0k6zp2hx8fxvr9";
 "mflogo-font.doc-1.002"="va6f9qjbh5ah4zvlmc4wi9m395x3bhpr";
-"stmaryrd-2018"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
-"stmaryrd.doc-2018"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
-"stmaryrd.source-2018"="ch2gj89jxrqysjsl24s40za3y5z03yan";
-"xetex-2018"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
-"xetex.doc-2018"="irmhb20z4x0dchaj0gcpq82s0w2kdavg";
-"xetexconfig-2018"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
-"context-account-2018"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
-"context-account.doc-2018"="lms208c3s9clga2ymi1j2i5whyz2dffy";
-"context-algorithmic-2018"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
-"context-algorithmic.doc-2018"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
-"context-animation-2018"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
-"context-animation.doc-2018"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
-"context-annotation-2013.05.27"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
-"context-annotation.doc-2013.05.27"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
-"context-bnf-2018"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
-"context-bnf.doc-2018"="jyvr2yk2shkzj122v53khmxx4skbasn0";
-"context-chromato-2018"="721l06z298fqfaj6rcz9sh66jshq447s";
-"context-chromato.doc-2018"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
-"context-cmscbf-2018"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
-"context-cmscbf.doc-2018"="s09578i62xh352zmd1rssg0rd1qjpc7q";
-"context-cmttbf-2018"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
-"context-cmttbf.doc-2018"="fp7blzzh8p24bpab0vnlyc336kildj4b";
-"context-construction-plan-2018"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
-"context-construction-plan.doc-2018"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
-"context-cyrillicnumbers-2018"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
-"context-cyrillicnumbers.doc-2018"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
-"context-degrade-2018"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
-"context-degrade.doc-2018"="nkal1h165g0mnf0h677b22c7r5q89sbp";
-"context-fancybreak-2018"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
-"context-fancybreak.doc-2018"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
-"context-filter-2018"="kjyrcq6p1hw9gi95zpmrvpbni1dn3l8w";
-"context-filter.doc-2018"="1dz0rmsac0f2nvnd83qaxwdhibbkq42v";
-"context-french-2018"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
-"context-french.doc-2018"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
-"context-fullpage-2018"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
-"context-fullpage.doc-2018"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
-"context-gantt-2018"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
-"context-gantt.doc-2018"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
+"stmaryrd-2019"="shivgpyz8sa63sqkmpgqvw1v1iyc0g35";
+"stmaryrd.doc-2019"="r91xmqmmm6i6jka78qyaiilas94xc5hi";
+"stmaryrd.source-2019"="ch2gj89jxrqysjsl24s40za3y5z03yan";
+"xetex-2019"="5mai30qjzqsc5hdmzavbsgchlarv6gfh";
+"xetex.doc-2019"="dv515mqnylhpsi5v7xsnv662041lmva8";
+"latex-base-dev-2019-10-01_pre-release_3"="g5lvvym5jk74zznlz170020dmsr9fq0i";
+"latex-base-dev.doc-2019-10-01_pre-release_3"="160hg8dhji6chzni7blcbicyfzkpp0cn";
+"latex-base-dev.source-2019-10-01_pre-release_3"="is6g4w5blf79pqvwnwyg52iqkhdrrbmr";
+"xetexconfig-2019"="2wjm3wl2975pd1d3ql2qd3yhhdh3gvmp";
+"context-account-2019"="85lpl8g1by9mvqnmxy6v9iasvgmjnazr";
+"context-account.doc-2019"="lms208c3s9clga2ymi1j2i5whyz2dffy";
+"context-algorithmic-2019"="zvjfp5dzy3saz67hcfl2n1haxjdkavml";
+"context-algorithmic.doc-2019"="gsckrj1g30x8lq52cil2z9bq7zf5vaba";
+"context-animation-2019"="lg4cn50cshxd9qg2i7hd54lcgsy8zwyz";
+"context-animation.doc-2019"="lazsfqd8djbbkn4byqrgl93nnvygm8xd";
+"context-annotation-2019"="vgnpr8wv2l93qcwifsyslyanyd9hp1vz";
+"context-annotation.doc-2019"="05lrbacq308akhvdbdpwlwg9b0dhsghp";
+"context-bnf-2019"="pzpk8q0zc179zbpj2l9w5fw3r8gmhq82";
+"context-bnf.doc-2019"="jyvr2yk2shkzj122v53khmxx4skbasn0";
+"context-chromato-2019"="721l06z298fqfaj6rcz9sh66jshq447s";
+"context-chromato.doc-2019"="lwbqab6vnyipsjq0xlfgl15iag6h27nj";
+"context-cmscbf-2019"="nwk7dqb2kxbj9y6ijlpa3ack1an9d5f8";
+"context-cmscbf.doc-2019"="s09578i62xh352zmd1rssg0rd1qjpc7q";
+"context-cmttbf-2019"="dgrblidva7k2q8yvmkdb0kg2n4bzln1k";
+"context-cmttbf.doc-2019"="fp7blzzh8p24bpab0vnlyc336kildj4b";
+"context-construction-plan-2019"="b42ncfcmywfwwnvzy2z58pig0spz39g2";
+"context-construction-plan.doc-2019"="x76mm90ba9lwvjb3dkhmbv6ajc93444z";
+"context-cyrillicnumbers-2019"="iwzzhbrrkf377k54rfbna7zfbhdal6g6";
+"context-cyrillicnumbers.doc-2019"="4q6ba2gxc5apykkirfjhyn29n387ifq1";
+"context-degrade-2019"="d7fvjlrj0gya4ycpy01b3xw96cqpgmw7";
+"context-degrade.doc-2019"="nkal1h165g0mnf0h677b22c7r5q89sbp";
+"context-fancybreak-2019"="dkqfx16sjcxdl8a50al6x87rhwbrz61z";
+"context-fancybreak.doc-2019"="vqgypbxyr7ay3qasrnfsxsvnzg1rddfc";
+"context-filter-2019"="kjyrcq6p1hw9gi95zpmrvpbni1dn3l8w";
+"context-filter.doc-2019"="1dz0rmsac0f2nvnd83qaxwdhibbkq42v";
+"context-french-2019"="f44vj4in9b4kry17a7cw7ad11ygmnvkr";
+"context-french.doc-2019"="pnndx81zpi4625r2bpk3nyz7x1md9l6v";
+"context-fullpage-2019"="cjfrxynfxahlz5pc60jq27fprlg9jwac";
+"context-fullpage.doc-2019"="4xh4v0zq3wqdaf25jnjpkl73d72h5100";
+"context-gantt-2019"="v50p405xz9ddwlqb0q1hi9m8wbx0c01g";
+"context-gantt.doc-2019"="6600xvqy3ayzn81z6agxpdg6xac1mf90";
 "hatching-0.11"="kngng0rbi2q99417zr3vv3jl0zzjwh6l";
 "hatching.doc-0.11"="5c0n8fhchwpa3vgby9v6dzcg9v834xgr";
-"context-gnuplot-2018"="21gc0nq12aps3d3333yxll6xllnlw0x2";
-"context-gnuplot.doc-2018"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
-"context-handlecsv-2018"="mhhcjdvw9g473m55vyhbman6rrxz2izv";
-"context-handlecsv.doc-2018"="hg610h347nv4imz79ail20rfrld4fzbp";
-"context-inifile-2018"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
-"context-inifile.doc-2018"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
-"context-layout-2018"="438mv86y37wbxdv9js2s3clnkl7866ff";
-"context-layout.doc-2018"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
-"context-letter-2018"="y43dmsc49337n5mn0axqsa5rln68zg6r";
-"context-letter.doc-2018"="knw1pz7vdmqjf82aiznpqb2hc5y198i4";
-"context-lettrine-2018"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
-"context-lettrine.doc-2018"="xf4mr1w0z7ybcas306959nmgxih59082";
-"context-mathsets-2018"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
-"context-mathsets.doc-2018"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
-"context-notes-zh-cn.doc-2018"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
-"context-rst-0.6c"="5mwhydc35iywmkdz759sdpz53wkqa64x";
-"context-rst.doc-0.6c"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
-"context-ruby-2018"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
-"context-ruby.doc-2018"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
-"context-simplefonts-2018"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
-"context-simplefonts.doc-2018"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
-"context-simpleslides-2018"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
-"context-simpleslides.doc-2018"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
-"context-title-2012.04.11"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
-"context-title.doc-2012.04.11"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
-"context-transliterator-2018"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
-"context-transliterator.doc-2018"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
-"context-typearea-2018"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
-"context-typearea.doc-2018"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
-"context-typescripts-2018"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
-"context-typescripts.doc-2018"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
-"context-vim-2018"="j1qzdclsyzhrp0x8gkhkzw2s1i9a4xwf";
-"context-vim.doc-2018"="ggyhlwmqw4v4mlgfrh6jwanjkgfsaky7";
-"context-visualcounter-2013.04.01"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
-"context-visualcounter.doc-2013.04.01"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
-"context-visualcounter.source-2013.04.01"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
-"jmn-2018"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
-"npp-for-context.doc-0.98"="ykvfribj17bby5nh2m2m731955p8rbph";
-"Asana-Math-000.955"="qvk5bdn6hq6ci0v4l45rbwd3s4nazmsd";
-"Asana-Math.doc-000.955"="q0c7d8fs11sqdxs0drjd9g6l0bkbnvln";
+"context-gnuplot-2019"="21gc0nq12aps3d3333yxll6xllnlw0x2";
+"context-gnuplot.doc-2019"="53y32f428jh6lii2zcl4csh8yzfs2ij5";
+"context-handlecsv-2019"="zpdagxljjxskjqd1fpzkba1dn0vxilnm";
+"context-handlecsv.doc-2019"="bc0dzhw5dwjidgscqgwlnfs2xdnapdyz";
+"context-inifile-2019"="fmf14m6wz9ya4lxy3w6mxjzqk491jdd4";
+"context-inifile.doc-2019"="acx93f08cc2z4x4jwwchd8njnkil3bfq";
+"context-layout-2019"="438mv86y37wbxdv9js2s3clnkl7866ff";
+"context-layout.doc-2019"="adh7d3hmcjqqgh69nr8agxznzwijkggk";
+"context-letter-2019"="y43dmsc49337n5mn0axqsa5rln68zg6r";
+"context-letter.doc-2019"="knw1pz7vdmqjf82aiznpqb2hc5y198i4";
+"context-lettrine-2019"="wmfy4c9c13jj525hmrf742kzkiqqmwgk";
+"context-lettrine.doc-2019"="xf4mr1w0z7ybcas306959nmgxih59082";
+"context-mathsets-2019"="5gxx8rbkp1znjh8ycd0k8nflhjcm25kw";
+"context-mathsets.doc-2019"="jjc6lkfrw2a84n4cwvpdnn92wv59pvis";
+"context-notes-zh-cn.doc-2019"="x85l6d8ydz6nw51z8ak3a7cvpc6c45lz";
+"context-rst-2019"="5mwhydc35iywmkdz759sdpz53wkqa64x";
+"context-rst.doc-2019"="c8khxkv5vs9wzfb6l7116iglnwng98gd";
+"context-ruby-2019"="jrwrrwhcvb4bbia0g2lnl6rr0yydh6ix";
+"context-ruby.doc-2019"="s8s9kmgim38l2x08a6cq2n9jjz9hbw6p";
+"context-simplefonts-2019"="5h1qrkcjlkdbd5rc888xrp2nfksyf7x5";
+"context-simplefonts.doc-2019"="xfdzrvfp6kr1abbnsja6grxnvcnbj2wl";
+"context-simpleslides-2019"="idd4q63cvh7qqiv5wzkq3xgrxwhm9z87";
+"context-simpleslides.doc-2019"="smx89kphvq9qjl4mzd2nd2j3nasv6vfj";
+"context-title-2019"="ywgzzyzyvd02qwffkzxpymwhpb548g3k";
+"context-title.doc-2019"="d3m29w07jmdkxhb3g8254ry27j3y5qri";
+"context-transliterator-2019"="q0klk1fqlky9drg0ak4xlcn3xpsi4kyr";
+"context-transliterator.doc-2019"="xik3slvbsnrmjcjd9ypmwxhbslyank86";
+"context-typearea-2019"="ck1fbjmlyq93id8a15nrn81cd10jlcib";
+"context-typearea.doc-2019"="yvf0njazm748j5d40dsyk9l3p4is0g8x";
+"context-typescripts-2019"="q33whgk69qflc06i9q8jpb5lnwvdbhr5";
+"context-typescripts.doc-2019"="gxsm980lz4ddjnnj61yj4yv2vdnck1x9";
+"context-vim-2019"="j1qzdclsyzhrp0x8gkhkzw2s1i9a4xwf";
+"context-vim.doc-2019"="ggyhlwmqw4v4mlgfrh6jwanjkgfsaky7";
+"context-visualcounter-2019"="sh6jnhkfbi4rpw34zw489148rgwsb14r";
+"context-visualcounter.doc-2019"="hbainxhhkx26imhab5kl4k1f7ljhifqv";
+"context-visualcounter.source-2019"="7wbyascsdwh2m9hpwm3c7sd0q5940fd1";
+"jmn-2019"="sxkb92pakb4lx5d9pjpang6mhfrgm4b5";
+"npp-for-context.doc-0.98"="7pczkchxrk8snrl81lrv7wgn928lngq3";
+"Asana-Math-000.958"="ra3pfarx03afq6hzv16an1v2fb22pcpx";
+"Asana-Math.doc-000.958"="wy3f3p15aj22vm3i391dpf2ssphqln97";
 "academicons-1.8.6-2"="ibr3rgpdjalz09gcs8fg31gkasb48qvv";
 "academicons.doc-1.8.6-2"="607w87c6bbhfw1q8jibfkpczgf29f342";
-"accanthis-2018"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
-"accanthis.doc-2018"="zlxlfbawiicbkminjw2laximsn07zpi0";
-"adforn-1.001-b-2"="ykyh10gfssql3zh4845gw8g8ayijvlla";
-"adforn.doc-1.001-b-2"="idfbpikb68y2n424xjdf3nppbz5cziib";
-"adfsymbols-1.001"="ijgwy7svr9pn69r2vwi5pzkdbc7q0p3h";
-"adfsymbols.doc-1.001"="kb61cwldva4ziv006ja9y66a27926508";
+"accanthis-2019"="3ai0zz1fwlq9v25dsfz63if6i7wgrhp3";
+"accanthis.doc-2019"="zlxlfbawiicbkminjw2laximsn07zpi0";
+"adforn-1.1b"="av77crahnvrjdla03d5511inpd0hikjv";
+"adforn.doc-1.1b"="0r9vmhq3m0m5agj8vhgh9rwi10p238yr";
+"adfsymbols-1.2b"="qsglgklwqna03lj0dyd37vdqlmh3fxwm";
+"adfsymbols.doc-1.2b"="q3840xankbi9xr7fdsfxd3gkgydrvmxr";
 "aecc-1.0"="0vpb9yz2qx0sc15kxzhgqadkcjyr27c5";
 "aecc.doc-1.0"="mn7j1f7j3z5d6pnss9mlhvbw4ahn94ka";
-"alegreya-2018"="sa46fbw1wj69jhhmql3yz2rs5518x1vj";
-"alegreya.doc-2018"="h5zfivxs9misj4l9zag70ih8ic35aj9a";
-"algolrevived-1.01"="81kfc6aj2fg7db11sxb5w3a0zw2p25f8";
-"algolrevived.doc-1.01"="yxd16nwxlz4jlcqbim2w1kvhdfs9145b";
+"alegreya-2019"="g97xv22dfmdfhyn4yqz67rj42mkp35qj";
+"alegreya.doc-2019"="ds3p6fvf6bdrzf9clxksrcl9r3lbbknx";
+"algolrevived-1.03"="99wnibyx8h3x1rf2hnxmnb3gk4lh4yvg";
+"algolrevived.doc-1.03"="8w567kzfdgjxfsdbfyf8rr89wdrrm0xv";
 "allrunes-2.1.1"="yxijvmvgjl2q05v667fmqisbyd7xsjpr";
 "allrunes.doc-2.1.1"="b0sc4d9kla5sg792zvwqjzszz17w19iv";
 "allrunes.source-2.1.1"="n986ppx466mparm30mlv7cn5mmjh74sy";
+"almendra-2019"="bg7ciwcjc1dlqw9nxwlmqqvn9nkd228a";
+"almendra.doc-2019"="1c428ph2c2zjx1ks145ydd7vbaqgvsjq";
 "almfixed-0.92"="kcaraz14gg5k8ws8zkrjfvvn22njv759";
 "almfixed.doc-0.92"="34f4a82gsr0vq47bp9wbdd4wkhhr984j";
-"anonymouspro-2.1"="5396jmzi4ihjdiwpgm8ghi669ipk6dzd";
-"anonymouspro.doc-2.1"="xjsrm5wsyq7cip27kffdmvl7mcwcz7pv";
-"anonymouspro.source-2.1"="r2j6c96ym5bm4xgxdkppg5v5d71nav6s";
+"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-2018"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
-"archaic.doc-2018"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
-"archaic.source-2018"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
-"arev-2018"="xc3i2264d5w0ijv10n6ka53311bgnib0";
-"arev.doc-2018"="s39jgnizjbpnh1czr3ck5yd32bxks476";
-"arev.source-2018"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
-"arimo-2018"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
-"arimo.doc-2018"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
+"archaic-2019"="jvj1s2dcgkwgi9ywg48vw7i14gmlmq7n";
+"archaic.doc-2019"="mb0z3xq325y48yv0bx4xsz8x5f790c60";
+"archaic.source-2019"="j05dan5d8xxzg43iay4v76vbcdscc6zn";
+"arev-2019"="xc3i2264d5w0ijv10n6ka53311bgnib0";
+"arev.doc-2019"="s39jgnizjbpnh1czr3ck5yd32bxks476";
+"arev.source-2019"="msk58av5fwg6hi4mzpz8abgzigqyskf2";
+"arimo-2019"="1z5ij30qfbd4y2c0292aai2dsg87n1rm";
+"arimo.doc-2019"="2fr1vjv5386lvixzs8idr0wyf9ghlg1f";
 "asapsym-1.0"="gbn04lk9k66wj689vna4kgxq8gddhwca";
 "asapsym.doc-1.0"="qfbaary485cs3q5azl6d650z53kd9s73";
 "asapsym.source-1.0"="g9m2vwmd438fwfczm8xwhv4wdp2aj114";
@@ -739,8 +756,8 @@
 "aspectratio.doc-2.0"="xv7z3aa40dn6fzchrhqwg03356r2znjf";
 "astro-2.20"="isnx9q009wchs33xq4bphi4cp4cnb2m9";
 "astro.doc-2.20"="xa1szbc33k2yyahgwy294mgiiyi5yiy4";
-"augie-2018"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
-"augie.doc-2018"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
+"augie-2019"="w863x04n1ks9jkmaw8fm4hd6a1390s3x";
+"augie.doc-2019"="dlmy9i2fh0db4aghd8dqsv9227cqk4d9";
 "auncial-new-2.0"="nnaar0yvi6r1fynyzxmqhw7mnify474d";
 "auncial-new.doc-2.0"="jvyica87kxg5gm3zb8kmka9ja87f28si";
 "auncial-new.source-2.0"="hfdl71c7lx3lpb9rkwfz5vpaq0s19bh6";
@@ -749,34 +766,34 @@
 "b1encoding-1.0"="cxsgg97c3bsw9dl2aj9c9rb8vlpyn4s4";
 "b1encoding.doc-1.0"="mcm5yr55av0rj342bxdljkdid5qxyv97";
 "b1encoding.source-1.0"="jdnzzki5929xpzvpfvx5a9z51dk40pvs";
-"barcodes-2018"="8j88bc82j5a0xhm46671mj0k439zm5da";
-"barcodes.doc-2018"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
-"barcodes.source-2018"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
+"barcodes-2019"="8j88bc82j5a0xhm46671mj0k439zm5da";
+"barcodes.doc-2019"="7729a4f9hn4qzx2cndyxv04wwpchpjax";
+"barcodes.source-2019"="yh5ci4axi82ps6hbm6f0a08alrnapxiv";
 "baskervald-1.016"="igfnj3pwvb6443c531va9kzylizxm9vs";
 "baskervald.doc-1.016"="mq8ms68crhv6afh9ld6scyx2xn2ik6jk";
 "baskervald.source-1.016"="7y8d5vqbd1bp3gri0rhzk3cb12cwchr1";
 "baskervaldx-1.072"="jjwb2m99l3vwzcpr7dzd8z360cv4qib6";
 "baskervaldx.doc-1.072"="bprkagqwmczadxymgadg1d98d6g2l4xq";
-"baskervillef-1.046"="1w52bv8l4c4nn43nij2r6g15fczih3dc";
-"baskervillef.doc-1.046"="awhspzi0k8v50191x5zqm5mdniacs0yw";
+"baskervillef-1.047"="0b8hb8q8ddq07j40c39rxwpxa3m9jbk6";
+"baskervillef.doc-1.047"="1gwvmy6yqilz5z1v1jg928n5qwj0nckc";
 "bbding-1.01"="8kh5c0chlw1f2pqzh9pc7zx8y2jcgh0g";
 "bbding.doc-1.01"="zjngi582jrb99j6w1amwbyvjmfvsk40d";
 "bbding.source-1.01"="axvp8f0zag6bkr9v3fg22j4h5gcbcgzx";
-"bbm-2018"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
-"bbm.doc-2018"="bzfab62k5j167p5qzs79gps14hbpq7nq";
-"bbm-macros-2018"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
-"bbm-macros.doc-2018"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
-"bbm-macros.source-2018"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
+"bbm-2019"="ayg703c4frfpv9mhahz36f9zs11y9vxc";
+"bbm.doc-2019"="bzfab62k5j167p5qzs79gps14hbpq7nq";
+"bbm-macros-2019"="lbvpxxa0rzhl0z0081s6wfdvmx3vlhv4";
+"bbm-macros.doc-2019"="ncijdxbxfk9xkrnvvsk937ji5nd60z1s";
+"bbm-macros.source-2019"="39wj6mqzn9qcvavqr8p5ny4ajjxm9m8w";
 "bbold-1.01"="s88rwky3f2jjcg6w00g7s5lkvviqkwpm";
 "bbold.doc-1.01"="sa83x4g1n5b2lafj9n61cggkyk7h1z5v";
 "bbold.source-1.01"="ki3gxl970iirhkckqblr490jlznl0kc7";
-"bbold-type1-2018"="00rizb6fky3rsyn1id4p1dik8963bhwr";
-"bbold-type1.doc-2018"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
-"belleek-2018"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
-"belleek.doc-2018"="8d258516ak2b5va5smkfc87ipyj329f9";
-"belleek.source-2018"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
-"bera-2018"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
-"bera.doc-2018"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
+"bbold-type1-2019"="00rizb6fky3rsyn1id4p1dik8963bhwr";
+"bbold-type1.doc-2019"="lnpyln41q3qdsmzdkini0q1wqx7v2n7h";
+"belleek-2019"="8y1nbwn46cgyzfyd3and8aws7mqclsfa";
+"belleek.doc-2019"="8d258516ak2b5va5smkfc87ipyj329f9";
+"belleek.source-2019"="n6fypvkn7cq1c1l7jqvjb6cfjyqrq0wv";
+"bera-2019"="mq0j1sn7fg1qk7qd7x1l4ixqddyp3rjg";
+"bera.doc-2019"="6iv3gc8kfqcw909sa4x7msc7dsxndy8i";
 "berenisadf-1.004"="2ci0vxfqyc18anpy68r6anbdz76nrf2b";
 "berenisadf.doc-1.004"="00vx76lkvv0vf68a7sck05ls3l5va5gj";
 "beuron-1.3"="c04r71cvsva6yr9gvj1jrmix7q8n1i94";
@@ -784,35 +801,36 @@
 "bguq-0.4"="cgq4fhairknzbp65cmhv0m19zn0cnkgp";
 "bguq.doc-0.4"="9rwhzxijcyl4zzrc88dg8730p11hkm4q";
 "bguq.source-0.4"="7856n14czw3z30maxv7m4xz6js47rkbj";
-"blacklettert1-2018"="hzd441k3wi58rrysk0h48yklnp5i776p";
-"blacklettert1.doc-2018"="8n61621w6273ik991i2asvsm4w8xlimx";
-"blacklettert1.source-2018"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
+"bitter-2019"="rjfk57bl3z3wwg6gxram55w7xzk9w5sz";
+"bitter.doc-2019"="mlkk2966kwfcldhn8n8rcpy93l88y7pg";
+"blacklettert1-2019"="hzd441k3wi58rrysk0h48yklnp5i776p";
+"blacklettert1.doc-2019"="8n61621w6273ik991i2asvsm4w8xlimx";
+"blacklettert1.source-2019"="ir0cn80nw9jgchx4kisv9j27gpgykhvc";
 "boisik-0.5"="xz0hk8fwnrwnydy9dglm93c4gzrqpz87";
 "boisik.doc-0.5"="wsssy9bh8wi35x67ifgnj9wrjx0vpmvy";
-"bookhands-2018"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
-"bookhands.doc-2018"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
-"bookhands.source-2018"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
+"bookhands-2019"="6dgc2p6zs8hxjx4b3xa317ni1pglza7c";
+"bookhands.doc-2019"="l8mlzpwi0bh220ag4ip8qzxq6vxz9s5g";
+"bookhands.source-2019"="xx98dvqz312dbb4fm57fmh3yp3krq7wj";
 "boondox-1.02d"="i1hwfxc7ji83724177ir5hdgfn6cbcqr";
 "boondox.doc-1.02d"="wwa8ar557myv3rfjkw9jlw1pxs26vwbh";
-"braille-2018"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
-"braille.doc-2018"="00dv14s64fm8g5jy8b30dx813a304nlh";
-"brushscr-2018"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
-"brushscr.doc-2018"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
-"cabin-2018"="cdqp8n971zc5rih2903kq97sbklh1gb4";
-"cabin.doc-2018"="v3rlr3vfyppg32nsvdq3gz5z46wcm5lf";
-"caladea-2018"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
-"caladea.doc-2018"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
-"calligra-2018"="cisw7fvdys863szqvsxzm164vina8al3";
-"calligra.doc-2018"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
+"braille-2019"="slk0qzcahb3qkmq91jcrm5gakcwa7czv";
+"braille.doc-2019"="00dv14s64fm8g5jy8b30dx813a304nlh";
+"brushscr-2019"="342p5p6h8v377mnbrv1f56kicbbjfcdx";
+"brushscr.doc-2019"="hikb5s9iv60pfq2kjdbfiq1216d3rabk";
+"cabin-2019"="q0p67y7vxsy5j6nswhapbiyjnrvxdn1d";
+"cabin.doc-2019"="ijqxxnz4fip9lfbwm2kxa02c3n2dp405";
+"caladea-2019"="1rb8sq2yh4hizlcjp8zd68ayb7cx6275";
+"caladea.doc-2019"="9qr79slzxmnnvvh2iy310ypqj9g11s4b";
+"calligra-2019"="cisw7fvdys863szqvsxzm164vina8al3";
+"calligra.doc-2019"="36bzakyiw9awp36v7c6dyb3vwl01shb0";
 "calligra-type1-001.000"="2bl0g899jhyspyhyzh45xdkkis88ja46";
 "calligra-type1.doc-001.000"="3zza4sgsnvcg2asdv27gd7y6jmab5j4y";
-"cantarell-2.4"="sy4spxn3hfp0wqs5imhnm5bkw42qfnxn";
-"cantarell.doc-2.4"="dwd1ndl5ghz9rcgmjrl6zmaxzbaxr3rd";
-"cantarell.source-2.4"="vdz4m82y34lb60vx066j68l0kgc2clvc";
-"carlito-2018"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
-"carlito.doc-2018"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
-"carolmin-ps-2018"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
-"carolmin-ps.doc-2018"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
+"cantarell-3.2"="kfhii4bxf2s204kidpr7d9cwa5kd1vwy";
+"cantarell.doc-3.2"="22q109ydjdvd11y6dhxbgsax3rnd43qi";
+"carlito-2019"="7v0571swhiw0pbsqcb1a4sj7izdincb0";
+"carlito.doc-2019"="bs67zjydc9fcigiaaf9y9lm05lkgw68a";
+"carolmin-ps-2019"="rx6y9nb8l3cslla44c422jzwjlqw7ilz";
+"carolmin-ps.doc-2019"="hq8477r3q2cg2laafi8ryvjan90wxjcg";
 "ccicons-1.6"="g89dzfgas16vgx8ydp43ihina82z8df8";
 "ccicons.doc-1.6"="sphr2i8d6yf8xz5rkr0ib5ji6x6w428l";
 "ccicons.source-1.6"="1rkyqlpvm3v01cswmjmycayxh0kbgin6";
@@ -821,75 +839,74 @@
 "cfr-lm-1.5"="7y9qg3jnq6xnlq0f1wqm6493qax92cc3";
 "cfr-lm.doc-1.5"="cfshavfcmpkig5p9kypglmrs55rl5lsb";
 "cfr-lm.source-1.5"="nglav2q22aybb23snhm6x17dxz3976sc";
-"cherokee-2018"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
-"cherokee.doc-2018"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
-"chivo-1.0"="96gxnm243xbkrhx8mcs4vip8qaj1q5f5";
-"chivo.doc-1.0"="f9ibwq6r1y2i5n5bp9s5v91mw32hkl5m";
-"chivo.source-1.0"="ssqn1c68z13ap31rahx8c0m00n2jwbs6";
-"cinzel-2018"="zd9fzvkabmdz25gmi2zj0aj0c7fp89kf";
-"cinzel.doc-2018"="82f080qw29yir7z12zjx6ibjfrfgnm9b";
-"clearsans-2018"="x3dasd6qdqjdw2v99kkh00srz44pz6ma";
-"clearsans.doc-2018"="bbfm2zw5czzwm3msr112wzlg686bh8jj";
+"cherokee-2019"="hmmaav3k7vd1rh6rm26l2nal48r1wxz3";
+"cherokee.doc-2019"="zaq092r56asdcf62a7zscfp4zp7a5lwq";
+"chivo-2.1"="0xrf456zk0yvgw2v6rss6rzlzpb0qkmk";
+"chivo.doc-2.1"="w9p59bx5wdz963lcdqvwc7v50pm1a8da";
+"chivo.source-2.1"="mqwg3ryb1lfam2ii20dn6m6j7pahqqxr";
+"cinzel-2019"="g6w1yxjm4bb49qdhgwrrmnj535za01kp";
+"cinzel.doc-2019"="4kj5zj40jq8dm7br7xb9vr2nwwqjl530";
+"clearsans-2019"="f47wzjm2yacf2mmpy3vpld01x2l42fdw";
+"clearsans.doc-2019"="zbx3h5xxcin47ql221mjwlwsnfz01hl7";
 "cm-lgc-0.5"="wnmmrhnlldps15r2v360bdvlfyjd1fpn";
 "cm-lgc.doc-0.5"="wb18g3w86wfb7fv2iaaxm0j2amrws9yf";
-"cm-mf-extra-bold-2018"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
+"cm-mf-extra-bold-2019"="87n4wnhy5wylwl1qw8i0nq4jj7jfr5fs";
 "cm-unicode-0.7.0"="wmmgwafdisxnkgdh571y2mlcybjlnvf6";
 "cm-unicode.doc-0.7.0"="6nykmggl860gvrzr1v9xahvl6gpy7phg";
 "cmbright-8.1"="rjlqiwya67ispglypa4gmix8hyk6f2h3";
 "cmbright.doc-8.1"="wsjakpl6b7zyv3j9yx50v9hjm3sgx317";
 "cmbright.source-8.1"="vwgnzs47an6mjgw898scvdp8dc3m1w0w";
-"cmexb-2018"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
-"cmexb.doc-2018"="92888gd06jfx2q4xd01n45c1yyhnp03l";
-"cmll-2018"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
-"cmll.doc-2018"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
-"cmll.source-2018"="lbaw2209cz5ymklza36486jzfpq1cqc5";
-"cmpica-2018"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
-"cmpica.doc-2018"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
-"cmsrb-2.0"="847b45xlxscp9bgfw5p6f6avzlrw4yf6";
-"cmsrb.doc-2.0"="131m85q6klyv4j9wl36n03ybk14fmsny";
+"cmexb-2019"="jxb62ixs1vqaqscv1ixg27vv1p7na0p1";
+"cmexb.doc-2019"="92888gd06jfx2q4xd01n45c1yyhnp03l";
+"cmll-2019"="bipbbgh6jc5r1imk467r5pvj4m62a85k";
+"cmll.doc-2019"="k2sshj6rp40m29fm29jd7jy492gcrwcf";
+"cmll.source-2019"="lbaw2209cz5ymklza36486jzfpq1cqc5";
+"cmpica-2019"="z5mc7yl40mzwk5bcjs3lb1ifqsr7x4s1";
+"cmpica.doc-2019"="9bl7bhpb9dhp58p9hxay8xka0nz2cg2l";
+"cmsrb-3.1"="m0gdzswn71b5ch9a6i8yvkkhp7zqzngx";
+"cmsrb.doc-3.1"="4d4jcwqpmklpyc3c60wmn6xnjw5kss11";
 "cmtiup-2.1"="k6sk5isdzms460hm17lkx5b6p6p9wz1g";
 "cmtiup.doc-2.1"="ycj4il7cxfnigs8sxxwga045g9v8rv8h";
-"cochineal-1.049"="3vd1yf4w3zf2wv44xb09baf1ksllgy6x";
-"cochineal.doc-1.049"="2g0z2y8fvi817jv2nc02143i1szzqjc5";
-"coelacanth-2018"="98nhwkyx82x0q39b7d4f9bq8g8hmhjzs";
-"coelacanth.doc-2018"="2v7chnqn5pw6h9x9k01h218cwp0z9lyw";
-"comfortaa-2.3"="k4w8lzk1lbd0hlrvkr83p4s737410vk3";
-"comfortaa.doc-2.3"="cmh2d3939a515h60ajmhbivqmbn2xmw4";
-"comfortaa.source-2.3"="jp7dh6r0zcpz3mkfkgafjays8jx9hbqf";
+"cochineal-1.055"="9dnbrqsxf5g3jirv5kv6xwbpkbnzi28n";
+"cochineal.doc-1.055"="wf9xv0l5h2z177sky4fyiwgb0z9yl605";
+"coelacanth-0.005"="0na6wjl5p6fjp3wljqsyd0klna5sid85";
+"coelacanth.doc-0.005"="lkzvg1p9c6vksdgmxsxp1af6gvvd1hmy";
+"comfortaa-3.2"="r9sis4ra19lgzsl56h3xp8s56awhlbrq";
+"comfortaa.doc-3.2"="jqsyn47waavk5a34d7cin4fc2z4pc9z6";
 "comicneue-1.1"="zsv445k74adkzqnas2g8p3i6c49bccqf";
 "comicneue.doc-1.1"="9il2nyy63bx62n603j1kwaagvplwndps";
-"concmath-fonts-2018"="875viaxzrrljcarkg11cb830fmq5321f";
-"concmath-fonts.doc-2018"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
+"concmath-fonts-2019"="875viaxzrrljcarkg11cb830fmq5321f";
+"concmath-fonts.doc-2019"="q2wyl5cw03rbk4602vg18jrxg3j133lj";
 "cookingsymbols-1.1"="qhjzkivpxbk3rk6pricxsxpdk7c40rxc";
 "cookingsymbols.doc-1.1"="8l7yii9vvmaxfnf0h2snis7476k18mlc";
 "cookingsymbols.source-1.1"="z7r8n2lhgaqzgpx0jz8xq4sd4zzigbs9";
-"cormorantgaramond-3.00"="n1zswym4jgqhsj65z8kngkfad1djyba5";
-"cormorantgaramond.doc-3.00"="ph1qspmc6h6axlhvw5rb4c1kb6znigzk";
-"countriesofeurope-0.22"="ny6fpxydc2jzy4vh68syhnyj0x445dxw";
-"countriesofeurope.doc-0.22"="f2k3m0rfp1psfim1y1i96d20vbcrisxw";
-"courier-scaled-2018"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
-"courier-scaled.doc-2018"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
-"crimson-2018"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
-"crimson.doc-2018"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
-"crimsonpro-2018"="xr72b43wx05irj97by4sd6fgllh2as9q";
-"crimsonpro.doc-2018"="y94fsgdq4pwqkbcn42ds3qad1xg50mqc";
-"cryst-2018"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
-"cryst.doc-2018"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
-"cuprum-2018"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
-"cuprum.doc-2018"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
+"cormorantgaramond-3.00"="52jsmiiw30hrj3501y6rxy798903xqaf";
+"cormorantgaramond.doc-3.00"="zs9669ryf0v4nrm8q40g18vz60m5sl0k";
+"countriesofeurope-0.23"="12hskf06qcaaq2ngadchixzg58sq1v55";
+"countriesofeurope.doc-0.23"="z2rmvqi92b23rwk5msp5zyqa27x8x70n";
+"courier-scaled-2019"="qrm6a468azlw2s89v7j992wxs2mkqfv9";
+"courier-scaled.doc-2019"="1bwlrdxpl1fj4f9ml688ybimig5ylxwv";
+"crimson-2019"="wwvxgknvkd3ycswpp9wnlp9dlkilj7wz";
+"crimson.doc-2019"="wnxfzc5llkk38ky7bf8hkn7zsdawpr2x";
+"crimsonpro-2019"="232xj0064ymrjjzbx1c31hmmx2mf0idv";
+"crimsonpro.doc-2019"="ifc4l8cz8mqk2jll5cfwl5225fvllpci";
+"cryst-2019"="56jlp0hk9vrfxbhlfjnpim398ggxccjg";
+"cryst.doc-2019"="qazhz2hzgpqlghbg67fnmf8adba1wl5d";
+"cuprum-2019"="lb84z2x4ab6q22wj6vh0m2rqnfqr5cgm";
+"cuprum.doc-2019"="88iiq2wn37gz4bqawpsb0q8a0nrdpr62";
 "cyklop-0.915"="5ksv3v36mc6557jckr5gk22pbqr30wnr";
 "cyklop.doc-0.915"="d85643zgnh0r0j53gfpi84qsx4694xpv";
-"dancers-2018"="qlpshkppzr84rr3smqpwch5j11klm3a7";
+"dancers-2019"="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-2018"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
-"dice.doc-2018"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
-"dictsym-2018"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
-"dictsym.doc-2018"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
+"dice-2019"="916yfiq60a1qz7d0jn1jd9slck7rjwy1";
+"dice.doc-2019"="rfkm493k3g4slyjsy6bcgljxjsy88z76";
+"dictsym-2019"="lc5sz8d50hirk5yqg9baj2vhj4f7cf8x";
+"dictsym.doc-2019"="d13rhwg29k9gd4ymlipbp5ink908sdnn";
 "dingbat-1.0"="9yc0zy6qlxi9zmpyi3wd5irgq89shanr";
 "dingbat.doc-1.0"="z4km9f9xrw1n44ylh16872lzq8r4zvy4";
 "dingbat.source-1.0"="rq7v2cny05d4f8bkxbs2z6kj36q5bwfd";
@@ -901,49 +918,48 @@
 "drm-4.4"="i8782x71pbzgag927fqjqgw2w7zdisvj";
 "drm.doc-4.4"="vs4rq0w6c2yyyzv4g4qk1pn25z0czs8l";
 "drm.source-4.4"="g1n0k02ma60mrb12cdq20qfw8khgdpmm";
-"droid-2.1"="0l4lmkxp92l2a36n7hy75hsl3iafdxjd";
-"droid.doc-2.1"="0pd2n8l6rsxv4m3ni74q5xzqiaiph133";
-"droid.source-2.1"="mfz3ac4jrl5x53ak5473ri39srd9gvkr";
+"droid-3.2"="9r4y9qywb92m9jsc2wq0x9gpj13l1qdk";
+"droid.doc-3.2"="7imljgs9xh8zavab0kh5bj0fdgvf8pq1";
 "dsserif-1.00"="8iq2vinr2pnpasv54rih1fy8majnq0x6";
 "dsserif.doc-1.00"="0a4vccbhpq9amjcc005v1z3ilipr2d9g";
 "dsserif.source-1.00"="yawadjy2742rvvkp232zadkjsij8ja3m";
-"duerer-2018"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
-"duerer.doc-2018"="75dd80vmi5wx804zkrq48z12y3alihqc";
+"duerer-2019"="vbldf1vbzs3if3mp2lcl65afgiqa54j4";
+"duerer.doc-2019"="75dd80vmi5wx804zkrq48z12y3alihqc";
 "duerer-latex-1.1"="nwigxc3gb4phmv584bma819dcrrafsmx";
 "duerer-latex.doc-1.1"="9nkvhaa662x9la2spm3iwmni9bj86kll";
 "dutchcal-1.0"="6gpi804yy8xyiznzwyy2nqg7qvq6q2rd";
 "dutchcal.doc-1.0"="s0m4n06xg8h0jmlj31w27la569vkl1im";
-"ean-2018"="m0gkapni85n6zw1armbn1y770n8aj0rm";
-"ean.doc-2018"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
-"ebgaramond-2018"="3zi0xn9nw3gwc2ph7vcqp00lm3x9x6ic";
-"ebgaramond.doc-2018"="fzlgw2zyq7wphk4va05yjlwxbnjdakqg";
-"ebgaramond-maths-1.1"="gkmdw2r9w43z1yfl1gp0cbsm0s2wi4a0";
-"ebgaramond-maths.doc-1.1"="x80h1zs21mnipvpzkcg72g2sjvib1zvz";
-"ecc-2018"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
-"ecc.doc-2018"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
+"ean-2019"="m0gkapni85n6zw1armbn1y770n8aj0rm";
+"ean.doc-2019"="1b7rkp30r8k0dgk9clz71jp8dlsvhrqc";
+"ebgaramond-2019"="albamgmnphchg44q9yzqf6ggm37kqji2";
+"ebgaramond.doc-2019"="1q1pmanzxdjnzqicpin5rfb5jnhad649";
+"ebgaramond-maths-1.2"="7xa6g5hnnl2ry0v3gf0s33p6l3qqn3ds";
+"ebgaramond-maths.doc-1.2"="2l73rdm7kwy43k9z4fwnxlvd7prca25a";
+"ecc-2019"="0g013kqml9jfkqq94v7zi46mhrwdzdck";
+"ecc.doc-2019"="v9al4v4j1qlrc9w7ph6ww1h1mc6flqsz";
 "eco-1.3"="7ycccps2kab77rr3cpwsbpi2cpl40kl7";
 "eco.doc-1.3"="1r1jxijx9wk6q2124xjwrmsjps7446fp";
 "eco.source-1.3"="4kcml0rm4pkg827qpfvhywnzrrx5p7dz";
-"eiad-2018"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
-"eiad.doc-2018"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
+"eiad-2019"="m3n9a3rawxsj5gm64vggw7xvrq4cy4ry";
+"eiad.doc-2019"="z3wss8sc5vnawaqkz7kagwm1gv4l1czv";
 "eiad-ltx-1.0"="0zq83567n75h8zxlag2qas2q8li6vyqn";
 "eiad-ltx.doc-1.0"="7kymr597yg8j8291gy7jz16a89aqmqny";
 "eiad-ltx.source-1.0"="illi6i1hp4lmx7ylxazrmmzi89ymh9cs";
 "electrum-1.005-b"="6hdyjv1dakcj5zxn6p8rrksdvc7jl0sb";
 "electrum.doc-1.005-b"="c11jl0zjq8nva5nl96p9qyq3nrvgx0zn";
 "electrum.source-1.005-b"="67i1gwyiwwarncpbnj47fmws4dc42bii";
-"elvish-2018"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
-"elvish.doc-2018"="mwgvj8fzb806dsjcx01zs6lhdygx35r8";
+"elvish-2019"="wp858zclk17yrhpf1yrgd3c4srh07vcj";
+"elvish.doc-2019"="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.091"="06r1cb0lyzfqg2zam1jd2qk392xgp0xi";
-"erewhon.doc-1.091"="1m5zrq77wmp1dj25biip6q844xgyy2p8";
-"esrelation-2018"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
-"esrelation.doc-2018"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
-"esrelation.source-2018"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
+"erewhon-1.093"="fq4wkxfwqd9nma3zql6pilga4rfxcff4";
+"erewhon.doc-1.093"="jlj4fyri1h8hfqxs1f65ri5vgblvxpzj";
+"esrelation-2019"="zhs9fa75r0wr060cfsk4gmmvn06mywmy";
+"esrelation.doc-2019"="08i1bczpz8sccj5lf32axfl3c5ix1sri";
+"esrelation.source-2019"="r1ylhybcbbxjkyvs07m6csmqgz14rrcv";
 "esstix-1.0"="0ddmfrgh39pwcd2n8rggma4pqwgamp7s";
 "esstix.doc-1.0"="5pf3r0xhssrgkp779n06a63yjb5cdg6a";
 "esvect-1.3"="dd9wb3zgs99s93z0jig2z5pwccxh3vvk";
@@ -952,163 +968,175 @@
 "eulervm-4.0"="ica20j8a3ljzxrmp03k60y6f4kpcbiy2";
 "eulervm.doc-4.0"="g5fxzw7dvnff2w9ys2gpgnvr2x8dabx6";
 "eulervm.source-4.0"="ifvn5n0dvcr4qpcv1yp4xvnx9lj26krg";
-"euxm-2018"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
+"euxm-2019"="pb3kg627b3skhbi0prgik6y9n9zgk8s0";
 "fbb-1.14"="ai9024x530swbm9r2lnfps5qijy0rvsq";
 "fbb.doc-1.14"="34dvrfj52ylz45x9kj80p1i61iyyffvc";
 "fdsymbol-0.8"="hx8wp66hsznj0sj8jkz0vdah0bp9vvyb";
 "fdsymbol.doc-0.8"="n457nji3718qh1nrjr9wbj9zqj21nkw0";
 "fdsymbol.source-0.8"="3n6d2j9wh5cxakdmxg087mznnrdkjw27";
-"fetamont-2018"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
-"fetamont.doc-2018"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
-"fetamont.source-2018"="j6zizdhly6lam1y4f37sy8py5ibaz4xz";
+"fetamont-2019"="4b0n4awl8k1zz1pn0pnc2hic5shsyb2h";
+"fetamont.doc-2019"="vq97fpky2mf9p09zwqvk6vkl5k9swkbb";
+"fetamont.source-2019"="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.2"="8xshjg5hqnb0imcwl07hmjw814y3q6by";
-"fira.doc-4.2"="sy0k4n6gi080pcjsz665jk8213vivhw4";
-"firamath-0.3.1"="fm5inpqg54hnz1nkwz5ris6i18skq61k";
-"firamath.doc-0.3.1"="q59rhylmhdy2dsvyy8gn92vqqy68rpsl";
-"firamath-otf-0.01"="8mz44bwd3l1g84griynf0ri0f82chib0";
-"firamath-otf.doc-0.01"="6zf28g1a71khml1m4m9ldxw0d4k3ljh1";
-"foekfont-2018"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
-"foekfont.doc-2018"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
-"fonetika-2018"="firgrcsksy4jdk632aqfwlaki3xxgmak";
-"fonetika.doc-2018"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
+"fira-4.3"="szqwp685dh828hs8w032cq48p8inaar6";
+"fira.doc-4.3"="6yfabm4jjy7fyvzm8gkw61crj0b5h7vq";
+"firamath-0.3.2"="04mhb3w3kymxi51100l1nxsv5pl9y6fh";
+"firamath.doc-0.3.2"="9xldfkq7q07rs5y64aj2zbngj31s65pc";
+"firamath-otf-0.02a"="8va0xil2r5i2bjmmv7xj39jbk9j8l9d8";
+"firamath-otf.doc-0.02a"="0i3j6rfpa5jahxipwa5ibfkh4x7vhz48";
+"foekfont-2019"="wha0shrvr3lv9ll9d3gv60mcav605vcc";
+"foekfont.doc-2019"="n91sl0xzglqfbdyb9mzv7wav3y4zv9sx";
+"fonetika-2019"="firgrcsksy4jdk632aqfwlaki3xxgmak";
+"fonetika.doc-2019"="ahz61pg6qnn2dpi3c9iz2kh2f4fvywbl";
 "fontawesome-4.6.3.2"="0n13dha58d0w511pzzckcq51fal6zxgl";
 "fontawesome.doc-4.6.3.2"="x7hzlyxv5k2zjz5lk8hy15pnvbhhhijj";
-"fontawesome5-5.7.0"="vq1g1w761gxmvlv5nlhv8mffrdx8k0if";
-"fontawesome5.doc-5.7.0"="2b9kgf3nay035sg1lc7njdln6wxl1swj";
-"fontmfizz-2018"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
-"fontmfizz.doc-2018"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
+"fontawesome5-5.9.0"="xm37wzc60g5rdg16srmq5g7miprlqq5b";
+"fontawesome5.doc-5.9.0"="25mnrvnak9dr7j142lk77ycrl72jhqnk";
+"fontmfizz-2019"="rkf93c9imj2wd7aps85m6450zbd9p3yl";
+"fontmfizz.doc-2019"="y70dshapwj7xp7h9b6sbjipv6v9k02wg";
 "fonts-churchslavonic-1.1"="3d67nxsgrrv480997rlbrzz5siyb2gvj";
 "fonts-churchslavonic.doc-1.1"="arcilr5n1w0rg97zkxy162kx21ygns31";
+"forum-2019"="nk35nrq1d7yilp3jps95zdrajxzb2kdh";
+"forum.doc-2019"="ba7bz482qb17yxxciawg01il4798v185";
 "fourier-1.3"="rl6alzjlkyyhhk0gbra08b99fb3aax85";
 "fourier.doc-1.3"="6b2bnjvp45lqxmjbp0pj5yd4m39kgg6y";
 "fourier.source-1.3"="dcl6cw6vfsd0xjpic29161iswkv52gm4";
-"fouriernc-2018"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
-"fouriernc.doc-2018"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
-"frcursive-2018"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
-"frcursive.doc-2018"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
+"fouriernc-2019"="9pxp21fllg7yh9jfa8nzpy6ifa3w6y18";
+"fouriernc.doc-2019"="dn9wfy53asfp1bbxnfa9nxvnfy3z9nn1";
+"frcursive-2019"="fs9aw12gfd5gs55fhqxg2p06c50i9s1v";
+"frcursive.doc-2019"="r0bj4g91m2w3yl8q8kim6ldm4d8lyziy";
 "frederika2016-1.000_2016_initial_release"="bl8g27dfv6xsqfwlr2i6w9yar7916qnn";
 "frederika2016.doc-1.000_2016_initial_release"="ncd2plzgwdwcv1many94alkvbjh7xjf6";
-"garamond-math-2018"="dgxryvlk911pqsy6j7yycqhmbllmnhbm";
-"garamond-math.doc-2018"="dmk1l4fnkqlvx4ff3wd45aray4s374fn";
-"genealogy-2018"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
-"genealogy.doc-2018"="7115cwa2l6nsnyijcdik7kw513q3a41h";
-"gentium-tug-1.1"="icijmw31g5lsgqlkam4d6z33fzprpxi8";
-"gentium-tug.doc-1.1"="i9l2xy7kwymvrzhzd1p17qgq3n3s4ay0";
-"gentium-tug.source-1.1"="fjd2j35fn1jbl3zw6nix2hz6mbbcr6m5";
+"garamond-libre-1.1"="rcbndbzsxxs01mibalvyclkrgvp8saqh";
+"garamond-libre.doc-1.1"="hacrmaazg60scpg4wx7387xr3bi1gam8";
+"garamond-math-2019"="dgxryvlk911pqsy6j7yycqhmbllmnhbm";
+"garamond-math.doc-2019"="dmk1l4fnkqlvx4ff3wd45aray4s374fn";
+"genealogy-2019"="hdl046d3paihjmlkh2q3crfj1n88fsyv";
+"genealogy.doc-2019"="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-2018"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
-"gfsdidot.doc-2018"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
-"gfsneohellenic-2018"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
-"gfsneohellenic.doc-2018"="04y313wjm59sgg4xlnili0kfw3dwljp9";
+"gfsdidot-2019"="j0mg1pn4n9dfy9hdia5v88hds4j2h2d2";
+"gfsdidot.doc-2019"="xrnlqx0gkb79g50mwzsmi9g6ib1pa92y";
+"gfsneohellenic-2019"="az5rq4d44zysnvcqlky0hr5qb7bh3nza";
+"gfsneohellenic.doc-2019"="04y313wjm59sgg4xlnili0kfw3dwljp9";
 "gfsneohellenicmath-1.0"="l1san6zqbd1r2r2j0zp81i723jpqyqzf";
 "gfsneohellenicmath.doc-1.0"="pj6lv282l62rz9yb4mlk6w07n0ncz0vn";
 "gfssolomos-1.0"="wq24prphxxnn94n0nd4xmrf23f5yqchp";
 "gfssolomos.doc-1.0"="rq87k1bymgyb837k103ps50w9krmxca8";
 "gillcm-1.1"="42vc5sx8shjzqkc10qv7gyq9689bzlgq";
 "gillcm.doc-1.1"="4rmm7nn5z0bw3qgn8gfkl86bblkvkh6g";
-"gillius-2018"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
-"gillius.doc-2018"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
-"gnu-freefont-2018"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
-"gnu-freefont.doc-2018"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
-"gnu-freefont.source-2018"="716drmmfwyq7pabpgagk0zwkj77lrhda";
-"gofonts-2018"="zpgjyb4435mfsjdk5n2c1c2nyqqix88f";
-"gofonts.doc-2018"="dzy2jb8iyr227sil5wj14sxv5v1w95bc";
-"gothic-2018"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
-"gothic.doc-2018"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
-"gothic.source-2018"="6gh7hma17066gk20ri4qjvml8d424c1h";
-"greenpoint-2018"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
-"greenpoint.doc-2018"="xf889ii8gmck30vlpwkfp7d9242ivffr";
-"grotesq-2018"="rqv47whzwig31vfd8581ncd87ja7pb82";
-"grotesq.doc-2018"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
+"gillius-2019"="fw49hi1cvp9zknv23xccgffkxyqwimqv";
+"gillius.doc-2019"="dhkvy2y5v117xzm4lan27k7q2rcdvs5p";
+"gnu-freefont-2019"="1zqn27grz5h290g4fk4q8kd9pf4l05ag";
+"gnu-freefont.doc-2019"="3saxb0d0h7dn8a1f7l8ax0dj5ic8piib";
+"gnu-freefont.source-2019"="716drmmfwyq7pabpgagk0zwkj77lrhda";
+"gofonts-2019"="gd9n6q1il2jfwz6hjp5hag2gkpr2mhl5";
+"gofonts.doc-2019"="4r2jm1373lkk3j89i9clb528dj04lmly";
+"gothic-2019"="p88xyzda6r94ibzxlv1r7kkb7mc99h68";
+"gothic.doc-2019"="wrpx52hq1g5dhi38sjj7dxi2y7gh1201";
+"gothic.source-2019"="6gh7hma17066gk20ri4qjvml8d424c1h";
+"greenpoint-2019"="qlqfkgcn8gc1hy7gmfajqliriilf68ck";
+"greenpoint.doc-2019"="xf889ii8gmck30vlpwkfp7d9242ivffr";
+"grotesq-2019"="rqv47whzwig31vfd8581ncd87ja7pb82";
+"grotesq.doc-2019"="rim68sz4x0r1m6j69zryv98gfgvpkbz0";
 "hacm-0.1"="jvhbypj31pcc0imgwlmzpv8nmb1n9dxk";
 "hacm.doc-0.1"="0dys4q83mfgxlwrz16fsm2cx2vgcn5ly";
-"hands-2018"="570kl4m7mximvq87lfqa6fim30hmjjqz";
-"heuristica-1.09"="s1khk82w1g5q53iaj29viqgi1bssfvx2";
-"heuristica.doc-1.09"="vlm8a9a4g4vbqiana67r4dfyv3g1fk0b";
-"hfbright-2018"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
-"hfbright.doc-2018"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
+"hands-2019"="570kl4m7mximvq87lfqa6fim30hmjjqz";
+"heuristica-1.092"="9y69nm9nw275afi7qzdlm6rr207rq1xd";
+"heuristica.doc-1.092"="kyhkr5x04gs4k2pqgnhysgdg9wk96s1h";
+"hfbright-2019"="j8vk71r5c8iyhfmfwqspj1c4iczl2p0f";
+"hfbright.doc-2019"="wqqxw523sh1yjl0hnh31902wap7xcjwm";
 "hfoldsty-1.15"="79zmah1m2xg56m7cvfybzw68kbfcf5c5";
 "hfoldsty.doc-1.15"="16gmfqd9kwg0isf4wp1nlndfwn5132ph";
 "hfoldsty.source-1.15"="vyly65j4d7wl49gmm8wgpxrnv1s2ygq2";
-"ifsym-2018"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
-"ifsym.doc-2018"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
-"imfellenglish-2018"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
-"imfellenglish.doc-2018"="g7r6rv584d412gqassqba30jfg3i1490";
-"inconsolata-1.114"="r6sxw4pcb3vf4fh08kcima6r18rk53cl";
-"inconsolata.doc-1.114"="277jxifzxdi2dvxxcbxa5hkpiq03af1z";
-"initials-2018"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
-"initials.doc-2018"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
+"ifsym-2019"="qy3w8h8slb44vg4s7q7ddb9db2fd9s06";
+"ifsym.doc-2019"="wpnp4ykxz7qa1ycwzkfpp5sjrs49np12";
+"imfellenglish-2019"="y1vkapnwlqxwb3via4yhpszgfmlyqa9q";
+"imfellenglish.doc-2019"="g7r6rv584d412gqassqba30jfg3i1490";
+"inconsolata-1.121"="wk0j1458yhq5r1zl03qlb3gbzm0dwfb3";
+"inconsolata.doc-1.121"="iyjsfc6sgi4g6k3vljlmdjr6arvm09bn";
+"initials-2019"="sd0v18xidrmnllf1ihmgk02jz3v2qw8j";
+"initials.doc-2019"="6nhvprdk8nd8gxmhq2hb8s41rpjwmv4g";
 "inriafonts-1.0"="v2z21gr8glh8557carc8405d39h9yxyq";
 "inriafonts.doc-1.0"="dq2aix14cqch32dywqyka5ci8qn31ayw";
 "ipaex-type1-0.5"="pzqc88hkzspswvgps1bswsn6khablb87";
 "ipaex-type1.doc-0.5"="xls1iggs58i1mnpc79fp15v1f1i59h3y";
 "iwona-0.995b"="l8pylg2zq5pvxs7czq17b3v1xpar4qkr";
 "iwona.doc-0.995b"="piyd7fk40bqwdb3fxshkcwwrdi8gra32";
-"jablantile-2018"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
-"jablantile.doc-2018"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
+"jablantile-2019"="7fh0mnp320r5b8740vs3z19dg1l0i4ds";
+"jablantile.doc-2019"="yml29hq7xcawh3zkd6b32dbsk0aj024q";
 "jamtimes-1.12"="mdyyd5fy4hhi74rpc5hb7bmrxwdsk9k9";
 "jamtimes.doc-1.12"="c9849k8v23lrfrchf00yvrvq5q7g1gq0";
 "junicode-0.7.7"="s9grb6y7k5mxsfaxxyp1aj8c289cdb2r";
 "junicode.doc-0.7.7"="b66ag5n2apfdkwlhqsvg6aq1p8pdbiyn";
-"kixfont-2018"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
-"kixfont.doc-2018"="xp8ai67z856fmkzcssavksidg7n7j2yj";
+"kixfont-2019"="b9z3zajxsqs84zh5k15rx3jgkwwgwa40";
+"kixfont.doc-2019"="xp8ai67z856fmkzcssavksidg7n7j2yj";
 "kpfonts-3.33"="rsl5v8zsm8pblyjryw3f14svxjzhnchm";
 "kpfonts.doc-3.33"="rr7q8ww1nkpzqy29xmxhsyizszf59mqx";
 "kpfonts.source-3.33"="448xjy1djbz9l9wbhmq7r6fpgvsn9dyy";
 "kurier-0.995b"="dadp8vkzvblj60424k75bchravcr0338";
 "kurier.doc-0.995b"="a4hw3w7qg492qnf4kivjsdfxqyrq669b";
-"lato-3.0"="cay4x21jfm7mzs18f21ymwaa3gbqpdiz";
-"lato.doc-3.0"="kh4a3qzwkrvx3my0qx0vxk4c5ixfz3ag";
+"lato-3.3"="5cl837pwnp1zd7h8w5j7cwqpvf6pmik6";
+"lato.doc-3.3"="fjxgmfdin3rrl6dn338f9ss9729napxr";
 "lfb-1.0"="kqspj6w9i4bzbxcngqdfk8rnw33j0yyd";
 "lfb.doc-1.0"="ikbhi6ahzxlplvizphmpimf9ah2ninqg";
-"libertine-5.3.0"="fli1yd0pyv6lrw407bsk2hvn6dhzch0c";
-"libertine.doc-5.3.0"="5xbcjdvjdby67zdkdk3g9lglbfar8bnl";
+"libertine-5.3.0"="9p4n4dm4l1vra87kfhipy4a9cvl1vcg7";
+"libertine.doc-5.3.0"="yp3dchk8j3vkmj4rfvvmc43r8sard2pg";
 "libertinegc-1.01"="jmz5hjyld04g175sgg322lrlazcbmbz7";
 "libertinegc.doc-1.01"="qf8q9c30ljq44kqh8l855xdkq9i4w857";
 "libertinus-0.01"="q8ddwlppxzzmwfb6lzdcsix9kb4i61vr";
 "libertinus.doc-0.01"="y5didmz6809s0cfa8lnhhqfmbdshy9v6";
-"libertinus-fonts-6.6"="pqfswsq2q2a4ncgczqnkyyzjhh9jxxwx";
-"libertinus-fonts.doc-6.6"="0k0p5ypxxkqrhgy6w4mvck2gff1r7w39";
-"libertinus-otf-0.13a"="536krgyq7j4wdfjv92cdhnnym6fn86hx";
-"libertinus-otf.doc-0.13a"="g79h73qnf5rfjw9whing6hnqjf0ydkfx";
-"libertinus-type1-2018"="zb2iibs5w0rfr3jpiwb4bmgvzy1vsfdr";
-"libertinus-type1.doc-2018"="4qnz0xfzbk266n39wrfv2nljzwpklq6m";
+"libertinus-fonts-6.9"="mgg77ljqyvp9sx78pfjfyr875qz52h48";
+"libertinus-fonts.doc-6.9"="msqi6clqw8rxg5jzzysbs1nr9ivsqar3";
+"libertinus-otf-0.20"="6jkvz7v959d0gyvvd62f3mr0z0cckq6j";
+"libertinus-otf.doc-0.20"="lmdc9rj9620j7m0d1dh22jzibb07ymfz";
+"libertinus-type1-2019"="ji91vwfsyg1qgh8k96c9qh8ha8136dzw";
+"libertinus-type1.doc-2019"="g284knxnq9i7rm4cmqjfisv51cr7wqsw";
 "libertinust1math-1.1.9"="afqrfb41ndii7pm2ry6ydhhxbakr6k86";
 "libertinust1math.doc-1.1.9"="w485wvhpf2v60racrip2wysr21rgdaqy";
-"librebaskerville-2018"="2dc8cilcgmmp0wrla8ayyyh4khhh7lfl";
-"librebaskerville.doc-2018"="5yargvzlnq9sckyy629jzsmi17gb8h7n";
-"librebodoni-2018"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
-"librebodoni.doc-2018"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
-"librecaslon-2018"="rpnd5xnxi48r8xy7jiqaw0z62j2bgnsr";
-"librecaslon.doc-2018"="6n2yvfsmqybr3baq7njvdk4hv0rgwfll";
+"librebaskerville-2019"="2dc8cilcgmmp0wrla8ayyyh4khhh7lfl";
+"librebaskerville.doc-2019"="5yargvzlnq9sckyy629jzsmi17gb8h7n";
+"librebodoni-2019"="1znd7g37rmm1qsv35dd9kvkmkfj4d3w5";
+"librebodoni.doc-2019"="hzihx71p9ggdp2pxrjvck7lhx2mrgdmj";
+"librecaslon-2019"="1m4qqdc9s66mlzrh3zlnlf29rkm8qkhv";
+"librecaslon.doc-2019"="1xy6qdg2ca7lkqr3rnyxdwgijr5pg1s6";
+"librefranklin-2019"="f59w30bwjk8swggjwvnl3ba91gxdlnjs";
+"librefranklin.doc-2019"="g3ywhprd6x6lx2ym0869l6xrs8d7qd8q";
 "libris-1.007"="fi5cn5ag6zgprgc0iqgk4iln6kb8knv8";
 "libris.doc-1.007"="82p29lh7cbavrshdx4s0pvqpgbvb21d4";
 "libris.source-1.007"="gd4aiv3pxy5as8cwfy9m1f4a8jp7v6d1";
-"linearA-2018"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
-"linearA.doc-2018"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
-"linearA.source-2018"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
-"lobster2-2018"="lx95j46k68gz8jbcxam8a3xy4jgxy9jk";
-"lobster2.doc-2018"="psr2bid2fjynzfvwb4s86biamv1r6q9l";
+"linearA-2019"="fs5s95s31qczmlr0m3dk16c7gl4kpn3z";
+"linearA.doc-2019"="6b5jz6pfmv5f88gkwj5642jvd35ga3gm";
+"linearA.source-2019"="zdfpl9gwgrxwvs9ymj3vngfxdc23vv0q";
+"linguisticspro-2019"="7g6x7p9w5fx3dg01c9xqzlrn7zvxyf82";
+"linguisticspro.doc-2019"="db4pdcspfhvjlydnhfqp157n6v3sd307";
+"lobster2-2019"="lx95j46k68gz8jbcxam8a3xy4jgxy9jk";
+"lobster2.doc-2019"="psr2bid2fjynzfvwb4s86biamv1r6q9l";
+"logix-1.01"="qr4r6n9rdr30ym97iv0rxn639xh4hpiq";
+"logix.doc-1.01"="ycvsbj23n717ffbdx3b775b66kja9cwy";
 "lxfonts-2.0b"="3s303f06r7561x3x38sy3c9nr80x8gdq";
 "lxfonts.doc-2.0b"="swgvazf325j99kjrcb94r8611fs6jmqv";
 "lxfonts.source-2.0b"="sxn1hl96bsg6ai8fafskxj8palg8vpk7";
-"ly1-2018"="ry7x1505pv1szprb9fi2x21s97m23ln2";
-"ly1.doc-2018"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
-"mathabx-2018"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
-"mathabx.doc-2018"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
-"mathabx-type1-2018"="z96jirmwabbav354qlyphhjvxnsgjqxl";
-"mathabx-type1.doc-2018"="yq8n84cpw8kqvqivham4pqxq1740z36w";
+"ly1-2019"="ry7x1505pv1szprb9fi2x21s97m23ln2";
+"ly1.doc-2019"="iw3amhkw5vjcmrq43cwqg653nyc3ks1p";
+"marcellus-2019"="3cl1xsmz3m466smgxzm1apmpvda8kq78";
+"marcellus.doc-2019"="dqf1bhhl6lflp2qipkbi8nbd5ac7m1ri";
+"mathabx-2019"="qgy1qqn1bk43nk938d7bvbyj75v4fz57";
+"mathabx.doc-2019"="q0n88v61h3bqf0vvldd1lb03d6i1z8mc";
+"mathabx-type1-2019"="z96jirmwabbav354qlyphhjvxnsgjqxl";
+"mathabx-type1.doc-2019"="yq8n84cpw8kqvqivham4pqxq1740z36w";
 "mathdesign-2.31"="30x7w3a7v1654a9n5mcj5kdak8i2qxw2";
 "mathdesign.doc-2.31"="sgp7bi4m5480jvsdj9n2pq933cfjkiqr";
 "mdputu-1.2"="6wr48jgiyfprwwrla53qshm2817zrmm2";
@@ -1116,13 +1144,13 @@
 "mdsymbol-0.5"="hjaz8ph3zrnl7x0545k3937yl5a0ghqh";
 "mdsymbol.doc-0.5"="g8m1964gq8gnn3cc3ij1iqhc4akwmc3q";
 "mdsymbol.source-0.5"="7hy2zpaw41c46i7kd4m65lhzgbpkn5xv";
-"merriweather-2018"="57d530k5j2lngknni5abyzls4nlaadpk";
-"merriweather.doc-2018"="wfsrrdn7gfh7ih5fqsd4lxy55hmc9wwh";
-"miama-1.0"="v8l2d3rkr08hpxbvb1yw18afbcr3mqb3";
-"miama.doc-1.0"="xwqi0jxadac5vxcv1zcn8irfmfi3c34r";
-"miama.source-1.0"="9qf3ffnir6bn31gcdzrp00bryijrmw5l";
-"mintspirit-2018"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
-"mintspirit.doc-2018"="w1ld9009591p4inkky5jfppjaiy0ja8s";
+"merriweather-2019"="d816wypw36p0wmyqkk4z7kyqqs586klb";
+"merriweather.doc-2019"="jzgrh95z11msb6m0yhbcjfxlnil40pwh";
+"miama-1.1"="w96rjiv6fhqv14lfl1w4rvlcy2z7x6dc";
+"miama.doc-1.1"="hs6gq60jbv0mvvfznhfrzz0g6s2l3rrp";
+"miama.source-1.1"="4khxj1rk9xzil5nlp19v7a9rxf9npq99";
+"mintspirit-2019"="wc4wyi1dfc7ql5sdcyycyqxjfir4g97r";
+"mintspirit.doc-2019"="w1ld9009591p4inkky5jfppjaiy0ja8s";
 "missaali-1.004"="yv5k1an5kf5fygdjphwyg34k7yxzhvfm";
 "missaali.doc-1.004"="dwrqnc25398agbnc9nqmmiviray9fgw3";
 "mnsymbol-1.4"="gmjs2ra3yb01bxw90gjdri3p6n7kbc6l";
@@ -1130,140 +1158,143 @@
 "mnsymbol.source-1.4"="7bf82bljx9w783jg3kibc5rn2l9j0ym2";
 "montserrat-1.01"="69sgwbg4w8kxgl2sixbx2p5l8x09m95i";
 "montserrat.doc-1.01"="qs93cxc3d97zzny9702zm5gydz9p45f9";
-"mweights-2018"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
-"mweights.doc-2018"="w719n3h6cg10izpzgcqd4n0i5gbm644a";
-"newpx-1.33"="g75hjs85b6c7zif95sqzqbl90ih3gjxy";
-"newpx.doc-1.33"="a0y2xwg9wwg5fgs24y5z9gixn91yk5i3";
-"newtx-1.554"="1lfwad5qwdz6jhbzfzgyzbw5dycibi3x";
-"newtx.doc-1.554"="zvalvkaa1bq8ncx4lwprm018dlh3w3fz";
-"kastrup-2018"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
-"kastrup.doc-2018"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
-"kastrup.source-2018"="13vj32k48f0ahs5694zrsvk953kxjrwc";
+"mweights-2019"="6rwqdlv6x82pskdga8yzzz61yfxgvzpq";
+"mweights.doc-2019"="w719n3h6cg10izpzgcqd4n0i5gbm644a";
+"newpx-1.403"="kdm5i09f3qwvp0hl1frivfnirqnm2ghb";
+"newpx.doc-1.403"="zb2i33rif9gb4p9b33fqcrwcx6189qx9";
+"newtx-1.604"="5r6iq9rp4hri3z3aziwing41k795zy04";
+"newtx.doc-1.604"="lls627k613jbd6yw5q2qig6dx1czdcfv";
+"kastrup-2019"="qdr5cacl37ans3zd5jlzwr2356xxgswy";
+"kastrup.doc-2019"="mvq3abnsjmzb3kv4c2z116apbzgfh2dw";
+"kastrup.source-2019"="13vj32k48f0ahs5694zrsvk953kxjrwc";
 "newtxsf-1.051"="k228m8b49w8pxij91bgw6xb8ikwa5q6b";
 "newtxsf.doc-1.051"="4mn23hq7waqwd7n1b6p67pjgbck0vlaa";
 "newtxtt-1.055"="7v1rd11ryiynfmwzrmwywd2m9qc5i3fh";
 "newtxtt.doc-1.055"="zblj8j85biikhm989slz2hwbvkhq5yf2";
-"niceframe-type1-2018"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
-"niceframe-type1.doc-2018"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
+"niceframe-type1-2019"="0kr9sg5vnawjrd2aw8vbf8mg975sifl1";
+"niceframe-type1.doc-2019"="12bn96xfs68zy9sfxi5q67mnaqkl1v2a";
 "nimbus15-1.011"="b2vqxi65978p1bxnacgmd2z9jqlbfz8g";
 "nimbus15.doc-1.011"="gx3ij2574891g2s1b4i37dj294ccnpaa";
 "nkarta-0.2"="g55hn51ys8zd7in6c6z46mwva577s6qd";
 "nkarta.doc-0.2"="59na8icxp6l11jk6nsp53c1y5gqyjsff";
 "nkarta.source-0.2"="jqh4ghyi8ry5w9x909w3kscg9p6m1279";
-"noto-2018"="adkh5ar851rk3ixyj38d13k10saharba";
-"noto.doc-2018"="4yxz878ihhxn2q27k4lk9l2s3gr327i2";
+"noto-2019"="cwbxgh84c1a2vm9n2rxcc0jmh0mpa5p1";
+"noto.doc-2019"="izii3yn2m788xyn3bs65542ij801psip";
 "obnov-0.11"="49j5a74f298hw84np3ih4xd0hnh6r1wh";
 "obnov.doc-0.11"="m9c4z3ckj08ai2cdb3hhiv040y6n1bfl";
-"ocherokee-2018"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
-"ocherokee.doc-2018"="p9lx15xl112908b004y0y6nlfxzgam24";
-"ocr-b-2018"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
-"ocr-b.doc-2018"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
-"ocr-b-outline-2018"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
-"ocr-b-outline.doc-2018"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
-"ocr-b-outline.source-2018"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
-"ogham-2018"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
-"ogham.doc-2018"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
-"oinuit-2018"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
-"oinuit.doc-2018"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
-"oinuit.source-2018"="caij5pbyylnhlhx149kl2h5sj4qda57z";
+"ocherokee-2019"="1fg65c5gpjsx8vv9vsdg8szagf1xmg6a";
+"ocherokee.doc-2019"="p9lx15xl112908b004y0y6nlfxzgam24";
+"ocr-b-2019"="q1id788vglvlc7lsfr35gvzf0xmgr22n";
+"ocr-b.doc-2019"="lgwx91waimda6cdr05fi2jdwh4x18fqf";
+"ocr-b-outline-2019"="b8hhnggqxzs8285f55ixpwcpd7hb2dym";
+"ocr-b-outline.doc-2019"="bl1m2hny1zvs3wy4i4pndd2vxq7jhd9j";
+"ocr-b-outline.source-2019"="pf5dql2llykwb6x5a2s3scg4kc5r2f77";
+"ogham-2019"="22q1nc2fd6vv7hr7l4iryxi5bp6hqfnb";
+"ogham.doc-2019"="awnlhhzp2ch289lpnwybhz1k3zqwqq5d";
+"oinuit-2019"="n4di43fhkw1zcmy9xgxn7g4wl23qinyi";
+"oinuit.doc-2019"="s5hi4bk5yc19fb5lhmnc2vvxpr3ahd2k";
+"oinuit.source-2019"="caij5pbyylnhlhx149kl2h5sj4qda57z";
 "old-arrows-2.0"="7s0s5g2vif8hkzj768a0zgg46xjh57y6";
 "old-arrows.doc-2.0"="n9ly98pmz304gymkiafs3fncs9qq29mb";
 "oldlatin-1.00"="dw53za52apri5agrh2jpxrw0qvnk1mbd";
 "oldlatin.doc-1.00"="ngf614psg11qa2gmda30c6an4f371lda";
-"oldstandard-2.2"="iqi5gsgi0n4hzwaxwz00vz2wq43xhfgk";
-"oldstandard.doc-2.2"="vh7gsp5wf33yzfmdklh41nl0dlrn9vwb";
-"opensans-1.2"="96p8jrsz9bp7lmyvi1yyq8k6g8x7041h";
-"opensans.doc-1.2"="6wh2f3idlc9s717la12bhj92xwniyd1j";
-"opensans.source-1.2"="4idpv3dnr2p81jrbdfxqxanyyzgaxbrc";
-"orkhun-2018"="fmazxvhmc0r0m96ms6a234wj139g00iy";
-"orkhun.doc-2018"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
-"overlock-2018"="xnfcanjszrd5bdrdszdy0lj4d73wb7jg";
-"overlock.doc-2018"="08zkifgzjdfcb9q85dz0xi7q5q558aq0";
-"pacioli-2018"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
-"pacioli.doc-2018"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
-"pacioli.source-2018"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
-"paratype-2018"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
-"paratype.doc-2018"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
+"oldstandard-2.4a"="y4af7d3f3d1k8c8k26cq3j0vyz8h4n1y";
+"oldstandard.doc-2.4a"="189m5n4hb7hq50fpj0401mpfib738g2p";
+"opensans-2.2"="a68ghfiy4iiv9n6z78s956grswbdyf4k";
+"opensans.doc-2.2"="c70nwprgs35f2a7bvabdbsnmkayxyvd3";
+"orkhun-2019"="fmazxvhmc0r0m96ms6a234wj139g00iy";
+"orkhun.doc-2019"="mgamvmayvdi43vxfqmxgbgzfahpn3d2l";
+"overlock-2019"="54p5y0zlnv9csly2qwl6lrv69lin5611";
+"overlock.doc-2019"="x3q8m3py3np069p90a616z26a2jv7ffd";
+"pacioli-2019"="ka7a174yd3q3mymkbfyqbi7hhzpbhgvv";
+"pacioli.doc-2019"="5pzk9mjcdlzcnxwfkba4hzn23bzlhfh9";
+"pacioli.source-2019"="wwvfswngg0rrng6f3xck0f4qyg5m3shk";
+"paratype-2019"="877hrpz9vdgw6hsi6zf9d44bwnqjd6cb";
+"paratype.doc-2019"="12a3wq98sk2sb66rd08sx3f3vqvyqsr3";
 "phaistos-1.0"="5vv58ibkgjmpih67p2qgm9vdiqh4ag6m";
 "phaistos.doc-1.0"="z69jyiz7nm44yg9qy5vfhrzwby903g3s";
 "phaistos.source-1.0"="clhmyfpd5l1zx29352smmnyhal3lpa5q";
-"phonetic-2018"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
-"phonetic.doc-2018"="xa7kxz7lh1sqmb6x9n4sh7bjpr9mvzqp";
+"phonetic-2019"="1ha5wc46jqc3r9ziq7wmx0va8svybyjk";
+"phonetic.doc-2019"="xa7kxz7lh1sqmb6x9n4sh7bjpr9mvzqp";
 "pigpen-0.2"="d6rr06gpzr27134dqh8rv6h6g4i9hg4x";
 "pigpen.doc-0.2"="gqnp68lkhnnyh1ib0sa34cxjg52jj0rs";
-"playfair-2018"="1rmwab0wdfbivgzkjkdlnkm57bvccgw7";
-"playfair.doc-2018"="2aaqnm4gmjl2g1v4a046hlx90xjwb8jf";
-"plex-2018"="dvjx3jmbsbnc79914az1dlj2ns2nc0mp";
-"plex.doc-2018"="jxg0mvhpw34skxmqbb59x7v2bgx0smj8";
+"playfair-2019"="70y4jv653pcwv0s6rnmjz271saz179vn";
+"playfair.doc-2019"="v7jcyickh5fflqx8h2b7s307sx9zcg2l";
+"plex-2019"="wg42rjzqd27999sw5rg3xslysq0h262y";
+"plex.doc-2019"="1sh7f2g0q9idrp5df1qbbh0k9ifm1n2y";
 "plex-otf-0.07a"="2k3j1snsf3d414k4pjq56d9b1vn2vh1x";
 "plex-otf.doc-0.07a"="z6clw20q3nfwzn087f3c3ifc4g2yr4kp";
+"poiretone-2019"="isnd3cmsm0ps7dh40sjqiwa9vrpc1d19";
+"poiretone.doc-2019"="k2g9vk6snvf66n1g6x2d4hd2d1z6cghm";
 "poltawski-1.101"="ipqjw12syp38hj1pw4b9g03kx07l40vn";
 "poltawski.doc-1.101"="g3shi2lp499x96az1f77y5bf8mhrgzl2";
-"prodint-2018"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
-"prodint.doc-2018"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
-"punk-2018"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
-"punk.doc-2018"="1gc59v1xvh9sls0nr2ypmifripdspd1l";
+"prodint-2019"="vgqm1rmgqqvn7d4akab3x7jqz89kb0hq";
+"prodint.doc-2019"="fclf35r9hmfq76bvxwz5df0q18zms1sm";
+"punk-2019"="1bqwz8g3apk49mhg7m63qsynrxjxg76x";
+"punk.doc-2019"="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";
-"quattrocento-2018"="49ifrqysm27xbwqmy4k0h7k65gxk4c9w";
-"quattrocento.doc-2018"="3rbp50ihgm2bhv78xa7839j99m4q45qr";
+"quattrocento-2019"="isv4srm4yxgrn89hsx8if1224x6mbmai";
+"quattrocento.doc-2019"="qcz3715r89gpj53jcy69rzimbcqlzw2z";
 "raleway-1.4"="qyqkxw2r0kjdc5ccq6ixlsjgv75gcmhv";
 "raleway.doc-1.4"="kw13y1533fwj7lgjc986ydb97plij1vh";
-"recycle-2018"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
-"recycle.doc-2018"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
-"roboto-2018"="iv2x04afqkrbfjswxg4hgvba3hg6r2m4";
-"roboto.doc-2018"="qr7xcf2bia0v9d5l5c30xs8z5rr5lfxa";
+"recycle-2019"="4fgfdk09nzljd5a6vz52nvv8b23xk8rw";
+"recycle.doc-2019"="3wazkwncn9gh1lpcax4hb8x38jr6ynxd";
+"roboto-2019"="l8rcqx70vnwm438x3h6mh7ziglqw2c5x";
+"roboto.doc-2019"="dr5a7g26r4znmzy8j6fphky5dswdna8b";
 "romande-1.008-v7-sc"="v5sf9cqkvd7wmbrrb48dffi59m048kal";
 "romande.doc-1.008-v7-sc"="bf5a3jzcqr74l7qp2im80r9x73rk3asy";
 "romande.source-1.008-v7-sc"="g2p0didwlqqf9gsdzrhmh0f9543wdwwz";
-"rosario-1.0"="c9jlarr5wz2fyyhkndgxvq7npk59xk5m";
-"rosario.doc-1.0"="v521ckdibqy21cm5aagyiwfbzj63469v";
-"rosario.source-1.0"="zy5bkfdxj9j0gca23hk0d0vmbrnwv8h2";
+"rosario-2.1"="mhjqi8h40lfdhv9b0q1qzla4s577l0ky";
+"rosario.doc-2.1"="az8qmdmm2fsrwygfmp4rfklpbwnkzjqi";
+"rosario.source-2.1"="pyzgnc976vz8grb6dx3cwzkgxv2i11i8";
 "rsfso-1.02"="3n75qwpji7z995wb2r3dqwrszkw6m61m";
 "rsfso.doc-1.02"="vga3jyv3s730mgx97mqw92igvvypbyb4";
-"sansmathaccent-2018"="i74c6yiwx5g1ilgjw2i0wsf2ip5ym9dp";
-"sansmathaccent.doc-2018"="dxbr7vs0j710wz9ym4n7wb3930kcrccj";
-"sansmathfonts-2018"="27328mjiv4hp1d24c3yf9bw02602x3r2";
-"sansmathfonts.doc-2018"="wbkv1hkr1l7gdk3kxfjx4dxmzgjjin38";
+"sansmathaccent-2019"="i74c6yiwx5g1ilgjw2i0wsf2ip5ym9dp";
+"sansmathaccent.doc-2019"="dxbr7vs0j710wz9ym4n7wb3930kcrccj";
+"sansmathfonts-2019"="90f8gdxlqiqx6aw1nx0hfbmkrs6aw331";
+"sansmathfonts.doc-2019"="wcnhx85h99brrisdz8yb0m34mv5qsvd9";
 "sauter-2.4"="flw49y2l5355jpvq7f3q3vannwcfni3f";
-"sauterfonts-2018"="kciqmij0w173na214ix5yhngc18likch";
-"sauterfonts.doc-2018"="x2lc53r2wnwrjfainmngafdsg39zyf48";
-"sauterfonts.source-2018"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
+"sauterfonts-2019"="kciqmij0w173na214ix5yhngc18likch";
+"sauterfonts.doc-2019"="x2lc53r2wnwrjfainmngafdsg39zyf48";
+"sauterfonts.source-2019"="kfi5301zd7pwmnr1fhqc6kfni0nr5d4m";
 "schulschriften-4"="3g5c3l5mnpp3a6472ayj0iykriini807";
 "schulschriften.doc-4"="ad6v7vnksqfglwb18via23p45xm2hr81";
-"semaphor-2018"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
-"semaphor.doc-2018"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
-"shobhika-1.04"="1iqj5p7vljw0yv43i6y54s4ghbx3f662";
-"shobhika.doc-1.04"="5kn3dz79s0z5mr9k6an01j2p14bpfms2";
-"skull-0.1"="hv1lxixs6dv2sagmj4rnjpkhc4s2i3mj";
+"semaphor-2019"="rb37ln7zq51ck9k6g0wj1cx1q02x2i35";
+"semaphor.doc-2019"="5lc0796kh9slmk1hrm3720mcnqjlqrcv";
+"shobhika-1.05"="rcrfsl2fd8mq929xv6zjlk91hmwvw85c";
+"shobhika.doc-1.05"="cb72lp8n0xrj4gvfhzy6mvr4jz44m27g";
+"skull-0.1"="4nkkh74v0mlyyriyhqwgk4la8l3mjxhj";
 "skull.source-0.1"="szzd5b98j04aj4f4aq5av7fs7316156m";
-"sourcecodepro-2.6"="md57f5a305c6w98036ll1lpi7qh84qq1";
-"sourcecodepro.doc-2.6"="bksqxgy7iax59nisn8zs6a1b5ig76r7q";
+"sourcecodepro-2.7"="yx2x3lbn1mc24xx25b4vpq03rbazdby5";
+"sourcecodepro.doc-2.7"="vqwr6xly6p3yds1la5cdn3c0hi95q2xk";
 "sourcesanspro-2.6"="z54yjkharb2lcq260in8q07d2d1s5w8n";
 "sourcesanspro.doc-2.6"="cwyk6i4sdl4iag4ggdxm0c3l8ndz7cd7";
 "sourceserifpro-1.4"="zxfp95p1ah6yv6n7p0bdsvnmrpm42kjl";
 "sourceserifpro.doc-1.4"="qg32lg4s8ba732ac5z3gzc6i7iy0mdls";
 "starfont-1.2"="phdad9yy6nvcxi7ym1chdvz0vvb309ag";
 "starfont.doc-1.2"="96h183mv5rmxmnkgy6766519cz5nff6g";
-"staves-2018"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
-"staves.doc-2018"="rn25a0syl0d0n89jp09906y30679mr7v";
-"staves.source-2018"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
-"stickstoo-1.031"="ma2xdqrncr72j3kvw0kzr5gp584vhs83";
-"stickstoo.doc-1.031"="j89hnynsnh38y3vj24l8w9zplzhmvjnc";
+"staves-2019"="9vcnfl7q4czfhyl3zxadig3nzdxg900r";
+"staves.doc-2019"="rn25a0syl0d0n89jp09906y30679mr7v";
+"staves.source-2019"="2vby0srv43ikzb1br9wgnsyxmgqpfrv3";
+"step-2.0.1"="w2cbwwjf32bwlhlzpw09zi6zh3fwgqm5";
+"step.doc-2.0.1"="lsxp4rg609djqlz54izp8j2pgy5dyn8f";
+"stickstoo-1.033"="k0kj2930hby7wkrxlal4wr7ajagm9lnd";
+"stickstoo.doc-1.033"="mn4pm8hwyl39h1v7xkvhd8dghkbnwlk3";
 "stix-1.1.3"="sxfvkk30xb94rfby1kli4xny57xsbqv8";
 "stix.doc-1.1.3"="xa4z5gssrb74xsdc392ni8rww37c2phd";
 "stix.source-1.1.3"="m4csxq0wlzy246f1kgbd4n0sfgrcbnri";
-"stix2-otf-2.0.0"="v943m4w9f4yxkicccrr3zzggkjixgk76";
-"stix2-otf.doc-2.0.0"="jcd2cxyrfiak8zxs5zsq2fynsrjdhi82";
-"stix2-type1-2.0.0"="ni9mkzfp0f7f2nhvzcll5mzimfwlxcn9";
-"stix2-type1.doc-2.0.0"="dbr68916dyxfhglg00d5mrxz40p1cfzm";
-"stix2-type1.source-2.0.0"="c9ajhq2dinxzps5kb0h3czz0jjk6gy8q";
-"superiors-1.05"="yr7dyyyy1nd25d29i20yq0mpcxb9zj73";
-"superiors.doc-1.05"="bjisssimbzj3hc2l9qf91550kcq9d0r0";
+"stix2-otf-2.0.1"="285yjdyipk7zmqbxnxp3bd0y5bn3k7s1";
+"stix2-otf.doc-2.0.1"="dgvidfdad1dng5bydbpnh25iblahzgqj";
+"stix2-type1-2.0.0a"="jzv0fmvvibsa2kfgw0mbxqxjpwc01pwp";
+"stix2-type1.doc-2.0.0a"="nwaygsbapf3f8d00wkb7vyw93kj412xa";
+"stix2-type1.source-2.0.0a"="c9ajhq2dinxzps5kb0h3czz0jjk6gy8q";
+"superiors-1.06"="gw1aw7hc05xzywylps60lzgwif3gli7i";
+"superiors.doc-1.06"="m2ppyah3wrk61cvq149bsvdgrjww94yk";
 "svrsymbols-2.0b"="wgq0gxpls40hwxlbxw65ykap0zkw8y1d";
 "svrsymbols.doc-2.0b"="na04gi2mhbqlxyp4jajs65vn9gx0rgc0";
 "svrsymbols.source-2.0b"="3f15gcxzd2rm4m95ikwvpnvil128i71h";
@@ -1277,8 +1308,14 @@
 "tfrupee-1.02"="2srhr23mwajngahy1hcihhivix7x6af3";
 "tfrupee.doc-1.02"="pvmd0anqdv38a904hhafsr9mq5hy7f5d";
 "tfrupee.source-1.02"="sz4z2j5kzk9431pvdhj2l11b8qsw3mlv";
-"tinos-2018"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
-"tinos.doc-2018"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
+"theanodidot-2019"="wq3wrhkk66z3q327fq4mdv0lw8wghm4d";
+"theanodidot.doc-2019"="6c7za0972a3x9cqa4gmj9c42bz9k7hqp";
+"theanomodern-2019"="2mv2fh328c75bffssj0l8dgdkaq519lv";
+"theanomodern.doc-2019"="qs48kz3hqbh0wv36m5ph30za13wmss3x";
+"theanooldstyle-2019"="ww6kab8p4jm1wsvlsn7hydl2fa1s3nnf";
+"theanooldstyle.doc-2019"="pn7xnn9dq4i2b1wdrn2qqzx7dx9cqrcz";
+"tinos-2019"="c1b84zg78hqp8fm15cgr59qrksqd5prp";
+"tinos.doc-2019"="09w8iyqc8538x1d7cm8jcwk1mkmv93vx";
 "tpslifonts-0.6"="6d6zngl99bgbzqidn4249bv3p3ykz5pb";
 "tpslifonts.doc-0.6"="64fr89dkcr0zzxcmshmhpczvbc4byp22";
 "tpslifonts.source-0.6"="0267nah6ffiwph29ay6cpfl9zqm4vgbh";
@@ -1293,11 +1330,11 @@
 "typicons-2.0.7"="0mmcwr2xcx7hdb4yllndrzq7bxava3yb";
 "typicons.doc-2.0.7"="6bcmldiywvwfhknmdvpj8fdz0fmdizkp";
 "umtypewriter-001.002"="4k8n89mabkcc3pyc6vhj47hvxncz40zm";
-"universa-2.0"="m43cqqy103c1rh5yb8i756mm4nrmrizp";
-"universa.doc-2.0"="a5nmwpyz7v6zbk7s1pq883nb9mhn6ann";
-"universa.source-2.0"="5h127gz30jy4plcbhz11zk2az782v629";
-"universalis-2018"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
-"universalis.doc-2018"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
+"universa-2.1"="1hdi5bjzg9w8ipll8d3hdjxr23adcg16";
+"universa.doc-2.1"="pxdcwsm75lji29nggdy53wv4y96ixqjh";
+"universa.source-2.1"="adayns5x3p33i2apy5q7582ahl9kr5wq";
+"universalis-2019"="fwhl8bzgbw53ka6j71zbpc2fxsb20896";
+"universalis.doc-2019"="4w17vpjjhk2wwmc4m6z2n67814fdlrdx";
 "uppunctlm-0.1"="snyyw4gj0736fqykkf94fhkp9d31ml9q";
 "uppunctlm.doc-0.1"="h6cblhxd6xb6nnp3szb0fwv1r7pdwg99";
 "urwchancal-1"="kk9r6rk48qqq9s8l4k42fgj6c84912bw";
@@ -1305,29 +1342,29 @@
 "venturisadf-1.005"="nnn3pq2sx0rayjhhsh2pyavkf7c4i7jw";
 "venturisadf.doc-1.005"="gjzclw11zah2cpmgjdpknflrfsaahq9h";
 "venturisadf.source-1.005"="6yz4vcq9mzzm52ca19kcvgj8fg7js28g";
-"wsuipa-2018"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
-"wsuipa.doc-2018"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
-"xcharter-1.116"="a83ilyarl6ffsbavkak3x41pbxmymyrg";
-"xcharter.doc-1.116"="qkl05i6wjyh0k7jk9773smgwcdwzxdxy";
-"xits-1.200.1"="lxqv0qpa0xgj7y69p37fncihvc4dbkwx";
-"xits.doc-1.200.1"="83xz61kkx67nfjf8kmnxfmxscbib0krv";
-"yfonts-1.3"="qfpb2c6anayf3k3bg105apscs3dj1xj9";
-"yfonts.doc-1.3"="z0rzdfjpqdj9q0bixf77j9jb95nix8bm";
-"yfonts.source-1.3"="cjh6cb3zhdsljlwdzd7yr6axbnc0v1fb";
+"wsuipa-2019"="h05k2wwr89dak3ifgvjgjw0zyvlkyyjz";
+"wsuipa.doc-2019"="nrlpxbqgccmccncqa3xx8l3zlbalkcvm";
+"xcharter-1.201"="am3f3s0j1f89sln67zdv9fmaz7cyr5rl";
+"xcharter.doc-1.201"="v3vglfka075ws52w9fw1zn3r9awr6lxp";
+"xits-1.301"="p6p15xy3v136llbzrxhiyiqqjxjx9gzz";
+"xits.doc-1.301"="3qdj5y0g77l89xp1nijqr8kckm0257lg";
+"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.01"="s9fvrrpb7d5d0590p37xzkky0x9536vd";
-"zlmtt.doc-1.01"="psz0nrmif6hfl96kjmqi0mpbdw1i710v";
-"avantgar-2018"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
-"bookman-2018"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
-"charter-2018"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
-"charter.doc-2018"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
-"cm-super-2018"="wqamwks565frzn4nf6pq9skasdx5jbmy";
-"cm-super.doc-2018"="246p6vn62gq68n7bnxh1iz258gn3wi85";
-"cmextra-2018"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
-"courier-2018"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
+"zlmtt-1.02"="46x1539n1kc2jqywf2jndg9dzq3zxrvr";
+"zlmtt.doc-1.02"="3yk18czbymf6kynf2ir44b8bh9jyirfj";
+"avantgar-2019"="6x48hsg7wdw4qmf0pyqvb7zmqpn6izqr";
+"bookman-2019"="r9bkd40g0hwcbjhfa2n637i0qyk6ahyf";
+"charter-2019"="1iha6fak3i1mwa6pa6fps80vzik65a4c";
+"charter.doc-2019"="fvn827jh9gfdbs6gnnm83s2yialawz7l";
+"cm-super-2019"="wqamwks565frzn4nf6pq9skasdx5jbmy";
+"cm-super.doc-2019"="246p6vn62gq68n7bnxh1iz258gn3wi85";
+"cmextra-2019"="kqywbrwmg5w0xj0r0qffh1y9z9hlvlaf";
+"courier-2019"="f3rhv0jy01gfhn1rdnai7693y2xy90d4";
 "ec-1.0"="kjq23jms9m9h5af2ri4bxd65w82lli3v";
 "ec.doc-1.0"="a8mvwdx6s8swxhagcc1p36dsy335fhby";
 "euro-1.1"="mpzw5yyqlyb864cqx4wczdnbln4sv4b2";
@@ -1340,46 +1377,46 @@
 "fpl-1.003"="m1b15fm8wc0lm0x9mbryz69x2dkczkmp";
 "fpl.doc-1.003"="bjc01f8vs5f3qj07my033203rn1na269";
 "fpl.source-1.003"="6rv41z6xg652nkli0flj3102na8k7k0d";
-"helvetic-2018"="q4xi3bdpp7195sqlkbfgnnccq879v86f";
+"helvetic-2019"="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";
-"ncntrsbk-2018"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
-"palatino-2018"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
-"pxfonts-2018"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
-"pxfonts.doc-2018"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
-"rsfs-2018"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
-"rsfs.doc-2018"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
-"symbol-2018"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
+"ncntrsbk-2019"="r2sgybivplsnj8iqwd62wr0ixhlc8x13";
+"palatino-2019"="xp5kg58y1lzsqba3bv9dz4f8rqi3xysd";
+"pxfonts-2019"="9lxhr2mzcx8qkbhqgqx3y8a4pyhfad5a";
+"pxfonts.doc-2019"="q0zqikbb5d4d8wma6xspga1k20bjx8dz";
+"rsfs-2019"="c6wq6zd58x1dqi2l6p4ljkj3p30lfh1y";
+"rsfs.doc-2019"="2rq51dizzivym4mjl4x7lhw7mg6xmcgy";
+"symbol-2019"="3w7a6aib8mdrap257pxjw8x39lck4nyc";
 "tex-gyre-2.501"="bh1inc34f90vb7wh0r9drdjalhwa71cw";
 "tex-gyre.doc-2.501"="8mvblk061marhxqwf21jssgpn9mgvqs2";
 "tex-gyre.source-2.501"="lqv1gkn02k8yr5n4c3h80sq30f9iggxf";
-"tex-gyre-math-2018"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
-"tex-gyre-math.doc-2018"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
-"tex-gyre-math.source-2018"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
-"times-2018"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
+"tex-gyre-math-2019"="z84v3wzsjwjx7b6wnwnpqmz7xy5v2bic";
+"tex-gyre-math.doc-2019"="41g7sn49g1kxa1dmy5vrv0fzk3rd4915";
+"tex-gyre-math.source-2019"="0wkvmjwxy9ws1h9j1rn0j57dah6z9jvm";
+"times-2019"="jjlr4lksbyjb8z2v21yy9ig0w6x246vk";
 "tipa-1.3"="h92fnvz5cv34vdyrpq52pn79z9lq6s0l";
 "tipa.doc-1.3"="s923q6n8h73f74y77cf171xj9w3mrd69";
-"txfonts-2018"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
-"txfonts.doc-2018"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
-"utopia-2018"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
-"utopia.doc-2018"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
-"wasy-2018"="m5fy0m7fkc0rb3alrvy7hv72659szlsi";
-"wasy.doc-2018"="ig05zmll75wy50l3cwpz51cl8p6prpba";
-"wasy2-ps-2018"="rfx65vba7w8kqvmf0ld02ydr7flyl17f";
-"wasy2-ps.doc-2018"="1ac408160y6br39063cswn8ahp2c9rq4";
+"txfonts-2019"="5fbs9mb86nll7k3j9d37p0bfa08b8nb1";
+"txfonts.doc-2019"="80fli8zzv88yh6rbv99dzsihxbrhmxkp";
+"utopia-2019"="cq5h07i2v6n1d5l4x2gjb0qn7594w5f9";
+"utopia.doc-2019"="sla3qhf9ks0020wq82iv1d3mivpbx79v";
+"wasy-2019"="m5fy0m7fkc0rb3alrvy7hv72659szlsi";
+"wasy.doc-2019"="ig05zmll75wy50l3cwpz51cl8p6prpba";
+"wasy2-ps-2019"="rfx65vba7w8kqvmf0ld02ydr7flyl17f";
+"wasy2-ps.doc-2019"="1ac408160y6br39063cswn8ahp2c9rq4";
 "wasysym-2.0"="zmiwhd64zrf8fa9v2iqch0ksj81q5r1n";
 "wasysym.doc-2.0"="a1qr9h6d7s46a074ckxygm9iwyycbyw9";
 "wasysym.source-2.0"="r9iq0wx65zmc2kp7880hw3ws73xb63xf";
-"zapfchan-2018"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
-"zapfding-2018"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
+"zapfchan-2019"="4saylq91v4il4ch3cp3lw7dv8x6sf296";
+"zapfding-2019"="6prjnqim0yrvzj1ary8i5761byqi0ca9";
 "accfonts-0.25"="vnff63f9g4z5bsgrila75lr6lhdl3jhn";
 "accfonts.doc-0.25"="5v97adjwkwxpy4dgw6qiankxfrlz67ab";
-"afm2pl-2018"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
-"afm2pl.doc-2018"="b6bcs2lmsj2xh4lkrh3mfvczkhk4x9hp";
+"afm2pl-2019"="vpay128xrpp8jkhyz6kjah0r4vgm2d4y";
+"afm2pl.doc-2019"="4cvj0qi3h4d4ria1xig0i0v1dpplivrn";
 "dosepsbin-1.2"="f00pl9rcgapb03h76g4578za2p0awqh9";
 "dosepsbin.doc-1.2"="41pqpdppqi9658cacc0zhg72cp1pa00x";
 "dosepsbin.source-1.2"="0g1nbmyry93ikcgqhcyg48agnabnzpsk";
@@ -1387,57 +1424,57 @@
 "epstopdf-2.28"="45cbq50lfbqnlmfp19v43ipzk8pv1jrg";
 "epstopdf.doc-2.28"="ffp11ppmlcb9ri1jdmfjwnaf226j4icd";
 "fontinst-1.933"="ynk1l44cw00x0cxmfxvn0kwixgnaah4d";
-"fontinst.doc-1.933"="nc19g8lv38il2mdsapscni5wjdd0x0qh";
+"fontinst.doc-1.933"="dfb4pk5y5kp6ycfsvaxf07bg7h7v0czq";
 "fontinst.source-1.933"="cvbp2ml5kiq35qjnyzbpi8p7h1n5m2l6";
-"fontools-2018"="8fi57kgb17ra1jnmhlajfcrvq7n3jvm4";
-"fontools.doc-2018"="fv8xy2s78bjli4r2982hpfnmindrixp9";
-"fontware.doc-2018"="r6p049yn0yqiaar1jbsgiwhp267z3gvz";
-"lcdftypetools.doc-2018"="0bkwlj80cbl7abmy2qpwaapxdk3z2lz0";
+"fontools-2019"="cih36jq7ysk05hyfm34xn1mgyji95i5b";
+"fontools.doc-2019"="6q07zyw9h8lmrgibp9assa4aiqzilahl";
+"fontware.doc-2019"="2lq4pwncc80f0lh0x7s2a2c9kz9wjprn";
+"lcdftypetools.doc-2019"="z21jpfjpy1ckqk93fszqvwhig9l4a482";
 "metatype1.source-0.56"="infq9kahz9ljr5kk338xbww0g4ifg8cq";
 "mf2pt1-2.5a"="d57jv2y04fsln3q3znw2qi16j7dfq3ap";
 "mf2pt1.doc-2.5a"="gc2i9fp30877ycz5l3wgphwlg9kpfqp7";
-"ps2pk.doc-2018"="9nj49s76mr2ipx6jz8ylcaqdyykdfdr1";
+"ps2pk.doc-2019"="z5mvym7cids0yzvjpcc6s4zb04rspj0f";
 "pstools-1.68"="pqsq3y183pf9330bk78l7v42jxiywkga";
-"pstools.doc-1.68"="0hj3l8dxj5cvxnvz749c2x3mglbakg1q";
+"pstools.doc-1.68"="fxydcv5k21rfmwpbbhrv2c9fxf7966sd";
 "psutils-p17"="g8ci3q98i9cvpw1s7l3mqsv39wqx3gac";
-"psutils.doc-p17"="gc9r6cjrdyij203ja3bb307p9klvcaaj";
-"t1utils.doc-2018"="3mm2nd5paz5hs8rgv4yrf52v8k2cjdrp";
-"ttfutils-2018"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
-"ttfutils.doc-2018"="6k8ymd6lcnfdqgzndwqdq8qrvcjp37xd";
-"aleph.doc-2018"="1q20qyl154s5ysn0zi0mr16rgdlnzlsa";
+"psutils.doc-p17"="7dd0cf0q58xxr7mal5c30yalmhxya72h";
+"t1utils.doc-2019"="55a5hkn4ns0qyw961pklpk4jblsn9si6";
+"ttfutils-2019"="hzj3dljvfr9ypzpjgpwxadxf225yi8zj";
+"ttfutils.doc-2019"="vsw2vdd372ll9fjmyc5hj04rnjjfbhp2";
+"aleph.doc-2019"="j2hsggqpjkn1g67g2klps5gn8sc6a21s";
 "antomega-0.8"="jxriw18jifvf24fz8nqql5izp67p8z5a";
 "antomega.doc-0.8"="q9jb5ks7gfxg5gjhkpng5bl0wwbwp2ph";
 "antomega.source-0.8"="l2gs7sapppwxiy712i8vkwfmmc96ch1s";
-"omega-2018"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
-"omega.doc-2018"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
-"lambda-2018"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
+"omega-2019"="0v7wvg0vkrwbarcxfnp8k6w09j86y1pv";
+"omega.doc-2019"="zily3hjd30g14zrvj67hdp8nkxk9l5g2";
+"lambda-2019"="ykxajgkmkbqp7l79c4bcm5qg4xnyilxp";
 "edmac-3.17"="29h8y4lna3sv0k7wqmbgrb0mvdxwz330";
 "edmac.doc-3.17"="il4k6vswcqp00005n0084nf99bwxp809";
 "edmac.source-3.17"="90wdkd3rhm8ymi2w9hb64acsy2bzqgg6";
-"eplain-3.8"="s7f9x73rzb5yf4b4hh5z74s8fymilfck";
-"eplain.doc-3.8"="77i8dzdl4pijzdxmv45nqlj61skvyqqd";
-"eplain.source-3.8"="xwq0gc7jb427nf5yjm77gfng5z56bpiy";
+"eplain-3.9"="r1jby527acphlk6g8l43jj6dprzhdan3";
+"eplain.doc-3.9"="c75qf1sh35qdxpkqm2gb2y7dxjjm09qy";
+"eplain.source-3.9"="grk0m4hjb0i8hb85fc0b37wrxszg6y1q";
 "jadetex-3.13"="79dd0y9m791m62b48pnkyw4352271a6d";
 "jadetex.doc-3.13"="ix7992xnb7xb1789n6d48dv98imfc4m2";
 "jadetex.source-3.13"="3716mhagkrr60rjj9whznfh3v5qwvyv9";
-"cyrillic-2018"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
-"cyrillic.doc-2018"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
-"cyrillic.source-2018"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
-"cyrillic-bin-2018"="h64b7gacxv96hbs0mjxx0s65s4z5znrh";
-"cyrillic-bin.doc-2018"="yjrn9kz1g0v8sz83l406mpk4fprxln0k";
-"passivetex-2018"="arr43134jllipw1jl9cbrgnnk1gav4d9";
-"ulem-2018"="cissyhv0gisjf9lpwzxm18ffwxmlnndy";
-"ulem.doc-2018"="b2hvc7p6b57q1qqn44pfrchxrb5ybzas";
+"cyrillic-2019"="zax5fp5a3p2zd3bhbpng70sydjxm9i1p";
+"cyrillic.doc-2019"="3risjsh9kgr6pk9d0f082a5ipq1827f9";
+"cyrillic.source-2019"="cmq6669b4zjhvhxn0lxq35h4b606yhkb";
+"cyrillic-bin-2019"="h64b7gacxv96hbs0mjxx0s65s4z5znrh";
+"cyrillic-bin.doc-2019"="zz9w85h992lmsvnqh7yq8a0az8ls2759";
+"passivetex-2019"="arr43134jllipw1jl9cbrgnnk1gav4d9";
+"ulem-2019"="cissyhv0gisjf9lpwzxm18ffwxmlnndy";
+"ulem.doc-2019"="b2hvc7p6b57q1qqn44pfrchxrb5ybzas";
 "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-2018"="kl4ws1z3avxn6hfcmf69q52dw7rppfi9";
-"otibet-2018"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
-"otibet.doc-2018"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
-"otibet.source-2018"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
+"omegaware.doc-2019"="hl3ciw90gj71dz23lwn2c2bzcgd20qls";
+"otibet-2019"="66pn5bmsfw3d7l1prcr8p5v6w93lqfrm";
+"otibet.doc-2019"="i308lrxhgqi1gpsh5b5961xisbb9i3si";
+"otibet.source-2019"="hspwgiv9bs4ncmy1yi02jw8ghw2lxcpm";
 "psizzl-0.35"="qx0mhll90g0l0aqzfsjqbn43gxfincyp";
 "psizzl.doc-0.35"="pd8v22iq76j5gkkv9k286yz9i71j8xcn";
 "psizzl.source-0.35"="9i1m36bp80bif8k74q7572j311xxbjlq";
@@ -1448,17 +1485,17 @@
 "texsis.doc-2.18"="wawynbj4gxlxbcg8wddrwdlicnlhia14";
 "xmltex-0.8"="0i9h1jakwdh439bi4wq5i4mzfcgmyd8p";
 "xmltex.doc-0.8"="7xl5q081558wnfdyb2r225kckb0wd32x";
-"xmltexconfig-2018"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
-"bartel-chess-fonts-2018"="2mdy450109a2lz95qv50y6wxhhif4nr5";
-"bartel-chess-fonts.doc-2018"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
+"xmltexconfig-2019"="bm9ibaf0skn5g3ykwpn8gyg8hr80v59v";
+"bartel-chess-fonts-2019"="2mdy450109a2lz95qv50y6wxhhif4nr5";
+"bartel-chess-fonts.doc-2019"="xj41i6y3ssxdpqy3j60pdx2scsf3qx35";
 "chess-1.2"="j9hxdp5kz4dv6wwgy6azrw6yjhdq7384";
 "chess.doc-1.2"="n9xxs3zgzz1vhl7y1d8qxk4cj8fglhpx";
 "chess-problem-diagrams-1.12"="l704rprn6ybj2x2gn469z8zj1kyw8gas";
 "chess-problem-diagrams.doc-1.12"="k3dg6fjx2zmxcj29whrj41awvpmyb7qy";
 "chess-problem-diagrams.source-1.12"="k1kqz5gdj6k6pkbajmpj0qha6lm1gapq";
-"chessboard-1.7"="gbyh69ypw7gc06g9xpj5mwl4bnnfmlqf";
-"chessboard.doc-1.7"="1xmnsc1q44ykjz2rqg3ar3a4dzb6mk30";
-"chessboard.source-1.7"="5qq8g3985wnvbkp8h0nxfmvg1hc4v0g8";
+"chessboard-1.8"="mpdarc678ndb3qhx72fbkfr5di3mp05f";
+"chessboard.doc-1.8"="9s4g0f3q9dbv521rqxgwf6v4sk9l1mrl";
+"chessboard.source-1.8"="hkh4fq04v2zmw4fwjnkcswhiq46pn3wh";
 "chessfss-1.2a"="is60vi3pamq0qzj8pw0jvj4prvgbzxp2";
 "chessfss.doc-1.2a"="1ia29r7y1ja9d5hx7z17bk0qw7lgz2mf";
 "chessfss.source-1.2a"="r4dzyg9nx44ajf01kbj0qyfg2r4dawc5";
@@ -1473,15 +1510,17 @@
 "gamebook-1.0"="wnylf38d512bq82hi5jwsf9gxdlb9gai";
 "gamebook.doc-1.0"="f7p5nzs88ps42vwnhcph7vd36s5xfrxg";
 "gamebook.source-1.0"="hgbz9v0wg5kni2lc43yb179b8xqh8mmr";
-"go-2018"="an0cdspxjbbirkz0isbyvknics2pmkmg";
-"go.doc-2018"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
-"go.source-2018"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
+"go-2019"="an0cdspxjbbirkz0isbyvknics2pmkmg";
+"go.doc-2019"="17frpsmqhyai4y23xb2zm9qsl18xmynf";
+"go.source-2019"="lw82s14fw0y1yfdhvmmhwy0msyawbcal";
 "hanoi-20120101"="ini1mf0dqm44vabqlqqiw52wpcx3qimh";
-"havannah-2018"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
-"havannah.doc-2018"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
-"havannah.source-2018"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
+"havannah-2019"="ypcxnwirfyjp28wypyz8gp6zysb26cn7";
+"havannah.doc-2019"="4spiw588y9cw8vvr2b81qp0q61kfbjjf";
+"havannah.source-2019"="jkbnv839cn0i9dnl2v0v9djp630cdzdk";
 "hexgame-1.0"="w9isbb0mqra4kkg0cflryikhm172b7yb";
 "hexgame.doc-1.0"="5xr1vlivrwzhk0zrb2ri8lfc5n1i3zcq";
+"hmtrump-1.2a"="k259b7jj37dzjaavs8f89x26h73sjcgz";
+"hmtrump.doc-1.2a"="5h45jrv7friz8k0nw4s29gmqifnc4q4k";
 "horoscop-0.92"="xw7yniakff9y6f8vsp3rjh9dpx4lidym";
 "horoscop.doc-0.92"="1kzjnm3b51kh9li5p6pmg3a49y47brkh";
 "horoscop.source-0.92"="2ypc7g86drcywds2mj9d9lj1p6zpfnzw";
@@ -1496,15 +1535,15 @@
 "onedown-1.3"="xkr543whv98k5ni9hrqi00pa8slzqiym";
 "onedown.doc-1.3"="92iyvy5819cbz5nxxphgzlbg0vl132lh";
 "onedown.source-1.3"="zkwm17wpwxvy1d0mnr8ass20nridywvv";
-"othello-2018"="fp9s19jk73qrplyhjnicv8q066a98jli";
-"othello.doc-2018"="q1dqp0zdi9ixxchxnlk60zwfyszbx0ry";
+"othello-2019"="fp9s19jk73qrplyhjnicv8q066a98jli";
+"othello.doc-2019"="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";
-"reverxii.doc-2018"="2w8l7rs761h556il3d875k0sc86xll98";
+"reverxii.doc-2019"="2w8l7rs761h556il3d875k0sc86xll98";
 "rubik-5.0"="9wi8kxm1rfbqdmgd08bkfmmcrxh6qglv";
 "rubik.doc-5.0"="byp3r482d99yvd7wj0gw7sy8azki6srs";
 "rubik.source-5.0"="p25x3gpqgyq4hsvgksdspy16w6h593kr";
@@ -1515,11 +1554,11 @@
 "sgame.doc-2.15"="pm7psgqwg5prx0qfj6wh234raqw849wa";
 "skak-1.5.3"="0wa6kcvgwqz6cnjrf64x03hlbd7yppax";
 "skak.doc-1.5.3"="p8p72b9f2jll6hym1fzrymj7c122z42w";
-"skaknew-2018"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
-"skaknew.doc-2018"="0p383qca6f0f56skhgvjcwprpb04gldj";
-"soup-1.0"="q2i8ygqvpl9mjmcc41ramm2f51h2hp7v";
-"soup.doc-1.0"="sdh5hcm7sl6slkl45pnahimcbfr7f97p";
-"soup.source-1.0"="qarjlwwpzgr3ih2dskaqa83dy2zdgka2";
+"skaknew-2019"="8by6yv9rgn4zbzlq0szcm4yvg8pqfaf6";
+"skaknew.doc-2019"="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";
@@ -1528,11 +1567,11 @@
 "sudokubundle.source-1.0a"="lih9zbgw5l891hmifvpbdjwaqx70r8dj";
 "xq-0.4"="l2fd2aag0av7znzaw56qbwyp024yx9ql";
 "xq.doc-0.4"="rlabrx8297ad8p4sb4pqkv1lzxiihmyv";
-"xskak-1.4"="was0g67s4bifg8ykdbf4a53p0g6486gx";
-"xskak.doc-1.4"="4jnczqr0bqxchwmaibg5i23vja39hrjj";
-"xskak.source-1.4"="x0ab6f461xbcw6k3dydxaif29rdzc0s5";
-"adtrees-1.0"="1x6lr97397fgi6gapxaa99m9d1a095si";
-"adtrees.doc-1.0"="9rpilrcmiz6js9r3mf3d574aflbbq9pj";
+"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.23"="8cf12j1yzl2g2fwqd9igpy9ir251y704";
 "bibleref.doc-1.23"="s9hihhiwli9r8n43nav5ag2ivg6m82h5";
 "bibleref.source-1.23"="fq7w8mvqsba7sd3826jvn38l40d207wi";
@@ -1544,8 +1583,8 @@
 "bibleref-mouth.source-1.0"="drlwpv0xvyrb259ipq71p68929cmp6ka";
 "bibleref-parse-1.1"="ddxzanvw07cnj984ylsmjybwvyl41sg3";
 "bibleref-parse.doc-1.1"="jcsy831ih2d4scdsydj4m9mzlyahqlip";
-"covington-2.0"="3dgy2137v10afni626vsiajc1r2libyw";
-"covington.doc-2.0"="w7fc630ndsfdp4qdn5bpkwi9dh7qgqf1";
+"covington-2.3"="a5f2hzdc6fpm677d2dgllpa1jr5lwl8p";
+"covington.doc-2.3"="basski8kn3kk6i9jxxc9p5xy8lfxcp8i";
 "diadia-1.1"="p95dkjaf17pn4qm3syrd2wm4680qxa86";
 "diadia.doc-1.1"="s8q9nnwajrravg7418bldainfxpm874j";
 "dramatist-1.2e"="r8ldaql5igwpsv1bm35jgcgpnlr817m1";
@@ -1561,9 +1600,9 @@
 "edfnotes.source-0.6b"="n5dyvim1rvv5dmnpl8jsmc1r43nll8vp";
 "ednotes-1.3a"="dmv7mq84rw9y8fcvnyj4jspb3qn74h2y";
 "ednotes.doc-1.3a"="bivfyfj5g56m38z4b8wnzd34q2ks4lxg";
-"ncctools-3.5.2"="s9iz6jy94nk73zcc039rrnn70ccwzsf4";
-"ncctools.doc-3.5.2"="4hpj1hh04yi7a5p8ycylk388fxwzgl5c";
-"ncctools.source-3.5.2"="1m07iwm83lq29g9g65kavwvz31csbbdh";
+"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";
@@ -1572,16 +1611,16 @@
 "eledmac.source-1.24.12"="kiqy5wz8qyzxxszhf6k37ricjh13asca";
 "expex-5.1b"="xl0jyizia4cwch1z399dl0r5xz4anxgy";
 "expex.doc-5.1b"="a903i8yj7kqr49jf3f40rrf74j4bn1cb";
-"gb4e-2018"="bzbpagrikdh6z5pbs416l090s559v7i5";
-"gb4e.doc-2018"="72mcbwb79gj584p24lpxbvvqj3pbr77x";
+"gb4e-2019"="bzbpagrikdh6z5pbs416l090s559v7i5";
+"gb4e.doc-2019"="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-2018"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
-"juraabbrev.doc-2018"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
-"juraabbrev.source-2018"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
+"juraabbrev-2019"="mb4ikhwg3fjpdrsf8azzvy964gihs0ja";
+"juraabbrev.doc-2019"="i9w4ykaf8q152pc6zag4wykdlfvnkl0l";
+"juraabbrev.source-2019"="9ixz4m7y6cslk2977n0nh792nhqa6l6s";
 "juramisc-0.91"="w2nzviyg6498v4x8vqqp8kc9p2cr2fyb";
 "juramisc.doc-0.91"="0yczb9jcva6i9wvkdpwfd0l9c522krnc";
 "jurarsp-0.52"="bwldii418vmf3b37gnm56f65bzyjrfhj";
@@ -1594,66 +1633,66 @@
 "lexikon.doc-1.0c"="52hidkd52nx6dz7ga1lipv6r9l3kcnnh";
 "lexref-1.1a"="4av5iad393sb2vqplzfra63wl1g3pwpd";
 "lexref.doc-1.1a"="3nzknrs8c80yxhw9hf0qpzgx3lpj4hsg";
-"ling-macros-2018"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
-"ling-macros.doc-2018"="7b31g3wp6vks8b3h01pf2ifnqgr1r1rn";
+"ling-macros-2019"="166zs29qcy5bs1ml9bl5q4ydvx15yhlz";
+"ling-macros.doc-2019"="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.3"="9k344dp2nr280nwyk9h2pl5s0jncil9q";
-"metrix.doc-1.3"="y4v418yjxn4c1468i822ms96wlnp1m7c";
-"metrix.source-1.3"="bzri3z7xy4k63z4wsy5yri6cfc4m3hng";
-"parallel-2018"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
-"parallel.doc-2018"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
-"parallel.source-2018"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
-"parrun-2018"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
-"parrun.doc-2018"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
-"parrun.source-2018"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
+"metrix-1.5"="89mkz1xmzm0i24410wdhxc2wpr32as11";
+"metrix.doc-1.5"="vr2gg2hy407cycqa00b4iw6lbmi0l54a";
+"metrix.source-1.5"="x2w7zrjw7nxbdiszypa3fnd4am4hhk8k";
+"parallel-2019"="d8gik6iva6h6l2imix4bxb5w9p8j87ka";
+"parallel.doc-2019"="n3dww00ms1a2m3v6fflm637hiazdrqrs";
+"parallel.source-2019"="vkx4q8liyqx0n70dpq6pqv515x1gbr7f";
+"parrun-2019"="3b2gnwqll6qf6x5f6gzh9ym1vsba6522";
+"parrun.doc-2019"="8v8338i5c6lcdgcdcwhfkb0d5brc3n2z";
+"parrun.source-2019"="2bvqjwsq7ngr7n11vnqnwhqzldrb73ri";
 "phonrule-1.3.2"="7gxkh4k5g2znwdrrdy394iw08khwnkvd";
 "phonrule.doc-1.3.2"="h353x4isnarn0bja89cb7104n4wda95l";
-"plari-2018"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
-"plari.doc-2018"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
-"plari.source-2018"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
-"play-2018"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
-"play.doc-2018"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
-"play.source-2018"="jk04llsraw9d9gl5grvr019rjnkha1h3";
-"poemscol-2.97"="agr0bnzi24734dimffxavg5n1ds62w2z";
-"poemscol.doc-2.97"="6bns541wwmpv823kn9d5gnv7ziclgj59";
-"poemscol.source-2.97"="kia44i5a9yc5m7hf2v8aiw8kvkmwhvcw";
-"poetry-1.1"="4wh2mry1jyqll9wy2088zgxkdc6i7b33";
-"poetry.doc-1.1"="92f0z01dl6fw6fqkhnc56hdqjv4h536s";
-"poetry.source-1.1"="7x15fsl69sfpifslcvkl9b3y97rywb3z";
+"plari-2019"="nhdf38fv3h24zqq0bzwax05bfvrzmx5z";
+"plari.doc-2019"="i09il1b9f8cchmhc9pj6ndngyym5vd4w";
+"plari.source-2019"="5n2x3k1mf9palhxxlqpqkffd3ms3zrfz";
+"play-2019"="r6ryb6v6svlfv9i9j6r2a7ciks2k53bv";
+"play.doc-2019"="b5kjgd2gvgz5228m98l3lhaawmdfp40h";
+"play.source-2019"="jk04llsraw9d9gl5grvr019rjnkha1h3";
+"poemscol-3.14"="5qyj9w5bi9j4shvvyj7gb84hz2dm7zs8";
+"poemscol.doc-3.14"="f8gcghy84zwpp04id30687hp7hfddba1";
+"poemscol.source-3.14"="rxfy4b92d8275dkis2kjncc6ilmlmknn";
+"poetry-2.0"="f4597yvh6j4qrnzmvrpsc1bmaai5g7k2";
+"poetry.doc-2.0"="9vgmd2rvp38lp2xka75my5i5227j2nhk";
+"poetry.source-2.0"="waq7n2xpvy3fqvqb0x2akzasz1dgl2jc";
 "poetrytex-3.0.1"="a7a68naj2vngygl078qcy6qpyvgjqp87";
 "poetrytex.doc-3.0.1"="d7vp6y5vm8sw1vq3j723ksvivdk3v2a2";
 "poetrytex.source-3.0.1"="v4ynl1n0sgg2n5g0ya2ncm7k1fibfmgg";
-"qobitree-2018"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
-"qobitree.doc-2018"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
+"qobitree-2019"="jxxsb3s665887m15a2v9q4ybdzc86x9k";
+"qobitree.doc-2019"="xi15qg62q42sgh4115gp2mcnv7nriwiz";
 "qtree-3.1b"="d2wip0zniiihfnm77v0rzd95f4zvf9dp";
 "qtree.doc-3.1b"="pzpwi4bdw8sxhmyyx16g59nmi0zj8ijg";
-"reledmac-2.31.0"="kklmhgfbscfal5zfg98gw2rd37zq0hh8";
-"reledmac.doc-2.31.0"="5ycxipla09vhfgj59xf1lzxd0n5glgg1";
-"reledmac.source-2.31.0"="73h13fdcc92p44ns5793z62pch0qxjzy";
+"reledmac-2.32.1"="b8ci6sz2f1fb11fylb9f7y69lsib5wad";
+"reledmac.doc-2.32.1"="vf2q7rkl8pggivj052yx5svy0f5m9466";
+"reledmac.source-2.32.1"="1lgdnmcbyyd3b8x25hz9mms891ldkw15";
 "rrgtrees-1.1"="gijgmkpg84730ywfcangcf301kff14n5";
 "rrgtrees.doc-1.1"="l557gafpfn0vm4ajcaynvqf14axn1rrq";
 "rrgtrees.source-1.1"="al765qzv8rz1gd9dw672j29q1i27gf2y";
-"rtklage-2018"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
-"rtklage.doc-2018"="02dpc8m2pyxqmpvlls86k2gy0yp8gqyp";
+"rtklage-2019"="j7v1rhi19ly8i5h2j306nvhnhp3wjx8p";
+"rtklage.doc-2019"="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-2018"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
-"sides.doc-2018"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
+"sides-2019"="4by0j8k8xj6baip7kdvjr5x3srvz4wbf";
+"sides.doc-2019"="7kcin18x8z42axnrmlqldkzqqbvsjzvl";
 "stage-1.00"="bi5p7sggcnkfmzmjj4535qbraan5yfdm";
 "stage.doc-1.00"="hwjzdlnzybkv0jvgbldansab25ixggnj";
 "textglos-1.0"="lfdr25rxphjmck47gv10zr6dwiwyczla";
 "textglos.doc-1.0"="k8945zjmlx6n8szzighhs4fa1z8zc340";
 "textglos.source-1.0"="mvxkgnsda7v23v765zh7mzg1fzcn0hdn";
-"thalie-0.10a"="kh5jdk781i347cfpvjrv2qkih430cgbk";
-"thalie.doc-0.10a"="8ajaidg8snxxhxv7mr27qllvvyw29j10";
-"thalie.source-0.10a"="s3i136jwlwjq4zxx9fxrx0prn3wpvgg5";
+"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";
@@ -1664,35 +1703,37 @@
 "xyling.doc-1.1"="k41kmgmzw7358f3nhq2ixbxafiq5kir4";
 "alkalami-1.000"="v7sl553x9mw57qsnh66rf7mba26h6m8x";
 "alkalami.doc-1.000"="kg4kz16hp3sylfwrprr4ilc2y4rzrji6";
-"alpha-persian-1.1"="m8yc4zhh1mhdnlzhm6sy63paq2rzdgf8";
-"alpha-persian.doc-1.1"="690wq6l6dnyjw0mabbza2lx21x46sdj4";
-"amiri-0.110"="a48i1gmbvc9vmy4x6vpy0pkvrxihx5gf";
-"amiri.doc-0.110"="yxrvjg7rhrda3p6n0xy2wy1xlqzsmy82";
+"alpha-persian-1.3"="4ga35s96bmxabf62li3kr625nplk8v4k";
+"alpha-persian.doc-1.3"="jk5d6pb4hk1qbl9pzmqm3b45r6ifdmjf";
+"amiri-0.112"="yrfb6z1scjzsm3ih88dfjb5ra9pcyzcf";
+"amiri.doc-0.112"="srqmyfcwdjivj3yzmj9bxbidqlblkvsz";
 "arabi-1.1"="rr1si2q0lih2l2qpascr4kyzy313zyba";
 "arabi.doc-1.1"="cpsn1fgrlivbwqb4n9qrpq3q69kdy3nj";
 "arabi-add-1.0"="djln5r1i53rqvih7wp016j8ga2wqc7dn";
 "arabi-add.doc-1.0"="vwbgh52x3yh6yxhfx6p7m0ljmsrmr4qz";
-"arabluatex-1.15.1"="h7vy5a3kc435h0f9fpizv2pijp11l74w";
-"arabluatex.doc-1.15.1"="yk5rpvrmdj34yj2d2cmbjaj21f5k6pqj";
-"arabluatex.source-1.15.1"="g0j9j0ikqanvdm54cnrzd8cdf8rm2cqr";
+"arabluatex-1.17"="a706pfa13hlkdb77bn6j7bzx7g3lf07p";
+"arabluatex.doc-1.17"="py41ksm1nyrv0sc5bx6c5hpal49ph1h9";
+"arabluatex.source-1.17"="0yzrckqik3jydhay3ab79gvmgj9chg53";
 "arabtex-3.17"="fr7avfkwpdbx619kq7h1y31bx4nmkp5v";
 "arabtex.doc-3.17"="b5ng3w5g40m9c3x87nih862msx5nw292";
-"bidi-35.5"="xzqpmi0d1pqbdnbfac3bfnc9d6maalwc";
-"bidi.doc-35.5"="4sl0iy991yzsrramvp1imh1ls97xvyvm";
-"bidi.source-35.5"="kl702z6c520x068dk7vs06by5kwvd1ar";
+"bidi-35.9"="b5dxbd8dlxw33palhswzplasbiipf44a";
+"bidi.doc-35.9"="sl3k8nkrwpw7s36c0db47apalwzhvxcd";
+"bidi.source-35.9"="7vqc2v0cfcpblf94nl6lw7nzzr89k2vf";
 "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";
+"hyphen-arabic-2019"="lsdwn3707i0hxkj77bmm6l22r9yqrq3a";
+"hyphen-farsi-2019"="54ahl0hlvfpfjnjg9ddg1gxvb1a38yn3";
 "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.2"="8af0f67k7hj72wsfrxxdxzl1p39byasy";
-"luabidi.doc-0.2"="9fdkj79aasj5vskrqqnr7c9zdy8vb8c7";
+"luabidi-0.4"="wczrrkgbm40ba2cy5yfb8w0ah6q9s0jy";
+"luabidi.doc-0.4"="319i8wapmdv1gyx5sqy19sql5pkf5p8v";
 "na-box-1.0"="vfrchq5jqb5s18zgngk2qsb0svmnc7p9";
 "na-box.doc-1.0"="7s4wcsg6khlv2lgakqgph9livd38fil9";
 "persian-bib-0.9"="sakc18mdqnzymfvgkwsxvrjd9b5a7dqm";
@@ -1703,84 +1744,87 @@
 "simurgh.doc-0.01b"="z3qq4jx25qyxqmnfbpsdsayi59fkaff6";
 "tram-0.2"="7wcas9syxfvm8pc7wnp817zd9y4q941l";
 "tram.doc-0.2"="ppbq1g4k1swjv7y9qkqhcr0m25knssk5";
-"xepersian-22.5"="wak61mf824sj9912rrs0a041lnpjzvhm";
-"xepersian.doc-22.5"="x8iy0y175g2hshv3gsmj8wjy5if9bx4s";
-"xepersian.source-22.5"="lzsfkdh3vb8a40khj0si3jh2q9jdbhlx";
-"arphic-2018"="zfax00567h7mdlfkpxihy379cwqmy8ng";
-"arphic.doc-2018"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
-"arphic-ttf-2018"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
-"arphic-ttf.doc-2018"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
-"asymptote-by-example-zh-cn.doc-2018"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
-"asymptote-faq-zh-cn.doc-2018"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
-"asymptote-manual-zh-cn.doc-2018"="86bz3am5w7xx9si2a09s432xh882ix9a";
+"xepersian-22.7"="cvkpfxxrlx7sqjdflg2rsrh3h6n9ahln";
+"xepersian.doc-22.7"="7axbpnxr09imnpyl0c0qd5m9806a9814";
+"xepersian.source-22.7"="pbpwh6rqh6c3qj8q4l43smbhc3a5kxy5";
+"arphic-2019"="zfax00567h7mdlfkpxihy379cwqmy8ng";
+"arphic.doc-2019"="55lcjk7s78qa39dqd0wj0za5f6hcnkxd";
+"arphic-ttf-2019"="s5kckgwzz84bm3px9cmnw2zgvmaq27yh";
+"arphic-ttf.doc-2019"="s7y95hay8ygbb1viv250vkzf0wbm9s3b";
+"asymptote-by-example-zh-cn.doc-2019"="czm77scbklkpdjgk93w1g8ilchpx3vpr";
+"asymptote-faq-zh-cn.doc-2019"="yzyywm1hv1hs9ngddhdgk7frrpnrbsr8";
+"asymptote-manual-zh-cn.doc-2019"="86bz3am5w7xx9si2a09s432xh882ix9a";
 "cns-4.2.0"="3m0fbs91x53iiqvzl0hs68cks7y3m3q7";
 "cns.doc-4.2.0"="1ddyimvshda2zf3mcs6rk1n4py2aglfq";
-"adobemapping-2018"="qiz2lhjkmcd0q5c3g9h6xj4ynivzpa6k";
-"c90-2018"="jfyd605szid7j3a757fihxhlvaqvprdd";
-"c90.doc-2018"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
-"c90.source-2018"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
+"adobemapping-2019"="xcyk94x5n58vxnbw1j1wrkdizmwi6i74";
+"c90-2019"="jfyd605szid7j3a757fihxhlvaqvprdd";
+"c90.doc-2019"="1v14l7vqrdbc6nhg2k2gshq7p7cqzyk7";
+"c90.source-2019"="l4kfmrrqbnq3y6xbs0izdccvikpsw314";
 "cjk-4.8.4"="zdw3lfngj5zg5d118xjndaj5gg7r0wy2";
 "cjk.doc-4.8.4"="rlwcxn7lnyxc28v9gjscp3p7p9mgzwhs";
 "cjk.source-4.8.4"="i9g2nbr71gnvx71a55aj07qrgw67vhs8";
-"garuda-c90-2018"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
-"garuda-c90.source-2018"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
+"garuda-c90-2019"="d9m07vl6glf3zjb44whqb3flsirwwcx1";
+"garuda-c90.source-2019"="rjy95hqlvbds6pn29r26kh8sshxnd21a";
 "fonts-tlwg-0.7.1"="c6m45bqrgmqhk12766k8ahr0hmimky1g";
 "fonts-tlwg.doc-0.7.1"="xc4wi0yfws579n2z42wssk8cg7m0ildc";
 "fonts-tlwg.source-0.7.1"="3r0l4svknzyp2kpa84kgh2fk23dnhp2g";
-"norasi-c90-2018"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
-"norasi-c90.source-2018"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
-"uhc-2018"="viphfgiqfb1w9kb8103znmzy09n6i45n";
-"uhc.doc-2018"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
-"wadalab-2018"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
-"wadalab.doc-2018"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
-"cjk-gs-integrate-20180306.0"="mamw4jg0sdidhk82gbnkg9j2grgc7pxm";
-"cjk-gs-integrate.doc-20180306.0"="8hlvy8qra0lhwqcwda3zbza0a7i5dxy1";
+"norasi-c90-2019"="d0972qmh7nk9isx54d46f7jscg6mwcrz";
+"norasi-c90.source-2019"="f0z1ppqy8szazpnwmg2ml8cgasdf5ivs";
+"uhc-2019"="viphfgiqfb1w9kb8103znmzy09n6i45n";
+"uhc.doc-2019"="hp3z13z2yxkrgr7z3qa8pyf4d98rd37z";
+"wadalab-2019"="cpc689ywzaqil8xz78nkzwx30qmqixh5";
+"wadalab.doc-2019"="9gjsw3c2hlxnc1wxvky9mmqi6dyq4i9j";
+"cjk-gs-integrate-20190816.0"="ppc68sldmkv22bjr2zs8czj1s8jgdifd";
+"cjk-gs-integrate.doc-20190816.0"="qm5clja7hsdcivm6ql2xg6l6xdrgy2b1";
+"cjk-gs-integrate.source-20190816.0"="3dzd7xb4bbps69c79dpw7zr4j9h8azka";
 "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"="1kzwqhngn88vk4gnh8c7nn8v9mp7cfai";
-"dnp-2018"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
+"cjkutils.doc-4.8.4"="khlrbsmdr6gadq98xa4mwxc3h2320d4i";
+"dnp-2019"="jf1zsbg60d074ksrz0xk9ihybbabda1f";
 "fixjfm-0.8"="r24s5c53wvxaacm4fmnmp10nl8096nlf";
 "fixjfm.doc-0.8"="inhixa1d1hr6s2473qp0hfchvcn84y45";
-"jfmutil-1.2.2"="lf7jqszx8lg8i8phfcnq7qlx7q2rp6k7";
-"jfmutil.doc-1.2.2"="a1iq30pswbssypi7swra66rzmiqx8615";
+"jfmutil-1.2.3"="grbbd61lx3b8nicqs2yxf3p131abr6bz";
+"jfmutil.doc-1.2.3"="4p1fz7gk04dnzjxvcmzc2gn3h3d7dv80";
 "pxtatescale-0.4"="psd9rlxh4i4rqxgii61r2s43sqy3kibx";
 "pxtatescale.doc-0.4"="bfd49446kr82v3h06mq5hsm1ji2jwzck";
-"xcjk2uni-0.7"="d0h2b2l69qfb6xvg179pnzj3lcwzxpn6";
-"xcjk2uni.doc-0.7"="q90l5vhln5gcj0jzypm4ymn059flxa80";
-"xcjk2uni.source-0.7"="skj3gwb9fy81pcgbfhjlgr1vfdrr61i0";
-"zxjafont-0.4"="5ycdha9qzav4vvdy6jqkdvyqq8wpcija";
-"zxjafont.doc-0.4"="qvn5dllha3faq0vy5lgb52ydzi261n3i";
-"ctex-2.4.14"="0f4ak682lx1a02ppjb0z7bqanp706rp0";
-"ctex.doc-2.4.14"="2xni7gnajm5sbsm5qgwyydyll5075ak9";
-"ctex.source-2.4.14"="gz3cipz11dnlxikvi4iwa5ql8l1y30ay";
-"ctex-faq.doc-2018"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
+"xcjk2uni-0.8"="sy7lqifnwc11sf0rzfj208rmlzmv9v2x";
+"xcjk2uni.doc-0.8"="03y9sam560xbp0px56glih05gagz050m";
+"xcjk2uni.source-0.8"="f9g23l42ry05xb3b73hf0vnbi6yg9wyr";
+"zxjafont-0.5"="w83bi9vv8zl9py0jva0khxlbbbdvqllf";
+"zxjafont.doc-0.5"="c8g15pphrd6980ixqk16zcw3z1qmjv1v";
+"ctex-2.4.16"="6g9cw6bbdrzpi6mq8is84qn3pwqc6dsn";
+"ctex.doc-2.4.16"="s7dcd31263b08w2yj86k24k68hbnv1lk";
+"ctex.source-2.4.16"="9cnkch1830v3n2fi6p5n8rjzi390yblc";
+"ctex-faq.doc-2019"="vjxcdrg7i6p9fgrgzfvykibjghpigrz3";
 "fandol-0.3"="lxnjp8m4fcj3pv2hnhib6gjdh90q1ncz";
 "fandol.doc-0.3"="fm0ac37apm0dh1073lp1frja9xbsrv4l";
-"fduthesis-0.7b"="p3k5gj6a0vby14z0jf88ni27icbdhm3y";
-"fduthesis.doc-0.7b"="dmyplx168bgkvqyjny1fc0fsxwpqpzjq";
-"fduthesis.source-0.7b"="9v8wjy3c0g3s4gpfpp2875ng091ir712";
-"hyphen-chinese-2018"="1iby8rck423aw2mi87rbn60ww1kp71zs";
-"impatient-cn.doc-2018"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
+"fduthesis-0.7d"="mdxv7dg6a9643h0fxzbalwbr8b76z9fr";
+"fduthesis.doc-0.7d"="cyc56p8fsv2x36y80f3gyl5dhh64am7g";
+"fduthesis.source-0.7d"="vzy2bhl826ldn0ncl440qsgb5rfs6h4y";
+"hyphen-chinese-2019"="yizvna5758n44n2an6wk9bcssa4r9gxz";
+"impatient-cn.doc-2019"="8k1gcnqs5gghbarikj17ykh4vgahpqbw";
 "latex-notes-zh-cn.doc-1.20"="qx777fwi8k06qvknnll3crc1j0yvraxs";
-"lshort-chinese.doc-6.0"="f9qqgrqxxpcv3y8k7dvj8ii5qm25g9ll";
-"njurepo-1.1.0"="75zwhpi0m9zzjhkq947razcwv5ksnh35";
-"njurepo.doc-1.1.0"="brb4kg86cl7yq7da97yv0sjbpaf7vd18";
-"njurepo.source-1.1.0"="xz4vpaqn3wzhpil9iypqd5xzbvqnpkww";
-"pgfornament-han-2018"="b3ldakf2h3zz0npmqizqdh65pimricxv";
-"pgfornament-han.doc-2018"="w1cs02w8z3y9qiznsaw2yy9fx7r7ybvm";
-"texlive-zh-cn.doc-2018"="gm01ik0699sbsjg39xgx6w82n7d79srl";
+"lshort-chinese.doc-6.01"="8x6ywzqcixiznmqd4d86gib8iii9mfv7";
+"nanicolle-2.01"="9rpch3hn0y8gbxa4wpiyj4gady989ip9";
+"nanicolle.doc-2.01"="30rgdanih3dpmylr5byma5r7yymwb332";
+"njurepo-1.1.2"="pry1ksmskbm6y5ic43v0hdjkz5mix78h";
+"njurepo.doc-1.1.2"="91clrmlgyja8i7cvi1cbb204dnp76rj2";
+"njurepo.source-1.1.2"="3axj6ar0n3d3lb92z7f33nlxd6qjaa98";
+"pgfornament-han-2019"="906lp285f9mscdc9p40j40zl26ifvbh7";
+"pgfornament-han.doc-2019"="77f050rip24vfjcbylda57chh16n4vfy";
+"texlive-zh-cn.doc-2019"="j99mp1i4j3kp28xyx2sppsrlwp4iz1rx";
 "texproposal.doc-1.4"="8fnrxmyg4wd11kmdh4jw8l1313h0sgqr";
 "upzhkinsoku-0.5"="0yhh0ab2sq4fszra362z9m2md8ycydvk";
 "upzhkinsoku.doc-0.5"="1ijm19cqsdsm9q6a7rknl0zsfa13g28g";
-"xpinyin-2.6"="d89l7kjql87z4xik19vj2fxix10blz7a";
-"xpinyin.doc-2.6"="yp7xa1d219p87y94ncgai4m71jfaq41i";
-"xpinyin.source-2.6"="b3p4viab0px4wjnjc1llf799vk43afx0";
+"xpinyin-2.7"="ggl7qhyn7khg99yxnh26r81vnfhy5gg5";
+"xpinyin.doc-2.7"="n20130b5lslk4jwd7ryxrqcdyhs5rsdi";
+"xpinyin.source-2.7"="20hmsmzva1awcwv7c25y0v7kfm8cm2rp";
 "xtuthesis-1.0"="0lmkzfvp34aiixjir2l8qs9nfpbjb3gn";
 "xtuthesis.doc-1.0"="vvqmvgjjinj3pm8r3kp48bbxs8kzgs31";
-"zhlineskip-1.0d"="72yr7pi0q2296qzx11swvcbadkviqggl";
-"zhlineskip.doc-1.0d"="zc47sxkgpn9a97vqxhkyr46nqxgsh3r3";
+"zhlineskip-1.0e"="k8myar8fv79b0rkjbwimzm24gag072aa";
+"zhlineskip.doc-1.0e"="whb613dc11kyrhgc26nbyzmd74wi8klc";
 "zhlipsum-1.1.1"="4vf2kp4yb045j1rawnz4n52a8v82p37i";
 "zhlipsum.doc-1.1.1"="miraw6ch0naabp8kmj58mxcjqdvn2lcx";
 "zhlipsum.source-1.1.1"="wmir9nxkjijs5d2mnm49ryd7q0rb23l9";
@@ -1789,11 +1833,11 @@
 "zhmetrics.source-r206"="ls3gazkf44sdal0f0k8n46ml2fgigfsm";
 "zhmetrics-uptex-1.0"="d3r2n6ndjd8zsmlq4hgm1x3gvyvrfnc1";
 "zhmetrics-uptex.doc-1.0"="qqzvr4mf5fg5r8bg6j87yk94nznhrscl";
-"zhnumber-2.6"="hcv0gs0yx1dmbr9qr278b3vpl7sbda2a";
-"zhnumber.doc-2.6"="7j7hf9vbsf56iamv3csf0x664x5s0cya";
-"zhnumber.source-2.6"="f8hdc8nv71dqv73h7z5lif9shjpizi6q";
-"zhspacing-2018"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
-"zhspacing.doc-2018"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
+"zhnumber-2.7"="p4mgbi2yl3p41xz7hxx2hdp1h4bvqym3";
+"zhnumber.doc-2.7"="7d4ff3ir4qp94ym2636463a369h29b0p";
+"zhnumber.source-2.7"="x2w9f8g02id3g450vhpqwp5nlphnsypj";
+"zhspacing-2019"="p7w7cisgid16ndk1mipdmpn5v7nc1kzf";
+"zhspacing.doc-2019"="kjnyalnxmb2f0kj8w52nvm97a9m1dfsa";
 "babel-belarusian-1.5"="dky0w9qw4j6mbsmx6kbcgqn8p9grbbmj";
 "babel-belarusian.doc-1.5"="3mzf3fmiraiac3w6cd45fy3phm5714qf";
 "babel-belarusian.source-1.5"="bisqg51jp7d4f8mjzirzw2v0f6m78yfk";
@@ -1803,9 +1847,9 @@
 "babel-russian-1.3j"="chw7lj98rp10jkin4l03d1gx12a8ki5h";
 "babel-russian.doc-1.3j"="i56cj5h3h40ml8an2sbbj8dzyazacwd9";
 "babel-russian.source-1.3j"="cnwygpq3mb5y2araady6kr86wl2bbgdn";
-"babel-serbian-1.0d"="8acj740xh1syd4ch9jpfkpx3sclddqw4";
-"babel-serbian.doc-1.0d"="5jh97wmn4nhjbwaxdbrazk4dxsddx9q2";
-"babel-serbian.source-1.0d"="fcwf73qgjrdrc2vhzkhiaf7kj19n72vf";
+"babel-serbian-2.0"="nw8spfg8l705baa9x1n61jv87988x81n";
+"babel-serbian.doc-2.0"="ggnbzl98wjm1zak4v1cj6i22c6hmm5iy";
+"babel-serbian.source-2.0"="mlwg9g1nsm1cg0n1x7bpagbssb6hny5s";
 "babel-serbianc-3.0"="xmd8wqwb2fnq360si9ahpr4acrhj6rvv";
 "babel-serbianc.doc-3.0"="8kn5ngjaq927k1xb6lhmpm62p0h7w5r8";
 "babel-serbianc.source-3.0"="n1lsr7mvbi0pn612hg8kr6bbr3bgny8d";
@@ -1814,134 +1858,132 @@
 "babel-ukrainian.source-1.4c"="yh5qaricqrn5lmvrz9vdycbr5y2lpmr2";
 "churchslavonic-0.2.1"="5pgxy858w0nr769mn4g6832fc0687vfp";
 "churchslavonic.doc-0.2.1"="pz4wqhar8vfzyy8aw4szas78hqs018lw";
-"etoolbox-2.5f"="8mjnm9fwd455qa69548mmnpapa2qaark";
-"etoolbox.doc-2.5f"="65lmva7ri6bn37p4wr8q12c21wl6kz1y";
-"hyphen-churchslavonic-2018"="2f513hwwcxask6fp2d4hjw9bzma0ixcx";
+"etoolbox-2.5h"="vkv8mqbzjsyh51cqk0d40gl48cj1zcmf";
+"etoolbox.doc-2.5h"="9rj773kv9ia8v5brs2aw8f4xrgg6r053";
+"hyphen-churchslavonic-2019"="ya6jp4d0krjnwh0qf9lspcnsqrrrwy9f";
 "xcolor-2.12"="d4hv07lqr1p36mkph8s45w93ykk2i0jg";
 "xcolor.doc-2.12"="50k9wrkrb7gaf8dhpq4gbsbyfpbm6dz6";
 "xcolor.source-2.12"="zgpsq8x4n6m23a9d1m5m06davpxv76id";
-"cmcyr-2018"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
-"cmcyr.doc-2018"="1j63xbl85z8izha2jl2klagny3hk5wf3";
-"cyrplain-2018"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
+"cmcyr-2019"="ba4hsn5a22k73rhiaip6dv560wk5sxv1";
+"cmcyr.doc-2019"="1j63xbl85z8izha2jl2klagny3hk5wf3";
+"cyrplain-2019"="dh1vcz2wdwddkjdqihpc2rlsqjzm4cmm";
 "disser-1.5.0"="m0gldqzdx2idh4ivy43jd13fgmgcsr94";
 "disser.doc-1.5.0"="6s5g533qr53rg2ha6a7p7xr4phcn11iy";
 "disser.source-1.5.0"="h4f1z0azxfnbv1cba1f8z5wfy25hfvg0";
-"eskd-2018"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
-"eskd.doc-2018"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
-"eskd.source-2018"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
+"eskd-2019"="63ack7kfjg5gf6xv76yfla2z0k9cxzv7";
+"eskd.doc-2019"="g3wsmrvwfz2lm30w2fys9md9nqv5k8jq";
+"eskd.source-2019"="q70i7jl8dkf9vakj558fgwqfbn8230q0";
 "eskdx-0.98"="b2dx9jv2rg97hmlf3gx4h4l3ci16chr2";
 "eskdx.doc-0.98"="l1r5bapnlsz61yasg9gyrzp6za8iw0nf";
 "gost-1.2i"="i4ymhad9kyybwc4072yhc204pr9hfw3p";
 "gost.doc-1.2i"="vwsvpn0p9d4888107r2qj7rghl3l50xg";
 "gost.source-1.2i"="fawqr3q9mk5ki6qgqzv3xa4kz5ak2srq";
-"hyphen-belarusian-2018"="5wlil9ipjwppnw48nb84mr4ss1rxxzyr";
-"hyphen-bulgarian-2018"="6jv9dph047w2ggpv1vbwxhlgk91saby1";
-"hyphen-bulgarian.doc-2018"="73rgmlh3pbp2b534ln4avz8knspyjzhs";
-"hyphen-mongolian-2018"="p4jbsah4mndigqvpkfdiw94701s7233r";
-"hyphen-russian-2018"="w4nszp9h46zc13a1k3p1l0rjjy39692d";
+"hyphen-belarusian-2019"="r1j6c9gypfsnp6c41wy79f48xs4s0l7y";
+"hyphen-bulgarian-2019"="pxzvl20al54knx6qykzad7jzis6bjj4m";
+"hyphen-mongolian-2019"="1p4y823w4j6585glzcin13py9jr86xm7";
+"hyphen-russian-2019"="b77ipcv96am0vyl7c2pps2g0bjfb3q39";
 "ruhyphen-1.6"="3d6lyf95cgi2yc8lsy9dz6z5vmvcx1l9";
 "ruhyphen.source-1.6"="i6x3fiidyvl2zkly1p4s7qzgzzza1in7";
-"hyphen-serbian-1.0a"="sr671h8p445pi4gaz9y74fypr483pszj";
-"hyphen-ukrainian-2018"="xb49a066453apjp5a05ibwhdfcx74al7";
-"ukrhyph-2018"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
-"ukrhyph.doc-2018"="4mycq4cykkinm5h946xmrng59jghvbp4";
+"hyphen-serbian-1.0a"="f498a866scqcgq5z4l03dingqabbvd7i";
+"hyphen-ukrainian-2019"="y8yaggp6qs827vx3kqbdimpvlh6rmhsx";
+"ukrhyph-2019"="l60kvxf1mii3imnl0swqskcrz0bizb5v";
+"ukrhyph.doc-2019"="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-2018"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
-"lhcyr.source-2018"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
-"lshort-bulgarian.doc-2018"="r2yc6zzq44wddndp762a3hg78ihv013l";
+"lhcyr-2019"="3nj4zxpcahn2ryz47v7nh4k05j1lv6di";
+"lhcyr.source-2019"="kvid1h3vgbzmpn65sdjs0b8dspm5xvyh";
+"lshort-bulgarian.doc-2019"="r2yc6zzq44wddndp762a3hg78ihv013l";
 "lshort-mongol.doc-4.26"="5pj0i8wxlyd35sd3z7npwypicklc0nl3";
-"lshort-russian.doc-2018"="d2sgyyi8aic1j35fqrniim2bcpgk4q0a";
+"lshort-russian.doc-2019"="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-2018"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
-"cbfonts.doc-2018"="6cj35wgyk4ss36wc0szhfyqcj3diyd50";
+"cbfonts-2019"="bzgl9s6zv9fqpg5m9gicxmpscw7m3z1d";
+"cbfonts.doc-2019"="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-2018"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
-"numnameru.doc-2018"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
+"numnameru-2019"="c3fn4n2asbh2lqrn9y44g6yxad9f7469";
+"numnameru.doc-2019"="ibrlw13zibhvhr8mipw7hs2ik1f96z73";
 "pst-eucl-translation-bg.doc-1.3.2"="cqxppyh4546ybhnlk1z4fjkdyw9ij5x7";
-"russ-2018"="981kkq2xmx0r6k095308270hjvmdsm3h";
-"russ.doc-2018"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
-"serbian-apostrophe-2018"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
-"serbian-apostrophe.doc-2018"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
-"serbian-date-lat-2018"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
-"serbian-date-lat.doc-2018"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
-"serbian-def-cyr-2018"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
-"serbian-def-cyr.doc-2018"="zl8x855zmhry6n754l5x9fz8hjn27bls";
-"serbian-lig-2018"="63mjkszwsr22mki4cd6qcskdkk1bg3fq";
-"serbian-lig.doc-2018"="q07af05smgmj1k3a4mba75brqrxxhx3i";
-"t2-2018"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
-"t2.doc-2018"="gsqrf898i59wsxcm8b06qfrasfw335r4";
-"texlive-ru.doc-2018"="3jwr83k139bsbhqdmwxl3pv1n30y4lli";
-"texlive-sr.doc-2018"="r7mj30njj30ymq22hhwmdvz145qbkz25";
+"russ-2019"="981kkq2xmx0r6k095308270hjvmdsm3h";
+"russ.doc-2019"="878fl0cyka7jj5cvdvq19fvlfic3izi9";
+"serbian-apostrophe-2019"="q4n9k2fn70hxcf9chy6a5jw07pq2cllp";
+"serbian-apostrophe.doc-2019"="0yxbbv3xz0jf63g0kvq5dbdv2myc4rks";
+"serbian-date-lat-2019"="3s5yc0xcg6fsaisn7aq0nv16fj69wmws";
+"serbian-date-lat.doc-2019"="pa9rvzpbczmfm4w0977xx05c5sbl6mxg";
+"serbian-def-cyr-2019"="k46ahhqbdg23mx4ld0953dnsws1imhwm";
+"serbian-def-cyr.doc-2019"="zl8x855zmhry6n754l5x9fz8hjn27bls";
+"serbian-lig-2019"="63mjkszwsr22mki4cd6qcskdkk1bg3fq";
+"serbian-lig.doc-2019"="q07af05smgmj1k3a4mba75brqrxxhx3i";
+"t2-2019"="ihwn58py69fx1fx2bjqwyg8caiwwlpy6";
+"t2.doc-2019"="gsqrf898i59wsxcm8b06qfrasfw335r4";
+"texlive-ru.doc-2019"="rqajnqrdlq0n42kkkgp49c8si4bsfgd4";
+"texlive-sr.doc-2019"="r7mj30njj30ymq22hhwmdvz145qbkz25";
 "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-2018"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
-"cnbwp.doc-2018"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
-"cs-2018"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
+"cnbwp-2019"="whwdam81dc6g8pq664mrmnbxz4f0iwdj";
+"cnbwp.doc-2019"="qv1fxhmq1pig9rq3swhvwlwpm4lmwrjy";
+"cs-2019"="ks76xw08rrkrcxg7rv72w18glx2vncfk";
 "csbulletin-1.2"="4ivi3qgba2mbbhs0wy53hg4q5794g54r";
 "csbulletin.doc-1.2"="4s9iz7qzmwk5az3a5nwy6vw4nl6rk6na";
-"cslatex-2018"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
-"cslatex.doc-2018"="xn40wcrp11ni73wbbzslyndahrxf2d0y";
-"cslatex.source-2018"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
-"csplain-2018"="k5vsrabcyi4xzqy4sbhcxgvin1rpja34";
+"cslatex-2019"="4gf3lz23hvrqgqbvpnq2wc3bwrb2jdkh";
+"cslatex.doc-2019"="7wlgcn2v488xfjnz27rmxb85zlhnb9by";
+"cslatex.source-2019"="fmrx0y2xnxcdczhbqyrh7w70wh7mrccq";
+"csplain-2019"="71mbj1sp6i5n6lhibjlkj7aqb5qzdc5h";
 "luatex85-1.4"="ka3px4aiyi8gq487i085s31y9l95jzp1";
 "luatex85.doc-1.4"="ac2agmy9dkavln2vnd63fmavv7xnkdrw";
 "luatex85.source-1.4"="wpm4dw7j6fikz3dqa4zk3r5avg4isxr8";
-"cstex.doc-2018"="jpj7p15a5sv6hqm2kvdwlqcl0a4l3v3k";
-"hyphen-czech-2018"="ssgc5qrf6pcf56bk2mbwn3yp0ccziz7c";
-"hyphen-slovak-2018"="wj5rkc9h57647fbr1sqa4l70yfssrzhb";
+"cstex.doc-2019"="ncjagy0ifn8mw4v4nr30dgzif1jrsrqk";
+"hyphen-czech-2019"="qkh3d1nadwn280p26vx73lw1mm04hyag";
+"hyphen-slovak-2019"="hd7bxmv96ilfpaccvm8fn9rhllriv1h0";
 "lshort-czech.doc-4.27"="2z8dygvm9ilvahsx005zb7z5ss8hxbsf";
-"lshort-slovak.doc-2018"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
-"texlive-cz.doc-2018"="9dvz2cz8nxgvyjbk7lscbashm0jjwlmd";
-"vlna.doc-2018"="lzjr26l3kssjshgxhbvj2fifai8n97md";
-"FAQ-en.doc-3.28"="vvzrv99q1hxcck399g2n96qfl1dc0fln";
+"lshort-slovak.doc-2019"="qnj433q5hfg9cpy0z281zq17z7dr5vh9";
+"texlive-cz.doc-2019"="4pfpprl68pd6cdfb3lzmxjn8d74lpgz2";
+"vlna.doc-2019"="bx04hcv9681ry7h6bx01z23ciwyl02qj";
 "MemoirChapStyles.doc-1.7e"="r54d4g3nh30k5x99nfphvzg7k1jxrijn";
 "Type1fonts.doc-2.14"="jgjs1127jqdrrgnkv3r8p1wirc8lb2gl";
-"amscls-doc.doc-2018"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
+"amscls-doc.doc-2019"="4hsr68pmd3v06fnxiynmp4xpgik6v8g2";
 "amslatex-primer.doc-2.3"="9d9pxr0jbjm6zwqd51f7m2bzysdq5gv7";
-"around-the-bend.doc-2018"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
-"ascii-chart.doc-2018"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
-"biblatex-cheatsheet.doc-2018"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
-"components-of-TeX.doc-2018"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
+"around-the-bend.doc-2019"="a6jilpw0nw27vlj1shnhxfv92yn86ys2";
+"ascii-chart.doc-2019"="9x2srgi2sjd6zjjz27p6hs1w9sj73bcx";
+"biblatex-cheatsheet.doc-2019"="vcmb6x1w0cfgvyx0hl8fsv1nh2ffhg6g";
+"components-of-TeX.doc-2019"="7sc5ryfj785jifvw9b44yni2ifmssr7f";
 "comprehensive.doc-12.3"="bn5nyhw62ks4zrhg2gk6m05v1s051921";
-"dickimaw.doc-2018"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
-"docsurvey.doc-2018"="0lml7hvr42zsfk14da493xsl24z3i8vx";
+"dickimaw.doc-2019"="jqva0skw6ivc4ikc8m7awd7pgfaxgci7";
+"docsurvey.doc-2019"="0lml7hvr42zsfk14da493xsl24z3i8vx";
 "dtxtut.doc-2.1"="108k3lyvja5wmg8gxyvqskbz8wwh0cyw";
-"first-latex-doc.doc-2018"="8vcday36pq5hlr075kjk6hb82ypazjd9";
-"forest-quickstart.doc-2018"="gyacc77yw1l6kksi62y5plxsvkqbf6yv";
-"gentle.doc-2018"="mpxhsl7g4za410b65awmbb5zlc58h24n";
-"guide-to-latex.doc-2018"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
+"first-latex-doc.doc-2019"="8vcday36pq5hlr075kjk6hb82ypazjd9";
+"forest-quickstart.doc-2019"="gyacc77yw1l6kksi62y5plxsvkqbf6yv";
+"gentle.doc-2019"="mpxhsl7g4za410b65awmbb5zlc58h24n";
+"guide-to-latex.doc-2019"="8lw0kcinfq2yd6vkbd531zakby60k2wf";
 "happy4th.doc-20120102"="svmy37c032cvip73n4b98c8kh4hvnh9g";
-"hyphen-english-2018"="fga7bfg8gxhididfvy0hj8j9rga4fvn5";
-"impatient.doc-2018"="172g4hvk6d4z4013h44nr5may3a51gb4";
+"hyphen-english-2019"="9hjwbxk2jphca1g8b561gpfhqm9g95s4";
+"impatient.doc-2019"="172g4hvk6d4z4013h44nr5may3a51gb4";
 "intro-scientific.doc-5th_edition"="qx170vpq4ahipljnmhkvbrxv1xdbbii6";
-"knuth.doc-2018"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
-"knuth.source-2018"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
+"knuth.doc-2019"="2w5hzwaxcl1i2pp3ms0kshmza0p5nqi6";
+"knuth.source-2019"="6dr6qqw0ih676vxc0rj6qgjc0zpac89p";
 "l2tabu-english.doc-1.8.5.7"="j7m684bvmpv1jaa6s856dj9aknrwlqiq";
-"latex-brochure.doc-2018"="azp69yf9xkksqan9n096wabgxlk9hgsn";
+"latex-brochure.doc-2019"="azp69yf9xkksqan9n096wabgxlk9hgsn";
 "latex-course.doc-2"="km59hhadaad0hlpa07rqmx91036h123r";
-"latex-doc-ptr.doc-2018"="1dsc8ym34nlj315aln3npfibx37n9c3z";
-"latex-graphics-companion.doc-2018"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
+"latex-doc-ptr.doc-2019"="1dsc8ym34nlj315aln3npfibx37n9c3z";
+"latex-graphics-companion.doc-2019"="70mixdsyyx6jf6dc46qp5kgyx9qwkma2";
 "latex-refsheet.doc-1.2"="9gvmiiqg78xn8348cymz3wfzi45mf8xz";
-"latex-veryshortguide.doc-2018"="mil8qpv4ka19wym6cqz3r5np3n7nzw5r";
-"latex-web-companion.doc-2018"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
-"latex2e-help-texinfo.doc-2018"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
+"latex-veryshortguide.doc-2019"="mil8qpv4ka19wym6cqz3r5np3n7nzw5r";
+"latex-web-companion.doc-2019"="wzj6qw8bhwr82ipsph640ya62mpj6k3r";
+"latex2e-help-texinfo.doc-2019"="jmg3aygadzdj3jvdsd26rvg9ipjbwq7d";
 "latex4wp.doc-1.0.10"="bxffry3cy7vkcjhdm5yzn4hipma74jdp";
 "latexcheat.doc-1.13"="iav6gzdcadndwli0jar6d7i1711ssq41";
 "latexcourse-rug.doc-1.1"="fxz46xn5hazqy707qrf2mkgk121m6ywv";
@@ -1951,32 +1993,33 @@
 "lshort-english.doc-6.2"="v03zj1nwy584c6idp2d42n9mm7prnqz2";
 "macros2e-0.4a"="5kjjl3wkq04kshrlrrz4qqb4m61mz4lf";
 "macros2e.doc-0.4a"="9rgjs3scm8wavsbgljxy7rpgdwy3nsl7";
-"math-e.doc-2018"="jl3c0l594dii8wjylbc9nmaw6bqkmxvy";
-"math-into-latex-4.doc-2018"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
+"math-e.doc-2019"="jl3c0l594dii8wjylbc9nmaw6bqkmxvy";
+"math-into-latex-4.doc-2019"="0k2w8mjvn4h6jplrks9mxj6m1bnfmlz0";
 "maths-symbols.doc-3.4"="xi1pjz6rhyw79b10fpdfaa8vc5sf1wlf";
-"memdesign.doc-2018"="92v86h91snhrnssghhllvr0h05cacpm4";
-"metafont-beginners.doc-2018"="7ql41977dp698l2fjlq2xyf221y6xn2f";
-"metapost-examples.doc-2018"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
-"patgen2-tutorial.doc-2018"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
-"pictexsum.doc-2018"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
-"plain-doc.doc-2018"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
-"presentations-en.doc-2018"="b2j47x2qg2rhn4d5pv7413fca2jd7fb9";
+"memdesign.doc-2019"="92v86h91snhrnssghhllvr0h05cacpm4";
+"metafont-beginners.doc-2019"="7ql41977dp698l2fjlq2xyf221y6xn2f";
+"metapost-examples.doc-2019"="ljbvw9v7xilmkzmifm1vx18dfvqlw6k6";
+"patgen2-tutorial.doc-2019"="3wv4sk7yw0mpy0rsd1j04m8mqsbi465n";
+"pictexsum.doc-2019"="mcxxxznqh0a94sip9vpdbjv5nv83j66s";
+"plain-doc.doc-2019"="5bqxdfbl4fvgvw42033vg9w3kjn7pn49";
+"presentations-en.doc-2019"="b2j47x2qg2rhn4d5pv7413fca2jd7fb9";
 "short-math-guide.doc-2.0"="34mdd47c63946iz86c2r0g2jx11q4mhc";
-"simplified-latex.doc-2018"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
-"svg-inkscape.doc-2018"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
+"simplified-latex.doc-2019"="mmxjkyv4x0am911mkxmjs1l5ql5z19h9";
+"svg-inkscape.doc-2019"="l8vizn8al3rzgxxamdfqm6hsrh46xm8m";
 "tabulars-e.doc-1.0"="3vrlw3x3h5k0awnns1q06bwzl3ff6mpw";
 "tamethebeast.doc-1.4"="14cs89g2l3bn3xhfrhrw9pfdf65c2xcy";
 "tds.doc-1.1"="fmmdgblpf26x9ajn16g024sn5sbwwy0s";
 "tex-font-errors-cheatsheet.doc-0.1"="4a38bjpzdbj91msw8kaxmk3c6qahq1r5";
 "tex-overview.doc-0.2"="bj9pak1z31fwblcv5bj2imd4p33bi79s";
 "tex-refs.doc-0.4.8"="ad80b3r5rgj7n4m2hc5r6ccjczikff3v";
-"texbytopic.doc-2018"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
-"titlepages.doc-2018"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
-"tlc2.doc-2018"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
-"undergradmath.doc-2018"="kp1xxp209mbvyhpmh62yp53c6q8ppnwk";
-"visualfaq.doc-2018"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
-"webguide.doc-2018"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
-"xetexref.doc-2018"="9yjsdw6mvw21y2ggrlkqyp6m28xjzgnv";
+"texbytopic.doc-2019"="vcr4rwfg8m85mrlsp0hg3ic0gmd0zcdw";
+"texonly.doc-2"="x2h7skds6icw56bg0p8f4aaryn52sz75";
+"titlepages.doc-2019"="g0fvssp703yk3c2icdb8qgalxikm0xq9";
+"tlc2.doc-2019"="k8qb9ak5wx7k4c4j5g5i681di8cc8p5s";
+"undergradmath.doc-2019"="kp1xxp209mbvyhpmh62yp53c6q8ppnwk";
+"visualfaq.doc-2019"="mdskjr2m6y0ljhczhqmfm50xsv8x4k1m";
+"webguide.doc-2019"="xbp0q21rqfq5gmckdfkc671kbr6gj1n8";
+"xetexref.doc-2019"="w87pmm9ra94xil6mm6n2fciavvpl3dpq";
 "armtex-3.0-beta3"="vg6qlgg6nzci26mnphkbcpc8vak9jwbq";
 "armtex.doc-3.0-beta3"="fam9bkmfjn2v54v3f2xjxjarbrf3adhz";
 "babel-albanian-1.0c"="1dasgklnjx05y74bk0pcwn1ivghswmvs";
@@ -2008,9 +2051,9 @@
 "babel-friulan.source-1.3"="yf6xqza856qdbxdysw08v707h0pcj7sq";
 "babel-hungarian-1.5c"="5l7i970llxwxzy75dy9an9czkbp9p049";
 "babel-hungarian.doc-1.5c"="czi272jfp95lckd97gkq46lrvz3r63wl";
-"babel-icelandic-1.2b"="bv8jkqsb9ikbk4g861n0hn00j7dh87kw";
-"babel-icelandic.doc-1.2b"="b2pxcd5sczr0a3a8ww2rjfyw3r1783jc";
-"babel-icelandic.source-1.2b"="37xz4jan0xjrz8aj2sci17x8m8h8f613";
+"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";
@@ -2023,9 +2066,9 @@
 "babel-latvian-2.0b"="7m0a5mr8mwxn3hm88ky0nrv88vzqrfsd";
 "babel-latvian.doc-2.0b"="b5zrhmss194cr40s38rmdh58l7y7zp9k";
 "babel-latvian.source-2.0b"="4k79lcf0rafnkk0qzz4qj15wg3hh46j1";
-"babel-macedonian-2018"="y443c0n5dygb6pf923kwj4fv8y991gg7";
-"babel-macedonian.doc-2018"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
-"babel-macedonian.source-2018"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
+"babel-macedonian-2019"="y443c0n5dygb6pf923kwj4fv8y991gg7";
+"babel-macedonian.doc-2019"="gk8d4ijhz5dhnlv9jdc6v48fm9zfcai6";
+"babel-macedonian.source-2019"="jfr605jrv1sywgpkhi05v6n6s96vfyq2";
 "babel-norsk-2.0i"="3a2xqwwyj2pv7ndgaxk11wvb7qanc9qk";
 "babel-norsk.doc-2.0i"="dhi39fgchh0ll1hl2si5qgygi2qsg8bj";
 "babel-norsk.source-2.0i"="qyx1rcxw0zghnc8wrh94yr9i5jkh142k";
@@ -2038,9 +2081,9 @@
 "babel-romanian-1.2l"="76cg7sfsq7lg72c4lqfinv3gjpbwpvri";
 "babel-romanian.doc-1.2l"="5i46fii2472x7ka1xxng45s7n0rgl2s9";
 "babel-romanian.source-1.2l"="pm44w7529qaa4s9n7jyc33qwsfj6vwsb";
-"babel-romansh-2018"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
-"babel-romansh.doc-2018"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
-"babel-romansh.source-2018"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
+"babel-romansh-2019"="2k6ik89i06j3l29bl8yp7dbm79qgzcb3";
+"babel-romansh.doc-2019"="risjnmxysc7r7va4f3mapz7kvxi01xc9";
+"babel-romansh.source-2019"="hnlwwjxzrv9fsanajh23pr8wirlp87gh";
 "babel-samin-1.0c"="2vg2wrjl0pllgbppkx4bcykcjil8driw";
 "babel-samin.doc-1.0c"="k69nnc0vsw2xhrkqilhqzqv9v4h5fy99";
 "babel-samin.source-1.0c"="p7ywdk038cryll8rr2sy8d8m4qb09k5l";
@@ -2053,13 +2096,13 @@
 "babel-swedish-2.3d"="06670d5rm2abf8j7pfm7n6qfapkqnx51";
 "babel-swedish.doc-2.3d"="qi68h0m500mm2lhd5gcns8wkdzwj4vz9";
 "babel-swedish.source-2.3d"="i268zav90a89qacmf2s2dlchag0qby4d";
-"babel-turkish-1.3b"="2bxzkr4ybbjxq47y5a6jnwd9pifh1jk5";
-"babel-turkish.doc-1.3b"="s2a0g0qylhnmlln8l78m49avx9f4g6hi";
-"babel-turkish.source-1.3b"="nz74yb3dky7sg5vss27hw3zb085lvdsj";
+"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-2018"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
+"finbib-2019"="aja1ihjvva3aa86xi1f8d563xvlcj5mb";
 "gloss-occitan-0.1"="sha467dmibkfwwdnwrq5da744vfz3p5g";
 "gloss-occitan.doc-0.1"="8wfn7as272hvm7nxz0i5m48bf94b5m0z";
 "gloss-occitan.source-0.1"="qv9zd6r6rmjbfsndm7qgsz7x6xkr14ms";
@@ -2069,55 +2112,56 @@
 "hulipsum-1.0"="8pqz5vilzli6in81d604dnkz9024i5s7";
 "hulipsum.doc-1.0"="3sqiw98n02kg8752hzv7vp1r5xysrw0m";
 "hulipsum.source-1.0"="dv9wyvy9cbkvjlc9awaz0mv4vaanz7jn";
-"hyphen-croatian-2018"="cv7bf6sm1aaj5va52r2n3gi0m6127sx0";
-"hyphen-danish-2018"="mnd2pqh630n9pmqsxsi4bxp6gn2jgy59";
-"hyphen-dutch-1.1"="jf1ss3824k3w80c1zy03lp204nzg5afp";
-"hyphen-estonian-2018"="790qsjs836gim3w5ryf6v31d2lnv78d8";
-"hyphen-finnish-2018"="j426pqkdkgnsn7kmg690sy9x32d25z8f";
-"hyphen-friulan-2018"="vb22wrkdv5nfj4hh3gv0j00fgjyzlwq1";
-"hyphen-hungarian-2018"="8n2l8ddpncgpah6hzdkns9x31glbn621";
-"hyphen-hungarian.doc-2018"="a9fpid878wd5s3qadgxg8acv6jwl86ca";
-"hyphen-icelandic-2018"="9d6gvj8k6cr89rq47az2lbwk631za6gr";
-"hyphen-irish-2018"="rd6cy170pr6ispdk6rlxfzibgxzk8n90";
-"hyphen-kurmanji-2018"="rqg9vsvhmpv2lx62z0v4vwp83md9xkfr";
-"hyphen-latin-3.1"="ilnki1hk37xcl4r44lhv2yq9nyakjdfa";
-"hyphen-latvian-2018"="sgq37gysmsi1a5r29vkj0yhj07sil3qr";
-"hyphen-lithuanian-2018"="c728l2cfxbhmmh8mi1mzcdp9baz3x84s";
-"hyphen-norwegian-2018"="hg4bsjj9v9i7gfw2ap6dp2jqn3bld2nx";
-"hyphen-occitan-2018"="m4zjqhvif2j8bh58jghr6qkhk3pkmmaj";
-"hyphen-piedmontese-2018"="7ad1ssibvx0id9vdgpwhrfk1fg3v3k47";
-"hyphen-romanian-2018"="9r34526d2yzzdimr8mb9nsb5qx60py90";
-"hyphen-romansh-2018"="6k24acyjc6yww9bx16cjrf3ym9q5qp62";
-"hyphen-slovenian-2018"="5b48hgm26fi8x0bw0bbaw05h5fi5gx5n";
-"hyphen-swedish-2018"="jhymhvp3ksiy1hdgl7iq3kgd7yqwfz57";
-"hyphen-turkish-2018"="df22cqlj10asl71zvvffsc6kyx1p08ff";
-"hyphen-turkish.source-2018"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
-"hyphen-uppersorbian-2018"="bzh2qk7k16cxkdh4p7r09q5089pzb9g3";
-"hyphen-welsh-2018"="dcnvrs3cxy4yww468qh7rlx9b1ahy1i0";
-"lithuanian-2018"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
-"lithuanian.doc-2018"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
+"hyphen-croatian-2019"="grzf0vvrgp4cfvpq5imffv2259zrq6q6";
+"hyphen-danish-2019"="bdxvb9sjzmqg09464c6327wp49kq086p";
+"hyphen-dutch-1.1"="crz45cdpi6y367jp8i7g9yb5318m3a84";
+"hyphen-estonian-2019"="vxwsi96l9zw99fp6gdfnhyd7nhb2y1q3";
+"hyphen-finnish-2019"="dnyiqmsprb3z7wsw0mld6vg3bgm0gd9v";
+"hyphen-friulan-2019"="saqhzx3finwlkmhxj00145r4p81q4xdx";
+"hyphen-hungarian-2019"="si4gj1fvnw344fic5zga5rniqfg30ah2";
+"hyphen-hungarian.doc-2019"="ycdkj87kpnvaxc5szx0vcacy8rg6i7lj";
+"hyphen-icelandic-2019"="lfzhj0drdf7hw65agf505512qrd1w3kx";
+"hyphen-irish-2019"="h5gqkzicgidjgfbf5cmbbjlpprwwz2lf";
+"hyphen-kurmanji-2019"="pvl2dm38dkdixpng1vxmxnm1nnhkzd93";
+"hyphen-latin-3.1"="7hd8jab460zw2kz5x22zg419jd7pkph3";
+"hyphen-latvian-2019"="6aa8sn34wfb9zdn73ksc828wia123rm7";
+"hyphen-lithuanian-2019"="4rb6hpipx7cazglf9lzbfc2n5nfrjymm";
+"hyphen-norwegian-2019"="lb2drbj64qpikapvajfhsk8z06gjn0wz";
+"hyphen-occitan-2019"="1zf4mf08zwr170rd6p28r4p8vad5rwyc";
+"hyphen-piedmontese-2019"="34ibkb5fq0qdmn8nr85mv626387303lw";
+"hyphen-romanian-2019"="vlyvfwvfrfj51kriz2z26my886ab9l8x";
+"hyphen-romansh-2019"="alahn7f907i3pg5hhzib4j50vqxhvxn3";
+"hyphen-slovenian-2019"="cf4gm595n5q68ibz0jzk9sdsv1wngml1";
+"hyphen-swedish-2019"="rkdlzsd4vnl8080gcfwsa89q8yg6jhmj";
+"hyphen-turkish-2019"="93zyzrjw297abia8r4rnsmr4hfdhr0qa";
+"hyphen-turkish.source-2019"="4xv9azgkq91m4afsp9kvsq0f9ajxqfvl";
+"hyphen-uppersorbian-2019"="ix9j2rzdwp3j1xr45yzy747g3iw9ws58";
+"hyphen-welsh-2019"="r3d6rd54889fd0n1gm67lmkqblf6jrcl";
+"lithuanian-2019"="p7vd2rv8md0a1gnyd9jj1ill09dfxmk1";
+"lithuanian.doc-2019"="x4nf13nhkbrn2cnn9gi06zavch8hjr4r";
 "lshort-dutch.doc-1.3"="rswbmzd9fkb0bwbc054pb0raa8zv2lfx";
 "lshort-estonian.doc-5.05"="2xqk5n14f2lizqdisir199mark4y5v2k";
-"lshort-finnish.doc-2018"="5jp8rkaw7qvrv8mpdnbmhg0m53566n8c";
+"lshort-finnish.doc-2019"="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";
-"swebib-2018"="5z0719m62712flc3ylrnp5223gbsk98n";
-"swebib.doc-2018"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
+"swebib-2019"="5z0719m62712flc3ylrnp5223gbsk98n";
+"swebib.doc-2019"="m23nfcdd5ddlgicd8hzlyfnr042y3bjp";
 "turkmen-0.2"="r8ryr694sxginv96wy2ibwg7mjwckmy0";
 "turkmen.doc-0.2"="ry7di8dm2nk9gbylnm58zrmlpilbch55";
 "turkmen.source-0.2"="jab2389x3cj6hhg0imkfbjcglclqap2s";
-"aeguill-2018"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
-"aeguill.doc-2018"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
+"aeguill-2019"="2qlipazg1v8pj58aym9zwqqzfvprw29f";
+"aeguill.doc-2019"="q4gvvin01hkwmcc2llrkd61pr6dsmwp8";
+"apprendre-a-programmer-en-tex.doc-2019"="ra7bkghkmm4cl88fi1vn3rf9yy1kzya9";
 "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.5d"="qc7286jpsvi2h7ddckwwqc9gsql6wsnz";
-"babel-french.doc-3.5d"="ybzzhqykpwndzan12j0w30bpfwawsn04";
-"babel-french.source-3.5d"="rdwzmnx7z8ral5v2d9l3ipc20ci1dk63";
+"babel-french-3.5f"="0ppxkaqkqmm37n1m7q34fnjjhdb2s3sr";
+"babel-french.doc-3.5f"="gn6cbcp59q2f4xjls8sc4b81d9l85can";
+"babel-french.source-3.5f"="dv9ryaq0sppxgmd33pyp47g07hb08m7r";
 "basque-book-1.20"="6gmya3w1jnv20p9zyn3b8b095csb45cj";
 "basque-book.doc-1.20"="njw9j7s7mlx35ckjg0z404fizyxpn74n";
 "basque-book.source-1.20"="wydda9ij2ibwnhd8b0pg48bf2f1g969f";
@@ -2132,29 +2176,28 @@
 "booktabs-fr.doc-1.00"="8nmky9zjr4s9s8kikir9l4w6y69yk1vr";
 "droit-fr-1.2"="kqd2m29if8y21y5l72z5k0f6dafm95sj";
 "droit-fr.doc-1.2"="ss2xw9f26frzv9m2xvwbmvgagdhabc69";
-"e-french-6.02"="pmygb69ikswsllkszbzp04dkvpip6941";
-"e-french.doc-6.02"="x22dp2kzcwfyla8ccbc5jkwrjnkjjvl5";
-"epslatex-fr.doc-2018"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
+"e-french-6.11"="y1yab7pd915kbnwi20zair37a9haf2is";
+"e-french.doc-6.11"="9dcj407a8vn2j4h3q54s2wrbj5fiawm1";
+"epslatex-fr.doc-2019"="7kqdhx5drijbah1yl3vrwax3cnxg5zdk";
 "facture-1.2.2"="ys1fq6vkml8gnfc6bjkx2lkbdw2w0fsn";
 "facture.doc-1.2.2"="ij99my45fi9m1lcc79rj6kyxggmv4v3r";
 "facture.source-1.2.2"="aywgffiyigrwxv9lipf7a131mycjp839";
-"formation-latex-ul.doc-2016.11-3"="rs68mnwbwwgn4gs8z4w8cr3w04indrf4";
-"formation-latex-ul.source-2016.11-3"="lrk1fnmfi50ihqr6bi5s3896qf0gqvr0";
-"frenchmath-1.0"="99qkcra80s4f4fpp8fvx21g1mpk76q5b";
-"frenchmath.doc-1.0"="9maricfk62l53flwkn2d9a08z90p100y";
-"frenchmath.source-1.0"="7ir1lmpn3abcp4lmvgzyd1zykdlaldhn";
-"frletter-2018"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
-"frletter.doc-2018"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
-"guide-latex-fr.doc-3.0"="r5r8pyq8xg018jzvg9nkf6g3isdfkdv6";
-"hyphen-basque-2018"="r4q14zb56w7sw8nq39l72xd5x5cmb21m";
-"hyphen-basque.source-2018"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
-"hyphen-french-2018"="4bvmaxyym4n756qjfsk7mnqkcxp64pb2";
-"impatient-fr.doc-2018"="sjzbiaxr5cvnqxn7bylr5zhrkq46l1v8";
-"impnattypo-1.4"="yi9xrsbs2crfwwjjgnxg0sybn8ygjr32";
-"impnattypo.doc-1.4"="cai1yyf5ipgjips10l1nsid8dz09kvg8";
-"impnattypo.source-1.4"="r7n5sihj35zm708k6cxs4xs71gz4msvn";
+"formation-latex-ul.doc-2019.03"="i0f7ij9m4h02vxd21hs3iw7m23qlgjii";
+"formation-latex-ul.source-2019.03"="3g9v9qrcjkd5dms6aa3zdlr7q0sy572b";
+"frenchmath-1.4"="nvxiiich6w76xzsn9a73sg6d9gl79klb";
+"frenchmath.doc-1.4"="h6h3ywj67r11ljpy6passw07jm8v7zp4";
+"frenchmath.source-1.4"="ansrjlrbxv1ph59ngvr3p53bw04j9cnd";
+"frletter-2019"="4vqb93fvw2jmyxv1f269f6icnk4wbwpl";
+"frletter.doc-2019"="pg2pg5gsjpp0iyzapm6k1m4p95fkbi4h";
+"hyphen-basque-2019"="w1l71iknyndr7smz1yv35asm8wgzfzqn";
+"hyphen-basque.source-2019"="vq3bxdrcsgdmiqfjxfcy9w5jihxf78qf";
+"hyphen-french-2019"="if688jvpcwzcig5qfm1scj4spqkazga6";
+"impatient-fr.doc-2019"="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-2018"="0n3q8gzd8xjhl92yyq2526sjsgl3jhid";
+"latex2e-help-texinfo-fr.doc-2019"="0n3q8gzd8xjhl92yyq2526sjsgl3jhid";
 "lshort-french.doc-5.01fr-0"="33vkjmz23zk2jrzyw99zri58jm0cpxax";
 "mafr-1.0"="vl6jgzlqqyn70cndvj91nnkmcxas15j8";
 "mafr.doc-1.0"="v44yahqn2gnnfbnf1ayqr96va6y49aij";
@@ -2164,16 +2207,16 @@
 "tdsfrmath-1.3"="5nz3qrfq13xyhabzww6092mb13014rhj";
 "tdsfrmath.doc-1.3"="8nnvlh3hw79z3k6c6vsvgnvkq814ldsv";
 "tdsfrmath.source-1.3"="3hfid9ih338p675pz6440f3ds5r3s646";
-"texlive-fr.doc-2018"="j8zcjpxz4nwsbnzfrwfk1icpb8mawhdr";
-"translation-array-fr.doc-2018"="yia92yfpyrwv26vh12kks8arbsda05z4";
-"translation-dcolumn-fr.doc-2018"="acapy2zx06rsxwg810avmphyjjxca6gi";
-"translation-natbib-fr.doc-2018"="8yvcb3s928s5lldgy65idpfw23pb46z2";
-"translation-tabbing-fr.doc-2018"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
+"texlive-fr.doc-2019"="aj8pzb3xfjzrwycxfchsihm726bid2kv";
+"translation-array-fr.doc-2019"="yia92yfpyrwv26vh12kks8arbsda05z4";
+"translation-dcolumn-fr.doc-2019"="acapy2zx06rsxwg810avmphyjjxca6gi";
+"translation-natbib-fr.doc-2019"="8yvcb3s928s5lldgy65idpfw23pb46z2";
+"translation-tabbing-fr.doc-2019"="64ix6i3bvaniiw7xj42bhqqmzv474lfy";
 "variations-0.3"="md5bnc4jaiva00gkdjyd63x67hyd09si";
 "variations.doc-0.3"="pxbpjpnsfz728czc4pjfy2nfr88dzmr8";
 "visualtikz.doc-0.65"="2rc26mlib7xnlpgc2l82ky4fcpyv7013";
-"apalike-german-2018"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
-"apalike-german.doc-2018"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
+"apalike-german-2019"="hyclqnv85va4qmrr89zz8fhsfyqkqx3z";
+"apalike-german.doc-2019"="gqfzgv3kxzskvw0j6n23vsrs8b70vavv";
 "babel-german-2.11"="8y70chxahg5anippladkwlh4aj94hpa7";
 "babel-german.doc-2.11"="zrlg0a334h7v2j66llw25977klr1az6k";
 "babel-german.source-2.11"="igzl8plqhs6fhs8zgfhanzsz49acbr4n";
@@ -2181,13 +2224,13 @@
 "bibleref-german.doc-1.0a"="yc6vn69gsdsl3vxhg6klip8m6wkffyy0";
 "booktabs-de.doc-1.61803"="wcz4xqg22sijz3rczwk6nfnb0pk074ih";
 "csquotes-de.doc-1.01"="bksp4f2zywwkv5qw4njincxbpgcvz7dg";
-"dehyph-exptl-0.5"="hra8cm76i1iz138sghrapbfw04xcng64";
-"dehyph-exptl.doc-0.5"="451h6rzy02p5fy97ms90h8gbz6kzvh6w";
+"dehyph-exptl-0.6"="ssjjz287qzi9bh4l9mfchx64qwd547ly";
+"dehyph-exptl.doc-0.6"="ggw931bx7r04hxp7dmlrl3gjfxfr0gi4";
 "dhua-0.11"="4n8cvm61marrsbxd7308xw089j0q2wlj";
 "dhua.doc-0.11"="kisr6kymm9v5kk9nfxi0ckdf6k8mhr91";
 "dhua.source-0.11"="a9ap1rwrqqwh394c6hjqx5nlw070iwp6";
-"einfuehrung.doc-2018"="x668r5llhw28bqdr3k32yynf3720bdna";
-"einfuehrung2.doc-2018"="mwzp79i9w8ci8dxpnk4z4k6l9akj1qf8";
+"einfuehrung.doc-2019"="x668r5llhw28bqdr3k32yynf3720bdna";
+"einfuehrung2.doc-2019"="mwzp79i9w8ci8dxpnk4z4k6l9akj1qf8";
 "etdipa.doc-2.6"="cid5wjvbs4hl5lwczp1s1wbdwxfwr24n";
 "etoolbox-de.doc-1"="z53x50c71bvipgvgklp42n1yb50fq8gx";
 "fifinddo-info.doc-1.1b"="d7l7nsb4aj2b7nin8whkif0m5pcv11py";
@@ -2196,45 +2239,45 @@
 "german-2.5e"="mwin3zb743v74c97aizyiy86zj1pmdi2";
 "german.doc-2.5e"="invdh78rq8chiirzdlvijssdah8hsyk2";
 "german.source-2.5e"="zs1qxbd8r3bfyq77vaak9srxjxxn213v";
-"germbib-2018"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
-"germbib.doc-2018"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
+"germbib-2019"="g11ayb7d5hj8s77kn9zvkvgfhdb0f4nf";
+"germbib.doc-2019"="vskc1hanqpmdm6p0v2np2slblpy8cf70";
 "germkorr-1.0"="szywjh1bj2jqc6zqs5d1y1dwxq9h8540";
 "germkorr.doc-1.0"="bycbcbfrqs1r8l939kdm9f6s395rc5fh";
-"hausarbeit-jura-1.5"="0pifqdiq22zs94z9ywfdirgljp11a2g8";
-"hausarbeit-jura.doc-1.5"="9vvkmp35qa1ygwj0isib5wsf12nnfs4f";
-"hausarbeit-jura.source-1.5"="zc6g0yd997syp0j8dlkbzkvk29syph7b";
-"hyphen-german-2018"="f0bb4ql01d63szv22w4d2s9yjj5v0gnp";
-"koma-script-examples.doc-2018"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
+"hausarbeit-jura-2.0"="aismjxs0dxac6lvwfink46aci9lwvv78";
+"hausarbeit-jura.doc-2.0"="qg3sx0a4l44hx56v4gs7y3vlmmlsg5xg";
+"hausarbeit-jura.source-2.0"="pj7cdl7rgwwlry37pkhm1l9k5c1wvynz";
+"hyphen-german-2019"="rk2xjqr0iq16694zjjgggmsz53a2z591";
+"koma-script-examples.doc-2019"="rzy2nsllyfdm00lrllk3k8i8yxgvppfk";
 "l2picfaq.doc-1.50"="35c7cwi94qazkf5351kj5hl58xil9nms";
 "l2tabu.doc-2.4"="4sab9w752r7xr6l9a6sxig4q0sdfvfxr";
-"latex-bib-ex.doc-2018"="51d5jw2dmp9rvy8bqxzw6clls5aqi189";
-"latex-bib2-ex.doc-2018"="rggjiidvpwxfd978rkmkwmg70w7amnpi";
+"latex-bib-ex.doc-2019"="51d5jw2dmp9rvy8bqxzw6clls5aqi189";
+"latex-bib2-ex.doc-2019"="rggjiidvpwxfd978rkmkwmg70w7amnpi";
 "latex-referenz.doc-2"="463iyb1dhx6kdsqqb4crgdh0xgmrckpp";
-"latex-tabellen.doc-2018"="9y8yqyrkv49pj1v58nmf5qyibyphnias";
-"latexcheat-de.doc-2018"="fjpnrnl8fkv5lnvhg6rmijic0k2yshrf";
+"latex-tabellen.doc-2019"="9y8yqyrkv49pj1v58nmf5qyibyphnias";
+"latexcheat-de.doc-2019"="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";
-"presentations.doc-2018"="rczfpy5ayw0h07xlqhw4k2isp080g2ar";
+"presentations.doc-2019"="rczfpy5ayw0h07xlqhw4k2isp080g2ar";
 "r_und_s-1.3i"="8vn7cjc42dvny30pkgp768yy87z9d2b8";
 "r_und_s.doc-1.3i"="pk63m1jl1yzz2xqiwynpph3nrlri1hkl";
-"templates-fenn.doc-2018"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
-"templates-sommer.doc-2018"="6n6saza6xd8mjys1ckfy0362sdya4616";
+"templates-fenn.doc-2019"="yy9rn7m9r0paxvya3icnbqwccpjkkbij";
+"templates-sommer.doc-2019"="6n6saza6xd8mjys1ckfy0362sdya4616";
 "termcal-de-2.0"="pql7q4dqaqgg0arqgg7l8iz4hwxrxd7x";
 "termcal-de.doc-2.0"="fpjnpzi59rrqg44j513w4d6f9cqi7ik0";
 "termcal-de.source-2.0"="myc9fjxig0z3dirj1brla1q70ryrczrr";
-"texlive-de.doc-2018"="5xnd0gii9rd1z09xwkc884s73ycc6mpj";
+"texlive-de.doc-2019"="6h0bib93hy99z40gbmr5vgacwkyxs5df";
 "tipa-de.doc-1.3"="aa0msh91ynxxigmbxwy72i05g095fwxg";
-"translation-arsclassica-de.doc-2018"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
+"translation-arsclassica-de.doc-2019"="xayn50bvfkyf5fh93426fg2m6mmvpdwc";
 "translation-biblatex-de.doc-3.0"="0wan8bpq95jpa0bsx79hfhi9882vbrr3";
-"translation-chemsym-de.doc-2018"="khd057lr5p42wqz3p6n58d2z25jdknrp";
-"translation-ecv-de.doc-2018"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
-"translation-enumitem-de.doc-2018"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
-"translation-europecv-de.doc-2018"="541qkhphqn2f3bba6prrf2npqxl022ah";
-"translation-filecontents-de.doc-2018"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
-"translation-moreverb-de.doc-2018"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
+"translation-chemsym-de.doc-2019"="khd057lr5p42wqz3p6n58d2z25jdknrp";
+"translation-ecv-de.doc-2019"="7yrn8n7071yasf0lpswz8dis0vkjg33g";
+"translation-enumitem-de.doc-2019"="8c46h1y6mpz736w2nh01jkh96n0ar2jx";
+"translation-europecv-de.doc-2019"="541qkhphqn2f3bba6prrf2npqxl022ah";
+"translation-filecontents-de.doc-2019"="9c59fnc6krcsswc3hsd4aimzfvycqp59";
+"translation-moreverb-de.doc-2019"="1j0hyf240k1q27li0dnnw0cs4mi2j86w";
 "udesoftec-1.6.2"="wr18qlcg3fmqhfh9sji9qzxg4m3jn9fb";
 "udesoftec.doc-1.6.2"="snycjxc23rmgkdydpxjyqkzvq8qkklq3";
 "udesoftec.source-1.6.2"="b9y4rrqycqayx419ck7ni9y5fvhbjymz";
@@ -2244,9 +2287,9 @@
 "umlaute.doc-2.1"="hkjv5ym6954i5l2qxv3jm3p1prbn55h9";
 "umlaute.source-2.1"="p6217bas6hm8kksip8jkb2bhdpa9p91w";
 "voss-mathcol.doc-0.1"="f15dshkczyv9r9a6vzps3ls1cz95sk8v";
-"babel-greek-1.9g"="bm4k91lz9a1pfnl4jpn04idl2c08lyd0";
-"babel-greek.doc-1.9g"="y7jwlw980gigm0n059d2xsq1f93v2h9k";
-"babel-greek.source-1.9g"="qm52xxg59kdwbn680zrr9qdziagr69jk";
+"babel-greek-1.9h"="jpp35w9yqg8hza1hc4m5mrf2l9vm9v3c";
+"babel-greek.doc-1.9h"="xphz8d4rvcmxx9iwj0mz70xgyh7kpgm4";
+"babel-greek.source-1.9h"="w3ykv1fis8rxkyq501lmrisb7bmr5qlq";
 "begingreek-1.5"="7v94fdb2kxzwgvcsjfd5gnqpjhsrgp9i";
 "begingreek.doc-1.5"="rgiglmyfkxghz1w9g67lyx28rvk2bwgc";
 "begingreek.source-1.5"="jscz6nq9n7aq1l3j86xyvki200ja40p5";
@@ -2258,31 +2301,31 @@
 "gfsbaskerville.doc-1.0"="7sx91lqgpn4w4xgbdbpsk41i5mxixqf2";
 "gfsporson-1.01"="k6gimiba8zfbnf4wc4zjrmwwc7ggnxkg";
 "gfsporson.doc-1.01"="6i47g0k5ys9q394g6q0a3686q4h75gz3";
-"greek-fontenc-0.13.2"="2hc7j372kndq25ygcbyp0d18wmvsdkcl";
-"greek-fontenc.doc-0.13.2"="5mid6q0ffbj3fdnsy4477wbcj2jxcmmz";
-"greek-inputenc-1.6"="nn3hvxmpgpr5jhj5l90dhl2c5lxg7q24";
-"greek-inputenc.doc-1.6"="16qrcffmf30w69vrgjd8ahdnhvap4nri";
+"greek-fontenc-0.13.4"="9hvk62x7gyl6r4m0ndzj3as3hxjf193a";
+"greek-fontenc.doc-0.13.4"="mc5jx7gysvhk5kygzga6vcmmm0kl7hjr";
+"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-2018"="zmms6d4vix6nzw6jc06iir73wj9swvir";
-"greektex.doc-2018"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
-"greektonoi-2018"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
-"greektonoi.doc-2018"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
-"hyphen-ancientgreek-2018"="ka83ajw227cj0qyp8dwib7xbzs6cclwg";
-"hyphen-greek-5"="l4fimplgxjkk90xw4kyghdgidgar6149";
+"greektex-2019"="zmms6d4vix6nzw6jc06iir73wj9swvir";
+"greektex.doc-2019"="p5f90xphw0ck7p6iw2gz6anki05v2b9y";
+"greektonoi-2019"="agnjlz6cdb3figh8g8kfnqah4ppzqqci";
+"greektonoi.doc-2019"="8mh04p3y9jizn5zdm63vr50nzk0rjcyv";
+"hyphen-ancientgreek-2019"="ylhxgwgkrwrrmyl45gy4szngqmgnjmwq";
+"hyphen-greek-5"="s5j9z3lw4dgd6kb1nxay76jh143mpips";
 "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-2018"="ydv39ycvib03pkw5pvvnv6mjyvrij0rc";
-"kerkis.doc-2018"="admp7blm0nd44qcnqqxd0bpwxskz7dqm";
-"levy-2018"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
-"levy.doc-2018"="y92455xr0yq62ppxd650vvxaknkb5qym";
-"lgreek-2018"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
-"lgreek.doc-2018"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
+"kerkis-2019"="ydv39ycvib03pkw5pvvnv6mjyvrij0rc";
+"kerkis.doc-2019"="admp7blm0nd44qcnqqxd0bpwxskz7dqm";
+"levy-2019"="isfhykz3fkajjygnpl7psd2n9n9lzfwy";
+"levy.doc-2019"="y92455xr0yq62ppxd650vvxaknkb5qym";
+"lgreek-2019"="64pdy6vj1q7sg23xg31pw0mfznahcvzw";
+"lgreek.doc-2019"="iwa1xfg3sawwblifpgkc3na1r3hld02r";
 "mkgrkindex-2.0"="v5hb36lspx6xyzzpm8ryprr7mwwpcrm5";
 "mkgrkindex.doc-2.0"="mfpkm8mm8n0nqhzgnm70yjy16lzjvvhd";
 "teubner-4.8"="7h0mh95kwrp8l3im9fq4m4my65hxcwpd";
@@ -2291,25 +2334,25 @@
 "xgreek-3.0.1"="742vxyljmp433rk26ap2rjqbfd7802ys";
 "xgreek.doc-3.0.1"="qdgh9jnqimis40pf5gj383j01ynx4cqb";
 "xgreek.source-3.0.1"="33imiba9m0sxmjxilflqzsysgr7vdv1q";
-"yannisgr-2018"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
-"yannisgr.doc-2018"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
-"amsldoc-it.doc-2018"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
-"amsmath-it.doc-2018"="mrz7iav2jpify9h3vz703x863km3vb9r";
-"amsthdoc-it.doc-2018"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
+"yannisgr-2019"="0pjpl0qghjh6qdgy7snalxyxw6ca6cwk";
+"yannisgr.doc-2019"="jx7mj6aw24ff9k4qcr51kdlk7xwpiflc";
+"amsldoc-it.doc-2019"="3xqg4bjhsk0r27g7absrq84nwy6zy265";
+"amsmath-it.doc-2019"="mrz7iav2jpify9h3vz703x863km3vb9r";
+"amsthdoc-it.doc-2019"="bpi907wji0gimbc22s86vg3fwv6fkpsq";
 "babel-italian-1.4.01"="06yw3wwnbx72006dxyr7lcym51qxnsdv";
 "babel-italian.doc-1.4.01"="45s0vhvdr1ji95jf9ryvyxpgixcb9q3m";
 "babel-italian.source-1.4.01"="milncc712c5mh0lmpvvap7bzc4rbniln";
 "codicefiscaleitaliano-1.2"="gqzlc6agkwysk75lzdxbkz4azawzyrjh";
 "codicefiscaleitaliano.doc-1.2"="c7spaihgf2fdimihsg5cf7xn5bczkw97";
 "codicefiscaleitaliano.source-1.2"="vxi0halq6yx9gwd0vkcmjx6am7dnjjg1";
-"fancyhdr-it.doc-2018"="nl2xsg3mppyni8ns9zij452dkkw4ayj0";
+"fancyhdr-it.doc-2019"="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"="jxawdbihs3j2pypzkd73qj2ax7lkpk0w";
+"hyphen-italian-4.8g"="scvfw1wwqf0d6iln142b6k057n3x6740";
 "itnumpar-1.0"="39ydhr855c2sb1xwfd12v61pphzmbc7g";
 "itnumpar.doc-1.0"="2qdpfrsffqfqvd42nn8yhicp8p3vvzk5";
 "itnumpar.source-1.0"="xd2bbq62fn23gbii6147m3n1c16pcgjb";
@@ -2318,110 +2361,118 @@
 "layaureo-0.2"="7qqhm139n1afxdpsmikzdyn7pn09hv9x";
 "layaureo.doc-0.2"="pf22ypfazq7hwxpfiidcvkd24zs1gys3";
 "layaureo.source-0.2"="3q0ixl7rw7sz7n2bfd8gyfnglfcq2hcs";
-"lshort-italian.doc-2018"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
-"psfrag-italian.doc-2018"="xb8qlcz7f0za963yybhjvbyjq37z516f";
-"texlive-it.doc-2018"="kdjyd81g1ihnswgja038hywk1hi8q987";
+"lshort-italian.doc-2019"="n79a6mw3xc3ar3adan0l1xpr4xg8wrid";
+"psfrag-italian.doc-2019"="xb8qlcz7f0za963yybhjvbyjq37z516f";
+"texlive-it.doc-2019"="nsbjkzxjwlrbbrciv2qdy6lrfn4ddk66";
 "ascmac-2.0h"="vg8n2gvl9s08xkmhj2jf617fc18b3mzw";
 "ascmac.doc-2.0h"="xi9mjz1aip4x366d3dj71x7bjsznbxk3";
 "ascmac.source-2.0h"="7v01dn2p724l7qh0xhqi7gflxrrcd561";
-"babel-japanese-2.1"="jvwjzk00mbywd64cjgchn58lcvvdm2lz";
-"babel-japanese.doc-2.1"="xy5s8j84q60va5jm7b39lmncjrxyr4c1";
-"babel-japanese.source-2.1"="mi0ahdg238r2ra2l91vp4wpfad32ahsa";
+"babel-japanese-2.2"="s8sj89mjl5fxb2cr87qn9ix0fyy7if6m";
+"babel-japanese.doc-2.2"="rxwigd9cjla62cw4sgg3j4wvz9f0q8gr";
+"babel-japanese.source-2.2"="01qb909xr4k1kcjk8dz2dpiqwfx5awdx";
 "bxbase-1.1"="9qcjdyngscll1bkc1g0i9d50hjrvnbjv";
 "bxbase.doc-1.1"="icyayz4cr8p3zgbby8zaypclximpiyqf";
 "bxcjkjatype-0.3"="94n8gv2433510cq05vl97zrna0gyya1z";
 "bxcjkjatype.doc-0.3"="z6rarps2vgxp061w0q8amki68j51yqlx";
+"bxghost-0.2.0"="b0lc2wxk3fvsfrg2xg602bz6vi7igdrw";
+"bxghost.doc-0.2.0"="f8wg3ynqd7gpkiym9v6yr9q5fafxk81w";
 "bxjaholiday-1.0.0"="w9mdw9zrcrrf988z2vd314bn0dqr4pd0";
 "bxjaholiday.doc-1.0.0"="yq903l1in5hwp20wj9i2kz4qmx3y0aqs";
 "bxjalipsum-0.3a"="d6svafibkkjc5p3hjzrc8ibb2fwmm05c";
 "bxjalipsum.doc-0.3a"="srwc07mapyqn9hq6hy26gxaj6khy9ffh";
 "bxjaprnind-0.3b"="8pfq18sbkvqzb2may5j4n8xadgjb8a9l";
 "bxjaprnind.doc-0.3b"="1vsxn97w48hn05il79byfms5w6749xpc";
-"bxjscls-1.9e"="6ws4zprnk4jdi02bb0f40b8qbz3ykqr8";
-"bxjscls.doc-1.9e"="nr7swpkkaiz9rhiqfjj29nnpngqz4zqa";
-"bxjscls.source-1.9e"="6jvf86zk4phf8zss6chmxmd3sn387w82";
+"bxjscls-1.9h"="mbijcs5l9pp7yrgxyp6bdm76311j4mg7";
+"bxjscls.doc-1.9h"="ad3ghzb8yk72vb12kkknkxwdwpsdydjg";
+"bxjscls.source-1.9h"="9wnggpzky4wb4xrq1nays7id0ipp4c65";
 "bxorigcapt-0.3"="lbrfjjqsjm4n5b7byyrhm1akbmxxap6d";
 "bxorigcapt.doc-0.3"="grspvjmbrcjq91wgi6l3a73y5l7nnl4m";
-"bxwareki-0.4"="i2zkcwihsvwra68ra3hjqsx7jg8ynp2m";
-"bxwareki.doc-0.4"="bn75wzf1sy873x6i6ndwhn1lg69j107l";
+"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";
-"gentombow-2018"="pan1qvldiba5ah4y8xpkqssdj2z91iy3";
-"gentombow.doc-2018"="9xd7idfwygrhzav3pmhpx4hiqndyc7qc";
+"gentombow-2019"="zw6yd6x0kz3kv5s46ka0f27vyib714jn";
+"gentombow.doc-2019"="qpxjmhszws8x3zk749dj0dakqv6qskhk";
+"gentombow.source-2019"="wccfbmzqqpls622zq1xlqybl7vkyjryg";
 "ifptex-1.2c"="g067kqkal711mapnw2lfqspj557ddr9j";
 "ifptex.doc-1.2c"="x22bmp95nh3g718b8b9ls535vv1nkzck";
 "ifxptex-0.2"="db7waqqfn8nrn8b3z4dh7dy846f2zxad";
 "ifxptex.doc-0.2"="y1039vpyrh9k2dyi1xws45a1gj3b6dv1";
-"ipaex-2018"="ib3p210rjr3h73257p7swchy3w1in5bh";
-"ipaex.doc-2018"="1rvvg102vks3ai8pf8yykckd3c9jhmz1";
-"japanese-otf-1.7b7"="dcsxgzfmjbwad1i7shnwncmjjsnqfz85";
-"japanese-otf.doc-1.7b7"="lqsy2p1mkbn8qn5i7bs3ssxacisa98lz";
-"japanese-otf.source-1.7b7"="xqyac57c0ldg3fq2qiws6wz9yaxkgy71";
-"japanese-otf-uptex-0.22"="3bnhd52rq28ing1pf9qqsx6x8qxnkm6q";
-"japanese-otf-uptex.doc-0.22"="hdbcwkbyhb2riz1xc18kf86zn1365kj0";
-"japanese-otf-uptex.source-0.22"="pn7k6mfv4frlxgz2lg6hfr1h7mm21clm";
-"jlreq-2018"="mn9w223ffh64p3qgn736rnrm1xw4n0br";
-"jlreq.doc-2018"="yjkg18wbv0ygswmldxc974caq5dfa6b8";
-"jsclasses-2018"="sak3rjfh4i097kllrpgfsxfifsnvh6c1";
-"jsclasses.doc-2018"="dm4j36xxg7323bdiv5wa615kqicy0p9l";
-"jsclasses.source-2018"="a6j1b323asfpf29bylv9djn0x6nrhi7y";
-"lshort-japanese.doc-2018"="5b8svqq4w1ipn3737s73pk969s8yv63d";
-"luatexja-20190225.0"="62zn5acz205qn7k0670swp6n8z2di5ac";
-"luatexja.doc-20190225.0"="1wm9ygm27cz6iqspi440rla5ys20pg2w";
-"luatexja.source-20190225.0"="j362wqi5sh7gyznj5z6nvfljmrzy03w6";
-"mendex-doc.doc-2018"="4wkds7kkvz3mhbvs8xzh4ngrm0r0yx77";
-"morisawa-2018"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
-"morisawa.doc-2018"="cy0li43jphfx3x8x2ddf57f040s8ygim";
-"morisawa.source-2018"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
-"pbibtex-base-2018"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
-"pbibtex-base.doc-2018"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
-"platex-2018"="9bpjgh190wbc5vy8c7kgy0jx6j655spx";
-"platex.doc-2018"="hzj9z805l5ybc928hzzarccnj3ja762l";
-"platex.source-2018"="s2yrykfx3k466s037f3yvjq4037wpq1l";
-"ptex.doc-2018"="i71l58533az6ihp6pg3ghyzz70k4waml";
-"ptex-base-2018"="kd45yx6zdsks4iyq60rqmjd0vkv3xsv5";
-"ptex-base.doc-2018"="jjc6f6k0sy2ibdpq9lvzld2wiha4hqqc";
-"ptex-fonts-2018"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
-"ptex-fonts.doc-2018"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
-"platex-tools-2018"="l1y5cbc1sy35c3xh6cqf8aahf0vrv5as";
-"platex-tools.doc-2018"="5545h2k362c6vkr4hmx7ld2wc2bbpgn6";
+"ipaex-2019"="pxy5kyyznzddkci3pzdb7fla8gsfsqm5";
+"ipaex.doc-2019"="bv4h64z9gnd6jf3mx85b45dqxalicjcl";
+"japanese-otf-1.7b8"="n7pnmaclyp3yb8rfn3n59g6jdy5k349r";
+"japanese-otf.doc-1.7b8"="kszig0vk5dwk708vff5cfnhcfx0rp39d";
+"japanese-otf.source-1.7b8"="dp0djxlqid3irac8y2zfh0x3r31r305d";
+"japanese-otf-uptex-0.24"="nwq1y9kihylj9y2f0clmy5nrmhiwr9q1";
+"japanese-otf-uptex.doc-0.24"="kr9fwl8hz0dmrs0a1pzkd1g51a4p3qrn";
+"japanese-otf-uptex.source-0.24"="yz6zz6i07i2d1cf1wp80n44nnh77bqly";
+"jlreq-2019"="msjg3lk1b16bcniavl9qddrwv1g9vzm4";
+"jlreq.doc-2019"="5pyv4k244lvdsw92cxivajw8v9s14msi";
+"jsclasses-2019"="j7pgchywpy98am8wa34clkzv5qh9m6gq";
+"jsclasses.doc-2019"="k1mk1j86p2nm0c3943msf8vyd1hjnmwl";
+"jsclasses.source-2019"="8p0j6pfmfv2wxgyk8x2yfn1h9ir1kz0d";
+"lshort-japanese.doc-2019"="5b8svqq4w1ipn3737s73pk969s8yv63d";
+"luatexja-20190926.0"="191dbfq87cajs74dfy0fnrlw6pmi27l1";
+"luatexja.doc-20190926.0"="ygs2lvpk15iq5q780f480n69gxc0wym9";
+"luatexja.source-20190926.0"="p6r0392sp05x607pi2zyacqd18h52hv6";
+"mendex-doc.doc-2019"="vp31541i0l4rfkijbng5zj0q4cmbdz19";
+"mendex-doc.source-2019"="2w1ibgiylpczrzp9xhl7lidn8y2yhnn6";
+"morisawa-2019"="41dcbs61zpdhqnc6qbzcfkq0nrfgfirl";
+"morisawa.doc-2019"="cy0li43jphfx3x8x2ddf57f040s8ygim";
+"morisawa.source-2019"="jhdr4xfya5m21376a8cmnzz4xfr8qh9i";
+"pbibtex-base-2019"="nix33k8m51bymsgnmfz69mwpllkk9rhq";
+"pbibtex-base.doc-2019"="vgmw5w68b5y2rhwsjssm3bx4dn96ix7n";
+"platex-2019"="kgcfk8b8x506aik95228jp3gbv7zmgxy";
+"platex.doc-2019"="015z4v7vdhcv9s1jiszgff5px1wsfn7l";
+"platex.source-2019"="0hc8zw5cx0xzhmzy1ivlk75m48h0krhd";
+"ptex.doc-2019"="fr812pq9d33lksqmm6bdij5jr89arp9l";
+"ptex-base-2019"="yd073fy3fw3cpkph1cpy3w1l148mdjrh";
+"ptex-base.doc-2019"="rjh99cygdmfychyv8gvqg5fd73fwmkda";
+"ptex-base.source-2019"="bli2wy35rgyx2vkfkqk1ajyk73gpnwqm";
+"ptex-fonts-2019"="iqch8gk4nianpr01y03nl0zwp49bw1b4";
+"ptex-fonts.doc-2019"="ln071z7k84vqpdf72ngcn7s24hpkhazc";
+"platex-tools-2019"="lc1vqkviqpr8rhvgsnw2k3sm3hdyq7xb";
+"platex-tools.doc-2019"="6if0avj38q2lwia7sh5qs8rrsk77g27g";
 "platexcheat.doc-3.1"="khwx5x4r6aydzhd5rkv7h9lf58l27494";
-"plautopatch-0.9b"="463xg82ld2bkyqyn7373msv41kfi86hd";
-"plautopatch.doc-0.9b"="1hdskxvd5dchk9l39r2jk5kfjq5zsw9p";
-"ptex-fontmaps-20180328.0"="v1kkxb7ai7pnrd1v1by3i0146248cbwb";
-"ptex-fontmaps.doc-20180328.0"="ifhpa5i1zni6q6rgiciajkdw2hv10pss";
-"ptex-fontmaps.source-20180328.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
+"plautopatch-0.9d"="s732qg4g3y1y3s6sd4s0dc5wwcs9a58w";
+"plautopatch.doc-0.9d"="65lrl1g1p4fv2g1fv6zxw99havdai8d9";
+"plautopatch.source-0.9d"="708dq291a6igjdkm39lcv1wrna1s9f1j";
+"ptex-fontmaps-20190506.0"="afvr6rnd39cdr0rs1pmvbzbc4478hgzf";
+"ptex-fontmaps.doc-20190506.0"="48yrfn623ch7il5i7w593i0g7hlmf9s4";
+"ptex-fontmaps.source-20190506.0"="9ihj3bwyp0ngy115ylcc2dbp7xp40xgq";
 "baekmuk-2.2"="5rhc42dabpd99i92hkdmkjzgr3jqhg16";
 "baekmuk.doc-2.2"="4syhh948m1jw14xlhq6dbpdw5p5p198h";
-"ptex-manual.doc-2018"="6p0yf94n074ywv8d0qhw2zzmabn2f1fz";
+"ptex-manual.doc-2019"="d12ipdv5isvbrkf7caps8lrj9i97r0aw";
+"ptex-manual.source-2019"="kap9xs1a3bdn0vh176sgc8nm949pvbsm";
 "ptex2pdf-20181212.0"="lpdchib5gv48nqwq0gax6qrslmqa5vmn";
 "ptex2pdf.doc-20181212.0"="f34l71b1l1fky9jyg3qr6nlk6620rqpd";
 "pxbase-1.1b"="92jsnxmiqmpy56dhdjaark80zsbb5vxa";
 "pxbase.doc-1.1b"="n5ns9b3vpa52b78hhgbvg0114faw0dgi";
-"pxchfon-1.3"="cq98fx9z1m19fas3qwnaqz6s9h7yapxl";
-"pxchfon.doc-1.3"="ayc2xib6sc9nfimkx175w6r47xcyyp8k";
+"pxchfon-1.6"="lwcg0b8ibkgb1njxrrwl8awpkyjfjxzr";
+"pxchfon.doc-1.6"="i37blsgfm91wka45ian6p9ld9iq6lacw";
 "pxcjkcat-1.1"="i368i8r85baiimnwh2rfqd0hfrklw8hs";
 "pxcjkcat.doc-1.1"="hcxxg9rg6d64hwysf6nlvfhv8h360168";
-"pxjahyper-0.3d"="pm4vx5bw2si5xnpyqz69sa7lm0f67ah2";
-"pxjahyper.doc-0.3d"="r0r9gk1kk80h1swsljqpdpkapvjccy12";
-"pxjodel-0.2a"="ifm37r7jgry1yqk85nl1cyvka51wfb9a";
-"pxjodel.doc-0.2a"="rlbm475r85h577grwziiy6aklz2nkj56";
+"pxjahyper-0.3e"="fl6plbak539i8l2i5wbyssyr6hx5gyfw";
+"pxjahyper.doc-0.3e"="3jwqknfgjp9q33hddmrmgfjlihrlgrds";
+"pxjodel-0.2a"="wrzn5vf0h8di7zyzw15fqmnjrn8y0569";
+"pxjodel.doc-0.2a"="hihxv3km086xxnwbxfpg6a455r1g1snm";
 "pxrubrica-1.3c"="p6ych4fz68bzhg7nmb0456jr32qhg20g";
 "pxrubrica.doc-1.3c"="mn4xnfbybrmq49w2r11q18k8q4q7mark";
 "pxrubrica.source-1.3c"="5w4m8vac151lxkp76llm5ycvi7818vps";
-"pxufont-0.3"="9cvf0yzn10qsfzwymqgzjc6va01yxrvg";
-"pxufont.doc-0.3"="mfxsqffbf5fdipm4cfzmxk0c51kkncxk";
-"uplatex-2018"="0fg4arq02hslimp6w10dqa43z4mz8pg6";
-"uplatex.doc-2018"="q1w773c1q8s6yav6b0bw6kwl5dvx306j";
-"uplatex.source-2018"="1vz04jp6s5sv4s6yv5qj5qidv5j220a5";
-"uptex.doc-1.20"="qpv93c3zhzxl51z156qzz2iqi2wrv0pm";
-"uptex-base-2018"="y66hqf3p2cjn13bw8l2z036k9240kv98";
-"uptex-base.doc-2018"="nmsh0zmn7caw7yjq633hd4k4v7lvgyxc";
-"uptex-base.source-2018"="dv52z5ilfxmcrb9420sbw6b8gl2av9x3";
-"uptex-fonts-2018"="g3qnaahn4gp4yc4zlg2n6687bzq738kq";
-"uptex-fonts.doc-2018"="ji8zv1haadkqgrsvnvyp71xx01nhlvql";
+"pxufont-0.5"="wh4763by62qf9q7h7ph1ccs0zz528h9r";
+"pxufont.doc-0.5"="d408szf08v8r97kc1k8s7w33i425qy07";
+"texlive-ja.doc-2019"="c9x1ai4v27mnmwkxbc4963a00i1qsjfg";
+"uplatex-2019"="q69iw8hxgnihgqdag00xbxarlws2d1r4";
+"uplatex.doc-2019"="rjgbvzw0raq96sb92vkkls16n5ag6lri";
+"uplatex.source-2019"="r88kywjipg3vfib5z3g5ii7y8y328qz7";
+"uptex.doc-1.20"="rmq7yjynfv7mj33kpgrsv39xflfpz7qw";
+"uptex-base-2019"="dhh84zlmy5qh9848mx5yylmps2x5dhfj";
+"uptex-base.doc-2019"="02jcxdjr8w76l067z88n0dybw5mqik1p";
+"uptex-base.source-2019"="dv52z5ilfxmcrb9420sbw6b8gl2av9x3";
+"uptex-fonts-2019"="g3qnaahn4gp4yc4zlg2n6687bzq738kq";
+"uptex-fonts.doc-2019"="ji8zv1haadkqgrsvnvyp71xx01nhlvql";
 "zxjafbfont-0.2"="gqmmwcbw81z91mwqf731jk0mgdfiw8d5";
 "zxjafbfont.doc-0.2"="0901rpw6rd2wivh0fsqnna6gywc6j8hh";
 "zxjatype-0.6c"="8hllbrldhybkwhnzzvawmn9r6clr85nn";
@@ -2439,13 +2490,13 @@
 "kotex-plain.doc-2.1.1a"="drkcvf3nb3kkvp63mw3xdz80lvn92w0j";
 "kotex-utils-2.1.0"="gvq7vg419f2wqzl6xp9mcffclvh65hs6";
 "kotex-utils.doc-2.1.0"="xl1v4i3j2wlhdp0rkjkn0d9b11bwlf4b";
-"lshort-korean.doc-4.17"="1g5islw4v6x4s50zxb0zgc3nhk83yf06";
+"lshort-korean.doc-2019"="vgmq1j9h0789hhank5mjmag1yq2h2gsw";
 "nanumtype1-3.0"="b1wscjlknaslwhpaxxfi8w2drxg1m770";
 "nanumtype1.doc-3.0"="4jpi6pmfq42sbcfzl403niskxg6qnxfp";
-"unfonts-core-2018"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
-"unfonts-core.doc-2018"="icc501j6sh5ix6v72v7lpb0him7viih3";
-"unfonts-extra-2018"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
-"unfonts-extra.doc-2018"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
+"unfonts-core-2019"="grx8hl97r9gx2abhhwlwpa425yww7w0k";
+"unfonts-core.doc-2019"="icc501j6sh5ix6v72v7lpb0him7viih3";
+"unfonts-extra-2019"="ib9sxr60ylsw9vyvr3wxya8xhq6hv0ix";
+"unfonts-extra.doc-2019"="2r7sls3pa7a3fq9q74dlzhp7yjbwdsni";
 "amsldoc-vn.doc-2.0"="09zv7q83wc6zg9an9b1x1nvsnqx8bpcr";
 "aramaic-serto-1.0"="mcxkjm533zpz4srgqqbd1asax309lhmk";
 "aramaic-serto.doc-1.0"="2717wqsb2bzap0cjgw8d1rsryjyil57n";
@@ -2478,44 +2529,44 @@
 "babel-vietnamese-1.4"="pi8gc005y8hn42hyxrn7p23kbashsv1c";
 "babel-vietnamese.doc-1.4"="5l7qyvppvihhdzcszaxskiscp8xm686h";
 "babel-vietnamese.source-1.4"="y9wmbn3j1f614p6dfciwnvig3v5r9q39";
-"bangtex-2018"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
-"bangtex.doc-2018"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
-"bengali-2018"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
-"bengali.doc-2018"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
-"bengali.source-2018"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
-"burmese-2018"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
-"burmese.doc-2018"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
-"burmese.source-2018"="ixz9y2ck9awijs6w9rz005nkvl613811";
+"bangtex-2019"="cn3ss5r73gr19dbjlrnvb7icfpbb2aig";
+"bangtex.doc-2019"="7dwz3jgliyn649ns4iqmgjnqn80bv3xr";
+"bengali-2019"="xv6b2ya4hn8bhhfwmi7sziq9qwmhx6qb";
+"bengali.doc-2019"="f6c5pyzrih551k2p50vqy9jfx4ar3svx";
+"bengali.source-2019"="s77yi86avqzhp5lin4dwhbavb41g4q0n";
+"burmese-2019"="gymkq1rr5pmwaaid3dpks3f8ngz3525f";
+"burmese.doc-2019"="yirjf8crgj2a89451jh8iv66qhdqdrr7";
+"burmese.source-2019"="ixz9y2ck9awijs6w9rz005nkvl613811";
 "cjhebrew-0.2a"="nkca25dwl8i1li6q63sv4w2n35z28bdn";
 "cjhebrew.doc-0.2a"="w8jqlvv6cm125d68dhfsar5y7xynac7d";
-"ctib-2018"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
-"ctib.doc-2018"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
-"ctib.source-2018"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
-"ebong-2018"="mhlr9r7i2zf3rm905m527hbnydppaiar";
-"ebong.doc-2018"="pqr96lyawpif4fzp0izw8j0506gnf06f";
+"ctib-2019"="gdfzyzhwfcwi275xdrvah86459bsfxx7";
+"ctib.doc-2019"="jy7r4mkpncfmy0djcxvpcvkwjaqxv7s5";
+"ctib.source-2019"="3pfn4qglvw3wjjw4f3jlk5vzq3ci4zj6";
+"ebong-2019"="mhlr9r7i2zf3rm905m527hbnydppaiar";
+"ebong.doc-2019"="pqr96lyawpif4fzp0izw8j0506gnf06f";
 "ethiop-0.7"="fd4kynb70wkja5fxhi10n52mff3s2a8q";
 "ethiop.doc-0.7"="cabq6vprpklsmzi68af6nb4qiwbrwmzf";
 "ethiop.source-0.7"="yv6pwmbkvahpy2h4vnijnqag2rv09k5l";
-"ethiop-t1-2018"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
-"ethiop-t1.doc-2018"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
+"ethiop-t1-2019"="f73j35aqlr29gmh9k00d3s0jzkmk6zq3";
+"ethiop-t1.doc-2019"="92ly98mz1iim1gfh4cm8hjwc17j9kjhl";
 "fc-1.4"="iyjlb5q55khnp515n1snhpnfrrmfn1pm";
 "fc.doc-1.4"="wd9bn967d6nzzvdrvim470l711v1jkg6";
-"hyphen-afrikaans-2018"="8y2cjmvvwmzhnc58wn6pam9hw3kk7nlp";
-"hyphen-armenian-2018"="wkj528c0y5bs6571mlpkvm8ys088n5m2";
-"hyphen-armenian.source-2018"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
-"hyphen-coptic-2018"="b0gwxgcgpy0s2cpd4p5y64qaay34hc1k";
-"hyphen-esperanto-2018"="7q9iyabbs4dhwnjjv93p63f92ir4j310";
-"hyphen-ethiopic-2018"="m7dgr7lrxqqgqzshlhk3q5y9alhdc5lf";
-"hyphen-ethiopic.source-2018"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
-"hyphen-georgian-2018"="yb86n4jmz9598s6shqr0b8w0wrs1z5js";
-"hyphen-indic-2018"="0l557mvqb7c9llvi275dzijh7bcvn2as";
-"hyphen-indonesian-2018"="b1b0vawd4l1sgzzsx2khivh1vl7rvlij";
-"hyphen-interlingua-2018"="rwhg7mqkras0ac3cg2axbzzkn5pavff7";
-"hyphen-sanskrit-2018"="csq2iqvbyybhx3h0dgvgxqp1cg0cnrwf";
-"hyphen-sanskrit.doc-2018"="a2pncv9fz35p3bbj6mll93vqcyagsmbq";
-"hyphen-thai-2018"="vy7rwb0j1mskblnpjvldyhz91kxsqsxn";
-"hyphen-turkmen-2018"="skzpa489dxknbmxv9vrk5xa17mgcnh9s";
-"hyphen-turkmen.source-2018"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
+"hyphen-afrikaans-2019"="xh3wz9cx83p2hq74r9c794kizgckgxi1";
+"hyphen-armenian-2019"="y5g0vy3p70zplkaam3q98qyfdmd0pr98";
+"hyphen-armenian.source-2019"="0b2gny5672fkb5sd8vb2g3fapx9pl7z2";
+"hyphen-coptic-2019"="nw3l6a7iwpl9aig2fvls6kqq5xg2l00x";
+"hyphen-esperanto-2019"="v3mdyifs03ykymz5jsgr39wzgg70pmm6";
+"hyphen-ethiopic-2019"="y44ic8iklli5vzv2q1zhyypdh1df39d1";
+"hyphen-ethiopic.source-2019"="9gkipr8pk2mb77s168has3sfgrs7cg1i";
+"hyphen-georgian-2019"="1h6sbx79cncxjqj8vav7fq5kr5ycir6z";
+"hyphen-indic-2019"="la27k8603vjbjxsiag80q0vmjgq3vxf7";
+"hyphen-indonesian-2019"="j5vq85rh8hw706xjmyyl3hy6vmwmr1w2";
+"hyphen-interlingua-2019"="nmvxm8nwca6s32k99c2501wxfi4pcslf";
+"hyphen-sanskrit-2019"="nzc595vin9b5cfvfkkq6b9mgxg8h9jgc";
+"hyphen-sanskrit.doc-2019"="pjfnjwbksv532x7idr41hvs874f5p97h";
+"hyphen-thai-2019"="84jcndmnvv346ip8zzxhb9cwixvqml2p";
+"hyphen-turkmen-2019"="rlsciaz81rhwrxglncb8hk837mg94mfa";
+"hyphen-turkmen.source-2019"="c7md4qrdh7hms3vzkpcams5hwl8qy953";
 "latex-mr.doc-1.0"="vwb062hbn3371czg99plccbvxw1a7gjh";
 "latexbangla-0.2"="6ix7rfgj51z585jry3i1g68x4wvm4xxz";
 "latexbangla.doc-0.2"="iw79gb4sk4hys6xbc8j86lpzyji8h7r9";
@@ -2524,25 +2575,28 @@
 "ntheorem-vn.doc-1.203"="ys9g749d9f2nbq55ckyrjrr4mg9yywni";
 "padauk-3.002"="dwdgm603clk71s9gcjx9ghzwlkh6k2gd";
 "padauk.doc-3.002"="zarib60py4ddx2axyrm695pkikxih70z";
+"quran-ur.doc-0.1"="8nc81g4wfrd6q1xcm6fqiqkq8xwkaiym";
 "sanskrit-2.2.1"="scnnwa1xsfnpv0w7xp8ry49ps6s5pw8w";
 "sanskrit.doc-2.2.1"="0ps1lrlzdhq7gaagjqb3m4yygpz4g7p0";
 "sanskrit.source-2.2.1"="dp3nk8wbjrvb3hg4xdxl8s8m1wfcwny5";
-"sanskrit-t1-2018"="lwnbgg4flg35ndf7p0iii468sf6avylv";
-"sanskrit-t1.doc-2018"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
+"sanskrit-t1-2019"="lwnbgg4flg35ndf7p0iii468sf6avylv";
+"sanskrit-t1.doc-2019"="h7licx4ivjwnvbym7724rdj3vrcaak5i";
 "thaienum-0.2"="acsj56dxkcqi83yajkm4rjxm99p6r10a";
 "thaienum.doc-0.2"="55zcsq659l2wki581xvcdy3ssljgk9s5";
-"thaispec-0.3"="f2yb8iqhzia8b3mpn0q9ywjz9nardqfm";
-"thaispec.doc-0.3"="s8ggidsvyhplw6a7pdqhpfvfvbncxd8x";
-"thaispec.source-0.3"="jh62vil1vdgvah07wrniw2ncxanjbzr3";
-"velthuis-2.17"="10lr5jgiy28w3diqwwj9qlmfrlhicg17";
-"velthuis.doc-2.17"="hh24rcz9098hpi3prppy0nrjvnicjqm2";
+"thaispec-0.4"="wzjrh6h9sp2rlkbjzr23z4dgzz74844s";
+"thaispec.doc-0.4"="wzqlgimfzsxi948s3gff8fa693pn5hbr";
+"thaispec.source-0.4"="3k00zbgwdi6w0dm49mywgmdpik0pgk2d";
+"unicode-alphabets-2019"="j7c2skki2c2k13y2pky182pmw86lzxfy";
+"unicode-alphabets.doc-2019"="2y89zg9f1wzd43n8lfh16y8lilvx7w0w";
+"velthuis-2.17.1"="x0zig7csm0nnq7m2n1qqdys57jz38b9h";
+"velthuis.doc-2.17.1"="x703qnfan6yajcqxybmsr274zir3v0ch";
 "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-2018"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
-"wnri.doc-2018"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
+"wnri-2019"="z6010l0pydl50vy5jnrg5fh2xki5fi6a";
+"wnri.doc-2019"="clpx7kcx1hp0qy30v5nlfz10kd5hmqcl";
 "wnri-latex-1.0b"="y9n4dac8cbzm2gwhcfan32rbv3dyhr0s";
 "wnri-latex.doc-1.0b"="f1m11fnp49h90f3djiml0awlxqcnxkdp";
 "wnri-latex.source-1.0b"="zd4smslq18sp693fgay24m503v01v3bk";
@@ -2553,47 +2607,50 @@
 "bredzenie.doc-1.0"="br35cfyn2zq2qb44mss225ylw16sz0jq";
 "cc-pl-1.02.2"="d0vdpawzrgwsxj9sff3y83mf1xrs891y";
 "cc-pl.doc-1.02.2"="wqnvmgzzh65fhrgwbrmpa307qa7xbh21";
-"gustlib-2018"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
-"gustlib.doc-2018"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
-"gustprog.doc-2018"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
-"hyphen-polish-3.0a"="yibpb61p39nc92gihmvy8731z74khjs8";
-"lshort-polish.doc-2018"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
+"gustlib-2019"="x6dscxji10p04msr31f3vsaf6pfpzhsg";
+"gustlib.doc-2019"="07x28ysinfhv15jlkpyfsv7cjyzwbdg7";
+"gustprog.doc-2019"="v1mb66z2nc7vwhy2yg5rk699mvqkpqs3";
+"hyphen-polish-3.0a"="d9fjz8dhcdw5gl66b7bp9syjgbbcj36c";
+"lshort-polish.doc-2019"="7fr1g9j932xjam26nnf6b6zc47m1i9g8";
 "mex-1.05"="z7m8kmw19bg4yw3p99fvpvhhclkj5ff2";
 "mex.doc-1.05"="qajd1x35x1mbkvs39hbxs3qd8df3hp5s";
 "mex.source-1.05"="kf6k037zqvlad7sm8z4a2gkg2xlf01j3";
 "pl-1.09"="glzasf47dgz69y9gkr4amiffpl7wwx8j";
 "pl.doc-1.09"="1p5zh9jmllvddgsnnafm2vabqhwdqq3f";
-"utf8mex-2018"="d8314s7lhlafhspi1qf8hiqzx61n439a";
-"utf8mex.doc-2018"="svpkpbc0caxbynjnjjynng11fdg3dgid";
+"utf8mex-2019"="d8314s7lhlafhspi1qf8hiqzx61n439a";
+"utf8mex.doc-2019"="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-2018"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
-"przechlewski-book.doc-2018"="23zvnv9pcvl5n68js39l4hrcli608qck";
-"qpxqtx-2018"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
-"qpxqtx.doc-2018"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
+"przechlewski-book-2019"="qid42vb23l6fzc6dgmx3bflwz7z0mdb5";
+"przechlewski-book.doc-2019"="23zvnv9pcvl5n68js39l4hrcli608qck";
+"qpxqtx-2019"="wxccyd4si0x6338hwmwdaxmjj3brm7p8";
+"qpxqtx.doc-2019"="xvxsnjfajz7zfvgfih7v3mfca5b36qda";
 "tap-0.77"="mgr2m41yv0y4dcf4myk7020hkmqrd5z6";
 "tap.doc-0.77"="mr27kjalpicyv8915p32yyya5imm3m8v";
-"tex-virtual-academy-pl.doc-2018"="rr38v1syb2b4ji3psf47pmwr562zv59n";
-"texlive-pl.doc-2018"="nfyjwk56cmbla6zn8imndl8bmmi0k4rf";
+"tex-virtual-academy-pl.doc-2019"="rr38v1syb2b4ji3psf47pmwr562zv59n";
+"texlive-pl.doc-2019"="s3mbcbd9mnfc35g7bwwih1w8mgpfsz84";
 "babel-portuges-1.2q"="n9im1w2dz7yfqqq4k8pfmqmxjg5mfl0s";
 "babel-portuges.doc-1.2q"="d5r7vabmr3lhrfcrji8rayi6xx6q6hqy";
 "babel-portuges.source-1.2q"="rgi4li2frm84fbdi0sfhqvmpijlx64lp";
-"beamer-tut-pt.doc-2018"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
-"cursolatex.doc-2018"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
+"beamer-tut-pt.doc-2019"="kxpy2m4hbwm3sfj7ix9x249df3dgmvfm";
+"cursolatex.doc-2019"="arfkwqkjw5kfv2rcfhkvxjq603wdsq3y";
 "feupphdteses-4.0"="696my85w1ngcar81vacyj8nr7m4dn0wd";
 "feupphdteses.doc-4.0"="9nm4793nyfp5v2rjd5297sbyw2b29bqi";
-"hyphen-portuguese-2018"="rsh30ivczs5l50fwdl9hgvd2wpcxmnrg";
-"latex-via-exemplos.doc-0.5.2"="aicbfd1zjizlh2fx9fq5xc1ppaz8yffw";
+"hyphen-portuguese-2019"="b29y4gyjll5mvaf2mh5i51qrfkqsxiyi";
+"latex-via-exemplos.doc-0.5.5"="fabr1glc3bvd4cakj73yd2p4ng0bcjgq";
 "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-2018"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
+"xypic-tut-pt.doc-2019"="2rj58kib26w8jnfzpd9bsm0nf2ladv4i";
 "babel-catalan-2.2p"="18ngggp3v707j48vac5grpqw342jwg3f";
 "babel-catalan.doc-2.2p"="19hc8i6d64n8dfk6hmgpgm03kg5r7wx0";
 "babel-catalan.source-2.2p"="v2750fsyzjlc6iqk44s31idwybz2jvfz";
@@ -2606,37 +2663,37 @@
 "babel-spanish.doc-5.0p"="2aa12l6ndp4r6rdv6v0z405y3hpsmgnx";
 "babel-spanish.source-5.0p"="ad9wxx0qp6kp4r8ri1vwycgf2gpdj6xw";
 "es-tex-faq.doc-1.97"="v9brqkql6xbb1zdk5m6xhff1dxm36nhf";
-"hyphen-catalan-2018"="cmwd8lvf8g1bfm82ff4ysxsm7hdigwrw";
-"hyphen-galician-2018"="q3j7qg1mmrphmhyqs3212i3p11irfrgi";
-"hyphen-galician.source-2018"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
-"hyphen-spanish-4.5"="k38f0q8989wzb6jkrifydrq9h5nrfmmj";
-"hyphen-spanish.doc-4.5"="416kb8avd7nb048aia9rgbvjbh6bbh7k";
+"hyphen-catalan-2019"="ygwfaykc624q574saha8j5mjdc1pg681";
+"hyphen-galician-2019"="np4l9swdllfq7mgghipihh2i3jwnkk59";
+"hyphen-galician.source-2019"="jgmyy0n6c4ljqpl5ln9q1vpjq25y9q1p";
+"hyphen-spanish-4.5"="kg7ixasbidwibfdbazms0ra2dx4dvbg2";
+"hyphen-spanish.doc-4.5"="kznsqnkm7dg2rdpisil38syyvs6fs0j6";
 "hyphen-spanish.source-4.5"="lia19yzmwyz4fsbnrca8al43hfc46i55";
 "l2tabu-spanish.doc-1.1"="rc7058j31za1cg1ik27b6gcgscir9bfk";
-"latex2e-help-texinfo-spanish.doc-2018"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
+"latex2e-help-texinfo-spanish.doc-2019"="zqfixpmcslcpjzg9f3rxcv6z1j7i5d3w";
 "latexcheat-esmx.doc-2.00"="bzjjilpj8rmp1cc93bs32568dc8dvgic";
 "lshort-spanish.doc-0.5"="3gmql5wpqh3h5mhr0pjcs6v0a5jqc1c8";
 "spanish-mx-1.1a"="ipghkbmay6pmwisxrnpkrhnlrlgsr9zz";
 "spanish-mx.doc-1.1a"="4qrhsw2wnpdmq7i3j30vfb04njyhldi3";
-"texlive-es.doc-2018"="ak9l8imng24ghb9l7xhlra3cknimrl72";
+"texlive-es.doc-2019"="z5587h7b2hinylyp173y02bm25dlr8nx";
 "2up-1.2"="qd90xqk7f4p9mgp53yid9rixhhs11ns3";
 "2up.doc-1.2"="gv5blpi2xdbjdi1i2p9j6gz2qzr14d9p";
-"ESIEEcv-2018"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
-"ESIEEcv.doc-2018"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
-"ESIEEcv.source-2018"="kvh03awwlhwd8wn69h32sdjxmcpa6lmn";
+"ESIEEcv-2019"="w5zhmx6kk19kwf98gdm7rlp7l3i9k93y";
+"ESIEEcv.doc-2019"="4ci8yn36m2fz6v6n7iqb071291rl23zw";
+"ESIEEcv.source-2019"="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-2018"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
-"Tabbing.doc-2018"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
-"Tabbing.source-2018"="pifazcagjavajck7h6a0kyvnxxk90k8y";
+"Tabbing-2019"="1ffaxfww9l073hvjvgp4vkxzfdmmgb8l";
+"Tabbing.doc-2019"="gyhcdih64zw18s44f5s1h8ccr2ndd0qs";
+"Tabbing.source-2019"="pifazcagjavajck7h6a0kyvnxxk90k8y";
 "a0poster-1.22b"="dkwb9gdxv3jxnw07ji0ydmpqa0fgy6mh";
 "a0poster.doc-1.22b"="bn6j9nsmcri2irby7njhbdlpgqqaic0x";
-"a4wide-2018"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
-"a4wide.doc-2018"="vb90v0v79l34fr86i7hzx787ndyq271w";
+"a4wide-2019"="lsss6h32r10x1v8k9wwdp7ind09y6x5h";
+"a4wide.doc-2019"="vb90v0v79l34fr86i7hzx787ndyq271w";
 "a5comb-4"="sc874hfilkfjjv1aw8qnf36v5jkhd6s2";
 "a5comb.doc-4"="gsp7dsbhk6r2q332apbqrx29mna85dhs";
 "abraces-1.-"="54c3kj96d3symq8nbzrns0pf1200jm5z";
@@ -2644,23 +2701,26 @@
 "abstract-1.2a"="qd0czw54z49h3mxnxlk6drblpbl47sln";
 "abstract.doc-1.2a"="qd4dggpq9076j7cma12mkhy238ni4w3z";
 "abstract.source-1.2a"="819fv5rryh634fmqic8fqagdfi9h04wj";
+"accessibility-2019"="pdngb4qicmfvh9ksw6mhvjc9hfl79462";
+"accessibility.doc-2019"="8cf3wr6abm4p0dr1s11vqhqi7bwvjziv";
+"accessibility.source-2019"="xal33psm9wgyivkfk8qaaa136xm4w1jx";
 "achemso-3.12a"="3psjpzbhsk0ynd3xiq0pqf4spk7klxl8";
 "achemso.doc-3.12a"="iqshwkgnwnj0p62g1aggpr2ydyzfpkf0";
 "achemso.source-3.12a"="v0v78aapbda91dcb71k5q2ld26x5ybci";
-"acro-2.9"="kmwrpsswxrvjjrz53pzps4yjjk13ffad";
-"acro.doc-2.9"="2afzi43rkhp1jvlfx9n0xhxfbn263f56";
+"acro-2.10c"="1v9qgz21hbabizc78lc3rc3322qfjv98";
+"acro.doc-2.10c"="2xl0nmrwc4slk8y0vwpi3lhanzwnb1pr";
 "acronym-1.41"="2spcw1vwwm6mwpl2dvv7wybxvndbsqn5";
 "acronym.doc-1.41"="izmrdd0rscib9xa10xm33vvh7bvgzdly";
 "acronym.source-1.41"="1l7ca4pd0nx499pv45sv1092bilsxfkg";
 "acroterm-0.1"="04m91cky6cj3jv546mdf6461bdg6sfkk";
 "acroterm.doc-0.1"="jnxcd65y58xrqg0cfg7y0m8yslbj7xi8";
 "acroterm.source-0.1"="w99kkypzq7c73rx4rv4m917c68vnan00";
-"actuarialangle-2.0"="ff4khzc793za2vl8ghg9k3jzh21npa4b";
-"actuarialangle.doc-2.0"="blrrabd60rlmly07kh83wwa88nkw7mb8";
-"actuarialangle.source-2.0"="naxi069bqfb3w7bx5g1zwj4iy5b8kq54";
-"actuarialsymbol-1.0a"="46rajcg49v84amgxarr8d24z1ilzgzjs";
-"actuarialsymbol.doc-1.0a"="7pzwnc70kgqh5lq6wni6lhyij6ydbzh8";
-"actuarialsymbol.source-1.0a"="39chg76j3ahyny2m16wq77y1rcs0jsxb";
+"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"="16jk4kypw619n5fy7j0hvfiydk5k3mbk";
 "addfont.doc-1"="r6jy27nla35rjdsbcqfb7ckc7hfszngi";
 "addlines-0.3"="gaai0vyqwnm0k02r5kvnxgd4gx32nkbd";
@@ -2675,8 +2735,8 @@
 "adrconv-1.4"="jm0wy6794p7idv2f1ryhsm2v9wr9d5ar";
 "adrconv.doc-1.4"="jyn0sjir5pp69zvlabyamihnlsav24z4";
 "adrconv.source-1.4"="v31vh22mrhxqq4h88rvj97a9n0wc9bmw";
-"advdate-2018"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
-"advdate.doc-2018"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
+"advdate-2019"="f0awsj80hyiv2vkjizidk3na8yvfm6i4";
+"advdate.doc-2019"="0yx83g0jz771kjqq6rf07wlmzs4h68x3";
 "akktex-0.3.2"="6mhzn5d98q6vmxp8vjbmb6i26x9zja3g";
 "akktex.doc-0.3.2"="z43q786v20515sgsp4dh5lii0pfa620r";
 "akletter-1.5i"="7i7x6692i5zicjsrp51cvx8sivm1arpw";
@@ -2687,24 +2747,24 @@
 "alnumsec-0.03"="wmcb661yih7nnlwpshx0ahp45hg2b2qj";
 "alnumsec.doc-0.03"="q89lqn201amhxmpqfznyv7vsp40a8az7";
 "alnumsec.source-0.03"="zin3hkq6fr67rz2df7qqfnki4kar8k1n";
-"alterqcm-3.7c"="4iq919l9gvcpphbhz74hfwqzv5905mrr";
-"alterqcm.doc-3.7c"="5ldngzl9qyzmnd1gx8p31h1k2qigdgbi";
+"alterqcm-4.1"="m92dax7znhdwsqis19im7bvmniy7490s";
+"alterqcm.doc-4.1"="14bwfsq021x3h708jqgm9iqray0jzxaf";
 "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-2018"="pa4gz03h1lilijhms8xiwb6fy486rw21";
-"animate.doc-2018"="sa6kpasvx9ppn50mzxwkpmjlns6nly14";
-"animate.source-2018"="w37mcnq2xxpbmhqafzvgw3z7dkvic6rs";
+"animate-2019"="jwwbvyfclhk58hklh3l55q19g67n5r8i";
+"animate.doc-2019"="pwj7v93v1dd3mmjz5zqbdjwwpmymm4gj";
+"animate.source-2019"="0fqzq26k1d0lndah94719bbsn4772ni0";
 "anonchap-1.1a"="qpazykls2jy7nqpqkaqvyi35c2ajz0qg";
 "anonchap.doc-1.1a"="3xy9r4p9f22fjdvznba1jjp09gbkvvlr";
 "answers-2.16"="isadn9v17ma5krfq4hm304nrdc8kx7dd";
 "answers.doc-2.16"="3ma0j6diq2zp7k547zp6ilbynsrkw59d";
 "answers.source-2.16"="7w1nvr73ndj7c545xps8h969q4z58gji";
-"anyfontsize-2018"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
-"anyfontsize.doc-2018"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
+"anyfontsize-2019"="z7d08jdfvq55ls4va5f5iyixxyp6xjv6";
+"anyfontsize.doc-2019"="fxvax04n8dj9haksiqx0jddi47mb8q1n";
 "appendix-1.2b"="vv6787vrvnmwm8mg85aq1bii0lgprzc3";
 "appendix.doc-1.2b"="095s7b98s2n14xsf2ffv9v6fvsdvl6zz";
 "appendix.source-1.2b"="5ivln5wysazp8nllz5k3z5vh9ivzwwl0";
@@ -2713,9 +2773,14 @@
 "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.0"="p6c0xqv9y69fbg7vzv1r10nmq1lspaay";
+"arraycols.doc-1.0"="946328vqw5893d8172f7l2j25bi20wfm";
+"arraycols.source-1.0"="xjw5d1b9vf75nlvnswn4vprk7mnlzjgs";
 "arrayjobx-1.04"="zxqamnkgiq8c9p1z3w89rlgqv61bp2n6";
 "arrayjobx.doc-1.04"="fyx7869qi432q3g06i3xyg92jqh29fbr";
 "arraysort-1.0"="h5gbw2lvn0zfvhz0s5lmc495yz49bdds";
@@ -2727,21 +2792,21 @@
 "asciilist-2.2b"="fvd111ywjyrwy897z4bmcby9ymnxcvcc";
 "asciilist.doc-2.2b"="i501s6jaq79nj93ckccihgkv4ca5pn7i";
 "asciilist.source-2.2b"="zqmygnlbfyz70y446mcdwpd9a3bszhl2";
-"assignment-2018"="f5a0sprx94bby245g2cfycrrazgp00k7";
-"assignment.doc-2018"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
+"assignment-2019"="f5a0sprx94bby245g2cfycrrazgp00k7";
+"assignment.doc-2019"="0d0cafwd56gqn5dacsq4fdgzz8jqks19";
 "assoccnt-0.8"="6bikcn3hf37rs2wp84f9h8nf81z86hr6";
 "assoccnt.doc-0.8"="xb17k2w0skjxh3cw3hag91m5cjxj1vz9";
 "attachfile-1.9"="vmyp7ywfqli6yzs89419885jac9x0yql";
 "attachfile.doc-1.9"="f076ljz64r8ck1l9cz5g7xypm92jb9qs";
 "attachfile.source-1.9"="j93ivs0jy4n52a18gw0icmh0ffsnm1j4";
-"aurl-2018"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
-"aurl.doc-2018"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
+"aurl-2019"="8nnjg9zwrc6p5qy2mq32jirxz29wpa0c";
+"aurl.doc-2019"="13g1jz1510lipg3v2m4zpcz2pzi04fyc";
 "authoraftertitle-0.9"="6mqbsmy9gg6qkwgihzapa0xnlqyscz4z";
 "authoraftertitle.doc-0.9"="64j4gkrz0i7bwah7s3dazi1nanw6dfby";
-"authorarchive-1.0.0"="j3wmp3gk3460gwyfq0d8dlqsx6hwnyik";
-"authorarchive.doc-1.0.0"="k165v6r0jwi5xz23la4kz542rr5b9vrq";
-"authorindex-2018"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
-"authorindex.doc-2018"="vrlqni24vz4wixqr83pkin6j02vxgz5r";
+"authorarchive-1.1.1"="capg6s6r2w20kazk5dh2dqfbxl6246zh";
+"authorarchive.doc-1.1.1"="bzs7qr0gc2sgmsb39q4d46l4f5d55cp7";
+"authorindex-2019"="khcqpf8rh3cqb9fk2wl35lvp1fs3k2nw";
+"authorindex.doc-2019"="d1k8irgqp5vac8ggq66ivcxxgv8q410x";
 "autonum-0.3.11"="z0mz6nrw3s9661lc5s983bj7qpfg9ns3";
 "autonum.doc-0.3.11"="ghxpr5ayzxq1w6v3wy0hqvkfy28n9slp";
 "autonum.source-0.3.11"="5fm5vfmi11jqdgqklj6zmc90vw3vqiqp";
@@ -2751,9 +2816,6 @@
 "avremu-0.1"="xk59ssazl5122hy7cw9h8l8ky47ac58m";
 "avremu.doc-0.1"="sp38mldllwslwxq2rvizcx1dcpfaava7";
 "avremu.source-0.1"="inwrrgrds8ympmhzgrk3m82x544x8nhi";
-"axessibility-2.0"="dihjc3ngi2xlvaqngi6sdr5llgc0ffic";
-"axessibility.doc-2.0"="l7n7wd5clh0sj82chjpszws6722ygb61";
-"axessibility.source-2.0"="bymryhzf4azz4ciry4qk2idcm8wq3w7i";
 "background-2.1"="akcsb7n8iyy4zlcgfp0ikwb5awzdnh9d";
 "background.doc-2.1"="inm76hq9brwc39n6bhp9782766mmgwpx";
 "background.source-2.1"="54l8p1yj06wlcwxrrmjqjhgmxai9l9s2";
@@ -2766,10 +2828,14 @@
 "basicarith.source-1.1"="x4qnlbc6v2dfq23ijrjhk5rcfjc1c2a1";
 "bchart-0.1.3"="4xxv8n13igfgl0n89wmxncp8662fx941";
 "bchart.doc-0.1.3"="11b1xlxkxzayb2a96w1svhba4pkchanx";
+"beamer-rl-1.3"="b7823bzsk1qcq24yxhvqb327zb1fbc1p";
+"beamer-rl.doc-1.3"="2m9wika4z2vysryacn8r1ybi38p6mkcm";
 "beamer2thesis-2.2"="64a0v9a7xr9yi4ffsbm98s058hkmq9wg";
 "beamer2thesis.doc-2.2"="5ypn90w572jlw04xi4vzk7pxxsf7ciwy";
 "beameraudience-0.1"="3zc39f4qsyqi4204k4a5n9pksf6gk3xl";
 "beameraudience.doc-0.1"="wkgcr8dyl8ywxwpdc5h8p96dsw9l229y";
+"beamerauxtheme-1.01"="s3lirw6yl6ir8z6z9iq4pfrbwdcq7yp8";
+"beamerauxtheme.doc-1.01"="a76wy5dqlsv25w2f195jk385j25dk4wg";
 "beamercolorthemeowl-0.1.1"="7b8qfnqjliwvms89bn4mxhjqf8sppadi";
 "beamercolorthemeowl.doc-0.1.1"="dh55h6vzmjlxlwn7wz2b6c2c27c4qjki";
 "beamercolorthemeowl.source-0.1.1"="ppxb50mii9mgch0rzm26npxl99a93c42";
@@ -2780,15 +2846,15 @@
 "beamersubframe-0.2"="m8capqp9nc8mbi9xdzkz89nnz41972v4";
 "beamersubframe.doc-0.2"="y5m8y5zkbzi553hp8maav6g6a42iklfr";
 "beamersubframe.source-0.2"="kw2rnly2zyqw1ap5g9gkv2xchpvbk7gr";
-"beamertheme-cuerna-2018"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
-"beamertheme-cuerna.doc-2018"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
-"beamertheme-cuerna.source-2018"="lrn8am3h8x2ic39ghpkdl9bxsp07pdf6";
+"beamertheme-cuerna-2019"="vrgqfiwzbf1082zbj8pvn53dmx77qi4f";
+"beamertheme-cuerna.doc-2019"="jcxa5vs5g4nwgck7913jb2jnxccx2y3f";
+"beamertheme-cuerna.source-2019"="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.3"="vy3c3d4ajy4np87w32v2mw6c0vp04mp1";
-"beamertheme-focus.doc-2.3"="4s5pg3dl3ldq8fw00f06i8zd25bzfp0y";
+"beamertheme-focus-2.4"="nd44fakdvmm37ln2rf0b7v16g3b3835i";
+"beamertheme-focus.doc-2.4"="p7d93zq0psphws9blc0avgd893a0lrq7";
 "beamertheme-light-1.0"="9vz0g593s4ykwasfky58jqq6h7a95p12";
 "beamertheme-light.doc-1.0"="dvyzvi4hl69xvvgbhdbp5ax2l3z68nck";
 "beamertheme-metropolis-1.2"="g062nnxl4v5951xq2xa4smkdjq6v2xpk";
@@ -2798,25 +2864,23 @@
 "beamertheme-npbt.doc-4.1"="dzjby8rnpsgll6gvab9cslziqszhd4zf";
 "beamertheme-phnompenh-1.0"="01nbk38jh4hxk8vykf37x6bhnb55ijdb";
 "beamertheme-phnompenh.doc-1.0"="p0nj4cqg4vaaq6wlycicz0xbl7391lwp";
-"beamertheme-saintpetersburg-2018"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
-"beamertheme-saintpetersburg.doc-2018"="9msrd7ylkwfg6ijdx3rddcl143p17383";
-"beamertheme-saintpetersburg.source-2018"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
+"beamertheme-saintpetersburg-2019"="jkhmvyc96zm66cmfjl1fvrnz86a81zbp";
+"beamertheme-saintpetersburg.doc-2019"="9msrd7ylkwfg6ijdx3rddcl143p17383";
+"beamertheme-saintpetersburg.source-2019"="16hmcal8wb74z1qdi5r46w36w3n87n6z";
 "beamertheme-upenn-bc-1.0"="i535al38gpn0j6mhixm5g6vnlj7gi957";
 "beamertheme-upenn-bc.doc-1.0"="s7wxbnlgqxwpabb06jc5nawxm40bnia7";
 "beamerthemejltree-1.1"="iqjiwv4v9vp84a3cjjmv5gxygyclw5c5";
 "beamerthemenirma-0.1"="jix18byykz4n2mqcipf60pskfjlj3ini";
 "beamerthemenirma.doc-0.1"="llvppchvbd0zz9cl3lpswghs8hjm78rq";
-"beton-2018"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
-"beton.doc-2018"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
-"beton.source-2018"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
+"beton-2019"="0psc07yssk92pgrf4c9zvyr4k3ibbz3j";
+"beton.doc-2019"="9jpvnkmri3w4m9ik5d4l7mnlfpwxacg5";
+"beton.source-2019"="znwrdd877gdwmsiaxc9v8pczdw21wrb8";
 "bewerbung-1.1"="kb947mnv03wjc8ja8k402inijnplk1vy";
 "bewerbung.doc-1.1"="mv9vrqp8g689cvbwpm3xkczk98s1blas";
 "bewerbung.source-1.1"="w8z7h0w0ld2dd88a0yhp6p6md8hn7kkh";
 "bez123-1.1b"="9lx6fqcskk9lj28vcfhfnkmjb9dhlqdh";
 "bez123.doc-1.1b"="s5s834dhxqlqc5i8dswvayhf62chrqbh";
 "bez123.source-1.1b"="fsc7gqwcbpfjlhn0bljq7l0jd8g6zapd";
-"bezos-2018"="84mw1wv5d3qfjl5rc6rapzdy85iiq8fr";
-"bezos.doc-2018"="57n8y4fdm3dizjw2pz2x592cqjjxwidd";
 "bhcexam-0.4"="1px8zypnmrvi26ysrplj54pdz67ajcs5";
 "bhcexam.doc-0.4"="ksq01g78a489prh8lrrs0nn9k5jqasvr";
 "bhcexam.source-0.4"="ra3418l0mjj31jrkss9fysd4q1h3bdqn";
@@ -2825,8 +2889,8 @@
 "bigfoot-2.1"="i4hdv09y0blcrbhk554ilzc70fv19242";
 "bigfoot.doc-2.1"="ixi0hkjrzg740q3pkp9lwrq43ab1f006";
 "bigfoot.source-2.1"="jp9h2p1j46ha7ksxvh3d6rmxr0832r1w";
-"bigints-2018"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
-"bigints.doc-2018"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
+"bigints-2019"="6ig6fmxy6wj6k3yc4x9s7b18xbfxj4kp";
+"bigints.doc-2019"="jyxj3risms61j5aazx9hkxxfwbg6nyzr";
 "biochemistry-colors-1.00"="fvz3nlqi6y12g5pcyh118l6vjbw5kz2i";
 "biochemistry-colors.doc-1.00"="r7n07xkk4ixxk9zhz3ffkg7kqsz0i8fc";
 "bizcard-1.1"="l59w5wy3djx28g5yw2ywagi5am258bry";
@@ -2837,8 +2901,8 @@
 "blindtext.source-2.0"="dr68k54p44vgwp3rw9d1khc733k4apah";
 "blkarray-0.07"="djcla33mmskp42qbf8qg053p34515x1a";
 "blkarray.doc-0.07"="7iy0ssb4spk30f5janvknnhl91csvmyk";
-"block-2018"="b75bd0f6imd8svp869g4j3q2q02pilpp";
-"block.doc-2018"="gza7j45w5qixk19px05wr4q67m4lzhkl";
+"block-2019"="b75bd0f6imd8svp869g4j3q2q02pilpp";
+"block.doc-2019"="gza7j45w5qixk19px05wr4q67m4lzhkl";
 "blowup-1.0"="zhslxr7v04yhkdssranpiwpql9z7xsrf";
 "blowup.doc-1.0"="paw88yvcal35rq5wpfxm5s9hlsyz6z86";
 "blowup.source-1.0"="kmbxfjca3pwppfhklyhg8k5ddkxg8r43";
@@ -2874,16 +2938,14 @@
 "boxhandler.source-1.30"="0s647gs05wi22qcrv2zsb8x1713yhf1w";
 "bracketkey-1.0"="4l5l8s1xcwhlkaq50spccp2z90lm161f";
 "bracketkey.doc-1.0"="500h9kzvrkkqj22622hr4a78d6mz94jm";
-"braket-2018"="ck5gh00qn839wsxy2qili0184vswy0br";
-"braket.doc-2018"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
+"braket-2019"="ck5gh00qn839wsxy2qili0184vswy0br";
+"braket.doc-2019"="mqckibrwr123hhda3fnbf8wrh1d16bxy";
 "breakurl-1.40"="lsl2j1iflzhwwapb03s5hg137rynjjhl";
 "breakurl.doc-1.40"="rjyrmhd32w912qg9wd4qxc9q46kg8qc3";
 "breakurl.source-1.40"="lpxb827p465qc14c38rk14jrzag7jfq6";
 "bullcntr-0.04"="w4fxp9fvpbg882yb855sl4b6w8fypiyy";
 "bullcntr.doc-0.04"="l1p8zz226qbnzmx4n78xhjsrc26z7jxw";
 "bullcntr.source-0.04"="6lw02qi8iyp3qph7yaycfm5p1q6l71r3";
-"bussproofs-1.1"="v0s3q29bdab23xi07f123bq7gzc2i185";
-"bussproofs.doc-1.1"="6cnd5akpxdcq2q82n7ph5lvmb94ql8sa";
 "bxcalc-1.0a"="2rp7llfsbmsq521zm6kg9y0adrg5vq0b";
 "bxcalc.doc-1.0a"="8ha2i73lx8zhzgwb94wk3y30y6s1c393";
 "bxdpx-beamer-0.3"="q07kpnmln2v70w83z91vsk53c0i63x02";
@@ -2894,8 +2956,8 @@
 "bxenclose.doc-0.2"="9i72bmx63c76m7gc7qavv228g1afrnq7";
 "bxnewfont-0.2b"="42kvrm0ag8zrxavfijin59k9sg3akhhp";
 "bxnewfont.doc-0.2b"="wxkcv5hklkzxs3xsw28z0bknq0sjjhsy";
-"bxpapersize-0.3b"="41garkjgw98adpn761lrj849y4rzzi2x";
-"bxpapersize.doc-0.3b"="j6scsfx0fn9yd5illwnw41j8f17k18ba";
+"bxpapersize-0.4"="ac5kj0q162hag4q4h5sbbp86i9s7rkky";
+"bxpapersize.doc-0.4"="941fxl6638yxkc826a5hnispxz24z7ik";
 "bxpdfver-0.4"="rcizp6hg0bir8rf3njqc66kjcm7c9nic";
 "bxpdfver.doc-0.4"="nj6cpbjw4paw12ggkxg28nm1wj076dlb";
 "bxtexlogo-0.4"="5czz5b638x3h3gpyb2n5si8py53gwl9v";
@@ -2908,8 +2970,8 @@
 "calculator-2.0"="z44sdp5jlkqywi01c1x7ly2yvzkx1h9w";
 "calculator.doc-2.0"="dwb0bhngsn0xk56gnil8wbaj5dv7v0yr";
 "calculator.source-2.0"="3m4b364wkgfvxyc8y20rg8c7rh22rhyd";
-"calrsfs-2018"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
-"calrsfs.doc-2018"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
+"calrsfs-2019"="cq6j9glbxrl31xwx7k5s8ayispn82vfx";
+"calrsfs.doc-2019"="avw2hw984yx1vsxayn96nzhgqcfpz90r";
 "cals-2.4.2"="0xq2pylhs1gl542s86wm23nynnfzk188";
 "cals.doc-2.4.2"="yq4wig26r1cadd3kxg5bfraig4axvyvd";
 "cals.source-2.4.2"="fshbdf6ljfy0c7kdcvz5kyinysplcj86";
@@ -2920,14 +2982,14 @@
 "canoniclayout-0.4"="hk30976j3lql00w0rj481p8j6z5v69yk";
 "canoniclayout.doc-0.4"="gyr8yvdm21p45qqdjin8abq3v0kbh1lw";
 "canoniclayout.source-0.4"="0bqpq8mn7n7223ay0gfrq3dcpfzkxalc";
-"capt-of-2018"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
-"capt-of.doc-2018"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
-"capt-of.source-2018"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
+"capt-of-2019"="qmph3ai6555l904xk4q6sy4jml5l6nqb";
+"capt-of.doc-2019"="bpa4ll7afaz43ysz8m7q8fs8klvv4h4k";
+"capt-of.source-2019"="9rjjpf1v8qg3v8j27rn8x3b495lddicd";
 "captcont-2.0"="5s81zvby8iq2l0j4bkz99s56w0kvc5pf";
 "captcont.doc-2.0"="ivp30a2jxrnp8zivmdm61nn0i25kiarz";
 "captcont.source-2.0"="bgy7jzbckqnajp42hy4x31dvb01cjm7s";
-"captdef-2018"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
-"captdef.doc-2018"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
+"captdef-2019"="gx42x6flbn7jdbrbqzsn8csgi07ij4k0";
+"captdef.doc-2019"="fykmdpzxx24x66iph3rrzj0sc755y4nh";
 "carbohydrates-0.1"="x4rj3x70sfcdgq8sd8yv2486khxip4wz";
 "carbohydrates.doc-0.1"="lp5y1sx5s74px1x03366lpn676vhl6c9";
 "cases-2.5"="jlc3flcfb7ckwr4320n9gxmv2y7l4d2f";
@@ -2947,9 +3009,9 @@
 "ccaption-3.2c"="4l3kxgc46z9i4lrm479ghpv7d0077l07";
 "ccaption.doc-3.2c"="qm6lh4nrdndp4vivy815ajpj9jj4w433";
 "ccaption.source-3.2c"="fdfpz99x7z4avqx1q4nrydg3r4csq4fr";
-"cclicenses-2018"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
-"cclicenses.doc-2018"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
-"cclicenses.source-2018"="hgm5y1054596k129p6j4s86kv0m0ky76";
+"cclicenses-2019"="scxyv1a4lh05mfgbs55rcg40vbfyvvij";
+"cclicenses.doc-2019"="17zr0mgalzfnpayvzym8hri1yfz8c6xa";
+"cclicenses.source-2019"="hgm5y1054596k129p6j4s86kv0m0ky76";
 "cd-1.4"="34nj75mgz2mzxjbmpik2kvqhmwdmbw71";
 "cd.doc-1.4"="i7230mqkczs0b3nczmf3gkv8z0bx61mc";
 "cd.source-1.4"="h5plih2dk6kk9klc7lwv5gpx88apljlj";
@@ -2959,26 +3021,28 @@
 "cdpbundl-0.36d"="hf7h2yz4c0nydnrhdwl5jwxbzhqxv7mk";
 "cdpbundl.doc-0.36d"="5csmnns276bpm80l1iipvanggljgjq6m";
 "cdpbundl.source-0.36d"="hzg9ax2jn65b0rq2afqfxh1pk1rcvlg9";
-"cellprops-1.4"="fa9k7sirw5w4dfki3dc0sg3q769xf3qn";
-"cellprops.doc-1.4"="dfvh3lasmqxms1v410gnbzrdcqlsqa1l";
-"cellprops.source-1.4"="4ffh744gg8b0ba5rxkfbcdhnib0fcs7a";
-"cellspace-1.7"="0grnmj8yywvqmzvil5qdqqz86p0pxsch";
-"cellspace.doc-1.7"="00nzspr8m16s0wqs6q1v82gn40yj45jk";
+"cellprops-1.6"="j9vh3ffv6rnqj0zii45vxii1y2hcl9p0";
+"cellprops.doc-1.6"="rcv1mrcc7miy8wdf6372qdw6mzp0kf3q";
+"cellprops.source-1.6"="frqyqhc1zzlbf057a0iadrgi36knasry";
+"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";
 "changebar-3.6c"="76f70hw5065zfzmvbkrkia3ih5jhhkjq";
 "changebar.doc-3.6c"="310sfxf3nzqrrkcp2n794kpn4bzv9b3b";
 "changebar.source-3.6c"="xi3ldcm33mq6aa4jad2sfv7g58kwg0p3";
 "changelayout-1.0"="sx1afd6zrrl7jk40van0mwbf1ks7z6fk";
 "changelayout.doc-1.0"="lw4yjf3h1r2qr24b3s98rkm0r3ybdwgi";
-"changelog-1.0.0"="cd308rhsrrzsww65n3h8m8lvlaqrlwn4";
-"changelog.doc-1.0.0"="x8rn46yrl1s1gjqb8ka903lf9gjdn6d9";
+"changelog-2.1.0"="pcrl1awmrc771x3q1643nwv4cjl99mzj";
+"changelog.doc-2.1.0"="rfzl3nl53j2cp7mbc2plfwff741x2q0s";
 "changepage-1.0c"="s3dd0v3z0g8v74i6cnasyaa70wnqiimk";
 "changepage.doc-1.0c"="g63jqnyrkc74dd9ksi0s7pbxq7s4dzwb";
 "changepage.source-1.0c"="0ck3lyl2kzvm1182hmw88ni48paff7aq";
-"changes-3.1.2"="cwvly1wpyavn4rcwyyzsna35pf8icwrh";
-"changes.doc-3.1.2"="108fyvkca7dnqzkzpryafc7v55dgizs9";
-"changes.source-3.1.2"="zv0j05ila2bin8bq8kabw3xlrjaswg2k";
+"changes-3.1.3"="qcqmdxmn4djw537y28wxgnir6r750maq";
+"changes.doc-3.1.3"="cs00bm7sb9bqvwpzvg2qz9w03b5b41hf";
+"changes.source-3.1.3"="qkr4g9ajlzy5fhjgh4b7y6mwy5q44iwi";
 "chappg-2.1b"="231kpsvxwdnmakq4mkca0nisqdl622n2";
 "chappg.doc-2.1b"="nhh2f6k2z5gh449b91fmxnvh359n9adw";
 "chappg.source-2.1b"="74f8nr6m6ssdqxynrxl2y4za3rmj9sd2";
@@ -2988,6 +3052,8 @@
 "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";
@@ -3021,24 +3087,24 @@
 "cleveref.source-0.21.4"="7kvgpyz07knv09q52aplizs5zk455csy";
 "clipboard-0.3"="flll7lf5hy4hysxg3ppaq8ygzqsan82y";
 "clipboard.doc-0.3"="n4lc7mbwwxahicb51214fzgh5j2iyqhs";
-"clock-2018"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
-"clock.doc-2018"="prj65yh580yg74pckacsr432rki2nsl6";
+"clock-2019"="bcsbr112z4np0wszh3dwv9h5l8w11bvd";
+"clock.doc-2019"="prj65yh580yg74pckacsr432rki2nsl6";
 "cloze-1.2"="6aawammcpq8n2igbncbkip67ph5mapc8";
 "cloze.doc-1.2"="5lsz6hfblnzj9wjs7j43c07drsgv5mdc";
 "cloze.source-1.2"="x6gbbdxnvgfysjhv3xad83lfs9khg4f9";
 "clrdblpg-1.0"="rw9bphdh47x4kpwzil4pxvlpks1s4hz0";
 "clrdblpg.doc-1.0"="0brjv2dy10l0gy3sx6vjw3f5xq9h67bw";
 "clrdblpg.source-1.0"="7pcjrddv97fdsljj752n5gh9mygyl1ph";
-"clrstrip-2018"="87j9r9kbnxgi5qbsdi27ijclm65a46cd";
-"clrstrip.doc-2018"="7nqw5m1gp6jqkn6zh29dabsq90m2cr82";
-"clrstrip.source-2018"="crbhf7id806g74cd3pi7rzl6smhbajkh";
+"clrstrip-2019"="162pb7zzvbjq7pyfs383bjzhzbq4x6c5";
+"clrstrip.doc-2019"="piilqaxr9l6ffjv89lry3wqjv60v9gr0";
+"clrstrip.source-2019"="8h0sa1m29abmxxsdjzsr6iph09wc0174";
 "cmdstring-1.1"="mzw3hf7xhy01j9irvvlba90hb0065p1r";
 "cmdstring.doc-1.1"="l2hjd47d6wmd07rnciadrbir01887nd0";
-"cmdtrack-2018"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
-"cmdtrack.doc-2018"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
-"cmdtrack.source-2018"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
-"cmsd-2018"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
-"cmsd.doc-2018"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
+"cmdtrack-2019"="1jw2c4hx9xmalis8lkz7lr4b38h6srlq";
+"cmdtrack.doc-2019"="0fniwn5zccpkypjn9v5hjl0baxscpc8a";
+"cmdtrack.source-2019"="hlqnd8ar2w2wyjr7rxi6qbi3mw2ppgsn";
+"cmsd-2019"="4b40ccv8788hg71xh6sv12gnzyy2q4rb";
+"cmsd.doc-2019"="j3bvhldqzjqf1snv9pbg7k39sbwl2ccj";
 "cnltx-0.13"="i7agvf6p3zbmpp0yy54jcz30yk5wgndb";
 "cnltx.doc-0.13"="bfzwcspv6kaizp2cngdbgps61w40a61l";
 "cntformats-0.7"="v6xl1mkldlf6265h96m2q0bylifxhl33";
@@ -3047,9 +3113,9 @@
 "cntperchap.doc-0.3"="y2jdwmpp6r1w17svqw9iww07pi3blbah";
 "codedoc-0.3"="gva56ykkkr58q9gxkff6ng0wd5bk9by7";
 "codedoc.doc-0.3"="8w9r3z61w026a0zqmbsilmf4q382bvd2";
-"codepage-2018"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
-"codepage.doc-2018"="7rwl8dagypzj93xim0qj3gm56a24f8y5";
-"codepage.source-2018"="4955x5b5ddysnx8bksmwsqhj1jy83991";
+"codepage-2019"="y9xv0i4lq1nh9nav86b5j34rws8lln53";
+"codepage.doc-2019"="sv2vn5f4kcgzbg52233drja6705lcgcl";
+"codepage.source-2019"="4955x5b5ddysnx8bksmwsqhj1jy83991";
 "codesection-0.1"="mnsfhjy6j2ypxiwmwx85w2k2zyw928pi";
 "codesection.doc-0.1"="s2kwd6brlwa42pvhpjasx84s87vmbz8j";
 "codesection.source-0.1"="j94xngba5c8r55idfqgy7ra3imzkmg8x";
@@ -3059,25 +3125,25 @@
 "collectbox-0.4b"="2kxzzkgkgcjw80ff9n2mjnnfpxaxcdhj";
 "collectbox.doc-0.4b"="2xgqgni67w7q4ad0jqy4vr9wki08kn1g";
 "collectbox.source-0.4b"="szy9gprjqnkx357dca60120lvaiyyy8f";
-"anysize-2018"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
-"anysize.doc-2018"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
-"beamer-3.55"="6j7g5zkbjh79wh9j43hi5yfb68pwqgzy";
-"beamer.doc-3.55"="xrgl2ybi9qblzim9z0sfp5qi94kchjkp";
-"pgf-3.1.1"="5i2dlmd412v84digncamqlgnfv1qi2rm";
-"pgf.doc-3.1.1"="8j8as9w4j1jj8xmgj9brg4wxdww2rbqs";
-"pgf.source-3.1.1"="62xzh8qlpyhml2pfp2b55gbh4gx30ry9";
-"ms-2018"="ffg55s4fwk1r5lfv94wjw4f7npbvjpi9";
-"ms.doc-2018"="980rqpzi9zf2dn8aa891k4538rpzlq2z";
-"ms.source-2018"="ybpn3z6c8gw2jlbj3161l1gm6xxy85g4";
-"booktabs-1.618033"="5pj973c5lps8fzz4skmgik3892jii5vb";
-"booktabs.doc-1.618033"="kv5d1vbz28n5ifi1xnd4213q3dp55qgh";
-"booktabs.source-1.618033"="siz5pfb2skr927lz92dhhxirx44wsc8i";
-"breqn-0.98f"="g8kyjrldahq80n9m6kwy3i5zkzy865f6";
-"breqn.doc-0.98f"="wb4gpx36n2nkw2cg7nm0rmvpfvqrad80";
-"breqn.source-0.98f"="2f9gsnih6xnn2gps92n53k621lavzks4";
-"caption-2018"="m8mzmda6gali5wfap4352jisffrfk38l";
-"caption.doc-2018"="c99qjjhpb7ch7cyyfnafbzj9lcm2qdpp";
-"caption.source-2018"="j1zjjil7kk7am9r0qc7kjbddqbyixpyb";
+"anysize-2019"="0phqi21d8qz3ifadzfzyfb04v10xc46n";
+"anysize.doc-2019"="4as0n5cw5g21j1wy094gdrbw8pzdm460";
+"beamer-3.57"="p5nvgliaj010mp3ll25al5i59jsl465i";
+"beamer.doc-3.57"="810mwi012vlailxyqh88fqq5znnvlccx";
+"pgf-3.1.4b"="0vkablyicyimw0jbrgm29lhw9gfmd6ni";
+"pgf.doc-3.1.4b"="68jw3j17r06gclfyzlsdajgqbbikzrx1";
+"pgf.source-3.1.4b"="axqhmadpaw4srzqcj65lg69dxjr0m45y";
+"ms-2019"="1pl0q5d2rmp29raq2icpn03lfa7hynv9";
+"ms.doc-2019"="xwl23v3xbp7kahsh1d5lgjazbbbn91hm";
+"ms.source-2019"="9bmd1famkcmas9g2bb9mi0z6yjrlrqh7";
+"booktabs-1.6180339"="9fj9ar022akcyx1ymdf6i82j9na7xvvm";
+"booktabs.doc-1.6180339"="pv9qaxxlllqspd1a0i57d5m1lmfaz9nz";
+"booktabs.source-1.6180339"="wvlspksj5nlw9z1y8rmyaiky10wbnjk7";
+"breqn-0.98f"="9xpl65xypy6hgwc5dw3vvy7qqm638bvy";
+"breqn.doc-0.98f"="vppflv79a07m77bfzg1c5qv4521qsv44";
+"breqn.source-0.98f"="h5iqm33kqjrq9yf22grm4lds2hvcyz4j";
+"caption-2019"="8wlk0iizpz7x507gy3jn0s08anylfna7";
+"caption.doc-2019"="0n2msprhml7mdg7gdjrbq152lgaf7rrw";
+"caption.source-2019"="3ac4030rz58az0l1049pq5qfwll47hqv";
 "cite-5.5"="7vzh6m2dnlxwkiw62ifbyn9hx82jpgyj";
 "cite.doc-5.5"="d20p75a21nvifkj1f61fd9ah5580n2bx";
 "cmap-1.0h"="bky8rw1a9f00x6fzx611hgfcyf7d115f";
@@ -3106,93 +3172,99 @@
 "fancyref.source-0.9c"="54cyla9pjr00km1djk4jc0h8ly50c8d0";
 "fancyvrb-3.2a"="61ndr9r25hh660320x2mblk2ya0zl1z2";
 "fancyvrb.doc-3.2a"="64pdccdhvxjxvyj7l5g8hmd0hr5mdsm1";
-"filehook-0.5d"="95km0y68ldra3ha3c3j83zlchg7d6xn6";
-"filehook.doc-0.5d"="xvrasdz1m52dsjzn3wv5hy1pdwka3msk";
-"filehook.source-0.5d"="il5yprd7hw76wmbb6xmqz9njhkqjqkz6";
+"filehook-0.6"="srkyqmn87cndcbv0g0czlx47y23w1cxm";
+"filehook.doc-0.6"="gpqb7rw6990yrr748mn172k6fhfkkx0w";
+"filehook.source-0.6"="mpr60zx7c07v8x2hkdkvr2mkmw02xry5";
 "float-1.3d"="dqksfsgqpc0vprkhfc6c9vfxlbrnn8sw";
 "float.doc-1.3d"="88hpzqh1011kwvwwm5bppb2gx6c9qqrv";
 "float.source-1.3d"="j1vp24g1lvwniahnd9vlw32c61cjswn9";
-"fontspec-2.7b"="m7wfx0jxrpdsn4mjf228fp26y6r88jmd";
-"fontspec.doc-2.7b"="p7z1haj9ff0dl170r75xnqiaaj843lns";
-"fontspec.source-2.7b"="r0c36268dvs5wpvc4rzq7x4qblrvjy71";
+"fontspec-2.7c"="2842bpfa18b5bgcj9as9ps7hzf2ja1pf";
+"fontspec.doc-2.7c"="z707r1gckqx62pz0a7y77ssv052975cx";
+"fontspec.source-2.7c"="v7dghy4rzkypkvhkk673iyjv8dvynv4y";
 "iftex-0.2"="3amzn5jjz9l90w90rhrrq75shl1v731z";
 "iftex.doc-0.2"="n514jbc0x2jxsk39lhayr74xpzfgqvn1";
-"l3kernel-2018"="sw64lldqrag514q9l4ibwcb3h7b6vmcg";
-"l3kernel.doc-2018"="pkx3w6gmlfh96phhxic57w4x0k85w2n3";
-"l3kernel.source-2018"="gyynh0ysb99n8gl5vvq65s3q7rwh1b6x";
-"l3packages-2018"="fl3b1w6sfqyj888s73mn8bkhsas2pzzy";
-"l3packages.doc-2018"="l4nb45dlwi9bq41zq5wi0bsl7pr6rnzs";
-"l3packages.source-2018"="lh938srpn2ab9ljdz7fcbs0gandfyq59";
+"l3kernel-2019"="3ayz6qzmm29wi7vnjffls8kydc9sy8y1";
+"l3kernel.doc-2019"="8mzh11mvpbl7a2ggvg516330azr7534l";
+"l3kernel.source-2019"="p1f2dsmql6xzbx2x3czv4pfwvv0x1mpw";
+"l3backend-2019"="z55f8pgpikxdkj3pyafq7icrzn1cvk8x";
+"l3backend.doc-2019"="plqmv9h1sl8lxvj2mib0dalcdlbc66m4";
+"l3backend.source-2019"="i97xnksvscihnk10ih2fa066x55aisgj";
+"l3packages-2019"="ms46khqwjk804yk95hilf7dbsp789nz1";
+"l3packages.doc-2019"="xbmww23xqpj8rmmfrw64cs3k7q3pklr0";
+"l3packages.source-2019"="i74rqdvagwb54zrrnff2h0i3j06g6bxa";
 "xunicode-0.981"="ybvkdgz4sdl4nixzgz2rbmqfz7hwajv4";
 "xunicode.doc-0.981"="lydvg50dcpp0lk3m9niwdyf1vra61mgf";
+"footnotehyper-1.1"="3rx9cwmnz90z60lh97lafxidphh5hivv";
+"footnotehyper.doc-1.1"="y1n4fhq1gk9fcdbhl0qdk7qfrbpsm5f6";
+"footnotehyper.source-1.1"="nsq8cwpdz3fljgq6hn1flag38g2fbpv7";
 "fp-2.1d"="lxyxf8jkbgrkk43qbnr2s3ns19ihgmw5";
 "fp.doc-2.1d"="ih2kq6xp1nd5gs9bc9vhd34qa7jcj093";
 "index-4.1beta"="qbh9vs69mrp2czw492icb71wbx4nzshx";
 "index.doc-4.1beta"="l3476by3qz0r0cn3lcbw006ay5p11naz";
 "index.source-4.1beta"="0i38dyjh6278hxgkdzy0wvlcbn2w0k7n";
-"jknapltx-2018"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
-"jknapltx.doc-2018"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
-"koma-script-3.26b"="96y1k4pz31yr9v46i241f78k8f9qqsdw";
-"l3experimental-2018"="vqnf1rf8k8jg2n4qn33570576iphfshc";
-"l3experimental.doc-2018"="85gc0hk56qp7niqyfxl1fiikalmzqfjx";
-"l3experimental.source-2018"="lxj05zq2ljkh1nw6xxxqafg1h7nnz29b";
-"latexbug-1.0e"="jjy8i8h7l93vhq1hisvc9msan3nl05ls";
-"latexbug.doc-1.0e"="aiyx5hdf6a20591zwf1hls83cr2g4kkr";
-"latexbug.source-1.0e"="fgw8zm6f20rrl62g5d4iz3k6kpap6rb2";
+"jknapltx-2019"="cvwv1bfgf5s8rnahghpy2pbb7kgwzqwp";
+"jknapltx.doc-2019"="cxdmxr63vm4sm8rv6bp9n3yyw5gqc7y3";
+"koma-script-3.27"="9ksv30m8h1g20wxvh61wj3sfv01cja5i";
+"l3experimental-2019"="5m3d2shrmk7njn1jd7bxswaq5wdp41ba";
+"l3experimental.doc-2019"="c1nqvxyj7yfchgr85p8wbz5x0zm5wf5n";
+"l3experimental.source-2019"="fhav9zik3s03qry2x0krn1g7yiffihiw";
+"latexbug-1.0g"="fjk32p2lbq0bj54snnajz4j21x4dbqsr";
+"latexbug.doc-1.0g"="1s1j51jphz3wphi8idq8jpvi935ag683";
+"latexbug.source-1.0g"="lnghssyyyrc9y2nca730pchkyvjmbk40";
 "lineno-4.41"="kvbdigwxw4db752kssgdb8rlxhljkkpm";
 "lineno.doc-4.41"="cfnil0v0isahd65d1sly2kr29w38h535";
 "lineno.source-4.41"="w30n8z3rnrvzpfa1d1s7mn3rcj03s892";
-"listings-1.7"="fvf6amw5a84ksdmfz3avbbg665v6x3lq";
-"listings.doc-1.7"="63wqr8c5z1ln6dx874xi6m6q92ka6wgn";
-"listings.source-1.7"="jmlva484yz09jskq0rnv91f8qxyb2fqg";
-"lwarp-0.67"="k57vn41p2jfpfbfc9f9fadfzbmcgwhzb";
-"lwarp.doc-0.67"="yyvzab5davwcbrydsilm751p8c3xh4vh";
-"lwarp.source-0.67"="w4bx46qa0dr4qgrp28a0xvls9jbydg9d";
+"listings-1.8c"="2asfcbjg5w9zxjfq2v9bdfnvyx6p1cmq";
+"listings.doc-1.8c"="xmczlyi7bqi8wy7247p9h08jhabkkq0z";
+"listings.source-1.8c"="9l0i48d1grilpgkna68abx3xbh7pb598";
+"lwarp-0.76"="8r1cpc8d7a09mx8g3k2xclr0wkyxkr6z";
+"lwarp.doc-0.76"="l65xk9wmi5s3qy4p9zm3f167p4fif9is";
+"lwarp.source-0.76"="2bya1h32g31g5ki7ajgib3g1iwkprxp5";
 "mathspec-0.2b"="kwvx81d4nlxj7vbr2n5zvgnfvkasg4y0";
 "mathspec.doc-0.2b"="rqykkdkfahnnnphcns26p19z9mr2mlgh";
-"mathtools-1.21"="j83lp7dmvyrmrmb1ii9xvfgnxjciqq5a";
-"mathtools.doc-1.21"="0hphh6ki9ndmn3kwxyn9xw3qqacs6k2j";
-"mathtools.source-1.21"="nwzvsz16kynk9ir83fgxm9j0s754dfh2";
+"mathtools-1.22"="jz5mji21zr6wna5dqnl5g9mvkf4z07aa";
+"mathtools.doc-1.22"="zy0nszbmq9jdpdxxin8fyc2rz2307nrn";
+"mathtools.source-1.22"="zjlqphmbjr8hqkv8ail9j83yy2cwl3mb";
 "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.7a"="cqjymkpz9b5h7m1dpc9srxqg96w2fakj";
-"microtype.doc-2.7a"="2ggf95cm8dihlzyh6wqxxckqhp81rh1w";
-"microtype.source-2.7a"="ii2rh93cl284ci6l75rkgrz6jgirhv3c";
+"microtype-2.7c"="kb96fykrpc13hn3s0vg6zb33dyx1cdi6";
+"microtype.doc-2.7c"="kr2m34rdkf2a62h8m9zsk0yqpi1g6i5k";
+"microtype.source-2.7c"="ysd9892wj8zi2hi4qzk6pfpknsv9xz73";
 "ntgclass-2.1a"="z5fz8hxig5gp5ii9780b8filsbk7qxyq";
 "ntgclass.doc-2.1a"="900yw3bcc4mdycknaspf867wm8fc3g7b";
 "ntgclass.source-2.1a"="rqd773gdvwmrz54igqz6qz54z4irajvg";
 "parskip-2.0c"="1vbvla6bsakgvv9f17ni5dxlh88xy4jh";
 "parskip.doc-2.0c"="2zm0jh7i14djl8xj2ww657f0qiwgqhn1";
 "parskip.source-2.0c"="1nnnvrl2jshgbwjjzmaw2w5qmczifnm6";
-"pdfpages-0.5l"="sb8n59whchnf3xl3gz8hwwgmihpvpz68";
-"pdfpages.doc-0.5l"="qgignjcc966a6gbx967js7lqx10fr230";
-"pdfpages.source-0.5l"="vv4r7sr23rlhp9jiihajiys8w87fxci0";
-"polyglossia-1.43"="r9rsxi11483kib89mynp5wjjp90f58qf";
-"polyglossia.doc-1.43"="2isfbzn41hz4pk5hdrpkpyj0cam8cdvm";
-"polyglossia.source-1.43"="7sn9bkz24275nxqa92d28y0xj6c3xpny";
-"makecmds-2018"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
-"makecmds.doc-2018"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
-"makecmds.source-2018"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
+"pdfpages-0.5n"="a50qjswa0drdgin6zsyz0m005mby2sgi";
+"pdfpages.doc-0.5n"="6j0mvrgzc4vxnc4f5xv2n9zmbshmyb61";
+"pdfpages.source-0.5n"="mbdklw49b4wqb9ir8f3cq105csjlaw57";
+"polyglossia-1.44"="jaqzsrm9qm1ly20a73hj0cjcj92fhqgh";
+"polyglossia.doc-1.44"="pwl89hlpg6b3v9vwwl0jafg9d4x8d6hl";
+"polyglossia.source-1.44"="r9wdjpi1jhr3daxl9wsz4mgc4v0cbgpp";
+"makecmds-2019"="anpaqglvl5rmcy8r2q0ap8m117nsx89q";
+"makecmds.doc-2019"="39zxaxxqlmps1wd4rjy42a1hk027n06v";
+"makecmds.source-2019"="j4g888p0hniq7p6b30q1fb4qfw3qp7i6";
 "xkeyval-2.7a"="nznhb9srbfg7ifdi2mlkqbdcsq6329a4";
 "xkeyval.doc-2.7a"="k84lpc1h5d71qcb2k5rm5fnn04pv8czc";
 "xkeyval.source-2.7a"="9g5vvb4y71qryhdbjwjyxhh2w86cch0f";
-"powerdot-1.5c"="dq53xc4c6n4qpxcqkdazwn6b8v8z94f7";
-"powerdot.doc-1.5c"="ph5p9y3knn1w1hkzb79kdxcwkg6fhrbs";
-"powerdot.source-1.5c"="245bf49s69vlxk1f1mlbdyfhx68icgpj";
 "psfrag-3.04"="k8qyr0l3fsc4insyy1r6q596dq4gf23a";
 "psfrag.doc-3.04"="ybb4r3w20w1pcjwzaw0srpkx5c19rqg7";
 "psfrag.source-3.04"="xk135sb77fk6l9wz6fzifsjvchcqyj0f";
-"rcs-2018"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
-"rcs.doc-2018"="m1lw85b793n2nxywdi39fg438i6kif7x";
-"rcs.source-2018"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
+"ragged2e-2.2"="9d56j53as9gdh5xsyyj1mvz9f5cy93r2";
+"ragged2e.doc-2.2"="911vhpxz6gryks06j0nzcg5d04393jl7";
+"ragged2e.source-2.2"="cndc09ydns267p1r7sr7hwlmpg4mqgsd";
+"rcs-2019"="4lkd02hz1x9zkxnh247wmwy6n9pg4pyw";
+"rcs.doc-2019"="m1lw85b793n2nxywdi39fg438i6kif7x";
+"rcs.source-2019"="iw4nn20q54s2d4wdyby7n03ljcqrjmig";
 "sansmath-1.1"="yxyny4949h4hm4ajn673nzzw8wn8cba8";
 "sansmath.doc-1.1"="b8vzdmm1l2x7cyc15xzhmwjkszlsp2j3";
-"section-2018"="69anwmylbk95jbgr8645abp07ygv9f9g";
-"section.doc-2018"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
+"section-2019"="69anwmylbk95jbgr8645abp07ygv9f9g";
+"section.doc-2019"="ri1gsrpfp94rp0dc90djj1kgpka2p5gl";
 "seminar-1.62"="z9nzymppz6hz3lxy0nliqvy5szq6jk4c";
 "seminar.doc-1.62"="23fz6p4ybl42rmr1m3fllg7qn1zbmfki";
 "sepnum-2.0"="x64bd0f3g1x0bcpdgd2lfspr13jyxvcf";
@@ -3202,24 +3274,24 @@
 "subfig-1.3"="sbdadp9ya32w2h8f484zwpmpln2zi4l0";
 "subfig.doc-1.3"="y5g4iadgvkfi144zk37fww79r0smsfk4";
 "subfig.source-1.3"="3xn4yhi29m77001w2hy0s04svik5z5xx";
-"textcase-2018"="5a82axcc916n61755cafcqcz3vb7w27h";
-"textcase.doc-2018"="b8iq4xf229k6p8s0b38br9gncyqhrlxl";
-"textcase.source-2018"="xlgxjkf93zrwdhk44zmxazfqg1yw88pa";
+"textcase-1.00"="bx5a8yyv2wz1y2rj4sjm2psw3x1j3c43";
+"textcase.doc-1.00"="lx43w8yqkg66bg1b2gslsakj97jr7far";
+"textcase.source-1.00"="vjlmjci0821c4cnbh8bq2x3nkiwaji0k";
 "thumbpdf-3.17"="m4b0akrn0sq4ngalczdq287avr5mrpc2";
 "thumbpdf.doc-3.17"="9759lhx69f2406pc4ggg4q2hjws5nnr4";
-"translator-1.12"="zywqgzzdv9iq5qh14himidbswp4rg553";
-"translator.doc-1.12"="cwf0r8gq3ivpyiclm76dnyc42zzkjzm9";
-"typehtml-2018"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
-"typehtml.doc-2018"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
-"typehtml.source-2018"="96p79dyy553b4mc01ihk7qgr11396drn";
+"translator-1.12a"="n6lhccnywi25q2hkdk3ddvgywcxb244f";
+"translator.doc-1.12a"="qyspw49icxily7c7ky0apm8313v0rwh0";
+"typehtml-2019"="rk5lpbaikavkp0shg38cdk5b209wx3kh";
+"typehtml.doc-2019"="292x26pw24azh4zdwpy6sh3f1ksk8r2x";
+"typehtml.source-2019"="96p79dyy553b4mc01ihk7qgr11396drn";
 "ucharcat-0.03"="d445ic6gwl7d5d31s691vr63f4hn76dz";
 "ucharcat.doc-0.03"="ma6rz3djr9v3q5p8ffqyznjb91gjj5li";
 "ucharcat.source-0.03"="kh9cnzg1pn8c51bbph2amp5y1j85q38h";
-"underscore-2018"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
-"underscore.doc-2018"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
-"unicode-math-0.8n"="bmxmdizqgxvvxic1rcbifznq1ipfp0kf";
-"unicode-math.doc-0.8n"="q2lvm6d9mmx75q3w4m8j6rw5ydghgpna";
-"unicode-math.source-0.8n"="4vcqrqrff1y0dqm5dv100a2iv22dwv8s";
+"underscore-2019"="b7kwk1zddr5a19mcw3yxrp9pffc604x0";
+"underscore.doc-2019"="gwqnbwqn6vjizs1xqnmbv8fmcrs274fr";
+"unicode-math-0.8p"="f2f8bm0png538nm7jydkm9l6qf10vjpz";
+"unicode-math.doc-0.8p"="62rpcr8civdwkdd1gk7fg2mf441h64pl";
+"unicode-math.source-0.8p"="dgv0nciqxh74dr6mxlcpljy5qchvan9w";
 "xltxtra-0.7"="k32hfwrcbhp144n8rplwjgxmz89pw9zm";
 "xltxtra.doc-0.7"="vkw5vjdd8n7qxi8plhjb4xygh97pfj5d";
 "xltxtra.source-0.7"="y27f01j6zgm06nmsgcp5kl05p637wvj9";
@@ -3240,9 +3312,9 @@
 "autoarea.doc-0.3a"="zh69glasmj251qwrw6pjrshprd6x4hsh";
 "bardiag-0.4a"="vh54valkzncvzlx8y58gzs3k5jq66s69";
 "bardiag.doc-0.4a"="576s5nnqvq13rjnnn4l2d1g1rnd64vvn";
-"beamerswitch-1.5"="98db9mbdibid3l8x154zj097020gn13v";
-"beamerswitch.doc-1.5"="jvb5jjlxw5cl02669q2i5q5nbn2pbqf0";
-"beamerswitch.source-1.5"="kc739zcc3s0h8wnph4cyn3glqp18knfa";
+"beamerswitch-1.6"="l759yh5xzqdxswf8hvbxpgsvpdbql82a";
+"beamerswitch.doc-1.6"="pixyxdhyci4j613cijcsm2bg20z9q8i9";
+"beamerswitch.source-1.6"="hnq47sdb3cqvxa1z0w1q3pwf838iga4q";
 "binarytree-1.01"="xl1rqgn286y7hpv69bwja6c5rrbx29g9";
 "binarytree.doc-1.01"="7ihijqc33m3ydk77aw0qqqhf94yyrz21";
 "binarytree.source-1.01"="lk7v0gr502ck4z0d605z6mwkswqpmfyk";
@@ -3261,31 +3333,33 @@
 "bondgraphs-1.0.1"="grfahi07937nnb8nm3b14csxv6bf3w7w";
 "bondgraphs.doc-1.0.1"="dky0vgbx6hfik4xjavvpvvm269hgsqcv";
 "bondgraphs.source-1.0.1"="zmcw2pr67zm6my8021slkbg8zvmbkxic";
-"braids-1.0"="pr84ska1cwhirfxq0g79bibzhhqr409q";
-"braids.doc-1.0"="yidgzx4j4n9d2zfs9y9brvnm6696m3f8";
-"braids.source-1.0"="2d9har9yfm1qxgnf08zdfpsndnr8grzq";
+"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-2018"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
-"callouts.doc-2018"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
+"callouts-2019"="i91ky84hjizrxkhb5k6281iq3fkifrsg";
+"callouts.doc-2019"="k4rca9nia095sgskhv0kzp1qqw0ydf8l";
 "celtic-1.1"="mr86xyd6md9n5b17a6wga40k8z98dq7b";
 "celtic.doc-1.1"="3mwjjxnv079m8ginlv5my50jj1cmpjv0";
 "celtic.source-1.1"="z25a01arypma6jfyj2f16n36hqyicffd";
-"chemfig-1.34"="as11pfbi1as1iah90g6y7r08fk4yksf3";
-"chemfig.doc-1.34"="6h6qgy8cfwivx075grvk6bfi0nfkk30q";
-"circuitikz-0.8.3"="krbwmn8nd6adhbjm4pg7rfxj9aff15cw";
-"circuitikz.doc-0.8.3"="sa8797nhxww4z85k37kmr5ipnyqa3k1s";
+"chemfig-1.41"="159wgzbnmda73q0s1lgn3jbfm5hywyn2";
+"chemfig.doc-1.41"="h86pl1g5w2fli361za5783pv7w62kkww";
+"circuit-macros-9.1"="9mnl36vzk80ci01283pn05rg6jl83xf8";
+"circuit-macros.doc-9.1"="rdzhyx1inmh6rnqzdbs830xnknvlc7d4";
+"circuitikz-0.9.5"="3z1x5j6p6maapmxgkl4gngn9mhszr0hj";
+"circuitikz.doc-0.9.5"="5psr4l9hdgm6766qh4dhx0sgspx8yjh7";
 "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-1.61"="ljjv1nfp078r3hh2jyayl25h4blrdvih";
-"curve2e.doc-1.61"="6i4d33f6hgccyh79v4lmp4dva7w4y9a4";
-"curve2e.source-1.61"="l6x74kclz9jcfx4irm860bkymz4aklf0";
+"curve2e-2.0.1"="bgzyk69v782swwlc8jj677lqcgc0bglw";
+"curve2e.doc-2.0.1"="bx6bxwa82k1ms94qxr5czhfcgr7qals2";
+"curve2e.source-2.0.1"="29fd9y77g6ijz70qdjnlv5jn4if9hvn9";
 "curves-1.55"="2cyy1kwxbvxpvxpvvsbh7nvh5q5l7n7b";
 "curves.doc-1.55"="jk4ma0hcrdg6lwy4l5238b9xzsb8lfrv";
 "curves.source-1.55"="q9l5hcsi0n14kkcim30yk6i6sxc5cmvw";
@@ -3295,14 +3369,14 @@
 "diagmac2.doc-2.1"="dfp1br71r19b0pzjzln61wjdn30qy0n7";
 "ditaa-0.9"="pbrv5kj46v258vy3dzlp1js4m0sp8wjj";
 "ditaa.doc-0.9"="db8d34zf2n19xlzljydai7vyz3p11wi2";
-"doc-pictex.doc-2018"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
+"doc-pictex.doc-2019"="770vj0w7dzrw6n4jf1dfds5ngk11cf6m";
 "dot2texi-3.0"="igh08hai8lpcr0pn4lcfx5b6kgymw4sp";
 "dot2texi.doc-3.0"="r038r86xd4csibgk9n3h76qc5ak1zpl5";
 "dottex-0.6"="yvd132700sxd7hnngskg6w30r1cpx3m3";
 "dottex.doc-0.6"="67dpg655j83k809rs0ybc3cxpy2lvvqb";
 "dottex.source-0.6"="fz625gq3shyvx3wk5jk4hvr33wls038a";
-"dratex-2018"="ydbymdy490gw405n0gn3amd771knss83";
-"dratex.doc-2018"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
+"dratex-2019"="ydbymdy490gw405n0gn3amd771knss83";
+"dratex.doc-2019"="7z5sxm5li3by76x7sw9hq83gl34f6gkr";
 "drs-1.1b"="h9fz09xdgwgnbif1vxa1k7rxj8v9ri5h";
 "drs.doc-1.1b"="aq84i4xdklf4wcripj60cc9fd4w3zhhc";
 "duotenzor-1.00"="fx9ljkzzp09x8iajbwjlrzcjxf382k9x";
@@ -3317,10 +3391,10 @@
 "ellipse-1.0"="8whg820p9jrqn4nfb7lc3w8d1a2cyfvn";
 "ellipse.doc-1.0"="i9njlr8m3jb9pcrwqsbcjbsb26993p8n";
 "ellipse.source-1.0"="25xhi22s1cvkyzbjwchd50ixsx6awfk5";
-"endofproofwd-2018"="xn4xfhhr3k5cq53ab6rkjwvxqs877kq8";
-"endofproofwd.doc-2018"="q8zg1zy1909bsif59caj8rmmjj4g3v4i";
-"epspdf-0.6.3"="h50y3g5yrpqgsm0w913lf1pv0fnfl83v";
-"epspdf.doc-0.6.3"="g7jxwc3n9qjnj5fby3v84hlwz02lvr2g";
+"endofproofwd-2019"="xn4xfhhr3k5cq53ab6rkjwvxqs877kq8";
+"endofproofwd.doc-2019"="q8zg1zy1909bsif59caj8rmmjj4g3v4i";
+"epspdf-0.6.4"="h50y3g5yrpqgsm0w913lf1pv0fnfl83v";
+"epspdf.doc-0.6.4"="g7jxwc3n9qjnj5fby3v84hlwz02lvr2g";
 "epspdfconversion-0.61"="4dsfb50v8zqbx8nqlzlj712jiq9hchwz";
 "epspdfconversion.doc-0.61"="bxc42asj3as5dx1qq4axdvfs30lfm24b";
 "esk-1.0"="1hsqxgyh6nbwdw4fl5lsivg6wh1v2s1r";
@@ -3345,16 +3419,16 @@
 "elocalloc-0.03"="mk2cs80z0gh4dx409y2n3h9cr8ls1la8";
 "elocalloc.doc-0.03"="0p4f0hwr11xvn57adggbbssn9iiynsyf";
 "elocalloc.source-0.03"="spa5lrwk7nikx08v1pgp0xrx4c2gbahk";
-"genealogytree-1.31"="kiqk2g93pzz3l5ql1n79hwl75lxk0qfp";
-"genealogytree.doc-1.31"="bhhr7740m764zqj1iw3c397clb1c3pby";
-"getmap-1.10"="hhsp0nkp3260mx30bxnm0ni23p5yx3ps";
-"getmap.doc-1.10"="mi6nzjb83aswg8cl0bl60qvs8g250kgv";
+"genealogytree-1.32"="qm4n5cdjzhn48x7bhr8dhzi1harh1hm2";
+"genealogytree.doc-1.32"="ic98gqb5i5cdaczqqwg4mjah7sywdwp4";
+"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.2"="mbk6yk5147w2rx00503pxmhmldykggdy";
-"gnuplottex.doc-0.9.2"="i0450hl7wd09618hy9igkz3g80zzklwl";
-"gnuplottex.source-0.9.2"="dzmxjcpajp5ylmj1hqn6zqvl5b0c5vlz";
+"gnuplottex-0.9.3"="r27hfr5pf31ihjv6nyyv3gwpb52pix26";
+"gnuplottex.doc-0.9.3"="5fd22z8bg4wd67sg5dzrmdb6bhv997l5";
+"gnuplottex.source-0.9.3"="1lan5zdflfhb2rvm65zdmcp56izp6khv";
 "gradientframe-0.2"="x80zlqzx72n55qpazclikrafwzny8ss5";
 "gradientframe.doc-0.2"="pgy0vrx4nvys3wki3202r377nryd0r1h";
 "gradientframe.source-0.2"="10dx55zpi0j7xzdkry3dh41ax873mmmk";
@@ -3373,24 +3447,26 @@
 "gtrlib-largetrees.source-1.2b"="knfqk3b14idsc57fj80ngw26xi7pcnwk";
 "harveyballs-1.1"="axddj0mvqck1gmg0b7s43q7gi9hm1327";
 "harveyballs.doc-1.1"="rpsz7hqyyp9h5sa0hxmxnlrs6na0imbn";
-"here-2018"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
-"here.doc-2018"="445zak4q5zdlbhvkb8gvkg20wpmwjmgs";
+"here-2019"="3jh68lc8arqbg7kb8ixc87i12qlrnh23";
+"here.doc-2019"="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-1.2b"="bwsjy123hc62a1h4v0mj696jf4rjrizn";
-"hvfloat.doc-1.2b"="4hbmh1nfyp7xf78mshh7s0h38mfvqqa4";
+"hvfloat-2.16"="42b4aspf04rp4gvjlxh51284g8vkmhpn";
+"hvfloat.doc-2.16"="qsn79czwvj36r4ifp0yb8p8hrfrs4p4w";
 "istgame-2.0"="il4ycc7pxqvpyals4cvc2bkgvzc29vmc";
 "istgame.doc-2.0"="rr6wnw1csla45zv7kmcfizj72rfcgx05";
-"knitting-2.0"="qam4lj8q2acrb4pl4yqapl2d49hjacvp";
-"knitting.doc-2.0"="1kl1yx9iw11zig2pclzr7y3g290ma2bd";
-"knittingpattern-2018"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
-"knittingpattern.doc-2018"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
-"ladder-2018"="wgw0drkb53daslzwsvg48dfznndrz6dp";
-"ladder.doc-2018"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
+"kblocks-1.0"="lrlcxbcx98bsjxwkr10w5wax3x4lmyjm";
+"kblocks.doc-1.0"="wkh5wnh52fw7qsw07nq8zvj28l921s05";
+"knitting-3.0"="zggfcjvr02xigbnrhnz1cdlz9hqkcv5j";
+"knitting.doc-3.0"="40gp4l967is4ljnbh4k03w1a87r4n0py";
+"knittingpattern-2019"="8xvccf07iwn71kfnj9f3pnni3imwd9kb";
+"knittingpattern.doc-2019"="bq96pr4hd9mg70qqfwjynhix7ljabbk8";
+"ladder-2019"="wgw0drkb53daslzwsvg48dfznndrz6dp";
+"ladder.doc-2019"="32b2x9zydsp7b2zncs2lg6ldz5cs7gpa";
 "lapdf-1.1"="g5x8axkiscl5796b82is201vcbdxvc3f";
 "lapdf.doc-1.1"="3lpf17r6yqaa7ld8742cp8a7crafpc9x";
 "latex-make-2.3.0"="0q8ifbm69vizlg5bkkqv781w75n2icql";
@@ -3403,9 +3479,9 @@
 "lroundrect.source-1.0"="4ad9gr28lqir9g0a15pa31wybbc9m935";
 "luamesh-0.51"="h9iynwv9kpydaizfmn51kfvinqnmlixq";
 "luamesh.doc-0.51"="jmg6frxjcmpn3s4wkv11s2kbpb8aaidh";
-"luasseq-2018"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
-"luasseq.doc-2018"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
-"luasseq.source-2018"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
+"luasseq-2019"="k07ymsxywmasi0nkdd2ldk164lf36z9d";
+"luasseq.doc-2019"="vnqisa721w2nx11wxb3zsk070b3dzm1b";
+"luasseq.source-2019"="341ldjdwdvjin4rq8ica4f69hb5kbwr1";
 "maker-1.0"="88vzniwk6x9fqhp4y3g32a1cj6nb57g3";
 "maker.doc-1.0"="5w3rag10kbzp8whk0hjrl1ic7iqrna8f";
 "makeshape-2.1"="y9d0868x2s8950zphcf6sdz3l7a1sw9s";
@@ -3413,10 +3489,10 @@
 "makeshape.source-2.1"="5ddzsj9xakk5hwhg54snvv7bp0vlmjd1";
 "mathspic-1.13"="x4m5r6mv0y3cc4vx1qb6anrparbgdvlq";
 "mathspic.doc-1.13"="qh2ycvh04kxfihxnri5fr5zxdkk04ppa";
-"milsymb-1.0"="3p1nz0lkags3gdlpqlvsifm1d06aysj4";
-"milsymb.doc-1.0"="zk68hivzcmqvj57csg1rvr633s85ga6w";
-"miniplot-2018"="3myl55b3q359l0aillyxg7pisii3llpj";
-"miniplot.doc-2018"="hi57wciv475ix91zl4rh30lv5pffns1p";
+"milsymb-1.01"="qcagklmphxh4svksm4wl44hw3jq9zgdw";
+"milsymb.doc-1.01"="pcqfylx6visrn6b9503aq68zh4zgbxp0";
+"miniplot-2019"="3myl55b3q359l0aillyxg7pisii3llpj";
+"miniplot.doc-2019"="hi57wciv475ix91zl4rh30lv5pffns1p";
 "mkpic-1.02"="m0rzxyzpyjzial8vvd5nm2rny449ka5b";
 "mkpic.doc-1.02"="m0v80hkyq699sbmdbv5ydp75ccdh5yd3";
 "modiagram-0.2g"="g2syxjg96d46hkn75ym5p3pszq92kn9y";
@@ -3430,8 +3506,8 @@
 "penrose-1.0"="k6jlwvn60krdxcf7dj61nydhvf4smmfz";
 "penrose.doc-1.0"="yyv1mdclnrrvb52b68akbah0nd9jr68i";
 "penrose.source-1.0"="brmpi34mmx9b7vs1vl1gb2mbz4mxcnlm";
-"petri-nets-2018"="0yny9mc10syfx1a716sjw3768bf1a51z";
-"petri-nets.doc-2018"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
+"petri-nets-2019"="0yny9mc10syfx1a716sjw3768bf1a51z";
+"petri-nets.doc-2019"="3m0f4r65jhnq3la2qyp0xa7ra66iyahs";
 "pgf-blur-1.02"="30lr14qkrz1ah9kvgadknb9a7yyhv625";
 "pgf-blur.doc-1.02"="x4phrny12czndwvsrml45i6a5ymfncf0";
 "pgf-blur.source-1.02"="hdg79rv84byqmnyahvi65v3ca3h3j14r";
@@ -3454,6 +3530,8 @@
 "pgfmolbio-0.21"="987pnzviy9l6fbqgkbq8xhjn18w4dpqi";
 "pgfmolbio.doc-0.21"="ckwm7mnw5qhp47vfxmbc5xjvnysp8jxq";
 "pgfmolbio.source-0.21"="l3rs43l6g8bg4l4y7gbf8ji8vpj9pwca";
+"pgfmorepages-1.00"="1w9nmavglic9398ipww68w0v4iajrq03";
+"pgfmorepages.doc-1.00"="cpbd2mqr5rmhj9lyxl2nd5mwn83djy0a";
 "pgfopts-2.1a"="r3hmv29kc7hfcmx1j2kirk27q4y2r5a9";
 "pgfopts.doc-2.1a"="qb2q273gcqw9p1wjzw8hq7z13f689zkg";
 "pgfopts.source-2.1a"="g9ya18k22lcd5f8aq3anl152d98h6b7z";
@@ -3464,12 +3542,12 @@
 "pgfplots.source-1.16"="m6vxsbqzqmjq6p4n2kxzygdhvxqpdaz9";
 "picinpar-1.2a"="wvxa8vjglc2v1k8dcszj32wx5jgmsm3w";
 "picinpar.doc-1.2a"="ix8d6091agdxivkq3pj0xv5afksr16xj";
-"pict2e-0.3b"="rmhf7g2w9a3qv2a4il24y0905swisx5p";
-"pict2e.doc-0.3b"="zyvajy5r8ph2ns8hphm3fnq0wzsz2sdr";
-"pict2e.source-0.3b"="rmx8qv2f1a170bcy1j2x1pjbq4r8js9l";
+"pict2e-0.3c"="nzynzzmjd5v7yc48a04parddy83xcrz2";
+"pict2e.doc-0.3c"="zc7md0dvssdpj7dcw99dh7h2i231rbyx";
+"pict2e.source-0.3c"="zwmlz98xbvkljr202lzrp3bps8dwqgl3";
 "pictex-1.1"="3wr03wxjs0nbpncsyzzz2flz5h383a30";
 "pictex.doc-1.1"="d96f4qc758wqc5pifjspr2cfhkj3j44q";
-"pictex2-2018"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
+"pictex2-2019"="fmvr7pqdpq2lnigzzbshgwmrjf03kj6h";
 "pinlabel-1.2"="5bshz2446a2c3mgc79b1znaw07n54cck";
 "pinlabel.doc-1.2"="a23kw5gn0cwsg5fzldlq5a9rj03wg1la";
 "pixelart-0.2.0"="hq6wmp9dgfzzqxwn11a3isf2jnzm2b7v";
@@ -3485,6 +3563,9 @@
 "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";
 "pxpgfmark-0.2"="sy9cs1y4gf9xr7jfiyp8zkr1r8di00hc";
 "pxpgfmark.doc-0.2"="25vgpjc0zr0wjny4snksr3yzk908s2mq";
 "qcircuit-2.6.0"="va7w4d1n5djxqa4fis7m409aapx7hqa4";
@@ -3492,17 +3573,17 @@
 "qrcode-1.51"="x2mibdysf003dgl6i1zq3h68a1km3j2a";
 "qrcode.doc-1.51"="y97sa2ha89kmhfj5kq55qk57sf6yf3h8";
 "qrcode.source-1.51"="f4mxn89cz4f6wvnvxqfxdq411nnz4z44";
-"quantikz-0.9.2"="jv9wr6rfd9nwyvk1pb8b5pry697j6s8g";
-"quantikz.doc-0.9.2"="0k6m5hzv77npim2xy5i9fpcjalhg9hba";
+"quantikz-0.9.5"="9zcs4s5jzndxprdhf4k04nvb7bg0ar8d";
+"quantikz.doc-0.9.5"="j3z2hxhp7s4ir1kkjadq8wavlvmy5dbn";
 "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-2.0"="5j06gj4ara90bycn17ry7rn6plhqm3qb";
-"realhats.doc-2.0"="qgsk5kbj5xa5g3x0jv6rpqzygjg9n38z";
-"realhats.source-2.0"="vqfd241gfmnyq210y31phmqryc9swgv0";
+"realhats-3.0"="wk3pwrbv3mipr4hkdl09x0ysqfkp54qk";
+"realhats.doc-3.0"="6g2lyz0rp1gkjx41jln6mblfdadjd22d";
+"realhats.source-3.0"="kdyds9szcmvmlacgx8ngwnjcqyxjx4rc";
 "reotex-1.1"="yzydkc30vf6csv388xyf4lm9mn894781";
 "reotex.doc-1.1"="63p2w1vjpannypp8izsn8qis0f7zcngg";
 "rviewport-1.0"="c1flf8nck97sgi4994izzh0vwh8np9z2";
@@ -3514,8 +3595,8 @@
 "schemabloc.doc-1.5"="2020d2ivq6qccq1s7fk161pmarznn6ss";
 "scratch-0.41"="r2i8n81lhrl9420xwj61v3rmv98f64fb";
 "scratch.doc-0.41"="rgs8yb5va24k7cl8h6f2813ff0ydkia7";
-"scratch3-0.1"="vv620b2q43nnc5i1nl7q6fqfrb4p5vng";
-"scratch3.doc-0.1"="7k4x4q5ll619js3418jqqqmmf94mzgrj";
+"scratch3-0.14"="klj8v60bff3fr4pymifr0wcj9qgr7xv2";
+"scratch3.doc-0.14"="dzzlly4ygm0k69n92xpjfdknhg8h5c7i";
 "scsnowman-1.2d"="vmlm0ilz9v7hxsz6111w8596xajzg2ly";
 "scsnowman.doc-1.2d"="l1svi3nmdzpfnad0w8dzxxzh8c4n2v9j";
 "setdeck-0.1"="jhxxygy339baxmfl252kjjyhw2zbhf8n";
@@ -3523,6 +3604,8 @@
 "signchart-1.01"="y2yc5dcfwbpicxf3w7kp6lxjgwxz4dsx";
 "signchart.doc-1.01"="r2zsa7zazg4l0z4x18hwzkisqaympv1f";
 "signchart.source-1.01"="81p9ykfplbsb51lnx3wb00zrsrmsd9qr";
+"simpleoptics-1.0.0"="hd3442mvndh1y9qmk4g1c6jgy189927v";
+"simpleoptics.doc-1.0.0"="ivyl8pm0sxqglg6m7qiqyga8cnh8ac47";
 "smartdiagram-0.3b"="2ap0zqyxnbs2lkdgx70rrpm2b6d9gslr";
 "smartdiagram.doc-0.3b"="p0q92dnkzxz2i5zb8837353j4ainabxb";
 "smartdiagram.source-0.3b"="lqy3sqf14w7fxzrfim7mb1y7rmsbln1f";
@@ -3531,16 +3614,16 @@
 "spath3.source-1.2"="szcj8yyc7azz3xxjqsqxm91hmak5jyb5";
 "spectralsequences-1.2.2"="yahjlarc3vgpzcmb2abr6nwyhqqj5c1j";
 "spectralsequences.doc-1.2.2"="by1zrk0y8nq05qf8csa2gvwl316zc1j4";
-"swimgraf-2018"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
-"swimgraf.doc-2018"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
+"swimgraf-2019"="x77prbkrnadhj57fbh68hqsmrbk2qsis";
+"swimgraf.doc-2019"="hfrhqz5pj6g0mdyp1fbbfbnasph11pwi";
 "table-fct-1.1"="b7wz94n1h3wpq9mi40zdl3v4m9hi1wxk";
 "table-fct.doc-1.1"="1k2sa9bsygbw1ib85x7yqda1jbzbg05f";
-"texdraw-2018"="iwrv8alhsxxawklhgxbnsncn6plr9mfx";
-"texdraw.doc-2018"="awprn6s3sq5ighgqgbh2gzcbai1iwxd3";
+"texdraw-v2r3"="rkzarniigb4a454964qbfdiaj1z124xi";
+"texdraw.doc-v2r3"="2wq6scv4jygmaam3ywddf8spizq9fi0m";
 "ticollege-1.0"="bznj0maq6a1b7m6p18dhq0fnssx06bwj";
 "ticollege.doc-1.0"="7n7nyn8zrp9za6l355797gq96vxp2d78";
-"tikz-3dplot-2018"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
-"tikz-3dplot.doc-2018"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
+"tikz-3dplot-2019"="kl827mar9jlbjpwxl90z3fml8i3zabb9";
+"tikz-3dplot.doc-2019"="y736rbqkbjg7nnly25d0jl72z9gyx17w";
 "tikz-bayesnet-0.1"="w9x9vf5hgmv18ljz0kx7rby1dig63539";
 "tikz-bayesnet.doc-0.1"="g7dkg4gg6729jbscb7cf3fsay2dfqv42";
 "tikz-cd-0.9f"="h74wx5r1jclma4zqd78wb3f5bmpfc2pw";
@@ -3549,17 +3632,17 @@
 "tikz-dependency.doc-1.2"="n3rk72ln03anvylh5pc5gyajkvgm6cff";
 "tikz-dimline-1.0"="q2wyvka6vafwaj58iawrrl3capkzvvfj";
 "tikz-dimline.doc-1.0"="gbfqnslkm9piq4jmhcivpyb9y2cjra2j";
-"tikz-feynhand-1.0.0"="2ah6vkpd7qiy4ymg6dpnlqjv6ab7zhvx";
-"tikz-feynhand.doc-1.0.0"="mpc844n8z08l4vk0ln2ki9sybmc85iz2";
+"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.1"="mqfr3pn310cgszxicxgar14kamjns2qb";
-"tikz-imagelabels.doc-0.1"="yh71mvrc6q8719s87wlrzg3w8bf7zwc7";
-"tikz-imagelabels.source-0.1"="ifkzwlr6pkn0c14llqks99wk75bwrmdm";
+"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.4d"="g7ym5a5v0lm1589nxy54ma6m847m4ax7";
-"tikz-kalender.doc-0.4d"="dzbffc4q539i6lzaqh66nrlpz8m6sn75";
+"tikz-kalender-0.4e"="nnszylg8x712g1kvxmk8cbl7iv2w0x2z";
+"tikz-kalender.doc-0.4e"="ihvfz01yv386i6rhd329p8c5dpgd8j5b";
 "tikz-karnaugh-1.2"="szdj3jvq9704zzzrmmm7kr67f9scc5vs";
 "tikz-karnaugh.doc-1.2"="4v7jmjk6kczigziblmaphpxl1xkr2ylp";
 "tikz-ladder-1.1"="ika5n5wsldxr4fk6qfjr6p9i94iydplp";
@@ -3568,8 +3651,8 @@
 "tikz-layers.doc-0.9"="d3q51sfsprqfa0m0plhghgcb3j63fn60";
 "tikz-nef-0.1"="88fk1n97w3dpajkw85ww9mw93p3wmv3q";
 "tikz-nef.doc-0.1"="xf8xsf1qxy0493zwx9nr2rsxnxavyzy9";
-"tikz-network-1.0"="5farvg4g7138lyipw3hqngpjd8vc75xm";
-"tikz-network.doc-1.0"="hfkqcpz72r5fy0prcjzzy2yx2j0imkxz";
+"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";
@@ -3581,7 +3664,8 @@
 "tikz-palattice.doc-2.3"="j7y3y3r0mgm8limkgfljmn3i8dcnj0m3";
 "tikz-qtree-1.2"="vl2jq8b492p7dznrx63mi2zxcpax8a1l";
 "tikz-qtree.doc-1.2"="01bkpz1f0pm7plpkh6a2kx3c93iwcfwa";
-"tikz-relay.doc-1.2"="k54pyp94zlixi0v9c5xlvsbzasjd7ajr";
+"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";
@@ -3590,25 +3674,25 @@
 "svn-prov-3.1862"="d5py1m0kjdzdx371fpvi66l80p92xp4i";
 "svn-prov.doc-3.1862"="kz3zma1cmbi2kxvn560vzl71n0pj5bvj";
 "svn-prov.source-3.1862"="xz3g6ljh9fk8vfla8c3asbzraqymnca4";
-"tikz-truchet-2018"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
-"tikz-truchet.doc-2018"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
-"tikz-truchet.source-2018"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
+"tikz-truchet-2019"="h8p45wr3xhjslajpyyzr8zha6x52jyci";
+"tikz-truchet.doc-2019"="6nyandwvh9qj5z6pzh20417kl3gd3q68";
+"tikz-truchet.source-2019"="r5gpj9cmqj4njzzx820v7ka0v7chxy24";
 "tikzcodeblocks-0.12"="1g5p5x26xi87pgk6wsmrc8jfr5zbai1z";
 "tikzcodeblocks.doc-0.12"="anwa5r1dzd81pryrgy79cgcnyhr0p6ri";
-"tikzducks-1.0"="9mbndz8cyvjrfx6mqdpjcd98xfr7h8hf";
-"tikzducks.doc-1.0"="747wng5xf74xgskmpwxrchqsm7h7x7c2";
+"tikzducks-1.1"="rpv9c4xm44kj4p1wg7vc9z0wdmks0ax9";
+"tikzducks.doc-1.1"="77q72vyqavlicgn2y7l9ygln0dvy9lvk";
 "tikzinclude-1.0"="hh3h2srdlz39dv69wdwcrmjr1pps271a";
 "tikzinclude.doc-1.0"="qdzw00zvqp206krl9ph782lvrmvjphm9";
 "tikzinclude.source-1.0"="bznb6w85hk7nzsmnglz01qvi4mp64bqf";
-"tikzlings-0.1"="5m4pibw9mkmdfvr7k5ji7rcxqpybvf5r";
-"tikzlings.doc-0.1"="c52pah0ii7vzd3sz0xrf781zq76qwwdn";
-"tikzmark-1.6"="pj9jrwizhcqix929309darqchpxddwh9";
-"tikzmark.doc-1.6"="nwpi1qzxgf5mcmimw1v3s9mrk32xp9r6";
-"tikzmark.source-1.6"="ci5g9iqcs4df3lvay94c9xwwmghrl4q5";
+"tikzlings-0.2"="5zj4kybqjbzbnfkzhac84g2za5wii9a3";
+"tikzlings.doc-0.2"="vrmilr20lir4628xr132mv82gz4z0rd9";
+"tikzmark-1.8"="5k486ngj472l6mz533nfcgj43zlp1sjl";
+"tikzmark.doc-1.8"="0ljfqj9mzqrxy9hz1bjzm0z3i5hk650q";
+"tikzmark.source-1.8"="864falsbql4b9wwxyf5g0xm5dwmzydrh";
 "tikzmarmots-1.0"="d4603hm1maqsp6s2mpr3d9czb040x96q";
 "tikzmarmots.doc-1.0"="yqa28x78pg3513ni6xd11511pyqivkia";
-"tikzorbital-2018"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
-"tikzorbital.doc-2018"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
+"tikzorbital-2019"="0jand3q2rnj1l71kiqc5wx9br6iqa8h6";
+"tikzorbital.doc-2019"="8w7za38r9lqh6hjyrx51mhxljlwbr13d";
 "tikzpagenodes-1.1"="bbppcjhxjza1vhld9n9kjdm5jf03by5f";
 "tikzpagenodes.doc-1.1"="qds77qax9drbdmnw93lsg9lzkd7kjmnj";
 "tikzpagenodes.source-1.1"="bm54xhdx003f6j5j2csj6272d6pqxbmd";
@@ -3626,8 +3710,8 @@
 "tikzsymbols-4.10c"="x1wdz62q9x6idd6893pbcm0d0k55b3j1";
 "tikzsymbols.doc-4.10c"="97p2haamz7kk8i970pa01x5gx1xmcrzh";
 "tikzsymbols.source-4.10c"="wllywv4fs2xfv3xvd92qkgm905yssplw";
-"timing-diagrams-2018"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
-"timing-diagrams.doc-2018"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
+"timing-diagrams-2019"="89d8m3lh174y7p3xx2iqdkxnq71s7fzq";
+"timing-diagrams.doc-2019"="r8xz0yb362glmkcaadipa5v8jsf3w5py";
 "tipfr-1.5"="dd5jgd6y7rzspj6shr5mbqcbbzyncv2b";
 "tipfr.doc-1.5"="w5mslbn2d53wzdkaynxigaw4344psp9j";
 "tkz-base-1.16d"="w03w3abbr404mmxvgvpb6jvzdkbj40d1";
@@ -3664,9 +3748,9 @@
 "paralist.source-2.7"="vs1jw2rijrnym49vd3w1nxswq52lvf9g";
 "placeins-2.2"="ac0ckzyrg9k2akv26dg4hck4q3w3z141";
 "placeins.doc-2.2"="ab3faqlwqspnnrvigdsljl9ykqyi2gfm";
-"sauerj-2018"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
-"sauerj.doc-2018"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
-"sauerj.source-2018"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
+"sauerj-2019"="9x0hghvh5wh6jljwpyf61c6pc4rl9jaa";
+"sauerj.doc-2019"="zk8dghf07j3ijvnr3zxw2bajqx49nbaj";
+"sauerj.source-2019"="j1bdzs9ky0ycfh00sdynswv2vfvx7nmh";
 "xifthen-1.4.0"="4d6x7yb6hdr4xg2dn572gwpfnykppsph";
 "xifthen.doc-1.4.0"="364kifdxmk5ak2flyqcfzjgv0dbsykax";
 "venndiagram-1.2"="pxwyrzjwbkkyhfm22v13p2mm5l9s2bqp";
@@ -3681,15 +3765,15 @@
 "colophon-1.1"="7naibja70d1kb637ydb5jbj3xbgxa4l5";
 "colophon.doc-1.1"="m0y1dcw2ymnr8a09a8wzj6vw00ns055g";
 "colophon.source-1.1"="xfrkdkkk54q9zbhv9jzwm2bf43czj0na";
-"colordoc-2018"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
-"colordoc.doc-2018"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
-"colordoc.source-2018"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
+"colordoc-2019"="sb31vsh0mzzd16vrf3gpvs9c50zcjbgx";
+"colordoc.doc-2019"="2sw71l3579qkh4z3hqirvv0y3d79sssh";
+"colordoc.source-2019"="3p7baf59n87p34sxwdm9lf761dmh8w0b";
 "colorinfo-0.3c"="x5wwpzhcm3ppfg6hh0dcr3rl7cjs23zn";
 "colorinfo.doc-0.3c"="ppz8wrqzph8cq5dggikgi0gphmg0y1hj";
 "coloring-0.2"="qdjj8va77wpin0pw6izv2lhjj0cm8zfd";
 "coloring.doc-0.2"="v7z4bnnpghfi39b8jmzpwq496swhwndh";
-"colorspace-1.2.0"="33j69sadgpsmz3ji7163p9rx9bpvyxk8";
-"colorspace.doc-1.2.0"="mf7rdcflp40zwvqr249wyv87q90y8fxa";
+"colorspace-1.3"="fvlhzz9q6cyaxgs9yzlajaldvnfx7kx8";
+"colorspace.doc-1.3"="jlyv19xlx618ajj3g0mja99w5c68gbj3";
 "colortab-1.0"="4bqbx02c34g7271mg6y1gw1nyqmj6vwq";
 "colortab.doc-1.0"="qm51gjkcfq5gjimr5pp3svfj1xaqshbd";
 "colorwav-1.0"="ilrircjl70f9pv8g89d8dzjdsipjfbmj";
@@ -3720,8 +3804,8 @@
 "competences.source-1.0"="hlmzbgb3fd33miycrryvs4pb3sglrgis";
 "concepts-0.0.5-r1"="n6f2szv53cszq0ybd93wcggz3jl0wf00";
 "concepts.doc-0.0.5-r1"="xww0baz5rff17j0c56d1d0j1mh2zfpqs";
-"concprog-2018"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
-"concprog.doc-2018"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
+"concprog-2019"="fy8virjhfw7d1y1l0vg6fgzmxkc4f7gb";
+"concprog.doc-2019"="sm3fl60ymv5z649frky6xck3hd9rr8yb";
 "constants-1.0"="p22vxmnw3a68jgrwxzvs90x1ads7vy08";
 "constants.doc-1.0"="0d8avlpp7ra6jin7rq92vrpa6c97q5g4";
 "constants.source-1.0"="44ajza7nr171n3nlbj0lqqq7bld53i1a";
@@ -3731,12 +3815,12 @@
 "contour-2.14"="nqc3i7nqzk5svszlgb0glkr9m9n3sgvg";
 "contour.doc-2.14"="8kjg0zsy2i6nkvxq4xjcaaqd2by1wq5s";
 "contour.source-2.14"="jx3fc5lngqrdhcwy2dga2ynw64pfvwk2";
-"contracard-1.1.0"="syk0yvajva7nhdhsrk6nn3z7mwg4sa5r";
-"contracard.doc-1.1.0"="2a8qav861gb4rh141a1pfr50sbr7lypv";
-"contracard.source-1.1.0"="ld16pjizk0asaq6kkpd2imdmyz7ay4jd";
-"conv-xkv-2018"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
-"conv-xkv.doc-2018"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
-"conv-xkv.source-2018"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
+"contracard-2.0.0"="h90hv3p5azhik6lc2xqz2g2n2rq4ab3f";
+"contracard.doc-2.0.0"="ki3pizq78ili2p4d3az97zf3cm5mxldx";
+"contracard.source-2.0.0"="jk3nj5mm4xqvyzzw2g2gva945sjpxl78";
+"conv-xkv-2019"="irm1jvqddc4a7jfl1qraxkii8gmmmh63";
+"conv-xkv.doc-2019"="vs1dc6np4zd01fkq95a0kqwm72h9snli";
+"conv-xkv.source-2019"="8gj6sqrsbxknfpvrfalflkrnhncjhbfz";
 "cooking-0.9b"="sp0gxpgc190gn2wngw7nqzay88hykl4x";
 "cooking.doc-0.9b"="15mncbdsswn8q6914ijlhzlg5ch6schl";
 "cooking.source-0.9b"="n6pvjf2lx012s5y29qc5mjkiz8dinkjr";
@@ -3783,17 +3867,20 @@
 "cprotect.source-1.0e"="lzyx2nvma23d6ds8cl52zfxhsdjjshnc";
 "crbox-0.1"="y7zkz2wszr0iv7y3bhcgcaddsw3d54hp";
 "crbox.doc-0.1"="64zk4z35xzpxa2dmb4am67dnilqs8mqa";
-"crossreference-2018"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
-"crossreference.doc-2018"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
-"crossreference.source-2018"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
+"crossreference-2019"="rghmvk4vfk0la5kygcm5wmnrrzxag6ff";
+"crossreference.doc-2019"="p589qj9h7vi563dgh5lp2l1gmpzfkyrm";
+"crossreference.source-2019"="pmqnkrcxkwjdsz7pfwmqpjgc2kykv9s6";
 "crossreftools-0.9"="vgcy207mpng8cgp6a7vpy8frjakpfxp0";
 "crossreftools.doc-0.9"="fzfbdclk2h75vzllslywskqlly2pd2sa";
-"csquotes-5.2d"="wx2z3i0yhj91xf1xz89sk5ryfjjn3jg3";
-"csquotes.doc-5.2d"="zk095wb3qdl73c1xgqpx2xsl46p88nz4";
+"csquotes-5.2e"="06561kz86p7isj3bx68b4hrcjsq3qkpg";
+"csquotes.doc-5.2e"="scw57pm13ry5kvk76gk1f2hmvvb3xgzc";
 "css-colors-1.02"="5ybcj58dl55v53z40fvb3mgc8hl93z8x";
 "css-colors.doc-1.02"="kyz6mh1pkrjvz4za7x7sgmig7zrrxk8b";
-"csvsimple-1.20"="i6qsbbiqd7520p3nclaq59r99f0rwz6c";
-"csvsimple.doc-1.20"="lj0s0945ydzqqgqdzph3rbfv49kawwpj";
+"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";
@@ -3803,18 +3890,18 @@
 "currfile-0.7c"="8zm55f76nvvsgyjj4fck1jzqxfgv389q";
 "currfile.doc-0.7c"="y1cdz8qj6n4327smxxbp5fzmn7apg2cp";
 "currfile.source-0.7c"="bfsbb72fld42c15qq3zddgr0agfigc14";
-"currvita-2018"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
-"currvita.doc-2018"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
-"currvita.source-2018"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
+"currvita-2019"="119xrbrr7d5i8xlvzf15azymj8znxy2r";
+"currvita.doc-2019"="fc8s69xdfiir0a8g7594l7y0m7b5qsiq";
+"currvita.source-2019"="2m1krjlgi5ihm32cfr3ayxmz324zpsxp";
 "cutwin-0.1"="q1c752nzdf2jw9agyb3aj6ishnk3yy7c";
 "cutwin.doc-0.1"="pawz3k75s1nws5nd0ilhgvy3g5ndfwvp";
 "cutwin.source-0.1"="c9aw3vjaxldf082z61m61d7p7rsaynfb";
-"cv-2018"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
-"cv.doc-2018"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
+"cv-2019"="xpyr31xcphpydv1iyqaalwxfqhs99cg6";
+"cv.doc-2019"="f3xak6320ql3rmbj3fvjsgcsq4mp1vql";
 "cv4tw-0.2"="zw6g6n1l4mcnjdbpfx36h1l7ix8gj6sv";
 "cv4tw.doc-0.2"="49ghjsydw5i13nwglc69xmm1z0ypxlyd";
-"cweb-latex-2018"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
-"cweb-latex.doc-2018"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
+"cweb-latex-2019"="w87x1irky7jm1ixvs8m2ig97pk07m19m";
+"cweb-latex.doc-2019"="r4xzcb98w8khj070k9q23ygmq84pxqd5";
 "cyber-2.2"="qw2kap0b32i1zm67s9lz70mxc8v8smrs";
 "cyber.doc-2.2"="9fqzmqyaiclmpl947xwj5kjcp6fic9md";
 "cyber.source-2.2"="jkylpl3n1m87qch68sqm7njxgp8wv86p";
@@ -3832,9 +3919,9 @@
 "dashundergaps.source-2.0d"="3y92cxw29ks64dd44mihrcm2sxgng0pg";
 "dataref-0.6"="s46my6g3mkk7d5g7fm90xxpn2d1h4gmv";
 "dataref.doc-0.6"="ap8c1b9ljp1zg3wpzfbp827kwqcjdp0j";
-"datatool-2.31"="isqdl293hsc9q66xvycxqb5qd86zj8f0";
-"datatool.doc-2.31"="hkw1nvxxjrg4qfzrnp40z724nbpw54zd";
-"datatool.source-2.31"="5f37xf10xv3mcblrpsbm8aikjbi5sdqf";
+"datatool-2.32"="hdkdqrf0g5jbi0ryk0bgiv71k3x98kl3";
+"datatool.doc-2.32"="9garxgrw5k7lxf0c7m5d70wwl3zf76ny";
+"datatool.source-2.32"="1cpr7jgy98fpqjaw58pla1nwgywfyqq7";
 "dateiliste-0.6"="s50fmah2lasy1vfkgkybbaynspnh0wb6";
 "dateiliste.doc-0.6"="frs8z7x6yf2l78g94dxx0w5nxchx7kdx";
 "dateiliste.source-0.6"="idazlpxank1dw1mjym4vcdlq0970i5gy";
@@ -3886,9 +3973,9 @@
 "datetime2-estonian-1.1"="3x0q23w9xzh48brrkyriqah92488m03v";
 "datetime2-estonian.doc-1.1"="pq4p7wkvmq1z815nk92dcphmya6cska2";
 "datetime2-estonian.source-1.1"="a3dmirap9z4b3cw83y2z7y1dxjlxkibs";
-"datetime2-finnish-1.1"="xsrppqvhgv3agc5d1vgsql812rzfc7m7";
-"datetime2-finnish.doc-1.1"="058m3p472vmra4r5i5f3yjyvrga1f63k";
-"datetime2-finnish.source-1.1"="kxcfwal2hw8hh1niyj0zsghihx3cinpa";
+"datetime2-finnish-1.2"="xsrppqvhgv3agc5d1vgsql812rzfc7m7";
+"datetime2-finnish.doc-1.2"="058m3p472vmra4r5i5f3yjyvrga1f63k";
+"datetime2-finnish.source-1.2"="kxcfwal2hw8hh1niyj0zsghihx3cinpa";
 "datetime2-french-1.02"="0n2l9y4431i1092wkk8h2fkmk2pj1lmx";
 "datetime2-french.doc-1.02"="gc0pp2rnx16vgc4qq359ch6i61a8mbsm";
 "datetime2-french.source-1.02"="97fxzb9swgq0nwisql0fngik9c203pkc";
@@ -3943,47 +4030,47 @@
 "datetime2-samin-1.1"="hf0cfq9j1681pp4575bwgxhxfrbmlav4";
 "datetime2-samin.doc-1.1"="wznr20pqd6ffkjzgihkjfxq6byms95bq";
 "datetime2-samin.source-1.1"="rszlr5zy6zw52cv6mvh7sfdfnh4y3krq";
-"datetime2-scottish-1.0"="haf8z2vcwv70wavrj1skkxqly9rxv65p";
-"datetime2-scottish.doc-1.0"="gasr5azq08139ml2fvph01ikxpcrdlpp";
-"datetime2-scottish.source-1.0"="zjhfiihijw81rvacw8kjwq4bil6hi2fc";
-"datetime2-serbian-1.0"="nx5gf5inr1p1sf1knfsshi6ppljvqjbr";
-"datetime2-serbian.doc-1.0"="d787l63hi3qziiwrn4ddp25k7747p998";
-"datetime2-serbian.source-1.0"="22sxpklg0mggizc8bicy7x8hyx9vqn3d";
-"datetime2-slovak-1.0"="7m9d038l0zr0npb8fy9fh6n1v0lswgzi";
-"datetime2-slovak.doc-1.0"="m5j1zgplxa368k45rib1nqx6sd2ipcgn";
-"datetime2-slovak.source-1.0"="mqmhxsh32bknr3w2nv7mrl1ls7sn6xqd";
-"datetime2-slovene-1.0"="hn5z7ka761lq4xy2gz3idsrqkbkdqrf0";
-"datetime2-slovene.doc-1.0"="55rrnajlm7rhrlyirrdxw699gd4x4lr1";
-"datetime2-slovene.source-1.0"="4pc9aii99chcdigi8c5vh9sfyyjly22d";
+"datetime2-scottish-1.1"="0fw3v8db79rxc1363h70fgaswhzwhm4j";
+"datetime2-scottish.doc-1.1"="078mzhk1a0pd4qvvznp9aqjzhk1419j1";
+"datetime2-scottish.source-1.1"="mfw7dpm3mgh3wdmk4in6ysnnd6awij6w";
+"datetime2-serbian-1.1"="dbcf5c0qaigja5r4k03975vccybbkpxa";
+"datetime2-serbian.doc-1.1"="ajir9076mw38a6di9fjf0f977iq3a4wv";
+"datetime2-serbian.source-1.1"="b8xcnry7snnfwah7kibw3z6wyj7js88k";
+"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.0"="lk7wm07qz96rfzi5g12hzcfwbdqnxmi7";
-"datetime2-turkish.doc-1.0"="86yp3mb4x7sl9im3cvxvfykfljc0cd8j";
-"datetime2-turkish.source-1.0"="4bzavnlmpy63vcfhjygjmhl4lf233m6x";
+"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.0"="i5kdakk028r0jrim2pc65gjj38501dzs";
-"datetime2-usorbian.doc-1.0"="ab6bfr9w1ybl26abk2vac5baffgsx8ib";
-"datetime2-usorbian.source-1.0"="p3xf2vlz24av6j4zihdig8jkf9xf328v";
+"datetime2-usorbian-1.1"="pm6w3h37qzfbca1p3j5hxrfdn02l84qp";
+"datetime2-usorbian.doc-1.1"="zn6pc9djwh8jjhf1p97ah3n5kiyzidyk";
+"datetime2-usorbian.source-1.1"="qy8g9fi20q25cl1nd0v057bvyp8mi6fn";
 "datetime2-welsh-1.0"="csy75jcm6aqad69jxhm7m01j04802pff";
 "datetime2-welsh.doc-1.0"="5qfzf2lglwj0399cj5y81f8a1y3rdv33";
 "datetime2-welsh.source-1.0"="2a3pn8nifx6bc81zk45cg8p0vdnwhfw4";
 "dblfloatfix-1.0a"="d1796nn206cs1jsas8kc05p0bfcb80rm";
 "dblfloatfix.doc-1.0a"="2rgw8lakmgyv5abzbpcngs9g1lrfdps1";
-"decimal-2018"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
-"decimal.doc-2018"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
-"decimal.source-2018"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
+"decimal-2019"="a7xks9vjp0pa09i5dbwz78n28a8fg83d";
+"decimal.doc-2019"="ib5j82aqc5l2rkggx5s3i7h0vz81sw01";
+"decimal.source-2019"="znw0p5x4xyg8nbaa0840lw7i27bczkf8";
 "decorule-0.6"="pia1d0196sj7qkdyzximhpf0bidqv7pg";
 "decorule.doc-0.6"="p42gqybrsy773lypbb1nrjcigycf1ilm";
 "decorule.source-0.6"="q90xhppxnggj3gqx9vaf5qvc4aknfbx1";
-"delimtxt-2018"="akp06kcf04g4dx2ph7bs5cg4byld136r";
-"delimtxt.doc-2018"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
-"delimtxt.source-2018"="j788dpwxgryml7ny68nzab9c3dy0322z";
+"delimtxt-2019"="akp06kcf04g4dx2ph7bs5cg4byld136r";
+"delimtxt.doc-2019"="ddxva98pp4ar0bxdlpbh6v2rxlai5d1n";
+"delimtxt.source-2019"="j788dpwxgryml7ny68nzab9c3dy0322z";
 "denisbdoc-0.7"="fxcj67mah72g8w5xmrwb10vm1hxmciix";
 "denisbdoc.doc-0.7"="k4qq3apgqk0xgxgmrmqpl039hwzb478p";
 "denisbdoc.source-0.7"="45fl1pbbkiwk3b5cwl9ylcs1vxpdz8m5";
@@ -3992,27 +4079,27 @@
 "diagbox.source-2.2"="a6m49qkh7w30xgg342dd4vs7kpcf8kkx";
 "diagnose-0.2"="dbkvix4h3jhwq9pd2g9ydknc87z3zlr3";
 "diagnose.doc-0.2"="0b0ajzf5gvv3901szcwnkb7938sgqqr9";
-"dialogl-2018"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
-"dialogl.doc-2018"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
-"dialogl.source-2018"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
-"dichokey-2018"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
-"dichokey.doc-2018"="af0pz0ixx95k8abfhximgla5jjly9ddf";
-"dinbrief-2018"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
-"dinbrief.doc-2018"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
-"dinbrief.source-2018"="b3hcmv6mjq48yhjl7g32yv9s1p3d0hkw";
+"dialogl-2019"="qn4qmw5yrhvim6fdl2gff1vl0ca4dfs2";
+"dialogl.doc-2019"="bh2vp79kq5adw6smmn0kbkhgk27qqq71";
+"dialogl.source-2019"="zqjq4a7kp63s0m7aq57ragybmigrf05z";
+"dichokey-2019"="0gjqadln2d38gclhy9ggf3i8vcnf2bfm";
+"dichokey.doc-2019"="af0pz0ixx95k8abfhximgla5jjly9ddf";
+"dinbrief-2019"="49584j24lg6vxazw8rqbhzcf0c7anbqy";
+"dinbrief.doc-2019"="i1dwsv81v87ll6wipvd7idsg8vym61k6";
+"dinbrief.source-2019"="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-2018"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
-"dlfltxb.doc-2018"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
+"dlfltxb-2019"="ms6423aqc91c34fmxw8l47d5kbk9yc6b";
+"dlfltxb.doc-2019"="kb0p5vzgr45gzbmwzc9mrk8hpg1z6x0h";
 "dnaseq-0.01"="719cl1bfw7c1psv115pmrn7bijd0kxsr";
 "dnaseq.doc-0.01"="f8yw32bkw0chrk221qga668jpfnb3rk0";
 "dnaseq.source-0.01"="7aw7332aklsigpg8fazvv7ips2a236x6";
-"doclicense-1.8.0"="iykpppjmrwbgwdy62lfnm011ha2plkfk";
-"doclicense.doc-1.8.0"="1gvlh4ya6xzvwqyffjwzvmwk84qybhjc";
-"doclicense.source-1.8.0"="amnmxjfsdcaj1z7450dq7zlp0ciisxg7";
+"doclicense-1.10.0"="f063is9c1f8jv30mvpn9c165n9wdkkd0";
+"doclicense.doc-1.10.0"="y8l4xdnynqxarsj5p8y582baf0fx1rbi";
+"doclicense.source-1.10.0"="f6wxl53cvy87ws837gmhdl7rq6r0lxcd";
 "docmfp-1.2d"="5az4cgljj1gmc28z6kwy9g4h49gzkplf";
 "docmfp.doc-1.2d"="rn7s95z09ijvddynz2dda2lpqidzbbnw";
 "docmfp.source-1.2d"="c6swy2dkxzrprrl0zjbphcf15x6my5l2";
@@ -4025,22 +4112,24 @@
 "documentation-0.1"="kji3s9vf00jpl198nm49dxfxw8yh3xkh";
 "documentation.doc-0.1"="ir7a948d9yliinmb3y55vx8wa2zi4ada";
 "documentation.source-0.1"="gjlkrc2a087589g9lrk9sh8g4q0l03vq";
-"doi-2018"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
-"doi.doc-2018"="h1si59g4nhzwixqsi11dzz1x9p8jv265";
+"doi-2019"="x7wlmyfrj7vh3wmf1zjgpyraf2crh7q4";
+"doi.doc-2019"="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.1"="mrhh5hmhypwk95rzjgzp59wjx1alvqf3";
-"download.doc-1.1"="plal7xhskmrylmkpra45xmw0vf4sgd46";
-"download.source-1.1"="r5lrlmp4ccxlmzm1h7l57d17cmgdsmww";
+"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-2018"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
-"dpfloat.doc-2018"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
+"dpfloat-2019"="lad2kjr2qljjmnrygdlhgqbhpj8cxqb2";
+"dpfloat.doc-2019"="j3mxi39ar6vsyz51w7dj3nsnrrcsqjpy";
 "dprogress-0.1"="6bz0iy8fa34famjb67k3q1xhsca311k3";
 "dprogress.doc-0.1"="9x4n68z2vp63dvhc4g30yar4z70xkxbb";
 "dprogress.source-0.1"="g0d00q6x7wagml9hphd9b2ddg7zn887a";
@@ -4055,18 +4144,18 @@
 "draftwatermark-1.2"="r78p4n8jbzjvx8p7gx1fj7fp4h56x4xq";
 "draftwatermark.doc-1.2"="6mzqbw0grmivgby8vqiqf04i9dnvvimb";
 "draftwatermark.source-1.2"="6p47ci9wfjq7svn09df09p4jxwvyfzxa";
-"dtk-2.07a"="ygp8d66wn5xna4hlb3r8x7ycp652xqmz";
-"dtk.doc-2.07a"="7f2zzwfwcb6x4a7yg79d12yf63k0n7ly";
-"dtxdescribe-1.00"="x9hyc2gc11wg64w9ckcxwcrdr10qdyjc";
-"dtxdescribe.doc-1.00"="a58dxg5jm24rc2azh3abcb7mwwybyp9l";
-"dtxdescribe.source-1.00"="krsk5i3s1gsjix1mkpa44c07n5zm3bb5";
+"dtk-2.08c"="3615adj9zkvi51d9xcn8sk6fyk0xahyh";
+"dtk.doc-2.08c"="8pmrd68qj6z09ivscvd5q07ni6wbf8lr";
+"dtxdescribe-1.02"="2bhwnkb5id2raigd4iywhf7da7c772zr";
+"dtxdescribe.doc-1.02"="2ygyzgrllyq4fa2xbf8fyrfk810w2ja9";
+"dtxdescribe.source-1.02"="39inl1ksgzd28sszdfjyyq80gscdc6xs";
 "dtxgallery.doc-1"="bpsakwyq6ihcw2ziqpjv8qh2a90s5mw9";
-"ducksay-2.3"="nmyshghzc0l3pp30p2h1wnmdylkdlkc0";
-"ducksay.doc-2.3"="ns8zaixanf24b8wd41n9bxgn7jjzqsrq";
-"ducksay.source-2.3"="3g4fqwb3ca8myvj7jn5gxn5i7i3zwfcl";
-"duckuments-0.4c"="icncsqdwzw9zwirqkmdsic8xqvz2xq0r";
-"duckuments.doc-0.4c"="ckfxm8iskbyqd7cya0bk96dj247dhkr0";
-"duckuments.source-0.4c"="zpkagf9g6nj9n92ajxaq9gwns1i9vd26";
+"ducksay-2.4.1"="42iy8cbp5yrff5ka5cljvb59wbwywwwb";
+"ducksay.doc-2.4.1"="zl0sz8xb5yhwhaail9kfnx9lg7a204zk";
+"ducksay.source-2.4.1"="lkqqhv6igq38kh8jx8wy131zrqdd3mr3";
+"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";
@@ -4074,12 +4163,12 @@
 "dynamicnumber.source-0.1.3"="1s5p8px5hk951cifga7as2cys5p9v9g8";
 "dynblocks-0.2b"="svrn2iyvz97vsdz7zf2npfjjmj1hiiwd";
 "dynblocks.doc-0.2b"="vbfwn0p5rpddhfbj5dzzg8y777i69s62";
-"ean13isbn-2018"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
-"ean13isbn.doc-2018"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
+"ean13isbn-2019"="mc1jwh057knlvcn9rh4z55xf23cx3lnn";
+"ean13isbn.doc-2019"="bdnaafy3hkiz4prf7q3fkn00gsf1fw47";
 "easy-0.99"="jb9dranvwd0ngzigpq8kla53wnd99fiz";
 "easy.doc-0.99"="m4hx4j5snaiip3mzz1hnakcqjdmhmy4z";
-"easy-todo-2018"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
-"easy-todo.doc-2018"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
+"easy-todo-2019"="303p58si7jhry6gzkiqjcdhkgdxdj8yn";
+"easy-todo.doc-2019"="19xs0lb6swakg1f9ci5gfmmfbddcirvp";
 "easyfig-1.2a"="l6pbmvwsjjnrpxl6d9v6askvk0fvqpyn";
 "easyfig.doc-1.2a"="glg4115m5lkacjxdq29my9a01xn5mj13";
 "easyfig.source-1.2a"="szidzjjq2h8aiqh995xcd37460xx5lbz";
@@ -4114,61 +4203,63 @@
 "egplot-1.02a"="wjw51hmdhl76wqrgj9ylhyb656rfqmg9";
 "egplot.doc-1.02a"="3ybfma3qjwnmd9djk0ckr22kvln7ksgi";
 "egplot.source-1.02a"="lpd8c8hpz0vpln7hq4ck2xm896hhkjz5";
-"elegantbook-3.06"="23ky7rb7y9990kjv3gfmvnssp6hpgza4";
-"elegantbook.doc-3.06"="r079hcmw9ivlizpv1280b0411fj7h0wg";
+"ehhline-1.0"="0ayan5v26fd54c0nrvs590ny44pwamg4";
+"ehhline.doc-1.0"="f4gk0s21pnnvjf753z83vyprvhcsvrs2";
+"elegantbook-3.09"="p64inp9fb54g2lkdc8b6z1c0qvnxihd6";
+"elegantbook.doc-3.09"="bzfd025rnz0ha3m7xp5f8gvw5lrrk5sh";
 "elegantnote-2.10"="m6lz4p899gmvmd2939an2amnvj6fhix2";
 "elegantnote.doc-2.10"="ckdxix1rmk6ixxx3nvyh12f3mr325z5s";
-"elegantpaper-0.06"="7wvzqfibb80i15kc4k0jq6zqnxyjfwm3";
-"elegantpaper.doc-0.06"="1swz2bpqclgi4p92khydqmi4j62fg0l1";
-"elements-0.2c"="abndi4qwsp7wf4d4df62z9fb1nsp5qga";
-"elements.doc-0.2c"="wpa8dz8d8l3kj03x5v4pv44m96rbjq1s";
-"ellipsis-2018"="cnpqy3kavs6v3r35x6hp9cny47lp47vq";
-"ellipsis.doc-2018"="pl4c26az5319bjkqmp0byyjh6m2ghxnf";
-"ellipsis.source-2018"="s1vmh5xsvqrwhd0c4qqk4qw9pgmm62ms";
+"elegantpaper-0.08"="wccij61cpjzcyw006hzhgdvv7i4kxfpk";
+"elegantpaper.doc-0.08"="mngv13z3srw192zl58fy7vrqn6i31sjg";
+"elements-0.3"="5jhgr3w0l71k6yyah71sns2cyib3w6rs";
+"elements.doc-0.3"="64ad2wwg0s9s56416gdw3y2k19qj3isl";
+"ellipsis-2019"="cnpqy3kavs6v3r35x6hp9cny47lp47vq";
+"ellipsis.doc-2019"="pl4c26az5319bjkqmp0byyjh6m2ghxnf";
+"ellipsis.source-2019"="s1vmh5xsvqrwhd0c4qqk4qw9pgmm62ms";
 "elmath-1.2"="pljnyyb5wp8n5f7g5wp2hb0f7aizxwyd";
 "elmath.doc-1.2"="9rrybpg3pziqa42bkhblp14jjz6zgm2v";
 "elmath.source-1.2"="fnw5k3ck3nbphv71xqlyq6yisgq04xjc";
 "elpres-0.4a"="mqyj4aylv6lah36gxkqrdcl2a4jgvnlk";
 "elpres.doc-0.4a"="fs5jy5zzc8jg2v0gbvqr5nwdad9bmz21";
-"elzcards-1.23"="p6nlzsxv09zr1g0pw4y4ldmlmvsi09wz";
-"elzcards.doc-1.23"="lmgv45bh0c4ka1a2yc4xkz08dxby4hfj";
-"elzcards.source-1.23"="y17rrin365qx9zrx5ja7k9bwws1ar92h";
+"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-1.0"="z335nw0mjz6g6gjn2xhifqa3ab9i20sc";
-"embedall.doc-1.0"="xbw4wwbl2ri0mmikx2vfqz557pq8ilr8";
-"embedall.source-1.0"="2xz175j1v7zvc3ndvgnwp5kvqpni6vs2";
-"embrac-0.7"="80kckrxa5bbw60nrx7c2smx26ldlb6l1";
-"embrac.doc-0.7"="d3kv5937wvw26jlz66wnf272iiidql0p";
+"embedall-2.0"="bkkkbm42s039l4hsy7a06fba7y76pcdh";
+"embedall.doc-2.0"="xifjdsbhrdr372svi21sq1wwl6jin2as";
+"embedall.source-2.0"="kmanpw0yvlllsc52f4wfhh7dpby80bnc";
+"embrac-0.8"="5l14aa7s3k4kiw4lalzr2sx6r6xv4ak3";
+"embrac.doc-0.8"="r07azs58bn2ik5g0y5ybxbxc1q1dgac2";
 "emptypage-1.2"="lbjvj1gf2jiy15yj86d6jxlhrk66zmrm";
 "emptypage.doc-1.2"="07fnrxjidk9b42610wx6696cah8p1zdi";
 "emptypage.source-1.2"="svha86185zhrvab827x8nbn02vlp027l";
-"emulateapj-2018"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
-"emulateapj.doc-2018"="ij4q6ixvmmh8xwq7kgb0hzvhz5pcsy68";
-"endfloat-2.6"="00fwiy7qr2gmw0890bwh56cpkzgngmak";
-"endfloat.doc-2.6"="lj3858d0f57sbrnm1f35bhfcb2afmv9b";
-"endfloat.source-2.6"="rfvjryrql4n1ihvkbvhbnyx7992pg2pg";
+"emulateapj-2019"="2ywrmmrvlkygp6a86i56rn9bm6wzqqki";
+"emulateapj.doc-2019"="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-2018"="mwf7b44kh21vis4mjglri12m2ji0fkyq";
-"endnotes.doc-2018"="ksik52m1c5n390015awpj4hszf621ih7";
+"endnotes-2019"="mwf7b44kh21vis4mjglri12m2ji0fkyq";
+"endnotes.doc-2019"="ksik52m1c5n390015awpj4hszf621ih7";
 "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.9a"="saxj59f54nz8jpg1bcacx3izk6ijbbfy";
-"enotez.doc-0.9a"="f16i6ia9mvylja841x3s2z3nhwpvriaj";
-"enumitem-3.8"="4z7f7bhbqwv8m3pvy05ldgyra8ir7j73";
-"enumitem.doc-3.8"="9m4djycqfl7x65cyga1mxm0gbi8gi07i";
+"enotez-0.10a"="d7wl58rba9810bqn5v1rg1sn6pgpb9xi";
+"enotez.doc-0.10a"="1y5kkfl7j6bi5gbk04xmqf8hx644x90h";
+"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-2018"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
-"envbig.doc-2018"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
+"envbig-2019"="9jl4id16g9bmsqwwdbcdp2925m5c381k";
+"envbig.doc-2019"="5302z09wsidh1fvnfs5d7zf3fzd9z967";
 "environ-0.3"="abj66v6h73l8sj7rll1v0czlx99j5z8k";
 "environ.doc-0.3"="rq5cywlfalfd6c2585ihs8mabnadp2n0";
 "environ.source-0.3"="r3bq7ppaqwidvilrf1hyniqfk1fdh4d8";
@@ -4178,18 +4269,18 @@
 "epigraph-1.5c"="6fjixgh32n7mlygm6dz3xdiv4bzd1p70";
 "epigraph.doc-1.5c"="mmk8d73w2mkhya560hvdz56nvw8l5vz2";
 "epigraph.source-1.5c"="6zj62nlmzvi5pagymipk9611glql8pnx";
-"epiolmec-2018"="hpmg6yy63c52078mqmp861418xi07rgk";
-"epiolmec.doc-2018"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
-"epiolmec.source-2018"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
-"eqell-2018"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
-"eqell.doc-2018"="xwz1qv3l0345p2al1p02dc5k3f77k48h";
+"epiolmec-2019"="hpmg6yy63c52078mqmp861418xi07rgk";
+"epiolmec.doc-2019"="vl11cbnw0avwvjf8ad01fziya1dzrbh8";
+"epiolmec.source-2019"="1b7as37h0ncqjvsypwc9wdzzjhs0sfhs";
+"eqell-2019"="24n6gsirzxiyv3avcm27hll6nwrybkk5";
+"eqell.doc-2019"="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-2018"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
+"eqname-2019"="mjcyi6q46c5jd44m8m9wzx12lhqir4a2";
 "eqparbox-4.1"="c3v8vdwcjfhn85751995viymlfgwpwr1";
 "eqparbox.doc-4.1"="9mn192afkzc3pzxp5xxsm7kxpaa3yis1";
 "eqparbox.source-4.1"="s206q1m2wkjsvjz23xlsx1yy603jjisa";
@@ -4204,29 +4295,31 @@
 "esdiff-1.2"="q26sgf5s4ans9qv984p9s04pginqby9z";
 "esdiff.doc-1.2"="67vh3nycsw9h9vv7k25agixsmrdg0068";
 "esdiff.source-1.2"="xy6y4za3k53myl7dxbjxm21rcskb1mqz";
-"esint-1.1"="gl1f53zj32cqf3vy7rrhj1l5g5lb0vvq";
-"esint.doc-1.1"="rnlcq3gjvqz0728pydxz3q5cpbgch5fy";
-"esint.source-1.1"="sw4zxm0z19980pq7f9fxkf0b0v7yp9nf";
-"esint-type1-2018"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
-"esint-type1.doc-2018"="vmamlk0v1w4ffks6cp9f0gg09rkr37vf";
+"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-2019"="0fwcq5cpsqzajzlp2rc9ffmcwg5fb5ja";
+"esint-type1.doc-2019"="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.08p"="973rvhnq8bg87y05cd8h5g8inh2w6k76";
-"etoc.doc-1.08p"="s4j9pnzam9q8digsb1w82932lc6awgr2";
-"etoc.source-1.08p"="6l1n82428grarlj9pz4pgmxq0zw21x2y";
+"etoc-1.09"="c4gl9kikkhpjig7nzq621ihbx56ij309";
+"etoc.doc-1.09"="79790h8winia72jc9vxq50816nwigckk";
+"etoc.source-1.09"="6cl0xm9j4faq58l1fwh9vmr6vr6cqsxm";
 "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-2018"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
-"europasscv.doc-2018"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
-"europecv-2018"="y110263s1x399j21g6dc3cp95hz5kmn2";
-"europecv.doc-2018"="7g0f1pmjllyq4dqxh3i576yvlvslfw50";
+"europasscv-2019"="l85dmsidqdd33pivkp8q5bl50mxynhhd";
+"europasscv.doc-2019"="vm9plycg2pppcnqv2mzhnxf09adzr2ff";
+"europecv-2019"="hiyv06bv9v7dxykzabh410lkxc57xgas";
+"europecv.doc-2019"="dx6iy85q63v4k48yq6dc8fx54x7mwryv";
 "everyhook-1.2"="ndig4g0nsbqla2i2p1n6skjjxsr3qjhv";
 "everyhook.doc-1.2"="690qpw68wri4cr4ahv1xfqibm3flc5mr";
 "everyhook.source-1.2"="rvh60i8j1gbyal0pjpdgld9l5g20zilf";
@@ -4243,7 +4336,7 @@
 "examdesign-1.101"="58mxkjnnwz8z68lvxdc43gn14v6i9ysx";
 "examdesign.doc-1.101"="vr8j3mhp28h6d9zvcg6akfx9sx756zh0";
 "examdesign.source-1.101"="51c9vyfhwcp9vmhsrsvzd47q93ckw2f1";
-"example-2018"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
+"example-2019"="rpbgsy66fj5nxcf2j2kg6mmkb46hq4ir";
 "examplep-0.04"="jnd218glfcwkbz8qprkac3nykm86lhsx";
 "examplep.doc-0.04"="lgm123fsn5wpdgbfx3kqm9h5q92qss83";
 "exceltex-0.5.1"="2zx6110fa87f5f3fabp4a163ybxd8mpv";
@@ -4253,16 +4346,16 @@
 "exercise-1.6"="x4m7z83dk9yg068fgv9580gpg32fin6y";
 "exercise.doc-1.6"="bcrzrs23c8rrkax8w03yhlmr9sgqw3kq";
 "exercise.source-1.6"="fw34bm9v1gqh9x7vgih6axanakwj523h";
-"exercisebank-0.2.2"="rm5vbzm0m481anpgs931n2yk37xx4gal";
-"exercisebank.doc-0.2.2"="02h1428jsiqjdzlpcydq68zqsa72fph2";
+"exercisebank-0.3.0"="lxmd3p0fn30bkvvh29jlajdilif7c6h4";
+"exercisebank.doc-0.3.0"="qys4wvwrjjxnphcadazvgz6wxxqk98jc";
 "exercisepoints-1.2.3"="givs6qpl3x2lc45lhxp2xa6wfznawp23";
 "exercisepoints.doc-1.2.3"="ad8kxig8in0cc1xdl2rn7yyhfxhcx868";
 "exercises-1.0"="hghjlb5lksvs5nwqdipf0sbfxblqkr8n";
 "exercises.doc-1.0"="2xwg0g0li01d2h27alvm667nz56cz2r1";
 "exercises.source-1.0"="fbq0d5cp7lmgikxgrizj3vs75gxdg4qz";
-"exframe-3.1"="z7658v23cxk3m491jah6zjrkz7jjhrgg";
-"exframe.doc-3.1"="7xya4fywnn5dikpq1bma1ydc24ky3c5v";
-"exframe.source-3.1"="asax9rfk29gqdhkm8jbxhpjpbfplfnm6";
+"exframe-3.3"="1yxv7ckh5ravavzydcvryykk94k83bbc";
+"exframe.doc-3.3"="afd27v4df5anpviwvv4k87rwr5z4hywz";
+"exframe.source-3.3"="1mcln0ril87yvl3bypnw6qp442i8mp1f";
 "exp-testopt-0.3"="rz188mfdr0hfnrcndv0ncany2g20hv34";
 "exp-testopt.doc-0.3"="icxvqjnip0g92k1hngpvas7f7ii895pa";
 "exp-testopt.source-0.3"="9gq43v996qrrrxjgi28fqf9c8qval8ln";
@@ -4272,22 +4365,22 @@
 "export-1.8"="c2cd44yhfphk0wnyaq0db2y5rfjmcvfv";
 "export.doc-1.8"="ijjjprbcnjwwj5hf13b61165mx8xdqn5";
 "export.source-1.8"="0wz3raz7mf5cqz0j0g977b7ghznxgxxs";
-"exsheets-0.21i"="msii7pvzxyz9ja3yk2jagiyha66v2idg";
-"exsheets.doc-0.21i"="nd45sx9nz98h2xr3ki1h4v5cnrqbh5s1";
+"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.8"="qb6arhvwmjpycprhbjfbhvfip3wsr3a3";
-"extract.doc-1.8"="xah1bafcvc4m9z785qyyl8r4an2a6531";
-"extract.source-1.8"="w6dbkpm7kyjgdad61mbvam0q02kyxf8v";
+"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-3.57"="lfhm1sbhh298w5lvj1kr0vclk0v2zj1g";
-"factura.doc-3.57"="zivwisvbyqrp5n90sk3m92ksp69hx1vq";
-"factura.source-3.57"="npc337y47zyn46afa9d3laqk26839xcf";
-"fancyhandout-2018"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
-"fancyhandout.doc-2018"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
+"factura-3.70"="mfwqcli266v23qf2mv40n65gy72pfs9y";
+"factura.doc-3.70"="mnkzfkdx0gnrkp0hcgfmlmf8w1l6m3rv";
+"factura.source-3.70"="81mpw7alzbs5f0zy1kl3ws1y5zj3si60";
+"fancyhandout-2019"="d1l30rd3z334px9zyw74l4x5vjyki6zi";
+"fancyhandout.doc-2019"="y4vl6xw99i4q8j9nr369isqzs9vl39z1";
 "fancylabel-1.1"="fvnw8s5y8rr4sfpff9ay2y1yqqgrwysk";
 "fancylabel.doc-1.1"="xsq1b17afxx971wfyrdgwnq2fkyqsxc7";
 "fancylabel.source-1.1"="rwq6gd28j5m49xv2h91sav2b5pf9cyvn";
@@ -4305,14 +4398,16 @@
 "fancytooltips-1.8"="92mbrk8gn6np54fx90qzcgkps3v6k54y";
 "fancytooltips.doc-1.8"="v90g2vxn8yqy9lvibqhldwm23cpvv53j";
 "fancytooltips.source-1.8"="cgj7harpp7wxh1fvh1wfx3pc0c34nhd5";
-"fcolumn-1.1.1"="3as7qnpb697lii964wfb6zq06g4cp3ai";
-"fcolumn.doc-1.1.1"="4grdm663fznflgh8c0kydq4h6bq2sy96";
-"fcolumn.source-1.1.1"="srfg8sq0spa6rwika7aq7ylqpl6yc8kx";
+"fbox-0.01"="avsffl90axfyd4pliavp0ckwxrm9w3f5";
+"fbox.doc-0.01"="ip8s6059f06097xzz36v0ad9r5j970rd";
+"fcolumn-1.2"="7gnf966fnvfcw5m4gfcxlxhixarf8v2l";
+"fcolumn.doc-1.2"="w9hp3iibs2fzympchad93fwrjzz3mn15";
+"fcolumn.source-1.2"="cx5wmvjqckiw10xd2xi66mwvq85nhmmx";
 "fetchcls-1.0"="hjmchh00z9pl5bhdxdb491f4grb4hvri";
 "fetchcls.doc-1.0"="2p0k1bx3y1b9b8lw2j25ybcaz1gwyyfa";
 "fetchcls.source-1.0"="xzc8psnl98xfsj7hy37f1qgln8hx25pn";
-"ffslides-2018"="v88vqphgndyc8bznnkpc17pcgc4f429f";
-"ffslides.doc-2018"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
+"ffslides-2019"="v88vqphgndyc8bznnkpc17pcgc4f429f";
+"ffslides.doc-2019"="1378bj25gqxr8mhdwf99rw2q61kbakqd";
 "fgruler-1.0"="z5k7w4nncv381nbznr8c7bwq0a9k9l5m";
 "fgruler.doc-1.0"="rm6g865195d2lm97v9pbaim7jrgsnjyz";
 "fgruler.source-1.0"="67chz0f0pjn70xrxzmw7jvzgskjl9vlv";
@@ -4324,15 +4419,15 @@
 "fifo-stack.source-1.0"="67n2h94p29l1j6dar7s1q8gz1cxg1zxh";
 "figsize-0.1"="hmj352dqpk23wfjhvs58r5rj47gcixj3";
 "figsize.doc-0.1"="sxblgd4i3mklznz336yy925l7xgdnb82";
-"filecontents-1.4"="c1zirlczq60radl8n75ij4n1x808938n";
-"filecontents.doc-1.4"="qfv0cw5z7ad3qqaynhif2cbwc5hx8xzk";
-"filecontents.source-1.4"="a2cazsy0zwy1vdz1zwc3nqfyscqakf79";
-"filecontentsdef-1.2"="6cmzpvqjr5dcbd865aj4333n3ha5p2qy";
-"filecontentsdef.doc-1.2"="qqlpd7b3fyvj35rnikqilvxbn199wzlv";
-"filecontentsdef.source-1.2"="h94zcfjld2z8vblaw0ka1wisj5kx72wg";
-"filedate-2018"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
-"filedate.doc-2018"="dq7487rvj7vai1j80j9sgi7hsldg433m";
-"filedate.source-2018"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
+"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-2019"="krqs9ry6gpmk5xi9a2ijkrd90y7v6q5h";
+"filedate.doc-2019"="dq7487rvj7vai1j80j9sgi7hsldg433m";
+"filedate.source-2019"="qq7zspqhd6zl4w5lyy9gxw927ph31sp4";
 "fileinfo-0.81a"="gbv2pynx74765fc966q0l4wpflxyi0cz";
 "fileinfo.doc-0.81a"="5y2xniw8nwg8iw11g49w04xl9fp4zyv3";
 "fileinfo.source-0.81a"="lgcw481ya8a6ag2gzd0g589sm3ndsqys";
@@ -4347,9 +4442,9 @@
 "fithesis-0.3.50"="y94p03g5da8ffsj5znr4v57h6d6kd2wq";
 "fithesis.doc-0.3.50"="a63mxxbhw59ywhni4c3si0y3hpxh1fsq";
 "fithesis.source-0.3.50"="25kfd698n7f5ajwz4b8sdxkl84cc8dm8";
-"fixcmex-1.0"="wbmzc4wl601mg09pam4bnykh1dcnnlkr";
-"fixcmex.doc-1.0"="0fy46qvzvp2zlwjbpm6pmwhydssw29kz";
-"fixcmex.source-1.0"="06g7vgpdih9iks8q11v1ag68nib40d40";
+"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";
@@ -4358,8 +4453,8 @@
 "fixmetodonotes-0.2.2"="8bzda1486sb6l1miw9fwc4gag8l86pld";
 "fixmetodonotes.doc-0.2.2"="kwvshr4l5r8zgjia62ac04bpc7cy5n8w";
 "fixmetodonotes.source-0.2.2"="c3v82mnqbxnz0b2yy1g5l9yfxh1y41vd";
-"fjodor-2018"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
-"fjodor.doc-2018"="ba4cxg0czxij6lwkl9w1kzmrcli6s3jm";
+"fjodor-2019"="c6ya1a7zfddfil9y5f30af7d0jm8ikij";
+"fjodor.doc-2019"="ba4cxg0czxij6lwkl9w1kzmrcli6s3jm";
 "flabels-1.0"="pphsynfbbj4vxl9g3rklfj0igp6pzliy";
 "flabels.doc-1.0"="hpsnqln41r0ybmv2vjycd0zrxi6mwrcx";
 "flabels.source-1.0"="2x4jjggfjxvqby3yv13k0y1cgcrd0jcq";
@@ -4387,9 +4482,9 @@
 "flowfram-1.17"="lr7jldig88wv8gsvp8aphxsvc6sv4cax";
 "flowfram.doc-1.17"="3f550irxijq1vdvyxs6fyhpj5w1lw4jq";
 "flowfram.source-1.17"="66z844imyrl7bsi22vrff1f05dqlmr8p";
-"fmp-2018"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
-"fmp.doc-2018"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
-"fmp.source-2018"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
+"fmp-2019"="3m6zqb7jl5rn5zgy0dbys5r8y1sp20x5";
+"fmp.doc-2019"="3hvfiw6yizjkxnx5h7xlzfig11diglpm";
+"fmp.source-2019"="44cqcijnqc5235rjqsmkj4vhmrs9j7hq";
 "fmtcount-3.05"="lgf2i3g3dqna8nf2apjmim4dsrgr4v1c";
 "fmtcount.doc-3.05"="1cxr7nbb8wc3gyiy8h6vb3lcnlq56cxg";
 "fmtcount.source-3.05"="bsypsb0pa2wjvacpyi0jri32j3y99vfa";
@@ -4400,12 +4495,12 @@
 "fnbreak.source-1.30"="jwyh3gnmafpdr53xg4jy4hz6x8y7vhm2";
 "fncychap-1.34"="pg593a0zc9ycpg6cc3d7bjz92r7grwix";
 "fncychap.doc-1.34"="rncjjlyrjy916hn3ka9yaydjq6pdvn09";
-"fncylab-1.0"="i7qfcb82d8b71j6qjn0szpxchw0xa0yc";
-"fncylab.doc-1.0"="95kh740jadwxy6xszs7ia6v99rc6aj94";
-"fnpara-2018"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
-"fnpara.doc-2018"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
-"fnpct-0.4f"="l3pp0ryvwqa4wazcn34ia6jrnh3f4dnn";
-"fnpct.doc-0.4f"="3ihqfldz34rj0agh6z7470pa191xfzr6";
+"fncylab-1.1"="lnd1s9pijjp9fnhp88fhlbz99d3lvp1m";
+"fncylab.doc-1.1"="psv8fimys5h1ps5cvhnjmwfmcwnsim5m";
+"fnpara-2019"="bwgyxjk2k7p76mw5ahsf2b0nm464rvi6";
+"fnpara.doc-2019"="h92c0g634x7n1qcdv6vqp5pnw9ykba0y";
+"fnpct-0.5"="cxgfwv34w1ply4aighh5ln7ahad4v04i";
+"fnpct.doc-0.5"="y5jqirmrd5pggkwgz7fxfrvaid7jm7q7";
 "fnumprint-1.1a"="vhhc4n3xvlkb2a31kjpkxbwrwc30r62y";
 "fnumprint.doc-1.1a"="gyllsixn381a8p0rpr90n31h3qb0ganp";
 "fnumprint.source-1.1a"="kp99n8b3y30ilnih7bk867bf3d93xf3m";
@@ -4426,15 +4521,12 @@
 "footmisx.source-20161201"="m3510nfdmbc96v66r54ikzkfcfffrxfg";
 "footnotebackref-1.0"="8c8gdjzn36nfxjmpn521548334gbn86h";
 "footnotebackref.doc-1.0"="fzjm17j06la934js2q0sn92l5d8g5z1i";
-"footnotehyper-1.1"="3rx9cwmnz90z60lh97lafxidphh5hivv";
-"footnotehyper.doc-1.1"="y1n4fhq1gk9fcdbhl0qdk7qfrbpsm5f6";
-"footnotehyper.source-1.1"="nsq8cwpdz3fljgq6hn1flag38g2fbpv7";
 "footnoterange-1.0b"="rwxkjfzlwnkci6wxhkb0fppkqc8sb226";
 "footnoterange.doc-1.0b"="c5nd33ha0bbyw53d9d7pqx68l4xl691m";
 "footnoterange.source-1.0b"="hsn4s3qzy592w2d27z8hkzpxy9j8cz1q";
-"footnpag-2018"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
-"footnpag.doc-2018"="8kar3xxxjlrsjascd28122y5rckyv5lf";
-"footnpag.source-2018"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
+"footnpag-2019"="ym18m0gmmk7800dd1c4vrar53q66hm7g";
+"footnpag.doc-2019"="8kar3xxxjlrsjascd28122y5rckyv5lf";
+"footnpag.source-2019"="51nmvyy96mjbr46ar058jb7jhpsqz17q";
 "forarray-1.01"="682slfwbrz58fhqj0c07lv1xwab861ks";
 "forarray.doc-1.01"="i7v5q2pjc3sjmcv3mcpdi3sffm4qs4kb";
 "forarray.source-1.01"="q23rvw19x2rk8nv6yhgg76jxfs30qfys";
@@ -4446,21 +4538,21 @@
 "forloop.source-3.0"="9rq5r8x9wv473bw97hyh21ihqzxd1w18";
 "formlett-2.3"="ccr4iqh9ii22b0xkdl0j2rhp6q6cisd6";
 "formlett.doc-2.3"="cwpzl5rhracg51x0lvqxxkbz4id1plml";
-"forms16be-1.2"="fl2lvzfwg6k8y6p5g351hnc6yx3l3x2r";
-"forms16be.doc-1.2"="p6dhrh7fjr9whcjcnkhbr7b2a59bh69a";
-"forms16be.source-1.2"="64w9r9hgmdwk0mmm80p5b2d0mggvixl0";
+"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-2018"="jjblkk9dj72nvr2gday7p509pnlpwy16";
-"fragments.doc-2018"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
+"fragments-2019"="jjblkk9dj72nvr2gday7p509pnlpwy16";
+"fragments.doc-2019"="z8rmyhlpsv68qbnr6h3sy08gcy6shiac";
 "frame-1.0"="9bdydjkb9dsdvryibfq2p1q071zhhpxb";
 "frame.doc-1.0"="fnv3ssnby17l7zmbgkc1rf4b5hysw7a1";
 "framed-0.96"="n9an7cs91wwfnkalc4j9ccd0p0dg485w";
 "framed.doc-0.96"="bwmgdv9r6rffibrm0wabw95vqdkiryfh";
-"frankenstein-2018"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
-"frankenstein.doc-2018"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
-"frankenstein.source-2018"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
+"frankenstein-2019"="ldv1sc8j6nxhd9cd95jf934pyz6s8lxs";
+"frankenstein.doc-2019"="j03cxxv0hw0c1j4afrfprgc2ia6nc5c9";
+"frankenstein.source-2019"="zc3nzdkbjrfgv241wj4xxlq6042xv9nb";
 "frege-1.3"="vczq96wx0icl69c5xqcqmfsy2wdw1ncn";
 "frege.doc-1.3"="h07nnplqxq2fyh6f0wh03jpism89ji0d";
 "ftcap-1.4"="7srhgl4z3zpicxv7aakm970xy2yxnpns";
@@ -4479,25 +4571,25 @@
 "fundus-calligra-1.2"="5jn0qbj8zgi1c0166c2vdwzs1a5i8qm1";
 "fundus-calligra.doc-1.2"="dd87040kysj4av2sq7grslyjv0gx4rmd";
 "fundus-calligra.source-1.2"="s4s97ga289ncgv0rpd90b8i7qh4n7jfj";
-"fundus-cyr-2018"="fjyzn069q34z3ypaj0qwjq3f5zjm7y8k";
+"fundus-cyr-2019"="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-2018"="887p12xhlcgydw4pddr0npyvp4xr1azf";
-"fwlw.doc-2018"="2di5y3hhm865frn42j1sh87hflxlpc1n";
-"g-brief-4.0.2"="gqak9cc04cklmsg6xlar9l0s81027wgm";
-"g-brief.doc-4.0.2"="bdkjz2wyh4wpgs0wlp9knfbj48fnj9g4";
-"g-brief.source-4.0.2"="7kl0a76ylpcn4dixxd5ch603h4m9y7c2";
-"gatherenum-1.7"="zpjdak4z9vr2719sszjiapnbipsxksm2";
-"gatherenum.doc-1.7"="zsz7rwvpdgxgzksf0ziscass4riakc2d";
-"gatherenum.source-1.7"="v15bkfxani8kdna1mlz10qq1mxdsvc4m";
-"gauss-2018"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
-"gauss.doc-2018"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
-"gcard-2018"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
-"gcard.doc-2018"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
+"fwlw-2019"="887p12xhlcgydw4pddr0npyvp4xr1azf";
+"fwlw.doc-2019"="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-2019"="rm0hzy2h1msxkfp2lxm2k881y4iaw773";
+"gauss.doc-2019"="1d71g6781ar41gk3rjjy48bbkdkxx4id";
+"gcard-2019"="vrmrds4xh35bqjq4qaqj8rrvfd7fdykm";
+"gcard.doc-2019"="lxpbgqbbcldhlpwjkj531yh2bm3l2n3v";
 "gcite-1.0.1"="z7ha969s3ry7g9ibv521f2d6vr9lcxx7";
 "gcite.doc-1.0.1"="3bb2z8jbygadc7qzmjz024dqzphncy4f";
 "gcite.source-1.0.1"="v3fbj2j823jh4gy1vrc4f74qsdbfqnpa";
@@ -4512,12 +4604,14 @@
 "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.3"="dhkr443nnylzz5pmb4zwbygg1rznv9vd";
-"gitfile-info.doc-0.3"="a912kp1s2icfr4fhzczdl729jniza5dj";
-"gitfile-info.source-0.3"="q2knkm9xl1i1b8v9cdhdiivviny4vjdn";
+"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";
@@ -4530,9 +4624,9 @@
 "globalvals.doc-1.1"="2pdq5ik88cr3z5x9j5jvqz1k6abkllm4";
 "gloss-1.5.2"="xacfn3b2z30pnj9lwh6mximrbsfvarfs";
 "gloss.doc-1.5.2"="4qial5a0p7ip784xgpqgkl6cmabd9hlq";
-"glossaries-4.42"="sds1dxnhqc0i5fi590jiwjqq7jvigfr9";
-"glossaries.doc-4.42"="wpa59d21nnwpr3zafs6kjq16sy8a0dng";
-"glossaries.source-4.42"="xr18krz2bvdy7csnl9v9v6d64wm5a4sw";
+"glossaries-4.43"="5v3d0s2n7hn1pvp5ip40j077kywjaxkf";
+"glossaries.doc-4.43"="kdz8v10i2x358dxnsx0n2bb2q6ajv024";
+"glossaries.source-4.43"="dvidpd8v5920dr7j81m12v0k2xiq80f9";
 "glossaries-danish-1.0"="hmaay0viwacnrz7bfz6xlpb03cmsphcc";
 "glossaries-danish.doc-1.0"="mxgh9b6vc63llhmfildmhkhjxd1s9kbq";
 "glossaries-danish.source-1.0"="s5ayfh10z40cpi9amn2d1wwpnby0qgaw";
@@ -4545,9 +4639,9 @@
 "glossaries-estonian-1.0"="3flqr7abc4hqy63p0bdl0bz0y04mq07s";
 "glossaries-estonian.doc-1.0"="dd2rrp43ix2hcwnrgcidfr8z0shsgdds";
 "glossaries-estonian.source-1.0"="8y8x5qqydmnvjf8nbbj8qj550kbvddg5";
-"glossaries-extra-1.38"="24l4fy24nvqv0v3ri5mnkb3qczqz5n73";
-"glossaries-extra.doc-1.38"="l0jqfajwkndvsf5405kcss3hs09wbi1z";
-"glossaries-extra.source-1.38"="6fy5dq72ifcnjd01ilsfgi7hhiaxyxf7";
+"glossaries-extra-1.41"="i1lsazwr25z6x51xmxccc5bx8gjvis6s";
+"glossaries-extra.doc-1.41"="qjbl4kpgkxylq5zvki1zi3z4xkfmhx60";
+"glossaries-extra.source-1.41"="0ymb9lrspig48ahj6a9qsapl1rnz5fxy";
 "glossaries-finnish-1.0"="rq7ymhc4ispv4j1zpv5iy6mbn66wr3j4";
 "glossaries-finnish.doc-1.0"="f8rj41dbpqrdxbl7h94rxnbiqm77xcj4";
 "glossaries-finnish.source-1.0"="gnj8dlxpzapvi9yvzy04rhmrs5z7hmid";
@@ -4575,6 +4669,9 @@
 "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";
@@ -4589,9 +4686,9 @@
 "gmutils.doc-0.996"="2w4257wz5vjp1lwzf3gzhbyyaki5d4x7";
 "gmverb-0.98"="z9il1jbnblh5vqzjz13xkfjsva6xqa1v";
 "gmverb.doc-0.98"="bh1ckqnp1vkqj9qb3fwfk1xszfphvma6";
-"grabbox-1.3"="99z7inj3x9la6rampnbkkvhbwzyi22pm";
-"grabbox.doc-1.3"="v8h639q3rssaih2f3dlflrbwyrz9v4mx";
-"grabbox.source-1.3"="a5yxi41r6wpwgaawv9wd73nm477miamg";
+"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";
@@ -4601,9 +4698,9 @@
 "graphicxbox-1.0"="6grrmcmr2wlpx8dbj1k1nggs2b6z7qh4";
 "graphicxbox.doc-1.0"="2blrwzsralqjrvlx6xjvyaqvsi764nmx";
 "graphicxbox.source-1.0"="1vl41sp02d8byjrapj58v5pg6i2g989l";
-"grayhints-2018"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
-"grayhints.doc-2018"="gayl01rd21rc9i5x6xnd376wm907qlz5";
-"grayhints.source-2018"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
+"grayhints-2019"="g0g3914m4qsplnykwnbfy3ik6svxbifq";
+"grayhints.doc-2019"="gayl01rd21rc9i5x6xnd376wm907qlz5";
+"grayhints.source-2019"="jimxcmdqgjndw6dqmwzb0ry84lwr59cy";
 "grfpaste-0.2"="wi95wbrs7k37di2dkqnix5h21p84cb1c";
 "grfpaste.doc-0.2"="7hn9vs80ksnpaa0aqdmbv7qzhrdxwr88";
 "grid-1.0"="hf1jfkwc5j27mhxi2skf3wjwq2y1ca0w";
@@ -4616,11 +4713,11 @@
 "gridset.source-0.1"="bb1kbccwzc806sc9sp7b3dgp0flfamrb";
 "gridslides-0.1.1"="r9lxxzf51dpfaprn6kvv3n1j9hf54xa8";
 "gridslides.doc-0.1.1"="jkri2k8k8nzvchpk11pgig98kw327c3m";
-"guitlogo-0.9.2"="7lfy6i5pq8cg24n5rh2aizbrv5s2815i";
-"guitlogo.doc-0.9.2"="lrfcbc5mfy6qfji2c36zqkrva983c42v";
-"guitlogo.source-0.9.2"="q5bdflg33yc271228jknv297i0fzq227";
-"hackthefootline-2018"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
-"hackthefootline.doc-2018"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
+"guitlogo-1.0.0-alpha.3"="g0knkg1x7mlgc938ydvdk93hcr95nfqk";
+"guitlogo.doc-1.0.0-alpha.3"="cvs2c3417kwq2rvnraxxj2k30v2flrh7";
+"guitlogo.source-1.0.0-alpha.3"="ckrba60qg0xhgrp3jdvpgywx224m83vd";
+"hackthefootline-2019"="kih3c9nczylrh74x0vc4m7g4bzahps5v";
+"hackthefootline.doc-2019"="vp6qn8s2g5d34v44anyr2jd5c0l5b4nb";
 "halloweenmath-0.10a"="mr8nvi7ynzngvgxp0i74wjkxwp77i7p0";
 "halloweenmath.doc-0.10a"="xamcznycdz08kgvbph8pi64h2v9j9j25";
 "halloweenmath.source-0.10a"="hr249rdkmmkm1v7z4cf7ymdwrshz0by3";
@@ -4640,9 +4737,9 @@
 "harnon-cv.doc-1.0"="a7012x0ckxnym7cpbj8m12ak993bz7nc";
 "harpoon-1.0"="88cndn21h4fshiq6yvd8p68gwl2d2nd9";
 "harpoon.doc-1.0"="z21q49fw0a7wwwr6chwdd73ypkwqz1x3";
-"hc-2018"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
-"hc.doc-2018"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
-"hc.source-2018"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
+"hc-2019"="vibhz5h2dnzdkwrxgadrwy8crfaa505s";
+"hc.doc-2019"="mhva92gfr4jn40d4sdnh0331iy19a4vi";
+"hc.source-2019"="dfmq6gax4mfq8z074sm76b6k7385d2nc";
 "he-she-1.3"="6rnp8qmascvlz9p0hgacblpx8svapf65";
 "he-she.doc-1.3"="xl7nf17g73pn4jc3z6nc6fknr11lsf3l";
 "hhtensor-0.61"="vnl54f4l78n4x9pllg95fr5dm79qs0jg";
@@ -4663,8 +4760,8 @@
 "hrefhide.source-1.0f"="42s1cx0nwj58cfhb2d22nsdqzidknwpv";
 "hvindex-0.04"="90sdf5j0a5qr2xp8qzryrvhnsvaz4fs7";
 "hvindex.doc-0.04"="9r6a8mfj7y9kyc2dbc79vf86aw73n6l0";
-"hypdvips-3.02"="mfy4cnl5pysfvkfjz8swk3qqvbmxx20l";
-"hypdvips.doc-3.02"="hidxdyxszb7a32apmnh5vjgrar4l7piz";
+"hypdvips-3.03"="vpmmrcrilqybs4ifvd927jlkn5ip28c2";
+"hypdvips.doc-3.03"="85viqi36j6kdsbnpvhf6a4wj2vjks42c";
 "hyper-4.2d"="xpwylfxrx74x9aw96ridad40im7xanw1";
 "hyper.doc-4.2d"="fcllxx04lprzhbna8rk4ycwbw0w6xnq1";
 "hyper.source-4.2d"="v03bmxbg7hqjpl8vfp0l8z81mi2db2hz";
@@ -4673,9 +4770,9 @@
 "hyperbar.source-0.1"="iydbmx9cvsd986n970lvc3k6m28ix2rk";
 "hypernat-1.0b"="25v0a423yhy68vf125ys0n6p0qhvr088";
 "hypernat.doc-1.0b"="0n4qzpmvhks66d0g9gnyizpl44jbh4pf";
-"hyperxmp-3.5a"="l2bmadwld9crr2qmahglzqxpra2dy64w";
-"hyperxmp.doc-3.5a"="z85b6ldq53qyx6q6lb7q18r4xn0d27x2";
-"hyperxmp.source-3.5a"="bi63y7hgss75yxz9dyirvz6j89rhfij0";
+"hyperxmp-4.1"="qry3sw3040f8kpj98zg8apqdr21z0d14";
+"hyperxmp.doc-4.1"="3dhn63b11sf4lh9ng6zc781qhk387v36";
+"hyperxmp.source-4.1"="7ylf2spylwk91a5b96nbbjv09ni3bizr";
 "hyphenat-2.3c"="wr2lhsafb13b0zira7190bx5s68fak45";
 "hyphenat.doc-2.3c"="z1sj3r1ny1lgixr2fcmsglz55b23f5lm";
 "hyphenat.source-2.3c"="x70g8xiz9ss4pw775lz82yncq0x7lxf1";
@@ -4697,9 +4794,6 @@
 "ifoddpage-1.1"="6f52apknfsjpswzikk3nfi9by5iip7gy";
 "ifoddpage.doc-1.1"="7l75021f0gk7nrpiq2axr88pbnzjq50g";
 "ifoddpage.source-1.1"="njqd27ax6313q2w063xbmw3mnfiajx98";
-"ifplatform-0.4a"="sfnfrx7iqg6kikiqd44yx8004l2mqkza";
-"ifplatform.doc-0.4a"="sab580hpgp0nw6gq5li9vvv3x5gxp50b";
-"ifplatform.source-0.4a"="nkwc32c56f1s585rr18r54ib1xa9hn4z";
 "ifthenx-0.1a"="2ah86wn9m3zc1f7hf1yzwyv26xbay35s";
 "ifthenx.doc-0.1a"="2zrlnl6s8fbs3ndyfi21bdqsfx7n6fc6";
 "iitem-1.0"="k0gdz2py6spiqrj4djhwbys9vkar3p88";
@@ -4725,24 +4819,24 @@
 "inputtrc-0.3"="vmk80jzg9sllpw28csmhsyjd13amp567";
 "inputtrc.doc-0.3"="dl0qs37bjj4aam7ijfdg64fpl135k7b4";
 "inputtrc.source-0.3"="1nx2jv4m63gc83iy3qp46gxr3v6wyw6h";
-"interactiveworkbook-2018"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
-"interactiveworkbook.doc-2018"="ldph57php6irhdbj9w497xk31n5ggxbz";
+"interactiveworkbook-2019"="4a6mi66i2z1sjzxjddvwajpvxl6i2c6m";
+"interactiveworkbook.doc-2019"="ldph57php6irhdbj9w497xk31n5ggxbz";
 "interfaces-3.1"="pja00rv19b492fv0d1afkj1cmmi09wm4";
 "interfaces.doc-3.1"="bj6l95whavxkrsa5rb8791d2ib4n5gal";
 "interfaces.source-3.1"="f7gxq1s477zab7wh212nyad94kcdacqn";
-"intopdf-0.1.0"="b01rwg0jgb7sg23i5hnvqnv2zq400fh4";
-"intopdf.doc-0.1.0"="9k4fcw8v70v1grdzldhm7v6pwb8w7fir";
-"intopdf.source-0.1.0"="midqvsvsn70lwchzg5jy58p4kiwfpx6g";
+"intopdf-0.2.1"="n94n5ajyig2qix0wzfm6h501jygqgb69";
+"intopdf.doc-0.2.1"="hn0ynqp3jc0kqay69i2g7awlnc4fk9qa";
+"intopdf.source-0.2.1"="rkj6i3mfa1kqkhhdc03nrfcj9mfsy017";
 "inversepath-0.2"="8csfwygw95dd5wrawwj7hs4gmpxhdwd8";
 "inversepath.doc-0.2"="b3z6dkfmk19n96dklslzszn7vfrnlcn4";
 "inversepath.source-0.2"="zpg2i1sqr76xvi6jn5vrgxvs44dlfx9z";
-"invoice-2018"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
-"invoice.doc-2018"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
+"invoice-2019"="bjzw59mdvxqc2fyc5mpqg964a041zi2m";
+"invoice.doc-2019"="4g5fd3ry648n0i7nbkrl4c8ln7rdbpp0";
 "invoice-class-1.0"="0hyhlrisqlng2zcs0l62d84r9i4g1hv1";
 "invoice-class.doc-1.0"="psxy04bnhh1y2v63pz89j5p4bl6b1q0c";
-"invoice2-2018"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
-"invoice2.doc-2018"="cjarambfqlfz664z498dpi142ik5l12l";
-"invoice2.source-2018"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
+"invoice2-2019"="x6kdjp7i7rgy4qqs8q0f7hv8bdnbs3h7";
+"invoice2.doc-2019"="cjarambfqlfz664z498dpi142ik5l12l";
+"invoice2.source-2019"="km7fcfxzdd9y5lvwyg4m729asqm04pcp";
 "iso-2.4"="p6yl8v4jyvzq5fh3qw31kgalhrv1qv22";
 "iso.doc-2.4"="xs5sw6aw59hr3xlk187dhwkg223vycsl";
 "iso.source-2.4"="vrgvl97kvsb6n82w4acm2wfjsqq00cxr";
@@ -4759,9 +4853,9 @@
 "isonums.doc-1.0"="qbnvabarywnwbfaxqjr1afkic152hhsf";
 "isopt-0.01"="0gyj9ri30pid0xymfv457g9r0nycy6qm";
 "isopt.doc-0.01"="q8srwcqk4w0mblrqzpy70wbqqrds2k9c";
-"isorot-2018"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
-"isorot.doc-2018"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
-"isorot.source-2018"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
+"isorot-2019"="pzs5xd3c9n1m3r4m5g82702s0slq0kl8";
+"isorot.doc-2019"="760dh5j78kcgn2zxp6jhghmzxhyplavx";
+"isorot.source-2019"="35mi9l5bcbqmrixngyvb7g780ns0vjg5";
 "isotope-0.3"="paqbsfz0w4sl82imkw2zqsdwg3nlzd9c";
 "isotope.doc-0.3"="f5mylfd5fga3jy0fsdvw1z5kya7kcg6b";
 "isotope.source-0.3"="sc8npgj5397qvqwvfrz2bq51xj5840l4";
@@ -4770,10 +4864,10 @@
 "issuulinks.source-1.1"="hmn5nsszd3vf27863sbk647fgfh5gxmd";
 "iwhdp-0.50"="j4m15vz6ky21yk2m95kjz1is1z91vxxy";
 "iwhdp.doc-0.50"="wphgycl74db9mxr5gjc2m80rbzkcqk3l";
-"jlabels-2018"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
-"jlabels.doc-2018"="fndgg419y1rp47d5qifv0k304b5iymab";
-"jslectureplanner-1.7"="il4ypbggr4s3kmmkk8rl3r9vjii1vq5i";
-"jslectureplanner.doc-1.7"="45ngl247v51dy6ikl597xj27rsmys39r";
+"jlabels-2019"="fw5il0bzwm10lj1ly8fjic2hjiqxnr7d";
+"jlabels.doc-2019"="fndgg419y1rp47d5qifv0k304b5iymab";
+"jslectureplanner-1.8"="il4ypbggr4s3kmmkk8rl3r9vjii1vq5i";
+"jslectureplanner.doc-1.8"="45ngl247v51dy6ikl597xj27rsmys39r";
 "jumplines-0.2"="acxl8nhlznvcwq20n01b41kamc5xmqdr";
 "jumplines.doc-0.2"="hjfl57a9hwdyf6lxl6ah0k7937r03jil";
 "jvlisting-0.7"="fi23ykvl6kw34qri5nz2k4mvgjqgbbyl";
@@ -4782,32 +4876,35 @@
 "kalendarium-1.0"="bspimin9i6nh58ywvqnyv6r72clzfkk1";
 "kalendarium.doc-1.0"="01figqd8r369s9mg4xbvc3kxl5xj3573";
 "kalendarium.source-1.0"="2fmwxzki8sxbf9a11zvb7sc31hmd2bjh";
-"kantlipsum-0.7"="dqrhxbz33va8b2g76cnslw215vszc00f";
-"kantlipsum.doc-0.7"="xky6acsmba89zfz5qd6ilbfmy3i8n6fg";
-"kantlipsum.source-0.7"="n790p7vj9aliynhgzp5yybirk13bp0vg";
+"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-1.00"="whsvc0l2p8yzcrpyj6p4mjkfnci5czna";
-"keyfloat.doc-1.00"="g5lkh04l5ahvdlfx7ljll4mm5lrrpbrp";
-"keyfloat.source-1.00"="jp2629i47x7w09issmhj0igzha892n0l";
+"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-0.3b"="nxc2dwgj3cw0x99l5xrm3ik73g1za2im";
-"keyvaltable.doc-0.3b"="19nsh5a2nd1qvxkgm75fhr52vjqiiqmx";
-"keyvaltable.source-0.3b"="7k726qbmkpbylnkwyc0znryya5bdj1c3";
-"kix-2018"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
-"kix.doc-2018"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
-"knowledge-1.16"="lcln2p1yxq7gksgb51jilzjhd9x8wh5z";
-"knowledge.doc-1.16"="q675gjkmpxqxy76qr2c7imk0v3bfs53g";
-"knowledge.source-1.16"="8ry19c2pzayxzlmc0gyfs99qgzi736fj";
+"keyvaltable-2.0"="mzz0z6wwf1z2xqf1lpa6fnqr8zff2km5";
+"keyvaltable.doc-2.0"="8n9am1ijk6rjgq4yjn1zk1ijg7n1djdk";
+"keyvaltable.source-2.0"="milc53qz2f6bs1q71w1sd399sc2hzgf4";
+"kix-2019"="lzdrca007a0r5rsm8f14ljx6v8yyg8xz";
+"kix.doc-2019"="jallvk311vqcjc3wrkxqv03ckbc9k1gi";
+"knowledge-1.17"="jzaf04vppnpbyv7qm5wi2nbbbinzpidd";
+"knowledge.doc-1.17"="s9nfwj0hsd89pff5fck07415nmwjrw49";
+"knowledge.source-1.17"="nm6k8ka3b31n1s5qpfb345glvckh4zi5";
 "koma-moderncvclassic-0.5"="s33qvgji09s9glq93mdxzs3smnzlamv5";
 "koma-moderncvclassic.doc-0.5"="dvzcb032fmh5xs804d9mbx6q0afm25r0";
 "koma-script-sfs-1.0"="s9dryf4f0zgcij3v5v93zppqs876p2nq";
@@ -4821,15 +4918,17 @@
 "ktv-texdata-05.34"="fdwnms9v43cjsjypsnlq6rw1j3c6zz93";
 "ktv-texdata.doc-05.34"="896wnbqpxncc640x8rsi6gia2wh5njxg";
 "ktv-texdata.source-05.34"="7wq3pi1mm3r1g209vq31im4n4ib21zv2";
-"l3build-2018"="rqhbsxlylpbncmbizy4nln8hb114p656";
-"l3build.doc-2018"="5272h3ny753b08hhyx5m9i4jh1v3x794";
-"l3build.source-2018"="06sy4yfl9ixgzk9jz68hy4a31x4nixn4";
-"labbook-2018"="x7i28cyfski7ssm9hv28zrlac3inky0c";
-"labbook.doc-2018"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
-"labbook.source-2018"="rrybnds4laxyariqq5c2sh1zm9jzvk7f";
+"l3build-2019"="8wc83ggd24fk8v0bz9i9ivsqm4qi3gyc";
+"l3build.doc-2019"="6616ck8x996xzyzglkb19yxlpcwhz277";
+"l3build.source-2019"="3r6xmyyxx377qaymni53x9my9jlil96p";
+"labbook-2019"="x7i28cyfski7ssm9hv28zrlac3inky0c";
+"labbook.doc-2019"="5qs95wc8ms4162nwd7q4lvh7rc62s2h4";
+"labbook.source-2019"="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";
@@ -4839,8 +4938,18 @@
 "lastpage-1.2m"="i37ji3jp95j287rx34q4yajih7w1riy4";
 "lastpage.doc-1.2m"="jc40pwdbysv03k1wx113f2q0j8xf54dr";
 "lastpage.source-1.2m"="gika2qk64lahh4l6c6pn76r5l57rspf8";
-"latex-tds.doc-2018"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
-"latex-tds.source-2018"="xdigsidx76bs121jl0m42wavzf4y88qj";
+"latex-amsmath-dev-2019-10-01_pre-release_3"="w0zy9ffcyvsy57nxzljs8sbvpg81nyrj";
+"latex-amsmath-dev.doc-2019-10-01_pre-release_3"="rns9wjinm96w81jqws8vm8vh01gbcgxc";
+"latex-amsmath-dev.source-2019-10-01_pre-release_3"="vkxw7zkbaxm8ckhivs6x7s6k67janhla";
+"latex-bin-dev.doc-2019"="p4hj5yxinc2kx0b2nxr0k6ilp2ff68m3";
+"latex-graphics-dev-2019-10-01_pre-release_3"="cr3l1n4pzgpnasvww1fsjrwkys9vbi5s";
+"latex-graphics-dev.doc-2019-10-01_pre-release_3"="by2x3v4sj3q3x7d6ikh4qjcnbg08ijpb";
+"latex-graphics-dev.source-2019-10-01_pre-release_3"="pcgrxh27rqadh06cmkb93km85pni9vi7";
+"latex-tds.doc-2019"="m38f5gncr9c56sg2cjs0mfgd57wik7pd";
+"latex-tds.source-2019"="xdigsidx76bs121jl0m42wavzf4y88qj";
+"latex-tools-dev-2019-10-01_pre-release_3"="v5mx5x2aaira12nv4kr81sjnjfkc5hzi";
+"latex-tools-dev.doc-2019-10-01_pre-release_3"="1k8s4liivw1mgrvkvf0jbmcj2kcd2p97";
+"latex-tools-dev.source-2019-10-01_pre-release_3"="r6rm1vjpnfxpzpqvq89flj6lnmf34z63";
 "latex-uni8-0.03"="kh4gfpkynq6f2aqg9r3wfp4b75wd3zaz";
 "latex-uni8.doc-0.03"="qany361f2byfy4p1jsbwr4za45x5j74a";
 "latexcolors-0.1a"="0izwkzw8h2rqlgnl9dsn2zwm0z2wczch";
@@ -4849,9 +4958,9 @@
 "latexdemo-0.1"="qjb630j87mqsczjbhvjgr4a187rg6wzy";
 "latexdemo.doc-0.1"="p14qs32q48w1f8fq0xmwz1maiijhw44z";
 "latexdemo.source-0.1"="vldkpqrsdaa84s356w6nd5a0q0gv40ki";
-"latexgit-2018"="fymcvzwl1sl173r3jgf0298hxzrv66fa";
-"latexgit.doc-2018"="sxi90m4zcf03fym5d2mmyycd9p8f1k0l";
-"latexgit.source-2018"="jgvdi7lnqw37v9c4w7ybl5424sxkzgsf";
+"latexgit-2019"="fymcvzwl1sl173r3jgf0298hxzrv66fa";
+"latexgit.doc-2019"="sxi90m4zcf03fym5d2mmyycd9p8f1k0l";
+"latexgit.source-2019"="jgvdi7lnqw37v9c4w7ybl5424sxkzgsf";
 "layouts-2.6d"="j5bph4p5drbgidk6k74k72n6ckzin1qq";
 "layouts.doc-2.6d"="4440l4n1kwphf99pkms09mk8ilbyd416";
 "layouts.source-2.6d"="hay5rjr1crxj98zqj1qm841dkxx55azg";
@@ -4874,20 +4983,20 @@
 "leaflet.source-1.1b"="l8g4n75f5d85dj4mfwbrc19bh87jzr81";
 "lectures-1.0.2"="gxziq0f4bcy0q1r02gqc3z63z918mqz9";
 "lectures.doc-1.0.2"="93h48qv5h0c9g3v4ga95d3cmcml595qr";
-"leftidx-2018"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
-"leftidx.doc-2018"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
-"leftidx.source-2018"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
-"leipzig-2.0"="vasv42gq76m6bqc0kd3rhdjqm3jfbgzw";
-"leipzig.doc-2.0"="mwiqrvnz9dpar8yxz632anah37795px4";
-"leipzig.source-2.0"="8d88fsk8faxw58zrp0any6ld256jiqda";
+"leftidx-2019"="d2q1jibnbyjk72phsf6yj7nxj9l37fvh";
+"leftidx.doc-2019"="db75s45b0v3lqkw9dx09m7zs7zhmng7y";
+"leftidx.source-2019"="whmdclngd2dpahpsmz5s3rahk1bvf7sq";
+"leipzig-2.2"="d4y64gbg2q9mjk2jqz46gqci27vci5lv";
+"leipzig.doc-2.2"="k6ba3ddz4vbnpv99g8nvfia1gj12rib7";
+"leipzig.source-2.2"="ld4r216825mz68j1yz211xlrmzfgblpy";
 "lengthconvert-1.0a"="7rfvx4n625g3rwinbxci25b0xpxrb2sk";
 "lengthconvert.doc-1.0a"="ngl9jfvcplmd9z7kwzfd90m45jp9lbpc";
 "lengthconvert.source-1.0a"="r2lh184znd42l741g816y2ljrsrbncha";
 "lettre-3.000"="cji81arz9mmmd0n31k9zh7pacq0w7df5";
 "lettre.doc-3.000"="szid42pk7qyrimafvma6z62407npv9dj";
-"lettrine-2.21"="gxn8sc9id4xk8yyl0rmpvcsr47cs2gkh";
-"lettrine.doc-2.21"="6glrzlzd231i4mjkcs0an0lf0qxg46l4";
-"lettrine.source-2.21"="sn3d5nis17srz6ckh03n1kpb3134w381";
+"lettrine-2.22"="i1qjxblg0abxqhgkij7fqy7d0iy69a1w";
+"lettrine.doc-2.22"="ddf39gxbshfml5bb511g6ajbax9f3i5f";
+"lettrine.source-2.22"="lyl09j8cffrs75l9awk4i3254vpaxmbj";
 "lewis-0.1"="dc7cw320gc531z7m47z3pgby0zl5l6nj";
 "lewis.doc-0.1"="di515hv7q93g3mb76d9i4xdm7v35qabs";
 "lhelp-2.0"="47yixr326p1aaxdfbc8y8f051yk4blfs";
@@ -4914,9 +5023,9 @@
 "listlbls-1.03"="hmdaqr5466rlpkkrq78d4p5rfzm4fyxa";
 "listlbls.doc-1.03"="gmdiwdbadf66b6cchmxv1swlngdw6y5g";
 "listlbls.source-1.03"="8l3lzr022qmx9pw4jgp1n2fkacyl94vb";
-"listliketab-2018"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
-"listliketab.doc-2018"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
-"listliketab.source-2018"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
+"listliketab-2019"="8d6nwla5nj3m47r2nw7pqhv5kpc9dlmf";
+"listliketab.doc-2019"="7j02b3ng311y78pw6k0q4zjya5gs7zhz";
+"listliketab.source-2019"="vk9ar9i94brrf3csjh9ncp2r5z48glwc";
 "listofsymbols-0.2"="9xg173d0qs233kqf04vm7qdl7ajha3w2";
 "listofsymbols.doc-0.2"="4vhmgkz6wrk2ad9bnzdv3sv3ii1np14p";
 "listofsymbols.source-0.2"="4g49piirj1spdl9hg02n9m1c8b5ql1k5";
@@ -4928,14 +5037,14 @@
 "locality-0.2"="mr4032njdjyscsy5p9xax5lw5kdbhnnq";
 "locality.doc-0.2"="98r82nbryc9zf5xyhwfnbkgrcybf7fr5";
 "locality.source-0.2"="4g29gqbn9n7kp36x0s44211p8bbmcfi6";
-"localloc-2018"="jjmgwbaj9v9503wkm5x3mr008f3llvls";
-"localloc.doc-2018"="jn8x4qwci949zci0bk1ldrkr192kasgb";
-"localloc.source-2018"="2hhfkp3qb0p6qphv2fq5cyigyrx41iah";
+"localloc-2019"="jjmgwbaj9v9503wkm5x3mr008f3llvls";
+"localloc.doc-2019"="jn8x4qwci949zci0bk1ldrkr192kasgb";
+"localloc.source-2019"="2hhfkp3qb0p6qphv2fq5cyigyrx41iah";
 "logbox-1.0"="6hm79ady9adc3i3c4p0jzmx7fwavbzqj";
 "logbox.doc-1.0"="mxpkm6s6x6zngdy8jgj801vhq3h7mlxr";
 "logbox.source-1.0"="a1q1w9s8pj9aqshkyla8cc1p3g2z9w8z";
-"logical-markup-utils-2018"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
-"logical-markup-utils.doc-2018"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
+"logical-markup-utils-2019"="zbnw20yl4fjaj4vfmqa5zp4146yq2a84";
+"logical-markup-utils.doc-2019"="gwklf7w5nqlxiwy7avg5nwx514l2ryaz";
 "logpap-0.6"="dhd61y6riva220cjnb193v9cjbjz33bi";
 "logpap.doc-0.6"="pps9ipn239h1vw0d8p2jlzbkmcd12czb";
 "logpap.source-0.6"="6y6gv7qgh503f3n8zrpqddyghkdvzngh";
@@ -4949,8 +5058,8 @@
 "longnamefilelist.source-0.2"="3ph503yw35mliqir4k60hv3i8lah3q7v";
 "loops-1.3"="0f0xz58wdvx6cvkynx3xmyxm08x823jh";
 "loops.doc-1.3"="6v1ghg77l3nrab23by4cwqwr014jjwq6";
-"lsc-2018"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
-"lsc.doc-2018"="ajdphikngmbihczhfyarwa94i9r3mg6p";
+"lsc-2019"="m875c3d6lpgh92sym2hav1n0lll6f7nz";
+"lsc.doc-2019"="ajdphikngmbihczhfyarwa94i9r3mg6p";
 "lstaddons-0.1"="n797dx657x03zpkhb1fc2ygd0ppb023g";
 "lstaddons.doc-0.1"="w57l66903jqsb827q96f05as16fr5wf2";
 "lstaddons.source-0.1"="35c9b9n0qi3rjl2gg9dr158v21rh5cq6";
@@ -4964,8 +5073,8 @@
 "ltabptch.doc-1.74d"="aa6psxhjpb4n2cn73asiqnycv9g5gnis";
 "ltxdockit-1.2d"="md2zz844hk8w5jirc633l6jzix82dlwd";
 "ltxdockit.doc-1.2d"="v442rbm6y5ncm6ijzx9b7xwdf0dx28pg";
-"ltxguidex-0.1.0"="p3f7f1p759c1gsdw5zhvqgk548ddnn15";
-"ltxguidex.doc-0.1.0"="2slfj6xa6dgmg842sv5qwg7qshy03056";
+"ltxguidex-0.2.0"="jzi1r13lc3pbhbls5h7gy05qa8g5jndi";
+"ltxguidex.doc-0.2.0"="qkxvrhpcm2p78bh4qbp6aik46d1ribgr";
 "ltxindex-0.1c"="1lys1zfka0z2qjnwj8ghak8xhzkzh4bw";
 "ltxindex.doc-0.1c"="90k7xf0b9qiawqf4nm4fx5hkacx33ymz";
 "ltxindex.source-0.1c"="x9ifr8r7ihl5yh8y7sbpxz2hc2y296g6";
@@ -4986,9 +5095,9 @@
 "macroswap.source-1.1"="wirvpfkv8zjyqghlabclnvnmb4w8i2rh";
 "magaz-0.4"="zd02izsnb56wz1wcfqfj6p9p7pycwd3g";
 "magaz.doc-0.4"="cdylbzidxq2abda3np8ia16m3lbga9w3";
-"mailing-2018"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
-"mailing.doc-2018"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
-"mailing.source-2018"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
+"mailing-2019"="4v4vxr5i84yphwj7ff6s3vi0n2wx1jaj";
+"mailing.doc-2019"="fw87jd6gkc88g5a5z17gm7fw3nk6pana";
+"mailing.source-2019"="1zmcm4sg1p3vlgb76yf7gz0ds1958s6b";
 "mailmerge-1.0"="6zixn5f5rjq4fd65bbhkzwgijfhw262i";
 "mailmerge.doc-1.0"="wpim80lnxbf01an1ds6ksasm2271f54w";
 "mailmerge.source-1.0"="00r71m4cliyz9870yfxd5nl0b7b2px0r";
@@ -5003,24 +5112,24 @@
 "makecell-0.1e"="073c9wfpc83jhcbkmjlkpfbpmy082xyv";
 "makecell.doc-0.1e"="irl3sf564yjdnx538vbqbw6ji0x65m56";
 "makecell.source-0.1e"="qaw6f6hmvj4125v30wr0drnlq0piim3k";
-"makecirc-2018"="m4xbci3109krv6agm0nhvry9kd7wjs43";
-"makecirc.doc-2018"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
+"makecirc-2019"="m4xbci3109krv6agm0nhvry9kd7wjs43";
+"makecirc.doc-2019"="w7jd6g686b8iqqbmyipml4c1rjry4bax";
 "makecookbook.doc-0.85"="jd6jxdslcigvj3gyxs8yy1wihycxq3hc";
 "makedtx-1.2"="1k3yp8ylmvcfx4xcf1kgmpnnrrin2nsk";
 "makedtx.doc-1.2"="shcl10mxk7f7g0i4y2n6fppjjs33g5i0";
 "makedtx.source-1.2"="blsivri3lnfa4grmk46wxlr2yz87djb4";
-"makeglos-2018"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
-"makeglos.doc-2018"="g4w2560v1pxm38dj5dsb3irgijzh221g";
+"makeglos-2019"="6bgdfjbhxvfj2my954iinjp1xcxnyq4s";
+"makeglos.doc-2019"="g4w2560v1pxm38dj5dsb3irgijzh221g";
 "mandi-2.7.5"="bgfn2zpydmyjpm0n2j78szn4nkkqnksh";
 "mandi.doc-2.7.5"="72r085a0f5nrashgm2xjf5p6ba35c9cd";
 "mandi.source-2.7.5"="baa7wn0s0z61x610jb45s48l31bf49cv";
-"manfnt-2018"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
-"manfnt.source-2018"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
+"manfnt-2019"="1nl2yh0i4qbxg0js1q4h566vbhh9szlr";
+"manfnt.source-2019"="3vzdqcfcmcmi75xgy4787fqacrsa12ay";
 "manuscript-1.7"="h6a06qa8wdg942c9l85xk2drlc07k340";
 "manuscript.doc-1.7"="9lfydjsxnci0b6nfdmayjigm8gfvbiaf";
 "manuscript.source-1.7"="7s5sj7f198rxkggz1j96kk6fgr5s88ci";
-"manyind-2018"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
-"manyind.doc-2018"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
+"manyind-2019"="2akaqcybgc3ia3f3cq8p54yhrj7krlfx";
+"manyind.doc-2019"="398kgdbdflmwqi38qcnbf3zgp08vskg3";
 "marginfit-1.1"="a1cpx8n1camjfznxf5lqcjfaaji46gq8";
 "marginfit.doc-1.1"="c5rk8f7ac1xi00rz2xkh708s242wzfq8";
 "marginfit.source-1.1"="r5a53yzalhc6gmbsxk9z7bba5ns0552k";
@@ -5030,31 +5139,29 @@
 "marginnote-1.4b"="98qa9kfiaiw6lbm0jsblq68vxla8a3z2";
 "marginnote.doc-1.4b"="k5mxj5j1ws3q1a71fj9k4f06n7vrj49h";
 "marginnote.source-1.4b"="i33692nz19pddmvmqw20xx3i04grxn7l";
-"markdown-2.5.6"="mm4wv2cpxi74p1vcx5p873zc4a0c25cn";
-"markdown.doc-2.5.6"="nssb0i8yhq2a1whhdxvqnm76mf51lza1";
-"markdown.source-2.5.6"="a5w3a29jr2f78mwh5rlmim1wbpx2c4lc";
-"mathalfa-1.10"="lsvxxiivlph8qh81zqpxxfhh295jj7pz";
-"mathalfa.doc-1.10"="411j4lngsrh5baqs20i3jcl57yjr792q";
-"mathastext-1.3t"="d569vymh2ih1ps1wka6f1gzkn8nrqd7a";
-"mathastext.doc-1.3t"="gm6i1rb34ljpghw0ibvddhbg1npa5hdz";
-"mathastext.source-1.3t"="mk222f5b8f5yq3vylssswgfn7b941xn6";
+"markdown-2.8.1"="857g34dfh6sky0nplxyizbzlhdi0z27z";
+"markdown.doc-2.8.1"="f3vabnl8ksy6dgzwa8s634vbgkdbzcpn";
+"markdown.source-2.8.1"="33k7j1wd4xa734dirk10hnr1mnic27m4";
+"mathalpha-1.13"="wig82v4kfp76z48x8ipcl3i6p97j41j4";
+"mathalpha.doc-1.13"="8zibbm7ga8nk6dcbdvgp3f4xw13r19ml";
+"mathastext-1.3v"="161mdckabl225lz8zx3brlmqj6cil7fw";
+"mathastext.doc-1.3v"="vhrz7s8n2j5hibbi7vhvfccgd3n0jblc";
+"mathastext.source-1.3v"="x3xdyvnjld16m2whcxicd5xgisgwjnnc";
 "mathexam-1.00"="4rhl11na8mqzbl9l7wjk53fdhdpzbgih";
 "mathexam.doc-1.00"="7bhcdnalaakml3rx50sgb0799b9883cp";
 "mathexam.source-1.00"="mcs3csvr3ayvjijs6sh67mk0mrp5zawc";
-"mathfam256-0.2"="6kf6b8zawrdz4g73gw6m18m85h1mz9zi";
-"mathfam256.doc-0.2"="hbx4kkw9s86cq2qbx2g851cbp4s7f7w4";
-"mathfont-1.3"="gkk5v3dwrr5jzhpq78yczrs4xkvab53x";
-"mathfont.doc-1.3"="lvicv9zn4l9vw7b1nnwnv6yrx9m30qpv";
-"mathfont.source-1.3"="0ny34d3gigmhasfzi7q73h18rcajmz7c";
-"maybemath-2018"="b7n8bgmz0vizghas19svaf1asi7633ck";
-"maybemath.doc-2018"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
-"mbenotes-2"="7nxdmwq8pxxkxh07x26nhxr4fy1mymif";
-"mbenotes.doc-2"="bswvjyq6cy2vbfc1x2cmjcnr2jlcv90g";
+"mathfam256-0.3"="287n8w4s9f9mhsk4p0cqr37kyqnf1p7c";
+"mathfam256.doc-0.3"="7sw3j4828k471777g3d0k6yqdikb0kmv";
+"mathfont-1.5"="a3lyw4n90ss5ylg91al5xxzk329nssh5";
+"mathfont.doc-1.5"="vkq2r9ayv1w3jdg7nd84v7v9mj1irg2b";
+"mathfont.source-1.5"="w5ggsvnqi8gmdc39163066p9kzd7ra33";
+"maybemath-2019"="b7n8bgmz0vizghas19svaf1asi7633ck";
+"maybemath.doc-2019"="7scmh5q3xpjd6gdlq07kf59sn5bbflxc";
 "mcaption-3.0"="bxgcc1lkr9p5ghd80mh2ixnc1g4g49f5";
 "mcaption.doc-3.0"="mzbfyspjjjq3mhm2m06jmf9fic78i6bm";
 "mcaption.source-3.0"="ix6v7ldrgqw2kyb8mxppiw47p1fsxj29";
-"mceinleger-2018"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
-"mceinleger.doc-2018"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
+"mceinleger-2019"="n5kag86y4a1q3m4d2kgc1k4xbbchv1hk";
+"mceinleger.doc-2019"="g3ldzbnb7jl4ii7pvc518va6x8ahlrh1";
 "mcexam-0.4"="3r3kn0mpzsx4p8scl2zf57sj54q6q6n8";
 "mcexam.doc-0.4"="c2hpirn5sl7m6cdf7mw66l7nrpcmz1i9";
 "mcite-1.6"="q16a807pfbxbcqyw1s5f3vrj0yym2z86";
@@ -5065,11 +5172,11 @@
 "mdframed-1.9b"="kc60c77k0qwqhdmpbk3r777k4q857jx1";
 "mdframed.doc-1.9b"="pr5d7iqc4akn0arxjl7ynqsl6dlh64sy";
 "mdframed.source-1.9b"="xnqih0l0zng5bmrjfrprr43k6l645kvi";
-"media9-0.95"="xvzbvnba261p4i7zq0czpj80xvrp43gx";
-"media9.doc-0.95"="xjra2bfvwyjkgw98bj9f7fwb5c4cpij7";
-"media9.source-0.95"="4sjz9g5mdd80s9gi0yyil3rifcq01jb1";
-"medstarbeamer-2018"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
-"medstarbeamer.doc-2018"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
+"media9-1.03"="zkpx9kzlnm5bq9xahz8wi7iyfvbdc9ai";
+"media9.doc-1.03"="i4kyv3rsv14mh2irq1rk67c9b18a0br9";
+"media9.source-1.03"="mimlnbnnii15jzfyj0lc7qlvqh1yhd7a";
+"medstarbeamer-2019"="vplzcqcrgag8dvin3yj0prlcm9gsb2yh";
+"medstarbeamer.doc-2019"="7i4skhq9pj4k3aswbzbpjqqgdj0s69gd";
 "meetingmins-1.6"="d5x8znpkqcghi9lv4gby2l97smw6kddb";
 "meetingmins.doc-1.6"="mkxz4zi4a7rgq8sgwaqsc35n888gzs4g";
 "meetingmins.source-1.6"="5xridwnlmxkws7h293a1pg373mcb3gwv";
@@ -5078,8 +5185,8 @@
 "memory-1.2"="xbyqh88hgszrma77r32dzly4k928vwpd";
 "memory.doc-1.2"="97n5y37w8k1b1dghkjmdny2lgc2b0z4b";
 "memory.source-1.2"="xj785y1h8zncgikinri52ri4sp7av9cr";
-"mensa-tex-2018"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
-"mensa-tex.doc-2018"="cbym06lj2jif90dpqddc2sl36glwlm6k";
+"mensa-tex-2019"="k0v2gr8sk5lxj658b62h6rnr3iwik4kk";
+"mensa-tex.doc-2019"="cbym06lj2jif90dpqddc2sl36glwlm6k";
 "menu-0.994"="601vvx1mrqc5l4ig4j65bq88yjzcc08g";
 "menu.doc-0.994"="s9wj7viflx78y49dbs3scapk5vslf5xg";
 "menu.source-0.994"="n1pq98wjrfr476cwy442c8l99n1k9f6s";
@@ -5128,8 +5235,8 @@
 "minutes-1.8f"="c864pfgi1a853n93jddnndgsp325sr1i";
 "minutes.doc-1.8f"="z3z8rxzrkwz7k6756b654v6wclx4f6rb";
 "minutes.source-1.8f"="w4skq6nprvgxhvqrf4xa2afccr1hsz6g";
-"mla-paper-2018"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
-"mla-paper.doc-2018"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
+"mla-paper-2019"="7rh7dh7mzybc5wzzbibh1lc10kyc99p8";
+"mla-paper.doc-2019"="3csgrsb6bh3sbqdzfx6y84i7ph8lwnhc";
 "mlist-0.6a"="5yh180f4d4dsrfzin6cjmshad8w7fi6g";
 "mlist.doc-0.6a"="wqscsdlyx7zqyq1g5hcfcp0cs5w5dxxc";
 "mlist.source-0.6a"="hlnmvms7n3csa2v0ixwz82wp2dlc7jy1";
@@ -5142,17 +5249,17 @@
 "moderncv.doc-2.0.0"="siyfv7qm8gbqwx21rqm1hq2l0fkq5zad";
 "modernposter-1.03.1"="hlb03arz5iv98iakvimihvcnb50zdf0k";
 "modernposter.doc-1.03.1"="qb4pglm91r4w85lbp7jdvgr8b9nqkmh4";
-"moderntimeline-0.9"="iim54njrwrmgx5l6q256qghpg61xdfn2";
-"moderntimeline.doc-0.9"="r01hn888b16196br6vpwkhqklk5fjfz2";
-"moderntimeline.source-0.9"="1m966j7kwkm3z9b6r5c35pc6jm6c4g7d";
+"moderntimeline-0.10"="4vqk60zkhx4vk9d8h6mksfmhlxviw7z0";
+"moderntimeline.doc-0.10"="b5sac5b3hx1q2bigs27rp8s1xl128llc";
+"moderntimeline.source-0.10"="lj2nkwbz4d96ch7wlrvcx9i6anxkng6j";
 "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-2018"="gp555cnfp2izjp81bg1l1aij466vcfxr";
-"modular.doc-2018"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
+"modular-2019"="gp555cnfp2izjp81bg1l1aij466vcfxr";
+"modular.doc-2019"="5yxpl169qqnh3p4zhwx6glnagv6a210y";
 "monofill-0.2"="jnv36mj3w2vihnq2f17pbm1yzrz2176w";
 "monofill.doc-0.2"="gr0mhc8f2w3dnd9r6flqvq5yyb388h4p";
 "monofill.source-0.2"="gmdpp4qn9x5bxk24afqs4xg7vzvaqkp4";
@@ -5173,11 +5280,11 @@
 "moreverb-2.3a"="w1rxv8g11dkpi1zyfq7xblgjjwi2dkw6";
 "moreverb.doc-2.3a"="70m0wiik9lqc2r4pi4nrdmm0rsx9d8cp";
 "moreverb.source-2.3a"="zxqcx8a12s33gklfq4zv3mci70nimpir";
-"morewrites-2018"="phc3742cpyisr8i8b9r30w7x28kaydx5";
-"morewrites.doc-2018"="x9cccfv21238zfsfikbnap6a2fj2aymg";
-"morewrites.source-2018"="gg8427vc6r2im1y5n541imkgq909ds99";
-"movie15-2018"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
-"movie15.doc-2018"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
+"morewrites-2019"="phc3742cpyisr8i8b9r30w7x28kaydx5";
+"morewrites.doc-2019"="x9cccfv21238zfsfikbnap6a2fj2aymg";
+"morewrites.source-2019"="gg8427vc6r2im1y5n541imkgq909ds99";
+"movie15-2019"="c2vppl6yv82s4n3kqjfp75qby2rwfxkv";
+"movie15.doc-2019"="1kn8iwx5x1gc978p0gjj2rwy4ablkdvg";
 "mparhack-1.4"="5sq75r9p6laimfxiz9kl1j5cgplkzin7";
 "mparhack.doc-1.4"="6i835nghib094n03i095dc0p7zq30znm";
 "mparhack.source-1.4"="07xwzd4pvppkb7ywwzdrip3yk41d5wl0";
@@ -5189,25 +5296,25 @@
 "msg-0.51"="d74m4mhh3k9hmc4py38izy3n075f019r";
 "msg.doc-0.51"="3v872isrjh68l3j4i0bm86l2vk60vi7f";
 "msg.source-0.51"="gcmdjhil29pwakk8jdrf6zaxcp3w5ykw";
-"mslapa-2018"="xmci0mddxivrp23hxp50wnlyvl9kir04";
-"mslapa.doc-2018"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
+"mslapa-2019"="xmci0mddxivrp23hxp50wnlyvl9kir04";
+"mslapa.doc-2019"="dpvra8ngic2ydqxs8y59zd0jffy2q4ai";
 "mtgreek-1.1+"="afbh9ydcsnf1k0c714ypmqrf0qjcas6a";
 "mtgreek.doc-1.1+"="pq9303jyrj7nq8rwgi5d7njbc2x3jn58";
 "mtgreek.source-1.1+"="6whrwjvzz5jrhirhgr7kymc3jczn2zmf";
-"multenum-2018"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
-"multenum.doc-2018"="w65nsjanh13fxbkwhiinwzyhq0ra2m54";
+"multenum-2019"="f1d7s8hafvsk4dic8ss1cqdjqvn8dlih";
+"multenum.doc-2019"="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-2018"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
-"multicap.doc-2018"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
-"multicap.source-2018"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
-"multicolrule-1.2"="s9cz6rip4nr4k00v7cxk993vx69ffy7j";
-"multicolrule.doc-1.2"="nrdgh6535hydk9x3asxqvd704w9kc04a";
-"multicolrule.source-1.2"="vvdf3wmzib4sib3k01yqwrgcymw3g86w";
+"multicap-2019"="9ja1cljsr31lw6rjvph8gi154z8bpl8j";
+"multicap.doc-2019"="z17yw0id2vdhckvirlrq3npkdpxk5hrf";
+"multicap.source-2019"="yv4rw5hjfj5fj0xyh2p3glmz0887x105";
+"multicolrule-1.3"="afncpkm0813g4z2l1h905crz07w3i7ic";
+"multicolrule.doc-1.3"="wqck9ry78z83xfg10v90isv1yq3y89mv";
+"multicolrule.source-1.3"="i5i7mb07lirlvlf1y0nhgvcbpm8jhd1q";
 "multidef-1.10"="5wsklk9lvznmwisl7jyhiai2zz8iizhb";
 "multidef.doc-1.10"="sq7a72nhiyd5384dx9y6k1c72gl8ia2n";
 "multidef.source-1.10"="hx6fbjirp5gmpn9bglp0hcmmhdjn1rsb";
@@ -5220,9 +5327,9 @@
 "multilang-0.9b"="56lbpndclbci7ihkidrjqg1i1rb5d540";
 "multilang.doc-0.9b"="k2fcrbwx48nwwmwjb5sln2xfyv7ac03p";
 "multilang.source-0.9b"="26rcwx14xbk0zfwazm40ab76pkv6b1g1";
-"multirow-2.4"="mpvyr6y0zlxfhr8g1yzrswy4wflmvxrl";
-"multirow.doc-2.4"="clak5kbmfpaxafxii99wl1vyx9g018ba";
-"multirow.source-2.4"="ajps3d8az25vrrmwl5x6mgbv9c303cr5";
+"multirow-2.5"="cchqv2b096x37wbngyp264mm97vs78fh";
+"multirow.doc-2.5"="47q33df5nzraljqx9wrrrp8mrn5b417a";
+"multirow.source-2.5"="qq1b7khcjkxzvxr38hazkkl84wn3kw0k";
 "mversion-1.0.1"="7vpmmb88cjk92m2a2hz10cijkxf44bmy";
 "mversion.doc-1.0.1"="a2fx7phvl0i1nyhb5h0w6ld1n9kvcgcv";
 "mversion.source-1.0.1"="zhbd3j6kxsdyznx9haqqh4vk7b8nrl09";
@@ -5241,15 +5348,15 @@
 "nameauth-3.2"="8mchkgj0v2f3qcvrya80vbx2c55gwjcq";
 "nameauth.doc-3.2"="hq4wywajcb2h28zy4alj8di8ap12c3r0";
 "nameauth.source-3.2"="g1p0ddh1x8g4w2qwc5kvj3p92g8s3js6";
-"namespc-2018"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
-"namespc.doc-2018"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
-"namespc.source-2018"="s5ws2rny22j23bqy5cn2mz23qn91ssfj";
+"namespc-2019"="6f7x6ldx008l8w5ziahgwl42hb5bws4k";
+"namespc.doc-2019"="6aqpn007i8s488j4qi8xhbx9zsyvafbs";
+"namespc.source-2019"="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-2018"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
+"nestquot-2019"="f9rwiwxi2xksi75wfwmsq9gmrj78scg4";
 "newcommand.doc-2.0"="cdy7kzxpazx56gc6a0s62nx1bq3x1kz3";
 "newenviron-1.0"="s27wb3f7q3qk5lv6ficrjs6kkxqal7hi";
 "newenviron.doc-1.0"="j20cd7xar8jxbx17dv9sqpsrck6cydd9";
@@ -5268,12 +5375,12 @@
 "newvbtm-1.1"="2khz8c8b8a5946h97w2rf2gmp6z8wvh0";
 "newvbtm.doc-1.1"="y1rlqvpv8y77ns1a35q6raksa88qqdnd";
 "newvbtm.source-1.1"="1ws90wkmj308mz4qa3hham4mxm3lrl5i";
-"newverbs-1.3a"="knwjy0hwrikxfa52lzddb7p5zqgzq1nq";
-"newverbs.doc-1.3a"="884wh81zgssy9r9f2h70kank1kdv82mx";
-"newverbs.source-1.3a"="d2fvf7fsx5xj7rfmi8wl0g902drq59gd";
+"newverbs-1.4"="jbkq6pkmd32mg6g7h424ya7yl08xp15q";
+"newverbs.doc-1.4"="d9spa4vwjarb29jq6ipvrw07nsfbii8m";
+"newverbs.source-1.4"="ral3f0z7s70ir5lwjpjrms6zvxga01lj";
 "nextpage-1.1a"="b7b41bpr8zk2z6m5il51q9vxb3c8h67j";
-"nfssext-cfr-2018"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
-"nfssext-cfr.doc-2018"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
+"nfssext-cfr-2019"="isp9rw94ck4a9ckl4b5hd8ma3cmlkdwd";
+"nfssext-cfr.doc-2019"="si6j8b4314s0gbnjxwymqbzcajclqn2w";
 "nicefilelist-0.7a"="crqgn906x51nq1d3z0s15f9kl29lbg3b";
 "nicefilelist.doc-0.7a"="a77wbb5ajkj4ab3dy1zzs3hchac77cwh";
 "nicefilelist.source-0.7a"="ng7drfgz7w69za7hmfzm4cv0m2awdx7l";
@@ -5283,9 +5390,9 @@
 "nicetext-r0.67"="i3lvy4awa0igc272xv8mn7n4dfaxm9iq";
 "nicetext.doc-r0.67"="iacnv3pa0a676wy34s3s261ypjpcl9gd";
 "nicetext.source-r0.67"="6d0mm3ghwivk44g63875mpq6pafbll8b";
-"nidanfloat-2018"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
-"nidanfloat.doc-2018"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
-"nidanfloat.source-2018"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
+"nidanfloat-2019"="f9691yflmmv0ziyfj4a65b186gj0ppn3";
+"nidanfloat.doc-2019"="h468vsrcmc06awhvkg8f3bgmc7dwsgy1";
+"nidanfloat.source-2019"="x92x0jk3ab50yd3gyjgqyb21iq0v7g6h";
 "nlctdoc-1.06"="2k3r9a400asfix3n8j3f7lgghr57imrb";
 "nlctdoc.doc-1.06"="3axalhgmiz8f9rikjwbkhckw0hshnpyk";
 "noconflict-1.0"="df9gs1xx7gymaadn2ji4dzir36z6r897";
@@ -5297,9 +5404,9 @@
 "noitcrul.source-0.2"="b8s8g15qwdsxm7ywvgj9g6307ws3hg0d";
 "nolbreaks-1.2"="1603r89wi8sninjv541na8k2islfk4sc";
 "nolbreaks.doc-1.2"="g0nm3i09kzxqqcrycrz2cak05d8qlvqs";
-"nomencl-5.1"="3nhjqxig1bazcj6z2rflcinnmy59nyy6";
-"nomencl.doc-5.1"="n6ssqxgf9bmiq3r4x2dxl15bj5m1rv4a";
-"nomencl.source-5.1"="hkln104w66l78368mppclr2dbk1y2ifm";
+"nomencl-5.2"="lad6j1wj5z0wibwn8bk1b8sy9hxrb06s";
+"nomencl.doc-5.2"="v9xv6v28mgs3nm7lhxa4xpyq4fkg2zza";
+"nomencl.source-5.2"="g5x54n8biskic2bwiwbwxpb45grxvkrs";
 "nomentbl-0.4"="k74vk3a9kl3sbrkmpyav1snh0cd16np9";
 "nomentbl.doc-0.4"="k2ggwchfqa253i96whp2lh4s3p8vbysk";
 "nomentbl.source-0.4"="al9s24x1ivpw91bbnn9sqrjp3rb5h0ni";
@@ -5309,8 +5416,8 @@
 "nonumonpart-1"="a121f2i1n005xp51qn642vx30ij74zgs";
 "nonumonpart.doc-1"="wcbvd9c2cv5ydbma4xxb6g2b2bihi0lh";
 "nonumonpart.source-1"="j2jy48jw8hgcs830h187s9rg85kd3rfa";
-"nopageno-2018"="59l05x89jv7q4mm7k73i06rmv467iimz";
-"nopageno.doc-2018"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
+"nopageno-2019"="59l05x89jv7q4mm7k73i06rmv467iimz";
+"nopageno.doc-2019"="bn5vq6kzp69p03pfjx9s34ckf4h3q6iq";
 "normalcolor-r11"="jfpqlz85fphm063mb51q9q2s61fcbnmh";
 "normalcolor.doc-r11"="vz9557sxw9c6l8m66aaagcv39x1vkfzz";
 "normalcolor.source-r11"="vs4y1p0zarr6nppqadcdcp03lc6nd2zd";
@@ -5322,8 +5429,8 @@
 "notespages.source-0.8.1"="sskq21wj4vhqyq8xzhrbsh7p8c701r7x";
 "notestex-1.0"="innwzn87vplj094lxw9w48ck6s5hmb5v";
 "notestex.doc-1.0"="p4lyxlar4125y9x3pb6sd5ysdn7w3vqr";
-"notoccite-2018"="ifpkassfd9j5926gsnq00954clc52sbv";
-"notoccite.doc-2018"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
+"notoccite-2019"="ifpkassfd9j5926gsnq00954clc52sbv";
+"notoccite.doc-2019"="5ggqh1mvc03xgyipc6c49ssmlaywh83f";
 "nowidow-1.0"="hf3wjpkn1j2yksdl8mryssv6cxqjn3si";
 "nowidow.doc-1.0"="w1an9iayppa59h2iprjr515w8g72qkg5";
 "nowidow.source-1.0"="b6i3ypchipa228x0s6i66vrvf7zc3hgc";
@@ -5334,8 +5441,8 @@
 "ntheorem.source-1.33"="fc0wyfgjnckzqrd7lf3a4n6yvbhwaal8";
 "numberedblock-1.10"="x1wlbk0d8xbl0b3mx0bxgymc9jd3vv5y";
 "numberedblock.doc-1.10"="866z5if0xryr7mmi70any7p9l93f0d38";
-"numname-2018"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
-"numname.doc-2018"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
+"numname-2019"="7gl7dp9c1wj7phv8ys39kxnarifbqfd2";
+"numname.doc-2019"="pfp7zzapdvlfbs9jd5vc2x977nxs3yfw";
 "numprint-1.39"="7fd6ja6vw3c7yg824y30xrqrmrk3qkwx";
 "numprint.doc-1.39"="bbfg2cyh8cykgl3zk9c53wk3q3vbb8pn";
 "numprint.source-1.39"="cr7xjw77r8h4bcjihxc68iraxd760gh2";
@@ -5346,10 +5453,10 @@
 "ocgx-0.5"="28p11v602hf9w9q1vynbf8fyhivbawl5";
 "ocgx.doc-0.5"="6vx8iiz0zfipwj45xrk1gv9cvifv4y1r";
 "ocgx.source-0.5"="5bm25s1rgsky2qc14nrgg6v3n0ywwcb6";
-"ocgx2-0.40"="ak001rxbm2ym3y47rqgxb7c0q8hx6mbh";
-"ocgx2.doc-0.40"="7r75jl2q0fxvi6hk2d0yp7855pb65v82";
-"ocr-latex-2018"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
-"ocr-latex.doc-2018"="9cz06542a64k4ns92qgkx1hzm5sd275w";
+"ocgx2-0.46"="sq7aihaxiwh0p6dpqay07a4li1sjm6fb";
+"ocgx2.doc-0.46"="mz25ry3c14482d7j33nwsxlx152fyaww";
+"ocr-latex-2019"="7mi6izsnwk6dksgmscyn45w72n1bgk2h";
+"ocr-latex.doc-2019"="9cz06542a64k4ns92qgkx1hzm5sd275w";
 "octavo-1.2"="fpv1fcrym9gplxjs0zsrrv4iziizqzxy";
 "octavo.doc-1.2"="wcd4cj4ihgmm1d0i36l66bf8dpw5cm58";
 "octavo.source-1.2"="30dsp7266fzc2l2kn98pqwwv6sdb75hr";
@@ -5362,14 +5469,14 @@
 "opcit-1.1"="59ykfp525lby8p0y5y1b5wk8ab9dvznz";
 "opcit.doc-1.1"="h74vnsw6lf4iaca46r07x0i05rhrq4m8";
 "opcit.source-1.1"="xsw3nb19li1hxnfpr4xhkb2s8qg3ap1w";
-"optidef-3.0"="innl6jr76kkblgsxys394q2prgcra9bb";
-"optidef.doc-3.0"="2c8sgr8zzd9q89b7qwizwnhb7fkjiwks";
+"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";
-"outline-2018"="m192v07lmcfzq3zbv87cbckz8jwanbha";
-"outline.doc-2018"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
+"outline-2019"="m192v07lmcfzq3zbv87cbckz8jwanbha";
+"outline.doc-2019"="wcm9psb6ap1a5xy16fp91bwpxkhqxmh1";
 "outliner-0.94"="24bsa0d5zxz2i50i4bz0b3zsc5v7hp8d";
 "outliner.doc-0.94"="qgvvmjxq75fq907z1ya4vkir6iq7sbmq";
 "outlines-1.1"="0yh26641p29qj71w6zsx1z6hsr663q1k";
@@ -5402,9 +5509,9 @@
 "paper-1.0l"="wxk3akaqvdbc0q5whlwd2jpw0nvccwmn";
 "paper.doc-1.0l"="pppdcafd1gw0y9d5j91b2smzdssvvwyi";
 "paper.source-1.0l"="g5np7r4ncm9pyzpqm3f0h60cihmfbfsf";
-"papercdcase-2018"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
-"papercdcase.doc-2018"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
-"papercdcase.source-2018"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
+"papercdcase-2019"="dncf3im483zf3ix2ycp8d07bdpdqnfqd";
+"papercdcase.doc-2019"="cv4gkmg3rljv2j0pb0xjw6xzbqdii5cj";
+"papercdcase.source-2019"="qlbxx0dxb9vj7939sr3pl8cam98bc619";
 "papermas-1.0h"="xrl9ldvps0ffrygpgj501bvi4yb6cz2w";
 "papermas.doc-1.0h"="1p87yvwnn29mi2n2q4z1jsxfnq8gd73p";
 "papermas.source-1.0h"="6i3yx6ygswgf7yp1c0grv7gr6qc77r1l";
@@ -5414,13 +5521,13 @@
 "paracol-1.35"="nlp7hsfirg9x091qd1yjrpg2d9vanh2g";
 "paracol.doc-1.35"="mn2n3z3656wwk7rqii271778v9ca4yf9";
 "paracol.source-1.35"="zw0z1fnlqd1h9hgxgc6pqnj99rsbn679";
-"parades-2018"="bkr92ffb7s3zzl845jjkj1777517dwk1";
-"parades.doc-2018"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
+"parades-2019"="bkr92ffb7s3zzl845jjkj1777517dwk1";
+"parades.doc-2019"="sfmlhp1idjhvy6cldh2v2k5bl5lp7s58";
 "paresse-4.1"="mjz05a7z528h2j2svmk4d8ycc6zfzbh0";
 "paresse.doc-4.1"="yahsg4ij3mnck53fl3mgcywibmnq7nhw";
 "paresse.source-4.1"="ydzd3zya07nc2kpvq3w1bjg5nbq4l37z";
-"parnotes-3"="fhk85w9ldd4x7l9d2vma4jkrgiaybydg";
-"parnotes.doc-3"="61w2ijkfwd2ww81h39m8wydl957g8hxy";
+"parnotes-3b"="42sal99phkqbw05k2d9x6by27iy7sc7j";
+"parnotes.doc-3b"="3hlfpf75qjahy1qzc8l3dl1n8pj323pm";
 "parselines-1.4"="krgfsp0vcnpgwgw70aw8iwbi9r9fnwsm";
 "parselines.doc-1.4"="ahspn4rw6wdwlk9sgd8f2jajb2cbm33n";
 "parselines.source-1.4"="n652xalrpp0s7yy0dvcdz24khybsm1cw";
@@ -5430,7 +5537,7 @@
 "pas-cv.doc-2.01"="am16i8cjhh2jadlhqsmfx8vb2jyrj8fn";
 "pas-tableur-2.01"="ggwlvzkwdv3qhljir7c8v8fwivi9h7lp";
 "pas-tableur.doc-2.01"="942prkpjhj4zpvdg2d2k27ibvchw2mbz";
-"patch.source-2018"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
+"patch.source-2019"="6k92ah4ka1ljyxwgg9n91m5aj6nwvnq8";
 "patchcmd-1.05"="asi7jsa5gwd1i2k0arh2p24wprnqfb2h";
 "patchcmd.doc-1.05"="8nxwjfkxc3nbj39wfvqm8bkxm4qs1y66";
 "patchcmd.source-1.05"="bpb3vc5kdmhiwh0s6sjvxjshvmgr7hrs";
@@ -5474,23 +5581,23 @@
 "pdfreview.doc-1.2"="xkd8140x13sfs5krj1l1p3zvj4vwjjf2";
 "pdfscreen-1.5"="5lwdmn4lxkq9hgn6fmr4rc2gdk3ms583";
 "pdfscreen.doc-1.5"="bcg3kviqc0jr3s5h5xa3in5g1hj46zkv";
-"pdfslide-2018"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
-"pdfslide.doc-2018"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
-"pdfsync-2018"="xqg7my569gq36snly1kpii240byrpx7s";
-"pdfsync.doc-2018"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
-"pdfwin-2018"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
-"pdfwin.doc-2018"="7k1kqy2rpr93q4nvdvwcrspqjbzz1h4i";
-"pdfx-1.6.1"="3998syb80s834jikpyapyzpj616vghkn";
-"pdfx.doc-1.6.1"="jb8583ws31nx1vl378lrzvy2caqjd0w3";
-"pdfx.source-1.6.1"="qg9nm74ka8lpygkbqm1x8fmcdq5w53df";
+"pdfslide-2019"="78wynlp5vyc14zn93gwy73yyykk0yh0i";
+"pdfslide.doc-2019"="j8krgspjlvn4ja9dww3mc0g3zg7qhlmb";
+"pdfsync-2019"="xqg7my569gq36snly1kpii240byrpx7s";
+"pdfsync.doc-2019"="y6am07gh7iwgmgkwq7sg9z704waxgqai";
+"pdfwin-2019"="yfdlssqwsa253r0qzvy5xbgbgwpmmxpm";
+"pdfwin.doc-2019"="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.1"="2f79yiqssyigfci17gazdnvcms6kid3y";
-"perltex.doc-2.1"="hn1salkk7b3f371y3l3nby3lzih2pb7j";
-"perltex.source-2.1"="wfz5j1yi8qls7n7jfkip9s215s6jvvgz";
-"permute-2018"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
-"permute.doc-2018"="rz1569972rz72laqrxnkphxr3bdx1pxl";
-"permute.source-2018"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
+"perltex-2.2"="wshi5f5mkd59ncnw7xwp9pfw3mwgv5x5";
+"perltex.doc-2.2"="inj1sx8rkkdxq2sqnqgs0hc9ziybhcvb";
+"perltex.source-2.2"="a8lsqd2ls33rdgjy5fny1jz84gb1z8b3";
+"permute-2019"="anxvxdpnmr31a50r7anwj21vci3dxvg0";
+"permute.doc-2019"="rz1569972rz72laqrxnkphxr3bdx1pxl";
+"permute.source-2019"="va01wn3pv0j0cxqmgh8cjricj4m2vjxv";
 "petiteannonce-1.0001"="xv2yjs519vz0inbcy7m2a201ysjl3gwj";
 "petiteannonce.doc-1.0001"="9xvfy2ivdmlamj4fr1q5i1mfh6diys8s";
 "phffullpagefigure-1.0"="hp51s42ycsary7n2qngls1bm6j6mi5ab";
@@ -5516,13 +5623,13 @@
 "phfthm.source-1.0"="lbd9qwdv67spq7v1dy78012a874wg9mv";
 "philex-1.3"="766zmr2yzy48mmdakjhvvy56ck2g5zhf";
 "philex.doc-1.3"="r94769rncbhw6cdvzwm0s9fhwa57z7xx";
-"phonenumbers-2.1"="ypw54dphr5imy4gjcyy7ad5fin3zalz8";
-"phonenumbers.doc-2.1"="n7nww57xajrmwv25c4j3kcgwlr790xyy";
-"photo-2018"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
-"photo.doc-2018"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
-"photo.source-2018"="70n1vi9qla3kl592hgay45af9m078l58";
-"piff-2018"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
-"piff.doc-2018"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
+"phonenumbers-2.2"="82hwh6yj11vqrskchkvgnimiyxhzcf7m";
+"phonenumbers.doc-2.2"="ac4b8860hyqw8pjpbcc58bbjzx1pzm4c";
+"photo-2019"="d2rv82rm7jyd2fvgzs545kz32nb7fn6l";
+"photo.doc-2019"="1gn03gddjcbfmidsn9snhbr9nsmlbsmq";
+"photo.source-2019"="70n1vi9qla3kl592hgay45af9m078l58";
+"piff-2019"="xz2idyqgwg5y7r9ac0bykvfx533rd29p";
+"piff.doc-2019"="xwlsyrk4mczbchklsx5x8ip08zc5jk6a";
 "pkgloader-0.7.0"="15p6m1152qc334ljqhnzdagic2ylvpgs";
 "pkgloader.doc-0.7.0"="k6qdk7x5pr11qspbx9ggabp18n88hlmx";
 "plantslabels-1.0"="yi1s2470aj75chj1f5mi9961w9if1mpd";
@@ -5541,13 +5648,18 @@
 "polytable-0.8.2"="qzfi66r74yb3cvgd5aicyflm4b25f6li";
 "polytable.doc-0.8.2"="36frl3y5hmlbh3cz9s17qnl4rjda1l5w";
 "polytable.source-0.8.2"="768zbijzmx54yrz1j8qvg8an6xis2hmc";
-"postcards-2018"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
-"postcards.doc-2018"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
+"postcards-2019"="zvcijbngj8m505fcx22y1hs7y5jmn1kc";
+"postcards.doc-2019"="d1v423a7xl8pi8nqqzbr9y5ag8d2pkkj";
 "poster-mac-1.1"="vjpg0bc2f1qv0hr0kcxasymrchpwzn05";
 "poster-mac.doc-1.1"="8m0bk06l7y5bps6hn3xd40s6yb0m8c19";
+"powerdot-1.5c"="dq53xc4c6n4qpxcqkdazwn6b8v8z94f7";
+"powerdot.doc-1.5c"="ph5p9y3knn1w1hkzb79kdxcwkg6fhrbs";
+"powerdot.source-1.5c"="245bf49s69vlxk1f1mlbdyfhx68icgpj";
 "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";
 "preprint-2011"="z8qdsshgjd3dav562qnyx4vh9gdyga27";
 "preprint.doc-2011"="78x9z1vyl7vpcv39nj167bawb4z8fsnf";
 "preprint.source-2011"="i09zkvcpvapyf2jj7yhabmyrpxyf0gp0";
@@ -5571,15 +5683,15 @@
 "progress.doc-1.10"="2pylrgmyscf4p6ndba4jf87vfglxydrd";
 "progressbar-1.0b-4"="6zvflmdsm1vxkm3sjgmxpvl6jsw6vy82";
 "progressbar.doc-1.0b-4"="ahkr6nf44xv8czg4ffpx2qbxzwn7b24f";
-"proofread-1.03"="lix25w5bnlz5i6bphfh6zfckar476gmw";
-"proofread.doc-1.03"="jysqwnzqwa0km7bshh8w0fnbzy7zz00r";
-"proofread.source-1.03"="1k00cfxfza6dpsqkhn9qk9vzs054ksp9";
+"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-2018"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
-"protex.doc-2018"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
+"protex-2019"="ajf4lsibbzcr2ynvfpx2n4pnazfkng2k";
+"protex.doc-2019"="j9v7mdk5dnlhdrj5sl3afbvgqgpk0bbq";
 "protocol-1.13"="2mpbqs6r1sl8x79dbkzgg0vh0xxs89pi";
 "protocol.doc-1.13"="fzvldl69vw5kxljg5jm4qwcar1k2zg8q";
 "protocol.source-1.13"="x52qwan5dahs53bdm8dm450h2ljr7lsp";
@@ -5588,8 +5700,8 @@
 "psfragx.source-1.1"="6ikq1jhicgf6109gdnd3ldng0ycy920w";
 "pstool-1.5e"="1niq51k7cvq7kqlxymixhrhrg811rs3q";
 "pstool.doc-1.5e"="y68jbyp1rzd3wkpwvg17kiz5fsfczmi0";
-"pstring-2018"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
-"pstring.doc-2018"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
+"pstring-2019"="whkbcsicbqlvz1pwjfypnvwwbbwqpwfr";
+"pstring.doc-2019"="gf1pmfhczjrkjgpawxbk6zqrwindadnr";
 "pxgreeks-1.0"="hdqmxzcwyd5llq80fakhjvx8whjxs8mr";
 "pxgreeks.doc-1.0"="hdm2s76j6vya85lid9lrkzhaj6bkvlda";
 "pxgreeks.source-1.0"="1i5jmxhyphz2mdhl742ydrzam336ix5w";
@@ -5600,17 +5712,19 @@
 "qcm-2.1"="d9xas7ra5n0hzkc22s6ky3qr752i1i2k";
 "qcm.doc-2.1"="ljb5bhy71jscf6hdw6xmxxyy3jyfa8py";
 "qcm.source-2.1"="zywcw16m4hk75ialbg92bx98snk64hpf";
-"qstest-2018"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
-"qstest.doc-2018"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
-"qstest.source-2018"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
-"qsymbols-2018"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
-"qsymbols.doc-2018"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
-"qsymbols.source-2018"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
+"qstest-2019"="girz5x7dqmr96mqyviwld4i06s1h4ldd";
+"qstest.doc-2019"="0w3r2f745k9kj4ig8yrq1w1l1dhdblcs";
+"qstest.source-2019"="z067nizm6rcjm6yz1141pxa7gm5yyfs1";
+"qsymbols-2019"="w1c7ni9qmy255nyg3hb0yf94p1b924n7";
+"qsymbols.doc-2019"="pfhp65iz5ybxccd7yjxg2rww0j9z2xhf";
+"qsymbols.source-2019"="mk7daalfvk3wyyhnlvbhb5144g6qm8xs";
 "quicktype-0.1"="40znnh6yxbhx1i7gsr0icvy5avhm68nk";
 "quicktype.doc-0.1"="ljcdha8k0ngr0ymwqbqbblgyslybvcgp";
-"quotchap-1.1"="0w1mp53lag54byxcb4jmkxmyd015jkpa";
-"quotchap.doc-1.1"="mp5shidfjdswgg1nwp918ijn6fnf0l31";
-"quotchap.source-1.1"="9wdm00jz0za5w1v1cv6k3nbi555mviab";
+"quiz2socrative-1.0"="8wpvm4ysp513gkigsymd0d0sg3708m4r";
+"quiz2socrative.doc-1.0"="xpz8wilnlh12lf0dfjvmzcprjd7pmr4k";
+"quotchap-1.2"="f0cxvb4c0gzg40k03y6yjn1lgyjibx0v";
+"quotchap.doc-1.2"="mc84x8s62mhh3s2hvgzpw09i33klh59n";
+"quotchap.source-1.2"="s54vgrf4zzbxbcys17z8497y3wxz58x1";
 "quoting-0.1c"="jmw5a88k3r137dxxrvznxx9xqwh9yvlw";
 "quoting.doc-0.1c"="2a4d2w7b4jshz79hhz57fpq6vzgdvb34";
 "quoting.source-0.1c"="g238v3pr075wgknaj82ivn70z6fbf0gp";
@@ -5620,8 +5734,8 @@
 "ran_toks-1.1"="075bz1afn45n2klczxlj38jzl27ihxk2";
 "ran_toks.doc-1.1"="av9qzf5q7524xncg54dqiq5skgvqxdbk";
 "ran_toks.source-1.1"="qzsgi73xl8kkccb4rmv8hmhq3l83c8gq";
-"randtext-2018"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
-"randtext.doc-2018"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
+"randtext-2019"="bnb1sk549kzmljwjyb9gc45xr2ndckcz";
+"randtext.doc-2019"="9mpim50akqiqp54x6kpz8w4wdv9d12dp";
 "rccol-1.2c"="31w19kr365k8wkvkx91qqcw46fnl0sbk";
 "rccol.doc-1.2c"="80zx3h1b0wjw8qgv81kb4la3zd9hh9m6";
 "rccol.source-1.2c"="sqkkyhka856h4iirnvy4s8bdqlailgxa";
@@ -5638,13 +5752,13 @@
 "realboxes.source-0.2"="2sj5y6k08cwcp8fs0ay7z7ik02is7vly";
 "recipe-0.9"="ya2zz3axlaax8f7qkz3rwkfwl6kc7hqw";
 "recipe.doc-0.9"="nrgg002rpx1gw16yx9pl4xfiyjg2lk16";
-"recipebook-2018"="z2m105warknssz9d0b5f0fg13mdjrwqv";
-"recipebook.doc-2018"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
+"recipebook-2019"="z2m105warknssz9d0b5f0fg13mdjrwqv";
+"recipebook.doc-2019"="1w359b6rbd8cfvfa3z140hzsk7515m9m";
 "recipecard-2.0"="ywrn03f3hy5hyzszpghn9rnjkj9a3kqr";
 "recipecard.doc-2.0"="1g67mikrdxmhpn4xgpnlriapp4als1wx";
 "recipecard.source-2.0"="7g35xa8kbcsrxxmp9xxk3rgvas158m9h";
-"rectopma-2018"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
-"rectopma.doc-2018"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
+"rectopma-2019"="j8pxsc46j0m799x9srd74d7q4jjxjdwv";
+"rectopma.doc-2019"="7h3v5rpkvxcmv1nj0wzxpgn4whs1gk4b";
 "refcheck-1.9.1"="llb529mc4gj9wf4zzs7jz9p2qgngwxy6";
 "refcheck.doc-1.9.1"="hvcfjpx9g9wiaqr70vmrpkgqy4i7xikg";
 "refenums-1.1.2"="8zxc6yyp3c597ydikw4zc36ri5xhlpid";
@@ -5670,9 +5784,9 @@
 "regstats-1.0h"="zkxc3cbq3fr5rpwv3lw3znrs9sn1ajmc";
 "regstats.doc-1.0h"="5ddawlcn7rqzs7i7mjjj8zi3q60qpal9";
 "regstats.source-1.0h"="kafv0h7yl5qhzgq4j4ay54cm9lqgd1w3";
-"relenc-2018"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
-"relenc.doc-2018"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
-"relenc.source-2018"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
+"relenc-2019"="0ksy9dhzxf7dh2sgnais817krjdrnyip";
+"relenc.doc-2019"="w2s26knmf0pfnbvxbj3f2xmcvjf8mgkl";
+"relenc.source-2019"="vhwmn0hxlv5njl4v2ljz5z4kbi5n4a8g";
 "relsize-4.1"="l9n0cv3vjwqlhxw58bnj4gh1qr0mbkh9";
 "relsize.doc-4.1"="bmv72xvd2n40rclz0a5cw128a4m1khl2";
 "repeatindex-0.01"="6zzlr3miqb7p0q3h1kyaly6ykzwjlq0k";
@@ -5682,29 +5796,29 @@
 "repltext.source-1.0"="rnsd3hg4mcyqj903igcsalp56pvg6g32";
 "returntogrid-0.2"="qvyji03hqf95f50pkv4jj773a8ryv694";
 "returntogrid.doc-0.2"="8s3dy7s20sl37qhayb7vz949k3nsz2k4";
-"rgltxdoc-1"="g7d4675zmc7imrbg4rza3kigjmf6sg2l";
-"rgltxdoc.doc-1"="m39ggnms3sy0wiaf86mg6ygzqbsllbvz";
-"rgltxdoc.source-1"="9g7iqdlxi87whvbnhm5jh1jassnrsxsk";
+"rgltxdoc-1.2"="897zfnrkkfzxzbl2gpdj4d4xaqjkyimg";
+"rgltxdoc.doc-1.2"="173dav41zc8h3j5idwhpjr8x7pw504qb";
+"rgltxdoc.source-1.2"="mdv38hd0wxkigcn2h94wwamr4qi11p4r";
 "rjlparshap-1.0"="584zbnkzrqjydg9hz42ayl9r806sd4cw";
 "rjlparshap.doc-1.0"="g4bkg84j236faakga1kl593bjw1p9wq6";
 "rjlparshap.source-1.0"="gys3kddji7j89c63a2kzz7z8xjdakpg5";
-"rlepsf-2018"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
-"rlepsf.doc-2018"="q4jpki613c0b9kx9bxzqw3v7m5ggj4w9";
+"rlepsf-2019"="zvgnjwbrznazfy89cwbk9injrg0hk19b";
+"rlepsf.doc-2019"="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-2018"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
-"robustindex.doc-2018"="ga57j7ky0ifk33lmf0ai6xpr8cav2xh1";
+"robustindex-2019"="sw1cp3wc1z9il2ysrxcyhwp47siik8lz";
+"robustindex.doc-2019"="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-2018"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
-"romanneg.doc-2018"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
+"romanneg-2019"="7w6wmvkyzy4jzs8akhaswqjpv1lh9lxz";
+"romanneg.doc-2019"="m7rc0j7xbkly1zh63lrym8pzgp1g3ivh";
 "romannum-1.0b"="8l5hrx8svnn1pv9qd3c7y6gxy25fr5r8";
 "romannum.doc-1.0b"="1wlc0m18vg6vl8sgxvj4i3ca4kyfl9c0";
 "romannum.source-1.0b"="h9rkrds6v7b0pvgap090ja271k5jnc7h";
@@ -5715,11 +5829,13 @@
 "rotpages.doc-3.0"="fh2a3xcl4f5mq95d2ibsgmml6pq95cd1";
 "roundbox-0.2"="g1k35s2jqgfm0ih16zf59w470kzv450f";
 "roundbox.doc-0.2"="97dr0pg7689mm504pld75cmnd3vq61rb";
-"rterface-2018"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
-"rterface.doc-2018"="3hkrf5qycaq84dawxyv5a829bv8vz0qg";
+"rterface-2019"="l7szd2dbrky3idmzkx724b1ks8d9crwm";
+"rterface.doc-2019"="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";
@@ -5744,6 +5860,12 @@
 "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";
+"scontents-1.4"="n7xm5mldbpk0kkyhda1kdramgi8d2v12";
+"scontents.doc-1.4"="8nv7r4i98w7bvw8fbi511d3nbcbkg8a5";
+"scontents.source-1.4"="shzh9ipvvkp6qb524qcx58x14xa9q2p0";
 "scrlttr2copy-0.1d"="jw87bnb7phfp7nmvp4gvbi6nhfwifqph";
 "scrlttr2copy.doc-0.1d"="6pfnhhnjm97ap2zbi5bjj011wqbr2yg4";
 "sdrt-1.0"="2pcbwfywj14n08187899xjdhrjr3zzlr";
@@ -5752,8 +5874,8 @@
 "secdot.doc-1.0"="ngfan1hhwcnppgfpvkm0y0a3bjab1fz3";
 "sectionbox-1.01"="mxhi294c4y7knbwiz1i0h4akmlgi0v6d";
 "sectionbox.doc-1.01"="2gapb7fvm8l7m021gp281j5vdq61s1if";
-"sectionbreak-0.1c"="lg9s5shx46mmzv9kvkip05c55d4v0ca8";
-"sectionbreak.doc-0.1c"="9sfr303lfdslpddyqxlvc4b8c0hazqrd";
+"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";
@@ -5765,8 +5887,8 @@
 "semantic-2.0"="ky4ggvzl5171nda0329151c9vbaxs7gp";
 "semantic.doc-2.0"="b1hyb592d0xx35p5dqppyfgykg37xx4s";
 "semantic.source-2.0"="4fwjw0axn8d3ychsqmmdy6x73ckciv9p";
-"semantic-markup-2018"="iclw8kk8b8y3hz5j1jq8n4daa5fpnzh9";
-"semantic-markup.doc-2018"="1g78rz3l215812hr2xvbxf804lzq0id4";
+"semantic-markup-2019"="iclw8kk8b8y3hz5j1jq8n4daa5fpnzh9";
+"semantic-markup.doc-2019"="1g78rz3l215812hr2xvbxf804lzq0id4";
 "semioneside-0.41"="62v5zs95qqi1i0xpm2jmhcx9pa24jymn";
 "semioneside.doc-0.41"="2z2azzz07gj105jrarifhx3ldjc9v09a";
 "semioneside.source-0.41"="31d1fggm0km56jv6qr5yjv7da6y0ifsv";
@@ -5788,10 +5910,10 @@
 "sffms.doc-2.0"="kqfjz0yn615f068v6349lgdp72gw2wkk";
 "sffms.source-2.0"="h5sazi91347l3qdkn6ghw6ywyp5ddryh";
 "sfmath-0.8"="mkmjhc5jg8ylbjdzx3yal2r3spxv3npz";
-"shadethm-2018"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
-"shadethm.doc-2018"="ddw9pngafxfcx4cl0fh4dmnaqcfqnyfn";
-"shadow-2018"="xifs7y18wdkg1kj656swlvx7cpswmgma";
-"shadow.doc-2018"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
+"shadethm-2019"="6d2vr8xkis6ah0032nrbpbh3rs29xh2r";
+"shadethm.doc-2019"="ddw9pngafxfcx4cl0fh4dmnaqcfqnyfn";
+"shadow-2019"="xifs7y18wdkg1kj656swlvx7cpswmgma";
+"shadow.doc-2019"="ppc90h7d8qm8382lp2vzn5piy0mb7d4x";
 "shadowtext-0.3"="m2qsn137ij2l4lq4h0s5mpw1vvic0k4l";
 "shadowtext.doc-0.3"="894a2s4awyxc0vc7d94fp0dfahjq4021";
 "shapepar-2.2"="hps8xx8z0vviywd61vhkh8l758c0gndd";
@@ -5799,8 +5921,8 @@
 "shdoc-2.1b"="grva4fsbp32pq2x7g4wb415y5cmf4cnx";
 "shdoc.doc-2.1b"="ba16nzmjm53zjq81w2zb6npd21wjfg31";
 "shdoc.source-2.1b"="mqn7081yqr3l1yhv3cxxrq6jwnd2h6sq";
-"shipunov-1.1"="1k15najivxdmqvb3a6lm4wky5mi31a2r";
-"shipunov.doc-1.1"="x0hc94hmncixvhicnja1kpd6y3gqg59w";
+"shipunov-1.2"="y2wk01lmmvjgcfakrn8299qxdg01k0lb";
+"shipunov.doc-1.2"="2j0rf5g6w08szbw6w5wnh45sa9x6hlw2";
 "shorttoc-1.3"="win5ajcivg0ipf38dx85vhhmfjfl1scq";
 "shorttoc.doc-1.3"="9msyjwld245v4a3qvl87q9wxl33rdyg4";
 "shorttoc.source-1.3"="frmzabjdlmlg6n8ds6g45wcm1qackwxw";
@@ -5835,47 +5957,52 @@
 "simplecv-1.6a"="yif1v302airw953py87hf8xw4vdvcrh1";
 "simplecv.doc-1.6a"="172h9r26s8zjpla2g0ah86z1r9k06cy7";
 "simplecv.source-1.6a"="rqyp3gq1k6mbbfmvxi437dxh50qrp7n2";
-"simpleinvoice-2018"="kib8y509s61mzcg5rzcc7s30ii39f88y";
-"simpleinvoice.doc-2018"="47f3zyl0g351p2xihryq6p21qrphi62i";
+"simpleinvoice-2019"="kib8y509s61mzcg5rzcc7s30ii39f88y";
+"simpleinvoice.doc-2019"="47f3zyl0g351p2xihryq6p21qrphi62i";
 "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.5a"="1pn4wy7wgcfp5qywyh1b78ry18dydwzi";
-"skdoc.doc-1.5a"="n8syc29cmi7bn5j26apq918j617r9q62";
-"skdoc.source-1.5a"="z98rhl8d51cvwb8xydpixv11naz75gpm";
+"skdoc-1.5b"="s8ra69c9il3rmxdxrxpnpzndzyl6ka0h";
+"skdoc.doc-1.5b"="1fcygnqycyj387wgg3ngqgl6smby3nw8";
+"skdoc.source-1.5b"="a6ag2iwqkmrxh0x7dwksxax40n361kpf";
 "skeycommand-0.4"="w3sqnw1xyx8l1qb9h7j8jg8z3f6xsnvi";
 "skeycommand.doc-0.4"="y8kcbdpydw0an53vfw75nvs8f5rhp5f9";
 "skeyval-1.3"="r39dajvb7hh6437jbq3gly44i22im66z";
 "skeyval.doc-1.3"="g9gr3bwzslymzx3a5kja4n4s1n0ns5lm";
-"skrapport-0.12i"="bid76m9mdd8y74d3x23lj78lvsrv50v3";
-"skrapport.doc-0.12i"="kdkw1ask0xhh9bp8nzzwk04didnym418";
-"skrapport.source-0.12i"="5slqr4a92gn361ws6ddi1ss5yphvkamk";
+"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-2018"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
-"smalltableof.doc-2018"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
+"smalltableof-2019"="a0sx95bj2ampjw3b7g4p56ji7fqwmdiq";
+"smalltableof.doc-2019"="1qrbnkki1in5kv142d0qzl3rxmrclm69";
 "smartref-1.9"="7pvgdpjcdvdxbkb1ag4dal46c1hg4d53";
 "smartref.doc-1.9"="hj0c7i3climwjy64h98ddab5skczf3mh";
 "smartunits-1.2"="z3kj39xpdk8pa7bzqdjd6g6qlhwx2vhx";
 "smartunits.doc-1.2"="r72h43bvig293769q6s8glhdlrcg9836";
-"snapshot-1.14"="iysapgyh7p2y0knll3x6d1xqd15xh8hz";
-"snapshot.doc-1.14"="1ivfld35ix1qs6qdfrpkjxxgljzh1qz2";
-"snapshot.source-1.14"="nr79crz9xys513rdpv5ikd0dq18gmbsx";
+"snapshot-2.13"="pyg4abki4d4zy828r5spb45fax7b4glb";
+"snapshot.doc-2.13"="xaggw13x7izmkhcfl92ldqnzcz398zzh";
+"snapshot.source-2.13"="7hjbi6p9bxh9a405dzbhjlxmwyafckfm";
 "snotez-0.3"="vwnz8rgz6lkw0dvpq1m8xygq1qwrgn62";
 "snotez.doc-0.3"="8gxvxc7x918mf5b63b7n3wvp99ix5ka8";
 "soul-2.4"="161jbj81y5m8rclwl6z8pwpbpc0axy56";
 "soul.doc-2.4"="lssr7w6ry8p02mzmwyx7a2zzss2vmbkb";
 "soul.source-2.4"="9w0g3y2pqkzsbg8jdr1vkmn4wlrx1b2i";
-"spark-otf-0.04"="ffinni2ipxnxx47dzwpd2flvqfibqzhk";
-"spark-otf.doc-0.04"="i4jmg2h3nj27y585znj2mmdfgj231hh3";
+"soulpos-1.1"="908fbjhq1zkq0p3qg4ihs62zxd18988i";
+"soulpos.doc-1.1"="7l3pl7mbjmkpr9fwkrdcyjkhqvw2jfdn";
+"spacingtricks-1.2"="84f9wq44xbh1qsy3q6dnihgdfsdrax09";
+"spacingtricks.doc-1.2"="n9f1q4ph131jk4wfw5nk0991667j2403";
+"spacingtricks.source-1.2"="8a4sl2svxhs1wpwy5mz4iylzl701mfb6";
+"spark-otf-0.05"="9siivrc6cbck4p4vg4ly0r1b37h7lw28";
+"spark-otf.doc-0.05"="y4v051bqbhwc91ipzdfqc1yqrzd5hg0x";
 "sparklines-1.7"="swn54z70rhmbk917dpl37mfr3sx21525";
 "sparklines.doc-1.7"="mjpd57symvhnv6jjzynalmpqy3l4szfa";
-"sphack-2018"="gdrva3zalq63d7j737247ja9a22abdxq";
-"sphack.doc-2018"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
+"sphack-2019"="gdrva3zalq63d7j737247ja9a22abdxq";
+"sphack.doc-2019"="3rzyc3sxq2bnlx5pw5xz1kb2gb36brgy";
 "splitindex-1.2c"="72wrcsz1vmka4qal90la093asf12hs6j";
 "splitindex.doc-1.2c"="gf9j1mi46ih0xanr4lzl43gpfjpjws14";
 "splitindex.source-1.2c"="1y60d6s6ws70dgjhn239h4x8c77hjmdz";
@@ -5884,21 +6011,21 @@
 "spot.source-1.1"="hgsxqd8czj5vmy43g4mvvc3954vsmdi9";
 "spotcolor-1.2"="rz2zax5g35slfai6rqmnqslib7wsi14m";
 "spotcolor.doc-1.2"="yhcw8r48q7vi0iryn18d1z746ij1wpkp";
-"spreadtab-0.4d"="81i7rnrzj35f1y1i25m8z2zmknf61m5d";
-"spreadtab.doc-0.4d"="3xjp4amyd1lbj2j2vbq55gjl27f361im";
+"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-2018"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
-"srbook-mem.doc-2018"="mfn2i8vs1h646gn5fcs3zh7lrn6gj2si";
+"srbook-mem-2019"="30fmldc7ygh6c4a64z9cb5qcr1z400vs";
+"srbook-mem.doc-2019"="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-2018"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
-"sslides.doc-2018"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
+"sslides-2019"="5j8zx3q4f3cm4c78q4vn8cbvp33frz1q";
+"sslides.doc-2019"="xsh6d0caydlgs3kfc0zgw4m79j1vkrxs";
 "stack-1.00"="p32bbliciimyyfpizvi0cdrw7nzkmlx6";
 "stack.source-1.00"="x3hkdwa9hip4zp8paipd8yjjz10pysn6";
 "stackengine-4.01"="nivan4carz07sqpiymvlkjxswkqa9mjd";
@@ -5915,9 +6042,9 @@
 "stealcaps-1.0"="8q97ghfyfnsmjp2jw2brp925hr82sprn";
 "stealcaps.doc-1.0"="3sdy3dqpi4axamhvshixk7hdqmspv446";
 "stealcaps.source-1.0"="xzysv6jy1bzcp1dww6imz9358id28lqf";
-"stex-2018"="rnkv33n0w6nhfz91qls1a7nb2xjc7i6w";
-"stex.doc-2018"="l7fpwhdxi3q4qgbsi3wb303hifwz96kl";
-"stex.source-2018"="vcvwm90hc222rm3b2z2iryfz869fzaf7";
+"stex-2019"="gaf5gfk5kwfy1m8m4wwfkhx0cppxj58b";
+"stex.doc-2019"="rga6abj8kqig904y3wm4lmzi7lw9jccy";
+"stex.source-2019"="x7x55ags2g5ks59zpcphv1m37dc91192";
 "storebox-1.3a"="kc1a9kwyd31s1376b16hidk21cz2q2zv";
 "storebox.doc-1.3a"="qhjcw6fzxlkzpgnk0ra7l6fqp10byiv6";
 "storebox.source-1.3a"="6zzmya7fcjajy73i8iys9584bldh18z2";
@@ -5936,6 +6063,8 @@
 "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";
@@ -5960,9 +6089,9 @@
 "supertabular-4.1e"="51mc5fbbk13mmpya5n8lrx5yyk4k1167";
 "supertabular.doc-4.1e"="jmm0dxfps5p36r6ds1fpx00spx10rrv5";
 "supertabular.source-4.1e"="0wa3rcn787hn4707zbdm0jdfflp0dyf7";
-"svg-2.02b"="s69n2z92bgdc25yd7ny1ihxqvjny31vj";
-"svg.doc-2.02b"="vsbpx9b5qlpdnhc2fny91vg2namdf816";
-"svg.source-2.02b"="h35m5a5r872l2fq5iz1xbv93q6dlrnxz";
+"svg-2.02c"="krfz6gsvr8kx2797caw886znzq4vzhjm";
+"svg.doc-2.02c"="irsvz87m3xqfvz3pvagl5xh0fgfx9pz5";
+"svg.source-2.02c"="wcjj10nzrk6qlmp2402ppl5k2j1nd522";
 "svgcolor-1.0"="ld3wccj2cxdhv0xyz7qmxcvr6saab2s2";
 "svgcolor.doc-1.0"="nj7w6bihmr8hmvcykya9nkxlkhmlcw6r";
 "svn-43"="hv7xk90h5qb4ilx7f4a6zybijnhba9ic";
@@ -5974,8 +6103,8 @@
 "svninfo-0.7.4"="761kpr460h6nfczsf1vakdj9r947in1s";
 "svninfo.doc-0.7.4"="qlhr7rj98m7g55kgrms1jjw3wp3k7z4v";
 "svninfo.source-0.7.4"="xsf1rs0ar8ris0dh8qbslxwx5i0ci6ck";
-"syntax-2018"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
-"syntax.doc-2018"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
+"syntax-2019"="1bvja2hjsw8p68202f84sbzcrs0f7d27";
+"syntax.doc-2019"="pkf7w0xwcnl7cm74z99bb32v4ycn4wmr";
 "syntrace-1.1"="02njfsdqh7ssnjcsnpmzi3iwxz2yfj9f";
 "syntrace.doc-1.1"="v5q7643l6spib4kf6mma67pl7xm8aaqc";
 "syntrace.source-1.1"="qqmfivdpilm8qp26v7kf3lcvfp582jv0";
@@ -5985,8 +6114,8 @@
 "tabfigures-1.1"="spwphj1m563rip8gq09fb97mz85yqwiw";
 "tabfigures.doc-1.1"="l68l551i2skm8yns6r2f1ji0kgxhx56a";
 "tabfigures.source-1.1"="6r4li6abzpgpv008xhy0x3lyywpy2w5d";
-"tableaux-2018"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
-"tableaux.doc-2018"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
+"tableaux-2019"="b4zz5qhahr3kxwi68l2hh92w3v29gdry";
+"tableaux.doc-2019"="g4v3wbms4yw4wmzkm6v9aj3l46l4fcxy";
 "tablefootnote-1.1c"="axmzyplpbyfmhfx7jsijk3aaqcyc7c9k";
 "tablefootnote.doc-1.1c"="z65aphzdy953r1r3a5lzpvizmhs638g7";
 "tablefootnote.source-1.1c"="a1qbk028v26pld26654hsl3j3fc90js3";
@@ -6001,13 +6130,13 @@
 "tablists.source-0.0e"="jwabyps9hwly3s2xx4l0vs3xwkhg0a33";
 "tabls-3.5"="gdkxv2mfqga5w7pmc8dszx9csma95imb";
 "tabls.doc-3.5"="dg078n18gai6glbgwh0p45560s4zjs4y";
-"tablvar-1.0"="y3my686kb6dyq3sa60237qy54qnid8w2";
-"tablvar.doc-1.0"="8gkl8s04ck46xfjb4jfplngpmlwhhpza";
-"tablvar.source-1.0"="rgn3danb8mnfayr13c1c5gq5cr4nf1pq";
+"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.3"="cgxvfk7sdxxpczv7x1jw5460lwg7bak6";
-"tabto-ltx.doc-1.3"="irjpmicaxpxw947w4p3520g18cg27nmn";
+"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";
@@ -6022,24 +6151,24 @@
 "tabulary-0.10"="4lnwhfr4bnawqgc5hvmp9m5gi6dmw679";
 "tabulary.doc-0.10"="439yc9m6b5na2i8kg8axqgx2pwhlv2aa";
 "tabulary.source-0.10"="x6a4q2rfm6z97ylwh2skqcpjlf7kap5s";
-"tagging-2018"="hai0v2rkgjvzxg7f35blqchqpvax05h4";
-"tagging.doc-2018"="nkfw3b02dgag42a8zan5dvlj0dlkzb0k";
+"tagging-1.1.0.1"="x89sfr6zw3szcw463a7hyydjancfr14k";
+"tagging.doc-1.1.0.1"="svs9ig2xs2c76mmyalsfsgvzw7x1x6zz";
 "tagpair-1.1"="cw696a7ccw159f38sa6av7f2cr2w5mcl";
 "tagpair.doc-1.1"="n06xlqq579by3hq5rwsmh0l6x1damdrs";
-"tagpdf-0.50"="sgcp74gpanavbvmkaxw59q2705hys39z";
-"tagpdf.doc-0.50"="sldrrlv419850zdmhhvbvb3dxarvxm6r";
+"tagpdf-0.61"="k0xs4dxr3f3xggz7kyy1yiz2lgvh70yy";
+"tagpdf.doc-0.61"="p7fsdpx0vlsrxkx8h4mw4vhj8i65q3lb";
 "talk-1.1"="w3vffx02kp18gxkk2khsnhcpzhd6kvjq";
 "talk.doc-1.1"="1hcv41gh3rcxncfqv75w92a2hdnb55nq";
 "talk.source-1.1"="mvqbaz1vwya42g0idhhp948dxmb5z0q8";
 "tamefloats-0.42"="biipxghplzwd03drjpiisijhdzr4i04i";
 "tamefloats.doc-0.42"="mnmrchq7k8n04dx35r1plzxcw46hx4cj";
-"tasks-0.12"="a58wppbccpfxnmsc5g04qvpf0zyv06gk";
-"tasks.doc-0.12"="pqz2is810r3nypqn63w74xi8fg8vp2ap";
+"tasks-1.0c"="26ax537zl8bnki6rgzv9glgismvljdlr";
+"tasks.doc-1.0c"="pjf8b495x5rl68wiia2g7dhy4x651wcm";
 "tcldoc-2.40"="r9i94qmf78q9j3adkzfly43riv2bzdmr";
 "tcldoc.doc-2.40"="fh6a7m41gxn4988pwr90ph25gg26ky40";
 "tcldoc.source-2.40"="p007ccff6w6d3nlpsp3q476vg9m4rjq9";
-"tcolorbox-4.15"="1308izj2xh5vimgiyzlb7pgxm2r1bsma";
-"tcolorbox.doc-4.15"="iinfp87ac4277im4fl7q53xc4rggvbpz";
+"tcolorbox-4.21"="2w7jrqw2ryfdzidirnxcj8n05dy7j3px";
+"tcolorbox.doc-4.21"="lq2kg4ks9amfj0cm8z87v3izi8s202cx";
 "tdclock-2.5"="dzb2gj8y1dv7qm5mn7xfgzdq9aydqjk8";
 "tdclock.doc-2.5"="sgdpiwcnkifms1lx7xicl3xj194lfhbg";
 "technics-1.0"="cav50vxgp01465wa07bmza4blgsv49wh";
@@ -6047,9 +6176,9 @@
 "ted-1.06"="2rd9qzrp0i0yk9qzz4g2zsjafswd6m91";
 "ted.doc-1.06"="02zyzvjncgpgm4iy2nxkx209l8dhgkm2";
 "ted.source-1.06"="isk5yz52jxsdqq8vzcvr99xjcg5sy7pz";
-"templatetools-2018"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
-"templatetools.doc-2018"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
-"templatetools.source-2018"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
+"templatetools-2019"="byxkf3ad6nbxsjvmqda6iv4qxwh9r66z";
+"templatetools.doc-2019"="yv7q44lxn02yn1fawm3rkcdia11hq99s";
+"templatetools.source-2019"="4cvfpn19a3cqhx9sx2jin35ycakq4wi8";
 "termcal-1.8"="brb1gf3h9zaa07s0ppbvgjiava0yh9k9";
 "termcal.doc-1.8"="3k8kgf7fy8b24n2jbx79a55awzs54far";
 "termcal.source-1.8"="k680hlhzp03wfxnxld82sgsnaggfw38g";
@@ -6059,12 +6188,12 @@
 "testhyphens-0.7"="xn9idcggd15gxl0iaphmlafpwq8ywilj";
 "testhyphens.doc-0.7"="fpkvgpd63hz8zyra7l22rgb9cr4yiz3a";
 "testhyphens.source-0.7"="fg7vps18xgf21gknlbcdikxn1yswafx1";
-"testidx-1.1"="2xv4ikmbq3d7njx8bd658hfmbn3y98i9";
-"testidx.doc-1.1"="6xdn43y612rixkk7v6f44c47znvrp3d0";
-"testidx.source-1.1"="3pnn4igzpbkgc7n1zgiq67wm0yf4f7l9";
-"tex-label-2018"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
-"tex-label.doc-2018"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
-"tex-label.source-2018"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
+"testidx-1.2"="r8p1fcwygn1i6qay7bj0g3qsh1xbshyp";
+"testidx.doc-1.2"="42qb4bpx6fiqg785ij9nsxm23mj291yz";
+"testidx.source-1.2"="kigppvv8csnxmspyd74928qz4r829ghy";
+"tex-label-2019"="wc2rqwp08adm869xmk7a6wkyzhfkbv6n";
+"tex-label.doc-2019"="lf9ff6q6n9rqng6akvbds9f1c6xiq5m4";
+"tex-label.source-2019"="vg5180hyadc0bl0hci4wzx90fvpxa2h9";
 "tex-locale-1.0"="l1ivcvf81xx7g4qm4jr778ssnyzf6m92";
 "tex-locale.doc-1.0"="01d792zq1yc408zzs3lpx3zffv7bi85f";
 "tex-locale.source-1.0"="ak4a3mf5q29g02rx6iy7yv2kp51gdqjm";
@@ -6087,27 +6216,27 @@
 "textmerg-2.01"="k9zrf9l5a75pzf1c30fxx48kly07m2rj";
 "textmerg.doc-2.01"="bjgcbyn95fi8kpq91kkhhxbarw5dn526";
 "textmerg.source-2.01"="4kws4jyfmh7w7z258clr3dd4x7k98iqj";
-"textpos-1.8"="hfaks20dxsil769n9s0kw2qvsfgvxn5q";
-"textpos.doc-1.8"="rnzjn5x53vvdm3almzs2zyd31z112hzc";
-"textpos.source-1.8"="pxmp47fyy20ni0m5i9iinw20vjl07jlw";
+"textpos-1.9.1"="9y69phigp9a3mnpxm8pz73scqkjrajfc";
+"textpos.doc-1.9.1"="xlp3qhzsccwq3dsxs86pn66kjd0hpnfa";
+"textpos.source-1.9.1"="617mdm7hify7hwjc7w0af3fnc0d65hs1";
 "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-2018"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
-"theoremref.doc-2018"="846wd88w325ganigw2g9rvhcs9is6ziv";
+"theoremref-2019"="1md9iqkfgbhg6v64sgm94lp66x085rwr";
+"theoremref.doc-2019"="846wd88w325ganigw2g9rvhcs9is6ziv";
 "thinsp-0.2"="flil5f3fr9ghxa0bffvqy7wackrg7q27";
 "thinsp.doc-0.2"="pk93sirkywa7hmqggnapklyz0bqy04c2";
-"thmtools-66"="qy4wdqkznn7cg4jpvqi4mjbnqmb2258z";
-"thmtools.doc-66"="mksaav3wkw6z13hz1y0idzh5yzjp6kx1";
-"thmtools.source-66"="znn6rd3fxncja9cr8syivv89r14zpwpd";
+"thmtools-67"="9hby99z4aghnf12c5rdgk7vihj40i2cx";
+"thmtools.doc-67"="y5461jls5a09p7q2ndgdn94ss286jc6j";
+"thmtools.source-67"="v96bsmdp8n9g899sprc0divhd43svw8h";
 "threadcol-1.0"="jwbi62xbc0cmzv65spvx1i6dijg34w6n";
 "threadcol.doc-1.0"="j6v3gi6c2cnhs8z5pm0j1cwg7ayi4hxj";
 "threadcol.source-1.0"="0irgk3ajakrjf1bgbfd71qvpy35fklmb";
-"threeparttable-2018"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
-"threeparttable.doc-2018"="4y119m8549dk5kv4sbhh614nijlv0vx5";
+"threeparttable-2019"="1fmr9sbssycx23ql343hvvk4k0n90bgj";
+"threeparttable.doc-2019"="4y119m8549dk5kv4sbhh614nijlv0vx5";
 "threeparttablex-0.3"="7slkq5cfxlah9ckr408l1wqxxc9x5hkh";
 "threeparttablex.doc-0.3"="46r8874q74dgja9ivs4i3wcg35lwlv0b";
 "thumb-1.0"="knz4ixhqam9i803vpaq6qmghx6n7h9hq";
@@ -6122,22 +6251,22 @@
 "ticket.doc-0.4d"="c6d6arnzv37pczxs39h99s1isldk36fi";
 "titlecaps-1.2"="lf0q66qrj3kw5hs90fbhr93dz7ik1gx8";
 "titlecaps.doc-1.2"="qb1mj8p7srqz37f77wqs1igfcpl8wsg8";
-"titlefoot-2018"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
+"titlefoot-2019"="1ggjs95rzvlmznqb8s67f7f3cjid5ynb";
 "titlepic-1.2"="psapnhni7mhwd94s2qmki4hdlpbq3dbs";
 "titlepic.doc-1.2"="c363symm32mhjg8cxw9j4xsmyhdl58kg";
 "titleref-3.1"="1ai0w05ipy1dlxm0n78jzvpdgp42j19j";
 "titleref.doc-3.1"="6rgspvqn51kiw9gpp9bc59jxlyk654f6";
-"titlesec-2.10.2"="25z9zccw5pikdak7045kw5651iz82vb8";
-"titlesec.doc-2.10.2"="g8gx5alx5k8x4hf5vls0hg4w0jlg736r";
+"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-1.00"="bjqbdm0a8rs8d8xqn6f5hhnsjq30z0hm";
-"tocdata.doc-1.00"="zrx45nqv3p6adwq3cafhc41h991lyg75";
-"tocdata.source-1.00"="pi5qg0mv6l4rfrf66458lm04yczycnzv";
+"tocdata-2.03"="k4q3rr13qywdl798lg7rx8zgqyhgc0cf";
+"tocdata.doc-2.03"="11pgqzlzvx5hxgw2fizyjrq670d1154d";
+"tocdata.source-2.03"="adp7jfmqm6p1l7gn7p07j7d18jzg7i63";
 "tocloft-2.3i"="yjmv81gig4vic5qsvg5mlnzgksspjgyj";
 "tocloft.doc-2.3i"="nh0fvc66rrd9ckyxv9gyackd180kikni";
 "tocloft.source-2.3i"="3mcnwnx824kls2j5ln3b80hcvdk8ch51";
@@ -6150,15 +6279,17 @@
 "todonotes-1.1.2"="k9dcrj6jpppwhp1hkibcdpwnpm3fmx32";
 "todonotes.doc-1.1.2"="6lwri4ybslcrfphvg8cah3fsw1lv5liz";
 "todonotes.source-1.1.2"="xyjg7n8m9aq7ykawy9lsa677jpylz730";
+"tokcycle-1.1"="8gd2yggcky1ag3p84z3cm7bprv58qxp9";
+"tokcycle.doc-1.1"="p0r03jvr9r58sr16pb1ihhnjqpmb5s6d";
 "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-2018"="a6wpasrna61fbpcb35m1gighj3xshfrp";
-"topfloat.doc-2018"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
-"topiclongtable-1.2.1"="gncjycyzg017fr7lipw06jf5mwry14dj";
-"topiclongtable.doc-1.2.1"="iay51mlh7lxvxg4bla1hhav34qiyd2ah";
+"topfloat-2019"="a6wpasrna61fbpcb35m1gighj3xshfrp";
+"topfloat.doc-2019"="1gqq1kwkhj4s99vrqc3hys2pzr691k0d";
+"topiclongtable-1.3.1"="039ngjqqsjqslmsy4wj9j8lvysdyg2d7";
+"topiclongtable.doc-1.3.1"="66a5bw5zvxrn4dkcyiz8vi9l8qqjcqxb";
 "totcount-1.2"="mjp1wrksnwg89cj9si72fj1zjyrw9szn";
 "totcount.doc-1.2"="q1j4ja1xiqc4aahh7d02cnm8pvb356r6";
 "totcount.source-1.2"="g56d6lcx4g79iqg8af4nazv3lf3973ic";
@@ -6186,17 +6317,17 @@
 "tucv.source-1.0"="85rsysj0whl6f07njaxigyk14ij204gc";
 "turnthepage-1.3a"="kiaa5nrr0q0zdgbl22349ilfl23hlzvl";
 "turnthepage.doc-1.3a"="akqb1g5iyf9f7shvsm0v5wqzi43w8974";
-"twoinone-2018"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
-"twoinone.doc-2018"="8shpm77vq1ir8f18ix6ddz80jn0qg0ni";
+"twoinone-2019"="mg0zc3lsfzqfcj9w6qgqiynjkqki9h92";
+"twoinone.doc-2019"="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-2018"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
-"type1cm.doc-2018"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
-"type1cm.source-2018"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
+"type1cm-2019"="fnxv8a4anvnhl4a2hm1fx45hpdns24mh";
+"type1cm.doc-2019"="fly8yjqm52klwal3cpiw5c3c8pmy75n1";
+"type1cm.source-2019"="735jsqhiaa26wlbbwq764rl18s3j1s7v";
 "typed-checklist-2.0"="nb46bydygh6n37z3w9rcl4vdlgd0jlyj";
 "typed-checklist.doc-2.0"="wpqkpzji27rp6zvrhy988fgjf1mf9hn1";
 "typed-checklist.source-2.0"="yp6qcgrbhlggv7c7n5g40gmiz6azflz8";
@@ -6214,9 +6345,9 @@
 "ucs.doc-2.2"="z3jxd58nlj0lkch4gc3jg4nwc2aqgzwr";
 "uebungsblatt-1.5.0"="9z0cwx5jfib1mfyq49bq2yl0yfacwg89";
 "uebungsblatt.doc-1.5.0"="vps5ya9a8z6hv7lynd0fwizwxdxyb52j";
-"umoline-2018"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
-"umoline.doc-2018"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
-"umoline.source-2018"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
+"umoline-2019"="2vm0z3pykwnz31pyxxpmgdl3bbpzxi0x";
+"umoline.doc-2019"="i3rs7g3iqdqnkhicadrnfr981fwkmw8x";
+"umoline.source-2019"="rsd9s0gqx20dvf6sk91gwzlsx4mq6299";
 "underlin-1.01"="vp1wvsy871d28x0z1rw4pgxw9abkr8yg";
 "underlin.doc-1.01"="8cbapdd7sbqfxs6s2fx6pv0d8x6b0sjs";
 "underlin.source-1.01"="52j0xlhajihpgw5mp5zgpnsaiqkyfr62";
@@ -6228,11 +6359,11 @@
 "units-0.9b"="b92vh3z7cr8q1lp5cqzkiw2dhfbla7cg";
 "units.doc-0.9b"="3c1a9x0y99lb2qw8scb0x70jzbh5kjkl";
 "units.source-0.9b"="ha3bz0p0xanqznz0nyfsa02j32wjdl88";
-"unravel-0.2f"="xcxnr2pcddzvrs7pbg6plbnxc7mrsgva";
-"unravel.doc-0.2f"="yb0ljbpn59fb2fhbmq2b8r27y2c2abv0";
-"unravel.source-0.2f"="hn2j08csyw8wrmn7izj72xx50g4fzzj9";
-"upmethodology-20171210"="a3rgddri984rakfas1ggrxggpii665xy";
-"upmethodology.doc-20171210"="jlvh2iyqj2h7yicgbxi8z8188xjzgfi9";
+"unravel-0.2g"="36q5f8m3v8cg5bg7g2b75wvdr05l6mg5";
+"unravel.doc-0.2g"="421v7md0nqgk4h33dnrixpvi67fi0fp3";
+"unravel.source-0.2g"="9v979jli0094ikbpf7dfyfizd7xlx6sy";
+"upmethodology-20190928"="kx48p4k7pcw622vsw0r4d2mhkvg3kiyv";
+"upmethodology.doc-20190928"="h5vqrk88hfxaqp86r93jkg59hhsjvsgg";
 "upquote-1.3"="3pr0j9wkyd8fzk026qk6vzsv5hlyccy7";
 "upquote.doc-1.3"="ilclzgj5m6nxhnz4398f5nwypf4jp2gh";
 "upquote.source-1.3"="4j1q8nck1g1cg4paz65l2zpvyimkf31r";
@@ -6244,8 +6375,8 @@
 "ushort.source-2.2"="jhn6sxdjyff94x69jhax021qfx39dca7";
 "uspace-0.04"="mc9j21cj64djdxspryc0knx00xm2krvm";
 "uspace.doc-0.04"="72420339xc9l7a1xaz1pdkn7clkdrm7w";
-"uwmslide-2018"="zf5gky1nzsjd1jp5kq843in2prllnk36";
-"uwmslide.doc-2018"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
+"uwmslide-2019"="zf5gky1nzsjd1jp5kq843in2prllnk36";
+"uwmslide.doc-2019"="m67bshz8bpzw4vcsj1klgh8sz3mnbx8n";
 "variablelm-1.1.2"="gmqg9y7mmqmzl04n1zh8gfxzglhh4afx";
 "variablelm.doc-1.1.2"="d12x54ynkf2lq50m97p9s3wh2jr1y5jr";
 "varindex-2.3"="isp8j60q76fms3g4nlgf6d6da6f2y0xg";
@@ -6271,9 +6402,9 @@
 "version.doc-2.0"="7hcfbpwhb2ifxy3y84g6rgw2f7465hgj";
 "versions-0.55"="c1vn4pw5im1a93xpp59i3xcf5az1n326";
 "versions.doc-0.55"="l4znzf6z7qwpskdsdnhsdx264a07wvmg";
-"versonotes-0.3"="v1lfi4z19w77a8ydn9sqh17q1mnjdc9g";
-"versonotes.doc-0.3"="8id9yn2rflg2h7r72ax0b7pbf7rqh8di";
-"versonotes.source-0.3"="68kgk661209cslywdrrc1mxampz5z3pl";
+"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";
@@ -6291,6 +6422,8 @@
 "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";
@@ -6303,17 +6436,19 @@
 "warpcol-1.0c"="91kcbm5m59ym7kfjbhzdq20p9rhi7ci4";
 "warpcol.doc-1.0c"="q72m3zkgkm7fxfq1453jsmqidgacb2bh";
 "warpcol.source-1.0c"="lmr3rlbqz9q7j05glz4s8fyfrlm6ah43";
-"was-2018"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
-"was.doc-2018"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
-"was.source-2018"="cwqcmdh86sm58073zm929dxibw3flc02";
-"widetable-1.5"="zis4n2iaqq9wr8x3z1d1mx8dq2cn3704";
-"widetable.doc-1.5"="c3dkf2i21b86pf64vjmkr404fhwmzi8r";
-"widetable.source-1.5"="3x1kv0pvgph8ld11wvm2zgpqfdhr4isv";
+"was-2019"="gw9043kq2ai4mkbcca20x5f10wnv8czz";
+"was.doc-2019"="y83pwhhkxlh92cr9b0hmps0izg2cjhmg";
+"was.source-2019"="cwqcmdh86sm58073zm929dxibw3flc02";
+"webquiz-5.2"="9qq4an9pcpirgzrfa7jx1mc74zz5y55q";
+"webquiz.doc-5.2"="36ykfxg7dqx2wzn5k15f85s9wm99c4xd";
+"widetable-2.0"="7dx6njx3r6i0ia40n1rv0j7badl9hkdr";
+"widetable.doc-2.0"="bk5a40zf9a8ylg7zf8sbr3z62607dhd3";
+"widetable.source-2.0"="w0djy8q8m45lvhp53gl3x44h5f0nckag";
 "widows-and-orphans-1.0b"="nra2vcwdz65ab9v2l5j51ly2psp39kz1";
 "widows-and-orphans.doc-1.0b"="s6m3rdja96wpyyq98yirb6y2213264lf";
 "widows-and-orphans.source-1.0b"="b0h0rfg9v872qa5javafixkkjwp518jr";
-"williams-2018"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
-"williams.doc-2018"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
+"williams-2019"="9xzcvf4nblyp6vl0vhnwi6lbbmp4lagm";
+"williams.doc-2019"="0fr8h1zsj1h1cf3qpjvdkg3yz4fcjdsk";
 "withargs-0.2.0"="ahb75dczlyy8shzql034xqjq72ll0yvx";
 "withargs.doc-0.2.0"="6sr29bzbhwzcf77pjzhqb21fsp0541dj";
 "wordcount-1.7"="wn4d84kxf5phfn6f5imv91draca4wxap";
@@ -6332,9 +6467,9 @@
 "xargs.source-1.1"="zvlns27k99jmi1iy7nyc03kyyy8kaycs";
 "xassoccnt-1.7"="9gjhxbaxdfqadbywhka6kqnyyw9wl5ls";
 "xassoccnt.doc-1.7"="38p065jjmz5c8mjc0lbvz0jg793nlr53";
-"xbmks-2018"="3rzl0pi5vajgj80rlwj9s5hxx1lwfq6c";
-"xbmks.doc-2018"="nfcmv5k07kdhily4m4iivg3i3ln7d294";
-"xbmks.source-2018"="xswwxiw3ksa35mism6ib1mqpr8vrisl6";
+"xbmks-2019"="3rzl0pi5vajgj80rlwj9s5hxx1lwfq6c";
+"xbmks.doc-2019"="nfcmv5k07kdhily4m4iivg3i3ln7d294";
+"xbmks.source-2019"="xswwxiw3ksa35mism6ib1mqpr8vrisl6";
 "xcntperchap-0.5"="qbrmbcwfdhy1as9i732naj5xnqd8zl7r";
 "xcntperchap.doc-0.5"="ql3z0qizhd2nxxjb5i4hhxvb43951rs1";
 "xcolor-material-0.1"="08zazp49lpmm92ang9i2q34kvx7v4rli";
@@ -6348,22 +6483,25 @@
 "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.04"="a4b1sc00bjcmkhisfmg859r91gawnb2y";
-"xfakebold.doc-0.04"="72p0jj5pb2l4bxyyqnbqhxqalssly5vn";
+"xfakebold-0.05"="q2dn5s98jir5swsh67d6xaq8cnhxhjwv";
+"xfakebold.doc-0.05"="5gbp1hiqsrsfv3jh8f6rifsllsc6m3iq";
 "xfor-1.05"="x2bs3y606v8f42ds7xp2kmllq0vmrnms";
 "xfor.doc-1.05"="lbgdf0qia743jdvlxqf7vm4w1pc77kar";
 "xfor.source-1.05"="pafv6fqj0nd5xm0wgmwavkmg97rw7dnm";
 "xhfill-1.01"="6c09h61nlwbviwc1vfvmr4jhbrw2fs24";
 "xhfill.doc-1.01"="cw2rx4v66138fsh1vwxhq9smyai1xlr4";
-"xint-1.3d"="li2h0bipq2rql2xjfw4hfgkwsg0ri13g";
-"xint.doc-1.3d"="xs9yi3x7jkzcc7c6hl4s86zh5pd1ailx";
-"xint.source-1.3d"="wzyd0g61hpbqqrrbhankpw30ln6f93zx";
+"xint-1.3f"="ahh09z32y79k5d8rzpw019gkhhf1j70v";
+"xint.doc-1.3f"="pjgafg558x3lw05chxic52xygraxx509";
+"xint.source-1.3f"="f332r3gsqj8d7fi1s62kn0jvf298xfzp";
 "xltabular-0.2b"="rgv3ixm0aynqzfmf8s1682n52ga5mcm6";
 "xltabular.doc-0.2b"="0d48lsksnxlyhaxrhcc497f95k4xjcvl";
 "xmpincl-2.2"="wjg1lw656zbn3h41pxqzwwag9mgrk3h6";
@@ -6384,11 +6522,11 @@
 "xpunctuate-1.0"="n3mxrha0440l5ngic93idrqw2agmisah";
 "xpunctuate.doc-1.0"="lrvqrndq151vfz34ycvjnh3sw77v58lz";
 "xpunctuate.source-1.0"="cmmzrijia2ir3mrhcq4s531la5kx18fj";
-"xsavebox-0.12"="fnpr8zjdih152bdb07a8cz2xmcs5y91s";
-"xsavebox.doc-0.12"="sc2ddzx46wndknv9rbr1nsjnxygsaz8i";
-"xsavebox.source-0.12"="b1bdhpkbgan1m393yfk87knqvbb57gkx";
-"xsim-0.11"="lqklbv5cd9ii4zi5a024cfczvhc2xasb";
-"xsim.doc-0.11"="9whj9hd6xpfmc8vqwynw40c6r1mm8ni9";
+"xsavebox-0.14"="b36qamf4wfpbrkg6gj6n8adi7rjy5gzg";
+"xsavebox.doc-0.14"="19flrbjci9i7xficp822h2x2ni9g4ccv";
+"xsavebox.source-0.14"="3n19vz70bwxcgx02q77gw062z7vr0n98";
+"xsim-0.14"="xj8gby6dkfn8b2xigg921klx1h0jccm4";
+"xsim.doc-0.14"="23760q0xpivdrxwyr3sqfjnb54347pnf";
 "xstring-1.83"="imwhw4cc68bs6q4f9a00sp7f4y6kvg6v";
 "xstring.doc-1.83"="5ad5zk5vvbk6wpgssvzs905b6nq6x8fx";
 "xtab-2.3f"="zqrxzgk3pn3kw19jm28bvg0lch9lc7sm";
@@ -6409,34 +6547,37 @@
 "yaletter-1.1"="br7r3x3n8h5nlfy36csx8a5ji3cf12wl";
 "yaletter.doc-1.1"="x5mhsm4pxjc2klcnwqyrz10gbq4kzw0x";
 "yaletter.source-1.1"="c1la5n24hxfi3paxwxd8m7lxpd083k0h";
-"ycbook-2018"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
-"ycbook.doc-2018"="piy9cpdcikzknnrdp27dfrciidcjspzz";
+"ycbook-2019"="62sm9jbqxgqdwwm4w39kh5lax93lycc4";
+"ycbook.doc-2019"="piy9cpdcikzknnrdp27dfrciidcjspzz";
 "ydoc-0.6alpha"="4di93jv5wpv4bdng1ibkf0ma6m0bknz9";
 "ydoc.doc-0.6alpha"="80hq2xznj76kgj0zb6zv6li578kc3r2i";
 "ydoc.source-0.6alpha"="39128wyw2py0j8f334r7drff849ad2sv";
-"yplan-2018"="rm8ln7pvl6i672107i8hxic85s994g6g";
-"yplan.doc-2018"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
-"zebra-goodies-0.3.0"="84j6fzsvhfqqs0i1jsi64ikdbkcn1x46";
-"zebra-goodies.doc-0.3.0"="sl3l8bcxiv1symmla5f32am1skd3ab9s";
-"zed-csp-2018"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
-"zed-csp.doc-2018"="5p8s701yk431qyngw010qws6b9shx588";
+"yplan-2019"="rm8ln7pvl6i672107i8hxic85s994g6g";
+"yplan.doc-2019"="0h0wa59ackd645spdqk9vqy0gzzp8f8y";
+"zebra-goodies-0.8.0"="p6f693z5cywmpln2i6qqxy0g4c0wv78l";
+"zebra-goodies.doc-0.8.0"="0d9dcng2qivm4p2h8112ii3pjrwl1f38";
+"zebra-goodies.source-0.8.0"="dgvli6fpzrs7jgalqvm8m4a8fqldkfnh";
+"zed-csp-2019"="ggjqzwn3zi9x8ziddkh7xizgw80qqlrv";
+"zed-csp.doc-2019"="5p8s701yk431qyngw010qws6b9shx588";
 "ziffer-2.1"="jv9y39n2mj1csaixb3pdfp0qggc16b04";
 "ziffer.doc-2.1"="3ys31swbmm03zmnlvfm155aii3nrd2sm";
-"zwgetfdate-2018"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
-"zwgetfdate.doc-2018"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
+"zwgetfdate-2019"="ibagqadgb3nbq8y72lzhrbamv5xcipk1";
+"zwgetfdate.doc-2019"="idw9limrda31c7h0xd3j6v23xqbd2nn3";
 "zwpagelayout-1.4d"="6wskn5h4bxigry3bjdf90ibdfrkinln3";
 "zwpagelayout.doc-1.4d"="rr3q6ypq18rkaa77ikr0j2sd80pp322j";
+"addliga-1.0"="v46mqcn3yabd6lliclwabya62hvmvpgs";
+"addliga.doc-1.0"="lrmkg7awc61rkjf6n8xn1hhcvrsiz12n";
 "auto-pst-pdf-lua-0.03"="s0l3pyb7y4pr3l67yp3yksd0j2fc212p";
 "auto-pst-pdf-lua.doc-0.03"="784dxagzkrphn2nby5lk4b79s074824y";
-"bezierplot-1.3"="pd8987g0wz5rh6qzgb5v7sqlaslfzihb";
-"bezierplot.doc-1.3"="zfdy6nmy19777dxl6mg7nkqisq1kdspl";
-"checkcites-2.0"="sl7bgm1kvqvl8q5ykbkxpin78pn6ivb3";
-"checkcites.doc-2.0"="5k7dlp98z1dr1vlir72f0r78vmaxl4ps";
+"bezierplot-1.4"="y1vm9s8h8v75k0q73q8089gnr0647ir2";
+"bezierplot.doc-1.4"="crzlgln3g39kmqdba5dffqdx3p9fffzh";
+"checkcites-2.4"="2vzqckrpid1lxi5awbc3s1179j0yw9rm";
+"checkcites.doc-2.4"="5dfipwxsrf3jn446z9ar0caa8bsmw4al";
 "chickenize-0.2.5"="bh3kdbw0yvz28izgmxxw3psmirwmfcd5";
 "chickenize.doc-0.2.5"="hqyyggfs1is65gfl4ck1mki9wgm6238v";
 "chickenize.source-0.2.5"="xhybj8jxyv1fghx7955dcgfcl9kjgbkw";
-"combofont-0.2"="3fkzcqjwxkciacvpvncnvzknf6mrrgh6";
-"combofont.doc-0.2"="c49bkqad9gw6lghaqkl4jp53501wfcgc";
+"combofont-0.3"="kqlh6sp2y5ssbp38jy6svzgdva4m4sh5";
+"combofont.doc-0.3"="99h3xmx3jv5il99g6wc10csqkmpm5mg6";
 "cstypo-0.03"="4iqsrwnw7pnzhzzspr686pf6y4img6zp";
 "cstypo.doc-0.03"="3s9dsniw0yz2j7iffbsycsgrycfbjlg9";
 "ctablestack-1.0"="cavlzn944q3fhha3i4kf8bgvm2y5zpdh";
@@ -6457,6 +6598,8 @@
 "luacode.source-1.2a"="dw3p52gn6g103qkp5v8vmgxpj2b4cwb7";
 "luahyphenrules-1.0"="lpkklcbarmvfm4y9d5zgm9is55y66f56";
 "luahyphenrules.doc-1.0"="ch7vc8skad88crgb1blh85ig9sn97l3f";
+"luaimageembed-0.1"="0cc3hfkj5jqldnv95ifz4j6ls9vj44dj";
+"luaimageembed.doc-0.1"="66vlh8a2w7q9ng1na9sraibw5ixxlyc2";
 "luaindex-0.1b"="hlzsr82cp5vs41bvnp22f8jc3kkwyk4y";
 "luaindex.doc-0.1b"="k1nz25w1nrxbfcg8g9lrb4gm22i3m7ih";
 "luaindex.source-0.1b"="7pg6v1phdz96x5nmwsnf5bd976s2magv";
@@ -6464,23 +6607,23 @@
 "luainputenc.doc-0.973"="jyiy6f96v5nvrr4lp765vpvhrl96j67q";
 "luainputenc.source-0.973"="5v1n89k8wg4g43fnx0wz53gdxp7cvgji";
 "luaintro.doc-0.03"="gcz5ihcqinbpnqza158xsgw65h17lgi5";
-"lualatex-doc.doc-2018"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
-"lualatex-doc.source-2018"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
+"lualatex-doc.doc-2019"="9vq4qxdsf4gfskrqpb45wj9m0jdkcykh";
+"lualatex-doc.source-2019"="jnrcirfvz7w28pcq3cvwb8g8khd3gzh2";
 "lualatex-math-1.8"="q833blixbj2qv1h4csxvpy7v0hj2ifg5";
 "lualatex-math.doc-1.8"="xabchvz8l365371h3mv2im3hsad24crd";
 "lualatex-math.source-1.8"="bxjy4dg5jsv23lrhg202lahxwkjqgn15";
 "lualatex-truncate-1.1"="imd10qn2sh19fdz4zp8qz57rqs0kh2n9";
 "lualatex-truncate.doc-1.1"="xfanw53qhm8qhqg45ykvvf213j3q5dy9";
 "lualatex-truncate.source-1.1"="sv3j09xlab2gfqn670wd41xgdk3rjc84";
-"lualibs-2.64"="j90n6iymbm3jixc91445jqh4y01lgnkx";
-"lualibs.doc-2.64"="rzv8xivbnif54fmqhnwq81jwdb786m4g";
-"lualibs.source-2.64"="ssv2byw1y9c3h5y1ii07zki31zjndjwl";
-"luamplib-2.12.5"="555ba1ih7msk0x84qyyp8s8dg6rn1aw3";
-"luamplib.doc-2.12.5"="gl5fzd3g840hm7asnh80vlx7jnyin10x";
-"luamplib.source-2.12.5"="7rq7jzjx8a1z9pn96hj6c429mwjhyrj5";
-"luaotfload-2.96"="dpdbf6gchddjc726n47pj8kzi6vakbx3";
-"luaotfload.doc-2.96"="xb5i897inw6j84nb7r1qmfpjcbldxkdf";
-"luaotfload.source-2.96"="bsk232r2w7clzbsigigdwxxwgmpi112f";
+"lualibs-2.67"="fvd8pm6k0nkvh1a9hglfbv7iscm87wjm";
+"lualibs.doc-2.67"="5bx73a0xfyvbj73jb0hp3f22khlqk0gy";
+"lualibs.source-2.67"="xn36i7xkkxg8hv4xjdk4pklcs1qikp6c";
+"luamplib-2.20.2"="hbd2ihzk4m3vph5vf5mjmabada2jwfiz";
+"luamplib.doc-2.20.2"="64fz107a010l9b92a2yffkmmni0il0nm";
+"luamplib.source-2.20.2"="y4cv3h54lh1brx576dya2b73vxzv0mza";
+"luaotfload-3.00"="zxc0q7cpk1a4lcp1g459cmli5igkfcrf";
+"luaotfload.doc-3.00"="98w4h05g5wy5m7b5359x2x0lsv61cpq1";
+"luaotfload.source-3.00"="6gn5jrfg8f082s56abjw86ss54x1lg13";
 "luapackageloader-0.1"="rc85q0c3lyjd3c4mhjjbqlcywycwxcgj";
 "luapackageloader.doc-0.1"="dkccp3n7nwkwv9scga2xa1aqqplsird6";
 "luarandom-0.01"="cj3pzwmgrh4d477fv551rlp7afxrsj0a";
@@ -6488,25 +6631,27 @@
 "luatexbase-1.3"="hjzprkfxz8i905ffdzfad0myg2ym4vg4";
 "luatexbase.doc-1.3"="3rnbzrql8m9ss0pk1yydy4v9acrk3qq0";
 "luatexbase.source-1.3"="v5x5csbgplvah43m8lbjky2nmfk2s3fp";
-"luatexko-1.22"="42hyaxxlb3qga212wf4nisv5hgdx3pjr";
-"luatexko.doc-1.22"="dl17mgf03znppxyw8ccfgv36h8amf99j";
+"luatexko-2.4"="s5jl317zwy5l1n1f5pmhidprnds8l4bh";
+"luatexko.doc-2.4"="c65dp9snya3hsl1jd2lma27ghhrh032k";
 "luatextra-1.0.1"="xb3dbgfnm7ww87n60ydpilkwqczj77lz";
 "luatextra.doc-1.0.1"="4pfnnxaynvw166pp1ivb5pjp061n2bvi";
 "luatextra.source-1.0.1"="3ajlrmqc27xyxlkn4vbprh6zzlqpf0xd";
-"luavlna-0.1b"="nk9smk0wqrq7m82mxlw5jyxdihkz665v";
-"luavlna.doc-0.1b"="qaridqid784hcvlskps2fgaza3a5mpa2";
-"luaxml-0.1h"="lbc31lqy2bp86w5bfpbky87zblr56nhn";
-"luaxml.doc-0.1h"="yzv52yc5wkczs6bsfmwlyv64h06yyamd";
+"luavlna-0.1c"="hdk6is2n47zfn5489f8brncr9v8cpb16";
+"luavlna.doc-0.1c"="k1m38wapbfrkbfi2v70m3g5vbqdddw4c";
+"luaxml-0.1l"="z1abf6izw5yakycwjiyc13bivpmi0bmc";
+"luaxml.doc-0.1l"="0lmrd1fxl26m4cs49qm571ds05fx1njq";
 "nodetree-1.2"="7x6x6xjd3aqhvz1nchhxckfhzjllfr21";
 "nodetree.doc-1.2"="jnpfcdpwafza66wmlvgv4jkmisfc9k46";
 "nodetree.source-1.2"="877wmvyrnhma4v3qdlq4r1pbk1bldlv0";
 "odsfile-0.6"="1h0vzwknsi9w3vpk008mdk87l3c33ffl";
 "odsfile.doc-0.6"="4wvljjvknahcyfnwkpnpbmzg26zaa9bp";
+"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.2.3"="mp83hmniy24qygdfbqyf4jf53pjrby00";
-"plantuml.doc-0.2.3"="pv659c4yw6gbkrzw7az73lpc28ni3788";
+"plantuml-0.3.0"="a2lka6lq0fvp5zdwb1f7958xishxg6hc";
+"plantuml.doc-0.3.0"="p2xlf2hcj3hqj6j5l7gjn4l6cg4bs75f";
 "selnolig-0.302"="gw2nwscxyg2p83bs90nnbg47wddkh0i1";
 "selnolig.doc-0.302"="d73jxs6xck7m5y95hx6nfls1572za6qh";
 "spelling-0.41"="kajpixvypcfl8ivqqnscfcd1fb1vv78x";
@@ -6522,59 +6667,69 @@
 "SIunits-1.36"="jpghwsag31g9f2lnzdzmfg1rg1vjxihs";
 "SIunits.doc-1.36"="1qalyh0q4lvlxxmwykaq3bp3sw76sscg";
 "SIunits.source-1.36"="6v2lr8gjm3f2kyqh7pc06ay5iswbi7p2";
-"alg-2018"="2z4gi58401dsjwivwji0b169ihz3assx";
-"alg.doc-2018"="43bcrdwkqnx6rharxz9l106cxycm408z";
-"alg.source-2018"="yq6bvw0bwwqq8c367ml9p9cbimqhkr1v";
-"algobox-1.2a"="ykmx4b4yz0vbbzw5pkabkq23da5ab2nj";
-"algobox.doc-1.2a"="slrgkjc160aasdqly9n72inxxs20p7dw";
-"algobox.source-1.2a"="1jk7jr14qb3sx1vffwazmvdhmnxswpjv";
+"accents-1.4"="8vq1cj9iyijb5lcz28w4d09j3gaw598x";
+"accents.doc-1.4"="qqgb9nrldq4bss1b90qn080zb278vxb6";
+"alg-2019"="2z4gi58401dsjwivwji0b169ihz3assx";
+"alg.doc-2019"="43bcrdwkqnx6rharxz9l106cxycm408z";
+"alg.source-2019"="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-2018"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
-"algorithmicx.doc-2018"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
+"algorithmicx-2019"="8hvwf9c6b51yc623g8ivxqzwd10c1j7s";
+"algorithmicx.doc-2019"="1xcga5bk7fgqq2dad5mzv2v2x0m6hqrd";
 "algorithms-0.1"="s07h59vabig8jdk2d7r98hdnxpyq52sm";
 "algorithms.doc-0.1"="vwq0lnznxpwi4zpp4hjaljdfc3c2h6yw";
 "algorithms.source-0.1"="cskf3mpv2rk435przyidljaijx46fiy9";
 "aligned-overset-0.1.0"="ghkj6baw3sppp8vi9msny8ffaf3f0mb9";
 "aligned-overset.doc-0.1.0"="falszy2yd14yzy1gzscp7d3arsb02pv1";
 "aligned-overset.source-0.1.0"="gcapvfxcx8s1qgzcf8f52l4w0dd33b5q";
-"amstex-2018"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
-"amstex.doc-2018"="qap1smd981y2ai02hysa2ibyy2wgmynl";
-"apxproof-1.1.1"="l0d5va84h4ypi7m3y7nw142qa207j3n9";
-"apxproof.doc-1.1.1"="39xg5gwy5g8ypjz33g8n2262z2fnxsyc";
-"apxproof.source-1.1.1"="yh71rp83rgl6sig7w7yj7n7dm78x9yq5";
+"amscdx-2.2x"="73dyfrnv14jh8gavjgivx0ldyczqlazc";
+"amscdx.doc-2.2x"="ya3ljfxmirpyaz7kj29mkyrwrhvz61y5";
+"amscdx.source-2.2x"="da89in5nc7m37m5padb246ra9gl6cjrq";
+"amstex-2019"="lpqwc8f3c8iv9691yxqs6r00dkjp9mh2";
+"amstex.doc-2019"="8rkjw766mwbnpifcn10gjkdap6p8gcch";
+"apxproof-1.2.0"="f4p5sn16ygfnnx6lzjmz6gwhdy2pd88q";
+"apxproof.doc-1.2.0"="xzlmlck028ri44c49sd5vr5ksawjg62b";
+"apxproof.source-1.2.0"="nhmzdgibha22wzmr1ppvinifbq2vs49w";
 "autobreak-0.3"="61yyi2p6gf0sjydn5kr8h8qvpxgmvbin";
 "autobreak.doc-0.3"="lzi2q6g0mrv5l8kb3b9yg0ykiiwimyfv";
 "autobreak.source-0.3"="62cm1l24gp51a8jnag36y8gm1bwya7la";
-"axodraw2-2.1.1a"="pyy2pdw8k4kmfr93qg4sjpddgf6xpzs9";
-"axodraw2.doc-2.1.1a"="q7r4021k2fv8nmp6gi06ph9inlbk95wy";
-"axodraw2.source-2.1.1a"="jfcj5zj3b003mslj4h6iwjbdqvj1hmyr";
-"backnaur-1.1"="f74p150lbyc7bpvfg0cksv6g3and4qm2";
-"backnaur.doc-1.1"="4kd67srbm2bxwrjj3rdd8k56g108bj5p";
-"backnaur.source-1.1"="25zm2sxfdijfvbbcckim8glqfgidrc60";
+"axodraw2-2.1.1b"="g9vd6wfm1v77c7rsl2y7cpa9rl1921zn";
+"axodraw2.doc-2.1.1b"="rhvxvww141sazlyzpwazcdhvsd8p350w";
+"axodraw2.source-2.1.1b"="jfcj5zj3b003mslj4h6iwjbdqvj1hmyr";
+"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-2018"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
-"biocon.doc-2018"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
-"bitpattern-2018"="s1gn3l5lfz24xgg768032s318gzx96zy";
-"bitpattern.doc-2018"="8nq9nd4qsrixnnw32saxp6272d26w040";
-"bitpattern.source-2018"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
+"biocon-2019"="d5164k5f9rh092j3yd5vysfzcp6qbvc7";
+"biocon.doc-2019"="w3c6g9qr6s5pm76jq7v0fk4fs90p5d20";
+"bitpattern-2019"="s1gn3l5lfz24xgg768032s318gzx96zy";
+"bitpattern.doc-2019"="8nq9nd4qsrixnnw32saxp6272d26w040";
+"bitpattern.source-2019"="1xa4jib8aihzccs6lrijw5x0cvhlrkcl";
 "bohr-1.0"="5r65jri672mlqzhd26dmys54sj19c8kz";
 "bohr.doc-1.0"="8gsrm5xrxfqqgpljlyizlcdz4lw3xk9h";
-"boldtensors-2018"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
-"boldtensors.doc-2018"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
-"bosisio-2018"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
-"bosisio.doc-2018"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
-"bosisio.source-2018"="m2y96hhgypgcsli8v19w6jn7y39d23vy";
+"boldtensors-2019"="ivpsy3mgqghbw4qv325j9rc6nwwmh9ya";
+"boldtensors.doc-2019"="nbg1ilwbjn61g6g93bnqhfm5xgrgqzgk";
+"bosisio-2019"="dinsh8vlzgch7mvajkqmikbpgmzryqld";
+"bosisio.doc-2019"="asd7h31zda58mwykhc4jfp5nwv21y7b2";
+"bosisio.source-2019"="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.4"="whxn5qk2z4pia4hpafbzggp6q6zai2c0";
 "bytefield.doc-2.4"="ixgwy7pi37anjp4nmm765hc6hh484gxz";
 "bytefield.source-2.4"="mmnbxv3g3c6i858xs5dazi1nkfvrxsjs";
@@ -6590,21 +6745,21 @@
 "chemarrow-0.9"="mb0i68z92909632g3xd1m3ahvmg0nj72";
 "chemarrow.doc-0.9"="h7g7ldb9837ngsxbmxm2c902bk0k2wdg";
 "chemarrow.source-0.9"="05g345ir5pvd4wik23yykarizwp0l506";
-"chemcompounds-2018"="7m2snwdxnachamq617zap92fsgdqhay3";
-"chemcompounds.doc-2018"="imzf21bm33j290wmy96hx88ahf5zgbff";
-"chemcompounds.source-2018"="nwcxbn1ivdiswdqyr319y93l76527amj";
+"chemcompounds-2019"="7m2snwdxnachamq617zap92fsgdqhay3";
+"chemcompounds.doc-2019"="imzf21bm33j290wmy96hx88ahf5zgbff";
+"chemcompounds.source-2019"="nwcxbn1ivdiswdqyr319y93l76527amj";
 "chemcono-1.3"="kppxwgnwc7f62n7bwi2gnb6zndxv4bag";
 "chemcono.doc-1.3"="r527psyb3zf91x0xd6ywiv429b0rmicp";
 "chemexec-1.0"="szl9xw9iiql9yi7la6hwcwx8frhdxkck";
 "chemexec.doc-1.0"="q7rkw9ny7g93m4xm5jvs17v8x4nwb2p1";
-"chemformula-4.15e"="pikmiqhp7658vggw4pdpip304s00jlf2";
-"chemformula.doc-4.15e"="vfw8hi8y9ysbp0ssaqiiphnlgyrjz5l5";
+"chemformula-4.15h"="lmksnb4kzdxspa4dlzzid4w1izprk7jh";
+"chemformula.doc-4.15h"="1ykwrpbvy6r8h0fl79xrr34mpzvy69k5";
 "chemgreek-1.1"="6yfyrii5xkc1nz5bniqn134rqa2cdv6a";
 "chemgreek.doc-1.1"="x15bq2wwjyplpwpbj8hpz21zhzwjwryk";
-"chemmacros-5.8b"="8993jvwy5blsph2dckvh7g8y6154m33q";
-"chemmacros.doc-5.8b"="hqc6pskqgwdg9c9m83dapqgzz3nbfc05";
-"chemnum-1.2"="nk857am82h2zfh8f5l81sm3xrrg0vawm";
-"chemnum.doc-1.2"="awwrxj67jwai17nvgpgl2lx10n8wm741";
+"chemmacros-5.8f"="fm173p1rcx5isykp7q0hmckmi1rq0f88";
+"chemmacros.doc-5.8f"="abc7v31l9nj6yljy6012dshny4mzwgjm";
+"chemnum-1.2c"="4az4s50lwaray904pnfc9z6i2gqi7a5x";
+"chemnum.doc-1.2c"="wbikxk89zq84klsqq67a5ds50jaf28nx";
 "chemschemex-1.2"="w3v5w049p0g28v8wx70ah804wp3map2v";
 "chemschemex.doc-1.2"="gg19d9gs2fc97f7rh9vs586v6i744a6n";
 "chemschemex.source-1.2"="czw2fh4251yhq1i703zf1nnkd0pjr74x";
@@ -6615,9 +6770,12 @@
 "chemstyle.doc-2.0m"="zv454b37y12fspkcphm6qs0yy7x7768s";
 "chemstyle.source-2.0m"="v52wrccz5gh3pswpfilm4qs48bplws5s";
 "clrscode-1.7"="6w0y1xknbskhhahx05688943y4pqr22s";
-"clrscode.doc-1.7"="m1syqr9a0x2546s5qpslia4ic5zmf961";
-"clrscode3e-2018"="0fz3frh68k47pdn3way6fbpiagyillgk";
-"clrscode3e.doc-2018"="91b116aqyihwlizzw1apmvd8kaaia407";
+"clrscode.doc-1.7"="hwrsnwvcd7yabwdz6qgy52c06hcz65y7";
+"clrscode3e-2019"="0fz3frh68k47pdn3way6fbpiagyillgk";
+"clrscode3e.doc-2019"="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";
 "complexity-0.81a"="id7q2in24z1r6mi47jdh98r7d9gkxdxh";
@@ -6625,11 +6783,11 @@
 "computational-complexity-2.25f"="hs6ja0ghmdhvkm2m5zk4bsyhr0z0z8b0";
 "computational-complexity.doc-2.25f"="nr5kmmq6nd2ppdyy3pygb2fj6ilz9gfr";
 "computational-complexity.source-2.25f"="br0rz33ycmvpsn5fdhvcjlpffhssnw08";
-"concmath-2018"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
-"concmath.doc-2018"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
-"concmath.source-2018"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
-"concrete-2018"="8076kds0h67rl93yygsicgp8hpk6cfz0";
-"concrete.doc-2018"="xddpal4gfl1km582kqvn79q925mixskv";
+"concmath-2019"="7qqfg14ka9d6j0ccb3bswg0jhzg8gvjv";
+"concmath.doc-2019"="rw4q8bbj0jyv9fs9vvxv9iksi39mrjm3";
+"concmath.source-2019"="h0akd4lxynf1anylxfv0dibvpkkgb0f0";
+"concrete-2019"="8076kds0h67rl93yygsicgp8hpk6cfz0";
+"concrete.doc-2019"="xddpal4gfl1km582kqvn79q925mixskv";
 "conteq-0.1.1"="r5vmidbf2afm771ijgph43qc66safd3r";
 "conteq.doc-0.1.1"="6ki2nz31r0b86kd2p9w9a5ph8g5dnj8f";
 "conteq.source-0.1.1"="6sd4m9i6zv68gr0b8r80r477qcj6cbpx";
@@ -6645,8 +6803,10 @@
 "delimset-1.1"="ag5z8f5h7gf5c824v8rj2xxfz6fbm3lz";
 "delimset.doc-1.1"="40vxv4mmpij621v80ly8mb4rz71r98n8";
 "delimset.source-1.1"="r4j60mdx3nivydxja9mnacqh1s071l93";
-"diffcoeff-3"="m96j385mc26mlfgin4j78zkyxq6rn3mn";
-"diffcoeff.doc-3"="7kfj6h2fsf2as9mmk8lx8am7lfpmdpbd";
+"derivative-0.95b"="ilpzmy1qspsfmryc2vnag2w2lqhpnwan";
+"derivative.doc-0.95b"="b2lm5h2lqsmrbwql4qyqcni65i0vg25f";
+"diffcoeff-3.1"="x9987adk154mqdz3lil1qa86nsls4ns3";
+"diffcoeff.doc-3.1"="n46rn91dvm23pqmagng4v65n2b52d76a";
 "digiconfigs-0.5"="r2ph2xkdaslj50qk54n7a1xx37n8pq19";
 "digiconfigs.doc-0.5"="vignfzc0zrhrx0jgybwmfcgyfcgaqhim";
 "dijkstra-0.11"="25p95xl60c29w1b8z1ggvys4fs3szv9q";
@@ -6654,8 +6814,8 @@
 "drawmatrix-1.5.0"="pl0mscrd3i4h9m8zq947ajh45apms3fj";
 "drawmatrix.doc-1.5.0"="qxljjk2vh5cc7l9xxn6kicknw2csdk4p";
 "drawmatrix.source-1.5.0"="89lglkdc257iwip9aiwnshzqwhvcqz5b";
-"drawstack-2018"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
-"drawstack.doc-2018"="plmy162h6z23pzimj4i5wjpih0m21z3p";
+"drawstack-2019"="kdcvc0kd9lm3zxd2zszwriab31p26wrv";
+"drawstack.doc-2019"="plmy162h6z23pzimj4i5wjpih0m21z3p";
 "dyntree-1.0"="820wp3d1dcdm5vxihmk93wqc8qw4rqf4";
 "dyntree.doc-1.0"="j334vdgmzrhlv3x0ihzpa9j2rbbd9xhz";
 "dyntree.source-1.0"="ha5c29s0f6j3r5f3b2v7v7bgxaks28b2";
@@ -6671,8 +6831,8 @@
 "endiagram.doc-0.1d"="7nqf9zgjslck0853xy6r6i938k9pd76z";
 "engtlc-3.2"="dc257zhqmzl7yymbv9prpiam1mvznhnm";
 "engtlc.doc-3.2"="d6mmmsi3kr2dlz2g6iwynabjlw1jyp46";
-"eqexpl-1"="1p8n87m7mq45wdb5blmyvm0yb4msm1am";
-"eqexpl.doc-1"="wvbjd9picj57q78053hz3z7dk68jqc4q";
+"eqexpl-1.1"="caz1prans93309xrm4dfhrl5whfj75jz";
+"eqexpl.doc-1.1"="vfkwis39yxrvvwd3nxbknpi4jh4lvqa8";
 "eqnarray-1.3"="iprdk3kp9cbmi01r29rmnjrfzifhiw5m";
 "eqnarray.doc-1.3"="v7l4q95sjrh3kd92xgbqazd7dgq8kaq4";
 "eqnarray.source-1.3"="bwkjz77mw47z33bwbgsx81wbw9i4n2n5";
@@ -6694,9 +6854,9 @@
 "fouridx-2.00"="lxj3924da4bfn7605g2akgd3ccynizqc";
 "fouridx.doc-2.00"="ic4hkzvwc05qm91h90cx645gpskcm8f4";
 "fouridx.source-2.00"="zgb2xfg0wl5ld4b5v8rn72mxmfy3qy38";
-"functan-2018"="68wga1s4yiamylxfjma76hirgk867yym";
-"functan.doc-2018"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
-"functan.source-2018"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
+"functan-2019"="68wga1s4yiamylxfjma76hirgk867yym";
+"functan.doc-2019"="h6jwmv7wp2a8whhi34r62xvi1qll0vb7";
+"functan.source-2019"="rk42vz9n59n31xx5my1ahlnxmagzap7a";
 "galois-1.5"="b8khw120ihwg30l5wiyrpigb0n76j4pg";
 "galois.doc-1.5"="pl6jyfxfim7igp5lhhsdghiz6awrsf42";
 "galois.source-1.5"="pf7dxm40jcipslw88sqascls74wnvhyn";
@@ -6704,16 +6864,18 @@
 "gastex.doc-2.8"="y3ybpis1prha863r0486c1wr24wfy0y8";
 "gene-logic-1.4"="w7b16bvypbh9l3kiwbgha3dyh4dlqpq4";
 "gene-logic.doc-1.4"="nzraabszgvj8b0j503f7h892grbqjjrp";
-"ghsystem-4.8"="1ka9bn3qfxa1cq1f486n4gn596315gd2";
-"ghsystem.doc-4.8"="75554yiry6a6riz7m9mwpbzq801a0bl4";
+"ghsystem-4.8a"="jsdc3b1x3hicf5w2kd4qi1q7chgam7ic";
+"ghsystem.doc-4.8a"="5ydr6q8ib2y9dbf9ms0pdf8r2i6cfvad";
+"glosmathtools-0.5.1"="k54clj6x7h0zz6b5r6q3v49vld7fqsv8";
+"glosmathtools.doc-0.5.1"="fdyfp8145xg7fc5j377bhk5p2nbc1h89";
 "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-2018"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
-"gu.doc-2018"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
+"gu-2019"="4m173j1ac2aiji1xjpxccd5bnasv68hd";
+"gu.doc-2019"="vkm8qnzqcdqh4xv4axh9sfy65bx2jji2";
 "hep-1.0"="f70qsf585a6rw0lzizd5ps7lcv2qqsl9";
 "hep.doc-1.0"="aqaxn42inmw854cm1qps4fkcijc11fm8";
 "hepnames-2.0"="3f4dycnxwd41da8gh67gs89xcb3l7zl7";
@@ -6726,8 +6888,8 @@
 "hepunits.doc-1.1.1"="x8d9hwb5z12ng0ndny3b9vgja741bg9z";
 "includernw-0.1.0"="wdc8hhcr4fciy57k7sg28rkli26ybbq7";
 "includernw.doc-0.1.0"="xl68qyik71z5mhzvv2wzh8k6shk4mzbd";
-"interval-0.3"="kvyvv28dqv49nxdspbhayc8bbvigs6n3";
-"interval.doc-0.3"="iq5iw643gmd90xmzq9mkmkzf4ws2yxqn";
+"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";
@@ -6735,8 +6897,8 @@
 "isomath.doc-0.6.1"="nhpi08b738hs457jqv7139b44z35xy5j";
 "jkmath-0.1"="l4nykjpkg2p19fdvy4a6h32ik4hcimdq";
 "jkmath.doc-0.1"="79bfybh585f88gcyc82b3ds7nx92jng6";
-"karnaugh-2018"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
-"karnaugh.doc-2018"="85z4avy6yfziaqd7b4w077ys394a3y4z";
+"karnaugh-2019"="8s95y2qxd4i5g5q1x0a7h8iwsci6dls2";
+"karnaugh.doc-2019"="85z4avy6yfziaqd7b4w077ys394a3y4z";
 "karnaugh-map-1.1"="mryi5vdfqia142b35n97pwzvh267y6bh";
 "karnaugh-map.doc-1.1"="3zmcy9jclc8q01d3jz642w6j96ksrpx7";
 "karnaugh-map.source-1.1"="8zpvpcrxb35311nynqsxdpz4iqjai964";
@@ -6746,19 +6908,22 @@
 "kvmap-0.3.1"="d71q1ji0yh69xkjbl99ssha9jk62l1id";
 "kvmap.doc-0.3.1"="6l4vg5g8zj833grmj03f8blmm2gz6q09";
 "kvmap.source-0.3.1"="m4nhvphc9fm2ivnr17byhp14acz4gdgl";
-"logicproof-2018"="24sbq01252ij7ldzb8achg4m73fakhas";
-"logicproof.doc-2018"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
-"logicproof.source-2018"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
-"longdivision-1.0"="12d362pdsx3kjb0rbkv1qhnh0gkpp3xz";
-"longdivision.doc-1.0"="qlha7k5qp6rwhcz4c97kv0zighjy2jrl";
-"lpform-2018"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
-"lpform.doc-2018"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
+"logicproof-2019"="24sbq01252ij7ldzb8achg4m73fakhas";
+"logicproof.doc-2019"="ldn1c2fdmnikc8fzklp5vzwkx73d91jc";
+"logicproof.source-2019"="745pxgmypzv7a1vf8gjm6r28khxk0s3k";
+"longdivision-1.1.0"="hcs2sam1adsz8j6a3sb903p3i6g9r2yq";
+"longdivision.doc-1.1.0"="zbdps6zwk4sd7ilspvv2r5504jm0rl6v";
+"lpform-2019"="ga25ijvkw3cvzkag08jj7w8pv8d8mdj2";
+"lpform.doc-2019"="2pq3d2fni3nc4paaijygb6k5plky9wx5";
 "lplfitch-0.9"="wxiv9ihwv4jdmr4ij0kvggbbnhbkh19c";
 "lplfitch.doc-0.9"="lzz01n3w8zq7p9bn7lpb6rp6zkgmmxjs";
 "lplfitch.source-0.9"="4lxhwsf7366gs7dkq9qk4pyphjv13ya7";
-"lstbayes-2018"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
-"lstbayes.doc-2018"="y00fm320wqy608v16idmzc27n8z4q4p0";
-"lstbayes.source-2018"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
+"lstbayes-2019"="7lfk7lrqr07my6v1qqni2rz39j5wwgpm";
+"lstbayes.doc-2019"="y00fm320wqy608v16idmzc27n8z4q4p0";
+"lstbayes.source-2019"="kzi9c2z11zpwb4lgy87vwyi0qjlmbyr3";
+"mathcommand-1.02"="rpn20gwpp62f33x0r1pfk1aha4jlrqv6";
+"mathcommand.doc-1.02"="p04g245ibp3cy6q4s8d15hlpb2w4m1ad";
+"mathcommand.source-1.02"="x4krsszrqh57w2srbp8i283yjp74696i";
 "mathcomp-0.1f"="rjxadz6409wc6g4ffb2jw40rw52rpwml";
 "mathcomp.doc-0.1f"="098xybrmriwyh7dl5vsxxxy4v7nf4bdj";
 "mathcomp.source-0.1f"="m3y8gisljqfy405d7cffqkda0mlz8rkc";
@@ -6773,6 +6938,8 @@
 "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";
@@ -6781,13 +6948,16 @@
 "mgltex-4.2"="99vi0f32fla2hmsabmf0d2d3c93kay29";
 "mgltex.doc-4.2"="m4m59xlcjgnd6pbsjsa36da37b61ydlx";
 "mgltex.source-4.2"="k3yw9bfjgkqha34712n3mplxsaqg6j79";
-"mhchem-2018"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
-"mhchem.doc-2018"="4pw8z3lcy6wgx0lmyb9wwi46zhby3hng";
+"mhchem-2019"="1jdqxhaq185m8lpk48mkdmd5yf0msw43";
+"mhchem.doc-2019"="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.6"="ll7dwvfkg82z544cpqjnb4x015wr1lsd";
+"mismath.doc-1.6"="x3c0lilkwlh6r4s2d96nm3b0mv217bbz";
+"mismath.source-1.6"="bqz0jb26j2ry8zphlpahy27dn6bpl5sg";
 "multiobjective-1.0"="g6fgsq3fzl30yd4hrw2l6v73ldm957gz";
 "multiobjective.doc-1.0"="187syyaknws2i7i84xxzsnl9mj22z731";
 "multiobjective.source-1.0"="qhsg6vg0djg5h279gbs2lbally9vbrj6";
@@ -6795,27 +6965,27 @@
 "mychemistry.doc-1.99b"="immlivqi6jjsf5g4mkkr1nls63hb5nqm";
 "natded-0.1"="q4nx9b58zsmfmpap3h2qs8pr28vap5v0";
 "natded.doc-0.1"="bkhf1ldr1hzsyc06bcp7rld2dbf7p4rk";
-"nath-2018"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
-"nath.doc-2018"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
-"nicematrix-2.1.4"="32yys6vv5ckfi1zz5awb2jc8lsk3lz9r";
-"nicematrix.doc-2.1.4"="i5alc8p3r0x4w6cgyhy1kr4a1crbxb5x";
-"nicematrix.source-2.1.4"="dgqdnq7mjlch74m5yyl34sc0h7vlblnl";
+"nath-2019"="7x3cdih5q3i8dg25h6737vaphmrdxvbp";
+"nath.doc-2019"="ilxg3pmmz0pf1xp6i3g5rfwgvrjprzbg";
+"nicematrix-3.5"="zwxkicravgah5qajr495qgsc8l6hjwps";
+"nicematrix.doc-3.5"="5axjlm44yg4x6cy0jbr5p8lj3xcnz8xi";
+"nicematrix.source-3.5"="1fi36fy741374h8ajjy98476i2xih4dq";
 "nuc-0.1"="4mmxcaippf5kwp6sgcwbcf55m4j415ma";
 "nuc.doc-0.1"="b0pkc17fxlgygmfvr84gq1gf58w95a30";
 "nucleardata-1.1"="b76hnd5fpl3f1hfh8pwgrsnqkadqi2zn";
 "nucleardata.doc-1.1"="vm4jq8b5fs0jx5k2vb8pii7dk548r4vs";
 "nucleardata.source-1.1"="0zzzwn1vrb841l2264mz4cip65va3lha";
-"objectz-2018"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
-"objectz.doc-2018"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
-"objectz.source-2018"="62cr53ff66gqjf6y2i01gr70bblhn18z";
+"objectz-2019"="jxzqzh7y1nihr8m7jrsnbw7jh187031h";
+"objectz.doc-2019"="d8rk9nql7l67xn6hyvwg4x3xxkpb407i";
+"objectz.source-2019"="62cr53ff66gqjf6y2i01gr70bblhn18z";
 "oplotsymbl-1.4"="xzbszdakjgy7svbksd8w1csc7akwbg8p";
 "oplotsymbl.doc-1.4"="g6zpsvgp1kar3i9rmig6g7y60a5mmk0g";
-"ot-tableau-2018"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
-"ot-tableau.doc-2018"="gcfni2sp25f6qswns4bfl585gfi36vy8";
-"oubraces-2018"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
-"oubraces.doc-2018"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
-"perfectcut-2.2"="6hp6k3kq4y44ky1n7xvxp9zs41v0154i";
-"perfectcut.doc-2.2"="ijp8qchgj2vj0ivcvjhi11ckv1iqxq02";
+"ot-tableau-2019"="mdvqwhal8vq8bqxqi73p4fyc6qpaskkn";
+"ot-tableau.doc-2019"="gcfni2sp25f6qswns4bfl585gfi36vy8";
+"oubraces-2019"="sm7cbapl8cv51d41dgc46gjckv3icx3z";
+"oubraces.doc-2019"="yfvkv4vgc6ycvsd2sixyph039nm4gzvl";
+"perfectcut-2.3"="ca48sxakrgh4g53i30xa7n9288r9wr51";
+"perfectcut.doc-2.3"="iry7v9xajbzxyn4bbq0pr7qah8a1iy8n";
 "physics-1.3"="y7b93d3qrc6674j33cy58v5c6fhlg3dy";
 "physics.doc-1.3"="ksf5jd2gfrq4dj2p1x2iwpgik5vb4pl6";
 "pm-isomath-1.0.04"="a768qpbak06xs38g804s8rr4lc9ad4kq";
@@ -6823,17 +6993,22 @@
 "pm-isomath.source-1.0.04"="d2mkfbifgmjm56i9vbrhwkvhyn2pj6bm";
 "polexpr-0.7.4"="1bc4pj1za2mcn97kkby4m5p5md08gm4k";
 "polexpr.doc-0.7.4"="hn2kmfk7gmp53n5r37dlrb2ljrfwpp17";
-"prftree-1.5"="90ydfx91y6rdn1sl1i4sxhf0z3gigm5m";
-"prftree.doc-1.5"="ssg7xvni36l7c69mcvf1ly55zxid9c1s";
-"proba-2018"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
-"proba.doc-2018"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
-"proba.source-2018"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
-"prooftrees-0.6"="f2p9ln64cc1wqimqa47w3hzgpdw054xr";
-"prooftrees.doc-0.6"="0g5fbbd7fh9inwmgq3c6cbk8ws4y19bw";
-"pseudocode-2018"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
-"pseudocode.doc-2018"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
-"pythonhighlight-2018"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
-"pythonhighlight.doc-2018"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
+"prftree-1.5"="jwghbxhmr9lnai4rh4gnrrd5i98vqi1j";
+"prftree.doc-1.5"="7a0lrs2rak9c45ayjfmn8ghx89zab2pg";
+"proba-2019"="k6j2r5kacbcl25i7zwb71a2mlyn17dap";
+"proba.doc-2019"="a30lrji3wrd9rb8aa7hzflch7cwlybdq";
+"proba.source-2019"="7grfmfi6hwyqzhi0aynjq9cl65yqh5id";
+"proof-at-the-end-2019"="w5hmk64hm538mzqal4i9gxzadqpxp30a";
+"proof-at-the-end.doc-2019"="q8jniylvknscicjp5m5pd1z3751b06m7";
+"proof-at-the-end.source-2019"="nk3sbcnk3176zk76yf9nzj05q94ab006";
+"prooftrees-0.7_svn_8641"="rfmxpnzn1lkxx7b9ylvpnwmk1rag2nda";
+"prooftrees.doc-0.7_svn_8641"="zx19hnafp63xl2vas9frf6blm8974b94";
+"pseudo-1.1.2"="c84fsxf6k7a53jsahws62fmnfkmlq7y3";
+"pseudo.doc-1.1.2"="wmnkvbd0cw3zgy825h5k2x8pv7g4hsyv";
+"pseudocode-2019"="bmn68g4pm7wga21yf97mrnmwc588gn6h";
+"pseudocode.doc-2019"="1hm6d3af5zjrpvx9h5ihd6qqyg2384xl";
+"pythonhighlight-2019"="wyvy6ms2blns0nffsf2lzjs4gwivgh97";
+"pythonhighlight.doc-2019"="9g7wy34pzzhdwsaa4rvn41iblnynvxz4";
 "qsharp-0.3.1901.1401"="fq2s3z8j8fy6y3sm07p4rqmxk0zkq6ky";
 "qsharp.doc-0.3.1901.1401"="kh8kj39fd45k25zli0w26kl2j0fvvxiv";
 "qsharp.source-0.3.1901.1401"="fz446cncrzdyjyxi0zvxnr9aizanr8v0";
@@ -6871,24 +7046,24 @@
 "simplewick-1.2a"="hfv61gj0g68m17iiimvp1zqzi7ri2z67";
 "simplewick.doc-1.2a"="kxfipc2w97479is7sdd9fmahrbwfk2l7";
 "simplewick.source-1.2a"="48db2ywp9dg6nd5xbclw2w85id3mf97r";
-"siunitx-2.7s"="s7wn6sk9mzgk192avn2vsv7hhqjsplj9";
-"siunitx.doc-2.7s"="84gfibh266cf463b0xzwaigfb0v7gl78";
-"siunitx.source-2.7s"="311lawimcw2jfn4nl26mx10brxid96j9";
-"skmath-0.5"="0dfphlmm827v5pn92h7c99i8mcdy23yv";
-"skmath.doc-0.5"="czkik5jklsqkjaswhx9b3y36i9payg5j";
-"skmath.source-0.5"="f4i2lr6v82i92s6dw5jhzh6pn6ac5dh4";
-"spalign-2018"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
-"spalign.doc-2018"="s49kpxsa940l85yc6wzmb71i789874qw";
-"spalign.source-2018"="ahwv44vd19kn8vzbx7ya6275ysnp3q25";
+"siunitx-2.7t"="fd73bsz8nnv9b6zb1q4aqbw6f1qsnqrh";
+"siunitx.doc-2.7t"="98zp3wpjzjsd5vz8370267kxjqq9a372";
+"siunitx.source-2.7t"="50k08510bwm05ag510i76wfxcd5yhnbs";
+"skmath-0.5a"="b9bxkvgrx8566jfqh62vxl9912llffqv";
+"skmath.doc-0.5a"="kpdr4vz3z7k8my710n5772vkbd7jwisb";
+"skmath.source-0.5a"="iks3azv4hmv59laiywdsqjqdsln0a1kc";
+"spalign-2019"="if8r1d1xwq1as1147m3ixkxgyni8yb9q";
+"spalign.doc-2019"="s49kpxsa940l85yc6wzmb71i789874qw";
+"spalign.source-2019"="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.0"="384198ff1qvjya61wj6lgc28s39wwc5y";
-"statistics.doc-2.0"="id2796f8rd5li616p354hbn7l96r2dj1";
-"statistics.source-2.0"="z8i5axapmf586qndlpl83bdwc7l5zfcv";
+"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";
@@ -6906,8 +7081,10 @@
 "substances.doc-0.2a"="apg59a7fh980vddnfzjspsyq1jfnvsn7";
 "subsupscripts-1.0"="1nyf4q1szg0q649jmqlzd5p8j9h1fjkh";
 "subsupscripts.doc-1.0"="9yhhgbj7i83v21flfr3gkr35vkdxpx6m";
-"susy-2018"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
-"susy.doc-2018"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
+"subtext-1.1"="dz6mm9cy33qhlw46fkirvzlqhsknjnak";
+"subtext.doc-1.1"="bllr8v8mflvi6ih3z3r73b5y6vmprafl";
+"susy-2019"="xiv8s7m8lahyc17qdp7vhdnriqcz2gzl";
+"susy.doc-2019"="51apv9rzw9q1aa390a7p6w0d4y5amkms";
 "syllogism-1.2"="gx6hjs32rq3d1sk28cs8ng8m2i1xwgrf";
 "syllogism.doc-1.2"="m6nv4hcwmh5qa7m411vwm8c6s1xbdbx4";
 "sympytexpackage-0.3"="x7b456c7l5nkwaf19g29rpc4m6qz27h2";
@@ -6915,24 +7092,26 @@
 "sympytexpackage.source-0.3"="lzsz5ly9rnzph5nxnaqbf9nf5abm302c";
 "synproof-1.0"="bv32jflr6n3jdm93xxpbvhz1lrhc3i9v";
 "synproof.doc-1.0"="i74i5km7n20hglq2icb62xcc2pl1fawc";
-"t-angles-2018"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
-"t-angles.doc-2018"="68ylwxvywabhyfqzlb7d642cmhdj3g2j";
+"t-angles-2019"="an3w3nw07gc6hyzfjk4bd0j4swj8qr4p";
+"t-angles.doc-2019"="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-2018"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
-"tex-ewd.doc-2018"="npk74dnjx7jy9392pz0m4fzxcxqqsqq5";
+"tex-ewd-2019"="725h0x4azacxb6pi7bnrvb5gb2b6rb8l";
+"tex-ewd.doc-2019"="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-2018"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
-"thmbox.doc-2018"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
-"thmbox.source-2018"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
+"thmbox-2019"="5b8zyq68dw8c7cylg28k9bmx261k8d5p";
+"thmbox.doc-2019"="rpd99zkmrb85kgldsyi2iwr70q9n8y35";
+"thmbox.source-2019"="hnjviz4vyw78mg6lbcdyv88qajhjdh6w";
 "turnstile-1.0"="c4nm39zwakha4bk75092371db2n0nx4m";
 "turnstile.doc-1.0"="w2hv466gzdsc7vp0al5xk7bwa83szvr2";
 "turnstile.source-1.0"="8p5g2w1pcaxhg2a54rq2h23zd7cbj60h";
@@ -6942,11 +7121,11 @@
 "unitsdef-0.2"="j5dhzwnaizymvvj0cvvn8hcjgpiaw3xj";
 "unitsdef.doc-0.2"="m3n8c9wpk9m0il8yn3ip4kwvlbyzfndw";
 "unitsdef.source-0.2"="rpwd7p723jsqcmcl28kkfg3fg9dmyfxa";
-"venn-2018"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
-"venn.doc-2018"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
-"witharrows-1.15"="mrhixqq8qr6yjszjq9435wlybp9fapl1";
-"witharrows.doc-1.15"="pp7adr6dkl9w865rp5lssrsnl8xf7w9n";
-"witharrows.source-1.15"="b5p9qhq348hynyiw0wky36p286xx52sp";
+"venn-2019"="vxgbc1jmchjsq3aq1wklgla50p1smqnz";
+"venn.doc-2019"="3z1kgbyilhajm6przv2a1rbdl55fzhqj";
+"witharrows-2.0"="2pd1kgflbhjcdy8n61a7dn90g8092llw";
+"witharrows.doc-2.0"="3ddq9k76s9jascnv0xklzs312ygn7bsp";
+"witharrows.source-2.0"="c2spayi9ibic8ci7gklmp0b2pcdxxpv5";
 "xymtex-5.06"="lh5pr87m1xhyaj74pmwc8vx3an7gppxw";
 "xymtex.doc-5.06"="bbknma6166kqvxhj3523p85lq7qn1ydc";
 "xymtex.source-5.06"="is60w9mjif26y9s3vv8c0v26z16m97g3";
@@ -6961,10 +7140,10 @@
 "ytableau.source-1.3"="2rblxwykvkrljn1xqz7zw9dz1wyib686";
 "automata-0.3"="7v2smy8hlz3yyqwcw11mjgh35z81n22w";
 "automata.doc-0.3"="49q82z2aa5xqgz3wsgcyix4a9hqfh5q6";
-"bbcard-2018"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
-"bbcard.doc-2018"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
-"blockdraw_mp-2018"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
-"blockdraw_mp.doc-2018"="n0a85bchn27q09771kx4idy7hic8iq42";
+"bbcard-2019"="b26d8663qv8x23sp8q04c8jzdw49f2i5";
+"bbcard.doc-2019"="99jqw22g1xcqdn4q5f408gvlzwnl7wbm";
+"blockdraw_mp-2019"="al2d83amvpz7z19a14zxn4ib8ayc7b9y";
+"blockdraw_mp.doc-2019"="n0a85bchn27q09771kx4idy7hic8iq42";
 "bpolynomial-0.5"="rwijp2lyphgyixi6l1d4j9vrwchr2m8k";
 "bpolynomial.doc-0.5"="1561z658ar885xsbg15psi82qjzc4zbn";
 "cmarrows-0.9"="03hcqmzx16n3y4vvh8aj6vrvpn6minmk";
@@ -6973,9 +7152,9 @@
 "drv.doc-0.97"="3sw31jvb9l0n124h9kq9byzmy3ay1wxd";
 "dviincl-1.00"="gf980a6jm4ar28h7464qx1nayjqvi1xx";
 "dviincl.doc-1.00"="sxmj8rcvwj2q4g3c8ha9a84avsn4w1aq";
-"emp-2018"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
-"emp.doc-2018"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
-"emp.source-2018"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
+"emp-2019"="brxc803kbnrd6qa1jfag6qxgb7f5j39g";
+"emp.doc-2019"="x8lkwbk13jq48h8ml7a0fzlyn4m8qlxl";
+"emp.source-2019"="ir1ng5an1jbffb2pd5rv412dcfzv84r1";
 "epsincl-0.2"="srznlzss5ag3br4pmwny7aqq7gjmqv98";
 "epsincl.doc-0.2"="993m24spzl4jymn69sczm7a8d1ix0zcc";
 "expressg-1.5"="yd8jja79lbjibls84q1r2iqls9hgfp3d";
@@ -6991,23 +7170,25 @@
 "feynmp-auto-1.1"="ps9nijgd6kcnsgvg3gq9gn53mf42xdwk";
 "feynmp-auto.doc-1.1"="a1i2ay1mvkpdicyzmcapvpv3fkz6pk3c";
 "feynmp-auto.source-1.1"="2iirzys42l2k5fmpjxxsn31wpfzv02d8";
-"garrigues-2018"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
-"garrigues.doc-2018"="zk53ay759rgd40fmf7byqpqmibw7rrza";
+"fiziko-0.1.3"="v4nq87d4dahjnskkgvgjf1sh65m9gvkl";
+"fiziko.doc-0.1.3"="djw7v20xazg82gkrh6wxw05vmih1d2jg";
+"garrigues-2019"="b6kfrr0zhmbnb1rh93wy5pxq31kspbmf";
+"garrigues.doc-2019"="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.36"="7rm9mprsci1rq97780sv4aj48lxmdsqy";
-"mcf2graph.doc-4.36"="n85x8m5wbx4zhzwwb941xjmycm7b4v5f";
+"mcf2graph-4.45"="v44h4p3gc11sj4cmzpyy0frfmp79pfld";
+"mcf2graph.doc-4.45"="63nlb7vhm682gdwimvhl2ipbs4x828gy";
 "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-2018"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
-"metapost-colorbrewer.doc-2018"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
+"metapost-colorbrewer-2019"="09l2rf2kja80lsajz4vfp9ngb3z442m7";
+"metapost-colorbrewer.doc-2019"="y3vivxgdjykacm90arls8hhk6k8rkv6n";
 "metauml-0.2.6"="15p3yrkws6by8w8wmrnnxij1kp71sbvq";
 "metauml.doc-0.2.6"="mcgmrgsh7x21ci4n8d0yqy9clx7jp1ls";
 "mfpic-1.10"="lslzdy39sbfb1xa5rv3j0whpg1c8vkj6";
@@ -7020,8 +7201,8 @@
 "mp3d.doc-1.34"="gkjwsbz7sgdj5k6vzvswb4k4yb8xkhld";
 "mparrows-0.1"="d1v4j0hrr4cxm42vwlclvccp1wmvbbyh";
 "mparrows.doc-0.1"="jcf975s8ianx9dmiqa9lvv9ywj62rmap";
-"mpattern-2018"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
-"mpattern.doc-2018"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
+"mpattern-2019"="9ym77kwd2kgw46lck4vbfrbbiwps8g6x";
+"mpattern.doc-2019"="vknyl0b4d4sx2c6l7qhwr4rdmx0ncpja";
 "mpcolornames-0.20"="j7qagfiggfwjqapdrh1z23n0paj54bgc";
 "mpcolornames.doc-0.20"="jd5ai6f2ask0pbhrw46bdw8cfsrfpmps";
 "mpcolornames.source-0.20"="1f0wy1lrg0733vnq5mjwcgdi5rnprbis";
@@ -7032,10 +7213,10 @@
 "mptrees.doc-17.06"="50ggxw3jc63clpnz0fnxv2p2h4cgwjhl";
 "piechartmp-0.3.0"="k15blq7m78skmi2q46gnazh4qhpfhggs";
 "piechartmp.doc-0.3.0"="xcn16bgnyi4h8pqaisjivmywg234shgm";
-"repere-17.11.2"="b3xk63619ck4b1j6c1kwinm7ih0h1il4";
-"repere.doc-17.11.2"="r4hyv0myqbh20gssm6bzlrlqrhxgjby2";
-"roex-2018"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
-"roex.source-2018"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
+"repere-19.06"="4lbpfqmnvdw93pmabf34bpj69ww2jd4z";
+"repere.doc-19.06"="fjwv88ysck07zlpclf1fyjs4jyzm4mhx";
+"roex-2019"="3dp1ank88mbkx9zd4gl8v6nxa7hjvck6";
+"roex.source-2019"="fbyyci2hg9bvdbxxv09q9h37q98gzzxb";
 "roundrect-2.2"="zihpsds4r0v44h4bbmmpjgx28y3knqc8";
 "roundrect.doc-2.2"="g6kih4vjqjg4v4qxlxkkxgwhqv0x0pdx";
 "roundrect.source-2.2"="rdydd5cwvnbzjlhdd4kcfjq54rzw9k81";
@@ -7047,8 +7228,8 @@
 "splines-0.2"="bn6gc1n3vbzrns1pzdjc4hf647g6pgj5";
 "splines.doc-0.2"="91g13liz4sfn16vzcvlpqhm388wwvs02";
 "splines.source-0.2"="p527173paps7gqz8wq02jkl6nbx8vw6z";
-"suanpan-2018"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
-"suanpan.doc-2018"="lvbx0yizc42hgqymw9yscja667h4mz1a";
+"suanpan-2019"="vnglmgbg19g42b79q34fzqr4hjzy7dmc";
+"suanpan.doc-2019"="lvbx0yizc42hgqymw9yscja667h4mz1a";
 "textpath-1.6"="97b12i6v4bz6095z7i7yjf7c3fqg232d";
 "textpath.doc-1.6"="zliwrx3n2r3xjhdi0c80rncxwk5whg76";
 "threeddice-1.0"="91chpiy1n4mg3vcabcm8li91q9lnkcvc";
@@ -7056,17 +7237,21 @@
 "abc-2.0b"="pmaw58frrdbnj81n21mg15yiz7sp0rci";
 "abc.doc-2.0b"="gild9nm8zph2kr6mj9w0sans8r1jz114";
 "abc.source-2.0b"="g8a921yi51lvw6mqj1hxmkwqqh9fkl03";
-"autosp.doc-2018"="pcdx1krysbff0127nzvfndqcc0p2liam";
+"autosp.doc-2019"="3pp981hsw8czivz0sv8bf5cak4008y4b";
 "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-5.1.1"="qg9nr7v2nmiwq65qvlllxnh86swacsxf";
-"gregoriotex.doc-5.1.1"="94i10450xscqck6plvwwl4y4mz58kiw9";
+"gregoriotex-5.2.1"="vpmnsb5zdh11g4v784plxrd91v919vnf";
+"gregoriotex.doc-5.2.1"="qpax5iwm8zxkh9z6i0pckdz037aw29yn";
 "gtrcrd-1.1"="mqaamg8ick2z265cwl1yd6n81f76y8b8";
 "gtrcrd.doc-1.1"="scx1xk6y85zfbn82aqf3cw1sx0prfmgh";
 "guitar-1.6"="xw88497a60kkbh8pribpsi80bj2wdvw2";
@@ -7074,33 +7259,33 @@
 "guitar.source-1.6"="7i8ma18fm6piiwsccj8lq6nn446mvqrw";
 "guitarchordschemes-0.7"="snccmsq130kvjn2ly56cjck56df5mdzx";
 "guitarchordschemes.doc-0.7"="p74vljfafyj0ap707aydgpf4xs2pabr8";
-"guitartabs-2018"="zl4w2llxyb1173b4asgk93bh70rxil42";
-"guitartabs.doc-2018"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
-"harmony-2018"="isfyzam48q2f90vyh78rp5df93wzdfq4";
-"harmony.doc-2018"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
+"guitartabs-2019"="zl4w2llxyb1173b4asgk93bh70rxil42";
+"guitartabs.doc-2019"="a9rmk3gr37pp0p4fbfasndjglbbwsgck";
+"harmony-2019"="isfyzam48q2f90vyh78rp5df93wzdfq4";
+"harmony.doc-2019"="5zy2cf5afrxlmmxlsycqg3crcl5irkb1";
 "latex4musicians.doc-1.0.1"="aph09gf5cfxm7prwbg5v9y3jz03vpdif";
-"leadsheets-0.5b"="j73sldpahwci9i8yc04dpwn9l4jcvbn2";
-"leadsheets.doc-0.5b"="6wvwwqq7zsb3mkjw24yhz87g8agnafil";
+"leadsheets-0.6"="371j5dnksvxxm6hz1cia15ll3w2mx17p";
+"leadsheets.doc-0.6"="7nbq4zi22pgsidfknddw8a5iqnfsxhnz";
 "lilyglyphs-0.2.3"="qn7pjnhq8aaynk7s8mis9g0y0m16fbnh";
 "lilyglyphs.doc-0.2.3"="89k4bzc0jy0yx59y8ssiqvjgqspsfyry";
 "lilyglyphs.source-0.2.3"="30yzqq1pw4mh74c87xxk12n834vpq8m6";
-"lyluatex-1.0b"="pmh6ggpa31bg09j8xs1ihfx42mcbaihh";
-"lyluatex.doc-1.0b"="5skl26gg3ypzlccyi84yccmw2a2wnb0h";
+"lyluatex-1.0f"="zgh2b7q3w9p0dic23cwddhhx5cqsdqm7";
+"lyluatex.doc-1.0f"="c8739z6r5mpk001ra6if93kfw799rphi";
 "m-tx-0.63c"="jjs536dwc3qbi72s4d7qr8v3b0rxd41g";
-"m-tx.doc-0.63c"="sz59kis6m6nxzirhkhwdsnyqqws9z0ck";
-"musicography-2018"="hlsnh2b22rxk1i9vq5la2igc4jmvp9b3";
-"musicography.doc-2018"="6b2pfy92ib43gmrcf4bzr02s2qq3yn2j";
+"m-tx.doc-0.63c"="74xm6cv0ja6h6qcgv1v7mkak90l5qsxh";
+"musicography-2019"="rgdiagjsc1b03pp5056lsgz1ad74ngfw";
+"musicography.doc-2019"="rnpwpnrjlqcyrmnpkfj497752f2bdfdn";
 "musixguit-1.2.2"="29kbldyqlcf8xs5yh5gsx0m7liwbnqg1";
 "musixguit.doc-1.2.2"="pam1limbbmc1jvhznsvrwslmlr86y7vf";
 "musixtex-1.29"="si9nrmj1g186af47kyfsrv41h3p3irsf";
 "musixtex.doc-1.29"="ls2sq1mynqa6a8z3dxjblla277ml7wr2";
 "musixtex.source-1.29"="kb90c2jhgmx77d12x4rg6yivpiq5rxq1";
-"musixtex-fonts-2018"="a8kdi135xis6qcwy90yisg4wafklmw2y";
-"musixtex-fonts.doc-2018"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
-"musixtnt-2018"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
-"musixtnt.doc-2018"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
-"octave-2018"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
-"octave.doc-2018"="152jq3brzf99xwq983k2afrdlq5lhazb";
+"musixtex-fonts-2019"="a8kdi135xis6qcwy90yisg4wafklmw2y";
+"musixtex-fonts.doc-2019"="91fl3b700pvjqkwsl6h29f0z5i5781s3";
+"musixtnt-2019"="6412y8lh8awml9xs7ybcnhkgyjrc08vx";
+"musixtnt.doc-2019"="44c1fndj5grvw5q4jxyk0dgqxr56lzvd";
+"octave-2019"="6yb1bajc26k0pbr0a02zx2zqg7y0rnj8";
+"octave.doc-2019"="152jq3brzf99xwq983k2afrdlq5lhazb";
 "piano-1.0"="vbbcddqx5sk4gg9w1882g4a8lrnnqn2d";
 "piano.doc-1.0"="bn1c29lffw62jsyiygh3i0biaaz0asmv";
 "pmx-2.84"="hamhslbh8fhjjvzvksg0c9xkjwv4kajw";
@@ -7110,27 +7295,27 @@
 "songbook-4.5"="jimhdkxsiqzkwnsjsw1rynkrfhhh5n0d";
 "songbook.doc-4.5"="62n794w3gxyivisl16xrz9lg2r0a0s38";
 "songbook.source-4.5"="nyn7mkdylkpywca50izj2czf485s8sm5";
-"songs-3.0"="sdy6ynmyz3w3y0ss1yiaindzmwpadqwi";
-"songs.doc-3.0"="zpkiq08d6igq9wvg4qhl02b7mk5zfj6y";
-"songs.source-3.0"="0lab84qhskdc7fvf8my7g3lcs9ikblh1";
+"songs-3.1"="1air4zpymnrajglbvp8yyfd3z4a72d8g";
+"songs.doc-3.1"="xcfy7all4n141r55c17gsnxj8x40dlqx";
+"songs.source-3.1"="2wx7qd5hzairbrb0qcs6mnkk10l81jh3";
 "xpiano-1.0"="ha9dpa3kpmhbzy3f16d7s6mlvh563mgj";
 "xpiano.doc-1.0"="x579hyy5sibzsn9ldrkwsqrjjrji0xak";
 "xpiano.source-1.0"="77wwb6wxd7c9cqmjlq9cij6p4ibr3r3r";
-"abbr-2018"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
-"abbr.doc-2018"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
-"abstyles-2018"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
-"abstyles.doc-2018"="xba8x95rimsa16xhr7nziglk7djzv6w8";
+"abbr-2019"="n55llxl7fjmx6p1z3ckjfj94dxkg1n0v";
+"abbr.doc-2019"="9lgcwpp4fw2zjx2rsp9w5szi6v2pdsn4";
+"abstyles-2019"="2zmzwsgwh4rv6ysnjjk35cihbifs0jir";
+"abstyles.doc-2019"="xba8x95rimsa16xhr7nziglk7djzv6w8";
 "apnum-1.7"="hvw4fwjm3n7hfj08ik7nkg5w51zg9mbx";
 "apnum.doc-1.7"="isai4pdly4pkhhjnh3afijlrm9mw2i0q";
 "autoaligne-1.4"="lvfsylaqq4sxi02bv9v6z1sy8gayb570";
 "autoaligne.doc-1.4"="7rzi51xaglby24ihmzplk6d0yk2x1wlb";
-"barr-2018"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
-"barr.doc-2018"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
+"barr-2019"="rsgsgzki68jgx8d4r05qj1awvi02rm33";
+"barr.doc-2019"="jfhxfjazvlpcvrl6zjd1sw2ghmcsscmr";
 "bitelist-0.1"="22q3ivacwl5p0c8plgg1gjz8413l601b";
 "bitelist.doc-0.1"="n00mlj88l6djwcxzj0l6pxiiba94kpl3";
 "bitelist.source-0.1"="w38ccrprx1rn0pc34mr29bnx7gaxa7k8";
-"borceux-2018"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
-"borceux.doc-2018"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
+"borceux-2019"="ls6xjxrggjzphr4pl71m2va9mndh1r7v";
+"borceux.doc-2019"="zdg5n9rxc2sfkyi1am8jka05avi7hyng";
 "c-pascal-1.2"="m4x5kfq1vm6vzv0ic910fqi1qijn7g34";
 "c-pascal.doc-1.2"="v6wqph0gaibfv4cwph5w0axp5sf70m6w";
 "catcodes-r0.2"="haljpnhhzvyhmnda9vgk77md5zm88773";
@@ -7138,45 +7323,45 @@
 "catcodes.source-r0.2"="6ljn2lwg4bzr9c02d01vh0saja9sz9yf";
 "chronosys-1.2"="qswnnwyghvsbjf3ddvbl7nl00qxwhs6h";
 "chronosys.doc-1.2"="m11jpa7crg095qf03qx7gcrvcb41f83a";
-"colorsep-2018"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
-"cweb-old-2018"="vqf99h9w57jmd9r6l9k8bydqxmm2d9i6";
+"colorsep-2019"="il1sig8hzmvq8q0hlbh6fir15rrl5zc7";
+"cweb-old-2019"="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-2018"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
-"docbytex.doc-2018"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
+"docbytex-2019"="m4jkx2gf05q3ffwfkrk4x9bcwf9f3dmw";
+"docbytex.doc-2019"="01w9mkddxm1l9i12i5n5i5ar81xfn9b5";
 "dowith-r0.32"="vdgkjxphpmycfcsimxih7gnhv58hd9vs";
 "dowith.doc-r0.32"="ql8hdyxcgss7rvlp1913rp52wn4wjvxn";
 "dowith.source-r0.32"="xq0r5c58clz8qzbhz01gv2ph1rs9wg1n";
-"eijkhout-2018"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
+"eijkhout-2019"="hdb3ag2knc67ksx39hmax8x83l0d41kl";
 "encxvlna-1.1"="kz3nvz29czk573cxbi5a5l3mbjs3vfkh";
 "encxvlna.doc-1.1"="gv5k36s89g2zslq75s2j7ffvwdiz4lkb";
-"epigram-2018"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
+"epigram-2019"="0mg36ybg934n4jxgpf88lnvvc0za59ya";
 "epsf-2.7.4"="55vrh3nmvb5p1nkkpwhrq9glsf64bc3k";
 "epsf.doc-2.7.4"="b78n5gm14qk3brywpz4prglkqnpx9fpg";
 "epsf-dvipdfmx-2014"="qvf8n367wnjahzv8bgh7rmqqgnwraa0p";
 "epsf-dvipdfmx.doc-2014"="b290mp5xqfqzzxa92s9j798qyycaph9a";
 "fenixpar-0.92"="61jkr83g6i0bqmp0qg4w09gj7gwcdn96";
 "fenixpar.doc-0.92"="95h02nbzq72mmblzawgqsk8530wi1dpb";
-"figflow-2018"="166qngk7yy25v0rbjavi53m0sazk90gn";
-"figflow.doc-2018"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
-"fixpdfmag-2018"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
+"figflow-2019"="166qngk7yy25v0rbjavi53m0sazk90gn";
+"figflow.doc-2019"="l92iyzsg4fwkc3nalswwpnz99kfcm1q9";
+"fixpdfmag-2019"="8djdk0baqcg84v6qrmdzckq7k97h4nkv";
 "fltpoint-1.1b"="q48n0d38d8y8m4z6lgmfza4gh1mrzkjn";
 "fltpoint.doc-1.1b"="6ljc5c3g53ig6yj7blcfqy43yvlw5fqf";
 "fltpoint.source-1.1b"="l5ybd1xn6abfhq5kjhvig8zsp721ldzg";
-"fntproof-2018"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
-"fntproof.doc-2018"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
+"fntproof-2019"="bkh1b1j8zlbzmhpif5ji82gwmvg0aprj";
+"fntproof.doc-2019"="hhhxpfkwqpdj0wz78pzg4nbfyzh3j82f";
 "font-change-2015.2"="rvxfsxkwag1pzhh448n737b6ngadrlyg";
 "font-change.doc-2015.2"="14ck6s61lx6gyqmf6i9659lvwd3zh6hs";
 "fontch-2.2"="0h81qy37h3jb2m6g18969189a1jbi73a";
 "fontch.doc-2.2"="csygimfjbm36zfm403jz4kw39zv23zzb";
-"fontname-2018"="p97hi0yx6kka7s80j9cazhpxvhfnf8v2";
-"fontname.doc-2018"="vg79z64v459vl42ba50sar4dhafwr1f0";
+"fontname-2019"="p97hi0yx6kka7s80j9cazhpxvhfnf8v2";
+"fontname.doc-2019"="vg79z64v459vl42ba50sar4dhafwr1f0";
 "gates-0.2"="awaxppd6dhv239x03vpwy2hn2zwldmna";
 "gates.doc-0.2"="qqmjk1276kdv0rvsv86gi7ysl3warg95";
-"genmisc-2018"="wyk31w93k04bqfqik1ad1q7bx88m6v4b";
+"genmisc-2019"="wyk31w93k04bqfqik1ad1q7bx88m6v4b";
 "getoptk-1.0"="2crphpdvd2wcnqrxm180im84ask9hcq3";
 "getoptk.doc-1.0"="vcj36dsv4y0k8czii5fb5b51c57c7rsd";
 "gfnotation-2.9"="3gkmqmawpzqvqsqcmrfc50261mqv8nmm";
@@ -7184,8 +7369,8 @@
 "gobble-0.2"="r1knqlpg1ndgkvkmi038jy9g450qm2k4";
 "gobble.doc-0.2"="kpgjg6n4p17fvw93qyih0xslid4x7w66";
 "gobble.source-0.2"="i8dh8xayn1a2lsslnr8wygj0qr168wpx";
-"graphics-pln-2018"="xgwh2sl1l9ckm86ng0pkk49iiajvpvkz";
-"graphics-pln.doc-2018"="0f496bqsp8ar70sw10kkspqpwldwabj6";
+"graphics-pln-2019"="xgwh2sl1l9ckm86ng0pkk49iiajvpvkz";
+"graphics-pln.doc-2019"="0f496bqsp8ar70sw10kkspqpwldwabj6";
 "gtl-0.5"="bypkgzwx7y2srhdxv94a9zvbyxkbwgqh";
 "gtl.doc-0.5"="777isinskwws7m2b47a0w26w9dsp01qd";
 "gtl.source-0.5"="di1lh2gf5xc3wk34q247zvgvgnmnwdh4";
@@ -7198,26 +7383,26 @@
 "ifetex.source-1.2a"="17yyam712knw6h46kd7q44gzkbbg9r5p";
 "insbox-2.2"="n1wbssqq7h2g00jmvy1g9cx2pb8lp8n3";
 "insbox.doc-2.2"="i5c06kh17g5ghsjivlxsipgkd0ab05x9";
-"js-misc-2018"="shwn2dwi83plybk71sjp3i1drw7xxd18";
-"js-misc.doc-2018"="ppwwslknxds8l1spalpgj950n9amsinz";
-"lambda-lists-2018"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
-"lambda-lists.doc-2018"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
+"js-misc-2019"="shwn2dwi83plybk71sjp3i1drw7xxd18";
+"js-misc.doc-2019"="ppwwslknxds8l1spalpgj950n9amsinz";
+"lambda-lists-2019"="kpvnf57b1s1whhrrrng7j0zvf0cka90v";
+"lambda-lists.doc-2019"="ai0gzwilj0cm1129pl5nlwc9ddsgpchk";
 "langcode-0.2"="6fwjx029l2nalfz81qfn1k7yp0z7iycb";
 "langcode.doc-0.2"="vq8m73ckjicm53q7v8q5k0rhldq55hkc";
 "langcode.source-0.2"="nk07pqb0mfq3vzpdddhb8w3w85svpbq9";
-"lecturer-2018"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
-"lecturer.doc-2018"="avsvzihsa6jn0abvd4122k358w5sf4y0";
+"lecturer-2019"="4014kfbhxnf4wb9ndfh0qfwbbrvz0wwa";
+"lecturer.doc-2019"="avsvzihsa6jn0abvd4122k358w5sf4y0";
 "librarian-1.0"="5siy7c2xclp1c305vqiayp0n5dzil1gh";
 "librarian.doc-1.0"="8nxz7ac5hdp9820nsfkvhvv0bn55idq2";
-"listofitems-1.6"="lrr7vcc75jia41nnvnjn2pc5mlivqin2";
-"listofitems.doc-1.6"="z25pp91nbfqc6h9vzi09n8dy6daa2yj1";
+"listofitems-1.63"="kjbscx4fcjbfc502w6k03s466y7xnz34";
+"listofitems.doc-1.63"="h85gl0r28ig6fzm0rh972bxfs48ali56";
 "mathdots-0.9"="6avfq6dlhbqw1i3jrjgcdbdzx2a0w5nq";
 "mathdots.doc-0.9"="syy0i8rjssr81sy26xcx43jbripqx9d9";
 "mathdots.source-0.9"="zpl4xjhcq4hs18hqiyljy3lfyx9xbng3";
 "metatex-1.1"="jidirfi30wf0b4aq279lim2pylirmv3r";
 "metatex.doc-1.1"="b0rgim8d9dns88zvf283czk4zgsvvi3b";
-"midnight-2018"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
-"midnight.doc-2018"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
+"midnight-2019"="5zah5lcyxgq6zxdpazqy3lqv7vxl9dcr";
+"midnight.doc-2019"="cl4ff07jfflwqpmbi7d1phc65hvhaif7";
 "mkpattern-1.2"="q3wl8iaijlhsg5qx35f5gcmz6gwj543g";
 "mkpattern.doc-1.2"="8hx2z63klm8dmyiyfg069qy4vf5qzc4f";
 "modulus-1.0"="ia3l2fxzy8dvm42nil9c3c3hgpg65kj7";
@@ -7228,18 +7413,18 @@
 "multido.source-1.42"="qc1473wf17ppqxy11xgz226w4d8zrxk8";
 "navigator-1.1"="0q23aqjf31y78hxmlhx4mf04c95rwdn3";
 "navigator.doc-1.1"="vxgrfimg900qa0ibwpbwcbv63rbaplp3";
-"newsletr-2018"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
-"newsletr.doc-2018"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
-"ofs-2018"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
-"ofs.doc-2018"="8i8acpk75frksj5wshpjpcazbd93whzy";
-"olsak-misc-2018"="vipxn7qlib4hmx4043jgrcp159j1gbjg";
-"olsak-misc.doc-2018"="wd8fi2c7arsvhdy7372gw7vkvpc9mv6f";
+"newsletr-2019"="1hrni43c6y624w9nryc8q8rd4w6jjap3";
+"newsletr.doc-2019"="p8jfq33i8ah2a35a7d1rb0s3dz0nicvd";
+"ofs-2019"="1vqjznrdyjqn6ygq61h8rnwjymkx5kpj";
+"ofs.doc-2019"="8i8acpk75frksj5wshpjpcazbd93whzy";
+"olsak-misc-May_2019"="4ymwq2jcmf4gs1hrdj93sgi2wibicw61";
+"olsak-misc.doc-May_2019"="dxc35x4yc0y4xk6488awgkc5qb32kl6p";
 "path-3.05"="gxlifrd0kfxajy8viylk3wsfkycd96xv";
 "path.doc-3.05"="0pbd67di200vghv2a4bp7vwss7bsbkjv";
 "pdf-trans-2.4"="f2qw1mx9qql6xqsnnwcvqx59baz3gzyl";
 "pdf-trans.doc-2.4"="vbg7kp37w1p727nia0p1imyvxhqgzgna";
-"pitex-2018"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
-"pitex.doc-2018"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
+"pitex-2019"="6hpvvpnw3bp3sa442b33xsphhyx0vk4b";
+"pitex.doc-2019"="b1y9bprx9harpgqmbchh33gwnc8khzsa";
 "placeins-plain-2.0"="b0dxmvbqfwm4cycyqm9ir7dl7dbgq37x";
 "plainpkg-0.4a"="xsvwz9z9f2jirfyzggiv49y0rfmhmnaj";
 "plainpkg.doc-0.4a"="b0c8mi4mr6bjdhrwbcplwjw920l4zmbc";
@@ -7250,15 +7435,15 @@
 "plnfss.doc-1.1"="smry2whkwygg9v4vgf4xfvpnfxc76b93";
 "plstmary-0.5c"="5qs8clnk15735j0r9id1vxyqabskbxcg";
 "plstmary.doc-0.5c"="jp2lgn5yq10g0jj5hihbcl77hpy2ryfr";
-"poormanlog-0.04"="yk2kzwa2sagh1bb7zsj7575kr4467mgn";
-"poormanlog.doc-0.04"="8aqxs37533glk1lhgync5x0x4i4j5br6";
+"poormanlog-0.05"="q3sn08yj1xw45gk0w0na1bca4y6fr8p4";
+"poormanlog.doc-0.05"="30li13ybjpmzh5v9x504061shapvmqq4";
 "present-2.2.1"="nll2w203n4a3ka9dqmsl3bvfz4ypsvdm";
 "present.doc-2.2.1"="m39zcb5c59hd26kz8zcnbljh91hjxjqw";
 "randomlist-1.3"="nfdsmsl3s1wj8p236s3hmwhwfdx289wb";
 "randomlist.doc-1.3"="c6zlhgw9k14wrqffy277jwj3nqp8vsl2";
 "randomlist.source-1.3"="w61n9d30k1gjjrykxps0ssap7xncdfh2";
-"resumemac-2018"="8kydfyx795317240qryrp7zjvpbcd43r";
-"resumemac.doc-2018"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
+"resumemac-2019"="8kydfyx795317240qryrp7zjvpbcd43r";
+"resumemac.doc-2019"="avh8y1vj230yn8bq0mb0mngrki4h0czy";
 "schemata-0.8"="3qik2nhhwhpgkwnay4rsmglh6kffm1pz";
 "schemata.doc-0.8"="7rggpri0l5pj9rppz8ynd8d6jz0v7ssp";
 "schemata.source-0.8"="qixmvsyiaj3yl78053y2s8xgp8ba06f5";
@@ -7268,36 +7453,36 @@
 "simplekv.doc-0.1"="fygasbjw3slr4d11asghdnw57i0r4qqp";
 "systeme-0.32"="wxf6jfpwi5pbgb8fb5ah9qwn4g9bclhg";
 "systeme.doc-0.32"="750pfab3ismjj93z5hs8r4wha9zr9dgl";
-"tabto-generic-2018"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
-"termmenu-2018"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
-"termmenu.doc-2018"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
-"termmenu.source-2018"="xygav2l9gll238dyqa8126sn9hc1n1w2";
-"tex-ps-2018"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
-"tex-ps.doc-2018"="g377qq7n63mqil18vlfgimfd589pa1qm";
-"tex4ht-2018"="hrczk5c6gnsj4bm8zkh0zd9na22s9bcg";
-"tex4ht.doc-2018"="hi6p91idcncr8n8hiz6vb4fpwggm1d78";
+"tabto-generic-2019"="libhmc3f9mcs93xzi22qhk8nyy0vzv4x";
+"termmenu-2019"="b9z1s2xibg6vcrd5qv1n1zlparqlwf3h";
+"termmenu.doc-2019"="0fqaygp9h3wr9x8ghfkxnsi9w1wfjis6";
+"termmenu.source-2019"="xygav2l9gll238dyqa8126sn9hc1n1w2";
+"tex-ps-2019"="jnzaqr3pc6a2bfh7jlsysc8hy30cq4xp";
+"tex-ps.doc-2019"="g377qq7n63mqil18vlfgimfd589pa1qm";
+"tex4ht-2019"="wn3xdb0z68g4wirfnfs4smmk13zq5s15";
+"tex4ht.doc-2019"="hi6p91idcncr8n8hiz6vb4fpwggm1d78";
 "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"="hv3kq1i5xqfqgcqbhhlsybhjw212wx0h";
-"timetable-2018"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
-"tracklang-1.3.5"="n2rshp0wa7ma5ccxyy5f7vr1b0agp3x8";
-"tracklang.doc-1.3.5"="7w6grhayvifyz0vxvclv982mbgq3dwf8";
-"tracklang.source-1.3.5"="ipmpkq09r8zgddxa56bgc1jknwnz7x1j";
-"treetex-2018"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
-"treetex.doc-2018"="5r9rz97y0r280vn642x65xgcffb073gx";
-"trigonometry-2018"="ji2axcciqhac3aaly221w3bja28yb2nw";
-"trigonometry.doc-2018"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
-"upca-2018"="hfay60269pv5n1r64q1r9d0lqljih70w";
-"upca.doc-2018"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
-"varisize-2018"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
-"varisize.doc-2018"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
-"xdvi-22.87.03"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
-"xdvi.doc-22.87.03"="zd7shbix0926rvj3ywbhazmqaa7w6ydn";
-"xii.doc-2018"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
-"xii-lat.doc-2018"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
+"texinfo-5.1"="6h73zydsfkdmqaly5xfj9j7z591vfgmf";
+"timetable-2019"="ca6qybasxlgqhmlqyjr1dw3n3j2455wb";
+"tracklang-1.3.8"="zs5wi6r2aakidly56h47fkaqr7kwcbn1";
+"tracklang.doc-1.3.8"="hx2yns14r8vzv27lbaq46a6r5hr7wja0";
+"tracklang.source-1.3.8"="b5rc9wdfy91xdg18d94adfc2s4zhly9i";
+"treetex-2019"="gkvpkgqggl2s86h7rmad9z3ax6wrq3hk";
+"treetex.doc-2019"="5r9rz97y0r280vn642x65xgcffb073gx";
+"trigonometry-2019"="ji2axcciqhac3aaly221w3bja28yb2nw";
+"trigonometry.doc-2019"="drmmcz6w0mvdzmf10dpikm8iagq3hjyf";
+"upca-2019"="hfay60269pv5n1r64q1r9d0lqljih70w";
+"upca.doc-2019"="czzbjifd9bdw0g9c8s2b76sq1cmw3hjp";
+"varisize-2019"="h0jdsw1dapsq7ml9hibgg9571da7lipy";
+"varisize.doc-2019"="af8xf6nzd3h9fm52gn6xpa886lzdpz8h";
+"xdvi-22.87"="g5irfc0gf7bra3vngv6kdbkhbyicdz84";
+"xdvi.doc-22.87"="i85gwkaj04296ysrkn1lprjf1xlzva9k";
+"xii.doc-2019"="p1ijdgk0mch86gs858rvkjzjh2yn35d8";
+"xii-lat.doc-2019"="8ilsp524wb5anl3shmdhbnn1nl2c8sav";
 "xlop-0.26"="vjjxxxwsq6pshgia7z796rwmhc5sjqnn";
 "xlop.doc-0.26"="gl0qca1pp05fh8a1baylvl2a26s549y2";
 "xlop.source-0.26"="hdfdp7jn8hch5fydl1zddlfh1av08dxp";
@@ -7380,8 +7565,8 @@
 "pst-eps-1.0"="djkk1cq45fzh2q1pvl23aiqi8b2znqrk";
 "pst-eps.doc-1.0"="i903x3p9wwb1jjf5al8azqr3iasmxkyk";
 "pst-eps.source-1.0"="r6jcjqy0f5mnkkahzqf9qnfrgwqh52h8";
-"pst-eucl-1.64"="sjjv6arb65zhzs1gyhj2nbj1dhpih0v1";
-"pst-eucl.doc-1.64"="1s4fx3qkjpk28x4nkaiv58y0kyxn586q";
+"pst-eucl-1.65"="xjmdnvp20hs9qqin055pxqd39qx50r95";
+"pst-eucl.doc-1.65"="xmry09gzi0kh9lbnjas5pxb68smfs4ml";
 "pst-exa-0.06"="1jqv019148d2s5n7cmlclldqd3mzk08w";
 "pst-exa.doc-0.06"="v45ljmsk7y4p256vikzyk7w0z1vnybqz";
 "pst-feyn-0.01"="k5fpn50px7b2i9bq48qd2xwcdqdfwrnp";
@@ -7399,16 +7584,16 @@
 "pst-fun-0.04"="klmswb8gqb538ghlay62dwg1asiq8l13";
 "pst-fun.doc-0.04"="xafzv4wa5hzqmclbv7s7xh0ba2kaay69";
 "pst-fun.source-0.04"="s7173q9a44aqd43d8bwcrskc9bsh1c1r";
-"pst-func-0.92"="gkqfmizyc81dzlk2gikr8x06f2163qw9";
-"pst-func.doc-0.92"="7rglvmm04i1gql488k5m5drvzrhgaq0w";
+"pst-func-0.93"="8fxmgdnwqh2zm7r2k46dx3lcz9jjdab6";
+"pst-func.doc-0.93"="xjgk9jzv3abphq20jgiz9q12zqspp29c";
 "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-2018"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
-"pst-ghsb.doc-2018"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
+"pst-ghsb-2019"="rzy3vznyr6jd0b0vr9h6ajlqc11bp9rz";
+"pst-ghsb.doc-2019"="5w079f1q4w8yxs4546qzx2c21vrhm2ym";
 "pst-gr3d-1.34"="wpbib4n4j2fmgbirhq8xha4di6f3w1xa";
 "pst-gr3d.doc-1.34"="ipap5gil3j6hkdcl1l1y0a6fnj754zq9";
 "pst-gr3d.source-1.34"="l6i8dnqgpl8iwsmbhiw3a043pbxb3k7m";
@@ -7439,21 +7624,21 @@
 "pst-lsystem.doc-0.02"="x4k17vgrb4dcm09qrcx4v6lcxlx8h9n5";
 "pst-magneticfield-1.16"="c2m1qvcclbx5gx0jqnq6ps2ypfn2xvn6";
 "pst-magneticfield.doc-1.16"="pdlhzrh670g5hnr7di40mdcsjyjhx6nl";
-"pst-marble-1.3a"="ml21znnbsqj8b964akf7mipk43231xzv";
-"pst-marble.doc-1.3a"="m0c1g7b2qzc8azdajw2ymifvlr43d65a";
+"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.41"="kgq5kc4r1179an3v8n35p7ks6p3gv21c";
-"pst-node.doc-1.41"="ih90x5a8qqfbk30n2yxypkqck6iaakxn";
+"pst-node-1.42"="a8z022bi9njv8jkmq1bfqpjszms9w01d";
+"pst-node.doc-1.42"="rq9nyzmws417kvj44k57b7najxbvixkh";
 "pst-ob3d-0.21"="b133mvl37zxxqny148r3mnwijp69jzc2";
 "pst-ob3d.doc-0.21"="v0d9mrz4dvpk0qix4fiy632jfhfhqy4l";
 "pst-ob3d.source-0.21"="yqjb2ifyxj2mvs11lxq32dgdr74af9p3";
-"pst-ode-0.12"="qbfc4q6k4chpxvwcbvdqrl7jnpgqs5kc";
-"pst-ode.doc-0.12"="l5w1n8x5vipp5n03m5av3gw90x6dsw32";
+"pst-ode-0.13"="5r2l25m2994jjs0v0fal8nyr9wn3ih4v";
+"pst-ode.doc-0.13"="951kjjph98p9m8cqyzcj078ny6pq9z0q";
 "pst-optexp-5.2"="6k171kswlvjz2qrgsr43llpn8a8fx2b9";
 "pst-optexp.doc-5.2"="8nfgcfs6614n1szf9c8b7mjk43f2vqah";
 "pst-optexp.source-5.2"="krh33kab76gxw3vjcaja3y8vk2xjpgla";
@@ -7477,16 +7662,16 @@
 "pst-platon-0.01"="c1crbkzj0vvblf8n894g91q7qig185w5";
 "pst-platon.doc-0.01"="54icmvjwsbljdbq03j3npmwr9j85cdpg";
 "pst-platon.source-0.01"="bs136jlsz9yxiw062dlck6km6fsapgjv";
-"pst-plot-1.91"="q9r3c36rbpbqryrbcnk8y1vmcacimp7x";
-"pst-plot.doc-1.91"="jzs7ycagw3zxqdblq74rw35nc51r69wa";
+"pst-plot-1.92"="nb5pbj56m205njaj6xx36fmpnjl2clj0";
+"pst-plot.doc-1.92"="9zns6nss0wbc30dbf42gm3gzkvddgrr3";
 "pst-poker-0.03"="8ny6asww2zmrbm4aqilmhn3wh5rlx4jj";
 "pst-poker.doc-0.03"="icmvyk2m0yn1cqgmfplp6r271ipsnnqf";
 "pst-poly-1.63"="caj343wmgfxzbzchalw7w14jazj3xb3n";
 "pst-poly.doc-1.63"="gq61g8l852k4m8n69kzqdx1sii0jr41n";
 "pst-pulley-0.02"="d7y0xspcv55vq4xhhpwhl9a3q33fpyga";
 "pst-pulley.doc-0.02"="6g5jnm4i5lrxqb45mn60g7nlc9xq13cg";
-"pst-qtree-2018"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
-"pst-qtree.doc-2018"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
+"pst-qtree-2019"="6slxqgzm8pzscdf79x1y4zp3rav425g3";
+"pst-qtree.doc-2019"="9bp342h5rimv9wyjncj9m9bb3x2pb77p";
 "pst-rputover-1.0"="39c8h8wq8rcby34dnpq8f9d87zlfd0p8";
 "pst-rputover.doc-1.0"="apm70lr0xn7hgj16acpcll9wd3jcxqbn";
 "pst-rubans-1.2"="akzd33l39b9gh53hkqzaznb6j6rrbif5";
@@ -7515,7 +7700,7 @@
 "pst-spirograph.doc-0.41"="4q5pbwicrqkpmfr7zwa0ykmfy32y4iks";
 "pst-stru-0.13"="9xzgq9yp4wh3939dxg4wvkzsvq8za3vw";
 "pst-stru.doc-0.13"="pm4nj6rck0s7gjhkfjg3i4xa8qd1dihi";
-"pst-support.doc-2018"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
+"pst-support.doc-2019"="z97cka1jrk6jji8lczqfxc09cqj7f34x";
 "pst-text-1.02"="sn30bjp59awsdx31kii7a429wjin0zp0";
 "pst-text.doc-1.02"="3v66zv4kjb8rh3fpbx2wzvg1rn5iicaj";
 "pst-thick-1.0"="b2dnjagm4kkgxfjilahizzyq6mb1cx5f";
@@ -7525,6 +7710,8 @@
 "pst-tools.doc-0.09b"="5jh948lwnk951jpa6wwgkqc6hx49l0q0";
 "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";
@@ -7544,8 +7731,8 @@
 "pst-vue3d.source-1.24"="zxk7phlcdh2g1x9l4mps6ncwxc8ydryi";
 "pst2pdf-0.18"="rafm5fyifzzz21336l2yvnqs1ynrcrh4";
 "pst2pdf.doc-0.18"="hpjd3gxsk0lmajf2fpac7ykhrznzsily";
-"pstricks-2.96"="jir8d1x6iychillqhrmif6r8hw5hihcy";
-"pstricks.doc-2.96"="dmn4zl17nsbm1fimcwhb2rnvpg2lh7lp";
+"pstricks-2.97"="l6vcl5rj0qw82chj5hks3a7xilmsvphw";
+"pstricks.doc-2.97"="qk796lx5myp7c5p8s6wv9pby9pb67v3h";
 "pstricks-add-3.87"="vkfiryg7plqky6c43dvyx7zspa8b7fxb";
 "pstricks-add.doc-3.87"="hx8sxyd3fxsp146500flnr8cvwsrm5rw";
 "pstricks_calcnotes.doc-1.2"="4q48najl98h9lb1866avfw6c5ir7p4bj";
@@ -7560,16 +7747,16 @@
 "IEEEconf.doc-1.4"="6pyp532mjalspmalr2ia8nm58fjj5fwj";
 "IEEEconf.source-1.4"="h16jq4q6bvb1wpwjxnyhhp43frcjmnym";
 "IEEEtran-1.8b"="96gd4zxcmg6c2mma4d8z0wganf9ml7d9";
-"IEEEtran.doc-1.8b"="zdc3y0lkjpis1fdkshd6bwsmkxr6w2aj";
-"aastex-6.2"="vsyj9chprljrl3ybzsfbiwjvjvs502ss";
-"aastex.doc-6.2"="iz8flgxhn6y8qzv32v1sf418gyff6c4g";
-"abnt-2018"="fj4wb6q7pw8gnh87r9ks86h76x0mik3h";
-"abnt.doc-2018"="g3r7s171g24fkl77b6y3khm6rhvjv704";
+"IEEEtran.doc-1.8b"="ms8cp0i51knhhbp2fckkmr2cwlvyx4b0";
+"aastex-6.3"="y4ki003dd755ybn25iwr9fzh8cn8jinj";
+"aastex.doc-6.3"="x8lg7m1398a7fdh30yh1iaj9vpdv1419";
+"abnt-2019"="fj4wb6q7pw8gnh87r9ks86h76x0mik3h";
+"abnt.doc-2019"="g3r7s171g24fkl77b6y3khm6rhvjv704";
 "abntex2-1.9.7"="zxahr9mb1vq0yfcj35znym4qx2jh4p53";
 "abntex2.doc-1.9.7"="hs3g3ji0knhsh0gmjcz49dvc547wh0cc";
-"acmart-1.57"="p5nhwcq25jir044v4gjh82n3lylawnnc";
-"acmart.doc-1.57"="19mibbjpiqh9z8fcj3qzvynplh08mgd1";
-"acmart.source-1.57"="433j4q6g8z65sydf7gkk3bvz610qcsqi";
+"acmart-1.64"="jw81rcgi34yaa2l5w66qrzazsnyhbxlp";
+"acmart.doc-1.64"="swxjs2nc6s40r7m1vixcsk8d4wlhsrfb";
+"acmart.source-1.64"="93h569xdnwl14wx10ycsyl4fz2qc5sv8";
 "acmconf-1.3"="9wid04wqz4l1xisvlng52xabw9m0p1k5";
 "acmconf.doc-1.3"="66xjqp6a86iq2908p77cz57651av2i23";
 "acmconf.source-1.3"="7ssw68bvkxxixxmf9ygp7szxmc59fvik";
@@ -7591,7 +7778,7 @@
 "aiaa.source-3.6"="wllq5qv20bc4f7m098yn1f5slyrdxazz";
 "ametsoc-4.3.2"="4v5ya7z7mbbxqxkjp5madwpn3m456gpp";
 "ametsoc.doc-4.3.2"="nzphxaasrrgxhiwixz6k6qikbg6z45gi";
-"anufinalexam.doc-2018"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
+"anufinalexam.doc-2019"="qb1dvx5ryz6p5dia1z13aa0h0822f814";
 "aomart-1.21"="szg9dma84y66pdh8p32kq36fxhnn0lzs";
 "aomart.doc-1.21"="00i2qqh5hlfpiqqp75ri023wlvsj4r9z";
 "aomart.source-1.21"="xf9126s1w02lxbllbzblzd405qg0ydsy";
@@ -7603,8 +7790,8 @@
 "apa6e-0.3"="0bilb5nbgi83kp1w7d1kci1akg36nv1z";
 "apa6e.doc-0.3"="p7ir3azb68s9pms0gpa968gffr2qr0xw";
 "apa6e.source-0.3"="baqh9z3mlxqy4kklhnb9a66gj36lnhxk";
-"arsclassica-2018"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
-"arsclassica.doc-2018"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
+"arsclassica-2019"="pk5gn6ifrhj5c33f78d619hq4j3d7nmg";
+"arsclassica.doc-2019"="z21lmz2x0sc7g6gc50j1x0hhzz96ra7b";
 "articleingud-0.3"="45hkl8j1hxdww0igp85iifrdz4g4h18l";
 "articleingud.doc-0.3"="00653rqfzjv2f4wl77vznk2p1pi6f2fd";
 "articleingud.source-0.3"="24wwfplzs8477i5kl1ks5fvkd8w1lv76";
@@ -7612,17 +7799,21 @@
 "asaetr.doc-1.0a"="8d1x4sq5xpgc1kb5ys4dp02i2r1p3ha1";
 "ascelike-2.3"="b7ff1cj0jmbdr6wrvcqr37byak164fy3";
 "ascelike.doc-2.3"="sqynsfl8cm40n0r7v2a7qlhxx6zny623";
-"aucklandthesis-2018"="gqqynyfp4l80jc7a90by84wjmn22s0br";
-"aucklandthesis.doc-2018"="jr76ykx7f98jvfjy7dr767xspb50rsnw";
+"asmeconf-1.12"="2db3vqhghx1cyza2696vflsfvajbkx5x";
+"asmeconf.doc-1.12"="bzdzkxg25r7ms67jglacivy6bfr14ndf";
+"asmejour-1.06"="qkwsh5qwgvy8282m868hls9hj8szm9vk";
+"asmejour.doc-1.06"="zp3gnln8qj1g3jk45snh2l8z5w1zdp8l";
+"aucklandthesis-2019"="gqqynyfp4l80jc7a90by84wjmn22s0br";
+"aucklandthesis.doc-2019"="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-2.0"="49z7vh3bxddgf6gp5p76xi9drj9wxxjl";
-"bath-bst.doc-2.0"="qia52b68dahs9qb8830px6kj480g3cmb";
-"bath-bst.source-2.0"="qd3490knx1z1yg5gfslvm2a323vbhin0";
+"bath-bst-3.0"="1ppl98wg6px20rpfs6rn8aqw4r1hs672";
+"bath-bst.doc-3.0"="yfh2hj2kzm0kfr8ckzhgwkzk7608zm8a";
+"bath-bst.source-3.0"="nczg3l893i16k3hmrrci2yvh1903a2jq";
 "beamer-FUBerlin.doc-0.02b"="k09b82znxfk7gi7cxpkffs65v3q5siph";
 "beamer-verona-0.2"="jgqm1267x276xsdikvc586h946xfzhcv";
 "beamer-verona.doc-0.2"="skxiv6nxw4vk3c7ppl2bripmlkada52x";
@@ -7632,58 +7823,60 @@
 "bgteubner-2.11"="kjykk4kfr7iig49zpd26kga2p4kki4gq";
 "bgteubner.doc-2.11"="wi654djqdqp0hff6cshv1hfkhmgcacs7";
 "bgteubner.source-2.11"="jhqhmr6bb4ldma4dscl9l4csan3qrv6q";
-"br-lex-2018"="ipw7gwrsdv691vnv257w9i15f465irnv";
-"br-lex.doc-2018"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
+"br-lex-2019"="ipw7gwrsdv691vnv257w9i15f465irnv";
+"br-lex.doc-2019"="kai74ysi41iw5bc9rjv8saj7qh7n0s12";
 "brandeis-dissertation-2.0"="8nqvv44ahsf5nxn6m4qrd5yiarim1zr9";
 "brandeis-dissertation.doc-2.0"="lfpykcdb4yrf7pz7b1ljrissjlk4v20v";
 "brandeis-dissertation.source-2.0"="xnp41jb8wf2zlrcqikp6qxnhw9k6j1z6";
-"brandeis-problemset-0.4.4"="pyzwvhbcl2xdrmdjrmydvpg61hjj7hq9";
-"brandeis-problemset.doc-0.4.4"="9zhfqmrchbyas57gppbxxwam486g20i2";
+"brandeis-problemset-0.5.5"="x7ivk7r7qvi08kb7jmdajym04hxyhzk8";
+"brandeis-problemset.doc-0.5.5"="zsa3r4xc2kfp00r3jj7mfzdxaphj7505";
 "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-2018"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
-"chs-physics-report-2018"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
-"chs-physics-report.doc-2018"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
+"chem-journal-2019"="8rsrybpvzqr389ip3lfkjna1vy6lclv1";
+"chs-physics-report-2019"="ci2816gvc1ds20gh2jiiyyrc061n0ncz";
+"chs-physics-report.doc-2019"="ipzvx9zkpnnzbdkmbzzk6g4wz4qaql17";
 "cje-1.06"="s4l2hjnfw2s0l19hbzf5249igprbhw7a";
 "cje.doc-1.06"="hyw2lcxsbm0v95l1161v2sh2bprsg421";
 "classicthesis-4.6"="1mdqrwxmh218ni62g9bfgq7v1jx20ilc";
 "classicthesis.doc-4.6"="d0nd57qpb4ya46ipz6c2jwark5sdghfl";
-"cleanthesis-0.3.1"="rs5scswkmbikw0r4xs8wc86js9fsfaa3";
-"cleanthesis.doc-0.3.1"="640j45873rghdx1c5h0n08a3z3ca5q17";
-"cmpj-3.01"="4imggckmccyqhm3fdl7v8kwsakfjknmd";
-"cmpj.doc-3.01"="3r41m4byz5qrlhng3sajvnwqf8zqjxfy";
+"cleanthesis-0.4.0"="z2wcfxgawx5pdbw7bfisn89qyl2jlyd9";
+"cleanthesis.doc-0.4.0"="w4wjl5szng8zg0vvjr32914rdzyxcffd";
+"cmpj-3.02"="pgkvrk8r7v31hmhvdxcydnlpgxyj8cbl";
+"cmpj.doc-3.02"="m150sh9q484chkbfx96ldchfwh86nq8c";
 "confproc-0.8"="6anwdx64g1yfr109jrnqfml6bqj8l98a";
 "confproc.doc-0.8"="qczsp87rylnxkd8nsi14kjahnkh57i6m";
 "confproc.source-0.8"="f8yczf6glbb74hvfga786qvamllnza9c";
-"cquthesis-1.30"="x5ybra1c1snfcdzqpgkzh72wyk24lmsd";
-"cquthesis.doc-1.30"="5l0y7h5dzh8csclspqsdbc21j5lwafp3";
-"cquthesis.source-1.30"="n7xqxgkxdvy7pki3wv5cl2pmwpjrv7w0";
-"dccpaper-1.7.1"="6ky9m4rh8dn01rffh44v1ff5vh2igkc7";
-"dccpaper.doc-1.7.1"="7wpyahkvp59a0l0lfyw5ssrpjk9cg53c";
-"dccpaper.source-1.7.1"="zzcscajfm6dlrzam0d03imfhch41f1pl";
+"cquthesis-1.40"="7g1w96hbvmqyq1g80w6s4mhsccwh2cqp";
+"cquthesis.doc-1.40"="9brf71cxxkn7dczvmqafg59lyf4y0qk7";
+"cquthesis.source-1.40"="hs0h3na9h7nf6rgm2vs0zv9ppadppj8z";
+"dccpaper-1.8.1"="p8hdx4gbjlpa6zg527003dngbz3b5h4p";
+"dccpaper.doc-1.8.1"="n68flqg7wjg0yiarwrza361rmaskw3md";
+"dccpaper.source-1.8.1"="h77q2ar40hfwsl4p096b8717kidy2kp3";
 "dithesis-0.2"="y0xrpjxnblvgahdwyfhm2hag5hss6qzv";
 "dithesis.doc-0.2"="b7ka35ywbrn2m3a6b8cyzyvajwxyvdkl";
-"ebook-2018"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
-"ebook.doc-2018"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
+"ebook-2019"="08y1g19fvjskwm55g1av1x8bs95vmc6y";
+"ebook.doc-2019"="kw04pn3a7pbkgxjrn1p12z65j8k4n3fk";
 "ebsthesis-1.0"="3f8i1srqx6hh10rrjshsispqr3wdhm0m";
 "ebsthesis.doc-1.0"="wic4wfgihf2yyk40937hr2g59933cyy5";
 "ebsthesis.source-1.0"="q1lhixwgkc6zis1sgsnwzsd0p7spp0zz";
 "ecothesis.doc-1.2"="92jxgiddwpj5g62zwg50wm681h2z1ixf";
-"ejpecp-1.5"="vzfnvl9rxwbkfyv5pd759d2pgn1gr4qz";
-"ejpecp.doc-1.5"="4449msv5iq090x7r41q1m4l6dnvi7fzp";
-"ejpecp.source-1.5"="sqklvmybkamm25bavxc232grpjv58wmh";
-"ekaia-1.04"="r87yx6q2rzrcp150gny82070fk0a8a9i";
-"ekaia.doc-1.04"="lnjkk17sysdnj4l9vpx0qwkr1w185iq7";
-"ekaia.source-1.04"="jvjhgfg1hvj60lcwa7k34zfl9v17bw5h";
+"ejpecp-1.7"="bgshb47fig2mcjywnq8cx6k867imsd6x";
+"ejpecp.doc-1.7"="24lb4caf4yk76fpxvvw5zl18yq6kc94r";
+"ejpecp.source-1.7"="z61hdi9di464ywfw1s80wa5acy90ymy1";
+"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";
-"elsarticle-3.1"="87vr743gidvz7a32g1bj4c13rw40knqn";
-"elsarticle.doc-3.1"="n4z4sxdzk780h1kp072dl6babj9wrpaj";
-"elsarticle.source-3.1"="rbl2lkkjcjis6sc6s9zky5jh2s2kd7d9";
+"els-cas-templates-1.0"="2ksscb78z249vcm9p3m171nrfb2r3bbs";
+"els-cas-templates.doc-1.0"="f3h55yq38qa098gixw53a1zs2zy2v2xj";
+"elsarticle-3.2"="wybpbhzmw2a1h76ik1m7dafh0z83537z";
+"elsarticle.doc-3.2"="1dpvggnxxpyvg331xsgnwnyzrj9sw2hm";
+"elsarticle.source-3.2"="0w53y3wskl6iarnpmdk9c154dp63pnky";
 "elteikthesis-1.2"="fq911ak06fd2h6brn2zsb20pkqgl4kb4";
 "elteikthesis.doc-1.2"="b5ja8g2vrf7gxpsfwshly6h3i0h0kw7d";
 "elteikthesis.source-1.2"="iyrmq8s585am0kb3ixgbi2g3n7aqxwr2";
@@ -7708,9 +7901,9 @@
 "fcltxdoc-1.0"="gr5vxdra4lcsljhm591xs1b6z4ci2ddc";
 "fcltxdoc.doc-1.0"="mibli0mi846flzm0id9z0cr8x90rivgw";
 "fcltxdoc.source-1.0"="yn567l5sbbrrdbcmiqdpyq8kq5y1ni1v";
-"fei-4.3.1"="pmxp0y1i18xrdxlf65d7p6gxf3xygs9g";
-"fei.doc-4.3.1"="yjqzj0kfw3f90rd0nyfbbi3vh961pwp3";
-"fei.source-4.3.1"="rnmbin0z68v4whq4kgd9a1ykf8lscxb4";
+"fei-4.6"="zfjscl3qvmawsfslhj0nkjqx4hwhvwij";
+"fei.doc-4.6"="zlql81212lv8rcsr04pzi80a72bg5bay";
+"fei.source-4.6"="rrq61x01046cd9824y9hnbllqjhf1761";
 "ftc-notebook-1.1"="rmxxga464shdkh4v9c4kk1ihxy9vsl49";
 "ftc-notebook.doc-1.1"="l3a2q406sj7pvfhgw2zsxfyk5qyq0dsp";
 "gaceta-1.06"="gkwy4pkpzmykxm2rqldpjfh5q5m87ca1";
@@ -7719,8 +7912,8 @@
 "gammas.doc-1.0"="5v48c5pxafvidhkkz0xmfbbgzkavhlrw";
 "gatech-thesis-1.8"="q85fv2ikl3ikw9ja5j7sgygyi6v1x2kp";
 "gatech-thesis.doc-1.8"="q97libi0drg6plfjps8p9fd7fxbxg34n";
-"gradstudentresume-2018"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
-"gradstudentresume.doc-2018"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
+"gradstudentresume-2019"="bmmfv6i9zhk617r9a59yz4m0g14s1q1b";
+"gradstudentresume.doc-2019"="xw0w9hwnyhb6xszynfvz489c9j0vyxsk";
 "grant-0.0.3"="a9bjc5a9i24mymq11dsw78gck3pdb16n";
 "grant.doc-0.0.3"="39g10k0rwfx678fnc8vx6j77wvn8f5c0";
 "grant.source-0.0.3"="4cfhdbqmffiypcs88iij2fxc5lmylxfk";
@@ -7732,18 +7925,21 @@
 "gzt.source-0.98"="0jm3vmpy2z28fzk1q5cnw4d3ga13czj8";
 "h2020proposal-1.0"="sdm13gcvhga8q32ai16mnz2rfsnwb7bz";
 "h2020proposal.doc-1.0"="8nsjvgzyw9137ncq9v48dhlncb10snyn";
-"hagenberg-thesis-2018"="mxiqacpvwxq58wqirx5ic3bd9yq0qs8p";
-"hagenberg-thesis.doc-2018"="vr3b2s19r85lk9dc97h4c8gskzyrwap7";
+"hagenberg-thesis-2019"="173nwqf3ckrpf7l9clx68sbjv2iamqff";
+"hagenberg-thesis.doc-2019"="8q67qw9cj4lrbxs585ymw56q029s5apn";
 "har2nat-1.0"="yn5d36r1lnx5xhrk46laka9crikcd5yl";
 "har2nat.doc-1.0"="8gh35w4a8j117z6dzy9p7mmbxsh789zf";
-"hecthese-1.3.1"="hprd2zbspa1v6hzd3ifz1f7b60cc8y1p";
-"hecthese.doc-1.3.1"="4dnn58rxi15f12jjdd9hl8g2gbgb1m8m";
-"hecthese.source-1.3.1"="22n1l9y9kq0wjxbqljz31xpf8gr49lwn";
+"hecthese-1.3.2"="w882kxwpk80lrxl0bnqkp7mz8zdh47bh";
+"hecthese.doc-1.3.2"="fsrvd79g6588zisibmjzb137b4b11xyg";
+"hecthese.source-1.3.2"="d36nipvwmff2napcy14lgciw50061aw0";
 "hithesis-2.0.6"="phgkz2xkzy89q1gdw77qada1ngv012ff";
 "hithesis.doc-2.0.6"="sixfmbvs731n6w0s6hljj82w8hxd72gi";
 "hithesis.source-2.0.6"="s6xrir5z48h3zk8g4s8ydfp6hrkdk3dk";
-"hobete-2018"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
-"hobete.doc-2018"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
+"hobete-2019"="k2agw9n4s8imsfi399r1n3v80sdxc41s";
+"hobete.doc-2019"="n60jvwc9ca27sxbyjam8jpp6b73ydc4g";
+"hu-berlin-bundle-1.0.3"="sds4ppapjar9lhgir5jnxfgzbddp5qf0";
+"hu-berlin-bundle.doc-1.0.3"="k7y6kwi7x063ja0wf14yysqxp4b5k94x";
+"hu-berlin-bundle.source-1.0.3"="2fb4mzmmgnf96yfl8slwc8gnvads736p";
 "hustthesis-1.4"="f7wr0296h2a3i6vahvrxysl7dr03sihs";
 "hustthesis.doc-1.4"="jknn279nybf7j78y4s99abb6znbkif9w";
 "hustthesis.source-1.4"="j828cim80xhwzjvn6drhy5qzr8sx87w2";
@@ -7757,17 +7953,19 @@
 "ijmart.source-1.7"="y5wyzz6jr5lp0syjywlvdpb3s02cb7ks";
 "ijsra-1.1"="zj3pf34flbmdy98fzmshxdwhsm9gypb3";
 "ijsra.doc-1.1"="pmw844flk212zpdvcp026c63snmasbsf";
-"imac-2018"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
-"imac.doc-2018"="5qid3adma0486l4li4mmrgxl9lykzfz3";
+"imac-2019"="w4g9hwgh6wvbhf5v8xfjcba6chqlp32z";
+"imac.doc-2019"="5qid3adma0486l4li4mmrgxl9lykzfz3";
 "imtekda-1.7"="rm2w2mx8mxzxjwgsw6gk0i64c2wb0yxa";
 "imtekda.doc-1.7"="m50cfbqcjz4ylda5myzz4idaqfv40nay";
 "imtekda.source-1.7"="wrx5ndn59k0rlz19iq8r4fzb4yly9hr2";
-"iodhbwm-1.0.1"="krphdi290yjj0vc0w03w8c0p6havjx7r";
-"iodhbwm.doc-1.0.1"="l12i3a06pf45bj6vxrf2zdxvr07pwkw3";
+"inkpaper-1.0"="iabllzkp6m8p3hvic3ajv5b3d6l511g9";
+"inkpaper.doc-1.0"="2hn02y78bnp1w2czqxfrsi2wrmpjn11w";
+"iodhbwm-1.1.1"="z0y1iynvgycqfjvkad8bwi18kdz115mc";
+"iodhbwm.doc-1.1.1"="7a1zjymxxi8mhmrmisnnrbdn240hgkpx";
 "iscram-1.1"="2pywqaa72mb216nmzl0w8cr74vf200cg";
 "iscram.doc-1.1"="0bd1j3dqs4kgsdaag5wkv7n9zci8qgda";
-"jacow-2.2"="7a1fcrpsp78iif3cvpmzlb2lx71lkdsc";
-"jacow.doc-2.2"="a2c4bkrrn1hrig4pidj1f10llcnxnh6i";
+"jacow-2.4"="z7ag0qa8hzbihrqij6dha0hm4nkp14vp";
+"jacow.doc-2.4"="c08j0j2lc0awnk2l9bcx022wcxzswala";
 "jmlr-1.24"="rnmwix9b0hfdm6zys2zbzy2rx1rfas98";
 "jmlr.doc-1.24"="b7aj9p4s5xzpv2jkih803zx713lp212g";
 "jmlr.source-1.24"="bncl60ks6g38pj64ig53q0s3kr3fpws9";
@@ -7778,25 +7976,25 @@
 "kdgdocs-1.0"="i0v1kfpnhn5210jj5vd2pyi9s9h1vhmr";
 "kdgdocs.doc-1.0"="0gfi3rfrsjaw25g7mxk7mai8mxy968m1";
 "kdgdocs.source-1.0"="dcafx36f7id055kdwvfsci6wq2ya50c8";
-"kluwer-2018"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
-"kluwer.doc-2018"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
-"kluwer.source-2018"="q4k0f4qgzcxgnxblw1776dhk57i2zq6d";
+"kluwer-2019"="y63q5nz0rhxlj362cbj5a4x3wm8imiri";
+"kluwer.doc-2019"="q85mq4id3y04wwq7f8is8lwh7gbzyxxn";
+"kluwer.source-2019"="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-2018"="1pv0kmn0pj1lzp5z024l2p1i46lh0zlw";
-"langsci.doc-2018"="cnjj2d2m05cgh3412b6yp8i715lwxkr3";
+"langsci-2019"="2wdzpxs9p7xkj5ka0hafr9831cifyp1p";
+"langsci.doc-2019"="iafasc98czzn1pkk7q2w2iqrglxzflhc";
 "limecv-0.1.3"="kvjmm481ihl7idl0z0k2a7qd1f83b2bg";
 "limecv.doc-0.1.3"="9lxwfgxfgpnkmm5pmikrgsp9kf4vfhvh";
 "limecv.source-0.1.3"="5fcyq9gad359zzhpara50rclrqm62qzh";
-"lion-msc-0.27"="6b6bg86gr57ldh3giniicp6j41bpqx5a";
-"lion-msc.doc-0.27"="q9jflbrgsf7qhbqm5sl6w6qbaz1jv7yk";
+"lion-msc-0.28"="anbklyjjiy9ssy1iy7sggx6mfc1gak9q";
+"lion-msc.doc-0.28"="knq0z2pjiwchnwja3jnxbsmxhyyppmyn";
 "llncsconf-1.0.0"="w9rc61m4yijyf6mb4h78xhr0h7mf3p9g";
 "llncsconf.doc-1.0.0"="8p4z5cm4pp2f3iqmjnhqb8n2fcgx8gxz";
-"lni-1.4"="bpb6rs0znz4q3kkq2f33z9fn2ivndrd8";
-"lni.doc-1.4"="zx79qgmpb96mkfpvsngvqkz63s4rxgmd";
-"lni.source-1.4"="hgmnsbd4i6w031l3wqvx4xy305dwjqb2";
+"lni-1.6"="0g5d0rs62yhy5wrnhm8csxclh8wa3k5v";
+"lni.doc-1.6"="pp39jjz13zknhmm13nsb6y8di2giwhcp";
+"lni.source-1.6"="k8yq69zrfxidcqycqh6id2s7xz07ggrj";
 "lps-0.7"="njaym8455i99rr0vplxlpn95cbp8sv9h";
 "lps.doc-0.7"="9qg688yrg4lfkb284shpgan08vfi5sxn";
 "lps.source-0.7"="d2jid2g08c51lpixvbqp13hkvmbhw2f2";
@@ -7812,6 +8010,9 @@
 "mentis-1.5"="nfpcmyxlg0gadqj33jnxji3nvs5fni9l";
 "mentis.doc-1.5"="vnj4lk1vxc0c0710jb21x3vskppk9c86";
 "mentis.source-1.5"="x8djid957v6324m74fn1m8l9hcp7mr1g";
+"mlacls-0.6"="ch1gxkp1g3v8ji6av9k3wn6ldfx084dj";
+"mlacls.doc-0.6"="sah830gprmh0qlbd1ia3ldg971sy103j";
+"mlacls.source-0.6"="5fl7qdqhsrm9h6dy6hiws5pnjmhi9qfp";
 "mnras-3.0"="ib7iykfq2gzv7iljfpqnncwdha05sv36";
 "mnras.doc-3.0"="jns5g8cd4c28jqy106ard1pca1pl0p4k";
 "modeles-factures-belges-assocs-1.0.1"="yildlnjq5szbsvis65ph02bvvzydgldv";
@@ -7821,14 +8022,14 @@
 "mucproc-1.02"="d1xzqp0nvkk4zdf1zcrhngvlc0q412gp";
 "mucproc.doc-1.02"="zpky6iahkhynyv72lg94ankg9wn7gwd7";
 "mucproc.source-1.02"="pxysp457kvf603nz6lwaj55cmlc41n0m";
-"mugsthesis-2018"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
-"mugsthesis.doc-2018"="xqm757zbzxi9ag50dd22274bk5n1897h";
-"mugsthesis.source-2018"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
+"mugsthesis-2019"="cfkw21f3xy6pchbq7ryw2df8bdssilc5";
+"mugsthesis.doc-2019"="xqm757zbzxi9ag50dd22274bk5n1897h";
+"mugsthesis.source-2019"="6awfcfhsqggxvxxxmfbi77pa6bwchg79";
 "musuos-1.1d"="v0bx55bnw5lcpq1w0zxfkf1hlxahxj0x";
 "musuos.doc-1.1d"="iqviyy26inh9bw04maby457bvxip69xw";
 "musuos.source-1.1d"="rx3zcmp2mw88f3jxa0igajz4dzvx135m";
-"muthesis-2018"="w6llbyp3d615mpjazf9i746acl0hqvpb";
-"muthesis.doc-2018"="776dszqb0k9nffhnln310dg20n4z0dlr";
+"muthesis-2019"="w6llbyp3d615mpjazf9i746acl0hqvpb";
+"muthesis.doc-2019"="776dszqb0k9nffhnln310dg20n4z0dlr";
 "mynsfc-1.01"="j3jb9xyv9javnbk9r6fb11ygnd9ygpfx";
 "mynsfc.doc-1.01"="5zlf94gdmkxg37zdwq04w4pzfgransf1";
 "mynsfc.source-1.01"="zzmxbw2xfk91lv6isc6raqnqmvk4da6x";
@@ -7840,12 +8041,12 @@
 "nddiss-3.2017.2"="gsqqnmrgc27i78c6s4y1zy7i5yi66yix";
 "nddiss.doc-3.2017.2"="p28y66qyk1zkhmp6f11rkidfjmvpnlgx";
 "nddiss.source-3.2017.2"="7kbka2v5nsdg4wfrv69zsx92rrlax0zw";
-"ndsu-thesis-2018"="l4dsamss5kpl272pbmj720jc6zlb4lij";
-"ndsu-thesis.doc-2018"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
-"nih-2018"="cv6rcwrnq8rpwmmxva32233isckys2md";
-"nih.doc-2018"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
-"nihbiosketch-2018"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
-"nihbiosketch.doc-2018"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
+"ndsu-thesis-2019"="l4dsamss5kpl272pbmj720jc6zlb4lij";
+"ndsu-thesis.doc-2019"="6hbh7hl0nwsijq545vym7il5wvrzlbr1";
+"nih-2019"="cv6rcwrnq8rpwmmxva32233isckys2md";
+"nih.doc-2019"="n3j1f7kbygyh0ljz1796b0ywkifvykbh";
+"nihbiosketch-2019"="da0kk90h0paw6wp0x43cqcfm18bh9ajz";
+"nihbiosketch.doc-2019"="l6nx5x7lb8sqfbmac215xbrn36ifx6fc";
 "nostarch-1.3"="5ir7wwqflr7ac9wdz3qq50232lrxk79r";
 "nostarch.doc-1.3"="l4v9sg6lhii6m7z83ap9fghjkzhc1d6k";
 "nostarch.source-1.3"="sn4i3aqmh4r4yfj1dq5ipqyy4424kns6";
@@ -7854,9 +8055,9 @@
 "nrc-2.01a"="pwgmkqwj9nh6c5ibhgz0gx4fha8y4mfa";
 "nrc.doc-2.01a"="y8ga6db77g42jblz5hpvk3vhcsj6zczs";
 "nrc.source-2.01a"="14br9wclpq3sfj0gcb8q3ws6nz3ws7jw";
-"nwejm-0.98e"="xmdi704s6l7g90d59mpv8l2p1h228fjq";
-"nwejm.doc-0.98e"="x47qqh9myqfqipfzbwpbrs4ijx6liyyq";
-"nwejm.source-0.98e"="hqkdhbwmp7sh4y917rr0yf7393jrq5qs";
+"nwejm-0.98f"="58q31l8g24gw092x9njl6mbpqfbv461f";
+"nwejm.doc-0.98f"="i7w6pfk5hxjmli2s9gbpd3dfsj71ncmk";
+"nwejm.source-0.98f"="n6x1i5y1swnm1vblxs3k3cc7d023s7n0";
 "onrannual-1.1"="zfqaz0fi36py1y5izbphl677ny5mcrl6";
 "onrannual.doc-1.1"="hxdcfp7y4lcpc2j1d25sx3p0nga1435h";
 "opteng-1.0"="fnx8hnwcpahlkw6h2q1hbnkwa3kfr477";
@@ -7876,16 +8077,20 @@
 "pracjourn-0.4n"="iv8vll5az565ki1vcjpacrcb369z2g4c";
 "pracjourn.doc-0.4n"="kvvb2vn1z5phqxy9jiwgj9rgc1fpabhj";
 "pracjourn.source-0.4n"="vl8rarvx6whc3ph6pw892ldwiwzvc78x";
-"procIAGssymp-2018"="cvcsi5gr6ndjlvabqwkk4spmd8y9fqz1";
-"procIAGssymp.doc-2018"="y08ng1769j9ffib4fpi6rb86dvj4y0a8";
-"proposal-2018"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
-"proposal.doc-2018"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
-"proposal.source-2018"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
+"procIAGssymp-2019"="ni8xr0fdn9skkadcn1ipadbxs388vl3w";
+"procIAGssymp.doc-2019"="q662hfdf9br5pdya5676ddxqg8dnaw0r";
+"proposal-2019"="3nnzzlv4rcr3v671fipw679yq7ndbw9j";
+"proposal.doc-2019"="hx9nsm0fidsia9v6iki5l4cb500kjm2k";
+"proposal.source-2019"="3md53b23cqzdhjyzk2hw4gsjr5flngfw";
+"prtec-1.06"="b6kj4hm66hp9hgpvjq9mpd3a0f1a53qm";
+"prtec.doc-1.06"="g166iaq7ifcqa9qg4f3010vzv0j06j6f";
 "ptptex-0.91"="w61zrgirw5as67kcbi3yrx5pzpw7dj36";
 "ptptex.doc-0.91"="h0fi9wq2asps1aiwkvrwj93dkzzhclsy";
-"resphilosophica-1.33"="lrqx5wsrxky1ijbi5b96hd62k2by2v6g";
-"resphilosophica.doc-1.33"="g8dnhjrs1hq5dxsks4g89v5kj4a6c7qd";
-"resphilosophica.source-1.33"="qb8wkh6bi3vhmk1qk3s7dd0iaf6m5njh";
+"quantumarticle-5.0"="gxfjl7qlir4m4rmqwrxmm1jksgh63crf";
+"quantumarticle.doc-5.0"="vzv5j94a6zvbyvbsbcdxpzialv29313j";
+"resphilosophica-1.35"="vaxdd2gghalbbbikxsyw92fhnx3wn8d9";
+"resphilosophica.doc-1.35"="xwkcpdm9bn3vhfazhbx7fxibz5shrild";
+"resphilosophica.source-1.35"="7wysrjs5ynmpadf39vkj2asysjvchqmz";
 "resumecls-0.3.2"="niqlfjipn9h1dchnx63w89i097kf58il";
 "resumecls.doc-0.3.2"="7jcdgicys21bhfhyn1aflyvry0yy7sxk";
 "resumecls.source-0.3.2"="wpgzwjw6nmg6dq02jdxq12fx7hnmff29";
@@ -7895,9 +8100,9 @@
 "revtex4-4.0"="sa5r7jsw4kqqwzzxalj04wcflcawl2xs";
 "revtex4.doc-4.0"="3bki1hg7jr60q7x07w0i8d0a6zkp9qnr";
 "revtex4.source-4.0"="0pq58vkvfc191123k78zaiyy3mxk1m1h";
-"rutitlepage-2.1"="ni4yd5xp132k89ifi4vmddi32ndrfzn8";
-"rutitlepage.doc-2.1"="lkb9ngckbnqs7pbdbz46izm1vjfcvr8z";
-"rutitlepage.source-2.1"="7mka2lxxkf4hg1512zhlajfsk93wm0g7";
+"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";
@@ -7934,25 +8139,25 @@
 "sr-vorl-1.1"="aspxka23zd8rlwxlvjvw6wlwkg38rj66";
 "sr-vorl.doc-1.1"="y9m89lwhx9rwd1k0w2bgwh5ip64awx41";
 "sr-vorl.source-1.1"="5zsgq5m3fkjip7qr4zkx51j54j4q5qpq";
-"srdp-mathematik-1.2"="k2cpd4saznmcksaxiv32kdgxmdxi79b4";
-"srdp-mathematik.doc-1.2"="522m4yi14gzwaqsbdq8hlm58jfdnbc3d";
+"srdp-mathematik-1.3"="qpp7c0xk0g21fq23h6v76558grpc67br";
+"srdp-mathematik.doc-1.3"="b6wy2yzsl6b415mxkw5bj6i3gnf9g2iq";
 "stellenbosch-11a"="s0wddhmfp77y6v54qq4jsmqidjq3bkqh";
 "stellenbosch.doc-11a"="97wbyj0mg7phb66ngkf82ziiy8v624b1";
 "stellenbosch.source-11a"="0raanzzc5qjay7gz94himx8np0437pgb";
 "suftesi-2.9.1"="cap1rpj53n6klf16mc445n4k3r5jj703";
 "suftesi.doc-2.9.1"="jhwkziz34371zgr9sssji656hfr99hyz";
 "suftesi.source-2.9.1"="4jisrrzysq8gm1cr4dsinf6k5f49gwp7";
-"sugconf-2018"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
-"sugconf.doc-2018"="siyxf3blr7z953fm4xy61z4jfx589bcb";
-"tabriz-thesis-1.1"="9k4d01w35206y8gw5f76ffx6abvdhgwf";
-"tabriz-thesis.doc-1.1"="cga6sdf865mjmzaa39173gy5vinshqpv";
+"sugconf-2019"="9bgrgs1gqxlj5czai1l1m45z3z4xbr6d";
+"sugconf.doc-2019"="siyxf3blr7z953fm4xy61z4jfx589bcb";
+"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-2.3"="p8d4ki9gyhwlw9x0nygk87dhyz2vkj3d";
-"thesis-ekf.doc-2.3"="ip1v60l8742sn7nagv6nn1q3cmra40jq";
-"thesis-ekf.source-2.3"="6wx57i0vyvff2qai15rjd58m2z238ib4";
+"thesis-ekf-3.1"="bbgsv5kal6shxd9sm7pjsgb9gz9syqhx";
+"thesis-ekf.doc-3.1"="b7459cmxvc392xj2mj27bxr8gb4622i2";
+"thesis-ekf.source-3.1"="cilr7qsq9lsv2jhvkzds1276cmc6nsa2";
 "thesis-gwu-1.6.1"="s6xwfmvvc6i8w9limmknqxp44l0dk7px";
 "thesis-gwu.doc-1.6.1"="s4hsb2vq46fdwlxsxn2i4dfcblp2jd02";
 "thesis-qom-0.42"="rnhdvsrpsgjbwih0ia9r1h4kyqdrhg6x";
@@ -7960,45 +8165,51 @@
 "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.5"="0dfnpgz9k0rnfcxd84978j40q9ybqip3";
 "thucoursework.doc-2.5"="2g1mix0k6jas8pwg3gayc3rwhp3bg1bz";
 "thucoursework.source-2.5"="g1503caaz9sfmxdvfkd1ia4hhlalcz61";
-"thuthesis-5.4.5"="93rq3f84hgx20499qj0b1h2jy7qiwyyz";
-"thuthesis.doc-5.4.5"="02kh9gzv7ckjhp815z4crvzpnx1nk4rg";
-"thuthesis.source-5.4.5"="lq084av4p4m77cmi462m210zi9nchx94";
+"thuthesis-5.5.2"="1ddg223hv0lahjxfqp4xyam3dqiisrc1";
+"thuthesis.doc-5.5.2"="69b7zd315rns793kcblsdkmn3x3famc2";
+"thuthesis.source-5.5.2"="p4d8lhf6ajacbvqws7pjjwhvk4n9hgnr";
 "timbreicmc-2.0"="8mnap2xvfny35sb0ziq5xhlckwcmgb3w";
 "timbreicmc.doc-2.0"="b649dhjapj0ani2as7783bphamp0hwsq";
 "timbreicmc.source-2.0"="8s3vn2id27cl1164brvkrxg96ggvgb3v";
-"tlc-article-1.0.10"="kranwsdzsh6vwrcwd2lmhmya9nc16rkh";
-"tlc-article.doc-1.0.10"="jjc3i294hyxryz62w2kzaf6fjdvfhvzf";
+"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.2.09"="x6gyg0ynpxykyd74n6b4d1aha6sfzas8";
-"toptesi.doc-6.2.09"="wpi0g36maax587mybmnp6gd4xb1rwrzz";
-"toptesi.source-6.2.09"="ak26w3nybbnqryg3sh9sfbqvk6rw7kbs";
-"tudscr-2.05m"="rlfxi0lf0yy473933ds0w4f88iaxs2by";
-"tudscr.doc-2.05m"="zf1a6mamshb3h9ijkcf13191bp5yra8q";
-"tudscr.source-2.05m"="rblvasxg57wsh98wiykpsfsb9xdk9nds";
+"toptesi-6.3.06"="dmvzw2y0ds92dli8sb5fwaldd0jh63c3";
+"toptesi.doc-6.3.06"="58d2smp53hc7kqymv2y206s10b14d9qb";
+"toptesi.source-6.3.06"="4030gxyzknihz1xy80j14dykczdz8qh5";
+"tuda-ci-1.11"="lnpnkdv6kpd31vga9358vfz1dla4923n";
+"tuda-ci.doc-1.11"="3gialzi9j38gm4h0cc9iw6z79w4x46ys";
+"tudscr-2.06d"="mzv2v046cg77wk4aqip3sp24cynsw86h";
+"tudscr.doc-2.06d"="vlwzb9lbpsjf43433lcfx38pzxpgpp8b";
+"tudscr.source-2.06d"="wwy27qw6b5a2hizca89a873i99dgaacz";
 "tugboat-2.21"="5kany9pm9v5mx260qhydlnvq3qvcixlq";
 "tugboat.doc-2.21"="9qidcwzj4n5bsiyla1rrgi9gvajmdmjc";
 "tugboat.source-2.21"="0lais4g13s4v33gvwy9qjkv56dp193z0";
-"tugboat-plain-1.24"="69gk0nnn9spbgdm8z4j3ad8a3b5zaqc5";
-"tugboat-plain.doc-1.24"="nrlawn9z9k374i9c9ay65yr82ns7fqdl";
+"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-2018"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
-"uaclasses.doc-2018"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
-"uaclasses.source-2018"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
+"uaclasses-2019"="d8zwjxcvgb1rnfv239xwf1qblqpzk32c";
+"uaclasses.doc-2019"="mv9hypafmsgnh5pxl2n0929ib8zgrda0";
+"uaclasses.source-2019"="mzvrcc6gvds2bw1a7cdkjd5n9dm3gczq";
 "uafthesis-12.12"="8qdm4v22s3r9g8q16sjnw3bzx1j9w16a";
 "uafthesis.doc-12.12"="d1nns5qzwkrywy9cghr19i70bp16fvw2";
-"uantwerpendocs-2.2"="9n6w15hmxs0ir9mfv49wxg2zw8v5zbli";
-"uantwerpendocs.doc-2.2"="phi5jkvwswzc9zyz3jq238q9i0abl415";
-"uantwerpendocs.source-2.2"="bdcdq90039vwd28nx9njls5c8ady801y";
-"ucbthesis-3.5"="zagmch6rnvnjiy9y0nacc5ciwqv5xsad";
-"ucbthesis.doc-3.5"="xzypd8jcnsipjflhcjvznd9y7fcqmm51";
+"uantwerpendocs-2.4"="l61xisx3imhck8sbqykhpjd7py573gaz";
+"uantwerpendocs.doc-2.4"="hk8a9gyw42wfp0300ya1zd7p69ycww4c";
+"uantwerpendocs.source-2.4"="pb13x65657039qbivjfpyni164fz2gbj";
+"ucalgmthesis-2019"="z8s5fzsbfbahahqgyj64g3p21xcxl3sa";
+"ucalgmthesis.doc-2019"="dkbfmm73kgrp5yi7dgy6ys84h58dj921";
+"ucbthesis-3.6"="3wa2xk8yvyh5hwy0d41p9fdrxvy8y2iw";
+"ucbthesis.doc-3.6"="lr9w29xp965yydg4mk93rpq4d3808ksa";
 "ucdavisthesis-1.3"="naibrb9h1lg8y22j26wygm9zxcv3rfc2";
 "ucdavisthesis.doc-1.3"="0mgnn8l7wwi7mhaqanfsrkjwydm8m2gz";
 "ucdavisthesis.source-1.3"="nkag4al3xvv8xnns5gspsq1ix6bii31p";
@@ -8018,22 +8229,28 @@
 "uiucthesis-2.25"="62smailyn66fyhpdgrmjx0p9m0j0n12y";
 "uiucthesis.doc-2.25"="ygqpzgk5jslsnqa813k0l2nvw2j8gnwq";
 "uiucthesis.source-2.25"="lkq6bvdvm6ya5q5wp263zqkk7y4ig57a";
-"ulthese-5.1"="xy0psmvdd3kwqis0896x1hiilkymax4g";
-"ulthese.doc-5.1"="5zzrah37v6fbbdm609vrgv4rr4wj0srk";
-"ulthese.source-5.1"="a3cg085hv21i4hj84s7ji4n9m43568pp";
+"ulthese-5.2"="rms2lyh9h1pb96v75xhh2v47md2z8wsa";
+"ulthese.doc-5.2"="fd9iw7jwfgj8y5yr4rxc5l5yw61g2x87";
+"ulthese.source-5.2"="6mhfbvxxmqpv5v57qxlc5acz9m2shsmy";
 "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";
-"unitn-bimrep-2018"="s3x065jkvzazjx24an10jbwj47903gjl";
-"unitn-bimrep.doc-2018"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
+"unifith-1.2"="22rmcvcs8frdj5zdkram69ws513blydf";
+"unifith.doc-1.2"="4gsy6kk4w91df3pkz0wxqybr13jgbvj3";
+"unitn-bimrep-2019"="s3x065jkvzazjx24an10jbwj47903gjl";
+"unitn-bimrep.doc-2019"="k2iakhx4fkiz9ckglr1pvnrqday0sbnp";
 "univie-ling-1.9"="ixg3w4ah5cy424cynzkf355xsx03gb6d";
 "univie-ling.doc-1.9"="4n02b4j80blcvswm9xh5fmhqm9gfvaxp";
+"unizgklasa-1.0"="pz93dd2qidcvdsa78zgl73s07zjgshs4";
+"unizgklasa.doc-1.0"="inphl2x3czqw7mw17if9ahl0jbin3dd7";
 "unswcover-1.0"="5bqxws27nxyhgrlc6c9k9v5pm8jvdhzc";
 "unswcover.doc-1.0"="9c32r1x4094k8saz0w3bcbca28vgl3zj";
 "uothesis-2.5.6"="zbf8swc2haqsdr7sibm4lz9sqyhbfaqs";
@@ -8053,26 +8270,28 @@
 "utexasthesis.doc-1.0"="x4ngw5sm9zm5w46l5xap4cwnygb8qlha";
 "uwthesis-6.13"="1z7cpyrzcb9ga77d9a58jm9234w2zafy";
 "uwthesis.doc-6.13"="w30d568jxqqwdfbrpm8s1i7ylssiz3gc";
-"vancouver-2018"="2yp7l10k8yz7nr3nh9sj0ix8s9q79b5i";
-"vancouver.doc-2018"="gan4b1yrhwvqxnywn8rb6ckqvgv9m9m5";
+"vancouver-2019"="2yp7l10k8yz7nr3nh9sj0ix8s9q79b5i";
+"vancouver.doc-2019"="gan4b1yrhwvqxnywn8rb6ckqvgv9m9m5";
 "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";
-"yathesis-0.99t"="fgngqy9c9ss4ls1c27f4h6cfs24g9vh7";
-"yathesis.doc-0.99t"="8fpr4vy377s74xw5s7r3d5cs3bw6yhk3";
-"yathesis.source-0.99t"="ib3wkx9pdjhnazss99xhamd34296c6g7";
+"yathesis-0.99u"="fkb98sisz9gci364livd8m89by2dkjvy";
+"yathesis.doc-0.99u"="9k9f6wvrjl98m46jvhjwvfsfbnjl30y4";
+"yathesis.source-0.99u"="k31bciljvp4lqr3w5klcy3zssazbk3f3";
+"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-2018"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
+"texworks.doc-2019"="gphjjma2ws68drzz6rmmj1hjb7bxc7ma";
 "arabxetex-1.2.1"="yfvy3m6rz45z7frgsw6cg8hk8kqdxfs4";
 "arabxetex.doc-1.2.1"="f8rpfy5hna1b6flvq6y2balxypjm6280";
 "arabxetex.source-1.2.1"="n7qncmdmzvkjxwn5d5nhwy3660ymvwx8";
-"awesomebox-0.4"="08yn30ibrrw9as1ivhg833zzz4c3zbvm";
-"awesomebox.doc-0.4"="ng0sswybixxaph1f8zx0axar1347b2sa";
+"awesomebox-0.6"="hlp6mahq6q1ysjgwlri6l4wszhm23na1";
+"awesomebox.doc-0.6"="cis8fkhcwr08nfv11g9l0iyzdlcmgrnd";
 "bidi-atbegshi-0.1"="qm4zcsccvzxixab9dalzvlwkniwckpjw";
 "bidi-atbegshi.doc-0.1"="lgp4qynjnz73qdhy543halrvx52gs2xj";
 "bidicontour-0.2"="dayiq858hr4ln8503y0xw8vqvfjjb91m";
@@ -8095,8 +8314,8 @@
 "fontbook-0.2"="af0x6y47qcbfhzs3ngyazacn289x99y4";
 "fontbook.doc-0.2"="yvq7kxismw59wayzyv379hjd0kw048k2";
 "fontbook.source-0.2"="46vhgm8k7pxwxpb654fg3aj96555fanw";
-"fontwrap-2018"="ap8pwxj94larm8p1dngr1mhdavncplq6";
-"fontwrap.doc-2018"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
+"fontwrap-2019"="ap8pwxj94larm8p1dngr1mhdavncplq6";
+"fontwrap.doc-2019"="p3m3czhwc1i2psby8dkm5zkpmzzkk91m";
 "interchar-0.2"="mphh4cmn49y1fr2klr1n5c2mjxryyjzm";
 "interchar.doc-0.2"="077lc5c3w5gq2cm2983fqlbhizjssgyy";
 "na-position-1.1"="gmc7vb0cp4c8qp4p99vpvpv0xxbgzhhq";
@@ -8106,17 +8325,17 @@
 "philokalia.source-1.2"="80nd8ig65k3xjn92rv7n8g17qq0k4q7p";
 "ptext-1.1"="zy9vq5spxci68zhbfa947x5gmr90ckzf";
 "ptext.doc-1.1"="3dsbqbc9n66hhw8nk4l7rlcbfw5b9pvm";
-"quran-1.5"="bql4m32hcl55q5sy13anys6dwyw3b6ca";
-"quran.doc-1.5"="5k92ss79s53aw27fi5c8yxjqa3ayqhn9";
-"quran-de-0.14"="28lmhjd1xghwr1p3grda1xd3zpl8w56i";
-"quran-de.doc-0.14"="xhfqqj35rih4d4shy2fvygava3217rm5";
+"quran-1.51"="70p2yq5ppljyivz8a47i6b50h4i23a40";
+"quran.doc-1.51"="rclicvr93ff0rx4bkixw83s0bg2bydfc";
+"quran-de-0.141"="m2mdwvd6j95q0dfy930kvvsx7m2n3znr";
+"quran-de.doc-0.141"="pdsnrima3mrs3yrra2cm7v4gdiwj3gds";
 "realscripts-0.3d"="h3nl45fx6790wmrfqgnxsy0v46i7gfmy";
 "realscripts.doc-0.3d"="4mm7a354ll0wca7q9nkazx29qbdah3ca";
 "realscripts.source-0.3d"="ngb2fqcmc4j1ijax0qrrdpf0g4587qb5";
-"simple-resume-cv-2018"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
-"simple-resume-cv.doc-2018"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
-"simple-thesis-dissertation-2018"="p1bspb2n9dc7zk0myww59v973rjshfy0";
-"simple-thesis-dissertation.doc-2018"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
+"simple-resume-cv-2019"="vjigpisca1m0lvq3rdc8148lc2in4zmh";
+"simple-resume-cv.doc-2019"="aaxl68aklgpv8996xzd0jgc5gw3859ar";
+"simple-thesis-dissertation-2019"="p1bspb2n9dc7zk0myww59v973rjshfy0";
+"simple-thesis-dissertation.doc-2019"="hrb22ycqxdy8ndw4x6ifl6jifswb7mgw";
 "tetragonos-1"="6v6w3fcjmyb0pq0iia29xcx3wsnpm47k";
 "tetragonos.doc-1"="w3b4g7k13lljq69vg11cakx54m0813r3";
 "ucharclasses-2.3.0"="ss0jlhd052vay3g42nys4mj4mcf5iqgn";
@@ -8129,28 +8348,28 @@
 "xebaposter.doc-2.51"="sbpqsj7cqhhhs9gq8jia92hxrdgnhzkk";
 "xechangebar-1.0"="1f2zszj2l5mkqv5zs5bs8g5w4c8rirpv";
 "xechangebar.doc-1.0"="xbirklnxaljhxxghr1prqq7zb9l0mgzm";
-"xecjk-3.7.1"="mg55mr9bzw9kbfagrsbhrpcnl9gafqd7";
-"xecjk.doc-3.7.1"="f7cys2csrkap7qqy6b5cb2m57bq0havp";
-"xecjk.source-3.7.1"="7z4rrvr8ixmzjm9yhivsy5whcfx4wdhd";
+"xecjk-3.7.4"="c8m9j43ij2zqigs6h2r17hbmzgiglfcl";
+"xecjk.doc-3.7.4"="m47k3b09wr6gd5im7qgx4giwmq55ikbc";
+"xecjk.source-3.7.4"="naazw07wpw01ilsmby3zww0i5ralk8y7";
 "xecolor-0.1"="pdybpn00rxsb5ipxx377a77xnmmf5i43";
 "xecolor.doc-0.1"="vl2lpda4kkr2q8gzj6ii2rjfccx6qvl0";
-"xecyr-1.1"="m8yhfaydf5s8357m1hkd2hv267zvwnax";
-"xecyr.doc-1.1"="pw3llm228dnfs7in0vajnf8skb99c9wv";
+"xecyr-1.2"="8zv0hcgk6f94mjb7h0vkvpz0yij6p257";
+"xecyr.doc-1.2"="27wisfr0l21bc6rb1sd2yrk9pa1c78z5";
 "xeindex-0.3"="85d9z28381jg0jbkwrjrqlcifp23qsxh";
 "xeindex.doc-0.3"="7q7gxhy5zx11dmwvlfivg91v0gbp8pgw";
-"xesearch-2018"="0155d7ag68wpw66xqql0as3ldig0vx2s";
-"xesearch.doc-2018"="9nhi7api073chyc59c6i3wd6gvzmrm32";
+"xesearch-0.2"="avch7ld8isxphjd1qcjcwq8hqqkvcz1a";
+"xesearch.doc-0.2"="p2j9jg8h9xbad53h4d10nqnvv9lqbk2z";
 "xespotcolor-2.0a"="vsdrrcvm377salld5myd4aknid3phcvl";
 "xespotcolor.doc-2.0a"="mzibfcv18iwwwd71id0qajhk55kvnn39";
 "xespotcolor.source-2.0a"="lpc06f6qc8sff0jn78jsvmd43az18vgy";
 "xetex-itrans-4.2"="m9f0xqxgxpqsi5bml6mpgxvqjjpz1fkf";
 "xetex-itrans.doc-4.2"="nlixz1jqx1al7xks2bp723yl63whrhzh";
-"xetex-pstricks-2018"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
-"xetex-pstricks.doc-2018"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
+"xetex-pstricks-2019"="4vaa9mkycwc7kwaxbzjfypk3xx7nyxqh";
+"xetex-pstricks.doc-2019"="lqs6hni0df78jwiy8k0hxzpwlpn0kfd0";
 "xetex-tibetan-0.1"="yzps4y2frsplnawgai9s9xb6vpk9h4zf";
 "xetex-tibetan.doc-0.1"="m49lmg8669bbir9hcj33clc2v811xdvb";
-"xetexfontinfo-2018"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
-"xetexfontinfo.doc-2018"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
+"xetexfontinfo-2019"="jzx2is0hbcggma6s0pdzq21hcb5j8vgi";
+"xetexfontinfo.doc-2019"="h4i3q0c5rpbw8pssb7d6nyy7kqvkkj98";
 "xetexko-2.21"="xi7pi65x4bkjzrsfyqj8iwcmyh4fv726";
 "xetexko.doc-2.21"="flqfvmaajg0w96farbiwipyi59vf3ah8";
 "xevlna-1.1"="jwpjj1b3y45n3lksn9wvsh3hyccy1i00";
diff --git a/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/pkgs/tools/typesetting/tex/texlive/pkgs.nix
index b60bc8693e5..31680913a9d 100644
--- a/pkgs/tools/typesetting/tex/texlive/pkgs.nix
+++ b/pkgs/tools/typesetting/tex/texlive/pkgs.nix
@@ -1,452 +1,467 @@
 tl: { # no indentation
 "12many" = {
   stripPrefix = 0;
-  sha512.run = "400c4de374d02934965b5488f37c1b052ade07c2acfae957c9846390b2b78315c6aed2b533a2271bbacabd77c40536b63973bd42e2686f4c6d25d1f4c5b4709e";
-  sha512.doc = "2d959b52c8a636f1a72324b5c94e1bf150d00ced12493b8e58b005aa896c6f968dfa48d18abef253f09ebd123cf6b872253cb4962f26322d5f8648fe3a71840c";
-  sha512.source = "cb681167a26e813bb7d0cdc4769f5f2d4f5be629ec3bf564a36a53473a491f60702daee655e144fbac08b1361ef35342846e6e192b117f9ab76cfc37f74166a9";
+  sha512.run = "57a177b65450718631f36bfd8db0f2d1bff788f3bf147137b6412714cc945c7e08832f14f9e7e659adf7e072a91f13a2ea27fe3161cd9b60313bc956f1f543c6";
+  sha512.doc = "9ce7fdae151a116ef6b22943bcbd1e94b90862baa5d50f54a00105d1f2d623f75a2e1440c3c49c560e2e6c5baddb8a6772753f400165b63a90a84f540e3fa381";
+  sha512.source = "f007dcaccb364964a73da6a09db5e6a25ee401d8108b19021b67023af273f486392cef6a0b01e951e9fa885304d0e157b919cbd6abc472a96dfbbb0f432b8530";
   hasRunfiles = true;
   version = "0.3";
 };
 "2up" = {
   stripPrefix = 0;
-  sha512.run = "e7ff5c56c25b1aee2a6bce971885bb9e63473e7c86f07137358becc478f5485af0d629305efc4e490be49ef00a15f7ceeec9df2c9237f8ee3a2e419587f44782";
-  sha512.doc = "ead6134de47576dddd7dda1085cf1cd07acc877530d918b66226d67cf5bd50bc5cc3a078519e5f3148dc1b131618b175a2ffb0b573632bc14ef44f63a3e0a665";
+  sha512.run = "b7844f246ef486d68babff92f2f648ef6b2eab28dbf8d22f649b2c9c26fc857b05f475e766a0c9b4c4cb5be1224afc690c22d19865e9efb9f4e75a8ff6d9dda8";
+  sha512.doc = "c8569e5cec43525d6814816f7fdaa6bc9ce0ea810fd6be60da992c251fcfaaf4c5229a1956c1fc3e6675ea5dfb4529267acc5f198053a80902b69b25a1464b75";
   hasRunfiles = true;
   version = "1.2";
 };
 "Asana-Math" = {
   stripPrefix = 0;
-  sha512.run = "84d6ddd0e598a11ff30df3e0bfcf6bc0ada4e4d0585c0506cef557f697ee543d4279e2024d71e6812eeda746d6b979a36e9beba1e78774b37c7eff027d4285e7";
-  sha512.doc = "4386e190f68aaa8c11e6eefbc593a318b179b6592ec5bec8f72da5fee7c548057e4a9e09c98155b6d6796f08e1ee8fa4fc9676331332fdd0d377b49eb4ac1d88";
+  sha512.run = "e1ee08540790685aab85c8acb407526f5936478c37d86b266728fdf39bb906bc7f6566bf5eae90b631eb59f59d65d414943a6faab922681199af76102078ed4f";
+  sha512.doc = "69a6615dda5f7e47fdff1b0b1afc4211f749a929b81f19a554246033e6f5f4a482c3c03a6903b64d83c4daeccb70983dacb35467047a467314637e65a19c917c";
   hasRunfiles = true;
-  version = "000.955";
+  version = "000.958";
 };
 "ESIEEcv" = {
   stripPrefix = 0;
-  sha512.run = "7476dac2ca91327d11c23737479fc4265e7227b9518ab2d3499d0ba848cde85a91c1db83f0876a06f28bbe4168a7008b66d15de32e015f8b8e5c6fefb6a34a31";
-  sha512.doc = "aa272672706cf5af939f6341e0c7a0d1a0c48afd512e068819ff0dd767f42df8e662cba8ff34ed28513f2ef271f3a4968d5157006fe2b73c47989cb845c5e6d5";
-  sha512.source = "2b2ca74e8d3bf58f596a918b4787a1183b7afc78428ce1c7159bee5bcf9b2b6ef702449df4580e87058dbfa8e920e5aa17ad4e9dc6fe26abba0b47d1b84389f1";
+  sha512.run = "79fe8175d0adf25ebf30421eca323f9042bc98792290763b06ba53978bf4962dabab228b9aa6220f859f64356eabd2cc94e71351aac441e64afa3fca8f73f742";
+  sha512.doc = "85d731182d5284da69254744a7d9e23326f5344a6585ae95410671cd5721961958480fab4b621d58fe01ff9bf0a602b3f94089dafaf5614fc8d57ad243e9b223";
+  sha512.source = "a63bc1de05f659d72f9fc297436e7aad36db6124f22c2a29c65418a1233c37a0a995bba3267fca6fc83f04efa119315c25937aff733b64b7c78275313209d42c";
   hasRunfiles = true;
 };
-"FAQ-en" = {
-  stripPrefix = 0;
-  sha512.run = "c98c84b11cb234b7d51f5c9a031013809eb1098e2d72a672e866103d1b41e477a295be79099b8bdaac8c467406cd898f7f5962fe604bdf1125cf6f2166c9aca5";
-  sha512.doc = "bf93b4a044dc59221194dcee1d78208c509b532fb036ae4fc9f4370d538a3911fb6beacb6afdef249263e8eae2dda3b90b2fa86fb2e413d17defe38a9c4119be";
-  version = "3.28";
-};
 "GS1" = {
   stripPrefix = 0;
-  sha512.run = "353d242edb0379e0af6fce8dcf9c9d03386272e937623acbb960101f2bb9a195908eeb649845f27bac8e5e8bf0fed00f41cff70b03202f0093981e9e4c3a8eee";
-  sha512.doc = "20c0226940fd057b921ef6871bd495178a7fe02e1a3af346f605676203c1226be4f21569666cdcd277f7448414b5e8a4cf68c8c31d08494e880f04ae7701663c";
-  sha512.source = "199ca3eb77153f7232cb5ce8d0dc733d43f6ca4449f83b773bc7643d93561b18be2bfe5e908be5cb60ff03c9dbbc2ab4c0d9ccf733e73f1c9585edfc99991fe5";
+  sha512.run = "c71acefcb0ff1cd97792c27435e7eb4f4e32f072a275e5eb7dd13d7b9928ca00318d0acdf605f35cc4a3d7099247c290155d6963ac1560f4b11f37a123fde0b6";
+  sha512.doc = "6e714b1087d228923f38dc3c8680e57de314eab79ab15f0aa247ad002a3aa6a9dac2a253c5688c904408c8d14dadbe307b3d3446b38db767a650989d5ed9e878";
+  sha512.source = "3ad67dc4bd1033f828cbc11196a6ce9a25b2abc90348f727423effd6d97acd7fbf617b88740afb9050f481fb403401033c3dc60c3b9ac326467697f9b1d09a49";
   hasRunfiles = true;
   version = "22";
 };
 "HA-prosper" = {
   stripPrefix = 0;
-  sha512.run = "90c5ac57e11997c7ef9946e33c209500d368568eec5174ef681fe64eee7906dc1614099922286fe32893e75398b9451d6e0c38e7f1b88116d0338d74f58607ef";
-  sha512.doc = "6ac2f4aabbba5326bb76d602fddf50dd7577845047dde64a23596ed6ef3433ce07a0abcabfbc3a5a86b9a0738101619e8108660bb1ecb0d9196834ca62515fa1";
-  sha512.source = "ba1ccb49b0341425b7916adb395bf097ed02b840f802cac59e9902242196c3f394e7a6367c376716e098cb8dfa1f78cb36dd5cfdf282ec6cdd326fcf2d2a8051";
+  sha512.run = "330df0a8d9b7b7ed5e4d2b74c626576ca8ac852cc84f9c79296141b14892819869cbd0e7f68050b4f3e5d107c43f9939ec9c9248c19ddd20da8d16ee2c25104e";
+  sha512.doc = "55822b9703d44481ae62dcb690adaba29cee5432b5b8b9f549884f55e943b1575064419712745166a6c0fd0fdfadac60473c6642816e1efac92c8e27c2cca76c";
+  sha512.source = "646cea88f8d725e30257c15bcd198c0a2c9cd6477b956279a38443d5b22ac4c64e795a2ded53649b3d1504bbc66639946c331ba978e775a5fea33696c9bc6c2d";
   hasRunfiles = true;
   version = "4.21";
 };
 "IEEEconf" = {
   stripPrefix = 0;
-  sha512.run = "71cf1c1865fd2844b174399a66e104685a335779f262439bed21e93069f005139746a8c0e1ab741e3b6dd0bfe02a6782e24151c0493b53b03a126dfab69a4713";
-  sha512.doc = "17235ed47913b213b52abe241e93ebf8206e0e9bd6390bb1e1c1c757f41a03f6f6b3c1c19df05d8ce2cc3102c1304d0cef6c11926f2f0ac64f4dba95f3054acc";
-  sha512.source = "47ecf7781579e77f39ef7c7b737e672f27e49c93b0f4c83a45c9f52562d410e00584422f7f40f0da4cf9d259f92d3e8992cee717886ad2cb4cbdc72849476b14";
+  sha512.run = "bd35025cabe78886f78333cb4ff186d0363480ea0c1f825456e9b6debc08c0a2dbfc7c703fc9caebaf2a20c47925141cb090d50146f054a76e1aecd861408517";
+  sha512.doc = "0316a52d380555afb04358cadd56e6fabe23293bd3b6dd0f0d4e4df9db75e26708dfc7df4c280a8a9759e4c8518050805f197357b2efa43664a984f56dfabb05";
+  sha512.source = "18d0204a051b8c1d0ea034b7c3357228b0dd2f40d44ffc059ee270fc22f284a833eec72527874be0c1414e01ca91f403726c801f75e2f6cd2d0a2b097db5c53a";
   hasRunfiles = true;
   version = "1.4";
 };
 "IEEEtran" = {
   stripPrefix = 0;
-  sha512.run = "f18cd628213553ac5ede282409e529c38a6fb2caaa5b09b37f145e2a8b7101a8bfe8ad7e70cb119b41045cf6cec3169ec862484f402017536045eba5b5c74f9b";
-  sha512.doc = "b6ec01292fef6e3000f57b9ee482654c5f421cfea479bedc20a8ffd668c5d04a75d7d86868a040d62361e12e7694d0e3a6d1897f592023aeb6579e10fd7c23bf";
+  sha512.run = "7db183824e4a62a9f90046d62d33940573a25d2ebe72de0d57a68340e82e2b4b21fe74e74608cc73fe53b0d889019884aec8e1b11060849a38107280e0fce2f1";
+  sha512.doc = "0fab8351fce31d36fc1cee91feea7d09e1acd78d80b0500d8c3fc7f3ce322055b952423e7f39d09f86e99b22aa24405ff5a0f00207f88a3cae8cf39593e9b326";
   hasRunfiles = true;
   version = "1.8b";
 };
 "MemoirChapStyles" = {
   stripPrefix = 0;
-  sha512.run = "143b0f66d4801eccee51a561cd7b4813553483a367900c2898d48a127cd032de87968cb53b6610c89ff4df005efd0624c502d8c78c4e0d630a50573da6ebe470";
-  sha512.doc = "ff3b7ead446cd0e8529e41c6248f124f5695fad04816977fffb83d3a1ef8a800a357927b1ab3303819e8a8c230bb26965f3d1eff0dec7a4c041ac19e66dfd1b5";
+  sha512.run = "83455766eb557edebad28b73c5decb0a7a23f097bdfb795cad9cc0847af916ab012fd044a63dc9893932ce0f161e831a2a8e7c0138a2157e0f1f4f2211667c16";
+  sha512.doc = "32b171486838a762b2cd49af46d3f2a152e9d592735a15a407784cde02e5be9281798302eb094f0c045f895a8f6e86464e9c214bd06f9061c313807ec36cbb1f";
   version = "1.7e";
 };
 "SIstyle" = {
   stripPrefix = 0;
-  sha512.run = "ef064c140f4c3cb71ead2e3fc0a9a787a4a454725c67c25fa26b2bdca2772198b7e7b026cd6533cd3d41a1d81919727386d4c1cbd394168c7fba152c17ee1fe0";
-  sha512.doc = "ebf6b9f40371a78b61292bb42ddf1fd0d01c178d7eb0b87aab13d94af96eac00de0045ce7ed69521b0d9fde03cb6664d2bfedde2adafd7b2c21eee2d542fd180";
-  sha512.source = "17dc56f252b4ae6025177747bafe6cc4453b69cea747834914693b372cad0b60d4b9e58e16bd8b50332d6d23f6eb1c628541161959f90ff24751386b0275a171";
+  sha512.run = "9473f7ef772f10ae4b70ea9d3074cbf7220ab1672076064aae9e54cf72d5007fa7e7f73c66082c53098c772a43d88af3ca1073e875c31c2821e528f8da836fd2";
+  sha512.doc = "553357a037de0494641969db5a434a77984224f7fee3f64a2e153304eed6ae38548a1cf0330bb5e6cfc4f4dfdc21ceb8cd2b0659b0e27aa79a7379a82441451f";
+  sha512.source = "3d2840beed83bb3843b89b08e3a2d111bc346e221335288ae35c19f7b5a843b668a5cd0b9f60a5df270a0c0f8953cb575d27a17f534a7b7808a37ee58aa1007d";
   hasRunfiles = true;
   version = "2.3a";
 };
 "SIunits" = {
   stripPrefix = 0;
-  sha512.run = "f82c11278447de91742353575da84c955307b245dbfd44b0b54b24dbfa8b870f682971ef57efac44d150f84e0491c4bed1ef7484ca171a29b579a9fbd9f55b64";
-  sha512.doc = "1e9fe6bab2bc93db0fab3af91199b278e857b286803859a27caffa7c7c305f08210b11710f93a694dfe7a10a0eb66bcf13742c75539cd2e7b54af4f30f495f77";
-  sha512.source = "8ba4d7b440ce99ba0496bb13da1a3da89d8cadad1f53ed70895bc1a61efc1288c3e96fcb2cf074cc9235cccf7d5bf12d964e25fb5fd6a63c8c913dd52ee383d5";
+  sha512.run = "b804d61bcdcc9d6f4559a05d8bfa7d8f7a3c378a618e5cd068b29e2661968b7564c36ce2e3d97f7fc7af15c11e89ac61e88ff25318d8c08536181d1f546f260d";
+  sha512.doc = "09c35a6d2e2d90701ac099eaf06116d4bf5b93652c512969dfe2afae74c9c04d70dcda8a5053d707aed0724fba0a8d9c3487a51fc617fd1a757c596a99b974dc";
+  sha512.source = "82081b1c503098847bc5f24c2749fb6abd1a739ccd21b01464119b7b6a92bfbb51666d0f5d14aa335e23a03b72b5eae8fefccf9c790819a4f8cf14b37ff297ad";
   hasRunfiles = true;
   version = "1.36";
 };
 "Tabbing" = {
   stripPrefix = 0;
-  sha512.run = "3100d39961501a8de334b2438c37d8e67eecc7e5e4c309e78efd76d0f94ff4b5d0358780ea2e674a9d7a79ead0de370bcb02d62c137b420a9629db4e699b8fa5";
-  sha512.doc = "783e833b99c0c928cc539105b91795090303c626f6ba21a035e2bfa744fb007c94a9a21a8677b4085a924a825fed3dae30fc0b994d2c00c9a410b1ef2c148301";
-  sha512.source = "09ae2782e7aa169060e710e7d24425d5f913f03cedb81c0b231744324b1c820c37b4e67799bb7bbc13907de229d163e70733788d20eac5f48be1e6378680035a";
+  sha512.run = "10d3c274c5838c48bd47f651bfc57aeded8246787e23091307dcabf2794fc9eec19bc3a3af9ae08b812688ebc4fffd295fb01c7be7d61fcd06ccb46ce4f6b739";
+  sha512.doc = "1f4eb22039e3bae3897502fe541e595c802fffa94d2cdefed451cf24883e1f41d29e9ea0065d1d68ddee3e166aaa1ba7896dd84bf612e9c007ecc5c1e2d5f616";
+  sha512.source = "a4c7b558e6e5ad9eeb8b4e3d81c20edb09d66cd8aaec2b501224fb7f93a40c3771f8e23d2fbfb910158464f98d8172bc691787ef1c2256066fb85e96068f368a";
   hasRunfiles = true;
 };
 "Type1fonts" = {
   stripPrefix = 0;
-  sha512.run = "89255f3388f0413b488d2245167b5ad94cc5f1245fc67e57c718c809129b6831896979edfe8ab1c022fdbcb1f32b6881c281bf06dfda9254419c546677a72718";
-  sha512.doc = "69dc7375424de9f884ea7bfa230f626bc8b0c49f00043aeca6d9f1057ca5bc5e442c94051d1ce2b89b9734d35adc45c11280d779d9ddffa2d98af6a318297cf2";
+  sha512.run = "858836fc8a955b87f823c25b22fbb4b07f119186ab437e0e7ef7d387bb8295b8a65deb237c649d93afe7d72213745d4cfbe48a51372c69c12d088f5403f22dc3";
+  sha512.doc = "5448b85539d29ace8365bd0e197693c0c4c53a145d5182c3f125e11cb3ca8194675ca9553ad53bf7e503b1636f17614ea2e338113f61474d9744dfa91800390e";
   version = "2.14";
 };
 "a0poster" = {
   stripPrefix = 0;
-  sha512.run = "ee50d613ab884611a263e854f16a42bd3c31d9ff7ec8d9f180c3d6ab10e336f15eeb248daa5d68c60b56bc25fb7783ccc7bd581b4da3576da72b00f6814bab2a";
-  sha512.doc = "2f6ecc701483110f1806bd4a5353ae928352be33832eca18c1d66cbfacb1dabf283644d89ad0841e7d809c621dffe463e58e5a0a611cee3e605bc36135600a13";
+  sha512.run = "95c13cc0fc3e4c8b76e02aef0622af10a420b9b536807effad3fa99822ebe1babdc7219536178a349aeb671f3bbdcf9e339ddcfa73c7afc71dafc2b2d7486996";
+  sha512.doc = "d17f3a87682008d8110bb5562aefee406d84b15e3678e165cc3f50e0280aad0736ff0b9b9847d9dc47cf08d3db9a28be71b76f9a5c61c8f3dad0aac187b23434";
   hasRunfiles = true;
   version = "1.22b";
 };
 "a2ping" = {
-  sha512.run = "1432c0f8d12775596861896997040065949662a24019859778378b8d9ee2440c91957ef5ca1e68b167bc2a47027574a3100d26580f0622c7699333195524f340";
-  sha512.doc = "a56c341ba847e585422ad5b14495c31310386e2de3746f2be003a4cdb2547c2a9c9ac64ab1e553e313a124c91761c8dda4f9b251937cb6b18e2e7294733ee678";
+  sha512.run = "983084ca3d70eff729d81d5d52a74e1bf1f95e384916bc81d17be81290f70c1da5ac891c1665a2451975f36fd56ea0036e1d0dc46b2e98b61ddc660ac044c23c";
+  sha512.doc = "daeefb01a0197e3b7751614cb84e2926f670d36b7e8a389bfbbe39cbd941c4d10ef5112593bfb88e11fa15f7f7bb07f2538c7d0a68cefe1482bbdaf02d475512";
   hasRunfiles = true;
   version = "2.83p";
 };
 "a4wide" = {
   stripPrefix = 0;
-  sha512.run = "2d397de87107b8a6488ba16c11a339a2c0b0a452601acc5543ab6342441a1494b894236581b0cf1585a08a596ddfad22403a7d69eab5845b47b724c108449df8";
-  sha512.doc = "6bd5498f18e83eff3ca4f3b88d7cc4ae111cb5f1ebf2cdedf51783e51ae9f99a45eec7ecd3d8f8ca8ac8fbb075b452bf2a782e82ce6f6baf4b8082ed13dd2ef3";
+  sha512.run = "e0f1f95bf660760683d6c5a917d75e537a0347837eb4388eded8194c6ca5371b2ad9be9829fcaaff1e24b7d8baefd287db6add752c19a57a6cf0737017e311e3";
+  sha512.doc = "bf059462ec7e28ba782d5842d090c93f4e911bdf44eb3d4f184a7324b454105295460a52414ffcb9fc71dceeba902b1d78ba208d0998f71727ad41299eb1138f";
   hasRunfiles = true;
 };
 "a5comb" = {
   stripPrefix = 0;
-  sha512.run = "6937bb7c1bd36b18a24fab2a3e5668e09bde9731e384eb6a464686994d7baa428480be79efdb96369261a5c1e399184a70955c7aa62a88e876cda204125f16fd";
-  sha512.doc = "65e076bffeeb64cf048261ad4806eb4233e067ec29010c435c48b0d0824dcd533525fcbb0af3dbac6b3a63bf13da43564a24bd6be56b24054073a7656534c0e6";
+  sha512.run = "443548964eb48ec458942e97f0d6ceb698050a5d4dc83ad17a71db0f1d5085a2c8e73c3e8d9bdbb7ab7e6328d12e42a6ec05c4c7dd4247717f295fcd5da66423";
+  sha512.doc = "ee845d8b6a21271d2f0e4e6fd24c79a1235d24ba15cc2d037eb41761b05ad3e69dcb5379c223c07b81c62df5f89190c84ff977390e149566710ce7175e4c2823";
   hasRunfiles = true;
   version = "4";
 };
 "aastex" = {
   stripPrefix = 0;
-  sha512.run = "03c1bfe72cd452542c114db9d3c388ef338a8722d78fff6b9369c2d8a43b057babf01e25f0c9e5908c14762a8d7717586b05a02b8446d098ec5b7885144e4ac2";
-  sha512.doc = "8e0afa427a7b7b3f88b2edb1b25456670e7c9b9f9e478439c93ce0689680290e497b41c392f1aab12687c0498b74f15e406418b99d49850774cfcbadb3888471";
+  sha512.run = "387de695ddcca83c294a39846bad1cac883382f82ce1cf1eb481c12de181c062c3a451da084b42937d7f9bd86e9102acd4fac4b2f7323affbb33bedd558f6df8";
+  sha512.doc = "8cf0ea4b6a71568d7cfa4b6f5470a7a326fddad84ea342834bccea8c3301d52debe835617fa5930414291a977104236fe8483f59913a15ac282c51841fd061fe";
   hasRunfiles = true;
-  version = "6.2";
+  version = "6.3";
 };
 "abbr" = {
   stripPrefix = 0;
-  sha512.run = "314461929fe072b426700a4c73f1a123ed9f0dab9ab415f34433582f19314dbd70dfef9b26628fb6220f8be97990417a1e40cf439033e422876b55d565fac3eb";
-  sha512.doc = "be2b78976ca53d9c8d3b0ac56e2e2fab14b09a0e67f64c9fd243cadda768193314925b16a278911aea40c74978676a40434027e99b7d674596ce1241f27a677f";
+  sha512.run = "4b5d504cc9438ceb97a6935e66a6eaeb494eb76eb313bed275b1f1a829690569972feec048132e12b5849f398d0a4b291bc5f9ce8462031846ec46bc88ebab3c";
+  sha512.doc = "7080dea132581fdb0803b4ecfdcf4fd5ed5a689bd7e0c7b7b699ef5b3faeab908042f1704cb553ce38e7f37d9facf7d22a74ac71e2cbd269298f35666367f41a";
   hasRunfiles = true;
 };
 "abc" = {
   stripPrefix = 0;
-  sha512.run = "ed8a2f56e8f02bef2875a7b90eaebc7e70764c1feab945cdb6c1521be16e9f63d6d830bec57cccfef7b02edc1958f9ee48957a5f5b0e34c091c4c020bb2a69bb";
-  sha512.doc = "1b641a4b56ccf02c8f0db3a169f1c734a56dc28c09303f9d49604bb1c53f5f1283850542af8233149fc9bf4269b8e10b5921b7b06a3440d32c044a80092d637e";
-  sha512.source = "b5ca042547ee5df312c25c0927a64bb2927c9edfbe40264b02b5d06174ee7c2eb7e20bbfe86d027bfc3290f214b9cab0f5f31924e24f31efe31240b6d70ea85e";
+  sha512.run = "8b1ccd152ed2ad90810551a36f0fa7f114625784fa967f70b67559f9f1e8eb32d7edd08efc9e55dd92723df4039d1bdcc212200d712e99f27de84a153c2a3777";
+  sha512.doc = "5f127f8e1ec104b40ac4d5e9bb22965e9376033892362073cdea9f65f1f10a4152f237b4f27bf52dbbe1389f59d3da673434c39a2b3f43d6f17aa60caabd5584";
+  sha512.source = "e47ba563a1018edfad97fb0556e4f74c7f3054a56c38304d9a188a92b51554628430332b4e66ebf1d12eb4ec6719cc13d7ea62c23157e70a3c0d40e172b9a04c";
   hasRunfiles = true;
   version = "2.0b";
 };
 "abnt" = {
   stripPrefix = 0;
-  sha512.run = "507ae784570d118ab41933a9157cf80f1009d7e5213430709d0bc93928127d3e2cd3542c28ffed887b81cbd32896fd3364dfdc2dcbf9a53b5fc2c023f2c29d9a";
-  sha512.doc = "1320d38b4f2608d970ffbd9f4b5601b361b554c2824db4f0941352eb14774ccd9e30ba36e8690466cad9df060cfbcf7b0e4b32f14737e98f6c1057e8a79754bc";
+  sha512.run = "e26dff31bb974379dbe8c33ce9a3321870ca0194ad6714e2848c427108626c066dd6c3ae7e0c7ce182f75cf928bb9741c09ccb3fecf3cd20c0f0b7b450219c45";
+  sha512.doc = "dd331cc5a403bcf10e7c9cbb551cc604e9de8df456a373e2b4cbb7ec397ced5b1bc48d0bad1fb9201b73214ffeb54cf0d7291e66b70af697a5638641a22443ec";
   hasRunfiles = true;
 };
 "abntex2" = {
   stripPrefix = 0;
-  sha512.run = "5d2a430292b9c12b7c4c4f6b9423dfab7814db494b756c676177231d433b49e48b07ee45e0a6621dc791fc82f90dadcd1ef94c641423ec9f04d77793ec5a8e7c";
-  sha512.doc = "990300186779bff7a8582e778cbbb3890d0d506263234b8462b0976fc8479f7fdc854017fc4fd3c3d3139edfed961f12efe0f0010ef114145f511aa127fc73ee";
+  sha512.run = "951c039cf0c97a6bd3974bd01ed9323876f1ee74b8250037dce3e92e00d598ab1cb2cfd0bbf4ea6d37b5f8c3e1095e531aa245ad1a91ee49262e6f99c5c84e59";
+  sha512.doc = "b6a5871cc33d94c1294a62aeb809f9d29ccf021cff510497c02edbaef2f155a55847dc521a0f698367692e556b2c588a95066bd3097482b0477a67d4a78b7489";
   hasRunfiles = true;
   version = "1.9.7";
 };
 "abraces" = {
   stripPrefix = 0;
-  sha512.run = "f1cea8911586725831da78c7bd4bd899d320438af1a3793265cdb5502973df5cbefe096b21673ecd0ae4008d687d2dfb8c6f5821a9cddccc57efdef24c4f4082";
-  sha512.doc = "43e4588ec9132de7de88c7e538f2c4797929c5a6202080682b26bd008638497a1aa8ff111f0963550763eb1d6bfbbaa44ea5f8381515025ca6b1e7368dd8869f";
+  sha512.run = "8d75830f3230b27fdee0b21cadcc9adf604eba3058607675b23231cc43be6a66d090bd64857b3715703d2aed1e8ecfb618373b89cfee743004f1bbff5c7d21b6";
+  sha512.doc = "e7392bdf5f19e5dd4dafdc1b058cf0d587d9b1d8400ae01bac3a928e3edef962567e24c53b219206a6cb82f24085da43d18525973b7ccadce05efdfe79b5d524";
   hasRunfiles = true;
   version = "1.-";
 };
 "abstract" = {
   stripPrefix = 0;
-  sha512.run = "f793a7b5e51b588cdaab8565bf14c39848d44e7d085ddc6ecc5fdd6bc9ae0fafb5cec3c98a0ac5657e741d6f92fffa8fb53e7a371a657eea7c04dcece530677f";
-  sha512.doc = "a56de87bb9ca72201ef854935d49dfe9d855636573ef37366e679748cd7d9f0a65e6c7629af332f764c6afd811875f5d65e0472440ce233b5fa4ffd990c67d8a";
-  sha512.source = "38f9685facc7c14c2c0387894aeee66d32d4fa351337628b5b222afbe3dde5783ff47a0755f69d52426bd0d3a6b74ed0e87d9fdc20ea68c8f9156e73aac309bb";
+  sha512.run = "2d805c2cc322cd802d612213ce525765d49d06bfb371a4ac5d1434a3c752af0ba0182093b0b6e4ee28a80ab926ad0f3a0403c03f871d3e003f6eb5a60ae39c34";
+  sha512.doc = "4feae7e22d9f8c6866a9b873359a3060ff75ebcd833e1ea5f82e833933b5beb36260833675775cdeb83f1cfde4dbae3421434890aa9f0f7539c999acd2e0405b";
+  sha512.source = "e68a030e56dc15481335dfb1ba566f9b68e92933f27d296d72e20b4d3541790b739b945fc1b39415baadf045164158618da98b63be567c1aa263336579986e8f";
   hasRunfiles = true;
   version = "1.2a";
 };
 "abstyles" = {
   stripPrefix = 0;
-  sha512.run = "c74147665d96894578117d4622bff3267162dc241132004068b2b143785c9741f537a57cb5e700d7204293e71414e7e162eaf89253970910e3aa9283b7b0f42b";
-  sha512.doc = "bc59a02f0a348aced95cd3830f9c89860f284fb654727b39e8aed2b0c7f3cdb7136c6644c55be92cd2707018ed0b0f95835d2bd010422a503cfc150a6463d51b";
+  sha512.run = "de7e7a5c7e56ae4fb478c9a072c6b2dc8716ea34ee17be577cf4a485c5506f16cc5b79293cfbc80b245ab350c2e2059dd5fb37a2e28818f492edf7c0416d52e3";
+  sha512.doc = "d12304eeb2cf797153d7e17beb25c462b3fdf75f5b7b1b24e1ff89d52ce8fe5b2a0fbf88d083ba51301afc45f51871e376253aede36bef21becc1a4350da8259";
   hasRunfiles = true;
 };
 "academicons" = {
   stripPrefix = 0;
-  sha512.run = "f23056755a69d7577278c5a7784387af6c5f1699dc2b20530e0c5a24e42c3b3e855ac0d85de0632b031013c46c3bc77b5499e83c97dad91ab1aec0448768c872";
-  sha512.doc = "94371d410b3a064fcdcbabade35218a0b1da6dd0c266f855273048b7dc4facd85ea158d791ec54814267c3af133bbd0443a2ac1262678e690722e1896093c1d8";
+  sha512.run = "8c394e4ebccb34cf3b9878a3b3577c8d43369bbef3ebe336336b9ece077e9fcef8ebbdff16f00355b7940bb325fc62ca22b428d2f25559bdee0cfaea73617938";
+  sha512.doc = "ab38b79d6893ba290c13862e4518c7cf6ee297f4b3a248d051d1c4351cfec05b3f271bdc95c0d345433733b9de14f852de54351698be93eca0c802959133cb03";
   hasRunfiles = true;
   version = "1.8.6-2";
 };
 "accanthis" = {
   stripPrefix = 0;
-  sha512.run = "22de40e0d3b39d0892824ad41cea2f9065ed7067977d59c5b14c26c82bcb76dd6679cf01edad7f8853b9af13ea5344f9632eaafa54f225f19534091f2d390968";
-  sha512.doc = "a0b9054078d2452c93e0ad20f4e4bba5e3e2e47b5676e2dda70bda9008f6a6135460d5d4be1eff3848432132dfbc9818310c74a75e53c423a2098febb6df875c";
+  sha512.run = "9edbbdd97ea30709f0e0e1959bac7806c188d610e414f037a4115747f57ce7ad68be67b75506f9ce186c951a2c46c3bcd5b0697bb72d81fc48465906cd245be0";
+  sha512.doc = "efa2cbf4c11b28dc0a907b62d8818489ca48c458419e37571633adb8403f914c01d28431684705363e56cc100adf7cff6539f19fae9e4b23e6cf3dc210109810";
+  hasRunfiles = true;
+};
+"accents" = {
+  stripPrefix = 0;
+  sha512.run = "738e8299148365c0441495664cd97b408b181d192adb718adeacc93d4c63b7e81c12541746777571f3fd0da37348905269b5d7ecfc2d58f88174cd53edbe56b3";
+  sha512.doc = "50e5cd01da80113ef3247c4a7c7da703d4a9c3df68822b31ff734da2d755f5fd2bf9f5f8982d84e3628e96905276dfe6cc6699bb625ff1dadbe810b11bf5a35b";
+  hasRunfiles = true;
+  version = "1.4";
+};
+"accessibility" = {
+  stripPrefix = 0;
+  sha512.run = "b001529b18f8782519156a63e3aa08079516ac68bbfbf68e991c0981fe9132b1ab07d429870e6b61929d3064894d0be2b4e66eac0647d068a0ac5db068e4ad00";
+  sha512.doc = "d40927f3ad33f3b4ae9996b1a40b5eb92f80fd79fa66476f4d98d8feb1c0232e2f072db20d7171cd9b8b8b118ea25cb2fab73d420ac7b284fdaeeff9ab7b3c74";
+  sha512.source = "c85b049111e566d1a0a5aea7b6e170d4310982b893dbd908317a51f1192b051a49ea17d6535aad4112cc76f13e5c29ba7070ff20a9d6d98b567072149972649e";
   hasRunfiles = true;
 };
 "accfonts" = {
-  sha512.run = "a985a0bbdde6aa837ed1b02b23166f393fd33ad536a6efe3c6c42f681ebaa4b83ed29da4e21d53eb8bf3c2d0f8dc7f817498b44dc3409bd0ad761e1178275643";
-  sha512.doc = "c7aad3379cb789eaea0ec4944542edf67da32ae9190e6ce50c62c011d68a9d70e8c18affe7043ffae1df861bcc868fd97ae1eed50b56d54b18e1f378d519140d";
+  sha512.run = "f70105569c5b8ed83c103e423d29367702a5330d57f743a640ef68fc6a290b246e8f514907d63d6c7f203c12ab3eeb0cc64a45fe5c0379f10ccf1c8002007a47";
+  sha512.doc = "24b19688008b875890a397e2250277f81be1b77c00f95a9a2d40a257c0dc6f4c8adfc07e594f3873e60e1bfbcfeba786e45e9e63eb632ca92b7c935f74b3049e";
   hasRunfiles = true;
   version = "0.25";
 };
 "achemso" = {
   stripPrefix = 0;
-  sha512.run = "276d855050753694d085d793931c3495d0544d07bb21c686bd985145b25fb8191030f21c0f62ccb8fe37b8ba8d17895dac652892e8fe5be061d2771a972405d9";
-  sha512.doc = "7c97ed86caa01e691c27d8bd9fbbd307f27ddfe01602a735aa3e62738f5e6102712872ba7d1e8a25d8fb45e60c2ba0fb367994a4fd36e62328be3ed6054cc593";
-  sha512.source = "e2ff13e9c6cfa5adbf8680060cee1bedc400d658de2ecf234e47ec866f535d2e5e1664201b8116febb347852b5370ea27e890baa3a1b27407f7f7bf92044a45b";
+  sha512.run = "87882436a324828c3a787aabf5516f773afa35be70c64392117e356af18c37cca77d439f1cb88422cda441950ca40bbf624fc01ce3eb05d6ae22fa817bf8a743";
+  sha512.doc = "8576bc5db853243bb4b37f53cade79aa1913e763ef6bd2af3a9f74087e68598d40308bf65772a623e44824ee128c8e93aea250abc3499b219233af5aea558efa";
+  sha512.source = "64a121d889d685f2dfb57443e38feb62e4ac1c78b7496d0f708bc3d7379abed7780b48984e5464d04308e61dd3b332908337474383493eddfaf418f63fe15322";
   hasRunfiles = true;
   version = "3.12a";
 };
 "acmart" = {
   stripPrefix = 0;
-  sha512.run = "cc5a774ca08ec7e8832c26b5bcb5fa9d4cfda4722070d4a7a94c71806f24b3c077e796a0c50e1ea65db5de0a952358bcac0fa0e2a867790f803f81037c2a1b2e";
-  sha512.doc = "0673cb719a9f714e85b04875adfc777506b3f244e5bad6bb3795fc3000f5f2e0f36269a58f01c2ed59fa5c403e109593bce316997827cc334fd83cf98cc1cc19";
-  sha512.source = "8438fe0a5c765204509107547e7dd01b5c8bba7fc8cb513d4651ffbd894790075392f181b8ca4a1b0dad587fc65d5bfc6c5e13f44e8886ba23a5be9af97a393c";
+  sha512.run = "ea2cf0785986aec984c2b2b147f3848e2930919e719dfff290faa427a384b0d39296b1d0e53e2dc3d871399cdbfacca702926a078517c8df48e2feed839b16df";
+  sha512.doc = "27d213d4e03cd173c5f78b5ab5184369a4ff9cf3dcd1487183b74ec2f8f8d6fa85feadb8675c64dc65e246a273b94d509f7af5331c67e9cb16c825d81d784f36";
+  sha512.source = "be3fdfd03914ecc4aff2629cc7f4ff8f82a08146beaa10c1cba834ea454a03fd907768022d97e5df0e7f157886a0f660aad6069c8578319b5a9a370aeb2bd219";
   hasRunfiles = true;
-  version = "1.57";
+  version = "1.64";
 };
 "acmconf" = {
   stripPrefix = 0;
-  sha512.run = "6e27169556b062f24c1e18f387ac87e545b193d00d9ce84343a087b9fba4a8cc166ebee20f52a72df1709fba30c9f04865ad751e332eaa1d10e682674fed87b5";
-  sha512.doc = "a1ccfc2fd4c954d37e5e45bd2ea25812bf53cf233d2536498affb795b7065f65dd91099159a09ba180c6d3d884b3a90bfa83d2845ece779f057372a6cc6e39cc";
-  sha512.source = "550987b618ba42e052a80478253cc4f7813122164f5257cc954c65f51d86e2a284cc6c5c28691385bf054a7e93de9f6af6d0ae8b6417815cab6ba0d769f3ae1e";
+  sha512.run = "9363127ba5d59bee9d41e800a0e11d12bc4493e5a79a94be8efe23a44278ea097a58fb53cd334fef0f2ab32c9350196c46ee1aec8347a4aa5554b317c15249ba";
+  sha512.doc = "a8a971df6a94a9548b71c1463b9ab143525127774daf5aab227a805c302ee0732d3578c361c5346b123983a32e6d6c8afbd543bca4dc7ac7ad4d5919aba63099";
+  sha512.source = "bd9ffcd848571f2a4ffaa7f324835c74abd59ad1d2816b6dbad5fcac7fb06b98c38059dab7261b4bf7d811d56d0ad48d23ac81525cf95a2e6a190a25a6de9d82";
   hasRunfiles = true;
   version = "1.3";
 };
 "acro" = {
   stripPrefix = 0;
-  sha512.run = "838780c78ce57bc9e6540c096d7d1947d7db1c1fd89d1b13815f569c5233434b75a394bbe00f7e0b38f09d5ab1cc60b4a9484b6cc66a5b870ebee8b5992f5866";
-  sha512.doc = "86b7c570bc59474daaf54386ea649e7efb87bed4558d082dda89329de3525be9ec3d4cfdaf1b17aeb23b61dd9ad4dc0d39ffd274b79845798f67c56961d27bfd";
+  sha512.run = "bd768e27445f1557019cd3a7f598205fbacf14bee45e31b2da8f1d9958f90f486b6ef01788584565c61bf7bda2a03f12f4e64fb851f750f9b424e65def4daf03";
+  sha512.doc = "9a795393e82518fa5c9a50eeff22f5f6bc1efb42e6bb7cb4b58378799cfbbad6f1b676e5c5e502c509950c6d318649c6b60cdcf6f8947a590326f49eac9e5735";
   hasRunfiles = true;
-  version = "2.9";
+  version = "2.10c";
 };
 "acronym" = {
   stripPrefix = 0;
-  sha512.run = "e877ed2525464b2be1879faf8c2ccd3f2bcfa6b978c988efce3b8f4b84fe8dbe2c79797b458dbb7570e44fe3d6e37d6932771a3565ada4bc42677c4d220312e9";
-  sha512.doc = "26112b4b836181c98d744b8c7e95dec34d75314a3a889703e76624748611cdaaa090d7cf91d5b58d8301ae00a87359181086d9abe9a9b5e545788b31486e71c6";
-  sha512.source = "3c899df1e149b2d9f87b8247edceefad142d848b2acfa836849569fd8edec47286ccddacbd301f66f5c028c1002a8fe80478b8045b7cc1a42e8794c5ad5b6abc";
+  sha512.run = "68468f027077b6ca895dce3127a78891dc41b1eb245c17f02810180bd0a66d4a5543596f7bce2d751600d49664833a93680339e0adf959681937db8861624673";
+  sha512.doc = "e5ca45891edb4b43f48ad8cef3cb4191e7e8a971a4a6dc86c4b6198aad74599c274fd68c3045b34b539f2bd673619ffe7410058139b39d14830387156cfbcacc";
+  sha512.source = "9b33c43c3573efa5435cbfaee439ed08bd9f46666dac143092f28ba0080b291f97b215fe73cda5d358285619396565d4437245031608fd52e50979eac2877967";
   hasRunfiles = true;
   version = "1.41";
 };
 "acroterm" = {
   stripPrefix = 0;
-  sha512.run = "e354edfe516022a04f028db559cfbd450b2dc8c4983a5e2f7a1e90f06adc510925ec5e806d371d53a54499f355c80391ffd244e438ec277f298d1af0f6829d66";
-  sha512.doc = "805f287a98b001d5a3b408646fe66bd3ff8da003ae6e0cbdd5801c9515f5b531e7a7311ae6fbf6e4d273bc3c4b443167f3f9df0dfc159920ea9aa5b88822a718";
-  sha512.source = "17161f16da8c1e05cd29053e575f4d92685c1fb77c1168bf63939cad235cb1e198545f755c2e967498ad64965b7dcccf80f3ac6154fee95fd09e2eff65bfa825";
+  sha512.run = "fbcd24989570b083ec51365b560ad2a082a136fc8b2b57aaca4a03059f66dcbdca1efe39c959c8f1a049fdd978ab58a6920f914589c242264b9d803124d0e0cd";
+  sha512.doc = "603375e44822841b1dbf52d7aab0c91c0ed36dcdada7e6fab607ba805fa896473674123a2594714fa0f698c559570431f09ec55ca41720586fd522df24453253";
+  sha512.source = "e289d4cce2bcbb70b20d1f59055cc019453e526ff2c0bee6e5a2d04573060d1d4490d89ec717fe55e4dd3754170f794e60acd453b21b884f595ea56bb6f95adc";
   hasRunfiles = true;
   version = "0.1";
 };
 "active-conf" = {
   stripPrefix = 0;
-  sha512.run = "7f55a2e7b31dc2d04250d9d27d8346d454824e660bf93c36a4bc369d12b55e8fa57759621c6f44dbad813382a2377b2ce00e4528583b52107a1a79d96e54061e";
-  sha512.doc = "a1eb9058b2160a568aa6bf01c5a77372655d76734f8ea95b6beeff06c6b4fe4af26f418621c2ce33100c7e7125ccf6008ace16bc92ed0888553a4befbdc8b37e";
-  sha512.source = "eaa01808b38d8b9cd8f98b2c33a98f84b5119abe7ebdde2defa64f58deae7b2d1df15ff364caeb3f4e4dedfc6318b3b8df79755303031bd7e99dab0660875e56";
+  sha512.run = "afd71b77d016c6f2b36ff045176929409f1fc104d9f3530c1a70fad4fd1c71ac327a3b58dbf4a14b93cc691d88bf6b7d3add07196921876360280ee4e5915134";
+  sha512.doc = "e1b990ceab6820376c18068bf5ac15e984150fe7ad66929496cb77665f0ae334cb28026e0000e788f0580eab549fe2f70e802ca67d0f968961f4582290646758";
+  sha512.source = "06d82683cb44e35a07e2907e00f2f80b247a3ca2cc0e9b230e7417aafc21a73c9ef788c4e88cdf7fe7f812c471c3b34273adcb4d5e272888fc481d9d18a88b68";
   hasRunfiles = true;
   version = "0.3a";
 };
 "actuarialangle" = {
   stripPrefix = 0;
-  sha512.run = "c4fa0a70038b4cc5fa56f530b54369db43de1e7161f25b48800339f9bf2cfeb42d5960153e4af822935760991d4bbb419f3c9bc2c5fec7ea589ab713240e5916";
-  sha512.doc = "4d1a86aaf4e95e7e23745dc655e997419069c2e8760aea63df38286f3f21954519cba054ab96ca45afcee9273da1eb6e1cc3ed76630a45d4e6d73f1257d881e7";
-  sha512.source = "3939ed0809c4668a4699a4f9792ad6dceca3f189ec6195357aa1ca02115ed1267a1c08ab24ab6e0da41d22b5f027546453416aa8b60938bc5ba7944dab24d96d";
+  sha512.run = "0f3cb2dc7b0e392942c5eee41227c93a2559c3a268916393530342fc9600c9c4b946f469f222250c23d9b635b9b51a9afc598003a00eab71d641d9d78db29cb1";
+  sha512.doc = "ac945df0aad5f51dbc900d7b9def5115cc6aa48c081feaddf8cc7985daedce5fbc0ed633ab4c201a0b0af27327b028bfda1875ec6e2e1c90d038441785a0e8cd";
+  sha512.source = "4958cca024dc6918371f68336a67d9950231630ee8f011f9c190693f7d5454eae1d1daf51147f1887699a9c941562cc8c867ab7c388eaf2c154d5373ff245d86";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "actuarialsymbol" = {
   stripPrefix = 0;
-  sha512.run = "65550aa3d04db62924fcae1721ed41a7eb1194aa650f0133d57ce295922cc68c5668267a1bfe96f637f14563fbf3e19d31c6508c37ec613e8dd9800160a2a290";
-  sha512.doc = "acc4eadf44ca0dc7084060ec30fdf93d2fe6c51adce499e1c63e87c777e0c8b4559b5b954e1478c6b38ada5903f0b4e4f3e2e2d8f70f5f00012ce0daa462f11c";
-  sha512.source = "4ffd0338b94fd229a81344048111e7ae4f465e39dd29b1073988a5f59d648b1078b932540a5cea14558fa9d7d06f5a2ffd8f9bbf2385784d97c8fb4604a7e297";
+  sha512.run = "49dbdc527b3fe204a4fbcac265accc0d0be88201553cf8e4110b51042ab8b72932bcc1488b7b199b1bb345941a624b486ccaed888851bbc6a63f70135a0c42b5";
+  sha512.doc = "3ba7c377010c3d6d1e7c52bb4256c10f78fe72e6fb7e1b794831d68fb9628d17a6a74f31c8b7f6bae41a59d8a29e6705e28d1e466c36e8273a449bd2594d126f";
+  sha512.source = "c87fb2395a4b3bc7871184eb49b83754dda2813249a5df2319e462a375283e6087b46129c0fb78c744944005741e9a1b28c16bf5073c3744c90e7dfd9c9a0ba0";
   hasRunfiles = true;
-  version = "1.0a";
+  version = "1.1";
 };
 "addfont" = {
   stripPrefix = 0;
-  sha512.run = "e445823cfac0b1eb1f65a6d998c413a961ff43a4e3667b7c63a31d166cc539e78d4d8dd31fb21960c63ae0cd67ded74b0a4d4642bc0a225c0a9659854d6e6449";
-  sha512.doc = "c8627e1b6d1018137c1463dd8263e0e1766f8dc6c31b2135fd79d7848c161005bf8e6ec7b01ab7085ad502c70dd15d5bfd6750139afddd598f0f2171ff840d68";
+  sha512.run = "fff94f6b6bed71f6ba4662c78cf4ee5c3aabe2f9b232fa9b4c52ad39938e7f56306c905ca0c187b0c618f67fd5d245529fb06ce17124b980c29eb278aed9d857";
+  sha512.doc = "10a3d45c3f4a4a1aebdee7f3a6a05866df428cf7bb9a1e3ab13ce6fb6254c679bea293449fb00cf5d1c64c99fe8b615168d011631d264aec2349053643f5bdcb";
   hasRunfiles = true;
   version = "1";
 };
+"addliga" = {
+  stripPrefix = 0;
+  sha512.run = "b54db5b075c2ba2f632e40a1ae2d840b0a61cc940512027effa2b2b3cadfd6dfa2407e2580a462b98f48cafed94281d39613397ed34ad76f54d6a7e8b614ecb8";
+  sha512.doc = "572d9aa1396ac80be2cd9ab0bd317759805a6541b656e19ae36915a6277f9a4ff2987c84dbf903133e0a5027f382b0ed48fc882ce7a79df7a27cfe3082d2a666";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "addlines" = {
   stripPrefix = 0;
-  sha512.run = "7154904ac93f217fe42b2bf713f2adcf4e155d2b00d97ddba48c64e0d5ffbb52802b4036fa9e4c14c8e9d7099b8e08f4dad2fe4f047eb2a0e14ab296d0a66253";
-  sha512.doc = "c71284d9e81bd885b3285dd9014b99aef1f468d3f87ae374e683b5af541819137e9eec2eeb5355c4fed4aa5c47266ba57503727457aa1058ca8e85a9ffeea9f4";
-  sha512.source = "1b473d9f4af1c8e6d17c91a5b615f3742c014444e9e7cd049a8714eb8fc6f576fe8649dcc753b3dd29948f065b5f878f9ab61d0400a9d65199dd186277fa8170";
+  sha512.run = "5d0a438fceef1481633f37824b686422e5000cf232b7dd24bba0f30c8d62b583daf01a67242283f2e4fe971438c061acad2860f50ce1438ca32677d497db8b2a";
+  sha512.doc = "2993c6caae1d2f230d144c9f93f7694adcb2e17d9bcd60eb3aa3144806a522258fd4c44a314d40cc767b3b069c4c929b8e458e74bebc746771b975b77bba34d2";
+  sha512.source = "6de10a1ddcb65be76594e7389d47316e066aec3a747ef7a61e15fa0e670d914dae3d2ef777c9574e8b85c5d9628784df7f4dc61f589917dbae571f31416bad08";
   hasRunfiles = true;
   version = "0.3";
 };
 "adfathesis" = {
   stripPrefix = 0;
-  sha512.run = "6377c2ca35a8de2441f2aba38bc3a253d903e51ec2aa34fe1f5f28bac2c7a35911e41604e8081df33e80c2b2ca14b011dd379fa698c5b658753fd0969834f8bf";
-  sha512.doc = "5114ebeac5c7b44ac2af4aff11baff3e8c549cde31d6082b1149a43a0cd2f7fdb50f0e78832059c13e06a4867eed8d7ac8c2eab7df930f9a110f1f2c6615f395";
-  sha512.source = "597b4199bd00cede73ffa0c527413930cf58d6c05f903ca7f2ef16b8d6f560b6b7689a32391ebefc832ebec80ac99955905f6df7b852c3d46ba4f6cf62f1696e";
+  sha512.run = "4eb7fda01fa1961d213eadd2f0bc9b1cf102de664dae1f37588e161af22d043319e12ca704c3223e78e963411c3f0533c845b17f7d0744b020ef2dca35b2c7b0";
+  sha512.doc = "86d89f4f139c9ddfe6babb84558f7d89f57b75e28d37f659d9893ef703cef7199272e60f1233d51351b5bd8a4565393dd6f09ba69796d2ab555423c2ba23c2b8";
+  sha512.source = "3d9a376183e2cb22dfd210eb6d453324d035289173c6750d67ee90379d794a50393c49f8fc40e5c51484127632f2489468b215dc510b0db0313372816fc77927";
   hasRunfiles = true;
   version = "2.42";
 };
 "adforn" = {
   stripPrefix = 0;
-  sha512.run = "e0a62aff28d3aa7742cd82f63e3b4e0828b6c077a2acf5fca8d981b3432d6c2ba755b1f4b916deea9ecff45f5f65e82ec61b563d9bafbd8ffda99d78146ce2fe";
-  sha512.doc = "fc683fa19d47defd2b0dbdc02dfc7d00d2f4ba71f8fd6758fde456b54d90dfad7adeb8e61db46fc997fefb2bed51898d54490111be8be898b27ab9f6bc6e42d3";
+  sha512.run = "50369d5874b6ebd35498ab4502661de8630ed3175df02cf938817e17c858cadf0915dbf7c34ddfb0861a0063f7cdeeb40b1097573f77a4696f08354fd28d2a64";
+  sha512.doc = "b2521044ab8869c114579b7ed59ba9b58a66049ead3202d5f62797c9de0fde442b4f39c7083e1626f50b0011fd57fdb4227cab7571bbf85d6076b88e8eece61a";
   hasRunfiles = true;
-  version = "1.001-b-2";
+  version = "1.1b";
 };
 "adfsymbols" = {
   stripPrefix = 0;
-  sha512.run = "cad53473a3b7fc1ece10622bd7a0e11e751d3572ca834b47a26f8739517be859a825a93e5de5b243da2f9678b344ba76a724dafc1231e3776f546ca7e0201aaa";
-  sha512.doc = "8fdbd3846befd3fd7b6bbab801a781df70e3e08ecc0249f6dd1c557175e3b776d79653089b9a3d45b6ccb2162ef5987a44c009650dc1a35c64db2dc928375c64";
+  sha512.run = "d5ad659516da1a4df4b2244f90db9a35fd4ae1415e78067a378d389a536380c1c642d7910491d4d49273c9f3e03a8a916cb418d8e608329b2701df44f8011de2";
+  sha512.doc = "39bebc154e84ea1286e25e8f7b9439e1c1441b7df83db770a75e26580c452cec7ac8be97bd77e2a99448f100d30ea9d5f40f3282a54e5fcfe940cb40c9917cdf";
   hasRunfiles = true;
-  version = "1.001";
+  version = "1.2b";
 };
 "adhocfilelist" = {
-  sha512.run = "aad74515080b909cae80d676304c31c63c0e2163aee55e8636b8da187e4792a0a02b1b7b6e2953ac2117e28e5df6ef6ba1a5873817912422aa672fdf9a4d71a6";
-  sha512.doc = "71c3e54051e5e5ec1de97ec79f0bcaf216a4f107ae70a7d99f27b0f2de2b655b95e3fc3a438bbcb7a36210f29b4a89df91af04b8ac5cb824d66a700e2e24ec19";
-  sha512.source = "cebc6f27a0d56301efb118b01c95cf60e7b6af42e23c43a583a23a1785e99adf7426daba5d83e27d9640560889826a93ae6296523f1eaac42ce5a4f44d01b8f6";
+  sha512.run = "57436dae1489c0f614c4b002f83d34a711398a762ac532b44b1d91a51d068462aaedb5b034923629f7630f039988452eb833d1e98af389c788091517bbee8954";
+  sha512.doc = "14bde143bf3ffa3f2b972f93544089e4c0314c7696e1d711719549b7e831278c66fee0676665fe6eaaac744689d613dce159e4eee2e3f9c24dbbe602794fc62e";
+  sha512.source = "15e7f652408c5975ba47131109e0d18bcb1d270e0ea630a9a3ff385e499cf3607a366e708a5ec9559d7ccc2a5e0b2d3d0f5f615142978a918b0bd1bd0218a30d";
   hasRunfiles = true;
 };
 "adigraph" = {
   stripPrefix = 0;
-  sha512.run = "6dd8c449a065987afd7750a09aaa7fcb9ccc61e019d1e721f1e316fcdb9a87d43ef3ed6100d9b750647c92c74b47ca2184ddc61e007324ec361617df0f9c72d5";
-  sha512.doc = "deed394e217bcb55e79cf5bc2c39bdba00aa329a140d8c66236d922788712dd1e7c0926040b2f513e1d6936f535d96dedf90150cce0c9068cb38731b8c9da28d";
+  sha512.run = "6a4684925e542a6ab0e3b97280059dc47fc892efdb99858370dca9dff91074d98030a93f964a5172bfa95a6dbf41f7a639977b0559332178ab8e4ca9dcb20e10";
+  sha512.doc = "763f94d22e939c255cb0b920183403d7c753dd4d77483b79f82f4a302375bee4ea42357091866ddc392b554c6dfb707c624fabfc3f92fb6ae07853e3ddbc8594";
   hasRunfiles = true;
   version = "1.7.1";
 };
 "adjmulticol" = {
   stripPrefix = 0;
-  sha512.run = "74440ea2b2c3c29a33a5d39d43680a29709397c1734484a02b215eadadd73d146dc824e4219a9ceaf56fedfd6b303ce98d2775cabf6d54895fe7aa61b7edbe7d";
-  sha512.doc = "b649b554576e886b8d4e9f54bd6ad7608ddc5c4236fa46c0b5f7ba77b53f85d08f5c52ed61b8f35f2854c5eeccd34f1c2f14266e6c8c6ae4874cfa6f3fae28d2";
-  sha512.source = "4bc36ffb6b4f0943d2e96b84c6fb2413b50900929f68ce39bcac7eefd184331bea3b3ead70290097c4d212f0e7c5d77b6930533ed8f8f9fc8539f65ccaeef937";
+  sha512.run = "1134de8dc37c135e944c223946ca249106d12a6af8c653ef39c0418893ba5d52f6ac4a3df6fd521638f606106830e0ce31aa2ce284617ac11226950fefbd94af";
+  sha512.doc = "299f6cfadae2e1c51021d849c9d2c10132007f4e4d0b2d0550c60a58f12781ca90ebed6052e9f84cc22bbdcd7b955018769264fe016800706ee7548c4f8a1e61";
+  sha512.source = "0b766677e3a95d7878f990c152952a3ad0c1aead2d4248a75070e93e93ec4e81524e565425404ac0579fd7451a562cea5867ef7d7acf58a36046212f7d900556";
   hasRunfiles = true;
   version = "1.1";
 };
 "adjustbox" = {
   stripPrefix = 0;
-  sha512.run = "ef79dc361879eb46a3d7c946efdda2a09c90169242aad22983e4cbde01e9b3b7a0f6dd2f6cf56ada24c551ca7aa8a7d80536384a26f539521c7ec239aa91a5ba";
-  sha512.doc = "d3ba7feb98e64bb5c3f9cfeda783deb186f4d314cfb6dc6c4d6aff9cfd5443489da36c8ea1271e3b80409b733b1f2c1480986792c884c06cfa9c4eaaa2072856";
-  sha512.source = "7543039c4439dd9aaa0338daeb3f9dcbf359cf84d20fc8ffc85c6e26d3999870f93826351fab68054e473f43267b525a43386250e1b27d9f841dc7af007b09c5";
+  sha512.run = "19ee76701aa1c060d5163a06263cb5b6b58d74d4bba1b7e77813c5a3b683eef35249b6569fadd1c52c0cf82465c4e2acab7091dc1b396c1e938ddd6b0a1d3bb3";
+  sha512.doc = "33febe9f49a7c78950258d1955b4518a4ff15b96f6a866cc8f59ba83bf66a8d560a4d00430da494013aa37a72494280b4d165d2104d81bcfda237350855e1f59";
+  sha512.source = "f473a082b7bd5104a6a11454ffaefadc4df5d245d9395cb51d6922884c653ea73c065677712ba61a6baaef776783627a6bfe15cbdfa44b4ccaa7f3294d444f80";
   hasRunfiles = true;
   version = "1.2";
 };
 "adobemapping" = {
   stripPrefix = 0;
-  sha512.run = "0d4eaf0e9f3278785b9a43e331ae71181461e342109c4f6eff1f2c4f82e2b980b2dc84c6f2289de2cb9a704b086c79e3e73cb1e946cadcd51e17b649a81ffb4a";
+  sha512.run = "1dd2c4a813bbcd8063d42c1872fd14427bae2e5ce9698ddb0825770653d17798c037da511d43a0939cea1a607f0a7bb7ce974bff72a2ee88c6f56f941cc7510e";
   hasRunfiles = true;
 };
 "adrconv" = {
   stripPrefix = 0;
-  sha512.run = "623d8782ef34f12ed89e8e621c52e07e246352f6e6a397eb587379ebc1d7dd44a44384a0ce03bf0fae36bb1c885f6b132cf775c6f65ae921df908ff8253e4bbc";
-  sha512.doc = "45fa639a27149e92266c8ff3a99aebc284a394720ef5bdb2af6c664f3a085eff555b8dd8076539c1493cb4206667453f51bfc0c74130fed67667ac1d514de05c";
-  sha512.source = "50591b2b3999ef456bc4ffe4f16f4ea76c76d1fc86aa69695e86e98997b57b6c30d722a83602206849054b87bd6e055129ba414e5cc8ca4634c4483039190b7b";
+  sha512.run = "ec4300075ae2fbb0b29fa8126263d8852a405a84df8cdb6f484c989ebe948257ba3d1f3ddf9204ea7d6d50129c294a0130afabb053bc63022928ca748bb4ce14";
+  sha512.doc = "93ec47833fee152b098477f838858a259f5842264d3a7e9a959d60fd35f46d680eba61c9f4b5efa08ab2878da4aec78d19cf83880e33aeabde9854aa88491c78";
+  sha512.source = "25233e23bd1c6aec13609b5d17587747a5840e21637e3d11a478941f98f5f74a77eed31f806b51d07b79f8cc4ebb8c6b8fa419f72927045e3695ca4ada8af388";
   hasRunfiles = true;
   version = "1.4";
 };
 "adtrees" = {
   stripPrefix = 0;
-  sha512.run = "00ef0d06277d0ce61754ecaba55547601a58d5033cf7ee82ffb2d2cba47f5c3bb04eec5ce4f2c8e0429cdf77c21e0e84488352f9862378dc30d70627ea2f8db8";
-  sha512.doc = "a7af294044e9d6e1e1842cab4eae5536b3ad1cdbcc7c9d8c779472a8d02902fe94e0dc965d1d92d8a84c7065a9ecc415db78724f75a163a10fa88f0d570217e7";
+  sha512.run = "1e06f07576666fb7b54c78d930f66fef78571469bffc3ef448687c8bbb0d23d41761e17c8ec1293bb6527e31fc70413df1b7de5c9a06514e6aa8242ed90deb09";
+  sha512.doc = "ad8f2e42a4a31368000909c5841fddc189bc2331b47f2c64b16ec509bd662a1b82df3ea8b712f0bdf1c40f123ac28221179b4352e20631d9fb776c0b2939bc4c";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "advdate" = {
   stripPrefix = 0;
-  sha512.run = "7a3cd228493a6961513ec06f0380db494a9b6c3a970d2b67a152626811c13808be421d1512d5857847053408395056870b5c319399743eba51d86eb78149d651";
-  sha512.doc = "250abd6118b5fec45f9bec163af27df20c763fe0d732d2aedecb0a080d9a075dc923dea9c21ea6b4db2f8ed611ce167f2881d3529bff76653f9ce09d33d5bf30";
+  sha512.run = "80075aa6efb4125bdce79e9b2ec6951caf1a753c8915201767de230acdd1adc2eef31400574effadf6287be159236422840751bf5ea24cd3cab8a01e82a0185c";
+  sha512.doc = "acfcbd6a40630da2cf9024cbf3ed378c1f7f8a16c8f8395b69c12f9693e903ba54b9b051c364c5cb4de957876bbd41f0b480c4f4b320e22f2c6df7b08502873a";
   hasRunfiles = true;
 };
 "ae" = {
   stripPrefix = 0;
-  sha512.run = "a7b76d3ac96778aaa572b534f7cf2179ce89f90c67fae167754b89842ea25d20e83daaf9898bd15c97a65e83eea6a9c39affb64134c52af099d2a0496f17b591";
-  sha512.doc = "556e1cb096c22c673c10d9eae7302ef266080027db5a357042e02fd4052813ec77ca62c78526f68940ed4ef2d9a4e7049ef11917ab489cd8f1296475f273e5da";
-  sha512.source = "644a3b28a39014f35789dafdb34bf90db598ceaa4440d04ad972abd1f79c6c3595e778cb40760d9231bcc3c13f1ffdba2c5b8f2e30569d51dd91e8a5fe2b83ee";
+  sha512.run = "6b1c57d5bd3f0959e611659f979ed42b81e397a182d09b3482e98865196077334a9796777aa112ff367b97c232859d4f9637730dcd2654e6232c577d2f59c39a";
+  sha512.doc = "927521fb6b6a5787d0e94ad724cf19825b2cf2ce23333e60e13625a36390eaa4cbaa1bbe50dbc718efae97036d5d815860919f536601bb97224b489d20082953";
+  sha512.source = "d82fc85014bb32147c9562482ac1d0ab1d1fbff8140441dafff032e24c3ee9e406c9872a93a66ef96a2f67a75f47c01e53565372a14d1bdece588f312c8f00fe";
   hasRunfiles = true;
   version = "1.4";
 };
 "aecc" = {
   stripPrefix = 0;
-  sha512.run = "bc2c3dc3bc1398d9bcf3714a9c31a7474ef95206cbe7c0ad14520b474191a3eaadf94c0e345eeb7e86b651eca1d5c7d93a91657ed3c5f8cccd7c87e71d06f4aa";
-  sha512.doc = "ab371cb7380bd008d5e977ba78ad1d170c34c4eae4b2ddff92d412bea7dd866055f9c5c639e4b93ff6c64278d60b0ded783941a114e6f7d9f92cb54c02d25ee2";
+  sha512.run = "d36fd36a4d92a5031b36437ff8c75e3fbe2e3124982f496d6633476dc876a300d3b0ca18874d6d6256a096d01bde96854c30f76a777ad5ebf9755b035b41e7a9";
+  sha512.doc = "58bcfd0db5d39265765a32c9996807dce4e1ef22c47a3b6f4307c59eae01e1f8eab2e8d2252f83ac42a41aeda1542087f21a52ca523a9364f1ecc6b635251df3";
   hasRunfiles = true;
   version = "1.0";
 };
 "aeguill" = {
   stripPrefix = 0;
-  sha512.run = "51b75d25fbb0ca70d80533e968578e893cfff8aa838d7d458a190c97a5a95bef000729ee856704ced1839ff9a9f18e54aeeed0aadb71c77baeb6595ca4b5b705";
-  sha512.doc = "5030285bcc9412fd2ff552cf692ddb611dde958f58a5119f501656062cd13f580a193c8b6214b051cde68ff7ce111ca3bb5cc512068ab057a874b8a989dddb82";
+  sha512.run = "b75f41c1d179b63d1807ebfa81e9e656bb43433a3291b9e29d5f0f76667868d26840dc6ce7f61f0f959cef724f0b5738b96af2a371f949daefc4179de1f861e8";
+  sha512.doc = "8361fc02999b080f19beb793fb0d1d802203114c1e1581c312a21e3a682191470b93e373fc269f8aea0e2643a69c8caf80855597ff6a71aadb6bfc869f4370da";
   hasRunfiles = true;
 };
 "afm2pl" = {
-  sha512.run = "75dd7db0aa266f770619188deb52803e916d729dd27b151d5c47b2b9142b8f2c8cb508162012849b673d161efaf2c31f560da17ae38a69e3176903144683e4f1";
-  sha512.doc = "3665ac847b89eea90bd5cef211a8e955ba7c520340adc837fc00cb0d94bb87b94d4a3df0376528062450a8c17466e6f02fb0e86842f7b58e0b77c5bb66c86830";
+  sha512.run = "daff35d38fc35b83fc270c3d304e2383ce43b277e3e70645f957157d6e57cfaf4ce6a9191504404a9a0a681ff2167f361612cedf920f79e243c8afb9a9f3ecb7";
+  sha512.doc = "667d5a03190ebb1fefa164f854afebb0f703c671a2339dfb0558a547cb53072c6a5d8118c781884c559b8136b3427d08286f74abe31b0ebb021288474f0397c8";
   hasRunfiles = true;
 };
 "afparticle" = {
   stripPrefix = 0;
-  sha512.run = "b4cf56b8062e05d712d8e70998cc502a38d4bb88c72cc489f9d299470ae225ff1c14ff0cf7c71b83eb244ade40e683014ab3d748ac6eac35c77f6813fe5d7fad";
-  sha512.doc = "ae93b1392ff2fc4fb354759919386dbdb1b3368d595babedbdc011b05f18730350d7e10f239a639652b1019b110d981e10fa1a692615b0e3a253394d1d2511d1";
-  sha512.source = "caf0f30c7cd74311dcbbac8886b96464414f8d4f204c2b2866484b66beccdbff5e703c7324cb447e906cdd67108e1912ceb0f7739d09dc890b5092b98266a63a";
+  sha512.run = "958ed5cbce1dc7bfb5d01befe74de6236a09b3ae5246aa3f2e80225bc353abf21b622f4128641c54a27197560557738d4c224e160c0be87010517c3a30a729ae";
+  sha512.doc = "d8185772e114a891ff5ce0f2a2e12b827420f8c486813d87bbb6fafc662ca1db710178e8cfa260d7d650c3432909b9f7a8521648f6aebd5f90daf1aec4e28d7d";
+  sha512.source = "f12b5a10b929d78c728331704ee83e726bc28562b8179adc2d9e7324b6b742100319078f5ebe8371a34927ae1fecac4779b9442076a95cae1d66e015f235d440";
   hasRunfiles = true;
   version = "1.3";
 };
 "afthesis" = {
   stripPrefix = 0;
-  sha512.run = "32df1f2fdf4dd1beabb634eb8376d7de1c511aab2d53173bfe8861a278d67d91d27d392ae2969ca88583f33d1194f79b692cd9369e0599490ec44785b7c0dda9";
-  sha512.doc = "e2c3077518967e8b4dd9d25f3f7e8cbfdd6b7bfcb5b0a173d6462536032394efffa5eb11582c63853b3ad234cf25cba966bc21dbc13c255543e3274751a76aff";
+  sha512.run = "0ed83c0a98bdade60c49b3408053e020c6deba1b96d74b47aa2404c778a96ce2898af1d76892704524c0c069128e59c0bee5af73de6ff9237624600b991ed6b5";
+  sha512.doc = "c221f77700f974f0cedeb4f8ecca5280c04203e9cd89042d414eb54037db71cceed450477fe9498a15d9f09b8a0cffa177cc897958594fa7e3952adbd85225a8";
   hasRunfiles = true;
   version = "2.7";
 };
 "aguplus" = {
   stripPrefix = 0;
-  sha512.run = "0d5183d3d27849702848e61aeb18be44dcac8dd71f30a6dae5b72984cb0b77cd6682831c08442bc48838be2770b0b95056a7f11cb0ab81832578bac62397f4e1";
-  sha512.doc = "ec19bffdfc2ab898052a4988ae3335631609469ad8cca47b719487a849ccafc5bd6f65709e2c7dcf69884e2e886b94bbf8da1f4f7b337dc8b8c3a8b204b02134";
+  sha512.run = "73bd9b7f01a4911fb25aa7d388c5827c62a01a786ece4317f5b702de4c281bd05f82568780f4396bf289fcbb348abd2a3eca6620fd8e3f801d23aff7a05e104e";
+  sha512.doc = "48b9c010f746b8a85bbf1093b3dd39c2a853d74b20feb71bfebf2ded8d6f4c44538e6e20b24c65849e8adea9d34ff15498e847b1521bfca11d18fc23d18e10f2";
   hasRunfiles = true;
   version = "1.6b";
 };
 "aiaa" = {
   stripPrefix = 0;
-  sha512.run = "9f066ebbbb1ab9eea1f8b9d9033ce0c600ed9536d0e4216a09c765100437c78f2a237115a3446cf0c23bfb1efb3aa1a301a838034072398cfc98334262626b86";
-  sha512.doc = "5d275edfdedd82ae68b52be48f13cfb351754a9d3a6a45e3e73a3008c195e49953c28bce6af5360d69a940f5bb137361c30b88b1fe3ab4ab1da5634f391df23b";
-  sha512.source = "9687e3892a5e8a5b3a3e329e0de0063637dbbc25e9ec4961c807113a919acdbbf6bab131b02bec2669787725da7f544e0bf67e026a2c2747274c68e658118071";
+  sha512.run = "9a5c04cc0b24e2b11e4b6953ceed9e506ad9f44922b3407c3aed1f5fd1fda1e86b1a5d6613a059065c1026f69830a8f5af0ed21ad8e1856ab44d22985768f24a";
+  sha512.doc = "cd69337eb21eaeff910696f153bc97fca94afa0b147e3360477f72c5d90afa5d54d375b5eb7801df1b988c8f11d8fd23848a07f013a4e06c28a013248e00599b";
+  sha512.source = "e9542fb3cb5a16a565bb5c349f15b453ccb4c81570425a5825f0f952816ec27edad65ee670bed9069dd0c1c8762b5becf6300ad551b15bc5adff960f73354588";
   hasRunfiles = true;
   version = "3.6";
 };
 "aichej" = {
   stripPrefix = 0;
-  sha512.run = "77553b01d4f793d3e5baeaa971228fc9252b2dc36a806fc391494da08ba855f9dff1a158a37b3031e0403bd6df4daf0b04cb8916968db901b02b2ad8894568ab";
+  sha512.run = "7edc0ca36209f18dcca0b794c7ee712f0eba82e3e69b09fd46fdc7ede6bd33e93d4936d7bfcff88fe4f699acd04493053a7c76cabb87670215efaae12aaabc83";
   hasRunfiles = true;
 };
 "ajl" = {
   stripPrefix = 0;
-  sha512.run = "fffa97d1a2d0c81d2339709dfebe0e267869ee4927a5a4204b585e6cc6ebd40151079c2682e6e7c6b22465a574edbd769549106cbd2f122942474df1254a4c86";
+  sha512.run = "083a549d425336eceee0ab8e85ef592aa15983e9a4dcf2264d835b5242933fed8719b81b427fcf7784b38b8e0b3dac2e2a7f8b9ffd10cf2690b96bf8b586ff3d";
   hasRunfiles = true;
 };
 "akktex" = {
   stripPrefix = 0;
-  sha512.run = "edd2cb3ada114292619ce3ba5dde40d3d78587c63c3fd39de592f4fd39e405677b4075045788b614940d574ecc41fee145bbbec5985327eea71bd53bd5c8c1b2";
-  sha512.doc = "ba75e400c4bcbe850e13656e040ebe780de672a0aab3e02791eb55484487b4d12b4cc2f64652e4103f61d4b770418240ce7bcdd32651da79b1a18efd8ec5883f";
+  sha512.run = "481502410094aedb36f00dc93ff3cad9479e756b00c60abdd7da98713f273cf45a314ccb55ef2436dc54cf7e8f84e2bf9fc5f00974c9978aebacee177380c9a5";
+  sha512.doc = "4378f1e2c96bab5f5926b22863580dc2ae555400d770f5875eff09b8f915da4c83e99679fa7487f788970d17537123d854400e31bfca868d693b3d950c33051b";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "akletter" = {
   stripPrefix = 0;
-  sha512.run = "7711ddeee3cc416da6b743cc296f9045cda05ff524fbc4f34e34b1ef018756a8d679eb8e35f3dc8fbcee496c882cf160463398e52142d74b63d45b09fb9e15b7";
-  sha512.doc = "d57ef4c344e426e493ffbcee35f43bd230e2c2974761d71c3ead5d530ebb1c03515523edc2db8a9e49bfafcf9ce82cf67a118b0a3531c043d6b358f50432ec05";
+  sha512.run = "fc0702fce74b32b04ce2b1e03960a7617c84a89d4581f16bbbe1b16fc01d45300c0a46682460d78cc572b6e20cc42ec7701c5067adf5e4960ed1bdfd5a69e910";
+  sha512.doc = "6a951bf2ad4a7af4a6c87b24e8f4c3b4ff520430024a6abe6b54cf56269a903d78e591def71ce7cac832a4d3f822e8baa14f8decc960b455688801f406d01e74";
   hasRunfiles = true;
   version = "1.5i";
 };
 "alegreya" = {
   stripPrefix = 0;
-  sha512.run = "af63f3fa81e656be9014b066f90265ddc0ecdc985f5d171361bc447cacc264f72a9438146f06c30c270dc27cd4fff768dd4412d73bca34a4a15a3aa9879d2ef8";
-  sha512.doc = "a70ff6d31b328da403ce40d2fc71066e0c884843ec2572253b48710f1a76d3aca263d65619d91027e3fc41c1924561011e4814fe518ec396ef2692f2b9c40e25";
+  sha512.run = "d1ccf5c1e3b53dbb5e5f41f6845c0ebb03b4d74355aa11f4dedc8214af2c49f2d4023b5296b24b7330b4fef0f0862dbbbac864831dac16317f7025a88c8c4a6a";
+  sha512.doc = "3452ed4d59bdae841afcee2895e9ed64f60b5ce511f29468107f84ccf1cfcb3afc4798a11e48681bf66f17f448c27d3fd1e8b82cc75acfe7d6fb7e892d0efedf";
   hasRunfiles = true;
 };
 "aleph" = {
@@ -459,197 +474,212 @@ tl: { # no indentation
   deps."antomega" = tl."antomega";
   deps."latex-fonts" = tl."latex-fonts";
   deps."omega" = tl."omega";
-  sha512.run = "a0718ac964a69e66d5803208d8ec1258dbb47982b1fc8848dda009e9de4c442f069bcc64ca76d4db4b8cb69bbbede420a00df1cc622678c7100f3bacfe42ceac";
-  sha512.doc = "d5d07a1927c13ede9aafd1a4ce14b3fb2fee451988ca350c5a1ea3eb9f7c525445bd8f7af425873352f2ae470a6e62c4ef15a18939ca38553f196dc76cb770d4";
+  sha512.run = "844257e47e80ae4cbd243dc2363ebd6524b97ebc87e02a3a14b8a650d28ba268acef6ea3ccb6eeaa22c12169981410970cd72aa57fd80f00881cc98fdd9004c7";
+  sha512.doc = "8fa6b630a6567afd7f0789182dc382df21cd1557d556f0b9854e2628ca369c578aced877af0b6ef55fef3f12d0b46a30f3b3c92e8e53cee3d02554f35ed4891d";
 };
 "alertmessage" = {
   stripPrefix = 0;
-  sha512.run = "a3aab4e15b75b9aca6052785a03b78317fb0da12ed6a38d4cbe3d905c2c2577434c3db67f96912329bd8109e4e28d56db097c50bdb963174d6109e3ece65123b";
-  sha512.doc = "467b5b0e5ce316483be5de3c4ccd82f9b61606df60e926ba2e8c169cc76f7ffaa6c2d49f7c2f188248b61c872061e53edb836702971931dc83409a7dde49e909";
-  sha512.source = "f2b8cf33e5c95f519adb940e6499ef86ad9532c062bc855032953fd811f8cba86813f7a04e00c28cda33234ffdcd484fbe81b93f4292e8b9834b27209f983b66";
+  sha512.run = "df06377244dbd962326646fcd0aad535733d275ff6a86bed3739e8b77c6d1231290c4628a98be50d92e9006f25be68c20d5fc5e92c82a6cf841c0af5670f7ca9";
+  sha512.doc = "412cecb146790ed0b7fae601d9ef0eb14381cf75ed20ff1bab3190c249750fb693708c2dce26e76da370a265f99dd312dc6747b6c9e7de62ef51a709accf7e60";
+  sha512.source = "c670adb01cc2e1dfa0997f6faef9a0d0b31ad2c6329174597b781580f02ba5dfffa7afb4538e0e740271d7f9f70b48a1caab91cadf8282d89a3f9a35c8ae8897";
   hasRunfiles = true;
   version = "1.1";
 };
 "alg" = {
   stripPrefix = 0;
-  sha512.run = "6ef98e4db425d18bd9bf44b6b488adc5f32b11b63407f21aa866f62aeb4f4429fc260a09c09c3b66141edb63a692e6564759fead69453b980bb377ce17e0abcc";
-  sha512.doc = "da7f1ac871866d94ef68b2af2fcfd1e45d4c722eaa60e21d8ea2d883305144e5f9fc1177d3db8e2d4fbe2739ee5b4ed99865654cb5607de6e9c7b3552c7e8384";
-  sha512.source = "3954d41bf6c04c4f840bb4f0558a31341a6c6ecacae27f926813adae3a921c1cdc44d1f37bc50eca9c9ab8ad5f44ef251a59b0c95a9d7189334dfc424ede6872";
+  sha512.run = "923f36ab03aa10cf3da008f4b3d7ba5919f3e4a512c82fd1c42386df22019ca70c4c1700b7596750a00ea7c50586bdb803db3fee22edfbc402ebb9e249668e99";
+  sha512.doc = "d94795e7513612f3eb102b85b9fdcc792b175411fd67edd6779037b1e0dc101378159f58c6c6feb82ca6b73ea2a6fd415a36e4a4ea67913a0d1110582a41e38d";
+  sha512.source = "a8231edf9c10855b312bb00f2bf37b68ada65b876ab621f459b3ee12da5bc5b90080ab6eff5c3a48c0821753a02576aac0100b3a577cfb7c5dc2cd4b47c8a026";
   hasRunfiles = true;
 };
 "algobox" = {
   stripPrefix = 0;
-  sha512.run = "c1707fbca0737a0b24a751cccbe9f08e428cb4cac62c190200e3f24bebc2af0100459f677e37115b77e84b95f1fef5d1c939de668ecb57928384a981f8ba305b";
-  sha512.doc = "a9a8a1fb0117ee2b80387b68cf1275d2ec274ceefff1d2feb38f04287a6110a5f58e217d65891106dd552c293a3a0d945b53528e9f964da2fc8d893de2e757e4";
-  sha512.source = "3b11a289c523ce0cd91f6c586b8e67098550efa2bcb20c46a0316fba21a68313400649a2775bcb410bfb477d0c93ccc3c9861092b611f5f459131110f51de096";
+  sha512.run = "0c7b068f117a5eb591646e32faf3a9dfb6a03a218411d092afc33c7adcee30f95836a9d841444fe87a700288e293510763807d393043518ba70e64a3df82099f";
+  sha512.doc = "ccc96b84ea2d1c6c9dab8bd286e24f3dcb4fb9dd31904b1eef4b07a1de34a067f3cccd3d8e33785edced6dee8673e60d50ffc201643912d732660b1f14404d74";
+  sha512.source = "49e1b417bb0df72356f5d4046826268dad628d6872732a61cc7df789bd214799ed49a4a0778eceb31369fbf8cbf21c6b142a85348e10a7ab634828108b7cf03a";
   hasRunfiles = true;
-  version = "1.2a";
+  version = "1.3";
 };
 "algolrevived" = {
   stripPrefix = 0;
-  sha512.run = "ab0c0832fb1d77883b880032daf884d4ae18c0a3f7717b643ba74785eab02b5d15a26def97b37a26918b9f803c915103505f018e584962ae097820cab2cdf2cf";
-  sha512.doc = "92c0533d626d88e798948bca5fcf138fb1630cb3dbc329a2432eb084c18990de71f37e04746d6aa1a1e4eb19abd129ce20e39b7cda9ebe4056ed8de0440f7cf4";
+  sha512.run = "b9bfde7e4d0a36f0e55bfff77fd24f8e76553573e1ed2d8596cdc4e1aee74ba9cec90518b4b5a54153d42d85b9645c68c8de02fb28b15f294aef8ddfe7c16d43";
+  sha512.doc = "3f8cb6cf18d02c8b29cae7a64c93d394df958f5b8edf95917169730e95fd90121c52120c821d09bfcb9d335f0bfb762c42734cbb8f0b6111911dc8b1322dd9b8";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.03";
 };
 "algorithm2e" = {
   stripPrefix = 0;
-  sha512.run = "e16a3b8053447d5a084506944959e2ed2842afe5c45f675ba05267603632c1758299640417dfe2360c75ca5a7e1f6d50289076c041f2c44b3a4b6b1c0b3adfc8";
-  sha512.doc = "ccdb0b8cb179dea4a87d6bcae9d4d4dc755e9e95ac84ff597382fc26a7708f3bf8b0cc4b3d8d13cdab2690bd0ea8267eb7d6d48a796c4321f249e8f45759cbd0";
+  sha512.run = "0203f337518811a04f255a1ea65045f487dbb4813fb848e0ba1b52d3e5fba96b784852d7e900a82f4c047c2943098e3b37cbca27322d115c341fef6d262c60cf";
+  sha512.doc = "ae737056adb53f943ae8c92d8e7bfffe52a107cca4a7a3151932a581744f1396f43e134a55e9894de0ae1fb5418983ba4643e1e07487b690478a6979555d8768";
   hasRunfiles = true;
   version = "5.2";
 };
 "algorithmicx" = {
   stripPrefix = 0;
-  sha512.run = "a399beba07b746a6490f0bb584b1d89ce877de3ff0fcaa9846ada2efb4afe1631f0cb00f19cb918a76a99af8e47008ee3dd1a3a05d8850454054d62dea1ae075";
-  sha512.doc = "d143a543eddf18fb93f2a8d8387aa91efeac5728bdb2df5f96c2a6158aebd1d2759966be2bd867f7d63cca31b19aa279270419db5612820b389c0d75feea4295";
+  sha512.run = "b6cccb7bc391ad11a8996d3e6a3a48f79e50e3e685a4b7670a3399d5d400435616794100b38e73d32633fc16cdd1795c2dcd57bc79279266dc6509bb14d08804";
+  sha512.doc = "cda9c4082faeaaf504194d75c014fda9cda20fe85ab9dd8c4f5a3c9e39fc2c8c8428ef20b921790f36c8abae2ecd8ea089353db540477909039575bc65ed5228";
   hasRunfiles = true;
 };
 "algorithms" = {
   stripPrefix = 0;
-  sha512.run = "914ffb9d54d83aa1c6c753ecabd3ed8c42c771e7c1dd7e04934645e41f00656cdfd8aa9d18cba4d04792589023665dd4695c50aa3618858d7028b10db8961e43";
-  sha512.doc = "8bab28a11c8d977b1e837ac6dff57a888a3856f790d990f8d8667a204850c5d558009bd01c3c253073ec468333a0abc4fe644adb40371b618de4efdaac015690";
-  sha512.source = "86996ff34e5137efe0f64a20b5510368c6d1540e3dce4dcb23f625f1744e99c0c261518dfbaf803b85ed9f43b2872e7ac1cfaf7c28be420f36d451a0ec3ed96d";
+  sha512.run = "ba02581f18b74ef97f37b7c1052bb7577b256ef94232b045a43c841fc4705f8d7ebcb2b286d95dd70943d309080b05d36dbf847ecd6e661038d6e375d514a787";
+  sha512.doc = "3658a5a31162acf5ea1dc318503a2f9e74944cb998494083de76e2e31119bbc22094bfd41e048f5628730df359d2359943cec3cebd07b364a81703b92520dd01";
+  sha512.source = "d83acd2275e83d37b5bb9a24d9cb0efbf711a2fb76a9a5a18d7299c95d6e1e0ac8fb41990b795a21b23b5e4fd8de5ef08fa480c6b2eaa7d1f7644e0d44c2f1fa";
   hasRunfiles = true;
   version = "0.1";
 };
 "aligned-overset" = {
   stripPrefix = 0;
-  sha512.run = "d5e863d012c4663d4e68aba4126e950ab42d87f585d6ccf30635a539341e6b49e5f3b2efea54af5b0f7f455b8d930592e605d942b8a7b9872cffce98c0059f1e";
-  sha512.doc = "7d1607ae5324be8c734512a6a84773d63add345eb2d5aec8f2c4e7a70277790cb737c9fcbd18089ffc56d3fe893610811b42c4bf1c0d556bcc98630644d5dadf";
-  sha512.source = "79f6f053eddc36efa3702912301e104c58ac9e89e120bef27ad37bcfe5bbfdf7d5753d6ba7754794b19b12086adfaa1dd447943c98c75f227ec9710c3211742c";
+  sha512.run = "3998cd5515ad43e559da91bd1f25b835743299ec13fcf22ee9cb3aadc44c285f428ee701f5b27141c4d03c97b31a31e8620a2911854a1781ee5543a99073fed4";
+  sha512.doc = "d44ff38fe36352e1498e12eb56652e935cfeeb9ce6af5711bebe7844b1b7ba16864c8dac3c3b5f2e2bd6fee86de38c7555d5796940b834ce1ad396f5d2cb536e";
+  sha512.source = "56584744fe5700505608c6ced57fed83fa189c9e755b63521f466f40e1080a35032b007831316e4b080cf93ef36958873924246a4cdfe2b0f129effda75380b6";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "alkalami" = {
   stripPrefix = 0;
-  sha512.run = "d447c394a6ab5e09c86a7684f02fa9db7ffe2c5f40b48afebe2510203298ee91914f7d5e40c5de43a90e101a29ed16d736d0554938d0c042e30691ec8a92bc14";
-  sha512.doc = "f17ab9146c0dda1026bcff50d00efdf3f9f5325c7dd4df2248c7a74b1195bdf082f01536b8347f7e1ab2455c1ee7d4d94d86cf344c236064775e0c280edad56d";
+  sha512.run = "57d8a09d5643536cb2341cfd7bd84f24f101ebd73ef1456a39fa8557fc81bb6bddfb58990c38d4da229da5c6ccba0b4d956d82f7d07d65c57a87c749ba3ef841";
+  sha512.doc = "c9ebe4fc7bbcb254e0fa0f027e93680be2d1690cded2d9b18f3da091544b05f5dcf38b87400f8c5b8d4dd9ec320379c752615fea99d010a118bf35f4693c704a";
   hasRunfiles = true;
   version = "1.000";
 };
 "allrunes" = {
   stripPrefix = 0;
-  sha512.run = "287a2d0320cfce181e9313b4a7da0d063818fec6f441f0b9ea02d51cb579d7385d5e1f5820fe35d228f11fd7b56d1d5324a90b4ae0980ec9a21c76f4a0e56040";
-  sha512.doc = "54cdd917966c822b009755546b5ba93b7a81655230e811f11c14e0f727d937f60fd12d6f9bb27f5e720624eedb502b1949828f573a27a3df48a5cef999ea0201";
-  sha512.source = "42777573447457ed04b308312efe096b726a4bef375113327f04782b13775b4cd8e11bcc78a664b5009788aabb207a76104678494aefbbc93cf24bf286a7e5a2";
+  sha512.run = "d05513d484f11a9fcb5d202d02e7ea586cc82c44abe0488294e58c6f31185b083026bad3f17186ff03456481200e05e2ec4a7a7348f6b8fa4e952702b15274eb";
+  sha512.doc = "569f61370178f2517ea4d4625209a1359cd56913073344816f4fa8aa19edc8bc63c073de4373adb0a0a8c8d45fe392da9869bd16bd7477da65d5b0decfe6de61";
+  sha512.source = "9765fe328824806dd96ca1a0e9678ba385eb61acf95d8447213492843f908de65209022d76303be816ee1c500e95aeb35280f3377369315a87752a0c4478feb5";
   hasRunfiles = true;
   version = "2.1.1";
 };
+"almendra" = {
+  stripPrefix = 0;
+  sha512.run = "dccb1938af6f4de3a4135f2ed58d31ad1444d78ba7c415bc8d22d57f0c93d1b28b88634cad238df129fa5c40e4971998a70d4f753b0a7b8bf54b036d181c151b";
+  sha512.doc = "da7305ec5775fea53d96985d2d859a490211dda1eaca56934db20f52fcccc9ed811932b498878c896d82300033432288f179c588b55eb774269602096880e3eb";
+  hasRunfiles = true;
+};
 "almfixed" = {
   stripPrefix = 0;
-  sha512.run = "414208577d27dec487dbe9c84ee1cd766d5e5a06ee969333c0409af50c2aea7e0fb20ba0fd0956a0f3d7b71656fb6ac9063d6832e2a924d01413521cb39d3b5c";
-  sha512.doc = "2dea42bfd4b82f81ea4958a2f1336dd1cf53a0e8ab42371c460c0eb3f87f0c83a7ce658dbbef0201bf14f5d18ecb9beb519cdd0c4979cb7f4131e5a8ce2f52e4";
+  sha512.run = "1a5e41cac48a33c4336fe03576c49165b47a0bec606b0a15a3563922b964a9a3c2de735cd88cf10423b054b5131193441fbcd64fb2edc47d4944ff33cf6367ef";
+  sha512.doc = "f51af6e63070fbf94a3f8ed756d544dc7d9460f37b016fcded0d2c56a6cf672d2e60c7b2cb8be9f9942f43e46b5ff2bfb59c6ae301a5d88a8858d6e60a3fbaa9";
   hasRunfiles = true;
   version = "0.92";
 };
 "alnumsec" = {
   stripPrefix = 0;
-  sha512.run = "d098b95aaf5e3157e08164ce2de43bd8297ebb478e3b58aa3254470810f86118529b959a8a4e437d1eb123563ced9d2a4faa7af55004713a99c72bba38a735fa";
-  sha512.doc = "6a2ebce30d68e912aa648a2fb6b06b704ee8788dbab58f7f317ba017014734f2add4d813cda2d62ce515f1971ae26aaedd7cad0210b17d62898bdcdae09acfaa";
-  sha512.source = "47842ee64a6a8f0dd6ef89062f87ae42aa0d14014f186abff46f15bcdb848a6b8d6d2822c48585445ab6d9fb2fd380056dcf90445ee067504601e695d7fb96f1";
+  sha512.run = "d61adf9c03ef9f0b5d68325b435d5145297d85fa04a5bf106de50f58c04c9507eb63fb17070e955e7f476158419a802f0f18d2cd97ca93baa7997c2d57def479";
+  sha512.doc = "ab07f751332fa0ad974e6ea84b10a0249e5bbb69e591d1319a8c5d743f88d63ad9a7c72fc08fbac95e3cf950d090313dd758ed8f604e209206f873c5f0f70880";
+  sha512.source = "2c978d1dc9dc7f6a0f91d90102a37a2c8bdb78a19d7211d179b04ea448bb56baa451e09f945daaf3f219187d39f5938a7c003988fbc905b692931c9cffe465ee";
   hasRunfiles = true;
   version = "0.03";
 };
 "alpha-persian" = {
   stripPrefix = 0;
-  sha512.run = "0f3cfb4c4468fa5c89350c282773b966b499bc4b7c511188cf8dedb083848b9b81c19be27e33269dabb80f1aa1ca6fb6b37faa131b25c3cd42b78b64a25819ad";
-  sha512.doc = "f72a11da2a459e46c0b80c2a9f426bcfb1f8cc6a05c640c93f7f5c008949aaa8ecfab1fddd6de1114163f63ea2f54a327eff3b797fdb3536e8a68a3e734361a3";
+  sha512.run = "9907067b5353b62bb2d25833231c3152974f7f0826237e6b18007043a420018c7901505fcbec45414ba67ca8f90f0213c512b16cbd342413ec000144b5fcb1f2";
+  sha512.doc = "aaae11a4d64fcd05b9a98d324356c9b206bf22d5a744f6d9bd124e1c53f2df3ffd7f2901dd63a8dc2addd9783212792e2e3bbc789b1376e8f5f1d5fd28ea3ed3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "alterqcm" = {
   stripPrefix = 0;
-  sha512.run = "a77ecd3154b1c19994442efb474975f4a42baffa2f7f3272a2b56f25dcb6c79b9dc060bfa2faf36530706f01b2bbc6c8dbbc093f9d4e617fd079e827b799fd8a";
-  sha512.doc = "245ff1e04e8646fa11f0fceb6736dd4e15021e2bf86c67d96c901f0e7a297b5beb5c5a9aabfaa0f974b5de5eec434fc6af5b81370ad7578587f7715ca41330ad";
+  sha512.run = "da1bf55dd283082c5407b8ef8654f5da1b4f2adff120aeb7f2dad556dc01df18a0da16246e2b8b0242579e9fcc44fe0f4e43e8e6f9fea4ef2c67426699fdb3ec";
+  sha512.doc = "b7016f6129e46475d46f0e19bd14604821e2a892ab29963710dee2c404d87f6aa36eaf978535e297333d85b8fc21bb312d44d36fb3fe13422a62c854ec767524";
   hasRunfiles = true;
-  version = "3.7c";
+  version = "4.1";
 };
 "altfont" = {
   stripPrefix = 0;
-  sha512.run = "9842af363cfb936ca831440a3e33b1653dd06eb04f32878249b43ebf2d750657b23aa27cd842bbe6de0ff8b128b9fd2b07e567f34f573b21c54d39389722fa2d";
-  sha512.doc = "c5f80f19a65fd8f3438bfc23c1a16e6bdd0c4a8e8d6e2d88f1c7ce3ace498b95cf0a09f4e8ac4edc42c1570d94bd711ffccf33d99896e692e79812d4ce97f687";
-  sha512.source = "8c04943fffdf66f8ddc3f26f497c29e6eae0fed7638ac5459c2f0874e4df3d7fa50d44c22b0931774dc219ba1e76fd87924af54179c8b36e8e097144caccb878";
+  sha512.run = "18212e7107ed2bb6718a7c763d881dff7859e55e5bb33c42e1acfb5ea21228d1ebbdc6e13cb95f041bac99f871306bd3227326953229e69ac6b8ea774434cbd6";
+  sha512.doc = "4d181a21f732b0265d4251d3775fdd8a4305c99c0dc1610adc9af583f73e376cce249b2ef237d8027aa32a269512db71260aebe78e5e1619f506f23d1105dc65";
+  sha512.source = "f6982a69cb4264c633f8174fd8d487896db88e7d849c074c90645a84e7bc4abb1c1e6adf28500d300a74cdd26dc20b62efc013ff9e080df2bbe9a823ad0112f1";
   hasRunfiles = true;
   version = "1.1";
 };
 "ametsoc" = {
   stripPrefix = 0;
-  sha512.run = "49515d4d06ad3ee02e54e913f606cd0c94aa9347414a290aa9b48f7547a682d6fad483bd8f1874d30548abff9de2d09d7f990ef14abd795cbc36ad640109c678";
-  sha512.doc = "e2ed56999fe06710855fc564001acf1e998119536b84c4126b42289d02f55fa672833420ab04c58ee4e2e62df6aa8b328df60e559f26f7a7447f2ee5bbee4ef8";
+  sha512.run = "34d99bedd34ea4195d4b0f60560c80c7d3624c2dcb3137a559eaa1b5a16bf465c39a0c54b6a5e64d2488dd7d4c1c82636d7c3adcee3e2e687a66b51b96fe6c48";
+  sha512.doc = "80b64ca57599aab07dbd0d000e67fd002a19a8d8227bf9d635bbbefe84417d1f99cd75d81ff67e0d7a7e28231ab5438b4e51e90bbb5405f566877a4ec87b8d48";
   hasRunfiles = true;
   version = "4.3.2";
 };
 "amiri" = {
   stripPrefix = 0;
-  sha512.run = "e4e0cfc39d141adc85c50530d2fe3bc7b70bd7de50aa70d0f91f10237669f46e83064cb06f8bce6b15c0f468ee0a0afd38b96e74350bdd25e8e5bcfc8ad91e5e";
-  sha512.doc = "33ab9a7ecb9463b5de30392aa47fb90689bd3a64d8428c26f6ab25fce664d31ef994445d23730468a7600b1e83be1f26e9832bc216e48d1f1b06ebc55be18ad8";
+  sha512.run = "5d23cbea0fa6a8a0220ac93f6750b0601b8f0c904edbbdba9d4bef6d5ec9f2ef8935a16a29019b711c19f1a02e3515684e84568e4972c9e9eb42b691cad7e374";
+  sha512.doc = "3b59bf9be9f8e35bf056345c380c8c16b5889c61c114d7812e00dcd9943bc46364abb383876f20f4d7e3b51f6523fccb718533280c7de302f4ac56bb39e5b04b";
   hasRunfiles = true;
-  version = "0.110";
+  version = "0.112";
 };
 "amsaddr" = {
   stripPrefix = 0;
-  sha512.run = "5ece0dd85e796ad4f65d49c09a7e101dc9721311ec349fd28a4b2a9a949124efd68a67236e44f99cfc59b75da6445d62a933bb04cf1314fd53bf8ae09852dfe2";
-  sha512.doc = "d67f69d20823166add328be807e67eda17470a22488d92ef314d735951345d9503e8ab684adaffeaa52fa5ed751a1ebf901c414e74f45b6f4a16f99c502f0ae1";
-  sha512.source = "7b1b195fb0a3fed6832a8b79931cb4c7a3d9748176a5c9601a753b50dfb38e89fab8cc5fc835c540cdd61fc57ae23b0cba3f9212f2e4e555837c585d8a69b722";
+  sha512.run = "98aecccedd2cbfe9e348a9ca6c66d82da07eac20bbc53dfc5ea79435a20e88bbdc4e17c85723824b216a212c509fcfe96b2b708353cbf7f93773514e5433d8f5";
+  sha512.doc = "dea731e32c5e02252db95deff66e4160ff3ac9c2b488b218098d9d82754a84d2d5821877c887f51086625c18d1bfb9c544dbb8d2fff4c5aa220463aa8c6d3fbe";
+  sha512.source = "007c3c63868f4f4c0fd324d93506ec1c511e7c278bfb81e5f51026248f033586ae8a60ff3b6cc0f94080bcfc7eda895eda21dd01f312ee63d5411eacd775104f";
   hasRunfiles = true;
   version = "1.1";
 };
+"amscdx" = {
+  stripPrefix = 0;
+  sha512.run = "6bdebfbe4985eea23ce24db5e0e14162310d81efab18a7a820fe819bd51f839b9deca35b94740f038ae80084f355e5e800fd6e681d859cb7bc9bb8886993c33e";
+  sha512.doc = "65d6ea09c1bec56e5082d3521e1eabdd513013b0606f6cfbd0f7c7566795b8963dab6e9f3a46cbb6d008311e7ee3701efa345ef5dc780a3b18f6f4842d97594e";
+  sha512.source = "94751d2c3f617710b50807de584cf4c4d7c8f1ff82a1ab14a5bbd8b41fb5828b0a208e20c131a0aa023a1c8afcdc3d4b5e36b2df99f76b260ec2d9509a941f76";
+  hasRunfiles = true;
+  version = "2.2x";
+};
 "amscls" = {
   stripPrefix = 0;
-  sha512.run = "672f485ff78fc120e77f76c6cea5992f0e189dc3209ae2182a645ba462de4c878fb0cb482d55fce292eb118b86946d4f41016258c854e654c0cb45d49a6ca55d";
-  sha512.doc = "151c103d620548d4dcfae4c1a4310da3752fd580f3e1ee6347983c00df34ab3ead6d41fdf926fa6cc36304ab1909781c133ec8b183a17d5d4d3d97b13c79a58c";
-  sha512.source = "5fff9777b88908a7c82cd32b968432ac3afcac598b3e3c8c82a5220a99b5b3cf6e34225c99427b34affbff0e82ed9bee034f116a047f1e7cd2e73fdbb60e55e2";
+  sha512.run = "0b69a69452e148113c208d52b8221056378e6f869fa2efb0c52d49980ab574ac21a04d9957a2450a6881514645cd156580ad2a0ff2879e240e217642061afac2";
+  sha512.doc = "8c98528cd59e8da8c017fb49bc9a7cb617261f899770be56d92b1d52be274993b1777923189957f2ff70ef339223be569db586b80db7285cc824f321f258591a";
+  sha512.source = "a6eb2d6fd0a9640ec2ba625e91703403b80564d069bf8b873b40cb38810c30f1d0f7d372b81a194e4022a33393ebc612288d4d833a38db756ef9c344b4cd1726";
   hasRunfiles = true;
   version = "2.20.4";
 };
 "amscls-doc" = {
   stripPrefix = 0;
-  sha512.run = "ae64c51730acc11d98bd83758585d9cca9966e32fdac3e2407a77972f67a0ab30680d263696793299cb2714f063d4cddf8bad2424eff7b9b0977d2f1e79b6a5e";
-  sha512.doc = "d41ec70252a4fc8cc131542e3e5d1c481e57c1603013bd5e772e70e7a7d1544523041f73e488c5a902b45f22b5a14ccb491ff699b142d772dcdc66c4c410360a";
+  sha512.run = "132432f34812f009233392ea29d6c4145717a80ea305632687da30de6969dcef8af9c2aa88cbf1809dd34b0c3dfca0f40a52b6216a7370f2a225b2602d0bbaf3";
+  sha512.doc = "8c08813abf65f00b68441d1e5cad3eb4a16fc1a77b30e10d96e22f34d6af547804af4d47b62ef0dfc895e2bc7cc5ecf7bc08d912448fefefbf716430c4502a64";
 };
 "amsfonts" = {
   stripPrefix = 0;
-  sha512.run = "8f492d3b5a0969543ef11d5f7edd76e9b3c5976cfd31cee976e0929cbbb4587f16b27fc161e168c013061991e1f7730df906c181027f13732639e02a983d9abf";
-  sha512.doc = "3bda6d839835dace02209e897be9648df59c6e4f11fc1be7f7e78646edac14c5f86482953f839a2afd1015877345aeca11d5a5bb03963b9b519230fcd50f3623";
-  sha512.source = "21fddd7a206265c5a9167b0d9f192c27f74cd10b49c0bf1d1a1e4d8534196155784c312707fe4294b8e6a1f1064c3f5cd76ea1907ce51a65088bfa2c9dc78bac";
+  sha512.run = "ff1256ae20f435327c12424613a15aa8f207e9133325e3a823ca7ef9951b8d52acb56cc69cbf9f3c0860ac43c9a74ae54154d1cd956d7e25612307dcc6e74585";
+  sha512.doc = "fe0df1a9efc821e21adc0e21bcfaf2defb1749e3206d7dac8cd9b667747c37303cb2c69283a89aa8740fc3e08e8803408903a2a95eb0b91e910931a8333c2fca";
+  sha512.source = "49a99f519fbba1ae7ba91ffe392b4c1bf7b9246ab573a4f2c8b41fa252f080efe66c5df2acc36a5ea9570e51d55890bd89565ec2174ca7aa98980b49aa060a98";
   hasRunfiles = true;
   version = "3.04";
 };
 "amslatex-primer" = {
   stripPrefix = 0;
-  sha512.run = "050cdfc69994c7bfa31c230fed7065f51de92c9765d9a601bd74976dd3311bfe688d5e99b8904ed5f8e94b9f7827b9850678f1feeaa1f573f4490b1ba189611f";
-  sha512.doc = "fe824ad81efc57730a26e4269700a397cb7bed12dc90c8e3bd6f07175b340a606d856444580c67396e3809dc774216983104110351839da830675a360fc1310e";
+  sha512.run = "05c7c19430a85986db770d1ff8686993edcde35171e3653ddfb7db4a09422c80e53632f583371079fe14d3c6fd9ff4eb3f0c37cbecea7ca2d9a5aefb04cabdb0";
+  sha512.doc = "85faf2a9c03f7d7d1e23d72b7041c9b322d5f8bd8cb309a60f7256416249ceb7582c112d25f8953ee67dd2b79a3697e29cf6250d7b199a9eb73a9682f123354f";
   version = "2.3";
 };
 "amsldoc-it" = {
   stripPrefix = 0;
-  sha512.run = "5426dace3a5412ecdf225f5121e93dec1d8d9cfc82eaa97a3543e74b3b7d08495711b5e32a204d411a3bd924b7711695f0d7ef0bc78bcef627630d68d47613b4";
-  sha512.doc = "a7b58aed7934ad1ccc06dd5205d84deab71e7927b97116f5422357314d3aa388e474fb595482ab7f614cc6f2260a6be12c1e98ebdd3b798eef28e039cfd87f58";
+  sha512.run = "9178b17bedc53957118083a78ead56f9fdaf9fd6a60ea0ebdbeee6c87254e7567b47b61bad1f9bda2554f471f79c28f3df7c3d2b9858faad65c3d110664ec4c8";
+  sha512.doc = "eb23cb624c4cf6283b8f777911d102953d31dc8da04392d7023694fed02ee1b8a8a49365fe0f1cba9682e911405f04afc982b6cc9cf9699a4d76ec8dca6a471c";
 };
 "amsldoc-vn" = {
   stripPrefix = 0;
-  sha512.run = "8b6d56d3099a536f4091ff70dd95819d0c8ac070d21331fcb1667655648524c84fa4f9d03fb7f16ef58ae4a6b842b73875466be19c469b6bac887a00c41313ba";
-  sha512.doc = "b38b11278a5d24bc9e8964c48cc234899a2f8170e8da45be566e9d91e528aea62cbfb277377e18ca3944d3bbbdcebec919b8a476ad7efd74309421cc45ad5a5f";
+  sha512.run = "5b0c2cc1afcc4060249be20271af92c71c866db47d2551a176b5685c58182a6ca17da9540dd9a7c7abd33de75b0335a625aa921fdbd77329bc91d16718fb346a";
+  sha512.doc = "827c294eb1cedd51a3924796b461ec3d6c858e7875254e0fdb6cb496fecbb6d2ec541e930327c54cc446b15dd69ed795470ae6cbf1cf1e51c0f3ae90f3f6c12f";
   version = "2.0";
 };
 "amsmath" = {
   stripPrefix = 0;
-  sha512.run = "d9410d82e1f0c7e600b69b8378fdc60e5b90cbaab14ed44dcb272eb68350442ac8d36e6c34fe65d24949b61725acdcf3d3924018145c9a342605ed01dbda7dd1";
-  sha512.doc = "459aab06d4f585ddbd453ff45aee4e6f2fc7b614c923bdbcd585eabd7bf8e6e61b7a692db16c2d8d07b0ebab882847e648379ca133d37151a7a4e250b6bbc9ed";
-  sha512.source = "6f931f8e02e7c867f1795306a506aa8d9b3181abeeb65761c05de2b611031c69f02c254bab9bf3de8713ff0843e20fbe0bfcf98a29fb0a37e813dc3af7861277";
+  sha512.run = "eb80cfebfbfba8403c2063fefbd9f779ea3d547fc6e7d15f47def3a77ec327e2674fe68d9303f7a3600c04be563f62272e2919387fb1c757246b8d4c33e4c24d";
+  sha512.doc = "4b426d8e89c6291d7325e665d2de8d33fa5552d348478c34495bff3afee29f1ce12a8c37c60d07f555d381099707b1378923ddbe12bbe52afbd33e1db5001ae3";
+  sha512.source = "8571ad765aa182bafdb6dd257020595e454222d00314eaf5acf08285383dcfa99fd900a74ce5b87446430c8ec158f001b79da9f4fe3e509e6d24b7db7f26f7d0";
   hasRunfiles = true;
+  version = "2019-10-01_PL1";
 };
 "amsmath-it" = {
   stripPrefix = 0;
-  sha512.run = "94a2b6c421a5eae2b2529eeb95857a495d9dabe7077360860d8b445df5bfbaf17f64e20dc7b053cbd8b0d1088b1eff8fb751aa73e9065bd32fd08a64ad49c6b1";
-  sha512.doc = "633572ac00cd64555f4cc8a6a968d7db025f0554c2e10d8def6b247b7ac43ba01c767ed0eb3de1e1b3a01a175d07a88dc12a84b9f00d06495d5c002db3919466";
+  sha512.run = "6bc869e3cf11a9521ff883e9b8cd227a267d28291124c0f268556ea576bc0af8ea4eaa145e45d1de84709df08182fc83946d80fd0f116a8656a35d75ca83eef5";
+  sha512.doc = "814539a2a82601c930097113a9baca5166fcf68d1b0c4dcf25d8afa8991e667619517879bc415ff114b9e86664b9ff5e25a7bcf1bb04160b9297cbfabb4a639d";
 };
 "amsrefs" = {
   stripPrefix = 0;
-  sha512.run = "a2533b00ef1ac570037c7205cff85b159d4f78bc3b2c35c15a4a872117c0c51bdc125c25875841b5e9955229d48ceb4d3348874db60e5e0bac1a4d90486fbe1b";
-  sha512.doc = "74ead56be6f1cf779bd5d5a1808698d9e5ae127df2e2df0c545c959e61fb1d44ba0eff003077be53153904bc3f24cd58cc23a26a655fa9b1a9b235cb3dc4f8ab";
-  sha512.source = "d6d1c8c9e4bcd3d114f051841e78e7a88a1fec3a715d51628cc9d9b5e8035daf45158e310900cf99797ee2a323d427954a63f1108932fedf7ab62eb13fa09e6c";
+  sha512.run = "a0993aa374bf845952c934a421d2b344564726207245102dec82915a3cddf33ad8cb1f2d4d48d71ba0263fae0c24c78f0cc21e0b923a875af02d12c602a375d6";
+  sha512.doc = "2c472849194fb72453a541ba443b2232fbf876cd2d4071dd6e6eb65603845ac9715629bbc7b1f44dc0268a809a1a5d74a08f0dc27a81e9b30787a44d133bdd57";
+  sha512.source = "9cdfcb0e841f6dcfb23c5fac930d12cc610ae8002aed13a4867bf384fa0f177f834cb58482647c2daf7c52c0267f85e8dc4f93575b14fe58e2a634307b7bab49";
   hasRunfiles = true;
   version = "2.14";
 };
@@ -660,1296 +690,1322 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "5ecce183d02198c1e5b3937124480a8e9592260aff35c5d3b7ec12b7a82fe9804e8af2e1fc50d017ba311f2fffc9c82544ce69769f5654fbca9af1449ddea8c3";
-  sha512.doc = "1a3379cb83b9104f1a277b4e8f8505620ac477a7931506192185342e281ec0f9562aa0b02896924364162d3895d15365f7550037be25e0a177d4627626c62fc8";
+  sha512.run = "0be8ae28c39851cb48882041016146d88507109945b6e474fc7758254b7c3a5c1861093861e69f82c4646f7bef369c2b4d212e3bea9e3175cc687032d1476782";
+  sha512.doc = "59a785a7e23e5530b40f45676dc5a0d75fde350d31bb5e6398015e7c9db2a672576d3a91dcb1c928103ce85dd6538f81ce86d8d78dfb2be196f044397a892296";
   hasRunfiles = true;
 };
 "amsthdoc-it" = {
   stripPrefix = 0;
-  sha512.run = "89550e5f973ea1c33ee0ee0bd32a38647c25e7ee2cc4b90249436e331adca3260b9215ed0fc736a4caa93b63be58e2959a5e5579756581f4b17d5fd8a3418db0";
-  sha512.doc = "389a47016ab7b5ac80109b8c46665b4a9ea9906414112fbb641e2c0f6a01907b03a6a377979686b32e6f41a718d14aa0a90993727e82391514a869b52bc4201b";
+  sha512.run = "17631e2d6306887236f11eed586454a784f256c36c14955be1eb30377f1f73b189686b37ba6c95188fda2e0b0aac9a1f40469a32bc7787b5d4c244de9a01ccdf";
+  sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
 "animate" = {
   stripPrefix = 0;
-  sha512.run = "b4711ccb9470b199a2dd372df1456bea3544a964ef4fef088040d6e6fe95ef966a87a4fa8ff0486e9fe48679fac86498e955250d7a0e55e34e29020159b0184b";
-  sha512.doc = "5a796e9fd70e5533e7827edc07eb235f6678859c28d8920c41fd297e7a25f07f144b5f7f899ba37aebe0706f976a38cd4dcfcab93f5f684533c4c339183e7a10";
-  sha512.source = "bb9b07be1bd40b5062098210347c12e76c8c1311de97a935abc5e345687a5bde5827b7124e2f1d7f883bbc31ac408c90bb5a0d038e94617536b44b626dfdf331";
+  sha512.run = "973147378dcc608d797a9886059fb2beba6ea5f2a88a04d9f0d4570b4f6518db80f18a0a02435f673bbc95f809137bfeefb617c3b72257c3b92823bafc01c853";
+  sha512.doc = "46ce529a784fc1360dbc8aaaf99a7d22f0de0d54d676d5aad3fad197bdbca428ee5cc615d2381ca6cb743645253d6575987c1d2e80a88c8af95d3dbbaf6da848";
+  sha512.source = "d11b8b1ce8e89d2457b9e8e244103934cbdb3f0a2fd15d7c20d127de9b40fda55a8df601c95b18ea49bbf912dc3295878354702770ae63179e1f70deb535381e";
   hasRunfiles = true;
 };
 "anonchap" = {
   stripPrefix = 0;
-  sha512.run = "ca9b0dddab3401b2c3531e32273c02e610f56ba19746e5f0bef0b92909242b3c9ede1438d9e94771653855d87d265b0f6f7d7ef5901a97d77dcc2c347735fff9";
-  sha512.doc = "746fa120e8bab79ecc5b63621adee336d6fd2074287f9b1cc287cf0cd151d3de5aa2be07b0c2357d3ddb902c63b4444b08fca28bba01097568cac2ece9cdc0bd";
+  sha512.run = "4b84d5260c0986191fb4f2b560c386a806c8f93c76360a8d93aa7f9b55dcf089d7d03ca946143b52923130ee751fd47f1ff59908314297fd752ff5fbb17ec0cf";
+  sha512.doc = "087db509e1d9649176614296f84fefe9b726dceb3ac8cb6eeecdd8a6fdb03dc97433c31478638eeb6f5f7cde85b8a8a693fce55ed0b3f5aae35a075a43e5652c";
   hasRunfiles = true;
   version = "1.1a";
 };
 "anonymouspro" = {
   stripPrefix = 0;
-  sha512.run = "eeeda26078df7a2646835061423119ea7f19e25476568351b7ff457b367695c9cde66ab2e7e50655481b78e214d45016233eea344c39968a585a70acde56f10b";
-  sha512.doc = "d97b82b8918ab52c13eeb1f0791977355bf6c72261a5529dd12f392aa9a81b7d441a6d619004f848829d4b647bd8cd77df46bae0487cd05df499e7f53a1b801e";
-  sha512.source = "f0d93b7d37b4f420c21a65254b27d7390df19ebed915a9a8a33100cae179f6e6c290302c658dbba8cd8b0487f861cc4d2eac17af6590126a0a24e934e6acc5b4";
+  sha512.run = "105334748bce7fa8a78edd599d6a8466729937f0008c479213a4d3d4b6b3e24b91bd1e124d0e3c1354fd68f99fdf621538696ba9b32ecbf09f5c7202b0b34997";
+  sha512.doc = "ced94c5fd0be106433e99cbe66305b60ac6ddee82d3a1c8046d1467b11fe9ca10c2ba3b4ceba56a0ff439e7fa82d09c303f29200fdcec1600145fe7623773e47";
+  sha512.source = "75d70833e574ab7847208d76d1012105f42712fc1558b9fbb35349871068bd60099d4ffe189eb28f5276807e6d1e48969283c7ea5a48f991cdb959077c1444dc";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "answers" = {
   stripPrefix = 0;
-  sha512.run = "83af1263901b65b641bb2087406e7c0e13a1f64c99e56911aa4fd6c4a09bf4d4d8f60b906fc7717b265e12d95da2a34d7688c72d3cd94a23026876e4c13d4ee2";
-  sha512.doc = "a562f7b6d377edb1a711bfa8975dcfbf4d969af69ee6e9b1fe793bda96d6681a57fb8469677f3ff6251faa7e96a02fa067e07ca39d7c2c583cdde239b729b6de";
-  sha512.source = "e9f8b7b288cff9cd0ee86bd7d29dc8e0b70837377e1b25b640c93c2b075a4b9380f4d0d22bceefba3f8dfd282de99a8647fe7bd22669469c734921f5c6a7ba0d";
+  sha512.run = "89f7fa19dad8e94b57a66b53b72578c277037c0c3a9fe008d0802dcdedaea03f01c6554f4c6b80fd038ebc4f18e21bad3fc176f4c4acedae07d9acad2a90700e";
+  sha512.doc = "616569a8d972150c0a1da86625b580baaca642bfad773e9e2240f74d33ddfea203b4c7349660b996adbf8208a92b11861d3f1a42ff88c68f39efba0af97ffa19";
+  sha512.source = "ab865ba5abd9be86d4056cc33ec9436c14cbc0c308cc68d9a6768c094b84dc1bf785bc78c84e1f286e9371c2118ae3c21b8f57d0b4406ba6c2130f633ee6ef09";
   hasRunfiles = true;
   version = "2.16";
 };
 "antiqua" = {
   stripPrefix = 0;
-  sha512.run = "cb0343ef76adcffbf502c202646ef1754319eba46e7190f88f466df233f962ba07e145f2ac3c7a2702387d3174198135eefd9677737481ef156f76261f92fac6";
-  sha512.doc = "9d13d648f5a7c87c75a69958cb4cad9167b8abb2a8a46be4905052adf88e1ec73e230d075c0a8a60fd5c66ed1e00d7fceb016c2dc557cb1dcf5a1414c3cd7699";
+  sha512.run = "0318b6f81d365cbb4b320642ddb6d8f909b5b136daf952da01c22508c392c58c9f8a25b33e4dd0e5afe777bb0b366633afd6567c3992df2a2e286cc9f41e6211";
+  sha512.doc = "4158160d42fc776891f974cf8de13631aed17578ad2e5a67225442b7e783a36e2a0d3be640d92dce0fa66097dc617ad54b2779a3a3ef9878b46d900c5dc2ed7d";
   hasRunfiles = true;
   version = "001.003";
 };
 "antomega" = {
   stripPrefix = 0;
   deps."omega" = tl."omega";
-  sha512.run = "171115db2b78496013b8e2025aaac59dbd40c819600881932a00efae59052eff91ffa393ace0e14df1a62965601b03bfb354be0be82bfedc1a3f74c8f01ff78d";
-  sha512.doc = "bb84084e2f65580438dedcdf16b869233e3cbf5944ee01393e3b4f90642cb530fb66f4b27d7491c42058205383a261b89f9e4859de136327a12c5f6b316a89f2";
-  sha512.source = "f2a3288943811fd73cc7a64b08ef27067f1d61c10193194112f1694fb6d19fcc32c1b97eb48c0176557ce9005e31677aeed72ed041d8c5706c131d92ffcae003";
+  sha512.run = "af2cbe945ac3495e94fbf69797c05d9a7cd8c3874148c54c602a4a152c669638cf7a861949a3cc2d08aa21f378b57beffddf2d13e3afc1157c74472c348f5405";
+  sha512.doc = "298b2e796736f7598a83a2d4fee53f48e78d0c8b255cc09c686371a3a05a4d36736cef96d812281cfd3fe1024af433f32e117c1c60d7559809220ed8dd5e56a9";
+  sha512.source = "7ee92461e60834af1f736f387823788a44d680171d9a7acbfd71c858885e190f724b5db11074efb74faf63b471af5c34688af1be5b765de67b170dbcf123fe2f";
   hasRunfiles = true;
   version = "0.8";
 };
 "antt" = {
   stripPrefix = 0;
-  sha512.run = "3f6e9a64085bbc399c6c629947e4e4a6eb161f6220343910db4af6b189d0af14a33d38c2d6fb30abc0f8d97dbaa004aaafc35064d67bd9ccf6118a1f09889d19";
-  sha512.doc = "b49a487e18828cbcf6ebc03bce0967d0ce2ad0d7ac4bbba8ddc3810cd539fe3d4692400cb5f94df38b704b20d63bfed9cf0b26034663edcc4e45c902ed265921";
+  sha512.run = "c31e92701d14e0559ca1807389d3f1d95a166e9dee918fc7218ee671227381e3c37a991756e9c19c7e7d3681597c3c012037a74249c7c8eaaefc7c8a3bc2fc36";
+  sha512.doc = "00533390612e68b48dbbe9c1ba11e46a0e48f8b87cea8f6623267d53795ee9170daa1f34adc8cde12356ef779990fcd7fe7a10b601bfc11c9a0f590b5a25f3b2";
   hasRunfiles = true;
   version = "2.08";
 };
 "anufinalexam" = {
   stripPrefix = 0;
-  sha512.run = "bffcaaf0b9062d072fd111d2a72d2798bc61badf57a9e7c4a9268827957281254aa5817cc379a6b7ba22d89afba9b9c0c6d4e9d1f3e75633cc42d81c168c3dae";
-  sha512.doc = "cf17209d293c8fb50b2fc4a2fb581fc20d985b9fec1080c4a6c00db9a3e0872361675e7d6cce8c8be2bfa63a8785da661322c2507d9f92ca4ce8d3e5a6d2bfad";
+  sha512.run = "0f7deb262a96bf55eba167475ca7c55887c1cdfbe60f9a32debb6926d855764eb595acb693ce9ab74a2af89efd98114f6694255580b5d594915cb2470d84b485";
+  sha512.doc = "0821831108f81bc8d23dfb7d26f2201057a897a2dc783959b9e298b8e59b79a12453db072b824397a9625b8a63e7fb19ad8ba6d4500436bb0f7b9a23f96d1c3d";
 };
 "anyfontsize" = {
   stripPrefix = 0;
-  sha512.run = "d2bdfab0b0b3acbf22b5c23b5f5407c6f6ab3ab2357138c5bb6672f0e3e0428d33f8aaee9c015a3f2222545d236dc55e8260fc7bab6e4e5c62fc52973f7c7d39";
-  sha512.doc = "f7a14a5fcf333b2a04f6badf3b198ea67e2ff16b7aee9a1432742f982645f1c2916d06924e80366533ec42fd9a0861c5ce60834ea63dc4a41e0af255f17fff7b";
+  sha512.run = "31d1c235d011998043663bc1f5729bd40c5b90996627038be612115daef2b3526c9e616b16c251d6b653d5bad82beee62a7dcfc3b8c10feec0850729afb294ea";
+  sha512.doc = "9003fdbf712448de70c858eba74f7de79e0cb83e8f9fe72d9c1b71869161d5a63099473c4f9ec670b28b356ceccd9b56110a1724dcde3062ae209a678f5b0e16";
   hasRunfiles = true;
 };
 "anysize" = {
   stripPrefix = 0;
-  sha512.run = "122b7e9aa4bf7144c23eb2b71f66ae98cc59188334b685579e41fed26a72202b28632c98c570a6993771cd30e9e36da6625ecc199ef8a5da920a5fcf0e055bd6";
-  sha512.doc = "631dc7ba37f2afec300da94d0bf3d9ae0fc17d0aeb9e4025859b8330abfab06b7acf7728f558291e5235ba55b041b8cb4fa07b38a6c15ce9a486ff4d50f8e7e5";
+  sha512.run = "4439be91f8dd82cdc051c519b5bc36fdfb632cf09941f4e6ec92fa77c2b5f4d767c162018fc9451d48ece17e9cbd5d7d4c574eacea78b8f92b6e07d40d7b590b";
+  sha512.doc = "96591bba808fc91a876dd49a6e1ede3b679c18952244f14b07e992b40d20f6c4a0f4b4dad00a409c766c5f2e883fc4923c501e65b06ad93193719001c2629f08";
   hasRunfiles = true;
 };
 "aobs-tikz" = {
   stripPrefix = 0;
-  sha512.run = "ad27c30f72cf02dc954aa53840b61973386469b151f452ae566dccae4fb751d0d22c002ebd8656479563cc192334da18ed4219be1e2484f640e45db0650d5589";
-  sha512.doc = "3289ba8ed37a622c73d642b77a45a9e74c78276989511107794c191ccae7d000f4c4c211e60cfb512f4c241b4b434fb652c78178e07ee3e658de15069b2b8857";
-  sha512.source = "4c91ec222f0110e8f3bab48dd94b28280cfe701d8d6ff3d7c9b40f149f41360ca713385ba13deba7d92b1c8b42aa2a115b4d0ea48b08cfab0708d87679b93b96";
+  sha512.run = "76e3f9748c704efafda74e6184aa3c0199f8dae3a9f433615fb87ac5fd7c81d5dd604e91ed7648b68f05919425f82fd19ca0b66f4f590f55e55634a5cc4b7f9a";
+  sha512.doc = "3732ca200dcb7d3d4b99cbb0edbe13ef7c9293e8424457c2493c330b4ea810bca21851161b83740bf3b7b53899941e906b0b2e4b46ba715e7b5bbe19844d2070";
+  sha512.source = "2cc8953d5e03bb1e6fc35d323a35d434aef291b165f1ac4fa0b005689af3d7988770d0a86fb4b4c3dd3ef6ea876f962dac5653e695533e089a7a50653358f40a";
   hasRunfiles = true;
   version = "1.0";
 };
 "aomart" = {
   stripPrefix = 0;
-  sha512.run = "2f1f1f7b3cd6948a89279486ce527b8c1bff960b975a095df9b0e8ff9d2571dc086754aa1689aca339825a767e6685fc0c214a68ed1b599fade65b1ca3efe985";
-  sha512.doc = "e5aead1061276b541bdc83e6b5760281e31106004c31764ccfef19f8ea449a4fa2928e45f7b94c8118c56ebef2c7e1ad863b34f07d12a5957b96119c4194ca49";
-  sha512.source = "378ad2e41e92c85714457867ea4309acfe77ed6776ab763834c25e5e53746935ddb1be9509460fe229f44acf9c2e4041ef3946e8bd9670ba10316d1a1da7284e";
+  sha512.run = "699f0d1fc5e8fa4bccd31609044e2330dd33083acb56832a64ede0d23d4f21e7a8d37ad5734e282d11238c334399f5b5b6449671ab82b737f9c51612b49f727f";
+  sha512.doc = "ca87c32d703e136735fb6e121c4bcf9fcad367121b071bbb792d96da1669001e4221116275aa6b37df1af7788df4ddaa6948aca3405facc0f05af7ae6924215e";
+  sha512.source = "ba9496f1adee23fff0bf5b3d1d5d54f05c6808ce2b40e7fad8450f01d4c02a2e5e6104304131eb52c91df47a1091f46623d4d4e1849d015f1e6b37d86f210c05";
   hasRunfiles = true;
   version = "1.21";
 };
 "apa" = {
   stripPrefix = 0;
-  sha512.run = "a9f6847c5aa82d99ed42abd0c94e1de80a963ba16cbb4457b4c4c507541162c5e1813e32e422879a133ac4669c85f5481734885cc58e9f746e884925b1b9721d";
-  sha512.doc = "3e727947084a1192caeb3e898eaa1a99ac89147f5ebfdb6e9697ca9f0b93e7bf3cdfeeaa3c64c38ead8953b0b7d53ff000350c7079a5fd736599cf3de7aa480f";
+  sha512.run = "53d30a8458538f1852113370a63d49e8c0926437752c9d03299374fcf8adcd79c1c353bf420ac33a364e6ca296079ff385609bf2afbcb95dcf54465715790703";
+  sha512.doc = "df97c4fd9187772847f29950e899fae480cf5fd82d7f6bc3fcd1de93a1535fac7481436c789ae2c04e998f521f23e5b5219b38904afe1394cebb6c68e55d780e";
   hasRunfiles = true;
   version = "1.3.4";
 };
 "apa6" = {
   stripPrefix = 0;
-  sha512.run = "7a50c51d51591df5f95b6f2921c34357d3623c5e5a8939f779995f14bcadc72f44cdd855bb5f47fa1d83df89f0bf4161c9cd363e8a425b1209482f80cd7f89a1";
-  sha512.doc = "a67893bb142d48e796975ec2677ebf04132df4ef30cabc8d605c478fc775491b78715e88ac6cd9b54cc7dcf9435daf9995729f19c4a67268f0435e2f3eec096f";
-  sha512.source = "21a4793daa3a8830435342befde9212140aeca8bc81a3ee5033f61d0a955a9a9e92e1034ddde069fbc51a0819ae586508d7ad2021c6d7831222eb0abe2a97756";
+  sha512.run = "338e7bc7d97fc2b9c322d00fdc084d76e025584fc4584bc253f44ecedd6774cce38913e8ad0c08bb6bc64b63b83702d0a13e896f2e87b0760129e1b734b15fd1";
+  sha512.doc = "2e34f5094708aad343a716d96be89aaca2c86dc08da5280ad2146013e3df635ab9e49b814efb1166a9e43a3b98245f92f2e5144637bd96c13ee4e1a59b2ad04d";
+  sha512.source = "f73170f6eeadfe27dcaf0ffa7b66232eb7da5246b1630ce5794aebd6a6faec0233a3f148225a2df4e7c95af38d5005fe84e1e3cac1011bc7b0398113fd49d9d2";
   hasRunfiles = true;
   version = "2.33";
 };
 "apa6e" = {
   stripPrefix = 0;
-  sha512.run = "9a03e7cd930d3ee46a6fc41aa9bcf4aa43ef541d1229a8632664b76d54bc3c086545bfa7dbff9c8ed42f1a693ad022a30f28b0df5c8762993972cd36fd1e426b";
-  sha512.doc = "2a10b13c6a1d3c54ffb6e031b4ee9724146f5707722b0c60637b24a3e5b66ab7a0e5e5b6579d5baea3861e67db0a8c4d5da691f0473daaa121ba92b05192ec5c";
-  sha512.source = "8acf941e49930e042539098bcb935deb9af31b1fddce9959002d64abe8bf3ad430aba71eb7520365a30ec07d1b2226ab8ee8a7e21d5c414e3d81ad122b21ea86";
+  sha512.run = "155bd30654ec3a2bf3930bdad98235baa6bf7aa8109ad449aa1a7b6f2dbda37851f43978266e1c273cbd2155ed274003dcd91f9f452f2dffe268750fd0d9293b";
+  sha512.doc = "d78ed178d1fbd07668bdeef74cf6f9f3674837a4f83eb5dce590762f7c02fae1017ee2eed6625a85a7b3e251ebff103e37da84af589125bdb60b73c9459cb748";
+  sha512.source = "6a6502eb1a60d2b67d373fd1cb4aea0737d0eba9ed2846c07ff5849c4bfddb9ab3b6369ec0958536e831c79e63beece92393c874d9463bc7e3cc1a56f4c4ecb4";
   hasRunfiles = true;
   version = "0.3";
 };
 "apacite" = {
   stripPrefix = 0;
-  sha512.run = "b7688147efa1100fe63383f737c86a8120676fcffe59bf7de95886e78263fcf0b1ec803b7b85a5920d875f9c5aa80ff057e3e5bedf959c794a5bdd6014fae12d";
-  sha512.doc = "0f4638bb631ac2a582088dbc1e9b11b073a0851478345f70a2c99b3f818e9ad3822d3e82f18254b0ff1810dae39d6c372dc5f03a3f24e90e214086923248d1aa";
-  sha512.source = "1d3721e2cf3c4c9b675d35d64f2160c3602a7c17ccf4db447df48f68aa42f7fe77465d5e35619ae52b7142d2b5ad44809a35d1eadd4e651eab4a119bb4f9139d";
+  sha512.run = "02b89374a1a61c7f972aa759b11420cbc7a895972a9b36dd09e48f0aba2ab8d83632949d6f8fbdd781170403639b765ee68a22e1962d13751af7fbd121a875df";
+  sha512.doc = "f9840a9ef1cd33ed01b8338956b3da3676167d8ac99cd1ce32dc0383992fc9b141edb20df2fdb6b0d5df5762ff8d434cd84881f8ab1cb4035fcfb2bd9f3ed14a";
+  sha512.source = "4fc1c927dd602684043a803d8e15b7bf548301bf2562a5fcc111a52676f96740db138da3b58993ccffb78bcaf6dace321f196c5a77022955955c87f729bea506";
   hasRunfiles = true;
   version = "6.03";
 };
 "apalike-german" = {
   stripPrefix = 0;
-  sha512.run = "7fce0cf03311740a49a724f6c359b9e7c309ac02cfd318881f74c5be19be43118e6dc576f016f395e0d642241c7c4c36ad38d13e2ce91065d1bbc11590284010";
-  sha512.doc = "bfb85d3d72857191e06d6244654c0949230a09c4fcc85fe8a48f25801cf7922ad65fa51dfb8acc7355e96783b0702fd2d3dd37e9b3195120f5b772be96e2928e";
+  sha512.run = "37dec37d8e08a2f124c3874eeb9934e7da3cc9cc8fb1ce82705a461e060e4a59dbd82c779ce89c4d53f1ea909b4b9abfd57e1f9362ed432693dbee7b1ce615b9";
+  sha512.doc = "91899056f7c71a20e08e4f5e1a2cab83282f9436409cf28b120b92a3633ec5287ae2b6d7fec2c20ee28299589150408ef2e9760028231523e4c378351a88432f";
   hasRunfiles = true;
 };
 "apalike2" = {
   stripPrefix = 0;
-  sha512.run = "7396544639325ec08a9df225e17fadd3ef58e67b6f329a6719bca810275074a088539f5f4f0a9da1e03082a130f36970bc9c49bbcb1eee8526b2eeb75323f6e3";
+  sha512.run = "ff569f69538cf82afd19d9dd8f798ac36994791d4c5cdaf8998267883432ee0230485de6b0aa9e9babcb285f1121936e911fe69700762010bcfbdfac6cdf5be6";
   hasRunfiles = true;
 };
 "apnum" = {
   stripPrefix = 0;
-  sha512.run = "1718c3d4499f7c65f40553c920cc681384aeeaa489b04a656e5313cddec11c6b36be9798a35e24bb9c06932a96733f52153eff7d6ae5f6d69b8a02fef60f1464";
-  sha512.doc = "8e4929c6a39c0225770de1b9431e8eb53791171dfa6f551b2bbf8a6719a748aff46e5ee976c9385cd6de596c773c3c523366776cf09b852c425471eca4ca253e";
+  sha512.run = "2e155193dfdd3c88cf336cece23bc6b393a81529c31ac2535840a7c4f4a97530d35d0f4ae964e8f92856eea0d54c356e8bc15427918ba0891730827a3ba561c6";
+  sha512.doc = "4e1a6ff31d9836dbb04fbd90911083a9ff70c7526ef099d437e21c11766314cc29e8071dbc21976af7a23fe99b673bbee82dfd265041b9ecd015070c58b4ce14";
   hasRunfiles = true;
   version = "1.7";
 };
 "appendix" = {
   stripPrefix = 0;
-  sha512.run = "5a3b7492ac8a1972e25710ee70ee82abed56b56cbd1c496dcbe48fb98526a29a118efecc1f05dd7e083af194134d09bc4568acdaef6d43f2aadcfe65f2706abf";
-  sha512.doc = "85002436ebed5a575b50184bf1edf9f72c4ff1878dac52991d7ff9a4ff8e1f0de22ccd7fdeaccf5cbe35ba86637f4d8b4f52783393cc3634109908c33d762d12";
-  sha512.source = "285ba3b9286866d0b5fafcdfcddb21487e98206b198417438390fdea9456547b1bfb3596c48c70d2d03eb7af8a135b3d03e9fb5d953f97eb220652bc9c30c4fe";
+  sha512.run = "ed3858af33069bf1cf5303f4fdd5ed17b1353be7202544e4e387ac9f428896bb24b9ad98ecfabda8a6fa9852c3ffe5179f1ed06a7377b4cda91e9b480d6a38be";
+  sha512.doc = "88298d222e63e3e122a60d63e1f8a8eeeaeadf0d7287ffb4a2db5dd5d6ee944b64d74d181ce5f5e2605577827cc9a64054312448b6457c26c08e67284c00447b";
+  sha512.source = "4778f0e2586b746957ae480e90f68a951c274be59588e7d22e2ebdf13514ff08e058c0793ca5c83433897c720d5371f0f6e847433405f0d880462933ad0707f7";
   hasRunfiles = true;
   version = "1.2b";
 };
 "appendixnumberbeamer" = {
   stripPrefix = 0;
-  sha512.run = "a364bad32376322f383b31cfb729402d3d481aa3f427da823f57a10e6bdf1e65636ed6903fe8e05ddda5f09c39a8fb617150cca3ebdf6c1a1bd11815a0ed2d9b";
-  sha512.doc = "120fe706eaf53b8d7b8f6134618340c13614084b8058f2c3b734743a219a97867e59ec8b77aef6bb20f845ad6eeea19ecc19892604a4871f22a6daac5833d073";
+  sha512.run = "d5f4573a0f6c31be7e910512d86ee0443e713abea11e71694b58f1d1d65f4249f967aa5b873941e1d8b7686d408f411aad1a76009a3bbcb528693ae14dc60e63";
+  sha512.doc = "58b32eacfbcd8e024a4cf3dcea0c1d057010dd454c1e54b6752b970a3fa1a9e10eb15d8cee9dbb9ae032aaa8b6c070079b112f5a91b1c9617df40877a4a3454b";
   hasRunfiles = true;
   version = "1.2";
 };
+"apprendre-a-programmer-en-tex" = {
+  stripPrefix = 0;
+  sha512.run = "deaf9ad3580a803fd5fa7cbf8f8a11df4d350b7b90ed880317d1e67290ce8b48bf783bfdf470076b672cc5e257bd10d69d6361c7959d81f9fb759752adbf2a6e";
+  sha512.doc = "820f1ba9f635e05a25167203a1f27d13c380281640784828c27ae7366816f309c6d3a630abf3ed49ed996357064878c735c9d7c17bd6dc262a21a420fe40f77f";
+};
 "apprends-latex" = {
   stripPrefix = 0;
-  sha512.run = "692c57415ad56b5a991ff3663ccf95fbde0e57ddd26f050899d3238e3fb7f10045ead6764a9eaa3e0e3c32bc0acc8ee096ece007abab6224bcf6306a8b2b163a";
-  sha512.doc = "ba7f615ba74eef13196fafafbd965a76ca8455f8ca6f5dddd2acd9e2e8b0de21c70a6ebb7fa2c565aa2f0f534b53d32989f2b6226a48fa763cd1cf2b753cd2bf";
+  sha512.run = "fe9c7ee4cc8cac1ed932388ff75066e4166e582f92bc23da4a4f6049f3cfd8c100d6ab6c0b3c661dd76038a9683eb3207f94f54ea338dd172027815d6945ad94";
+  sha512.doc = "d65d5f56e055ac4628e8198b718689631edca80abb3593480948ee8ba3336d7baccc091cac9f95b4dff745d84d409488d3a2032a1587f1f1a5db186af4da1413";
   version = "4.02";
 };
 "apptools" = {
   stripPrefix = 0;
-  sha512.run = "8c46dfb31dcd4eb128b549f2d6630a805eb3346ec58bf00acb60604331161a11b8edd99d47deb85858b407cb7c4c68aae8874198d485d3b2a2cc9684ccd86abc";
-  sha512.doc = "09f29aedec66f18dcbea44e11662848d2af8d18f71e3d3ad8c8ce3b34e185d3ead93b0c580bd953b4bb00fc6e15452d860db42f3ff002d86cc69173afb82f66e";
-  sha512.source = "73f57d2766088e01dd3693519e71722798d7bf55fa2bf231df46430bb4310a32f1eb6e7b59c2b3dc8b5e030979134f957efcc9d34d672cccdf73bf94c0b12ac3";
+  sha512.run = "05d243100c9fc575b7828e0084822fdb2c655f5d2d7c51b42aa3c5ee4d127f62f714affd1fa8e94b7c0c322b57a9fe1728d1829ed7f18d75b5287a673d580cc4";
+  sha512.doc = "74ce416ef14978e0418754e3d2e2874ed07a8fbc6be90a1bf7dc492f191546407d7a967efb1306481d1b88ad296faa1194dc4da8975f7ac0c4e4053ccaa1444a";
+  sha512.source = "ffbce0419baaf512bbf8aafae3a8bdae5456f9ea1699cb48b6ce215fd8c4d84dbee84399e8799fa5ca161a1e98375acd16d196c9ca6c505c7923aa7fab49e0e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "apxproof" = {
   stripPrefix = 0;
-  sha512.run = "651d318756015f069aa6b4984a0095163ac91e9b95ed40e6cf244aca1e31c53b6a30064934cc105f72742a3abb7c0be723f2894bd926c58afba465c54832fe89";
-  sha512.doc = "99bc20f03e087a657dc01e9e2554dfcaa4e34c4c905386a2ddba4624d005cacceb58dd5f274cf2e25c1e2895057d0c17bf6a277dca1b72e3be4991caf83b671d";
-  sha512.source = "d081a31c9473cdc05ddbd550ece8395acc83d8e048537fcc25ed322ac586ea524b6e529490464cfe81127c4ed6bbbe5f47790be9202417263f9e9eef7e5078ca";
+  sha512.run = "400c95494142780c5359df48864fd5ca48409180220a9efc25c0650889fc84fdb725f7ea263c00ce7afb8099c80d4ef42b601e5b61ae0bd2fb8e68fcdbb673fc";
+  sha512.doc = "fd818e5ec077a1d479b0bbcc8470a80c396dd5e4b0fd6191c30009f709d8da6de74277e1f162df3595a4de6e10bc88db6290c9b42df37672d8a6aef7047d9164";
+  sha512.source = "08eb4f6d847ba8d7fb4d19b81f1fcbd21a4d1bad908824fc6739b16d08763f6ba1bf388d5f0dfce29916205d6751983f06f9f4562d44f9284f690fb16fe7cd80";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2.0";
 };
 "arabi" = {
   stripPrefix = 0;
-  sha512.run = "4b7e470834905c249e2caefd1ebbbdf68635567e43b3f7b1fcf8ef3575930425f2772df96e3163eacff4c2cb951a89a12567cb679f8175f8774b18d13b067e1e";
-  sha512.doc = "5c655d904fbe3546075f07d3685d26ce12e2649bd838b53d25485152ea05c826079dcd1d9d9df750e2b5aa8cb23e69659e1d13451683038e83033de09da8b1bd";
+  sha512.run = "6f59ea8c986078f388f4c8f067b12863422728cb1a56464ece4d793189bf0e6dcded476a3b86317c2bd5f9b4b3cbc475fd748c2ab9bbf60b3d8c8cd4c162ea62";
+  sha512.doc = "c851b0cca46b11d7297a03488cc72adafb6409e0406de809a1a18d4993068702f03e17cbeda1399914005c9885108d747c844719764145c746b2a0ae45d9121f";
   hasRunfiles = true;
   version = "1.1";
 };
 "arabi-add" = {
   stripPrefix = 0;
-  sha512.run = "4668574f7e1cee77adc451a1cff7c5d49972c6ea8f40b8f14666d377678569fb91dcdc2e18488386b2fdc9416c43f2944b12436c645db6d110f58a87d0309631";
-  sha512.doc = "a75ab71a460545f8691742410fe680c63670657c805c93571c20e5aa57720c4f2c0c34363423fd6b765c32fdd32568ae3c83ce04b4b80421e055d14debd4d908";
+  sha512.run = "5db89004e82030185f34c0a38e4ba55fe38fb9fa087c7a25ee7f7df9180734ffde0957eec52f0110655ea273202b6cdf63114e3520cb23db80c48c6c74acb0a0";
+  sha512.doc = "4c44de9d3b46c605a463fd1704e56c5c61806f6e0dcc130251c81d0c555534e167034b6ba2deec1370e502fd006192540ef415aa42987f69025f18642451396e";
   hasRunfiles = true;
   version = "1.0";
 };
+"arabicfront" = {
+  stripPrefix = 0;
+  sha512.run = "efdd3769bedf8ececd7f71f6a918ed19f66caa78b348238b34e554698a5af6ae5616bad5cc494c970cd8e12073f1c27ccd1cfb7ab19ea263b5cf98061c42ccf6";
+  sha512.doc = "64eb067784cdb56915b45e80f1666347bcdde06e3711a18cef16ae92450377aed236cc32c8c10d467d50e77de31a3f599abe900f411a510574378e63eb923862";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "arabluatex" = {
   stripPrefix = 0;
-  sha512.run = "a53a8779c42bdb49d789173a441cbc5092f9915b72eab1d0725fbdff9f6ba16f27c63d80dd0d8e1a13e2e57ccf00d4c6bf0aec9e94616033549a258c4ce214c9";
-  sha512.doc = "158c7de90655df51ac4e1ccf28ba41b33b33945b5001ab91ed1128b72f22554839bd7c976f2dae4d8dfdc2a557b8f0886373a091a41ead562e6a83401c5c8515";
-  sha512.source = "88d4df754e7ab790fcfa50592d7b3f4c2b2a86f18d99146fb4619f14cfc6ab1d536b50ec9f30785d2bc755ac46c82208ca3086e47347f96cff3b289e96641639";
+  sha512.run = "53a6524c6d10975d9146acd93aec62f57175c8403dd23c4844a0ba987ddcdef7dd122132c8540733ce5c8f4f8f2f589d4ecd0c10b0ad8f2164b0886a5b8ae6b5";
+  sha512.doc = "fe2a14e2e02c125c9042715766abfbc7a634103843475b15ffa7166b18e33e5e9c8d39481722a19963b79affdc88c3283ada72abb60f05b09a17fba999d06442";
+  sha512.source = "8fbbcd24cd141d0e79232ba5e7d26cf95a554e903a1dd73e78d53c2e7d79f961a6b86bea0e880ae2ac919a5fcfaa44c72ee000d86b0a268cdeb16ffc98455c75";
   hasRunfiles = true;
-  version = "1.15.1";
+  version = "1.17";
 };
 "arabtex" = {
   stripPrefix = 0;
-  sha512.run = "e61468f2cbc0aea1bd0dca4398a9f6a38a84774d9bba44b64eceb448adb16d4088ef7a2713d071abf8eda5b01039a41e912a14566fdcd5ec0ae04b3ed50e4eef";
-  sha512.doc = "28f2cdf8543edd3020f5f26904718b3d0cbb5b50b1422da83489b4f1aa46d4812b1df0900492459f6643cf05f1c5a08ce8940e526394b6d571c91954248adb81";
+  sha512.run = "2dedbd482c223f65e13aae104e2014d2d28bf9f4ae6b90f1a4cf0718eb245d8a94899982f15de326f2eb19e2696045ba8ca9a19a6d903ef7c3e9b575a01d6bbc";
+  sha512.doc = "f20af64239df9bdb82b7fdac6c5f6a222f1277eb877fa1907cbadd4ec6e426745b40733fd2ae726d3050e6f992b14cc91d6386ee02e2bf841d1f249d09df0c71";
   hasRunfiles = true;
   version = "3.17";
 };
 "arabxetex" = {
   stripPrefix = 0;
-  sha512.run = "f9db22f63278faa0b59d1287a73775c13e4eadd16561ad9f321960756eb82ceacff092eae6e533e779e17737aaa09d895983b913178bbea98e4d829205e1deb6";
-  sha512.doc = "07e019754a2b22e41e0970287441080c4e7cade877ee5262dbbd49d60adc1d871b95ed589d7708b6b3e76ab0066b9132fe130ce71f8b8e20f5c1648cb7539d08";
-  sha512.source = "a448dc1b9cc7f759b936e77d0466d6749c186282f91c907ecb45ca334d02210f7452384f58de1733cda9928729808fd2fd7dbf39f70ef3605ecc7743fa642aa5";
+  sha512.run = "7c58bd94b780abc5bc17b4218229d289797a155a8e98cae8e22825dc7d9b12c5514de01b12bf2f645047dafb13b4d519d463f4ced60f7ac53a65c6aa38cbec86";
+  sha512.doc = "0dff3162a710b458b367bb4ca587d525b68ac79d2d3182e8b9d2ca90ff72f89bf69153960400c344511449c52346c329b8a34eb788e11ed9a5319bb6bca89418";
+  sha512.source = "fb29b38d69d39f4c7ed04a3ebb114e49512abbf444f36fcd02dcccfdda22aa3800521c9819696c2828c46983f8266fc00aa59cafb35e26574a3403319d364d64";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "aramaic-serto" = {
   stripPrefix = 0;
-  sha512.run = "615b28b1f9447c4d68dfaf910a02d49d3f8b6f51af29c31bbdd78b0f7c064cef57625a054e1dcd5b797ea4cc3ee6a5ab46a3e121867097839d815a36e23ca9ae";
-  sha512.doc = "15ff7aabfe9be5ce8a328b89dda88920fc6b89209d433edbd5e680a465c2546f3164ae895121389b1145e32ba414c8fa306d137e6e25fd22f2a4e649c9c0614b";
+  sha512.run = "6731d62d8a24c9f0d26061b8b2574a880df30df333fbe16408d0830657ea36f04f50c56b574de5eb081f490a4c5782595fe17bdb9208b6602c1a0ac81a1f10f5";
+  sha512.doc = "433018891123aebb201d6c4f2b00dd15a558344b758899f85b9bdc21556ad4fc4845ce72084863b243e42beba643c5ae4dd210b74e2588af4825e3c83d6d7997";
   hasRunfiles = true;
   version = "1.0";
 };
 "arara" = {
-  sha512.run = "2213d89f9f2fe0d519014bd34b56fe75c95c7fe0eac57639739633df03142702ee0ac7d53c336ba793031a330c3ce417c2241dba53a45c76c02992fe89a0a1a2";
-  sha512.doc = "d2d9804ad9a97f719ca143844cda2563a52de51afdd3bc4b2a28e4b9e4452197e2b9a9cc2982bbb39ef129c28880f7130da751093f98dd4ce6079ef4ff9fcfef";
-  sha512.source = "a1b1ad0b0ac91429acef14bcb461ad686c01f6216e8d948d830c7e083658f2d193be62eed7318795dd33b9db1bd4477779c8bd10aacb8517f04f110fa9b5a882";
+  sha512.run = "5ac4fbc1a03882b15611af6268453bcb2c1a476524a2913f16d78cb04414c3eb4cd9ab7426db813d95afb1e51828a6eff1683fc03fd785ffae5763d5fca89b24";
+  sha512.doc = "4f2f7312a15e572dcf4f9a2fbeef07e9c6d940401c28730afbe9cda3e3247c835771d278e1562d55c33728ab4ca92cbe26a945d96c5e50f6ad54d424ba2af47f";
+  sha512.source = "808c73a642fa3c8e74baeb86e1397c797f9dd69c56dd2ba1e98b2136a753f62d5bab354a7255c456a5837a324d586e36e36468a43658e74562d7e96fd0015fcc";
   hasRunfiles = true;
-  version = "4.0.5";
+  version = "4.0.6";
 };
 "archaeologie" = {
   stripPrefix = 0;
-  sha512.run = "5d020f4a761cef84823c7995f8e6f41479a9639aa5258fa54e928a39975deeb7a187be731f1ac35d5da8bc6d04c7f266e61ef3a05a3a745d0b499a98e70d111f";
-  sha512.doc = "1b2c54af046f40e440878481a80f4f871a39cfdd8158c7be2538905c55ec54ff65f410f59396581e5da5ab56dd6b096e5e30ed709585665209ddaaca289dcf2c";
-  sha512.source = "fec73b6e058cdf5fcc9edd5627fef392efb816ae9aea638c8b2bf5959961f366628bb47196a061beb33106916c0c333190fef858913bfeabe90df8b79d95c170";
+  sha512.run = "4998ea296e2a3e6c94ffb23b8ef981ff88f49f886063fb6f7ad6a549dff1624bd23f0615ad7ce44358de7f79b87b02b5d90800c48b8de607399403c045750d82";
+  sha512.doc = "4d8e3d71d6516654dc96602dd1bcf7eeb0bcbb26fb87efc4cc8c78655140ba28d1d68b1fa42bf6a653e6058e7c648a190e18abb7a9ec1b467acf885d71db38d2";
+  sha512.source = "55e8e5bfb8f0845750a3b13545c979367f34a6de44e8714089c95c3df34b4b07bbcc058a30ef941d9e835b8a3e2070b92822a575f472410f388fe19780e08618";
   hasRunfiles = true;
-  version = "2.4.0";
+  version = "2.4.2";
 };
 "archaic" = {
   stripPrefix = 0;
-  sha512.run = "a23a6739720b817993eb43962ce911604fd606e8526009e8d8190f0dd9bae6d7309511eb8d12522488d1a464af5d5cfc1d59ae8008458901cbeb37e313ab5fd1";
-  sha512.doc = "f4ca94308e24e033d7a3a9ff178a1746e16f008f4e2b1b86d957e6a2843798375360a7e96765a3c78ee12171860f26e930a39d0e81ab798d6fc0ca443e8057ae";
-  sha512.source = "48c899eeaba26c575d1227ea831ed25c389617b1dec2068871c3afa22295f9c321352bc944ba72d7e42ca0e91f570930f63ba6ecef5d19d7fa954358a2dfd8b8";
+  sha512.run = "5e841f4a8e5df375fd660c998d3d54221e6c8e383fe4a69fb082c98d62b44a1fab2e9ec88db37964e015abbc20cd0f2af5aa26cffd4fd92fece5e24661c0efa5";
+  sha512.doc = "457eedb06a3a09a73a2ce0b20c18b643530aa2659d7b1b98be14238b9d40e8a6bdc39085654e8589fb134921f40d211d93f553cab25d7901e40286b3075f268a";
+  sha512.source = "5a39568546651ef10937849550c3305bde9379737b21e24b2adbec532dee8192ddbdaaa77f2e6bc135d518f354c1b20d7c43bc03f65ccf47d423f4af1e75d620";
   hasRunfiles = true;
 };
 "arcs" = {
   stripPrefix = 0;
-  sha512.run = "916701ba766a641f4bebce5fdb994a776317769de2ebd40bbcf08bc66c5b1e04d3ad8f50121de11208aa12c0eb102fe09f411c0fb8927a9b9c023e84085a16ed";
-  sha512.doc = "0b3eb24a15d319caad0635cc699fad67a1fe39b3d0645a6596e34f6d448cc4f69a69ef0de3e497e459d350021394eaa748f286df6c0d5298d28ef266a3c8f300";
-  sha512.source = "92b928c892c4954d05d15774d33ce47a7f9e2a36258a40add3ff25c876d9c20b8c5e9ac44a04a7df1cb0e20721672982ea7bd9dd60054741816d82bbd082c6f8";
+  sha512.run = "65737905ba0a6ede74d8cb211b46a2e62b640d1b655f895095ad4bdecefde496368707142143e2f2e48849faa89d86a9e90a0bde64fe84b3c828e14462f30406";
+  sha512.doc = "2cf72d4ec304cfa08c1b3cc8df3bd9a6cb92a633a2ab783ac4efbb5edd6290ba256c86bc4a3bbc09d923a58a10e5f21f5d8e3e2b41b0ddce14406d29405523e0";
+  sha512.source = "ce6599f074d59530d85960b2a313421400f1cbc26b488e900a5b49d75f6b715a859b36de2d2e25c880407950f1170512cc3573b0256d69ceafab40e29566de78";
   hasRunfiles = true;
   version = "1";
 };
 "arev" = {
   stripPrefix = 0;
-  sha512.run = "0bf4817d012774f5613535312f52758a7f3fc9fbcdfaddc50bb7de8646344f76aa1bddcfb9e66b7703c146b243061a27ce4bed4c7d923f96da9be40058c150c8";
-  sha512.doc = "14a7526e67a3987fe77dbe88f7cd2c42bde55c826ba10a627e83584be9a5a2b26a0461f675ce61834a664bba891930e0a642dda7bf85ac8f6f2e5b5fda20fa3e";
-  sha512.source = "f89bbf33b59bc231ea0bc617d26d69f6e57d85720c23a0d9e994e38a8695ea7b6f306d3cbbf01454739d99a8ad9d61d732ea765418c5f641156d344c37293e76";
+  sha512.run = "8b6e88a41052740831fdfa03299f665fad9eaa0e45d1d235392aa0b849bd6ca03f1e18892c879d3a5289430a5d236b9544d617ea2c3af62a59b38b4d7ff8ce90";
+  sha512.doc = "a8dcb8bf0fff3be9c99550623f12651df09b151d6e28bee03d7aa80c7b0eb8c86603b4d8037232e4998bc5603ab3dd368ff7a262b7c7f62f2903338774a9b8aa";
+  sha512.source = "6c92c2f3ef59dcb93207ea90643d11aa8cf81850e2696414f489c40cef97737d00ee4444893669f12d4592c6573a71cb229c232b62f10db38195aabbe83fe523";
   hasRunfiles = true;
 };
 "arimo" = {
   stripPrefix = 0;
-  sha512.run = "66a38b3be0b52d419382ef405e9d09cd487f0db0be9b8435001ab59cbc5e6e21a3ff631f7784d3b0306e6aab97b54ca4a39151c712c5ad29905328f3fbe289b1";
-  sha512.doc = "76a21b820c2e115a353267eb4c604b7aac36bbd47b3b90392c266efc3ad08045b78ef8c45e4084bd188ee8754bc2e59509643ec70e3da9f8da22cb11bce268ee";
+  sha512.run = "9dfd102a7a58778bdbea8fc9aa8688dce24bc0a8106121da5f5d57246bc72b4c6c5ac11089a496399dab273680da2b4d2735d40bcd2277b555eca67ff936d991";
+  sha512.doc = "481649673936e5a05195b2fbaa7c7a3a702e23ac6998537a7c2b3c53b3a87ef1e1b0234c4254f737ee10bf8809ec03b524ae8e06d3e1ca3bca641d58746afcad";
   hasRunfiles = true;
 };
 "armtex" = {
   stripPrefix = 0;
-  sha512.run = "501b1434100cd172ed773a1a6210a444d9497d8681ddcde9f67c0e55d533a09d8633d6e5bc2630b3073ed9edce00d98e6feb88d3e11f53b745360f814cd553a9";
-  sha512.doc = "8f293148f924e4f1ab7c6988f2ec2b68bae509de64e56d7cb960fb3fcf6a6fbfa05d0a6b568b5f6c6b540e6d66724e9cefea8ac2c650623f8d8d0d8aeb86d2e5";
+  sha512.run = "9e76f19f3b1bdcc771039d0be62c5745e5605b1838c4d7b2df67b14b1babcecf49fa5abb667b0d106a432919dd08e23e82201a62bb4adfde3c2016aeace79bb1";
+  sha512.doc = "8df4b5c1aa4b653869383336594ea3bb960ed8bdc2c413464df1aba607c9c310bcb5e8e63a911fc28113a8770573e510d81c6fcdf84242dcf08dd2da33f7dbf9";
   hasRunfiles = true;
   version = "3.0-beta3";
 };
 "around-the-bend" = {
   stripPrefix = 0;
-  sha512.run = "c5661de5ebb954c3a90606e22cda8d279702eba0fe96ce42545f162cd1d3f41029782d9eb0875e3ad9f1cbd308ae923a6f363ea1a1f4f44429760ab021e35da9";
-  sha512.doc = "7d33dd68672a080bdf95f74ab84e281242a57ed36fca8a7d8d1b7af170245c70699af241c9c687d88d2c6a9a2671d4d8424161128560ae8ac9898789894636ee";
+  sha512.run = "8fdfb83017cafe87778ea8a9e7147d6b73ead7019dfc9dc8b620858a67a2a02991e291d622aefc77723f6faa8a66b132313a100d298a2f6327473df4e0fb17f1";
+  sha512.doc = "acec7325203a96ab3937cb687e3265b5cdf6d77af5740e1e187f993fcdcbb9db743835e9ab579b6c8b0534311ba94f3d1591330bedf1c2f9eb9e6955ad070f9c";
 };
 "arphic" = {
   stripPrefix = 0;
-  sha512.run = "9fca584d410a241afb6a506cba7b0732b5515c18a4a829328522ff8675c4843cd9830573c3c85c067d58413c9572b0be51c013978a9d0c1571a301a9e6a27007";
-  sha512.doc = "d92f5f97f08cb89102b95e625937db9dab233ee2d9e9f8710b2d5d72b327dd1cb4fce0a6a1f7b4f75f43720d58c4836f446b5136aeeb9f3c5ca6f664610611f5";
+  sha512.run = "2d4c0f91dd483df95bf91056e4d7cbc28b681fc9f42704cdbff297ceb4f8110affbed879cc8b15061c309764e1fdcce01fd47c2d742df441ed191f83a065538b";
+  sha512.doc = "327dbc2cc7b4bad5e410dbb07dd2a2d5052dcb54c98310ffc3596c1e5b4121c1a12e3067b7074f209a3972cb51280f057cfe718eb963869bf05a76e17c528dee";
   hasRunfiles = true;
 };
 "arphic-ttf" = {
   stripPrefix = 0;
-  sha512.run = "ab7678f75e28117a5f988e913c02daef6eb757f726a18573cb92ad1031296b486d71cf859a0b06cd19eb456b5240443563ae200db1f7642d87c161fdb793e89a";
-  sha512.doc = "df151a25da7ab8a44fe9eb5f031d1a8409abfd5af9513cf8f4e46600f7fec3aabb1f2c4c5a9e29224dca5c911b2139b235f53a2ce57927a4e599eef255c0b951";
+  sha512.run = "f0559968e2659a4e899bb0ee1e6236f4bf7f4133c96c146a189b42fe0ce7f375ffc5c62efd8acffa68b36c92159c28eb54167a7625b606cf7644c0a072d7f8e9";
+  sha512.doc = "000030c21bf1ccd74ebc1c6bf8e46dc5d9f884480b2c31407353a3ff45a4d1072f759e9e31abbe5c9de7dfc68820fa359d42c5e980bfb7e9d408f015f8944aab";
   hasRunfiles = true;
 };
+"arraycols" = {
+  stripPrefix = 0;
+  sha512.run = "818971d673180323d20534faf9bcc41afb7da93f41df689b37237af19471ebba1942d0cef900bfd5dadfa5730295bca2e9c9e873ba2b25a1fc885f0d5aa3c4fb";
+  sha512.doc = "10d1132c5f964915c88eed1c00edf982da80fb1dea3dec028e372eeacc91023b06a0b49a1b63e4442d23c0ef550f2651dc0f12246e3d58d0ae320006e9b49b37";
+  sha512.source = "1dc2055ab0a511896909ee526b9f5b1adeb079dd9a1a6d64c0fe9ef326e29392d69088b47a7e26dbca2d32e5527549c7bcd9d8f3b28cf8c1ca7d442819488638";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "arrayjobx" = {
   stripPrefix = 0;
-  sha512.run = "e011fb45f9088afecc013c0a5cf7e12232ad5bde821782577c5994f74a03360ded041a4e2b7096e9db2f74fc21e7dd298cb5ad6e7157681cfd88b7191e21b015";
-  sha512.doc = "9d6daf32717880a8e1fb1a5bcdcd798cef5ff5f5b6cff0e26411ab64fa0307b0b462799f49ed44f8427d9ebe380668369a2771db7d7771266595cd077f813231";
+  sha512.run = "5cf6573de2bf55c1b75c2a0f38515ecde848dafcc0e5f0e77185ac039d0bcc4049bf6fdef62134ea5e4839570fc20cc6928bc9357bee0c4396f08d714eca8d13";
+  sha512.doc = "495f7f8f3265e349e16ad170eeda10296926864084ace743df54f5a4b304da6bc344bce901edc0fca8d835bd0f90943b192b0e16e3a8f5bc81e0f269f2b480a7";
   hasRunfiles = true;
   version = "1.04";
 };
 "arraysort" = {
   stripPrefix = 0;
-  sha512.run = "9fd89cb6fc746e8e247594343222663050d30b3c780a3571512748baa640dc358899e3015f2047e97da16e1c68db99f027418ef13f176da70162aa14f7112e43";
-  sha512.doc = "62a0ebd0eaf8c2db103866e7ffd93f64edc622e0d021dbfbef8a02a7d4905c99d500a0812ee458ee4f99e104dab8c711b5812387b1016cefe0746081469b9a2f";
-  sha512.source = "8af06ff107a6bcba4f14dc6b364ec300bc428b97ae2055211ab4c64b3de094c58344511652cb33a917210dd9b0141636a9eee174744d06f15dd0d69a2951b48e";
+  sha512.run = "6dd3c6a79c7b7e1f9a0fa29f2d7f4fda8c3aceb0b900c4e42773c81f8a49e84dd62ae24027065cf19cdff93d4addff11d0b25cde62f2d4854b84fec26eb98c61";
+  sha512.doc = "1070b880c7bfb6101fa9294ee8d1ab4c61b21af41316ab711c3226173b73249944533cf0594571f90215a46322b1ef07322daf7230d95e7c23bf21650e1d6047";
+  sha512.source = "a8a5d1506a5cc9a33f5393ad6dcfa7ee84af9de69d0760d90fc633391cd21f6d274995e372d91f47929b098d64ab5464d7d7cc2454266bc52972b8708e3bec98";
   hasRunfiles = true;
   version = "1.0";
 };
 "arsclassica" = {
   stripPrefix = 0;
-  sha512.run = "7808b77e8868ad2e4bc584408b3bfc15cb53c4b012be5ad205148a37901f98f99de7437d94b32af8254ab1cec51c7a3b442fc7bf65e40346810c4f68fa81eea3";
-  sha512.doc = "fc981473098274440a8f5695332cb811c4d07a2dacec9065993b1377d10eada02e9def40b5732b40cb686ddbe3d34257f73797db84fe1afff1ad5f630f34d62c";
+  sha512.run = "9c6b32e43ff86bd6f28d23b9aab5dd90a423610b2f3c842462e88985c2ee88eec2e78e05cf3e0b91397009bdd370880df6db642816d7de3bb10a96faf4fa34b2";
+  sha512.doc = "84cd0583c074af45837f38c21815019613753890e056109abab3c79c774a7ebe966c35875264998398b18d7a7fc92ac6762dd72726e708193f699e321f296535";
   hasRunfiles = true;
 };
 "articleingud" = {
   stripPrefix = 0;
-  sha512.run = "d80aef2ac7f87f238449956025f3602e34c736ee4088958a28bde8f73c9138f4675a7460ae9670b85bac66794d8341d3a4c5ab86d787b4c92b40ddc03741a3b0";
-  sha512.doc = "d32e8afde6b6bd012662c3c1a43998a17d285a40d03b86c7d6fbb4a6238322edc5d59343e5de4934c0d64d7260c489049bea187c921b3f61f3d024d23cca79d3";
-  sha512.source = "7f9aa8e0b04c670e1a656f7cc3667eca67c19b079ef589495533d169526e46efb76deeb4aef85d749be580f97f1d1db1074ff090417d9ef87b3b443cf69cc0f9";
+  sha512.run = "30a34052cd9586d4b49d687035ae8bed040cc5bc2d9ebc0d96a035c4c7cc06625877a501e02eda9be5eb79643f009ffa9e8d2bf9d7affecca016ef3c6310a6de";
+  sha512.doc = "a7961a7ce16613d26d714d39bc441400cb37d7013d03684146ee9113d05dd821a23a1eda9f7e89601680959f3b473e31155f24003b5deaf60e069385c0681646";
+  sha512.source = "1217fbf4951d4e6a11378154cc030b4fa18e7ca6384bd1593e9a8adfb4a4d2a3161bace28c22bd4aa4ba81ff56d1e2d1252d9678ded0c53f8dee6294e8dc1032";
   hasRunfiles = true;
   version = "0.3";
 };
 "arydshln" = {
   stripPrefix = 0;
-  sha512.run = "2bda14f0b7ce30d4be215e6378a261947762fbcafacbb7a98d2a6bb7b15b0f3c7f9b94c559edabdddcf17763da0319adeed9a4192ef9fabd0267821b07eab58a";
-  sha512.doc = "e234bb8d06b2b1e6dccb0ee66976945cec5d901869434fb735d1f75b9a239953b48df58f84231c065dccc76e20539cdd8afbe9c660406b8c3e1f6ba4cc11a813";
-  sha512.source = "1241c104bd7258a8f166804134c041c33af62bd4b3443b38d27066adcbc0198f8c107f0a1f43666ce61f2a31c9f290b81b471fb892f526b79266137248f0ed44";
+  sha512.run = "fd676917ccedc39b90b48b531ea4ec5098b70ca854583a3266d4080dc78f59e37a743e63b738be370cb0ca650594d0878ab1f807eb6f55daec17ecead73aa4dd";
+  sha512.doc = "a809e2abfd26b11edaf8a5b23ddf01901f84bbd63b8fed7b6050a4947654ffada95bb697e13250038c6fb93db80dee4faad6d4493f05bb7f4ebb86dc7e9b9698";
+  sha512.source = "0be560bb0dac65951b177a34ba45c8199cbe75b64958b71649f09e5e7be73fe091bef6097a9502be80e26bd415f193e00579925b0be0d12bf43adfc0e3963578";
   hasRunfiles = true;
   version = "1.76";
 };
 "asaetr" = {
   stripPrefix = 0;
-  sha512.run = "bbb50b404e20bcd81cfd724368082c02114cb0b08bb6144e140a089cc0ab4e2ea1bc275be761b7aef50521a38bca98ee009a7353e7d61f547baa51639c86267b";
-  sha512.doc = "5cd6e6e755d23bdbf6794789605183dcafbfc71056b11155aed749179d823406fcc9fbb4995db8fa9c2b34db6d4047e07c2d88d4a5497229efd3c04842609c02";
+  sha512.run = "b44fbf1bb916eb9fb01c70a7302ef4028d04c84dc6a89a51c0feaca762da9cc95cc03cce6497e96dd64ad73e812fe59a12adb515ff4f561401131476e7df6214";
+  sha512.doc = "be0cd70f1b3035477a9b455328a8e167a5042e07634913c0d9efb995286165a1f41c1b86a505b3f23d19ec2f43712328f70085747d692bb97ea968c40ed109b6";
   hasRunfiles = true;
   version = "1.0a";
 };
 "asapsym" = {
   stripPrefix = 0;
-  sha512.run = "a67aa8d0e660c86475ed3a7ff4e65074e335ad607ebfa0126f7a30f234327577f5f73f490883ad6c20d2cfc755d708b6f2b341e75a59650b0de1f3610bd076c4";
-  sha512.doc = "f625e90d9e4e2ffdba31b937e4c4ba81fd800ac4f5e83f997a1913e0fa779585c722c0fcfd5e8d0c0b25529add07015789597e5f12fcaa59ac20dbd3d977cb93";
-  sha512.source = "664d199f48b9f476c952648b453cec654fc5eed3e7ee7e944105db108bb7a6fa75dfd3f92c143f6af3e8e929a3adbec1574e0e223ea712a01fc01315609b00a6";
+  sha512.run = "9a683044f23fdec0547199afbc0f0c6c9de8faf01f09df38de324f53e91f446de867e951e187ec77bd63cc65bb92ba2fd7bc290d54650ce24e02b682cd10a941";
+  sha512.doc = "4462b37c6575ba0f3e95c29e1d84eafaadc562da19ec58a604bb6ef677fb9b9d35fa68a6f2c81d8dafc35dec9f904cee9d3fdfe0c2031de928862324e83d8663";
+  sha512.source = "54325810653a14ba0ebe67b92341fa151e5bade3ba23e97c67c2bada6bf43ab16d5e0d11eb4c59075c48bddd9eebe44ddbca5accc331e6b26081abbdb95e3e86";
   hasRunfiles = true;
   version = "1.0";
 };
 "ascelike" = {
   stripPrefix = 0;
-  sha512.run = "84d6133a0caa1c12534559e7fb3288772a5609e381718fa26f4ba24ecd0133509a0080865ed30e48a99e7a2564c4a24404c8aff594e2836a53d9b789cf1351ac";
-  sha512.doc = "5a7a4e1523499e56c8aac58b607f45e281029584ed94a33bbd1d686ead5ac42493aa7ac532225b3a1fe75eee6a67def5b77f2df3922d95a06122ef74514d35c4";
+  sha512.run = "d8c9d69ac49e632b7b303c0fcff53762f6d40a490aa1655f58525e192481b65b50912867b1cb16c9aba1d93483a6a2bd31e586683819a7f2b3db7439d46deadc";
+  sha512.doc = "0283fa497b53dc3a0d60960bd45945dd9b363c53a563139e911b8bb017a6f0ea7f46a95811812a679fe1ac5327c52e73f4aba35d26160041c61a1cb5597c880d";
   hasRunfiles = true;
   version = "2.3";
 };
 "ascii-chart" = {
   stripPrefix = 0;
-  sha512.run = "1fd50d28e196ab222bbbde5ffe09d00ba0ef8447e3a1cda1dcc53c648acf025a3e0d8985e4d46a015264751d969a82f749feb8ab73fad7f5d2c78b7b89964fee";
-  sha512.doc = "c8fe32025603c2673feca7d703f783708d049947360b3ad9f522283cea5a3e76893d067bbd8aaf100d63361595959e75fb83292a3d805b9b01fb6f03b26773ef";
+  sha512.run = "ffc1634e3e5313eb0cf04caaa227d6477cf81ba9b6eb887b2897b6740999f1f338b2dc53e6da735876f9c3b130394be59b0a285309d61909a73fdb0d6f28a8cc";
+  sha512.doc = "51b11a22dd963336fd93a87e2948d05f291b4191253a474b9d6f70ec31a2645801fb5f6fb6238f6a9b2979dbaba4a6ec8ac15a41c4e8867645dfa54408f18373";
 };
 "ascii-font" = {
   stripPrefix = 0;
-  sha512.run = "4855c6dcd898e54580e695f060254ece4ab878af4353ca8b380016fdc125d655dc27049005eb060189661f57e980a4b4d81ccfffbf56af4e7c62ff9822d20be4";
-  sha512.doc = "1f845a88543b4db27ed1d943563ee04b72c141cb4b5ef79e34bf8406cdcc5156153fb2f6c666542dce397a3be67895b49dc5a81891091784c3e09ba324978a5c";
-  sha512.source = "0ac560a38a113f12378f20fa2cd1391c93554e4be30f04eb55c54835843febd5f47d43cc7ee33b68d47cb165cf3a5ffaa4260dca9d01e11f5809374062d2f65c";
+  sha512.run = "e92e312e38432a7294c71a76604e5a3c2aa6b65937d39933fcbc9fc9b61e00a1e2f35ba739f64c29a3ebf6d2e388cd29da384a2a6456f71576101a1f12e36f0d";
+  sha512.doc = "2d681a41d213fe260e3491a3b410239fa2e025ba19894d133a27e47b417ccf27648aa13ae431b4c42549c1692cbe517f2595c2de675b14d9ea0460d469e4f036";
+  sha512.source = "1bbadf44599ad29f843ef17d1b437f951f5b167e9bf84a73600a0a9dc5633d94d76c91ec23493250ac894d9114c1b2d1d1f182690aef5dea92c9ec51c96e69a9";
   hasRunfiles = true;
   version = "2.0";
 };
 "asciilist" = {
   stripPrefix = 0;
-  sha512.run = "f1aa6c5ca3346673915dda6b9a9633c59f5a64f796a8d1d4aec4607169ce1c11873d7a1cca7e377b7c755f182c8f9a98e9934452584c94d5aadace9fe3469190";
-  sha512.doc = "70ecc0046c7a27c2f2fc52c47ea490c8f87b034829cafd43d7501a8f3c1cfe292e91aac401a76e51373b1a36f197498c860d619f488f682d6507b2f200c099a3";
-  sha512.source = "a0fb657d02ea710014ec88fe9c23ff8a72aa6f67f47cc1f7d78373326cca9ca4f9e25588d6e91ade78e49cc27431f7f7c506f0635cfd84c3c6a6c6e4ad479760";
+  sha512.run = "5c2e7938a9d2df31477cc976cfb549103c8f378a8d38a3624d3449229861fd834d462163df6e2e1f1fec686f513c6a194ccae9fcd0991820b357e12a1c32af28";
+  sha512.doc = "8602a9f8e5dc04a6d4a914f603e04ced8f5cef55c5a335087b8f0953d19d4641d43ef732ce299ea18590de89e2360a8dddb44f8ae76be6498ccfd29e4a680746";
+  sha512.source = "562efdf7665916bc124f8d2ada2d7087ffebb23885df6c3baa652ef24b8fb7ba7e2f4a5880922066b9f5c44bdb9c70ea67537c79676c9fb7004d2ce1f6c0d6b9";
   hasRunfiles = true;
   version = "2.2b";
 };
 "ascmac" = {
   stripPrefix = 0;
-  sha512.run = "a7d334d650dd49db2fa008d402cb965f39423c31b5b31d7523c6f84f0658222ee4ec0bf1c36af3ba72a04c843b28bfa584a1c1c5ab2621d2254614130f5d822f";
-  sha512.doc = "cd0224f5f4c8fb4e1c2c93fa52003f59a1626868e836274fb0583518f936f076f82624a78d336e2bb8c3dff85bfa27f4a38d84313ea6a5a6d5ccf8f0656bf074";
-  sha512.source = "6534c82e006b16e87fb959f9d183b8a79a516b0c800c0fbe824fc7417cf87af6ece71cd384700881825ee0d983c9e7e6e058bd00dbc7aae1ba8f8dc802f893a8";
+  sha512.run = "e2ce69f4352eb45549488c4fdd26f9acb1b0dea0db86864de95fd72fc0f7f7b5105748bd54449578e6d13a33fc28503e3bba73a4bdd88466b7de3925c4e47a45";
+  sha512.doc = "64597bc037ac6760a14164ea55a32513f0e3b3026bf2e371247e528bc6acf071e81fe8b5dc724ed17ebe75cbacc3ff005c19539804a8f1984bdd825a1ad39513";
+  sha512.source = "026990d150f593a23381862b25adc6b93784edf02951089f3417492250fa9bf4873162b7869ad9f182b4ff62504dd4a24dc8a259f83e07e43499e01e40068108";
   hasRunfiles = true;
   version = "2.0h";
 };
 "askmaps" = {
   stripPrefix = 0;
-  sha512.run = "e863a74e09f62766c732d5eab5f0fa51c0801db091814ec4de20e4950c9e496322a2244a755a10c838f1efca8405bcb37041728b5b5a90e26557d42ce7593eb6";
-  sha512.doc = "38f24177c03adaa0a2d88a4efd6ff4a2fa4044a70f07589870aa5c7a200be6e2f15d681fa655fe165c9064f775efadb0dfb96d9dee8a644cc9ea00bb6a610bac";
+  sha512.run = "d07dc2e9b3cd0dc7d46576fcf9f08c5a628bcc701a95d8d934e322666c93f649054b9dbfe38f7d9577ce3d27344e9e5a99ec8b1e710c45f4a609a5a2dfadd126";
+  sha512.doc = "a170144d18c4a90b166c8a315e9d1f0d86cc5f2a53ef69381652c3f8307b85d8b70dc610bcb98be6eee1bdbedc02b7cbf097a13133da78d492c71db33d94b04d";
   hasRunfiles = true;
   version = "0.1";
 };
+"asmeconf" = {
+  stripPrefix = 0;
+  sha512.run = "6e834fd16bace20d505d13af26bca1347cdb8f5035172dc16f3fb43ad836986ed70409ac73fe2c410b191fd4838d9d8be8802687a81d883036118708600b08c7";
+  sha512.doc = "702fede94fc147e98e5b09bfbbb585c90430f90be5de9f82014909993b4aa2d8808832613bebf605ac742535ccdd5f403bee5e0630af9019c07d1dc867042497";
+  hasRunfiles = true;
+  version = "1.12";
+};
+"asmejour" = {
+  stripPrefix = 0;
+  sha512.run = "3c3536f41691c251fb9d94a603981cd184c8cfa92776ddcac7a67d166f918fae1f20625870bbb3bd963c6448695dd4e575c75ef5aadec0c1dd1d412a2fef3be8";
+  sha512.doc = "70b3ee220e37957e992a6570b1b4668e8d7cb730a0e0d910228f0f2bf0ea1f2e9509b12571d01f7aad628114e52754305eec4389af1d6afe7dcdb2a697f0e542";
+  hasRunfiles = true;
+  version = "1.06";
+};
 "aspectratio" = {
   stripPrefix = 0;
-  sha512.run = "afc4ba58fa7da75f6e326e716a182ea380356232b043dbd9f146110687a5f1744276028153648b71d0552deaca53fb0f546c026301087e05b82f0be09171b9ce";
-  sha512.doc = "c95a99adefb2f6b3c0a28b556095f0de4eadde42c91a2b29a6fb2e9713f3c2ec05ef56fdd1e49da9a46ddfc042d62445db622eb04eccda97c4e337c1a76cce20";
+  sha512.run = "1447c3037f5477aeadfe3e5fe18a004ffa1b8c5c18b7c68295b8065e32c5a3e6a044e7f9868bafe3d8b81e391b2c614e2153302ef34e1e4aabe84c92ada2f129";
+  sha512.doc = "5ee4918a3d90e9e4b51a2985352133331b77a8a87bdd8d41fab9348e5c548670ab56b5f0afc63756b65fdb6e45aa7594335995ac0d146d542b571eefbaa84d78";
   hasRunfiles = true;
   version = "2.0";
 };
 "assignment" = {
   stripPrefix = 0;
-  sha512.run = "52c950cbbbba2eebef48051d67d89823df2e8789bf222ecd96ee6481fecc87437c3f095cd22c02af4e6dcd8b2d224ba3b739f303488437cb7b05dabeb41e0160";
-  sha512.doc = "670fc6ac24ef208a99a20117a392c799057f6324f925a1a848151aae385ad0542943d078b1cdf6967b217c9826c5941faea0e5e10888374b3782cb26543cdce5";
+  sha512.run = "5b8ceaa313eccffff8930b4e1896c7aa069664244623baae2aa1eb3555786dfeb8af8245e56ca149754093f6d74d6b86c891cb9e52e67c7b76e2501ac206658e";
+  sha512.doc = "49198297494adbb538385029d41681e55bf64c89fc9cee7d923b7ba9849c039a7e5aa2c1fbfc15f06c1a93a3b694899ffd8988d1833fd88c6f5dd51379289a14";
   hasRunfiles = true;
 };
 "assoccnt" = {
   stripPrefix = 0;
-  sha512.run = "b18ca8b8b472b05c2df140e44c3366548dd6d3ff1424292b34d99319778874516ceea47b18a35d8bb0dc18c79d01560d53c36af0dc3730f9118ee73278c7569e";
-  sha512.doc = "8eb4efe8046664fab0f94857cf69feb1277d227825e65758f651ae2bec22c7a8d81395051f42f3121b07a7ff0d7926f82f0cae25dbe1edc29d7b6739533a78da";
+  sha512.run = "24dd03f444ff4dd627a97840837cb14288e9021117f93fbbdc4f79cbac9cab46d43fb93769d2f05970eeef3fafd39692eefe5d1b7bec8ae04f6078d7a4b48824";
+  sha512.doc = "195f1f017fe187a224bde969f45b6494007e4d05ab2e8618b62e8d40055b4ef401f5ef069c3bd1af25f8a9f5e1ad1cba22923e4d615d4f075e13a78a06752e9c";
   hasRunfiles = true;
   version = "0.8";
 };
 "astro" = {
   stripPrefix = 0;
-  sha512.run = "38d9b3c5850da7f2e80172fb46a4a1cb1797bb83570d73b17d6b16ec171bfde42cc838b9dfee6020c36210d36fec738e8750514ee0ba999d4d632601dbbb641b";
-  sha512.doc = "c4d662b1b8bc1ced4acf81fe4c3ed2c305517faa46ae43915e83e07fd5bc945dc20953120d6745bba845210ab12b67b75c85a8c860f6160e9ef009fe7812541c";
+  sha512.run = "8cf59f7de3ea5add30166fcd4284279582cbe6199bcb1ebd540688d03c03ccf03aa740602cfad11af9380d970ed7009e6bfb4e96c56d26036f872e82c02739b6";
+  sha512.doc = "df4a06e10e9a438393c7e22f746618c5d760a6095e285acd0b2918f58e234a1eeca9b49597d381a113cdcbff0f13e4c7108b9b400afc81e81757f4400ea484f9";
   hasRunfiles = true;
   version = "2.20";
 };
 "asyfig" = {
   stripPrefix = 0;
-  sha512.run = "c3780a1a2a5219be9844c69a73ca0a4b499684824101a2cf6718ec2dc6ca59c5da71b796374fffaf04c79814fde104d81729416deb668cfaf426b8b39b49d887";
-  sha512.doc = "592e6d8213c2ea232a159084fe8e721f32b9dfe62ffdd664499cb0dc07c69dbee0ad609e88cd4ac329cb5640b732e24c327f3a8eeadbc00e78c2e8f878949bec";
-  sha512.source = "5c884786d2b42aa858a11526e930650e8d70c9c59a263e98e3cc8562a7c83dd5640cf321ed51156c264baf47cd5cd7094a266812515f8cf3df5057fc4039d70c";
+  sha512.run = "f067e6aa1f3cb481e07f59781fb7d4c671a0b21a392ca7830d7fa19ed7a198fefd5ad5104ed3644eed484100871f9a8d36d1ae6e31d55487e4ff2846df618e9b";
+  sha512.doc = "d798066b8c545ef385a75c81d431c169668bd10ad072bc3e0ef1db7c0df903d51e9dd9ac2d482d109b421a868e9cbff577c18f52a7b4520b32985fafcddb66ec";
+  sha512.source = "0a62a885334ec00b04e47ce4df391d170f286cd90e7d68d940d0f3ec09018ef87f49ca793508592cc92268c1346ae48a54be65ee601f2dad7dca82778c9f7e39";
   hasRunfiles = true;
   version = "0.1c";
 };
 "asymptote" = {
-  sha512.run = "8b59311bc3e87206c873d8d95f0448c5b644dc9624e34ee43bee990bbbfb76fcaafa7fb4f792619e0c00ed4c8ec12b35e3fb0612c48dfbd8e1903f24602a27f1";
-  sha512.doc = "95a9a635d8d769068762ead450a7afbf62159cb4f6c18ab080db4ed40b8f642496c18597ad31112cdb8582461c1505de5723db4b2f7e8354e42f2a0a36bf5fbd";
+  sha512.run = "e314e473c14c2fd8980d3d0256c6cf6fc7c757a5b4b4dcf90c93cbd15fa70a5e7a0ce453c8382df3f9cfa4aba9c9047b3ee44084e398d9c767bb88ccf3bb47ad";
+  sha512.doc = "7969d7001bf3662ed28f92b07defe67a9262aaf62d8dd2f137a4f36d90fb4ffac034052a6c037882c3bcfbc0fd2b9836fc8815c90c741a26dbc68b59a8879782";
   hasRunfiles = true;
-  version = "2.44";
+  version = "2.49";
 };
 "asymptote-by-example-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "a6dec09be14b4aedad42b36ec450568ab7ab28f3470c1e2f1250aa321bbf3aeeb1ab65749ae8e80c8edcbd9ac4de3714ebce3f0e8d161b81f83d2eaa7ee9468f";
-  sha512.doc = "4c2f70caaec42c2b8849dbcf4cb6e22d6dbb58d6658bbbdbc25f95325da179cc4fcd8e162be4110161884fe1848999a226fa5e32c1df3379e283c46cf3352b37";
+  sha512.run = "34608d6412d7936a15bf649555683ff03c5021e1688c99285a6b7ecdfc3a43eac4ed32108626243d6e9b07c23c557f07762897a96501a27412c7c5d039747553";
+  sha512.doc = "a0087e5be69962c671e1972d9e7be12f76be64582182afe042693cbad92cf3fd027422c605dcf7860cd2e61f0b925860a50e94523b9ae2d1af7a8aa6d356c3a7";
 };
 "asymptote-faq-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "870699bd0f11ecd0e8802317a4a53821131f78e318786e0b91f5a20cdf6e30a34965e86c5e49ccd847437d05ce0ef3d85fa4f9146d9e9e42d6f6a3f5691e1d81";
-  sha512.doc = "7149c09b2271ab76bdcea2cd73b588c4d7deeeb75ec1623c620216bc567ab582a1b23596a24b31adbe82b0fab908ab4679f42d7f75cbda43d002affa0557694d";
+  sha512.run = "1efc7098392ac5cad5eeaa0dcf527bd158e3f7497ff1992603b833ff63d5cfa61fe5e7bc33c5cc0c441c13fc03dfe1e18a334411be6ad2f5acc94c902e9ccf2c";
+  sha512.doc = "b7dbcf256cffae9cc8f5027934946929b4be7a8794fb8364892802eeff4e7cf970ca8549ef442a35f173ada61533b51c2da301bf2ce931107a7ce0c564ce0c60";
 };
 "asymptote-manual-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "52e0b7154affa1a80affeed9d05ee738f3686412ecc76f7fe375fe4389cc4cb2fb872807995cd396a1613d38924ceb67205485300ca06660a461520463a213b7";
-  sha512.doc = "2cef7ee757860765447c3a4e17d1339bfc48f67957dfe46cbebc9228b37969076f87ed44b1893edd779a234b4848b74051f281d5c210770893481a12f5c5dd34";
+  sha512.run = "c04fc953a0a9035c238b9f80873d9fc605b23b322e898ae55b8eda7537f0172076e512022b163e3cd397ce2e4e721afa2e981454db53511c1a7347a017185df5";
+  sha512.doc = "0f82e25773a14b0f81b34354f16931834d0496b2c6636c498c6af686f46e7ff93a274739a1a4c189433c9df1ae91ca010f0887081c81f2ac9006a105c7fd4ac9";
 };
 "asypictureb" = {
   stripPrefix = 0;
-  sha512.run = "e7e4d9498c41f3f130c159c08ab0102038c86131ea20125a1e2351855308dd8f102916967675fad3cc4a02e6e78359f2fdb6f84cc1d4f3cf388e99b9eb8b5461";
-  sha512.doc = "0e2b44453afe7fb363af9149d728404204ace89634b2484b8820529344bff354b77a6eeb395c9889bf8f41c27463c71a35fe87e2dbbc6c73dc055833a3392fb4";
-  sha512.source = "9ac413dba29f8687553f1f4c1e5fab4a5174cc2d5c1b930ec121464d40d02bf1e00d223fc5e950ab14ed9fefb18889b7eaa641dbacf4d5eb64c7d97a25a890e6";
+  sha512.run = "a1ab37814223b13bf49d23c527543cb537e2224335e727e07e1f645a7f76a2f3ba1a275073c775463880b0e258e716b6b00d0df29ca944f1f22b3ac70aef4378";
+  sha512.doc = "68b060950fdad080061b8d2c1a91726d0eabee9aaebe322e983e0dab81df30c65d9d7d0cf32fb2847f504ede155f2c43f3ba8c00073fa425bddcfe7d47a6f000";
+  sha512.source = "883968dc538186507f4e81a466dd980b8a8a3ec088e25e7973c62e949871c79baeb909ef64815720004d503cad33d7f9de6c7ca0950cc0618ad2111e92870b73";
   hasRunfiles = true;
   version = "0.3";
 };
 "attachfile" = {
   stripPrefix = 0;
-  sha512.run = "d3822454303b56dea07b70d13ba0f6ee028b975702ae2fca1aa30cf4301c2aec63d04b4402abbb1cc8afe428abefd8962f6066909442a7a721adaef536f4178a";
-  sha512.doc = "978203a446919d6dfffc112255efbf622813f7fc31c29b1be4c43dbacf131da65d18fd319678dc1985b2409cd39beac9c19eb7d7d37a7c83e05f86bab93859bd";
-  sha512.source = "93c6490abe9dfbe2eaf47f6e4ecc75597ae438569eb1b46e0d2174349a647055a3e4327edeadcbac048c08ee477998da5618e21dc970301ffc51910cac8502ec";
+  sha512.run = "526a279f3fcb309cb117327f4206e7dce8c49d39b85a846799bdfea5bf453d2f00e14e854a74d544e49fa92ce056cd8ccc7e03f56856a8e8562b7105d5fd19fa";
+  sha512.doc = "9f9e6572e70d348e1db71254a0c6a80cfe76b767801a3c18ad4517577b793b5388367b24f311f491f0dde8df38684b3de4a2ec7e6db67f1fc1ca7b4a9ce5ce78";
+  sha512.source = "a4bf69ed370f495f190abaaed8616b4a3ca14184987c6c4882451ec4dd6961b827d3c38d8c049ebe73954f5fe205f727124e447d2e3cf17abe1d95336371b9a1";
   hasRunfiles = true;
   version = "1.9";
 };
 "aucklandthesis" = {
   stripPrefix = 0;
-  sha512.run = "8fc87d1d8051104f8b04120b21345f012c561be17fb55318e0f5271f1e733f90c47ff8bd9d3a9abfe2f1700ed7aaece80b56e3f6686d764dc0671baab558c379";
-  sha512.doc = "5cb21d7b1f6af55647aa18ee873956acabf3997ab42a8438bcc0ccdf4d750cd1ab5b1f649a9c352e8e8611c597b85d89a048e0673da9a060fda30d5760ced120";
+  sha512.run = "54c6708b343c2605d7779561fb086b914f1a7a825f5556b4a36faee0c8ad29b1c8ed67eaffae223c5e5d47bb6e6a9aaae4c0c658debb7bfd196d9362ae7b8796";
+  sha512.doc = "ae73abe45b0aecd033df666f3095486fb29252449e840e9a978cf916a2eeec4a126be8c3ec60379408bd6f7322c8794ba1fa3bd77e45f1723affa18ec109d93e";
   hasRunfiles = true;
 };
 "augie" = {
   stripPrefix = 0;
-  sha512.run = "e0730f825609cdaf710e1e690fa0e1d2f9d221eb613bbdc048e7a76ea53cf300f1a6c76132428cf703841d869161e9511e19260c81d0f8d16bff2192a58c3c28";
-  sha512.doc = "4f67effe73e1a3f808db40ac511c7eafbc571bc75071635cc2e4e5c438ff37529b79795aece4ebec85ef3a1033aeae50c8220f9c37e0f293fb96794b5df9ad9d";
+  sha512.run = "e8e40eb1e59b7bbd3e6b042e8c8ed40f604066fff6bffa3b46e0e7b7e5984fb25e880422d392209f6dcae6771339bb49a27bfcc7e9e33bd0b638b0794a5e5098";
+  sha512.doc = "40db247d40e98bba2c79e5adbd564b77e09b52c34e75a41bb1447e586f605478e4e7399a8d294b078fbbe508eafe5d0c6a68b7e3b7c875af85016f72c74376f0";
   hasRunfiles = true;
 };
 "auncial-new" = {
   stripPrefix = 0;
-  sha512.run = "fc20d541f0d72adec1faa1ebbbbb7e97daca725b1484b5e671194ed54edf01cb4641092e5e912e3a4c83a0ea4468c4439c468a3fc313d1327ed1200bc8cf38c4";
-  sha512.doc = "502f991b9ad1057b56f6b339418a3b4f24d859221b9487322ec9c32e81ee4d2179331e36a746aef5cad4d6e5d7ca24ebdcd9a1739d876d0ea946c21e1fe6c2ee";
-  sha512.source = "f43a8f249a0992edd328aa2d790dfb901d98feacb816e836d7babb7c4a6ce5a935a5835efd855f5c910ef0831eed84f725a12b63cc7b203d9d621caf2cadf467";
+  sha512.run = "e6132432d4398f3a9b8b04f331bf0852b662da84a96882758a8ce07e7f50a0ad5317b0d6a51cfa389f55fcb3b105e5aa748d249dc3e6c8b2d52647f6c900bb24";
+  sha512.doc = "2ab25dee888444432a2bd1eedeccbbcbeb5fa8008b15b0072e1537116d5c1f5f082818eddf31dc604f73ca1d4fb3bc6d3eb76c1ac712666ef1f86dd06bd19516";
+  sha512.source = "c5fc0ed2cbf1f4813925dcd2206d479ba4a0699d33872fa36e63b21616c595dbe289a005e1de8db2a7cad30d760161932b4fd0b75c477fc915fc1572f86b7b6f";
   hasRunfiles = true;
   version = "2.0";
 };
 "aurical" = {
   stripPrefix = 0;
-  sha512.run = "189e1cf6e3e020129190305c0001cc6c4c53905f35dd3d6700b7890d6e17f639b3e73201a19ca9a776bcfa9cbaca23b4317de93b15ca6d4b8c58387911cb3594";
-  sha512.doc = "d143b4c7aff62a1f937859ec1c2bf2695b620ae6630f5d6f79045dd9a8af031e053ed5999d5e7af2e621e07644e13b7e62177846685bb6c82169adb79e49972f";
+  sha512.run = "1c48c36d6121005c123018cfe1266783288572c0ce8a9ea4b9b47ac28f46206de61b7a73804121f9a57c056c871c547c97ff10a529fedaca57bcb3ab78f3bea0";
+  sha512.doc = "89de4991373a50d673f569e72f4727bd66a2b40b385006c3c7e4605812e7f8d3d346e3b08be55241f9926a58b40126d123d6ecea912d09db3973985d0cf9e90c";
   hasRunfiles = true;
   version = "1.5";
 };
 "aurl" = {
   stripPrefix = 0;
-  sha512.run = "72f8ec9390d5ef41ff638813af3918e5720efdd5304ea0cad671c50d583022f63b7b5d5e95333a8d956ede34cb1f2ded7f4823f5988b78b0e47614f14d2a38b8";
-  sha512.doc = "4a22e98fb56441a8c24bacd4272aa75c28f253bf0a95c7c2805747c74e90dbf4a9ffd00b118936af94485c8a8832e3eceb434f312b9fb064bd03ae08f3d6165a";
+  sha512.run = "4688987b83ae65e15a74cb7960dc990710930186ec94e376cc3a74dfec9f6d75a51babd99438ff87a5f6f8e05cee483b569fabe627ef00fb892126f74749649d";
+  sha512.doc = "a58f7cbbae262c7650bc5147b400f25f0c666effdcf37e565f665092d1cff820d2d98652947d36f6940b8d16027336b970ff88ecd9f3500d9a39a45eb4a19acf";
   hasRunfiles = true;
 };
 "authoraftertitle" = {
   stripPrefix = 0;
-  sha512.run = "ccb3ad94a19d5ae7dd8458301e64359009750ba4a2691160aef27cab0541e85be199ceb54ced34039b1a4fd9333e8ef31ba586e813793704e01a62d55297e57f";
-  sha512.doc = "c4c1e6b6d2e51b88554d77986e59633326d2c90912c2b898735fe4c7f9ff94ae2f07f48c73010d3298e0b50949719b9f7e53257e0fb4efb3b3fe4f8e7fa5f7e4";
+  sha512.run = "ad07262ef312a8807e4419101fd7cd10663926000f7f3c63d9d2a306c02f718982a8c525ffc2c34f04bdc12c5501976236079d2840e16acb9e8b1bcf9598a489";
+  sha512.doc = "54e7c6b96ecc37948e32ab1d057c6b3b242b68889fa07a049448d790b8310026014917977dfee6365bf6196dc661ca79bf963ae9891edd22c22c9f89a7d8d756";
   hasRunfiles = true;
   version = "0.9";
 };
 "authorarchive" = {
   stripPrefix = 0;
-  sha512.run = "115b855ebbc3c240b619b0f7c990614ebd6b41459572b987e0b61e960b09530bbe443018ee9301442230a1e3ff2cc7035fdf1916564f7e64814c7c6ad23dbc5f";
-  sha512.doc = "5456c2c482c9a93dc2b7324d7bbce4ba6dc82f6951f12cc0db5f286ccc40deb9546ab9bdc8c341d27232352636969bdfdd86b8c052b4a6180b383ef845b17943";
+  sha512.run = "9d5dca20f1293b3805c628e051067838c9b7f14d1faf34f39bca031c0be1641424ee8d2466401733bfafb56c4ca1a668e4b3630d991d9911f6acfcde4dd22a61";
+  sha512.doc = "070bbe6a8fae5ddcd6ad7743170fecbd9e1f0db1052fe05458689dd3c0f48c04b2afc579a22510b3ad0f26efe85c3b665386881eb0e2ad499a74ef422d6dcd45";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.1";
 };
 "authorindex" = {
-  sha512.run = "6670290d8b9633702ce0ff4ea2c8c55c7ab5060b0be2c0fe48f9c04479a8524849f21fcfe96a24dcbf49b462b00604d117aafab5fb90e88f24f84fc4ba25887f";
-  sha512.doc = "208e31260df7fd2a20e0ced195e9de1ca5571b81a98ec0c6e0b6608cf15838e31239aece57d458af7be80d2b97ba95a9fd49515ff76e64dca804d4bc44ecbcbe";
+  sha512.run = "75e35298e4839f3975824624c7367504a26dafdf4b8e1d5238e2575c821f652282cd9a6e58fb4296b2c0345ff104dbd2281135776718fe4d2ecb76110946ab9f";
+  sha512.doc = "a6c48d89cfd854d8acae47e318bc3951f8e81434d9a81901c8a7b7f1c25188afb013b94780ceb201e81b5d10efb7f5c24f5b5e4c8d8379aba390431707bc4d55";
   hasRunfiles = true;
 };
 "auto-pst-pdf" = {
   stripPrefix = 0;
-  sha512.run = "da060486e85d825df484121613e0ae6aff8c53a58146af1abb11b1edcc6a2c199e7e95e071e0652e8a692b1d6405bca8d0fcfa0c7f1b96f78e699aa9cfb3b5df";
-  sha512.doc = "ad66260eb6e2350831e297d9420dbed24c0b25bc95443246bdcbb62a29393fd8ca1ca612d1cbb16af8e57a7ca9a16d371561bd166fa4af3a9dea7d51f4990786";
-  sha512.source = "cfb0f1cf0e64e5433e11f2e8b2005ea2a58d7a5e0df185631935d4e4c7c4c2f0ac950088b5cfd2c52aec1b0da18edf2b20801042640b9db4f4dbe869a91e722d";
+  sha512.run = "383de50023906861e45b9d6330962e89513aac0448a06af36057d4266ac1657fc49f650dfc9d3709f5f50879e6912ea93246225651412e8c919fe3ce0eb77f58";
+  sha512.doc = "bb0682378d96bef60480b8155d1725b21c89c5be04ad1a6dc108da871d8e25001be0d696cbe806cd7e4d69a9005a54f71d601fd67e322f22dcb17d0dc6addfea";
+  sha512.source = "fa24b5a7daf996b05384537fe90a17204b299d5fd837cdafef3bb338e9a9c06b3eae369271ffe3d090cadfcbf4d4b3979ad17aef908aab374b5d1c0465952c1e";
   hasRunfiles = true;
   version = "0.6";
 };
 "auto-pst-pdf-lua" = {
   stripPrefix = 0;
-  sha512.run = "92eaa77d7129fbd45577cecbfe79fab738554e32a1edd03dc4dc14d2b417bd6e28070c2880e532f16999548bd98595e132c233cc52751b326847eb3a847ded17";
-  sha512.doc = "c228b110e40a07354732a383e6401b496013490ec0f52b0abf3896c39b0c14e0ea6650b5ce486e9f4d2f8f9a0039bc30863ee1f5dc599011630c8d01bd85af9e";
+  sha512.run = "db12bf66e8c4c16de2ecf3caff64deb38eb1c163baac66d0dded1f540d817da4bbb9309620b4ad60000f48319c2b8236ae8ac7a0774bf297d731a0258d4be3d3";
+  sha512.doc = "b21755948a9a272611d91622fe8e641f485e1ff4ebab4053331431e229b04796895ca9329e2b69921a9fe1f8624f7a635bbed7ab4699fc6aff819d351bce95b9";
   hasRunfiles = true;
   version = "0.03";
 };
 "autoaligne" = {
   stripPrefix = 0;
-  sha512.run = "61fe01151101a168640c46ed91d5ce749467cdecb0e88626958e5dcdde131113653a745d0f50522d9fc04e66050fcc555a204217a2822b1bdc9235bf356427ae";
-  sha512.doc = "3d1104f3e94fc657c6f7730ecd24c1a7f8be26c8629d08a6fe40d780526b90cded351042d85fe14ded78dd9eef99b20f48889efd6226a575d65bc929a110397d";
+  sha512.run = "10c1b6b8973bc451d38f1051715d7f6efe8acc7420b954aae657bae10254d6919fc7e3d605ebc90e525a7cfa56f082a966bad600c54e50070f1c3fae2bec38fd";
+  sha512.doc = "c0a1f2514d80e153b74efa94918c70cc16638d68c6b6e1ae4df8f765e13bc55218a1b7eed289f6dafba440ab7c5ef6cf1b6a728f8df161b21c9951894e83b949";
   hasRunfiles = true;
   version = "1.4";
 };
 "autoarea" = {
   stripPrefix = 0;
-  sha512.run = "4e6ed4df6075d92ccd9df1a2f33b26801c037bec3f4dba41c4e7833e74b678c0755317074b2e7d5a54771eccaf698aafcaad2be3b10be2fdd46351916ae8388d";
-  sha512.doc = "f848ebf6885374e4577448fcf71710683b086f044697597c13847902f7fca41db56312cd99060b7ce70e186c2f00b2adfbdb3ad53874b9dfd8e2fb613086e569";
+  sha512.run = "81a6e2d2c241056cdb5ca7e54b33b523aa3bebe08d83e3418080659d316720a6bdcbb63d82c337175e6f0591a81ea322289333c5b8f125360c5ed4ae99843c4d";
+  sha512.doc = "8b3cb3def1945ae63b7d29614b868d07c64fba6ef50e266f92e3f1de1aa536084f5af5ff095bd467ef83d33701f780dcaed8a7d1c60dc68dcb5323444158b3b3";
   hasRunfiles = true;
   version = "0.3a";
 };
 "autobreak" = {
   stripPrefix = 0;
-  sha512.run = "28ed1cb8666e429ced51c7e9b8c12521b8362a20e47f2b616369535bef51a793fa7ee7ab761cf5f14da7fea7fe4f5d5663bf866dfdfc0feff3c094b691831fea";
-  sha512.doc = "de493fe99bf70ee0f51b59a8f3ad6a26f24a4442fc4a5a33697bad1e8144c8f236b4ec5a3cdbd5d5c3bce4c7a7e107bf60951d53d8523510023239076b69c1aa";
-  sha512.source = "f3c2f9cd1d4c612e9ad5765e8c56f57a6f2d19a1d7aa9360a0d614ccc72ab2b03673b7ba7d42f1213bda23f2eee806d40f77fd7ef12516056095ac6f7bfcc976";
+  sha512.run = "91cc17692654270bba9536ea9186ffea2e7e9a6e9dbf0ffcd9821c8b3ec470ea3222af2a1df05d85e47d65fc1737cf2dbeba150641355bf826e5ad2da90db059";
+  sha512.doc = "0d06f75e6f4fb254463ee2a075d106c14a06c5f7fc25b5047fbeec0e48ca9faf6e136f098312811329db1da5f9fffb6dfd45abe6eea9ecf682f4fe99f0384178";
+  sha512.source = "7120382c7974acccf1a49548ad8e654b945ae2ecfb858b37ca871fb7b5b054d8554c971a86c511d03e2ffa91e5cbc6d61cc743da51b0a9de705f74c0b9c2c7c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "automata" = {
   stripPrefix = 0;
-  sha512.run = "877daa2071a2e87e620d10f15a4faf9ccb056de1a8cf160943d3c8f532946f4c32a1ebdbb77ae4b059f29b6ec7f7981f328bd97a6302d29d256c314dd17b70fb";
-  sha512.doc = "21fd4d78ea7e24f456b4a35da714ed05ac920a51f274c8a382cdaf41bbedd90918ab1abdccd8bb830c1b388a127886f8a49372bd4a5c45d9addcd74614e7243e";
+  sha512.run = "09026f967084d5f1804a32166e854ac410a768f6b4654d9ea9bb69dd29acb8a3199919daa1fd6dd48963ea5d6454b9b9d8263939e5af81a8f07f66f08b5f4835";
+  sha512.doc = "49c6515e979a87ce270d32b367c5800acffa4b638a8bed3e20f3e74387c2e7ee4ae0c2ea8b232e2ae57d0d0a730424d18911835581c0c274732f3d36f650693b";
   hasRunfiles = true;
   version = "0.3";
 };
 "autonum" = {
   stripPrefix = 0;
-  sha512.run = "db9056b150b3144bbf5308152daaf92c9f6526ff1fda1f2756752ea7fff22bc6370c5fcbde63f797fb855e8fd0d6215fb9fea64618a802552010b429772cb930";
-  sha512.doc = "6f159c3421e4deeb2d323652ba37c9994826d44c5267b9cf8ea799dc669962c6f43bc677d162bdae7e6f745533fad0b5a3579ae268f82c9a1dc67ab7eade7e82";
-  sha512.source = "b9e02ea802eaf54632d5591b565efca2a43f5d33fb0ddaa3f6dbc161118747cd37f9d3db3373a75922f7e560d9aab34b0aabfead126962e5e7cc4afb766625e1";
+  sha512.run = "3a663a53b4b4b53515978460dae1ac275cc4e3e6981b008c78b875e3e47af8abd950cb35f6e416ab02507e498bd75d6f4a775e2b429d668d02ebaa4bfdd03f25";
+  sha512.doc = "2d0c515fac8afb219aaa1ee270b30bac09bcc310afcad71ff6ad2a3448187733718c03c304c09a0d631595d36043dc3eb0b6849fce0e4c3bf7f5d249b15c99c2";
+  sha512.source = "5c20017e3008ea726979ca70272923d9c62a5c36367fdcdf9d62e141f4822201e2cd36a9b4c58a6591568669daca65d17cbb78e5382c01ad4d624da7074f4010";
   hasRunfiles = true;
   version = "0.3.11";
 };
 "autopdf" = {
   stripPrefix = 0;
-  sha512.run = "86c8f4f0db169aeaa209fceb4644eaa15e278af28693760484bd31b7e694192491bdf765b69e7e25757c6d50dfa585740af4491532858e0dd6e64209c2425567";
-  sha512.doc = "344598e8228e657a98cdf940eeadb8317514ece4559ad7f0350a8f8cbb314a007ddddcf7dff6f48e442db915aa65e5ebe912a3a39d66028d8182698a365efd0f";
-  sha512.source = "7bcd4c4b60933c1cff3f74339b0f33a13f08d9b2210bc0fa430e29ded978273d0015660b3617d1af983a2f43a469366e7da6ab12080ccddcdc19f1208b8c575c";
+  sha512.run = "f855fbe477986356d34360876a4a6613638255e234ad0210cb035a1f3a9b9b827ea140654e2001aa29ac09d7b8addf8f872d34bdb4d1700ead2f6e6f083cb2a6";
+  sha512.doc = "d2c2ecf193f03f4f568d2304128e50f5cb5964a6c0a2ca8b739c59b9d3e80637134b5ca91e1b5c1971db11eb54a086b3eb888b6984050dbffa22a166c6757e39";
+  sha512.source = "fdec2bf2079746f67f3ffb790eb2e10a7dc884fbf68b2c1a6ec9c67ad0ed411d9ff87baa89fc11dfbf9172bfcd81b411d8aa223c209def4fda6c91a4a9d32ed6";
   hasRunfiles = true;
   version = "1.1";
 };
 "autosp" = {
-  sha512.run = "8daa710ecb1056283be5fb419ef030ccb058d32462608a1a45c83eaf585ce2d8f6098fe2b34c229f68700d59f98922c22c104df54a9bf7533dcd825b4ff38a34";
-  sha512.doc = "05d8836a26870016860485e18e8e68618c8800731f93816b340e39f8900fddc16c9919c4868882c38fdd09ad6cec9fb8829a2f88fa928092a195c1f7dbb87bad";
+  sha512.run = "dbf678612287af08bf9262467033c6aa69f6114886b3e681715f91abe232466a87d32a571b3d5261c31a4f07c9999a63ad08649691a7620702b9994845f2a386";
+  sha512.doc = "354d5a8d1cc6ef32b821e84957c9e19b4567495cf5cec72bfd25df2bf6bbbde0c6abadb3034edb356ccc758f28beef0198e112f5dc48ab731c5f26fec3f4e671";
 };
 "avantgar" = {
   stripPrefix = 0;
-  sha512.run = "1db30cc96ea57f118fdbcd25a54e19d0294d86a48bb17c8527f6a2d9f3eab275e34368bf7e409b40758398bc657cd00357030e1fb806e89032c328c9b4714081";
+  sha512.run = "cf5f4701305bcfe2dcb2c92d43fbf2d0ab3b027b2c9b772926216094532e935cec234866f43135e7e050068679d0b1de5a11833696fd103ddae949458cd03044";
   hasRunfiles = true;
 };
 "avremu" = {
   stripPrefix = 0;
-  sha512.run = "eb3e8c67a051120379399cd3560fcf20e3277cea3dac00ba8fe2e8e9f52ef1f32fef793806caae9b6f77f3b86313e09dca402acc70ee61d28ede757a6c93d78e";
-  sha512.doc = "d5de3e6775d8075ed1270dc68e9d9b1f73860fd2f5730e72704de574e1b36824d0b5c1e9171d2f0d8cfcafa64931460e95ba218cfd4f89b46a1cfec0f6460069";
-  sha512.source = "e6f5e7f3c6edc7d457161812f259d1752071c3aee31b8a53ed75a32f447c187c3af8c4003e0c09eb54fee52a67b114796c6465ed35d81350bb8a05f1696a4c90";
+  sha512.run = "2541e80c0dd798675164cace381730c75268d5385883163b67230d49022f16c9ec72a77d602e8b5094db31b1d3aef2f0f71da91ed2f7eb7fe1039117f7488cf3";
+  sha512.doc = "12c97e23dc853a971b27258a7666753d019620e832a06b10a49a26f0f30d7c6fde83c0e328e1579b62376f2e9cd10b0b3950fd6c4ca89041a988fedd4c604acb";
+  sha512.source = "1d6a7f16cacd937490ae5e7416f43f4f9eafbf053f6e35d498a26b8d4092ffe79740a12d96503ee5636c4d1d8b3bd02653b4839b957cb91cca672914bbe98899";
   hasRunfiles = true;
   version = "0.1";
 };
 "awesomebox" = {
   stripPrefix = 0;
-  sha512.run = "82bac73da2aa9e8148dd1f7642beb1bcf6e13b87f6da6db987976d9235df4e011d288e7d817a1c4965a7b3525af620a3688c2a28f5e28a2fe6e8c7c558609e9c";
-  sha512.doc = "81bc0d67a3e8ccf3065f22294765027056511bde1827ecd6585182641d03be7a3ed31d8c164ecfd0542ae2f8876ce23e396c0c929062b8508c7132cf08a501fd";
-  hasRunfiles = true;
-  version = "0.4";
-};
-"axessibility" = {
-  stripPrefix = 0;
-  sha512.run = "f3cccfee54be612d9c6eb92c596bfd1275704436297801bf028dd1fd67b9a12d876bc7784f4df9cff5c6e087e6b2746a41291a1fb5f004c4f26798c7a8534eb4";
-  sha512.doc = "16ec80d98040334996a84ce47bdc6e8497430d041cb1218cf0b95c26e72e1a8211531cf53dec315773ea7ea6f2c9423fcc1d44ed0f4da869c4ea408bd5ee4489";
-  sha512.source = "98e276a855532257cc06e38cf489553d9e18f4a55798b171a02f078e1bd0e6d6069c311a86c731b7e3da8d6795fc37ab6c328d9a3d2c37524f330861bb9ac972";
+  sha512.run = "f8b841701beb248ecdc636756d954420b879028db1754319cf13a975313e7832e5393afc76f2edea579c6f38ba4a8fe779edcbf7f1442d7f179dbef9b1feb1ab";
+  sha512.doc = "cb0a6e98faf307cd718b4c7409f3aa75d30a781b1a299d32c781b3b6906d6a74399c7a04d41ea421a5cb3def06d963d8fc87d841ae199e7e86dc2f1360e4e48f";
   hasRunfiles = true;
-  version = "2.0";
+  version = "0.6";
 };
 "axodraw2" = {
-  sha512.run = "4a94d3af4625adcbd03989decc5a975b16b624a59fef729ab57a5438c00b7c183407bd67eb56f3c6021504d4f92fcd09373e8fa2c6f62d6a2cf631ac0e497b6e";
-  sha512.doc = "81c4ca83efa2d96bdd358f2fc569bbb65e7ebad041e10450f33d131bb2f306f4d4d1f9838c44c35f910cd07fd4b65077ef6a89f9af1332a8fdb7351e7ff2a673";
-  sha512.source = "7b81b12e0658ce39ed37e28bd69667051eb238706d817776ab3839c57c2ba8ed3d64fcaf750180a25fdafb54fa1044c610039f56dd3bb75471d9e81571bb8e57";
+  sha512.run = "085aa45989c7a452f64d3999e94806fa01120aef36e5a97d133f65e56eb0348aee3b75a871bd5ac460df47e4d77de3db930512a833da4ffda6722a314ff51f86";
+  sha512.doc = "b30b2fa595920e28c0b25ac69f4d91b724bc12059bc10450cb8f5d87cfedc19ac6d0f0177d5c97d42509c5db016202910a34de5c0c30cc9f148b5407ca9ad23c";
+  sha512.source = "0680c1e0bf7818b59c9ee9ad0eb25c41abbe82ecce334486dd2f960f1dd1f5edae2e509ffe0a29d66aba961c062ebd257ac9fd03fbc37289540c1bbc809e343e";
   hasRunfiles = true;
-  version = "2.1.1a";
+  version = "2.1.1b";
 };
 "b1encoding" = {
   stripPrefix = 0;
-  sha512.run = "351c3f5524a31a3a95fbb791cbd607c1a07c0940291c03cab56d1025f03129b6d16b1785f30e891389c2283d7f04f9824583029cd0e8ee71cd3b9f578e4b9858";
-  sha512.doc = "5ed0bcaf581cfebcf54f98081f926cce8aa477e72a656ef1e095498d81da348473cf620a809381e667b170cd1dc239c45ccd97114a29667b38b7d505eef18f4f";
-  sha512.source = "09bc915765f3b62a25e9cfc02a87f20b62680674792147bd3dfbbcb5df998bd9f179f95222c3fa35b7aa5e4779245e6acce9319b9892fc20d12fa6c364532527";
+  sha512.run = "b33280f64e37f300c92f9bad4372c13dd34e3dbe5fe47f2dc9fe0e270f33eaf5bedf9485293a74a6e0eb87b65f44fb66a286fb279a3d2c390c463e6aecfacb57";
+  sha512.doc = "4bfac8bf2a00dc61a007c10654cb7fe539c111170127934cd3a64ecea9ceed3fd04ac249cbd645d89400bef6f4a3527d1db04baa88eab88eceee2edd48e64393";
+  sha512.source = "7368dec012e7dd9fd948856aa0b901be48a5800dec417a1511510e184e7543ae9d76acf46a12ea956b1b27367b41309923ce5ed3bdb320399572f5dde737543c";
   hasRunfiles = true;
   version = "1.0";
 };
 "babel" = {
   stripPrefix = 0;
-  sha512.run = "58a8a4680cc9b81be00672b86a4738cce76cd8233018c05de00cba64fa6d9bbdca97eaffd36932a8954275b3d5db225a8b259c2dc245907fb478e599653578d2";
-  sha512.doc = "1a61d4d85dec5ba7abce49e5830cf40ab5aa5ba4d742c115bfea76321e50177de897d68d3fe9ebb532aa6d68edcb3f982501378f903fe143f7af7196004dc2d0";
-  sha512.source = "2c0179e176994c7e3e09b26e9b7e8a6bf1d2c5c7fd2f200674854c2917b7f41f68a99ea2891b81d49dcfdd53449e2c1888e8461386db1c3bd85d7911730d01ab";
+  sha512.run = "39ddba69866680f14de203c60d16809efe3900a9318d61a8b77ff75ddd20ea0ef3e058077a6e24edd72688bc92d8844ec681ffeed025ffd6d3815932e3c04709";
+  sha512.doc = "a5bc5e6f8fb3edd0e54ae0cd64223a06f9b5be7870c60b19851ba330e8066dc244560e95db509bc26a79f61a79355e4f89e635a98507f6ca47515ac718afbcc2";
+  sha512.source = "6bc89db2e3382b8a5e79936c7ea2fe5380db8442066afea4541e250ec2ddb0ca46283257652c1f6fac4eb0ad2e6c37ecae9236374c5d01c68cc0c2dd31809336";
   hasRunfiles = true;
-  version = "3.27";
+  version = "3.34";
 };
 "babel-albanian" = {
   stripPrefix = 0;
-  sha512.run = "4ded4b96f04ede479629ce0d00106f0e4a465192d05b00b02c0a2371ddfd498697bea3d5ded41e8293ee86b27d10227eb0619087b4b4fd7620b2f5fe25331364";
-  sha512.doc = "cda9366b09ff803ea627a3671572294ed9ea57e64d0601519e048e88bcf5fdc6e93fc1e8f348cd3e40464030023de80804993d085a91ca32c624bc0569a84b46";
-  sha512.source = "2c1eecf94db156b41dacee9778e6a1fa70a0c7a2daa8cf542d3a06361b17e9c30ac236e898949a2e1a28fe0a18aa7d267cfc423e3511fefd711d7c6ec8cbb4e3";
+  sha512.run = "55231eb303d7a2549d21e2d3bba9cb784e95cb99edc29a84212539ce04eb27261078437b8902419e85c69e2a8d7e6fba7abcb86e7b6448b4ab139de60cb77d87";
+  sha512.doc = "12afde1de6174c7aee0dcafa4c6df472c0096373a09726c5d4223d082b53b558185b3b48d1ab3204d03c4a89c5f5f2293136fae671c2f2913ea72109c3f58e19";
+  sha512.source = "95c1550b76ca8ecf4dea6495b644b550dc2feb45cc3d3c597c94236e6d3f86a3a42da7bcc7b77b4ee6597d167da33a571da16f5f7e35fd4666ea708a86c490ea";
   hasRunfiles = true;
   version = "1.0c";
 };
 "babel-azerbaijani" = {
   stripPrefix = 0;
-  sha512.run = "ff5d20bfaf8abe1548758de9df8010c245d3378c16fd122cf017e48e8743274041b30fa162c7ab25db41118771c933cc369ac64da5050f56cb66afacf1dc218f";
-  sha512.doc = "f2f4e56a31a221187d9518deec555d845f2ccfa209b56b97a0db26c08074a50cebe3b4e72827c0e086519e4faf8c2e25f29ec840353624be53da2d2e71743677";
-  sha512.source = "610ac48a2a8af1fd568edfab12d823796d969b5bffcd386f961faaa24ce5fba80adaca4753ca942eacdc043cc1faa32a60f2ef8b079e2c009c94ec6f0122394d";
+  sha512.run = "3f20954607195d4804b4bd90d7fe5baa209d5ffac6dfbe5f758306bb7c8aedd1c4c92675f5dce7f634e7ceb2b65e9c3ead0ebfef730bfe2dbd8c0ba17d3079b0";
+  sha512.doc = "bfd4434720b9676e253f69144aac9a07d6bd19e3a4418ae74269df70085391444ac46556928f131a14e85b87211fd76521b67a457e7319eedd3781a215efd962";
+  sha512.source = "b3eb9fdbc08643706a2dfa50daaf27a687c593900a972f89029aeebe08e2a1c4fbea08a848224b198ba447d3ad3a62459aeb9db2c00a0f3f039a16c863ebaf0d";
   hasRunfiles = true;
   version = "1.0a";
 };
 "babel-basque" = {
   stripPrefix = 0;
-  sha512.run = "6f37623cffc4e1428b1ed54336667e1520ae7340e325f72320e4ed81a95170fe90c97219e16158c3bbe396b245ae2389c5c39e4172dc18364238c4cdd5a59a97";
-  sha512.doc = "a4db9e3815c5b30a6f8db93ca272035f53c72d26d408b78c4c49f1a92038e992de081711ed75d5f6447a17ca19774e33441431da759752b0f45296f1978b84b4";
-  sha512.source = "2463bb86298d3470eef2a69b0c45919f818fe51db3700e3c688c96921280fc582c0683a24e875572d324354b67b2728233f57dd69eda14e1eddd1be03b144e6b";
+  sha512.run = "40079f02225f81c8838aee6179548f3fcb773fa8e031e07f30df761f298b9980e3a4357a8013bd7802c688a192cd9ef2102be1b6e8e1f3efcd68769a9e5a5a2a";
+  sha512.doc = "e6342328d62cb0232d38e10b3b38cd4d75c55a5d31d702c167099a2bd4122e40c5e3cac8a9c2940a9f9893d7aa2594b8322cf469924b97e903cab970dee81c6c";
+  sha512.source = "1c924232920a969fa48e6d61bcdfc5150cd1afcef6d98cdd27fbe2e0acb5b7749d2b2dea77db88125128b380f2b4ccca4d49d1d140f2e96880e0daf2d09c2d50";
   hasRunfiles = true;
   version = "1.0f";
 };
 "babel-belarusian" = {
   stripPrefix = 0;
-  sha512.run = "4c1d9ecd076399b23dd55f7ab3043f909e1e53b816a58902bebaf9fe8cab1af3ed3143ea1f401e64a8b7b66085302eaf52d759b5f0204829c3d12d2f1b4700c8";
-  sha512.doc = "f0166f30a8eaf1c7f04f4c234d24c2754865c75895be7227ce28536852b7917a62acdf7d52de5b3ff565e603c175c3a616bb89136bc812c3d47b0d782af12af7";
-  sha512.source = "39ae46b820fa0183ec755f97fd85a49a29f24f852c64f0e9ea5b8d375bfbd69ab0e3b3b693898ff2a7d6d80d998a82d09c71760a6aeacf0a406697a764fd8f7e";
+  sha512.run = "5856582f8bf6a98a4fbd560bfca82ccb226267e249f0caf8afc775875d50ec204ea613320534a63062dffd0e050905adb24763a95fec2ef4e8faed70a400d976";
+  sha512.doc = "247d5a3b99cd5a377534a94fedf47f6710d32d875d3208b1516fdc9acafee70a14ef1dc37600f9da53f806323d0519ebb2c4e288e471363756b7b819751373c8";
+  sha512.source = "82262f7775c22a908161a7a2d65caa8662c62ad759db792a6718dba043804b7aac523a8f3eab2dbdc3882a88c55bb641b862f3f19e9c4d3ba1a0f4298db9833e";
   hasRunfiles = true;
   version = "1.5";
 };
 "babel-bosnian" = {
   stripPrefix = 0;
-  sha512.run = "4b0e663a3a1fb99e58730a1d4b4b2a1ab6194eef4004faf8a15a44232079705bfa8d4dad624a0b1daff602fc4d84bc4531910cc506d35d49be6ccdd52a976f48";
-  sha512.doc = "57ee6ed2169c6f981b9dd8173fca92e23ccc6631bb8a960f7eef0a9f4a0a6b839deafe211ce80cd1769046b0dfff4aa50491a49d42f40aa2bf9154ac8fbf51a7";
-  sha512.source = "b045fd77dbc51f60ebd5aea7a8967fcc7786b272fca7c5388af57e956d72d63ca90d6e01a58f531ab15a967a76d277941c65606bc824c6b49df5eaf4bb078bc6";
+  sha512.run = "bef1defaacf5232bf9cce6c1a9956c9a42d35a2c2b6ddccbcca3938386f4f4a61a0cbcba74b930dfad18ed211374c3667120c6706ebf097c56ec3c5915ccdff2";
+  sha512.doc = "84238e6b38021582de93e9fe934bf608e647c9b4cc0a066b4fbdd2ba98c8e6531b653907f9bcfb79e6afc9074b4a079b5e419db25625d40a76a8ca8e55e81ab1";
+  sha512.source = "dfc18e55b30620e27cb8809259a6b4790b94cb98b334a69cd48f66c25696e2df8d38dc5a1d402ae8464ced727752d96d8b5abf18522c8bbde4ce1f6f8ad73c92";
   hasRunfiles = true;
   version = "1.1";
 };
 "babel-breton" = {
   stripPrefix = 0;
-  sha512.run = "9419235cc96d61d613bf5381648fa87cec48da62fd430a0ecad2ebd729720e6e08ed70a8c44069904e4596e0b7e11dab11f70c0f0e3a0fe13b2411f56404fdbb";
-  sha512.doc = "b1fa42f226e1f7dd6ea57de3f27652f48dc75a6764be79231a9003e9adcc90b6418d948fb421c8f68d14aa27ff0826ad9a0993df23d13a8dcd49b90c6d1a5792";
-  sha512.source = "3f33649e926a66557e6a790a2f05383bea7a7da78492a0d1d55fa46780e3112b663017bd75c261cb1d3727b8b5ad1ffe57d1a4a534531bd16b93d7e28cb3bdba";
+  sha512.run = "bbcfa22674ca1d4a8e23f179480f9e94a50d5b460b8b0d27365c9166adc02a191253ef2d61d6f5eaf5bc61e73faf5d307378898f1d6b1b748448bbd8a36ea141";
+  sha512.doc = "3b47653b26901dd4aba1395c61c9dc01d43ed490c70ca04ba7d1cc67ba7b23b658db32b7a5fef085b236a68bcd009dc5cc5687e3dc2dc8d246ab2ccb8d391b42";
+  sha512.source = "8f381a3955780617f9738b008e6f4490632a67c70f16d4855f15ca59981dadaf72f7f15cebe10a121bcbb894006c738ca1872fbe33bb256c8145b22254236b67";
   hasRunfiles = true;
   version = "1.0h";
 };
 "babel-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "e810c0d8d78a5ca01fc7a1435dda1457673f1a70f5cfe1ae8da509ca3e126edbab7b0710236ba9e0b1816efcd970973e4bfc48b66c5dc130dab0284bd2ea561f";
-  sha512.doc = "e3b61430ebb0b16836e60cb394cd031a7b33fcf527d2daff4eb176702f33879bdd982e9764ad4b02184034db03cd4554b73e65f8e49c07af643870393c0085b4";
-  sha512.source = "2840b9310a55b7ec0304441a969c8d0529bb86be5c002c87ca7a51c338febf44af0970d8c8260c8c6d8c80b4653c68f40fb7084c68e8800f751acd8eea58b552";
+  sha512.run = "0c838e5c5cd010fddaec385376f9eb5fb10730e918dd28f58987f855a444d91ed2e66c0de46c74637d134d72f7e348e538836df33f6255a14ed51d0e8d5e8a3e";
+  sha512.doc = "4dcd92a2088e737972f0663fe5161883cae901dc82aafd1bd33f2d80a852fb51d6229c95cc655826bd17599a7152b8a7bf0031eb046530a135e8bc5c9c74b2dd";
+  sha512.source = "047f69cbdedea9070a002782e8d1b893aae71adaa2e637df560ab8a176308faf8d1b8b52afda8f38f264783077a227176eacace9484ccc0af2a4a7615460c7a2";
   hasRunfiles = true;
   version = "1.2g";
 };
 "babel-catalan" = {
   stripPrefix = 0;
-  sha512.run = "eeb0375046728448801a64f4e1145c6acecc4ced63b95c5a8e058de1b07d19dd62f93ee9e0150e19f28f2130a699402e127293e1ac08db966cde609a0fef3511";
-  sha512.doc = "ee4ab0ffe913c9e3f502ade176cdb9206953d60c3a65f13ed74eceb84e560d4c1aeeb463f78dfcb023a8c9847d868aa5155602892d6738233af9690fcd93d294";
-  sha512.source = "3ff53b950ec8014adf75eaf27bacf1ec72a7f8b9865b53f11c00e48390cc4f7ff7a04eb56d216fdcf23b281394c43d893fa5ea3d4b988d8d24840a4ac9a4808c";
+  sha512.run = "728d847331f1a00766cfc2818691516234b153182f31ad2da024ec3194cc384a41ca89cc67ce66447191188dfe088d1dc4c8af3b2e6952931ec7eb58737c4bca";
+  sha512.doc = "3184373d85b1e9bd76588318372ced328d2ce7f6d4f45bc5634671a88314d1ed18cedd968e59dd5203b4d77e6d3576f36a654b1a8bbdaa106d47cbdfb825e452";
+  sha512.source = "ef15d0aca46af936141fa2d47c6b794ce85f2c3fc9adf18b5ca4b0267292f24d1c02121d5189f7cc9db98e0ab22a5d4ec2febc32b2bec5c3c5923598e869878c";
   hasRunfiles = true;
   version = "2.2p";
 };
 "babel-croatian" = {
   stripPrefix = 0;
-  sha512.run = "8dcfb71004aa592f1d8f57e7fa815c450420ca4f7a8e3edc4210843c5ef00d12d99f0a305ce88ffc490bbac5c744abea36f2470b90fa7e4bd1e676b344e71f17";
-  sha512.doc = "38d1e17d89ce29a21f1feeed4a4d40db6e167e185e09a5dc40af657013ace9f9076ec4313d25877435b1460fc868a5d53db5ced4012e54cb088be4cb8b6e5a2b";
-  sha512.source = "d34e7f021ffdd5390d9d77217a8112b2cad811e4de719708cc2bae0e1586e3392ca5ed055ca0ed96cc362f4cb5d8522a18c0b1939c798e9d036c2e817c6a96f1";
+  sha512.run = "b5724a84cd180e9de79136ced8bd38717dcb4e932dbba4e20fc071ba9f50fb35cebe83d4a95ec6e8ef0e09a02732cbdc8b1a71715c8a5967393f54087ba4a807";
+  sha512.doc = "d5e40e95037c3035589b093037c563b3737e061369f27ff5c51d620e0655dd075f413b91434591e2130849d641c1ac59469db46be1d8b0761075424c468668d2";
+  sha512.source = "fdd4efb6d24bc9560e14f9e02d231ac636f2f69249d7dea9c07b337f0d5617c754bbc9087bda5cf1f2da6178807e46f015658b3fc2d04ddd5749dc2643ef4ed0";
   hasRunfiles = true;
   version = "1.3l";
 };
 "babel-czech" = {
   stripPrefix = 0;
-  sha512.run = "35ade1c7e7b5b9cec4b641a35d90530abc471a25f2d4846f2833b7ffcef0e1a52337743053a9c9dbec471eaa60f2417ac55a58cbf48f6c5ed7615f373fd25512";
-  sha512.doc = "d42389fc54574af7840fd294e9491a4a52e7252203b1adf151743ba8f9bc5331a4572b9f3babd2d5a626ecfacc25560fc664870379db3842358d34d4cbb5bc60";
-  sha512.source = "b2219aa3654d29cade260cad2ee484db2882c58c2021150b477a64770ee2c710467c49f1ee26e335be921bb13c49350bd8bb1c97c647d1031bea89cb8d5c988c";
+  sha512.run = "0cc0f07fafefa6d7ea1ae1b2ce143dbec124fe96b36221f1b5a847fd0b789d1974b5990ebd93b8ac0607f63956948bede25c7e690784ca7e9638f48139585a32";
+  sha512.doc = "1575fbe0d70725e975cdb0c1c5ca685985d91f23e4a997af4a0db21905ac34962f69653ffe4084065bda70cfbba0f0a1f0885d3afc19e98d0045ebb68cb545c3";
+  sha512.source = "1cbc5de700e32ac2600a50a85f6437b7bada601734753a8ea62b845f7500880195625e827be41e277d76137ca3dac05b230e64e0edcf1807cae2079feceff8a0";
   hasRunfiles = true;
   version = "3.1a";
 };
 "babel-danish" = {
   stripPrefix = 0;
-  sha512.run = "ffc3e2b30b996813dd5696b592ca8f9da50c9e49b18a60bbbfa8727953deb1889aabb7144987a1f6dcbe15835a27e15fb5b483dc99b75122cade7b04ff0d9701";
-  sha512.doc = "5feef03dc39706498e272396722b4413354133b07a5250a38ac097e414a36d2f34b648a49d989269c6a3a031724f45928a03dd8b42bbd55db4cfdb068e3bc75a";
-  sha512.source = "ac4461a91783a0d1aca6f8bf2b27f8d8372edc55174ed37f524c0a661e70cc5a6f5de6ff433765d594f7ebcd3097f728d22dbf102cde2db2d6fa57e4222b5f08";
+  sha512.run = "03bc05d7e6d59ffbb6191cc392294007bf4f1b6f758aceeedb8dddfe9aefadde3e7904d7aa0834ecdf6dbae732057ed0523b24ca20dfa594e02ee8857c94cd3a";
+  sha512.doc = "b85445b348bd65abb4c7df530e20b93c5cc86f2ce25f0306aef3d32b585ce8ad8d5b16007bede46be535ac0737546f453c1241a225b31a9216ae25482360b2cf";
+  sha512.source = "0556cb121d06313ea2c1f84a98ea89e75d8bc0fe2a8dcbee98deff446ddf187833af6ee2634483f25a721142078ea889bf065996171617cc95ce28a8a5083b81";
   hasRunfiles = true;
   version = "1.3r";
 };
 "babel-dutch" = {
   stripPrefix = 0;
-  sha512.run = "11e12e540cc54721ceb01cddd29bff5b1241c5d7b686b738471e7516f016b0911ae58f43200e0cb69a9efe8b7e82d6f5869838b4f1d7e55ef29a8ecd8a157c38";
-  sha512.doc = "4d9e1358239587c5f08f48957a7900d2f47f0d705ced6a7dad9d1547fc75e304fdf4431228d3c411ef6b83f8921b1037bf8885312d684cb9472a17c772b445f2";
-  sha512.source = "146d27ad2f651ea9f89c464e82a07c8caaed7a2a6cbfd64305bbaa2dd0af439f2ea04e2cc5cf931d7d8e96891306a709822a35545b4f155cb6db979d8510ea62";
+  sha512.run = "3f967688c9124502243589b666e1e3af500329782cdad8da5225eb3fe6a50262c2287be02d6d6ec04f3ce81a6767b4d2821179cbf04dcea4c20001e8ea1a9f5c";
+  sha512.doc = "5591a30a32ac2900266d4dd642481a5c9e7bac1062fcf5557ad4acf93cad0e36020c75e081b63680c0c96ff580a2156fded920e394a9c5c685cbb152e8d4142f";
+  sha512.source = "98c412d7a2a776286fb3f78faa49da6dedab2d3ec80b5f722a20eb34fec53768ba4000debc952df3241661f1f86b7035d7e71f712be3fff91f13608dd0fcf87c";
   hasRunfiles = true;
   version = "3.8i";
 };
 "babel-english" = {
   stripPrefix = 0;
-  sha512.run = "4f1109e6a4b7733e67081e17540495e96d34204e90c9c8ae250e380bcb92509d551418abebdb315f2650776f024d1e2553e7f56d39e5a02eca1bc90a92dd7cc9";
-  sha512.doc = "2e2e89cfb258b47e04fc821d352543b53af526194a05b010a3b20775b8054772412f89bc1dc05f24ef73153a3edff97a1c6c0d329cdce1f8ccf0a9c1e9966d2d";
-  sha512.source = "898dec50b72091756a130dce305b512e8660a31fd22839e7a1f12ba4ed24fbac833b3f7ba11c6771ada3ec14229152a9d61ac8e398d86fd3b5eb6a9c6a0f7858";
+  sha512.run = "f570d2aae8a97ba0762fc1eab75dad1f17c4ac582a351ffeb8e56a136b789a38b7a6519247ba5981385f1a093101542942b3bd073a5097336392929ed40c9e39";
+  sha512.doc = "77d6b482407ff24095b1076673316744374e66bdbdd7ebb767ec66ccdccd6ed5bb27ecfd0796eee210f1a888c82ad2eb4b9d2142c427bff137bd139c4cc53ec3";
+  sha512.source = "ce636f5cca9aa33ad7414432fcc46fbf1873c4b1576cae8c04b8cf15381f4b6ea54e0621f297114f302ae172752282daedc0b59c15393e1071f8542ad3baf628";
   hasRunfiles = true;
   version = "3.3r";
 };
 "babel-esperanto" = {
   stripPrefix = 0;
-  sha512.run = "3b72c7f74574b44ada229656f5e04ec367c57c863919e4e6dc9e0fa8c94683f8d7cb12da02441c0ad7fca55129299e5096654e2418b67493694355ad6b049c4b";
-  sha512.doc = "1a5e7129af0ec7f0e93dd5cd8e0e6553f61dfc16b9dccc1b5d78ef9b5d13d4c5e4586264c90b8af8f95ab870d33fd7c1e60edce882c0d3093e273d64dba74510";
-  sha512.source = "d8ed70e4d50ad4ca362177b2a5b4e096a032f4734e52de26670b03be179d4f59167571d8c02bc0d9f32652a2b65c3d46c715fcc933bc0a8bede67584ee39bc66";
+  sha512.run = "0c3be27d02d4c3157f2b0df0950e0814db3ffbdb2553d2c0f176893f3669123a9130874e93edcfd86480b785bbbfda35f9246dac3b4a0779da51387b0bf12ee8";
+  sha512.doc = "166c1b59511b5a01cac11b5cd76c84cfa485c2674b390a167ff165bec1326709437ee843f664fd4ac9e61338481df9e7f3026189f7c29c71778dbd1df98cd35f";
+  sha512.source = "f2fcef5841400c521415c870ae1641549eb702944ebd404b96ff9d5b52ee9c2d484662a50d9b410f62e74580f37fdbd269b3650cee0572b3096e4b0365787d4b";
   hasRunfiles = true;
   version = "1.4t";
 };
 "babel-estonian" = {
   stripPrefix = 0;
-  sha512.run = "e6419c5acb041e34315039deb0ef779de2bdc5b8cdc30bf12cebf79e12d7f6fc1a9b8a2dd3bf06be45ee93a3e7a155887f5eb866559e34fe2bdd612a4fa36ea6";
-  sha512.doc = "8ff726d46dfa3e7c3c94279835667afbf62163399d241737b505538fa41c2319c2913422b013909f0ab2aac8cb269e67520e27bf88dab2070c63e72ffbf6b4da";
-  sha512.source = "2b49c613f1e277660f1ea6ccc3bdee6c62adff3c72c4254ed2a7c59cc95e7370c0643d729132995ff4281da64890ff9c7a05d995d547b0d7ee1bcddc896cb245";
+  sha512.run = "03357f8b0c101e5e186fa4211a971e625f6970a3129a2594a611c74b77b36a27a288d2da518d21e6e2e5d98bb82802b2115d47e31e6258f01c003be854090baf";
+  sha512.doc = "ca732f4b6ccb9ae27f99aaabc99037d9f3d04bc170b9a8bb189a81b6bc9f55fd757c5755bf51ff423850f6b45c88a5645f75a462fc9d9e9b989fa04c1a2cc7c1";
+  sha512.source = "47e8d53d379ec383400e618873d800bbb6dcd8eea7807e31173110d5d7492f52cd4808a288e53534a2de578c43a5ee4eceef690bfcd56cc11e863919f86ee8af";
   hasRunfiles = true;
   version = "1.1a";
 };
 "babel-finnish" = {
   stripPrefix = 0;
-  sha512.run = "55f299adf7ee977d6f4a466ed85cea62e306ff11f61803a60f0c0dbbf11ed50b8b7548daaa011907653f9bbbfe23b7ec786daa51c5f017130953ebdd5b4bd7e6";
-  sha512.doc = "b2a60174362cbac3ac542a4786c266396f837f030fede09f8c13a10b6b1655380e4d396759e4a1e4cc4cfd0fdf0dddec8433f1cbd2c3c350c5c9a00e26ebf851";
-  sha512.source = "f19a6c6ca491a53ac8fa599e651818add0cc97721f2b37b7919d272878eadbfc7a560e05d4d0a060187ef89eb1fbc786f217859f8b11dfc9dad1d777cdc709ea";
+  sha512.run = "b39de5e94debff30a9f3a0b0b1d27cdc75e7479ad3f37ba73769226e9e2b1883bf272c3dc87044f6c2b97c80a7c049aee64458a78c289f01470ee4a6ecec0d59";
+  sha512.doc = "52fca9282d4070cc451eff247b0743b576dc7ef2553952863aeaf04c01f876d72e0062857690b1d62f1e3ed17918b64b125b96df82f2fc05ae695dcb4788146a";
+  sha512.source = "c8b07de49127f766659f5842d211cef3830ea3f92d8703fd482c713993f924ed0171864f055ae526bed407059733295fe9741646228cece4516bdf49ad4622d7";
   hasRunfiles = true;
   version = "1.3q";
 };
 "babel-french" = {
   stripPrefix = 0;
-  sha512.run = "36c3f2f9a3cd6b23b72902c7d36c76a420835ebbed6b1444f2b4487e37b2f80baeb571a8ab1b0f4bddde301ee240f4779e24d2392de050edcf31e583833632e7";
-  sha512.doc = "959f2e437b55be50505a5d79707c75881bead987dc888e2753dbec00f5dfcb32d3e6b18df5e4f0c623f630d81f0eeaf82b9d43d9f05e2560df5ff343cec65975";
-  sha512.source = "238b07920c3ed0b8632a381196321f0e42a20df292b364706f47b25487e14ee69171168ed59e8e60c57fe0815627985e6f6ddd391fa02365a18f070c7e963ef8";
+  sha512.run = "f8fbcf377cc0e66b0fad4f5b2123a8d3931ee3c0d46ed1d23435c00508fa26f4e24b29eeacacdee2c4468b412346a48fd5684fb2e9a8d1b90cd451f2ec6cc8be";
+  sha512.doc = "69f19350e4929d5acf87be0241776612ed784f5493ece6dbd701ff1ebadc2208c11353ee773c38592e084b6f1e709b3b39c3c53fbaed737581eb27d553e174d9";
+  sha512.source = "544cc799881b56a6623eb64e0856d6f5b9d1a005fe6add8ce7752924616539b1045595c079b80e3b3b3f19bbdef726420f765f51511354fc61098d2c3fc8d63d";
   hasRunfiles = true;
-  version = "3.5d";
+  version = "3.5f";
 };
 "babel-friulan" = {
   stripPrefix = 0;
-  sha512.run = "8109dc48800410f612f7cb8db586c1b7167a88aa0b97c53b310a6e7df240cc0ad2b4af1ec17901fbba51ba63326ba67e3bb055661079098ac0d920e3b5e58243";
-  sha512.doc = "36a4f276b4853aad705bc7d4d91e4f83758d865a33a07f791dd4c92aa69ed7b6968a2a6c567a0005a0b2a852142aaddc8770a197af50b51ec6251ad1abe47d71";
-  sha512.source = "9e2d1e1faaf451fae88bdd2fce6aa5157e54589b2c99d107e949d5b0a76d748e01bb337a1f8602034ddf73b0775f1ee31a94669bfef791580770e1c125eb404a";
+  sha512.run = "e6210dc473c3d71759f2faf1558df2d6a7c646485d85cf0113074fb68eaef23b2e44eb88c9fd35a7a7929b408d6574f7230852643366bccd29afee744e0b2d07";
+  sha512.doc = "0ce539cb0b6cc7af830c7413545f411e1291491fb26ad0451e7caf1346da9ab188a457e3292efe9724070e77f67e46e06293dbfb40b78a1328112b04d4a1fd77";
+  sha512.source = "1e7e241350d499bd0bf28b1c190b3c73e20d02be12612905305ad53cead422e8ea1b6b0dd633190170d7ab2ac2802559693597a8c6ae8527a7fe83af7cc61463";
   hasRunfiles = true;
   version = "1.3";
 };
 "babel-galician" = {
   stripPrefix = 0;
-  sha512.run = "6450ed91db8f9adf40f20978f01e17b33b6e642f2bbdf35c26b32c73317da16f8fe799d4ecbe81b289cdcaca6bfd7e43a64b30e9242a08d93be06d886eadd840";
-  sha512.doc = "3281b0ba42dff840b167092d608682cff85009e76ada57213339e8e072fac0f748400df7d481d588716851a19d5716520c6c684b5744c83d8fe9b3043f411b13";
-  sha512.source = "7682082366f91a48c6860264a1b1f32df121b0cb3c21d5e7790ab383d0a5f5d451f8b76e1e90eaacd3748ad6565f3e05bd80882c11328802b431ed81144c301d";
+  sha512.run = "1c8aef52e0eaba8a55e6c0bdaca4ef47012012a85d38ed268207227063d042f2f0b2cbafa3d1e4d71432e3ea6effd2a781ab0aefc536276de36a95d0dc834b68";
+  sha512.doc = "a60ed8ffc43cb56aeafab8d09e8235eea9482ff8cdabc00da68938d980b20a7067da3286fa8ce19eddf9276b51e78dd944545cb8bb891bc13c31cffbab39544e";
+  sha512.source = "aef01bd2587b5a452874e67c52bb4adbd89c5203bbe9a338e85449831434cbcd58415afd3d31d6e315eb91dff955750753bdc9cd38e87e3aded5350a350df547";
   hasRunfiles = true;
   version = "4.3c";
 };
 "babel-georgian" = {
   stripPrefix = 0;
-  sha512.run = "74da8bb775637709180690a5582c8cd69a663e86ec7b8b29077de469b607ec9e1c9f76739527785b83054be79b7523cd5a63b1b144e3e708b81fe86d3dafe329";
-  sha512.doc = "20df6fc5e4c5557ed2f63072e93de750049d09473eae15061d287c0cc1937922037e41cba9138e91be4bf274b3e211fc493428ec655a02eebeb4f02765381134";
+  sha512.run = "07adf0a76fb15951db5dd01a0a1595aa9c8119d6e39e94eb36ac340932f763975abe284d738a52a1fa2a938a14f87fe7ede10758529c3f68c6d573dbccbcbc82";
+  sha512.doc = "b2f45e828e32fef5e4ac130230050f035ec69607c97562a835ef2157ccc6673d4ae452624d2d1aded3552eb71d85d971a7e35d9774ad7b6e4ca7a8e0a71e48c1";
   hasRunfiles = true;
   version = "2.2";
 };
 "babel-german" = {
   stripPrefix = 0;
-  sha512.run = "215e8b565360e3e4a64957c0fa586cbf22ccab473af9f1cff2d660e95d1a4a44bfb6977d4ba0997bec81bad793481a082efc90b927370cb8786f1ab9ecf84a07";
-  sha512.doc = "c4e3fdf8400a5d8a403eb669e8362afde50c433860ecd6abfe8d588aaf834bfce093019b40547a7f8518b825db991c5558ef2eed3d28fc55ca9dc93a1fb7f5db";
-  sha512.source = "a849514cf95ab9452a50a5481d26c8f03663d49a979c49470a80f75470a8f7b4c9845cfbe8636121b4274abf06bb3230840f162a825e3534d95afc6a37e4bcbd";
+  sha512.run = "2aa32e3cd0deb815a559e1722cb2ee423d605449af766a8b7c36c67a0e9081fa0402b88ef5c171186d353a8a57d0ae630fd7eedca1d795bd8130189bf05ab2f3";
+  sha512.doc = "fcee15f9b0123fd6c5cac11143f6ade9e770f4a3dab07e45bd5cebb30e020be58bb9e43cafee6b4dbc96f8037a84012f900eb33836f7e48607c5424ebfa61947";
+  sha512.source = "a1fc8b8134042079b7cf5d2497b7802397ab7fd43dc354a7bd9ef3c9a9cc3e2e6f84cdb193653d0147fcbe9a6859e9ddb2aff7f5e25093771c7ce76024eb0b7a";
   hasRunfiles = true;
   version = "2.11";
 };
 "babel-greek" = {
   stripPrefix = 0;
-  sha512.run = "4800e215a89eb2d015615844e97bb031ab02fa2c61d800f3250c56b4e9f1c52a37d53662e6b7fc97258bd7ce37927cc51e30df5de24d5e99b75f5235992fcfb5";
-  sha512.doc = "ee38a900a60e1c65ae5e5ae29d596bc78ad17221aeaec8aeeb09483b93dabed5264668132c9347ff33fcf2cf5ee6ef5d67f9bb8d0cc588abc8bd66f22858b53e";
-  sha512.source = "bb8b266ebaedbab8d4c4e11c5bb8b866d1abd2146ec48719e3df59ae132515c5af832d30c72ffd4223469dfafd3cea20a94faa95157098f289337e7d948004c7";
+  sha512.run = "4b4cb6cc75cd7ff896a2881402809b253e8720140ff80b0cfdb85f6cebd3cbe9b095d7fc277574525d3601f9aa3c1546940ecab65bb85ef216667b4e42e1aa46";
+  sha512.doc = "cae49d0afd7db0191581189d0613ca0fd1bf906e81232ea4b0ec1db9b90bdd7c724833ad4ba72ed193b62817dad41dc62e50d4873c60f5642e97ebfb20706be2";
+  sha512.source = "80f955015d5cd62ec84c694f61525ae3eda442a00fb9d41997c465c9c8df70ef50a103aa94ea3aba51f01f35f70b4ed15e1e02a3791386d1cf506dba390ea9a0";
   hasRunfiles = true;
-  version = "1.9g";
+  version = "1.9h";
 };
 "babel-hebrew" = {
   stripPrefix = 0;
-  sha512.run = "2f4222611aef260b688eb706300971006bf9024127923a074a05fdb9b8ae8606210bca5b89bcd7a5cf3baed1b057e407a05d54ca40713f2b6a56de03dbe94fa4";
-  sha512.doc = "97a940d28ac2922479efde5f5a0cd7ece655fd03cc440d65c8d995ecb685c04d04a2f8c5e20b95d0df9a81b7c165d42cef74542e26ed82496896d7d008d2f174";
-  sha512.source = "4b4ec20f8bea91d21ba3ec8af7023f16d1b48feae26e14b162b03ce04d8349af13b5ffd7c63496489613fd4c437acf9656bb99a1fef317923730445ccb55e214";
+  sha512.run = "4690fc4288ba1d2142fcda24153e741a539ddc4a52d3e502c1c349feb19609c7cef1427751af24b93df191f12d2b7cf2d11423052193df01d848987e66744dab";
+  sha512.doc = "cd4b52bb2d207cb2bcd327e2351bf30d18921c7c4f8a8fa79ce0bf8864d6f6a34e2272fd416828c772abb2df5612b4a78f73f54157b6d69b011c008495b93cd5";
+  sha512.source = "6d380ba803ecb1f6f268ebd2f80da0eca87c7f25d3374ba0a0432f9de6d39632613fb49e108ac9b7d97438b589dc71c37b47927b7387bad8809175355aeabbc6";
   hasRunfiles = true;
   version = "2.3h";
 };
 "babel-hungarian" = {
   stripPrefix = 0;
-  sha512.run = "8e00e5ff267f7a5b5ea217706fcfdc37564e61ae406a683e34b5dc23892f603492880b6b0c9da0a36412adff274a390140517cf10c9029ecef744a4c40dd2c4e";
-  sha512.doc = "4ecee1e6733e71ed370fffe8d5d29b6be71e3a860d4dd45bcebcf949e74ae408b87f9a376447b335c86b6e9e205a852b6f7fb60ca2cb008976aa563c175a7d14";
+  sha512.run = "5b05fe625155df3a958eaf44dc55190fff60ef356d40e681870ff27adbeaef1dd2b27402d9058d27dec665dbe9127d43a2e07ad02ef5a546c2e77479453678b2";
+  sha512.doc = "696cff23cc5e2c32034729385c251c8dbeb5f78d11c0f8a0515af480f7a9b5fc5fa6c07d216c5078d5f1c4e71cabe093f023f294dbebb6b203337da9423a438c";
   hasRunfiles = true;
   version = "1.5c";
 };
 "babel-icelandic" = {
   stripPrefix = 0;
-  sha512.run = "c4ab9db602c76e347c28f3a6f024b192ac6ba3b0dbb03ee358b604a1d44e421540abb6b4576c503b9de241d75f260c2d396b8488c6bbd13e6a57e7fcb7a7f203";
-  sha512.doc = "3b6eb5d0783fb7bc10bd12e17702b6d955f77b1fa2484510f898669eceea0272defaf4fb0f5eeef0d14340d0df20aa6b43fb408fefe14fbe9bffd25aa772459b";
-  sha512.source = "4359176f0586d24ee5691de7b259f4f81c253c1d7a09cafcb6e43110308010f6388feda6a37761732b5bc26278cf58d0651e42b86c693b75e9d6f34f4abc5095";
+  sha512.run = "46aca093e061948272d2a54ff9f95b94b101582f0ec9d795668983c37b518be3c3d76d2c8e6901126d3dd7342db003589bacce9a40cfd573263a953bbedbfc48";
+  sha512.doc = "bc859f01f52ad51da7df9d458e507b62eb69e40e1dc39362ff32ea8ee8890acce8ce49120fce967f321c9d674f4334c62c9bf2b3f8017288b724ecfe3943d667";
+  sha512.source = "cff6e1ef260bd61b6b098b449fc5dcfe5c708a36d9e5df679d21e5d84a62fbe298fd6581d9c6a79829df55809b2b12f6bdefe4367df05ac50830fa01d8c73dff";
   hasRunfiles = true;
-  version = "1.2b";
+  version = "1.3";
 };
 "babel-indonesian" = {
   stripPrefix = 0;
-  sha512.run = "a3d0851d42a3585e16371a7def25e19c73a34f9bbdd0d17b48b1bcdb3c9002ce18b9dfdb845f73dba3acf8cd9a247a2abbe650a69978e16d283bcb11ec676ad4";
-  sha512.doc = "17f638e88f76f6b9a409eba259eb05a8bb9505997f2012a381f1979da9bbf468f0e55280457b079fc72e19500a7f3eeae74b6e4a1639a7c94480de67ae7cbff6";
-  sha512.source = "5914a64b195f31b3d4bb61918813a06a62bb9c1a9c4a410ecb5d8869cf06a02c8e971cfbb51c43abeec10f54f0f51f21e2570b7029ce8d7e039c68bb96fba5cb";
+  sha512.run = "9e42cb144d53dc0a076afffdbcd2adb7bb55cbc58feb77916e02beebfd1833fa308a0c78d0c26e1d187386b60572381c881da083c73ac8fcc651e77af17e2093";
+  sha512.doc = "c4f86b646d67ce4b29e96771ea5657e352ee7633c344f24552a2fde4c387aea41f9694d77114a1454b106646d12d30b277fc9de589d3d4b666b00208978f5bb9";
+  sha512.source = "30a1b987fee18a002316bb51e3497d22696e83ed48cb4a6e40da2f82876cd2ffc5b4ab95a0c1cef8a62f3d0a610401bf6552d5080dad3a9d0c45d4fca53dfe7b";
   hasRunfiles = true;
   version = "1.0m";
 };
 "babel-interlingua" = {
   stripPrefix = 0;
-  sha512.run = "d0364273cc01871a76ea00818c719be0cbbe01c97192ff0c5628216931768ca8c637a8bf0cea45b8f8c44c11270436bae426d969806d3b2fe7b35b3000bb89c8";
-  sha512.doc = "8c8471463e7ecd7dc895589bd83ee53d27d08e662cce3b612c505df7192600bc898ce6ca5c79c3a5d6201824f6fcca72541f60591bb171c8b0f0e6f749d40d8a";
-  sha512.source = "cd34c1eed67ca6ba327216705b812db56b2f464019d83fd1ad06eebe1e0054189af93d52003f42f3f4bb3c7f6f5643b4cab67e207e211d7a4af8bff665e9063c";
+  sha512.run = "e562cdb5b7cc35d14f4696cd3b85c6578a4daaf7899bf684026e50ade2113ee2314405756dd5f6ab91b6faea4da59a3546e30a18ba77037eab581ae3c98b044d";
+  sha512.doc = "f2f86fcb4a132a9c1f5c65007c8f1662a8498a53f265cc778ad3ba33120a97317aac890c1ff72cc6b94727d215937352ae268cf51344053bec6e0ee5687d0f69";
+  sha512.source = "260b2b01ec451d2a37e00e83c79a09f359a3e4a7c34b1396892259442a3f9d2df683e74e6f14a5cbb9b797f8cdc24d0bfdc7f9c3dbe124eb901f43d393f5e1bf";
   hasRunfiles = true;
   version = "1.6";
 };
 "babel-irish" = {
   stripPrefix = 0;
-  sha512.run = "7b17aabb50c13d6739fad6966d5680df5631528b6deb81cfcfcde9b9cab53fb1319a9427d0754b3bea9f04d6f3c1c48cc4bf7147d3873ee5417f0b4ea5ed4a62";
-  sha512.doc = "971d8d7ffd3c4a821e9b7aa7a8c6429d9b6c1133149e74618b8f95cbfcdb930ef70c2c84680572d92b2c24072ebb85369a370b8a9e6029a1c71fcf52a0845703";
-  sha512.source = "27f24bdfb66b7d2b0c1da63b46f92160d070dba5cf65b7ba6fb3bb35b876074a51ffb78e8c9de1d69bdd385e023ae45aaed8d360dcf8c7010617a6b5f9803ec2";
+  sha512.run = "d9b1486da57f9685e136e14adc61773ec0b3a58ade370da8383476862ad798f26609329d445ee6dd0c6419c98342b720a6880939324d19f67e1528fe99ea3692";
+  sha512.doc = "f5dd55c6a527cf19eebe492271d1404be3c995cac004d41160522c6c71e4a4636c32547fd64b93beae41b60d8a48184ff9b498f82ca0453bc72b601de3d66cee";
+  sha512.source = "df023dd1a4b04e022f46f7202b616e6329b4673084876c1afaadd41faf4414e908411deda1ab909246ea7e1922c46b0a70b5e3e3fbc6c4855e060d47e45ca21e";
   hasRunfiles = true;
   version = "1.0h";
 };
 "babel-italian" = {
   stripPrefix = 0;
-  sha512.run = "dec4816f281b559971c47d638fc188898d6c66ef9aee1de91c42326246f6f27a941c1aa09cb65d0d3387ef8ae65d757f052642fea1a81414078a2a49b0d01b4b";
-  sha512.doc = "b3d9bf43fd93cb3beaee7130c19b87b79dd0cdbeb2602391e229cbbe37f65d5a7a3ecea93c1cccf9adb0449774243db90917709680f31810b2298a8196830a5d";
-  sha512.source = "dc51f817deb9557eb8ec76a0d44b132e4fb773d554a025802cf2a23e3248bdba636b27ce889272efbd15f7a8454d8ffdf87ac01a25fe001e6c0d815fc2d467ea";
+  sha512.run = "5950227b917860a1954b8050ce2949cf5decb0340abd1bad36464a73f84f0a0f86ca7f81c2c412b90a3d7b12a9355d383391bc2eae6ceaaee9328dc4b46252c3";
+  sha512.doc = "5be388f15aa9a2a84e9770f1be49c6b2cc1e0539d5ad9149ce02eb7154253292105d10f83ef291b30c079b0fd29aed53394ebb9270cb7326a0e94014aa0e9403";
+  sha512.source = "5256bf88ae2bd3160cc1b11a757e0541e0dc5be05e6a0033ab5b4471d75845265921a2771320f397f957ec4f77882577bb23bafa1b91eeca74af7ff9570b3857";
   hasRunfiles = true;
   version = "1.4.01";
 };
 "babel-japanese" = {
   stripPrefix = 0;
-  sha512.run = "363d8880f295bb9ab0b25b3df4958556b3532a7fc4f134aab4d218d92184a337f4908f6eb81f13a232ad350509bc2d74d9fee0b735c05cf141855902ddb38474";
-  sha512.doc = "8a73d794f125cd108dae5fe03fdfb1d4f039b4e65762475e1d74824d08d980aab0da0b8d1b7728b3465704e4ce9ad3eabe6d2b8a8b6bea4de80bbdb67be8ba6f";
-  sha512.source = "e854050ec65c00dec9b4e33fb076da77d18a72a3efdb510cfe284ec3e4fccc64acc9b816dd80cc535471093b9f245d8555a2d35b3a4989355daba510d1e9d274";
+  sha512.run = "eeab94dee49061fabb116702c1cdd0c6ff11eb61994c4bc20bc2147329411c42f5db7faae78141ca53380c308f8b310f592abbbc77d67654270b6b1d72ca5cca";
+  sha512.doc = "152a3c6d723dc8bcbc046275993b207103e12ab551216e87aa999c2c912acf2ba7e1bd54b0a1c8099940c62f564a268da04372ee559da7a7c56b6e0a32e29b4f";
+  sha512.source = "04bec4bd09f46c0c6e25a0f59ce2435a5d5fe222268616b02314ef091315e3bdb882381890fd304c07d5398e95e217aac46b47734fc9e6efbb32649c9f974cf2";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "babel-kurmanji" = {
   stripPrefix = 0;
-  sha512.run = "f0ac1b46c20e996f7f2bfd2c6db75c61da34d881c080bc03f28ff14b8a320abd173bfb40ec5c3fe6b343cc347c181def322ae8da43d7287e8cdd1d21af79d682";
-  sha512.doc = "d3719ebd7596dd00878811a3c804563ad7b69a919255dff545880fc0c76ff279e6d01635c7d5a4bd3afe70418d354e8484b9fa083ae7ac36445603ef103afb8d";
-  sha512.source = "2adb924ecd7234cd6a6bb39b953077a43d56059ef4bba6c3e09d233cd3080bdbc1f538419b29e79c2fa7540b50eeb38e53eea90fa7a0fa773c4b61fd6b8255d2";
+  sha512.run = "bbdd05e7106494f23892f3455ad224d3deb1881f5a73720e2c73e7401514fed324484416def64e2e8fd7c2416b521fb2d4527585d2302a220330925c296afecb";
+  sha512.doc = "c31f7efd7415f3439635b293c9aad2cfc2632352534e579c0f8d3e74443fb7aa88a95e19735a7b65137d81899ad9d2ad8bbdb28c5da2ff05a2be9dbad552b0f8";
+  sha512.source = "88f600cac9509695c36969ee2bb2041142dee729381a1ffa49489f32454e4c53b4d1795407436df9c31da040cc1d0c7e38077fc786e5cd6832ab9ccd14453d2c";
   hasRunfiles = true;
   version = "1.1";
 };
 "babel-latin" = {
   stripPrefix = 0;
-  sha512.run = "27cf66041a001c5cad4d0f22aab1d9b160530a479b8faddd18c7a6b10373e4a951a28e8e22381f973c148bb0e90d0b89ed5fe7a11def936c8cdc0af1ac5292e9";
-  sha512.doc = "a8b46a48375e88a7183448cfde8269af27ee4086d9fe93bd984731a6403938da989bba7d9651a4b38e4dfe6f8709dc8dbdcd2bc3d8fcf94c7a87d00f91895c59";
-  sha512.source = "07ad191b618447f79d22f8332d598a17cdabfe1dec5afaad9f1adbcf05b68e439d714afa286a167cc1009c1d191d298ce7c9af7bea7dc007e314381cd7dc61c1";
+  sha512.run = "56ede1f441e96e3f17c165de65a7703c8e8897c17ef775fef1e30e1d2382eee0738ba91c97717694edc7e932ee0dbbfd1600d16ff86d6bbea1ccd5cfcec82ed2";
+  sha512.doc = "6dc352b57346f0caaebc0832d12a9c1f13743e5cc39285b4d81edc23cd5f21692165040becf4ec12ca6d1acf6c19f1b2ab1da8d79e3e82ccc2dc865322bfaacb";
+  sha512.source = "9f04205ee8e5c18a0ec6e20fdd7ab0d89d4e1ea28d5c3ad819ca9d09358466215b4d0c2b18d77ba5cca604b3997814ce39b33fe7f438b5b554500b5f4edd783a";
   hasRunfiles = true;
   version = "3.5";
 };
 "babel-latvian" = {
   stripPrefix = 0;
-  sha512.run = "592b549373348ae56695c3d2494669795dcca1c0016526bd486f96b9e624afa51f9e82f3b0e0e5a77944fc3b8a3abcd6957149925c4cc50ec828893803dcb46b";
-  sha512.doc = "0a6e6bb4a063110b8863f167f258391d81d764b0ea7d408b5557f7568d79e12e0b71e5519b3ad73f2eded73a82f642cc3e8e3677fcc0f857f151988f2f12ab3b";
-  sha512.source = "99359c2b4089d17df7c1282b7fec504306eda1ee22a3750e9df5bdd67d8c1db7d0b49a9aaa1a1064115abc3848e7ed074ee7d0e4a55a7dfcced3a99be8e084e8";
+  sha512.run = "0e19f04d81195b77ae200946e5502fccfaedca5a6da8080a0e7351b684c7d1802a1d9d05794006561109dc8f9a0c04f45266e74068157caa9c470899cbec5230";
+  sha512.doc = "e7c4f93db73431708eb902af924672727a6dc6d1cc9d17ca92436cea51310a10538f32825c13144ac35ec8633fc146d1788492f9c6ecf7b11ed72893ab6393fb";
+  sha512.source = "ce0c59467b4cf94857bd0713283f46aa5c64987f5a4c68536566b98693b93e61ead42049a2ca323eab3b2b9842623f1318f2c27ab4a28d3e4660b8edffd988c0";
   hasRunfiles = true;
   version = "2.0b";
 };
 "babel-macedonian" = {
   stripPrefix = 0;
-  sha512.run = "d33f9c91235b0f973d4a6f3fbf82e4ddaff08a63f69f63d9bc8ecb4dfcd2bd72681d5080cf9697470dc36b2ac902d19fccb5bd701b624cc286b1cd142a6d3329";
-  sha512.doc = "edb2de12475191bcff0d968953b64f819932c1fdb7182c0a77ab2dedfa48ad737e576b7f44f37af639d2e139d51bdac0e882289e9a1c240d0e308ef05c6fe8ec";
-  sha512.source = "63d6dc24b48d9c7949bb7a5b7a5d9a1d7eeaff2a7cba88256a9ccadcea9aa9f2bb95abfaf22da0230965ecd43253efea8b4c5c72aebf068142b58306661f3a28";
+  sha512.run = "c061ca1ec358e4d8df05e0adadd5d87695cf3b9f86cab52eaa0e08b1f5b1fedb66febe32107e74c1926fa4d697b056d7d3f119db525b90ff7e7bde30fd015508";
+  sha512.doc = "7284141fbecedad06cfef78f50b4c13ebb3af76ced474c456a364c97943b51b9a233ecf6797e561ab0936ef7d082adc80daea0de4e961baab60e494bd72f7061";
+  sha512.source = "c5866f925540742391981848fb5a76908863fba8a7c77da97b6e6bc634a8425c2d39459f789749cd1ccc4e7888e6d0f5b40d3d9a0a76611f4b1ff2db80866c72";
   hasRunfiles = true;
 };
 "babel-malay" = {
   stripPrefix = 0;
-  sha512.run = "907df975685a6980ac9bd3546c122a6ad31911219cb2276941b0e181d1201300c3edcc15068e3d55bc88c2992f351cde40622bc107a2aee2b9bcaa1dec6e2488";
-  sha512.doc = "d6711e2df15dc2f9c1b99c785cbaf5e26b8fda3bccc7663cb68138627793cfdd6dfd419fa24fe7dde3d62dabbe453e271365ff51569c980f194a99ce573f68cd";
-  sha512.source = "223c9d51db759cc9d3da834f9111dd59acfa05426b7a3c7848b11c720e83605235da3d8c46c71530120e46dc6ade1181afbdc295d4806c4f4ba2e2fedb7ec8c2";
+  sha512.run = "6e2f95eb95a7ffe0b21789a65e74936139d92381867e507ce56bd8eb39b4061b177c10fed0a0226e9091b963370d3c001115473625910f03b699d5517350f2da";
+  sha512.doc = "b06395639e743571870dee10e029e4622c55683d7a9d728fff381bcabe4bf694511230795c79da4080299938acf66d03cc55fd45cb8426b484e19e0fb0f73b10";
+  sha512.source = "4e7e47a29802a7369f7bdcf29ac0fec13afd69f42c9b01060ffadb2cd8d1f1656f7f6ae8fe5ced67d9ce6438c26a07743a18bd38c561fbe8357e8ea3c685a5dc";
   hasRunfiles = true;
   version = "1.0m";
 };
 "babel-norsk" = {
   stripPrefix = 0;
-  sha512.run = "6fa9c9bba02e3bb235fe5660ce5682cdc02b7ae140700779ae63f80a1da2ad8da2da5e7877b4c05dd46baf2125eb710d1ed1b99009247f61b70df14080df0009";
-  sha512.doc = "714eb44d7010ccdc923083aec563e07e3f3f4e5b25bc5d38798b527d28d463ebcfccb945dbd3002351b287d7a0b50caa70c19654956ef906424cd9c3980f6d43";
-  sha512.source = "50d982f18c9b166cba16986d5bdfd101d5e44d456561a89078028676c478d78c4d94e9457ecca8d6ca19e4dd5590e7843a97a22537a38219599f235f36b20e08";
+  sha512.run = "a57f44910dea4a1b9fc94d2705e1627fd42ef21a35737067bbebf6c56f6e4e87031b40b41d68a4f90329aa38a468a87c8c91ca60e10af2d064f502ef9e60d3a0";
+  sha512.doc = "646d8bcb3bb4b864fc9cab92a1ae264801222cc70eeae8db63be8ace926cc62918031726da9e758ebb4bc19797eea498af10437066612ff7dc3ca3c99bab4749";
+  sha512.source = "4643e3a1f3612c9966da916949e51346c7cb595ee8a2b98d585ae12e51fbf2cf23e2817b5c21575d80feaeaf399d3e1f0db6fad4d228b2b5f9a25d51ac3a7941";
   hasRunfiles = true;
   version = "2.0i";
 };
 "babel-occitan" = {
   stripPrefix = 0;
-  sha512.run = "3284e9ac0588b94e03bb09fa8ac54f7498bd0cadccc21ab54e9e3eeeff8440f96ec4628119d0fa43b733e58ff6df92c196337eaeddb37108ee6cfc65ce3c59af";
-  sha512.doc = "05f3b1966b4f1b6f108a29039ab36e2141100f1ed17120d1730975a368f206259b6ff5abe12c41d01bd94123888c299b4ad5970b7c1b7fbb308a1f5aba9b7dba";
-  sha512.source = "b6a74bbd75ef2cb9b9afe56072ff14db2b8e039f7cfb8ae22fccf17bb3b646c639fbf8ac011b944b19f6752d1d1be75f9a833872c0e9a0533f425a4374561161";
+  sha512.run = "f1f2f26b5466d10e995d76f7003c202650e3976b82b431d2bae768a582bc0c5662fc120739c49fcfd1226da3595c8a6b2e8c952a491718c45e69770c09d542a9";
+  sha512.doc = "86433fa646eb6b2f7ee0ba54f1dafa73b81bd98012859c59408883cc76ec876720ef526cb2f526bd4a8385c0371f9bb01ae6d604661deabb4ec920172986adf0";
+  sha512.source = "95bd15481ed6d20f1b9b71fad9661e5a12e4f29cda61dc8910a1601fb0f97cb4797d5ecf8137c9465a623288dc05e58c84740ee5b663b1f30f1c984d4dde9b03";
   hasRunfiles = true;
   version = "0.2";
 };
 "babel-piedmontese" = {
   stripPrefix = 0;
-  sha512.run = "f10e33ebd7dc738d4b257fc3abd36cc1021a1fb2e6fd917081ec8ebd2beb0bae08a2e11227c8961cdb82337fe117fc355fe14019c0e9f710aaea247c5bad6d50";
-  sha512.doc = "547e02bee97c6c66a57038f6426228387fc97821ae52350126fb4f6091341500ce92a95220d64c7443af6b9e16f63da60390c0557870e6958f7ab51e52e09b56";
-  sha512.source = "64d4476157c3822f7400f8830a30e5652c23a8af158f5a73f10be5165b6dd269a0f22c54afbfdb550328d9142c2f0648388a7684e96a9659cfed757eb03d7ca4";
+  sha512.run = "72fe6338ef6f172a23790402a632881906689117e7227b6f2f2fb6129fca9a7d44c42ddd48e8286252f3b5fce9dc34439594882c1f80f33557ef5ef70afe4993";
+  sha512.doc = "a2fa0cc72a205fcc25c2baeb7717a573bf8f2db5438e49c9de8a90e8da37d4f267ff30f08f8bb79f08756f5d227acddba8c069c8a5c257adf95c3afac271927f";
+  sha512.source = "6020ade081108365e4b23d9b3c9ef789e95764748d06a647a071e8ad77c945593a680c7669c57e989e71104a8bdfbf857eec9599327560e4453e0a81b9d309e8";
   hasRunfiles = true;
   version = "1.0";
 };
 "babel-polish" = {
   stripPrefix = 0;
-  sha512.run = "059927f4b59c2f1e40585682bf5a75ce2c028c3f9a356579dbcfa03a7d44f17a91b7285255662e881d2c20de87c477289df9a95f10d5ddee5b71f8c28ce0d136";
-  sha512.doc = "8ae5208141bae6a5535780e9a8a885b6cb0a992e10e6f67393daf8a6a53e0094dffb80c0b03f75af286f780676d46324b0f69b7bbdf231f393fef0c56765f75f";
-  sha512.source = "050d0cb4cdaa9ae90c8c4fa08717d509953c36c03df29ee83ef48ec4ea64e3e2669caaa780c642f90cf1a5447275fd534f5e2d3679fae85c33b945582dda727d";
+  sha512.run = "cfd5f27f92e75883572adce926cbcfa9d9248367979c3b3411e6ca1c2d4bf441d2fa790dfff94f0f6001c68f354628334aa0a920ee68900398879c978cf962e4";
+  sha512.doc = "6f12e4c792eda6ec33db820bf3e0c9a0fbec8f07adf413c4c98d40624cbf8d46588e16271e459eedcb37ceb2f89f13c3a9dab89122172fe2b8ee9330ab6109fe";
+  sha512.source = "19d6cd158e48666b843628d0325d0e52ebbe137d28686d8b31199e9bad1c4d3393487aa300179688af5b9f7307eea8376f8ba82ed2209efcf39abef094787d82";
   hasRunfiles = true;
   version = "1.2l";
 };
 "babel-portuges" = {
   stripPrefix = 0;
-  sha512.run = "d1ecf75b45eac699c7f73d40aacaeed88a3f8ea1a53e1a07c449dca7881f5d6bf364ceece0fa9afa5aa816aa0da2086a80ed1e7bb68b42ef061f28f19429d2c1";
-  sha512.doc = "994f7488b7e0978cc2bb5564c35d4522da7bc0a3aa2bcc528e66459bcbaf9ed4c9bf91c92709c67c6e1d73d636acdfb46e870c0c3f0533e5795ccf3d5d7968da";
-  sha512.source = "a5a3559f753a75756954d684a364d9eb5ad4b74e4bf817eed7add5457d2b60f1a8ddb1b545db66ae2fd9490aea3d16bb42882de2177295070d238d1af5ac0c75";
+  sha512.run = "5762aed39d183575921e0a6d4210d37b5cc25e66288c3c5eba18ce5b2854de8fd440a738faec95a4ec537a3d5c9667f8f2f7d7cd30eff96531062059d90ba97d";
+  sha512.doc = "34c0d961f0cf2eba8c71a0e770d1539eb4825c50f8fd91046697d9b55fb4b45c54b98d69e82b3567faeddc1b59535d32d3d99e6ba9b10d6bb8ecd01c85ee6334";
+  sha512.source = "524f94da19dd272d73cf4ded57f7e7d450d155ea0c7dd004e572811837e4ce25e6d0d02739c11db2647956cd3df99dd26eb648a7556fcc55b70eaedc975a3dbc";
   hasRunfiles = true;
   version = "1.2q";
 };
 "babel-romanian" = {
   stripPrefix = 0;
-  sha512.run = "0889e1972d6e1a9d997c07793e9010c56289932bc294a12547873bc5a3c03598f0b136531457711ebec43d456229f1c9fd7c95234e0e3c6cb0ba8f1abec1efbf";
-  sha512.doc = "6944add08abd9b30679c4ed098d6097aa31389041d4a074f7abf6856b7c0ccfd48a9fcbff6663f0d60aa02e26e32db65dbd053b1b9855de6b6a1f6cb34051237";
-  sha512.source = "20f0575bb8b0d51302cc6b287683ca47225a226c5921def1a9c0ac2e2abae3c214e40ccc189e95f00cd22504133f3476135be531eda938442fc00e258225125d";
+  sha512.run = "d2aca8f17ae173c36185d6d3514b0b09f76233e44f30177a50240ef0cf0f25f85767a6fc5ee0f94e2eff0df0b94fbca08eb048e95b35a631b7d30a1fbf6c23e6";
+  sha512.doc = "876a8cd9e515ecad570ce23686b71e896fa377ce8fb4840e511430aabb05e9cb03f614167fa2abd13328d0ea7f4eebf7044a65db584b95ce4c64bd37d2602b2e";
+  sha512.source = "493834afa2339a8a63c017ca880ec07626a62b88f76688192253985bb5b254412409c1128714a2ce8a7f7a296cef6ad9ae67b32a276372c811933df8d2929e2b";
   hasRunfiles = true;
   version = "1.2l";
 };
 "babel-romansh" = {
   stripPrefix = 0;
-  sha512.run = "7b0c7b0ceda47045b7d5a5344771acf2ff42b67d38aa563e6c05c5c6a905a68a08fb985217b96b2e7bc3ff70d1f12487e7bd869ae2fbcb40c2e717e0b2cef815";
-  sha512.doc = "42f81d9205f5d7d62ad0ec0cc28fc49b597cc4140f131288d91efeeddb38940a4bad946e33adc4824ef44e4e8db3129dd67a78e08edf9146b5dc1c08b8609ed0";
-  sha512.source = "ae6eac28aebd614ee66627a47dcc3f8a8029fe162bb46aa31b009056d9af428c58fb0e185371d3081f045027a30c1ac5c12e2ea6338f3134c4048602addb337c";
+  sha512.run = "db28e78ce4e028ead2f31fc84d0e7d8997a18dff3bf6aed0301b79bfc7bdc52a8741f9975766d36ca9ca2af9908e7e0bda9e454abf268a1eebf4693c30f5a5e8";
+  sha512.doc = "42f9b63d92e522b596839d10c1b90ee9052cac86cdd54ac408063c24456b2a7b5adbfc8208a0a388fcffbb19b98ae0810f7da9d6bc517ddeeab78c8389bdd5a7";
+  sha512.source = "e26e9ec260d7f01550799f90c6bb76c0c29cd200896c4634085627599f5c3d7438159ea9f72df416e334200a7e1aa3f063dfe9bac5817f55c8f6cc83fe906a63";
   hasRunfiles = true;
 };
 "babel-russian" = {
   stripPrefix = 0;
-  sha512.run = "2e55b14504e4020c14225eb508944eaacb3f45e33da72e19f57bf7a8819d98e7648a81cd78720705a2b44d13e9b580bdeacdff3e278025a64c8f355cfa792905";
-  sha512.doc = "b78c62f31aeb02c0e62738f24bc5ca79683b295728b0b74c35a8c5f9b70a528ef075f951f7c5a082d7b56eb91b45f3cf59d45e603bdd697d9bdb37a2df5f4a66";
-  sha512.source = "4ba994b2557705c50437808583e83675c9bc4d781027fa2b1ad84c034ec787dcb2f873f145ab0066c54d1efe992f9b24bf2a4d0cd013d43e1b41210667b74fff";
+  sha512.run = "6072d24abd098a037a97c9bc139db9454e363b35ab1b84f2641684aa0e95ab3747068a715522e2716cc1dfcd129404f038aa5829054abc29102306e84cb27070";
+  sha512.doc = "702b72058f3142b8e5c2d1e752ef46622f688bbe42a7afc3e93251dd42bced6543aadc4d9ed70865d8fc7868b2c560231489e521eb63ec897068b7d712d732cf";
+  sha512.source = "307e7b28b91c02dc8287d2567eaf057597739d04a5db1ad3ccee3b190c01d5161426ab50e1849294f1222add41b322047d372115e31200588f59317b33d49c11";
   hasRunfiles = true;
   version = "1.3j";
 };
 "babel-samin" = {
   stripPrefix = 0;
-  sha512.run = "108bbd3b697c6360024867dc6ce9cd4b21d9752b3ac24676eb463e6a8b458edbea2fc66ab8b1ccae0140b84feedd776dd7a121a11a6e4c634a446e7fdba1a74d";
-  sha512.doc = "a31da319db2a310181cd548aad12ebf50b75213d504f2da3b70d728b1b67183249a4addda8d5cf49d7e390cfa6ca3c50815d2e27365ff5553c505f294763074d";
-  sha512.source = "0dd2279e5574f4ad249b35428575e04d10cf694d556ad3cdacd6a2f1e84318a60b1851df766e12c8696b5dbfb3c4de0198f972ba43203cb7696c196b9216c685";
+  sha512.run = "8a9e832e988da76ca26d87ab54438048d3d76cf02027ac9120d1277096d2495ece671607d32182cc5f9a61032b1ec33695f6592796680aaba0b65c142aa8a43a";
+  sha512.doc = "a8d43e73b4ab86378c5e3d2b402298580dfaf19afcce509ffa8ac747d68627c21b58020dd823528073240e1a28a2178157f9752d587286a0168fc3047cacd0cd";
+  sha512.source = "2e0fe9724a55daefdc3196fc2934d3551b4e738be4d6940a25a091c173f220f2853b077e5534ac20f868954e360e547fbc7d622507d227b8cb0bf7e074e57f48";
   hasRunfiles = true;
   version = "1.0c";
 };
 "babel-scottish" = {
   stripPrefix = 0;
-  sha512.run = "9ea3dee7091ace2111a1027cb0b7850849a130424a1ab9bb4f200ab851d1f159e48ffbae1d3fb7f1f0e95625fb5eeda7de20c6da260f47e59b71973e383e3d7b";
-  sha512.doc = "a722bea00816dd00017e031076a95a1a0a3e43dd91e963695d4a449db952a4b6fe26f1914aafe328009debd0fec42857b48e0fa30881c66ef44004703691cb6d";
-  sha512.source = "10ce9fa220924b731571b9db347145b0d677445ff44c2c91fc3bc8ab69df7e4e7420cdc7a84d04513fa89f0dd2f2d32b6a63cc1bf43e8c6066a0d197cafebd01";
+  sha512.run = "a2c708d9e116933fd00619fa8d89e30aecccbfe162c96eac22055bc442276863e8957481787d94a75507c2662ff4fcd13760b454d12b811dc4659205cdf5825b";
+  sha512.doc = "b32687935329933a733d239a58d7cbb7c4721c4fe37c703891547c2e6e82503235a0420890a9f025cb81a5c86148bd5ac2301da20d538781fa6f2831939c8009";
+  sha512.source = "8ec0b8a65d433f978db671a344ff22263929c96b742ab7c11c0b47eb2e2f2d652064fefb4a19cc3f91a95cf0abe3450574a3381917fbd239be1bc89d002f99e2";
   hasRunfiles = true;
   version = "1.0g";
 };
 "babel-serbian" = {
   stripPrefix = 0;
-  sha512.run = "b394b7c7d53c75565000e1db85e90062980c17232570f87d38bd1e97a9525a8f06c93a57f0e5fe81209bcb91d77ead105e8f9a55a82b7661f8315dcf0538ff26";
-  sha512.doc = "1ee9f80fca3e14b25c109f18e1353ca83b05667a5d7773c3aa58e48d169f9cd82b7f757492c9b6a67544aef9048cfca75acb182da2aec5e727029c42ffcaf637";
-  sha512.source = "46186a6e9204b9d17432420a2059c8be769c3520581c92fe7033307371c3590cd4587e8e1fa2252826b6ff98985725ee0e3e1a266381fae1f5539a51a12174d3";
+  sha512.run = "5c048c0d2e04820ebd3cd22808f3c960e43dc715d9425ad0369a47cf38086f3995b4dbca491f05a4cc1e952a1c237bc6f0af9d4758ab970de31494cd45ab264f";
+  sha512.doc = "47bacc3ece71805524b057ff53b1acfb99a84920aa0ee0a7ac2c059f2cbcbeaa1b40c99d93fd3177dcb3a5910b71679da5c0a25618d3c7222ad2718d839bc5d7";
+  sha512.source = "33aca6ddf3454dce1978348f68e64492aa5993c60ab0d8e7fc8b448c121aebf5d8b0b0038e56aa7d370e8b7d18d5c40a3043950b73a2a7fbcb989de77f9dc853";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "2.0";
 };
 "babel-serbianc" = {
   stripPrefix = 0;
-  sha512.run = "8355b21d91ad71c6a9fcfb565efec198a87926a930fba718e2d9a5f98bd48c898e5f2c9c2f0e7daae2b3f97f6aee0452e542469e06955341919e362775942f12";
-  sha512.doc = "6632d26fe0010c2dd573693ba2bc623f503da78bb272de1872b309385ea0f6aa9d2915a9bf52933816b54b9eeb68abbd01b97246db9ddba8f8678e6ce0cb4c21";
-  sha512.source = "ff5fadcafcde3f64967bf05a9d5d629247ae465d85d78212874917100f7a81fba5a1add8a569c0b0654edbc591881d3a7fbc6d6ff36209aed850b49c3a911f4c";
+  sha512.run = "bcf0ff70ccdcd6f3e74ac54ab0acd0f5d804b7d7e91c86524242fd75423be3648b09d878f001c91417b3182fdaa6ac4d4836e71668e97c1eb124df9f13b82e45";
+  sha512.doc = "a43cbfd660bf909b90cd135589285ac66bae3655d00869571fbe76cc7016b45eb9899ab76606bcaf25b065074f78baa5d698dc196d1b302d2103103bc35ed0d9";
+  sha512.source = "0eb121cc4eb9527884a39f0c8ab2977f39889f4d41439039f914a7faf7d2cee85b8b001592df2945b41c3cd2b5f2e03a1feae78db1b06c0cebdbb27f83f5a8fe";
   hasRunfiles = true;
   version = "3.0";
 };
 "babel-slovak" = {
   stripPrefix = 0;
-  sha512.run = "68991518af41e5129508184a5e2aa521693ee2dfcb246d2a20560ceb476209bc6deb722c2b8906c1a57623e3e46a0e44e2db18bfb4024359fceb1abac9a6eb5c";
-  sha512.doc = "c9caf3a5d74f8bd6f5008cce2ac301bea4c2d95936c9e9cb44bd5e39943e29eb6d8e2f8b5fd4780d9f8fa9b6a53d6e9d5c885daa1fd5afdc3cb94d13935691c6";
-  sha512.source = "ac14b57cf606d57555932f8071a0b4b9222c51901c8d1393e161913fd39c55c40bc5f7e66af83b20f1db3f7078f9a6a606c380eb7ac5691dc685c33190a3ae6c";
+  sha512.run = "b14b98d2cb66a3f8f5d8a313d9208a700d1c3664a5bd23f5baf0d9aa2e3acf3891a0536871988e7579020570999ea05a9dcd60a404cd6670e3c1cf8110d9094e";
+  sha512.doc = "da1d663125b913e3480ad147ac1f5c1befa00110e71bbd2d42384db03fe0f0db3133b49e26d1a336b49c10018990763d42ef49b64440c9138d9d938057ac90e0";
+  sha512.source = "1668ed3f373e58ee9a507637ed4c17638fc429a30ad6087c7f153f8fa23103c0a93c0c0beec73380d41925ef1ebf25ac214f1afc95793edad65545256e6ce5d8";
   hasRunfiles = true;
   version = "3.1a";
 };
 "babel-slovenian" = {
   stripPrefix = 0;
-  sha512.run = "3990eaa8c9a3aa02bf5fac5f29ceda27da7914e31c4ccf4c62688d7c6da9ae46b139ab0ac3f7cf19121010cb58e719b31666ed2bd5d102d72bc811160221f8ed";
-  sha512.doc = "6eec06765d55061528ff6eae6f640201e3f3aa35b508665712dea0ff0049dc31df80bafbcf99bfb9e8eeda6b9a29fcf40005eff4f3bc9c06b1e48f3d7a5bbd72";
-  sha512.source = "7721f4efe7e6ad28315bc946d3a57c973d1359f45c519a811a16875ab3daf0a31006295f6d2cae436404b1cbc1c0e2f53d19aeacd297db5d5758644d5eeaefeb";
+  sha512.run = "0293242dac7cfa3aafca92ade6b065522872ee7561d9b465d42a846121c3387e710f06e330461d9d4347c9dccb2be3885050847f8fd721a3c3dcad3ec2715ad8";
+  sha512.doc = "5e5bcc2a71e4258ccbe3f094f19c782512c70796886c94abe2254e3fc376cfbd1c13115f42da1828f16dcae4e0b95075e9510fe42879f6a116105190fcab70c1";
+  sha512.source = "5c4cc055c76d898c8bd11e061658e8f8ecf165f9571efb0340ae1a828d65eea6e071210bbbab1a15c6825e10e1a8b187ce8717e7c32a328bccb4f427cb03a493";
   hasRunfiles = true;
   version = "1.2i";
 };
 "babel-sorbian" = {
   stripPrefix = 0;
-  sha512.run = "d826c0f2e63d2c3f62821ab6a49f7975b7837abf53d7c478440dc044133858575d3370e0801f425f96821a45163d68006be670f7f56353e4545cb1457d57a882";
-  sha512.doc = "6ec3201b0eea33a211fb35e685f941702d8e5a9447a566b81aa51715c944bc570c6602bbb29f1df72a7758cc52edd6ce6fed55d052bde99b5a4b9c2cabae4429";
-  sha512.source = "f3eea1b7b46812bb15d6c845b4beca5e635b248d2cc2557a3310a718d01d842aee2b07670a6b3dbd250e9b37f8eb48f65de11d45121f561e794e74e0390e0e34";
+  sha512.run = "1c76a622852d0354112805a1db3b2ed6ac23656a754e2909c4bfceb0ab84db201f18d37d8c9fce527ea52fc4c2b302ff943353ec4cd5ab45da76dd4755a09be3";
+  sha512.doc = "f79448d484de1fb95394dd28c833661d6c9a686148b544fe28a60af17ffb50d36902d4b7b8b62772466d7588dfedf31e772d0ce5b32270732d0d2453dc7d0fd8";
+  sha512.source = "736c15e75d097f9475da38d80c495b28af4457736534092759750cffd2fed2ea54fbb4bcec656666f13cc2d61e82af59ea0ae665e30f73b251eb4fb35d44a8e3";
   hasRunfiles = true;
   version = "lower_sorbian1.0g_upper1.0k";
 };
 "babel-spanglish" = {
   stripPrefix = 0;
-  sha512.run = "7da00849d424388caa98d0b4163e862ae425aca8dc16e093077f09e38a758994c78c1dfe58c980431e0787e05a7df334b69acf7d194da2071fa1506dfc8fad75";
-  sha512.doc = "89649fa7c2e0fc23e441c46bd39ec98dd22dc9e608b386809199aaab52f961da9d62235a7311323634cfde85a53172dba404f80f622c7881838e98a1289b4e81";
+  sha512.run = "17fa7078d6bd54fff6c73677536dec46960703e14536c4a4476dc46a8586678b117e71058f665cbbf850a269cae841511807c6647251e088111262d9f2c4bef1";
+  sha512.doc = "43cf66e656d965bb80e294a5e2786b412e79eb1ac6542a4a3788fde7cc6874e168cff30676c3bfe90c5bb67dc4452769dece84508fe999529d54bde40be5a5c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "babel-spanish" = {
   stripPrefix = 0;
-  sha512.run = "f43db6edfbe7e3eec76b3b140c70be099c682261f50c879aad4718bf1ea6dbce2c4f5889506e4d344ad60f35a8f7885a9f47f8da4e5d180136d3955793ab9e14";
-  sha512.doc = "915254f46dd9959d497350a9ada3e06f9c3c6dce34e9755c6e73aa8b45ce1751f3c3bdedc3974f6b20fd20bd5e8868910af54af7f52ab997f124e1b892e107e9";
-  sha512.source = "e628793882dd0396f58edb3814033dc924700502984386e277f087a149c2d7337c856f13e6e454d12dad2459666f17caf2514569d9db347d478f05f7877a8118";
+  sha512.run = "3a80652d28b1a80ab83c49b0694cd88a236b6420f51c084e4eb24c5ea57a3359f15a05c7cc99118b303f199703749dd724cd5ad30035b9bde7b9f95f2bd34d46";
+  sha512.doc = "8e6a424ec3caa8ff9b6d6f0695e54340dfa4fe61c4bdb46e5579ac768894f906458d594869e8d02bff9c7aeb47e75a7233367fcd6525f2a4815d211528552ebb";
+  sha512.source = "1eb97589d5495a46ca98774adc0d1e58da3a103e43ee3a38abb46708529af9a9d2414b7f81882c45b0a20bfa53114e39368c6142d2f6bbc19306d4c2249cddc8";
   hasRunfiles = true;
   version = "5.0p";
 };
 "babel-swedish" = {
   stripPrefix = 0;
-  sha512.run = "f854d29e63ee15a9e57b44da411ec321c895702809234f045fe583a59eb3ad48de4be7d3008c574b71d44c67d599074beddffc8ccf3c9161d2ac832f6dc6940c";
-  sha512.doc = "a0ad2f2f5044ee3b26bf6c93f264faa459131d132b0107834faca2e6c8a8bd3b1f591ad84f1f923c55a42545ff4a128c6a0c1261ad2fec0b7e57683d195f7f2c";
-  sha512.source = "cdc6733978fa2cd0f264924465de81d3f51d03b6b21a2100bf88c570d664f942d6e47c8ca346267fe4858467a48fe8eed8054428a62183a468b147a9da60210b";
+  sha512.run = "46dbacd9ed25d6eba7a8f5a26a28c40f5c77cbdf4140e3a6ceac1b34a8afdc95626200ea0a6775c3f00b8aa7ae5b7772144e7ef8d0e409531b5bb74e01a90278";
+  sha512.doc = "2c3f738b347fb8a4c6dc3917c840de294f21e544ef995770099eb6d779995ba32ea1a1adc8def7a883bc983a4cf85268628e623aaff44c9be653fe55d901d452";
+  sha512.source = "44c4ae33b5d6824fddaa77142c55016473ac2b4520ba17e504854d7893c3b9fd317dd67149b4cb005311b7fd0daa86630e5ef83c903f69facbf667c993f6a59d";
   hasRunfiles = true;
   version = "2.3d";
 };
 "babel-thai" = {
   stripPrefix = 0;
-  sha512.run = "808c661be0ddab328edd5e42e5b2c76203477b9bc2d3897ea2c7ca6ed8c6b5fa40d03c106b86167f1fdfb105ddaa7600e1cf27078d72d2c372b7333cad7ceb5b";
-  sha512.doc = "f617b1f178e91fb34526be171e9e9b71d2d797d328c068e789f1a4683fccd038b9307ea80e41ad4391f9c97bbbdf011783f6957d7957741a6d583113b6161d61";
-  sha512.source = "e93d1ca814efce84403b78b0e0e68a0cf94b747455f27399791bbc7e833fc0e65c36edb277b59c95479fd6a2652911814ac039231833d75e3f47d743af18c4eb";
+  sha512.run = "4e3e5c6d8944040177a21f04e63bd40e85c24e9327eeddfe98072da38590c58523f676fd7532e4e00d0e3cc88121a2885788d606d2dc9ca02fd91c7f04a6ef57";
+  sha512.doc = "791539a57534c4870a81ec2318298b29e9e9ad925161b0a4cf52c49086a865d5b58b60da10829a5fb37e66f0d161b396beb127e586457c556875f1205fac9360";
+  sha512.source = "db43b9422d95579f9bec645671e5c0ba654ce2d7ca89c3e98b6d910f6546a30b29656aa7061d03b767aca6eb2a01b001613a8b619d597bb9053a8a0df3376b6f";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "babel-turkish" = {
   stripPrefix = 0;
-  sha512.run = "4bc8f55f4438befca4043ac7dd53c89a055acbc083da37ef0c4097a3f68ea61d83daa815bed797e51af822c37a00148b51e69ffe59a64424bfa920cb4116614c";
-  sha512.doc = "f59a50442ed18462c75381bc315ce319d4edd1ff3fcdf883079db79c359e7e9542a5e98082c2af3c9e80a9d22b533c5647b87ad1877232729cb990b5a86b9adb";
-  sha512.source = "a2110e30dbe04bb1cb16e4cd5e594efc32d7b95d6c80a894659a2040c6db9959306bb98ae4747818e520b275386d1aaeb6df1b036541abdb4b529e76d0862d97";
+  sha512.run = "02916936992e00e7aa884b46b6f786dd0fe5a0aaa6e2c6c4e28fe72de7fe5260fca7cdd37efc4a775a8d172e3993c98df7cec3d1ad08f01487f7cb0c8f2d179a";
+  sha512.doc = "06931a6b9987a7affd4632ea5cc79028a2a88c584523c03ce79c2a15268947fb1103137da158886c7957e0a7c938ca69c1c5c7d88104c892cae611c914f6fb93";
+  sha512.source = "54f3c4bf5063c571be3ae2ecd7c86882cfac940ab942e66fbb18346a4ab1e266b716d276294dc6c622b3ffb0b86cdecd70411314b334be491d0ff56604d0ead0";
   hasRunfiles = true;
-  version = "1.3b";
+  version = "1.4";
 };
 "babel-ukrainian" = {
   stripPrefix = 0;
-  sha512.run = "268bc96bc7ab74e88bedf8d939a4f0a5b465b8cc5e855b89606b17e43d2f4be9895b416936ff3549b7d69957c26cad7532ad59ffe4830a1a236a4800792746f3";
-  sha512.doc = "d88588d7f3ad660cdff0ef2ce45999738dfc420223ec800ba409c35e40abe44f9c64816847ec6b70ea6a9646bb935cc2af1b2deeb7cf075f70f1f6e0903b48c1";
-  sha512.source = "8fe0530a469e7b90aabd3ca9bb54bcc2467ef556266b71ac1b10b2e4d3ea3a1caa999d30998cbb7ecec3dd8f6a6e62a1249cdb45b7f0834177833f316224f2a9";
+  sha512.run = "6729384e1029580ee8ff2337508cb5998e8a385de25da4d5969341869f22f17180b03a98a403b583ac5b7a965c2a07d5c96b0aff1b93b82cdcb549b4915ceb4e";
+  sha512.doc = "f36acbe23a159e2a9547d7cd5b64d529c49a35353f5a84082a303204f8a55f088f1beb0aa75d852595768a3ad10de34763329a22e2c87c5081ce2d6fa4076309";
+  sha512.source = "110d08aa4e84718e04223e4e4745a968c2bbf3d7f453430ee02eec57a96fe952046dc9101b95f90a7de84bf6a4dbd65e8697e1980f0d85eee84233554de31370";
   hasRunfiles = true;
   version = "1.4c";
 };
 "babel-vietnamese" = {
   stripPrefix = 0;
-  sha512.run = "1b94149dd0c655bea895e9b5d9612e4e644c362df8f12c22f0ec15de1415d66368987da1664582b29c861057b1c3d936aad794885d7725faf979498ce4fffc6f";
-  sha512.doc = "3837da2002026504d64a4608d927c68a164d1c23d566a7fbed239a1bcdfaaa2b2b0b4880c89071ae103d0ae8791e3528470b27bb94909077e5898a5b47e104e8";
-  sha512.source = "ecdbfebd4cd8b584e7cddcc2162293909835da23fb79121884b9618b064085755a6a1745ad826353a99557af18fa174959ac2f459ef2758f47400997c201bf02";
+  sha512.run = "ddb75c37017c1b0b6af2cfbdf574526cdfdce2099d599a23cc8ac819f6ebe5ea7a2eda4bd743af93d78835ca5dccb3d7fa55db22b3154862aa4affe83c28185f";
+  sha512.doc = "b078464ce848b24d692d4dded7c9827f37fdb4141b719c71e28b5ef0a827f9ea5c2137745f9689fcb89a486d4a88a94a043a62348e86b5736a68ea48c7f33e16";
+  sha512.source = "ffdf9a552fd79b1b51c0064ffef8f9dca1e618b41b0abebd2a22152e8f2bde04a9e35964250e8bd42912929d3e6d8dab6fa430ce302a1f28f27676015667d489";
   hasRunfiles = true;
   version = "1.4";
 };
 "babel-welsh" = {
   stripPrefix = 0;
-  sha512.run = "d81de0cc04575558c7b82bc1d43d4d2fcc21650a62d3b1274def42a22971ff071abf2374f8cf2cd31b0abdd81c28dfba8c83c6ba7199785b23d03b691d9ab418";
-  sha512.doc = "1a139f74de035bb00f40b411affd8a417bab5a80fa345463feb162920c6a322a3a9978071361762f599991fbeb092f1fcc283961da66ada5710f3dc78d74935e";
-  sha512.source = "2641b611ff311c894ac520bbcabd71ac8f3520a1ada966fd75f4e457cbbc721b9f19120751e055018c87b2550e7b61bfcc86b1de9b5e874267de4e0c6e020d2c";
+  sha512.run = "89526156517773131b5452f2cf5bf773f34b97b2e35e786f2bcd4dad512519766eded269539ada9d5c34d4b1f02d65bf55a0da0053e6bd7b7a3c66c606cfb60b";
+  sha512.doc = "cb0ff59d9c02bce3028f0025c07963d42856eb4e68f322b839ed1ea5f51abf372ea17fc695e7be4bf87f75b3d2b163f801102f469773a4474bd0d0a72a47376d";
+  sha512.source = "42c52ecdbb0b1de295800bece99804a481afffa2848a2146429b318f964e3a88dadfca9c020e9dec6bb3db1548ccfa79db3e66edf366a32fa83a1b6ba91e7fc1";
   hasRunfiles = true;
   version = "1.1a";
 };
 "babelbib" = {
   stripPrefix = 0;
-  sha512.run = "30f2c61fdcf0caa8d5fec88fe2d09ab2f47d6120b2560dc271110fe71288763cdc131f09433010bb256d98fd7507f5afcd29b9c8800edcea316377d5c7aa58ee";
-  sha512.doc = "adeb18ec220c01ec40e1221da48b0a4b3f8d936fb5926caa3a5817a2253351866df5003e6b8fcc9cab9201ae7fb055a2c7061f90cfb4191e6ef0aef772ed0797";
+  sha512.run = "70214f7a3e16c1fe4b3bfae479df63c10f9b654b34bd29abe3b4837b1a375b1a13077d0ba98e46a78ed702616bccac6aac3c70d422c85e37f462a376b2ee2589";
+  sha512.doc = "729fdb0bcc60929dffce6883db377e487a31610979d92f7be48e017a6f982298a9d113f06376bacbf2406a89fc1ce10cab86a43de3d92be8aeea7e3cb7cb9f98";
   hasRunfiles = true;
-  version = "1.31";
+  version = "1.32";
 };
 "background" = {
   stripPrefix = 0;
-  sha512.run = "60ad601d41453184c84e49d9c740885139f3bbf0ca83e706488e724721d783f811da2d29dc34de65869f0da16156f8a74c79620a2586e9e4bc6b1c30312a9f2e";
-  sha512.doc = "60897c0d682a3270feff7343bd21720337d659c62a09ca32cd9d180826b0f7f7bbb5dfd016a8d0ab635b9e92219fbd45c4884ec4980375105a605b1afcddb2b6";
-  sha512.source = "5c71fa311303e8cc6b1c8711aaf3115f2f3d1fbfd9b5c1a4008cb1a95ba44d5fa1146b9ec89b8dc4b5f7e1d70988173b66c5560c01dbd344f2dd334ea82ec990";
+  sha512.run = "e9fd9b5e680082aa3e9f0482ebe41a753088a1e61b85876a9685942172cb9d5b6c9819ac2d61e0274f988b46d4f962222ce0afeac2827630edc728125761f214";
+  sha512.doc = "518b0785e562fc6f01d6bba6cf7157c847faab151bcfe7840d5f2c9d8fc3ca54689beaa8698c92f24c196393fdbf90b027165be80e6cf07e9ee79ad8073d8533";
+  sha512.source = "36bddbbaf17dc15e72773400e75dac754a2eb60c106c7a6861226b6dd2a1955fc016810a10d5c90ff56b690be922affc0427c1cf3b5e5c1f334231bc8df69872";
   hasRunfiles = true;
   version = "2.1";
 };
 "backnaur" = {
   stripPrefix = 0;
-  sha512.run = "3b6c63887caee48b7033d25cd464783695d320baf42353bb5647ce0d37e5c729651a4914b5024940029ce272d788928cc8a8a8c1f81e9b1faf1876e825407cf5";
-  sha512.doc = "502c49cc6b63b173b55bc155c9d3425c7652fa0b999dc6c1f668e22c4114730817a3cc934381d3aa65ea3d8f729bba58c7a781d6d6331dac42524cbac36cac91";
-  sha512.source = "f583b1638c995a35bbc7a25c6428e680d8ca373f3b8fc53372769960a0c230083446262a35132ce6c42f8b34ebc4186061ea18ef9d05ef76fe08c6d64e695e99";
+  sha512.run = "82fe2e845a29562218dff5d685e9458f2230395fb66e73f658f137cbbcf0e423c9f91bb0ca78ee36a8e0eb4db157ebe13ac3f134dc819b1ded918ff0d1a7ee4d";
+  sha512.doc = "4d130cea9a46abbcd092d1e9fbe5d943847b207258119722d5f5ff36534cee77a1dc213938e48ad629977bb72c68de6eee2b4bf9c7afae14c10659cf1ca3f13c";
+  sha512.source = "2d4d7e0a3fc9e5a9e1dd105267b8cf1a5dd4e094413ae0dadef5fb65d9411c66f6c523c536af94888d49177d795f24b839f49238a25c2d863ef4b37e84de5135";
   hasRunfiles = true;
-  version = "1.1";
+  version = "3.1";
 };
 "baekmuk" = {
   stripPrefix = 0;
-  sha512.run = "30d2cbc01b712af19ba6f113e80a633539e8ed6c60a6c86c84e3d3ab5ad488206924f00b61b95692b95910ab32f824cf6ac13ee4fc42f1c654a87b77981c4b05";
-  sha512.doc = "980f35913396bb58e18b8779e6c3b4e93ec8be011f05bbaa087b081e66f5e234a65b1295af25da32e8680b053948c70ffa4e61c7060a879122afc361974fb869";
+  sha512.run = "e10fef8fcee389514d759d7b985df3e84d3459a357fc3b4b6bec5c3814aea175aa8f313ab63e6048e60cfa5fe1cb1ddc0ae0410801893ec0e7ff5eabd7283c9f";
+  sha512.doc = "0a69ee489e8ee9fea0fedd80bdbcc7a13505b5e3cc12fae3d56e09a852bc54eb0e64ba73f4c085e5286fb048114eb81aacc2aa34b27d72b4a72b966e188d78c5";
   hasRunfiles = true;
   version = "2.2";
 };
 "bagpipe" = {
   stripPrefix = 0;
-  sha512.run = "07a8097e2533484684c3bb6c2882761fa464ff33ac99145845948d1ed9b22a7b1d9001a6ab4e392a67f32b68a09b025f4af93d0ee7fdd49c2a7235a2c035100c";
-  sha512.doc = "572227611895d1b2cea0ed755da62f7c3a581b58ec33c04973dda55ceacc3aceeb32cfe264334fdc7cc35285a35d87f20c65099461354c84cb02c524c159eb36";
+  sha512.run = "7d815e23e9b5d686e0df54c4a0ad51c85360c7b3879695977fb9be2b69cb343e1c9043c2595ac5554e87e0a568b2441bd16a43b334af4b43e5302eba19bc33d8";
+  sha512.doc = "696047cc4965a06388a61232af9336f2010fdb0b869914cf66ac9b052d1efd85ff05119a277aa127cf05f56e03b63060956c7c284df78e93b0f0beabd691d33a";
   hasRunfiles = true;
   version = "3.02";
 };
 "bangorcsthesis" = {
   stripPrefix = 0;
-  sha512.run = "98adce75d689996fd56e9ae2622704cd7380a1968c8f55af85c5dc48657d4eebdb6de798836c1602af7d5e0f1ffb66ebe7dcad26d06bbef73e40c21eb82d2278";
-  sha512.doc = "05126e3b23cc393de48133af0e8c26a999656d9edda5a4b996753c2f45f288ba7616687edaea43fe974bd343b43532622563f08eeefda421e8fb55b293c24100";
-  sha512.source = "c44364d12ea0e50f4b6954d2b94425b8c8109e3b9da1ce32d5322621a29be1a6e59f7e400d183a274491bc36bb63359262cb4b1407ea49f71542ce3ac42c77f1";
+  sha512.run = "3d8dd2648361f74ec6af8727f0895ad1e1008ce0e8612d879634b196d5e4cdadff20e33e60e27d9812d7b6fe3762026ee46139f3ade3a3a3cd5d27a941355a62";
+  sha512.doc = "97c98bb791018631b7c5bb282aa3585ae68ab1d2d81f56e1be91ad92d6dead30885c478856f59651b533590eca2f80e3596d09f0277ea6dbd6ec44b97ed64fb9";
+  sha512.source = "b48f9e854297a3effe72c3e4f5b26d1a48b5023b25691727ab6c735379a092f8a6ce1b7dee1eb87b5cdc10866591b35c83df579147d3ecf36e6a27356d50381c";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "bangorexam" = {
   stripPrefix = 0;
-  sha512.run = "b44f83a28849713b5430373b5c88a112b5db06fbde67f87765b891645809d35c6de5f3863a9db314c4cf5574b8d5e10378c1fa79c54766b1ba7139ba93155dce";
-  sha512.doc = "301b77bcbd7b703d3afcf92b2088c5b29a42884c65f65e32ec50eec1e29d5c72e4ab7a0acfde055220469e837682368d4594a2c752470e568002d40daad43ae1";
-  sha512.source = "4e9fff8d48ffd910326bfab750933e859fa5dbd8283d9e4fac688dc6200a1b4b1077b8958474e6cc9f1b56364d9aada3d42ab59f6fd3b8baeb3105e73c15d034";
+  sha512.run = "9da594fb6d8dec3727dc5e437923c225aff392250c42566972a6998a4709e1853e6b7399ce64e8cbb7408a422631ee61229cc97001343ac8acee7d5c0fd20847";
+  sha512.doc = "576b991d414d9a8b481dd2d76a4ba74af9db70ae720d9b81f16cb2cfd887d8a09c2bd601bf7711ec77073909aa61470f2cdd7573457ea2ed25f9e316417da9ac";
+  sha512.source = "22732c47f60e2145ba850a60afc15cc926e57ff27a9234d84cf647ae83c8b783cd8023bb419f576dbba1f5e49de95416f98639440d6001525eac3cbd4fe8ab41";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "bangtex" = {
   stripPrefix = 0;
-  sha512.run = "fc2f8256734fd7c2fe500568993279379ae4c3bb46aa86ea3289febeb5e1c34bc86f553b353d841623711ce08378c468a3701ac35143c551cccb47bd230b23a0";
-  sha512.doc = "95531a59c5a039b0ec051f091aee686a58e2884f40109f113cb3f3dfe2654fbfd8f4184d34adb3f292b1d5db7f2edc9bfb919336cfb317715464a7ec6c8a9f81";
+  sha512.run = "e64473076f23f537a3d543aa325b159b6f7c050b626e880628bfa76a705dbbc57dd6dbc1418b4fe0124e90ec4922e90800b42d5f636ed910590fb060e119d962";
+  sha512.doc = "ccbcc6e4739001b6306dc6559f76f577310e73e515aef27ad39c08e770a9eef54a6cd162343aac83ef3530758b3d7dd4c19b1bf5718a86fd321189ea58a786f4";
   hasRunfiles = true;
 };
 "bankstatement" = {
   stripPrefix = 0;
-  sha512.run = "d234d762e00d7fb86f00d1b66ac2f5c2e5f73f4f5f0fa6233942263e1b3ce4e10c75a11d9382e95cab9b4f9a9505976d42a9bc39337a0343a4d3dc8b1ca78c45";
-  sha512.doc = "97957a40e7962199b9d59a4607ecbbf116eaac5e8da74bc941171bdc60ce89060b69d0c9c3420cd0bb864fe8e7cc17c95f3134f22933690ae6dcbb30024637c4";
+  sha512.run = "c388a06b1527fe131dd56813303ca727c035f2023b25426e8aae7387867afa0425e4f739c2698b30af97737557c068b94741dce51f8df573c29c14e4cc4f02c0";
+  sha512.doc = "5290904ce0aab9e4e098fb4625c8a0cb5c728769faef312267131eedbee937e1d964a561b2c001c38131ff93c9083db46275d693431b2447267edaae19c296f9";
   hasRunfiles = true;
   version = "0.9.2";
 };
 "barcodes" = {
   stripPrefix = 0;
-  sha512.run = "afc30b9f9bf7c3a8ab68f764e276fe3047776b8a64e39df0c38751cfbbb6c0109f96c5ed891a41cdfb23c88853063a3005f45cd0454276c0a68d6bc00d22c39e";
-  sha512.doc = "0705fc0795185cb820d572ad4a93fe3a7603049a07658e6e0a6001258b82421b14985622cc09523e9d6815579df342d75cc0186a79e8944a59ff5197cd39c89e";
-  sha512.source = "eea53b554bbff58d167b8321db082f7f4aa7a27072f65e7ec5cffbd7fff933f2fc5fd74fe652bbcf8d725dafdfb8e90c658b8e32034d8f55b50a8d1cc04b218e";
+  sha512.run = "e4b9f432d4464da19d279d8e7a5c2ccbd6dbba27fd175bbe7385c0f34199955c16427fc7bf6b487cad1da0b2e28b94d44267a0042e811fc73a88661f3d312b91";
+  sha512.doc = "2054d8b87084bbdccdea4a2c05c43b427249d597880b3870fffb98bcf0bf88adf64c9110e3ff98d1755596d559ab548a464a2d681eb1adbaf57cc748424e0d98";
+  sha512.source = "9b72c54e083622b95df17e643a6466125a22fb62e3ebc64c3b0f5304253ba5625f0ce2e0071dfc4e06643259b4d7b575a1bae5bc6beb213e5bdd3e83074ba9d9";
   hasRunfiles = true;
 };
 "bardiag" = {
   stripPrefix = 0;
-  sha512.run = "9f8959c543be3cf5e01f9c24b6b6dfc97933b01c3ce6e690451eaacafe6623a6158f309dd11461df29f6ce80c153e6fed04000a34de6aa6e0da45d6c4d496628";
-  sha512.doc = "2a67c66dedd84065fcbe2fc7765a1de8c0d8b564ec48503dd83b6425e80661a28e43fa1b37f4bc80d2b8bfe16d8fd1f1cd8ed01a27e13f0fe730fe7d7cb8d8c1";
+  sha512.run = "dad9b5a50e5a82ed0285fb36c609c4302f7b22daf71c159848788d8c7c91c19dd44398e98357dd58366cd97140e943540d05b6e1c9937124a40c4b4070065a1a";
+  sha512.doc = "54fcfb2473c6ece46ec2b01853c89046c7f5396e97f62b9175cedaf4b1e783285c7c417700c827a7b9fefe5055b10723ce278e5fff0e864434f84020472c1cd8";
   hasRunfiles = true;
   version = "0.4a";
 };
 "barr" = {
   stripPrefix = 0;
-  sha512.run = "70f069eccff7a481c25455e3e21e7c8da40c458bf43c585954f6604896da01b6733f695e83aa76106afc93da5e98ce3e7dfdb0275ed8496404a33e8b458d1d5c";
-  sha512.doc = "bce2e2ee497d7b07aac79603fb973171e107594cb4d07cb7cd3d595af5cd93cf475f23667d911fcca8b4a16d9a63247a108f74481d04dfa4555f99392a1f5b81";
+  sha512.run = "6bd398efda5027e3b762b817ce777adb9bb1c8e593ca04386adedeab7dc26ba382058ccfa3c281ef8612fcc50c9b719e7f881dcde0cfec041cf4b2cd05f238f8";
+  sha512.doc = "6600ecadc60fdd00e4d894969a84118265b5c5d07e9a411d3f01887fd1e94c481b117cbda80451774294dbb989a61379b16fe3ba5c3b8363a9a2485b76752aed";
   hasRunfiles = true;
 };
 "bartel-chess-fonts" = {
   stripPrefix = 0;
-  sha512.run = "f9cc61238764fd6e7212d2e07d5a4c9f7191dcac1760fa1ee3648d578516b8dc549ed1ab6e851907d43b6a20250bd5f92d86cff1988ad43cfb6e2d12923d648b";
-  sha512.doc = "edd8aa713fa84382e04016edd9b4e5e9c4c402754966d4cf9b5f1f2520fcf1bcf1a9323fc53262955abc658000214f8cd271175ee8f19139d5b40c84552c0288";
+  sha512.run = "33c52620d32f5e79a702bb664cfcb47409faa049dbf7f34cc5816005b4667267810fab130e3aee1ff7a7e3292af37c2d376c01dd2bbf17be199a22cc36ba751f";
+  sha512.doc = "e61232eed7f345e28796192d836af9de29bda257fb85460f67a89bbdfd7dce01b8361962b7cccf314311c0e772e69367f2921ad898c106389195164b6c925ffc";
   hasRunfiles = true;
 };
 "bashful" = {
   stripPrefix = 0;
-  sha512.run = "d2e6228b312d6ecbe34caf9576cfd54aa550eb02ecd2d2135c7686629d45f0188bbb683f781980acc81d2d9f9892f3eb535c200bfc5802655330dba5eb4458bf";
-  sha512.doc = "0b19be7b0cd9f20df9a74670f7ab07154214dafcd4f23ecbfe790a1e5bdc98ba3b6f4573c93ad68cd5d9a4e5507b9c3fdc1c63486fe04547cd3010376f7bd203";
+  sha512.run = "b46abbc1622fcc15d65981368d5c8a7528f2142d722604eb028e0cc364d6e908587cb58a340283e7afa43581ce365ac7a545bef65d1cb5e273e777467231c40d";
+  sha512.doc = "5017fef7ad1c67f33cc881a94f75cce97d422b047d8944dbff377b1f3f3d36025b7b73c76ba2ed96bf06b0c6e9c3e99b97ecf36e2ec8ab8b7e1893dc11f201f2";
   hasRunfiles = true;
   version = "0.93";
 };
 "basicarith" = {
   stripPrefix = 0;
-  sha512.run = "6070aec3237f987ac02dd280b501a796483fd1ae544a97b6fc2d5a21aac25359438548471273cadf76105440bde6314452cc882a866e8dadf1143d7098c74bbd";
-  sha512.doc = "a9ebb74b859ae55ae56c488c485a1136d026b42c2635bef056df8cb2bb382607c832e14f9006274b8b6aced6a7813483d465a213bc861340ed8b0fdb08ddbb77";
-  sha512.source = "446938a7e19aee8fa0b08798803fd504d5656e5344a20fada00bddc740f0ade13626f9e00991106f381253e09194e4a628940189f2864855a4ed664fd6300092";
+  sha512.run = "346edf1704ed621a326e4f945b8f5341dfbd2d46af095691c7b853a9683dfb2254d443ae04bf235f192a57dd55336dd50249b0963bde041120468499e61012b7";
+  sha512.doc = "bf454539b0202321121437d2448c3b49a2d6122459af4788a573cc2525f0301d1267b12f3df8636a36fe807c474cb23347a41a2c412eb12b674c58541516ade2";
+  sha512.source = "6c8b449cd8f356be6403a48943d6b91cf2c2dcff90020041a8dde0fb8ad1fa598727137dfda0b091ee776c968d4dffdad1215716111a36be16cc5c5e5b2cc5e6";
   hasRunfiles = true;
   version = "1.1";
 };
 "baskervald" = {
   stripPrefix = 0;
-  sha512.run = "2873a84d59787a70e1bd1efddef2d0a97c0f2337f232d40049ef2505f3212c0ab730b573f066436d302a599bc0a33aa98683989874085a934417963a1594a614";
-  sha512.doc = "3b1606288944dda29ebc6c98119358e8d2f2903d0b90ce9361dd2f8801e26845e700d7d5ad908b32b5a814a40aec5f5bfe0ac1284c1aa249946c947f63a4963d";
-  sha512.source = "fedee67f5b6a20a0d00578666624eb00c62fcc4cdbae100157bb803eae21a905da693b770b87509ac438ce266d38b5d6d5e22f419032270542cce1f392ed36a8";
+  sha512.run = "3c0451c43f81396038c3ccff2b4a9b07bf31023fa7afafd2884506928dffc8a9345ff0b8c8114f20b3016026f4532ab138a8b4787a37811501659a0f53c98941";
+  sha512.doc = "e9e2c8749e29351b59690027b019da441de5c74068aa5a8457e3014c751fb23dddb0e8b94bf56529879086ea8c58e023a23b85ed9bbaece10f6dcc65ddcf3ff6";
+  sha512.source = "60122d6a04e88fecd4c6baae3a657f40bbfd48895cc674e95ee9e2b3f9172e01d009064a616f2d7b3f48c41d43f75efda19c3ca54feee612f1866fe64eef366e";
   hasRunfiles = true;
   version = "1.016";
 };
 "baskervaldx" = {
   stripPrefix = 0;
-  sha512.run = "20029eadc9603ef9162ad91e9b91434f573a43365f2620e9f7478941d045c801fada6a4deb0a9fbec97240899720555404b228a25e96a773168dee2e4739906f";
-  sha512.doc = "4699da375e5671ced04bf4fd7c17f45aad045ed21e99e9b310fcd5541ce0043e899aa9341d4fa2355fe8c25125112ec7d5f6270968803ad60a4a9e0d7b190e05";
+  sha512.run = "e3d0d7c0329c170f2b88a9696b96bb7e19b51470030a039eba34f6bf90f033ef6805bca13227415dd69a636ccf0eb5b45527597128bc412ac9ae9415deea1e78";
+  sha512.doc = "442a8f29795b3af8022e0a4753807e1f2060f53e06257d5198e8e23cd7615a20869a90eb7f50649c4773fa2d72faaa038c579738b3c5f3ba47c796b00afe1720";
   hasRunfiles = true;
   version = "1.072";
 };
 "baskervillef" = {
   stripPrefix = 0;
-  sha512.run = "f3f229ca6a4e4d3da5d430045a717067d7881d733779558940b6447f2e28170f2db19d41890a1a143583093757f022017490aaf6fc9c53cf02badd32dace066d";
-  sha512.doc = "0e61fad84fec4013020029d53a8c2308ca9afaf1cf5d4e1f5ac7669774dbc2de61797bed24619f50a3fed3547893316595663bee2f90fa271bb31b889e96bf7e";
+  sha512.run = "ee8de6accb53b62908a025fea331a07570bbb016c7904fd700ba9ed584e482dd993ab04b7fbf8e6517d3a573cea1b6a055d3b3ea7ad03eedad2fe14aa8893191";
+  sha512.doc = "942d3d68e79cf65cffbc73ac225a6020655bce8af27d616de784747225cd6de51ca606963daa55fc698c6dd989ce12ff1a0103ba3b9391ed6aa2edadadead829";
   hasRunfiles = true;
-  version = "1.046";
+  version = "1.047";
 };
 "basque-book" = {
   stripPrefix = 0;
-  sha512.run = "52a930d44a3b04678e6e12632e5490358922bf86e34865844fa016634eb117911eb90554dfab440113dcc30fd0531fd4a3aa81f1a54aa676e7fb806516156902";
-  sha512.doc = "95414a1445561ecd1a034264e052c607eeeb67ba6250f73a3b3a10adc99f917fd837fd352dbd6f9722be3506b109c1e151cbcb614ddaa774d3856029b71c1582";
-  sha512.source = "f0bfcd5824aad22dbe3ebc80a486fbb118c327794d626c9c72a063609a691a812b88a384494fdec04029bc508a45b4eb939fc45f51c06a17bf114c18b4ee98ed";
+  sha512.run = "645d55362506a1bcf563a12ddb7616f085d5cc75a45cb2f0dcdf551158b48f595cd71278caf9a0c35f1d85ca66b880e6f59f9ee416fb9bf15cd7c18bf6fda2b9";
+  sha512.doc = "7954b1c86ddac3a1409bf16cc7db5470332fb86459257756200dc794a3443b137e6013a7e904bbf63e8fceae64850418e56ad08af12a448c1fe507e29221c7be";
+  sha512.source = "4b8a2ac7320d04d5e35a0c789e5b548582ef4e0723ca45231250b44ab08fb52a73e88f5425218ecdc3e3d35e01042b64c711ad78aaef0c4f119ebd1abc4dc36f";
   hasRunfiles = true;
   version = "1.20";
 };
 "basque-date" = {
   stripPrefix = 0;
-  sha512.run = "7509dac457025d02dc8ad8ae31d45709155ba20dc7562d7516cc76753ca20975e4766029cbb843f651fd8f0e55f0a90269539eef73584deb96902405980782bb";
-  sha512.doc = "9f06128bc0957a32004ff886a2ab2d90edd507db7654cc671b140e7e3145f2278caa14e40d9149dfa8bbd2fa59aec4f2ae122d03d4eb3706e969b46699a190a7";
-  sha512.source = "80560c5a4215a55a62513585f258da5e6d0630b4295d1ac98d2eff51ef9eb19e29c483071528890421fc9fdbb0c0c3c54bc7b14f1eb8b82855e02763e188a9ee";
+  sha512.run = "2f0cdfa78c3b75dddc5ab9ed15f651308dad4e598f9623eea50929c48d6f15318f768b95d55ba124eb048129447ce1e629febbb3fa6925677b2a46ac94d82654";
+  sha512.doc = "249bfaabe93c4306c32c698eede8835cac334a27802253dc6ce1f380eaafa5c79fc3b86ee34ddd7b98df043cc0ccec137ae3d342cd3904f39203b0ffba2fc9b7";
+  sha512.source = "f38091d9c38f86efa401f11759c536dc3ec041688ef9b1909dbdb5661ea096b7e4d69ee78a5beb194e1cdb24afc8ea07e26f2c9c45777aae517351fd4f3a2b86";
   hasRunfiles = true;
   version = "1.05";
 };
 "bath-bst" = {
   stripPrefix = 0;
-  sha512.run = "d997edb1e4af5064f29b938c9c7cc0c6a5a06269f2281d383cecf0ae076db3912f4f935f615a8bc3e78416fc141a5b93ddab125ceb52dde59aaa93a96ad85aa1";
-  sha512.doc = "addd9420a2043f1d507136b42c2141c6d32af2164b96f6707b0cd4a4f1b7fcfb8475c2e748077201e1d8a1850b0edb951567b092f57238938b2c33fef950c7e7";
-  sha512.source = "9e1bd7de9a120f68f09ad822955b400daf63fd3dafc95b26a5c7124eb4ec4051d345d39e64fded45c1231b51ba0a82d9035c54b5123b10dc46fc5e35bab1b817";
+  sha512.run = "af48f1407a950028fe68ebda82db1091c511ad5763416d60dc7df4ce6ddc080a4a0eaa9cf3385a27ecd9586fece07ee02f78e1f8df9446697bcb9c88aa9b974a";
+  sha512.doc = "4738ae6f96c75f9cfa222ccfc8acf300c5844d19a1888ff23c52f6f7dd4d85bb0065728734fc6a43ed7fae507e34cd40c4a2b7240b4644adff9eeb05e6118e4e";
+  sha512.source = "50ace871f9adb958618d128d48fc204a188a6c94cf4bc986b3605518050df19c990fb818f6cfcafedda868c7254d1bf1e05f51e075754e4e2dfb8528fcf45f20";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "bbcard" = {
   stripPrefix = 0;
-  sha512.run = "c489b781ca2e0ec79bf33418a58333bd8acb9a92e40a09409e359805d68618926de5cc6487301405b97c852a9a97619936488b274a3fff7b5f5f505bd98f4fe3";
-  sha512.doc = "2304bbe509054f6e84a0e0c4ae9af2431762e395af27362dd4be68b8de37730b6ca1f9cb0d5e73f0985d305e76a7ceecbe29a7376bfab30dca8602e119471a86";
+  sha512.run = "ac7fff708b3e25312460a740241ed003ee471f84dd4d30388d9cde8380ec9a6b6fa6fd6aba69b170c464a25bec44f1669fabc4ac2d7d3e216885b7e683f88af6";
+  sha512.doc = "9e4561e97ea77c84e3c1cc8f75ca61318937c45b7b50dab66d6745f61725b6397458a05e50a267937bf6db4b28558ff0e9f2225078b9516fe574620982ab2cb4";
   hasRunfiles = true;
 };
 "bbding" = {
   stripPrefix = 0;
-  sha512.run = "d7f7798036bf111152fa131dab6213aa9d5921f7fd5fa19b5cf266d4d7dfb54436a03961880365f1001b573fbdb74c1d108ff7b3823d4d21f64ab77c820ad88b";
-  sha512.doc = "81ae2fc56f6d4b1e4a149d21b6a80ff4141d3b4def2429380feb393aed9416204a2c6f27b38b8536b1e1527baf6a11dc3432706a5a36ed1b89d2ba2e0c787b65";
-  sha512.source = "436d562746c3172aa8063c7965f892929d52e14017b42359244ccda3263b11e42bd1ef8d00e591c9d484182ea0a1c7145be952604ef0f1be2d52edc0ab9ed7d6";
+  sha512.run = "d5505fd7aaffead426a873844112e11fba47694ab07d0f5c88be31188fbf4a09ed4b8f8bce75221b2b2efb3ff81fc132fe54c2634f32679e2e2041944ec92f7d";
+  sha512.doc = "a1425b521b1c8178bd6c9b059acf034080be6f3f312decb575b7541d34a6e1de926965cde8701061ffcb57147052b1495b21142f0eac645596a783820eb6200a";
+  sha512.source = "be0e2b1332835920a3c93ec69ae53fe83df4918db9d3080716d7b77edf999a87f54a4c87ccbe4d48b008403539a514810f35c6b2a59d8be0ed6968f6a91ba129";
   hasRunfiles = true;
   version = "1.01";
 };
 "bbm" = {
   stripPrefix = 0;
-  sha512.run = "c3f2940f3e4419bac351830418dcf25a3ad206672071069c2c2227435a8d71a19d9295fc0339bf7db33ca9a5a524f9761fb4039c87b946bd37b2e063720aad99";
-  sha512.doc = "de376aa85034f5ba278eb596da087e6006ff680c475795b56d4eb10cc1efba6499bfdd2e0a54f4f9a8a8183b8b93b528db2055c45f89f1c0977d6b09bb2682f5";
+  sha512.run = "d795fb56f2ba57dea55a546244c5d07bb20c104cb9d1e6f9b6c229df9e5fa4244f8bb883bcddc150e1072453cb518d31c110bb85d157b4fbfeb47195da939619";
+  sha512.doc = "034d880588fa88d97045d73dd651a0b3573c624dbbf1d2f9fee046c59f007b9e3e2121d5d773b34aa7b0bc8c72daa540447981bf60731e64d99cde49b5f6e911";
   hasRunfiles = true;
 };
 "bbm-macros" = {
   stripPrefix = 0;
-  sha512.run = "ef0713add2bce5736990bd147b0f4ad6940807faf0ef440cd54eef3ad08004c9461459cdcc958b761698eed2b03e18378ea17ada9049ca39c3cce862dd3fe7ea";
-  sha512.doc = "bd411e921b9ae5d57944a2f91bff45afa5bd366e650deb541cbf48bbaef3294c1f443ce2c5dea6eed7dc173ae8eedd1e0bb49e440f5410ab13956a3c49e65921";
-  sha512.source = "842c2323c4acb3bae3de46aaef15b2462c92523a44034f91d7d2a2647efe502b4bf0c7f96c679497a1eb701426a7a48698d45bef89f3543d43385f6ada530116";
+  sha512.run = "06f59837d585c721da77f289119bd4b45a91e3d72543ed3e4de76f84a2916431a733baa379b83a3e299d166e27bc0350df6f053d1ec744c52dcd0297d416fdf1";
+  sha512.doc = "20a29809dffe8090e5c067dd2df9dd5a5f7de6ec7abbc01eb14b5a500f37cd62b50914733edf7403af89a1db86ebe10b3d7262f519dc01dc35b29ba0c70c3478";
+  sha512.source = "11d1d83d558a7943e35e8146b7f44df6a553a513f8e0478e1a9c773d66d004a4110288f91896b283dc4153372bb638a444c53b9184745858976a7e6aac69b121";
   hasRunfiles = true;
 };
 "bbold" = {
   stripPrefix = 0;
-  sha512.run = "82cc44f0a59e8dfd0f8e06899e57f86ada638c0db9c62929bb7dd000258334cbe1ed204a51d7d5658cf7e8a9f93dcf3e34d7cba7a6d5db8a78c412c29478c875";
-  sha512.doc = "78ff60a95536123d1ed61422810fb2396c0afdc173f6bc2e6074d2f671d5a1494bb678f60e42c52c748774de8bc0490eb149485153e80ae67fd75512b72e5959";
-  sha512.source = "58ee02e3d0577df17421118724450cda0387efd98ae239e84d6e5368ebcc9b348df9b1987a23026be3343fdab14041af8552510617405e54fa8a85418b991224";
+  sha512.run = "1b123e9135179244050ed6f97f17efa2a43c42018b2fa3b01c956a99886ae6696c83df2a0d61ce95cba925c2bb4c734d77253aab165fe9f622695f557fcb0abe";
+  sha512.doc = "c754e81f83a53c4a1cacbd2638d550ad178e0e26d7feb592585579a27b780e11733a7dc68fd374ac575cc7866a1e5417d3df0d2b973e7278d1012657bf340390";
+  sha512.source = "a7a61bb796d3ee618ddc39d471bb29d1b7350a40bd7a97d44d4a1c7cd5e4eb5d5783d2ea46313344468406d1d25c71ac322ac4bbbf7b06aac35bc03651e7ccbb";
   hasRunfiles = true;
   version = "1.01";
 };
 "bbold-type1" = {
   stripPrefix = 0;
-  sha512.run = "f0349c37f2485d2c7b25c8bc4d046e65bb40a8ef582006ef9d116acaf779d0695f77f21d398e2e0b3b29f894906f814375d2fa3786ac80b93be4a55a872b0d95";
-  sha512.doc = "96c05497f1ca3e97252e340a4fd3fe775cefa29092a5b2bf48fd204bb3ff5fa9cbdbbcbef10e5a77cad124986b40beda38ffc079298c0cbfa3bbde86bf985132";
+  sha512.run = "86631e16388a447db7c521087eccbb666612933f6fee8eace091e00b20b5070d38ebc2d4d0a754536eacef9e9e6470f237d184e00cc4419bff85087f54b81566";
+  sha512.doc = "ad841ac652a7985ab907572f66462091b1c40f7cdab2b00086209a2d96056e0a9e32842dfbc22c829b27799882252da95e3d10d4a9dd174f487327d5f3ac3899";
   hasRunfiles = true;
 };
 "bchart" = {
   stripPrefix = 0;
-  sha512.run = "e9f2ebcfe1400848747538a7e8c1d87fcaa1d2f3266d31cd48ace41b433c7c449218fd14798ecb94aa3447eac83f36916d9147fe21806233eb1110a0abfb04b2";
-  sha512.doc = "23bc80e034ebe897e38bfe8444597cdb18bba54263fa99064fa70877c89f674bbf0033a5ee887739cef6cfe1e6e9917c19cc31d22a211ee04f1710157ba48c7a";
+  sha512.run = "b78e4017d0355107e1e73670c20457c2dc314dd0537bb3e699df3118231b5b3c0b2acbf50ca07f71216d56c81acbb031d38dea7b42099165a03a8049f62021a0";
+  sha512.doc = "762b75974de179360fcfe6057102919644a564ad2c3431ef25e2c373267ec063ac8350caf0038a5964345491355ddda4f5190eff6de93f2c2da7ab168c829fcd";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "bclogo" = {
   stripPrefix = 0;
-  sha512.run = "fe935cf12fba8288a53c68dade0ff81ad7395fbd757d995b5036394278e7945f42df69570815e7ccc4fbdef713e9422fd4158610c35f473a34c0f9623359fa76";
-  sha512.doc = "e7e8c0fa87e97ee88d5ac204143d6dc5635b648ffa19e8ed5151da68fe128752b6592601767b78d94b5b86b46a345cb8b244a19159d88407147bb6273d21d723";
+  sha512.run = "9afc02338b4141607cfd50d7678832304339d0b532464ada6fbc22c58d06dbc5a0793098c9e24617ba5296c3f7b22bccf16062017701608a758e4a26c05f12a2";
+  sha512.doc = "8671f8095005a0abec84a316da59f914d19d8fe0f4d33b13e73d6ddabcefd3ec7fedcfc8ce9dcf2ed3380a129f58bec16f73694a5d2769a18618142de93be38b";
   hasRunfiles = true;
   version = "3.1";
 };
@@ -1957,2185 +2013,2234 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "2da8f6ce25cf27e31971c9c896a05226d6946c7f01fb5f0ed986a9903d981778d44dbcd81cb30d39207bf9bcda887cc26e512199b82b33a2f4037d2e7723cea7";
-  sha512.doc = "475cd11570b41c04b4eac9d66a80d534760c72d39ca84fde8fc851a47b7b6fd58c6044d852bfdd7f8b605f294cfc55f48688b8b39866a256760717f4c6a31be2";
+  sha512.run = "42f934e74e50d48a5e9091b0b8a2ba1fcd42da22bea3e35a4e62033444e46841da16982ae66552396e7c1a8d7d3136dfd7cd1c0396828079df2615113692e836";
+  sha512.doc = "fc387ee6a0630df8100ea7d6b3357f7cba50d1022b48be2d6442606d700761066458359a8cb4e8c9751f53c3c0cd6c36382dd7d781cb97792e493bb5652c54c3";
   hasRunfiles = true;
-  version = "3.55";
+  version = "3.57";
 };
 "beamer-FUBerlin" = {
   stripPrefix = 0;
-  sha512.run = "6a3364865a9bdc85b86c9253b8a1bc50c2e61b2c4342fbac4e930b710a5fefc0bcf377a545a67e7ee494532d82be8f06bfe6e5f46e8b387bf7c6135e34210263";
-  sha512.doc = "420ab892abaaddca1633df4311097d6d138012780b1a4694e153520a3c8c97e76dfc9ef78df0e44472dc2cf1625f3c3f10932a9b88666fb902586b4d8579eb57";
+  sha512.run = "10d5ac201b18b2d7de8e8e4ce2d08255ced89567f311d449002711235e0e0d052b6001acf5aac198397e295e7970863d42a57ecedb8464c8d49a3eba43b6d90d";
+  sha512.doc = "451a4ff305191947bb594394f863c447a96b5ca8327a08a5897ed7486e1a3ddcfb7e415d4da613050e38c8a76388cfbd7a3631be8a84d82e31f25081e71e913f";
   version = "0.02b";
 };
+"beamer-rl" = {
+  stripPrefix = 0;
+  sha512.run = "4e7e9cae6b48521baab4d92965d5b4e14d9b09a51e95b45c4953a7c6199c29691e5a8e69a68c0b29d27d51ddbd1fe57ed21cc6dc6744fb0de2f7544848aacf06";
+  sha512.doc = "bfa9d52b34ad4edef40166e6a0355e5efd4508499a87c1cf4f643fe30f873366158e21706c06f43822e244c69b85c40d254c68d60a82b91e3a4381d27866b807";
+  hasRunfiles = true;
+  version = "1.3";
+};
 "beamer-tut-pt" = {
   stripPrefix = 0;
-  sha512.run = "5eae5f8ad64254a3600168146bcfc0797a17be35e36376f70c3dd4b9ebba7a77ce550cc9eaf995ba6897d34fa092b8cc55ba8c6758b2a3b93dee3aa0a4737c3c";
-  sha512.doc = "50da0b7e53773e74ee7b1a4e621d1316ebaa8bebb39110ecdf5cf16f66fe30c2d7121daa75c7d7443cd3362faab4917aaca54ca372793a63da00beee5b9516eb";
+  sha512.run = "6074f5933b945f02b24c31353bd7d683b35a54f53aacfa2ac19de382f56fbb9f6284316ee70c0eacea3760101d98d4a6b7d78412a0d41b13c9e1c907d181ee16";
+  sha512.doc = "ef6e80c3417cfad3e2f3e0ecd3ce249aa0b4cf0a6b5dced09c27138e34a8c86a74d0d03c6888d0944fe2b03bb5b8180872306263c58f54281f4ed2fe3424d4bc";
 };
 "beamer-verona" = {
   stripPrefix = 0;
-  sha512.run = "70b5bfcec0b24a1ab1d311c34ad7b90e1b877d7a7e8fcc793b0dcd339b9823ee0d1d1bff1a7db6c4bdb686423816f0ac7206d1a6bacc05e4b099c94b5d26f193";
-  sha512.doc = "0855b72a1a89fce09179e95e5e6396732cd112b6df17f5de132a6247dcd512f51151b09b9f0518c98ce66e08ce93c90e9b47d02608a745fb1aa84aa6403c84a6";
+  sha512.run = "71b241e603688bd22e10f171d32ea3dcca1f25c136a7c0d0cea3e72e936b068ea7ced6a40c03d2e2fb21e533506bcbfaf10f450493cb4e2c3df2981b714048d5";
+  sha512.doc = "ab68e6accfbfea7651dd43b55c4ddd86a66a827ecc6f6353dc58e3aad47ba89e051fb4f9dcc76e0e8081784385cc696fda9d95c0e82c71b0645d358afaf42c4c";
   hasRunfiles = true;
   version = "0.2";
 };
 "beamer2thesis" = {
   stripPrefix = 0;
-  sha512.run = "5f6d186802498f12d9c62e8c767fd8e42744510808b379e76f05d5390282dd205c3ab42071767bb46f8445f838ec8f18aee9e3e6a99aea32b5960120dfead357";
-  sha512.doc = "82d050397f0857325fdc1c3fde973c599323d43fc21875fb9e52c17a294edfe152ee5717f465687a7d6bcc960092fa2427bf4c67862d94fd30dab3d088fc8127";
+  sha512.run = "793ec95902fbecc2de84616b74494d7e34a1a1c88277277ee82bb172c1ef0cc42cf175f62fa2b4926abb73817b7eb258d85be6689b60a56e0faee941276471a9";
+  sha512.doc = "ea71d35ac3e02d3016b8d19d38132ee16960757c9846192cf2213061c9899a9788e98f50dac074b0cf83f6029f883eb1f7784779d0256c719d55490284cfc8f0";
   hasRunfiles = true;
   version = "2.2";
 };
 "beameraudience" = {
   stripPrefix = 0;
-  sha512.run = "59b3e7e6119521a5384a14cbe37d82e9a6ce2d697171bc36f59d1316cf158015b1369f51d857a8423e4d58f5f1632c8dbab2c8c973a212d2d81f9229630f4c06";
-  sha512.doc = "6b4ad94b7e7ead5f57bf506cfba107704f4683c7d44c805f698d6413b0cf9771c90631331d74b8cdb3917aa58803ab22476c1d6094b85854db60e2f5bd6f0747";
+  sha512.run = "f1fa8d1d30b00ea59b3fd83347fc1ea1e90135e51e8f4393eacdf32ae983a80e865d4364c924c74bb1d409ebf22ebb5e290707b945898db9e6234dd297553b49";
+  sha512.doc = "25fbfbf71ff66a80597b368882de63aee2e090e5604a67d66d52e99dd606ce54079e4a7350c4acee5966555dfa5dc8de0e650c7cb4c136bdc40cbe5739c0dfe1";
   hasRunfiles = true;
   version = "0.1";
 };
+"beamerauxtheme" = {
+  stripPrefix = 0;
+  sha512.run = "3f5585ec5b379f32d6051d604526ebb00673fab5236190226fce4bc2a4da3ed4c6a79431edd0c011bd34298d8bc2f5eb7a9dd9aa9b0bb15bfca0195222e1a37b";
+  sha512.doc = "faaf5267dea60efacd78f6ed055e1a8691729d96e3959d98ec315ef9802aa01a7193823973c488d44d21ecd845ae21bf51433acf007a34f806656fa6b3a8ecbb";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "beamercolorthemeowl" = {
   stripPrefix = 0;
-  sha512.run = "1ad8c26768778584b6b57e6ddcd5c54c15b30fe1ff916d514f72877edef3e325455187c8707d504963d7e2fec90c3865f81ae95eca2d678a6c9408c6124c9969";
-  sha512.doc = "0b41369b8a65588c57a15027451e38bb445dfb0f004e808aaadab8aa7ab78db44d42d47f225929c9016f11571d8463f5109f6ca082b74d7ca5a5d361c978f828";
-  sha512.source = "8072573a2f6fd9d6c2632e5caedf6f608cfc589ed007f8065434946dd0bb65b6ff9822d286abc6d247ada411ba3235276eeb6e31d07b11f9eec989162035727a";
+  sha512.run = "bf9874f0d7bbbe3f95c352d1c5e93c5e7fa3af18dd02eedee553c312ef01783420b035ac74f93eb150a99a597ff9948d978ea575963f4117d0965137446ee5fc";
+  sha512.doc = "258016683c605b4961ee25f30077cec69c486cf3ed0cccce2482db01b39141e122dcb46e02e960a83138d124aa269ec903379c3c6b65f3366e96565e90c2337a";
+  sha512.source = "940218da36cd17d38e2b8c6d79eb1570d6c779b5f694e9b43abf6614db93a8227939e1ef86678f72461752ca0acdcaf2fd5e52a45a35b6d98811511af5090a2f";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "beamerdarkthemes" = {
   stripPrefix = 0;
-  sha512.run = "dd36167a6c5f9bf02bd31c44657ee68506781486c7ada5819e5a926dbd1eb3c2d3307a0092094298bd2e2154d84f3251fab3c59a44a60af6f3342975555334e6";
-  sha512.doc = "9b68a9add661e492f058ef121f2b12d629e7afa86534903569037da654005dcca7707c8130ffc362ecaec99ad071044c10d24981ddd54f21777714a8a31ca981";
+  sha512.run = "ca30d15a7bc198e67cca5cc43dcdb8e644e03d1c8ed71f0b40c1dd0219ce81688067a82a0ab002b2d72e990e227f4628319cc72d5687881a3b886e213d7eee93";
+  sha512.doc = "6a1fcfc34793b93005b683eb0f0f4aae794c56e85fd5e14ac6e1c4eeed763f7c6203bd05c92755a2db91aea10f4c16117e702c291388153415dfbacb4b39d00d";
   hasRunfiles = true;
   version = "0.4.1";
 };
 "beamerposter" = {
   stripPrefix = 0;
-  sha512.run = "e4025f4796d1c46aeb45fec8754a9426d847fa7ee974bd4479f585bdd115ccd8bd0d42b62f2e55695aa039e93438d169b6bea664fa81a3b7e4b96d1e0d1b3cf2";
-  sha512.doc = "8f5c563335d4fee97814081ac82b2bfe855f929a14a5cc2eff1c2268236c770dd70959a4f35d41c5847c2d2aee66fba618d789a12b46f5c8cad5ea51f649e737";
+  sha512.run = "e4ade5948c1eb8e18cba3d3b7699686d55d57361e0b26b923336d295b8fb6c7cdec39832dbe4f9358c94302d412000f19b4706295af5856e12482bb3c9951a98";
+  sha512.doc = "88ec2b723a551711c33972cb72b7ab9ac13508f583e4e26eaa1c9e6d57d537667259b4f93e7e33fd2a5db8086998f6ddef05c363613be645eb293606d72cd52f";
   hasRunfiles = true;
   version = "1.13";
 };
 "beamersubframe" = {
   stripPrefix = 0;
-  sha512.run = "211591c795092c9549a029ce8a15249e60b6b23b66033e2db146ff6d2183a7cfd0f8cc1bd8d5e10aeed30f075d7df7a9bd4d1ca711d8f90348924793a8b3aea2";
-  sha512.doc = "fbf19e537a866bfcbbb2f03687d20d26ab989c3f6a6bf74f1d2ab97e1d3a198a485e318fa3fe05f7e06bb04deb5e7acffd881a743f8fdd56edf8adbdeb7896a3";
-  sha512.source = "27065ea9742bb24c49866cce314962db5311013e261958229e45f474cf42985bd901830f6621c29978ae06069eb8ce45e862471944780a310793e060e540a686";
+  sha512.run = "d3ab81c5eb90d8566eb850c25d7751f5a341107fdb756b46bb50b392741746eea356ff54ef1ceb6ca6f0a2c0dfb7940aa7cd6e3d0cd27e4328e817d1be454964";
+  sha512.doc = "85878ad48e6ba191174140517ac03039320620f246efb51c65e57541d9cf569d59bdd6cef17f10f6f6d85bff9532f6ea70175cb09b68ea6e59312a407d89f557";
+  sha512.source = "f4c9d5b2f9a868e1cf3dead5636025698137d63f64c0c528abafa0e5719987e6df9be31a6ecb9597824e5c9793172208908616f42f8980b49796368e217be24a";
   hasRunfiles = true;
   version = "0.2";
 };
 "beamerswitch" = {
   stripPrefix = 0;
-  sha512.run = "376fd6d1ca1004fad176c47048d2d917dac10d375c90385519e000d80e1a575e125706aedc0a68c3484c62fe865a5f53e46ed51374f5ae6600afc7cb0145dd34";
-  sha512.doc = "e5ed4de4132c18505394bfc3922518d7cdd9b9c5c361dcf983f950a40a33f209641aa4b6730082a8810c83457f753b8364013134ec7ec430786414ce00d30ffd";
-  sha512.source = "5ecdec798e7691bb2e702b0d785e4d8076b4852abd03fa058ad1ea44c85b7a80c9e296457dbaf6d32b388874cd82295135484a495e0b35e2d85a2ace1502194b";
+  sha512.run = "9fbf8189382ecee21db66a792beb737a89fcc690af35c4d604eadf0aef61669df5c5a629abcd86a8fea3d53a424c86bb233aec0ef3ffda0d2bbe156bf227402d";
+  sha512.doc = "3bbd226e69390e7a9add9d076e9b60d910a5c63669d679f171cf88d159ebb5f9fe48cc93e334baf27078d03c140a7607f5cdf927a17b6319fbdd7d92b54cc10b";
+  sha512.source = "31ca49fd909e406d2d679cbaac8cf2e1fa0aeb0feed61bd6600f83e5d58c970df0e2072671ffc73944abbccbb42b7e83384aee94ad8e5e68e60f456dfd537274";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "beamertheme-cuerna" = {
   stripPrefix = 0;
-  sha512.run = "14cfff03e827a5259fbd930330bbf8e26b3ce0eef589a66088d73c26031158e69eb4dd43d85e0742156bd37551f63049461cfbbe357b8db689074807e2fb1869";
-  sha512.doc = "cbca18debf464061f0c4dc9972bdc22cf2d862b22ce401f562b6113b27a5792dce8c047c77374ac29327bad0f1a08a1a5074652cd9252b4ed2a60c5e95eb64f1";
-  sha512.source = "6adfc06b1984fcf47c011f79d25a1ddd6c9f46dd162ac9a2643d93e91ce7d9c2946af3fa2d15dddcdbd3d3538af54ec350ed825930ed98ec2c86d6b1dd657440";
+  sha512.run = "f0433d4a4582958ad057fddcddf1f1f992ec98a199943bcf80a7834e37eb7fa5660258edb08e2bd9205628dc1b8a69419c907b6c007a1c63cd1fb335e439125d";
+  sha512.doc = "96f4e9c3afbb81a7841130ea076b2cd35477e93eb105c03add6077fd76981cbd14b609c3b9e573f143572764ac87b1ff76ce18c377f3bbd9b02a1ed45a02eaab";
+  sha512.source = "a4381e52d7e46336d8d8989be45c185156e67df776d5ad159f2db6c62c751dae59e0c19fa0c5ec3de4b0385047d5f6fdf166b6c12707c889cffeabe11802a10f";
   hasRunfiles = true;
 };
 "beamertheme-detlevcm" = {
   stripPrefix = 0;
-  sha512.run = "0d3ea01495454511d0df063c7443ab2837bc67954b4a5fec59e8ef2b78fe77b8c558bccfbe49ba685f91a58bb1f043a76b33bb75d7b7f0ba98e45090bdd4e52a";
-  sha512.doc = "03ec52be2389bb5afe87740e4e6fe7e81d589e0ee9c0f25a55ee8457782980739a41677ecfacab55200bba8a990d5abcdffa0bb7a7603a01ff050b0ae4e98500";
+  sha512.run = "cab4d390d7469056f2235c493b9383a4374c4a686810db428cfe622a4c2513f7176df489d22f7e37ae1f8a2d3303443b60c12c577764be2258b345fe9c3dc543";
+  sha512.doc = "2c637af44b258c688449ad2bbd81664e3086efe874d03352ab393487d7eae1148773ba39a498611a848c43824415cb5b860259111f6d287fd9e6d7f1c01eb530";
   hasRunfiles = true;
   version = "1.02";
 };
 "beamertheme-epyt" = {
   stripPrefix = 0;
-  sha512.run = "3a37399028752af6ad0a3c447532cb28647f1932a55aa9228fd82a2f8579839630244e072e9c11627616048eae65f97c9a1199382f135ccda64d7851d80bd10c";
-  sha512.doc = "a39a4e39dca8a8dbbdfedc8e923e1d6d1707b3e29852ff431e14022667c7d31f5c7552b2ff1751027ef33ebfb75df123b5adf65c25044b175739818e4894b9fb";
+  sha512.run = "2bf451ccfe095384aeec149e97d7022cefaf997cd19dedffcad5606fc149739cf21b6128ef08e609aaffd6afbaa59b1cdc401cbd3ee4fbe0e997d724b713a620";
+  sha512.doc = "a615bddd7955869d7e175f734a06308b166057dce0b479a4b11d2bd1d06fda7e0a4fdf8185d0a3db2d2302cea2890184616b92d0b7abd5321fe9edaca6dbbd2e";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-focus" = {
   stripPrefix = 0;
-  sha512.run = "1684f645ee01fda74d69fd84dec7bde7cfcca9b2b326717802f3afad35cb02a672925ef5a6fed8294630bd46d89a69d27a19f25424d78f39126123fb888103e5";
-  sha512.doc = "6f901ee3ec7137c1bab64c2c1949d157f4426293c1f328b9e832700c2e094efbe8aa170364dc528ee5b6e8927fe7da1a3e9ecb70e88adc8ec051943739dade68";
+  sha512.run = "52ee3fce7ed3757003ed22aedc66e7fcf54786cddd937920562fb9e84075e682a4fa9ac6af8c35e10b7995c92b5fe1ade1804194cb7ad7acb6e85dbc4e59ac85";
+  sha512.doc = "cdf902c6b053ac56dfd450ca4e6aa0e3eb2b12eadeaa39618f5603f409e6ce8ca69e617c6eec574b4991a70264579f3c9f533bd196c18579755d82a6c869ceec";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4";
 };
 "beamertheme-light" = {
   stripPrefix = 0;
-  sha512.run = "c76e7d0ae8d8af05d592d7420441cfbec4fbb601ade2eb33f0da28f124d24cc0738aacfdd60f69bca6bd4f3ab37ec69e308c9195045b1bcbe6ac09ca85bd6caa";
-  sha512.doc = "689674af209d2dfbf7c6a7c57662cc9dd498bff51e7e6dea6a0306a4b95f14ec6c78d22a88e2d159ba6970c3e6b0d90f092c47c25ce444163ae6cc6de4ce269f";
+  sha512.run = "5cc15c3ee0222678c1c97b31805421caac8b20fca03b1d748fd2a71756d5d764b8fbfb32ab70937e890f7755966b520362db98a9ae65be3f83509cfa287d600a";
+  sha512.doc = "e2d0cdb7fdabe582f2b6f1a656a5b9b61ee3680fd4944c06f108cf69eced96bed7b25e56563b1cb9879e8da42fdbbeaa41d769158c5e256bc70b5d695571a5af";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-metropolis" = {
   stripPrefix = 0;
-  sha512.run = "28a35e152e25415b3b9f4b0b18044d3538014ab07e4869167061d4a002b77acec11382a7327b6024bb17a12a58e88d6501a69cede645a62e0dd2770b7ca54379";
-  sha512.doc = "4f5718311ac81d5e92c21b01d4185959db332aa466d36b642318d50ad5f96f3fe734ec703d03638a39fa84e3c941359dd1f9c9ba033b16cee29e012c0871746a";
-  sha512.source = "d4a84769af84220daf19571397941d234d0b0e271ab87347e33618566cf9794413f758b6b5e2a12a46e2eb0c028c7afb5023f276de8e3b7978c0b302d28f09cf";
+  sha512.run = "dae8058ae5c2883b383a2bcb85bbdc45d0b0a3fab46a4498ea1f3b8568f04d049598fa78b72429adc7e36773905c67801e129378e233582f0fd8eb5ca4327745";
+  sha512.doc = "c4661061ea3ce52a20fb8c704042cf755b8b54549dd62467b1e78f85a4067c11a02c89422384e96323ef277ce44a3f648b1778b54e0b5c79b721f67451fabfc1";
+  sha512.source = "af3cec1b7544ecd51c875a704605500ee1ab4374df9cf1a7db6c6b9102c4800651485a64dd865c1158d729c06f2499021408230c50278da3de40f7f0cac7bf6b";
   hasRunfiles = true;
   version = "1.2";
 };
 "beamertheme-npbt" = {
   stripPrefix = 0;
-  sha512.run = "a80e5acd243c701bc915a775c3c2934d4597222fdf10ddb6b7ce50cc97ce6d161e889445a28d77b89f7ed00f92ccd1cef42d752b28437c01e902fa5ed9235f4c";
-  sha512.doc = "41c730bdf265562c62edd3bd554629d62fc304faaa3147fda39bb242fa785d2c46ceac59421e431a51bbdf5d51a171aaffeb4b975c050c015646da202ad17d03";
+  sha512.run = "bbc620fbe30505183c4678e0dc9c7574ba93a4c410647b54609c310918e32a638265b07633932e2f5f63fd2ecf8504869e4f3f138073e666e1341a4d0aff327c";
+  sha512.doc = "0c1f5df1c664a31e400f4d05a9f2b57c4c9fbf881295fa8165796944a06ace35641487df93db33276924d4e7c5b9d6c621aba70e5ed9ee61dc269af3b51f7a2a";
   hasRunfiles = true;
   version = "4.1";
 };
 "beamertheme-phnompenh" = {
   stripPrefix = 0;
-  sha512.run = "885323e17e4f6034d524ec6515891d8ba0e1f6902e394f0cfbde6d2c48cf3d2da80c5d357b7e2234a1e127e592625c7e05c20097c1417bd8b33c37e67d4b9f77";
-  sha512.doc = "3d2976123e5cae274860186250dd641c51b83510ca459c95d914d774d2b8daf99ebdca2eedf52f07b647b48f174e674f51f077526fc62feec5d83f0088c5ab52";
+  sha512.run = "30745bb1f92c230bedd953d32eaa6f2085ad2aa7f147bd3368fe8ebe4f6092ecc615acce55b9573da4dc04c8e89877ba2705a6712cd4c4f67f34dc59eae97880";
+  sha512.doc = "626d124c6ac02271cc3bc137e60b8a66a861b7f692910e9fad283d8836599e3adbdd1ac472fe66955a392d1b563e955da852cfd5a0d712d284fdb2dc4d709a63";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamertheme-saintpetersburg" = {
   stripPrefix = 0;
-  sha512.run = "0a8b3c740f544be730c89c0acaa67c0e63a8b3ea59b0050146ab2a4302147f8621c9401164394fb36a0b68d46198754bb433722a406394b22c0a3c4cecc5a284";
-  sha512.doc = "afda6487994ddb7fc37469bc17a00521ca0916060217939a6dc1483355ce4751fed74f11c3928d2a6b957ed2c734b5be7a425f3ce70e8c71a09d05630c74b1fd";
-  sha512.source = "76dce1c6aac1d84cfcf4efe00fbf658ed31787168caa70bb64ab37a23bcd5c8b90f666881f8eb74e655e722186fcd48091c9ab860c2b2fdf0e14c76bb836e523";
+  sha512.run = "c258a4eee25ccdb2437625982e54def90aec87be003f697a47334be52b85ef223b377c7fc57d49c889121caea664fcd6353015ad2e62f5bee5379bc222958f53";
+  sha512.doc = "bf51e2bc33f32ba3dda6c140040a7499a60c26082569729743228a6c7abc97fb20076d1d0c7d0b64a25a54cbba1d9a8b59a9059d160a5a488ef6641999e8611f";
+  sha512.source = "6cd3ed424b3a724e397de3fb7b47de33a5c9f0c5ac0e0f8b26bde55ef69b66015874dbd438912c682c9aa1c33e4e916fb895458964dea11fe228e29c1afc40e8";
   hasRunfiles = true;
 };
 "beamertheme-upenn-bc" = {
   stripPrefix = 0;
-  sha512.run = "32e62c5ba552605ad3cb7b1dce10cc49e2ff9ca7c03d0df32cc45ae2d31a9fabc1235d336a742d884d551d654e3db906d17a172a138ecd788133741210e4c984";
-  sha512.doc = "4def312d429c75968e6a303910d23cb10ae09b41e8dd4e8ba12de8f978c91bd427f363569c9187acfbf9a589377f52105346b70ba4a807da41a4ab4d543821f5";
+  sha512.run = "0c483991348107a2b9102e514ec05838a9ae3e97dceddcbf3b8cc21ae635a272c7d70d97b2e1a0929b7545e50560f16a71f7b290ca16cdfd63177782b993b714";
+  sha512.doc = "5feb0a4401d9ebbc4672b7f9668f850fb65002c7d7124c607009775149c4c428642cd17df133ae80d564ab091fdff039d34c1704360033f2374b55466fe1b618";
   hasRunfiles = true;
   version = "1.0";
 };
 "beamerthemejltree" = {
   stripPrefix = 0;
-  sha512.run = "84c1d8e570bc298be6c4338092c6826014ef7428b19afb5c874e117b87d3c6249e4a6c9bd14a3d63b94afe6e45fd733bb61854b56deec4dbc45edb2d6ff00f18";
+  sha512.run = "b079ceab30460a7b92a616fa6d7216ddddecfa02adfd66bf38aea83eccdf6e63cc52d8b2ae88db0b21962af223b364424227806beabbfb2e344af98474af2528";
   hasRunfiles = true;
   version = "1.1";
 };
 "beamerthemenirma" = {
   stripPrefix = 0;
-  sha512.run = "3f113b22993908b0c69ee770a808947d01a313451564cc75f82820ff1618cb5bae90fb0118a74252574eada0e0e3ed0ddf6758575bdf70c6f6e5ffe735db104d";
-  sha512.doc = "758bba0c73ce7420aea4f13c5a618ccfba1878b9fd7b5740693c73352ef12077158ce249a927e1de9f033ec1959c73946a6f9f3a1ad3e0f395ea11109a4791d3";
+  sha512.run = "6fe83e0805fde96d585dc027ecadd23862815171f56f6a05db0a6788018a096c193c995895f7ca18af6d322877e24d570743d84a922a2c7e4baef35d3f6dfca1";
+  sha512.doc = "13f1dfbc8f09662b627dd4ed6c7ff297612c5d05a140a446ccdcb6f0ad3a9995b434d418994cccc2323ead666eaeb10b32e1a9d410a38c632df9873717397231";
   hasRunfiles = true;
   version = "0.1";
 };
 "beebe" = {
   stripPrefix = 0;
-  sha512.run = "f10234d7927dea651219ad8c1507418169eef411045b361d44c874a35ba3e2a0c40b11880e7193e87bd6d11d96a71db0ea547e92678d178ca89786e84c6369d1";
+  sha512.run = "12e064422d57b50d7c5600faee4f95ccfd14503da70e8540f72bc8d5de46fdffb62307a76c569934210c84de55b0eb5e625fef5df900a9848646956b0dbdb60c";
   hasRunfiles = true;
 };
 "begingreek" = {
   stripPrefix = 0;
-  sha512.run = "e9438a534c11b031c2ec9b0bea19e6f6795728730204d9ac8754e8d68c56902d05ef7b69adde88fcec996956dfed6e80d70ca08e7ba3d4de223c180c3cc42d5e";
-  sha512.doc = "78c444d77cfdf444631199c65ea28543734d05902303d4cd7d8e2d0d2db0bdd79f0df936c254b37fe2ef52618ee5ddb33f634d09b4557296eecc03115459f957";
-  sha512.source = "aa53dab7f869cd83cff26d766f30177f981d791593b53f8f14b54e8aa4a96157a2a3f7a742739bfe0eb4c6e1e5572eef7e9691746fc8060d1907efa0a2af5eac";
+  sha512.run = "88b3bd66f458eacdb1c4da1cf4a44de333ab45f3d498eecc1a1d4b688c955b3a759a620642e3cf94268136989817f97d783475740a0c16d3b5578b670d967719";
+  sha512.doc = "3792be7b825db6ffa7194a0cad8d8ba0c2ab3ef64f87abeb607870702612a22c798a61e8b07d61f21e1a0db30c4645c3ebe03bc0ac7c297fbec163d9cb91f22b";
+  sha512.source = "605588a60e9cb2d6a3be3d8dfada6468dfee100eb7739c7ce3d264af38d305be103a62b267b8f05d8a57d9bae273f930b2e4dcc5f3352ddfb8c1e50ac81ae7d4";
   hasRunfiles = true;
   version = "1.5";
 };
 "begriff" = {
   stripPrefix = 0;
-  sha512.run = "bcfe8cda8168d494caa91cf4343dd85e58928fdb066fc7e8e3552a58fdf74d2332afdd831e82eb33ac6cb17a19f7f31c4cc402d24c58ee5607f1af0d56b130a5";
-  sha512.doc = "fe02812c77889b7b749a8f77508ddefdae0a2209a91d9f4f78c84c30e569bb9997f5badfc1548e5a56250eef90b9f2d646dea09b9452ac4c03c31629fca0a40a";
+  sha512.run = "ed1060e0ce9bad28f98481eed44f8bd98f6b8be91dd5dc87d5c34a6cc57e724d175fa909fd6ff514399eb81bd8f28450f7c9a6c6a9bc991f35d617a8a25de8ed";
+  sha512.doc = "af28c20897e297af4ca1fb13bb286ff0eece9e2f06f5b734062716c0c5f5b7dd673d046a5a47c907f9a845a7257393f3328d46c4ea2ac0ae6b0eff1244e97256";
   hasRunfiles = true;
   version = "1.6";
 };
 "beilstein" = {
   stripPrefix = 0;
-  sha512.run = "70bc371ef9cab18a57a591d812a3eba372e840eebd482c1863439a5cba314656682daff6bf9ec5ae96fafe62b3cbd928600161d0355fc55c3d3c77a2834b6ce5";
-  sha512.doc = "029b0c304ec47cfb48f0b865def8f947dd73ab321820ed84ef36d13f6c71efb7f80d046921467546132c98482a3bb09182a2cbd9206975d303441a3b8d3ac667";
-  sha512.source = "f1d9175620aa56b4f0f480293e54ee0d98abfd3dd19c8a4faefa7472241424723617e57bf4722cdca02b555906a8d3aa0dca0530cc61a0f6529277bb65b75d6d";
+  sha512.run = "b581df03b91834de1382b50dbcd1c4df25d8d3c1788889bb7057cebf3193fb664ef94f63b5c137f7ec5e3ce7a8d2d40fa3acf3a2640ba1e2b7b94daaf870841d";
+  sha512.doc = "00d281b248088fc0e31004bd4eced9a9eacba7f4260676318e13452e467d8e4587a8493a6444e709b76c18902ce766e35cda7ebf14595c277b59232a66e76e4b";
+  sha512.source = "fbaa3aeb41641adb0dcb559347b8eaf30adc79719d305d26f62bdbc2a80a913e4dcbb6507f7c2353687011a02fbf43f0fa49a67445844e4d37294b7ea4c3726f";
   hasRunfiles = true;
   version = "1.4";
 };
 "belleek" = {
   stripPrefix = 0;
-  sha512.run = "b23a7503b006289a4572f9106b9ab55dfa5f16fd83b5fd75cae8f7d7222233c68201e4527d27b35334d76bf69688552855e53c94a696e4b95116b44923b41f82";
-  sha512.doc = "8da8fb9d1658d30d5869d194ab4e715e7f34eef3516d3a1423f497d567a9618f66dc98856c73f85ab07be6a70154b8d579c95c6696dce701064a53eead01ddfc";
-  sha512.source = "b9807058f865fd55ac6e2df43d8c83216e8b2ac1ea6f41b5445544b9f0de8fa4e6099e165e46c44060e91b191f9ce6ac8daf719b20a490743f97c733c8320b9c";
+  sha512.run = "cdc7499ec32c26ac524caecc6b5c1f30f3ded83d78756b198b918d321696f378e6487f528cb3781a44f3485110dfff14a14c9b3306e22ae79a8d262c1f1baea4";
+  sha512.doc = "e974e00c2e43d01d598c18f664e8ca3ca9259ca55089598c77468d6f50d0cc9a64d4fc23154bf9ba7acf3b9b9ca406beff24623eae5b6c3ce4c167904e5fb720";
+  sha512.source = "27ea3f4dd1ba7919bf06dfcdcf7b1ca4fa609759a58dffd91fdb2a55662e58e14e19d855d93ec932d176060ee332d89e02c9d2965ec545adfb10f3f486f8875d";
   hasRunfiles = true;
 };
 "bengali" = {
   stripPrefix = 0;
-  sha512.run = "473e220cee0cfaf9682d7da8321e9a77c30f42f04c54a9e62b9558b8b3cea34a100e7d7011bb9383edf6b42d56c76d7104634952ff53a96bf69e13dec6c6767d";
-  sha512.doc = "34b1c3c5b7fdb693b6054d02b0b8c8d4aac26eb56cd143256e3dd88c796f7e5e303538bb8a69607c48ac9b19326fcfeb5e1c1d82898b9396fc3e469605f6226b";
-  sha512.source = "3933748b554032c52f2349ff6c03e45861b6394feeebdcaf3aa119c5a3dbe7886ebb4d55bd7526dd1998c662cf638d5070ef91be34d5036b92dd5e9870bad379";
+  sha512.run = "384c07640acd5d4ef2fb661d661f1f3550fd84ed08e5345ec71cd7b3189560cff18c4992a91c13812e5bacd06364e3cc52faf6fd32d01a4fac1b2928490f97b8";
+  sha512.doc = "cde57bbf0c8eb52b92973f80c7a780d30967fc2dc0624f1626856054bc0005a5f0e318474f145b9abd60a59cdb6e87e8b4a3b03b4b18282db758b5f110b46371";
+  sha512.source = "f6f8641cd631870077a73c702da0d7718b2a06236da608b3ad6cb81e60530f93328772e97870c3da8d6e3ff9106729db5d3137c56329f6271a9b1810a565c189";
   hasRunfiles = true;
 };
 "bera" = {
   stripPrefix = 0;
-  sha512.run = "394647144b463a319bb5de2dc62a6b56cc17fd87b01d787cfeee2c805e576d201bec6959c4d8fcc4ae886bd261aa5146fcff8e110a56dc2622662a7dec85df1a";
-  sha512.doc = "b84a6d860bddb5f80bfea55d89d5a6304cdd05bed2421b16c31a17f6af418a1ed5a3206c68812fc2e7da1d743a33c081dc1ba5aee8a3166b002908b8e814b3d2";
+  sha512.run = "103b2db8f7bccf6a9729faae793246d2933667295ba404fdaa7b61cfbce0f1209ea27e7a2a63846c6550b41214ff496a62598bbb9b731c087b8bba9e0abade80";
+  sha512.doc = "2606c87871d6f6ed27b2a5e49117c50f00573bc6b9ce249d1433da214764b220eb00c73e59be43e32e8a4827c397c53504103e00b7e5602de5df5bb817e2145d";
   hasRunfiles = true;
 };
 "berenisadf" = {
   stripPrefix = 0;
-  sha512.run = "cdab6b1e0f40da8405a61e183ed9db5402cb3f2e677d0b207a63e8f08f56c9fa20f24d90b03e2ddfb7f9c8379a5b48767868dd51cf460b7a6ee0374cd5a885cb";
-  sha512.doc = "462f32322220362de29295c8481e6277172f7e67a3715f24e858b0e819ad7a1b2c5278faccc2c01532ee977ef7e89f294b404c7d9dfe25944268bf61d2ef89df";
+  sha512.run = "70dd547d0c5138f2a61e20b4585160e5fef281bbba72ba8dcc7032efa957d80c158ba88fdc0dda9982dbcd69a48d5d54286f52d1425a5819e54e05d79eb9dd49";
+  sha512.doc = "f076717ff948247589225fbe4fcd92114d719526e535d645d767a3f7fdaafd3a6ca84c3a60997074186974ebf045e31a51d16d53c8a5fdc78a2461733cc66372";
   hasRunfiles = true;
   version = "1.004";
 };
 "besjournals" = {
   stripPrefix = 0;
-  sha512.run = "71ad16b7da18d3d9db8f9874ac0fc093ea8d0a52c8d0603627dfe87cb634cb72c6efbb22e721bea3920fd431efc25621cc751eb01e056a762252846c0fe5f4c5";
-  sha512.doc = "e84cd65531127338af749d59a70b2c929f91b2097f0705f4af2e76f3ced5f0adbb3b0ef202045f69615123232e5462d1b97ff406d4c8f3a45903a998175bb190";
+  sha512.run = "e797bce36fa6529d6b57be352ed81b7413c2ca818fa904a8cc4c7c8f0801369543482aa5c286b40f6f7c5e0b73d53b6aa6b9aaeab3e6229da7dd954a3dedb1ca";
+  sha512.doc = "c790eb0ced559adc6696f0f228c88a2314214ff6a4ab71ae03dc46b3974cdaae53fc685c05f0bbb7646a5b31d332f763fce4a71919319aa520965f56979eee54";
   hasRunfiles = true;
 };
 "bestpapers" = {
   stripPrefix = 0;
-  sha512.run = "1ba9fb88ab2b58d5ae951acd64c9995b99ebcc20eb5e80ee2637b40ea909a237ddb43f000a6085295070d4fb09ea3d701ba53774665f568ddbd9425222437714";
-  sha512.doc = "e232ddaa86ca8823d2c5ae936d0aff86e2696e96781fcd52b0f21f79cc6e77a148d55e088f7446cc33e5d2ecc9ccca7e0975f0ff3bd99be9f9c89d2891c00df0";
+  sha512.run = "d015369a268cff98571985f319f95df9ffe0255ad222e8c8133252c3ab5537cfc4c3ea11aab13a565c096e92472d7724c0ef23ce6a71f62c7a5fc2b30382a054";
+  sha512.doc = "cb5e9bbcc83b6081dd0207001d1b39c6e089e2ae168f20d1cc87482560a483e4ea195fbf208c342ba691d3c85ea9f4674b2eb6cf68db9f9d83d3b98bbab60dc3";
   hasRunfiles = true;
   version = "1.0";
 };
 "betababel" = {
   stripPrefix = 0;
-  sha512.run = "642900ca6b988de624ceb5de581076b1453d79e05d366f1516bdd753194385983da3a5f1dc9c4129dcd07d9f25cf7643f4434ef38049e7530caf7892533d74ea";
-  sha512.doc = "4fe464a60ea67365ec91dc2b3fd29ece0a1876418d3abfd441a51728bc220cbf94e0872e4a477cff70a16baa6f1a963591394f1c83f5fcae81680cbc6e3902b3";
+  sha512.run = "db2a590e8ed5e946652cc54d5c01bd540b87f77253278f9211c8720229992275f80edc26d0c94b4f68237d84a5bf7b56bd93a40e2a0ce8df5ffdeb124c81d219";
+  sha512.doc = "209f8fc6123f8403bf6a30731773aeea82c5c6de123e24755e9a22ca6f3ea170015feeb541242a772c3244e7b74f1a766e95886e4f773f21c48b353f22d6adce";
   hasRunfiles = true;
   version = "0.5";
 };
 "beton" = {
   stripPrefix = 0;
-  sha512.run = "62c3166cdad4825d4ea3158c77bd9ecc0b8408b76cc6610e01ec90b5ccacebfc8f1d7e963283f962b8ea9036209faa96e11a923b85bd88c2666b430036c4c10d";
-  sha512.doc = "fc795834407b69a59d0333d1879755a573d59ca84087293d69e05f3d52e289d2051cd769d0ddfc2619c56e2b42af94d7ac9dd529fcdf7d70c5fc153c8f0f08b2";
-  sha512.source = "32685a18a2638854f81278f50ca942ca50b4610835ceabd3d8e27b988b617eb0767c1338b50828edd6fad5a81e5ff7efef93d854b1bec05c5732692f98ec6104";
+  sha512.run = "23d243f15a79246aa590a7ec65249724a4460ac6e3ac01dba2aeddfc169875dd8392c1374cb8459ff84210d51822430fab9d75a87f0ece20323cd20709de0c14";
+  sha512.doc = "fa579427c97f930455bc548d5b438f32aa291d98f9d8b391dae686b270e135605cb3ddd6cfb9076cb248a17eabb4e62bcf4f720b2daf829b3d12d6ebc294f832";
+  sha512.source = "79e129919c06ef083e4f8fdcd88a60339591b3f95776feb9cc076e46fb379b5ab10f9b48f3b8a948e9a120412f818dd3d99cc24957d3eaa812bbefb388d91049";
   hasRunfiles = true;
 };
 "beuron" = {
   stripPrefix = 0;
-  sha512.run = "da308b98387f1594bc8ff68725249499605c97d12eadbc47297e2e142334cd32459042e446ed8bcd13690038407a0b776945e717f51c5e9109ed2fa4a3551f60";
-  sha512.doc = "4e02e575c17c7438c0a0dbf50e9153f6c589d6d264c8e56aba0b6db12f15edccd235ee50d1fce3e25a152b449fe018dd7669f0b6c5f8a491e93cbb2592795b78";
+  sha512.run = "623d3b7d8747ce1776de9d0ee6eec013c2050f9cb4a521167bcf23435d5e30c1233ee869ccb299360cfb6f8f4b4034a77d4fe601f789211b290684c0858462a2";
+  sha512.doc = "812dd30a9b49d7ab5e529f3c7ef934be5d72b75adeec1a38cba77c867525243ffd0d4f4901c9100e6518eb0a8c35e208157b8e3669d3700203ab7fe95aa29845";
   hasRunfiles = true;
   version = "1.3";
 };
 "bewerbung" = {
   stripPrefix = 0;
-  sha512.run = "bf2a1fb371aa934ed6be68892383f9bfb199830c23d322f2a95d7b256c42a2d44364cda601dfdb160f6020db9afa8b657940363d0c0eb00f7fe8230af68fce44";
-  sha512.doc = "a60b5b9689c80950a981ffb7d6ff2d99248a93dd0dbca27bc486faec1226ef2e568b1a8320a1b6771e807c52c7059c34aa987007b94312310732bc85501d2c20";
-  sha512.source = "c5acbd6482dc44872f832e3ace98c364b13479df01871785b0dbd14f0fe8b17325cd892973ccf64d86be2e58bfce3babad6d8a24ecd54a8756e0c73e00edc112";
+  sha512.run = "a82ffeb4fc7fa5bc42f06476df0c985d59d70c81b34ab50f10cf2117f8861a09b90ef3f53bee78291842a46fbc15bc40663d65b88c7c682c72b25fc86ccff2bd";
+  sha512.doc = "d9fb4f9da944e132187fce6e987be8eb0ef08cce80ce63e8813c1af8738dad61a93aa7c2e214b3ac0b77c980f8a000251ab9536c8a7557b9c7cdf66ae42fcbcd";
+  sha512.source = "260f6f1b5484358c7b558f8b78ca68ec5ac691fa367e634e5fe6f29b06ea9eeee868bce9e10717971d85c5ac23b71d853ed746842ad7674f7e913cf16b9def47";
   hasRunfiles = true;
   version = "1.1";
 };
 "bez123" = {
   stripPrefix = 0;
-  sha512.run = "146d5d569d8551456c92b0e1650c3742e2cfc32c8b27c562e13ac875eee0ffe12244a1c86d6456291170b7362ceeff5e45eb5e3a897fc72c77f80e6c3dda3b87";
-  sha512.doc = "39514aa357341f21ef2e0c9e9792e9a372a7f9719e50d759ee8e3ea1d02113f73ee590f3461776245807af00f62bcefa1d612ffe17e3aa4bb380e80bf065d51c";
-  sha512.source = "4ed3956d6bbe7b07d5c412da0189d33f523b902ed7d025f83fafc2fabf961165cb5c3bd148aa32dcb29cc706b9097b0a8111acf5a6b5136e9b27236aa2dad3bd";
+  sha512.run = "e70a0889ceab74fcff4994568a97f31ac93165353ac207ee683b28aee2ad3cb8f770d8e3b450e3237537e97312a0995fa8c17196ead0fce55fd76a49c77de72b";
+  sha512.doc = "91ae5e35394e5bf3a6bbcc6aa7d7180ba546b58e84683c569bc34f5b0f9dcc6ea30153305fd83fe28e3bcd8eccb6179d277d28e1ff56538fc6980a7c3ec8f444";
+  sha512.source = "fc329c0c99ecd10c42bdffde10918239874367e7b54a75c4de4882e520ea82e87188070775174a11621dca9bc5949a850207f02af7c08d1b6768ea87fba7e10c";
   hasRunfiles = true;
   version = "1.1b";
 };
 "bezierplot" = {
   stripPrefix = 0;
-  sha512.run = "81e6e9f0e5aa975480285b2285f31254cecc8d1aa1e7fc8a73fbc712817ce0f00f593adbdf2ace949b052782ca9af16f5c7d7110bfddc1adba3beba237a34b1d";
-  sha512.doc = "f9b3afd507446f9ccbb70efba3e9e1ce195ee5e9ee807e4856ea9dcbd550197c179efeb5127b864e6b2931e1a4a49fc9e2e1fbb1ed13ab752d1777508230eb9f";
-  hasRunfiles = true;
-  version = "1.3";
-};
-"bezos" = {
-  stripPrefix = 0;
-  sha512.run = "7d73937327ced324369c5b1b237ffaacd8c20fada22141b7ff3f330cf6cb94882a06466263fb604e7a3f0422132073643e980ed40d1d40be3616ebdd3c0bf38e";
-  sha512.doc = "d38dd9d243cbf7b24ee1a7db1da4e8c39baddff328c2d6333389558e7f7575218c9a731bd24a9c143d376d94e001e476e1bfa2d3d1eb348d5fdea92f46df8e16";
+  sha512.run = "0cfc80b93b76053591f4d76e3cd2f5518dec2dabc397b0d18f0d9edb40a0eabfd1ed608b0cbd6f4b7b28b9a10a9668b21f9ee798514bfd3ab4cc125392512d6c";
+  sha512.doc = "284cce26134afe943c4b5c0b3d968f2512fa1c47ed1f2b19e70f48d618829b76ffc200933933f27b407e1086d95f38a4e9ecfe85506ccc2336cd5fe7eb40bf37";
   hasRunfiles = true;
+  version = "1.4";
 };
 "bgreek" = {
   stripPrefix = 0;
-  sha512.run = "d05691e076bb2311a4c93d81a1d16082c3271956120df1ab47c9b70f22eaf643e0ad0177d4223f9d8731f2704dc9cb126dad8582704107b2fa2a2c900f189671";
-  sha512.doc = "96cdf8e0d80cf85f1460fdc2a07414ec5f26e8e931ffcccda61c138d9a37689e09703fe44f93b66f75cf97945ddfd4d12af442cb88cbf9ee7c1e1394eeae8c13";
+  sha512.run = "64a0a2a8e19d7fbc2953b8f1e9fee90d0367e5f943cbf146489e930d6a946f9977c32b5ea3fcb334c2c297050b36292f813e073e35866a167ddddb72f123a2d6";
+  sha512.doc = "b5af046a386422400434b1c5ef441cf1c2ddc29f5d4b089aab0ece392e7ea81d9ba224145d612d721d13f05eab3e4b0f2cd6283f95e096d831e6e68074d6fbf6";
   hasRunfiles = true;
   version = "0.3";
 };
 "bgteubner" = {
   stripPrefix = 0;
-  sha512.run = "3affac191c0a3454e4436621319289bda7d8efab1db8a12dc2901e02adbb3650036a4ca36c122a84e00de644f2fb3ca1aa9521a262d2801e2e1ec0b95dd64fc2";
-  sha512.doc = "2c0b7e8ed9b150a54802978a8184be7cdc8b8389c735766f36e62e4f1f6ea58244caea773d3187a3a551476c562377d1b65dbb1226280ba8553e07152d72f346";
-  sha512.source = "591c276c3b55c669bf5308c1df0b072919c575fd62b77a0569b3cfc838e6a681377b757ea2ee18184ffda9337a43c71493f12264b5fbad40b9c806169710ec50";
+  sha512.run = "0bf19f7ecb12194c2d112ab15226aaaed3737f99cb2841ab9c755e78e3fe92d43f8c1e3abca566426f1c16bb4a200790d77397129da594239aa9d2f9a6ff0a0a";
+  sha512.doc = "a4277960129fff04ba3ef6e24463866ae75ae0b690d8e95f618a7c95a442dd02e84d16793a4f5ac12a945ef3b4bc7af05fdc27e551c0e8c92c141081d6a71cd3";
+  sha512.source = "5d20396e63bdedcf2b94222b8e060c498539f92bd99c9b78fc0e0fa44eb95734dfcad7c16e503f33dbfa8032f49d7a6c1020a8a940077bba36ff73f5ecd45ef3";
   hasRunfiles = true;
   version = "2.11";
 };
 "bguq" = {
   stripPrefix = 0;
-  sha512.run = "04737d397713765dd8ae4a0142f1263c76f38d9b966ebc7f377ba31b65cdc9b68517d6edd0234605d951e114b9659f3a4fb611a7cd8f9d2595fbc2b309f5616a";
-  sha512.doc = "682af7fc714ed4e2c33f0941a395f1de6bd8eaa5c29ffb0c27db35fcc7cf8773350dc4cb330eef1020790e669707e39a704fd5495e03ff8c6872fe43ba235126";
-  sha512.source = "792f71b5ce4ea8526a8e1b6503b721c26e9cf4320bbb68e19189a1703aa4394d5cb559308110faad6486f796759dc5de065419055d2b5ec7fabc9fd70330f20e";
+  sha512.run = "8a795ba517941a07ec1445a16947ce5028cfd61ba2b5c818bc894ffa73d439162271d6269c67c8ee7afd6d13551d4a9bf73763c00b719bf3a9019a8e7d368256";
+  sha512.doc = "1bfe38f2d904af63a5a0fd2ab4accd04fbd294083cc462f7d53f79819f40dccf1c3c729ad591d15327eb120bce847ae62c2bc9b9554ea278c1974e3b37296dc5";
+  sha512.source = "108ecf4268a4491904d46f5aebdace10f8aab84a4333fddf94788b677088a584da284fd763a8f0ab19cbc335a3a143489a49836ba059971483faeaf40ecbb0de";
   hasRunfiles = true;
   version = "0.4";
 };
 "bhcexam" = {
   stripPrefix = 0;
-  sha512.run = "e5ceb38b2104a29bf680f85a12e8c80b58d1791a5ef2c1475f0b00aa5967da7337e7003faf18945e16a1c748d2b3fad18b4509d6a33829661f500cc828bd6bc1";
-  sha512.doc = "7c4b19e9eb34eaf5db0ff6480ee098e7d84aeae641f7711ad8f18c07dd37f2ecda51a98639fdd97a478df42419b9613716db0434347e32bc8e64193a3e1b97fe";
-  sha512.source = "5a025592fc83cb9982108f60b194dcacdde023472c012b9667e7536c21d4e653d75cabca4c5e94306267d2d704507608eb30a9c29a1237ad61e23876bef1ae5b";
+  sha512.run = "83841b8ee51766a9fd7acaef2f2c2662a969e5e6460a54db66e1b70138041eb799eda2e4881b0a2102a00019464a26253ca7d36d7858d2d56684f104bc570be3";
+  sha512.doc = "167f5a65edce24e367d6cfb7ebea877b13b1d9cb6f406689c9bdcf364aca0ed04d86c0c1cd3694986dab2ac10230818cbf58f8039568c3e5d9b6b4b98bb93ec6";
+  sha512.source = "ff1583e92e3cc10efe9baaacb523e87ca1884db4203eac09d23c246c1dfa01c5f828d595d03f88241ba4bf80b9cd7b5c62ebffc43e497bebd04144f80d5aefed";
   hasRunfiles = true;
   version = "0.4";
 };
 "bib-fr" = {
   stripPrefix = 0;
-  sha512.run = "bcfdb3fd1ad626544ad2434f544dbc3827b3e75bcb87bf32d9ae7ac8c404f6d008f14f2c3b45a928b8db8339f5f47fceebea685f848a13ebd50afda626ba16d6";
-  sha512.doc = "3b3d6d58bdca163ea215e5368291a086b6e02946309e37d0cf106f87712c0ddff57b0de49d4a5704d677016ad43ba00a4fce8962f8bcd2ef9df3f49e329c2c15";
+  sha512.run = "24e5ada94266ba8786470453bf8a076891e9b7efac1ff64fcb559bfe2c95875d3120634f94f464c9e40da0f45b18a78af1bc428106b31e85851a2998b58f0834";
+  sha512.doc = "a19ffa9b3ce51d372a7467bdf7e360ac4a0faf45fc2205eadfaff16fb640ffb0cccac7fd0849a74955dcf612e353f0e25f94c0af9e3b5bf617f067606c1da120";
   hasRunfiles = true;
   version = "1.5";
 };
 "bib2gls" = {
-  sha512.run = "6d48b9422d0c54a112706ad92f4dc2e2a03e7417641c21849d183e3a81668a93d7c5df306ddfbf87bdf67a5701e008c2c523c7f843cc5890bdb4c95b2b216d53";
-  sha512.doc = "f6e806e9a7f2fdbda3fb4cb5e0d44d7357315243b01647b75adc52feca5bec62537cafb43664f4b5a6d0d7afa2d5e0d33b5080fc3359656f9e827d41c8e3de03";
-  sha512.source = "c8cbeaa9b08c0aeb3e0236579b77ea1c5468927938efb86ec3dcd8e51e06cd363e2fe2861d9b3e80b25198daa2347f071be5d4d083785d53990454e7bc7da2d8";
+  sha512.run = "d96ac64723c13e4d17780ddddcf526840796cc329358cc1672ad12aed53d64fb09a828d5c0501e398fed365193784ddcc74bb944df8a924385e63a1bdca938da";
+  sha512.doc = "892a57451f2a9f0083388a22951f04ff2610c2754e66d2e9f1e48470023e4d5e2c3c74c51dccb8a32ba80bf3398be7707a7de74102d63737d94dfe11dc0f1306";
+  sha512.source = "ebd165839e3312d13240818185a0ee9234b49d0d7ecec1714536086a9a68e8f5e92e9f35c21ca4fe633af9bae79f6f1360a349a3ec85a27e190888aa1657f631";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9";
 };
 "bibarts" = {
   stripPrefix = 0;
-  sha512.run = "70221c32f6da531243ac191c504eed7ae6c82cc62499f4d33772084d1f476a4b25cf6d67c2b9fc12a90e13d8d827634be7e175166ef3a2e4bdb9cdad721cfca6";
-  sha512.doc = "0a244b8ab4fec7db83bf2aa280af6cf437ca90f60015cba9d603cf31e805ef70149a054fbef9e04c3fccb52e9fec1c72446024c61b03809ca54c1deeed00ee2c";
-  sha512.source = "318710e37bcf1c1abb9968b06ff563883045ed601f4a93f32d02e5321ae1049d3b082dcb915a403cccf4d80ad9c3cd782e9b8e217c0e0910e876e52b99e18a3a";
+  sha512.run = "04ac23199e53049f54b670a2c6de94546a01d987e96aed23617692aef156e487dbf631309b81aaa0a95885f9b989e4e9fd9409d444d319cd58169e930b842ae6";
+  sha512.doc = "4e6282217b655fe87dea8e5cd68ed0db14990756bf997e90d3a5def53da50fed63687bf33e00ed741ed437572bb554fe68ce34b146bd31f3fd16e9f66e5879f8";
+  sha512.source = "59a2a25aab81c196e50be807e43a2db0a8eb72b0990b7b5cd8dba971ea995f863986fe759534bcd306b64aaae155cc99a5c6432bda65346cf0899de2c62caa97";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "biber" = {
-  sha512.run = "76a7333f5a056201b8f318b35754988548df490944ee61e742fe70d7850d528733093f927f070bb56962591a0bad2c988a6b1bd3b4e53fe15a072d48b0e65702";
-  sha512.doc = "50ec800779c2f45084a748052b5177e128739a3e21228ffe987f2a8cf6e7511f918f5b0fdb8d37e9c3d3886b4b8476b811a1a9d680d29cda2617f1b7d170d434";
-  sha512.source = "710923e176c1375082253cfa5ec760f28a1910bbd1092302dce5fc09a0e418c46a7dc8a212a0237741e98ae9073d59cc29f9fac51848218c46d3d6cd20046126";
-  version = "2.12";
+  sha512.run = "38906d5a99cbe59e2e078c936f6f4d0809b5561b4f218edb3bef0a8125158781d3e511caa2dfb14fef6a426f00e4a5418fa33d6d890371f4bc36425ff9531145";
+  sha512.doc = "b33190ae07d73e7cf8eba7a23ebc8854ff904d7b8aecd92ab302f011277ab9055252aee31d69f2777d6d312605786417d942d8ea9d0520b0291b360cd6c706a5";
+  sha512.source = "a630725fee902e8e36d6da5b7e0402fb480f41acc1c7fb0b4a25db1a2118d64bb25e63628c8920a6eb5c881154d553a6217923b1358ec1ae05cc7fec03b1f0e1";
+  version = "2.13";
 };
 "bibexport" = {
-  sha512.run = "641bf749ed8154b2cb35f52f3cb07485a1c323e18aa0c18c8fe1d763db36297760e6eeead2258d58c77fc6c83f41141467ff6e39bd8e25d47e0dcf358c54fbd3";
-  sha512.doc = "bd847753a0a3ee5449f36ed917ecf55733d85e0a1377eac354e2202599e07b51046e34bb8f107b163e8efe0734831a8cf52132dd254c09ce886cb7526ec217ee";
-  sha512.source = "2883f82199f8794e78c9ac1c60abff192b5fe9784ee2587f571d1d776ec71df91239a6617fbf3e9a611b3a0a152d22f304a162f6b2c0dbb616915a0d2b25232e";
+  sha512.run = "75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487";
+  sha512.doc = "ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16";
+  sha512.source = "6c18b4e12e8eecdd03f6afae80766cebe3f826a1146c38b6387c6793abf284d3c44e7d4d6050675f01676128f1d073d8ee8f38f31a6081049b8c390b5a7813a1";
   hasRunfiles = true;
-  version = "3.02";
+  version = "3.03";
 };
 "bibhtml" = {
   stripPrefix = 0;
-  sha512.run = "f472c359e3f2795d66a46cd3b8a404a467c07ae1126285910b07e66e65697c08cde092c60a8d8f6577616cdee408a3a748845fe3d5891c0d64e7c8a345c9c59a";
-  sha512.doc = "66779e3ed6b984ce73d1ad536cacfc935ecdf7ede2847d1b1b4376ef9520ab275c450b6be68b8c014d89be7539c250855b888242af3f08d8964ab64c1eb52733";
+  sha512.run = "c7245cce245740f0d930518cfee66dc513bd4b43c8b5804e1012fb95f401dbca2321be44ba6251de573723ec2e6da85fc77b9a9192004ac2144bfbeb3225d27c";
+  sha512.doc = "cf01a0853d87180205651768b639ee4cf7ed1b6bb4869880489f57e37ed8fbff3e8406fbcae1d0c652b3d410f77af9b4d1932ee154c60cc79e2876014abf7b80";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "biblatex" = {
   stripPrefix = 0;
-  sha512.run = "f9762dea02276363a6e50aeecd9a9450fb4f63b9d75daeff6dee42969ed7e5918ba507319dc920dad44a578a42eda46b8eccdbabd3658b02a8adf312c2078e96";
-  sha512.doc = "a87c1912a48cf993c80ad64d23bd2f3104d4c6bd7c3d00b5c9c26b54c4d7e66c1bb08184199b476481b9d33352c37c997f6a30b631bcfcfe2fa555443f7fea8d";
+  sha512.run = "4858e37ba14539bee844d887df8339667a6fa9b4f763235d3bdb468897806ffec4718c3f47eefa0fd74b9fc6b658e17eb0229d739a785df0cc510257ee2a9b03";
+  sha512.doc = "95c6c9d4e7a5a392278c328ca2098008fb68c296067c4e4bc8cb7e283b584b4ce28aa17899f1ba502e0ffefc5101de0cc92fd915161d04896e78585ae256d106";
   hasRunfiles = true;
-  version = "3.12";
+  version = "3.13a";
 };
 "biblatex-abnt" = {
   stripPrefix = 0;
-  sha512.run = "19047867c6a73c1fb3449093ab39b43d0880fee4d211c1dfb5524b4c56c5d2a2bb97c5c6116fa766e1d2aaae6042212eb422a04812fdb2ebe964973b272760a3";
-  sha512.doc = "3631de9eac38114bd994e6dc6c20fe2b234498a8fedb5a6b15826f09e3bf64300d234061169e1ed11edebe329917d813927449d607a2139a1eeba4b4347f1557";
+  sha512.run = "f2c239aed726d57eb98cef8892c4b4295205d5a8d55a14b16db8bd6b42bf3f51aadb0dc767f97dfbcd8e57a1f867c5e344c604d726453113a007169edee0ff58";
+  sha512.doc = "04158e1b92a2976d2a5cc107e00b5e4ab90a85799f9e55b25936fdd0e141fc2196f0f64577bf2eb8997b7ba5b7e8c575bb725febfc397940d271ecd5f56138a8";
   hasRunfiles = true;
   version = "3.4";
 };
 "biblatex-anonymous" = {
   stripPrefix = 0;
-  sha512.run = "077b6d939707b61cf0a9b70641402270084c28cf203c5752f7c4837d4e17be0c3971c418ce92e65cf035e309beeaac34d5f70f02c724a68df59e91690f408992";
-  sha512.doc = "a17c36fc231151c106e9275daaf7b041f2e3727d6592b11fe4692750d5dc5a2fa26c380f1706fdc921bbcef52fdb4d37852604d4991fcb1f722cc3a339d38f8f";
+  sha512.run = "3a3cc037e3ce718c219e4bd4e380075d4a92d85cd1f490b8ffee10c5b80bb9e515f1f170b53eae033ea064cac2ddb3bb285655482e5cd65801403584fb9e215e";
+  sha512.doc = "11b4a4f281068004c2bb11028200bf7f8b1461b4b40d0b52b60d60f145b3e9ea38fb672ae532d8430b0ed889df631b1dbeabcef5e9373b720d4a3c3354254789";
   hasRunfiles = true;
   version = "2.6.2";
 };
 "biblatex-apa" = {
   stripPrefix = 0;
-  sha512.run = "d17be6a26d25fbbcc39dd73dfa7cc6df82d716081de1fa923315b0de5e5c16f42ff1a1f25af29b0ad2f4e290321d39e24de6cfcb2a49c7db212b2f56443f3ece";
-  sha512.doc = "2c4fd0032d46a816cf8f12c65406d39bfeb67e83d6753b7620e83ee247ef732814428864b7991c4fe126c5aa0bfd2d33baf4927ef3e3c18bc648f8849c016adc";
+  sha512.run = "5cfb52e454b1a0ba7d96cd831f752dbd977c575bcd4a280b21ec9bbfd3c13c6e7cf2d255c7204df9ea963465dfed0c6077fe8ceaf85528dd15b987546323fdf5";
+  sha512.doc = "44fc683945c8ea04b72741a433ff30fdfac239b7797dbf0f2f89f38425ee7a70456c874ea642bec2a8e28243c3ae4064b247378d572813aec72bdc55266ee890";
   hasRunfiles = true;
-  version = "7.7";
+  version = "8.0";
 };
 "biblatex-archaeology" = {
   stripPrefix = 0;
-  sha512.run = "248d34acbeac15c09e1e60359577e99f31a539c58c9b37ebaf0bdec09842f060857608f1b5d6cab945a61d1e4d0680b1ecbe8869775dc3fc2d5991446a8c217b";
-  sha512.doc = "3ecc5f88c7997f9cf70670a1f381d45667e5ee8745944ee225b56a7287b5b0c22aa6105240c29b3bca42ef8f22f3fd2512e1a9c345bd524dca435244ff39163c";
-  sha512.source = "dcb050f525926ca78914ebf5a92b665b912edfd0ae0fab4185da4ad6ca57d990b94be8f8fe7ea14c1e80cd80944d388e14dd22f04913f30297dc6de968da02cf";
+  sha512.run = "16e26c3a96789ac75333fb474e12acfd4e8bbdfe9dc19c5b44194842870238de100603befb0d1bc468ac24f5ceb9b1bae54ae6fe955f215a67d86046fc9ab287";
+  sha512.doc = "8929d568b2d6d9e7e2a1e6eb335490f9b9ac246bf1dff5553fa564675dbd9922ef1125b0f648b638951ba7ac1eda0942f22ea75eeac0ef20ff9b6533ffe96f22";
+  sha512.source = "f057e96faeb6c5d355b6bf6d809b64dc395d42781ddcd0d29b7b42b057f0313a1fd46e9aa34634c9de51dc2055b63106b289c441c35823f812c01db5eb431ba6";
   hasRunfiles = true;
   version = "2.1";
 };
 "biblatex-arthistory-bonn" = {
   stripPrefix = 0;
-  sha512.run = "d7dd59e1e913062d8b099bf3986b201cc655d7c7bcea61d2e97567adfdc5fc308b22d97c3209134937e7ceb4f481b1da2a3b02d0d501e65a13a186e413a55f53";
-  sha512.doc = "cc4cf4266d1f02b4e4476890c855f9e64588bc73cd6a7771f93c4f61f1e9c6ed0e259775f25d2d3f29cce5141665a637fcd746d59a0bb05ca8fc0738febbb946";
+  sha512.run = "93b48bb950e9a4bb81efabe4a3c8ee85d7056daeca88c1c1a070c5321b8caa0045c4005467cdc029f8a26b94a425235e36a36bdee163242194a5301ddd6fcc98";
+  sha512.doc = "e31b7912ca34e6ec27c365c2b3e549cdfb60bd94c19b9f1cd54d35d2a1b99ef2702c3f818f7354ef4f5d3157c0e29538a94315ae7af8177de23893e598c7d439";
   hasRunfiles = true;
   version = "1.2";
 };
 "biblatex-bath" = {
   stripPrefix = 0;
-  sha512.run = "56a86e352c2b6ed82d97088abad1ecef835e56e45131c926be58d9873179bb03d93fda3556af4945ea2c6c64724d9f2dae11cd056259d0e4d41d20c35c2a90e2";
-  sha512.doc = "a3d7ed4a1adde1d693599f0ab1a0b974fb2903f998a63f28be972d337a0fd42cc8329139417b678be8b039e2ec85b2fdd9715da1268d57dd239bef8cfd6c4bd8";
-  sha512.source = "8997cd0bdbb6a149b485ee03d729632f30ab279e3a466bc02d05a5b22331a277ce80bcef7bf0a3f8ef778d37615eaa797888ff84f478a6128ec0c907850f118e";
+  sha512.run = "a7c2e6d1131fe80bef091d7da888c9c119d70af480b22010858a61420c2819abcbc3ddcf29e7616df000cc8e23d3881c3c23f8c3f61b2fb83cf3cf381b699921";
+  sha512.doc = "2b051aca6922ea10e97b6b9759c4de31ce9aa7d9bd47d1bd53117dbe9560d216c944c0d1c7738f6fc5200a069ef1688fa3c70d86d6e04a9ddf0083c0e86e61a3";
+  sha512.source = "993b4e88723f9ea0593de57994a37a4ef8fd408f3c5aa932ecde3fb18ec35fe7fb2eaa5df61e5e26f0debc016b66045f257ce9fcfb25fc447c7eb0231be0994e";
   hasRunfiles = true;
-  version = "2.0.1";
+  version = "3.1";
 };
 "biblatex-bookinarticle" = {
   stripPrefix = 0;
-  sha512.run = "8a0a0e85eb2d696157fdbf62122b7cd2fa690e5acae89314a4f1df719cbabf60c29f3529c5869235cf9058b10b4d41adb837b45fded4c645d5b63b4b856a4214";
-  sha512.doc = "27de60adf24a14ff2b2a31ea93ac0db8c549fc2e772a18cca4877a206c5438bf507e29bae2077dd37a6a02dcba7a57653d6d4906d894c6d795f656b174739296";
+  sha512.run = "8a7bfae09d95434d6db671e4037a2f1d5c1ba9cae5982e286389364ee2ff24f9a2daee78c69e529efd06be37d2e6a6f860820361feb42f5b84157dda2ef0988f";
+  sha512.doc = "727228b915e6b370a74b4d38dffde3bbb7ae47973c33263bafab2aa6b640102775dbeeea7f09c046903dbfe86dbdfcdd8e0418d125a51678e603425328cd2da1";
   hasRunfiles = true;
   version = "1.3.1a";
 };
 "biblatex-bookinother" = {
   stripPrefix = 0;
-  sha512.run = "db385de0ba96f64fec635a57ee42e7259581f1968c50c08c4d92d1664f5b9e62d0b09d4c4879158d9a4544168a7494134ec7165a16713f61df46436b053bae2b";
-  sha512.doc = "63244266ba1a875770bab278f56a45dc54898e7a39c577a58e19a0c3d8daf26162d3a956b9c0f14bf190efea34605c64d0eebbb6cfaef6bcf05295d752856742";
+  sha512.run = "2e6f21726ee4289801546508a26a9416b6725059c63f214d7cc8a6a8b3cf7d3b60fcb87fb7451f4ccfe6d1a27b986e9e0ddbd5a8f0b1070d7e37b775d07ec7d4";
+  sha512.doc = "5c6a1c0b44533b518d95f0dab2aed58e41253c97eee9d04b9b734bcfc7eb2f8437f835a3b7120b37fb5ec3b58d8929b93185fe9bc43c78e15f30fe1f8e7adfb4";
   hasRunfiles = true;
   version = "2.3.1";
 };
 "biblatex-bwl" = {
   stripPrefix = 0;
-  sha512.run = "f2d022569320fa5de519ab2801058fca0f33d186269c5aaaa5691e0ffd4c5f1bf9c1fb9bc434b9dc0145a227402cce2ec9a15505431dd6b8c679e8c277d7f459";
-  sha512.doc = "5ed1483562ec1e1f0045a8792e804ad8e90baec693d4b0e869befa0d8d42e833cdbdaea0c456628adfd1115e2c6c7b1f8775ce2e36e4e97a96d007d02e01c20b";
+  sha512.run = "ca5e20736a70ed02fbdada150433162b64b39b0d95bca623cebda8da821bfe8554f9409cdd49af7559737dbc6d6033bbf6868f5ed809b1004cbeba4bbabbc38f";
+  sha512.doc = "32acf8bc10c07532e8d6174f3dd9a1f850acaeaaa5a91d14a1c299f2f5f22e34c619a41fd9ae7a90e097fd5ec30fdbce581f65560e2891f697ddb0106469f50b";
   hasRunfiles = true;
   version = "0.02";
 };
 "biblatex-caspervector" = {
   stripPrefix = 0;
-  sha512.run = "4c8c8ee1f22204d0df7663a1f2383937e37a3290456d9f8b7f4c7bcd982ca0d18fadad63fab762c47b05b206ca36ed78788ea1b1b031ee71aef271c1dc1bc708";
-  sha512.doc = "13e12c54dc1ed30a789719753b60bee82957eade3b7cff5f017d0ed8fe1681d5add13ea14c9a687cec79c5491e15463acdc27e008d38295486387799b2958a76";
+  sha512.run = "f309df056d2fa0d58f46568e64b188d21414d4640106ca11ac51cc1de779b3e7a76d2633b1adb38412131c682808dfb2397093969e69b765c3d79099f421b9e7";
+  sha512.doc = "78de4d815a69d965c08cd789c4c42aa16342f43dd9e485dd4af2ed10f688c32d69bad9fc9678947e8c3cffb4c6baa4cf84e4d6f90d21f1f99acbd9c3e5b11153";
   hasRunfiles = true;
   version = "0.3.3";
 };
 "biblatex-cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "61466243d934c1b73f0cd8d41092246349848e907ef82cb24bd2470bb7a8c913e406b03dd3a8d1cd1f7f567231b986de2ac503fe8c43d1e830ca4326484c65bd";
-  sha512.doc = "eebf8d31fefb377cd7225c949459282120955a69402e5eb8fcd1571426232e875faae796211c4932f444646ec270ea9d6b8489eebc5856c372818137f88bcb85";
+  sha512.run = "a974a8eeb4282f66ebdc7a57d40c76b0f2bc957249c130d4f97aa9f9749f5091745a87db277c3bef43d0f4e37790a9663949ca3bba3b28a16d37c13bd6029181";
+  sha512.doc = "a2b9a82afe127d0bfb71f3a481eed3198e27ef35caa5cd08557ed35645f6209e9187f1e0c21d6fa51e6c32d0cf044c0d85373195a5f034c856fb4beec360af13";
 };
 "biblatex-chem" = {
   stripPrefix = 0;
-  sha512.run = "2b4a343f9f9bf8aa6ade7fcce503ea9f83237e0580a5be542c76afa99dd59f0bba6757385aa84ed9f6c48cfec6eabe89e756d82a0ef5bd3871614dd4785a2606";
-  sha512.doc = "ffe53ca0f577f6b89b2c8690240c98642e6c3b2fe8433bdfb18f1affda42fa560ff3c1d71daa5944acdaf7387b844421c3004fa5b16dd172068f95fba64f796c";
+  sha512.run = "6a7494fe396febf23e6d6afe7f7800e7117c722aa45e28373acae3590bca898da8867269d6e148b36c4da301b60c8c342f4ae24dfeb56d0100528dcc4305fbe8";
+  sha512.doc = "90bcd8c128dd7d601a29c828302ef3cc4dc345a77d6dfda9962061ebdcfbdc8ac4a2525c727985a14467bbfae651347226fcabc395318ed490bf4d324476ed28";
   hasRunfiles = true;
-  version = "1.1w";
+  version = "1.1x";
 };
 "biblatex-chicago" = {
   stripPrefix = 0;
-  sha512.run = "d945cd648ae04cf02518e86c04e2ef8022bbbb8faed1314f166fa7331be2c3eb5b4e60b3d284e7635c50630d297ddc339c3e34ee3a6b42b87f46796c67abbd58";
-  sha512.doc = "9994435135e5ce936b96c951a22a1051ca187ef2bf6f4f202408a69cd91369614efe9da79431525789d1fe439e426e0d710b3e49969b6074a697b50e0f7c66d1";
+  sha512.run = "85f50368da0e9497b92c09548c60c7160779fe583a8817a114d625846349dbdb0f9be6813476bd74246016b85badf90733557770094207107fa3d23bdb436783";
+  sha512.doc = "aa511c96eed89d10629bf6f47aad832530f1c108a6f5eea64bfdb9c47f377e7b64b69cd55eed2022ab79fb0d93a31574adb9182919b2113976d1ff084898e920";
   hasRunfiles = true;
   version = "1.0rc5";
 };
 "biblatex-claves" = {
   stripPrefix = 0;
-  sha512.run = "ac285d57ea40756278dec10115b7bd010931869c5e4bf609e062f1afaba391a1dbc0cd7e596e319a09b035e36469037259722c7510af726846cc2567a88d70ca";
-  sha512.doc = "08c0100250f1af5934f4a17ef0a92205c75492acb8dc29164359db764ba7588607745d893ff47b926a7be4599b67f337be6189d68c626a69290dab3d046560ca";
+  sha512.run = "008cb8403f1b35a7fd077f8ac2f33f73ced090ce3d65ce678ecfe90af8ab6fb2b4349342aa838d2d4f1e78d0d87267c7b8206a3377c6490499ee9196498c130f";
+  sha512.doc = "a11a4df38dbeb4c27f30b824c9f1ba230d273e227b8cdbfe5f61268a1a2b7ff3193e79d8e8bedb6f9334df39001b71a3ec78116637745679bf3d67582727371d";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "biblatex-dw" = {
   stripPrefix = 0;
-  sha512.run = "4b9b61fc545108a3e2a9d37ed7960074befb10147ea400413d1de47cd86e4860157c0c826c3d8855d7fc8d5c482184321487583404057654a1fed16b5340312c";
-  sha512.doc = "e7ab58892c2bb83e00929487130001427c4f70ebcbdef2bfd54c0bc444442ce6298fec06a799fecf7e4f7a639caac9b23cfd71b5b9ffdae93ea3f088dbe4a7fe";
+  sha512.run = "faa43e5f4de281747e5cbc22fdcbfb7d03c5c04d68245340e084c4e34f1ff9917c6ccf22a06ae4eefc41f7a5315db15aa8b51f2a8c3ed7c68cd033308fbe99be";
+  sha512.doc = "d29c64dac41255066a844639e4330193811c62049e4b38600951346d4c126a495fab78458bd322fb3defc4352b765c1a7e7a73b7c64bdfde3a90f3e5a74e4e4c";
   hasRunfiles = true;
   version = "1.7";
 };
 "biblatex-enc" = {
   stripPrefix = 0;
-  sha512.run = "f3ab0311e71baf76e1f87bd39eb1bbf8a3e2df6d658c2dd6d3515f847b7bdeff898cf9cb799961c285cf103411a4d4f5531351ed98f7e7018ffd6c1cbaa0ad50";
-  sha512.doc = "d9f9ac3778042800ec783f4ebcedf0a8b4c6eefdede609175d453e8862d4d96ad4be83fab4496d54db3c7cc6c249b21943b8ce89694b1280bbfdd9994a530419";
+  sha512.run = "6aab8a819ce9a3ec2d6676ab8850c3fc6bb81e5af5c9414555581cc9d164184d18ec550fb0ca67d28d800826356f1c709144ee7d38c0cfbc274179fa813a3a0c";
+  sha512.doc = "ae50544ebdf7bbf9ee708f193493ffa241ba91f0925a2bf03b6bf1ec486586fde3c630fe717f4f2904373c08a2f9a90afca86b50870f87aa0d04430554650223";
   hasRunfiles = true;
   version = "1.0";
 };
 "biblatex-ext" = {
   stripPrefix = 0;
-  sha512.run = "2425f9245dbadbbd6c07e3ef6342d13113ad3badb77abce509c69d9455bee84b2514e2179c74be371efadb272a802b3c5fc1ec1574a8776c75d37c7f1139237f";
-  sha512.doc = "0b6634482393e27597bc2ee17f069ce44380fe562955304750921302ce7e17b3be8fb3a1cf8ff5bfb6829f4106f594a07d3f226f1899fe8d150aa3e7327d56aa";
+  sha512.run = "2cc2dd7ccfe5e664471bc67992fdc655d66fbda0f60dfdc62853067206c467cbbf85595983df25a71e317b3193653996ba76147b96419f32a4c0df0f9628083d";
+  sha512.doc = "7ee2a44ea93c1e7f85f046ac36084a4a7d521e4fd48844e75b68b61551f35d6be75cdeb7c458c83e93eaa7340acf9bb2f99c10c242ec129cb0da38e1d5a3a247";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "biblatex-fiwi" = {
   stripPrefix = 0;
-  sha512.run = "746a5fcb296601adf0c5b1e218fce17c4b25ac9bd9e96adc792f31d8540450bc5cf529dcbdb3fbef7187c28f37686b5408d186dc03ac3d190e95a2fabdeae57b";
-  sha512.doc = "5609d95a5764ed9222c21e10cc4ee54dae6c6e69bef901aa96847a9da6cfe43f86a9c39dce5f7769980249da45b6fba96e20ad39670bf19cc317438529b6fa72";
+  sha512.run = "72b1e41ac55403f144529fd5cbd88f51dfd61cd637bd8e6427a2714d3684ffa37774c698475994f1481442cc8eb336d8de398d55b3df28e5e1615b9cd74cef27";
+  sha512.doc = "37fd37d39fee963af8567cf27cd266597175ccebe20f016c7dda699d95e6f7fd0408a57f9061b98996a6ce8eab04a8ed376e6e29b5cb41635d004d24082e91be";
   hasRunfiles = true;
   version = "1.7";
 };
 "biblatex-gb7714-2015" = {
   stripPrefix = 0;
-  sha512.run = "87d0d2466b24790d366c5ea1f5fbafb883fd61bdc6c2e96c4920f90b70ce9983a61db2549d9cdd7e315006fbcaf0c1ddcd1d817a72adafa40fc64e613d7817be";
-  sha512.doc = "a2b9bde20a208340d41b38e2c4b3253b4773ddedb5f64a7cba5902ea2f7105ecfcf22598a1f379d1e3f5fb7c37870ce5585d1de25615b1e778d98885f1b2a452";
+  sha512.run = "b81acf7825f546d76a55e617c5d78a85aa6b8ad1c35fa63543f49180b78c59629c97a9c11db1291990a001bccccdcd725cf2550e5df46e87528eccd96fd6f045";
+  sha512.doc = "b6f51fa52262b40b847c62e1f8310f7a1d2d2de73608b022286ec5686677fdb7861d2b819c291ba7bbac33dc8be720ab05900ba4e036b37552a7f8e086a929c0";
   hasRunfiles = true;
-  version = "1.0q";
+  version = "1.0s";
 };
 "biblatex-gost" = {
   stripPrefix = 0;
-  sha512.run = "b6ec235b233a6584d5ec31d422b3523cff165a25af46bb27b5188fca73d828209016f424ddf1ee6709d4314f413c09a6935e68c72139a9a3ed12e2cb361386e2";
-  sha512.doc = "f0c5c01aedb0feb6371582192fd6f54eb7de81989e58cb31217c5dd8dc932b355b8b8f4976ca358f989e675506fb342c6e0823362dcfac18ecfa8047154325db";
+  sha512.run = "bba80e3d8452ff64b54f2f71ba7440f67c823583937b1ac82c6f63e61fb72e69d08ffd01ecb76753ba9ccd9defeb2233d426afe474605134d04659b3f1b39a19";
+  sha512.doc = "e6187b9afacf87fed1877057532a0fadd6dab04cd5de084931cb66a2ae2bf8ff4100eaa1d7aa43dd89c208c6cd512b36173b83b82e37829cbf455362be683f42";
   hasRunfiles = true;
   version = "1.17";
 };
 "biblatex-historian" = {
   stripPrefix = 0;
-  sha512.run = "9ec184e58b387cb0c7dca1f8d7572adc87a6bb84cd39750843fd99cda4e72b40eec06b3910ec83ff5fe40c924777de989451be4524b86984e805c3aba826beae";
-  sha512.doc = "bc94e2154d1ee7315ea50e3a0637c42f21dd5654d9984344c808030328b25ae7fb0ec41825a2d7b50b50948645e018fe39aee6b740b3fd8ac194f8b3283d8e98";
+  sha512.run = "bba5cedd64fcf0c0cfbf9b56c66838141917ba1e7c2f27aea5bda44261ba28366b465415e3674a2ce398812d5cefbb2727c7e5e1adf53a2d9779754849664502";
+  sha512.doc = "ed87ab74fd06ccdfa0923289dcd7a37df695fdf76003aa7ab142c9d924fb69a81430ab7651314a9a391b9114dc2c2d63ffe94461bb00fd33d97ac9e8c5b2a8cf";
   hasRunfiles = true;
   version = "0.4";
 };
 "biblatex-ieee" = {
   stripPrefix = 0;
-  sha512.run = "5712b4ca9dde2cb5c8353840db1d8bc860d611da8a7d8c72d1961081fb165fbd39363db8369f1b8d53c02e4a05770812b50598d4f78ee95a1ba6e15abafe4420";
-  sha512.doc = "d4ba471f45649bc7c9b10b8d478d7438f76edc97fc5396281eec9a4f7ec196baaea4f423a57a05d75bca16ff153fe9d82a53db9a1be84a804671f934b78ee8d9";
+  sha512.run = "57cfe53365c131afc5a4778166e52bd5bd4d2bba666a536f03e6ab5ff74ef757e9578910da0e3d69ded2f85be509992860e0f1081d2814f293ef3fbb6531d64e";
+  sha512.doc = "d2e22835c9c28134039ba0ceb808ffc76d0be0e6c367e76eaa078c332fc69a4bde00549c9499d3451f468bded8a5345114488029c8efe142da8c04f86a60fd8a";
   hasRunfiles = true;
   version = "1.3";
 };
 "biblatex-ijsra" = {
   stripPrefix = 0;
-  sha512.run = "aee1d70cbbd41bdd3aeb23906331d5f49efa342445c7283d7aaab28c102a37ef0b65a78f7f608ad92726a427a53a4b1a81c843cd0901be7f2edc53b8e8642426";
-  sha512.doc = "7a43890d2a2ab1e4a53aceee13de6feade768d345b4c48db9337e3982cdf7ba9f1091d9f7495255ac351cb4f3e5968d2a52a8a9794baefccc791e8db38ee1bc3";
+  sha512.run = "040efc5b43e2642251921bcc49db1ae2e00342100d302bca24e2b7b11d1724797f1fe7aa254d01b35d1dfa316f2b0f739664f275031c498b157bb652c6aaef44";
+  sha512.doc = "36cef635b4603606d36f13b489320e10fad48869b8cdbe78d6f81ca9f3caee0f3e14e408236b1f18e6c7cbf3cd414ed8eb2863058b31e761b4355c6ff1230dd3";
   hasRunfiles = true;
   version = "0.1";
 };
 "biblatex-iso690" = {
   stripPrefix = 0;
-  sha512.run = "85bdaf6d40dc82b8d2c0cef2b590b8598a25fb782b6775a02515303dff18a06cf7c7fee1c423a385989aa7aa39850313714a028f7900cbd04722a12d5b560f99";
-  sha512.doc = "4cca71e549308b8742394c34b9b59b11a57c42f6d673fee880ca8cc0f3b5c7f4bed3cbe2452d4bf2ad7d1c0e83764c2de63e697511cfdca2717b3f955d27c4e9";
+  sha512.run = "f9fdbc47e9d655a525d5f02a82d45ddc89cbd2a7ab8f3827996bec5c28c3e6f3f8ad5524ab129a86b235bebd2c3005dd2abdf121bfa419292a09d0915ec0badf";
+  sha512.doc = "ff6a45de0d40f99dbd55402cd4aa19fe4eac71a1e65376241ea3a4fead3370208acefc8bb37595c8bf380aa00d2acdc7657d195df8e62fef49c389d0e698bfee";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "biblatex-juradiss" = {
   stripPrefix = 0;
-  sha512.run = "5ea106dd843279837928b1c36d8ea2814095e124cfe9381b0ea9265cc6c1c6977cfe2c23ab8c973119e2bb16d749fe2903ea0961484a61b5973ece7f30438dfb";
-  sha512.doc = "e15d0c776df860a1de42f9d9794f1fac6fb30df7b5c203d980c292717279cd05d1a375d0bdfafd4f72aed364f380003d2607e5fd7c3c1f7c713375b9b106bdce";
+  sha512.run = "48e5d926b24752a8138b1094ba47955e9f8d479d3572c2c81d727824e0e5a6243cad37d3a61f1d28163b5bddec6ceb2b35a5f19aff722980eae350ac9382cdd9";
+  sha512.doc = "573378ed40ce0a3efd0c47bf0a32d146543e16b80dbff7935ab980e82de61a1d8023688d59fc2df001a3415b9c73bfbbeae3ce4c240c2ea958a65d6d2003274d";
   hasRunfiles = true;
   version = "0.1g";
 };
 "biblatex-lni" = {
   stripPrefix = 0;
-  sha512.run = "69bf923fb03d441cb4e37ccd8c4c161a92dc5a64777f99924a4b0312b2064d10e7006acecdbf6fa18bca312d727420b99f52115b442607a7d33c500dfc373bda";
-  sha512.doc = "608d3d1a287e472b0679f3d537963b5809fba92c2e0987ec259bf87aa05d389eb9f39d780dc6d6c8a6081e10341aa3ad5f10370e017ae9c52b4bebcf0f0ce2d9";
+  sha512.run = "9089117cc653cb9251622299b20d79525ae9623661de402732c9b9f47b2b296cc0b756bda279487f5d042316693ac624b18352dcfd04e6cec436a402b9bbba57";
+  sha512.doc = "23435bb5cdcc7cfaa58d732582e23d3a23589ee064122b231794f17ecd0137e7a4a0e21057835d3925c149d637a7bd12270b4dd05cff6259f103498e0989ac66";
   hasRunfiles = true;
   version = "0.5";
 };
 "biblatex-luh-ipw" = {
   stripPrefix = 0;
-  sha512.run = "2a2cc43edecf55755e904d0b215464af4b3cf36f485b37973290ba649e51fb33a63cc891840bbca7d3869984aa21b39f9340a0441548b748d6e576f761f8f126";
-  sha512.doc = "b6189701e411bbcfc7ed81ebd96ef675b2e56e5aab7975c553411f838222ce4239b2f04bbb3ded53f44eb5557cf76c72b3824f82ed69180eaed839d5463d34a7";
+  sha512.run = "e58e2522d9a4711454166c816b971bbf6bab1f8d1c7eea122933c8b7955a49ad294df410fe0a75375134b77d442bd5214ee25d56d766be7e5843e4ac14d7ef5a";
+  sha512.doc = "bbfa55884d3dd3167618f6f9595c301e5faeab0a35cd058cc68922a2aa8362cb3a9d035eaea06ee43c428dd89d23538b15bd4c79c1e095ad10aa4d1d7184f92d";
   hasRunfiles = true;
   version = "0.3";
 };
 "biblatex-manuscripts-philology" = {
   stripPrefix = 0;
-  sha512.run = "9f75fbf517c36d9d8a2113e5482bc8dd0bf4a3015466ee6d6e4daf81ab5f03c903b653fb9e48c4f994fc8acb9a976377bd1e23b53dc1b79778b2213c1574bad5";
-  sha512.doc = "3519df7197e7d29dec7cbb3372ab105f9cfe1bb871242538c596b768ed11091080f88f260c317a17e99d79c44833cb44636a02cf81eb421f96dccc0947efea90";
+  sha512.run = "47fe3d91435d47fb5a5b0c0fb1a7c98cecaca3a44f03446e17f9be3ab4239bee5b2f2413ae8aef1beaa879256bb84db965b38f5cf2c6f2619b0efe2975506bdb";
+  sha512.doc = "da2356f81c1f02ac33bf7d34c01e0d68d0567766ec562298761edf949d8e0dd0b6c486ad99924811242af09616a4d055385546734023f80a164830ac605dd96c";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.1.1";
 };
 "biblatex-mla" = {
   stripPrefix = 0;
-  sha512.run = "0e72bba7cf292730eef401cbb8efb77444337d53b18593b8de05d8cdc1fb5495ade07956c2ecd8bb9867d92ba6a183b4cae089de1fd54f33fa746ff894baa77c";
-  sha512.doc = "02b794bd50d1cb82734f09d23dde506d6638879f2807d3cdaa668e5fa0fd03e3a6e6e3987c17ad52ca94910deb28f56345a665eee5c96bdeed1869d6f101f37c";
+  sha512.run = "b6e3f7b5323e0246c1b2e1ee1c767b624e59d4d1ab9aac4bc24d59c15d1f8228695ccc072b30bbe1f4a2de24fb6eeee3c81095fa572f3e27a09f0de7c5b3994e";
+  sha512.doc = "87e9b73615b404f8b676b8a4158edac551f8dd3712e1f6ecaec473789df884c85d6ba48eafad428eebce10ff6f0c13b382fb4e4c79cc960b860565bedf7f935f";
   hasRunfiles = true;
   version = "1.9";
 };
 "biblatex-morenames" = {
   stripPrefix = 0;
-  sha512.run = "61ff89fc161ca7fb740b8b7438051f4fba73f72474f49b1e6e6363800ca1fc8fc2c770c22f1d9b1e987d2adc53a0097fb309759b2de3f1f2afb62ebe10bc87d8";
-  sha512.doc = "d44922b121ad52624ff9b481c25203bbc8284ae343d5d798afae8e046e2146b451c49209b2883a7419cf878b88fa55f0462ccf84697e1c8e70f2d4213c873c51";
+  sha512.run = "7e847faa586655aa7b3c92d9379540b2f5e78fb50843e36416e21552c6a9e810945f5b60a96a14c35570bd0403ac29a43af29bd46e2ecb0d87e3c6ac90345826";
+  sha512.doc = "c30953fabfd4717c56cc818e55f83995ceb203bfd67775aced3fe8f1f4f4a92b118ed9c40665ea28944806cb2d409a541f59df530e37274e3bc3babfbe55713a";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "biblatex-multiple-dm" = {
   stripPrefix = 0;
-  sha512.run = "7161aed86b84e56c5d89bdc9582cc85e5b461014b1136f03981c108cdea87e4b2e015708e807b4ae359d97ae34c9ebe0f53126224bdac635f3c2c6242128a008";
-  sha512.doc = "7e7ee8bd261cea78930b575a0dc0c2f748d49e3c6ead985fdb306ab374bf40dc5f9ee7fde884844211ffe4b216b8598528b99e4fbcfbf51bc190e6204c0bac2f";
+  sha512.run = "9f83220ae7f2576b4f58394634dea831e5759bf6560ede3244ffb9d18fbf522e9c728c47a4184a43c2dcf6807481a964d7e468e4e6cb921129440bf917925a8f";
+  sha512.doc = "f33e650b2faac0c7b9d078f0f4fd9da8a58562c6a9a8b13acbb4b23001d2ecdde105c08b6b6e62f138783d61f3e071f8780afee2f170c134c275ae62ca5a597a";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "biblatex-musuos" = {
   stripPrefix = 0;
-  sha512.run = "4ff1fcb7b8dbccc3f5efb81d689bdc248f23b5426b605398df2e43b2d48d3d7f690c1056ebd1dc509f627e9594a1fba82058bf17af972c79db0fcd6092994d25";
-  sha512.doc = "694da5a6ab21ee44b757a6c4e7fbdf9db29d808e5a3c16c926682dedc0724f3d2463acf5e257375046a8da294abe3b8da03c3b838477d49cdc3c8115c83f6203";
+  sha512.run = "129d1c12bc0e4e8fd339f7bc37442947dc492700a721933c9dda0b18edf78a9b402884376cb7d80893a06834f70a5d377fd264813cdf869ce5e40667f296d618";
+  sha512.doc = "d2fc62bb25394195a161e47ba116f2e795e6009b5f547d09cae2e21cc0f8171c610013622c2a019438e04b6c089d17c21333e3c70b8faeb09f90113cca9536c4";
   hasRunfiles = true;
   version = "1.0";
 };
 "biblatex-nature" = {
   stripPrefix = 0;
-  sha512.run = "b570b8a6d1608b67ed014e7095f197ca73345b5b7d5f818e74937bec9d73aa3e0f8f5e06565e8a7118899e478df655dfeb2566b473e644079b4711af0255889a";
-  sha512.doc = "aa3bdf9c5021847d0fa2a96e896e2c7e24bebaa570bce64ea3656246bbdd20ff8278ee45a0ce71c07d62ab81fd33881d3441f4c8a370f3ed2b7414c026ebed6b";
+  sha512.run = "265427460a57fa3cba846b3e7dd4fddf9639c11e223cba5e7f47da5b18ed1d348a70c29204378ab560f2eeacfdb12257c25482a1c3d9836f9025d0ddf987b511";
+  sha512.doc = "9053472af9e07e4c297ce0650c7d9d20b85dfe22645652a9be49e950bc9718160433e6ffa01e5d0dec04a036425e31d4b7e6c31de9fc7553a730720fe54eb36a";
   hasRunfiles = true;
   version = "1.3c";
 };
 "biblatex-nejm" = {
   stripPrefix = 0;
-  sha512.run = "65d81231d264c2c3aabe476785a3c1948bca4517ff0cda0a47e96613a7973df7663b191d75b968b728f6d31bf7da1b80c7570f28b2e94c428dfd9bd2edb698cb";
-  sha512.doc = "ebbd08d4e613dd74dc8939a2925e7757ce64287b60dd9bda95ef34ee0fa16fa920e786e0cb33a3c10e1b5fcb5a2b56445c7dddab3192bf9d0d9f7500d173e2fc";
-  sha512.source = "582b78c835bfdecc25113bb2a5f6cbad70f75bc733f3b0f60987fe7677a166d62d8d4370f9f729d4868707a63b4a309d264c8c250d9952a884934a9f9b15ce39";
+  sha512.run = "97443b036769ffe3487cefa6cb5647eadfb8cdb20db0f6607028298b196a0df1ddf1fdee85e3f163a138da47f28019ab32147f65a5f7cb23b46596c96a772799";
+  sha512.doc = "bfcf854e7545237dab17bfe3cd2045a1914397a02e5fa31bde2bce8c0e44c474fe0389e2cb8cd59516f4db9a3b538524f8321723a49c41233de637075bb41720";
+  sha512.source = "7a2cd3e8205c9b081e9a9601240dffd3943eef31cab5339de92be61fd023f3889958292ba8698760e8d8e6cf196f306b76e34c677d6aa2074271d11cbd78f799";
   hasRunfiles = true;
   version = "0.5.0";
 };
 "biblatex-nottsclassic" = {
   stripPrefix = 0;
-  sha512.run = "dac4e1b7650d097b9e2acfbf25fe64c834f955e72d2ac0be23b37f195af17c74d0fe4da54327b980b2e767ca974d4cb718dda03fb2613234c79d6726674c4d31";
-  sha512.doc = "48adf754b1364e2e44cf2e15a84aef70673c2b31b928a37ab71fbe2ff14a6f626b63f106774a896b55ad7249f4c242f674fa138ad77535d5d01d3512eeb328ab";
+  sha512.run = "a0da4bac443dcbc2c0d8b97d4eed21c171e876cdaee3699a0652c905088056802bc12e1f16965b6b2063e1ca0dee808f5f5e9fd9e5f6da7f956548fd5bf0b222";
+  sha512.doc = "d0b6de2439ff0698b14781deecd260d5851b44da80a10827e0b0bf5ff21ddbe46b979dae9afe988ec1520387668a802a777fba28a830b0e0a7ce60988bfe375a";
   hasRunfiles = true;
   version = "0.1";
 };
 "biblatex-opcit-booktitle" = {
   stripPrefix = 0;
-  sha512.run = "61c9180f4c7bf0fd06bd516f4ed8c036a6f61c16a220f0d0b880a1f42454f0be64e9bc908d4f660b4c71abf8df44741fa9b4c9a64aa0a8c125d315acd37f61a9";
-  sha512.doc = "eb5782346ccc92d5c7f3639865a14d612b8d3c95eea4bcda756c7a382028633c798e5e95de37d19a92d859ee89d6ab689455abd90bfb9f4e2f2a33e426104af3";
+  sha512.run = "4779618979e358380b2d9d2163a8e62274093bc4e7d7a959364b1980d86110233f3927a80e2dac7390ec43d0626f92311d5923657872d25bdcab5d93dd84956a";
+  sha512.doc = "81990177b6cb92dde0e2d1371fa6e5ad6685c9750eac87063e336fd3412b46eca40e091bf2222631f6abcef995fd04c82a3cfd3f87baa2b069c74457edf7f13a";
   hasRunfiles = true;
   version = "1.9.0";
 };
 "biblatex-oxref" = {
   stripPrefix = 0;
-  sha512.run = "c8f8217bb3fab9bf147a778e8e3145854b601010389d1afd04f05ffb42394df3ee4f6f2fa985cdd46e3d048c49e5b5b5ad2fc25d98b4782cc9b952445aa1da17";
-  sha512.doc = "48a464e6e8362e6b1fe4450ec8b20fa89a1b519a42f58331bda20ac879dd39b15600b7c6526b542cd8e0e3954b33572352eaac28a2beda37d3036a7d767d8c6f";
-  sha512.source = "cb917f57534ee928e26a1bac1d8cade0d60f992ab6e47c8fc633ab8c861f31e1b4b9819570cc7fce02484a735118f433405dc004a3c592331e14e3dae85b3ef4";
+  sha512.run = "06ae3e10be6563c96570ec00ddb9946ad57f51865429e162603d77e56a9a0c357bd891cca134c1a35a965755eab6f33fe974255ff8634d21c090b935822ff714";
+  sha512.doc = "d7c9f617575fa74dd38214f91e4896fa8b7ad712dc601268f86a3467d88e03abddb9242ee235e23d18b1ce3b2929d49f23758d4d4b5bcbad79a9562acc4e808a";
+  sha512.source = "d736c1cfa5471adafdc5203dae07c3e17091511fed18538c049433f3c0f2a2a364c5bb424ac68fa4809fd566e0acd44f8820f2c0621ef57366708fde8b321a4d";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.0";
 };
 "biblatex-philosophy" = {
   stripPrefix = 0;
-  sha512.run = "0be8dc83a295554a7226e17a21a5cd8e4b8e6f518db66d47bf01ef01695147bdd01dd48cd3e81e55f62d1c554f0756349fcc8c239f4e4b6c76ede68b59f7e69c";
-  sha512.doc = "f1c3e2a5e2bf3f6db3dd07b0113d4f9bba367a32447744b0d092bcb714f93193c66dddeba12e63103f287d7748bdcd5ceafa8051be8f3114386ec467ca804399";
-  sha512.source = "7d377ce696c1388d4a930561de286d74a9019718592b70c84199690a1253470b544d123a66ceb05969732395a48bd256a54e66c87b2de68fd8982ed541ece8a1";
+  sha512.run = "faf78d9a7a551c2a161bf69c1a9146dd7846cb4ff1c3f6332806f955357a8f3af66b9ddc7d9732246982b9bba60730071390a0cf240a241d50db03655414174d";
+  sha512.doc = "1e68948403c72e93f94b758786a0c632827d5e5bdf0a8db2066e52868b2ee339bbf0948ed381d78db733482cfca075d9d5c26624df9f2f85d4ded232ece45ed8";
+  sha512.source = "e170fb71a9c429204fab059f266e90c4b67a2ecc24f504ef68f70c5ffdb8cc619a2a1963febc0ae308b27f75aa19f0d2e90445ef9e6f3bc81b2fc212c9cf4835";
   hasRunfiles = true;
   version = "1.9.8a";
 };
 "biblatex-phys" = {
   stripPrefix = 0;
-  sha512.run = "18a28e02f1749deba6a6ff59a000d2efb74809db62e6d7abd723dac53411a2898c4cacd93d464468cc55c769e1c6ec3db671f9ebbdf57bc6ea2c8a1d9c0ec951";
-  sha512.doc = "6d82946b9a9d3bd4462993f81b0bccae5340baba7f74ea5b839883366dc8223b0c0f9a3585f76a47031edde28bbe50025f1ae8ca8a0e96c7755e35812b3cd10d";
+  sha512.run = "8eb90dd0bf30a8eb3a6dae780d9b89724dbd124bdbae112c0d87f865b1e1ba106f13ccdc2d9299735899ef7b8e6aedce3dfa24264123bee1a14249fbf979c716";
+  sha512.doc = "87bf23273c9e981175fc36a2f3d8238fac13ae3115473f755e5151811d3a3903d31d4571f96dfae1a2f257da628e1c13dfc5fb17a49022f2995eacb4f8abbe36";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.1a";
 };
 "biblatex-publist" = {
   stripPrefix = 0;
-  sha512.run = "313099aac8478101d606ab1a49052565fc185a55e1f0119eb74f25571d21e95c0eaef5e1a4daee87c2b6c00421ad0666ed543351ff76dbdc218c4bd7227fadef";
-  sha512.doc = "1b8dbc733c2fb6ba0baf7ed9c3ea72392f477918863319ed99fa2bbbbe0c874e740e0fc4c909f9441e7f65287993734e7702f59f687819e0846ea9f7088bfd45";
+  sha512.run = "9f73dd60d22adc1af2cc87c7fe3cf38b50fcc173a66cd1511a08a37938a0bcacef20ab27995ccc2cf4912d2b74948e417d0209bef93be8bcf49f51a6883778a4";
+  sha512.doc = "1899ddf6edeb2ed11417cd90957bd9567041d6c06b43a56d08d618a734d7700e5092dc1e350ed03a08e82f3b2e8759ef8fed8f8933996d1d8a5b7ed5c8becb17";
   hasRunfiles = true;
-  version = "1.15";
+  version = "1.16";
 };
 "biblatex-realauthor" = {
   stripPrefix = 0;
-  sha512.run = "f76ce568cd7283cbe2608720e3902a2b1b08442f3c317c077806469e6815faaab029cbd5037adc0378ca158b5abd37997384a8bc5e598b84195e1f0bb761c1da";
-  sha512.doc = "f18740f5d3f8929b3f5e74834097cb26d1c314ede7e14a7a41a49a75ac9845c03b43c9b25cfc299de5b7ecf6ebdff1a241d38aecc25e9e82b85a2380ce35834a";
+  sha512.run = "dec592d3f16a431286f7887af863664d777e09e5784a53e9b99247e3bae86c7928907135980d27614e52ab6bd1f1f59a3e8633ecde05d3f9b84b97c84ccefa23";
+  sha512.doc = "bf0ed482905bfcf9bf5a8eda61f609037316012aa2992796c57d48b5f5ccac496dd372ef5e8c88262c8bc5b2d543cbf5f6aba8ff1833a99db6929dfbf379d2cc";
   hasRunfiles = true;
   version = "2.7.1a";
 };
 "biblatex-sbl" = {
   stripPrefix = 0;
-  sha512.run = "a329fa30457ed44a7a9de2328bd343e00168592076d2e76af7d6960793eaadcf6aff73eb8b81f342a16d6c6a10eda969b2bdad17c671d26d93b39995f7ae34c6";
-  sha512.doc = "a552576bfa642f7a7f0a661e81b67acd992639828c112e7c963d0c55f8d0350cbc1fff62b08c8b627a72d226c934c4a5772a46f4fcf32c6c0e93cf80ac5480d3";
+  sha512.run = "dfbe4de870b93fd1bd77aacf003ea56926adc6d52d0b5f47125d411738a66822f8c99bf3d58d0fe955105a30e5f2629a0c37ef5bc3cf00d3ebe895cadf621063";
+  sha512.doc = "c7ccc14015397b816ca508bed2533fbc2ff183dbdb035d13100e8ec8faee18ea7ce10f7d8140b2ebbc6d58831db59ed6a9d7a4b75b0ef346081deebc7c323b72";
   hasRunfiles = true;
   version = "0.11";
 };
 "biblatex-science" = {
   stripPrefix = 0;
-  sha512.run = "b7edb69c36c08920637234a0325daa5d5e63648a05cc134b177111198be1272dd23e914015cb8d242929941ace3043aae2ac835b5847f1e224c531c89072c27c";
-  sha512.doc = "f1d7e51b2b9bfdeac45ca029f5c2cfbf682630074273ee3e8a469551755e24050df5c7030e10fa19cc83035045b759998d60fae22965a6f4234d6cb6a50dd05d";
+  sha512.run = "e75dccc1a01975776cf94c17aad531823844085e4fa2ba54ba4f74d77ad193c26238eed602f309760f3057b6fc405fd01ec2a7a20647cd8570889832b1ee6bdb";
+  sha512.doc = "ad7d8fd4e54830d77f0a155a04cd523c5c789745b5da34b8ea1efe59ffd4ee1673045dec58d28b8234993a70061337178cddda2267506366549c2639f6c917b7";
   hasRunfiles = true;
   version = "1.2";
 };
 "biblatex-shortfields" = {
   stripPrefix = 0;
-  sha512.run = "7f1d985550a96aef803f752f294a06d5e71bc2ccea6e193614dcf6b9bceca6b02d3c878041df190a65380e03622c12eecfbe05b42a16bccd9360435e738396b4";
-  sha512.doc = "cf91da092761af447114594da766c62572c3ea79a2cc7ed120175eed0dedd54c291cfbc7a600584f0f8226d6d949411b317ac4ac6f99143225ac67e0500583c3";
+  sha512.run = "be9562c2b79e1f01a110708eb6c0de165a9f596bd18ee72dd6c8add0bf380222a31ae12d86ab843083ae3e7f47a608826b985455f4c8501bbe21d4f0a0e15b80";
+  sha512.doc = "e6e5e6c113ef43a9784f9000637d526f0bc989358d690d4f41be01e1e22abcb33f347421c727c411c2c02f0c11b1c60d54e7fc23180bd6f66c5c46bf29fc1202";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "biblatex-socialscienceshuberlin" = {
   stripPrefix = 0;
-  sha512.run = "e0b0fccb0fa2c7bbac6e89a4d0644895a91bc4eec4cb8affdd4729d55ff5c908c2d5cef4c3660427828edb5d8764d327fd6d217e227f55a4ca8db9d384a93afd";
-  sha512.doc = "5b1f5aaaacfd26b65dc5d06e77485cf15291550210f0cfbd7785dfd3e261cf65a4357b0e55761846fe58c75855f97ca31b4beac0db3c3d222beb926f6f2b4aeb";
+  sha512.run = "f927cccda37e1ab37bd01b49f3247b688ba0186db5b162ab9b73db7be5f83d1b261bcfbf355d575a3905cdfca2421b6b592ae0763d7575957ea382b451fb6099";
+  sha512.doc = "30c411b27e50e0f4ac46385a07606846ae3dd744879de257e2f2abec829e5920957d55e970255cc51cb768f3ca0aab629f30d2860e5745c4addf5aac10ecaca3";
   hasRunfiles = true;
   version = "0.0.1";
 };
 "biblatex-source-division" = {
   stripPrefix = 0;
-  sha512.run = "bb07b638d1fb70bbaa20505ba6d9d0a3a628b7932087d0913bb32f4f2cff1cd0997c017943b0fc047f440a98aa6f94089a99c93a60dbd79d8c69b006b91b0587";
-  sha512.doc = "bbae4db7e946580476775e15b2ce30cc87b41ee21daf2b1cca017bf9d3449ec1ff502596d79952bf0640ac9a0cf0399ba44e3456443106d719d9374d7fb45d00";
+  sha512.run = "f7a9b6a9f8fb21a5b9f06e3904ec2147ccd21383c3ced8852b22d0cf62088be103b674466ae571ace6bea52904f6cfb79ef2982bdb16679d02ff1d260d5b3517";
+  sha512.doc = "1ae3883454e6aafc91b996de520a4669a06a67cd74b9df7e7cb7d096291d5f1dbe728a2a0fbd3b5968fdebf64946e829c4722bff33ff52ccbf32d8055f042144";
   hasRunfiles = true;
   version = "2.4.2";
 };
 "biblatex-subseries" = {
   stripPrefix = 0;
-  sha512.run = "12f456ac834bb7537a1cc0b1fa6eaed4090c9c034b7fda85300932a425ba1ce296517ee928230f7be08e01543ebebca615df0ac338cf08c4f132719623314b1e";
-  sha512.doc = "f0f025e3dfc9daed0463d90afc0f8cfa6da36e7a54fa2d5d10d6a994e23aed7f6b01a3e5ed2e0d867f7b08d21fc6bc9b3a41139cba9d337e91c23d8beb9110e7";
+  sha512.run = "37955d7e547fceb3e3856f5e367d39a4952ee0d604652963db2a54466e9d6c1effb6b2c195ffd1dd15eec5552df97419a09763bc51af06c6726dbe40a6e3bbae";
+  sha512.doc = "94bf4807e0623c35690ef7b1fd879710a762630224c0a52ee4e7b4a96c27001a9653de2c7d2ecd2a12cda448bfbdc336c54bcc8fb6674782af017cddfdc8e5fb";
   hasRunfiles = true;
   version = "1.2.0";
 };
 "biblatex-swiss-legal" = {
   stripPrefix = 0;
-  sha512.run = "31bff495e98f09827274366c20debdf2a80b5ce0d3f76ae82eec237084f42f06a09a97b81919e60430978c51c87e2de1bdf330acdeb58b759dbfda4caaddca60";
-  sha512.doc = "540c841e51f06f1ac412dab33cdd90f6dcdc2aca106126125cca313b99142ce5f0e4baa2c9ad08fcccc6b45ce0087f34d008178798c59d4eeff7878805a0f451";
+  sha512.run = "fd21319f30eb2187333db187c7ad171cb61a75ad4d62ddf3414a04021a7ad4fce57836aa0d2a9ef00488256d5126c18a976f664cff8978f8aa1e80a161dce979";
+  sha512.doc = "beba2cd9e8a78076148f7aedb6b5cf950ed865de9432633f225c160e1a46c98098a8bc94c783ec35cd982e020736c85ec94bc66ad68ead05d7187238ceb0a07c";
   hasRunfiles = true;
   version = "1.1.2a";
 };
 "biblatex-trad" = {
   stripPrefix = 0;
-  sha512.run = "08cbd161c42e1f5c99d6cf3b74cf24db489bdb456eb969b86972a3d65760140fa5274901b76321f9696d2a07dec5daaa8bc81e7aa7f4e5f4fda1229b1ed74a1f";
-  sha512.doc = "17185bcd5c15250fc6791020b341b1211d8c7873cc16e752aae6ee3549bca0d44691c8944acf98d68779b01d95c8c169e9cd5ca8ce5f8bf7758258a15287bc40";
+  sha512.run = "3a21ed76cdfd4c327562aed15a56fda824b33fdbab993accc8e944a662e157ca8ce30c4ac6413b4365c27ce787625e03d206a5574116c205daa55a5211779f7d";
+  sha512.doc = "cabf53ca2febe8bdc26c56f58f99e811ab8695134f3b10c01f946c7c13a63b723ebd598013fdad3eff8aec9d4f629b16bd3915d9087b1dca365cf208a7f72ea5";
   hasRunfiles = true;
   version = "0.4a";
 };
 "biblatex-true-citepages-omit" = {
   stripPrefix = 0;
-  sha512.run = "bc7828fda0cc4395f6a3b76636f5fa41c0eea38f676f002285425ed826df26c6ecbd8a319390dbe3455d7457b2d85a22bdcba356f9e3b3446f1c47a478c1fede";
-  sha512.doc = "1cc341bf1636a3cac32e99431750aef8261f795935b2a098a240c51ebdb5294e363e020b35d83c99d88c558c6a53e4b2b784cf9016ab7cf0010111de71247374";
+  sha512.run = "908f6544890f69b4ca405c94e68c4814c52956bb77108f8e29bb4b6b63ad7de3bc0b1f1213a612f9e0ebd94ddc054907092451a9f326476f39e18a1f81ed0c63";
+  sha512.doc = "bb53e66c1aec87669be8bb608f82cd7683692cf87aeed792d1e9d49045039c15fc7113fe116e04332e8aa6331101a6e97e97f655e26cecee9636409d810f77e7";
   hasRunfiles = true;
   version = "2.0.0";
 };
 "bibleref" = {
   stripPrefix = 0;
-  sha512.run = "f331531e5c511427f132e90c60d48b4e54c33276ecc4ff0cd2cd037b119eff77a2e948b5a8e08315870e61f7c2773af1c4aaabef9eead6bda1ad8fbfdbd66da6";
-  sha512.doc = "1c5dd1973386d0f799d35b9e7b5923df291353f8082159da353c2806552758496b61688d79b112433d17e7ee454b48f094e269ddb5146ccebcb41a52ae49726f";
-  sha512.source = "5f5d64bdd06c40e73d7106298452a956ff7a662d3be8293ce16bc108bb969a893b2c8e9ee624a69ba4b646fba9f0b700c19df027b7db66c2320d3a53fa73f1df";
+  sha512.run = "0a25a0c4577815d27c02a0af30d1b70eddbb9de696c83333858d698aff9e8ed5e76d6b3278504cb153f284ce8fa23e0748140d7f9cc7fe1e04607825458941e2";
+  sha512.doc = "5479f8c951c37d27f6a4115030fc1065b1da5d9ddfc81be2ef6da561adde77f71fc86b49f08958a7b3310256c38b760aaa556b0a275be920f79b5c6e98e97471";
+  sha512.source = "b21f2e9e48dc4c1bb690a5ac6faec0664ea691bfab8c347df540f3172aff14cd2aac12fe38aee3a9339c874af158c2f440733bdadd9a0ebe45c5a28a642fe08b";
   hasRunfiles = true;
   version = "1.23";
 };
 "bibleref-french" = {
   stripPrefix = 0;
-  sha512.run = "090a851aebdc0afde3ad3e073d6a03b1dd7eb1334cd9f4fb8dec656ad722b140a898233ffa8c83253a859915c0df6d156ea2d9681b9fc569b04552f0eb91cc38";
-  sha512.doc = "7ac8246d9df83136dc0feb0e4bf9d76c788352a1f6b6d06a4faff5cfdedcf2b9486b06910313c06482536e64f72e830e782512d44c70ebf52f439c91177b4b1e";
-  sha512.source = "4064ad99c6e8cc67c814b969779b379126f690bf60351eefeb7f40e0d39f076d6f5e7f29d4621bfd17fdd11671753f23a7833eccbc5e574e1570b66492b7bbc6";
+  sha512.run = "0e7d9a9a6db26612cc2a78c526980aee6b1f47312e02317b5d9791a9386c1799622df36283337c57d33bf4935cf24b1cf65999875479973b8f1309392d97b3a6";
+  sha512.doc = "133644d3298435d9ceaa1443cea19dbf7465ef82a4fdde4c7f2e1f950735fe220e6dafb0512505f8762725bbbc0062413b646204ca728fcf9481dfcb51a9ef35";
+  sha512.source = "d17db1b6a96b8a4c69217e1685e653a03ed2536e146fc10788521a9fa95b44cced0abaff6ba965e654f4d69cc68d03f75956f619cfd8d2735c8ab605876cda09";
   hasRunfiles = true;
   version = "2.3.2";
 };
 "bibleref-german" = {
   stripPrefix = 0;
-  sha512.run = "bf8261fa3aac04721a934a645b82ea41f9fcf92d7c683f7f0aceb581134a2e4ff38c65a3100a750d0d7d9597d9853608080e67a40d58ca0c8ba7576313b753f4";
-  sha512.doc = "f20de60f57b4e2c39cdaed27c65336f18d90828abce1c42c150de7de99630c6769488d9d13ca1174e2a720e88d25d3100f38b3d5ef0211a9b23a51a34817d061";
+  sha512.run = "094177e505025eef5262b876fc49cfb09435b653c87fb1ee7453650e94f098bfbc7f5c78684849b3ce0cec2019d85a0413728397b5ffaf32bde542d8fa86222f";
+  sha512.doc = "c3c610fd8a80ca5a0b8de6ce4aac887a7d16f01e21d845fad595e1d5d6069d8e89459dfd187cc458d21bf2247f4f2c7fe72233a12c8e532b9466f2ceea283360";
   hasRunfiles = true;
   version = "1.0a";
 };
 "bibleref-lds" = {
   stripPrefix = 0;
-  sha512.run = "cd2ec9e5157d8e2a0c587abafb5b3be29d0007b3866fff1914c64e0f97ffe351985cc29f12ddee4b862a43f026e8de63aec5faa7f55ec366cce389f2bd3e54d5";
-  sha512.doc = "f191e15d805a9b853f565a5adb72ce001609352a8285e9c8cfa056389a423759530a5d7669eaaf25dce17934d3a905407bc21e1299b5adb549c553d901610216";
-  sha512.source = "442c303e0a3e130e21cf5a70cfc872ab1a79b9ef0b2d5aa581b2fb58a0bdc0d4a47be906330c8ead7b2a58d092d07bd7805f5cf41fd56895c790f356fa37cfe5";
+  sha512.run = "ba3c4e41b566d0a26bd9f0d11d8e776fe04a18aac451435ff0283ff273971138407753bd6806f34708c5a2f0c1b2581c71de46bbc2e0c8063c9838b3d946f2ca";
+  sha512.doc = "6fd81f90d0c94644231e911ab44827b77864842a3fa91127fb53114179488e5ffd66a404a1b5afee513e0cd3f4c83f38cae547e6dd6484403926c4c46b5cdec7";
+  sha512.source = "0494b05fd3881cc273e8232c398e80ddca4c1286b10aef5d341c6c3573ee40cd5ad1b7a2ae0aab9fd505f94a4bf98643453648b7cc52fda09f5e705a8b4da863";
   hasRunfiles = true;
   version = "1.0";
 };
 "bibleref-mouth" = {
   stripPrefix = 0;
-  sha512.run = "97975f1399dd6000cad9bd1f0c250cc4d763676416620ac1a532b4c8a6144d99c33a4109172deeccf86aebe6a54b585da86b9f8514b3bbcd9d04ef3c110605f5";
-  sha512.doc = "27dd5f6babc1341c959046d5484dfc065be7f246f476e89f0a10d9dbe57edafb43bf30c17dfe0e4cf2dd75bca5838c0260562cfdd174cf2d4f1dda55738f636a";
-  sha512.source = "4040385b61fb8459daaef533d6e186742711f7bdbb5482cd58676d150da55513651cb3b70fda2e4811ae9c730c650a3dd5dda038300ad2e770baa48cb8f9f6da";
+  sha512.run = "5ae9356781549cb5ecbdfa33085ede0fdbcb7f131d55484153484c777f88e23cf965507afde803e7bc5b775aeb416b9ee767815b5dbec444a3d21be18c7445f4";
+  sha512.doc = "a904b4c9c0c8f3ff1feaaad8d1650b383ff0110bcf463f004938c51bce84ffc860082bf3e598922eedf0aeaa664ef0379ea3304f6dc5b681679d9545026c6bf4";
+  sha512.source = "5ad805eb19d6ce8fef804117b462eb1f1dff887c3b6326fd42eba88c7a218ada84992bc419d889f04363ae9b7073b13ebb5f7a002225191fc22c2a2cb5824514";
   hasRunfiles = true;
   version = "1.0";
 };
 "bibleref-parse" = {
   stripPrefix = 0;
-  sha512.run = "57ae731cd541f583db9f3dc6b967989e24603e6a720d763b144d0cc66eb87ddac93060be69bef16365bdb9da3e9be7aa5ffc2bd707669d3b1888b1304d8071d1";
-  sha512.doc = "7972a0d8500f61c97516578be1ddc081abb9987f3783e529cd0489f73ed47c2da4483e12bc4142d39f78aa9ba85de175842e6e8164634a90ff24e3c1559cfe93";
+  sha512.run = "3af7da247ff7f9708ef076a3fe110979e7ff07be0afb08597feeda9ae31e60a66eb2bbbb5da015e10566e83a116cc9f2efa56fe91a57717230fb35bd004c209d";
+  sha512.doc = "08393d76bca59dcbd715cc443ffbf7a1e15894ac6a2963d0ce770c96974c14d42283fd9237c215fe454ec4403a21387ba9dee52ea1bd93b83ab4a13fbc65157c";
   hasRunfiles = true;
   version = "1.1";
 };
 "bibletext" = {
   stripPrefix = 0;
-  sha512.run = "846fc7390c2120b980d35d64fe1b6f715d29f27769a969be4dcc11ac93ba7b661479261e2bd80b0ccd657e4fbbd64a0487662647aca9ba0b17d3c7a662e8d453";
-  sha512.doc = "c3921b21064b6b467971fce9f5711d9d6ba1b886d3a3d12282e6a36d0f4ea5b453f80dcb91c2a9f09936fa14ae136e1bf3fa747c05cc47f063c3c483a9e0b111";
+  sha512.run = "3c5170b747c6426099c021390f7ac226ebf9dbe42ff586c698b3489d47639fcd4198a4cf49261bba9335caebf8f39488d65fe851d60d9f3c2cc2127539ef080a";
+  sha512.doc = "ea38659b5b2bc252760937ecf21d4ac3e8986ac8be6afdc1f2205d84696b8da55e02037bcddb24de389d54a692240ae946ab3e41a0a7913015da4d7b5e12da7f";
   hasRunfiles = true;
   version = "0.1.2";
 };
 "biblist" = {
   stripPrefix = 0;
-  sha512.run = "565d41258f55975cdf13d888868714533bdc86878235c31867d73ddd139fd8d815a0ca399022181c6d02f6546d3afe2bdc2b73dd9bf8894cf40b8a1b7cfefd8b";
-  sha512.doc = "ab49e2c31508f4b86e5103e4650d201c2d1f5ea95157fa3239436a9f228bd95f6366a85e44b988c7bd597df2bfbf722d1153338a8dabdd701c2d91d11813cb11";
+  sha512.run = "02f006139b475cb5d4ec2bf85ec098de78f5bed7242ec693317ad4e01acb62a8c5479f295a8a1409fccd41b327daa75a2639b67d9838777b8355e6bd40af478c";
+  sha512.doc = "b5bdd51d7acb738569671f13dbd25fc7b98a8e2e03e324e9501a20ac34cf1ae3578fcd622be73a80467e47a64a81f4d897c4e167b07a5ff5d06635b09dbec51d";
   hasRunfiles = true;
 };
 "bibtex" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "0939809e12ff25e750a9ec85e1f13c810209a9beb8cdcdb1923c1c718d7177e4398d3772c9fc773d0970a2806af912f39bb341d8fb6a51637e62db9ad19bb8d1";
-  sha512.doc = "99409261c7655f0759b17d3203283505f3791a2fe7bb3ae875a8d583250aaf16ff38f853a9d7c213cde17222b5ceef0dc3ac58b8abe7df56913f8107f77f07ba";
+  sha512.run = "2657225efc1d8f9954d1be9d9b866a626cb252cf596a78a7573ab5b43272e8646a4dd5c59f87275bd6280a2e614bb450c000da6cd9db6b2666f551943ccba8ef";
+  sha512.doc = "4974d5cc9b6702558a9df37d48ed1c00cf12b1ac54c38954c2ff000dcf11a832b2f1267ca1bc009768cc18adccc0fd7bc7bf0e8ebd351f11caaa5f58b63f6585";
   hasRunfiles = true;
   version = "0.99d";
 };
 "bibtex8" = {
-  sha512.run = "06cd33593de7eb7ee393f2d33de18435b0c1e57313fc24fbc23d02627650805daa9dfaf7d57dfadff56bcb5234144504f48fbf7aee51098459d9356ebfd57208";
-  sha512.doc = "b6350f310809d914d8a7a30f42d5c6d86cff901ac1145b88ddd54211d30cd02aaa5491da86cd399e5aef70a09ef7c2dc5f8d9343853bfa3cc8e00595de17334f";
+  sha512.run = "9d8ebea38bad048488251baf4ec7f939eec9c75df17dba576e510c09da6288a9cd2967c6c1dd5f7a472de51e38030801ff192874fd7d038a1f81e063614675d7";
+  sha512.doc = "bf6b13a5ca1e467c5435b51e6c5c6c4549eb456ae91fcac1c756ca09c165fafd488de6a4d2462057ef6ec7b3ea0b0518bd732556159ced0936494c5ebd4aad22";
   hasRunfiles = true;
   version = "3.71";
 };
 "bibtexperllibs" = {
   stripPrefix = 0;
-  sha512.run = "41a85300f529541407f5c1c565cc4a1ae85276c47a88ba3a089c0826afae764acb08d36a7c3b7fd8ffa32760d672553625c29f2f6cd19257936a5ff3aa689161";
-  sha512.doc = "4f619da80b6af0986a39dfb7c2f3e32e792122293bb4221d49497b636e4accf014d29175d8657eaa54519e61a06bed4b7f6d26e80585a41b15d320ab6cc4ad9e";
-  sha512.source = "bcf1c89d7712619e3af4bc6946d3dc6a3eac98d77fdb88fb6ec62b9118cf9aff76200f4296bacfd538aaa71cd8c3f2b0029d77e69ac1f252df7690fc1273491a";
+  sha512.run = "157db9c0bd7d44fea67844046996b5323f2d26828a8a4031712fe006ef0cdbb0992348d4a8e53c2a52ef0f8a1bd8cd108946baba46783d83d27e05b370bbc6c6";
+  sha512.doc = "59f0d671efc182550ca926b1a208c31569e76bacd96e6444437d8ddfae3ad7fcfba60fcb292fcebacfeed1dc225a3e973b41e852ed77eab11308848e532a2c31";
+  sha512.source = "59b5717b5762643e135ac5540d86e841ab6694539723f808e64c1533aa93c62dbcb1a4fe86e0b649abcf60c86efc94b696834614dc0e3c8b9418dfcc86cd36b0";
   hasRunfiles = true;
   version = "1.5";
 };
 "bibtexu" = {
-  sha512.run = "66dbe9076aebcf722e55bc9cc30e80cd4541f295a544304e83f83911ace04bb4386574a0c98e818c24b781e8fb219240a59a15302f2bd55c5cc91b25c043e2ba";
-  sha512.doc = "c30230d2789e53830e09ae553e62af6ebfed4f860646e507c210e2ec56e75fe5710444add355ebfccc23d1b054467adcdb3654c8e22ec5faf11af31436da66b5";
+  sha512.run = "ad6c9702b9b1a41f45e493d27a75f703a06aab99f30ed920f8e3fa8a00d9fdb37009afc7dc5c27ac557e5fb5b3214cb0473ea5099e1fbdc596c5d8f86865a71f";
+  sha512.doc = "317a7806774db23017870f67b66730a77ff3944467bd9575bc6fb9f6a64c8e273bd3e337af218e1b4a156cd4e040bf6c152711d2e8bcd4bcfcb94c4746cd6b06";
 };
 "bibtopic" = {
   stripPrefix = 0;
-  sha512.run = "81ed65c65d2eecd52dee69fac01c4f55aadead5747ee03f21970bc10bbd5bb63d83be09eca36cb3a6fa2e284164b561e913dacbb94bae434417620b5e07838f5";
-  sha512.doc = "6efd7659d2b460a3daad43b96e792e27b05bc066140419944f3545c460e37906f7e0d253f22fc6eb67cfd6e3de81a0c47ab50290292f25c79b5a80ff1b9553e6";
-  sha512.source = "ab2090ec566eda6274560bd73f3c0fb792853abfb52881804ccde7cadae9ffc73c980ebc2cb05859b7da304dba016a4c7e8956befbfc2ce7a424a302e92ff383";
+  sha512.run = "34e2a644cc4472f415522e6e798bcb1e2d623afd4783b07f4904405c63296ec912fb6c1d03f80d51c37ab81944cddb5b4f3678a22a7151d89376ed9aa343e9d7";
+  sha512.doc = "5849fd57abb9bd847833993e660e342a537562bea9fba76376f3885d3bd09360c5783e4f04828137b43c076b635a2d566d908be48287c3fe6645c2abcba06652";
+  sha512.source = "2b6d11221e625b6d568874d12cbc7b45d074ebe2bb973d63fcbb9d85689a4c27824f3eec68fcaa46f0de707767baa516c3925ff0fc4d6a90518584847844ede9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "bibtopicprefix" = {
   stripPrefix = 0;
-  sha512.run = "d31376a4ce7e1c1bab08e85844485916bcc70b8a65724fe0e94970b65fc46866cdd3b87f6dbe759f9fda1e6bc55b6b5d4bb4ad8c4d6719f1e9ede9f5b0be67be";
-  sha512.doc = "ed219949f9eb2799cd226cb23fd2342ce0b87bd6c4152b79e100a58e44997c71b56e30fdf5ad36f85600d23ac17eabef79d8ee3ae4a8a03d91c857a81686633d";
-  sha512.source = "e36118181def3b81b699d8ff757f667b06fc386e769649a7ec72bb7c784eb4eb02029cb8c53e8032a6f4d27084bcec8d2265908e26c12cd7990de154e82c0858";
+  sha512.run = "1df7d78498b6de233aea92cb1b18f73893b8cab723fb614a9fe895e5131639c1b4f4318cbe103ea4d9308e383627873576664f0af3ac6fd26aebd5b8b0036379";
+  sha512.doc = "473a7db7638f471fd87b1cb242a3a593e3ff0aa4586c1fbe906cf12f2dd866a27ab50176b01d3f4158cdf0fc263fa54ce16eb63c797392349fbc90a8422c3b2f";
+  sha512.source = "ebb06f55dd58c5948e5586ba29fe3aff33533eb3b044e07be71da0f20512af21d9808ae7d970f168189bc84ccb9bde6a19e935d7d6280e929d169250d3781a3e";
   hasRunfiles = true;
   version = "1.10";
 };
 "bibunits" = {
   stripPrefix = 0;
-  sha512.run = "b99acc16b9cbf51082a6a8a22e96a335b56c42b6e8f93b26c2a89150015b7af57854b7d7f25c48875f484ef539d2309255a85673c82f572539e4dc7ade869467";
-  sha512.doc = "e506c2bb62fa1e40a88c9aa5a990e6eec633b06dfd561cc23d6e08f1d976fe80fc80ca6d98e8c167a85fe00c528f44ce0a2c9108ebd0fafad808f436de3e48ed";
-  sha512.source = "807829a907fe60bb419c87a514cdccba7f30cf63ff4dad0025ec630330b95b8af340530664272d07261b01f37efbc5e6a243173d1aed770e59d9ea66d9e509d5";
+  sha512.run = "5658d508b876a88f3916a190a9090d66f2dbee98260af8d23c8358d0708f27fc80d4cf6c348b1f6e1ff196e7de6d5567e371ada640a9a602185611fb09e64ddd";
+  sha512.doc = "888e5a4c1863c15112ece5763b01525a1a74f97ae1270495a41d598e73c4583ce2b9e28030b3054dcfebd60b038fb2d32938d6be947477fca93014fac70676af";
+  sha512.source = "37cbb8ff6443757982a97bf6efa90881807712ebd7f0ce2975ef4960ef74e0541cea9fbffd64f765b6631378f3d21e2ac308ea1554709b6c2582b7cf7485398e";
   hasRunfiles = true;
   version = "2.2";
 };
 "bidi" = {
   stripPrefix = 0;
-  sha512.run = "71a5d0d613edde6af98a4884fe9978a32d410584bc7f6022779edaa5bbeebd0fb2c45c2ffa8ee639ab85f7719e47fdb10679a9ea83e16f1328f59d6b41fbf883";
-  sha512.doc = "7e8b78ba4ad31f477213065b24e1235a0e13a6a25dc9529f6bf7a1f5ae323c86132a038bb0d6d02fd021d137301aa3734007242ef7357b9a0aaa1b6e74107ab1";
-  sha512.source = "a125abcb6bc8655314a6e6cb6c386a74327391e227a20228415c742949ae127f419fa886e0174ec608046851c70f0e6c40c3077616656a91fed26cf110dc969c";
+  sha512.run = "a65ad641869648ecee494a6d3e18bcecf89ada7f0a340246e0277e13f0b119c1c643b8323238986e0ffae8564ee6e44b84a802c661a7df7da33acd3bb821dc7b";
+  sha512.doc = "17fd648a19f68f7ba3c6155eb01b17ca00f4f64cbfa2809d22f18a073bc6726df5bac69bc8adcfe7291f2846e144c311de9eb48d6ff5860a90289494d943b11f";
+  sha512.source = "3da2a95d2cbb599b2be51e047a9a03e2952ba2e51aa41472913246d18747d3b7ca34b36409033a5c9fb242938e8ad83c5acf9f05a2a7a8a14fb36f0705b0ddb8";
   hasRunfiles = true;
-  version = "35.5";
+  version = "35.9";
 };
 "bidi-atbegshi" = {
   stripPrefix = 0;
-  sha512.run = "9a37c45f5b0dde87dc0c9f91257054f16b48ca25962bb46425caab8bef9eecf7221311841b731a2b677748fb33beb2da555e29dfbc538bd027f59fd42c627741";
-  sha512.doc = "a6c4de587371bd9504f3273740317a6ec95aa37d607279da56ca4c5a9139361667a8b476dd49aa9dfce25804ed9187d6f4935e39832433b40d930d7143abea04";
+  sha512.run = "1295c87c038683212deaf52a4436bb6adc2a0cc0220b6767e770aa909d88eaeda4a0bd2dec739a2415745609aaec78cdd91d4949f90663323aeec63cefd45d01";
+  sha512.doc = "6199c4d5b6064244c2fd38d8a0d6c4eac3c790cc786625502d89a5a8a2426f7182cc0e7c4b70513971a0cb4b1230bdbd1382c05762f6537a63a34fa4e79c020d";
   hasRunfiles = true;
   version = "0.1";
 };
 "bidicontour" = {
   stripPrefix = 0;
-  sha512.run = "45f488d39dcf4af1133b13d81dd365ac6650f33b0d676bef5d9ada7a95350b0ecb6599ebef989fecfe2cba26b438bb98dbf207483f81c3a457c6a31785ec64c7";
-  sha512.doc = "ff948246b9aaee4769e69961be6da6ccd51766ca3053083e89546332d9d021843a0310a5ea7ee02189d88a6a639298be13fc6ca81017ff24904501e55a49dfc8";
+  sha512.run = "10364edc592375f69912888945e6d555df30627498aaae409b727392c64cd4aac386433119578a7a01a48bd0cff84aae33079593219b282feb9d96a68bdde78f";
+  sha512.doc = "a1a3f9692ea2e462305f8c6db432586eb76d78cef5fa0e9057cbe5766ad99e25c560ad658569a92d1885e373fb6215fe2f9bcbc1c69b46c3088d36eb92e1aae9";
   hasRunfiles = true;
   version = "0.2";
 };
 "bidihl" = {
   stripPrefix = 0;
-  sha512.run = "7a32c2fed9ce99d81bfd9b42da8ef4012ac0c614729d6eea660dac84b8b86fa74b3d1a64ba902cf30806ecf3c2e228d87b0704e4307e84f749cbdcc2e65dfc25";
-  sha512.doc = "659005e159bde62357356f2910a5775f9c48cd181f7569cd4e253897f856c0b5ed8a45c54ce43beb38d0931064bf8eea3d480d16e3a6867f6361e01baa162289";
+  sha512.run = "fd82ad18b96cdd782fddab8739e09978d08fc37e8c65a177bde930671e102c9ffefe7465fc766860068188f6b9f8222119ac791f07223f79e9840f25659ea3ea";
+  sha512.doc = "c9d0503857f2cfa960e36872757afcab17b2631caa8a33112ff2361694939774052a5249db62d21831e19c17826f422853a78c5522094706bd4208d4c5223019";
   hasRunfiles = true;
   version = "0.1c";
 };
 "bidipagegrid" = {
   stripPrefix = 0;
-  sha512.run = "bc43b526dd9809e8bd9300638105d051f55428e1313d4cab0bd236a158fbbdf94004baa597b5d135e5bb3f300b42da55274bd51343c267d5ffbc05d163b93260";
-  sha512.doc = "988704e83e9537996e96d97d640d3afcb6645c61d8edf25dcfbe297493ac3c651ca02e1c3b82415cac61a9512dd357bc62f9bddf88a696f8934a28b714bc9da3";
+  sha512.run = "b823a646d97c15ad9beb3aebeb7b2156aefc3ffd7bdec813e9cb2481e137cd661936c57bacc3b8c42509151205dbd4096329b5cbec25bd06698b698c59739551";
+  sha512.doc = "615d87ca4c29e0a30cf1eee08819b10419a2f399a88f2bfed5bfb6eaf7b1adc8b64a2ccac5da7bedab4e4b951e80488b97203b9960980ca5919f653cc4218996";
   hasRunfiles = true;
   version = "0.2";
 };
 "bidipresentation" = {
   stripPrefix = 0;
-  sha512.run = "39eb4b3c095a8ce36b63f38337a1132ac164cb6d0cc716e6522a35e6da51fdfebbc1b513d6e4480c087b3e938ba5ac1d079ddf8a911cffdba7cf8bff7c5d5058";
-  sha512.doc = "18b240bacd51d420a1d7ce241ce46e876dfb67fbabcef88efab29bded6089aaa17ee24d94e15219fd103eb15cf45f378c115a039af3654d1410b9fd1381064fc";
+  sha512.run = "a41f98c3f009f7f8de8a41e386cc829c55650e603ccaa8e7e381fae45be2872e0b20e66b68e4d7ef8110abf7c9f6661865d49f7c0cf3ca4ae6f781c3ef5bc0ac";
+  sha512.doc = "56993d41b237d25e00536926b3b23f1b1a6940aabe4f636df73cabd5ec27252de9fb8ff17d872cec3cda7a0a3b8b13013ec77477dd89ebba83a8406da3ee144d";
   hasRunfiles = true;
   version = "0.3";
 };
 "bidishadowtext" = {
   stripPrefix = 0;
-  sha512.run = "6dad31243f3c236eaca6c962cb1fd6049b958a76bc02d88eea4452baba7f28e27a5294fb4a7e88140cb2f9d55939fb853eec283ab05ce53a0049e1407309b20d";
-  sha512.doc = "d74b5b095369ac659a3d51b87a966190d2d0c74d89af475f483c76cdf1af7702245451c496850406b4f52ac0f8d80048cc992e76eac888ff76f0b665bd749232";
+  sha512.run = "bf9a75be6d1f37055c793a16b0a4d019579adcbe14a93b64cec5495e4d7c8bcd8b8c6d86906714f8aa47be5789209a1ce78d19e8023b44b9d52409b281797310";
+  sha512.doc = "ac2f47ed1a5535ff1f0030c38bc210b2e3905bd46ce7024d5237387faf87be6a408ea35648f83a2ad7697ec09a91a4cce1aebd32c3446756adf1955bfa97f7c3";
   hasRunfiles = true;
   version = "0.1";
 };
 "bigfoot" = {
   stripPrefix = 0;
-  sha512.run = "6f3379574fec76402a368d394b695b4496f8c3eafcff8e9fb134afa86c5ee17ab1b14721bccef525b0b2a9ae71841d5befe3c62e5619e7cce897a32adc909997";
-  sha512.doc = "0da20ccbbf7d3d2fb2d34a588fb4e5d751f46aa4b6cbcedf3ee0277d3c962cfbdd3d55868077f059f3d6bd8a9bc293d004c6bb641e24c86a3224b868700decd7";
-  sha512.source = "43164ebcccb3225a97687027acd4abe6d5907ed14979cfb01da60f6c5bbad5c918a4580b50d86018502b0ccfd7a6ef712f82673a97343d4f4ad646dfd59992f0";
+  sha512.run = "f56fb1545e0a044a143d1a257b9784b5f5dcc56d68bbeb52f909eb928e9d749729135f0c76b3af6dd0306add550b440d32aee21c33e70b9b48a5a82220623702";
+  sha512.doc = "f5935a5ede836798f3eab1ff61d528870a07be712047a64aa5af5576a1c6032e9d88fb5c42cf216e0f9812266f9a8562b5290301446c654dcb46146d7b60a16e";
+  sha512.source = "75316aff3c594fd904adec7cadd0b24aff9d527479d0c59f3fc654772e29cdb4cca938fe5fef6e14b9928fb25f37fdd3f7a894a81f95810813875c4fd419dff6";
   hasRunfiles = true;
   version = "2.1";
 };
 "bigints" = {
   stripPrefix = 0;
-  sha512.run = "fcedbd45015adc18fc5dba5f4b3c7d6be02d3b277253081a8b5d8f2af9cb287625c6b886706a0e7e901e3c7ab1dc35ed2ed7d6540cc13df901120854a21d4f2b";
-  sha512.doc = "6da7694addaeaa7744ffab124e54a42f6f1be6cf4b8b7337e0abc413a405cff5f7f5f5303a6acca062f2c8b363e238bfb8491801343650c640a9417ca6040d78";
+  sha512.run = "23f9a529af214771f74c6921baf8582b6a3c5e170d0fa511c260f5dd3fb6cb6194ef4082ed299dc0a3ff8e413981a36b594b440e7bc5512c7d2732fed9eb7a8e";
+  sha512.doc = "46799d5c6758657eadca7fb30d214baf47c237b63655a71ad19e188fd54b664397babbbc5cf6d9897e81decd027dea1e0d1a6fea97384461ec8976fc19c7fd8d";
   hasRunfiles = true;
 };
 "binarytree" = {
   stripPrefix = 0;
-  sha512.run = "06a640173123242f7290c439d87be8b58322d2d751dc8a1a7e455cfec9875914c4aed55cca65a6e905550f839ff9333bb6b1ae154e0da1669cef7cd0ded3dd3a";
-  sha512.doc = "ccf0403d909291fcc42cd34b6569a45a1e4a6f7acfbf0e4fc65f802cc97419e1ac289184f473f2dc78cb921f7c67ffae378a8f4d3a9c54c1827ef0f9abdcd245";
-  sha512.source = "f3260689083d568c4dbbf93581ffdef02534f886a9678c9cd2f0cbf517ed1db4372506770dd87061f70becc29b64e54aec7af887c4d9a652e9a8e27476185358";
+  sha512.run = "b2204194393811994915604d428e0b537bf871681ea42a93d1e26a74d01cdee3ccd7817e7705cb6a3b9a1f2a97381e23226db9d671ddc36beb5c478271099cc0";
+  sha512.doc = "4ef9f7db1d9cf124112e3f3e5c6db7e0b53bd72a5d7674a9f0ac7c471b88ff72309705b8d3942277a93883ef821907f0119d4dd3f645c8caa098f363612df68a";
+  sha512.source = "ff1e8ce1d07c2011624086ae5810220af3e28f19eba4dff9e090e757787797afded50d937a7c1f503eb32bdc91cee2b0b1b42486381b725e57a127e5751ae5d7";
   hasRunfiles = true;
   version = "1.01";
 };
 "binomexp" = {
   stripPrefix = 0;
-  sha512.run = "dd91b4221b00dce41eb0f883887956e5b8247b0606436a47cfebfa586481cb54220eb6576c3c95f27b06dafc15d14f6dda63442c94dd77de190562f42fafd4ab";
-  sha512.doc = "860bc2750a744d9787027c6746ac4b3b8fbc2928cd1731c1ce6bdfff9e8eea89a36fac24d60499097e8f4eac9da3424983c422fe74bbacaab72c990cd4a34864";
-  sha512.source = "d53a978c1a49a00fb1bbd77ed71e9d797c8c92a761c41dcbff1ccee1edd8e2d79b925e40ebdda5be62dfcd7b361f74c2378a1b9b0c84ba07cbc27fdbce970a8b";
+  sha512.run = "61cd0072f766bc4abb1e3ed828d06c0e0ae6fb74902ad86e6c4ff3279ddd84386bbb0b1d669d9e71eef362c8d50577047e6076b174ca5b54da8680a43c5e1715";
+  sha512.doc = "9f8e24377ef858e0b3ecc94dc87eeeae08931084316034ea5e3de822ed8b6a65c4744b744a547aea19d3486bb6f2b04f46f1e7ec81cac2470d16b7134885d355";
+  sha512.source = "96ac7f02535a36555dc773b096324e821fa554423dc1d3fbb3436042a2ffa63e7d28b8d872b03b961143178aad40b6d14ef0be7378be99782e94f957889489d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "biochemistry-colors" = {
   stripPrefix = 0;
-  sha512.run = "46ea846a5bffd16af065b654f7b1342404a95ad71051c28644d8ee756b39e6436e70afcda612503008684bf5a2e5ce5b4add8b86a1cc15f368f72f6cbbf563c4";
-  sha512.doc = "6ed12a37587220c0eac1e595f24602e49dbadf6ff42202ae4a06de5e4f3e53a8ffad4626fe1f69dec6e4d0863927ddb9b809f327e8e8ca64f1d18da70b8824de";
+  sha512.run = "204e04776677a70f40ac602977cb4e4f53a8d15873808b98653981b2e8198e7cd234189bc0903467569bc95a1f4aa2070343f27042bcbcf2d43720a44dc53b5e";
+  sha512.doc = "e1ce9b0e9afc7b6fad2b22b9a30b8785dca1a8a5e132c23a1ed688fcf6df06245a6914a5123f937fc37b597fa3a2f412e0a4afc5f8aae85cefc32dbf70a14405";
   hasRunfiles = true;
   version = "1.00";
 };
 "biocon" = {
   stripPrefix = 0;
-  sha512.run = "b96f8d233c235264fd2c726c4307a54e86aa25e7f07392ba4614fe4823564c873c3a7462ef118996f05bc59d4d21dda122d44073b2cfd0c81932cf9602922344";
-  sha512.doc = "8217d50b396687a60e06664ac1d07ada5fd09b37e535afcf47e9731d68fca957a169a29b5e783f7c0db0ba4703a745be49cb0269811f8003d8a103752b2159d8";
+  sha512.run = "54676e4acaee07609c379d387af4f06b45a4bc0051a3333c250555536114b3862da73d70305b1f62adf7afca2b4a2157cce8afd9e20f10e49b01d4c2ad351cdb";
+  sha512.doc = "c296c8402129338295a3043a66bab91a499b29703f7ecead0a045e0820ced683a4c25168ecdfc184c07282904afed3703b31f8ca707492a913de7c49a351c322";
   hasRunfiles = true;
 };
 "biolett-bst" = {
   stripPrefix = 0;
-  sha512.run = "84810298f5942897755a78035746f5a724f8938829941730fb5b1e9769af1b44034708d856bc390c697d8860c8a7f64d6faa1fbec643b9eb7d774297657998ed";
-  sha512.doc = "b5607c948ea1985aac37c5c0f48df1a39eda6b756780de3c1aa8813465913d545cb5c3d6bf83cc223a546d8a60c260a10e2c2cc9adba088c972e36043a691163";
+  sha512.run = "e593f073daea4a8326d0a472999c128f511becde100c5dbedd540fd6ea116c5585b2d3673165ed39abf1942fb66c8372ca1961cef90501244f5320119117af05";
+  sha512.doc = "7b3f9666225849463683a38a3ccb4e5bc9c0869312d31173f48776c2b209eb269309699b2173c2eb5fc9163baabefd1bf6cf288ca683142285dda6f0c6d95b61";
   hasRunfiles = true;
 };
 "bitelist" = {
   stripPrefix = 0;
-  sha512.run = "f77b9ea22902c8bf7d93561e0e96fde9c7a0ad1cd9be866b4e473092ebec949d8b7b41bfddc30c7eb4443daba5a23100579497df0028d6819ca8226726053c6f";
-  sha512.doc = "5c16bb3579d9292857f34d9072ece4204c4c41d9bb6a2421cd9db08af01671d986bf52bf12db958f6f56f891324915cc217f67891b5259a72f9656c4a3d9c201";
-  sha512.source = "a2a3c2f243f38ee48e9037ae0594ac72458d3c0114b345c7c020007c30ebe7975b56c475a9be20b6be34514040869736b34e14b4477250044fc848cf57860d49";
+  sha512.run = "a2022ccc4f45f7a911eea4e99557764770b4e6f2ba0333e043fda2419e29d93bac40462fd36568354a415a9b27204a38620e6191fddcdb053f8956aac5747cbf";
+  sha512.doc = "5c3186464aaadbf269b26321ed9447e8a1633ca9b4a7b323da692277ab074f15b6c39df866eb41955dbd6ca8b0ff76a115786f3273fdb293bfb79893dfe0de99";
+  sha512.source = "0dfbf3dc2ad3b11ce91f1f5f6949f3d8559e0f90044abff431af556560382b5063a96e661c7e95667f3079a7386df85938e937743e2f185a13f4d8a2259fc4eb";
   hasRunfiles = true;
   version = "0.1";
 };
 "bitpattern" = {
   stripPrefix = 0;
-  sha512.run = "dfe9b2dc824e7484ae6e8e29a3c061656da3331503eb86abd26e629f239f240370143fe4c628aebb6e9fb4816aa8923534e00c50e1d7946e06c50d29b66d2442";
-  sha512.doc = "cc646093193e407554c4e4ec9f1f395e9a3f0abf66cf61b3e75aca2d320b1766dc9c035467c69386274cd1e95d783be350a735c4071a5b44312c62dd85a526ef";
-  sha512.source = "4d74f388490d1d17ae05d6dc127ec9aa0ba966a278afb3af519a5abfdda7a4858020f56e8bf483da79e236722c7da1d8413050d094fdc1c71c65ad7a22ba9788";
+  sha512.run = "34a0ade2d1110a15618b2ecc7f46a413519a0864a2e5cd1e25eacb9dd76cc66b35565b4b8c015780fa1d3dc88e2237ae7de33c77e29fd5428758a526959625af";
+  sha512.doc = "d1fd1b2b46d7846804c9163889bf3a96cda2e11e35de2328c9043f99ccd9d0778710219593565ec9231775e1404d713edd7998e3fa909ada7dee35333137b56f";
+  sha512.source = "8c5860792394f85ab87d2a3ab234496a1f550a24f98a5e2f8f4d815b24e4fd3e7d0a1ffefac3912536d22cd39fdbd91db013b1c8e05d4de92aca47db679fa7e3";
+  hasRunfiles = true;
+};
+"bitter" = {
+  stripPrefix = 0;
+  sha512.run = "edb101df2026b97585f8f5ca712a4bf41f5a2a15122a0e51448fcf1bdfe532bd7f70315644935a942bacdd431db4ff48ebc8b119cbf5d758909560eb2c942633";
+  sha512.doc = "926e4a3e7e19ed8571e23afc779be014c3b451d9696ef8d552d6c7f9072c9ccac2eb3ebd68adbb247d7238b0e4786594f85aaecd65b91ddf883e81f20222f29c";
   hasRunfiles = true;
 };
 "bizcard" = {
   stripPrefix = 0;
-  sha512.run = "1a9df235cb4edaecaf031ba31f458e75e0d0c61cd796c9b6d631a709bf02949a29e27e9b61b759acff1cdef17f7111108d07fe8dbad72f211ff3cee0dfc250ea";
-  sha512.doc = "dbeb043a535a0d5783b1e62f6f482da505da91b45e543b3fa426da043f32297e3c42bf0ae706e881e239e31bfffd4be47f2de3590645b9ec72f7762fca6558b2";
-  sha512.source = "d385af65425dd2ab47bf158f164053f265aeb21078aefadb3fc9018a4b81e0057a1f4c923088912da9e07c2a99c0cf1b350a3ccd8a066b215d46a9aa27c3a5da";
+  sha512.run = "1575499c7118a96f3273c5b8d68e25a20410daeecbce48d1e6355039b97867b34a06c40785052d378dffbc80b862beafc06b9fedf62254d8b31445d8f95cdd29";
+  sha512.doc = "f529ec77b370def29ad77927170874dc02af37bfb9f57a4e1383b5adaa93f6e59aa33df06d40a80e2374db514f55e2f115e7c8f22e4c92cbd3cb621d8a735bdd";
+  sha512.source = "ea5567a5b3f2a8f70954ca9b5939cb4f9cda05dd128da4d6592dcab25babf284d5fdb2c6af7a31e181f871802ab267fe012d9da3df963be19d789c6984c88cd5";
   hasRunfiles = true;
   version = "1.1";
 };
 "blacklettert1" = {
   stripPrefix = 0;
-  sha512.run = "eae5939e605120ad2d68176fab903b8f376a1ae9291ff9922492036ae9c41d7b1f650cebdc459c8475986ced21eb7732d2043fa7f9ac24dc9a4ef830cfb3e65d";
-  sha512.doc = "69247d5fedce954dcff14afdc5b930de14bde713a87f0376a073bb3acd8725d85acf36c8c899c9aeaf78abc42f2a3ef42b3d0851c498d981ecc3323fa53422d6";
-  sha512.source = "757412125e599529a02bdeaa38a3bbc3e9e19a9bd4b0c7a1e3813f88d4f4175ea6a3be8065ae846389eb362f49071df3724b5db07e1828c18b4c71bbbfa6c41e";
+  sha512.run = "eb7d531fd91c6d46145c76a08678033e20097805b3a911fa85194217104e071c56d3842cee83c275a11cd4cdee162aee4630d86025cab76806f20e19c975076d";
+  sha512.doc = "a1f18f4adc7f26b9e71db6f171ddb4a8eb15912cf57445110a9da52eb4e0b017a0ace85ddc46ec2df36e73ee3d9bf8dee087fe4467f46bb2bd7f708108585412";
+  sha512.source = "0951e374a22fda09a3fe51e3a7743874c774a756560fb63a68aa199ad2cca674ee87d1dd30b98709b0e74e018e0eec878316ff303575eabb014158311f22a273";
   hasRunfiles = true;
 };
 "blindtext" = {
   stripPrefix = 0;
-  sha512.run = "8d133571bd5e40c5d96a8c48913a0bf32050e2d32d90d364e1a2092fdceeb988d44171834180c68837ed39343b4a355ffba44a0ec122b63bce033daeac780cb7";
-  sha512.doc = "1366fb4dd654c7717a93085be6199ce4a7e0bdd150ed57d110a1b74bc5ab7beccdd2f4c09c5df7ec184df534f002ae29747b00117d19adec301d88a669e0ff9f";
-  sha512.source = "56cdd1d6dcec00b5c8e4da0e0e8dcd07d897fcc4488b34575621a72886c6d67a6b296cd6b930f52dd9e1e538a4c8019928c77e616d7cab662cf02935fe6cf5af";
+  sha512.run = "3baf7b9db502824ebf1cf8892cafb189654ad0a91a8cfba399e103b417a91e4f137918b73201fb5988c8dcecabc557865e190cdf77af35e634d0519d52715795";
+  sha512.doc = "290a4c76fbeb8003c6972933baaa95e62b37310594e459e27083326977d370c1408de95eae44d05d848c61eb22b555792e5e38f4a0b70267d6a87c0314268501";
+  sha512.source = "2ca8cbd44a56c36ea66fbad415524697009af4c7e39164bb43d9c689743666c05aded6042393bba6d658a0be1df3ca5ac64a6e8da2e9c726fbcd1500239c4532";
   hasRunfiles = true;
   version = "2.0";
 };
 "blkarray" = {
   stripPrefix = 0;
-  sha512.run = "b88ddb87d0ac727345dcff452ed59b135af2187c2b7f800cee676d02eceae6d9eee49cc4627318472b0f64d7999af3dbbcdb0b40a7fd8d4465d6b83fdef3ac23";
-  sha512.doc = "0c7d146117bcd8b9dfbab2f95a6b770bcf56229db48673d6e9fa0faadef395be7a4e4846405107c1103a5887bd10a5f74478ab0502df546f9d470044d85edb00";
+  sha512.run = "5ed66db84619cd9130e68e05acf617ed0007db9ea35895e31ad96b543f7d6a01fddf00304f05b0fb71ec9484556326ebad1d895b81b821b9f19fe6ae9f3ee12e";
+  sha512.doc = "81f1d5b5609531deda3475eb906b841d33a6e01ee49c54102474d852856172954d943ee02648fd1ce74d5bf4030db8d36c7b6786c9fe3105f3be08fea36fe207";
   hasRunfiles = true;
   version = "0.07";
 };
 "blochsphere" = {
   stripPrefix = 0;
-  sha512.run = "69f18db1f2fbec11c87971ba63e95df2f8b7cab3d5096004cecf4efdd4d0ba4b91d3e8d75107dd50cae893ae8bca4f91506dd76a12d7e81b86d1e1064a92c5d6";
-  sha512.doc = "b301b5e9df5749aa3ef0086cbbe083e286f952e16ebba6aa73d39c860a38cdcaba8cb0235691577529fcc0375b71af6e0da2766521d14eea9b710bc1d72fe5ab";
-  sha512.source = "1a4e199fbd60bf9a1a670d3b1571d4668035171d095f5757359a94b2b0ea958c90220bcb59ce97f1af4a20d3ffef26cd3d3de98f92cf7b36be429f07b1a5fb41";
+  sha512.run = "cf7a7865e3e994f2b951a24018b1b1b71ce2b61542751f495dc14ebc4964a1f4a2833d95bde9b8920d4a4fd60ccc03760e66b8ab64f6b14ff77b9206c98e19a2";
+  sha512.doc = "3a9706ba73e8da7280495f9d32d32a38c9119bac9b8497e7e1bc69a704fde2552848d60ab0ec175544046fdc06b3e8887b4eaeb1c50a5796144cd56e4a44d9e3";
+  sha512.source = "d5c54403afb2cc4db7c5340fe6aaec54da4066f6e9898cbf1f1d2ee3d4ba9a001699e8e32cf38fd87b355c1adbbbcb649635f9abc07976c2139fa6e851a987ac";
   hasRunfiles = true;
   version = "1.1";
 };
 "block" = {
   stripPrefix = 0;
-  sha512.run = "eb47e1ba9055879ca9152b51b5448d448dd3ea69b841fa008e7f91152612b9daa19a7c181a531b892bfa6e4021b04c50b13c119334aca328cd6e913e7aff1d92";
-  sha512.doc = "f268e408d6036505c7d3088b47dc810fd9b5132d27f3ccd1e85685120524741eef01b82e9ea7a336d16aefce4b60106b348dba1ab82f93ec0fcfec52248c2e9d";
+  sha512.run = "0dedf4b50238e3f12c3d17eca19e4640f2a36511fd65fe4d0baf4f221df279a5d9f28024cb0e20f528e32921e1d6b4c785071210e5ff6471c73e42e58faf89a5";
+  sha512.doc = "77b8c5b6949fb7eade5eee082be1c28433136b8374d45f255a80daa0c7a0340a3154a9f6f174fc52b25c252f1b5a2304b32e26c6d6a2f9af033569d7ba602952";
   hasRunfiles = true;
 };
 "blockdraw_mp" = {
   stripPrefix = 0;
-  sha512.run = "f83fe3c927384d16de17a8b20449cea64fa9666b28e7dc2a69c5aa41c87f8f2dd63f719d26b9e43d603761337d249b308ca25c0ea86e843a0ce83a3dc8c80b81";
-  sha512.doc = "983c70a0a475631db0f69903f10a722702e20600cbf8702a3a12a5a1da428edbbfbb0b8122e286498988c9b1fbb3cd9683ab65d8d837abedb2383cb74baf15f8";
+  sha512.run = "86bd39051095fde2a99b232b1139c4c196467d0e1825b3c1c73bd25551a55edb6417a0810b20c4ac3d53ff82519364f2ac72fde3845a750396a4f6a8966c73ef";
+  sha512.doc = "01fc4226a952c76b52726d1217649d9d98ec708163e4a9b997e36f505b385ed145182bca747a2b5334cfe8b4663d010a699664728c5be05cc4daba63ff1f3c00";
   hasRunfiles = true;
 };
 "bloques" = {
   stripPrefix = 0;
-  sha512.run = "1b8c0076629f8fce9fe6ac6e15a78010fc11fedad2ac26b7eb0b3c5d01616bb2e6aec95a2ea831e5fd3850f903b492677efb1fc49948c9cc59d2f57e888de468";
-  sha512.doc = "e263fd70740512d6c88c53fd148dc87367268d80831fa54c73eb5a352dd7d070877829ef831216e4f3f06aff27c2854211ac7379bb2f4fa813091e4ed36462c3";
+  sha512.run = "06b18467956f6782de7e0dad41f66a79e1c7dc5c3ff007a8970f24740dd5edfae0e375288c3510a8acfcdfda7b568f2316827cad1b6a006789afe8a31f829f4f";
+  sha512.doc = "fe37018f08820f21bf188301d0145e42b50563d8dbd8f9b232e6fa1b7eecda931e8a42d40f47ed7cbae24235833eebab874e30dd24d8393dc728d6fcb10057e1";
   hasRunfiles = true;
   version = "1.0";
 };
 "blowup" = {
   stripPrefix = 0;
-  sha512.run = "9f59d51b44b26317723a1353c96de944c51adcb1b12efb7b75cd1ae440f948af0b2669cd58a5caba48c50c6e9809db5ce410725cf6730d642b91ac7b65691cf3";
-  sha512.doc = "4aaff86ccaaae84e8d1a5bf7a2ce47648c10da0a9fcb8a0298cf90cd69cd734180381733a7666c0c869693264881f973e3a372776f7c15ca3460e60067ad593d";
-  sha512.source = "f2fd35108597789dbed188e92238d9511e379f4163052b0b4955c2220ed7faac231e632330cfe330186dd93abfc008998879abc1516d211adc11057357064f80";
+  sha512.run = "6ccf18bd12423d3a561e59a2ed9c8e2c7586fa65e47ab784c71111318fe370615acec672ca0e89bde159ec946abc1d4233f8367cc2e6f6f28f3f52dae6bc93e1";
+  sha512.doc = "962ab6dbac803f5043df96d178452da2e4ec2db96a7fe9a8400eff658e61169faff501cab3e7e078a18738d683c3bf1ec09a14f70fecbe5c8190b35101196ce2";
+  sha512.source = "6dad611292dae9ea8fe308beb3796e350a3beeaafc16f53b19d49863d5ab4321a94dfe41b6c0ecce236c922a4e0ef766082656bc41583bcbec42d7ccaa35d544";
   hasRunfiles = true;
   version = "1.0";
 };
 "blox" = {
   stripPrefix = 0;
-  sha512.run = "be8e4e834d6f671807320c20d1bad5ef2eda0042b6636f2091414a315d363851f330899da440854c9b0898d19ff561276ca4125c3eb09d1732ff46e7b29971dd";
-  sha512.doc = "a13fe8d143f9f9420c471265b2d98f1498f6a01f6c692a895c5f6fda5f6647ce90f4047356c8c1c33e90645bacdc698bc0ca0e83e00c926ead4a57de140d0196";
-  sha512.source = "0a2c5d8758bb19291c36d981853e3e042c40c60cda06cc0324c885e822bded2af2c9cd694ca863d650238a4033e0da008d462ab8939ff5242e8415147585d2a7";
+  sha512.run = "66a326bc8bf228db3bb7ee061958f0daa7ff8645a7ed89748d60c5193b63b494a94248bd3a9c4734f810b9cbb76cfcedc88201728dec86f1e4d2d33101f741cc";
+  sha512.doc = "5a78aeb59f517d74def3dbb0353545e1efca8bc7627e4c095743a6c2bbe4f9ddc78a0e293f9689089f1f253150404706622745c7a823de9e6b316f2950d98c02";
+  sha512.source = "68dfe55be37e38390310f95f303add7883d416f64a0827f75809153b51764533609ee69278a57c7555b34d9413df884b5a29c65a2f3db291b7382c8fe5ded09e";
   hasRunfiles = true;
   version = "2.5";
 };
 "bnumexpr" = {
   stripPrefix = 0;
-  sha512.run = "bebddb4c5ba6168eec9520c51992ac7f6e0da41f57ad248c673628a0c0f050dd0929311fedb9cbf3c211543fc790ff36a8cc6d6a3d4babb6d3cb50420a2f48ae";
-  sha512.doc = "3b4e53e0dbf2e2943fdc15bea41322b5542f05d17dc332b7021e969a69bfe7f2e2527ba06c8fab7884d449f617a838af2f9625746116234d046f50a64b10d189";
-  sha512.source = "b8817757d12facbfbf8e68e5ebe12b38f24a6edf17e7727d1fdc657f5b79f23c9da7e857ced3a328bf602d44e0776246a93c238d0c1095d19bb6e5e6207eb702";
+  sha512.run = "c4bf69cf261c8545aeffe69c22e0a018afab5f919aa186efbdae0d0eff6728f36f0ca94831cbef7828e9df349bc2e7eed22c284cb41924b83464efa51418b22e";
+  sha512.doc = "2e1430651869f89d3b1ecd146858b004ea04e6506cad29bcc131761b975a89671504b22e7bbe8bdd9e6be1d513f28f85e073a0f123e21e12584782db5242a50c";
+  sha512.source = "25488522b3ad578b8c2fe5e418c5a6d1bf6295de7f16e743dbe90417ca36a8888309a8b6e56bcd93f72c89b02841f0b1326351f6d47840a1fc59042d11641186";
   hasRunfiles = true;
   version = "1.2d";
 };
 "bodegraph" = {
   stripPrefix = 0;
-  sha512.run = "f06e03ce69b8caa421e4d84b4ec712436ecf554a6ccbff132e94675efb4a927694644c93110692cdf9221ad64cd59fa5dd2fe934e47cf690a6b6603dc7fff624";
-  sha512.doc = "8fa822336fbb0f409d89283f156ed9a4df20a6b77f8b71c87e216cc71dc0103cf4a683893806ed480576b6282d224ff1d3a3b47927d080c664b7dc4cf8ac49f4";
+  sha512.run = "eb4be1d54f84a372bda79a35aa928be028aa3fdd13c589143e3bfbdd111f4819ac7927bc9eb7473c64fb9035b5bbab789b55a5967e4569e916a7fe516933612d";
+  sha512.doc = "479d5d95643a0b5a673df4d48049f6a7d89b4dc8d1511676d6ff53e039f65fb27994e35d3db3adeef0cdb30658d3eaa454d997ab4649567148fe90938602024c";
   hasRunfiles = true;
   version = "1.4";
 };
 "bohr" = {
   stripPrefix = 0;
-  sha512.run = "a0b7322029461f45ea7d2220611a4bb7ced2d9c6a31e69d4790c531dbc4bb742ba3455a795cb5187af0e81e844d403a86db87506e164f62876f75d9ba15a45fe";
-  sha512.doc = "f1cb87508864e974c1b212e39d3358a759afcd0c339ad242c42a3bdc33ae1864d83927104ef31f125f625643bedd550448d968d9b21e5a98ecd8bb651a531363";
+  sha512.run = "cb85d1a70ea2ba3bca7a21996319df8c29f1c28b5a62d08f0f145f5c157d4eda65b66f8fa5b833c40b1a4bb7c91d6f42eecb8d97a3c3d906207558110eee1880";
+  sha512.doc = "5e3dffb0e2d1ac0a5aa3021ade89416e330f7b71600bb1a524920eafbda148bda2f55d5d355efbced93528cad1c918fedbf50f43089f4948d0211e0e13386591";
   hasRunfiles = true;
   version = "1.0";
 };
 "boisik" = {
   stripPrefix = 0;
-  sha512.run = "820826a80fbebdd6a923bf068ccbf9de14e56950a1ae2a2d71bedb443e9a6be44c9c69f250a9b1ea82233748947a416baec9a3437e76211e36f967187334fc91";
-  sha512.doc = "3d3949284bd81a58fea2df5bd051bd10f44d3e252dc9940775f0ef7821647822ba4cf64b9587059c83c542758f6afaaf0b2b645488093d91cad5b760dadf1137";
+  sha512.run = "48403f4b18cb23e7e16e3cbf19d066dc7e1576f4d9ae42b94a4a34508905f5e6e2f8f60f2de7881a29b8525c86a8120a76f1f66f8b9ea047da0a884637b1bb9e";
+  sha512.doc = "c68e8434fe456c5e58a6ebb9e744c81dfba5098c0fb12024de750f73022e300016a424bd1ad9cc85c3122c9a0c863737b2e27f2b151667955f92ebbdc060c6bd";
   hasRunfiles = true;
   version = "0.5";
 };
 "boites" = {
   stripPrefix = 0;
-  sha512.run = "301568d1947aa8a26f1dfe3f0ad6338b67293ae24a7981a05e1c3f8f9d5e4976dbe3ea3d52028e511d7bbb94ddaa0eec01750c437ef6de638f950d4eb3b15840";
-  sha512.doc = "06163c8cb5bd35077a5f6f6300f37e5cffc259456ba9ff9d261d5726c90808960c7ff4171b6f2a25c5e47eef2f48c32ea8b6239a799b3f99b0e5e8051bb48dcf";
-  sha512.source = "42cde7d870e93cb3ea5202ca3109a5a9936b336df236906b4a0a8acc0f27a2f9779300a4c96e60226ec40bdabbd50e4679c21bb8609d142d1d4d11718069e067";
+  sha512.run = "894f6d2484e9b72a24816c34e1254ae8a6d011610770e40590fdc3ed22a24b6f655418694de256a6522e4024f4df033c017f294743113256583ffb8445a63bec";
+  sha512.doc = "22ef96e0f64b4d42b978abbba806f497fecf686d76b159bf3d06aedefe1097569053a11ced6c3ff2c7d05f975345957af0790f2035fa3af396b123da7d41cd7c";
+  sha512.source = "682b3e64f47f71849853bb8752e342ca74a8937e5f1f0f75ba3428ec3e32593339e5f0c90695aa112edd2f607dc4e1c80985558f354b6181f73e5da6cffee8ad";
   hasRunfiles = true;
   version = "1.1";
 };
 "bold-extra" = {
   stripPrefix = 0;
-  sha512.run = "036ac67fc6d8c08de5497f5a8bd27ed0f7193f4cd44641971ffb3f2ead365f7d511b7c56f1a29684f3c7fe56ce4b896ae10e2d5ef350f85ddd18b77091996bc5";
-  sha512.doc = "061bdd07950ad574dc4a39869de858d2cc3d7f7688055949cd7b277b944d3cd574cfdd20e302001a8255afdbabb7421f67a1648ff03f4dcaa36717aa67ff1998";
+  sha512.run = "cc12de98493fc01b9a59993ad32e646102751c3023e64f66255a1b66505d3cc2f82d71ac53b4f6691e083bcce3037e521a35feb09cd5019d662a6ce56cc55032";
+  sha512.doc = "4bb27a63f711421437385c2a76f26d74cbfcf6ac5bd8811bf4ca5a0da354608dbc6ff295c3943edae1701fefece397ec356361176a9713f607c9677b8222b7af";
   hasRunfiles = true;
   version = "0.1";
 };
 "boldtensors" = {
   stripPrefix = 0;
-  sha512.run = "5d2ed2f5506b1eee8d5f1ab89174fca5c2a54ba6542f016bb87dc1e28b18d28decd438f1439ab9f5b10ba224b00361dcca3980dee91da6f6eba97cf5fc3a3129";
-  sha512.doc = "9f47664d1198fe7d9c20f16db8178fc116200c3c2d38f27d6d3db6e25dda857c135adcfdf67b163fcd57801e462bb84d8ed287141aef3fad649630a14a060513";
+  sha512.run = "3c2d17f2bf8ff48638540ec5a3ea57bc835227291fdf6580747a87dafeed6afa4f49b91a67154da35dfac9a405aab2aaed5bbef1ac188291319a972b4e50ebeb";
+  sha512.doc = "657bdc4960e2d40621520240840ab4252e927baca704da0388e3124938c55de834e59cf8ff3d900aa294ac366ae7b1367909cbe885de08790d51380726960146";
   hasRunfiles = true;
 };
 "bondgraph" = {
   stripPrefix = 0;
-  sha512.run = "97c6080e10efda61f9971fa6ee11b24f0d0e35b4e90b6fc5c3c67735cef15f071aee4803f795d0c69ea91ed8aee8c64bf3342e16b65f8e067c98dcac3b33e0cf";
-  sha512.doc = "bfc1633cb082d9d6545ffc9a3bfd6395719f96d41a7ae932763120c5990eeb8fdef91ebbf4a65b480d1abf4f018ee183f432a8518d564723305a52351e9526bf";
+  sha512.run = "171233d7850335c1819bf1f74e0bcd1c221e5db73d092b0efea71ad35f71b16e4f240c3c791f9022a9e21ab7a2bb62f20ad06609051ecb54fd0640add0ef8381";
+  sha512.doc = "0697b880e1bcd51c3b5c2e035a15f852f943ffb86ea2952b460f01e42ced2e4fad8f8b15f32f58cc7771c28ca9bf66f2302914bf08d6696b6d952d347199134c";
   hasRunfiles = true;
   version = "1.0";
 };
 "bondgraphs" = {
   stripPrefix = 0;
-  sha512.run = "d69c003e8f8922cb5e8dfab4dac36c26347e1d16a901d3aac6a8d4b4e0419b45dadc9a8605381b31919696143ab5f7ff200875b7fb2ef47ea49427d4c39320d6";
-  sha512.doc = "13613bc1080b76835c871f85140a8297ff21a055da0abcee989da74287594a301905b4fd7c057b6e9db740f9555e4c1ac6dc8a62538b996fb5025020f6ab259e";
-  sha512.source = "c8cc44bf5993f566de6552dead6e8b24b675460b0e896028af9eddee82962b7200823949035c6a0e8cf00682ef094ff21862f28b62f4537e9fd04d9bd0d69d8b";
+  sha512.run = "61ed449d8fcee24f383762eeac54949d709fe3fbcf06598acb8849613c68ce2f445dfb4cfc7871bb6c61bec65ed45e8888dadf036f299a4d5c0bad13db0e16ba";
+  sha512.doc = "223448f91f0cb9f7b032439aeddc85c132f39bf5ffacd058b76c85db825df15bb47bafe333a0ae8afb089864fe966973fbde6da0e02e1fa46b8077e3f84eb6f3";
+  sha512.source = "564af88ac0098d102bfc84932159dcb3df8e06ab30e849d7e039b13ae8855dc6093230e743bef13750a464eadfad54edea4f1a548c14e2df79e03b1f79754254";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "bookcover" = {
   stripPrefix = 0;
-  sha512.run = "c288f784aa6d48e78e09a18f686e41e4cca0fe831150c18cb715b65ad19809461f61d5096f7864d3915190699f519a2629f24bc0a8d5fe3b81bf07602bd551df";
-  sha512.doc = "045781793fa91a3fea8e50866934b337748c8fb5568bcd6ef6e9b080ad7705a7999e54f8f4061dc1537edc76104776374bf29655439a15fb659807a819b47cb3";
-  sha512.source = "a3553c147e7f4d7090a9c380486aaa1b3846d3a935c49f2ead7f631af01f555cd7907be392e5dd7b4219714a040136d992554c31e03ea703687180495b947caf";
+  sha512.run = "1a96e15ab73c11f36b58dfbc0109529fb9bbe322d4c589222e122f774dbcff5337e88a5350a3fac05652aaf0010cf97ea1842693102acf00e9a22db7b6bf77f4";
+  sha512.doc = "1f017e0071060f82e5f530d3726d1d91c5fd742c6a29613a2009756d96a2afcbda1e647cc588c350e90cd65be67207c811ef6466cd863c1b80b39f6afcbbd7e1";
+  sha512.source = "e018f3a388f3c5d0a4ff9f35a952ec96e7af45b2469122d6dc225ae6768704ae9884933200b8a7cb62c1e182602ec697daca530cc966d764ed2d7fe807b09328";
   hasRunfiles = true;
   version = "2.3";
 };
 "bookdb" = {
   stripPrefix = 0;
-  sha512.run = "2df4b6b90cacbf252c7b19b42e3ca53d339053bb5ddd090c41c3720e604765416cfe88684f77129164ca2191e7dc13fd5e8b07f2be2d4a818ffb2c10e0eea186";
-  sha512.doc = "3b9efda314fa451974d6da841e039175191d6fc8fd39b95a51d2e23e6afffd7826684e90444d4128cf11de802a45de79bc90281adef81c45cd8cf530ccf1c08c";
+  sha512.run = "3e44184427ce346930b35fc2ea3b508d9f32c1e89cc01d66046e271d61e0bbfde54b5d18917b09acc159f1d657f9d32c29f3086b04e4f1dc6da0cd21a0df3da2";
+  sha512.doc = "2449b7d32558665b297e57eaff6529932289e957e0a77d8a8ff84e9614b53844a2684a7b23a62ce6684b6e813223c2c1293bf25e678a1271e3e3cc27383d12b4";
   hasRunfiles = true;
   version = "0.2";
 };
 "bookest" = {
   stripPrefix = 0;
-  sha512.run = "4fe12dd9f6dec02b5a885404910a9c8f610ec3a68bd71ee8dec2eab65e6cabe2cb8ae8c470662763c559fb566f6c34242b68744338f1b7460cc0b8057b8d8bb1";
-  sha512.doc = "7007e36a1f9bc9abfa96bdb56ae669b0518ff8bf9749b1c9fafe100815fb863843dbf965f3e0041b222c7d76cfddd78def29f6f0bb5b42a4392d530770dc2910";
+  sha512.run = "e49d8f0959276202dea2079df1a509dd296858841f4fa2df235743033ba852b856e5f2a9a14176fd986ad1e431ebd3581469e7ea30093b5a01b7d23b791a028e";
+  sha512.doc = "ad51d3cfff90ce83c7f6479f9f0eb49a54613c585561def33529b301e00915d7a8f94fb62660b3bf5bd87104651e7333c3a9b620bbfc1ab7fa9fa510e16dc15b";
   hasRunfiles = true;
   version = "1.1";
 };
 "bookhands" = {
   stripPrefix = 0;
-  sha512.run = "8baeca1a73b00888b5978f4e4fd309e5b3d812049046ae2a35b0c31e5e4f4781c199ad7564f715f86702875ceaa8fec5f458328c41e7c7bc4271644ed7743629";
-  sha512.doc = "ef5466279149001d0fd57f545b57a21df8fef5e8cbbfbcd8477d528acf6ce1f2e00dcdd206084781bd1fc04df20783d87d212ef4c13396e9e05e4b2c9c8cf95c";
-  sha512.source = "6af2a7df10e971e457a439698607e5b783313d7618728877b94bffaaaf72bb2ace30820d761c73e4a12a82bb908787c87e9a307e7209f27c0c278381d570310f";
+  sha512.run = "8a341131397637618acdb9bedc835a4ea98f40d55a8a2b312ac820821b00a1f059f37cde2aeb3f5b715eff9928b579a531c4c12d3bdbb3a7629a50d363f1a4cb";
+  sha512.doc = "b5901beafa849a52afaaa7cf09ebab327640eb5ad1c627bea5f8dde2c98aaf176f23f0c9460e7fb2212ce9b4038800c3a3c572830d08d059a04d3574d1015a75";
+  sha512.source = "4df12247bff50722ae11636ecc0071e03d8d296ea958d2a1b84b5b2952f35d890be66af4b85dcf1fe2599e787e71c1b9e7f727a8be9b4ec79eb1bd6aec21925d";
   hasRunfiles = true;
 };
 "booklet" = {
   stripPrefix = 0;
-  sha512.run = "1474bb0f1490bf318199bde08bfc1ecdf5d387cb7920f8c01acf1aa1436196a48dfa7b401ae64d578656d26558c0f72fa9b0aa8750887a1f7305c7d21047fe95";
-  sha512.doc = "822ec90ee38981a9cb395076e86acfe57c3d60fe50b73a21c493dec431ade8e8bbba0a1c87feffd38cd1d63fbc401ff5a801e701caa494ae7dc8f105932eb33d";
-  sha512.source = "ad3b4e387a0fe7dae070b26ad168689e6144c53be542863e3deb3d7cab41af876ad774daaee1e6f0216166531d392764c17860c07859b065be45a2de311c3b74";
+  sha512.run = "be6bc46fa76c0a1ecbfe199b1a1a6f0cedf14a8d583e9ab8ffd75d4cf8ae22e404b289224ed8fa6cd9e143119760d50131e97228cfe75ea56d5ab2f540e8ea8b";
+  sha512.doc = "fb6d74ee03f303433e61fe1afe297cf5e343f95e3834fbdee483522a183d403fb6bac8bfd1d0ca687c448d522d370f5216caba2b52b066ac1657b8dc2fc3df1a";
+  sha512.source = "7b63195d047c6d05cec02af6d44c77e9fbc0a198717a5ed3383f6d662946cb8de9b7659916ab6d7951eeeedfe00abcd68eb006012de3e083d767acffdc0f3cbe";
   hasRunfiles = true;
   version = "0.7b";
 };
 "bookman" = {
   stripPrefix = 0;
-  sha512.run = "6ee174d542e84dfb6170f2f2cdad576e99607d9c47af83fba364b2ddd14e5f6e3fae9ee94d1362f3d82b95dbe5e04870a68dafc24a716162b74cc56b6554a3ba";
+  sha512.run = "bcc6a2ca260350a22927d806b29dec9b7a6c7d9bfff2517d3c64072c9bcb3b73ec72937c004d36c2570a2c78f073548db6897195591e36bae7b6eaaecf6b6023";
   hasRunfiles = true;
 };
 "booktabs" = {
   stripPrefix = 0;
-  sha512.run = "259d96d8efd2fe7e9e7db6ba71010b0709302b5ea83a844f44eeef463439eb46d6f6b06354f906038eb0d04381a8a5c161341146c5d5a6b73df30dcd8594a8ad";
-  sha512.doc = "9ac97bfbae35041321cb41023b35367efe0c60a23b08e487aa7f21b4f10c68fd293e15793fcfea6ab6cff624fdf1354ae33bfe570a14001ae6dc9cdc9a8fc069";
-  sha512.source = "562f7be422a28e84f1f259ec81a538674e7389593319dcb5f7a14e93731c42c04009a3d9d291e4f8e1fc113cdbea544026768e8254f2058d4fa0d48fccaaf257";
+  sha512.run = "54647cc2c7807baefe85a94f0be70a44923183d219e0ebefecad5df0c44080014e9b3ed8296dd9c1d1810deb148168c34e90625c58181af07b561a96c1fbcd46";
+  sha512.doc = "0be929de9e5b20be5df76696a78c57a5282bf0875f9da27fc13b188dabc0bb699e10e66d8660617604299f0367b19edeb40cf7891dc8421d367a18b3c7b3d112";
+  sha512.source = "58e7fbb298b931b0666b3a91c18dc596404912786418f360c059e7c3d49f262af612371b97c5bdb140c5c9d11b8dfc8caa52305cf187ebece6aa71f73d72dd98";
   hasRunfiles = true;
-  version = "1.618033";
+  version = "1.6180339";
 };
 "booktabs-de" = {
   stripPrefix = 0;
-  sha512.run = "eecd6f54649aa46f956695d2bc906e309b13db89f44249bca26e4d6252f0f161acedf264db18fda36318def659d3cfc8779cfdb7eb32ce49e7a9ccccc04e73f0";
-  sha512.doc = "5d8b446413e2776e40aba62f44c0e21b9c151c9f7038ed582b8eb98e08386a4f88e125fa8586ba6de1662aa2e207eea95e5fb496761c980cdc936a199220041a";
+  sha512.run = "25a46153cea4a6e94c77cabf3afac74e642c7362f7c852725e8443de8ef8873c5a9d2dab3fc3b083dd7382e10d74e71b40b40b1143afce1646e853899c0ea2c6";
+  sha512.doc = "1016522eb74332542a9497f47fb0ea884c7d8b3d0a0630b8a6604bdc41ee08d29d963fcee0d643a8260d2e667c0b39edc74f4998ecbe66bc7a45ef23ac78371c";
   version = "1.61803";
 };
 "booktabs-fr" = {
   stripPrefix = 0;
-  sha512.run = "11745f5b2af0a9acb3af99fa5393769283a9ddc61b6c8a183acae69f11a8b9232b85d7c139ff6b2fd1036237321afc0177006644f0189fcb0cc94e41f7c08d97";
-  sha512.doc = "03a399171eed37c1107220298c37cafd9188770b848b154e61cf64478fb6e4490be16891230959f6b39e84754fed7f83fe8666c73f63b7ed7909f0297b96c0a8";
+  sha512.run = "62d4aefc19ff86a60b8fc68a5203bbc2dd2c86ef2f74d5dc0d2a664ff342c13077f5f71a4991704e1d9c69587e4ecde629e5432ade3695efbbc388714fa3c268";
+  sha512.doc = "eab2c83e6d81a601ec98ffe43ed4b5ec71e17c6ec42c26c519fdbbb3c3e82154b01bb569adca65dbf540ccbd7263cc20806dbe901ba44204b84d07d235b07bc7";
   version = "1.00";
 };
 "boolexpr" = {
   stripPrefix = 0;
-  sha512.run = "42c9f48b3a156d6bb2ae54fe307f86cab9d1fafcdb0a4024de1b46f20615e2a49693f40dfcf8a469a26e7d118938ca34019cf19254671cd5915c466319ef42b7";
-  sha512.doc = "efe973b28cb4cc269267ae8750fdef043980984100e8e1011afa8867ca4399531b267dcbaa9cbb41f1bf10432185c3643aa05b314f5851d4d8056af0f5029087";
-  sha512.source = "85291a1210a1265d1b6585919fcd48ab5a7f45e6a3f65548f2325ce87cdf5af911f7bad48675d3876067436f4ada11fcee0a0a7d1b9ee470f1e26ad2931bd5a6";
+  sha512.run = "677a397363b80126e45609d125ec2cf22b3ef144216e19183bcd48c1f0ccd6e2e079fbb0a2e7ac03f094470c8c0bc64ae652863aed970ee9fc75a9a69b60c618";
+  sha512.doc = "6351bf2d3382c5a3b9a07a8458d7f158ee3bd0e72c96af5f2f985d28a40859f95ae7ae956e5dbaa1ed93b1331322ae1e8901ad3110f5e74024efd831e29b6b44";
+  sha512.source = "561daf8eb74f10987be27e884023ad443f24e8d48b573dbe8eab5e958c2ac9f2319b293874050c7d7f56ea3c22f31eaa57f3101c8878b466ad8938018427e765";
   hasRunfiles = true;
   version = "3.14";
 };
 "boondox" = {
   stripPrefix = 0;
-  sha512.run = "82e1808c700d160650caa70233cc1429a09cbda88ee184051879be2f4abb19c3f50d6dc25adf25f0e25fb22880e66e4ff745f9b972680d95b22be0bd2c3012ca";
-  sha512.doc = "3edde6871d612b1dbe162e8852457e6ae1898f973b5a82048478f9d33cef8b374fd0e6d2c841f4dae06d6af5470d5f287ee22e8439f3aee6d51442d379608fc9";
+  sha512.run = "348b48abd7a8b95f37d211612ccc1e4931c0a768af82b695c263b7e8931eded562049ae5a1198361363b08cc269cfb8eafae93c074fe1ada7e9881dfc88d7a41";
+  sha512.doc = "24ee6699a84da5931e5223f27bf74518544ebe1a11b303bbcb27c4afc203267159fd4b6d8d9e5828e92c96abd8fa3bb395528868bba0cc26db93fa6748643eca";
   hasRunfiles = true;
   version = "1.02d";
 };
 "bophook" = {
   stripPrefix = 0;
-  sha512.run = "79e1d8345996ae6c69443567b416877e4391c9fa89b2bfeac70a23e7d57be442e23f0a3ebc789e55f9dc2568de764b923f5e9ff21bb6adb78db2f95a183afe58";
-  sha512.doc = "5deb50e1bd70a02e313d059f2f3106e9fdc979151ec1eefdaecfa120f8eae5328b4ed981008e6e8ea14d0fb166a0dafb8b828049b8961e1d7b25e39b23b80ce4";
-  sha512.source = "1d26fe0a14977496257df7020ba2d450111653ec41deed7740f41ede7004057f4150ba947c09cddc1ecb3914680b5c66c4460159e41f07c9858cfcb8953f6f0e";
+  sha512.run = "8ce41fecd2befaf448ed238d8bf643362f5a945b7391d18b2698c006421b7b60ce4d886e09dc579eef12cfb459f49247f7f3afebdf8b590e9285c608d654ed60";
+  sha512.doc = "7d8ce0b7caffa4e16539154ade5a3df6d6b42b75bc521643473ff568ef5c65c3014fb22053b353a917d2c4782f378bc765475dca5d20b3dc06ff02c0dd2a63ec";
+  sha512.source = "ca7e5fc30d23c022e4fec8414c9ef11d2acd5707ad781428021f8a828c6c8b891674fc6eb372a0dc33944e2a54adb9b86645529ff28b4438c31d8477cb2b3a6d";
   hasRunfiles = true;
   version = "0.02";
 };
 "borceux" = {
   stripPrefix = 0;
-  sha512.run = "4d3d2edbc7e80d680272c6069e7fb49fb85227d8f0354b1c1065895f6c5a9686aca87054166c4a2c14e801b00beb0e7ddc98ec50317bf7fc278131a5959641ec";
-  sha512.doc = "8129e4a21449b708df9dac76dd7929bfdd16aafc7381200c6d2baf704e9adab825c128234e3be1556c3f7fc4420e9e8515296a28aca0f71577f617e0c2145789";
+  sha512.run = "e4658e7a672caccd24832b31b0635dc61ae5ace5297569a84d9da981eb37f6b9b944bc33c1e964c09c7042e3e74f9b3067795fdad508e52e624f2bfaf439559e";
+  sha512.doc = "202e6b476c5c6f48ea2e6bdf2710d01afcdd9a02669d220bb11bab8fa920f41fddb8aa152a815045ce9d0c92b761f90ab34cd426ba62cf26282d71696f00f03f";
   hasRunfiles = true;
 };
 "bosisio" = {
   stripPrefix = 0;
-  sha512.run = "3fe6e854ff8f0629e49381ec3e569719f73de510f9e270904aa5f184b58edc951246bf643f2411d72d9a9612d21ff9f26218e4decf97460181024221d5e359ce";
-  sha512.doc = "4ba6dc459e5fc0847e7c63c1a39a47959141eab840fdddc8df8d524f137641016a352d130d451f1c6679bbcae9302c42562e9762f86f7c7ef9e1810c084bfd0a";
-  sha512.source = "33a369dd371ea9f12cb5b6499e2f855a4e013a25492f637e46268890a7553fe66cf48fec18d9e4245dc06869d77003e0b1972f0150241dc2b1ac8a025d698c86";
+  sha512.run = "659cd163c28a52fc12651b35b8018d0df7e4fb706739b090167689a7199a8f9ca3bc3376ed3a5b6c076e9242f4f8132dbec6cbeead499453fa5c9cbd2aecce38";
+  sha512.doc = "7fc9a651f6845643fecbb9f0fff150fec2a22273accc420451c2c5dbeab6e40cbeb9b51a32589787c005fe479f626111214bebadb217a238baab07fa18d8c92b";
+  sha512.source = "494ff83253abdc9f0d81b3ee36f1d860938b1eb8a7691ecda596d31126624f3272ba65685a9436a5817b93a786da97e6bc6702249630d71f697ef394f801584e";
   hasRunfiles = true;
 };
 "boxedminipage" = {
   stripPrefix = 0;
-  sha512.run = "5a997606cea655177c0152c7d030afae83f6ce4e478f9a3d682e490fbda50e5961066764e3ce0916aa5b13607eb853945b07824f1b0a1c119b91aaece4885857";
-  sha512.doc = "3d594706d8805437f5d200ae3ec27f52ee2ebd91c36471728a9b67bb72dcd32b7a9f2be5bda39b1046312e906d6bf92ed49db5059862c4288c33c61651eed5fa";
+  sha512.run = "374033f9b8b88c55db6de9247d065f7841d49c8b7d42386694752e78b4bb2f4a311e42d5ca3c1e0dd5e694fddb0c18bf9ae6ccb39dc80bf075086e18fe39bf59";
+  sha512.doc = "6fe8b0c04117d6b70972ca973e9a71cb33f2ea3f2789460aecb1f0702b896a3cf1d2e6d31533a13819caf1636c5e33ca40f60156992770e243be509dff765644";
   hasRunfiles = true;
   version = "2";
 };
 "boxedminipage2e" = {
   stripPrefix = 0;
-  sha512.run = "7f778cf51b4c93ff7443f1252d5e4ab5b078ca8804b1b674139c68874c7cf1027d8b895990ca931e45d7c4254565a51d6770479ef5104e70d4aa37091d4d38ab";
-  sha512.doc = "14e945324606e3ece2e00daec8dc623f2cd9b90b4f704c2c30b330a98025026d3ce87163540bc067a21fe11d0640f62bf59977adb3b85d59a8cc92ee520f8322";
-  sha512.source = "26e5d6ceaa1592488a447bf961c939b6355f26687b2ace692b63c7bedfddf1f0d26bcf6191be538e20d7b8caec0e9eeb5d6e9024f0e3b46bdc4e3ad1481ab5c6";
+  sha512.run = "418fbe838e907f3f545522922cf20548abcde20320dc63396434f7b68f578abaffa9f7b76a18373318ce5ed7cef699c64ad8e10e01cedf0b568e65f33ab609b9";
+  sha512.doc = "1366f37d45e3df28d3b370b3a6d9618aad06dc68127d1c22cccb0a64d3f82195d5ca93adae86158a830cca26e7f3da051bd36ab1f80cd4bf3609676c0b790dd8";
+  sha512.source = "2bf7a086348da5cc606d5b5fa0b4b0c4c5f17e77aecb54fd94bd306d43ebddef8af5e143246a8695f18a447271508576c4a4bb051d4ad8b9e0cdb08f7212431c";
   hasRunfiles = true;
   version = "1.0";
 };
 "boxhandler" = {
   stripPrefix = 0;
-  sha512.run = "b497f93810a92d5860e26c7ed5955bd2bb3926ffa031f291bcd03e9318cdad510622f33af5acd64d3f719f0b63fa140ae06a633be8d9d335a4f47a86f5448f11";
-  sha512.doc = "19628c73cf5eec9fe1b438353db475d0421a3532f60788523be3349716ef17714f3ea47cf143ce1ce2d657fcadec8707483bddc8b4d23eae1a57885d4a3ea3c9";
-  sha512.source = "7b1c552862ba9934030b182831f3326a975d3fb98b8b52f008147f730d549975b6af8c4729f29c48655099ba2b5f5e05edb3e3c136f689f257c4e25598d370be";
+  sha512.run = "8aa988155d5115e2fbfbee113013cbb4d32cebc670229104cf96c2920c81bb23245e2365cf31705b67cf72345387a275c83f170a777129ddafdf6cb7558bb077";
+  sha512.doc = "15b69a4d434be9561cbcf45a5c3c68ae9560fae35ed2256cfcb4c2bca8ac172a8bd0d6f7335644f586a9b3da65948b9372ae9f7ec9bf2c0d43b572cce5af20bc";
+  sha512.source = "20e1dd79907029b015d9c6d85c80fa907efc490a80db7f0e871b6b379c1370982fced3e3865a9fc0c7492a9d3631d163b98177dca99deff4a78d7f2ee354f2cd";
   hasRunfiles = true;
   version = "1.30";
 };
 "bpchem" = {
   stripPrefix = 0;
-  sha512.run = "086d746ae3f311e6f62f8f961779a33d2cc8b27d0d16fd495c1109113156825f02c8b797e82085f9f97a04c5f7732ecc3417ccd9454cab9c79222066a1251897";
-  sha512.doc = "ac7de8aa07c0bde7e50044ac3cb4d7a067011ad93107d3867d48e7db53544d0b4f822695cb192924e22cb49c02eb44cdde2f582a8a1f0966fd0e662294ce7859";
-  sha512.source = "f95978cb613ad82cb223d67e609ce813f8ffa6008288bd0a8848d0c65baefdbb111a2bb8ab5cdec4dc27b9f7f78b4013bd4e3133bf4b31f78da4d87153872527";
+  sha512.run = "3359bc429ec00bdf3b26810e373fd9bba8f562d4782d16adf2706b59ec1cd153f0fd565c26319bac0cf5065b6a2ea99ad5cf6461fba62a7bae8355fad7d8279b";
+  sha512.doc = "c8edfa3e5fd901ef705b6b55dd2278eabd996e2b3aa76ec5da9c34c07db95909b67f31990684883edd256f7a5eb7c29450886472fafbd0ff91f8e81abc4dc93e";
+  sha512.source = "0f2629325312dc8e7d05d593bf97ddba9b18d0709d0c29fd5df2b7e5077a15624d98edbca24e20c039e7e72bfc21e676c7bfdb6d29f7c84efd4c40f41d3d930c";
   hasRunfiles = true;
   version = "1.1";
 };
 "bpolynomial" = {
   stripPrefix = 0;
-  sha512.run = "a46a74709bf797edebe1bd66388eb36b6f8be404103409f52ee6c153328ed4578689b92913ad2cc5f37b3fbfaa5d18800b3b9a59b012f956fb269e2ceec33445";
-  sha512.doc = "db2a5e35a7877136aef67d9c96367185d80406f78347ba5aec431b6573581cfa7eeaa2a26d8ef7654692ff2d695028f148d937f782fea564b43c01cb9327e20d";
+  sha512.run = "370b9ee803390f51da2cf7da4832ce9a51d923420908ffbf5dba21a2380e13cf345413eb81465e0acf86bc4011ec0bdf8cfcf5ac0cdf62cb3e88b2f2b6a6edb1";
+  sha512.doc = "2778eccb795d4543baa16966d55ab68a8c2c6f547d7a544aafec365036d9805a5cbfce97efbd25d0b39329814e95f6a2e18610f5e83a4d755a31dafbd651ce0b";
   hasRunfiles = true;
   version = "0.5";
 };
 "br-lex" = {
   stripPrefix = 0;
-  sha512.run = "10f844e6ac92b76fd8dd93bed913f211e0a31874cb6b0265ea4928df1f776762331e1b7db48a74832f5dda6f7e0765e55ae9c4a0b68fefae5a379de6446ff4d1";
-  sha512.doc = "b2ac015f97001b420c0f4f2a2a51586ffaf9c73222ec6e2e6a1fa39efc47d81b3b25c17a3f01ce61d5f90c34c79514b34ffe06f47dbaec178e3723ea16499b78";
+  sha512.run = "e4eede34a086ab025a9918798feea2c6b8b19d86782a6d93745aa82d40258e1619433eb445d0b3c1335dcb195689bb76ac8142e6c65618cea6392e243dadd915";
+  sha512.doc = "3d277aeef55721a833cd613c98852c33f7ce22a8034e2fe62952409cffe1ea49ebe1f3b80f91018ea51fadef226939a14e103884dca19227193a32d1e3ba3110";
   hasRunfiles = true;
 };
 "bracketkey" = {
   stripPrefix = 0;
-  sha512.run = "dc243add63cb9cdce6206d1dbdfae5827d7755c6172daf97aa34984653a2b0ad56bd7969e5be14f7b73aa6f1aa495716d5f60228a6cae03067fe480ee24a35d8";
-  sha512.doc = "866c9ab1f5e25da9110c4b0130d3fb5a1ffd8c71c9a5f4213e26913709928a96e868ba2325c258f477cb026ad3a30e199e8252ea232281ce1a8e1375b3d30d7f";
+  sha512.run = "ecdf6f5c6cfa46a3a0eedc9eeef5bbc59cc05a2a831249787ff70fda7d69466862c18dd7ed7a440b8b2bb93c6a08225c7a97bb2f5588d94548d9f6b626ec36aa";
+  sha512.doc = "db067a4ab9ac087f565d184c48a90800e68ddb25f5f78146ef1f65bcd3cfb1d0adea78483ca8e27fb9f82bbf26d23c5c16ce735aae194f4816ea73eb993ef099";
   hasRunfiles = true;
   version = "1.0";
 };
 "braids" = {
   stripPrefix = 0;
-  sha512.run = "c23d88fcd4306fac93cb445295c04175da9c5cc72c2eef304556bcef50c1d56f81f48bbbbe8482a1141aad77ba3d3ffef1a3b1a58c5f12b995a6ab21b65aa6da";
-  sha512.doc = "2596bd1d87bd581787545b47ea650a47dbee7f5a596f3384be6670ea35410a34b5cbc14b85d5628d3fdc00f30f8e2222de9168c0def369921fc29253b33ba053";
-  sha512.source = "855d0f15d85ff16affa1dba253435f3d68e3d06cd9bff10824ddcdfb2cdbb6b20adabe471626aa93fa4b66b05ba5be7245d5677e2eb8cf0e0d737f6f5f8a8264";
+  sha512.run = "bf0c0ff2b6e81b0dbbbb317a1be711e8dc9812214740048a0dea40d8d3045c3fbb996fe1369783ed906571587a5fd241e6a7ce5023c3278ee1bdda19a7411787";
+  sha512.doc = "2a96dfb2c18a89d34e4116e1fa81f48532605b625b227fb24f7a949a9e3707f1ffc02f4a20b254e963801a8f97d7f093db7b568adc3b8f4a1fce4bbb7ffb51b5";
+  sha512.source = "0a0760d9d88ba7c96d2691b0e180ed09ea9932f8170c4c112eef5eb58e112bd69e1d2362bd5ba46b852eb0d7678bf9049c9ae8e69e0b47772f8edfd2c23c5285";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.0";
 };
 "braille" = {
   stripPrefix = 0;
-  sha512.run = "30ef3a9506c6638fee1b8fc091d35fb1b5db0074d41c1dba69a2cc1fc1796945574d062e0fe2abff6bed0fd53b1ecfedc61b0a05b4bda3315d66fc5503fb3e2c";
-  sha512.doc = "d0be13132d06a15bdc73485ff346b6efcbbb6cbb21df22df5edd25dbe3065da5193da7559bb4b3f2af72ca6b16b99b5a5e72491fca6ee6afec4b9bf377b38c49";
+  sha512.run = "04893a3664b10fa1d5b912751e51b6d4a596821535da87aa1f2c2c5632e1fc60278435fe9deae4b0fba8296f2e46015b27b592721dde26dcc4acf7e3bd672a4c";
+  sha512.doc = "1cf6922ffa0785adb8e7e7fa5cfe134b206d70d012eb2ec1bd40bedb72ace43c8a17b3e94b16635473d425420f362c49f1b509796d43ca0d2aff0bd9be9f25cf";
   hasRunfiles = true;
 };
 "braket" = {
   stripPrefix = 0;
-  sha512.run = "fd0e8f7df5f3b8168f540e38fdfabe9719a98bd3e2f558460f93de7b64691ea9fc938da5d3f9e9cf5ca37699ebe18dddafffa4b73b6198b8df03899472b40bad";
-  sha512.doc = "dd52f1bf26c9de741b866d12084500313eca18927e5370727dc1ab0de5395ddb87367b100946791e5d7401f86e1c15d89957661f0d0a37bffcd31091bbf9882f";
+  sha512.run = "dc5f931ce9adbb3e8398cfab83402776d92018945172c7c17f04772f3253942c6ebecd5ca0f3d23f0befa87327dea4a3a9b90528bb7409963f04d9b856186562";
+  sha512.doc = "9bdd3cec0da91ffd13d556b9620e9c502a658374657e2821141191000a2321bf030edc9c32641b5ae6c52acfc7266c377a8f4dfe4891cb616f8d4f6a377d9ee0";
   hasRunfiles = true;
 };
 "brandeis-dissertation" = {
   stripPrefix = 0;
-  sha512.run = "f507b46bd20cfecf9eee6969c3a17082a192e94c1e3fbc440e2daeb4784d4a25ca9da2a2499383be3dae3c83a8217a27511da71436bc1e17a8924d85ba58113c";
-  sha512.doc = "698d305411dd64818899197249776e58f19d2cfcd450f74262fd27c9557165dc47bb5a8c5cd93226635c24c19f1756c7f5ff2a208c7e1797a7a405492bcd1e76";
-  sha512.source = "2b85b563364afee789fbff98994aa89df4e9d1786c3ea2971df289b3acf84dd2fea69279961a4ae35a597f1307837db455406cca5af3baac4307f4b56358b5e7";
+  sha512.run = "fa3e2f0c3cc3f1fa1607095dfd52e0d518e5710488a0d86bf9c46de444efbb5b1b253284cf8e996869ef4ff2c051ff1a6331296a7b8517ae93ebb91e7dff2826";
+  sha512.doc = "fb7fee200d7547615f5671743f89d571e9ebb7a0d52f5e8d835568230bdf16c9b4c8279d65dd93fec929e9337af666d2b9dae3dce744e4b71ad98b578a262099";
+  sha512.source = "b4aafd8e9afb0d8cfc9e184181e0e911214d1420114cb32ae41a184f4c7b5ce2a262c5bdb1ffd0144d9e566937a8c662d25316ef82c0d74ed5d5142a3b01a7b5";
   hasRunfiles = true;
   version = "2.0";
 };
 "brandeis-problemset" = {
   stripPrefix = 0;
-  sha512.run = "5116ba296034c62ff4d2488c9d7bbc5b53b98faf35f59f838697eb68e4b5a52fce308edeb57977d9f1bb46ff41344dee1aed13426ff5bdf8f713999da1c58ab0";
-  sha512.doc = "c4b77f8e79fed791a2b713e4300739317219990a752bd5b9efcaee4dcc52316cac154e75d7cac9e8e9cb344b5f5c08930af4bdf4dd9712600fdbccfbfe3dbc6f";
+  sha512.run = "fc5026cefa87e1ab248d9d26466a05e11b112c75bc3908c7e6f123a1436d5f813038176e97e1ed290cc99f93dfc8d024c88c1242b9bb41689bfa0a29153db9da";
+  sha512.doc = "0f6857c1ff226d797d6e0dc96bf040e2393564121b54d5d9b1e9e35acb01b7663441e0460cd117a0b015cb768bfdf3f40df142ae93d5a0d77f9a84f31c3e45b1";
   hasRunfiles = true;
-  version = "0.4.4";
+  version = "0.5.5";
 };
 "breakcites" = {
   stripPrefix = 0;
-  sha512.run = "d3ecda2e42d2afce07cf2a1eecf0bd3c3ca9761f9183d278e4c345d457e6087a7e2ce51c15552cfde78222d22682112b7355d14967de62a0b9d75c1d46cbe785";
-  sha512.doc = "b6502defa2189f7c0a1b82daa495fbbfd5aa054797959d5b29af862465e1efdcfcd0a7fb75c150f5532105fcf2d51005d8c12941f97acf13c1aaf8ec6e233cb2";
+  sha512.run = "13fdad42586a361b4e01999476f4d92ccc0fbcca4ee2663153b9eabbb08ad571dae6631306e9fc590d94f3f02af79519de30a78ed35f737004d86bd62b76786a";
+  sha512.doc = "2184e40db7f4a01113ba1040a62f8213f43bf34202a57a33abfc6291e84b01cf27298442f0f636289892d02764f1000ff3542f2ca6e490e0eaf6d5bab247b3f4";
   hasRunfiles = true;
 };
 "breakurl" = {
   stripPrefix = 0;
-  sha512.run = "ae26028d03fdb1bbbf64db4e12186e67634705e5bc5be7f9c8f030aed92522e213501ee3dd8a441e697076e9000eb8b2466f76874105ccbb22122b40bea9482a";
-  sha512.doc = "8c46c84adccb88619b22d0fcd5c6947d3efd74109d65e29d3841f051f26517e324ff3174488271550c645fb7fee407e1a9d145f22d412bbb12b03c4be3547d88";
-  sha512.source = "b174cd9abf8308cafdabf655de0654211ff8d91af163f31810b92f01e3188e378bd2ba6ec9b5d1f7a1f76ed6b994dae41aa669eaf33e2f46c11116af01e1b126";
+  sha512.run = "fa1fa9e3ac50f305ae5b82eb63997d1674b3f640f36d502a1000b439dd52dcaf6b539d153a2c7022f3a00fc0042bcfe341e850ed6b01f7058b1f8f6fd92b4d9b";
+  sha512.doc = "38f7847274cbee0a6e7c536a982d0110670cf6af54bfa99718a862e1974fdd839f6ef6871cbe2c40bcd0b2a9036c806eb2b57c8adaee583ef316da367ed854f5";
+  sha512.source = "9ecbae9c483331d636a522f67e5da197e4f647daff0a0fe81f4542c7248934c662046c8e61bd10fadb44144918cd508f09c57880b9c1e0c6515cb2dfd35e52cc";
   hasRunfiles = true;
   version = "1.40";
 };
 "bredzenie" = {
   stripPrefix = 0;
-  sha512.run = "e25d3f8c35e8045850aab75a9309ae1275f4f49fe7076d9cbb29dc1f64eb976df424e6e167d6bf9e028d6f2188c4063862bf330ad83a08f918e951298221e888";
-  sha512.doc = "3755f6877a4d72251e71f5d6443cbdc478bdf00923cd2a8a16d6bfa69979f2ef3b2da2496c3c8286836c23354141667839dd5fbb94937c900395ce783cd5e094";
+  sha512.run = "1e5629a2e6e6099a319d8b8a1efec83262780c70a57c482f66a33a48722bcdb18fb891a96b6b6f29c54d71ce581dd1c82decdd22ad74d6ef61765fec3f8c3614";
+  sha512.doc = "29fba5bb48aeb2353616cfe9a8dd4fff90c164c10779b8115958733470fd47dc40a567212c62315110a5a7a51363c9f917c4984583d40177037d6b0803ce66fe";
   hasRunfiles = true;
   version = "1.0";
 };
 "breqn" = {
   stripPrefix = 0;
-  sha512.run = "1170af3e744ec9342af40d23280a103ee827ad75a164296fa9b9bf79884f454a7ccfe10756b78fbeb029fefffe8a61c388fc4917bfaff8acbb073d4872632e97";
-  sha512.doc = "bf3056295e32a08a3f0bdb7e5331ba874bc9729da8845be9b592c5808cc265e7bebc7c9656c7ed3cc730f5247de65eaf408331c53e4c6c0c505bf3bebca85c83";
-  sha512.source = "72ea2543a82f6c63f2de0e9d79cce4915e2dd03bb6e3afbbc487493a6e11840928f1b8442d912f3bc94e877caf574d6d27c48f0f7e1cdfc106de6c4a34fa53d5";
+  sha512.run = "0b0c40a54bebca784f8057c4f3b0595777bff39c016d6c3c97ea8b4e3d2b357045eb65ae8e24a98fc1777ea523bc372ec164ebe3b92e749704f156af0733148f";
+  sha512.doc = "fd38471bc060a853d853326870aaed0770ad8d7826168a9539ffbc074debe7d054f351f9ee34380ffd78aaefd55f1fa5aa16fa7da823d4d7b981296c67d435a3";
+  sha512.source = "16c62790776452a5aba32f48389299fa9b6c9193bc12168f75057ade14761e09902adb95436e064e0d84729e6421781f05943cea9ea914d2b23b7f179bc7fba3";
   hasRunfiles = true;
   version = "0.98f";
 };
 "bropd" = {
   stripPrefix = 0;
-  sha512.run = "9925762449b2a540d09777b4bdb7795a72190522ea57a9fce534a6ce76dd56bd7a7bb05e73a491c62f32027f59c87bc4e7f435ac82c31db3822a3688a7aecd54";
-  sha512.doc = "e1826f97dc012f345511f0de762bcbe7fd24b4979a46a9d6a728d5001ff9ffc6b2f5657e39505dec8334afdb7028ffa94e9491eff43cb8db9600e8de7533a04f";
-  sha512.source = "55a4e1523e609ad35ab22b90302fc1cea99158421beeb12aeefa0b9855d4a47c6ed43fed8ddb3de21e9fc76b0ed3beeaae32447ea0b2e6d3fecf19e11dd17427";
+  sha512.run = "d6bcf207cddeb6115cab45eab12d48326f067df2fec21386ca29282ccd484e572ee4b5420473079b033bf2b085e134fb42b76b3f18d5b56b47ad765c62b07023";
+  sha512.doc = "b9ed0de353b0b0e6d7c8e48f3a20c5ee88a0ee9fb1873ced88e89b9c4d73b20701add802442e69aecc419a2c6f433ca12ccea9130abcf895a5568f7b2d66d6a2";
+  sha512.source = "b33ad62f68eb425381db0c6724fbcea32b1e37f8dace6737af6e996b7103d19eadabf60873ff367feb9c3a69743d219ce41d5274b8c533d5b5323a971d01a06f";
   hasRunfiles = true;
   version = "1.2";
 };
 "brushscr" = {
   stripPrefix = 0;
-  sha512.run = "dd501a4caf2faf8993df2c323253f553cdcf7021152b079f8eaf129488f444356ef1aaa44417470880aa9b7696eb36813f7ed9f2cab674918163d5132d1431eb";
-  sha512.doc = "31c21c588c6f4a26f697f1bb2679d1a3ed2b1b30f1a4a511b0b0e697d0ab92a073a54f0a82f1b7a71b82c0d94af1884bf7f49f8fe8efa3fd1ea3a8300f5f8d2c";
+  sha512.run = "f8c7107b0e98cc6e402ec8ee6f5e6f9a1b8e0d046dddae9486e4ca68327f370a75a0f90000939828605334b3ad3c5caaf5e541c7933c5545fe3e531066fa650f";
+  sha512.doc = "41ad7b1afc7cb0f4bfdf0bcff4c1d85f3d9603c3d48ccb62f94a6fa2258cf3f60f03ee1b4b5756d85a77ba4ff9afddbccaba1c4bd5b69d85ce4fed206aa16b1c";
   hasRunfiles = true;
 };
 "bullcntr" = {
   stripPrefix = 0;
-  sha512.run = "d549a45edfec127d7163ed5ed6b45479de344725e04459ecfe7ef5a1ab5d775dd6d205d1074421ba327314a7343c9fb1450986a50d1bab8be40a3424bc60f5d9";
-  sha512.doc = "a297b090cf53ffdaf6310a4131ca37a8d329232cff0e2569e6a14fa234c8474fcc1159c0e5f62b20ae79758c00a7876049ed557024a7c494db2396d961104329";
-  sha512.source = "be2ed8d1ab8e9ce8069f644aeb1e1b236433bc7efcd78a4b2e7ded4d9413c1c88c71f105adaca0316c012e3f1b407e2d9a90a627088f15cf2f387dd85dd1c5fb";
+  sha512.run = "886109fdce6a936d22b829ff769b130a445876073c73b2bc1767610302ba8a40112938311a138e1c93a0495a6e7d5cafa8d3606ca3b2fe48af442e023195ab93";
+  sha512.doc = "ab01cfba0570bc565d8b40945aec5d87739a0826d5c323c5ee960c0d3c7c3135ef2c8b7878268b415ffae3beb06fbc6af48656e7c4a6a45ee423254ce23cad1e";
+  sha512.source = "cd05d28c2e5c759863403e3ea9e8700002a4ef4f9021decec9a681b92d944ecc4c6765bae332f8645d06d12ab6adc096f4a560a195c981d5e6cbc72acb56e812";
   hasRunfiles = true;
   version = "0.04";
 };
 "bundledoc" = {
-  sha512.run = "b4442d06905a9a8cfe20a92f7554eda777671a7de5d071b200aa344da1897f1a8b9c2c09f4026a4645cc9a402876211b8eec4d5f03d2b49b7b68c738fb1aa65e";
-  sha512.doc = "30423a6a3ed30a0223da0aab04c44667d10969db1114d01a36a3779bcc16eaab78ac12f54f9fac131a072a363fd8bd9c02c25ea85ef4be471f59af8f488c91d9";
+  sha512.run = "5b3b4e343e8ce0103a7f0cc736331995fde330b473c21d97df761bffab8e0b82f00238187801978611e32b2190b0a0d51c87c4249135228c8bd53ae8fcb6bfc8";
+  sha512.doc = "acd848c58261520c2ea9038d0229b75e7c12e72c087ea1aacc3bd0dc4f8f99d50cf243d282abe44d72c99a75618cf284de400e342a9128f9f1ff87b54ebcdd9a";
   hasRunfiles = true;
-  version = "3.3";
+  version = "3.4";
 };
 "burmese" = {
   stripPrefix = 0;
-  sha512.run = "ec6d5597c01c7d62c76390234dddb6ab0ce7771f31ce6de9ad8ef65b747dc6a06b93b07c210c49eb61897b425f85af8ed5c7a3d22b55e7381638d93803534b86";
-  sha512.doc = "62deea37a3da706ef58055c8a3d7a37c78fbe09bb133f3c08d6be7d702425f7a81db6ef904a42edb4084cedafb9a4810eba4d7c737be192aa25028e2704afc53";
-  sha512.source = "6f374addb06a8bea17036d43e270d2897e6a0e9c3d96ca8e4a3cae2bee8d6e1aa672f49b8c75898230a16bccabdc926852016cff11ac3ecfe6489c922e53fef6";
+  sha512.run = "7bce3a31febfc6a959ba4779d975cf93276a0bd1115e06a50a3c8d705e49e8d6747ecebc7eac2147f021a538dda1bb241d8f320ef1486229c930141e06d6ae26";
+  sha512.doc = "4a7f3628efd913a362786564dd260dc1a63e51a397af3d92222db6f758b7a7792b13e58422d2604ae98f615fb5fc42e77f265e505236db9bc981d7951e0ee1ed";
+  sha512.source = "066d164d97f4fa9e1050d75c3c20997be859718a2be37c465010040f969b2d3aa17edc3c241f5aca45d91dd12517d72a731d02954088ee83ff5aeec3be0b0fcd";
   hasRunfiles = true;
 };
 "businesscard-qrcode" = {
   stripPrefix = 0;
-  sha512.run = "b8515a3e81041e7c230e7b1781c475e4b1d1feab3e202ec280c423e3655c6ad587689772213adb3dfdca31473461f1e18e670b3cadaa4c0afe6c70527a9bf863";
-  sha512.doc = "9b533194b712e522ea191a78027ef514a68dcbeecba67783c9515ba73842e8c1a3914f422538ebee97dac3c9201cd237a6ee2e6bed248e9a045267c1a72e5fd6";
+  sha512.run = "c0cccd1959a358d06db838ab035dfe2c4c2b960ffbea5241057871e4131ab06bdefd369fbc0179e74777fd83720692eb190322c797bc8da2ea84f1943684faf7";
+  sha512.doc = "bc2db833044104ec82b3c8913067e7687ab18944e7b12ac003391a207fe287b92426de1fce32088eb4293eb2a1bf955a21a82a42ed673938113d9d8a01ec9d10";
   hasRunfiles = true;
   version = "1.2";
 };
 "bussproofs" = {
   stripPrefix = 0;
-  sha512.run = "29f3f8d288d886b9631085891fd4b3046d46a5669e3f94d9cf7b05164e92060a9359ed2b96166262b66cb11562b72edd9d7ce4f64f48b410b8685f77dd2d798d";
-  sha512.doc = "226c01995140d95c5fa16a66f212e40ef232e68a85a0748cf279edccb4dd587047fda08125d250f9de04f45091789d8689f46e2c9d500b4de4b477d6834a0d94";
+  sha512.run = "a23aa5580e6c3d691c7b14a58b20af1e135681000c50a84be01040df7e1a844b8abeebe11a9dc456cee37e9e34ec020139c9f8de4de51833a88f90e495a65fcc";
+  sha512.doc = "b9af525a6a6204c07095864d257c65feda61214c557b0801c9a0c4357578755e1d01e278fe875c0b290f250e3adb03d260a5816a4ccd9f6f51ba67cd8af8269e";
   hasRunfiles = true;
   version = "1.1";
 };
+"bussproofs-extra" = {
+  stripPrefix = 0;
+  sha512.run = "8410e4a795b79e7ea06bfd72c713f39950da8d1c418002bc497eb802ae71dce5d5372f7692267ca62891cbb2a58719b76c2bce3f10ec11cff63c40bae9122a2e";
+  sha512.doc = "87ed5af043bcb4d41f301d4b09dae511fa509fc9c50ac70cef29d0df4bc023f97856504c0650b6139ff8bcd9c25a046411b58f72db016d7429788db757a4e87a";
+  sha512.source = "de1b272c20c7aa3d1c6f06fef7226083890a8b43ac3ad9ec54d6ff0649ee268b9c9acdf5d3e335f1fbf7f2b9aec3ff91517f126fe8d354e32662e3d6938b197e";
+  hasRunfiles = true;
+  version = "0.4";
+};
 "bxbase" = {
   stripPrefix = 0;
-  sha512.run = "3c3ecb38c8f19d83bb0322a5076c6fd92337d918a3e5e0e11fd9e05785389d1d424baeef2656e7c388e4ff0a2f3d7676f2d7f6b72a1428f2e0da5e086b1d167d";
-  sha512.doc = "3abf3c4e02b596151c56611f78a7a0835c04c2b3f90a8ff18dd2d5c39e35519040618b8d100ea9771c165575d9d4901f0a64f2214a840c1755f14eb0b31c40de";
+  sha512.run = "18b281f5147a179d2908944dc35e5b9547bb094b15adb559f8154c432710e531ada4c7ab6f755cb631ab882d005e55dd5aecf8602b61fa07bc54fa91506aac89";
+  sha512.doc = "da2a4dbce775b37d143b112159e132568b3c48bfa56599ab5f04db0b0b51d1b901775036b76cb4bc049f8193117a01a4d2b6054744a49a8d57f986a2193fc6d8";
   hasRunfiles = true;
   version = "1.1";
 };
 "bxcalc" = {
   stripPrefix = 0;
-  sha512.run = "cb95b6f2ee48e3186c56458e60299b1bbc4665d3db3b08088dfe1be7c952e6705069948c4149ea7730ec64764490a0d16e17ffa17cb7ec11416a951fbdfae4ef";
-  sha512.doc = "cd6735309e8d1fce42aa122556661ddd322e3e7de81b0d908142290c3446ea5392413993f1c0a425006503dd934a1d9c331c8f375116ad42a9c97f0501a74abe";
+  sha512.run = "6669cb896306c352a7320eb957fe5751e7d0c4916fe7504cf9b385a16e9b1280267f2e7a2a5430d052369841f713e86e58e5c03fb995b0d7dd16123dd316c368";
+  sha512.doc = "d7606ce81855c390bef558df8af083cd2576700d2d26c5d892a938ca6f9720d685d2e78e6fb6a3b15d9c672db9b795ce169a617a93f2baf5240ffe3b73ab7df4";
   hasRunfiles = true;
   version = "1.0a";
 };
 "bxcjkjatype" = {
   stripPrefix = 0;
-  sha512.run = "2804b33c5b260b7c9d5683f5b338cea9e9fe6704b2248b762c8382cb592b8e4ee2205983fbd9ea6c57ddeadb7d3192f177bfbf6c938f3b645228a15613e27259";
-  sha512.doc = "e079410597faaf593adb2d032dbf873ad826c917030e20ea4c332931ac974bb2e0440fea388a56b349eb694142feb0682ea0bcb8850e5b31f8719ff6cf6a4eaa";
+  sha512.run = "ea75072ca87925cbac9c69335fd77b509396516b11cd74b4f29976566613a3f0fe091b8d77f00803932c55f87fd1af964243a02271ef3ba64f08da5a065fb7f3";
+  sha512.doc = "4cf0962455982064956fed4080ccb8a4e4e386bdde5952880e05246bb655f064c22b4c1e2af32d3a8850304c1dd46c817ef16f0cb8a0e8cb764fcf788bb4ce6a";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxdpx-beamer" = {
   stripPrefix = 0;
-  sha512.run = "d1c9ac9f8fd6e74b373fb75b7b2a40f107207cfc6f12fac5ddde7def389acff742123f56ce401b7a32d763eff589aaf88be03df50fe01a75c620c18feb6f23e0";
-  sha512.doc = "dce40e919e6dc261207577186088da809aec40150bb7e75888ab8c5b3ffd4da343dfb4639e22d7e7de7dc1d507d6bea5305f2ae330185dd695bd47abad71fa9c";
+  sha512.run = "48009e69d2bb6c316c5d33dcc9d17fcf9f762b68688130ee8407648039b7c3effbbdeaf991bda7842738da59213cc855b50f48cf179ec77e0682729d6e5d3709";
+  sha512.doc = "2692918a0fb1ac7bccc6e905350c6cd716b72b33d8f00bad73ed0146238965d0c1a1d9de07c22fbef1ba7211a919c1152342a9f4bb48185099aa470f76374bc8";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxdvidriver" = {
   stripPrefix = 0;
-  sha512.run = "48840d20a0a1f316b5693ae0114ac585da6aa9f6f75f28973013f67f90117fc995b0af28f31febb52615556e216566f2a52cebb6862e6ed6f084881db3feffa1";
-  sha512.doc = "77cb30dd6e72f865be3c8b3ea42f29845dc5c1fe67ceb666e7e3dd8f36101bf34015018c93eabb3efe102d1fce998136c3e2bcb4c45427bd0cd9af5fb80ef85d";
+  sha512.run = "dc37ee5237e6eb02fca173b8b0501795604930b56c3e9101c6b653ad6df12cb5ae82ad81e66aac5c1ce4ff0aa8d7f05658f4b41057ede286715c25d290682182";
+  sha512.doc = "83e18920fb6f2f54f54c401fe83ff131dcbe64ca712ded59f0690d90f1d8b2623ec135692a3fa437b77fe82336553a529d36b5bdcec96a96cd57523f11cc0e0b";
   hasRunfiles = true;
   version = "0.2a";
 };
 "bxeepic" = {
   stripPrefix = 0;
-  sha512.run = "374e30e22b89ab56fac9e894029d70d5213416e5bec63b62b060758d7a194b44bd50f4c7419aae6de8ed1a57c0b7d2826e9cc9ec2527b7067da2a9af14b3260e";
-  sha512.doc = "d70e01007b6bd7bec634b5e34d52c80aaef8b583ffb61b028446a80fef3a31fcf3f369f164f9447ace2fabc75f3d89d88732b41a57e7a134ceee6157089e12ea";
+  sha512.run = "a0436e9dc7dffa9c7a7b2a41662a41db934aa4242c953f480400b7a2c8a71bb526ebe8eefa46b02db03364efdf14fd88c1dcd267ebd59f594d72540ddd3048c2";
+  sha512.doc = "25789b297ba2fcfb81e74637cb2270d41eff858e747b841cfbf5d29791fe6697d3a9cfd4abbbbc4ed0a5c5b274f8b5a7cdeaccc995f6ae623d2a6e2d831b7e55";
   hasRunfiles = true;
   version = "0.2";
 };
 "bxenclose" = {
   stripPrefix = 0;
-  sha512.run = "f2d1772829ecf48255a5615884ea287d8f2a8e24eac2e71958d89e0b7e3a16040a0b597eaab48fd07afa0cac98a49c722ddc7d7ac3dd2f594df4749897962b8c";
-  sha512.doc = "7e73cafb5b3e71e855fb8a32506f8ade73861d1d7becd5e902c5ab70f619269e0b5ece576320b31899f9fcf181dd7a31a020212f51cde83d9992b18f21c280f8";
+  sha512.run = "f3d0f39e9c21f3bff75d118bb1a9408e7fb2c84beb9301873cd37a678de4b7680d1e8f13693839ce32e1e816e756d8f0af14cc620952afc8fb02885debf478a8";
+  sha512.doc = "ea7e0f17ee70d3d4798e85e3788af1110fb2adb436106ad08f601655453af2c5d192d5e3854fee1b29f6ac21f2f6b02e239ff4ec6ae9181818b23bdbac45583e";
   hasRunfiles = true;
   version = "0.2";
 };
+"bxghost" = {
+  stripPrefix = 0;
+  sha512.run = "a3818f3a4e804a402f8a54288d135bd4e9ffd5cb8a061923548ae4534dbc46490f32c1b5db24bd8cdc32709ad7326145abd7f99592e0d22a14bb60938bbba841";
+  sha512.doc = "bed6d2e8e579b904941ae095ce879eabfa501374542d4716b890f3071d199723f2875ef47f0fa72adf1f8c542c763f4b49fab09d192db10400f17d9c2e0852cc";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "bxjaholiday" = {
   stripPrefix = 0;
-  sha512.run = "90cbf311a90fd1134cc616db22a97fe26ae4922ce0390654343e22c053c4b2f1881676b09825fb8ebe22a9cb20d59516b2e406a35d0d7366ebb8f7564be20712";
-  sha512.doc = "e4392e15c98f0ada391d28064bb8fef39a58dedc88d365b1a174ad369ac9fcc6c255fec59e776bfe32c6acc92ddb99bf8746ef819b6257383a3642044d486b7f";
+  sha512.run = "d028523087abe4587c8eaf877eb2dd0f4c12fc12055c29bc1bbf615e855155a77266df8cdf50bb458600bab0264836346a6d98fc183aafc92b546cfc7bcc1bdf";
+  sha512.doc = "398bc4686c7c3b121260cbaf379ca66f7f64911b18d771c04507287d3cce834256662dd8f72f1f55601648cc364703f88a0713d9dab19c53cf19c252e2919fd1";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "bxjalipsum" = {
   stripPrefix = 0;
-  sha512.run = "e78579572f584e26d6d18e409e9290cafaf0aa5ff1c4486f540643645679d126eae9419a961565136ea66f2a6ebf6ef7827bb6c86825e2b41beb383e57bd7655";
-  sha512.doc = "c4e2dca669584cef8a6b252412b3b231404ec0c76a976482504ff456579c7b6e617e4afbd603f577af60930662365caf997605563785c8fb537fe330d613e8f0";
+  sha512.run = "fa8f096023f86fe53d09ef1e719d1930248981f4a9c4f762ceb00eb7e42ae87a876857f03b8210ded78798c4ea18bc44486a87876bd5f2509a9270f09d56a53f";
+  sha512.doc = "551385ef1ec3aed5d21cef7f1f66254f937c1a7f979db2ad083411580a64cd152b16b9629bdeaa8c2a14ebdc8566278e7a9533ea178b953b033b2637a5f29df4";
   hasRunfiles = true;
   version = "0.3a";
 };
 "bxjaprnind" = {
   stripPrefix = 0;
-  sha512.run = "1bf5ac8baf6d3757983c4213649f911522f415a6c7351ae0aab0513bcd8a43c651bfcc25fa6a3ff52bd50a6291a0db86c549a46287017f90843280fd8deed098";
-  sha512.doc = "418c6df5c3db42c5c4f692ec09d4b8be91fdd1ffd31fa5e9f759ede61c139d20421adc8a12f4d923b5402cca9f6dba5015b7e515afa22d4146989a24a126512b";
+  sha512.run = "77f754e9d9cfc643286df17c7102685ee4c893b5b99308da7a8a9033fc043a7ac95a34dc4a253da4f5e6ed29b35a04376eba1635abbbbe6a6e2670d0d47f50b8";
+  sha512.doc = "0010c6e9d1041013401f59820795e338d9e0f852b2d29212fda0c66cda3e2dbdf59593547a8d83d9c6d78d48fb0372a4335976ad1fcc190c3c71a3b5607a47a4";
   hasRunfiles = true;
   version = "0.3b";
 };
 "bxjscls" = {
   stripPrefix = 0;
-  sha512.run = "8a1d059a9d8a8315cb6bc7267f13179c6c09419408f5f48c6543409496c9cb877babdb66b083a6a3706f9d7b8dba03dc672a275aa9992ce79359bf67ac2dde9f";
-  sha512.doc = "18b005b170edf839c07c77f3a5533a11ec5b2639df973ef8cc8750f31fea3b9b8b8ca2c505139bc7611fb22252ad6f264ab5fbf06425a04838a5b384533946b1";
-  sha512.source = "acd4dbc4603ef322cfe83e3e41bf8b84a09c6615a59ba334cb7f8da4aabd0987e0c89c5cd90c870c4ab6eeefa43b7046c0e4ac74b58aeda2d47df804732931c3";
+  sha512.run = "a109996608f1ab1b12274726e8522b6e3f07cf6c07774800168a8ed171948684a8821260f4917838f5ee7509858f6a668cd881ec6d5be2aa29ccecbcb51bb200";
+  sha512.doc = "f76a6fd1b5656be0a3a486e3dbe9dfde5e39d40310e3912158a6bee3981dfd615beb89675a5875cb5d31cc73f556a61842ddb427662e0e3ef40ca85415811014";
+  sha512.source = "97cd18d0e977d341e9ae04899c29541b24946ea87905b51477c59cc3231ee2cb650b7876e8a7c9acca2a712ab7d02c30d2d7cff52c080d87fefed8974ed91be4";
   hasRunfiles = true;
-  version = "1.9e";
+  version = "1.9h";
 };
 "bxnewfont" = {
   stripPrefix = 0;
-  sha512.run = "343d6a7697f3957e97d4ad1f7dacf030b2f378d4858165307309b5c7efa14bb9871f5e44fee328a93a086a337b801a8f2901b26bc8e287b8b1eb45c765e1f8f1";
-  sha512.doc = "8f564e6fb074e35ae1810d5711af7c1983302590fd249fdb9599bd90f311d908eae0731054e67edc06bc169dff59547fc80b57f9f954abc8ced21d9b61d29767";
+  sha512.run = "83775ee72fceb4de0037327561ea2f1723db89dc23ccc42245390212ae1fb849c92c75b2e7b4b23440c62086116b8f0a14b12b27f97c9277c55a7454b231826f";
+  sha512.doc = "f09fde7abd39a4df52175eff90363a469270ab1385f3600e654535cc90d7b4b5ba704be734323dffca512f5942c45a9ffb5cd19a73026c224cee3be33eaa5b65";
   hasRunfiles = true;
   version = "0.2b";
 };
 "bxorigcapt" = {
   stripPrefix = 0;
-  sha512.run = "5384fd91b4f641a5ee2ec3382ceabd48bcdbc8e9df6723e4219cdefbda07dbc56a8a38c2d46ea427df74dad296db442918c434a64d98308e0d83b24f41c67312";
-  sha512.doc = "bcce9f76d179609ba77e55778bcf5452e41da5a45c255e50e078328ea488efcd4ef3d61e68108dc4d1c86a26077a7fcf0652243acb5c87668a4d4111baacda51";
+  sha512.run = "de76176e7448732d3d429c11b605f24a01779651dc5bb3969a6cdd45ac1801a9d2472dcb4bda9751aae09428d7962981a4c9c581244f15b68b6a4aea43d54972";
+  sha512.doc = "0ec8b913862e51f89f661de3f628bb51a306d09d04adce4ff46183d8bb24c351f73c877b08b699f704661ae2c31131b7a959ad863a3a6613235318f8825136a2";
   hasRunfiles = true;
   version = "0.3";
 };
 "bxpapersize" = {
   stripPrefix = 0;
-  sha512.run = "458f08fd1b94bb1a4b11d048255c79946170a8c2af7aea2e0c5580a690b17b6187aed926764e76e96b38d6e9dc85a18ce4cdea834f3e8062398ebc3ad4da60fe";
-  sha512.doc = "b25f095e8c33301d38d86b4b29bd64d3773fd108284bdac464159656ca78d37264e624506dbd12f242c4ff9b77f6283925f582476f5b952a785508d3780358bb";
+  sha512.run = "09b679f14ae4c851b0f4df35ca44653960ba0ca6de03b923602721c25a68e17c6ac3818bc91e189606fe64e3d0585ebf5e5ec5ace60f52435ff79cf6c7a8a12b";
+  sha512.doc = "519c4ab5c8eff946e075a84834209adfad9d1262ddcb30fe51b66bdfab5a15d7abe50549073f8d0aba1b661cc262c11f179a0c71edf1e3eceddef020e3fe107f";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "0.4";
 };
 "bxpdfver" = {
   stripPrefix = 0;
-  sha512.run = "4b53a48ae2dcfa01aaf9e907138370e4b5ad0bae41f7ef52370496e08eb1dfd55549646615515864dcf16002007f9afa570b9f661637547bcd86e58dec60a765";
-  sha512.doc = "dcb576742310dc1b7c9d79fabf713f3514ef819ffffa19c0d8556f2d7d2edd37a5ad8ddadaa8b4a5aa6f3e204f9941b4faf56f7731df4d5f3919ced56923815f";
+  sha512.run = "06795ad6cf70da674064e9712584761e9ed7fc295585d66439c5501532fb5ed3da03d05c8b22b6022d3491079b7ae40af1edae12dd3c959c2adc0f05732be723";
+  sha512.doc = "326cf6f244660a7d94a4c847ee9c7a43cf3d2fc199ae94035a76464691b48355432e71fff82f9c6bd3642e10b2011ba4d8d0f318304818ad9a8c27c579d3ca37";
   hasRunfiles = true;
   version = "0.4";
 };
 "bxtexlogo" = {
   stripPrefix = 0;
-  sha512.run = "4094bc59e086c0ab7ca409979a656624835f5e9cf0fd665d2e3058cd258349ad26f1619a77633ac8d784ed21930967e6e0ed07b3f5a29f54c6efb0eb05239e75";
-  sha512.doc = "97d6ed9f62478e078cc0f7a52a6723c3ca9f3d65e6a3f7cb24f93b95903160b7a5414fc7cce80e2a0ea7281943461751fef33a9c331b3f9b1ba9865cf51aca75";
+  sha512.run = "d3144e28a695f0e9939ac3074679558757f2272f0a2f2ad958481981389fae44a663c07fb914b13a890a736989bbb9946d22e1c9bd5d3ffba1db010fa451ee58";
+  sha512.doc = "59ee17c9147587d1eb1052dcf4624517cb575c49163a24f3dcbf27785f75b325c0de1c079c0b214cc6a63dd9d5862578303170eea91b0903d3b803c044078ee5";
   hasRunfiles = true;
   version = "0.4";
 };
 "bxwareki" = {
   stripPrefix = 0;
-  sha512.run = "dd47631c39ed3a3d904e9056e03f1f7ed4a93a078aaa435e8d6ee4fea8c58b6d4cf46740f75b59fa65d9867d05331a672888db45da8772dc0211e1df849e742c";
-  sha512.doc = "b03e54aea1f3da716df614c296cc70fdc05b3d33e9c093cd9566674640c90e0934204f761c6b9b54ebd6fb51e808fb858867fbefdf5633a4edd3c1cd362f7315";
+  sha512.run = "73f44924ed35cf95af7d2eae057a48fcdd307741ef9a0a0943638681f9008eac56e8f2b1f57afdf0c3dc789a079e65ab1142cc5e993ecf6b382e8bb127f6ea1e";
+  sha512.doc = "d861ef91292b76b4f248b51d99d062116f49be1f942629d049fff00e20a6e383bed050799a576e14f7daef52dd4f7f1fdd2ce898374191b9c719421ea755d7f0";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.6";
 };
 "bytefield" = {
   stripPrefix = 0;
-  sha512.run = "93b4b9c974c9045c686720bbb88dcccd7f721882ba2fa38821bfa960eccc7ed048cdf7b52be2f0105d83158747120f450b38f5af535443d1f7f3ac202022be4c";
-  sha512.doc = "5cec0cefd71a0911882831e97e94abba43440e41fc94c6da26a54809869ce2d34577fe1d64aadc5e08245a5501d9ac80693ef53e06425f1b5f3d46984b5a837b";
-  sha512.source = "c43584f47619446d3e1cfa32550c570009426fe9bf44e3d7daa76e2489838a9aad24a1dd984894b45fa3cac4f460e8cce3ae8d35f92d3ca44ce0022b6325c511";
+  sha512.run = "ae5c3c97ded2cc83be2dad6d67132b75eb55b22ffd8d4c0bd49dc842344a310c4ac80571165e43d2b446148dee1ae3927fc2193a92e85e75ad457b4732bca7ed";
+  sha512.doc = "6657581a9b97383c2dc3f8972ff77461a73ea33ecc0ba4dacbf0188e1db0dbe21e2d324dbb8fac7f05fafa585d3672d6de7d7db267a8e9f5e623838d0c46df5d";
+  sha512.source = "1fab74d218ade9454924cff4345c55d6dde25d4350cd238834677d24be89ddc58ce7a610e089158281a472b102db3809979f25a57c0c31ce50dbfcef398a662a";
   hasRunfiles = true;
   version = "2.4";
 };
 "c-pascal" = {
   stripPrefix = 0;
-  sha512.run = "b09d1b95a702f41c0c16bb4f8a30b25f09a9b8d03b624accd4edd6308b4b572b4b94cbc2ffc021007b2943223a001bb7f42db8bc56a03326d247da6aa49ffd9d";
-  sha512.doc = "d7c30bec9e22f37129a55d252e09265836f797b86f40e5db0ee6fb54e12bf71983cdcba45cee17d7ff6e9cfa6808b0070b43d313b3fa3e34f79ee5e9f7f4ae86";
+  sha512.run = "59aa375b3b953f2fab04547b3234b36fd08af39392cfdf05f6992a90ef3a52503b2e11296787763abb9ce6251f9cc2fd062d78133038ca4a92e1b06ae65118e9";
+  sha512.doc = "52252a2265d9bd48f09ddaf5f1517a6a74980897f0e8e0ad7ea71bafb194ca5bb98386af537ef2a4fb955e62ccba3d16cc1ebbae094502f16ae3bea0c5073c79";
   hasRunfiles = true;
   version = "1.2";
 };
 "c90" = {
   stripPrefix = 0;
-  sha512.run = "0fa5df10cce957a0888341cce11595f6a2c0e979171b58c417b6f6e6be7e7d8d65cc3b19be52f7a4ef2a443e19849eca6e77a7ea7a22e05a3d5b9151b107b315";
-  sha512.doc = "94670225753ecdb6ab557bb506ce7821821fb87d7c6f3c71dc3be27c5fcac634f86c126ab55ee63e1f9f0d789d3236cbba81d5e9f32a0dacc2214f2f33f8c549";
-  sha512.source = "0fbd21056fb536aef671d21cd8930103ed69281952e3a6a304d30a6538db8a2805ce0d2bf57025cceef4b0abd06c788d1d005de095b41b7914b41457a142dadb";
+  sha512.run = "f7e7aeb931bd215d38b41e1ded6d8fd046f90e54946a1bd1d4dc04b7ede4f6c20a3501d57397601f8a423fed9518672fffa9d45f17515f56b05217ebd59efe81";
+  sha512.doc = "dbf3f9d28bfad1d52dae43f9e9804d082525ea6deef94ba4ebbef6d06b06ad6010f5944c52ce992b1ba4cb5f3877a8eb3b694f106f0eaaef48ef350f62c76e8e";
+  sha512.source = "fac23323734b4cf9357067cf6d5304d36e669798494636d6b3283a074cbf3ec74168138f6d9bac3d6cb7e3ce3c7d5e35f7d98672865fa9dc87ea59d4227e337e";
   hasRunfiles = true;
 };
 "cabin" = {
   stripPrefix = 0;
-  sha512.run = "9d07b4d6cd2f2b4f38ec4334f9506a9c6c9ff0afaddee94a431e071b9dc44776330851ab36cd121232f10799c92380225f6cdde37300ddd4541a5911eda29ec3";
-  sha512.doc = "6a4a47a109741013f03c59681fc22b0dd7abb17b56ace14f7744081d2055738dfa8953dc145194862fb0532730384515245743d68010a26c798af482ac874ed0";
+  sha512.run = "f27414422184524fb0128f96865e3dc2de91efa6c71701b1829f87880ea95819a33233b7bfe82dcd396d6cdbd04c1d886f294323cdbd27b2729f23a34f0bf25e";
+  sha512.doc = "e63cdda53ef967030c13d31047bfa3ea25e45585e508a213f12c6cd1e8af7ab71387bb7ccb460654986254f8ff46462ce9a4b0c90ca01456983df74b942354fe";
   hasRunfiles = true;
 };
 "cachepic" = {
-  sha512.run = "fedab1832932e2d9d4225dc3e01738fb0601bba81b578d718c71471fb842a33b62603188d850111f265a474cb6343ecb624e869d8243769a535393acbd9f6c9b";
-  sha512.doc = "8ec9eede4f73c56b52df6b686fdc2d4c96714d301bca821abdee4d9cca974c5fbaa2ad0089b043224cfa3f16603813a2a2668c6b6d4405b54c5becb7a085508d";
+  sha512.run = "a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d";
+  sha512.doc = "93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c";
   hasRunfiles = true;
   version = "1.0";
 };
 "caladea" = {
   stripPrefix = 0;
-  sha512.run = "66c5b1225e8a52a14facb29524990f75459e95c6d7e186f87e6cb38b75746fa836528e2dae3b271f675dad767722840556e5b47401e3614f06af475b97042b17";
-  sha512.doc = "ed95f1f0c105ae08e92b54d93571451384cb057f15348afd6cde73b896a8ddf4ba4736d23ed00f367e3e07de42d69d2ebc9a0e371859e1c4a33b98b003c3d1a0";
+  sha512.run = "3e1d6bbb049ee4ac637fe051ac39d2e590d0e5ef4f2801ed9c1dac96b9ec8724e7643fcffe8a72de905572a75525fc6954871d8d953ae120af7e9f336da51442";
+  sha512.doc = "f6b47af3681349536a80bf5b6ea0db2113e35384dd7ce99da3704bdad3a3c5dc8f6dc0e4b1402c89ac97ece9907af5e0f2263edc4c0bb0a1e46ee89cac2f6639";
   hasRunfiles = true;
 };
 "calcage" = {
   stripPrefix = 0;
-  sha512.run = "ec5c839ee7e43c275381f241047726437cc5b4523de6b05382e6c435c00aa691cb9692ebeaf4d33a970036dcf69859cb3e29b28f7f4a8e1a9bf0db7bdf3516e8";
-  sha512.doc = "35ad9c2b753c5d10a5de3399e4c9cf4307b9e80d824f4ca6a3b9f3abaa4b4f18983cac7411303d4bd216603b987e153a5334c6655f5ae40718118be0c28560f2";
-  sha512.source = "7853e241ce6bbc68dbe810cc98c299da6605d36ebf610bd531bf654334bbaab51bbe37b533f5eaa387c3262846f9a805e73006bf4c525144e0b4ea243861a631";
+  sha512.run = "d3f6d46166f2b37e6ee8ff9185c6ddf5ed99ca2b32c7520966fa9a3db95d3a9517e39f5e8f928332a8dba490274c4fe48e62b6ce83ca10d0fbdb9a4218e0d92b";
+  sha512.doc = "4c3f1ed751005a5fc19e0ae40dfeb010ca211dbbdb7ac11c01525c7643f1e993346f1af21d411705ebcb119f8b1c20e4ad35384d2be9618fbe6db2de99e6eb45";
+  sha512.source = "aa49d205c8366ad92a46195c113e69fe123979560ae92a51589718136bc8df8b3b00e0aad4d6643ca36d217be02fa61529c4a1779d6826a52f80d29649fc50ac";
   hasRunfiles = true;
   version = "0.90";
 };
 "calctab" = {
   stripPrefix = 0;
-  sha512.run = "49956033b20ddaa86ff6a4823a2797898a2b37fe89d3378f2b2616a1f16ce8911c809a3d3211b867f5d609da87fd254a1130ba70e5be342417549a677544e8ff";
-  sha512.doc = "a082fe9a8fe0c2c925cc0a7984a2c23dfe9a81ff8971e9fb59b182ed6c1814238ad6b1a208d025826d5bf5ef916ad92a113748bdc73ed2158f6fa0571467ae3b";
+  sha512.run = "20ccd46a047987004eef78f75b18f49b1e3001e240604e2657e23e30c4e6f286ba700cb828eeffbd608880ac4994d4a3cd2d67aa336957fecd1d3ea8a48058b1";
+  sha512.doc = "555a9d966fe556e8aa1dd39ec1ec327995f62fa447bfd2bbb8efe47ad667427eef249c749f9d2c0436c16e31e6fe7b0dced9b449da307411ac186d30c2407270";
   hasRunfiles = true;
   version = "0.6.1";
 };
 "calculation" = {
   stripPrefix = 0;
-  sha512.run = "3368a211168efba5a80bcbba92c40101f2c1f3c5cdd68a605e4624bb6c091c11cd7cdc1795cede7b20b742fec2288aec3cc89a533bd36f0f09156e82d3674b6c";
-  sha512.doc = "cf80023b11c243ea86a22415c294465e8f318786e4039649fb3d361eb728c8db9cee2d0d7f12aa81ae12480cd4b4a5fb7f1f23baf990791ca69390a92f593e74";
-  sha512.source = "0393b1f551c11c59b67d2c2118a55f3f3a214cda6c0a9ec54a32795c45b03c22b9b07783ba2a0ed9d263002ba1cec10431e0ce19f4c557c08f12978583b7cbd4";
+  sha512.run = "d60f9face95cdf6944363ce66b842b2a695b468e77193785564d1697244e193cc0dcf462e7a13c8a22eee173d5d4cd192ae59bbc68e086ac27c92d2dbaf6f156";
+  sha512.doc = "741f4600986798bb191352ef98ac1a398014f92956267c36ca1834d95996008204107dcd8575077d7eb2dc1ddc627f03ffdf071ce0d8b2646809063eba59625a";
+  sha512.source = "010291ac9b9d4529283ae9ed9054a2d797109a5eba2e999d26c4e847bba6c0bbb3a357a76526c77549636d2446d38fca2b6063ca238f5912c1aced9e2b63bb8a";
   hasRunfiles = true;
   version = "1.0";
 };
 "calculator" = {
   stripPrefix = 0;
-  sha512.run = "2e2160873be115de34202a8d2f261c1ff18f1b14e95e1f8a86bb270c319b4312bf01e519ac2abcaddf86bc0941cfc2cd6f9a3ea7a3245285ba20ac6cfee24f12";
-  sha512.doc = "fd213db9279bf544835a6c114e7a20e78be85fe362a008fdd5334eecaab7ca76fe9e315ca068cf4fbad7f258f3237e09f39d8fd0d5567ea76c85b6d66696cc0e";
-  sha512.source = "935b54529bc59f0dd00d90a61329aae91349126388cde4bc4bc0f2c98c30649658ae1bd79f27e4bd8faa8780fe0c103ad220224cf91e7ff590b559e80efdcd44";
+  sha512.run = "d381e15db10c289b3de79bc6464c714391949f149cf5e6ff7af04e3f195308cd9d71627dc04c6138b17d4d2c1e5caeb44149e327df78d20e54344d95cfc4d8ac";
+  sha512.doc = "107055cab430fa0867f48b3e4c9215052926ea328d29d920dd0345bc48cc956a0673f6ba3b72c954acd98fb65678acde00b4d18def40225e1b8ff656a7938754";
+  sha512.source = "3121da3beab24f10d9898b88fb971613050078d2d09deedb03f3c5e6b9b1dd9f0a9e8a2c7c8ae092e8cee7058abca6366ff09dd15aab4f386adab0206e11303b";
   hasRunfiles = true;
   version = "2.0";
 };
 "calligra" = {
   stripPrefix = 0;
-  sha512.run = "291c0e7cc4c688428a4ef6a267bb68f1abb0ebb8418189cacbfb5a55f3f95b4c4d2049866bf336532fbd5e7529b73a2a563354acab6f6c1d86c1eedd1cc890fd";
-  sha512.doc = "3856591b94ead6994944155301163ae8a434a6428b7b4717a1d26898d696f1fed28b73a7f3ae9ee1e9f7ea0801790a2284e932392902210d56d968c528af7ee5";
+  sha512.run = "9479d6b5ab33b12acae5cb3858c218dc4a1e1901c4006dca5160778798813d333b2e9e615eeb29e01007084d8479c58573f88ad5e282dfc06f3f5a9820df482c";
+  sha512.doc = "05e7b61864f483f0fc50d4680d80a395282a5c7f36b7ccaebb70e1c24cb5a101c4ee5accfec8d12c7fac0e7a32851dc15906267b93e6d75094b7ac646826dead";
   hasRunfiles = true;
 };
 "calligra-type1" = {
   stripPrefix = 0;
-  sha512.run = "44e1f4e77872dbe68dfe87c9cc70b5268e6db691ca278b1b43fe1f56c16a2985b9dfa2a2fdd89cbb427746ed6c3c502e65b8b778592d51ca203e3eea939936f8";
-  sha512.doc = "a0e6a8ef9b0dcf57e169d6390ad68d7a5470938e2958865b602d3c25f00f2d5a1f7ff9196bfcb6d7bf304a02dfc1f542292ac995a9586d4714444bbdf9cbd9ad";
+  sha512.run = "325764734735203d4e355d33b30a289d699fa10377212e39bf33d3195f2dfdebd4397785d69d6ca392e040cd2fd5bad20b0055b5f92620149fc96ed0d6d337a7";
+  sha512.doc = "c1acbd3ae35c423b9414b5e132e1a164d4b102ecf9d7305548bb5d203a8d3a25309e2aa5a5d09277d310b9446013ca2db65f9ce6d5783432ed325838bfc9a48f";
   hasRunfiles = true;
   version = "001.000";
 };
 "callouts" = {
   stripPrefix = 0;
-  sha512.run = "cf7543395ca1b2ba7c9fd8cbd44f720a2a896781d4465ed5e9bfb46ed003fd011e5eaac8c114fecbd3aea8a5413d2702eab937eaec4bafca3a725335f5efbca0";
-  sha512.doc = "20379990311229fbf072024a989f39738b1851f77d19cbaee2a7a9eb954bf3693751380547c5c4d327337995f3300c94c2cb199243c27b063f0643d23633571e";
+  sha512.run = "a440d3815f5c5a6d291ce4d7a20bc8483bebe190a0e6944de9f5be78a23eef119f41740ca0fbae4515b6ea7f2aefff90a62005883c44e8d70c6aec0a58c777ee";
+  sha512.doc = "0801298bd110f2e484b45c66626c790217666f3351aeeab87881d7f32ada1868222a21f2a7861afaacdea302ad269d2062aaf5fa9d13fdf8efb93efaeb499bb6";
   hasRunfiles = true;
 };
 "calrsfs" = {
   stripPrefix = 0;
-  sha512.run = "27b031ac6f663c94a76cf763f9eb014f9749165e7bbf6b51a9f0e441bb8ba94ab10125aa0e419b3d5f984234b85ad87c9f364ed0bc27e04314eeb7484f93888d";
-  sha512.doc = "f59626c195f3496b1f5ed881a95a907adb365f9f3dc309da8f7a2b6b08a01b266f4995c99728e9c0871b7b552092727f63ef0faf5bf83c092e8b765cafcf98d1";
+  sha512.run = "34b5315e9e5e0ca532733f7b7ebe66e77d935fedf0e042aec63fb7cae257a423db5e93e288b9e1dacb26b0b75784eddffa8b565acfa537a7d970297f71e63a2e";
+  sha512.doc = "2378c004fe888bd2d60d0830ec98e805a2bdea3a5a6f4161dd3d4cb56c437dabdb579f3293845a10e316cd868725abd304ecb8eab55fb4c728ed5bc0d2073673";
   hasRunfiles = true;
 };
 "cals" = {
   stripPrefix = 0;
-  sha512.run = "32cca18edf550c0bac6d659a706fbaf510c76e1b851a9fd10d3b17c8fc6bfcfc6f8e2d453668aaa2001e0b2d78414ca8e41a461b9bc7044d01abfd113ed3d898";
-  sha512.doc = "8235472d0384dd8f1a39d517dd22f0cf7f7ba3f6cce143849b2afeed7f4b059de026a5c743f50b5d8909b2a6d3d6218b22f2f7babb4fb029ea85175f3fb659c3";
-  sha512.source = "545abf72a592d53e09b28496878e4b4fa285c49a43fa1fd1b2979f3347530f7ffb94562d1c1a8abed833051d953f6410aeaa01f351824968f5e51f7c7924d95e";
+  sha512.run = "75321e774560d7a205a7bf6b7d2d512c6aa9b5f38f6116813ff43ebd4d1fed23ebe26c235b278ee5723062e49630fc5f9480dccbe5bdfa44f5168f18657ddadc";
+  sha512.doc = "15accc06e3de07dc535078300efbffe305d8e26a3aa0e81304de37090500210932f08c24454d0bcb5d93ced903832891b6f987525eb64d04b1a7bfe577071153";
+  sha512.source = "59a99cfdb7923d0e9edfa656f53825194b3c1ad0cc554e28ce792783d3196b525a9e7dc0e5ef8dd824e4d35b39a71946c579978520c7fb87de24f1e8b91c1253";
   hasRunfiles = true;
   version = "2.4.2";
 };
 "calxxxx-yyyy" = {
   stripPrefix = 0;
-  sha512.run = "00cf9e6838d27f754ad9e205d7885e1255bb7d08167697026162171361a979d122747b60b60d72419e06aea0d6dea20938bcb33182246f45d09913dcb2c9829f";
-  sha512.doc = "6a1ef8327dc99f28f22979ac3d099b96517dfe22a0cedbf5bdcb7d320ed879aa2a393ad44dcdc8635a30c9ddd8986f70ec5727263fd4cfee32a34830ce987111";
+  sha512.run = "d66d7c31c9e16d79d28b99a395b8d2206bf64ca1f036d94a34d9a60c67f87c5ee0e9295a9d01a8fe16590b42e570ee2d49e7ffb07cd831588ae9d8bab40746f2";
+  sha512.doc = "53e3cc3a8152d7bcad1e00f2ab7163b0c6630c0a9a065f0bbe79ac9caf871bc50c985ba22eef2a69f745296ec22353e6d2780e92711d4c0453033ed436b414da";
   hasRunfiles = true;
   version = "20.19a";
 };
 "cancel" = {
   stripPrefix = 0;
-  sha512.run = "2b321b5e6342ba1089cf32128b4f51f4c5f2b3eb6c5f85eb4723c78a4a0f806f176522334f4a699136e53be574e89c7f31a8c505cc7ccdfe6bc79bdd37710f23";
-  sha512.doc = "ceb5721c446b0d71df0bf7ec87e87765af930653692fc84d3e1a063ca049c93da796615c4e7b7db14053cc3bf6b45f37d041ccba04a930f028c70bcd24005b07";
+  sha512.run = "ac6e6b642dde29e32e45d7a0e967370c1f7a6ce604075cd43c57b1ee002e75adbe4fbc81de30e8d252cd58f2ac091503595a433c5de898deb3bfbdbb6f2d2e62";
+  sha512.doc = "5af252a521c1976166db248c4c19d4fcadd32ec9801e0cd42b73e0a3a0adc461b88d765b90dec1af859474fc64bc00cbc8be44450cb4da6b43944c8fc46ba670";
   hasRunfiles = true;
   version = "2.2";
 };
 "canoniclayout" = {
   stripPrefix = 0;
-  sha512.run = "c13cf72db887f6fb2e01e832a5ed8b2dc253d9372210fa28a5abbafba39fbd3cc8aad238c5ca9c3f2037bdc11770233dc7020c7b1b8e836e61f578a49a51e910";
-  sha512.doc = "743b17de36ff13e7f59f30b66f4835eb29643ec97b5daab986ff7e307c5efa8b3608b54d6ec2bf82ef20adcdddf0726bd4d2a338e2bc4ad51a443fe07576a561";
-  sha512.source = "b71a626ec8a2517d3834a312dd7a43cf6509a16c925f03f05622bb2e60df7e87c261accc11d63be0da046ed3782b1efa3a4790b15d4a787972c5ae41c625dc23";
+  sha512.run = "19858946010eaac99d0a0b0808f31c57949b7488dea007e7a5a2d8820b0ae16518ff8aa48bfa5e067d90c8662937de7af7f325aa9a80dba382a03a66d89e46b6";
+  sha512.doc = "221b7eb51a3e5e9da2e354646cf1c09a78811ff1804805171bedc1e72e5c1ebc3a2e974f3b5ce3eb6322e17111ce2486e9c9452367e4e753be029d096ae9033d";
+  sha512.source = "27864e2f85680ac3fc8103bf14a420cd3b636124482ac2d0a382061825e70cf3674c8da8eb91fd8db5f2a7a15c173d2e16cc7f576cee28ac2a1d82417d662c8f";
   hasRunfiles = true;
   version = "0.4";
 };
 "cantarell" = {
   stripPrefix = 0;
-  sha512.run = "70485f4c80b6e5590c2a7e94b0e874e612a78f41f6d0aa4a7cdd82046074322a1ae1dad61ae734f270db73db812d6e4cdfacffc5b15816d2fe385b1a147359e1";
-  sha512.doc = "2e34510a95508a5d9708558aebb4b0bf0610d83fdbaf6b53438c354b49857e7f2aab1b57cb5f29b097aeb0092933016b63d27808a210ff4d8916ea6274559772";
-  sha512.source = "1665ccd34ffbbdf1163c624c49fbc30447355b1974667e794b01115516d9d45b2ce59dbb44fb961d553f0f56fae612d20670d081816c2ff3cbbd4a99f062c230";
+  sha512.run = "4565c3ff88cb4449fc2feab5f87de79eee7f38d0bdf61866d8fff421bc92e0382653b9956a724b1540c64ac78dbb529f34421e5dd0a3b76a2669da3a0d667c89";
+  sha512.doc = "2c696061a46a3b83951869ebb36b31da87e61d9489441d14b8f8ca2eaf4616802ac917e9e68d56d6e81fc03a534175b592d74ac42f8079340f476725f869f0b7";
   hasRunfiles = true;
-  version = "2.4";
+  version = "3.2";
 };
 "capt-of" = {
   stripPrefix = 0;
-  sha512.run = "a5f19701878ac0fbd2fc38fe6dcbb984073346a991bd1f34e51b4f07ecd34baed89aab19ef80208915a659d3a15a2c81b3dd09f214818f9c8a2bff14a008068e";
-  sha512.doc = "1a834571097a5304395b86fc5d9a5c3a49d1701b336330c996ada0ffa71a08fbbcbb7aaf381514854f914f8c49b989d35c870e4bd76e403503abf7106108ffd2";
-  sha512.source = "58854151a1e4af85661c70964568c0d61f47f28923930c40dd8a11785f47e6bbf2f3259e0cf21d201b63abf6ee2f3fee5b60d48b2cca945e869fbb95193ba9b9";
+  sha512.run = "f3b1b81aa5a8c2ed9d5ab94e2e242442674af957d3f987b0db459ff8ca920abaab43d46db234b92ab588bb5f7d4c587eccf586a87fd492659f5b088760859c62";
+  sha512.doc = "a8fa6b2a0787a3e52f3a9a22482ba9f9217ae97b985b4975c690d240ae040f4f1e17c3ea7439d53337e5a0815a66754d0e6c528417c04d7c6684d28e869f71d0";
+  sha512.source = "87d4bb47226cef478ada2482605b925a3ebb3c1ee1fc624f39e724a857101b113856d99bf659ec5e01ce6773e0f695e424c41ba0640f23a76e9721d06a1d4f56";
   hasRunfiles = true;
 };
 "captcont" = {
   stripPrefix = 0;
-  sha512.run = "5fa23b3c6fc6abc25fb1321da15252a5a6381858138285057512c9208faf1b1f754b5ee5beafbec66ab3ac9f4944b3d129bb7f5a84c895b0ca5a194003458558";
-  sha512.doc = "222ee43beeaf8ebeab885b4123b92fbe48a5bc6784e1878ee84df3187b6f9fe2c25ac04616b20d3ef0a892bb20501bc8a8a88d059af49d8a83c9ff1fce09b9c1";
-  sha512.source = "e2b20f5ae53bc6190024013daecb6a04b39f3700e0a881a96f0ad60ae8142b045bf88886c040cde872d6a113bd93ddb22cff8d2274b7c4500327521dad76c60a";
+  sha512.run = "b5002e8ea4fc8ca1840190e8a2d40540576dc5e17110da473a8981198e3f24c858644b181545be3bed6275cd0e0bb9848a6058adfc8dbef26956e0754c4e4699";
+  sha512.doc = "91bdb436163ff745f3aecc67eec747ef5a1853035d86258bbe23a080a92b3393f72b4029bad719765663c94e79217df4edf753be930a3e4b62f0b999c296ea86";
+  sha512.source = "9c9f8b2785ce2620db8e5c373cd2eee4d9aa3cd8eb47c648625ca7250e7ace861d9dbc31432a7dd7d0f6c7ccd48b43aba74df519d72e3fa1a3c9546de946e591";
   hasRunfiles = true;
   version = "2.0";
 };
 "captdef" = {
   stripPrefix = 0;
-  sha512.run = "a5376f7f5b1d4a751971b4210fdd32041009ec30d3e5bb8fd5cf8ace76a52ed4b74d11482beeaa6acdbeebdfc2b41cc714000c4383acd8112323fc71333f3aec";
-  sha512.doc = "9324e6ce581b7726681da2260e998312537153fa4c3df425bc50100bc3ab563f3b34ca7b5467227c3bcf5eac50f3ccf91e38e9e862fe04bd950cfb9335ef5b98";
+  sha512.run = "c24a7d66c1daa3a9c336a8555286876aea9e969a4107c42c258f0f4c9a88070316df70e0f2a860adb6335a33e49cdd7a9ba8391255f1e1fb283bd2f6a7e7b343";
+  sha512.doc = "c0a1a4584d0802eda39812d2c293fabed2487b0cedb57df622519d5857c2ef10e54e66032e9e9ee9ab81c757fb827eabf422b1bf2ab0ae6f7c22ab3aecb49a8f";
   hasRunfiles = true;
 };
 "caption" = {
   stripPrefix = 0;
-  sha512.run = "6f9f55e4eddba072aa2c10d42d49fad13d0ece4b24e70a4cdd66962103337c8a5a0af2fb28d1d4405c394f532e980ac39ab7b70f29f5a2b054d54ff3e6edae33";
-  sha512.doc = "3d6d721fc30c1721fdf1df933e8117428df55b6f181464cb61162bb22021dc38aecdfeb91e5de7c001d45de6aa8f1af31f901f848851c54d130fad5ccf57e02a";
-  sha512.source = "d6f7385c3ef087bb40d6e9de59292a3661000c8a76204bbe19eb79fa167403433fc1623fdb4d9fe51f1834c06089cf72a1e3b2a8491ac8607cdf4279ad243491";
+  sha512.run = "047ef9f5bb8b5885ebd656e961360135cb531a9b8b4e582a5d92b8b813b593e4b588e969c75d83c52e65656701855fb16335f9f5fe3ebf0145a3a08bd59b28af";
+  sha512.doc = "cf45afa493d9365446cce41ac6c4e7cecb08495dbf1c6f7ad5cb17a57a85dbc1237a595406beeea259ccedd0737776da6c393441010c2f7995b2675f7ce30170";
+  sha512.source = "377db41ee95d07c1c13c54b291d88d11c6c31ecaa982f59953d6b69c33f59f9a91f3df323e0a9bf975feefc4b8ce788d6f1485cb0e052b5d78315fb7e9bdab04";
   hasRunfiles = true;
 };
 "carbohydrates" = {
   stripPrefix = 0;
-  sha512.run = "600d248e5089ba077be105c7d8f8e03c508b15dca7c65628307b91aa736377ef2b7b43bffd3816021ba4bf1e26697882db52c1355d8674ccfa0dc7992c099ad8";
-  sha512.doc = "f9e0cd4372b40ff1f065d68a27f131007e3a22a801f1e7d6ce9235de71574bb4387540413175309e30c5b4953e13f1e6bfafb42f79778437e7901d346d4513e9";
+  sha512.run = "dfccca523ef4ea2c9bba9ebdbed7f6bbce1ab0739be02118231d1eb449bc826dd5e96406d5e009239a1bf25088e8df289e2e66423a536d76cf592af1a50f276a";
+  sha512.doc = "67de0675fbe00573058f428d34779b3423d1c9a7d47be5f8f1c3ba6b3cfb6783f5f1a945c1f201bb719bfe835ef035dfb56864a13ba0f12e0e83ef1ca0ce059d";
   hasRunfiles = true;
   version = "0.1";
 };
 "carlisle" = {
   stripPrefix = 0;
-  sha512.run = "3734bc331f78e4bd8b85dd2df238b4dbed76c6c1c7bea71768b1e9c7c62ec7d277194e54997b834931221023768af085e1c65c3d7688b77678e8d3d7465c4e1f";
-  sha512.doc = "91400a8a7119bfda80ffbd6e20c67dfae45fb7f430396f37bbac8c0f005b60bc82c0d502cc93fd58adf87fc880c8a958907fc1b3edb1d55915379c2eb2269c47";
-  sha512.source = "6e69b406b71462fb97a24e1d20deeeb1c814dc7dad196c97de4e92ff568734c273726708feecf58dd913c6b3d638aeee9d5f300d1b971bddbd70f5b6fcb2bfda";
+  sha512.run = "d3e743a5e614479167ead02eabfefeffc8006e27c486fb5c57f1cb94278418f86db0431c752310bc1f7cda6dad22b1610edf4d24742391f6b743cad4ea050344";
+  sha512.doc = "8d49c9d72669bffa042defaa53b4bdacf2e107753608747162947f05ad8438b9463afd905a376e462e6491293cf0c4a202e0b76db965854c19b97641d0a7d295";
+  sha512.source = "83417675f97cd8235ad3a38f3e333596188e717573a8739e41c1041d1641e1e53d48f189f6c01a58509ea8ca1c5d755c56aeeb9842e205c9aa8a01cfc7f688e9";
   hasRunfiles = true;
 };
 "carlito" = {
   stripPrefix = 0;
-  sha512.run = "f47d0ffd4bab7d892e6c646f3a4eb392c295b8f8a9ecd63ef45fd9ad891c33db8e66ec3e6d455649c2a8f8795693bff105e5ec48ae7c8d2fb0bf79d32e078bc9";
-  sha512.doc = "ff4a566ea7ceca1d2d095b3e99acdd65ceca96671eddb2d98bef69310d69e31435acab70272ab3f421cee5c37ba42c3aeaa230cda7e95559744a40080b9c1547";
+  sha512.run = "57575185b89cf337f612f3e5b8458502e0d86a49c992d40f8cdb390417b0387fb0039ec316fa807fcddad7795e9f6617f62cf0bd6827bb654ac28231f65bc0a8";
+  sha512.doc = "b656565ef24d9939545e52af7bafcfc8a3613d0f206e1aab455e339c1d2590e930207db24033c8585a1e7950ec9f550d3b37a0c1adf456800b85ef63b68f875d";
   hasRunfiles = true;
 };
 "carolmin-ps" = {
   stripPrefix = 0;
-  sha512.run = "1802e7fe2835863ac0859bbfdf21724ca77cfb56418e2b070a7f420a739b0324458c5e12b2705b03e9526a6a87fd4a9bdc49ba066960f3d3159b01636c6ddbb0";
-  sha512.doc = "70bbb0cee83468531ea86d841906c7d47d3ab95067aa03d4485bec644653e9d110619a0e643a6463685e50ef1cf7c311c64319522fe4cbc1201b77f37ae4e78a";
+  sha512.run = "61ae809b5e4e7ff493de30ebb825870ab9caa8dc64d6d3c82d4654fece82dece4937c798e3c1e5086a84411edbcaf8c2ea777a9534865b38d4bc5457ae59aa25";
+  sha512.doc = "284d9f740d1e4b1a4c989b527bac80e54afa74013d1234bf9e1c2d42ac2ca4387c3b0d24004818e1fb92b001582114a4432480804c721cc7df0bd3b85835f111";
   hasRunfiles = true;
 };
 "cascade" = {
   stripPrefix = 0;
-  sha512.run = "f45bbabf4c603aa16851745771d983a0f58fdfbc4bb738d57f81bfe43638cc36a40f5e21a5513d827f25895bd3269db92b9d0f5e2d1f6e5f92684d781866589e";
-  sha512.doc = "e7d688ddb0d9d22e67170c7f250737f1fe2a4fb722dfa659ba1716a2c83fbe51e621ee2880902d92dd551cbc6110b84ff2ac9b56a50cd6ce98ff37f9b090d2e9";
-  sha512.source = "6e29cf674695fdc589ddbf674f0acdbf1c64ca6c1cf8ff3454e3ab33f496778a1ccc5eb3064fff2ccaa2ca16ed30bd174663e10b8b6320c3f56df97b80a83b0f";
+  sha512.run = "d72e9c46f4228af10abc33e96818ee488d09389d21575b40cec183c03664c63cf7dc7b9dc319b0fb775c41b5c9df8f767d06d131ada730f9b8dfb655111fd7fe";
+  sha512.doc = "d74ad316352672ad753f48e1b1c317dbdf402927d75d583d85d85367ceac69228e81b726b575e84d2746a709457e18d25817ebe7850dd17ca07515192749b713";
+  sha512.source = "53ef700bc723b28b36ffde548b030639e467fa1fd41570179b7ae9661c3d4a9911d9dc765362ce46178d06d3a67dfa1fb408e8f074141c80d32de437554a3b9f";
   hasRunfiles = true;
   version = "1.01";
 };
 "cascadilla" = {
   stripPrefix = 0;
-  sha512.run = "e9a32539283dafbcc1cf676127308edf6a54c6d0558dd31de32601cceeb22ba213c30b4ddbe6f4007c6e1e8f3810ac47b2527d379d719f3cbf7ebc35f5907a87";
-  sha512.doc = "58b9111f86085c066f18363d4e168abdd1cb7ff74fd53dd34ddc537ea320e4ad2ec2450af0ff031f2d43325676c921a8ecbe008297f11170bc387fe21dc12745";
+  sha512.run = "df66bd91562f3678e2ef42f16a4a0c4af95209fb28b1176b5b63968632b3235391180b06431a42afdc73a9e4f97f47c8c954ed1ef2ccb746cdbf1d65058ad919";
+  sha512.doc = "2c15b786f550642c26cc8f5e0151dd5b31e964b46d59837b3f1ccbe118fba6ad8f06f86c6a5bdc6a791615929bf4c9b7c2287f930d1ca3c8bd6c2d0d7ddf64b2";
   hasRunfiles = true;
   version = "1.8.2";
 };
 "cases" = {
   stripPrefix = 0;
-  sha512.run = "0c33b5791952a315c72b18225f0ad0e3f6f331fceb5c3403db4c0da089acffd53ef2b957c13bf3480dd02bb6669135f96e786b32955fcb374e2d9a8f5ebcf629";
-  sha512.doc = "b747d1ec39c816a90c665be10a8721ff612cb379349213bc2e470236afa80978f968bd2ec99349a9f40233bcffea87bd53c73f1155eb13ed5c2b0fbaedde83ff";
+  sha512.run = "43d512d0a408c82b80cd3cc93ad858ded8a0af5634557e1a67fd41cdbef6f3df5d42d9f3e910d05fc203b741f9fb374271d22b2a22c4704010b934237e055c82";
+  sha512.doc = "1d09e32e370635db9c9d3bb618b51da7c16f178b6d6639eb7e4247b67e12036ddea3095a41dee4ea4746eee8ea7ec33ceed5e3f84473dc5c08ef078734a02589";
   hasRunfiles = true;
   version = "2.5";
 };
 "casyl" = {
   stripPrefix = 0;
-  sha512.run = "b74ac52b7bfc964e19a97f1be41c240a41b67182ea08a05021e5ff1f16c87546f9e216721c1b6184d8ce86c0855d49c93b4eeeb575d61b79c5f6df12a85252c9";
-  sha512.doc = "691541ceb4ef0f0c021dbbfe1fe6b75c27aafba752dfb105f9511237871d5db11d434b6d98f2d94fa70521472f850ee754f611c395263ca1d42d1584f3d2ca55";
+  sha512.run = "1536d4fe6c0cc647def47d3686ac73757da8b4ebbb99a5188e78944d59350c0da731f2e51a40c94a1e05b225a793f292766de4221792804887b4350631c8a24b";
+  sha512.doc = "74adbaee46656ad57512a11986f834239d60259eb45014e2c738f7f5b5bb47897185528c0feeb96c45ab7d6c04e679e1858417a93db791b72b5eea1cf828c0ce";
   hasRunfiles = true;
   version = "2.0";
 };
 "catchfilebetweentags" = {
   stripPrefix = 0;
-  sha512.run = "b6437c502cb5e14cc42648d80c7c7b16faa1a68d2d693f67b319fba5375e4c2db9ddbf2379ce50871e3211cb80b5c161f7027a27174c671a1c0f300697d36b12";
-  sha512.doc = "bdbe1fe7e88e0c9456b050ea600669072e38a149c9f31057686e3fe72186c900280fb454bc8bd0bd2e76e52df9f65b8cddbe28ccc034530aa33ea2eaa7855fc6";
-  sha512.source = "ac7a983d840bbf46e372fbc842941fdfd6b632c35a15e37cb9d1067fbb07b96da21f991dc868c583b2578dea5cb6a7e04c2f4cf99d0c8731b476a2881da46e10";
+  sha512.run = "71656fb162aae4fccf15767911b8524c4f3a72f4c6fbeaea45a3dd9593489ec7644e7c10ab61a49cdd125ffe56e61331c30e35a10517720948d4f03b97b20056";
+  sha512.doc = "4071d6d6ada488b5bbbac0df3b7604939fafbebc17808430d8bd389b86a8aeca0df90da77fb00f8be14af9e9a79c45bf5a2dc0b9ea45af34f60cbce83810e1a5";
+  sha512.source = "0d0e6436d1e065fd518a743fd39062f1ef9a86f450130a2339ae59e5af0a9fd0ebeaf72a66301c8ad42c6e218a01bef48c977044cf284c98cbf25e6c8f1773b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "catcodes" = {
   stripPrefix = 0;
-  sha512.run = "5fa20d32839ef18037c58361812588f2597eb8ea1872513a53a481a23955b306b64f0385b082a631d3b859e9f3e434a72a804c6fafd57c670650106b9289d6f1";
-  sha512.doc = "dd3eb46f3b9fdc1ed216c3594cb57264d60a2006bc36f103f3de844c846c7ab90cca09a8ae5de6d1c1559769e1b7d0814c5a506ef142eee1e739c7511ebbd6ee";
-  sha512.source = "c9625e787b87613032c5c6f1c47ed24558a3668d10938e4fafe3b28384699891e5cacf42f965f34f9e57459d6238e1d5e5a55da5a6d021cd7e9ba10c929d6b6b";
+  sha512.run = "6eeba6d0c7435050e5ca07a6b0a24bca1714a9ba3d3a20168547502c2ec954b9d74918767c9728c1595355fdb84eb74ef258fee86cae1907fc5b186ccac0a939";
+  sha512.doc = "4dbf09f34abc39d9aa5003ce3defe4f5a04b0cade5d6a848bbde4ff3f35ff6bd511b8dd8dade14f92b1ba38bda2595da65da589b0236920c7aa340d245e0cb7c";
+  sha512.source = "157520a8e968f5236add71d55aab0ddec48eeac801349ae1900cf70bcaf1faa4cfe98632ac5fa41cabee6dfb6fa46655a609023329d161cad06ece33f10d03d7";
   hasRunfiles = true;
   version = "r0.2";
 };
 "catechis" = {
   stripPrefix = 0;
-  sha512.run = "03e4029788bd1e61c60807e3c11457c856936a648ab91ac3fca44edee537126f1cf84fe4293eea1c84ab91ddb842fda203580045109e43d435bb02d732fc078e";
-  sha512.doc = "1d04e340519c83d9b5f4a9603a2ea670bf984f5da366742468ca9f2622126630d96f063cf2c1ae40d182127c7cd584f2e221560f8319a5d46952d0618469c838";
-  sha512.source = "16a43761b0731f2568ebb50e835247e9f899ab9cb205038f700501d5ba0c02fab19d1274206a95fc2e7992207361b9989ba8daf62e6dbac6396925550ee488ce";
+  sha512.run = "2fb8f8ae6f9e597740edbdd0e686f9715dbd4ad2df2cf9d3737b09d1ef496582e243b8e21414fab8cb89d3d5a8ad30a4d82276551ad6fa548895c6cbc7612cb9";
+  sha512.doc = "2273842b6b0222c98736fe6338eec505e5a75ca45d180c259bb3073ed47a5d0bab65fbb95630076f764db64d978ad8b3dbdb6a12775d2af3ea730c9d1b938bf6";
+  sha512.source = "bd78292392877d0694fc085ab92e64ea47df555103ac745c8a0751ac445d0c74a034bfa9be1b39a3e16c0578da7bb68c7635a359f3caf69a2dd3d03ad21b51fb";
   hasRunfiles = true;
   version = "2.5";
 };
 "catoptions" = {
   stripPrefix = 0;
-  sha512.run = "e89c0a434ec726691bca40b45275e13b2121d048d7b9d35c1594e6b44a957df740d9bae89f8d6f3c477d57f62774dbbc5a8cf6d8b5c3622d81ba82bcc640bd02";
-  sha512.doc = "0bfc8457a7f85dffda964a944d2fdd423943e46d7d043ed01a3726a5a42a47cf96e801c35324c5fbb4949ee452cfc175f231465cfd84b4f30dca28ba203001d9";
+  sha512.run = "1169ec654a56230c615f561649ca1fc22716eaee05e5229d1d2320ff73717b708abb98789d7457093e5ab5f2dc67f3e818e58c7e8f32c8f29014e19548f02de1";
+  sha512.doc = "4c35a3fc5829e3492fad27f2635bb4ae62b17b5d012db40fcdc5929ffe0f3917ec76c12a940d5fc6dad2b8d7d9d12042c7f5c2350467ba0777a23c97372cca5c";
   hasRunfiles = true;
   version = "0.2.7h";
 };
 "cbcoptic" = {
   stripPrefix = 0;
-  sha512.run = "d4d85998e0035d3498580f6bc4a4304c11493a6206ec19ab899b645a818e760fe5bccedabdd000c47c84a5f0ebd1f91dd5e99105a563e5856ed3b65e57d155d2";
-  sha512.doc = "89501567aa9b40ffa0ce1d16e4bae7a61305ea2a832f3e591f336e76c0f743a0232bc4fc953ed6e9eb9fde633132b8a750446d7d86a510131687577fbefd842b";
+  sha512.run = "7d48e324b5c5ff5b0755903973e0b439025e98277269f21cae33709a6c39eb6df7cd8f054b22fb8b1c072cabf9e92d0f1456cb41fbdd5a6e99bc0d63952e6c3c";
+  sha512.doc = "e7e33c5af518e7fc4f8fb15af79a9aefc1ab8cb4401d0eecbd6b418acfb01c2fa790d4d7f55206ec9d6d865aa177b2872f4d742bec2991e7118df4b834341af2";
   hasRunfiles = true;
   version = "0.2";
 };
 "cbfonts" = {
   stripPrefix = 0;
   deps."cbfonts-fd" = tl."cbfonts-fd";
-  sha512.run = "e78dc2d81c28bd20ef703375d0631623f594430c79e79d89390aedb975e2d42ca93fff3eeb5ba7641b05163a423401f0ffedc657f5b76c9732e9fa66963a12cb";
-  sha512.doc = "668467e02d5f7099609c7f5944b07156777f9e84cebc320c0f7dfe9b36903170aee5e7b3b9205d59e5865a3514caf45da238cfcd1e378dae3d76f4822a14cf74";
+  sha512.run = "652472d9251cc9090906627a823fbaef3015ce0a5db5d08a347f6bb496303adb65339ccc2cd55c19df489512ba06c605342ba2871f99175685259415f6d3bc0a";
+  sha512.doc = "5168d8ae6380b6d7521e99037bc2b28c13f135aac9a3cda160c103d3fdd17555e1b6ffd371e8aba968d74cf50ac1d01a7415977f8efbfd1a8841ca4ce730e66e";
   hasRunfiles = true;
 };
 "cbfonts-fd" = {
   stripPrefix = 0;
-  sha512.run = "43b610537bdc7f0e5a5656f20024fda260bf53fab34a789db731d35cead1c2e97e9d90ba26df239d346e2f7a3ca7f915fa81c95334401fa6153d6430ff2d6a9a";
-  sha512.doc = "4c3cb2cadedd15023209ae5002fc95c905b7fc84833884e3114ed99111ce393cc470e729ac984a401f9631bb39fd445fd7422d11a3c0d992010d4a39ed8b8c7c";
-  sha512.source = "d4b4ad9cd84b283b5ee2688af7110ae9259d24179074f0328923c9c8ca460fb63a8b805a6596011b77368986e4ec285d7748a42b5ccb7c39b8cd3d8f5d81211d";
+  sha512.run = "f892af7e63b4376f2d82d886516f6b25d362f8dc627435b4f353a72926f25c3867af1fb42a4083ebd16bddd05ea797d643b94f556cea37495fa0fb7786e33b3e";
+  sha512.doc = "dc2b0570e042ed2e676c55df43b9254a277d1258861cd3c4c45ef65012dc8182c0e374ddf71f3d3ec6a667b5ef99bb449c43ada155367e1ef26a6ca8c8dd058d";
+  sha512.source = "5a66545f0bdb71b951edde9debe8262a2bdd5e644da1fd3ee966cbae883ac62c6f121add0a5e9a39096081b1a810a602a45eddf5f2933c21bced260fa59f6a5e";
   hasRunfiles = true;
   version = "1.2";
 };
 "cc-pl" = {
   stripPrefix = 0;
-  sha512.run = "62f28fdf7a2592b5e757857468ebdf0297258a21a52396873e3a374a711105f4e0450326fa01c427cf03463fc69ffde2cf3ebf811531bdb1b5c9bb6f8057cc94";
-  sha512.doc = "723aa12aaff52c98de2d8db38608a88c1ebd77f29512a2851dac1e9b1d975f0d99401143a7e3e2bbfc7fec1581ff655da115227c51276cb238dad7495e6ff0e2";
+  sha512.run = "768977678d3948fa5f479bba6248ffaed6b176a4b3d0c90d691b02e91108b7567420ec600fac235a7d8351ed00803f760d4432015f518c1c62c93af95b0a8394";
+  sha512.doc = "cb004afd1b835f5d75389f3470e1cf46506e8db46f56f562e5376b5f1a8a9d45d59ec99d7df2d791df0462cbc760aa8a278c6a73a582afa8c4e7d8c73149febf";
   hasRunfiles = true;
   version = "1.02.2";
 };
 "ccaption" = {
   stripPrefix = 0;
-  sha512.run = "cd94324f5e8a44d1690a9f7f03d84ab5496cef9ea3db0d6490211f60e819c0a197d75d3e49cb02e2d284fa7ce4590e603eb172fa921e3b427e02061f507e3347";
-  sha512.doc = "7ff9a5e3b1d7a9a22d33f4aea36e075fdaf58b555f71cb4b1d92ea676b9c87cd7320a710d25976d16427c0c12e76587b3660ec75a341de0a1be13045033a1b7e";
-  sha512.source = "ec393eaa90c5f9ae882c8bafc0539e32a7d8acdf321bfbc490bf3cb30131f96585b0bc15d951a9bcb6cdb4bff5195d495cc760e76106316a0b9c5a06099aaa01";
+  sha512.run = "f002efbd7af71c108e041daaa182a4432d1886a058cbfda2da7fcf6c0f75a217d04bbb8498deed29c7f03a8d22d4d2e24327e6a3b284d38c7b37200431f17918";
+  sha512.doc = "a3d2f92700e3421c37a666093944ae297ed39a35d99d6971978f5707619046603fad06b84aad55f41d3af08725535470ccec6d6bde3ab8f1ce4f0a53038e9ca8";
+  sha512.source = "83a8ab7b7b72c156ea07bf7d19c759d342187440574dc82dc0f5e683abe490c3b408d672464d142922229593a1f8363881a48475da0884920484c6057a40358a";
   hasRunfiles = true;
   version = "3.2c";
 };
 "ccfonts" = {
   stripPrefix = 0;
-  sha512.run = "5d187aaa358360c87c1b5ea9c4345c93c6d13c6874859f2b11d706d9392b91d0ebb3b7941d10e12be5502357a3ab8c8ee1490d6c3c13eb52d2b22256c81cc6ab";
-  sha512.doc = "852f16671971b2171e6ebe8e56b236697f9883381d4fa0f3fe31ad7e7c4b8f429ec64c7dc5a21d2f5697be6744eef055b426179fddbe4e6aafc9b92ebdd6dd3f";
-  sha512.source = "28b64907c4d79bda5b228086051d6200e3e704335d994cdd092a3a9e78449cd3b52cd94bfbf5ec9009dce3f808936ce09bac593d2d67b06a45ae40d71706741e";
+  sha512.run = "0affcca65346d83ddfdd9f2d6a9bd9baf41113b396a99c76c88801b1d509f3e9d6168f0a4659a5cd440bb46fff996d5f3361ba342e11c902d0866f616e0d41c9";
+  sha512.doc = "6a08c3f13c5ece4ebd67ff1463a4c27c1b5b114fa777e916c034a66dca5c8c85bfc138394ae9c2955182f68f34a91ad57eb4834f749e7107b0a311e0eb61848e";
+  sha512.source = "2d560016ccd3e2c6593e5d06b4cbcf1ac238d3bb0b0d9632bff8f69720bc0cd1b20d2f7e3bc33f3204820abba18995467758db492b9f91fe1850f1eae55487b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "ccicons" = {
   stripPrefix = 0;
-  sha512.run = "bfb807e2140e4e0a65c6c43b62cd2c99cf80bb596ec8365685d1a81f7057f423935e2a57e70814d9fb092d8c1b4a7d3f47301e4db31bb51352f5d266572791db";
-  sha512.doc = "0262d79404416a037a13fdf77bd0144527ad0ccb69d5c12487edced63262741e64b0780e3e37cd9a149fd719c414716c347b06428c4bd93f525e76d62e4a6533";
-  sha512.source = "d8be599cc5fa07d33703b3050916d33dc4601716f8af7304dfe7ffab05c179dc45737b252f091c1dfc7c0f264da83ebcbf56ee82fb23634be279a9ae09f36ee2";
+  sha512.run = "45df39a60891940e4ab24c489d7ff76971a7d378156ab4c533eb739fcc8723bc7ff6ef81322ef157b2498e24b5df97e6807796330f5852301e1e88d950f90d40";
+  sha512.doc = "3e988fa5a9c4f3a07f0557d5ef787ff9f6ee2630be5ecbcab1e892086430f39a8f8e23deaeb624c1bc4b3f2f00b708edef4b3ed645c56400c13c0f9351b5d8dc";
+  sha512.source = "c071924713a6b3e3a45a5e83a116c535ac3fed4958d9d395151c6592c854e8e493b51d2409dbdd07f2e53a6d3b51657b6578888f6dc6197584e5cee2e629610b";
   hasRunfiles = true;
   version = "1.6";
 };
 "cclicenses" = {
   stripPrefix = 0;
-  sha512.run = "317531aafd486a08dc1d4fad2be01d4d4d3bee4fd7b5f4220ff1e8fdca5cfc33048125cb7f4ea999b794086238db756bd9e6da69e48dcb34cd497c4c1b97838d";
-  sha512.doc = "2ec7804b8251a4f21652b6d840226fde0e9f6cd51b27e465bfa9261080f8169cd6df2b734a8ec8d2190affb630dcea7abcb3f417926edad39921584f41972562";
-  sha512.source = "0fb104f1d69a072c3b1c31d761e64938de21932e9831dbd88b29fd0a938eddc03b4179bd30ab548e58e09f40d72657160058e0d66d8ba10e5c991f047d417705";
+  sha512.run = "dca388e065610abad24a76f7dc600d9ae659973fbc47f4fc2157958aa2850d9c3bae7811418bf76effaf696386a62584c8a2ff158e98ec7a971bd1dc800424ea";
+  sha512.doc = "eb710fbac41527da39c26d5d27aaa84faf05e380356e9c3bc1a0c0fcb4d2dd5412f304d323ccf13084dfe8d31243698350fbdbefac07fff6cfabceed9f4d842c";
+  sha512.source = "d20b1cce1635b415d7368e49a9a32ee3a61efca8d0807b67c7e92ed59604fda1fd9b9d168ac23d54b90e396d971fd421463eb1ec77009d3e077e474166afed55";
   hasRunfiles = true;
 };
 "cd" = {
   stripPrefix = 0;
-  sha512.run = "b0e8d4912487c57e87859f1e3c0f1b0db08e53dbd56591647d4f681f063519b9ca91a8e0b942fe344f9220e53d97297f032047655582341c150db7924cfcf241";
-  sha512.doc = "5347ed2a8ea9f94b857888c3411aaeb8a82ccb32952900c46fb2df6ade063b339a402f5fe204b0949a8df0960464848a638de8979206bbcdb986a31c4316a50c";
-  sha512.source = "7d6512bca59bee54880effe0a1055ba44a85020b375dcac36892f803f56ebdfc9841f28d25481de0db8eb2743736251780d9e33899dae97beebc7e03688ff2d4";
+  sha512.run = "8b47a219e4d40364e1a4ed4d13245c0c9334508ffca0cff565a8d8856aef32184bdf0a19966027fc4e958a06b4f5a53bfb66188c6fd065a1b3b230cf1da2f484";
+  sha512.doc = "5ab78083715332130aacf3a97f6280f2533e7f9383c38ddf431d3486c6e88589cc69b7cd760088fbd2928c9b349ff583bc275ce8d80590234deeaf1e1a23b4ca";
+  sha512.source = "094b4b41d99fcc81c4c02ec7aeeaa999b3e5ec7dd4984976021a1d75c5bf9c5a3e3f13b0acb939c14f80ec05b3843fda7558aaf7c324315434b69954084c57ed";
   hasRunfiles = true;
   version = "1.4";
 };
 "cd-cover" = {
   stripPrefix = 0;
-  sha512.run = "b0dceca272a0e0b1b096598c3b2b5dfa35f3bdf80c74be5820a9fc2dc7e7887a040120609fb7b3512ebb1d81312bc5c2d43b0fe4ab3500bd34292ee0375671ea";
-  sha512.doc = "06ff6ffed76e4790b98b2b6d103beeff362901ffe2ea809ce6f028d8dc09b53d71434b68e15d158de2e37f34cb7d30c9fdaccb11d16f1d495fd3faef15ed4295";
-  sha512.source = "da062c3184504f2616c5d8fa430cf5ae6e6564b24803cd450115073f48aa6e09dcb550d4d044446d4d79bc4056f4c79a67f43ab2532efeacbde3d38b15686701";
+  sha512.run = "345b001cd40137d9739a97c3c06549c3c7b761f56f61109dd4908c767151515081defd6c432232ec7a9fdeb8e85e95258ded345facdef0cf6bffa82bb5c39fbe";
+  sha512.doc = "f22c8eccbecb35d4c3c01788c0eb8ca793fbaf7b97e2bd54ec79e78ba10c13a4eef46c5eee70f1550cc7c378bb01926e8eecc6d41916df22a6e615aacd2b1e75";
+  sha512.source = "d8ecc73c18376678b2ee97b8bc81aebae7860e40451427e03f382aedbacdbc17a7761e8a78e275470c36927b3461c422bc62462163c6d92c509eb50cfa75598c";
   hasRunfiles = true;
   version = "1.0";
 };
 "cdpbundl" = {
   stripPrefix = 0;
-  sha512.run = "10d779e3f6c2b813344b92f14bdf7f338b0d6813835a4500f6c17884edf246deae7ac8b7255f3b0070656dab69d01158db7a02462db7534dcff11d2eb63c912c";
-  sha512.doc = "147d3776ca85c4a06f4a6fc6e51f18c961ff1d09d58c5d8c33c855c0f698a8011da3d27f26b2d9d816518b371c48243d86440df980a94b47a582f6c5f7ae62f0";
-  sha512.source = "4715d2c1da9fb1792932f09c70506c047bf0e559bde32e709abee247febebd5d66ff6935de06704b99c6a69822120c807a8ef7c20336e0398af7f76d251cd66d";
+  sha512.run = "142dc5657e1482cdf7392ee7df6967557cf09e5b733b12e8c7559863c2edc66a3439b29c7cf16c2461cc1090090117337f63db899bf7bba0cc23d04bb573c633";
+  sha512.doc = "3fbfe5b5a8771bf3a74c6adc7a90e04f6085179c11a6db4ed8ebe644e00e334f447f3d32214d72ac341d18e3c79d3bfcfd788053d2065eeced76ad7c7ce6a9aa";
+  sha512.source = "579575c916a417be5d097d7e766c0cc599856d0b2aa3d4eae5880748c57c7735457aed493d3818974f25f07990b7496b6c5a92ceee39e0116510c420ae69d81f";
   hasRunfiles = true;
   version = "0.36d";
 };
 "cell" = {
   stripPrefix = 0;
-  sha512.run = "b9507f1a6dd13964381aa2b77054059ab6fdf48834edd7f358c773271bfbd66aeee824c8b6ff2d775fca40c67639f23ea015a110421f4fcba021fd03f187066f";
-  sha512.doc = "6aedf30a501b74c7dc9a520d371622536feca8c8f4aacc2aaa45488456937b5498da7b8c301c3897a7032ab2f54213e632cc67db8009bce85848aa3c3b9d9411";
+  sha512.run = "917431174b203fd839d3cf81ed965cc654d66597246ef7a4f9f3c3a945397b546eef1e7bfc4f9fb52889e149ee2fd195dd559c317472831e66e0fc3253a6c22b";
+  sha512.doc = "3cbf1ffa3902f49c155f2ee6b13e24b9abcbdf50da4668042dbc720ef20f483e230fd2ffdc8448007df7ced1ed34077811199cda4fbb35c104dce73084215bf4";
   hasRunfiles = true;
 };
 "cellprops" = {
   stripPrefix = 0;
-  sha512.run = "77b58c78d3d3a5e4cb81245ebd24eb217e14f6652f3f162d3e02189e57aba0911c751c2af9048a642b75589458b59593b77fb030d7811930fb3fcdc315da88b9";
-  sha512.doc = "34c1ea98295d9cb7448d331418a9ae9d542b44285e70c21e590d118a6e4a813a52bde29dc60c3cdf6c5fad677c18678a7207a9e49f0c41de8abfcd5d3d338279";
-  sha512.source = "39a183cb50f4b164045da20a7de4d12a7464237a021cfbb9d772c7cc7779985c7c6dc017ca0165e28011e9430465ca1175c39ceb9bb380c785879f682143c6a2";
+  sha512.run = "0dd543116fdf89a6d83c5e7a4a96b6dd627f156b13bc56db5905bdb32f2e880d9292913d6e3423e1eb248c0340fa2e9cfb73d0c7795fb4bd363f90c9d150ebc9";
+  sha512.doc = "3f44b803ca78fc08732ca9971da4bfc7755cc73e0b8cae8d88ab3b4e4906271bffe9762b75b2281776f36f3813f3cf0d58c0b38bf2fbb14b25156e00c711e14b";
+  sha512.source = "aa342fe74a9e73f880db8aebcd3cccde038ce56b279d359c82d5f00bcd92bc5bde2a3bcaffed3768f3835c524c5706e695a3a46a938f4d92d352b4176606e31e";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "cellspace" = {
   stripPrefix = 0;
-  sha512.run = "e337020908bbf0f880cb1293730c8dbb2e85fd044d112cd970f623e30d2ceea89763f8ebf904f1c24c256e719a244570e86e193031f65d59c8d8d1ad4f335e7b";
-  sha512.doc = "24b439cac51e0ab77e87172885861adf06db2eed3892fafd7e60ed2ceef7f9c6945ff5dddac94864cda2df00ae3ccc49a009ce61928a3098e6e76138ae4e6e31";
+  sha512.run = "d2de1e55913a434eb5b0ab19f615ee325dca750eaa8d61222045220153d521eb8149bf025aa03b1e6a7c625cd994b8bdaea241b227b28d1622c1a75ec72d76fd";
+  sha512.doc = "a1cdfb273e8c32374b03dfcd1d2ccbf12a19918fdeada025cf948fefa624decda07f8c3384a4dd859efdaa9048adcf0c513f59f28e48f31062819c1f9acdcd0d";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8.1";
 };
 "celtic" = {
   stripPrefix = 0;
-  sha512.run = "ada569cc630b386f279fcd67861af564c34d8b2be4517c585adbb39392c0f84ec689e3e30574539d9d3de9a382116dc8e37b3259894128a7b3f26bcfa77f1bf2";
-  sha512.doc = "85b6a294fef592407f2aeb37bed2c8d6dc246e7e438b066d71ffc91f7c2c05772f1edbd4408e23683eeda3a0f4c8dff196fda4e1cad5023ace0c7c26ad23fb45";
-  sha512.source = "76f06805d6012915a22611076056ccba0eb9a88ec03c41ff773e04dcf538a79e9cbcb9d9a87d5550679d112abbd6f22e18094e428eaa37df637104db97eb943c";
+  sha512.run = "df78495c7a42a60bf40be46bf14c30d97dcd7c7d1b283f487026f7c3b6a680c750d09527cdd578f69234500eca05764792ddc90ae4dc8005126510ae33fcab4a";
+  sha512.doc = "ed29c2882619bc7f076578c91cfb7e1e83af9e6960ee58af78486c1af6aeeb2b2b6eabdf916fa30ab865991c677955c0fd15a43f128aecb635ee30b3ba514bb3";
+  sha512.source = "d60ef14ae649288b8b9484844fc9fbf15ce564209c04249b47c3cb0beb96c209c0401cf3f9200ca3be27ba0417c60a2a7a9780341ea311e1bc836753a2df7882";
   hasRunfiles = true;
   version = "1.1";
 };
 "censor" = {
   stripPrefix = 0;
-  sha512.run = "43a6912ffcccfb11bdea85abf5d03b56c61b1c23b4da94bca0babf70a68b22f55c39462b4c04044f0272edb280cb73aea4bc0df9fae04c192d6acec925531e61";
-  sha512.doc = "4b083396a2baefd7178be1bc912cbbdc5b5044434f487539cd98d9ca23ea766f16229e2964b7d5691a2657e17e86495e9342a9e5da954f4d0fc9a3d56fca1757";
+  sha512.run = "03b94dea9f5f69f0fde8dbd198e73a1ccc1e7b118b26c8272b217bfe76b7cec7eb0c8706dfbca7dd2a9438ea7337482cb55d631d3cabfaff3dab19d1cc565780";
+  sha512.doc = "131b995300b302f482359820bb9dab62188be11f46470e2c9d25753a22d6b81def5e272cdca4f2057adbacb3bb9aa777e758ebfe8a95205db7de36b378369bdb";
   hasRunfiles = true;
   version = "3.22";
 };
+"centeredline" = {
+  stripPrefix = 0;
+  sha512.run = "7b1359bd93853830d85fd84c9132d997c1384211c504999f4bc819cd6fe85effbe9f0fba64cc502419484cea3cacedf02beae22052bd10a7a7dbad3f97583731";
+  sha512.doc = "237af456a51f539d02d96bc1c2bfd1fde1328cb270985b50a0ee9760f4b6f3675610ca088af135a86f07c02a0cd84c651118726915a0a01546468030acd596f3";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "cesenaexam" = {
   stripPrefix = 0;
-  sha512.run = "8d8f972240f2278ee8f2b22edf133342107c08538d079511d579258a8efb8364a00c3a0e7484e303a5e9a2430ddcb309fd553be8fe8dd6c2a183c3f9a81de82f";
-  sha512.doc = "67992c61ecaad9e5e26d2854d7f7062ee887070bad9bc2488b760a7a4866c3a8d0766e2f6993e04a62b4c9fb12772ca31bc4bf800f669ee1eb7135289d0fbe42";
-  sha512.source = "b61e2c52560310a8c9c3833ba0b4933184489155dd363251281e4931aa298d75a4abdd5345aee222374e8f5291909e66d61f7f540638cab1a98dceea900ca106";
+  sha512.run = "780962e24e1dc4c6c385c18a6c95b8864b1930b2bc684d9a556a1d6579a2a8d06ec0df3fdb085c3ae8115dc72d06e376ed8ea6f6d801af07dfcbf133c9cb9c67";
+  sha512.doc = "72d53ea8ffc1827f3965c6f0728aa5f2cae36f645ab10d78ff8c16a3537f79c6f53fd34f388f2991e5cd2261b366e7746a140285df95d17475adde9cee3fcaed";
+  sha512.source = "e1668fb9f07baea5ccb79e2f61d672f838a83c8d5d01b3da2b3080473865b9bc8acb0165dad58aa46d1ca296e2ef8dc545db3e856d95f6749310a4c90591b4e6";
   hasRunfiles = true;
   version = "0.2";
 };
 "cfr-initials" = {
   stripPrefix = 0;
-  sha512.run = "38e67dacdfae1cca9cdc4b83ac4cda7f2e52cf2fc4c6cc6a440688f02c094b080f44dfca5f5803280d9b4c9f2bb2d872b6a9a43cc1dbee3f2c2b39d9195fb63b";
-  sha512.doc = "d5385dfeb1fdec3f4b2794ef08ddafcab9e2271aeea787e944e08fc4ee4ca6da47282a1850f09e56ba2b870e8d1833c1c2bdf9164fabced83bcb5506f67edc83";
+  sha512.run = "d67830168afffe72ef37784db45176528065210d4956b4aef2a166d41c886f5b3874e0878da9c56302412cf5939291451e1e20ba3e676429c598342982b64083";
+  sha512.doc = "0d628f9134254a92c7b88d0744b588bb197c6850d7d5e44a90e91c1ed128625c7add731916b727c2d3b532ade017daaf17f45e446e4bc6f0e447bb5fdb770066";
   hasRunfiles = true;
   version = "1.01";
 };
 "cfr-lm" = {
   stripPrefix = 0;
-  sha512.run = "959c0f99eed1914f2e04a2433b7fa4e2a7bedf6dad1bd5d16dd7661e3bfaee8642cf95d9aef7077e37c1e57ef2841137c768e8c31c392ed10a9540dabe87cfbd";
-  sha512.doc = "354bc54474d53172a0fc7dd48fbd000067dabaf21a4cb8da37c03b69901c3d28ba6006061702e058be38dccc6b9941ac5981ac8c79df27e9449a6946482cc859";
-  sha512.source = "2f8e361c4cbe991aaee880ea1f1169c1bda00882282d696337192212cf9efe0cc3c3c131ffe96630787806eeb9430cc8f8d552aa372f8ab12d6bcc8a625ee5f3";
+  sha512.run = "02e30f6d6d19bede2121ee0a8db20c3d96c26ef000ffeab08e800bb1da994dfa2cb356a6d67c815e8579566cf97b33b956c79940de61725524c4a239f7c1a251";
+  sha512.doc = "32488ecec8a781f5548419a782775725e6b32276bab5e1d7f660b99468d47e71087fb35b8f4534f874b1dcf236d04eae9d7920fcf0bb46e139a4e7fedc415ef1";
+  sha512.source = "643e7f1b48e3947506e97e1596972b686fab538511c2a0749ad936285c1e097ca8677730ea0748d1def6d6318030e7bb289e55d0c8f0ae9fc01fb308e974c24d";
   hasRunfiles = true;
   version = "1.5";
 };
 "changebar" = {
   stripPrefix = 0;
-  sha512.run = "683bace5dd64bc747459274f22f995d34d1bb836a493ae39542d688f10222e258ae8c0b293596cfc3f9aba0f311291bd24e2858dac1bf6ad6dff1cb9d47f3078";
-  sha512.doc = "e3d83058bb12b1fc2f6ce3c454f9d2886dd57778b71e249ab300130c41092a486e23da7dcade992ec48768abfcb113f67261f8e17f450d47d827c5ec45855d74";
-  sha512.source = "eda920eab1badabcdf89ff3d176839ae873b137e5fd34e585d716dd1cba7b88e09634d9f49e4018bfffe72710fd030967529493d396c236aacb56ab9cac14766";
+  sha512.run = "fa75f75aead49adb949e0bb5b5c116387e14b5fcf804502e12b7214a2638ec2032699125adc6ba8c528445c9f5c552ec744007530d1e5a69159f1041d2b7bceb";
+  sha512.doc = "f25c8bd3cb493bfe8446d98f3c599ec002f818daecac76ec4f08d19bfd15581bf8bf8970fd145886a42c51cd40a53df7bfc2e10641df2f4c2cdcd8aa02bf6c30";
+  sha512.source = "a7e2519d4dfd4b0b12a9cd8ea59ce32a37e4d0cb6e637b659e93ea5b296bed21298f8dfa13a13798eb87ce0ea0719546f721875a4115c62cf0ea6110d9ac8f76";
   hasRunfiles = true;
   version = "3.6c";
 };
 "changelayout" = {
   stripPrefix = 0;
-  sha512.run = "610e88430adafe87435980d6b1c6676570a5970633aa30ca42b112f743dcbabd2237e5bb6b4208cf1146171dc3a527e66e3fb628615e684052946edc05dcb243";
-  sha512.doc = "9b43f6137f06e5762186ab9fe78b2d45f1dfdfee413ccafe1f5468b69516a8238218f24fe4f0cfa18c93dfb7adcde706d84ef4ecb48f7af02b1af459dc8c7cae";
+  sha512.run = "c6852a40bc8415656b8137cfb90a79cff8f8e9938979eba4e02dadb3c5d1ffef60966f9e5779696402f2b9344026ebc1e22ddeb9dba856d779317ca801f26e7e";
+  sha512.doc = "bb81e02317d12b4dae8b0886ac3222849a457563ee8c43e09495596c56482202bb702352a8551f5d760ee41a82dde6b3f3c2bf57b4671831a25805d44e8705de";
   hasRunfiles = true;
   version = "1.0";
 };
 "changelog" = {
   stripPrefix = 0;
-  sha512.run = "5d16577acd57ee76d43ed2b739c6df25dd71921f65d4f04d4f177efddb327237442a9bf0e46c4f3236c93e894b81809f0f0c934e8c6cf4e9a0f2dbbbd5df1754";
-  sha512.doc = "bba05b22a38cf783946dbe69257c675e9b636219299e4431f0d44f7abc5af28dddfd08b8d84f6d3522c1316ef41f25b6139fb80201b2e57706fd24d886edef98";
+  sha512.run = "ba47ffdfdbc0c43a25ac4ff4379463d9a4d63edd0e2b477650731609685aa1ceaab71216f092ab7bb94e9d2b090601f0a2968f0fade479697f1d4b6b13d80aa9";
+  sha512.doc = "540814f3a757f145087f6d625cef48257303ebb0560e07c49102e086f747678032e4f2a8208060997e8ecbd54c0780483722675c6edd9913d020f70e2bc01396";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "2.1.0";
 };
 "changepage" = {
   stripPrefix = 0;
-  sha512.run = "ddf6c6973809fa47a49d93afb1dcf68eece4f051fe77c2330a25f3113a48d2abd5016e2d36a4919dcc2150660db155ae1c6d106354a901eb45dcfdb823afd545";
-  sha512.doc = "28f43213a5120345e7f7287092bd5e48ede32e8d088ed7fe9c590a07ed13211599678cadb26533df9afc234c0aea8e99cb724c7d4e4449ee84ec552b4a84f715";
-  sha512.source = "798b76e1f020080a965f0f7c4fc04beab86218aee8dcc590d20b9d1657e641fc4923e6aa15788440e26d11b71e11c24ea857f21ec0c1b9cd9f50a46c7c6d0ed5";
+  sha512.run = "0ef1d3370affd4ffc2ef77031a8713b5c663263802d67142b10fa7fc025569b3914dbbaa5e71e2c643718940a0cb89194d79ec83a83b93fcf5d57e0bfbbdbb46";
+  sha512.doc = "e3894d3a475f132e2242a6402899e8b9b6045681ce1fdb05fc5b0570e4d6b8b6980c2b5f5953602690250826db0e7dc9bab2f235d39fa5bda0e1161fd781478f";
+  sha512.source = "45ba09248231ad1bf14dfa553b11172e610ae8f46948451437ce3a88521f84791ae149a83c1ff104dd0f00ea6a1a029e816ab7dbe1e38b9eb97902c4a9b9b312";
   hasRunfiles = true;
   version = "1.0c";
 };
 "changes" = {
   stripPrefix = 0;
-  sha512.run = "b4106f94dfa9dc9774a675a93f59193281bc3f1539de20abb62b3286e91de562d36a4048afd001de9b0dca1f7987183800c4923f643e6679d4a4955e5e1b1743";
-  sha512.doc = "9805f3d8c47e2bad9fc378bb1c958b5e57a6e4a2bde5a60744f3feda1c18d156f915c89ea023948fe3ff31b267712558bf92d9ea815a27dac0dafe282cd996d8";
-  sha512.source = "30feef965d9ffc45acec7adf730ab3f6d0d92395295d07350e1cd1217ac694c5afa3b0d17a0ad40e11dd8efe0b56fcc9e31bca696e462f8edee6b69eaa91c597";
+  sha512.run = "8e5cebc3a86ca8152c36c6e0947a05e0033f817c7c49581d607ee6b4c6d18535eff31762bac071f679fabccc23e3c0fabe8eb142a7a8fb7755110a495a5503c3";
+  sha512.doc = "d25b8fc5fbe8b88a6c2c7dffd9180e6c40ccf659ea8c2bc6e6fe7bebfc695aa61a5d18919374894dde82c49d7dffce26c07b552ddb73d89b590336c817ff0a7f";
+  sha512.source = "934f9e2eca8541fc139cd90e9dec08f37473aac5ff8e465619ac37ed41bb27a59971a5cbb32829dd555da4db77e01f9d658312c2344b18ee5ae462919ba78d1f";
   hasRunfiles = true;
-  version = "3.1.2";
+  version = "3.1.3";
 };
 "chappg" = {
   stripPrefix = 0;
-  sha512.run = "44d1edf10347760f9abdaf829b766799acb5c795cc10aeb814bcc2099038245ed16a88821268d1e6897eeb0ef5e9247c46d2c8375ead6c91d3971984f6515f61";
-  sha512.doc = "be3706c87b0dc7eed95e0458d008e6cc8db2c61bb39225ffc1a949273003d469e7b4b750574eda2a3e2432089b704d33bdaf3d06a7d189ced600a1cae07b28fe";
-  sha512.source = "de19f94cf698b44d6cacf463da3d7f7682216145acc9b2c40bad2e1379f6a029f1205ec4bf3f6511848b5507d342741d8a164bae7e8e0b105d4a0cdcb5a88ad8";
+  sha512.run = "8286a7b7664f7634bc5dd16ae1888cc4b70e2880c8749fe2e894d209384da7a8513b2daa318a4154f9b443f89b7eb2e3c6d620b81e1bbfa1ed64c243ad57e47d";
+  sha512.doc = "c0d42e7a9cbae3fc7386e9734492cd3f879ecf69551d17483c4f4516c2ea09d0b9b76914decb987f850af362e54c638af190de6d0d6414d09c49cf48c0635f59";
+  sha512.source = "371b6630fc12563694db35e8e086f7659e60f49a6b881281bd3bf2c081c6ccc2af74b630b6a53ac9d8b447635f2700f3d15643a02f7d873b5451c9b43a331b5d";
   hasRunfiles = true;
   version = "2.1b";
 };
 "chapterfolder" = {
   stripPrefix = 0;
-  sha512.run = "80af283bcbc0fb84d899554777b56af3c529630d8a3ccea3df873acc8f28428b8264bd61c47fda119ccbfddd942168a4c9b508f3ac2936d69bdda4432fe7ed74";
-  sha512.doc = "c66e991cd5eab1b76ee7f84ac28ff95d2475b6c5969f8dab42057d9dad71d10dd5104d842011ff24edbd2ccf925d0e650c7a26ddea12ee2831648fce8921574d";
-  sha512.source = "ebc7e66b017475a3b6d0799c816debcab6ba82c517bd839b80c6401e395d938c3dacb112b6d2a2305aeca79e2f5e7248056f4433e7e040defbfd753682113bba";
+  sha512.run = "b5f68c160249e9cd94efc4c664a18c04e627d416b304697859144d6bbc5ef787c0f8721d19cd6aab6c60864dedc65e84b3ea9114b7c823a8131b4bfdfad0c2b8";
+  sha512.doc = "43a28dd7182e02ebe0541c7b236046a6c23d55c73e36aa1a0e85954c5efd917667e1916ed0bb7000cbc5285230d162d5e844726282f0bb93ff85dfbde5fe8c57";
+  sha512.source = "179e4fd7966f1bc12fa89fa36a5e292f0d9937bd5ae74dbc9ef5846b0d55fdfd53e998fdb9ea40311dd34c7a99646d2dfb309fc942c6cfa3ada312297975f1e9";
   hasRunfiles = true;
   version = "2.0.1";
 };
 "charter" = {
   stripPrefix = 0;
-  sha512.run = "b637c4b6a0ac3214974ec6139405eb389469d9f791f433b2ff12b1b8b973938c8f9894972ffed65eda37fa8f0180b2f35041f3e80dd4f636368f6be2e01797bc";
-  sha512.doc = "fccb8cedcb662fefa46583926693556960801b53a3761e0d89579765f4ec97cb2c51c4d1cd5fdad3a332628d00c52bd4f4e1dd2155acd0fa28176959b99ca4ae";
+  sha512.run = "706efb4e3daf7c304f5047b99d1f68051aedafc110cdd51b2e3cc520ebe628a87c41579cf476978e70aa0ae920e7a3aca1082013b41be8902174975e164a8f9b";
+  sha512.doc = "846ccf6ea679e3fc70192e340ce79982cd916d1383579a8549dba7125de645e4fcd4c276800bd5815fcb67d7227081a66b51f42dabebe8cf112585ce9685fb8e";
   hasRunfiles = true;
 };
 "chbibref" = {
   stripPrefix = 0;
-  sha512.run = "de885f3e253b3bef43aa68b6e391f437dd6ba0daa5f3119e542368a49f38e42b33a88c9b331cad4b98117814fcc87efdac8c8b3176c4feb675e291d9837f8239";
-  sha512.doc = "40fe01905e69ca135d64fdf5e61f6b69e3ffc86e389ee83aa0357f7deb0268c18cc155ce34161036be980e10c00ed5506f69210cc634abf7690cf72ae4d95e8d";
+  sha512.run = "c87fc723f7d78aaf6f47f0eb34760d20c22a46983e802f1383ca4d952b354e199fe17dcb0e8b42e66522826f71f1031c59457ad4c5f5751c6ffeba66adeb4c30";
+  sha512.doc = "58c43dbb1274e99ab60ae8c2911dff6d73099c02f3c6b4b97eeccaa336f56e677ad3a1897a4fd782cf97e59b9938c83f13c0741697630d2dcaa4a7daa0b852e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "39950866cbe1e27a9b38801240c3061a607b5aa00f2b79dd4c3d6fd1cbb17c03c7a88870741873c13b36bb6f45549debcb501379a797428ba1712605d1f01b55";
-  sha512.doc = "7cfaae5cd40f6fa83801292c9a666793ab1a1bef35d5460cbca216eea7f6d074c6466e5cdf5bf5e1de6388fc27d7c5260d327e30c91014675bf3a67dca3a5792";
-  sha512.source = "02fc1832ff6298a10aad49a69a2a3b6cde20808f6ee380a224cbc1382c592bc1f0a1afe8a246de9174634b52db9a283ef8108305447ed205cf4a3eb21adcadb5";
+  sha512.run = "5d50e5bc579821cc9296209983af68f5c12f6aaea90dffe386efb85d72683c10dd518fc2abefd51687402125bdd4f108ea6325c546ed6b2216cff130abdd1a51";
+  sha512.doc = "0c798c7057e6e9d8b3aabaf745b374823f0a186e95a01d6208ec22df8f733f02a86c01b35bf4dfab88837574fc63f159ffe177f6c155e52f85bc0d062966acd3";
+  sha512.source = "66f00ad307295e106dbc45827a78041329bc8f4eb7fb3eff6b2c34ea6614b84496e4cec43e81213304022121268cef3e844f2f55e95c850f56ad261068448127";
   hasRunfiles = true;
   version = "0.8";
 };
 "checkcites" = {
-  sha512.run = "b7c2ed45a32ebf117546ab44565e30eca0d3496f89df6deb50b1cd83ee43052b266fc07dc1638c365d5599d678f10a067b222c04d4a2075c2d8d1a02b57aa5c1";
-  sha512.doc = "88c46aa667f8c385a4d668d0be68e40d21f6df64f33a9ae9d6c0e8fb8e653bb004c270ba2c6ac7fdc7c3b555947353f09501ee5b48fb8ecd63ec7ccdc369a602";
+  sha512.run = "65af6aa0b8a8f0d6f4e3a1dbaeabea845bdec985beffe8589bef06784fde37a02baf41c3ea65055b3ff2b21dd003b51749b20a84ef0e1d0337bdb8ea416a0751";
+  sha512.doc = "35b79a866235727c65053f0fa2dae53372230395a61e8ed4b530b02c4760d9cb3a89f81e4ac905ed4966ed4137c8047dd80655f6d94ebb260bfd96e441e45781";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.4";
+};
+"checkend" = {
+  stripPrefix = 0;
+  sha512.run = "40af84a5510dc3038c536c4b0aae0176651f01953650c1e6ec8b5d76459e7000246205d55f2b13ef566930649daf1eafc38e6d2d822787d1fa462e99837b6ba7";
+  sha512.doc = "0527c3c080f502baaaaa14a398ecbdfa714cec872f6cf8391ef8a766aa24b497a0fc00012433409904ea11d7fec425dd7c7116a52e8d983bddb2633248d2b090";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "checklistings" = {
-  sha512.run = "20613c10a0b1a5f825ba975df30efa796dd662c90b330ca233c0e7d83b50127cd5907400860f714d395595ec5e6054ff4a5691ebb8a85d51172358f610d50287";
-  sha512.doc = "73b53c42d47564df296d3c289acf4bc790729216a61a9dc6630cfac87c4529b63a3e32e40b62204546968cf386c481081c0633b07a09851f01114a81b25d7f80";
-  sha512.source = "3433697eabc54ca3253976575c12a005677cf5ef1617d52e0b136b16ecf63a543dd3712155671fa3465c823bb11cfe5bf5f06730f2cf79382e23cf627f3ffc35";
+  sha512.run = "599ed476321a825bea61fbdd468670cadcdb11249a4a9324fc88339a9445ceeced3680459dc2d27c2e6263cd207ffc0ce3b60b325d31072922bf4644478cf544";
+  sha512.doc = "3f8d6eb67f305fa5e03bb625a4034ffe616a6c0223774688463884df99c337c1e5bdd76bbfa3b9428ec4812ec72388979c4252ba7407ae8b79e3de7cfacbeb01";
+  sha512.source = "a7435841305ce368f1bedac9cb531d8f0fce3fac27484547821a2e82998e977968e578601382f4cddf6c089b42e8e175c56d2e466faa5c4c0e5b49edaf6baf1d";
   hasRunfiles = true;
   version = "1.0";
 };
 "chem-journal" = {
   stripPrefix = 0;
-  sha512.run = "aa6cd185aafbc10935ad8f430e21e59756ddd2c664efe4cce40c2bfa6b8838a5febafbd613215609ce1e6fbedc7d1cddd545a570dc9b0684e0d77ad1b8dfbfdd";
+  sha512.run = "afe7c82f6e139c1321759ef9125f262d504bf602c1c5e16a11d41cc00ea47dac3f2befd602a863a12c46beaac4c50fe6fcdb145c5c6582c9d44c2740aa1b7743";
   hasRunfiles = true;
 };
 "chemarrow" = {
   stripPrefix = 0;
-  sha512.run = "f35fe7f7b18cda788e33a3b4d8f4c9034fb951f11bb140a013b4726e2322b1db74233d97f2af154e99ccea21e1d25bbfe6d7553556e6315842d6ccd5d179286e";
-  sha512.doc = "794515c982b43c471382c97010f3f17a5b2d80f008783ec2d94051e4fcb4a37284d7b3d19f61b24c267f679a31c3b6c7463304489b9f8a606155a90e287be832";
-  sha512.source = "31241cc5ef5ba486bf5b9ee663df7747d12772c8a8f05128d2ae19d140bbf1cc7de7f56cb31d39a2e04a2a4cd6522a6b93781d872de57032dabd5f71b2ecd502";
+  sha512.run = "4a95a6b81bd649764dea052984eb21c7f9e89c612ff96d23907eefce29e2d33fe92bd7944d94a6b108213d1820b3340feab35e3646f727288cb1df9b78302990";
+  sha512.doc = "882e6c6fbeb5223fc1d2404e8b9ef9bce2c3b2ed1279d2bdc45616476a856c63fe07cdeb42e27f3bc459199f3537fc620ef08c00f4eea83df77502463fc30ca6";
+  sha512.source = "19903052aaa97902f721892bf4a9df8d685db46ffddb4cdeb4df280c24a72d2166bc13408a32d5c760272aee45ad5516b899c0024ff3f077fec6825f94e36736";
   hasRunfiles = true;
   version = "0.9";
 };
 "chembst" = {
   stripPrefix = 0;
-  sha512.run = "93aa25688e7647cf1a0172ade332bf3ae99b6b994bcd1e258abe973829818c08f3db860e7dcb7be07f8a5a30589135d35d46dd77e3f2a4b73bc85ef15c98f581";
-  sha512.doc = "c89f50f9acb10746928c11c01f77c30f8c41ad6ad0d079a58d0456a297a73dc11a9bc69d9cf299d770e775628dea70b677c8583d68e2ad2289057071db417dcc";
-  sha512.source = "27c1203413fb8d0d86483ec5a6c779a1e207a4ad66e07aab39276f40bcc33915f72a7dc29ce887912c6a48af6262b450ac90e7ace98373b79fd0265f8de0fdef";
+  sha512.run = "f6bc14345c841db93207745de1d6ce189e08a30d17110d8efe04af0c5aa98cf7e3a1208e1969afeca0c69f747fb5db39437645e2437f9596ba5a70610747b6d4";
+  sha512.doc = "3263dbeee44d46b6661e2e755ba10e22475432d03de6b3286d1191acf2fc8df1541d9a9684d5e00143dbebf65bee468e9244ffe73d7ff43889153925b6edb379";
+  sha512.source = "c0c6658210450aa13a17e04eaee082f4d08b71a50a1552b571a49557ce8422d709da325c8bc91e742eeae04de388a777134a4d626d72409da3662c2d152cfc12";
   hasRunfiles = true;
   version = "0.2.5";
 };
 "chemcompounds" = {
   stripPrefix = 0;
-  sha512.run = "73d239ff027a51e5fc65263f8244fdbbbc859ad0562303657b4441faba8701cba993e5f5b94d609a6e06e4d6723ff81bd41ac33413014c2fbb4d24a932540817";
-  sha512.doc = "5b8699f6881605e26e68ab85841b3a32072fcf5decf5437c4e4fc650d79d9fcf960f337950aed5ba2b68cb53cc10785374488190fe3d9129d7d3baa313947583";
-  sha512.source = "807ea343b4b9dc910167c0445a70ff16caed25e31eeacf6f019292d981661096733b79a3a6abcc208ef6777c8967f9d468ebf11db557e5f92dc58765af591c4a";
+  sha512.run = "d8cafe15f21045522812279337f9680a975a3f9b9930231b7992435bf694f8f180b061623bdf5fbe7dc9cfdf7d6342e0d6c2dae1cbe0d8e855699064a97a95fd";
+  sha512.doc = "26d9568f73f6b0c557cc55b48a99826b70d87724f7f5776f7c58691e8374b3b6ed400206b338bb0397ae5e0c1df5d1bdbb638e80d0dbfea228138b96863587ad";
+  sha512.source = "d1a0c821c6624efcb31ca21ab658a64919dd6eca51add909bea4467dbf47b20dfb60f10ee979a7525a04bae0f7440ddfae2c244da25444ccf0486708b4d1a1a6";
   hasRunfiles = true;
 };
 "chemcono" = {
   stripPrefix = 0;
-  sha512.run = "6f38750d0c3bd5459e38f6d5f2467abb294b6df881c278500f62dc53c4235b8fa8420b814cc5b008cf711796453733f312fd8fc7867fb2f422def16ef8481095";
-  sha512.doc = "ab7800a89efc97367068486793bef9b50bce827b962854bdc2a684c975821cd7000055de3b49ce807db8e993ef7b53bf6d54c52455a3961ff971b11bc9c18b11";
+  sha512.run = "29b6e78d47cdcb21c634540ed6a935cd5c6eea5fb6a28ee85cfe681ff00c8bd24d7175ee5adbbeab03e11db2f56a38d3359235ed44771976917f35c673fd21c5";
+  sha512.doc = "9936d1f0ce1e6ab9498aec9d68c176ddd803de3ed1e5a698ca7b548203cac66492ce319af3e5951144ad11878065c8b349f57668498d245413d7db62d1b6a8ae";
   hasRunfiles = true;
   version = "1.3";
 };
 "chemexec" = {
   stripPrefix = 0;
-  sha512.run = "b5b08c513e9d4295b08bb6a008eb21b3a79ec89467c00d265f44f142d40caf56a48b421a64580497308c3a3ad2a36334f148129930b429509e9506645c5dd28a";
-  sha512.doc = "5eff13e4cfdfd9e0883de0a721da04b3b44648fd4db8e86b4ded3958299ce3c887a9b87fa78bda5c292288e0400125ee406134442fc2f119c048224f65db3861";
+  sha512.run = "62f374a57c799873aa4d1db52c56fcaf2f15dd813e3bd9295044499defa29a88567034e39b20af1e8a7e4208dcc35aa422c0ea8e1e0925fb1ae3e02a1a8cb482";
+  sha512.doc = "83b622fe694111fefb9c7863d5322f7a717778727c99db3fe5eedec0b6575d4fe50e6b5076413cbbf36a222ee7765bbb847c44783d6ce45cb07f55bab16955da";
   hasRunfiles = true;
   version = "1.0";
 };
 "chemfig" = {
   stripPrefix = 0;
-  sha512.run = "952b7fc8687f394f92e32315893f90dfc4a017f5e96cbfb49081ce4a33c100bd5f88898300ca9b58c237adbf442bdc9dc524fc593fa0e3ad1bb930c7ae2c588f";
-  sha512.doc = "7c0036cc69dbc819060b276c3922a0efe2a7f36949257e9d981871273982ad921077035d489ca1ccc045976623855df8e69e44dbb080a7eb6ac01a7c47d95e6f";
+  sha512.run = "bf8b9f313bdc239eac7c11c8b887755fc5106c389b3d62f013c764a8392298f4e0074796ec128edaa0d4126b52b055b3787454885dd2cd214e2603b7896b28dd";
+  sha512.doc = "61027d844de25043317e4eba23fd3003296fd0fad7ea9495f6b809c0a8b5cc055deb0798259bc6de09ed2a1e462b8aa9c226d5482c9642e87ae6c0de3787db47";
   hasRunfiles = true;
-  version = "1.34";
+  version = "1.41";
 };
 "chemformula" = {
   stripPrefix = 0;
-  sha512.run = "fcd15ebaba462a846c8492ea8f1a96abb83fbf7b36bb4546b918acfd4522d576b7ee4690a19fe0f68a45aef5fd811ab7cdb40aefec9b5b0fb60df5a037ef7c40";
-  sha512.doc = "0973cce31941659488426a9f66f50dec07fe46f0abb347268efec6c72351afcd50601d6b339fc3bb2c0c7c697e2e4ad4ef44351bc6576cfc642d76fe3a6a8bf2";
+  sha512.run = "4ab3d7f4b86899a2088ef210b4ec03f6a511d17140c0b0ccb8fbe61057107e018415c5ed591096e27eec701775ded1d2e3c6cf90e76a25ba58a47a6cf79e5ab5";
+  sha512.doc = "1b2edd7ba989074cc19eb5789a5f87baab32d7ef0ec96991e76c8c864293dad38bee3ea2f1def3b7fcafec01afbe4de4b3e34aceb8ac5e4140058245cd02e2e1";
   hasRunfiles = true;
-  version = "4.15e";
+  version = "4.15h";
 };
 "chemgreek" = {
   stripPrefix = 0;
-  sha512.run = "10e0122f032c852b5e4ac1b8ab3c8ab5da9d9af9ed27501d387ca309dc6443a392f970f98a9d39af0d310b4bce18b908b7fc8f9dd7f23d40a22b500e3bb5a04e";
-  sha512.doc = "707aaac95e734cfddad8ab12c0c564e6f1ee4816787e909250884331b60b0b1464e435ffe15c5ca711a03b97e51d96e253442cdc93630275ab80e23936cde110";
+  sha512.run = "5ad82bd7e1973ec3cc79277ab653e926bece0b9e8feffffbb798545ab1fe667c15a6ca08de7c6115c1436d552ec4ded0a9e489315f3e9325ea9dc0f82972a874";
+  sha512.doc = "015c8e3357c7d53745516a4c6d6282bde49c9462d516e9bebe9316769684c310195c23fee9e7e24a14d8084bf0d5875b158b60488b7fbdd03a83b590abb1cf45";
   hasRunfiles = true;
   version = "1.1";
 };
 "chemmacros" = {
   stripPrefix = 0;
-  sha512.run = "e9ec0fae61e67c077e88cfe77a42db93c65f7ba522c0e2400fb2005eed84e3fa16dd0c1194119629564bb1598fb605ff23e1ac17557af8c3f60419696545995f";
-  sha512.doc = "9ee87391f7da9f9142130f30cfafb09fe672ea2c3c4c2df061a83a84fcab442232eb467172045ad66c2147f4e8f6971bf47c5e71ed6c1cd8393d0c69e028488b";
+  sha512.run = "fe9bf2371b862873e7c1ae2a0b72ce622a4ab98b00846397b2b108bdd56051caaccaaae556b815c2c4e077c6c785b58bf79c66c3c764e86a8edc97faf7443fdd";
+  sha512.doc = "d5494677c903fb5e7c5376fb0a684ab5169d10aa145cf021a1cb9b87be03f1470e4b74a7c721319aa598779893fdd5a9144519207658c077a78998762a22d937";
   hasRunfiles = true;
-  version = "5.8b";
+  version = "5.8f";
 };
 "chemnum" = {
   stripPrefix = 0;
-  sha512.run = "79f5a6bb8096ce69792464b224d633527f4a0c59b0134c133e532d6dc314c833b951c59ee425451d3796709936e60c13c26cd745eaeb79ffa580d29018b9ad41";
-  sha512.doc = "573278841e9174e38265020678667b7487edd573c259372ff9a77bd296929e807a7819ecf803b7962d43497aaac6a8c46a474a8fb41ef5a0bda1f50b626c96f0";
+  sha512.run = "f16b41aec7baa6cb088c008b373ff648b8e801951528b24cbdfbe4ad4d54eab12c64a76e23521396bfcc8ff8cc3089f0da9cf9fad37526d1639547412038f5cf";
+  sha512.doc = "b9dfe8de349ebcfbafa967668895dbe5bb14cc6f065711f56dbfa5ef771eefda79114cc994f6de2d5d45143740aa9e93543035dfbe6cf1c2628088927e06ab06";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.2c";
 };
 "chemschemex" = {
   stripPrefix = 0;
-  sha512.run = "594671e855bb5bab78a42bb7dcd1bea30947d61e6c480fef8d06a21bd8d0f6630382b429364f1475f4a9ae8308a4f655f1389e59b3ee5f0be64f702d4437405b";
-  sha512.doc = "bf76f5e7d65f9b59c1b388464430157e9b4fd55a6bdbf10395845c347d3034fffcb0b18cdc56d769850638e8aee67c01911dfc1c6d96cb8d4ee99b1ea7100a24";
-  sha512.source = "e93b9c715433d3a92dad9926acc814d0d81eff274cff1a866fb28b8dce547ce46e146e5064ccdb683d8ad084d64d079175bc110223c47b57ae066cbe5aa7c16f";
+  sha512.run = "c7375af2dbf1a7b55d41b0ab617111cc198f1aeac98c354813cb2886e0707ce5648d3e4fd9eefdd23bffddc08b96c35a050c1f440f21d5a2d7d5c6b5e0b6aaac";
+  sha512.doc = "b5e864a02ed664e7d7596b56e2583f9a4aff2b8117f79415156df0cab9be084bb96eb6c70c4fca9dd4bd03b30e8b145e4cd809b165d17325625ae625c33f1dc3";
+  sha512.source = "56174f5943b8dc3aa0cccaefaf9d3f24903626d3c4eb48bc79f01f2a7be603921f7b1ee300e4009038e3a92cd550c08c37aff239a9426ef3277e47f645964488";
   hasRunfiles = true;
   version = "1.2";
 };
 "chemsec" = {
   stripPrefix = 0;
-  sha512.run = "6064af339a0a4b364ecbbb2b6c78cd16b71ead0d8f08d08ade479b003bae60a4a94e655c46f3d536b83d39c63a281a93aa604a26feb88811810e0ccb8071d425";
-  sha512.doc = "7a5c7eb943c00cb474603955557bb1162cf251a422b74360d49228e794dd46a9874515a179601ff3d5178d0d5980a074c08425395ff02811b22443c85bae15f0";
-  sha512.source = "147f2b8b44f8d40a6defdb11e70b74acf05f3085536b6bc70c9890459bb28a44a782baf438b2a4b53820a13462c53c691c250e7b4f790d182c6310543b19191c";
+  sha512.run = "7a69ed2535d477063e55541d53f73f5d1972905f63d2298629522dfbfbbc97dba0e9ea4a48ed1667ad7b50e24c4a0f7b6d5dbbf79863c9e79a0b3de522be54c4";
+  sha512.doc = "5e132354e874b3ad5a4363cfbcad49e3601380dea8f53e106bb0b5d92fb1aff6facfedbad69444ea362c76473dcc7bd8703beeeda9b69f2501d995da98ef71a2";
+  sha512.source = "b81e9807d8a082b1223d4747a3f0ad3eb3dd21d1d145de5c25b8c44a384dcd941eedf7117c794efc6e4af2397997d060d0b80bad1c7f487ae98b0679f5412b2a";
   hasRunfiles = true;
   version = "1.12a";
 };
 "chemstyle" = {
   stripPrefix = 0;
-  sha512.run = "d826015964ca505befc7bd6f6460c23e9621c46c9fb17cf9ee02ba1c799a4ac1c0a34501e2d2b852df4387f6d06848e04d3142fa32276966ce059c7ab075ff24";
-  sha512.doc = "515f3ab082674073b128ce428ad79b50ac0a171ac07b56a2ade977f80477028e51f5347260b66c07f569705609f84ade59cb3f09fecb5d5668531836278d80fd";
-  sha512.source = "9f79dc5e7c57d71f97117f3432b48215ded78abbca9b0e0478abe365bb8791adf16c0eaff67e7e1f51d8430d2b1e8dc7053b1dab06eabcea19e5d48616880f73";
+  sha512.run = "299e15460a64019177530a4d28154453a813c6987e6e89b6f60466ae9e59372c1a5e0fc418c49b85364ba3185d4fe4e4b7f98caad9add7dce9bbe1792d4e314d";
+  sha512.doc = "f8d6c51cd7e3df7ea8366ade62d0cf8ec3825b0ca54be600107a6be8853d1c58e1989f5c13bddcacd97673260890fd0f63e9a0282203dbdbc6a01653d86f0537";
+  sha512.source = "0ee97edc8ecf8f08ed39ed9fffe18b89249c513f33ff415e4205619395baa6e8b7c77832d5110d113d78d94c1d79ba84f79a5ff23a43fd0bb23d19db96badf52";
   hasRunfiles = true;
   version = "2.0m";
 };
 "cherokee" = {
   stripPrefix = 0;
-  sha512.run = "5a5225351f68dc0d73dfd16480c4aab886e9cdd563d01533b3c44b8a06570757aed12444f55f540c1d534fce66518a976a501287ddfb9c328e4690e12aa7f9ec";
-  sha512.doc = "d7d95347bab9915ead1f2e477baaa49495979b82be7116139c00d1525b09d1329084228fa35b053a8db11787b51006fc165bbd132ba4dc10b1b6ec21bdba6034";
+  sha512.run = "731fb10454a9d359d91abf927a27215e72283a9635cbd853a6738ddbd5047d81fdb8d547b891f29836d0b604d97749074e9f2676c5ad122522d987ac9bb46105";
+  sha512.doc = "34b258b5b699f644cc0f7f9b673f3dbe48357bbd338726af2b404da4888a9e742f04e397cc3b6a3221d218a96ac7180ce1e6ba80a19c688de0960ce59cb14bb8";
   hasRunfiles = true;
 };
 "chess" = {
   stripPrefix = 0;
-  sha512.run = "490af1195568c6588cf521da29eea488f6ec19044d48746c54c044144f73a948a938b6dbdd7be69b3ddc14252c76aaa22094471b2f8d3d0926086ff1520ce76f";
-  sha512.doc = "7a21923fb64b8f7c65be9eb508d662d8760329c7ce43704dd5bc852ad0c621f93920fc5b19024d73a7348ff98338ccbaaa3cf6745245e838863a6b7e7be1365a";
+  sha512.run = "236e195febc213825fbb5569d8eddd1967fbce1c6e9d550a1c52729be43674e063161adcd5dcb1f6293d9ecf8809518d40064fee08ab64ffe444affe3282224b";
+  sha512.doc = "95d3b598f63231abb6cdccddc970d6ccb29bec7e9fa29efcf1391bca70b610e9c0bc65754061a4b955548a854bcbbdd8cdf05f8f93fe52bea400b7c281ccc0da";
   hasRunfiles = true;
   version = "1.2";
 };
 "chess-problem-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "1368f408f360bed5d7c21997f1e75cdf838bfce454a40de4d11fbdb88fda9063616d692de29aaf36feee92364ac96b977af2622b4f500755472cd6cef2ace0f5";
-  sha512.doc = "b702188a31b369ea887db7426d9d99d7fff1302dff2bc9694141bb7bf1a1803d99b820dd46cfe2efe0bec979c1e0a97086900d6df3af4e44764b4ffd470067f6";
-  sha512.source = "e64412d79b0f79d49734a0135be2104ad2ee753471beac6ac84cb84c4716aa28868ddc20a830d148854d8c1c5eada15d9526591d5fbfd2d1ef53f05e962fe280";
+  sha512.run = "9216d5a545da3a9bf845d0fb91e345117a5917fbb992c93049a05baef3ea6517870572cd0c4f6f725045cb094f64ee3067a2d2eb461515c937d061a611619b11";
+  sha512.doc = "2d9268dd31ad4b9961824c7f9e73ea13c140a4d6fc6ab9c741ace4ec32de76ca2d0986b2caa5d2efa45c87968551dd3ba88d4d58b7c439300c9e748f551b2964";
+  sha512.source = "52ecd3daa5e1de9feb486c256cb0acd1dc262d12d574fec5cee8fa81cccd927d2636a6309a2aa6a8a57e27648c89dfbe4c3c5d380ecfc44e816e1a428c00831a";
   hasRunfiles = true;
   version = "1.12";
 };
 "chessboard" = {
   stripPrefix = 0;
-  sha512.run = "802e410fb61b63d92ceca09292a1ee587161964dbe1ff6a6a24e1a8e7c3bf855b837b674646b276046679f9184cbf501677286f44d6a2c8fe266b7c2b876626a";
-  sha512.doc = "dfa9e4e0c848759dd31ab8843803eda12869591ccc701796fe1e9ac1f6d26b417689accb9b81ad0e4a03384bc304319df4f7168af3338d06bf0e6861de8d9252";
-  sha512.source = "d469b8572424a1e5810d8e2211efef7e30a5ecea8be06f4a242706179ca3942acb9304c77fb6888c97e1f969fd9463710a7e35fd2fddf060b6872fac8f541690";
+  sha512.run = "ed7a1d973992897fdb174ef4e250d78a6747e40a822e026b787fd0899f6465a6e845175028279b57f5e16c50162feeb8b1c833248ae3b073e32a8d63051ac0b0";
+  sha512.doc = "586202bf2d2b8bade26af19170e5129da6a2f66f78e79880929d2df2b6a7971b8d3683fb79a3ea6863eeedddfee170c06bccce88ad96ca6c7d982aed43378084";
+  sha512.source = "2dd479a4ab573894437ab551bd78a1b24cff7b2ed53d2a8ab444930afcc228844bb5932302e4975bab617ad24a824810851a979eafb2433bca9dc1289860d6cb";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "chessfss" = {
   stripPrefix = 0;
-  sha512.run = "0016c59a8e2857166ccba3b4be3fc13a5a19b180837136edc60eb95be920b23d0d97cedf9fb15193431d9c5f6ab673107d77745b85e9ef32463b5eff056cf5f9";
-  sha512.doc = "9b19a27a91b7fabe25b98464f9ad7f258d28966fdea0fc446684f66f77500ed33fc641a5675d1ce479b2f35a0a3edc8071bc34b6ae72982a3dcb9fcd1bbf1060";
-  sha512.source = "5b1c160574e8d41d9d58c0e8865615edbb36acc7987d6386e86ece6194b0193fa44e483991cdb0cd7c82e742622d6017e4cae178334b5f1ee201df6c7d767aef";
+  sha512.run = "8250d4b470a74877c44093888657b0a3c6ce71abc2a23780e71590d0398fc08943ef77ffafcfdabdc6bfd739f7d5b4ca15f2436df103271de029e5ff6102f579";
+  sha512.doc = "1f9e625cb7765450fde23f5666af3b43ddb9ba2e67e7d04b98ef19446117cf26eaec3c2586be7c683286dedc37f8d628e4142bae834af716f2c068ac28beef58";
+  sha512.source = "8745f5c712df2da39a61aa3d7ec3b6b4917c4905e3a0c4ac25ea6484555f25db6fd31b49a9c86566f69a660108683b4749abeb17f512ece9af54ffd7806c1d79";
   hasRunfiles = true;
   version = "1.2a";
 };
 "chet" = {
   stripPrefix = 0;
-  sha512.run = "9a7a824be07b6fbfda73b05d6afe17cd0bdee515d4fd2a26916bf3d2afc22df0f5b826bf4006af646303177d7d214efdd54fc2526dfa5c23446d905e059149cd";
-  sha512.doc = "3d80a9b1478d29b489ddd795ac6eb0178224daf15e6f98036bf3aeb3ff3f7be59c5793060b82e84e246a64f6562e217280ec8ad27a5807b77cf8e34b037ee476";
+  sha512.run = "d4a43d5ed1f8e74f0b4681abeb2b1134e9ad770cbde69679d53ea77e09a1a23412f03705691cd31110d145a96dd97e078d675274342c9323b849c770828db5fd";
+  sha512.doc = "143b224d3ad957def3ec22a6e55c1b9eebd5db582065d422e1cf972580eb321ffc768c51cd687add62c01ab1cf3dec170422e6d9bbbab01846bf3e4cf84ec936";
   hasRunfiles = true;
   version = "2.2";
 };
 "chextras" = {
   stripPrefix = 0;
-  sha512.run = "e01ee6b48f446ec0a9bb4bb9ca29487652e1ff5b4522c8e7fcd74fa73cc1bff8d4cf7a77d38ac4cb33c23e9dbeec5033115e237ee828c905cb54cd9adaba4671";
-  sha512.doc = "19910b1f06ab7e2b66331067c787fe61ff79875441aaa24e21d8b9932563bd57e5cabf33e02dfffa51eef290d6e4e70a447f594b35c1b998b0467a56d36976d4";
-  sha512.source = "c397ca7fb4c770ac249cdfb081dcc36c3da0bde8a6df781cff5371b997e3010a6c3b8e2c7c7883d7262c0e51bce4e8b8e9255d4e181a1e071621095c520a651f";
+  sha512.run = "6fa92c9cf1da7cbe2ba74dd10f1f71274e25b228156f01efe5c67e54a2ba258500f7b2cc39fe935d4e92c641b760eacb7f39ea70643557ade4816e92e92a0b17";
+  sha512.doc = "8bcc8a6c99be02d8e0babc82ec016fd6e91823a31338701e3d741af895a1d87d224a849598c2784f5de9cfefaf9cd7a09ee5b102636114d528b1e17b830ffecf";
+  sha512.source = "1b82f258f1420b07699a0ee75f99e330acb4b9ad1fadc9ffb0f42a1a4321cbad9c08718f9bbb94185eea9bef8d707f729d610b5f671db7014fd237dca5fb0d6a";
   hasRunfiles = true;
   version = "1.01";
 };
 "chicago" = {
   stripPrefix = 0;
-  sha512.run = "3823c71849582a322466df9bf8ee35d786d6b37c2acc98b6693807075e4134739001c9cadbfb0197294a6ef943309adaac1e2ea2fa1dd73eeafbf0d84b838465";
+  sha512.run = "2313d7911a8c6bbcfbfb25405e3fd2ea8c0721045f77b9ecf27e4daaee5cfc1a5c010c72d192583e6025aecc6f69421fbd7921d63daa9f29145eb6f9c96c3abb";
   hasRunfiles = true;
 };
 "chicago-annote" = {
   stripPrefix = 0;
-  sha512.run = "273f4e919537517ad0919da30264360c05dbdabc45ad57cd2ff1c6dca820ff5320958f61a622e6641f2393a69c14da53a64c0ced16fe1ebf2ed376bab1a8fce3";
-  sha512.doc = "7fc3be286d55b5f612bd6bd34f5fcf2d98506b1fe5654b90107e3b7762a73e35f2cff20011d3715719521a8269334a31475df7d7c362cc065acf7cfa9657e422";
+  sha512.run = "be2bc8e7e8eaa881ed7a8225b211ef464dd5635b93b867333458521e405fa42375d4804fbdebe1b913fa694aaaa839703494a155b0ea5d4a99162f6335ccef0b";
+  sha512.doc = "893ba3ff20355e0c395b2092fc01689bd956eb177434ab7152aea686210a7167a04b64ed8ec21030e4f4cbc7e1367a90976168b174fd068d6aecbd0304f380db";
   hasRunfiles = true;
 };
 "chickenize" = {
   stripPrefix = 0;
-  sha512.run = "56a3a02fb791aacd83d26627c710dd9928270d8fe803984607e6d0735253083ab37b24cb1879c5ce1fc6e09a4d5194e466a5a6a262b463ebc3d019150bd4d3a6";
-  sha512.doc = "5168fd820e4a376ec363511dc114469091e1ec9675b874a74ebefe4a387c9870edcf4a25f7f561de21d76e8d3d4f788d054eb28937f711a75f611d3ccbc4186b";
-  sha512.source = "0f01520d20c1e0510ba02a83654528a045f24638205abae4be38fcb0e03c3691c03f2ef876042c9138937e0c1b8c27032c4e94892e9cb1940f9aa8cee3cd870c";
+  sha512.run = "82df32cba5f14ea8de96020b2412d7c2b3939b0afc4f42bd91e957694404a12a8ea38c9260cf472d81e9aa776556e9b5cf97a674d23ad32633f4fdefe3b3bf83";
+  sha512.doc = "6d29cddc0030de2ac6b82dde660e405916bb79bb1e18fd0579a66555d49062fde5d0fa327b906baa1556efd080c55b7ee181ed7569e96dab256ab2be27620935";
+  sha512.source = "bd53aa09a1a136d36f92ea0e8625684361b31ab9315a9f987560f171e893c022122b64a086aa2952a9f1fb96b7931f4e248c016cce8f0ef488c94fcd33c5e8f4";
   hasRunfiles = true;
   version = "0.2.5";
 };
 "childdoc" = {
   stripPrefix = 0;
-  sha512.run = "8b58f098cd1733f5d8b8141bd44f83d37b356fe85938abd3c38a4eeb7b1f9fa284d62e05a388b5db246bd4806c878157c1d5be2f65298bd0c873f51b8ad89565";
-  sha512.doc = "267cad5d7febfd11d18b778492d8e209b4cbd4c50d5707d615ae5c900b3edfe2acd3331e8f0fdc3e7bbe6266f4227cc760c06138cb6628a74f84c9d8a113bed1";
-  sha512.source = "d5b20b3dc6d88efebf9aa85012cb9fcc677b0f4697ed3a157b460b4fae9007013ecf0d86197e433d151fe00d6dc94d1cb7b9fe071e0453d6821e076d3ef11cd9";
+  sha512.run = "b268695b1d91b49ba6a0179124cafa5e5cfed56672424ab40cc31924c07879b4f50be47f9fe9d574f2adb3f183c71d799cde8854a2942b530c40a1e101d399ef";
+  sha512.doc = "1a74059d946b82da211f5fed7cb120453049ceaf5f10841a78ff8864b41444064b223939bd2296142bde9c7bececc0ca8bed141be02431fd60f069ecab998d87";
+  sha512.source = "d74e34799e3cce5093f59d66d2680350ccf559b0a06045882dad98a60626c59f8e0ed8a6e03d09cb4ff443d3f68a33208af996e2b870047fb381f97bf92dbea8";
   hasRunfiles = true;
   version = "2.0";
 };
 "chivo" = {
   stripPrefix = 0;
-  sha512.run = "e4993b185bf9595c389585f31738072728de027fda5689b00b8dd8435c7556f7190a2aaee0d91303e00f0d0ee01dfecebef7de084dedfb897f766c31392bef49";
-  sha512.doc = "9f360134bb7b4c315fd41d860415fe761747eb15785ec67101071738d08ba8f21b82d7f32fa50e91efdda65254d5d9c8a0091412d47045185e6798657598c6a9";
-  sha512.source = "ff4dee28c226cebf516381154863c6e42b5d5eb0b2d70b94a3e399bd01aeb30105e8a635e9551c97370472b39ce2e130ca8c698ca96ffdcff65d1d04011f18ff";
+  sha512.run = "c50965da981e688530e115352f0d1baae7c9fa2b286856fc1c3d7a9dba1b463b299c129cda72514792a2faf77f512b8720f02494bb178cd619ccac6a37e5f606";
+  sha512.doc = "b7ec648495dc0be4201f01b162ef995eb2168bdaaa43c84144a7518e9b1e0d471e08a1282d301162cc9cabfd23c86249fc57cf0136dd37c0689a33893917f12b";
+  sha512.source = "5b92272061540ec7e08797782af358ab0e50c6a2658a3faf7fa783e2b4e105a9e7d3dedf6e4ec1df82410254686d5adfac205835c68cd88394a85abb39d1f3e3";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.1";
 };
 "chkfloat" = {
   stripPrefix = 0;
-  sha512.run = "f89d84adf2e72facc950770f4c8df8f179d23ef515df9f75da0d8c5a29c6f159576d77e1a5e11433ef7aca9a1ca968a133539874e6d517843381a6dba719cd7f";
-  sha512.doc = "2a146a619aeae54577db53b8b1fd564b9de9ab7dfd8615504a61687e575d513918e9e1a9d88bb9d0638c8dd72d2b4d2c2ceacefffdc04d224b11389181d8fdb9";
+  sha512.run = "2a08b71c204709846bbf26ec3883e9037af6ff22e9bdf13b27319ceda55381eb9e3816ead4e444eba4b8a050a188e58d14f0d9153a813953f587c6cabb3932b8";
+  sha512.doc = "b79b6bd6943dcd07656bb46d44bf50ca2c0148bdb6ae711d17a49e78f3bbf2b95781cd6f3d0b2f7625b131f7485d3db608c963367dd91dc91070501b367471b3";
   hasRunfiles = true;
   version = "0.1";
 };
 "chktex" = {
-  sha512.run = "f3ede4ae8c4f56c0a3f9ce241617a2d27650e4dc2ed260a8b13be42528f045e2d333e84d33aa367d215a4f500af01f77764f61a73f2370d42e130debaac1335a";
-  sha512.doc = "5259ae0c5f186978cb5392df7484a6fd83fdc75bff5e840f3132a57a49bb0d0e18fec16017309e1ef1ec395422a1077248157ad57febb3bc5744f10f9a3dcb7d";
+  sha512.run = "528392dde236fd4dc9cca54239e7b1d19103fa5789a1c0f541a74472ccea52548fceb13e10a629e389f94ac5c16006246edb3ca584b1681b9e22346edc720715";
+  sha512.doc = "6c879a78bc9aef8b851c07f54e3e1974628b0533a843046fad4e82013c32da6f1bcf585547816ac3f3b97fb4425af61e8b7b2b6e3ac1ca177e667a9b26ec17ae";
   hasRunfiles = true;
   version = "1.7.6";
 };
 "chletter" = {
   stripPrefix = 0;
-  sha512.run = "bc5c46f79fe158ea19c68ca51f0c2f54dbcc9c65fdae40ac8206b4ee965ddc816100010e538d028734cce9df7802b9e16ad166d7fc6ed3c122e63ca18f253901";
-  sha512.doc = "81a79263b019ec7717727d4ac3fb6beaf3c7cad6b8efc9193504463b3a481d4fe20361489f07cee542947281751fd841db48c506ae7afa0e1fe9b885ce1cc162";
-  sha512.source = "e450609d0f8957ff3294f12997b83333e431ce9b1f6484568089d17fa2283645baa039f247d0a14192eba109ba5aebcd063a939f10cfae852a2fb7bbcc26d540";
+  sha512.run = "a32f71d89ee69ad60de6173f415d0a3aca7563107cfed71aab0ae99972a2ead442bc75f848ddf07c26c5d464b2224afed5ce976bf037049764f722396e9666d9";
+  sha512.doc = "05cf8a4f37eb51cc00d9c254dcb817c41167eeb7643f7a793d1a841bd2c8a3715ced2036b974533521f48be48ae493e52ef0809789d36155d1ffc9624db538d5";
+  sha512.source = "6e4c5063d7710fe5842ba684705d4b94478a9d468e68d60fe0b2ad23fdf717841421bb034317cf240269b77e4351eadce854145fe7e4300b2f9b698a6617679c";
   hasRunfiles = true;
   version = "2.0";
 };
 "chngcntr" = {
   stripPrefix = 0;
-  sha512.run = "0e902dc742afde8cde229cf17d20cc6bf47f042d4c03c3771ee544bd8af84e4670c3fe41d523703db0c38c38f1867009b39a9495f0e4a52187bbf222dcacbf8b";
-  sha512.doc = "671e6032ff720f7febe20b2aea8977d57f108f3c80aab5d7a6376c79cb53b4ff88a9e5ebd31883b3a3adbb5321912677c023329f623c6dfef83b227ff5ebd0d9";
+  sha512.run = "0fc94f91911c623578912ed43526d18f85a003f797e94ef5610aab8477154078efae7000256892cc3d3103843ac8065c27d56a10c6f57c16d9ff13693930b0b0";
+  sha512.doc = "3b63e4676232c05516bb12c189873e4af39b8b34df2690c897c4733203c9f19a30759850979c47b05e5fea0bd1c277a5c1ea0624709cda6a3a4ab0196231afb9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "chordbars" = {
   stripPrefix = 0;
-  sha512.run = "9b2c42244a77a0f55abca9ac9e2b02f2f1f173bc96dc288ccc5ce5edbbaf54c45f8e2a320e391613f07822710c913625db32e5d1f6ccaea72a77143f718f7d28";
-  sha512.doc = "d61052bd8d2aa9407f50b4599c261e236db9e19d8f4b85358c3e20ebcda2c1044feb001c6f6211f5b7ee29fc720f16112b6113c6118436860775ceceafdbd3e6";
+  sha512.run = "1349aef2649fdd9b54751425d54cc9b0746dbcec9eebd1264c36867517c4f422d74d390a0e43d22fe81c5a36ff00e6cedc5e652183422e9408a2165486e79052";
+  sha512.doc = "ba8aae66430e2df58f01bb9860bfab9cdb3aa0636f77f657a1fe4405ec9397773b51b01d94201bb8dfc8660d05f2aa4ce9233ef985d3e4e35faf005c81759404";
   hasRunfiles = true;
   version = "1.1";
 };
+"chordbox" = {
+  stripPrefix = 0;
+  sha512.run = "0e07cae95a8ee5f040b4df4d94f996f772f0780bbe47c77db891fbf44b08f20e28ba8442dee3e981a052b0ccebb0d630e0f0917eb7c65a490c844a65f3b2e3f4";
+  sha512.doc = "0826513579953ea80047d596b6c577e4b6f00fcdddb7a06bdc953bccd72e09ec2fd9123995c1e04260ad880bc860454abd283885817a9eb359ec7cb5beba3cc5";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "chronology" = {
   stripPrefix = 0;
-  sha512.run = "46345319ca67ea1c201b80cc527c37e0687fc537b2861587891d7cafd72e14b89ac8e7b589ea8e3fe62a7c94d538844325abe64fc9f2a6f035dbb249f3a96a7c";
-  sha512.doc = "18028e4013c272e94316fec67933e8c674716a07d745430c3dce239e34513cc0b9f3d134ef7aa7da0c0009253be5da5a59513be29dfc8763852a9a1797910957";
+  sha512.run = "6fca0b31511366c1e39f6518bf5c6e10bfb503a8a901d9e1167866a40e2fbb9d2a6e109f48e146bbaaa2c017ac96e82196a5f49a91c6c9f52eee2633fd5c0737";
+  sha512.doc = "ce0417e339724dfd97c227f104d9cd0b697c1cb7a5c586c890c3e938bbdaf5db2984fa83a09d983970c1105751cd012e544807a74bf0a35ecd2074a97d0520a4";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "chronosys" = {
   stripPrefix = 0;
-  sha512.run = "f9a53feb88c5a2f5aad738b3c1550c4161d32b3eb35a67654f3ad44c9ba2795e7d5f147503a8bbc729893026d1da642301675825218625b155a882efc1862db9";
-  sha512.doc = "7716b7c4f97df7ea58446413cd5f1e3c15e75228ea6fa8783e06be57982955f1a4e467ce939c95827452f7edc9634616d0eac9c617a80b75a4538b75b1f625eb";
+  sha512.run = "a9503f9440dfa9a42a3f2d345c5e74faa9f40b03264bdf8482ffa58c34318467a7863033acaf089acff6056f91e9d85969676c1b0b080b363c1274ab96f022ed";
+  sha512.doc = "1f2078bc645e1a9af4220bf4041391353495f76f530ab5f1a35ebf2c2a534d60a910a9ec079ec2222ced7fc3d9c146bce3d6d4d703acd2bfb9ccf357f6fd812c";
   hasRunfiles = true;
   version = "1.2";
 };
 "chs-physics-report" = {
   stripPrefix = 0;
-  sha512.run = "26f87639dc52ed08ed7918973c5aeb15fa3a6fab9637023220cedeee00fd37cc1762232fd7fe17f0086197d66eaf43c63373a520f11d37378ff2d5ab0ab71972";
-  sha512.doc = "a8bc3bb515bc744e00911626b4786d11cfa9f16f5fe82dd35bb506afad6ba456e8bb7544a0734a715a829173cf4e602cc08fe2665c1ada1dea58a9c0a28c8720";
+  sha512.run = "e1af3e29e5b59545804d7ac7f3cfd0c7463fa9487c458ff3790a2b434151cfec925863bc2d107e5eb6e43c988d85136eaabe28065bf95b04836a8342d5626d23";
+  sha512.doc = "3f87d4b32e3257a22e0e7146a89ab2fc90f796d524b0641ea0ec51ff7328518854d226f5405220d7f5466a138bdfecb6d1c6f8b056781e985cc1cc757d0f26e0";
   hasRunfiles = true;
 };
 "chscite" = {
   stripPrefix = 0;
-  sha512.run = "35ce1c67edc19ad4baba1aefe66c8369f97a247fa51ebd692e8c0ab7f2ba0d58de625f92d2856b865476211fdfb4768b5b51de50a2cac90d8f1952e4bbfcae54";
-  sha512.doc = "a8180c2e40ea23335f91b5f66829e90c6c405d845be88b5987c485ffcd15e67a866e420149a97393e22db9f58d178d3e449614774081ad548e0bc78a41d8fc0f";
-  sha512.source = "6b6f08a53a98301c7478506174d92ece0c05600c9de5f9656625d115daf16f3a88c28f8264c85366d530963b95065759a2f6dc69ab7cd4009f1c25bafb7d87e1";
+  sha512.run = "809c76b1bb47e194c43c869b27352578fb5490f6a9a8bbc2fae662b357bd36a099f5114765611d73fae87a846526781ceb7b45aa8968836c543e15f13e7ad7a8";
+  sha512.doc = "215085d808b75d0d7f3e7e95830c63172606fd43e1e30a20e376f43d12959da71e8e77a6f06a6058d8ab9f9406f1260262af3e904ff65254e5d2635ca6d15975";
+  sha512.source = "cf81a7ceda538e9a3a8bb0a78927c493d42993bb295680792ba643d6f771722e0fbe342bf59cd3104cccb63b1ece7905418b998c1af1dbd7c879cce024681f9f";
   hasRunfiles = true;
   version = "2.9999";
 };
@@ -4146,64 +4251,71 @@ tl: { # no indentation
   deps."etoolbox" = tl."etoolbox";
   deps."oberdiek" = tl."oberdiek";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "1b94bb78271baf9a32c0fe5290e740bc46a001d5c5f86c79a282aef0019995fde286d045addfa1ba39452888a98d06cc1da755faa806166b38f48f3687459662";
-  sha512.doc = "1be5c9f2b6a9d3fbffe98e76c0c4ba094f61a7e8f79bc541bf9c32928077094d0e814353eb87782457cc9c7ce0c0c2731237f6843aaa776d742b60d086a36032";
+  sha512.run = "6c572235b95bb1f8407addefdefa1d7d3facc09b963f4d65d2be317986eb6523db9a8ff7104f15c526962ea8fbd0e1430b68867bf619cebc9b494f5cc04bfb07";
+  sha512.doc = "90d563afc8248ded0ea4f30ff685e2fd9da8dec7ea92a3d4313040905be883af3f11393a031ec85ad39e9e51d374557e0f1f373a78caf855d2048fc4e0393e37";
   hasRunfiles = true;
   version = "0.2.1";
 };
 "cinzel" = {
   stripPrefix = 0;
-  sha512.run = "4e274d4ef5a5cd33059b3362d87c96cf3a8fc4dfe190239e4bcbae7c651c062b1b2e5e921363c668bb28b0610431bd269c1b16357de924868f247da7743a1f20";
-  sha512.doc = "52f321c7b2c33410e39ce1a9fe780ce7308df96b93bb991383f16badd761cedffdbeb68a5fbfdb123f2308cdf8383931f7be0b04576d64642cafca2e60fa3578";
+  sha512.run = "5325c8ebd42cb7311d16ac20b4b0bad6832cea05dd685b17975eef92363dd0ef99a06ac4e5e269c932e30df2dc9b0ec3b5dbe54adc70e93718c08a92a140d866";
+  sha512.doc = "939dbd310bb861bfef206584d8011b0a296f4b70673b7f334b85999a40d352ff74f07078c9215e6510e431b95e6fd12778e468ab53f401f3b952324c3162f792";
   hasRunfiles = true;
 };
 "circ" = {
   stripPrefix = 0;
-  sha512.run = "327b481fe266899b0c4beb805e0180b8b5a6ebb27e1bba8cea2a57a48f5c58945624faf6bb46e67ca00ebe20ef9f1920300d99d0ec2bfee594138ecb64f24db6";
-  sha512.doc = "64b626f8b7e17e96b2fc6f83cc0e41954d329d01742d6d5c4aeaa50e5a95c2e165160785657d8d8518996f9da8382bc3b6ed994542ab003619239c458a40593e";
-  sha512.source = "777fd7a8137e3f23c85a9ba1ade1c4d3926ecb2a5f16bff1c39a5a3ce22a22b5a4bd5993c853f899c770974dcc3000abe418ea19e6b5c5c0cb7b9070774f1846";
+  sha512.run = "638a89cd3ef49ba7f21f42944d1452c2866265f326e33e07b47d9607723de7f477766e8c240df7a91081f864f12346aa358b48f66cb67017fc11ace129c9c694";
+  sha512.doc = "389d98b3b5cce6c93d84bb3022f4aaaad1927bf78b323c106f7e89612835b92a2ff878fbe8d120406018549dba6cb370d88f098df523ff69a8810ff6e2b80241";
+  sha512.source = "b6127892465f3bbba51b3fa0f1d35e667cb4286adf0280691656a8b62c52ee57aa01578e716c495612b00a5725ed30c17b1a81b6346f184fd6d60611ea2663be";
   hasRunfiles = true;
   version = "1.1";
 };
+"circuit-macros" = {
+  stripPrefix = 0;
+  sha512.run = "a4b36693356178d6c3c15b9e1829d8d980ba5965ba4ffdd8dbe62ea44a5cb962cd326ddfa34e767b489d879e6ae39a9dcbfa607d3a769b370977d6e4dcf1e54a";
+  sha512.doc = "277dc7140b6fe176d27cc62afb018ad266bc946259b38f02f3166e0bc8ba9a5e3fa0b56134d48000545f41e59f1f0343985552bd075cd2d1fe98750c890862ab";
+  hasRunfiles = true;
+  version = "9.1";
+};
 "circuitikz" = {
   stripPrefix = 0;
-  sha512.run = "47b56b86e6f2f64bcf588bea145a2ebc4fb4995123cd699cd730fb9160a0211242b56b3ec92d65d10078bca4f96711ccaa72d82ac934a08f7cd8f30170bb315b";
-  sha512.doc = "920c8dda8ed779bde4cad7d1fe7dd0f5eae048325c9e282646d60ddaa095a47d34062a177a0da60459d1a5bef6064e8fc9331fcfa6fb43cb6b9201bea643f9f3";
+  sha512.run = "00474a4568fc629f57a76b963bc0445e582fecc3c6d7a714120998adb0f9bab94cf87b834938eb91575e22a5ad61896bc252f995cad439cda5f0b471bf2f9a49";
+  sha512.doc = "4e628fc482a6488ee6e4c78dab70645d42e19c2d34456ba4f12a2730487df5bbc09f582f9a72092edbd4bea019c80d9ffa65fd3ce0b70df955a4602ed73e115c";
   hasRunfiles = true;
-  version = "0.8.3";
+  version = "0.9.5";
 };
 "cite" = {
   stripPrefix = 0;
-  sha512.run = "43bbc63bc0036041ae949454e28e7f44cb6aa200d4cfc8573288f00a51de4a30667ca91c0850e201792f9fff47c37034ccbfbd1f4e72d1a6eb659112ccbc82dd";
-  sha512.doc = "77feeb9de2b82a049f72c57c0c3ddc39d9b7d5e49e3902ae89f315cd105a49ab5cd79ac9214f54b90129eed3a59aaf75d27ee22052d3d0b16ec4128c21b1066f";
+  sha512.run = "39196b799273a2da29591b1b59c0a504f0e0971a6fb12a21bed5ac45d94eb017f1e7c64691fcd46f5c151d867c1ffac706f050fe2e08bf3c58aec8867fa185d3";
+  sha512.doc = "f9ccc0e1975064ec792c6138907cd3dc8080ff2fd02a2925d1a1334cebbb2289797b234b46d92be0ba45d460c31359b5c143f20e28cd1aa1827489d04b88d300";
   hasRunfiles = true;
   version = "5.5";
 };
 "citeall" = {
   stripPrefix = 0;
-  sha512.run = "743e65140469f9dc7074fe835f4bc323fba06c7c9425eab1514dd71cace902695cf7b5900e06e7db6ba1a25bcdc380f19c118244d069c30dd562518d7eaf5e06";
-  sha512.doc = "33fdedadc830e57834570446ccb0133439da38f8e85010708e0d9afe6257c44b35f4f109e647a3fab67adf0ecce2a0cf6e2fd5894b4eda723075be5e966f7c4f";
+  sha512.run = "2549b398c98f82833849a45716d55a776ab3b7927fdc400c2e6d43c45fb0cf628bd66bdade7ca63bcaa2e98807914f7adb958c6a06c27762fb0ee70452d4d280";
+  sha512.doc = "f1eaf5ed48bf3fd2bc336b7d91dde09b5cfa9a1901bd6315d4abf032439571a89f1d7c4794ed0256ef1aff0456d275e68326e81627f164652c84de2900165a98";
   hasRunfiles = true;
   version = "1.4";
 };
 "citeref" = {
   stripPrefix = 0;
-  sha512.run = "6472fe09c8b5b1c56ac5f4b3a40f9a7607caaa9c39c06a6c2663fbfaefa196e609870af36c58add97da33fd831387bf5ead6cf4e4acf1de0807dd32fee63415e";
-  sha512.doc = "5e12ae0e1b43c5def78a50082695c051584fe82bff927bacf82c929d1269278b099cd7fb6391963b4cbb509c0f1ed6157f46124b869b1fde7fd406f050a32752";
+  sha512.run = "5f56fb1d813962358c737023e06bc2fa249712d8ef984f835073e11b075b676e845596a61ac312991e646d72068670b60eb002f78ac322f66d8e5a9bce185063";
+  sha512.doc = "21d1a8063586b09ba953ac5df96a3b1552c586d66c5f2af517b1b1ceb75b40f173bd411654dd313c6aeebabc35db7543ea8edcbc8705ae104c7f63e5a5b3cf57";
   hasRunfiles = true;
   version = "1.1";
 };
 "cje" = {
   stripPrefix = 0;
-  sha512.run = "c1a797b4f3664b47030c1d8b91ff5ba7bedfe0754cf81494d8e76646b447eddba2058c75acf40da9107c31093974b3df96d9a01b9cbfdf5c8944be8b881ef058";
-  sha512.doc = "f447dc2c2bdc42048fb2c37899e5bd28dccd616727df5604d482008b843bc12f1be21cc26542bd92140f0618a8618792ab97c7f262abce9d86974ba152d430d3";
+  sha512.run = "cab80d266c2b5f9d4ba9d37cc5490e831e3f773d86c92fcbfab9474864aebbb6123e1ed44877127e84b6e1fe8037f2425259789b9b9597de49e1b24b123992a4";
+  sha512.doc = "47a2d96b6b530be732385617af832ad48c3d6c7a34a7e9e0523c38a03b5116b94588c995afd153c25be6ceea9bc199685fab9eb83636b5fe27525b19a4bc7cec";
   hasRunfiles = true;
   version = "1.06";
 };
 "cjhebrew" = {
   stripPrefix = 0;
-  sha512.run = "738a599059bbf99602bc8c542e5ffc70a47f6e446ffd8d678dbf507ce36e2ea9070af64d743ed1b3a3fe6d2eade960a6e7a3861a27edaaab3b0ce1d9c58d87bf";
-  sha512.doc = "c18851dd111b353c6412a1e60c3ad934af5e5ca3039f0cb70147a5973b37c561c88032100e4b848b8629246718359644193c9ef19a2e61c70202a01615547572";
+  sha512.run = "65a73380bcfd8892ab2eb93d088076e2d5371019244bc8a65a4695e69a45f743248fce59557533add032a02a0b7ea4f02d6ea4634265d2d9718a5b100f5a18c6";
+  sha512.doc = "591d932ae099aa168d55f9479842d25c5212dd7aed27eac1a5d05a111a8a396baae7c73ddafe1087a7b8008528c50b1a85825851643d8107133d41470ce1e397";
   hasRunfiles = true;
   version = "0.2a";
 };
@@ -4215,359 +4327,376 @@ tl: { # no indentation
   deps."norasi-c90" = tl."norasi-c90";
   deps."uhc" = tl."uhc";
   deps."wadalab" = tl."wadalab";
-  sha512.run = "26bf5b97178f947769669d4b39e5b3a9c14b56e535b1d9143a0628d305ea20dbbf017850db70e98ed45a4b5b3c5fea23bc7fe95dc50002bb52648658669a6144";
-  sha512.doc = "12e668018eb51b9864320784ed5aa14845b67aef84ff4c13eb7734fe80ecf2fc4beeb70ef6ad234382d942f64590a0b11389e520011aab7ec5d3f1b548048bd2";
-  sha512.source = "aadf032e1e15513bdec19bd08f0bf1f94d5d819b0ddb0eb821086902cccc23d304171991cbed7a934441341eeabce4d5dc54234414c16ae419d8fa5775b9b943";
+  sha512.run = "c35be1fc1d9f9d44e78effd6e7e539591020d785ae255a1cfa0d7e2508fcdd496d94e4bb0096bc7a281ee93b0b8e461efc6724c82f49d589dbcbdda35143c811";
+  sha512.doc = "d598d599d02ca95b1375b8e989649b441980ae6467348270c366a670d79d606b1ca79801febdf5c8c636f2d1c7fa30eb87bd87f90f75b5b4436443ecdab53b73";
+  sha512.source = "bebcc4f77716c92fdff317d926b0ab47ff32efc8b235f721d7d3d1808dff5672127b4c80bb729aa1023f25949cee2c4d508adb40574a3d606f3d5840642eb604";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "cjk-gs-integrate" = {
-  sha512.run = "e20cc91b52f009daad8a70b2c43f51d9703489f3d923d12135da8e9386ef5fb467e3e98d100182c5cfdb0c2412090386c18f6270e2e0c08db4e7c761b94cadcc";
-  sha512.doc = "0eb81c03b316eefab4508775813c9ecfeb06e81b841fe9dc5346f2cfc6e0c083a1f84843b782f913f72a05f890bda17be9e35ad613cf91f9b1222cf4707397cd";
+  sha512.run = "f4b6cad8406972b57a540a29897962cd01a481932e7a1efad6000f336040517a1b5af19a8f422a74d4c32fea02d95aec30085e26cccaae3e8e634e8233fff071";
+  sha512.doc = "c74b94b3de893c2a93bd14c059f85b786684fd548e568c058e182935ccdef5e1ffa16788d7b4ed9af1544152e39e3e16ede95431ede8cc9474d2e72161fe2c12";
+  sha512.source = "0ac430f7b0f56c244b57d704383af91e74d0eff5262839c375769b170d84380b92a9e17ec46d2c894fc35a27a527b93b5338b8ef3440386c2ca17e2884b4c3d4";
   hasRunfiles = true;
-  version = "20180306.0";
+  version = "20190816.0";
 };
 "cjk-ko" = {
   stripPrefix = 0;
-  sha512.run = "038b2b4730908ab4dc2ab2a51213ef82cdfdad9b169a319d9daca7163b61345a5388ec446a60d0227414cb4c2444c1881db3a651afc661327257fe3cc47135d8";
-  sha512.doc = "e8a30e1c77469bb60c4789f07cd69393460b1b14b75245fae21dfc1d443ef04be71d7bfcec80a14fb5847a172d7518ffc081e4248fc41593c54505b112372465";
+  sha512.run = "52ed45e1e67b50a09ce4b1fc333222d93adba691265e13d0523aa2d1a2a82b78dacae5ec2ee1ec0e78dfdde740a15a3d48fe45750db17e5270480807521c59fa";
+  sha512.doc = "15b96571e56e9e08656f28fe8f8875e22de4a4c513a76b21206b66b8ffe2c986acc87c6f0bb1f693a2ac05ad07948ba89fbdf5f63259d08ef3b41726190e089d";
   hasRunfiles = true;
   version = "1.8";
 };
 "cjkpunct" = {
   stripPrefix = 0;
-  sha512.run = "f40d96dfe648847e220eb5b594101e390a4d1b0e863a1259758ca4d971f82bc3a3477397f64f49f948ad948a1f26ea59e8582a8be9ed4266061a5c34d8928e7e";
-  sha512.doc = "ce245e6b941f527d920d1a9c779e1bfc9ea200b4229b8b0b416801e234fe859dcfb148aa0db1d2a9f4940239e0238e0d24800c3a6478af85d6f34a544a3f9503";
-  sha512.source = "e0045810c446280956acabf9e85d37cffd73a436b58db977715adff54f789814b66d085423d78aa9db32846bb52e100dbfebebb580a9258fae2211ac531342d3";
+  sha512.run = "cb44aa3386cd79f05980e5402adcbbf9f8b67fa76bdd5b293063fe9810520edbdf243656cfb54fe17d6ca43d405e6b16e8012eda63bae3cb3d8fc0f7755e2551";
+  sha512.doc = "cb9383b6d3fe9ffd5926d10dddcb1ea758aabda232f015b22f61dc8a9b316193b30ca2d8e2b849b1c03d92e0073bba6d90cc5b3b50f47b28a745dff2f7229486";
+  sha512.source = "0155261e5a1a22634a4c6c779054198534bc2b6ef1f1d85d471a25bde59b7e872db01627f08db6dc76c7fe6fd08d9a2363c47e79425c80ec5319648c994cbf48";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "cjkutils" = {
-  sha512.run = "550177f316936cc107ae6902b334fa3b41f4955a51393ec2243dae92f8dc1a0547b3b181d6048bf171ef843daa2563b6431f5520b382757b4ce80795c5d02c76";
-  sha512.doc = "036a708dc3e7478ac47f479fc84de4130966b35bd6a8c57b5085356b5fd8a31f5397e5c67e60383fc2c7f8c3707d6b712afb9fcf094dbbd3d7e9f62271bd8683";
+  sha512.run = "0c6e2eef5022fcdedee3d3eeadd87a885e663f92274a4f671c039197b6fd886605c4d71b052669dc8665737f38f2ba02d070f75610384ed53d4e96d66d696457";
+  sha512.doc = "50437984ba42ea9f4d0a23ce78110d5899cbe205a46150998a2e44b2710196a0b5cefc44fe3ff78567e4372f57bf9f9d7177dc29ca7c37785b56f4bbe49cf11e";
   hasRunfiles = true;
   version = "4.8.4";
 };
 "classics" = {
   stripPrefix = 0;
-  sha512.run = "1c7a689bb539df3adabb0da186f6d84382c9e0c682ba7e03fb279996e715ee1b748bf8aa0a5cca5fdfc465091dd4b7dd1f56cbf88638d656b85e5bbd6c02219f";
-  sha512.doc = "9202252352fbc2f3447d19ba53bb2a64c0d5c26ac6868a52f03a0cab52cd3fa208d2a0d2216af145f23d033e917670ae0d87b0e107e03f4ecd5f7bb29651927d";
+  sha512.run = "e92314a21577423aa48e718d044de1e2abd1c052f6f85139a5d20f99f670867bf448a52592ab267fa8fc88a96ef0edc23637573f16859843dd1e4b9a5dce489d";
+  sha512.doc = "353b486d22807305031d5b25e2a9d403da220f217d4dc7ee5b2d6c42e5127d004ad8eabf37d53f4933121961120ac476afa8ec3535498d1b5e4bee8c889fa53a";
   hasRunfiles = true;
   version = "0.1";
 };
 "classicthesis" = {
   stripPrefix = 0;
-  sha512.run = "cfeb589850bf340ffd5ee61cada1e153a9253b0fbc59fc5a43279d5c777e836face27d591ee9510262a197bcbacc8e1fbf86614517fd4bd61cf4364f07d2334c";
-  sha512.doc = "5a4a85ca2a1a5485b7b33187432e4e602758e88da31a6cf77ad769aea14c2ca58363c7d1808f04c75316fbc92ce8715c75cbf8034b85dab4c76ed75c495d7adb";
+  sha512.run = "9a8c0c9ad0d97f187cf66679613514000324a72d2745c1026889b73e5981e0dcf36f388a0bf630f5ab35d28a39ae50ac842db28c214442ccfd987ff2c132ce7b";
+  sha512.doc = "3eb82d6c0f951a060e56c763e90ec842d1692326501f538d71780f4a0981edfda33b0ac0b5d00ccded7d3273fa69d4dd5d4a9c3557d9a69e1c3bc17375fbf43b";
   hasRunfiles = true;
   version = "4.6";
 };
 "classpack" = {
   stripPrefix = 0;
-  sha512.run = "66aa1ebaa197c6a01dae5f891855b9983f231ed1bb231616e230d37f03175b2cc238c1e4ca60e0765e629fee6f4401606269957a76070c810be6d191726a4aba";
-  sha512.doc = "a141d52ca86b9d5f9aaeaabedc4fa61568a329ac5bcfa56bf3a0d4d15c806c4b47b97372ae44e58b24e48d71d4e560a38ac012853badc47cc352705e96c3d930";
-  sha512.source = "77192f6ab8a07009f3d006489575eed66cd53c9c171efca060404df11ee26e053856e497bd2fc128899adddc9ac4f2fef80c569faa3ec67350ec80b8b111c4f3";
+  sha512.run = "ac5e26d91107bb0166040c990e586b6504eccad7da3ec084a49b141a1e0fee2725939f10deef5af1c4fe89396bc8fdef86f3bd2e8de9099cbed9700867700e8a";
+  sha512.doc = "6a22b10f5630a52ba85d113ddab8dacae0ab8148f62d4f9958bf3619c2d88f9a1f3c9778e41773d7b9d392ddc4d6a30dc3cb995a24072cc60b446896ca48707c";
+  sha512.source = "48762603b928b53cd9391908f2b0497e766ab516033a246aeeed014a99cd09a6e18f1feecd107067f58e3ecdad5ca37b4004890c4ec2e4bcce7e5f67e6d03724";
   hasRunfiles = true;
   version = "0.77";
 };
 "cleanthesis" = {
   stripPrefix = 0;
-  sha512.run = "7d60dacfbc66ae1305e58497871d1895734288d932744eabd59974221f7ee5d9f52eb4b9ffe8f722714128d332c85b92deaed0cab27a70c25042d0a3b142c63a";
-  sha512.doc = "46da07fcfcde56d4b8ace8aaa204a58129407a19648ccaaa7e309bcfe4cc9a08299fea22184cc91011bfd844e6f06dffa8564c927159107c00f1fef57bb643e7";
+  sha512.run = "0f12e2eb830014bd08e742ed6dbbc83f9b6d17141a4c0a6c00934ff1d831ab7a9e9dfca6931f5842284845435593449b11b8ed9cc29c7c607fe4df14c2b11d7a";
+  sha512.doc = "6042357f473bf4bce302b6f43d67fadcf0f449a3f1b1183a26d4b04375d60013eedc7389b002c1f0ed62ab1a8672735774d5aff0d7301e9a5e435080a4181c65";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.4.0";
 };
 "clearsans" = {
   stripPrefix = 0;
-  sha512.run = "e0e8f2a05748cc6cf5ab97d4be02d2694684a74fbeda56fca3ffc4210422d348c57936aee9b399edfb53fbbdad64168fcd58ab28141e472a618d2eedbb117e36";
-  sha512.doc = "4f6589aab2b4d84131c6ab2f7c158e42ed75b6950d7a7dd41d0028c939a1e0659603f33a6fcb802333db030a0216b89326f946dd9d642693d66f4566f9e5d96d";
+  sha512.run = "af8b236f99abe2d0da1c0beb3237918649b7fe1d76eedcf1a5c409d5bd9fa3c89c6dc59daffb787f3e41aa3d45aaf3e78fdc2f7e67b376d958b00cdd111a57f7";
+  sha512.doc = "cdf49149657826202661563a01ae28a290b8fd9c7fd2395c1822bdf9284eaacff61781f5eeb0561c76149559614a59dcf0d03b765c4ab60151739f92031dc2e9";
   hasRunfiles = true;
 };
 "clefval" = {
   stripPrefix = 0;
-  sha512.run = "6ee265323f21486a57975543d431b036bc0347cc598232d96334bb1649cf3850e773e1108210212f2e0b440b8a4a39d6d8f0f5835ea930e4f3e5a407cbc54c36";
-  sha512.doc = "270e7e78fc901fc74622c77f86079e042bc4a035e07121e4e81f9e06dadb2d82fe4b6402c636f5be0348fe2ce1a49cfba8bb7f353914a9ebcaf67e73425c96cd";
-  sha512.source = "aa89dfd1e6c6426e6ce6df27c4890501fd82401b8d7a455cebcdbed3205f361af8c417ed9d05bc554931608becbdf066254195eaa89c68e21ecc9abbaa92ec38";
+  sha512.run = "8bd7457b6f8144982781b029500db910fff387f3872d09039a2929c5e62dd7dea56e22cbc40036519cbb2060ba62bcc7d621dfd383493420a88699660a796e03";
+  sha512.doc = "5789c53aed9c4bbe92e8c36f115cf63e07c7e7c35c26d62ba2be41eff8408c8e60f619f565cec1fc0e1ed55f2c571ee6f8115ffc2e88d9917fff085d19731694";
+  sha512.source = "119c560be9538b97bdd4366e8ef59b394aac864e54554388c98b7e5ef62fbbc0f13c4263f012fa6842081a97433caa318bc2eac6aa10c4b8a8f433ddb3f02090";
   hasRunfiles = true;
   version = "0";
 };
 "cleveref" = {
   stripPrefix = 0;
-  sha512.run = "1c5402b743e035fc2b903f4a3890c82d108932cd302ac54165ae17b2a3231e97c30fa6840833bf5c89c408a667a69f73e0e8fe614e7f8e05b986998aee5c6278";
-  sha512.doc = "da89a6208341219e452f56ec0c1bf669e85bc8628e5ff0222887efddfbd702a2c1cd492a8711ca70a2ead820144efbff3830ed10f4d600984f5de97a7aba29dc";
-  sha512.source = "ee718abdc24945923284bdf4a16ad7dc29ac8185cdc3f35e180b3847af2646d757ac8022315f133864afe1537b10588080195fcaea785166b081eb58c8288bcd";
+  sha512.run = "669e122c22c55c1fe95353533a2c35adcd161080ab2e4f3120dab2286b60df316f4de792e9a6fe5b971d622bc2b087061836a3c0aebaf0bc5df17c854f64990b";
+  sha512.doc = "3885fe13cd51967620f1e48a25a82c2a4916b07ee45c963dfe9ea933a920f347512cf5c30f29ccef9c49c3862df4c9176fe0fa57b1043d3ac230b7cd8b3f8d78";
+  sha512.source = "71a49c96a943dc152cc1621e9e0ce1d0fe62762fa51f670ecd4a0e5a3613ccc52d41db355cfb0c31fc81867bdc07c26acd3e9ad74e0209459a099be823df2308";
   hasRunfiles = true;
   version = "0.21.4";
 };
 "clipboard" = {
   stripPrefix = 0;
-  sha512.run = "f0b8c271c286237b90e3b10645e906735b78bae879154b184c7ce32554958148b42550a4a416f68ddb494cd788565e79ef65e9eb76c3eba97a82cafd93ed49e3";
-  sha512.doc = "d3082aec1a2090c2d2a9260d367465d7381af526510ef59dbadce2039ae1c0e4b9a95519f2a4f1055a85381645c88a72d14133eba5c51b2e582c26f5b7a2a35d";
+  sha512.run = "19aed32c2dc229852133a44fe5ed692a0d3194d374cc77e2301314b3fff929b834fd4df82e811095049e64ba127180eddb77fcc4211aecd2db40e8124a38d55c";
+  sha512.doc = "50e7447b35c1d73c1d36bab165a8bb476764ffcc4ed7994e1bc63c6759baad0dd6c2c1f6a95334c7bf649dd13c8e79d17ec536120f1112d621e833b6f9f80578";
   hasRunfiles = true;
   version = "0.3";
 };
 "clock" = {
   stripPrefix = 0;
-  sha512.run = "03dfd63d161abc344749c42a97ee6579726866614f1e65d0e47e96eb016b4e8b763c3626ae74300ecb3b34545c41b94c211fcea13abba5392cf0d40caa7ad22a";
-  sha512.doc = "1dddd2b6c80c7badd7a10ec93c5908c7395207505242cd2a4c826d9e4e00767c9f79bd701e016d6bd8c6e9015306a02311460263d4b08e349e40147bd49d336c";
+  sha512.run = "ba378fe241cd2e51b641f0edc4bdd1403477b392e0a22363bcf540b513c1c15b1c0e3ab37020aa77ec147ce59cc7ad6f09c86cadcc0a77892a1a798c36c411aa";
+  sha512.doc = "d06e263266ab91b48ae3238af6ce283c7f720c2113d95d10c7de6026b4557b0fcb22aaec44caba2f7ad743e578e9840da1b116fd3372558d545c424159d8f2e5";
+  hasRunfiles = true;
+};
+"clojure-pamphlet" = {
+  sha512.run = "a420e5548af550ef91103a82c5bf8e43345abfce69bb438d488ed9a3a62db1e6763ea1c17b246ef307cc62d28b5c575b5da07d5857241e21ce7d789e9a2a055d";
+  sha512.doc = "23f6cd97dc5d521689555ec95a695db0f9cae8873d28e2bac2969f07e9e8d2f7ca9a6c8105ca127da202d811717b3c1f4219fe15f9af01036800a083f065cd09";
+  sha512.source = "32f90dabd0e73206930f589a97e8630c25ce2f95f1657d08ce71cd36241bafd6c2a79c483805f7574ccab29deb478d1ef8837fdf2e922592e6d8f18f43121a14";
   hasRunfiles = true;
+  version = "1.3";
 };
 "cloze" = {
   stripPrefix = 0;
-  sha512.run = "15bb91a94ce187d17a3dd8d714005689cf9fcdd3f0994ed31f931927f79b9e7b01c7121801f80423f3883ce5cb1e76c8876d97e72e43b017ee678a4f11a006bb";
-  sha512.doc = "66aac2115c6407af6642fee3d5386995b3c32efac87f8c013464ebd9537f4e08b7d084084477d387d0de7d0e5b933cfd121098a13c64816bd64e8a9f93863532";
-  sha512.source = "6e84a3b7b0d7dbc35e84678df95f6d8bb1580c8ff9a816e5906091136a64abccd063a82781d6d3aeaa9917072a24ce157c1ca5f8aa331b809be02a4a1ee6cf1f";
+  sha512.run = "e66b5d9086d3d6ac39c0664cc4906b467413b919a64538371077bbd9088d80ea81276ce66a64ba29040068b9b73ec5990a7d4422608ce85b0d94e8b2ee3bdce2";
+  sha512.doc = "c21e8561c296efaa8b4c30044f6121736d58a98d910bf671d11f1931d29ddd0d626bca69ab6f50225a3cb588346877b76ec43426822a869e72e266ee5d65cd5e";
+  sha512.source = "fe68d18164ef34259dcc42c4ec395b929c92d3758a8c9e911c2f20a136c2807ed229612db1efa6cb02704eac6924b9ac8b98742a546e271241013245d855e50a";
   hasRunfiles = true;
   version = "1.2";
 };
 "clrdblpg" = {
   stripPrefix = 0;
-  sha512.run = "21bd4e41fe6d526bc2a31c64f52f784159bbdf1f57f9051c1180c22541483030f74b41beaa1cebb9315da063c3dc8ae58b7ce42e9b14d06e81d1bbbf87790166";
-  sha512.doc = "395028b9f523e06fd61688e3f6a31a1b84e4b32d5c5f66a5fd8d112555f7a13458bc6b32798b4a9c9d6670f85f44f73f925a0c63866f1ebe351eea239e912c1d";
-  sha512.source = "8fe423e789d79401be5d15d486c1d770c342ed31d944cdaff6f1c96c0485be580685fc9f378e14f8d518587161efa8c8373328e4a485e8788e3a3e5eef883cfe";
+  sha512.run = "bdd3de3ea16cb5d24879bcf2255bbe01612f8af70f663b9ac578a4ac98910119ea96b8a5b4a59d25c0406c1b33786997ee2940da0273b025455e334b48f17b7d";
+  sha512.doc = "53ba8c83224ee6573cd1549e7e425fd524b5caf65ab139b67e7de9b32bdd5c3c87f5af63c2c43696554fcc33c8bff4690373ad25582b23bf51134b9cb6301409";
+  sha512.source = "8663b5fa032e10cd77f4f526d30fd16302fd31c1e5ee268d815de3d4b9aee9fe6688e5c94ba50f5d0cb2bb11c03198401bb1a3bd03c431dece50dab65ae3d638";
   hasRunfiles = true;
   version = "1.0";
 };
 "clrscode" = {
   stripPrefix = 0;
-  sha512.run = "78e77750e9d78061506e6234f5132b1d2e38c4737c1925aef8e50c3da3720d219bed1bfdcc2448413ae22a237b3cb9917ec57ab63a2a9cb60a4f7ff7459a7e41";
-  sha512.doc = "c01b6a52de1ffb9bd13edb0dee69be08858d0aff29ce80a49ffc087b522df2be60c8e77ec4844e938b05de4bffd0f40b789d0aa48de0731b5c696170a863d7da";
+  sha512.run = "c26ac99b2f097b3b9df8bcb3ae040da959c0bd238be75a50b3711cdf0b7b0024ef40749169c0fe0437aa8c845b3ee9c9ec4ab46fe31fe6b1e28019fcd4779076";
+  sha512.doc = "b74c858703577f79c89b4e95a0fef2012a756defda525c25f2945952b6637fba7ae4c30791a5d566267a16627bf7ce991c4edf726f7106b27b2df3c2b81eb765";
   hasRunfiles = true;
   version = "1.7";
 };
 "clrscode3e" = {
   stripPrefix = 0;
-  sha512.run = "1ac50ca797a0866fed9398dd71cd2cd7d57fcf9480e06bb18926bca216bf6c13e7304ce1f9b8939ac4883bd7c385b0834b1e90318a7325a7ac81024fe543191a";
-  sha512.doc = "927de54698852def8741ba1cc1b104aaa90effa6cae0915f4bb7e3cb86a0ad94beae349c36aecd4c25f15df0c21035cb699bfbcf49579cb9815a99068d52cea9";
+  sha512.run = "eb609d4204f9292b387fb8ecac13eaaad77e1d32870cd29f4996771acc5f8e82560e3fb9dcd2c8284888ed55d2b7bfbf931b50e01b0e4b8790c2ce5ce4445588";
+  sha512.doc = "0792d458ee46b44d37c31a5bbeaad2257ae1aca818ce33d0b1c8ae96b7e90ea6e06e9036ce61063f232c3829ec36bcef58f111b5df0b25d209e867ac53d322d1";
   hasRunfiles = true;
 };
 "clrstrip" = {
   stripPrefix = 0;
-  sha512.run = "121553bb3e2b4a1bae58aa86816ffdba87909ceddc8f6b37b2d4320231a9159207ea296aac7c854ead99f4838e62cec51968fae3204ab68d8f63ff71ebd7cf3f";
-  sha512.doc = "4867c26010d526d9eee20e4fd8514ecc6aaba9f254de1e45a02112b74b46daeb38ad8be9138c74ef90c5ad69769784e23e440c60d051394b1cad277e0689d8b0";
-  sha512.source = "e783148b4f588d09c0b72b475ff2d22fbe7106ce49c808e28556da12a16154fdae5f7c7321201a873fee37ad10b0e2a251e110d271d93698ab66865b0dca5ab0";
+  sha512.run = "bfa316a11232b3d1ce78641dda962918788186a7e164cb49829aebd187c72305adba6cd51285cb9b36f9c31d7d0b4454eabd488038970d79132e0c941e989c75";
+  sha512.doc = "a9d7648048eced494766636395fe99177a47456d61fd3d88a70006c718b259f7cf13e39696869230c098d696f0c12e505a4eea33201e2414f6e1833468eb1648";
+  sha512.source = "f63197e26dd88365a5c9af83f37ecc04281fda2362bfc79e29d35d37ddb4d25892a89c7a721cd04ab9286ca19f382d16c2f2df89a5242f12862890f177b8f6c6";
   hasRunfiles = true;
 };
 "cluttex" = {
-  sha512.run = "ae4c45d88bf79363a09bb670d051983ceb8ccc9bf3a14ffb33abffd737b737cfe5001f91d7326e0cab3b3d030a30afbe9a715bff0fda01cfa1646e11d3c07223";
-  sha512.doc = "6660247cc48ae83cf5c48f91223aa6f0dd63cb871feea536e1dd32e773e00c096d36faf707347582e0967040516f769fef39edbe546fb8409dc619b4b75bf677";
+  sha512.run = "e6b721b8220a7196d0baa93878526f76f8ce986ee586ae8a31344b674061012a644b2d492ae7ca4f896bd90648a3786cbdb8965b8e25695eb751fbfbc6692ce9";
+  sha512.doc = "904b3594c4c90d906e7ab801a5d2bf5c3297cdc5a05ed4a9fe3c97ef1330b45e357356a27ccb15d3deb76d98764550da6e84d0f2f9a845452ed382f1a606a50c";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4";
 };
 "cm" = {
   stripPrefix = 0;
-  sha512.run = "ea93b0e74fec5e00ed2d3ccc4493cf2bbd747948da563fff3ec34ea5fe1c58b7fb30ea4a1a78d2ebb08e69eb6e3ca1050a66011c42d00a4f1fc99dbbe8fa20f3";
-  sha512.doc = "e1a396b39bbc8a9aa28d904aad10dd608119b9d4a786f834eb971ecef45639d5f997ac87fa395cef00818b01dd43a8a8b5539c2476cba35301b0bf84eaecdb86";
+  sha512.run = "e939416545071f5c445d866255050cd4302c3ede6af1e080909a68b6e4327ace1f90af4677c68c18d1a85aecd4d2ff346e13670b0be59c76e11ef6334991aaad";
+  sha512.doc = "d27b43854fa022de53379a84087657bf97ce5475d70f98c783f790e320d78daab2f002f49f3dd917224d30e308d78dcf0855325b39014fb0fe5b50d645c9b9a4";
   hasRunfiles = true;
 };
 "cm-lgc" = {
   stripPrefix = 0;
-  sha512.run = "81bb2ff1e126d5e4d4dda698885ea65a2931bdfe0d2b2f504e0af4d4b40f95d8d2cabc655dab5ae0659db4efb2c298b27698368871a4b4326ed47ca4b947f949";
-  sha512.doc = "d2b09136f219bbbba192e68c520ef9e504fdcc5d9d2d60ce00f6a8554882c747b026b6e3049a877d537c351dfafe0c4b24c7b4b047fc88d5c5d1feeaf5c6f163";
+  sha512.run = "5fcf591d132314d8ce160e3070036f6fba56962ed40d8fee7b58b0e8219a8124bcf380b1be4e943209ba230f05cfcd374c96e3e799695a018356d12be3215760";
+  sha512.doc = "eda2082e865dec858a010b757a2d60e0be9526d2e5f2c276d1c5e8d386a71f4d7631d1af8dee009f9d61e0682904697bfdc89222863499c8e1aca2b11d0f3ed9";
   hasRunfiles = true;
   version = "0.5";
 };
 "cm-mf-extra-bold" = {
   stripPrefix = 0;
-  sha512.run = "08e326e1d9a550083459f1aaa3d17330509565f7bc9a42955a05def87335815dca713592ce77a181894a0e3846cc30c913b0c4976335c98991f1ad322e3bc85e";
+  sha512.run = "c9a9c5631ce016112ccd37ac3325c753e608bdc55e1de524742ce81f1ffa6c53ad6d113346d9d90cbe5466fe301d27050d40bff258678df840c693987afaf6ad";
   hasRunfiles = true;
 };
 "cm-super" = {
   stripPrefix = 0;
-  sha512.run = "e779df1211337be41aaa36c25881744f94c9aa57fa87d854c9edc965cbb65579818aa9129dceec9d747f3740ead0c591c4f93d0a4609e59376ad53234df37ede";
-  sha512.doc = "8b12ff0a2fe86e7daa85f278cbad6014f2ddb2f8e8a7831b6d86ee2d550bd6ea437ef9fe68b6815a3ddeb4fa2304178d08122c197951a5e739009746ae072d7d";
+  sha512.run = "45638ebf4ef2ffb7c4b74669ea089a9f8d3ab4b98e555b3f9b2e9bd9732b48fdba61dc91188e2c8962b8bfa3caaab31c10d1ccd3e0aa9e26197b148e59576f8f";
+  sha512.doc = "5b524c55dbcfa1db87484d3437156ca9987fcca66e2c2e6d69e562c48ae708e51f089051524f324cbafb72a29e08f90e70c408d7fea7341e9ef0b5d53288b7d3";
   hasRunfiles = true;
 };
 "cm-unicode" = {
   stripPrefix = 0;
-  sha512.run = "b1b48d8b0ad636cdbd2d8d9b24d2d83cf223df5b16bea3f3935ef2233120ea7e77261baa17436b0e3281c9e6a285d180fed4c6f566e0b132efd90489021158f1";
-  sha512.doc = "d2efbc103e829246d5e771f0788bfd491c6b227927bcff6d664acaeb14763a7b83b9bf1c0e8690356f57723488cc9c861e6c3e401f6760109f6e6763485e930b";
+  sha512.run = "b50e647db3be42cb8bc7f1df849590b4f3f8856523c57d16aa5b42237a3f7fbd381ea5f05c1337091a66fe667841704133828141eb8c40e50f595498949acd65";
+  sha512.doc = "162e407cb299b1a4ee353fcd0cee7eee048f8356def550d591630f12924b4a5ff0e9d6f9a0652c3dee7a88e5c2521b0c23ba4549bdfcb21a90c1949ef566183f";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "cmap" = {
   stripPrefix = 0;
-  sha512.run = "0cdabf9c300accc209c4632683f0561158d79bd78d2dc24b26a49ed074647ef5e0c4fde5270a44bd038138dddf8ca63263f62e55f7236dc106e47aca2311bc44";
-  sha512.doc = "050904224936e112f17e11d67a3476cc817e8bb5b4ecdbda3a6ca2600a92e94a416c9635ec071f779910695eba64b6f1ba1028cea6b00070e69d51c731bf6d09";
+  sha512.run = "d907b1483bcd8de1b2b3158ad1a90493e86a27bd60f3ea901011866e81d57b22a555da0e54340f77ae9584aba3960959e89071330d035671c549e887fbedbdef";
+  sha512.doc = "c3ca940f836f5c5e433adedb404d3f1033d8efde61bbd9a043356889377e0914fe9dcb8cce8c2b9252502de6af3cc1a8bd71dbfc61e12446cc07bc9d5d2c2668";
   hasRunfiles = true;
   version = "1.0h";
 };
 "cmarrows" = {
   stripPrefix = 0;
-  sha512.run = "ca8293dcfdbe54b240e20f59981edf36f67de9c28ddefe968bf344bb2e9025dba3aa9ae080d9e57a615590c611daccdfa5cbd069e363ffa45acfb33f3c31b560";
-  sha512.doc = "548f581bdf1b440e1c558c0589bcc9d7cafebb65c6cac470a29c6fa46a6734711709d8258e532bec9892b16b4772828fb1985655b2af34aa03f03dfb1c27e650";
+  sha512.run = "5f56f9ab77b2f250aff664b0007aa17eccad96d6f674ae7417f610b62d84123fc85bc80cf83948e0df2a7bfb721300e149fc764b03638e5005cc4832f2fa5544";
+  sha512.doc = "0bc738eb48fc34b7cb35240622925d43e5ff5fce21b1c560158b2ceee2790a284b33816fd192a5b0161544ee5add98f4e3ebe7dd0165273d53e5ea2de7d994ac";
   hasRunfiles = true;
   version = "0.9";
 };
 "cmbright" = {
   stripPrefix = 0;
-  sha512.run = "9d935fc8714aa891367f8dc8655add435337fdbfad83eb3b3b7cd5a5a797133e2a41ef0d8ea1a4a839e2c92c9f81f0959c37a2ca3ca3354740a85de407204241";
-  sha512.doc = "eefdb387f8abd7941ed945d5ce74cdd7614dfde26a5c0af52b8711280f9beecadde5e130985c9f6abdb663ab0e683d80f905c93c86cdd130d8004178b173205a";
-  sha512.source = "246e4f17c133af66ad84d95d78836cf34472227908ca62c55ebb2c81a1ec94ff16cfe850885c40e893f8d5b4ca3adb0126a9ba4e4b4ab2420851a1a4615ae4d1";
+  sha512.run = "3251c7ce9f139a9e553e3cf343339367e98e6982850ca3d2a2087efe5e26f4828597e6f5c1ac85567e81897a09239f5be717a6a85d04b164442c9c5c53ea4fac";
+  sha512.doc = "7add06e9502ab0bf912e811afbb66caf7ac83d60b6e2575dbc75709438ce6252239a43106632633e2d90b2badd46bb800533c496c811de7316cd1766456058c9";
+  sha512.source = "5824d33c26e94cf0ec8d2b69d0c80c715a68ef98ab5e2025c84fc20dcda2be4b89125dfe69400f2f27d46b773c5a3918af533cc2c25fad01694776bf5a546879";
   hasRunfiles = true;
   version = "8.1";
 };
 "cmcyr" = {
   stripPrefix = 0;
-  sha512.run = "52f0e727f4b1d53b5adc196d20419e9b97d70cbba2fe477aae86480c26d835bc3254e9eb402b4bcb03f0e622a30734a3d99e530c7e15a137493ce48ca5ec8614";
-  sha512.doc = "1c620d7bff899141fc6ba221be566a059ec412b4bbeab3e7a3f23c8efad36bb5eff460ea5ab07f0d507124ea72d318489a5187302815d7a11e9454b9fdad6a13";
+  sha512.run = "452551d8563b53408a058f847a4a8d3738ac7f0de1da15aea05208c030c67f904b848d71bacca2f6f5ec3e882cdf0be58a4037ed7dea7c7bbd2aeb08776427b9";
+  sha512.doc = "748c60e2e54f49bc6afd2867574919003ad6412d721613dacf6f8dc48cb187ca915b1a5e7286a47db7087fe1133c8ceabd998a8c60b91e4d60264b6fc6253190";
   hasRunfiles = true;
 };
 "cmdstring" = {
   stripPrefix = 0;
-  sha512.run = "b9c97612aab11be19f4e4e2cc6bec679351c6ef9f7ab98f8eb5f7dee1a6a2086dcab59298a81e11ba027de7405f56bd123d81eed8464646813406b22cfa54243";
-  sha512.doc = "899f447a252751fd4e5101d8e0544f4b5539b3dae10f8447ba3055b33a3dcd99b4040d266033be0459d5d3fca9cb349e851d07d45771ff31b9fc1bc9a72b9d18";
+  sha512.run = "b05a8f8d326a6546b7c865e4cbc1afdfb0fa50993f4ad5e3b3a1e1781be9ed7590e1dd17b18d58f8a96c83aa2fe6218328b2df3e193e2dc7923d051374ebc9ba";
+  sha512.doc = "c102fcd054597d84d98a4f74656f36a9e1aa53623bebaa4ef39f341ddb889062a0e0c705074a4909bf50ae3cdc9a0e0da06fc6b12fde10bcaf5391fe6c792818";
   hasRunfiles = true;
   version = "1.1";
 };
 "cmdtrack" = {
   stripPrefix = 0;
-  sha512.run = "bc0742c601e2870fb361db3cef7a334307b41205a17e681c63c783e0ef17f2f86477611d7b9b54a975c2fe136d5ec9577a1a8b7334f8f9d7e4e0b44f9229ab97";
-  sha512.doc = "5a63edcc2cbfdc77eace7fa874d553af1fb514dba4b0826643a1e536d509c847090b0390b61b3e1d87757ecf123afdd7e5528f25b3fe3300061db5261811b97c";
-  sha512.source = "c4d7128340c8d05649e4274eb8eeae5c9d550350ab58bf9cbff8e4ce074698c4c782a107418b2d1e7e6d7568ad70353cb8a0da367d1066b4a0e862e0c844dd4c";
+  sha512.run = "22de643d5b45f3898a1aeee44ae88594b545af34bb5bdac937753c13d31071872a78935dc2c73fb22c0e591d164f618549a2bd67a00550f3fb70753a951ad4cc";
+  sha512.doc = "2a69b054e1de07b31426e653af45125824bd037cf5a24fcde1f0fe1b6aa3eb925688959aa84094ecc65954b92030e1b78545db18f08a39990c4412d487ce2284";
+  sha512.source = "c6b02dd165bfb3ab40ee05aa3ac9df74faff8167de021495fb08e0d173b83f75453915a634d81d260d4739166b2e5a519b8cecfc7807d25f396c27c5b65f58f3";
   hasRunfiles = true;
 };
 "cmexb" = {
   stripPrefix = 0;
-  sha512.run = "7c03e073ab795f009aba3891bca161576da870076552d4f41922053875fa0f980dbe04708d0487eb3338799c0e2070ea8f8e0ea74e7422b60c03e39d9c88cac6";
-  sha512.doc = "d63d244445426262c2ff79ef7267d78f2e24d1f884b4f5df8884061b496091917c58aebe74ee198cd11e16653627068a68cebe123d93606adb9e555219831043";
+  sha512.run = "1d5a3b2ee73dc85c2e19e7bd8bdf0eee0283ca161ecd42dbeffe0443849e73e09113220ca6e09039c0daa684b2f372e0f8b13bdd711a937a09cb8a8fb63b4593";
+  sha512.doc = "f833bc57edead21d4fcb27c5822849f26cbd4b434bcd230bfccb190c94c47d2eaaec4dbc9264c6a55ba24b2571d2607197abfd792423e03b7013c478e261ee6d";
   hasRunfiles = true;
 };
 "cmextra" = {
   stripPrefix = 0;
-  sha512.run = "e826041c56126c2ae2575c387c80b683da50bdf2e8ab4e74be708a4d57e9d0d37e66ddde750acc26f9765308a6a2582e51281ac0969d1487a53ae6e9e02b1788";
+  sha512.run = "a9cf3d6157c6341de13f400bc496211912679702606d4e6c488231c41c4a70053791d031c7b6973ecfd68ab8e28c7d56d41a10492af7d8e4ae66b6eb923db370";
   hasRunfiles = true;
 };
 "cmll" = {
   stripPrefix = 0;
-  sha512.run = "24d78402c511735555cff903a001c92d6aae431e902f9ef31e8412303e9f13017483e65afd02edfa2cbf22b51081c0df7ad453e154432abe4226e9cd8d7ba649";
-  sha512.doc = "dfc86f56d8d5c82ba82b27e9ccf00d77dbf0a0c0682a94c7bea1279894dc3aeb5180d5e1e20942aa50d1b0b52f89a42fb588d37cfac7d8063633ee9e87613391";
-  sha512.source = "9c423b757856b6ad928be40fe0caf9bd20eb78b882cf0e95abfdcb9b7a77812bb90a2484fbe6c071c4c6dc0f2cbf0fec7d7117039f25670122e999cb092a9642";
+  sha512.run = "8470819c5a37b3d8d1d44aae53b62ff020087e1125f381e51ef4a639fd6b2394c3d6f15a3a86fe70e61a4545213059bde6fc3e9d06cd054e46218e90e64c0543";
+  sha512.doc = "71a7cd27a2744e8e3ab09b8fbbc514eb2e38d9740349139212f0861c67948fa1a98728acb1d22a4397fe95d8efd5c6fcb87a1843a1f9dbd0d161e2e835e1ac11";
+  sha512.source = "de17c8e0627408358ae3de41a5bf557d99abf76bb480ab28ef9df424d8b7ae1f73ca2e30f4eeb26ac9eb2dd36ddafa143cd49ce6618b2ca36fcfc6e22e83d217";
   hasRunfiles = true;
 };
 "cmpica" = {
   stripPrefix = 0;
-  sha512.run = "c389a7f4c9843c8a3d93d405f0bbe670646b8d3c058ed9e18ea6206b58692e27e40455d22824f5e48826943585189415ae7a092b5704b71ec86f9b41ddc068b6";
-  sha512.doc = "60234a925b7bc6621d5608172616662b1a54da0139af055ed06ad29dc17385d631c8ae616e5d8c06f54143c371cdcfbb2b9f50f7a3703ffdeebacdc6b3d733d5";
+  sha512.run = "2aac63861c3c1099054286647917f4ab594fd535de9d513f790cb70e8a38278ffda0be29656e1da57206c7bac21928cf5179bd1cc22f50e0f10d1ca8083f4b86";
+  sha512.doc = "7c6251f1c5090328c93f6ec224bbb6d05433b5471c6cb8b4d7f3b9ff05f9be8ad49587d24a34702fb23b9f1803ca3df3a638b16335944a9b2dc35422ca8bf9fe";
   hasRunfiles = true;
 };
 "cmpj" = {
   stripPrefix = 0;
-  sha512.run = "d73ade0f5827de80915d898085283504f418e54188a48de0372fcfda69f523591725e880dc7eaaa1e3b42edf734f9ff7a72592f8e816eee4697e8b83c270133f";
-  sha512.doc = "7c41b1cec435f83e5752be493dfb81aa9795caedf09c00d7edc206a51286b9f3e35f35ca58f99d185066201fc1a6e8adf3da04826efa2b7a9dbee36bbe7f6581";
+  sha512.run = "31e9fb352cf03797436bcc1cd0f3d16b2ff6234d6306770e940f59eb77392fe7f616530febc4b299cc52c71036358b203e7cc99256099093fbbd4eceb71af4bf";
+  sha512.doc = "3e2b162c6c04f409e1dd32ac4be59431d65e6b39e813e091bff0cbdbb9fe101c751664df8f83704d38daaf4c7c04db24b22e32a36d3cdf07411b73a1d21c076f";
   hasRunfiles = true;
-  version = "3.01";
+  version = "3.02";
 };
 "cmsd" = {
   stripPrefix = 0;
-  sha512.run = "1e294d125e21a242fa9a9a4b8f77fb55eb24f8f587a2a76014bef7a38f0989a26cbc6fc2085c504c99599eec9fd85ed17453ce874b72be1b969971b3861128b1";
-  sha512.doc = "2ca506522bada7c003894be5e39ccec8770942f99086a231e928a69866917c64a0d7073ca0d6ccef7d6f81117a25bf616b90a853b3be13e61066cfd72f3ea2d7";
+  sha512.run = "97e1830bdbab04e321433f43e14d65fd2e9820d46a6fb3616f2cea38a54208e80e1238eba7b5cfd20137f6e3a3da3a1586a7caa3e0a495ed91235a05120d444c";
+  sha512.doc = "f9994a39f6e14f40398abacfe0f4c1a9cbd71d7b55c29787105fdbf8212953fb761f1696cf35196d446b9905a967d2908d7e41e7742e5cd7dd538ac0e7d3f5d0";
   hasRunfiles = true;
 };
 "cmsrb" = {
   stripPrefix = 0;
-  sha512.run = "a4fb2b0e56703cb5c9085612c19490e2a4fb2f178e8ed76fdbcc0d272cf8bf2b2dfce8f38bcd7fc5edf0e01acac6fe0fc4c4187373350052d9d2d87a5b3f1d29";
-  sha512.doc = "2d3951728a59c37b9ee1bfd252016fb2bd3786afa073e0c91aba3275f0398d440409026c0f9212fdd98ae8638465604ba7e2fd2c518bea879409ad37929d369b";
+  sha512.run = "71114f560befd3f1c7586dbdde38c12b682bf1eb73019d874b1a55e89ef9829786623ad9f53d2dad99361dfac09c9ec011dd7018d07f48d483463219df18baba";
+  sha512.doc = "81803d7ab7c220b64684ac2c7bf3b56ced62fafec33e5ba2ed2ab2bfcc4c8abccfacb5614a853fbc1ad0993bd6f221b41ddbad1c494558fa3d4af2c27a51eafb";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.1";
 };
 "cmtiup" = {
   stripPrefix = 0;
-  sha512.run = "1c274436a9ab1d3ec8bcf73f48c6da7874ba2bfa3e3a2135366a1dbf9a68b1ac30245ad7ce8c10c277be44276717aca04b2061a3643debd22d6a6d9722f85977";
-  sha512.doc = "e96081797ddaab898159e3dcfc68a3ae291a87bc7f1ff03a414d783782ed356c8392269466c35e49e011d7f0d5265d0185720825dbe7bd0aff76432b6f61663a";
+  sha512.run = "9412576d07ec490fda4dd01445f28e4b966d2664a81e5f44a574019df1eb4de4189b8d06edf7a1a3b57e8ade129b57c0147a96fa9b77337d9a906134e33f2067";
+  sha512.doc = "aae6105fc9e828715193bc4d251210f23ce6f4c4d703c79c244ff765a377f90055188f8af83e705da062cea8db8bf6b89beecc488cce32d7903fb7fb8c4bcad9";
   hasRunfiles = true;
   version = "2.1";
 };
 "cnbwp" = {
   stripPrefix = 0;
-  sha512.run = "d2960b30958ec42658db52566a25a02151e5f42f97c4f443ce8da3680bb5cdd39d111135c53f627ed5da592148a4b9f4d59fa2cc737afd9a29a76953bec68be2";
-  sha512.doc = "294b3a07b195797165fc7c858ccc83efd373e12392a9a0f6fedf4ff483d1628241de3911032a8d4d97bfc0c5673465c7512a83418ddfe561c6916af477e0b3ac";
+  sha512.run = "31c83774160e64dadc95afebe830ea1aa7c929e48f611cf5c9742cb66e12a3dd459928c85ed1378460247241fd4f007145b002ae7aabb88e773779124510c86f";
+  sha512.doc = "d41f72a3c5482b1ec50f1bacbaf8bed5f926c5d522ab5e3574d71d68b2d7c63e20fa1df65962f94e53b70f75aa7dee5337d064c212990c0f3351c30b05b567ac";
   hasRunfiles = true;
 };
 "cnltx" = {
   stripPrefix = 0;
-  sha512.run = "f1d5ab136f37882b921acd100eeaef3f25dfaec6ae2268fd2076ad24caee6af9ef7355970373eecf642de019769e79a8471b60decc97ee67ea7b72725fb862c7";
-  sha512.doc = "f4ef99db83da007ebd65abee419df1dcfc5cf467e27219d7f4231b319ac87261fad9ed319e2383e43830f784e2ffba0b6abe89f25d5a8cd42d8de5fabad548bf";
+  sha512.run = "cbe777c4dc81f0798ba3d64844e65c84a7623611feb93a14e949375f0cda982d7a973fd662975edc51e508c0cd0d19f24e92bff112f56b765ad4378ae95b8bd4";
+  sha512.doc = "1af4a294f758889b8cec97cdc53519fa9eb360e590e5db96cfb25ad2d0d0f89b7b3efa6b6ea986e29819b3023d04f3cf50a0a2e583bcd6fd80a61dfcdbc5dcc1";
   hasRunfiles = true;
   version = "0.13";
 };
 "cns" = {
   stripPrefix = 0;
-  sha512.run = "54f74c716de52194d5bab6e95c6e1b7bb22b0d60a46ea6af04ab3859578c594415341ef51d88863fd188008d1326e4e9286afd40e2e7cf2c85278b1476ff65ee";
-  sha512.doc = "9097cd54f01a31f7299c0e175c646922d533a971a3e4e448b9fc2bc0e34afc13558bf22abcad837dffd7cf5ccfefeabb164cd4f9e8824d19505a76b6d89e77c5";
+  sha512.run = "0b3645da07e0fc9482cfeddd93f949e18dc12b6aa02e5a6c45669f3d5f7f25d5fa7ff4992f40b9b71894e21b5b1855999ba8e1b130be27e8b7001444ed30db0f";
+  sha512.doc = "264c64f2ae29bff96b428500af07a81402434d9422792a36ee0da74e9821f161cf8281d38317787c0db78109d2eeaaff4e62730855ae1f1e1f250f4173740d35";
   hasRunfiles = true;
   version = "4.2.0";
 };
 "cntformats" = {
   stripPrefix = 0;
-  sha512.run = "3c455761573dcc88c7d89462f4e65b484d6735a407fcbb3f950073fd163a2e8ffe39d884c7e858d867491918a5c4f8ea5666c99dad99a3c14e58c005d1056c8a";
-  sha512.doc = "6eadf27cff3aa010481c4fb33c87656baea8be9f89372e6703bbd446efa16fef87e476ca052e2176b1311983a590448d3c3c94de91db7fbf46bdc0e33e053ca2";
+  sha512.run = "f829d6452faa20a514bfe43a8b002d4d728b57e0d6c44de7ba8aebaa96d9a40fc0ac26ca6ef637ab9efd3f133c70cd4d5b9c81dd382ed8adcd5abd1b2fb5d6cd";
+  sha512.doc = "4d6c9b8ad41dea1e14eec71570afdeb28fb834191587ba964642628674526a5ac82d6ceb972d5d89e0faeb3fb46da26361dea45f8757523f58765dfbdb773a3d";
   hasRunfiles = true;
   version = "0.7";
 };
 "cntperchap" = {
   stripPrefix = 0;
-  sha512.run = "d12d7ae00bffde450674a4699a896814185eda47e41224e3ef286935c7d9b66426254e8d358e6f0a2f24c444c028534c3551b97f513d69807f0d250ceb3158f8";
-  sha512.doc = "2c1cc5064468755fcc11bc08ceac7baa57e2616b6e08bdcdd2cd90c6661f55a6f389738982c60b0b5ffe59e40a8f2583f228e7ebd7d924bbdf38b7f9caebbcea";
+  sha512.run = "ade4e6bbb00d619d52cb65549cb50f4ff9275d20a9e871ddee99064fb2ae0e02ba7d403bd6c7d658fdc6d542d7a32244ce8ff7fbe023b4fe292697584aed966a";
+  sha512.doc = "354ea40ce2fe4e543016970fe81745c151a53c182800e8b861006d7e1c6fff84628a0baa4bfad29a0b81c8d0eede9f31145e7d3f380953921a48f31c5b8d0a8a";
   hasRunfiles = true;
   version = "0.3";
 };
 "cochineal" = {
   stripPrefix = 0;
-  sha512.run = "f9617982409776e4e0fb7a9add456ef860c549e979ccebeaa54279273dc7ec85a8a30c9219228e2547ddfe765ac1d39926591c5bc9136a7acd602e4248936f13";
-  sha512.doc = "c4179801fb390d58070f6f833ec842ece3ce40bc954953ce628806fb185b5d7e9136a51d284ee278ce36481709ad29d63b918d509ed6c7ee7a2eae69bf535123";
+  sha512.run = "8f59083fe0f335b08c61e68bc5f4e747409e9514e5ae9361acfa001b698e14effc830ad993eb2e0b4d026edcdf918868959766a998eb35310cc51e03a5894ea8";
+  sha512.doc = "84cfa9d369a1a342becda4837617b14436e9ec9bbefe5fd446acde3f73292a306e705e88c29b65621f39590c1507f7619accdb505829b8441ba58110c6a47ba6";
+  hasRunfiles = true;
+  version = "1.055";
+};
+"codeanatomy" = {
+  stripPrefix = 0;
+  sha512.run = "0f7613af5e91d364d0c8cc3978ce5251cff4650bf5e187ef03606b9cf5294eed82751b8f7604583af5187b62f40688733a39aaaca6a022ddd0087ab610f8c978";
+  sha512.doc = "877a827dfd0bb9e79f80fa0a9cd7275a647fc4f0451af5c5a5253caee306f202a419f0164b2878c7a780176e018a2f1a3f8e9ec37fd8245997da537eefcd4e7b";
+  sha512.source = "9cbe9969e777ccbe711f68936798bdd28e570e6ed772ba3aa8ad54f083792cd725c97055859cecc115bab420f3a929d707eb49584c483a9f223d7ea7bb5fe388";
   hasRunfiles = true;
-  version = "1.049";
+  version = "0.4-Alpha";
 };
 "codedoc" = {
   stripPrefix = 0;
-  sha512.run = "5e44c68f1b76188d69e0b30d60fdb24d3fce04a89ec20a47f444d45331e4850bcfe2a00a6e4fb022f9f2bf755a4fbdce7dd62c94ea63ea7ef6b1d4fd3b26c103";
-  sha512.doc = "8f57b95a7d45de4a3e7be5885aed326378bed6cd5184f0db8286d3cd63078e6672fa69f0f12bdc06d0257ccd404fd61a296fc088f5cf6af165267679df111766";
+  sha512.run = "8dc006776f2a3f0f28aeed0450e2d7b714402de1939a92d1e7f1e0174a8de7e9f7099e7ae9a5de34df03613ff16800bde17f7cc90fa82798f30c775c10c655ff";
+  sha512.doc = "fa23f45c539ec134cff114d7252a4d96585168729dc33d0865f4976f94620a8d3c02fa21572953161977d893c7f311b0d15a431f74b8526d1de0680dfdad7341";
   hasRunfiles = true;
   version = "0.3";
 };
 "codepage" = {
   stripPrefix = 0;
-  sha512.run = "a215056b1a9ab958e5b556820b1c014b5188baab0c657df4dcc7e6a248953b30070cd1869bc055fabd37263721b32646b85d445d48356df301de0b8cea7c622b";
-  sha512.doc = "43ed5710eb08a73eaefa30d67a43f04a617a36ae0e1a2885d2c836748a5242ff6399b973b1d662f774be59727bfe7ff07ce195c15a15aa959a25f54dc878483c";
-  sha512.source = "c091f964fcdc18a0814962c03c035f3bcf14499bcf155639a6adce1cb0a137ec0856677d30e29a01f36d3ce55a1b74a75c47cf3a813fb0c2903bae1e80f52a19";
+  sha512.run = "2531186744ce4915b8d903e0ea49e1d3e0a6be5ab2db7bc2a5cbc70e675c2dd00104a677c08b7b7d12eca56dfc4b283c49ee599fff6d3460c6238f414ba3cb76";
+  sha512.doc = "b49ffff68cc599835acf436de3117c7f9511b362d821bdd8c18f0af930c5b717dc0bcd00477e6f0f367229b9d1f6dd150a8166dd74bbfbc2cfcb77ccf28cd8d5";
+  sha512.source = "2c12bf42c1aa818d5718f2bbbb07460364ad40f7bc4cf0676cb064a03751e1bd88be16fffaae097f5ed9c0793f60ffb93374b43f7b90acf8ad3cbc8f5d7b8b70";
   hasRunfiles = true;
 };
 "codesection" = {
   stripPrefix = 0;
-  sha512.run = "e7a49e9c41a66e95015a69a05a0e0e1070ce3ddd5391b8b24a3d4c45e92abd7a59fb9eb17c1fd4465fd73df0392dac2077020e6344a067e1706976ff6ab08736";
-  sha512.doc = "0b84742061fbab5d10222183f46865f41f4e1e3caeccaaa7b7ffb776fdb13e7d590b8b6cbfc48ec06a154571b46fab13f89acefd01009037d7ce17834946d5bc";
-  sha512.source = "8b4872828e2e9484e6cab4cfa90c94d09b8b9b7ede761a7c8c53768c4189054dda90bcaa9f293837eaa96ea39406583cb3d4baa4c11be67b6e3dbe18e0daef07";
+  sha512.run = "95318ae4933d0cb43226c714c8ff931aaa8e06cfb2c44c3929db59ae8336882c588e26268445b62f8da32145a962bae0030daff3d5cfa22007919fb7b13fd69d";
+  sha512.doc = "881e62381793f548d0c291141944d81e19cf4340f2c1f63916857f5702756e18d107337c340568d62de48fe2190cf4c74a8d6604f8d4843c47ceb7c59608c0b0";
+  sha512.source = "e2ca6d6cb96977d494bfa9818d90aef30a915dd4c284fb7e555e79c09db022819a6e1f825ab895108594b90b488e70780f268022a896feef7dcc1ab590fabce9";
   hasRunfiles = true;
   version = "0.1";
 };
 "codicefiscaleitaliano" = {
   stripPrefix = 0;
-  sha512.run = "9ec16f9aadf5f25e900a079d75fb2397a074ae55947b6db6c2cc69b4a7fd093a5f99745ba1ae87cccafb772abb90d91b7f358d96542831f16870b63ddfa50395";
-  sha512.doc = "1c13e84e246807826d7dcd377b37c6e76c699391b2c01732d9dd535043176f4e52e48b2f36ceac3e1b3dc63486daf5ea8f71ad18d6b5745de6b14e910b663a53";
-  sha512.source = "ed47b42a709196180cfa85129e70eef4628adc0ee48574041a09fa54586640fb14f4ec2f8dda733f8861d1af985cd3178020427931ebe4fbb11039dd68fb5f17";
+  sha512.run = "7c93841ceadbb7bbfc9846d281fdbd84b7f284117344e1c4fd984e746186403e9be3e2048cfca53f6690a1e20b7471224b8d30ed1358959053111c22d3f15191";
+  sha512.doc = "7b0c13252796be7d584d3e5dad65711229cf916ce7c8e89e423805183629f161b3d4e4f47d6c9488ab32ff8b52723b0fbc4252f2ca99e965f4d7c4409881b67d";
+  sha512.source = "8602ad1eee729a5d21d760da54f31d67746bc336c9e18d43b9cf3a5443afaf8099d27a908cc1cd9cc028e94b2173e97179cf293d5739244834817f0bc50bbaa3";
   hasRunfiles = true;
   version = "1.2";
 };
 "coelacanth" = {
   stripPrefix = 0;
-  sha512.run = "ecd5a439277011ce1ae74ca594e3cc8cd644a7c65f50a4d7a3ec96653a5445d47d25fd6f707661c978e7502b213872fc3c57dc26867473786c74b0839566a535";
-  sha512.doc = "03cb530cd89e0f28728b9d1cc5f6233aac2c3da9013005aad4b250b431d73d2010eb3982b4a57d8535330d3b461d2caab7481f96596a81d95edaa27bd089fead";
+  sha512.run = "12c3567797664581309fd1507003838dd14c217b26d5cbf7ec149ebd60f77eb0b126fafe41b612037afbf6a79ecbcc5b1047516199c9a1dd677d0b81e1a40046";
+  sha512.doc = "47da656f6952b769049f0a3a267ce5245c08ffe2dc3c7902bebf51cfbbf0fa37bcf6522cae8b6d4040ad112a1aae5eeab997c2d5d975c1b64d91aad21ff1d025";
   hasRunfiles = true;
+  version = "0.005";
 };
 "collcell" = {
   stripPrefix = 0;
-  sha512.run = "5c6516589bcf2810b967d127825a46b2583e292ac3146ae257db9e9c1145f1134aab98f0b9dff4b0163dd71bd470671e8b4cce540121e35f68a94a64f922efd2";
-  sha512.doc = "025ea516e02b2cba9ddebd6f5230f84be4ab45f107603687c61d8ce62410484bfdd214641aa6e1ad1111fb5e7577a79fa980775280549d35a2bf1a1d5c2d6b28";
-  sha512.source = "3d9aebd246a51c567ba21797fac308ea679a5e326d8a941c40b540e522c5ecff0ae1237bb0ffe4bf4141fcd663e866d0736fd3de9d5a616ce968f5228b0e6666";
+  sha512.run = "34a2fb5a5dc309e625e4c7d89b9e5aa9806d15d93cf0fec124a0505b20c6711bfa96b3f99986c23393632a9db1c773842c9bf6f10c01d1c4da8dcef2960df289";
+  sha512.doc = "1bbb4e70a5f5163a62f1b0b135f5601b4d9378cf2a5d27fddfabf9ee5e65dae7a94cb4cf63ed5e98dbf35cee550bd0a7b425f505d462eeb7f1e7035fe3c7664d";
+  sha512.source = "8d567bc14b9e6a8467da4893245efd56f7537f5b721b8b9c4300f9ffda5ab30649f7c0ca51f3673f786676fe20af948de63d1fd36ce2c3d0f9d217ad4e6bbad1";
   hasRunfiles = true;
   version = "0.5";
 };
 "collectbox" = {
   stripPrefix = 0;
-  sha512.run = "cc14ea810f9012c6d913b09196c97c3fb2ff80296af9818051836992bcdee871c1c4c429eb28551657761fe3f104d1a25ca987f8cd4feea77109bbb44332ffeb";
-  sha512.doc = "12e610688a0213fc090f725532d00b065409241ee8e626f9946a8b12f7e259cf76ad7474dd49b1db70cafd744520beed72ea8cf4a2a7f84ea95c5b81b15f14d0";
-  sha512.source = "42e060899e89cc264638650f65f05a308a4ac20b699ee9d28f1b1f3ca5b9d26e908206cce48cd115f18da20c1a4264ab3c586ce4897975d8e23c8b949bce502e";
+  sha512.run = "e530c630a905084a3f9c43fd54c45fc5d4af437aab887f15f5d37c40d3ba2a86c576ef032e723cf95f4f5dc46256d3e7bf6440545f68133217fb620aa2db8a65";
+  sha512.doc = "e2248e9825490474e545c1674d1256ad586332045e2fd5ee5dc84d9965d4df263522277a14676010085a73dcf00d822ffb29117338b3fd3f854b7b0d0ddb5c9f";
+  sha512.source = "d29bd5252e632573797eba99f70172659303d7342ea345228d2ed448fb1c1b6a48aa2448a3cae1bec26849241a5d3e19cbc0c00e777a339dad23ad2864dc5da7";
   hasRunfiles = true;
   version = "0.4b";
 };
@@ -4587,7 +4716,9 @@ tl: { # no indentation
   deps."gsftopk" = tl."gsftopk";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
+  deps."hyphenex" = tl."hyphenex";
   deps."ifluatex" = tl."ifluatex";
+  deps."ifplatform" = tl."ifplatform";
   deps."ifxetex" = tl."ifxetex";
   deps."knuth-lib" = tl."knuth-lib";
   deps."knuth-local" = tl."knuth-local";
@@ -4608,10 +4739,11 @@ tl: { # no indentation
   deps."texlive-en" = tl."texlive-en";
   deps."texlive-msg-translations" = tl."texlive-msg-translations";
   deps."texlive-scripts" = tl."texlive-scripts";
+  deps."tlshell" = tl."tlshell";
   deps."unicode-data" = tl."unicode-data";
   deps."updmap-map" = tl."updmap-map";
   deps."xdvi" = tl."xdvi";
-  sha512.run = "4c747f68d982430dcca270f4e61310adf7d2ec641a129b47cb8664ad50a55279af93b58b0eb04c2720066f4d30345f1dc13047a6352d29e148ca3866ffc50b18";
+  sha512.run = "cfe97f315159b9f5732cdc417b16c18d37443d13389abee846d690c13bf5ea0cadbce78b77e78154e6adc3bfbce1d049a8302147c5a9defa9795ba98637c04b0";
 };
 "collection-bibtexextra" = {
   stripPrefix = 0;
@@ -4715,6 +4847,7 @@ tl: { # no indentation
   deps."harvard" = tl."harvard";
   deps."harvmac" = tl."harvmac";
   deps."historische-zeitschrift" = tl."historische-zeitschrift";
+  deps."icite" = tl."icite";
   deps."ietfbibs" = tl."ietfbibs";
   deps."ijqc" = tl."ijqc";
   deps."inlinebib" = tl."inlinebib";
@@ -4749,7 +4882,8 @@ tl: { # no indentation
   deps."vak" = tl."vak";
   deps."windycity" = tl."windycity";
   deps."xcite" = tl."xcite";
-  sha512.run = "36250733e12fcc95038d7b8baec65a204bf8de1c83e598ed6e77101ee8ba2046fe8dcfc562b9fade39b806f48ea8a3a1bf588c6f6326e06a4014bfcb6de4c1e5";
+  deps."zootaxa-bst" = tl."zootaxa-bst";
+  sha512.run = "b1582ade8d050be6c53fcdec2a03f2c8c5d9aa661bfc5fba874221fb2fdefa8382eba0b6d54aa43eed6916349eb1b33a94c7f9235d49951438e206625d5c6ee3";
 };
 "collection-binextra" = {
   stripPrefix = 0;
@@ -4763,6 +4897,7 @@ tl: { # no indentation
   deps."bundledoc" = tl."bundledoc";
   deps."checklistings" = tl."checklistings";
   deps."chktex" = tl."chktex";
+  deps."clojure-pamphlet" = tl."clojure-pamphlet";
   deps."cluttex" = tl."cluttex";
   deps."ctan-o-mat" = tl."ctan-o-mat";
   deps."ctan_chk" = tl."ctan_chk";
@@ -4781,13 +4916,13 @@ tl: { # no indentation
   deps."dvidvi" = tl."dvidvi";
   deps."dviinfox" = tl."dviinfox";
   deps."dviljk" = tl."dviljk";
+  deps."dviout-util" = tl."dviout-util";
   deps."dvipng" = tl."dvipng";
   deps."dvipos" = tl."dvipos";
   deps."dvisvgm" = tl."dvisvgm";
   deps."findhyph" = tl."findhyph";
   deps."fragmaster" = tl."fragmaster";
   deps."hook-pre-commit-pkg" = tl."hook-pre-commit-pkg";
-  deps."hyphenex" = tl."hyphenex";
   deps."installfont" = tl."installfont";
   deps."ketcindy" = tl."ketcindy";
   deps."lacheck" = tl."lacheck";
@@ -4838,13 +4973,12 @@ tl: { # no indentation
   deps."texware" = tl."texware";
   deps."tie" = tl."tie";
   deps."tlcockpit" = tl."tlcockpit";
-  deps."tlshell" = tl."tlshell";
   deps."tpic2pdftex" = tl."tpic2pdftex";
   deps."typeoutfileinfo" = tl."typeoutfileinfo";
   deps."web" = tl."web";
   deps."xindex" = tl."xindex";
   deps."xindy" = tl."xindy";
-  sha512.run = "1a95bee35b89fb2fa51457891ebdac9257c236a0b3a6e1b48c8d8cd93bed29fdda24561b0ce51797ce50c5697e9e1540e2101751cb499cd5e294790c197dc7a3";
+  sha512.run = "ef80a1b88f05deb69f19d0a918aaea7bc761ce76744c161229cad06904168eacd53eb0f67de9beec245b417692e587b78ed4ce7ad36c7eafc6a38ccb30becdfe";
 };
 "collection-context" = {
   stripPrefix = 0;
@@ -4886,7 +5020,7 @@ tl: { # no indentation
   deps."context-typescripts" = tl."context-typescripts";
   deps."context-vim" = tl."context-vim";
   deps."context-visualcounter" = tl."context-visualcounter";
-  sha512.run = "0bf93a5f5e3a97db7bd92d43a3859b1e3b6d3296807c25d970e17b77e6b76203059b13bf89060c004f8996fa56276e1a6711eefb101a8663a3b6f81dd512480f";
+  sha512.run = "21aa181d7a3e8c16dbb30e12e30822d18db1386e088103a0987dc2a0a4d611172079ac12d7edd7f9d8923598c1532f7162905940846d6e13e143883bd735996f";
 };
 "collection-fontsextra" = {
   stripPrefix = 0;
@@ -4900,6 +5034,7 @@ tl: { # no indentation
   deps."alegreya" = tl."alegreya";
   deps."algolrevived" = tl."algolrevived";
   deps."allrunes" = tl."allrunes";
+  deps."almendra" = tl."almendra";
   deps."almfixed" = tl."almfixed";
   deps."anonymouspro" = tl."anonymouspro";
   deps."antiqua" = tl."antiqua";
@@ -4929,6 +5064,7 @@ tl: { # no indentation
   deps."berenisadf" = tl."berenisadf";
   deps."beuron" = tl."beuron";
   deps."bguq" = tl."bguq";
+  deps."bitter" = tl."bitter";
   deps."blacklettert1" = tl."blacklettert1";
   deps."boisik" = tl."boisik";
   deps."bookhands" = tl."bookhands";
@@ -5018,10 +5154,12 @@ tl: { # no indentation
   deps."fontawesome5" = tl."fontawesome5";
   deps."fontmfizz" = tl."fontmfizz";
   deps."fonts-churchslavonic" = tl."fonts-churchslavonic";
+  deps."forum" = tl."forum";
   deps."fourier" = tl."fourier";
   deps."fouriernc" = tl."fouriernc";
   deps."frcursive" = tl."frcursive";
   deps."frederika2016" = tl."frederika2016";
+  deps."garamond-libre" = tl."garamond-libre";
   deps."garamond-math" = tl."garamond-math";
   deps."genealogy" = tl."genealogy";
   deps."gentium-tug" = tl."gentium-tug";
@@ -5069,11 +5207,15 @@ tl: { # no indentation
   deps."librebaskerville" = tl."librebaskerville";
   deps."librebodoni" = tl."librebodoni";
   deps."librecaslon" = tl."librecaslon";
+  deps."librefranklin" = tl."librefranklin";
   deps."libris" = tl."libris";
   deps."linearA" = tl."linearA";
+  deps."linguisticspro" = tl."linguisticspro";
   deps."lobster2" = tl."lobster2";
+  deps."logix" = tl."logix";
   deps."lxfonts" = tl."lxfonts";
   deps."ly1" = tl."ly1";
+  deps."marcellus" = tl."marcellus";
   deps."mathabx" = tl."mathabx";
   deps."mathabx-type1" = tl."mathabx-type1";
   deps."mathdesign" = tl."mathdesign";
@@ -5114,6 +5256,7 @@ tl: { # no indentation
   deps."playfair" = tl."playfair";
   deps."plex" = tl."plex";
   deps."plex-otf" = tl."plex-otf";
+  deps."poiretone" = tl."poiretone";
   deps."poltawski" = tl."poltawski";
   deps."prodint" = tl."prodint";
   deps."punk" = tl."punk";
@@ -5140,6 +5283,7 @@ tl: { # no indentation
   deps."sourceserifpro" = tl."sourceserifpro";
   deps."starfont" = tl."starfont";
   deps."staves" = tl."staves";
+  deps."step" = tl."step";
   deps."stickstoo" = tl."stickstoo";
   deps."stix" = tl."stix";
   deps."stix2-otf" = tl."stix2-otf";
@@ -5150,6 +5294,9 @@ tl: { # no indentation
   deps."tempora" = tl."tempora";
   deps."tengwarscript" = tl."tengwarscript";
   deps."tfrupee" = tl."tfrupee";
+  deps."theanodidot" = tl."theanodidot";
+  deps."theanomodern" = tl."theanomodern";
+  deps."theanooldstyle" = tl."theanooldstyle";
   deps."tinos" = tl."tinos";
   deps."tpslifonts" = tl."tpslifonts";
   deps."trajan" = tl."trajan";
@@ -5169,7 +5316,7 @@ tl: { # no indentation
   deps."yfonts-t1" = tl."yfonts-t1";
   deps."yinit-otf" = tl."yinit-otf";
   deps."zlmtt" = tl."zlmtt";
-  sha512.run = "b3132cb568f51a0c82432f654a7a8b16fced53cccd2159724d33a22940417f8b63f82ed985c1ee401a3ba3adbc61d921bacc2709f4143590cb68c58ac1979f1f";
+  sha512.run = "76ac1206ba9618472b23d739823635d9a3832917adf5c94f1e3a8aad663a01a5594f6f2d3b170013fc5dc30ae120b00f87482fa6034dceefed0749eef3c4977f";
 };
 "collection-fontsrecommended" = {
   stripPrefix = 0;
@@ -5208,7 +5355,7 @@ tl: { # no indentation
   deps."wasysym" = tl."wasysym";
   deps."zapfchan" = tl."zapfchan";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "071eb6fc2afe7f70e1fe0496aa77bd38953dd7fcdd5439febff7369bd93b7fdb04525bb00b90cbacffdd768b2bd1db5243197d091519ddda4d8efe91cc375b5c";
+  sha512.run = "9ce869ce9e21838cb467b7fb6e6087b2afa005c398075c5da77e07fcc57a3c153663ddf8c53f914638b3e1e44e8957b59459b689d17668fdf42a050b19d079f5";
 };
 "collection-fontutils" = {
   stripPrefix = 0;
@@ -5229,7 +5376,7 @@ tl: { # no indentation
   deps."mf2pt1" = tl."mf2pt1";
   deps."t1utils" = tl."t1utils";
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "e1538064dd72671bd1ce54c237e8759132068c378115e6f881902189153851dfaecbfca9bc8705a47bc5496d67df9ade054564e0341e669245450138b19d03e5";
+  sha512.run = "39ede1185914e6df2bd1a535d2ca955720dfd51fba425f0ee6ac75c9e8e7480e779c8eb41df0cd57d1f23595db0f247f5e8fb2988dcc1845dd5d51b3f8918533";
 };
 "collection-formatsextra" = {
   stripPrefix = 0;
@@ -5253,7 +5400,7 @@ tl: { # no indentation
   deps."omega" = tl."omega";
   deps."omegaware" = tl."omegaware";
   deps."otibet" = tl."otibet";
-  sha512.run = "e763bdd83ccb58095d1854fe88a845da6830db9f72b40abcfe9c349f84e0284f78c8a0f85d714a9d0354e3026511a2db9d13f86cfbdbfb5d43f171d558563564";
+  sha512.run = "73b00a08738778902d35e934e296552c76db6a202c197432e57c3fe03d300dd5b3ba41a618151ffcd9642275db6899d8030329f3ec424b55da0a743ecbc84d0e";
 };
 "collection-games" = {
   stripPrefix = 0;
@@ -5271,6 +5418,7 @@ tl: { # no indentation
   deps."hanoi" = tl."hanoi";
   deps."havannah" = tl."havannah";
   deps."hexgame" = tl."hexgame";
+  deps."hmtrump" = tl."hmtrump";
   deps."horoscop" = tl."horoscop";
   deps."jigsaw" = tl."jigsaw";
   deps."labyrinth" = tl."labyrinth";
@@ -5292,7 +5440,7 @@ tl: { # no indentation
   deps."sudokubundle" = tl."sudokubundle";
   deps."xq" = tl."xq";
   deps."xskak" = tl."xskak";
-  sha512.run = "b444ce117c057b29be3347d5b98ab761d1003d586e166b48a1ce37758db865b4e75bfc3c79645197882a3f204fbc2b8d37f46a15a823a9496f1b1b2de9f781b0";
+  sha512.run = "bfa055b06a2a56cdac916627c79ad94242fee0b1ae747f721e0932452eedbff05566211a9e41aa8e66607b27d753db5edf5d0ed04cbf1ebb2944d3c4cebbf108";
 };
 "collection-humanities" = {
   stripPrefix = 0;
@@ -5348,7 +5496,7 @@ tl: { # no indentation
   deps."tree-dvips" = tl."tree-dvips";
   deps."verse" = tl."verse";
   deps."xyling" = tl."xyling";
-  sha512.run = "0d71b4f94997ac083eb7b5dc7dbabf39b50f460aaa6e800c1c262471733254a79f3df95ab1b725634c33ce59f0b5939a94d388b46ab30d0766424f33a6a536f3";
+  sha512.run = "94e1a021c967f623d24a3720199293f564ccc3e7339c2e58a456163d617740d3a6bfc8b5fd54fc288f269ebe7a4eafddaba0c6c78c66ea565bb2e0d753b7ebad";
 };
 "collection-langarabic" = {
   stripPrefix = 0;
@@ -5376,7 +5524,7 @@ tl: { # no indentation
   deps."simurgh" = tl."simurgh";
   deps."tram" = tl."tram";
   deps."xepersian" = tl."xepersian";
-  sha512.run = "994e5764499c9bc15246378c682aef4636aaa692d506d083d91dffb52e91445aaad8635389f0385ea7c86e74f8aa0362b74c4d8edbca688a6f11091413aaa90f";
+  sha512.run = "4c0f4860c69b0be0e3bc909c577e2795fcb3c15b65961d7ada1624cc3c9f77b104f8a58a6d390c1085c464ae043c65b4912da9faa0e8334964d0c302952792fe";
 };
 "collection-langchinese" = {
   stripPrefix = 0;
@@ -5395,6 +5543,7 @@ tl: { # no indentation
   deps."impatient-cn" = tl."impatient-cn";
   deps."latex-notes-zh-cn" = tl."latex-notes-zh-cn";
   deps."lshort-chinese" = tl."lshort-chinese";
+  deps."nanicolle" = tl."nanicolle";
   deps."njurepo" = tl."njurepo";
   deps."pgfornament-han" = tl."pgfornament-han";
   deps."texlive-zh-cn" = tl."texlive-zh-cn";
@@ -5408,7 +5557,7 @@ tl: { # no indentation
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
   deps."zhspacing" = tl."zhspacing";
-  sha512.run = "504f72fa6c3d445f6eed2279492b237abd21c3e41c52572effd3664e5c717f9f9c42796e00efb774df862d55faad46dad9590bf0d86a3b982f92b96d715ef13b";
+  sha512.run = "fa19508a88844191ac410af63bdfbf95ac75231c3e7564aa0c2d54bb1b474b1d769a61c96abf01a11757ce002ae4cdc4c757cbd28414f6a182ffedcb13afb6bf";
 };
 "collection-langcjk" = {
   stripPrefix = 0;
@@ -5427,7 +5576,7 @@ tl: { # no indentation
   deps."pxtatescale" = tl."pxtatescale";
   deps."xcjk2uni" = tl."xcjk2uni";
   deps."zxjafont" = tl."zxjafont";
-  sha512.run = "1beec3bbed9f3c01dfda1e64df30416f0430e0d4c33c33dae2cc5ecadcd19c5935282654dff979bb110d30bdbd3109b7664c1e28114f934fc42f8226f0526e2d";
+  sha512.run = "959ee256fdf82076f8fa0d5a35f876b3c030e69feaf94cecc68e6e1061d968a72b9389e62b5c18c4d7fd4e98e707a1dfffecca7b7149d0c30388cb0c73870059";
 };
 "collection-langcyrillic" = {
   stripPrefix = 0;
@@ -5477,7 +5626,7 @@ tl: { # no indentation
   deps."texlive-ru" = tl."texlive-ru";
   deps."texlive-sr" = tl."texlive-sr";
   deps."ukrhyph" = tl."ukrhyph";
-  sha512.run = "e7fa80da0a1ca28a49eb0cb1339e6416850ae4ae5adfa6a1da6903c191e0b166270c9917a0d60bf530f1b9a0e2feebed2c3050a302a3e40b05ee0498f52fdbaf";
+  sha512.run = "15c733db1104a296e0caeceab761a9e0f89c7bbae5c87d49a9539638cbcb1c2489c41fe08b0bbca5df503cb8ee54b61425e35b0e6db41947bdbcc40e4daea0bc";
 };
 "collection-langczechslovak" = {
   stripPrefix = 0;
@@ -5497,13 +5646,12 @@ tl: { # no indentation
   deps."lshort-czech" = tl."lshort-czech";
   deps."lshort-slovak" = tl."lshort-slovak";
   deps."texlive-cz" = tl."texlive-cz";
-  sha512.run = "ec73663ed991d9f7729f39e5c78d42f908f08be09e7d0fc11b77a2652e7759be0d7b6feb04635eb88f8dad87e7b64f8817822c72e21747df07200b2d00193a3a";
+  sha512.run = "daee20efa3c125fb5dcf55875eb3a7a3e94553a5f1e185c8fdf35db0ab933abbb2ac2f67da7fa578b1f915d88f3cde764dca098e76b5df73da18dece3e49dc6f";
 };
 "collection-langenglish" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."hyphen-english" = tl."hyphen-english";
-  deps."FAQ-en" = tl."FAQ-en";
   deps."MemoirChapStyles" = tl."MemoirChapStyles";
   deps."Type1fonts" = tl."Type1fonts";
   deps."amscls-doc" = tl."amscls-doc";
@@ -5559,13 +5707,14 @@ tl: { # no indentation
   deps."tex-overview" = tl."tex-overview";
   deps."tex-refs" = tl."tex-refs";
   deps."texbytopic" = tl."texbytopic";
+  deps."texonly" = tl."texonly";
   deps."titlepages" = tl."titlepages";
   deps."tlc2" = tl."tlc2";
   deps."undergradmath" = tl."undergradmath";
   deps."visualfaq" = tl."visualfaq";
   deps."webguide" = tl."webguide";
   deps."xetexref" = tl."xetexref";
-  sha512.run = "47e3a0d9de45a933c8396e8a0ee8b8c8dddf5551b205a54b985627c4265438ae57f2e4ea3f1c935a1c6877a30f5d592377d71b141b62fea7e0ca5d3d995812da";
+  sha512.run = "1f003f1a719bf29ee0a0167784f48cc6aef203f714a5024c52b1e3791d47d2cae816056e78816dabb806059cb4f3be066d722f8191ca67e3d72e76b274759e89";
 };
 "collection-langeuropean" = {
   stripPrefix = 0;
@@ -5634,12 +5783,13 @@ tl: { # no indentation
   deps."nevelok" = tl."nevelok";
   deps."swebib" = tl."swebib";
   deps."turkmen" = tl."turkmen";
-  sha512.run = "9f9c56bbada51086cf07611dab2adffefea6cea468f7d12e8f25ea1f3a7b958f566b09912737b3ce86c873da34c9035b30410340ba80f0edd0f63f5fcc4323a7";
+  sha512.run = "9505445397888b80e7f92026c63d4ec053758f835d6b217902639ecef6670f85a49e308891381be0340b43e7a793885dac79f88e75c376226d474682cedc3b12";
 };
 "collection-langfrench" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."aeguill" = tl."aeguill";
+  deps."apprendre-a-programmer-en-tex" = tl."apprendre-a-programmer-en-tex";
   deps."apprends-latex" = tl."apprends-latex";
   deps."babel-basque" = tl."babel-basque";
   deps."babel-french" = tl."babel-french";
@@ -5655,7 +5805,6 @@ tl: { # no indentation
   deps."formation-latex-ul" = tl."formation-latex-ul";
   deps."frenchmath" = tl."frenchmath";
   deps."frletter" = tl."frletter";
-  deps."guide-latex-fr" = tl."guide-latex-fr";
   deps."hyphen-basque" = tl."hyphen-basque";
   deps."hyphen-french" = tl."hyphen-french";
   deps."impatient-fr" = tl."impatient-fr";
@@ -5673,7 +5822,7 @@ tl: { # no indentation
   deps."translation-tabbing-fr" = tl."translation-tabbing-fr";
   deps."variations" = tl."variations";
   deps."visualtikz" = tl."visualtikz";
-  sha512.run = "61972d1836261379d14e274dd82499c1288324eb1db07fc93eb5514da9fc1b3e0b6324a5802d05bb2bdf7d211732c5842785b5e28fa8856afa9c137c23ebfd29";
+  sha512.run = "be5230f2fec255b9bf7220a9ad33930032ef617de8665d2c35c4360852f77d2764dbe1d7917bab3552f6098e0749cc5e0a9e001bac87abbb5b0de6af24ee1eed";
 };
 "collection-langgerman" = {
   stripPrefix = 0;
@@ -5728,7 +5877,7 @@ tl: { # no indentation
   deps."uhrzeit" = tl."uhrzeit";
   deps."umlaute" = tl."umlaute";
   deps."voss-mathcol" = tl."voss-mathcol";
-  sha512.run = "94d4788d2913b56b5b4b3d81f80269e0c319bc8bbf0320c1ab8dfaba95941b327aca2a8323c0c3086a8ccf87ef9b83767753199a99a68dc10812cad7e1ea8427";
+  sha512.run = "efa8741b737f9331fed483fd4d0f8b286099f65503b3ea4874a272ea4c53f52e8d23cb9d76c1a4b19853d938a093e49b583a87003b7cdba41e9d6287598b396a";
 };
 "collection-langgreek" = {
   stripPrefix = 0;
@@ -5757,7 +5906,7 @@ tl: { # no indentation
   deps."teubner" = tl."teubner";
   deps."xgreek" = tl."xgreek";
   deps."yannisgr" = tl."yannisgr";
-  sha512.run = "29c6e1ad439079e9b91c955086d6814c23e4ef6c6f713ee9c1ef5ca9d087f2d4f2ea7b1b172b6e3c3a59f761d12476f8701483947c160138974c5782ce45a27f";
+  sha512.run = "9633d376e164895cc7ea0d1a18759c1f06c71b83e612c10069dfd18237d61afab99170c03a9a1ba461d43d4273c7228f41f899dd77dc9308a8d329da6b336cba";
 };
 "collection-langitalian" = {
   stripPrefix = 0;
@@ -5778,7 +5927,7 @@ tl: { # no indentation
   deps."lshort-italian" = tl."lshort-italian";
   deps."psfrag-italian" = tl."psfrag-italian";
   deps."texlive-it" = tl."texlive-it";
-  sha512.run = "436e66d3aa2dda1a876127420a148e8e589aa77cf7bdc8824ba77f67eef0b4ac19cb35d3d0fef8c56d898ac594898a18024d08164a6fc53d36c494c3ec49e0c6";
+  sha512.run = "1cace30c8b68dc6e44e5bfe070c155bc65462b4d950506d79967f9e7472c9d7b7f9b3016fe3a34049cc7ec50c21d12f4bd6c4a03bf4f3c63172976d1b888855e";
 };
 "collection-langjapanese" = {
   stripPrefix = 0;
@@ -5787,6 +5936,7 @@ tl: { # no indentation
   deps."babel-japanese" = tl."babel-japanese";
   deps."bxbase" = tl."bxbase";
   deps."bxcjkjatype" = tl."bxcjkjatype";
+  deps."bxghost" = tl."bxghost";
   deps."bxjaholiday" = tl."bxjaholiday";
   deps."bxjalipsum" = tl."bxjalipsum";
   deps."bxjaprnind" = tl."bxjaprnind";
@@ -5825,6 +5975,7 @@ tl: { # no indentation
   deps."pxjodel" = tl."pxjodel";
   deps."pxrubrica" = tl."pxrubrica";
   deps."pxufont" = tl."pxufont";
+  deps."texlive-ja" = tl."texlive-ja";
   deps."uplatex" = tl."uplatex";
   deps."uptex" = tl."uptex";
   deps."uptex-base" = tl."uptex-base";
@@ -5832,7 +5983,7 @@ tl: { # no indentation
   deps."wadalab" = tl."wadalab";
   deps."zxjafbfont" = tl."zxjafbfont";
   deps."zxjatype" = tl."zxjatype";
-  sha512.run = "cff2c86128ec29af717915d78e2897ee769181bc9ba0680a0a7b2a2c2a5fb7b0fb7b457a34b3aaba746b6db4c64d1a00156e89db23d42a843c3f50ebba70bdd7";
+  sha512.run = "01f27234f79c1f468f6a5d12175c9a115f425f1d36921136825c76208cdce9abf7171f700c4d13b7ba01eab87b24ec819f29e648c1a7bbaa10ac5ce3c4053f50";
 };
 "collection-langkorean" = {
   stripPrefix = 0;
@@ -5848,7 +5999,7 @@ tl: { # no indentation
   deps."uhc" = tl."uhc";
   deps."unfonts-core" = tl."unfonts-core";
   deps."unfonts-extra" = tl."unfonts-extra";
-  sha512.run = "0d2e89f89143b7ccce1e2eb94a914d90707d4a1a5565cb478e53c29690a56583dc25cf7b470fe21736dc91e84ffb73863c3f9cd3f8a0a8dac2ef12ca8613bd75";
+  sha512.run = "6234b292f8b36a13d1a3543fb8ba19cb3cdab2fa30df008f1e33e62f4e6f291280b9f3e85aa21e5400ddd59392e698ddbf8c9c642934242402e93d6e3661d914";
 };
 "collection-langother" = {
   stripPrefix = 0;
@@ -5893,16 +6044,18 @@ tl: { # no indentation
   deps."lshort-vietnamese" = tl."lshort-vietnamese";
   deps."ntheorem-vn" = tl."ntheorem-vn";
   deps."padauk" = tl."padauk";
+  deps."quran-ur" = tl."quran-ur";
   deps."sanskrit" = tl."sanskrit";
   deps."sanskrit-t1" = tl."sanskrit-t1";
   deps."thaienum" = tl."thaienum";
   deps."thaispec" = tl."thaispec";
+  deps."unicode-alphabets" = tl."unicode-alphabets";
   deps."velthuis" = tl."velthuis";
   deps."vntex" = tl."vntex";
   deps."wnri" = tl."wnri";
   deps."wnri-latex" = tl."wnri-latex";
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "38429d43b0cb0c7291df6cabae9aae8421a4ef3eff5bf3dac21df33722777b7420d3d978b1d9207b3b33669052c8076b46fdb46c2d33a9f442fbf67818a05bcf";
+  sha512.run = "1a5c0d201f18eae47341d5683507602341baafcf5bc519116f7e4ae8a0c535210469ce1c9a8db0f21cbdf8277cee71b0c989ab0a97dd7f11aebdd5bb8e2f3443";
 };
 "collection-langpolish" = {
   stripPrefix = 0;
@@ -5925,7 +6078,7 @@ tl: { # no indentation
   deps."tex-virtual-academy-pl" = tl."tex-virtual-academy-pl";
   deps."texlive-pl" = tl."texlive-pl";
   deps."utf8mex" = tl."utf8mex";
-  sha512.run = "950b354fe6d731322178d120a7d70c58b065c11aa3e4ddeba741196c790d801ad4ecf60b7b7478da1a6207fb797595a8ffc34f64488bb3874316cbfbe4f83bc7";
+  sha512.run = "38799df728e830c93a50928efe5f337c91e34b97368e4cce4707e6cbca0a8ee22b9edc528084034a86c72a748367c3f46af37fbe87f5171951563d98f836de58";
 };
 "collection-langportuguese" = {
   stripPrefix = 0;
@@ -5938,9 +6091,10 @@ tl: { # no indentation
   deps."latex-via-exemplos" = tl."latex-via-exemplos";
   deps."latexcheat-ptbr" = tl."latexcheat-ptbr";
   deps."lshort-portuguese" = tl."lshort-portuguese";
+  deps."numberpt" = tl."numberpt";
   deps."ordinalpt" = tl."ordinalpt";
   deps."xypic-tut-pt" = tl."xypic-tut-pt";
-  sha512.run = "2885b09a8e43d9addf666b6c83fc435f4d2da26192ffbcfc9aab77e445967a80e5969a430bfa52ab4b594c5a860cd2b7445acbb00f863d14fafe71b63f4526fd";
+  sha512.run = "d805cfa253db9af2c74f9aa072b384f7cdb775258d5063ff33713a60977899ef7b833d5bc5c5b589d9b4f61737c1a48209c25481571dc3be32d5ebdf43430340";
 };
 "collection-langspanish" = {
   stripPrefix = 0;
@@ -5959,7 +6113,7 @@ tl: { # no indentation
   deps."lshort-spanish" = tl."lshort-spanish";
   deps."spanish-mx" = tl."spanish-mx";
   deps."texlive-es" = tl."texlive-es";
-  sha512.run = "ee8b79f60ae87ab4919319e5c0cc2f782de50e1340d00361fa3f36a7aafd0a37462d03799b4fcee0634e99833f489e228131a266c597c9ddbe9dfb2fa833dfd7";
+  sha512.run = "ed816cee1ca88a971b621d4a91ea7e6beebf8aacb684f8f000da8c4ce58e368a347eec69676db992dd1f09f287957855b4e814336a9bec689656a3eb6c34ce8b";
 };
 "collection-latex" = {
   stripPrefix = 0;
@@ -5992,7 +6146,7 @@ tl: { # no indentation
   deps."pspicture" = tl."pspicture";
   deps."tools" = tl."tools";
   deps."url" = tl."url";
-  sha512.run = "3db8bef953d336d22c67c49b0b1172b00f76621a97f7744345d0f9214ee84d83dea9190e666c49a649b1eb576c9b50210fcea7297dc555afd3fc4c83efcbc016";
+  sha512.run = "b1aae6d9b6a16813d76ee4c4bff813120784f856574b83aad156bb6bd0edc8815688159f78a5fa74dc1662c02c94c675e8caa3f654e933673f0424e8f1ead80f";
 };
 "collection-latexextra" = {
   stripPrefix = 0;
@@ -6008,6 +6162,7 @@ tl: { # no indentation
   deps."a5comb" = tl."a5comb";
   deps."abraces" = tl."abraces";
   deps."abstract" = tl."abstract";
+  deps."accessibility" = tl."accessibility";
   deps."achemso" = tl."achemso";
   deps."acro" = tl."acro";
   deps."acronym" = tl."acronym";
@@ -6034,7 +6189,9 @@ tl: { # no indentation
   deps."appendix" = tl."appendix";
   deps."appendixnumberbeamer" = tl."appendixnumberbeamer";
   deps."apptools" = tl."apptools";
+  deps."arabicfront" = tl."arabicfront";
   deps."arcs" = tl."arcs";
+  deps."arraycols" = tl."arraycols";
   deps."arrayjobx" = tl."arrayjobx";
   deps."arraysort" = tl."arraysort";
   deps."arydshln" = tl."arydshln";
@@ -6049,14 +6206,15 @@ tl: { # no indentation
   deps."autonum" = tl."autonum";
   deps."autopdf" = tl."autopdf";
   deps."avremu" = tl."avremu";
-  deps."axessibility" = tl."axessibility";
   deps."background" = tl."background";
   deps."bankstatement" = tl."bankstatement";
   deps."bashful" = tl."bashful";
   deps."basicarith" = tl."basicarith";
   deps."bchart" = tl."bchart";
   deps."beamer2thesis" = tl."beamer2thesis";
+  deps."beamer-rl" = tl."beamer-rl";
   deps."beameraudience" = tl."beameraudience";
+  deps."beamerauxtheme" = tl."beamerauxtheme";
   deps."beamercolorthemeowl" = tl."beamercolorthemeowl";
   deps."beamerdarkthemes" = tl."beamerdarkthemes";
   deps."beamerposter" = tl."beamerposter";
@@ -6076,7 +6234,6 @@ tl: { # no indentation
   deps."beton" = tl."beton";
   deps."bewerbung" = tl."bewerbung";
   deps."bez123" = tl."bez123";
-  deps."bezos" = tl."bezos";
   deps."bhcexam" = tl."bhcexam";
   deps."bibletext" = tl."bibletext";
   deps."bigfoot" = tl."bigfoot";
@@ -6102,7 +6259,6 @@ tl: { # no indentation
   deps."braket" = tl."braket";
   deps."breakurl" = tl."breakurl";
   deps."bullcntr" = tl."bullcntr";
-  deps."bussproofs" = tl."bussproofs";
   deps."bxcalc" = tl."bxcalc";
   deps."bxdpx-beamer" = tl."bxdpx-beamer";
   deps."bxdvidriver" = tl."bxdvidriver";
@@ -6137,6 +6293,7 @@ tl: { # no indentation
   deps."cellprops" = tl."cellprops";
   deps."cellspace" = tl."cellspace";
   deps."censor" = tl."censor";
+  deps."centeredline" = tl."centeredline";
   deps."changebar" = tl."changebar";
   deps."changelayout" = tl."changelayout";
   deps."changelog" = tl."changelog";
@@ -6145,6 +6302,7 @@ tl: { # no indentation
   deps."chappg" = tl."chappg";
   deps."chapterfolder" = tl."chapterfolder";
   deps."cheatsheet" = tl."cheatsheet";
+  deps."checkend" = tl."checkend";
   deps."chet" = tl."chet";
   deps."chextras" = tl."chextras";
   deps."childdoc" = tl."childdoc";
@@ -6217,6 +6375,7 @@ tl: { # no indentation
   deps."crossreftools" = tl."crossreftools";
   deps."csquotes" = tl."csquotes";
   deps."css-colors" = tl."css-colors";
+  deps."csvmerge" = tl."csvmerge";
   deps."csvsimple" = tl."csvsimple";
   deps."cuisine" = tl."cuisine";
   deps."currency" = tl."currency";
@@ -6300,6 +6459,7 @@ tl: { # no indentation
   deps."documentation" = tl."documentation";
   deps."doi" = tl."doi";
   deps."dotarrow" = tl."dotarrow";
+  deps."dotlessi" = tl."dotlessi";
   deps."dotseqn" = tl."dotseqn";
   deps."download" = tl."download";
   deps."dox" = tl."dox";
@@ -6332,6 +6492,7 @@ tl: { # no indentation
   deps."eemeir" = tl."eemeir";
   deps."efbox" = tl."efbox";
   deps."egplot" = tl."egplot";
+  deps."ehhline" = tl."ehhline";
   deps."elegantbook" = tl."elegantbook";
   deps."elegantnote" = tl."elegantnote";
   deps."elegantpaper" = tl."elegantpaper";
@@ -6368,6 +6529,7 @@ tl: { # no indentation
   deps."erw-l3" = tl."erw-l3";
   deps."esami" = tl."esami";
   deps."esdiff" = tl."esdiff";
+  deps."esindex" = tl."esindex";
   deps."esint" = tl."esint";
   deps."esint-type1" = tl."esint-type1";
   deps."etaremune" = tl."etaremune";
@@ -6407,6 +6569,7 @@ tl: { # no indentation
   deps."fancyslides" = tl."fancyslides";
   deps."fancytabs" = tl."fancytabs";
   deps."fancytooltips" = tl."fancytooltips";
+  deps."fbox" = tl."fbox";
   deps."fcolumn" = tl."fcolumn";
   deps."fetchcls" = tl."fetchcls";
   deps."ffslides" = tl."ffslides";
@@ -6452,7 +6615,6 @@ tl: { # no indentation
   deps."footmisc" = tl."footmisc";
   deps."footmisx" = tl."footmisx";
   deps."footnotebackref" = tl."footnotebackref";
-  deps."footnotehyper" = tl."footnotehyper";
   deps."footnoterange" = tl."footnoterange";
   deps."footnpag" = tl."footnpag";
   deps."forarray" = tl."forarray";
@@ -6485,6 +6647,7 @@ tl: { # no indentation
   deps."genmpage" = tl."genmpage";
   deps."getfiledate" = tl."getfiledate";
   deps."getitems" = tl."getitems";
+  deps."gindex" = tl."gindex";
   deps."ginpenc" = tl."ginpenc";
   deps."gitfile-info" = tl."gitfile-info";
   deps."gitinfo" = tl."gitinfo";
@@ -6508,6 +6671,7 @@ tl: { # no indentation
   deps."glossaries-polish" = tl."glossaries-polish";
   deps."glossaries-portuges" = tl."glossaries-portuges";
   deps."glossaries-serbian" = tl."glossaries-serbian";
+  deps."glossaries-slovene" = tl."glossaries-slovene";
   deps."glossaries-spanish" = tl."glossaries-spanish";
   deps."gmdoc" = tl."gmdoc";
   deps."gmdoc-enhance" = tl."gmdoc-enhance";
@@ -6557,7 +6721,6 @@ tl: { # no indentation
   deps."ifmtarg" = tl."ifmtarg";
   deps."ifnextok" = tl."ifnextok";
   deps."ifoddpage" = tl."ifoddpage";
-  deps."ifplatform" = tl."ifplatform";
   deps."ifthenx" = tl."ifthenx";
   deps."iitem" = tl."iitem";
   deps."image-gallery" = tl."image-gallery";
@@ -6595,6 +6758,7 @@ tl: { # no indentation
   deps."keycommand" = tl."keycommand";
   deps."keyfloat" = tl."keyfloat";
   deps."keyreader" = tl."keyreader";
+  deps."keyindex" = tl."keyindex";
   deps."keystroke" = tl."keystroke";
   deps."keyval2e" = tl."keyval2e";
   deps."keyvaltable" = tl."keyvaltable";
@@ -6608,10 +6772,16 @@ tl: { # no indentation
   deps."l3build" = tl."l3build";
   deps."labbook" = tl."labbook";
   deps."labels" = tl."labels";
+  deps."labels4easylist" = tl."labels4easylist";
   deps."labelschanged" = tl."labelschanged";
   deps."lastpackage" = tl."lastpackage";
   deps."lastpage" = tl."lastpage";
+  deps."latex-amsmath-dev" = tl."latex-amsmath-dev";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-bin-dev" = tl."latex-bin-dev";
+  deps."latex-graphics-dev" = tl."latex-graphics-dev";
   deps."latex-tds" = tl."latex-tds";
+  deps."latex-tools-dev" = tl."latex-tools-dev";
   deps."latex-uni8" = tl."latex-uni8";
   deps."latexcolors" = tl."latexcolors";
   deps."latexdemo" = tl."latexdemo";
@@ -6687,13 +6857,12 @@ tl: { # no indentation
   deps."marginfix" = tl."marginfix";
   deps."marginnote" = tl."marginnote";
   deps."markdown" = tl."markdown";
-  deps."mathalfa" = tl."mathalfa";
+  deps."mathalpha" = tl."mathalpha";
   deps."mathastext" = tl."mathastext";
   deps."mathexam" = tl."mathexam";
   deps."mathfam256" = tl."mathfam256";
   deps."mathfont" = tl."mathfont";
   deps."maybemath" = tl."maybemath";
-  deps."mbenotes" = tl."mbenotes";
   deps."mcaption" = tl."mcaption";
   deps."mceinleger" = tl."mceinleger";
   deps."mcexam" = tl."mcexam";
@@ -6887,7 +7056,9 @@ tl: { # no indentation
   deps."polytable" = tl."polytable";
   deps."postcards" = tl."postcards";
   deps."poster-mac" = tl."poster-mac";
+  deps."powerdot" = tl."powerdot";
   deps."ppr-prv" = tl."ppr-prv";
+  deps."practicalreports" = tl."practicalreports";
   deps."preprint" = tl."preprint";
   deps."pressrelease" = tl."pressrelease";
   deps."prettyref" = tl."prettyref";
@@ -6912,6 +7083,7 @@ tl: { # no indentation
   deps."qstest" = tl."qstest";
   deps."qsymbols" = tl."qsymbols";
   deps."quicktype" = tl."quicktype";
+  deps."quiz2socrative" = tl."quiz2socrative";
   deps."quotchap" = tl."quotchap";
   deps."quoting" = tl."quoting";
   deps."quotmark" = tl."quotmark";
@@ -6955,6 +7127,7 @@ tl: { # no indentation
   deps."roundbox" = tl."roundbox";
   deps."rterface" = tl."rterface";
   deps."rtkinenc" = tl."rtkinenc";
+  deps."rulerbox" = tl."rulerbox";
   deps."rulercompass" = tl."rulercompass";
   deps."rvwrite" = tl."rvwrite";
   deps."sanitize-umlaut" = tl."sanitize-umlaut";
@@ -6966,6 +7139,8 @@ tl: { # no indentation
   deps."scalebar" = tl."scalebar";
   deps."scalerel" = tl."scalerel";
   deps."scanpages" = tl."scanpages";
+  deps."schedule" = tl."schedule";
+  deps."scontents" = tl."scontents";
   deps."scrlttr2copy" = tl."scrlttr2copy";
   deps."sdrt" = tl."sdrt";
   deps."secdot" = tl."secdot";
@@ -7016,6 +7191,8 @@ tl: { # no indentation
   deps."snapshot" = tl."snapshot";
   deps."snotez" = tl."snotez";
   deps."soul" = tl."soul";
+  deps."soulpos" = tl."soulpos";
+  deps."spacingtricks" = tl."spacingtricks";
   deps."spark-otf" = tl."spark-otf";
   deps."sparklines" = tl."sparklines";
   deps."sphack" = tl."sphack";
@@ -7042,6 +7219,7 @@ tl: { # no indentation
   deps."stubs" = tl."stubs";
   deps."studenthandouts" = tl."studenthandouts";
   deps."subdepth" = tl."subdepth";
+  deps."subdocs" = tl."subdocs";
   deps."subeqn" = tl."subeqn";
   deps."subeqnarray" = tl."subeqnarray";
   deps."subfigmat" = tl."subfigmat";
@@ -7125,6 +7303,7 @@ tl: { # no indentation
   deps."tocvsec2" = tl."tocvsec2";
   deps."todo" = tl."todo";
   deps."todonotes" = tl."todonotes";
+  deps."tokcycle" = tl."tokcycle";
   deps."tokenizer" = tl."tokenizer";
   deps."toolbox" = tl."toolbox";
   deps."topfloat" = tl."topfloat";
@@ -7182,12 +7361,14 @@ tl: { # no indentation
   deps."volumes" = tl."volumes";
   deps."vpe" = tl."vpe";
   deps."vruler" = tl."vruler";
+  deps."vtable" = tl."vtable";
   deps."vwcol" = tl."vwcol";
   deps."wallcalendar" = tl."wallcalendar";
   deps."wallpaper" = tl."wallpaper";
   deps."warning" = tl."warning";
   deps."warpcol" = tl."warpcol";
   deps."was" = tl."was";
+  deps."webquiz" = tl."webquiz";
   deps."widetable" = tl."widetable";
   deps."widows-and-orphans" = tl."widows-and-orphans";
   deps."williams" = tl."williams";
@@ -7205,6 +7386,7 @@ tl: { # no indentation
   deps."xcolor-solarized" = tl."xcolor-solarized";
   deps."xcomment" = tl."xcomment";
   deps."xcookybooky" = tl."xcookybooky";
+  deps."xcpdftips" = tl."xcpdftips";
   deps."xdoc" = tl."xdoc";
   deps."xellipsis" = tl."xellipsis";
   deps."xfakebold" = tl."xfakebold";
@@ -7238,7 +7420,7 @@ tl: { # no indentation
   deps."ziffer" = tl."ziffer";
   deps."zwgetfdate" = tl."zwgetfdate";
   deps."zwpagelayout" = tl."zwpagelayout";
-  sha512.run = "53328504434c5a14cca0e9be60cb8bff9968f04ff46dc51369b1cf5860860ebb334a4339ae938c79be74fe17cb9005199a090edede18f5ddf559ee064f54ebfd";
+  sha512.run = "278401d543e2dfa2ed93138b54c55e43d199f97ac6087421de844ff3e36507256e7eca7764f9c3df820aff2f23bdd29397dff64f800fcdca8de36a95ff3c1d05";
 };
 "collection-latexrecommended" = {
   stripPrefix = 0;
@@ -7263,11 +7445,13 @@ tl: { # no indentation
   deps."filehook" = tl."filehook";
   deps."float" = tl."float";
   deps."fontspec" = tl."fontspec";
+  deps."footnotehyper" = tl."footnotehyper";
   deps."fp" = tl."fp";
   deps."index" = tl."index";
   deps."jknapltx" = tl."jknapltx";
   deps."koma-script" = tl."koma-script";
   deps."latexbug" = tl."latexbug";
+  deps."l3backend" = tl."l3backend";
   deps."l3experimental" = tl."l3experimental";
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
@@ -7285,8 +7469,8 @@ tl: { # no indentation
   deps."parskip" = tl."parskip";
   deps."pdfpages" = tl."pdfpages";
   deps."polyglossia" = tl."polyglossia";
-  deps."powerdot" = tl."powerdot";
   deps."psfrag" = tl."psfrag";
+  deps."ragged2e" = tl."ragged2e";
   deps."rcs" = tl."rcs";
   deps."sansmath" = tl."sansmath";
   deps."section" = tl."section";
@@ -7305,11 +7489,12 @@ tl: { # no indentation
   deps."xkeyval" = tl."xkeyval";
   deps."xltxtra" = tl."xltxtra";
   deps."xunicode" = tl."xunicode";
-  sha512.run = "c2ee4fdd220cd4e46d650f632d4f9cbbd13fe468df3a837eabe8705490b0a44c68c5acfd3c6813e90fe316a4bab4cfc68fbf2024dd42810a62d7090fab750cd5";
+  sha512.run = "b4b677811f192eaa7a56f5208807a36c01e930ce966012bd44231b80fd39480a5103b634d2a2b349c8e6999e47e7864b1e6cdbb1052f6f5b803deeadb51cf513";
 };
 "collection-luatex" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
+  deps."addliga" = tl."addliga";
   deps."auto-pst-pdf-lua" = tl."auto-pst-pdf-lua";
   deps."bezierplot" = tl."bezierplot";
   deps."checkcites" = tl."checkcites";
@@ -7324,6 +7509,7 @@ tl: { # no indentation
   deps."lua2dox" = tl."lua2dox";
   deps."luacode" = tl."luacode";
   deps."luahyphenrules" = tl."luahyphenrules";
+  deps."luaimageembed" = tl."luaimageembed";
   deps."luaindex" = tl."luaindex";
   deps."luainputenc" = tl."luainputenc";
   deps."luaintro" = tl."luaintro";
@@ -7343,12 +7529,13 @@ tl: { # no indentation
   deps."luaxml" = tl."luaxml";
   deps."nodetree" = tl."nodetree";
   deps."odsfile" = tl."odsfile";
+  deps."pdfarticle" = tl."pdfarticle";
   deps."placeat" = tl."placeat";
   deps."plantuml" = tl."plantuml";
   deps."selnolig" = tl."selnolig";
   deps."spelling" = tl."spelling";
   deps."typewriter" = tl."typewriter";
-  sha512.run = "00c9c65eacf4e08108aa7cb6391a8ed41aea6e2579053c01df80e7117c568652a39682d4faa0fb2a2c042e3e26f7c0d8b849e3a8476e515fd7840e946458ae6e";
+  sha512.run = "0994c7425cc79885ec523d73d7ab2db08f32117d2bff82f4e5c0c4df6c70c012f7b90e04e8f83cc263cdf29c39b1104e09a92e86a94eda0c2e9cdfb66377fe50";
 };
 "collection-mathscience" = {
   stripPrefix = 0;
@@ -7357,12 +7544,14 @@ tl: { # no indentation
   deps."12many" = tl."12many";
   deps."SIstyle" = tl."SIstyle";
   deps."SIunits" = tl."SIunits";
+  deps."accents" = tl."accents";
   deps."alg" = tl."alg";
   deps."algobox" = tl."algobox";
   deps."algorithm2e" = tl."algorithm2e";
   deps."algorithmicx" = tl."algorithmicx";
   deps."algorithms" = tl."algorithms";
   deps."aligned-overset" = tl."aligned-overset";
+  deps."amscdx" = tl."amscdx";
   deps."amstex" = tl."amstex";
   deps."apxproof" = tl."apxproof";
   deps."autobreak" = tl."autobreak";
@@ -7377,6 +7566,8 @@ tl: { # no indentation
   deps."bosisio" = tl."bosisio";
   deps."bpchem" = tl."bpchem";
   deps."bropd" = tl."bropd";
+  deps."bussproofs" = tl."bussproofs";
+  deps."bussproofs-extra" = tl."bussproofs-extra";
   deps."bytefield" = tl."bytefield";
   deps."calculation" = tl."calculation";
   deps."cascade" = tl."cascade";
@@ -7394,6 +7585,7 @@ tl: { # no indentation
   deps."chemstyle" = tl."chemstyle";
   deps."clrscode" = tl."clrscode";
   deps."clrscode3e" = tl."clrscode3e";
+  deps."codeanatomy" = tl."codeanatomy";
   deps."commath" = tl."commath";
   deps."complexity" = tl."complexity";
   deps."computational-complexity" = tl."computational-complexity";
@@ -7405,6 +7597,7 @@ tl: { # no indentation
   deps."delim" = tl."delim";
   deps."delimseasy" = tl."delimseasy";
   deps."delimset" = tl."delimset";
+  deps."derivative" = tl."derivative";
   deps."diffcoeff" = tl."diffcoeff";
   deps."digiconfigs" = tl."digiconfigs";
   deps."dijkstra" = tl."dijkstra";
@@ -7431,6 +7624,7 @@ tl: { # no indentation
   deps."gastex" = tl."gastex";
   deps."gene-logic" = tl."gene-logic";
   deps."ghsystem" = tl."ghsystem";
+  deps."glosmathtools" = tl."glosmathtools";
   deps."gotoh" = tl."gotoh";
   deps."grundgesetze" = tl."grundgesetze";
   deps."gu" = tl."gu";
@@ -7453,10 +7647,12 @@ tl: { # no indentation
   deps."lpform" = tl."lpform";
   deps."lplfitch" = tl."lplfitch";
   deps."lstbayes" = tl."lstbayes";
+  deps."mathcommand" = tl."mathcommand";
   deps."mathcomp" = tl."mathcomp";
   deps."mathfixs" = tl."mathfixs";
   deps."mathpartir" = tl."mathpartir";
   deps."mathpunctspace" = tl."mathpunctspace";
+  deps."matrix-skeleton" = tl."matrix-skeleton";
   deps."matlab-prettifier" = tl."matlab-prettifier";
   deps."mattens" = tl."mattens";
   deps."memorygraphs" = tl."memorygraphs";
@@ -7464,6 +7660,7 @@ tl: { # no indentation
   deps."mhchem" = tl."mhchem";
   deps."mhequ" = tl."mhequ";
   deps."miller" = tl."miller";
+  deps."mismath" = tl."mismath";
   deps."multiobjective" = tl."multiobjective";
   deps."mychemistry" = tl."mychemistry";
   deps."natded" = tl."natded";
@@ -7481,7 +7678,9 @@ tl: { # no indentation
   deps."polexpr" = tl."polexpr";
   deps."prftree" = tl."prftree";
   deps."proba" = tl."proba";
+  deps."proof-at-the-end" = tl."proof-at-the-end";
   deps."prooftrees" = tl."prooftrees";
+  deps."pseudo" = tl."pseudo";
   deps."pseudocode" = tl."pseudocode";
   deps."pythonhighlight" = tl."pythonhighlight";
   deps."qsharp" = tl."qsharp";
@@ -7514,12 +7713,14 @@ tl: { # no indentation
   deps."struktex" = tl."struktex";
   deps."substances" = tl."substances";
   deps."subsupscripts" = tl."subsupscripts";
+  deps."subtext" = tl."subtext";
   deps."susy" = tl."susy";
   deps."syllogism" = tl."syllogism";
   deps."sympytexpackage" = tl."sympytexpackage";
   deps."synproof" = tl."synproof";
   deps."t-angles" = tl."t-angles";
   deps."tablor" = tl."tablor";
+  deps."tensind" = tl."tensind";
   deps."tensor" = tl."tensor";
   deps."tex-ewd" = tl."tex-ewd";
   deps."textgreek" = tl."textgreek";
@@ -7534,7 +7735,7 @@ tl: { # no indentation
   deps."yhmath" = tl."yhmath";
   deps."youngtab" = tl."youngtab";
   deps."ytableau" = tl."ytableau";
-  sha512.run = "2f8256930070c94ad23a08533b816390c1491ea258fcc8408b4ca88525f0951b54025a8edc1b682a1e6d0d51e7943bf885a8a04c2168185fc99065a1fd29fa19";
+  sha512.run = "8a57a2ca065d0bbcd1c7359802cd82806cb386be6b9324c154fc3d14d2fa155c0cfffc83317c6bebff6507b644c5d30c73687363c7191ab364d17b196ed297ce";
 };
 "collection-metapost" = {
   stripPrefix = 0;
@@ -7553,6 +7754,7 @@ tl: { # no indentation
   deps."featpost" = tl."featpost";
   deps."feynmf" = tl."feynmf";
   deps."feynmp-auto" = tl."feynmp-auto";
+  deps."fiziko" = tl."fiziko";
   deps."garrigues" = tl."garrigues";
   deps."gmp" = tl."gmp";
   deps."hatching" = tl."hatching";
@@ -7582,7 +7784,7 @@ tl: { # no indentation
   deps."suanpan" = tl."suanpan";
   deps."textpath" = tl."textpath";
   deps."threeddice" = tl."threeddice";
-  sha512.run = "f3b46bd99d836ffd672728806bb2cefafa59b0be7c098fbfc09ead73f7243019c0a13825acf89a8fc440d4785699a5f3e1170d16242b5665c45070f098489dfe";
+  sha512.run = "09dfaa35971f85134d0854c08a99c4d2b01ddf08e8ab97449460bb99d1236a38c48643501e7bb56197a844491509af301da6c4f75a33d9286601633211ec7d93";
 };
 "collection-music" = {
   stripPrefix = 0;
@@ -7591,6 +7793,8 @@ tl: { # no indentation
   deps."autosp" = tl."autosp";
   deps."bagpipe" = tl."bagpipe";
   deps."chordbars" = tl."chordbars";
+  deps."chordbox" = tl."chordbox";
+  deps."ddphonism" = tl."ddphonism";
   deps."figbas" = tl."figbas";
   deps."gchords" = tl."gchords";
   deps."gregoriotex" = tl."gregoriotex";
@@ -7616,7 +7820,7 @@ tl: { # no indentation
   deps."songbook" = tl."songbook";
   deps."songs" = tl."songs";
   deps."xpiano" = tl."xpiano";
-  sha512.run = "169fc767186f84cc5d9b01a154350be30b638014820bd41c8c1f0c33dc845c5f8a07d23af47a7e186ca7d32690b350ad57d5004e3963c51caa13a50e9d96bfc8";
+  sha512.run = "a4ad811435b9b6d51d59c6fa09fa20c82d8adf455fccca3121711f0814a1d73f10b3549d928555cd34ac9917accb1748f0a7ed3ebafd979833d8e6ebb146efd1";
 };
 "collection-pictures" = {
   stripPrefix = 0;
@@ -7643,6 +7847,7 @@ tl: { # no indentation
   deps."celtic" = tl."celtic";
   deps."chemfig" = tl."chemfig";
   deps."combinedgraphics" = tl."combinedgraphics";
+  deps."circuit-macros" = tl."circuit-macros";
   deps."circuitikz" = tl."circuitikz";
   deps."curve" = tl."curve";
   deps."curve2e" = tl."curve2e";
@@ -7686,6 +7891,7 @@ tl: { # no indentation
   deps."hobby" = tl."hobby";
   deps."hvfloat" = tl."hvfloat";
   deps."istgame" = tl."istgame";
+  deps."kblocks" = tl."kblocks";
   deps."knitting" = tl."knitting";
   deps."knittingpattern" = tl."knittingpattern";
   deps."ladder" = tl."ladder";
@@ -7717,6 +7923,7 @@ tl: { # no indentation
   deps."pgfgantt" = tl."pgfgantt";
   deps."pgfkeyx" = tl."pgfkeyx";
   deps."pgfmolbio" = tl."pgfmolbio";
+  deps."pgfmorepages" = tl."pgfmorepages";
   deps."pgfopts" = tl."pgfopts";
   deps."pgfornament" = tl."pgfornament";
   deps."pgfplots" = tl."pgfplots";
@@ -7730,6 +7937,7 @@ tl: { # no indentation
   deps."postage" = tl."postage";
   deps."prerex" = tl."prerex";
   deps."productbox" = tl."productbox";
+  deps."ptolemaicastronomy" = tl."ptolemaicastronomy";
   deps."pxpgfmark" = tl."pxpgfmark";
   deps."qcircuit" = tl."qcircuit";
   deps."quantikz" = tl."quantikz";
@@ -7745,6 +7953,7 @@ tl: { # no indentation
   deps."scratch" = tl."scratch";
   deps."scratch3" = tl."scratch3";
   deps."setdeck" = tl."setdeck";
+  deps."simpleoptics" = tl."simpleoptics";
   deps."signchart" = tl."signchart";
   deps."smartdiagram" = tl."smartdiagram";
   deps."spath3" = tl."spath3";
@@ -7809,7 +8018,7 @@ tl: { # no indentation
   deps."visualpstricks" = tl."visualpstricks";
   deps."xpicture" = tl."xpicture";
   deps."xypic" = tl."xypic";
-  sha512.run = "b1e6cba2443dae3d1b4c2ae56318a1ac3b0d87df8006bc2263a8ef047964871c5f3af2cc351b508ae236da68077cffff4f4971644fa1d5ce75419b5c40369f2d";
+  sha512.run = "08879ddc094db933adadc42a75a54aab493c5d9552b84d355f71b54572cd01e67a97baa1a48fc13fcea90da88893a5e0c8db8b90c7f96bd4861621de06ff3e84";
 };
 "collection-plaingeneric" = {
   stripPrefix = 0;
@@ -7906,7 +8115,7 @@ tl: { # no indentation
   deps."xii-lat" = tl."xii-lat";
   deps."xlop" = tl."xlop";
   deps."yax" = tl."yax";
-  sha512.run = "458452bce83bda1758fa0692dbf641c14edde8c5c011c9242440bc6fe77f3c4ea32f70793d6f70fe8888826c456d023949788fec42fbdf148f87cbd99d8e2453";
+  sha512.run = "9ef13861626d3431dae68447b371f05ddbd0eaa3f81a41eaa830825df7775a12a824a36e9be8c14a1b3bcf25f7acafda0b010d3c6021e6cf2b2eb17b3f91c8ef";
 };
 "collection-pstricks" = {
   stripPrefix = 0;
@@ -8009,6 +8218,7 @@ tl: { # no indentation
   deps."pst-thick" = tl."pst-thick";
   deps."pst-tools" = tl."pst-tools";
   deps."pst-tree" = tl."pst-tree";
+  deps."pst-turtle" = tl."pst-turtle";
   deps."pst-tvz" = tl."pst-tvz";
   deps."pst-uml" = tl."pst-uml";
   deps."pst-vectorian" = tl."pst-vectorian";
@@ -8023,7 +8233,7 @@ tl: { # no indentation
   deps."uml" = tl."uml";
   deps."vaucanson-g" = tl."vaucanson-g";
   deps."vocaltract" = tl."vocaltract";
-  sha512.run = "b41077957c5ef6a49ca9655ca80dbfa0421dac54754085ccce58c488f756013aa6b3844640fc9264ff52e764284418fc75e1567a49203ef35d50edbf7c3b3e9c";
+  sha512.run = "336ecc5633674197d366aa52ad2ce650378868110ccc8203c64b9a2ebb69cfa2172230bd46f40acf38b1f984b4fb2d831a7747cca26b16a7d3b2c2ceef435020";
 };
 "collection-publishers" = {
   stripPrefix = 0;
@@ -8051,6 +8261,8 @@ tl: { # no indentation
   deps."articleingud" = tl."articleingud";
   deps."asaetr" = tl."asaetr";
   deps."ascelike" = tl."ascelike";
+  deps."asmeconf" = tl."asmeconf";
+  deps."asmejour" = tl."asmejour";
   deps."aucklandthesis" = tl."aucklandthesis";
   deps."bangorcsthesis" = tl."bangorcsthesis";
   deps."bangorexam" = tl."bangorexam";
@@ -8080,6 +8292,7 @@ tl: { # no indentation
   deps."ejpecp" = tl."ejpecp";
   deps."ekaia" = tl."ekaia";
   deps."elbioimp" = tl."elbioimp";
+  deps."els-cas-templates" = tl."els-cas-templates";
   deps."elsarticle" = tl."elsarticle";
   deps."elteikthesis" = tl."elteikthesis";
   deps."emisa" = tl."emisa";
@@ -8105,6 +8318,7 @@ tl: { # no indentation
   deps."hecthese" = tl."hecthese";
   deps."hithesis" = tl."hithesis";
   deps."hobete" = tl."hobete";
+  deps."hu-berlin-bundle" = tl."hu-berlin-bundle";
   deps."hustthesis" = tl."hustthesis";
   deps."icsv" = tl."icsv";
   deps."ieeepes" = tl."ieeepes";
@@ -8112,6 +8326,7 @@ tl: { # no indentation
   deps."ijsra" = tl."ijsra";
   deps."imac" = tl."imac";
   deps."imtekda" = tl."imtekda";
+  deps."inkpaper" = tl."inkpaper";
   deps."iodhbwm" = tl."iodhbwm";
   deps."iscram" = tl."iscram";
   deps."jacow" = tl."jacow";
@@ -8132,6 +8347,7 @@ tl: { # no indentation
   deps."matc3mem" = tl."matc3mem";
   deps."mcmthesis" = tl."mcmthesis";
   deps."mentis" = tl."mentis";
+  deps."mlacls" = tl."mlacls";
   deps."mnras" = tl."mnras";
   deps."modeles-factures-belges-assocs" = tl."modeles-factures-belges-assocs";
   deps."msu-thesis" = tl."msu-thesis";
@@ -8160,7 +8376,9 @@ tl: { # no indentation
   deps."pracjourn" = tl."pracjourn";
   deps."procIAGssymp" = tl."procIAGssymp";
   deps."proposal" = tl."proposal";
+  deps."prtec" = tl."prtec";
   deps."ptptex" = tl."ptptex";
+  deps."quantumarticle" = tl."quantumarticle";
   deps."resphilosophica" = tl."resphilosophica";
   deps."resumecls" = tl."resumecls";
   deps."revtex" = tl."revtex";
@@ -8192,12 +8410,14 @@ tl: { # no indentation
   deps."thesis-gwu" = tl."thesis-gwu";
   deps."thesis-qom" = tl."thesis-qom";
   deps."thesis-titlepage-fhac" = tl."thesis-titlepage-fhac";
+  deps."thuaslogos" = tl."thuaslogos";
   deps."thucoursework" = tl."thucoursework";
   deps."thuthesis" = tl."thuthesis";
   deps."timbreicmc" = tl."timbreicmc";
   deps."tlc-article" = tl."tlc-article";
   deps."topletter" = tl."topletter";
   deps."toptesi" = tl."toptesi";
+  deps."tuda-ci" = tl."tuda-ci";
   deps."tudscr" = tl."tudscr";
   deps."tugboat" = tl."tugboat";
   deps."tugboat-plain" = tl."tugboat-plain";
@@ -8206,6 +8426,7 @@ tl: { # no indentation
   deps."uaclasses" = tl."uaclasses";
   deps."uafthesis" = tl."uafthesis";
   deps."uantwerpendocs" = tl."uantwerpendocs";
+  deps."ucalgmthesis" = tl."ucalgmthesis";
   deps."ucbthesis" = tl."ucbthesis";
   deps."ucdavisthesis" = tl."ucdavisthesis";
   deps."ucsmonograph" = tl."ucsmonograph";
@@ -8218,10 +8439,13 @@ tl: { # no indentation
   deps."umbclegislation" = tl."umbclegislation";
   deps."umthesis" = tl."umthesis";
   deps."umich-thesis" = tl."umich-thesis";
+  deps."unam-thesis" = tl."unam-thesis";
   deps."unamth-template" = tl."unamth-template";
   deps."unamthesis" = tl."unamthesis";
+  deps."unifith" = tl."unifith";
   deps."unitn-bimrep" = tl."unitn-bimrep";
   deps."univie-ling" = tl."univie-ling";
+  deps."unizgklasa" = tl."unizgklasa";
   deps."unswcover" = tl."unswcover";
   deps."uothesis" = tl."uothesis";
   deps."urcls" = tl."urcls";
@@ -8235,18 +8459,19 @@ tl: { # no indentation
   deps."xduthesis" = tl."xduthesis";
   deps."wsemclassic" = tl."wsemclassic";
   deps."yathesis" = tl."yathesis";
+  deps."yazd-thesis" = tl."yazd-thesis";
   deps."york-thesis" = tl."york-thesis";
-  sha512.run = "f7d351af3b8a1aca682957c79eb624f06f2dcb3d242eb78798ed4c5d1864afbbb6e2884c872fbfcf9b6ac18439859bb1f1fa018f9c71adcc2f42f9beacd1e3ae";
+  sha512.run = "3ff65b8b007456d71ce63e06569023b37fc06e05b777fc89aab3bbebfe3ed9e8e7d33801d1f32b7fd6ce350f88f0b8710e50f5c398024c064eadfc315c9a1ed1";
 };
 "collection-texworks" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."texworks" = tl."texworks";
-  sha512.run = "4d1850b3a52a8ea8a8e2aae83062017d80bcb4586c64398bcb044f1a044113cb65cd25bbabd64b1a9a1572f1e93c6b26ed92f61369c5a490f0c1ee62924352ee";
+  sha512.run = "76e9ad96aa649c70442533135cb3e198278a8df631f91f23b55bd2977eccacd81a2bafa6cf4f0fd1e83f86dd591a85eb8aaa93c5928b2cb9766683d089994199";
 };
 "collection-wintools" = {
   stripPrefix = 0;
-  sha512.run = "b935688c7e195195aafb92e88824d7ceb08a6496ca039e555ff66e99ca4cec9ec91878e21aa03487250ec945c997c01e8114720bd0918a960aabb4e71d17afa7";
+  sha512.run = "648617c8a047b9833429a38e77f1b605b060fc3ab4a356ab8a19e0c1b3650bb56eef7e7b9e8727e95d1e48b0fcac40d8994303527afc7511c5d1a34adab8df30";
 };
 "collection-xetex" = {
   stripPrefix = 0;
@@ -8293,276 +8518,275 @@ tl: { # no indentation
   deps."xetexfontinfo" = tl."xetexfontinfo";
   deps."xetexko" = tl."xetexko";
   deps."xevlna" = tl."xevlna";
-  sha512.run = "ce069972bbe05da14450bdbb17252fb5722034216109cd82c6980a27cde662a6f4769a412e1ec5c9d40016c01a4100770d54dc9bd4e28844eff8400a82f0258e";
+  sha512.run = "1dbbe2fba18718b2f7488bd078ce0ad2f46e66308a383ffe2a17e28f660ce56762da83df52e884867bdcce128267a2d608768a0df2fd9b29eeacf43285c78a6e";
 };
 "collref" = {
   stripPrefix = 0;
-  sha512.run = "9d032c27fc91ba51e9e2193e3990e44acb7bdb33d18fb307b9b3292286884c7046e6183ec2bae59f6418ea48d62cbd0e680c852c18b016d193d8204993245e8e";
-  sha512.doc = "cfd24e2e37ee496ebccd2fb5d53e18854e4dfe36f0420aafd7e5149bf21cee1e7c167e2879041eac93e6cf8506bd8413afbd339e8bf49e1172b44d2b91f3db39";
-  sha512.source = "2dbd247ffd7d79d1b7aa6fc4baa242e9361a59f7eb2aba1bbcfbd15da03bf2c644802e40c21619e42d312be09addd4982f207e32fa7806428fd52f71883fdaa7";
+  sha512.run = "56c2fda36523ae348bea381d90493238c7cbf5ab59f074437c7b694b441f913e6b58795ca81d2c549fbba01505a8895e9e139a9d143050761bceced2717fdb97";
+  sha512.doc = "2d75180ab389632ec320795d6e6b989d902b82d1cfc97ea3c5113647e605c1eead0d0f5a6733cb692b624f4caa7120959c0b15018e35be4d4894183ad3e4c37d";
+  sha512.source = "5a89f6703ab1818375ff33840b1295aee99e6a36338790014b7ac4b54bd49850adcf73ca793c57fb8159be87417741dcdd6ad3934af8bfde74595367f5e3a9fd";
   hasRunfiles = true;
   version = "2.0c";
 };
 "colophon" = {
   stripPrefix = 0;
-  sha512.run = "1180bd69f1f0a4a8467798069c0fadf1105b46ea625fab9efdc5d2c79207ae992c61868cd9fa5c1d24b979106633ca434f7ce4bba818958395c9c70be47e2e73";
-  sha512.doc = "01176ec0b511d3976663a81f7dc9a0fee7531eac353c843f77eebd22643d37125f174c1a67796c2e439dea68cc3e4099b1811ca0b5b84f2d0503f511c62002c6";
-  sha512.source = "f318c78266bd339672b146023adcfdd9e7ea17d6d41cbf1e8f86e81cf85e10a3c0e277ace3b076793b46e77289a492803073a0fea63dcf4bfa7b465dd83dd791";
+  sha512.run = "e85dfdef7eefa2fedd6af7c0b6eb71200485b5190268de3a89cbec8dd15f8e66b3260430660f6cb860e2712d3e20e5a8d0b874592a71b116dc07de6e28161474";
+  sha512.doc = "aba1badf34551d8340f733bb9e365a99c56c473f96ed69deadda917232ea8313df800579cb347e074ff0836553bdeb49f60330883581fb3cc7a3eeedc736d1ba";
+  sha512.source = "8764595f95806d0aa8cd956bdfbec118f16376c936ae457d3d28c072eb8e2d6f0e7028fdb91ab301dfb587a721cc40fae13f56f5245b418413187f8776624855";
   hasRunfiles = true;
   version = "1.1";
 };
 "colordoc" = {
   stripPrefix = 0;
-  sha512.run = "16a98320e38c041068c403f710a0cf9cc981ec5525533919a12e71699f932f58bf7a178b04d491cda6b616406f8e63bf4ed835df6f4a45fd7eb335cf1a6b3dce";
-  sha512.doc = "a5dadd8d74de32073ed78adaf6db4d402b7132522a7b561573ec48c8a0c726a1bfeed9483823e3717925103e8dd91ee7ea70febdcd1cd32cf2cfd40e631b13be";
-  sha512.source = "d0c6b69053d88a6e042a9a5211c1bdb4aa9a60ff26039cb462ea87283316737fef3ef378ac7c6b8374f69206c73145598dd3bf6943d4335e5f1d52cbe7d77375";
+  sha512.run = "a4d87deccae89f844a6251887e4d20817837fff4eef9cbd2874bef8890d41e0ab930a3ee55fae9ee46685c6b3b2b3324b54ce8507f1cb10eef332b7a480b94a8";
+  sha512.doc = "a2e5c6699a615651dd31a570ba6524cc7cb3d2f3c8d4b1fe49092dd4c01b40714c1c534f3554fca20fad7c17fdfb7104b699a10677519f57538e239820b6f1e7";
+  sha512.source = "2c42638129705d6e08375298684ff96c867a4deeb1d836ea12f8d6b0ad9f61f6840159ed04b92f2cac4c8d126da3a8e657589635ebd3388b9d457994bbc53a36";
   hasRunfiles = true;
 };
 "colorinfo" = {
   stripPrefix = 0;
-  sha512.run = "057f88a1ba076616eb7a5fd1cb1d0409a481e5535825df2347fee112228e5c73895dfb7f467be20c88382655ad4d5f4704b3249bdb5c01ed5ba9a860cac38145";
-  sha512.doc = "381d93db9ad3d06cc9ca72340cc78484d15465828cc40963d096a6644b07801e44b958caa94aae8bfca2167eca9b6b0bdd8dc4697e99fb4c6fe4e21c64cd9982";
+  sha512.run = "63bfe1dcdfd85dd1d7d3c7c8d3d345f221bc90bd34bd75888c361d4de97633b9c14d96930b41adf63370403c858f754e740c53d8100b9eb3c5557dd66e6876b3";
+  sha512.doc = "d871a76648cd57af0bd6bd800ee8673ff07b2572ea514a3806731713d9ec4ab368fba2cf540ba71005300d4e02beb180f8eba82c0b060bcaa7a60e54ae601df1";
   hasRunfiles = true;
   version = "0.3c";
 };
 "coloring" = {
   stripPrefix = 0;
-  sha512.run = "572696dbcd6d47e03eaf2b880efe3e137e0a179a3e14ba1a6078fb53670cbc364246a51b978c0657679a60f8c3ccd77d1ac6f098bc624527430921a1d55ee333";
-  sha512.doc = "dbcea5bc6621630fdfc35a9eb1fae1275b7a9283fd1563d9547e8d41548631fc82550890923f5938f526cf4d6ff2ee0b43a93dd2ff4343094f27122cebabbeb4";
+  sha512.run = "7c89a6c53212beaa06d54dc091021c5fd57cc30fccc917ea413d23b0790ec637b6b8e69a3bf1b44d0a9ed24fa1c0dd21608b174c0230a0a94a2e5aed221be033";
+  sha512.doc = "cfe600ff32f680f7b7d3916e5a2e767732a9ab9f1e6d06133afbadc87dc1b8ac420284c75c221ed5b5a81b76f6b01302c5595b69439566775adc18ab11185961";
   hasRunfiles = true;
   version = "0.2";
 };
 "colorprofiles" = {
   stripPrefix = 0;
-  sha512.run = "eda78251a0e6610a411f7cad4debc4474ac22c1e96e3185e131295d89681ff18498c3d70446ae5a53f578ef8876db10bf8ca17385b2ad13454c8611225082f66";
-  sha512.doc = "936ebf755ceecedc00492a53843ca906bb7f58b080a0d3bdf94d8608f6901475bf34ef45b411a4ad3fc44faca566a63ef278e80dcec9dd6a990815acbb73f00c";
+  sha512.run = "49be492e62fcd615b08bb6a32767cac54a9535ab859d2a27d1c84788d4e168df2a10133e5408ab1bd3a802ffa8465a61c4144cd9cbafc6fa98f995cb7af89381";
+  sha512.doc = "ab7cabd369cdde5c2e5108b4d75d71bfa5e6b44d7ecc2eda25509078f26bfbc8515dd10a6dd82adab979170e12552fbecffca1f5bd3a1105db21b31097ec5f12";
   hasRunfiles = true;
   version = "20181105";
 };
 "colorsep" = {
   stripPrefix = 0;
-  sha512.run = "3bd8002997c223caf89063ff643083f8c13a9c1a26395a8eeec444f2283029904055b2f4c6bd1bc7ad893792c1b391ead42605c8cbaf23bc20678bbfa2859623";
+  sha512.run = "3c6387a4c538235181dcaf7b6c3ac51d2893d35fa2c18d95d85810b778fecaed7ae2337d2b284ee3439f44d3570ee86884d42616539bf61a15526aa711da70e9";
   hasRunfiles = true;
 };
 "colorspace" = {
   stripPrefix = 0;
-  sha512.run = "8d7c80694dd3ccd7f44ba9c6c714f619482c80e296d1ab186b2cc49ed3f087cb20f1c368c4e4052e14ff3a5978be711fc337e246d53a01062c2b2862f13292a9";
-  sha512.doc = "6d844943e828d102af5ab86a5326ba6742ff11ecbbe38cc3eb5b1d66e0986db72941e3f74d5b2aef02b1c3f6fde4f04f10f44aa8ec5a1067c9789a3d11df3faf";
+  sha512.run = "677f462e9ec347467ab39f3c4e776b870861ed0a38447d61a50abfc3172936c99b468320ad40a5b43713df070434c0b280e2d9d13609e141603453fa7d6c37f8";
+  sha512.doc = "702060f3a2805be7dc472bab428fad866e947d8f700f8357e897443909d555dee399ac857feb1e341875bbd4017e7e456c46c4282def6daabc092417859bc634";
   hasRunfiles = true;
-  version = "1.2.0";
+  version = "1.3";
 };
 "colortab" = {
   stripPrefix = 0;
-  sha512.run = "75c35fefba78b3fdbb9fd56fcfd31c37d1da963af89371caefb46a76da53a5dc8d3121be07b2e8ea06d98e558a9971dd37549f04c652a78809b73b9eb1ad35fe";
-  sha512.doc = "05296a8c86e43d7acdfe32d7aa04caa50aecb32c8050b339c9444691cd24c5aba545161fc35e4f6815fe69a9284d37915d469643c7e78a34f943f2988687eb85";
+  sha512.run = "460225705cfa914efc689df2d3f0c0ef7f5883082195e3d8e29e124726589fb5e9b7fc4679541b685439de097b6b297b803cf08e104ec13b849dbb26cffeaa04";
+  sha512.doc = "947e46ffe5c83c3803e40f0da9a1a926e830e2b24f1d486d158da24bceade870cb1fe580aded3838f895deb238d1615cc0e3f95a05e99800fb1bad87ddf0b134";
   hasRunfiles = true;
   version = "1.0";
 };
 "colortbl" = {
   stripPrefix = 0;
-  sha512.run = "29aff43799b1c770ba174e8348246d0a3dc81859c13f362577a2c57c82ba3b18c9af2b07919d155177cc4982a7d9dae84e26a4a9bba1dca5475b095f7359b11f";
-  sha512.doc = "1359832614041e91500c2933d39c6872081b88ada89baf0cb5a96e7a83b40769649407190291797c01e3cf837f13230296eb36ce10e003fd04d615d64501e618";
-  sha512.source = "3a3c9155cb1474d5396ccf590be1dcefdaffbd4c1b94899d2a912da3750dfe899e44bab1f6a156b1e6ba6f4b26d4a614ba78ab120ff5c3e52646a837f562b86b";
+  sha512.run = "fcfad0e46aa26afb44ad18f0dce4301c41f2db3168a5f8914eb58b2e91a53eb3fc2533249bd330152e3632b8d5ffb591b70c37b3700f6597eb6cae29804168aa";
+  sha512.doc = "e550a2e3d3d0265a8d49db856a52899eafec47db8534297bae6c85f50f9858dce8e9f989d99e7cbdff0ecc61442827e79cadb4b8dc005f6cf60c9574996a661b";
+  sha512.source = "2e5af0c9831e0aabea6079b67ea53df24953c05c1bd0ef2fc96190077a898840d530a061d585ba6a37d37686f9acc6192c1220793e373a52588009b1a134acb8";
   hasRunfiles = true;
   version = "1.0d";
 };
 "colorwav" = {
   stripPrefix = 0;
-  sha512.run = "615caba84d24d8170f8408729b8fadd4992b3bafbfefa9b81da732b316c3327d49b011b3138420534a5d8b83d69faee8ffa0346a3bd141bdbae696e4c9dd99c4";
-  sha512.doc = "8538c10fe35d3530cdc0e27b190607167af9ae036858c5692570e332bb827b8d1394a725d6ac47c72e1bd1d9b03bcc2c908785db88b8df516b51a8151b48d837";
-  sha512.source = "f112f1020e075def73049dd8ec210c486cf6a8a2cff93db2688f2d7960181cf1c8e3e564596d395a6498d25865cc326981011aa56ba05616a07992fb25bec437";
+  sha512.run = "618f813c9e009a671069a151bc6d438a42b2c589b255685d91dbbbd162e6a106164d626cd772bdb3e6538a1b010ae178dd7e1519195b6b1fee10ce6e46253b6c";
+  sha512.doc = "e042c10fcd4d2760383352ace13b2d3600682a01c900220913c79a950fb1597a59a82483429557aa7598e1cd1eea52b73dd23367139fb741ea48ee9c84c4c572";
+  sha512.source = "96ff1933d48bbe938de3635588d9a9c682ac387415d5a7c316e310ed0931e7fa0adf44185d8232d753a1532653b6bb5c0f6c402903bdab654333694f7c293215";
   hasRunfiles = true;
   version = "1.0";
 };
 "colorweb" = {
   stripPrefix = 0;
-  sha512.run = "12673691e77ec9316d03b6a65ce932bd91f8570dc3939c6063934e4d8324153f1479b0d2bd395c10f26547a140e1487a6e74dfca63830e43eb0c281fe65247b5";
-  sha512.doc = "b95aa651b349b8d4df30891dee6af6e6b1564257fe4cf700199809389ab1b7c8e77239b75812f93b7deaa02100c7aa5236a219d6337efa135fd042b7945cc330";
-  sha512.source = "e63dac77920e8a6156bb15f56d1df85c5e716ee4d06af008ba0649271f38526170dedcac0210caff368973b6edd1fbb16fceaa0543a08599960b5c40abf7361c";
+  sha512.run = "dd8e53aa707f1e73276cca9a9c5732b012ca7dcb0926d101c71aa5fe3829f07251a7f606accc95266f6c9aa4b867a38cc654ca97cc32857edc3d196b2c5a7fd4";
+  sha512.doc = "b1ae7c14f2f07405b7a957831b60829046b058f6d1640051cbee877100c98a8f47d2c1d40f60599c42ff90eed246248b4f48dd8c1d31f9d45082f9ec5c341626";
+  sha512.source = "4016805ddde5974257fc9f20a0f4a8e40b12d059ba74ed6425f206c4b10127596d579dd8c057e85289e32dc1652b2258f6d2590ec6d4cb10c72aa4a874158275";
   hasRunfiles = true;
   version = "1.3";
 };
 "colourchange" = {
   stripPrefix = 0;
-  sha512.run = "4811c709d163ba87934c396d4f1e83985af1607f15330e1146e7a49f83f203589b5831cab9e5ed082eeeabf1e4d33096b50df91fe70016953be2ee2fb00dcdef";
-  sha512.doc = "99f20d002c50bd78877fc1563a0a19a37beafa84cbb947187000092e8d1533871995548aa302250df4eca9c16eaec1bebec6d43306103f524075875cad16b466";
+  sha512.run = "dba4ef8d97324c3da71de1c6a37e268618bab0a876e1da37226ec9fb187087d39f32507e97f4ab4fa801fd4bbb98c51a322c6f2493b719133154b24223bfba46";
+  sha512.doc = "628bc515058108ba97312c15ee5af00e086ea3dc124b4e7b038b176d4175e2146afc6f571593c006d749634896fa286d16c923c17d4dc9e55e81ac3a8aa95442";
   hasRunfiles = true;
   version = "1.22";
 };
 "combelow" = {
   stripPrefix = 0;
-  sha512.run = "90f17be87dbc02e346282f47694e2168b99c9e0111745f8c38ed31446b96c3258ca287ac79e80e05fd54384e27f4a44fcacdff05f04a3533d393558458c5c506";
-  sha512.doc = "bcefd624f3eb0822118109b70b905a75abd9c52031c380334bf7c3763fd950f916fe76378316bbf8541920686d4aeae99e707ca36df83ac7e3c2734c5c31eb3d";
+  sha512.run = "17f1beb58a11f3c754c57331d1b2d9338fee359b6c27cdc0a855671397e78c0b2d29ba60247f3104d3eece22619671f56d2aac862ac404502faaea08f40d7be4";
+  sha512.doc = "82d8e60a5cd8d46b952aa27dff03398cb6e65a1c5a76c1eb260d3e30172af89206a7a8ec7ab3871d5e33e87ccc2c99e2f54740facfd71d43ea6f88821c9ceb2a";
   hasRunfiles = true;
   version = "0.99f";
 };
 "combine" = {
   stripPrefix = 0;
-  sha512.run = "1ac3db1dcc8a2456711c4182a348895760c91880c89d4787808f04cdc4f807337d053c0adfd5ba9d9c4f1cec6f477dea33b4a96d134c77e5fdcefb2c8f2657cd";
-  sha512.doc = "5434cac620a2da1b4b8fcf087d720f5af53d7ec36da698d75e0386147d0070d0673c50746db59de167ffe0523cd157c29369c996e2e188b8eae4ed56980b76e1";
-  sha512.source = "8b9532dbe365d898a99bfc5df53ebab76a84019cd3a97d5dd78b9fc3813b7e1f3e1f88c1d49ef3c38fb5f2ca105e0ed4c2fd7988c3825fe31059a0361044803e";
+  sha512.run = "9e57b01fa0a14556473764144dc3b5e4e3d40a7f913932b02826a68efdd952adc69e990ba75f6b5057d69850d3e693e1c5b5c40d2c3443aab2741ce9646d522e";
+  sha512.doc = "4e09fd0a9b587d61da2c6a15579675b9a839c83f0b38b0f958b2f4aa2c0a49adf93730ebafa235043cf645d6b8689cbcc5916e4bba92b5e30ac87a8282402859";
+  sha512.source = "25df0ae6e799710f575de4aab975f774f53abb28e627547cf61fe68a4de18cd1f9fa3a8cfd242ecede15e6363734844a8ca37b49da7bb4efda6bc90f4f1da168";
   hasRunfiles = true;
   version = "0.7a";
 };
 "combinedgraphics" = {
   stripPrefix = 0;
-  sha512.run = "accccaf617e20b555ee67ae776deab478bb8eb3628845c2de6a1cbc47b10d405d81debc9c590d1774b7c62f0bb9239a01bb0c7f6491cd0b864d07ad29a4da335";
-  sha512.doc = "bd63beb20aa2fb1c6b523bd17d9361c73486c9e528d4e54f8cc3dc1388f4ae6e88697e8e5f55b42c04dd3dd559283e494204127ad86fbd7a624833a539299559";
-  sha512.source = "4ac1e6a20e26947bbe3ce2ede052f12226930133f28cabcacc46e3bc03eef9945d62f24f04f3f254e0167d1e47716f34c4c4b0498831a9d2bde1040257ba9275";
+  sha512.run = "22d36d3a44fbbe5f11522f28e716be862d354998750492d014d86037a24407a748248571e50dc99a6fe5518d8ecbf61ca657407194a43b75510b613438fa4b65";
+  sha512.doc = "4802871f57bbc131c850f89eef43778ed25a9abb0a850dac0e91e762b7a321567348f147ae02847cad4c226f9acf2bce921f9745832d1dc298d751b8123741b4";
+  sha512.source = "248524984e09cfe3a2a6bafdb0011d3470035243807635dff3ee6e6bd5c7d2ecb0483e7ce069a76f1589dc5bc2da4aab2ef94ce9ef587915a03d285bd95965ad";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "combofont" = {
   stripPrefix = 0;
-  sha512.run = "5b2a1df350a23d6a8fa06f7c8820a65b20ce3baa36606f4d46020e6c3cad58dd4c5d1c16a4f36e3e789cd41d422ff8a4849c8faee0c384ec779b7e97be7a8aa7";
-  sha512.doc = "18cbb6692855c1304e46cb19867a86c8c476cdac5c8d6ab5e171987cda4a82f74147b898d00f550650f2a11ecbe4019f1c19dc8b1a1c398eacfd025f44498056";
+  sha512.run = "838f10474c2e89f317df4592443deaec3d1a3310f7bb2b458c2a1b29a03013c4274912020ddd9b5807bb6018b6564c11df7b14b8a6db556e8db58dd98049c002";
+  sha512.doc = "ab322618efb3cd8089e9142a28800d34724e499bacbd0cc4a0db14a409bea3cb355f50d412f92862f53c0a5f91fef8af7b652b21be0596cc9687e4919f5122b4";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "comfortaa" = {
   stripPrefix = 0;
-  sha512.run = "557beea39d924482cfbc16a4509232f968feceafeeaa68d0dd3cf78b6dbdef96d1628200967fb4c3d8f71b11d621cfe1a6f6f9a3a7d767c21cd6e6798c14302f";
-  sha512.doc = "f8502148d1cf9e5146a72491000bf0e62263f3ff36c9de83b5215326e3b30f72fe4fabd301f486945edfd20d286cc3ac4b7c01b89b60e71f2b844155eecd1bf7";
-  sha512.source = "d937e33b13fade7afc9810788848542ef9439af80b5d9ad5878abe110f5422d2ee4f6d8dd3f5af321b25fa24dd5bfcb478c4e919fe618374340dde5d0f1afb98";
+  sha512.run = "83398c18c37a1e2d2e780133910e5ccd59daffb548f689e22bb642d7a2776e425a80df8ded3982f9b343b83d3421d3d5a9f363840b5f4d9e5ab470439183aa70";
+  sha512.doc = "e7c554f3d8ddccf5660e7dd21ba4aec1412433fb594398d9e3b57f9ecd7943c34529b4ac747d9678dd30374eb8fdfbfcacac0545f12769bf419644cf79123a05";
   hasRunfiles = true;
-  version = "2.3";
+  version = "3.2";
 };
 "comicneue" = {
   stripPrefix = 0;
-  sha512.run = "9c510fcdb0ef4165f162d60272894f6061162804be88fd17f7591426d39077c5d90be578faf963aaba707cd290ea05535ff04b490fdfd5529f4fc7f2574f6336";
-  sha512.doc = "304001eb14aa91e94abc1c872ce1967c0dbbcc4b29709287e25fe783ff0263922ebcd5144c0831ad0a8f6d18920304d480dda6d48a771c5ef21eae4456d2f9bb";
+  sha512.run = "c72d19a0f5219d96da92916ec13fe333703c911b4222b60f825aa5ea2d412df261fbae2227c56844e70fcc057ed8367a4c42f17799c4b8418b02c3171b8d4864";
+  sha512.doc = "e3d1630dbecc93365e18b496565a5430e0867f3d3a82c0bedcfec8a02168bddf71d9e65b996e4682294c086d1049cf88182a36c5619d8fe6762aa1050fd923a4";
   hasRunfiles = true;
   version = "1.1";
 };
 "comma" = {
   stripPrefix = 0;
-  sha512.run = "7fb323e1fd37563a7409a7eb8565d6a55c7cfbd539e8efcdec12866cfe55fc0c2a4e14fb2820d0742ee93cf42f0f8fa2b93eb0a3df64dbabee871d2b62675836";
-  sha512.doc = "fb9e9f5b7dad0b3be66884fa24b57ee50d4455ae102fcefcb49d19df543c832f3241acf824bdca99ca4016ce088e1e6fc0872cf46c6789d3fd2ada8ed862386d";
+  sha512.run = "65c21bca8e6a707697847ff96d1cd909cbe0c7d33140b4b175a2e3464c1c67827cea9c9f65e45dfcd31fcf2fd94262daa907358341fddf351241753ab47ac99c";
+  sha512.doc = "b25433b52a32cee71043c1f13d2ca45beff32733ac24259f767b6093f5b5f38e0da3c88569bcd637267397c49d26e546c26454381cf916040c52a2833b02df65";
   hasRunfiles = true;
   version = "1.2";
 };
 "commado" = {
   stripPrefix = 0;
-  sha512.run = "c552d4be89c7075391a407386c5927f4eb0977b7b7998d2acec615929295900526370a9ab992d60b698996a15b3ab7bf2e24e39a74fd203b39f819dca509f35a";
-  sha512.doc = "e79926a469f84e6e8dbbd7d68c11eea9dcd4cd5af27f39765a8e16f57fb50eca80a41dc678ac9ad8fd0583983cab0d7ef16bf63a5362e33d4127fa4af62c89cd";
-  sha512.source = "179069e789165ce1d5beb1c2da8def2274f65718f170348b0e102bc58d3c2fb0aa283d494f79302e628f790e25a6a65d2cb6be435a3e9e34fb9ba90e8cd340f6";
+  sha512.run = "c5e48910b5e685c792b9dfe191cd8666472e24e7ef6d6c2fdb3bfb05b2f39f4d4ca68cc7b859d07f50e5d596250e36e1664e1ca48666b0e3126eb8c91d27c384";
+  sha512.doc = "457d03b34ba53988ff287060d18f993f8e01ca99991505c5373abc05cfdde4cfcdda8fbb6dc3737e91c66ef0b30c083c31e64e326c08d4959ff8ed1a66cd4d33";
+  sha512.source = "e0f280bd901ae306f17ef58686345ca38546fd635dde274456af67f41fc05523a91c1f0c0a2b7f433c992193a6442f870031459071a5d7fd6c12f68728f24809";
   hasRunfiles = true;
   version = "r0.11a";
 };
 "commath" = {
   stripPrefix = 0;
-  sha512.run = "5716ac19591d8eba5086a97ff5f2a7326f0b51dd937f87f81efa881735b5fe01e5b406578e87f80d09fc54228f20ff67d2beb462fe0c291f9caa8133f7d40109";
-  sha512.doc = "a83407ca5345925edb4ff9c4be8c25ca549ef79bc2e8c95b9778cb028c52ccff963a0799303cdab6d23509506a0b65cd4b0d228a8a3cd5708faa47265118a2d9";
+  sha512.run = "68c25e035e211107c65eece91bf84d65f2328ebaa3dc81d70186707c081f865abcb1be383cecec7d780bbebf3f565647406d6bcfc2c6bb3e846058d50882a6b0";
+  sha512.doc = "5d1d162cf8fd6692788bd15e2d3c2021fa6ed96f289f2c17e9d7e9d2afb428030f0d016f4b4aac62aebec1c8988aa1a978f71bdc7f4873e181f1b2ec7e0f6d0d";
   hasRunfiles = true;
   version = "0.3";
 };
 "commedit" = {
   stripPrefix = 0;
-  sha512.run = "475be176f6219fa4cecb991831a79bbe80d5bbf4501994025347b4bc130fe73e1bf59332ec3625a958a52cbbeed56321b646480120863154899d8cc9a35c99f1";
-  sha512.doc = "64de348b0d227eea8273e1bb1e0a661682f64aebfd53aa0fdfce426e400f5d0c067519e7d2a922be964a92b145a162dd121901c78ca77399e3d335707c9036a3";
-  sha512.source = "371e5a4edeba87eb9639d24c684f3f814cf8751c93404061e0b92f4cd2d0b471ba9ab0a3a3bb6f612cf68075e2a97088ff1552be03e361fd3f6f73fdee1f98fa";
+  sha512.run = "7a2248fc7c3de4755a68dfb769c0862332f41945a5efdac8f0b9911c3479bc45cf72ef0176d8d2ed2abe127aaf388c17c90d1f58cfea4aec8bd9e488f2d96c5f";
+  sha512.doc = "b8c6fbb8c67aeb878fef32bb6e61dacdb3ebf9bb7ac92bcdb685bccfac8129ee3145d40ae579ff77b097fc81ebe0438ee5c50c6bc3df156910a287b368728c6e";
+  sha512.source = "19db6434ff564e454ca44fee29d22bb6a930b9f51f54265955565fffd8a7a4a1be89e3475c727a47c3723da99160f4d9ad9899321913d8739821c6491117c843";
   hasRunfiles = true;
   version = "1.02";
 };
 "comment" = {
   stripPrefix = 0;
-  sha512.run = "2b102bf1c2c278e2e336161d264e04102df7ac1cdcaa91d5a8462992acece368714645a5ae12c87baec5d6de6508edc8794b4aa032cb2e58be32378b524b5874";
-  sha512.doc = "a2f8af13b9529e088606bc5592b31e5a1c3f4503420021b10203f8a22b7fcc7369cce73851818c93b3b679f989a97d4734f96881f4c5d1c7d5175c5c9bb494b3";
+  sha512.run = "36b5b4c4d4345a4fcf706f5040c02c2de52567fae76146a06b7f084d59b12d151e65faba1ee4aeeaebee018d81200c2902feb81ae575de35a68c00fa14ed6ba3";
+  sha512.doc = "d5a360c6a0c549fee1d46fa0e9c3f9aaaa4b19b30ac48046e736008ddb42393062824950684185175f8ab569cec221bc8f9a798a07623dbe26cc92a3fd6bc72b";
   hasRunfiles = true;
   version = "3.8";
 };
 "compactbib" = {
   stripPrefix = 0;
-  sha512.run = "8f40de9cd7db15864d220c49afdfa26fefd49d2563205c0b73a7693abe4509316e4d15c1d60d5c944328fd2cfb6e3cb254b1e6ab38d061bd23a66e1f99356f74";
+  sha512.run = "dbc3bb28178a656b400a2a72e48ec813d6e282ddba7c70bb4dd0b5ed7f76e9e0be1dffb0ecf43e4893210453ef420c1b1d859c287663cad6bfe8c7f46dc8d86b";
   hasRunfiles = true;
 };
 "competences" = {
   stripPrefix = 0;
-  sha512.run = "cebca8ba6243f962208b4b7817d2532c28e5aa327c157cadd6113836ec711446e6413ebc9f8fdd19e749101ae7a8b8710871c706fc754f8465ea535e280aa06a";
-  sha512.doc = "b15eb8dcb19d8d2303ceed04240770bb5444733488c2179c80121a8c2eb4fe9e1fa6665475d00c5143a0b943f68df6bf42059840a7eb72acb1388887698c0164";
-  sha512.source = "81232d5a93fcf0c2b278872d51b34911faa7ea4a92479956e651e95ec44d609093c257afc0a24454ec736960feeff7b2e335d43bfaabff299a3786a212d53c53";
+  sha512.run = "e5b2b3a77418d5bc55e8fbbc68c39b1852ce6081b00bf6115573ac29cb7c2b8fd70392fda9b04edca5c3aa1617424541fef2da4d2f777c433b8ee168e850ad99";
+  sha512.doc = "8a0078f2a3c32f03aef58a5d1ba4167ac4c738103d65cad9a5f4bae67aebcce3cb7a16d6aa27fa7b83955c95b28c1f70a0404f5633e3231c3b6d4232265e6c53";
+  sha512.source = "2fb4c80d75808aca093a664bb2ef152cb4ca6bbf1ba0253c2eeb6ece3cdd2299cf7f183423b65f47655128c3b374eb756cd870cc24034da7aaae206216e79fef";
   hasRunfiles = true;
   version = "1.0";
 };
 "complexity" = {
   stripPrefix = 0;
-  sha512.run = "8377bdf605b7d625c7148e54f84e7313c6a3e6e99b2c0fd4981df3f359f8a2af64aaba4f61954b6407c7be95f726082a67eb1a937d112dcb14419522c72d8e7c";
-  sha512.doc = "d7832068a120e638fcdd91ac0c4e50e52f151aede46fd774fddb1337276f408d61bad0656c6bcb8e2c337ece53e59ea966ad2f3169161788d41eeeafa7753d87";
+  sha512.run = "352e1a308e159e432c3123afeba8b173b28e164c81b4874273ddd3f8bb8c8866ef33ba7c06e061d52a3845eafb3307b045b82c9da5ea6a812f3808417fa074d6";
+  sha512.doc = "2ffc63af2d86b7dc121c6e122ee1d23387c4c73a6ba65b226413671b86644d0cd9e9ec646b3eef49d9c4b2d64575d83ff45f3691337ba1dea6835945ca80de13";
   hasRunfiles = true;
   version = "0.81a";
 };
 "components-of-TeX" = {
   stripPrefix = 0;
-  sha512.run = "e0c5ab27cd8d772f2b890460e83d2fb681dabe1d3080a6f37baa8fae329af2675bb959925b0b5b7a345a6633edb5d362502928ec761de977a0896818bdc68526";
-  sha512.doc = "198ff64023dbae070b6995c75e75177f91ed0598e8145f2246e0b22fcecee4c02818781949185dc8923ec8ec94fdd0539b8a1d07e304529077fdee131987fc0c";
+  sha512.run = "364836128154056aa5d1e005144a64aa64ee105c78d34127958599c8c0eb82aa70e856017be3d7166d723a0fd7c9656d72cb24e46bd61d8768c1dc82991c5f77";
+  sha512.doc = "5da762a898a6cb95d5da95f444e862c8d0ac351ca63eca776fc1a9e35e2fb00389d414a85fa1bef357abc3d68b691a36ddac8c6aba20b7ea6f398c9017ac13fb";
 };
 "comprehensive" = {
   stripPrefix = 0;
-  sha512.run = "0ee08e9b2a9ed359ae61e1c1a284a18abea30413a9a2f3a1260a3f69fd12e0a1f2e9c97458043ba30f4aa31a63f4c894fbd20641559c78e6fcd312928276eeca";
-  sha512.doc = "1088ef5e1efb5a5657d6080727b24ee9c0aee88db36392b777f057814b72925d58b28fad102d8733debd9176cc61345f09a4cbdc2d1845d8ad00cb7bf3807cf6";
+  sha512.run = "8c34a44188cb3dd286f0f841cbfd2d4760bee9be75c814041ea7d2f9ffef39991f018fce276a440f88ca8771eca0c1baa9884d2a7f60afbb788f63220b51c3e7";
+  sha512.doc = "e262b3996a745024d2cca39d62ba35e00e9b6a8ead58ae1c89c5d8949744cf8a084021beba8c611ef6b2726447919241e0f2f6cbbb21e6de4d6c15af7c7b5ea4";
   version = "12.3";
 };
 "computational-complexity" = {
   stripPrefix = 0;
-  sha512.run = "4bc9be35eeccaa8d5dea51a219025391d950ac56d2aa0bf7e8264d047943df5cf3fe6b5a3e14973132edfdd0c0a9a68abdc95d5c46e54bbd79d315b8f12c4ef6";
-  sha512.doc = "09ae63bf095fba03b8db2f54a22f410c7f0ef2642209c917826c926ea3bf41c159c234dc56849c45f1ca73b15659dc43b466d3b7bb3d7b6c85ad8ff9d3f9103c";
-  sha512.source = "fa00f041cba1a8c9db5a769d578fd17443f2b8a8a9c590250199c76d416390bdc420e8456e1258c284977806cf8b49de271e69fbf678393a44032ba6e5155e20";
+  sha512.run = "639ae984ee1b581260434ace517d8209843127795e674af045ddafe16838946bebbd2dbeded45fddf62ec0a49b1a30492db0cba4ad1e5bf65530d1d5a5df9198";
+  sha512.doc = "9daf1691d33bbf00b67b82cc29de0002e1aef968cb1f182bc3d722082582ed7e60945f74675b48a87baf67aa9f5fee4a167bf1548d3312492a8f570feda93ac8";
+  sha512.source = "37d9b700194fb1ad6cd11fd9008aa1634a6b425133365819b5f76ec349a962e44ef43e8c18572fec16bb4f7b44fea29bcb4f01936016486c3eee4d44ddfc5ba2";
   hasRunfiles = true;
   version = "2.25f";
 };
 "concepts" = {
   stripPrefix = 0;
-  sha512.run = "b28ee91e7e558ec6f832f7422a0a29d7b813fd471b927b714fc056b36bc6147c606f1a10b5e678cdc0606dabebee1753bfe70377f48914fcc62792e5162aef91";
-  sha512.doc = "e056c91d0b11ac91228c0dd248c092a2b20bbba0241f9f0fb353e0a2d91d5916baf675eb661356adcdf0fce53479715e5292dbfbf2db399c5a64d2d7a5087d4e";
+  sha512.run = "2fe917ad25df3b14bd3a20566b97a7ece0f87f79ec7ef10bcafdffde1834f6fc4bfa6775a7ec8d044e5f3ad241913b2664a7a5c25893e9406de26c0a1008d25c";
+  sha512.doc = "5519f645d55e2a3e4e5f9156bdac2ea9e4ad4735ec9104255e75ea254f45b135f0d635322cf46a5536e8600eee1447ab48753763a4c89310e92d51c94c4fde80";
   hasRunfiles = true;
   version = "0.0.5-r1";
 };
 "concmath" = {
   stripPrefix = 0;
-  sha512.run = "dcd3f16d6ed8405bb7cf93aae518a1cebeabd0e27dca44daf7ad9dfcf4d8de280bda89204d01f14e37f27a0021b65130f11ba4d35e7cda86a66633d07ae41a9e";
-  sha512.doc = "a3c56deaa4726b6fad1cc94313b4a1f869eb8953726bc3c0bfdd92c2edb81c526562b4ad69ed519db974f8fea59d6947f16d182aaa8ec95143665c1bc92d7cb4";
-  sha512.source = "b895d6861c19fd86b9dabe9cc3ad53768dc18826f2144938d27498fa5483d4bcfb80b8b63d5213106e4c3871f65c1b683dd637d976fe56d7fd623528b52d1356";
+  sha512.run = "1e2fd3339fd2bf2a48967102ca42c930ff41a5b4a9fa850cbce6aa2ed701ab351a5dfb931ed80de34aa13e18ab2b01fa2893f981fc671d6399f4d55aa9f8ea40";
+  sha512.doc = "05dbb0a6d89d3f72f3d77824670afb29e6ea8dbba6d37255f6a36006a6a6b630fb56b12815ae3075c41dd698d6a85c6be7ce1dc2da9b3b69b636fcd8c4855a84";
+  sha512.source = "6c4a5a4af907174df5fdeb77f0c4d0f554c2b8ac0d95031fe98f4a748bc4a96c7a526e44229174ffaccdec5bcf086722b355b3c4dcbc4441e1a67c91a71376db";
   hasRunfiles = true;
 };
 "concmath-fonts" = {
   stripPrefix = 0;
-  sha512.run = "bb588056335d28dd9e98aa9ea52ca8a86f019925695ddcc1ec741229444a13edb5e21d11428218058af4d609762b83eebef8ec2f00832e4a07a7635f59c7d96a";
-  sha512.doc = "86eb3cb6035b233e1363dd301aafe5dbaa619bbe92a848f3a00f2aae973c921e650b5d2f425a34e322f524c3fe29c228017e5e7ca77fa5270fc9db5769484f35";
+  sha512.run = "65b3f7003b8aaaf6565bea6a65da11f42dca2283f1d53710f4b476a48ab39ae6fffc1d0f9206e23b66047b572c28e793e1a75d047f1c1a892fb4e7c17c854741";
+  sha512.doc = "7b2db9b8f2f23816cf413676dfbf6ca3413a39bb20cbc12070b9202bd2e98714a86dcb5f27a746ae197efd2284eb794f06af1b2941667abfddb72773ceb61378";
   hasRunfiles = true;
 };
 "concprog" = {
   stripPrefix = 0;
-  sha512.run = "77a23c872dac366de52c3466e7c9bb2d1c50854a63f5ac44a2bc878b6cb81f14743547140b535fd797060e1baedd61f14bd298025ac6f1198777b62a938d1142";
-  sha512.doc = "8354e96a7e3042d6068c5ed9a58396ea60fad48b3ea0212a8e288263bf40ee18e1d0d72f63b03ec1653f200e62b4caf4efd05cce00164d8283bf48916a9c3597";
+  sha512.run = "f650acafa4ffa424451f338d6432d665ff679396ed367650d360adf699d3b1e7d8d23f5b3fd070440cb4d6578d07978bfd02960c1219eed6c8594f110708e5cc";
+  sha512.doc = "bf4d76362f7a764ae4c7937edf05a575b3faa8d6919c6c857ae350b742f53d6390546263d14958dbdfd423c9b45a7f9eebe862a00378f51c754b5fee65f60bc0";
   hasRunfiles = true;
 };
 "concrete" = {
   stripPrefix = 0;
-  sha512.run = "fd799eae8a3c15ac07f4538a146ab0f8fa0971e660cc12c9826b4816729f161530697a33df753d916dbc67a66bacc99a8cb7041c0523a74a2c972d98d9fe9c6d";
-  sha512.doc = "a11a84161e8dda4a9f9a9d318578473de9784811d3d4f5d15466fef8249e2f2cf66445e03e4dde1f947307f18439aa8f8efa8fb37ba486ccd1878afeb2a1c9d9";
+  sha512.run = "465b6d7e427e8bd7b8cfb44551d4f8999ed0e8482f905416ec4ea7db6ea4293e6124f0b69e84a84655d5230cee1555f15030c8dfeac8c7da99c1c8ba20a3d640";
+  sha512.doc = "5fb4fd77468dd4d5ba19d43d176588f05345038d58c9b0b2630e6795ed33bdb3db0053d5bb249030a118bf19cddf7c7e4d8f1ae96173b1e1368e468ea2c00727";
   hasRunfiles = true;
 };
 "confproc" = {
   stripPrefix = 0;
-  sha512.run = "ceca3e99e7ba490b0da0368da6239e8c523d11863ec3f27d1ee60a864bdd5e58be776a2a2ada7b03bdbd1c2228e154ef9c58e2271b5cbe2216b61b42fcf31cb0";
-  sha512.doc = "e7f89fcf58d9c56ba5410eced55bb54b347780e5147786b6edc9260fbf7bb545dca6819d58d7842331351a1ea2146308808e8edfa9dbe26b728f896c90f83905";
-  sha512.source = "21cd8c2c57fcc31f457af44061779e12b039ec318af84c41d4b3ed015fddba6f50b854ff65d252910a7a3f3da530e6608634d22942eee7c7baaf665c68e5cd28";
+  sha512.run = "b6e054332f7f6a239a6eb102ae4b022f90d9523628a293517b1d070602290bea8e623379b5c246fcd5b8daae29c9d32d02a8a7637cd704ede5b1b928de4536fd";
+  sha512.doc = "0bd697d12f1740257e89cd5853aac7340659350a6374c32c5fc22da4249ea08b7e176dc499712f4c2cac6641c0161394ff0433513f7ce1942d50ac69021c14aa";
+  sha512.source = "f8530a8106931edceb4c5f0b87022092fc85368966e5029ab25e9f2f19cf95a3c97694dcedd5a78d707b4d9e4a9f358a6bc4f92084a49dde7d6100b50e77fd1a";
   hasRunfiles = true;
   version = "0.8";
 };
 "constants" = {
   stripPrefix = 0;
-  sha512.run = "c3e3ae974619d9d231d6404138825fad149fa431dec1650546306359fae83705e21d4418275a4c77d7758e431b8285a385d98e07bed2bdd1649d0a49dc78b49e";
-  sha512.doc = "964fad868080b9850e2c8f6ca040a3f3e6f6bf68d7db34e474052ef2643743111bb73f7a123f1d9d2b9eb0ae0e633fbc0b72199477afbc498a2405cea200fa0a";
-  sha512.source = "f0c3e7783ab2891e717db6fe9a617b1d19ccafc568e3af0f8e2ed3dd417df56459e6109de04ace6a214618c01611ecb58cfebdb635b0d79731b2affb76aa69b8";
+  sha512.run = "c4f807315c7f95fe7945e937e750ea18c346a8ecabb80a39922a9b861e3cce3956db31c55e68a0d3417406284d7187fd3b1d1c336c0a130eabb07e4bb60503ca";
+  sha512.doc = "2712e46552a8391b0f2a95991368882a393007788cebabe7ed6c5a604eb2085b4bf00749c6fde3c88028904b7117cd4865b964d11eb443c6939e734495d4df2b";
+  sha512.source = "6ea97687aa1f8f1772ba82a09b251c557b3cbacd056a27fc45412c9d72161d04814c9478bc495ca78ba2f8796ba44b3c29ff70f94382cf173b3e6ea2eb7dead3";
   hasRunfiles = true;
   version = "1.0";
 };
 "conteq" = {
   stripPrefix = 0;
-  sha512.run = "891a8b1b78f6656dc2032dddd4b67841a512bab4d71f6d64ee5ce1949802fd7a47d42d5369a60f7e46ad77b32ee3b72f6f7febc3aae89195f03e553b58ba178f";
-  sha512.doc = "288ec6477109351ae6d987bd5c720a5cbf40ee2ed9e7a1dd254ede630110561af5e28f7a2410e842922a38eda5ca3b04f81d4203a517370cc78f7617c7f1466f";
-  sha512.source = "95f7bb07cbf6c8c16e4c8c398ceec9098f87ee17d4535b174e06d375467406aaad5bd915134c903097148597946c7606d347465f5dc2fe7a4b9f94708d0b563a";
+  sha512.run = "ee0f344ed0eab872aca3c54422f83a6f8bbed2462a22cbd54dde075ceae79dc5a01ef13947327ec726d5eeb64eee5519e4074c138f4d172bbf2b4024eb88ceff";
+  sha512.doc = "edf52893cef8c5f8538a64d626a12725b043c5f0106a63f02cad91df9ad632009cfe3da51149750d4c23c12742c00052b951ada957b89641d9a0da59e93396c8";
+  sha512.source = "d3796e7bd679bd64c59a8d16e50ee7e190f9fe3c0774ece399486f8d5df7f6f63ec8a0c595572be305532c66b94011a92bde3bb5850f2feb4ec162e3415b5102";
   hasRunfiles = true;
   version = "0.1.1";
 };
@@ -8578,562 +8802,558 @@ tl: { # no indentation
   deps."mflogo-font" = tl."mflogo-font";
   deps."stmaryrd" = tl."stmaryrd";
   deps."mptopdf" = tl."mptopdf";
-  sha512.run = "b3f03cc46d37bc56b70ac3708b85a0b3b08ec95c3319ae6a53fb573c9e8f3a91b34e5194e886312eebe9209e8b7f8bc82b8de99b77a0ea670b6f9c2da27a88ad";
-  sha512.doc = "59656734c9b818c10a871a92f9280560763bd78506727082b9b7432718c61757e1735cf85641f50531c4a51eaffe465c70b9746024bdd19ac24eccdd2c08b3dd";
+  sha512.run = "1c525a6a7fe325dddb9588d3720e806ac762eefc90848e4457fc4d3cd60c64cf7b6e5c9388a1f22b22c526e84cca512140511bec9ca5ddad99bf7b968ac49c03";
+  sha512.doc = "b172eed71f2917ca16b4ce18b24d28e51ea48a1281fa8e34a5e104363656c1492c7a79339f3d0f7475ffc1f7ea13b647513f3af519afa684231dd7df3ea3b488";
   hasRunfiles = true;
 };
 "context-account" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6be85da4c189496a01c1abf1e3525caa16b8941c1f22a75cfa65543526dc8fa1364cd54a354c509a9d2ddd436f199683e00f92a6eb3376fd45ee9e6a33d23bbf";
-  sha512.doc = "46aa593aff0e2ebd5e983b9808e869ed4fe68611d3574df8ade9d241887e3d07ff16da54705eb21dd9981c2ac5f9d5b6f6c190b59c61ca4d14585148f5ecf165";
+  sha512.run = "755ddb4c62a496873d5362df01307163c79d2a6c3fabce6ea01b442c16dad2f23d72909df71dd44eb4fbbf5c57366e20eb49bfce240807c2e2a9a52cbd76680a";
+  sha512.doc = "b19f6d0330e5da99a961304f8c022609dedb2dc3a8cc4607cb9b2ca7eda38f9c8b972316bb9fac92cc36166e1c0822afaebda2c5e2d87db1e1efd2781f51956e";
   hasRunfiles = true;
 };
 "context-algorithmic" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "46109bc6f1219a6ea1010d1715d7584490d91e3b02fc8e0d926cd289762e008b4ba719f96c64eab813d30f4e92de2c965c974599a7d00ce60c0523d770e8d7ad";
-  sha512.doc = "14ea7273dbff12c4717ae785c24684c8dbdc02f0393a0f6c564f7c4801e5c914f01f0d6f15e710f86f180c666c186bdffd21489142e6316d7f0d102ea12979c7";
+  sha512.run = "72d4bbfe723b4012f8701c2786f96009bbed3c6b4bd2129f7153306f172e72218920e222f97ee6d5ee4b863e9e915fc38dd92b0c42066385fde35c5c3d0cc42a";
+  sha512.doc = "19ba676dc7822bc0a6583d6e9e031f3780977835c10d901e1ae02fca781719a0e015ac79cfc35c908a8de40a19614fcd17a35c604c9311b50972d0706d6f07e1";
   hasRunfiles = true;
 };
 "context-animation" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6109fdc6a302561c55d192ac89b8f71dc8f55365385c1c93df73c9fd6ad59e3eb015352a53f9bb071e4bd2b7ebf701cdad86c4fd3adc53f0efbffa56a2527b71";
-  sha512.doc = "fb355b7c436cc6c0b0f1d718a6d228b7124ad8916f9f03112dfcbd0fea4b223e7c650a69e63870ec4dd54a7053207c4e1bff0452f44df7bd96a8104e8cba906c";
+  sha512.run = "19691ca3325b3f72154ac8439e616a128b5f3ba8c9447bb1e92979e175daa902cd756853a2b6e6a34a84fbe96e02771a0c6ef27ed5bbb7eac94f62dd72d571f1";
+  sha512.doc = "a06227508c2dc343598fc6878e2b17b56341f5dd86a473957318eb94ecc6e150adaedf7346ffb931eda184651efd00d8f60e36ec6ea50e9ac94e2ed096058293";
   hasRunfiles = true;
 };
 "context-annotation" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "653c0adb351f4e455b03e11dad0439a3c6d4d2b22bfb9044535a033f40df2b4e0fdf5e4f7fb3bd9cc327e6a66f8d19a764fbb8aa7f54ac0ceb4dce009add1d45";
-  sha512.doc = "71e8ad76aa78b0730b9a22ab41a66780db09573711b6532e16ad29073178b9afb93cb2ef9fc3af9f5f015af392be2222780a11c49a1bd6011edd4b3fcaad953c";
+  sha512.run = "bb66132ed1e4f146c407bb3b2852c451b82d3d06de1dc25ddec6e692d17f4d994d1a67cfd7ff711dc2de7a4ce7259b1768d6efcfb58856321d5ea5b15271cd34";
+  sha512.doc = "4491012c8172beb64478b2de5557ed8f97701cfcb3996a8a5ff9990048d79ddce8cc2796dbf4c08812bc8963c0d318f9d79d2d4c2d14bc372f06dbc28e012c3d";
   hasRunfiles = true;
-  version = "2013.05.27";
 };
 "context-bnf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "dbdcf7575b7e344cbcb91e38912c410dc0ce37a09479592c06045562e372ebd853f59e374d0401d5026a1963b9206ce3c6c91f8920eb5c473ffb2f87b3f4e9cc";
-  sha512.doc = "0e512a3aad33fe9c00420c01262f62637aa3d7da6f673e1104a7c1836a492fa419e7684c85e288144b8277e7d30b73e4b836da051b28a130023e1e414bef39b8";
+  sha512.run = "53e5d3d7c977aab648bb024942263a8aed5da6314506825ace02556db890ea23400c6de714ddf6380235c942dfc02e127736579b6be1c5b0b0ecc65d25fb0d6b";
+  sha512.doc = "d7ab60c2f8571ce2e2e96b82c1f97b140c5750324efb73275062a8d301d530279a3f9c19f6a6feebd6d7c72727d94f469d9aad05ad67cde5dbd3de9f695dad31";
   hasRunfiles = true;
 };
 "context-chromato" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6021aebd5c19cbc0a1bca3c3e61197259a75f0deb2012bbdb72536a58dc6d6e5bcd62b6b0a86914c95f3e982d58f6effc723ce3a30bb16adec5bcad019d90205";
-  sha512.doc = "c9ec185b781b0dfd30d0c6fa4935824a76f64cf64008403d349c96fd3c06fb7bddcd5b0523a5d5fc4d1ce9898905ccecf32dff18af2c5a73d4dda5a48de3aacc";
+  sha512.run = "52e11c6953e7c2e2f9a3a20b8885fd12f5abef32d32da5ae5415b0321d37ac5ff8ff5bece3d522e1f785470cef542568cd56abd509d26671da9298c3d0ba27cc";
+  sha512.doc = "5c7c7f03050b0a17dadf23a09dced356a036c6b95ca76aeb0fda583dbc490d82222de64299c121224efaccc78b62364a1bc56daf020c177865c29e343529f040";
   hasRunfiles = true;
 };
 "context-cmscbf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "ce3c14c67754ffd2d644375286cd0cfe5cdf4f14397bd9ceabbf1e8b37bd8bf4b67b3686f0c42984298e5415472be84f7b68877bc213947bfb7ba676df014d86";
-  sha512.doc = "cb92d415876d6add2c357d0f2c737aedda6ef2d760a161a26d871939eff025eaa7143c182268e2573bbc0a644f7fe42a76f5406c88af1b6d45fcdb5cc558d5d3";
+  sha512.run = "cb0e5849ac3168a4ecdd1545edd029a1622ecf1c46d29eec97b28a66f65305e6b4d3a9c83e24d78e1596c8009ad5c9a0e25fa7e09448c3e0ea492e62bc933ea8";
+  sha512.doc = "8f45989c08f09381ccbf2942a08c0b13792917a18d5b2e92fb45c7ac2f4b4538f5ffd633da0348e12835c03a6f79b0ea7044f1ebea5770365a83d2d097a56df4";
   hasRunfiles = true;
 };
 "context-cmttbf" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "e0ff7e8266977c7c560a491b966b695fa4db87d690ee5a572e472be8ccb56f8697089a5f5f63f2552136783deaaa067afc560caf933ea7cf760dc992e9b1b506";
-  sha512.doc = "2028462e737a2d3dc5e04e4eb2e4eb8da8dd3b23b8b5ec7182690b7c493daa4c439ba5948dce22c69b294cca85d28cc59d4434bbe73bc6800162942799154121";
+  sha512.run = "e3bc048c09bfdf114efa25077fa4e6a6c20b4d0e2ba337cefa0a8a82348fd3376f82cae0c85b029b863b7a5db9d9552b4fc5f5487d5ed5f6d88484181ea98ced";
+  sha512.doc = "2b55367f236330a07120229902405213a495de2ba455f333bc23e1c1abbe0f0a4be16ee95415f613d41572916722e3d023a71698f74e5e37f34a8de4fdca6e47";
   hasRunfiles = true;
 };
 "context-construction-plan" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2387cf5349e3456df61dd6817a5876d987446651b3f0ffe3ea38c695db5672ee57f86eb42e53ace12496161a5b4ae1137e348dfbf7cc53a789e04b44f9ee2566";
-  sha512.doc = "ce63c143e5d5a9c7a47d7a336a82016c736af55862a62c5aa46d52bea69a3f5c9b5e37530c5bacc5047afe41d69684e17215436700ed734d14d6de80bc08d9fa";
+  sha512.run = "b292f8e271fcac88eaedc376257ae16a401a6c31009eaa3d4faeefba25c33d034f57d30ba4638e85b76ffd0d24ef4d541dfbceb1bc0b5c806a8412d239a32146";
+  sha512.doc = "605e09bedb9e2ad1e98a621c0a4842f28592c93507c3da31f8c6437e95e63a47e795b38fa0263d7fa81fa3b8838f21d2426c8705f8e17ac1d827923cf5e88784";
   hasRunfiles = true;
 };
 "context-cyrillicnumbers" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "4f1b1eeeb6025122381336087f446fb494a817c43835f7afbb91f6deaf4239e7ffda314047ae87d6a6a70bfb8421031509392560407c9274507e5a74ed089513";
-  sha512.doc = "7c9ecf570bea115f9da4a867fa1a100db3f5d5be84e67064315a759b97546d41a452411f2f12d05a94d6e12280f54610fe3f64e5992def6699b19c86e5118229";
+  sha512.run = "14a90656d706d68ce441301aa6bccf2033c36f9c8d8605ec9dedeeedb71a5670dae325a5a198b2ca25373eb2b495e57fff31b85089c6c0fb987738c76ac636b2";
+  sha512.doc = "d95b1df26033aaff0a9f6759268ac3e68bff02556001e3f9b2bae1db68aa13c839a87047a6ae0a296f8e5817398ba35b7cbacc4f194dd93cf72684904190e7e3";
   hasRunfiles = true;
 };
 "context-degrade" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "274113ea50a43fe02f9b8c51ec49c185d42d94beab37c9462a1e3c34770f14b1d6f154886057b6f8121526c11ac36ea2debd19df2b3d566837e4a2d081b7c31b";
-  sha512.doc = "30b63eb0c342cd477bbce2d234698d420fad28979838fb8cffcf812752714a62d9bd9a03a6ec325ffe2f16d759efbc5d49144e3955bacdeddf0ae478791a49ed";
+  sha512.run = "b2df5bbee492b7137180bfe7b0b826f4149b8231b78cb839ac9716f02b622e5b3a0eb5964e12625650a224ae463714bb7cafbecae6061a6e3120022d2f545d52";
+  sha512.doc = "8f24fd70547ecfcbb163df2e3e4450525f0e56583b6984f61fb04559142bd838287e79c9b9d8cdef2c26a882688074b5010615e6d818a11f2f5812d88e31cd82";
   hasRunfiles = true;
 };
 "context-fancybreak" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2453e152e2b3aa99ffa56f972ae40a166497b5c0856036fbdd0784a05c06efea8cc019b0f812a29d2899ffbdf51442a8ad3109c5b3d0a0db66d2ee6b7d402724";
-  sha512.doc = "e0497f9fa9bf998433a74ee82d19b6d758cac18e00855e912728236291bbc66dab770372f1395de8f404372f02c13bf8ee0bdefa45774a74eed83791b570aee0";
+  sha512.run = "1e8e51de47c67a3287dfa4386f9c09b4dfaa494d9b59fe8d117a3a1b65a5041add24c36227f2d2d7fb3bf2ec34d6a5a8b6658d275b63f55793d05dea08722b10";
+  sha512.doc = "6082670766d63da902d2a53f2a6ee89fcdce942fd73439fea8326ef3117e6a5483b86d9d4271d2f3d9546a5fe44277721cd15510a9da392db36356b44ae2f36d";
   hasRunfiles = true;
 };
 "context-filter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "3e9f249dcda534a42eeaecbd4d83aae63dd598c117ad83713b3c2728b2f2184cffc33af264b70ef7e2993a9f8827132d60600bbc277cb271d4ef02631eadf586";
-  sha512.doc = "7ef047381612b397507e9b12c96f242570ec974c4e48ed18f61ba68070edda02f1ff99e110d8d16ced58bc6476cb88adbb8b3c37e6ac2fd4b07fdf5a55aba9b1";
+  sha512.run = "330e7085ce8d3e284c9e4cff349b351b862cf7e6544f736268b01d623370658de507176d3bf957f5b2bb2da28523a9b5543b091cf1dad0711f0cd38b2da30fb6";
+  sha512.doc = "f27471636d5fdfeec2d47fe901b87fb56613bed3fbf95c5580c531c5643c919b890c38aa4f33d12252d06c9c3a681c112b052de6dbaf279374c7a87b7b9ce957";
   hasRunfiles = true;
 };
 "context-french" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6e8f14e3d9e0e179d2733c4bbe5386932a9ef39c7ed7fcb99908f043410531a0cb28217f11b005d6f9aad821c08f1ee4df6bc67317365ab7ab6c62fc1f0718e6";
-  sha512.doc = "5ddbfade3b054d44b5486f2407f5694e3a16b86be3601b14ced488954dbe33bf1d94d7b4712bb63a7d55155435e4f9be6ed818ca2c367be912d11f8751e627f4";
+  sha512.run = "0131af9d1c23f612450333c2cca116d2369cb8ecd402bfb9c9abc7e473b4eab44c9962d343d7391d9d9a29bd376012c82bf9e6378a280d41e37d41736b1853a2";
+  sha512.doc = "96874c7039d9f252a9322cf84c4f77e8ca6bfbb9740e2b9fc8793dea79bf0d5f002ed1a69eff590c8aad6e43c315cda5af2aab0f9011bafb47a53da63101a9e7";
   hasRunfiles = true;
 };
 "context-fullpage" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "119c01690b881165b8c7c3e4928210e6c3dcf071b9c7d2e452656e232ca64df84d90b95c5649953045728fd65cea40545cb1877a1d04000ff111275eb6364d85";
-  sha512.doc = "c9f91af38d711cce9512d6c5d77644afcfc7208af4f9ae8e708d388e58e1529095b185667eafd6167ef62b4b31e3fdda2014fb32075db8d87886f37fdcf5d43b";
+  sha512.run = "280a16b47e04f3099a2f960435bf1c22ec623553303e339df4d06135b768cee6565e20a0c4e0c080d8c6f621a32d862ba6203daacdbf9ecd03b62829dd0014fd";
+  sha512.doc = "1d4ff98bae26e0d6ec1ce1ca58fac82f8592158f8635eeac737546873f1f468b2ad7a82b9f8956b770fdc0c01443a9327c509265cdecb90d83dca15462cfa23b";
   hasRunfiles = true;
 };
 "context-gantt" = {
   stripPrefix = 0;
   deps."context" = tl."context";
   deps."hatching" = tl."hatching";
-  sha512.run = "636470d76dd7bfddd3097483a510374bc69b5bbd7e5511699daffa0907746240e072a103d0f8e1426750767e48b6c3c975364cdb708a6dc980e422cbca05399e";
-  sha512.doc = "840074b5efce390401c607ccddabd279b494be32452f5b655ef98897ec52759e7f2a93fc456d5d872dc1faecf7fdb846ec2064f60b52a2d183a738f1cd16664c";
+  sha512.run = "e0c61179f4ecdf93c13dbfe19f59487fbce55e1a0dece76ac025a88a452e7168c5e3b84e53c01bcae4cc412993be36eb554dc5f7299fc1205f4070aa07a834cf";
+  sha512.doc = "a5cc76238f8377dc8d06869bf23a1367c880b57ba62ab8c8331886cbed145427e2819ba92965924fc7a78579d28b7c1cf331acf7f199cf72672ccb64962c9367";
   hasRunfiles = true;
 };
 "context-gnuplot" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "43aedb560660a834874488c07d8fe4a2332d50613f3eafa5caf2ae23234bffc7a2c332cfd4423d18aedf1b240aa19ca1cdc588c08a9805107d8f32c9ca0739d7";
-  sha512.doc = "6846c299a7989c198bf8024fd97952da2aedd8312147d148b0b1b08da81e62854e4d2088cebe4b4955c355aceaf0c2c61cc4292110c8d338f0a62f0593e4300f";
+  sha512.run = "d3d7dce105707bd8fd903038e458cae614ec63da7932231e1f659570ec3a7960ea0fab338a8405f2ca8ce8b03946b58db8255333d2a4ab5a659566f4d272b0b0";
+  sha512.doc = "40e471b27d53ced33590792ac62992a220357c6db1c78cba901197362a36817bc14b049f2573ee2e5b5adad5182c5bea2880c4f7a2477bcd1a06ee7ccf88b0b9";
   hasRunfiles = true;
 };
 "context-handlecsv" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "42ffac9cd8567dbdba97819a81445d326c82e477b854587a49d47c57f48e2af0633e1e5757a25e92690e24ca6bfbe7ce540705765df2cf8d6b5c2a61f7cc995c";
-  sha512.doc = "96a2a72564ebb6990d89cd01fb26c4398701d8f2e270f12f000ed5ef244dc3741cd82c1fc14efb97291b2f49aebacd8064c6c1f38e20ea7fb89d99fac9b5a7b8";
+  sha512.run = "10f862b7152e0efe2a8444fcf847ade2aad2c1499e146b94643a7e08a438359c2f7d1927e7e9773f3dd14475fb4535d17fb4f29ff053e7a29c9463f40c6e5598";
+  sha512.doc = "39330dfaf22a83181086343ac9ea7d64025fbe779e55161b33e5a9a9802e0928bb1c16941aeb307da641835aefdfe2e431becbc0cfe40ad8bb33a3816b9b177b";
   hasRunfiles = true;
 };
 "context-inifile" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "f7a267f2f84a3407aebc73ba7913315f9e96ac431edbc99f6fea5e797cc9bacf04a4d9f5991e74924cfacec604d381976a89d090b113d2b3cf17cb6a6f727d6c";
-  sha512.doc = "113c6a6c5ac51750e007a2df09c2024f8d2090f82aabd43050ccc4f48265d0a6eb81b14ee433ed8543e5861c63ca074a9b6849a68794f8317db7c30723a4fbf3";
+  sha512.run = "9dd9b61cd2b5700b0e2b6e59bf4040de9431820c659f121c2681e454ddb4b34454270eac6c442836c90f8a1819761ce0d7659684a1f0c8876fec1f947a0b16f7";
+  sha512.doc = "9635bc80ae7222c6a38004ad5f985004634b7db9596e03a23123ad71bbf177639bb1b028bdfe79d51b75c1c429c327f65c2b5e0720723d8bcdf63f4939312850";
   hasRunfiles = true;
 };
 "context-layout" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "b1313e3f6f748273d035b86f7d00cf05b70c8f9b6b411e0651d7f14cc78d8b1eabe31ca2ade6cd7f30d988ea4be4c22d00f9e0aa145a195d76eb8b742e52db27";
-  sha512.doc = "ff6ccec4f3c8086330305de882c5a438befe4240e1e524a99a05321e634de472640ae45e6f7e8266f4b88fed6c727fb3884fceac3d7b3f090a109ba0ba875e84";
+  sha512.run = "6cad00783d0bc91000ca0e0c8350fe2a2e99f7fefccd375d5bb2f1a144fc04a59f83122dcd490fc0596b1dc9fd0c0a779bfa35932362927ed50ed8df39ec359e";
+  sha512.doc = "4ecf7bfe5fbc78453cc116cf7a657f4b6ac7fc21ca7dd6da5beb0ea1af0c1fd48d6a74ab516213f49d1e29cb8bd47fbcc94145157472e3ea22b291f494fc3d1f";
   hasRunfiles = true;
 };
 "context-letter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "f6023b3e4558c0985a3f49e4489d7476fc7a9a0995200f2f39ff7f4ed2abb9135f960f8160e36af356357bae902e6ae28cf839879384d8e91765fce659893f39";
-  sha512.doc = "e48bc3616f2112f2b65b3f5a26082a48bce0534618a305b29785357655df315fcd6d1cf77519daad21473637179b354aab2f1f6512235f3c6905f33a472fbe09";
+  sha512.run = "52caf1eaef275b90c883992562b66f837d439f176c0b061836e1fba412b3957502ae9c5b9dd893e89e7ff1274d70e2ed162b75709563874e4ff6a9844044035f";
+  sha512.doc = "ef7e344e25095ebfa7376af1fcfd5f4e617e91b5841ed8f8fbd2109bdc645d71174ce7b571f2f3dbce46ea08ccf7c3c73b0075b2cabd3847c239171a7275ef87";
   hasRunfiles = true;
 };
 "context-lettrine" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "2ce8f8f99342d292a2e1fea209c63337c4ed8443abd266bbe7d15cbb884f46dc90fb1cd00592003a01f96fc9ed5c700b5f8013dede98709da66e16159bfa3067";
-  sha512.doc = "52efa1cd862cdeab24d764ed0499021adeec724405ab1ef83789f1aaaa7d43bfe13de61f54cba163eeb1af1ab150fec86d2f63ab0495cf629f71dda9a1661620";
+  sha512.run = "79e4e246a7bb0a300db53425e2769a3ef61bc0249ce57840c0b9037805e86eadbd1ef4ab8a110fd806584393feef00f498418732cfd53922aed6df67c561e535";
+  sha512.doc = "ab32697b6c309b1099b809c33182ffc48bb3019c8d520269cbb616b61e8f20678cc2cf4e7e971e06cadb22ffcee0d502deedf21aa95d8d372d1840e4fb4a6591";
   hasRunfiles = true;
 };
 "context-mathsets" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "e2916d7da6bf5e59ca285a6421da87418a55a438e29307dd58b7baadf7957715200c8345bd05f8684cf49aa89ad7d4bfbf3903f1ad5479283300db0b1511591d";
-  sha512.doc = "d698d0ecb3f65ad68fa66bb19394d52a30a2c564f2dcdfdd03354c4c4abee34705e46c6b68c26b3015a143e96e38f2dd6ef17dcf42e7acb890dee359f49406fe";
+  sha512.run = "e4c689c745d06c61d6f693a9832001aa8c79d51664c2a5d6d0c6148a95b30870063f50eecca31ac0924193c6dab8c12cd5ccaca16eeaf5f83a99cef1a8889ec3";
+  sha512.doc = "f2c33244814da8e8838483038f507fe6b3e146f37691e55a37bb5355985d2af4c5fc423318133c4f13837a3e66a4fe72d5c14f6721bb5ee0417a59691b86d3f1";
   hasRunfiles = true;
 };
 "context-notes-zh-cn" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6d321dcf07b95659734ebdfbcfbb195d75b7c53c4a7e02306501998e884a975e4f506360cf1c21a71bc96c1d67141aad04b8de7591a3c01348dd1d57fb163a12";
-  sha512.doc = "89abcfaac2b6742fa8dfd0fa309b57b90a66172e47563a181e1f721e7354795cdf596e7c0d64971e57b94c7053d5a320731a349a15b8be9e73ca745b8fe1962b";
+  sha512.run = "a05cd68d609fb9427ca07f64ba1b9ad85762464a3294653c8a790c0a6a41d6af43aab72a1eb7ef0d56a299db2f54af5666dbe974f9fdac014f624350c8bfe50a";
+  sha512.doc = "4261b8aeb5b3cbebde2890af1b7039c6f557ce36f4979228f40f9e5e99b19aa5c457ed6842f4501f4dc32f51f58d9fcd0764028b9d5c74fd07d41c8c866220a1";
 };
 "context-rst" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "be0153e9b65a52a953e8cf48d08513defff40b820fc11ddfaa162820969d7287f22d3eda417a1cc7f3507aabaf3d407dfe69fff4798b8e9b53eabfdba3d1e231";
-  sha512.doc = "1ef3289c29964d658a6621bfecbf4e88e63fb4cddc461d72571dd016993322e16095905cdacf419160d1924999fcf4593e5981df15d0ba5e5597439bc623fff6";
+  sha512.run = "f93173c1b27afe538d670c791048f495fa3f236cf75511d43b33172d140ac47fa3b5f11c674db5d515733b8ef9cfa7ac2d3c46b78b624768ee95a21884dae904";
+  sha512.doc = "536f63f9fa02e37c38f445974dab1f75b38abf0769379ee1735001972db71be10d51a1782e850ddd75d73f2a6f1375cf043684c0fae1a88b20a1650248870f9a";
   hasRunfiles = true;
-  version = "0.6c";
 };
 "context-ruby" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "99940c243b67afccfb6085c7b06d898616c1f6df3051c9b08748cb78b614e2e557d729f222b3ef52323eb5bb340d1926bc44b2282b502454ad841d2b9b591f06";
-  sha512.doc = "8b2fdfe02dec6df10f66d7a062a46a9407c0b110f999f65736c36ec340aa39205627df98c0f29b71024d3650cc2b4a374f64e53bb669e7b64f9bdfad3688ed4a";
+  sha512.run = "e219c6da61585d88f8e899278d1c85f0903ed32b6c7368cdb6076697230a0e79f5f88f53dd98514394fa09e7580c1c6b7c167d81c010107f3399dffb18b13d95";
+  sha512.doc = "179e501b428bd87a49830a68236008ea6e962b80e79ab45a0e75a7b86a7fc11025ac38ad463c459c6d290aa5ac8627da5849d1fd8f7502ea7d97696b53ed2647";
   hasRunfiles = true;
 };
 "context-simplefonts" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6a151edd1209c8f39c67215f839d74d87be1540162702d5ff230581a8bec5b3cad2c37ec090c0e1c9e842005402112ad920385c8565c8721e7f54327c1689627";
-  sha512.doc = "2dbba6d9e6b142aabd19d8ebdcb02b372cf7872bb8cceee03d672735f431721a362a51cd3d13cbedfa61bb90294ef4908d4706b9727ceb5e36a2beeefb54576a";
+  sha512.run = "7c817f4a25a8883ce052c9657a3d6117042e8538fadc8d67b4b0194abd69238045c09d365e90e555d5b04d83a1ef82039ca9631aec00eb1f80b56fbefa729cd3";
+  sha512.doc = "238babc7694bf85c81e3079b5d72feabc9c9eeea4f3b625a57ecb133d70ac745334ca0426097dccfe53e3ffe108ac0859be4da7625bb6b683abec1101367ac06";
   hasRunfiles = true;
 };
 "context-simpleslides" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "a7ad045d3d39ba2f58d31e3591aa97e943a44ea30da26cc0f9673cd62aed9891540f75fefb976b41af331dee156d4a8f68e540d4c264352732688ee6f6dcdd20";
-  sha512.doc = "3e5710dba2f88e83ddc4013a0d84e63d6790a23848dd9acda0f713c6d550d4bc17650de0193a04c71d00cddfbba737effbe5493677e10fc7071b7c56a3d7871e";
+  sha512.run = "8bc6a0ee37116c200cffdc6595fa4d6b3383dd92da869f2e142d475a5693cc2ff4745144e3b2fd5a3ad0876a5182f1824a2a402aa48b0b02e288990e16056083";
+  sha512.doc = "06b57a4d89ad4aebdc08fb002229b822073b36da4096db390ffa3dfc92c32b6a0b138fb31a09406a011d647d260fba9274144f5463a1df3c50ec816d31d2662a";
   hasRunfiles = true;
 };
 "context-title" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "6ddaed20bccab2cb06d27c485c3974a43ce9d5f18848a23c9405892b5f8ba7628896fb10dd15faaeae78ef36a90d7c4202c5fdb83eec53953d2b3aaa1f9fbf20";
-  sha512.doc = "d0b2e09c6134b073a9509c5b9e6ea78085600678ff66a0c82af70513ef8e997500d9cdaf8c36486ecad675f04d8ab7e888b14d2eadd22da9dbbbd11291d342a0";
+  sha512.run = "bc7d6cbd373cb6d6214489ed97117929ba381626c854a0a5a950bfa44c06214991d7a90290793c825c96e6d22ba1f6807054d4553d1d3980d9d9bc0e6dabafda";
+  sha512.doc = "3b910eeca8c8a442939873e082a4025523472b267ed3268e63cbf5fbe0821c9db8d8d183058d139aa02233dfdb6be7e23fb9df360a490f7d551875c59753c7c0";
   hasRunfiles = true;
-  version = "2012.04.11";
 };
 "context-transliterator" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "ad1bfc57346c01907d96a8b2a56af061eaaecbfda418fbc19d5da8daa9ca3c2ee7a277eee76adb70270b88c2e6b964df79fd7462e4eb44f7a987715028f099d5";
-  sha512.doc = "c379ab41c05bd3bb8b74e5aa0ee715f1de5650e25661942c7c6b198e7b56cfd32ef18fc543cad670187b0193ab5248d4e92b0b0dccbe8c50e48ed8a88def323c";
+  sha512.run = "d41cd0ebcb99670bd48f8becde633c21401dd9044bbf93618a031da10c59bb8f6d4d6bbc68eecac75965b26f5052f797609d67d791cd7a281f72cd062d3d7388";
+  sha512.doc = "4dd501af23511dc81853ddd48ace2aa572c553aea0ba09cf2895b8bd05c4bdf08a6f5e254eab88d4098d441f1d410c0161b1e8b24e3ebf88a38bf364e90b8539";
   hasRunfiles = true;
 };
 "context-typearea" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "125d837f31cf3f41ae6e6f7c561ece96f5a75492fd77109ec8d51d70202ec01a279c4d6240eff685d7c263d40dcec0636a7419b1a5d6a6095430dac0379a003c";
-  sha512.doc = "e49544aa6ff94b7ac2dd3f4064c85d9c375f03cbc8756df40bd68c4424f91224d2e58c8eafbc229ac7bbc02545ba8bf3dd53f31a9cfb9de45d692a266fb57241";
+  sha512.run = "c4a2f2317b146b31102273e9b616d403d4ee836a61fae96bd9315670b0bdd5f9d94ecde00b53d2ea5f7073773bd8af5c322b07c3b05bf7ad5262a9f0e0b623a1";
+  sha512.doc = "7171bc5c5e82b3897f75421e745e876c2aea84e9e9cb74badd6dedc75666b8f9ddb8b6d11c523ea64be6b57dca4f84555827afa32a0c90f6df1c31b68b1f6395";
   hasRunfiles = true;
 };
 "context-typescripts" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "c2b587c8c4fe62c86fef355ea8e1884fd76a1e828a7df51d971a0993410c9973568ef857bbadcd3eb4f0659b66b389528afd3c9aabba1c42c2cf0e743f586d6d";
-  sha512.doc = "69e59386e1c699c5d070fb2abe14b2f02b8b6ae68ba3885632fddc6415b93e9cfafc694d998b0992d5aadc6a858eb51b4cddca421e01e094a237edf0b1b3b2cf";
+  sha512.run = "f2d43256997cfba2ab2fe0fc8ebe90a3798bb42e6d455fbe84540654a95fb06a170aa19cf11e4f3477517473b21fc05426247b1f1d39c9132e703c0f1a9a5d0c";
+  sha512.doc = "de15432472678cd9c7bdc0e2597f1fe02275fa986767f269fb4237e8d0095a1100908e0b46429741c8ffebfa84fcc27272045314cfc185ccaadf5ffbbe030f69";
   hasRunfiles = true;
 };
 "context-vim" = {
   stripPrefix = 0;
   deps."context-filter" = tl."context-filter";
   deps."context" = tl."context";
-  sha512.run = "630cf92427d777d48b52be13a8418e1be0d6cefb21303f3af4b9dac3ae976d59a1aebb312e010b63149ee23865e991baccc4cc5f5fcd552b0c7fe966f51aa7b7";
-  sha512.doc = "982201a594aa45f1fe80c80479391bdd2775f83846824d30de0a27d608abe8c5840607c8ecf214b55c8df41378a2c174a45d2d11083712a9c53153538874affd";
+  sha512.run = "3e32d0132997f21c6cb5d4c5740cd2ef4db3894343196f3cfaa8e046a289082b0b16e811582124e974a93df1606ed4a5b6a1284663eff7524048eef098227593";
+  sha512.doc = "01cce32879386b537a83c203c3327dfd0798f75e781c631e24357d290534a657280b009549adac29ebc237ab1bf228a7cc6f513197c5fe8a2f6867c798f44949";
   hasRunfiles = true;
 };
 "context-visualcounter" = {
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "da05db90c965e7937dfafe51e36dc034357bc5af891ed79149fce07ee90961127a2af46eb1c6dc10c387faa47236e0544dd90f34dd8d7dd7337753900d8698cf";
-  sha512.doc = "d2ad6d2bd6d3f35bff6a6799cc1781a2d09b38dda6c35866fb0ccec38abd6686cfffcc50c8f972a08d5d03fe0d68362d423c8672263d5baf22bf4692f4bd8dad";
-  sha512.source = "fb83b4dd0441b5819e6bcbd13809e3d8692c35a65f0f9091f15455bfeac1e3635b65b173b50c2678212d50056b93656fcd8ec2ac759d72399b9ed87066b636cd";
+  sha512.run = "da7799ee31a4298f8e8cb02cb4e480fa49fb4188b776df877648c663c93523636bdd7fa6ca5eb403fc8f3483064bf223fed042c1d27eb0817c224ddf8e21c673";
+  sha512.doc = "1788355ea4109e7e2bbaa9bbc3798f60a814d549d082638a59a453cc5fb39b54ff8a00471a28a96a5501e91899874ae19981ae0f8a09b6353d19275b851b9f80";
+  sha512.source = "39bba551e9f0bb8d70c0b60a2b0fba3d7cad30555d4052fc6ae722bfd9cb79d5cca784474a9f1847faccccb1618662bc4dd2fadd1fdacaf2f4cc9c035b5501ec";
   hasRunfiles = true;
-  version = "2013.04.01";
 };
 "continue" = {
   stripPrefix = 0;
-  sha512.run = "107c987403a5954c9ccc03e59f4d5cd22bb1c5eaa43922633300f007b673725a6fc7426b002b218eb93802dd8f3e09a6f28030fbe3465fa6dda77b29a4070838";
-  sha512.doc = "ac78d84e83c7e5b6bf8c21be8c0ec4918ee8936137ba3376a1f65b4a0702b4debc62cf8160c9150574350fd9aeab85c36e9b491f252929685942566ee339cd2b";
-  sha512.source = "051e56692a7ddad341587fbc7c5f4f1bbd193c2e374d501177fb9b36b990e2333eebbbd43d15713d92f58ffe59cb271b11cb67cfd8b8b8db864bb3f3fa4b18e2";
+  sha512.run = "42cda9a2796e9006263320163777df7046a79e38cb2c0ffb53f23c27cc03c686e00e39b066228b09ca99a6e5c2bf4a6cb32d5d7c49b40cf614c542e258968ab9";
+  sha512.doc = "0b6bbf7c3123b7e741255bd3ff9e020ec61bcb81a236ddec41e709f14de514057d9b902ad783f48e5c04ba1ca6daee31a38f130649cb0e5b2d548ca9689d5dca";
+  sha512.source = "790671ec666983e4ff5ff594b7df54cdf7c9d136d57f9004f5400857c3001ffbd3a13a5fc559f3ab75a168c66fc5aa2ee3b5702e5ec417c9a31a1e65d18b801f";
   hasRunfiles = true;
   version = "0.2";
 };
 "contour" = {
   stripPrefix = 0;
-  sha512.run = "a81eca4eb5e8bd5fb426221eb33d712d0cc584dcfd359c777bdbd725f6c5d6ab7403e2af8d53ff5969695e68237684272708a02e276cc7859bb09b85f40b583e";
-  sha512.doc = "911163363093e8dd9774e3b2df387ad490accc021b6223c19a95d8638cb400874f71951955f27e362b68f6602c974bb9fdded625098ea04bfef5360d8ee58046";
-  sha512.source = "ede0b0c085a5ceaf06a9c7327a2a958a80eb98cbd6e3176e486bbd2299325eecc0386cf46d262ea0e0bdf8d3be23509aa548f0ecd12d61ccd0e77a27d1027098";
+  sha512.run = "0dd4a28f97efcfd0459595776cbab019168fca48984d78f9ec17e0f3af9dbebd378adc6649bce6a9a999651c75316f3ff44e0f10e208465dda2d904d080c41d3";
+  sha512.doc = "af1c649d2e5666ee3973395babce4802da2154ba95fa7fc08e378c261a8ea1c5be44053c40c5cc1bd0c74e2c54b659470c3d45063fbbd4330cdc5e664f19bff0";
+  sha512.source = "377b4a92031cd957b15d232cda9e4c2e7488a4c71624eed06dc2edf9dca37afc11e18691650ea377da2dd78b5f636272eeb6d94bebd99ad5ec1ec477f7b65784";
   hasRunfiles = true;
   version = "2.14";
 };
 "contracard" = {
   stripPrefix = 0;
-  sha512.run = "eb25275ebd6afa6bf1225cc4d862de66810ee6bc8fd9a50332843572c1a5932ea4137a322e254a61e057bbc5bd846f3a4233c00b4fea37fb0480788babbad01a";
-  sha512.doc = "90a85621e86703b2576e1aab2ffedb129e8481127a05f0c506da35e98fbd45f47d7c3eb82b2ab7649f87d6ff14f2cb688f59f1361619c2edaabcad71094c7607";
-  sha512.source = "73a21a2d8d3301b33f2e167bfcc14aa33a7ec57d22e9d9543f4f6a659eaae400374de839b69d8961871f47db08781eccac1a97ddecc2aa0bca8b8f4cb9f6fda0";
+  sha512.run = "07c77a1e864c012a88be95a98ef662f5642fd63e84801a994be702f5ae2d62100b02e109ba6c775f2c8d11d75627fdef48acdbd55bdb4735896fd945edc4fdc6";
+  sha512.doc = "984acf51897209c3bc3fe4760088a6b9cbae613acf51c5f8c848dae3a3d13e5e8171fc62db25dcea267cadaf9f2ba81d221085ae90a7da1fb5e6d0dd8e243f10";
+  sha512.source = "6a0f0536861da9f012b5600fc1c635a9f9124c25b4a5d9544ca00fbc3770760c0d1de77587452d33c254abec3bee6fd923e31f2bd34581c467f15d1d658a9cae";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "2.0.0";
 };
 "conv-xkv" = {
   stripPrefix = 0;
-  sha512.run = "74aeb5d9e7bfded02f9952a9e41de70e035647f23b9fa9f5a9f2bb8c62f3087f2e31894d9b29a252c03748de4c124133a44ee06fdf9a963414f59fa9f474b104";
-  sha512.doc = "a440fcc7bbc5690d24f25221595372bf7af483c4b7032c08a99de3c9f1f316e5a3450808354163901a14ed5b9205ea660b62d3aa76d485cce7b5dd6b6914f2fb";
-  sha512.source = "153e47449124c612cf95e30e8341c6f8ca4e1443bf6eb4812881aeadb271aa7405ac4f1b5411fe99456147cd5c3e654fe4c090cebee81b3c411e480721891a13";
+  sha512.run = "7bbbcfd71a32704f2383289d91fcc1b5993aa9e184f5d974f6dd5592312e85848a926ad9e6f412bef801daa20cc2b9c999ba137b9b24e31facfd6931309630df";
+  sha512.doc = "c1c923008185db09b3e7cfd90bfd9b33ca2a61ccc706b0f9cefb238e0860120da517fdc7166e4fe476a1cc02cb4a7a3fe4c9b81c87c8de25ddd1c0c417dcfca3";
+  sha512.source = "edd5feac4453010dd996edbb3741339904b0380c021f9429933f6b27df6d9c002d593d617467043ae6087de3c5842fb7a4e8ccfcc95c7763e124ab5f5c9dc024";
   hasRunfiles = true;
 };
 "convbkmk" = {
-  sha512.run = "4203c24aabdfea7ebfd8383f53be88b01eca50257359174a768896a81701f6c18ddc87c79e93e2869ff777436d76a223dca32489021a4a334d51384dbb0ba8a1";
-  sha512.doc = "f30630ac2c58c528f46fe31b823491ad316d7ec284c8742b1dd03d576112ac50941db387f2b1f281623b3d28dcaee0041393fbef5d78236a6bea3c0b1e70f728";
+  sha512.run = "01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd";
+  sha512.doc = "937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506";
   hasRunfiles = true;
   version = "0.30";
 };
 "cooking" = {
   stripPrefix = 0;
-  sha512.run = "1a368807b0cc958c916ae69c23af17902fa9ce7127efac84f89793bc4500418a1146753682f6c00b8dbe1aad9d899fdc13389e50a35499eb850c2769c49bae4d";
-  sha512.doc = "22c55b78060fe171927fbd83f4bae1aab6f1ebbbc2a301d6411b92bc479747ec756fc1185edf739aed0885536372bde3bbd02489d534fb12091dc386c9ddef10";
-  sha512.source = "b7fd5e2ed96f98f73daa743ddb907c2b2986b37c1aad1a1e7a65cf1c2dc116354555e5c2324153cacc616a27e52a1dfea429fd3e830d774233d5b74b96dbe721";
+  sha512.run = "6c2fb1adf244dafa9689844e1283dce19786e2c1df170d4172d3567514555d90adcb82414f79b5d9dcd59cfdd3af5d6893fff57972d6e4fb32196add0ed5b1eb";
+  sha512.doc = "30cc2a5b4679126cad1b13785081d924f9d455a5f392e5047c14c8ce1dd3efca102bafb74e1a339dd938680f3a95111a7025a31508ea63108eb33cf32b03c9c5";
+  sha512.source = "7b935bbf1a7e7dfeed2db1c4725e38a3bf847822dee7da8d6098e7df82b5b5035b47ce3f0b9403dcf35028b319c2661b0bd8288b8a1e80395944532777451bd9";
   hasRunfiles = true;
   version = "0.9b";
 };
 "cooking-units" = {
   stripPrefix = 0;
-  sha512.run = "049035772dccfa1c5c1ce2de4c0f7074508809484c27caa39a89c25d3307f4099c66f3258509ffd765eee9a33c14b1ab2aee8ca59e96c130f3ca2f3f36bdcb14";
-  sha512.doc = "c8834bb60eab775d117189df323f8f586a9bbfea37990906daebe4cc48a7f16586b23574fa3f795229ee07e004d7d52f404325da170522d9115b3f133537d70f";
-  sha512.source = "3863eaeddfcde279a1f12f3207e1f77c16cddb47d6598cb1f6c13e6803363e31d942cb9a0a3f5bacb485bbc532fcaa83878f1c5e960d148420da45fdc1c5264d";
+  sha512.run = "d37a80797b11767dca8494626e7c7fb7b6a64ef216f2f278935d5d1078547239e05b1d5945d03c1d91e902cf979d492d5586a6d1419df1a17192ce77d4c20d22";
+  sha512.doc = "06cfb266d9676148b305bb4e2a6b49c802752195abb4ef7510aa226e10b6d9f804b7e9bf45e8c0ecff19071c1aacd6dbafc9ff89adc55830609ec158a3ef2468";
+  sha512.source = "2a3ee2c632a544708b192b260809403bf6a9124c2207babf9dcce20d6b8869d01adb5a37a2644f6263c59d4c67eab11461484d454be67744a8243f6a08f9a4ea";
   hasRunfiles = true;
   version = "1.45";
 };
 "cookingsymbols" = {
   stripPrefix = 0;
-  sha512.run = "5ec5e0e19fffd9eddbcada800a0d57beb62581d7bd1c268a5eff19df652e1edf3a51061ad4a8e9d5f19461e73d6891a38c30a9fd031f3051393f231b6a9d2287";
-  sha512.doc = "557293dc0da40248f94d87bb03750dfc1f04a9e3146528d168754a3d21ed86e96c73df088cc8b8b8dd635b1b27f260bc9777a9d73f9f8016f383a7e96f8159af";
-  sha512.source = "525c3aba4d1abc56a343b709ec22b712157a4f6464c7507608923bc677a22d50fd26d852ada65863d0fbba7c716b1f4247fe87008a357ce9eebdec2db2b8974b";
+  sha512.run = "9b43ffdce038ebb001c0ab6198fa2d92ad6f1ec6040f1c315a53fbfd29367e5c851f4015c36b0cdb2eea84f4a8dc90aa3d5126a09f93766d614931bbf555f982";
+  sha512.doc = "fb6794942d016d12f527b86947c7fae9947a7cf9122a7b26d39bfeb6d5f55a7cccc11b666101b0c80a92c7385ae8305bcb4d792baa0974b738af80697ad12891";
+  sha512.source = "b2e8ff3274ffaff3a3f5b3de1ab95a534247878f163cba8cac9af0cb49c59c54f9ac7b362c75dbc394a3c942864b3255ed28310ac5ba842b5b63ea0d0d80f7d5";
   hasRunfiles = true;
   version = "1.1";
 };
 "cool" = {
   stripPrefix = 0;
-  sha512.run = "cd537d4145b0a2b01a5198d7a673695c4b512b076ea32e76561af00ce508bd3f63c34a5bb5ba41a6fba83c481ad7d95e5b872440ee87b0823ddde79630c55f34";
-  sha512.doc = "49a43f6795e82448463b7defaf88bad7eed76d2171ec0c53e1adef5ea4f15da1ce4fd3c6a444b5e70a4be35ebd165be781e6d91d85bb64d0e3051a2a7d8f8d28";
-  sha512.source = "ac87ece3b25dd69adccc11431d4cfaabfb075a0aca77fdc02c6da28d029f140b0f61d49a8adcb863d15c0660e8ef5d50aa446af79f99e0a4b96f885556285988";
+  sha512.run = "ec5b1612484852897856b58bde90aabc3e8c051f6a14674f2bf3a121993ce074214c3d61c7d074dae54e227c759630cff71793ac1ff433b048f3a15f90038c0f";
+  sha512.doc = "bf27e08a04f02f58ffb04ae0fa7b26860ab4129d3de3e2ab20d244a99c96b112a7a3dc10d064a364e38a80c1087ea8c693e7e7538a36975b6914f75418a82547";
+  sha512.source = "1f5b16c0e1d4598ec4f4c5981e079537b0142f92b514d1f3dad567b2a71b02f9be0b3441087d7a973750f308f691270e750d75f669784fa3c787e6bc919d7e68";
   hasRunfiles = true;
   version = "1.35";
 };
 "coollist" = {
   stripPrefix = 0;
-  sha512.run = "61a9e0e1d5f6920c964bbbb08e5af1154fcd52d582e738ceaafe9cf0209d7fd3d25a54cf069d858588213807c8d533da5a4ee23d5cc43dccef2e701a7e7e021e";
-  sha512.doc = "4da42e8602d22a4cc98ed5e10894caccc98abeef4f7666392a55bf8998a723be46224a4a22785be4a3a93c2005a90b90df48174ca12b122ad9ff05b11549c254";
-  sha512.source = "732d1c3ed798a95d339600f0e2f2d0d11dd760558677d03f8eb1a34a878b5fe96e501f5c1a685461c2fc109c1ec9a7d7b17ddbbcef49d9200369841366ef9f17";
+  sha512.run = "e7568164dc7d7aa9395cd79e52e4f58b1087d1203d7ad73dca6aefab9222af6875cbacd3270d3ef193416c1b2d893877118c74a206fdc813b3fbd52935ac9d7c";
+  sha512.doc = "6e183739d0dea5e0da341381c06a671879caf6fc666a74c87b8c3e9df425d3a99cc4ca2f2acb32969cce869a496f0a50bbfbf1351bd71e177b63829bd11aa6ec";
+  sha512.source = "5c49e978c7d2ecb73de8a1b5284bbc81c10ed311f67fc2c435d27ebcf048562e2329be02d92cb829ebd497e5cdd11660ec1372bd3256bbce0037766ee8fb647a";
   hasRunfiles = true;
   version = "1.4";
 };
 "coolstr" = {
   stripPrefix = 0;
-  sha512.run = "ee2b78faefb88db52638b362114b552fc1d15bad4b6a5d00fea7966fe849183e35fe02f8da1d158411de12c6c6a5169f1d0aa54b4ccaf2c002aaf203f8a357d6";
-  sha512.doc = "4a7f70afe1ac773456b587e32590c1dd1750df5c7b5b92ca8c94ead9d71c523de48e1ef0cfd684fabec0ec85caa76d39b323c4f3f25a6f44b8374bb4bb07683d";
-  sha512.source = "730ce85ffe38653fd99fbd7ae60dee40a8d7e33399e80b87e7c4df8019385e9674815ee284335651c3c09cc469fc756996cbd124ca98208f6f75a87e15a48299";
+  sha512.run = "d4fe8de308d6dd9711f1d877fd1d5ad32f36a4d6cb17480571d88f4b63f9441fb1db217629ddafb25e774bb6d43d148742f9e823e1d43f497a9799b869f90b62";
+  sha512.doc = "63c833be3ab646ce509e5082af3d135d81224c7b586f6998e5fc7410f2ed0e52abb05adfb49d78bae721889fc522395b53810e3ee627184de83dddb198cd3083";
+  sha512.source = "69ba696387583767b4c4d0b196c2b37000da16198242ea1ba4e2208fce6dab8eddb2bd40093eb092fe62b3be82aacab4b11ee35e2f94422eb07e0ad489709930";
   hasRunfiles = true;
   version = "2.2";
 };
 "coolthms" = {
   stripPrefix = 0;
-  sha512.run = "20b7ae10129a0a0202efc4c39adebc628fc309a87a52fdaff064b0e781339b7fd903c31cda6a148216aa3b17707c3625b545c1ab68e6dc573f0fed2900a1dd02";
-  sha512.doc = "a66f3e1d29327bf44dc3dd01de7d3934e0cd6dedc483c0617e530ebc5046189f47640606746c27a5e1e8077b135719996c90a7931c36fb3a3fbccb702151975a";
-  sha512.source = "2ffd24397f10f3f9b6d220ef21ddf3680b1a141529ae3492c107a9b2a2c1226f43c4a41c82c779fb85e8d36e0e7565ebf37949c925b1edad65cd9867301fb5a5";
+  sha512.run = "7a9d8f4605a0ff108ef5cb32ef4b6f455d16898248fee534e6557d8323c4378c8299fc1a6d58dd491020090ed4fdd3e41a90de99d18a9d114b72bd57b27b5e7d";
+  sha512.doc = "2f5ff3ead76bc83138e41ee881713829de7b8b0ecdda353fcbdd9ebdb7851139eb9022fb4eec1a1c03d125f4106ce748123a9d9fcd76859e82158a541aa20aba";
+  sha512.source = "088f76522c4576925af08d387ecfd18b4906aa91fa741c4848eed49addb9a9334b3f27de30c516e7a85583a450fcfd0c7054b071bb926eb8f1f9ab54b5791ed0";
   hasRunfiles = true;
   version = "1.2";
 };
 "cooltooltips" = {
   stripPrefix = 0;
-  sha512.run = "a87d6aa09f7181e2e23c298459b6dbc99cfaefe26c5779806f2c2bb58aaae11aa77b911bd66ee4ac79a3ff45f9d12d9712ac4fbfa9e2c5e7841f570b4e37c103";
-  sha512.doc = "c81d621ee1921cd9e218e2c187d3ab1c6d2c71140baf84ab2b387d2dd58bb7b7519d6fad719f53e96b1157d27dc0ce1ca31c1d2056b57adf07fa1f9779237d91";
-  sha512.source = "5f007487db12acc447f79d9e10825374e083225b074ec87b4463a6a51b924af3812d4c9369748f7aa537ae9c1dced5f54c4df2d94dc607f195f07b0c2a0a51e2";
+  sha512.run = "c17cb15979b575ece2c16dac8d56991c7cb32d99e165205c099b5058b658c60b393696fee5f7178611d5ccdf1d812522640dee56c1c4c881a73a11edc2ec8799";
+  sha512.doc = "6a091ed9c41f4cf31d9db7cb2c1c76a342583f9d568ed89380bb624fba35cb3b788abde47f746b0e8a0402da19171fce72c7f356da2a2e4cb8264452f727eff7";
+  sha512.source = "8aad4d9623d41caee76932db0a9436760ee5aef346c68e393e39fbc1ebdebb643b7b5215c232ef04f7968c34e3d0b73e0f4a23d2e060930d97b3a047d1bce149";
   hasRunfiles = true;
   version = "1.0";
 };
 "coordsys" = {
   stripPrefix = 0;
-  sha512.run = "fee26ae109aea045d34266b82982cf01735d1e2287e0ffbcde79c4c358113105475cc0f9fa95ef41e0b9434ebf51aacefe0fb417ea6b0dd86a4c7f2d3fbb7e42";
-  sha512.doc = "80eae21f13eec9f37ed97049f283c88d938413010ef0aae8538f4e81065df3930aa39bc77ccece0e88a4bab42dca2afb59e64b1e7ab8a19a340ba8a1d4485556";
-  sha512.source = "8550707098bc5e72ac8d2d2b112ef77e8b1a96e65941d7cca11144b80e40c09dab7047b2aeef7267b21b27abd82fbda8c0dd5b44b2aed1bc97823329d6f21942";
+  sha512.run = "83a57df64b3386b7e927ca30b4b2ea031bd656121dda79dba0f96779e77d733d2293b80a3b08081678bea9b31a31a586123e9866c6aa595561843af3de0cc4f6";
+  sha512.doc = "bb89a04e5889c39c23ee65c38232cc0be931dff383d52614e290b6bd8ab23e7c9063fd7ea656dde896c08830b8c7c85e1da7f56728fd43a1bedf31bef6ca2e83";
+  sha512.source = "dd03bf08143a43b3486524d4aadac592e3e2264d23aa45fbb499ec7e709edcabd87f66fa38349edd856a09fb6d55ef466d565714045559b9b7f418a7d3eb5acf";
   hasRunfiles = true;
   version = "1.4";
 };
 "copyedit" = {
   stripPrefix = 0;
-  sha512.run = "09465c229aab93e87a0d25c96fa9ba34a982b7e8f5ea91bcf0df7298e0218a980cc51e46b79cac71209b8897046381841ce778f7a7a20d93fa8ce616709d0b0c";
-  sha512.doc = "7cd490fa93566a74ff39e1b2cfacce8567b8b11015f3869792d646e5eb0eabd0c425b831459733d0a748e1e42df6ec964607795cba63cd0511324c06e410a67d";
-  sha512.source = "a543d5c235394ab0fc870d1df685cfbe46e6ba3ad141a7bd54bb588d6b785227bacc8295ac5f26624b45c285c792db84b286d696481c9496e3df076b52cf7dfe";
+  sha512.run = "27f48ff201c66d61ed7702b4d11f0d39b0c74974ea3a90506dace0f3cb4ac3c4ee5cac28f9669574184620b3e64a4b9ef3fa5564213e3d200754bbab791e52ea";
+  sha512.doc = "60fde840ac3c6876f031daf09e852ddf79276d2f841dea2ee5299678bd116df31b2ec2dfa6d6175e45a42fd781be6935cbfa2aab8621af641985e3df2c665fc1";
+  sha512.source = "7d2bb6e2e8c036345e301d45c03665b6c8ae9dfe91668f354e77e30e2d8a47d1b6db2e7032717c4b04e8e122952b916459b991fc5b566a020262835bcdf6a6fe";
   hasRunfiles = true;
   version = "1.6";
 };
 "copyrightbox" = {
   stripPrefix = 0;
-  sha512.run = "27fcb0324e5116eae66bdce9bd46f9edc6e1e140a393d8fb7afd0e6524f24e8fee31f9b6efeee5f47fbfd8c4dd06243220bc1ee7e3d58ca5a091942d76e506a8";
-  sha512.doc = "ee4aaca87bd90e0b84b14b5927bab39f0b34f90eeda450d17afbbbf070ab5efd4d4f233ade4551e22ee4075bf140123cc307907a40b3696a9d3af3051462df55";
+  sha512.run = "2ae2afc738cc906d24fca0a6319c98dc1e9382bbde6db3d0c3a371d3de8b92c30b3bf05be04797bc0ed6d905933a50e74809eed52f06cdba5fc5088be033d4a9";
+  sha512.doc = "9b817f2874a35f3e023774d3be32e0f8bf53a26f9daf553525c95ce0c21a64a22c3a716fb20cdc76921ec90b7b5305f305bf44853cf87d13ac38ce853ca00ea4";
   hasRunfiles = true;
   version = "0.1";
 };
 "cormorantgaramond" = {
   stripPrefix = 0;
-  sha512.run = "6b23250c801a862ae41f588426fcc561c59729963ec6307d0cf9bd631c369f83c6bd8149c340dd75190dfb343ff40006c2f62cf596262a812f8cf0a9c8fa1aad";
-  sha512.doc = "d33c8eabb4669083082f87701451f27dd37d370dd8ece23e92c07c42d9f903f80ee88f70324d2c1e569907e40a16b68f13aa2c81b8d39ecab1e3e83300f5e2ae";
+  sha512.run = "ebd296acc2bbff8ebcf0142f4e3053d3989257bab98366c80bf81390fa711d95b84f537f394cddeb9c034b079572c515ebb8eabce531329ea3863601cc564617";
+  sha512.doc = "ce82ad39ca86a383bb28b2c766f3d48c7234fc8c65418a8cf90c63b580a2aa92ca0999d90c44cb0c35e119a8f34a601b02ff921433f373d8c8dafdbe04568228";
   hasRunfiles = true;
   version = "3.00";
 };
 "correctmathalign" = {
   stripPrefix = 0;
-  sha512.run = "f6bca1a4213071a6752b423eb9b05383c2b36398a14994aa65c698f1b694f96a103f1dcd952ea094d44d88462f175c97af9e1f58598ce78b81d56ff366f32d39";
-  sha512.doc = "495caf73049a14a82889b87954e5b0c3d8f9a3dbdf70830ee440a21bc916c752d3cc6d80257b219d5aec8ffdcd0f75f17b4bb92e404f471c83e04824c06b16b9";
+  sha512.run = "5a7e9b3b51ae82980cc1ab9d4ae74aa0b65afa533d21230b1f5e6867bb6464f910a07bb1c38621eb18d8bccd8bc50260b8741752936c310012590706726ed6f2";
+  sha512.doc = "bc6c9f24a4107d28120e6934f6966b2560ca4c34169b0074023e941746240879bc0572840d3967effd3a1358ef288ac412946f79fd3b40151c1507cba8828be0";
   hasRunfiles = true;
   version = "1.1";
 };
 "coseoul" = {
   stripPrefix = 0;
-  sha512.run = "009166284f72779daa625af83f3486f86994891688feed3ad87d1a40e5d82ac4de5461b1eab298396f3f3e488381269b10fc2808eb546d219aa049c9a87f1a3c";
-  sha512.doc = "d5271f5f95016d0f6024256477b89317847b1f366580f2974276f8d310ef49e15741828721d4c47e8520e8b96aa16884cc644419780970c637aafb10b4f2bb0d";
+  sha512.run = "21524a0721fa26d85b383879cc75600bcd55ee05220eac245171eadc30dea7296731e4d6d2d3d82d10b32f1d674d444bf1df41dd82b92d5cfa7ea06d53f56147";
+  sha512.doc = "6e950d1f5129b39de2cfdbf7cc46b101f81336f29325a5e74f58dbb4378dd79189d1e29dd88a9e828fe4e758b6de93e76f70884c9fc582cc8a69f6db1e1f2617";
   hasRunfiles = true;
   version = "1.1";
 };
 "countriesofeurope" = {
   stripPrefix = 0;
-  sha512.run = "5a65d617e1c5d5d5b63b1153f115852361c53a5b3bef16355e8d586860dfac25f0c1be62cdbbf8ee0b308f68f845491b3bd93e226887b3a82aed2b5df5d2bcc9";
-  sha512.doc = "95e60960c9d35ea0e76a8baad3201c1edaa45fa9d253f05d0e7050dca20a04e1719931f03c27dbbf78bf5d0b442c958919cb52381be13818fb5c53d738e59893";
+  sha512.run = "77d075fe233359be6d50003d9577ce84965c409ae89da18ae91ab214a80200b83843ee25a1caaf1d0ac1e6fc076efbe560f3dacc1770120a89c6d8612915418b";
+  sha512.doc = "03071f1cc0c00f1930307395126f035080c2efae21ec99ae81a03abdbc572d1219dcd3a63b8d988036a1c2b9c4f1a4a564df7017a886965068d1ae314a995306";
   hasRunfiles = true;
-  version = "0.22";
+  version = "0.23";
 };
 "counttexruns" = {
   stripPrefix = 0;
-  sha512.run = "23603509f9fee86cf4c67b19a2b38bfb0ee4790613c35bdc5690de8ade1062a10ee54c93970a47225ddcca198c85ff0eaa0c7d0586dbb96a7ae6e342f375cb3b";
-  sha512.doc = "221af8bb159351029e85bcdded44ad495f1daead8751b97f601381846cb13bf85cf8f1ab5873c7b763cafe10a2eabce719305562eb2618cf18edb6982902ced2";
-  sha512.source = "c5dba9753038df64c4e72d241d3d2c0f7dcd6d1b4a1acbcad63c8447a0e1f2996a7996463c5b2a2625644602b215ce0b38c51c4645e47ea166b01f54a9a760a5";
+  sha512.run = "569393d76512308751bff3c5cb22bc11ecee420bb16b5f7d35d6b10beaa02f9c99a4d440e7f3a35bda4e6821405e5f8d621af5af176821549a0e0f0660f998bd";
+  sha512.doc = "4a67cac01589ae5d3eb61c5c6c66bb38ede138c9c2b56fcb6359c8f851bf55ce3cf2e5662cd7751d6708c86644cb5f607318612b01b60f769858d594c2b24218";
+  sha512.source = "ed482becf766081e5cb05affc10c64979e43f9f655074366063b95943229dc9043943422e1063ecf69e5d44659566fb1d0ffddcc27d33eebff9de69f4aa8c7f5";
   hasRunfiles = true;
   version = "1.00a";
 };
 "courier" = {
   stripPrefix = 0;
-  sha512.run = "5fb048c8f062725d8a3bba1cbcb82cbf83e37726de1925033bd5f3fc0c3dd2362eb903253f9446e9003a333965995256afff1206e980b76d3be3f01e81521d0a";
+  sha512.run = "a7a7350f23921254b9a37e498c2360aeb67d4aa8161072dafa38c941eca35388eaa5d8a341e8b490e783f346ed6b0f4a4d356dd914f70a858c92c76ff1808440";
   hasRunfiles = true;
 };
 "courier-scaled" = {
   stripPrefix = 0;
-  sha512.run = "593e9276737b01ba243bd288f9c6dec030e4e4f0aec559202b228545f6d1d2f374582968112f2075ce5c4d5940f13bfb28768f144d63b6bba5035cc17dca95a0";
-  sha512.doc = "dbc69a10a6098dd85fe5072044d78a71d8ffb2b85575f53ba336de5ba1a01acaeac71cb06c809a60f10537939a60ca28f1d095f68a68f1e854050ed9dcafb749";
+  sha512.run = "570256a4353163cba169ac5d649458d363edc5c2836efccff1e7df83c12d9b552978b3531f2ab026430b3222b3dfc00be0e4700031e6bc50bdb60a739a68c9aa";
+  sha512.doc = "59c5cec8491e678b084afb4c6e63ed07ca179b5f17be8fe581ff341c80b3cee8016601799ada090e1fcde9eeb72197986f3d4aeffa7c7a9d10a014e34282f52a";
   hasRunfiles = true;
 };
 "courseoutline" = {
   stripPrefix = 0;
-  sha512.run = "0caa7beff0a7ee6772f9dbfbfd37f35e80aabe3881626323402fcc51f00ebfdf9d598e6f1b9beb8d40ca93131c41f104f51cd0dffc7b76b7b9a061c69d18de3f";
-  sha512.doc = "6d6556e695db5ea4b17275c0203f9e8f3f411a444bd37867440d3c761d72766e7b628303d3ac1b4c98bc1ee3bdadf3dd4a75908c805a3c6ce4312597d5c34d17";
+  sha512.run = "fd3bbcd90570aa1cbfae49fca247d761ac0b886d795fd8097754706b21ab1d6954eb8d8a6c1fb4e69d550e7ec89294fa006f50bab0c7b806c545666eac4915f1";
+  sha512.doc = "5a52cabfbc28fe27aa6f85b3653de3ace51b65011ca2e33b56be59854b364319ed8adf95576f8211d9494a367fb637b47fd2805a2663df87103b2d67a168dc13";
   hasRunfiles = true;
   version = "1.0";
 };
 "coursepaper" = {
   stripPrefix = 0;
-  sha512.run = "0e4a2e48f45742957236a15245ba31064c083edc778111f31e9f989f0d4a8af755570825d3a0ec81ba97b65be9b097147cc5fe11160d66f098feeed7ed80dcf2";
-  sha512.doc = "d2ff6513c28eb3dd82ff361facfd74b3c5e59d380ace763b48f436b498bf1e2c8abe5f3edaa89ec24b7f64b15a88ee459fedd96dbe1aa4e879b1eed3b55ba069";
+  sha512.run = "bae9e3188a3312f970434b21f23436251dcf8d7b5b2049decf1f95903f5e58ddf9dd328ffc6908c70bec436c9edc3ae62b05d110f42a8ab322eb3f464733ba96";
+  sha512.doc = "359ee3956a6da4eb41947db9b5f8dbaac7c13c18ea91afd6d63f738ab43af4c77fd93e9123ecda28b4e2211387c910b7a46b2ccd97edeba70fd6d2852b228094";
   hasRunfiles = true;
   version = "2.0";
 };
 "coverpage" = {
   stripPrefix = 0;
-  sha512.run = "7e06405a0af0e8038e9848fdb318552040b7404aa36652b5d0b39bc1688259581bcf3ad49c196fbf964ca6d057eafa33891f47acfe201be89908e9321cfecdb6";
-  sha512.doc = "da848e5237283ff3accd700e577818fbc82dde6f46a01a1d14c620178ad1a04f0f6c9d9a806e329b706720e0b4dc8cc341994d8270a6ec1724f440f2e304870e";
-  sha512.source = "f9979ebc348c81961cee36a0265a829cb2e544abc0f84c1dbb10f040fe6f71c4137693659b4c327c32b1fd6e693e892e47e8de584c95f462120344627b18d20d";
+  sha512.run = "6ba22fe89f292ef65ec41a958a93a8ab729954fab33f10677954791bb2be8bcbca71ba4953b6ec47066d3b92e444ebbef9b5f465952076ff0c679706f0ba406a";
+  sha512.doc = "01346bc57d5742be2196c8768106fc06534ce03571dc1e3e9d48957ba6d0e1a3aab1a4ac070d4e545f058d1b3833e908398fff62d3ce6bd462b927646ff1e60e";
+  sha512.source = "cd47f6d17ab585e84244164bed3b905163157e911dec81ddcd630f23f0b520763b9972b3430f25ff4039e27310eac21e6257727aa4544b7a0e40e7020fc72b42";
   hasRunfiles = true;
   version = "1.01";
 };
 "covington" = {
   stripPrefix = 0;
-  sha512.run = "d3709a9f7569ea106e822969df5ae3938bcb46f0a416703126b9158e0a09041e42476d86ec841450feecbdda05cb4accd6f72a3c4afd624ab7e1f007312aba91";
-  sha512.doc = "e3d33673a713980cd12daeb22d68e46d01112507a6bc26c31cbddffa70788b3fdd75b148b5619a9515e8c42ff6824346bd34ca6abfb1531d1d1d421c71fe53eb";
+  sha512.run = "d317d23948d7308e99ce1e2b0d8371ec165012ac199ba271b8d43a869106ba13d416744d8f78fc8e91a14e4c33456675d6c277ee6841c07084aa8203b0a99b84";
+  sha512.doc = "819f2c75cfc0bb571df7736d630668ace9ecca49bdeca6ed760b7575d028ca2acf0e0977a19609baec02c4e409f52d1b35176492eb3e6d392e591ca3d7fdcb6a";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.3";
 };
 "cprotect" = {
   stripPrefix = 0;
-  sha512.run = "a6bf835a31dd911f7e6cdc33914b184ceb2ff1dfbd91e596ab416302952ccb66516d725fbabdb803dcb5a1ebaf0dcb686a35a25480bf23c803a923191b8d0ba1";
-  sha512.doc = "eebaefb15445c8ef7f69ad69badd881da89d626a8a4f406fb017b7eaf59efe691bfb358069741464ea1d9f4b3b2ef3b16b42f58f17ce5ddd41987a0b39c1616c";
-  sha512.source = "b5ab53b4f5e1ac1cab5e57c1fe4e83277357ca5403431a59d23419f69df676676b7ea7bd61a40208099af75e1116aef4296d0b1f9580feab667f89e7315b7678";
+  sha512.run = "f4795674aa97744b0d6ed70bcae83a1ce3b41670a1bff2e67d12825154bcfd7eac2a740996bcb4aa0445697a3e4c17ef3d8606b308b7db3aea263269a7e2eb51";
+  sha512.doc = "e8a5000eb9a538f95bf6df4e2d68ecd8769974192e8181b6eb40e5f48b2cc3a9b9d405d1c7b611e35c41dac5ca5165a503efb7584ee94289ed3255a9482b2b2e";
+  sha512.source = "a9c10d5437f4a9f55680fc3a9841e9dc665b7b642e2831c0bb6239d73ea08312eeae372cf95591d002fa7dd51ae45e7413d9651ea5d60e5837903adf565364e0";
   hasRunfiles = true;
   version = "1.0e";
 };
 "cqubeamer" = {
   stripPrefix = 0;
-  sha512.run = "f577a2acd31656a5b6ac61b3a347564f96380d172b5ea99aef87f8d16a8fa8c3c36b4bf97d00a6ab366cfc28f65942119ae23fc611aceb76310a7eff701b5874";
-  sha512.doc = "718ed336019a741910b34d438a7d4e8419697d788f9e0f1661d81c6d58420f81f43400b93de653e34b5bd9ca0b3a77ae56765d020a828b489a71b131d1061087";
+  sha512.run = "6dd13c29855533c100146e712431d64e4d55bfe9c49b2199a63f292933e6666c0fcd15e17e56b534e648a64b5117b8bf211a1f0f595d83db54e587977590a2ce";
+  sha512.doc = "38cbdd297bf4ff67d0404b75c497416eddaf18d4430ea49af8413ef504e8463a3127e3d42aa12f2920a12d13c03935d6aab5b036d398322428659918b5058444";
   hasRunfiles = true;
   version = "1.0";
 };
 "cquthesis" = {
   stripPrefix = 0;
-  sha512.run = "14ae2fa1a92aa6a1c14acd03a08b131db09e2c31861720be9f5b5192f03cdd4f7e4f6eeb4fdef17d9a8352fb7191907641751a7dd4cc7434f0f272a04864c2ef";
-  sha512.doc = "8f2e3cf94d81b5b12709b0bbbcabc2deac4e1889fea181ab2e6450c3af59ee32eb6e6b1bd4b78196d0b6c1af4cffec43cc471da00f73a6d4ba20880ffb56154b";
-  sha512.source = "444ee3789ebf3527b1d92f90b942ccea0fd0462caf150af35c572efca8ecff85707d3be006843308f3cd42309991b8e30d9ff1c7e186f085a041c446441cf298";
+  sha512.run = "08c18f72346fcb3bda3f0bacdcdaca72d68e89675b98f1aba46c3181a334fb4e21de82b219637d05bce0de4259b3b4ef4790ebdea3ac538f4a121311e5fcab5b";
+  sha512.doc = "88daa7155ffbf06bc393c991c9e043015bfa25122737f64203f6c0352eb2e9b386ce7398736ca62d33e0708db4f60741f5ac76ab48eaabb10b5c1ce7c4a40b71";
+  sha512.source = "06b48932193614c71e20f5e8cf0eb4905f798694eddae90f42e03c67d48c1b4dc0cea9d8e9a2cb0b9d8ca31c5b3b4f075813fd9755ceda7a09029e9817d95c5b";
   hasRunfiles = true;
-  version = "1.30";
+  version = "1.40";
 };
 "crbox" = {
   stripPrefix = 0;
-  sha512.run = "d11d406665290c2b8e5c39d1fa25135d3eb398a8d69d73b6af478a54d519db9a32d066e64cdfacf863d6ba1ce63ec2ea2e17a0e819dde564189b511487f18641";
-  sha512.doc = "47d8f1e0b55ca4c9ec866d26fc19b3896cfd6e11545842b05501dedf3518e7c458ca2bad0e336a0807c95912507c93fc1776862998371367b22355cb30293aaf";
+  sha512.run = "087ae9406fd8f6916e355b51d2f4dc7383228813716ab9f6c37714794c931a9b5defa4678a4471523c5fda2c6b0b7784d11dfb488a8d9c60f0244d9d2d64ab2b";
+  sha512.doc = "8927d6f60a3a895685c679e565632ee2ca68c1f2e8dfd795a481767463d88ec37579bfbd55858ce1e6e433a981de4b5140cf75489221243716cd8035a2967a90";
   hasRunfiles = true;
   version = "0.1";
 };
 "crimson" = {
   stripPrefix = 0;
-  sha512.run = "6ea30bace5375f3c8f644c6b7770af4803d564db194efe93beba97a97b2b91198aa9cbefa8673a0c1b1657f5682b4ca0dd0c16bb5c400ef0e09b6618a1089f91";
-  sha512.doc = "8daba8cc00bc1451ffc0c1a7d061d18710ba669ad5da7a7d1c7fd95c3d76473646c9730545cafdf3fa3a875a3b211adc702875b64e0d51eb582099fcb58ef986";
+  sha512.run = "58708970173456998d07a7953d86b3124a0b97a918910229c0d20a300de688283bdb85b63a7596d2bbf2a6cf5f1069a596e43b29d6fa0c5866ef9b0cc1d01b3e";
+  sha512.doc = "2fac264b2986a52a739496c907930b6182e56dc24c8b13356d4d564113d6aa019734fb450168122aff2b0f14ecea3d962b4097638277b805d3a13cff5493fa9b";
   hasRunfiles = true;
 };
 "crimsonpro" = {
   stripPrefix = 0;
-  sha512.run = "37256faa31c63f3867fa36dadf0314e57d3d2dc5a915f868de404903705b89fae4f3879ef932d174b54bea17523a17db45494d201b00383d70df9e5bbf9d7769";
-  sha512.doc = "4a578645a8572c4b443d6813b3d716034029139406bfaf3b678a7f3c0cc42bf728bf661c5e8b260e928ad9e7c1b45efd7473fedddc98b12d45e32006afad3edd";
+  sha512.run = "f7b01c39e7fc5d170896f1649c1230ad9cf6ed79f4ef5703fa5166bfd3b3bf2fe9c28485a56a70655ba0083ddaa2e444860be1ae421dfe06d63e8d81091f39e9";
+  sha512.doc = "d87ef7bf936a235be18527798ea657d8f963edc0e0be08689bf7551b378d80eba605d55ce6936b997277534069fc9065871e532107986dd9d987cb90bef1edaa";
   hasRunfiles = true;
 };
 "crop" = {
   stripPrefix = 0;
-  sha512.run = "6a070e0fb8e0421d1a72036a64773ca481b35bbe44567fc5cc417d1121cd7d5fa5cbf8bb10e7d4772cb20d94a36746397250c7284cb3bb782dd8e5dac7a72399";
-  sha512.doc = "099b28dbd15d01a4c715bca73c7f17c55b29143a0dfe675cd429f46aecb58bd5875c3ca5f8a1310427f8d4fd5bb4859792d17e58d63f2ccfdcab8261596dc25f";
-  sha512.source = "61f3832a4e43de4cf82435e46bc475456915f13ec25db1a5e9531a5a5b0df835bd439052522873b128eec49822c2590fbe76eb718f8f44ca0de5f10720611caf";
+  sha512.run = "6909ec6d94362aca7b0c0a00accba6015f5b30c06bce01acd22b87b2d1550ebb7747013d008b7cc82c4cf0b3f5fe6a6575fcca4ee50707214fcb0e19ed796989";
+  sha512.doc = "b68db452aca35a90dc77e500df8db574c321c693490abdf9c7135c7457b34b5a42dc32213c5917a2e4ee37252d909315c4e68ff76f3185a9c321eee3bee10a04";
+  sha512.source = "dde8987ead8158440334e35ce04b10051a3ff2c12ab61f9a3522c0c6d6bf93351e2b9ddfd17d03b8c2c42c0b7204dc3a54b46ad2f486a32374fb6d7a50e60ebc";
   hasRunfiles = true;
   version = "1.5";
 };
 "crossreference" = {
   stripPrefix = 0;
-  sha512.run = "50af472a5b172d5418646fd1879f339126f68aeb9578c6c05d9f6d3990e9f222aa3bed793669c1b67389c272ab1b87bdd6d0e52506605b8e5a774855ec285ee3";
-  sha512.doc = "536b7fd22f6864906abe4e43548a9dbd08eb80d75e1ea034794c780a018a33e29ae2da9b68f3cc9b4e712c0d13addf9104baf00fc4017180c5936c1c2f3192e9";
-  sha512.source = "b20c0b9f2202e613d911cd9889b0bdcdd62b81024c04b24d6ec0c8239efd23911ecc059f3c65433b03e8e655848d73762e4b5cfd409cb119f0da4db284f21c29";
+  sha512.run = "e34b4d383b8398880b962cdddf248c95f2bc7187b5ed4f0caf84655a94f92b915906b150ef904c696f49f22ef23c039ee66427a03b1430f7a3d5f619f2a80d01";
+  sha512.doc = "e21b294ac2b3489cc81ccc99c54bc60985d8769e297f137180a9373ad289248b5d90acf3dd9800d0690907543cf52f0532f6317ef55a43a5b55541805e2be68b";
+  sha512.source = "ebf66eeddeccc32574b0f6285d655d5e9a00e4c4c6a50c232ecbc438b51e4ac45876e925b41b71717b23004a24680b3302b8a0afb9ba124e279094d705676b2c";
   hasRunfiles = true;
 };
 "crossreftools" = {
   stripPrefix = 0;
-  sha512.run = "a582c637a1c22aa0ad22a05e7deb9362845e207cc8275dd18b962fa5ed1d1fb8433c06671e170d8ae7e4370908f5738a808f97eb951456f93d9d7bea6318f951";
-  sha512.doc = "bcdd2f6164c54f90c3a862ded08223e3f8fd39adbbfc0c4db4b7f8d4cddcaa740fa48f8e5f8b0adc8c3921afb8104b7bc332a46d49414c1a3afa14cffc43fb60";
+  sha512.run = "9f5426951f7062ac3a850d141aff2031ea2197a97d5e4bf2c2b93fcd2719d5b1d6587b66d51fb258f514423bcb43cc8699b58a74c411824ffe7057cc27d03702";
+  sha512.doc = "66597598d04218394abe1762aca2e9ecb25ab25328e9b203bb789459d053ec575f2a7adcc9460b1356d5488b32f2fb8335e8a7554074fb5ab2df810fde2be586";
   hasRunfiles = true;
   version = "0.9";
 };
 "crossrefware" = {
-  sha512.run = "bb82e6ace8cf17fffb50be160e22ddedec6327b9b3b919ced50e6df6be7c14451b7cca9fb2237e9584dcdcc0584badbe1336767b136e202a9ead8033fdf19943";
-  sha512.doc = "0fe4f5ea083ddc7a6f480a38b1e65d749de3deea372b642581e950a7baac6c71dc16ace7cb1d14a213aa361e15271a90a60005acaf7a215a8c5879e841717fa7";
+  sha512.run = "351f123bab2b83614b660959e86573845e32b6ac894ddabf24484cc3bbb68d71fef1e543b4d14a3684804f8b4b8e4a5123c8acc46fd813048320ab50f245475a";
+  sha512.doc = "cef9694f4e984ee077902852143e2c88bb533739c6b53c010eae74c32b486faf7806010beecee49bfce07d5f35270bd312852f6d5701860073854a5fec949125";
   hasRunfiles = true;
 };
 "crossword" = {
   stripPrefix = 0;
-  sha512.run = "45fbd93550c98b16ec8ef7190f4fbe9534994ff21055cf59dba3bf959637d802d7a3c33b665c4c621e1ec046ea4e9e9a0ee79a4c892271702a91f986885c7762";
-  sha512.doc = "3e5f791639cfc0f95300101a37e4bcf011b71c3744eeed5f79621cfca347eae079f4f86d4a58d91229f9d3e3cc83869a077824ae048779666d9391a8c9271623";
-  sha512.source = "e1e4f7890e1f1b69acb0970f3af6822bf5c26d613bbb1c5936584df4d95f308253867a2ad2a8b0c130546476cd6c7e5d4b59f561e6f5c7674d6ca181e75d181d";
+  sha512.run = "e55390ea7eb83686bc49e1f33fd4df2e7b977e031fa6d42e3d18d2cb5b9f34905aa4c43f173ad6745e98683376eb5ad4fae1a8344355b272f0b4b8096b1521ce";
+  sha512.doc = "121e26265895e99dd00dc84ef8b1ba9f4b6917ccbfafa6a35d1f6b81b42c70153bed17790eb6e2d4a5a4fcd8c5cf2e03f5b6e458a2b125a2b7a0f0292bb24947";
+  sha512.source = "91f7fc2a78a83eb404aa11a95f941f81f10da9a908a8ca4f554b5ed496435cca615ce69d9e608c59a025b51243e6c1bf14ea69c896d944a757e1c1cb470e831e";
   hasRunfiles = true;
   version = "1.9";
 };
 "crosswrd" = {
   stripPrefix = 0;
-  sha512.run = "a5d7b43d92334e099d5e9a1b61f615ae8c599fc24dea4efc39ec4c3db959af5ca985997f01b26c8f7b2b8aa0f9fb5089f68d277f973071dd48b0da0ec65b214b";
-  sha512.doc = "fae76a3c76fbfa80b7920436ad22600bec913e5ae7d3f6678d5adceb9395134d563e3afc9b26557c6df1b8ad86b0f025ca50896f708fb531f96ea130e76d3f24";
-  sha512.source = "c69423f45afe0b7fa1de5b6269c0316c8d43ca553979268ca4e545872f813176a32fcaf2f33c78ef3df825349a64c4ee380e3b63ed2751107d2282d5acf2d91f";
+  sha512.run = "889334e046aa6371df566c814faa98fdf4931c85be3d49e04d932f02bb71bffaa929614398469be04bf6426ec05ccbfcdbe0ad9798017f9504fba5f3781521e6";
+  sha512.doc = "0d4d1e8c1577ee23f7fc60ab8c106121978e986945b8dd399faef4ca55e60a7ed3ba65220ef56ad11b7a100690f89692f0c1ad80c845e2aa04d81c8664a6cd27";
+  sha512.source = "edb2825137c510f1ed32b9380b3e59ac492a76ed35d2a1b16ef486a8287338c1afd8b26cee9d1ae447eff3dd12de14cd7f75d97db74ef5f084286c7f5cd8478c";
   hasRunfiles = true;
   version = "3.0";
 };
 "cryptocode" = {
   stripPrefix = 0;
-  sha512.run = "aaf61b434568435b431603623b4d0aa49f41658af278ff3316c74c3cf7ee74e404a7b3c45f0eb491db3b76e248eb5f4f906645330e28e59e3ccf18259dcd5bda";
-  sha512.doc = "d9b06018d7375f7419de79b5e73d61d5f12ee93258f016c93c4be3c15ddbb3354e1a62411ed46bd84c5fe25ad345cf1c0f10b68b0d2ceb79684718250eca1f7f";
+  sha512.run = "b15b76169656d91a366e17fc832f0b661e0bd31e2d8f61e2431d3e7adab66b24c145c2e84e4c9f9aa8dfbe27655b37c657765e549e04f9de447c5c6cefe38480";
+  sha512.doc = "0245804ad3761368a634d7b062a02e5a073ed91499c3792f82670ea6ed18f6790f74d23e5ff4770c1c3af64b3a90d9f3d59ebe88828496ae19fb517dfca1e0f4";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "cryst" = {
   stripPrefix = 0;
-  sha512.run = "0fd7373670cecef60610c3f42b0828aebf413a62b16b86359cabcdd09e2443d0fbd1081ed3084372937b70d2f000428fbb5dc128cbf40fed8e70aec1e84a3292";
-  sha512.doc = "7f5c3692d8814f016ea56e2955c89787356e77b7ba8715e2703b27a66ff0b5bae01766a3646aa020017fd4ab43a6e07ad416aa0f47044ab8b4d81b06d866a87c";
+  sha512.run = "49e1c9d0cb6909e421446230bf71123fa71b4aad1d90b1c7614fc465651f701d91f576c2edd8b6840d1c78dfa5557cd604e61a5e745e1ccb2f60bde9e66117ed";
+  sha512.doc = "55c765a9a4799f719383473700a0ef5627ec8873fc9fbd4ffd191d205d24b29d57255d90687176789240a3c4a547a3a57ed341a0558d99aa01dbcff0fc7dffc1";
   hasRunfiles = true;
 };
 "cs" = {
   stripPrefix = 0;
   deps."cmexb" = tl."cmexb";
-  sha512.run = "0575b1a336d91aa9967503196666594975e55c6f58802702e068167ebb9d87bab4d9d92582a3496a9e837c3e30a38a7c7a1fa3e70ce36a545ae368b7f9eef135";
+  sha512.run = "bc956c595d4460f35c64c92e7730a7cc9cd3af95301afba56c49bcf8415666863de926733409ce1afd99ba767fe3a3fa45c68f2dcc912b69c6f72b618289fb30";
   hasRunfiles = true;
 };
 "csbulletin" = {
   stripPrefix = 0;
-  sha512.run = "44bd04478a5380c0b085cd582b265901b972bd594dfc5a26dcef9b72ec81833bd0ca8d9f7a8592b8a85b762414d91f78796b2a752f01ab45a79dc0c028193ae3";
-  sha512.doc = "9ab4f2c24c3feb3ab5a833fd7cf28a6df29e9d78d11e888820079d9cf74ecebf20034f2163fb226ce04eb3d989ded90872eb65a51d9041b8a2e6ef1e34261edf";
+  sha512.run = "730ca61f0678ab2dfe4aca6be57b64cf6944ec018a7154f25c565687c29cc746b9cbd508ea01600a1d17f31850dd2bd047ebd47788997cd244e8f74199a96d68";
+  sha512.doc = "b9581a3d257647ddbdb583c5327e1e6dbbb52c8bc3153e115dcbcc6047fc2146ee0b62271727826f608d70f9d1a1b25e844c6f772c12ce6b8c38e1cf32015303";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -9144,9 +9364,9 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."latex-fonts" = tl."latex-fonts";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "c328242128856f4c4ce33bfabed42f33d6ce746828018cf37ece8d33c8899238373ff779bfe7cb06491e42304bf2820845c1795b9d868d4db5c77101e6b7ef5f";
-  sha512.doc = "ee0c9e4b14e5fee30f09212ac92e23e1f8d6d4da153b55ba9eae7d6f9f130e3fd0c36baa8c2abc95990b0c8e5b88045160fce73974269fc97fc3806c959b35c4";
-  sha512.source = "91de6728bbd726c3c14e4df31352db424937a0aca0c269465999ecd0b19bad57df9bc282d2d91acac097d8401f576b764bbf82d4ed14a688ca491653edca98f3";
+  sha512.run = "d0a3ebaea7659e4f1b53aef42b9a8361e215083fd7d669b0a119ba744ddfb1afc79d5b25d7fa94082085dadf1d7d7da5981e485246c28c4708b82c40e0ad00dd";
+  sha512.doc = "9a8bab74f51651b732bd155b386f69ea8b0aededb0ac29226d6aee2bc3547c5157d0150a854987dd5f9f8a001a7191509340c9dbffdc02bd7c01de47fa80f7c1";
+  sha512.source = "c982e771c3db5b91806faf9976dde51499af9ab6c7afa81cbbaad04dd8808ba07e8c1dd683af77fe112237fe2868f73520a464bbe72fa1762ab6ccc0e8e4cdb5";
   hasRunfiles = true;
 };
 "csplain" = {
@@ -9159,2130 +9379,2176 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."luatex" = tl."luatex";
   deps."luatex85" = tl."luatex85";
-  sha512.run = "c09296f21bfe946098e131cbd81f10b6f10530ba3d4f3aa7c285c70ea07daf509d9e940eb27316a384cc638cbcfe165916b86f2adebe2a1950501e1f58babc39";
+  sha512.run = "d0e6ea08d7f8266de7b17dc5ac3290800ff39e1dd77708b3025034983347791ab2dd732e3586ed84e8a572429b92ebc312398587eb10b62ce99dab336c84b19b";
   hasRunfiles = true;
 };
 "csquotes" = {
   stripPrefix = 0;
-  sha512.run = "e303d9f0f3564e8e93c9fd84fbf9bd260ee6e4c9ac152a629db0c05d5ce5d4329f270505d93f2500a9f1dc557f5cbde077ad0fb29bdca642c768266fbb592d27";
-  sha512.doc = "e45d66b9106427e6f025a73c9befdcd706b1a548ca8e444edfebbb34d97383c2611cdf8a5ac3a1b012c95c207600d9f6c59aa14217a97bbc729067fc502f1d25";
+  sha512.run = "c3c8bb734145ab42ff388c08263af3b16e21dcb1995f05f91ea6fc6028d9c3c5f4c268aa9c2902e95dbe15e3bb5e01defe2d2360a8aedcf0c8ef5163ea400067";
+  sha512.doc = "0110c7d89008ff857076cc7a3c41870329d3421f10e6cd5d8ab0237562b01ddc238850e677cd0e4f3d1be4b4b3948c08f831807e37564c7075503969f993310c";
   hasRunfiles = true;
-  version = "5.2d";
+  version = "5.2e";
 };
 "csquotes-de" = {
   stripPrefix = 0;
-  sha512.run = "ddd91563217653865199be4ca23199f1350e65a060d4b59553799b912e3402cc784344ba15e7a0cba469f116bdcf53cb2b73678d5615e18112605df0229a1c2a";
-  sha512.doc = "fe0be620f485719cd0522ac52147a1e8ff382d6be42089bf36f1545743927bb4826bea67305a5dbd39c4c9676ba168a77884071c6e473476c8098bb9ea022c42";
+  sha512.run = "7d4667b77f1e27acb1d3c8becaad4889910edaab4b9da6b0fe821db262f3a31672050f5985a56533003178fbf1d579d170be3fcd22c31bbf41af9bcb68fb7c40";
+  sha512.doc = "1e8829faf2cb23b2e565a4b5daa5a09ef01d590d920444ee4659964bee042148ea19e9fbcb63e4c4ea1e2698697554e0bc532fa0fb7610bbf9bb4bca234d33d5";
   version = "1.01";
 };
 "css-colors" = {
   stripPrefix = 0;
-  sha512.run = "0f08d6b5c5c8ce9894869b0d0de1f8aa2cc54fc54122dd47e0f40f8504471e4b16d60a25ffc0dcd13fc49b39e59774c0c3e1f315190752c45fbb7a7456faf0d9";
-  sha512.doc = "fac801913bf12ddb569df8a5cf54dca87f0c75046cc5331c795832ec91982391f606000578a0af6b2c542e1a0e8b33a6f1f8f36ab9154150ccfe2aaeb9c198b7";
+  sha512.run = "b5e000180b583470bc6721601321f81a2f11e70388f05fd85a482b491e1d3ea536db0fbb96a6715fcca81e5bcbaf289af9540c82a2201befac1d2254fbc4cfb0";
+  sha512.doc = "d08c0212f4c36eb114b25128ac8516cb7181ac73a2ea61ee4ed1eafdfa7fed15a2b928d6d0f63bdbf2b4beb93a843fc8dd16b959297a4fccff89c428647f4ddd";
   hasRunfiles = true;
   version = "1.02";
 };
 "cstex" = {
   stripPrefix = 0;
-  sha512.run = "552d3e94c6597ed54479aa3771e00c7b5eea81106cdb47ede669036ac77f598c98d7299a68002fd94e7257d70f6e61c6967fa0ba05e4f7ef87cf89a16d21b7e2";
-  sha512.doc = "a2b87ef33cec9dadc1815da651f29cdd9ec9d5114c5ef19adbc87b54260e22a27edffcb37c0a972ccb8c6dcd9a840f749cbc40a22a858ea7a58da660e600b475";
+  sha512.run = "644dc718fe3f6a941304f8d2324db36954edee5c53d4af3ecb4d27088ca1ebaa667576414aedaebb07a17b499864ec0e48f7afca38d26a593d68e274936ac9e0";
+  sha512.doc = "4b041c36fdfde6f2eb5c05d0d130286d18fb22ebc92bb6f823edd5412f146f46eb89285e788291bf23496d679280e6057b929f499753edd39cd35e62395e486e";
 };
 "cstypo" = {
   stripPrefix = 0;
-  sha512.run = "53832f712de55b05e1f2a5af7ada9b7d64743e202581a166b49ca01b2f0152d4fa3f546fcc399f33d0e44eef0869a1095eceb27ed098352dd91e047b29ae032c";
-  sha512.doc = "4d5f05d51386e80cb5ec170b35cb28780d89f0daa0c16a0cf333b6dbdea4763f9b546a3ed228db1123d078430d5ae1d01b9c402c43ee22f49f05675c91c18211";
+  sha512.run = "ecc9054a0866e4926277bf5f52faf97b0b07f0ea660b7c4d089a552ab57d3a900cd1d688981770df9b3a4285c3d451fb23f1b69757381f3cbdf88cf0c88cf61c";
+  sha512.doc = "1ac42bcd1cadde9165f8edceadb438c4c2e91d6a89486e56e31623cf1ffdd5f38ec800d836dc90a5a6a0bc48dfac4a8ec90192319f8f046665c77e91fc51b91d";
   hasRunfiles = true;
   version = "0.03";
 };
+"csvmerge" = {
+  stripPrefix = 0;
+  sha512.run = "f3f679127d912a8df32893f0afec13b21a272b6e5ed2d2c147e1bcbea5698e043d88d5dcadc0c772f5640945fdbbf4ff43655d6d4450b48966740cd3cb936829";
+  sha512.doc = "b090bd51f547f16270534c2305ba68af9f86800f55809b050eea25d5566be3a3ce245ad0f79a76ed21ac64b68b6650800fba5a5ad942cc1f3f8e982f56ba5286";
+  sha512.source = "b189b456daf9a54cf8fa09706f93de7e8365d75b792336a8328414d589ffa178ff0c39c17064b532316fc778b73b000610b3f966f9eb0d8e526cf1fd5b4bdd58";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "csvsimple" = {
   stripPrefix = 0;
-  sha512.run = "ce957cc019cc1abd92769f178872dceffeb473d936763391a3891e1d8d6fd2dc6206fad8437c25485f0b9818b9786f9d651c975a15c4503f67e5952270c76b11";
-  sha512.doc = "836904921bf4a851be3bbe10c38e85f11c65998524fd1e7749240d0db4d8a05bd349466fc511d7216a96c9a5c6fd22583b7f05b472230c9365842103eff1c33b";
+  sha512.run = "c071fb93d269e27c7059919213a858d82bb5fc381d8a9a0faf82ad0b05eaac808dbfc19c30c8530a98582f3179a01774de78b0f290a15d4ef79e06eef0a9aba8";
+  sha512.doc = "da691d9d44e1624ccab48e5979ae9ecb8697387a19280602c28467c8f2aefbafc494067217836a09a6ba1a653c8fd3a7903e3607ca56922ebf47870bea49c583";
   hasRunfiles = true;
-  version = "1.20";
+  version = "1.21";
 };
 "ctable" = {
   stripPrefix = 0;
-  sha512.run = "68d546dc4110f9cf1ab53f698129b68bd0476094c785e1dcb6d5b442e47f87f0678c4fb678fe71f1fd8dcfa6814929be9cefb242a4c15e842c40450680e87d32";
-  sha512.doc = "f72c1c085c7860e1b45d489d977ae0663566840abc08b3370b75877d9dcd8f8a8fd2731074631fee8a77f6202f422fded6814254c636418f6f7724c80fbd6b51";
-  sha512.source = "8b77af670e6c694a57b98ef518b3c6d9747a85e56884f2f4386120a704745b965b8fdd2c62ddaf5e9f846056010533f743e2fb61104cbad99698c64b097f885e";
+  sha512.run = "3192df463eb4d307ba886b82d586580a741da8d901dc560c06d293e04c5d5af9efff56a1482bc41b03aeaade2cc25cdf6f4dda3e1baa26da1f7d4d138f44bebc";
+  sha512.doc = "a32bc9c82a87f1f9327d5cbf4c15052124608f970ecda1909aa67abcc2fb4f10bdfcbb5568d8af9332687817f6f5bd6aaa0ce4843490e8ffac22526bbe123fdd";
+  sha512.source = "9886347fdf0a1a7105ab33bba00877ce22df66b1d82a60b8818af063da371d8c0c6d8f60252342dfe44bbaa65ba9a93ac8f972c64439bea7296b9e98e1be4b41";
   hasRunfiles = true;
   version = "1.31";
 };
 "ctablestack" = {
   stripPrefix = 0;
-  sha512.run = "dfb5fd4e62c04311bf41c17d06395f5693c0232840bead53a41cf0898ba2704da68d6caf4cbe796fb728f189a57072f36433a51edc0fd9d1013a70f4906797ae";
-  sha512.doc = "d27e0392ffb1a4daf718ec780540d22b7f3ed3dc6e488f37583ef9fc06697309f7abd93e55832c50cc50e87a950dcc9cd602e0270d4b9fde9db6cbed59cf131c";
-  sha512.source = "083b381a0dc2b83dff0e71f475fa35dd60e9e62106a75c3537381e6b25c41155cdabfd6f5a07da1ad9d58f34d33052f24e212421b11e377c309c261454072e7b";
+  sha512.run = "3485fbd1bebf80814645c1be3e7358a959637439fa17cbbf7c2478ca73c4312cab82eed2aedb5403dfe94b0cfc09ee3e9c8182c08d3708608a267da235ab30a0";
+  sha512.doc = "2c74b9d2aa44b25952307e4593b4a792cb5d98b78619efef82ddfb134ee3da64de87973db30f3e5d5788ce5e6ef138fca2cabc4ed412c97cfa7b3dc6c3ed1060";
+  sha512.source = "c39356d4d78cc8121b20e572fe59879541ab533ceab64e68f17a346723aad4f73103df79b1711feb12337e5e2dcb56222b00a9b36ddcbc04fb5e946831340d6d";
   hasRunfiles = true;
   version = "1.0";
 };
 "ctan-o-mat" = {
-  sha512.run = "523d9ed02465ad0e6d0a3dd08c2b12369b37cab406182cd8ec6da1ccc0fc588c0642661135f34fc82844ae9310bfca6e6be4ab9e7aa22dfeb44937b02cbd5ca9";
-  sha512.doc = "75f5fabc5c932d9de95512e096018ed84ffe5ce5374d7e413d30248a740c09ce0d53057538b5b52c48c941c2f96ccf74900f85330ca9c4cea84552e48544b56d";
+  sha512.run = "a995dfc6d79ba77fe673aa501f28eaf9f057c34501fa032423569317e5a4eed048c3375d806eafacedefec02e91bcb587fa6bfb8c0ff980395bb877b2ce88c4c";
+  sha512.doc = "423efc3f2f850c5a9bcbe787edb8155ef76e56ce5e3a1ba3332bb465b8239616bd1fcff2e8a58db6f5ce9d5191ae3209a5451f746250a3b081fe9b35d024eebd";
   hasRunfiles = true;
   version = "1.2";
 };
 "ctan_chk" = {
   stripPrefix = 0;
-  sha512.run = "1e0b0ba38e401b786df8363e43571d4cf2383e3dbae2bbedb9085cb25c0d243743eb552086962711708d0632089556fa3327a3a32713073d088b5b3550bce112";
-  sha512.doc = "8c057c6486a2be21303aeb20a3640abe40eab2cc1826ef07a74ff838a98f7ae344aebebd013d1c4e3c773566f49f5b497fb1c51091ce39c6d96a5fc5fa42b708";
+  sha512.run = "6eabd7281d79ff0ad19080350dfcca8ee3a33ddfa6d17827a7851cc53f09f627729c8d715a1dfe50e0c079add44331a07d543cb8b6a57000efa6d73c30f2ffe0";
+  sha512.doc = "c61bc0d70cadcc4382dae55cdc1af076882801321a2de16f164223267732e476e41f949f566808c928f446d69aa22bd9965adb155c97905e32b93808810c76c0";
   version = "1.0";
 };
 "ctanbib" = {
-  sha512.run = "55bf990800244a2079140116bc6419571924136fd961b12fc0a38afbb7f824ac2f7310709365ad3550b485ad6d9c1316868e11da168c42c005b33a9e5c1d66aa";
-  sha512.doc = "5a46317043f84ef542cc3436a593b96306d08c5acd1a76d58a14cfc6706da4f759c39657c50bb2255445c6a0640415cd190f52eb3487d48ffb970fc4c375fdfc";
+  sha512.run = "af03e3079304d24b7cf996158ce7344a15aa2f17efc46378132bedc5e9bb4488f89210c24a8a5ef0c21a293600589aef78b7a8c7a7673ad09ceab2077b0a351d";
+  sha512.doc = "1a971e49827476b5ae419189f7acff4c17ab41159d60c5627663d435368b28aa7dc4aeeb5fcc2c4a9f34f648ac9f2de229b250660333ca2f32bfd0808f24e732";
   hasRunfiles = true;
-  version = "0.1a";
+  version = "0.1d";
 };
 "ctanify" = {
-  sha512.run = "230dcd3c26b6954fae10baf251ba3ead846ae30a48128ba85bc7271c2390803d51c5b483d87066095932bbc047dc0ce634d550a7edfffd87f910e71dae243048";
-  sha512.doc = "424519cce6baa1a25158a833bcf0a4364faafeb1d7ff359c1a4bad62900d81bca7502da0535bf8251ac91afe4bfe4e70433bec2fb9fe010e6667fe2f2198cd22";
+  sha512.run = "6774b151bb0fb052d41d8447c7e8d378d7f31b0a5aea5f2f00b93669b8c2f629f479ae21d40480fd62f468d866cbe0c6f0dedd8a0248f8d83cd1039131849439";
+  sha512.doc = "f9b636cb41b126809d808c167410a37052b1c6c385fe4eb8df3b819c0cf2cac2c7c1c74d7ea15d2916c1cbc563e078845e451000e3a08cd9a8e0696a342b22ac";
   hasRunfiles = true;
   version = "1.9.1";
 };
 "ctanupload" = {
-  sha512.run = "e13e3ac1d9c2bb6fdb28396c466ccbd81547742d17d2ab328edb471cffeeba20b245cafa020f68e71b9e7052cd4c2fbbdf3f7c4bc97b96400d6ca667975ba08b";
-  sha512.doc = "e816b2f6d19165f46f0445e88ad4076a1956f23391ec0e24091e99e42ea579c9811b16bb93584d76839962fb24b70ec91f521531bf48fe156b57358f75f68f05";
+  sha512.run = "4464bdfbf72318b24abcd88e1c25dae5925a96e867c694f3f02a594ed7b8b24cffdcdb345f0054e200a6af63f88b591ff84058af0adfb4a1b3feff2a057d9d72";
+  sha512.doc = "9e027f7ce08041be7668a7a404fad6b6c7cfc71e581ad1216956d0b53c379d204bd84d2d55d186c74f784df8911770b96f934775f44f7141a5f1b9b5e773cb7a";
   hasRunfiles = true;
   version = "1.2c";
 };
 "ctex" = {
   stripPrefix = 0;
   deps."ttfutils" = tl."ttfutils";
-  sha512.run = "f43172725420d70bfe4fe755a804e5e6a7c24a0e93ca9d279c7652d30b45b0119b90aab8bd4d36cd951c7931d43b1c5eb931c54e9f0313fd5d2d76e6a3fae943";
-  sha512.doc = "0ab5ab1050b0f35884d344fffd7f141222a2fd3d280ac5f364b5cd9f25dc1c9486d2aa46236436d4987f862e62046283d9c28340968f08b0fe856e6b46199685";
-  sha512.source = "19ada9191335508317642b810be88b9b7d10e9e7c7688c35893e8e60bd6641b08972d0dd6a1e9aecdb5fa972f83efbd44b042103573040e7546724b72bdc42f2";
+  sha512.run = "af7b2de3742d21021a71eb7659a04f78d8f69cd41a0ee66d2bffd61413d1abf5a9bc1bddcfea667f3bb0cce64de2d69433c845a8f0443c0df92a0a3131c7336c";
+  sha512.doc = "e899f98031757f690cadb37c457b1acc1f0287df5ba5c90417c6175ff6bb0f9b411356272f33552f47999f5c1869cdd9a6a122b340448077b7a1ce68e110c831";
+  sha512.source = "c1a9f995510318bb0fc71936c39958e65b696fae31fb218b6b9e39b875eed8054868886e1d0125949a654e233a77d21d3e1ed41b533687332e66865eac5fe55a";
   hasRunfiles = true;
-  version = "2.4.14";
+  version = "2.4.16";
 };
 "ctex-faq" = {
   stripPrefix = 0;
-  sha512.run = "d2188e89e483e8f635b0816dcf58710a5b68cdd443fe1f95c393d0a0916fc57dd3e18d546b72b89e238206da4e6bb23e02326bd4a3b4d7323b205a266bc26e34";
-  sha512.doc = "5efd1283b708acf4a96cd9862cf8864f7b52b2834dc631b0a5280013dceef5f53e37c89684497c0991e82792e4382366ba11b9f2748d38652731af3d8fb7d17f";
+  sha512.run = "39ff8931e0007a78e4fa0788d7c7fcd8f25dd4cf4fa3f34b694e681e10dfb3d804842daf45a6e56b5ff450bb965bc322dcf593bdce176ffec27f4696c1c99fc0";
+  sha512.doc = "0942a249a30f97d56bf5cbac2eb4de285a63406620b825a36d9ff8d46fbccd614af488f89e2af7472f1a9075a0e2b7228bb65a5804451df6945ce6bf4287b0a2";
 };
 "ctib" = {
   stripPrefix = 0;
-  sha512.run = "d8730c9dd420f6d872e900c479b47c3f6f417741fd75b4db6446d47518d340a0b1025c337ad1181bad9f5922b959becdce0ab5d7f0309f84d7416681a96f0367";
-  sha512.doc = "bd3e34c536669045f2ba580e07cde4973a7f1b12527948300965b22edb09857c122c4df62aadf2e2df45ce4232307abebd8116049948bc5823b4c498fcd16f8c";
-  sha512.source = "ab66b3585531627595f1ab3930180391bb94acc0581ca702f88bf64969a434648e3410d67098fbf2582e5440785fd545231bdb452af24d49c820c57c7ae4211f";
+  sha512.run = "8999ea42b82e56cbb06e2485060b829a0781550834ea421607b4621199692976488f4031266eee1a6b1443b12828e2fb5148ff43eff137c01ee9db8770bb1565";
+  sha512.doc = "65d8f613ddb651cef4c345791a4a849e3f672930fb94d1ba789e827b466c459bc321762c71675cb4c5fdec8fc456520bb7013d5b737b4ff2bd049bb5917a98ef";
+  sha512.source = "b387b2cc636f98bf7bf43fc3be04cbb62dfd6597c419b7791605011f59981cd9e90737f9d2f0f668f63bf9abff854219a75a7527d881c991190188f307f3642d";
   hasRunfiles = true;
 };
 "ctie" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "4688a2328dadfda291d10d42c15f18927a77e9ce7e87a825b697447e889b0ec93d13ddb911a174e74356e3c8378ae26b34d3976f7b8f75b1d2478e9cfd9ad8e9";
-  sha512.doc = "41f7f3344a307bb72c61c88d4660c2037dcc0b4723a5c7a23fa2858e01cf0cd53f65ce76f16a21a871303f918dc4488c777d7129d892fa11c96186b88b484e59";
+  sha512.run = "05fd794d4437c662b77b0662dd0c9169aef35a10140abad2519702577c087177d0a02ee5b6163873fe5b3c83c3f77c342c4774af168ebca2ed875717c7d0c5b0";
+  sha512.doc = "83bb53248ce262bc8310faa8c0e057dac72c7c682e295fb9888acff237249a66a69d66b99d79033f5a1d8611ef582dd2121f8c28be9800ebcce775bf3adecf63";
   version = "1.1";
 };
 "cuisine" = {
   stripPrefix = 0;
-  sha512.run = "8ea7a566630cb127ac23e7b492561bd7db08187020246a9860e5648c84621d7bbf3ecef93f45012ce21bae4b9fb60a57455910806687e2726293e6e43383f1c2";
-  sha512.doc = "92b3c57c14eca023a1383b5e18e578192361334cd0287087341be8fe06f5ba86e14bab96092d0949bdbf2c045eba87b4530928540df4c9544ef61b347cb5e52e";
-  sha512.source = "8d771982b36ff28d6f4a8b3580bb7424c10f6d29f8ce5623df9ea19550c45879c45075b9c4e1555d5d78696d3f7e84d617572127dbff1853552775110f5b6ee5";
+  sha512.run = "cb594c2ef79a1d1614ad2b7bedff3b5bd9853bf36947751c880c36c73a458152eb7036861d0292614992623192841c28a3f4010bc0c4107fd8a4277154a1baf5";
+  sha512.doc = "9e4f55bf8199b4bd06847dd39e67e91a8a6885b3903c9ea772199d9b9fd9d7cade173dff6f785d143b4e7c3b154477622a4c2cad14576b22068a6729693a8227";
+  sha512.source = "1df5e248af42513b212d4c18cd95c8c9f2155598604624cf3b5e5e5b020643bdbb9c3addf03d8ff111c14185234d42f0db8a06a9de040fa0b58cec3895f32731";
   hasRunfiles = true;
   version = "0.7";
 };
 "cuprum" = {
   stripPrefix = 0;
-  sha512.run = "d553af47cccc5737b0f0146e650601167ca5688cf9d92dbc02e1df5aa3abe9cc9139e396efb92274e627bd5cb08ec1ea6072c7b3987b07fcc1f10ea7a34fe4ff";
-  sha512.doc = "5f7a1dc0dccbc6f1d013e629c2f9de4417f2e7558d8cc94cb78a80915b033c0452c9dbfdc1d427aafc3701211ae96d6c6938278376e6b5b898982b3c2886fe95";
+  sha512.run = "578ce2e5af01e81ba80c0cfcc0225985722c1515e8f98460a1cb5d71d8ee4630d400f28dee04bb505c429b13f5cb604364d26503af0b5d9bf98164b218b09413";
+  sha512.doc = "b9a9bda8eab6087a134b3b0660282998c7c3fa7fda8890e61ba107b9f7576d85ca01b59664c1c198679151e01cef6ebce5b8de29644a2e249a6ca2100f526fe2";
   hasRunfiles = true;
 };
 "currency" = {
   stripPrefix = 0;
-  sha512.run = "5c0e3c639ba5e00f6d84b9f91ddd047c15d779d27ade61f2670acebd71334b141bdf887cadc5da07d7f5da5118cdcfb1330a317aa4ee2f877e0b6455c067debb";
-  sha512.doc = "fcb7434e443e9473c69f78944db49633b86026b91fcc62857077fafb6407ccf02c5ccbbde9bf73af2d09729510feba383056d3741ee4d8bbd42f0571aff1ce12";
-  sha512.source = "b3294ec4bfc28c693e66e8365d3403ca9364364c3fd2817378f6d46aab0771d063823b0714d9594aa5b68177af9f56d458d905b848f396ac5462a2510d0f2835";
+  sha512.run = "d975cbe846ad5708a3558252094f4568c3ea4c5bc840dea7ade74eb8f6d90f4527b417a875a7bc286010473078d895cf510560f1287013e70498c983c896750b";
+  sha512.doc = "1f32fed0bf778b3460e094239afd76b4be9915be8a3e8ea20b7e48b02f1ffdcffdd1e588a507b8145ed232a38cee43db1bac0e232c472d5b5dd85f1cf3954c8c";
+  sha512.source = "c7a99bf685283b415c7cf71a6700bcf2928d2342f5db8a3b78e96148fc01ad028b0921a7c048f345dd5d5fbcb3f47618390fd580b02fb4ab1594e7bf5def9904";
   hasRunfiles = true;
   version = "0.4";
 };
 "currfile" = {
   stripPrefix = 0;
-  sha512.run = "7903adb1697ead3a125f89e3dbf1e47880bcc2a7b93c8535d3b5775e9991ca948dee0f7d89db5183dff2b530f698ee9819997408634c9aa02e5664d393ccfa2f";
-  sha512.doc = "85cb2be7beb669a0af3e42e156aa2fb478cd509bd1e7575d6fc14a612e08b4320f470eb3d389192d1e5ef079b66be37bea01c7894a3862e13884eaac8d2aa988";
-  sha512.source = "813dd79d01c0d8e8c508fa6b96cbc6a473ccd0437f8fdc207b5b3e42ce6fd5431f7eec7e101f46313defeea18117f5d15e715e7f8a0017e6f93110731f45e49f";
+  sha512.run = "5e67b659df7048a2f3e0d99f7e7da753fcabc4cc94d284d88b6b6922dffe2823eff3c07e96d0d4689d2c430a1cd66ef4693d0ceb344609c6aeeb919aa378a297";
+  sha512.doc = "d45abaaab826dd9dc8a7d5cccdeece29b26d8f56c0c74c2047f5ae7d43ffc3c0596f009536fca744fa9bede2e8d87a13b68b8ebf4a0ced31afc6bbab5b76ad72";
+  sha512.source = "0374496112e380b2c8cce8b00e3dd97d992dbe194f660118c3441fd9b0ba536f476b5e330bd363a624f71d5b3004f50d2ee315534929093ebf9f63f47e91c1fc";
   hasRunfiles = true;
   version = "0.7c";
 };
 "currvita" = {
   stripPrefix = 0;
-  sha512.run = "8fe111e7013ecb0884f0b22451b44257633b1db37cd924817172f26fc28557854e6c544138b9dff7884e26c435f927360ab9529aef92871178d85e7941c51add";
-  sha512.doc = "ae12a321ac07888d2a52fb6bf69c7693fb39fe62c8b385852e9adabe1204e1c132229cd66e169c61d933b5816cb354a2ae16b0da4afe93e35e8aece37b87ba46";
-  sha512.source = "649379fc1650020408189dcd2478e1f5191e67003d7cf7cb090cc5ccefd2b70e61988b8973ade6b9797ceaa55fbe3fa7ce49100fd09d5025db8e88d0e11e6a42";
+  sha512.run = "c555b0e9c7a500e086f0435a2dc6cde8da8b02df4d27be14534d28c77c1f546aafecb863bc652922e07191d0441a77db647f8d1d11e33ec9bc6014f73a5822c2";
+  sha512.doc = "b3de1ad371cead2829225015d60a4defe604e63890ef06da65fa9223cce4e748707f0b6f4f0b0dcdf22c3096e381adc3432a7b21b36f834c18ae4eb32bfba024";
+  sha512.source = "a1dc7d983ac6badf9ced1492c712373205d5b0a91934f0a76eb1ac546470292e6c9dda4cd5f5d721e06c90d6237eb39236f1417d1c6992a774f7a9f7df9213bb";
   hasRunfiles = true;
 };
 "cursolatex" = {
   stripPrefix = 0;
-  sha512.run = "e7224fab9725b7f331aacca1057314342b517ea8940b17279d07115b5c70f7f04945aa88a4a242cf77edd4bb6699ad9f3ae07eb6b5bf03ea9d8f4e843c0f1448";
-  sha512.doc = "cc2310c92b7879f0bd4e4ed995a891ba4ca5da1b13e47e2f1f9b0ca847f7c054a08cc06a39f8da19640ec04a479e65b6328291ae1f3c2d2d9d49f04851b7c030";
+  sha512.run = "6c58f5a0f6fb8f129e202b786c258ba088efa44639f162b9e0109182072c16bfc6ba928953d6e9b31b2b1c2f693fe064476095c232dcb9e0c6bfcf18bfb7994e";
+  sha512.doc = "a0f726330a5b2d8da94cbf25fb1b1a2b22e5e9010e0cafdfdee3781bf518f0cb48adb27dce0fe2e46572460f8c1749c0db1c16e06343cabb8cb94227e3da58b6";
 };
 "curve" = {
   stripPrefix = 0;
-  sha512.run = "cdbe36f957539445d400f5e7823405a93e863622a035a64eacca045bdcef864de5115fbf55bbc6e181537043e07ddb50e9f45a7f3e4eee091189d8b7e72ee5b5";
-  sha512.doc = "58c245ef4b78e7e3acd848ac945f7587e74c3a64505475fe5e8c4f8da15ef84ab34f6853467f6651d83c014c2e180229ac3383c444372506ce87e0393b84b887";
-  sha512.source = "6a351067a0e9a99534dc8eaf2ef1eaf7565b9b484adc2edc9126243afbbafd1110460437479dc9e5ea3fad9ac709160fa3f1dd503a4792f377222e36c3457c0c";
+  sha512.run = "9d318d35ef04d171da1c36ab4646465d4aa0feebd90fd3e97db5f1cf09c28c174d0c3be288c369215812f51ca83b341abbfdf3fa44458d1994cf68dfaeef0615";
+  sha512.doc = "7a56d7c3bd8b9b13ee675b99a2f5a8a27fb3dfd81dc5225f3a880f338d5390c893ca887cbbcd9ad8deae2a1d6b6620ef664ea64384f93fd93a75a5c886641a2d";
+  sha512.source = "8e5026da24dddda0f266b8431fb28c27037ad920e37010fd97fdbfb5dae8024cb687b681356a6e27244dd4812bbd043e12c91508978dbe796a119e3e8633566e";
   hasRunfiles = true;
   version = "1.16";
 };
 "curve2e" = {
   stripPrefix = 0;
-  sha512.run = "29cb2cbdfd79e985dd4b7c46328c46c3ed7d42a9806e23ce947cfa3751e9e294a19e8868ffa5a7daebff53d386e366d7eed0f1253ef677113e248f7a32ed0277";
-  sha512.doc = "2fcee0b42fd5c602dc2b2e26923fd562b620455bbad7e5686cbdaf0c6c5ac52d4551d045d5b6d5f2720d2a95cb97461b9d277fe1f111a35181a5fa5e3a87e55e";
-  sha512.source = "f154da281e1c2504d79bc6329cf3859ad886743bde1674fd26ccfe0b099588d2fcb71874912a9ac32baf7a60b1804f9738c2a58467a035b2500748cf9ddf0589";
+  sha512.run = "3a3338e1fc29c7526291a5f6814ed8ba5bda7f96162bd96945cbb8e81c60a51071c178a7a0158f12cab162fcce37bbd9abc33cb2bd9b1a4ba64996b085800505";
+  sha512.doc = "677ec58576b1c5559127b3effd921461eef24be62053d4f74f2f86950a9f7ead20686ff1e15157c989d84df3eca138855c4cef91bd0f592641503068c1de458e";
+  sha512.source = "854aa083e353e53407fd456bcf5175a3ef691035a5c47e3704becaa839b7a13576d1b5cb59157111e26bf6dfb6f5c730c82a6a45be73d77a2656bf32e31649bc";
   hasRunfiles = true;
-  version = "1.61";
+  version = "2.0.1";
 };
 "curves" = {
   stripPrefix = 0;
-  sha512.run = "6383e102e3af8651207023c34ae0c56c92eab0d5ad8accf08892f277f916c88f9a193f624dc952d98b8958d887ca55816210362eea95dc70c707a7d6d1cc002a";
-  sha512.doc = "425049bb81ce1c06d6ac9a45f7665048e9e96de05378375675d8df95fc4e4c3dfacf668acf2d612237cb5ef41dc11b205dd025fccdbf434be0793d41ecbfe141";
-  sha512.source = "6804112c6c6314e8630fba7bc9d3b15a0853548eff5a11ae29cf8814db507e12c50469efeb9f98ddd2e465fe7b306a887e46d804ce665977ee0fb464dc4a88a7";
+  sha512.run = "b2ac96620bdcae2263e0ff37ef0975fc705efd2ec30fa53a5cc50d54378cb29c6ef44543cc321e6cb37dfca0ea9a6cdf85777825703b866bcbad9729235c9722";
+  sha512.doc = "afd68373952dbf2a97944bcd7b36dcb62d5b65727c660af56dd8da97137ef4845037988e211996289fb54efa435833fa4a503ae4bba70ab38cd6e55f1966db1e";
+  sha512.source = "cdef0242776f9976f72d953ac743a4771ac5d5aaaabf6988ef37d695c78e206f43d546bf21621c5a9f91e191c95c02ecbe9fc9d7e3f1eb23372a755856d61d2b";
   hasRunfiles = true;
   version = "1.55";
 };
 "custom-bib" = {
   stripPrefix = 0;
-  sha512.run = "a4fc934668c7d5a0172756f87caf2c9ed6a86e5378887b87fcdf19e05fce49a139b4f199d5a78c8cf738a36d08408a267160f12d14e335d8b10c5549e7e542da";
-  sha512.doc = "49fb5ad74cb3cc29e57bf01c5da76389e7b8081c53ec680b0dd8b9ffa4baac06de1624ec77dd252980543eb2a7fb8e41d764e2531383d15e6f801b6fbf12d0aa";
-  sha512.source = "c3d28480cfb8c66420cb000a4586801c8189cc160e2a74ffd67e587517488a1dbbaf983835b4101ce6a31defd4f930610ba585e38ea78c63fce8c12a6c2ee07a";
+  sha512.run = "95b485e330c97242bbea4b989ea9e70882d796f7ff8fdbb10b0627d102ef6177c8cdfca976a89853170a9171a69499c58711d1deeb0e420f9cb268e336d4f663";
+  sha512.doc = "3d5fe696f095ef5661418e3066f2f98768968eddbeb24ce9ec84647b78452f97482ae1dd17cd9c84cfb81fc4a43052b05ef6aa4080e32a464d2ba4e8ce33869b";
+  sha512.source = "e17d437ae7fb0c1328c2fa333f1f7d286a517bb536f7cf2d66ced327d1ddc78b97791852cac8fc9de4994b41f1433da17fa1e41838ddf90f1fe387eaa9e477c6";
   hasRunfiles = true;
   version = "4.33";
 };
 "cutwin" = {
   stripPrefix = 0;
-  sha512.run = "44091fd98c50809b63a0389affd03e3d270dc8345710f1def9d4430e19fb89289770d0f40ccc774e0226a9e9b5406e5fc3e1912ac82bb9ad29b1ed0e64f3c6d9";
-  sha512.doc = "c991c37f50b9180820024d3c8cf8c72af2eaada5b3a08605635f6f11cd104b1a17b3f3cee76c89801f9e1af1f84473e14c5c50cfd368edaf90c10d203a82f5b2";
-  sha512.source = "d60e3bc71d66065cb1bd0fb356b849a78bcf7bd5e10c0c4c1d27341bbf6ec69626a702bb314dae4096d1a168a9850b8d0c204be975a52299f861ffecf9ba28b9";
+  sha512.run = "484c995cd3b18f723899fc04e3af7b49bc7ac90a02448c4b49643b8ebe09c445bab122bc2ca0f2cab872323438fb02af3e5a053977ae8ff6146cb4af96f08ba1";
+  sha512.doc = "89b4fb68d949b86eb3b5d90f7d8c828e10df591cf734f5e6908a221aa9e2d50820841e6095dc912619d4461c37b735907504e63fffbfd95c3371602144f87429";
+  sha512.source = "0e6fbb5bdf3cc9b1d270979f379e2f50b356353533278495526275bab3211b1e6ef670a5269e412ae87c3fe4ca0ee8411dadfb42e4e2cce6dc200c863532b997";
   hasRunfiles = true;
   version = "0.1";
 };
 "cv" = {
   stripPrefix = 0;
-  sha512.run = "8d4845e0ac5ae7b8c72cd83e46cb041763585d0d844e7dc920ca24bc31a4cca9e16af01e85ecc3aa0c89a467d18f05ef900f1a8ee710c8d12b19263503c8592e";
-  sha512.doc = "5431df2e85f4c89f33946ecef9712362f3207bfccd857b884b95d669a630b0675ecda08a0ecafe27620260590a092d67af4b44603a7c0f4426a73b9f8e754404";
+  sha512.run = "624d9bd1578e0d2e40e2ca76cd97d7f44d9da5c71daf737e06e6b6b15c64911af17f0da197afa17b5ff3b145461cf7efb058a5cbcd02e7c21642e660cfa3ca4d";
+  sha512.doc = "c04b207a635f1b6f76e316284da987b45fd4387961c59b7b1f1b947284937f91f4d95ade824195d1f0db00766fec870e6859a6dd27cf3b6b426d095866f17d6a";
   hasRunfiles = true;
 };
 "cv4tw" = {
   stripPrefix = 0;
-  sha512.run = "508e837ae533aa63d84f0be128a65351a261694480a159c318db8a5fa8bed33f4d7ceb770b10ef70d3aa0fddd326166d12177717085fa5bf2035ba2926686089";
-  sha512.doc = "46021029f976c9ad66eac16c33880af2d81b0d17edfd115294efab3ff273df4e9764915c5dc29f0919ac3a0f153ca04cf9f3bc0aaabfe7675260402ab95eeeb9";
+  sha512.run = "607745abedd1325c59bc8ae360a1c5d00834ec7bd050b057ba5427c135f17046027da3fb6130a0718e8d33bcab74eaf235f2de7a1ace483da1af87be5e559867";
+  sha512.doc = "d9166421ab15d7569a4db66970486c78af43ddbda9d7f9c9488dbc46eed91ab5079c0f9b7851835afeed6045ee4c65c888e1be93a95cda14623405847267880b";
   hasRunfiles = true;
   version = "0.2";
 };
 "cweb" = {
-  sha512.run = "0b35c1c89eefee345954390e23cbabd01e9ce7fdc823fd7da6d8567a929179a29d3428f2051f7d367df07f978796cd6344b79bd815ffa7453040e98869292104";
-  sha512.doc = "0fee41e1ab3aabf4fafd84d0138b12497455066d9ae5a9cfea7880744abb16181e9d8e8c1b584326617cd239738ecdb0b033f791d8ae2ea8866c3bd54bbcc749";
+  sha512.run = "274b81a9a12de63e62c72878971c517427fe3dbd9a5ab10d89676326ecf23caefaa961504cb0e9a609224c519a3a6983346212fa67e759dbbf18c2c74de4c61e";
+  sha512.doc = "1acb8eb3dfa5d563369baccf3615c06c61f03ae70e18988fe4d4637bc97290f04288a9d15c548d48c65aba0dd3b0b23faa9c1a7f7aa093ed37035fab569c8d4f";
   hasRunfiles = true;
   version = "3.64b";
 };
 "cweb-latex" = {
   stripPrefix = 0;
-  sha512.run = "107d772799ca21900880b23f0f61c07165c0b3bc87be03403836ea8813a18734dc4c6015886bb70d63576176fba61ba9bfe11855865e8f5f2e347e8cc635e663";
-  sha512.doc = "7b2d93821a99b39cd43ae02f27c97b7f4ea02316376739955ae25da1b57c097d7170e828040feb01784003ef99e81215e5faeaed14ee72db16cfcd010c7a5ba6";
+  sha512.run = "5d94dd53bf3212967ae38c094115c4ae581ec15a49e3d0f64be311cd1aa190eb9efdfec2cd83bbc3bd89250efef9470a6a6af342247fb9670992546a976a5886";
+  sha512.doc = "16c8cd2681e216084564cec718401b9e8d98228e6597d38c42f8ef4cc4775e8e606fa11c84d21f0450d85ee18c7ed1e5fd9e1f54bcd0e8c2927b1147ecd4591b";
   hasRunfiles = true;
 };
 "cweb-old" = {
   stripPrefix = 0;
-  sha512.run = "6441c3755c3c2c55bb34dc18462d46be0740919d814f1aa38ef314a0a6778fe9015211c36b645fb56549d39963193e02695948ec1608654ac42c847244737912";
+  sha512.run = "efb1c9b65f7c628905d2dac1373da96346b6b6c78f15e8c0c8055e86c1a52b09bdb5f78fb06106e350d10a8daa378eb45f5fe788c6c3d8b23f0b47c3db6f256a";
   hasRunfiles = true;
 };
 "cyber" = {
   stripPrefix = 0;
-  sha512.run = "83435c0ea24caafa9f72d6a6c33486d62b7da06b61bab5ce4e5a0ef5fb665cccc30f19fd59819fe5b393ba479ab9484b73db3659b1bf6b09a9cad102e5cd07c1";
-  sha512.doc = "a87b87ae6a7e58ed7f8043f856a0da5fa6261d17657955edce3ab18d4497295d0b7ba8612060527fc94eb9198221bed72792fbded1c3e95e64eeecc0432de230";
-  sha512.source = "f59893865ba9738cc8e343a1893dbbd224b6dafaf45d7e22612a9913e0cf0359a8f014335291bf12a2ebd5d7d763b96e1bf57b5c9b45fe4d5bc5b77df87ee8f8";
+  sha512.run = "f79e9ce92036c8a106de0a5da06f5c2b833683527f1225f5b69298b6d886cb967f9d1eb459b7a0543d89b0943a8425dc802619fadb9d69aa4f57a5ccc71a593b";
+  sha512.doc = "4dfc2289e92552dde5cd1703e5644e6a19f4281dd16cb80d86caa35cfbc07eaf0f5cd57686e185adafce3883433fc87b1fcb590cd65087571115dd4b98023d02";
+  sha512.source = "cf9beb92528c860a3ec39041c0436d40d113bb0cfaf89ae9c5b76dd44ca18b846b14739c1a2b447ea1ff84042dbecd48ac2cc118615ebd30013da305e822c81d";
   hasRunfiles = true;
   version = "2.2";
 };
 "cybercic" = {
   stripPrefix = 0;
-  sha512.run = "ca5ce46f5921e8032a3c142e56db6b7f9ba26d7679f5333e8bc713d2b3d03ef9a79ab980fa1726e56a7a51d92e7e6654df0decf34f8196ba1ebb1071ce22f00e";
-  sha512.doc = "0c694194de516e11e50c20ad4c346de75e8cf996e42180aeabad225714dfe537ebd004e9726e56a5191a43cc93f3480fa1ccfc3882854ff7927cb36eac51628e";
-  sha512.source = "63a5780dbd05c0d6723b550591e41bf5cafec4b2474435e8ceebaf666610d8363e6beea6e02ce9bbe4c70ec5f3766d2309d7f99b53fd8e07edcb236891f416b9";
+  sha512.run = "f3bfbece973cb3b9a3077c160b0212561056cbf7733e1c011b39fa1dbf94395937f4858964acd0874f1cd3ba283df9797cdf19e8e71e7363a7619c5ae653881c";
+  sha512.doc = "dc72453f55c6a72913865f584b026baf287a35885548ee5c2c8d29cefd60595f4aa9f7c456f59ebf3ed3e3b72711beaf90cf85f24c2ce6773146fd2a4724767f";
+  sha512.source = "55223353fadf2986f777b4a61b2f34662f493d2c70e29cba8712625c16dfa49ba50644d406f49a908afb0e4b6816666c1cf5f060685d5428eb2787b6b4ef233b";
   hasRunfiles = true;
   version = "2.1";
 };
 "cyklop" = {
   stripPrefix = 0;
-  sha512.run = "706c1fe6411a4cb44e20d2a03f19cf3e8964e8a58ee8a33ae544ee9582fc29a4a492a79b33933f75ea83ea699b6c4a7498be572079d912882f5af89062ab7d4c";
-  sha512.doc = "6922d69489f8c7bb7f022746a128a9b54527b38bb9cc70797752bcc68295d060e7612f2ae66fea375deaedeeee4fef394ca9b53a78670a3c857a8137305e8758";
+  sha512.run = "dd6584831fae3eb388f66e42f289f9bdeff401412c7df471752c4aa56bc67c16c56f6f271d11c289a1389faae138ac15abc41bb716bf344bc2f49fa087ecd380";
+  sha512.doc = "4d81a01eea30a4f86b2f0a7c9c21923196dbd28c7d5ba5c1639068318ef227720550b3052cf0ead6f3194450d50dce9acaa325a0dace0e6fd230e0ed11d9b106";
   hasRunfiles = true;
   version = "0.915";
 };
 "cyrillic" = {
   stripPrefix = 0;
   deps."cyrillic-bin" = tl."cyrillic-bin";
-  sha512.run = "94e0619912878579b58758cb5b5f53d3c08b562c9146bc298a1f130910c78ce3b2eed1558a146340b221289751955e62e8ad5760cc57aea20aecced10c60310b";
-  sha512.doc = "253df9b5b0e3338bb20276b56127c19e2af654a34a358c3601f7ce79e5837aabaadd559d8de065d7a6c2e43487e842c2eae6dd8e62bf3d0d37220604f396cc20";
-  sha512.source = "9242dcbefbd21221cba7092bdd2b41b9bdc5f1bddc5e03ecb10c78ad9fa963f13464864793e063d96059474bc81b918809d3e2515b8258f566c0b7398385dda2";
+  sha512.run = "447f8628641df193b258559435567e5e7f912de6a87688e68676ab683512f09661b2098707fa6ff9544972bdf3a58d81caf946811d3ff8516782062b1a10545c";
+  sha512.doc = "fa2a5ca9c0952b80150e0d2b37f9472981ba3ce45e8ea5cba399551c6cf5a309d8329702494eefa759ca6423fc7df523cdce47eb9e9ecd12a5b15c1ba322ac48";
+  sha512.source = "5f19310aa96200cd97eede4308ee7e0de75c06905880879b8fe83c614b63588717e2cff476e4dfa6e32a1a83c5925eeda0bc915d3b1bdf42250ac8523f61c215";
   hasRunfiles = true;
 };
 "cyrillic-bin" = {
-  sha512.run = "5714f2600dce71b773e1d488e7bae4c79cd30c0ecfa3f96d08c1dc1bd3e16a3ce437a1b4cc64e878388e63eee283fa73e3b327daa7ea001f326ce0b932a54187";
-  sha512.doc = "0a1be40b054f1bc6b696fae24d7790480335128bf4faabe26d9468701ed830235b0ff730742407d8c53c9afcefec98d3c850ad98b4f9709f45b88cb39ac48543";
+  sha512.run = "f218abc7a05b5247ac3e7c6488c94ad775f7d238d4caa96d7537156052acf8c51cdd2131f55411050f7f8d725e163aa37e16a6af7147e0522be3db7115dcd207";
+  sha512.doc = "bfd4da4e4ba7c0d47e929a31b0fb52f5690b54fda797dd0df71864d411baffee9eb8c99b83942129802799ad95fbaf710b0f4da6be2e8fe003fc24fe97d9322d";
   hasRunfiles = true;
 };
 "cyrplain" = {
   stripPrefix = 0;
-  sha512.run = "8cb0d1f40df357b42053638bb7e195bcc1c661aeeba97d9295fe92bee53809290370ab5cfd2a606912e802c0acad27770e24e6212e98f2c0aa69f78a35485b2e";
+  sha512.run = "84651aeb63d3e47f208732f3c0d54ba86862d0ff7da7c56b3d8b8d1b49b6b88ed4c5f9abfb4c1c9d8a1ef8a455632aaa69408651e238bdc4aeb4eb7709f62096";
   hasRunfiles = true;
 };
 "dad" = {
   stripPrefix = 0;
-  sha512.run = "5374f2d2760ed69d96fb3e609c55e460a187fe905141ca70dcd3fa3c606c5a3ec0375519cd4ef5c982e6411409b5c825981a546bb971c705dd2bdea58850ff93";
-  sha512.doc = "87fbc52cf71155e31332cc98069b63b9f833fe32477ea0870a469725ad7620405f1624574b673efe6fdcc91413ac19636b2bf3d9c2c3f55accd5aca45bfe5535";
+  sha512.run = "3a4a039e8407ea7b8ebb9b2fa500a634930161f6e824e0d090fb00c233cc29bc110e5fd802ee11768569612df1c18cd03137ea086dab86e19bd3cb54dc806045";
+  sha512.doc = "5715bb8219f9800a89c660b2dc581b5be7fd86d9dc085417f3d8e3342dba2f27c16952d9427af64212d6e60359be551b8ddf4eb01f89be93a9c714024c82eeb8";
   hasRunfiles = true;
   version = "1.2";
 };
 "dancers" = {
   stripPrefix = 0;
-  sha512.run = "6af1b6466c248a3b5d58ee17f3d46b79f22dce00b0df307620f4590cf8d4f2a9811238e8ce341e314d64b460afd47e19ea81fa8d9f02114bd42c50d742a9736e";
+  sha512.run = "f570e4c775a7e4cdbeaf2ad764ee147a685b5332369aea29175a76fdc9fb37f052da295d20a177eda8e4b8352d733034eba36882c2507fe804d7b996c0e0537a";
   hasRunfiles = true;
 };
 "dantelogo" = {
   stripPrefix = 0;
-  sha512.run = "77c33cc1a6d801151e87b546c8ae28590bf9d454df89acca76cfc178dca86e2522eb990ed34e2aa9c4458ea2ba41b86d7b7ff637ed607cf8c19394b517922a2f";
-  sha512.doc = "cab3eea8565ce30179bcfc0155446b8881f70ccf6146121be2e112d7cc14f0f460965755a199de6f41893ddf2e6ad6919272509e04cea5c067b49114090efb7d";
+  sha512.run = "883c5d6f8368bed41002eae123329954fe38cc23a5e6db7feecd57c16540b6b9277cf7d13af6ce8f63994c11148708e1d3dd10ddd9d17457b015d40477f91eac";
+  sha512.doc = "4612de774c6a39c7f09dfc99aa182fd37d9f3e32dece37726f1e87e48e5faae246f2959992267f5b2cb685c26177e47c5112fbe42b8f1ac3a60da92e6276a681";
   hasRunfiles = true;
   version = "0.03";
 };
 "dashbox" = {
   stripPrefix = 0;
-  sha512.run = "4f08cb7021670c31533566f76bc3d14465240bc6668273a3dc73218983b01b0730de2ef9094094e5682cb57d8232db4523e867611086494c810b0f1f7f3be8d8";
-  sha512.doc = "79099859352d6120f8f0ee23c1ae6d40f3cda6bca259334dd593a2b967e84effe97cadf56027fb0dd3b94d76f6808656d2ddb7d247d5a02a89b56fa7ea8c1a6e";
-  sha512.source = "863cd0ec2c1b1086913889615ae3674948cd9fd9a1c6cf677ae962ab7eb3f3c15bda15423ac8ce23c8d6b034b92b51c073e8870cb2a499bbe77589c9c14ede30";
+  sha512.run = "a52bac248fa26031db34686e57cd3c9be90bc18b41339d7e2dc85a68de1de23a627648599e5fdb207d3364b2b4e3651aaf9c2d90e6c3bd0f0fdcaa30fbc8932d";
+  sha512.doc = "26672278ffdbdaee64b82f4e7554b5664ca3410ce8009454cfc229e3590439b4a4e212b77568605adda885761f5ad456bca022f198e259ff9a33b8e0abc1ea6d";
+  sha512.source = "833bcc8f98e6fbf3e205b54311dddb9377026234132e5f988abd25e3ace36b9f3b54a95e98a5c4cc40ef1f049536093b0f779517c6f5a63a08459bf0a7ace741";
   hasRunfiles = true;
   version = "1.14";
 };
 "dashrule" = {
   stripPrefix = 0;
-  sha512.run = "3ecfe13b8901f8c41af79b94b2382a2423605f454230e78b86521844574e51eb6fd961083f908c9913f36f5f4a7258b856786aad1995bc418d1409cd33fba1e9";
-  sha512.doc = "123a92f8ae45087e3b6a560435c8d07c1914df7e5cc681f93157e8367c3c251393c795bb6a0123b0212b6322da807937137a591e906ebb23c5baf03dc73b3967";
-  sha512.source = "786ebf42bb524fd13b1fdeb0144eb8695453e7ddd3d83a500846e309edddd24491efc0b3e1368987e24b770c4ade54dd1df62e5445558d1b35000dde2fcb4c05";
+  sha512.run = "4b1b993e9044eb2ed4bf6bde0c114b0cd1fe7daed38f8bc5d3e25a2705d55cb41b8a372cce84b0d61093044d970003a4317de98cb468978c8cb1a8315f980940";
+  sha512.doc = "f45e0785d7c6522683e724ca27f7505e3da6bf5923d5a8c71a75ef8c67ffba8a4e4711b91b64f25dca95566448cbf74b5937dcecc73f5ec0aeff7ace8d0e4c1f";
+  sha512.source = "0cf95a6d5fe3e80e9f77266033d64186300676d74a7cc39dd6f907784d1a6f7c9f83ff5a50198eec8bfc075ef5adecf58d226063f3f0e02f55dd7cc0daf691a4";
   hasRunfiles = true;
   version = "1.3";
 };
 "dashundergaps" = {
   stripPrefix = 0;
-  sha512.run = "6bf142a1b93bf4c34b3bd9edc74f8842289cd662824a3f5f02b90a74e62e8840cc9613c756bfb5bde7df4591e5541742720f9d1c10c3672914f94dce7db773df";
-  sha512.doc = "67f75a224edb4c50ab1762e70c19676639d538cff361b6423106f1f09f896d2b4da2a78d35ee70f852229122bd66245854a73a11755b3f5311cb25b6fafdea61";
-  sha512.source = "78c96a90a46deb1d02e923738ca0befab62e31b0ba453b3fffc72a2c77e34808e7ff948979c2b490dcc48a188faf52b15b4a70af3acd07c8de8e4fbf2d38ef4a";
+  sha512.run = "190b4559e568ac1b5281314dc17d8e2b143af0b1f3e0812c02b70eaddb6ece2a33843585dfbf21f10af0112e2f6611338df3708d396997bc63f8f1ca5e9884d7";
+  sha512.doc = "262ac83918e07be8fc0d57c416a6d3fc342c75160cc603186147b81c00af2edec662c1822b01d486bc4dc871733dcb235f3f7edcf9f4cfac6688d412cef54744";
+  sha512.source = "22b6d3821c2b9ee3d8fb1ec40a0d5825e98c957028935706d2ec52e8608d413af6a14ebddf02d140882a79b480193b940197afb12d94f4af3daf6c8e67b69c82";
   hasRunfiles = true;
   version = "2.0d";
 };
 "dataref" = {
   stripPrefix = 0;
-  sha512.run = "11b6007a72e7439eed6f9e4d75b544b3b68ae7173504abf84ee5d0ebc559acd9a4ea88980b345cc1342cb6867cfdabb8b21f9be7515f4e743b76ada08cc1c90c";
-  sha512.doc = "fc9a3144519306af357f3e07f61a92a86133820f241d9dd6c4b1e5a4cd8c75ca20ac3c62d2eeff47f3adcb2b8b6c83d9d394574c9e6979f7f7dcdaab9ef6f18d";
+  sha512.run = "8b76861673fe05785582abbfb50d46ee6beea2cd63bd7f622e2640acce9c88a39e4fbf57b6db7872dc3f3b473d3e33581bb6c93f305e036148efb1c3ad4b6d8f";
+  sha512.doc = "2d1bb12245c071b8282db3d0aaf198206fe2b8509527ef6e56950464b6f13d20be8381015fa62a1b0c7469e004664182170ba400c7650b38bc597e269f1d173d";
   hasRunfiles = true;
   version = "0.6";
 };
 "datatool" = {
   stripPrefix = 0;
-  sha512.run = "9ca2e235a0c3c86ab08a9d3bf18b7705451e9c9bdc57b8103a9f4ec5bf6bccffa6d179702ed12f672425290abcd2bb708f0333b0a8c0f73ef13386a72a2c2111";
-  sha512.doc = "01f1e848a4498e0d9d27747754f6ba20b283c8cb076ac5e8fed0b0657e849317452c31b31dac71133d354acb6bf352518747659f5705a03600bac87d940fa6ee";
-  sha512.source = "03b17ed5b9ec83a136af9cf9b012468ffc121f47f82b6c3f8e29fe4e3e17205ac07412864ea758b2f77a962190f2e9a0fab707ac2053bce9853e885e7e681721";
+  sha512.run = "e399e70d6d5a1af9a19e47eb6beb7bcfaa2200d96151ffe5e068cac279ce88a3c9ad5e3b55bd93bc4eaa7ca26e3ba1dfe906fd979275b04d57e86b1546b7440d";
+  sha512.doc = "ee42a5da7ed08e6938881f991addc26f3cfcda8e5dc03ff3aab7fe268d749ac38793efd9dbec2b195f88a76718d7a02a0c9c2ae11a901b89af0cd7c1081a1400";
+  sha512.source = "287d96d2b74cd34909917f59154010bf167e43051b5b0d992813392b826641d01df84e03256988b46ed843a7d53e3f6f9c29754ad3cd5c2f6c33c4998a17fb27";
   hasRunfiles = true;
-  version = "2.31";
+  version = "2.32";
 };
 "dateiliste" = {
   stripPrefix = 0;
-  sha512.run = "c19103173ee9aca8a24e120554c4af4ea658db903b6099833789a17c85a8f05d543242737d4cf402f104e3a02a4e06fd7429a08c4c90ee9ba6361956a5fb6235";
-  sha512.doc = "2b4e3dd0cae8538082a4371d444e00f6e49bc2f007b28fca39b01af504df0a066db432d660f16d80de5c148ff48a69eb09226dc8899f43897b593b37c7250500";
-  sha512.source = "5f3ff3392df637bd785ae3c52644c634b3c7221296ce670b934488f13ad141e6d0dfb73bbceff7d6a042a429fed0700582343baa9882705ae0aea803ac2c1106";
+  sha512.run = "6da6a802994a06e040d43ac7fc9db0515d9273ba9d4cac061e04b05922f9eb9fecaf138eb641b3149be7b98f9139c428084b6470bc177a020386e0dc053427b6";
+  sha512.doc = "53ca32cabd7e3a32d02c77beb076b08ccaa782b6a2ae249b932242987741f0e255bdc83a2b6ccc7ed2e0efbec66923798026040745152f7244984a0843c8c23d";
+  sha512.source = "563840e069cd1e1c1e9b1774c5c3ee8b1703305fac3fd5f58a0afe76f154210150be05f779a94717c227978d2a1317a10f5b6232f51dc7b3e422638b84b2ce95";
   hasRunfiles = true;
   version = "0.6";
 };
 "datenumber" = {
   stripPrefix = 0;
-  sha512.run = "dc708ef113c196cbb38748f412840a35c0d44d1872fccdbeeb5e6614c466b61b4ff78bbd1606301c94aafd0af3527e77f2ba44951f021724ce517e0a8623afe2";
-  sha512.doc = "f974cbb2902dd51c69cd6242b885cdf325fee46f8ed495ef352794149b995c51e8bbd74b4bec49e5aeccf1ad61d9583590680cf1fea8d43116fd689a7b490cff";
-  sha512.source = "310363eefcdca22b23c0f411ce098015d9f51d7cddeed3ff195bcbc31ada79cceddf6383a090c7c0be10d325d4236abc6cf63b0d2937adb6bbf6a29ab7f97347";
+  sha512.run = "f87518683c9820e816f33e535bc8e5d7e31fcda124178593f9635b040151d1f43f6eeb4d69ca974b847c97efcf19fa94f571d5534dfdc8ac0e40d711d26190b3";
+  sha512.doc = "b9c156b19bd6abbb3f996495dcda633172f8e559add744ebe25bb58070ba06bc233c2dda54c93415da14aecc30d2888241bf9b80c0dc5922b46cd3ee05865701";
+  sha512.source = "ffeea9042501496e815db5c90cf8a99931fe96bb8dbae6e2551994242336892567c140ed352ddf962d1f144844960eaf03187aec6869780a2c3e218446940174";
   hasRunfiles = true;
   version = "0.02";
 };
 "datetime" = {
   stripPrefix = 0;
-  sha512.run = "513e226c6676aac8d1a6f5425375b66c62ddc2a77714684e458a13fb641b684910c1e8c3218044140640d957be6bdf215bc2dd44a82259a4a349c8887a0746e3";
-  sha512.doc = "0b5543c957cad8c898c6aca6e991b5aa0e7a90a64d03e4eb92f297c9b8df4ecd9391507c75321347b7eb446bfe615943e61948d7660ee6bbe2eb22fa3bfa0d70";
-  sha512.source = "a0e2021c402a8832ec56f5105443118a26a2b578efa11d1bd4e4824be1b2fe148856f601103177f04cab880894e4f2e56c90f93eea3ce93bf308faea16d55cc3";
+  sha512.run = "3d033ee164d52f7085bffdc12f2062be7e94a644d9ed731b4d1b97a3a46838dabadcf6687063e165c65fc938a51a4adf8078339b720a305175d6cd6a3b889f07";
+  sha512.doc = "510449d17b09d9207b76e732b5d426121888cf653f29bb3be8872b74a243596ac339f09d11a14a4a3007f8818171aab28727cd1713ee35c8908d2d168a57d9b0";
+  sha512.source = "3e03ba12952ad5dafa701c7ddd5d79097890d13d3510d420cc399b30b1c60c2b6f72bc5caa2a6d2f53ec50430d13582c5c6fb549dcb3566f827af0d4abeaa011";
   hasRunfiles = true;
   version = "2.60";
 };
 "datetime2" = {
   stripPrefix = 0;
-  sha512.run = "b8d8276ba1a596b77c122540926e86b59968f0f54fa9e4897433c1f0607c229ded01d7672c7b95869c128ea2fbb7e113f6a8c63c0781449fcb152d397a92238c";
-  sha512.doc = "5aa78c82711c91fb4203a5f37f2ec2bc75d9848674185d4bc265092c5b6695024d54e796cc038baaeef615deec4a9ff2e01f5c4baa186dd90264cfe438a7b31c";
-  sha512.source = "29e241773af4e71a960433017206d051fabb9b3af4a25b17ae4e3b9fa9f47017d0d73fcaedb08d4629b7935a20f27a579c540f9adf45993a352e182a005e5f6e";
+  sha512.run = "876b16d0fe08584c02804e93bdce6029376e1c37b3c8a3a0a5ae4ce93cebed615b077d042cff0a658f0f2c65745fd22b40f18c4db87ae73ecf3844a699f09e81";
+  sha512.doc = "37fb08d1d23645a53a6d0c76aaeaf8df34de9ee148aac23723adc892e026a5daf74c446f1ef747a62175984dd601560a1338fc37ec6600d9d0772237e60b1d21";
+  sha512.source = "42f6ef0eb78480c10ea1dfa1ba3733f48fb5f4a639ffc11c11d264ebb46845823224604b7c43b4120da6ec0534c2d8eb63c327825c074c7ffe01ee1bad3137c2";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "datetime2-bahasai" = {
   stripPrefix = 0;
-  sha512.run = "25838a4c25fa54c1b5daeb02cca8af8de1a33561b7a5f6a0bc4b662675e0382a9b4a877104a72af1518b46b0986e988ea5cb48cd82300d68546abce5304718c1";
-  sha512.doc = "038d22520afda5faad39c74b94f26004def5d72e06c451772b2d31cc90cb561866d70e98e1866950c0b8111f166a931532feb696bd3ae9a63a541bd582f4b26e";
-  sha512.source = "e1db98c267e207b7046d9219a0224f4ebb762308994648ce5cf7c58d62ae99c96faa496b423518087b6a706632b4d6e03e77e572fbac81bbf5f7e7a17f8a31bc";
+  sha512.run = "6bc05fa0f1cfbf05008de715f9b278948272cf7894e8c29b52b6ee4ba436e01e5588356fa020fd5453ed2e9bee185cb46c54ee3e808417782587c9509bab17fc";
+  sha512.doc = "d9542fe7057b9972c6e0b9ebc1360c2fde8f9b3538e70efd7249f0bb344f2d5c2845acac9ce39fec6f9f7197b47e65496ffc662b9f3a3044829e4709d6202995";
+  sha512.source = "7edf39f7e2c5b44923e66cf3dee57e7681c549b7ae944ba2f4593e4643e9d50b686b8c1cb6905326899b6974ec5c0587ec7a5f4f880b5b1e81c94667240c601c";
   hasRunfiles = true;
   version = "1.01";
 };
 "datetime2-basque" = {
   stripPrefix = 0;
-  sha512.run = "a9b93a716adeb9b25c06d1eb1ecbad80888cf68d6b1e245853431fda8ad2c52d6096fe3abc87daca8bea1de001acbdfa3d33544f2d2d0e9665ee4815af9c1a66";
-  sha512.doc = "4e313ce2df3fc67c43e4904cd6ea331b7389f39184f301d1938b5705dba47dcc916d2b17ed837f607f1eed2b67910b70c0f6b15a6eabdbe929891cf45cd543aa";
-  sha512.source = "8add0cc0c4e60e2d9b7474ddf2aed4b5bf5ee047eeb0c58a41475da8f56820c7aeab3027fd1af016c4e0b864ba8affba64cbefa93ed8c41bd4800fc61cae6c58";
+  sha512.run = "73d7dcb4a2d13d4ad4747d4d2a19b839bd9a1bd55793657315832178091357f61d9b748d5aaefd317baa7f52df2a4926dad6196d11d11cbce0df78168b2ad380";
+  sha512.doc = "ce083f982f95f5e4beb33a706144d26f6f09de8ede946ac89d28ad5e5c75f9a475e4e9bca5fbc7773ee90a91ca095f0b1a9908fc0f74fcbb4117ec7511d603b2";
+  sha512.source = "a2bab4c1956a0471571221a57f85e9f4260e349a9b775540638255d8313f5db2c9922120e045b8c769b7b7fe1698c7fcfae1e1aa101e858e84aac32673f6fb86";
   hasRunfiles = true;
   version = "1.2a";
 };
 "datetime2-breton" = {
   stripPrefix = 0;
-  sha512.run = "0199c9e1aeddc11f8d802bf600cf874d46a23e18f6d5b0dedb7a4ef3ed0aa3680d20046c44eff7c293f8e01aa628f098d3e908b99930fc6a080d455b61585bbb";
-  sha512.doc = "c4228974e1e7e4a66507341bba28560c1169c946b7f3edd1dbf9f8c1485c1fcb897f4c5b970c20e0b2c8d487d0a77c8f1d6486aae4c91c7c1be4d3fc7c4682bc";
-  sha512.source = "0092fff59b306038b4ad494002c2b19843a7a2a5b7177f31cb105066b56a82fe1bfeb85f7a0c29d3dbdfaa0866f212281f68bdcf09724621acf5199a42783cdb";
+  sha512.run = "b212e5cbae4f1b61c3455f2ed2f05b9b61f34d65079d5f9fbb0be716c9d06f14ce915efc1059cccc828b52b3c0fae3a5e08680195c4ca20bcfc8c6378798229c";
+  sha512.doc = "4b6d0592e5fa100b3a68cdefaee29a089827fc2f86d5dcc1aee79aa6348b7cf4165319433714914337239220d01e8a3d93fbad1448cd3ff4790c817215a1cbce";
+  sha512.source = "e4a7240799195b9be7a9a755c181268082076218e1e49c4a81e5ac2c32bbe1537e3965bc5e6791a62a3a502c27059292bfcd985f3fae31e961bf129ef166dbf0";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "13faed75c5ebede70585ba403d6ec4a6e87498e2186982067470850eb65b2a94f4ac399d1bea9092e49b36e432675bba00bc46d1274cf4a3eda4d12005cea9bd";
-  sha512.doc = "44d231018fb5497bf5234aa96ac0869db73dce6156e4c66811f9c48b14b97c88f3601fb3ac4e0e3b5021c7654b3b2e8c5e290dbbb37b57e055861e1d3daeea0d";
-  sha512.source = "98f0b5f92a4fc6c61bbaa1fff928812c3421b78f1289c4d3fe5cf4481dd12dec88441cd877d75820725d0d3b8b699136d92687aeb60bfb366e381103d5293373";
+  sha512.run = "fe0cf5eb73c5253467a8d2b972cc20825b5179ccd3964f64656ee8f4fa5d7fb7bf1660a7e79d58c491fe74e8c9421b75c177d4c8bf7309782c81ddeb69ff1203";
+  sha512.doc = "f07df79af157b8ed471f5c8021719d8ac4dea9075885cc42ed0d64405692efc5ea59b6a77448225aee477b8fb05d564ce9155b7e1efb3d9cd7b7baa794783cb7";
+  sha512.source = "9692b6932f74a7e15a625612dfefd975a948f8a2111401c44b156702fad868d7d34381191b5cf675f0c17aaa6234071e10722f6b912e80f8afc4af69353dbc6d";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-catalan" = {
   stripPrefix = 0;
-  sha512.run = "31bf2df2c1d6e664ca5b8bba2d2733c1ba9ee3f46f6499c4bee0eeb3aa624ad2b1dee0e297f3c8d07f8167f2f33ca9b4aca73dc1d7e1ad30a66bbd26a68bb3d7";
-  sha512.doc = "dc75baba23ffa4b0014d7de107244b6848e0a28f27cbfae6feae98c81fef6cb95ab6f06428404c11777fb4f5b05bf0cd100efbeaf4c73b4d66ed3c31d26d2d93";
-  sha512.source = "2bb24a3fc158e4c179586fd7a024c455ac41fb499e34f04b44181cfc049d91323881201a475b462a9d6c76d060624d6544171bd4efc4e1e13df960be0c1b1982";
+  sha512.run = "7a414761760e3fb61ed12c656a88b6ae4d36b8268998f10ffc85a9cd362a6ee60b73b37c0994aa47603e805d785a3a0faa7266efa46c3e017535b864f2282e5d";
+  sha512.doc = "d1613bf5d8a35f69bf3dde127a764434b8527f0e627cecbdda43490642cb8d0a10ae629bf5f1359b7a87c12b3845bd468fb2c00b508be1d2cd80b6ad98904ebe";
+  sha512.source = "35fbd618c48265f4cd6bdccca100396f54b6379111189f8fad705e93f69026fbbba21f246074a3d154855b0a04e83c4a310b99c78e2105f821d109cfdadff6a3";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-croatian" = {
   stripPrefix = 0;
-  sha512.run = "7da533ed5aa33e3035cba2a3f10ca03f78f77a4d45114e181bad4a92200d49fffd395593d5b572b2ddb0c6e1164c6fe1636d3092bfb6fbcd94e1dadb432934df";
-  sha512.doc = "65e3058d8543572140006e287190b4ee2dc3c52dda14a588e4d1689ff1be26bbfa4dec8f6fe1dc43c64ad6787e1425d9d22a8c3e187e55f1f941d1b6b9422145";
-  sha512.source = "643d4c454b7e3d6ef34b826738b494a009d0fee388f12612750ada78b168ca874c2070810050bbb6b215b59ebe632b67b123d6c6edeeb65e59e799c0db0bdf1a";
+  sha512.run = "603052fb5cff6ea8fa5b951623efb1fc72aa6583fa1ed560b4c5266ce96cdd209423773ee0d3a592465247343f3fff966d7a9cd9698e02e339d5a1c579591f37";
+  sha512.doc = "a56060b84fc6d2917fd0cf160f0405104a3413e02456ce91cbd97aebd746b0e91c730d2e2e4bbbb46f39521b5c6cbc45558bb4327c7260719ce21e8226fe5910";
+  sha512.source = "5eca1a663801a65b79e0cc069bfa8840e04e08e589445713ea0646f104f5acba51d6f925d2d4ea1c36a83b8f4e095693767a3ca71a33af1015fff5f396c51bc4";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-czech" = {
   stripPrefix = 0;
-  sha512.run = "1c1b1c664e3f138c183da3f3f1d7242684da5900b636d3b50190ad239b1722206fef04cd5a24d88752ae92793ab32dbe92faf31d6ca8162129818331b4a8ca6c";
-  sha512.doc = "00506625bf80aa0d3f3bc82d97434d0f5b09c2d38434fd3e634dfff96b66793570b70874e912738c1a6b4b69784c3461f10d7ec04bbafcdd911b0911acd5528f";
-  sha512.source = "d4a649663708300a9aaadd6baad924fb634654872d36374636f06c87a386728796e22d2dfccbd49a713f8223e412eee167f92fa366c92cc081ec8ed82ed312ff";
+  sha512.run = "048ffe6258ce1d4bf9d098e7623d3c5e25ef8215a538e33806c4d35d6368fda81941ff9adbb394085c9b4f058fe9a3b02cbeeaae8cb1f7b2bb55aaa35c743d61";
+  sha512.doc = "976e98000a80e15a4ea5204f15a5288781ab35089bcd9427b62fb445f28a25ba0c03af4e64a3de688a51c5c94788732fa199705a68de3e9925f1db4ec7dcead7";
+  sha512.source = "9ef924462b97d29d6102cb691d1845f68ec50054a71d93222b61af91f510211016fdaa4861433a65c589263af11a62cb23d64a79f5bb26624395589dfa812515";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-danish" = {
   stripPrefix = 0;
-  sha512.run = "c6c8b9299a391b607b00d461edef367da845cf932f6f6013768aa9385dd566bed673aad08f602b73255cdc24d86507e421bf022d77707ff9756c6f2da0677d3e";
-  sha512.doc = "e37b993eca8fc9f40938f27e8721d5dcc78b2b884bde336f873e33769f6a5ca8cab40b16745bb9b546708edfcd2d81ec6384a134bc193a8bd3c26699af720813";
-  sha512.source = "bd9747b90baa2b0832eb0dfa6f11315e5a7c974a51f8f7e827b39b8eb872070b6fd26b8175a50e13d2c9bba69dabb313c3fa1ac9a5aadbccdb4b3f50aebce04b";
+  sha512.run = "b9e5b442282fcebfc114a772af8317d8888cdf24cd5cafebd5d3c79e3ea8790a4fd082c2facc1a466e7e5b4266b0d93ea5fb6cae64f96f3d131fd4869a465a4c";
+  sha512.doc = "1d933d9d48ad6ef3dd0716fce0b2da6de6700bcd8c1d729d8216145dc5f243ea83323b0fefb6adeaf10a9fb264343e1b429044aaf86e6a77a121b0c951c2c77a";
+  sha512.source = "dbccc381f173d7204eeaeb8b8a4fcf59e6f0750213986207afbef3754554e4524e1ceb3620135a93ed43d786210583b3f931b41a1c645bfb22e33dcaa45a6c85";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-dutch" = {
   stripPrefix = 0;
-  sha512.run = "d968ecd90cc48cc0308ab7a092ea1c9d7240c933dacbae753f9a3e8e1f798bbd20fe41e6fb6474a794442226e9f92c27612cc857a8e27677ca06aeb6750da39c";
-  sha512.doc = "bd617f47f5bff2fc699ea092502de1311949fde3f60923312ed9da0951a5a0a3eeb75eb9961796ab3ecd42b555e73830bf178c8a1aa13f53dfefc9f27a27ff09";
-  sha512.source = "8fd61874e24173bd27e533278481b838d9c7654ed67355fc1ab539cef33e0a39592c5cf3ae3b6a54b364b2fefdacff393ede89160035595396fade7764cb1bed";
+  sha512.run = "c14fcbb882183095c60f0e881ad1668f90855b90cce352922a562371bf2cdd556bd196ec85068775b9aec590f098c956c784b98da283ee1117bec68ee585f5fa";
+  sha512.doc = "e5f2fe126eaf87ef34dce686db6e9b9c3c322a2266293517e803435dfa67b55da6a771f6c7253203dcae0dd1237096093a6463f6bbbc096c108b73bac4a641d8";
+  sha512.source = "32036be5e4e8643da1cd0a2a291db4875328c5e8685f711e247eb7fc38b6b25b92db2f98bfa3769a02c982ea09cbedc75bb963d3f39c36860f9c335e73e331c9";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-en-fulltext" = {
   stripPrefix = 0;
-  sha512.run = "569f7db14d4a904313f50b16c8ccbe8ea7d1bd547ee1c7eec801cc726ba0b7dc9d3096d5363b5819cddd12299c31a85d48172879216669257571bdae01ce7522";
-  sha512.doc = "66c0b8fbb43c30a3376d3aac95a093c91fc28536494f6c59c504a9d9172880fc65d8e1aca02e30392d5a6fe084ff03812430cd8232db2aea825a419bee71c379";
-  sha512.source = "24acfbb2e634da788ed1236264b6de381c8a21487dc20ce1993d9229c6c70a45f1bc7eae96f1c18738537ceecd1421a652d5d2cb0e7a72e48b859a4a9d2d5753";
+  sha512.run = "19f08e264921b8b12def2b20bb1d904f90dae712bcbe579a9697d1f657f148ad8311c6d7a8621f336dc82518ec64438640b49776fdab62f302b0919cc7de8e4a";
+  sha512.doc = "a6ed1e804d8229d735aaf1874458dda3206ecb5e648c35af82a1d3fe524e65aeb7669088dc4bd9fd83919263d59035fd539a8318a24b2bc2470f14670e28eced";
+  sha512.source = "9bf741dced10ac57d7c4fbc3a8a26b49b35d07a221f4d7ecf56ddfdea6500edeb39ef75ed0234d6e510ea07da5da06cf29691a36545dc4367b3682e879d92b10";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-english" = {
   stripPrefix = 0;
-  sha512.run = "b6586534e636d66063f85a5f40ac087e308f40f9b4f97612e06164de745795458f17d028537a8c0395a59dd1118dac11fd43bc31237fe2559b38c37f048e134d";
-  sha512.doc = "cfea3a5472d4aa54e7cf4db7f49deeefc377e79dd9b81714ebe0ad28e6d9b27b68f266ffe7b76d2c575380c26f90493a90890af7c1f8365739e49bdab466fa7a";
-  sha512.source = "efbb49006928e56e9e312b2570fb6e87d5ad51ca6047bbc10bb6ab2196320bd7c1ed4f3da0fd9d0ae22380478c63cffb2ee2044b96bc0c4b740ba92aec4314a0";
+  sha512.run = "1385ea09d797877ea45dcc37e864c5e695d8eb2e210fabe33e6c13ab221cfeb5c55bb2d95ddd9db5c07653ac882375426c7694dd8d3da6bf77ac8f3fb798e02e";
+  sha512.doc = "21fa34d1dc4fc5e082bec3c6a82a29683c0ae6515cc8ee3f07c4cdb3c01639fb05e033e40c9aa4e8489789eefeb904e5b3c2e5cbf4501db26477db34f5e39219";
+  sha512.source = "20cfbd776fc91c547fef6dddad5c87b6abd49273607fe854b6dd453602833e7bcacd138e92c3c567c80cc8a45b1176160cd1cb0334bd6dbc55ff8477156cfcc9";
   hasRunfiles = true;
   version = "1.04";
 };
 "datetime2-esperanto" = {
   stripPrefix = 0;
-  sha512.run = "3267e868724fc5e5ab73d5b0d2e178be28f5507be001d5a85d012a43b0ce25bf90921e0248cbc4793348d6c5b06a627713a944fbe9a5f0b8806d349170e9fb46";
-  sha512.doc = "aa91fba7ea15eeb4d12f84bd9a353be638642bb9e5d51a07887fa9c4cbe5c84d7bf131b615109f39d7d7b96ac8c623f7e649e89f0d74dfb4248ad6d12e217b30";
-  sha512.source = "5c20f768a768d4579162fd0abc28e17ac2fead886e4441ace440f932740c93cdc0514c4b40a3d7b7982dddd5292406ffd349648bcef1a16d0fd9cd69d5cf1f9f";
+  sha512.run = "6406e5a6708c1c97da6e0f8460ba70d61c403875497c57008013a3d1a8a9100b344b3d7267ed869f777566aa403110e17d778e2a47b3970846324bf08e8ae046";
+  sha512.doc = "c200c3f39ed756765876ca5655b99025a898719f9723a996bd4772974643e0421edd8d36a8eeb00d29dc75ae715fb55927e31f067b1159bbb1f4dd218de780a7";
+  sha512.source = "799b2197ce9f0950889a933952dcc33dc0ad2cb97d906baa61bdcf8d32bbf341d65aa2c2f1509fa59f366cb570e9ba6b4946d4d5785c5022c55117297192a32a";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-estonian" = {
   stripPrefix = 0;
-  sha512.run = "e46be8d994ba03558f361b6796febd9e6826656516edbfe4eedef3723e6d83fba29a1c9e1f65c65f7e98408d61d3da53a3a4fbeb55c795608617c40a9f80068c";
-  sha512.doc = "b4c86c7f96b878981d75f7943a3d4cbf729d7cc4ef88dce9da17f5fca44613de016c377a48686928aa1992163a2c2fa3152b2130a7cd99b760a50083e82cf73a";
-  sha512.source = "11056943b23b2f606f2fc04f7344a4dd9b33a449d20c62c40d8c9210c957ad92e2a99ead3816cb2faaac330234e47d7d8668d6e57168c73118dd7a74cd5b9d1a";
+  sha512.run = "93e8ebc62b48da8f5c159822f53c35aaa2cbd2fb6bc701108cf6452db7eca3df39de3c1ba9b84136683d22d65a975dc138aace0a81960d1c9382309a4cee5f3f";
+  sha512.doc = "268b873d870ff19a3151d4244b0329994e559ab61198ab3d76d830b1bdd6a05e8b5a7a7df2fd6eec8d57b9e28626f80af755b1866f4ee90eb0c7e94b85f3c087";
+  sha512.source = "2cccbea84fc47da4668a06154b97116b39e1aa51e31196c7c9a41d517aa5f24924c86474fa8f7f1252e356a85392977553b6a28ad154d246bd5192a7e7f07b4d";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-finnish" = {
   stripPrefix = 0;
-  sha512.run = "bb66a911f45132581cbbbde263a31166f53f610c212e05ef284bf762ab4c7bcc240e3d359e4bbb5c1af9479a9e07fcd22a96cba205ec70d475030a58e6f7c67f";
-  sha512.doc = "4deb69e53c37799560c218e33e443b9291d7d4af0642b40e40540fe4baca5fee4fdbbd8b53994cc339c302d2567a8a2624221651d02e5e65e92c7c40b454401e";
-  sha512.source = "98906c8851ba0157d7574d4e728b45197f32dd28e63c7f22c1b7cfb6da80e90ea5171c4b62ddda9015263230adda8504ae96b058c839f7e132c50d06b36ae06f";
+  sha512.run = "45f971bd3711d1424b002f32e0535465658e50cd9abd9758faa3685aad6a6e74747e7b3cc840a38968ef49ecb91b3007ec678f63f0c0ad3b77ae0c39bdab2457";
+  sha512.doc = "01470814a87a5c87bb54b17a763011872864aad8d1f78f82c2325defb7f135daf34aa2b721bb4cbe7ec80efcf839372de07c29245ecc477708fe60f3d501a258";
+  sha512.source = "56f4b99f506673c89115e37dfd9458f5e3e55b62dc9dedca98747bcbc7e6e27306dc2711c05b0c8e2844aa03a4c8f7835bf6643ff082b7d1ed246a68b2af37d3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "datetime2-french" = {
   stripPrefix = 0;
-  sha512.run = "68ff4a94adc63910c6e7c6870ee472b11e934fc05600d29f01a21f3ffc70ac40fe7f19e14f42528609a405592a5a28a452a8091dbd86b6ab0efc6afce90ebe82";
-  sha512.doc = "cddd1a43ed111baf51d570edd967ad73cfcc662d9d2b058a054f58d811e8e685cb403663a0a985118a4bd1835b6642fcdcd164914e9f95e82c36546444362aac";
-  sha512.source = "322e33c64ecd4b5604607b5d4b964f2e2bd39ddc305c341cc55f4ddb4d8e8489c085a89ab512643d7e989e3bc8a40132e1ce2d31b937bb9f92b8fb49fa4b54c3";
+  sha512.run = "90a5f2e7c7570c88cfd10ea78cab34affd0483916a867c425cee593a080dd41f85c1db9eee22f1c5d1b27899c0d8afbfae2169e0b4fbc5951f0580437f735a86";
+  sha512.doc = "d86846e741d2c4f07efee33c1bb15b1de205d0ceb2f6c2c5930c3f224e350e53d3817b7ca96b47073ea8510389d2cb36b49f853812fd98c6a3d1b2484fb3a80d";
+  sha512.source = "277586cba75c6356674f763679c2d84d46aabeea1cf95211c61e967e413a61324d2e1ecd8ebcda756d5a0406f189f239d547b9b2879ef8ea854722832401939c";
   hasRunfiles = true;
   version = "1.02";
 };
 "datetime2-galician" = {
   stripPrefix = 0;
-  sha512.run = "39dcb4756100905cb34b848c6c1c01a202b685290c18f2bd774dd77d6e28690d2b735445afe591041c9e1705295f34184bb1c503789d52b361d810ef35a02a42";
-  sha512.doc = "d52cc480c25b9c07ca06ecdba4e1c338424c42e75190c14f66a95a897cefacf6cbc07ad19bbbd6f1976034cbf39af3944e6594f19f0923ff5256e94922fb6ec0";
-  sha512.source = "942a2a79453e64507a0022a629d3b43a6304626db150fa6438de08fe487f73953c582a40597f325c9dc8513b4954abe2c1c3407721aee10daeb52e691b81b50c";
+  sha512.run = "050dd3e5db5aaae106804a315e679cdee0a4e9fc2d10481f21059c410a73492d6e41d9db070bbe5112377a4f1dbec3345bc5f87efba998130cb20e31a443bf34";
+  sha512.doc = "881250aaf53eba33ee223e5d87f0d8d4081785ea723d5f2e605d04767aed63b2fd8a592eabddd4343c489f1abd809218c600aa5df2447b24bf0465e7a31c8ff5";
+  sha512.source = "671230a9b4da0cfec5c1afd50db2ec103c1712006c70be0c9d6d1eec637461005673c73dd1c457561e54af1409072fab111e7d93e785a91ccc6dd0cbbb497127";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-german" = {
   stripPrefix = 0;
-  sha512.run = "4dd22161360653dd9953482601bec0d094487f93f11f91ad751b9f9ca4744fc2a7125f6df9c8c4c5159fd7353f912ed12df5d6d56f3119284f0b5954d7ef4ecd";
-  sha512.doc = "88fd203580a26077112b933fcf3ca9af2e5345cd589cae8a9715bf8b89170ea6515c003e73bb2986d6ebff7cfdd51664390cd11290b9b67e154ed5738e08024f";
-  sha512.source = "a72220f354dabd03a7db28760146e03b49817544f2eb1d10f4eb6a9707527454b85c812913b6d9c29d9bcfd8c54b45ea0b7277c046a98d272cc58d89acb53a8c";
+  sha512.run = "596fe3086d2bf16922f0219815474eea872950b1f31bb6777f375107571e70e5756bcd8c3930aefdfbbb6e1ab931a2a9d7976b537aeebedb98c1a541c178dc6d";
+  sha512.doc = "5fccb91afde9d59f6c26ee4bc5d7a5a90cc6c727d32effc328755e292477659feeb9eaadca85ef4351a104f9811426d7324616ca639a9c0bbc061ce32f10e778";
+  sha512.source = "35d7fd9a3f164503861980ee78b16c8784bcab76d46806a64e21c400cfc24900dddfdcab7cd8538b9071f69137eb746797e9555658540605950ea4081fa515d1";
   hasRunfiles = true;
   version = "2.1";
 };
 "datetime2-greek" = {
   stripPrefix = 0;
-  sha512.run = "d1f0f33a42da3ff4cca7ec3e257a977172a3b6a36d7813a69ed5df29437f1273564fde3f59f4fbfee3ec495f0554fbdacfa8a3d2e60826881651f88e7089363a";
-  sha512.doc = "fcfff6c6dfd31ab1cd4a2717c527948babecc13bd1fd49873f503a7b062e24a2b101cb4a5ffbb12f594f3ebf0011ba379c0c9d9732c46bb7c655b8fd13fcbf8d";
-  sha512.source = "2b1a208e6a210461c7dacada232897e56605b2deec0c86c5500a6698815ec7edb3722e525179fe73074e70437fd969fa34e78fc39c852d7882e25d424a0961d2";
+  sha512.run = "d067dc579e739c8ebfee602d667042c4727e73595fc199197d58d0c6caad4460401bc9d08965292b36811e38be5424c22d6dc4f49c4a9682da3ef34d46e35cdd";
+  sha512.doc = "5025cf0113e24efaa2bc413da5d2c14c58ead82ceb07fedad299783c5e445a40295d54e0d5ef3a5937586c484ccaf80e40fcb95e5592266fc82e5e52966af6dd";
+  sha512.source = "b0cc23d43a600f72a13234938b2d1e26d011e416b5f979f86003b4ba4cf53f3fe76db4eb5301db23263490b59735d0226f0b27e10a8f521febe52758a3f63ade";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-hebrew" = {
   stripPrefix = 0;
-  sha512.run = "8c8bfb6362a236f053012d5046673b1432d3da2b0f3cf12b6d9e9a60c401a34cfe6ccd6907aec1e2db3175def3a323b1ab8d2ff2f26c3b9ca60531ce36eb302a";
-  sha512.doc = "27ab941e01db57e7e52e106afa9613b61f76a6e13fd0a16a9e24a0071d71182e1c74a03d87e4cc055d8361a56ba7208fe7b23229a678c4d7a434566945cba83c";
-  sha512.source = "87d6960b3cf687ea6f17a83f722284971c817d2269dc7f063b6dc45496fefe789c697c71b94f4b20582c52e5e73ff06760cbd9dee82e8ba1e7efd8efca88c89d";
+  sha512.run = "c9bfe10e1cda7e3890cd79fac15a8f629ece47971caa43229fe73236e80e1f476411aa4d05be61f7f03bc34324b114ccac2585b83cced2d38a28f279639523d1";
+  sha512.doc = "636dd01321842cd0ae1c3a1ed8ef41e1704d720aeb830f03a93c921c4735c1913211a1d987a1b430e312c57440a11cf8cb80f4336b4770a13fddbd9d6a5c3cbe";
+  sha512.source = "9d1cd5f81a144ebe0efed5773ccc480fa2a14fca7411ac621a489884873dc7fcc6d877c66c7e70ec6736f4e2f6a90b57c9db0516baec961230f14dc6fb55d404";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-icelandic" = {
   stripPrefix = 0;
-  sha512.run = "276a9ea14a5e9c0a7741e883376c103a5b65d55e92b828467fb7e00d519ebda3fdbd706c9fc57774b21dac60b15e2b13c7fd97da6b2b446fefdd49f89b3040e0";
-  sha512.doc = "8e45d11a7881599bfc6a562b2a2d96f9900b5f4aebe2b8d5cf2c1d40922a4c1411a5452dea26e33e7316a8b2213fa3def06bb7c3acdb6210200c2bd10386dfaa";
-  sha512.source = "7c41fafeea80ae7ee295e7fca0e1cb4ee019ef064a4272ff18ca225e4518b6653fb4058adfd3b3e5d6c8f986e16031bcf6a72f2c9f99059cdc2d3a44d9bfe9c0";
+  sha512.run = "50b5b4a4dbe38b669929637c9b22517b960ac0eab3486705efbd92e57e50c7c3a7f46c0d2ab0048a1c382f052589f091724828e2139d8796408edb899cac2e50";
+  sha512.doc = "148963ad2651a79371d8f218c763c90c96d28d18d84c2f57e76ad64b456418a44d15983fd1b1622e33c6ef256f6457b6b33090b7c57fd3c37b8dbc8a0754c09b";
+  sha512.source = "83cc155aa3cba3aff874762490d6cb9f85c0218c7209ff6ce304c16f04ef28a0b30a5978d08ed2e1ff24a2a81359387185e2ba16d45d8f83fdc8c81bdf5b5df4";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-irish" = {
   stripPrefix = 0;
-  sha512.run = "08d3a6b076a50eb16b18b3b9258fa4fe2162f4241161d894ec0bec60ca5b6dd7b8c11ed364eba708275ff52c8aa2db7624ba5da6b1703ca513c4aa99f968d621";
-  sha512.doc = "20b4273dd7b40dbb4406bad1d3ea5fe3ddc591e684fbe62ac719ea78985b2b720a72f3f26e44fbc980c18002c2c566797b57a17a5bdd4876304b7a464985195d";
-  sha512.source = "582dac3cf29d9dbbb77b1423fae7cd92eb6f4579fd10183dec7f415d3591e56a0831f053eea07e66a4ac5e90ef3ddbf7fdb95194ed30c0dd2e34dfbe61f75245";
+  sha512.run = "8c1d54d5fc80b2f7dd8faabc31df20253c9ee48987c268ae685144b02acccb5c3ec6bdaaa5bc420e90ecf4ec7d421afc96d82aef1a76ec7e01fb8e5f81d0a036";
+  sha512.doc = "692acb7c50c30e6790344b37e9fe3cb07f2a0e10b9d63b47c78df1b2d1bd1f8f186107acf4d75dabc14a99db57cb32810989bf7af817bfdd16fa694bfee5f17f";
+  sha512.source = "1e829006f0182374511addef820ef08868eb1c00b5e82d0da82efadb4df377531755a4212fb0e2f4a5df0d06aaed39863094524b351c29dd88dfd5ee71c84860";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-it-fulltext" = {
   stripPrefix = 0;
-  sha512.run = "6d9f454d028665c41b25c74dfaec12b8fa39c0384cf20423a376ae9026f7161d37a74c4810a7fbb3e6d56661ce355d1354c8da91af9d9061b61615548b834c44";
-  sha512.doc = "32f9599d86a6d47c1758244d68b02fcbf4fa567ca18d4800bc3a36960bd6bae1e610e222027ed5eb40a3fc5cd5bce20807ad65e693a025a23125c4965a574873";
-  sha512.source = "2308ac47b77b4e65c86e11daf0d529f26f30625d93c8236e3115105517ac97d2840e180417ff3745d405915a6fcad487f4de2bfd9068d9b672c631cab85c424d";
+  sha512.run = "389840e273ea5b9e8e8c66e77578d9908349589b11a599308acfde9ab8dd972ec855011fc4d3302ad2ae16dfad05812ae75d6eece275761587242099fa907d67";
+  sha512.doc = "a5a56a912b1b618999cec4b37fccaefe6f1e00f3b84f6aff8dd6b9b3ffa1855d25e8af8b49d04112829d7cef82f21b757772876b75cfc910a4dd5c89920ce131";
+  sha512.source = "ddffefcb640de660f1f9258d7bad92c40d3ce73017c53534389ce1d3e772214bdfcdf7a4dd927201aaba096533d7000a84871000772762c2edbfda9d1d11d9bb";
   hasRunfiles = true;
   version = "1.6";
 };
 "datetime2-italian" = {
   stripPrefix = 0;
-  sha512.run = "d34de7132b00bcb13e0a7ce8c5f9912654746f1d276c77dd630c5f7cbeb866aa9f97a927bfcac792ca1421c160b34904155beb6618d8df52105c5148ba45c60e";
-  sha512.doc = "85cf37a06920618da2ab7fcecd8bfceab47404f2381b200699171c21880ebe7563202b3bf042e8634c9febd6bce8ea4644b19aa11008c5eb25926d137f4d5674";
-  sha512.source = "109cb7eeb058544715eb8704fc666b8fb9adfc366a7d543f0de9c0774601aefb193bf7665eda4b387dafe37a660f3cf3e0a7c11cf3cc593bd163c8b2b7cd5b55";
+  sha512.run = "d099d05904e416d44e9a9ffb337b23e2c1f908dfddbb41cfd7629c4abaa7769c76f50ef687751224ab4ae94a0df4d1962adbad602ed3a7473566e16c5c4bea48";
+  sha512.doc = "963759f5e07e01315b827d4c67364d9367d114a09d518154524ba4496aee69f1ef08acbdeb67522d3b350a6f8abf8bf571171d4c380bc3f093d59ea3207beea1";
+  sha512.source = "4036338ded2298c97e49173758317706452c254bbf07dcbe83080e28b6d59415d0ff14657cd11b9a5981ca893a4033db338518e251d59d0c4eaddaa9498189f0";
   hasRunfiles = true;
   version = "1.3";
 };
 "datetime2-latin" = {
   stripPrefix = 0;
-  sha512.run = "b815d88444c44f38794fdb54cc00b0e929a6f0489cd5a795a451608f4d51ecd0b373567b0814d12fa9f28d58314a69a9c4b7e9e7e44daabe80a73671f652ff56";
-  sha512.doc = "5792c6591cafc5101ee7b4a7ebd4102b2a2e522d91588df353c78453e022f6b6cc087b3032e4fed95863c7a465c557483d8ab28a9fa47efd5acb4148be920cee";
-  sha512.source = "9a06dc0e9d702bf2ae8e5bc59ee73729967585c86926e7306af6340e8bedae4ed1e02416492882d41f964ba38a5bb4fbb47f232193d1cdce6014d02314b76937";
+  sha512.run = "25f4e92c72abe14db9340aae354e0f598aadf88ec109b6dbe6b48e12f55926f63fc80ca420ccbbbf8fcc8dac066520d69b653981ccdd41b2e8588d85d4f11a99";
+  sha512.doc = "f683c8764e99edcd9d9a449eecd3f1e4a10a2803a20bff7be22568a69ee1b06c5d054d6664a051b0eef8cdac5bc2387175cb582d005e1af31a5be8bbac4a0de4";
+  sha512.source = "9270951371b2595f59a5dd8f8214603d9a72856caeb7902488fd7e7068b16c09b7ebd8f94cf10b99d31fa95777b475d403d49429944bc79f20faf37ae9192f8a";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-lsorbian" = {
   stripPrefix = 0;
-  sha512.run = "1048e39e0d5b67b4019248d839d384e32028fb7970589a75e427f75a42f46aa8508bbb05aa98b07ebf2cdf3fd26ca22c4124d77f2b51bfc20ae2d3cc1b4893fd";
-  sha512.doc = "a27bfd05fad0d777a7f24a62487fc15edf8ea506d1f81fa8986e12727687b3c3ed260f0c5297c76fc7475da74b2b3f753221d480c219e5f18f9801fd2c2cc38b";
-  sha512.source = "8fb97c327119d272c6f2938bc73f323c7f082c277e5a9156c7b0c8286a465d56e0ad6e4565661bb49095a8697e33229cec3b6ff822ce6e9a002c93ea26b3e3be";
+  sha512.run = "04fcebad65bee525697ba96cba9d66d6acfe9bc602b6cfb207103a2bfba0d3cbbef948d614930c1a2bc785a6ae2ad6c4e0b06db58d562681225d67b7a5f2f8a6";
+  sha512.doc = "7bee606e0c48dcfa676835e3a313ec8c3b79f566fba6d6b65cb34c4f939e7a7df34d73e24f0f03d569e0f6a01cb244a90b9023e2846c597eb589e984ad9d1f18";
+  sha512.source = "9dee46b9c2290e00c1a9f9d7e63b3872ec206f7afe9ff0ca592824319b035da1295f566a8934d7d4e87f47b8061311682d2a6ace9a9ea15180433279759d847a";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-magyar" = {
   stripPrefix = 0;
-  sha512.run = "880496bf3c1273204fbacfd90bd18e06bfd70d9003196a4fa15f2292a3a23d84f75c922cd361937f50d392193df2869a2ad04644960da5d4a915e6355488eab8";
-  sha512.doc = "41265047a830b29d15aa7bc587e20efeea06fab752668e09abf594daf590abea65ce8b02f7fbba9fa92e172e8b4547c3ede94a5ddc6a7be9b1ad041e5d377d1b";
-  sha512.source = "0a95bac32b7c51d8d1c433f8f3ee5a1379059f47634b373d982685aaff2e818a3653104b1c9e86db1aa7cb2bcdb45743a304696db841adfc44d1872e74267e24";
+  sha512.run = "4d3b27b0409d26431cc06a1ac83485b6d4d63b9bba30a862ac043cc27c25a77805d5c3aeff3a329e1348a32ca4ceaea917f2f840ce1696a58f00325775ae5009";
+  sha512.doc = "1eff11bc2c7cdae101331521f08d3a9eb878e8d1695b35724475eb5b99e0a537bf16a00bd3c13760cb36306e84b72f15e5ec294ed958ab5d67e75ad8571ac9a2";
+  sha512.source = "674e795a5b3d49665bba89c7f01abdf4c366a72f9968ea008455179319f66061ef2f73e21c6ae736e6dd960aba1184b7e374eecff8429d1b533078202f294ad7";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-norsk" = {
   stripPrefix = 0;
-  sha512.run = "63a2ba1e3d68981487c1a83547a10397f13361f2fde38646013d3973ef26003037516716f40c683d7806489916f5cad305e5150ca752c6dc7d868fba1c16cdca";
-  sha512.doc = "0d184343b60da97c6eec2118be8aec125560777c260668f61ce8cff33b7f6f0fb01130d19a595572eaf3620a3fe339dd7566acae0f3e450c8b1130660d75b0f5";
-  sha512.source = "4cc04c57ab9898c5ebccbe031456f673d809647555ee597bce08f077ceca644c0b32cab397d690be2ebf45ddc70b101813099cd28283f833019ee47e83f64b41";
+  sha512.run = "9ebcd994305b3b3aad61383b9ece13425b4c34432dae0aac2ce38c0219b2f19871f89cb30bd774a7db9be45cc8a21f7856f1f568c32941502b18f6089b787066";
+  sha512.doc = "3d834d8572cb8f1237b4b9e69bcbcf1a5eb0a1e5c001e8610a00ec377204c570218f6d97765c3efbad9130cb2ad9ced3cb80b32bcdfccfd62d7069ece93ab1da";
+  sha512.source = "7dbb4161731dceac735ce39e042713a07d3d63dabac0a4dec870a022ba79c2637d7fbde4715936908d39f3475746f243dbe2e39d88040f35822503f59c0f87d0";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-polish" = {
   stripPrefix = 0;
-  sha512.run = "279b0cdb1800a13ab31ced923948e1075d0699dd8645faecabfcac7974ce4cfa8cd74b23a9569dd2f00aaca818cdc9bbcc844b17877d89ae8e6b509e172d3848";
-  sha512.doc = "512206ee7a44a1cfaeda700a8c5e98560c057c51ec92a8566f66e81ebf6a70503b9d57fb633f867c73e580c65c6f4204fa68a1f16ddfcba3f2bdb28bed4d1ad3";
-  sha512.source = "7af7b4e1a746f552c8eb125a6bb7ae55babf44b880c783bda3cc6984711c781309c3047bf1d8f03bc914a2d51e35c5882aa5394bac59de64bc3f01d7950dded3";
+  sha512.run = "3b63541325de4082a828af5131a639c11f2562b8e2951f50199f7281e7c59e2a2deaf8cba124cc8679a4de5da3e95d988bb3533eed6cdbc9471a95476ec59bc4";
+  sha512.doc = "6bcccc320063567e2527ca6acce6180c9d19a3ec8a1e922e640e82d3ad2a244cd455741e059e385fa26ee6479ddd5086b9dcf73a705988adec96a311cfc5e40b";
+  sha512.source = "0adc45a662620826c90aac5f0372d83462eb571b7dc0751465ea246602ffe4f7b43f6a5b3153cd04681ee8baa23703784e15b79e5ae2c15cc9e6db5808265b8e";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-portuges" = {
   stripPrefix = 0;
-  sha512.run = "249da207d08d396662ce8ab61b7f565a75bc3c6b4a375d0eccfa8f9c17ebc6b8dfb7d5ade7f28974584c6b1b3f0432f3b847a5e6435badd225d6efad0bfa49cd";
-  sha512.doc = "993e4ba069df709610af771cffd0c88292f982ef27369264afc0c8b10057235b3bbf3d720aca6199f2757f0c154af3fcc3b686f2eb7e191a760ff6221f90bd1f";
-  sha512.source = "de00206d85c9c4ec0198b1b3df2e69563b07f6bcb2f49936897cca05bb5ab3bf6efe7978b920266e9dfd6509617890bf9213b4431c8f9bd290d5cadb1d00ab51";
+  sha512.run = "976ad1440f05bd166659b5b950691b4d0ce988a3d71bb91525e4448b1520a6ead37bbb3ef9a899bac08c7dfe8cc7b9b7e15174c8ef143891133bc00e5c39e9fe";
+  sha512.doc = "3cd176813f3b0bb16341ddeee4d0a848b4eee9bacfb90734d97fd9ddc3e88285057dd0bf4f0f3ebb5641ebee48b15161feb3e4e75032e32368a51bfb9ca4a8f0";
+  sha512.source = "71b769e4a63cf02cf6c2794d3fb876a33d9c8b150059a2bc0960b8cd1b355e5ebde3d02b48ea47653cf781721fcec118d78301021e8b95543d32215e690a3c12";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-romanian" = {
   stripPrefix = 0;
-  sha512.run = "3e7efd5ef93a7da6d2e65c782f93f6bc0e3af80d09fe762e4360a1ec9a03824930c14569994b88b747a7cf41518aa52a26aff07218d16bbf10103f10930b81d5";
-  sha512.doc = "d3688a46661510083b638ef1e2bfdd58c5c243bd888b46ca0970b8b0a7f1ef9760366b1cf65808e34d9cd040d37c1807ea60dd8a2533719d14fdbd85e79bac47";
-  sha512.source = "f1fb9e9f95dea59cb113f3d09b66469579c84d4bed0386b9333ff110fd7c4be65139a97e5cc303296558f72d7934f97ed383e5e6679051fee8b3c79d6bc1a786";
+  sha512.run = "9167976dca51779669fbd91cc54ceced2f0dd6a97610faf9e55bd51a9e5c0ca3c8096c143a71180f0d572d1f1fdca5c72feccdebb58c7caed6e3e33a21c4b4a1";
+  sha512.doc = "62514ec016e7913b74e8c19624aceda5b258d1e1972da97b04bed2565f1c4ac0c694e695e6eefa528963f0375c3866ea4e475747e6141f0612dad2db8e7a1b7a";
+  sha512.source = "617a1cad46eeb6c2c0cf434fec3d436e471d4cc25224c99cb3272bfd14eaecdf3f63862ae61a83126c222f9215b244fdccf101896469e64480991187878eb71c";
   hasRunfiles = true;
   version = "1.01";
 };
 "datetime2-russian" = {
   stripPrefix = 0;
-  sha512.run = "15f0b9090aa7f090225a69daa4e9be4048507628e9ad269f0833e7d805bdcffc70c35e7162a3b7a8e7972da4fe17f60e059f9ca343d4bd254cd26d35b51d3482";
-  sha512.doc = "031bafd92282a89bff58888c4f55830d51b9cc04afa225d8143e1ec71b56ae652e617e91c0d47d7e077cf5d92caddf9cf2b1afafd9e30518b08aebe76caee4ac";
-  sha512.source = "71010bc2a5ca3f6f4a46289897744f0ae7506a13df7e330c80b2545884b4619df791d2720bfaee49107d14d1cfcf6785d47640a1ccf464a1a6c8ca555ac53abb";
+  sha512.run = "2821680ce189aacf8b0303d5698d9359f240ab4e470c0e2b052235e6aaeeffc882ea4b9c9c4f91d52b1402ef7486c7115bab8058e2223b7ebd3186fbd4c4c34f";
+  sha512.doc = "97c1b02377328ff75775194baeb2c3e15f2dafee303dbb85c47a0baf7f6edb4323f754578a9caf9db609477204c1310dade3b87d5a768a16fa940be2fe320081";
+  sha512.source = "f9055eefe76d9844e8764ec766c0e1da7d3c61db65c754115cdc47419ab68d84685688e59939f219cc5ab87f79570cd4c28011ca597ee4f89fcdc38c42e82a75";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-samin" = {
   stripPrefix = 0;
-  sha512.run = "c09a329c1494ce13ff491091283608f53a24bb9c5f432b331107e6d7e3bdc098a55dac8a626cf351b38a3041d11d7a3ffe5c466b85e60916bf69ead7ac6823c6";
-  sha512.doc = "e69720e2b2c2c208ac59d6b4b1e4c0e9da157adeb1b11eb15bbe00835c86c5b7daaa447b3f9f4d1556ba8accd9b685d653e395b1363141b950ed114afabaa1d8";
-  sha512.source = "60ef59d8aeb06c962e9f51090a8cbdb8c09964918add820869ddaa62d11c4211f103fb53ad565e97f355d759caee7f585fbfc6ed150f4cccf904e75b1055e250";
+  sha512.run = "fc4e6401ce02b1aa7be5fd78e5d5e74aff6ac35cbb6864cbce6d93fe0b2716510f6ccdd290c82286b8e51f37abe8460c0f8340ce0f9135838ecace7502f72784";
+  sha512.doc = "e5879faedd4d4fa5ac40575e0ccd1d0db94a80d78c3d01f8d36bb37875e2b9025537c876087b85626ccaed5c90f505a98fd3e5adee64ac1bc72f48ff66114438";
+  sha512.source = "4aa4d272188a8a2b6e40792b97df9b205857870f3787153502c12fbaaf81ed61d9d823a7966e147fbc1d94f761c40f179d4025166a48f358821134559a7bee3b";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-scottish" = {
   stripPrefix = 0;
-  sha512.run = "cfdfd26f6951ed6acef320f9785adc9f0cd8a1b4e8e8172004a07eaf46c8c7c966af4b8f81be2bda8a72710a2515ea13b5d81aa652bcc07940417f1c12e2f64f";
-  sha512.doc = "80c0a13d584e7f1da03118eca7faa4e8efce23be6d825fbcff8f21dc66a7da6dd9080ce97ee20d9ca12ea54ff90169329e03afa03c3a792ceec7406ad972f7ad";
-  sha512.source = "760a0beaea21ac17b7cbabca48abdc80bc5b9d42aa17f118ddfd4d76ebae0f500a2fdf82df598a3098d7277812d2668706381d09c908fd377e1c5d81282693ed";
+  sha512.run = "b3f8c2e2c61461c162f4b7c029ced53b5f0c61398415d17044a5189c08460550bfd0ddd15c693dc959b5cb5bacef63a1d4de8a9fe11108843edeff475964aae6";
+  sha512.doc = "87035e38cea316b776f2c61d0c1522e61c560602650bf6955fc7330536fac42dcb17bdad1c3828f2accd10cef009efcd805ed917352ff921d03b46ed3d0bea18";
+  sha512.source = "4e4c7d02ea59a5d7592660e80c996adc11968433a2d88b54179ff15ab577a487789cba6fee4131511a5c22de2025879800544689653c48c0f7560a311b264c02";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-serbian" = {
   stripPrefix = 0;
-  sha512.run = "87b67e49caaa3de3b3b5a2ed957b075406fbf0adb896f1739891bb01d881cb1dba669bead1b865908960485e08c35e61ace068ce45839096dca72a3077542cdb";
-  sha512.doc = "3fa8a22568c7b3108c7eaa504df1e1d7f37eb6815d282d58cf0259d1c7490e7daf2f02585326d77bd0839a65f33908ea7385c25b4dea77efc9cfa3d84825d4f5";
-  sha512.source = "9806b6eddae573bfca3bb0fd8509f703e6469b03c8ff9efe359107d7e171af1a88aa1928220d000ceee143d9fe1cdad0734c1b431c548bc8d4672d0c7320b85e";
+  sha512.run = "d66f09a0b8cda86efcf006ded72eb90c75d6d675ea598048e7003ca8e3d5910d765d202855c3899a5467b71c1fd04e2f0605b8f9ce0aefb0e689567c06333bed";
+  sha512.doc = "75e062aaaf56b2d244c15c7f6b84eea54cc6b2eb2177c5f7dc73c2e82d17c4274dcb4df5f37f7f9ea1da3bd3389f206ced0b6024d9ca26c0d8469bb9cc2e6acf";
+  sha512.source = "2a55f815e7d93bc99d7f0c7ce775ce9e09624ef96c91605b66eb30f7b4434be5c3cad995d25ea30ec59761bd4553ec02157c1dd1ebfdc8429db1855b2becc871";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-slovak" = {
   stripPrefix = 0;
-  sha512.run = "775836ae0269bcf813cfc6335e60b05cd6984281642231ff4e48f8965ec264f592bb396624e526a8c18a22de64ba955a5cabe905f5ac4bccee101a53cf567a8d";
-  sha512.doc = "267c7f8d678ed2d598999487d9ef6290afb27382e6cf83852cfe8988023903532cfe33127b9019ef3ef24ee6806b5a8bb159cf510a25b1bd698d65a4b976e23d";
-  sha512.source = "0cc7c5157a67c51795ed9b43a058f11f8fe4d7c1240f47b29657c612390849929c03bd08a7d2f801be0e41b243f8abd9cd9eb0d4847ce2b08d6d062d8cbbd456";
+  sha512.run = "c69d8eacf36fb7232a85d92e5db277b281b631c0c8f63df7fbba51876d1be782b7196efaaea0ac25140716f983ada40aedaa550102fbe0d445e5cddd41317a09";
+  sha512.doc = "c40e20b000f3fd5ac368c310d1f11519566410963cadaf4aabfb0c9cae05e0d3e8a3810c7da451a5e206e8b5b174ac0b837c1beff207597e050ec529e82acf51";
+  sha512.source = "19547ebf7016d1e416227830b81e95dd6d91c7ab7823d3fc2d6890d628a51074e4ba7b8b5f31020bf86c2fe447b60f22754bbecb3f7e65dc908ffcfa9087e12f";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-slovene" = {
   stripPrefix = 0;
-  sha512.run = "02f0cb9711f156521625f7d2a840e2d524d0bfc53be53b1968f5fbc6778f4f85913b7bab5934a13603010f797edced96e9032d5fd3d5b13bc7151b8998e159dc";
-  sha512.doc = "f89f0836ba1d4c30e27ae3c97804cd81a0a72650e9b671e7e01bb992135ec0c828fb768b125b61527a46f8e746461cb22f9437bde3966bf58ed81fc1a4360651";
-  sha512.source = "95825cae4b867275b39fca8dc1a48039e6068f5edf06a623da9f838497350e229ef7854fe5a7e5bcd98ab3de2fbb17dbc661280321d9fbb386ed436d3f047b0a";
+  sha512.run = "1d0a73d3781fcc9ea0df63e391f6b7a0a254bfa920c63ad1a0c76b56d4770822bc4e049ce18c554974bbb20478150cd7a4f545ef8983bacd31a112fc3acd5419";
+  sha512.doc = "dfb2a9808488ab0e0b225d0a397490f7e1cd2343caf0a685d8e3f48feff2ce549092771f0b4017a3c45640067ad1ede8a852e714b313d9abfc7c9642f983cb46";
+  sha512.source = "f1a60b0173e8c1f6f245459ba35014e4cca9308e2c5aea203d6123cb88f6de945a6f80ae350ecbfce6554f6d2b671f32487825c5f01093c3bd3fc7a1902231b6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-spanish" = {
   stripPrefix = 0;
-  sha512.run = "0962b9524fcbb40912c10d5f2c2e364f9f278dadf76c63bc20527c8d031caa9a6a85ec92e47a38d4a194e24fff799f7c061f52a979952ecb67a7c58f5a4f22ec";
-  sha512.doc = "9e543bdb9acd333282176fe73614e48ca9ae779547d5b664dd35bd970da7922a874f737fff6ecb86133fb59346c56cd57ad69f0d229b998d16f91d1c099e96f3";
-  sha512.source = "8fc10bd792d13f4ad661873bb0003b16256936bc86783c48589b7cb3350e31714f122bd5255459ad45d0d4ba8f835c80e38fe6718d39143c674f036035b6f7b2";
+  sha512.run = "07c321a300d779e39de46628b8e1b95d383e2a1a0af882cc607929d894f11b2e8329cb256014193d428182e78f2cbd5e3e277bc7821d3ad7a2740fedacf14e28";
+  sha512.doc = "629b4a2771fe68715978afcb202d984e1032d2e0f1af95d4971a980e14baf4b0705187f4a7ef9748c024eb27780f7720d8d5010ebfb23026ad8605a42730293f";
+  sha512.source = "78565125794ec1f5cf762cc27fd24c96eef5a1792941d4ce88c85bbecbec777da239db94118260feed6502e55f81b45f105a170e4b6207ec5e4201f043fa67e4";
   hasRunfiles = true;
   version = "1.1";
 };
 "datetime2-swedish" = {
   stripPrefix = 0;
-  sha512.run = "9d976bfb47fc0eeef5b5bbcf8657f3ca5c22d4e82745cb3eedf2237c990932427b31d36566d071f186c3d235a533d8fdca05ef0fcabaf9ad9a16740ffe6175f6";
-  sha512.doc = "fcabab9ad37048045ebd7e52e2c32632121762352e4a4f06e6d6a3be4e157e0d6e0abaf20163ed6465a09444b02562900677d15be97122f8cec456810ff0245b";
-  sha512.source = "75e074c37c0b545fef5dc315c83e3f3f04c76b4ec4b7e0d359d838931bf7a605cb4811774b40480d75b9495d07ae51b9585840319ccf3fa956b99bc0b1ca7ab7";
+  sha512.run = "b904b21b593e529ffb714f3762ca5b8de37e87fe25df593873defa43de3995d1c72b0500217182728eaee6030cacaca969376a5623bc0baf48fe33aafafc0a66";
+  sha512.doc = "7d6f2468aaa20da4e086201c0ffa6e6ae031e2a23db7fcccbb9ee8776c59b56a51cda9a03dfcce9fbf81b618f2e7543272f4ae88871f2b5380d1b98ff89e451f";
+  sha512.source = "bcdb2b0eb40b7acad86b37e215cf4bd3c5376cad8fbd10d7f1af32a5983243aa28d950116d40abf4ae10bd28e32c10022297b77ca40daeab15b6f88ed33758d0";
   hasRunfiles = true;
   version = "1.0";
 };
 "datetime2-turkish" = {
   stripPrefix = 0;
-  sha512.run = "c70299cabada8ab706a4d18633fcc3db8e12f45f93732969193e4472a538c6dbdfe4bce23f1631fb89a2ba011d6fc956df2ffb54eb05455bb1e420c4f5121049";
-  sha512.doc = "2079e93814c90c91fb4f2aad1a17a280f5db3de98adf257b3756f7ba851937c0a3175fc0f6798ad82c71c0b78943fb9140dafe610fc043e663dd7af4d7853bbb";
-  sha512.source = "142a54ac6db01a893f4989c13d1ac332506736067077c0e5b1aa1dfc3f628f54efb5c0f1f56a525fef52dabbf3dd49e63fb515459882ee298959c3809b916bfc";
+  sha512.run = "7d4b756ab2f102c7981376d6f87e5a7f7b47d57b1ae9f821185bd5b04e7a5d9a81aebc7835a9bb43a217dffcfceb5b2c46b838bc652dab7c2f468d9510c2ee4a";
+  sha512.doc = "6c95641444f2eb510a330c7002bba2c40cf28daeb63fd9092d74846673c03d2aeafd1e7d61d5a7470bac95117c3717cd75566907a896f5cb4b54ccbe952c6d65";
+  sha512.source = "da530162bdacda3904b07bb2d9b0ab74c56cec0341f0c0457d6bd2e27e45b2d8c1f5ca298718d96924e3dce30e83beacd0fef919d1b5bdb5dedae29c7b3edcc1";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-ukrainian" = {
   stripPrefix = 0;
-  sha512.run = "103feb2ca14fcd0f3d3cc722008c39c6d7ce7ae0c5662ae8888cb1e3d5d22ae9cc38551832284c5419e72798a8b3cb4332cd04262db3da1556568fa7a2863e08";
-  sha512.doc = "be864a970a62bd8596dfdb3c249206ead0799428488da4ca8e84cabfb18f40ab2931b700417317a858ebf6ec32e77310d439fa9e1828bff2489f011a29f8e5ae";
-  sha512.source = "4f6369c2bc9bf04c7514d747a01f436acca18a9ae439b3aca3836ee2098d4e0f900ec65ec0406d11fca9b56dc000c83de9a26c29103dec0e58199af7607d49fb";
+  sha512.run = "5e3d412b8a5b73bb6bd2ee176305806d9b41c5a67196ddd28640e958a7019b3e73f961964b7510be4cd69833c4599db1fed05c6a6f66d4d0b3bc5ad73b5d6dbc";
+  sha512.doc = "df40b4e156164a1c05a94c926d691b887a56ef8f42baee26e684383871edff05e5c6e87eba95994783cac2fcea1a5c72347c8eb86f0cca360faa8dd4829349b5";
+  sha512.source = "36c7db71bd063a87e8b9f2958217c71c7e6820b4e5536a5cc46db35ef69e83dd5e7b0ddd57038b66f8405d5a24afd21253ca34f7a8d174a26b4a67607048caf4";
   hasRunfiles = true;
   version = "1.2a";
 };
 "datetime2-usorbian" = {
   stripPrefix = 0;
-  sha512.run = "7f93732c10fcc02c3c360b2674fb8e0479bac0bf341ff8488cfac902139b7838579207593deecb55ef2a2f1d2b1f108ae0f9f9e8df0ac5011343ceb28964d259";
-  sha512.doc = "fc64e097697beffb0a8f9c49d03339f318bcbb2444405281617be2c95cc9cc35312cc3c9cce5d4dc314458efeb6aba8c3fb987b0d07d83bdf93a42a5193d33f2";
-  sha512.source = "6a991d9253df03985a40c9696da8458b2d95a24eab034e14a4ed2bea74e2de0e1a5b5569ef2e4275d025f05976ab14657215aaff607880939aecf13528af8b85";
+  sha512.run = "bae799fc523f01f7c70c7818ced0294bbb57a849567e05768c4f1c3f9cbe241755ac2dbda0a9ce0e3bb3f70eec45bae1c0607410302b458370a4c05951d791cf";
+  sha512.doc = "bacc067e851e4b58b2978472551cf869cc9d3d4412ba930b2ab81f39c4fa9ca352188b6a6bffc5b5dc4a6bcf611146b3d1344d221732a7caaf45f95bb67d5589";
+  sha512.source = "dcc7b42ec9873ef0d23026d07165301deda63b829462ab7f4074ae7c828945bc5cff2e2dba372782e250175b596b1be536dd27271e4b2f0913f42fb1a17ff320";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "datetime2-welsh" = {
   stripPrefix = 0;
-  sha512.run = "60dbdb53dd693ab50215d5ea1a6067549977cf63b6fb883cd5656513ea8ba8e75f50ce5dd18c75cfb4d99f99676c45483c84b6689c4bc6abbf24c876f07ce6e7";
-  sha512.doc = "5e0079860999445bac64fd788ba7535dacd35075e640f8fa671c535369a39979e56d9468249b7515bed3c7c9b5939812ffd139e2db67a81ea70cab10157774ad";
-  sha512.source = "6955148ca28883743a0342fa10355397924bd37c96845df3c68ed97c31ab15179792fe34e098c22b032cebc0f226717cc635c19d2284717214181e1ce816c2a9";
+  sha512.run = "6590e6facec1539e60f9abf746f6359be87983f9c637cc7c571ad08c279d719bd4b820507feee1a18cfb4d97e8710d430ba4fe959e422b583b215aad9f059a8b";
+  sha512.doc = "5d61392e7563d87e5f18723aa309ccbd7c42b3ab19cccd0eda6a714c925c49b259c2202f90d3fc7e75158dfc0f2a34b5104e60300e5d736f655f98d9fe72f9a7";
+  sha512.source = "d285938163f81ae02873bcb55ce37d0ea1f416ddd42ff5dcacac3e8ec82e9d89ea53b2363dbe5b5f3ae93301af7f46b0fdf1d975a5e1179b528323eaa94fcea2";
   hasRunfiles = true;
   version = "1.0";
 };
 "dblfloatfix" = {
   stripPrefix = 0;
-  sha512.run = "0da2dfe1979354090d97636cade6ab02c53aca0c9dea2f205e77fa9745276c8199be6af49b3d312cd74bae4846bdbcad59e269a25e742b17e9008db2bb57803f";
-  sha512.doc = "0baf4c0107050d96fca9a3091c8b535ea4666d67855d8c40cfc8376951b064bf6d84d9b914afd801e514307ccdc87c9acb702253707d396aad87bfcd38a36776";
+  sha512.run = "05931528012077b92702926856b1e0d1aa6472188f9b1fbff74e5534a41a3260e53b82bcdd0684ff045aafaf4b427dab6d8e06fc7a5d11cb42a545949bc6bfc8";
+  sha512.doc = "5790850d01d9f3734cb89146c23077bc852d84242352718ee655f1410ee84b77366bef133d8df49fd46ad976aa007fe2c4039a08035122f93e719c5f0f7563f7";
   hasRunfiles = true;
   version = "1.0a";
 };
 "dccpaper" = {
   stripPrefix = 0;
-  sha512.run = "7ae8d10b1ff1855ce6f1f4917ec7563986a30c47e362b1a58eaf2f36af635dc14354090e8ab4a7ea0c99463119580cbc469510d30106ba899096a439a637049d";
-  sha512.doc = "e36bd4ed494fddff2870bf884a86522ad8adb518f375733599d821d8a5f0aa4e9ac5a347382c291593c99611ebb9d74958de83f290137bc7b1704ffefb37dd92";
-  sha512.source = "a58a678cf9a3e194182a91ff8638b14748c776efc1926e49f56cd26c70a90caeed1157b71caf3b64b56a5618106027ac6f9e4761c3a4c14a3295e52106917b9d";
+  sha512.run = "fe202a6540c5e95f4c2b2914409081499d31f4ddff41c9d7d25630d00b3dbb3bc7fb2bac4bf9ce17b67867561d8eee8625d849da1ede2e51f706ffec21fa081a";
+  sha512.doc = "59765c9239c6ff8b263b3e819fd26c7bed841279394948fe902bdd5c5364fbce08120db366abf2b90fc8364933cedb834f982d4609e1f2d9686bbca341e3816f";
+  sha512.source = "41b0b7f978c0bf5109c976a76b593473f492090a5f392d640377c24a034c26a5829b28e317944876287b9a0a092f47f3ce85195bfad7b4d2aa41ca226abe80d3";
   hasRunfiles = true;
-  version = "1.7.1";
+  version = "1.8.1";
 };
 "dcpic" = {
   stripPrefix = 0;
-  sha512.run = "abea5ce71849ab3b445de50fc16422b832935284d54f12302d385a8db4d21dc649c5c2cf6fffc66e6f1decd69e673c6a09dc8fb654878dfe49452150e1653389";
-  sha512.doc = "cb770ce774577d44034e4897ec8bc4391a69c84868f0151f45186e1fde07ce3f4b4834e990c6cde0da8cf58900326ab683524f443010ae1ba90197652a3a4ca5";
+  sha512.run = "6cfae1fe50baa81ba778ee1b8cc76dd2d0e66e3cd4a868364857f2338b1078ac81178dbcea81d4edbe013726b7cb14700506f38e49eb528701bf784280ca7de8";
+  sha512.doc = "25f768812f31cfc3e4d00717ed8d77392272f2480efe3311ecf5e922b18e1f5b6fa36892c7eb69cc077e350d5d7e55b7201673fc653c188ec8a76205f90b681c";
   hasRunfiles = true;
   version = "5.0.0";
 };
+"ddphonism" = {
+  stripPrefix = 0;
+  sha512.run = "9ccd7a8715af4a808a72d4dbc96a1216663c7eddb7a0fea48b77bbcb546a12d0e9de00928189b424e9db8e612778ed53231456d087a1eb83bca827852c9691c8";
+  sha512.doc = "d75ead2518ae448eba251b3f43431751f415c9650e9ac023e1647fbfa828f700ef2fa3a19f53fdd6e28c9e8461e071fabb7c016aeaa62678ada20ed0b96017bb";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "de-macro" = {
-  sha512.run = "757b8ca64cf446a01ba5e1ceb68f84dc4c89e7609e8a148b9105cf6b1646221e0004441023dcdfaed2daa5f65a650741a3352687b5d6c245e94d00c9daa18896";
-  sha512.doc = "d45a17b93884394dd52d8e0de33ec715aa03ae98455dee7cdeb2bedaaffeb99a7499e794c4a267394760ef05c79e5a34438ee53f9ec5cc23f3bba5db6dbc1dc7";
+  sha512.run = "5ce9beff85d65654173557af668ff15af6989d9fa6d341fe9c26149d0715ed7cf57bf5b2a59b6cf99e8ec14e4ebb6816e9972268516a0b2a78ee13c6423b3599";
+  sha512.doc = "05793930357ad58a57e221696d836895f02dec82cc93b9aa7ea302978bee24410d4b382ff72407faa67f4133c75a84fb2454957de446beca05606776c6581ade";
   hasRunfiles = true;
   version = "1.3";
 };
 "decimal" = {
   stripPrefix = 0;
-  sha512.run = "00c5c1cd9a81979e447b59b43fe77219a2ed4abfa16848d791f0ceaeed248154c690d7bb5d8331526c35cd5a7f8a50e0406636370cd21bf608383d430c0cd7de";
-  sha512.doc = "fb4850530e0817523287500470d318946f30c6ecbbe300f9998152aa2aeedb0fa8b5ba14e6e394ad142cce16acca23d86d05dd7cc34eabd07513b9c5723c3108";
-  sha512.source = "ffbc4c2a70a6b61b2e62e36e83da4e5b97b65310155a0634ba7c3401c09dbf10c608540a7a51e2ec89035b17be09f54d077b90c367a09f7a7e0c6c87d12e9d2a";
+  sha512.run = "9a0d0947eacd52800b3b2cbc36d6e866c1876bd5f929896825dc604d9d633cfb169d93de0f86b0e78e3274936bb47834c222ee54b3571bfcdc0fe81bb2821776";
+  sha512.doc = "977fc97627bbdbf4d65844dcb7ce267cb2291b102b718ca36ba2fee881d5fcf359d6d0dae839d4e640200d3b8a31cba301d20560f5002344b8ea256266efc9e4";
+  sha512.source = "a880091295229345290acf605feb833489976ed3b661b403c8effaabd07c48730ac958a4b48dd48d429a3f031413c1392f4006b820f04e3dde6b2035a948747e";
   hasRunfiles = true;
 };
 "decorule" = {
   stripPrefix = 0;
-  sha512.run = "a1745e0a3e7a28bda4fb8ddb9932b9c822f3548b0f3479984e75ef1bf458c68c3500fe9202925dacc31cde9445ae3f6a86176035bb0698aa41d93b7258013d9e";
-  sha512.doc = "ffbe04812d249dcd60ed310c2bdf8f1eda025af3ce4a71d90a9dcbc8edb678eadc3b11f22fd1823a46e49a6fdfe153f8b4da8ab7bfc509fd3fd2f6db69cf72ed";
-  sha512.source = "8e13c353244c54bbbc057a69f8c471f6e8fe8d8de438a1450c27e015261459c50fe4c4cc9cfba8122349e3a960a844a58c4fb270877e3cbb2d1e748614aac5af";
+  sha512.run = "e5a962002f66d4d3a5c48d93930ea2e14a68226a1beb9f9aee5b7936ef51a49b4d9a249b7a3038d5ade41aef8388ad78f254973e7ef3558e42848409427e5cd7";
+  sha512.doc = "533ca67eabadea3125dc359a839d5b45b5e1efee88fe74b4a2b911014b599930419a49e7e0b5967e5f89d29e1b452d223faae3d31fc3f94c64cb613907cc2255";
+  sha512.source = "1d612d121367ec69f578479001602aa2a25251edbb35c495a13b636e23831e8dca5f7a2715ad6fc5f3b5e3fbf3769d0b90c88949f5fafcd8d778e8489a80892f";
   hasRunfiles = true;
   version = "0.6";
 };
 "dehyph" = {
   stripPrefix = 0;
-  sha512.run = "3fd71f830b2ed720a7ca339143f0b0108a0c7a2d70e5a9fe2643202ecc96be3deae0dcd69f50a0aea82b1c426db02df3f9cb4970e8c027b12d9cab56fad1fd8e";
+  sha512.run = "2dc4ee5b4389549c032f3a4d87740ab3c5e296a1ef109a6b673656a82ca4c317ca774f39f61417568b8ccbeac787c4058184fc893d53799bbf0b042ba5aca9a2";
   hasRunfiles = true;
 };
 "dehyph-exptl" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "78b2589bb881f628ecec66cf3fb5829ff2f752faa4129db0d06321c63cdd229ca3289fc788757508359f04c3ab17d7dd2af87b72f27704cc2a172033a133517f";
-  sha512.doc = "f4c54e5fc362b37f8836b534e2ffb697f0eb123aa2fc3e46a97a373e0e7ba76d5c7c09f2056c847940e2c22106c4e1440cbf7288fc68374bd08598545a451a3f";
+  sha512.run = "df64c7988e8194564716a0abef4949bad9b34b8571a579148cad5eeaa3676a6e066c9eeb183f69d49e5089ce92ef45b4c7747bb4d23334c6812c900c91069ef3";
+  sha512.doc = "0199cf3ca0a7fc36fd3b2b736be56c3baa1430422ec97a3bdf86e740c4117ca73cc0b7d057ebf40d1d48def4d5156bf51e9023604794ac3cdab19f0716d8f6a9";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.6";
 };
 "dejavu" = {
   stripPrefix = 0;
-  sha512.run = "4c9c92c9572973c24200e6a1cb475879ef0324833e1f5b201fa642ca1cc0bbaff7442a5b91f381515144fe9597883ce622018ff8df95e0b06d0e8a31d9ef3535";
-  sha512.doc = "97a8c3c6ad9857d75e1aab8afc8bb1171ad641f49aa4079227b3ca0fb1b690e331db9298c63c0e788ba6d5dbb3a38cbf0a176469a5748640ba50ea23f358d491";
+  sha512.run = "a26a57bd02b14c6e67d328c2c00174730b819f7da37ac147ec7f34f37195b6aa17e3223ac4d03617f5239700b1dfa45ca1741eed7b4488d2e604f02ac34ef2a3";
+  sha512.doc = "7e3364a3e0863c63f2a66057780fa922cb53f4da2f81e42ce9e200d5a034854216f4d4b833756a6d4d6837385e48aa8d03f608846f2f95caa84a7ebffe3257b0";
   hasRunfiles = true;
   version = "2.34";
 };
 "dejavu-otf" = {
   stripPrefix = 0;
-  sha512.run = "a566a93fa963b5b0a3301363313d090d02d283d04cd11ffff601845d5261b45875cf2d2d8e89c6996caba315620738db93ba7707f4e4710d74216c2360c322b3";
-  sha512.doc = "78630824e4f05b4f4d19491b6d78a6ad58a3f717e93a54b1b566175a8f0e7de1d9b9e1361fd512a7fd5e84b6463e321f577caaf9c1b0e2d42d4061ad7673a3ed";
+  sha512.run = "d0d32f3c9d53a1a61e6e717a6275f3fc934c0815fddc3b36fe2afbf7702e5128d4cf15e8cdfe8b02009a6fb7c203ea42b134eeeb080b9765ff99c4143f887744";
+  sha512.doc = "212663371f747b03694327a40de3bec0be8efd5cda15c0cc343284f3a427890e8d16c4223098fc16a260b837a9d522c9cd35876a4c1004e09ee9ee29c05ec7b3";
   hasRunfiles = true;
   version = "0.04";
 };
 "delim" = {
   stripPrefix = 0;
-  sha512.run = "398319d23e1fd48ffcba14d61f7299fa7b42b3365abee3ec2ddfd9d9f5b7bebdfa505bfe700017d2b67b7aeb5aee756b41a516c7483bef150cc56683572b3d2b";
-  sha512.doc = "6226f6f7c6e57ea81cd396876475a88c6ca9aa5cd300a7a5665d72dc60c3f5ce6bc042193de728a09f60d69924374c40ccfb45e4954342c1f163b8dd57d11129";
-  sha512.source = "c77fbc32522d65137251c7638fdeffa704856bf8b3e209cb3db94861111574c3dfcfbb3ff85d0795f0070bceee0e544a369f6af3a6c94cd486bf0c1f42f39760";
+  sha512.run = "c18dc230c5bac8db3d66f062402392761467ad18f48a65930a960c0772be30a7ed729a50657b12f533d72086563a67a98e8f5ce7afdc9947b52146e76e22b157";
+  sha512.doc = "c343842bcc03981c1814f5cffa2ba3eacc2e6abb5673ba700859406869a2398518e9abf02e159f4d92bf91383c3a6cdaa9f5720adaec81715fa30f4b8f36ff9d";
+  sha512.source = "8ff42847f918ab8d65eca86ee8daadd14ee138f984e06e1c4d66704ab4b6c53c1271b23aeb33003f9a7489e22e29850711efce99459f10764150742854570034";
   hasRunfiles = true;
   version = "1.0";
 };
 "delimseasy" = {
   stripPrefix = 0;
-  sha512.run = "a002802ddb2dc32b142165d8960eeb194719119cc79bfeb92944457321e3919bd97fca7adb33647c902f386dcc0754a765b3f17db49cdf060105d8fdea9223f2";
-  sha512.doc = "c483b8d91757673a96f3f9429fa52a0b352d2a33bd2310e8da641465bdf2fab4ca521bb157fea89553635c3c992e29e318441930ac5b51a418aa78e7ab949026";
+  sha512.run = "7f9b1d77e9b9bdc6e5c45ed3c38606fb0d65113f7303e03f591c1b84aa83748d72fb8ecde0cd0c7b19d1bc9fcb454834e156429fd9080660aec77ddfd7b53e42";
+  sha512.doc = "bc9c1ff757a9d98ff9b84993cedb62ee024d0f4aafee301db0d862be3d45c76d8d164d2d3099ae37d41017316282db1e7882330dd10de43a9539ba0b10e86b08";
   hasRunfiles = true;
   version = "2.0";
 };
 "delimset" = {
   stripPrefix = 0;
-  sha512.run = "6f1078f6a76781a8d9a2dc870ad6fd51355b7290c58967425e8d85b5e9ae0c6be6762d4e23b1bb35ea86028d7463dc4fe9e4229cb7571a8e34d648a6868bc5af";
-  sha512.doc = "85f24f819026617502995db52d1574bca1a2dc76b85b01757c8e13b7eb34566e36c2ee35ab514909531d99bea32324cdb9f346849c340f14b0ce471150bde9d0";
-  sha512.source = "1f806a054564b6b76b15cd8bbe9c4ac3bead01d5b5a507fe88105d7b9b37304d12b76a1a2e733f5d897d3501a7ee7b4f8dae2669dd3d5fc243e5f58490e7ad3d";
+  sha512.run = "5c19bda2a87de91ac1d32981198ce7718d490184d4d65dade231b66c3f46621af91dbeb89bb79ba1370fd82a0527d01d0aa7cd9dddeea818e8c4b4380a7b63ed";
+  sha512.doc = "9e671fa601b878187b5b3ae1a47feffb6c451fd42f202f948a87b02f35385b47239947a3e91260e699c64c453df161d9ae734fa3a8e241b0e47056181fefc46c";
+  sha512.source = "d5618af6db29684ddd58164c9f55fbee73417d6968550361d7277558de98e621e2d1233b593c87860ccd8f7beb66a3c2369518736e14c86472d77425d6499869";
   hasRunfiles = true;
   version = "1.1";
 };
 "delimtxt" = {
   stripPrefix = 0;
-  sha512.run = "9e2c7fbbe0b86c9059be8b58950a7495f4e67f5ae1a1c6b296b5eba614e791efb3214aa3aa66b3b5bf3e158487f3da8a0cb749dd6ab7a0315655676555763f4f";
-  sha512.doc = "b7c54f4f24b63df675d8d0dd2356a243fab6aed848dd26f0a0f627f9faf512ca644b2f8b9e8c4ff3261a8d7edf87e1b47289a95600b34ba3bb5c9fb3e61d1c59";
-  sha512.source = "fd90108f697989fee93b195236c8f5eae92ab4e276cb68bdf4d30a33fb9e608f3d558034f0bb4751ad29d596942f5e034e8e2dcbee0b02854fce83f0f70f776b";
+  sha512.run = "25332ff7d2602047938630668c849829844fcbd622f911542bccd59d2eb1293e406cc79aca08ac3acaa98828b4a6fa4da98feb08fdf678ad3863c70cc2fc1817";
+  sha512.doc = "cd9363d8d44309c2ca51431bae067d87c790180eb884888144cd089cc9c14f83e1e7ea2389650d547e47d4575755a5b6b369e82b76cc19150b1dc973e99109fe";
+  sha512.source = "487557d866b99ec0fed6d9bf18c4bdaffa4ad6a8294cd2e9c681a4f65fbba051a97577b82e7170464daf4eb9f154e66478f46512331e1f4f41b48e61d65a86a3";
   hasRunfiles = true;
 };
 "denisbdoc" = {
   stripPrefix = 0;
-  sha512.run = "35392ca689c9b9a5f19fc514735f847b5b8db0c4726624d4089037f8a6ae19c070d73c56312e8f1aa330888dae53dc82a68ac74a2109bc6283508e143c057f12";
-  sha512.doc = "46f7c310f68087359c3fc3dee548d52fa26e7e2f8a7585864318efa5773239ba8f663dbc6c3128d5c181ec920f4bed02df273b446f4e39c51dc35d3531f74591";
-  sha512.source = "bc5581e64aaf117f21325a0dcb86929b8862a034d5efaa31742ff41ea03280d4f93e85de0f07a24a465dd6af1eb60c0993d6f74c016c0e264656516d123c7b4a";
+  sha512.run = "c713ac155e390d3fc75549fb7ff6e3ba13ebf3b3b1a0c001dd39f6300fe2b55ec232221d5aa07b84c87ab7daa971504c20e5f08f033ef5d36dcf9af097128b74";
+  sha512.doc = "561342a0807ca00550410463755c0a348c97e2ededdfe7e6b55c99e34b8a93928167b33e1ec0a7529de6280ee5cdc4001f051234b9c4eec9c41bc2c560bad62c";
+  sha512.source = "e6c27403b1b6603aeea35582f91348a65a5466679a51da2926be278947415f7bb16104220891c3322423115aa973f66ef820462eec7b8680d6020c8364080c52";
   hasRunfiles = true;
   version = "0.7";
 };
+"derivative" = {
+  stripPrefix = 0;
+  sha512.run = "b0fa98877855c265cc0f0973a0b848924f189f445403461f22998dad4bb470ecd5b117075de8e2cfc1292eea27d93b258a1fa0ac1c005463f645ee6009e08315";
+  sha512.doc = "1247f1977d624e4f00b505c4758b1463d03768c4d47e6bae368965566bb7d6d0589951d0c356dfe024245d93e8d8f0f584d3809273e7474beb8f5bd100ddbfa3";
+  hasRunfiles = true;
+  version = "0.95b";
+};
 "detex" = {
-  sha512.run = "8d0578d3d6e8b57628b925ac3a4e80ad3395ddf369530921a5dc5ca10874d94454cbd7217401b8a7e64b4bd0fe49aef448102729bd27774d5b391730a43277d6";
-  sha512.doc = "51c53fce8f94081fde38d59aa47b1220f0537aa5e0a4c0e95abfa7cf8364856a84d5d09e51ebc1434c0617b375a0d3a22c302ef96e53dc774132af26e692d5f1";
+  sha512.run = "cd2e97f09a80642c52b2ea02b8bc9f81651de23ede8c5425a6f37400191d68a6f1c25ef451d4048a2b2cb4b263fb8bab91ef5649d8102396c98a5d4761db1d7e";
+  sha512.doc = "60a69f4447b51dc7c2b8a15d2027a30dfb47fea82713617f0d4699109711fdf507ed6d2b7dd950ae8afd89b838903db4f94ea5b91755cb1f53feeb433939f5b4";
 };
 "dhua" = {
   stripPrefix = 0;
-  sha512.run = "78c83ca709701eaf068b4ca9a6b058fdfb1ecd495ac8a7cc6996106020c1da0dcd34d17e4bdd7af8338ac182186435a99b4dc15ce9a6fe97ea967eec03eed880";
-  sha512.doc = "7d1702d6041ab0405d67b57e26de3181d30a050c3ddf97739a971bb290c765b5efe825d459fa20d5c8bc12dadbcae2d54345b068610928d65106ef4684b801eb";
-  sha512.source = "4fd741cda3aa61ca0c6e8702860f68a454deae5a539cfc8d0486df993103e79993b3e8e3836cbda3c62c5c234065b2de020ac0dd0803e2aa9e51ce127fe7ea8b";
+  sha512.run = "c6e6187bdfc80cec3ce092a4dd3605055f3ad67ff49777bf0948af128c8b48118247ed9ca6f5feb1a69d32719f81968d8259794082a28277796eb6beccf9cedb";
+  sha512.doc = "a2f9f61ed61c5476d5f70fdfe59a451e7b3cafd3412336c5767b53b0157416149ee9ae924834f8a05beaedabb9e4a8dd3e4dbcb2f17b733af113c0a8085e363c";
+  sha512.source = "ff72f267dcbd05830664f9ebc328fa1b6b80eb579627c5ae78965b47b8b8605ddf33c6b6a9b343774b2944d985afc9a9816924f23e8e7ec9fbc807f00bddb143";
   hasRunfiles = true;
   version = "0.11";
 };
 "diadia" = {
-  sha512.run = "9da55c18d8c4793f8489dc429fed605f6f1d0a01c4440aed744161c9447d56c022b47a0721d39aa100c200bef7e4952c23c124af80db1a51845618f0a22111cd";
-  sha512.doc = "86aa3f4afd1f7ff19f072654b86421551b22a715f71b2dc17c2fb79e4f753914a41a043b5673f9502c4064f9c5865425de1c3bbc84565e0162a9018005585161";
+  sha512.run = "55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68";
+  sha512.doc = "e7487bb47fbe8aee714304150c00866780782a9ad32bf6ccbb02799aeb251345ce1cf042e8b4d7b4011083a3be2fe3b16b78f25a4a4206d173ac1384716592ab";
   hasRunfiles = true;
   version = "1.1";
 };
 "diagbox" = {
   stripPrefix = 0;
-  sha512.run = "6aed511fd3b1a6eccd265511fd9b06756c1212815c7bf9539b42916bb8936e345a729ff51f483a5cdf959be932616aa6ac9ac02dd103bda9a4b5b2888acc9583";
-  sha512.doc = "84efe8524fc846f3f48bf9830f4c3247e8f3e3b13c389f3816f097d0bfca949600601c5108435e84ce50782384df0cbfc60fa6a15e90385f21982c7d2522703d";
-  sha512.source = "7d9df6c4557ddf56c92c9d06a2389a68d7d09c1d8f77dd47b3b9718ed2a79cb2ec5864fd7ea80cde800b1d496ab542402fbbdc9dd99f5e38ad8dd8b8d0904a70";
+  sha512.run = "d1a45837a94efb7361d7f0df518170263d9ade42110c95554531e3e877e328f2918e63679220125c6803e2338c9095ace5143a1f56fa154b75fdf7e0b539dbc1";
+  sha512.doc = "e986ab45e44315739a02a48489076be1ecc4d19bce3f3f7689a58c78fa1d63b4375955f82ca4e6f9cce51b10c14a14068ef88171dcba9bcef4e962fee1a153ce";
+  sha512.source = "946f732d453692d9e16aaa8a48c862bd8f904d7ec23a1c51a419582feef30b57f3e864aae344598a9ce610ced52034a1034bc8542f35881b642a284001c330ae";
   hasRunfiles = true;
   version = "2.2";
 };
 "diagmac2" = {
   stripPrefix = 0;
-  sha512.run = "2d5db3fc311c588a6fb7fae2c2ffb36e330b90485ca1bca77e3796d8cda8b8da9d9b75020665fa65d2564826576e9cf27b5a4d8b430e2a2fe3a14c0cfc6ed814";
-  sha512.doc = "5c6f1ea99afc70106b826474a3724fdf44831fc2d7bd8a120b0e86954e70d8d5205fd3f75430fef2638d9e4e41ee747fb1d53a73eaaa408724a19cfcf9348747";
+  sha512.run = "553d3610ef7bba5bf669040cfe6b51b26718b9f04835413d43c3f8a018a8a37274b445bbdbaa4a512aaefc8327f6a2c7abd8d754b3d8cbd4687c9c518265ad09";
+  sha512.doc = "37952cbaa4c20180a2d09455c748b245927245c40093510a79fa0461e5836197d8bc05bdc3cf5c7bafa72c54cb503fa9722d7a8ff9a0630ad1b5e8382b4029d2";
   hasRunfiles = true;
   version = "2.1";
 };
 "diagnose" = {
   stripPrefix = 0;
-  sha512.run = "8a1fd10a3ce3767f7535bbb8d8a2ad5c4bf93217195a266aac9cffc8911d066c00e6b30d7516ef35d2f0bb8401242cc81554adb5d81b923f69db8e7ebee8e325";
-  sha512.doc = "dc7a9259ef3f657ed045fcf2f67153f941e355d54c35447166ec5d782953e3377e2bef6e9225162d8e738a5147846beeaec766e26bc04a8eb27ad3fed580c996";
+  sha512.run = "91fd8eb4b7d896f27c15c2b3b2a0a9bc839bb736a1fa053d47896c6b989729c3dc3a644ad59f6b3bd4164c150034f6ede5d52b680fb1c8cea6838dc70713f654";
+  sha512.doc = "f3e7152e656ee4c5f6ac28205b1dd5e9c0cf19c3d9400e2c40c8d8e9fecbcbc01cb1f7a36534849b6ba26f222f9547e3d669114a7d8923645528b7150cd10de4";
   hasRunfiles = true;
   version = "0.2";
 };
 "dialogl" = {
   stripPrefix = 0;
-  sha512.run = "c7589eaaf5ddfe668c0153505ad8d8251b2bffd442a3afcef25732e870b6d7552da6ca5e7864a141120ab036b6be4f9f7a47922264fbcbf21499d27a9d2b9f43";
-  sha512.doc = "61329d07bfe28603096da087e8dd14a686f1db0daad0fcbfb34accdd603db610a8af1ba48633ae4d69058f73989e81c5bf3123cb53defe0265f37171c73ac84d";
-  sha512.source = "34db457e1ebe15ee633732f83b9607dd26d41e3b2856d461ce335df9dc278d7692c93808b8084057b358e14d49f304511ed052b39f2787a1b1c032732365094b";
+  sha512.run = "68fb25b66499e289c7615fda04fec859d2a3a6105ecb3bc69ecd0e5af8f87027e74170495fa587f21767028d9f423cf04e3d11768ea0581a7474e9a66d62882a";
+  sha512.doc = "cc1fa10345fa089cd86ea4b0a638334c55c6a57cac3a9c549469cd52cff27b8eb3d349ce14d49de14fbb65f41d1887bf98e9c69081688703d8eef06e6324f684";
+  sha512.source = "0a39faa751021dbfe7638f139e50689201f93d4490339af70b4ddd42a77cec252cffe7a18a5ddce43ce8dde7f9645dd088fbe9c6cbdc4efefa65280f70c54d23";
   hasRunfiles = true;
 };
 "dice" = {
   stripPrefix = 0;
-  sha512.run = "b5f13508c7610d4761c86ad6eb4a5bd4767e30926dda2ac33d43e48b8a580bf479b38fc0791778f71109627c9f1774f79a85c0017cb76560e8f5f38f38425aa6";
-  sha512.doc = "a28869cb1dedd2122abb46029d8889d3df24adf39cef4c4e2dc62c1ba253bc27f2e77c7062845d229a6b0222ff6b8695fb0698350749c4a7b4e10aa34f3158ac";
+  sha512.run = "7ec762fccc174a13f2a84ee43aa49319548aa970f017cd17bca73add506ca270a6ac621f51ff96d47a4f5eadeafc89ecc44f1c99b31a2e76722e648519e1fd69";
+  sha512.doc = "9c09c47b70e28e4c8ccffd4c75f8cac7942767279d0e01e543538ddf0ee70fe60cd15d1e3ddce27b56e1a9f865d5ad9b1794a875e41d131d763c11a3e0fb96ef";
   hasRunfiles = true;
 };
 "dichokey" = {
   stripPrefix = 0;
-  sha512.run = "b3b87eead07327dbe3424a65b1f45dfc5b6d706a57daf822f9a66b318a7ab05124c622ee931d5d3c261d8eb4084cec9510469dce298f7ad3ba254b2e4b2f78f1";
-  sha512.doc = "3b7a4e41bbfc67d72cd1504278b3b872dfe8ed9a60b171609518710ce9948eaf463ba0a89bf796255012d42c905cb27106131a4427f50ab5bbb71fddbd7ae98a";
+  sha512.run = "8ed4f0010546af68390f93642cab4495226387fd7461383e32fd3dfa72867050d0da05ba90cb768c6893afeac9bfe55d23b7299ef4a76432e8d11252012b47a4";
+  sha512.doc = "16a75d20463a0b0b508c2d50aa67a77999cab525e003704ab34663d1f0212c39432caab0e4df1c69b540be014bc86901031c7c8f647ff18ceda77dcef7239233";
   hasRunfiles = true;
 };
 "dickimaw" = {
   stripPrefix = 0;
-  sha512.run = "dee696667a2c05150ea3da51c4c60ff67336aacaf82a787d9ec4bbe0c04b1230fcb6a175d35423f2ca95ecbe34a9cf4930b5e099ef27593a295dfc217bb2d9dc";
-  sha512.doc = "c915f7cead9835528f7a209f78030a96ffec91d1fdc0d340371121cd479b87c301de458e35878c4229a232879e49615853b077c4e80bcd06a7544eed0b623d9d";
+  sha512.run = "8e478160699ca5dd9c52ea7e6b0a7be491d0af44b3022c22797b02b9e6ba6ef67ce9dc35649d9a2ebb9b123e3fbcc02c0602271bd8049a12c4520a32a15d4ef3";
+  sha512.doc = "5ebe8605d1a4ebeb11896919c39aa736220e9ca247912b5655dbcadf03bfa45b4cdfe44ee6555bf8d5ecdaf63b0d2527d3d58ee6d7056a194a6a42f88ab0aa41";
 };
 "dictsym" = {
   stripPrefix = 0;
-  sha512.run = "44d2bcc9ec9f0d1ad8f9cf75d5415de89dcc77fa11d4193180b8c63ee67b0e55eb87b95b05d0ae0cf7f35b7f3f85d93ff79819020e11bfa71e249adf61bb748d";
-  sha512.doc = "1cfb975605ecc9b8c5f3005f6803daa6daae9369348a70238fe4950e594c71781a620e19dabfc024bd3e8db620a66a5fad845bef5acd347402da7b35a6a22345";
+  sha512.run = "6195ea914b422d5bb1c098e3a8f103d91aaa94520bdff1f5a04d7c952f84f16b1aa96287dac4a309d8d72eabac65a5dbaca275abc211d9290266cfb8f5fcce3a";
+  sha512.doc = "935e67c0be73969b572146ccfc92ca42c15b3b5cf2cdfb596cf3ecb9368463b793d530221d2a7e90df18edd54b7938dd27d1ee00757b580c543ea59ddce5d277";
   hasRunfiles = true;
 };
 "diffcoeff" = {
   stripPrefix = 0;
-  sha512.run = "d8a09104ddd3d6166a54dfa50feee0db3a7af04688dc92c663aad81b505f5bcc2c62b00543a822f79d6534fc0d2c28c4550c3d5eaf02d562ec00da93023d3a8c";
-  sha512.doc = "dfadc83524ca798a599fe2e3e6bc672428b09321b302b5412d02e85faffd4da01159202742173f0cf7e0f3f4df12e20cbb44c21d67a0b5858c48800688b1ec26";
+  sha512.run = "5677888e02bba39b32d6b2e421adf69e7777e76552bc8a4a30e157a0a2f20d040a9638a382cc1df1542e6d62e1cbbbce015c864ac54ab5b1e98a092525900a1d";
+  sha512.doc = "66bf438f6a88309c58dc22df80992afcbbba5a25a23bd6726aff777e2d628bc11c423c24cc142569ec1c713af97c8575e409af96fb85e3ed1c04748ef407dfba";
   hasRunfiles = true;
-  version = "3";
+  version = "3.1";
 };
 "digiconfigs" = {
   stripPrefix = 0;
-  sha512.run = "e86fd88bdad9d702a4f1545696b9bdcd0898f33694f032bbd4fc6abe2f7cebd3ffde1db94a630c15c823afb59b9723213740f6786340ceb77f4b279fef975f91";
-  sha512.doc = "ab47be821ea3850ef015f6cdd57241eeeb330d04761c841999cc0d228fa6f37ea7bf4641e751343a581a0060ed057f0a56cd10e3887f722c7ff46e701e5a344f";
+  sha512.run = "a1d5cf0e93aa2722087a491d49c87c1b6c1dc863a39807f28dca198d4c52d8add42706f992ee91b6a42fdbf379293a2aaf3a21199094526c545f41002e8992d3";
+  sha512.doc = "95e948491a51321671b15aab55dddd7c6b8bad78bc67bcc25db0970dc478d1bba898fc2efe44537a18d46f3fcc73bd2af600c4a74af4982e8de8a5fc0345a134";
   hasRunfiles = true;
   version = "0.5";
 };
 "dijkstra" = {
   stripPrefix = 0;
-  sha512.run = "e0fc809dabf7e8367d1c22b88d4faef748dd694044f2af7abdf6ada699ac9415b93320295535687f4cbe575965edbef7da4ac69b8bccde73d85f64ba9e146901";
-  sha512.doc = "1803a8918675d4ad37ba8151567a78de6ea6f0c282117895f1813da9bd6c88f7f0f123667da02a4af52c112e79bfa0bb796575f6be3a8daa6e60c7c73d8e4216";
+  sha512.run = "2b3d6d68c6e3eafd1c88eb44c8ab68f27dc77326ef43a34119679b0dc1c1c584db8568584956617354f359a52792c6a2c0104dddaa1ec389004dd673ca749136";
+  sha512.doc = "96ed892f5c910421eb5cabe54c4a7c6caf4d9cc139ae7dfe454fac9e3275d3dab4690db877bbe8fa303523f38cc563611ee5270949a6d2fa8d7d2593c1bff06a";
   hasRunfiles = true;
   version = "0.11";
 };
 "din1505" = {
   stripPrefix = 0;
-  sha512.run = "d44b2758273e4cdc69721ea0be9de88dc1763b69821df76be8ae341809f538278989bebc81633e597c7e4e11b6c57a07e474781239531edfd2f216288a47889c";
-  sha512.doc = "be4913c9ba87ee6d05c3de5ba73f9d67ef624b6e093908ff4823e9e14ee5ba295462ad497249e23811a1cffcc2b17da261b6f7513deac1bba5e018bce7181f0d";
+  sha512.run = "cb9b819eb69ce4870dd36da844b1d24e4f678ad05f43eabbe861e9de5b53258e45e70530ca76c0aa9fcf54232e8f33dc55623f94c1d9e5fc3dfc48481093c3cc";
+  sha512.doc = "4479f5ea1e1ade4bc7951d5722e397a688e75293da55ec57dd0f3d32add2bd551844da81336be0a77cc783e4c9af958be46501c4b78adbbf8a5463770b5cbb2c";
   hasRunfiles = true;
 };
 "dinat" = {
   stripPrefix = 0;
-  sha512.run = "182665e612cfaf6895faf597cc0f9145bf35e3f0d1e3825f29df8c8ec9640adee142e9719cc30997d8f7a9859be687f005b2bb3e1218e2178de4d6455f0f5708";
-  sha512.doc = "542b327394cf804f3cfe64ef946030aec62cb35c69e2ac6cb5f6bef305aab0b575e0bcb76274476c60081cbb860dc382eaa8039eeb2124811a7b84bf42a058dd";
+  sha512.run = "0b22f43a5088f669820674b46af72e66f3f2714a36052bc7d18c334b202d0060fd07b1a608626adf183314d2380fad672baf58307ed83aaa888231e75c63b1c8";
+  sha512.doc = "f4491ab35e2ae8003faa8220e88c0abd2d970cc6b985d2baf993effd2ebe94a964ae8ece6db70a55f922abc83c91cce5f598ac2e722b5eb7e1584aee436e4393";
   hasRunfiles = true;
   version = "2.5";
 };
 "dinbrief" = {
   stripPrefix = 0;
-  sha512.run = "e47c60c8dc28ea59c0c50792b22a82e32c4879820e3df0a33f496b18b87b9f2e83dcf9fecee62383b621c3dc2826d2e68fd61fd7f1decda99577d8c4ae63ec2e";
-  sha512.doc = "e85a36ff3b35b66ad186ff748fe43addc16f3671abe5aae5c674ca541dfa8670c0b718f5162c1dc6f1a870aaed9e5562f14cae85542b1cd6ad4c0a89fd65477a";
-  sha512.source = "82bb581c0503006455c0700d96b9ca4f7776d3784fc604256ab6934d485d4233e7dfd2a95a72e41c89580708190358403f51785d3f41cd1548aa9efd98bee318";
+  sha512.run = "0c2679265417acb042f81300895be7dc7d6b8d8f0bfa2ff8853b9c1adbb6bae78598c7eb4b7c2c91a9f95959ff7a7945f846e1f262f923d741e6fc77458be9f0";
+  sha512.doc = "5182bf0761a484e89331ced44d05f82da097cb7be010333ad3eea1b987119af3f3e2a3cd8ac2c4b2b6149a09a5789325edee49205fdfe52d2960c12edacad0af";
+  sha512.source = "0f81c2cea6799ccd39039b3fc9c45ab38b2041d0eef6efad245cae9fdfc17a7f967c24509b241fd19870170b4028ebed40db25884556bdf74e0ce2fef1a6e1ec";
   hasRunfiles = true;
 };
 "dingbat" = {
   stripPrefix = 0;
-  sha512.run = "207629d45e629d9d7dcdf7e75a23741b1a92b3f6fcfc49f6407480f1b534f9245abd60242b29932a6694ffdb2f7839c3f1ffabc969bb156bea899c40e124c5a5";
-  sha512.doc = "ae9525580681685f5c9200ac51c21fa71e244691b92e2194ee386ce19dab7d64d140715bf90cf7885387010d2be902464229db2c3bf638b0dcddef4983194543";
-  sha512.source = "414cf13ffe76f15cf66e6639696908a1f8640da5d1d7230bd3f8433fac1a04b52dc4623f124124a814e0bface44b5c221605655d03168e877c74f70061eb9cc2";
+  sha512.run = "d6bdfc62eff8816e03eaea41ffbabf2d3af7194edbb2f9073c8d8b3d333c75f0b587a74556b916efb40afe41c88a8029f0dd764d7dc5894aa50e66e06fccb77a";
+  sha512.doc = "993ef5169759d86641e2a3185064f94df858d81d9b7ba4b0516b22abc51eab887b5d02ca487ad85b007e7ee3117563a257d80b803a361ea1d32857921e794b9f";
+  sha512.source = "01e935a99ff83496cd1e5c9e297d316f879fa8e54808c33a2daa54c78e1afc5048d3fabbf93450d15d6fed09eb59389348da266c751782cf017f383a97214d2a";
   hasRunfiles = true;
   version = "1.0";
 };
 "directory" = {
   stripPrefix = 0;
-  sha512.run = "4cd6d535af7877f5fa6cbf64149a73c2a38d221dc100a9491fb554f1c29856a1db138eb8e4f6e6d97c5992aa774af7545e40c35810d6c9a236bed493b9d61038";
-  sha512.doc = "564136cb7848a6ed0a804a09e7434006202f7f4b0e48d7c24972f8ba06494dea2c9a000320506b76afee220024ae68c58c011832aaa1add45f00aa859a801ac2";
+  sha512.run = "c07947f06fb08da461391cf6101a7a2e55875179c5d19b41007b0d11ff1881623e353b813dcca1da1f09e55beb80bf412f85ea6c9f7e3dd6e52a875770a5ffdd";
+  sha512.doc = "24bf3fe447363c20e4ace4fb326c329a244aaeaafbf6f596ec91a3975e7cba86a2d711f9a5f10c2a70d72d74bc08dd2540e5139b4c4b525103e867a9d8e62bf9";
   hasRunfiles = true;
   version = "1.20";
 };
 "dirtree" = {
   stripPrefix = 0;
-  sha512.run = "e7dd498337de6078a977eeaf549b0fbcc73b1d90ec4183c8277b29998a1bb1d8ed5490ac4c1e4aae6006a65b37503e84e234e7d34be41ea014df697db77a88e5";
-  sha512.doc = "5019f352f4abc5cb967237163031ab340104ebc055bdd2ecd2fc637ee6cdaabecd838bda496f32affe1d73f7f1dd39872f6e31c1c992d8a6346d985963542617";
-  sha512.source = "1c06dcab34fb3c7928ef5e75f1642e42adacec51ccb86400a576899d55139b3ddbfd69b66153f4ea7f1b758bbc4dbbb89316532eb2453e4b9ff3491974b70479";
+  sha512.run = "5faecc2a6d79ae79929481c283b01e69df482267635957c5eb11c264d924ce299021d95baaf8cf6f9cb10e57f5fe14820c6b3506021b4d0213494bdeff5746a2";
+  sha512.doc = "9edfb6fbcf4278c2b24599b58e10f64918d901bdd19dc0e9e8c8bd77756f2f3ba5dc13e31fefd2bd5f1467a0fb0dc0e765fe4e0515781103bdb1b81f687def7b";
+  sha512.source = "4939918ace772a76142674410f9a1e91c698e02c113517385814346399cc94e031384905dc2719d717ac1dc65ff04d1d5a7049408ec55e20b4c0000f4b8a7049";
   hasRunfiles = true;
   version = "0.32";
 };
 "dirtytalk" = {
   stripPrefix = 0;
-  sha512.run = "a8f892a92d7296adfc272c3dcb651d446337325e26165128fe62ff821d7983d0123ad63be3f315bcf391a3421979f20d14f53319dff4a36eb685e00bf1646492";
-  sha512.doc = "90390854b6308ea4dd1aaead46fe72e53fd9d31a2e2b3b5f52a58066ec252c2425e87278e7bf62e2cffc41e25ea854ec0475d29d5d524d58bb6e0a1bc5de6f84";
-  sha512.source = "60b3f24e3093a67b9692eb10b9b4a11759b08fa222892e9d9ace283e1cb7549f27a9155d84b3b85aac3af8690f12244b4be16af4da3b6765e0f0d1cc729852d4";
+  sha512.run = "d5cf28f17a68cd064a290769aff11e656debe87ff0c04e61d4dd4fe87d285daab6dab9516b80b33b03680d50c420a4f3a9858ed5d2d3d5c96fa7fbf9989d29d6";
+  sha512.doc = "8cdbdbfca4bdc58a560703b6406c98334ea0b5d9920cbc98ea0fdb7b56c9f1d48844167201829cef83fa84f0e21530baf2fcf4a3f8f8b5e44c5e792864ebf94f";
+  sha512.source = "448c9b5765cb054981e306b795f7747e6e5a9219f00a4698d6f5ee36ebc56c80a1adc857212b3baa1a065b9a8f585f9938e2d20d8f6d30f8d17aff9fc80b11c4";
   hasRunfiles = true;
   version = "1.0";
 };
 "disser" = {
   stripPrefix = 0;
-  sha512.run = "aef60e17ddbfca507c233340d48ad263e27c9fde9fc596cb3584223cf29015979fdaf549aa88b409809386c066c3b34b70e91f0fb1b76ac2d89907696e251863";
-  sha512.doc = "23847773835fa8a81a6311b8aac152aec7da421203035aecf3f0e51ad68e37d78be78e6a980b8c32e7afbd4363121ca44ff8fe7b42e01c01e6db61930fbd02bb";
-  sha512.source = "29acb9b33c3eb3c7fca2de8926cb1cd34d0deb12cf150dbc70287bb51d82694ccd7a8eea1b2bb463c83b1a5ce5c2a574e0eccbad92608f7cc83654d5edb2ce7a";
+  sha512.run = "98c497bd8d422cacf639cb38ff3a489b5fcda3f92cb5a734287fc930666867eb0e9e6f6014ad42df527d3999eb5a87da28d7178b47cc53eb44a338567f952ca4";
+  sha512.doc = "ed0c04c0afccd7f9f68bb8f65a6497b9cbfb2bbcb5333852da7b790083e71ceec8348f6893f1e0f16bef7e4b5ca0b9d1a58ca46898dc58a02f0324a62971b916";
+  sha512.source = "9a9770eea5ab44b2265cb191bd113be4e98038a0ba8f3c92ffb837791cf59447c82caf63d50af6bace698a3b5b8a2bc25f427add6cefb436a6377df4816524b2";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "ditaa" = {
   stripPrefix = 0;
-  sha512.run = "4e1ffebfde82ae9788ce906bb1e6426082e9bc5406243c91fbb406670f77129f9b08c741f2d3375078b220cdc70c8eba312c4fab565867e82b860fbbd07f83c4";
-  sha512.doc = "e5a8a50fc9956acecea2374560f98e5579155c8bbad9cedb2a3fe033d77e4d14aa72cfeb822a488f74068184ada747d377ab2abdb529e24ed4ac244e1414aedd";
+  sha512.run = "1aa2fab8150212ae8dbda9d0138a4c396f47256f93582ed38d9449f9440daba9e07dc0be397c49981e2d1813b7e41d2002fb7ff914382606f417f2738a8d2735";
+  sha512.doc = "345d6d7d3f21d2dc728b93e2cbfeb4fc1f589797e852604809b1ff3e7bca53414d684571faf8245c740a50205e7d8787afd5304beb89efd3545a389ec4a74331";
   hasRunfiles = true;
   version = "0.9";
 };
 "dithesis" = {
   stripPrefix = 0;
-  sha512.run = "d0a2d42001e187bc40ae90f8c35a3e4201062ff88302b478fce744d566566d8366b7ea2e3e2f5aba5e140cb0561df6b9c0a9ed02eddf214b0f03b3de2ab6098b";
-  sha512.doc = "0f3f1ecfe0fef0a5cb39374d3c4d32255f196c9e167ab5216adbabc1064153c552beff9fcd2f3bbc44de3e7294ff4ca368ae3fd850db6066a4f66e8ca35bf973";
+  sha512.run = "b11165408ccd30427390e9f409e8f561122d1a2dbe821ce90687df9feb2faef692d8ccd75fd8372b975a06e3f11bca0ba6e873d59b30aabfa95015ca35e557a8";
+  sha512.doc = "25058b262f803fbbf3c41fa62ae8983ade351fc7bb65be7d886a4300390f836ef5d1240e59571839b407afa2ddb363e6c31e76e36c160ed3fe0c6d0e0ef71fbf";
   hasRunfiles = true;
   version = "0.2";
 };
 "dk-bib" = {
   stripPrefix = 0;
-  sha512.run = "a426580847f7191e7a5be0b30d40a5ae8cfbe8b99931b4e71a9a24a121f15929fdb2cc67ac3e09a05b0e23706e318e35f9864f852ada3df9925fcbb03015d7e0";
-  sha512.doc = "0615b75f8dd8b6270426f7e4d7ad578b02749218efca1f68c0d6978d584781de84de9716773002d2715ffbf7367dad5d964e120a4e8ba8bb3c6de48600f16a7e";
-  sha512.source = "5dbf9347b53041b40d424c3b147fb63bcb4675417dd4ccdaf9a83896a47fe34a70cb5d8a8cd8ea663e859fa718d18053e600ce606c58ecfd1105c4aff249198e";
+  sha512.run = "9de9e026b9e3de53b297d7925bd0e4e9ab08562e798a8f1b9e6988ecb891067534a741aefbbb81f1c53d7ae6b6cd0e0796d8c0690c5af661e76a5c6d9ea876df";
+  sha512.doc = "258d8413d860f6a30c597c10b8c25f352166f8bc39cf23714a137e46f4748ba716dcae8eb8b6e17378f6a850ae64a68a9f331c8301c938f0a8042d967b3e62b3";
+  sha512.source = "ddb3927504b35d025c339bfd1c072e9ef770a159f046bf86220ea675df481e5b781026ed6395a776f27518ffedef83b7c5f95be30f1be49747a76bb2e2280817";
   hasRunfiles = true;
   version = "0.6";
 };
 "dlfltxb" = {
   stripPrefix = 0;
-  sha512.run = "1191058be1156138af851fa49bb282c4a6c09c0a4a8ab4c62d798ab8d2a257a499fb984c85a4db86f9ba9246c31336281262362d2c766064d5fdfc0286deea1d";
-  sha512.doc = "caea35de364a26e39b20e9427a0b0c2f4411f68856471e800f89e4e687d705e9990d0a6bfa15b1eb4eedab8d0a0dab620617d0a5c76290487c467456cce3a601";
+  sha512.run = "d1d7bd6a855d131324fee30bcb920e0dfa6ba733a1d52f94c59e8f328b533d63444b5ce7e5fca9dcc7f21833a9cef84460106aab0a578fd17974c0e348f1ee07";
+  sha512.doc = "171d6661ca71533fb869832be2bf6f7d26244bb5735fb884b5b1ce7c27d291b3e9518a902d6c7565d94d2c55c37b00564184bc5851824a00b5a71963a577128f";
   hasRunfiles = true;
 };
 "dnaseq" = {
   stripPrefix = 0;
-  sha512.run = "c051207f76dc0d3ae34fce61198a510a04cfd3b76e33da3291b8c5df8d56cf084ed930b3423d759e390098f86e797fb5877fe3faf3387768d01239caef64e718";
-  sha512.doc = "a811c8ffd9f0de9c28c31e9ef96ca80883eff7696c8390b80d8ff7cb98ba2bc296d39d492144514a80659378786cf78f2ad8538fd7a96048c2f1ea98ef7ebe71";
-  sha512.source = "f2feec6e5d21ed3bcbdab9a8ca4546a09f98c158f1be541078ab810a587cbba0532c17fe60a56f207bef982f879ae78c9ccf57432f4fae72b118ca9675e96c6e";
+  sha512.run = "b4a83c42e16aa734611dd8295aa033904828ac1825ccdd41f297586c0667ebec4a43606740fde56bd01f58ffee1b1f4afa647ce196ed042a5dfdb641f0ee2d7d";
+  sha512.doc = "089352ea3210231ad158ecb0bc17d5ba0a9efe49ee4c609554f08dceff9ef534185a7f9f17526910d3b602c4c6c358f211fec4cfe27bd6df61555bce4f9d795f";
+  sha512.source = "f4357ef3a23d8b1c7ca3168441ddda57fe725c4c17022807464e61035b89a8a8334684144d86f3d6ff0f3955c1c928903b80a61e6b1792cab633d6dab51d44df";
   hasRunfiles = true;
   version = "0.01";
 };
 "dnp" = {
   stripPrefix = 0;
-  sha512.run = "408ee3bb38c49e17a1d7909fd36547fadf31c138f0dd4b924a249af8ce66ae1d995b0c125c2ea1654439a21b62be8c66b45ded247ba24f0b1b4834b581cd2236";
+  sha512.run = "9cccb6befd2059b13571e083664e4c85215cc12c96b41afdd9efdeb758b444a95edd4c2586ee1b44dca70fe31f38c4eea821cf08cc1237a82d67e0e567d65d8a";
   hasRunfiles = true;
 };
 "doc-pictex" = {
   stripPrefix = 0;
-  sha512.run = "bd82b467e9546635b757a9a4d564d276cf749841484fa5dbfe74d777ea38e9c05de376cc4a7d7183f9abcc54f1e2f18fd356db209764cd17030e8170b8b439e7";
-  sha512.doc = "e64ccf563460fb970f300c056fc25e1367ae8ba659793fe87e864ed4bcff84e3b429aa3751012c448157d8f09bfe1d1fa9f61ec84ee74bd03fb4ae699984c530";
+  sha512.run = "c866f0855f701917fa81966c16a7f1c869320ddaf38e2c1c2a71844fa7b224fe2216f267b7b700ef6e36a13f97fa6f33a1d05342d5a7a8dd47ccda761fc577f4";
+  sha512.doc = "3440fd4d0e2117594d6b350dcfed891506ce7fc0500ecdd4f156431363a38e399061469f5def9082d59c39b14b65ebc19ccb3204fef71ade300825cf35659158";
 };
 "docbytex" = {
   stripPrefix = 0;
-  sha512.run = "f4ebc8dbd8c64505530cb3ce0565d26617aceff17c312857fda79548156d4c7a4f26eead1158b1ade18118813695952ce9b6bccb27ddddd7fbea4c093e7ebe6f";
-  sha512.doc = "9285323693d2b4def2420b93d71389dbac40527d9a3376b2537c3bb819fac737fc4a59e27013588eb70e8f7932b78210e9fb70921c6af5a1fe28a67a7f0117e3";
+  sha512.run = "0b212fe2131eb4070e08efad7f1e0745d0538b2173b274a41c113ae6dfce46d7d1fc8ebd22f16b3a956570865df9cad668866fc2038687ad6c0b7b72e76a79d8";
+  sha512.doc = "0daa32aa23ca248dce228b8029cb19c6d4509114094d46efdcc45b52d6593176c44da88040b37d83054ec286c4b79727ea4ab2cf07c4522e5f597750d85118fd";
   hasRunfiles = true;
 };
 "doclicense" = {
   stripPrefix = 0;
-  sha512.run = "ac014e1f9e73092f027fbf3f63a4a40736231b6dd486d7aaf455465576f38cfa9de7832c8c0d77233fda5b8521a2af37014775d1be19a9e66d00ac2fff0dd35a";
-  sha512.doc = "0b915bbd69ede897c1af0b46bf99eae3948463f32258e3c61cf1cfa8f9fd500b83c244aabfc10c8d3d37259d6e3e181fe834d586d5f6c40aba5e9deff6e2afef";
-  sha512.source = "b8a3af96703e35ac14b8ce9ce5b95b09bd967708530a671e45bba3d36012c4be59ff9657696e7487967e2ec708d2218f053c4ece4011d891ba276a704b545ca2";
+  sha512.run = "a66bae24e43e619dfed88b039b8fd44143a1ee1c94a7764d49f7e5d7920f041deb66c8c0ebc91ddc19e7725895a5e5793196724b45945cd31675765caf06a236";
+  sha512.doc = "d0388a64e6679007965b2c1075d730f6b25a08431bf9bacfa8cab8890ea809150c334c96730d8170515b552e5743784c07424ba34d9033669d8463744b5ed5e8";
+  sha512.source = "6c40642c3bc7eba7949da51c7703aab84033596f541d0fc433d5bced75c8be4666b4fd43f6b81119a3e4c2e73a7776aa452df2be544b91ff97c827b925a3df93";
   hasRunfiles = true;
-  version = "1.8.0";
+  version = "1.10.0";
 };
 "docmfp" = {
   stripPrefix = 0;
-  sha512.run = "951a247be986e8c59f6a38879bec769e2d12987b825420bad31ad220533060059209b9dec00c63fb8490129eb535e4d6415dbbe9d158129d0ee91b58a69b4545";
-  sha512.doc = "ec70f25d3dee99e016cd2ae6b2ad7d62d21cbf1fc4e80d6d4fd55dd650bcce15f3078fca185875e233040ea9276e6f94580c495861aaa3386e1d92767ffadbed";
-  sha512.source = "a2603d9494ecfb4aa079ba28cb0de1a3dc109019dea8792524278c99cdc34d4ee13dbf41383321f99370d7012ed441eeff827b151a23e34e41a04db71f5964bc";
+  sha512.run = "55f68d7affd8d82631eb0e67c6232330bdff97ea908259a5e14255058d88f9f745afe55bd4a15eb91bff959b7cfc31835fa22196d3d0edcafa40da521b3105b6";
+  sha512.doc = "fc3721046105ae78b19b61a45fd01570873842c6786a096575efae282e4fc884f5f5dfd5ea6888a25ddc82077340bf0ede4a36977cd33d2b555ccfc3d0ff2c02";
+  sha512.source = "90c38a698f428980635ab3a826f35adb65a1f9b2a2dd385da8ff41ffba01870c071b7ce100dea1142d85ca216a68a0170aa8fdf92feb80a8ae055899f6b05633";
   hasRunfiles = true;
   version = "1.2d";
 };
 "docmute" = {
   stripPrefix = 0;
-  sha512.run = "6014904b4303ddefeeb06f84128b1e8d8609ad6298269cbaf1e56b9c7dd87d481af86216ba488d764f60e794854a3c2ecd3aadb1433b592790088f4fb371a7a1";
-  sha512.doc = "5bdfd7a9113ee1a17c1ab2578d7d5035b81572c9bf40156343f4cc819cb26ee0214bdd95a7258225eee934f384feb50c5f2a06485db528c1529586f81c5f9be6";
-  sha512.source = "4992d9097406b95bf0746b6648e1e1d90fc11919d83a659572d9ae043bcb0ddb944cb43b575762e8f09d321dbda9c060862dd39a2da33ce2cbd4f3dde9c94b74";
+  sha512.run = "5c01f4e6922b7a23e753edf9110ae7f1386a4d6ca719ac898b058068a754a6c3bb123f918bdb1087baf5efd1176545f543ab8b93bcb6c9529c9000ad6a3b1e97";
+  sha512.doc = "8207eade8841747201656a7e6edc789926a9dd411946a860e4d865fed618392bb9159245f7162adb4a58c88d00191d83f2daef49f610c3d8e5e231ad7f1fcb7e";
+  sha512.source = "1809026635be9610b39f5f428dfeb2c323b4588dbc6306a50e00f092910fd449921a2cd797fdbf3408442b9f24cfeaf7c69e75db9bd217dce975eee2f1a4b930";
   hasRunfiles = true;
   version = "1.4";
 };
 "docsurvey" = {
   stripPrefix = 0;
-  sha512.run = "782240c01f70dc572a65561762644ea98f446d2eb3b0398ddf4fa3e83438a2e26407a9786edfc147c85fabf815fc102b942c75104fbd58c21d61d43cbd7fe411";
-  sha512.doc = "26968e315c5f4b30796af5c57b34040b9ba7fc7d081bdf8bdf5821f372e16966b4ae2a877c5deea2f44ce2322895090e31cd76a346aa179fce2307f5245d7d56";
+  sha512.run = "e51d73b0dc7267b0564119b6836398a939676d8929e850201900eacb49e701e873661ec897e8c0523a094d82e736014e0ef61d07e2ffb5311924d2fdcaf1d5c4";
+  sha512.doc = "3231dbb4c28a03b754817f50f930f1a6eec33ca9ef6e29a1c4b1edd025315ee9f9e7a371b8733d6624cf9b02dbb705dfcc82d6f98a99aa1ca05b4f277e083304";
 };
 "doctools" = {
   stripPrefix = 0;
-  sha512.run = "5e3b1525b58590a87fdfc25fedafb7fc88e3fdcb1859b70deb9760c17033cf666a9099a2c00390e37cf0c58b690ab800e3aba3193c0b0c504f54c68766e04a27";
-  sha512.doc = "b51871fe430cc4a07064e6836808d85ba1ecdb9ed7dd447f17c8553e77f8d29aeb37a6155a75bdfcfdc33b796b327a53a5bb902c185fe1ab8676a50443b79677";
-  sha512.source = "38db24c874a3512d62c5a4ee0317476c2073baf5a2782c6efd5f94288880591c3dd597a8bc49132576ea3a7830de947cbb4818275b6c5e9a9a8a14ea3b67f5e9";
+  sha512.run = "5c621b063d752fbcce773f2b209d358de1588e7c4edec017eb45a74c350e86932ac9c4e0662415ba7ad5bca8ca86d1255b15f4e5572ea949a5d6404b28f14025";
+  sha512.doc = "a78cec3ce74e4689c848b49af7da035cc7c684730f78acd7a7f8d8f78194492e53880e7884eb00dd22d4bbca4f370aabe8175048503959f88023a12ee4f26598";
+  sha512.source = "bf61b5c519ad73fa8187797367355c195ed2048d83cb4842862edca740f51d60bc421881da10c474d950485faf701631af6299033d2005f0d2aa8c6561625864";
   hasRunfiles = true;
   version = "0.1";
 };
 "documentation" = {
   stripPrefix = 0;
-  sha512.run = "928289a74bac72caf5a85814746c2dd0da0e45a9f71c57cc1ee6a0f5806323b8e6507fea35c4bf500deca3d73b933b0e0b89327a3ce6b22020090d08406eb8cc";
-  sha512.doc = "31d807da24483726a256355edea3ed0656f7947f8090febe1e42a50f336b96126d72d45e8abf356ec532ce9ff66ebdd5192643c63bdf46b31956fac3f02a7cdf";
-  sha512.source = "a8fe4460c0e317b0517866fc91a7d6130505c90e9a1a1a0a1e19d492df321a2a90a74fdc64f35d51b816f2afebc51c71592b3ab418e49caa40e58a36ad8246fa";
+  sha512.run = "330534f15cafffa56dc35e5b4de8caac66a87ccb0b834df5419a68a7cb136136263af14ef14ee7ecaf01fedb2803c2653dab7570ec2535ad1ca3033e1afd64e2";
+  sha512.doc = "09854b00d86dd902c26c1b4f8cda942ea09796911939a20014b6d50d01b052e04007b55fe814877cb4515a6aa1f4ca1a7ebb39a6a6ac1bfc89b98d1f910329ee";
+  sha512.source = "7e32523123407b913662fd7bbdedf5d3058e1e7e3592649b7afdd4d4df6bb704c7b1c3153fb0fdf3b8bea183259a64b8ab6ec17d74ee74ea086a56ef1dc90bc2";
   hasRunfiles = true;
   version = "0.1";
 };
 "doi" = {
   stripPrefix = 0;
-  sha512.run = "720551efaf406271711ce3254af22ceac0a1875e9f7ddb1ece6ba9152bafdf2e2cfc632b94c899511ec346ab2f1038e1236373e3665b37394e7f479d4f4f9e2d";
-  sha512.doc = "b98e6093fb78d026143d6668d37c372c5cf0bb8bed1cf8213d6439a39eff4e1b5ef6fd966b42f1fc21fe2dddfb0fe27b87fa026014b0cc882ba2b6c0e3dcf16f";
+  sha512.run = "7a041a56ecc0f88d5200d39d7611c74f955e79e5f5f887d26a70c76624c334b6229f7b937426cbbabfd7de7ae0f9cd2aee70c502981c46fcc3f18fddd62261bc";
+  sha512.doc = "3dd77559fbcb32d8bee7121f62bc37ca14c14c8e62f8d2ba44978438920dcdd54605a543135a6294e2ea9742f5fde4862a2efe3eeb6bf22b6d7418b4b01a2ebd";
   hasRunfiles = true;
 };
 "doipubmed" = {
   stripPrefix = 0;
-  sha512.run = "6935fdaa9a5154b6917ab80af5809ace38432fd5ad7b8b71bd896a5d6794e6ae4f07d5e2bd54d6b81cb1377e2cd2b208e365c6417ee24886052eb4a2bea417c8";
-  sha512.doc = "4b914d757b2e262add61124fe45358119a72bcff39fcace7c2db44d99502f99440425692d07767fad4f3388920f5ee6f3272d31170c76f56ef30f47d5097040a";
-  sha512.source = "324a9b1eb6487c86b88ea7e1b6c2ba5eec4e7b116ff76f468cc657b6ae518527481f3af03c4b868ff17145f585d8b7d29f9a81df509da67a23494168e104cc6a";
+  sha512.run = "3f313afd9cee76d11b5f957a3e9f7cc0d5d2d04003c285df7cd872adc0cdd26d0248c03f0642d62af53f23c4399e7e5ac3ffcde38da782f64ab265e5879a7f60";
+  sha512.doc = "0298b7f4a408f2092bb7ecd8d5b0cee745f442bdcc2bae463d922ae4511d5b0fd79b8f78d1de49f77b4fb158937fcb752d919239efc25829228c1f75185454ae";
+  sha512.source = "ce8a2d5300a2a3555cef789064047d49810f1f7d9d00429eea8122cde3e4cf75b41d5cec901a3d6cb3596e83bfb43e8ccb2558c64ac3d0574970e9980ceceacf";
   hasRunfiles = true;
   version = "1.01";
 };
 "dosepsbin" = {
-  sha512.run = "3e2e34c9d9486dd026967fc5e5cfc8a9f5816c46ec1b32cac1a64ff27433820c4c1257d04f7048dbea92d74120b07e8769e3a5dd1c9f9bb5c24d583febd33e5b";
-  sha512.doc = "f58c55f224ada686e2c40b00eeef38720bc2cb51dea8bf434471d466dfbec4323f3a5cf9b617de345e7dcb49a9df93e6cb0fe96ed920d27609b72f2890b37ff1";
-  sha512.source = "648b113da74369c09fb0f83cfe1fb3fc007286f6c61aa4ab214d6f070f7b8b2c7daac37b4d2f767cb146782185905e9f7472908d318abbcc0af4d4f00e079761";
+  sha512.run = "7f31d47d60b0bf151cd6e6516e29a8414c6344657c133e726e6e8dfe23818995b10b9a2898b1801c4bcb9219969a8af1d2725b75df514ffb119730b3e49008f1";
+  sha512.doc = "b9edce9984698db8e50f9183f89b025cfa89dca8a8725054af80f379c88ff1d2b02cef8f3d5f37ee5b8585a59d1a4d0f0ee0e541a7784f3f3f4e382d78e6a47e";
+  sha512.source = "d5739533a9d10e584ed7de4ec033b4a31be5681fd06fd9a2268f924d4434df902fc1f346ac2636f4ba7b7dcc6b5804a80b5431f7055fe8eccfeeea09915ad2e7";
   hasRunfiles = true;
   version = "1.2";
 };
 "dot2texi" = {
   stripPrefix = 0;
-  sha512.run = "3be610219f98ff0a998064c288f30ef9178386eae37405cee06c8c3dfe1d3672c9b329b7a674ecdb1ed5da0bfc44240bf1ed0405d5cc4c31b88bdcd5c4730ddf";
-  sha512.doc = "39d7d3b38cc711b3a2a3c4e6f7f98e0f147e7ba3b908b3cfb715ac892e9518f05c248b83e3b8e4537cd8e20bb2f54c2f82d055499e6f0f5e0e0ee9fce0eb2e3b";
+  sha512.run = "20cc54f907b00e2eb14e4641d5098dd4886ce8d4627f391421bc5e819614dec97e0ec42c92794bacb8ffcb03737cb8736c308fad6984abf13c127f6d1174ee0f";
+  sha512.doc = "9e8461946582e0c99ee35437522e25769e2afe5d7051f072937a57c5d4e1a0c8e144509c751f9ddb7ef576f43ca408ffca663f81c8b5e69fb176a4233ff45ea3";
   hasRunfiles = true;
   version = "3.0";
 };
 "dotarrow" = {
   stripPrefix = 0;
-  sha512.run = "4107c16284334e2a772aa5186d11e37a0a35acb10a19369de5fb23c6f927c6ae1307821c33ba07688d0e9310fb83660d2c1f615c929d48e7fb89934f26a0ea77";
-  sha512.doc = "68a02a03f1cb35b5e9f309cd6ceffe54508473567bb331f4d582db1bbb376b0cc2500972ee80c51578552628b2b94dbbfaa1f2decde55d0f2edf440d6b3f36a0";
-  sha512.source = "a36b152c86a2c17c12e4d967773915393e2681cf5191e70fae1f749fbf2412cc3543eb5af0113548fe300fd1409ecf8fdfb06ac5aaa2dfe13109e68d2fbc872f";
+  sha512.run = "43ff7e4e163764e703673312a1213c50f0a77da98f3f36b726e87042d082f3d2433e35156e1c963d1c6287aa4cea5ccc64f140f89b82569b0552f406b29813c9";
+  sha512.doc = "7b5a4d0b2b31f55e657eed5b7cc0185a8895df77895bbe40f27c4d29d1086c9fef1779f7c4c726faae25821972fac418c379e9e68ad4cd059b1c6f5b0420e9fc";
+  sha512.source = "3d756e93ba60153727d1719f3eb77d278ecae65c08f18529a6352707b655bf39f01152f13b60490ce21ba358e2021681a64de8e9fa6f46f9f4bae5b3a754f1a9";
   hasRunfiles = true;
   version = "0.01a";
 };
+"dotlessi" = {
+  stripPrefix = 0;
+  sha512.run = "348be296d710fe22d8122b45437d91027913b90ef36fa7aa365ad49dbdea566506c80072623ccc95170227e77ee2fc2fb3f711772afe4e7e7b83195eb3110b61";
+  sha512.doc = "c77fed1f0b8ddbd6ed141fe8c9f914cbd5592820ffe3e457ecf35952817149d1315598f449dfe0e15e0e50328e45b408d3f1ef91fe83154f5374bcc62041ba77";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "dotseqn" = {
   stripPrefix = 0;
-  sha512.run = "b262a2156153ae851b2f6db0ef957c2c44bcdd42091b92ffba7c983683e72366809e0048f1fc71d937be50987ae8797f99402b73cb6f01703260299beb45e8ff";
-  sha512.doc = "3bf91364b4df0d7a798d7acbbec6fa538208b3aad03e5067ec78a0564b25b1dc782fa8cee4e54756a07a645d2176af2ed170881164961bdedef39a7acc09f424";
-  sha512.source = "c6ce0d906752e3451d2fd398ea068812aba83c469e0bc61bda995442539b368b2de95b108b0957a10f5eed6810d40b868e72e73c6fa7bc34ec4fe3ff8c042da2";
+  sha512.run = "794be5110d50ff9134471aedec8adaf7267f112012d962ee6e1cd7ddaa36cc37d993517cf4663686c90df891fe2e912d260cc9c9945aaee25925c2915afcc45f";
+  sha512.doc = "aeb026d83497b78725d623b52223877d4d5a0a745312511f007d69395b87ba5362904cfa26bb24f2f2c7d0e0ae14bb82699d6108533260d736c0e85bc29ceff2";
+  sha512.source = "7cd2a4a2001a38e999e0632222116f32b559d8f004c9e378493d84486028e5c1cd5268f63a0eb93f9d1402b2c2e11b2db2429547f300809cca3d9f39efd6b17e";
   hasRunfiles = true;
   version = "1.1";
 };
 "dottex" = {
   stripPrefix = 0;
-  sha512.run = "6e6481c1697a285625bcbf744463608264372c73cb499566fc64c37977f9658888cc8cb966a31eb29e3f047813797b804b3b8263e574ead8887b2ca567474bd5";
-  sha512.doc = "fe0f97117179666470409164717cd1db5039e89c1bf49f872dab44ed86b127816c100cefa1824b17fed5ea3a4a9eef8a91873967fc063f3d954815c9a0cfae36";
-  sha512.source = "7d1ad61ffb64825d6728676fab31dfc5c25d2112e4f34e50d5524208c0d79f4bc1bb69ac32e3a2c5da7b339d972aebab1885fb7f4bbf09bf4c2ad9f8f9a3870d";
+  sha512.run = "037586577425d8a38a2170bc4bb9a7fa28a7886ad852d1c85483f7c3b625321c41a204b613479382ff5fb9e8cc3f8f9d8ff6e0a07c14b71ce6fdc68280515e33";
+  sha512.doc = "3708e08c630e27d744c3a865cc02e91868a32b1648b4d390cea0f20ea6340c56ea1720348f6b82796df6cc3f4d5b7feaf59ffe7e24c32e34535a4e5763318df6";
+  sha512.source = "adf26c722ad1e2fa26d10488125267516923db87c1185068a33a082c6f51bf5ec644ace69aefa0630eab9a604bfc28032cb5d10db15ef0c80ab28fc93839a13b";
   hasRunfiles = true;
   version = "0.6";
 };
 "doublestroke" = {
   stripPrefix = 0;
-  sha512.run = "4c00a764e11441079dcfa369f468f490e817a4e973021076ae39ffe6eba54c3a83453199b1c3400afe536ad32348bf10572983bc2b82405fcfae5db9f583a4ea";
-  sha512.doc = "5b9a56f557cac79930888f9673e7af694500672ba8e6811f23f3cf7770555fb6d7551e7160d736f630ed5c561a31376426b60751d59f0493afa01c3a8841bd93";
+  sha512.run = "ff1be47939d9a2e8ec4fe8e6852d9fa31c2776511de158611ef8b853ac73291d1aa4ffe81985bed60c75a16e3cfc963a3a8ce3fb9494dcf6664cd6d92a549e73";
+  sha512.doc = "2cf0cc8936393be2b01ed06158b250a43514098aeec4007bf493bd9232fda911f4a59f45716fba5837e475bdc39a86cf6e1180d4220e6aef26ff9e0315389200";
   hasRunfiles = true;
   version = "1.111";
 };
 "dowith" = {
   stripPrefix = 0;
-  sha512.run = "85b160e3f2468602296284763103087f40c69268ab6a6fe64ad33174155b61c1da41b87e9818b1eb11e9abe98293a18b9578aede00985b37c7f46f1f9347bb91";
-  sha512.doc = "fe091342c22b2764778ef72d804e9d974ba22f3b5e1366c8c785b0ea83aceafcd297e7f71eeccf614f397187c4a2791eaf7e0f6ae475669bad4620944c6b42ee";
-  sha512.source = "c1552c6c55e6396f2dd4344b10a72886e4d62c0b705c5e339e438429d97d9bace5c5f349dfd56b770ab3ab84294444986e027941f4a3bb47b91755890089d4f3";
+  sha512.run = "7c9bc25d94364ea13326ebc010d15c92b27ffad08b68fa5c3b5034e6bbd6a96370d159727270adf76e6edca15d08de86c13ca7ede009a445b500ac22b151c05c";
+  sha512.doc = "2fb2234cdf6b42bd3f9f991b3d2d76473c45c51ffb67e7c12e7976310e0fa562cb8d1f01b347e9b8140c854e1ede865cfed17f5748ded909dc8d983d4f246961";
+  sha512.source = "44d331b8f99533a6bb3b150748245787f686a807b22dcea3dd9bef311000881fcf0870d19d6718574d56adae79451ef05aca1bddf1904a76d50dd4e74529fd47";
   hasRunfiles = true;
   version = "r0.32";
 };
 "download" = {
   stripPrefix = 0;
-  sha512.run = "298dd897f57b622e86e235852ed4a90f4ed6922c42007e9b4a98b26427d5829bcedfd0bc6eb639a2b1333f86dba3f3954fe8ffb07dc6ee7fec1147ab6377c180";
-  sha512.doc = "fcaf4621cf5b1f319da5294c700f4cf50ea8a8f89e571cba4c8b2c7bfcd59c21c53715abc16d1c4804065475a8ce321fc72f77d858fbeb28b8c53bef0555a54f";
-  sha512.source = "2d2b76c11660cb2e520edbe5dd137ff47486fc621b9d05f0d5bd1a0b4834d53159a64d760f3ad0aafa4208a6826c5536ee39288b2c45d0b551a2eb251d08f66b";
+  sha512.run = "051fdf31160c95e88c8ed1214311b0ec8eda80b7128752c27a203c7e7dc5cee6d275dc4ed93f06308b71d199d9216b18600a2b6b219f852fc256eb2486c2bfd2";
+  sha512.doc = "388fbef93df8f76de34e7968b8a1925f294b87972e2e26cb1ae92145b252b5a88fc06254453a6bc15eab14a4532e1a18e3b719ea243142c09239e3521ff8f7d7";
+  sha512.source = "6090434f8a33e1ac95363082c0536a9990ea6c4936adbe151c1f8e5ad20e7ad9635ee656c9c29af9360b5d8bd427f78d26c9527c4a84dfefec7dd73a007e9839";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "dox" = {
   stripPrefix = 0;
-  sha512.run = "f3fbb2949b44094295814e62d660573577d2e267e02cbcc6f49e108e7cf8bab44dcf9d847b1157f5bdc0fa4a3d888f437be8e64869e92910e4e539d5d8fb377b";
-  sha512.doc = "739857f7bc6cf298dfeb7bd2a6fd67598e6651e232043c09224ef52cce53372f329929922bfb1638e20c754ff95481448964ae77a67bcb2722658099141bcf1a";
-  sha512.source = "bdf0796bd982a7f9797798251d831f93d33370ac2525b7ee513bb549ca641a81eff13bac0e076314b3be0b95946e57743d9024c1c2cb145c9f09ab672ba6d8c5";
+  sha512.run = "dc37733e7253d457b2fe09b72b808c5198f222dcde12e0d36ae546a8ad0537419fe7f27945625bb3cd3efd2b5b63991e89dede1199e89c67fe7d6917370cab67";
+  sha512.doc = "4474e38d3dd35dd14b281f7d2e5ad1d6104d95579901a50b3575e846532c279111c81f813b78c4d16ca6c78ac627a30e51515ee7b178602b7338c1c799c62609";
+  sha512.source = "08cbe72a2af77f3cd34a78d0743ede6f0017e7edc275e56c66defd51b1550990cf00d9327ee9cca5c44b7c73870ead063346754c4dc1f1aafc00614a5d5c0707";
   hasRunfiles = true;
   version = "2.4";
 };
 "dozenal" = {
   stripPrefix = 0;
-  sha512.run = "8875f5caa49673be6441cdeb4c35bd5b7614bf8cef76f3afebd9e4be817605c6a3795947ff453709fefc8bde8d6d5f1bbb7598b22fce7a12f448dfba2284d68f";
-  sha512.doc = "f31be9e8c280e8c518735abf46908e1347d07cc815d42a6156040ff014384a6df77c918f33ebfb81be0b9a8454d34975331ca0781679d423b348cfecd01c1fd6";
-  sha512.source = "3d4ca7130425990747a61184ffc431d8a88115cda2489d53816bebe209c8f1cb83b1abf49d0e8bbd33b43a5a0e41038960d176c8a999c7bd021e7a5c10bf256b";
+  sha512.run = "ca4171da87126231a791f432a6015cc069f0eb0d540f8b79b3b5028f3f3e30d9202622886b582f2e351049603d0323a458fbce3d6b2565af5391a4aa94b734c0";
+  sha512.doc = "e7c180bed185135cfba31acbf4488ff0991066be7456a7c54625df458a24819ef8b41bc19eec955967f22fc156ad6efc9e194489178e2cffb806bf066ea42520";
+  sha512.source = "4e8c3cc35fc2d429fa286fc68eb92d2d290bbbbeabcb714d849f9132ff71bf99edfc5b08a0ae596f98e900e1b49d658af2b2b9daf1fbacf57e2b3aeefa15f6ad";
   hasRunfiles = true;
   version = "7.2";
 };
 "dpfloat" = {
   stripPrefix = 0;
-  sha512.run = "142e9338025d4e56276dde48b016405cb32c3837494b334bb749a4f185c5e796ae20cf39c45d75c2be421a3aba25ff09a1238edcd479c13f412acca7b360e214";
-  sha512.doc = "a4f935b6bce0c2cd4ee194bea1b29de4652f2ca0537543cd7e1ff5e89af7f1677f1e118d66e84fdcc56601a8a3d94cba3cd1ca559cdb8d04d1e2e36196446ce8";
+  sha512.run = "df136498f7ba41b1335ac109667d07dd9584e6682e1d75fc82a80839bf0f6d7a4de1f5750aa738eefb96d14d2adea20a3ec9fbc92130481d9bce0abb6c6f175e";
+  sha512.doc = "2cbdb8711556580d14a01b9daf03b1a1095387c077413b2815bfaef1af2781fc8bc56fa7a6a36abee60d6ce6928f920c9d9c3deecc2e071e8e99d51c1421508c";
   hasRunfiles = true;
 };
 "dprogress" = {
   stripPrefix = 0;
-  sha512.run = "eefa24b1eb960f8b5b092f6c2e2024a4b7959a521cc2eb450e51b551a311827d7e6c1c2686781bb4908f807af2dccf7715e5acd3b396ef14a7ee1608cbd4000c";
-  sha512.doc = "3f823b848309f6ec55cce98272508bcd3a180a8ce2f4f317512cc5a24d2e3ad6fc334e653f7ccb8dc53560ba70d5ac09fd567644f7239f5f6a47bc6fe8b74062";
-  sha512.source = "e872af270ea3a7982a8b8c859f6266f7dd484fdbbbcc80dc7873b8492c4d86ed73c4c9e9bf163366f13a0ea0eaf94bb1611cc1b2ba30d8bbaa1fffadc14141cc";
+  sha512.run = "4f56a2d6e345cb98eba3ffddfa977bd48661d90bd10712387141b3398c9a85e8b9d7b0f33e75635b7a98e91176f1e866ecf0b14ef0197fc488bf976dd4889673";
+  sha512.doc = "455451396b22b3d38288a5c51f6c2413c56ffd07ac1331c3727c4f382eaa07f0a128373ba033ae58e53411e69a4ec0eca67609fc3c111c91f24f2adb2536a2e1";
+  sha512.source = "de6166c9c79f62c0f3eb973b6383f2bb486a8f7673628862d54af8e00a5ddcdf78419ea819c95e750f47fa3e65cd58b598e3a3510d43ec3d4d3fa9538a846a79";
   hasRunfiles = true;
   version = "0.1";
 };
 "drac" = {
   stripPrefix = 0;
-  sha512.run = "b236d2793b5e6735c092ec9e21107d1160ead9d3bb9b120c9b131abed9a32c4a76946c70fc742a5ca3ba82b507ef18b6d1db66a2035ae8016c7b352fc93743c5";
-  sha512.doc = "41fbcff3edf5d03a15c9fe9d177d82dadf64cea020196faea40368825a90f0ac0e5e35de193ceb6975827c46c136a5051a2df77b139eaafe54e6697b5065184a";
-  sha512.source = "da1dddad4d392590a3c32d2ae98f4d996219057153d04b473bfb15d3358c1ce8f0e81807c7cbdfc05229e848f67ffdb473b039a7cdb86ca9d92ea11b2de554ae";
+  sha512.run = "f45c94e222a6bcae0d87ab5aebf0f594f1674a49787391dfb9cce32f9b36a0aa6a81e84ea4ca345e0918ff2166e36738ae9969e4d9e4653bbb99ac6a7f0cc63f";
+  sha512.doc = "7e6debf9580d7c145d8f95329aeadd63012bcfe3ac04fb9c4a3e815391757051ce021e4e2659c96fd7ff5066e3e324ac947cfaca16e52bf5895fd5724f81f552";
+  sha512.source = "a56b3648bc75174179ac74eda67d84226985d18863270cdf6b6c1688ff1405389ad27f20abdc6a41f68520e1d95890fe021d1896d00a5c44a6a4ec2b9c380944";
   hasRunfiles = true;
   version = "1";
 };
 "draftcopy" = {
   stripPrefix = 0;
-  sha512.run = "4652ee26259e986678f4c5283b44cd51d50c5359f29025fda360f47dc0f3fcf9d65069017b7840902f87def352c1e8c0f8a3d97dab5357c52c149ddca47fa3c6";
-  sha512.doc = "bc58e287cbfadb9cfffe112ee57fb72b34de934b5bd84e30b6d104fe052d97d153252db06b35e8d8f025e3cca215ae1adb41f21fea4fe961085ac85adf732cf4";
-  sha512.source = "7d35a60f25fc5fa8712c5c7f3ee6303715b6b6a8a91fc7da28beb87d9c6d3cb4758bbbeeeac487b5c8c43ef0f49081154106210c368fce37aab4b49436b186a9";
+  sha512.run = "f1f2ac803e1858ffab880c7427ed2dfeaeb435255e83ed795e0d5b4262fce1fbf7593653035af2e45d4731107c8f886938015ee1a7fd0018001c0e39e9f1018d";
+  sha512.doc = "f7a4941c26c92223a9dde51e288380efe3b701d847051c13345e97f5a082cb3cd9e5d5421dfb2b1f1cdc12214df1ce6970a8ca6fe7463faad73af1a12c3542e7";
+  sha512.source = "9320e076a200fa5d7fa297c7d3228ce77ad9a9a56f57e4ef250a21320e9f2e429004ab716747499a264108ece97ae03388df084c24e2a370f57ee22b80628cba";
   hasRunfiles = true;
   version = "2.16";
 };
 "draftfigure" = {
   stripPrefix = 0;
-  sha512.run = "6c7ee9270f74538d4a1383334b783d109b1b70ded0ab8e445fad905cf9f5ea225941a83ee21c924aceaee5b3071762dc22f9fdee60d9f9881c2e7c4d2578cdd5";
-  sha512.doc = "2636faab9f499f3a4d52b458cfe58cb3a8c8289d788dafc9d13247274988cbd0378e50dbc7fe4ab8dd578bfc84dc09b54fa373a7e8a83ea450eb23d5a6bb2589";
+  sha512.run = "e8ced947e69803243543657185e8fb28e67776dc9eee5e095126ec712fa368c32903f53243aaabb7308c895cf8e0c10a6d89c33e6b6c5d109f0300dab5213e60";
+  sha512.doc = "f0a9a59ee326746802fb33412c44148ed8c836a24653df6685ecb69bc76870cae63ac8955274705639e658491566da0d0633ee8d57cf57d58fe43a971252ee05";
   hasRunfiles = true;
   version = "0.2";
 };
 "draftwatermark" = {
   stripPrefix = 0;
-  sha512.run = "d44be3091742fc281f02d0576ed4281e89674e30ec44c2106fc18f552671f2ae6cbb6fe327ce7e9ceeff9b8612ed2cebe8920676ac4bfb0e58773df8ead69b0c";
-  sha512.doc = "b4e8e2d0580b6e85fa939e21e8de399235c3f131874c59b46404bf0d235fb9be29a12ca84a0335f345a21f4dad89ba82beb4dcd0165bfe598cd6138ded845ba7";
-  sha512.source = "4f23c5304491c9fc35a8e5cc1dc10175d69bf0e8351492bea96615c67e43ad2e515d083e5be1a1928554545910502281310c4e13922ab9e664f9463402b7594e";
+  sha512.run = "10cc5a9f6ba21ce87022e0f45d4f4cb92c4aaf8e1a4edfb5e78d24f8cfa1d283745db0d04f32ba2943963677bb3fa934a1f410e9148baceeec23b70436682a1e";
+  sha512.doc = "5d7d9d4dbb18f452e917f91a5e67f46bae4f0ac2b8088279832e32d9e7a7fca1230a666ea1031c258ea3882e7a00d3a071864a20a75b523bbbfb12e7a3da0a4f";
+  sha512.source = "01de29c18e5ca16c0cadfb171c938fc444feb7e3dc558f9283cf4f9260a94c02b6ddb007eed1a296d60c9aceac3cf370ee2e9c3fb63f6c16b25397b837fe4993";
   hasRunfiles = true;
   version = "1.2";
 };
 "dramatist" = {
   stripPrefix = 0;
-  sha512.run = "ed01c63c38ed96e407e2fb83ab82792149b676aa6ccebb08929585af91278042f65807b1bc5073e4c3ad81354e1724ec2dafc814bcb6683f6289748ead812a22";
-  sha512.doc = "9c110d01a61eea52106a48b1bbbab97dab0a658c0528059366b9ac95a4bda149afb1f887a708ea25df19b273023e018a753751bb597126a9e8d2bbf07cce681e";
-  sha512.source = "a3a1185a11b54de68f23274177d3712b4fae09f9ba04884e006de9337e21bb2ee891f159cb31a3e14c0fdcd54cc5006d35e615dd502d50811368e4b77e36f33b";
+  sha512.run = "d61da72538a7d83ee902081aefc23f3addf2fd6e5fa7ebb207fdac16546d13602c50419682e842df8f36a899c2c0aba0aaf615bf64202135dd9f470f5391838d";
+  sha512.doc = "fc28e1dc8614d836637350a20478a0e8a03121909cb42bfd1cf4caf8e7adc01a4ac3eba08e82c389c41a567cd00f191ecd8938ac40a0a226e2fbdac047ecb733";
+  sha512.source = "a364353dbbb9540a9f43c26fbfe6be8f814452a23e9f25c5a4c4f45a65534e0696dee993bddea4eb20eed284b892d258f6947fb0f96af63a0516f9f0fae01651";
   hasRunfiles = true;
   version = "1.2e";
 };
 "dratex" = {
   stripPrefix = 0;
-  sha512.run = "8f91158bd74e369a005991824c6b9a12e64d9936887d0ecef19b2e822a7e7cf8068425ec629e04f4d59d2eb49167b6bcdb252b853eeb2dd2ff6b7426c76cf917";
-  sha512.doc = "a628ef6aaf1e0157e33ae1e44cc72c033c827cbc1fd3e38641218a82c873798e3941368c69e9f8eac6b02ad2f37fbf46daed9abdc0c4a3a26b8c3113ba7c3c55";
+  sha512.run = "1a18f8866d1cffb0ac3c277bf27e1585c7596eab60ed51756077abe3154b6d67ea95205f60b5a244e9acabb05e8dc95a792d48f0a2fc492f90d224f85895fdd8";
+  sha512.doc = "0ff34bd23dd8718f4f8b0dc3e84068ca2b38a9758849d98230f1a8d4561705d6db7be3b0fcb34621054993f27df7a9215267b3ebbd7fb3d77b8cd9cfefa0ad60";
   hasRunfiles = true;
 };
 "drawmatrix" = {
   stripPrefix = 0;
-  sha512.run = "d41aa3814fcffafbf32998dfda97c9e2d3a9b9f1cc10724e324272eda84f9668168c8a3fa107cb82dc9252a6dfd998a811d4bc566dcf669e07c0781bbe0e0c5a";
-  sha512.doc = "912dfe71b61f68f9817ce0634f3db0a1b5e3172e44c1b2b90bff5048d5b79ac508deaf0d4340e587959a2ac23b336b03cd6b15e73ab09c2fc6cb3970a9c2fa45";
-  sha512.source = "f05391907206fcf32ba1e66655e826da263fe5dab324d72e57c21dbce11899da39c3ce343abbb9abf51c3d5d8a8b0a685b31ab1c9d6e7085693f91dc866368a6";
+  sha512.run = "6be4d4ee6970956dd2f3b31d31ca0cfbad268e2f98ae64fd87a49de9ab26765447531121aa0edc157779f3f9c0dd76ab2ec3f747912f4204aab9e2e7181368f6";
+  sha512.doc = "07eec69024d4daff597f2a937178f66413e6dc4974a2044f983e809b046f09140db7eaf3cfd68833bd95be0d56b4a564dfc9ad4d771fa124f55ea3783eafca1b";
+  sha512.source = "8125f7c3b0867df9d8f21e45d89a03e6ff0f946d946646c26b0ca825a30c62051264f45e5c2da5bbd45b35afbc2f7f7120e9ea3d2d289f6a228385860d25f523";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "drawstack" = {
   stripPrefix = 0;
-  sha512.run = "04ea6d1bf741cbc56ea067b7b36ddbc3877340be19694a57e5bf1580c102a942b40150d8ec8fa411fbc1267bb136e24e32f23d6a6695de2ea99806791f78a006";
-  sha512.doc = "b0752028a10937096a62357b86debc7a81eb7659ee514ab64db8ac61189025031882973a036b54f6828168d0318cb695d46b0f5ecfe2975922b4eba70a78adbb";
+  sha512.run = "383eab0b77675ae418a775a413c37720d6f74d51d1a31bdb2923b45ced53afa576f10304e372171298ddbd566a8418526d291f74a1871eaba36ea3793d7d0173";
+  sha512.doc = "d435447ec29bc26262886b3dc4c41cefae81d24e0704857a9ea61f1fc08ff8e4bfb4ead7686a9f49808dff30da47fc5638e2c0dbea4c6a551800a373f68df0e6";
   hasRunfiles = true;
 };
 "drm" = {
   stripPrefix = 0;
-  sha512.run = "6ef9b2f809f38df44c96874f8d72755051f7438c2a6b78e63151a89b7e18c5f2544ab1c45e214b8ffc21ac223d6700e00d7345b75b6f77137bc6c471545871f1";
-  sha512.doc = "6d793ea685d7706b4800fe699d3ee16f565c1266369edf6c38ac0096a2c4b4224406c22afd3c3047d5a0aa3699b71b79698e7dab3c58d7b3003b30f6a9114a34";
-  sha512.source = "85b16df5ef5c7f80b72fab276f904f45426297b40eac54dc6a76a9b2aca11552744a366b2e1bbcd35b415b114a97a69dcb5391c25dd98f01d905b68dfbe95ed1";
+  sha512.run = "662a2593713dc02debd4702b5184586736f12200aba4079154e6890b49d581810e1a7a94f0d3b6750ecd241dc03cd5a638a3ea5bd4792f13829e7812f5620b36";
+  sha512.doc = "7821503ea6548fa200221d2c2234389a252ddc61498d66389f0afd13b6c36536b744f060f42bf26c4e2be722a7cbca8841b1b76510391da4960dcfbfb9956177";
+  sha512.source = "a505f89568d63bc36799a3802fdd4e5a4903a10226b565c58b1b6d0900f0efeb699838ef17f84d9720558c7e1959e33d97c387b371862366726c6b99e30e838c";
   hasRunfiles = true;
   version = "4.4";
 };
 "droid" = {
   stripPrefix = 0;
-  sha512.run = "0fea92248c58c9e240c12aab63bb7ad18ece51d07a05ce2b5ca47b11d2d2e60ff2710feceb949beea10c5bc0dde6554846f4dee74769ec2421b3b8dd4fca53ff";
-  sha512.doc = "b31a0ce794df8a20ff3a038b308c20edf660924ca9de6dbc09919264972b0e41db7be5207da49b0ba84b84d8f70312970385b8c26675e8483b48441ca850fe55";
-  sha512.source = "6a9567af182d91faa7e2289bb4ad3bfe23b61ef3cc6b2f9ff51d072f459bbe87e84d7ec45cfebed4edee9d3099d7f3391b785707f189e01a8491f2159e0ae563";
+  sha512.run = "e2fa1b84bde04858b16b39a559478005a6585d71ddc9879d6e54130970a1f0f6e45e584f9635f457af8143093872541dda0ad98fd647ef2af309b0d0badc813f";
+  sha512.doc = "82613922360967cced68b24fd997b06ee8a082512f6567c4ae17f0046972eca84ec1e154d78ba196eecd0aeff8e9b7adae12f3b7efd780e1eb1e161f8b18ebe7";
   hasRunfiles = true;
-  version = "2.1";
+  version = "3.2";
 };
 "droit-fr" = {
   stripPrefix = 0;
-  sha512.run = "bb5ea7648ce6346d2127c344614fb39e1f8c2558eacaa5b0a3999475b0f9dc5d1afc0a76bf8e101898ba2a14bd070ce82ce24120710405a6a2c13cd97acad2eb";
-  sha512.doc = "e53efe18973efd69dd472946d149bba18914aa4144b747338d501bd7c7b45d92a6505d2f1da4d7ddadc47d5966f518206e955ca0951debc6496f7ad44ba34038";
+  sha512.run = "76c928be0648ae7bddc76f654b65a99ae6670cb17b0ae9a54596599ff655636d4520b31d4e802a15af65637c5bf956d41a2095762a3c4bb77052c9f74da5e7af";
+  sha512.doc = "6129658aad2fae20dd12252941ee774393e262d9322ec2163ebc964ec27c4ffb63f2ce0faf9b74a90717c137065e9af238d45c623cc58d52b1e4776da221e231";
   hasRunfiles = true;
   version = "1.2";
 };
 "drs" = {
   stripPrefix = 0;
-  sha512.run = "b947b71d99fe38b1aaf6575af716597413d028849584c22853a1aad3d8738910243defc6c9563609515019d6c5ffd4022754bb88781c7399535ff196d9b20f45";
-  sha512.doc = "58827b5c2cb557c2b14f11a5babbabd89b535ce59420f5b7f9c23433f92517f1cc9a3af10e2d5071bc3733e7e09819dca1d50cfd799b960f6a192e8e1a4af0be";
+  sha512.run = "5054b389c79b6895e648d3d4fcd1a3f7b06b213963245702e5bc4c0e8b6e3a87c6a2d3f72509998216e25553148008e597c6dd3015ef0b94724e84f3fade5936";
+  sha512.doc = "c265c462094e50872fc2748167226319a5723aabe54ca057661b95c7cff897afd08f42ce6d520b7ab35f259b760800e79ac6deae0f1ca0c776c2c2aa7839cf80";
   hasRunfiles = true;
   version = "1.1b";
 };
 "drv" = {
   stripPrefix = 0;
-  sha512.run = "682f33123c0e1e3bdf35bbe02ddea5c2dcdad9ff90009079f6ae8e876f0a7acae1b409c1045b921d312d4976c5f004168a3ed108ba65c49d687ac2022d4afe35";
-  sha512.doc = "927529113f567e10618d3397237f2cc31b70e051b7b1e4b06b6fa1d5ca4ee4c1bd86844989e31b4a8f8bae2c5350afc8c320ee517c2f249d551ed5741fb2dd9c";
+  sha512.run = "b7f2b56f305d552bd857a5950fad2dadbf800857d4c8ee411fd2f5786697385404fce3956e59b5928ed5f0a688117dd740c0f56806674d08cd8cb1d52b79a9d8";
+  sha512.doc = "a79d9883615568bd6c0d5aac44cc2ce28e0bd08e96f802d500515428ffb5400beadea94347abab7752904ae01342049b8d6687f6047aa9d8b27f5fe3a647bd02";
   hasRunfiles = true;
   version = "0.97";
 };
 "dsptricks" = {
   stripPrefix = 0;
-  sha512.run = "7059577b4aed0eab5f2f82610911fc97001e01497717b0141d4e95b263ba825bfaa481829cd00dadc8eee278090ebeded09fb92e8502a7bb250330c6f22539cb";
-  sha512.doc = "da2eca39d66788da6dd13660d2c41927bfb12a9de5a2342633488a099f2aa5e17c9bc2d211b0334e3c5f7ef5f3cfa8aee4ca9b8b166e5138ff5c952d92d2acba";
+  sha512.run = "282c1c1aa51c70a77b0b63190ee875668dab9fc2303e2a84ff0d79a7c9f78a2534e4752a32c093e72eda7e98aea220923f9d1703b5c94214f9590962187de194";
+  sha512.doc = "c45da3740ed14540cada0c75a98c19f5e3cd2b32811a4f1906e11c45a40e0e8d31bd706ff4afb18073690e4e285b7b44b858f53f33f050702526dbe0fc88f8b8";
   hasRunfiles = true;
   version = "1.0";
 };
 "dsserif" = {
   stripPrefix = 0;
-  sha512.run = "4ce60b62a45aab9f64399ae3f6ea3f25b1c68c399c63a2c75afe5179c0cbc100cbb5dfbd68b247b758df1d1f5f4c2cc17cb6f2924e24ebcaca28bca9b68d7f53";
-  sha512.doc = "4dc47b830a1f2092918c08ab39c5157146c1ca514b6c042734e03c9786137cbd2ef6a1149e75fbbf139f457c170e70bd3da484680f38ef261d6d4eedfaed0b42";
-  sha512.source = "258be72d2eb7c5ea8a07ba79aedf87f765a6555f6de540b0f40d731d4761f29c3a1795c3561ed0c8dab4b9458cf785499988be4799b0ec42b9eae2d7cbd16b6e";
+  sha512.run = "346d9192803712c47d8905920b6c86244759635e7929e1a2c049a558a7e50eb36dc6574dae59f17bda21e6c95d1a661c9857514eb7f5f60d008f293beb758da8";
+  sha512.doc = "87e5ede487017ac47d7502d5983d5d158deb4d709f033ca34855f01f4b93fe7e3001c6287277f4f830b79c2ff1cf41caacccf2942769f8b2b848524ba4fa6696";
+  sha512.source = "31ad24b5b7667c1763dc36a475ce13b70bdc38c239a5c38a09acc3d4e66c95b1abf82d60ca240e7bf121f9dc93b17a17f420ab863a8f2052ed363c5adc46ec22";
   hasRunfiles = true;
   version = "1.00";
 };
 "dtk" = {
   stripPrefix = 0;
-  sha512.run = "b0a4c2c5c796d3e9d8493a6ae857e7278095d841d179a300f39d09a7a413f0baffe24e61a1fc76828e9159bbed64f7295c560a6ee93f48aaadea45548c59907b";
-  sha512.doc = "f1d268a54d1911cb94921af8c865f2aed259ed2d9d096a91ce19c0a86deddd409c44df77198a56f18ae09a06d5712f9f1c624015843d31a2a44aaa87ded391b3";
+  sha512.run = "12ecc654b0bdd73c96297e7f05a2f9d031bad727b6fe83fb247cda5a1c496bd8a63e2f4927fe4f4fa9755237c7c0f85a81326732f95c7daafba7cb7eb03b265e";
+  sha512.doc = "5ada9e107e6de2efa8614075492d405aa560d2d2a0eabcbe41976f03d28064c152ec3f66ca22d6d81dcbed13eaf383c53a60c68e7b72731cd39f6e613cf0f14f";
   hasRunfiles = true;
-  version = "2.07a";
+  version = "2.08c";
 };
 "dtl" = {
-  sha512.run = "eb6f1dcc4d681b995f8ca3a4141b988dd42001881ed0e1290b6c188b5d5952a5d54901f924b4cf3f2015376c452ee2a713d253d532985322fb7eb0adeaacfeee";
-  sha512.doc = "0da315de96913bf61d0c24c34ef0f39c72ed0c1189dfad5f6d8fd1159d1c3e0fc2c91ddca1aa69798b4a0e648ec9a1d70b4cc0c7340ba273dc2e4b08aecba25a";
+  sha512.run = "796f01b568969124edc40662db5d8699a815b72d9eafea640c9499b7cd907e4cd36ab42c87ade466c51fcb18a47de3363f5c6068f4c678243c7633343705f35d";
+  sha512.doc = "b0e1d2c3728b859bc010efc5d31c50b10c7f9a045530f99278228fd4a4bae5563d58852dc995e9f4430d64512f7b0ec0c868c6f86259127bdf524c6f66bbec86";
   version = "0.6.1";
 };
 "dtxdescribe" = {
   stripPrefix = 0;
-  sha512.run = "cec7efafd5b27d98100eef18de2d1b802bb717f38326b98b9e095f92c7c4993c3ef71d9ef328eea026731632c17703fe174c8bc3ce3563c15fce715594b1f845";
-  sha512.doc = "43d7f51b77f18f556f88b6fb3ba4b1b09d77b7d6ff588dd838841b86e95ad7089d8d860c8d5eb6a86c3fe418541e0a65c605e8533eae7736dfedd7b4d258fd74";
-  sha512.source = "e95dea85d6c2fc1f9c54be37ab89a75f5a542a7d0b57d4c8577f7f36503b4c68208acf17cad197ca45cb8f49d62ee441aa7ec9d9346539829cca41d5a12110a3";
+  sha512.run = "4f226da178f26f2e3310a86e2d884aee681f87528c0d43f942f23c68b6e335eb21bef830233524d44d2945a1d287ff9542bd69744c15c722a54ba38a5af73d96";
+  sha512.doc = "45592bc0c6836d83f1db18f7852394a0288c2557aa708ccbd1407656b7939cefba07556e924fe495da36078411b81bd00702f7998332a5fd801aac0327655f47";
+  sha512.source = "9ad27a4f1fc13deb348a3bb73dfecb634ed3f0b69565f4ab06763cafdd652b4899fa4914d64c9596534cb561ac9724c86ea713939d7d6e6c7820c869acb0289d";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.02";
 };
 "dtxgallery" = {
   stripPrefix = 0;
-  sha512.run = "62328ab01d153853449e9581a30771e7fe5657fe0ad7501e7fefb34a7cddeb32839442039e6db3946c45aa82839a9573b0970e9d5b606731029d96de339b69c1";
-  sha512.doc = "57dc570a553962c5f115f362eb0f6bc1b7034b5b22986bc652c3c92332b5c89e6a0ad92b0130ddadb83168728235d4d199cc38ffa26f7a33b92174cf2d156236";
+  sha512.run = "c4b164fc1fe9230aa92bd38689ffa67391aea511af59e74b93c9379f1d027f07091f98734af837a1af90b35b0e2e5245f78f0198f4a09465a8c59c18077a2457";
+  sha512.doc = "ea56d62e0fb8b168461f8d01a08a9829ed00db4e2d6a460791de3018be21b4b446ad8ebf4a1c4a69e99a0989b85b55cbaa8aed171a53479df0501ea36cf03bdc";
   version = "1";
 };
 "dtxgen" = {
-  sha512.run = "06e62fda6d696b6ce3512957df7e5dc37072939c4b0dcd7d83b5894f1d0be1856ea69457f7e16119cd46d62b3e69d0646b96a768f1a2fe16181911480391c90c";
-  sha512.doc = "bd4557f8ca056c04aec9a9cab5e1797eb7042402b396f6772a2fb5bb961d1981ad3a79f02df827059e8e82a3ffbe11d86d51af99cf844f234f328bce47c4e0c7";
+  sha512.run = "b197684c1e941a64b606b472fb9e0f1ed4f5d0b0db2df59202712c0e3f3b3993106b8d493d707c4875e90dacd9dc7d12bba784ef7c8d04984a38708073b1b92d";
+  sha512.doc = "f666a2b5d3cb32d43a23cc3edcd92bfb727d500a8c439b4b78bae89ac73c317adac9786e4702e78b5b4861b76489ff7af5cfd115a80b96cd6298c65412d56a50";
   hasRunfiles = true;
-  version = "1.07";
+  version = "1.08";
 };
 "dtxtut" = {
   stripPrefix = 0;
-  sha512.run = "511506ec001be0b3879a9f1d464a1d453e8ae8938a1446f08f874e59a90d861cb66c8487a4718f1c57870db11c3f8c2c274d37a968cdb32a8bb90353e968cbc3";
-  sha512.doc = "65216d3924211abbdc67e6ecd109e7adc3713cefcc6ea0a229ad8b4060a4b0342098594a64cedf3483c51603531496225077b0e12e2a7f28e593422bb5f1c30a";
+  sha512.run = "cc28ede4898b583a89df3efbfed45318be9034b3c2a92bff083e79007326d4d680177f1884aa506dbc9574a924687eb463f2d69c297906fcbddaa584ef9e52bf";
+  sha512.doc = "2c8a2ec4fc38aefa720bee29f24149837f985a54cc1b9cc9325887f5b7738d89ef38d8b60acbb4b5adf0e6c13e1677003e58adaaaf50e8949c33377ca29679a7";
   version = "2.1";
 };
 "ducksay" = {
   stripPrefix = 0;
-  sha512.run = "e47d9d3aa395c8a15c679f6efbd4ff5363fb2717dd7286aacce4fca11a5e1918cc8083d3bcbb392d0717b3748496c55f01b6b0415fa7ce0b26950c3b87015ca2";
-  sha512.doc = "80354f124b50015092e2507323a6307a8341de641ecdb94e4fdfb6a9131751a84b2b528ab523a43aafe6ca9a19c0f638a0e69bd6958552688b1b65c46496e879";
-  sha512.source = "0c2a2a7a7bd863eed257ce87c13b4438fad0f749c79215de35017da325f3b2ef50b72dc30eab6ca7b66c46e4610e5f202fe4816f5940b6917748984d3cef575e";
+  sha512.run = "57deacbacac1d79bbe0f4657fb55c05eb03c93068534f2d6703cd3785f1b056289f548edd9f01f52dfb22b5c1b402e8a3809240d323bd62fddc6b69a32e27e9b";
+  sha512.doc = "f4b49ccc5c3044a00c55fe396cea8e63b04fa5ad8d24e894b15044c189d6f3abba4e4e8d3d2200ebcbd15e9e40efeb2ac1f29996fb41d82d47b83810260408c0";
+  sha512.source = "8b027a2d0f11606d4469c490c8c4825cc68f147f99d1e708689cff2627e7df0b2583ab4bb4accbb2cbb7b0b8d803c2f0a7a13dec1d67036bb25330371345d515";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4.1";
 };
 "duckuments" = {
   stripPrefix = 0;
-  sha512.run = "e820d227ce7cff2dc6533abe4a7bdb53834498167f44cfccfa49e2925070aecb2e718e428cb15969e9225d79e1d38c4f6e93000d5b863687b3c07cfa6ba30919";
-  sha512.doc = "44f7df87905cf4d6c5f15f3168ae979a361a9f13f2451789f7ffe238794ce3f3d6f25c1e59cb78aa1a7afc494627a77e156c6073bba56c1ea6a774369aa2ca89";
-  sha512.source = "c076385dd41dd2d5ae282c831b7bb2f56eb6f7986c98579734aa006e2d5e28cce4e9fcc1fa0b46e22cb9204c5ecd777086975a7d9fe62af04ab92d454e23f0ca";
+  sha512.run = "77c975ea3e42faee4db5d99d692220884b24ccce2d69a30ce484d113cd261ddf5cf5a13ee04d9e8a95572e98c8c4bedfd901db34379af6a567777f9358e4bad5";
+  sha512.doc = "0c9e24cc988b9350d188878dd8b463428133fe30c00218eed3d67917ace24412e55c396422890fc6c02030378b560b3d374970e879e3a331db7d8e34b3302421";
+  sha512.source = "528db05e9c1c0232fae271aff911f35cd55f85bfcdc931820f5a74d6f490fa3fada99c274b36fdddc6163cad6f779183b0056b1a6e003c4c2737282fed608497";
   hasRunfiles = true;
-  version = "0.4c";
+  version = "0.5";
 };
 "duerer" = {
   stripPrefix = 0;
-  sha512.run = "00ac7c30c3f1df9a34b8c43328d664a32a087ae029f0d7b8f3f361b1df23815fd514fedb5dadbf8e36cf9d6fb9708eaedfd218b86f82484bf6d45c5ec8aec993";
-  sha512.doc = "9d5851724dae2a758dcd7e5b9e7abb545e03cba2e594a4f0ed966557346872869bbc7f89de2bbf463bd572619110a9cc09af6145984fe5e4d927f584704f539a";
+  sha512.run = "15f39b70d6b595a1c4d6594a2908fc07e3597bf1bf88ba25b24ee545d473c709a15b52ad0bd367b0cb1a47ff9548a110c6dce6c2a2b2402f655c21f6dac5a393";
+  sha512.doc = "babbe18510ab7acc910639e2993858b2cf27c4414772d2a03fd2d3576f7dd64f4c7b1aa05d9a7913b4eb8d4eddc942137b41b87816631b34cf35e0120dd3ea40";
   hasRunfiles = true;
 };
 "duerer-latex" = {
   stripPrefix = 0;
-  sha512.run = "4713018b0facd8b65b6305cce762b51bdb81ebb39c62f4544c2fa83ff578713423afe154264404eb5b557b7f2fb17a7a4e14b387d0ac265786c3641bdfb7af03";
-  sha512.doc = "fcd3e0a8b66f1a28882f4925a38cd472ef8e3dff2fb569a1cb1d737e4ede8ab55e26faf542424afc5a2412e48b3fcc55316ba367305c4031b5052fd0ca8f283d";
+  sha512.run = "e474634e00b86878bc0c09ff247a930e102621d3606079d72e7c284a8ec61d2a2b36f1d09c171b7a4953981dea65df49da1962f01df272fa80354281a3209bc6";
+  sha512.doc = "d1ea1a023e9f2f1ea4e0fa045d8831f764dbef34d1ef2ec96090f7f7a49aa1f4ed2df63bb611ee354a1e816a204841fbd7f4059a14ed06d758a31ca9f460d50a";
   hasRunfiles = true;
   version = "1.1";
 };
 "duotenzor" = {
   stripPrefix = 0;
-  sha512.run = "5c02daf4d27d7c1bce3b700196ffaea9e9c84917e1466c1b5b652b0568d5dd9090523c2f5a0879577f56ff707a46746c397fe220c89335b3b869de8ffeefc18a";
-  sha512.doc = "5a000c1c4fc212c2aa78344df918684cd9bcc39a45b94fc10bdeed9a8152eeb3d92d2184ef5e26862c5ebe522ce6c1f2945f3061f4992d84a473c8374e0580b2";
+  sha512.run = "33990302586baf5731976a27a8268986db6917137219248e559900fc2e64e5ef443bfd14a0472194a962f6fa59a8ed8bb1caadd46badf157fbe39f36815eacd7";
+  sha512.doc = "83a811a37004975e4b3fca67bfed83d8fc85fe97a07a20f624d321c62efddf2ce188f1748a5cea47185675e8d5226433b48327d8d7daf87465471b89b652f2fe";
   hasRunfiles = true;
   version = "1.00";
 };
 "dutchcal" = {
   stripPrefix = 0;
-  sha512.run = "672879d41cb4048055a22e14b133d271eec90494e4ce7411e0896ccc2f26f23e277a8e773f0939b39ebfcd69eb825fdfbf6e09a3914d0e49fbebf84b9a200544";
-  sha512.doc = "c95a00395cfd1e42bc7ed3bc42dc6959678d8772a9acf70d57a831b78e8cf7cfc8ec28f92eff235a84c8ddc31a73655ac5d0da8ad900e4d6def4c74d458fec2f";
+  sha512.run = "46b90d505661424bcc96d40bae09303193baf5c681338b5b2d526e51ba59cd56fd64a81a01710fb4911727a3cc4263e731754d82a9a2c021bdf73b6ffb15f5b6";
+  sha512.doc = "adbd2c44d3b2de4149dc647d4e88e46fdb968e6c6898c4de3395d51665bb147d0abb474ab462e75da028265d0cc6935f930f4397558d057171dd56a4999dcb25";
   hasRunfiles = true;
   version = "1.0";
 };
 "dvdcoll" = {
   stripPrefix = 0;
-  sha512.run = "7fac05f7c72b7fb9117e30acf91e65196dc11b98844b496060a37aa47a78ba15ea1b7217cbcbce9e533c322cc32c147b37bfee9e8e19a07d72f91cfbff9a4908";
-  sha512.doc = "ab1616c844dd126885652b678cbb1fff7e9e21d970d8ae47b093bae0a333619134ad9354e42bc5f15d3b2231ec19dac7b3b61d80f69e74465792245fbb97b140";
+  sha512.run = "e6b553b2e13e87e105ba1c64422e5269e2f285754f12db1d43f475e0f94dbd32253620c1e71ef08de106d5a050c531e058e529264478e7f4545ed83dfffdd233";
+  sha512.doc = "59b152b1922bc79ec3a132902547e8ffebce8cc05e2933b3b54292b507d1ac1810cd0aa2c974045b9b996fd14445126e3eebe6ae3d6ec45e1fdccea9a6ca35e1";
   hasRunfiles = true;
   version = "1.1a";
 };
 "dvgloss" = {
   stripPrefix = 0;
-  sha512.run = "40d837000580b1643f67e466a084696eea32faa9239dd42dced6e23feef125bfa52cbcf7e96618e009a7480e66ef772c4630eef87f4d2a9d9caf7e2a29fd2176";
-  sha512.doc = "2cc88e199da97a9f4173088ec49b5ce8bb09e5a539962c7167a79b12542d9e82fe866c136661e18cbf4ee1f4f7995677372cbbbcf55b7fee4973ff4286ab762d";
-  sha512.source = "bea81bb46b9311cc5f39bdf9233e918680d9477c31dfce494b437fabad6c61738f87893c88a3d2304088eab7d4488d5ac12a8ffed3a454caac7038505e318f94";
+  sha512.run = "51227cd1323c6ef94f8e0c537289abd3812f39109ce178793347d6615a718109f120bf9e6a4dac1ea801effb6f2b9425c376fdcfd5db6a5409887a8b9b49dff8";
+  sha512.doc = "4e59a568e0230e5e5dab7968eb27a8bda4680ed31b23d21fe3dfc15d0e3d8b3d6599535f91a092e2f9dea69402ba8ef07291d2cadc1e1cce28aea927fbb84341";
+  sha512.source = "a4df82b4ea3e57de02e61e28cf4b9e8fa91e385534d7676fe3e287c49148849dc736003b867f1b481d56466847f9f62f020bb2e826ec81dc31be3d2b6f6a47d4";
   hasRunfiles = true;
   version = "0.1";
 };
 "dvi2tty" = {
-  sha512.run = "64d3a50cb8a84e92f6c2222e704f0d4bf43e3b2075abb24c82e66c5d4c4acfbbb753cdc83753da7306e6a452d1163dd94ed8caeb318b7ca16b302e6459f30757";
-  sha512.doc = "cd86896ea463ac9bb6d2fea927c7e50bfb81b0a7a1cb01b8324f4d95be13a393437cf649dc333fb4866637c725f7fe664372857acc2317ae751789d0d6b35608";
+  sha512.run = "41399ea5ec5d9e32cd032caf70009181bef98b28e29ffee84414914ca436a49bb59caa7e5523ae3c76cb8ede89d89ab74af79dd6ecc89cdf9f0d65605668e9c2";
+  sha512.doc = "31cd9e13e873269f27e7e40b681a56022e7c0d776179fedb3c9396bcd9743b9e2b5f3043d6d2858858593aac49e40c16bb27d676f77ded984f4b803dfd9b07eb";
   version = "6.0.0";
 };
 "dviasm" = {
-  sha512.run = "a7ee060b29b630dbb7d1237c5651e0ece1764cd1ad87da50e1cf3f59a934cc38ecc048455d307c675d3929eb1d22f32b515c8fbf6d3b66f78e279e611a22ffd0";
-  sha512.doc = "6d9a1f0485158d68c4200eba104e71ae3ee012173a21728a09a96253a97b4f380b2c674704756fa647f1b1a852d76b1c4db2be5685627cc21a3297dad5650a96";
+  sha512.run = "f8f24627f416053ed4a53008eb6f4b83a6f7114793e361956c3a968efdfe06c11c233e24e14568ccffec612d1ef63daf8f6644333f68d202b816cafee1da98b2";
+  sha512.doc = "49d49f53bbba34659a96d587d899af7a1d4eb4841d3b5132ca8647efeb27bf6590f7bbac42bc5d5becca356f7bfcd4fb244f6ce9282539fc9aae4bc99a633ecc";
   hasRunfiles = true;
 };
 "dvicopy" = {
-  sha512.run = "eb542d855a28fd8e06306472586c2aa4a4235843397050703ccb76c0663050f5ddccf334536e4417c8a0976ad78d3684915160242f30700ecfcb7f0ebf810bef";
-  sha512.doc = "ba9b33b91e582147490bb8ed3703a9cb181330fb0d7f2353fa624f494a3c33db0e4948e7ee7a8a8869d938b7b7425f8d271fe68f54983d4a033f657f7172fd6a";
+  sha512.run = "34e16ff93daa924658b433affc70fdab01bd8d6c1d537cf1787389b8de34e7348aaa91a39ba3f3671d25d216420421a5ca73cff5de254fbf25a8433e20fda322";
+  sha512.doc = "a85e3cf8ee5e500264ffaffddf8ebe6642373f29fcca42c346654f304f34b9389f2e190014eacd215ca0d78debe44859e05696789b9f703fd6eaefc9bebd4ff7";
   version = "1.5";
 };
 "dvidvi" = {
-  sha512.run = "e50dfe7c6b0c5fe13db3cb489a885a2b5b5ba82a5279834560c6ea747b2c11218a072273d46df13b061f38601e9705496a7b058a85de8d7ab6a5dcaee1ef4df4";
-  sha512.doc = "2c48aa8d74262966fac3b084aa4dcaba8186267d02dc8d9c65781158f28ee2be0c2864a8c99cbc787e1f5b1c48d9310572b54baa4ede164c9575ca0136e86e11";
+  sha512.run = "0b21ec8ae0741fe0b9cbe53fd97c4ef20cd4330bae769424b2fbd2998293b05419008ebcc7ab74bc17f166a30a66cad980f5692ab32aa1621ad4a771d20d720a";
+  sha512.doc = "831daec5b770f866c15440a384d1352824ead05faaacb8ae991e2d9bc1b115d599e5260cc9d7db6f0752ca7a16f21b0c52b5fff58ed1b23f30ffbfae59387c13";
 };
 "dviincl" = {
   stripPrefix = 0;
-  sha512.run = "b4cae4830ef19a851eb6952183b5e8f652f237c5a1e4be8e92230406684d91850c56ab867ca13844f701fae070dbbd54e3e67e9872d08c49398836828e77d904";
-  sha512.doc = "7b679a236c32ddfed978cc1d9bdac3efb5b66abe6b1be578f656a5faf4914e8636a87189c8c1c980f6de76cb9b6912b92ea397a97ee9445293a271e1394b7d11";
+  sha512.run = "dc09380d453b2c83359fa1862f6d289162ed4ec12e7f1b2842789db26e780713981261369dee0d03561a6864bb8bb25e071ca73c3d85e6218667587fa78f55bd";
+  sha512.doc = "3418aa91ac8daf98f2ccbe67c2ca13bcf8fc5adb380f7c56e133f4487bc3ab701be1925d7a5878fc02ab7b8607e70991887a3d875d25b777b5489b7ae904aa7b";
   hasRunfiles = true;
   version = "1.00";
 };
 "dviinfox" = {
-  sha512.run = "a1e296c777a65a520ee21e7c02e877a5b94d9c444660714d5492642aa3f53311a440a7aebdf70c8c33373d7895c4ad14dcedb6efa50d770cc54898c2a33f3012";
-  sha512.doc = "356ceca531a8d8f0de2daa5101d363b8887a0864b8f36228c6f7604e8e77169aabd8d947bd283916afbc2a5b7a092c80053519b8c9ad6b96d34a3f596c6ea8ee";
+  sha512.run = "33b37192832362c170575d1770b0e8da105ab0f9197ee52ff86a9dedfdac718fd7f3ca87d6f3f2075803fcffbc2f3739b806b1088bd7e2a21beca53292d918f0";
+  sha512.doc = "f5f84a2df36ee93ccc0a8acb687fa4fdc6441ee6b0c76fe4330cb28ff2e5106014df5f367d5f2821c10864ff16988837099114ce331afe8a303e0f9102d92193";
   hasRunfiles = true;
   version = "1.04";
 };
 "dviljk" = {
-  sha512.run = "830b8f6075bd4506770ea0c8b12833ffdd201d0834c73fa8d6f1f9b550b4a3c1cc23aab513b895f657944d1d8bfde634942fe6530352e43567e1a67fd62659a6";
-  sha512.doc = "facaf508b2b2e884edeef713f6e3c649d4ffa19d8aa57ecb7ab98f341b3a854af203140e4ed98265af134f5838b6b5df6b7f6644ef79f47e466e943a28ce2bfc";
+  sha512.run = "9c94578a0e4a43663cf1d3e05447d51ee84b892bb78ac105321b471e21417dd636bf8746d04c0decce06293f8ae8d8f60e0127b52796310a9c9dfc512158ab4c";
+  sha512.doc = "fa77f151e69f8baccbd01f8beb29c0143283892d42f5b0213909c7d434688a4e4c5e121ef9b8b73d93ebb211ca03a454ce309efd447a7d351968cbe9066b5ae8";
+};
+"dviout-util" = {
+  sha512.run = "bc4ebab6476e9023c4c6e130082ec1ace7f068f9d0b2835f1bfb40db892baa7db4a5f0ffee0e49e4368f2b34ca044f2de31c9905c244157d9238daa8939cd56c";
+  sha512.doc = "916faf1b17e02ec011a6ace727f17807ae72b64126c3a29337b06554aeac3fb86bb5bc0ea36c5f82523843be1f051e56cf9cde9370b40170295d911cd91eb6da";
 };
 "dvipdfmx" = {
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "82cc1d7cd1b302619ec26d8abf4106ffa912e4f29e708529facee137989617b72ebbfd4ddf80fd7c2631e502694013c2c80a3b259763d5e7ad759653c77345ea";
-  sha512.doc = "ec3c3e040e262fc52535d9289270aae337bc86e29450c516a9660df1b668cc7dadc2ac3b183c547d81cc014e33c07876b3715210aa0678dee730f3269732b9bf";
+  sha512.run = "eded65e852efd5caa8cad6227894b5d76b190baed17678a0a89a90ec14ad0853abe0b8bf09d2b989af05b05c47dd1167ccacfb18aacbfd70915a483152904fc0";
+  sha512.doc = "332955e7a57969de8647845f0d7a36bae6bb2fe8bc431533198c7225d5bf67ea18228a2c71bc88581fc3e72fcaef366002ea58b4ab54f3f8591ff7a3d4888f1a";
   hasRunfiles = true;
 };
 "dvipng" = {
-  sha512.run = "1392b745bce912cd98299b8e6c643d95590db0a14314a78504a5ee6f7942ceba994dc25763790349eaf5b07b333f59acbe1db12eb22dade4fd8114f176f8c134";
-  sha512.doc = "127010ed1eb30a2c88e59f2ca81c7185678b1c628c45561686e009e5178d825028d1ae0a0325806faf20723837a09baa9503bb375c51fd3a1731cc724178fba6";
+  sha512.run = "3716cc269d2f869527f6f4d5cc9ea92844c6d67e8eb56d80874540f37b89d6f8a391fb5c3fe0c194088f4ee7301396605c22d2990322ff441e1d1872a58eca78";
+  sha512.doc = "752961d28935c2399badb3e31af65c76eeb5a9cddb0de44f5d9907b8800567bf9fd8019fe8c39cc335dc9a60487aacd4de196611fe1f289cd0c424fd1d6c180e";
   version = "1.15";
 };
 "dvipos" = {
-  sha512.run = "ba8bbe1797971bdb1706a8ed059cc45c0d31a503380f3b1cff7c1d74ca8067d39cd6d0114e366ea0731d18ab00cd68eb8b57db287b0602c74e2bcbeffd6d3316";
-  sha512.doc = "6500b125af937ba20cd21649c16ce82ff8f8f1dae31294eb724f1e47ae1f9221966f68c5ddc9019dcccf411bbc262a3ac362fcd3d659972d3cdf5f559a87f756";
+  sha512.run = "ea771c689b519ab7167a0e363af501db771e7883c0b82fe0ded3661b57fcf31b932cb268b08b7e1f2f4ea3a7f85a7bc1efca83272f7eaf163354166a0b9a5a93";
+  sha512.doc = "0e4548fc7abe4aa8f54a1b1a17d4582e1cb6e9f0aecd9812a1e2337ab1aa9995b4f3c4e2417f3eed248a9d40a5ba2c314aab273fda3ff5dafda3d9ca23307b77";
 };
 "dvips" = {
-  sha512.run = "ff4be6a63fcd460dc8d43aefa4a9cf66bddd0225f816bfc6410b47d3f5319e33b65437e3360478f2cc7cd7855ff93c89137dc536783688f7f62f4d8adcfb70ad";
-  sha512.doc = "32e8dd87a78f79a068591ef1bbef39d454a43bcf7a295fe1ac22add8611e8dddd48bc9fd29448e8c738ddd26701b8fea4b762f04237f3f6b6d7dc2904452476a";
+  sha512.run = "ee10b8c1b67997d1c781fe2c3e5ce7826c111a2b6f4078330b566bf5525ad2a1cb2b89c4efa8d877ae1557fb319941ed09db30b229a62b6d3ff6f6a784e48df5";
+  sha512.doc = "fcc91e88fd3536244d878458a90d31ad3b9ec9efbc08d09d8b23f13d3887ca575e17663b2e21451abf88de389f7fc3937ce3ab49bc9e6ea94ab77c66ba179a00";
   hasRunfiles = true;
 };
 "dvipsconfig" = {
   stripPrefix = 0;
-  sha512.run = "2c30561bcbf5ff231a3e2904094c144ff16591b1c88a8180e3bf6c9f2051e2d689bc1dc6bcf389e5c6c3c0df3aa6bd3fa31c58d53217670d5a1bb6fcd1ca6fa4";
+  sha512.run = "ff7ad395329dd1cc5d21d5459916d0f10a8c03399d733048bce0a8aaa4e3a955f3ad3dbb228319d4bfb96e0694069002507bc294ed81fda5a48ad93f8cd82589";
   hasRunfiles = true;
   version = "1.6";
 };
 "dvisvgm" = {
-  sha512.run = "0588cb349d8757f48954e6b80f7f49d6563e8fc186eb241b7dcf910c32deca74e4d9bb2dbab6dcb8da4900e00a911681dfa23d4fa5bdc10bbd8d2f9dc23f66c0";
-  sha512.doc = "815cab417e0eea6b968e0ebe60a027a7fecfb652380c350305e2172d81a2a21e896277fcc3972fd76f5a2e2a586c8a7aa24e3b6b625b951dd2ca2d5c43f33159";
-  version = "2.3";
+  sha512.run = "9497809c9788b1bec8afe64d67828b7035545eafa92fc6e3be62e9ced5a2428db6ff169d0919fd929a30872d0c70359d679d0d32b3a741dd9070bf6bc2901556";
+  sha512.doc = "2e44abd6925358d1dc594296ac2c13f146b4c8bd9b5d7dfd3dce92f5bf00e88712cc0f3a0da915578d39a8e1243c84b936cd624aec424f7d1661e9a7fe2b5635";
+  version = "2.6.1";
 };
 "dynamicnumber" = {
   stripPrefix = 0;
-  sha512.run = "41d3bcf563eaf30535369b7b02c949091ec4ad6ec38894a10316cfb53b2bb1138aa40c4ba87fbfc0a883e687632545f755fd931530d463b043637913c251f94c";
-  sha512.doc = "b3988e0c1e94afe82f8011b57b9e4cac16487e8a6d43c0108774d2d5337c9e583b46b3540dc939257048a69c915ce5f1100813fd5d2eb9c74643dabef81fecce";
-  sha512.source = "c8bd8789a1eec8b41347e62118134f4e95a96db736686363c76a90da7dfc62a9df725e86eab2372bdddb858c2fb51a6a9faa74f2a44583de5f41a0f71fbdfaff";
+  sha512.run = "802df3848c8ace40e1eef5c1d30c07a6a5f30fc902a9bb18581b79ff322921e7235ab05981625eb289f093f4486f0aec2e9c83bf669a9afa993a86146317b619";
+  sha512.doc = "3eeb8617b33d45c1f97756f58bb87fa1244cd3089e0ed64f363f2909480459ce17e30d54bfbf948642856984618081d0fd15c0721d0190c187b375fbdfcfcebd";
+  sha512.source = "8a4ed9566201af2835190f574c3316f5eff4258ef0e9b25b62b146b483c14e9fcf66abc2e1c4b3512f12969bcee1a8102ba020ea78874e0c7f3e68c0a64232ea";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "dynblocks" = {
   stripPrefix = 0;
-  sha512.run = "4f3089e8c908bf6f55c9472c6ef6ce3b733360bc5a0c1339f8e03b0ac746746ddce93cf77b22528ad0af83ae04e2571e282ee12ae28012b69b4214f2a18de654";
-  sha512.doc = "9d399d28088d6ec226826d08e28b81185146c382e1e6af405a44b855d64e4b1e06b779bd695fc2ff3f040041706946ad117fbf73fc32dfc8f70a2091fee400a8";
+  sha512.run = "bda4ad43754e7d4fa87cc4ac5bdb772cd24a4e613bcf7993e3d448a9c884aad5ad484c6dd7739f4c6edb983560181717319dc26376a6025f3847afb588fa47a1";
+  sha512.doc = "4f4084cc4dd913bcff3e71286fa4e881c7d577afd8e0669396de2ab18ccbdbc8649117bb931e365fa5999c5c842a71cab18da5573e83c1d721c87256e614c321";
   hasRunfiles = true;
   version = "0.2b";
 };
 "dynkin-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "89eb8f20f670227e5f97404935e54aca559c6e15f05674aa702ebff676768165bd2498eb9c91399c90e4126dbc072e81e12bb3371d4e1dbecf4c59ce81e00bd4";
-  sha512.doc = "cf619eccba42a243ee7445f5532609b88cbfc8a42adc73ebedb347f92e9c63723ff8e953cbabada80543f46a9feb59dae0545b021d31581238f98597de06cd62";
+  sha512.run = "077268d796ca7e45df408fec24dbdeaa8d2192097f99880edefc12b7773359ef78ee243c0e479b6259c11b928908e8cbfead96b1ef0470831a65d1c58ebc4dfc";
+  sha512.doc = "c188c4e237439e6f38e062a89428413f94951c747e3c0cd122ea3ad8b0ca4d516f545dc2c6ac5fe5221d8a6d86b8754acc1981986d0eb53498f00a3b56809cf5";
   hasRunfiles = true;
   version = "3.141592";
 };
 "dyntree" = {
   stripPrefix = 0;
-  sha512.run = "800e0074a2459419601655c6eb030925c7a4d5ae315ad375db341170d04848b1b24573245562902c14d49cb81cacb3e6a7f341e30784fe8e3b03355e93322ef8";
-  sha512.doc = "38abddacf6486ba5df3c820c77c3f2da2845d26eacf8d083a81231c4d4b6133a28eab5c98e87f19fe421f3aaa0776026640e484e736918f0337c86823e03c5a6";
-  sha512.source = "2b4e20726864dfe61ea12c312493b0c8f74b60e42da13de194469c7a26e5ba8f4eaca53063eb7c2714b451147e173b9750327515a00654c26dcf7fa7b22740d0";
+  sha512.run = "8f8d568cc708e62ae1217188acf3deef05d7bbacf1da04f38c1f5b08d4b2bd0ee465021c923ed314ed284dd2234dce5079b7918c12d3bab72ad5f91749bdfe4c";
+  sha512.doc = "fde82bf8b97840014737734fb57eec7c37b34ca0d5eeb1a66c27dab16d4a5f1c4a7f7c10fb9c8bb98f3ef56a15645da0ab66cdcb658f69ea32eb84625b25023a";
+  sha512.source = "57d76ba3ff2e85a18fad69126a87b02fecf6f994de63af530831d63a0405abbcfad5ff7b33ff0f13c257b85bea73788e72a4347337c7355a25b85c5e762c25dd";
   hasRunfiles = true;
   version = "1.0";
 };
 "e-french" = {
   stripPrefix = 0;
-  sha512.run = "470884cb78b3bbf156ef8c06d0f07bc4b2316fb7afea6e478c47933066c9a400c19dc5ddfe1a4d6213e74c53857d4e0b9a7ddd360d02bf89526d6262dd7c817c";
-  sha512.doc = "b8dd3f97f6e13c9d4cc0eb1809ea86c970046500e09807633eb40f286e47ce1380c0aa87308796b12b8e12d597a71739853d845f349081527e1f7211c3ee9a91";
+  sha512.run = "ed14a41b05d47117fc354bb5a1782338ed91ebbd6071af96f4bb94fcefed31048ef3ed1301686dd720d7f1c9ee59c518adbf83c6c7de2c35e3d50cdd65c0b0bf";
+  sha512.doc = "d76ba6c016c8a48a06ed126d0d011e1336203cc8182f744de9d238e723019156f369574b7090cfcc943829ef058b77ec536ab6bb7c054e5e2587dc92998258d0";
   hasRunfiles = true;
-  version = "6.02";
+  version = "6.11";
 };
 "ean" = {
   stripPrefix = 0;
-  sha512.run = "6de1f65fe142a0b740db362c8fa4c90a410777fdf5ece83c7c9a21bdf8ab540b57f9e74ecd917f6ccae813b839d244672fa0a280a728340675e948c90f2debff";
-  sha512.doc = "5ab5f510a7849d41c9b1da5cb8909d9bdab21f8d88c96b8e9fe01c795d9605b2c18b88ff5d13ce94f459163c6885ec9c8728cfbbc9079fa14bbc9fe79955b7a5";
+  sha512.run = "8a44b134d612ad4908a3ec025b0934feb56a8a8d7c7dce91f7ff152fda91c99c0c557ecacf7b22d8e9abf8e99d28b09b21abc8658e598baf37bfbbaa885b86d4";
+  sha512.doc = "35c7d054236569b03082af07412f00dd08d760547433ec8da1876a83546c7432c4cdbffb617ff34b4e48b86873d699d41749bd838e12ffe32980b3d6e92865b0";
   hasRunfiles = true;
 };
 "ean13isbn" = {
   stripPrefix = 0;
-  sha512.run = "3bf98eed7614063289dbafe986d25feea310e8241f181e4114ebb18ac3c942e85e2766985b7ecf8d36a0ece11ba11f47df7974816e2524b42cc913b410d76460";
-  sha512.doc = "a4361b89f84d31489626b2e1a632d9aeae52c1e6f90fba92c39f83b3037be2ca1d859a93dbc3ca7bcd89b74dc9709a869c1fa68d02f110bb21e3c0b9f1986604";
+  sha512.run = "39d124c59b8c35c0ce103530d30943bd0c17060981f2be4412cad2a38bdaf0a3f4332105e07248718d835169d33fc50ccaa07d462d494e3d74ab02d7de344653";
+  sha512.doc = "b4f5f0f2e3e8316c61129a6b9662cfb0e23aacbe58bc3e111d94ab7a51d01eaee6354395bbdb91a944a261a794362ed719fc6e515285f55ea901acc5e6653d75";
   hasRunfiles = true;
 };
 "easy" = {
   stripPrefix = 0;
-  sha512.run = "07b0c9fd34e57b68e12589fce580bc20cac19e6c135e4af3415250c2f3bbdc27d0ca6057ea2b1dfb85d3af545ac1d1f4af778be121e69a54f6b45f2553e404ef";
-  sha512.doc = "68abc647e1e2855158928a72bcf92079941f0e6304195de4dc97ab20b21b4f2c97d9270e5e432caebe0a55ace336adb0a9c3e846acbdff90da0a351914d94ac6";
+  sha512.run = "fbc84351fe02c560ffa1c6b1713e762810123e7abee47bb31899d4baed353928350422e7d237abca758753ad306f927466919ce6b160a3820d1d5101c0b71ee9";
+  sha512.doc = "27bfb9792f0c8261cd2de9bc95dc4023c69a37e12037855e31c606f0dc18d47e45f8299d385fa1dfcabaf6df298bb529e9da41f6d9d36f38f8d7fb5ef7930886";
   hasRunfiles = true;
   version = "0.99";
 };
 "easy-todo" = {
   stripPrefix = 0;
-  sha512.run = "d6558760eb8f40add9c41dc84995a3efe17d5646b161719824e86de9ce99069b9ce5cfa4287188d83433f57df67717427518f86b4ec0775d13f48da0a8f164c3";
-  sha512.doc = "5414bb88289fa112784c55335413fd0646140f3c39be3255aea439f8e8cb047171a7364a3ed84234e886abf13e6956f1c5d247c883242fbd58f45db5dc45960d";
+  sha512.run = "88b496c1f4f56d26ac2fcc6d82e28d71bf11418368d82d3dcb193f8299672bf41d6c15938f3f6af5ac28141f2a52d132844fd178ebb9694de7f7a22fe8f13eaa";
+  sha512.doc = "b2c49273445084f94083ed11f43492ed8ca32582fd9ffe9d12ccb7afe316b06b1924a507c5a12ab5880cae40ef4ee196c6d3e5d05f916356fdc026acc0a9acf1";
   hasRunfiles = true;
 };
 "easyfig" = {
   stripPrefix = 0;
-  sha512.run = "a604630a9b7e60f5ddb9c8f3ed09f8875ad0e6b3c9b809e0c8335b1bc432cfe70d603a81ef5cde3bca080d7b2871a480eccae5849b828a3f431b272055773099";
-  sha512.doc = "cd00ebcc22e99b829335389f6ad4e3f2652ce939f18f640eb0e69c2da1a11c693c25717b0544f5fd1326c238de0b99b2c32668071d34df6d2fd529c0957ae9d3";
-  sha512.source = "77f3159d682e62917a6605c5037824c917889f642fe062c0c22ad59cb7c33e3d9c6aa609531a9649a6ef4e9d7d281d1dead8dc3c617cf08923de33fbbdffdf7e";
+  sha512.run = "4c84122d2989fa90533ced69f6eb9d2536e6de9fbecb096412b6459bdd45225bbf48a512ffdf4fd3f8ffa8a582b47692661b3f4197fe76f911682582b038bf06";
+  sha512.doc = "9544e9d4bb98f78915669d8ed7f314e1de92a0fc5c57b6163a1aa91afa7c97bc0a0726fe57fb1f3b03d981f9d9b320f211316e0d1babeb3d2900f7f49e9a2fdd";
+  sha512.source = "56cb02838c8ba147b56fcae623f86566f9885c67bbc43ab0ff40fae18afa8c9a23674fe4923c8cf4de2b62ab268dab0fe6845fecf2af227c8cce9891e68bd626";
   hasRunfiles = true;
   version = "1.2a";
 };
 "easyformat" = {
   stripPrefix = 0;
-  sha512.run = "4b7142fc6f1f92a9fcd044fc0e1ad958d35c50ed3b8a4c049f029cf68bf6561e9cf0905a4fe55d7bd6e9cbb9992ed5ac8f9c61b9fdb1527a1f78e2561db5bb03";
-  sha512.doc = "dc9b19e310b3ba73aa5bce51b73f06e706c73ce8849f824cdca4b8e6885c6e6e6cdbe283244ce35de17809718fc0aa00eb50ced3fd002d4025c5c33778362b68";
+  sha512.run = "f952227a7b0e579d2bf432b3a72e80a45e8adc22ddd9e7af380de54c12f04acf6c4a88dde5a8e7027d11fb820448fdbcc6a343500ae493fa20341634fc64aed5";
+  sha512.doc = "99b5f56c6004b72bfc7289905d2808b5e3c743449896e2af88a7b5c23bae3c62aaf2da9bee43192c662be28372bd856dec1b78a56626d5b1eb91b5e21a759356";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "easylist" = {
   stripPrefix = 0;
-  sha512.run = "ad44482ef848661b0002498cf1732ef56df15c28e14601217002882c7258f3aa1f31d7b65416b875f50b394479f45a8f31bd8da34a85e1d5672eb3e97ae9cf6d";
-  sha512.doc = "aa606e2dd57fab7e8aac263627ed98ffb2c11ec228c457173a8d4f2dc4f60a364e09e94f563bf2ad51370181273b4d03997aa0db0e26c4b1ae651ac130ca15ec";
+  sha512.run = "b1ddb6242b9ad2e40785602f942d4381a5d72a7d35784bbc2a1732ead1fbd9d730b580226452e9f56fda873b174c56f9b433f1193e0e3424efba4821f7b714ad";
+  sha512.doc = "518258b7d24763477376657e128ef3504d2c8e0f71187edf9edd34825d567f9cdcdb09d61a37d99655959d7c76edfbe550bd08ebd7760735e46fff33bddfbf0a";
   hasRunfiles = true;
   version = "1.3";
 };
 "easyreview" = {
   stripPrefix = 0;
-  sha512.run = "283125df90064025667636eb3948cefe24d0f9d583a08daec135c0a71d9948b766efbbc1db700a8093162c06ccd55eaecd1a1c128f74babf8df9021c46d481c0";
-  sha512.doc = "0f88e47e74996011daac426432c28099317ada3cf3d67c1e123ad597dfa70c7d67010f0c17580550666cfd5f6c811c1aea4919a7492ab9046298b6bf0b1b6f86";
-  sha512.source = "5e2b84f6ac46769ca2c5747068e995d2026c850267c61d7ddba8acddd6b984c4a014d310a6dde1847b7c9433c362aa356cf192bdbe2e89a637fb17248af4d9fd";
+  sha512.run = "4efa69b2e6280333a89022f93a95c8af4d22cc9b82c4e8692291470af83696e7ed524c77cfe9d9c397c4136c0ebd8399a8ca4ab47d42b84da35bb79189ff1b6f";
+  sha512.doc = "4f71891df0b1dfbf32be06a427f34e5c45f73543b3acb9117487d2bffa46f5b61b74f795249cf3d806705beab710c5a7934a59a8e215c87678e778db517a0832";
+  sha512.source = "8e4375d0711a1fd8ffb3c43a53b62e5e9b84ea90217c21a7155e514a4a42b8b34c36a0f0a839766d7e9b4eee05a6cb36ffd1da98f1c9f756d67fc8ba0acd4807";
   hasRunfiles = true;
   version = "1.0";
 };
 "ebezier" = {
   stripPrefix = 0;
-  sha512.run = "3f3e08383e8f14846f6b5be6920d5d2c0e219a2925d08ab2813f4bd56ffa1f1c9a59251b09187b514379e663bc08497f87734bda2a7af8cd1b353e6870f0007e";
-  sha512.doc = "9ff660e3cee2c0619b6d74b2eaf55fe71e0eeb2f6de05d6a971bc341f2fca24ddc6a28c5fa39aef91e0d657a8827ce4c2e4d99b52116fd950b860f658aa79db4";
-  sha512.source = "67b3fc4c1631b2acbadec70b88a6480d24203402f96c6370f45cc612a1f1052ac1bc3f6b352a94b860f99312d0d8a1d16ff640822942101ec27a788566df2c95";
+  sha512.run = "ccd80579b8c7e7e3500ad644f8a418bbd48ad1f2e1cb2aaa82836477553332b43092bb760c01cd7412393ee5b8bf23c055361f111467c71bd7061459781557ac";
+  sha512.doc = "b81d28abf5c8b4a3dbed9219e6519e23fa5b94428baa8aef0ff32dd4893b24524e49cbb8ae08327a7ee59eba93cb0fa2950883d22296451c1f7949225f42b1f1";
+  sha512.source = "ee742d7061a7891ad2b9cebabe827a408750f00ce2012bee8ae787bfd7b6d7ce8e968614d3d3f9eee72072560d47d871fc0022bac8ca8231643f85adf31218db";
   hasRunfiles = true;
   version = "4";
 };
 "ebgaramond" = {
   stripPrefix = 0;
-  sha512.run = "02e67cd7885e8d2f4c3ec41926f528da11a0c1e5ae773559b319b25e8fd8e3027bd39450c210db7bd38047fd8315607646bb69a975068fdde82225b457ed530a";
-  sha512.doc = "71c4be3cb78266c9d246b6fd8751d64f82eec6ccb58c2944337331d79ba9fee97fd269c8545d27aa054cd3786b8855dbe7ea97c327fa242e4a31831042c4867d";
+  sha512.run = "36ee434fc88f4b72e0d1b5fa1cd0a912b1416bc3d74881e78494c2e9eedd1eca6c8bc5ad684969ee8b2bdd83d31c944e3f01bb4e26a6c6581d67cfc9bded6184";
+  sha512.doc = "da563ee20f8271177944ba4c891e91fe54a778bfdf2c17f5ae106357b12ed34ae9db71e4e82680b008184c6ed18a5fe645d848e450dac7b031246821fdafa925";
   hasRunfiles = true;
 };
 "ebgaramond-maths" = {
   stripPrefix = 0;
-  sha512.run = "6d0ff4f85f83a350c2291c20798630af205f0a17f69e959979938b80e2db1b0dafe28818c6023ab1ef5d10ff7012e294403ac46f182658d563927f24d048f749";
-  sha512.doc = "7bb8132ecbd6bc1a73ebca1cb81e82ab3e497727ea2b932424eff628c81982bde9d77fd7aa2bdd5d54c4500139dc8da489f377912c0e1b86d0244f4d6969b4fa";
+  sha512.run = "5d65f676daee62f96875def0faf6d1fa217143046768985956372473b4cd3c6c00ca650cdedcdf677d6ae6a03c65743d30df6d32c36cc8366d8a1a9961bc11d3";
+  sha512.doc = "d2207e0f6535be6ed1a53fc15717a60fab0d473da4f307cfc70c7271fbd93e7f6cbd92d1c0f0738da6d1b607832cbed95e5c87edd53cc5423f35f287289b4573";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "ebong" = {
-  sha512.run = "9dbd783045b4976fc29601f1c5630e29e0c22826386322d67e4b39813c73e6f1f975e915a4e5343ae65163f050385b2f76a0aafb61c121eb7ff7e3dd1fe5466f";
-  sha512.doc = "eb6333aa57baf642e7e9e8fb9380a6737b3c54d32db7ab19deef90e240ba9afc35de74ea6b4639704e70faff823c7a9c0215ca7eb1139b09656f8a4ff1ea36d6";
+  sha512.run = "c16699e17aec0c6b8148b8ea224a3b2a0dc4fe1982e0b8dc5105f3a07075d99a07e743b55cb3ee23451a80d84e9887ca10c810c639b36a30c8ff275a27d9dcbc";
+  sha512.doc = "82fd3ee7c02b22bd42c38349a50fc61e78050040877f28b4f9e88f89ead962732b7e20f1999133074488b26d9609a36afc563d8e6cc5958829af22d2e3e44008";
   hasRunfiles = true;
 };
 "ebook" = {
   stripPrefix = 0;
-  sha512.run = "7293346edefed31af3518717cba1bf49612fefdcf997fb22910275eed6847dff472f93d123231c453dc4a0df5a190f5d2ea82b31df7e3e036956d6dea2927fc4";
-  sha512.doc = "34892cd456a1d743bf8a9f4d121a5ddaa9aef97b85b8889bb0e4bcf18108f48f5ae438a5d4bfee2d0732ffee8a93f9eca1c5e83d86514275d406d72616b51a9c";
+  sha512.run = "3345ec303d77965800fb78a1a6b0645c206534bdf84e5b5287d23fb273a720025ec770527d662a5a535e98fb6cb9a6d37d50569963ca24225af8d626ea7d4dfd";
+  sha512.doc = "0aba8d5010ece8e6e3c155d05a87eea960d8ec1b4deb1cd7ba948b4106eb8e20d752d3032696bb98c1d23b1927317d3d53a79fdf0b62e9053245aa86ef6e79e5";
   hasRunfiles = true;
 };
 "ebproof" = {
   stripPrefix = 0;
-  sha512.run = "7d86ffca1d5c6b6105e4490bf4cbab7f08c54dd42454870fe1756c5f518535d0226e2e10b9505514d39b5125e001ec062f17fda3f15bbc7250ec407e0eb54afa";
-  sha512.doc = "6f46a6b296a44ba92106630ecdaf066cfe8537e1ea6066525e84a7a97fca5fbaca4602b8d0140b631eec18ffed2e32c49ce19238e2099cf7580ae00d274150ef";
+  sha512.run = "1b8ba3dc47ba03fdb14af5e98ffddab51ba4ea2c423b959ea6b88f00e7b3c837daad5f43d4963de1f6a4b2f55527a45645783b0edf62dc30118f51ed71379a9d";
+  sha512.doc = "33eb4e25b0083b9c3844d4786c1f483d37e7a00f716ceec92c4e5a5e57cf1c8f1a5eb474d7f3c9e98a688174a16caab170a1853a6757ebc5ce0be837811a32f6";
   hasRunfiles = true;
   version = "2.0";
 };
 "ebsthesis" = {
   stripPrefix = 0;
-  sha512.run = "d0e4e65ac91f4f92507fbfc1e24ebb73a3d4cad29141261c40379b222a75d9fcbf6ff07da21c6c5d27ca09f3ad57b9311ff68d464862e27c043f1cb0936d8428";
-  sha512.doc = "842865acf71f2f6e78b04f70d1cc20f977deb90511bbdee0d12ea97e81b5d38dce882054fe95606d4607c05daa340733993119c794dbd350830972a3e12ad1e0";
-  sha512.source = "14fb464218aa59eace233c25c234660db02f5771b02bef0cf4ec6374246c0ea01502746db36604b2b08c3bc6eb1a7390cb3e5755c5c5a87af3e3d8781794b68b";
+  sha512.run = "37df2bd7749bf91c2e2a6e27e92a9222ed9b9d499b3a9bdb63f7751008bf7a4bea20d62bd59e8672b7fbc7bf0caa1ca77ef797c42224fc4167e5212f21cafbd3";
+  sha512.doc = "5c508fdf7304668a371966d1be0198d71cce4ec762aa1b5b480dc495f47dd13d88f678d8613ed266e1d8e1353811e3058c31aaa5ae9f181c34c6bcf40adf5ae9";
+  sha512.source = "0e35721d759fac3af82d3c627c5520ed60c36a83e50f10a717db990f2bcf5a3b22a0b28cce5f3926ec0a9859d5b08124efbe24ffe9a64f9ddd15f45f3246f596";
   hasRunfiles = true;
   version = "1.0";
 };
 "ec" = {
   stripPrefix = 0;
-  sha512.run = "bc5aef78d26464530d50e93f4120c2639ed9ba8909cb4db213b12dbd4fc851a91357604d4db00d8994958fc3a0d96784515a909cb0106f0df9c8dc66887831a4";
-  sha512.doc = "fa3e5e73f3b4ef6895cf36bf4806ee4abe48b8c783dab134a3c49f396e8740fcf6af65a7d81cc4c25c26117017f178de182f9b01db8cfe6e510ab0d8cac3191a";
+  sha512.run = "a967804b42bcc11e766d5b74de28c54d167625d2b108a34bc5e49351533ddcfe3334e4a7a34966f8d159bbde6a80f84b4d216553ce03fbcfb7a4b6267574538f";
+  sha512.doc = "bcf6617cf66af91312aea98f6c4a034f3af4ada14687414e7c3572e319fa4bd957dd25ebf557078297950d8ba8fd02229c5ad53464077feda462263b52536f29";
   hasRunfiles = true;
   version = "1.0";
 };
 "ecc" = {
   stripPrefix = 0;
-  sha512.run = "3876339ad96d7a2a7529c5747466de59dfa00154d6b27522ec701731d3e07532c9495cf7dce5d8979c8841549d6c691d9cc712349df932a240b6a508cf5b1297";
-  sha512.doc = "4be868f4d6a66a4af02f2bdef534b431f0878561cafbdbd46ffc050336bc56c28fdb56a45049703f86d0efeace5cf1bf0f8a5c151f5e8a7eb7c09d0d7bf35c5e";
+  sha512.run = "0f91383595d8606d0a118f8111af0531e0c53fe383511b6424f7cbbf70ace9c4d94dd379813bfceafcea11f6be361bf7d8df2088fad98a42a5e5d31476581f11";
+  sha512.doc = "e3263aab5c8ac9985c579d4fba121085419d5c28e4813798402ad67213f96575dac0776d18918edaa18d42d458937a1e60ad666b2a01dea445675eea7e32b2c2";
   hasRunfiles = true;
 };
 "ecclesiastic" = {
   stripPrefix = 0;
-  sha512.run = "eb0016cff85625cd4d6bcddf73ba0681471f0462b5bce08ab6b6e3fbfbaeee98fd870c08f3b82b44ac432f94aa1dd48f82bf0a1f13d67663350657219f1d1945";
-  sha512.doc = "cf19634a34951664a3a1e4b5957f0810f7d6b32559f1a9eac6c55914b792b2da82cdf314af1dcb4def5bfcc8bebe0372094ba05b6a5d4f61cae09b6068b8b483";
-  sha512.source = "b2077410ced6053321e1ec396b15052a362081d3db34aae7f0c48d33e16f71014c811c6a0306f79b9f69fdcee217dc7a12ddd67ba2b07ff137155f63e1cdfc96";
+  sha512.run = "f2518f8f25bf4b7c7fd34ee5fc271d08c3262ca2d90e271e02db96ef4826bdee53565f004fddd89e886258716874b101e7fb63b46a6124ed13b67facded6ddcc";
+  sha512.doc = "35902f78af7c9acc42e23ae1d5c39ead5d92f0cf73f9c27b3f15d025555ed08502709638dec3788305fa776bb2924eb43e691c6e69424b23c21110de3160b60d";
+  sha512.source = "9661b16b8d3af5e205e99a7b8da8ce1913ac1ef495f3e02202ce7cbe1fe786692c64b4a82913190db42f922f33d939069cf423b55af53792808900ebbe728b8a";
   hasRunfiles = true;
   version = "0.3";
 };
 "ecgdraw" = {
   stripPrefix = 0;
-  sha512.run = "8296e06f21c365ced65e1f7faf11d38ae8ad5004aa72c3e9716350161a21944e0566b86d02f0772498429b9d27ff0c7fb82df9b1e72ed8b33fdc1d074a55f1d8";
-  sha512.doc = "f92ed3dd1c8f399bf003b9778327752214a785ea95ffd0921c17dfbc26ade5d0bec40d19284caed6a7857b376d029f91dd85df2d593dec4ca03991c0948ad36f";
-  sha512.source = "eb794c09901a5c72720537be6c9f0e4e735417035f63be90683ba52bc1326963ab8087807524c260e3cda3b29608a037be6e534eae917545cc2f57478e950869";
+  sha512.run = "419650d8ad24b9e08523953596a79c318740b2dcb7fd18a7c7a17019fe17cc66439c0acf56a7a7f8176349df0d80b44640511269d498cfa19aba6fb1f353923f";
+  sha512.doc = "24968ada8568861eb973967b33827642e1201d002f73d40de5183a38d5f447a2fb93feb1db32807829c071d1a1147039e34ed4c287886260453b9c9737693986";
+  sha512.source = "27ea4e0f4d184883eb0515cc95b7b797ea215626fb5c4003fc02bb490b6f3edf1d9422a7f764df28372d9ded429dbe47645bdaa8fa57c4517ef438096ac68801";
   hasRunfiles = true;
   version = "0.1";
 };
 "ecltree" = {
   stripPrefix = 0;
-  sha512.run = "d54636eaf81b2131df2d72fe8bfe6232d1c732349865ecba107652a23fcdba4ffca7a6d1f7fd0680fe082596cc3b4f17611100c8b3e311df06a1b503487e62b2";
-  sha512.doc = "7ea18a4468340745c0ddf5959a911b96bb969e4b34799f2718928b8fa9a9b2dc24939c9ae9ac381c46b4a8f5f1e9d3f8b4dde92bc53a33f05ea74f6051d3b066";
+  sha512.run = "7461fe472dbd2ecb4e692cdbd58d5b801960d160bd7e18fa7d5ebe3e42defd11faba318d5d9134fd17275a4271f4c7761fa2d65fc1f202b4eb7b0fe3968a9fbc";
+  sha512.doc = "3dc607ff60f9e738476b1f5c801801e3dc10713d7f5dc4b790b92f454fec1e68e9abe8efa7e4b0464ed6ad854d7971e241987fd63d406ba9deec9c99f8bf229a";
   hasRunfiles = true;
   version = "1.1a";
 };
 "eco" = {
   stripPrefix = 0;
-  sha512.run = "515309014215e6c6989056b11f3b43e4451cf458a53ddc54e0d2263248b7a84c339ecccee2b6e52e95b822a141f073a388c31b98d31ce456af7a51fa474b4f18";
-  sha512.doc = "f26e6e0788fd346c870c7eba75c0c8acae2496789bd816293b4a952a9ad1eb35dad26a58fd98397fb49f3596fda7343f8e7f4c266065301007a805a3016a600e";
-  sha512.source = "623aa1a5ffddb1fdf5b06103023d8420cb2e2ebb788315ab34931d1f9eb93395344c922573218ee4d21bb8c1ebcd1e5186fd6bc35a20b591455b07ecfbd76fac";
+  sha512.run = "7bed893bb3f379d61dc874280ccc26db037511ea69faf37076f3cfbf01cf3d747706d40086eb99c502f215f026b2e357e44e8940a859559c3a5d9876bfd70c00";
+  sha512.doc = "3c2042779dd30c8ff0e8f09580b3173f3dd43659ff2ca94c52500f989a338a29799c22eb08c493dfa82496117d7fd7548f903f71fe488727acf4e517dc6c0377";
+  sha512.source = "355f1a47eddba5eedf9933d0a137045d9cb06e3918814754079e7dca0852d2fb10969f0c48a030ef9dad923e7131b6e77af8e1e8b2954b3d70409fad400ebe05";
   hasRunfiles = true;
   version = "1.3";
 };
 "ecobiblatex" = {
   stripPrefix = 0;
-  sha512.run = "164200b6da6992ebf541371032c1cf61f8c5076be0ab003e7a225c1f6c1b897701c805808d1c6de15cab82ed010919ddc282c932a4e19af4018cf16f7d04429c";
-  sha512.doc = "20841a19c7df4bb2a89ad0b91f3785d27007ea494ceb7f7d6c4c2bd34740dcb86ecbbdcb91e18a0b1c3442212a5f749905f445466ef8d86b9f2467f78492b1ea";
+  sha512.run = "bfa49fbd340223db68ae6d0906b617c06605a41aa141ce7863d5ab85b4da44eaba554b93bf163f7e4b7cd2c5131e22ba30161082663588ce85240fe2147433a5";
+  sha512.doc = "e12bf5be5028e848baf10fed969a5ea94e2246153b481fc1b8ab55a6fbb5c356391ec4ccdb37ae7c71d76885000d9d74e46271402ed83ed08d1d67a94cf372d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "econ-bst" = {
   stripPrefix = 0;
-  sha512.run = "5cbd14c1072af65b9cb70f61285b544ddadf94a7b9a0151c76882707ffb80b1eba9558e035f95c84555b68c19198e78ba800cb42fd59c1494ace54bb32561a2b";
-  sha512.doc = "30a32e07a82041cd9e04fa97b7d1fa92284fed690d9959de17475edce5f67a05b3fd3e5bc5f9396c3da7567c9d201a29ba1d860a14cfa8c66679f113f9f4c6df";
+  sha512.run = "8d54d44602d10d09ffa23b289763e439e0613a753039acfce5c6b2ddb3801886bc4c621a3749730488b2ae22cf41f5d0b887dbaf2fb0050afcddee2b32d02eec";
+  sha512.doc = "fbbb25b129e477d89263e5bdfd9e998378496ed0be0b77ae580cdd3a6bd539827321fc966d08ee7f71babd3911ec4e3aa1eba9f0e0b7b41dbbbd87c61187a891";
   hasRunfiles = true;
   version = "2.5";
 };
 "econometrics" = {
   stripPrefix = 0;
-  sha512.run = "6857c9cba42e12a2b4605f0c7b094ca575110111ff1efa46784ec413482496309dccac13865648be3f9e7ced08843ec22b5892ec95655ef291c8a661359571a0";
-  sha512.doc = "b567c985cb1f43d0c994792f67b356f3f33d31ddf3a592a5720b961f6906d0e22952caab1d47742a896ead71961ef8352187441a9dc2b2ecd6b29ed4de36d920";
+  sha512.run = "40c205421ca11111d2aeae9f84b4e418e6b4f260858805c03029753af03def61221b81eabc18dea5fd4cf5722e3dca1ff9f575264257db3a8431b061177530dd";
+  sha512.doc = "b5992f38536f0e4ec1c570d78523530b53e428d922517d0ad380ec76dcd2ee21243b9979e876a7f809b1581f4c4b6907bcd3f581dff97c13a0fea2a0fca1d790";
   hasRunfiles = true;
   version = "1.0";
 };
 "economic" = {
   stripPrefix = 0;
-  sha512.run = "f89113cfc9071c5a064f2f0f647f4b1735bc584c2fc637c7884707de0843005c4c2c9ca19d538e9b335378d0a2944e2bbb305b17c945212ea9728c5553d10c42";
-  sha512.doc = "03d49f08dd445e41916c254261b2de7f3355736b4b8c30a3f517ebdb270a4764501c4f6c3c6829b7d4941959e0d4936b5b08c514c90b86e62735ef835dffb4b0";
+  sha512.run = "d8bad4a76eefc8729ea06e93a63adadfeed57de5694775bc44f1dfe03217101609ada6d12b7a2382b9d80d068f0c51fb2ef45c2cf289fe294efe23fcf0bd028a";
+  sha512.doc = "39c319f14ee3d6fb10fa3c4f5d3a873322d332bc181a33a70020a9fa787383b72809b3b9aea5fcf4a3cff9930543e0d0269f74146c12f2b0d77a4f77c159eeb7";
   hasRunfiles = true;
 };
 "ecothesis" = {
   stripPrefix = 0;
-  sha512.run = "ff38f30f7e26f8889bfdb17b04cac6237ea42f5206a63fec6759021a6d3d31a594fb33e228e3c57e727c8ce521b6602514a929910410691df46ecfa316c6dc15";
-  sha512.doc = "3f6448549ed7ab119a7fb466b91eee7e9869567f0f59ec1c0faf1b3d54c5ce902b14c63eb9955d6c04bb40e98c5921864397039228aa301bb8f7e301afe11a20";
+  sha512.run = "bed57bb0ea79c74517b26e51d88966f9a05943c4df6464200ffe36f486e9cabccaef2fced0a231b40b40410ef32c44a3ebaa984e6def30bde5d426dc68e42309";
+  sha512.doc = "7e1e3716de1eb964142a85ab31e28fc807ca1433f964e44cc8a7103b9ed023457bcdb01af2797a5e22fcf75a2e851d9c534f17937fdc44e4ebb6b5a670c6c115";
   version = "1.2";
 };
 "ecv" = {
   stripPrefix = 0;
-  sha512.run = "6a735b35ca107505b4f3001cec4eaceef97add305c9b4b0500ec831989efe128870f5573e4f731c898c4b6e2ab52db1e841d21b93976494c6e019734d3696636";
-  sha512.doc = "dbb8f0a72268b2c2dbe3a39b30c2168ab7015b6d7938a976ca32c2e745a83bf71c95dad64df660ebcbb71866290ab77a6f5982b460c04da91b82996b40f65866";
-  sha512.source = "b2b2ffda7bcec34442b74d61f6d9715d853223fc49650161cdf8058815934fcbaecbb5781b339c55360192ac9c47a023efd506663820ce1aa14dd0f5572edccf";
+  sha512.run = "0ff0a352516aa90a19eb1a0a9bdc651601edc63f03c5cce9face4bd45b359734d954e2b7859a0244015e3933eaa2d3803d5579ab9260dde51a0ec89db8034910";
+  sha512.doc = "1cb8871b552a3d91fb59c644ea98373742ba9bfea64a92911f67f2795afaf01babe82a691fb3344f236e42b92860b754d7e92132b266713948cd1a6af13c58d7";
+  sha512.source = "e17e9d577cb3a562a381c8ee8a09e7b3bbdd236812fd9e647b72fa18d6f7b11c9a44f70376d5dfdf2a3b81d1480b055d23e8889661b557e88c03f02eed033946";
   hasRunfiles = true;
   version = "0.3";
 };
 "ed" = {
   stripPrefix = 0;
-  sha512.run = "1f3fec79ae46c23f2cf52ccbf8e5f6521a67156c94c68b54c03d61da2f0628b8ef676fd9571e0785ec1fd08eb2796210d838cddf35742ef4405214f6d7c5f3e0";
-  sha512.doc = "ec02d591ae000ae9b4fa161f9401ca170be33f72985e96ab9025cdb3543d17f921aea6c9ccf061e69769696ef28f5e81d55bcfb85eed27b735c2b186a5f84b59";
-  sha512.source = "1eb9a4eedf186ba0b3130cad23bfd21745d838ce9869886fb2d144fbb41cd89d3272115fc67ba91b9bd74475a407d310eac45be908ffc2345adfd5434be5d3ff";
+  sha512.run = "a6999fbe2a9a44f961ef60d3da65ea306809d1ee5c39d2fc605982083d69c3c723a0e18f4042cbd441103421cb569008925279871ea8ceeb0af4c4a21b746943";
+  sha512.doc = "cd7bac245c14e969b5162b86cfc76e0673da357fb1492ba311930ea7e20a6db61e3a13be2069f4f589ab57cba9fdfb0fcc8779ec8607a624437d1b2bd746825b";
+  sha512.source = "7736dd9bef8c265437675d87a6b70bf0bb67ad736b668210b7187ddfde899b145050e18a9d54629b966cabc8b46028dc982b107c0f869e581669b663d3267ba7";
   hasRunfiles = true;
   version = "1.8";
 };
 "edfnotes" = {
   stripPrefix = 0;
-  sha512.run = "f08a76ced11ed677e3e5be303d887bc6213f0ac6f3a19a1a4bd5d145aa3517179ab0e95fda21f7e5e2e48fc301cda825e4727d50b1dc069443af9e01e03e9288";
-  sha512.doc = "d8766b87b737470fb65e653e79c3eeca5e846e3afae6c067b62f8372b9c9e7607be0e2c29587747ec727f6eb588740314871f8671b72647bef87a215867743c3";
-  sha512.source = "fa748057e28d6f37d278010dd3e75e475662b20a380dc0b67eeaaf2bee72652b8e9c2a4bff85f4cd9d10d5e98b424ce1493488de35358d44da1a90e9062e616a";
+  sha512.run = "3ffca21a97b1e54045129a8894db25d677a54c791e3453f53285741bceff0eb4c7cc00e81706ef77ac475a0f54a7868f2e9b444df0c4e4ba6b161fdfa954dc07";
+  sha512.doc = "144e2e22c4ceb6ea46235ed51b9a1ad4b20aa524af7b6eff617194aaec4f1606d857a8575e95816b4ef089e5c7d3fc1e2fc8e622486bafe9e5a9ace22bb44105";
+  sha512.source = "9fb306c9b77f0988fcc2dde74336687e8678364e2d53167bff8053a5888de1cf51240778281a7c864a7b8a66738d2c894e7e4b7a88871f0f7ce0e40c61b706be";
   hasRunfiles = true;
   version = "0.6b";
 };
 "edmac" = {
   stripPrefix = 0;
-  sha512.run = "b7c3fe7b30a323d6149563991db847c7767bdb58581db6f93f5d8e0d4cfb289c70e9d2e24a5361e4c2407831d86a25096ea7d0757634ac83960ab1c3f49202c2";
-  sha512.doc = "e1b679a2cb755f8d43fa89c5079144ddc0db928d6e723db0c36a80c03ffbc839b91d682d626e65af3c741bdacfd9266d52e041fb6b8470ad0d52e3f7a349184d";
-  sha512.source = "82951241d58ff2288b5f0a6cb3f4ca9f1334af348c5b21227c1728b10e1785b801136ce54414be39525b46cd6c002fa4037c47cb8d01be5ae7f2c359432fe274";
+  sha512.run = "a9f12f0745305ce261b142f96ed496341997098461df749715723fb09d978ebb037976c7fd7176eae2475d24c71df201a0123b1651749b2b96c9ed9429746f6e";
+  sha512.doc = "a54f4b1171f8f6edd6e655f49adec69f21a8293af03a02228056ca700feb7b656cbf715047a20f45127695fa851af45fb5e4852ccbf7d28374a02d14f6e55acc";
+  sha512.source = "b32626fb4acd41e9d853131d1c32e43d2cf10ee021ada41b06b8cee5c88b1f8ec8511057f83865c9237d8a96a9648edf8696d9fb6166e4c9f072e8dfc10808a2";
   hasRunfiles = true;
   version = "3.17";
 };
 "edmargin" = {
   stripPrefix = 0;
-  sha512.run = "181420648bfd1ea6d96d5727e4b9755d5764e34d1402a2ffac3ce661db512d19b30848e44a3974ff93773bdfe3146ae68a97c010abd98a8635c236a20194b13c";
-  sha512.doc = "0d06d22779d492c2f6873c9c5b4931b68475618f1774da9a82c4edeafd0ccd7357a9214e8f9e536f18efab333537813748166a3b1a2bd85d66522100628bbe0f";
-  sha512.source = "8ecd526c9001e72bdd12bea4119ef25eed8a283abf9e32b83f9209c2ef5d373bab3a99ef91dfb4bd2289547787481a032a70c95829cd1d907f9beb619e8f15ea";
+  sha512.run = "242e7eff25ffb539353b73c18d31a268efaebe4fb51d9ba1cf376346e559ea2fb380743b29056aeb8e4db2065a660bf59e7c8dcf5469f91c39135be2b8c9527c";
+  sha512.doc = "da77df03b3eb89daa0a544d61c88956a7105073110dd9e1f4d1a753805bdf722a63f5a9674897f4f09a92f689d6bbafc190c870cf5784e02df7efed781dbbcee";
+  sha512.source = "6f3b848e12b92f773ed23f51bcfcd52fbb8209906b937486c87ee34cbe29d40739cb6c20799ce64bfbe7b0e3dfb96d604aaccd005ecc1dbb7126bf5302d3c814";
   hasRunfiles = true;
   version = "1.2";
 };
 "ednotes" = {
   stripPrefix = 0;
   deps."ncctools" = tl."ncctools";
-  sha512.run = "797821d6a4d686c74e4e798de8f78fe65516e9f0b3f0a994d8237d1a830e919e83edbbcc709fcb3563e1039a8ac11adcac715ae44c6879dfd55574adbc396300";
-  sha512.doc = "86f0e299c4d39cba61b4c69174958c3001e076323ae7422bde7d557e7b8d6f99c07276d5568f88a74ea2b777b471a681a2e21cd5f863e0eadd21f15002baee78";
+  sha512.run = "be181a2665a8dbd44d98f75a0bc718b460d85c4fb66e412e18f12b542d65a870660597ece71588e9410214a61d6e2d9883089ab1439eeefd63a5cea95fca5d6b";
+  sha512.doc = "242ee2a951a61be7dc0133b0a156611bc574c4c54b879701960f312c58613221acad1c83132658d622962ac24b13b4cb5c91e46c77f774dc3865db57e126e0b7";
   hasRunfiles = true;
   version = "1.3a";
 };
 "eemeir" = {
   stripPrefix = 0;
-  sha512.run = "5f340cd1c0aa44e273d58e3a7327ce66fca6787b654ebbfc5b4dbd8fd52879423e1f79b7fda90b34b5cbb973200776fc0095e75ffab80f6ef916c5ce3738dc48";
-  sha512.doc = "36de239518df2984bc33d2ffcee53a204e8f048f44e4f12dd18fc1354dcebc4c597f62fa62ab4481dbd9d2c82245144711a9d4d74fefda3f5043d477c8a20a9a";
-  sha512.source = "f7d93c5e9048c0454a1b68a6a0e7f6d09eb4b2de98eb0abe5d7f48ed5b632c460b778a7c1b7ad0e0a1d35807c2fbf15f9fd6de9257af350211dd5138b28a7339";
+  sha512.run = "81679a08a320275221058cf0a73d71489621bfa4322a4b90759f67253df06e5c98c1325846966924c145092d9f63d9ba51544d0640c7f0827c7ebc42fddf9f3a";
+  sha512.doc = "4f7a67d76504c4fa8de1f7f4e5db19c1ed1509a3ee68d93811c84e3ca523b8ff040d61e14881ccf75d20edc7c6b52550b3b3fdfa58a9a73bf21ec7f8b0b719aa";
+  sha512.source = "a75e1bc385293e5e418af04a1c03ab606c5c77fa95bc6830a029e53e4298edd853c0bdb92ec0b97994fb8d2b7af293c3ef60f3d14974b87e079f15f904436d4b";
   hasRunfiles = true;
   version = "1.1b";
 };
 "eepic" = {
   stripPrefix = 0;
-  sha512.run = "e5a6092f6077bb779118caecc87526e4815a53703a99c374b53a8003d4578b874ebdcdd9c002e5757a4425d3439f1413519f17088e7cf050e0cbcd0375e214e3";
-  sha512.doc = "47fc6adca851f7f25cfb769a82efe7a5aa30973d14b2f3dd0523c3f45ef3b00e0bed7867fe73ee3bf76c2e8fa445dc98c53e30c9285fa160537a64122ad57843";
+  sha512.run = "37930ecdebd43ac8ac1dcb42da4d4eb4b5ff371605b9bfe4675ea861f4edff7cb19703669c8356c3d69e7ccc09789bc536714114397c3bca74fcb4a22b6f4d9b";
+  sha512.doc = "02efd8775f6d0db35fa4682c6bc715fe619037a6531de60a2955fbd7fca01d97a8e6dee0109a8cd7cc8237bd694c64797392991e5c203baab49dd9857b0ccb4c";
   hasRunfiles = true;
   version = "1.1e";
 };
 "efbox" = {
   stripPrefix = 0;
-  sha512.run = "d58d6a149f45075d8b0bcf8722db17efc2816cb3cbebd459a46a797c6429c7a20f3c0253c3ab5234caf314ecd1fef90f2e34119512dafee9ead0a9979f975dde";
-  sha512.doc = "9035f0778a287edfe7cb5ef2e30c6c3997ce31a48c4e1fd59f3bd8316c7a4549ef741c198009c98beb265e733f6c5f79de42186b323b948d91a170795feb685c";
-  sha512.source = "e7964f8d690255df4ca21e5c0896a300e7a28bae50947a21f7ad53cdd58931a9aca20e90e58f30b6c119a7b8015e3d8cc92f57634f0130a30e4c314fb421914a";
+  sha512.run = "5091324e7f5c05385296d570027a8546db4220a24da330ab85ef5d1185772f51b4f200f63eaad0cfa3eaeafd3d055509f4ffbdf798c1139a60c5e572ea46926e";
+  sha512.doc = "394387e09ecb0d497014a62fc1caedcb3e00148f6e0a9a16ae1b53efbb4d5cf749e154e4c905d197280e4ecd9bc88ea07ab7e0c004b8c30eadbe7f9f414c1345";
+  sha512.source = "4739cf6bbe23b69605079bdd8c39eddd6b44e192c5c335001c9612598f2a005e98b853bc02ff67996b63a971b200996f35de2331f230d9c43ed73ad9a8a98a7a";
   hasRunfiles = true;
   version = "1.0";
 };
 "egameps" = {
   stripPrefix = 0;
-  sha512.run = "205128754e28949c842992a8a14863dbc2d0dea34bb16c59a641d9b8e5339c5ffb3b46c39bb4047470bfdde1fbce73c987bdeadcacb118236ebad64bf68a3992";
-  sha512.doc = "477975b0a6951d4261a208075bd4014a13250fc32179cc2a66738aba6aad9fb497a8b3605a5b8c5f62b5b491bb12702fe05546ebde7312dfe649adbe0072310b";
+  sha512.run = "b8d1c056783c4a71484a00f0d80de4eb9de3beaa54cc4dc71e5a7c171871b5dacba753ad03ab196661b1bd73cf9d2eaf202a813b73bea405f807319a143644cb";
+  sha512.doc = "0216a85d539ab19aef8c2c4f313f5095aa39e4955ae9610c14d0243081b7af98f50a74a2f7720b376493e660a5486f83e69b41f8cb8017ff66a8e706eb9ca71b";
   hasRunfiles = true;
   version = "1.1";
 };
 "egplot" = {
   stripPrefix = 0;
-  sha512.run = "10186e8c2334e7858995643e998b5fb8b5ff0f99463e893b215da9b2b822c3bbcdcec23c1090198dc1e1c1ade49729f3da7c834f987f4838a092489fd3d5c801";
-  sha512.doc = "8a72af7dd0d5d022d9be243974de413c317b36af1e334f2c858dc7b6a1dbddf4c6ce2a001321ef39cfc75bac5ac37bd043aaf87e9bc3e6e11f546d59b6aaf91a";
-  sha512.source = "d569aae99941d6fdc11df10d41f36fb72142248554acf7b923b260a9daeabbc1b9e13efb74e6dda1141ed2e4a7ce07aed311dbd9f0b93052de537e4ca4d4017c";
+  sha512.run = "c96cc3185c09f66fc6a4c19958b88d178cf0b6ea9d889938df5a07d4fb7b19962a9c17ebe0a906ab19a8725808aa09ee41b39a0379fefbf8816a5e78abf9201f";
+  sha512.doc = "e6e55708004cdf3dfd753071e2fc242428a6636944f3ea65510d2e9f8e2921b869ff4a22d100b43d70ba0708a5b19f002bbe21f57c858ec72b11ffe82e161e50";
+  sha512.source = "45c810de39612dcd60d71b4acc8aa9a7c2c22c1eab8e1ca1628ced9873c86b0ff31035ec5f72d89decf91ba552c4e3473249138f557bd650b9863c5385502436";
   hasRunfiles = true;
   version = "1.02a";
 };
+"ehhline" = {
+  stripPrefix = 0;
+  sha512.run = "d0549e354c34d1ad76502ccfd565292074a8e1aa72f021c9efd8dcb39ce9465ccfb0add899226775e82e9e90ad27a7980d5f79fc8a5a71a449a8a17845384918";
+  sha512.doc = "a3c436900a964fecb613469c5beca557a0f923d1c651591d9b884f88f127c435081a5fbd2f4129041f5438536901feaa4697b59a011064a4b4822ef6ecea5068";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "eiad" = {
   stripPrefix = 0;
-  sha512.run = "6007d8e3a6d4970ed57360a47cd01264b9c427efbe96a324e89c936779e13faff7f3e978afa125576f8653a80c06fe777c42998a6ad5e09f398ad394fbdc650b";
-  sha512.doc = "b9af768a3106b9e6be5e9afc68ce1b5ac113ea0d790a53013ed47adfd056fb10e89ef25fca935760ad24590cd2cbcd4b2b4ae7853650c8d1726d99df3f9af9de";
+  sha512.run = "3123d601a5f5c34c45bff20eb052a0934a2bba9d693e460fdb84908ed327eff8b3a022a5c617c8818bd48b1fe72b9b0c48443e0cb290f15e94334152f1f5e5cc";
+  sha512.doc = "546bbad79f9f13e420b05b318010f078ea8844a02cedf11faa506d41073e2e0668356291a4e12758e5a37586e4aa9c79c17c8135f244756c39b61076038fb8e6";
   hasRunfiles = true;
 };
 "eiad-ltx" = {
   stripPrefix = 0;
-  sha512.run = "9d6e2c3790e2812b8865ebf9a1011b43fad20410b8cc176baca397a81f7dce48e9c286e64f6d99f391717dbe2a75252c7ee993be45bc3bb9c08b405c29cdd01e";
-  sha512.doc = "21baf2a00e8ea5029d04a1ce2e35efe4f57180c18ffaec1d5c335894769e5419849aa6487dbf9c2c1eb33cf2bcbca6221577f1c34e2a82dd438b383bf93bcb3c";
-  sha512.source = "e07fca4c1602307235a87258205ddb1d026d70d68396f9f4b342de457bc5136899b40bf6cd7dab887640a20c2cfbcd5ae5662c58840d78fa356acbd6144b4c0a";
+  sha512.run = "e052333d39e72562e8e84d0e7f6af7066c2068a782422f612a26bd2903d8143874cd4dcc556d7406f3601a6b3a28506a3c0edc92e4029d124f02fe91edf0163c";
+  sha512.doc = "907a20283eb78965dc4d8fdb46c542937c70c7a3f2849984034f9f37872d4d3042064fad0ee232132aadcb7daa4d4ec4b9745f8a6d0406dfa7b929ea68be0d96";
+  sha512.source = "dcdb63542954048aa74a1a412cef02c16706bb7f66870e72ab4c772e2e41048c255bd02877fc60ffdef15b09e229ba721054cfbcbea5ce16fdaa181ca0bc8283";
   hasRunfiles = true;
   version = "1.0";
 };
 "eijkhout" = {
   stripPrefix = 0;
-  sha512.run = "8c23d5c997321569240833e95c46c6c8cde2630a8ced730566d2d3cdb983efa98850b6e40305058cd1b264ada9ec631c715651899c564d3d495b9aa58b0d94b6";
+  sha512.run = "448f3b51c984a1ec81428c1840ba01d072cef4d1110b85f8d4f4d786d02e8d08e702e0b33e757035aecef1f43b604746c7b6f492905fbb201fc1a34ca6fb859e";
   hasRunfiles = true;
 };
 "einfuehrung" = {
   stripPrefix = 0;
-  sha512.run = "fabd484a6b579c08f195b4be6594e43f99e1a2f2d1611697a285e8ae5b6028a45723b93fbed60044457ef1050d7fb5b91d2c0be03c9d93a2be04ca4535b3bfe3";
-  sha512.doc = "e617ede54cc003a4b9f61c14c2dd092a0f266e00a5c885f3f91f2909d3cc98bd98110886504ac7ae0a0db45111c2d4e91509aecccf4dd93c4f0b43c1e920baf6";
+  sha512.run = "e346283ecfc6ca35684267e8b11f2800c6715378d84c4896e4d29557fbd97e57665a45503e7cab7cb7def679914b7d737a222e05eaccf543d8d2f7370ed49792";
+  sha512.doc = "1c012e15159a2c4940cb7bbcb17bf3675c2b2028e939acd3b1c98ff2cc377b55a602f404900cd4eae3f03de74a98d61f6db0de9ad90e8598d9f49b398b5a6a83";
 };
 "einfuehrung2" = {
   stripPrefix = 0;
-  sha512.run = "0c0d36bc2c7ec2601dccce929c0a95ff4fc7145e1e7d7d8f5eb728fb59ccb297145b1af4037331859cd0d80a57c78d5d9eea87a8004d32a2368908bcd194e503";
-  sha512.doc = "44ca3c727ea487061934f861941737a139270466781b236a953dab8e8b43f154169ea5892779f3fd8fc377d29d96943bd2f119b38838c3eebdb02ac474826da1";
+  sha512.run = "affafa673dbb2bb3bd935a977a809bab30d01c92f8c9162eff337b635b57993e884c9d96398d39acc16e470a362276579120f4ab27e8cf8111928b12e75cc72b";
+  sha512.doc = "4a4c9549a7957688071226e4383dc9ad3c0580c9e321ab5a71c75806477a2156ce74aefa6dff95a329c65ae8ae6eeec9fab6f6e1f689a827b7050e457b248093";
 };
 "ejpecp" = {
   stripPrefix = 0;
-  sha512.run = "3ee9bf015d9ac2b192eee5d004781e1100d52ba992aeb17e13689008aaad2e77ea61ac56cebfbac42152d8e4684591d401a2ee7c3029055b0b89317741bbc20a";
-  sha512.doc = "ddd544bb7320a80316ed7ea132c30ae6d0e6fdfa920aabb424762a9df7672ecf4c2c584068917927de463680f8e2657a76c0e5664ea0c3817290d7f1dffb00e6";
-  sha512.source = "e98ec063e58441130aa457d70649939ce39c15e079eb1629f42670a5735b292de0ffa34abbd845352deeaba89b7fc13f4c8a59243cb29c5f5e6069d112d26457";
+  sha512.run = "eddfab8de433480327dac32762640d610fce78903630bf0b8b26548024764d5ecf1b6356d6a8d725eda75f075a0b8627be6b90117a11a6dc39f0fb0e60eeb155";
+  sha512.doc = "4131b375690a452fddfd5124611bd37017913cac6ade1bbf35ba01d2656f098141e2bfa83da2af7a25dd814312394c127fa1dbb0fd61a3e0f511e8d8c9e6d608";
+  sha512.source = "0d7ca22abaf589a795717bc09b06b9d4b91b030880510a7696dd93f8d4dfea1320a417da18659dc4e1019e5f66e178c943cccf65842da611684a1ab543ce2097";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.7";
 };
 "ekaia" = {
   stripPrefix = 0;
-  sha512.run = "29e8ca6b329e656b2a2466731d74ffe8ac5b6fe02ec74386bc27da259c1a10c72c11d04c8c46d46f0cf0af4e2f4586b3dd79173316df3bd26e25438e67963c9f";
-  sha512.doc = "3055e197d52bc7bb8a934f0ae3516fa41f1eaf14b2c3c6fc18866c737d0b83c3bfbbe395be6a4b4234880f7cf766a5656e78d4f83dac67909fd52fd29ec1c1f5";
-  sha512.source = "8e82436dd0ac66bf9d536072cc26168d4dfd03620c1bc2cd11e7bcdd15a49f4fe65dbda74b293237fb04209107ba53bb989ba18816c5e7a3b8a90914fcfba64f";
+  sha512.run = "97479cb146f37e0fd80fbcf67db44a474d96da9897fb058073b75bbd9a109f16dfa36bdd97c5fed5397255cf0320028ca687955fb40e069bdfa262af50773c99";
+  sha512.doc = "f95512969ca475b87f09fa3b61e2be1ebf949161b7209721579f7ec1399e6873186535ec30dbee092fd69dc427a199daa4f94ee47cc08a0fc37fbac6213429de";
+  sha512.source = "f39b1a8a90bfe899fe914b6a4e99e08334ecf01ca54bbd6275ab9edfefc12f7f165eeca09b6195532ff92d72e4aeba63e94be7afe00d8215a86dca3695d523c7";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.06";
 };
 "elbioimp" = {
   stripPrefix = 0;
-  sha512.run = "6ebf09f01e32d39e285c51bb0e8b04077075d4e522d1c1b3f173fa67926ad8b5003e2e604f58c1e1ef6171ed23c0f3987e99601cd777df53fdb5c97569ef5ff5";
-  sha512.doc = "ff9f01c92e3156e3cdd2f384f4989d86202aa7e8018c5acea5b2cbfe38aae835b9e2c2f036aa0839fe74dd88441e0685629b3c790f2c189ce3d55314c071daba";
-  sha512.source = "8ffa21f034924b540352a7dbfc13f620cfa3093a1a9ab95635e42186ff72ca4630c57e8a581dee3136269508bebff1a44b5b2fe34cffc68b9a87133030b28d35";
+  sha512.run = "4db2b191fdb73854bfe605efed30c4835a77180fc865eaf201f8405fccaf880e02ac9ef7802c2d215df8ad77d01fff611114c391a6c43190f95dc2b40cabd596";
+  sha512.doc = "5097310e0e400c269a30ef8ea26f400ac7768f4a790ca5b79222c0480553434343de7b0976b18bb6d67bc89dc2b2ad2251c24e94e4747450275fd52a8c9d3285";
+  sha512.source = "00fb96c43b0639f88b582bb26b6306d1ff112e9277c34f6a623d7643ac7a003b31a14b5a82b3b03680298e5c054c137f44a186804a90127ebba14442d5c71d6b";
   hasRunfiles = true;
   version = "1.2";
 };
 "electrum" = {
   stripPrefix = 0;
-  sha512.run = "51e9a66812cceaebd2c3d69a94dcf3187ced4164defc0d77b6d9252522d6408b92f4b0ee32efa15611b107fa9bdb97ccb736a947842dd8782dc28eb009e6142f";
-  sha512.doc = "f743cda23ecb70993726246bcd3b8aea1bcce91f2dfd1efa273a3c5f70d9c42b3abadb41897e6af379d1836a726223fd772a0146f39333aefc5df951d47086bd";
-  sha512.source = "f796b4c53ca00bca59af73a6da63248f88ae3f8dfd06a9d9aaaa614c74423770efc483f0616ac73bc61a9036dff0f308501fd929ec038dccc4f096c1898d4c6f";
+  sha512.run = "c12af3a1e6a76d4a94f0d02fa5802179fd1f47e31be29e2151e7be3f569f027137c9d0268c86696d822b8d7a4c88ae2ef264341345c6a7421a8ec1026c104213";
+  sha512.doc = "b840b153a134fd9cd923aa9f70576b7e586bca87d7f1b9cfbf7a1f25ac4972905989876545a914ce845096dd32579901ece93851012d057114c0c61b1eceffa4";
+  sha512.source = "caec0c43c2870a6640863bc060e02c764b235336123777181ae1fab42e32053af0e2c09c226dccbf8bc31b450c720b69ae67f01b66b36d0ba308282637afb414";
   hasRunfiles = true;
   version = "1.005-b";
 };
 "eledform" = {
   stripPrefix = 0;
-  sha512.run = "2025cb9307b28e472a4a91f8a061d4cb209a8a4f859ab6d91dab68c0a039d4dc757cfbb4b5402788f6824d5075da98ad96f7f3ea85e11b6f861738ebdc0dfc5f";
-  sha512.doc = "0b467c65d18bf12b1fe2b1eec229aae04020236c098dcb51963243b3325f46d6000c3c00234f6cf726df426bc2fd8b349c5d239b14af2ed8815cd5ce9ddd10c3";
-  sha512.source = "53cc273f1943ea8e4238d5342b9b696b203bd228eff4dc72ba539646b89baa20184bac0009d6104ecf9a6952d0c1e1a060a4a80ed4b17a0877d0871b6fb5cc61";
+  sha512.run = "4103aa370bc8314433b5cc9242390340467591bc38e2f5b820f9d35a1951bb9fe9e384b1d3c64a0434b3c3dc87c42463a0af5d9ff872180bc2b7a08d4b40c080";
+  sha512.doc = "c59cfa6957a21c5e74d9a15b7621536170137447111f9a88295e79aa7a29dcbb3d1f1f1367afd7243d2506b864a53df41b0e10419592a5e4e12af8e1e90216d4";
+  sha512.source = "3bf4fe6df4cb16c8ab7a3fc366754321c5a1056cbdd51a787da33d212c39ffa0bc73d394944b7b2cfe52b4f41abe0e3df7156571d3acc1d1c3ccd4d467798430";
   hasRunfiles = true;
   version = "1.1a";
 };
 "eledmac" = {
   stripPrefix = 0;
-  sha512.run = "b48842a73130d6e0126d1909d9b31c68dafb4d83c53a852c1833f6fc28af445c0b9b073fd92ab2fdd7fc9aaedf46027eb523657aa03473f87565e040f0fa14e6";
-  sha512.doc = "bf47b75d3721a7e15888329968904e88c8d3dcd58a3d4c7851161491f59884e2d2db4c495a624287fb85708fe627e106df16b845831b3cd3856157c23672d0c3";
-  sha512.source = "125c734378cedfe95d1671945e3025aee97aca10e14ddae6328ab99ce579f7133af70d97cb7337cf4e068333eb528a24ec3a6013586c6c3aa33a032a068d373e";
+  sha512.run = "644df002adf2f39acd9a6704a5c2e18e02f30d17c8e04173fb0f68e9daf5469bb6290c7e98ca181ebd45b40d54dbdf4a14fbbbe7dbe8f945b226ee086efc3972";
+  sha512.doc = "14c8b024b6cc817a025b6a4870d3edcf956ac9e358107c80d29fcab41f343efba5b5832dc22cd11fe2e92bc74b58fc5d67982ab26a60230a5b92af4223543e04";
+  sha512.source = "8d3436d3e3cf377148a52ea77ac93491abc66bfb1271538aa85f6cebc559ca225221b4b7dfaaf33426505b792ca57697d6edf5903b5d0e306434a4c32e06e8bb";
   hasRunfiles = true;
   version = "1.24.12";
 };
 "elegantbook" = {
   stripPrefix = 0;
-  sha512.run = "e2db7b4368dac303292ee41df8003f8bf9dd3b86676e8557a4a63a01bdfbec3602d8705e554595c4abcff114f433d850d2d3e795c09310e5338f3fb61efdb131";
-  sha512.doc = "46dbe9ea829c378a822e853fc23d5574555e2c5cd37301fca88c49703859863999b652061cd9b83ae18fa0354579a06a5e95358b48c29c434eda34dd0b673288";
+  sha512.run = "8903163ce14195549cdca1ada3473c379630e273d1889f99b86eaad85f07913cc3ce54ed6c14650376729ca0d470d639b8b10ed915fd11f5639d5c62845c7118";
+  sha512.doc = "bcdda56507c66123acfc3489dd055d2fe3064875969d8b31c535f8f9cf6e06555f701134c1075683a392ba0ec2933c1a916b0a05eb70d761ff45b29a52df8648";
   hasRunfiles = true;
-  version = "3.06";
+  version = "3.09";
 };
 "elegantnote" = {
   stripPrefix = 0;
-  sha512.run = "d825a9f543c342ee0d5af62ae7ec203e444405d5ad49732bfea6a27fe94d0a1c90d2a21159270bc351498c29cfb4212b8e4436cd85de2b8ea05eaff19988c439";
-  sha512.doc = "43c055b82d0946e3b18b519e8e8afce2b095e6ad4bccd7a735961630041bd75e63220bf43319d0229a1760c9f0822e97308b0c5643e7d1a78f8feb680a984a93";
+  sha512.run = "fa01c305f478e100ab30b187ee053ec82c0d067ea2a463584a60d68b8358f9e8f65027b87d2e59f9c6c6df2dedb3885f151bcd9db8df5bd9e451c035d21bfb51";
+  sha512.doc = "a1c24f6637ece128a313f24e8ef1ba2b587490c876706f0d2fff2734ff0a5e799b6ae981d073bd2577a60040e121e59d1b3aac81e7ec0e844a0a270a52862020";
   hasRunfiles = true;
   version = "2.10";
 };
 "elegantpaper" = {
   stripPrefix = 0;
-  sha512.run = "47c5fee7374e14f4038fbcc71733c909be01eb408f6e34a0f1f90fd914e897c3d4879de00cd21bff2a33b01c7e3a63929b6cc8acde65f03a4018c85fcbe1a61c";
-  sha512.doc = "b9dcefae913b6c37a27c0b3bd94a08772bfeaf35b9027938cc0197acff11588c93e788fa8e7a8626bc6bfb8ed296cf29d1556c8a7d20e7c76097c100a7fefb7f";
+  sha512.run = "b7fe545c2c9d2e55e0cc9983bc2158d41cf550b228bf3357b8a4a051a32d6692aa7ff2b1fcba33e17cac2fb2852e2bf14467675aabd6b8ff6f1d40f89ff2ebc2";
+  sha512.doc = "bb99b00f8d826290757907db4179d74222cf4cd992c2bc7c3342a4ad97c2ca83d018ded548571b9acaf9b46d444909be60603710e56638781edf3c036817d470";
   hasRunfiles = true;
-  version = "0.06";
+  version = "0.08";
 };
 "elements" = {
   stripPrefix = 0;
-  sha512.run = "b926fe3ba4e78a6edd6a99a35edef4c90516541dc3d32d5857df3e90784780d7c34f25d80fbe9f98feb1a0f29583dd41eb1c093253529334f1fef0ae2ac889e8";
-  sha512.doc = "73f613bfe8dc49f6904ebad6165c0677bb2f2855be257b9b82c68a9c159e07e328b4066dda75033bb4a70b698f1a50f0b165382dcfa7404febf6742965fceb73";
+  sha512.run = "777546b1aa3ab2c4a951d618f73b0a37f15de10afa72f710786ae5c9b29daed45ac61db978e07a010f72531203d6fb066853657c6cd728a6dd8850736756a063";
+  sha512.doc = "d72b74d189689b77134347ab0e76e7219fa2b4cafbf33cf7f9504a9293635487488b652a0cb293be2f28291481b2eb990baf92739146ac7a554d710b01b6df57";
   hasRunfiles = true;
-  version = "0.2c";
+  version = "0.3";
 };
 "ellipse" = {
   stripPrefix = 0;
-  sha512.run = "75cfe216b2afb889ef873ba24f324a0ba5d633a2d0bf4c3f26d4282b16b98f0e2ed2d72c7fd4ed528e0f8e8411f5a826d5785b364459a34ba9c959f5aceb58b1";
-  sha512.doc = "e91ab66f4a71bf41e2343fc4f8ccddddeb13d0750a14466054d8280c951026f8fa06bfae3f1e8b1a807b757a61c87a5d8c5bbc89f1cd0ea2533354dbf01487c7";
-  sha512.source = "89466b2e3b44700341f96d52c9810c213baa79a543abc8804f5ecbd5d5e9f76cdf032378cd76d9b8545655b45f91bf15cfa7ca5720b00fe113bb1173bc488553";
+  sha512.run = "edcbca8843239eae7bd927d9bc6b5095d1b9a4d8db213e22c77ab4a7c5bf7a09781aa225af26f1e4127f263d5322c8138cf38ad1a7b19688468ba2ba56f840f9";
+  sha512.doc = "722d50daf9863145c81ad2b97d6acf6b6229d65f868985878651b506b00f52c4a556b888ed848ac1194c4a68e793bc498b2b6b09132c8070b61b103e6ca9137a";
+  sha512.source = "29736aeb1a6d64d0e94124e6c67246650f517fefc9761f58e70e1438c8380a25ce48d2deb180683da02f77ebb508302b3e446b534b7e56ba257e61ac6f5fd62f";
   hasRunfiles = true;
   version = "1.0";
 };
 "ellipsis" = {
   stripPrefix = 0;
-  sha512.run = "93d2ea4ce7551f6ff0388e067661d299bf8f0a1fe335b5e694a3556760db6a63ea0f418fe5a42c450acf7d53fa60fa80a9d3bb85a6c29074ab6f14c9d4e5bfbb";
-  sha512.doc = "e13ab159b28cbb6e9cbb489c829065c8bcc8e820f4ebab7c9f292d8985a4cdc16a07cd1f85f15c28df84268474e1dde03a9c111f4cfcd67871970eaee8995068";
-  sha512.source = "469c84ef48ad635cfdc0b6e7a1ab5cb0d9eb23ebb94532ae6cc5ff9e4795e77909edaead343ff96a3baf15202c5ad8e63846315836fde0fde11d1ca1e1e7cf81";
+  sha512.run = "1a60250e0db34f3dca834a1cf276b2f0a5975709bec3ae3c7486f92fb3a5c49ac9b07bb3cfa18724f27504c8e12bc7ca933edc453dd0ecb65d63dc5f7fbf75e9";
+  sha512.doc = "35441d8562d2be79787f2d3326352dee2fa7a9a3bde500f4d61dc5d8d3eb4f4f782548d464fff74e0156664616342e4afa3a03bc91a2b6f8a028382c12c19e9c";
+  sha512.source = "68e34b002ba2e9763d6f5e84368fc1135d864a46288d16e6d7ade872e5205a09527b3afad4c0b3bc78509a4f8d91460cd22a40b8e031e37e9ecdece8b184d3e4";
   hasRunfiles = true;
 };
 "elmath" = {
   stripPrefix = 0;
-  sha512.run = "8542e08c3c50d7516885010c902322057ac52f7e8642afd11518abd20c676d25d3af9d73d26dfddeb8a1ba5d03a350a82224d52a0148f4ac10634c2dc9e8879b";
-  sha512.doc = "94b7c53bcd2ec53105832b6ad4e91e44b2a0639e1b3716c13292919cd58c10fb4252021039f4fc772551163806ff6a1edc19816cc7be8c7825181af1e88e6f40";
-  sha512.source = "d7a08b9d9b282ddbce129c7e0f4569c998836e0214deda2a72479f95a20d2e0b0beafb9d00bf7b807f5d97bdb4f3a7a1b4bbdd11caca334338caa51e3a658b5f";
+  sha512.run = "66e11b5d5166fc6399337183dea142ecd045050176384e71993c76aeacf57c693495b5153887a95051a902167a8444c24ba6fe2ab2fcfc699abfd41ffaa96b18";
+  sha512.doc = "3454096f8ddd220820709a83f4b5b741e80213bada631f5fd78292ff77f3a1963a487b07bb6c227451568c594c5bcaec9c1fe9724345a35478a68191305d5a97";
+  sha512.source = "0ff2b6fd17db3dbae757d4e015007ac99628f0d1940e584643f9df2247279cbfe3ebb81e057884a38ab167aa18b60a8db5eb7b88e777653ec68675205ca0fcc6";
   hasRunfiles = true;
   version = "1.2";
 };
 "elocalloc" = {
   stripPrefix = 0;
-  sha512.run = "b61c0edc92bd64d6738a963f11b42ca61ccc167c9c4b93f6fc1f055395736a9e9043b413c9d9f9d1d5e4555d1c18ba7d66ddcbef67d508c337bcaa3b3d148bb0";
-  sha512.doc = "3648d15d3602c954708921ffba3b9e5c3928677bb1e4c5cd3957cacf5c059d6e7a36bec7f77a80a9d8b5b5bad44f4059e0d9ea23284338c633b155808d266063";
-  sha512.source = "c6df39d63f693d1cb44c7a014611e94f02a9c3bf0f11f20306910c02c01717af6833d71b386524087565b9de238b2e90d1e9444758c5e2925146126bab826235";
+  sha512.run = "7bd72984c7bc1530e2659364b5e93b643db1accc8a034f6fe8333e26ecc12b8dca9cf40ada0b5986576e266e0eb7c801f9a3e4c2cb7dbe4d8c373ba0f0486ba9";
+  sha512.doc = "6b2d6f65683912405cc97b81a7cef07b4eb21be4304a12b5e0e11087d809d32023ea8067a81c01d45851943af2efc4eb4018f3a0e7a39e08bdc821f87264d9cc";
+  sha512.source = "c1dfe4848af6e1cdb57496b8f42f5f1744494857648ca1db92a770f9983d0ec7a4c3398a3a7b7d473204da475ffd0e33ea10606201edcd86f9cda3bf5bdf24f4";
   hasRunfiles = true;
   version = "0.03";
 };
 "elpres" = {
   stripPrefix = 0;
-  sha512.run = "d54fa2bb5395bd9d1178026929f2a0e216c3f6a7c11a472ff383eb89c9aa0a7e208b8e2a62d457571b412c6e390779ba5eedb11b8facdd885880b9ea9edb94d2";
-  sha512.doc = "5b6d736cfdd0222a303f903d5c7719d952936966e03df58c8ab10d99b33aa42ad7e02d35ac5ccdaf2c534a86457267e65e6a8403f43fc62b611a9742fff5c8c2";
+  sha512.run = "e3b0dfc5c2da908b95a882acf37ccf56abbad0e37c53c4e8ece14b98401be3a84ebc4546b739ed8a3f5c30977522b5650c56f12028fbfff467b4cf0a53877475";
+  sha512.doc = "bd4b73534eecdc0e02184d0736684e09c688bef1658ddad28b0c1a952a63ebc87546c426e7bf3a9733bd62192d87d500ba3f99463830d3e14f30c0726d80cb6d";
   hasRunfiles = true;
   version = "0.4a";
 };
+"els-cas-templates" = {
+  stripPrefix = 0;
+  sha512.run = "23197c9c87b21b92dde909aac95128b0e92d1510a98479d739ee38cf05f5873538bc5d558181bbe62ddf24f5ec1e62a06bd42fd4b7abf73d99bd27bb70a566ea";
+  sha512.doc = "d32781a8dc8b9182f2e1ecaecc3a952bb4b05d596dacc6346a45730f0d43a1b786b175dc45d4acf15279f6b0795f4d7227ddcd350f32b0464f3debb1ddddd7ba";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "elsarticle" = {
   stripPrefix = 0;
-  sha512.run = "ca04ed88a48adbf2b65a6785743bf35f47ac114e4c7b324b1572b9599983a25788ed13592d007a0d8c380ca387f2088dc0645f94669751afaf49c9324debdffa";
-  sha512.doc = "cb1e5e40d7277c56173bbf12b65bac6d436f5725c844a557512e80d9ddec9c223ec28a384425e8ab744abfeea4ea2617df39395939af9644c36a002d69a34c9d";
-  sha512.source = "2291a172f27c45b6a6c9d3794b03662f02e3145ee731d6387faebf79242ecba17f0fea5e5a313ae028dc3905b1b61f2eb6389cc457708e0a7e582692a6d27a1b";
+  sha512.run = "17770bd130aa601a8208e996c1bcf192459d6c6ffd4ca170a303c3a548c7481e7e3a136c64865999ab7ab38ab56b09fc2021555fab60e344a7fa23d8cd62943f";
+  sha512.doc = "28c78ca516aee82dfe3be32683ae404cdb7be9d2d248fb747079e2d9cca9da44aec40145d095d2e3f0bb2f3d600712fb75a987c8d1aa1ded3f738e58350c44f6";
+  sha512.source = "55755e1a228bb834820f74580935b7e8a5bb162a675ffeb617bb1c0f7a1b5d99422c53ed7ae6b0302fc51112d5dc3cf63bfa9268c49aeb66cc194529c9d36b85";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.2";
 };
 "elteikthesis" = {
   stripPrefix = 0;
-  sha512.run = "e87015bc846f7e2b7c6b14a5befe84756a9438cd8989f6e32ae616a8ce583d5bef897a081c5dba642bc99681c5d6a11d93b2175a981ebfba1a25674d9dbd76b4";
-  sha512.doc = "698179aa0d4312e7af8a2f5a965659088fc3fa20baa5929ffd94228545d45cba8ef1e3dd0c9a70cc85378ed2cdb19ff525441cd7562d5eaaf4cf6cebb04a5884";
-  sha512.source = "e17a7a5e9f2928167151d34d834348af45da48fddb40890d4ef5bf0f42dcbbba7def6af5c895ed9fafb300ce32d48e0730870fb8832844b2f2d1dd2120088f70";
+  sha512.run = "e4e4eb999e46b47e2cfdac34e1f36d49354104cd3bd0e13a78ccd63acc8a36997e3f075f40785e1eef059b79c0ff154b156bbc2e7ad039d79db778819de6ecce";
+  sha512.doc = "3d409ba033132d5c4ccb14e4e987cabda0f62e01d79f3c45b8fcf3ebc571fc9a5f94bdb0f2d66daa8d746de573069d9c3e7af0c998925a1176580bac3eaaafb1";
+  sha512.source = "a37110177743fedfae82f6b84c081661b29d29dacd4e54f810f2c69ee6e288836ccd6c5428a53350d422eb2f1d1c503e50ea1ee0861d33fc80e93f63eba89586";
   hasRunfiles = true;
   version = "1.2";
 };
 "eltex" = {
   stripPrefix = 0;
-  sha512.run = "73aa10d6cf9c75d676103335accd0c6f88c46cff43b3a882d4df7aa037e5eb62c5e628d0299bacc1f9e8287a4ebc711129387ab2cf2680a2301a7b998b4c2708";
-  sha512.doc = "3db5f27b31389dbbd4a624248bc754bfc592d24bb71b9209f8116f3571b7fe347b481d918c9d5846614d7bc4b98b6b6953b4d5d896d3f39510079cf72a5f3368";
+  sha512.run = "6de1507df2fe408081aad0f75b69d7c21807f238d37e3c6d9cd243b741ae1761aced90e948a0c570f28db5a39616954412fc77a87482c890183f039923915c05";
+  sha512.doc = "1bdd0f64c524def46dd0a20482b9ad6925b0d06ea272b05d6163a23f61ad1727b099a893f5af7a7de4140bd264b1d3503794a4c9c11cf8137c5c6070d08fe0e3";
   hasRunfiles = true;
   version = "2.0";
 };
 "elvish" = {
   stripPrefix = 0;
-  sha512.run = "d5861913aed4d151c0ff830b997c27f17f9f46a50a9bd6959c9557d633e80acd4ed50454af3e4f2fbb39a1345510f9a471b43f7dc9c061391d09b53a6015c8d7";
-  sha512.doc = "91165c2c931c389f905557af01fddb91a36ce3d1a70c748682551639d9159b9c007dd35141bca5df3ab642fcfd968b2c17e06526b2ad15909afe86fb5672b45b";
+  sha512.run = "ca1496b488a85a32364b264706c9b4e4edde5c92681493b150942a3a8a2a32158b314a163ff4be8afbea489a75feb5dbb1c96e8e70f730530cce6472f9e46912";
+  sha512.doc = "e296ece5bb11d273b33e801ecddb1b9bb93e5f8cfc4a7d62b1555ddca89661557149935b7c5a71880efb888364989715b4e39585b2de1bcd8ecc24203afef199";
   hasRunfiles = true;
 };
 "elzcards" = {
   stripPrefix = 0;
-  sha512.run = "65ff5fd441ca23860d911d8b510f1ec0560160175174faf033f5d83bde5fb2daa35d0ac16479338a9b7e6f3bf49d53c3e36ffcf42152425301f09720ec8753b8";
-  sha512.doc = "532694eae9fd9afb6f86da5f5b5c1453b3778d0ac7772730cb33f5677a64032f77b0f90a00e92f97def23beaccd4882e160c8d3cf26b2f5ad6a643307e8519ac";
-  sha512.source = "bebc0cbf50a64cb2dd61dc71c840a0fdb089ada927a45400f41b9807a32c2331c19c6c171611267a7985fb6c14e51a067cbe5d8e39ce43d27b6c3092a22f8444";
+  sha512.run = "436449b4e8d6368fee200dd810b05db570d27846a56a5159422e7af74348f08e6f2f4c45cdc1aaf21d31cf0ac6e8552cc7f0968c2178ad4e65163294d771e027";
+  sha512.doc = "c24119acc3aebfc676641b17a0db75edc30dab7eb3aa766e35291463ee6049c9570ebe05d456e0bc0fff3765bee514332cde7b80e7d1479ed440c621143b7457";
+  sha512.source = "59f09337eeafa9b2ec6ff7bbfcd1d04535fe7d3defb942f858ef57a8007422358a68a72894ed120c3792da7c0f397d1a50dc093cc1dd2058d598649ab905d354";
   hasRunfiles = true;
-  version = "1.23";
+  version = "1.60";
 };
 "emarks" = {
   stripPrefix = 0;
-  sha512.run = "40303e01c970b384af755dcf4ff5d72f2451ec8f4d01d644fe11db4c838ed718044970e46aaa95cc7bc1c6e9ed8ab8b6ddf5824d973c646b3e0598ef04c83897";
-  sha512.doc = "8bcfc7d58b91cd269ad9f607ece1f734dd9d229b0e093a07c835e1afac3227ff84be01ac4b99baf53d6d066b38ced4e8c5863b8789c4c853a824a2871da23a61";
-  sha512.source = "85e4482bc5d08255cb931396b79c7223a67ecb6f6bc22fe33cc7955fcf9b62dd6a138456e4b34cdd3f475ee7a0a11b321f3dbe4a000ecb354cc3c4fc51fd2de8";
+  sha512.run = "8e5f2d559958083abbde5efe9e70b3cb3dc71cdddd3066ac305c310fd5a8b2652bc6b5ce66531963c5a5f9426ccfed7eee0700938ed6a515865ac8e1718de5aa";
+  sha512.doc = "4deafa2295612c7428b82a4c8c2c19811f91c2d456b430b6ab59014b3cdb42a86a84e67319745dea469ae40f89b36d104d30db28228c825ba0d86436a37cc7df";
+  sha512.source = "d7ded6022917a50689905c953808e9f4a43d03811bda490721480f823c4ffd36d15948e5693d73cb061a97f775e6590cd376ec20e0093af3af5b792d7d67e2c5";
   hasRunfiles = true;
   version = "1.0";
 };
 "embedall" = {
   stripPrefix = 0;
-  sha512.run = "9d84d0249bf5bf196d91128ffbd0ab274b6edd02f04d31133bd546e98244e41c763edcc82f7997c2fd1ea630e2f1f81b2bd849c0339ff6b89257cc17bd9ad04b";
-  sha512.doc = "38945cf33e3aa07a286c325d7be63ea85bea7213e4601dd81071f8e7fb4e2160e913506d54f897c9da741ce2371a3a7fabd3b247441a492c36b850ad9cefff08";
-  sha512.source = "f9dc77e3bd97e73f8c56006829f255af1f3423cf9b149ec962e60b824e624a29e648fd9a46e316b4da8b04e07c8958cab370537d32ae6f0216700a68cdfe9924";
+  sha512.run = "c531feeb7557cfca45127d9c37c93bf5835e35efa7c8aab65d58594c30d6864deaa22b64ba90cebcb1e9dcb139b00ad64ff96238835b8e059169278fb602ff2a";
+  sha512.doc = "be228eb577bb2a59b93c7684bc1fd47e9a4a505f6c66eabf434ad29523f978c877608fe76cd6ee24c8942889710270b8f304170f445e2a1408303d7c5a8a52b7";
+  sha512.source = "f1d3527809502aafa0a0b9aafd02d25fdbb97ab795cf4306a4ac84dccb873111e580390eb0499dfe13ef3f0bd7ea1a61e90220688dc814de7ff21ab4ccdbb1c2";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.0";
 };
 "embrac" = {
   stripPrefix = 0;
-  sha512.run = "dee1affa977831255d152cdd883c924db6251b6957d64eac41b3204cc37545da05564cbb983a5f941d7c9b9d0bcc206841d68a3fb0dfcb600674dd47172c1d37";
-  sha512.doc = "c0957d153b5f7a89c406c3423d14653c82793347117cd8a7dba1cab3e97b8068b5743f328f750bb73cf8ecd547f077b00c51e26efafcf34163e20c7032f3e619";
+  sha512.run = "fee6203fc9017cc9471657ec8283342a3ee7dffd84d6e1debe3ee908986da80732dfdd916d7290bee51638dc624fe4d1920b7b561d19de5649938b6cc7324286";
+  sha512.doc = "f60e2dec5ef1d1a1cd370f98a94fa7ac963bccc97a47bc29966e26748b9616f4d1b8bea9d180bd7a1185d82a5c0ddc9e5cf0da3f019c2bc8b32ad07dabcd8b67";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "emf" = {
   stripPrefix = 0;
-  sha512.run = "221fba9ecbfd08f31179d5b05e42e944a12c1d5c4577fd76acab5bccf44129f1b8a10ff94220717ce311b9d641c0244ae89ff6548f4d179a4dee083bbe250717";
-  sha512.doc = "d8d3934d1634b616651c3495718e8767ab1feebdeea6631b9c66705959e98005d11d89fdb7a08b883c9c290227658d6c135e6a562e4e87d7e0ca07ec8fc4a3c1";
+  sha512.run = "bc1b601aa523b30a54493ac92e15bcdb918775e9f57514b62357b85b5919fb05cc945b3120cea474fab714585fe2a81603f43eae51bb266e8989af6105ebc65c";
+  sha512.doc = "f2e37967476ed678dce7c01f195ec03f77327d59beb2b15cc6a64ef92cc377700a2b7b528ae6c42497cde0ac127cd10c51e3ecf5fda0cf7954d598a0dc92b5df";
   hasRunfiles = true;
   version = "1";
 };
 "emisa" = {
   stripPrefix = 0;
-  sha512.run = "4879998a189c2c0cd7c556e13205d60dc57cc213efbec433d499663952dc68bf6445f55616c874a7075fc6f3a49c3e702b15f5d438226692b58925286ae74da1";
-  sha512.doc = "b971256d4254d793efe309f0cdcb13ccb4fa1836c0f7a5b124fdda1dc58568b739e0039b1359867bc269e64f899e19b1634b674f367b6404fb17a3ec04a13a02";
-  sha512.source = "652dd3f45223b899c23555a3a3276ab999cfbe2e71af94c3a6027d75a2f24631977d0c3e4a73e9443c659b724089479e2a3bc8b89a34222d5513eaa054707795";
+  sha512.run = "9f62531d3cc26b428a628d2cab0e9d3fa95b1f67e91f5ffecaa432432b02acc6076acd32ac2650eabb54d9e14b6081d70fcc09299b45a0b5bd27905f1dcc8506";
+  sha512.doc = "092818afd707380679c4d3d44ad50954c48562ecb5b988d3bb94701991bc30cfa356f975a8fe8a381fe99171efea2b790115cd0a4f12b17430cecf2efc3d7d78";
+  sha512.source = "cf43591889d823125ce7d49dece358563c5dc4ca5df89bddc8cb6b73550e34e5e02b5aa5c67c96c747aeafc6070fc91f899d2142ad23424b11637a7a52feb55c";
   hasRunfiles = true;
   version = "2.2.0";
 };
 "emp" = {
   stripPrefix = 0;
-  sha512.run = "85a0506dbf9373ea3f5a0549a185bc3bd9668e8eeafc1829e8a79e8e95ffc64e357873f2b1f0a78713634e20d3be8cb28d3d10bf4519306456d54cca16c70805";
-  sha512.doc = "4980c12792a907ded64efa84cb27f528f66ef12cba0bf382e8441935ee97840d49fc80a2a84e7b9e198e1f8c6b1842dc2d3562db8736e812e54ef69694891670";
-  sha512.source = "a9eb0e2ee9a630ac54af943a0023a280bd24365fa0c44302487af83984b3c98daa0bc32aae74d5d5b46bf0c0ed014b81cc67602832485a5732229f490e26490c";
+  sha512.run = "5028360a2b412232b06b0bc53352c7a0a379943c14781b49b45cb75aef044df5bda24449dbf13601d1a574e5349bd0f2d2f7b7969f10bf72b3aeebe9e81b6ecb";
+  sha512.doc = "480edb224fcb42457c6252d4b6fd8cf42796e9b2ac72aa8d4bb22b3840cb10a55a509a47b8c504efbdba3e28192acee367e99638dfdbf9cab4fc5628496cd5db";
+  sha512.source = "e80aeb8566f31c3582423abc2794cd468b2a7b3505d4d01cbcf261201e4e8a95ca6ed87c6deffa03c9f868762fbe8b2078bf8327172ee9a172605fa0e6e72c40";
   hasRunfiles = true;
 };
 "emptypage" = {
   stripPrefix = 0;
-  sha512.run = "b5faa4cfc44930dd817eac8569b52aa64b3ccaa6233e9e6e36fdafa3addc7380cc32689d6cf87508d129e97104e40dd79ea11a0ef554fa7277332a95af0a9014";
-  sha512.doc = "7dd45366b98fe35fa485180b1351dc459397a8cf0264fc03651dabf7c11ccbf41730ddff1943b4e6b9f18cd2672311e55b131cfc1c8b95f4b2a9d2888d18e09f";
-  sha512.source = "66cf2692cd1745e6d4367196fdd1f0f2f28e0b7deecbbdd726be55e5bfe4703b6c3e0c532e8403d3cbda46f7c8ebf9ead0a37621dd9a269fc7337ce9be72b637";
+  sha512.run = "6379cbd0983ca7b58d2c94ce02a76e054faab1afb2942227469dcf2c4d572d9946921b6d24e9c7d2b5a82cc45e7e380a8ffae671f165ad0e2a3a611b95841352";
+  sha512.doc = "11681a155df95f913c3d25cceb32b54ace35bfa5aa7541916c15473b951b02a7417380dfa5c30f5dc3de1259d6cad99859c31bad4c2f2056ffb4608c614a2e14";
+  sha512.source = "1bdfdd32ed844651a109b54c65e7297222cb065a122269bd5c10cf77c6ae0e38b717fe182dad6bd0432b5eafb38b3d8631218599a46bb61a598eef4093a8ce1c";
   hasRunfiles = true;
   version = "1.2";
 };
 "emulateapj" = {
   stripPrefix = 0;
-  sha512.run = "3d31ad11f250d92131792808563f9e00043e17f979aca5600913c07517096b4f23701490dc2d42cb0371e932212f8d385f486a4915cdcddb683a4d84d7237e00";
-  sha512.doc = "66f10ae7adca59519a8ea101487dcd99b47e85d38cc8c6d435ae7cd9011d24a875634e21ee3bc85b9d0cb142d2950c8be8b4d0ea437d5d2f66e8de3a500517fc";
+  sha512.run = "12b73ef4234af72358c1f120d860b7ba823bb4d65f91cba348a4a136b57f8edccf3849eb36e95c50cc40445a5fe3908652c221b938ee34a17aed6b4cb265744e";
+  sha512.doc = "2d226b60313de3387d87c373a23e490a66c2fe1a94e97ef2364e65fafb037a148db7f5162ab9d3f1d788a037fdebe02ddedaa772eb715dc1ec8fea941b0e6708";
   hasRunfiles = true;
 };
 "enctex" = {
   stripPrefix = 0;
-  sha512.run = "ad7b5cb9ca57e4db7322eeae184f9cb0a63da9577552bba97917941b5b6516db832bb4661cd96fd7f5b10b8ff0c3575e7d6cdb1f8442bcf022be33f734f55dd9";
-  sha512.doc = "726ad5443f5813a4cdea85ae73e7bd5763230e25c3f0ef5c5caafe8c817811848212369d099451b20db4611cd2a6b496cf8c54d911a511e6a484e844739b795b";
+  sha512.run = "e6dc0988bd10dcefd63db2a57999637b63187d8a234c46dcb148e9dfe8388800e61237d7b58d271b735d2658d40c1f81016b5018e239d556fb9615d35b4129a0";
+  sha512.doc = "2bf47c879c6ed0fc539763c899d8db261135f1a0ef0052904d03a72663cff38d40d2fe7b0daacaf2d54771c7b9eb5e98b73ef71d2a733899d458803f8caee723";
   hasRunfiles = true;
 };
 "encxvlna" = {
   stripPrefix = 0;
-  sha512.run = "c4b6a3371733b1ee2cba037eb29650ed1dfc7b66f8f7c1947ae80d26b04a1e8384c4b92f1912e53d254c4ef1f0ddc14f9e53284a9a398f0c796b7e5431d4d386";
-  sha512.doc = "5c10175b6e1ef5811c0ca7f143fe0769e8c62a6f05eef1fed2cb6fbc05fae0bdf7ba28f230fbe6005592e7389bad188c6c5b669ada0d673f6da1b72ebe1c4f97";
+  sha512.run = "f6aa0a954affda9152f5b15958ea453e3c2979205f25a5d9f15e3fb189b2352a87256a345d382a3c7dc401eeb55360afa9cf942cc4779406b97cc8f8c47eba81";
+  sha512.doc = "01f44c8205daf33006eaa73061d27c9e17ce5b456e73f427f797023cf94d7380e44180c347021cc5c17870550fc7e626bab8de6219d6b56000526aa54ba34efe";
   hasRunfiles = true;
   version = "1.1";
 };
 "endfloat" = {
   stripPrefix = 0;
-  sha512.run = "11dd20d143a6c7697b1bcadc2930da3dbbba244ae66522f82a79aa48df2920fd405143bbe2f0e5b6870fbc1d4f81d9db57af0d6fd96dffc0dac76df33575c857";
-  sha512.doc = "46be4dab7f971b25bfbc15b8670c5b54690d5c5355498c8a059b9dafa6c29ae808dca939e6760838d82c94d6fd2a1a4668c7d69494b0b42249c6e25ff54fe49d";
-  sha512.source = "680d9f787dfecea506abc18b5ad7d2a7d96c90c597ddee567ab9eed3523e69bedf5f24f9651678e44266e455417fc7440c7de2940d0ce9b5933c5c1a4245a290";
+  sha512.run = "2bc564cb0ad7b9bd53af9304f378b6d0cdd9aa32564f2bbb39abcf0d942c4e18015b7181d4be5e873bcdf4e8f971d65678fdbcfb544c005ad012b378eb6e1351";
+  sha512.doc = "39a1cfa84a2cbe5ff1b59fd9c5fa6a19cb1d3aafac6d1fbb111f117892e34142f6a21ce7808238608ac0602d905cfff6235a78762a0d510dbc436c881baf59f9";
+  sha512.source = "551afda371c0d4a6e71299cac919857eaaed3ee8891f96083cd76fb33ededfaa3daa814593efbc9e7e8dbd4e7d257945972df547d7c24665e760960eccea07c9";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "endheads" = {
   stripPrefix = 0;
-  sha512.run = "89afa8d3238e25f22744711325a59b05fec155865bbb03eda1f8e4d413cc0c3839a8a7d30c80df9a651f0df2becd92269b7f2d127fbc173675a204edb8dd1f17";
-  sha512.doc = "2016b165ab8e98b7c6dd09a077647b79347106142e293385b3a1fb9be32461abe931ce6d5263b245429d007767b1efdeddbce2b666750961ce352e321c2fe012";
-  sha512.source = "31da3f88222cd5c46583a8f0ccaa459368470d83e3586e5e7bc801af2ac17fb2f02dc59dd93e6904e182e0d83f290ac4b0c098c02ab6e3254aece62ed4223b82";
+  sha512.run = "55f01774d62616b81fc846af275067445c8979d50cbb67c8f6cdc362a26999c83c9ce5428af28170ab9e4c6262fc4ed8bd0431c5aee8aafa89e38bf4cdc30989";
+  sha512.doc = "bbed9408161f827ebe39ae2161e89f1f15d8327f29f7eb18bf58f3cac7c58492529caf05ebe3111891520c406c547b2f1aa57d2927c5f857ea6e02ecfa9cf84b";
+  sha512.source = "c58d68a17da865391ce4480dc02f3375ee6d311a2590f8505885c3ce7fed65b2e7d6c6dd5838f55f4fe3d7192b56217b7146646269938a3a10cdefd3c55bd0c2";
   hasRunfiles = true;
   version = "1.6";
 };
 "endiagram" = {
   stripPrefix = 0;
-  sha512.run = "b827f99d416465af28086098abc1041f6ce9ca3f099015c8c2cfcc472a84de484809832eaed6c11c054305b410446035ca68ed8582ed5529762c1a2a7c7ff263";
-  sha512.doc = "88e5669b25338f7ba12c0595cd72dc4192b064bda58d475ebc69fba0c7099681e190c1cc5001b01a55d2271943bc78996fbd9e788d70e5de9309d46fc5d17b24";
+  sha512.run = "50cda29c5f045e45e0421efe11128b11be1206b4ea3b183d401562a9c8afe214031c993f885bfca67f81e8b4827e024a0aeb1d95e5a8a03426f72f414cfd17fe";
+  sha512.doc = "0807629080916e9ca7451fd1975da985ac786326914521c21155c337acbf48888620e3bac03b00fbbf45bbb47740faaa40d1db768a296e4a6b1cf6c6671357ca";
   hasRunfiles = true;
   version = "0.1d";
 };
 "endnotes" = {
   stripPrefix = 0;
-  sha512.run = "a7cae9bde505bd14be9d51e4a5fa8276408a9f31d0603e74f8d7e3f8b529b3398f953f0fb7cfbbb7b1fe1e6f3379898da1cec6ee39d7e0fb01b9fc5e2f1086c3";
-  sha512.doc = "7b9b3843c40112605c35025d262ea07a28f2d2a9f1c3f6904b99539f03cc56df8b3d1d2a00cef965121feff90d9b19b0ab2bf2f6327079830be595739b7a351a";
+  sha512.run = "927d0883e4453e96dbdc9739fd2db471e63d3ebe2ced9f0cf55be74f2bc26804ddd1151b82d04a6d977427e0396bde01f4332083dab7a413049d9d639295c196";
+  sha512.doc = "44aa9b7d48d7f363c35c61c1945161650cd030ca23d443931236bd1739f6b1d084998fbfab27fd48fd17ade00d1fa494a3595a8101963c311b7fb41a9307a40d";
   hasRunfiles = true;
 };
 "endnotesj" = {
   stripPrefix = 0;
-  sha512.run = "95c029534a6c5f5238dc03d1e5ebee92f58bab4bb086d870258e18fd035432bbad1099c31b64ea0bb995c543dfe2de293cb933b90325761f58f9217f4a8a6acd";
-  sha512.doc = "88f344ae3ba366222b30d0d2e2999807e9abbacad8a412cf63c727288f3117e25b24128278bb507679514f1808ac1386af892fb97a025ea61c563a93cabb9d45";
+  sha512.run = "acc3ecb055add319d5cbfc4e542c1be490c00187153990dd42d5b9a23adfd19795bebe4648129bc1cd8aa8cc243111602b287183803db8b5962b23b6c60487e3";
+  sha512.doc = "71e52552f4a432b8743e448142fdc8e49b9e1ff1d290b6d20731c083f62bb5be823db76720fcfa40cbb8bf75968b80875926aea8a7f67808555fdec160de1911";
   hasRunfiles = true;
   version = "3.0";
 };
 "endofproofwd" = {
   stripPrefix = 0;
-  sha512.run = "9f476756673f42480cc243f35c91ab1836eabef9dc58184fe44cc086ba40b5b93e80d7b1f24f75395c8190ca761a84c57bb4e7a4c55c6fadfc16aad31c90def6";
-  sha512.doc = "238c1b5933c3c1bba365601e19dea81fd5a23e48210e8f48059660d3c65c38a0fa3da728684857138233981f21dc60f3457d55e9e41edc70b194da25eb438cd9";
+  sha512.run = "900fc2d9a2673cd75bb25a3c1d5d13a66a91dcf21a105ed22ab52b7e61db4753f3419e6e7f5d09b64b27efd6d4c52b6fc6d1ffd06d6cac37bba9017aa96712f6";
+  sha512.doc = "1b99e26313b9a0572c41900d6e0b10621032957e7569a436d0a84a4d2451b857993b8bcf3554da5ddad00ebb3d83347d5f81e7df858b7b15f2ce3ca92d5ce511";
   hasRunfiles = true;
 };
 "engpron" = {
   stripPrefix = 0;
-  sha512.run = "8bafb892342fdfc6e4d8534dbce52772bf6a821dff9991a67a65e7f5d859ce57227e06bf1401f86d944c5662187cad1acc3ee8f7fb0a2b369499bc95d7dd3b6a";
-  sha512.doc = "d9e06e6d5f9d52bb59ecd8aa01a985d6c396fb406aeab5393250e7c39e9a3ee468533cae840570b1d5e97167c3d786db131c423c80e09d578d10e6ce439c2720";
-  sha512.source = "11cb8883e1a58070aa39e7650a48087e95cd9836af6b95170755ac42e896ae3ad38f58fb55dfe7ea83803757113edd44c1dcfccb9b753e722699d2905a8c7c71";
+  sha512.run = "e525f8d2ad25b93566c101edd29a70d49d9f65f591e15bf3457671aaf748da1afac5d483389eada870cefc9e144010e16c561d0561d97ecb3ae240e21b5c5b39";
+  sha512.doc = "dfa3ba98bddd11db47f308c988735967d1ec92c688081bad0deba88c29bd01c976bd1180342b890489f3026c964520ec1fa399fdb52f484c24285e3540a12859";
+  sha512.source = "b47f186eb08ee68b769d61954b705fb5e0575f9af90968569a1928a6b97bbe5bbbd8b65dbd2f946a40ebc7dc1fc676a03effd7cc51924356531ce18fcc3c8dee";
   hasRunfiles = true;
   version = "2";
 };
 "engrec" = {
   stripPrefix = 0;
-  sha512.run = "7cc372bb9ed44acaba2fd1ffda68f513726186896c32d5ac66f12d9cc1b6c2e4852e0e01af3d12476582a58530280c308091f04f21e42fab315dd8497bef213f";
-  sha512.doc = "fda2b8075f8fbb4c6530434d66bd427d356ad3fcad80d655071a1b878b50f12f2f86d0894e26e2473f918fa73a74be06648734de0aa9006cfa7bcdb90dd84d7b";
-  sha512.source = "379b8b25d5fa6cee1f18d3e0446360f7c92f80b5a281c394629b2ef2d6543ea3fa77503e7d8d8e208402771ad7f0059baecac3df48a724d1a5980d19093997cc";
+  sha512.run = "3856199a11043eb42062122d99f11a64791113ebee137b588b69eab7ba79d721349c2268440a4b801b0e7bc293fc99011fb9a70a732a03a5656cc6302cbd0054";
+  sha512.doc = "f5402766dee90ec0cd2aad59db562a7314805072d4247e5930e59f5aebda9c1b87c4b6935028ec960bca4eb27a1bb1c7ff31b2a671ae0338e1058e24323d4cec";
+  sha512.source = "ff2e4447135db1164447ed8502f45e9dc647cc3b8c9329fe21d3a279b40c2da0923fa78be44ef52d4d9a4781945976714140bd2837268d0537cd6bd6c430501f";
   hasRunfiles = true;
   version = "1.1";
 };
 "engtlc" = {
   stripPrefix = 0;
-  sha512.run = "b838ab57db5bc63dfcb7350db7d50ac5a6bc9ebd55610a840859538e52ec75b75f12799fa42693e123fdbf1c48b103dcdb9fefbab5def6af970e18599b337094";
-  sha512.doc = "0f2f81e46963de20e3f45edd28d295495bf0137ccfdfbb4f5645eb9853981015338ccee249726d217deba9d7df9c68d7e5fb71988f72227c6d34b18c508c6abd";
+  sha512.run = "c1ad2ed5337168c70bcfddd35c72b83b19a1596bc7d9c71298eb82ad8637c984253c79216606060753d1cc5ad4f961095eed8be2381b786b12202f5b0bc748f1";
+  sha512.doc = "4c6cbcf337eca115a856eda24924588208ed9e7491936640c8875d49d649d6012279e4eadfa7cdb6544e08fa283c341754d896c921402a2b1180764e8a8ff233";
   hasRunfiles = true;
   version = "3.2";
 };
 "enigma" = {
   stripPrefix = 0;
-  sha512.run = "5777966b33c524be97ab68d96307d20a1337128be3191f89de171903f629b91d3584204433665af367a90db3a2df8af23f418efd7810d5478476016ab7950815";
-  sha512.doc = "a0dd09dd0d59ad965d75d7c1f71bfd14f9fcb8c5447e8cd38ae21f813aabf153bb05d80525187d6d0f4e6af9747e3bf5c94d85005976210b9efe1f38253eaeac";
+  sha512.run = "70cf80101d3fe9a75e750f5b3df4db79f30f5ef76ed65f4bfb40f36e5c8c5f0d22468396fe3a531508dd484ed5929cd14d4e22734a92814a4eae9ae2ec3e2b07";
+  sha512.doc = "b0509d252a2dd7b61339ed084dcb8dd4c3ec0e63aa6fcb7fd81302b82bbd3ddb0b68d0460e5970798a12b2b66e1f560b80c7bf36187553abf6531e0916ddb71a";
   hasRunfiles = true;
   version = "0.1";
 };
 "enotez" = {
   stripPrefix = 0;
-  sha512.run = "aef007f46c45049f07475e0e5c467fdfe4f72afff233521f483d0e62c0ade11656ec52ce616ed374fcb34286d4f69ca8aec5811bbcc2d2a44ad6fa0ab8a3a096";
-  sha512.doc = "3a24e1001d2c4c2c3bfc5fed073b5a5b336c69a83c99e63c1ecf8bb042a9295b42a5464b015b2b7935962753be5a95724eee9c661e6115970eac1e5c4d17d030";
+  sha512.run = "98c83d1a6f738ad708568e620574a14ccf75325838a80f9beb1e2f345e236b4f5bed156bfdc9c280f20e5371007dbb59a8e7081eed07f65c739c3105c794b829";
+  sha512.doc = "c77e63d310940d35be4c7bc9cae0c9894b815ffbf27b41092f6aad32389dd866de08a5b15b3283059a08c88510fd6d1ab60ff33cf9f483a586016dcb8604cb91";
   hasRunfiles = true;
-  version = "0.9a";
+  version = "0.10a";
 };
 "enumitem" = {
   stripPrefix = 0;
-  sha512.run = "bd44433291bbdec18b730743a28f5af0d58413d3f2818a6cf50e23055c51295f35c7c03827487ab6426a66e4b1845b16fd50d649cd3d50515b3ac2d32c9344ad";
-  sha512.doc = "1cf666526ecb425e58e095c549d358104f04a6714369faa5ac940e79558f39780de541e20edc1539e00fe29420efe9ed0be0473cd82f850ea49467cf824c1c4b";
+  sha512.run = "d49701368b0ce611f5cfb52ec06616edc27b2dedb99230983ffc59c4c1eadc265a8afd3c94f1e57920de875c4ec684fec007dceca59fd4f4008bb5572c13880c";
+  sha512.doc = "b61f62bb0da61c7124f661739ebfaff6147d73899511d8b1a1d4b98b31bc596c3994acfd73c3c1922f5cc8a05c6a98572254067718be394c48976a10b2351503";
   hasRunfiles = true;
-  version = "3.8";
+  version = "3.9";
 };
 "enumitem-zref" = {
   stripPrefix = 0;
-  sha512.run = "b1160993c23a95b7c2a2a79e57cea992b83da56268e2dc2fd80d0841b99bb4036383b0811076498173b7e8982aec393978d7c0434f2d3349d4555754152ed5ed";
-  sha512.doc = "3e7d061479f649125628394408b3d859e7fd50110616e00169ea131fcefcacb325b37d9a23fd8b4c7eb7da258a3609c0384a3e3cb96a6308ae8b2bc5e4116e29";
-  sha512.source = "6e8fdc7591514ba2bc8381e7f712c36c6d2d6d9decc74882b9b4028bc6eddb8b75a932d907d41cd4623ce0848b8b89f263f106905048d8fa35522c67c8a7794d";
+  sha512.run = "5cd16cd19d63d4825dd1f726ad7617bc892a0d80e41f559234b3f82950f589f044a9816005a089f6837805ab08f07b507e47c5d2d389728adaa5350a76d1c1ea";
+  sha512.doc = "af4404c0f76f6f693d1fc0a82e0673c461a1acd6a0d7e9cbac10719790e54199deed1b87fae59db4826c2d1874ce59c7c2a1e5ae33286369a4f7e495223fe2e3";
+  sha512.source = "7f5642d0d3f3779b0d66832f509265a17e66c6e3ab4a74e7fdeb0bf4af9c66257eb78a9bb3a1a7dc1747a07ace12607031f861a14664addcc9d707d3f8c5d5ce";
   hasRunfiles = true;
   version = "1.8";
 };
 "envbig" = {
   stripPrefix = 0;
-  sha512.run = "bd004f62551ed8ad29cb833fc958f56156f0ab1a4134ee557b2fd9f64ef61a04da2d39eae3bdbd2b42ff232447b28ad84455d2f37e028d5e645467dbe5d520aa";
-  sha512.doc = "547712391157c7368d98892cfdda5ab82b1ffde08d1064e27ced3f6f9fdaf23d4dd0ea703bcddd1611a8367a45b8fc1f9a84156aa4b533fdf45d65037cdc3360";
+  sha512.run = "e39ce40decbb52360cfe465d8a5147f9eb5bfae8dd42b86a868a46f1d3c2544d14035d6c307e116c0d08e6ecb62ba5943de803ee9d40a0a8cdf94a88aec8f808";
+  sha512.doc = "cd8c32d4694252449e78736be1697f9a8da01079a8aeafb774d92ded858de9ee7ae163b3758710df466dd0f75fb8b325e86e575457b66c8107f3c580fe0fc737";
   hasRunfiles = true;
 };
 "environ" = {
   stripPrefix = 0;
-  sha512.run = "fde1efcb82a9419bd7aeb065c39c3e1c89527301011e64286d58ad2ec9530c4157ac606f913a7b72c2f79a12aa131b1e2d0f8c987d0754e6618ab2f51e1cded4";
-  sha512.doc = "0f7f84134d703abd4589e7b4c982618560e652598fbd278ac5a2ffc9740a44b1d46ce4f128a5d042721f9699e418c6fc690ca292e0b0179a8b4f296bb42cd5a1";
-  sha512.source = "d1b1e1273582db5116111b726ecc6134a768e4027e2ea00ba311a4c0d21b03e67c76cbc3e75b256bdad38e7110e29f1155b0a584988f14cea237f5169dcccb56";
+  sha512.run = "4e5bb20e2a69875006e8d9ebc3a8744dcfff3240cc28ea44f7acfa3775914dc9ee108a89368b6a510eb0a7aed19d2d13b001f0270ef9ad011b881c3cbc6aab9f";
+  sha512.doc = "443362ac9bd70d88bfa92c26e66871ebfc9ec1bdc226ec49b8a41c7bb76f3afa8a424d7ae2e16a7d06f77f4da4208c10f8dad014d918ed7ed239d645781b8815";
+  sha512.source = "5f539dfec035e337aa659aa29815b9293e714efe27d55286a96afc1d52082577eb42bcf02cf19388a2ec92bc880bccc73935a7f5a55ad7f6ed5bfb2862476aaf";
   hasRunfiles = true;
   version = "0.3";
 };
 "envlab" = {
   stripPrefix = 0;
-  sha512.run = "a0355170a81d013bf139c8db9bbdcd2210842b9823aa00d13739515e381dc87d3963748fda8a7e5ae4688b1349b96e3112d3e4176e6b4b9862725f384ab2b73d";
-  sha512.doc = "a23e9f54eff536859a3c1e73d5df2daa9b8fdb0622140d9cc6a1e8b719babf61e23ed9c3a1b6f6b0fb66bacd8d4e30e96e25f878b2c72412755a24b920a51ad2";
-  sha512.source = "50a42367bfe3de01f4f680154f0f81a895cff5742f088c77b79151879fadf3e4e57cf92b9a2d0a209dd6e0e55b36f8ce1b1d2d9cf71921df87d52d60e814a519";
+  sha512.run = "ba20028efa3c286132133d8c292fbc02d77881e64923ca98cece98fbe1e60acf4033b8308a3f9f31f144de071938698a75add803436e1205f7baa820a308a4f1";
+  sha512.doc = "4dedc851e00f82ff3bb912e99bf112f4e464b129b89ed75ac41cab9e9ec8c54a32ace3901a3bdc11c90597cfc0481fc7cfc89b4b95bc9aa0c8850a1e8ec88cc9";
+  sha512.source = "9181b7083e3b57329effd0c9ef462a626f8de6db5eb6dbf6800237348a010b74eaeaf11ffa2b491ddf324f0d9bb2c792b9fdda238b887df057b82dfa4fbf04cf";
   hasRunfiles = true;
   version = "1.2";
 };
 "epigrafica" = {
   stripPrefix = 0;
-  sha512.run = "38deb54c6e10db2be46d0bd8e960f067f759a18ee03aa298ddc21fc1207d082ae87f29b784bce99b2d4d47d9edf6c244f98f33eb54596dc36ad5fe388d78e21e";
-  sha512.doc = "bcdd4d9cddf2894f39c89bb78910a4839dba918baa04238e1a0c3f7cb824ff58875c0ebdddc2769ac483f4697699bed638062173d1d6062cac6bacb2d6a83e5b";
+  sha512.run = "82e5dd9f781b6c3ad0bef743b117d9658ae9e0162fec524fbb59f35f13008d3ce9b37daef8d6b977a5ec4834a1ecdc06346627857445c5f19c89f4b202706beb";
+  sha512.doc = "c90061813a408ea74da7c0a9a53c1dc0f4ef65a9ec1d96e92002127ef401abb5211b7f029630fa445725497018a6e5ed3415e31c40001674405b13a4b4ebf6de";
   hasRunfiles = true;
   version = "1.01";
 };
 "epigram" = {
   stripPrefix = 0;
-  sha512.run = "07399b0109f88c91a42002529a35c94f43b3d44a161cff988633d6b1a4bc8f60bc30f2a7b13e38eeec045dc7ad4d39b1cb872b3b1b9790e43978c2f08d05a29e";
+  sha512.run = "8952dbb6f7c573028b1f9621cd9c947a264847e59e1ead9547d386d71c2c15ab5f9c26088568b023030645b02191c9b72d827a80706ca1570785876c6acac6f0";
   hasRunfiles = true;
 };
 "epigraph" = {
   stripPrefix = 0;
-  sha512.run = "eca90f0e04b861c0b4fad52ca63aaef42035804a5d6c825dec0530f8475b720dd07b62d78617efdb1ca41db019ae481227a9a860fb1bac743a2df7277d8d4101";
-  sha512.doc = "509d632cb50fd408b0c5b7d3540e22623aa66a8a1936c2fe2dc60252ca2ee3867676b22eca3039ac50899582846c535f0df0ac9959c5be4e34135176366edbdc";
-  sha512.source = "0f0c9cabff3ca5664d1ed6318af17b42a932256452b467d70f191b832a3f12c962cce4a57e43c8bfb9025a2b83994e3c6007c2652690427096348f566b388c03";
+  sha512.run = "a6d4ffda943916b41743ad9c924351279e469c4fa2fa419e6e54d566d68faf6f381db54c9c5ffc2627ec2d7c699efbab47794682d8eb6633ec5a81a9029a9fda";
+  sha512.doc = "bc9f14e7f1a6897720c6ba2f2faa5e35f739a2d581f3f865ab4b46696656ad996637ffc436bc20b91eb0f09632ed89dd79c42c11905d3ad419a580a5f87fca68";
+  sha512.source = "1736ff1760772cbe5c806a489b3bfd578300405362a4759e0701915cc2ef8e4ceba58f07d53419d0136db549323b57d0bcda7aa35d2ecaa021e1768d6a8024ee";
   hasRunfiles = true;
   version = "1.5c";
 };
 "epiolmec" = {
   stripPrefix = 0;
-  sha512.run = "fd2721b671df77931512af2b10f01fac367f659cc1c069c5682f2d82dd6dc637481b49e838c911ae52717c03aff560fb632f97548a53051fab97c2d08ba61e10";
-  sha512.doc = "c1912940efbf6453a8e6168930545fb42d3586825811894e3f220e363c01cc12e18e762036f26ba6f54616ac50a0e6caaf1904b5740f5af40f6e31344b124fc3";
-  sha512.source = "ebe0063d46e5b56decc4fbd37f82532e73f00666ae9cba46198e0bc25700b4303768e7561ab24e39fd6727eb3a154dc8e3e5aac8db4527b248d0c1bd9d479290";
+  sha512.run = "5cbe40240b14ed494500c3831a02659be437ad9710708929a69670d00b788ffc99d4d35e66fba04f170c9844faf2432c116d75e6b01988736ab483e7d0255a8c";
+  sha512.doc = "d2c54da2821e850f17ea0a21d0bc67385e2d986948503fbc23ce6df5229708f0700cdd30a94d09cb310cbd911c183c40935e944341b6ee7ec56cdd9c2602011e";
+  sha512.source = "a52ef99c57524444151175f8e345cc59ae99c962e31420363c01e3121e1b4ecfbaeed28a01c3185d9d57beae90aaa8fe55dec15fd0790088f72fc4ee8860ea12";
   hasRunfiles = true;
 };
 "eplain" = {
@@ -11294,1446 +11560,1467 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."latex-fonts" = tl."latex-fonts";
   deps."plain" = tl."plain";
-  sha512.run = "b87777213eea23dc213159d6ab7b10ee34c921268c46c46e8a1360ee208a73e67e5e7e5fbad0a68dbafff10978c11a972b4c879492d6a2e61595edd388491946";
-  sha512.doc = "3ac9f1cd32053c5f8e48ec2fdf19c58fceb9b753a0990f452f15db38a44e033ee5ae6edaf3faac09dc316c13e755c34d52abacbb3faa38b2a61c390f6b28f067";
-  sha512.source = "f26ef04d0a891a8789ac143a1cac8674423a087584aabeb8e5d31aec0410ccfa7941724877c0c650644723d6211fa7d504be48de8e6a25948bbbb2b72248e811";
+  sha512.run = "66095056f095bb8d716382af1cc0c269bd61a6931dfd4a0d5edada684f4e2e794583417e6ffe09e64a3276ae3330844bbaa3d668697db163de89038e1d020758";
+  sha512.doc = "93086e5846ddbd57c799446be06afd6489a788427202ecb41bc60c283953af07513f3cc7e67964929a9944515dd3582f54ee2bc81a99e9770f15cbec51a86534";
+  sha512.source = "41ea85290fc3abc63f0e3b879e0210f204bb9e5dbf99ea44c0d506e9e68533313f19837ddc1ca1c45616d709cd0402396ac4729908f3acf38491e80ed4cb24f5";
   hasRunfiles = true;
-  version = "3.8";
+  version = "3.9";
 };
 "epsdice" = {
   stripPrefix = 0;
-  sha512.run = "b0782a5548f456bde627ec2ac04a7cea45124da43d88da5a9ded85207e70331769437a559266ca38b641ad13ae67295644d7d4a1100544ca209481a993fc18e8";
-  sha512.doc = "7ef7df16ef2fbda2fddc2a2ec22f3ae44b5eda4ccc45c94272f53835d466c052c87aa484086294ceff8973ee698f4b06efb96e6fd086948f2ffa041e4abb0e04";
-  sha512.source = "cde2a3708dcc061dea42945bfc7c62f566236a7150748bd844564d79518af42e61edcfad6cc42368a36694e9db353724dd2d5f7ca027c1fa9fb123b58c9161ec";
+  sha512.run = "acc0ceb408f320570a93a52132d3e37d43d4be65a31a038187edd6de9899427f08d7859dbc383b7b27e9d9b5a635ae94ea97f0be4ab8386b5991089a1435c350";
+  sha512.doc = "6d9db45832d3e26e79a518f06d00db992ddfb2999099d32b415891e8d05b51803dc4f03d097cdcb04e5ccd6073606d4c7a87a07b9dd20d8d257456f927ee7427";
+  sha512.source = "9bc8b64a815e9aa14b6ef09e9ea6328e338e9539ebefbe3df805d3fe05ba3aff61750fd98033be72ed7a7cb4c3d5aa6152b557c9a1dfb0272dec856968171d29";
   hasRunfiles = true;
   version = "2.1";
 };
 "epsf" = {
   stripPrefix = 0;
-  sha512.run = "227043a531734382b48eb2b1250fd0ed2f0f836195a95f4d962db218a06016a940227f8e9bd8a44ab0e356aecc51df526a2f03b912f6c33f69157074cb16f74c";
-  sha512.doc = "a8fdb109e3efdf4fedf7d0243a8f1fd067584c0c1025a466dc845b0c8ed5973c6fc54d876329a7fa5bd464611557b825e0c3fcd2691890c03d58ee5e020014e3";
+  sha512.run = "4c3698edc9ef386b08a2ed7c360d926be6ca5a8284e3e53e0dcf5f222eeb27d4d33b4547b42dd2e5544ab381397aafcd58899376d26a4d9d47beee00ad1e9bda";
+  sha512.doc = "52be704eec6159e70d99ae2a4823c1da0790f41da9e6de130c84cc77e0d8d29aae145ccb9b416ddc5c9641100821f5099b5c597a350438652381be903e7681bb";
   hasRunfiles = true;
   version = "2.7.4";
 };
 "epsf-dvipdfmx" = {
   stripPrefix = 0;
-  sha512.run = "16dc2da08c57eb05495b2a4c749babc16075c7bf2ac63208c0bf80feae52acbd0924ea41138659070a0211ec7a420c12872844af4d2320fa2a5f3f769273aa90";
-  sha512.doc = "dd094950ac6006c7708faa1cbb65a47aa56a54aff27b01f62f5ba3d1ecc9f450b615cabb853c4692b8693f79c1b7032ea8f09cbdbc8b654cd42988b45cba9f88";
+  sha512.run = "0f210b940d55bc2e85b3c86318be82fde1bf2b6fa2e5d498101036a01cec3b09cd8081079476f128f21881b14a13c7fa248c758a7a33ab0770f261505260992d";
+  sha512.doc = "e7b770f6880bfa8001851cfdcf2f2d03117fba3a2d38514bd7e23683aae08d57774bd1bfa4d0f75df443d9111a5472ba96bf8129e45b618b39f1798b27fb533c";
   hasRunfiles = true;
   version = "2014";
 };
 "epsincl" = {
   stripPrefix = 0;
-  sha512.run = "c48d53d39281d082cfe56ff64ea33f42dc05c0d8943e669450635bfa3ba36ed91eeaae636d209149bd05fc08dde07462f15eefbafa57dfd0b8b1ac72152560b2";
-  sha512.doc = "8029eac2871973028d6e790263bb3e9247a19deafbbcdac1061544f293d326b6a483dfa2ceead46a6d3e89da1e793dd51de7f6e496912cfefbb3988f6c1663df";
+  sha512.run = "f9251142a990038acde2f1e7b61b94eba39b2c4f5c43a1151af29a17d5f0efb0cddc0af1ac8d056d8617b5ab4eef29bba14a4731ef933480a9bdb95fcc15d023";
+  sha512.doc = "2cac5738a39157563707879656b473e7ac7edac2f304c209c8164c7878b10f0d5dcba1d38232ed6ba8e20fe21b3a0cf78dfd51733b993ccd5fcb2c0a05ea31c6";
   hasRunfiles = true;
   version = "0.2";
 };
 "epslatex-fr" = {
   stripPrefix = 0;
-  sha512.run = "1ae9b36fd14bfe91a03f53b4ffcd40a89fb14285da881cec644b0d1d5c76d1c43a337ecdf5ae90e381155876aa82f496aae1e5cc498409bc56762efdbb738cd6";
-  sha512.doc = "8b7a314af1fa4b4f0cc3f138d2ea00e4713b895bc0f0cff966104870249627d0cfd74cee4a0103625f73ac7a27e713641c5ceb606ee51be533adcd7ca6984e9c";
+  sha512.run = "f3e90ecb487259301c20ab4c4c28702b9cadfa844a49361fee0881a26f827ae602f954e4a3e824e910d2e098097c387aa5311c5f32cb58df5a0a1e2fcd9d2364";
+  sha512.doc = "7965e6094535d22b04193619842bc0bd090c2b47139e65498dcdf428f4ce2ec54e7da5edbdf9015c9d8f2013642d11347373e625a3884c629d9d807af2a9880a";
 };
 "epspdf" = {
-  sha512.run = "ed89448463664021c708270df8687b04b86636ca6b7ef749a39cb7c464198ea0c649a973f4b718160aa19e7e8e19fb59964e9320137a20c31b968b280773d0e1";
-  sha512.doc = "48843c5f43bf728df3100ce27ca70412baf977c1e7d1f7c59fd8a84032e98748f430d1b1a4c4d64b777af793ec54fb5941cce89b285053ae8272652a18361174";
+  sha512.run = "a8d2e4cdf1b3e4439ce8c96b18cc7182bf29f745b8a35942623575951ddf179964536f72ec58a357e7544d861bcf624d7b35ed3a0932d758e011e56633aba078";
+  sha512.doc = "f2c5ed08890388bc064af0bfe31f540c126b9bab4a5b262a5e44f6cbb4e4511ed43ef0fdd2945b01bfb1ff4aba15aaa7e7fa373f7cf93827fa352226a423d8dd";
   hasRunfiles = true;
-  version = "0.6.3";
+  version = "0.6.4";
 };
 "epspdfconversion" = {
   stripPrefix = 0;
-  sha512.run = "057288dbfa1e8e15205d7506bbdb801d90ca2e6bcd11bfb36ae18e463e406c6aa5b7b3b770240c882822e91d5a85920ee2f953f73d31abb7d59ab05df9265f24";
-  sha512.doc = "66f6c09737870706823e5fbccdca0c91416fefd478751fc84d4fe75199ee788281cfb56146db93c46515175da709689a1d213d1949625d602911190172a58317";
+  sha512.run = "a1f328125f82f33bcc881adacec981f4ce8aefd4cbbe160de66397ed3b1d4c2ed980f5e1c17c63b75973e3c253d76afc2f1227272ab7f0236e47e8e48f0f015c";
+  sha512.doc = "dc09e2ef835a85bbfc7c399b7c7323d64c312b04143e8070fc403fbd484bd893be1e4b532580efea93baffe64625c33004405eb0ed9bf6295646cfc260d72c40";
   hasRunfiles = true;
   version = "0.61";
 };
 "epstopdf" = {
-  sha512.run = "f8555a7997bfe048876cbdebe187167f2624812dda83c4d74045783a8ea3e7d807602e268d0d9fbc653611327fe6c9ed47be801411ee84a5ecb75b446143598d";
-  sha512.doc = "05af8ca35f7739a6b5a01b993d6ff815e73e6da08d06495ebabb28e662007d1adc70225235e61fc292e5fe70c607ccaa02a57f451f9d47caea6461c0e265160b";
+  sha512.run = "6412bb97554b271cf5412dbccd316f3d69d7bcf2f524a5d6d1a75f69cfa11a981fc4ab063b6ea8302c2a0236ff93c59f1ee2f8f2b7f33dc466324080fc5016f4";
+  sha512.doc = "7fef59ad3bc72b2e3fc10021216b88b8d5465f42503d9938031c3d40d93fbaf637094fdfc87b19ccc1da4d9a28c9890beccee7c30b915a513a909edbac6e0a25";
   hasRunfiles = true;
   version = "2.28";
 };
 "eqell" = {
   stripPrefix = 0;
-  sha512.run = "140a88ab6d470457adee2887a178d56c42ff9864f23f6434d9a5c8c30d28625168c5db64f38499d3ed1604eb36a6f49829967b24c3a4daf1966046f5ca0da931";
-  sha512.doc = "04abaa97ebc8161fba6f5fb7814f165c55b1bc502fd9b23d43a79a5ef0faa3732a6fb95ef80da6ec49e9ae37d09d81e3805d07fcabe52bf42ad332d12acac4fb";
+  sha512.run = "b3544579e03c33b7a5a10f1fbcb22735d1bbcdb9fb5ac94330ec1eeb6f6ae646935a46f4c7c3bdb4305368b2e9aa9eba244c80f08f3127fad2080b610f1041a1";
+  sha512.doc = "9210b85937d0bae3eab982f45b1f38f7020327c9b4cfc6604de5b171ecc84f54f5bfd088a3f06ba7123a7fc01a6fb09953015b1813db9ab2fbabf2a15bca955c";
   hasRunfiles = true;
 };
 "eqexpl" = {
   stripPrefix = 0;
-  sha512.run = "9da410140daa41ad40a9ae9c4d3e81253d54077359493d00f1bcce84741cc9ac984f6f06ea89dc8aa5c7b94d93c10c53aec2e56492a410b720aaffd3f497bd68";
-  sha512.doc = "3585916d140bcf7c3842e74d239ef3ff406945bf588444bff3da8dd12ead35f6fef8b362ed95e3cbb650054814fd2c2401834c701c8cc8c0ac35a3a15e5508fd";
+  sha512.run = "c3412287917852e6c8c1ae224616a3cc1cc15156d66bfccbdd3fab70b02e5d4ed0b3b097e7bbfc89f71ceeec6389d4e66c0c1abff2e160d813d2f3b29325d7e9";
+  sha512.doc = "c94dd14530cf7b93ade41c7f4084988ed480dc4259b90886278dd5665e5b6e705e79a5c4d1db428b9d43e9ed9fa63a06a6e10569354d848dca3c76fc28c847d6";
   hasRunfiles = true;
-  version = "1";
+  version = "1.1";
 };
 "eqlist" = {
   stripPrefix = 0;
-  sha512.run = "f700c1bb8b88a0f2b9bde6fe4d6a9020851dad3fc685522b48584e0b51ee7ff7d15cb941fbe2eced5ca0872abb3c6a8df6b35cd2d0c24473e18649a7d03f7ebd";
-  sha512.doc = "080eda6a0fe3676928d86742aba9bff6a15170366c4beb558a0480e6922c15a0a763b148dbe5c193e593b94ccfc459424d18ae62d37c92ccbf909057b372121f";
-  sha512.source = "3baf57959d289fcb0eb7046550784e5a1c46f66baf0de3f4ecec4171915703b15fa4a0703c06cf5ad0ffb01bea426a7a302e27121e599055437d49eceaef1c43";
+  sha512.run = "1af830f51ce25946ac8bc6a4cca323dffeff20389ec998b74afd49a8edab5ad7a453818d4799e55ca564153a87b85e2a6b03ed67e53cc5ae6fa74c45edf3aeae";
+  sha512.doc = "a5b22b8e9300064d77d02ca6f5652659293c6fedb792be2f0664a2383b3167ed7bf8796af26edfabfdcab8d75ddf30f3815be36e8f38fda30f1609b56c16ac61";
+  sha512.source = "15817915c95c5f609c3def3bce324e6ca362408aa862e7b3548a67225bc1c33bf8a5c8f924dcbb1951958beaccbf86071b4e866f0e7a4d55a09456412fe70223";
   hasRunfiles = true;
   version = "2.1";
 };
 "eqnalign" = {
   stripPrefix = 0;
-  sha512.run = "92954bae2da8b1bc387ea1163c4d7b4802ae01b3d24d0af9a3d0af88ff42bce73a20f0fb9898d600785a0ec5c8a5e3f63848d3f043576f6f4f26b58cea4b6c21";
-  sha512.doc = "d30ae8a7555ca9058f7b779116771b4fe442179734e308eb1b6711a7ff7f105caeca0b5b944836bdc8b85b42a07b2c1fd303c84021cd3a811178077efe1bc5f7";
-  sha512.source = "c7d95f71626057e69ba5b3c3ce7cba60f9f7f6ded41f8d2c89ab9189ebc372d6aded3b1b93416a2895a44995249ac768dd14d847fc4ce74293255abb60bb539b";
+  sha512.run = "6793d24d272ff5f95b4e37fa3f4206e7358e0f5b51c51bcf4c61908e3fa554d8c8a53d888c7d7b1adde09f5d308c19944e93abccdb7846c88544abc90bbe4924";
+  sha512.doc = "65847f34d7d1c76dd4d87ebd7e46aa1bb9e9a34ecf04cac6e58c18f9f4949d3e82325dac982f6d704fe6013e2acf718f0372873e547434c15a4a07c07ace27c9";
+  sha512.source = "124449d3ce1f3b120f152c1eee49447f640f97d01f1d5a6f79ef72d1465cdd31de896049a5a7163e4e366ca9454b0f78723c4a94a24b8d83e2c4540d613bfaa3";
   hasRunfiles = true;
   version = "1.0a";
 };
 "eqname" = {
   stripPrefix = 0;
-  sha512.run = "d5ecb6dacac2258d45951c1f5209555ef7a40a9ca7f5183de287660d60adda9b4d369beb1926da6120b4f15153e3fefa1b872fe223b525205c1dc898ad8d360b";
+  sha512.run = "1717aa83439019ba2c07ced56ca5dc969a68b78c9a711d97d0a168d432c6e26b53f30b2a3f6f8d241acf465fe8817d7e4fc4238982a68bf2ae143c5fdc2ca72e";
   hasRunfiles = true;
 };
 "eqnarray" = {
   stripPrefix = 0;
-  sha512.run = "586614eed6798c48f22da3a532d1cd3c13f49f9e8adf8d32f71f8111a88471480b7b3903d4a97ea86ef48d3f4817976a05c9f28c8541c68d6c89a4e460f4a552";
-  sha512.doc = "06d3cdccbbb2e2590022e900ebf4519625d112acde1d7f2bb7560b0b5c845b85be48443aa7607583476e7534fd326b97c29a7f6aa3cafc8a090e4dc73b6ad61f";
-  sha512.source = "ff0efc31bae1426ae995835f900f41e42e836a3223c90d8f7e37eebd1c80e43087bfe5e84772dc66f081ae75da9a7a18a22b762b4d239118638361d37b4a52a9";
+  sha512.run = "f5abd20910152cf65d92c7e44930729c1052f72441f162de2f4ad869f0ff37b669066f43089a1369298e9ebdb536ed62d437b3f34be5b3e417d8b0bf34d9c870";
+  sha512.doc = "7ea3d87f81eca28dd52f9e9cf4f7df1ce4f7b9cd82cc40d0a7fff234415b2a3e033fa1c8a11594b2c08e5edf87ae265e5f7a65eb92a79cd523568f37853de30a";
+  sha512.source = "9dd02c43fca4f6e8dba0bd44292c8f97aef4cbf39d521b9df10206a2309e82492f344fb65c35ac0509532e9efb2571aecb2a5894e639de5efa1444bba9916587";
   hasRunfiles = true;
   version = "1.3";
 };
 "eqnnumwarn" = {
   stripPrefix = 0;
-  sha512.run = "8a1a9d9e362d6de0d6653ed84830e0441cd41985c442cc4e74c83ec442fbf457210a1bf47f3ff6fde413f3c3facdc2ee4d69170f009bc6406e1f9c8ccc2e4117";
-  sha512.doc = "0f45c2688915fe30918e626046d1bf339cd366cf410799f51441ea30a0c3048daa741fcbcad66dc0ffa9ff8ff0b73de0112f7818798710ace6706fd1bc7140b8";
+  sha512.run = "ddfee700caa63f65fb4f53fe2469d1e6ef6338843738dd2c06989f23b6f4b40dd1dfe4b5979a04b34a9430d7cdd4d0f3ef14e3ce39613c8961fb0266e4ce6af3";
+  sha512.doc = "e6dddee646be40e01c211854d3fa04855286e24a39b8217380e555eaacfad50fc66a57e89336d505c80a8df77ff7885922195423d11c2acefce583c9cb9fce81";
   hasRunfiles = true;
   version = "1.0";
 };
 "eqparbox" = {
   stripPrefix = 0;
-  sha512.run = "15f8e86a1e878b90ccfc347627affc420a9cb0b91e8c48a074b08aad2b2f86923f06e0f76464e831d9d7f845851e713cd183971c8b530ac1af3ba32202dd3e14";
-  sha512.doc = "4030ad92e666a34d3c9ab28a7a9db08d0c2d9701a658d9c557c918ac058f639a7edd489b43ee61a9455882c88e8af83edda2b5b2eb112850c65965be3cf77be8";
-  sha512.source = "af5a1c446b498628dfbfe2cc418deadedd7e77620e8a755b17061291de12751319207ffc7f3c25999075d7ea284e30b81e57d0d8d7300f46d3ab7f71b5b7d65a";
+  sha512.run = "b6e64a4d30840933614a42b16ffec215d1e01138c42805ed20bfab6ec03e232f87fcc2c20decb2e7e75234b7bd5fc2ebe5477808756ec92e6e724acb3482afca";
+  sha512.doc = "1b0f7e6249e114bb6371d19f941cd2308f70ac4f1c831ce5a1c15551bbd65a4289b0b0e718580cc7df97bf4732ad3a76b3f22ea12f7caeaa2ea6362fabab2074";
+  sha512.source = "2998b3fce2cce05512a41b4700905adb78d421302ed0275e7f263f891a0d8e9d5d8793ce2fb80cf1ca3e8f5f148e530a48c3c701f72729e6f4667382ad9247b1";
   hasRunfiles = true;
   version = "4.1";
 };
 "erdc" = {
   stripPrefix = 0;
-  sha512.run = "179a7cf4b488496b93482727a2aa51058aba7b493af3974d0786c4ce6b6a4d1fd52ea0b3f9fe455531a4d6ab65c4a327838bec76d47bb2f54322f61fdf5c8d2e";
-  sha512.doc = "8e6b9de4022a5a0dc85416633409e8a9eeb4e0adf137ddbe6fb11401b02a99497bad8df03e2ea46e9fee25ef53ecae0c36d727d835bda63f079c4be07faea618";
-  sha512.source = "68f815c3cd1a2ee8154f120592763b47bc45b54e86790b838e80d9cfc99ab79c35ed8404b81da6b3e0a4fade9b9871fff227cb0ad2cff5a96f3ed070aeb9eeda";
+  sha512.run = "56754f7ca1872837a362b1f5cc929fe5ed8bbd59a1a45eb2fe20b071f7c44362b0d98764c6d2870d275d0f0216a9543cc1e9f671f92de1b6b02136f9076f5f95";
+  sha512.doc = "3e9d2dbfb3bd877c6bd105ca8cdff87cad9cf801797cea39e760ceaa1f27ed802795d728f9bd675c6553a88e22c03a035436abb19dacd38c774b94a0e2bd1567";
+  sha512.source = "afe35b5120001d40259065ba25a9c5720f78fb1a679ed984727b89076bc265113e93184bc8ffbf998f069f85636f332ec5c93a40ba39aef4d4b7a3884da42446";
   hasRunfiles = true;
   version = "1.1";
 };
 "erewhon" = {
   stripPrefix = 0;
-  sha512.run = "320cedf4f07d4afb1f1e6bb9e0c8d143e931623861c4ddef491bab3804f1a877ba5ec7b6169945c810b4f69fcba48eb011832601515cb5b9e9cb1705d550ddf2";
-  sha512.doc = "b3d2100f9007e5d5718de495b7e46eb8d1f322c637e650124e7de6969c7562c8de5b060fa1d118942f57d401aec6e90e6ac23ed54aba04722286dd5f67ad183c";
+  sha512.run = "efc2a9afd043de41d9fb81fbf09cff81d87165d96bd402d68ad8a00db4924d6c7f0b33d2e12efde8f34d24979109a47c1cc542289b4cd89b089501f88905f9a4";
+  sha512.doc = "a25654fe1d3b08412a5393a899fbb1192510613478a2f6e9143c802db7857261ced89f04f52a90349c450d4b42650d964e633687ca785f4bf69f6a3adbd35c16";
   hasRunfiles = true;
-  version = "1.091";
+  version = "1.093";
 };
 "errata" = {
   stripPrefix = 0;
-  sha512.run = "eea1906709e66a2cd61f292222f297c99c7ab92009fbef1959405b6d4512498d056fd4993fddf91a61e59560d01dd1e568d63725f197b834e4036bc129fa1b2d";
-  sha512.doc = "8a136c2d6e9239ad25f468902bab311f29d63d8901f8ed961133021136a502da8bf1ae4429094023becbe2aae21a863602577789f26b741e90eecaf6516e71ff";
-  sha512.source = "cb5107a069107b40eee5372285ab9288a7620f0eb0a363b0eed104fa0229c7512c2929b3e59860308dadaafbf8f5b7f768e679c566e8ba8b676fd745bbec9a58";
+  sha512.run = "ac3b99ef6e120a5b488cf79f3e942c10a47ee92e84a04d3667f99810ef365aac66598908c491897ef7a99df268a0bbc7185d49aed2313487712e300383356ec5";
+  sha512.doc = "7fb625a66efc914e2eacc45696ac43112d7ca49b668ffbea179f47f04746509f981141a77d2948f30b8c56e4a2ff06f6af3047fe494e4f084237891fbbf6710f";
+  sha512.source = "ecc57287f78000349f4999d1f85aeaba0206a898ff2d97a1fa9b4f94acffd76099cc0f92a88e5a38153f71570f62d9616e0332edeb987e468a6483de0dfab5ee";
   hasRunfiles = true;
   version = "0.3";
 };
 "erw-l3" = {
   stripPrefix = 0;
-  sha512.run = "91f9f5a89f80cd407836df82d1171198c9cb893c69d00dd30ba49846b8e3fb12e31e8b2184b71d9147b708950772ce10508a30fca86b190a29beb2c051edac42";
-  sha512.doc = "a33772b42375e6783efe9699c9b2225665f7ae992128f9c78f2f8bbdeb5219803fb10359837b40d5e20f24170b465a90a3200795d6423ed5ecc20701b2931ee7";
-  sha512.source = "9721b922e99f00f2c54d4844253a5171b62cfc5b9315d3fd031f5068784abf7f1b4a3616f2d3227fad65ea9657f08fc16465c9691c82bd911f1babf6f50175d2";
+  sha512.run = "d38e28024ecfa8be96a0125bea5728f54618849963881983fe9d375086530246a8e0351fcfd519ad37a235c3897906ff2f7b3f88854865e2de92237d7873aa39";
+  sha512.doc = "8d1df458ed784fad2be09b46bfb48f1478c12a76127dda7a16b3c8b89966643e385ec139f0caae7a71b265451140ad95c4de4678ffbc6540bd1653c82a9775f2";
+  sha512.source = "e7e2ddbb2bf750c16148915d779412f81d4508539bfed20f0bf0ef1f983675f9976984a870dfe67ce56041954e25aea6e5ebef5b07c82197ab7183968402e20d";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "es-tex-faq" = {
   stripPrefix = 0;
-  sha512.run = "965c3432fd649d1dbf7f532bf771c43eb613c6dd9c91d9fc83c97452f06b25f3e331ad1f0514f926b0dd79e485bf5ff221fbdfaace6aa8fd3776922c260e2c44";
-  sha512.doc = "66e5a1c57fb1accf32f2c1d6d86871c8187056e1c975dbdd09cf262c22e604e67a0f69cbb56160e5dbae8524a657addcfcfd22d66c0aef649ac430eab8299198";
+  sha512.run = "33f66e4f928591188289f07e003cac10229735e69ee7390020748e119930ea7b74ad69e5eea991d8e34325ac4d548ce0b843a00b3ca50b9e6fae3e96526a4ad8";
+  sha512.doc = "5b5d0ebda1bde2c1c67fd4853a41bb10956487fa5ad2686d6814dbdd51f68dde2a3d294797b7b1602d587a44ea6acbd8260ab9965efab81d91eb9d9fdb93da69";
   version = "1.97";
 };
 "esami" = {
   stripPrefix = 0;
-  sha512.run = "1186df46de1ec9fad8c60340fd71ec41b86449e197b74641b3e4948476aeaec5ecc6dee9c6f6c98c001e80980cf47a921e061b57abf6a9823adcdd8d82e4a21c";
-  sha512.doc = "db1ff2a75988d78b4aa0ef78369bc29538cc1bd96364f9aa4bf364421eb0e8b7392a840d4312c00786ec29ebdce7dcedec163ac1d237ee88241f1930b23b8440";
+  sha512.run = "bbf24974b4feaba88b92b3179af6bdb45b86053ae8037fa41c99d0823cf3c79807283c01370365ea0264ba1eee3c4c289fadc5c2619900e85657366c14920a7d";
+  sha512.doc = "d9f57db15517f47d648e4ef91111a843fdd7f0d0706d1a863f5b4f7c65008c00507c552975c01b60c00cc724e63aea24f7a6b40930148bc981e200866cc30ac7";
   hasRunfiles = true;
   version = "2.5";
 };
 "esdiff" = {
   stripPrefix = 0;
-  sha512.run = "a06f52927e98910526bd280806003b3dcb63c547b127fe01e090b45d83499bab1b3746816169f8d9641230cdbe135b745bfe0e551a8436e9e057a7fc92a97a20";
-  sha512.doc = "5b1b5037e480f797c5ab2b18b874ae23938a2e12b93a2df1b58311a8c363fe4f6450a7bfcc1d665d6be814f309d86dd4564d9a202b70f9d4aaf8c3dca8b18b34";
-  sha512.source = "d720e85aaf9b760087be5e2e8764eae4eea4d1098f8073f5fe78eb4c9856967176e5c96f5e641fbc39537ccb7e7ee51bece80bf758f3ada9cb2a5e42157cc87a";
+  sha512.run = "84b2490e6ff743f0133deacc22c8e0368368e961d634239694ccf7b5cde7826996e080077baa0e0045230b6d2c3cad53ee055c05b17c89ca735dc2e40a01fb5a";
+  sha512.doc = "97dbb512437c868f2b15ebd1271f51a7f196e40c70043c224617378e6c9333f19e2c18666f64fe6ea323c7aa5a58438944d8c6f5b1a9c0d36a239caee972eb08";
+  sha512.source = "983f7f7cee22e442768ae56fac614d569eef18bff35c52c669d51079a61beca395c06e7fb9bcedde338bbaa1b3775094ce9b77fe7c043df2e1e25975410ab7d2";
   hasRunfiles = true;
   version = "1.2";
 };
+"esindex" = {
+  stripPrefix = 0;
+  sha512.run = "4e3fe4402e025dbbf300b509954600e3a1eca221a448d32ff2399aaf552ff930e6921bed6f0e1aadb20d6453848e235e42e8b809c4f4280d39c29937615e90f5";
+  sha512.doc = "6db4b39371280b0f3a3e0be9e18337a75611410ad25e7953742247e750ca439c92c614edeffa03c4a7f39d8aea447037a6e25cb8f6f0d22a190f359c9cc35f8c";
+  hasRunfiles = true;
+  version = "1.7";
+};
 "esint" = {
   stripPrefix = 0;
-  sha512.run = "c5cd12903813146a4184d04911a7abd76862d781e7ba93523c533ca6edd48dfe1ffadb8a054e9ebcae639660693b3e7808ef27fb2d6c7744cc7d5efcf08948ec";
-  sha512.doc = "46418933503f2abc4054e9d075adb9da315ba3a01ec23757dd4e8ff1507b251ac03b52a63debd8d57679c368427d0c9043335278810911940ed1ca297ec0cf45";
-  sha512.source = "e9630518609080685ac8c2188e7196e497c26d3ec4d8d4efcf59c8d5bf89f91d8c49fd59fc04a5df8d745fbfd0e7b94e3f26cedbe0dfe31b4fd436ca4a1db94c";
+  sha512.run = "d0eda90d6a890b7813648516f21e3a88213b1374df0c418895301354de402b9634492a1fd89193f34c6db6b9fcc0cdd0f8f46472e0e3a210234c7d8cab1bbed8";
+  sha512.doc = "aeeaafe3746b8fd75ba80fc36b1610a3e4f7c7f26044ca82c2c8091139e0294275a1dde9dd73fb3e5b013ff04e4d0f26422e8c2a44a88beab167353e7686b3fe";
+  sha512.source = "242e864b822f5deac76740d7a00edab9b6ff77e260b3e1adb6676dda009a8c200b9352e87998b76ac3047f0eacb9bd5ef87ac554c7c20ae649e91f1fcad889b2";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2d";
 };
 "esint-type1" = {
   stripPrefix = 0;
   deps."esint" = tl."esint";
-  sha512.run = "a6579eb0e3cdb824293ff9f1ca261993904687c7c5f75f32ca38af9f59f82583de7a3c680528d09ef6e489e5ba32483c71cb7e9275ab04a8419645933f4f3d9d";
-  sha512.doc = "ad5816611f99a2704f1cf100959e53e415109a0aad3c9a18fde18ad4901980a68ecc95b8c2e65bbfa963ee28f7445bc5b1f9549444706aa0b8d582a9cdc2ad04";
+  sha512.run = "5a663d01e9241adf1961c922c588888561f495e6378fdd7aaa90954c3e51c5f0f8e6dc1e1947c9f03ce3472e1aab3dde1b35e6b5f0814f5e2cda564a31a45a1f";
+  sha512.doc = "081a225225f503fac403d306fac3ee3b2747341ef5c4ee9420f49a56ca959c7757f154c24f90ed9506041b13464ea216e6edb52f29790d189ea7b33c7c797f8e";
   hasRunfiles = true;
 };
 "esk" = {
   stripPrefix = 0;
-  sha512.run = "82a28edbb32a94d204c6a349c68e2e30ffee2d51f95452753d300b017adb11bb757a5c987be485fce16c27224389531161fd2e8238026be628f0bdf3699e758d";
-  sha512.doc = "38a869264d24faa2c6a14333bd75e31b9895f9b04a8fca8d921f072f946dd1e4bd38b914b116bfc08f55c794bde055e5e8251393c851c95de3a20d3095126a14";
-  sha512.source = "d9160ce972ae3309a625316927c57dc8b282e4c78dbd9904b3501ea77d62dcd49dfb8358ead3e91351b5f7c785024f36b71e3ff04c59080e7c737c04a4cd8470";
+  sha512.run = "584d9b9abf202d93826c690545206c3b7276d6b3a4b717ed3671f9cbd2a1c6c6503d3352471fe60232e75d63632e021fb0ed34ce49d5a1e72ae58b08fbdd7211";
+  sha512.doc = "acc40c8829e69c681d3bcfd5aa7223b3f5320c1ed5fa3f4a9a700f203b622f300b73912ef5df2c163d2cce1b40aecfdf1eb880dcba48e94783c14054981e0e11";
+  sha512.source = "8f7123816c718d86eb1b362369dc10a745a003e8e79c54b8edb90813382528466a7e0fe3eb6b579372754d03888065b6f5c48a0682c6288905e93cebfb1b4a4b";
   hasRunfiles = true;
   version = "1.0";
 };
 "eskd" = {
   stripPrefix = 0;
-  sha512.run = "38502358c9838ea5e50a924f4fa0730dabdf442c672f45c33568ca97e91cab2dbee2fca01d677f986a54f075f287b1df920069cafec9fa920e8929959995f5fc";
-  sha512.doc = "809341e2fbda85ae67d6c776a572d2e96ff369061961e7b80cacc901ee5714036b7a01e67f09b649647491b6f0b9e9b79d7c411a139cf84fbf7055e265ba8a0d";
-  sha512.source = "48877daaeaa0b3a4a4c8d3bca0d27494e0574a2305af2504abc6d4d750dba89c0c714a66f4f79c64f2f7f590622fe5d9480382fef951f3166b87754b77fe08f6";
+  sha512.run = "d0c1745172683bcacfb061f48bee10f78dbc849657295f5e7714cca949afd586c441f727e909c627b595ccdb50b81d813538e6837a00809ee884ffe1acd6b25e";
+  sha512.doc = "01a0be9d02e7fece62cfd1bc8ceb26b2036f3d2e374794f3c4aacbfe004cf4059346510009760fe48fc0141c4e9f3cf1e40088203d31b7bbb31ec375cf5f70ea";
+  sha512.source = "88b3edc0487b638142ba353ef108558b8fa6d420f2560a4fb1c189829af87d877a8900566c042556b15d654d11d2a0def58fa958fb9b234fca84419b2621cba4";
   hasRunfiles = true;
 };
 "eskdx" = {
   stripPrefix = 0;
-  sha512.run = "1a08d0ce904ed96d059aadb1a7ee35caadb333dba3e93472b17a3ec7a013f481f81259a96b81572a839866974d76bbf002e4d5ff73eafec6e7200b6f80b8ac35";
-  sha512.doc = "4a6ea2a52e6155b6d8deb561828f53180cda84ed7336dfce38aac32397ce8dd6dd4631e750007a50fb028ff94c43c247a47dda78290c3c7bb1be8c8e74006aa5";
+  sha512.run = "e5ef11cba6b0251844200093445f5183de60e0c0198da9c7000ef5c05a2a9a4303a15dc77ed03e9874e452ffdd283016cedb8901e78cd0312ea5bbcc529b74d5";
+  sha512.doc = "748dec387a09546b28718e943e05772cd56c75a0066793332b343e7f604e607efd37a071c1f4f32fbd20d7427277bf2d598b355b8ea3a0a04943ccb90f4f249d";
   hasRunfiles = true;
   version = "0.98";
 };
 "eso-pic" = {
   stripPrefix = 0;
-  sha512.run = "331b2ef80efd1a123a11ac4889dec80f3ec7ba34abfa46fa6528b6da23d0a753e89fa7d0c36855b6c06e021caf9b002a904b7ff85fe673e16f52c109ab1c6547";
-  sha512.doc = "ad391c5d56b9437d48d63694f56636d32f4ce786a71da10bfbb8c513ab68d8fe4e3af513a63c70b644743fac07af9a0966d2806cbadcc7091bea098554090c9d";
-  sha512.source = "e4920a366f2aeb65f6c9f4e548c10b0d8f697c53d5320dd37847c3fed8fd4b5628da3cb389b116434503391e9d2facd7ee7d1911f99a108c77cf3b05eb5a5144";
+  sha512.run = "52c1987317382cc5b3af5fa05627d3137c692b402dec1a19104f814be191222b9699935a52e68c5813beabc0f659735ec22dd37926d6a681ca6e415ac0235cb0";
+  sha512.doc = "e78570568903fc10ad3309c8247599da7faf2ec9851df46b2ff36451a874f605fd12b9aa0dfd68f237cc65e77b527baea296036721fbc0e2185d4cb61f0eb1b3";
+  sha512.source = "7736c3f6bc4615034127de7b88d0be8e88e1564760bb340d5fe555633ebedf1f5b12881e4c1cd504af47350000a931582f8f75f1de431f6151948c8a27af1ca1";
   hasRunfiles = true;
   version = "2.0h";
 };
 "esrelation" = {
   stripPrefix = 0;
-  sha512.run = "439c6cb57f4c7c540ee84c7144bc676ce40064754badc62457157ef05722be6632287bf66bd0d1404cc110cbdcfee634fb3790335f62269f9e6d08e03999901c";
-  sha512.doc = "4f44d211656cc7fcb24ee181e955f5831e447494dc1b041d76c1e4b32360cd7dee9afc8774ee9eafacc091e9f9d022e451d3ffb73ca03c72b3bdbbb14a36dfa0";
-  sha512.source = "0d81f15cf818de579453ee2509ba0818dfce237ba946a948d93c332f5612d94621529625c8ecef6e47a73cef15e904e70e78cff7c4af038f297d733a9eef3e91";
+  sha512.run = "a6d8a0a9bde08e3582826affa52142fe5b5a0dba43c4ff15f5fdd19cb24b561bcdcdd761c2a84238c9b31d3fe0a023949d2d0c716e105852443e06ced9df13f1";
+  sha512.doc = "6698e9f57df458d9652ae98abbea08ce1f14c6c31677c32ab8cdf9b8fa0866a57c50028ea36d2c7cde133588358dce0b2bb37b7085995e4bab9ce7d3de1a541c";
+  sha512.source = "17b0495b4b19ca5166835549c62c9c5e1dbcb59e2252e321860dc7254b9ebc9d073f317a344a2a8a4ec772ee1a931a5181d9d3b1af45f913b0ad04ebf189bd3a";
   hasRunfiles = true;
 };
 "esstix" = {
   stripPrefix = 0;
-  sha512.run = "23af2d293f7c0d3b231388d140c75af480a1f6b4f1515544549af42e1585e3f138f021cd4161bc94d3e6a9dfdf3178c11abf54ca71f00b65562039bde14483ac";
-  sha512.doc = "9c1cd87e3d60f8d3713de4d9288286c4c074517970c99249d89f764a05d355e3ca77ec817ab12d8c5844f44da6f1d4a3893fd2463e3720bec7bb30728597ceb1";
+  sha512.run = "e503f25cb713918329f297a4ed088b63967eb06828fb753653aaf60ef99c5fb7db6507d6f0f74080b9fad2050ca1917f7ab873be2fb0bd3fcd126f29a43eb775";
+  sha512.doc = "1233a284b88e5c8bfb29350b3b534e7a4c81b5692a9ac7aff5d69f77210e026dede300b511bc45efd18d6a96f6df9be2add166c80f0ee5d17c93732c0c242bf0";
   hasRunfiles = true;
   version = "1.0";
 };
 "estcpmm" = {
   stripPrefix = 0;
-  sha512.run = "604d0910573b2192dd8a1fc97214a528258fb3369f28304c6dbe1e91bc85456a6fa98bca6ac7a2e08144776208e84de51a217ea0708d0214b68c470700b70e03";
-  sha512.doc = "4ace679bb114bf83f5a884d3c15ba07405b1d426838fae064a4e2fd4484a807f86b592c29456f2cbd95a439f6d61ca5ba57f81ed09bacef7294e4b8d44d2af68";
-  sha512.source = "93a9070dee14c258f1834f7bebfb85237a29bbd3845cd8b80f61a75548903f29f2cc14575851f64a9351d29bbea427b8fd3596f7c086f56195408b9375415cad";
+  sha512.run = "20213ddd795e862dc924ddd71df08752f6adda4be7a06237507cec84abf6a6ccd664fa9676cb9b275ca9de8647011da0bc731fef9344945404f885b56b75aea1";
+  sha512.doc = "c240305f2ad7a841c1d9309d1934001fc42d68819505b5c862ca8c97c5ecd7b6d2fd8a79a4273be79126d1503d968fa4649ad06e0c001f3b731e300341802dfd";
+  sha512.source = "f867a24f4bde53c0de195874f1717fe49a3869755834ba1dd0a9004e3085f06076eefaca2e83c59cdf5cdf65fa740d0df898e0ee75f88a5cb516a3cfa404c164";
   hasRunfiles = true;
   version = "0.4";
 };
 "esvect" = {
   stripPrefix = 0;
-  sha512.run = "63a248329d3245266ea84ef9835ceb2eb469fb93d13b9469af851be433e6b8353ba07af1381769fad54e1d8c8495a6e1e7cac1a2658a1b59a521c09e67abf023";
-  sha512.doc = "1885c718845210db3341732a65961244f7793c27d825e48fe510b0bc346a6cf3d7f4a44a4b432812dfd0050126a551b4d1391570385ccf8b3434b70affd53f80";
-  sha512.source = "74f75ff7824580874d1a4a6b30c3d606f4e6a407d9aa6af06713f05162d77a99964b27e94a29a22bc64843e37723c901b4174ac86c1457c11e26fefb4302ef0a";
+  sha512.run = "1a6940862940d8ca29bcb19c69817b84a7f71f7a8762d3a63829fb0e0e88eccd940f3e2973d8d05dbe9323aa1f80dc9045b531e3509239eab399f02a55e7988c";
+  sha512.doc = "502d2cce629280d7c192ad11764c0c12e65f9f1318286d1acdc3e08c9d7d36b07fc3e5939c053aa57ad59ee91e73b4035c9bd1aafee3672ddeed4a64bf3cd7ad";
+  sha512.source = "658e98e4c97dfdfcb34b396ff644fda060a645d15760bd975ad1397ca73f4ed24331a77bfd914bfe6f8f218aec9ab3fcc0a2a48efc19a0c6adc1024943584a47";
   hasRunfiles = true;
   version = "1.3";
 };
 "etaremune" = {
   stripPrefix = 0;
-  sha512.run = "5bf23fab5bee34bd020211f056d341f5f459edb3ff536c12e186468d403bfbe5862e1d83a4a2f3633b045787982eb55937d7eb5ff788400bd7ec8ee60fe9b982";
-  sha512.doc = "630c9d422c6db627c68dbf600692c7fec75fb180e27c534e62817242d8447bcf93fb3cd783c9b6587c33f71befcd7c0501508d7d8e4ad2c5afa2dc85816d155c";
-  sha512.source = "e6af96170ff5f49191acdc384737ce0912bff603f6380af636a951144681f994c96e2ea752e8bef9a31c4c1a60f52dd4e7782ac9b11bca1e67f8b8bc11e16438";
+  sha512.run = "511f84d8cb951caaea65cbe839fe83c9c2dcd7dbe0e0c3db3611d914dea475b60de029d4dbe482616e9d219929c50b2a87f6c33451d0d880e3b368fbc9f7f612";
+  sha512.doc = "4d7728be13e1454b2456e543ffb89a19fc5204e8025f949dcda7ce3b8a8b898dd9a6d96e44477cd158baad4d462afbcc17b6df6ddd9982232891e7b4ccb112b7";
+  sha512.source = "17c0b9d705cd5ea494428bbfacf73d12f0f40d5eb4be2a3b1a4e2aeb97af61d184ae6a471505d6dd604174cdf34976f9e64de5366be7877da26141720f542953";
   hasRunfiles = true;
   version = "1.2";
 };
 "etdipa" = {
   stripPrefix = 0;
-  sha512.run = "6726067f15698390c7e1153658725465ee9f5ea7a730c7064a569af1827692afb27f31f0971e0a35630968a7bcbf1783e74079f830ac7c098c8603a9b1659a62";
-  sha512.doc = "60ae9d339b09b53d18cc90947e354d16476460e646ba5c822ae89f2f4171f3d62dbd296c5df0df5c44d2b724d825033186cd99653d0b6676969a45404286a9c1";
+  sha512.run = "88502eeb78f2f5901cdfc192638501690aea861de2105445de226261c62f526d6602ab5c63f02974d067e229b12441ee6663b54769236a1e0e125896b869301d";
+  sha512.doc = "6aa2ecdb393932a485857222e66471b9c52388e726edffd0b4357e340e8a5092af96ad1847486a58d6a8485a4ce0e80e25e80ad58f60991004136739d26aa996";
   version = "2.6";
 };
 "etex" = {
   stripPrefix = 0;
-  sha512.run = "cf1c7ed52510440f58daa4dd9fbc8e29e1cea1468e6b43c35e5a34555ce63e5914cd281673ba6551fcb52cdbb6b38f33219e0b1c79ba8e342d1a9c4664a7774d";
-  sha512.doc = "be1daf0be87cfd94c42f59cd4a09d86e617b642038b42faa62dbc171b7518ae87699398a17b61f6df22e3bf9dc06cc71cbb662f800727764dd18de78c4e5974c";
+  sha512.run = "8d9bbc49c5a9747bd0469d6941358e33dd273841c0e467ca5fac191dbf5d353de19e43fa6c66b95fe5975211c01cb6dadbaffbaf544faccd3e35af0158a0642d";
+  sha512.doc = "5d10427a79c38a573036164d5de8315a80b709eae87eccc050e319435622664203b4f859a7a0875a13e444a3da06eb11a2801c44c8c3e7d5ed0241adda8b5d22";
   hasRunfiles = true;
 };
 "etex-pkg" = {
   stripPrefix = 0;
-  sha512.run = "3b9f06f5d621a5f080dae7626ffc6cbbf2cb8eaab0b12d2e5c8fdc7747fa9fccdaf2a9df42e60c3622ba317814b5ba244b1e809657c7e6b57d325a0b489b82e5";
-  sha512.doc = "c66818ca5375fbc768533ec6bec0e1002c501f49221f0822636d810641abd5b6a8a63913dcecc5b9b82ee7dd70d417ace208f8a7d9c1fd4aaa22a64be46138b8";
+  sha512.run = "e2afebc530bdab4d5384170dd807d6e39c96d5a18af0defa534106103243b0e52d926e09f3ba62378452ef643bfa8f0e4d92a3c0256847c91e561707410052f4";
+  sha512.doc = "2ef9984629ffdafdc799041127e31360c8eee80726d8c410130d61f12de306e7b4c2cc892e8012029827e8ed470f9191eebcf758830cd34b8d01593ff78cef1d";
   hasRunfiles = true;
   version = "2.7";
 };
 "etextools" = {
   stripPrefix = 0;
-  sha512.run = "54ee643db1c1bfd65e76500bd6a8fadd50ab5c8722a6d9fabf5caed767fcdb95c4e71cb8e3d88458cc92b84d6b7d4d9b7336d4aa170d24991392b3c6c4db08c5";
-  sha512.doc = "7658a45e46e6e9978cdcf0d4ee0282209bc15351ca93c23f3f9ff5205a4aec3a174eb10c2313487169b7fad5a1de5636ddc50a7a8770f6d16c4fba6c0bd98182";
-  sha512.source = "c0c2fad3b29ffe3d7b564db7dda4846e3dcf2ee703cf3386bcfef8f81dd6c68c3e3ff1440818088d8ff3d752afd0642de2de7397c183e7b1e9fd5235840bf562";
+  sha512.run = "ed7e514441de2fd296c372d9c56dd71ebd5318bd67eb4611c4bf784b16b045a08338ca4456899739dc023e5bc4695a6fd1784e592e542cac6a0564a68307a983";
+  sha512.doc = "5a8d722f9e2e59d483c7421909b4a0f8719b0de81f2b8b95801f905d478624eb4df936f193eb3e4ad1e3f0c2d844c7672a5e2ab1c0ff0654ed88c66bee4802ef";
+  sha512.source = "a2535e9648828eee76f6fe48d7c85ab4211c2c107bc91f72a944f8a9eae384205ef371459fe2df743712039eb745e48dfbcfc42cd39b7d5391263711ba027862";
   hasRunfiles = true;
   version = "3.1415926";
 };
 "ethiop" = {
   stripPrefix = 0;
-  sha512.run = "53759564ba3be8030f02f2e03985b1052f060f41a1f33060c6aa78c56f1b10dc2baf7832a40d2ec0ea1cb85831b17bd200d9ea3bfb98ced6805d3978acd663a8";
-  sha512.doc = "dbbfe7a8ab49f4780d512c232d5f22f1fbbe943f5c08283ca2a62d23c70ccb7daa71f8771c8d90c7c13090c170d8143668ccca46eec3953250893932ae17b9d3";
-  sha512.source = "5c70ee267369862577272116db81c692ec4a7c43fdc8786835066f931aa671d09614f5893ed4fab5a2da28ea0b7949958faf94746ec71d5165e594b206eb6f05";
+  sha512.run = "ad9da81e2a9af7f93c3a9677a72b80335562677d552511463c20b73df25adb0a6765463273306486e295b8c5994af03fa1df8f1e70cc48ed7df44698637f8459";
+  sha512.doc = "13e9149433cee0c44d8eddbcc6f738cf113581e4890a8728aff08a6f3f26a62617e1770b4875668dcd75a3714925db9cf5c5d9fb58a9870292bc0d22005c844a";
+  sha512.source = "46bedb27b22953ee6aab0b372581fc58186f3208c985a88006846a1f7917d998b5b8abfe463c3f415100f27aae20ae1d1648044850e6e7d095afa480adbe5837";
   hasRunfiles = true;
   version = "0.7";
 };
 "ethiop-t1" = {
   stripPrefix = 0;
-  sha512.run = "448e86842514721dc89fb6dec5017c8413000b4ecad50fde2d32986533cfc0ef1124028af17d397e6d96ebc649ebf4363f0da705c004b675a6697ba6725110c8";
-  sha512.doc = "b6a921529e18634e7a5f4f9fcb28e0ee8207b7277b73dd701687e41260582f64b5e510334a431129bf659fbf63a5b6dfb090863bb8d558e8f758d1816d3faa03";
+  sha512.run = "84f97fb5320ada95562aade797fdb62577e533feee9d7ece5cc51e17303012b198c0b1e6b4f720dc1539c4cb917ac71e3da6f48776d6fcfe84d4527ffd7b78dd";
+  sha512.doc = "81f2ed72d5cef9119c94c4b0025e31be6739153e36b7b31a2c59b0cbe5a683a67746da8346345d561472fdbb760c07831d1936222ce1388ee12d70c9053ca8ac";
   hasRunfiles = true;
 };
 "etoc" = {
   stripPrefix = 0;
-  sha512.run = "7179facd22b1fe974b4420c19bc241a0fb047331f1d182c8894713029d760e0f04e2e85d7ca7661f2a2c64503ac4f089f04c58899869aa3f8d193a614b095515";
-  sha512.doc = "714118b62079ac9aa0a0df785c62dede54259a75351e8bc5273a9c4bb048d835bbde9ce533a2b1990215c3aad434934151aaa16f300635a38e1d60d6c9b7be0e";
-  sha512.source = "5fbed78f92e6ecc003991240c40031f74e36c26734c46700ee218e97678c2497b18b439639231e7c473766124d04367f15a8384a804e13d00e7b99a05fb5f492";
+  sha512.run = "f513ad397a4c48add5b1eb21714bacc54989532a9ef56ae2e7d02254e325acb430a1bfdbd9d90ec8bd20c5ed473c7f8a73b3f2ff615690ba85ae2c69acd283f5";
+  sha512.doc = "e4363e5790dbe31c12e3c4392285fc3edcc3390af6ca66d5fc98008110c35c9f9eaea38ed401315b9403368ca4a977f4a926ec59cf76f70424c6e59bc52aca14";
+  sha512.source = "895ad1979e26e8fde07f5df98b338c661b849e4f67f5db77df7176aa7bbf37183c377acf19d9fd92259ce413c4efe5fb0269a854213e565925d826c9822a7939";
   hasRunfiles = true;
-  version = "1.08p";
+  version = "1.09";
 };
 "etoolbox" = {
   stripPrefix = 0;
-  sha512.run = "10df1906c7fc0617ca28164da6002c47852316684b15f0cb871082b6556c8d8f1710e9378b8f361e00a77eb9444a37dd5805a5c3003da8e7e55303f4714d81b9";
-  sha512.doc = "b180fe1229785c301dbfe0a9c58534482f55190d895595c21561694e7a26145cadb54bdd61e82536acb1369e31b1f0c143615a3cece41b32a295d760563f2f87";
+  sha512.run = "f614e649193857d2348bed9c9ce49a64b78e0c165962acb51bab6b340a1b7397793ce07d649808eb04322d94c3df1699ed69164c6e4c3583600f9adf542650b9";
+  sha512.doc = "89b5515a47fc18b6a0a2e70712b614e5fc32ae537c632e431be1ef1e8c55ec2791c7394701e676b0ee6cbf6addee38ebbab67e60d67a34118381fd4ebb0bc0b2";
   hasRunfiles = true;
-  version = "2.5f";
+  version = "2.5h";
 };
 "etoolbox-de" = {
   stripPrefix = 0;
-  sha512.run = "869b0fb0639aa81f9d0eef63aab1157ed954fa67c6c19b08a303c7b0aa64a26fae2eb52d231bbb4f29c15545a0922ec7b959ffacf52bdabfd03607bc4ff059d9";
-  sha512.doc = "80bf5e65b40e8ac339ad8d73991c8d845c39e5133e2957128ca15d6435ab6036c383fbfdc506d4a17283b9bb9f59ae4fdbc8f09a2af07c104e731337f3fc83cb";
+  sha512.run = "cbddbd599e10b6409db5c9f9d27f35b5922bba82da39b19aac010ef77e76a29465d91c10a40c578e834acf5d9ade2d52baec5cca06eddc802eabbe599fb3dd28";
+  sha512.doc = "4c966dc094430caf72e462c1a854995fb78b54dca84322233a16508e41f33f0dd71db2b997b26beb7fd4722f0df1695a118ef782d7954983e9df3ba2132b828b";
   version = "1";
 };
 "etsvthor" = {
   stripPrefix = 0;
-  sha512.run = "3ffa08004d3bceadf2f2c36f15c88e3a5facfc25093d84444c21bf64785a7d7f72ca7c65184b72f138638659fbd1c27a079681aa146404019f0fc8996418c87f";
-  sha512.doc = "2cdd0c03bda04e06f90d41b1a85088cc7e351f3fbf9fd129dd96d66ff89b7cd75e9bb00cbc2e4f48411b2b549af4e77ad04316f38413c872693a5d01aff8fa2d";
+  sha512.run = "c70654c50e186f73bd6dbbb65cc40cbfd809a86de223f96b4bbd1af94fc5fa928f2400eca58d6a97e5578186c58cd038a99264a412d9bb7fe15a01d7f3aff8b9";
+  sha512.doc = "47c9d66a720a8225b34bd0571c0f0da18fc72fb5f37e4204e7d4842facade9a0b72550351c0743dbb9296ca8bd2ad61036361f0cb7447b06e0994fcdb7c657b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "euenc" = {
   stripPrefix = 0;
-  sha512.run = "64a1138033402ce014dc1cc68e2981c8fbaea03d4362d8d5acc38cc3e7263b281d43a4b15dbf72b25ea05ad5dbeba9709a733b6be9078ec77b5af5ee1df23d48";
-  sha512.doc = "69bdef150be2a41c5099c111b1d915e0c82cdd498863b94c798dbc5bee004aa43331464923ec40bd15cddb53a5283431d00e089c3222f0901309739b1cbd44dd";
-  sha512.source = "339f1ad3d889ad88e57d14022f692e79ed98224953f527070dd78604d97ddd10ee7c194bfa63b561ba23cdf5ae450f9b840b2c04542c1716f64ce74fa74f5637";
+  sha512.run = "f5968e42b36d9c3ab7ae17d156283f8fc09f0c725dd1037cae3b232f94af11a8ee84507efd87cab901bdc8a34f0f72d831a078de205e9beec81c574bb65f79fb";
+  sha512.doc = "ac8d4e83ab23bf692d609a617bf8aacd8b33949e0bff1070301b8cad4e91f2a651555ffb44ad70be99791e64020984fe07afbb25976b73963abc79660eab96dd";
+  sha512.source = "4037c8f9961be1f4cd6a41d0cced28f4bcb54e5b7c4f9681b702f1d90e425ab0c772561b662fded93a0c469cfa1c43967fdfb3eb8c9e0e8c86d8340930565910";
   hasRunfiles = true;
   version = "0.1h";
 };
 "euflag" = {
   stripPrefix = 0;
-  sha512.run = "15be1fade27e9ec6d850e3fa141ddbc532e0583144f560ec9ccb2e930920a62f85fb44fb69833d26ea149f6a731c5ad89cf24c52288988cf823cf25226d5fae2";
-  sha512.doc = "1e479aa6a0f1f019dc6fbac8fa54e3f34557f285f673174daad1b9763779ae3b74ad8f82fb746ec30b4adcdf262eae73bf7bafbfba6f58c3ae43af922f461a7a";
-  sha512.source = "aab81853918f589a3b5932fa13f7e0f449baa16693017d86137a466bacab4b44ea31592932ea8dd803c68e8c9d8c547d395f4e242c1f1f08fb5ca00066af7356";
+  sha512.run = "e046d3b4b0de99d6669aa7cb62b4304ea8c2b83bef6dbae7d997355bc97ef07ffbad6ba139a4969c0a99307a43202566a283a40de1a69635d09afd9256ba0a51";
+  sha512.doc = "e0b58801624084e20083f1c92ee71dd6f53b75954cc2a63c7f99b2453d3925e9d4bb9509e86cf3fec3bcb2b1814ccc6ec27bdb08bc24f23803c0349dbe1a9574";
+  sha512.source = "2365d9bf74ff4194060edd03776363d3890c6cb3ea4da741413fb7a2fb03a79bba1c0775b287a82c9b30ec68dcc3db3d778460b44f5e249be5f21e130e7e52cb";
   hasRunfiles = true;
   version = "0.4";
 };
 "eukdate" = {
   stripPrefix = 0;
-  sha512.run = "38935de0c71c18fa05511bd809dbcb808ede10e0f9b026999e710ee1d0ba52a01fba4e32edb8614cd37cbd4a5cca3cf71cf494e159870a59efc160b4a22a128e";
-  sha512.doc = "5488becdc0cb30e23c6add2193a9b10ef058e7de200ad54119c11976372a71c181a8a15df63ecb39298c4466b4776ffb50c5303fc9e603f14fb9d69ec3ff5ec1";
-  sha512.source = "88471f75e44dd51e7bb9d71f23748dd1f4031ea9cec8406fb11abb1e29a5cefdefd516fc6b31b7cf274f80258665c7ec404557743236ee3efdae3b4aa7d58821";
+  sha512.run = "4f64df42384897fca09574330d919704bfac2115f330f8ef085c9be60b51c64a9f1f46c10b863e989b9eda6559a3e2cb2388a59a997afad73632d83b02177b3e";
+  sha512.doc = "7c79bb48296d491816b5e5cbcec389fb7a2a200a9b8e544394a8363b5b99c7ad36b332c05968b98c1bfa1caf04fb554318494cafd0781e25ecbed532c752c65b";
+  sha512.source = "114d472984fb42b7043762f7f76e1ac384ca4efd338b7ea1815d25178256dafdc2c83323cdc3e4c1835fa8d3cb019bf0d73dd3fe82acae16b41db4e0c76e81d9";
   hasRunfiles = true;
   version = "1.04";
 };
 "euler" = {
   stripPrefix = 0;
-  sha512.run = "d7fe30994bf26895f51bf00b9cd3220184558067fb41990e9832ba3f2ac35f2703a398def670ea9a44474bfde87e6b2b745e25f8ec406984036e3441330ee728";
-  sha512.doc = "143c3c2118fe71d091946ccfb2494b2dd0e8bb627579620f021837c72aa192be9fca2795db6b734bc2da5a3239da926927c12d020022fb5ff0014cf7c321e06b";
-  sha512.source = "c7fbdd3c93a9222286ed0222b2e170fa66ef782a65d1bec787a0e8e162edfd7c6c911f8fa0058e9face0b415b2371af68ef1c5a277682d110db34a1e88892937";
+  sha512.run = "3b3d383a2f715f14dba0ab926d3df9d10ab63c06d203c59e551732a7f6af4ff8965750404a37863c91d3fc3db7d44d1a279d03839162fde9d8d9fd849f0047c3";
+  sha512.doc = "789c0b35257ad74dcddea589eed36f0a3b86eae3b201fc708c13cb11dbedc5b489d1495c218f9e10558b8977658b72c345a5622c10b8b1d7ceb3065a6c8fb9a0";
+  sha512.source = "59e262e4ebd3eee88828fb2cbc91b55ffe962e2bfe662df5c052075cf4fe4b9b8580ce217e38e4709789a0e77c810f9681ed3cef95f10709c54da5f1dbebd73b";
   hasRunfiles = true;
   version = "2.5";
 };
 "eulerpx" = {
   stripPrefix = 0;
-  sha512.run = "d535ef04ed81ed919cb14b153a9294ea7fce21094f59991185a12b3f2158c1a5b3dfffb8efb0421d76cbfb2ef4ccd46645ade518be7d3fa86d2e93505fa789ec";
-  sha512.doc = "4881dc6e74d0c2a465147068f64f5277915b9e9392ecbe5308a036396eeed549153f1de90985865a56d75d9ca218fe58719950377fcb474999fae378df973206";
+  sha512.run = "1dd4c01260b9f2cf7053d7867530b1383a1b1218719a5a58895bb56e61416f9a93199218670e88cb59f0d87e65efdd7f10a218b45a165894c13b99330797296b";
+  sha512.doc = "d755e9694d0631e80ccf81f78a2832ae22269ded788fd30f0acd83a4044ddb4ee4308c26ae5f79c0510a2986f146d28847eabe200015bb197805d57d149ba20e";
   hasRunfiles = true;
   version = "0.2.1";
 };
 "eulervm" = {
   stripPrefix = 0;
-  sha512.run = "cc21a6eae46871959eb23ee03136d3a1496993ead66cf8fa6ef7193ceea6afdda79e6a290a4d880618cc09bb5e1b930669879cc9c50087982ac17a422c32ff43";
-  sha512.doc = "70d5e1be5e7c0398804347d30ca75d3a6840793cc4e3628799e4870bd38bd4244da94962945246c102d25e3f9f197b228bfbab0845045d117bb9d588b8fdfd7c";
-  sha512.source = "3f2df5a617f04fe8b770117ddf28b30b20ecf458c78c302ec4b2f15a8e6434e529aea2cb6b69c2c9ff26e059a682f4f37114ced73dfbef7e9d2261c6b7b36842";
+  sha512.run = "f497e30a188bd0d6cb66795253b35f6a108ef11a2924da94110e5a2c913af64826a21789265bf7f2b15a31a914b74ec171fe3c3d299b1164801898c0d7b0e7b0";
+  sha512.doc = "dce6b483aa0d8ed6d6e607a0a518060fb290b25f04306ea4ba50f863034aa3184118a7a13f42e89fb2706daa173abb7eb5c2bd433eb038aafd1f3a8eb9c17995";
+  sha512.source = "33ad15486b813b4c4cb7758cb22acd59a9578df070857483e6cf7997997437df954619a197c4bd762c38417bf9841c06db446ee74939b8eeeb6a0d3bf893f5e4";
   hasRunfiles = true;
   version = "4.0";
 };
 "euro" = {
   stripPrefix = 0;
-  sha512.run = "86721483f866d367a2d5733ff4fec6b3b85a6fdef9b0feb80b2ee87234132aa99b5e6cc4f86ecd83d23b238aac29933b3c18787fc3940a6d915413fd7a9d19ad";
-  sha512.doc = "cdde695a635ff28d4977b33f86407ce7ee0ea5b5adafa2ad5adc27b7dbadcbc2d4fe07d34a7461d5268b3b73db8a886d3e371022e5d22c06608686ff08f21700";
-  sha512.source = "636ca697b2a2a489b49749e9057d21621959d67c404a20b904a889055c277ae4711bafe995831e10aba9c5362734126d9b13f99b3bbdb0cdb35e2feb6cf7af9a";
+  sha512.run = "35a1c763998bdbc3b3b54ade3e4887859aa9d166699ccfc73db432aab3439be075d858e88d3542c25f8a0065301f0b1fea9bc368f85ed767e9deafa090f35beb";
+  sha512.doc = "896a040cf80bec968e4fed5b2bd774e433997d336855775c1e6e5215cd6d9bb094550da324a2433d4da94ead4af3cfa6b192382efa73bb7c6bc951c22bb02fb3";
+  sha512.source = "cf587911ccf53bd78d100221518aa62595279fd5880152d715950ece34b23eb5ef39b0ec190d2c5b5060a4f68861a8b9ac2ef93a3a6f3dbe3b85223dc386bef4";
   hasRunfiles = true;
   version = "1.1";
 };
 "euro-ce" = {
   stripPrefix = 0;
-  sha512.run = "33ab79909ffeb2c66b406c337d10da58cc9608be8ab65544be5825f08a7bbca993440e53534a87960433a8a83ce165614becd32298ededf508fa43cdce90c2f6";
-  sha512.doc = "baed65a37954162826df93acecc031437514722a422dc61972bab10663b1df65379bfcb2cc690173edd4a9404423d8e289c04e167e1733b1cb6317c64418b1a1";
+  sha512.run = "c1a864ebf022c8949b62195be6ce857ba108b7f930cf6e0152d70b7e3283e09c2f93fc670732cac79e3f48b860431186ea903324a02597b2a92fa43a0819b57b";
+  sha512.doc = "3a44189546231f3bfde594142e6901a69f6e351e1d04203d1d646c476ca330431c0560faa79fec79485a4092b667864dcfb522ddf9a56bfc2b2ab76764b3852e";
   hasRunfiles = true;
   version = "3.0b";
 };
 "europasscv" = {
   stripPrefix = 0;
-  sha512.run = "06258e512888fb656a55c7d29f9a2561297e6ca1d92b1e9a9a9c91a5caa508bb55ed1d2d5884a0b5bc79848bfe20c96895226be0c4cb92270739e8e9275023d3";
-  sha512.doc = "652cdd7b97187320ad46df3b382017c43c05c51db4bf1e34686d52acea0b0e1df7a4a5de07ba2e9a729cc4d8bc6c3bfbeec67ee46896b989bd13685d6966bdfa";
+  sha512.run = "b47453280812327a1528e7d2a484e0b92e5464381bda11b715c624bb8fb7a1f57e3df71ccaeba7dbe8b0f757297ad3c4515aed773a44bfe78efbe9f64297e180";
+  sha512.doc = "e9041765db618541c6aa9a4142b047f4096bc335a9601186a26860d6b594d6b6125c0f5392fb6dae9a296392fb565ba0a8c288155e8d99e12bc12bec0bedf52d";
   hasRunfiles = true;
 };
 "europecv" = {
   stripPrefix = 0;
-  sha512.run = "9fead1161da43333206095f00151220675dc27c7381de054f4b76554425c717692fb203293758bba7b9574c375d0ce6d9f00d0c08ab17a1f719a7f53da56e5f5";
-  sha512.doc = "47018e8587b3f917052899c7e8401509ec069c65da863ff60ebf0b0193c02c7f48c55013c2e31630ca555c7f17f9f96b3c4fd1ef82f4cd7b4c0519710bc922fb";
+  sha512.run = "474af2851e52b5b4b385ca9014bb6868494a6eb06d86d9ba7ad62cb5defca53c094a0bc3a91d62cc8d9af656adf8f8e8efd577fb6f3d940c134842d1c6a172e2";
+  sha512.doc = "fa6a2a0d208b7e4d87e0927d858719f522dc8ea8ff57e9db391372138b2d20447e5835662712bd81520868a0155c5209f6336a7ab3a14ff811b3da04ce11662b";
   hasRunfiles = true;
 };
 "eurosym" = {
   stripPrefix = 0;
-  sha512.run = "f2e1ff317bb586be7f3c80780dbaf74fe27d76f18fccc75bf88e9031f10d58b0214e6b49eed72d01c21597dc0d9272666084b057b0008868dcd901ed1c55e66c";
-  sha512.doc = "49eeba025196c77307e84443f362f31d46ab89c45ee79edc43a8b46956d95b76d5c63a23c5e1147d3c2326bd65eff04eaf58bcb7e18c064b51d99dfa5dd56af3";
+  sha512.run = "9624b0a91a8491d4178051e8e8264e506725ace0eb1b4e4ee9f3cf38cf7868d392f0f4fae92947c74182a6cdf7d4cfb46319a269e4e3aac686ecf4a4cd2f7b3d";
+  sha512.doc = "db226757ec82087da3e67fe69b5e9c2429e3cc2addb126bc528dda8bc421a4e9da2a367e64f119eb109e8898409a4e50177b81f9035ed1e0672bb902836bb61f";
   hasRunfiles = true;
   version = "1.4-subrfix";
 };
 "euxm" = {
   stripPrefix = 0;
-  sha512.run = "445033ad32e22be93ca0b29c69ada6016cd8d34f1eaf90a42678cd07eb44fa692f243746b673e07922e1ce4efd22e53ab2bdf26aa7b6262a23293f92d2a9145a";
+  sha512.run = "93f4eb11247f8576241a57b247dc2dec20405146a0749d54bb8631875256fd262ac06968901a8682f4d530ae68602af366fdc3ceddbf0fd1042ab95f259c3775";
   hasRunfiles = true;
 };
 "everyhook" = {
   stripPrefix = 0;
-  sha512.run = "3c5262d7d994eaec11bbfc7a326dbd0e687b7bc951142d54b75191cb0837c808f1766346bc368ee8f2b8701e4d792d5f594fb73cefa2b6364dc98bc0a9c96b80";
-  sha512.doc = "d205c8b10663adc2c1f93fb52af2a74b4726c3e6491278e1357cae58419d9a991167d62204b6fa9545d4afef6d5c5b05726c21210d9d432abd712c67dcfd734e";
-  sha512.source = "ead4d2df08498a3eaaaf5ddc9600db7a9d75c12e8cc180e910b90cdd0c134bca72a85bd538bcd67ac9b66360ad4c4407b3449766b609bed7e8c3e86ea4dfba98";
+  sha512.run = "56547973d184de21ff5d6d3eaf1baf9b8cdbcf93307c31fbbcf658350ef0d441509ce359266ea6f962ef9b40b1680b47e4c14a822aa043ab8174ab0610df1665";
+  sha512.doc = "331def0138dac385605b3ea1d88af6d5d1ae29bac696b76f41cdcfd070d50915eb3371a14a894b1e59bf35d55eb7dabecfe18e89f0bfbe6f028ce5fedfe1bbc2";
+  sha512.source = "ba0d5e3f2661c4b5ba765b7509675f301dffa3fb3d9f158b3c3255d84b3a5620ec4d883a9c2f116319e6c70784eb5efa4a1cac270d1a299b23bd6fdcbaf60b2b";
   hasRunfiles = true;
   version = "1.2";
 };
 "everypage" = {
   stripPrefix = 0;
-  sha512.run = "c4ab90d1668d1b71393a07d6be8edcf493aeef5084c08bc057e759ac857997cc5f4647514f9dc8730b66d3379401055f23fae393ba6b0c882bb4cfc3c33c395c";
-  sha512.doc = "8c017ea944d9a4a22a2cc554f57ad2c7affadfce379a9ece6359aeb33503a2853ab138629d5de617fdc37e54b4a6478a330c4c5dfa157879e0ff67670adbb122";
-  sha512.source = "ab3aaa2b7e4e3793722b3c76119df69d9d50a9879b053e50f224d0956937fcb52924051d3ba45a5c1b4ef850ecf590e169ab1268a61a4e319881362fd59117a6";
+  sha512.run = "6f4779a2a0e0d2352b702652a583f6ea7da71865196894b88b630e1105e56dd5ea525cbd4eccdebe8dfa347716c192fa098d5eb8501f305109b337b266e7ec2d";
+  sha512.doc = "185bb6b87896f43472d8c902cfda976139d8b1df09c5eff75e8f579314867dc05b6c215f0dcb09a3438f7279c6579ffc8f92fa7fc682fce18ddf7f080e0c6e37";
+  sha512.source = "ca04b157d255502abde15994da4690b99e4c6d015c86704d179001b3412e9c9170a040216657ef5afb174aafc34d4c0501b51155b84164b17401843837a9483c";
   hasRunfiles = true;
   version = "1.1";
 };
 "exam" = {
   stripPrefix = 0;
-  sha512.run = "a402b55a310bd6d112dfca40fe3805592e5055880a539afb461f50b6a50a3852b2284cea7d0c0c1d7ed2c1e2495bd9f4fb161032b558df8abcd3f0ba1eb9509d";
-  sha512.doc = "a0c84a0784c49af226eca562ada98d808501a09f9915e1b97ad417fbf8fb4ce1ec5c5564cb07962d76a30436845fc2a52295de9b6f5681e302043f6a575dc3ac";
+  sha512.run = "77c488cbfa6960df070c9898d699492826751ab5cee72a4e1f51e839b6842bce910542d02c42f3a87125f4f3ea25b496092c26d0eb698a50bcebd8408efffeab";
+  sha512.doc = "7b225aee549267ad87b5e900570e5dde87e2e77d84a42f33043d760331cc71415f76148cd30245612ca8e566930531c07b71508f50867b4cb2c6ada659f4a2e8";
   hasRunfiles = true;
   version = "2.603";
 };
 "exam-n" = {
   stripPrefix = 0;
-  sha512.run = "2889e6a494930487a34a26871ce53b93cd9f9f1210de6507b5ed8657e5e86d528bf4ed926ae999e2c127c41afd529dfeaa7bb86482af78bad0eb6452cd386728";
-  sha512.doc = "fa187f29eeb05edc50a6a6afd2c4ee5003233b4fbe9601fde5b2cb112d649d58dee56836c6ee1efa7103cda7c27084acc72b803ba67d38a2ff2a4b237d4b1838";
-  sha512.source = "bc53ddac6ee065de20ab89997f437e532832344b95bf0b02241bee760755807d603245e0029b9c25c99bb0999648020d485233fc6447d636da566faef6b20fdf";
+  sha512.run = "6cb28928125f1164fcf2a78980345373a094fc1a2f2f22756c8f9b27da05b88b6011f000508354b4d73aafa09a2a877bd0e6913a274518b471380074762be392";
+  sha512.doc = "502d6fd1073f4ce68477e6be652dd131bb0a74818df2b1fc6b0a97aafeb946de1d0fe3fe90ed5843bd63305c528031acde37697cfd756c9839b083f9926a363c";
+  sha512.source = "7241ce6d5e83e75142d8f3df652af4eaed554a7a2c93ee3b2868bb8c5918cfd950c7fa1413464604607b120eefed14fece4f801b08a6f0fbbded59f29e8ba620";
   hasRunfiles = true;
   version = "1.1.4";
 };
 "exam-randomizechoices" = {
   stripPrefix = 0;
-  sha512.run = "5eb6e6bafc0d2f26ef0d95390e4ce02b1596b430b05893853712839bedb3df6d425f1fa61ae193008348110dd7d87e04dbb90e6612ee4e8f9051d766ab22b99b";
-  sha512.doc = "9914509b355d4159eedbe5848646a20b6fd42ac1b3300d64138d0cf52d3db2eabb27349980d3ce1dc90a9e1bf45baeadc15227095ada2d7c4842ce7225587591";
+  sha512.run = "0cb93637dda7a7813f8f89dba62db03cb1c1c6da5ce5dae596a14321fab8c46a5c6d67432c31855b66b37b0eb9086d23b5bf2881bf8fa41e410ed7a4724d84bc";
+  sha512.doc = "74daa43aa020898bf2a969e5f6fa09aea190209dd71eab222dde2b30cf2f6e12936b454a62b328aee59f6c3ae13bf5f7005ec3aba66766ade77672f74bb3ee8b";
   hasRunfiles = true;
   version = "0.1";
 };
 "examdesign" = {
   stripPrefix = 0;
-  sha512.run = "3dc287e5c6e51597689e82b738270dd57d2c63463717f9381ed992e421cf70fe37dd1df808780177904973f2fc916feeb695efc109dcad3230d9878400d7b6d8";
-  sha512.doc = "97b83f9d5bfcfdcee45d1a35b757d3f61d33bd899aa2a2f86c15e12698bd0dc8e48a04a4b31be63c55268bb161923e11148b4ef68b3e6cf60672faed2f07b8b0";
-  sha512.source = "6a287a229a70f7aefc5e6e1c12964fcaa7f084c29e42aad36f7a589141d2b12fc46dc21d8b31ccee12b9d2de90d2e6b7a04428756a3b36f5f332500136d0b711";
+  sha512.run = "bf052063b16056faed35007a5e1b6e2bf4f116388b2698c24c7c00ff257fde4f0225f138af6c011f99d051085169b51357c8661647f28be07a7f6dfd330ac10c";
+  sha512.doc = "1870e3732933e0d69f52eff2c403011b09814938083b91bb428c776ef50140e1b43713837e018b09e8340dd5e47811aa1050bb9f90b350aa341216edb00c2a9b";
+  sha512.source = "8f755df76be154c4a2a1aa6d2814774a0b9398d0b64f7a59cd865e92e805dc3bfc84026a18dc449a2ebd6cb6215097e351037430de19960e957f314ae724e244";
   hasRunfiles = true;
   version = "1.101";
 };
 "example" = {
   stripPrefix = 0;
-  sha512.run = "3e6427f2b0fc965e97f7f9c1358b7c80a859fa4619d0843c7426fbf4b2a9d347a36945bd54698c7ba8c44032d4b6757307a46644b185cfabbc87bdbf84e4489d";
+  sha512.run = "2f790c1bb8934e1127ba64c61ccf0d9ed503c01cb8975c114257a2179db7d88b4c969475b0e357d17785fcf7e42487e991e176df3dd7a1be5db4cdf87abb9cad";
   hasRunfiles = true;
 };
 "examplep" = {
   stripPrefix = 0;
-  sha512.run = "7b56e5ec0bd53a52d5a1630c618b7b4e2f01931da047dc8415d085dc954d4d984dd9461f10a1be99929db51a9ed32b3d5a09cd4a0bd0158c3e482c1585067ad2";
-  sha512.doc = "94680c5b2015d29df39455bd29d3cf8b979263657633f0dc8d61667238f0ca2e988a6cb63f173036cecc6d6c470915d812ddcb5e6814c50f863a3406324ebe5d";
+  sha512.run = "1e28a283a2d6d2ebc0bf7acea39bbc97c459defd6115e125c6b9482f880f59ac5eadd715d034b78f5690806345311946bdf6122db9b41e2da9e31d730f2fa82f";
+  sha512.doc = "f72f9893173263dab5436911b2efd5143a52dc43b24b470fbc315c69eaca0d326cc36e5254eb3f93f734a3240371e9aa2462c0c016659088014ee5a63cef756f";
   hasRunfiles = true;
   version = "0.04";
 };
 "exceltex" = {
-  sha512.run = "4175a2e4d9f5fbbcb441d9272ace24e567c0ec2cdac87f46b78058cec84ad4f1c8e62fe98d7ec20a8a528285129bb73187be40ca814de7f220997c5490404983";
-  sha512.doc = "f53a69468572e296c27665a86d81de4e66b780e8972c2520f35db37b54ff9dd9b1fb26355143008d0866c676e9fd3dd1cb256c00f5b24c696ad98c2a3a550003";
+  sha512.run = "ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613";
+  sha512.doc = "a6c4ae60f2922af773f67494c30407b5b6ead39def9253b4710940774e619496a3c242f7e9bcc8733fc733234679bb2b01c6f4571e30dca16c8eb15ad8d6d01c";
   hasRunfiles = true;
   version = "0.5.1";
 };
 "excludeonly" = {
   stripPrefix = 0;
-  sha512.run = "09846074e61b5297945cd0f6968fd775eae9aa48b3e03af4829664601d5f41b7acd9f42db9f960a573d276a1bd68f837455651d3d31cebd4db56b6ef55ee06fb";
-  sha512.doc = "c1e8503b7a5ab87913b58184e61cab0329c6b39a38f0b4aad4c016aebfe41aebf775f0c68c9e18524cd2d4890416dce429e5185614ffe992c8c538661c3c1c32";
+  sha512.run = "b83426d7ff334e64f8a5566fa905f1c03478ff68da5b74b85dfd6c872db7a63454f627db4e6bea48f8048da0d84bd80b269cf5cd3a5b487484dcd8f2e21c5058";
+  sha512.doc = "11f1a4e7b0bfeb5728ab632756fb612b784e7a8b46e68c2e5cb3681928811d394ac0b7f508e7c655945209b1e75837d4ec1a69bcaa6b0ac8d45d66302b4bcb13";
   hasRunfiles = true;
   version = "1.0";
 };
 "exercise" = {
   stripPrefix = 0;
-  sha512.run = "adcb9044d1763933d07d2c52f718d6a63b7f4b361cf0565bbbdf6242c319f2fb589df02c8548cc3d6ecc04660b5a832c46377966dd31f1f15c70adb431f5dcd4";
-  sha512.doc = "36ae9e179a3835e18ecd7f512a1708f3f70a6eb8df762a8bd6578b466972b2f7ed9a2404338dcaaf9a9cc535b7dd8550cbd69c53e5bb4c03ec765af94553bd75";
-  sha512.source = "d13b9f9ecc692459d86d7ce4ea1eef12bf84de86a86f10334adfb52215d7d768cfa75720aac24fb927c0f1f5d38353ea66a4a07c10ff86b8bbf8dc8200fffe85";
+  sha512.run = "8de2044404690716d781a3b081181d9a14596487213762bb1ef426a0951dc18b1097a4cd8255bc7094d9d5e7f874e68181849c173a4932e7d07c46e14d1609b1";
+  sha512.doc = "3059c297ecb8a990bac32e1e52bcd6fe39e6958c96c145ad70b937ba89284a6f447a84e2f144d31aefa1c446331c7ce80ccba926e288d7ade917c7aa68095076";
+  sha512.source = "fa76e8b16def4f53a968c897e12e37707c054c3a964f14ee9654bae4e7285a3d300d62f0a79ba7fd80b2fa15e9a334bf38f3a744f0c0f6c32659853bc9b57855";
   hasRunfiles = true;
   version = "1.6";
 };
 "exercisebank" = {
   stripPrefix = 0;
-  sha512.run = "97e636b1f3d1a3ae57d9ef45857f2ed56fc0acfd46e586bb66c1dd1d12eb9270dde88b4fb41532a2f60f4e54308da8a63928e3d796d366430a981b15efb03848";
-  sha512.doc = "d9864d6f97e52e5cf247f09bbd09c5e517ffa191ccc54cd37df130eea5e5fcbaa7736a77f0d3dbd97a6c8da118a1389176a855a2ec5290758c0ce6105d8793f5";
+  sha512.run = "6398abee37218c1c4b0e21f7dcdc82b49985888c8e5cc4702fbe20942471cfcdb8bb37c66edf2c6764d9a38dcc932b8584f65bec8dcf75ba11c738705a71048e";
+  sha512.doc = "d7b262b7a9ae3a45b69112e2924be8ec7cb2c13a8b973056e849cc5a0f4c82f85d4b5887a3286360b38c3459bc99ea9d917cd1084d6abf1ffc343d7ab522fed8";
   hasRunfiles = true;
-  version = "0.2.2";
+  version = "0.3.0";
 };
 "exercisepoints" = {
   stripPrefix = 0;
-  sha512.run = "5674888f366c9bd6290eaab935a7196dff8f2d9b2739eb5cd6b3cfbaed2c5d51587699ee4630fc8ec3909f51af82d054f80674cecec74eb541e4bf627e2aae05";
-  sha512.doc = "01551f962cbc0d41580363e722bdf75fce5530f65c0b9f833a9baa93f6bd9ff11410351ec6a0a8c096367c5db9461f2c4a2358ec09847723b565a57102b24f17";
+  sha512.run = "cc706842f62ffd982dfde7f503f226c7f7050099b581dbef6e5e7f85269e3110a738232f1a99752b353a54a91ae5ef145697ff36ad9df1fb69ce1051bf92858c";
+  sha512.doc = "81493e680086ce4d833e8e9107a056daa4e74e321964f914d8824e25b4dbd6c181b1e10d41ceecf27d18baa53958babf77b0edf4c0234e0b80a8a3f5ae49c348";
   hasRunfiles = true;
   version = "1.2.3";
 };
 "exercises" = {
   stripPrefix = 0;
-  sha512.run = "e61c9c18906ba8a36a3025e56e89799f9b0ed458bacbbcdb03c024ee86d7723bcf7d6a89a0f7e123cf2e24f7fc17875f9e76e00b669af17385e474aa60f8fdad";
-  sha512.doc = "83cdd2604acec5f48afcc7f2c7533a9bd783219cb379fcef43f9e9237820d939e498e7e1beda8f73b93ac78b2fbfff61702e0c660547c0393cd8d62388b1249b";
-  sha512.source = "40c83ce9ab410e23765ad71ed3601a8610c1528872c0494ba418c253b9ad985a53c4168cf48a82b6d89fb3e07a632e78694cacd961fe88160b340593bf8618ef";
+  sha512.run = "064b8df6847af6e8464989de7070ce1d5282a050ed89016ba9954767c6f175882ee11dfc4c92791f68f972cb7dfefc801696a10a650b7113e93dfd9a9fc1adba";
+  sha512.doc = "7108d509ed012d1560bf19205e45a2fcd09311c50e84ea4dcd87cf17b8c70d4e5496653d97cb303d32783fe9f1d29a17a273a7ac6808ec384b7972dc33106c87";
+  sha512.source = "eb788aaea48e5f9fed1aa8a9ef47792bb24734c5309b74e3554ca22618c9f35ddcfc1b5496299783584310ec7ecc406d8679c7d90a936bbca5122ca665bc6098";
   hasRunfiles = true;
   version = "1.0";
 };
 "exframe" = {
   stripPrefix = 0;
-  sha512.run = "03e07abffe52b3162ed0cd07a09a73c330bb729e3fa5102b358da800cac4d5d9830594a2e0f6618916774d325ee27553735d0bc65387f8c0dbb34b390391e4f0";
-  sha512.doc = "b61005d59de06a4438362d41920bfe6ebfecc5d8883d48956490a2f41aef2c8b7c08632f0f47616ee523465802cd76f88de97bed694e0e3fa19d9642976aacb8";
-  sha512.source = "62837be5564887d4f1dadc708fe8945a36045749f61fc736a7177a73bce70485351f3a692192eb6831b6fedd4d9c0e0ec4d1e2308a2e6b6ea5f2d19f0c62204e";
+  sha512.run = "36fc2c125586780b798225fd4f3bd5d089236b7d0b19fadaa92911fbc47e9bd47cb5d6e6f31e42262c72d9ac1053999ba41a4dd23054abfa43283b7a0e957b75";
+  sha512.doc = "9697e6388b7a1c1ab96ab945d5da34249425c460230b9508d9c3386f3c2ce0d969a2dbc20cec96a3390feb3e81bbd71ea13646af3982f266dc73031d3663ce6f";
+  sha512.source = "b8348107fd677a900e4a8f3f5557d9b2fd6cf154359a1ed991934f74db331725ba1c790b99b9f291dd975873050f5cb5dc42f9a094839b8d482c08e9c80a2dc1";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.3";
 };
 "exp-testopt" = {
   stripPrefix = 0;
-  sha512.run = "cf6c61e036488ae1f273f474cde7c54b91427db8d73e96dc39f6b3951df04cee1c039f40b52fe2918834422de6f28637498d127b3449d39141f001a7bcb79f34";
-  sha512.doc = "3839178742aa9a1fd3c4fb61a23044404bd8d5d9f4132831a3d7bbb020a75e13444070fa0b33881cc06a529a3661a50822e1ef6f5cbe21b58610eb3475715b45";
-  sha512.source = "f58044277a2abfc0b51bf3140fcc18fa5d2e826c566ff1e7faecf1c8c7279e416986429e7ed139b4f29e75122a0777d5798c361b8ebe1a003e7c933c460a1327";
+  sha512.run = "26b5af9bdd06a3bbd231b1b55c4ae8929efa06655656747b804425e802fa7d07355e510ac673590cef235cceaf88fc03e1493f4bee9c99ce2a32c32b9a3f9aca";
+  sha512.doc = "f4f7cda5cc8b3f8900cb12989834e5b1702f751248f58fe65a8d65ab69eb2a4118002212eefb609e251d4437579e635173366beb471e32d07d45c5c645ca506c";
+  sha512.source = "a41951719a9a4bc391216d3c5ed796b0f285a1a7049fa3617bae689127cffd32590ebd3212bf24b221bd7214128aaf564fa62e0a511f98f03961c16a39bc6fb9";
   hasRunfiles = true;
   version = "0.3";
 };
 "expdlist" = {
   stripPrefix = 0;
-  sha512.run = "005fe946714ffd88815d80f1bf92c85a2607f8216e8635a284e5332d1efd600d24e6a3f235edb5897d102f9c4005500c3aed1b92254d49404405eecea78114b7";
-  sha512.doc = "2ad7d8daf09012dc95ac92134f8874c21b25f088697e13a7840806bfef80aab4c13ff16acbfd7bde1f6e476b510188fbda0dfce36f3407baef607c5235128498";
-  sha512.source = "a83bc009fc732444d2f79b4650ad9f0edea3bcfaee7130678c203761f461d268798a597fbea1c73ac5d667b868236df08ab614b59b6c938c8882749fa1bc7492";
+  sha512.run = "fc0f0473faea3d8ffe917e654909374bef6b6d7e41d14c32acb3ee822748c6f37d1f5ab562b4bbfe35dde983f12cd9e1469bd2061aff32e3f79de66e6b3a6c32";
+  sha512.doc = "624bbc4ce685589e7e6393cd991b6305d8a20419b4538f2e1728f9ffc004ef4d724831515b77a607093bf45b8cefefe3e6a352403ddcb543b690b314fb469ce4";
+  sha512.source = "6713de4d316d2be62338ac94d465393a9e20e16eb2a088ca9086f2e9ad0052f799e47d89768e38fb04a38ed07800cfe9cc505b578b517c2f4cadbe520ee1bda3";
   hasRunfiles = true;
   version = "2.4";
 };
 "expex" = {
   stripPrefix = 0;
-  sha512.run = "39b77a5135445ee2d23d42ead06e9624c2127a8ab7295062793df9d3a5e6f81647b5ec822e4c2acf572e08b8d474131ee8ad45d0bf061bc5aa6cad6253475163";
-  sha512.doc = "837a068cf5a70256e64c722263edf1568f5cd507b96420db51e85a0cf8c7743ca1497a56520872db828547b808194c971a7480f54d292c82aedf76788ebcbc2d";
+  sha512.run = "b447a885d65a000f0b79b4c9b050bc89bb32b71426a29261d282fad72428fcf64dc6c660d9142114094bba32040c8e723190e553260c3899a1c1923ebb9f765e";
+  sha512.doc = "b0dce6401ccdef7fbfebbcdef9d68f073058f935eabc95fa45619f4d4d85e6b53e15091d845593255c000c3e672dabadb1cef024b2b0c79765f4f6a231de86e6";
   hasRunfiles = true;
   version = "5.1b";
 };
 "export" = {
   stripPrefix = 0;
-  sha512.run = "3df119bb2d68bc3a8ed26efedf16758d188eedbd0cf1708e15b729768e709f75e13ad739f2e6a4436359d49f54f172d4b556bd2a8a1c663412e25050379a44f7";
-  sha512.doc = "ae3b76ce879260e019fd41f3d778e3290304f9d7db1dc83f612adbde59174461006f5c1384375914cae3808fcf6ada79610208a4021b7787975239ea8c418deb";
-  sha512.source = "ecd92735ed51c56e860fb80dc1ac02acdae5d9e34d949a332855429419e9d5ce86cd81c47a092636e0888bfc214549e3b23948940ac0df834108fdb83fdc9bb5";
+  sha512.run = "04b5eac3e263fd692a1f4796ddccf7c5f41398075c9b15e65a0712cc83dcd85a65ae4506a882249e09c9ceea37f973be3398a0c31d2590e0c3e57549f07e9116";
+  sha512.doc = "169236b497ce09d685c71bd21eb6c35ac260d5978c03f074371386062ce8219bac1e501878ba13b60677c423904ed11b37d8e018adae573d135a1e1cbfdb84a4";
+  sha512.source = "844f1bb688d389fba93a7350b884b4cd5298ed6974d48218cd1cd2c863b9193e6d4d177f3ca1e905dfaa028f626fff4af4b9912ab9bf3eabd2bd9f4ce5d5da7d";
   hasRunfiles = true;
   version = "1.8";
 };
 "expressg" = {
   stripPrefix = 0;
-  sha512.run = "3175a35fddb3bc5f6e59e8c2d01a9a301689c9bb1f066af079d36158834797f35a5fe4b40d545b3e45723ac27783dbe4f8ad0e9527f73cdf9ffc3d942866e592";
-  sha512.doc = "7ae382eddb9a54ad9f812fa7d3d2d79fb1fa00aabd92b2c4f2003d8dfff27fdaea9625cbf4bbbc417e6183e8e4747476fc846bbc6f4cd9310705bfdcf2dc06da";
-  sha512.source = "e654e012782e06af9b88560e3cffc0c0d784bc570dd9dea4485db23867e03e49749b9a78b6793cf0854144c447da456b6263ab6ee37ebff6fa00c80b8bf7b473";
+  sha512.run = "d380b7ca2efad2cdafc3ea6f2265452a85035765a221dd5cfeb33a03859dfca0e4cd01219995870c8943657d2525e25d32bf7e5b9fe8aa9afa8d17c1ac4703df";
+  sha512.doc = "9287376ba5aa36088b4a99455b727c0f60648d50421ebf2fd125542f208f490c5b57af256bf2b704f01a3e00e85e6023c69cb6dad529fb7521ee8cde74ae9559";
+  sha512.source = "4fc193835f6b283ebeb0906d847d54e99e5026ae53929b8855d78208212bc4ce6133359191830803298c1dfd07bcf7eb1e163fa12f8bf799a9eba381e11f7f82";
   hasRunfiles = true;
   version = "1.5";
 };
 "exsheets" = {
   stripPrefix = 0;
-  sha512.run = "f45b35d31e4d777c06ae3b4c4e550a498137eb0b7231bbc9b521fe383cd8cf80f9069b394761b96376e31ef8ea2feb664d87921f121be4b684d14c06f86c4ff6";
-  sha512.doc = "eb7a7a80d3b947ae05394aa96c55b800fa229b809dee7494d99fca8b67a111a8d08a2e5b46aa289c18a2fb0e5c8774383bfaf2300e8746d39a5e805f727a2afb";
+  sha512.run = "c1263842d06916762306b0ead03cfec31535f40d41a0abe504366d0a762850f683b10563d47d149e89ddd75c18c3da7687a19b0a5bbe2b628acac1ed891a8285";
+  sha512.doc = "fbb9dc0826789f6c19734b0b50925d035f3b55a5402dce6ced4cf6881c032d784d5f219b222170961a5e1563b2dd8a5c64e7bcdd434ca61dec94a857451250a8";
   hasRunfiles = true;
-  version = "0.21i";
+  version = "0.21k";
 };
 "exsol" = {
   stripPrefix = 0;
-  sha512.run = "55ff80263795fe47072cbdf9cb9f92770d81f9adf2534e846b6a68926f2ee24f2d4bab049d57d40e847882f11014760e8526e6c7f57fa331215ea27f91c180a8";
-  sha512.doc = "f084907c537fc753ea43259fb7d6c0bb57b12fee0201e33f0c41227bb7272d14d66e3a4f70ed42fd2e0bc24a6ecb24e7b147b1b027989628a90ffc68d5e387c0";
-  sha512.source = "8bba8ca751ef754362e8d625a51d9f6f66d5dff7107c94b97fa8830e3ff1017ddfe2d0e8df5866a4ddc55feef91e3972e83fab303e6161a3975c44cb1ddb33f4";
+  sha512.run = "ef7e031334a27a522f54c5ba5adee0fbfdb4cfefca6e8c1d4f67c8bc542c82bab6ee89d35f8ba8e65ed0b17107fd164c00ed416c64160991b59693f5b567b502";
+  sha512.doc = "b6c5dd47fba5d14560a2d2341f1d17b17eda0ce16a6198ec589f47143ab46fa71808aa6a40a43613cf906542ed9df7d164fb2c7fe5785bf414076934932c63b5";
+  sha512.source = "1fa45d6d526e94e0574d15396a6d191d6b00bba30ef996aa999bf2b77a5426263f1e0a94303c07ff139bf44b0a07f419c19ac1c854c32b02e4c43c397c8a85a3";
   hasRunfiles = true;
   version = "1.4";
 };
 "extarrows" = {
   stripPrefix = 0;
-  sha512.run = "52264fc10f2f78f1455c2691673b890b5fd7167ffba1adf0572e640f7db537b79a0ebb4582d5eb42261e97b7d0bee2e86134d652404dc393b9854c19c5d9ef7d";
-  sha512.doc = "13ee4cb016f65dec37cdcc7b2b92bb22e6d1cfd7e6762694cf58d029017b8efaebe6bb5d4fabafdbbfaaa38b6c251483361b7246b241509252cb2f166b5b13d7";
+  sha512.run = "c5ec26369801ba653899a6c67c41a173842f7f5283d1279d512104cc9cfd04707fdd0313a9fde03672f03a7bf1f2c46f376aa961b211b4bc0ff2641d34eb3b8d";
+  sha512.doc = "be17974ce5f9361bbfd8ffdff55ab39cb1de6aa5701c4582586ea43cde45854bcc8c65f5c4c7a9a1eaa311c24132294ed02f36998905ed7f872c81a022d4d6ec";
   hasRunfiles = true;
   version = "1.0b";
 };
 "exteps" = {
   stripPrefix = 0;
-  sha512.run = "8347bab209d794059ef0e9377fcc8702ea69214b715a334a7401436b868dca176f1bf042afbfe17a34b89d2ce8fd238d0f068a262eb005e2913115b6e049ec2b";
-  sha512.doc = "354647b3ee8ef0af7846af314afeeddee200c7a6b3bc3eeed1aa37d2983db778943d1841f7ba2c248b3c87eee64557e7f24dbb50299f178dc81409d9852dcac0";
+  sha512.run = "1991bc0b471276ca3db68a8ba7611becc4557de4335a321b5c3e92c1fefbe34dc0488ab44850835b5ceb1684ce429e7756fb86d885e2da2177e0d9081797aa0c";
+  sha512.doc = "aac2e20a993818576f9e1efb153e9285b17b48827a1547a0c1033f22fa1a52f84ede214b4322ce4c6ddff69b8736f214f27370b3f1c006ea6e5fe2ab9fd64304";
   hasRunfiles = true;
   version = "0.41";
 };
 "extpfeil" = {
   stripPrefix = 0;
-  sha512.run = "081e4f9ed814d9c8d8e9e28640ea1e8d19dae3bc6184abf7447371ff63fed5e75b45d92ce1c6129b169c689e108d4d33e09bdbefd8222428f94f976f98048649";
-  sha512.doc = "3d055cdd8e83f5377b18825da05fe348b3fae1db2fbd8aff29e417e991a682f56986cd99d9b372048a4301b3b015b52aabf6f7cf67949b47a0b66c5c6fb50609";
-  sha512.source = "f5fcbabe85a4c1eb184483d9907a3c2a73b4fe80d00ef616a9cc27742418a06e671fda1ab3e3f6eb3da48fde327f847cc59797fd0a8fd228840769f4afa44d3e";
+  sha512.run = "5cfe0172ad420c3ca53c57be33fc56b205ba05a11876e4d14c6d86387788c73370bc0708bee46e43a02f10ce9db4b3611b4ee337ace44fe8fbcb2ca82f88b2f7";
+  sha512.doc = "8c2983b2e777e21e95d6ce1b9b4732491ad8a931205adb071877bf966fbbdc4306b88b35db87db4c3fa0bc52cfd333f721de2e1e7d233ba3c91d192a3574171a";
+  sha512.source = "6dfefa85e111b39bd46b2f39ae52e94a053569fbb0b263bdf02996bcb122913cbb999ed6c060e00a12a88e0ea9b187fe2e33a990bd75fd1f6f78082d8859071a";
   hasRunfiles = true;
   version = "0.4";
 };
 "extract" = {
   stripPrefix = 0;
-  sha512.run = "7fbe5537188930eac068e7c8989de4c978964e39274c3f6e2f4f8598eeb4e6024ac130643594089c5f69e21bd3118d9e6624c4cde8c85b130b23ae6d7a0a5a55";
-  sha512.doc = "ca18f79413c3ce9b9be09373fd37dce6d2b55976e3fab30b3bc7931d3e6a5e55d065e4f6488bece046745911da2af0e6d30d6e0b9089554c4bfbe118a897ece0";
-  sha512.source = "b51bb86f90dec89242078c34bd33968f37f97b7579d168b6ce2f609c20fbd77cc5ca6ac373d5cd3ac30a72e744b01282e77a3d3ff08c2727de29ece8c6b4d91c";
+  sha512.run = "32889da48868c2335866bb5c229728f9a37dcfe552830ca03ad3b704d1f7a471ee120de2ffed07bcf50797f7e34dd6fce53c77f1b63d15071888171d44cc938e";
+  sha512.doc = "64fd270a61f5e5f39442a56bb7a20606854b45a995b9a455604139df8006a1b198ae332669de09c1baa5dee5ccdf59e5989d21c17376a764a096f535ceff3f48";
+  sha512.source = "c94663034b4069bb47f611b761f08df36e2e69705d491ad0405d826d81d07f0862dd2a7963cc1bfb0f071ca4ac56aedc96debdfbbb35b097a6a49f863ac3de2a";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9a";
 };
 "extsizes" = {
   stripPrefix = 0;
-  sha512.run = "4eda9c64a6086a2eb7b8de546096bc2e5e00c9575b4ad89900481a99b4e5ed42a3941444a79337b26646c7e69811fc9b53f64d408609e79ec648c1e31b13450b";
-  sha512.doc = "8e0489226942ea45e916dff3a0062d1588d322708f1dc416438f8f6ddfb89dfbcb4dfda415fe868848a048c4be15b1535624058ba3a2932c880c6d429a6a127f";
+  sha512.run = "5b000d25ff594af2895408f0d83eeb0e7d6dd5604c53d5acd835898197e44fb88ed2469039489b75b45678f28182dc88a0af56ed1b1730be2ce41e6e81f13b7c";
+  sha512.doc = "9bfa898f7eab416beaee2938902fc0f3a5ddcf1ce972f30d18a683756fb53bc8f66ef1220bd3bbe6ca6a473959a67c55c18a7996eb095ef301da8b594f42d3ae";
   hasRunfiles = true;
   version = "1.4a";
 };
 "facsimile" = {
   stripPrefix = 0;
-  sha512.run = "7ce1d861c3562369771b2008421e36835729245a907a0bd5e5d92e2a816416f89fb1f270bef356491db0c2489984c8984bd45a91c28e278e56bd253f1ff04b68";
-  sha512.doc = "e5f003df30a6ba2aa15a6a878fc51edf4250b441f3acfce7930aa4e983101dbbd0fddc75a00e0c694a007383f24becbc3d2372743b849b3eac71f568406e0fbf";
-  sha512.source = "4374b1c8f76123a69f2360c2037a0c1ea711fdbbdeac13b0c18840e7633e5a49a450393cfa3e294e55864ced0d2d0c34a07bb76959d630c3576d6b8a1d4b0191";
+  sha512.run = "3a179a3abcc33bd0f48bf267338c8a7dc0186f7eed097af74cfd8a936956952fb50876dea447839738842fad34c724c057f577d427a82fd82f85c7e8ab80c8ab";
+  sha512.doc = "36da402d7b15601ad768aa1e07f356812ddf0a09b30d19c13bfecaeac847537caa3be31036cb80441370b6c046dee24b13aa3e04f339476e9ecd18cf09c8c9cf";
+  sha512.source = "ad8f90796cdeefe11e6c12e254c4571f2be57f5cbeca8b68e301d857a0ef8e52fbb1e32eb2d39e6d6b8c7ea19af58f6087c67c9bcee58e84a32038f18bde223b";
   hasRunfiles = true;
   version = "1.0";
 };
 "factura" = {
   stripPrefix = 0;
-  sha512.run = "f9ac35ff37b156b76f940f31ee68642ae28b276afd424c324d4b386cf6fbbf4f0115cbdcf03667c5e9a186a3b7cb9d4693fb4d8c1a90ea53f81f2a5ad80f9f49";
-  sha512.doc = "0ae6bee674dce3b651b9abbd124fd7d45196d24b9371291f7bae6cbb745099596abd02d58b4cc7341d8155c64faea1288113fd97a97550865d864c5ccb63f5d9";
-  sha512.source = "f5ddc8449fd8fd8cc3c5fe050e1ceda817ad64ed836365821b69c71705a4b87e312e414eb94b07e31beba0b6e08a2ed64d4c1923303ae037893dca3f05f3e214";
+  sha512.run = "e4ae9c0019ac296416497fbc8d30bc981a1987cb7b4fc7ccc21512fa2ecf11da0b4057775dac37e3421261faa8c76b9354725a2c514d1fc514cd7815571d2004";
+  sha512.doc = "0b091d2d4da4cb858ab13514fdda12babe9bddbffe466fe4d40c7acf828e31b9aedd6efb3eedd8895e7e12691a0e1e2bbe1f9bc8a21f3c18cb3fb1d455a8a3c9";
+  sha512.source = "52202822a438daafcfaed256f1091a5056b8c9e58273013bad555228bbcef02df9da3f3074f0cf5aaeb7349aaec64515bd1eb598ba1463927d7dc1c0a860afb9";
   hasRunfiles = true;
-  version = "3.57";
+  version = "3.70";
 };
 "facture" = {
   stripPrefix = 0;
-  sha512.run = "38191fc9bd763b377ff57ff415f94ee3e21faccca851fc88f46ea5093dba0ce5b4640c5c9d7335f979395c6becbcd88f753ead58cf7a0dac73ceb24f22f0ff3f";
-  sha512.doc = "995c9cbc559df6f6adabd1b46d22d92467c24fb2d2577823b7a5f839be11c508141c3a29350ab7fa138fdd162a2d8c02dec94b6a4dfc013a229723ca855e77d3";
-  sha512.source = "e8b599ccc78b111d7dffcfc8970387b1dad1ba54ed219076b9e10da583a058cf49bf370c10b17a4c09b1c11109e5c055b33c7ab0596a5013b73513947381c7db";
+  sha512.run = "6657931eb2c0a134c53cd9271109552d4b8848247198fee9aa8d9010ff2faa4909416484dec8809d7ddc58b4202f9e2a97c5b97279e5432a1e928f91d7cde71a";
+  sha512.doc = "a96e30b15f1fa827fa4dafd3594e8b98ee8c17c23056926d82243955971225d5a4bdf41a1a2a5b19049619c2eabc1b8529db70adce17bc126c0e1e3be7ecb2df";
+  sha512.source = "2612d792d95e3e22727e3e7ac4c4932e1f25c3788ebf6b4eb1be76727c52694a65c378f13ce917f9cec3975468f79f7a6d62adf4f125c57e6b644076d22e7bce";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "facture-belge-simple-sans-tva" = {
   stripPrefix = 0;
-  sha512.run = "5aec539f8122caf6fb037aa21ff67ad719a6ca2a03b6075be64c94e00ad4d671bd2a69dce99569ded440dc5de1c1d255d367d7bcdbc04e32c58aa77b8a9792ac";
-  sha512.doc = "60e59e441b6d73872560672dfc95b1f70334a1dd4586f398ac68a13cb6f71396ef2a432153eabe709c6080c5ca8c188284286bd1a237dfad1d126660c449014c";
+  sha512.run = "90d1ed96793b0463f14fffcef020ae58673df10bf511756387eb38bb2659ae3e362f52d898996410447bb5304f3950325fdaa25841ac4351b4584da951da2b4e";
+  sha512.doc = "f111fd7a81812aa0d65c4143751bf0bc331f8de248876f81c5517301d8a9743cf2e091de6180e3ec1d74a646ec539b65f0f1d8068ad1eb5e6638cbb783b4f420";
   hasRunfiles = true;
   version = "2.1";
 };
 "faktor" = {
   stripPrefix = 0;
-  sha512.run = "4f9590b54008fa7646664dff5b7b711a7d91d87535798726abb49a3d241d30508bc7c3028cb615f277fed8dd1d613cf3503d0efbea61c4a1579b09c9ae576511";
-  sha512.doc = "207020f973a717150ca96c6fc0459c3abff43761e9cd541f86db4771eab08a1b117658c93299cd63af11448e3d040124a71d1620edf9950a460e265cb871fd9c";
-  sha512.source = "ef21eea80a13249cdf2057b35138ef5992b7e91ad1705a294178adea420921dc56b88b32fb480784904781a88295a0d11d63f973106ef1e4b153e10a0130237e";
+  sha512.run = "5c598fbb40d7b37ee5b66bc1bfa8b0b2a0b45f7e22c992e6d0c85ed952a79a120803d41f9b4a13bcbbd6424c555c8b9ba6adb4eb79d1056fbf759008f9b741af";
+  sha512.doc = "57934606287afaf1471f1207af5d0e97533a504aa83324069154e88e70f10779d2eb19ed2a9e177c5a4b2cce4203b576272fd2513d989d4ee276330305597034";
+  sha512.source = "01f22e60260621a41e4efd6681b6fa226f7461f47348a79dbd75f214d606c6af2fa54d904792e653d1accc22298385d4cd658c204e653e4320e2932d742da28e";
   hasRunfiles = true;
   version = "0.1b";
 };
 "fancybox" = {
   stripPrefix = 0;
-  sha512.run = "cf5d223e392151fa71b831510e6217c9409e43700a47522e142f21d5403f38a1fae59fcf594a4622b91c75cb54c2cc9b61094cae97fa3f8d21c6f492a8a94c26";
-  sha512.doc = "39970283af4bd1e87a94c89438260b6de07a7c5fc2eed07361c3c566c73b94b087dc58396870d1afc7f9f8ebdcddaf43f4ab97f76553cbe2e1d89f7d259ae978";
+  sha512.run = "752e26abee96dd2bbf77b30a6d98d48a1673632d5601d28bba5799e845a015357b96302f3f1d8977f0458003d3456df4694884a05ccb6124b76ca8f7fc84fcbf";
+  sha512.doc = "2c3e0466198d392af57b2bda16f80589a9aa9db992272980a2e7ab9d7d1842d7e8f2980003b3b09648cfe0b9a1977562534ca54fae120bd7e4d950d25a83c0c2";
   hasRunfiles = true;
   version = "1.4";
 };
 "fancyhandout" = {
   stripPrefix = 0;
-  sha512.run = "e51de612fe1e1bd8f266941952c24b10bc404d075c39119c5506623f763f98bfcf8d30d01edb17f7a63b14adb85ae9b5f48c0e97edc5288355fb4fcd67d3bc31";
-  sha512.doc = "c49a4ae58599939d55c1adf2baa2d8438649484de07f7060ce76780b032accc95f655323e1f9fd9dbfd9423ee63a8160d9c9d5c9913efd7c569536fe9268b50f";
+  sha512.run = "0091703483cab573f9c9202603d31e310baafe932f929ad852c23d2ca97f21681637bb3ae34fd3d916f3e50f553b42ab1682b437f5a63b67c6dc4b7b7f202c80";
+  sha512.doc = "be4c7b2caf2e85ec192f3aded87309ee2361fbb7e8fd1225f8f98f96446251aacd69e04e306473d06e14c8a8b686dd7a1c54cb0311bc4138fc9c34fa2d528ddf";
   hasRunfiles = true;
 };
 "fancyhdr" = {
   stripPrefix = 0;
-  sha512.run = "f7831fe54b77babda97f65d490194385e01464dbf9079579d6b697fecd2b1fe008266a3b6f7826cd6f60b4d41ac5a56f758a4ec7dc3f7ba9077abcc5c89e9bed";
-  sha512.doc = "08f1f88c884eefd829c641d37e1efd8ac01578fca4c69aaa43436ac33239ca310ce00858cfe42c7b2a12b8ab3e0f8fb03f30c94071deceeeac52d663e2944f48";
-  sha512.source = "59a5d48399cabd62d099a0f40afac97bc7f80133e5a386668df85f6bb69071a85e467071e7784f29cd8a45a430961abc7344c364e25f6116a33be354adde2d72";
+  sha512.run = "da99c0def1655589988fcebf627dcb35ab1a3f7ef481f141ee91045f81138cc02f849f4879507afdbd89e631460e5104d49bf0be6a640f4c7e9532acbc952454";
+  sha512.doc = "a54bd1e4c0835e1d3790ceb9c50ac63766df45fb3d807b74222465c116fd103d65bd09a8e0f4cd20941422734cc508fcca9f86be3ee0cc2beb4927b9a2149849";
+  sha512.source = "aad6a82c734ba3a1a571ac67f38851808e42c600884b22b64f463f7f4b41f83a85342845ffdd70244236dbe1cb013ad77f28c1897c6c28edc16590ad61d79510";
   hasRunfiles = true;
   version = "3.10";
 };
 "fancyhdr-it" = {
   stripPrefix = 0;
-  sha512.run = "cf68d833f9422cc5b9aa1f5c62e84e098dacb005f1799ab90cdf3397dd9afed06c77b89d9017946922385ee2c65528e09585f9cb8277e328f204fccf6113b104";
-  sha512.doc = "0a3540263b9b6ae4a65a0cf9d2c24117e5744616b5c4d8a4cdf417ebecbc489b8dd944637360dfdcc93d56f4882fd7abb4226469b0ff0d2073d6f2168a42216d";
+  sha512.run = "6899f3c11ed4a8f7476fe954166ea7576446b670d0b22737766927fcd29eb24e6143ff3031b974856562a7ff55e68f208164729618a4d28d28b856919f2a666b";
+  sha512.doc = "cda5ff0581545e4eca9787b27dddcdad226b5dc9a630773b13073e9248b7b30b985fa5f5fc1bc5380e5a0d96f06c666d4e7e73168afbc2fa4ed0dd202967dafa";
 };
 "fancylabel" = {
   stripPrefix = 0;
-  sha512.run = "3e16ed1347eafdf3317999221e238b46e42d35003cfbdb0ebff877ee95f9c0d663971842767409ff21db2b9b1c8fd43cd96dfa6deb346a43ae758d25741a41a3";
-  sha512.doc = "de3e8cfd4e49de20228355b36c7abea945b0e0b5b1526327aa101b5cfbce2333b6e5bf85961142dae05ef2af95b06722c4e322b7349c2fd6e652d8c11109f062";
-  sha512.source = "9ca32782079ae1b508c10fbf45b12d55f08ae22ce0a2644069a17392d90083e81b9dd4287fbce240bdb14a3706b6c3aab46f11d30bb53e272c5808d52ab01802";
+  sha512.run = "950455301b0bf3ea3be0817a45c4e7453ba95c8afd397c1cf9ebf559f160e2828f414f0dca4647a80481f6e8daa0902e24692469023c21ba844afe1edda60b2f";
+  sha512.doc = "3a05f2b388eb2a22a0b48b4761b3964c7b0c616eaf0c8adcbd4f375a3dd059b3d3b0831e754842bc084123fff7a12f59c87c5c5b362739c062f36a215dca2ca3";
+  sha512.source = "5d0ae7fd455b679221c1877a5a8fe58da76d3db96de7bb6eaba24c50ef9a0bbc3252858276e4f0c6b81161f65e985911ab1608bca21418335e23189a2ddac425";
   hasRunfiles = true;
   version = "1.1";
 };
 "fancynum" = {
   stripPrefix = 0;
-  sha512.run = "fbfd9952fa59633c42337185521ef1bf28b38ca3f6af5485b47754e7bafd26f8199a87cde265913449f5a4696af5a7d38576054d4706cd7724500c246a1f08cf";
-  sha512.doc = "dc544d6b5258a99e42ccacdb6e32469193848300786e7666b1e14509a12c4e5c9e78d8f96dce388025dafd93d6edac2a4aded246528b3916b154ae43e90e1101";
-  sha512.source = "59c7b1732908463d413dce66f2e29fd6993e2adbef5c9da1b4b489aba03fc87d61e86e2245a8fcefe8bed56143b7398605f60ee2423698ebe654a2c5c9534e5b";
+  sha512.run = "93e1b88ca722b4169a572285443fad53b66ac59a3c0b6465aad54bd8d416046bfd79897db3d8f318f9d6e004c958b94bbcab16b1183d66197e1078840934689c";
+  sha512.doc = "4be390bfd7562e0c94dc19fad3e0f34e52db393878290773517d6d7951e428cd3d0dccf5f47f6f03e5f0b380ebb386c8d89373e8c8e4cbd16463a9cdd2f2417f";
+  sha512.source = "8f2f569fbb2a6ddaf371814e26b251286f8046e8a1e923f18e67b165c26c69cd09b46e39dae5fe00a427dbe4f95172680973b3eda7be16c60cbdfe6daf37710c";
   hasRunfiles = true;
   version = "0.92";
 };
 "fancypar" = {
   stripPrefix = 0;
-  sha512.run = "f52089a844d655de93a3319636ffa958c5ed93b8a215e3f510c4596b27e20762e60bf5ac8506adb4431cd94dea6bc6d219a85d8895db7875151b12463ec75b0e";
-  sha512.doc = "fc3fd752e559f8d29e5f6c2325b22d4bcdf24d4f752bfb89ea56043e5bdf393f8b5ff863f26f605e97ca64f7f72794125ce36ee2295c8ee90435b78abbbcabb4";
-  sha512.source = "4fce4c3e126f77edb522399e5826b80e7306c150f138717d6010f6fccd5d74b4943204fb2fcc012934f24807fc7e4625eb7a77a21062f08f461409794a39cd39";
+  sha512.run = "18a4989c979c7d0b1a5c303b4663484e920962a5090e229d7b75ac5678860fedbc95df530fda954a3a2602a740f7afdae3e41f6a3e07405d77263045a6c62a1f";
+  sha512.doc = "98cb690d9096a73523bfedc6a2ea35414e34043d5eef3d73d337c3d4feef3bb98303a22a1933eab53838e78cffc8ca1ee36bc00fdc13a50213849d87fa92c553";
+  sha512.source = "dbbc831abfc030a45f530ac6e85cdd449cd411a2e5e52dcf80bc20770801c626cdb308012610ef188b22b7e9c4690836a65ad543ec6022c75e02f72415aebebd";
   hasRunfiles = true;
   version = "1.2";
 };
 "fancyref" = {
   stripPrefix = 0;
-  sha512.run = "fa29fcdc7b7cbe335df3c5cf235728a1b720f6cc559c8586a5baa4631ed8d3b74890e93789687268b788fa2fe37fb9d1eca61c834ae95215e9fe0251c82d0ecc";
-  sha512.doc = "6d1055a9ced2272b074d3921d073a81655ea46d6fbad03ade5487979d9e956b8d06e1aa89665e806ce6ea9b4f6511b6cd633230b8be77fa0b2a44c3d903afa68";
-  sha512.source = "d6f6aac983bb319b6b14ea0c7bd1e2ce4afead61d94444549dc9e991d78373204f0f9adebbda069749472dcad6801c56b947a40417b44aa9a8b82c6cff429f42";
+  sha512.run = "8f4ea5f16bfdbd06bdbaad76da724a1aad82263f4db2c24cf5f2e9f2db9f2afd9d4004d629098f936e0c2d4dcfa5fba8bd278746b90542f87b547e20abb0bcba";
+  sha512.doc = "2231f5fd45d45cb7b538852c95b90db35fde9b66629d17ec9288de6ecf5339359c17fdc8931019fd4acce61ec2927a0cd494cc7462cab0df13d7660106b6a142";
+  sha512.source = "65de000487a8d317f0d05ff6d35574cf0bca521e4ab029637fd459b34f8640c53fed78bb9a54c21e4f5cc7c03dab221995810057350c46690c948a9e436c74f3";
   hasRunfiles = true;
   version = "0.9c";
 };
 "fancyslides" = {
   stripPrefix = 0;
-  sha512.run = "a70749962778866e1cf76c1ef60eb8fe97597007163719f5c441cdd0ef00e73322ba1442a4ced0fe04cf076b5c9e2167cbe160405b470c5b429e2848e0d2ba33";
-  sha512.doc = "630b9c9ad27de354fb963a60f4edd8d4d1739887445097bcce11d6769994bc3ddaf2141e3b792927efa1920b2de2b64fe0ad3835b5b229ce37e0828619dd7ebc";
+  sha512.run = "a0b9ef4ce804b78a60b4c3a25d5d70bb7ec17324d295cfaccb64d166bb1a704bbd2baa5cf6edfed7adff03f48bd3f3e7854e2fbfbbfdc7eb953d567a257a6e46";
+  sha512.doc = "77e1839377ba440d4009f30ae6e58d843ec4b7a1bf7f0d3414700e32c9a01062cd6506cb589039299e7a4fd945f9ee5cd951a62fe9795f822089152ca19f3441";
   hasRunfiles = true;
   version = "1.0";
 };
 "fancytabs" = {
   stripPrefix = 0;
-  sha512.run = "ccda127c0d59d6200521922ba226a3f2602ef1186cdaeb1764398e3f5c742ccc3c3a628539e4125bbdc81a95c030f10430fcae930b1a7cd512c8ca4ecdf52b33";
-  sha512.doc = "f3f383377aaa5a89db6dc5f982cddd1c575176b669312244a1f17c36dfcd4b9dcc3f4d1eb206c38916251fefeaf01fb1ab1a35f9478346427da8f2ac225811a4";
-  sha512.source = "3d6660bdf9f74ddc67339e81f246627d1f4eb43f74c84cd76a9cd2b4a4859be487229185862dee2394309e6e028150a2e6eedeab9efc185afdbc10986f135940";
+  sha512.run = "0cd45edda0062f4a0fbc26a0516d7f5b35cb4f8dfd4072830da880369d71d8a4aea6a7d5dd95a0b479ec3128170108f114aa00ef4b0c8324c60ddd214568f5cf";
+  sha512.doc = "0113da627d27fe88c4faa87e1564851344dac2efb75c78facc4da49a8937e2bda8e1f22997a2018b368001c24e721cbf623fc199d03673701a55c7ca45404770";
+  sha512.source = "4a7c92f30414a595cc8c928b181565e3d50614fb4e5a128197bb4a8f90a50cbd9c75ca447bf37c41e9fe3c05d4422d6e3618da63edc51f240dc3e8d55c8d61dd";
   hasRunfiles = true;
   version = "1.9";
 };
 "fancytooltips" = {
   stripPrefix = 0;
-  sha512.run = "2ed53370e3162f678f1b606d4f018927b3514455b6804e97f01a8604ee738cbc07f23e8d8f50b27df7e670ccd3866878d3abae5f495f939890da484243bec028";
-  sha512.doc = "5e9992dc312c8d0360ae8af789295ae5f2e3c81e4375ebd39d478e2e6d3b7e6776190308a2c3bdfafbf61cbf188e9135433b4b1019d625a1005658cb4ae4f28d";
-  sha512.source = "87cfeed78f6935fc9ce2be9344e48b95c96d8388a3fe45d5c608aaf9354ce6241aed1f85dc5a8be43191ef3c40286fd2d98799e4b703eefcf6f3e3d51eed2f60";
+  sha512.run = "e1d7243552cdf65cef1e647472a7f6c1d818c1e862afcf8069768d9beec01e4c250786e2c4c1af4febbdf94f20362110399bee33c7902bb7006de474a0d013e6";
+  sha512.doc = "4bd82e0ae682abd0157f94b5374ecdc6cedeff0af22a5227ab527b725d8710bd7f8c5a38b7380a91ecaaa383824d8b88d182d1edde312492c34728ab6ff2f4e3";
+  sha512.source = "3c6d477873c8fa6560d4188dbad1dbe43a422f08f4bcbdc15b034e0ee7dc5529171d005f48a25e1df6d6e6fbd0f8db5f11c233c515ee70e307cfc31e5f434e24";
   hasRunfiles = true;
   version = "1.8";
 };
 "fancyvrb" = {
   stripPrefix = 0;
-  sha512.run = "429d9c6cdf15e39b996bdb0cd5fbf923155f9045564b60caf1fabda0d00ab8b1aa9990368d8aa817391946e9e534fcd57ae1efd87511f35b7b2c648738705d18";
-  sha512.doc = "d32a379005c931ae9e48ef93d76c31952761ca8ce0a76523009b90420e33b819eadc710b7827e59df652c02c043f12a5fd18013838cfdead1b2ecbfe61bb8930";
+  sha512.run = "334df96a99813a99d36a68cb99b35145048bc478e463373efec5932bfa981eec2eeac910616e6cda2491636961249c947b9daf4b130329696c755076909cf46b";
+  sha512.doc = "45ef859efb1e9f22799686600c1be8a5f2db4acece1f8c0bb4e1bcd37ce5a83d708ea027f0c0b60da7bbb2c8add47ce70ef6f53f68bf0810886066230072c9d2";
   hasRunfiles = true;
   version = "3.2a";
 };
 "fandol" = {
   stripPrefix = 0;
-  sha512.run = "0e2da47c1fafd801700ea94d020df8310455d62571808008c1f1becdeef2066db5bcd422664ba67a50b4cedd7335c0e4fb173364c17eb143cdde5fc7c30d327c";
-  sha512.doc = "30ad7bd38254f82a8de78667d3e56b8831bed9bfc11ec59012719438f652549b0fdb9e63f8687bc0c75a19cd6899848ae83d3e4804f4c600164cd13183726271";
+  sha512.run = "309b19d6bff9d3e009610d698a73ba191da70cabd57157f274dfca7583a9e9b31fc30ea52b2b2ab3386be7290a680f8eb47dc92381c3da8251b01d8c6a65c3ff";
+  sha512.doc = "d74e78a1c863d3865ec4b21a4c762bf6e2c30a8656fe0ec830d1e56b9fcb48861f316ccf8d8641e7c674e25f1ac2292d10ff2127315275347096ad325828d7e5";
   hasRunfiles = true;
   version = "0.3";
 };
 "fascicules" = {
   stripPrefix = 0;
-  sha512.run = "c63d1bb7e15d0ac32846149584fd4ae84fb60d11bcd3ce3c3636a8d491b32aa38dd2f6ad6fb7f28f355b8b65b1d2901053a154772f7bccd8522d318df1fedc83";
-  sha512.doc = "4706569bcb66f72a7d1960b2e0b0b8829ef93d0e9a7e2b8eb95c99e943b4bb5329248d072c27482c4f0ad845ee2619b1fcc2fd0144e960e1440a6500311a6b50";
-  sha512.source = "e55f76161886bca6f105d6dd95ec7828c8530cf9ddc9ab8dfafd366b66ef5db305c4e03b54ef5a4aa9d4bdbfef56bf7e6764142c32f28d673c9bce71a961a2da";
+  sha512.run = "5ca661dea7cad6094d66d0a843cf5f19183154f81773db38f9a13795a5b9d8646e9f0b471bbd741e5f25cd424f199b3a18d1257a7e8d07e0d812a04ae202ca24";
+  sha512.doc = "02d72ccdec87334da2c10d5a57b004357e36c8fc1aad33783e44992019fe3dcc8b8d6442d63870b4806c3dd080c3518bf94ae110531ac65947584301a11b4b51";
+  sha512.source = "c129da364d22c605feba74d4e93d7eb48c8b5a3ef77c60d2f930fa2d3c8f757bbf3fd8a5aa8f3afc688057d80d86acb5b74d2d9b422d387bc075e7e7122150d8";
   hasRunfiles = true;
   version = "1";
 };
 "fast-diagram" = {
   stripPrefix = 0;
-  sha512.run = "0cfaef660148c62b2288057d38ee082e1d2be21c2955a4577fd5a54546f08b8fb2a96ce459bffd45587b706677fd3705f58df243dfb0c35dca9ab3d046163611";
-  sha512.doc = "62e98a27e4883ba1b0ffb35ec14e39c95f2ccb77fa761c369a02a3561d9ba1ef8db720f9d6304ef64a0c15fee1dd5ecaccc55dd3fb28e43089cb27d27b3eb28d";
+  sha512.run = "cedc8305ba0a7b1d22274d869629a1872a80a4001b443c8baa93e44198a5dd88e39c16c28bb5edf9fedf4f8f2f68c6964f009cbf6feb21c7c14974c4b598acbb";
+  sha512.doc = "cd8e3edf882fc16b5757f59d16ed1a479e437eba36c783cd86cdfb9cb81f8b30e8b95a522ef6fe4b6e22b4b0bf6637e72bff734f7771034cfaf85df935e4a003";
   hasRunfiles = true;
   version = "1.1";
 };
 "fbb" = {
   stripPrefix = 0;
-  sha512.run = "6ed1ccf4160837f40a37330ec4ecd0dd5d8ec9353eadb1cdb0674d176cf65934153f96484ecee5286bc49069e78c004127f3cae62cd87010b9ee320a0e68ee8a";
-  sha512.doc = "98ccb4f7946b2337515f579c833acf5a108689d73a5e307413bc5e7712b02a461202b5664d04bdc8fb15d2e1c07ae17f0c60fe409806ef5529b1c277ca159995";
+  sha512.run = "eebe9b977296dc02938c13cb9a160612adafc00dbf200fdebaad5eb1efe8c41eafd6102e40b7be2e734fceb7c92cf84730182bc2743c5c68924b00a5769ad172";
+  sha512.doc = "480f1df4a1b1ad29f009d70f56e96ca3ea3e76ca913a86cc4b75850211dd4f92e3e43fd9ce832ebba98aae194111ed340af2f530f00edd37e4a63016dc7bc215";
   hasRunfiles = true;
   version = "1.14";
 };
 "fbithesis" = {
   stripPrefix = 0;
-  sha512.run = "369abe7dd1494770aef74a6d2e06047bdfd1f5345ddd6d0166b8bd2a7461f5c151d2f0469fff3bc4ab7bbe7184fc1e5f39c10cfd906c18b0d0311a216c1a49cc";
-  sha512.doc = "6ff5d6b4e371fb88e775160700dbe27078298750681ae9e07914da18c73335cc57789b2d21175d63c1364d9e3100bd6c25c9611005323cdd75f5be8d75d7f73e";
-  sha512.source = "2f6d12ef1ec916b418e5f948a0fece0a77bfccf12f3710c9554b024e9a06aee2b9668b90045fb9ec3b0e9a41033124514a3fcf71f851287e45b159079fff5dee";
+  sha512.run = "3e593e312ac8efbbdd294e6a00ec020678dcb12259ae778ddaed4d43a800aa19ba16f8eb15b5122ab22f44c5e23c77e4fe733c7772929ef55589d387985db694";
+  sha512.doc = "92d0ae3382aa71260f6ed204f6bce1bcbac26985f41789e00c5d3186dcd448bd169b7641fa40d34cf87c556ca10573b0d8cd4235aaea8a0d1533dc40c71b3779";
+  sha512.source = "a931b41de1feb5b0a78bc40c20bafebeb529a8a8b351344020032641ecf9673168328dc271228130ff22ea17190cf021b1dbe01635d7cf77984f69861c84c02d";
   hasRunfiles = true;
   version = "1.2m";
 };
+"fbox" = {
+  stripPrefix = 0;
+  sha512.run = "1216117fdb03433d2986eaa8b277718304d5cd67b0d7944c7a4712c27a68e68979a3ae44d563a847b01bbbb0d5dd0d7da8feafa7699e27e8a336077cb96cfa43";
+  sha512.doc = "d2cf24e58efb78c8680cd3a8cbedf2517bce05025745bcae80dd7ccb23f127f3262cca75bf8c4f9b33100253194525f1538e6340c145a38c473a2afe5737148b";
+  hasRunfiles = true;
+  version = "0.01";
+};
 "fbs" = {
   stripPrefix = 0;
-  sha512.run = "ce26c38721a8583d1eade2da63298533b2e751add9828b9de8d5f1c9e42040ced6d186ef4d027a34a919ea166035542b88b498407f487aba06cb2438ab9c92d4";
+  sha512.run = "2d5bce7890fd8e087e035e60064bf134d8ac7ca2646f7b846df8fca7c594843c2778d0ad1752ffefed40283153194b5da97156e866bb4b8bd10b14c8ee3f2c4d";
   hasRunfiles = true;
 };
 "fc" = {
   stripPrefix = 0;
-  sha512.run = "fbcdb6b7c0e12ddaee44794c7c39dd80e3bc405d85f764e0959c4cb99eb2d2254547cde532b821bb34f9c3693bcf7249021e49b02f2cebc0a8e5bf7beed38ece";
-  sha512.doc = "2d44161b3cf5604573114e4eeded4ed39664a7d90d22b38384b7caff2d8a1febee74f42c5273e7b89717e3d74ac34f53c5c7511954e602952ce2d71db1cbbbf1";
+  sha512.run = "12bb408f7ba4774d943aa954bd3d2558a329d383a65cd4780f6c5bdc39f51b943f01d87ad203aea3b02768dc0b9ab42f681175c18a1e1dd901255aae05156558";
+  sha512.doc = "a7495a0d6bd394811ff22438a42afe3c5109633da7c606a732f4c5746cc4162fa1c86ac3774aa7754e9b07c499f3519423d4b6fb212ecae156b0b8e8f848d914";
   hasRunfiles = true;
   version = "1.4";
 };
 "fcavtex" = {
   stripPrefix = 0;
-  sha512.run = "76c5c5303afac13ed471a90e589f70a6e8ee257e07d5b583b1f8189506908a24fc8cad9f682526df278ec7139b24f9c91cad51bd229c70e0c249b3e13e7cc747";
-  sha512.doc = "69388eedbc0df92f9d07ad15f466d005657f0e4048aa0761e3ef58d71ccc410986c6d80053b21972bf0805d989b76ea6eab1f0575028471c32b31117bd13d1ec";
+  sha512.run = "db440d7310805a7f3d918996e577a07c5d8dff72e6d667f00c1ffe5d88e3bcb689e794837609d9a0760530e923f9a28d3e5c052cad4c38e23ae03454e0ec26c4";
+  sha512.doc = "2060c70b6a926aae23c145f11c7c6e255f684f925bf5447ee98fdd6f6290d64fc5a92ccf8cbf85e0c6f0d6fee869a2d947e3df8726fffa4a5d2c87c217beef59";
   hasRunfiles = true;
   version = "1.1";
 };
 "fcltxdoc" = {
   stripPrefix = 0;
-  sha512.run = "9dab396e393853baf4f68d3ef3690df5081c904b7f062bdd17e32d4b627587698b09eabb980273fd09be388c2968db7b0f0911286ff14a1c5577bfc5b58ffd37";
-  sha512.doc = "c70e0da6fe590dea2fa94a696b06518d1f24dc03cb20f57f303e33c657a0ec1b15f73a42550ea1b1e714619ed3551f403e1a14eb4c83617e87cf865b39b6caff";
-  sha512.source = "f71822e56f1e7791f93383cfbece9c0a13e8528d906d4ba4b6c4518d413dd9fe0082db31538c0c9fc62cf5e376fc20de437667c0210dd93a7b5595432d26d97e";
+  sha512.run = "c14db194a73247122e589024824a53125ff10e15f8bec2475530aa41e78d74993f73474ff9b3899bc499c0cd8dd3e1ea034ea821d233c2a512f8c4d4d06d095c";
+  sha512.doc = "4aa6aed9c5b4ddaa63eb2aa7e529da03dcfc57723a6cb40cbbfc729636e459f4df1e292bdcd20093595cc3ea154787fda41abb4f6f46db2a7331626f181f47d0";
+  sha512.source = "6b16053cf7941063e4f08a249d1b4dcb61127eb0f22938353b17b959e7a9cb78d7953b81346f25a6e49f4a7c8bc602b3f820c3b9acd3b84215796b3ef1a63550";
   hasRunfiles = true;
   version = "1.0";
 };
 "fcolumn" = {
   stripPrefix = 0;
-  sha512.run = "93084d36d630f893a5c5eef99356d42fb5321fea48f2df0db2c0ee4ec66bb9d9804fb1f9d717cc322213322bd47705417a5a8e6426b5dec51b153995a96a89a4";
-  sha512.doc = "af3d335e2c423b2414c73f18055c787e89b1a47d96adbe7482ac0319e16972752d809e8552672dc567d9e0a2f3618fbb5b737891fec30a485ba7ff2f94f802a1";
-  sha512.source = "0ed1f3f6ec013c27f9ffb5c2f78f1da3b9b4e56225c3dd0abf519f4fc13ec202ff0c65f1502b1cbdd75d77096c6d187c54f961c87767c48fe9e68189dd9f488a";
+  sha512.run = "13128f25e12c914bf25c45c87a75bad814eab519059c8a478162cd4fc678972ed8e24800042e87866197174044eaf9f90d3cd3a8eca62f33400e3fd2294922c8";
+  sha512.doc = "ae0645744e26bbf1a940ba1339256b7d718f4df819ad04f5f52301a26d445cbce4a1ae4bfa2fe6d13bb81ed31e94839d87a251a7429305d396a56ea113df37bb";
+  sha512.source = "47b78b21332aeba11b08ed6f4eaf781b182c224450b508a48a80ca7f93ffb43c4cc818739d3793ca16674b29fbfeeed320247170c63a4aa321f6054610fe782b";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.2";
 };
 "fdsymbol" = {
   stripPrefix = 0;
-  sha512.run = "95b189a868fff1e3936505cea19aa0b7d398e79ce2b2754eeacd41a800c95554a89735b6c956d03057813b35fa172cd3342bb934d9775bba760fca6dc6b53118";
-  sha512.doc = "fe6f9d1508c7da01958ddfa5edcea015433251db7b4b5214070c2fa7a6a506a23d8254457cf0aedcc1432f79b7779ea847db215919712130dcb9c39204e973fa";
-  sha512.source = "ab9f6d39eaabe378e8aa958bf6ba0c86a6e7410c6f2cf4e35ae04d098c832a7d00ef16695dc3fa849a9150d8b0520b7bde790d55f63c04d7f64930067b801e28";
+  sha512.run = "37f716e9d540d7742f53cd38155141d763d3f8509d1aa1f3cff53ff33c45537c44dc68c9608558021868de3072302d7ac84909db05e8b25813c23ea01c87edcb";
+  sha512.doc = "7d1f3fd153bc17e65a99ce6a38c8992b2172c1d0b85254fcc7e926b9539928ad403809b8af4355abb1e93196b4e4d5461b587c8ad94d04cca7785c8a334b4ac1";
+  sha512.source = "d30403e01b2a33372ce49477ed81fcfcc505b50b1c0eb511dc360d86ec3793ff2ac0c8964448bf2525bec1bc5bb3792ea9729679e2ddd8215948c65bfd44afd7";
   hasRunfiles = true;
   version = "0.8";
 };
 "fduthesis" = {
   stripPrefix = 0;
-  sha512.run = "02dd9ef79be0c04a35e698022091bc4383b8fef1c86a9c7e31191ed9878535a6c11b028985f60723227100b7a22b51b937036855d05ce0b6f2d6a1e234737477";
-  sha512.doc = "f94c29076791883f406b584f4ac480d84722375d66f960575ecb23b799c836df772692700056d054a30967ecce263a8f2f3c1c5861b60f1474ee347c3f09537f";
-  sha512.source = "9cef69446a7dcc9cd4b8f22ff8ae9054dacd7e445c6e640e40470403f0b27c8827e311700fad008f0bdd30e5a2a5ab339df75c41fcf8f3edc175cf393116801d";
+  sha512.run = "2c33af9559603c08ee844cc0dd6dcb8a6c215f0b0c7cd25435b64b1ad6c83dec608c601ce16efdfbeda890258bb36df8eb549bf43bca21bd778e003cd637507c";
+  sha512.doc = "bc3d2c383233846631e5042742a08b5ca05d0cbe68fad908065310f00c50e9732af0b912eecf01496615d221a1ea6fa5f3d9be91c9533b97fdd642c47d6d8c5d";
+  sha512.source = "4f048791cfdfa5eb1dec273618111f0d8e685c9a638bb4aa2edc1e6ffcd11097aeaa85d9130be4ae8136c14277f85a22580c42fdde9a8f3602cdc57eb4beefdc";
   hasRunfiles = true;
-  version = "0.7b";
+  version = "0.7d";
 };
 "featpost" = {
   stripPrefix = 0;
-  sha512.run = "ba519599c85d9ba12be01c442aab7ab7066d1880cf774c56bf93bb76a6ad5c8b67ca53a97d1b432b0e8fae2859dabfd37efca3577352edb37bad0929cb2335d8";
-  sha512.doc = "55094dcd9bfa7bcf527da6669d1d713e39ca62fc39e01ccc01dbd1e5e2919832a3bd93dd5f76667c32a5004307d2ec5a6fe5bd4994423f58df98c1ac86a8eb2f";
+  sha512.run = "9d7c35499df5c8c8efe8ea51d88c4cd9ddc6bd5238ec527d842aaa9ce42c30bb1d73c667f5aca22f385d3725c7443f043a2b63cd337a7f6d5b5d5810ea34bf64";
+  sha512.doc = "e4eefb43d63c6522c3080a76b4df3a369932bc9e2f868ed0143d62fd2365bb74e6891705b287d19b4ca4b2560b0573d6ff9a0e5cf2a3da2e4b21482cd6cdd0b9";
   hasRunfiles = true;
   version = "0.8.8";
 };
 "fei" = {
   stripPrefix = 0;
-  sha512.run = "e74e33c72677aa011be29cc9ca1d3cfb8eed0ecb63a2e441baba8c0ae27bb6d2072bd6f2876d510730ab568ad5716baba653fa29ab6524edfc3eb9624f1f69dc";
-  sha512.doc = "b3f705e065306161bd5fd6846c81deadaa3578b54094031ab232fe24e7e362166e38d2eab4535af608f96be8e91ae8fb835b222d9c816b823b162b9d843d3ae1";
-  sha512.source = "8e48998f200b3f492c53c204373de5e8fe3893891f4fa46822eca3606bab10b87712cf80fd407aed5b27eaf8bf00e737d045b19a3369881d4247f1f381d1acc8";
+  sha512.run = "ece490df465a83203acbbf0a1002a801534e628fdcaeac7c54536a8e33a633d41fbb26e25ca8cc19677799a2be1f89080f3e9472f4d9bff10c6260ce53692844";
+  sha512.doc = "b1f97d16b0652a5e19144f652a3e30bd45486ad5de8dd287832a73345539ec6c2a509b1851b5ea6033e8d967c9fd2c997652163510a8554750641a61037d5bf7";
+  sha512.source = "1e9f70e9fe26fb0f5915fa9e9aa1bb5debde0f43a75abe64d9490de3d857f167dc19c9f215376fba3db7b1a9d2ff4a67e4c2d0708149b122afaae0e785c32a27";
   hasRunfiles = true;
-  version = "4.3.1";
+  version = "4.6";
 };
 "fenixpar" = {
   stripPrefix = 0;
-  sha512.run = "7c13e910f0aca3129d2f93cddd3ee727e040e6c579486ac871600614f68f6fb6147b5d350805758c62a552a976a88c6c96e5022516844ac8c99166802d24b416";
-  sha512.doc = "64a881986cad1cc04f954b33e174dafcdf82433b6c5cb1c4ac3ccbd4b96d6db9017c39ad31a7f181da7f2ef7d600eaca64ea5c818176928e0511de616e4ae0d8";
+  sha512.run = "1b09294b430bb9ab6a4eae11549500b224514e55bb99329a4ee3d9d72ab906128063537302f672a772c02ff4372d46649656a88c4a303a9301976fc7a804387e";
+  sha512.doc = "6ee02d615438e99df82f939a8104097e43802b00af2a0e7be56f329061722cfc7df0edf84c82ac73754d63a703533bd6d5b88b6e648bedbc47be712ff86ec5c8";
   hasRunfiles = true;
   version = "0.92";
 };
 "fetamont" = {
   stripPrefix = 0;
-  sha512.run = "df7b696e142236b7ee0f1fe85b05f29176c95383a74722a1b3a59c79836512612ac1d94fff4f97e74256f214256a4b9dee8651abab0b663909d754e7b11ab5ed";
-  sha512.doc = "15d5722ce31bc5b216cc2cbadb42fe9cce4c43fbea4b2538883da6bd937f106f159f080e21d8159dd92c2ef93605e5655810b0608c67d9f325d1db52fa8ca69b";
-  sha512.source = "9208a9643c6d4961db737798b46e3aafb3b1ea24cbd201916547f27277b432f237e4f0c816b98a48abf907a8cf7e1eec223ce7e7fbdc18da91b0d526cc649478";
+  sha512.run = "20c5c83119d70a94e66aeec0bbb9a0494525deaf9addb9b91d8d5595397ab5a1195eb9d72056a5fd1c3ca490aef66b43558f5c5b86688e7d164360a697c331a2";
+  sha512.doc = "16cfb520cf8b3030d546e1c7f7cd41772fc9d16ea55db6920a50945a7aa3034050d873d3d5da05c108ee303dc1c77217c8a1f014c2e9beaf36d932e33aefeb93";
+  sha512.source = "de4a25f0a86f29d10fd1cf799ac6c8efc58633a7ba0c48bb33716c46e6b0e1c9d5be6ee4e8e4955739ddb324270e44d6fa658c360d03123c18cc275ba6abff06";
   hasRunfiles = true;
 };
 "fetchcls" = {
   stripPrefix = 0;
-  sha512.run = "90a153d224156ab0dba0431e2bb1d808a9d8c99769876549c318b8369d11704d17f3ffd8e9d74d24eab27364ee366a62917f881f4b0128491164e70df85fdec9";
-  sha512.doc = "f92ea859cca20b94deede5cd7f604f6642f9fea247855ada2c78e653787de611b64e6d4e74c1e31e2094037180c41db491ccbd9f61367896e164ca9f60a55be3";
-  sha512.source = "c3e6a00361ced434b3f8bffe954f3f5342278df4114684b8024453c41e523e3e59c8c568240b78c4b25a38576e157cb08ec64d386a5ff92dc067658e589aabb4";
+  sha512.run = "6cd8e2016f7ff344aa06587fbfeb4e498d1b2e76d9a6ff64f167dad71c4ce6ae867d791660f50e80b6f2e59a9f2fff4c4c9b7c1cdf84cdbbec5113081b24a25a";
+  sha512.doc = "ebf9aa0150b06a0b4674e7be076fa5ae4b2ba4542aa28e1b9d4320ea0152a5cc9cbbf926d713f877e74ea948d6132fc36898647e4790c67aab651502c4e5d57f";
+  sha512.source = "067385746ed2cdba4501038cbc4565bef431f2e35e9069fe883c0de8669cbf6f59d8233ff2f561e8590fe8b32a7613a195104f89774bdae4ddd63d65deb3123a";
   hasRunfiles = true;
   version = "1.0";
 };
 "feupphdteses" = {
   stripPrefix = 0;
-  sha512.run = "5226ce724cdb1abc24feadea33ddafb8003e02731aeef0116620cc7a6d50db68f14971d2cf21d32c08e8ff1472a118a5a5a30a0de7c76bc2b5a300509edcbe0e";
-  sha512.doc = "29da36af12697d523460e6df8d191a75262ae9d360374bf41fe3c0185c596ea23e46b73944420bc77d32f7cff3bfb51a0817fe8ca2116fa6c4294151f723549d";
+  sha512.run = "b4d4285b33f314720cd07eea903bb2fc6092f96033f75d4b06cf315fd24d1a34722aa73db4cb6410a847e1d23a131ae329f8ebe75fca15dcaffb99097768f55e";
+  sha512.doc = "d87c0a7722f62a599bcc63f7ecfea190c64d82a4a4a1ba21d18c69866f80ec77a527a82cb94b0d081002073f5faab95119c6902e8f8f2c10d815ca2d206b1d4c";
   hasRunfiles = true;
   version = "4.0";
 };
 "feyn" = {
   stripPrefix = 0;
-  sha512.run = "73027c19e958ceab78b1205b3bed875c1b0ddc4bbe1fa1740a305e56bf2129e73eb7e0394db2245689d8449a38034b95e3ed9e560f9c8a068c46e732f50bf17b";
-  sha512.doc = "f756b4a142b69daf1c0a5aaf64049c26ede2ecbf094a1b63ae30e3773f8a30f07ea1ea4eaed0fa7d2f451ecaed98505469dac7e9a1256a7c064a0be0f8fed677";
-  sha512.source = "d89c411815c7d3c3967ffeb49a0ba479255aae5a274061fb8a9229d3ae48e3b8811caff9ec3618896b2c4635d2eca1b929f2ad0406271b0afb57b46d289dcc36";
+  sha512.run = "56e7d5b875db6eb6e5ad2b07d5696fa4fc6cea7d0f0f9d691bdec0fb90f16bbcac0c9f20f8f16bde20eabf98f72fbbd75831af1191b229cd7acca60bb2edda28";
+  sha512.doc = "df4454efa6f9130fac5ee2986abdd8eacb42063930ee194b65d94a1e1a90460c4116fd62da232f01f94fad63d9eaef627655aedadaaf034f910ebb97b40a7792";
+  sha512.source = "fbfa44afe7f1ae10566d736cadd02a3d9f562b19d25b2f23b1dc27fefc77d6b7af550e7161bba7c62d63f3c75d8b704dfdc3befadef9ad42ed42e42000ab4557";
   hasRunfiles = true;
   version = "0.4.1";
 };
 "feynmf" = {
   stripPrefix = 0;
-  sha512.run = "88222474e2b5894bcad17f774042b6bb37b22739e29d5694c08977576950b2a2d302a0a3b23eceff308b7cb3fa0c13796f8cf6597e7b4fe8518030e75b3f8ec0";
-  sha512.doc = "dca778be6ea8fd00a8707abe507784abe12ba9263319eb372bfde43b8251e22c66eeb6da4c748b272588918d14ab50cc5083c64c7b8c27ef854d653f59fdf78c";
-  sha512.source = "1cbba7a5f1feb616e08f867978c431932e8ecdf949fdcc60ea27b4734f9d8c03770b19f1c57ab28757fc516eb142dff0b5c9e25ea3ba8b515ae4999a621e6b0a";
+  sha512.run = "d4eb87e3f086f2d39c87eba057fc490ce5d39e9c5ae39aa1c04ee8c3be9c4a188ef123f860fe74d31e0e9e9182909c39df3434ddcc618632723f00627f66397f";
+  sha512.doc = "933edaceff112f7442f7c662fda43f343b0e7e41f65aae4f1a45bfd2de18c1e4bda505a235eebc4daf2451846dab376449242217ec803f2932a4a1584038f4ee";
+  sha512.source = "bdc4dbbc449c911c0d516b10da18c1d541645ec57fd95c163d571a039c70ad46e6111717ffc86c802123c272509c85ce1d71d90f49578b2e228a9229f4d40f02";
   hasRunfiles = true;
   version = "1.08";
 };
 "feynmp-auto" = {
   stripPrefix = 0;
-  sha512.run = "22fe3516aa71999464e4262544f50581796654732b6a2040e4047ed21735cb0bfb08594de5317677ce7ad7762425fe3036c92d107f0ffc38c09bb2a5a1ff93bc";
-  sha512.doc = "e6fae6da300f974ec4d09162997220d5f1cd306cfb0f5bd82dd356de55f580b55a2a3e638da2e61a8721dd958ea21268eeb43fa719ab5933968221d2b347ea58";
-  sha512.source = "18e7e6650853d65486328e1ef377f6a210a424f19bd85882692fc4b20b47a4e6d678fe193d71b726893877b0b7824d7f32f2ddd8674ae6b304dea590056f2ed7";
+  sha512.run = "64ca275292b12847d823322ced9dbad615a34089c8cbe43262e676b34db205ed56509f641e18e949523bd252ed1ea73eeb5f019e2cd052274c02b1df67860a25";
+  sha512.doc = "3dd88f5af739013ace4fd8eea70ce247b997e887c0f7067040ff9bf4e0300126aff53845ecefafa7bb52dfc4d05d181a1e96847e6a534c718c5a7447231539ba";
+  sha512.source = "ea29f32f9f1c628d63b81c958f7c8064e884ba1764953dd62fbe5d90506547846f52fe378f813a09090ef6991c9b7d2905095b04fdc0e26aea4c8cbcb5e2b2b1";
   hasRunfiles = true;
   version = "1.1";
 };
 "ffslides" = {
   stripPrefix = 0;
-  sha512.run = "de917097f213ea57a8dfc299a9d2a9a76485a52a74c2e9ee2b637c0c3d7566473bea4ca576e80a9381c3c47f4f19baa50cb07b39b6136fba0e2232540d1f01a7";
-  sha512.doc = "52897a4551b760b0dadc9b13b029762dc191e47049320f44fc20255cb959a9dbc8e4eec60ca79e2b96856d973ee4058558f99271e5798b08a808399bb2d85f08";
+  sha512.run = "393903c180f2fd554178c909bf9a4c060707d8f2fac44022b4811526c7b505a0354afed77f8ae0fa3fbcebed3918a6b46f9e81206be78d7ed6b1c959cd3473a2";
+  sha512.doc = "4a8e176b7bce3d54464a30497e41d5a899905a0029199710aedca7234612092f0b2e265a465084536434c9b8c7f45eec3f2ac3df5eef66cecfdae5cdae36c798";
   hasRunfiles = true;
 };
 "fge" = {
   stripPrefix = 0;
-  sha512.run = "c26250f4c8fab830aa6a38f782d8fae60d71cbfd040b833f3b5c2fe2be8e25ad295693109b3b28cce1216769c96817943c3b30f55a8b379e36a975f7c1501817";
-  sha512.doc = "843e5b37bf31a3076ea99925ce8a5ae9be504e7836de0ee5d0b0ecb5a39ad3147c9a5222f1c25ab9e95c0f59fb3c77f56836767971b12fd25edae3b240a283ac";
-  sha512.source = "5ea686fa6c1116022da456b6b2949309ed3bc8eb29451213752d8167474f9aee2d1b67f7084b910439dc91017302596adf4ed11601ad8e93b6f20c447f79e601";
+  sha512.run = "0336a91c06bf658c1bf139d716952ac2ad420e307fb8b525e53cd4a488e0cff536c89ff06ceb8788d1e54b96a9fe4b24d94beb6913c1be8683e359a4d00dc4f6";
+  sha512.doc = "4f18f7bc1c8000664753e6f0615f7dd1d0f71bf51aeee6860fc2181536f6f1fc37b21e83b0c5b6c151e1012a02ec97d3d5ff6d132a5f6986e94bd173f40f994c";
+  sha512.source = "4eebdfffd7fbfeb7539543719df1e50564df6ba815f37a503fc98420cfca5c6c2a0a0a0f732656bc288009e9bd0fd1ad7fb0a4625748496575179c3a7015e7bd";
   hasRunfiles = true;
   version = "1.25";
 };
 "fgruler" = {
   stripPrefix = 0;
-  sha512.run = "f79f01da911aa41081738aff68486c69bfe8581e1f23c88b6e8f0e97030b8042e50742dc5906d52a4633bbec3b3e0223d7a39d054f8071652b5a55104bca1704";
-  sha512.doc = "d24ed685cec23a410a08f9a519510442947725dbcf8fc010d9cef8814bcb0e67d9c6b10e8eadb51c77dae7f35de6edf8d66ddb4b39fef1eee7f1114c9ae4da25";
-  sha512.source = "4d9d219961fd7c9200142c0d51e3bb7e690621011e23f25e3e449530f941c4494075b89bfa44afae31fb5c1a440d86dc75babfc57e80b897ce8628a4cf54e8fd";
+  sha512.run = "d189eafb4b2f7788d42614f87684bb3cc36d8e022c9c98f8f7f44babd5f95d3462ff25d2d9ab541384d35ad4daa39b09e28dadae1fbd0f7fa25d0f8ae217c34e";
+  sha512.doc = "16e5f5be432e338788ea78c5e41091eac616a3ad779c3c40bff723fda2646d5205599857f0e23f1b2774fb56a2ac795c61babe21cc4de5ecc2fadb7b6d33eb2d";
+  sha512.source = "789c6383611f55e5efa878efc1ba229794a888a26bb4174fe263c5cb2ea678e67422a47520410bf83b90ebc32a4c9584a7f24bb66f4175d6b71ff0ccabdb3de0";
   hasRunfiles = true;
   version = "1.0";
 };
 "fibeamer" = {
   stripPrefix = 0;
-  sha512.run = "fd7d7c52f99f70671606bbf50e7ecbd590aa53141bd50533008e29f654aea18d336156558a5a584de6ab8e6843512f0bdd0a8ee6ee9233eaa9dfd6e2992ffd5c";
-  sha512.doc = "88d3aaa12fbcb35851fa38ed746e9738ba458ec8add67d2f818cfd158736ec4174acbbe6f4e29922d9ee4cded1b7618c271a80ed1d739060cb464e2ed67ef7d9";
-  sha512.source = "1ea9ea639883de3543ebc215622a1793d94819cb738d507295a3b0073aafab813518f3346f15e3924bf288ca266db4c6a28d7a4718beb04596b404bdff8b64de";
+  sha512.run = "566fad32f04b81c95b85f65415acd86e729802a3b638c217054a2b5c0432deeae87213a4ac4a71e35f0113c23b1e98e0cf7fe047b2bcb4f9e00b929d804a230a";
+  sha512.doc = "a70d38f8b6e1f68f9261a99144d6fbdbbd4a883d4b60f3ddaa01524710e0405bb61599716fa80fd99e9b40e37dde9dbf3ac6fdbaa48a8f2ff4da2534973c42e4";
+  sha512.source = "51947801fc6c4c8e4098fe38bc6638bcf328884cc86b25e7beca8525db1c8888145b1852a3113d651f5595b84a84738adc5516e65677ea8c31c195dc9ab0c3e5";
   hasRunfiles = true;
   version = "1.1.7";
 };
 "fifinddo-info" = {
   stripPrefix = 0;
-  sha512.run = "62167afd92d1e9419950923434a46eadb5243d41acafa5c1869ab39ee1e71a91956fbd0d9ee9d453eabe42e31c5c13b1a8c4d570f50eea7b116ae78a77cd01be";
-  sha512.doc = "90bdff2c82815051ba18b7661ba0f5c561b427a180882657e790e310ef6c71b723a160be142e0a5a52f71896441ee341623f5957135e3bb11a5ddab92f4f8050";
-  sha512.source = "3e2e43d1d61125ae336f8526685952a46323d5df92c7b71926a8aee0cd0db12e4c457d49e81a1d95f4d528bd14ce6c01461ff1ead3a12f672d1e64637c9c2ae8";
+  sha512.run = "86767390bc9946b8f8d47dae0334d7cfc21ac2b064b00ab70732f7ca3f50d875a35dbb0e477ef1c014452fc14c177a1c5c6b96ee334c99bbc2bb49eee9ffe6b9";
+  sha512.doc = "e6635f5cc989bfa0da9b2b0cbd5c3719aa793552f4c1adbc1ee218a78b6b116d2c2046b04254e3294834e63901ece9489b8c86421afd3c58aeb8615b5859ee92";
+  sha512.source = "f01f2453c206cc7fefaafd1269c77b43bf1f24a8fef034ebdc40ac2be5c4ef553d2096f4168e7933e63aa816b1397c74fe21d725f0a6bc3d8187c751145a44a7";
   version = "1.1b";
 };
 "fifo-stack" = {
   stripPrefix = 0;
-  sha512.run = "92c22652cc48fc7aac57e2137755be490a488b03924d08fa6c00d70412c8365783b03b576ffaa69704a33de47dbf79c92fbdfd222ba594570cb1756b987f80c8";
-  sha512.doc = "320a14aa063f66f3418be7ecefb7dd96a2b3194fb6b6aad4ba3f88da9deb6165381aa85717883d7d0c59226eda1be49b033b753186f0f8fe57950c49c0a6a174";
-  sha512.source = "608930ce489ef043617bfa5cda442ad165ddaf43e4eccf079a7819829442d9abb7f09740a706a0cd6cf07ae36899466c660700af5ab829ec28f9168c52b53593";
+  sha512.run = "4121e3cefed7ffe80bfaa8b054ba0825ab0fc2b4073a845386de4db3650b4d68c48a4f7378ffcfc4a221b21ad30ac6e199920e7d8c44f503b35c14cf4c001462";
+  sha512.doc = "220d9b2796c20251ae568d1dc5a7eee1fad5cf6aff26a2b94c1a2c9dd6d853dfc9c25377ec8c3d6edfc43f5b4cf645c459754c5d6a642506fa7779cf79f1a901";
+  sha512.source = "3ab0e67acb7895c527be3cee1ab0fe7ba03397410f9970dc7c286418ae6e785d8051b82add959ff7d0596d6983ae6514f70c631672fce5c66bdb6542a3b7d777";
   hasRunfiles = true;
   version = "1.0";
 };
 "fig4latex" = {
-  sha512.run = "f6c00e585c12b56a65ea70ada98f8a42616ae79a5db37cf117847f3a05757dfbdc4a73b0cc58945fd143c2bfedf5c67351b6b86bc7e6aabcd963e400c627a063";
-  sha512.doc = "49092e5b3cb3d9b2cfea001ac31b373c4b31193790d9fb8dec7fbe1b4aac68bbd1bbed0e732d84e4c2653d117765dc1b581911905fc927385b3171c8a149da55";
+  sha512.run = "3f01676ea85d64e09376da4481794e1537b9e19c0ff0bac77c022b10b5d49c39d789de6e4f0356b4ea4b23326f9ef320f4b08035bc04a827951cbf44ed7c6228";
+  sha512.doc = "c05d3c08b916785b765694e68b8f7cd96c3c359325e8f84166102beb4caeada7490ed24ad0b4f52a66cb822000f8b4d75d1013b93055898e88e82d7f23d5095a";
   hasRunfiles = true;
   version = "0.2";
 };
 "figbas" = {
   stripPrefix = 0;
-  sha512.run = "e246d380a26efe266563a8797cfa97da5c1bb0630ff011f0b053437f4db030c78a3ffa98842f54fc02f4c640bd03671dbe2d8892e056e20f4601ab9bbb958781";
-  sha512.doc = "c97a087a0573c04c44635308fcdd5cc2d131b5b6e0bd394af2c783cd8c0ec973491a54d0232cbc1494625a0146b241cacae05ba66fb1b2e13b4950a3dd5f431f";
+  sha512.run = "2fdc1114b03123c35eccd6b617310c714f37015620551538458a1a49b1e9a583aa55b3cb661f204bb9168cee0a7325b066d64315a15a94daa01e43d05bbb2561";
+  sha512.doc = "7dc8140b3b545d2683c471e2e2907a58e2c995f23acea26d763da8989c3288940dcc154ffc0f81ea99169ce574bf90543e94f86bf8217996b7c83474a300806e";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "figbib" = {
   stripPrefix = 0;
-  sha512.run = "64c680d9d2901af03c2fda7598a22cedf7bfcc16ad0f341cb8cf1cb809a093589bf5f7bd923be544ccfee58802c406c60046ddaf5ba8ab8ea9e94df4697194e9";
-  sha512.doc = "9f75147b83f995f5e3a22573e098a294cf56a143597eb3831defa513d8b8ae6490f558cb89c221032c2ac05dbea03ce7688186e75bfc80d1cded28a8ed9c5613";
+  sha512.run = "1632b372b06d8ef3cc363d6b05e70b8a493f357fb947ca1b8fbb7752d7ffc4ec09904e747a3e9b91b61e5d094c96eee954d533d1b286b372aa57244ec2abc63d";
+  sha512.doc = "ba42f6cc811fc9e00c41bb6fb410a57a2efe759a0fd0621cd83801963d0ed138dc66a1a245a4b7256cb056f3fe71e883a8fa84d19dda785ba24825e85edfa044";
   hasRunfiles = true;
 };
 "figflow" = {
   stripPrefix = 0;
-  sha512.run = "ad50e8df3e04371ff96b9d4628c0cbe2cf03add781e1741eb9a188d414b64dc4fc97de8bea1185b4f1910e472b589bca16c9ac218e756ce7413243accb480532";
-  sha512.doc = "d7ae465a24f9e0ce7f06579c9d997c653d544a70d48a7b59e6ec0b9e204b5c9646cfeab7dbce470da15b54e5a7d3e77e3eaac10a8569bb19b775b37efc1fe0f1";
+  sha512.run = "f75517b5c43119d33edf46fbe124523cacf0d7d837cdf66af702ba563392a96323b266bece1ec9e7f87df34d684a87ab38f9ddafab6c3d069dca8ee22c3bf25a";
+  sha512.doc = "c972bfb356731aa119e8cdf1292a3bcbfc08a74453feb7e509a5cc519f62ae6c7e6b0c087973549b9d860b97ff1a3bae9cfd1166c4ac6a74553ca6c0f463694d";
   hasRunfiles = true;
 };
 "figsize" = {
   stripPrefix = 0;
-  sha512.run = "a48134a4cb9acceecbf382d3de106b8d3169926757367475ee4b0794fd34121a03d1f57a2ceebe764fc20cd5a07946a5e19ab99de20c6acc6f2179660de42d29";
-  sha512.doc = "ae2f520a04935789e3018f94344d336aaf6ddd1362e9b7623df66212297a624afbd5936c4afa52c4072de40a23bdd8a6774a042a6b7447bd14fbc0269bb0acfa";
+  sha512.run = "3c7523b05d04363c57c1ba75a39d9698b1648ab6a858be15112b6f47c052742033e3ed16752a9b9ef3854ab93f547f0841c32f1cc68fb9d4538fc02a7bb19ad6";
+  sha512.doc = "598f631423a97e189c21e117a7da23c95bbf4dc3b616e62fc6738674848fc46be4d7dd43832ff58ef834c0fdbe35d8923ba9729d5c48f90b0431a22bf86f79d5";
   hasRunfiles = true;
   version = "0.1";
 };
 "filecontents" = {
   stripPrefix = 0;
-  sha512.run = "98fe1de0b2b0b775af5a82f77c15838639501f80b8a914bd72d36d9b7d2f98d357b90a8941dfa91450db5c9d3bc0f8bc2daa744c44067a3f33875cbc63e90ad5";
-  sha512.doc = "ba8246e491a33afca55cf1fb6e65220f66e693ad850071045607b828e564e16c621b47c46284736927c1f8b3330004df9ea260c7edd23cb91495080038ba4af9";
-  sha512.source = "3248206aaf15b6975757628b0b46ff54df45ef41bedd901e048ec6854a396c5e4ccf6d27e4fa47920f132bcdbb5a0cbd021c1de8ff9684def897ef6ea0537b62";
+  sha512.run = "b40bf2e4eea194783dded4f00dc24f1cea26a854e96b57995b69354a70c1e7ba9ef0e64542c2b524ad59d9b12fb1accf93ee28b4c7e735279c0bbeb915b6c991";
+  sha512.doc = "0ebf1990c005dbf92b7ef73ccae0cf1ad47ca896f0805a5a8291a15c6764e2259ae03fe14d9c713484ea258764b706881051b4001589715bc36ee17ce5bdee23";
+  sha512.source = "e0238c49fcdda4a6d5ced2e52a7f5113996fed3bf7d8d2143d499870b06a1d8381a2b0796c2708570e554c1ffbd7f12c6c69b52980b1e2b7b91b2e8d2112e42a";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "filecontentsdef" = {
   stripPrefix = 0;
-  sha512.run = "2b4d4e1f6bd57d7bb62140855efa501d12eba8fe75c6e05b0e4a8aa963ac195246ba6650656dad059b3dfbdbc8b024dd575ce708170081e97f5aa2dd0074b546";
-  sha512.doc = "b1b8849577b15112e283be7f5af1bc1ea16f29fab06b73e0df24d8f292fcb2161924f011925b7246a04948d43c45c1b6678784da58a3e656ede384c9f529eb45";
-  sha512.source = "1bdf5390632dc1ce361c2e5a44a6096a0af24579d30b04bb51eb961efcac4a464eb7fe2b67f7370eeb255dcb79fb89a8d9b5281917009ba058edb38aca2d5b91";
+  sha512.run = "63b399a5e21d2d4946c195f380a0d5f269f8c978c0b504cda80c0796604dfcb66df38ca79d31078efa03c7475967bc0ebfb856e933bce6b21d12836368780e2a";
+  sha512.doc = "26e7ca9971a0683325b62e2feeeb0db6ecdd3a732f07ae93515f2300ed58e97a44ff8a7504d194119c1e27d1d9bc4f367f29c17458c0e7f0b6a0a61fe18ea0ca";
+  sha512.source = "f6e822a28e074fece05b911f0bf9d262e2b925c2a73559764e1eb5131d9081b48ace0ead5f46bb250bf648eac204eb1d5d7b362be508f58b40a50f70577de534";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.5";
 };
 "filedate" = {
   stripPrefix = 0;
-  sha512.run = "5d708eb35731a5623dfb01a92a1b8c8b44dff7437d28e716407630b3cc63bcc57b14738010b6106b02575daaa294dff3dd78c1fb2c141310d1b8648de85de40b";
-  sha512.doc = "d0fc0ebd2bdae61477598a9bcf62fe7b02b2ecb1798b5188ec9a5ab6649decb25d2a05c1941d3597a6b0498b3a2d07a2d98b54c03fb172bdf4cf7e3fc52d602b";
-  sha512.source = "a98556187fa34839c152dca61fb45e2bd144e8c7214e7175243685e263d3265bf9554e84b6c65874fcfccd8b6af5dbfc55f2458f0f64818860a4442f4b3ffa0d";
+  sha512.run = "5e2789c065459e82f073599c4d5f04c626fedae7e02c8dc58d6595d81ec8281c9c362592eee9547369b7a8e9cd2aed1ec526d69a8ae22f35771d5494e3109032";
+  sha512.doc = "cfc2eb596e6b6d17015ab2ca061da39e673376d6f4c526dc045c8d2514fa8372f1a853a97425b4bcb9eb0bdc522c6b482a9bc3da9f56f8a4e0c22e4970a40575";
+  sha512.source = "cc2a12c8f3b9e7391d6b57eec6c0f486137524022d89d3d3e7c037ab468a4858b253e8baa1cc8eeb731510c5e221b7cbe9a9f22a972023b3d1fe2f975e4751dc";
   hasRunfiles = true;
 };
 "filehook" = {
   stripPrefix = 0;
-  sha512.run = "b9c4837b60c6997b8df6f9c4e5eaecb69110395b4dce7645a7a7692887bf4f7962635e09e4a2fae7a8f30b623d24ec126107b5df93d1a7ff374d0d0c66e3472d";
-  sha512.doc = "9a716bce0053c97e6a6a5df5a11a99816ce4c893e3b64058c98b886b11d902a48fa3f8edefc0011c1079200f5269be6ab303e519658e3b981635bd37da97641f";
-  sha512.source = "2b63b01bcc3f3fdc44a671800696c2a37694cab5093826984b800b5f6acc866bb950d03e38a814fa56e055a773ef9ef51c370eecbb61999676187f4dea52b454";
+  sha512.run = "cecba772dd7c5059750891151bac94cf1ca37512623363a3b42be449c47f29faac5746ac937fb43ea9a54e6e5f8f54087ceada240d3f1fbb33564c56d14720de";
+  sha512.doc = "dbd41905d906934608fcf83901b946ba811aa37463c8d0ef42679abb1a19d273298ca9399964e2c16b76b9451ceba89c220956133bf9edf0a83be1b9aec019f8";
+  sha512.source = "65bb2fdba8b6288189d6940d27caef6c25a999efb3df6ac673441cfeace02934fc7121e4a4df27cd2fbf7b3f52619e9d8399d2fe47cdc26afeac59b6cb9c4820";
   hasRunfiles = true;
-  version = "0.5d";
+  version = "0.6";
 };
 "fileinfo" = {
   stripPrefix = 0;
-  sha512.run = "87b4bfbf19357fc971b49f1e582ae6a3a7a70289d4f487d9b82c7c8f51814231097c492fb581d406384d9c54e41545849756f5e2e1fe2e5658ef1f179faeb099";
-  sha512.doc = "90ec6f61c9fefbe471d0845676f4c7fb099645337f7d75cf8690462bcf7b55367f6911dd0dacd522eaabb1ce5f067046bd51f9867b44b69fc6bc7b96cc058b24";
-  sha512.source = "ec5359366876b018b7b310d594d17021a70fb515c6227fd1f194328f71d69ae37bbe52eb3bcfa1efea43545adeecdff64c5105cf489a20fdf6bcec3a08915541";
+  sha512.run = "2e5914e32af48db731aa83c3e51e6d9128dc969891bce21e1e2f859cab79130c9f5caa0f591765fa8a9b48c38eed8d19305f4be598430ab1e2cb3276b6faf191";
+  sha512.doc = "03b4ecbd21ec39d98949f2e8ece7e48bd539a75051350d1a9ea19e3d32ecd620c0f1a5dc454e626237534114d0430e2ad7c175e9c1b27ba15c78a35aeca3e3b9";
+  sha512.source = "6875ecef667da4476def344901db38f38e988d2345c2afff42fb812c01c356df8bf1dd3c8c9a563a883fcb9e22e85b8813bbf50905d711004a439767ac0f7227";
   hasRunfiles = true;
   version = "0.81a";
 };
 "filemod" = {
   stripPrefix = 0;
-  sha512.run = "57196ce4e542998eba3541084d26e65d712bd038ced993d656b48c70bc867a21f05e01542bddfb87790e4b911f7c8f324f69d517d497e4d47798d16499e37619";
-  sha512.doc = "0dbd05659cba350fc028ea3d5663e8a30e3a30e58b2982a7d7b6e17c1d0ab6e1e9667ea10b21bb082b5b807d52c5e0d13797e3b05c8e37aaf6bd4ff789d50830";
+  sha512.run = "4ec27d16dc551d42f9ff326d20f78c48d73e7324af65f6ccb9e662dcd399394c631d9a742aef8a2efc235dfd769a04d22b4ba37eb8a2cd06631cba298540c08b";
+  sha512.doc = "88c1d8c61ed1759617c9cec7cecbb28459dd5e06f139ba3ca2f98d7b6357a15fc89dd90daf26e5f4d17f33fe9673a8c17363fb757ecb71d9e530f0e153ec486e";
   hasRunfiles = true;
   version = "1.2";
 };
 "finbib" = {
   stripPrefix = 0;
-  sha512.run = "407e12fd58de8a0f60eef6e75b815f5d102f754d4861b4fb9f3a0aa4a80b27b964714909989bb35ea3abeea3a45c42c89afe29b8a7ff30b6c8d1980a34469f1f";
+  sha512.run = "14f08cdc92a2d6d511c112c480efb0112d45c199023e89c9314740c2b9b83598bc9f8917ce616bb2493671f408f946ada3de4535136eff48b7bbf72e7436f912";
   hasRunfiles = true;
 };
 "findhyph" = {
-  sha512.run = "7125515ebdccd398d18cb71eba65197519b461ff273970fda6cb2f882d84d12418b60263a85671917f2d7450339273153e5e0e4ff6eb0f8a36ef38a949f6526a";
-  sha512.doc = "0d2793837bc16ac5f9b6aa245f24366d68541e0d4ddc55f70fcc28b6c324b8282b07a2ad6b0eefbb77346621e1b0b44d25a11971357d70870fcca7d79f00ec06";
+  sha512.run = "aea6305dc0d9b31367638078a7958933468e761ef4cf47a1c44d9fd5ab2e25f7af22273c4631946a90edc9b51947c2e56b3d4b74c8c59f0a79250c2edf5bc137";
+  sha512.doc = "97f3fa22fe490d21bc9e5ce5ea0b23ff25ab9afd9c5dbf6e8d78b24fd306ddc132c5ba7ca7ea7e3d7aaeb48993c7968b0c02ae0b765416a939d84b53171f4179";
   hasRunfiles = true;
   version = "3.4";
 };
 "fink" = {
   stripPrefix = 0;
-  sha512.run = "3db9998be0f255b9867d8e907c1247bcf3059e6069aa99c303d014d62f648890d3b9bbe0976cee6981fbd022f5ab7d12fa7c4ca562a074e4da93ef5763f5d4ad";
-  sha512.doc = "4b695569a5d487ebf0803ea30f942f477e2b11adcfdcd925583814df2fafa821bb243c17615f91ab8a9786f737930fd7f1699281e6e3d0cfe69eaa040698dba8";
-  sha512.source = "6b4c5fa64e6530251cc7777821a3994d4e956d001a29b24651fe50a57e5c2c5efbcf4d52db669eb9c8b081da32f49a523901d0e98e0e9b0b3a8227e84c6a26dd";
+  sha512.run = "837a470970c8376e1d699b28954cf2ac6ed849c2f96a4c17ced56ebf142297c36d3f856f9cbf4db920ae33f491738f7891433c5c6627565a48fb5391b663634f";
+  sha512.doc = "7b1d9d1c62766082030d7632bd91c65328d1bf3e8bb6abe4ed64ec5188d9f38d3b2a99695f32c2bf04e2fcd634819926ba923eeea915186eb9fe96bcb43954ca";
+  sha512.source = "e37a35a9c292ad3f213c560505ca6c446eda397771c18bb1fa2b64df70cd667b58ca03b6f821aa0a9d6bedb3910b66c411349f70dfe3eb5ca2f1fbdb9f925a35";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "finstrut" = {
   stripPrefix = 0;
-  sha512.run = "56a940bf6d97a8e5ceada5c8e622c0634c5fb349df86ceeed6c4d206510c9e4479c913d136df71428549ee72a9fbe3385db034cd70049efdbc9a4eefab93ce2d";
-  sha512.doc = "6852224ef7f7e2f7c4f4553e0c9a9c3314947e1024e871b1b1e6671468a66e72c98757d065b858eed3cc099dd79159d7b343852a2f3d548353bed54c609c435b";
-  sha512.source = "b439aa92c4e29dc2b8fee4627af9e7e1bf5ffd359142ff8373594278dea603d6c900060f01754b987f02d7239784bfebf00b9e4c5133afb66dca2647e3cf89e3";
+  sha512.run = "8b360a3426056b61e58e577cc68ba9e2f55b63a3b4a0a2eb76ebee53e9ff327da9235e9da5cbb85e3cf369cd48354c00a79cd46110ba4adb4b64192b7ff7b603";
+  sha512.doc = "8cc27d82f7125b5ee82585f97385924737406e45d9739ec9cd57b76736e902a588c7258628bdcc4841e3e23f359a4d8ad22a31ed6f821f1d1c59798f4e8f3d56";
+  sha512.source = "c06f1b10815444ed51b13d83258e1f3d246da65a581a0946e7a05a9c8432e78ae395efe18ff6c0a84db8fdf6016ab8dbcc6f3242e72936f46e522d1074ff1b87";
   hasRunfiles = true;
   version = "0.5";
 };
 "fira" = {
   stripPrefix = 0;
-  sha512.run = "26ae1aa1b223dd021f065cc16d2879b48cbf15369d9ee5af1b8656f227880cf17ca477ad790883ed4ee1650bae25b2b94f7b93e4b035f18e4dfbd94c3529dd44";
-  sha512.doc = "d3e193d0d2924704a0c2b01d3c0e2bdcda174b1550ed881c0662a627b971a1c18d7e5150c1ed2e9e6c7d3ae37e31f21fbea6606f3c771130ec0cbc607b18f9ab";
+  sha512.run = "3fdea4c886ccde87500e792a7508d5e7923d7a58f7f536b047ca537728f42c1ad44ffebb9b80869f1e30206e7f17ff5e694bd72b9d4c1a68eefcd01ec0b6d6ab";
+  sha512.doc = "b54acf3f963fcfbc58eec3fb1ba058724638939d6d0f63b69108c431e6014fc46313e7d2a11f2d31e1bf12041d6d85f426f2b0533a3669f3bed14ecffbb3ce3a";
   hasRunfiles = true;
-  version = "4.2";
+  version = "4.3";
 };
 "firamath" = {
   stripPrefix = 0;
-  sha512.run = "a76f4049ba6b83e514462c367d84c6942d5c283daad25bad1a1a64a3384dd7f6ace34ca6338402057793ef7ebde39b7bc138d091a6dbda070703cd4dec8a8f77";
-  sha512.doc = "87cf902998aad9f57a90c71b8184c608f2ecee93dc5bbee1b71eddb972d3ac1b0cb1369e6667e54c4a165b1f4998b2eb29ec39375ed65ac4b5fda1c0b847d98c";
+  sha512.run = "0a2e603e05302bc9dff0ac983b9f05e62cf085a89056eceb8c82aa8fe1d94b40fd8be48ab30a59cbd5a48cfea4f9da0e0060adc73d4cf76af5c03e0f3162560a";
+  sha512.doc = "f00a37d702ed8e38a841d308e51efee4c6b474a56dd4ccb9c1b395386da6e0de16be9cfce9acc7486bf5a000e0553bc1a47aeb189b4e7829db4bdd6c0739dfc1";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.3.2";
 };
 "firamath-otf" = {
   stripPrefix = 0;
-  sha512.run = "b5f0f33439dbabff4daab648554b32470ab242c56f4ebefd554857c42db2231f035db4534d46745778d66260435bf8d3c19d65ad754b7cc1148068f050aee3b7";
-  sha512.doc = "4f11743035b60ff319bd64a8b769470375036ebde523771e44c54d86426a5648c5cfb3835bb0e0153b3bcf3d512d7462a0188947524eaa573453e40a681a9716";
+  sha512.run = "dbbb13d184e2a407bcbc2681bc9c5ff0e83017141792e956013254dcc50815f5b913bb2e40d6c09421883db774e9ce5e5ed17f6602ee902f485069fbd570936e";
+  sha512.doc = "699e10d44b1e36505e872070c2799e1191e995ca6ae26058e7d069c96500a9c0914614750f6af076abd3a30b281409613a846c314a64bef047b3e313b0a4cc97";
   hasRunfiles = true;
-  version = "0.01";
+  version = "0.02a";
 };
 "first-latex-doc" = {
   stripPrefix = 0;
-  sha512.run = "b5f0b5ea0787819e8ff1863e545a3af3c01c20d2591cb8baaf4cbb95075e31ab1c50753fb4f77ce8ad166ae2299c0a488b84a5d1f4b0566cea5cc15538bafbe7";
-  sha512.doc = "2ab8e4454afb7b3336f7d1f72e49f783a226e38da10d0973ca08ecc9aa7fe13a0e3fbc37db6857e0a5d33b938e064b8d6448e448020d2fa0a2b955684da5ec76";
+  sha512.run = "39641224689a1d45d59b5643e5037599d03df3ecbe95090d565778758d334bddf832e867a25c1688adbee1f99eea23b3ed21fd6729fb3d4e50f1503537c9a400";
+  sha512.doc = "497080fdad8195bdc43bef476f9e678b49d83829f10a6653c9443d327cb0da8505623e941cd3038349b6307ee37a65ce1a3d3eb48e4c6262f9d636d10d96e17b";
 };
 "fitbox" = {
   stripPrefix = 0;
-  sha512.run = "4fe060ac5a63a6a6d468e1d7c3eb156ea139c8a9c2ca94b407e89a931c3f48f1adca7b6aa90923617c51e485a6410bec479580dbec8e86013a3ff4f483e69872";
-  sha512.doc = "604919cfb9aa83b645385de6963fe26a165c3e46bddd961030049f61b51ee5835ec9bd490b5a017a8e4bd149004fdd78b0843625b15d9565b99b2b37197ef1e5";
-  sha512.source = "464b559480bfb8623e6bcd2765a959c91ccf5c23ba0e06bbc32718368e26112eb30d2d372b03459e79c4ab66502f7319e5eb41c1501804aa6f9aa6a52328e9d3";
+  sha512.run = "5244567062493fcb5300048be6786f1ac48c72c363220b894a2695e78646f461584e189f227d04f55e9127a66ab966dc04cbd762fd08277774fe1c0fcc7d3c96";
+  sha512.doc = "71d77dd1879a2b9b20f9c4934af8bd696de567b5c0187e7a5bccc9e225fec5793bff6bc670ce0bbe1065cb67de73f518942ae48aa0a27e46c2aa47dcad6856e8";
+  sha512.source = "406ae04d838114e9cb7205c9e704b95e8ea8c4747827bb82fbc53891ca552042e5742f7e524361f2a797a77d8b7286dca3512ce7099ec8fa23101668d4bad5b2";
   hasRunfiles = true;
   version = "1.02";
 };
 "fithesis" = {
   stripPrefix = 0;
-  sha512.run = "dd7e8c5306f0d2be96017aaa3312b14da33efe130c7cd8ba08c254796db0b6cac0e14fe50edcc408ce8a134ddb77c7567b31a4dbbd96d7b629302f9b461527fc";
-  sha512.doc = "efe6afbf9b59248e7ec85415b9a4ff5d6932b85b629dec4e306a96e550a34250d1e81488b1f9473f5a82cc89f353cf823c426dc5d2e9949e0970f09680034c43";
-  sha512.source = "b14b508955875c70ce4d6801a341965b5e640633f651b5c65d21fb647063136e64b6d0aba8dd9157b1869ebe3dd21e5fd860092f1fff7031e66d9c657d5e4f76";
+  sha512.run = "f21aa6a1866f0a4d21eb8ea1e1463e421fcc72c75b72f4a79efabeb65da21b633ff913cbf99eebc71232a9e020d2bb7743f520863563f7eaf9763bbf6e9ad29c";
+  sha512.doc = "ba5c0e75760119d9423cef3d26eac3f4b5621c80e760ef026aeef68589b5a724b0c7837088652e4e369fc48850a3d78c0e86f1f2b1149118a17739b5b9c0809b";
+  sha512.source = "33f8a8bdec9faa2b8a57d874c869d52e6b612c9d24da4ac701355c1ac681644388d516ee7358a0805ffb04ba6842d7c1eea533c17b4b14fd3c87acfee180a17f";
   hasRunfiles = true;
   version = "0.3.50";
 };
 "fix2col" = {
   stripPrefix = 0;
-  sha512.run = "fb4f181d182c8d3be5ecdd90dcdbadfc54318a404ed5498e6f8fbbd509693cab1ca66c5cd7d2830a8f5718195cd852e3808516bcea5b49bde15b4208ba51dd61";
-  sha512.doc = "4a1582896f707571e7ff9686fe99e2d77ce20269f1dee25529710cea23148618cc24d4cbacebe0741740fcecbed8a3c8e0d2ee0bc5310b660e973b34dcab0aec";
-  sha512.source = "e220c6bb620dee018ac7fe6cda9bdd2fa814b81689e3d6330b954c4a108cb2cc6ac2141edeab23cbef313d2a38193eb625212b5fdef919b7e49c83edbb8b5fb1";
+  sha512.run = "b3f096a64fcea6c6b2864d4e8a86733afb852f3decae4704e6c275c41e1295622f1eb1c8db0e0d33a29e369a9b757495477c9ebcf82ae0003c4316967c03f0dc";
+  sha512.doc = "302ffac957bc37305fc5b6f458c4b7dcb06b65408131bcf64c0132638a110813eb6c748270ead340f3d864b927aa7bbfe0a16c3722cbd8334b1d8ba8ca72e7d3";
+  sha512.source = "af17350815d50b2f880cfdc9cdefe457e541041e311e886a87fe45e53e7e48ed12ad83c27b6cddb0b3f719469d6c0e379a68860d13892879cb89678f51607e97";
   hasRunfiles = true;
   version = "0.04";
 };
 "fixcmex" = {
   stripPrefix = 0;
-  sha512.run = "32df4f4e2ff4591dfa42368bed25e0f24e5a6413cb15012431bb3d0d15664b941674197cd51580549c6b1e26b2cc6f288df5527daf8aeec3421c0459cd62c7b6";
-  sha512.doc = "6fb12fa5b0155a04e7dbb71ce0807658e35b299e171c6701bd399aceff884a4df66cf054b472003e61db529ffbf3d44d8b18725589e50d014fd347ad1f1b84b1";
-  sha512.source = "ac63cd2ece9cbb68fb88944b2e0e1af240371b511d145fd1773408703f51f565450ec84256399b1e2e20e7abff865d8ecb8fdad9af1680de7ddfcff25debedfd";
+  sha512.run = "fc3a1ba6c5516378182373b89b71ddaf22e713c0be959e8d5afa1cd57c50f363e68669049750f286142499961c56f6bacd60c63b0211d5e6ba01d7f25d58f759";
+  sha512.doc = "e6f65b38a4baddf6c1840b0bb18464b6c94f97163672b67a87c693af19030bc3ab2db7607646d73f8f684e08258906da2380e7b1637ba85f80c49cf7d5045bc5";
+  sha512.source = "2967a93b0d041ff868b4f894a2b9e1d59d445e601af982d576a8ddcaacb00d4688eccdfd56d51beffd19c90903fb15fbcfdb0cba08983e78636757daba176cc5";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "fixfoot" = {
   stripPrefix = 0;
-  sha512.run = "658f51450828ff5b1c3127ad666c565ff25f7d35a0a8bbfc9c5f02e0505267bd544861b54be25698d2626582e51ef240e73b99105a2fdddbddb6c6dce4e5cbc2";
-  sha512.doc = "729934182676f566a1a5e07e665e0ac849acb21cb8def4c88932c7b1e03d30b539e53717ef35710b1c8bc28ea64a72d30138b915e30ced67eb461b45dafb4eb4";
+  sha512.run = "52c25b4d5bb9e34fe3f8d2b122e68352ad572ff9ecf1011f3e9fbd67319d0781a48ca08ab03ad3201f1d1d2bd6d4e35fa3818e695a741a8ab440ce81f7724039";
+  sha512.doc = "bfe0e39165be8f9a56e2cbd4b91c0b7b7448d0b9d8a4a0b62d6c0d45e542a9964af3d34233ec777b69f0666a0945513a8475629f0b084f72a0b349682e8ad6f4";
   hasRunfiles = true;
   version = "0.3a";
 };
 "fixjfm" = {
   stripPrefix = 0;
-  sha512.run = "9c4efd9a422ec0b272686c5fe4c2d12ae680788241d81b3566ed771c4cea231dea72ade81ae01408a263d0e5b17905e2f3fc93894fb919112171776bfd715903";
-  sha512.doc = "0894cadf0a622e7417f9c7016ff4abb5bfba98dba58e657dd7e78f80e97415b3add502991d15ffac0a50b2f8a2927f478d112763b16299e0931da9d486c9fc15";
+  sha512.run = "5ed8db53c1757c4ab6f14e763f9e58a76e5f8c594c30c1d1fd4d7c9a49d65da90d72650c88375806997d0f268b1a75215bf6969f45e45ef3a2127c422415bf16";
+  sha512.doc = "5de4126f1f5215fc8132e0449048bd66dc73d8a5cff460d7873205f3cb55c2f8069870d9ffc794d5c173a52acccb5bdbe45b34189fbdd40509bfcdeed804153c";
   hasRunfiles = true;
   version = "0.8";
 };
 "fixlatvian" = {
   stripPrefix = 0;
-  sha512.run = "9f6ac11a75f6c211929552902edc6a2f7303a0928bd5862e6692220ab32153941761b4a056ccf04cc71b767f91df107af56c8ac373d6ebde1368915c4d3113f8";
-  sha512.doc = "6ff8b8a5b2b62a2fa83eb541a449d5fe12df3f17bf0b5fd12ada7c1becb89a028f395bb4e68183700452bcac3026da81816114314a4c1f09da9d08f7dae5bf49";
-  sha512.source = "6f510e9325842838fbef50523f95ce432a8b8827bf34a612b8383b51c8875fd5c748ba8e575ebd0b76fd585a6faf1251fcba4a2c20fc4299014a454ef34ee052";
+  sha512.run = "48d39745498c187d23c62191d7da6341ecc13d6c43ac97deebf453046e78a26d221b5c7b7ed22aa8909476a754e877de26c20391bccb5cddb2db1fa7b238d643";
+  sha512.doc = "07dc4fa87b8564c3ff3144936ae4374e0bc7cf37a5a3e4b5d0724681859a41d30d714e96742253bb9a269116dd32d2ab0c1e5e1965242e88ea12fdcd224ace31";
+  sha512.source = "04903bf5ba774034c0b3dbec7c7d37ca5a802b3d104670d259667f8a965da26e7e954ce9272e14b6bab058a7e6a4b8ad42b710e22f85f2d0320a7827b2c7e173";
   hasRunfiles = true;
   version = "1a";
 };
 "fixltxhyph" = {
   stripPrefix = 0;
-  sha512.run = "a9758d799989d3df6ed91d88c86eac84a14196a05e0ceb52e3427397e785b84707b3557236ec3c7cc11e4fe78c194e5c1ef2ecec9dc293f2d2bd2a45f52edda0";
-  sha512.doc = "63f1a9b43c00bf097d2460b9dd4e1aa7b91d48fb7ab54987e94a2da05a0f33f199e5c66c3c9b5f2d592dc9f464c4bd29b675c4b21c3f7edaca7db1448a5552f4";
-  sha512.source = "b502b61ede064538ba4311abe12246fb7d79ebcbd8337fc847adb066449adb40365f17342ce471b1796c1b0ef9e42e91443495bb591af21bbf6c5ba2342a0b40";
+  sha512.run = "df41497da718b157073b6ad2a4b9cea3f9ee0a0824698f47d4441b76261efb21271f1605f69b1c0de8a99e3e636587a25b4efdb4d578683ef0c89d7f849d2c8e";
+  sha512.doc = "37d6b9903a56d33577c8aaabd40de592bd78dc6b2f5a2c82457f6d5b499d1d6f9a9bdaff29bb9f9511365d32e160f92c85c6c0d93ed065fdd1688aaeae9ab246";
+  sha512.source = "321e52dbc69bceea16f03d5d280ae10f497278876cdf3b7f64cbfb6f31993c18afc5bf4c38f424c9a84ffa55b235b73b4daf7d68dfd115c31dc3a237a6b64eac";
   hasRunfiles = true;
   version = "0.4";
 };
 "fixme" = {
   stripPrefix = 0;
-  sha512.run = "00f83022db74a076029f954aaaeb19fbb3dc0315aab9cc52523d0c4cb6d5adc512dc1dac6ce16acdf30acfd1e2fd1c483c039842d81ad5b4f1bdce8cb7cedb4d";
-  sha512.doc = "00aaba02c55afd9effae31fb458937889bfe7c97738a04e9f44e1adeb73e5107be9f693d1d1c7ff72ea2e977e06265b9de2a2f66a5dd952ea440c19a1ff87bd5";
-  sha512.source = "65b7334a492184aa6ebf4c75ab53c1eda6c2fd8d115be1e59439e2d1366dee2bac075fa0a88c2e76a23b5a327b83b3e2380a90715f021dcaa9114c7a4f04f647";
+  sha512.run = "fbfc3a79dbaed48f79dfd59efba58eb3d6c4e3c3f6716b0910cc0ee7e6b0913f345f4a05bcbc5d9943437d072cf3008615ab573725c4e7b4d7d716bd90dd8d07";
+  sha512.doc = "78f64f31246acc6c153c0f0ec618a3a1c473ea3a5cce47af57ee65603d2064b64a3a506cd18332f1686b41768dcfdb10a9f9cc000dbe5cb476c8c4c61283dae9";
+  sha512.source = "f5c1f64772f76f43fc64e1395804f155587d677356bdebb6bc2e3bf6961b38004463e8e83b2c3b5406e32f329c2fc84083e0f0db90875fa55319f85cfe4223c5";
   hasRunfiles = true;
   version = "4.5";
 };
 "fixmetodonotes" = {
   stripPrefix = 0;
-  sha512.run = "4acc23d93841477381ce6da0126a4b0c953ed99fbc53ceb642b17f31a96685239a68b4d8852387946ecf94a0ad595a8de09e0b1596bae157be44ef54d163afb4";
-  sha512.doc = "11d0c498719506e55c5ecf29ed3c1bb8ca1d6eb46036e6209fec6075d81d46dc688100e4b03553fe258d9b30a8efa06e98de8b0933ff01bbee2bc32bc75aaa12";
-  sha512.source = "e0c2e2f190685e3c59d33e974e3f96ae3d7bd36c0a401988bb4406131df543a5ad9fb56ac137e45d7b2774fc31af0245edc7f85b4b16656483584be5156797ff";
+  sha512.run = "d327d19ac0e9041da98458e9147b3d1a9c9182bfe5c893c03ab9ef42b9c8044314f4024503327594bef337c1af6aad0b4f2046ea2d6a433947c6c45ebdf8838b";
+  sha512.doc = "7d7f8b049feb8e70c5d1ab0c71147f1f398b098f9c961267c3e90dc5e9ea9a8317361a0dacd8fe581e17cd85669bd39e83a1391641d353b01265a6195af33714";
+  sha512.source = "1a4028aca8ae5fd53dd8068d17a5331ad9011d72d668f9ca8242862599edf7709e84a8848bad35fafd790ec756c972488ac8db53a240426dc5dc95dfe18385fb";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "fixpdfmag" = {
   stripPrefix = 0;
-  sha512.run = "cd9db73b7e4de35a1cfb83fbc0687063e98bd2caa72798cfa9142536e6aaebcc84343de80640c3e59b8243508de68e3857910541babe601e6192195f371d1af6";
+  sha512.run = "733995ec82df92bea5a674fc25a3a6af2102739c3c73eeed7c9f40cd54bc4c5d65cafb35366b70641ff0661dc83700071054f7af274487474c3893ce5a44c9ad";
   hasRunfiles = true;
 };
+"fiziko" = {
+  stripPrefix = 0;
+  sha512.run = "785f99a52193acc630e5fb00cc2db9e16795f42059d65054b0fa07f8081b95e66a245fd05c8b3ee49a69d91a17e7447d10c39863612e44e2632afd5fd0165e38";
+  sha512.doc = "e9aafff476605082dd4116cda573c8f20311659276ccc7dc3477a24024d59604b4b8f724effc853d7d7832493658fb4f8b83302921544ba2c986266317f5a895";
+  hasRunfiles = true;
+  version = "0.1.3";
+};
 "fjodor" = {
   stripPrefix = 0;
-  sha512.run = "307b4ccc6aafd4b4791a667204d713ca0ed6bd20c1494042b891487014f552fade5a3b85f1953001d5f699542bf312e326e99372681410193b368db83a509ca0";
-  sha512.doc = "cbc4ae27c667cf4d374d41d63921646980cbeb5b07227fb7ae7c26db81a5b815d68908c760c2b55de7553fa691a072ff23df60bb80e1638cc3e3e0a13e49f4a2";
+  sha512.run = "26186ec669370270049d45f81b873b444d829c11e9127702533bc09036795ddbd5b6bb43ad54b91662ab9206d56211f1db08b99045c2693c0826f2ec531958c8";
+  sha512.doc = "3115f5294219a3db2a87d702081b69a27c36065345b4c2bb8fdc4d63f3d20c542c81f6d7d70cedad094297b358b83be4141b69615293ed2530e7e1224a5796a6";
   hasRunfiles = true;
 };
 "flabels" = {
   stripPrefix = 0;
-  sha512.run = "1f6a98ce9f7342223443290bfcaa9ad2f3bc1c7f8971a009a7520d811a484ab8a8d607da7ac985902ff010da7afc8b0753eb3f556c062c29d5490e42952c6d65";
-  sha512.doc = "272bc4f5d7f68d01bc32f49f199015478bfbe89a144f2d3d408adce98845de69f06084b069f15f8e88e14242151d2375152d3b6ceb3b940daa1d513d1fddee3d";
-  sha512.source = "cd06fa5e4642ecc2f3469edaaa478f2ca38dc8f6f9afc6df73c67eae7ef60049c36a353a57eb05b3fed03a87cdaf576d1ccecc9187a7549ca6d9de311ac7a82d";
+  sha512.run = "b05d66f1181eb9d7eb80636b69ea3af7a29ae7011f6888438cf80a7fa6fde44666f9fa7ee71620055f6882e73b6f5e211a2a65ca003d903cb26cc4f9571257d9";
+  sha512.doc = "cf9b774ef4e1336a123d48b3797d8122c5b9128324a9f6c0c1497194e8d3a3d9ee46a5a58470074c0dbc02f8c0aaeb1da3b4d5683ba9faf6e479a6790bc599cf";
+  sha512.source = "26b2a3e7fbdfe3523cad96880dc6b168cf633a115f6b8d794709514013a79eb2ab6d1545769b74236248b73c3b08d5b52e02fdac9cdb420e3a4f1ac5cad55d32";
   hasRunfiles = true;
   version = "1.0";
 };
 "flacards" = {
   stripPrefix = 0;
-  sha512.run = "32ca7a00841b66c5f2301ca7518f18e376968933310e4449f546db1958f37f91848fdef67973ef043c3fde04a06f019ad13b4d217ac366378f21ce274fb66694";
-  sha512.doc = "62714468ec7892548478c23269a66e7046956570f92858da9f7847ea28f520c0576088356c3ef66255309bc04f6e99dc4928496df5ecfe3952521f644ba272b1";
+  sha512.run = "45cf4fc3f4678a5242873f80ff1ab328e7675107d14052be90308d94d44a931ba8b2cf3eec67e7456a21168aba168fe848979a8d45ef07bfc62613ad9174488d";
+  sha512.doc = "087d2c5500b5ab51280bf3f57362f00723856b041f520d41849d21043859bebc106ff9af33dcbf044aabd838f68d1165f74645360247de2c3feb9a8493ecc441";
   hasRunfiles = true;
   version = "0.1.1b";
 };
 "flagderiv" = {
   stripPrefix = 0;
-  sha512.run = "c61c0fd9a2a88b06f4ce0939425d5de006bccce07f7c371a0682ad17c7f74dc61caa2d205b0448bcf8695f0fab1a22477dcd3a0eac2e8d7938ea11fb8038d238";
-  sha512.doc = "bf0644ea71d917999f2c3c157f60e0fc783433420a8bafffc56673e776d9108ce122080861cb33b5b93856284319e9542b6ea8bb528de42c4fd3749158e03974";
-  sha512.source = "e632279a2d29a1ebefa2b001b8a4c158ab9393c27abdc65ced00cafa5a596e760fd4b8d7e0f0e3de384ada391922d1fd1287cd852654c5ae2256c12039e05ae9";
+  sha512.run = "a7618ffc60c548fb98a581324901af09defd9226a655163d967e251b090b6ea74d91ec10bbe1e5d685a83d147818ecbf8b66d84c972cacaf3e270baf39293200";
+  sha512.doc = "8c9731aec45eb594b95e1c89a1967f169bf8394664977059af0fd77aa40ebf3769200925382694e221a32ced470161f505420539b5e3f7f00be4688e308ff54a";
+  sha512.source = "c81038f892b37dc2759251cc14d8bfe11d0aff056b95204cfe1a4434ef1bdc6fb3c035edca0e01282ca019193871dd6044a8b9b64f3b6051c24f041700f2b71e";
   hasRunfiles = true;
   version = "0.10";
 };
 "flashcards" = {
   stripPrefix = 0;
-  sha512.run = "5fa5ab1f1cd9081f86b0ff367b2456309160e124cedb6b21c1778081022f22f0ccd0db86b7719123930fddacd2fde4b99ed5a16f3f79a7d50e05b27ab748ac69";
-  sha512.doc = "cb981d5c7f128c8d213a0da2ebb05ff1e75fe9725bfa14782df9c29b8298f6c39bc580ef017bf4fc116f40c34a22a784e98d8342fe79c357749399e222cbb0ff";
-  sha512.source = "a5c55863d48500ea1212e6c5e17ae7a7eb65dc2a3455213a6170976767a87b8ed506b0b6dd595e52cee677c0c74503b25dae7e44325d20d9806dbd01de013158";
+  sha512.run = "ea1d530296c2b3e11645bbf09b4776394cf1725db5f30f23297818fa68b5a8d1d860d5873755d1be010c8d7a3d01567d878f3a12490fced35f6f825034f1c9f6";
+  sha512.doc = "f42cef1b5a093861818d03f2df9cc5029546a1bb9b01a4349b815fa26d7320bbb9d596adceadd0583dfee7bf7bf8a011c8296ec06058717a61ddce10baf19e53";
+  sha512.source = "c9d90cbb0c0fa854a6d187ffafb20cefad24549083c166a5088dfa05c3240869996bd16097ddf74adcdd658ab953d39021c896eda94dd7ad426e5bd972d78c73";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "flashmovie" = {
   stripPrefix = 0;
-  sha512.run = "2bc088e1b614ebfe8268c59673d8340d908cc399743e827bde651e5ab8e070c3266f8b1480594bad3e61d86fcdbafc27d0b63f3aa6380bcd12ed591627cddc07";
-  sha512.doc = "dfcdb1bb2c1d78e12e1df4b14e968c0c70e3da8e5cf62d65007521af10f000c9cb369504dfc7300bcbaba41c78fea2f9e3326167ef455d29f361e818a04861d3";
+  sha512.run = "99ae914e1fa627f462be84f7bed923c638bf493ca183f010bdeb5d607ab00abaff7a1fe3d0f8613e6fb9df7cd5047b99e99a5da18470df25e7507259a441e188";
+  sha512.doc = "016331e7328732f5549487f8b2edbeabc9548eb81201584d3d3f7e0ff41a9a962761a8af867dbee8951bf4e99ea4eeecec7e9230868c23abc95260f288ca7958";
   hasRunfiles = true;
   version = "0.4";
 };
 "flipbook" = {
   stripPrefix = 0;
-  sha512.run = "3e3326bac4aa8301552aa9618a98a68f2058f0c417e4e935d09a2677a462f35e5b646b47ab7a252779d8bb529c437f80d588953783b707383b46e635966b428e";
-  sha512.doc = "f909e90487084c7a37f08affea0e84a787446590952c75e73bcbc5540d546ef0a31f012297daed5a561de9c4c8a3290f40bb0ae3bb6b3a49aa26e3c1d872a438";
+  sha512.run = "8e3140fb417115ada958bf6dab1a22b39779926b47938bb49cf86499d64ae16d321e6e6bbc8482ee7e6a2d79d8341a227785ecf04c66a15f7e5c0ccaea016d21";
+  sha512.doc = "a5f6aa188e7a0aff29d4e693f0f8e52512838278e12d13c29706c7bd5c1c1c2a8d70beb619195d8572ca5a3920205380d586d02580bc747acb8e3259c79c3fb0";
   hasRunfiles = true;
   version = "0.2";
 };
 "flippdf" = {
   stripPrefix = 0;
-  sha512.run = "adc92607b204664391bac6f4158d5b6ac506e0f49a208f40a50420de7555825bcc0c0801b795467a44042c1a4275f035e799cc4d29d097b8be506bbf1865f95b";
-  sha512.doc = "1a863556a4a9fef2f953e672bd798ef3d0bd3fb6e910914a196c464182f94cb31e1ae29e92246e42a293d0bf96c0a117f8d77ae707a58cdae8297312121d095c";
-  sha512.source = "48039bb008cc4b54a1becb4b55e2828435bdc7ba2fe2f0dd015a831a1b03475869e0d083afb54f68f4e9a4b1990f35780b7e79931724c3eed10ab8ed43fd82a1";
+  sha512.run = "8f4de43f2d6310bcf3bfe350a071d43ff4ddf4d21acaebddf59e3fdc62ae562e32006707a6f7f5de1f631f9aeec12edd7cf75332b012e433478d171e149f2c96";
+  sha512.doc = "3b40280c0d142add31bf27dd57cf52ab2d5f4f43637cf1a1a20202b5615b58c52567e53ff2f9875d2d1e73116c227319909d77df1609ed5590b30d2c151f2c63";
+  sha512.source = "359f526185b8d3160cfe2c78c22d36e2df4ed245f574d3ed905b8e0dd95664f57f0efc128130a00d2945c666ffb094eb4333a26c13b56c9917bc0172e31041f0";
   hasRunfiles = true;
   version = "1.0";
 };
 "float" = {
   stripPrefix = 0;
-  sha512.run = "da8459357daeb5441146d60e2d5cc603cba1f62cd15e055af4fa912cb25476cc110f6b736f34a8752aac32b041e1d7c82a2813ea3ae313a6ed504fdb036cc8e8";
-  sha512.doc = "57d101767a58de9523efe89841481f8fef482b6f5a705768e59d417fc18675dc43c553e2b072729509c079f7a80294e6a0a62ba0e801e4b5ac4b6c13fb6f3c28";
-  sha512.source = "1635da7c63febf72f2f43730bbd5f6cf6aa045f4e82d031b9b2f0a0f4f3da9d154e8cc38551c78f9437b2b4f4e7fdebcc45cfc7fd0bd2dc3a5aba6383e09ff75";
+  sha512.run = "4a5270ca2945915464ba25b7996dfbd4771ca5f477e4bf248183bc340b7051c042d9566908acac881782af74a59154f4163bc7879a21e042e1c31d67237fc6a8";
+  sha512.doc = "6f713c71361c1536bb086e7638b770ffe58e97aa01bd59bbab779f71cb485b9c06322d7d89e7d87cc8f77a0c7f18f4174fd4ec47b62556faa32d82fead0b7377";
+  sha512.source = "9e577ba84dcac612e4105e597ca2385da3dafb39327189caf30e5728b85a380b5a90363b8bf9070a0464aca2130bcf9419d030bd6c39d51f9a17b0a7dd578d5f";
   hasRunfiles = true;
   version = "1.3d";
 };
 "floatflt" = {
   stripPrefix = 0;
-  sha512.run = "dec5ca9a6b58c0b44794b55dde27ae57ec0885577f24c3a903ebad8bc4bc7723ab19156924cbf4115e9fc2fb23560c1ec352f23f783991e8f60972cdd87252a7";
-  sha512.doc = "4ff43ca25ca20223cd6b39a3e8968669120bdcdc7ff220b07e3b33d460396417f54f5c3cedeafff5ed32604b2a5a4f4788cdaf2c27e65ddf570d51bed2579c0d";
-  sha512.source = "51c3434a4eb53573f75a36d20a7da770256997cfb6fc28313c903deaf28ed8a6efddbb695cc31b05910feda878893f6e6d8c11c5a476211dcca149ccf01321b2";
+  sha512.run = "1f7de96ac5e82cc4bbfab3fdb665a18d20413cceea097e1407dee2073109ee1b82d7d3ea82c80630d9aaf445f14a8497aee7e3824458dea8b40b270135052ef5";
+  sha512.doc = "7ca1c6ed832bb3d697685cad5575e02b531c0469095468fd40eb3131d89b68dfa0fcb9c882965aa7a9cc9c60292f64bdbf6264d3d990bd697dc27b23a46fae47";
+  sha512.source = "6d243fd8c9a2fb7bbc242ececd19d94916de97fd3583095e8342d8e7c56decdcaceac8038eee9a774950d9261979150035e8c9175175ad7346b0eb1fbea6c5bb";
   hasRunfiles = true;
   version = "1.31";
 };
 "floatrow" = {
   stripPrefix = 0;
-  sha512.run = "95c8c72cc22b7d6bc4d164c8a7d994a1b07a13eada7b9a0e98f5f75d8e3fe88188239300f3b86b8be48de3adf917b44b2f9b2a055113066bcd2aa062a1761c79";
-  sha512.doc = "0de9418d6361cb5742a306e68e48f16a5661b73245aca8f01529e1aeda1bbebe6e7e4fde489335f86d8a3d1dc48306bc7ea60ed69f3dae5e5c2e215f486e1602";
-  sha512.source = "318f7e0adba4a389037bd274c6fe6957d851931a8bf467664eed75c43bbb3b3b5ca33ea2c3acdfbc27a36e4b9bb68b4947c18c3015b6d6f88e505090f76cf5ea";
+  sha512.run = "c650b5c856bd625ad192901f3c056171f790c549748d5de5675f14cedca5cf32931ece537ce2280c0e4895895a8eff0cf140c3408dffc2b081ebc8c62d2ae1e3";
+  sha512.doc = "b721ebbf59ca3744f1834c130da1a859cd4a98e9f5f977f5d35eef77b420deee303c109439fa70f89757cb9f57114bc74c5d527cafacc1daf2125b975621b525";
+  sha512.source = "033c5c65c9676054e209c64dd065f86631c9765b1582e4042e72bfd247a49602dd97ba4dcd5afa1fe2f7e3d252e4b6ef2ff1a2b00eec3156937fc214d7cf0c3f";
   hasRunfiles = true;
   version = "0.3b";
 };
 "flowchart" = {
   stripPrefix = 0;
-  sha512.run = "e6ecbb4df7f449e8f24a8b4e795bde0f84b32d2ad86fa74f07a440c28013160c73ee8c5ea3176a77d392b6f1d682581a174cad1f3d38c49dc4828825604196fe";
-  sha512.doc = "e6b4304cb32bec33fef3db52f18b100004e21d2f88d6e9c20c34c49007282e631782303cea0c0136cedd98f854f96924a66950852a6b4269f08f2c1b561dd435";
-  sha512.source = "968d7a7d4524c6cc0eecf76d36be12972d71c6961cabb95ef4ce1d3c38c2f1a7dd39b24c13c42933f35f926953d7bd35691b6bce60c6de08b8cd881d90dc0c4b";
+  sha512.run = "9adc1f823378fcfaed58e99727b68389b97bc489ba38995e5e7451608cb712dd7fe02b2686f692328b73d1bc8011131017b8edcebcda5e886f3bb4a0f6aed65a";
+  sha512.doc = "0bbc3f1f56f5adbabca07096804412b33e93669e20af345e57bc9ad42133ab629b9546887599b472dacc8ee43b9c395f8c2e58a288c487e78920be1db5a110aa";
+  sha512.source = "5ea69b98cca431225564482ed0597be71fe45e9ed933f4417059f4cf16401ba82987f90617e57a5428a42d03c0877969579a2b976a2c48d439d0dab7af0a6179";
   hasRunfiles = true;
   version = "3.3";
 };
 "flowfram" = {
   stripPrefix = 0;
-  sha512.run = "4a69fe7bcdca106dd96ee9d2528a574ad58b59dcce5ed0d10f84d4d52f2967e1d5fdfb246d619f4cb6e52e860650135f70d612200c14ea3560a96656255e854e";
-  sha512.doc = "bcb6ad016425c3219fddacc3f130d9ff06cc0dd73354ea42ba848484a3863facd761d580c4b308b1b23b1c96e3889a6db5b961998bc33d5fb03cda9483072f44";
-  sha512.source = "f7f1b09ac3e6426b3dd36bf98fbae04ff7b0e37cda96e12b5453c77fa63329fc1042b0b1dfaa7753c297dd25b613e0c5a0a1e00ece8d6259b729192a2a25ea74";
+  sha512.run = "880869c22914392c4ade9dddeaffb20d6c6edb6da78d30705d9f6aa1b1352ba2734565fa8c2a6851e81f1107573753748d3f4d208bbbc4c0dc443c066e912719";
+  sha512.doc = "25924c121d2feedc7d815e4510b89f05000eef87efae8039c6566136b7fa92d6d4d9f25f2938363dcce8222d5c824d42894e4863b95e422b7949207a1e1daccf";
+  sha512.source = "993d60da76f1144524f9ece2c5c9ba0eb38526111a7cbaf6bb5c669eea790c1ab9519f4e7dc2bc955c611fadf5771f2d9b6582d753b4cf3b79038b2bdd29837a";
   hasRunfiles = true;
   version = "1.17";
 };
 "fltpoint" = {
   stripPrefix = 0;
-  sha512.run = "81791d6c757f029f7b08667c7eeaa1a00b1e5fc0555703685f317f3c02b069eff6c6d01a70574c671ca588cdcfa88f22119bfaacaed175d5ff2d496fdd7afc26";
-  sha512.doc = "68ad4d398b1e6eca1d57bfbf4aa61f05e2271356b4da00439b82a92a5fdbda7e9abf9af9c83397b97385746fe55a2b7dd6b2462cde8f2b0314a439bc485b2874";
-  sha512.source = "c8a0cf1593fc0d73730e954b40db37fcd604d6e0158ec32e2dec3be1d8ee46a60bb89a0a04cf3bf8fb30aa20c0ebbb80fb35df62dc8eef86c7e2508049d0c934";
+  sha512.run = "8991df799bab2ef9e9e7787123a61752260122ebda5491a22d8bd0aad88810bce93fd78e1fd6f79e58bd274684c2495225513d0f69591cc3e92a052ba51baa67";
+  sha512.doc = "3b175372a197bdb243776d068e797e8f318200e6fb9cffd1ff612cd771a4c53e9e26b36079c2b392caa77b1ab430bf3ad7a6dc235a91f25662904ee702a84508";
+  sha512.source = "da74554dbe3e21061ec4d0405a59f3705c821dacb359736d7c769536143b22ece17114ccba579ec4a0b941d37a6c60753dc8daaa6593b2df17335070c098861f";
   hasRunfiles = true;
   version = "1.1b";
 };
 "fmp" = {
   stripPrefix = 0;
-  sha512.run = "d45ba07aafcdc84449fc9a3c5660c5a792250ef30b5f284e328806fb421ddff07a5b1e917b8361b86efb3d6af2cd2b7bf2fa9d26a4a18c30e5aae2bfa0656c86";
-  sha512.doc = "a59448581eddab4a0ed9804c07c63778740d25f885fb39e2fc3b6182d2ac6bc23c679657d84517449498d111c50373cbde4806cdd5361067247022dfd4b5a238";
-  sha512.source = "32a6d3a6692dd3a5c9473832402d4dd72fe9a6c9934bbbbe8fae6c12883a95931a65920f3c7e7f33ac0b67443a621387e296ce979c9724d960a0b54e54ceebd3";
+  sha512.run = "b87a361454199c16e1fbf97bd2b82f8b5569bbd71b7beaa780a6d88357e9262f77c9c3ce17d2ab0ad9b043ed7a1dd721e533c516e1b927f0439e13ced6598a30";
+  sha512.doc = "461ee793dc8156b0ecd6931b9d4c56f368ce4938838b042abae5d6475ca3739c4fe47517168dba742f03c98229376f59f8654a89f1d65ab394c0dd907ac48ba1";
+  sha512.source = "912cfb9e0d4669c5d128ace088190ab4c5f90e371b45f1e399346816d606ef3f96901775a51b5f89a8670abd1b08e159587c9eab4ee6383c12e260d26e070034";
   hasRunfiles = true;
 };
 "fmtcount" = {
   stripPrefix = 0;
-  sha512.run = "dacb809f12fd58d447cb481500ff5ca4628102346270dda652afb37b63eb544a74665ef5bded1ee541674b9e31007514df27ef6c364a2794d46ea8781c05913a";
-  sha512.doc = "1f01ed3b3456f2216d36ebba206aa9cd7928b1c587e9a93e41491896a1e82676796d297b798d91c62d5acc34c8671cc67dac51cd5184013d1a123c2c9817a18c";
-  sha512.source = "02e1ae68f4bfe81b070e288ae94cb664ff22b2a714a0d92c1a990cf7c548494de7526d4473a5c28929528f5845d8551a731180d0bae121d998e78f6c77583c37";
+  sha512.run = "847b8337131417ef6ae30469b6a8780539511e08eb3d2723df0a444d48a427b18a723e2c6da8d88ee65c04a47d2d8796ae95afea61302d77efab3e3e584ca8c7";
+  sha512.doc = "6fc1958d288d657929d503301e6dc0c68c475ce03f270767fccdc6d2c95a58809704bccee3122763992a24817fb5072844c3a50fef99dd541c0dceaf12a13fc7";
+  sha512.source = "f7cee2dec2189c65500c58d349b6273014c6273ca703f809cc7e5843136d70ada0f4baec6ff139543fdc9d5648f86c81fd4db63102df4240266c52cf19ab3c65";
   hasRunfiles = true;
   version = "3.05";
 };
 "fn2end" = {
   stripPrefix = 0;
-  sha512.run = "6da10d643daab4b65827532fe94c83715ffff3fbd4822ffa908835f9aa66c1f2d55eb46c18a801a64c6e0df9ba0c6e3ce5b4e6d27afea4745626b0d75d46332a";
-  sha512.doc = "681424556d76ffdf5f188215aa8a4425c8f8344aefdc36085ca014839e5a0e5352c0c83e63ce8d1be5c6f5c7d2016d92fb73d7d0ee71284a4a89197f01fb59b0";
+  sha512.run = "6be5c07123cf2470ca88b7c28c068c6dd308824138fd2f645a1a7c04c69fe84953468733ca2994faa42389b5889990941c8e09dc543b66a1589f3cf22df1e017";
+  sha512.doc = "17f0a1d12afd607a26687b675ccc65a150e4ae67785389fe9582a3b05ee383f078bde35f296941ea069323757e1fccd1ae0e76e5e24f3446b4154738c1a45385";
   hasRunfiles = true;
   version = "1.1";
 };
 "fnbreak" = {
   stripPrefix = 0;
-  sha512.run = "e1a4c4a9b6a8b710a9e2db85b4352e190a53f75894256ffdf50013faad7d2f49bf74ca48b4b39b07cd22882c1db43eaf8d554ee24bea8cd0c0750a1b5f1553ef";
-  sha512.doc = "2343d948dbdf45117971a46b99014dfbbaea68605872a332c74ac40eee6479a4f861aa0a67533e9227fe3c69c6469272a5a37914e6ac1b333fe7f911650458ef";
-  sha512.source = "0fba7999b40f12bdbe657c8e0190945f4880092ab63ebd80a5ab175dabe580c8d2ef0f5c4bcd2a4243bba0c7f6c4cff03346cbc5893288c9f8328d4eb6f5b752";
+  sha512.run = "794e427d66efeb15920062e86b4a405e36604703f350c4e20f2c237b358eaf08aa22cc923c7995a7db22c117b48555fb92b136edbc94100af8e2046d49eb1fc4";
+  sha512.doc = "0e8778265258304ec1cae1f2d21902ffd6f99af18527b86af064209da7f4c84e8ca6bdcb359000e3f0e9aa75819db1b375f8ae9f0a825291ee03398b6bf345bb";
+  sha512.source = "05b2586aacca96367889e328115780eaf25ae6af3179c71701c35fad2d98aab79730d23a67e165248793c58a9988442bb54bb653697fb81f1832bce847ec8b3c";
   hasRunfiles = true;
   version = "1.30";
 };
 "fncychap" = {
   stripPrefix = 0;
-  sha512.run = "2a503c8bb1251a42688cd2e8a563f61f3e78e687b9676af5d4607c3ff88bd2bcafab908bdbf457c64825e56ac11264d445c77408f5ce6671a799c3e972391b08";
-  sha512.doc = "5720e40c286f54a2f1ae29347086438d659cbb7f00749fa76f6754986075637ac35818430eabceb59971bd59cc22c9a9becb6bfb23ae879ef622616f0c6b87fe";
+  sha512.run = "83d74f4bcd8fa90cdf5d0b6e03e9e8e36ab09884998f9955647928ed0a33924735d236a82cc730412edbf54485ec8c357ba3954a264965f67752e397908ba295";
+  sha512.doc = "6a8c6910f0790457c71cd55c8d30d07df81c97f80a8b6b7930c067966c76c47848142cdcb7454c4b63a154c5c653933bf71acbd792c06eafdc496c92e4bc5806";
   hasRunfiles = true;
   version = "1.34";
 };
 "fncylab" = {
   stripPrefix = 0;
-  sha512.run = "b0e3ce2bf0e8e83e31bca923c8d9646ed5fc1cb68414b99fbcb6c5773057f813eabfe762c6c3af6000589ae5eadac6ccac653b7727d7e15c28b98ef1450fc591";
-  sha512.doc = "f41fcf6fcfadaa4baf0b94663bd41830f6f2e03ff412cd530a024f5627e828e9fe907e32a30424b9d55a9b54a254453a00bcbfb3ca5c8d314b7c2e2457c9d9c5";
+  sha512.run = "47aafab923d6455da7e63eb24e0fefa8b869efa5a04bb301000cb2eb658893927dd9f9aeb8e6919ea29e0caeca235b1883106228f6acddc667117a3ba1136974";
+  sha512.doc = "a987a6efd0964bd5ab5328658e011b5c8da56b404d233c55d96541ec2f37cc72faacd934908c7346041ec8bab3866dd1f171e1c5de5eb528b0f0e80969c0bba6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "fnpara" = {
   stripPrefix = 0;
-  sha512.run = "3885412fc08219ac39c18c0ff47d79dfde68658b0ae26e381bc81b66e1ee91c158ecd9ab37b0dcda45e539d9a764c93c60d711c4f0e4f376855e80c056ee019a";
-  sha512.doc = "272421ebd2be07bbf0721db8340fe9befa3da38677705a5a7f183a481c88868b531d9273cf5b955322c629c45ac7adc0af71ec2935c345487b950f733c8578de";
+  sha512.run = "620aafcef4ec7fdaf5cd732551fddbfce53222cb7540dd370f2cda425e1782c907e59868953f50acfff993a8fd8a84d108da7992f1c1565cbfa889a5ca0ef5d0";
+  sha512.doc = "798c7fb03a8fb20695ed63ba1333686d21832a936a74a93ca77c7614346316234b2255b8e0340dd87fd57bc1480f23df24381107fc81c68cd4c0cd594ddf5329";
   hasRunfiles = true;
 };
 "fnpct" = {
   stripPrefix = 0;
-  sha512.run = "216bcb8d6b6a114a54762a2bab1eb324e77ff0db5def114d3b0ed1e186b47da3929623aa02deb0d4be35a7727d106db279afb6940b5fa98a775a635e15285e8a";
-  sha512.doc = "85ccad57dd88ea98d50664d79b9eb535ede18c724205a42dbd3a8a26493f5b9682d6b7f0e35f094af30da383a499c71c7dc079de289920c702c297384248fc7e";
+  sha512.run = "ab53cf7a616b6de5c5914efce55698dc02687892ae7065cf480eb2be1320592236f4150d520d606cac815b7a9c25c025d47bb981e28ff82ee0b16e7e39daac36";
+  sha512.doc = "ef357a4e65cc4e5ebc1a73a744e3eaf054d9d940573f456171209d5d333a7ae63f572e37cc4e78dbd3a5c0495d450802e8d9e18b6dabd7e973595ff7fbfe726f";
   hasRunfiles = true;
-  version = "0.4f";
+  version = "0.5";
 };
 "fnspe" = {
   stripPrefix = 0;
-  sha512.run = "aafc72460c896dea613f42f54910ff4d6ff7887c088e7c188a824425dd0d0f43c4ea10b09ba51b218f2c7d37fa4ca4bdc52af255b67ec99ae8e94dc9bf19ff8c";
-  sha512.doc = "21555504df662523ed1957487e8451a0804d60f0d4d64c9c184e2447e2ec4f3e9fb9c527fbd516f8c389cb5dd2802c75d04a749a04d6a07055282aa20cbfcd78";
+  sha512.run = "5e9af6b3b3136f49e49524c7fc85074fd75fff30826fcbb8dad358102e3eee6fa44037b7dde99b6556a063dbe4e819b27ef5a522999eb304f70c2785642478b3";
+  sha512.doc = "733a099cac2d96ddf6593b9e0195b85c8d5e86f6a1b283f011a55acc4a1bb7391bfd4356c6aaa40d9b2c70a7c180886d64162eaa396a5a457fbea491af1b47c1";
   hasRunfiles = true;
   version = "1.2a";
 };
 "fntproof" = {
   stripPrefix = 0;
-  sha512.run = "77851e7bb017aab274e1a13af6899d0417a5d58f777c063978469799086516a2f40ad6dcf3f88b3a564c8e5b383fa02c33de725099146d49476ab60b5c93d6b4";
-  sha512.doc = "7712920134c1820e117c657a99b35b6212bc48c4f78b6408e4dda4067b7ed654f91dfb326a7219b2aa702663d92420ac4660cd1df4344e5fed3f8335f1dd94c2";
+  sha512.run = "c1cdc018808a2b9fb5b91c54b55eddf3d517b8dc6062db1ffda3db154efe6f3abb91e61ce90a68743ce411ec614785974b4362f20f03ae398488ac1f816b3ba6";
+  sha512.doc = "cf9e8909ed030b27a57573cc257682da84b7f14c3c3775e17fdc8a2203fe99dda8797ae7b2599dc92e9684140102f6d1ca2147bbb437edcf8eb41ffd28b9a576";
   hasRunfiles = true;
 };
 "fnumprint" = {
   stripPrefix = 0;
-  sha512.run = "7705cabc07005c894dc8dd24abe62165675fb3468c9ef09d3909aa0bc74075c431e2bd410b884efba446fb86c65695759e57a00ad4bf99f9ef4805f90a000fab";
-  sha512.doc = "ea10c9160429e3587083f1b386953e2fc25a7049a81f49e3b9d45e0075fb1b1be045e34f0ef5a7c11159e8fcba15be329ffc0e1bb24ba7a78d1a575e697d3edb";
-  sha512.source = "610a346894dcf4d7f792278f1a6840a3e8b8773936a8aaaed60e9ddf466d3493bba3311b1e3ec153c25433762f2a3338485786af16a2eb648a7838f00e6f4842";
+  sha512.run = "7f43363ff861fd4f887df68dd6daae6c97940d4cdd60b19563a966dc7c08cb88356a150eab0cb5b91bd4c3d5d47e324dbbfd43cf45872a5738c5f9b70766e047";
+  sha512.doc = "44d6fdf74bf6c231a57b3fad63efa7eb1bdf5b4342cdb38e0d504c4c09190130d37534769e17c3f60bbad668d50aab064bc5c0a1ad99808a6d084dd1921769a9";
+  sha512.source = "3f6465877aa1dbf5ab021e8397725ec83217bd774ee0623e71cf15d746d7d0edeb2f78ce76dfd607568be75b67f4cfa8d3e1ddd29c0ada6d376f7b4fdfad86a9";
   hasRunfiles = true;
   version = "1.1a";
 };
 "foekfont" = {
   stripPrefix = 0;
-  sha512.run = "17763dea28933e618c6a14615bb8119bbac9d3ae145b1e004f174b15df35b7b37143629ee9e55b79dcf48b16b234f215ffacee313308e8bdd11ac1706eb85428";
-  sha512.doc = "adfcc71b92921b2e1fa17b16f96feec2594f4a97b240a1d04c261fd1df4468fbdf64cfcda795a9dfedc74ef4f8a70470ce31afe6fef3dd23926cbc2de71cd300";
+  sha512.run = "45342633aec41f2a5fe7213dc418960d76ff196a08b906965e3b68f2c5ed264b3192ea45756133f12662e451fcad11d08232995c0de2493495c40b9b59cef7ea";
+  sha512.doc = "7e1aa7a240d825c014be6af7be5cd7c1bbcbc6e52bd55be36f987b4a25223179bcc4c4d342906c10f9df624536252fe4dc5a45cd3b5ddb63f91e9f4c7401a239";
   hasRunfiles = true;
 };
 "foilhtml" = {
   stripPrefix = 0;
-  sha512.run = "cd367bc008e5773e026af6b930c7b3764e715bd251536673ab60179fd1342f3ba4f31f1da755c987813331423a73c9d31baf136f3522093a3d2936cca753ff39";
-  sha512.doc = "5015263b6047e5ab6e0863acb4087175962b24d8b5ca4681e6ebfd70585297a67acdec0bfe30a1cfce01ee26b0ba9d9e235f94b2b61cf3dd1ef462652ffcc904";
-  sha512.source = "9a0ca2ffe18c68fd5b1652a94c70b0cd2a771b08b27f1899cedf23ad49af831a2b95924cebb2c4659eb30a17543c995d6239f814900b33c6bf392a5eb2a7cdc3";
+  sha512.run = "80b177c1eb224dbbd086d3b8a0b10b3f0b3434e977c8d71b34a58f76a5a73757148b4e7438a275f1be186df51e36342de132940ebdde9608e7c741664ea200d7";
+  sha512.doc = "a24c9f048f7e1cf187d40f6eb3370cf68f6de80e24f2f72b077d782be5dcd369cf3a7ce9bc7d0a269c285d04cbb543481cf439710037a26a7597164492b277fb";
+  sha512.source = "a6fc97ea007ddddaef17cfb4bf86d75ee34a5525ee48b58b111188cf6a2e6269052c4f90d87ff3aa6157d1523fcca3f8f99471fef108cc8c1e69dffa7c6656ca";
   hasRunfiles = true;
   version = "1.2";
 };
 "fonetika" = {
   stripPrefix = 0;
-  sha512.run = "be59af8255547f310a7b07443477fea4c3eb9eb19c9e8873ec29d8ddb3e3af7ad092147f3de4735c8a8debd4b4a34d789a99765addbd5e4307a90a3143133d81";
-  sha512.doc = "4db3227332c484a0d1ec75bd27e9e7ccef82721bb1ee7e50e87d76f74759ed0da8465fa44f0ec597f21afa9048bd8df609cb1005228e9169b9157c17ab1e2ba8";
+  sha512.run = "4db9e50fde60ac69373f5abd151f3e17275f5c492b6855a7f5dd8895650a79cda1feda43398fffebbecdd6f7e032f8935972ef573f79ae1cccc5844dc148352b";
+  sha512.doc = "ac3f0de2a9a5b5052d4ae626b4368f8b1fef419503cab9a88d4bf89db348c1a756555a6cef7aa70bcf733fa032840fe9ae7cfe347fb40bae32b54506e60ccf37";
   hasRunfiles = true;
 };
 "font-change" = {
   stripPrefix = 0;
-  sha512.run = "7965348e1f923ab1b261a81224dde1bfd1b0b3e62b1f028a634d1f39fce8fd32cb1044359554d949a750bfb41975ce782edba9822203c1127c2f9d01bce28f61";
-  sha512.doc = "dbad8aaf2ddf8ed5afb4b4eaea651f5302e558c3a5a78cfebba994f34dec54090497164e3c3231593c6970bb7f8cfdcde5c01eb9a6634388b5bb314978cbb8b3";
+  sha512.run = "8ec91864d719d20ff66195ec1bab456d772417ff2d4d9ae75ecccafe0da616d1dfdf5b965be489a65eb28130b3672a5b55c33f3254f59c00cf204dcae6fd4eb7";
+  sha512.doc = "75f7e45fb5313d0bc1c333253aba2bcd1d650fb6c0baffce6e5c558b0e7aeaf2e697ea9412860b4049d2685cdee26d19f12d9a28184084ab9df66101b78b0361";
   hasRunfiles = true;
   version = "2015.2";
 };
 "font-change-xetex" = {
   stripPrefix = 0;
-  sha512.run = "79e6a0837adab9c5fd493477cd87d183dd13d8a82066df58400d5d0dccb1b05afb16bcbfb8f8d5f52203615c1a6fc7d2ab7050b351c50b888f2951e38e5dc3c3";
-  sha512.doc = "0a6dd281eb5be193a7452eea7ed36b95548da35b321f48bed367917249a6f7c54cb0a4b677865d86c139059525031d1e37362a0d5fd31544221976bb18f5174b";
+  sha512.run = "17de7c596a774c5c2e115704c2c57385f3fa90bf2dd49362547873453c27700537ab7f1e8a143c2ed49c90efe6aec234d3cf61643228bcba5b51c5ddcbb8bba9";
+  sha512.doc = "138375750a4d493774cbd558c6aa910d04bf3f32337f773438d6bb31e16df3d96af3a6ea12d4940c785c04f98130977750058f7c0ef2425e0d8147b4ab882a64";
   hasRunfiles = true;
   version = "2016.1";
 };
 "fontawesome" = {
   stripPrefix = 0;
-  sha512.run = "27d033f45e343309154b80e21915ba043b2956571ce83fbf6aac43d9cb918da264dc12313c7ab5a5e7b6faa00f21f1a4fb999ddc6ea8753077b6416e97a75e1e";
-  sha512.doc = "56368a42566bfc5dd0e5498fd8130d5c98c635f366eb254c5dc976011d9ca5eaa3dcc243974ef44cbf7579c6160144c6629a9a14fdbb69ab90f6137a577b2236";
+  sha512.run = "e08643104006c9e14c40bb965b4401a8fe296f43e5f39b285cd19d5aa0ed33602cc0eb6ffcc996e1d6e5aaa57dd906903324626ee40facdcb3cedc5216a3deb6";
+  sha512.doc = "bbd18a60db734922ea006ebd00b0c9f90c34907a7b519a08bf007daf01cceaaf6db3b31c3dd8c76e1dac199d4f7c312116f6935b764afb62248b7dcfd92ac78c";
   hasRunfiles = true;
   version = "4.6.3.2";
 };
 "fontawesome5" = {
   stripPrefix = 0;
-  sha512.run = "2e8a9008c190cf7a9fdcf885d604036e6c700323dee65e43a6a23ee2cc7e9c3700a1d530a46c582df4085a829de98821b17d77240636652dc95cf682b558d80c";
-  sha512.doc = "ced2dcff98e84eb1d2569c36e3d460b9c1bff8d84dcd380cf1220e5a4fdd1f041c9c2c57ec3f9deee205e785e63c7c64b8e518cf358129d1005157f4481c940f";
+  sha512.run = "31f9a5ecf1db94e562764f0e645aa4b7848ea7f940957177ba457cee4fbfb0b829af778fd5ea039d3269591c1f67288193bb17124a0059c286c33e45fda4bec2";
+  sha512.doc = "1901cc7843051cb0bc4b209c57903f380c6d9eb75b09991fd05792f9232b51fde09edb35cd0ed82dbfcd39a8712ac35fb4808eceabd43488579d9b5a5c9817e0";
   hasRunfiles = true;
-  version = "5.7.0";
+  version = "5.9.0";
 };
 "fontaxes" = {
   stripPrefix = 0;
-  sha512.run = "2697223d9944c785b21a918ec57a0525deb7004180d7ad16b89b74c11ffaa28691d373b5dfa8233ec2a721020fba36d1f21bb0da5f9bb7ca047e836034ee57de";
-  sha512.doc = "76cd77a0ad214167ef4708fa7ecbaab22f0a1f5121f7155cb6fbe097ae0167cd3a98e77e8f60577316316b06c19a933c0715f1bd83a14ce39fbedec7f4fb3617";
-  sha512.source = "c9ed42efb259fb6ae80e60fbe4bb9197ae22f78aaa350fca353b9c273a94ccf95a9c0518cfd2d48b574727dd9072645bb4ca4a2624022ca9c554e76a46d3e374";
+  sha512.run = "69aba944977a676c557d2015aac1058091b96b52a50da52cc733187b96ca02b7a8dedcbfc848198442a5f62c824ee9e977696677f9aae267579f09d2e1637f73";
+  sha512.doc = "f7e0986d9f811b6436ecfc42c943bc2b21b83cb94d8bdbd5daea3ab66fec5bff2033f56ad9509e9e9591b78e68dae1ea76e810bff51469583aba9c8b691898e0";
+  sha512.source = "6c966d9c88e62d772b0a011acd77a81e73ea92130de23d0f676bdbdff1c65bb73f54e3abb03c744e6eb7a48c22f3bf0284c1a8ca1ab0538686586e737526156c";
   hasRunfiles = true;
   version = "1.0d";
 };
 "fontbook" = {
   stripPrefix = 0;
-  sha512.run = "0991fa4c65e929cb6818815a780ab9fbbd93110e051fb7d2afe167c12322eca53a1f86160ea29a4bb7fcef789dae20784a562ad192e9b9e7af4502596c58c3da";
-  sha512.doc = "f0b17a0ade838bae8de9d4a135a9fd715b98cfef8a94400d472b0d6fb16632c305afe325e7b374c6ea3dc6389418d8c3e7fc93130228cf97b6967727f1aefc88";
-  sha512.source = "fbc85bc5fa510a1ad822ebcacc558f31b2afe36663db4c9af0b0c3dae20a4f46c339b2b5a19a6eeed9305fb608acd0f62bc3b2125b1f4ffe6a96fb260137b5bc";
+  sha512.run = "55ee9dc22aefcf91c7fe30f516bfbaea5d0b8c5423cec204bfb208ebfb4b2331ebdd65032eb6f2a9f8958f15fd47433a9c7884f49ff1f3900f1538f9f25d4fe4";
+  sha512.doc = "65eb7d3f6426d3dcb13ac9a0d5b396eb4c03586d9d2b3d842af9ae4ad98119e8721034de499eae485c5803873946f04af992ddd860d09a7131021027c14b5d4b";
+  sha512.source = "8ecb0b7b4e5f00806a377acfa0198ef217faf0573930be1272d13d743d1e84db76f067afa7e7a665c4540536c1d888bdb702ea9c203a2a405389079aa49f71f7";
   hasRunfiles = true;
   version = "0.2";
 };
 "fontch" = {
   stripPrefix = 0;
-  sha512.run = "eda729617b6796e46348e597c7d13bc8642bff6e41c5cb2ba83e81b6b4ca872543ebb301ac24033347dc4e109b91aaa93075f4e463ea643abfcbd7a0edd31e02";
-  sha512.doc = "c793170d89cb8674032baf4c39e2425b9b0e4c6611fde66995911178af447ba123038917328277f1e578a21ee9c18afb779b99a54adae68cc8a12366fbd2eba5";
+  sha512.run = "c8354fbcb6a13f2f874dd3df71f23ee1fcefdaaa1eab5166f35001811b9788ea2b53e5d5653437071d02978dc94b0a658bca5e2cfe825a0315d3389446b6c138";
+  sha512.doc = "a7c5f6622414d943a20745f7b02c3859d43d4f4ec0f9ffd3b2baec34e142c01474d8827c7b0fe5d1bebfa25d33224b26cd876e3457b7179097fd9539cb9d9444";
   hasRunfiles = true;
   version = "2.2";
 };
 "fontinst" = {
-  sha512.run = "9768a036ab6b4ef3ff5dd2a64feec41820b18e3997f0a98917ef2596d5966a03ddb6f8bbcf1dd8ba4ca3ce2087aaf2cd563c7e074ae153a2e76b0cd7847edb74";
-  sha512.doc = "e462da9b786aee455a1da52b208df4639cb1b8e44dd19efce5d9e4e51f85923d9ebcd601a12f615226b4f17484893591e66727785ca2e43fdfc8fb1dc63e0356";
-  sha512.source = "3976a1e79dcd6bca9ff5d8e2c3dbe2afed04ca6bfe03b717dce9f339f26ed6064f2c90562379028455e24108230a80a5534fc0cbeabe05f3b5e68fe4655f5364";
+  sha512.run = "af57d72185dbfb0e169231b2dc0d7117722a5c1b4db7a9b2054d4848d1e5288e5dd5b6f0f0153f2e9dc87a13915fa77cf9286fce6d5afed7b541eb9e48024d98";
+  sha512.doc = "e7774b46ac38bc2dd86ec8091ce4df364cf377b3864fac5d67ec0299e789ec10a171f8239c98f12775c750d023f69104a25b03f7bbc7dba15a2d1a7da3e70929";
+  sha512.source = "2f6deccf77ca8325a105ac187da3f4d6cd038ce7bbf174c57724b73836d662d3514355ff7d51ff51ec4ffae2f55871510817834cdd8c0431061e310ef20c3093";
   hasRunfiles = true;
   version = "1.933";
 };
 "fontmfizz" = {
   stripPrefix = 0;
-  sha512.run = "686dea794df028564d9792c97d224e0bb51df82aaeedf551ab930d18e67dc7e4554b1a334a34a7676a849818455ec63c7f8deaefa6d31179c439331d37bce44d";
-  sha512.doc = "d4616154d4b221618a325114829217cec63304073639e0e2e2cee6093ef5a9ad32cffe65dce84480b8d90ed4c044dc7bf38fb8fded3dda3b671b09e76767a87e";
+  sha512.run = "43febb41a8bd7b0a89a2b60b52f9b83e0d0fa8303c0a7986658a95c93307ba6642fe07f8ac935ccb50b3047bc74100cc7268fde438d3ff80c944ac59afa6e3df";
+  sha512.doc = "6dc0f6c10d44a17d42d8ed4148f39bf89c84dd5a3a672755340456b0ab983b1b52cbd3bb62cd6f5ef4c3f6dfed8a39568d5ca35598c4b016483fcf7d3cdeb360";
   hasRunfiles = true;
 };
 "fontname" = {
   stripPrefix = 0;
-  sha512.run = "983dc78451ec8a254caa984d5fa12611c399ad6a5d5574babdd44896484616c4c8305d4e516f161989969117603e77550ceb520d9577b0ca0a9f66378a5db5c2";
-  sha512.doc = "c3cf408c747132cc5cd48ae33b43ea236b02cb31433b69f6562e828c9be3d791967ae68b7d857d75c511950d365b64061ef8632ff895cebdb046c2e112af4095";
+  sha512.run = "42412120cf59a9a3fe284c2d0dfdb0bdc4f8856ef1a2d814644290c772b00ad37f296fb66e83ed306a110602b314f6e7abd482180a0119bdd1dfbaa2233c77d5";
+  sha512.doc = "b6affbe821e1f127a5dd9962a7d89373108f57391648a15311de802ff555205ae864074d296690ac594377d00af5e4d375989b663c79e01408936c0bf934ea5e";
   hasRunfiles = true;
 };
 "fontools" = {
-  sha512.run = "8eedde1531eb4dfd2d0012a7317c26957d57b6d57cccefae52b0e0abd0e8af70eecb0f1aea52885460326b03755da779e8b0253db264dcaa3626632d73abaf44";
-  sha512.doc = "23a9b7db94ab948275f35f4694ac7eafff56943f7d19655f75bcacee48137ebf1d6635e1030d7de46f29e3c4f4f09065dec96a27ed535172b749dffafd2d94c0";
+  sha512.run = "3d9635c6081f59b702107628f45df3253544ab4325cda5a53fa95a551c4acc8e067bae8fc863b05d087ab2f7191ecd35b32c7f95fb8a5c0e8c9a1df9eef42271";
+  sha512.doc = "eb5d0b04751127225964b28230d91e4c8dd9c630c93addc0f2bc19b4e657c874b11c93901c126ebfe83778f5d71f26fed9b7a4c823ef4019660dd0da2085134e";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
   stripPrefix = 0;
-  sha512.run = "d5fa8427ae6eca83d43bb305a3b9b01cbefe791d0c76e46bd5ca57b6ac56a9f2229c60649868a9863e6b445677589542e5591be9da178a85d7a7617e68a01fa6";
-  sha512.doc = "3262591dc394bf46471bd9f4be75025bf663d0d6a3960e9d4b85332e6ec903696e4bf4e2061a1b49c5fd23c333ebda7a014b18aabffae56399f8dd3d78f456df";
+  sha512.run = "ab57be2bda808cce456fe2fe75d0c9f7560d1ed376631c907723d156360f8f20f734d4a2379273c8b8378a6cc124376574c162e3f95c4588c688dce34fb49029";
+  sha512.doc = "596ae1cb37b35ab59bc712653ec873250cded1968b3e4874295692812ad4001c6f352c396ef6d224571da630d730cbe41f98bc5a3a5374a2f9532f9424f7a0b9";
   hasRunfiles = true;
   version = "1.1";
 };
 "fonts-tlwg" = {
   stripPrefix = 0;
-  sha512.run = "2cbe177b590d3502592755983f19e8026aa2098a2a552ac121cffbf122d5858e6d69056f5f0eebe4946618ed348fbd4b924002974eb341e19b423d100e69f06f";
-  sha512.doc = "510373495809da6f44f0eeca2c9395df96158a53daccc4118b446bf1dbfca5ee8eec482a625f6fa675445d1b40f0cdc5142b7396c977f18dad87b8cda3078fd9";
-  sha512.source = "222edf46a2be1461d156ecb5af49212ffef092274c6bc803ea9d54c520a576d6a053026b1b27294398fb37173854dbd88031c8b553d0bf2007e5ccbc84472511";
+  sha512.run = "4d614651cab9a02809065b169f56685a7643a28d616f7b221dd6750c19bee5b4357ea003e4a0956fda585d73054288a2c7f60a8f1fa86650e2f175b08eaca35d";
+  sha512.doc = "a0245c7b68836a8c80830fae693016fafd3b218340bcdcf2926ba88dc845759ddd7d02c7b50b025b6411667ce35f562ee6dd7cd9f2d7e8e7f0d6570184242987";
+  sha512.source = "3fe3ffd8a171c886764bcc435e9e8b38ddcd888b993d4864591a2e0a05ed27efa9cf9a8aa5ff8ab900856285a3cba5fda7adf8d7a600476adc4c546b408df5cb";
   hasRunfiles = true;
   version = "0.7.1";
 };
@@ -12745,1902 +13032,1948 @@ tl: { # no indentation
   deps."xunicode" = tl."xunicode";
   deps."lm" = tl."lm";
   deps."euenc" = tl."euenc";
-  sha512.run = "6cb0a68574cf513e763bb753bea148de94339d4787f4f4b34a2e3919126dd62f83ea375452ab16cb1fad90514a5651cb4b3f4cd95f45c2ab325f14122959221f";
-  sha512.doc = "9cd1f77d19fa30eefcf6dde4e77e12282f5419cf70282474e5833fe6fb56fa37b8bf8809dffc382bf41a26d0ff049600bb063d4eef7fe4e5b2bf195e9c54f709";
-  sha512.source = "2152aa63f17403a737e355afd47af894a703eb98c5087908627a3807e19b81cfe1f90b878c8ed118f8f13ac439b057ba295b90954ef44f319b87e980095a5c9d";
+  sha512.run = "12ca8f1195131cc60a4cb61f35a4eb3cfba88cbbcbf3a4c8b57f24ccd27d16ec0fc2975e0b2f456ef753dd983b25bacd865e3d974adfc4d5532b766a83c7a75e";
+  sha512.doc = "cc8357c53c3771de506369b92a4db08b9964ac8071f84839a9f4ad02d703d2bef3e56053a0b389d7c4e3e686038a33f587eb75f8a898faeab845f4ce92bd3166";
+  sha512.source = "7b36496857143742acca3df007f68d4b1bf197c938804ca3421609f2cde4467097a5cb810f983370f522805724764c81167652c2796607a0b5e90b4d5f628a17";
   hasRunfiles = true;
-  version = "2.7b";
+  version = "2.7c";
 };
 "fonttable" = {
   stripPrefix = 0;
-  sha512.run = "9c90178161175f7fc6cb6ccc7d34fc8923a7716d48637219d4a1f8e9e2b64ee9308a536c48af2b386de2493f7530fada7e9f2f41360ac9a61fd7af04718a5b30";
-  sha512.doc = "7198f27f3eace8ed272896b8a98e48542b38d5eb006817b8a670eae7baca54eec4fff28bf197d292f9f5b2e1eb40ac58e317f1f190f4be0cf6b36ed1abd88886";
-  sha512.source = "dd1711a06d44dd76467f0a66e35398f15c078e824fc00715492c7d25e28fe4012c4a5db73ca13a6852b7e2191b7c73a53d0a3a6796616865c163924ab44b14f3";
+  sha512.run = "f8db43eedd7f9e43b0cfb8c37e2687321fe236daa4bee898141c305dd2e59fb40bf3e8b3cabde561c75fb65dd053de33e45b90a8ab9518b0b30aedf35f6af1f2";
+  sha512.doc = "1d2b27ac253df62568087abb8f9e0f0054e3bb98cb62e65784192b281722e69e8565fa569eef4d061684e8965e0b05a0cd6dcbf7e632af7f68f97e8d4747426e";
+  sha512.source = "56210bc42e0716196bed05a35ef9ff7ffb40a17a8cfe8cef4d31e2c8ea28bfb75ee035bb887ca62387460cb7f99eb4f2b408cea767ce824124116caa6ae7d15e";
   hasRunfiles = true;
   version = "1.6c";
 };
 "fontware" = {
-  sha512.run = "26efbe7dbb32c6ca2af0c7ad3692afb746a5623d7f4d9224cb6d9ad3aadc4e21e288c2dabe9d2b42e22e32885f7a9074704c2c8c119ce126982d48ef32ded778";
-  sha512.doc = "f9e8f57eaa61111df2d59a32f2bbed159eb88a2bfb4ea5353a6405584e944e279f6eea07d556c8f805440c5e99bc5dd2118e837f93a27ac5ad5e845f3aa4da12";
+  sha512.run = "6f6a58e0c804ff0aac48be7646bf1ef9eb13028e6b2d25d69b4764280d71ba57e5e48eded61b4855794efddcc7f1520b24a52f09ed541a975c205b11b23abc49";
+  sha512.doc = "9ab42743fef5a65eaaa0ab186bdef895f8e7e3d95688fecdac8f7b59e064fc20f2b31bf5ef1b9b6676f3bf901867b06c25792ad07b2a13192e7290b5fbef33dd";
 };
 "fontwrap" = {
   stripPrefix = 0;
-  sha512.run = "5188b2b39c1a34a53370dc49f4cf84e9081039a727b6f3b98c809fa08a9dcc3c05c19a077776b439a3dc68c56e3aa23981457dc68e8488e434211bdb4412f87c";
-  sha512.doc = "57ec44ba77be65fee3165750af4845b1b7f4f2e9972a0802760dbc7c7cbfb8210c4dda341b5ef8bc601dab8d21ac05e2ede7462712abe0d82452d0f6ed10eadd";
+  sha512.run = "5bad0487f5cfa4119d7baafccc6178925baea12f1cbed5912211c52f2c4ea01eb00f9dacd300c24b93f48e5f13197a86ba1e37c35ed69fb1031281fdeb08edf2";
+  sha512.doc = "857be54c81d9bfb14277c17638ec24c643c278d660b56e18a4701aea0ad28e496df0aec191b12d93bb29b7ab326b39ad9cc7ddc3615871d1b70fdf6e44ccdc6e";
   hasRunfiles = true;
 };
 "footbib" = {
   stripPrefix = 0;
-  sha512.run = "ff87c62784a403c3cd5fb90d8abbfbaaa79dad47ffaa44b09159a360b6d5f19ca2bc859334e42066951573ba77652b3e26797f0fb021136262e1bca5a457eedd";
-  sha512.doc = "61c56d8b0c579c584db873bfa6422f4a27c64a683b08f7cfb9569a1f2f19f9e5605e9fd9e4d7327144d0e5fed26aa0b2ffe94b07f39b1aac13699986f68b7c04";
-  sha512.source = "4f3c2d5d8b70358258669cf1eca69f33d64e5be63a6027ec431c9f58158eef059f9c08af732ea76edd999e24fbbc5c6f11c9926042135a1524643eb9f4a512d6";
+  sha512.run = "0cadef58331d5d51aeba1f69d0c9ceae99104f7c31ea79e0f5dee33c8612bc52cd0c8551abc6da1799705c879cc88535b46e4ef15232d3c4a0f7136e0fe46e05";
+  sha512.doc = "27d1f0e6bf0ef526f2b3c4852c53b78fc60fc10ec526796447940565ad75fab023406bd28548170f7382e822c3b0f43d96181233bc772ea58f8ac195f71cf495";
+  sha512.source = "120d5c14a1b12b15a39792d2cae0bfee5b1695af1c014708c65d61eba6f2fd52f17e2b61b576e192a2d2a9abfb3aa2e059fcd9ca17e48e8a3ee6e9cc2150f119";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "footmisc" = {
   stripPrefix = 0;
-  sha512.run = "1ef81bb84a2ea5bfe3bd21d4fd5c028b720696ffa8e1404398f78c7e50a39b1d21bf3b3e55c3ec216a638ad833bd018b86b66098f0e84f4dd52ad5955d02976c";
-  sha512.doc = "8dc1dbf98355831eb50737fa3fc8f5c4a9809ec0d7fcf6e601e5caf22e37aa3014c9815dd6c8f05aa69718766d9fd4b48f0e20bd00cde4027f0b004809daebfb";
-  sha512.source = "0eed09b8d7405b3ac6c3f53533e073dd010677e4fbb65dea72263c73898e3381078aa73bd8431f5df180278fda65cd0fc16492641486a0b63941d245b1fb4928";
+  sha512.run = "50d0d02b243936d2455ad2353c0da1b77aab9f8f822033a98062d979b686163b94798784dc6b8496dda3ef38eadbd04a21e153f0fa9a76b499c50159c169fb85";
+  sha512.doc = "3a732fe8a1ca364275a7b0849be097e307ba322ff611a650a4625cc47792410b974055c75165b62ec8d5d2a128b0d6a194d798248bcd6bae266c7638ffe67e01";
+  sha512.source = "3489b4c09a145ba19d25120a48368470d65c2407a8c5697946ae669fdd63f0dc7176ea171ccd2a815055a6fc16f02523f7b2ca084c60159c1768a8a3b2eccf11";
   hasRunfiles = true;
   version = "5.5b";
 };
 "footmisx" = {
   stripPrefix = 0;
-  sha512.run = "12a3cdb832a767a56cdcfed4db8c23e8ca9626be47a6d5bc7202666ebc287838bccea2d36fee6ce11e6e9097da2b784a718645ad69688fbe78b4305137fe6480";
-  sha512.doc = "71c3b46d9448f5a567fd33ca85330cdca4a233c24b18ad555f9ee6055ef7aa5cf3a114cb533fcc3620781ab27d29b30887d637d6a2e62c38c87c9fd13e170246";
-  sha512.source = "769908f23d1d9ea748a59b5b315819f09b417a24be45a06eaf60097731fbc2eeadb89e3a0f5084fcfae03d1542fac66469959843419927ff04b45165e6b24909";
+  sha512.run = "591f181c8103ebd7a86440b27992df9eaea91d5998caa0f52dbfa48b7afc4791ef8c1f5a95d85b7cafd56113726beb74268b7498ec489d7b3142dcdf7f07adba";
+  sha512.doc = "8c36c6eb169a804769ece280c2210949db96bbe57d6dacc1a0952fc1338d619334d3d8b46cbaa3dcac09e05a0c015f37146d8bed315238b5e918c373b2b42155";
+  sha512.source = "5b069985c3a55240d762ee67a1da66895c304b5ac82bc0ce80c9e5fe9e77906cc0810dcb11c39b3ab63ce39f5d52964b7fb3319d49c0b18c85bc1410bad84ae2";
   hasRunfiles = true;
   version = "20161201";
 };
 "footnotebackref" = {
   stripPrefix = 0;
-  sha512.run = "b25eef45a35fc4c67634d7bcd7bc619603f983a97d0fc9c9b9febf2b6d2cb367eec59ceed4e45eab1f206b3b5dbbec277527ad91bba4f41da7686abc4286a8d0";
-  sha512.doc = "5db5d2d98ebb7b2c38720ad73345df7bb5161f040057142d54066f46e0a39b5ddce822f94ae2809b715de686eae4bd40bb8c7c8859f114180ee812471661a36c";
+  sha512.run = "8c18d95a4c74a7fe2ea4cc98df6bdb6813d9cf8323e44474330f03694758ee53da46d0d691164f6d90b2148a7cf9dc253dbc93548a3b33df3b0344096e4a90c9";
+  sha512.doc = "685484323b721c5277aeaa041b1d40b0d4675bc901a371f36dbff6246063252bca69261748a096919c7345a4a6e6284a6093068555bb43eb92fbf7cfea41facc";
   hasRunfiles = true;
   version = "1.0";
 };
 "footnotehyper" = {
   stripPrefix = 0;
-  sha512.run = "d14070ac2cafa4158bdd2f422102b9cca40a94d0179722d0209b73430dc3f27205f0cb4c7080c8612e714fdda9a57bf3e9cd6c9210649002ab2347358ece2e6d";
-  sha512.doc = "59551554266354f6d4dc2f3ad2d1b43ed0172f661f5100d605b21a366500d01b4f340657ab1471acba79b735d60327621fda3d0f9547e5649128b5bb1a989810";
-  sha512.source = "3071a53c6673a962b881b11151f2de97881ae959348628f183dbc7d66803e462974a9ec75eae3e7a3ebfd5f307869cc03a7a1f3f5c89ec7ac0d19916e5cd9f38";
+  sha512.run = "1daa49ea85b5ae7ac0d1e3d5dd86dfb1ba79a132c4a1493d911e4416cd6f1f7d7e6487032ff0cc970284a9df039996fd26258868f734a1ef7fa0311380bd7709";
+  sha512.doc = "d380557ece02393115148311e2186c99c6dda4f7ab311e448c3a52111a52a93fc17661bba80a6f62b24a30f7096793e422a93cd0d326336c1153a572b69c8b72";
+  sha512.source = "ec3dbcda29e1e7e441741607c897e39c3cedf5728b3661e8274b01ce759a1f78afaec3e69a1f5ddbbd8f0e0e153a9924535ea015645d2d2b09e917dc6724635f";
   hasRunfiles = true;
   version = "1.1";
 };
 "footnoterange" = {
   stripPrefix = 0;
-  sha512.run = "75d22460b1d051855ff244df806da99272796f94067a2a8319cc9eb04f7e83f5bf7f8343294adf375ae56261038f5389d4ab846692fe11596a5acc1058ec4c40";
-  sha512.doc = "d9bf49faa2fba09afc049a87e0740c4053a65a2c4c1cd53bf5243682d5fe889a21aefdf25400dbe0a57f300f219588801c4dcb4e4770adc8aea59773c4b3004a";
-  sha512.source = "61614ee0e84721468da5bb5a00d59f99a1362c2965b139d3793dc5b62c421b00988ac621d1490b18fa43b44f4278ec9ea9697f857fc58ab75102901f7469dde7";
+  sha512.run = "c80c158c550e99e0d10f2ddfd248e21a897947058ef9d5f6e38fcfd9bf3067eff1846181b46a3abd23054f133974f1ee6e53496fc80b11b1df749d889cf983ae";
+  sha512.doc = "d87cfefdcfccea2c08e8d7669bafbb18b940bb06fe3986634c684455ae12da25c515be60b5e50b685bcc4ca745e1b26747abfa88f2328836a30ed89e60efc366";
+  sha512.source = "9b46378a9a8282d78edbc8c73edf10292ef2e09d25e9d09e9cc1718df891e464d51364945221e84609a096116bdb79388045c1312762ea08f4316158512707af";
   hasRunfiles = true;
   version = "1.0b";
 };
 "footnpag" = {
   stripPrefix = 0;
-  sha512.run = "4e41ed0f2eb64527123308203f7a31c61715617ac11698e0c67363e51cbb73e61ea2b74a2c9bd12c893ad8c5fbe229701db47b71f8114c63408d122e9b23a852";
-  sha512.doc = "99fb443298ee5087568f20d1aab779f90fd1c63d9470179ce8103d780c6823b7fc8fa7a1f748df6ffc99e1e99007dc04a95f4f1929f1a049c51a45916459fa5a";
-  sha512.source = "cb7de173d9553cf314f0bc8cd90b104f76091d6f99aed8ae3fb85382f860e576783ede87df4e31d8b728ec6738cf116caa11d55c2bce3254c4d294901464ad30";
+  sha512.run = "a1ce9661f0f6a69d1709ea053fd548aed428a9cc8ef0445b9c4b897eeef349bb9767c219f5d860ab4d7d264982c1f4404d33619c80dec8411350bb965b19d709";
+  sha512.doc = "f83c9cc0701c63dbd5d3b7dd6038e1bb2c427e6edaca05b814778592587b066af3c4f7f12646f7b2ff7cc1c2ab8d2ffd99480dbfe72e50c9bce907e8e2d4c509";
+  sha512.source = "a44b0ba4ef7b6328d6d307eca25c34d494000a238c69fec3686a55057ff56ae1ada7cacc763ff1cd26aaa83962257442060fbd795c76d61f92761bd66be81378";
   hasRunfiles = true;
 };
 "forarray" = {
   stripPrefix = 0;
-  sha512.run = "a996a822e5626680fbf0705b8b623000edb5f9bd28ccb9b6807f0f3b93c6db338bff984d0994f9ca399222020c6a3f167c0a7e6dcc31e0786a7e0f0461eeb5c5";
-  sha512.doc = "f34a6df2fd2b84eae134985f65aa7b6e6af93a659272df2cc2245e5daabcb960954ea7b63d8f5d68198f7b35115733a2ba20d6cef4f3fd0676fb05c4c49ecd25";
-  sha512.source = "c2cb83459a2bc1e3a2f45888cde095115072acfe7486c6a6000753e1c58e3ff426ba0d4df4a647a2a9d34ea0fa74413ba72c392658c0963ed419582cff0f7f92";
+  sha512.run = "f818d0899fcba2d61ad119698d3633a28d5300098a4bd56a82b7b1c9cfc12c47a9457efed7cbdf8aee3ba9ba4143eefbdd54bc995c84c9bbe99dd5717030bef5";
+  sha512.doc = "e292418f60b290bf0567ea70169d66557a8408b2933221e0658d6d8e807b6495258a6ea33d65d14e13129ff8e58dc9cb50115459b014ec00e0b084f3d3fd55fd";
+  sha512.source = "4a9574868753faa19d0e80bd08c524445a015bcafe241a85d59832fb308981d12dd133fa64e65804ac5c3d86617046f06a17a4667e8cb382676dfbadd6f012a0";
   hasRunfiles = true;
   version = "1.01";
 };
 "foreign" = {
   stripPrefix = 0;
-  sha512.run = "a1cd8e172dfefe9eb2fffc0b9eafdd961c0e4ac0a9058f25443d980afb85119a53b0067ef7ffca0d16cc6dfe2dc53b16925d1d74795c5e5ba6ee76cd9d1e4974";
-  sha512.doc = "bce22ad824554a3ecb1a31df292c478f4b24ada58812c691ad1422140fad1d4f7ae8cfca44e11198a8af722a06a8a3df335cec42c272623f87016d5c87fea069";
-  sha512.source = "e80f1b38883e8eb3db43b7412c2ad8ddf575af62a7846b12eea9cc17d08f0898540c71d7c5741be9ace7db495a38bb3d133636e8234b18633865672e07816160";
+  sha512.run = "e886be0cbbb64b11b6c54d6b62d6b38db1bb7e65b7a3a9cc951ad71d4cc1a93c323d8a1e17ba863daa6535c747c9801b06bc4d3c664bfb8da38518a9c93d45b0";
+  sha512.doc = "d3804dd1b83ba173e4098696656c814629ff099699f332c3b81136c4519bd577aaabd4d2601893f88a58009f00e8c8ba44fcf2c4a3b72ce90af4d4febb510ec6";
+  sha512.source = "d91bd89508318df931629678cdd0415da8baed9efcb55f965d71e26a61db705acc6abe14c6f7c17b61f54e32ae123ecd48cd018920b1f43626559e2b0b4a3c16";
   hasRunfiles = true;
   version = "2.7";
 };
 "forest" = {
   stripPrefix = 0;
   deps."elocalloc" = tl."elocalloc";
-  sha512.run = "3abe903346fba5b97d972915bf45a87616edba938a773ee943eed90a7c3ccf82d46c71a195e0ea7a77ffdf4eaf52b741b1e8c8c42336724c0b729ae9dc9f3154";
-  sha512.doc = "187e2656adfdc6ec7891b98ae7afb8f205639bbb6eb3a82a8029f546d9e2784cd35226003ec5dcf005ba743da8a7cc73e0730540be78f4d2c6c5e10a9379c075";
-  sha512.source = "c02b0f3e5c9f0881e9e2933c77aa8e4067c0a01123ac859286d21c1aff2847b8d294e8250d34220570b1c6091c94edc8e88f712c5e581c6f3882c452ca966ba0";
+  sha512.run = "84edfdecfe017508c496ead33102977f2548b1e664ed6fa5108ea54d738e5bd201716fc2185d917fa5ef43b727130ca46061228cb510f5f8f19d25d677dd689f";
+  sha512.doc = "ffe229aafaf7fc3a2c4e48a4e549938bc80b2ef4e40e2f22ccf3f62e72b8a1eb1a88972b58ada2490efb61171d14a7d5d1e6f940754c39e3b950aa889d585ffa";
+  sha512.source = "37269033ab2626581dfd8a93d739ebd74eabad9ab2b6dac1cceee33c84583241e2e5a660703befcc85c310233947222e1990d2fef02ee7f3c0ae50d2705b169e";
   hasRunfiles = true;
   version = "2.1.5";
 };
 "forest-quickstart" = {
   stripPrefix = 0;
-  sha512.run = "38acb6d669db3ff2b8da78d8017ce538680175d8debd2d5e8442c376a65b60af0d9674f3ae6fc1cca17bda91bfb9f0f429bbd0637747376c9fb09ab4077832e4";
-  sha512.doc = "53d81d2ffd9b6495de0fb8999eb45962552a1d89e3ac4b552f28c817217e7de7a69acf959934913052e9627214c30a471ef1588771c2086efedf1d824309cb3a";
+  sha512.run = "14c3512b55e7653d26571a73216cd1eb5bc4d7ec8b74ae71475c37372552fb309c148e91d4e973bd60710f2a43af9a8ddb6ad99087fd2a9b76da896e521eadbe";
+  sha512.doc = "c53a365ccb1a4059c9440b8f23b3ec0bbafcbed14f871c92b99abaf91adc4bb42ac1d3b784cf545a6352298bded8b4cc7f6b2e114625335af5d9d003fcf922ba";
 };
 "forloop" = {
   stripPrefix = 0;
-  sha512.run = "3ad0389bc77c8c9c1f3c2df08dd437f3705c78b7967b88cec7218dbad2cc0e718b0f01e6425986021bf209c5198dae00c3950faa0cfbcaa7a435bf074466a430";
-  sha512.doc = "d005984e6a7eacd02c4f5110a1a4c6a194d8c6361c665e888ab4edf7af083838a45f9d5a521f51dcce25b867621a376ed024a08d83febb2b7c1d1bf1b6d18dc3";
-  sha512.source = "22c86944eebba0466fb097cc124d68d6fec402c4d23a59df2dfd06238d59597422d1327f055515984e92873dc223f591c7b1b0f15d0ff956e4950153d6fd8a29";
+  sha512.run = "a9cfda31fc63d24737a5b422e9fc7072bd1f75c0926cb45d26ea3cdb7cfb50b3f74d7602964a08f13d216f3fb3798acd21f04bdcfe85a3e3652052b9f2cbc9cb";
+  sha512.doc = "49bb7031207902366fbd0924a025c692ba015af134ca38c90c43e8efe7a9522ee4db4cb9b071dd00681251ad07b4587cd49eb9e09bc77f1ad5632838fac686d6";
+  sha512.source = "f41a62a677f37a57c96a398d48cee84d213ccc23fbffe7f2da6c09e8f58d8b9524d3b53717b9657004e7de0083f43960c0ebd54de3696994d8e946d8044399e4";
   hasRunfiles = true;
   version = "3.0";
 };
 "formation-latex-ul" = {
   stripPrefix = 0;
-  sha512.run = "f40f5d47aac3cfede372d91bf833157b83aa6216a03e759eca0a68d414dd076f2cf80c7d20bddec06d5b4ce68f31eea27b227c86428755be29159ddc55c71cd5";
-  sha512.doc = "a99aadcfff0c880c81f60c33b0f85052e267fd0f3d9fc5e9a6ea14ce2b44cbc7ba0fdf848d5eb3478c1c09a2b180f6b70d48fc0e7f2b29de3234b60a58b05d54";
-  sha512.source = "2315095e3649e583b98274705e4241d930f0dbac877a6429fc5993ebfcb925e8628dd421ef6db7d1a030aecd4fd3a806d7698004fc33922068edda3db786b144";
-  version = "2016.11-3";
+  sha512.run = "d705a402a4ba61f232e559e6a610646180f22f47df251d2731cf8f62a9edd26d60be53ad969ae0bb8d02a767b302df18b88c048ed1536b3677b7199d347e35d8";
+  sha512.doc = "5bf8c412d061a5ce30ea3af713af400eded6a0f75ee019fc9f6e40623c3203839f718eb4b630282ec700871cf4b0cfe68ff38d43cb50f53560184d7d44d528e2";
+  sha512.source = "51a77394f3471dd2fe6b29717c89cc8d2f6f0a126ad84d5973bb1d3a8600539148be0450b1e5f5cde7070224ea02b09ed9b871f743ec82c78640b9ab54ae602d";
+  version = "2019.03";
 };
 "formlett" = {
   stripPrefix = 0;
-  sha512.run = "41b47cfd4d381b109c59b245131cc345cb7ce12574a5f7350fa7a604f34e4211cb1d7d3115c0ba4a41c2059ec8cc73c5b4e2e5fec298f6f7861d86c59414f65f";
-  sha512.doc = "508bd92dce6af5d0d4e1bf9419461bf491211f012d2b091540b29f0fbe420a5bf62cf33ff9899ae36b60d045ec68c22d34b44f1a74d5811e1eb82e9706baefda";
+  sha512.run = "9d984435565a9354d03f7ef1307d543e3a0bd3a8d398f6dec426f7ae16fe3c6b20e60cfb5daeca7be092427606b5a5886a31dc05d023d0f26d61aa1c07be4b8a";
+  sha512.doc = "8eee17c77620f48319e862f2e7d8ae4b979c84250dd17f33cae9db52b1f219f2f86c690969a783648ee3979f24ef58e410cee47afcb12bcd26e4278af4625c6c";
   hasRunfiles = true;
   version = "2.3";
 };
 "forms16be" = {
   stripPrefix = 0;
-  sha512.run = "5cb57ddbd8d7d5a259c3896295de2a4bc7d64cc41869f5fbc0a259c356a1130cfa62565592a7d701108cbbf7d49bf55683502d3a0bc8eedf2618cd5abbbd3578";
-  sha512.doc = "56432da4c2aacdd153cab0d118c68c4c971d28ad5ebe1a172c4648be40e9ee6dfa39da91a11a14caa50fdcf6468de3d5e48c743f192aa7ecf597ea1f2227c855";
-  sha512.source = "90faa2171d972f4b9dd45d1cedaf7d35b5787cd62f0899e700ae0e043237711f940b96ce64070797b8bc8f12924789439d3367f722a2138860c22e73f89a8742";
+  sha512.run = "9d8b0c7aa2314c81afe09cdd9ba3455e3ff7e3000fa9de0e99da935b282c3d32bc60aa7f97a27450ce999ff101b606fadae3dbb4965cbfc1d4a8ca5c29eb719e";
+  sha512.doc = "52bedc12e5ad33ac78c906f9d60284ed079b0f6d66e578f826c946c28de3996c70da0b11284e774ad56196875b3bd166962eeead9282f3d71f6c6a0d4a8cba68";
+  sha512.source = "19e3efc0f73c919c7e74eaabc4b7f9b70be4dc2776b22719eec4f373e180f3ff736ac3ddc26209acfc9f9f9de9c594467cb6f67899f21f563386a44ff58c9135";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "formular" = {
   stripPrefix = 0;
-  sha512.run = "acb5afed1497cf9af824c925caf771ebb0a994d389e86707e66761204f601ea918a20a92bd689922e11c40fe69a158f5523967320474dd592a27e8f8266d5ae2";
-  sha512.doc = "a3852d031181deeeb0bf81aaadf3d19001605b9fb1a93ac06b02d1c657909686b260cc5894b9798c2098f4f1c938b76c8befe3242da8d125147695f3959550fc";
-  sha512.source = "273f7ad3a288d00ec4d41c82672691f3e10094f10b44492d25f8e4f239730271e796ce09c54d2e415b18cf18499cae0a21ff73e2877fc7e940bcacfd2c82031b";
+  sha512.run = "0be09e33fc3cf97552dc9e960979447de61c53bea46205a52b37094f7ce39f10309f559dc99c0037392d4924bb688e27bc8d26e5f6fc69dfbc3d3c41736223ab";
+  sha512.doc = "09550cdf735f340a13c9104b86b37dfca67e39c277ec9f98bab08754f393368bea8379019c402662b7e7df351636e44814bb45c0970cb24db10bf3efdd9dd7c7";
+  sha512.source = "12a7c774c2b6638d610c3277246ced4c8946f0393527ecd0da101481b1b85d1418537019962f86aa8b7657a0159f7c210acb3eea1386e8a528a09428619f0b6f";
   hasRunfiles = true;
   version = "1.0a";
 };
+"forum" = {
+  stripPrefix = 0;
+  sha512.run = "6e15fe7d945fa300e85d8a61644de7783e34c1f8a61dc6a8f7496f3d14ff54bc5cc10ca7e253b5cc2bbff5db0061e50208a5892fc0b9f438326bf6d7137b4bd3";
+  sha512.doc = "c043736ca7c6dfddb6397628a5a832b37a98fd0a9e1fb95a3df2c786baceb3f289e53e49beadd05a481a1997cf0072903cf3c934101df4b542d41c15801e20d8";
+  hasRunfiles = true;
+};
 "fouridx" = {
   stripPrefix = 0;
-  sha512.run = "82e7f17a0699f9255c04fc12f4addcdd7659e1fa8dcfa27eddaaa7e7a4364db3e1ecbdc44ef003a4f6ff55bb219d91d583dd3555ebe923f9ad2ee308f5e68e54";
-  sha512.doc = "8f1b5c7b03d2447daf5416cd2c885dc8395c3afc839873b137be7b5168bde7b686769208abd4a19baf3cd4ce7c80a019ac89871a8d5955e67525460c4e7eaa90";
-  sha512.source = "fb4c61f9b69f38cb7010781cf2bcc7f382d255971c3dc622d8f8bcf152edeaec6c8df8c729f9c9ba75ab8d3238af3b524ca3e5c32916b255acce7fdf62bd27c5";
+  sha512.run = "01a2cc941482972cb8ca3f5402bef75f53d5e7db2b42f8bdf614c34faab3805c3548d3786c3e7cd9d8d8f7691cd5e8e71e056ad8afc24d52444c6969c11eaa14";
+  sha512.doc = "8bc55b8e191b83ea42e228b47621780f4aaeec65248f5b3e9aad94443eeba08b1bf1bf44b7cf252f66466e5b0170260ad202c13abf2d76d4576833224212ae44";
+  sha512.source = "c29e1c93e31da33a3ba3914ea2992a53b52bc18a4da0d20cdfec712037f98058be5113dc65d731253aff8c4e1b0fcac4afe3da36b972f1fb23ce45a795c546a3";
   hasRunfiles = true;
   version = "2.00";
 };
 "fourier" = {
   stripPrefix = 0;
-  sha512.run = "b275c98a68d22f0e81e5e79051ee7a0bcb0dfa93e002cb821eb4837dd8e5fe25deff9810647ed78927b861fe61ee9a349971abc73e1cd6f8c133b5d1857fffef";
-  sha512.doc = "6367e10067de7a34cf1ea8688412e8b1512f97e87aa2401c7ea8d980b6f2a3cf7a533441f5ffcef4daef3a5fad4d622f756d484e6b41fcc04a2594a6ef826dce";
-  sha512.source = "a1ca1ec31e9e68d9ce7465731cb5702222648adf49d04f399a40440f767d068ee963692d8cab55cf7ff403928c51a17393819cc870f58df1b69a580bbe818793";
+  sha512.run = "3bcd5010df4ecd50bd29664b69d6ac6d56d76615dd20ef44d38ed021a2ca3beadb7eb5f8cc2634dda2476f225f6c174f48dad98fbfea7f3c91f3398ebc29c737";
+  sha512.doc = "49655ed0c27aa8b9f76ae2f1dc956eae91ccfc074d4811fcd455709d6574affca3706d06b8a2d1ad5b1285daf287b2b46e61f6ae28575c3197965df78f2e9107";
+  sha512.source = "026c359eea5d49cda0ac58c5905277c90231664d96cd8ad1276626beaae05bee30a0f3884533eae5641e494942ed65848579653ac8adef88de4075fb5d6f114a";
   hasRunfiles = true;
   version = "1.3";
 };
 "fouriernc" = {
   stripPrefix = 0;
-  sha512.run = "573df641b416a3df871c2c8f686329e2e1ee4f118cff4892becb63e5384684f7c21e8ca4e8297c0e989cf4051e24d562ceed046e4ab0fccc1d229ba4e198a0dc";
-  sha512.doc = "180a6bd2ca416e72b8f8c8c6da08a38c2af4d56a993431e7e30d50032c5b93cbdad7641a03790d060b2f1225b941dfefcf4f1a78ebfc007f3835e4e39471ab6b";
+  sha512.run = "904b464fb9066100512cfd8a8998bb089113b443e2df1fb77100f9b5a26d48a5b3512931c00292d19764eb4f068f207eb38dab78798f217f2533a65229411df9";
+  sha512.doc = "039ce79d06bd1fb55b257f1c65c53412b15c26d4eafb9d3abe9bb7a7fa836c8b545718f70d935f1449fa235f33d07c81ad8f228608de20ffdfa99b9f532e059d";
   hasRunfiles = true;
 };
 "fp" = {
   stripPrefix = 0;
-  sha512.run = "0912018b4b1ec57a0ea33eb80b556aa111c738c3255e47f73301d926ae9245ffccab8e90b30cbe5a40ab5bdccea602f0ecd879bdb6681f02be79c79c2f3375d3";
-  sha512.doc = "8d41d11a282d47d77c0fd004650115a5dcb00f06a4387bc694cb15b30b852f2a66638f39c7f7cc72ce1d9e0cce9d840380f959a99a3fd73cff799d90ce420b57";
+  sha512.run = "27e60a78da80caf0e50d1fc83d227d19982e30950650845df710949f4d88db67dad96212331182561c43d37cdeabd3b68f9af55763f30175ab27a6b5f089870e";
+  sha512.doc = "79b62424943f725ffc6c1698cadb9ba2fa6d9f0694741a951bbed23c43f870b930d966f110bbe722c17249c7211f08a3a95a5ce7e9da69b7487aec37e99e5152";
   hasRunfiles = true;
   version = "2.1d";
 };
 "fpl" = {
   stripPrefix = 0;
-  sha512.run = "459008efa5ebe60dbf45a5d3abea7bf4c857f71d50ededb4bea5f90f23877f7eb311c3427fd3ab3a67a04cd2bc9906b8dee325a7153d8339e329befc8edbb15e";
-  sha512.doc = "31e37d3d7469736f3b3300711e507e16a9ae399ac922ee2bc5ba7328c5c993a21db4bb88e8470515e55c30b649ba07754e7f0a995e8cd75898b3a4ee69b667be";
-  sha512.source = "88df77d4f91922388b31cd33c8938309d7cf9465a23247fc79008eaa72f812f9eb7f6a94aab8cb6dcaedb1c59ff3ffff57cca72a46762e3a5a3841b3c04e3442";
+  sha512.run = "5bd87e686f418d0ef76ca1868b5034ebf5239665dfa52eff5d9e559a733420891ec2f17d7e08b527a422b8c4cf6ebaaa80753abace423759fa06beecef31228e";
+  sha512.doc = "b101782fdbe6896cc49fd81b6ec213d5b9951d3e80de22d7797bbb34ee4ae18d3ad6650fb05e57983cd665d09d23f3d7efeb4dd1b14c294373f9d0df95e66162";
+  sha512.source = "7c98491db4a2844340c33f9f23f90a50c7a41404c010aab8ecf544c504787758ba86265da3f988453c3ddc3972df8dda55091b3ff5751d2c60ff4c5bab24a059";
   hasRunfiles = true;
   version = "1.003";
 };
 "fragmaster" = {
-  sha512.run = "1f534934532e157eb398e330e2cbd94e62b419a03c313c492e9125953d1803bacf5d4707297027345d32ef82711b323003582d3caa05bafe903842e0a2fa8a5c";
-  sha512.doc = "09739ee4ab0bec2d190ffc5382242eb8612291a7e93ee0286169173bbb84e5e0affa6bd363496b62abafb220bb2eafe504d4ced43fd75eaa0b53a8ec854a7a59";
+  sha512.run = "dc5d80aa4bab7a0a66258face6cf8222d03b12ea492f7cf568ef815a6d5950a8a2b36c7403ab466141f49cb8faedfbb33146820b88da17d8b8fa18a2b16235e4";
+  sha512.doc = "61f0bd7dab46bfb91b634006217f01648007cbce3c9187b0811a5cc1755ec19654da94b47866ad9873fd57629f1561d1cc46bf3a4d62db618502aa0e67500637";
   hasRunfiles = true;
   version = "1.6";
 };
 "fragments" = {
   stripPrefix = 0;
-  sha512.run = "a033d2c411bd6defa3461a036e286e15b779d6b75dcf2b23ed9126bcf048e98b96d6e5c6638ae4bf52daf417b11c1a3245a82b7f79611eec7dcc1f346b48dc63";
-  sha512.doc = "099faf521580f2ab96d6e6e778162d273fa97e916660114275b821beaaee61386d8c61dcbb2f74e12c6b22a456d7cfc7208f0705d37878902b285c2d3e6ff309";
+  sha512.run = "adab94e7cc71c6ed2d881d13254793df16eaa08d1e37e4d3f0344e7a56cf08a4ffdca784871e8939f5db8e868b7166846843492ced0071c9dfbf56e39d20ec0e";
+  sha512.doc = "dcf795392d989fdea695512c8f7011f783ea9091bfcc238ad296b0cdf1775bcf631c3097ede09a138117e39c7fa71da7eb355878c8389bdab2deb76a319102e1";
   hasRunfiles = true;
 };
 "frame" = {
   stripPrefix = 0;
-  sha512.run = "d630380c648d00b6f1cbfa751770f7a520fb86f5525b986ba565c330908c5f6de9d237bffb1d0c06bd29107bc4f1826aa3bb375e2f533d8f2e1aa40ded6cc348";
-  sha512.doc = "6d69ae2387d69ef3db67174383d323e7cc095fb8a8426658cf37c0d288c57f97e77548e93f7a3faec881d2ce0e617b07076932f05c0d165ec469d696ddf216a9";
+  sha512.run = "b66df0a91a8605aaeef2452236b5169cd363689a40f4a35ab9006ac18c21d4ae2a070407f84beff7de0be246f2f1e55c8b06f234921c4d7153fea9a7f2df1679";
+  sha512.doc = "b61a3dfbc23031a39bbe01788f0f1d51750a3aa9132671917ed8d14c57453d588c75f8cd54beac9ac120f26b09fead55b871d53e918a735ee172f1603e4cd1ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "framed" = {
   stripPrefix = 0;
-  sha512.run = "47ebbdd15f22c1606ec5bbfdabf18bdce3d1abdd2fcaa8c3d42d21c8739838d41be0fe8ed9213f17c49d0951526aa5b65591884708833a6ad1639d4f46a83841";
-  sha512.doc = "c1ad8180bc6edec12c0d644bd8694bacb0c2ecd6e946ed54fcaf530aa31f6403a8eea75f95ff6b0127ea01c67f9815bbd85952e682c4b637e7444e1311389d7c";
+  sha512.run = "06f0da36c24ba42959b2176066d3e95f23dfed41753f4e4b07c1f92c4789e68d1b246c61cbdeacbb9c00b6eb990ea2b3ec75dff8ac57845102a867dfdf2c72c7";
+  sha512.doc = "1f48ac19f74f5003df88700ff85c072c8a655d4623b82bc3b7c6570a548c0a7b7e97fe292f8557a72188c0047fc28e280bc3ab65f58559804fa78e89317fd67e";
   hasRunfiles = true;
   version = "0.96";
 };
 "francais-bst" = {
   stripPrefix = 0;
-  sha512.run = "277a6e0d711cb0a48ac52ec76b64d8c4dd010124c9b72782d2c16872326b324c49613189c6ad422a88c46326b3105f603346ef5199054669f9294b3f43a739b1";
-  sha512.doc = "6f0c57e703f4fbc5c175ea5b7dd793c5b0a34caf8fc601e0d6c32a43d7469215c008dab7402b314c0d8d6212fdedbbd898d1bfa8f0febe42cff3453e22b5c39a";
+  sha512.run = "b271711badae8883426ffa2783a2f942c9d37303fb4cfa8b4a2ec2f8999dd150060dae6689bef17d2120cc7489896ffa497ccb1f7f693d5db9a8ca5ef6747f21";
+  sha512.doc = "b3a53111f7fcfe972c0722e8600b3115b6e1a93631568d9bdb1f824b8185d4c78fbb135c4593856e3766404fc8e4c005daaf017e5c1552dc452c57e943832e14";
   hasRunfiles = true;
   version = "1.1";
 };
 "frankenstein" = {
   stripPrefix = 0;
-  sha512.run = "ad7e9e38f24e5eaf231685d1be8af70c1a6d875cbd8957f44c01edda48299653e3c3386e427da00de9db6b83ba1e84155f49b68e6c19309e6f37feec4ca226db";
-  sha512.doc = "8d5c2e1c7dca50f4942accd46756cd1730205cf382779d06ce823d9e8715c77e6b9df76780b8dea3d5fa12daec4788a6b302d031a2a956d4c9e05b67d39e5db1";
-  sha512.source = "46b85983d6180871ebc4c80826578956d901c47be460fb2f7c1ee7881a7c8c8fe4c80e192f44b09590dbba7d3e35e43373d2a09cb48a2ad17846193b2def8f2b";
+  sha512.run = "1d94962185391dc1fa9edcadd67a60d9a4b59592442ffdd45badea6279db8dea101b418ab3e03284e6e88c247fd213887f06e72fb6c4a002a66acaee82d8d4bf";
+  sha512.doc = "8d8a404aa0a61fb76104bc57e1c2b837ddf68516c4d4fdc1af0a84425943f4e23a4f660b28b02e088db8849090e3734915ef7e0216f578a5199cf12115c498cd";
+  sha512.source = "8481205c937e58fc0b46eb25e4f7c8b28becc7ebf2529ab784f0bbb7292dc21faa9ebd1ef3be2a98950f1d2570b23eb13f7d6e134b8c8c5eea25e81c0e6c6eb5";
   hasRunfiles = true;
 };
 "frcursive" = {
   stripPrefix = 0;
-  sha512.run = "9e3535dc5542dd16c0fbe0347b8086148e35f7494f2f83a4b191f389c5c3694770284a1b44834c1897385dd08d1feeecff48cf23137f1497afeab4b663bf53d5";
-  sha512.doc = "1c930a082401b92a0dbc6b83066e84d08f0bc55e8b98918d1d35d526f5cf94d5bf679f4bae5b318681c6044ab64474eccff80a85e82e1dedd76f7e70351117b8";
+  sha512.run = "5ac038493648ad14626e2a015c7dbf96a41257ab1d1086f9e79b0128df2c85af1a279e021e52c722636f8647364791bcf7580cccc1d80d60084f5a9a55a23317";
+  sha512.doc = "eb0559574af52a711f61ab84cbda996c7cf4b2314b4d5faaa18824ae3396f041b7a5948151b2b5cffae6675bbe09c2e4358b81e9ad7792e5ece8a2912d7ff030";
   hasRunfiles = true;
 };
 "frederika2016" = {
   stripPrefix = 0;
-  sha512.run = "796610db48d86b4e90207578917546955bd13e1793b00a6960cae36696d9e188a350289ba79c3bc8f4840b405f97947e0b4a39607521bf1f90896c8dfb25e54a";
-  sha512.doc = "db39b9e807f7d53a619ad0679caa64ce40944593fdc1e9d2666c71f5e98e22e18f2c963106ba675055ddc77c859312a3a817a9eb50dea076ccfd45a7582636e0";
+  sha512.run = "b7b271af72364e0d2d00ac499bc1e419534d479d27fb424b7046373323354c47da29b888f0d765e3ff4725333ab3d407cd21a064bc4d063adf890de75aa49e3a";
+  sha512.doc = "e205744d689113870fce9cf791f089ccb59cb6fa326c811f34db7183588df3de9b946cddba2a02128a9b88490e9326bea6563fa0fd9a3cdc76467555b7b8d198";
   hasRunfiles = true;
   version = "1.000_2016_initial_release";
 };
 "frege" = {
   stripPrefix = 0;
-  sha512.run = "2952ec6f6e6ec3e8b2a5c4c923bbdf4dd8272f28a54202f740f1daa864f4ab671d973a695e3a606662c45440c9ad2d2368d1c585e32aa1924bb982b8d02d1ffa";
-  sha512.doc = "8201b7d3e9476614b1d5622447795457b01388c2015d623590a1f85ee848038b3c6975f9f8730467ea7f9c03a6cc7d65905fcc3423808014007f89e5533cf852";
+  sha512.run = "39d359f01256f2399cd9226744aa9735543d5c9eb26104855bb52efaf51b8c720cb85e5be08241d72d3b2e1c2deb9cc7a10dd90ffca789ae91b6ea6b7cffb879";
+  sha512.doc = "28c5cb420f25ed57a03f3914ce2286732ab8e06cbb0b8446ab3112ccb79b34814762becb7ac7457593e1b5b1579613a76a8b21fe2c43ac9f08175495ea87bd1c";
   hasRunfiles = true;
   version = "1.3";
 };
 "frenchmath" = {
   stripPrefix = 0;
-  sha512.run = "14c3e9fbcaa5954e6e042ef993b1c6bf07a7308d46eea38bac4d9ed229ff27b9c23415de8bff354d4e13cfbcaa7ccf41d4da5513c698310250762e7d24dd5b03";
-  sha512.doc = "8bcb488089272592420d21017bb87dbc142255d722609e61fa5fe7eb9299721021cd79c22a105e66b61deb4586c2032208c1432566b1d48d465e2f4f04ef49df";
-  sha512.source = "7075fe2b0ef12764ae534c1341b7075b634409040903dfe9d556ece1d349044e45d0f93f5e5c362eb00cd08d40f73200a80b344e93db79cb1ea764e63a946cec";
+  sha512.run = "1102ab998250a36d6d93aac7c673628eacf8b1abd203d91989922599ec6dae58439ec2700e40eade5b0ee1666a68a30d94f89d3a225082a6273ccd63f61fb586";
+  sha512.doc = "622cbf8f1149c53f240036e2cf2d6245d6870ea24f9af6e1883e7fed2f1001f38227176156e8a33c9d9c07414b1accf1a924fbf7248e91903d764fb85d277bdb";
+  sha512.source = "f41712d3bd58290fbe205001e9fb531a147debea4b93aeac3b9831cb3bc8edfc7d1364bee575c750aacfe1db8632c357a36fc5afb003a7c895108146a1ab3b7e";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.4";
 };
 "frletter" = {
   stripPrefix = 0;
-  sha512.run = "3d71b22fc4f356b09775b3bdb82bf70a27dd8a08b4cb899986bbf575c626e74a04ff5bec7df2ee3d03d6e89b3a6ce1822fd49e14e18bd4bd969b61e78bd7e1f0";
-  sha512.doc = "f44d5518d3a4d78e7b59bdf2d484d21ed1b892288193d1bcf2c93e42f9cd6318b45efe96d7642a97254f52c0da63e0fe844ae34c738bb64fdc0aed8ec0ca9ec4";
+  sha512.run = "5f6c61585ab0626931cf7f19d18138ec70572f3531f36cf94eecd82d93855a2ec8ed2ed0146971e035f8b5119df7c602c6279a9976e024ac85869953448d51de";
+  sha512.doc = "36fbbc422eed8e577e054067e7b442cc84b640fcbd0706e3d8cb503884a5208e0a5bbe0c40b67cb5b495bcdd0ba7a78855338588757e5a9d26dce21f9bedcf3e";
   hasRunfiles = true;
 };
 "frontespizio" = {
   stripPrefix = 0;
-  sha512.run = "ab73d2883345ee9ad92cd2bc1a01560f62eb399284dfccbc132a482255d59a3124c595ac40e47027bec02058a143d9362bbcb6e6742e458324b736062cf28ec4";
-  sha512.doc = "659dcb35912a4cc82f27e126e8aad4a9459673ebba0722614670f27e14d0ef434873570f5e64550b06c31a49c2fa40b4a0e5295df7ae73e6f4f6d366a5030da0";
-  sha512.source = "7023a33cbb831d9b83962400312e5793cfb1a07dcfb476f17ddf9ceb90f7fcc09d076773716d8ef3a5c999ce5760044127f7d6c0c423e1ad8abf35fde322f6c8";
+  sha512.run = "6045214cc6a8325d8c828c2591fb43995f098803b031adf50bf8b4dddfa0047ce110dd25e5db71b068376893b7ee83a70806713a83b90a26c4d1c8553e4f00f2";
+  sha512.doc = "beb8cec7ff51ff9b85e2a650bd7931070c126ea3b126051eb63194e8a071f6dd92d0014953afd85b0e73095208fdcefbf202d9c0ac22003f71d7f7a72f4a4034";
+  sha512.source = "690c42ad3b6db68c8d4305fd9c402126013a26a28049f5cdbaccc455effacf9bbf86ba77d91c518d88b72e48930939389ec33620e8adf06eb20762606ad53daf";
   hasRunfiles = true;
   version = "1.4a";
 };
 "ftc-notebook" = {
   stripPrefix = 0;
-  sha512.run = "b67a6dc2f488a7a3ab5cc22c74cb7e78370aab5c794a17d5d078919fe90602d3ba7fdd00226c90ce1da34d52f318bf9819b0802986b57b2edcc40dd77ef5e106";
-  sha512.doc = "d2df12c56372044c3114d6a5052d749663f3f211464f5005bd50472c2377dec6d3796ca690d1b40223470a56a5ad03b0dce62973adcff021e7f6ce8ce5c912a8";
+  sha512.run = "9dca1b2e09293df3a12df85f843e1701e1ac428f4caccbc196f43cfd02517cbc98908fe95fcd3e26685cd95dc8565aa5e29ad79f7d42ec5cdeca0346db6a759a";
+  sha512.doc = "36022ae2df65e45e2fdd2a01e2c95502c3acee0e8fb0b738ef06b313f47cf8798df30a41a6f5e7b4021a556ebdfd17f84b4a79d54d2b6e88c8044f0a67a87f8e";
   hasRunfiles = true;
   version = "1.1";
 };
 "ftcap" = {
   stripPrefix = 0;
-  sha512.run = "58ccf3674d424dc2f0b8a948603824fcdf621f054cc9525775663a5733874634eeba3ee8a2c0e7a1492faae6d0b4918754db92573961de343d9a453b1c0c5eb1";
-  sha512.doc = "743d53a67cf7c237cc6e75a9a6fca9a364d5d3c9ae37ef885425856d6dcdb2e961d004c8043532a6baa1fbaa51b4be81ba8cbfccd18128fedfe44c62450046e8";
+  sha512.run = "1287e0bd63fc92ef3e3c77ae3a6113cfcca38dd63f4a90948baadd2a365c07b38631d916230baeaf550b1aeff07f9cac3a26a07301838716d8d70fcf0843953e";
+  sha512.doc = "afa317f10c600c88bb96fccb0383b291e1fb7c11abba5f6bd1efb05e7d2ce117c4ece7bdf9a9ea16c71c116143aa65ba26cf7c2e1dba68f225b655d122169001";
   hasRunfiles = true;
   version = "1.4";
 };
 "ftnxtra" = {
   stripPrefix = 0;
-  sha512.run = "b938db2391007e8c0886b8178b6e7c77d420fc15df8b907ca1132fb27d691145a3ef4caa72eea6f2e579237c35dfbe0d3e2719185e59409dde946dad536358d6";
-  sha512.doc = "441b712c5c0fd7657b0ef6db2604149acad27c1c2e55ed4d9fe7f87e714888ca7ad2d4567ecf61071dbb6c9afb4c8dce4c8d82d338be701bfaec2fea5c634ce9";
-  sha512.source = "b4fadec0bc877799773060c4625dab892e709037676fa5f8166f87779ed079ed7651f132dcff3c7560ae31108653537a47cd93e1cc9252a61c1721ef6cc481c3";
+  sha512.run = "df8395b996f96ed72505ef1ef7f0e8e6101d4b26059831b227344023514d377eb189961a240e83ba42ac4ef7e8086b8ffcda347290014fbb1cf1531371c20eff";
+  sha512.doc = "fc16ff992e3339480a4154169665be49f51e56f361d0b1f97842c555be59485fd7edf3cf815e32642826224e188c5377fdb2ab36746cdaef7f552399a4b7119c";
+  sha512.source = "87e580467312c6198fd7106b6fdfdac994c5f9fae3d131b793da60ebc9d852141ed6630aa0d4273e50e7311b6e10499a3e4e2cf141ff197d5ed72822f0c15be6";
   hasRunfiles = true;
   version = "0.1";
 };
 "fullblck" = {
   stripPrefix = 0;
-  sha512.run = "06cbc00a95c7d5684a1eceb477685631f054a8200190c0cc7472d68587b125f95d2cad46b2189326b7edb11476914402630d0b74d6321b0c3b7ccb73d21480eb";
-  sha512.doc = "84bdb73042dc8556e9ae4ff9cc3f996f12cf0705ed5c076f8aae799e51c3a188a9c7323552f3a0d04f8747adb8c7a8abb6f1a6e1f051f08986506cdbab6afc0c";
-  sha512.source = "b0b20e4918fc456ab5919e24b9a4371fed56b24c1d15026f7dec4b91aabcbd9647497671ad5d951848db2092709a89f223b5ee82a8a4da0bc7b46bd85fe07177";
+  sha512.run = "b298f55ca3afe8819e44704329c06be2867b00c1a2a399b5db8de8477751f9945bce1041450c7e91559eeee65c9bae5e76b57469c956239c9752341b820047c7";
+  sha512.doc = "9da7587195a077f8218abc6a7df98bd15369650e00ab3893b6cd70a268bf34431b8c2c49b3415269bf6b8d1ddf51a8e23e76ae87667309f8466ad69da87f05a0";
+  sha512.source = "2ccd2da9f1924a1547f4a6b870ce150e6140abc9c1984f1a951a59146944d50c6f8e115ccfe79232f941dbec756e26d460037d92af191eee644bb2dcbe986c6e";
   hasRunfiles = true;
   version = "1.03";
 };
 "fullminipage" = {
   stripPrefix = 0;
-  sha512.run = "42a1a17467872eb2f23f8abe0e5661020ef5e6c310fa09a56e71c73cc420db4956cf6e5512afbbab29d57f99f56258a83348ad7ec8f73c2195f49309e54cc0f8";
-  sha512.doc = "19d3d3c4a56915885ea1b33f775dbaf4e6ed1342b797fc6ad2ee98304952374d7972fcbb1fd3243a97e2adacd1ee753930c3407c03ec00de351e4a12a209ae61";
-  sha512.source = "c8c88a5cf32b46762e6bab1549fc441bdfde0ceaeafbea1da5943f659575b5ff40621b083e65672d26f677e8f599377c510c99596986f12ca46901928200ed55";
+  sha512.run = "7ca92205caae688761ddeadfc0a37173b37e285adf3c1f54c4b2994a0c82c90713a255d5068784e3f3866a7f1af603906513a561632b2d09c68477e497330d2e";
+  sha512.doc = "111145d2f1c81f74692df8ef397d36c4c0d7b6c89efe0250571c0153b22b9d562df0dcefa90e3be96f8eb518af75ee8a23d42ad898e23668265dcf39d3c678ff";
+  sha512.source = "d95dabc4565fd48b8a6e8b35777fd456934a3cba8bac34629ee6ff4847cd1578f70a06e6b87a9b76d26e341a502d1c284e4e155aaea9c92a12dbf6d0043d8249";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "fullwidth" = {
   stripPrefix = 0;
-  sha512.run = "ea79226fe4c421f9c6059e58c9c1d47c6bfca4a4c3fe24f10a42b6409af157fe306b524eeb090b7cd5cc72256fd2976b37fda2f546a4869635de6b267cd0843e";
-  sha512.doc = "5e7fed77cf33115ca40cafc71e00de29497eab384bfafafc920f9ddca334ef0e3bafff72c606f2d64b7b1dd3fb596f8614664043ecbc597177c91a318249bd1e";
+  sha512.run = "c9b9c37991365346804b51aae7b4645e5b63eb6a3c5c60a953cbe0583de0960e8a9d6cc99dc7526944415764869308d778fb85e7cde821792bec940f6c19072b";
+  sha512.doc = "55892645ce01b31dd0285749091b8fbcab0061a7190f7a426379f6d3ea8bece8a5c054cad8b53efe1bb69a68fd3e49c3e8c8afb94954ff4ba8838142ab4576b8";
   hasRunfiles = true;
   version = "0.1";
 };
 "functan" = {
   stripPrefix = 0;
-  sha512.run = "87ce583e4626798b269af7e14477c1a17acc79bf63888dcd3aff36e679cf87309914bab0794ae7d832e2cb549fa7f7b16d1c147299ec3277fac911a9874119d8";
-  sha512.doc = "9904a29683d4569bda2a1d8cc749251ffcf073b3fe0b00bab0b8a36e672ab6037677fc37bb09aad60050193ec35525d1bb5c85d920b452ff9693e4b417d5117b";
-  sha512.source = "1b963b9b405bce32f5485782e12b9808081c93f413f43da1a63d1ac327a008d0f7bbf5b811bbf3d0527c5833ed9b170f36e515e80e975ba191d2b15fcc01fd56";
+  sha512.run = "0899d9a3c30e701d5ba6a0275521a40a3cf2df680e9d4a95624730184fb370ae2537bec1becc3b185647a988af5fa8e4bda5198f42cbe68cbc848d8915f1c9da";
+  sha512.doc = "c824825fd424316701e25fc573a431aa5967af0d520b631489b20608459dcd0f7abfac277c5b1e7b60e0a2888e0b37d787755acd6f671e48d4911969e3058692";
+  sha512.source = "f83465845900ae5bc872fceead5a83fa972c9fa8b858606007237251ee2dd77cbd095376194aca0356e5c8be53fe653a88f5a10c1f73effa8201b3adf55c5a17";
   hasRunfiles = true;
 };
 "fundus-calligra" = {
   stripPrefix = 0;
-  sha512.run = "4e4af075b48df0727dd46b3c7d00f690e2100e3c341437313dd2e5183db2c0173e705a72964bfe0aed2b9ae50e74a1338a7ec3ebb85f07ed2204d93d506b21a5";
-  sha512.doc = "4e8c4e6f5bb27edc11ec331c9e6781e9f08b9870f2e627875c7673a2692b82a3d7ecb079abca94af447be024a4ef215d7cac14773692d58a9f09f74a2c70d916";
-  sha512.source = "5660db1f802c5ed82db18b8e23fd8aeed8d5ff003e3e0c663431c398b933a24229169c969327e11863ba32c56383d876e2990193434ac0dd05ab1688f1cf39f3";
+  sha512.run = "a999f372ef266e66a199935a0783d99293141aa08586a38d65a3748c1a239eca7b0faa74d537085852e79520343ca937943b30ce38820fdc925d75b1a334aabd";
+  sha512.doc = "93aa54f12ade2eab798bd84596ec3b366db0a15eb05b5279261af8bc13bc1ce782077de36465e8e29d11ea1b89456ab207c33ab907e5c31af95e63d5d897da88";
+  sha512.source = "bc5cfc694592c7a0fb469f752a6ec854d11d9f69588fa6e42390080e88cca3da2fbe888b826ae7a3c07505bc418129237faa791dbf4f3dd9a31cb8e06ad1a9af";
   hasRunfiles = true;
   version = "1.2";
 };
 "fundus-cyr" = {
   stripPrefix = 0;
-  sha512.run = "2cd1ce802b9d4f60e547177b00b535c1b94aabb1e23a5da29fbcc8fafe85cbe84c5bd23a62ea58b496df95bd50b9cd72bef91f2533429e437072d674a4e8469b";
+  sha512.run = "de84ebbe6e70f61bf9765b9368df95fa5ae607a8d6e1c5535240e8665bb097c6958956d1b19ccf12a2a510672675c7ffa08ab98bd80b6ae2973fbe65d0e8d343";
   hasRunfiles = true;
 };
 "fundus-sueterlin" = {
   stripPrefix = 0;
-  sha512.run = "eb9062aeb2c888aa4cac7dfd4cea3cfa8d697fa4674dd0e1691a0b045a5a3b1ffd0efd2b602a6b1f1ac95f5b38474f717fcb6fc9e3c8e26b1ffd48ea7c4fb23f";
-  sha512.doc = "822f4dbadda70995fe25be9b90f7ef4b929d6109a6b0069d596dfb1662438ed7d08ef56da0ab7cf62207616f81da34f598337d1613e30f9b9d72642c125a1af6";
-  sha512.source = "16cf25413c96f27b05d2857778623ce4189309d642e29bb6b0360b6430e63d0fc4d63438f9b16cd7fb1d5491fa6995fad795f6481b78bdb31b73a471b237d771";
+  sha512.run = "b15a1fa2ee3272f25a616234a335d0bd5c8ac810724ecf453e172d2b68293b55f01f3e57acf81c17721cd3f489b35cde077d5456b78afacc589853224f1bce94";
+  sha512.doc = "7162188682c9129e1788104fe94aae2a70607e276eeec4367ae60ff9e50d26aa88a73998028b99ee42627aa27e8868ed2fe72063db2e033798b09ff0b7a13477";
+  sha512.source = "59f5e1e7f338445d3e8430c5c7cf69de9499a659ad5f32566c26166bc2997eab82964919c50aa15311d19c80a14a1a7bc4380e985f382d4ee89c387faef38b37";
   hasRunfiles = true;
   version = "1.2";
 };
 "fvextra" = {
   stripPrefix = 0;
-  sha512.run = "67e4468f380c1386086ceba43b63cd97d9102fe7ce9ed88c8ac969ad6c60c73a4b8bac8e7f1f2d7d76f2fa4439622bdaa8da4a34e5bd7f1ebe7a12c0abe6fccf";
-  sha512.doc = "15a535efa410fc718ed2c027e6a949d4a95bb5552aa3f0e817eabb2e3de412083b26f0bc1ff01d90c42411a8bd63f2590c578dc1b4ddaced98a4c7f1cf15033a";
-  sha512.source = "a31682c1ad62ad7fb597e30e44e67cf7732610f2c83da52508e63cc384c823632ce28f4c50a7be5378f6c1f26cd7813c4e743e1017fd32011b4152c567d433cf";
+  sha512.run = "9b5daea58dbbd82c3c2d5e637b3c46531aaac1600b39a945eecefc725591c885b0fd706fd38a11c3149fbee3b6029ed518147617a9f0c95b57fe5d66d19541f7";
+  sha512.doc = "8e21f94366f7642cf92b8874050c961386fa019450a5e1ae9f6221ab3bf473b41e768bcb2fd1063a4421e721daef6ada5b964a1b6b9fc0054a1b9d7c4040b54c";
+  sha512.source = "85330a89067d35c88c86ffaffb0445178b899a9f7727148ccb6cece070317f0d559e72e216c7ecd5a39bf830f5ca93f9f5f711a931fe8cc9d942e4572263f74d";
   hasRunfiles = true;
   version = "1.4";
 };
 "fwlw" = {
   stripPrefix = 0;
-  sha512.run = "9f4634a743206a5f82c95ec5c2ad247280ff8b8e95b5d6e98d4171635d9c226e3b0232e6507734e47592ba04d8102a8b47712d67e08334b9be4449b2330caeef";
-  sha512.doc = "8ebee4e71f6486fe2ffe05aa9aceee4462fac28b43ebd75dc8a5556e86eb96cdc2e03fec23a3d2243505168a8ee5622486d7081c99c9a8c1d0246b8f389b1115";
+  sha512.run = "ac2c981bcc4da92a7f91c3ac17d66c4e0e7c94ff1bdb3bf3c7f6a4eef19fad1ecbbc6048a5c74627126c7e1190ee18c2c9373e80d52130a2d272c58ef70de6fc";
+  sha512.doc = "bb55ca044aafb5b11b89b3c817066c4fb20facba8812667398ecf945bd8ed4b11bec2dfd21455db9cfa5e81e5f865655a3e6f4d3724bf40e47ad1db708896902";
   hasRunfiles = true;
 };
 "g-brief" = {
   stripPrefix = 0;
-  sha512.run = "c88997ad2c25f864fbb3b7acad7b19333cfb378a9e02df602a322cb2b5dba7bd29c4f0a0dfb7459996d2cac6c0b9e3de22431a3e1d6a70cb38dd8ae0415fdd7e";
-  sha512.doc = "9f1e97232b00ff2afe7d2ad550dd14e1e860a95ae55f9f3f9e94ac9b0314b6f0afcc63aa45875db65ff8d3e5bddc76a5ee4dc7abd03431efd65d7191fa9e4d85";
-  sha512.source = "4257cfbb187b7a68797a8bcc31967a4fe95ae5e57beb9f5d4db5bea360e0a93cc040bbf4c5a2ff38d60b4582cebfc1a225c620837d1f490507fd6554617eee1a";
+  sha512.run = "6c0a8e653cab5f67a85d25e18b98371323b3dd09365f6a3d1b47eee409b233db4290f6e6de70128f5b45facfc7771475671990bb2c79a1718c74972bfba78070";
+  sha512.doc = "147d30be05a9224e141d9dc23a81750d0c43bf590d6e1dcb3e92fda6c668031522ef410904e5c7621c9b98879d6809fe604cf47de7f24891bc7e15c7be5ad05c";
+  sha512.source = "447a25d983f71d109bc747ee8ab9e120a0b7c698a9238ea5363d4d826383af5587f78f21c442d4e1d999eaf4cbfee813063f7547e786df962866e57c55673c8c";
   hasRunfiles = true;
-  version = "4.0.2";
+  version = "4.0.3";
 };
 "gaceta" = {
   stripPrefix = 0;
-  sha512.run = "4a99b460e2455da5e82cce23884e7fed1543f942152c286ce58984c64bc16599cd9e5ad4cc2c2143cdf3c624737192a124197fc97e4c2f654ffbeda49e81a89c";
-  sha512.doc = "97e7e6abed0a0f3946e53082e81970344d27ecd95f7245fdf419d20f061d994b45a5aec9369ff30aaf1a31e6312cdc42d8a7eecb3a0e237781e13f8eb7f75c24";
+  sha512.run = "54c42cde3613f1fc28ba0a675281e64d2596e8f3c7831e1b1611c34fed1a82c01da2d6eb98058d5776ffc625d04e62359f63819307d04c6296705de74bfcef66";
+  sha512.doc = "594fb3b44492018c6777e014ccc4784813784d3e282cffec0f6b6410a59f088ee30c8113a714fa41369eb795b35a1c615f3069a43697d0bed887123a44c02bf7";
   hasRunfiles = true;
   version = "1.06";
 };
 "galois" = {
   stripPrefix = 0;
-  sha512.run = "bcab33037af8e711038628116c7e5b4c3c0e8fbc59df940e95c224379afa44c17bd9f551fb1b9deae86743ecccdc3130e80cde803f9233c99236add31109d52f";
-  sha512.doc = "938ad234561f95a60fb6ed7e8aa3b88aba63b7081044e37fdc5ec0e7b2eafd92afa919a927be6902a5d6232817941336267b8193d307e4de9ab2d58acb93d9cc";
-  sha512.source = "9ab411987c51c647a732dcc9e33f14780d45221698aabaa9d5a569212cc15d85d1bc4ad76543364e1550dd100d34ccf447b3102a449d6b55efd27ed73ae8cee8";
+  sha512.run = "0c864940c2a47ad82f031868c1933679f9ee0e5ab01e98386433311a4230a77c7a5d41016619fbf7bb1957fecc259bd092d7a0894eedef91143a0d85e68a6978";
+  sha512.doc = "7c71fe703efe235b3d1cf3298c99f2ba7dfbdc8d7c20861e8738070ef03b9671b1a4f6df40b2238d4b7cf9e765a1cfdc6210ea63ad06dfc60e0ac7a101735315";
+  sha512.source = "f1f62a005edc9b6b5c1b294aedbfe00cff61c48f22d2fd0b90d76b1c6144fd9c8b885890e4a6c6e64e054ceb67b851c6fe3d9f2f1baf2801f070f0bd269d4925";
   hasRunfiles = true;
   version = "1.5";
 };
 "gamebook" = {
   stripPrefix = 0;
-  sha512.run = "71d9fe895c72854c43d79b5ef48f8cfa4ecd12f6c3a5c9a267b3b67cb1d549c2a910c113801a0dbc0f3642c50dc54395edb5dfb369de284dfb95935f98cd682d";
-  sha512.doc = "49dc32afe21fc090a1f8f0c1f8734ef32b82ee41b5586df0bf6fadfab44f152a42f580c0119fdc8ed11d961a0b1b86ad9c900228a45ab91aa140c107f5769900";
-  sha512.source = "14718b4e3f70d98934662559b263c5e4314e745b9eed5a0a04ef3788590f4ec206eea1076acf5c08b386892cf2b7c0235c1af7bd1d075b00851852edf754dc63";
+  sha512.run = "4af22bc285bac3f368778dae5c91cf6a1999748a6dfa5fba96e166ed320e124c33f2b6d6bee16ad8d00d0f8067b24bb3567a1aba849b74a6b02fed3bb85dbc0a";
+  sha512.doc = "58493c9b39343846913263f53b3bfe0fd89e4adb4154580d1bb0ff5d32b5b91ddc75511a0241fa3b98faef8b2d9d7c1846aca486e0c7262f8b3ea7a6bfddc619";
+  sha512.source = "793f5cb23ef53b3d24d10ac5d52cf1e8bf90438571e23b5171c778ac720fb2c52a03a90e1f83f353df0b5410e94b5551d0855284df72c34a0f212842a3f96c41";
   hasRunfiles = true;
   version = "1.0";
 };
 "gammas" = {
   stripPrefix = 0;
-  sha512.run = "ad439a67c112064fa94b292a9d2f9a1c6b88736ff4754c880870cea47a1aa6ed32505dd00300caa334a1e465ccbe7d092b2521e2c40d2f84a641fd9006a58b4a";
-  sha512.doc = "f5bac7050063eb146a9899cb733208369330b38dceb9b6225b200169ba13ebd371cdd9c23f9434570c3b290b00a6b76ebd0b368cfc35f9431c0ceef311e73958";
+  sha512.run = "96be5ba2abc71f93d044d762403f294082e9afd10ff4f159713ae906233d1581ba408205746f968e10f84ce4e79e633a4f203ec4a8dade3f9738d0f277cb703d";
+  sha512.doc = "0c1739b475a45149deb78daca921ff8cdba4555d466fcf26ee0098632b835f650d5bc5e9855aba889a0caaa2a64e08d7afe1021d6171984bde3161c3543fe7f9";
   hasRunfiles = true;
   version = "1.0";
 };
+"garamond-libre" = {
+  stripPrefix = 0;
+  sha512.run = "3ef5b7bc8255319a25245616f1750cb09422a9dc0184f0e7a13d481e7124278e093dcc2962f9d65a621bd1ccf54ac82f46d74c5a97b5a2117f8e23c7a39fe587";
+  sha512.doc = "d62d901e83e943653058d64c20135e460d5c8418665e5418439eaeaf662666011e5563fcea1bf3e68980bfde9a9572ad92a4a60d6755acd8737fb10932483d51";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "garamond-math" = {
   stripPrefix = 0;
-  sha512.run = "e09c9801978859d7d28e6ccb8140c135b614378d6ee9ab3c3aa8b9520568843a03f2c68508d40d2337fb79ee27e4d28dca58990a97477bafdb39460cf2f18458";
-  sha512.doc = "4f5d7368b8b8add06f4bcaa2a71fd418962a58056d0b3a8b29a0036b677045d333494bf8b570703f2e534ddb5909a3a714604e195ab972329f1a95342f614a9c";
+  sha512.run = "e9815808b7dba1d0c37835bb30838fb8073f3ba7c3700bbf7997cce30b70d71194fe07e595728ffc894e22f6bd76bb559104249aa6c22c1b49a92251971c513c";
+  sha512.doc = "1fb3966ec8d6d7b8e048476a7129b8e6a650e4f7350f744db53f844c35528042024d156db8cf20939aef79d74292d3d90a61e6391e8723045efb4603eb0a8a38";
   hasRunfiles = true;
 };
 "garrigues" = {
   stripPrefix = 0;
-  sha512.run = "04ee1157572ea1ff83d648937b89b43c86fa10dd5c918b57eb43944e2886e6f6899618b165f02573e436b5726f1f82f4b4c1e5f28f7875fcb313c30b8c856a17";
-  sha512.doc = "ffc59bfba07dc6b46f4c63a05d22722bebc6f87052f3ac72472bd2ab0f5b3cc8a09f06e262c8db0392d11ed12cc14642ff10ece036b86a6d73ae0dd754f8066b";
+  sha512.run = "e1440fcf8eb0ccd3b140649c590c902882a8a5a02d4cc14589ed44193f3a70bf13839e9de9663c500bb6874d6fce34f5a21c07e38a7456738548b6ebf449b258";
+  sha512.doc = "0c91f7e1c8fe4910fa7052440edd9afd81c8932e99368219c8a5037bddfa4c8c11037576e9c94721062df9cf7fd5d467389ddcf3aed3e1853be38846c049100f";
   hasRunfiles = true;
 };
 "garuda-c90" = {
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "de8cffea9686ce311383b647a57dab4e6dae6f9a94930e17d76f13fadaaf762c986153c75cd185fdc1bbb7719676d348ea66779d6264b176370c76c379900799";
-  sha512.source = "699b6922116896b06054edc7e8410e66f7e7485adf9e02a12e78b68540ccf1aca00205749b0589542e32c26a7f65915556f7cb764d0a994c9c20c47f874f3a43";
+  sha512.run = "304e330de80c822862725f05da0c800ff8043d73398a48a4d88b9156d5575593aa1797e65f88093d3058594969fe3a288010efd2a13e12de52beb405ebfdbeec";
+  sha512.source = "2e2b368b01952c710fa01b68b8b094e2c64905ba9e6375c3d6a5d82a4b63dea5f6343db3898472416ba9e7faa46d660f34bb2f6d3530aca753feb5aa5c1ffa2a";
   hasRunfiles = true;
 };
 "gastex" = {
   stripPrefix = 0;
-  sha512.run = "02acdaee5e853c897f459a2adf0291d87b97489e0a87d6c333150abd073fd38c33593a5a826bfb670e83be200dbe239f732610039ec2ad5055bb67d17154267a";
-  sha512.doc = "f0f631824a24c4648cbe2c525c479861e33aaf05818efa3a7e1a26734015b6b44ce241a30aeeb1e682ed5f57b03fccba9ee5f37a97e96bcfa8292bf10e4c8634";
+  sha512.run = "b6e90db05d820b5e8001fb5d7168449d1fb6ed0679d158850ab4e5ad1166ebbe05680d190bcaf3c2808e2fffa6b3ddb2a824f223855182960cf849370493a1ba";
+  sha512.doc = "2890b569863b2d65a2df850e0e885e15754ba4b483fd559c0f914fd5ef2516a4b33944d365fd58a381a1992a22bddf69166cec0bf2b1072c9aed7829fa21903b";
   hasRunfiles = true;
   version = "2.8";
 };
 "gatech-thesis" = {
   stripPrefix = 0;
-  sha512.run = "507566b1712e4e246424b8d87c659f86b2b9913dbd1f2667ab208f56636bdd9d8303b6b5fd3580bfbb85291ff4d3e5bdec42a1f5f33b858a880bb19122d4e0ad";
-  sha512.doc = "626e2067d411401fc0a43cabc6cfb39128ff0e1fcae1c4b7d2d0ddc113c22f04b13327f133eaeb365588a782c2d7c834026d057ca35269ee52f09a10c8f18117";
+  sha512.run = "c5928d0d383da4057a0ba00d2848d324624228f1a98f0f254b09fea35ba21e3ce655f1fbe02ecc6291921e43e9dbd2ae954d6199dc22c1390bf04670ca41038f";
+  sha512.doc = "9fe1e4342becab8b57d892256bfd0723afea3a3f4ad3edab2b3c374bdf410d14b3105f165aed56479e848939a5cf6c807112788ff3a82099641fa71f4e78b5ec";
   hasRunfiles = true;
   version = "1.8";
 };
 "gates" = {
   stripPrefix = 0;
-  sha512.run = "cadd90a07909d9f1248ba9107fc8af64ecb54df7bf1c63919c30ecc032b496c11b346490c1b37218f75a1d191fddf11208a229dd9980e4a550b4af71700ca947";
-  sha512.doc = "bac81ed9937b5d52c4a9f12a31be2614734460d382cf5e19e0a7387f66ab9b07a4b3ffe96146fffd608b4d89c89d5ab925e15feec0f3f0ee47ff359e7a8c0b1d";
+  sha512.run = "704126d5e113b9718654e5d611d169df17b45ec09f187d86d1c108a331e80939d0266c4473233277e1b465a70775da1ea9576744171209ab45203b4059b96b83";
+  sha512.doc = "a9cd7d2c616021d429b299027503fed60e8474774b6d57095371f1afaba68709770857ba09f74e8e5223dcbdd1d9f1f70a0ec81c3801b1a77c3a494336fa86bd";
   hasRunfiles = true;
   version = "0.2";
 };
 "gatherenum" = {
   stripPrefix = 0;
-  sha512.run = "0819f78de222816110286cd765b0c3223e5ec467fd230f065fe283ca0e4340dfcf8d73862c8df5a7e9488f1ec68c2cd2e6b44a646fd498360f3013d9853e525c";
-  sha512.doc = "0675c77700e8dabb9613e3a5a55c8151e750152c9a1cd053948b34fa80691e6d92e2fbf72d5be43d617aeefc9be5910e716aa1ea0cda1db6106be42285606219";
-  sha512.source = "4e6eaa37129662dc756780a55cf20974b07a4a5cece933c8407d10fe91b62c918eb01976c15541d384f583dc40b61a093ea1c0381dd46f2dbc5b8687e0ca27d3";
+  sha512.run = "f0a0897ca3b306341a8af5121d09b31d9169a90e073f3d2babc2b4a32b72d33b4f7ded73f2455e5b6e7454188112440cdff97c4332f3396c948ace8b2944598d";
+  sha512.doc = "9e6e1c322aa19a1c3ccaa622cf8657dd314dccc0fedeb7056e182bfc648fa21b06b67e8d1bf2d529fbf84652a0d6eec9d5a4ffeea1003dcfd2cd195ba628c6f5";
+  sha512.source = "5696c57b7a05132487fa04c16a577531886e8e443aef06e2b3b6418f74d2d971160cb1d95df43ae29c81ebde9459f8611bdea151895f8390e03d5ff2193fb318";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "gauss" = {
   stripPrefix = 0;
-  sha512.run = "faed4d59d517f2c215d2467cfe5212e9dbf38cf76245a9eb287d9ec172fb3c25bf4489e26c02628ec836e69a8e0292a12d92c505eec1f71b45dcd0d3bdd9ce7f";
-  sha512.doc = "d0253226c286290860e0d5e9a806d98fcecf3b8e847a039c1c08deacf64eaaf57b3bdad019e8af3d75fd5f19f88eb282c7c9815aa65bf6ee0de30490c017e595";
+  sha512.run = "9dd3f7685a8b7bbdfbee1fbe5dcc5d2819091c7c20df7979b1b0fb7971e613e45b6321a18674e88bb0d6222f050f0ab3959b087be70b90b5bfefaeffacc733f9";
+  sha512.doc = "50de7e9af2360367de7f7136def2536a82348752656b1c40022d7e13271cfde64e67bcd482c2d208f47b88a30560f8179b7b8706288809b41d023c037147f0c2";
   hasRunfiles = true;
 };
 "gb4e" = {
   stripPrefix = 0;
-  sha512.run = "b80d116441b5b64dbedbef647fb827083ea6440ed903098f62e6ba29352ee8875652ece3ba4ef03cbd312956cbe3e12555824766bc6cf21b5e6c47e15208369d";
-  sha512.doc = "e97f5db682638fb74215986d85a8ae4ef1a50c415b5d48b202a3ec4d97d82e57f059f9e86b90f4a954d3a56260591e45ac023e0512050807907394e39e03c02a";
+  sha512.run = "1ec519ad5f22e6d61d16a0233a73065b45e8628549bfecd109f968b8749c362cd04f358d67e96b1311577f94f6152e7de7a9e3264ffcff5c5769662b52df7e29";
+  sha512.doc = "9b8c8e2590a1a515aa84e11a4028aadeff9e4acb7d3ce99b0d21009e17443db3d2feee85d888a333595e144244efbf978239e6dbf48c68a43bd5709d9489c203";
   hasRunfiles = true;
 };
 "gbt7714" = {
   stripPrefix = 0;
-  sha512.run = "09109545412bf81801f5bf3ff2a11c499c46bf38042602a7c16026ce34f6d223c53aec6983c9aaf1bd3f98f020f728d82d1a51f883a0ac77b5ae3c489b899262";
-  sha512.doc = "663114268e2f5459d2bc6d28752d01483a88bfd1d7abd6d98dd115d421a25fab7acddd5892e51343906cb71ef153376e6ea6c60b9cf6e65ee7958dff4a2ac64e";
-  sha512.source = "10e7e84891458b374f7fe70b9b6021cce8b0bc9a1aaf57a673dccb014bdd4567300cf80716f1a11ef8ab35a5944c909f7a7781145d6668a4f79415fb6c95631c";
+  sha512.run = "20d7691ca964b30f89560a250d73ac35fb01e2da40026d5e03d1367a12c0466b94d19592694950daadc41d76b3dc15420b0fc257579a6be0a4cff06011b0f39f";
+  sha512.doc = "4c251b0ad2d13581b0085847eadb6a376c6cc64218c08439f4851cd3210671275d692d49a57f115c3a5764667f0558056ecce99fd51cccf169a5e61d80af84f5";
+  sha512.source = "8949ed61bf30ad172217bf50943c805edad7de98baf01e3e07bf411dbc95b56f8268b0c143156c153fcaac7326134282c1a7d797b03989ddd14ecc4eac810201";
   hasRunfiles = true;
-  version = "1.0.9";
+  version = "1.1.1";
 };
 "gcard" = {
   stripPrefix = 0;
-  sha512.run = "47e3b6d7910616831a4e2a3b6d6b77365fb5fb6ed2a7542f08067fe5e31fe3a19c4dabc232e41ee0f874d62277dba6c8587eea042512879f1993b5640e57a8a4";
-  sha512.doc = "f16c2f67c1d7dc6842c169b41404090c0d8702692deb32c498f1adf6a48ba7aa16ffad49ae7e9a7cf628d7e046ddb02db82dabf2a0966bec63bae77ddd9bcd4f";
+  sha512.run = "de462bff229779faa33c546d525e3624f1ed372c09c1b90fa9270928caf0a2604f2bb9d3ef0768de7dd0646202d7a59995b7252c0b83b19eaf777438bd1acc47";
+  sha512.doc = "f7fd3c07e053962c88d0a0b8e5899272a3bd9af4cf1731f88a7014773d8f0ecc91fb45e1e59b1a372d8c8977e1dce91c5162558d0245d77a187ac7787a3710ea";
   hasRunfiles = true;
 };
 "gchords" = {
   stripPrefix = 0;
-  sha512.run = "620ff42fbe396f13cb4d4f83aa5b55327638fad8742fd9004f37f6382e3584a957b3dd3de3aa9691c71fe2e80c5f89496c0acc7a9b1df9da6d13b07152c17734";
-  sha512.doc = "ff33c35bf00084e05a4e7d95030d34eb382ffa136289dfb4ad02fa831be425388ea51a3ea511fcaa103dbb6b16785e8a5ce44b7d45cc697f29e8c06b9c976687";
+  sha512.run = "7fd655af5446982b450e3eec2b8966f2fc17c11686bb75f516ce0043af651b90e4f88c9cfac133929fbb686fe3f7be6de64d89bda6822f218b691791c9207950";
+  sha512.doc = "26818218c9e3142f4bba491e996556b28266953c6b84f1c3de58d60b1bf100d15513fd2898507cf43226eec127942dede647784060668d86bcb22e3fdaee96cd";
   hasRunfiles = true;
   version = "1.20";
 };
 "gcite" = {
   stripPrefix = 0;
-  sha512.run = "9772a2fdc8a07abefe7881c662cf5469cdb17a41b80e9ae9aee6e8ee01d4d3f42d55fe887277dfc5e912227a672db89ed24b26b948ef20e919a770c12a59d765";
-  sha512.doc = "15f2c59104e5d320de4f76eb32942c67337eaa9f40bdecc3d19edae98a675207ddf8d7f35cb314582554ce44432be2cc86960ed830e0a362ecb59127895f4402";
-  sha512.source = "f3e6ead38a6026c0441d084f921a78a0e0942cd4befbaa39df39b3b0f9d8cddda7f5120cba432df78f3a5d341c150463123ba86867a46b98dc155115d64e96a5";
+  sha512.run = "169d9e96121d80bcbe7580e7ff447e8df252b19dca5b304514a792764344df679e9275b1a552d67070d3f5b0fc41c70a6cf1ce9c90358dd9ab58878643be6015";
+  sha512.doc = "d9b50778855efc00ba4d6d6f48891865853b8de8e55c3432140b0ba69767c6c13ab934c2be43b2556a862bbb5413ddccce158ec4130576617a75708919f1ab0c";
+  sha512.source = "44e8fdfff2e015a9bb034496454016f8f03e08e2f5b8ca907670447694877a383ca99a5673db107397dba07142e99cf01d9ee59a4a360d6146a389de7d103cb1";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "gender" = {
   stripPrefix = 0;
-  sha512.run = "806db75dc9ec6e471e8a4e730298a771b791ac391cb7e0e2c2838de120e096c363b4143da3e19617f5c6014ef5851fa65a90d85552dd27f27b8c76a12d34523b";
-  sha512.doc = "3fb64631b8c2e49a2aecfa59b0717299ad3d5b5186786878abb5e539fe0f35e716c2175997cc084fd4f13c68a653966b511d43ba3b6bd6e44acb7a52a928ce98";
-  sha512.source = "d6af87c19855eea27c687deb9919e415e0e31838bd712640eb56dd9a9818439f139102fbc1dd56583a31f44742872c2a76512c25e45bac623bee6fe27e5d0d87";
+  sha512.run = "261d57b05993954b80f82844f590f952fedaa4ade8f89704f2e2b4e2d18441ab5c8adef2ba3dfd81b61bed53150b737ef72964e1faa44ca48e923cfeb5a1bc14";
+  sha512.doc = "7c8bf143cb7ae1d22416df88aecf7e004eb02bf199f74f8003aeb9ae3923a3db42f1735650fac8aa908bf220f16ca48b3e4f9dbc312668d87df65149ea674be4";
+  sha512.source = "ac76060cc1b8c3bd876ccece1d82127575b956fa1bd3bed63d9d8a927845c8477c903b47be3a6e2d85de06899957d273d981f250cc7d02a12830a8cbfa6f6183";
   hasRunfiles = true;
   version = "1.0";
 };
 "gene-logic" = {
   stripPrefix = 0;
-  sha512.run = "74fa725154e826eda2e46f506bc5be514bc1fe5f88a758c6b88434d2c71c6ac252f617439e18d1ab67118a86fd9164f875b86ba65c22d85f5600758e7501d7fe";
-  sha512.doc = "1265fee0f421d8c5f06b1ba6c1404b563207677925724e30d29e6a4469ef96b6fe62b7718821449a61d93c77228f245cea193a15953b6587d77f7b816c134775";
+  sha512.run = "b7cdc0d653aa8e25d763ca4115fa6fc857ddae35ed835aee6b6a204ba83d01ab91928b00248c40677ba132ef113276912a6b85dfd456d937114a3263a1ef4c7f";
+  sha512.doc = "db358777af18e7d2e93dc23084bec0f47270b4cb6c6078382a1eb9ce288aed06a6f55fc30ce728b1312d06f871458fc6b5b697b1073316e8f727b5ee80f99468";
   hasRunfiles = true;
   version = "1.4";
 };
 "genealogy" = {
   stripPrefix = 0;
-  sha512.run = "6f583417b4b950238dda3bd4a19986701780e47f541adca3b7d7fe355223064547b08e3bd221d81b70653b578fa05b0003eccd5219effc1f9d065df47a32d6c2";
-  sha512.doc = "5f492e8821642350e9e96d622da5bb9d21449f1a8ca1d381f04f27a9a878308c2f40f05b117ed29702094ac1c790acee84689ff17b3097ae9c014e98373a2112";
+  sha512.run = "907394cb0ca9b3d339d78595e613236038ea2acce27c4468b7d028d0db7ddf36f7037c4f0bc63d5970e904d0675bcaf057c769239a79f064fa6aa9dae4f2014e";
+  sha512.doc = "34c9d737d31626331a18051a5b04584fd896d7cb8ea1814ff2fbf30486ec3578b2bef16155b9c8f2ca645d42f797f3101c799d3422c05f824026e268fa4f94e8";
   hasRunfiles = true;
 };
 "genealogytree" = {
   stripPrefix = 0;
-  sha512.run = "9ef09ca5452d81cc2d6778723ae3b4b5798864e757c553f70599174e359e4a2f2302a926faf76ee094e6cbe3935c3b7f34087135ec086d8f31d1f86e78c155e4";
-  sha512.doc = "784799d2a934eb9e0dc42a6299b0f1a47a25a81bf3b74ebea994c82066bd6f3b6b7fa5445ac8ad619e016ca4c38cacf690bfdb60dd868f23644918ad18bd774a";
+  sha512.run = "295a763f682dc1acb025856df4de0474d3893d87cf0e530a2b3f72ef7a37dae87d34c97abbf40898f920f188f7cfb7366b654004b7c577b409ff14caf25c1072";
+  sha512.doc = "9ef261874b54e2d5d092b2f362ba0e5ed6b1932f433290ebe6fda61cb87aaa3b6ba09708df31d6b10c1263288fb62ef79878ff0dbfbe104d83d3b4559292b6f5";
   hasRunfiles = true;
-  version = "1.31";
+  version = "1.32";
 };
 "genmisc" = {
   stripPrefix = 0;
-  sha512.run = "bb8038964454d4203f064100942470e1ae88e830caaacffeafa0281808176199bed075224fe62e99dab911e2e071f6b2916ce16dcc2f7307f0e83a7322c668a1";
+  sha512.run = "3e41f140088d5340e2ee6dd022eedf2dd9d9e6424d5a2467a674334b4afa079d91039e1eb018c4e95bea47d61dc32350a3b30897ff9e4c70cf9eba36a29f07ca";
   hasRunfiles = true;
 };
 "genmpage" = {
   stripPrefix = 0;
-  sha512.run = "ee01a45c5dda8360552168adf2e9a9dd85a2e715cecd287e7a334509e10c5efc11186ebc30876cf4e7cf3ecb44630333fa6835c3bfc4380e37e973d78f1b57f1";
-  sha512.doc = "98f499fd5a908e5dad5f7c27794aeeee512e164f7e7a502313a52a5c17af7836d9833a7a2c034b30f63cdf7912855724cb96a4ff430eff0a2bef22973a883cd6";
-  sha512.source = "eb3c9dc0e4de3b3a2805f557e554ade2fd882cba16f645f2e44e8875680437dc38c88043821f91db3b63e6cf7481be317780de465f8d7dd17919ade5303e5a50";
+  sha512.run = "b2618005fc0f00a636e3a307ba1038f8dd39798e2ee2afa4d9169eb45ed4b38a67a57bfb516e9dd8d93ea0210a7fcde21b26c0564b974442e18021d83f905265";
+  sha512.doc = "c428886adead6fed52f0d249db34a950b4f22b03770ce1bff0831fca29477ab92b5d83a9719b73aa45aeb5f2067f31afc810b6cdfdd69e709ec5e61a08f45472";
+  sha512.source = "563042ab68aaab51d357c957111419012a0edfd27332bf30be0985e8625abce945ca6a6a081e62f6d0ee29b6885a55270553b622bbcda5f369ad61b53d4ea723";
   hasRunfiles = true;
   version = "0.3.1";
 };
 "gentium-tug" = {
   stripPrefix = 0;
-  sha512.run = "16e8f323f318166d5e900897de9fbf6b382156d0c2590964583b34b0a4b3a1c91fe81c6ec794aae56cadbe697b78f7779c7f508a7ec9aa87f2af0aa4610caa4a";
-  sha512.doc = "58cf40d0b34e5929ab108dbad393591f1f845720c8a2e33220ce95a016613c310e900887f11290699f93ba312f4b574d55a2339559e2cdd49c1b0c99c009468d";
-  sha512.source = "2f91e06f209a5f021b01a2ada22eb7d72df58404938c61dd8631ffc04ff1e9b42f95485382ddabab9d9287542b68d62662ef7a1454e3f8bbe315c32ac448ea38";
+  sha512.run = "b95a521b417f21379e61b7afec5462f06e3e20265f9566d40a19fd6ba430b02c6a3994a2861ca1f885612bfab0ac174ac89fb2221734e33aaf267c2a532e56a5";
+  sha512.doc = "074d5a42ddc427f240a956aca94d95b065813206b2ba66778de032665b924d02065cefa17dce14671b31bb8e455215bc34cdae29ee09a2db8b6e330fad3e7e1a";
+  sha512.source = "0c660e919f9482d16ef6ec5fcc91a894b2425a250951db1f688f6d2d13ccab5463225cce652b35f0f7e3781e046fe42f7dfdd285eb85deafaf420e0100dbb01c";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.1.1";
 };
 "gentle" = {
   stripPrefix = 0;
-  sha512.run = "b5233a9dd5a5829460fcdc84b3bca12a4a5a96c6e6d6fe44c306515bdc4185755711884323430acf6be0b5a277961e27b4a81711b1cf92289746a076d49128c1";
-  sha512.doc = "8005a7aa84be338f8247a5a8f5b1c9effcbfa772206a8c3b4518d748445322457cc591fe2da7c3458a18bdc3217a09c906f44e163a67eae825aabc5766a1d58c";
+  sha512.run = "b244b249329d1ee622686d2a44d1469ceeed7e2adec5d82a2482e8659266a8224490531e0ed971b56f945b63fd1081f29aded9c43cea78fa8a9aec836301b26b";
+  sha512.doc = "fe296c5bc38a1e6d13d2b46dc8081a6658764f7017d0831cfd46dd86082371d6ae095ec3b52b3aaaacc0a57cbcee066b94644a5746391fae4129eebaa246e146";
 };
 "gentombow" = {
   stripPrefix = 0;
-  sha512.run = "2c9bfa3184f6bf33d22805b44cff732accf850da4d2b4e5bcf011fc3c925ed3c795575fe9bc1d62bfbd965e1bd15a3b4d158972d7358060757ee70c04898b21e";
-  sha512.doc = "9bac65eb7a490ccaa0e20201389924600afa7c1bbd835b2470a4f8a07d44875179ed672a5626ee15332a6fad738fcbb37554769ae8a27646234fbafc22f5cb33";
+  sha512.run = "4643d4146fe341552af7b3600b61b7c852427fca554b9c7fd4eddd3b1645ec7a686a799fa2371e0a9b1cad02ab5aa965a690daed477ea8c14711343e8c274992";
+  sha512.doc = "0de50b7a73f752f36bca2ae985a53b1203e9bfc733e2cc3bb5e7ed9afbab0bc59b91cba95a315d8f41a4097402ac9c84a5fa86bbbffaf003fd1bb7da643af54e";
+  sha512.source = "d73b8bcaa902875be9fbc2620e69a85deb226337b9c330a1e083bc6b73690db214a8a426d243b41b50ac708911559ad8287f7842cd449039b98510c04b75bec1";
   hasRunfiles = true;
 };
 "geometry" = {
   stripPrefix = 0;
-  sha512.run = "c46127522e9f862ae31f6a77a7a64bb1375a02bb2916905aa7b1ce10df7f6680a8959b18f8680bd38e6a21b494c6d69e59df1ae5a42c9a69974bf6a130dde2d2";
-  sha512.doc = "7611936292f14a037e34a719807c224b2468562d704bf7fdaa6110c31c67bca89afc78c14fd78b8ff5f4738451313e94a4c2ee8c933c666167134ef9ddf58c8f";
-  sha512.source = "a93b2068243d9c32c6cfd03ead56e6ec1a53c76857a9f72cc4525545934cd8f9944a92a76ab9fe37bd25a46aac885c52096d036c1166f66848ec96916966b0ac";
+  sha512.run = "792e765a8882e18db38219b0004c6079793d630ca7f80b6b53cb79989d0a9a0d9a58c69507ab6418cbcdfe4cb00236919c51f3851171dfc42e43be682e0b92d1";
+  sha512.doc = "0293ca9ad86d2b2bb0cd38d151aab88c2d6991fc8ec5c6745fe68dec0795082c55d473114cf44e5dffeaf17f064b24720509f60bcc1830bfcae67254b0997a0d";
+  sha512.source = "9a18a0339fef0c5a0056ddd03b100e329b8860d1778c1e0119bc9677d5e571323adc5029c245afe30b7232a65d5793221aee099e7666a73e9b695a2336bdc341";
   hasRunfiles = true;
   version = "5.8";
 };
 "geometry-de" = {
   stripPrefix = 0;
-  sha512.run = "8bb8a7b64cb2f4f07598d8237bb708cff0b8eaaf00789c74c7407d6fe077a35b540520486aab6ba5d476245e38aa37ff36e710c3c8e3c0057354154ec1be5a51";
-  sha512.doc = "e57236897990d065b3dd3d16c0435cb2df3b75a57dbf1065f16dffdf78a0475aa15fd1edbf85e01f59754ca987784caf87af257f95341f113cd1ac2009d3f13d";
+  sha512.run = "462a81975ad340106b5e35d6d57e6102d31baf494b203426bb8783ca82b7f02e0656ccda608d558e91693a771e14ceaa02094f365328296b721147eab83fdd3f";
+  sha512.doc = "afcbc17a2cf01ec949cc2ad427335f092f65b3187a7a0225971a9ebe53402b19629767dcc3b1935f7d019cd1dcaa72b46931efccfcd2aa61c4fbffce2034e4dd";
   version = "1.1";
 };
 "german" = {
   stripPrefix = 0;
-  sha512.run = "d360fb727a70c83d050bd870092213a93f9a240dcacc4da03520d9a757e925e84e0b75323b272c39078e3612b99461b82e63a38fbfc53f56748c6bc98a53dfe9";
-  sha512.doc = "b1831d47672d54118272148aa56fa54042e6a667be4ab91bab431db35d4f3a39b5aa4598b4159a77324e27ea1ef41b12721528b73482e71284016b4a4fa9a678";
-  sha512.source = "5005e00b83984b3a15c10463359deb399bd0654898317f5fe7d15b65b0829a9cb3a48008b69d7158f971d3cd546b7cc8f5aacbcd019898ab55c3f6b761a6215a";
+  sha512.run = "6cc469012ca6cb76baf2bbea00d198b97c2694d9388e90d2ded6b27da30f8d56aa2e6742ecabbdd335b7299c0c7476cc5479b59fa94468c9354f35ce18b59732";
+  sha512.doc = "b9795ae418790119ca923079221114b9bf608ce2460b810cb39575910c0b173ff445c428a2ce6260bf90a993fb354d2b5c300ba58344d907965b65bb6f2d4ee3";
+  sha512.source = "9064ca69c304f86eaaf2530bafe353902de078530f57f39cfcc0a9dc0d5a04ba5329ac9d0e7e10e3ddbbbd380c14b4efd8a5b7a6b0099f2c504563af74469c42";
   hasRunfiles = true;
   version = "2.5e";
 };
 "germbib" = {
   stripPrefix = 0;
-  sha512.run = "b920a479124e04ec4b5c58a6b48e2cdbdf72c6e1720d3f938d5e1dd4656ee65227d907064e86b7d65d2c70c1edaae25223b0e328d0c325a8bd91f01ed2347ea8";
-  sha512.doc = "85efe11f202b4d2c119b0ba4aa545c9305fe0094d94e616bf29602ae50e1d73c459af7fab35b35d7f57323921a9e7be72b46d56f828fc3325e1c77145a127a64";
+  sha512.run = "a7854f834c868ad80bcf986380f19139687eb80309e3aeb9a001d2030c5bca51de617394f920801834df460d05b52878301c6b45a52666984b3ba2d0910c416f";
+  sha512.doc = "53dd4fff2fbb7044436f37e8a2baf48877699db4f99b92a701d10c0230439b00b48ee09051839efe4392abdb4335c3998d92d6239802c765bde4aa2df3d34ab6";
   hasRunfiles = true;
 };
 "germkorr" = {
   stripPrefix = 0;
-  sha512.run = "39478f3902dd4e9e512ffeba15af41f11d881dc5e629aa7c697bba76c719fbf7b7dc0b68e7bb4f11b6955de566ee51ac16b7583cae96010e68b254afb23d8d25";
-  sha512.doc = "3abb2a5710117d55c65b9ae9d8b5488bd71e0a8063e105f211d21d648de0ec59fc84c950823d3e352aeca6e9afc3b5e83582920bc9a21b8686360d4d5db57169";
+  sha512.run = "6819a79268da2704a3fa6baab74be48ccd591ba998a0b012d323cb0149273deba6298a92629f0d19c19725ef0b41db9dd28adf9bb898c1c637038f9c22ad4b16";
+  sha512.doc = "ab5362e069674c2c53709bc776be9fcbcfd3e56226a8fa7b9230c2f4ccb6fb74bba20485362f48130c153d81df838281620a628671c202cd60a52bf8ab5b89cd";
   hasRunfiles = true;
   version = "1.0";
 };
 "geschichtsfrkl" = {
   stripPrefix = 0;
-  sha512.run = "9486137efbc111afd1d2410aa6bb91e2a1484c38f466becf922c2b4de91be6aba9dfadf2def3c73929b000ceba0248831809b45383fd6d8fe289d4ab5670f725";
-  sha512.doc = "ba8a23e22042878026c9251f610515aeeacdd1fcc41346fc4ca73f5705f62508cb07fef0dfcb8951dd4257130cc7af53ffc327fa4cf24e1104014cd9172a110f";
-  sha512.source = "b976b5c66562e49afc93a087a3221d2c2ada7be608c6a0ceb9c960ffa06381e96b5bd91c9e862b8bb28e4dfb5724dfeb4a9a89cf5d7e5531be070d55257f8d52";
+  sha512.run = "24cad33dfcbdb8ab91a80509771bd130ea6682a14fea5510ea202af73155653471deab91abb43a302b9717c252475db58135ad465f28509adae5d8583bf98e0b";
+  sha512.doc = "6d1097dd0047c029100358bd3161f2ca515a09cf9a62b2633d4797059688bd5c30e4eab11c31081faeefacf892415c5d9a4985d20245ea9cf79b4197925ed2e7";
+  sha512.source = "28c6a7181bb91d32ddcdbed7dd9824c8a63a351acc39f4c2e60ca507630fc23b0afe62380a64618d882fe742388d5537a435dc0b6738ba8d5288c5f2894a4064";
   hasRunfiles = true;
   version = "1.4";
 };
 "getfiledate" = {
   stripPrefix = 0;
-  sha512.run = "f708fbfce06bf36135771b5b81cba833eb8e83c77c8150ec47318eb194a95ff91c761b765049c29b86d381af760b5b87313ef8cdcbea0affc33068bc91a5a94c";
-  sha512.doc = "8a19fa537a752eddd8a6326d355624a90afd6e88aa5097b6ab82992020e5ff53f8107d04fd48226a5f11a390a98c7a2c03c5946243f213fec8b1d6294eaef1b7";
+  sha512.run = "017b3ad95801da2788f2c5040225c6a8a2ac6d005c1d68d9eba0be061dfc9fa6f088a0279a75d25bea8ba380e4a92cfbd9b6a6b812d08cd2f86de097f7974fb7";
+  sha512.doc = "490daffa0b0b28c9c02d745d8de50f22395f6ae773e07f6e826a8ddaff0d38f9ee48e822953e9642e46be26084ec2919bcac76c388cb3f42965f1b662e4e43a0";
   hasRunfiles = true;
   version = "1.2";
 };
 "getitems" = {
   stripPrefix = 0;
-  sha512.run = "4b32265cecd3d2a3ab6ecbc0f60f60d56b978fb62682e8f913a1b453db40220b54bdca8ce81aa078f8ebcb57306eb79e127575017939e6ab9bf068ae01351909";
-  sha512.doc = "dbacf5714f31da72a348fe69df63ed469363ba2ad1b02f51d9704f397e275dafb0e537dc55b519c2cb97766595c13ca8d4c9a306d75fa2f267dbadbe92d3bc7a";
-  sha512.source = "c40cc53ece800d7a88488d1d8d0e57033cd7a79231e252e7b516c9514aec73f43cfcfb97db064f6f09f9cd25240e403626433146ed6feb32831e4a49a6434aeb";
+  sha512.run = "8797c7e70f1c81330b68b6c386116b0caf2c350a2b75724d796f0ab7380a2ea4cb2ae293ac3e6b941887b30faa2b73775c2bfce7c674ee98c4256a23231443b0";
+  sha512.doc = "95302dae67f3193dc3d52b4e5724584ee066eee1dbba30b1233faa0c65fc568f932805b18b8054165760a2b655b486e7f3115d3b37be780f8f5a7220f2f924fc";
+  sha512.source = "1bc8b4c2b75c5cf43e18a510e5e479a7109ac440266e0dc7d748d6ef391280d81f72a07f6bfc518c6c0c313b7c8e1e11cfe9ccaae33540e1b48988414bef5ad1";
   hasRunfiles = true;
   version = "1.0";
 };
 "getmap" = {
-  sha512.run = "6209f31d7826cccc8791e3c1733ea1a86a05e9bfc036f713584cc6386cfe2d147cd1663e9cf18a5900f77a155ff2da13e2152881118b2647b9fb5ab3ad86e8d3";
-  sha512.doc = "47f89462fa3ced7b39fabcf2b95a80df43e09a4fd337c111496586e0516b5319edd292cce88995f824aa56c986fbe39fe7e0776512e1781aab6b05440883f478";
+  sha512.run = "e5287152442820e20087b45c50a750af621e71e2175cd6790231d81e1f338e50aa75f29d9fbc31c2e5802229c8f15c4e0c7769d0513f1d1b0bafc96a8a3b120f";
+  sha512.doc = "bb55c60ec958182aaaa6dfc292a06fbad8a0ebdcb56a6799f1358ad2009bcb72b06611672219c5e9bd6d7cb4db76c4fa030be5e06f9bb38d04fa6744f8bca330";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.11";
 };
 "getoptk" = {
   stripPrefix = 0;
-  sha512.run = "8669abadaa18e96dff02381a5e7c82749b50be58565b1cb27139d6cf50a5b89ef141954501bd2437d59345829dee94391a5e6481e0e148d2cf5e172b00dbb2fc";
-  sha512.doc = "a2090afd8067557e6326f001ca1a0dabbe471ef82df11320ce5b414e9d48cade97a0ae18bac7087f714ef0bc1d391fd15fa2c8844540a5bf8735839daa4143a3";
+  sha512.run = "6a2e543d0997c52155807d0d2641af9714cb09531286a58bcb2d5fec0e70c694edb7d603a250281a641610d1c39495d5f93417da5cfea7a86da1fd53a98ef77f";
+  sha512.doc = "fba54e8acd4f494c4e859c8705cb97923e477ed909720adb8c4735c527c3b13799ad74ac1700099bfa282144f2b38358b890bc52d4ae4a9e16699c2d0e10619c";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfnotation" = {
   stripPrefix = 0;
-  sha512.run = "74022d881516a4fc215ab98323b15e5f5824e2aa15bc40e8296b2075819293f4e61c29b56d9bb4391f74a03cf8734fe0ff6981c61eb0f4c0a2a1bb06d8fcb954";
-  sha512.doc = "324e1894ac909bf7e732660549cc0e3949c0deb1430f046d48c73b88f580a9332114b28629925079d0ac0e8704b8873af59a88e5c3a12b26785a220c0dc02a0e";
+  sha512.run = "4f99442eacf28ea13cd98ee4bbe981b95ae9d849e6bf2682cac2305fd793f6e9f5e4211362385890956fdb24ef03748e9cb0184c7ba9ed89e7985b2caa3e2da2";
+  sha512.doc = "b65d173c11400a7681510cd837ac6e8ebf65a458327bfdee140013d49a0c6fcc339f6c45d4b4ee918585acaf785c12e66b3df5f73f01a1f2d8c5b8db58b9c47e";
   hasRunfiles = true;
   version = "2.9";
 };
 "gfsartemisia" = {
   stripPrefix = 0;
-  sha512.run = "aeaa238e5d57a0481d63958cc86be0b5770a4569b34a4bf5e949ae2aaa67415f5d4d34bc80f17e0e664906f1c0e3ac85148f4edb8a7cfed5ddcc023006a414b5";
-  sha512.doc = "b19eb64545be5a0d0a7347a227e63566f7e93a3a68205dfbd1e24349eee07e0076fff3c83f283ce67ff4340df23f1bb8cfd27ae977941c2909e668ebfea2234b";
+  sha512.run = "28cb811a30c06bd6390b9268dd2a7a4dadcb2fa9d426d9461af1ba5593b2c419ed1c7886c3aef9bdbb0f1fea3d6bf127ff6088a6b2c2048dcccfb21c2a06a5ee";
+  sha512.doc = "9f2efd76c243177240f237f7232fc87eb33d7ea1177a7bfdf7d506077e19c40d3fd923a960595c46f50fa19979598bd06a1865cae8794d45f91da1d6a9a60a7b";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsbaskerville" = {
   stripPrefix = 0;
-  sha512.run = "748726e7a51359f9e1db7d8e9b754570181ef22fee0fca0bab2bebf46a30919415263dd3865caf85b3a312e865246b878e803789d12925ccd3fea7f8ea097d9a";
-  sha512.doc = "ae0ff51072db75afed124be042218b147362ae631a5126dbc3c304f65adec74948aa9419d40bd91342eead325e83ca7176ef30c40c9c3211b8da5fa9f9fc482b";
+  sha512.run = "b545ec586b3bdfe3da2cabaa959ceeeb4ff513b48024575b1b5e3c57bb2d10a0b4e2cd7507726275eed0826dabf03d05c20eb9d5ec341aaedc0313264214ef78";
+  sha512.doc = "a45ed2b35774755a6558431f784faad4bbd63aa81ad5d80c3cfe3f7726604aea3e4de2baa72bb27a4e2271e9bfe180c8963d06b880a0efd2dc5f7789dcabb51b";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsbodoni" = {
   stripPrefix = 0;
-  sha512.run = "c8c616a736d543cdaa22aec02ed82ebb50ccc3a27f47a522b4572450c8dfb30fd2b2595049d192eee75e3be7db34abc4f556ad7545a3ec2458994c11e2cfa353";
-  sha512.doc = "5632de9367ec68c65377e91a480e295074a79baf536694752b3e96a8ce7fe548e0d23d1d22b90a0768c0f4c984c886dc25a79c5dc41c95bb4134c295ad0acb44";
+  sha512.run = "e01cca38176330bdc0a4b523bd2bd4f73a497d90a34682d29920e145d11ea099f163fa08470c79e10a27a137a5901d7da9db54e461667af61c687adca1960249";
+  sha512.doc = "c70b1a32e945d82e50b8a37319ee2bf63d4800b381f317168fd945311485cf6c41c7a3112e89457f4ee40bd29736accf681bd61494120e3d41f0c8fb28ad466a";
   hasRunfiles = true;
   version = "1.01";
 };
 "gfscomplutum" = {
   stripPrefix = 0;
-  sha512.run = "6c34446f452b1a87fc266cfd80ee55d3a59aa6bd545bcff002261ab571f26fb02c388adb15f50b8abd5b46940cebc626977eced644050b05b6411ebd52023bdd";
-  sha512.doc = "426770fa9abca81b0603e8e8ea32a7d268f9646dbcef823c59b7ee07235a4c04b762eaf5f23f459aa25ed8a963cf3fa1bc28729e4650c47c9d18660e52719da2";
+  sha512.run = "4013ef92910c3c1145708afa5a9ff13cfb0aae05e6b225c56c98090ea7cd223799e73212982312a14cf504a355dddce08e3364df8c046dfe462d07429cfa617d";
+  sha512.doc = "5854b000522120f6a1b065300943fd8aebcd75f57da15d667616a3706d35ffa35cac0422712d0b008dc2abf2b9deceb0248fc044be68f893f6ad0eefcd50b316";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsdidot" = {
   stripPrefix = 0;
-  sha512.run = "6ba55f79fa7724aa3c30d1b6d74ecb0bb656b197ad36967caebf32b09ccc093287fe4b06cfb9c40347dc790d6f1e7046a6a165b6de9e5b805ea97d6120512158";
-  sha512.doc = "16721250fb94a803de947bfa52b6902e18d53e39969d9314dde2b9cccea64d1f3b37fe21af42122b11c66b731f7ea59df5e3bae3b5a822b7de3527a0159e03ac";
+  sha512.run = "9e6ea7c3d5b7ecff95270b17879297abcccb62df11ab7eba54f02e7fc2c732d1be39b052e3b4b6eff9990ad010e46f73b40b4134b4e024f7d914a1bde29b4a7e";
+  sha512.doc = "93bf3a4fbff9e0c936877b135a487739a7f48c2797cce9d27c2a9f173fd290c2da5a3a3f30ca883ea057ec47a4695d54f5e85ae01f13af40e1dfd3210cc7c273";
   hasRunfiles = true;
 };
 "gfsneohellenic" = {
   stripPrefix = 0;
-  sha512.run = "a4949ecea09af3a45ddd8141476c83ecde44aab826d4be675560c08b0ea005cad1a5cdcf5ac6947b64924f32b25dd99689acba351187b7a0e9ed1888ade289c1";
-  sha512.doc = "7d6831a455cd401e2917e2eb20f94399ae3c55a11d95207c159088ea8c80ff0eb8ef641ef46505d4a00ca994546e488f43183fdf0b6b811d0208a15f70967812";
+  sha512.run = "c8ec8f9fba5d653e5497a9812c5978a21cdb5b59f6bb0f45441c761d2afeff1c055c48f1b07c4f56c6ba6a6adb2f99525d838fc7850c7c97bb3f3e0f67f50dbe";
+  sha512.doc = "581bd169fc4f6ed92453e2e8f50ee0efa4d3ea282b710c340d1f05f8ccd1e117721ef4b9e9fd6553912ca60d8ee63eccadeac710186cfae62a39842d31b5b766";
   hasRunfiles = true;
 };
 "gfsneohellenicmath" = {
   stripPrefix = 0;
-  sha512.run = "2d8907097554ddea4170df9af8176e736cbb2321ee349e668c5e157c9821074a7646fe914f721270daceba20f0a522b7cee4a9c1ac754758b674697eaada8fd7";
-  sha512.doc = "645ed59786837f01fbed8d915bd84ca5b064d0b78d25abcbccc00dc018ca6eedbc4452064ec6f668dfc41c800a4e944d2bd08c913fb3163701152900e8857b9e";
+  sha512.run = "11816aed70ed5d89b65148b3872f77a788271c603ee4f9eda71d250347bf7f2aa251b7c8e9dadaab75dde273a465a199adbcade3a957dcc79947d5d52297e7b7";
+  sha512.doc = "2022e02ec438b19ce6e8fbf8f300ee050c2c7687408a4c4772751ef3059c882cd6944985a59ed9a5c1c8de1aec0ef2444c6f06c468cb4a8c8a3ea269b12b7ed1";
   hasRunfiles = true;
   version = "1.0";
 };
 "gfsporson" = {
   stripPrefix = 0;
-  sha512.run = "e5e67659f694c15bebdbad7978033c937ffe0610954f46283c6ab8f08797fab4d9d895a8b72a71b8168ec9c5c66c553b82301ec0cf91cc279ebbef4d2e524577";
-  sha512.doc = "a6b3519bc09c476a481c28d188b5908ba09db86db2c127b12e3deab1bfa2b5568d9715138badb315b491aee6ac276cbfa2c787d7442a5718d6f01577eea056bc";
+  sha512.run = "f52d6cd8d0b674771dd56a5d2974fd3edd8b4685bb201489e578c62d1e31b5dcb6f2cb2e9b05702ec439ec7f0b35740e291d3a92de53b75870fd791858f8a474";
+  sha512.doc = "3dbcafd00a88537db9e27aece276df08da805b59076d5e65395a4752d8ce57a794f23508238e96ec26b8d7e6d25e11992c2a567e44ca2f930bc44b9dc980202c";
   hasRunfiles = true;
   version = "1.01";
 };
 "gfssolomos" = {
   stripPrefix = 0;
-  sha512.run = "618ad24e2ab0289985b0f8a5da7509704d7613435388472c6a300e4bc56256a37dbef09d0d4f086c51f9065790d707e087f1218e00c8f47302f92d6094409659";
-  sha512.doc = "8e12674e5c445eb6ba2f245745ec25de1ebbefb62d11784c30b11ec2640517eb206446713ed842e04beaa02c8593a92a587af82e6cdb2721b9aae4b9cec82b7a";
+  sha512.run = "6e6ac03cf7ee20accfb67855b3dce136e3caa2466fce760adef0a2c1633e0a170543cf861a6a07a0c80344ab026dc2f74a35c5543ea92a53f7ce8a1042f778b7";
+  sha512.doc = "67640d1a95ad7ec43d7df407916cde264c5460cf400011cf0cdb3dc4caffabba370f2fc15ae945e20b6a9bb6623645f6ffe80034a781cdeb11c400bd23985e3b";
   hasRunfiles = true;
   version = "1.0";
 };
 "ghab" = {
   stripPrefix = 0;
-  sha512.run = "c123b87e6b3416a0be0388c87e91262e0353d7939bc059e9cb87870656f6d9ee213ab08b5b5fd485a16bd033bf7f5f296a951ee3236c49d3c742be7c2db9fa0d";
-  sha512.doc = "1be36f868af14a1b276881c3c43c23b22915acc17c63d8bb3e9dce9f4e155220b587dc09209803cc3d81e13915dbe9cd2073671c34915223bc51dfa0fcc3db44";
+  sha512.run = "7e919cbb0c84fe337dd05c749a3288990e750ff0aeaf119736108463a1684a18a66be94811a31156f951c871b2f073627914629756b06e747f3220d2ce08950f";
+  sha512.doc = "2cb7dbf5b43130b122618c50c18e513dc0ee0ce267cdfa6e710451d1fa7fce8965617d74d48748241321948ae8c5eb9cfa4945df146ed8e5d476d0fc5caaf204";
   hasRunfiles = true;
   version = "0.5";
 };
 "ghsystem" = {
   stripPrefix = 0;
-  sha512.run = "68fdcfd47ecd220dead1a7aa896708abe063d35d61b15d3ddff5e210b05614da1d3dfb58b389736711a360a0e532e52f013ffa73648a0ceb3c234b6ca7330dc8";
-  sha512.doc = "61fb9d94b7fb27abeffc530615def569dd9bb5fbb62fbe759711d669a74a42ab7fd8d6cca0f3626f625225c8183a53100355b02009673d98575452a256e2f8ff";
+  sha512.run = "fb818e9da2c92ec4b8f943766f00b39bf2ef0f9a5ca5606ddbc4846cd8294ad012c6e7e45b51d04c249af2bb8f4d59410b644e65e20e397318453e0860d60b91";
+  sha512.doc = "b013e2e327a648b07d541c6d4af50f3142012a8ad62eba032aeb625ddf4ab5c285b8428f795b193fc85d6487f68921df96f8fac70f0128c77b1604bd71443b62";
   hasRunfiles = true;
-  version = "4.8";
+  version = "4.8a";
 };
 "gillcm" = {
   stripPrefix = 0;
-  sha512.run = "d0a775cfb77ff29ee4c4ef06c97ef306ce7b0c2210c80bb8bb676ab6a3dcb6e81f98f7e1cc1c9794a2d962551032979ecc7cfab551aa9f8bdeec6eaca1c61de7";
-  sha512.doc = "419761c774dd0b832730614c9a60dfb15ab4b488723e445d654090c14a7f926f32135901c939603444e3f4902a244eefdc449e0b6c3e737e9233f1261079f20f";
+  sha512.run = "37c8141eac6b1636292479299f7df6b3dc128addf8f7ba680cef2c75d2f7ab04686134b243a86168c54052d4dcbc33f13c13a6629d7c98d3908e4cce5fb53f06";
+  sha512.doc = "55e02d36c12bd12932c2d220f892852dd1c8c947cdea09d058ad38e5e513dfb684e75a8ecf07f5711200f942ea7732519c739866458c330ee271bf45af32ed45";
   hasRunfiles = true;
   version = "1.1";
 };
 "gillius" = {
   stripPrefix = 0;
-  sha512.run = "bdf639b81b871239429da96e313c805a247fffe2912d80bc1eb38481f9a3ad5c2b8198bd6d8b3a18710b99a729d9b2b18e0dc28b9c37697eb1acc0e6eb18f812";
-  sha512.doc = "cf2c841e299ea3376c6aa3761fe4b31b18a96ccaded261a7998653614494979ebfa7797b178ea5bcb8dd565a8827f7360b671159b77aaa0d338044c4673068ba";
+  sha512.run = "9620e63fa3a9a981bdb20cbd6d8002179c722e844df0a18566593acef864f134a894a7e1920fbc4494467b1301af0bbf9ee80fb10bcc192762e5b2505fa8becd";
+  sha512.doc = "df8fdeb2055b4d3383eb6ebab3dc4fb92774a96d7b31e7bdd7a238e215619710a8c0ec3fe9593213535933fd76c38947ed295df1a628aee7a7d7b21078f5ffb4";
   hasRunfiles = true;
 };
 "gincltex" = {
   stripPrefix = 0;
-  sha512.run = "d0555eae18a22bf26101f9c8c273dd3b676a97a73b83e502e4adfe0aecbc1651f8e6faba856ca502266291c938c781154b2bbe54d1da02edb47b63b7ed95a14e";
-  sha512.doc = "c7ed8ee56c211a3ee6ca7b8cd456872dc4c4de2d51567128cab6e11a3cd9be27e3d2bf845ce865f2f6f719fa492c3089c360dceddd085f358441d7ff2c17bbbc";
-  sha512.source = "7fb23614f759ef4476aa407812eb44a876f36344c43d3beff4072f72dc4204076da5d2f97019a80ee46553d37a4adf21b32431b6c69ce2c515e2788602e1d678";
+  sha512.run = "c77fd5030e626027819396e94d07c1aebaf05a1ef6a02025a6a0f4140d22fa8d0a8695e440ab72eb0a042ef5f33430ef60a47706658134907725c49969841171";
+  sha512.doc = "2f3a0ef1eb5d1b9f5a819e99354572f34b6fcb7daff3ae02f277d9280e202d1d4d1a54b9c033860da1ef3ff302229bf2d1aabbe1e6acff05589d3daa32f5c87d";
+  sha512.source = "ef3af40826e339dd7ed92d0f93e16029bff275a32e2c2cf64fbc1dd48a243e9a5efcb6cebc9bce237465c62a319386dfd94706238958381667195cf86face04f";
   hasRunfiles = true;
   version = "0.3";
 };
+"gindex" = {
+  stripPrefix = 0;
+  sha512.run = "b65317c570c923c7b6b84c2923122d844f895657267b694b46fed2d505348833a57700e4da93cde3d5a81e7589a456eea179a455dacb7c9324e0f65d9c718c9b";
+  sha512.doc = "2a3ed388473c669874b0474b9b1f45c60e2efd69e8c589a9f9086cecaeb5f1e3192fbb949c3d0b485422c7f6b49075d3db4cb8ba03bbdde0f5f77089331f770c";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "ginpenc" = {
   stripPrefix = 0;
-  sha512.run = "f982140e9f6f71fa2f8ad0a22e199ee7085f0765f2c740430a79799e308c91a17642a5c7c2c7679214d95a1ef57a93947e278b4da73b2b6e50942b77e093b768";
-  sha512.doc = "ca32af66b79de0282305ac7432a96bcb9f0d02ac428d93a50bce0140170d3bece148db47dfdee56386a0652c993e5e10b2e2dfae41c0ae42572049696172c4a9";
-  sha512.source = "3e9cd418912b2b05cfe97f91e9781e895b70796ff3283452b2d53efe7047203932f444319cb9231084b46b2fea538c8ddd8bf874d6e7e1dee712bc05b5b9a73a";
+  sha512.run = "20ea4e42fa07c21d8f2ae5d4419e6382141e6babca0b89b508744ea22d6310052f2c46e6ba0ad32b06f5623daee07a16eeaaa98378c9ad04dacb78634b9a583d";
+  sha512.doc = "4e343ab469e2445f6a2fd5297ae38d1cb42d4db1a3c438885815a2e4c5d367bfae3226a628e11152826fc5e4fd28a9c4bc5c393acea550c5ab33cd854d4f3e8e";
+  sha512.source = "b28077cb4b369567952e77198cb77f4edad02f0949d4f46836ae59d75a2f113f64446fba83a88e6155e9356797577fea72c79244808d575359eb7ca10d029940";
   hasRunfiles = true;
   version = "1.0";
 };
 "gitfile-info" = {
   stripPrefix = 0;
-  sha512.run = "8f47f876665ab749441bfab4e9a75540031a194af009aeec13cd35339fd82cac674d489a69f37acf7e14e990b075f9269161c5e5a0de7f238e4971303042fbce";
-  sha512.doc = "744492af4cfa0d07daa062d70105f369d551cdecedba75a0175791d86af621558985385b9f18d8a7503d9d41046a0a32b1720eecf63e39768dbefab6ae7c67be";
-  sha512.source = "8eaff16139a4684a49bcec93f89b952c74a6a4ee4e4bc4ea0dff90889a05c71f5b7943eb214d40e4d45cc239732f4d6e82a47d8ba59bcc1bf4ec4f7565d5009d";
+  sha512.run = "7d3577b55f0154dd9c0a1aff3d46741631fc561b4c730a4f55a84dff361e6c27f327979638946d89ceb35370bb4051b1471481e6bd761fbed66757bc613abb2c";
+  sha512.doc = "ac2083dea1ae4373ee2482f41f9c66ab93a2b66699fa01449c712c219ec0c53635230b062ba58b4107eaf7fb54fb7eed76c5b9346ffc60f6f35b18a72ed0a08e";
+  sha512.source = "7b15a31e0ad37c75fc1e64079edb4ffe93d9e9a71fba7db13bb9ca7b68fa8dda0244fc0da473ecff8456459bb3f6f52e3edec2ac8513433d03ab107715ba5258";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.5";
 };
 "gitinfo" = {
   stripPrefix = 0;
-  sha512.run = "cd79bf3a48eda5d919ac7f497ae182144178f3a0075ce40274ce37fa583e469565aa8cf70882859d93c8d43793f16a4734f6dbb260618e1411439b8216667f97";
-  sha512.doc = "1086c4ba51d29659a56d347ea78b034ee1eb2b67ccf4b6cc4d2339f7da12cfff5c56f6c35b55f2b080c810d6876e86c2b7e63a81dfbd52f4cc6afdfa79607a68";
+  sha512.run = "099bcb4970827cd3309f88278d8ed993856d5ebdabb22c3a3f558787bc6cae46378f7a92b88c5cbaeef496f40a8adf1e0740e685d667ba2376b5852a12af9e5b";
+  sha512.doc = "c5a9c948ad8cf8f2bc3cc134d60165ca4fc79117a6597a5981b39e26e25f4334f479f2bc1a0e22c52fc48794224115c0c170612c8088a414544d9f51b18421f9";
   hasRunfiles = true;
   version = "1.0";
 };
 "gitinfo2" = {
   stripPrefix = 0;
-  sha512.run = "727e0ded5837033380a835dd57a4110b79ceb3442cf3705be3c8a80f79fcbf20232cd2b2188947d8c53df6ac4569d5327e7c4d96a101474d791fe265ee9b36f5";
-  sha512.doc = "e02ac353674c2716b75a2006fc85287421ae29a2dcb40219c383c151f9668fa3f2209c7b5b644fda15ba386f330a66c99919a4781eabe5f9ac93c6fbf0e77d69";
+  sha512.run = "7dd68c7b1d5ea49dcaae8ba1a1582676617bcfc6f5c6ba34eb1c62e60ea5b8ac3a50841a93394b640e8a79c3cfe447858fdd1630e4095683958f8d36439a84ca";
+  sha512.doc = "872b7fa8e0c97e4f6e0e1989b7c45507773b4f96cd56f7aa7064376b520d8f2beb4acfe71a21e295a8a457b86fcf7521809fa59ad02875466cf426fa09bd8aa9";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "gitlog" = {
   stripPrefix = 0;
-  sha512.run = "395848c7a059b69723fa4e85b58a9758888acdaf88ce84cab33787fb50d9d806c543f770296cf6b54fefb01e72de27203cb079fd266d2a4a84143df47a5568b5";
-  sha512.doc = "443fd4bb291bc00203fc22ffb30b2f447b9000976817ec3b1c55b96bfb5f98cecd0dbbc34aef3e92120be6cbb671bdc2aefe1f8d561855ebf5551806f1c9c78a";
+  sha512.run = "2fc9830dd1c43cf0c32fd743c9fa001287f5753dea38d8491af43803a1d98a0e09cd05641484fd2f7c47e68c8c6919c2eb9fc298ebd761166eb5b77c54d7f00d";
+  sha512.doc = "c1bc22cdf9b23baec98ddba49784a09c97e9e5f8c1a471dc39b3d58d67bb3ad2559f25766debeaf613b3c4e8d8bb4b22244de07d09e957ff09a94c0254fd3e64";
   hasRunfiles = true;
   version = "0.0.beta";
 };
 "gitver" = {
   stripPrefix = 0;
-  sha512.run = "db4b7b915a7e0caaa0a3dab5400abfd6d4a6948fc4b598fc5b924d16fc2cac3f55212d9c5ccc8188c5c92aa30b732a24a6668f570ea8e8038d0faa1134c7947e";
-  sha512.doc = "ba89bf8d10d9b6003114fc3dd0d00fe9888d7a046e9c86252fdce9cf860b3dce394829bcbfc1904acee8abf4dec6b624aec67dc0874ae06ed7207f3438d9e35c";
+  sha512.run = "ccb08db2f49ab23e832e12dcec8b2754b4a1c916f2b0b5582723ef6080dd93a922111f6b5b514f1f53ca684e141c89f0e1d95d0b391adee857211f0e7bd243e9";
+  sha512.doc = "92bc02edf0ba8a6877444b418cb15a9260fb5b26fd95bcc044665b306edcc1c5f5b12e36695cd02ad9260d7c996195e3beff69843ab7ef9a9272bafa2b1f2419";
   hasRunfiles = true;
   version = "1.0";
 };
 "globalvals" = {
   stripPrefix = 0;
-  sha512.run = "263f358f0e2d48bb375a9677c0c62c6ff5d9836404b1915f976781af3050daf7c5d2c0e3397d3d54b1c3dccc6a615e634c8468d0534a0cdf9676cdd2b65eccfe";
-  sha512.doc = "7229459ed5ce71b7670451feb583c38337fb4f5962fe6a79356357f47a5cc0b37293573875f2c432538d978ae65ea4f1f1642427a39cdbd4ac4f42aa7400f516";
+  sha512.run = "815a1aff9e889313854962e44c1c09a41713f4efae915a1d1a65a3f0777a4c36e9987c588c0d6f2f1ea91cfed6c28ffbe045a842ad71fd6babc91ae1bb16aa5f";
+  sha512.doc = "36a8b35ad90d9fb797a03b48f8cf818c9514ffe6e7c24be157e04455559d3004ac6011e2dbd16a4c478105b39ec0d2597f74e484a1913bcb180a7209b9191fb3";
   hasRunfiles = true;
   version = "1.1";
 };
+"glosmathtools" = {
+  stripPrefix = 0;
+  sha512.run = "9587fecefba724acf5db13a1e915d1adb8494536be2cd72b1d20d9a52b065e4efc91ac4d40da9a16bff1fac0271c0e982c8b975ed0606bcc188cbba46522ff89";
+  sha512.doc = "f000a1389a70239256c61ce72865f1b606f11802f6ad9761c10786d19414f0e59de38dcf0f1414b0b05fef3f49dbc4c0c345b2398b4066e6accd62a746fafd7e";
+  hasRunfiles = true;
+  version = "0.5.1";
+};
 "gloss" = {
   stripPrefix = 0;
-  sha512.run = "7a517048e3edaa687f586d2ea1d2721d704c7f7791ddda3f9752d1f733b2d7fe3d7a2ed25bed035fd3f7ba8fe853e26a925f1b563901919346947222d593f24d";
-  sha512.doc = "1a3e9f0b58f18e9822f20a086bb6882bffa988897dd31477abca8c3fea398b24b208c2c956b56abaa702ed9af2fcc8d649232414c3e9596bc4cb72158362d0df";
+  sha512.run = "399bc1b809c01fd60934e28834dd7d6f263aded75bbede67507a5dc7bdbcdef725248b9a10d4ebf3cfaa981be33fd35a4ade78eb20b2b23cbf851376ad5e58f8";
+  sha512.doc = "871760a86ffb9d50cd480e2cd234a9873de48ce620f57a6538b36b0c1fd5e7f11342fa435e147ee1fb47ed08b8e855eba8168c8b755ed67ed7fffcb8f0e0ac86";
   hasRunfiles = true;
   version = "1.5.2";
 };
 "gloss-occitan" = {
   stripPrefix = 0;
-  sha512.run = "ee3607bb7e3866e50c747d831392e8051046b228b2eae49cbed63bdd64604be6dac9106028a09f0ae4351106ad21695dfe278831c24edfc4e338f9b91208e314";
-  sha512.doc = "f60decd3b8dfa3999c8f9ff0dfc7e7e5c8ded11569eea9f4ead2457af24a9c3f0258ad3b8bb4fbe98a6faee7dd428a787b1aee5e26650f0ed8b0f9426c068831";
-  sha512.source = "054686d1f3fe1a57eb6c79abc8390a34a955af1d00c13cacf5fee6ecded92891ee9f67a35ac08002a173f5bacbeeb0b19966116e8bec5939e7540ad5281c9bfd";
+  sha512.run = "699068d013af556efe5c02f5a2338f2440c0b8dd6bed61dfec94c9fea3f8b50926061db899e5408172414e48fbef98e79905df51463967ae173ee0dd7f361b85";
+  sha512.doc = "68b577e22544b76caf10aae62282a2649e1d18d9019c0727d9eb14d5f0342b95f35e1a95c85bcaeea551808aedebb76a9d5031453269d5ead71a2df0fa45e228";
+  sha512.source = "a4d1936873891b2e04e6d9b476432090b7b3e31ccd07dcce7931b62a8044f691ae79df929dea87ab2f6b7bb89dc84e33054f56e51332d84fb97db9d787dadb0f";
   hasRunfiles = true;
   version = "0.1";
 };
 "glossaries" = {
-  sha512.run = "c82109389164260b2bfb7e0d26455a8883cd13e47d4fd1c5f9d5e34f1c30dd0bf69bcc110b6236fccd0c30ba15c6a3b50476080b69d0fc4e8bcab283bcd53b24";
-  sha512.doc = "e0400a444694bccf4beb37774d5b9b8db7835d18070865bb95ab4213626104c092041fff98083a19b1bd6ef9784369ddab8d0cfbf526a1192266f17ecdce5762";
-  sha512.source = "6bc6dfef5c6e6ccf8396beb2e9edd70733156c9fb93e1595faab6cb7fdc009a935925b5bc06dbb9d931b91a35935caaceb62ada204a700f1b825e6fc0e50390b";
+  sha512.run = "2b70c5a8318f35288c728d3b03caab7ef73a689fbbe186fe46266c987d7a7922be1838307a00be2bf6c3714bbbdd30c778aea61d85ae92545d0ad4111021b9db";
+  sha512.doc = "2a3f0bf2bc02cead8077dd45f3b1c3c02fdebb9b37a25afe7c7e63f99c049cb41a0ae77fbdc28ab72aead555e926a95a242175490fd548dddf8cdb98dc4f10d7";
+  sha512.source = "1783b1e706e870b2814aa558e3f80b8c4a92f12d6be519e532f0f6a1c7a7316860488347ca1b4a53d75a75dbe469014cd424e098c28efe10fab4e3ddf7c62fe0";
   hasRunfiles = true;
-  version = "4.42";
+  version = "4.43";
 };
 "glossaries-danish" = {
   stripPrefix = 0;
-  sha512.run = "d1d3a50bdf0057f6a1d9c608a89941c152af6bbbc158d7f3c4916c315f34e28421cba16e277d1892763fa822ab84504a20322d012b6bbe7748f76cbec0a14bd4";
-  sha512.doc = "8458a62fdff455e2ec14942c719eea4452c1a268ba039ae5187241f8fe47bddc7d81b0e6017839b9d5e4f0049c1a632a0ee6cad3aab8709ce4b1dcd973c1ac25";
-  sha512.source = "a62494f080864755d23d04d89253074779cbc76ec88e7a097713695c41e02c567d5e6748a81a33c5828c1163ae07cd6a284e9e1c74ebc1c9630de1c05beecc8c";
+  sha512.run = "d9551aaa01e6f6720406a58f869048fbeac30fd629edd7fcdef657525dd1f7fb3faa2127cd81fb777d339ae65a1015e9cea7e5fe26a7de10db3a387152aaf0b3";
+  sha512.doc = "8e6097ced6686f3f5f0162c7deb11de9acfd55ca152c8ba3d4eafe155f645f33ec32dc495e3b4f4832e33300cd63d2d4ba56d018177f96426ee72e14cc60e230";
+  sha512.source = "f8a52fad43c5a95989ed8da27ad5a15da56e5cb2b08797bd70879327a512d9bad44fd217270940ca1ac541a880bb939b9e360fe5a686b0b25d779baa1bd01de6";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-dutch" = {
   stripPrefix = 0;
-  sha512.run = "bd2e2a67c976b7f7f1a914d4976d81f933b5ff8d59607f4eb65f799628f25f78a970252efb7229986a203cf9da60e7e11c4fb2c537e093f77e27170e0e294896";
-  sha512.doc = "7e9b8ebf101aeb0c0b49bde9bcbaa6f7702fb9b17f3d6ef6dc654b755f3124ccdbebd99e75d85478b0496a161a60279e68ce04626847aacbd28894a4ce646568";
-  sha512.source = "b1c8bef55905d2e4e7b297663c18e1df3255896f0b15d18866ae401d56f5dfd32f3b89e4873d16bf382c158bceb0e0491c9d54cc518f4a6b506fb0c85375749e";
+  sha512.run = "0e3d2607caa6032c8c768c1bd7c84808f6b836d6c167b1e0c720b57c3033c175269663f6e21edc248676bb2b73142c20c85cb6c3011586cf17d876e540a435dc";
+  sha512.doc = "c2d6ce929bb9e7482413886967beb598b6cfb4a2f84d5a2e5edd7039b94e397ba9ad2e63954178d6fae91c5e3aeb080a68ed466b609ba0adddf98003f570cfd1";
+  sha512.source = "5088bafba48d95e4392a5891ba3566d37a708cc7ed002243995d67ad6f6cd1eed19f6a572e5e3234c8e4ce58e815b4cc79e97d2644bc5341911388f7b80030aa";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-english" = {
   stripPrefix = 0;
-  sha512.run = "db7d6b615a7e265616a7cea3c7914c3481de85a4c64ac7dd7dbc02ac390713dd686ae90146db96c953d28e9ec88a80b010c6e12b6b27f9b4aac4b59735235f87";
-  sha512.doc = "1fe6b0c411ef46b08365bed3bd260b32d221436ce6eaeb7fe6d1e61e853685d92451dcc346d716aa612fad6ca68345c16ff29fc5b8067f2fbb825cc553506484";
-  sha512.source = "7bd582d9ccd6332e2de5ce35c87348e5250f14f2aacfaacb4180736fe373e3cd561ec804a2db05b38d9cfc3c3ce2bdd04e236b579f7f25404a8a65d9b414131c";
+  sha512.run = "f62c43c9cb5a10fe5e364e6aa4ca500aae8b89e71f6bc80831a8c8211ca640f3631f011735ee5c82278b188bf896360b69502da2128e1db1287d24e44805ef97";
+  sha512.doc = "40c30888541114f5594403ddf251f0c209daa57c6b6f2d3d75b4a51416bf3011bea70cdc5f461e80a1e148181d6ecc2b2d7c891a7c75b1c577a72e5ee8ddc8e9";
+  sha512.source = "4a1d9cbf515c52d8f8a787970bf5537f25d6de7a66c3a1819cc5dec05df0f004aaac3734dba6ef813473db0cd5b08db4ddebca8dbc8674c2582abc7e9e85524a";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-estonian" = {
   stripPrefix = 0;
-  sha512.run = "ff4848946b8e058e987edf255612db7eb33fb89af067a4a1cae1ba446df1270595fe3c7de78f856db7ef02bf0dba9223429772b991507fabb4a97b169cebbc41";
-  sha512.doc = "e758342cb7268a492eec4a24d9055ca82f180fb2247bffb542521cb895a9fd29974523f919d949d7f6d1b1c519e56fdb56f42de0f9b276cbbc4107aaa44441be";
-  sha512.source = "67acc8386f9be22ce535c25adf5eab11603747f22bf89749bf36cfcdda2000ca7ce344cfca918ae488c3b22f7fc4b11a7f0ac8a8edbf13df2cfbe5d1031de7c3";
+  sha512.run = "48eac96868bbeb636bc8d4352cbc1959829daab75716b3dea2ef98d98e388a2668a2ea1e35cc46f53e9ee030aa07dcef3e528f056f59d49883f0a00380785bcc";
+  sha512.doc = "5f957f53acaf6b56e338b606843cfa2ddd16dccef6bd2c74844e514c157ddbc3c5c24168cbe28c67894afab8d115460fd497de91f0142bbec3d1987d5889925f";
+  sha512.source = "f2d2ddecc5a338f844a9b98d50e636d69d31866e723e3aa261ddc5ac2d8349d01e76afdf9cc6b7a4b4d96dadee78ea6933c0d1c69d1196f11770c92cef356fb2";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-extra" = {
   stripPrefix = 0;
-  sha512.run = "d67754e2d462db73f51bc41b89f2be084fe406417d99a9ee53e156d287f9c9c9b4e1409908335ef25861a5bac454675cd3436d01570bf6111fb808a5d7ff0b23";
-  sha512.doc = "02509e430428e079566be59f5bacc2da2d04c2dc67478405ad81769916bb1c15fd5c3e9f608bb436bca22d751aa94b7e2d694aaada080de9d0611a64d53267ba";
-  sha512.source = "c20710f423840df12e444e2c534edf09873c51f329d4aa087b80048bb9ea919573beaec804a874ae743ea0f1c49d677f21719dbcd94cfd251d8d4f33a3a1a145";
+  sha512.run = "419da7c981304d369dbb6dd342bc5315d84fe248793df725e454841b25ce2b5d2204e76e84539bc4bd71025115b9369944cfd8d879a02a5a63fb3cca11d0c977";
+  sha512.doc = "e2244e01f9efc52e629a50491543ddf9b4f441be5afd9c185923a9eb23d9ba01208e90fa4a7c05e11072fd5f05246c30a4a48e9deaabb1207b05aedf38ba7fc2";
+  sha512.source = "a11ae8c79f40f47ed05081112f811242b5b5192e35124fdc6ce628c1a2c3cc73ae816f6ce43f9804c783072f9ffaef1f5a7bf9744b7439bb754cbd588b948729";
   hasRunfiles = true;
-  version = "1.38";
+  version = "1.41";
 };
 "glossaries-finnish" = {
   stripPrefix = 0;
-  sha512.run = "2b3dabc1755c4237f67fee04f07d5760e9542a8eabf8ad5a3d8644845802d6f9b00a381c233789d2b32e4626bc9138131baa0ac96f45fdbfe1f90f2352ac2ca5";
-  sha512.doc = "60a75c69047de7011fa3292b999a9ed5da5ef5caf0974859b3b7e2d09c66c7a4d0a6c12236026319f336953708a7cef8143b2977713b4777df891ad46e7d2613";
-  sha512.source = "7f0fd5d04b156941f55239762813d5d55b54dd57a99b680736116eb102e0031ceb82c9185fac927dffa507ba7063980055a192f21c1a45b884145c46c29b3b1c";
+  sha512.run = "f4008f165ed34678a9f9d1cc2fbf2f2dedfa66d31acb5449da6f93a8b19a7ea6b7a7a584ff7c744e92637cfa4a7c98a478b096be73a3abcbeadf7d2af00a607f";
+  sha512.doc = "46ffa9e86596919c6ee001bfd425fbe0c58e890e8af3131ad89b4e5ae8ce20c8f3266f2ffae6ce039908a137180c0552b9c9f2a729bb55094f999a0bdc3443a7";
+  sha512.source = "e21f3dd39d6c5adaf829657c75badfb9bfe71f57331a89ba196e34a042a03f308206f2c3cdf7e1bf5dd82ac230c0aa5c48fe982e017ea7bebf2a40bb2e664511";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-french" = {
   stripPrefix = 0;
-  sha512.run = "56aadc863aac72140c191aa401b8b1ea0b30f15c5df0be362d5c23b417f08252806540c5239fe14ba16e6a803c1915f7324eb9f8cf641107757ef71026ef4745";
-  sha512.doc = "30d54434170b9ad32263ffeccf00b817687f0d7b4aaf0513b42d4a3e71b1a8ee2179302336ddd7302a354a3df95e73239d13b1fb6e3ab1be41ee6d4ecbff0311";
-  sha512.source = "d36139182679dff6d1ee5cda58a8363c60f5fc3ea4fd8c2e225030e903f97aa2add848a879707573391390d4f862a85f9189baad4fe23f6bda7c0a555b10ca0f";
+  sha512.run = "8516e94f69248238b0e94099b67c9807f02587e934e6fd2c9ef23befcfac783297cc4df71b8e41be77fdab85abcb4103435c3fd24584b46a3b473fc4489d5d82";
+  sha512.doc = "c26b40d499199c15c875cdca901a3168ab72e4009a04e92f3b1ae9010d7912484b1185453d117154eb5b9e63358b36cd58aeff3d0c4727945a343be4c3c2ede0";
+  sha512.source = "9c6b0b1d851c88c757e87c8b29b2cfaa3886efb00433a9c3744e175fd4dfd4433de3b80b9d70df89f879536b1058ddb1baeae41c5cdfc6c47377256df8e63882";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-german" = {
   stripPrefix = 0;
-  sha512.run = "1fb5413923070cec4fe29d84328fb303ed729425012376169fca74616c0f9c7f0aec48ea4de23888f3a7b94c7d91064b23fe12049bbafc3b68b2ff04b1fb086c";
-  sha512.doc = "0e3e4fdfff984ebef69ffa7b4de31fe5c8ee489a64585b885f868fe151b7885f6aa6b286df281db1e7a10a8307aca95a9bad914bc4bf7a3a0fdf391352ac90e7";
-  sha512.source = "35b866f2902d41ad81a94143e011bc8585c33be88e489b57c4eb28a8b1a2e0c09ce5d6ad3eaf4b15a7b276698306a8eb689c80138a7cbd110dd26ebc33f44ff1";
+  sha512.run = "e0b8e18dbe4d4e503c144be2406b99b56ef0a48847b4044665ac178dffc59d2b8ea95873ee5f2e64fcfb8379a44ee8761ee84ae44fddf996d1029372d5185d58";
+  sha512.doc = "0ad0d7d8f41e52613d049fe3ec6e48d5ceb77e768c7b9ee6b3b0978eeebe6abfc803df44bbb7f90b4e487de074a2cc174224ab0e89d5fe7bc896adff495abfc6";
+  sha512.source = "7d34e603e6c667fad268f4d16edd7b066d3f6fb34739ae5e7620cfb2024fb6c7882862845055205d3a3c14f2c60bb3b304cbb1871958c17427107cc245e10bcd";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-irish" = {
   stripPrefix = 0;
-  sha512.run = "828f1176666beb12ee36da4c8b058c673b2630bd872485ab9aec7c5ae97749e1a6449d96ab69ca8e088aede7e9ddf78a43f7e4bf425cd2275bc70114fe6b65c6";
-  sha512.doc = "bbc879818fd0324f8e912114e5dba97772e2cdba1808b2d66d13f1a5348c5df997e058e65d9e77bc54fc159c10add9a9ad73917ebad7c8c91c87678cf90c000b";
-  sha512.source = "9954cfd2e8818dd91c5597adb0e07c845ee7ce10b747b5a427c1203037b7779b0c552f5fae4e869af157ede3e9dd4ad505dafd8ae935a229f61eb885440e7849";
+  sha512.run = "b59add658270f734a8fcb70bae29ac210c84472f0f7ded62baa647bdbdbcba2e63dab71aca6f8c524eae9e3d80bfa7bf96bef45bef7039c3eeff738055a93acf";
+  sha512.doc = "9ce14ee4ca3ac1eed10f8c356fd6561f7ac43abcde46009a6d43245395985f045e9ecb83a38a190ea3a5cabf462a233967993bcaa40211cd7e64791dc2a583a5";
+  sha512.source = "cdc7332678be3abc86804b9b674aab88f087791c8418e6273cc07f2c2b4bc8316ad21a3421af9ca2f87f76a3ce42a6fc5e7343e006120dcbe1c7cb14901d7ff9";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-italian" = {
   stripPrefix = 0;
-  sha512.run = "cc58e873ecf3ced0c0ce6a28ccd810940f4511c9d83cb024791b24cba86b34dad48cbabb9cc0b1cd504cc7984f1c5124e9613beb5e8a3cb075a3bce9e91c37e8";
-  sha512.doc = "6b49f3cdcf424430cc75ea8fc931628e05b5f92c280c5c2f80e4747857626f249579126ef501f42ab588c59efced8f41fdc7736b5d08424b5af427b7e45d7ae6";
-  sha512.source = "79a2b76a6ddd32ffb9793002c513452a13a267a02f002944302f159b1187ec6462c90ee74bfd6f7a1034b44a2b6acf40f9a52a183f6c8f236ab87cf7022a1c48";
+  sha512.run = "aeeeb9fcd98e55ed64c918276e0bf0b25489538da80f96030a85225635e7e0ca3d1c93c65aba8b97b486f086a50504c257ba478bdba28de92058053dcafe323b";
+  sha512.doc = "f1ee5a84c9a67b88087f657c259a3700fcd1fa4ad8c765cfae11cde2d54c4a71e69dc57bf626ead0d2cf1057750e284a31443c72e994e37a62715548fa9dbadd";
+  sha512.source = "9a014922abb8be849e97660f2aabff49413a56c06a93f5a3fb0cb89f972b54fc371bff8dfd6a758196d941efbc9281c5cab3fcf047901ab08e296d55e529206a";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-magyar" = {
   stripPrefix = 0;
-  sha512.run = "e6414a864cb7dfeb7298a555717b8f5005e577f2a1fe8fab69a72ffc3e0f087e87a414e0334a1b5981423c446794fe8869de22f4cacc9a8438251a050d293fcc";
-  sha512.doc = "869b766f9b00cf3c9cf06b9567713af5b608bb6ca53330405509422e670d63dc49cca39c386b1a669f2beb84e462d60d491ffe205e6525bae3ec8da356f5a2b9";
-  sha512.source = "575ef0a9b907df7a19a13c9949e16a734374777134fc1e1ff1d52791d1aa76df6f84a2e8409ada9acc1d0ed7cab76f1d33607d9982cff08efcefb315c8af83a3";
+  sha512.run = "66847635e1f00af9191cef210c19ed154dc1e5405ef0d2ad38485a913626ab9cd93b7c35395feedefcc04bfd1b46112e6410154c2ff26be51553619326d1e55e";
+  sha512.doc = "a6bc19bf794943b1b15c8cbece363f644671f912bb71d8b2f0a9e75d05886ae4af4846c78cd060099bb78872e4d7991a9a3274fd1343a07bf73c3ba1d475241a";
+  sha512.source = "e0e90ed2fb01df98b20a7807a0dc1155b108c35788ea952f753ee9033d2c7e516086c6380b8617411392198c5469b57b96aa35f8903e44ce44d30f5758acb75f";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-polish" = {
   stripPrefix = 0;
-  sha512.run = "726bb6287552903bb1b8b6d161e2b07c7832a66c200c23bc873dbcf3dfc7185adaf551929a53f956f601e115d68de2cb2f2136cf6412a8d047e7d1002f356474";
-  sha512.doc = "13e70e01e8b902f9b47082ca3138e7f4b5546b0dc0aa5ef64dd68afe7843d8d9e0967d7b45cf8c9b5ff3bfb83e48613f0334000aa6a03f3e823866a36761a1b2";
-  sha512.source = "7db56dc25c365bea01590b9a4968d31780000952851aafb6332e60ed02e049a27f75ce3b6a320f15b8367f1b68ee71a09e0738fc0116739c40967fd12173a88e";
+  sha512.run = "7ad5a924f24acb052c16436f1d1eb198bf10c65ed3f77fb8911cc8b390cf286581a6d7ed409211993545d597a4dee4318e1d9b820dca6f831ca215986ec4a1cc";
+  sha512.doc = "cad7bbadda3e690ce56c75d2dfc92b02576226cb31d848b0c96d6115d18d222a50e514a6c6b5db9907d6a0e542824e229b063a0cec49dd726246f3dc5d4b41ed";
+  sha512.source = "5f7ba658feb54089405ed6a2fbab3a279143205438a9dbf6ba0a49d38245799cfac6369c48f9ea1e5eac2125cf475e26a3b31dd3745f283a21f3ed07aa8e64be";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-portuges" = {
   stripPrefix = 0;
-  sha512.run = "3b31dbd9bb8f6ba0d998c6a4adc1e65c78414e620b44f282279a4f7d7562d494a13e2b8dd1c5e6022d0a19b53a8b2b6d6e266f07ca157b3734f7e45252bba665";
-  sha512.doc = "ed214df5cbf6aa5f7d721a1c9aefbfd9a4483b69803d3df2d10c6432db3604f9c1981dbf8bd4d8f4baf62c556b4fff4fc93c691056fea23a8992afe4c4a7d366";
-  sha512.source = "a1ff4ef92e3efdd3e89d4ddf520715e451e4417b77c2a195102ed6f9fbe2226cb09c545033775501570ae193828a0305070d01b971e533c8b34f0b3e5db100ac";
+  sha512.run = "64582081553f90a5000992f9db3f79aae7ddfedc6f128ddc09ec7878576b0e17a580f7c58515c2696e2c46ce1ba49c2cd756687c144d0134d91cb6c5e0506ec0";
+  sha512.doc = "5f1692f14e2e4a596555cc426a556d069fcf710775d9a039f0143eddbafd0502e4f4a10e677a43589b1f91cddedba6dc9358b6015801e68f1b3d1e908e57dc09";
+  sha512.source = "a7cb8046b8ce5d122f691170804acbcd39b5ae367cf66057d12fb24d58f142e2a4cf52a1039de9cd73a0f8c0bf851f07367c180eedb12923ab3398189de29652";
   hasRunfiles = true;
   version = "1.1";
 };
 "glossaries-serbian" = {
   stripPrefix = 0;
-  sha512.run = "f240dc5de854d29d73b91c77df99b6c544a535b8a621b7d4b40683b4e7d1969681e409a466475d8ec68244a9b415d8addad856d6055c47f4015c19f8c2bb2327";
-  sha512.doc = "67b94bfa70c27840aba2b9eeddb3bd5c8f45b1182e657ab7fe0fad950624b3c09f07f4e4a2066bd6c704006de68cc021c2df435afbbecccc1bd009adbb0da8d6";
-  sha512.source = "bf371774f83237e812f6cf37d452335ab7773a9bb16e1fd01e4f0f73148afb9a21c9a9ed2994bfb7d67ce97d2de1b0c0f32aeedb85e24d163d3a48a24c4f104a";
+  sha512.run = "7360d33c1d3912802be171ecf8c218fad45719ee6dfa0596904484ebf9dcebcc0d926112e40fca76a196ec6081fafc4524c81b366008fd20207f8150dd82be29";
+  sha512.doc = "1ce493838bdc59521728b6856d2cc2df26f44f3bcfcfc04d32fc20d3e416639b1420e1451acad8b8bb0597336a77b553ac599ec0c541527ab4d8e56765f07f3f";
+  sha512.source = "9097fda313f9cd3e0db095c27fa534269e2460c6b5efa3e6681471590591b0931c52f28374ee33404ae0491297d1047dac8b7ce7a525a46b01873210b6242515";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"glossaries-slovene" = {
+  stripPrefix = 0;
+  sha512.run = "d569d73cbaad175549fe5d4000ac73b0fb65d00598dcab0f3a7c7b384682568d21016fb50d7dc6d2f6a1b250ef34c44c784eb99a1ff042bc3a52bf1c987e0b55";
+  sha512.doc = "63d212e4c04dd7c7e663de230274b9111b8025839c8136313677d13e967a23870927a49220aa1efa0702422e8ad4cf683d1e5e09fcf291873d78bcb055e24003";
+  sha512.source = "0e779292973bed40b3e077058aa99ceaa851ef516af7be57a21bd378492f77b87e65ca95f9f8fdbebc8818dc820108e598ce93efb8c6129560e0ed40f3633b48";
   hasRunfiles = true;
   version = "1.0";
 };
 "glossaries-spanish" = {
   stripPrefix = 0;
-  sha512.run = "b30355a97f8a434e70542195ea3d11c90a243fc76d5d8b2c374a13a8e9b1b94c7dde82237d83594a8442da92eba22e861e589e35f49397ce599ccb528761319e";
-  sha512.doc = "6951596bb259a85401899c2dc532c5d256c0026647d0912694df2768cf467597f6ae6b014277ddcde7603dd2efafef95f695752604e2f5d192e185ab2d054a41";
-  sha512.source = "1dcd8b4d50bc079100ff842d4ec7c1a046b51de66421f2d099a1b85eb35504f0afa8454f756c265e0c6e096a5be54795330c07ee033754323eb19c3fa5119c38";
+  sha512.run = "6c92de5e24135a9c47d200f8f0c0ce7dff8a01f8c13bfb49d4090d1c195052559f75763c0ed68d633b40cf18bc89bc51e7b6c2aacdec05376a3c2e1d1b7a31b2";
+  sha512.doc = "5fc58f64a7f54b50dcfd632e700805bab2f46a92b727853b147d9f7156b2fddd50a8fac08d0ac59bf5f89e0ecf1d5ddf7c22482e661f8a5e7b5568832168bd5c";
+  sha512.source = "8bccb84eec75980107ed08b9f7e1ef0a595f7eb0c270ccbff77f4ea176fb5e17292b7d34d081ffdaa7d7be82fe40f71bbc30a65904892400536c51ea777475df";
   hasRunfiles = true;
   version = "1.0";
 };
 "glyphlist" = {
   stripPrefix = 0;
-  sha512.run = "493d1d5af92fda0bc44228e3001b39e3675a9a9d367fdd95fd210fb34b8a0802ec84ccdc121bc139f70350d905c5587b489d9afdeb49e63a0c585a55bf396bcb";
+  sha512.run = "d4b606f0aafd19d642be4e18c6ae4a6fc2051f0359bd5f15cec2b398b097e204bb9fdfd0b0925f3b697658c671e598e7b2711a85d0ae13d21af1d00040cd2354";
   hasRunfiles = true;
 };
 "gmdoc" = {
   stripPrefix = 0;
-  sha512.run = "34b3ea992dc387c99e8703be3d2af11b4e0d8c488a31de1b906f94c7989ff17b2dfaa1217d4798811cb44c4b4c9d36874991f0392191263d2e77bdc9f09623d7";
-  sha512.doc = "d4b2272fd092a6cfcae9b560653299807708959187c89e59aa7fc27c393f7c52463c135d201369710e6d76bfa4fa672a9538f192eff868b7eef4d2df21df38f3";
+  sha512.run = "cfe29d7bd5e7936c2a40292fe2518dcd79dbc105f08d3f0dfa11ebdc4693ff207a1b312e6160fad4c089bbe5012697bef1122a893b1d42d59fc39fa5c48d2ccf";
+  sha512.doc = "68825a5fe89383d68b2829bc7e2fe230d717104a2ec56010bc7e67fcb14f9191bf47594cd0387b490debb5e752670048404a7985ab0b5dc039f4764d7926192e";
   hasRunfiles = true;
   version = "0.993";
 };
 "gmdoc-enhance" = {
   stripPrefix = 0;
-  sha512.run = "b1b006107bf7ff4290ef90bd9393b792240d68cfebb9fd84ca13af4e9239339e7b1789efbe97a9f68fa2e121c08f2847a032482afa04838b7278dd4f049f6f45";
-  sha512.doc = "c27eced1666315e492ea1fe4ff9f4760603149901000587cdfb8fbfbe6c99f3f9fa84d5bb23f473dca010b479e1d5307f976ad1fd147fee26dff62f55b63aebf";
-  sha512.source = "500f3725ddd8aa74f70247a8d01edc68d6f9cdb8d2ab9ac362eed15a1664f626ea156c96cc351fdc3db00b893bd5f7ef8637ff1a17ab9f4a70bcf675e495521e";
+  sha512.run = "481bed630ec444fda66a22656c2cdfcbd931a6743823c36f570ede09038ec4f219ecd1985243a4fc8d852f38512c6b369227f559d3874447144e0cd62d7949a7";
+  sha512.doc = "0cbecac4ae6f70ed01a407a9e5fa388f2c142b7bf77d219429d6685bf7d7c6bb3f324694286e6fe49bc2eff287faba901b7eba44f8bde1894e8cb09527c289a8";
+  sha512.source = "131afb02bafe204637f0cd1589db70584071d9f2480d2a11c03de4b0c14ed79500fe0e811a035a761ae4e6084d63a89e1dbcfd40edd24b4715db55d206f5206d";
   hasRunfiles = true;
   version = "0.2";
 };
 "gmiflink" = {
   stripPrefix = 0;
-  sha512.run = "d9c7a86ac218009bb6d431272aba2ec5be5dadc6cfa01f144e1a7cc7a9b6135956466e6b010326980974c93c3e6fa616ff96838fc455ea68758a1095e8016e17";
-  sha512.doc = "101f2ae37a1546c6dd8738fa3814d1332eeedb9b59a107fdc4a257eb4f8bd3f48b5a36bd3fba4155939a0446d07687d7fb5e1651c736ced7a32a0c86d7514336";
+  sha512.run = "768353fee03e36d5f13e5ea8ca2cf0925fb5dc3c847680325a0961b78a3ed6c30859bc57de7b927cd9e782f85539c97183687755c31738e1da3cc27a08f52387";
+  sha512.doc = "4fea41151ea197efdacd9e5756043b87500af8445769d0d0f69560cb94decd4f097bcdd52041706ada9b1ee7826f3c56aa30db473c472b1c74553cebb5231072";
   hasRunfiles = true;
   version = "0.97";
 };
 "gmp" = {
   stripPrefix = 0;
-  sha512.run = "b959ee9e96675c973944c1cefe1fcc2ca3bb64f8a4fa996c53dc7d33c47838c8a95cdcad047688a891ee271e786765ac77cc37b75e417fa56d023ef96892b26d";
-  sha512.doc = "362ad7d66efd4447df607de3a4da6a7eb7c28e04df02be991b784bfeb2ba6c1567a3e4a6b1655c1a1aa3c81c2d528032539ae948d3a9f77048f67a7211ce51a1";
-  sha512.source = "5e6bd221c09130daaedb0768f55d29a7b78ca92c61f5e0b54028f15f0bd47698e10608a9c01f39b29a49f4f04c31eefed84e8b36a5519ed951cbf3436d7e6e9a";
+  sha512.run = "79ec2dd12610086eb5e7b582f5296fe7f1101c20b6d4edf10d47c5dbcdd506ff7c5f326af7600287a148031be060b3e8319d20d8267933b94b6c8a53e7753bf8";
+  sha512.doc = "d3d4bdbc5b1c4618820247ec101e43c1c28b9e023e7613d5256456424fa95a54f23463ff1336f2586359a6078aa733de77cd7ccb892b367cdd00215ac7b67512";
+  sha512.source = "13c602f735e86066e87231dd299680739af8ab526d55897c8a972b177ddda6a92277c3455208a11184281332d94f924b59dc845b51d7288c7c6ed750c45a3fc0";
   hasRunfiles = true;
   version = "1.0";
 };
 "gmutils" = {
   stripPrefix = 0;
-  sha512.run = "f7cc3aabbf7eacf805e270d599784acb91fd592044e213d26ad640ea3f5d78654bdef08af1292d6f9dfebb75ce1b1a76a0a6d5f05fc7bb244f38dfc3879d0ece";
-  sha512.doc = "affdfd366d466e077287cbc998205721298f1bf6422bef4d968a4b469f371cfc403480f74f16e32803f6b25b11af774f513ffaeb6099132b4130b0eef76dfe83";
+  sha512.run = "af0fa2ec7a3ce1414bf5d48d0bd8ce9de1b96b2bfa4f9c2babc6b27c52d11a7e5024bcf66938f3566cf6cf331b154f7eb4ca9d1cbe7109cde939829ea5be55a5";
+  sha512.doc = "f1d6205f39f573b0c9b28f0ebca03b32e20e27c0be12adeb7eb23e12daf41a9590733270661aa29d6b8393dc87855f293437617cd8598f39082db8a33e9281ac";
   hasRunfiles = true;
   version = "0.996";
 };
 "gmverb" = {
   stripPrefix = 0;
-  sha512.run = "f17bc2b8c31f779682d2f4a9a5514173a90361a4b00b56f458fb4a0858eb2495693bcf968cda21d0ab3d5b6e1ab962a75d9b8959e4fc7feb7bf19f0349d5f07a";
-  sha512.doc = "3e40b6b06c3b20808b04878f4c52fd57fb4f6f6d544df7fe107650a44839bed414cf5fbf66819a801c3dfb82586ea682fadb2da65b66ac7d06263ba6c24d2c19";
+  sha512.run = "18038202bca3493596925d9d7c65612434ccddde4b301134f1f57706e5d2978025fead598751e27a29d23f66ed12306e6092461aac1d9d921ce818b0a49cdfbd";
+  sha512.doc = "6dfcc27b38639d4a97ed311bf7c6f1faeb1a023abc27d53e272f334b232a52aa0edc030b0c53d6587845da64097496696ceb03cbd6aa13c8ca5ac12c1772860c";
   hasRunfiles = true;
   version = "0.98";
 };
 "gmverse" = {
   stripPrefix = 0;
-  sha512.run = "8e5396d11f60da6986e34a4822bd61093885c2c9308f5d2314f7af5b769138d3999a19e5b2223a0b8185fa5be332a2478874acc5a18dae94ae2c35a5c7310919";
-  sha512.doc = "74c7d0644a32c8ff1997117ed1b665d73736d8ec99c698fe537898a22ac134ccf10e66b4aaa04a967888bd849cad1396e0cc61b0baf1348f1e8173621f881e70";
+  sha512.run = "98692f781fead4dc292648153ca18a05d03f2c44174bce8b2f72e85fd1e98cb5ef0fb67c12f33dc982f1d04958873ea4e78f486fadb0c94544ecb66180ee52bf";
+  sha512.doc = "7e37c0c2e8443aedd6462251f603e2eef9cbacc45d980d79bf42cdc64b7ab0a5d81f50ae65251c17115265c45e641a5930de640099f04dc8112155f68ce9adf0";
   hasRunfiles = true;
   version = "0.73";
 };
 "gnu-freefont" = {
   stripPrefix = 0;
-  sha512.run = "0955603a0107f6822fcd654b1b048cedc5cb3fa7dbca5bb857d2c96cf6f10b969d2d0dcacea5566bf0f2d54ebb1d854eb51cceb1435123075f14635ed2ccb3ae";
-  sha512.doc = "de7b1e65675edfdb9b6aa986769f9076af7c657e0c5799b343e140fadc00947655255e0af7619a2d4503ebbcddc95f0a3a012ec67b4d823e3c190bc278221a00";
-  sha512.source = "f815fcc6f786a66dd4b9beb809a22385bb83f62d6e3433180d431cc4752681fa991ede7cc4ad6a59a1a2177be174e4b55407317c4fc1d2ca3c323c98fe69e3bf";
+  sha512.run = "c8ced8afc3b1b9108e5a4a82db54a9a28ac6ba5f4f379062b0d9d8b9724716ca98234a345c06c7d809b1ce609f817f0a9acba1ef8e94ecbf8f1301fd3bc9d248";
+  sha512.doc = "3b7adbdabaf996fe8e0cff7e1192cb7f5984103398b22af6f859500a0041a0ce2ac0c70bc3f17abb7294ba80e34baa5cc77639500fa03f1a2c1c93548aa2a816";
+  sha512.source = "df7be02fdf1e4559f701b67183237f95c7b6c1b9b22f3b65688bc84d96f97964755397e4cf9039229ecec8b5810d65042ff2d7c101ef7cabbb126e6e9c93b3c5";
   hasRunfiles = true;
 };
 "gnuplottex" = {
   stripPrefix = 0;
-  sha512.run = "88af020c489b187dfc86a9f83b6b64eb2d3a0f4c922426f6784e3c6b094c5d1b22c430b407413a980302e324899c6178f7ba184168b240a8e50c42d87e9a06ab";
-  sha512.doc = "448cc866ef0a256ec1ec64d8f2e43ccc1dedcb8e483aa808ba0c918d6f1a67ca81aa8f5053ef733b2ee0dc53f152982f41073791a91835978001083c691899e4";
-  sha512.source = "6811c1b75a07a1258c601a6dc86da6be60ef62be3ab362eb48627f49e54e68bde62a5610dbaf6dec953a1fc6a2dc229ede97c0b8f31ff6a7d5b5f40cf242e93a";
+  sha512.run = "1d1f271fb02e7cc8e5a5fa563d4ff30269fa3f6a33f0acf3eb833998dc22276c0ada1ccd751588987bb2b6f2dd9aad2fb6c44caeca47953c2ef7c5472dd50dca";
+  sha512.doc = "b782fa72903c4de4aba803b0e3b888f4af5598cbf8c82a94929d0a5148f081ed45d6f8339f6a20a97b8ace731e2039047173e4fd02d795b75cbd2e5bbbfeecf2";
+  sha512.source = "5101ea2848d49449f0899e2a3b83478291c03b439c92d2033b56a0f01bf4af628f592cfaa44ae113388603ee0c4f0588cc08e226de4ffd01618ad785d6d1ae07";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "0.9.3";
 };
 "go" = {
   stripPrefix = 0;
-  sha512.run = "e73b4fdd85590adc4cb7aca073c647b6bf136945ef49855b8fcdf55096edc928037de6d057e35f8ff76faaac93fa4d09c6363da5cc638e4c34b115c7190c9650";
-  sha512.doc = "3cd5af1276497f9aadc095b378dc3d49560bc9dc3f68c06cf315c6f1f33c48c171b9733cbf99da474d340122b31e525131991600e5e27b7470574de5d2bb79e8";
-  sha512.source = "526c9a9c3e9df8ca9f7764849c16d7044ecaf30bdcc8eee2891deb0f3a2c20a1f19d7b0ae4ab3b1f856201383b2169566c890ae9c127ecbd440bfee6e464345b";
+  sha512.run = "772772146ad95f2ebff85a2f3064615c26300a6a4050c1a6c7207d53e12b41477b0936b1c3d182f1c5db0aebd8499de19e0c23283c2bccf753addb2623dfd1be";
+  sha512.doc = "c65516b11156d4fef5104a36cb361bf59be244555233cb5d9692892da06d3bdecd0b09866db136aec177a2bcbacfae6bb41c606f6b9da0329a00c614055905d0";
+  sha512.source = "54cbaf16bd4a1a9bdd02b7811120cc82269be40e97853d94b1d526eef98e7df8e7ab8de2e7abcdd7e7db4c1f7fdf3d7355d511ed57c44c09643ea291e5b1c6d0";
   hasRunfiles = true;
 };
 "gobble" = {
   stripPrefix = 0;
-  sha512.run = "6d65606ef94a9e08ac21322730d418bf693364ec36a1e04d30fcb4e3a88d3f0e8f2d3c411ee37155869fccfe6065739d7a9206d9be9c4a039f6e91cb04bb6156";
-  sha512.doc = "f63a5d3f312d9b445e9accd3b39266d39de16740c7107a30e2478d82637175f97cad746dd72f24d578dc97434cf07bfa21ad32806e7c9542ff1d87d1274906cb";
-  sha512.source = "821d462436fc48997eabffaf3b6416a45c90839de9e5d9867a9eaffa719669d2c8744aee8ff13a3742885a0d290cf84f0d579f1e4d12e3cd20b4ddc093fec272";
+  sha512.run = "c2426530cc89a96c8a8e6e01c936053c9eb9c4a07cb46369f3dcf6d0d74557421b1a749a112f561f7248a34a46262fa0b2b52d103bbd8cfed720285383a5ff8a";
+  sha512.doc = "1f4879234402deaf684312daf31abec8a9c36c04ec52ce9b48cf6b7358153b6feef328f2c4f704a2ac7a0ead18a87e35e3ec21d9e22b1a60311aac56f6b48413";
+  sha512.source = "ab765f57595789abba5fda194d49ce1c267541a4b22dff0b4fdbc6f2690700503c28f860cc21eb585894318d2bb88ec9f0dd6b48ebd515c8b23ac4c0f46de195";
   hasRunfiles = true;
   version = "0.2";
 };
 "gofonts" = {
   stripPrefix = 0;
-  sha512.run = "6401682f636cc451c326ba67120e860e5a21c97915d168294ad4bc38c1160160d4e9de981a49ef30d042f07ea710f2e302458a0216c6d8bca783eaceead45b7f";
-  sha512.doc = "59c48dd701bca3f0dae5c80fd4e182145d01c98c0e7d19bbd3335da138c7d0a1297f16369f942d1f07d34e113e14970de1835886a596931fa62ba81ec52ff356";
+  sha512.run = "564685c341571d012c0ba80b44470c257714cb03644791bb4d0dc771a4c8234aa980adac503caad9defb0a6230bbb65c6aa552989c25fe59d42b0e623077b538";
+  sha512.doc = "0ba8fe236f77ca7bb32fa7420a8c6dcbc1a493837c6fb78aa5f32fae80614c4e3a413aae9e691a33eccb747f297ae0c2e3dd3da9d483b15ed043aa21c0a01c74";
   hasRunfiles = true;
 };
 "gost" = {
   stripPrefix = 0;
-  sha512.run = "af42c1e2407b682057c55b2672a7238a9cf93728ed26b24dee16452f4ce1ad53f564118b49edd00fec7f423d405c2ea4ccb3d965e63942ee0d639d6731678b90";
-  sha512.doc = "69331bbaae1cfbf76dbbedaeb2112e7b62c61b3148f78c6f74333960a72458f0abc44891d61e7876a67e24e800eb42845219af4a8be894bee296a8793c53ee36";
-  sha512.source = "9ed231579a5c156edc92db74a2d224dbdc94faa0edda9a7be8a18771a3d6bdad00806adbe419e19a3752c02b59d6c78e24e2dd11af1a65b56041731292375f38";
+  sha512.run = "81509f8eeda503dbb62d696adebf15c7f5fccfbd34d23ca8d83a9e7e2fa328c98fc1acd1fd99061c260ace3895cadae8138f0350027c6e81a0b52fb2735a0cf0";
+  sha512.doc = "4a1a95d8647cc0e2b57f7815b4b06b7fd009e78a6aae701248f70a73825b394ff508a558a03386871d0a2ce22d43af81b677a2eeb3c2f2475a64a13d87493e51";
+  sha512.source = "4d54271026bc1490882e207c079a4caabb8fae9075fa39a2bab4673a4046a63d175e12182fd536d8c2e4bd049858add1739da987a4d99baf3d61a32fc0596687";
   hasRunfiles = true;
   version = "1.2i";
 };
 "gothic" = {
   stripPrefix = 0;
-  sha512.run = "b4c2f02b395652c1f763e78f7d6b32f5158c1bb4370566868b0aa8c25cd2ac3e5f33dc87f6a5938756be68f1ab95885d5763f00bbb3945cf9c26d66b35d1c026";
-  sha512.doc = "b5edfd7f2dfe64c72d629a6a69c11bb53bee222bd8f0051a99a0e4c8f7e7f1a9b2ca1a5198fe56e4976310281b8cf388020c1f4b73515d973a1ac7dc1830993e";
-  sha512.source = "aafb0b72a691d198459780d9a25f8debd3fb54ba10a40b2bb6224bdaed46fd800981b21eb085a07e4e838c8cee137a3fbadfaf61b8dc7bab8a3e7dfcfa90dc75";
+  sha512.run = "0c3fafd295fb087d3ace144df7253ff09fb3d79091dcd49003964a7ce57308cb4e86f3c3158a5e3d7e509e9958f77d5cc6da03fc41b585ec4ea397822ac29a7a";
+  sha512.doc = "8f2495f3f9c72e5a5b01e17e1a9f80bae3ded97b902765dd2fa9b43ff87769a9ac2b972aa660344bcc8e29af3824985c49639477ee96213c0ee7d9d411e8ebad";
+  sha512.source = "f6e600c736989ac81cde1fd51306ddb520e693b6a5ee8338c3413b5656aaacade8d4f1ca7aa316589c4d49fa8b96b598637792825b03ab0fe3efa4bb584067b2";
   hasRunfiles = true;
 };
 "gotoh" = {
   stripPrefix = 0;
-  sha512.run = "7371c8718ed8651fd13e69897e2b8f8c1fdace736bfd40a669b866ab849af17be81afb9c258a99ba0e7722b8c54a4077370c9e3501c14a22d2f2a49115e0e8ce";
-  sha512.doc = "6584b7e4c40ea9ffbf503f99e1e9fa4f76ab9d40bc1b96e9dedca11ddfdacb2565c10835900308f7d3e54d04ab07b346527a827e17d8a358852278e729570fe2";
-  sha512.source = "e166d20459d2e9ab63e2897f4fdf90e14deb3322f0937250fc07bf3d7349289e16185e8e986ebebbc6e68f9639e1c8cbbc63e8f4e7ae2d68961cf7c4172dd46f";
+  sha512.run = "478d51d4f8af849180d1e21ea21c6404f6eb1d13cd70d232f7002f62a588ed2de40e2950699c1bc0e5442069a957b05f3128430ef421311737cf55a6df868a12";
+  sha512.doc = "3aa9837e81bc59adaba5b1cc3908738451fefe2645bf1422e0c6b119e4ff94ad85a7c2ddbae798e1e1ced95a530ab95b2f7a5a92da827c9f6d9bdc574b5f3231";
+  sha512.source = "8ae972cc1f0095c442241e5340c3688021253d135167a89c67000c74a53418c48c3fa13b4b2007dbbf598abd1445ef06a9113a32a1fa37b0b8a5dca6c050ba5e";
   hasRunfiles = true;
   version = "1.1";
 };
 "grabbox" = {
   stripPrefix = 0;
-  sha512.run = "7786e67b645ae018d0a97e307a87e7c19530b7f486cf2f96901b7700f6f5e4067fc93f1f2295268799e9f5919f736a73af42abfd53cd76956e7d5d4f665b7e46";
-  sha512.doc = "925dc1492090dedf948685190959b7e20b7ad9fea7278803ff576be7963b78e42a1d5b66da3e2e955cf6b65a1664c6e4cd2db07d4d93ab57a217682537a026d5";
-  sha512.source = "9fa9a1aab8199c97551bd097e6afb0a24070a224a733c7dbf4d77e817c72549da555380749bc9661db479cd8404047028db769858ac50e0e523ac365ad148701";
+  sha512.run = "d56aedb2c60216ff18af9cc2f2bce0c646545becf973c7d791db5a17cf593e6677c3bca7134d9d663e6826c249e0ee737128ff68184200f1cf7c09c308508db3";
+  sha512.doc = "584d8fc20bb49a9486426eea0c7694461e904375bd9af4d0030394d65c1dae8d97451244decfe3c00a59ee7ba92a5e8b5fcfdbec6668cc1ee3652657b7b04330";
+  sha512.source = "a82cbee93e9dbc9a2485f13783275304d11920ea201458175dface98da3545b4266be0402f4d39fe3f9f0a0adfdc2210244982e09fed094b7487385b65bb0808";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "gradientframe" = {
   stripPrefix = 0;
-  sha512.run = "9fdb9eb50f689b1b4bcef0e96b002a5db0009b13f4d34d15206e5530bdfc8eda25f43a30a69c44008aff93463026d801a355fe5c3e02afd49c2b7b4f74b6171f";
-  sha512.doc = "fcd1920d85e51a96e17ffce5e0b14fb1ac864100ff8cb4af03d0bde2aca18c95569dd5b41279e074e86a031394a8f176d2686259c0c55c0b4cce31c7066e56ac";
-  sha512.source = "6ab758a0ecfc76b11e0c069684ec9acb0918e22ce9415dc7ac92c6114728e5550f2aacadecdd2b4dfa0f7551061bbc2446a9bb0e14b26bfd9de14e962843a55f";
+  sha512.run = "31612230548e2167c7f1d6a13029ecc202675d6ae3e681fd915d38aa116374214916155453616da51ef3dadab06955fcbfa9bc383f12b5008adaa8a60e24e6a1";
+  sha512.doc = "8b010be9e222609d13015176dee4bcc196d953caf7a8c1814e49f9e50325bc33362975338241bd5cef27d59516114113bd5ac81e3dcc6e89ea7f4d53465b3cff";
+  sha512.source = "7ac2eaaff343101c1e9501104e2be138bbbf85d009c2eff98f10876ee814762ac2198bc800ca43b9573e206241b9e3f196ab24e053078f78138415db8ed8fb51";
   hasRunfiles = true;
   version = "0.2";
 };
 "gradstudentresume" = {
   stripPrefix = 0;
-  sha512.run = "99236f32dbd505b6b408fdb8b0cc78a43c3907a6fa011453b4ca12b71a5b4d85269bb830bcb3b33f43d0f13bd3600736841cec17d848287bd4e401e38a7231a7";
-  sha512.doc = "828328262784d92e3a809992211772996bf92ef82e65d30a906d4d7c541ede3e7ab3c13e2e77237087fe4dd609e457ce035c5589037f1bb51df7a459d199b84f";
+  sha512.run = "b66b3b8f7cf16f17758e4dae3bcd45f6e6e5cbc0dcfd6fc42f8dbc08abb572f16b96d5de4ba634b27cd16a1c4177bc62644d3eb5ac6060e66d9ca6d3f5df4eee";
+  sha512.doc = "e7b166b87a5dce9941d6bd931dec91124a118ba127075aedbe70fc9fe415a8083911f90f094ddede551eef197baee9cfa4ab6ac65c8ae081cd8938f872ad7bb2";
   hasRunfiles = true;
 };
 "grafcet" = {
   stripPrefix = 0;
-  sha512.run = "51f50b30976c73069a380398658b504544a44c6e32c1497575700c2ae7a5cd31febc6b2e5e99c95ff9a939aced83c2ef496aadc9d8df3f22fe8ec62b70a5831b";
-  sha512.doc = "67a0105a95974e88f5a5b24a06c3831a1d69b03f870e1c0dda7972ac420f77d82ce81f9030afb83f404716689b08e3ac717a26ef0a70e66b29f07226fcf867a0";
+  sha512.run = "d322b1b45762c65232f6f66adcc12955d85d4bfddc08655cba8e11903f6403f2031a78d7e566f4d9b5eaf950aa8d2a53472038e204a1d18517c754c379c60bc6";
+  sha512.doc = "b02bfb612cd5fd85c1839307a016bfc4c3d472ddbd591d1318bd7c5fcca42cc1200da07f2105ec429768cb0f9270273425b01df1242e475946bd37658e692f41";
   hasRunfiles = true;
   version = "1.3.5";
 };
 "grant" = {
   stripPrefix = 0;
-  sha512.run = "97532f2d870189e325af363b3825955e76e11070ef524f662155c90a5342148a93b365e53627d2e0d7909fb45558a4e0cddaded8ee9d9398b2e516eae987cb82";
-  sha512.doc = "fba7a0d396f928cf5d7b6a295e7ba54c4d7168f0a120d01871703966b075b627e5e85ec95027aa1be7baf920f7a0f74219ddddb4d4620540a26466de21a5df6d";
-  sha512.source = "0eff24236e91e76e8b5918f5aec7d7cb8e8e76758f3f7c81e2b82349317c8d534fa9332cf67d50a2627b6c679e3e0964ba2cf5c82411eefd2d7529a9e005a1bd";
+  sha512.run = "849bb84949f2fc2f766556988eba540ed1a63ffe1d3a16279295cfcc772ab027dc1e9e5d55a9bf834c24e97a0bcdb04bdbfa653c71f99cf55ec3e18a83015a40";
+  sha512.doc = "bfadcd59264fe3d3a6914267cc9d26c5bd6f7aa2061160a6547b04f448daed041d2c15633a61a246ea7808b778ff32679249f4c68e15b84e8502a454a4cec1dc";
+  sha512.source = "183057279f539234df3f3354e0aa569679ec5a265a515dbac71aaf9cdb430d17804c001772a6ae69d7918f248d3d641c1f04740c5e9bc578dd65607cd3e4313a";
   hasRunfiles = true;
   version = "0.0.3";
 };
 "graph35" = {
   stripPrefix = 0;
-  sha512.run = "5026f47a57455bbd55bd87f4267b1ece00b7e1e7a8ac2b93cdf168198ca13aa1eef87335660d2ec7fe33a2408f1e12978adb615f81675ed8007e21daf7809d23";
-  sha512.doc = "64750ba4543e251661e5e054435588e1def17ce91a94bb5ecce74f621597bddcb3fd765bcc2662391c3adb603a89a419ee998d0f9a441806fb38b8a7e1b9945f";
-  sha512.source = "db4ade0d195e34245f0866ea37b3ab97beeb2b6b3dcdb8424d3a9b2dd26d9eb3fd8714bbd596bfd2eb2121c44adf45efaaf5a3841f1c746f1e031b8f118cfbf4";
+  sha512.run = "c9e2cb847614a7c21259b7b4e28ea1134d900049ca55da63990ac1f2c733e3b567bfae48de46b1e4b6b8faa9b4e0d4f9202bb00327ff33a899380dc3496214f1";
+  sha512.doc = "21a04b52c476b78142239e3db4165267b51ba596c2c7a95b175f323cf1e78b0bdcd324f55f817cfd8b2b6b7434200b060b51165e3468ee009d295eed752d1e88";
+  sha512.source = "4c2f073a22fea162e1c3347a74c60f680d5d2088143fd1e6634d4bf2884131c6c8a8c267531a04db705acf2bf2f756607d8164cf81659259f92ba600c7b22427";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "graphbox" = {
   stripPrefix = 0;
-  sha512.run = "fd3cf4ebc945d889d74d54571a158052e00799b9f973c2eed0aee7eb495a3311fb1465b9038103bc9bf6f9b5c0ea8b74c9ab36cebc1c9125f9b2f23fa513aaaf";
-  sha512.doc = "b43c56f85b7a4b1be4866b3d6c53b7c106e9285de03d4b9aea8f4871d32e391789c6912d65522bab3178b17577229016db64ce8b1c3dad788caa5ee2f6ad9f59";
-  sha512.source = "e94d59027803f55e87d05542f5165ab8a78973211cf43ca7d0fce348275e7b8b3556af92c9ca6dc741bbbef39bdf87b2a423549a3330be1a7dab94f22ea1c8f1";
+  sha512.run = "d78f870b4cd54f7c6819413fd8acf0e3e1fe9b3b44f3b68ff3a20ad51aa6fde69c52b336b57285db1f6d5465204beb8a1179f918a71922889297cf6925282d14";
+  sha512.doc = "342c9018116e80ebf3414358320df55e456581630e7e266ff868e6c624baec0b7209ad3895d3232cd0bf35a9677b8c3db800b7772606afa928ed3424ac16c71f";
+  sha512.source = "1e97e3a1a91d007309c091fde6f05a7c1b062b715ee1f35051b20ad5fa119ccd415fa3741cf0d5e4f2a090ee9acb090c06b5467294ca26ac8f25a11971ca7530";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphics" = {
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
-  sha512.run = "5f11bab21969a5ea2fd6419315ce75016147d6c2b19cde5fc62b14b2c4442df2078ea504484b8d55f9f9f9aa34955ad767775b80fd33d3aca2a959ab8e762ec3";
-  sha512.doc = "a1cca357a00fe2478db4409e34b89535c371416746f225a0392007e1d6b1798e74dc144b0dd2be4d3e80184993bcf8c0fee415810c61223c0c50801b829bcc3d";
-  sha512.source = "df668bc141aa225e2fc7449f0eebe2d415773338a78aaba2d0e84409b247f0f7dc5b5e70fda9b415b6babcccb138f22b12625457b61954c3e7791b8203264c5f";
+  sha512.run = "56507f63739bc8257e849d77f08fe2a4daf70ded39bb474d7da6dc6013ed6484fff7505fddacd445d6510848da6a955ab15e1752e5abe566fecb47419d4b9000";
+  sha512.doc = "c938e463d63715e7d5803608ef567d7dd58fdfed49acaad19c079c30239ef9d5738d2308b1178b9a77c06b472d91f1e42fc724c56bc34cda9885d6e7d1f3a899";
+  sha512.source = "057f7744323cf220bdebb07ff17f5f83882b3f0b35d48198bf1e7503d4f67b2c0db770c81d7ca21fbf7b7f7c38e8036520d8acc71f93e2652c8b92de2d08c3a8";
   hasRunfiles = true;
+  version = "2019-10-01_PL1";
 };
 "graphics-cfg" = {
   stripPrefix = 0;
-  sha512.run = "de5503498e2da72de1eb8c17e3e182a237dc08b821325a1cb99a291a119a68884d0ff5b9bc48401918a5574e020e59d7719f23588ee7df1a0a4c2e0f3afb64d1";
-  sha512.doc = "a8b6caf61ddfc74817b92124dc4ac77f652be325af9e6caf76b5f1f3e9b41b7c13ebda9cb7cde8afd4a227acbafd26d420fc819fe85d4a6d9583546baf3b1847";
+  sha512.run = "e1015d360b56f63f1b9790daf16e2101e6af995bd1e45288ea604ae94e20196cab22e7e54d318aa79fa386123032a928be70a57154d409321e04f03ecf97ab75";
+  sha512.doc = "dbcfdf635c2816f305205915119e1f6acba816c17b683622a8a32c361d75338376426b258c1fa3271abc1d7ad2a520ac85092a7b3bfbac6463106449bc906ae4";
   hasRunfiles = true;
 };
 "graphics-def" = {
   stripPrefix = 0;
-  sha512.run = "c38f88cb97cca4c9410fdc35933e6ebc4aa54863d38ab78e07797f88eeebe6a8ef6dba74e2ab92c49114d72b72d4889d4a9b56f51c8ba7402caa0b3bcf721b76";
-  sha512.doc = "6b98fc05aa919f65259a2b5fd659174cae036697b3b5c1fc4a446ebd861c0b641c7c4f6498d960191197aba270f242f282f13a86042771b69b7275f30ffe26a5";
+  sha512.run = "ce101b28d6a62698636e03bb1f79ab7450552d15603e1d8df416b2fb55d397b3d696152c05e84e12415790b7e634322eeb6266435b0d9ff13fdac28ab164cddf";
+  sha512.doc = "6c8d0cb49cfe1a5abf60a1473da509e34685c4ee2525a3d0e895b9513550842ed420d2bf6e949e8cbbaf543ad32e18fe1fd8434b16e46e2bcbd3ff7f50154e99";
   hasRunfiles = true;
 };
 "graphics-pln" = {
   stripPrefix = 0;
-  sha512.run = "c24212eb46857883081ddd7639be20850a68afa036b4c392108b8a06bdde15c147a77ab64421ca3513063d531e7805dfcc869b8adede5d32eed49494f52dbb4f";
-  sha512.doc = "56c8f8baf3623116758c9e624629c3ac5c8517668d6c96205517ad04f12f8419100277ba44241d475781d29b60bde40b7020f832091bd31e086884906a2b708c";
+  sha512.run = "fa45e825390e1a7db1bde443e24a73fd84ae45c1403391bd2d4c944820a3bedddf388a29998f92af7c3c22c895fc2580f827808e84ca1ba334bf5bdce38f37ff";
+  sha512.doc = "8df46cfbb8fd1a6c2b921030645f70795923fa21046dc209414fe3302f0c920cd47b432df22e0bd77574834dc67ee68fe4f307d79ccfdb95c1f8bcf0c6d5691c";
   hasRunfiles = true;
 };
 "graphicx-psmin" = {
   stripPrefix = 0;
-  sha512.run = "c8adbd518b130b11acf7e528166299caa5451b89332f79aa8b27e72243845f69736460c840d2fac7782c77ba4926f1fb6a97292ac312e2a44adc537f25676c63";
-  sha512.doc = "06a6703d35b86e9accad930e71977e6186406bb3b131ccb78fff8f583ad3a5239fbc07f5cc046f9a7059cd4ff1cad3b5ded60333a6d0f7c95369a8ce620173e8";
-  sha512.source = "e81b2dbdbcd61c896a89c8a9777fc9f0701a7051f8d97460701f26ebb9c824f112a5259d11c910ffbe45aaac52469b1454edecce74ce1d4e88a8d00421a84092";
+  sha512.run = "852b917dd2f4e4366516db9e7e22a6f34fecd1b69dddf687bd79b1dd995b1bb94c8372b85214e4d4c668a4a8d7d84a8c6e246a09e9d36937cec380c65a14c12f";
+  sha512.doc = "7b2872618992fa6363b8a5a4e1d72f51779372475e7b7bf8ec3c5b9b571e77c1d80be42f2958d7c89ee4c09ce87f7c3fb76533010b0266d5108cdb89a81c49f6";
+  sha512.source = "7916831178f04abfa1e9a87b993880cdaf678f567fd9bfe37a05529296c7b19ae9d1227711b7ecb829542aa49bbbe94db523ab1492e649304091a70e942ce9a6";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphicxbox" = {
   stripPrefix = 0;
-  sha512.run = "0e1e0e9fcbe56ed93bb87c8d29049e756ce21d71488084ebbf51c47ab16107ed213333da137eef8fc38e4431ee95dc02e66201977f1133babdf2b447e24bbe70";
-  sha512.doc = "39182c10a5a3c1ff44aabc7359f974a89d7a67f931156c6c0c10b10973c0fa7de3c4c5b558f3cdcba7fca092c0b318eb0cd99da0cacce3a5b826344c939b7882";
-  sha512.source = "0077fdffd487632502285409f2ff4c0addb85f607ebb1d5e3e909ef58f3c1b7ba67bcfe07f5cc2fe5b95ec1f2e3b9d5d7ff2f9c66d48a5fa8a73c4cec13e795d";
+  sha512.run = "032168dcdd5eab142cd6bf24eaccc3fc6482e3eba7e0fd2600322b4a6f2bcb1ceb8e30a64dd811b500af37c94e7de3ec25c60c437ba9afa7ba4d8a9af8b79a19";
+  sha512.doc = "6fd432f48c05c486963b8058025dda2a65b5cfa87b6ae03581009dcdeafd26396bf16e04fecd0e68a896a99d5c3e09e43902bcfd3f58fa9a9b393cf64406e160";
+  sha512.source = "a563a3c1e81496da30aca7256b5b2afc57d9df9e9aab2b6f5bf908691961f736a616f7c5f86647b94a6dcf36d3732bd68b75f5a4ba7d7d049bb67789ec48449a";
   hasRunfiles = true;
   version = "1.0";
 };
 "graphicxpsd" = {
   stripPrefix = 0;
-  sha512.run = "616808aa01900a8712fa96626864a6e423359de5f181f8bac4556dad99f12a147a8a8152339c6061cc90bd20ba5e2db6afa8a9431b17c1fd9058eb04948fab3b";
-  sha512.doc = "7a9d1a5c9a9ee43985a0fc3c826bc7b93024ca75be02e5b155d283faabe4ace3c1946f9ffca85ca0e98f6b05fd6972e1c0ab9210aeab8da982e0c8da64eefa46";
+  sha512.run = "b9a6cd054b8b2bf80372d1e4b7d8a29e1d0c6d0bf0b3d67d961e37ddb433a73678fbf99cc6f2b00d94e6111871b0b267b8541762b52100ee7ead3ebaa6257543";
+  sha512.doc = "61d86c6eacc90a74a349eb52bbc7ababf6aa7dbd881a22ab39e06c0abdc6b8498cca525c431b2057245b294096a01a22d40c9dadbea91565b660f59c7b08120e";
   hasRunfiles = true;
   version = "1.1";
 };
 "graphviz" = {
   stripPrefix = 0;
-  sha512.run = "01188af4a90b3906959c8c86f4da24e74fa230bff75d4a21ba06f0524b1a195e5640c992b77a97575ecb0b21c6236fccd8ec4cbbfcd3d5fa1675157f5f305402";
-  sha512.doc = "298c96bb4c07dcb085111d5eafe027b61e1d6abbcf26efc5888fa2bdc4bafc9380f838eb9065d8ccc431b46f0f1870f50cf00de59f0e6f3ccfb35db2b06a9c20";
-  sha512.source = "cdb6a5d2ba774ac28412cb465804dd07c18e2282efdd7ef4721a1f48cacc22d55068e32188d505dcdf28d5c34c70d3f6026c1b8637378274d8e04533578e379b";
+  sha512.run = "9065f2316f423697c8f815ddcf91254f22e44d89964196d971c3a42192bb1e20f9152c5a98375060daffbb295f8885899d2800728de31ecf60e1a25cf7bce31e";
+  sha512.doc = "688f17db6771785753797edccd141470517dbb2ee875e2a70769754bbd314cf8af46b3dd89d5c340e7da7d81d86895894baa2b9e8facc0a54ad91cd1a3947722";
+  sha512.source = "c3e4fc091b5b64924e886435667049ec2dbf91c20fd7d1678f40990e66aa9d94fd7b40b30dd359be0fd1fba0e169b29058337ede8232189dad3dab7bb34af869";
   hasRunfiles = true;
   version = "0.94";
 };
 "grayhints" = {
   stripPrefix = 0;
-  sha512.run = "38a62008005bc4815eb6c887d9802133b6a0ee11d6b90aa11471b47dbee6a373705e4ed882cece927e2338502fbb8098632a74f7a462c443ff29791e88350427";
-  sha512.doc = "79f9cc7c1c142f338c929b21a33f3b3b7b446b25a85a1e43d07c978c348048d11c506ba227d8be6df73b93bf0d732c070ca1055bd049f9582c790dd7fe51c66a";
-  sha512.source = "61ed1049a4314125864ca06ee8c6f58a4cb1d1eede93733f9f59020d6e39858d71a6fc0ff97892b5551089351cf417a3505c8881a74559e1a1fc65d24bd20db6";
+  sha512.run = "45d0736b5b600aa3ae524e0ff2471846cf48105464710fc7bb7f8d27326275d1accc63b5a0726c5d43e5af487207eba105e1d5e4f59913a1b27d33e950122574";
+  sha512.doc = "85a6b8e44ec045ec00b7526f034e5b15d71fc8e439bfbbd43e1c8f85d4400318d8dfeee4bece211705c351e2b5afc9ddc89073fa14c1d90756bdf458d7b5b100";
+  sha512.source = "7342b60e1957297f41970fa2af45a8736f438e6560e4cb6bd279516fa40ca283d7cd60e5faad2959aba12958c0fa70a95d94bb9c48e7ad47956bbc646af82173";
   hasRunfiles = true;
 };
 "greek-fontenc" = {
   stripPrefix = 0;
-  sha512.run = "ada072429ca788a4186e31d9fff6ae7907ec220dc485d646ab5de7ee345775c3e9dde31c92f6f3ac5d3378930ba596e25457ce84ccaa3fffc2833b7260489528";
-  sha512.doc = "ca726404f67bfa7c6c010c2d11b695e7695bb33e5f594a43ca62fe84b40ce1abd5f45756bd22e36c990bf88df6929f22450fb24b70d81671dd07c2f89fbcd407";
+  sha512.run = "11b9fa2b314fcb5ba800ba800be4b88935ad2f56f4fee0209d3ca5dae9bb120a9267bca723195a9945535e24f4cb883b08ef335c1db1061773e1ea91a42ec132";
+  sha512.doc = "3fd4d1459679fe228006957bc194a2603b3064dee8312e5dbe52bad517192ed58fdfdbcb82477a30fa80ded661d97529aff463ca468c8e9d72073a75ed58f958";
   hasRunfiles = true;
-  version = "0.13.2";
+  version = "0.13.4";
 };
 "greek-inputenc" = {
   stripPrefix = 0;
-  sha512.run = "685e9df2ec95a7de4a1ee1fcf27b5cb7eec1d6ed12185ea4df1d966272a5db1ba542c7f882e1999146554304a5cf85cfe4ead1af9884d0ef70097db808d0fea8";
-  sha512.doc = "6c4e1dc8dec7dc622ff15a9bf24e03c15870c3d3563acc63101f6c73c294e421d809146b2df57c602ffb7431bd823f9a7ef51cf091049c1adffffccfe5408d47";
+  sha512.run = "1b3ad85dba5955a9dfb17d44a41db3e39c0d33920e1c36157e77803c4b2e402c6f7231c0628ad549c07ce7914f4a05c7da9369950b406270233d28f1a5adac55";
+  sha512.doc = "42cab0f26d944da70ec3397946bf217155534f0def949f2a0fdeaf8c0dc30a5046447c5daa1d8e2d4fa4235cbd29fef2d8e6fa0c4c440c1ea58d1f2c4c2ab81d";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7";
 };
 "greekdates" = {
   stripPrefix = 0;
-  sha512.run = "721a81513a0b3ab8f2405d2f78413d05a13cea26aabc2ca0e9dba50cddb608f2fb45cc52cf63e71cca1abad9ed6eba1aa05bd5d7619a6df5988380b2e56b5481";
-  sha512.doc = "4c815ce71a13b2e67c06b533d7f0e6450f011dd3d6cd591653fe1921ad490f085aca51a509689fa36f72793c3f3decc41c45d77c41ee7cdb8150e07d7fac8351";
-  sha512.source = "9ac531d4dbcda702fc7d159d655693d519d8d3d4fcb0d98ad13d88b9fd9aac60b4bb4269c183a1bceeafec35e211c61e9c6643ff119f8b63d3f44bbcab8e7937";
+  sha512.run = "7f350b4db9578f9020b28bc217e508574b697749c1d2e10c9de9c6499e26605da8334583ea7fb56d74bae77bc30e5835653014f5f8f594d3f35d04478ccffa9c";
+  sha512.doc = "979353f7cdeb127e12388e1eeea4903a929d911f6f8fd42cd814b6cbea09a64d0ab9c8118968bf218330dfae64f9147621d23d2955fb85291f484d0b5eb92a00";
+  sha512.source = "16a5fe04bd6a598a09c7f326f6848074782e8801d0723366e5ae2b1ae51580319210c64f5e7dbae7eca5cfe3573b0f24d689c802d9594d18dc7c8f4126d9ff49";
   hasRunfiles = true;
   version = "1.0";
 };
 "greektex" = {
   stripPrefix = 0;
-  sha512.run = "b2b76c3ab4240c67415b6d45bfb8e77e36038650b91af5290de45ed8c8ad2343158c21bcf7e70bcb5e80783ec0db41d2888959ff36b3ee74299ee24e2d047d96";
-  sha512.doc = "3e010611f618a222ba9b53c57c1d62d5732903c3462de4f2c149914ba1d43949e16eb1a0211ac04f84c8f05244ad38fb396e04b7f32bd4fb364b51121b2aaa50";
+  sha512.run = "d7aeb9640061341ed39a71f7f69036f892bbe60b9db2236660e163b42fede81d6be58627b0163d3a183c120c9c8fa54f91a1a036ed9e50d2a72d5eac7f8a79a5";
+  sha512.doc = "b58305d403a58a60ac0cd6ebb60afe3058430eae15774895e03e41b331824673c128c5f06b583525e2311dd8ee5166549ea831e756e8c934c73ae911a0adbaa7";
   hasRunfiles = true;
 };
 "greektonoi" = {
   stripPrefix = 0;
-  sha512.run = "b8031533ea50ba9ee2f2c9291f81f63858e0c2a76f3c893cf236c3ec0f0fc800f6a4d520754f1f5d1648fc5bd63ad96e979ba8e34863705efb97a151ca2ca071";
-  sha512.doc = "727930dee43368f08e83df6af725cc920bd8955db2fd7562c2694f92f21486de670225ed535ee385e0ee9e4615683b74bbb537b3e9ad9398e5cdb67a8a7e71e1";
+  sha512.run = "a19dd42de4bfdc3c068169bbf32c55fbd76135a8138d41e0726b421d3cd5e20483f77d7b78f85e54571381f780568f1fa1ebc57d23ca460b33e4caa256c4894a";
+  sha512.doc = "94da0bcac7b513fb9f720c0bc6d7ca8d822956b1517a95335b415e477d3144063bbff65d57978421b6b9611c6b4a866701762cbb2ab09351fe6c5d02e4b02f39";
   hasRunfiles = true;
 };
 "greenpoint" = {
   stripPrefix = 0;
-  sha512.run = "c621456c62481a8815c6b9072fc9c1286912501f4a0280b9191dc8c2e2d377e7066f0dcd566396b61dbf81398fa586698b97a69e6937b2df31c2757dc76b675c";
-  sha512.doc = "bb66340a341f46b1df0437269624f900bc9fa22e076eba9c84d7634e18e3d96edf59f9d4951e1dcb5860385aaef78d895d2f381131df2b88bd9341ecb3cee6ba";
+  sha512.run = "2ab6b0a9d12c12936362e9e1ff387c393bcd2e9769357dbc74a5d9bcbbe027424f5d58d85d608c2c519d615f01e6e809f6192280c8c60aa53fb8d96dcbdeb8dc";
+  sha512.doc = "84143440a421999f0a59461652be21d49d8ace66fd3b8d9d89132c6f06f67ef4b571522d6ed54d87f614a15dceb99cdf4c3caecb54eed9a4bbf49401de20ada5";
   hasRunfiles = true;
 };
 "gregoriotex" = {
-  sha512.run = "512797dfa961e12e38f46c1d2d1300d8d84f628e52cca51e3d91cce08ee5be697b495fde415810e63b51a09f5588ed306c0fd9a821dc22ed1ff379af70ea1ff8";
-  sha512.doc = "4d7d71e538da4f69094d06c3ea06bc4ce7f70391f2775fbe13aea23ae297a7ccbfec88fe7412a37dfbdebcae07ab92d1c55e51ed71c4772992a3ae76af2c3e15";
+  sha512.run = "b27e105c26022f7a9d04d4990f83ed6a73cb92fcfde1698c4be81faedfbfd67730d4957db1ce5b865820cf714072c842b85fc698dfe6cda0bdba100b3d4d60fb";
+  sha512.doc = "66e5170d2084c01b2a9cff2ec344322e1b76942d7424ca75306e7163ffa592806240ae0f1dab176053753dc3dcd2ea7f0db9aa9afd5d7dca8200e593b2158193";
   hasRunfiles = true;
-  version = "5.1.1";
+  version = "5.2.1";
 };
 "grfpaste" = {
   stripPrefix = 0;
-  sha512.run = "431b0ea9df21d22ff4c8ed26a3b20e229d79e6c8873f445fab65dc748e79c1fb45a95a1c13ff05af68bb68989984642c1d024451e826f82a26e289b53ccd8df7";
-  sha512.doc = "a0bfed3ba3e24e05da8ca49be0561d4180e7cd33a61feba9e046e4271936c622682ba819e6f6a2222fb994735aafee45ce9c1cdc371acf6f23b4aac7eb870414";
+  sha512.run = "e7c28c38a20e01b05c5839dc7d011ef5769b3344fd4321f68e1189a830a90e6ccf9edd596e248489a0a578b2aa4e5e5f3bd1ec21c76b3dba86a91d5e431d0617";
+  sha512.doc = "63719b8f7904baccddc9e68d1fc7d609453b2eb9feeee95bb077b82d1345c40db7a92c649c3d9abae6b9c2e19090163b6a227418f4d9d4d91b1e8b1c0438005d";
   hasRunfiles = true;
   version = "0.2";
 };
 "grid" = {
   stripPrefix = 0;
-  sha512.run = "004e211b0129672ca702afb61ba257ad547d61a74aa9a5bae1cccd2f5dd9aa37896dc774adace999800d510ef2a701cb01e6d841dbb11ce0293eb879fb6d1b80";
-  sha512.doc = "05ce56acbd728ad63ce4e6372bdda99bd060c18894373923cdc8084ee56b2ec4c9bd267471e5dfd139cdba3525d8c145c71554bf8eac353fbcc105d9554f6331";
-  sha512.source = "94f3ce897c7947e8bebf4bfd9e76936d0da764934048f277be389a35ac34d2f7b3d6ca38efe01a53ad755c540ab590acf9b35f72f5720b01a26e449968b6dc17";
+  sha512.run = "c8a6c0d6ac1f6043411d5484c87877a939d891aa3bbaef31248f8dc04f39bfc5f7f13344ab2997724682f228f180025bc5afcba8712ee95de983d7182785a8fd";
+  sha512.doc = "9fa0fbf1dfd0fd334c9dd57f50e6d1f893a222bda6402345c70240fce48ea07065fa25ce890fda77983dcb537c8b3b4740cea71ed6a6b4b94275f1e2bd8ea983";
+  sha512.source = "01b7c6dc356487d9e1d9b210828bdb6af50382a59d65b85c8246defe963ada4ee0796a93793d90d25c37ea9c86432d9c05c3eb05598c72410fc2f865e1e69836";
   hasRunfiles = true;
   version = "1.0";
 };
 "grid-system" = {
   stripPrefix = 0;
-  sha512.run = "976f5af3d430a8cc60883c7e6d3a1f196b24cbea14ff1ad003e480b00320c2f77c21ba4a0cb6342eb597ed3ee3678df2fe06697c0936eb8005700ad576d0d93c";
-  sha512.doc = "2de86d7c39c887286cb8d421e1b7a511815f55450f5b27a1f5abbe59b79de7e6dfb09376555af39a580816cbaf5423102d866805b8af56601319e96569e2f5e9";
+  sha512.run = "b9846f467854538c488ae444645fcfb962c1aece34e3847dc3dfdd4a2aadf8339840c09243448922ce184f6211bb3b95c6fe9675b5bae0e3b3756b2787e7e87b";
+  sha512.doc = "659b426e99db9152c64f37a4c977176ce1a24c324465399f3e481cffef505044aa820f1a445a79c68f069702c07082d3d5c73c5fa762068a44acdc21221cce68";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "gridset" = {
   stripPrefix = 0;
-  sha512.run = "b64151aaabf19e50c5e268874f0c4325da51911d59f3e04e3a1c4f07831ebf136887315b70fb7117ced4e9665ae9aec1a8a91edbfd25454e8981dc4c664793da";
-  sha512.doc = "41de2b8ef64e58e2aa41819a98d913703566940a04dbb9f3936f97c72f9c76b5f5764bbf4c65c68ba9791fcbe8c7c79c16d1027295d66fc51c5eb3e2ef3c4126";
-  sha512.source = "8224407a2a12b7cb3cf432d65c4179e82f44d95f90784fc869187effc0fd92c06142317a99e7a78afd71f576b97bbd1a63247e93584934ef2c2cf55a4771ed24";
+  sha512.run = "e9e9fbb2dcec8932e96655886ab9c4c19ed3e986f033feac7d8e64241fcb41f8e2be5e5bbb47032816626580bbe77611dabe24fba34b43ad53f3a592062b826a";
+  sha512.doc = "b9c0001a5d89d592e9d176f2bf91cdd5fc6363de32e21621b73f9d7c392928f0e39ef4eb17c589469e59e2e865b05e33233d237afd1266f0477ed3d8f3c1c66c";
+  sha512.source = "bedb06496d04f10395ba999f91bb49c4ad6c19d26f3c8de3b1492268fc58dcde72d8c03bea6d646ef75ef65dd843b4459af453ca673634fce164599ac014d50a";
   hasRunfiles = true;
   version = "0.1";
 };
 "gridslides" = {
   stripPrefix = 0;
-  sha512.run = "dca3a5375d3fba8711f470773522e29ce1555d5be72d06377265edec7b75d2b4d9158222286b5f5cc3638c41c39860893cada58c77f6caa75b6626d2cd42c2a3";
-  sha512.doc = "b272d57343c179c281f323077bcccd93c76f146d8b15a9d6fd470c55c551150bb66610574aeaf670091551a0df0cdc57b2b25b1dee846fb42948646c22ccdfeb";
+  sha512.run = "222ba30817fdd016d80210e25300c925fc45f5a0e5eb02d569f8e709ba578a6ac12aa3f2ed16e5bd6fea3e4b4ffd2356a046a27445e47f79bee9be93ca5aff96";
+  sha512.doc = "6d8a2f2a43b7e0b6232aabb78b25bbbb2f256e9afd54c704b818958496f7ea7b38a2741a60b3d2f3f7745431c302a7106ee015fc18d5c50349ad3cce375789ff";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "grotesq" = {
   stripPrefix = 0;
-  sha512.run = "cf22c79ceb07272d414bb6d761e6709dc32705a0ee080ce08c75e95d4eaf8499fe2a579bc85602b4ddf04475914c7d23954f2c80398ea460be41e17cde0ebe06";
-  sha512.doc = "8078639cc0c63f629049c73db9c323ab0cdcbab8a4944a2efe90732922e6e09aae1a322542f0e7521efc39afa7ad08cdcca7eff857179d61098e2aaf6f9f3e14";
+  sha512.run = "30d0d52c98f44945ed40f45f1e73ed60e6b98a8a74dbf57cdae5c2d400ef613f8bed2b89b3b6afbf7b98e449738f637911dc1becf0c0dd33c21a23ecac9a9767";
+  sha512.doc = "d41ae946f315d87b483a03d8b5a1034706f5bda765c69fa692f117b79bd5046b409e42c7b17577ee086ec98795e8a93acd761e30815c6083520b4bd244c33cd5";
   hasRunfiles = true;
 };
 "grundgesetze" = {
   stripPrefix = 0;
-  sha512.run = "077506c3c4ce6be1bc1a1851909f26ad4044b5186db4371f1a37cc5e635c4c7824d16831490809963fd815ccececca5eb8e382dc28111a1223bc4a2621ea88ae";
-  sha512.doc = "b681dbfb17ef5858c47c3eab38b50f611974773e8dcc68ba7ef075ecd0cbd0b56a99987f77d895a4938fa56e53f3df4ce58cb5acd4c5414d6051a260e340deed";
-  sha512.source = "a0f8eaf53a390d72f0955ba4b915559e6b41728c7176725186dc30e83f389161ba3558638d8ea8ed01e6a14d8898b743d6bc457bcb254663fc5d86f1c7b6757f";
+  sha512.run = "2fb5c03a405e29d27c929fd3970af300df8134efc584a52dd088adb6e0678979af7c6302cffc590b2471a66e13399f628d257f298f1ffb9689d8aa1d268b9438";
+  sha512.doc = "cdf228d38f34810d543b0e5135acb75a8ab12de7b706bda79f2abe9b6cdcf1e7c7ccd3f0ddb7cc4cc2560f5fb06c06eacdebcf06af89500953812f2e7a0c8285";
+  sha512.source = "7cd35484acde51219cff50fa78fc202c03ddc761fc2151bca789454e0aa0a2ea4a8088a5c6b9cbe468707f9efcde661c2d4c5357efc161d8454b4749870358e3";
   hasRunfiles = true;
   version = "1.02";
 };
 "gsemthesis" = {
   stripPrefix = 0;
-  sha512.run = "3d90719beeabe2e7bec382761f83b7c34e70545947b175d1b5cf1cf5f834b5a0cf4f4951bb3def70df8138b2d62cf6a725859b22f80c08cab0db9d3badc379a3";
-  sha512.doc = "875fd5a5ebdc26ae92d5e304c61aa1f34e8049e648d29245062700c529667d2d6547e1a5407d200c781c07e19664c0428cbd4da743f8d9a610b3203462cd324c";
-  sha512.source = "ff03aba0135b33905ef4649f58ca1d92da0e5c88a537cc95233e8f85fe4380eb2680e88a9018c3ec7b79c8124a6f734ee1879937fac8e6110e99df82cc212875";
+  sha512.run = "7debd75f882855b45665937669a3869a9268d2184b22da3d344a4a6182577aa8bb440a6f4e48123d359c23b630b61016331cad94f4a08acc3295dcfd722c40ea";
+  sha512.doc = "41ecef19c29f63970dbee2242fcdf612b7619a6930002d8be03f4116f3397a619951f2f19a79f0e3772f17005847ea5a6a20a91b6ba9dc3529fc4e84dbf7833d";
+  sha512.source = "757fad4bcc2bac03acfcbcf5dea53c30e7902cb0a53dc8116fde2b28ca9f85861b08f19a296096253a4e21e1d3513faca3e0f206f9f0e22e3699f32e0a5edfe1";
   hasRunfiles = true;
   version = "0.9.4";
 };
 "gsftopk" = {
-  sha512.run = "d60ff1257c2f00d12173593648b3e1d7f9c9ea043ef16b5486a039083f9b74e6129d48a71efbdc8f1f0a7adf74ac59e13c971c96e6d97cc7c8cf4cc0093be61a";
-  sha512.doc = "e3ef7876b48c4ea9afa5dda8a72ecbd83cf32600eac87890e44c42e77557c05e386f96cfcd00ba31e527deabdb41c84b22b5b297d0ac08dd9121ac3b9b724efd";
+  sha512.run = "d05802963d499c4dc0979a58bfb56a1c04e006b25b7eac4cdeb7659ac6f31a0380e476e933586f4169846f88d727742ae5494cdbcb29995439a4cca5be4c7332";
+  sha512.doc = "7d9fc4dc5c3b4cbc05939332e7286be712a51f74b408df2e6cd9f1c52f81b01104e4f41074c55f74ecd003276f2b9fa2285e875a27c20e16936e78ffedc6a4f5";
   hasRunfiles = true;
   version = "1.19.2";
 };
 "gtl" = {
   stripPrefix = 0;
-  sha512.run = "90d77a7d25387ccf67186865d25d30f8d542b8e05c0df6fd7f5bfcb4d5eaed02bfb1405a1e0563c089e96bb78c9695ef70d9d49afd152a9a8b1edc62933a0fe2";
-  sha512.doc = "53081ecd32dfbcd7c6b49cbf27e3f44e15070d55e5224661bb0ecb3827d9d66db65c008e425f361a539511799d5daa8e8fa4c5c6b910c7860594de0ac274d3c5";
-  sha512.source = "a9d550c81304af2b972c50876271fcc6ec00ae373f58a6e0ccd87781510f77c661ce8978055a17179e1e1a04fd079a82adcee54de515af61b9ef35bb47c5b83c";
+  sha512.run = "cd1c08d092b11423d77a87a5fd7cf4f62290aebcfd6a99b12dca957e075d0b26cc3c482b45e5083916bee3bb6aff91940df375ca4b1dbcbd9fc37a31d8709aeb";
+  sha512.doc = "2f41bb930e46a95d5c7acb07153e5d874724ac009b2741f6f2e62a9b56165b5e2cf06cf8c89cd9c1fc42a1a93babf6761d0a48b418ddc0a0f5d38e9c2f31f175";
+  sha512.source = "5b5d004fbd3dafa14102774a3bf57867df1cf9463630a7912d49303aa9daa2c147733badeee3f628c0d7c2c9b8081131ac39f195f6dfe97d659a945702b7eae2";
   hasRunfiles = true;
   version = "0.5";
 };
 "gtrcrd" = {
   stripPrefix = 0;
-  sha512.run = "632759fc4cf26e729b5f15c40d973f9b1cad67ceb6e8d721ce1c5d6533bf8a820a7f66e3eafaa3b390ffaf10473edd05f91cc667e1bf36bac1f817fad57ad1a1";
-  sha512.doc = "c371aae1901c087f2fec07bffc5c447964fbdf062160f47aaf84a492efccbc5b2dfb1430134c25492774aff21252a668e3b39ab9d909ebb24d0b3b8e00de29e7";
+  sha512.run = "dabadc0fba92f6da23830069e533e8d4fb234bb679aa355382c03bd3ac13924328ea8fcece3186f36d33b7d7f6cceaebb23f1158b855673160f183991e880796";
+  sha512.doc = "d8e715d1c4d9c7ebb0c34c690a82e338733501012ad19cd9e2c52e6b39dff352a4e042bdc5f54e63a03a38eb9c76b5aed2ec3afae88ccd63f56663ada32e828b";
   hasRunfiles = true;
   version = "1.1";
 };
 "gtrlib-largetrees" = {
   stripPrefix = 0;
-  sha512.run = "8e030581ddcfa01d93711d96ac26e228b5a5432432e03b02430e42abdd47368eae26b6a99ee2ca64bbb554af977f55411ddb2aa03dbf283d3d815d9c746bf451";
-  sha512.doc = "03b07bf6a25e5752dd762bd530560a4655f2fce938e995ff559bef47b39c4bc87402f2593b02097f15b4b68ff77f8e313665258fcf4a8ce41153d0fb29af8aff";
-  sha512.source = "3e945ed75e985507d8103cb8954ffd34b4b43725a2baa6ad9a3c42b633d58b062a1f0d0162ea505f9a4f800368b0066f76e2f2896f4c673106df8c4bf57d4c8b";
+  sha512.run = "320b5993b676d803b235d0a10cfbcdde966c3e9415f164da6f45dbd2f6f201750b84cf9dd8ce5383afd92c72acd35aa8a44d0c6518e359615b5b2009e772bc6a";
+  sha512.doc = "6558466d513a94cc98e5fe97d5e3bc89f518128dcfe411e27d0af171716545557096a6cdb103511157f0cd93540ea784f97d688ba271d9b2f1918f11608bb437";
+  sha512.source = "258780013cefe87f8fed74b0e3251f64da8fe700b13f45dcdf20e9d9215a5b7b74e931bdc1da944e70b5a6c9d87516eb2618546994b5b45193112fa9af74cac3";
   hasRunfiles = true;
   version = "1.2b";
 };
 "gu" = {
   stripPrefix = 0;
-  sha512.run = "28941c3b24e96e01931220f2f5e7962770e373005db8c58f70b880ff0a0a2cd4da95b0a902de5aa3b9ad3ccac4086722d8d00240fec27c3d2ab45d3fe781bf91";
-  sha512.doc = "fba0d6976e5e55eb1254aa281fd301806717fd5f99e8077d5e5874041e800e2e428e99083267ab618f0bdbb8e07ac048ae79a29ca375859717c1fa83247a5eda";
+  sha512.run = "243eb6ca0af62518d60134a8fa66f91ab05e39c96fa9c0ebeb2232d27f46679da0a634b64273608028bef7f80bfaaf049dcd9f0cd935d5f66b0d5054b2d21a20";
+  sha512.doc = "151f9765d6da2312a10523ffca06cb4e0529d4ebf8189e9ddc00f86510c9cd13be9a04e47b85dc8cd815461c17f7e4b8be9604a1a605c86d7228d1113f985a23";
   hasRunfiles = true;
 };
-"guide-latex-fr" = {
-  stripPrefix = 0;
-  sha512.run = "3ae4493b2f91b3c834d2d155601a3fd35b7e5ed4b4991c67399fc77adfb138f5b8f6adebf7d6f5962cfdbcfc8d737be503ccc347a859bd3024c70371a0350ee2";
-  sha512.doc = "b8d3fe804e22d181de937157159e5ad9940baa0e9db61eea05b31bfcea4cd89469dd8ec60cfec03c7a416417d9b783607932631b8a7b5c2c3448659d1c712c8e";
-  version = "3.0";
-};
 "guide-to-latex" = {
   stripPrefix = 0;
-  sha512.run = "415a26bb9a3811f6bcfacd5f3a801045c5ac86c7cae439ebbb184523f328d239145551520b3f45ab6d9c681417fd7e2b84634da097775deb643e594d3c0d3be0";
-  sha512.doc = "2d9d18cfbe4e961c36f8d5384908b0b802f5ad8db1ad6070319778d79fdb52e5fbfb8555e1d6172f8cbbb26a051c38d1f40eed4011aa943c106c8b5cd61104cc";
+  sha512.run = "cc569e242b42361e6506144257db1109f1adee52915f361ed330699edea1895b78ac64488ae8b9e2224bd3baab01515be86486113afc1ed9b072a400ca736695";
+  sha512.doc = "bba47b9a9e5223e558244029e258835a865b90824c7069287f0c996a36c4fb78d21e62e88e52ea008dbc573e7a4ea34843a646eab11d8377a5167724286c397e";
 };
 "guitar" = {
   stripPrefix = 0;
-  sha512.run = "c5a72458a7541542341d5abb6ea1f019a3027c447e94f47635ded971dfe8d27f70ae00f928650dbe1f22719db59c935a5ab47f7e2e67f5dc6c562798d6a20fcc";
-  sha512.doc = "0e948da10d5a7ad2b5be2bafc07b5d4793909350d9bb91af609e29e2742394ee69e75a6fc35ed44e78942bdda4d819dc1c6c0ad1bcb05198a21509d560cecbd4";
-  sha512.source = "e2c830562fcbdf4766819df5f02efea556d06e3251cda1be293c2c666e780ae5ea705cef33c26d3651836d2e90d4572178b7ef0ce3fedc8a32a2d0bc7cb73edc";
+  sha512.run = "fed7be24d0bff6d2a0022374e4cbb60cda508b0f99a5a96d59060247aad561c1124728f00a6d0a51b3b22f4490c6153df740a5e9d8106da23c85bb18db385195";
+  sha512.doc = "4a2012e693257c2bdb4daf46a2402882caf0c8efbc65bd6679c9eb11440ae75f09d31369839f84312bd1028207d8aa23a745847be1e762dea977ecd7f73b4a87";
+  sha512.source = "26b552a91240900b54a3266f26e9f439c46315bb9558d95ae5b27f518a7f5ffdcc1990a4ef676e9186b5492d4a66826754c4d34e13e82b9bd912ff74d14cd185";
   hasRunfiles = true;
   version = "1.6";
 };
 "guitarchordschemes" = {
   stripPrefix = 0;
-  sha512.run = "488e38d6b68be45780e76053bb90f86c80ee12865d81a738796316e87c0a4b28dc4f3db295bbef276bd17bf9f085d192a32aa5ebf3321f9c27c85d4662dafe38";
-  sha512.doc = "b2e00eb51020c0e9df0d6fd1c71284dd62fa8bdf51c03d1cedc463d4aaa645258a9bb12299e8b6671992a7dbd537734ed5fbb3157612fab21af2f28d6ea29cdf";
+  sha512.run = "3d4506825043357708cb5fcfee6ba7d6cc42fdcbdbaa772628bbcc89381afe40c58bebe9ad01343b96f3535c80c217bac5b85d5079d1e83a42bacfec995bbfa5";
+  sha512.doc = "ae3e21f74e66ad70a60403c8e9a06e747b770af3e586ee580686095fce8b405801e9c4d1bd59cf429defff61fb087974ce305c5fade387d5be10fe47be46e6bc";
   hasRunfiles = true;
   version = "0.7";
 };
 "guitartabs" = {
   stripPrefix = 0;
-  sha512.run = "13c55fbafdd504a539e7f3626279bd84331c5be308c1698b5a393d7cc6945f9b15172eea3867d79a7ef3b54dbc083c08ef7820c8f6ba3987a578ccfa3136c6e7";
-  sha512.doc = "f9c2c45571ae4fa9d9525222c692e99918e96594987d195a26c1959143be2cfce02feeca754dbb033fea95063f5d0ead6d39797402c690b35534fea1640ac334";
+  sha512.run = "a4866683cb639b63d455f40da2ef58ee4c69d0e29e5071437a07922a0a45598677557ce609905dd8fc5c3e40a98bceb9a753cf4506342585e6cc2c37fa591271";
+  sha512.doc = "ef5f516db586d1473d949f44a2eb9fb307b84ea5a7dcc3c9419298203b41c54ff4dad75d3b24cf30fbc24f4c60ad4b79b9c1fd58804667732a66b0ccb52cc3b4";
   hasRunfiles = true;
 };
 "guitlogo" = {
   stripPrefix = 0;
-  sha512.run = "9c8cd064bcd3d525cd2d95ca9a0ffb551abac21b9116bcc0471b94b595fe9299cbba005a5c07a54b964fa6762d0aff8b05c093c966a817bad6821af6597212bd";
-  sha512.doc = "206b46aecb911289c513d8a1c8d5e43e787e04b1be07774c68c6630acd2b135156c0fa85306c3255eaa4115b31b14f68954b077e91f533491858d044d22f11e9";
-  sha512.source = "0c18e36ca4bcb7ab908fab9d4ff60a3c1ff00bad125917b7553c43b5dc60f2c6031e9db09df34058ec9e95d55448aefaf858dfb1c7b0eb8547cb8fe831e65515";
+  sha512.run = "c4fff100ff6eb6c73607ce83ec90057a47628d0d354f24176be02c8e9e4f62311c466cf7d8e7ec27787fb83a4c35accfe06d01055ad1db2189c82b9a7277aec7";
+  sha512.doc = "e60d42b6db1db84688fbc657b854cb17f60657c22e296d13677e462b39090c8e99e83b86227ea65fe60dfb7616619f0459aecdfc6c6725db68567f458d0a4308";
+  sha512.source = "65773fd849d06d834505c9ee4e97f7ec6d30308550029e5a71756da7f70fdfdb8245bb6f2fa0ceaf2cc3ad5c9b865f7e617df0c763695bd0cca60431da2bbd5d";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "1.0.0-alpha.3";
 };
 "gustlib" = {
   stripPrefix = 0;
-  sha512.run = "028808a38b9072f81b63ef747fe4e1ad6f937fee6517f6f6bb103a299c01418ce14a3c1bcc4e7858cea20842ffd5461f50946cd458469343599b25c1aa2199aa";
-  sha512.doc = "b4aae1b3af101d428c40af14e89d59f876939af9801e8e9ed7be8bdb9cb6e0106d5346d7688bf1d52defcf1e64cbaeab1b22b4bb0b2d8dba2b14b799b6a606df";
+  sha512.run = "cb91f48e66063c784addd1a208946343cdaece3ae0d28d3eb697add3bf16d82b7d01535018984434a882aa5d1901cd05ac68e0966554b77f4a2feeba933ca880";
+  sha512.doc = "0a472bcba101b759b0864c09fbb28fd7473e8382e73cb5c2cfa8fe97f075a9a0ccba1603e0b08bb17fc10faa53907e52d78efb7ab09a7d5cd06bf1e17d82a1be";
   hasRunfiles = true;
 };
 "gustprog" = {
   stripPrefix = 0;
-  sha512.run = "9984254e1882486e7e8729cffdd00c861e255a4e7f7c7926dce555f904315866b618a113df2550a84fca75bf52b5ca4dac6973b4ad5dd29e29386f661582a7bb";
-  sha512.doc = "701af6dc553824c47bde4cf172ecc73ecfef56ce55a9202f7cc40ae38fe5191b2ff8ef1931d4225623f0a4f2ea744b925a9a3e8281dd3fbe918a532add7a4342";
+  sha512.run = "597abdd6c2eec380c531ef7f89ac0d2fcce6e33dc2d2c5040a58b5da3bfbdf2dc75cad926291c94ff1207a47e66cc213c7b7f76890495aa9ef6466bd830caace";
+  sha512.doc = "7817b203f9722409f10161072096dd410d34c2d84ee0ccf332d717c2eea0f408c76597fccea18b6022088cff0155433f77d085a8e8d5f28b72c4c227f578cb0d";
 };
 "gzt" = {
   stripPrefix = 0;
-  sha512.run = "b720c5f9e097cc04e7f34eb79d469dff04def91af96e6946fede29d86b1372a649a19f393719352bbf7a3b75fde946918fa05264819ac59e8915224ab0637852";
-  sha512.doc = "2379f23ebc1c9e2ada9159ac2bc06408e4c810a938a5f951ecfc795ccfa16ac71b147e708b1db2590866af34410744d92399ddf44413bdb4469ffb2b2c25ad74";
-  sha512.source = "082fbd44cc91dddea942471d2caf2f817027ecd0e3df50c3e89ff067f216142ce604d43d96d8ff171d6626f6e191e89130ec5da661eca71953909bb569ec7a41";
+  sha512.run = "7e0f493dca3e9916f28509b94bef393e8ff7be95f55e8da937b4922139ae77f4f4197586c3bff343f1fe1d22dcb4a803e2d4a3a115d201cc0f2c5fd71ba8a836";
+  sha512.doc = "388aa99642bb838ae4a81a665bb90019c6e31b3aabefbc2c49396edc98d8fe2d00986023699b849162a69db6e6dafff26602f61540758510acb1aefcd883c4e6";
+  sha512.source = "f6c4b16c47fd5773f6a25822d7cea758b5e612603e8004ae462b4e40ce4ef45e6fcbe8ff62b41828bbc3c7b83b8596919eb88864833546b9d785b865c475b312";
   hasRunfiles = true;
   version = "0.98";
 };
 "h2020proposal" = {
   stripPrefix = 0;
-  sha512.run = "51712a270162ab52423bee272ecd0e9531ca9fc41f0dd6e524dd41df1b7db727ed5d09d4bd96e99b8190d7cdd95b2280c62ec0eb1e8ddb8471dbd6de3cd8bf02";
-  sha512.doc = "35a7d2890a6143a089a19f49fcada289e08e8feba2327439fe7f2568806266b46047ec75be93e022f2bacb12733ac100f3701562a361864c79b77586917ffe32";
+  sha512.run = "ddee9c5c1838bad606f212c1a7ebb7ac4d7ae571f1e29e83d55744dd50afb55e302f4f20a3cedd0d4446886cfa515371fb913b862d4549618858896de2a543ef";
+  sha512.doc = "5ffad62ed8eb39c8cf07d4840983990009e5696a2d7714d2cbab13a69c77634d01f10a18f612c853a09dfd91ae1ea453bb3373681e89a6994ff4924dd64c3093";
   hasRunfiles = true;
   version = "1.0";
 };
 "hackthefootline" = {
   stripPrefix = 0;
-  sha512.run = "b9df492b9d6663cf5a2ba47d623c50b1476418136d36b6d52c785c28f36781334989b795fbe57770d85196abdb36a071d4d0867336672676bba946d01216c6a0";
-  sha512.doc = "11075c419ed60fbad9324709bb55fa8b034bb2ee66a4b0a2e067be0ffab1c64be463c093f042b89f15dd851c4e858763cb97ce5d0522642feb6c669e468b8b2c";
+  sha512.run = "223fb22b01327fb63ff16684d578f89ee583d5c7700dbfd5966aa8cb94ca4e280e4409620b0d261bf2a80a57f51658990b0a221c0dd311e3eae1f39d459e8098";
+  sha512.doc = "960c6a0bd61210b097710cc6715012e4406b54dafcf070659228074598a05e0dbb65669ef77c3f6ca2cf80001e95c5f801070be29d416d2bd552d6c2a1d27f56";
   hasRunfiles = true;
 };
 "hacm" = {
   stripPrefix = 0;
-  sha512.run = "f62d665d3151429cf2d66f15c61d9afe60bd8c08c327cf8a1dcaa26ce7bea15c29b1dce75cc1133d787fb3e0fc15645be111d2dd8c1f3b0257b2ec7885a142d6";
-  sha512.doc = "71513c80428379262bb57db29d5f01035c7c6cdeec320188c49b0d1b75fd968417f0a2408ecba5ccfc22ae4253115bd033639344b7c3470b799d149f72dbca3a";
+  sha512.run = "6f4373f4e30d95c747ecbec45c53a9af23b78acb84a063dc0b2d4d5ed218e7c5f70d4f29817d39f6cf62cacc455cc3117ced589d41bf3f321a6f9d882823164a";
+  sha512.doc = "bb6d5cd50e68ce84abd5f7296d8216d929b772f30e946508ca9bad2ffcd8d077d1927fcc76a5ea2e338799109b34adc8272f9f7f6d316f5af1312070f57fcc3e";
   hasRunfiles = true;
   version = "0.1";
 };
 "hagenberg-thesis" = {
   stripPrefix = 0;
-  sha512.run = "e4da468858fb18dd8c97d703cad519baf8cea61cd65ddf60d18c4200d0aaf5f04305c253fdd0d6289636b17ff43d4550bdbd6db20a01c1e1a3c29a1645eba6d0";
-  sha512.doc = "82e538d4526cf83ad0cb061eb737634d0f2116aaa7d7d0260c999db2b381160616536c338136b59e10c9d48b48fa464ea98d856d285720b56d394aa5ff4db9fb";
+  sha512.run = "a8515fd281f726029f3bcc170f60c8a98447d8e16cb64ad787fdd5576ab5fb58a077666f191a02f46608e1aaf84bfcc8f1064a28e00c77f62505134a5508be28";
+  sha512.doc = "e7f1ff1c796b7ec2dcd7758a46149a20ce3d33fa6bfc3dc93a0d7dc4832e4f4692e1e74037c1f9e990a0245fd6cc5791ff998439ea6604519cf40bf463be7476";
   hasRunfiles = true;
 };
 "halloweenmath" = {
   stripPrefix = 0;
-  sha512.run = "7117c46bfa37b9493d17e1ef86d01790f0cb33c578a82d59ae9aae5bf7973bd82e7659dd6e02939c545a0d978e728790a7c8849eba3e0106df8e7a0ec474eeea";
-  sha512.doc = "c86370f7bbc6b9b8c1bfed07cfd4672534306fa3abf44a3cfa819bedc064d2d44b8d84180451f1a537f4dfc28050df9f73a38f27f342352b0acad287b897d3a9";
-  sha512.source = "ae7a0b897b299d123b79841213ada242427d6cf311ac5447388a78b5da725a946b6b1a5ba468fcf81bd47d8c6cae6f26aa6fb3340b94b645d4066776be042bee";
+  sha512.run = "f56079b815307a59054559a0edc8c0d3e9e4138b0d961f81282a80af5ae579e4e3a2b18a3722cda0b49c014b834c6bb76971862e7e0740e0130b2f89d27318e8";
+  sha512.doc = "0ec7d77114ab6296be8c7b38b2a6dad0cf5cdaa9c8bc833df52e89971b5d71e3cd6f026e02d480e8cbf1ce1b4231563463524745ce0f76be279340cc03550d4d";
+  sha512.source = "84dce1251e7fa939233322d5a74b41225e9a2d786af0f49b8a4b8df962ee1fda46ac492122fb361a4184ffa2c6dfd5bf2967f577b3a9b675900f3ede8015d790";
   hasRunfiles = true;
   version = "0.10a";
 };
 "handin" = {
   stripPrefix = 0;
-  sha512.run = "7bd2f9568a3e0f06475b927ca77af4505d1c2fee4a22a977e08835370d65a3e087115051248e68e26ed24741ea36caaeca52ab3c67b33d793d5f098355f2a693";
-  sha512.doc = "50afb88a7153e1c3f0cd73e46a1ba65a33081b2e293f7d0195a0c5516d7148febd39720430a224b391a260c174c52fb7494020f33d4df1d07a5952a15765d121";
+  sha512.run = "361fa013f1932da2370ccbd67e70acaac725349e4fd4fea28a6b676a5459aa8ce8fbc1edf42f3f3fe234e12771c5be8bc463ef758f823a3b43fcb7191bc1a660";
+  sha512.doc = "cf91e16a8f04835a47da1a5ccb31711fd9317db557f0152689a93c4f58de33c8e7c8be1f7c5d9eac599bf8dceab3f4d3e84831efd0612a58571d3c71f508f20c";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "handout" = {
   stripPrefix = 0;
-  sha512.run = "2786448e6b86e340d7f48c28a6df595a2ec689b8bd643b159fb74a9722a80dcfe7985bc00074a6e8ede8a237b71fd3183f69f51dee30c06e5f0cabd3edb0d39d";
-  sha512.doc = "5497ff31e3d76e386c0c2ee97d6c355b8e4816461c64f817cc2701e86d548350e772dd8916c7184a2c4f96cb9f9c307f7913e7eac7b5a4addfa257023d2d5624";
+  sha512.run = "9c5da5e16df3bfb4eee1ff7b8c6881e7faeba7001fd7f0ecb8b3027a464d611149c8768b8d8853c07417d67a723fe5b1de19620593a177139241b47c7a814285";
+  sha512.doc = "6da7783c7a0dcfee168ec4ad6924fca636ccb5fc965e326d9c38ff31c9d2c7942a820165232e4e89b7c1e4857e81952156198de55d7990ba01e5abcd4c31bfcf";
   hasRunfiles = true;
   version = "1.6.0";
 };
 "hands" = {
   stripPrefix = 0;
-  sha512.run = "404e507f404e8cd600b5d38c3cbbe1271356e2c2fd224399fc2ed139b2634643a00a674984eef9e2171ee5e9eac46304905a5bbf8f8a05451f0eb57babcbd59a";
+  sha512.run = "77c1742d045110ee4da7473b14c1804fcfab3772ae10223848fee99c7c8a8fb3809aabeb82e4c99460f3cfa0e009ee8d470d60e8be4c79c25c3ff990b7d1595a";
   hasRunfiles = true;
 };
 "hang" = {
   stripPrefix = 0;
-  sha512.run = "ae6d8f091bc4e82a0199312eb2d919b2bd66613d0ad46205d02c5dec4f6f39e6c516060076a52fee75cc63f2aec07f68735bbc54e7e265856ecbf4b890197aba";
-  sha512.doc = "7f9af4702676ff5899f1508ecc31ba47fbbe1da7ea7815f8b17a1cc5db6322aa1bff07d74a485493283e0cc6eb51518ce0fdad07c769365ba6c14106bb4ef252";
+  sha512.run = "4a8227707b6878ab010b595296dbc96f0b31489dfc0abf0116e00d6b0acf54e91bad1ec182169357e4a2e1f14ee27afcaa23bd35db1fed7e4e972e66eebee042";
+  sha512.doc = "bb0af0db38793e12dbd8d33e2df613d581a1809e0661138a3e75cabac1aee2aca942aaa429678a817f487fda82f3ffa3a631d98c3129853ba6a5ce4175346b09";
   hasRunfiles = true;
   version = "2.1";
 };
 "hanging" = {
   stripPrefix = 0;
-  sha512.run = "e30fc568335371bca9bce003c7cfb20845416317208705c6e35cf0a2bfc01db01dc53807ceabdbef330d6b15ca47316950972e59b278a78ad384e694ab287335";
-  sha512.doc = "d75243fa745ffdced25acfd24f69b431f577fb6322c9f119cc7159b605432ffe98cd6026db34b6a5f6323f8b338285d1996d40d556a5380407ad5d921d942314";
-  sha512.source = "a5edffb447641950b519880e8e950b9129c0d11b9bcce78556824334b2bb4274231966e96941515f6302aabcb248281c233f80ebd586f434ccf238ef9037d1a6";
+  sha512.run = "54bd2269c169bfe2a28513354407de22948658e8067cebafa3a3b3d88040acc318f3f3aa375798e36bafacecfa10c4ab5500095b92328e6cbfc12a541a8a7b3e";
+  sha512.doc = "a1e7e9d0d5b85e43ebd7ad88b39d6d5629807f668040041fd1248239c02394cf3c51aa676065c1d1d9e9ba8d1ad20f00e46d25025ddc0db7ec15148280a5b9c0";
+  sha512.source = "d982182e5c6c19d6dfaf527f5ff95c0a1d15cfa3078205c73d9ac894d24ebeea31a636d66356387996fc0faf9815242661c884dd566c0dd1d90779d61ba93c28";
   hasRunfiles = true;
   version = "1.2b";
 };
 "hanoi" = {
   stripPrefix = 0;
-  sha512.run = "8c1a70492755a88009688e527411c28e90c759b28a86832cbce7537191cc25fa69f6ae3ad32eef9cd971f641af371882e1e8abb408a43b6759512630a0f65476";
+  sha512.run = "efc8c4892ea4cc8ae395907fc428fe74d535d689a68b3b21422c5c944d4defd57747e519dbca9bd2df2dd010b99e3132afceadee36d547fc11b04480147626c4";
   hasRunfiles = true;
   version = "20120101";
 };
 "happy4th" = {
   stripPrefix = 0;
-  sha512.run = "803e4288ee72372834a131397401f65a822a9ae3d4240f1e1f3e768d2f67766d230c8ce957f167a98a2d4c188a3b091e0f447b94f928ec90bebf72f2f1ae93b9";
-  sha512.doc = "37511555c16f90cb0bddf62b4484cdb084362b0a54408a5c187d04b06ea42b28b5c8144325895afab6834ab45f816c8979dcf15f269fca4ab6cc1b0c9418b526";
+  sha512.run = "45492a6becc7496ec6ca6adca474aa141b9c68b06aeed46bb1459f15b6cd1df9e4e2de3842a91ae0121d83269c1fe4f772418a93da67031bd14b6649f3a80657";
+  sha512.doc = "78fe311673e370b867ad209fc1c62acd7aeb515e4b145bb7c487d30c121715994803e6dd540bcbf1b9b0776014327c7ca2f6c03437d9ff0b40f477ebff9cf254";
   version = "20120102";
 };
 "har2nat" = {
   stripPrefix = 0;
-  sha512.run = "fb4936bdcc959ef262a5b491d4b509e2dfc394f3f24e6007678947003c702d12aea56d0f4f3432607fe0df338dac16715ee12b2d5fdabce7f4b8890406bfdb38";
-  sha512.doc = "8f5fcda18c674be9fc67386cc044e37107b12c32009a1caec48611c8e1ce6852f75026340cbddf57f0e704ac7714bb93aede2253349959d8850933dd440ab801";
+  sha512.run = "b3e76b7c4a3a241f716de344481c9927daaa73badc2f40cade074402629cdb3ed02568d9cb3d6276b0abd59ddcb34254fda419f859633281870ebc394c4a5a14";
+  sha512.doc = "927ff5d03cb3559dcda63aa2745958722ab9233c58e55cdeaf7e1c441146991d3edca9c3a40fae2cc147e5e69d0c44c0d357ed37ef0e02bea41952474b36f88f";
   hasRunfiles = true;
   version = "1.0";
 };
 "hardwrap" = {
   stripPrefix = 0;
-  sha512.run = "28d381c14a4f0311ab13ee858eb51a568e67abf3e06657ce5faa30d7aa36510fcadc2fd4e5e4572252fdf5385eb64a43737efef6b805f7f443cdb5d4e221ba2b";
-  sha512.doc = "848f6f064910d9508d3b0a595002f53a88dd11c6840cd485005c34e185e8433575aee3815fb130b1783b50c3415ad2c6936b845d9a51d2285511bda5d23a5922";
-  sha512.source = "1bf651dd7d1df7fc9e82781d55aafb3deccb1dfd95da28862e3f51aaf8a45cd85bd319a26351bc704504cb612955293e83256b74cc452a5ce98338510ea5ab77";
+  sha512.run = "eeb0f1da2161dae80d292db7b3289a307d892b8967ecf16021b8ed73c5fe724d914dda356bb8fbb48786760698e0060b39349b51886e13289524ed9d45463106";
+  sha512.doc = "6dbb83fc5d4b82d11bc8d97d0ded3bcfe583c2b21ec2a260000b6bfb0bdea9c10df834735ffdcddfa9785b7c86b53920a20146d020b0435b8dc04610f05b9b16";
+  sha512.source = "9a40a2a441e9f47b3d681dcd064fad48fe90999b34b57c85b7112e518c99d3b87a9bfc3867beb66e76499bb53ff3c14837f71f2d261ed4c78cad447f185d0ce5";
   hasRunfiles = true;
   version = "0.2";
 };
 "harmony" = {
   stripPrefix = 0;
-  sha512.run = "c2fbb9aef4effb5e6b60503d1f4b46325c2df8b6fd145c2a35de691babc955f1260a7cf8870027feef4edd6e31182983ab60483c3d8913f0dcf4897e3790fe53";
-  sha512.doc = "61390b600a1e3fd1eac08fc369d3802147f8437df59173d7199b37ec32864e7d19c0ade5c7fc7c78454700d2b4dd278882c7c607eb5db8b5567c1e547f2195cc";
+  sha512.run = "25e84addf5ac4c67985e1e433f795f377accfdd4dc56eae0ffb25ddffeb52e0a44278ce1a936406105ff5b7e9541452a103e0bb4ed91b8949facee75ca7c11ae";
+  sha512.doc = "3226831df9702b669ba4c269549927563ae321e8e10e0e41c6bd1a8d6522dcdaa4ae6a25a907a84cc1dc324c516a53754c81a0e1296fd8e3afbbb29f0992ead9";
   hasRunfiles = true;
 };
 "harnon-cv" = {
   stripPrefix = 0;
-  sha512.run = "c6075a8cf730cdcac250729b718ce8ad6216e352d89531476bdf59df333f09c13167a9af92aacb4d7f5fb3418aab2b397727c589a45e304e403484b5408746c2";
-  sha512.doc = "52230767ecc14ea7cb371072970f3fb72a2371887854104c577f60bd073f7cf12c88aa64888239dea204086084cdbaf8671301c7c1aeaa3f4125775b1a364d83";
+  sha512.run = "5acef7bfd07f896f4251fe922cb96f71e9f289205eebfa83dd6aadd241f20eec5d9ecaa3d70d6df3dd61fbe7523f568407d89b7c32c27aa719a6f97b89f4cd33";
+  sha512.doc = "1a8d96a152f9ac90f3a6e546c03652ebcde8f8d88a7282626d44177854aa41ec1c66eb6f4d787853711b80935f5e3e3c31d726d0e49d60841119db7ae278de96";
   hasRunfiles = true;
   version = "1.0";
 };
 "harpoon" = {
   stripPrefix = 0;
-  sha512.run = "74be44d5627f0ecb5cbdd3bb9243526201314b7bb113f3a3f9efda5d688be5fa8fc8199a8ca32d86d5b2c2ef64156393bbdf352a912f44593b06da5438d0c227";
-  sha512.doc = "998b475f0bacd97bdb4776ee0853d12c7d7b4f6f140a6fe556f8a93417a4123fac542b6f3db8e53c8dad687a38032885e09b07404b25ff0f6e1934f118a10457";
+  sha512.run = "1894f54ff9eb98975f4eec9250a382534a0ede5312b4b540223d298a0fe5d7d8d24abe2018d07b30773e14bacdd97b60039a458fd274bb446aeb2e26b91bf96f";
+  sha512.doc = "4d69050cd2a7c57219a7c55e8d97656fe6f130936d2e79a00d3760e9139799cbb98db2f338586b65412402069b22971ac73e5b722a3911bf1402625dac3e7d52";
   hasRunfiles = true;
   version = "1.0";
 };
 "harvard" = {
   stripPrefix = 0;
-  sha512.run = "cb6484a9a28ac06e74402d4ef63576b8047675a772514b51b09b269ea9280286910af2ff03134c2f2690731e2e79f5ef48d05ba89b9a33a0183e56723fbb2ee7";
-  sha512.doc = "e309a653f60498a3108706b6d650e915c12e4bcbdff80bf107151aa8a559a3540cfbb43a4c024d19713126587c236bc58aaf6b257c7cabfd27e53512e311b018";
-  sha512.source = "6da1378b3c77bb3268dceb71bea4cf19e2c3faf9b9b6e7e317585e76d0480fdb20409bf2373e6824d388b1eb3abd205440bf8c42032023caa327e4f8658f144f";
+  sha512.run = "64781bb5c419248934f259dafba2c43270396a1d3f49bb9a79050ebbb5655a5836a07fd69720f54f009501c5294a62f344f6b6c76adb89114a8c60d1e149e612";
+  sha512.doc = "291c2a530da6d24ecf1a87818d27b6141e99944eed10cc2dced2537f30ecfc12580c2f58d01245ef53f7d2b803853ce9bf72c03f8a2c3267dde0f4c799a991bc";
+  sha512.source = "58720acea1588f742d95d2916f8b1a5c8cba391243a433ae9b2cc4845dd3949c7b2a7a349b87fd663023e4d26b15b15dfb89b7f8db92e14e52f2f7ab835a160a";
   hasRunfiles = true;
   version = "2.0.5";
 };
 "harveyballs" = {
   stripPrefix = 0;
-  sha512.run = "43cc15f36c27f6674711ec6a3351df74424ace1258d0d5e907f0125aeb498e14ba171c426a7db22038fc3b8c352603fcd65a771d14219285d9dff2c914a6f45c";
-  sha512.doc = "4c0ce6df5eddaf81e92eb59883a6a9407d76fe2b662dedf27c7235ff9b49f175b9675cff8092119a2732d1be957254e25bc50080d3d4cd25fa58feed51b96eb4";
+  sha512.run = "c282249d5758f6c8aa9dfd06cc4671211e76adc2e7c4f5cf925e713472e60f3d44c8a389c9ab4db5b8096336d46d99b62bde0f8c1f9fb5d22857e3cba98994e0";
+  sha512.doc = "89ede2f13e82600a2e78047a08766e99879ef5c64dcbcf747a2c21b1a395f4c1a1184921a8a0064b15b86f574834f602870f6641f0f265f92dce506959c6c4e7";
   hasRunfiles = true;
   version = "1.1";
 };
 "harvmac" = {
   stripPrefix = 0;
-  sha512.run = "b3e67dc6780938f0bd7e46bc814d6776edfe5827df1137aadb6ad597be6c40a0bc1d3611b0273a04a31675b0837ac7a3de79e19b36fe07278240e9c74d7b07a9";
-  sha512.doc = "f8556792bda5f61402486671eaa6606bfd02ce80c67bde6635186869eeac9b86f0f3314c0924cfc8b983cfe2ff3e29f96d2f1b027ec387e55379be1f4850ef26";
+  sha512.run = "7acf7eb52104bab80b0b9995cf43cac842c106b8aecdff8245b0d1ce8440823e65ead75e470f00923764eadd32e936e02192ec7bbe70295ca254aa57f9b5f662";
+  sha512.doc = "a0f3308b938ae73c66398c5a3140662240603248cd6fe338a22f3ca6b23f28789dbccee48dcd94a8bf84de029ec103aa35c5b9a78151ceaf61a9cb60b832c484";
   hasRunfiles = true;
 };
 "hatching" = {
   stripPrefix = 0;
-  sha512.run = "3b4875a8973cd6aa23bb698f77c8b72c375f88327e98bf5a120ff2371f1e79de8e88193a7ae715dab8ab0f1bd2ab386ec1ca1c61d6b790fce878d0d8f2fa2dbc";
-  sha512.doc = "6cc2fdea222d7c126a7b92d8c430cdf13d7b6a2d3d990fdd683b4f896b01a19d19f95e8dc2344fb11bae67875a5bcf539f5cc1037c7b58c5fafc3d64f923f227";
+  sha512.run = "71983591270b533a6824a836948fdd15d19c3f966c8277d8948b13c5f38b29c29c0b7fe577661f1ecc570dd71d89fa964afd254d50556b6893667cda95e21aa7";
+  sha512.doc = "02c2eb4991aa9775feec0846eaad9ddb74123a64eba8a3731c8e40c689844e542793e0f6884df8666f3cec2ed43af26b2d25254cd0536920c6ff0b107f35bf5b";
   hasRunfiles = true;
   version = "0.11";
 };
 "hausarbeit-jura" = {
   stripPrefix = 0;
-  sha512.run = "2da51cb7fe7f37b1ba25c9294ebf1a0a29cee13b7ad9b126b893883171c84664f3b49c0a831a4135bd6b51b0aa7473a253341f821450277a7bc0e23e6a8680c5";
-  sha512.doc = "abebb83226adbb9a0a58d537d1c2081f8cf5a79b6de09767b439dad2f72f9aa87daef46cd892b03e3666a7cfe03da2819d8bc66cc1cb7d638475fda944e211f4";
-  sha512.source = "f578eb4d1ebfa2b33f2d8c564cb915808972a04695089eb6a15b251eca985e8d926d1d804a9659317eaba5654589c32a796d4b3bd0dd769c33725b0ea3494189";
+  sha512.run = "99fe789073c76535c9c8a307289bc29b14b0b7a45adf01459d76ee67099d56c9cf36fbe3587b108c99c1563cf077066ad6408955bd55f31cce6b4e53bab378ca";
+  sha512.doc = "cd98eab62d47ae03a5238702ec5a246496880e55dd8a1a9913b3639197d0fe65d607317d9cc9cbd578bca6bc64babc80d257c2f8d84b7327fdbd77537ca1f660";
+  sha512.source = "2d8edbc3163c00117f9c1297970f2309df35ccb6d5166c723365c1267af736c05dc5eb4bf77cfe6bb6e25a829bba83007fa95bfcbe6aac7473f4657cd450fcb7";
   hasRunfiles = true;
-  version = "1.5";
+  version = "2.0";
 };
 "havannah" = {
   stripPrefix = 0;
-  sha512.run = "2105ca746cbf7bb010fd62a36f76628a753e8a99ca392f725add72bd87963b87d19d6d1834d9f1e88ed7fbefd20047d3c9010932d646a1cfae34eaaff5005cf3";
-  sha512.doc = "66136477c70c15adae6627013e320f6abc269e7d41e3c3fb9b795f8e91e3202a5ae77510186cabb46383bf701aba4e00f7f0273bdabbdbfbe742e8d65ae60c04";
-  sha512.source = "0697b802a96f76df540c1f2e2d0a93bdd57614c69e00e224108ca50630ef5f8a603c11e1973f930c82b5fbec8a72deb1b931d3f2d6e77ba51ef8264fe1a8b732";
+  sha512.run = "f19498f0f9a7ce349fab4291fef80ff2f2f9eb88c60edeb76174918955fab51f22a0d06b533112e594c0f4cfba23feab58c41fe75e1c4fa2fc4db7cd9f473d0e";
+  sha512.doc = "ee1a90d491debac3f22f470e5df79e11152d153cef97e8d2e38c5d8a60a1931384d65bb91a6d459e6aeba39741763fa67d589bf9004efc5059699ec621b99e43";
+  sha512.source = "9831ea87fbe6e12af8c7fb49d321049316221f4dd33b79a9495c5205b60ddf2f3593c8dfe2f4157e3934f21e69e3004b05802a0d592ae608b2de69cceb2f0c7c";
   hasRunfiles = true;
 };
 "hc" = {
   stripPrefix = 0;
-  sha512.run = "3f5ef407d17bf86bed61cae9c8edc6852e9a4d45c0a8f80c8411fe4f0cd0b2398df89c1ca1bb70f9c7db8a5f4b60430c69b9d31f947a5d14c4580cf7e1520e58";
-  sha512.doc = "9d1fad6d29ea117c6d4a68c4b07404a25e5c2b141ec9036e15d61d4a70cec5cce481645a700bed83fa263a97c0341f54384a35e5c4ab9f6b429bcfec262c8c78";
-  sha512.source = "d2e7696e04912b6d1901a05c8a0053198496a50f34fd47904f2e28ae82722219e0bdfc397de68cfb16656edb22277106bf09c4d9e23be7307bfdae3f4c34f64d";
+  sha512.run = "17c7037eb04c1d0064dbb637f51947243d1b8f07d46245dfb8f2a38a1ea068ebe41da7e2346ccedf02979003a0a2fa0fbd25eaebf7847b266e21b7c873b032d4";
+  sha512.doc = "18aaf579ef82a11ea1e752524d9a04a4a0aa5d6cbb496bde380664723dd30cd421c77dfba1ee6bd88def576c76e202b328198fa6dfb4a9ab451875c3753a515b";
+  sha512.source = "42d3f57fb2c38823875116a67e3e71a3b1aeccdfa00c7a201163325c31fbd47d60a1dd028c6d9102d38d6490424bb118178c7589a433a69ec26e505b805418f8";
   hasRunfiles = true;
 };
 "he-she" = {
   stripPrefix = 0;
-  sha512.run = "511c08089b88dcdef8b938d4db541c1cbc6a1f2f4673f6989284ea6fdd347c857d491311b1e7d3b099165c634150691d739140dbbf98dd4b909ab8a63d778db3";
-  sha512.doc = "465590b22a79087227108df5e91bf8d1d670b01f9e978f26f6d59f9dbc1a6784bbabfe89652735b12b0a20694f9399e1cb5604121a1068d4f05cd04babe0cc61";
+  sha512.run = "726954216d3f8328eb7868553875651c2dbc3f626a9eb60fddd770b0e236a4e09a45872020589d8f263cb9f39300d1743e0a35676947752f33933db1e766411d";
+  sha512.doc = "580702222de769b066b01af45aad75717d11f46178a2b1f19e0bdc85b67497d9aed8b7ad642f76b8b85c5513f4921f58af8bcb80d1fcb88307f8ca8b07c8307b";
   hasRunfiles = true;
   version = "1.3";
 };
 "hecthese" = {
   stripPrefix = 0;
-  sha512.run = "502f0163de31f2b896abb948e031f837916e97d78b59609b58a068409f063a34286c908eb3c5d2b4a7e0fc3810eb973d7d652c868559c2637f4eef8139a78bce";
-  sha512.doc = "c3f805294f13a09c30370634603cc26d89df4fd293204789921d7df4e260e922d21835fe0b0e4802e9eb30ca8e6fac2958ee9dcc143e571812778f8a62085dcd";
-  sha512.source = "12208e8d5d24ed8d295cabaeb1706c61fa113c64c1a0fa1318da46d75be0c87b7b934d5c9b0b1d7ddb7fe1f65b0b1133e3a4b3770bf5ac55920213d0cae21868";
+  sha512.run = "5cf62262cc231f229c1a66819e620fc55f798d8152b09434c0c288610a59a6ada5a9703e903b7d0fe761f1197757a1594242fc181928f6c6a5bad1c3d7dfebde";
+  sha512.doc = "3d06c52646c4985df8fe71bf07ae0f5305dc719c03025f1cbaf511b1c1de99e02f381740cd4f1074f0fd4b211a16575dcc7c1def28d9d75e615dc1d08d5257fa";
+  sha512.source = "76faa35c65aedcff2e177c40f08e4d5a031f3804f3c786e38429c55b55a2f0261c66c8515691d2e23b0ef954316479d6d02e57388896f1d4bf79e9fa24e277d7";
   hasRunfiles = true;
-  version = "1.3.1";
+  version = "1.3.2";
 };
 "helvetic" = {
   stripPrefix = 0;
-  sha512.run = "8347129c9489f8d823acf647ed4b0b68e050065c41ebddf0fa52658bc55507afcf72b5d3d18a85a98c4410c6317ddb9c76e263fbe693dad756cb235b3bbdaa13";
+  sha512.run = "db1921bbf180287cb735ef403948585a91b3d84fa0cb5c99ca1bd06db57632f2533f40d0b7aa04c01664ca7898166482559e130f375a85242bc44f362079ec8f";
   hasRunfiles = true;
 };
 "hep" = {
   stripPrefix = 0;
-  sha512.run = "a044fbba300393f51e20e658568813d275ab6d94bef11476596bebb562f03f1e18e212ffd39a4627f69c01749e43cf5755fb4f5222214a3b9ca5c4ee6bb25d89";
-  sha512.doc = "303be5b10add656d2f9ac537cd5656007573512adaa34de586d910a7d3dce4819401051dfca2c3ac370bea5cdcbff00d30887ffb3b8bfcdd00f69dc0a36309d1";
+  sha512.run = "9cd27826b7dde1ebd5830cdd17423f4092c9833c962be7e73b515de2e624a7853badde0c244dc26be6b7d3d9f9c3932fffc48bb4e86e06b90d6699dcebb0d497";
+  sha512.doc = "1d77a9bd31e982a8ff908f772d8cf67692145624bf00db2745afaf1aa59fc1da7cae6d2e094379077a550e4d76338a5a82bef8e25c8d733547751a24c84035f2";
   hasRunfiles = true;
   version = "1.0";
 };
 "hepnames" = {
   stripPrefix = 0;
-  sha512.run = "fb737248b78ed8e9aa9890eebfca80db268353efd88633202bbc16f1ed5e21ebfa17493a9501af700bc172256b7feead84239c19a6be6f4d63ce080bb337c6d9";
-  sha512.doc = "9d90471d71db147826f5c1328e07897c4241b516047225bf0f78c5181dc80ac95299e94770b616394ff7fb422a0a4cdb8ea81c3e2fc9cc917242d6f684dd4290";
+  sha512.run = "ec893de8b4cedd1b18dd16c3237fa79b434e91cbab4b856c4fbe11afef162b560bda18c0fd75ab2c47b863cdcca1d64809a139d51f04e9c2f45eab6ba4036c28";
+  sha512.doc = "36a0966b755b6bb0f0dd27c80235e66af7c5252df1ae27652e59fd65fc5f280eb487666eef04206813438204dc592c0295651ccf0bce1e5f85f4797cdb439850";
   hasRunfiles = true;
   version = "2.0";
 };
 "hepparticles" = {
   stripPrefix = 0;
-  sha512.run = "b231fb3bda7785f428acd38b84b23d6f49f203f2991b53d3730c47efa00671b984d30b5b62a819e9b71a48477185d16739b25a113d4005b65d6e516f9eda6564";
-  sha512.doc = "301b6b7e5d36d5ecab33c2254738a1826ed4ddb45e17a980b9ec4d0111292527a8ab100f74f2dc9dce0394d4660f157e7490e8af63f8d5820550495ea5c2c0ac";
+  sha512.run = "fb9229745b601b6f731c959856fe46d6871dd3a1c7fec2bac8116f4d74a575ff52523f610599979e25e7147b4ae6d36906d19ba66260356f15bc1a47a2d57460";
+  sha512.doc = "539025b2f0998bf031f417d002028e29edc58c1818d0dc9c07ee58c6877b5709936be23985ecd5a518c36187f451a2d5df66b5832d0019ff8b755c763b903aa8";
   hasRunfiles = true;
   version = "2.0";
 };
 "hepthesis" = {
   stripPrefix = 0;
-  sha512.run = "03a1c835c0ba739fe9c099cf5757048ec8c832f3de119710bca9096a93575251cab0786a89806ca94e3c144b7f56b8784b5ae34ffcb02f9aa7b0729f960c96c3";
-  sha512.doc = "148f902854362d602c327411331a9af33d5323b04b03b791c6b673764587a7b74a27a1ffbd20bf31ffb6689aa27c3aaa678b5fdf56501b9cfab1d89c36674166";
+  sha512.run = "ea6543fec07480af8db52e43ea5fda346ed4e9ea245af0810a6988d864675a903841849e502506b333cef0b1685a6946ebf1f686bbc74f4ddcc7eea676c019ed";
+  sha512.doc = "e456a0ca03da4bf71d767616a140b6e1d922e05944a4db2c0cbb360dff39fc7e8bae741ae5adb49972253f38774f1a9c65393bcf4e38e3c568b0215a04f63d48";
   hasRunfiles = true;
   version = "1.5.2";
 };
 "hepunits" = {
   stripPrefix = 0;
-  sha512.run = "3ed262c1b8f33aa4a6d183f6685b9e715c94d5c7381c08a6adca15de7667e65a84633b777a853d016d1c01d0b3ff732daa3883f2108fca17388562ff00e2fd1d";
-  sha512.doc = "25fd34b209dab893fd93d21ca5ff377f97e34b31378836cab28d6697367bdd88264bbc49893c4e9c06e2e6586d65a97b14dfb37633aaeefaecf0c2e5d7278ce6";
+  sha512.run = "b6abbe3a93eac6c7c159cd9c305fbf61664908b93956b90cb413e2220b12d183e4fafcb361d8935bac16a39d14451f538d38d9452ca78eb4ed03841f3e5bda78";
+  sha512.doc = "3247cf7865444fc2a600c05843c55ddca792b59b5906326e79591822c0e2577880d55704d4e726447aa503983644e7c0b7943482045b5c9ce6e8fc765bbc67b5";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "here" = {
   stripPrefix = 0;
-  sha512.run = "1f5b8c0df20a1c51e2796fd0ff74765c35f49611e7ef7d24502dd13e8c7ec97d964c34f2525e16392873674d6b6b71a7f7ed388eca370f28f7a31d10496f8bfd";
-  sha512.doc = "8deb441b571a1f959e7d53f2b425ec2706135b248ebbf67f96b9ffce0d9798feb47c21b0a74802886e03aa53417666575f8f23bbbfe463e78d94a73fb16da3fa";
+  sha512.run = "35c9ac325579de5d3bac4b8d16b1f30355398037cd0ad1c52b1585eb7ec666e743680eb05bec7b1f8cfa3bba3d7f5c0e6e06cddde6ca879ea708388df140eef0";
+  sha512.doc = "482a2ef8edbe41ce76e2c32bb579b132c84306cbd5387cb5249b10a02826e610229ec9c75a1df53b5b930bb982e1157ad9ffa63a77f84461cb6cc6332f6d6e54";
   hasRunfiles = true;
 };
 "heuristica" = {
   stripPrefix = 0;
-  sha512.run = "1e554bed979dfc24f33f2d226bb7157152d6994f54010d18901c93131d0633f88eaa6f75ec88e12bddfc225cc1f7e1b5f23e7c06b20832177d0c6aabe083d0ab";
-  sha512.doc = "4dee89a14593ccebbe70f2bf68795a029e8df3823d0386e80c494d4e67119fa11a7b1dd136993090535a0983c972da887acce0d4898523336fa675a023c00a56";
+  sha512.run = "bbadd84c1cc0825f0dbe72bdd8f5c4b939ae1986dc0f97ea80ecf12999f97d455e2f89cd12e71e8a51ae4ccadbcb01ae7768a60a47b9b35f19b98ea17332372f";
+  sha512.doc = "f445e4588ba85a71af43640e6625fe1fbcb1f8a2208d2c5cfc7fadd1df325be3fdda85b9da4dd824f3c0445033b2bd9e2120e71abf61c6f55b9e828a3e61a87e";
   hasRunfiles = true;
-  version = "1.09";
+  version = "1.092";
 };
 "hexgame" = {
   stripPrefix = 0;
-  sha512.run = "6f549a4705a4330514524b88dd798b7ab46f39c8facd0a83882373e1352c8ff63ce6bce5cb05628f25cb06da3226a6c29d54f86ee6a4178ea406207869ea93cc";
-  sha512.doc = "5d93321d97204742c6c783b0b665597e9704ca88a733d55a9b55c0f1262781c99db19135c89209fb06df6d058b9d6c7af2a82f1c03493f446f90d23225bd7dd1";
+  sha512.run = "b16abb669f6bb5c3111e6c333353cc37a76431c49920a4cd22af79f6237f78a5c56124c5854b7665e9dcf963fb2715c488dd7ef4df86d5582aa7b3dbe3d08822";
+  sha512.doc = "0fad11a5510dd1a2ceec227c46c3f8c0c387ab3e2819bd70765d363ca5f97822147bfac62e69de773a96d24a881394c35c1542a8f08a1828a82f94aaa7f02644";
   hasRunfiles = true;
   version = "1.0";
 };
 "hf-tikz" = {
   stripPrefix = 0;
-  sha512.run = "e88264f40cbac85aefda33aa39d7dcdbb986dddc1871e8f3587ca67ed46c4ed815f1974b7d86fb4adb8ac4c5cee2c38d34b4142a5a3c4d27209510dff196d8c3";
-  sha512.doc = "ca50c52c2b6b4bad80d689f8a202646d3ad9de8ccc2b3dcdc7ffd3e76cfa51483c0de0a679fe5e12327667d66afbfb063e1a4cd72666e1165697366d46298aa8";
-  sha512.source = "f975201174caa84f26964fbf25aa04bdbfcd2a23d820fbd41ada4f5918faaab7adb73ccc94677eb053cdf2aeaaaf5f50d1baedd6847159fc2b767156b7c4b32c";
+  sha512.run = "47ca98b066829e6ea2009c4beb92db2c7671642c495f1011df9be00d546f3613b7853aba5db88e3805441eab66c873e15b60f5ef75cf21e906f80b5f11aa30a7";
+  sha512.doc = "234a8ccdd9cd921368f700fdcca818d0c76265371ac89e09c1a54454fa3e00f0f28fdc7f962c227f9bb69d851585f2c65e20b4a4093aacc3ad0aa84d1abc7f87";
+  sha512.source = "74fd110da2d0d248d70811db52f220012c0a41cecfaf702765cf8bdeae98d9e1a96c6087770de4fcc1ec249901ccc79837ed4e89b4527dd3f746ecf503c201ea";
   hasRunfiles = true;
   version = "0.3a";
 };
 "hfbright" = {
   stripPrefix = 0;
-  sha512.run = "e9a2e0f6e51f334e9a9907cb88eb8c7e816ebfe8217d185f4c632b25b5319222faa2cd604aceec48bb0d45ae0490d2069798838e9b2491883e7c409d8524b4ee";
-  sha512.doc = "6ccc4c4ad1bb46544d637bf7b05a4c9cbac8a396a4b7ee85b6253e71ed13c36e6afdb32d8736c04da30dd55011ef4d9e6dc94b488b0d825d0caf7c6873057ef5";
+  sha512.run = "91c8b007dd8ce71af9dbc98a66a82a395d68fc87a0abcf9518b5b89a98dc23b28f1b9b9aa551f82b920dc3e2d8b6500884eaa3bc98be48371a9774f9f283a641";
+  sha512.doc = "7de24b513093d965fab1f8d7d13ec4b356e7f5495cb3a8f17204b1a786288488b4921df6b7e184262bdd3aa11fed6483a25d0bf8e898db05c8b1f7dff769c175";
   hasRunfiles = true;
 };
 "hfoldsty" = {
   stripPrefix = 0;
-  sha512.run = "7fd7b4b1490f38c2a978ef8a530d7613323c934cfd2ec87b6ead261d94b464e9e96806899910d364c94445d6706650ba48b888de3c57bfcc3bc6ebab9029f957";
-  sha512.doc = "cc2817ecc48c5a26fa2374212b9fec1bf64ec30dd18446a4c06aa6d7a2ac24d4a404e91090db1fc0d0359bd234ad290451da7d16ee20c65c66aafbce145a3326";
-  sha512.source = "0a190ffadea04c2dd12bef0317933c5d434ffe779055f176e054774681de20b5bc984c5e141c5e21a592a8943ec1d9c6aa4151c1bcb369f4159d6b22be49f8e0";
+  sha512.run = "5ff36855df468bf59d387d56f4ea65c86ba304eb2495f2ca110558ef48c528ef444c7ebfaa378a454c311c806525ddaa639a32d3d1b16ca492b641f223133390";
+  sha512.doc = "1f88ae3c13857be317ac2097093bb368a9f1ffa2a8fe1b5e15f59622dabdce2f2b3aededbca31a4d17f05c2dcb28f8ae0c9be3cfb1758bab4501a99efc68612c";
+  sha512.source = "5ccd5708962e9ddeea3ac41426cac6469ae22914fc4bbb5779e25d592d1cfb0df78f73d79c969e00b68b38eb9ae7016cf394f9592c14d9400bba152e6fc91092";
   hasRunfiles = true;
   version = "1.15";
 };
 "hhtensor" = {
   stripPrefix = 0;
-  sha512.run = "e974e6742276db99ce21721d86f4ef258581e27d4a4893a21b52ab71e976ad7e445b4ee3c4c675a601e11f4d7795047818ae5decb28502a3633f1d21dcc6a123";
-  sha512.doc = "6f781f8b0c6701cc0c766963bff45a2de35db9f688b7647d5d2624912f0e95a82ec302c995ae417c961266375cedadbf17aa326f8807287ef0effbbf25940a7b";
-  sha512.source = "e78f57ef09994c2e4fcef640ed332bb884f2bbe8b1c31362d4d5f24f92493771ab0faa52d0573f13e52bba73651d55fe91cf5b6ce264119c826bb9cfa64f3b13";
+  sha512.run = "387fb53bc2c9b83d2f34d9fe7856e3e7c54e2403378a1f806e29549e1d4b871cbc8333b64f721230918b96b9082ebe0ec07533cae9e4ba54d73dd8244a95b1f3";
+  sha512.doc = "30de49c3074840066555f2363f2c4120d731c3d515c2b3ad6839bd4e04abfc7043930428f0345149c6da1b5396950c8864baff6414a42769f1652a057817616b";
+  sha512.source = "10c1cb953af7cbf3c1f31d06116833eeb4a3c81d66671ade683ad38cf97271e4f05070cf065389211baf8df13415d74086329d2e83f141f4167f0909214973da";
   hasRunfiles = true;
   version = "0.61";
 };
 "histogr" = {
   stripPrefix = 0;
-  sha512.run = "575dc55866f1e22ca0e749515888f80d7abaa84b590306d9a44f9e8268c05cef1e15b8c2095969b5c1914a7307a0ea0834f24a3ae1b903df8482680b32ed655d";
-  sha512.doc = "1f1861e7948e09fe03e6d886404f227f2337f963aa938f4e23921ef806adfee80bf16f83cfe9b8dff6e92e351f18960a3abe51e10e820b2cbb8ee72a1da8ebe3";
-  sha512.source = "0dd340a9ddb5d8baa9792384a7060e1db0e3c51e70d9dc67d245ef9a316f164f0db0c1d1fb132a9e580edf492d51f9c19ebad921c48ef12840dbce22ad39ae08";
+  sha512.run = "987c392828a4995afdb37b10194c7735a7dfe3375bcc6efda6592d3f35351c369c045a2c1464cd2653d6275913a335ce3d527afb44c51ee38d3038d4751eaadf";
+  sha512.doc = "6cebdf9d6000ba48dd8106645e7a05709ced06c8790f8383a036629d8d53ca434f5c5aa0ff511754ea9e00fa743e435a304dacc16edf18098409972f763f9087";
+  sha512.source = "f5e764adfe67c9e07261ff1211cc08ac9b4b076e67683dc50f9759e942f50810a72222a9669770b9f281b7f821d50a7da85014ad65461dcaf1117d54b98d89a2";
   hasRunfiles = true;
   version = "1.01";
 };
 "historische-zeitschrift" = {
   stripPrefix = 0;
-  sha512.run = "5374c1f2cda6679fdf9dfbbdbf8325097419947d69bce2cf4f1d72a8be9a5802d10d3033c9c93b0e0f2dd7ebbe604614d03f77ec51ed5660367be2c6c1928910";
-  sha512.doc = "9614eb3a642fba44e2818b0feac246aebff35693d153ec727602dba14259aae91fc5146dabb09d8c9e4f0163dccf618d68f442c2fce6d13ddcfa56dd2238b25c";
+  sha512.run = "da501792653c77f7cdac978a348e1267d4abc2e80d8b5565b47fdab4a1e2204f9544bab972a291d191ce26bd29203ff28a6440e2f8969cf1b33a5cea48998b04";
+  sha512.doc = "1b091b850e4936e8e6484ca484f740005c66458655a0cbe24938c3f33f23807fe9b7a0ab93b38f6a3481c684e35031398860d5452f6bc3fc8a8e6f4c2e82f927";
   hasRunfiles = true;
   version = "1.2";
 };
 "hitec" = {
   stripPrefix = 0;
-  sha512.run = "ecac36e6dba021f36c159b66566ef09679396f5b66214b2d308c2c6d7e863772bf583112c023c86d653d2da72cd20e930742d2dbcfa80b2f6b84349778b34cf6";
-  sha512.doc = "a219eb647e39a3971d26d31bdbbc36a5e4a5ad0e2c703796660da5e9e3ea2d85b60a3e4d7b2e0089cb5ccf958388cdef848b1c727ef06e0c7f2c557ac6e386d7";
+  sha512.run = "d7ebe166a23c05a1b78552c102507e697c07b955cddc8f4061d22fc42fc414664d3a1bc1c08e0dd122a987c736d24d4935dd944b37f62fe260b3c811678a3b30";
+  sha512.doc = "f166b529f29f0470770d5a24e0f3ea2be9021732fb5373611b87cda10ff2196d1d121258fda75369a2f0f9a65324f4a8dc0d3c5f377cf994c04807b18b5a46f3";
   hasRunfiles = true;
   version = "0.0beta";
 };
 "hithesis" = {
   stripPrefix = 0;
-  sha512.run = "3f1ae823b78c33d64ea06d492b41912ee7f8e04e8caaff5cd82faa9bfe1790fbe908239166df1f845e9036c225e022d30425def6147d01faaf5834d3d1f7ca2a";
-  sha512.doc = "8dbbd33a838b374694c885f7d23f069f3c26439fe28f4e30d5cb49dd3216cb87a71909b38ac3fc1dbc2baf9dfc3fcfd3124e2eb8ae3814f94148cebb0e51ffa2";
-  sha512.source = "ff49275c92de0adb28ae346f59d3360064dfbc555a5550ddc51cf6b132ab184ef9487f417a15e46947b1b9132063aa6aaf977e6e8103999e369bd6b85b9bdbc3";
+  sha512.run = "987d14e74f7adb87acc5b9ca44ffcda67872657f48ce421a13a028b7cde886ce6ae70d504d6684f42ec03774b6d1012a7fee11616b9f66ce6d989a2c4594e2cf";
+  sha512.doc = "18fe3f3b8892f69354caa043944fc6dad88b0f468506acbeb08eaa0b220dfee44af5ebd2470e70814205d07541b2eb3ad93532dbf0c1c1b544591eda81e05da8";
+  sha512.source = "9d77eeacbc6738862aeaf12b9af9f9474c90bd2a916e06fe4eed26743101eeea48e64508cb2ac29cb7abe9de56f1d187e4f84d89d0fe8408dbc4c878ef6587dd";
   hasRunfiles = true;
   version = "2.0.6";
 };
 "hletter" = {
   stripPrefix = 0;
-  sha512.run = "47f01846d4d0696af56c6e16c4aa5f61d0cda81e7b38b4a30bacb2bb88ae0494844e6f41f2e6b3fd403f5d9492d965babf7007994fdb5eeeaa047ecee85c264f";
-  sha512.doc = "2638b350b3244bcb7331750269c21be0d40a2faea524e9956907812ff4cac265a35f6efb19ea935edf1c44a56fb41fed4e4481ad3a41e954d518f9cd7fe76aad";
+  sha512.run = "bd79dec347980624c634918880718af9e434e24acaed206815e974c2db856e8f424e12b6870d920079626423f18a02fd326bdc387c256ae9c3a1dfa4ae26e71b";
+  sha512.doc = "67a9a39cf0c8ac1054588ad542a8ba3705e94445920d4ca85b46423a4cea364c58e8d2b02b7d7579c9684653734f0766e8ddced28a7c5ec77e0daa3c3dee26b9";
   hasRunfiles = true;
   version = "4.2";
 };
 "hlist" = {
   stripPrefix = 0;
-  sha512.run = "0d6fbd18d1f1cffb6f6f9fe00970bacd40a337bae6dc701c66782731224235a9e252fe78f2dedf997c6030d45dae43cf428e748974f10206cf68323a173de449";
-  sha512.doc = "73803f7c1f7d888271b99452a3ea2f4d7e3fd34e60c6b1f564aa230c63e58dc1fbfb44dbed0558ef95a924302f25dcd8c0e003ff55a76425c2957a95c4b8062f";
+  sha512.run = "9e2150f08a7fac07a0e2e36edcecbd5c16ab3c119d8532fbae9399f14c6c7567d2cf4e2a92eda9a650049a901a35b6a9a0dd3423a06da6a9d266a3859392334d";
+  sha512.doc = "5b3748d7f67fb51dc0df2a03318e96ac9224abc42291ab475a907befa14fc210d9d2371005150404480900865e8ffa9f97e3ab122109bb5454c3b061f66a064d";
   hasRunfiles = true;
   version = "0.11";
 };
+"hmtrump" = {
+  stripPrefix = 0;
+  sha512.run = "62efa57cc09a2792fb755112defae31666d44ef295f75f1f04b3742b63ae5696352bba7369778a88f822ff3e09bca00ed58157df6afdd664f7090c084c28f9c5";
+  sha512.doc = "58a765a12ff3ad55278502d8396c3580f971cb3af772acedd54d29fd47b73716ad543561d7d7f58a97b54c400e827e54bdaae3d6a599999ed12ef8d884d2c7fa";
+  hasRunfiles = true;
+  version = "1.2a";
+};
 "hobby" = {
   stripPrefix = 0;
-  sha512.run = "3746a55d5e85247837fbd49fb8861404400d718b1e58be288ec95d80139fdc54286fd297b1688c2ddce6ca9cf46a73bdab4cf12fd127e0989d64f62211d13c5e";
-  sha512.doc = "46696a2b257509758d8dec1736f12f9ce8b54358fa7dab23b56cd6c78bd34890021868aff3dddc9c28525a8af30924b7f33fd7e488e6ac90dab2e28c1b1a14e2";
-  sha512.source = "cc152d8c0669a54680b66237be894535eb7da745985050efb9fe249bcd36db5c5e99a454a0834f02bc07f57c5a3e3eeab0583e2b705bd03a2e9311b3e7787a53";
+  sha512.run = "669c768dffa4e88d831d0a03a7e518fb2c101cd0af9ca1e15e6527ccbe78a13485145bedd4ef45cbaefcc94e4bead303acb89a0d0f50c6fc3a7ab312717febad";
+  sha512.doc = "7c8a353078be8b94195558d1d7a319173b4480a616c8725b99357ed3a086565c238b944b9b3baa719b354dcff9476aa7c7ffb055565df546054e662370d5d808";
+  sha512.source = "216ff34f42c28fd3e2303ff5032a299668881fbe51e8c8957547dd7953b2296e984a449cc09b79268b968ec8fcb8b774453a26e88156f5b7bbc6cb78a57de7e7";
   hasRunfiles = true;
   version = "1.8";
 };
 "hobete" = {
   stripPrefix = 0;
-  sha512.run = "29b74fd2f761b99e15329633e4c38c0bb37629d1fc158511ccbec620955dfdb1c43f92741ec700330bba78bae6cd2733dd1f76d13a77929674111f0f196b0586";
-  sha512.doc = "c6a8f41cc7b988813d02c24a9c2a8f010da9513385480f3549e4148d62c578ae35b28394656a51b2f5b337e2137034aa9d08ea5b5240c4439321f9d68dfe1e7d";
+  sha512.run = "d2c79f5d39fbe82b43704a78add3a016768ff282d48ed1f49d1991c6ab56bef5266e8cfa7b3b03bcc944990d407ae43eca99930270ab84679f51323407b861a0";
+  sha512.doc = "ef7b1bd487c496cb2ffc01fb2940a72ac69edb1a5516d19ce6a6e6cb197ba6f517e03ac673b2372cc9cd4f40e5c6ea2469c2712528a10a3f5ba09e9d3a46f209";
   hasRunfiles = true;
 };
 "hook-pre-commit-pkg" = {
   stripPrefix = 0;
-  sha512.run = "3911e1932a1667cb867fbd62b58ae832ac8aa63d46ef905195df14c924cc682fc3517d006da78eedba27b950d9e9488b3523a97109c15befa036f07baf59b853";
-  sha512.doc = "94945a10d1384577c94f4fd4ba8a2525e6ef1f95899d719396b7a6d7526bb9823e07ff32b8bd570081da0f78cf1310564bc7c97bb6fbe25c880845b1c2e60f32";
+  sha512.run = "6fb3009d4bb4016f0d6e92571d52aaf7e3780d39a6b2ec73ffb37112b3f153ed71ecbcd985b81dd841f296a39da83e9004a2d6e6e85e9a49765e1682563cfde3";
+  sha512.doc = "3873c4714a8a6d221f860a5d0606113c64482b363727067e0017d27e99d73f31cfdac88a799fb1412225baffaecd7bb03dbdc66b607a075b1e4539ffc0df2a9d";
   version = "1.1.2";
 };
 "horoscop" = {
   stripPrefix = 0;
-  sha512.run = "8ef1f301ee3c5d934ec79dfb4205b8076f6c6937db298200474e4b5f35ca9821b8be72404fbd09184b4691bd8a73b76ebea4414504a239b7c97592fa183b64be";
-  sha512.doc = "ec47fe5110fdf79f218ed3a45c8df8f8556099627aa04d7dddb9ef248e520526764264259b6c47ba19053b9c014327cddde2a3624160a2b4d47f72ca5a59617d";
-  sha512.source = "a955e8de3273af88e7048ee5289cc7617b0a26387989bdb580b5c82d453d381612abada18e34d677b3b03e8314115567106f413c66ef738654e80a500814722c";
+  sha512.run = "077b7bc742d0526daf7380a080e640de72d61d5e65cac441d3291e1dfee8c0240be8817328e7080fe410fca9ebc8b5d13e8719ed48bd7d412485d7c5d2f67ce0";
+  sha512.doc = "b7cfdfb772f5423fe4cdcd914a4b0934162ea33542a773b14d91d057efcd05b7febfff46decc3760512b0df95f52180a4de0dea2f0dcc4b504945ee572f832a7";
+  sha512.source = "2e132bba43dce98d65a717f755062ed6f63ecc0775134562d1061fc28d7776fb02baf7502273d1e825306a8a19eecd4d4e94d4603687ebc0df1923b27a213cb1";
   hasRunfiles = true;
   version = "0.92";
 };
 "hpsdiss" = {
   stripPrefix = 0;
-  sha512.run = "01040a8493fa4f072dae13d14357a57f24fdd825c49090b6fd8dc0b19ff8a8b0acb79c2e16d94f8f30ba185c51116a7d5f9b88f4a2b6543c8ba3bdde98133341";
-  sha512.doc = "85a9d32ce39bf02399de4c9ec7eadd0d24879c27adbd5bcc945c780aa978144efc48b9cc21d1bdfb9d610cd129f86efd3745b026690d85d76511ec24e3f9123a";
-  sha512.source = "408ad0eae02e7e2ec6378c129610805b7886b3a157402f7d95a6885c530fc81f8f850e16d0d70a82bf5746e58c8f1d79e271ea8fd79e9f6e27885e58ae02bf7e";
+  sha512.run = "4905368d081cc6e7f2c7b43b28d4c6e22081796d8594e5a07e521bb7ab0fb14c9ccce1dcbe135b0cbc5a7b2671e3041d7764ff80c7e1543b4ac4cefe945794b4";
+  sha512.doc = "566f0509feee0bc5c28481fb62f2c991827cd5855f9696fdda79628f5c43329b39dd508fe9613d2c0f823bef421a97393fd303d830c779c42ac67f88303a239b";
+  sha512.source = "8337cbedc42502ececcfd60adf422e15aba32381c46489a82d8b618286a4d8848c0288136771b8acdbb03af9f39029e4be8e1c287f6dac9bd3ade3b727e8ec8e";
   hasRunfiles = true;
   version = "1.0";
 };
 "hrefhide" = {
   stripPrefix = 0;
-  sha512.run = "d91885dd641c9cfb5b9b8ef7e5806093fdeef096e28d89eca7443e14327095fcf81b076c18d97979d8f15e08df9fbae104a9fc270eec6cd2c3063412007d1b8e";
-  sha512.doc = "1774553b6bccb4bec504b5a34a3ed29f2edda4ad5a709c5ff92826d86a776dc1705bfeabb3c8089e5a7178fe0cec0bec7f45d4aa4e7d349823b889274ed565e4";
-  sha512.source = "f02eaccb774c2442166361f24f0dca925cb515c336e5aa5cfb9f202fed5d1a77e2dff4770c11ce2793245f54ca3889168625759506339767c97fea5ff0de2cde";
+  sha512.run = "6d96fdc550a99ed7f3e4dbee19a589c27b27af16f910a22befb51bfb452d8f9f57cbb27f1ecf96c5604e61eb1cd0343c0a07810ac1519dc51422183d6229916e";
+  sha512.doc = "a8ae0fbbb185ded46cbc1d7550526230de4098bf3a5bc8bf72ec8f5a5b4b93703501da19a4c9e09e08044aea768a01e39dfa36c38c9be72c7aee8e61f58acd71";
+  sha512.source = "ed08bbabfdd78725060f3bac173d2819ddfe494e99d76abe02ffff755718caafc520e0336299c8c1dda0db1492089316e05b1b85c93c866b683703b471e845b4";
   hasRunfiles = true;
   version = "1.0f";
 };
 "hrlatex" = {
   stripPrefix = 0;
-  sha512.run = "ec8be06c668db498225eb27d08abf178c82518275471f1b9a458c230f47946f0e18a28513c27d2aba1bf4937ab60d6f88612972210a8a631589e294fa80c9b25";
-  sha512.doc = "d8d5bcdd588a57a20061dadf62bf74b447a211574efcbbdb288119b3a51255182047cbbe4e9db41199034d6e3733f112bc4f741f5e0dd654c68f844aacd44961";
-  sha512.source = "a3127361fdf057ec7a69a75a40111636c68eb2088330c966074b4f9af9eca6a854d83d6ee5346c582a0ef32ad99f1c2066760885912531d45b286498ea7203c5";
+  sha512.run = "14bd6fdf4a60ec599971b1f5ee7ae5fc649b0d1382f9dff8bf9905f4623f3964c2d552bbc4485680d22cf04651a5e49b71220ec2c05e6599356b6dcee6e4d122";
+  sha512.doc = "ecd67675466d365f00e49b775ae3e5264e2d10d574dbbe913d52b3a5b553fe942e06fcca26cb2357fa76688c55fc4268bf7d18f5cb2a90663bfe47c11a5bbde7";
+  sha512.source = "01f47918a1926f36840fd4d78debc70cbe09fd2a52b06ede7b40d7c3ce0d42e6385d54cd2cc96eed8bc222ebcbd2e7ab191c41f8c8df82f9b5ff93d2e0f54a16";
   hasRunfiles = true;
   version = "0.23";
 };
+"hu-berlin-bundle" = {
+  stripPrefix = 0;
+  sha512.run = "1f7e2b6dece2dca1334c876cb881f7754bdc2e66eac656c577a416f26873b5fc6ffdf0bf539b446ceb66ad28d7334e3dc340ed33bc59a24a1ebd734b936b754a";
+  sha512.doc = "67ae49666ac397c0cf86eaedfb1b7a2cd0748074b518ecdba2ab9c38f25408f4de42a8293eb3ddbef9724dfb24be1e8da30f3ee5ea4e6bfb9f11c730d622931a";
+  sha512.source = "7de2dba58b4efbe8bd03290fc90c29f6b515abbd74d32f8eb1639a488c5ea98cb4b7a94ca9883d69dbb0cdf16adffad913fabf01ac5184fabf8ea615feb4ddf5";
+  hasRunfiles = true;
+  version = "1.0.3";
+};
 "hulipsum" = {
   stripPrefix = 0;
-  sha512.run = "550c0c9796d99aa685c448e9a64fcad28a61ed1a5c3c2a7a6de1d8b0a20e873c140c324b209877d09fb57864736563f862de7ee3c56360c5284e88b52dadbaea";
-  sha512.doc = "c68827618d24f702e438a6bf1e22f70bf1d1203e67758f767d32b0224a4231a1adc4b339c2ddca2b06e59615fcbb2f9141ef193b9b7fe0f2d56d63b82369db60";
-  sha512.source = "3e5da3c8af258bc6cac81490f5f65f6710216f476dd3f17a55ebef7bb7f79ae8209b0f269620f29d2983194baa2478a54e3851bc15a095c6f2134ee8a2151463";
+  sha512.run = "c43867cb608e955254f2c597d3fd9938fe815c1683c9d61dcd1cfff29608b5c391d7374a740646dd915fdcf282d9adb8f83d3dcb6781fbe547b685de81f67143";
+  sha512.doc = "43dcdd731116bd1eac309b1213b3c961dd189f861b8732d73127ba6b4c20d3ea3584f03340ff5973b4aab11744e61069edfe6736d389e1487587d0372591e343";
+  sha512.source = "e1290087087ab8d63d2e2de72cbf641ec71ae362a64faca2e362cccfb05890abc9cd970a2eca1b1c10cdd95760dd82e8bc90fe0e8ef4d99df6cbabba24c80be0";
   hasRunfiles = true;
   version = "1.0";
 };
 "hustthesis" = {
   stripPrefix = 0;
-  sha512.run = "6589bb1d8450db368522f141c96e7498acb098b1fc68902862fef692d49dde8333f18c374c28db9dcfe1d18bd03193ef94f84564db08e275e266e107b6c934ab";
-  sha512.doc = "f9c20575406b5284af3f7a53b9add4c5fcc9095f7d514ceeafd7793acd81704762aaa0b45f45d5d0bf5abad2e7a381e955910cb604e11266c6a057f079f411c2";
-  sha512.source = "9dd31a9b6ef2ce2b52d8503756e7e0ce8e74f7e744b043530aa992092ebb117a4c9d1b8e79dae545871514934b3f7774f14569ea3540685bdb4593b9e15ff746";
+  sha512.run = "508c86a6cf5e3d952dd43786f78952cc8bbe635620a913abd82b49c2cfade29875bc924d5ea89803b03008328c7297010e98f70b62b5191d9855e0cc1614d3d0";
+  sha512.doc = "5c114cda4bd4264904b7fdfedd55720046403b8cd3c1bce4181dffbf319a9107ec0ad8cdd092922c8c5268aac62437d1128a45ea0cdff4121a40f02e26dc0148";
+  sha512.source = "61b6147d4bd063995900479b894b60d929445e60855c522e46abaedfbd33f7516f90a99d5052b3241d7070d375504cd660446d6647c28284e76d0ff9ec5aaf76";
   hasRunfiles = true;
   version = "1.4";
 };
 "hvfloat" = {
   stripPrefix = 0;
-  sha512.run = "1213690dc1b074c39ab4dc2d932966961b6788c37fe9d5b0138bfc40ee854a1c33f5c84de93ac642a2741a74d9b8b9589b1e7e573c1a289651f91bc52f003985";
-  sha512.doc = "692749091967845b981771fb52a07c5aa256ee05a8f5293278a3806526c2414a5fc8985d7911c3a72996675c7f290485941c4b836b78dc25959eb1cb8a9dab84";
+  sha512.run = "717fd6f3a1b9f7fab0cbbfa929b09e9186637d56092f50d1f0d1603b7b7d67c300587d12e9ec25e73a89b240ac3744bbf232802b2046d34b8606263a7fb6064b";
+  sha512.doc = "98b61ee75c06007773a5119a5c9ded7d0ff9579e016dd024265329193661771ae246b9e0e44c55017dae9754219f2898abf221a4affb6231e0d7ef775fbfc30d";
   hasRunfiles = true;
-  version = "1.2b";
+  version = "2.16";
 };
 "hvindex" = {
   stripPrefix = 0;
-  sha512.run = "229abc2d2c8ae1db136c4cae13bcd9b24906a0e594774b098c03e907960179af2e120df4498b6e91a594464bc1d6b598438def80c6f5fbcc878bb8803c2e4232";
-  sha512.doc = "24dab31ddac4edeeb1ecaa235ce88fa6384eee0b80df4aff9d0c4e1ff35c3074799a34111ca05e1176b5f18b0abbc0b85dea930b6dd72246cd709a3a9950cd48";
+  sha512.run = "12e47531ca8dcea2f195d86b5721f2a62d2590de5a0b464e5e6de5484ee34803eac14f2474e4a00938f6d5e5b307ed3183ea3aa0a4f0d5874877356de6e8c83d";
+  sha512.doc = "2a10c26537e550e3d51330c704711c2c43b872f90db15ee709dcfe603a5fc64102a8b466c5d5b7ab4706d5e96e91b11559305ac607477776f34da97590151368";
   hasRunfiles = true;
   version = "0.04";
 };
 "hypdvips" = {
   stripPrefix = 0;
-  sha512.run = "f0f6bf1ba27eec8c78b7e11b53ac9093c68a133dbad15fa9ca220d2f6df2bcceb3788bb1b0d19582803220d397fc7e4160a4ccd5627852180dfa64f617a2d9cb";
-  sha512.doc = "71759765aac53988dfc2033efb33c66684f5649e5c6d827c8d1447bb64544a41474d4ed75aa5c2a9d62c012c6fbc0723994f6f0bae4b0a6b31bafe3536852636";
+  sha512.run = "da692cfec4c9989b313326cf32c00a2602413da7a01b1bd7557ce5bf982fde071e1e4ca6613f0e2c7ff74b53a8edd5cc88c2b8ccc681ea94a46a5ccf97f2d3bc";
+  sha512.doc = "40c8126cb0fe0ee748afe0c46f80fa3a01cb52142b3d8e06168877b8e08a7d35c80e555322ef97ada73f17f649e50ded340836d33eba3d9560143e7f64abe2a3";
   hasRunfiles = true;
-  version = "3.02";
+  version = "3.03";
 };
 "hyper" = {
   stripPrefix = 0;
-  sha512.run = "6d0f94126fbb76fa8d6f6c44240b6d8b9971f0513bd5e9d9d14f68cc32bfe3c9c4e8adb8b092ddcc615ccc5c44be52712b72d2ff382ab0810b6f7f72d3d5f960";
-  sha512.doc = "f07c0634e9cac0053164c1689d80a6fb5868180ac48534222f5bfe661bca21ac36464b4ae369f0e1ea874d28abceba1d4f0027df6fb585a0efba054f64274484";
-  sha512.source = "40130d795fd88720fcff24137eb7cd83fde37f134b7674dd04890363fa388b0d805528511f6d99bca08d07bad9ecb47cff7478bfefe969abc0bb39d13cef219f";
+  sha512.run = "6e5bbad0a682440e28be67fc893a970de315671e1f4987bebff4a163d9c38bb33d8de9557765f1d8c74386556c59e332ef5855a3f1fe36d08eddcbd2a77179df";
+  sha512.doc = "41fafe8bcaf651994c45abd0040e2123caf8e33fd2d06fafd310d978c10ae5c705f7dd64d9b4740bacee51f11fe52741ed64f83d6b236d298cb6c932fd3ba06e";
+  sha512.source = "50552c5d6650973719d892d2696ee4885f8fa78d9e9c62e3fabd8ac42f35610c025c508aaa250f52c5c7676cb5e0e6aa4b75efdd19d3c9e1f3b3ac6981ab1342";
   hasRunfiles = true;
   version = "4.2d";
 };
 "hyperbar" = {
   stripPrefix = 0;
-  sha512.run = "c778d9a242267a20c0e4fc5f097cd01d907411bbacdecc96f2aa98be73b7b666b8194bd9e9ee38ebb77ae5c0277546a1d64a9749395f2b5410222bfc84d3a932";
-  sha512.doc = "63503e786691e75155e236eb35e704d426d0b2e411987a13488ee432cd33a7c2e1e6976760d5909ddd483ac03bc0058e30fb15a0617633c557b3da39c93b5846";
-  sha512.source = "a21f7d15a908ce8ac59172d53326582b26eb69d80d4ae8be3a6a469e55da0c75c3784894fb40179d15a397ea1d414857b4ab3ab304d7f1e7dd68dbf887bcdaf4";
+  sha512.run = "80077002a3bdc99339749e2f76687a0f8597a786fd3ca3f5207ec44dc2037dbec1e696ab58d77ee6b067d6e958357cb8f0c9805621c3feeb40dde004851311b3";
+  sha512.doc = "0598acd8fb945605b204c5c99982db63f4fc06fc82c47f7b301ead30be0474c7dde5eb4f78f3aa698160cd068d38aa2aabe3a1fae3c49cc32194e7cd796839c2";
+  sha512.source = "99555f8a939783db613ceaf509fbf2d95352ce8e774e750a9d552717eb538a64663a905a063b6b93aa83384ce322079656c61eeccc9678bdee47b2c56e52220b";
   hasRunfiles = true;
   version = "0.1";
 };
 "hypernat" = {
   stripPrefix = 0;
-  sha512.run = "4d11cb8c93c4b545a8d0888713b88ea5bdec07f2c102ee8dbf660b5115083dbb5f2154385493b72f97b16207e349f89dd22cf4ba008fd0910b719e9812854990";
-  sha512.doc = "b64dc6fecb5b0e9acf0a53442ca2fa174743e93281d9982bd36418f2a23983372ae44fbad3de66feae19882cacdeefb8d4a62e2eaf1689dcf4a19a33369d5c58";
+  sha512.run = "0a803b9e7d23d364122869a89a6f181132f00b54d39f677a9d9471c336c933ba0e743fa4100636a6d3e929714a8896ce964e7614800c675ab9df7cce7e6d732c";
+  sha512.doc = "04a3f646e1595404513149f0ba56a36f0cc21a29f3ab455f38c4a7c3f5a282199208ac3aad329f38aa9fd5086762d326d85fa5052dba125d944969bfc0446489";
   hasRunfiles = true;
   version = "1.0b";
 };
 "hyperref" = {
   stripPrefix = 0;
-  sha512.run = "c17727ce03aa38b87195485bc7b7860181a9940ea1777f435a2bd2ca4bdb475e50123c85d4d2493f4314134ea53e09374b0df2e5299a0bc047621ced0d860a55";
-  sha512.doc = "b7d46f626322d4b01a5a266e0d00f17b13bd02a1896077c97af4378a98cab8e7edb67aaa9e1076af0744732bde2ef40574b5c624a9ea42d63c59890fdca16733";
-  sha512.source = "f6c33ab693e91d0dc90146b151be50bca05eb91c1c9a5387a9cf4bdbeb9b9f71a793340468e1bb0c79a2329fda2aa9cae9766e72314dd4e1d9d74696e3d64a96";
+  sha512.run = "a05e87f45b52f1e73fda4233dd3c117828d3edf06ae8eeec2657a4c887bd8f7ca65cbb4def4f68a2222b2b586da3df9be7eb75aabf2aefc6c80c7d1f191e2af7";
+  sha512.doc = "d3a016cd4de4003d65dce1382e0b987bf62e9d5e6107fceac9ff78c23cda49f8d35b8b2963403258ae4328e3feb3ac8d4d24936a3937cd4fdd575e854a082be6";
+  sha512.source = "23a44931030ff104b7f2251458401a10133b9352021ff9f316b12026a56485b05c5ac05666c8f4eae038a962ffc2d06be32efbe80af16b2094e8ff6cad6cad0c";
   hasRunfiles = true;
-  version = "6.88e";
+  version = "7.00a";
 };
 "hyperxmp" = {
   stripPrefix = 0;
-  sha512.run = "ace4419f17f5546a0613ced04a23aa3e0aba15300e4684ef0bcbd8b1ed74b167d67b2e98ead5968b02b3a4a2929f96536e5f5bb6d850c8e471a9390244226266";
-  sha512.doc = "a2cfbae67380184eb7bbdee6abbcfcdb989993a67cc0e9c660fadb39da3e1a5e58b169ba802eba208257f02309d59faa7ddb10120d0faa2125d512b55c591953";
-  sha512.source = "8d37b6a604e48bbc672de4a0bbb54c66c2731df36ee6f936d23de89b85dd445da2e25d33e07e0ea9036d743311807cfe533aeafffb41511961cc92ae5da9e5a2";
+  sha512.run = "95ab28036eb17cc540ade3462c3f205eeb07e6dbfbb6d150bff2c8264c3ba344dc7e977391a2c72c0d2d26f51e5cdb56751507b56da8d6862b7a2eb941929694";
+  sha512.doc = "473038ca262432f860decdb67c4fca775bc96ff62da4dcff7b6f6b5c681302f32383c112b46b470fe0d96edc4599b4c2e328fbacab0ba091d9d1e9e5e837d1d4";
+  sha512.source = "bba2d1f71c938ac57423e792ea49cd6008f97a3aeb608359780370f832157ed716759460dd1daefaf6b88af40ab03ab7ccb6237202e8fd7dd43c0504df1e2daf";
   hasRunfiles = true;
-  version = "3.5a";
+  version = "4.1";
 };
 "hyph-utf8" = {
   stripPrefix = 0;
-  sha512.run = "20bc63ab0c3943525fb90c957ad2fc05b799fd0617434421c5947ba2b8599edf9882f666394723eb5f0026b4f00f97be7bb5ebfb33060e61a97647de252bf630";
-  sha512.doc = "aec63ae1506f9de4bdc7ce5bed6cc64bd78fcb7486eeddc885fa69074576a0c34818ea407e6309f0694c6cdefcdf3bd088878cf90a004701295ee6ee871fda7b";
-  sha512.source = "e551de53c529ecbf137bf854a99c1b415148ea089d1dc81c2a9cc722a626f94a9679ce541ed64a8ba8ebf0cb0cb58d4829bedccd47e344706f37d9da3c560a83";
+  sha512.run = "51fd6b51c1292b74c7eb6e8ec3fa7cbc7e02b8c5d716aa55e378a4103d21f7c4dd5298e2efdc47378d27d5326830b9b94846fe3109d3bbdf60f8e038969ad95e";
+  sha512.doc = "027285084e97c6a51296e532d306dd22d4b43ef02928e06d9d684d0137d0379d4f67f83e0f16e472fe37bd285793615af8bf082bbf7a959d586173a04bc5326d";
+  sha512.source = "10c310af9e16263817c400686b7894d6b62f99c418972e7f494245e2d810e8fa02464ddf7175d64a857a3b1237059df5d63277ff7852993bc0f5e6680c82111c";
   hasRunfiles = true;
 };
 "hyphen-afrikaans" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "95f9aa7e9852cea83082bcd73786071786ed8dc5d1de57c1374f1ce5802dee3b009b9f9f1afca2d6798ebf06f2fd2b8de47bc5526d898e563376dbd2f89f13ef";
+  sha512.run = "71da785bd33d3c4ebb5315696e1fa9466e188e13a60fd60920e923a49e74b593fdd0f50cbe5350d28921739a0f3e72866e04736d95045a670f53c36b6ae7e83d";
   hasRunfiles = true;
 };
 "hyphen-ancientgreek" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e92f92508b5a9add2395c7f52d2520b96b62296f992eb886fbb6865fae0407edf6bf26ee00051d8935e07da5f5abf789f6087d8acf1b4a367cc4889551d56596";
+  sha512.run = "ee5105a58c49f808594d9b2912f85f15617c8187113663d3de3bee4824dec509f8010d89b8610b67c074b38ad7e7aff835994b044dc40c8ba72f2d08e370bb9f";
   hasRunfiles = true;
 };
 "hyphen-arabic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "43659f34dffc68e8e44fe46bbcfe7110473a12ad729f661184060124f3cf777cf46f260b27edc8760555fa944381094212f89ec649fcb794c809fddce4f60993";
+  sha512.run = "1b43cfa50f074441f757b841b00656ab383ccabf5f2fafd8260e4088de13aabe8e2c3e7099e3d84ef0dff49fd312f17fe11e44892f95b6d7e149e2d4cd023171";
+  hasRunfiles = true;
 };
 "hyphen-armenian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f424eb6b1b21a94fbed73e5d6fda2a4e171a19705a8c8dee805c64b418e78a5a67cae7ae189f988708af1ad55f295d84826e628f4d16c3aeeb2365bef7725a92";
-  sha512.source = "0fdf3826fbd7797e6b7945ffa68b64aecb7a27cce3cecfbfb55f69b0dfc4a3ab5887d574fb03cec5c2948e19728ae02101bd1a19b6c62ecf78c19da37eacacc8";
+  sha512.run = "a9963cd663ec8e060619d01516fe326149666d3b34e1f1afaaae42020d17c40885599e485d60d0241c9b3b54bfb9614725d2ff39a9bb5f002a240b2c54d2d57e";
+  sha512.source = "8c2177d07755e7a0255057cbe8f9620badedef5fe70b6945c467b555b079d00b7de42ba4b65be095bafb88b2d867e2cbdded53be5bd5c6b5d6d3cc9b55471584";
   hasRunfiles = true;
 };
 "hyphen-base" = {
   stripPrefix = 0;
-  sha512.run = "445afd44630f10078cd5e2780ebfe5c27cc384956180fba70dce7afee00686d68bc3e3d7f34f014a76c4b246877bdce6ad64f375dcd5dad786432d1b19822a1c";
+  sha512.run = "e1980b81a98b82da2e590d08ae5873529041f3b048396d9bd1c3e644e6e8a48a8eb2040ce120462a9e844353f8f0c3fa93c38bd7492d35d390525fac69794503";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "96023478789ae311ec9887b8a0b6bd2104a96d62f3307a65d653d1bf91cd27503f8273dacdd963bc562bbccc3001de27de434592d278d2c047394d370c943e37";
-  sha512.source = "b489763fa6876161940e4c8164db4ba7c2429f540d236bb4b474003b0002ac5c87729199f8a80a6390fa0537794f11196e58221526c325c23567454f07c14744";
+  sha512.run = "dc57f3ec18dc77de7f638084dfd42e236fb53cdd4027261f81b1425e89397e3343568558c869bc2def57cadebaa5ad113e9993bbc903b157ef3de88d9b6ce23e";
+  sha512.source = "7828868113962bea3e6465f7d7bfeeb9e1c065180fc11faf8d4c17d855931cddbcf4194d6ff65f0af71edbb6d802ec087aa9f745dca9e311a2391be642d0be99";
   hasRunfiles = true;
 };
 "hyphen-belarusian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e04e3b2c474bc31346432f95676665d6472466a88c81ff5dc6f70cc59e0b19dc7aab5d7f7d362fc58fc31d8712b6fa0e9c6582c9d73c5869959cbd6b670afbba";
+  sha512.run = "2da329c3f21b3422294bde8a9cc896aa3e65fb892a71e98a7b836d681b8f3f3b54dd3fa609a3e4c2a46776a0556cfa190aefae10de2f4e20a686c1c15d18c913";
   hasRunfiles = true;
 };
 "hyphen-bulgarian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "eab382dc46de0d78661b2ae89d78ed59c7c9fc5013b18fb7f48a0ac78dd12d2eff610c4f0cf4aa8f2220f68b2a7b84b386c398b20d6cc075bbd3a93fbe87fa61";
-  sha512.doc = "b0ea82c4c4cbe032ee05da60c010bc5487cc7b030a3c67ec2547e3cb9cf2a56419b01140fc5b316b30b3453ce6fd8a544a4bb35e14952d9028b5f018b5ff8cee";
+  sha512.run = "32a2745a2d94dd306b852ae0d86f26fceda1fafddf0e43c36b323b521b77526ed1a703fdcc1fc7c0548563cdecb80bfe60218c1c939aa5fd595e2ad7ae5552f9";
   hasRunfiles = true;
 };
 "hyphen-catalan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "9a85a49de1c4856f352288f475e9ad8cb821583d53cc5e3d6ddbc459772876a8c6d3439f316f000fb4a3829de1e7ebb7cdd5ab48ad111c429d8ab3dc038f537a";
+  sha512.run = "86979241d2a216460d2cd53cb5bb5a6df257b0273c4a4f5b1b799397be48ab6783e37fd041cc8071a1433a8af138a4d3a777cc050cbaf4907578e7ce0645ab5c";
   hasRunfiles = true;
 };
 "hyphen-chinese" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e254cbd679ae63b02261f0070fe20f3d4c7b510d809490fdce7e3dd9c62505c1a4272ef75851d55e84cb79a98d280b4c45ae4bc33f5c0c4f67572cd4bd0a4beb";
+  sha512.run = "1b37c95821b46758e2ccb089f3897c1691e76e7c7aa760e45c0305835c8e4719751c53e6a1a28d2153184e6c1aa20bbd4595a4ccd55a7fc196dc36cead9e2f71";
   hasRunfiles = true;
 };
 "hyphen-churchslavonic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b65ab2432caed780663fd35340b5185551a73d947c76d0fea9a77688567dc1e0ba057e613d8676868ca4eee8a9c95f57ceb441c0c32a8b5ef8fe1b06f58589ad";
+  sha512.run = "5a2f3bd482818959c2abb74587c04a46919cda5f7ae627a830e2eff6f51ce233e8a2ec8fad727eadb7d18dfb1d2c19b589d94dbdffb36d7af4307e16ff6d4ab5";
   hasRunfiles = true;
 };
 "hyphen-coptic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "0fb6d2060615f7fc78bc210aad82d837d917811fd83cd902fe1b23e1b9d07626d3f8535182c47bff579d582336d25060120176737db8abe758a7e2171c4f006b";
+  sha512.run = "737dcf70c32e3d39a8092e69027663e9ee173116c14219dbce52f583bf33015035249d34c8cdea4317cd1d94b658869852aceeae1279ce784e9754149f420465";
   hasRunfiles = true;
 };
 "hyphen-croatian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d4fd152ac264f9bff5560b24890822b0aa7b191b7fbca8fae9d721090a033ee7a42454406c51f6643f5d0ba1c13b6fc2cb2001059a4f173db4b947b413aea42b";
+  sha512.run = "97c4b047a94488d43a1542ed77ccaefc6d369051707298a3f86926e0170c63647a40e0dd2eb4363a7d5bf526358ba48e5674a386451a41877c9176f4ba49c994";
   hasRunfiles = true;
 };
 "hyphen-czech" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "fc00e9e5d7137c353d0871d3ef648102b9ae01ade41eb22e1307bc900fe41df8be385f7964891ed1fc778318fab4ec6e06c242d2bb7eed65bc91d0297fb73a46";
+  sha512.run = "ea97fbb5b273238881865f8499c300d9b1886e921eb50ccf01291c40059cde75088890d4a06cdf2e43d4aaddc7aa43ab82174c0a50097044a69a53a694b47aba";
   hasRunfiles = true;
 };
 "hyphen-danish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "2993f99ea3027d7f8f55dfe210216ffd891fb8a0a85f1d41096740f01d0b9e455e668d7b51c90dbaff36a9f1b5b4135b265ad609919ea59010e06f265e3289eb";
+  sha512.run = "b579b6d00c0139fc5fd1058b5b1333a231a21738a44152346b69d04b39e02ffd01c530ac89f98d2566d17c765c42461c71985b645fc2e62a380814051d064f03";
   hasRunfiles = true;
 };
 "hyphen-dutch" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7c9ecc54c946ce687b4b70276a28c4abc6dfe6dbe86112ebc6f498520198058ca593657fbf771f0412b6ed071adddde99a8b6c29a3fb3d2980334c1479baffc3";
+  sha512.run = "934483760e5a81a65ac8aae0b7d910b5fdea1a62ef7d9575e1a15027309e19b12cae27fd36f75b5336f6f0b38de33530bc4222e27ff3afe60f8e94b16897b816";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -14648,71 +14981,72 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "08736fd1cd7ad6e4df3b5fa5920a99d00d61a8f5a20a57af19312fcd4037662198ba07ccf0532c916b46c154dbcd1d65842073091613b8f63975cc9654934a59";
+  sha512.run = "ce688320bb2cf250f9ef4089db9c5d8af38fc1fc12c289ac87f1508f8f5ac09a5fd0fb9206a1b5d446488e68ec3a7184ae45038501afcdc1cf52dabb6cc7ca50";
   hasRunfiles = true;
 };
 "hyphen-esperanto" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "6267f2623968803f9a9f541e693b60fb69fbff54a40b3703eb3c1b8e62de239a152dd54e7fcece2138667366ef200ed909051234497d746c1f667353a0b2d305";
+  sha512.run = "da7b5bcf0bd6d6f2a34d5b5330f9a97c73f7dde48b28545f8c6d21b5235156535b2910d386fa9f3b4e68915b81f534421022be345da967bd90723be7997f3b6e";
   hasRunfiles = true;
 };
 "hyphen-estonian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "609ea42478d9d6fd1117a9a819c24ad4345397eb5e1a1e4329ebbd33dc1235747ef7bb8ae2d453021cac42aad95bf22bad3ecb5a2b1b91ac0f053ba7cd2a1e07";
+  sha512.run = "899452321c4d907d7f811f044d9d8552d522ed53446419f59a5f8668dae977a3bad3b1dc02bba05c803cfff9a61b4394fa7bf879e1c85a8ff7400eef672d6d64";
   hasRunfiles = true;
 };
 "hyphen-ethiopic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ef83fa73766cc8a705600fe3c43846ddc41bc27c4fc1ec997d0ea569020dfd887f2d0f4bb968513e1ca9ec5068c151c5c3607dca94df3025fdf65ef3217a1725";
-  sha512.source = "8020418988293c3c7a24b2843dd42a75a218268e9daa979d82dbbb0f67403673c6b172cc7e49459782046592a6ab9772bfd0727954da74a627493f6880469444";
+  sha512.run = "da5ddbbb8dfd8cc8a0b02ac5d8a7b9056d5f5d3a809b4afa41032c5288dbb3d92ef60fc7edb0196448f055aec0770687cf54490a6a5b99d7a3608318c9900006";
+  sha512.source = "0a68114396d036f1a3e63507a381861865ca7c69ed56de3795cdffad134c76a428bfa1dfbf45edc5456d02aac917a4d8690938f935594450a968ff3471c82923";
   hasRunfiles = true;
 };
 "hyphen-farsi" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "39b6a4311f5b125a52d9b68c97e046b56aa05bc6c9b2fb9ef496a33bbe384461c6be1fb218204a19e001d995a733bd6ee4255b99b1c7d1b98d530fa4860fbd82";
+  sha512.run = "196bd0331cb51550437f634bc37c426c8006a297a6f16d7c43dc291c92f3a635d5a0825a96f2b4be0d30e9b850422fabf3f404a262eba1f65807c59ad8213e86";
+  hasRunfiles = true;
 };
 "hyphen-finnish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "659cd78eb1f8a4ed488d555312f5a04b6e24401a2447907b99a267fbd6b6c7995c5ebe5e1601bb6a48656304c62968cde84d9c747352bed067092aee170bb8cc";
+  sha512.run = "29e384aad09ab8a636ee47433f83a0147cb4c55698f821b5d40cef74cc265c85c15903d84d721a6bc4921dd0dce0347550cedaaa4bdc58c85dc93043e6a61738";
   hasRunfiles = true;
 };
 "hyphen-french" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4f79fa67aa424d8a3a946d43bcbf0562e40e4c498909e8698676f78c181c725a30acfd92e90f55701aef249c0444faaceaf5643363190008e073fec082eee4cf";
+  sha512.run = "625087254c231e68c1f9abecbc3b315c08021c22d9c0332ae07eea8e600b800b12ac5147ce11488ec99d6368d695c0766edbd78115c8d5ac6cd6fb71478723d7";
   hasRunfiles = true;
 };
 "hyphen-friulan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b0f871015c0c28166e0d45f05c30c24dfdd8b77e45390832ea166c761c3efc70e5a4dd3c122d7cb713c7ef9406f57c8c9bfc4fe8011edb539ee6ccd3135e2b8d";
+  sha512.run = "fa724316ce1babb63981a51835bae3409b23e23bc0a65cb1bf8715073d076659abf8b4ae942b79257a92080857b67f807d7cc56859c45d8d4874dd0c9b26f001";
   hasRunfiles = true;
 };
 "hyphen-galician" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "7dfb6c7b8c6e1164f4f48c537fe03fda8477c5540b628ffce053002e5ec61bc06f7a98b9a57cc6bd3221ee13a8f1ad674c5b2b690d3cf876fb40a44b0af0a4da";
-  sha512.source = "50b000fceb22757d7abf441adc95bfd99da15879829268241b288dbf715f2675c1f71559f71f14018b7063e5c3e95a802332c73913f13d24c1c260dbcdddea53";
+  sha512.run = "fc4bbfc8f824554487670e115d9844cdab69e4410d8db6382c87386513627a2a96c3a5fe1278102704abdff04f859a51db79316f695ee259398723a32d4fd64a";
+  sha512.source = "ae42aea21c42d2a823e0b1fb8d1a595681bfd797fd5205516b5221d2c80845ead8dd7a9d80c205856a4c701a942d1dfa407150edb0a4236e9a069f02d2bfff17";
   hasRunfiles = true;
 };
 "hyphen-georgian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "10c75a093cd71c8521b6af89d7171a2081b505e9d581f10bc85592104e833d46e9221b6c9b361a0a92ecb2110db74cd70bc8eafdb879929bdd8275ba55eb0971";
+  sha512.run = "ac68c0ce6febdf76178e9fb88b88aecac9ad4cf25977054a8276527d12ab55da5be080b01fcc8111ca4996af5d76c26c7f883f9bde5cbd38140e9785ef45713c";
   hasRunfiles = true;
 };
 "hyphen-german" = {
@@ -14720,15 +15054,15 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."dehyph" = tl."dehyph";
-  sha512.run = "ec33f6411427917dfa1a4262e072b3c871c9804256258a6ad97a6d00ab8b82949ef3b7d5b22fe7ea7122c51b29c964b05c726f22e08211889456327a91e858be";
+  sha512.run = "e3437e3838dde9450c755e442b5d90766af9b2c63e9a806bf4aca97c6527fdf5ca38e0a057c8241ba3706508ad9cb5bd4562ce30c5965efda282a66c83829810";
   hasRunfiles = true;
 };
 "hyphen-greek" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f2990d4a0a4c5179a9c0ffbdc2f02722a787c3da1b3813f2400d0f258ed00e7c4ede57e6fc90f2644a07d820c1cb20732e1552f8c5e64dc424818a41242bf709";
-  sha512.doc = "93b3e4c6d00511b5a24e45fe7334e0a06be6f48db25b360ca087f945d4948a8a944d9d9129cc583aba377d4ad0d87af0f9bab0d78ded1e26d2c00bca569e277e";
+  sha512.run = "7af2a6fe7f302dc537f6087c004fd38ce9269679913765c08820c6d7e060b14ae104ba8ce0ef2c54131c62a3731c926a7c521a5ff9188b622c6fb2bf588b410f";
+  sha512.doc = "289e4bae20e0c52e7ccc4156908fef8639b2f803381bc362d1fb6a764e708e7a345fb14d2614ef1d46617e63f0cb4b4852c336a78f34af30ec66dcf9601599bb";
   hasRunfiles = true;
   version = "5";
 };
@@ -14736,50 +15070,50 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "d9fd4f747b96807132d5d65a01a0478f03464c33243157d95468839afd35f45ce47342b476cfac77720fc7ab3933ea97ae3dcbbcb6fa6584505e215819b39913";
-  sha512.doc = "0868e0c21b7cee1293d9dfdda3586aadaf86a642996d49b952a54a063a731a8cfbfe7243f003012d2b302a875176164acb11d0b0a23131652c3a808e18c46dc2";
+  sha512.run = "54d8a0c0ae2040934f14bf7ba7778108eaafeb5408e448d23c72e2e9a3cd79251b06b5a015fe2a74a9264de7100fc9b9f7f66e89b89c731198aec5b0a160430d";
+  sha512.doc = "1786a4b29cfaaa1b0f3cd2d9b78b980490e2fa5848e6f68f7c9b23d25410eb7aa6ea0dcdd2db0e2270e804746d4523a7a4f40ec53b890acf8a894ae5489fcfc9";
   hasRunfiles = true;
 };
 "hyphen-icelandic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e6a3067e4f9411c4402fa7e1ba550530430f3c653249c5126731acbee5c3ac73846b9da3474c0683c5f497689c23df9c344ddadd27d49a03c88c56fc2ab9fb96";
+  sha512.run = "32faa121a9a1ae6d21551b01fc953041da3b1d7beee179daf0fcb022a99c15dc519ff2d32d3e8f3294e6b9d7cd5be07a91d21f7422fb85bac2a890835784c588";
   hasRunfiles = true;
 };
 "hyphen-indic" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c5c0f8931de32bd4d9be80647b0465d4ef4f86c05f594989286e584e4dd21bd13a238901defbc0288cf8af396459ae004fd25bc5c97a93f5eddfb32da1a44435";
+  sha512.run = "857d447939444570c5d34639789f2846d33e11e434fb708c2748d275b0673de72b001e6c6c724271496cecae5814e02fa0a96f765cec8df27b719a9e686e2a07";
   hasRunfiles = true;
 };
 "hyphen-indonesian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "dfe94903ed4f1833b092c8082886454fa68c7f88ea7cb5841f57200193b67ff4d3cbafa427d8956ce09bbf43459c6217c38e2dc8f6c928424ff6d6c6786d9f77";
+  sha512.run = "53cc5ef4877c98b5507cf1952cabc009c0c74e3a96bba42cd5742626ba911145ed44cb711cb5f19d37fe93f15e26eceb3027bc6d22a542065d6bd1211b8357e0";
   hasRunfiles = true;
 };
 "hyphen-interlingua" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c794cbd23364be8fa4c961599fa9856262b3c490651ac71b143eb42488ab3c5ec1f540f3ab3135e43e51da80b609bb48d78a5112613e74a143157590b14350ea";
+  sha512.run = "f341dede7a02b24952a18dd26310386f9dfeea3ceddf6cae3e589528991fcf3fba889096b920bd85a20f5405150d374e2f35f520fba693afba52d071765e9493";
   hasRunfiles = true;
 };
 "hyphen-irish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e0699349e773a04d814df103981f37c67575e8a972b008a8c08cd7c138e47036c3b6aac611b4e8fe82a52ad9866bdb27128258bdeeabe71ff5a5954688a5154f";
+  sha512.run = "f0f577439fcc997b0b634c7fab538d56438a670f4f08b7189bddef7d5a88fd842c4595332544ea4ff2bec70d55c67a8684de170db0388a13251f3f5b2079847c";
   hasRunfiles = true;
 };
 "hyphen-italian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ef2c552f3214fb1fa913c086e63badb44c214bc8cd957c94010cea98f008920126e4d226c6ceec918024d26aa0b01f381f76eed2cba4048fac0a1598ea92ffc5";
+  sha512.run = "f873581b4e5f674e4cd37101d89fb3d5099930bff904d2c7a55512ac4dc7dc48e050cd18615bfebc269d894bb46b65642badc7de37e95e6730d8312afff95b65";
   hasRunfiles = true;
   version = "4.8g";
 };
@@ -14787,14 +15121,14 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "cbcccbdedb84404b7b3b02f3169b02a216c2f023f33581ae5cc1fbc45b001a2edc9794251ca47e05efd5d3933697886495a0c2ded6495cfa28146b6aa81e4572";
+  sha512.run = "fb7bc7353bc20cac4a76330afda172f56048374dc231df8cb171f6a8fdcfb05ffe720ea358603df991e6ea34cf83495e573a95b4195f545ca68fce7aff0f5679";
   hasRunfiles = true;
 };
 "hyphen-latin" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "651fd4a2a182969e905cf8f95c5d6443724a0d0abf38e8f7dccc854d11119456a693aaae26265d1e9d4cfa8e90bf63441ac5474139e1bbe67879da0fa643944d";
+  sha512.run = "2b1c40f68c25421cab3fd6c9b805c509686c4cefb5e8de18490fcbe8a4556892fa4e4b692ef26ef388a7a9a7cf690828fcd5a0ff3d2c374276b4a12087e1d58f";
   hasRunfiles = true;
   version = "3.1";
 };
@@ -14802,49 +15136,49 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "eeb3388a92f180e667588846dc50b703480b6c17c9ddf2d69672ead81262863adf6714eab50cf8e7d581efbc21ad562a53301b71aa19a06623658b513d02fd40";
+  sha512.run = "6ebb6611f20d90ffc57d4f67c5fc4987e31da62979342dd0143fb51126a6400c634e9bbabf4b2383ad71619833280c30fc22175d394800ad5960b33434c38c52";
   hasRunfiles = true;
 };
 "hyphen-lithuanian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "c1e3795924af20e948c10fa7abdf9112af8b9043ced1cf7d58527aa17d854f19c9853796301ddf94d430ca51b4978a2cbeb1bd7bfe4d921ecacb1779aecec881";
+  sha512.run = "7f1fc26d4554abbfeeb1da1f0eda68ee163589f519e3eee958fe1706d2dac7ace451da18e0b1ca8078a00319e2bf6ec6da8a9bd75d5d29824760194c1d9cac87";
   hasRunfiles = true;
 };
 "hyphen-mongolian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "6615e5aa44a9493a76f356c8c4915f5143e9de4f304da1c4c23bb4d67831c241f801a0189206d6d0a3477fdba55cacc3f7236f0ee7070b2f64bd28822c14ab34";
+  sha512.run = "0a4f14b167afc1bb4b017978a61aacc40b27ab13f26aae90f3d970a5ec97f2d8b2ddda992bf83488821d2fc58238c4d4197f91586e36f3812271d2ff5ef66663";
   hasRunfiles = true;
 };
 "hyphen-norwegian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "b85d7524362dd37895a75557d55560e3d7d805c7b52b278cf2328871dd91d51029fd7e316ee8ab3402751cecf0e649ec340ef4395332fce5f32f5ea340c83a37";
+  sha512.run = "3bb97aef0042c3d863659a3f8921290ec9aab46f731a6908262f7f35f3843a4b2a0caaaa1d373d643e1bea43ddd57ad85b3c0fbb9a576461bcbe21fa8a067759";
   hasRunfiles = true;
 };
 "hyphen-occitan" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f96644a2b355162b85cba1d6092babf7cb8e0aa054d5c938d59ef6e9dd2b17c00d25002a6134d739bb4dcbb2694cadb17e4c055c8a6f7d43307e3f88d056dd5a";
+  sha512.run = "8bf003921d4b93a73013e7511d3ea0a11f1f9a1f927e46ab59e65952e7e51ccac69ccd52382e37785a1136426835d7d88ca71241b29ecf7a1d582e2294f449d7";
   hasRunfiles = true;
 };
 "hyphen-piedmontese" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "69bd64098ed11d8d65e0a3f0830835aac0c11a0d725f68f654f3df051675bba7482732ccaeb3fedc7ffd151f142ad4a4c20c14b0c1b10a8d3429b9384de55842";
+  sha512.run = "cb302bfcca925b09ee9ea9f24014249ffc48dfbe16d3ed8c4a4503c036df1a15af457e1a1a3069d4f8f00c511d4099cf1a3541854a992b0ab5f0825ae1df378b";
   hasRunfiles = true;
 };
 "hyphen-polish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "026e5dfa3f1135ad5399e45caf0c144309b6115f083564f377540a3b976f2faeca79d0fa91dafd12a16f638c2edd73e133b0a266d74be6ecc9d3dcee3bb97292";
+  sha512.run = "c36d67a9ed57e6fd0d683ec1c8b86ee6e1336ddf8103c430d074b71b0710a1fe64e7915de32eb3a789aa42b0576d286e11cff966024e6eac83b80315101df529";
   hasRunfiles = true;
   version = "3.0a";
 };
@@ -14852,21 +15186,21 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ba46c6d0f04e84be4b22d23d7fbeb8dde5233a840ef68e94b93d2cb555a0fa887c529295a4a8470f824bdb4ea0aa30d34e7e2c6ff07482511b4e90397f11e43f";
+  sha512.run = "ce865fa130f7d616aa0dfaf3bdae399c360f624245fc4af156ef4deeed254cb66b549cc64ae5727bb5f538ad9b2613bd2b4ff64ac0345b8ba59dd172e778e01d";
   hasRunfiles = true;
 };
 "hyphen-romanian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "80a689f7d017cd1a3425692558fcf7e7ca757383e2475c2eb161905d80a5376513d73579f70ca0a03835488845bb85a8678ca1c8950d6f472ae67a1f5b64145f";
+  sha512.run = "2c49bc2a8ab1dec522ee37a0e235b4dcb327545b072fbda972c68c4dd7faf8bd029b74316861168352effcfdcf022e37c42d079f71f5e719764ea2ad50d294e4";
   hasRunfiles = true;
 };
 "hyphen-romansh" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "ed2a1f86ca94fc7419e9c87e3d920c4e512593c3fd37ce4df57e9f48cc1fdead0be1308566b94ed66252777da2324c66a4b533ab7a7ab34698d0d701dd881a83";
+  sha512.run = "d2d107149d51fbb76813ae495127b1965002d38494cf933adfd17fa613db8658fb28d5303222e289e81c56639ff40001b73804474f7d8b09a4bf763286d5dddd";
   hasRunfiles = true;
 };
 "hyphen-russian" = {
@@ -14874,22 +15208,22 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."ruhyphen" = tl."ruhyphen";
-  sha512.run = "25af63ac4ee4b2bb1cf3d65731da5f385adffa350d81b0d03adf58e88c56a93da1f39195559c85f21bc98e6fb1d864c793a4c9cbbbf08cd766ee8659ef02c864";
+  sha512.run = "b13290533a666b3377f9d0fad9d441f6475a3363e32e3675ab836402ed03083b4a1ddbc2fed946e7e7d048a4ef9a8e6d13ece7c98e77a828af3ba6e7ef14c0cb";
   hasRunfiles = true;
 };
 "hyphen-sanskrit" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "516a437492eb1ecc540946eecb66a7a90a6eb5242c7b8e3d3a33c6c983a963640c5cb01aaff3687887de91cb58423be43882a330386ee8a0dc25c429a2830096";
-  sha512.doc = "50bc18b1d6f17e0c1dc11caa6b55b8d487a6a80960c45ae54df3d3a6a6b435677bde30140eeaa9c981ee5ff03248ab94ed47e3a7de9d4d012b19e0c6d9a9ba79";
+  sha512.run = "5dc85b741c8658af4c9ed02a52c394be315e2a076f91a98ca44254bd7006f585c44539f1a911b6d63fab17e2dee7ef89cee74c878348115eeb9d7aec2e253595";
+  sha512.doc = "b93af3eae61de575fa8909a8cf39bd190585ac702577c76df655ca94fdc3d1d5206d4017c80641e5351b894cef9d214ed18c3d5cb1a30f5e06388445724c28fa";
   hasRunfiles = true;
 };
 "hyphen-serbian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "4231cb5e4392d4d396ef6856deb3597521ef1c38e9dd4d1ac5d353c0eaa65534f2cb3f622e80cf6524bca4bfa045cf1653ec19048c478bc48ab76a441d057602";
+  sha512.run = "979ec2b533f3bc90b672a856237489b78e11e1f78782d0c14320ad38da08514ecbdc1b7d3d42930280324c36717c11fd8e3d57bfea74e3fe257fdd84138a144e";
   hasRunfiles = true;
   version = "1.0a";
 };
@@ -14897,23 +15231,23 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "895c01f0ed4415f6342d22f89d791b5db07eb3774c9140ef2162dbde2acd25ecd3e405cc76c06d6028453f075dac7a4bc8e81e798625e5c261745c593cbd7815";
+  sha512.run = "08ddbdfd97d005f69829477f0f269c168dcf68ac2adc278eb91db91a9e61bd8ddcd3890781ddacd623a12aa6698e6a46651d8e26bf9bff3a817c655448f1747e";
   hasRunfiles = true;
 };
 "hyphen-slovenian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "84fd62a083cc96ec6337248ae5ac4d806a3685308752f7ef19f2d733ba5ddf65686f5ce9f295f48b609f296ad8199dace9f1790effbbc89617e4e1ae6543f8aa";
+  sha512.run = "3caab81e3d46b889c1f72bf4a2bbac5a03ae6581eadc919f21eac47af8defab69a7fe3a8e975d8f578cf4ec6c56458f78428ae621fbb2334a605b3480426a833";
   hasRunfiles = true;
 };
 "hyphen-spanish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "71f4d881980d9fc4f2f6291e7b66b3f97f9d9e388349d0f2f623733dc33371f3c3ead63118b7b38b287bd62f1e1c7194817a151f3bc1247f037d41333c07b817";
-  sha512.doc = "725f7696d116a64faf5ea76dc77434a591a84c732fe319dede682ad1f47d575111752b7e3218ef29e9e4605cacfe69871b57d4f13f150184108647449befd032";
-  sha512.source = "8512cbf33551fdb8b30a22c8d8467c8f349cfa80d2d644bc2eb5bf0e2f251c6139b311fe88076690e2d79d1686471c548fa535a07446f4c8971fe8608a544f26";
+  sha512.run = "171417a27ac9303f124cbfe5e2c788e11148426a16336f2b2f3f9651c67090b6a72f32ed681a7415f886d5e18f6075c6ee0dd421b22240d6a130897865953488";
+  sha512.doc = "e52e6f19134c653772b6b36a37b00a6a1b83ccc93716eeb9215b1d7677a1df5d203493bceeed312cd668e4de123249b41368b4c8d0479684b9b5099ac5ec9f75";
+  sha512.source = "3e010822e51974cb70c8e551d0bf31b13c754d3290f04e8829dca6642a0135636255a578bf50ed2642d3aa383bc6acadcf11d25c8184833d692817e518a83e84";
   hasRunfiles = true;
   version = "4.5";
 };
@@ -14921,30 +15255,30 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "277c4ed950d8bd9ceedf7adaf058acd11808873b9022cdf91e7b495236d30c9a50ae9814f2648ae88f6980b43d33eec16669536271ec3931da22d257d9e2b4a6";
+  sha512.run = "bfacb0ec44c522f993000db583d495107da1d98ea905feccf36a3fc517058feccc8f4868065bedcb6dc64f0c6af7f1a2cb082179b6d86f15befb4c712bf5bd31";
   hasRunfiles = true;
 };
 "hyphen-thai" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "16f4b2503f64ddffc5c6eb1aea4786861c5a4983d53d91b64ef8a18c1bc2494454d07e56e3b60a050fa6516dfa4d3b36d4600c2211992fb74ce3aef220ead8ad";
+  sha512.run = "4c47391ca4cde10be3bc50594eaf506172c0cc12066cb028073845868639e1ad18dc6d57dc418176695df1a7cd7d8ad29f3b4c007c746a39026646dbf2b07123";
   hasRunfiles = true;
 };
 "hyphen-turkish" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "e40aaee7872ec2000178b09059b97c1376934bc1dcce5ebc8e0849210f79592fb705ccd180aa60e2fd85d9aa98d5ed34a06fd663b5bf5c3fc0345bfa28d69cda";
-  sha512.source = "2817152d247b1bc23f51cde0acf43a7819540df1d681e76eab416571e54bd6e18f20b94c6758e41b8891e27a3eee29591a6aa475397c6f77570e16970f9a95d1";
+  sha512.run = "d65df4ad0364fb7da5cebe9f39a2351671cecc49d050882399630975c5ac468dd1e41de9609c0581322937dd683056335fd78c7bbb1423610441e0bf4acfdb72";
+  sha512.source = "27a469eccbe748ded0466c4034dfaf280bff3e6448aa828f2411bad7b9ac8e875f172eeeadd077670f851e4650600c70b222b6325dfc3d362b6737bc988a20d3";
   hasRunfiles = true;
 };
 "hyphen-turkmen" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f58ac32ff3c9f893ccd7556b302a65bb02e3503d70b04ab187ae7d52deda672182559f31aa4edd4b82d8d05abc35aa59905936ff02928cbf059053ccb25a701b";
-  sha512.source = "3249a3bc2c0641ef970eceb724bb6b57af9ed4d8d5969f748be66ed3e3ad812c3c4c87a923ab3a0b3f5e887b1ad135ef10c5bb610003d27421e88c094639ddee";
+  sha512.run = "e4595aff01856c97ec6bb178a0b045868e2edcdfa23cf24e20942b4130ce46ad42d7ce6f13edc7c7bdec2482b29d21a0137f0cc8b77c85e044d85fe3955aeacb";
+  sha512.source = "dc3e3f607c25829dbaa3193ea92ea16dc86503189eb19d66738c0148507f3db9cbff0b2a0700a19ed994e7ad518aa0938c1fb4fb28bf8d6c14c2b82cc130e6da";
   hasRunfiles = true;
 };
 "hyphen-ukrainian" = {
@@ -14952,637 +15286,652 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."ukrhyph" = tl."ukrhyph";
-  sha512.run = "4327d060f725d74c8c4dc56fa97376f4e4e3c2b375b1a05cfefb14fee74321d2d2d45dba31edb2a98e5eaf56cd88b9a7599524f7c8857602c3df59f4100fb205";
+  sha512.run = "4aa80aa8365598bdcae2f7dca2a1c7ec7b1f4bf4a5ee434e2e8684263478e6b1346d18c64756fd40c7007f73d3e69c71f2868862cae0c983d9c9eb9e645ce237";
   hasRunfiles = true;
 };
 "hyphen-uppersorbian" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "9a1ad73341636e3cb46efe63607c403a11a1cd38922b936d34ec5db160d100054fca940df6cf1726b4ed64f4cd1061167fd067297253417a0fa639884d82b195";
+  sha512.run = "b60b36ae0816f11b6064285d79098ad6aac605bc1b20bd97191b97bb10a28b445e0e71d1ea2476c0731a72d96c20d114d640c3d4471d53a8b6726dc089377a0b";
   hasRunfiles = true;
 };
 "hyphen-welsh" = {
   stripPrefix = 0;
   deps."hyphen-base" = tl."hyphen-base";
   deps."hyph-utf8" = tl."hyph-utf8";
-  sha512.run = "f9043b1db0199464dc7df43c455fd577723f5093a683d23a39639364908091bdcdc21969a0ea1db5105b0410a1062e4bd21449a528e9c9a23741ec1189164df8";
+  sha512.run = "e4b61366f67645bb8ed2b848a246cab0c267dc626c7a033627d603c91b7061259d2b95e360f15672aa03197b198c4a45152df4dc88f923fdbf8c1ddf92a5f33a";
   hasRunfiles = true;
 };
 "hyphenat" = {
   stripPrefix = 0;
-  sha512.run = "e4579c8c18fc6e42093da75fa532a318c0a3367d566817c545c9c980c661f7a3ea84c730ebc8ea91a9373755d98d5376590b025fde5fe431d8ce33be9a373122";
-  sha512.doc = "93743c1a61c40bf476f8390ac232ae1ebf0355b896f8f89587f710c58474a014d834e3a360e0f8f6295b67ef4137e94ba0bfb0517117287dafcdb1fa7754399c";
-  sha512.source = "3f9d367ad03eb4bd5e364af27ed8b242cf2d2feab3e69a283753c7f83c285491302468ecc4a3cd77337b6d72216e02f86489e9f932c2b3d7b570e8dc4a10df28";
+  sha512.run = "5af847cd55cc1b455b1928f6ba275054209ad5c9c2f81a7ae648d87eaa39353e842b2df4e91cf530909a46b4aa226228978d771b35e46b7e12f1a08a08faa181";
+  sha512.doc = "57f8a5d71763cac73635fddba75eb59faaaed01d47bcbb7ecc96b80fa5a926bb0091d3cd3448c6f53ad82cd44c9244ee631fb5b56141351b578cd899509eb323";
+  sha512.source = "781337dbca0ecf6155221b768ace1fec364bd1ddf29e3df36b2da64b6137a09996423466c8241cc5107c3eba056b4bf5c54572af77e781fe8e1e7f02264d9577";
   hasRunfiles = true;
   version = "2.3c";
 };
 "hyphenex" = {
   stripPrefix = 0;
-  sha512.run = "e600c6c31be4d174b62d12d0a9a371f8a28d261977fc46291ee3cdc69677608eb4babe6727af9abc2aac7a4441e82960c8b52741ba4fe5dd46a62647c6eece17";
-  sha512.source = "748950dc28ae855cb277aa678559e375d6d1de8f107b8f531c55c8e5c4ab87fb9a330c96e7be4659f79ec2643092b87387379d959f02468b64250de2307a485d";
+  sha512.run = "dfa1f625e736c2c4125209552f084fbd5d64109db5dd5b8f37b5add3fce90984bfa5db855b581396ffad20b1f5a3461cae01e031c086f7db5dc98203bb7bf8d9";
+  sha512.source = "cedcf83033a5aaebb44a8270b5e670b9db2fba2b8f65925cddee4684bf50fee5dcadb02921b04288d02c91ca3d003c8da143c7bb1974e7af26b1f392dfd4283f";
   hasRunfiles = true;
 };
 "hyplain" = {
   stripPrefix = 0;
-  sha512.run = "badc61562fb6c305b47d4d58a077a6f006fb58fd4bb216397eceb00cfe2d6baeefce329e780db9e8d89e4472539ac56af1dcd66af8ddc6a6e66702616d13b377";
-  sha512.doc = "94ab39ba1a75b3179c03f94df475407a8cb03d0aaf6bcbde0125521e1855622e3d84f4e1c2d4b0c2bcc29925edbd62b3ef0ed7f6f68ebc44d31f3a7594ed09cf";
+  sha512.run = "f2968e8baf048329d8c78934770aa5d0a364ac7b3f77dc00a163e085e4fe45420c180acd05b281016aefdfa6523bed234e75ca07da0d133438798c1e51330d83";
+  sha512.doc = "cc64c35df85ba832f18f153d0f0cdc9f153ac4a9db0a175a1961a353f59ba585e19b6607e0c4cd1a832d921aa3451687427965cbef4fcb2a87488895e6643bb3";
   hasRunfiles = true;
   version = "1.0";
 };
 "ibycus-babel" = {
   stripPrefix = 0;
-  sha512.run = "0ae5a9ad8480aad9bc2a6e334f818c973462df46eb2263f0ff43c7e42ad235b136a6eed9aaef027fe11f9505458c9a546960b4f3e12763739bf672dac960b935";
-  sha512.doc = "26adf6ee7bc0eb7b7da825d6574c72d1b0cbcbda92dcbbd8691ca0433124447ff56609ebf2c89334bee23e3830a8523a08e1c1e4e7503033df7e36efeddb7d33";
-  sha512.source = "db5efc9bc39da60ce12c507179791dd7f55c55598fdf5511d03048a6e3847cd37eadeb45e34ece14eeec5ce98372694871bf740e3833bc35c752bedea65ca22e";
+  sha512.run = "30f810bd70555df4f05fbc0b073456c030a0768372bd3c681921f41fc31bfbe0570a39e474ab26aeeacb142622154e5cab3714412b09f89d1260fae8b60e817a";
+  sha512.doc = "f09dfd00f35f653defd756b72437dd712ed1ffceb05beeadfb34c1c5163559ee7c0ae6ce0420f57b722e93080248cbcfd678d811f1383fa5fa1ab76db52a060b";
+  sha512.source = "13e3ad11b56a70d7752209feaa9437bda4979c40a25597114bfc5b4e26a889c623aa7266959a212de6b7e74ebe75fb38b36767fa95f692adae027e5d025a4702";
   hasRunfiles = true;
   version = "3.0";
 };
 "ibygrk" = {
   stripPrefix = 0;
-  sha512.run = "07fcb4978b909a1da79032f73aaec4c05c2dcd4251010637aa15eda6b79e65c7f7792287894dd87ba7bc4789ced8fe61a8189ee5b0eaa654337c4f9f41853917";
-  sha512.doc = "8a1897f6a0231564896be560a5beeb0cc732fe30598c6f15d5c3f48abc390de389863ce7eb5510f187bee63409bdb818a38b404d675c82c7b71bd3c1ee9d0e0e";
+  sha512.run = "89002af0024ec804ebffcc45f3a33337ffdb66f71e1ca70224b0936388892dadf99605a8ca3f59a2b879e76e24acc91b1da92622d602f49b236aecb8aafe64b9";
+  sha512.doc = "9dd3bd7a8ef3267965f30048e4a71314b6a9813cb400b7a94dfe285606d7554cde80aa429603d0fb1f587935e193e5ece5ed67870fc4e0c66eb5152c392a9cdc";
   hasRunfiles = true;
   version = "4.5";
 };
+"icite" = {
+  stripPrefix = 0;
+  sha512.run = "1a71e185bf65c65f64ffe49d4b7cda415bdec89a7f92fa45914c0adccc2b1430f0022f9c789c2e13c2acb0a780ef90360a22247ba2aecc171a3fc6e06b8f05b0";
+  sha512.doc = "efad2e573358b64b6d6146fa80011b033e4acd7435d9b0e32778240cf8051c732f1617614cd4ab56c91a03260b203084aa5c15c03208bc86686ad18d2c75e93c";
+  sha512.source = "a0c728f3896f269ab6f91945e1ac984bd3b6774525567f8f196c46ea8edba2cc5f6e6886b26a9ecbd2b1452e9980ccf4e3ae7a7a5dee852c073cb9349a6a874e";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "icsv" = {
   stripPrefix = 0;
-  sha512.run = "5814a58b6702f9f16464cb3d199f9f0f1a3178d0f1ad9b7fffb828e0750c99cb90223c848fee35e4ee8328206f02855e7eafa9f00e406aec5c2c260bda89048f";
-  sha512.doc = "7fbe6c7f4af905b54864fd3dfd9f0a15d832b5a09a6cc4a7ff658da9c98a55e689b78842249fe197cdd32629db53a82e3181d18880dd1b5dcbba727fcc4ac23c";
-  sha512.source = "5c04b71a1778e2b79fe82045d04f6fe4c68c8235e29d7e203402918e657517c8696673b12d3ea6e420eadf45d6a844d5e77a32b9db04fad4004c0c4606d7c97d";
+  sha512.run = "e865708ef636c7c917cc9a870eaba4b8c0249acba01bd2cd3fbfc9d95672405db133bbf0faf9f2d299bc4024118b80b4354ecb8216427507f66817cac085e01b";
+  sha512.doc = "dd06bf5d8a087bcb20c63a61cb9867bda3df35e8adf30a3d4ca69ab149772d46e3b83f168a8fc1c597aa2536a14b98561f42226a59b6663f58de4e338f9b4e82";
+  sha512.source = "9ee3fecec68c7719a39d83860e8efaca3f5daafd82b9ed06af9ac38ffa3659d03f7ecec5407d568ec5f071c22c0cb33166449b64757be7b740943472d9ca1941";
   hasRunfiles = true;
   version = "0.2";
 };
 "identkey" = {
   stripPrefix = 0;
-  sha512.run = "58f83a63dd1d30c6c26e76e1bb81907b5d9ce4c7d520748b2fa5414d4e1d295b73e8c8d647c51f1a11baae0ba55392941f966b0f7dbf3452085f1c0f2c1c677f";
-  sha512.doc = "1f291f54e798f2854907408559d1d6cc93e07930fdbef3a123e7b5a5f891e1834b01a0646885a3def10279803fb71d508a0d7c8a1b085a6c11a3dc2a17a2ff55";
+  sha512.run = "b04dc4859826ad3f4fc4dd4a9b19abc0f6125d66d200519652a130c522fc6b49de8565af73f81efa9e75d592036ccca6d373a368e66526d8997dab9d8a5f806f";
+  sha512.doc = "c676908535a4a67efd8569e81a1d3ce5a47bf7a5ec755e87e62830e370fa3307bf0d6a84f3ec7c399bca3cc365f97469393a6fc954bf83b2e2fbc9eda9983811";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "idxcmds" = {
   stripPrefix = 0;
-  sha512.run = "8cf7ec540377800924d9d6414fddfc3097e9bec218f68411d75bc566c412dbedd0c988c40b4d01a8859250e11bc6bb4d7fbf5f3772b29c8ac2a6a1fd530ddcbf";
-  sha512.doc = "99f5164839a2a3621224e2672185609a59598aca6eee0787e382ab5d973e08694035dbe539b7d87c4f856d8066c7484679afdd575cd7cad4d76cdcd647f54b54";
+  sha512.run = "ec7d58e5f52472b0d359f84afcba179ce3428638ad8c45293b7de2346d4ba84c3b22792bec27a10328dee9f0f186c2536d562ec47e9f6aa2103e708788a553f3";
+  sha512.doc = "9c55acca21ba10f051c678f0e59d68f4a1231c744d7b470f7a905c81226a23ae0eee03b02b9466b5fb6c92af1e884a95d1f6644401f83a50441b7c77becf0874";
   hasRunfiles = true;
   version = "0.2c";
 };
 "idxlayout" = {
   stripPrefix = 0;
-  sha512.run = "a57b765fd4129a83f119786c587e8cf00d3ea86de7add0858b4f479aa3645a28b68b2bad1d19bad969ddf9222bcaefb1f4950d06931a2f4b6a24e2a1480194e8";
-  sha512.doc = "edbb6e8c35967ebc4425f787a7504509b43ddb2c5d61bdc85cb5586c27bbe893de53c712af3f76e1ed5c895bd458ef7e36b6636dd8844debbedd15b526926678";
-  sha512.source = "3ecffba6b07096ee909d3788d2327c0b69fd7d22bce3d70ca903e3314f0d78d33c5e76722464ebbf8021739da2d1749f7b847bafbe8a18fbc77fbd238087f4a7";
+  sha512.run = "968d869a0b635b14ce8ce85e710c987ecd8ea2efb97a03314098014366ece450b4566d626031e11b52d7ede53a019665640fc1626dd1e24651275b35a8f2cac6";
+  sha512.doc = "469a20893247406856f15dad6b14050e221299dc2adc40f1547361d74d3f7ce90ba6eabde06402bdbe22c845119df4bbfa8b999931e99c1b944b165f3b245892";
+  sha512.source = "a2fac68e0c6c0f2cc0c9472d9d58882c337f519caa3b2bb088a330bda4f65b43a1acbbdf936e4975f3c628ce1f5a45f58def28cb129a0708a0b4168cbcdcac0a";
   hasRunfiles = true;
   version = "0.4d";
 };
 "ieeepes" = {
   stripPrefix = 0;
-  sha512.run = "a0335c98433d3673a68c421b8a561050b9f20b29581c87c70806adb6a34ee9eae5c872978f6998ebe5146576c6684f6c56ac99e3b151e68c983ed63c9d7764fc";
-  sha512.doc = "b5ccca4fc4dab5e9f2aea77e9b09992ef34c58f41d3e8329d9a90bdd134814102bc5b25c6fc44822e3fa28665a2d422e3475c1a9a05739096a0e02f9df9e9922";
+  sha512.run = "60ae4ff80be5c2b02e2ebeea5954ed61b73dbc085a4d282004796d9be6038cc7c8020b7c81226d7dc7b121683e4196e461c7c3d101bb460eb8c39bf2da179bb2";
+  sha512.doc = "ae2413800f1bd4c0467321a7332fac15a8010e31ba7a4effc0fdb44e9e7a0001ba62d6acb44a72eb6f996560ddf96231b7355c4b9ad8b816be102a143b7c8011";
   hasRunfiles = true;
   version = "4.0";
 };
 "ietfbibs" = {
   stripPrefix = 0;
-  sha512.run = "1039f113f8ceeb0745fdc73c8df27820c453de8eaab2138163d6e8bb7a1ad66e6304f08cb80bc7d3253b9b7c6729746a5eb2610706bee155d82d67f3a5add799";
-  sha512.doc = "ab8df81de97c30c61360459e95eac29bff764e3d0cc334d45ee476b92eff5988bf0509ac2aa270c730c1cfe2171ba27545525bc8a3d8950271d6d6a1d1488647";
+  sha512.run = "ad8796bf4e492072dcc9335f913ae2b5d81f2152289ca76cfbb61a63577c631bc38f5cad6860aef47b1fb54c02157f509c23c3f903b34b8e7a82b8604eaa449a";
+  sha512.doc = "586dc66004dcf4abed254d223394badd45557d79c7e1b56bd20080f41185ea8dca28b3d501e708cc3ed4088f1368f153ba2d2af313d5d6add2d072b46954952f";
   version = "1.0.0";
 };
 "ifetex" = {
   stripPrefix = 0;
-  sha512.run = "244537aa156a2a6a2b09b3ad2afb052fa71a7f1ed4f2e5135ec4b3e86de48f6ae5caaccaed5df0c928d1c796b6b3eaa412d00b8d89a00c9b5d65b8989066606e";
-  sha512.doc = "8e30cd47a74075af82439c1c07d64392e1977072cc2200203492cc5eb01d31a74180fd5c0fc0fc71441175b3c46d9d5cffe2fb7998729b14f918ca62df741390";
-  sha512.source = "edd3a2cdd20b08657c76d93bc53d103784f8d3c74ede88a896f48a0be90fc71f064ffcc9e71a650d1a1099d5f59432bb2fd7f2a3d067fefc3c40d8255c941f08";
+  sha512.run = "0f814eded272bafb38e04d7df845f002382c1f87854f8eb8dbe41e964383d3390f5f44973d0a23461568700b7a3ed0f837afaee360c996fe17fd7b2473256cbf";
+  sha512.doc = "34741cc3514404ed1327c8c621926cdd2c24a5ca655c24b9e6157e0623d61b4e2d9bbb7df3bb396251e564d59eeafc9eeccc5509914eeda931a43b9d8b23df94";
+  sha512.source = "4904d2d78dc8cf67cb3d4b2498b391f290addac86d07fba24a76dc16446ed10b18061dd32e4890fd0344e10bc02302a13cf3a16cedf9033591f35f0bb4ddd00d";
   hasRunfiles = true;
   version = "1.2a";
 };
 "iffont" = {
   stripPrefix = 0;
-  sha512.run = "db81318951811058cb3d447122febba2c8847711d21fec0deefa89e46238d60c2bb53f80b91db4ba17ef3dbd82b8b43b13607b6e87517d21af4ba85e6a820d51";
-  sha512.doc = "5d5a52504d3ca36400ce4558251df6f3f1b6a2f0b7a1b2ce9f8ecfd219505e4aab90cbadc30252199afb3f9d1ea3054b10edb03c031ede773d02f67f67213b5a";
-  sha512.source = "f2ff5e2092e4b3da61622d8799c4924428d95cd727a81a889ece6fcc8fa56f0e09ecd5773ed0e837192ebe5bc53b7c5758a002e4ad5b9b660f451ee6a631cd7c";
+  sha512.run = "a2a329da661f003edac0e0bc701958e0744864f8693ffccce7f1ea6867eaabe7d71b38a1dbef8bc27f770e8b4c30a4480ede1dd575d26860095575020db987f6";
+  sha512.doc = "95a8f7357f095dc39ff642edeb6d7df206c37ef01c14a1daa280939d44047c5a935eb18049c280ce00238ad4fdfef6abe7399dd8c6fc815b7c70b22072465453";
+  sha512.source = "2a12158850d95a2008e5a845914293cc9aae54dedd54e4a13a27899b0bb8c272e43bba374447b34913f7b4aae01aff9b9fee981240bed93f8995dfc53eefd2e5";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "ifluatex" = {
   stripPrefix = 0;
-  sha512.run = "580a54225129c2dee8025839b91f9332b603b478c7c3a57aba69e6dfa104771d8a30767ba586a83ab548c95bbaa69026411e2e2a2c2458ece60af0c18dd59e4f";
-  sha512.doc = "a343c5cac8e83cd2adc164865b54c3c34bb1f8843cb6a6c58a4c718ebfdfa716c4e95e087dee3799375c45ff03d4c96fa79edc214a058e4dfc88c164cb02db75";
-  sha512.source = "0b729cf2da8d5e2f16919b882eb68dda93452290fa0d7d3d33c8faa1cedb5151f2f5848e0f2b96061c786aa750f0c223c20dc856740aaadbd7b42a50481e3abe";
+  sha512.run = "b381103b0f9bba985d7d8eab15082207ae5ec5b12c2f656101796a2a6f5ba023ed068ce06bd9e960b23d8182baa3c3d24c63050ac35a924fd94b5b8e38024bcb";
+  sha512.doc = "12fa539de223618275f3484a7c803dfdaa3c7ba7deabed7c591605beea2aedc88d48c2b66606c4d5a208324a4fd385474d911e4f6489d0b68f56c504f0e459ab";
+  sha512.source = "221972938c4b52a57b569b0729f04b517baa703a7e9cef14335512ab3a0a401bf0c7a131b8c7af7c1d6727073d3c2f21c9856608307eb612ad2861d5fa83e40d";
   hasRunfiles = true;
   version = "1.4";
 };
 "ifmslide" = {
   stripPrefix = 0;
-  sha512.run = "63a90be74e2fd845dbc5b441bbead45f3c274b78f621734ddf9de71aacdf9196715e3addcf935755fdb24b01ce9578960a9ce5bc897a2b6a7dea101c6fd544b5";
-  sha512.doc = "948abbab43264427cab5718fc1cb8208f3ddcf0d027356c473815855271fe3f2e12b3bc5709ae1570668744c08af062e84ddd2549ed265b13903c5793fa95d4a";
+  sha512.run = "c9027b8bb34f15e667e530a8b8d57b793ed16a7ea33feabe58f22cd71230945905054e01853561f4cbaf5fe22f4aa140cbc95072f375d567f57bcce3c4d07d09";
+  sha512.doc = "4e7a64773cc1a14df0d2f58ae0b66d1769b44958bafa8fdd4e51bc294555e7895632b741b47edbc29fc5f5ac0ddd73dddcc16723a7297c12311d3915e88f633d";
   hasRunfiles = true;
   version = "0.47";
 };
 "ifmtarg" = {
   stripPrefix = 0;
-  sha512.run = "fddd696d0df09f2563052789347b9718fb8fd47cc7a985039611d66e5662be89bf2e52edfdc9a87d104947340f0420b008e12cabb02ccc257069ce0ecb5ca25d";
-  sha512.doc = "f2508fab4080f3f7f042da3e124c2431f8f1976967efc06db09e7c8e6e2eb2034beedc73839fb2c1d8453ea066e5e6225c399c6ae2abaea671f58e669411100f";
-  sha512.source = "0d98363add45581481a89c2e18115c554c2a97a4a5d0c9c1a4846464bee5d9cd8d30584c39a80241596590e2e4486afa782aac0b4076a8a93d705bcfbaed0a10";
+  sha512.run = "b04aebac5acfe90a149f417cdf0d45b3a7cbe53d53d4d9f39d5badddfcb894e07f397933199bca702f3f0e66458133ba17feb5ace2ebda4a25bb24bf1af5d259";
+  sha512.doc = "8f456c15ecd5090d2124a85b02c1ad100dc999064b258678cad3c444acae3e88b95e38f7ad1785bfc91f385d6bc1664c0b58282d5ef36e6cff9857b81176ab7b";
+  sha512.source = "e30806ba6fa85737f67dbfbf7cc1556781bd4cb2179672e5b9980e7f625366d5627c69411dae34a9e1c0fc29c16acaf302c344d9d93b9dd4afdf23bea020cc63";
   hasRunfiles = true;
   version = "1.2b";
 };
 "ifnextok" = {
   stripPrefix = 0;
-  sha512.run = "5e84329bcb92190e0ada853b0448725de1f6c6071e309677d804437513affa16e1862ab070e31970f174c7b3a0f6d7c7d0da58d8d9cbdfc584f342cc53987420";
-  sha512.doc = "ba0fd47d517c621f43982a70f3e1471d3e0719f6633e0e7b2b454f78a1e213f1e26d64a5b10930d54a8409d255231b88e6b7a75c7c59649844d0caa3bb5e9d98";
-  sha512.source = "bbecfe991f67b53b7ee3d3c5a3da39f9167096cb6d11c7d04e2b9a2f8c4be6d51cab801a35b34dae6cf42516eaff035b1434de24fd624e5f1ac7c7f02016c8c6";
+  sha512.run = "a56c703e1830fa64432d1b3aa72d3dff52b17c0e5b90b2cb34f7dff974e51331f5d9daa2b5aba578a8bc4a73b693c9a3dd811c6d7e32379165cc7ec1349c541b";
+  sha512.doc = "1eeb8d7627ad8887761e66704a8f3c848b633a4f3a5b094626b3c64888e6db95c25b8dbad4332887a6d9e866e4aada2816b7c7e7fd19c07dba03db38842886fe";
+  sha512.source = "05422af6ee53e12ad124b314388811490304c5f42b81b17aa899e7cea5c548395043abf4abfd0d4819e6338b6d93e99c57929d18312f49500f0368038e440495";
   hasRunfiles = true;
   version = "0.3";
 };
 "ifoddpage" = {
   stripPrefix = 0;
-  sha512.run = "c8b7cc7ae1ee1ba089c5b754c247a7de8263c71d913cba5ae37f772048944ab025266b5967e36395866d97c13bf614453b857ecf2dca5ca5197d443d2f843141";
-  sha512.doc = "8cf77f9deb7ea57f9ad18f240cf6bc1233948dd1ab296d8d8d4334ab8860b33d85bfedf952ff328aa8873dbfb6eb9160880adf2f7d61dc6749c3fee8d944d49c";
-  sha512.source = "41c35dde706a70697ac0627427d0a656411ea78d4ff01ba413b084eca5d09509ae5e412ed1e397f4bbec21c62e717430887e759a95bf0dcef1d58c297cfaacc3";
+  sha512.run = "f6ab9abdef81cbcca8728bac7e1f94e2b72e5db6a8e17ab13c8d56477e98fcf7fb20f006012c3a3cf815378d8bc9c5cc4d39e2767b7d634d1ad99bc24dc1d1d3";
+  sha512.doc = "80f1431a4da340b0b2ba6f396c618e2923457e95b5de01018ef7f95937e55814e3c3e96b2f45f18e971fddd29021a16852b57bafd0b1ba50cf2626b4b784541e";
+  sha512.source = "dabf25b7588f3fe4dc92c4a4e20f2293ef62878d60f1ffa01e1e9efe564b930d7cdfeada5f0e6765a88c46d55aacbbd1dc692ca26168c86690db6c229b79836e";
   hasRunfiles = true;
   version = "1.1";
 };
 "ifplatform" = {
   stripPrefix = 0;
-  sha512.run = "22339a035bbfd771e38b78cb2419a3a834545f037dc7f11335e9334b43ec77679875cf696caef246415cda02c0848e0d96ede820a7817e738bf9d9d0590a1a3a";
-  sha512.doc = "b5678b1de625f1afbcfafe997c8dae7eda021c24a997dc08c02bfa07d89d9a3f87b6fc4c563922b602de450778b7c8562c5c3c784da34a889e44c3955db3e841";
-  sha512.source = "f09c3c8b73d4f2fdff8bc892d547d08e790c33aeaad3224c4e33c4f9e9b4067be340c6c681af849492999195938e908e32a417e786ff79626fdecb5a0be9ddff";
+  sha512.run = "952f87877c058c1e8ba3df227ed7332501e7861bdfd2a29878dc4b14e6b95a1b116459bef7f65c5bf277c95d08120c7e9fa9576a7654739e4a26125ca4d5c724";
+  sha512.doc = "520004cfa412c2a24ece0e00b11d457405e71a446e554a1d930e60ea7dbd00f61b2b6a7ecbe89b62610316fd3b6fad685d7013042fa71fd7fb270b40748dee56";
+  sha512.source = "a3c33b16decd5fb443d9b5bb13f3a5e0ed56705d353b0260772d81f963460ff7e914fb1d7f4ee24e249bf15af77368ddc6fea49014202389baaf035f2165e17f";
   hasRunfiles = true;
   version = "0.4a";
 };
 "ifptex" = {
   stripPrefix = 0;
-  sha512.run = "0ac89e0f49ebf958b81c6907d4fa2d02aaec512837f53fa0b3ce7e7b12e9b3926c54561fc13650a6d63c2708d5d46917cac39c7548547b8b7e002a8de219cb53";
-  sha512.doc = "559a451c6098e1431599b03258c3c067243b9d97a7c2c14f3c2b14d2a09ef3fc66f635537805e6281d9bb6c4a64781a612ab286189697904442a2dcde4f64a63";
+  sha512.run = "56c72a37f02e87817736a8c172bd031293e63379a15a01c727f5d0208e6bba1900e06383bdb470d96edec80f5151eda05c5ee28bdbe37943e07d6d846f0f2a93";
+  sha512.doc = "47aeb2a9e1f9b1b2ec102fdfbefbc932f0a0b5e7c89819609b5b6456dd8c50effbd05ab7eb24d65d40bd4f9065baa5aa5aa008e613a23a10bcc5bfe44e651377";
   hasRunfiles = true;
   version = "1.2c";
 };
 "ifsym" = {
   stripPrefix = 0;
-  sha512.run = "aadca74b07372d26d278d013329fb0b3a06c7b9d8d5f731765107ddbb4cc91880a46507d7073720a260ffde2c041a5627f8d3f4d87e74b68de333eaaf6365cc3";
-  sha512.doc = "b6ca0942531ee454b3f1d79d7430a1996f3a82d9ddb16b2982901775a2e3aa74c69723e483099cd968c3b82af833928f422814dd11c037f590a6372a2f55cfa2";
+  sha512.run = "ef6615a3768f87009d22c3feeaa074a0589b17efc8585a509e21692195a100e5b11e2d0849fa2eaf8f80cbe0d96ea12e773aee0be28e7120ee80a86dcfa6f8e2";
+  sha512.doc = "10dca0c00a52d9d9775bd2ae35b50d7d56294da9b8eb21f2bc35f7863cbf1ab357cf8f3e1d949570ebf4908a60d9ccfe604e69fe779780c8e7527172f3f0e999";
   hasRunfiles = true;
 };
 "iftex" = {
   stripPrefix = 0;
-  sha512.run = "3a0ddcdb5a7c866d9b38efd5129e739d2303feebb800e492e1add76f56646cc02f2bac549d3030e6b57c57718fc499d16eaf40cdc4425474807e5135995b2cc8";
-  sha512.doc = "2a3c5c51c3e98d68c2a91dd735bf65a2406d5d8e3d2091e03e694a360f8aab43bd2098f084d237598fcac7f58c9d72921a3c7001ddf78cf54ff344076054c9b7";
+  sha512.run = "29f81db9d89a5802558a0e6abe9718863d1cbfa3f456aea211da5c6c6e134aaa47ddcb3b35cd2c4c77c06c2a962aa0687410dae2963fb02ebb69c68ff25784b3";
+  sha512.doc = "59bd612d82b2f5d8bc3e5d978a61db54f7626f779ad1c183e90fc03e998b73608cb54263ba352748763a9cad657a24fff51ad15e71d5dfc0cb36c7cf65636045";
   hasRunfiles = true;
   version = "0.2";
 };
 "ifthenx" = {
   stripPrefix = 0;
-  sha512.run = "362cc2672d36cc1f89d773e37b433c7146f59fa3a2e7d048e5977edd4c37d96ce6f46a9d79a0b12288dc3ae724174d51348d02c856b40094a8a3872bcb235b7f";
-  sha512.doc = "7db094ba518d79a9c839c3985ab4358244bb3514dc38dbeb004abc342de3f0d135cc8bf7bcd0c8bc6df63d24d5dfe7a6c86aff95ff70a7ced471e3c721220a17";
+  sha512.run = "76235d3f8dc4e62604828beaf87327d11d4a9ff69061edf1a3ed4c874983251fba75d80973e54fb3daa2d160b27000089f4cdf1c29748124825fb4075b6f7148";
+  sha512.doc = "efc4fa3b5d6e91d1d5af27846bf2652672a233537810051b2858c1c4ffacafb9771b2c3a222cea4d490e0478eef96b205c4043f4957b876b7f4d57903b26454d";
   hasRunfiles = true;
   version = "0.1a";
 };
 "ifxetex" = {
   stripPrefix = 0;
-  sha512.run = "5c7193adbbccb2659dcf382537eb4940c73f6727846ac3944c8803a7d5fb269e6e42cc276a914b5bcc11d18436e9bbb9aad503dbacbe6f6aa93c5465f7341b29";
-  sha512.doc = "412d2b0c1bd2aa6d4e3960c150b9b812e8fc0a7052225ded2afc8ed4af1f55d8f51b3ef0504183b622198ec647f9b437c073682311c6e7b05a495348b577c1c3";
-  sha512.source = "63edb47d3ef4554c7753c8b7db74499dab4bd90dde460c26bed0c837b4a8f8bb6f0736f7ff03226fb3ccc1f2375d3db4d7e2dfabdca0f88b6401c509c36a43db";
+  sha512.run = "44642709a4936cdd65d9cc25480a34bba64e3ea38426ac6566608cb40b54fa82fb96067680a70d8234bb448c3a3423a43d565014860194242ad86995dcfd200f";
+  sha512.doc = "231969b2185c83eb9be54abf7bd06797d47bef253198fa8d73df951a4f7fdfc7218d6155c971dad77546767e99e476bef169df1fac13146abee841a10b257fd2";
+  sha512.source = "59e3644df1afddbf83fc0b8db58290b47f0d7065fff81535b3bde024bfb6da80c62751763aca5c2ba494ea7bf2fbac3ebf5f4e95579af4295916ce1a80ee1848";
   hasRunfiles = true;
   version = "0.6";
 };
 "ifxptex" = {
   stripPrefix = 0;
-  sha512.run = "329c5d5a5ae6080e934b2e6560da0da94dbe93183b4692edb13ecfd460ac93cd7643f1d84e53a85eed3164f0e10d8e277525a2ce512b9afe84fb59f37cfa97dc";
-  sha512.doc = "2ebdb370e07007ca2b94463aa3cb6777b55504aaf61ccbe5767b1113a46629b89be3f27f1e7ae5fe93e79a4e6ea0328205378069aa60d2d9a8d3029b64873208";
+  sha512.run = "7bc52847fe21879614ffe673ebec74c735c70e07d63649def00f70d22db80faa920f0764f76c5094ef982abbff8202ca55410ee92d033c45ec43fd25adabb23b";
+  sha512.doc = "1bc4feaacbdd33ba6f46c699969638cdc8a4b962287332476d0d163a10141136f9b913027ccc3418033dee0862d5e572957dbe07d47371c1d932103958151e27";
   hasRunfiles = true;
   version = "0.2";
 };
 "iitem" = {
   stripPrefix = 0;
-  sha512.run = "ab91889a6515fb1baf9b7173b601239736358877de660546a50a2253dd96d11867c06d9479d86b701718fafa2723a6a17ef5aec16233cd22060d28edd743a6c0";
-  sha512.doc = "72f567e70ac57e6a58ee79d27aa3d10de3a777d4b0305d80ba7e7975d801e8323a744b01809177d3626cfb50ee14da688aff46fe038eebb46de1fece0f8be5b6";
-  sha512.source = "e943879a9aa19e1181abc32500c7147c3261a14bfafca3d691abe9748dce0c7daef2b38e5d3318eab58035e55cf5e0f50991f254538d2cd82a36a35c731739e5";
+  sha512.run = "b2b37e68db2b33e414ecbfb9078b60ce5571b7ae931ca828a3c668ea7cccd7b93a2919cadc7723daa3f63a7015939a8046973ade140fba01025dde0d5212edd0";
+  sha512.doc = "f9f001123e1f49bd90cb3b24448e423068565c9256129e23126791e2ea2bc39788ff5769939d90018087beb1b31fbf3568c6d4962f2e92205717c84aeee54a21";
+  sha512.source = "e24eb4a7a6a635b95b6a1b40d27651eccf86a6c5276aad3ca46cfde08185371fdb34ac2732d87750db74605c14e087d2102399e23ad85a236a68dd5987784c0f";
   hasRunfiles = true;
   version = "1.0";
 };
 "ijmart" = {
   stripPrefix = 0;
-  sha512.run = "c4af4173b33a946f87fa12c008e9b25c2906458d7e873775dacbbbf7c55c721a0ad16fe28e06618dd7fb56adedde49ed1fbaab6fa26aeec9ab798afbd5d448dc";
-  sha512.doc = "40c4ab62964c94ebd5b2db82b6406f1ad4587c31ffec7ade043997e40e7c76fbfd50226ae4bd1dfef7418d27225fe5649978d29b0ef1d787c28188ef12cf0278";
-  sha512.source = "8d88a0ad7d5a46415afb5164639e3e504ac84cd9450cd76a23ae177a299bf3689acf07bff6048f2f7cddedb8ef430d306671b7d2401fd600e973126e0d0b71b3";
+  sha512.run = "a1fc1aca9f557ea9c8c70343ad1e5712a846b8a7edddf2077e78fabc3919b928a5d7e8b1fee0f0bc29ebf7887e26dcda5bd95f2ba613051e52f13f1ee24001d3";
+  sha512.doc = "502aebf377c8b13d7699761651cfd67e1e2d10a8e8a022303921aa1e708fe913b217e186b4e2527d8ed81e3db6ff055dba5edbea218d6b9a92f679da66fefe97";
+  sha512.source = "e42bfa6ded16f78b764d1ca55e905ae0b2c0a5611b8ffb2e882f121d04855b5f72bf925002bc322cc1106f68c7c68ebb412acc71789d560fbca12051a75860e0";
   hasRunfiles = true;
   version = "1.7";
 };
 "ijqc" = {
   stripPrefix = 0;
-  sha512.run = "cbf3a88bd185ad2e213eefe1f0d87d96dbea1416e1ab9dc4c693d2658f941e3fb64d23ae4b104fbaa86f25e0bfff9001ac28b9c7268ea842100b4deec94a8498";
-  sha512.doc = "0cfcd9eaa19474da6c7f41ce323a677c320a539948973b51be1f5b56c46381b9861350a369b76cd9259c797b73d554a8b7d9efbbf31e62b9b2b2ecabd9c0ec83";
+  sha512.run = "55f7693a820f0cdaafe8697ad352cef2748471711113cfa4738931926cb4d49497f4e825b0a737c233541203cb5c8f23dc4f8326950520e8aa0f4ad27f353347";
+  sha512.doc = "6b94eb95d58a06b54a1fb28b26ddec15528ae99286a37631a64b4ced32343872a04b96cb2de540d54c54f02361981ecc575ef7d014a17e1d0111883e92671fad";
   hasRunfiles = true;
   version = "1.2";
 };
 "ijsra" = {
   stripPrefix = 0;
-  sha512.run = "34a5a8c4068f0d5f81baa598a76a9b120275cf20a063f8395e1866bbea6d213479b04d300aaa3cfb703fa1b6974b0ff3333afda5562c9ee5619fa0505d4bf0fd";
-  sha512.doc = "d0fdf2864cc55a56fa140e6b58838c0f6f9b1feebef7335097fcec0c91b66c598836be6b28baa749a6ec171800b710547123bf557114f2b81611897d844141c7";
+  sha512.run = "9d5db4217675af4577fbf9b7e8a5dc4a42f447e7af60a818d740327326d478afa9071be37c80315b0822fec48d1fefe4e3d6a8dfddb6f34fbc11cd81a5d05a12";
+  sha512.doc = "a3424b8ed16d1881c5a2c4d80a42277a1c0e3a62484a0d5ee6a18a9ed9fd39fe0de241fefbc723960bfee331908bb5c95a0b1b95ecf5e06d6425ac8e6c2dc342";
   hasRunfiles = true;
   version = "1.1";
 };
 "imac" = {
   stripPrefix = 0;
-  sha512.run = "76b9046d79c8ea0354d73a81e815dd486989063cba2e12ff7d1066ee61423cf53e652e2062ea36f4b8bd23afd1fa2c4615c41f62c754f8b28a4a19f55e11568d";
-  sha512.doc = "4c147ea2bd1ffe0c1519aa9d66da6448376a6650addf4c2a8a23985caa0866842a310eb041171cac71c9d80613d6a919206fa6afc06f0c75dc131db78f7f28f6";
+  sha512.run = "5e51d080e18f2a5d9529705d0e8745a8c7b2d0186c929e04434b71ed356df3ee2456c268ce2232da9cdbf6c15182f6580b2b96995a6c48e40fcff1efb001cef9";
+  sha512.doc = "df4232356db6e2001277bdd8de706549d2f91b2d59d4a55f39c4aa9628e1a2b6ce092a7630ed4fc20096d069d19f2ecdf445129a870ca8bfc9d87e522350798c";
   hasRunfiles = true;
 };
 "image-gallery" = {
   stripPrefix = 0;
-  sha512.run = "bd1a028da1f3225ecb7985de5f8a1d9fe1dc2258bdd9342372f92d66a3a19b580989f3fd5d7c849cc6bd578097fcc32ed224dceeb3d3602319ae22e7640d626c";
-  sha512.doc = "10c3230cb0c9717a900ad890cd1b74461a229c591e07853fdaf34136816a1cf29c396e4165b04466ef539090b36770c3a32132f8f5b9f98169d40036867ecfa5";
+  sha512.run = "0435d5011bdaac97c6f36202a03cbe52cb45f83d7dcf37111b9c68706e4cc971b5b13ab5fe0b29cb296f7af4b217a64b5507ea00dfe63e8496e10b5adefeed8b";
+  sha512.doc = "ae9c965bcaeaae17b8a815bac824093a5834f2b96c99bf44527d915ae251cf1dc818279f78d3cbe75e51875e658d47baa3b9657e27f5121ed4e259ae5cc052b9";
   hasRunfiles = true;
   version = "1.0j";
 };
 "imakeidx" = {
   stripPrefix = 0;
-  sha512.run = "e7c90e8b2b82e57acf6a8f4447ca832a9ef627a1e9c17b0f02b7c235de83911dab6dcbc19af9904f50b31ad631c78852ff815e1382c44087dfa7421004ed8fcd";
-  sha512.doc = "66475a428a4592c5ca225df2e2a212c4f8955c798f8b01daeed7a351ec8d6d8db97d78ef25b1768e737a541dbe9e4fbe9abaa648c97b8b2b552e1bbbb1f651c0";
-  sha512.source = "cd30fd8cf1e17ac236994cdde34de8d09e228abe18fa384809b0e6d78a17622c4003bb98e50b0fa1106a3a93a5c769cb9943f42f9ecf4528038f1e368b5794d4";
+  sha512.run = "6ca0680f29daf88dfbd26fa87d47a65c8b2c2d534321b814ff78d77d0b97d7fc5654b4dc0b91d12eb0c9373cfaff5fac59f24def8d0f50d97da34fda6f839d84";
+  sha512.doc = "a07d9461013045274f03145e97d286d930055c4573e917a78e8913841cae30fb61b99e66d098b4ba014cf44e92982301c7d72414e3ce1df176bfd35ecd26ddf0";
+  sha512.source = "f3fd8e1a5057cbbfea56a0d21f16bb310fb815ad7363e284083f2c313ac055b1b335fc1c43bbddd1b1beae64ec42e29bb4a194056be658cfd3ee24e49d5e5804";
   hasRunfiles = true;
   version = "1.3e";
 };
 "imfellenglish" = {
   stripPrefix = 0;
-  sha512.run = "d90fff2792b9957964bd360d1366a40b817f32829845a5b44bfd876a1b1f5d66f8540208868f115385f29d81fc139eceab107fbe16f2c134e7e0dc7ac9b56f7b";
-  sha512.doc = "00adcc7980a53eb452f39d30c4cd39753e2a19e31bb9a5d2e55d1396d39c08f353a10704ad698cc4b17ad387226caf718ed04f5223304b9da8ec350f3cf98ed6";
+  sha512.run = "99dcc3e48c55b402adb5e5481615a35f4d6ecc535cf68ac95b223e13bedd8edfad2dcb2d6ce99712646b52d384e02a1500f333823a343d887f87fbed44a06ccc";
+  sha512.doc = "3ae58fa270354ab028a4cfbd6d23ba12a9969073f28db5ce2de4888af2ec70a904767dfe692ff7ef657e5ce13747e7a2602856b0ee4cc92db87ac8e2f4a9e635";
   hasRunfiles = true;
 };
 "impatient" = {
   stripPrefix = 0;
-  sha512.run = "5d035e82458dc283a0b934e7f873950e0d685e3021a0e47f922f6890f3e35025e580675f3c10312524ce1582fd3a15facf432df4bca0f7721fd2e11689061ede";
-  sha512.doc = "f5702f458befd535744eb5ad91f020e05adb02143ae91c2a413f82dfb3b57a1d1c630e1d03abcad0c6bdf16574ef9307455f095769872a9f68c92486d7ae99af";
+  sha512.run = "d66e22eadafc2de1816356c60151578f7ae7b1b7136ebc9cdb4e1a32e019b4d403af2f19d4bfb15d8fce4a7e48576e396cb63dee1a07da6d013e93fb09421423";
+  sha512.doc = "dc557d4bf80acf430ba867a0767e17ab2ffd57acda5d811f38144b57ec19ee797ca64fa01487704a90c3eb84ebc14610719370af358d60fa392877d4133a49a0";
 };
 "impatient-cn" = {
   stripPrefix = 0;
-  sha512.run = "b5fbce7da2b456cc20415f4ddaace64e93ca73ce7a6c238ef11f79ebc1c2bea12eaa0416ecfd3e1b0c98cda284d170d28589cb2d6c0c1119c0550fd6f332ae56";
-  sha512.doc = "30cad393ff9463cababe8580ec87a7a3734064290008be075b29837cec560ead4f8ba67f040bd0270e3703fbbe0fa319c13d9c7a3bda4ba60d9e8d818a63b55f";
+  sha512.run = "216d5bddef463d26c6cec794a38f0b6d325aa1d4cb9792b642715d71d4f30f1d73396036f8eda79b12498c7ff2b3e1e3d2e17d04e3f071f90e8ca35b3acc04c3";
+  sha512.doc = "00140f4b38177ad8c3040cb29a90545da65f2f6100d7058b1974a174e3cb9e4ccf03f0f9ba196953fdf6636bb44d46a1346a3f812aacd177247f40d16f1b78d4";
 };
 "impatient-fr" = {
   stripPrefix = 0;
-  sha512.run = "5b834188fc95ee389f5f2634167a4851a7d681a4a1ae1c91788774838e38b7c10babfa7c410a41e6ad9bde8e22ffc41c59b87c76ee750458ea876b9e0cf27791";
-  sha512.doc = "c40f4d9f22bd4794af4361505ca7254e7f2f91c6616ac2d4af31900d2b64dd6f2071e12cf5bd8ecec3b1431c78cebd276f3fcffcfb3671af4645b75d29f6f725";
+  sha512.run = "41bec2d1167dc2f57a09d0028411147f8bf31d5e020408bebbd1b6c6577d531a38f83ae395146da699a53d9504f7f6ec1ab5edc5d6b559527867b352e4a8a551";
+  sha512.doc = "ca3f388df4f17940ffc3b27ec1bb6d07d3b8728d8de011975b4f2696a96eadb45f208f5455890491af6fb169c30d6cbc6849dd3d25b6aad0284f0a65a81c8e9e";
 };
 "impnattypo" = {
   stripPrefix = 0;
-  sha512.run = "4dba7265b2ede3ed02e12e0c79b6d58d854399d1eb9932d59440457e712ce004b2942800449adbb8c3f9bb648c10be6e0939df4822897f35b97e74ccfad6e9d8";
-  sha512.doc = "96b441f8215af755f13723aaddac2f9d9d67f0e8529ecf1970c780ea97a5804d76512e642e498f5a5dabf0f66fe6476fddeb4663462a70c32a70bfe0b5999954";
-  sha512.source = "cb216d896e8d17ab8cbc4da1783bfcd070e8f8bb95013f1dbeea5ece3caf9712508a3b08fa685d1abe1efe4e4ff4917840b943da5441e340d7f3c053d8d1fb87";
+  sha512.run = "7afd6cf1fc2738bda4f390fe7f2f9d5e1bdd33c2e6bd32b4dda5b232005589f38436813d9e5effb6feae6371896be453b608ed61c64b9bf38fd25ec400c4b101";
+  sha512.doc = "086b106a965e0f469cbf3560561da7d84e4151d5430d42d87c2c52568243305e20a1bc99ec4b252237f4c61369127683ff7b629013af8c76e9dc8ea6e551e24c";
+  sha512.source = "5bf181ff35a90a1d5c7656f7ae9778305088035370cec3542fa451b055cdad6d3b1ac1cf830fb7ab7ba3d4d89ce7b96a1112575f924fb13f24b1a90fc84e24a9";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "import" = {
   stripPrefix = 0;
-  sha512.run = "4b19993b8fd0575c25af5bdec258412a9a9edc0fd7821138b21c78318f6a57e2309865ebcf8ecc545444b2985cc4acfbca827daecd25387022f29098f1f3837d";
-  sha512.doc = "5b16f74bfc6baafd16e7355ba168226b037398969f818bf630e7328d47a1d37246b522fe21a8fc7ba9472b922ff979fee0282399e9f504babb16206ae4852be8";
+  sha512.run = "d3b1d7fda67d0f685a7f338dfbe37199c40a4ade516d482b12efe03b5885eecf1258dff861dd17ca98f267cb12bcdee05178949dce192c2e8336d42209029e3c";
+  sha512.doc = "aed56b21c2b10e94f72ac15c7b892a6aa2b0a27f50e502f49366ef73c72f71021a85ce5aa4288f48a09b941c189bc0477d040ae83f9b52a20db2d23160fbaa5e";
   hasRunfiles = true;
   version = "5.1";
 };
 "imsproc" = {
   stripPrefix = 0;
-  sha512.run = "377ab9514203ff67599b0d12c6e42d4da23729e4654d3e8a05cfb3dfb633ffd1c223e7efbfab9d217d3df21c662f6cf96a215a7d6c9968f13b56e3f8c5eb779f";
-  sha512.doc = "491ee560552053717e7ebf68091136759ab5ca36d291d5aaf0db74d9f49e34fd8a35afcd63a38180ca62dcf1c1af082dc6d2b2227f8f95a65385f3aa4a1ec18f";
+  sha512.run = "12ce0d8ccdcd54890f846b501cc5cf7af00f7759c916147c676358b689b852a86a1981b76a14e455a4edece20ad1857100123f91469dfb23ba168177e15fcafc";
+  sha512.doc = "a4007fe80cca88525dcade8d8201fb82a2c35cafd7bf92a8ebe6b4668ddce6bd43e958e1223d5c212e91ca692df39aae84c4a25b6862afa3aed2f1f646eabba1";
   hasRunfiles = true;
   version = "0.1";
 };
 "imtekda" = {
   stripPrefix = 0;
-  sha512.run = "ccef323af9afccdbb73d35447aeee07c0cbfa517f25b6dbf7ddf67745781aed1fdbf7e0dc7de9bde0c42c6c79622266cfcfbba4ef901ae1a87b0531008e49364";
-  sha512.doc = "2210792c87305740c7b5c96e9f57b1926d98d4c1fe0fe5a1acc7dfb7ff82e88bb3b0e320b7d7788580f268433be9735988ed0db1d5d2e855df7340ec74a2a61a";
-  sha512.source = "a4339e13ae17cfbf75f140588099cf8bb52c3deed1992d558bc1db52fb64da71aec3315da68fa6e0dff3c959c0952556f30192e491cb7376fcdf30b5f541e3b9";
+  sha512.run = "ae95a9d52ed07e962a9d98cdcad868a9d2dc6e1eee82c38fceda7f7668934caab5062727e75ee3b1824ec60ad112f15541c9519fd494fa8199caaf0e83906484";
+  sha512.doc = "6f854d85a7649b49b3c88d99f1f011df514b39064e2c340ae1e807de3e730a46a432afe178574105a414bbd46ae0509b9e88d6c0ff825e74dd55772ed189427f";
+  sha512.source = "c4285c9099d8a2582570d0d7df327e6f693825a63c7dbbd6626361d9ceea83a039425b295e17de133fe51e43a23ada74e5fa83d0995fd4a6528eceaad2f59461";
   hasRunfiles = true;
   version = "1.7";
 };
 "incgraph" = {
   stripPrefix = 0;
-  sha512.run = "7ca01a4e40b6f28b51c46f664f3ae869636452e0bb600fb256fee87a5824a1eb8e9bdd7d7c7b82a32b1dd0f9a407f31b9beb4b3d56e86d7a4411e4a23b58fade";
-  sha512.doc = "e1097fbab528ef96d82d972214893a2303c9ca70a63c47ee83574389374ae83afbf437ec047f3ecbe12e6961ef159c27b6659ea969b9b41d1bbea96b9e9592ec";
+  sha512.run = "9a063a51c77ec55136a60a7ffaa259f7c8e2fbc9c71dc2d5240f125be50fc246e2a1d1a6c3379aacc044ad0eb7a754dc27a6445bd12fd63c3d5b2929cdacc133";
+  sha512.doc = "1a1be60ab0ee587095ad6e2c74ce356292ce454f3a40fa96e5fab7d48da52b98cabfe9826235b3afae679baeea1b23e5c4fb4d7a4b00279ce0433568a9cf3108";
   hasRunfiles = true;
   version = "1.12";
 };
 "includernw" = {
   stripPrefix = 0;
-  sha512.run = "60b67dd314d904d7a2ed50dd6c167f0c8d5ce0248dd723b087839cbe19e150f3d48e0945586c02f467a38936bcd9b17393c1b4f579c216a9989c19edb0cefe52";
-  sha512.doc = "9be0e0bc20e12d3bd5ca96fdf349ce0da31724cba29e7812a55c742459711128219643a7559396ebd00a1ca6aa4bd9be68da54bbbe3e96fc7ff9dfd83de6ab7b";
+  sha512.run = "a2b43d658ed62ff3a301a1b190cc46f04a4a46f413ed4af3e0f84f1873efc6841cd23fc07d68a90cca50b6ed00ccf654aef9dcb6a8b4863277b06c7e8c666e6b";
+  sha512.doc = "8ebde646868cebadd8d50cfca25cd8d924c0112129ea86b0ca3ae5b9f9f4e4fec3c1e464486ec0f92e5cf7b7fe3df1fceb1a7967bfec755c57645e6909705c0b";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "inconsolata" = {
   stripPrefix = 0;
-  sha512.run = "134a52eef41ce0dd1338c700cb06a95a15af75cce5bf5c7fcf1b12740456009a801b374db694bff8a2b8b3c3d26642c1b3c44093db02534bbed1b46c365d4922";
-  sha512.doc = "028e6819f8dd4a310af7491e951c6a843bab124b9aabfb8df564549b952cb288f7a71a847b2a2f5706d2b0d971418e08591d2dfd913574552e625ac6af440c05";
+  sha512.run = "0356a6022a3370663382f887806a86adc20d9ab7943c5840eb9344a6c64893819d0e3de6b42aec599cf1cfad0cea5724625d96f032f67c45ab282aa386bde484";
+  sha512.doc = "bf80610a2a64c12098ee2c9d6d034791cac79154869562723321c715a008479a267c2f4b8cb490b6d4de041c80bbcd25cdc3faef2b1986f2b53dd463c4b81be4";
   hasRunfiles = true;
-  version = "1.114";
+  version = "1.121";
 };
 "index" = {
   stripPrefix = 0;
-  sha512.run = "4e6bdea9f0e7eb6ee910c820984706f54a0e9c4292d568e6efded5214a2d3981203e90ba6895301c590587be190ddfc262b7d2803b686387668d3f5627bb5c18";
-  sha512.doc = "4b999cf6feaf4fab3a381e2fd33a029a09e3dcdb022d1904ac95ae54ce7a4e8b6c08db2e81495399dcd14de6772d9bc1145ebd9ce659de40dbdc78bdf9a212ab";
-  sha512.source = "80021647cea6c178b30946e20b11e7a9ba24787a5211443d7a097e16b1ac22c0631be28ce27db0b2533852e3147fce90d0101c67fbd54a5666c547fcfb966972";
+  sha512.run = "2b9bed00e12b5aa7b1813be766ba7c2e1eb750dc270e9eb585b1cc3d559a3f0c9094919344aaaa51cb6cf7cc132a5f89f8c07c96a12c5b1a5446524d07f4121e";
+  sha512.doc = "0e68aca1c5dda444aa42cb1883821f2003c450291191b2eef16169f3f76e03e5ec9d31577574afd8d3b10237309be303538ccd1d4c8edb9757e7c910da7c5f51";
+  sha512.source = "fc9e646c54415a14e41f1adf9894e723ea8d25e1d151b56fe40e5dd437a4659535b11eccbe9e2b6077d01a7a83b044c2d1d2b9aa1b08243d82b5a37a70641c11";
   hasRunfiles = true;
   version = "4.1beta";
 };
 "indextools" = {
   stripPrefix = 0;
-  sha512.run = "c716037ce45ab35293c12dfe2868958b529c06126e7027935a0c89cf43a4289ad5980f5394ac755474a58b4a2dcd01fe922740d3cad71449ab19e531c4e3f736";
-  sha512.doc = "39946a98f88b1d055ac8407107bc745db546431350c689e0d00f8f6f0fadd6596295b929bf6c735b385bf6938ef9c48fe6cd83cb451e4d4bc7b807821569d1c8";
-  sha512.source = "2ce8cbce477d00f3569a14016f689469ff3bcbe6d10fd53231a71efab0aaa3e896dd4201f54315595c9b22eb0da6ab6570de0f67164b6a5f2deafab43cccf0db";
+  sha512.run = "69bb7007041b46a25e9f6bb12d8212a4dd4eaa9dfd00fc033edd94de153e8941cc4de8a06d74516220ade56f2f5800f83a96ea2c02d766939cf70aa3822da63b";
+  sha512.doc = "9290dc53a68dcc191d39bc0d1e760bd4cb8db50d7cf70771e60686ba2b1a7923b408f21e777453a6f2ec9ec372ac30faa3ffa2cc6bf7d2bc82b2526327d732a7";
+  sha512.source = "2d6d1a6009351911a3dfe204ab81ce8b54abfba885525a98557f56ad22ba6a319d35d36ea6f868d3abe9d788628d9f635dec8a657827ae3b772dae972a11c53c";
   hasRunfiles = true;
   version = "1.5.1";
 };
 "initials" = {
   stripPrefix = 0;
-  sha512.run = "f4fd172d489327fcae8bf3f552542d44ae730760e097330125de1c590d21903ed196647f21b95af6fba2dd3f5efeb0a27326a0e48f052a1960831daa02b5ddf1";
-  sha512.doc = "4b12041062f077aa02f14065b3b63b5e69bba75f8f4d48d6a93b2417f9b155ee5076609698eea574c757212484a0abc0171804929eb699fbd4adc7ca13143fff";
+  sha512.run = "65b2ca2049dbeffca1a425530ea36357b0f06ae8cc744f16471a29dc9f1668023a7edb184d23c80dfdf57d74f24c9425b48a90133f9fa6c794ddf495e3d0413b";
+  sha512.doc = "ba6943a564c000f986a4029d31ead6ee4cec028496636090fc56267dd8594bb20be94e4fa4e4a2f39b5b4c7af1b0db3a74111e45a8ad229f6e9fa8862b11c68a";
   hasRunfiles = true;
 };
+"inkpaper" = {
+  stripPrefix = 0;
+  sha512.run = "a5357a2401cb104c64f64d31e9583b9e427673233a4dc6251ced5f23bda1ad895fe499f806aa7dafa3bfb2cb4f2aa9718868d6d3b0a71f249a545960232a78da";
+  sha512.doc = "ecd15bcb523948b5dbd89ac387fd427a5041b39f6ae1aac26888632096fd1e797beb0cdee926dfad1b3abc5b55c6e1f599a07421e7a52953d0812261df21fc3f";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "inline-images" = {
   stripPrefix = 0;
-  sha512.run = "ae88646433bc16d0335f72d9f761a89184f41f2fde746d788b804cafc974a73275514dbe95216dcc8b7e83b0c2150e00c7da0918cd5912e609ac64aedf4324b4";
-  sha512.doc = "2796d176a59f095e62fada630a6153324c5f61c7948c1a0d2599a88b6867f45a596d2ad0397fd6b18ead3b75e9897c29394b9a4f545c50a367b29ea987633821";
+  sha512.run = "60957844daeeb2e4956d83e1d57e9721b2dfaf4ad2fb4358f1d27cbda225ceec7cbc78cdae5144d28a946bb9408fa960748ca3aabac709bbffecbbb64356f8a5";
+  sha512.doc = "5ec326c1323cdce80f5a83052302d2e18de3b0f054ddb7a29da5002605e1020c81fe0219ee68866eb5d8c3b12b4c138ff56f8a630e6f0455b27eb0a0c905d027";
   hasRunfiles = true;
   version = "1.0";
 };
 "inlinebib" = {
   stripPrefix = 0;
-  sha512.run = "8d07e968b6d36856f74e9db4ff8a5a2fb040359069e5b257022f9774761748da57583d3a4f85200d213925cca1a1810fad369e0039a27866e9d28f134d1c7273";
-  sha512.doc = "e8781b14701027b9e78d6374c04fba5887d825bfa2a142a736abc0ecc84bdd1a1c0faaaa089801eae6cd4d97f91d71a5f9ccc3e5f129c4591edf0058caf268fd";
+  sha512.run = "42e158a9ff10dc165345bd08b18fc0f90b463482fbb824872289edf93269b36b04faaf35cd12538e83ef1e509b7400ee61e604c5849922106368624c6c20f507";
+  sha512.doc = "2a00d2f51daca68362b5243d8cc485bff6f64fbb9156d1a221d75dc5eec001c3377e6d67afe5d6384ba3f7504eafd65919f5afca8e1170f8b584eb101c947faf";
   hasRunfiles = true;
 };
 "inlinedef" = {
   stripPrefix = 0;
-  sha512.run = "8d88246963a50ee8472a5cb806db0b53fca6b2da4380c8cc9ede626ba7f0091de7f07fad8eb0bc5503534f62dc63a5850dcd47792ddda5395860f281fd029643";
-  sha512.doc = "31c8b1f16ae2a4a2b72d975d25d7c69072e711a0bce8af415fd3c2a726257ba79212cbfa0aa9b3694202b0a62553124a1732c305e4efaf91ca8d450cbf970528";
-  sha512.source = "78f54c99ef084252ec0b4f7dc3c630b6321cc264dcde1b861039cfa8c1dff104d621575c3cc28309444d8d4f80cf098b459fc7fbb7b57707da34909bf2d16afc";
+  sha512.run = "b98b83ff26b5ecc9826f111d9faef5aa0f51ebcec7978881da2a61287af7aee022dc1b7812ee457885c7813eee0d2200d250ef45648619f3d105e2df54cd21d0";
+  sha512.doc = "6bf73914a9eff5d774ca7b7e37a859b0e7da3d408bae603b74c9f76e379ff6d3558d7e30ee4a246bf3f7d40f18446fc78299edf4eda0228e2f22e47ad09ea024";
+  sha512.source = "ccac53e2ce8ad0fcfadfedeca45d136ba94bd51d46fb4b860269f2efb7c0996823d32ee1935a0dad79ebe69c9794e2882e6dabca0c5751b3e8b25e5329623953";
   hasRunfiles = true;
   version = "1.0";
 };
 "inputtrc" = {
   stripPrefix = 0;
-  sha512.run = "2bafafc41be7932ba9ec5b28bb6995c651d1b0f083029c006bc3dd4e9e9f644ace4eaa84674b1cf133ff67e1db2e67a625d29d1b9f908b79cdbbf1d4c19d6891";
-  sha512.doc = "8a504e91e13152f8893d2312ebef4114be5ddfde343f4da17c9e4814605c7931f3ecc09aa35e9d2ee0dfa6a6cf539b028c8c969f8957a5f15344407e5dfa1ad0";
-  sha512.source = "be48f2138583c4f4271e239386b78deebda2aa06ecf06a0c390862f406da6b35cf851e66455f1d1168c2d2a02b43338f48308110b0b681d2442a780cf1161659";
+  sha512.run = "e6450fbeb0f9033b0bcc586c34f5bb8e9c3a6aae102c15912be315d14fe883b8bea62a59a4a65d0ebbfa9cebcc518b9dedf59297f026423ef14aed2c0a2004ab";
+  sha512.doc = "4fe7894ee87bcb81566d1838f52c02902d8f5668662fdc016005e9a44b31f35eef8831143cdf5321717ee590ed14fc6c35305f584a0b63254549f96149ae2a50";
+  sha512.source = "942d536481750f2272cf8b1420e13703d16231a0998b90c7f3335d4aa6dbd0cf1ff3b6ce072970b182fffdf14614422cc794798632ecc5ff41dfffb18c836398";
   hasRunfiles = true;
   version = "0.3";
 };
 "inriafonts" = {
   stripPrefix = 0;
-  sha512.run = "9fbb9e4a820a9b7da27d0fb5395c258563ae8203511cb4e8e1fc94983e8895344b1a8d14237347f832c72b368c55efc740995c09585a85d1a68d9f15a05d3e77";
-  sha512.doc = "6769068261cdbe50070d515be242dbcd6798d8187a07ee3f3a60c46f5a8447dd1dea41e9a1960ca505e33491a68ecdd9024843a92cf668d3d9d0264eb6e67069";
+  sha512.run = "fb8218a74562131139d0125a40d04363df7f50e43c8207181f3c72210fec7f501497b5256cfa38d663c21b466e6c7fa94ad2fae9612f4f9767b32a7f5784f7b8";
+  sha512.doc = "b55bac3fce4d012be6d8d604faeff7868b62fda93493e49d7a0a0cc7d992c704de5a845ad7ba4cbd97acc787155b33fbd939954001dc6d4a9b29cef21b0004a5";
   hasRunfiles = true;
   version = "1.0";
 };
 "insbox" = {
   stripPrefix = 0;
-  sha512.run = "37bd2892e0ba09a4e0e1154ee94899f49f71cca2292e59d4f3d929c430e986c376324a929a58e92f7946767d83b7cce5d3835174b9e8256d636c606b0763d64b";
-  sha512.doc = "ec8318cec96402f9e86a50495375593d6d421ee20359fdb93877b72ec6752425c8a36c6bc07e1b7db4363a2986e18502dd0df36b19f1e0a5c49f21cd22597567";
+  sha512.run = "98398c838689cfe22ba859e2983f374ecf94b21bcf46de362056821af31285754717f7b2169f8bfb6fbbbee849449a1f3caf52d1397a901133d0364b392654ce";
+  sha512.doc = "53baed8af86447a60bb1a97774778256fc4ad1f08f73e2172a68fa091c32e41bf84d10642ebb426be610e34ef5575999d15be7f0c5a966618cea5b3a3832c9a4";
   hasRunfiles = true;
   version = "2.2";
 };
 "installfont" = {
-  sha512.run = "b5f28c690b1eceb036102cf3838342dc506c5cac6cb6c227287b23121b53536748f5b79822748191dfca4a2c4912b5633aae55e87fabf28b63f949f5a654535c";
-  sha512.doc = "c2db89e1349f8586cb3ff2f8cef1130d6542d927cfb4ac7a313f598cc7b2b113b17961d21092ee898be5484b8fc53e61a6637ad584777394aff9d9a98376359f";
+  sha512.run = "cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae";
+  sha512.doc = "2b61c4b229e0c4ec89c591075e52bcf8c150f5f9584bff94f81ec1f229940dafef11d6b6f84dd086692cbd99e6616685533d4313ef5bc48c56a7494fef3583b7";
   hasRunfiles = true;
   version = "1.7";
 };
 "interactiveworkbook" = {
   stripPrefix = 0;
-  sha512.run = "8068beea2b172d3f9821e34f77b6fc05a82a4b40706f125bf3df259b5ba3c3d15691327c5caac31c08602e74dfd67210fa170202450b5efb5439b445e3ca734b";
-  sha512.doc = "bf85a7c00da476769efd504972ebd76bf3105e7176aa231e2a7a262decd094150d13d9bc04f2cd4caaad114353e261751fd168b381c69baabae3af526e5592c4";
+  sha512.run = "2afca3ee8051065d4014cae8ee751f085abe6e62ea0af7d6c036bfd9ae6c3f38a295857d67c7e8f75a049fd618c82ad8b28a66f5c83a387969549cbf20ef159b";
+  sha512.doc = "cdc12a36f547787fd1e6aaa5f9dc38b99092f4fd7e71095c1b5ca25730b4d2a5a5fc1636798978741538624091721c96220d91b8f1cc29d7f4698767ce0269f0";
   hasRunfiles = true;
 };
 "interchar" = {
   stripPrefix = 0;
-  sha512.run = "241a6affde706eed95960023a3777abed6b1c437356dd87b080e1408ba567091c319e40b5e179e6d17aaaaef0792daa114185fd859da4d9af9d15704e013f47e";
-  sha512.doc = "6a8a7131d713ab4a4a573a2094ff99c52b23ca40ad23938248ea49fc55e044a17cac2d9635938c18a7fa64c051008cd34a720867916c4f14718c1aefc51ac81f";
+  sha512.run = "8beb2e016e1a6af0199708355b8f13aa1accc614135cdf1d6dd534eceb6fd5a8d9e611e4d6fe0d72da9effdef446549b01d5ea2aad043f3fe94b81fd3d4aa188";
+  sha512.doc = "c36dfea3f3f62660cae4f4653136269247bd109931b2eb6478eba29af089d42b6ea9f8afaf0c345c9364a68c1645e288d289345e13c8582e1639edaea20a26be";
   hasRunfiles = true;
   version = "0.2";
 };
 "interfaces" = {
   stripPrefix = 0;
-  sha512.run = "741e567a19d666b852bb8a5ae288301d267add352056648ac607e2c93a22835e5408910fb8ebb21e1b99c2375bb0de9baf7c070d031b210c1cfa2415a454c819";
-  sha512.doc = "247b9eca1bbe6fc23c38ebcac7fa24805452791e5a27a2aef1fa380eb7012ba333ca25b031ab4f4cbe8eb085ac7d1b50b6dc0fcf02626bf4f60ef52c830f6097";
-  sha512.source = "71637489c0d9fbb8be7556b33d7e94d4f9f2df862cbbc0bd4ed1c7aa4ba5585174c515b328710c41bfd889aa5a0815f99d15436346818d77273879e5b318892a";
+  sha512.run = "3c726602547ae05d0ca055d92b98a3cd5fce9709329fe9e769e5bb02c401a28b9b4cee53e5b1ee21dbb6c1c4223cf7a098aea227d615a45ced885c7c4ccab93e";
+  sha512.doc = "a9b44711b1f38c48886f7b4a49b3a58ec5514995c9bed9a067d41cbf35dcc0093fcade7ef28693970f1f017924dc2f6f79d8c89a1efc847f7a8c264cb8f98ea9";
+  sha512.source = "a93e77e7d12c91515e2d67f926ff6bfb76a278eae5880c60d2575580517d31f82d45656061f2999d5c4e73279a09dc5c5437351f10419b6ea92424d555e7e3a7";
   hasRunfiles = true;
   version = "3.1";
 };
 "interpreter" = {
   stripPrefix = 0;
-  sha512.run = "f24c8cf2dec52960c3acff13322e585cc53c7d631f72aa047ecd8c4c9707f8bf37c3cc347f8b0d290e50e34a5a6187d6036d9ce74077a7cd8da96430f04c0b46";
-  sha512.doc = "bc5261408545ff66066e67b0292e7178d86498b4f4a7a6d03e45d374ee03eae7d2869379e87aede3d710585ff9e905e7a2acf76b86ffde257ca91943972a249b";
+  sha512.run = "6dbbf39f9f0f357f45ae275458f03abfee625720b5f2dd3bbb5a78f60f4c0e8972d153c8d1647f147403f7c665e25147fd0c576cccb226a74630348a9f0a7381";
+  sha512.doc = "3408bcb3cd3e6da67294c830870534d3cd620b7abc3ad35d4833e30c831bf93d11dc06d00547888268870c75f6a6e2e861448a0fa197e3e5a3c10aaccc6e4dd8";
   hasRunfiles = true;
   version = "1.2";
 };
 "interval" = {
   stripPrefix = 0;
-  sha512.run = "25f18044f470bf074181711019e01beebadfe537fbc69262133da953a913fcf67e653cc4b673a58e7764e7bed5853848d47d2befa992f1aef85a7f4534be56be";
-  sha512.doc = "1b030417b50d3af3dba959e8a9a00d7d228ceb908d07fa36fc14c4cc0c24b2b6cc43c4b45539437ede99cb4f0c381c43a7ec6aceb7afdf5ee464b7ae1847d9e4";
+  sha512.run = "2a2fe0ebdc4754ca74962270ec48c69e6574c13e446628f34604b13584e7b14ff33add55744f03a1d28443b5ae87ba79926816bf44781951a729913ceeb4d6c9";
+  sha512.doc = "22dcf2288d7f888e76967209ef1fd31bef66dcb9784a45126a945c4a0ea302c67ab4a35bd864355b29679131cf2cf36fc6172017599ccf3025c4ae1537362b9b";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "intopdf" = {
   stripPrefix = 0;
-  sha512.run = "049fcb518a2819f442b1aa57e0c4e51cb1d1810675c1976ec944b7220e0bfab2a832db0edc09afa82c45e81a387c1258e816a0d04cae54bd37dfc2d5a3ca71e1";
-  sha512.doc = "91d516ecc72d2c4f05a239a9d867ee3ad800542e7370d6bd459c1f24d96d7048d734890c8f685d7110c595a6aa19377f96bed9eaa7fb9377d830f8fc14c40879";
-  sha512.source = "306444209ba45eadf584fe1be059d9692252a474a2bc84f0508e3cca7f90a6ac518020c70ff52c29886dcd993559891328ae3498edb9311781462d44bb23077e";
+  sha512.run = "e1bbdb7fac641a3aa6965cc6dd7fe1c2df56026991277d25814e07f22722ce9bc3851db045611b121b358c46afecc2d8072e36f435cb56f4bfcf45859741d2e6";
+  sha512.doc = "b56f170934bc7d3528604c27d4153800e1069b10ef98f4dcee6276d0c4259327160f8acd381c294490422e34dddd2ebe690d7143aa1493ebe36280323cbdd633";
+  sha512.source = "dc48d013cad264045e8515bd8e87feb09ad0fdec11a811a0933263949fd6f93c1ea0abe5a4d40553e3d37e43aebdb67dabf6715ab40b3abaa2971b2843a07df1";
   hasRunfiles = true;
-  version = "0.1.0";
+  version = "0.2.1";
 };
 "intro-scientific" = {
   stripPrefix = 0;
-  sha512.run = "6d45f369159148340fb28174a4b73594011c5205069b540eabe836afec990bb03b5843ea59b93c64c18c7bdc21be37e54b20469482115ad0e9e8af0477bd9aac";
-  sha512.doc = "4acae1d4f0b4a8f962799aaf50f2b77e7126ce044281e3213453a71c82b5982fd44739cafeb995745f2593bf7aae46f7405f14da060f2a0d1bf075bcef0770ac";
+  sha512.run = "9919021461485fc22ed6ecc0b30d0a23c0a2217c76a07dd8acd87c9091c9d71be0e370ce1373f90e6f5a36a9638ce4312fc674b16ccd0846aab97d1b05674391";
+  sha512.doc = "0daf84bdf7821aeb2f7971ed15de5546a13a444f3dc1b757f31490679350199fc893111109fc564aae2c8786fefc9e198e79e817bb318a1ad62698b6a5c79af5";
   version = "5th_edition";
 };
 "inversepath" = {
   stripPrefix = 0;
-  sha512.run = "97e8327853efc3fb15c8984112cf13b36af6981484068e949de44952f23ec703b46a9c603aea1df5e7e21bcec60f12c4d312124b8abfd83435914d9901d2895e";
-  sha512.doc = "6404ba872692a7cb05634e1f2c6f4c5ec4006835413ba10536fa59d99fd2afa60678da4aae61af4e5bc57251b030c1b9bb182e55c05b9569add65061565732a3";
-  sha512.source = "bb6b4ceeb02bbc4981dcc573ef206e75b8535035d06a6a3c193b31db48dc1c82797be514a3f8fb7d7f83b74592d9c70e9a7d11cacbd97848dd60f38d3fd3633b";
+  sha512.run = "d0d95399067922172799d17cc9b9b4fa7a79cf2928630c63441114c479bc60e72b3e5133b54f8f7925cbf90f5b419c89e07699ecf8e8269b43f969e584698043";
+  sha512.doc = "a9dba77a8aa851a5e915e368c5090fc83fd894c22efedffce97ee0915b4ec50fa72efc30f377891b5efc0749c12018228ce400cd4024369cfb81ff3fe62567b8";
+  sha512.source = "de5bfe7ac5967f4ab02dd0931c5799c6c68c5c7a57d8b6c40a205e76546d8a23a6ac6be292c6a1cd4c8475bbf0eb229b6d198eabc66a17b2ea4b0ffd0c798323";
   hasRunfiles = true;
   version = "0.2";
 };
 "invoice" = {
   stripPrefix = 0;
-  sha512.run = "f1d08d9ad7cf1ae2c0a5f8850e4cc036947a5d35e71b815942d9aaf431ad3e00a73043a29849f1c108ae508ae6919e2c0e01fc60bb645458138724a6bc6a97f5";
-  sha512.doc = "79007cb97f061171de3df6e10ed36c874da388f97d321cfb5be117b68cf635ace12b6532a51fa0048cb2ba3b3f5124f0754c41c4cd8a8f5daee91b17e70b235c";
+  sha512.run = "7ddb8e05d88321f45cfe8618c740671e17e79ddf53fc2c11a3b9224a27ba1ebc815635484f3dfb4c849d90efb859412028df1e7f91a4e746cf812b19e5d1a269";
+  sha512.doc = "7b827f575eca669f15767be9fd215e827a3e98b03ea3e1f353039f5190fa7d75a5e59dd5d89ada982518101fc5164449843656c60a65679dd82061dbfcb95ea2";
   hasRunfiles = true;
 };
 "invoice-class" = {
   stripPrefix = 0;
-  sha512.run = "2a4048d0d1046ee3277ec8862055d167066f40e8fa77427621a8d00fb8d87d09fa08ee0bd39867137aa12ab730a8df898ac3d4dc7c7fe133278cfbc9af0f6f67";
-  sha512.doc = "65f50be422a060aeeb29b5dfaf2646d0c7bd453720c548ea596bcf109244f03aa0fb0ae727507f2c223399c91a28833cf5f814b2054408b198535aaf5ce0da39";
+  sha512.run = "d31a445c1696741dbbdeb4f035358cdabc9a4ff74855c432dd2b6d66b0d690e65e400207bafdb643a1ae7bee3b3472393043088521a685251acaf9abadb08769";
+  sha512.doc = "a3ab71dd11f6aedcb7ce8a89f8b97f8a18ac4c610e3460fd13c1d31b8db0d347d25ff6520af7bd4d37453759d03db384df9e69b281307a36a1d05b4beed0a60f";
   hasRunfiles = true;
   version = "1.0";
 };
 "invoice2" = {
   stripPrefix = 0;
-  sha512.run = "fb055a1465083701bcf26b6ad296f81f7f49364e9d4c802f812333109a5fb2ec63f6afbf777dd8528f117e5a65d035160140e7dda024cea858eaf569841093d6";
-  sha512.doc = "ef8cde71c1f552ecfca199b26b0a7439b07092e4bb827df19f2812f680655e5602bb47f0c3ec3a2f31b379df13c9f08c27a298449f252beda6c4644bdb950033";
-  sha512.source = "06bc86f3eb255ba78f7b4919748e9304117617345e532a6075b72c1050507760de40061ab2db5caa8621da433e80b17b2fdaa1e1c02fd6ccd85fa781fb2caa72";
+  sha512.run = "a790c180fedcf407b999e018cd96b1a0440b07f98c403e9c9e780863f2ecac4f4559ffb88f6a3e4f6080c89745d8a99e5ca6ee98299c7529972edebe68e00eaa";
+  sha512.doc = "fc4baede264c6fd1ec94338829c6973c79c04f21284532194196063b3499becf2bbc2933644ca8b870608e8879315f724b173bbbd26548d24e1649929feed7d3";
+  sha512.source = "cf014bdc2debe9e400d940232eb434b1354ba7f1a093c7389c5b1d332dd2c270e7e3c1f07d65ffe9fd5d2d088e59b3e846e2fc2598eb7297189d6c772b2b16ee";
   hasRunfiles = true;
 };
 "iodhbwm" = {
   stripPrefix = 0;
-  sha512.run = "35a66272cc4a6d9e9f7e8592965de52095f6b53a61e780af67ddf02333656e503002b4c244059efde7f682509b958b99fa78470e28d5a12140a731124cb29279";
-  sha512.doc = "9f24ef6671ae885cfab0b1e08e6fd3ab101d46dc3d5e4af310fdb46d70989f16c0a64964013753665b3bcb05cb15aa6505f51e0883ff9e458fe4bd401be906e2";
+  sha512.run = "694c87987c02504c3e9d4db2c094582b0ed979d240f569a8d8fde37563885b23fea977c6671cdd7be464d7fe1fe2870dd321afd59ca5a33fcb7f0dbc6d6a485e";
+  sha512.doc = "a94dae7e699365fdedda975b69905861a2187590269ffa65256d97e28c8b7a89facd79edda6b4b177afa18df3b790c6a2e95c82cb59b475a7a2e57c7e26fcf3a";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.1.1";
 };
 "ionumbers" = {
   stripPrefix = 0;
-  sha512.run = "2864db49f4a2ad24fdf9ed91006347f09186a828ef2103fb08ecf12cb145af0d41e92127dc3a76c7c32761e2e092a57b358ff9a8c9bf549b381fdca1daa0ec34";
-  sha512.doc = "548988dca2db6bf22af23e520ca83f0a085390b2d09546559e0246b64749a276eb7cdb6db9923d1821e4156071c83dc3e0aeea6578a9716f059ffad88118d4fe";
-  sha512.source = "c06bce4b589dc8a9f2d19f27f8c5842ca4a508e83b915507b9eaa39dcd47e1b2363d6c5f14cb4563184ba7c72b4de7846e85def32c671395ddb7ed79ad97f4b4";
+  sha512.run = "f964955ea6470a8906dd7623bd6959aad72ab4da5cbd4c32aa78cb2350cda05a1f577316ef97cdec9658deda027429462b70bcdad18024f255191b2f6cd7f99a";
+  sha512.doc = "5bf57ed5617846d10834f880e4a1c029547f1ac678a52be3e79613803b4e6cd0986887f2a44a0a4bfabaf9134ef39c44e420a12047fee81fd34243ec42c5262e";
+  sha512.source = "f7d0f56de1a00761104fa7e9aa13f1ca4b9ef97051ef2dd6d28dba3066998d53aeae015d956dec0d3c771d85f6553c5835e4a9bd9d83dd4feb65591d6c613fb4";
   hasRunfiles = true;
   version = "0.3.3";
 };
 "iopart-num" = {
   stripPrefix = 0;
-  sha512.run = "0b1fbd2e8c46d777d5ce1009f660d59757b9c76903b13cd24e13a8e1b0d32852bb233b5b646785dfbb1ed9f99fbfde70baf47b32ea746c2541cb3a6c822fd9c4";
-  sha512.doc = "cf299cf16322444dea007f93cc226a5988417c2e1b3f3cffdc51e827ef9e25eddba98fcdc2b6fbaff2633fa500c2e999cf834e45942f99024214a04c7c8866b7";
+  sha512.run = "49fadfe2a8a1796131be814b170e270e7d39c035419d7e546e57d2ef1fea13d48b2b022eda463829e1bdbe60233d361773321d86070420ad2b63b48154adf18d";
+  sha512.doc = "167b0612883558f74d7696a6c9481fbb75e9ef6e7760edc4f79d81b3e1d7a344dc1efbf638eb4f5ba69be7002391211024f7aafed2e08e19fe559b58b0f7b1b0";
   hasRunfiles = true;
   version = "2.1";
 };
 "ipaex" = {
   stripPrefix = 0;
-  sha512.run = "6925d4abf2524bdc5334f496724bbe733aa305c10302e5cb4674fa3802339a0fd7a4177183de67ba2ca78f70781c3d929057186173fa67ebc75943d13ad9f248";
-  sha512.doc = "a6309bd2940c3da45538b1ff2aa0404144e9054d90973ad63f84be23e9e7f2b88de5aff447bdc99504cf5ac855dbc8a3efa3609f921b002f173bdfddc0f99672";
+  sha512.run = "c15157c117594f670a5779bc33e1cac043fda730e2b7a95d781470da2f42075e387d2a939976d469f1b0d05804b2907a7daf7ddb7d9f45074239c6893d89c21f";
+  sha512.doc = "04fca8414689b3b828937ba46767415b3b2de1a4cbc87ae95f790aee4bc82b658c1ff0ff705bea0c45952589693cb357cdf00c1721722d7c340a32f502d3b961";
   hasRunfiles = true;
 };
 "ipaex-type1" = {
   stripPrefix = 0;
-  sha512.run = "5bbeceee2bbaa2748cd6ebf3954c598db8e7d72a04af75e0b6aad510cab9ccf0812c0daf17da8b11d5676eeea10ffee8af6f35eca063fe5784a8563803b7266f";
-  sha512.doc = "b35e123b658b609cf103c41adedc154b1a9e1cf7d69ef575492c7bd8cb5575ea5779532a3a3e85ce9796a90427088af83b9189f3ce05b51e304ac08afdf775c0";
+  sha512.run = "0dd513aa3cbb9dba7e1099f7f08d839e80002fc5f5bcfc2a2a013dc799a0a6389f128fe72ebc32b673afd66f3ebbc7fab9b97c31763f94b7ad64eebc83b2f569";
+  sha512.doc = "1c2974ec35c0291207ddf560b6cef4cb5b161fb59e80a6508b4f88aab5ecf93c6a3dda2a3107a40e838235f5af22ce23704bf4f13fc4a0b344f0805c29655605";
   hasRunfiles = true;
   version = "0.5";
 };
 "iscram" = {
   stripPrefix = 0;
-  sha512.run = "529aff3b63d5fa2d5bb9f93c9127d5d1d03050b0153af74793dacf29988176bd53036e35c4447d982430d6344766d9711ec800fb1c91ccec66891353c4779f44";
-  sha512.doc = "afe9ccd889ed1573c60080897b8a2a3b17bf3c38e11504896a04228aa8f8dbfce5fefd1978cb10f6965e6a983563ec1c72c1fb4cb2f59034f5c3505feeda4604";
+  sha512.run = "6111c93a14c28572c17a1336fdf00ddd16b6c04b34b4a10a1b4a5e46742852b949cc99438397895de36632c9f2fd57c4940a0ffa458ac148b4a5e49707e5ca79";
+  sha512.doc = "24f5ebac7b8bfa826cb9ebaaeac0ec82db18807c5c3417dac53c6b636f6cb32b60901ef51f0d545cbe185ef0eef034404d3120c1211bf65c4ed4d155c67e19d2";
   hasRunfiles = true;
   version = "1.1";
 };
 "iso" = {
   stripPrefix = 0;
-  sha512.run = "7cc5c162d0437a95e5640f9b320baa824cfe650d9f0cb8232d43a3fd3758a1efd4e63c0605162a6358c562787e8d813c6dd10a65dba758e228bff33f7dd4b985";
-  sha512.doc = "07802f739ad364920f605f8c783211b0e296dccab57e227397c188a796af59b667642cc4d84f6d8e053fb6fab42d3be6a57ebc8c350f23cac65b63e30c86558a";
-  sha512.source = "29c4a6ff6c5d5b1b7c943245b8aa80570d6ef884e43daa224fff661685998f4d1d28622b32b44a7510c712e6354d4af99aa5395ff98019428ba000e7d26b11bc";
+  sha512.run = "1ee4026383b28594c02ee7a3fde24228ac777814456fd8580954b1708ba3f735b563beaa291cea859c6492f8b9cc488635b67e373fc3afbd8f884a3b6d30a392";
+  sha512.doc = "f5c874d3e00fb451f81a52f5711ac0b1c39ce48eca50a6edc0b1049bf4aeec43830fb534e207d852bb440c96bcb86d960d5e2e0670610d7cb9eabad2ff1451a3";
+  sha512.source = "c40bd267337a62dc7dbf437087e36e569b83da7806f801017ad3aa8b3059409cfc51c32d83e9991b7fa0c9b2e7eb5aed22f841670196fa9f7080e5398a098d74";
   hasRunfiles = true;
   version = "2.4";
 };
 "iso10303" = {
   stripPrefix = 0;
-  sha512.run = "d0911a77646ea4367e76f03173cbe4d445782ab98cbd36501a9af84a5c26a876c94b8cd59833eda8b78a3eb80c0159546f3e108777a386538b23c83618372e81";
-  sha512.doc = "4b237ca9baaea13234a0a540f7618fcd7dff5be9a0c6f01a82782b44b2a2760fe8367fc1662cc2231f179ddd33e6aec1737a0968573e3be2bbf305208130004f";
-  sha512.source = "b87353745a0be9dc6c8070f4b9e6d1621498a414c482e85a3741a684123841f873d599705ba650922e9f76f87076a0901827a6c074fbee20045a34169abd0ad8";
+  sha512.run = "40a36335c15b453d2e5b5abc29b2ec1891c6f1502ee2f8ffdebd2f9a159cea3aa28eba7c661c12a0445a4f713b77079d8b965ac955123fc81225cfd4491e5317";
+  sha512.doc = "24c2a83508282a348d6748bbf722962f3ffcd193cd1cfafc4ca1e87c60622e463e5fd382ff65235590f2a9d629e8f40588630810036d2195172f61d1448e3dfa";
+  sha512.source = "27cb8dd236ad5f249595d963282054eb40de35d135cbd6ad6a106941955e0abf8777602fc341233d22feb1073980341d31b6e939a69097d3776d7e20096fdc18";
   hasRunfiles = true;
   version = "1.5";
 };
 "isodate" = {
   stripPrefix = 0;
-  sha512.run = "4467d4d48c4b4602bde671ac0362517b525977e848dcc8f4b044c4261cebf6c0710824d8134498b391c619a5ac5aeed456b0f56f3e90068c09d9c3627fcd9853";
-  sha512.doc = "815eae6e63cf7a72ffa10465dcfa18685a64a6f632e07045edf5f41a099fea520d7902029a840705cf3859c9798bf3c8ea9a87ddf7980112f20fe2a37ceb8fc0";
-  sha512.source = "ce8755490fd80c68da081862f8ead2f7120cfe19fe58fb003e57f7b07a693d6087873db7c6e29e12477f4896b93c6531a6d1f708306ced3694f2cea7dab7109c";
+  sha512.run = "5fa145cde64155e9a4ca7236cf41449169ce0d1aa88381b46935641ed94d166429c1b139c852f96526dda270fb85736ca54e8864c32452996109b0061003639d";
+  sha512.doc = "75118f62de8568c9826dcc11b753511f57b7fd237cac6aab1c75377121fad2179c81ae5ec5f64ec127a299beb88abc209727d17b1ded623718c7594bb7ca5da0";
+  sha512.source = "43bfcc11aefd2c68ec96cf05f7609cab4009f960b5220bc15d982ad384e062bc42a791f269d5480bb1582ceda68f8c7d36e1308129aaa3df41d25d35cbbb96d2";
   hasRunfiles = true;
   version = "2.28";
 };
 "isodoc" = {
   stripPrefix = 0;
-  sha512.run = "ae0e23d61388e41dff59e77dd15fa8ff563d48767ccc686b1890c20e817270b9c331f11e6d5841dca8060bf3f25f1fe089f19908a31dcc526d742c7265d600d2";
-  sha512.doc = "4c70906182c5b033ee55316c74f93f0c26fb8701dada71f83bb4add4d37e3fcf1b1c4a81a9ddc6093032fdc68a0604354001e1a53a2b0efe66bc31861071b923";
-  sha512.source = "8f6855693b2b40d8f4956ea5035f3ab040b3c0114455f198c1e0d7199f058e6ee869345a57b1846002443bee0a339eccd555d8a230eeb3268c479c7a856bf3a2";
+  sha512.run = "09256daeeb683ad518302f29d5385b4a084dce7fb6add48249fee7ed9920c1585f6c7033b19f466d9bec3c396c1b7950c65cc736be650836e09d3304c14312cb";
+  sha512.doc = "0e215043768c2b55d20aef9ada76bf0820e9207ecd3674e4769944885477db9392aa978a90f221da17d75a010844e87988a3f449a29cfccef2c9560d5a98c903";
+  sha512.source = "ae4f54b4c8f8b2d1d9caedd6a89e45e66eefa47a155808b8c9f842b3976fac25769dd349cb5d2bea006dea042a275d5c1396b8a98e4c65a4bb29f632225ca49f";
   hasRunfiles = true;
   version = "1.10";
 };
 "isomath" = {
   stripPrefix = 0;
-  sha512.run = "70c46b16cb90b587cb85be6cd2d88f0d2793fc65b9f80656a0f279e1dfd37fc29b0c696cfb2a988c729e410b1f6d76939156ec9b2eef12528175a8e782afd44a";
-  sha512.doc = "3e7d4c871a554def747a249fe38761e709de9a9a23ed1e21e90855ffae33d858bf40830791e68903b7da8483f9c19f95ee95d4a02f2dabaf29c34eba83e9c1e6";
+  sha512.run = "c9ed49ca5df0932ab59de0988de688fa119682810c3163ec530a8cd80f439eab858bca4dfad85567dbc2de08d226117b4df5249ff29f247c208ae2b1739165f2";
+  sha512.doc = "55d94c6b4cf4c2ebc0eae4998f8ed6a1f450efa70e1644549e169cabcc782f1acb879c99bec5237e3147886c696c36f675e9f3c452da9f9880570dabf7adc5ad";
   hasRunfiles = true;
   version = "0.6.1";
 };
 "isonums" = {
   stripPrefix = 0;
-  sha512.run = "03eaa0dfda4740c5bc730083385934c0935271d6b7ad77d6747cde5d7fe22f3ef6fd64fb287aec933763f508720915acf947c2cfe773b390eca965b30251f224";
-  sha512.doc = "76d4be777fcea2cd8647e2d3720b72e3dd349363e3f263868b277bcd4a2469e48e4cf2716e35e1fef56b2449d17ebedf66a0dce5724a16b2830429794714e363";
+  sha512.run = "d82a96c2208dfd59f091b8316d8b496115ee56d51e5418344f128418c3b202f0ee20bea505c05f5e81f76006e2efcef48b2d3592bb5c550e219b5c8e4a6e5f4e";
+  sha512.doc = "5ecd4587ad6d782182986592bb7f76fd62ccd2e9245921b48ae28e9e381f4084e0d5930b32815ebd074be4190fcfd6beec8be890014edd76e9a5b4958f71d6f7";
   hasRunfiles = true;
   version = "1.0";
 };
 "isopt" = {
   stripPrefix = 0;
-  sha512.run = "a3087a33a5df7f5e67dbf58060b01eef2f4feba4aefce84da65ea49dea15ecf72a013993511870a37fafb67b2105506ac0854158c3b66d8e6ba59819326d70d1";
-  sha512.doc = "10f09a197037821e408b5f90f1a04a4b05c2091997d41a285bfdd0c6d27cf974468bd32d3e35d78861b061d385a6b5a03eeceb1cf077f7446d574f6af33e1263";
+  sha512.run = "2e313aa3afe2e1457a794834c1c5eddec66ac2d17fb614e15e6781a23ca0834a3fc2d68632b07e55618c6d8dc28de5bb8bf435e34f61a419cb27fa53042d4a7c";
+  sha512.doc = "94498c64a4acbb2b41a7e4869b628c683a975f1ba28a8b721b9c44843574610a47a39883f5333b405bb8c02d49f50c3d9ee4f344c27b5e5c0d22c181db46bac7";
   hasRunfiles = true;
   version = "0.01";
 };
 "isorot" = {
   stripPrefix = 0;
-  sha512.run = "8e574c8c7861cd6ec143c61ac22b2c884e7a8ecf9a4ef890063844174bfe47ae7a263530c4745a211b3a401d2036181a74d34399924b7db071629ace033920f2";
-  sha512.doc = "7e33a76d75dc7296bd0f2953694e4896e7541dddd8fa0139a6c681214fe416d8f5cffa387337ceff07d0aa6b25cae8772543b477bc55f19f2854e98f9f3dcc39";
-  sha512.source = "8b59fb7c3b3f80ee6f27e53e89f0828da591242fd7e18b8eda94ba5c5ea37a17e62abad61fd44ea0bb7d7e9adaf80897b65229d9400a1952530472b3e23b9fc5";
+  sha512.run = "788b712fc11f3e4dccd58a75a950752d0492dbc30f0475dedeb26b86e500d0d23c4babf0dfc2361fe16e74d7b37d8f5605b4d4faf1e7018642a5e9dd1be73be3";
+  sha512.doc = "4aed42e6fe61aecba99783a1173d903daec621e7d5e0867f6f73319804bfa7727a2a2dac204d792b76a98f8e291bc563bff364360b19ccede2b79600a59260d0";
+  sha512.source = "99767e98f2eca92d4f0d8e32024805bea9646f10eda7cdc7fa5b325de04d6e70648c1e1421172e2358d7a6ef7eeca718db3e31e7f272160ddba2f24e4c516888";
   hasRunfiles = true;
 };
 "isotope" = {
   stripPrefix = 0;
-  sha512.run = "0646e95955bb48b78760995842a5a97c4f1bae8d7cdb1dadac51e10f927606bbf56debf1cd8b4ea0ba334843dd8d6c7f05b4a3cd6edf0b89efeb0239bc04d72a";
-  sha512.doc = "ad9f3c26b3609185114d2694b5c90472d3c7006ada6e87b203249dc9a43192ad25e0bd21b51dc5d72bcf8ef702065fa11b18441e531fa830f2fb2a80723bffba";
-  sha512.source = "64975de3e008b588c670f9ccf29c66c4a2042e016f82bd7c92473c05e68f972becfc60fe4e28bf9826833c86909b102087c6acf29d0a3a75d2368fa332132a89";
+  sha512.run = "27c03c4c6519c038185ee485e94ac51d90c21fd095e4a4cb6d91b06f98e7adb7a423a53b1df035514f58cd0556ab0ecb1afd55c05008e558812d95de2159c8ba";
+  sha512.doc = "e1a6e798f894f9455e5d2144a935ee2960199e65db0499c4a900f888065eacfce72269f6808e01e98be3ea3440144eb4004c53af26d80d6ddda1be5df5492b1f";
+  sha512.source = "555ad9d5db22d4efe1373bf971f441391371c91538b73f3140996d3a2dda85fc3003f6d685c3e54c06be216e5b54493d07f165c0a7adeb00845e79bbd9958c5d";
   hasRunfiles = true;
   version = "0.3";
 };
 "issuulinks" = {
   stripPrefix = 0;
-  sha512.run = "a56207011e2f171f06a08754e5b949ca169d681f7d068d483474a718415cec5c6567ac6a5a69590d978f3c693a5028af7a81797efa8405ee1a6749183e4110a1";
-  sha512.doc = "53588f04fb1160cea73713551d603339b32a7a3e31578deb66616a3b51fa9913e74c729acb10d363169083c26725c503d89f16fb1c97f8ccd2247a33dcff604e";
-  sha512.source = "efa0a67522f16c9aefcb947bf5fbad0e4ce6d0524b51af8982972f9c76c7c1faedbf1c2190423758293207246447278044f240416e36139a35e0c713add9eefe";
+  sha512.run = "2ac24eb0e19b92e29fa898fcb8cca7e2f64cf87fac408aa0c834f6afc0ef262560a512637b30dcbee2ec06e9f0fc32f344258bab983b1b1d6fd4da85c821c056";
+  sha512.doc = "2605ffe2f42560b04fe781efe3c1972ad76f6cbddc7ef68bdb0ece9b0573b8cec785c2bf4befdf339935730a728bf19b83f3597119d3f9705f571350e963801d";
+  sha512.source = "c66f332f9dea7a03a0ecc7844d99375fbb91ca262aa50faac13b9b396db0991411b33616aec6c1af22e915e3643e7340e0083635fb40b6e693a4e487e1e45fed";
   hasRunfiles = true;
   version = "1.1";
 };
 "istgame" = {
   stripPrefix = 0;
-  sha512.run = "a4cbca6370d3ed63e7d61990569c03496352fe438c6f6f2508f215449369c3e9e10ab490f48ca5b864dcf0fbe79befcbcf1180f4a45a531f45bef99765c0b764";
-  sha512.doc = "555f741d68fbc246eaba550d8d7644d8fa71c7c24a0db074c60f957f1d10524b80cd95df8af5d2c773a38769e353577f46e083b8aec687738ce8ef258d97864c";
+  sha512.run = "3380e604bb3153d94ed21ca3c5fa16bcf0d81ff3ff878a3f19ee3f1beea0ab32185ea9d8b0118eaddfb15e483d040bbc5f915ab7bd3033978518fd30aeb5f609";
+  sha512.doc = "9838728c32479b6a1229d2f9e9755209c07520bd691452bfba81a62f21ba929237bc916c5f49523610516aec6c054d080086c82be277eedd5fe4b0006b4be8e5";
   hasRunfiles = true;
   version = "2.0";
 };
 "itnumpar" = {
   stripPrefix = 0;
-  sha512.run = "90600dee91d73049cd9d80074d2d137ac839d61b9d4d8eb8e924d3f529688eeafa835565ed776c9aaae2a74b58d436fa7956be220422cfd4d6787c899294562e";
-  sha512.doc = "85288b2924e4350a1d1ee209fff09cc05e2c7eedfb44130e1e6d66b1d7659f3661fd00c243840c2b3b7e5a0b0c945e3fd409dbf4420a5dbc6480bb6e78b04349";
-  sha512.source = "95423bef9a2692d18961e40661047c381654d94e86b5ef084c5239b60b5f91c82b5fcf8989eedd363e4805de4b3461a08ab295e781f5b18b70447b69e06efa5d";
+  sha512.run = "73770854d45bf404e874aeda0d0bc95dac7ba266cb012fe4af7c4e7686c078b1314500ddaa767b1652e9b05b02691c93cd24b34d6b145fc30c0a3f56693f6a17";
+  sha512.doc = "b7c81a74d816508121f0449580e4599092bcf3d176cbf9f754fe9e662d83a5c8b66e52e43b2621338a13b09c44babac6a575f1e8894863402c028dc3ed792486";
+  sha512.source = "72ad2e68d946f5a862e97c3cd3f20f94c23a2a85fa5183a6da9b1f03be60067a482b2f22e7560c5c731df18f910f643f0c991a2b0c09925cc270287290654c86";
   hasRunfiles = true;
   version = "1.0";
 };
 "iwhdp" = {
   stripPrefix = 0;
-  sha512.run = "ae98cb6a8e1fd1fe3cb721286c81aa0b54c31490e099ca862b597da09fcc6f4f33d13c529287bec6e671aa59d49f3d221de3a8579af91729b444200a72bcc3c0";
-  sha512.doc = "436464e737abf05717e39aa8077bc6172e6ba359e6391eb5c566868542d8fd32717ffc871e61aaf830a1c96ceda47ca430029665859520b5930e91968abf4d06";
+  sha512.run = "7153fd75ec63a6abbb4d2bbda8a5eb150f4b202b72baec8361a810d28aac5690f76e4099ff3a616a44077337ace469d6a111d4e42ad8d68428144b7fdee58575";
+  sha512.doc = "f75a9d0ea4b69de5a82659e18a0ea04544c93b056c52efac534e16490a5ac78b329d700f2ed7b3e8564a72331489106bb7e735c44b3e24ff943c6ec0b89eaef2";
   hasRunfiles = true;
   version = "0.50";
 };
 "iwona" = {
   stripPrefix = 0;
-  sha512.run = "2dd5001f4c302cf8f889566b0891bab13ce45bcd7f99acccf1f8ef7f1ca7fe8e663369e473ecd57f25a703930896cbff10cc5a5c943ea6039140549d5e6c1966";
-  sha512.doc = "ab62cdddb9557f4e2d0fde7aae7987e99da3733f8ea057cae5433d8f88399eaefeac80a3b45244a32414de7be819c1cb9d35b326b9bc2836d5b5e9747ddcb013";
+  sha512.run = "2a125919a015c82e00bff575407f02a6c9a176f83a6017df682b98af55473e7e36ca0a94ff27091a3a4279d42fea9c49f0d8ae6da7e852ae9c44389dd5d8f7fe";
+  sha512.doc = "87128ca46f7f2f13f8f886fc1c3da11f17636637632c0d39ebae07dfe70ec92024e1136da7a736a3fc8d494e856b86407ef9c01cd54a56fc2e41372bc0f1c4fe";
   hasRunfiles = true;
   version = "0.995b";
 };
 "jablantile" = {
   stripPrefix = 0;
-  sha512.run = "a3d6a7f0b76eee7c9c4569830d46cec4ac8bbd0637910dcfdd0ee29ecf2cc1eb92e2a67f95ad4672b25658521af649978dc0127c8759647d0be38e5654a03582";
-  sha512.doc = "3faf8ae22f5d4f8403f71d4245471f0e28d7a5766e0a332da0e2d3d9b6db468f6b4828c5b0169a42459a96cc124da1ada7c6431dc8c0c69cf54930c7d8d99913";
+  sha512.run = "40fb96443b2194adf8477a68d9d435101dfa42471d02ec48a37968d21e12802ff1feffa830484642b457562392b6ea147d394734acdffd735a8a5db421d0eefd";
+  sha512.doc = "00e753a85f3521ac0c6f336e0e563bd0a68a5e2ae756dfce72d3cf59a01eb9654b6f5c9ad9b83047d3d4f7743b7cce6f2d0d734510532db13942ef6619ae813f";
   hasRunfiles = true;
 };
 "jacow" = {
   stripPrefix = 0;
-  sha512.run = "7f9cef6c3f200b6be71547eae17127e27d2bcba240d376544b95a3daa79e1e5f08bef1418040c24b40baec974716b043bbe510dae0f210141b3360018cf739ff";
-  sha512.doc = "fc3c88d5ed43f9c9824e31e43b4f6d6a1ebcf07e396606547dd030fade8f7ab392932b06601151916daf251e77e1509cf9c58d88bbce304ebe15b2ea12b7b64d";
+  sha512.run = "11cdae5bd4387f11e30200f72ebca29a0c19c61a44570fd02de40dfffe1b7578defadb15eef1b7e9d06d5f394f816ab8a5f46994b3a225be446c693dd23796d1";
+  sha512.doc = "6872a79aacf4a59ab408fac511604a596c40ad8dc991d0519afd75590a1e3b06ab24c3b7ad33eb4a8447e14094fb34e64d52cea75fd4d41b2ef1e600b4d12d6b";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4";
 };
 "jadetex" = {
   deps."latex" = tl."latex";
@@ -15617,407 +15966,422 @@ tl: { # no indentation
   deps."url" = tl."url";
   deps."wasysym" = tl."wasysym";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "45e8dc0c6ac803eabed2790fc7cf8e2247cf9e2ad87b118a472660329d63b5d8946219ca0c66ea3fb0e20ab940bf3ba26fa20e9ada6c4d21b2f54c4e5f56340e";
-  sha512.doc = "ffb5459b4656248e957b4384bf3f0f96fc37ee67cf4e44ce41be336240f9b92a4d345e915f04ad5f2fdf8d4ad7ad39a46a0873c14af928a5b6c41b03c35a706d";
-  sha512.source = "4a0356ba4f0443a40ef86438263fcd67c67b4a3e80c0b01e4990fb6bd34b34419dd594c8f3ef959e87c640d4d6d625195bcf6adb417bc855ab97b02ad9b004c5";
+  sha512.run = "7a284d9eb0639b64299b59a3b29cf939786590ee7eb289a7f67793ac10b8945272116015d7ac8732870eca5a2751e17e9d69946664620cd8617d056f505ab85a";
+  sha512.doc = "00014ee9e648cd179c8435c1eb90c804f8904ed890ab1c3f93ce8a8e04785a493682b4191c1790a1c0945761fa193b6c6f759e852e43445e896b0c97870247d4";
+  sha512.source = "a9e70b48db9ee9fe389889acf512bb9db9010fa61e19aea210129098781d8f6f211548b1392ed2299945d7bf24cc213d43fab2fc7f792ccdeb8dce6ec1dab09f";
   hasRunfiles = true;
   version = "3.13";
 };
 "jamtimes" = {
   stripPrefix = 0;
-  sha512.run = "00db9f45801060d06c3bf64c62ed17cdc6af397479be2ddb0ee32c10d059c47f5ebee7f8900d1b3a4dfce179a10399d0a63f6ac4812c774bf081e1f727ca405f";
-  sha512.doc = "6c6de31871bf34cb2ed2147a43cab003597e62e4480faee70f49a479d8d237c77b90d631cb70956525b2363daa3a1dc60ba503c09853836262527a6322321750";
+  sha512.run = "72e2dc3995f173f75aa4714c397bb036c140bace3b17ddbf321afad677ad397c2be804c890df472f89e15300d4645d02d8ce3746c33fa37be85a9d9312ece3a7";
+  sha512.doc = "bc14db250b9d34e700c0fed6390948b39022f7ba39cc0e083c6a1355517fd10aaf7065f6ca90f40a50aa0cd6557a35cdfb1534aabff12ec6c462a2fc87ec699a";
   hasRunfiles = true;
   version = "1.12";
 };
 "japanese-otf" = {
   stripPrefix = 0;
-  sha512.run = "ffa12f631de025553c73599afa0bdd0d8375e2d49dc3d854ac77135e8eb80e2414c36139180d81cdf33c855f42e1d500b878835275c5beba6934f1d8d08a83d5";
-  sha512.doc = "bb0fa39567f27db49ed091add238960ed5b1ce826239b7b6a1dce38b8a639b98702efd325d651f11f1779253f0ebcdc894a7c0371648093cfe0a43764421349c";
-  sha512.source = "2d1ec9ee99900d42ee1502ef3c3f1e343979158e94ba7995203f208a1e4562f5f26f4ad6854e712bc8e540327e8f029914c66b598381274131dac0dc97f43700";
+  sha512.run = "e62e32e37fd460dd16a5bf62423564a83c6fc16a9b485dafee5f00fd4c3342e3b94c78731e25a9fca3aebf9cdf91a4bd1ae6edb8213699adc4c8e7d139e14ecf";
+  sha512.doc = "90d9247aecc96871f1def7db153266d9c42292c5f0fdd7b835392cdf61d2b15c908e2895868121dcc5dfd508c75c1b7424104412a2b75e430a8fd2f0107cb085";
+  sha512.source = "e3cbd6b664fdaf62ef764bf10c3f42086d541805d8ddcae3557f19bb607678fadbfa2e6d7dd97e9fa914a7153765c63eb0da6e8a89506a8e3b453923e785e869";
   hasRunfiles = true;
-  version = "1.7b7";
+  version = "1.7b8";
 };
 "japanese-otf-uptex" = {
   stripPrefix = 0;
   deps."japanese-otf" = tl."japanese-otf";
-  sha512.run = "7499ff51cf68dc5b267c129c2dfe0d773c5cc489faaa8373c2046161ec9fbfef2c0b16b88c55e44953744649d66cbcfab8251995a89f5bc1798e72b96a895564";
-  sha512.doc = "f0f80006e30f9f303fe673aef575c5423199de8e438ce617e59d29f6f7c734f4aae7ad0c0ab20c22a2cfce439d62f134206c48388975fb6257d3de5cdf9a4d15";
-  sha512.source = "9dd3961f3505f0a6ce41221b24a9ff7190a8ff1874523f6d878cb725e82a3d258a0b6edf96a224c222cfd854981e32e121bd4a700a7425277d037316c0811e71";
+  sha512.run = "130d2667c3829311153121415d27d880e475e121a16a8f739b018894b93d2f45200e50c53ead912419900100d596ce2cf6c047a201423690ea52ae415d82982c";
+  sha512.doc = "fc672ee767090c52c2eaffc6cd42e74763f879e66f45942d30515a498eb83b14786e52afc98ea4a47b349687dcaa7e782fbba4534a7adaf56cc46796f79a6481";
+  sha512.source = "0ca42ba766cca6d917cb5fd435720bdf6ebffc0aeb5817e725977da51177178b14c15a8f5dc1d66a463934690abe338b669aa968927919882359f39ae01bbed7";
   hasRunfiles = true;
-  version = "0.22";
+  version = "0.24";
 };
 "jfmutil" = {
-  sha512.run = "252be1062d146a9e0419794066008c9bcda0300360da2583489ed572d30dbb5e96ed3dc2216d0a798a6b71b1d8799b1ba66c61d1728ef70f638fbfc1c97ad6cd";
-  sha512.doc = "a786b9f14a3f8d3714d582c14f25a6b493fd9682be61258927bc889f1485bcf439ada3d542f6f3dc9989cf729173486d65fc40374833721a30d78318b5d3946d";
+  sha512.run = "8aa9ff7477739e75824f7c7242a02cf6186fa1a7a37ae145f7fbe989d6a7fd774c0428c60575609b235cc8d1d4f0f108cf6bdd7cb1003a0b12b6b6700e9414ee";
+  sha512.doc = "b607607ac051370a5374d57f2aebe33a2763029bee0e7cd8816a614e3a49728d4ef4777ed5c8de4d9f09edfbf3524959c3f8e644d811105e5c69d93496ea3dca";
   hasRunfiles = true;
-  version = "1.2.2";
+  version = "1.2.3";
 };
 "jigsaw" = {
   stripPrefix = 0;
-  sha512.run = "959893321521824e84e2fbdc0ee49b1e58e0cb3f9bbfbb7a82c07668b254d1bf7545acfcae25d1e1d0c2108bcdc2abcae6cc5689bbed7ad57251382ffef37e8a";
-  sha512.doc = "f58c52269ecb1af5d554b627bf4f52ffeaf7f206a752edf8be2c9a822dfb9b4ff5b5ea0b969aa229cb99d18d13c791ed1f9392bb3c88a3ed1c8ee157ebd43a22";
+  sha512.run = "3bff01425c502c98894fc517be9b4af8ed48bd5a059835fb850ad1c58a2618998967780a65a5bb43946acecaa397ea51fcdd051dc2b8c863e27b55fd3beb5230";
+  sha512.doc = "17c263228124da3f17ca338738add762992e2674b0e0fb80e250c8302cc59d11bd1017a1d4e005a7c9c9d66444a91851cfd6e505a5e1f6fb73aef7d5ee703d31";
   hasRunfiles = true;
   version = "0.1a";
 };
 "jkmath" = {
   stripPrefix = 0;
-  sha512.run = "f55b22a4af38ab63377a34b882e273bae8d5bf7b81e2168592a5e58245d83420bbcdbc6187e6a59f4f4b119bd945fb0ef83f9673142988362b682011283c1469";
-  sha512.doc = "b51b92b3cce332c4b5db5ba239f59c2a86e898bdabc4ad2ab4ecd7a1be9c9ad6616b926cadf726a82b2b8a37b619dee23e546cbcc185b51a8e73458dceef27d4";
+  sha512.run = "8e549db42b25c2edac71013afba0ebe3e09859ce4ef104da2b969663014cb88c10bf1c8899ee181070e6cec1b28d0ec9e5966d27f2176e2032d6855ded8ea941";
+  sha512.doc = "99a954f6eb917333a8e6c4e3437fcd16f6950e0473fc1a48c99d748246c97d5a3df5b96e0314a9ec5e7c6bb0b318b934c40070ec94df00546e49cf140aef23c2";
   hasRunfiles = true;
   version = "0.1";
 };
 "jknapltx" = {
   stripPrefix = 0;
-  sha512.run = "7ef3a3e6ad2b1205491035233ecbdd63550522baf22d8ef6a10d63e1564addddaee10274dbe6d62c74193d15b71356dc628f091125fb1c026daf8e3441f30d61";
-  sha512.doc = "30d6cf0847674483c9e4188a4ff1ee94ca12ed0969694ae76506b501c378355798df50cd87e8982fc626e5e323c5c721f8beab481cb1ba5821453310d0794876";
+  sha512.run = "0369405034393ea8de2cd94497a97ba6c40264ec9142eefee09647fd4e51f83e169a99757a4b92c1c9d911637f137404fa54231de452bcd208ba3f9982984153";
+  sha512.doc = "cadb522c007963278990e75a011e22d2c6bd8429e55fe5ecba3c2f20b9ae13fda4eac304bc405440c1c1566b1458e0f3e77a6d4adc77117b20673204bf502131";
   hasRunfiles = true;
 };
 "jlabels" = {
   stripPrefix = 0;
-  sha512.run = "7b5670f939f812bc72fc52f7371e5239ab0f22ac8f607de803175bfdb6c9b5b7e619c5fa019d6a103d78a38440a3c6fa01245f9fc6a481dc3a6a9764b954911f";
-  sha512.doc = "f3e24f4c751ee83577e9e328d90051d05b0e3fe749e336d2587e9c9b798665f62c951f918be583b53eaf65c30fddd58943e6225822d555ae4ad573037554bb3d";
+  sha512.run = "5077471a09df4090e087a465e9d1823668ab80f088a7d5fea7d14559e9ea8906dae029a2093038ce5e9f013bbe3a9bcd74d8626e6ccbcaf7ebedd5c2f1e3521e";
+  sha512.doc = "7736480f6736d8b623fac61683321eb7444ca8672eadf0da200eeca928de9dc031152e4599783d602e9c11b58463b03fc1162756edbaa5bd3dc1f6c5b64e08a6";
   hasRunfiles = true;
 };
 "jlreq" = {
   stripPrefix = 0;
-  sha512.run = "d411549db08de2801d1bdcb1716ede6212c6bef6fc8ac4bd3ce81185e1a6cadd490e5ea80bf97dc9acdd734bd29f55981ff946e6e5188c43b42accdb005f56c4";
-  sha512.doc = "c7ca2e4428552a894a673c7770a3aacd2791a2d08dfcf799d7fb0c7ee52ab66ed2ca5ca7af83d3d41e2e38b4c5ebcc0582068179d379899e2232b284418b6685";
+  sha512.run = "adaa5b508bb35b7fa362f9a8b533f147214eae0b779169d2e35689050548c6245f29c10527dbe437ace467f176deb7f5d8a2f19ebddd667b29dc9edeafb627b1";
+  sha512.doc = "466f1083d06639d983b1e2d6b4ea502bf7e4c70e32de27f58c2054cfb4197258537dc531d3ed7b1a5d1d2cbd3753eb5fb67da73aaddfc757429622c2effd33c8";
   hasRunfiles = true;
 };
 "jmlr" = {
   stripPrefix = 0;
-  sha512.run = "ac07998c36b782e20a1fdcf16bd0deb9e878562294888d3b551364a19f83065a31e2a06f1276091fefd3c193726e02925039ccd08e24b9891ad9ec1f503a4f75";
-  sha512.doc = "8945fcebfdc5a68ae6c4cdec98fbecd66b16a2eab4f07c84842a27b8a77249e1f1b69e23882e81923a4bb8dd22f8e8f2ba5f3b9e773476733866ecc59e4eb526";
-  sha512.source = "a28adbfc3edec772297af1428ed90c7e975a8f4dafb6b80c35fc4fd7eb223881889dcd89961805a238fa4a501260e2c9dddecdb60461ce9b817b184f2f7317df";
+  sha512.run = "68e236de2bbf2e1658b2319f5c6ce8cde914c8be03090c0ce2893e8843e5410c477a9bed4cd5e5912c69fa4a268ec1ba5ed13d04f2f49395d60f0c72a41ca44c";
+  sha512.doc = "3b42e6e17818bbd8280e6501561ea746f754ba9b9a4d7483e7b74b40cabbf1bb634dcc4e27677c1f8bc68f932fa03a739cfe5b928ffc8d4ecc0872f263f352f5";
+  sha512.source = "706a99ddc53804b5d61a7ca8f65fe6acb7632dbaa8d3f7a4e9b11270ca5da1d38d811c2fd9ebd9bc5d4aefeec406f36cfbaaad0644051e59593c297a35abaa42";
   hasRunfiles = true;
   version = "1.24";
 };
 "jmn" = {
   stripPrefix = 0;
-  sha512.run = "e3fd8c8bf6e7a7bb5d7f18a134fc29b4c390bc1f5995007aedaebd08e1747bcfafd7c18c343647bfe7a6f1bdbcc7529df13427a664ff33a3aba6716472af3549";
+  sha512.run = "2e250c3f115911c56f9b8d46d358fdef289c624a5b24c9b4213bbf7818bf42c7b778df55d4bf181bce115b388915cedc90ef7cfa99ee6ad8dd621e7853fc7c29";
   hasRunfiles = true;
 };
 "jneurosci" = {
   stripPrefix = 0;
-  sha512.run = "7ac58a7715887e8d61f14e8bbb9bd7d3b03055fb69d31368e204bbb13eb570d93e76f9dd0ecde3c8cbf79819d31f160a6c7c5a6a23edce38c336c8fdb2834265";
-  sha512.doc = "ee1b93ca02d7a1d8b0ced845411b9d9e52fc39ad331e0fae695c1990754b52419febb6d457379cd148aac3d10568b69cdae531f1654004adc4f1cbb6cae1809f";
+  sha512.run = "1ea3d11a66045784c2d1abe0290d95482c5a2a65a21963a58d9626872b25bb0d20f8d1c3c3b8173bf7f63ed71f7c33e13c8f6dab0918585b36d72fa37dc35714";
+  sha512.doc = "2ed6a342b376ced405a75da39fff51d03e9fffa89341522555d2edf8d8eca701013a95f09f01cbf642d3ed1ba93a1aecc89682986ae5c94d784f3c857eaaadb1";
   hasRunfiles = true;
   version = "1.00";
 };
 "jnuexam" = {
   stripPrefix = 0;
-  sha512.run = "bb033c5d1dbe52ea882206d4ddb42609175246a9bff97b5e090b23f74f3e4b74f4ca4d5c6ded12cab909f395bb6ae3f86108ab84cede09820f68f65627c0d323";
-  sha512.doc = "a900f1eb51855724673ca4f9adce3bf65d5b0c036e0e05274347137920846d118cadccf2df0bd304b5b889074ccb8f374cbd253fdeeaaf79b543374d299845a0";
+  sha512.run = "2dc1aca90383740ae471a096c82e99b613841305f55d960b861cb3c3c1ae920caf8386adc56f6f0f5908b412c399a12fe69648820525ee0ec5edaf6cb7e46c48";
+  sha512.doc = "0a87e1920d853a08516ec039f4f87f7c2d9bcf28a0e8e1153c6748f9fc067a9fbf1d168e7f96d4dab59961d288d514790d79e31da7a117378055252f8cf9531f";
   hasRunfiles = true;
   version = "0.5";
 };
 "jpsj" = {
   stripPrefix = 0;
-  sha512.run = "cd6ccf7f0468eeef89592d0bc439c23ce396f39da63843174d85433a96297c8d311c000424e44a17b5a0214c6e8014b09b3ede56567f8f383a634517d7b324fe";
-  sha512.doc = "12ae57efffc699a5a62da79608a058654577100942f15b7d840c18aa61c55e87a3120aa224ac5fc0dcda42a4af81ef99e72b6f57ef77cfb0ab9e63228b1e7227";
+  sha512.run = "70b0e83af5b828e6a783d888adcacc504342e2cbe255d88aaa2fc3cdda629fca8e2fec9c98c73c0673d98d396727025b0a622905c3403c2b568d67597218398e";
+  sha512.doc = "220c28ed6312c046dcb2973e2e22fd47c683460578dbf952d12d52da0aa4c21a5dc5e8195b78d743c093e05772ae1e00a45d3c221e805a452420c435f23b6a38";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "js-misc" = {
   stripPrefix = 0;
-  sha512.run = "3a72dd2466bc7fb1955a52b17f0f7ac2d9a78c5f0f1923adcdc32707651f5b45a70af24df0c543230882bdc9d5e3332862e66a3c041fa5271d2c2c7f566a8621";
-  sha512.doc = "0f4f8b7029219294445c5c78128ee8d4a69e8245367c30142616aa4756cfff7eef172d01cbd921e1eaf0590553bf96da87b9d6cc5c83de7f583dfb202e328a24";
+  sha512.run = "6dd7920204cc66ff28c78f54bd6432a71d77ae2f4463bd997d2a4170465053eb86d61bc35d8da66377b47cb1eba88c6ed0918142910a5bdd4e44aec41d3ec4d0";
+  sha512.doc = "507cc8c04589dfa7b4d36bf32e4c1d18af42b90df58fee128c0ad37284a87aa1adad32623591d0e8ca880c53a1f583b0bd8054487e231bb2a58ed06d1bf6c6e3";
   hasRunfiles = true;
 };
 "jsclasses" = {
   stripPrefix = 0;
-  sha512.run = "27b46a4965b4a85310dc606c9a48cdd8a92af786dc6658fe9126bb7963527ed055c7a4774db19522a13b4a3d9c7dbbe92fd4005dfc92af83fc34b22fff09bcbe";
-  sha512.doc = "fa536ec7dfdfbf00e3f6d947968361e22ad43b03c6104628ffbb6e9ff11390302345684608344c2cc9643f421dda82ce3f6a6289945104a1d7b6b392ea250719";
-  sha512.source = "0dfe169a0cd552fb5e3f496ae1992dd97cf2ed8905f072cdc5a5028ed3ab783be7a09681616dbdb5b7d31f3ce1e4853b8bbc87dfe6c75df88b05c8bdcc76bf97";
+  sha512.run = "3ce4b069c3446c5a7973bf9e26b3effe276a827aaf8658068193710c480f1f32bc1299ff008f760df7945ead776da164130eb7d7d63e09dac2aa6ccd0d19222c";
+  sha512.doc = "ce4144322f2a1b3cfb4a3197ca079c59fd775f2ee0443bdec29f713bc98691245c1ab95e0ac6d685df48db13abe9813bb42344c3a3e7924e221d6f1c4b2e84b4";
+  sha512.source = "050f9eb1c70a37d3ab789e0ed5bf168cf91f515cc647943842503606c22eca20a0c701f2b80d63ad4d3d662d3d78fd5a2896c95577f60eb89ff4096df776f177";
   hasRunfiles = true;
 };
 "jslectureplanner" = {
   stripPrefix = 0;
-  sha512.run = "b788d4f334da09183111e2bf84536e31cb83828be8cfa124e6b740a07e755d85e2edd0ba118b71234eb22b9721b4cf1dd4197152cff1f5f230026421eba0b75c";
-  sha512.doc = "35fce84a996f419a85e63f3c0ab605789679e0ee9e7eaad1e92edb098b0d1fcfd0d10759eb0781268c724c930e39478fb176d6ba14bd303ffa1f4d3a32a47eba";
+  sha512.run = "a60f38383f72ab069fbed0de38fd139bfe2c446c0dbf566e3e78c842bacc27b0a49e0595e4764645018a73f57dde31c4f945e2ae77978827e35014a1d69aad57";
+  sha512.doc = "f52f3c0212cdffbab4ebb12ac99a07e3f496774d89039fadcacd2d96d9f15fd508c7d7a759e440fc69a4b17aeb7b38781fe6a2566217bfbac6b59782e1e4ed0f";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "jumplines" = {
   stripPrefix = 0;
-  sha512.run = "e4835d45643351542959f04ea57d3cbc1206a41cf06be96f37ea5c96342669992af62f7512cc28b415baeb2f99ef5a14b7ec732eb2bcf3c804de3df573b1b6b9";
-  sha512.doc = "8351f486e852bc1972b5385524e3de6fe20a3db916800d5bfd50c57be6bf3c67665ec00694689e9f463601f4fc15fbcdce3dd34f0e6e2f785ce6277c4ab4c286";
+  sha512.run = "e09ee044fe7d5692fe4f1098406e33481ebdf81698168223235e735637499053c66f278a1f7e27585aaa1a586ccf85b4f5afdccfa3ac35950475f56e46324103";
+  sha512.doc = "c7f56f012d6eca83e54610aabf1530889c01c1b28e9b790b220726bff860504a3e46ad4fd8d88ef50d3fff17507710bc168fd2d5861e9f2cdae69cff6f95ae71";
   hasRunfiles = true;
   version = "0.2";
 };
 "junicode" = {
   stripPrefix = 0;
-  sha512.run = "333ce889518880d2eb9af9bc748536c1bd46288dc58b40590c45aaab6e3faa72bff29f30243b89a5ce0dcd3be71a5a7f6cc720bfe622090bc550f7a0ada25b21";
-  sha512.doc = "d7b2fbca2e4bffaa2742eaa541f3539e9351166a5205069a1e5d8ac18929a32efd8137261b71cc457bcc3ce185e39b6d5cea2f29da3731d755209e4b848689b1";
+  sha512.run = "e35652c1bf36d48b5e98264604d62cfd25a0a69891b1577d701d75944e859435bf156ad70f808ccf2dd74f8fed963eb3efe5383fa5fd18b341932b7ceb2fe9b0";
+  sha512.doc = "f2e31f4459adc639f6dd36654c82871e1e79ec24c5a2a864b16ff3d4fc230619264d958e7915da9444bde9c6cf828f9c919880fa48a4339ce7d867adbba2e950";
   hasRunfiles = true;
   version = "0.7.7";
 };
 "jura" = {
   stripPrefix = 0;
-  sha512.run = "d24bec6792ea9add04f124a3255d9a3ce72d05c010291b4f0680cc74277cf867254c27b1f275e079f00687dd9143ac98c9ee73bef64726dcbbdba242b2a9be32";
-  sha512.doc = "783c4d835258f56b66bdabe6ecee7942fc48dd3c9ea68fa43301396ce0d90a02f8c6a058b688ed08039d2bf498c525bbe4fb031de71c7c45566d70f0cdb3ba45";
-  sha512.source = "d3da1019c3d122ec259d5485fc2d529d4420e4668436de68592fdb85ccba1e5e395eb29d9b5bc1cdffcfccea759fa815649bf1ef1881c28523d7c1fd09032d99";
+  sha512.run = "08426bab6c0627e945d620a338c6081a8a21d80567d4a4b686617d0d57c99b1e148f5e5c3406a0337ee4ad61bd795dca353c28b0f33d397c5b47515969fa5951";
+  sha512.doc = "4d19c663f73791712d9c24361d8e2a0c2faf25bdac15dcce48825f02468f6a798eff7e147f531368bcc8d7e2a1938202b5614e2434cd46866f359f8349564adc";
+  sha512.source = "7c83d639330c1bd405b2439b5e85dd723f476f8ed5096c8085180f03d63ffdeb834639fc8a49a454d50df9f882f27dd42782741fed89f8bafe45b6222bd43239";
   hasRunfiles = true;
   version = "4.3";
 };
 "juraabbrev" = {
   stripPrefix = 0;
-  sha512.run = "a786d90596555de4d9a709a31e29b18697f6d8530ac5903b63d49fd5648e55541d0c6a647eb0c9779520093f9a7f1e90f7cde95c6e68d3c82feaa79db156af98";
-  sha512.doc = "c2ac7476da488de1ee416b5e6b1c9a18ccbe68de8b45c16cfb683cc636ba30ca39b4c8e6074994ecafed61968e3507f9c9864863ad88de45d86089754b1967b1";
-  sha512.source = "42b741093a194a310065edfd10190dc11ad947081c1e5feee24bbcef7f464435cf682712d05309e34e4e0fe06b13c78175198c056cb6185a4b3b98bedf64bc7a";
+  sha512.run = "4d6fd00247c6c915956679674dd029048cb96ac3bc97606c0a299bbaff24a4cbb9440d557eb2945151720265ecb27bf15c638c003e1039dafee56471dfa03945";
+  sha512.doc = "ede48ff67dacf107baf50be345b042a7b64c815442875281241b7de4c3be56ec40c969e40ec69669f31058bbbe9b27c51cae25938d93bec99a8c57dfb8e9cb75";
+  sha512.source = "3a92a5231317d6f7d7b1afdf5df14997e17217e10b694ad97a9a2f3984b0afdfe5a3edeb4368108e4fb389a98a7f5414409e5fc7d319f4c78802cdc1a350d6a2";
   hasRunfiles = true;
 };
 "jurabib" = {
   stripPrefix = 0;
-  sha512.run = "743004ff65680a2ade98b36b01425a90803b048627db44370495fef410a0cf5fcc51b5222f6cbe041b927e41a017001361cbf80bf2c7eb532cfd3c7fb075008f";
-  sha512.doc = "66be347fa123db6b16b1c997a9df96a438ade06e764b68cbe5ec5b4fd4cfcf97a1f345e017ac776734f506e0b04792aa1659391bde3d275fabdbb4ab5a2776a2";
-  sha512.source = "e705e5fce178f2fe58bbc746bad4328642cbe6f6e7ec6e62f53f8df5d34f1ed976e28f59de1fc8efb99fa064e0475a4c2e83277087eb022cf0db58a1e280ffd5";
+  sha512.run = "12a1d9402ca15ff23cbb9818f07290f0b295c9844bc4cf02e1332eb27a26a3a8d0ed3199df1c4f4f85c9ff5308e7426d0c7adad8dc587fe905c5a15314863b3b";
+  sha512.doc = "3f804537752bfd7b6780d082b37834c805e521491f39bd76b52541707e69f8b775b9e18bfcba0b0827133be8cf82bab86651f2a7ec351f9cc140427056ca0dc0";
+  sha512.source = "349a2f55265584d73d0a1b0cdd00f0fdb384c87f8b1399acf62f14229ec4cb03919bb1c37d3c8ed992f72f3cd846c93bb13f25bed052edd80810bb6a92665e75";
   hasRunfiles = true;
   version = "0.6";
 };
 "juramisc" = {
   stripPrefix = 0;
-  sha512.run = "8d98f6918fe761a37f2e8f8ea3da8a70dcc7ef7231739bf54ed47b693e1d813e7cac02e3df8fc56651d9fe0018a60543504535901e8e1f455f2ab1feda1da6cf";
-  sha512.doc = "1a0c376edf2a53554bc5772890a2f2d2ad129bfd9f788fc6a7b0700c2c425700fd9d3d80e0b7efc9ff36475e4363d94a7bde2edd5d19579854ed88cf6abd210e";
+  sha512.run = "cbf6ebe12bf72dfb823578ed49066f34059e5ab1beefe0eeee84c7df55135644eabdea7582dc848b52cd575579d8807a2a2723bdb697e851eb8aef88f8a5e533";
+  sha512.doc = "3925418b9e4d05def76b9e0ebcf882c4b7061ff7ae446aa63d412c093caa04536ad45c757e04e088c3b4099c569885c6e6708ad31b866ebe89ecabb8395964b2";
   hasRunfiles = true;
   version = "0.91";
 };
 "jurarsp" = {
   stripPrefix = 0;
-  sha512.run = "61ee03cf2ea51772f96449c6f0ca1c3a65a5914a8c8b0bded9f3c4b2a74de06838f1ce53d0c36cb6de6be9b58ee6433bc86b8869e426821948bb82599e68c598";
-  sha512.doc = "c339dbd71518579ed5665e343fd2508c5b1fad576160a7f56082fb335a08cd40a3cd75016e8c6949784da064b0e1877120c741671beeafe0c06533e56e619443";
-  sha512.source = "1d93961c50dbd95f2e075da63d960bf16058edafff41d9f23c6c6bf26f78ca717f05459c52b4f6bb2df68557afbb4db459e5d08241fab37bd4074364583cbb61";
+  sha512.run = "511130814ed94c7f0829802a0c3e8e613b0c4aae50854f6e06779448f430e78c8712142fe04d3662b799a488d90944072847dd223b01b642de78c1f98649e79a";
+  sha512.doc = "1c439e351102ae3f768ae38404cc5d98403028fb6fa6088cd53eea40593ee03c10d20955f3fadef41f41af6d23f139ba356a9b06ed735644b67d3f42a076e0af";
+  sha512.source = "8853060222f8f45e69fd7d3539534ed6a0762cb7f97d4c140dcb4ac59fcf1fe339d7f6cdca6e035d4e9bbcd730746e1311885d837fbedf65e208be2100ec2a90";
   hasRunfiles = true;
   version = "0.52";
 };
 "jvlisting" = {
   stripPrefix = 0;
-  sha512.run = "e2d4dfa09a23c94c39367056db32a36829a96ec9ee66680650fc543e4fbf453c291848265bbeaa6820743e5e7b4152c6716445d9730c1783d84693d56f2f81fe";
-  sha512.doc = "5d2e61c410945696b11fe5a86a14467f96ba2458acf4ed199a3746fd3e4f828e859af0bf52383485fc01a7f0207f9da346daf596ae0c46cdb5b64707df69874a";
-  sha512.source = "7fe9b09a857aefdcf8d545cea9c20a51829dc174bc85e875410724249d3e6c13e50736a911f287906c64c315f685194d9f75663ce7991e4f48169498d056ab1d";
+  sha512.run = "70626cd23359751909ce385a7ed4415c5641e9c303d0dafeb99e36d0151f382c02c2f6818a135bc92fb156d4fa25d1976b2c906074fcc112e56a1a7a458801c2";
+  sha512.doc = "de6a694c26332d9c97bf4202bec0989370226b7381d080c4d6f5a106cd8f2bf352d756cbe7cede2a4ba3e17f85ad553e5c24e874a00cc1dd307325125e6d0bcb";
+  sha512.source = "776fe9200a5447c151f11ee09b0f3d95aa5f07ccd427607b12ad7069aa70084d99c7d620261797e6c147ab134bf3a151bb739eadc8e3898dc8b16f284c66a965";
   hasRunfiles = true;
   version = "0.7";
 };
 "kalendarium" = {
   stripPrefix = 0;
-  sha512.run = "fef7adede5b2664b2769ecfcc16aebb89a6960b8af70e975d52b783ee0b9400faa67814304406512c4590ec9013c687dff6b8c1efd58c81919af3b0874b4fbce";
-  sha512.doc = "e54940b6303faaa2a63f88319895567fa797127a3afb5cf41320ec34c4ea6cabfaa8441741c8a6426c6605203f89ec82124b3840535b4d8888384010d691ba13";
-  sha512.source = "ac0c173c9aec255aa64066a3ee05dec78080a712688dcb559f48e7c653441104be4d83aa9d4b9e2ffd08cad5616d3fda75814635e2944c40c971ea7ec2af4868";
+  sha512.run = "fea39ce08f6028f078e2d87ec73aeeb56d72006d24d316f8e257b3c71604efe2b4ea2fa698f79798ec5c9b3d271d758d4c0699ffce1bf380a74d21158224eabb";
+  sha512.doc = "60a1dcbaa92fcb4438f4a2416dc4784fc30af34c6e1511533b8827a266b61a62a6c0e66f51b27ce81dd879d774e9fee6b155a048ddb9f68e1f991294791739e1";
+  sha512.source = "a1668bd43e489002ff365f5f90c6f9f8d6acb752256159f223a444b41ac1398e8d0bde50a63deac11f8d3a22f792278891cb05109b5af4c2efc1e8c278f01a76";
   hasRunfiles = true;
   version = "1.0";
 };
 "kanaparser" = {
   stripPrefix = 0;
-  sha512.run = "2f8c953e807d7f5ad5bcf6917579770253918217e054983f1cbb261903b2afbdef02136a85c26043150b766662f7711b234566f7dc13f41c1a83c99a1acea8c0";
-  sha512.doc = "22c236134ad46285cbd24ef518da1eb05870c7c2d3f12d59498126c30faf937a673cbbf8b6aa4f1509efc3ecdd1ce43ba42a91a50892e46cb7eb0a5e3dc8476b";
+  sha512.run = "a9db1fc66330bafc5fc26ed600f1779dce328d6234ebe930aaff65a02a0d740188e73c5f73a9c75d69926323a610dca4b37044e7357a141eae9bb3231fd3e272";
+  sha512.doc = "9eb00a9652f22411f9ae0123bd2bda62af617f39ed3eb8266c4ca38ff0783722a3d1eb05a0fe1ef6a238a3132ade65c5ebd882309f154ca416e2191b9db44c4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "kantlipsum" = {
   stripPrefix = 0;
-  sha512.run = "c50685b94d882bc338f1cb63fe0e70ff1189f204edffc13897a7afafa751ca53be9227d28fbad22596934b179337f80f7ec6e6c05365b52ec9d58a1727475027";
-  sha512.doc = "8bcc6cc805bdecae8cd321c08fbc328478fca10c20318e2ac981ee53736dc3f8b2078af60e3135281ff49f232bdc65b1efa64b62e526fdffeca4a63d79cf8620";
-  sha512.source = "8d155c20bd92c9e0b7146fac3f09836b6e5167e1c0510ffdd85f16f09d86b9286c2554451da780a2667c099283d6c885ce0daca092834038928fb91895b47444";
+  sha512.run = "7aac4684e6d08b46319b711a824dbe33446674f63fe301e366543553e6fc4c41aa1eb9aabfc9d11710014c9347ac559dfa1882478f6ec5d9edb39c5dc42cda8d";
+  sha512.doc = "bb96e91c7562c34c56c7170e246eb71c353d67d649cbbaee5904f6bd82b905b93e79baeee536a3d8eb8b9f08296591a8d0fe621883914f4af676f78c6f244523";
+  sha512.source = "aeebdbaa22e0e2b369a18bf7243d714b872115ac9f0154438d37aa0719e3623ce27d31068d90bb60b301322b30c18bf34d4ad312355a65c8e00043653f696b54";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8a";
 };
 "karnaugh" = {
   stripPrefix = 0;
-  sha512.run = "2f9c2a53bd62b93a53897b2d52d97f8067660b5d2735927e7ff19eb9722bb41b603cbb5c120655453ba4cacb63ca3907fd6f8ee8b925eb0a3f62905b361a49a9";
-  sha512.doc = "05d6614c88ef2aec3abf9b0a3ec5793a7e41560f93271fe9ebae7ffdcc1549f57eebc60987cd40549c37c7fdd0dc5698065993d33e3f6b0f524587e1a14961c1";
+  sha512.run = "344027bcf79a9b1d3c408aae774bc532a39e7c638c4831d2566e7cf5ba5780161c6314bc0f9337de21fa08a2a2d72f3b5ccf9df7a521d7c95b4dc6e62cf2136f";
+  sha512.doc = "379638ab38cdfe3d94d049fec7701995566df9c5451f4f6a862c7cde232ceea899222b13f3c40398676bd2746305ee48e8b43781804cd24f48f36946526d23e4";
   hasRunfiles = true;
 };
 "karnaugh-map" = {
   stripPrefix = 0;
-  sha512.run = "2fc65deb57c29a490788c5c6edd8b8e56d2a4646535e45997140f7ad06eacd44e4190fbb6f4a988746df732acd0448c98b9ff3e01849cc2df635d89b26f10913";
-  sha512.doc = "1a39b0c5e473e78f2a367ed967382b5dc731b10a864735b25ae6c10e95060a2156514c2a3819bb5e5d9ae126e135683dc461e932c945b38f379195cd33b6d385";
-  sha512.source = "0d330660d0f8d00d38bfa8e381dfc478169c862e61ed380d2735ff4f431ed52d5d97221da2fcf66edbf0005def3e69ae62e889e5f42fad7165c9f8fab4f5d4f9";
+  sha512.run = "dc2327e4cda55e4b60365d6354f679f9bc68d87a3d3695eb98c2754d7a5f7f64d65db8732b107f686fc39a07868d4703afc0fba754f42af3fd567a143199580e";
+  sha512.doc = "0daa9aafafd67df8934ff2b7b31794b23c8ebc53fb142f23111e64957a75904c4813c6f40512e4a440861351a2185884969cffef35209dfddbfd9ac4007e6557";
+  sha512.source = "3de03d6661f8a8d0955de760bd8e0a9e2c5592e1ec95e55224994c9b5580036da6c20a9e68a2e59195fbdbbe0ffb5f431dd025400a3c1c57c44fa92000575dfc";
   hasRunfiles = true;
   version = "1.1";
 };
 "karnaughmap" = {
   stripPrefix = 0;
-  sha512.run = "a14d21719011ddbf2735356ce4685c77973b6cfba02a855ea05d7a35f064644b1e730e6fb1ead02034957cf8651079e677ec1d96ee7e33e2a7683a4e968c5d4b";
-  sha512.doc = "f2363bda04a596a2d7281ad98f7e6c2c79b7ee4b6bb2d838740284df78266c9ccc7f56e0762b9ef8230be668b80bd39dad9b98de7c537f815ac090e5b195efb8";
-  sha512.source = "7114c3b579d5f355ccf85390fc3dbb1dd5621dc33c0ebb863cb947109a9bb6b9a120af01078e8e6ae99a4f859c7d3b2e5b0e191fff50d224680a9b701d5c065b";
+  sha512.run = "72c5ee674d7719b535a03cb9180a605fce2ac089c875cf57b95739b5c139bc45552960faf8f3287731fbe12c8402ce3c2c6517513d20bbc484e12a44468d6ec7";
+  sha512.doc = "c79e28dbfb45764c3f5feff21bf3cb8ec5ee41380fe43d35b2b091b1e263db1eb417a19c74987743c04a2f41fc2c3655fdc531c8971320580be48beeb4d3d6eb";
+  sha512.source = "ff5bdbaebaf55faf2d617b1e3634e52a6ec52c9d56932653d9b13a8aba94db101c4afbccdabd916d51be201135de2e739295b8a0523b63def160f1c07171e4a2";
   hasRunfiles = true;
   version = "2.0";
 };
 "kastrup" = {
   stripPrefix = 0;
-  sha512.run = "e9eba3a9901e8fa2edcc7b2f12cce2a2f3b5854a884e163c04ab01bf38833aac3c3f03dc86499f6b08ce7a4be5045d578ec9de9f057f20d32a0f7a32b003f248";
-  sha512.doc = "09dd54c1203787c9fbecfe021f711a48c3b43528ff1ef58d1f3919a2e053a52a5ab84a594392729ddd7a2e18aebbf52bbe86d4c245d190dc3106de5c087e1b59";
-  sha512.source = "e8cb85107baf55653de215782835617cc3b27ff858341960f948f5998ebbfd9f208c23a93ca14758fe876205e1681eff8e937ede3f0335901c4897537628cd81";
+  sha512.run = "d7cbd22ead6633284e9d114d90b2cb47924bfeb10c15eb350e4c2f82b883930c953410362313cdf8ac476a68cfa3a9b020217097909504b97a8ecd7addbc8d97";
+  sha512.doc = "32883a008b0f44c341fbd5f65f9783e403fb5751201235b0c4a2dfd9af8400e1a36adaf4573165688d78cacdaad3c8b2ac1b92ba87ef6951d3bc5330537d1f9e";
+  sha512.source = "60390a053fe2fa53685403df1d67a2bf8795f49db0f4eaa5a147ccaed951a55c1ed50c9cc5802bcdb5e356b694c2b4be78715022842c958f784908cab89a3f75";
   hasRunfiles = true;
 };
+"kblocks" = {
+  stripPrefix = 0;
+  sha512.run = "dd234caad6b289f85109303a8e3f770bf7393abcf1685f402c3d44234d6ea4da060b9995b8bd2c11450e463d4b729538ab94d41e76deb9a0fec07bc1f909ea5b";
+  sha512.doc = "924ed5dbe96eafc0bf8dd2fdffd4cfed43e7b8f236181553c999ff07a40aa3396e0b7fbf5c474b50d7c1c5cccdc364f941479ed710003055fbfefe2a34cebda1";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "kdgdocs" = {
   stripPrefix = 0;
-  sha512.run = "06522c8bce7ea8c4825563bc3872b6ab8a37624e48c3d20de26c210e1e779bde7047b8da215f4c39d0f908aeb2413b1ca1a2e6141cbb1914d8f4051ee8723b10";
-  sha512.doc = "371791acc5561d20bf459ceb51486ba9d3c8d8e47c39cd99e0fc9c0d5dc85ed1bf5ad98be4c6aeb6b5516d60c799f8c1cc8f2a63a34c41ff3fe9a19f26a16f61";
-  sha512.source = "d0d99893464f8c80d2b044bad065f47d3132cbf4679ac08849855a25aa0f853b1228375db86f2c4a67f2b9df037418160dfcdc6da33bfdc7d9e3742ad80a83fa";
+  sha512.run = "79b64f2f20b9da908fd9acee1033fdef290c30e99794c37f5020f33dc5fdbb670383463bc17614f4ecaa1d5d4c03b4ffd3aa4f2b7c53f27455740adda9d0545a";
+  sha512.doc = "6b579a44d041a10eb9224aa80c1b59b113492cb12c121b1ca5f57625d044b52a80cbfab63d7a3160043b41b1b4e27d463f5ef8c9688f620f431fc1937a8bc561";
+  sha512.source = "256c4c4e0a8dddf39fc6ce14f17313f2bee7c967dac21910fb44fd674573de113e78b0beaaa979d3c7f3fba06ad15d24d6243b8716b0114507331f267144d6f2";
   hasRunfiles = true;
   version = "1.0";
 };
 "kerkis" = {
   stripPrefix = 0;
-  sha512.run = "d3fc4814ce8dcf203905ac6246443167746ba06d4d900f68183f1fbeabe918c12062ccd0dc8005b7667984f9d209a3abd41c44050416b76af8a98bbf49c8d691";
-  sha512.doc = "35526824bf43cfbb24a8abff713310c51c03ff716eb8bd6496d28297a74dc80d88e2c9b407a16ce79e342c33c914bac15a9dd26a821c58e95299a751db4c0eb4";
+  sha512.run = "80989cf32881e82a9111bf99cee96377b8e315dc4b36af014653caf551fa008ee453d342710b8a5308d01654c68bcd0beb7d2c868f81354a699522379ff95061";
+  sha512.doc = "bd7d84083fe8d07a8e3fa7aebe9964771616e6a8429888cc11188ad7ef00912e92399cdc56ced9b67e2a7962af3bcdd5d99fa183e6760b8458427c19f79b354b";
   hasRunfiles = true;
 };
 "kerntest" = {
   stripPrefix = 0;
-  sha512.run = "e8fff2f03c74390e6063048c5097c71bb1d10696966767f97ee854e64b48ba9405f79a7db4b4b557abca50c73a993342ed471b6aee4975db54ff34d8a5dfb7a0";
-  sha512.doc = "81f9dcd232c158198fda7edb8f82b307253bfb2cfd0d41abf4cf688652d53285cad0c423eb35d9abba047854f3d3659bd9e6f3182767596b56673178a743fba0";
-  sha512.source = "50e50573dc409c5829e49f2824b2ac252efbebba5be2dc4f6dc0565c8af28d1b310b1f2657a96737a463b30db7e184795e3ce7135dd1ba1f5eeb4e9d9747c665";
+  sha512.run = "9f295c253228745bdd91db65f2e414bc6113d246242ea1717db6659c2ccbf72530fdc326c0ec499f6d6c2af3ec8df2b78965666dd8544e07bce864716804e76b";
+  sha512.doc = "b471544af9d1ecfd6225e4b9d61f05b4da950a6512ac4c4bab54b1ef9befa859ee5aee2498690e724d84313808d2abc8f005fd4e121891878cd2dbd03ae36415";
+  sha512.source = "8d7c2a8e8881f361c67ff71a57056dbabd3e0af5d24cbbc5f9e7e6e321504482469809f8bf349b5fd4d65e011049d5a67e7570c0b364cfe178b0fe377da82c31";
   hasRunfiles = true;
   version = "1.32";
 };
 "ketcindy" = {
-  sha512.run = "cebfed1c6c6fa7fb769278ab2de149dda2a8b7c8506596f47050b1c195acd32ddb4b41f86568cc0989c2542c8ca530c941beea9a60f3f3683935adefe44da1ee";
-  sha512.doc = "a59b14e455f388f17f4de2703917b187532f59da9340288e993b06ed929cc43e476f9f412c9331fa38653829eb466ec1c26bbe1e2dc299f69f60fd6ef7c59f7b";
+  sha512.run = "38c3963781e1a880ef3b8d2ed5d21f7c64f9454ba1fa01385592fde62815c935594d3f7d1a1ac5e77d709f012034a194ad9c4f78c06903a12ba71be5ff67f720";
+  sha512.doc = "0bb1eb8c190ebe91624b7bc8a1c1cbf922a29200159236d683a1bfc356b502c38d2c2d2051d65104a85a15e1b55625b32025e2496b7987cb7dbdd0e07ff1fdc3";
   hasRunfiles = true;
-  version = "20190203.0";
+  version = "20190927.0";
 };
 "keycommand" = {
   stripPrefix = 0;
-  sha512.run = "b521d46425102c3b7bb30df43f2bfa5178376a104aab10bd6a7010db591401df252e90b5a56408975d0fc37cf593df2eaa50412db1ecb3ef5d12b4940b1c45e2";
-  sha512.doc = "5e384278dccaab65989918ef9027f0c7c82449ba47cd4f031fb66c8a107c7906e398260cec18f25ab0272c56a76566189c0fecd05c41920f68bcf4ffb124938a";
-  sha512.source = "ec4f05a40eb8271b8c21d3ac8dc8bccdabd68ed09ed2ec6e4cb05fa1b44a0d258ff56fa090da5850dd67237bf52433d72976872ac3833419b05999cf8b019770";
+  sha512.run = "90c2246edbfd199d98a05df336ee228c65f26073f3c95c5ae55c3201cf59453bb5afb95ad367ab4af6b36dc4e0c52a25bb10f80fba265003c701122247be50d9";
+  sha512.doc = "b99b58407f5d93fb868bf525ab199c41e07fcf5f31c7a6a14cf68622ef3a34e44d1014e4d34594441144af5c7d9a9853cef1505311928b32a9fcbd41c7bf4284";
+  sha512.source = "44b63a11f08c3bd47ab337ccfa1b0b2737624f77228ca1d745020e2c1ca1b1616c1bfadda1b99c362c0b372bfbdf37d839f0d0457082922a54a66608c82aa928";
   hasRunfiles = true;
   version = "3.1415";
 };
 "keyfloat" = {
   stripPrefix = 0;
-  sha512.run = "24e0298106e75ef9ac20c12aa5be6f29737f2e275e3618dd891adb231a765f7765a6ba9e9c658a5b69d2aa15af9eeea3c630d108fc831e3a6c9f5d37e6662bea";
-  sha512.doc = "c0ee09178f5751cf28a5678a9cbc940ab31738a72ef68dc60bddddac6f21ab27ad7caa591001b539b1c27d1faaeb6c1e4ecaf765dc0c4230eecb8dd648262a20";
-  sha512.source = "b59cae8dbc56c9bb6552b207f45a2e2c7d0cea120826fa50d86427a44c35570b10e9632719b1312d95bfa07861a1d1e2cd6a10f5c1c4cc2109d72a7b5a2dadfb";
+  sha512.run = "3d2be77c6ff60292b3cb50e8033d5f182fa731b6b435e4eec4d6a3f4376e6f0487a6bc5bfbb59da37ba6d620721f3756e42a795bc26547d2218f66b2dcf82a4d";
+  sha512.doc = "b678b7e0fac699625b9638b67e3e00b892ed4d0a01d78ef0fb13ce65d2a1e74afea50bbb9f4ffbfaa37b1e80a96dd1cd8f8420e8b1b5f1cbf6f6155d745a7604";
+  sha512.source = "32c7cfd96870d94034984b923d47075a2e071df11290f076ddb4def33236aa3ca40118382072b3d17aeb8d8fa263c1c0575182ff5b91a4c410f6c7268100eefa";
   hasRunfiles = true;
-  version = "1.00";
+  version = "2.01";
+};
+"keyindex" = {
+  stripPrefix = 0;
+  sha512.run = "93de5becfa1b4950f518bc004f0dbdfe96f567e17ec4b7656326b89201f1f85edcbdaa771dc8568fc0c87bcbd8877b618d0d00ce387ca70036f6794a8b870695";
+  sha512.doc = "4be79367bed5a7bc3f5bfd6c10f7ba6a4c87ed51139e8f8a7f55c59ae3ce6c1aa10df1c88728f7dbb4573634bba2ee599378755cf6c77a2ccf8d93ece5540736";
+  sha512.source = "3f177cf8d323fa6dc0b47742a27cada66cc505777a20c26864dcee73c272e46ba3867c4120f480be8ce5afcfc6896d908eae0f336cf306a13019bd0f0206f9dd";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "keyreader" = {
   stripPrefix = 0;
-  sha512.run = "7042a31af913f95676028e185639aef01150b3b0927d56712119e1c697392f12b38af3a054880613daf06dce2ffdb6df14b3690862319f5f6d750d3f49c5fb6e";
-  sha512.doc = "8a57b1987a214ddac40dc723157f307c8b337dcb353c7a9542792910a6aa3591236cda7ccb40e14959df85dab29446769caff0c0277514170b76498bbf6f6b54";
+  sha512.run = "d1786b07a3dc87f94248043f0bd941dcd8dccce29132e67118d3fedc0fe207a2df846d850851217fa87ed2219915719e70fa73ec284ed420072654c578ee0b3c";
+  sha512.doc = "05c45cb13bd2612dd5b048f296437b605117c71a52cef2a1b90ad58b693a31d05da9491464ea9b208dd7eed3f3cfc96e9b5a00f5a77e5d492208fe1e924dde4c";
   hasRunfiles = true;
   version = "0.5b";
 };
 "keystroke" = {
   stripPrefix = 0;
-  sha512.run = "7bc9e6f188a1993a7a7634212d8fda998cd46d95114fda74af86c4d839df309a00b992d09a42e631334ac438a307fca2676a6032d900b3cb477796b61c07cbb4";
-  sha512.doc = "1961c326f829c0cfa008654d363318d0a02993319f3ec8bf4e0dd6cc011c231a93d50aecdcecfd8425680cf0c2d397b8f770713049b2c4836add6d3dbafd7db0";
+  sha512.run = "e04e13e23b3342686078c2278d3b6f7c8678d99acda197f50296ade3dd91bc4316323a669efd7238fd246c60f169c694677252601a81d9e23b49a1e37049c93a";
+  sha512.doc = "bac7f2e879796c0ccd5ee28c47aa79e9208ce0d01456de9ada6cd00d822c098cfa318615311c43b1815de0e6968252f6005a3dfd9d0475ee7dec25f7d24d1d86";
   hasRunfiles = true;
   version = "1.6";
 };
 "keyval2e" = {
   stripPrefix = 0;
-  sha512.run = "9d9e1a83702f274a4d9d301d26da1017ff2b7591c25f971f2ac4ebcd12277afd9089bf786cc00523378e4e06a885a47b581bce389670c1d0d9c698cacd849dba";
-  sha512.doc = "01fd04920146e44f36f9d36e7b93fb1b799e6153db8fe362f4a6014967e3ed6c14dc29e8079aa1bb49668a30197ffd27a22634e431bd447a902781d782a8f7f5";
+  sha512.run = "08495711a9b509707ce6da359f9743b267baaa6ba6e18e41c965ce016c4c51e1bb7353769ecc9596e9bc415976449612f602e291608d306ee5baa69a4e823160";
+  sha512.doc = "424035c6250990b4104200fdab744d50643b6ce36ea717f50544fecd40746d47d7d2145203f0d6f19652a7217c99eb599a1c7d8b0e3a0fe00e1355c416cd4294";
   hasRunfiles = true;
   version = "0.0.2";
 };
 "keyvaltable" = {
   stripPrefix = 0;
-  sha512.run = "4f695358c4d9c4c9df3ccef9a4b1d4d920a8eb88ee2c811fb29f68c826b03c946604fe77463317f69250bd1a300dc586622d49917f007e5a47bd0de058b35766";
-  sha512.doc = "7363114c5ff8a096303c427dd39c1f16efbe559f035c4810ba8c6d7085d2cfd4ccd79f7cd0f27b41c5a4b1b04255626ac85c12aebfd17d70501e8f3847a91802";
-  sha512.source = "27f63928c11f941cdff54b76f4025a3ea63f5fd89266d2344cabfa48abb6fa533d94d7318b3227723f3ba81a4bf5d9c094e05bd0515fb349eb2932fab77a700e";
+  sha512.run = "b7a0fc52feb2a4e4bf6b626701f7d4fcc455e4ebd560389f2ac7eb15e9cb2ba814ed3f179c1662364ddd4fdd899158f863656555e9d3bfe08ab03ac2471c1025";
+  sha512.doc = "277544403f8e06739789396077dfa08b3a0fecb99c8eaf41dc61528d66f0765a519a8314b85196bca5adb733dd1356034b72c9a949fe0d09a845ed3d35ddce5e";
+  sha512.source = "039b27d55b8b51a4d49e8e06cdebf3266633a3ee658f7c99e191d248c27ed05ebae7bb433bc5b242d815a795160e13ab8a0853e92147979a6ac0a1568e013662";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "2.0";
 };
 "kix" = {
   stripPrefix = 0;
-  sha512.run = "4d038fdd6b3b37fe59cbcad7118501313c12a8d19f60deab25c893595b5d7a3d82e5c4d54892ead56f89271ef3c810ddfaba7c1109c1050bb3e5a8c4cf6a469e";
-  sha512.doc = "acddef8940de408a8ebbb57bc9047ab324ac2a549401653a64260223bf845092bb0165f543655cb8b43c09daead4e8149184547dd56d14a1b7176e0dc269fd6b";
+  sha512.run = "dd819518a80ca0486a191361625b58f91d00ccac88a2f69269bd6e1753f6c87dd3c97d39a14a5dc3768c9ecccbc981106eba1f495cb7870103a828ea69ed8bef";
+  sha512.doc = "3d3816d395e69ec83c88fe55801cab052b12f5e38702edafec2d3f9225c80a31165dca553b60401dedac7689c583feb00615e41c7179fd19ccdc420fbd5e6d86";
   hasRunfiles = true;
 };
 "kixfont" = {
   stripPrefix = 0;
-  sha512.run = "fc3e0b2b95b7b838fc719e65a84cf8ac00bfac9c2b85fe2da637775a346ab4f8f19c4458980074b93c8e699915d1ce5c4ec0bd349e1c378ebae2421f2a47c14d";
-  sha512.doc = "c733c34c332598abfa4463b06b8c0c30437f2d4f4e8e36f07fb84ef0957cba33eb7030d094dd3246904c64be7bac5ade61fb9b490e49ba343922e986c2b20224";
+  sha512.run = "a866364705d75ab560488c84a5e403755acfffe7b49b8e6dd65342f45f852a5be9d4072d750fae606c3d5789e1d46458da66f0af6fb9f9e0225c1d9acf69d4a5";
+  sha512.doc = "ca250703364924daf9827ddeb48126fb21ff5ec3230afbc3f6778d23e96dbbb16173e5504900032ddbe14920cb40adf8130be50ee92f3c9c2dbceb95b8ecb90f";
   hasRunfiles = true;
 };
 "kluwer" = {
   stripPrefix = 0;
-  sha512.run = "cea707f796ce6030d1a641185ac6640367ecc3e1c9ab8f2c316f5c6d121e934d2bf09da81bb01a9b2130c69259e828dd35038501ca1b19f90dc4f8cdd7a85774";
-  sha512.doc = "30287d921ff77974c715c95da106808f10090636f8501d091db7566d85f690a1656fca5f8115c56728512bfa04acbe74f93b4ac181fbc988fd1209e6924afdc7";
-  sha512.source = "28570669f4a8437bcab7b0810d17a9e6c8cc70fa4b3e45868355b827d550ede17cb48a70ff51d171f6f9e884e324c093dc423de5a6dd1794e0279ddf06d69bef";
+  sha512.run = "36f0d6ade1e6afbc7a021780a9d6d56e358805be8a8d5835ce256c87f426aa4110b9e395d6406cd1572a362557ba0d914071a6589a65ca064cd77c9310c284c5";
+  sha512.doc = "9990c4fb99023e6262c1c7336f4b8a98e3131ae60f380652469f7e2f88a8793d745655e0fc13dadc78fdb8c2beec6248e54af661bc81a8ec016af58b688e583e";
+  sha512.source = "a6ead8f091ea55b4443da5d048df1e27a2f2af0abd047d7585490cdc27b9efd1f3a59a5eaf6b77a8b5dbe676ea89dda8e96e80b833bfb995605ca36b21e3cecc";
   hasRunfiles = true;
 };
 "knitting" = {
   stripPrefix = 0;
-  sha512.run = "64dfbc625540a8e25e3025e11d1f3ae327e92aa3ad24e4b832414bfb4e8319dc289ff7ad29314427dcaf563e619d740f839b4bb04deedb8dccf191cad0486b83";
-  sha512.doc = "22042cfba330de899d2024897d072306577d2700cba5d33cc3d69de3eaaf36d703b7bd30f670bfae9683c8df156463c0983f0490859e110fa7ac7a2100a419f8";
+  sha512.run = "af3f7d2355054293c2c7973cfd40f0b741c8821884cca6ceec7562efeb92433bb81aa204b7b0ed4dae77cf674f4a63005f36133fbb5bf3d239f0cd5ef61a69ac";
+  sha512.doc = "effaaf06a5593a9d73f2e93a722355009a0a957a2067a1432edb40d8dda7649c42571cbc37fc7aa4103ae2094dea7b1bfd861273566102c55546f71b326e7118";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "knittingpattern" = {
   stripPrefix = 0;
-  sha512.run = "c497ec20255e7402069d94dd06b72b3fcdaef7d7682336a4d6062f24056cb588cdac62b73578abfd74931923cc2633eb8edbd926eb3cde6d76a4c54d580f795e";
-  sha512.doc = "8ff15c48aed895835ca2f621672c0c0421d943c3b77c27ab0235d1b346d6116f9bdf1992ae542b5c8d6e752e8727cce37fe7c5d44dde125e615c1c1a9064a306";
+  sha512.run = "cee26b0e6fd54a43a12e0e48fd5b4bf381816dabb6019cbd7c13ab5e2561b9f191d9fce4c75a513c06530077bba8d383b26552e2e6f4e97600aa2216547a08b5";
+  sha512.doc = "d391a25a224713092128af5adf68e5331c530a67a763dc37f657d8bfcee0d904632e86ae2f3745ec2c4bb0cea5e886c85da15b064780dbe997104b9afbef9e4e";
   hasRunfiles = true;
 };
 "knowledge" = {
   stripPrefix = 0;
-  sha512.run = "51a651c231110750d9fb433545d5f98de2b45a5965183b0052f827889e035c2b1c0bb6ef3e1bd50d85d9763155729a2e86f7a8f606407471a708a52957462820";
-  sha512.doc = "77a38a1d722b8f1ead2e77dfe861a0b935dfa7b365e5bdc7fc7351099103f2dfb0a8d172718e58c87c762a5700c65d60d7c0861e83ca3e0abe78961992ab604f";
-  sha512.source = "0d5f55552b0d100dae7ad8eaa53f95449b330efbe2c549458954cb5c0d0b4d7f610e207069c4587fad2afc07fd1e4e7395914579be375da0f117ddca5fb32e64";
+  sha512.run = "b0b447090a1fe99b3c30d47aa7e3b9dcc6dc7114e37d1eec6cd6fd66d1b976a70bf8e00fbe1decf25b8d0d74c77555282ebf0e4b921a5c28e615191403c57286";
+  sha512.doc = "cd77f5c9880d32e48daeec69fd4b23f0fb1bb3d945a3025f2f62da9c9a4becd3146e9f04033e9b40a4103daafc7a356c6c0796a644d1f4e20a8b26ad84e345cf";
+  sha512.source = "74d7c0a1adb9ec30ef73f755e0b14dc986c69bd85341f0c1dc92f03469709f65f2d84094aa5e8160256e2241793a68c97dc14eca7d6b7ae1f1e2f7d8df178521";
   hasRunfiles = true;
-  version = "1.16";
+  version = "1.17";
 };
 "knuth" = {
   stripPrefix = 0;
-  sha512.run = "d5b2d76e329d483e5d438c2a6213c6c5d39c2a9c38e7eef6c14321ed63204604a898e589e84c504f2a363ead6aa51a9e650531466be64b49477480fc87779563";
-  sha512.doc = "99a914151d7dae014f881c165c88671ca374a29d3f07f7d9863e552230ba5c037324451f66c5c3b06026dc0e22417cdab05bf6eaf2324ca8a9e79d61746482fe";
-  sha512.source = "54c7822c781063fb972ede26f9f7bb4eea5419bbc4d295fd3d5c080affdb85bcac2312c63cb493c6feeaff32321a8af11d5febf9ad33a8489125e4d59d58d772";
+  sha512.run = "0444090d99b39e2cdb47060ec7eb07704948efba49d4c9ced27a0565e34bc31cc81e10ec19559d3455ad2da79c5117da3f2d84f2cdd080cf97d5c14e6d02f707";
+  sha512.doc = "a2ec4befb238f3cc51593e0aa145d02f40e3e792d4ee13147cf58baf366f9e019fb874179940b7beedf859c9d756a8fde2b6f65e8c6c20e9c2964e980e7dfabc";
+  sha512.source = "a5e53275149199e9bbf88f6f6f03759b39ab0401eaf1fee4cc9875eee62a82178bb3f79deea9cbddf5e3153366dd57e43733f583bd66327e73b2e78b0765964b";
 };
 "knuth-lib" = {
   stripPrefix = 0;
-  sha512.run = "f85a1042504d410f7f3368c939d126fe08af3510d148c5e9401fe946075c71e91c1f980f0cb734708cdb37213cbe21b3b6eac6d9618e21002af9bf88f262488c";
+  sha512.run = "8925cee55d97e93e9947e62581bdad06cece4448b94516c72cdc8826ecb8148fd393c0621f57eb92dbc4752626a38029bcfb30963b618027e0fb5459e0b29bd0";
   hasRunfiles = true;
 };
 "knuth-local" = {
   stripPrefix = 0;
-  sha512.run = "7dea5d292c44c4ce60576ae9bcb7a5cc5b6739994f635b6cace0494c2c1a77561e9695e24296b30db83990481a665a581a97182c89a8656374bb80c0ef4e4309";
+  sha512.run = "8ff3f05e2584cbc5301ce6fe74e469db70438f689323617ab0cd762af9f66fcc8db10ef687dbe5a97deb0771a75320ab099cfd8cb7a900f5ce6c65e2f6fc9edc";
   hasRunfiles = true;
 };
 "koma-moderncvclassic" = {
   stripPrefix = 0;
-  sha512.run = "55eec1674ada0edc45bd5f792def8511fb61730d086f8349f0cb459964d550572ea3b01ac6bfdfad9be69bdeae4542882e8a2e5c2193f4fe8d5c9c443a03c91c";
-  sha512.doc = "080b602ea8b1b80452c7dfcc977c2cbb973ddda8cf8fb729bcef9ba78bec8096797f4c3ca964b7694b3196e5977f40574c96fd4ea9cb098e407df0aed5bd1848";
+  sha512.run = "68aa7ea875f46a4c1d1bbf29d4abb77f4ec729242fab41f3e79caf95a925a076ec3d37ce7d98b44aecaaf9edce541d1673780238786b36cee0621acf4212a1ef";
+  sha512.doc = "968f5303bc7b5fa3df39a2a44c38b63e54059a94ac7df2349b45cbc0855d22ec64ec39feaafd761515720d306d5e5ea8a223ca74790ba160bd093f989d8b69c0";
   hasRunfiles = true;
   version = "0.5";
 };
 "koma-script" = {
   stripPrefix = 0;
-  sha512.run = "d12003954f079dccf1e3aa3bd1968cda2c03eb9eb4ac84115583120463ec2732389cab414b7d8214983f0f484c483852fd665dc254b924ac15b190f4bdf207e7";
+  sha512.run = "9a87386ea77897100dc1edb17665ad32cd1282b0243de956c7c1d60983988fd22f54dac9d519ecd7d0b3b00bf619a83ff1782baef6012299a8159d6c5264b1e7";
   hasRunfiles = true;
-  version = "3.26b";
+  version = "3.27";
 };
 "koma-script-examples" = {
   stripPrefix = 0;
-  sha512.run = "0723599b64a4d75a27e6850db2e5b092e2be9af36374bc2ff5b21f3278990c1172fbf477138ac984ca9dbb38346f41192103d6f0515f53fc549193ff0099d2e9";
-  sha512.doc = "bae427744f56fd0026903b8f63dbafe85e2a661cc2aaa71d387a45018fb740cbcd03a0f22cb3e73050bb4b931959aaf012fa0d65553242a6adbb2f37d8f30217";
+  sha512.run = "df9ccc215a2693454b3f8e1cbce816708415e987451cb652c1b3c2121ff073b7dd0311e3a61de493b5591923edd7688edf66e061467d28a5c3ea437f912568f9";
+  sha512.doc = "6cdd548d21897f33927ee33be350b77b317777464ce3c7be24223cf10b6200ffb73944d72d0ea8491795de71c9554881ee52ae157a035b667f8c2c74aa1c3641";
 };
 "koma-script-sfs" = {
   stripPrefix = 0;
-  sha512.run = "287535c4cf7e3477f43b3920a5d53d3789447e072816f15f0495722dffd3b3ba3dc92940007d83ce2979a3916e8545889c28ef381864f1d50772d207a6561a45";
-  sha512.doc = "ae1c0f36ffae0e1f776e56cb65d9541d35d344ab184304dd884496132021f1cd189b59680f6cafb0c56a1f4ba062619d18e85507cf6c549fc5faf9b220c78120";
+  sha512.run = "3b281a1e94c73e1d8224f6ae552be91e3df344f9031e139334fd7256e38dc70bed4132164935845c710bef9dfe0e8c439c229d3415ff835e48777aea182e7fae";
+  sha512.doc = "84f7fb5c11c9b40029bc481d34ef7cca39baa2a3872f22fd5b656e324aa5cc0becf3ff6d894ceaf26e8ddea0d8cc14d428a140e1f19ff2e060c6d32390d51070";
   hasRunfiles = true;
   version = "1.0";
 };
 "komacv" = {
   stripPrefix = 0;
-  sha512.run = "36d8a2fd4e2113269b4c9a994443b2e696f70091e0008e5129cb4fa178c0acae4b52b59b4a727b6055f63679325c8183dd3ef614c91e7270eac678f96bf484ba";
-  sha512.doc = "863e811c07e2ccfc4dff38129d5eaa3891f15a5d1ab7b6df36b0d8b57c0a0a4614892294a0e27734bbf834d4e260ed3b90fe39789d4b139ee2bb33fefd29db9a";
-  sha512.source = "ee1f5168d2d970e90f3edf812bd575b7cc7e7857a293b770396a4414e68f5f5fe3fbb17feec14800dac735b0d9f67810230aa0a8339ff931df3d083e360a7701";
+  sha512.run = "007ff84d143bf46d2c5d0772111e26a459be663ab40c785a8dbc8b787202f4ccff15060fa7d52cb547348ae1b128a9f66256259c2f72775d4278ae0f4e04c0bb";
+  sha512.doc = "58548f1dc27a80a65a275140bef757329a49255353eb09c0c41e7824985603799620b696fcb4af454d85e90b61a6bdc6965cd0f3f2f603674064be502674cec4";
+  sha512.source = "eacfb8e12e043f30daf41c3ce7b4a72bf46170a1c5f9be5accc5c8b414a2a8a69b3460d26832806eca69c3285d0ff87014e50a411f8bf6ea1d7d82fec250ba9e";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "komacv-rg" = {
   stripPrefix = 0;
-  sha512.run = "50a37f266e83dad36be92b2f71fcbcddf18961c3ef37c6e9a353297ae9d250ac64747c51a555178649ac3b77ad92763042846d7e7dbf2cd731ed79c8714b6847";
-  sha512.doc = "0f72bc2a8d68962bcbabeda7326b98f3970a74c38f5cd2c101f7925c8e1326656823a97309c8e0c451e062419794b6528cdfe85868b1ccd37f03145861a84e55";
-  sha512.source = "e71798d4051585eeff58f85e6a4875f65852be411cccc6038f1780d9c1035ac794a741b1f82e1ba5b50331a1d26c5cd16020b0af586b54f53c4851a156bbf892";
+  sha512.run = "6d400b0f228d42aaabf9527bbd3447fdf92eeff81f1fb7978cf90c3afa9835e4731a9da938bbece65034476ac2e2f7afff19000d9012ddd76b6f65618bea7223";
+  sha512.doc = "58236086df2335cd167a5d475cb0e223747d43d81d23c0c0ace1cd711a19ca371426d36e199d69a9fd5414a33872dc4ab3725850a6677440484daba0e55d5208";
+  sha512.source = "512fbddc0b233061afd3a2af20846e8eefcb9d1dc00b29669e45499b62289d842053201b208819536af0a2a7db56cfbf2346210775412035fcd13d2b2593dcf1";
   hasRunfiles = true;
   version = "0.9.2";
 };
@@ -16025,244 +16389,261 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."memoir" = tl."memoir";
   deps."kotex-utf" = tl."kotex-utf";
-  sha512.run = "8d0d72f5a3003dca30c6d0627f35dd5f921175f4f48a7c01dea8c13f8c79abdd5da3cabdc279779bab9bd0174a2db9c1247c3d44f70e11a4d7d192bcd6baed92";
-  sha512.doc = "0e51d4e2a4274252bbdfda668f8b5a9857eb7d798ed2f1fce953477fa6f894904b95bfa62ffed0e85e6ba63c522d95d6e086671c18d20cfd9cf04e963fa12e58";
+  sha512.run = "37aa00c2558500c5c308f7ab5c0d8af0277009ddba2615229f718f4e7f954708dd8d3942e03f5fbeebf29a7bd49b81c24c8364fb17468ca0e998d3235bb68791";
+  sha512.doc = "907fe884a715e82367ade24d3053a9cf4bd06ab276cffb4622932de1d485813ba9ebcf631680963e926ab80d18838f3c078434843c398000df9a7bbea5543f4a";
   hasRunfiles = true;
   version = "2.1.8";
 };
 "kotex-plain" = {
   stripPrefix = 0;
-  sha512.run = "57bbcc19986b1a6035430fb0b18716b2c14f6cb076fca20950166b02d37b751f1955c05aadfed95a0054cf6c52a22e561d1776fc8342f401a7148eac123ea924";
-  sha512.doc = "c780bfbd022f5f97d1004318d368056b67c39316293c3f2b27591636e482cc1ddb598f2940dd6fa3ea1710c0872fc8ead55cf437dd3612950e9d0f8e2ec1ca35";
+  sha512.run = "f04333a7b7ffa7bee44b2d74bc1c4b0eb22fc57fe0721db0ed3bf260fddd68a6c10d92a041e42fe0ab1f897b5869cd7ff67da168336a708f03d072b4c4cedd68";
+  sha512.doc = "55b16054d06f079a5d8bf6baa32155a0114e2a12b0269e1ba07ba988e733ad16cdebc1c991033f7bedbc3a180ef24fa84bb463c07e138136ffd89bab0c48b0e4";
   hasRunfiles = true;
   version = "2.1.1a";
 };
 "kotex-utf" = {
   stripPrefix = 0;
   deps."cjk-ko" = tl."cjk-ko";
-  sha512.run = "ca4235723625c349863082d973ab35183562fec8bc3d2f5932825fb792cc92fab9fd36b2046c0f2ef5508bce1ee1f834b081d8619ffe23d7a5574706efcf444a";
-  sha512.doc = "3308cccaecee744bd62fdac857457bfcb9f126d52de232cd6406f94e431995e9a621677e9342ebca39df4a1a16fa2cbf6b5a47970247145d91ab1031148eba0a";
+  sha512.run = "65ce36703d824ae483a53ac6a3550a8d71d140bdeb67d3c9ddd343255cedbb74739c1688b05ae4742703c6c46b3e46deef5c6a7c5571cfe8f8a4003d56aac446";
+  sha512.doc = "692a2d90f404c571aa0dea436436f72139bf2024dc6f3be0b9e48cb57b60e36d1abb79d7e51fb88b5efc83176417b8f74c8b945fbd236c0832873ad8fa65f410";
   hasRunfiles = true;
   version = "2.1.2";
 };
 "kotex-utils" = {
   deps."kotex-utf" = tl."kotex-utf";
-  sha512.run = "59a30d2693703b72707f6026597cd53d54e41569ac1b1410a7b73baf8c1455140f7d45da225d3b6699d0208387df33f4ea9737eb10ea6f9fe7614af6704440e2";
-  sha512.doc = "a811988e250b1888e32c9349026b036c7341a7184f574e14b6fac1f821e21ec398c94efcb04d32d2dcf147af5a1fa1db4a863c8fbd7707d10540465b9c61d934";
+  sha512.run = "569e9677ef0f346e5a53f4cc84302a8ddf2b4ad85708f4ab8ba7d076ebf339ec60998a41fa92fa815167e9bfc37085ebfd921dd13a60b017a0574e4a5d205802";
+  sha512.doc = "a46c5d09d119fa2fe8b9acea87a37776536e3216b776af6b7037fc5b0a522af5c1a58baf081e60f06c9a4054e8ac2372458c276c779038a030dc92efdfa3aef6";
   hasRunfiles = true;
   version = "2.1.0";
 };
 "kpathsea" = {
-  sha512.run = "0fb021235bda8118aaf646fbb1eea4ee06ed8520644a4c006f23b318dc5520a10d352921876fd0da10b80914389542f5761f1925d6941d767f3ce791f9cf1f57";
-  sha512.doc = "81e290032ee743a1cd4bda27df9ac47dccd2f3f75f56fc7b2c11b37a5c0fccc391d99c910efccc18c906fecc9af7b050e1570730ddf20762321d474395b0dbbe";
+  sha512.run = "c501be99e4de8c65a63e4e9ce4d1c5c518d849e792b36ccf4048c6697c272b511a4f9a34bcd2f3372daae96f97c0378d04348eec7ba29580a9649dfc3e144637";
+  sha512.doc = "e31624b39e972b6c18bf34e513d14b929deaa203d6df8072a783cac661ec1431b28a36dea7b0d0f1793f7a048871c3697965ef5948a400582d618175bb314bac";
   hasRunfiles = true;
 };
 "kpfonts" = {
   stripPrefix = 0;
-  sha512.run = "e6997f0a3cba6f4de6860986569dacec3ca381f1c13e045539a74e4e2e7f84656a042416cdc7adf3f77ae9b58d77baac4782d0374dee56fd2e6a6301678cb29b";
-  sha512.doc = "65c2fc56d27f6bf3bccbbaaa31276f2f3918e0b0de4a4b7708847f5af26630f10e84236bc33a682dcd101c7ac62b68455f0ae521a0be0e14c794e38159a70eeb";
-  sha512.source = "f8e1782af4d99309c6b8ffa634f2689a45d70e101e3f841d2ce17b286a3beda1b3a0661eea6982e192954c5e8b09fd8653084a120dcd62b6bb7f909ea901235f";
+  sha512.run = "65cb12b6d10c91605db91de58fd33597720a4d8a7cded8a4b60c5bb3c1f2e7220c5354488a75e5a25ed0f8162d42689b6877b3a7efe5c1a0758dab237564c5ae";
+  sha512.doc = "5157ad4e67bfb1f0ba54cb34c2896a856d167bdd89a9f4bc4d69ad0b6f4899ec53cb1d22582b352adbf28d7af9458e2d78147580740e7c41437855eb30557a17";
+  sha512.source = "f70870ffa7dd55da69af7d8274fd3089c047191197f4f4afef4908a93e56e9f1b8b1655cf8042138ddaf95c24240df73549bafc6e2a3b3002b0653bb2e2ac592";
   hasRunfiles = true;
   version = "3.33";
 };
 "ksfh_nat" = {
   stripPrefix = 0;
-  sha512.run = "5f67ed675f92fccf13069e8659c2fbef96528aebada68d006c28538409c513354e23c47b3be0041b5be34edb8fa9f71288e3eedccf45909ec443c5dba7c79bb2";
+  sha512.run = "8893133ed49c9b4ba7472bc80a4e5583ec2546838e261fa2cf9aee188a0b00bca45de05c4e969af0b6f222a9668c3a7fac0caadbb180c10500fc53ae8c9f56c6";
   hasRunfiles = true;
   version = "1.1";
 };
 "ksp-thesis" = {
   stripPrefix = 0;
-  sha512.run = "840efee7d2e90288f2b420594b52fd871842706f5f1e0a28e3b03730da2cbeebf4976c54de27c81962aa182543432129ff0caa6c1f785b54d93a8dc185d304da";
-  sha512.doc = "3f49d4bcdc9e9c7a6901d213c3f688fe1113781cb5c6d4e2724ded1a7cab4492e2537a798588867d51b6faef096beae6678596da6827a6b9329318467f3639c4";
+  sha512.run = "3a250167d8810e3e81c5b6f86dad57e191a2a8387b5c7701e9b176cb007ebed79bd11867caa63e9cb9d3412fd59baeca7ff8e7589b11c4ef1144678552957216";
+  sha512.doc = "ea4ff7ccabb237b113511b58ff767b494b213cec1382467ea8b95b72abe9c0d361f39781940c976075157bae93e8e32364f716cdba2a07b8a7d72c0970a31cf9";
   hasRunfiles = true;
   version = "1.0.2";
 };
 "ktv-texdata" = {
   stripPrefix = 0;
-  sha512.run = "9617f2cb5a70a996f0407b2febf7e3ab6d65b828301ddf501e1f83088654cdf5778adbda0660e9d6b7c5ba545d11558d3612901f4625ae017ee3ec791abe6f85";
-  sha512.doc = "2047f3b3043d4feb1fae37ff737e238eac4338b711ca685064af905ae4c2a10ad0d581e2745dd6d03cae8a494d3bfffa84a203790774eeab57ca89b7efb70c83";
-  sha512.source = "5b0d584c2a3609c0f262e07c8637ca1d8f447fcd620a24b05679b2d980f0fc9c85ab6da532c88066e9eca5cdc1e9b66a88f11be8ecd62346a816eb1f7ede72b8";
+  sha512.run = "c2f3e86494993e6e56f131b9e7105ee2d15179b96580982ae7fba9e32c3e9889159ae767d96d95111f2eb052bd61f0c3c15406ae3af70b359e3b5ce081a6978a";
+  sha512.doc = "d930db31105dbcfe3df4184422115d82fda7efa93d00eb8f9fefa0eff3893602fb4db9e7be26d2a44c0b3cb56e8e9810f61bc660c15e49c23880c3f0cd44025b";
+  sha512.source = "1f7eebfcdbdeae66dbff4037a01173bc9383f75b5d7704755a10c442d63380d286bb4532546e036d5c558dc399defe3f9d3d035bc67a5ba90f8482e427b507ce";
   hasRunfiles = true;
   version = "05.34";
 };
 "ku-template" = {
   stripPrefix = 0;
-  sha512.run = "db219686bd5e5c7fa087141b17edcb3a364059a31f76c99c0ae3da071f35a61b1e655862901ba37c1e90be92071bcb7126b20fcc89506993942015f92574c731";
-  sha512.doc = "c973d53ec268ee9ca5b3c011f99b8f4c2673237391c233846df93664a71218d1353ab3a27edb4819ddd6978b147171ea3be11039f52a1dc2cf52a196028ba932";
+  sha512.run = "4603e59129f749b0eb065283bff9cddcafcd1096627f196749be09c19a4a79848564ee9343f14f31dddb2e37a01e222bf08531d5b3237bb906cf88efb427fdb9";
+  sha512.doc = "6b8535ef84bd1ccf70d16f7098826b5acea602b22cd461df66cdda64c4afe36f9ef6c4386227c5317a31767e4694c388f7a2fd87fe8fe06697af4bf5202b29bc";
   hasRunfiles = true;
   version = "0.02";
 };
 "kurdishlipsum" = {
   stripPrefix = 0;
-  sha512.run = "f226b01777b27962db60fb87c8cf7f32c708f057650d16696547a9208431bfef31b13ca313953d2cf512226a6186f76b715d630650eaad6370600f3c07730d81";
-  sha512.doc = "50016b1c0609e893c6bd63bd5ee22baaef8b12e28a1e9c2cdfc012ef927d8ec46def7208a64e0d734e3ea71a0361d618ae097b2c1b2b8043b5e77b6763b1580c";
+  sha512.run = "d7160d78d7f0d8d7771740f030cf1c76b57aa9ec2d179887fe4065337e35bef528b522c666eca0974aea6696033678dec5446a9a198fb139f2d2469c8cd47eff";
+  sha512.doc = "6af516595f4cc5b090398078977bb37e97a5aa4b28a578c068931eff7d34fa2cac379b53e70c8bcf270c998fa6fbcbe354b56d0299657fcce9a4e076a87b36d9";
   hasRunfiles = true;
   version = "1.1";
 };
 "kurier" = {
   stripPrefix = 0;
-  sha512.run = "5c94f27d9897c8b33c4dbf9e4edbdd7b3f445dc210c442e73b5ae19bb6dbfbb800569d4d1dd98b0716c2dea27764c6dd5453d2041ece8004d3e743d8745b73ae";
-  sha512.doc = "398205b45f868a3d00eb7e45af8fd094676012174b1e4be175da0bd01ab24497b40522e77cd0d29c8f2e6283548a96ba0d0f3b88ce7e593f4509258aad4a98db";
+  sha512.run = "4f727e8733824e8c516e3ab1286cf0c834413a6ab52bccb5519c9a14a526cd3397a6d0a264679dc8b7d80cfc1d75ab11dcd2c02734ea63d5a2a5cebd3ea3c24c";
+  sha512.doc = "7fda14c05f105d341a31561e761517ce12b3e5ceabc01e0c5c8552ddaf55be1863a22545b268026c844b23f03e8700350f0dede79ca8fda62e7a2672fa510407";
   hasRunfiles = true;
   version = "0.995b";
 };
 "kvmap" = {
   stripPrefix = 0;
-  sha512.run = "1c0db537f139253863291a146d1b220b940d64bb2d9cfdfd96e8af0ad9fa4d681d81dc026f476099d204dbcabd45e5ab552d4b5156cfc4303e6a295f1731031e";
-  sha512.doc = "6114e2f88f361c9c6e0c4b828a00364d6738ded64e9e39d64b430deae0418117f1aec86fcaa36f8c2aebd627cd0282beb084cd068083c068516e633fa6373ec8";
-  sha512.source = "4945bce663aee547e6332fd062e789573516b60f4a0617ee8cbe04629db1dd766d88d712fa40ad90affe8b63075a2132b42e11fe001e30c00fdb059bdac3e0da";
+  sha512.run = "e9482c26c7f188d1bf45e5d577899efbadb221485e037460f233ca3b1fdf540f9984a371f62d5dbafb6bd8d9840c6e26ab3173152ec5b128e9a3522540db7912";
+  sha512.doc = "fe9cb7b39aeda44d826920898c48001406801ba9e651af34ea9d25ec85141e6a0a6cf4eb7f95451c84da5c7716d4214292c7e3f9e442d0ab5aca1c16e17e5c94";
+  sha512.source = "07562b173f46aa4787d3e3d279f37f59418260c9c610ecc476c62cd8c96f7f59629a126af024de5664cc8c8dc8620bf7fa5fa00baac009c62575c2ad47008b7d";
   hasRunfiles = true;
   version = "0.3.1";
 };
 "l2picfaq" = {
   stripPrefix = 0;
-  sha512.run = "0c876914f63a12ba657c14893480e24c4b4beeb2a42537937c8e2f40dff29bed077eda0f74300745f3d4dec8bdf4c06cbe7c8c7ebc2ae1ede95c1cb7b891802a";
-  sha512.doc = "4d5cd178c45aa30ed738c8d4175284ebd6e1cb83693752732d77fa574607dd4887e6a528229e8c1c1ebc8a0619b47bfaec3dfd5431f916b5f7de5278cb448844";
+  sha512.run = "c6ea1d8ac189784d6581eaf9cae83a83beba9adfd32536f43c04633f7cc457353f0dbb69407332a29856633552910bfdd31cf85332c6dfb05da2cbab88ec67a2";
+  sha512.doc = "e4202740ea2842296338e9d635b27c35801f4a5f8b21eb8dc0c1db572da0718fc5adcefc5c122793618336272606ec27f02f13825f8d2a6cf4b83583ea372288";
   version = "1.50";
 };
 "l2tabu" = {
   stripPrefix = 0;
-  sha512.run = "03814d3aeb2fda70f001f7abbd3f31a4112b2f4f6a6e6380dcb79ae11fe3be7b2c994f25fe5ac1a7b99ff2e2852dcaafe84edee7e092a558301246727aba8ad8";
-  sha512.doc = "b462d7118bf3845ac91b2bc254df881f35236cf7bae1a64b154cb175770a01c67c358d4dec4b0949d2377b3ee3985158adf44a3f1bb7882b3009d1bfe6a959c8";
+  sha512.run = "2e94e77ab5c8327396d2ff714f7c6c1e8c91a3ab0f35be411d11f617d39dd815d4bf1c6eb1dd0be5154c1d702697c08b8658c8371dce3dca0349712a5dac2d1b";
+  sha512.doc = "84673b59100568d1472f3221ff0cc35b8e8512ece38701f35d60265d316aa52186642def2d66885df47e2f613ae042a86972b7958349b7b2b83e754d72163df6";
   version = "2.4";
 };
 "l2tabu-english" = {
   stripPrefix = 0;
-  sha512.run = "0ebc04eb6bf4b4600616d8d82bc847f26287c34e7130d4d2e315577b8fbbea41846344071a250b60da95d46a3fdbd82994551eba10778708d6a0b3ce6e8618bf";
-  sha512.doc = "6cb0856a2428d2387280c47f26a5e479f49bec0a2d76e8a26c26497c228a1795cd51d7e19acf03eb6e39d2fb4d025115a44f4238fac80cf782f7a87cc683ca58";
+  sha512.run = "66e1d62c731a021c1be2fb6e9e3034c7dec59edfd03dc2bb0042a37ff6f0d967e59a023fee994f45cf2c9b15e64445b45c48a207e21b7edb81d8a538b6c8eb6b";
+  sha512.doc = "250ebdbd2a6dd3dd7d05c35cea0ea8fdb969bef983bc0a5f2c804129091f22ac0a499df482a1a990bf278ad94befc774d354341b30f9a0cd67539e1f63074ee4";
   version = "1.8.5.7";
 };
 "l2tabu-french" = {
   stripPrefix = 0;
-  sha512.run = "7e274ff36fde207f23be08ae1f72d1dea4fef39941b3eb319b7b6b15489348de996a7ba299820471f03e38dd4a8cb74d069e43bbb90f3768aeb3c3e2c14fcd0f";
-  sha512.doc = "ec5addaf9e7f4aafb09ed402713531eb4f94661b9e9ea31f2251086e3e02701a19c6b6c214dbdd2b531c6edcf50c6cdee0033c47ea57a2f4f6c66bc1647afee1";
+  sha512.run = "8478211e871e38765cbbd36f8f571e63b5cfb9dc652107a4a9178c11a16b419eba7314246878507f22bf7f66818f8c5d1516a527deda5a2dc6c30f9260f23b59";
+  sha512.doc = "f489b0bd07b60797b53fc9010c699029dabccbf326767948dd815224f1c591cb59d6da7bbac0d0385ddfb6f0e885e187b2385bfcdbb88933588b06dfc34f640c";
   version = "2.3";
 };
 "l2tabu-italian" = {
   stripPrefix = 0;
-  sha512.run = "155f27842e2b55b290a6656943785fcbc445b7f4117c5c3b1d15bc7cf2b8926abd5f92dbfd7980e1e2e93945ce0fe4fd6b699e67beafbc6f4f98959876091b6a";
-  sha512.doc = "e593673e37b8b75bb97ff5d9f253dea797929ab48cd923b7297935f534a79f3181fe37461424faec16c38feb56e46a4a127f2a85132c3e4083cc1debcdf29e1e";
+  sha512.run = "5b2348bed7ce47d7e2b8de6642e14b24ab440226d0de46a51eab08b3d11a39bada93d890e1ab9e2dbd3ce253b3263460fe7114baf9bc7b5c775a7d806c731ab2";
+  sha512.doc = "c76981112631423d5d92ee9236d9b5b076e3d71086f9dada77de51362a5d5e01d82d5b018a68950c2b7f4b10eff1882d677243594436bae41bcc6ab996aa900a";
   version = "2.3";
 };
 "l2tabu-spanish" = {
   stripPrefix = 0;
-  sha512.run = "7b7c963d78d8e70351e4d2043e9356c7a5730fbc86f24635d3f4c868130ae7468d1b06f7d7a4c7a484127e2ecf57f12f547f008a832ec490336a85c88dd9c1a3";
-  sha512.doc = "fe9a6a6c41e71575a116bb71d913ff994abb5a3bb8af6963fbd3349400e67fb8fb4268a0344bb162054c5ff12eb7e73d29014220c25891f6912e12149fc18931";
+  sha512.run = "73cecbb031be2d421c25a7d6a5c04d08e30d83a88b4132682d434a879da915f1d4af56980f1bf04f7df5a3e881ecdd940a058a2dcf89b5e9f48c378eb322da06";
+  sha512.doc = "a6886d54c0f5e1915ff9efbc4974ab1ef7f6dc026d67a0596ed47ac9e94da098e690bc70d5ed3e45a4d8cbd0f877f0cd6cd3a3757288dfc2df284e9c040b7c1e";
   version = "1.1";
 };
+"l3backend" = {
+  stripPrefix = 0;
+  sha512.run = "333591d082c62f4455d7e8208857b29fa7c4a9ecd0a29c1e51f326f13f10cbfd7ca71fc2b5a28d13ce6e1c6900bfd414bc2599aa9ffc93e7b29f08958998d277";
+  sha512.doc = "da240912b67819ef4ced9ff48064b5d84db033948cf318cd86f00142cb6ed9e0e31f26bd56e368cfc532f0f10555dda5c2fb52a663bd73a0512cf1735b760334";
+  sha512.source = "404811374a59ec3dd65817ac920639c2ab002f9f0974d53ee75836d507d82cf1c9c93b8d7178911b82713a0f2e99cb0245720152397467420822d84fc093171b";
+  hasRunfiles = true;
+};
 "l3build" = {
-  sha512.run = "0098484854ffe80228f879d4c18a01289b7d3f2d5212d0fd8449d069a031b99ed5e9446089f1f75bc7702f84f548f303b7d9e9722ed3aed81dcb3f924a922bec";
-  sha512.doc = "0561d6451d046660f40f74bbda898ab800e7170e158b51231af604edc70e36eab156e6f246c3ad3dfcde8e3658225f3cb7d4e9a86cff0973de3b62d397bf5e9f";
-  sha512.source = "1cdebb63294cf066383e7b44b6823c6fd4642daaffee41f646ea93f5374e52dd45ff2cd96573edffa15bce94557eeacceb659792afe62221fd046893f7380129";
+  sha512.run = "c9f28b9d6f84df09f1d3f30a86d228ebe1c0108b235aac32bb11dc605323a2fb04a9b7002e3ad0969ff29c321fa96f2dceff02ff718797f21b2c5de4fe499462";
+  sha512.doc = "f1eb06d0f8a521f14c76581600151a31aab40fff6f43961c971202ec6a17617192c39b14e79224505ad31707166c165c7b08a66dd0ef9950bba6d6293309475a";
+  sha512.source = "a41771f414fda27e16a02b7b6f8d46a864532197a3f8361751db54c66db00ca4014a3742d34831d3bbba7bcd869c1c28ad10adc8a742e7686d923dbf6bed463b";
   hasRunfiles = true;
 };
 "l3experimental" = {
   stripPrefix = 0;
-  sha512.run = "ff30d0c66829cbc22d4e3a9932314d745f75694df4bd3454f5c11b3ed3a4e86acd2838827a814b6d276a7f3061c933be9dedfb4d2678afac4b4251acc1145503";
-  sha512.doc = "9a82b82a5a88917c85b1b65fc95c67380772ef90ffa843b43e0ed671009d40fa8ae217525f9f3f858b5014182605fe0c6a32cc78266eeb1cdfd9023dca8d5030";
-  sha512.source = "55f2034d55209917bd1a41619ef2278e0d02ad714f2aa91765c35e10e6a3bb287c56b8728e9d9b584e7715c85b236a11a0ef1828c4278ac75fde042aa86a3054";
+  deps."l3kernel" = tl."l3kernel";
+  sha512.run = "e69ab380e3039e4b449c811f201e6ad8bcabbd74cfb887e18a2760d391ce7d0d253ef152e2a27857cb182ad867629b5a4a1982ae4253d618bd1f2ab147a42c06";
+  sha512.doc = "40da1995d9b5932dbe4278f0c24ba512f6880c048e04b1e38ea7fdfe47a60ae6b0ff07c2133f7faa3d901b5c5a29716ad8e373256ad65f9684b027e36d734724";
+  sha512.source = "2483730b0b0ab47b55c09f0d51c87f427b0f4c1c5967057a907807f04f3c9fbf977068156ee8ac2ac1b8203feaac826da602e4cb894cca5eec7d6f1ca90b17e3";
   hasRunfiles = true;
 };
 "l3kernel" = {
   stripPrefix = 0;
-  sha512.run = "6d266d2a51876c457f10f2a606fc0eb5848a95e058c0229025f7b38962e215c2a7d102e8a1532fb191caad39244254a8d3f496fa4fba17400fa94d090c15143a";
-  sha512.doc = "712459967ecbd8b27f60c90ab5243bd9c2c1a132ba192aecb962a410384707acbbda60f5d02e301bed11fc7a9a30ce897659b7f5ef08eed2f92d402c94bc5859";
-  sha512.source = "2a04c46aac670071453b3c76b616ce394f6fd26ced5e98b4296e6ecec0c6271a4e8bfed822d2f5f176f0ef79573b314993e26fce15dd2ee9568338998ce2d8d9";
+  deps."l3backend" = tl."l3backend";
+  sha512.run = "e5290e256df8a05d80e27a33ab9e498c061e2ae25ada357ee1d2b50eed947f0231c6e8c22960603373a1007095c3ae56381037aee5cc0297c57e7657b97fdd08";
+  sha512.doc = "6b6fda38fd8cf982682977a3e7d90dc22f45260251f30f29cdd6dd047a97368989fbb45bf4a1458ed29e1f45dc22648a75599fadd3c9528999e98d5bf55e3f2f";
+  sha512.source = "3682ae236165b37846d9e0605f5600117a71c31c1d282d95aa88ee5711b38708b11f6cb1de06d71d97858fe612b8ef7cedb2c479e58e0d7a0e9e29ad37b98cbb";
   hasRunfiles = true;
 };
 "l3packages" = {
   stripPrefix = 0;
-  sha512.run = "8535c62228468ff7c0c10d315661d51a8cdf0b6a6599002a775d19432d4f80636d622d35fc13c66f4c14a4cc9d3acaa7e4d79ab8797f3ed1af426658a9221ba0";
-  sha512.doc = "6ad04ae0234566144188a399eb3ba047ae64175de219af300443a4c0fa2ec1afc8273739e03180ff880d6cd7fe39dc2ebe15917a9f69b86792f8c5b4cfe214d2";
-  sha512.source = "bb292e51a547517c2731d95c1003ffed9d67e9058c82a006ccc789513edee519c29ce47510140cf4aff813cf11922c1663997d988fe6f0a39899ec1463c00ac3";
+  deps."l3kernel" = tl."l3kernel";
+  sha512.run = "eabaa7d60a77ab4dd9b4ae96e5b5cd1a93bcc4e5c4ee0259c3f3dd7856f1844b1b1b7eb4dd9cbab5b9b8803483ff1d9b1b84618d627a2bbf157472aa3db46289";
+  sha512.doc = "6f296faeabe88c7a1d6b47b2ae491c138be85b1fe93611f51eba8d756225d569d3c415969ac1907b08c6cb8885ee2f98f0063e43eb7907bbd8cc805588e51be8";
+  sha512.source = "59a319d8832072e9cf57cd5a3d4a9b0173bf8357f8714e587b2b1b50d84ae2a59e9ab9f8284f79f110d27e6e513c389ce5c95957811f2ff7039dd12eb1ae3ec4";
   hasRunfiles = true;
 };
 "labbook" = {
   stripPrefix = 0;
-  sha512.run = "a06297b8b48fe6d3df24733648d680c49ce356befe24accde5ca358e9f1e80ddec4fd7a335c1016e2075ad1bb7934af3d90a21977ee1bfd2b47e50a8fa90aecf";
-  sha512.doc = "e92d3d316aa451ee33576340d7c383a4e565eaa67bed6dfc7ad3041fbfc63c67f60b8a01b934a18964e28a89791d668120c5de9592a0a0e176a4b77e6ac7de23";
-  sha512.source = "7d93ac14bb8fda72fa65de59033c9b493fb5fa81e5ff9a259f691f27aede5ce4ab7caf063df02b9e18685916d08c14abda4ea93bb24b7f28486c70f3c681528c";
+  sha512.run = "92bd582cc729bcd3cea6979771e934d5a4a194536ff89a475309d3999ab0a2ab70d5ba5be6f0353e97498ab4e971e3209df9a3ca4ac99a8c9de27586a0f4a3b0";
+  sha512.doc = "98758f4cc186df470e8a16b2e9365f3bec585be18c0fa8700df238befe052ad69b697357c7d89b19233a9cf2b308c29a54bf84215fa3ca8859111b0214971ed2";
+  sha512.source = "23b9f993dbd431328590617c6715bb082cd1dac757db003b05296d318a002e85c8c541f5ce6a45703fa2cc481c7af98fe41e483c77b5025e50de324b68fcf525";
   hasRunfiles = true;
 };
 "labels" = {
   stripPrefix = 0;
-  sha512.run = "5647800c562f346c7777db7f2433dffcfccddb4ea2f0bb0633f099c0a486629c25b6289286035f8e34a42fde637761e797fdecb58aa43601409f63b962ebe194";
-  sha512.doc = "4efa287b894eb727c94a9c5669d1f6cf79c9c6e1e5f82b1ada996005b3c74672e1c08bf38b40ff6b01ad47e1a385f7e0ef1fedaf52dad504213a3424584ecab2";
-  sha512.source = "a48650834f036fd80ff0dda6287f37c8d1f2da76d90bba9f1d68e54cec4b7a924e3f8f9f0db858d4113505fbe3b70f55ee774491e33e26b7badfdf9f6ba270c1";
+  sha512.run = "b1cd175e1c5ece09926ad3fb5ef3b2dbc528435e26c81df563f674388083b481e6a6f072724254302c243a640960a942a6b356664675f4041c94962155f5ee62";
+  sha512.doc = "0ac61f3a1ec027dd3631a4e6ffabdbf71ca27eb19c877a0beef8d7d991989d613769474e99770e9edc74dffc8b59981da8666e5dcb26450717be37b098a028b9";
+  sha512.source = "debc22ed66f978aed88c84a0756677cc5faed39ef47ad37f8fcd4d6dcd02ce6b3a582ea6edc73ddd96ae04e7a50d43eddaba8404ceadb8c49439927f41f8c210";
   hasRunfiles = true;
   version = ".13";
 };
+"labels4easylist" = {
+  stripPrefix = 0;
+  sha512.run = "1f792dfc8c3d51cbb3ec4370e4ea36612d503a9a92d088f0d8b03ccc78c480118308aa48e4dba66dcfd55c8a3442950242742eddd557bd6b44c925e01e361163";
+  sha512.doc = "1ca630c5aa01e53d6a7fa65d9ebb4ccf5bc43af7d3cb66a6bbb287398e28764dae0b535eb4b821c2c406e22e239e8a88fc63a010d4e79977ef6e8cfd563afde2";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "labelschanged" = {
   stripPrefix = 0;
-  sha512.run = "54ef82e26b97bbf719bd0d8c2ba678442ce653e0abdbbc9c96186c573e0e778f40803ef43c993712417972fdee05fce8cd862052daf1cae4fc38a572f6253a67";
-  sha512.doc = "a6a530f7fb8d373ab9b37ce3b6062790d8acd6eca826682cfc775aa49a38d01fa9a9549ed1721cfd77a9cd714fd6f286fe37c0495020493ac8b756caffdc2d10";
-  sha512.source = "f794f4c33e78c8976ef4b053c3adb1bda71d75d82b898dbf60713073f9a90307731e4b24fcf9064345bbadf4052e71ad6a0f854dc90ee259851959742909822d";
+  sha512.run = "e9cbb45a636fa75c9b9c8d8400fd9a0cf0ef2a46f998d650631e9874907daa7b4deeb4c99d1610eefc343436d164ace717b32cb1d0c45e860e64d69e4c827a07";
+  sha512.doc = "130c0e5f27f0de161949fca202f73bce3486e9346a48584ce1b8636c16367eb3398b36f0145e37531d64933698c201132ba90ca3b5d5b011978d0fad0cc5ad63";
+  sha512.source = "59c1cd3371e97542f6f1cd8fcd14b3cadfabffbecad635bcea33eb535e45ba8b174e9e392e135c799afec08c195b867477255d1336c281a1e9dffe7c1c457cd3";
   hasRunfiles = true;
   version = "1.0";
 };
 "labyrinth" = {
   stripPrefix = 0;
-  sha512.run = "54b504d5d555246ae2f36f49cb060179cc62a73d6d1f3085a9280ea4d88be25c5371aff126a74ebc6197ef98b9bfeb9cb17a20b4a118e2f33c4cbdf56b83a64a";
-  sha512.doc = "bfa1ed0645f4ff540484cf55bfd80cea7255e488ce04be2c7e0f0ff415256aa13d13accdc30b8cc33cdca33bbef38bce1298c231399da40661b50994c709e4d3";
+  sha512.run = "06c61f5a0a2b39d644d5b741877f445dea48fefaaddfb7f60251ecb328f16ba2ec6f09731608ac5ca7b288fe77fc193984dad25b8f0ad0da5f35bdd43fb2f8ee";
+  sha512.doc = "980a3bef8b8eb51cd454c835ba09205f8dedab92f747db9704c72d5433db75f68df298ee4ca06c6d68e0cb4c4b733c882d14bbbb9d877406163b0f95730a10ce";
   hasRunfiles = true;
   version = "1.0";
 };
 "lacheck" = {
-  sha512.run = "0e02c1a8a47aedc47f9346ffe21b5ca7dbb5c89618561afd74b3e817d8b093df551baf2243e44645557da722831ce6743a0fcd21ab98e0f56e0efc9f67b0dee6";
-  sha512.doc = "f69dad894e5b6c808e9653d45500140096009284f01cab9ab5295d4c516488cb1d82b5ed616c6e10c1f25ba78169faa980ba4cfb55de9aaaa5c37d0b1e5b2f92";
+  sha512.run = "7b8c4c7d15618b7e0d860afce675124372d31bc11b5e89ba169c355401714929c2c192912e7d666a3ca98c805e2f4942bd6173763a5a9265d1f19467a29223d2";
+  sha512.doc = "59202286440ad95fc96576f6915843adfb2b3f0092509175c759c690069e36c0ce1ae66ef46c1dc1b9c33e42e7819b1f3490b45d3c3933233201d3e86eeb5746";
 };
 "ladder" = {
   stripPrefix = 0;
-  sha512.run = "41ce1702c35cbf9794772ebbcd80e2f2d4e445a37df0b7a8cc6e184bdf0051a2979560b2167c244b4d42712c230f45f362347f4951a0dbb1b327b7dd0f5d1eb5";
-  sha512.doc = "19c3db31ba877b5076575f32fe78c8998b5e7920ea38a003aaece34a99300c9f52e05aef5f89d9dfae04360d3ddf87a636a969a2892d1dfea14b2dcc369c4895";
+  sha512.run = "bbe2f94442a4f308a416e9d849f9e4b8af12387e59e73931b563d5daaee312dbdf82a99f5122de897cb069a54f3bc13619e719ed717b38db4aebcac72c2c4f93";
+  sha512.doc = "1cf2a2a2267e819c9ee723af9cf51d711f778c3583c859eb01f2b2faebfd0f7a6fc4f4ab6caa83a9df6a797175ec27d29f0debbeaeb39387954070623ab60b29";
   hasRunfiles = true;
 };
 "lambda" = {
   stripPrefix = 0;
-  sha512.run = "cce054e426eed743c11f6dfbd7004b10937b071ca305837a91a62608a121bdc45effd2511192d477efeee8c6aa37092feaf2bef4d24820bd7114501f7905f112";
+  sha512.run = "54da97daf172e3dae434e75425b80d1c617ddc9991f6ee804cd812e2c4bd70b49eb1a01318e243c10998870877d4f76e084b5ef0b0eaa89afa66f77a124a7c02";
   hasRunfiles = true;
 };
 "lambda-lists" = {
   stripPrefix = 0;
-  sha512.run = "368575ee8b74228752c377b67a226b5eaf6cca9b6c846f988d599ebcace0e12b0bd54a2b8f7e17d353c974871b0b0742b85471f73f40e354a0fd6ff7df51aa14";
-  sha512.doc = "ca0dccf61dd14f3d146e05edaa5c71e1b4869ee6dda86bba059538a086555ecaf8235fb1d7d13ac61f8b169c3d05a4d17f614c3698117995838f90af1d44f588";
+  sha512.run = "caeb3a547eb68d3e255d729cb6ec390cfaeb3bd9d4b4b6e8f877140fe24f4ee3ff0ddccd4107fa836faf5163d3d71209fed4a9e052d3329ff22a892d62b43b92";
+  sha512.doc = "846c403f99194a19cd21e4d7367a1b43a8ad608055315bb36a1113fb37dd3d922dd8c5cb8474ae52ed3006be520b7e9023680e85f0dbb17f69a41c8c17e81a5c";
   hasRunfiles = true;
 };
 "langcode" = {
   stripPrefix = 0;
-  sha512.run = "40ecfaecb171d4b5898513747026fc917388f8d75fed666e0dced7a861139708769f75135f846140103065dcb8369fccec69fed7ca5e6e0afb55a66e421f5167";
-  sha512.doc = "7f631cb80439df5a83f154e88028a998d837f1d84c02db589a0ea72e350770c539326056e5e25bf462a12da25175b6d0a8c9c4e5e90eb71c30839604278aef3f";
-  sha512.source = "6aac199dbabba9fb194a9cf822381166fadf9f2f1a73d0e5ab0e50cb811c49d67b27b51f4a97be7930c559eab523211112bae1f00bb335d422474ae1ee56e007";
+  sha512.run = "bc3e601701732d3ff533a7415446c2aaf7306732fdd6a8ac8aee6571cbdfc02b38f51fffde3a80cf5df6b0dd5e649971406f76d394500a74f1830139ea0bc0bb";
+  sha512.doc = "7ac261071a2902d1e24cbe4bd43bf1baef418bdeb4d3c1dbee4db273d29918649f346e97b5ead3e3de2820110c0cd11dc58c78f765dbd07f7221f28ede5242a8";
+  sha512.source = "60baef83840b42deb38d8ae66e18484e4a0431fedd23b1a8dc96c426840ee57f37ab613d93409c3ad8660eef2e759757daf39ec9aace30350623accbd21d2de8";
   hasRunfiles = true;
   version = "0.2";
 };
 "langsci" = {
   stripPrefix = 0;
-  sha512.run = "5c5de4024b3fbde931c5915ec6b653cd10af30c88fd3b320b1b69309153259a09fc0cb2861fcc50da43ae79253d6f59ca7ed9085e7925b296fe2e65cc567a83e";
-  sha512.doc = "1acf6a4eeaa8630a28b0b6b5c388965a54ebceea867721a1e1855c79f0f8b614dfe1ee68b8c2e17769247e4675ef2a5b154ece42b4e340c03219f9b3171e5d21";
+  sha512.run = "de35684ed71408adbda8f7238c80bd4e453761e18dd4083ec4680ac8cae711dfd0aa8339cc0ee211c231b17729d6e85316845586f6f6ee70e5c0577d84b1c9ad";
+  sha512.doc = "439ac71163f1dad47fd4f2eb533f4a17a84bf3258f31baecf941242ea845d37b55ee88e8b879b3cdd070caca8f98b6b5d591c07889214ec1d64e32c3112d8476";
   hasRunfiles = true;
 };
 "lapdf" = {
   stripPrefix = 0;
-  sha512.run = "ae3ba4ddd6bc8aea967f9abcd00781e65459c3b6b9ef2d9df8d33b52686700b98848c6b049a75c73b39f3b35b81639cc9835a36a1ef551de6b942eca868f3cf1";
-  sha512.doc = "8b0b8c9ffa68c0c64e3954e04a65e1e0c7d821c1055fff95954c158f32c2a40ad577e71b93605af032a9dce1dada4b68e023bfd8f3f8740cefe29d5aff9e083f";
+  sha512.run = "10bb6891b82334f7dad4a1cf48c78b2b55c3b4a8939628a26576e99495f00e2bb8ee82028b13db4de6224e58e421402794feb2591842030cd47898506589ff6d";
+  sha512.doc = "6e561e0d513f7b18e4e40d11fc1f077a061e6cb08ed072de1d186bb86ab1fbd3905af6a79f9dbb0c201e437a1a8716706a83f1709d580c293961ae454699c9c0";
   hasRunfiles = true;
   version = "1.1";
 };
 "lastpackage" = {
   stripPrefix = 0;
-  sha512.run = "985fbc2254086d29281aa6c2110abdac4af676bf4296ecacf78d33324bc7d8529af13b3d34a6f2bb8e0d613386f5e77bbce3120da34b1925d1450a0efb20c9e8";
-  sha512.doc = "e19b5a55ff29b97f970a8ea5bd42b46b346e8140155f2f546e29fa8574a0c4f9a43286de1ec1ed65aba018f6454b3d3d454724220fe0910c1c6f9919ee00807d";
-  sha512.source = "29df3dd1bc7e6882ea378a0c1d1caf7c8c1c7e021cc0e34d919a29c5b9ccd947b79ad8da8ac17e31399ed7389f5e9f0898a65f8dfa4c0c145b9a6e9c171a69e2";
+  sha512.run = "f4d30e327704b32afe1bcb81023a247095203a9b47357f9a6dc4b631f4bb669255ba899cf1c8378b42ebd16f2608d8a649a0999f26e3d05c963eced1cc955ee2";
+  sha512.doc = "f31731b5a93c154db123e66699ac5175fb63b965522bb511d344577645f9b8ac6d78c6a1a108cad8914b1c01b1c7a6e656743b075a03322c306aaa5417f62be2";
+  sha512.source = "f894a701e4f30797039bf60e98f9f9e6cc730a167fcccf88075802c0a5a0244eefce9f854b95207b7a0714984592030965f818ecd72c98af199c07f3400eb74d";
   hasRunfiles = true;
   version = "0.1";
 };
 "lastpage" = {
   stripPrefix = 0;
-  sha512.run = "3de2ae8047fa3c8bd2ee9af7fa8a09e20f51d669d8cf8d32326bb4481c6824e1b8f09a0550e6d75b0f0e6964fe28d5bc377c4f51f99ff5794795ea086c8d8c91";
-  sha512.doc = "c70c89f91472e98e142495ab5473ef7bc8bbce2811e01a082f767ef98c7d7f1be79ea10dc076227246d9130f7bf0836276eaca854fbbb26d3cc0938c37ead0f4";
-  sha512.source = "a9d1da2deb2245755e5400a1876fc8725820e185acaef99345bbf7d7e46430e2ac203e0b06d38803de51c2954fd4ace1b5e1b371003f597a6a1c8dbc2378bbfe";
+  sha512.run = "adcd9319022ecf2a5b959ede5d5ce8c5d6a3e7efe1aae5f84abfa7d138162e24a403c6d50604cb6bf8bc80a918837f6d78dee60a452397e7a495cc4d15e52956";
+  sha512.doc = "2eb7e8457918e2ed51abf6f48d5f5d93157eff19b8e320a782bc204b44c58a684cdeb2dd3b1c28f5a8de7434b6da9af49ffb2d939ae80875234797149a80c2ab";
+  sha512.source = "53b1f86deddefe6f61b270ae18cc705a8ec1360a98a5e5338730aa7cb1653383062cede821dc670c5a9db0064e2989961d2604491bd6a5df9fd90f6e18ba0ae0";
   hasRunfiles = true;
   version = "1.2m";
 };
@@ -16272,20 +16653,37 @@ tl: { # no indentation
   deps."pdftex" = tl."pdftex";
   deps."latexconfig" = tl."latexconfig";
   deps."latex-fonts" = tl."latex-fonts";
-  sha512.run = "6d520e2164d259a62872b21af5b416c66eceec8ab490e1b8379158988e3be3ccbf613cba6f3dead9dca685e6108db91e9da71e8c032865b4a9c687005fa2ca15";
-  sha512.doc = "3b1fdbd4951ace07edf8c43c8cac1ae657c7853d3cc232bc35c75be4a19a9883148374025d661101e4d4a87d7c163f78f4d2fb4670b2581f0a9a49f59a947cf2";
-  sha512.source = "4fd92a57df789b2ab420ee86e7d34814541eaa3f133bb0fb9f5b47e8aec29256e8c6c0c9b780fc5a615b5946c88020ee3c09e7d82337780a125631200153649e";
+  sha512.run = "c1238a06abcf973717a49441d243bf7cd30ce4f641db3ede8c04796ae5be38b5724c3431d44ad0d2e83998b7421443ecc7feba2ea318eeafbecd33d959704dc5";
+  sha512.doc = "7dca728cb9733a93de6265b4504f2ab5bd4b9b518a28c7980e658564c32f800aa3a9ed8cca7e43252b54b9888077efaca385308b33d7cfbe8ffb942e170d4756";
+  sha512.source = "c28ca4c596a1fd0357fafb3f67332ead41ab0445c6f2258fed19249a67e25864f70fbe1a08d5879db918d102d30a0249b88e5897097538578c5c52b8523447a1";
+  hasRunfiles = true;
+  version = "2019-10-01_PL1";
+};
+"latex-amsmath-dev" = {
+  stripPrefix = 0;
+  sha512.run = "97acbb55f65abb9ead2b6134d47ff72dcd6de996123b5916c6073f976064a4c8055228f37a82a124fb7958f3cc7c08f3c2c4e61fe5c9004a5b8c24a086d0f9e0";
+  sha512.doc = "cf2ac69cc86e95f8afc814bdb9003c6ab59f3f9a9afce7aec776352496ef114fcb0d8ae672f71d901c2bdc0d45ad5efd70a7bb158e9ee7eefb247142d9330db6";
+  sha512.source = "569e963b567e5e1aaffc8352894f707063d0b83ac87728a125cd9bb915e1f6e1f82e89fd6c35a1b4fc440aa4ad51b61479c8837ba910b4baee8400bc990ce4e6";
   hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
+};
+"latex-base-dev" = {
+  stripPrefix = 0;
+  sha512.run = "2667d8bac15b58018d60535087cf1e95f78cefa7c55203220af2ab895dbc3d144e140f80aa3511f2c08b1a31736e893a4533f41a3d6c60b56de6aa522bd129f5";
+  sha512.doc = "0cde2495ea61c5f0dcd066b50a487ff950022103947894cf28e5859590065879dc9ce4b3c6feccd195bfe408c3ef4ff3b24feb86ebe5de68de4d237246c131d4";
+  sha512.source = "551c2a9cc8389bc5cea38672a68fd746593a74613a95072856d2a8edbec84a8569ba77f39c06adcdb5caf4c58d087882b2bd56fddcb4fb0e6ad7ce0940e51afd";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-bib-ex" = {
   stripPrefix = 0;
-  sha512.run = "0f919bfbfb21f2102aa44ac6445270fa120072b960aec9f09253381e6657a418c2818cf85ebd201f9a208f384174ffed3924d46f35e6c6f6a888b049d15febdf";
-  sha512.doc = "b33691bb61b09d4e23060f04b41fc6e004708a15e5013b09b21e074c24f7a15fdb0e39a21e6f14f4810e6864582987810ef5c21050a00c2c41cdde462910eec1";
+  sha512.run = "9f91b724d8fb1bf1c3140632c4ba485350defdfc926dd3d558d2a318affb5b6d56cfb1d0f8651d0af878f165148a5a1f06c82f71b8033187ca485fee1bb6ec0d";
+  sha512.doc = "127f8ef52da49a348e79b062e16dc6a5f2b1728fd553ec3eaf824117e764e11d8e9dc63d34c0eb86417ddeda5e7f53403fe2361d8f959acb697330148f5d64a6";
 };
 "latex-bib2-ex" = {
   stripPrefix = 0;
-  sha512.run = "25ac22b5d0f2b842fbd1f3ac2fe6498f7a0965a0e02f8d46ea818d840024050bab0ea1d4c85594e35e421b2e464cef638c70aacc83d4ed9a8d5072a412548c56";
-  sha512.doc = "0ce885f124577f99f68c1c83b1dc6249dce152e80384bdf42fa82a991f97ab5ea403d23ff1ffe24d3d4e0bf41e23a07794cd2376a92b8260620a5545db6d460c";
+  sha512.run = "cabd865b67e6e41b3b0745557b25d03cc15da1f1de41c79f92274c05e6d07718a598554b25c096a4261b202a20134abbd788f578e279ce6d57efaf1dc133eaf7";
+  sha512.doc = "2b5f1cecb8cb5d3ed78b10846b6f5ae38e02b930c2012353e7064b12865b155019924aaf48d995910b6cb7594928276e896421e85e71bef17822237f8350dfde";
 };
 "latex-bin" = {
   deps."latex" = tl."latex";
@@ -16297,1343 +16695,1401 @@ tl: { # no indentation
   deps."dehyph" = tl."dehyph";
   deps."latexconfig" = tl."latexconfig";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "5fe5b7cbb22870304818b0c07f74c604eeceb6929ee7b8a1be053f5eacf3cc94120aec9a97a32de67fdae9b1e26e2ff45e9b30afc1c0700d33253fab25ac093d";
-  sha512.doc = "988777f2dda08f4ce4bf5793bd9d06c76afd65ff4c4b4cc73fd7ad3c50ea67f1aa26b849e48a7bd6d5c6c6e187d81fbf42fa743a0f9e20e2449dd940e5280e4c";
+  sha512.run = "d06524764c097f26b80a82d53ca02d2648cf6292a0d346cea6c52029c3838829cc2a3f1d4ba410f009648a1cac0c851bde40955fecdbd25146293fa63ee99af1";
+  sha512.doc = "90a9668373a99610db35b748aa44b34cb56a0c02cbecf483e93af106b0ce2745bfc03aa2d41eece3038e9c9ca0b1e1428ea38c2606be6a607dea01d4aa46a5b5";
+};
+"latex-bin-dev" = {
+  deps."luatex" = tl."luatex";
+  deps."pdftex" = tl."pdftex";
+  deps."latexconfig" = tl."latexconfig";
+  deps."latex-fonts" = tl."latex-fonts";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  deps."latex-graphics-dev" = tl."latex-graphics-dev";
+  deps."babel" = tl."babel";
+  deps."cm" = tl."cm";
+  deps."hyphen-base" = tl."hyphen-base";
+  deps."tex-ini-files" = tl."tex-ini-files";
+  deps."dehyph" = tl."dehyph";
+  deps."unicode-data" = tl."unicode-data";
+  sha512.run = "a00c38a2e40b62c40613b73ec6f71344453cc638f17840984a95c66de4a2b42fc670710d5e242350e6cc4245c29b5cb35ec0764e56d5c8e094e841c29c6617b3";
+  sha512.doc = "109e4028793c4c0f0db6f7c7d004b11d483ef35cf0091ce50135510cbadee2069d6203f3b6504cf50f43f5ceea9a409dc47707cf31dfa6cc7bb013e6c7ccc781";
 };
 "latex-brochure" = {
   stripPrefix = 0;
-  sha512.run = "aa266f2ee796a86498ffc7f3d260fc5ebc7c0207dc7ea282c09dcb3b2a192b4df0e9775e0afb0a6250d80cac5092b98400c600d4183cda4ee60fcc00ab59ec9c";
-  sha512.doc = "56c2f8ae0c56d06cec4e9e6afdfbdecf68ca4fc445450ac5b193ffe343ad5a984ae6541ac02a20ba68a220172a0fb90d8caac3ed0d39caa6f0ce92413dd58a9a";
+  sha512.run = "de98a91947d5cb919b6a2c6e6a87f63499c8c5975992d039bb8d2a4662ed597cbdad99668b006cf775f71af936e5ad285958b48b57eac61783460fe37ed76298";
+  sha512.doc = "f057b86b61ee1f50430cdb83a56c27896e052047bbc93c4f09884b7d76f16f73cb1b570341faa2b8c771c0d42bb4d6450b8715c921fe866a57727eb4ffdd329a";
 };
 "latex-course" = {
   stripPrefix = 0;
-  sha512.run = "e244576c0405010ae1ec0545e34d57f49b43334a30f53d0f7f66df51855fcfb6c58e31bf59a2834a3bf03cbb4ba6b6a10ed6be2f6012148422ec04a9bf5ff1c8";
-  sha512.doc = "64cb01caa310cf5c1553120fc31f63bea713cf1f89560321b842930cd74a9b75be6485a15884eba2124591ffc77ae3d7f1fdbf84159f29554de0211991d4cb50";
+  sha512.run = "9af9e8a2ff7663ba89538a93e45e27098451be4ccb9380b0deb002a9a42613467184b5a4d38ff8222c7ec5e3c722128222976aade12000c447ff7f8ab42c0656";
+  sha512.doc = "772ecca6e71a9af7c31b9c5fd48cce88a7dd880a98b0885e9e5084247f64049234a8d123fe985e247ae706f1d0da1f58bae9e62082defe1acf9345bc252b03b7";
   version = "2";
 };
 "latex-doc-ptr" = {
   stripPrefix = 0;
-  sha512.run = "81607926e05e3604140acc87a52e5e2f754d9d1d39a6a19a0982383fdedd54369cf8174a8e2261f6229cf1e387175bed64cd9ec8320ffd790a0daae0ce10d1c7";
-  sha512.doc = "e965b4d9fea1c1e514a808e697c346a8c53205eb24475573fd5435c22cb3898c6b490ff3672c60012fdbbdd19d9b2d4552cbf715c52514360f77319bbda83397";
+  sha512.run = "dfdaaea00e167fa3e4183b6e6a223996d1364707a7cdfc0bb8cc76d02a0c5b3739d8171979dd80540edb571cef84167b24639b265349fc9646d5570e6c48dc61";
+  sha512.doc = "e5ccf3968aa02ecdedc2a64f0c53b2eccfa3c4df66da5255068248de013753ec4be67937d9c41552f302979edabc53ce64d902a9f13e4174d67f39909adf9735";
 };
 "latex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "ce52b60862fd61367d4951db1852db7e0f4f7922580680b3560bea1df065d2a6792ca5ca9647c2cb6cc5e2bbeff44c410dacf6d468a58e9a2620004b4f6cef62";
-  sha512.doc = "2c9d67d0b9521680e839f14b7e30469c00824c8ed68856aa63a56f21c2ddc1cc8dbd69a001e989b5ce331eddb66b12f0ad1d391f75b94f5a491ba77e796d6c9e";
+  sha512.run = "98549dd0c7b29511abc3a1a6b6803a86af0b48121d47e292066f3b67e4b5847efbb7025352c1ec996778c7ea3a5cba552385e9b4dfd6ab005d716f503e37a26e";
+  sha512.doc = "4d3162776a17f31caa8e6a0fe05eed9447b681d77e653371cb5fa5d8dd2f01bddddc9f95ca916f233c11f8ec7d15e02fe575dc953fdd18c34ba877829a142bea";
   hasRunfiles = true;
 };
 "latex-git-log" = {
-  sha512.run = "9b889286f9eb3a2ba0b1123252866f7de61678e32c1f7988ab3d5286cfd946acacb602170fa2f63d56dd63166815b103588fa545c94559e105c60478c6b0e8f1";
-  sha512.doc = "f27474c0f8837d8b8d90af1277cc2b34fc769821923c3ad3121a73de6c239b97c113409a9af86cc28af0df11515dab8956ecd04d211856e91cec84280cecd72a";
+  sha512.run = "7277bd2160cfbab8daa88144b384cd03647192d516114d692af232906a39ea44ae5721ff0b935e7dd6425ec5514851220787827b819af71ae3f0c57b29d0d924";
+  sha512.doc = "34c96eaa3950f9577ddf63fb42aac51080f8e92c55f02b217d2b680353f97b1fa6bcdd59158fa9e81d48dbe63d35859b52285912ceac4b523a8ae34ec894a1ac";
   hasRunfiles = true;
   version = "0.9";
 };
 "latex-graphics-companion" = {
   stripPrefix = 0;
-  sha512.run = "8907b2f669cecd9f32c644b531a531261cb891e8969742d0e493fb16fbbeb266c56fd0ebd2865f2367f25e626efffbc686db39e24d56a38242af7712bf86afff";
-  sha512.doc = "bb53f00319459888ca5da925e70db861756b2ae1249327590cbda5b26dece09c97b98671872b819fc5f32842d4b298c201c058339967ae9e8630c83c2eeb1cdd";
+  sha512.run = "3148a646539db3622096f9aeefd7ca2d44b0cf83cd454673893978897d07cfe7107b8f5bc745bc6b60734d4ad3429be1ffc2edaa8c9dd1721b41bfe913fa0dbe";
+  sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
+};
+"latex-graphics-dev" = {
+  stripPrefix = 0;
+  deps."graphics-cfg" = tl."graphics-cfg";
+  sha512.run = "92bdb4f11668c51691cf39f65a2998b8fe9eccec0928eede30c38a85faf3cdc5f8a97ecebf871a15b1cc89655217e7c94557f9a7a83945e900c126b28a94d950";
+  sha512.doc = "5c0b12fec212b50cb444ee873d0e09993bc0b969cb6118d9cad02ec3857cf89a91c0fb23b288af7c3d21c3dd95fd979740952bfa8557ca93e3a76a1815a7d22f";
+  sha512.source = "a92a2b7d1a6e970e4be733697c4e9d00cf7cf8ea3deb19e1b076e3967ccf2e00828054001de482db3bbaa7e90f593d3e199bb9e8c77b07bbc79acbb78588ea74";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-make" = {
   stripPrefix = 0;
-  sha512.run = "34ec1cd0d02f493670077b9f93267d8acaa64e1d60f90888c3de840320efd064fecc51d09bfc7586080a81dd14f3b1481a97c8dce394ed8bbdf327124c840fac";
-  sha512.doc = "77a14eaf845f377a3dd9504ce909fddc9cedfac86e0af3473bbca87bbe8d714bee2e3b57be86b51e108080a49afdfec9e8976252f6ebf65ec45922cbe10dda11";
-  sha512.source = "f8c87e78fecc03969185e923fd4fa8202080337f2f59a484dc52aad22ca26dded8b69a2dc7d55396d7100e7dadb2be04c6b385ac5e6844d583fd6eac44a21435";
+  sha512.run = "cb48ad252c77ca6271a527718872f95f28d64664aa62aca9ed11d73b1fdf29dec1cefa6c2fc07f0c95e16495a0a2410b59087e88a889b1047ce24bff71495ee4";
+  sha512.doc = "bfe0143040544987d9e89827b79a847657f9b705ef3607ec2757ab7d5a8b4e005c64060ba5d3cf4066c4f21e622cafaf5e7c442aadd53f6583230e7f276c317a";
+  sha512.source = "c437e31d4cb28c8ad838545aa0afe053318986a8fd9efb8dea0500d544b94bcb2a6b89c96d079ddc640477bba845b84f7f1fd8cf86ad689c04628e274352738b";
   hasRunfiles = true;
   version = "2.3.0";
 };
 "latex-mr" = {
   stripPrefix = 0;
-  sha512.run = "aac1311fb74a34233e5f07f44c64d210cee42f8f40d3cc711fec55e70d76884bb537f76cedd51348734c6bc003b605395f0ee6b5b877a292c28977eb63dd65a2";
-  sha512.doc = "2979d7e7c2418a9c6694dfa05d7a4e3a015259780cf9187ddb142067d1f60bc5ff818ae79c1163aca26c6b324a3d0b39df813b57a3216e9316c1334f48c2ff26";
+  sha512.run = "3c5b806bb100cd7280d4a7e97104f21b4260372292aba60264f88fe9a7230fb42365ffea15a948d4334f8f74683d9a79ca40cb9b87c49066d61a2b0f101dfb8c";
+  sha512.doc = "6022c2e3642928e716e6ed2536c849fade08dd26138312567b139a450032ec75d029ea5f1103bfbfdbdb7bec4b35d972c08e866da8d5eea89012b7a1fc414678";
   version = "1.0";
 };
 "latex-notes-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "11cdd1a27de3a7419378051016245d90ba269cba1798c516d5449d0c0dfaec639dc77c663b97f56bd07970f8b2e58b805f13544245e204700485f93e4864bb06";
-  sha512.doc = "99e6ca45546de6e2b65ad302fbd379c8881452b5e71fd2e80f07445ab82eed133c0bc37225ff81bb3b5e2c4a1f4649e204eb7cfb5582e218de59d3f43853c89a";
+  sha512.run = "5e5b3bb01456fec3dc22cb5d0d4f521b4d4f5f8f3119fdd76ea9cc55a70a2ad8a2b72e36471894ee448c1d40d887d20ac8fda39c4a3fe2cd111d2850eec12071";
+  sha512.doc = "477df31445a2991db3c2b8cafaa97662d722f3f7171c2f756cf025717cb3b896c1773adadbc42c22cb360f7542a0e658547f15cd71c54e9b79f76fb1e2097e90";
   version = "1.20";
 };
 "latex-papersize" = {
-  sha512.run = "ec821fd792e83a8aa9230e60898286225dba8d0cfbcd1677dbc75746334db512c063fa37268a60add8f2d8aeab182a29f8707d9d6ce75e730f0cdaa53ded20d3";
-  sha512.doc = "0513959efdcbb9a6a210299cf35fc4f2a1a83affffe707bca1a210263d73acab60e75293a50273116336ecd66c086c1c5f4f29a31ae26508af2f0784c935ee4f";
+  sha512.run = "cc3c6b563e16f70cab0ec113068d7f870a266c090ef518c06b4e3eced8e8fd9cb7aaa3544ef362ffd4af7f1d033a104daa48d47416061c3a73ba8329cc9a0fbb";
+  sha512.doc = "662d7a890978bb772a79db7a1d406ce6958970f6cdec352f78347d9ad8df47734ddae444370fa9e93582d4030568cd516ca32125b2d1e0f60aac3ce1c9b930e9";
   hasRunfiles = true;
   version = "1.62";
 };
 "latex-referenz" = {
   stripPrefix = 0;
-  sha512.run = "be060fccc9bb4518ec7ec64035fadff208e6ea36814122d7d7870d53ca8e253387175abb8c0965278839c04f2964e9694ad706d1bf3f1f9e3e18cd854fbe71a3";
-  sha512.doc = "e905b889488d868982cc253c4dad621462301191dc5abe8bb7d77853d13bf460c9c5396bbf657a3003fab11b0aefa315f24cc7ec59ba4320b3f835fae9cb2819";
+  sha512.run = "b61dfd5317eaf0ef7add1f80506492390d5ba0c01480e83d384e60ac0aff39710945ab81e030e7882fafa77a2913d88efd31f3cf05729ddc09c63243e825260f";
+  sha512.doc = "e71abe8a8384be7b0e343657e992b7703d30b38bfcb1dfb689954bdf84581336e099059bdb14af464c951777a8a6809f1161955868dd2f3b219fee3d2046ef94";
   version = "2";
 };
 "latex-refsheet" = {
   stripPrefix = 0;
-  sha512.run = "f12ee11dbabc330396539a3a97a2592048d4a726c8a3e373e3b478f41f649fe2d6c0b9eb804e55a980f71c61d2e05298277b4a6efcfd0c739a043f2855c89a9a";
-  sha512.doc = "a5d57a859c6e293175090492bac0d99da31bae58264fb08d9859cb65ccef558b8b4ac1390c1b4e286748ec4734664d2d2a51de9f1bc51a82ee96bd958b68c637";
+  sha512.run = "ea6751fc09aada1b8ebcca08ecdb10279b6df881b3b373b04e8c238609de92b4cdc4f1e7321f178b15637c0b712e9781317af07030f2f9297a3ce23a5f46cb32";
+  sha512.doc = "77149dabb1fe5c4a46591b3b307d02b2e2b33a07267afcdb44b77a2a823dcea9ea76b4be5ddad530151b638cfbcaf5d87ed0fed59a9e8ed99acb0895717bc71a";
   version = "1.2";
 };
 "latex-tabellen" = {
   stripPrefix = 0;
-  sha512.run = "272ba504955b7376da617d79325421e38fc228c7ac5a894bfb348572f1aaacccf5764b4ad6f0c9d6fc3002cd4872785528bf98ea18f4ceb9985b203f480df803";
-  sha512.doc = "f17b4d6267c9f7518c0fa8344a66162bacfc8752020db97314d9044a9cbb7fca4b991a556442c146f32a77cb3f28e11eb6ac4b5a7d76f9837354fbf2437e5110";
+  sha512.run = "ca056b194690d7b71429022c4b80b9d171cd7aa2e580921eed556a11fc2e3162106a06d61333dc69495d801120c35528fdc74b9c282cb6baa3391595e5f28d76";
+  sha512.doc = "7f3f4ee26f1f9f6bd6d27cbde4193d8e2607a34ee2ebcbc44934b17673b60375a566828461ce672fe8d4404e32784cc62a54b51873645592079aedaa7c82e081";
 };
 "latex-tds" = {
   stripPrefix = 0;
-  sha512.run = "4e0375778f7b7bdb64685113214e60c19b0156efb89c58e20ea527fe17533847743620a5786b8566df99463916a9569eae392d19f1ee79debb053368ed6eb02d";
-  sha512.doc = "d8b9f54320e4b99f0a415ac1d545730bb4a3755dc40322e253f0b2bb024f5ab3b3846389e83f3cbea5c1e0c8b8efbaca25ee1218b1fda3066eddaf04400105b4";
-  sha512.source = "6de2a95864709e0465eeac11e2db3919f7348dcb9f9013f039e285d728f7c4b4b03550cf4769f39ef589b9192c65e4dc05162a2d8fb9fd9d2d2c4bcfd789d640";
+  sha512.run = "a688c4e6790460f3155110f31c36c240fc1d9e9b8c3b2641a1a186c54d7939bbb4f779e80cb125d34036b64ce8da26d3460365d34d23d49067bf8438816cdaa3";
+  sha512.doc = "cc4928fd82e07cc0b601c702444a84475978671e3c86280cc8aac334ca562f3841a9f8c191bc174522f5c00e45cad519e6ceec1344e229f4b125611f60e43766";
+  sha512.source = "0f1b88a565c417a238476ab3c91bef40d265388458473f1ff3b4dd5e6b6897e8d8cdcd15f9eab17606aadfd5ce5ac978b81385618d8d3906defe4d13d438f72c";
+};
+"latex-tools-dev" = {
+  stripPrefix = 0;
+  sha512.run = "67afc0ae3988c380dab97d9d9af8667448df0e15aa0e403f6db7e4699a87bd74522bd396ae924af3d265dadc9825a6f5f22e47bca92cf3dc07e7b243a97fd78d";
+  sha512.doc = "40eee2b3183fe5c6ac1e7af831c3119b650bcdecfd596b5cb5b8f4799f886829e6bbdcf042c027f3d4d9713741bd2017652551c95e02b2c4f0a8464efa1f2f2d";
+  sha512.source = "2062c2d699afe1c5a6ed1a8b9f3f09ecff3bc2f7d36b13d6381e48b27c25ec8539f19dfe6383a504462bbda8184fbce0adc555efc441f73092c84c3496e16679";
+  hasRunfiles = true;
+  version = "2019-10-01_pre-release_3";
 };
 "latex-uni8" = {
   stripPrefix = 0;
-  sha512.run = "150d3a40044969cb1fa86c218c8cf1901e8e26fdf46a2e1b241b7a23418b5bdeca0d4c76a4f5c3e0f8156fe9af5bfd8ffbe8d744a04b3baf66e7b38169ea3fd8";
-  sha512.doc = "ae162da5f2e59bad818227ba93c88181935bc11915a0710ed64a0797ea4c3ef5e97d8b6ef47332802cb05ed16a18ea5c673331f675f1101de4ac3ccc936c37af";
+  sha512.run = "1e98eb60547932eb218f30cc713b94e8c7ee5861e66cc600b01f577a37e318a5b440b65c2aef1c770ef94bb4c4cf86d5d1636943de60f78049d2286a92ba5d81";
+  sha512.doc = "201de55826ce4911153f079e1107e2f4d2399d3d3cca95bc669cd958d09839ed7de778d644502cb6af8429818834027c9d3f3255fe58f95c985d1a96e4682f22";
   hasRunfiles = true;
   version = "0.03";
 };
 "latex-veryshortguide" = {
   stripPrefix = 0;
-  sha512.run = "008ec189589e50e8439cab7614dd325e19ec40c13eef4d6eedbfa633596b084183089de9e7d61b56b31c8a4b39f7353f7d738cad738ba7abe66ff8f50943d032";
-  sha512.doc = "48be36409f33bbd04331e0c70d173d726517ea330077594f9620883f3c7469183d603d6a57c638b8b8a8760dcc4ed176ef6ce0b1f4a734c872cc9c550db08651";
+  sha512.run = "239b6ae896eb109fb61aaa96149e3b3962fab250a4e017baf81da0ba7836837c1920456eec8fd20999535c96fe415115a621e73e639cbebf64cc2b14989c93cb";
+  sha512.doc = "aa58ce07f56dd819b6a3b618a518384547350a4582828020f5b45752c1dbb88d5f36c5b5bb831129352489bba8f5c19f89d38c99585da9253f01311ea63d3232";
 };
 "latex-via-exemplos" = {
   stripPrefix = 0;
-  sha512.run = "a50e5374f7bfd7e5ab3738992cc09418827d861b158f2f225988e4ad70f16953eb4652354836e6df22be0a60f447e481d578ea51ef42ad1a2e17c751787e5836";
-  sha512.doc = "5dbcb402c736f66a0aabce22c49fa706647bd58a95ea105f671e02c6022e3a907f51015cb99986d421872d0b1c88026365a2b9462db41ca515aaec5fc38c3ff7";
-  version = "0.5.2";
+  sha512.run = "a56c986dd52cde8d03689c74453b2491d2ea2d2d187ef559facdf9b5ee4e00f5c28cd0934c9bfc0a9955a33cd2b221fba334bfc80af7207638c90ecd72404bd0";
+  sha512.doc = "9db3b7cb038014f4bb01ab13cb091a5d01b1ddfd2c9a6edf176ca0eeac7e15a69f466d8c54bc9c3d3d463cc683eff943bfb60d157121aa83b794f49a43c8b1b5";
+  version = "0.5.5";
 };
 "latex-web-companion" = {
   stripPrefix = 0;
-  sha512.run = "6090a7be3a38be64aa634edb76287d6e716e37e5e94d7a3543be5e5551cfc95a5a938763604e3f73dec9aa09cbc4835d9efca9f73a31b2345e0a9e42e9d2cf2d";
-  sha512.doc = "f5d1e3e96707ce946446408642b7d2f873804c7e7432f7f38206776bef0d084dccaa7c25354d70990a83112e20c1234d3db060b896f68245c8917430f190ca81";
+  sha512.run = "5f45c7f74a0e97b938009ada69146875e141edd556165b62185553b0ce5f590d5ca6f93a875dae1c546ebc788156d5cfc69c46535000adfe6933abe79a2fb06d";
+  sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
   stripPrefix = 0;
-  sha512.run = "7a8721d6ca098311bff80cb8b5525ae36787da6d8b280602e7b5c410f39d5bfbe35285cbc4f58089b09095938e29b3349281da83014ed51c5d2896d8b15120ba";
-  sha512.doc = "5a1cd9ab81704d626b4b84612caee9ae33a6b5e12102501ea83fc40887b1d32ff35006b1af40447525cfb6577fa91fb9c3c03a5e6c1dda2b265259aa8185d2f4";
+  sha512.run = "dabdf3a20bcc6740b7feea1c444b2423dc54a97d0118411d44acfaca31259782eb49bf68b144ab553a9f865ec47557bcd47503b1f1dcbb69ae3302d94bdce715";
+  sha512.doc = "0a3cd8f22e15709b056d6ace9fe0c8d348ac8bc808fe8cc98498b3d14747eba9f6e9838375b0ab8226694ac8dd45027c62ffc1949c3e1a42f9f182f346df0123";
 };
 "latex2e-help-texinfo-fr" = {
   stripPrefix = 0;
-  sha512.run = "930efa9fcf16e342fe1ffbe31dcf79e51c2119235d689ab5511bb496ac8850f3d53fb77d3b72d67757e01c5d8dd037d8858f4824821187706f43933c7cceb33c";
-  sha512.doc = "32e5bf2fae86f1ebd5a621bdf6527f7ccd8f26771d87fcce5baa6e2a71c021a522d80c4e53af00ace55ea46a1c596d3722abcfe919cfc0e944668b39574fcb8b";
+  sha512.run = "6023d1aaf419519fb35f916be296e9681dd2e2912b35d92da5b59d5ab279154eb71813f49b159c01bad045246a293c8e6552d2a469cb69916d169ac1b60d9daa";
+  sha512.doc = "bb1ad23b5a46e00193b4e807aecd0a439d1d5f7c15736e748b002168441b5c7fccbcd8f7f6361a1c5fa3175344c9aa1c0ec77e20be450e653a0354a87643b9eb";
 };
 "latex2e-help-texinfo-spanish" = {
   stripPrefix = 0;
-  sha512.run = "4bdff69e2833ab408500a47f39671c4b54759b297414bf69ef1bea96b53059f506c048d6845be11549e70cbf3d7e88639ee536e87bbf3634e38d9315b7f816a5";
-  sha512.doc = "5a5e29cc9e6a796ad712ae8e1b53948ef8053654681a407f38e346e594e74c0d25e9c5eaec1238ba1654a08540870e4eccc1aa1051f356a5e995d4df0e691633";
+  sha512.run = "65faa42d1ee01399e1f8c34cdcd1a5d1ce6841f144e7b582aa4c3586ad1426d879c60427944a9524f16d48c8340028f1929dddc04f9ca4f8e634ffe29eeebf72";
+  sha512.doc = "b6f612ef87c52c9b67c65ed79f8b2e4b7e089baff3da617951288b57124d63f53acd4f48edebbcd7f27855b3bfff14dd00aa5a2c277b4f89b8f49426abb49c6b";
 };
 "latex2man" = {
-  sha512.run = "e5e35e6b70350fcee72ebc652785538b138642aebab4865803ebc0f6c6191a69474c24decca03aaa6ee77607b81318b007047f14f7e5d5106a09f910054f5f62";
-  sha512.doc = "2ae78dc26ae3b26bd2de010995d45d51da130fc865585726669ff9be465d20dab8336bec3813a2101ee56983423f6019c43c215160ac595c4504e4ee51d38dc8";
+  sha512.run = "9ce1870958d7de7625fe73dfb735488d2512b048c8c06fed3f87255db0914080675017d24c88a97ec71ddb9cfe6f5769ea378f099d8787e447837a1ff5167436";
+  sha512.doc = "214685e6982c7a9c694d74a73d37c58f3947d7304637d2ed44fc616cece6026e5d02763f26e280ab21212d18a962c31b4ac5315fa840f10bf1efcfb782f4dd2a";
   hasRunfiles = true;
   version = "1.29";
 };
 "latex2nemeth" = {
-  sha512.run = "0ed818c581d66ab8f6bede58793931b2216270a6873092e869f6ddb7e2a206d48fb7e49d16919116eba625f9d1379a6aab7ff586d1d3027f636d35ca33a83df0";
-  sha512.doc = "8679a82ad00d5778e571d1285ac8528e99cc5ba2ec19f816b297a548d98130d499c4cefe8ee0641bc80bcec09c99f194ee9fc1f27c696a4276729e9f8be144c6";
+  sha512.run = "ee82b11dfd3ede3b926a034ce8a7f46ae2bdd065f648fc0375a62392a8be605e391c64726eea03efc439b7a01fcd3cecfd70106335c72927e45c70ef0c8aa48f";
+  sha512.doc = "a674eac6b80811890433c613f7ec9c6fc4667791c5b4692606e88d3e38ee59a3b68951e5f19b26d2b9f9de3b79002d17f4c539fdcfce37b82c3dfea5cb811086";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "latex4musicians" = {
   stripPrefix = 0;
-  sha512.run = "f9b8b77759b0b17e8b741cabd42cd7fafa0920af6852f719366cc843ed3c880f604319d849a02102e87f422be7361017611369e553985df29e17050208d3a4ce";
-  sha512.doc = "9520da3070444aa5ac77c994f60921bdb7594bff75627d10c905a716a074b55966f88818c5c59ee40ff46210ce29a6b0b5ca446bf210b1f2e8eefcd7b004d79b";
+  sha512.run = "a37c75d55857e9680b8e4b0f59f1889f3b5198477212ea531aa6bbf9ea11dbae06fef7fdba9e706f016c6c0618eebe4ddb81ba73b48979683a22592a0adb119a";
+  sha512.doc = "738c2c467d9df87cb1eccf0442b5c94a97a3c4c2b329d78d80b05d2adf9e3be11aaf2fb407ebc29f07e6455e6533464d981ae65122b080aebabdfaa29cf71b61";
   version = "1.0.1";
 };
 "latex4wp" = {
   stripPrefix = 0;
-  sha512.run = "7f52a976846b6ea661156c95fdf833564d9f9aa08cbd4c167b7bb877add5804d8fca00aac0182a79621c49377b9f2ac274be9f2fec02dd1a20b9c389172c466b";
-  sha512.doc = "93122c154a9ad564713422f0b7c25c56a79c95cbf0f4a17e0253b5835f7358b34ec65eea862b734e4be3673c12893f168ade5a9f071feeaac5b11e540d09de31";
+  sha512.run = "64ce122ac380c4f2c06d3afe2cf1aa2af2dd6d29fc451ced9df05206c97dc0343e6867d770d9b4e1c0425ea41ef89cb2d0a003d43cddf82ea19a7b33d383b7ca";
+  sha512.doc = "e8f22deb966044c87e7414d828ae3d8bfabfda40bdebb4b26b712692020c785ad8688595cced27ea5993c8b8f34f7fbe0cc86180d2ff8bfcc44cc009fd52e936";
   version = "1.0.10";
 };
 "latex4wp-it" = {
   stripPrefix = 0;
-  sha512.run = "9a3a8ec4d886065a59a13a89e1cafe1ca6accbbfc934447f3ef7bbe29beb3e52b26c9b256a0333c90afba301f3f49b9b74c2ef063482c1db5b34630860506203";
-  sha512.doc = "2a94533bd833f1189531967500b5dcb51dffc4aeb48d366d2d661191dcfe6a2766b3d61f54f6dbeb0d6993e3b4121a529f42e26dd98eb75ab400076d5c1691af";
+  sha512.run = "691d8936d71ca825da3a5fb193f8f7067480981b1b9bc93100f54834a7f9500e66785a216110cb1eb5cdd41b538333b693dab8e0e855e546a3eab90c43c48630";
+  sha512.doc = "c0c527bc7e9e71038316be5c6a57f4200ed69e7ed6fa0f066923cb14d14e20e90213cf0b989d3ba746bdb3e2263cf1daba56db3073017a0d7582e40640d35fd3";
   version = "1.0.10";
 };
 "latexbangla" = {
   stripPrefix = 0;
-  sha512.run = "0b3ed739e59b63fffb074903c7857c526ceaffeae5786bfd5a398bd4aeb79bcdbd5741a3e81b604f16fb27c04fe501cf456ed8703cf27ff8f1aad7625affdce1";
-  sha512.doc = "1fd3ca636997ece57aebc7154a5513f714bb9c235b6d91df8367326b16c0e1e6948489aa4330f27e579c3c8350bf5e09419ffd7efbe57a9f940fd15bdebb4b35";
+  sha512.run = "97e4a88b3028f3836a82c80bee739393c0ebdd219ac3b78acfa00f84f5b5857334605ee4719c8dd40d1cfcb44a4f9f821d711401d091a3ab46204d2457559fd4";
+  sha512.doc = "dd88aa9630a08992348699e71c1e1ac7a697c0279a83daa333f0bd0c098d564b730f7bff829e7489000ce09331c9f13a804badd4bc253dc181b09646f8c0b991";
   hasRunfiles = true;
   version = "0.2";
 };
 "latexbug" = {
   stripPrefix = 0;
-  sha512.run = "b40969edeb96fdebf54fc6e6f1e071e05e5ed6675a7aabfb31cd50e549da15214a2e5f62106f8034343e08c87f17d299d8e07527038ef21e6c81fe7c7d8a5407";
-  sha512.doc = "f96cf8832157450da269996b10e3bd148015616b92e67d93e2ee392261340988cd2c0212924304b2d727d44a92fe6772c846ceab4974404014e0983b466f2a12";
-  sha512.source = "f4e72b08d0d9577334d8706009b8b8be0feaa5ea8d8c25e79d65a4b4734b18f3c675bbb845a131bc74601d5aaf3fa2e9aa5f8a7c9b80ae612a2db9bfb10b8a6e";
+  sha512.run = "ff27b7fdfb53b0c2b0ac4b5aa12d98e30c09bf50fbc7959930b35721924bf52c361581ddcdf8dbfb03571f676ae9f659de2bba137b937d37ec11a0da2bc721b2";
+  sha512.doc = "5e86be0719138bf111b6d655b2aed620be6a490f772906fa676038f2a5f13875d3ebffea2094f8c9001d2e70334002498d8eaf5ef96f14cf8458ea0b03bf8723";
+  sha512.source = "7c00729fb9c17f3437fa1839c0ac12b51407c4ccfe2566b0d0a19701cf124583750c00030f359b70cf0280eec29f55d03d0677628b2b149f37219e880d56dc94";
   hasRunfiles = true;
-  version = "1.0e";
+  version = "1.0g";
 };
 "latexcheat" = {
   stripPrefix = 0;
-  sha512.run = "fb278af88bb236be7859b031d91cd316c7bc65308b31cee00c7eea064aab08a0ba3eff396fcb6cc27b039bc13d73eae5ae1256c2f7e6aed976bf2f0a56d13721";
-  sha512.doc = "ff301a8a697a510a39238bf8614266b2bacf413f7b57f4be0268df65a3bc2381455440ba0542b76ec2df1f9ca5879c5bdc32359250787d7c89a623db7d5ea7e5";
+  sha512.run = "530041d286048809968d91b20fd40c5ec41eb440fec25bf08f92af0f0fd5e1481a1344ba3c659da4477de353d222f3cb160d75eea2241ccf19b05e63e059ed6f";
+  sha512.doc = "28abbdc3b53c245b0cfb6ab68549661a72d37df004a5c760f5021e91b1df892b02872c7e20f328c7dd4624edff96f3b1fadfb46cf35d080c6b7c5635dc36adfc";
   version = "1.13";
 };
 "latexcheat-de" = {
   stripPrefix = 0;
-  sha512.run = "4d23bda42cb40d3d172b3a76d314dc9d5b9bbc8a4a074ab75dfdf08744e25363d7edc37fa5207cbf17d4128607f512f7d894e78cf279a54e3d6bf00948d1ce96";
-  sha512.doc = "42caec3233e5266d7a8c9ee22c6d1c255d782f72089ab4e3b3d7bb41578e69a13d2f8e7db93efc01067b0836c2b9d5ee6a74531a2babc6492f2a070ea52014f2";
+  sha512.run = "84de8075c1ba86467c8b34ed614462953ca8b9a237bb84453b2f9a1482eebfdb628c3e460d38da126416cc111387d68d3f479c5806ecbf06d079e47c35b88ca6";
+  sha512.doc = "dda8002178b55e155f7ce1f49f57f928b6c5097007daf36aa473c1a2d07aef4c3ec5e1c238537c0531731af0cb0d51804b0c0310be63954f112f266e737c7d37";
 };
 "latexcheat-esmx" = {
   stripPrefix = 0;
-  sha512.run = "5c7d95217962b1cf10e60a891c16d8055746e2c35dfe101e5bda9bea38189ad32adf81064b128c13bd68b5ade0b66641e14d03a04e10640a8c7def1cdb8246cd";
-  sha512.doc = "c22a2b0fd91722ec5028c1e0d6fc881011fecef7b327311f2b25c9b89750b4a0750a93872392a1a79f7342e96360c6b98576ce86a7dca358ffa4c67e0bbc107f";
+  sha512.run = "ab9965189096647e8af9aa58a937fa15595bed32055b3819bfd12334cf60e01d18b12563de8169ea28e3c0a7768864e51631c29bbbe47d45e09ffb2b87c5d524";
+  sha512.doc = "a45f2db2445e2daec8b31e995669a189c1d201f457e06de7fc2a85ad85686b31fcf70040e7840e1168e29b2e5caf796c45b6ce934780fa5982d0750438263606";
   version = "2.00";
 };
 "latexcheat-ptbr" = {
   stripPrefix = 0;
-  sha512.run = "082f9f554f83c79d391611bcd2c6bc8f153cf80c5e0bf18dcf48391c4e99dd7f5d3f6da9de40cbc15966a86e176e68a5c619159481e598b2b779ac827b5f3b98";
-  sha512.doc = "33171a503dc6629d5a99c362c6e8c2861b295ef61ee481125b2d0214370702d6029d4545b098120a119c8d7cbd7cfce0f893b0739d3abd55489d38472fbb7a74";
+  sha512.run = "e50cd94941704f1a620a7411624ffd61d47aa4ef2944220ef0bfa9fbc428d8ea46be17bb3b18b30d645dcddf3c8091dafa9532f809dee7af230e2133c86b9bf5";
+  sha512.doc = "00369fce725567a85310afd3063a4a20e670d8a0c57ef7e4515579ee0f91157f44bac2471b076c2ba51253e2c172447cc4b915877d80b0c43874c4e125f5f9d4";
   version = "1.13";
 };
 "latexcolors" = {
   stripPrefix = 0;
-  sha512.run = "d11a5d0418281ffa79a1b86add4e85d27f5c6caadc84b4325ae473e37085fefedd957ff7930fe4f67c15c7bab4b899f9a8740f0f75b1783e9874018f4b60e27b";
-  sha512.doc = "4dda3a9afe94dcd1bd5a424780d172f5d86ad7c7cda207f6028e4dc328042628afc933d6da12d4edc0081b1054ebb83f3f92f6660ca08a076c641244fc688793";
-  sha512.source = "ba2df38a5b6ced8ffbef1132321fca71fb3c354606d013876fdffcf2a9d45ec09b1ae47bf1fe4e6bafe630ef01e853c08fd0bcac571cae91888ccc0c687d3684";
+  sha512.run = "b22521df5572411a33ba84b2d7560f0735a6f3a3bab0c6d7ca460e19333fba20ec8852becc618274ca7b7461fac1c42d0e6ce7fb9b7e4349c74bd05e8e1b5faf";
+  sha512.doc = "5f6f26c2ece42c07b2b2e634308a2a417e12a105d9856d630f483443825615d770ed35f7322f59904b1d8fea9425e0222fe9deff27451a5aec52fac39eb9369e";
+  sha512.source = "369c0cb2c019ef227c41d38a193f82ca1417158065cf6f0f913d9e4bb7030e6ff3b34fb49157d3e81b9917bd38db454194c3576009be76d9293b365e59619a59";
   hasRunfiles = true;
   version = "0.1a";
 };
 "latexconfig" = {
   stripPrefix = 0;
-  sha512.run = "c61085460eb52dad4b8e77b4cd1454eac2514da6747a4fd64ebb2493f27a47ddf3d1de1b28276d49f9936cb2876dabe836e6f7bf0a250cea9e484ea65fe83276";
+  sha512.run = "8251c3786d2dcda83fcd36a8f746e2601c72986e6c27396aa6707dcadd16c0bfbb65adb9c7f28035b019618b046c1b3f386beb206f877bad95ee4ff85cfd2cde";
   hasRunfiles = true;
 };
 "latexcourse-rug" = {
   stripPrefix = 0;
-  sha512.run = "1a4bf61ba19a937886114ba554b4e4f4579ad6a295fe1458a5a120602974ed59eefabb98d7da7c1f09e8f8fc608f2e99661c0eb0e1dd288378e103e045df8e6b";
-  sha512.doc = "6cd12d3b4af5013d2e7355712280f8ea8636ac75eb027a9c3bde239e81931f53ef9f383d7259cf5ed95bbd2ae758f0c16b1816e2f5e828999156cc70bef3df45";
+  sha512.run = "ab31ee52beb0fe100f4798e6e42673d5284f6f85ccdecf8875f4d058928cab7363507f8cafe6c3c6f437a682f3e0017923d138ff671eea118ca8d2339627fbe0";
+  sha512.doc = "aeaeeef2c43a5ddf782a91152c9e2e18f00d9b3e18b7023837920a53eb390652d7ea85afcae338519a00b84a972a723eedd7819e73944ef7015f8c028822fea9";
   version = "1.1";
 };
 "latexdemo" = {
   stripPrefix = 0;
-  sha512.run = "beaa1e9071d773e544091afec1529269182eb068ed4838d952206bcc359ad939a2f0c36b74e547c03c5431eec2ea25c69acce74123e862902a24f2d5cb9196ac";
-  sha512.doc = "0d519e727fc03243eefca1c8baba2afef159309a41c4bdf74dc25b4a71b8d5f0a74c98d475c8c3d2a55d4676a5af7f593d51777478d294b508f81266564ad4f1";
-  sha512.source = "b667237f534876c6587e2b3490b15e5d42f0ef4750391dc021a5522c4267046fa719ebc3bd7898d41ad04e88d9ca07f7b0f46baaa183d3bd6dd20a7cb4fa65b4";
+  sha512.run = "d8b6ceb9aed4b2edbb4fc9e939dbc2dc5b6989fd04703dce2e504135d2c1bda46c8dd78e995d41a7e8727563c72b4f77979a52513ab0d49d8c95f80246a94fa9";
+  sha512.doc = "34a0ed1b5e9ce5f2b71d67384427b4a7d69439ac4eb5113e1b8e270618164f883b05bf7cbdff9da57fe2bec7cf43bed844ec77b90da00efe30fe9061b3ca0339";
+  sha512.source = "7416fda5909c8488b2e7aa6fce9b1c0e747577e82a2fcb44df617c493e768b3d86310b1817ccfd96edd22aafdee45d32eba1495949c44aa9c1e252abece321be";
   hasRunfiles = true;
   version = "0.1";
 };
 "latexdiff" = {
-  sha512.run = "5b5e2673dab80735dc834ca5310897269d8fcf25d5eac85130a7f0e2b1f8685c9a091389f057f61e678162de8617b92dc410a8f3d0aeccc4fabadad4850a98b9";
-  sha512.doc = "5e037da262f095879e4cf4a6b6aca7d52a083989d712728f90aa7d5a987d3c34198e1aad23ce9ddaa1b79b1de1bd5ae128095def119890127f3cd5c8e121b8ac";
+  sha512.run = "64b3c9906ade859568f67b235192ff29b70cd4ba94006a86cd1f7872d88ec7cf274fe89a5d292737d86295d7f92ff9be7be46936192eef2e5f99aabd116e9479";
+  sha512.doc = "665d2029e8fa0eb6c1fbf3f9d99d6ae92e43e422bc59da6cc64b5119f3ffc46c6310acf8a95861ff3bc4d5ab6ac5fe78290c0454f9bcb4ffe2e815872f6b8c55";
   hasRunfiles = true;
   version = "1.3.0";
 };
 "latexfileinfo-pkgs" = {
   stripPrefix = 0;
-  sha512.run = "e32d60dad7f9c8df14996a4e954e0f614498147c2ff71748c8d866da86c91bacb7cc0be8e403bb1c44aafe731aa6b5080fd6aec3b09c86f8a85599a648162563";
-  sha512.doc = "c3e1bddb8ffdb73bc8676464b9faeb8154c2a5a7656b1b65f1d900193e49aeddfef75b9bd4350ecfa988d126e664525884182cb8d8f1c7d83a1d75967579b41e";
-  sha512.source = "eea2680b263c03ec2c8adcd1b8d4647abd722bd2454ba69ab587010d2eb3efbae8e2b1f1c938c92d47507159a0e0a01d7710d5c2fe1bd68859323954ad5ed7d9";
+  sha512.run = "b08fbfeb87299273a0e087e7cfe0e9df9bf50b95503a3110b9b329a9a41931f34f65661e219c6adf377e3448536d5aac8199799821f7057a67a4680a24f30ad0";
+  sha512.doc = "af5ff5d84fbbaf299be548d13163c8e5e83b73ce795bc1236a204f4025e34d9ef0c587702ea5d6b234791e16e7cd1930a63f3839c20caefad7610de125a583e6";
+  sha512.source = "b204065af499edadaf997f6a6cb1be474d02d03c1e37f94b33dc7d290f934c4a453fb648588482821f52f7b0b80f5edafa9a034f8eb2a9287ef06e753b8c1e96";
   hasRunfiles = true;
   version = "0.22";
 };
 "latexfileversion" = {
-  sha512.run = "932fae5a19526a73123918a23bdfd4246fced21be54e03289e5cf37e11a3ad172e9f689e0611ca9688b874afe70b7f8b0c0cba11803554b42819b114d4c7599f";
-  sha512.doc = "ddbe5ec7d1e523789ec912bd666813aeb90cbe920148fb992eecd086f672cd8f1f68df8054f14633e3b018a8c2305f23a4a0acb3e6492279edb655fa10f54e30";
+  sha512.run = "3a017b8a367864358370f0063957c301014df2aa039566ef33ae78dcf428235ccc2a88e19c917c940e186371e2c0b747887cb04e7cb78b9a04ac1720dbd94cf9";
+  sha512.doc = "b1df01f8bc7daed937cd20d1ab7cce443a3d1fbb58e04cb18f0c0b30ef0795c988cf51bf49ace2f960c173f6a95fe982ee9d29d7650dcde21784c788165094c1";
   hasRunfiles = true;
   version = "0.3";
 };
 "latexgit" = {
   stripPrefix = 0;
-  sha512.run = "5e628b39cb067ca9680ad22f8da11884961514353e9cba722f09f77ba3ce8e642b3245577afe5735f15f8cc2e450b4016fb012ffb2e25987199ccf0afb1c1cda";
-  sha512.doc = "8bf98bba71a2b857ab5f054bc7c8d8645be0d8575c9ee6371f4019a7bf6b2355605e4a489d5f7172624bd6e0b1d5c685f4fdc3077b4d6be9f6597c349110637a";
-  sha512.source = "1c2792ebe3cedde0571dd5313dcb7f3a195a0c2cc46eede7234902a20716532c32f5e4b8a9eeb492b18e0da1b76e5e5a8d44775ccf7e04e3561c218b3ef2248d";
+  sha512.run = "5076ebf74361a6997536988c5204a72ffd761a40c33acac03bf2a104bfac3661c91b320f47bd264d607df7dceff41a18670e7c18cf19cbb27fba1d5f273c58ca";
+  sha512.doc = "dafc932c2d0184c848b7f7ca549a300f273fc7e358c6bfbc6b5698aaeded12071a722c856255889438e1dafd1c64d6c2adcd60766f8e1a1652a74591d5e74161";
+  sha512.source = "58097f88d70518c49bb0900c595eea40241a600745a8fb8a9c6f47a3deccc97aacb195305ec48fb54acbb95324b2ef27b35467bf90c27c88a960efd6d579a0ca";
   hasRunfiles = true;
 };
 "latexindent" = {
-  sha512.run = "6d5c6a82904d48e99a0ff3d72443faa67ec9868f665aea838b7f9fd4d789e16a38b113178a7b407cc70afa2701580e79cce40d04ee07c0daf0780e788dc82fbd";
-  sha512.doc = "7c35ff64c84bddfb8b82a27c4408c1ffe9c55141bab43a463b99045c1620c1c7aae668bf76a234d211cd05866f3d1e300b8849fc5132065911f2fc0d6b7daecc";
+  sha512.run = "0aa45877dfacb861ff325c13518abe9fb15b6a07a2c6ba93fa7d8edf982be40c26d46c439875488fa468490e5a74e87cb214dba05346a8946addaddddb44a3a2";
+  sha512.doc = "0257dec625380e5c31f982499738d67c0294acfb113f6c0bd6a81b6f725e400853405a60829290e3fa4626625a01df0e838d6d9c07fe4caf7a7949cd22ab690c";
   hasRunfiles = true;
-  version = "3.5.3";
+  version = "3.7.1";
 };
 "latexmk" = {
-  sha512.run = "0cbe09efe43146b373d305fe9a4429f3fb2ef22f2e88e2b84a11811e52b920829b1d274d9bee43a3ad458ad3c4c86575277372f50eb0273d4eb4964905062616";
-  sha512.doc = "c7f87604a7a9633fc21e0c14070c5ab18013d02c300c548c7c27332d412c7f6c4ca6bdfdace8ef0823beefd99dd47fa6599492cf13e14666083f6bb8c4cfc850";
-  sha512.source = "95ce66a8ce1448831b98543739c23a6ba77311173f4774f8af613a05f87b2dfc2839058ee87bd8dfe341615325ca8fa60fa4242954adf428430f31a31cbeacf3";
+  sha512.run = "a019682dd8fa0c9b818a107cc55266254cd097d92fe2b05cd241f9bd183a3d2fb59d49e9f80e030052766ea0834af5c47ac5e5f7cfd59be33c1e99b0914e8660";
+  sha512.doc = "9db1bd349d393718e5c635ab108f77edea8b49d113104289b49ac2a2e860238ff0b82aca4e1e01d79ac005464afc9d188a69d534517a5f19303d58b3f13fd70a";
+  sha512.source = "1b74bb039d88ba228b71c08f500196de0fd15cf787f0daa521db9121e8b57f5a8f398a9636328210d685c35f3b119a0bd0ac02f80610b72241b4d86b24532dd0";
   hasRunfiles = true;
-  version = "4.61";
+  version = "4.64a";
 };
 "latexmp" = {
   stripPrefix = 0;
-  sha512.run = "636f1518720ebf6e9bdf15e006bfe33863acddd4d856db0d2808520280a359f639cd6568da541fa7cf59bb345bb23e3852a59af3b85586c540341751b9f80e88";
-  sha512.doc = "f754a9e9e38e3138f28d90c9d6ae1b5eea68c3cf5dbbbf373dfd323064b27778603c6a59b6c73d7b81c42458b98595c7834538e467444949d14b93f3478b3c1b";
+  sha512.run = "e63d213969434907df862dba2684ea76f8603a8283764ff431edace0802a61cbf3eadea6a532a21cc83d722359ac39680e716a24859b85f526dcfd809ca319d9";
+  sha512.doc = "7668afd5cc1dd365811f8e4290392037adcf5f3bb220e062588a446827f1d39510137185699d4b667f2b452809704d3c08caa889bb52cecafd0e190b0e7c49a5";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "latexpand" = {
-  sha512.run = "696220656b5d12da38d0f6dcdd3275dc1427af62c4a468d6c1b0d97250e46aa864cac173b28536fbe4c38bd1f3c53fd670311ad5a88488c4fb168b6fb42c94d7";
-  sha512.doc = "5f39fa27b75454a1c65b6a4d4c427a61b730c2f6f9d03554746770310c58629ee7e6611bcdb7cf9705f01265365463e5a976415850d4fc20b6bb09f73e7329c7";
+  sha512.run = "9248c63fa16b9f9ccfb0243bdc6d56bb80b9887e26d8f1cae53092ecef94f046f554d8c5b9ed6cacf7202dd5be212472f8bddf9eb740f4ce54e521c9baaf75dd";
+  sha512.doc = "faf4b269446a008ba77d37d8f51ab123171a3cc56d59dc6fae9c5274833e97276c24392064f6f95e8e8eb5b88717d1c4433a915208cd81788364d382aae200c5";
   hasRunfiles = true;
   version = "1.5";
 };
 "lato" = {
   stripPrefix = 0;
-  sha512.run = "7ced63aa65bcc3744826ce1a75248a5563ff0b54a76fd5f6edb6e5ac77ad0070fe17517b484eb8facc5236aa44672942581eade88c2a63b8c19a0e8621be0a59";
-  sha512.doc = "06516da2c15aa92cf714e18cb73a517bef4a12c59a96511292acfcfff14225a320f12be4e86fa7bcd662bcf48cc1a965dbf837d0d67fd5af914a18991d27136d";
+  sha512.run = "1243f2c4fdea9ac510cc99bf4afae173378b47caaadcca88251b53badc5f63bc465e19247ab10605436ca07d96ba4966460f35d8336462950253c4eaebd80bb7";
+  sha512.doc = "28053a4561422f721c6cb400be57a0aa18d18173dd5c9b46b806dbd4c8decc5eb65aa5dea509b42909791bfed7a2a8772d3ba9917d3bb1f6fff742caaa5fdbac";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.3";
 };
 "layaureo" = {
   stripPrefix = 0;
-  sha512.run = "d7c6d900c179f47e1adae907e993bdf8a802041d23d4ac6e950d686169ce7b98d3bf4a893a9a4f112fd4599997d3fd9101e59a9fda56e313ebe3438d73602f9a";
-  sha512.doc = "0d3e3ee1bde647ab7622bce9c0468ed5e7196a5a4aa593634b3feed91344907eec8abec69eef77c48bd46b8a6585fca036d03ed0d9f6654b16b9195dce06dfa9";
-  sha512.source = "8ce52616c9b60525121f9ecdc2502ef730ff284d7f027191c2a3d60131d5345de89a0e194f0ea9dc421afebd74a2f28662615344e7e040a67fef7eb695f35e16";
+  sha512.run = "849b0e0fbd15b45cb31ed4856b0eaa190c26437a1965da2c860af62b65cbb000b590320611e96c5a6c4cc63c029c31fb352ec44d96e0704eb52c70ee460abcd3";
+  sha512.doc = "b4333e1361b352689dfd67e13a694a304449eac61ef8189957356bd94e5745f4c15fa38bc21219c8a21805dbecd44a51e719bbcd884b850ba1276759bdebeb94";
+  sha512.source = "054df6aade854320987e605aad0a641778336ef918ef086dd097db8d1a2fc8d623f0335aa4ffb98942e157438ba06b6e75411b48db541779fc2a6e08e5b1c594";
   hasRunfiles = true;
   version = "0.2";
 };
 "layouts" = {
   stripPrefix = 0;
-  sha512.run = "afd1a5bc597fc55a98084d6f20962295518c80f5a56b0894a3a675feb27797eb49ec90ddc276a829d9dbc9f6d99b0883d5f0e7d06c647b0d2b7b9726bf0a71da";
-  sha512.doc = "393a7436084f4ace080d22f1f4913a7b30a3cc19e9a05b04a66b59cd257e199e466f4dfc271ca2f9ebfb4a4db6ede039fa965fd2e25763e7a3bf055163dc3944";
-  sha512.source = "acf390e822ba0cd22e82e1b1280305b4e93ac674a9a1ffceda02ed0e469f2ecbabac607a845fb1ac2185ab1acc123b5fcca6ab1b0356c75a462f4b18fc96c093";
+  sha512.run = "9db14862ac1bea22096130ddac071a9b058e4cc1309917d2f8e8c536f280d2f4efc9a8dad9a5dbec0824b94f92c290e82820ec1628f0e4b72aa8fa617b72d981";
+  sha512.doc = "aa6639c5ca0029efda9af523a0a075ef2b60ae9e031bd68232ee03792bb2f7452e2201e7223735e83b7979f2c057674fcedde4ed416254ab4b5b8a6cd9bb002e";
+  sha512.source = "1abb95aa76cb3dc55d7426b8f98923662b48fa91ae8e5e2c3c01fb14dc28c8ceae90c01c9a22b1f59103e56d1818675d6da6223be6771083562ebc50ceff07b6";
   hasRunfiles = true;
   version = "2.6d";
 };
 "lazylist" = {
   stripPrefix = 0;
-  sha512.run = "29f76af5cec8e17ca65a6c35293e77a5f7dd8f060675c4ac2b17e5ad96964809c128ad1bf48888080ddc2fec48d6d8523038aff418adb68da9b681f8e8a315a7";
-  sha512.doc = "278faed3cb463977f078f531ea700702c69d41ab70178c8d934139d2854e54785db4d0d96cc019ecbc4e7346bc6d1ec15f87164aadfbcdae80d4b1ac5bdf5d12";
+  sha512.run = "5ceccebce9cf3ff0574c471141f94b919d14a7faf1b5c7b5e09eb079aee11cb95bdfa7d8b26fb83e99875818d842cbd64733ab7cf7b7024f04f661f732a3fb04";
+  sha512.doc = "1ecf491370fd7ba0fcd3ef1ce11df768509c32bc9bf14978e3d6f36e39094570144b897337bbc481bfeb8b74354b36f66d561a33e255ba50aae0a5c42f002e7e";
   hasRunfiles = true;
   version = "1.0a";
 };
 "lccaps" = {
   stripPrefix = 0;
-  sha512.run = "2c320bdddb495aa3210df01fc19a7107b62638b84758d4dbd20ed094ae0600a4bf5fd187a8d751a0e6815351b72d707ff229b9790babc5ce46965a1bbeed6900";
-  sha512.doc = "3ac1c1cda03e2fda71fbc53dfb466c284a42904bed46789d2d16aa8c4fe40ab6986ed033f8fe09a7ebc931671eb942350ab7bd3716e0c8578f7f078216803d43";
-  sha512.source = "82764e566b98020f41d43c9f14a24db099943add92d39e25530ec6a5d3c709c32c51ee9bf49fde8b2d9f21bf414f7eefc78b0da687f9c803cda79c1b6b72ec0d";
+  sha512.run = "98d57c77a3ca19a067c04c9cef06d632e56f42daaa70ec729a7cbf3ff68ef3e7ab95e1d0d25cf853d85dd1916668dd5601ba6feb889d1eda344b3ebcb31da333";
+  sha512.doc = "ce14177476624831de64a12ef858516a2df28a3e194748a1c759d7a41743a93e03a7d96bff3acd85f9db0f5d4c96a53aff7b73077e131bc6fa807c8b36844bef";
+  sha512.source = "cb0f4f8400542d9d15e55dd8d9b55ecc1aad60dfda5de9ab342e8e02d075123e9b32b1c19dbed700ad8626d754a11be6e694a86b6eef757db3a6f47f9f5a22d8";
   hasRunfiles = true;
   version = "1.0";
 };
 "lcd" = {
   stripPrefix = 0;
-  sha512.run = "425ca583451db97a9bd8f6b2f592e8d00ba42d05e0d4bc2e046225abf0e8ce95568d369f52810728580d79697210a980fd9305ceeedfddfd1911a576ba8a9bfb";
-  sha512.doc = "5cec71471d88414a6c4a93afaf427ccadcde4b7697433bbe1ef81481fcf6c6c352c199ef2a743bac4603ead0cc3d41ad0a2f0241da594b910486bdbbcff907a5";
-  sha512.source = "27d88b6890705c3f3e3f8439594eb95a1456ff34a820ba830f21d865b73cbc8bd01b031de3fb00dab4d1670590664a707c4a7692664224764663afebec0e0843";
+  sha512.run = "829c0fbed639619707023c1df1fa511d584e4805aa4f26b0ba5e5c5dd85d927901f4ad949e4a171d9765995c9ccfd34e5d45aa44dfef2508d5ec84c27712e05a";
+  sha512.doc = "385df3ec85fdbaa579b15f0ef0fa2347e15cb796a84265b1cc7a9e2bc520c0c98d0703615ed28c68ce5ab7cbca6f2699502ec26a31297c14b0039dd4b584fd86";
+  sha512.source = "1d788d589c959240c92775455ee3272b8014a9491f2299c4d6f4d9aff66681100a6352bfbb644e0c4cb770e27152bb5b3fdf0f347aff489c172189c542a02e58";
   hasRunfiles = true;
   version = "0.3";
 };
 "lcdftypetools" = {
   deps."glyphlist" = tl."glyphlist";
-  sha512.run = "21afe7cbd70858d22f6e1da50857b8f5c67f806d2719fce2e1e71aa5e75feb51385e1c51ceabda01ac3aff55d081d54fcf4d796a42bd1206f0e111f7a19251c6";
-  sha512.doc = "dde3a638877c8329a9ff3cf092d4692ac19e2f07c81bcc5ed05fd9ec60e3464742ee7143b040d3c6737e8c116bea697483a49dc68ff04f177b745503f11b15c6";
+  sha512.run = "90e2fd4cfdd5b7dcdcd3eb395630e534220ad406135acd251d9c2dd35d7078bf0d781ea9d7019a38f698fa045d6f03738ae25bff80df12218f8d64a88079835c";
+  sha512.doc = "2093330ede2753b383d57454c9fade7b89915985be4168677081ad2841ec1735c9d5ebefaeb3d53f49721d81f39d55ea01a42a0188ff79a986fed7530f3220e9";
 };
 "lcg" = {
   stripPrefix = 0;
-  sha512.run = "89fdefb7473a17a9478e380e22ce6ca53d6366e6908e57d5fdac6b1e6921b56f8cd1c5036842b92ed12a8a6485d801d1444c78bc9ca4e00f0e00e504c8927ef2";
-  sha512.doc = "26c28718f1e0891a9bc8204d932796f8e988595428f792a56b2d0710513c3c37a897fcd8dc1b7a600bd4b5a3fc95a7b90863b9b697465dbfad76ed138644b659";
-  sha512.source = "49b9721ae1e229c9fb99cb2213c12ab481188a4b20a3a7d310af13d2f8ff4010c952eed14d8ae0f69227c48ab0b585b520d46bd0888da97d90662b7aacce955b";
+  sha512.run = "6ca6f347b6ca4104ec376554ff7ba5d19002b2b4174fa491f3fec87d6c75c3ed11c1d13b9e7d30e6c086b2a12dc3013f21ee10b482c95b177f0eaff02d953fee";
+  sha512.doc = "5674612693481265f72420ae10914329029f9af2f526e6b59ba2614d4d2994a0033cb3393d2751064987698f819cca8e0fa3783555db3fa6cc5849f337b1cfd5";
+  sha512.source = "b26dc9e706b14c304a282d2b5abc2d0fdb81799238c3951badb6152f8c83f6a2ace579ea0c2fb782bdfe0d02448cf716e77c3114ff0be594b12bcabbe138b17a";
   hasRunfiles = true;
   version = "1.3";
 };
 "lcyw" = {
   stripPrefix = 0;
-  sha512.run = "06d7593d801f0bf7e7677e759325e3c3deaa2731c62c836740e2b227ad5fb1dab47911f4514b6c4f77cd5666102700b823d56660cd7887d3f4165233ce5a3873";
-  sha512.doc = "aeed5aebb5209094957d580f6b50f48fe1657700e87e514d649a494bd3c72fa81f82b133888588c2992adf3adebbd60e330e12566cb1bbb83b897ade82443012";
-  sha512.source = "3608788b437f93648a5fe35efec5b0cac97a59695d3865e877bff9a5b922fe79cfd60a14f2befeb1a45b94720e63e8af6de39ca3a5222a1f7793ee94e2910876";
+  sha512.run = "324a9eb8f1a68124888ad7d4f35dd0446c917e643e2cdcfa041ca26b719ccdc541b9b89857aa05dea2d599912c506561c762d288ccc86d637fd927cc70bf910d";
+  sha512.doc = "c063b6b5d23bd0a7197f5bd3121c93237c24f0a77fbc72cb370a7cd535282151731ef03098c36d8152707c50808c1b996fd1adaf16185bd3d0e3589e85b67981";
+  sha512.source = "5303052e625fa1e07a3e54a682a11469f0b14697fad5658f2eb6d0266dfa25e6f66bd752265a3ca99dab138200711b48cadb29d8b1a1a878a59f5c5e112aa860";
   hasRunfiles = true;
   version = "1.1";
 };
 "leading" = {
   stripPrefix = 0;
-  sha512.run = "41cdc23bc78d019ec78c16dd1bf78e68ebb0cd2d59275c3f5604b8ddc93bec863ada14678f74f85a5232cc3a3ccd693498795f24a84c5d9c14414c72e9ac9bbd";
-  sha512.doc = "5c968b53cabeb8388d914d7d7e5e7839ee4436687d4e01fc3af93c66087d650afaf61f037a466a6c622b6b5aff0f7addd04740e52335508dc361f0fc9eefb330";
-  sha512.source = "4b07e326d00c8bc67bdef641ac52943fa7c3df5d8e96f8e1f524822dfc83afb946bd7d59a88e921ec2cd7cdc2b0bb253b85fe75babf771a2838c618f27c07b76";
+  sha512.run = "c326950e6c4b07782148ee4c9ac5b22f7e42512e0bc6e5e1f75be6ed757ca90ebf2bb6b30b91ceaac32c761d595ba5799f0f40ca15954f150d481ea366f1c72d";
+  sha512.doc = "3ede6910ccb0a30c3ae9c78b86cf00cd7e2c5d8905b648861d2113d0af6225b2ffdc30509a72a5f69dd9e1164525c3225cd4ecaa04471ddf5c346a862fe097e4";
+  sha512.source = "b42b230efc2508f4b3901de791424251c6e0ff003bb342fa11ea282f46b2dfd5c68a63c95fbb9aee146839944586218a3cec0ef182575a9760d3ed3f5924d78f";
   hasRunfiles = true;
   version = "0.3";
 };
 "leadsheets" = {
   stripPrefix = 0;
-  sha512.run = "fab88dec28299b87a46d7cdac74ce21d897b91bdbfd7cf755a8e7df7a703bda0c804067b574ec1692f028ed2b35f4be3fd6bb6fe4ae02eecb7297b20e2b3ba65";
-  sha512.doc = "3c1530c52c140b5384a454756db69987ad25d336b69d7f2a58e38106fe16d11f919131c9ce99a107766dc6756942bbf35b3b3f16a4719e97dfd659f96fecc820";
+  sha512.run = "e7a84348b6347962fad95171059e968f35e7601da51ae6fa278add1ed4262bd7ab84bddad9b48780e7481056bece9c311ed1cc25e77c57f9d9e0649abc9197e5";
+  sha512.doc = "dea48a9b053aa67f6d9e3dcd3560ceccd104d743a5797320e76d43cdb8709afe7236f7ac8ef23dc9175268fe57c97898c92d0dc329a4e3151b017544fa537521";
   hasRunfiles = true;
-  version = "0.5b";
+  version = "0.6";
 };
 "leaflet" = {
   stripPrefix = 0;
-  sha512.run = "ec5fbc63796f12c9769055dcabcaa27f83e79296c59628ce127fad9610dcf3385ff5491eb61ddce2ade5e1a179f285bf6de70756e8711752f1ab1e0528eaaeb8";
-  sha512.doc = "340ae2a34093a8881af2f5c5dfd457035c801d823d58b21a6c29029dd662f0a3ba7c949cdb6d7d6983b05bcf25d375de086584f08ba9df85a25b1ed894d33172";
-  sha512.source = "8613594c43cccdf38b1111e8604b909d23a19117e3b83dc7a5e46c71df019ae5bea939248e1bf12e5bcc5e5c7c1525a1aad76787b42754be6cef9d8486fd0bc5";
+  sha512.run = "b819cae65ac9f38d7170f4aec4f94adfc547afdeadc345091fad170def744247ed46d653975e493aa64a28117e89a5414463f693a4b2f7e28b9bf998b8859915";
+  sha512.doc = "d2355c9b93ae490f4087bca09ed3acc815abb714fa7508b64155d8b5994c967b7296b79f8b3d68cd59d082d7d3d7c618c0d4d0fa50df23724ed50718f0433f8d";
+  sha512.source = "38cdcd9b452afc6ff98e946d162119615e44f372322664894a479130035a2a05520b7b1e7f616f17b04914c5caac6910ff18fd71c06a31dae9d4e044c6106627";
   hasRunfiles = true;
   version = "1.1b";
 };
 "lecturer" = {
   stripPrefix = 0;
-  sha512.run = "83e7f939ac36a64cae61bc6ddd80adf80b61b17cef34641728a77f5c5915125e457deba21232fdb712d07c1f2d2ea4ba65ecb427829f8d907620070f72a4aff6";
-  sha512.doc = "da11916f3fe603cb276466e9dd732912a3c831c693d73ef46ed623ed45c2b1843275c95ac1a7fe83c95f922867e4859ef9769b0acf2f2465c6cc2934a2494cc3";
+  sha512.run = "e0c217ed089dccb7cb526e62456bf72d186bf8cdc69b2014bd4210b6f1225277d1afb514f381e4581727900c6ebf34780bb4df01c3682580cea0418fa9caa1db";
+  sha512.doc = "97892442ebe9263cbdc8e35ecbc2f3acebdaa886e5fe814bcc0ada98b0cecd9e140a0d103adc9eb0aab1e5e48e9d7f4ab42e786d52f8fcc96d03db17c51fc17b";
   hasRunfiles = true;
 };
 "lectures" = {
   stripPrefix = 0;
-  sha512.run = "34dca68a138f361d7b4c00f2179ed2e0cdf7c34c284e5c465ed174a2b0e2417d2c13a4a152548959a99b68623bf964fc2b72426e3507d35c452a50fed7d02a54";
-  sha512.doc = "a5137ef993a80d4f8ad8a99ea967e7755cda4df5d0c3ee0c4fef272a15edbb28ee6bc33d77d35b80e1263e411f2aa545c823a119d6e5495a6f613d822761156d";
+  sha512.run = "54e2b55fb43bf548a0d20dd6c98b3478cac25bff27c013353c1e0b693990bd3afde432d07ec4b0f48054f5e923c70bf5aa60ca5f5d79abbf12d36ff7949948e1";
+  sha512.doc = "45788814da746bcc2c00f3c33541fbc4d0114aa03676971b038ec38686d833e698cc1e255aafcd06d6d5029f835e93674f0dc544a8ef267703ecbcbc96da64a3";
   hasRunfiles = true;
   version = "1.0.2";
 };
 "ledmac" = {
   stripPrefix = 0;
-  sha512.run = "65e45edcf5604e11637f03d55bd43acbf18e64d744bf0e5d4488c46acad1b8068cea8ab7bd68700fe0668c1dd28cf4177c0d61a76f7cd6098df8fc2eb1abec4b";
-  sha512.doc = "a69b57d1c69ef55d6d09802cad31f847b0056592f953d07b9d2db7375fcf19d21de36bf445dcbef00d9790caad5a0c994619e38c79693d2122051dc95b5593c0";
-  sha512.source = "abc52058cecd0b472d0caf9ecc1aef9f836e7ebd0af7c2261b646c51183231a3b7b02e7f977e79bff5748e125219fa5a47a36ab4e006dc555c95993ffa58832d";
+  sha512.run = "b465117d5634dc4eeaefbc2c12a4d0fb892f4a27ed66057938701fe51e4dedfb5b7f28d796145d89a59b2667cf61c7175803f72e5970cf81244329130d173136";
+  sha512.doc = "7e7fa49106457f13aed11bcf80a1e38f000f5161e9a67bdbb174371db63a3953109f26da3cef8781d2c13abb4b86d5cb0c2b1b41e6f2cd3584512bed1a67cf6a";
+  sha512.source = "918f3009f11e3fa2b5531c5cf8ffe9d835e331793abe1241f01f01b14d990ffd1f3aac6ec153b17f77099f38c284965209cff8f9105c340bfdadc85f78fd5d5c";
   hasRunfiles = true;
   version = "0.19.4";
 };
 "leftidx" = {
   stripPrefix = 0;
-  sha512.run = "62ce66f61829e230f46043dd54e2a5a3e87a5ce9f8faea9322ec7075754542370395d42796a609f456d22e222e679d24215cfe13cb99bf9a6abd305c3b519780";
-  sha512.doc = "5f92c6b8a7236406870edaa356ba0f47a32ab2c1b97d7fd71db11fc9d30cb87d56f2cffdfe87f2a151d4472a2ffe2c7227babf389d7a4fe9f61bcb54767db7bb";
-  sha512.source = "357f89ac6c87dbc22023e97ed4ea61c30f8bc477f9f351055656db77d02d5d6da88e2fc2881e981c57b477cc81553e8f6a2978360bc7d4b73d2680633675c4d8";
+  sha512.run = "a01d085af4ac4048b5659e7f2f1692dd787b7c4cc9a0c06acf9852ad9d5aaa9790bdad6db7a76ec2f1a268af520ac35975a7fc55ef0d6373f244c85b8b6e116c";
+  sha512.doc = "1e372c7d307b4bae8fc5673c9654785db1fc7c510e188e7e0945e01dd502580479b7910e19132c7b8b169acf7d9de84504de2aa9fb580c9a526a5700114f009e";
+  sha512.source = "3339968b569bf6fba6d7332399d0727148add95c1c0dc2ae06626269c156a4e365dbbf672b652d3c5d097d0570b0955e6cb34255e3f8383f05ea52fa2c12e375";
   hasRunfiles = true;
 };
 "leipzig" = {
   stripPrefix = 0;
-  sha512.run = "01c4af894b45cc257dcd378ac6397c1dc39e9e11830cf43bed2a0309ae7e903379749100ed23206fdc69729720d211222990d50907a4372ffec243967010dd23";
-  sha512.doc = "53b006d654a65b344bd4a0895ad8b7f9b1d3d2a1d4090af5f60b3c3145346f3ea67462c7ff268015f1812915c65404807a66ac764f2cbf3444a184190bf9ef36";
-  sha512.source = "a55034b92b4344565e48a93576d81cdbd2beae9b46fc5064dfe4fd15ef045c9c22a88a0d73ea3d26b9c98bde8bf87ba1694cb5f71418fa4ca91ecf26275e0429";
+  sha512.run = "b5bf2bf26963f161fbd5c95259404def07a14c35dc40c9fe5c8d1c2e06f9a3bf5f1ba22e8a96c965159577d6219f376c8f3f50865a753019148becfa2defac28";
+  sha512.doc = "7c8063c1a5834dbb8ca87692b226968f98961c76eb25d4a435928253250c2aba2a204bc3c24883a1a932a726e5ec430944813d5cb78de40c7954b66a2ddc9f52";
+  sha512.source = "3a6a90f56a0bc2f7412a2481acb651289fad3caa4a69d65438dcb5e6e48e3e98118f9b15218569674fb6c5600f6a626dac3234ad6d3725afbb05f0bb69414b3e";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.2";
 };
 "lengthconvert" = {
   stripPrefix = 0;
-  sha512.run = "298ba87fb340501f45631cda04d4ca623b8ee6db47c57431e4b202f1b26c35c52af22059786685cbf766cf72512cd63c1ea172a86842c7c87db4c3e8977c11a5";
-  sha512.doc = "f8f7a2729925cc43c3bb02ddaec1ea9bcb62ec7a12a1d40c9ff59d48bc4d85071b9d6a085e6a5f0a8eec37426a12887be031ab244177b85f78ac5d3f4ad828ee";
-  sha512.source = "0b7e75e53795317ea35d0d5aef36f860404c88148ada824f14061e9c70c6cf1dfc3d57366ae86c194b20c99b9dcf7101fb00203f5a206da42ceeffdbe8e2287b";
+  sha512.run = "71441058a60d5c642fc7f162952f8e7e696f25ed40e56d5b61177efe6e0f4bb3f55a8ab616e52f2555836d5205f1c09cc75307ca3d0f4fa964347d731c6924e1";
+  sha512.doc = "756564bef540ac96195b9846d79cfdc8a553c25e83313c3cd22b7926010e65033e0eee56899a0ec1deb92eb34a1c7c74ea541e4881962d6bbf34a16ab5462b49";
+  sha512.source = "fd9f190b1b388e17fa0bc9d8307bf1dd654184c3da7ee69534b7fab2d686b5dc096fa3656d0620ccfdc1da40f581ab1bd163f82d2f0071062fd48468200f39a2";
   hasRunfiles = true;
   version = "1.0a";
 };
 "lettre" = {
   stripPrefix = 0;
-  sha512.run = "ab91841ac2a8f724b6d99e71c0bb14642015be8237b7316530b111194b1d681edb65250649234d646aeaa020b1fbe576056c6440f22ac86855f17a0d0dcfaf64";
-  sha512.doc = "065a4226ac3d295ba1acbe8c36e874a38ae8f9ebcc35941f4ad186c0c313c4f25ebe1da0b5f143c19a7fc0db9cee404cac2e80d96faddc395678893240836128";
+  sha512.run = "7e50bf7d6109fcf0e128c35ebaa034c3301668f6e3bd8536b4a37c7e721592e28561911f922cfdf740d0c397a8375113dce0b7a00388a11bc4196b4b33fc04dd";
+  sha512.doc = "308122fdd634c278f6e05e85a3a052e4255f06339db0f744fdd4859f6bc2983b7150c8fbb5d85fa71c39bf71ca6aec9d6c3d27707da0f95252beb2fb09dfafc7";
   hasRunfiles = true;
   version = "3.000";
 };
 "lettrine" = {
   stripPrefix = 0;
-  sha512.run = "6fd9c70932a561968266d0bbf7897938b05ad6a3a8a71eaea99806667d59a359dbe160d0a9ce0cd763700108615afabbeaddbe7263944282eeba256cdc1e413d";
-  sha512.doc = "e074a17f198523b6311282c4a49ec966536094764c1cbf858fcd7d27ac1bce6164e095f25fa142ba4e951e42a4c0d4035d33e47a14934d4205c8a23be1e5bea0";
-  sha512.source = "df2b7bfa8c56b4bd3ddb5260f8a7aca206b89998a5ec03a573abde8a614e3790ff4e02fbd8ea4294b35ce31869f0694b9e66f6e4d85dad236b222e0dc56e38a4";
+  sha512.run = "6d52341ea517e94128da35dfcfec9344e08a23fd933ef18e1830ce014e6906bd248be4161439cb4d48e1bee64d3b9896cb866a78233c86ce72f87ac5a788e98e";
+  sha512.doc = "4f12fa28940188c95a3d707a97b18c7b30803d188bf7c5c46dd74a13589ca15609f47bffc309474c43966c3c2ba0fc6df09db2d85af1385b82ffd0a10e148c59";
+  sha512.source = "d77bc694777fe902889aa15ff12396dbc388c73fd89c815a17bd4557a340deb2f1547b357bf270c4cedf7f97edb4f33faffcb65efde9e36978ad5b6c81b76356";
   hasRunfiles = true;
-  version = "2.21";
+  version = "2.22";
 };
 "levy" = {
   stripPrefix = 0;
-  sha512.run = "a5bb7cb28f47789cf2226ce2fca931e3c321006a4de85999c9728b80189d40baaf308c9d08d1b6d34f93c3e1195f1d4c466a0a20e4a20fa37e93741d32193817";
-  sha512.doc = "bb2139366326e8af4a12b05a56c6e51841437e26cf9320f4202d7c25bef4bd0a92da1cedddd9204833de2f2e18d1f3e2a69da0480dcb1e417ffa7902cdd9feb2";
+  sha512.run = "a71294df1b2bdb1402892ebc0c82dd60275cf41f6844cdd284e1ba73c8515e98258118c5a1e5158fb6d09acdc53427eb4e3f62f24591fd2eafc90d0bb69b71ea";
+  sha512.doc = "e69a1e2e421100a50416f86bda40702aa9a4d5c5b0b8c783e328e56e1ce587f832cad984fee2cad259603e893413155bc4539e853e1df0d95c89e9167c67b2e1";
   hasRunfiles = true;
 };
 "lewis" = {
   stripPrefix = 0;
-  sha512.run = "5db517ada9c6f82c3c3fb87177aac8bd5f81bad8b4defa524b4a90f5a029cabea9892230ed43b05de0364483215a41f1941bbd55eba660b0e30200e443d6ee70";
-  sha512.doc = "d9c46eeb1510c78037e435995a97e047f482b230066f32dfcb3de00468c8fb008614cb79ab730f081f4d06b7828e61ff8b2fd92f1a136ee75b9e7fa6ee12c45b";
+  sha512.run = "7dbe24061df0d0bb4762e7d308c895c99d8f9a9105137bce8c4e589c7fdc80f989aa8c3ebbe40708a8b6fa2a2df5542ce25fb16f528344ca46d50c47724e006a";
+  sha512.doc = "b267e3c79dfacdd7ed8c931a0e5954c9fd2ea0cfc12beceef3b40bbbed30bbb421d29afd263a25a5b0b5b77a6bc74ddf38e609262485eecae065d65e23200bff";
   hasRunfiles = true;
   version = "0.1";
 };
 "lexikon" = {
   stripPrefix = 0;
-  sha512.run = "7b961acfc7efcd079fadb1c1346993b8df00dbb7b6e3dec427c39e0edf5fe7c4406cd945ed5f4be5fe624446c7fa2a654b2569064294bc6369abc8f3e3bc8b84";
-  sha512.doc = "3d38a9c2b52872be2b4ac432c6dfc4a9a16ac8e45875c78da79972c0bf0177c9419aaf28999e016c9ee73fb003fc16b0194472e0bca608335ae0c9afdeb186d0";
+  sha512.run = "7c0642f9e727d34175898138d27a838f0432a68659acd7986acb0b74183f28467351c169c52ab057daf46546d8ef9f9bdf30dcb1846b458b6b718ae38633b275";
+  sha512.doc = "4f1329d49d92d93743127e4f3ad9401e07529d31d2d68af86373f08b56ae69c22c70b89151461548aefb7fc1f7eca66cc1a4ac73407d82b65bd007f3372243cf";
   hasRunfiles = true;
   version = "1.0c";
 };
 "lexref" = {
   stripPrefix = 0;
-  sha512.run = "cdb84262dafc2cb7389c2e14d22f3fec2b01aaf50c2558b5d7ac7b0d669682e22263b080402548f4d590c1f9b1ca0fc25f37e1b63afd95fbd7d4fd51377f6381";
-  sha512.doc = "bc99ae9c5f2fb643698e7d10220648e49b9175e4852e8405c622c9b7a5557b9e283916354109f9de789f4136c81acc09a4262016e644c49a1c301392a3e121cc";
+  sha512.run = "f9bf7792ac09a6b5a69ae642e0becbcb1ed0c2eea3254b31da62bb9b7e3e161c24109e0bcacc8b89e3d03426710378f04e13a05be467115eaea2be028f8e5812";
+  sha512.doc = "6a348acfd0e0701954195210bc717666308743f5f282b9efb7a253ab860a0372ed383cc2c8811527eeb2ed72c46be95cfb9e133d156fe8b906b67ed5140437af";
   hasRunfiles = true;
   version = "1.1a";
 };
 "lfb" = {
   stripPrefix = 0;
-  sha512.run = "1dafc6843bac872c9004f9d4aca4a0bf1246f023714e8414e40bcac98f000d1aa3cf06b2135ae03246f82967d59d089f09a9dcfb9bb2b40d1a49fba6040e2000";
-  sha512.doc = "2fff337f7b0db8b0ecc9f6ce0759b78b167659ad53e1daba78d86948e542d3ebece985ea35c9075a4ef58ed82e864ca8de316bc71a816d64174938dabbcd09cd";
+  sha512.run = "5b1386321f8c24673531b48d996a20cea9ed527ae60e608f63a790a2cbbea573d01e0351c1ef695b11f14d31d5c482ffa02b337ea04e649b7b758eef713f3bf6";
+  sha512.doc = "59eef59a1be002d28ce802617ee638b6c0e74efb391a502fa9593bf19e54f563f819f45442714b46a2e97f49bd561d2a2df631e53ad3847b48a881c8762d2d9d";
   hasRunfiles = true;
   version = "1.0";
 };
 "lgreek" = {
   stripPrefix = 0;
-  sha512.run = "b549da22d5b6e59c99c989155903c20a3c3121b8217c8c39febb61df4481d5d1d751c134f25f80958f38d8de79dafecbb4f7b2b8316ed2e6650ee256cc3e6f18";
-  sha512.doc = "89beee9af80b1cf584519ec49f3cdf1f1be6a3316281a73847b40165ef7658b9c4ad0dc1a78ed8c3800503aa90e924055247e059dfd3c8dd0b96816d9ca4f2f7";
+  sha512.run = "f0b5cc9b7267aa07dc0b0f8c6d23a164bc239591fd13b5d77c5c840d33e131546c63c63a3bbbee2851000bda2e8593e7617f8a7ae381e7cd0561302a667acac1";
+  sha512.doc = "915df985f4766f492a70a35342e086567d17c155ea0dfce5514c6edebaf1dacb78998dc4bf5cc44415fef580a7779083bc2261a22dfd668e8f2023f1f15bff35";
   hasRunfiles = true;
 };
 "lh" = {
   stripPrefix = 0;
   deps."ec" = tl."ec";
-  sha512.run = "dd30f3fc1ad7fb479a53dfd98d50562f47c9db7f8846b10e38f0f80e5ddeb46cc0d544761833126254b3f4f595e0731fd69a8bf4bca08523991476dbdafcf970";
-  sha512.doc = "484e5edb67cea104ded9d244f9b3bd4afb6cb8028fcedec2eb37070f916043afa4b847830a443c8bd2f399b2b2c8d369d13cb82545679741100936c49dc9ace8";
-  sha512.source = "4013ee8ea1d43820a0c8abfee4b680dbdd15ccb9a27fcb1236c12773188a83fe1a58bb837349d69689c1dc8cb6feb781b3ecfac9b7a31d61a7dd2ebc0a1d97e9";
+  sha512.run = "265aeba5ee99cbec2eca77a273a9e4857d78280e0ff17089a358e7f85d0595025e259b2edd471ce5287479531fe37cfeeaeba405ac9cabc7ac9616242815b6cf";
+  sha512.doc = "33f1cd39b2e68caa750ca5867bebbbc43c9948a7606f6fe44ba3bd8be84661fb562b5472ec57ccc3f6c18ef2823188c2f81ca4444b562f935e6f041d8ec0f39d";
+  sha512.source = "a81d3d7295101718dc4e66c6daafca8c480b281d7219956b0007adb4fd7e0f35959277931254fc778bf69c581b7d15ccf445f5037b589cee937211c39f59529e";
   hasRunfiles = true;
   version = "3.5g";
 };
 "lhcyr" = {
   stripPrefix = 0;
-  sha512.run = "888771a6b161d79aee90373fc39ad541260d121513e81801142c66ca1f2085a739fd1b243e45adc11b5d33a72534cdfad5d9ee87f15d432a732063c3befab487";
-  sha512.source = "3b9db27f86d31800bb837ddac0cc1fb3270e4d2e751e5a96ec8e26817aa3a7a3832f2833665bb9e0256da5494f5dd04e9660fc2d2d8c5dfc06d1c06ca8c1efce";
+  sha512.run = "55cf81c051e8f23fe4f085990bc72a5b1dfc276e3ae1721680ad033deae1e3eafb1b9dcff3380ee20b72623b1ab8f117aca66f61441387d914dc29dc91c78448";
+  sha512.source = "18fc370261acff25634107705a36d06ec6367da95526a79fdd78c887234a2f2a6a17147eb317e97effa2ae8fe8e21e8df71cff3da5572055356386d26d2b06d8";
   hasRunfiles = true;
 };
 "lhelp" = {
   stripPrefix = 0;
-  sha512.run = "d0eaf745f3488d62ea5be89aa899fcf65b8f82e610e4335a766fded0f0c8ea0b947bbefaacd9b0223b5c251d55e6a096845578659271be31e0e27d692fd9c6d4";
-  sha512.doc = "d0523bb786fb1b877410fd17be4106133e1fcb1d98050b3e0a800d3fd8c7ff12e23ff8e0e953f1610e54d03cafea68457d647ffe9c266359894f568ca1c7f7a1";
-  sha512.source = "2fef4ea70694858c5d4f347e3b5f389133237e16ed6f04fbb60a57d99cce4e3fcd5be681b2e875389aa42adf496297090fee7e2ee87e1269642640d07302be19";
+  sha512.run = "3a5bb1d95c300e9546b67c48cc2c3e1a5c3089c4430d76172a8d7f3cdc59fe03de1fafc6a1babeacc9259444e09e85e02a64f3b3f8ddfe3883511482b9ff0985";
+  sha512.doc = "2411bd37dba9c4afe1ac4251c9897c99e5934938bd802dbe89993d5b6ec0d19e1cba8b143ee5febd9ad73f0ef823eb79f34587e6885250a2bce8eebbdbf06fd6";
+  sha512.source = "42e419f41c8d8c00a4d27b4bd4499097b7c4c2b8b2e75c68fedd224796dcc9b9dd09054f90cc525286ea6b72a579120c3fc027239bd0f0630ec471bc870ec02b";
   hasRunfiles = true;
   version = "2.0";
 };
 "libertine" = {
   stripPrefix = 0;
-  sha512.run = "9e2aa4193445fc7c5450bbd91313524b8803c8973e6022440deb7d22edeaf999d50f264b76e8d856c6e1884d22a65c94c03461da5d5c7a3798af53a5d3b8fb0e";
-  sha512.doc = "1328fbfe302e865f7484fd918c50eba5652368dee489a28b3feebf93b2cd6bbd855d24f4328ed6bc363819c106e27cf1185568b6b5b4dd9347956a981c41cc9c";
+  sha512.run = "22c376288f7feeca3201a0eb8150571e733acedeff62feaa1573a90d22c11b5cd1db34e5911bac9f6b86728ff47ab3f9ab94114fb829a83c77eb702ea7f453aa";
+  sha512.doc = "b65834e2903e8c11b1bda92a2d9f21e764db4828f5b63df7b14f28cf2ee791cd3000728858b262a2bc7536f9d536c4470089c7bfa8b0d5a961ba81775544f8bd";
   hasRunfiles = true;
   version = "5.3.0";
 };
 "libertinegc" = {
   stripPrefix = 0;
-  sha512.run = "40e7c0bb1d5f53954744b063b8449ad79e06397e390d949d6d9b724bb25606e6556b8054f8e94b387aa2345bcdffd64b59dd09a8a2d82d7a8b3b98f4e16eb1b0";
-  sha512.doc = "ec84115defbef11550e0267bf55e17916e8209273fd5d0c6be02d0b40eaf3e47b80d00f0d10a028f6346c1a7ca3294f04d92e5a38667170c8faf6576d204117a";
+  sha512.run = "0af71c5bd17a2c89d85c2df056e76e4f8ff98b24de40dd306a9c4207c15dbe9dfd08864736a3a45f1c82f51717396ea843082f6798b89f7e9ea8c316453a707f";
+  sha512.doc = "010db594b034a5e401fd17a7772dd3dbf95c37d533fad97f7b1568336beca31523384da1eab42e74b2e8bf294b25a8d19df7469eddd65cc1bb61abd5dbe79d03";
   hasRunfiles = true;
   version = "1.01";
 };
 "libertinus" = {
   stripPrefix = 0;
-  sha512.run = "dee8a34bfc07912eefe57c5f44332fe956325e06ed47afc3f42685da29e4c97ac49c73d171fd93506f8a354f2bc73824d8c2f400d25ebc29d908c431cbea5144";
-  sha512.doc = "fc9153febb8b82bb860299272b438ae6ee5f14af25568f7a9c4794a29d3fe3c4d032debb63e55d6e076dfc0d53f4a264e441803595c952ca3ec777fd78b684d1";
+  sha512.run = "ac413716b5316b11d09c30613461ebe432502d4f6b776aa3931a6e8e15ec1afe56d60632a5d9f941ce4acdb89e45914f2b072c95d8160fa1132819b8a0c67bc2";
+  sha512.doc = "4a01523a5d8211138e873e15c9ab7c7b1f62900d64c7c75c08daae3114cea4fea5ae3a18d81b3210be78866887ec1cb9d38fe0d4b7e9c7e498f75d65f3eef5dd";
   hasRunfiles = true;
   version = "0.01";
 };
 "libertinus-fonts" = {
   stripPrefix = 0;
-  sha512.run = "45c06cbd8e2f092813be5f9733c4747353d0ee02b19d4a0b35e5e1f0256e33834723ca18875b5a0f3f986b6fc132b25106264d6f80c6e60e39fafa913f13733a";
-  sha512.doc = "6e6aaa477d314fc367964f3d7d9eac89064f7041d6de9db00aa7408bcd70305f26705f6b5c8d44d8c48a1153cbe636474020e39f1b444b00bb5b0843a5807587";
+  sha512.run = "f30ece5291ceab44ec15c8eb6f20593e78ff2b31b27f49d9472f22ca63746099cfb9493dd9522ce3ff3b712eb3bf22d981318e985461fa53c01f399ecbfdc788";
+  sha512.doc = "8bd8dbc35aebe0596173b93ae56f5547b3637f9973802ebe215216c485731721bb400b7bc8c404644a401062eb7efaac612f03ad431257a75cb36c59eb83c4b8";
   hasRunfiles = true;
-  version = "6.6";
+  version = "6.9";
 };
 "libertinus-otf" = {
   stripPrefix = 0;
-  sha512.run = "b05ed04910ec86d9a9772910b2d40a57a6adf1f4cd691826a078ddd7788181ba62eb0fc1c23aa1a40c422af9e6bbfe0a4f23897d12c6dac43c8b436ecf1dae9a";
-  sha512.doc = "65661a311c28b38906b6f0824cc813161166c96b61ebc58957117a389cb456759fe54c663c19d37de477152ecd71cb50854b298ab418b74c6559b0946dbe3d6b";
+  sha512.run = "bcff14ba57c0c47b6b9c01290f47fd0d014d8c18913d1722fef2384df6b0c0e57f28900a9f53f62ec91da9aae7d3d40730ad318426eeba61a85c1c2b321856b2";
+  sha512.doc = "1a4939881e1684c940f5b8bc45d6f23d99e5c627205c16f09fab00b00bf37ec315104e1432003a83bf4406e3dcffe703d524f98f1168eb284fea8de327aa18d0";
   hasRunfiles = true;
-  version = "0.13a";
+  version = "0.20";
 };
 "libertinus-type1" = {
   stripPrefix = 0;
-  sha512.run = "289ed7bd7941707c20731a1936b799c4487ea399b0aa4f760cdc6bf1e67c24bbf4228b646bb6294f15c3f1d97a117812dab8ec3cfcf8134bac9fe2fb6252b23a";
-  sha512.doc = "ece66b06ae38c78dcec9f673dde0265c748d4f6a32b13bf1a62b4ae73e3cbe9cb01d313f8e284e8803bc6788ae47d47f05563c4a7a88ecbf7a686f572d5f9b32";
+  sha512.run = "ef51e05eda0197dfdf1094212ff3b8b25934d3a8b1825b145d17183ebdf96da1ceed2b6eee367e170d698c88342f2483285ea9c6f4733bdbed90a751426f5265";
+  sha512.doc = "8c7ce0de040a0012a3a15080817e5df153e30c82d3be504df7dde98fe50082307ff5cdafc35640de56eede72fc1daf55c66c8dff0ed182b1a1e4f89920475fbf";
   hasRunfiles = true;
 };
 "libertinust1math" = {
   stripPrefix = 0;
-  sha512.run = "67ee7e1893ba677fe356ebb29e944f696c40a7e193dd69190012331420e541d5cbff76348ffe23329b6063f38f3a70e150b020d1d37d800fb4dac31b71b78058";
-  sha512.doc = "b8b9b117c6680f24f9e6e5b7dff466820b71a35ee8ed72a4765434d10b091404426b37abef5f1389f3aa10e41da483784ba220ae7cf2855fb2b14a76f3d60b14";
+  sha512.run = "e1495d0bd0e0082b54748cc6536a2ba0c0664da049f3ea99cf3df3cf60066fef11854738fe89f477bea879db9dc49199fcd2e8c3c4676cd3bf135122e011bd10";
+  sha512.doc = "8816d8592f613f9776d57bf1c71a0b4018a056647be658268f8d13135deb2903b7b31e4be11098b6aedeca852bbb889b23110f76c98bbee7cfd26a2c0ad29359";
   hasRunfiles = true;
   version = "1.1.9";
 };
 "libgreek" = {
   stripPrefix = 0;
-  sha512.run = "8a28488f95ba9e527c4597c306d07d904255644d17aa6ea27ba6dff41ba75f83751dd7715f6bdda076bcb1223ab781551a8b1cca14f235dc47efede5104a6df4";
-  sha512.doc = "f911a73807e47445d2e2b3a69a86e507dd9cc1f7066ad97aad6b10a763316ecbccd21d2320defcdf1cc6c3526ac29070786c92e4def880a55bb1aef3c3e5c380";
-  sha512.source = "97a0bba573ceda152867feb66bd1e155cee0e169251b055bc043b165e2f13ba719797d20f76916fccf8fe2475638dcd089530bd14204a604a0a9dd55cfcdafcb";
+  sha512.run = "0547ebdd180554fd00a7ad96932816e13744886457c84960b8abba06125f68ec9391ffb03c7bb7ad039a2654a1b73c2c378b8eee2130107a02e25881581c8139";
+  sha512.doc = "105ad6a6d557213c6918b2160dfc70449d496155e3a0fe1e683b2186b8d10d3067a85b05e3ee26f01ccdb6f70c2f864d09439eb4b8347dc3217482e17600f79d";
+  sha512.source = "41e1629949d8fbe9cbef5a153bd9ffe2ed354789a4c80d518e5ef7bb4bb9f5152c024f190a4ad8d22eb58a69852d3fa63d7670aa1fa78001cac5d46c3891e025";
   hasRunfiles = true;
   version = "1.0";
 };
 "librarian" = {
   stripPrefix = 0;
-  sha512.run = "93bee0564437b85eaa0129baac0bc9cc8e372bc9bcd516a59bc8cb811417e3bde58410b2de28defcd8a9898aa7a301a65e15d6d1549be764708f2040f5197004";
-  sha512.doc = "e10d41fd7dd6152e9a8e5d25422dca7b3b787a1d0bd9d1c17ad7e47650706639c05de5106be42468cf9c94c657731efbd57b55288cb75769633e6ae026456231";
+  sha512.run = "2a01755bec49fa8c78680b0599b58649b803694f339383ad168bdc06554dabeab3047d1b17d63f7487860a5d0102dd8f68a78d5ad5ba94a2f8b29db7329e1ebb";
+  sha512.doc = "6d95e43b1f9965fe016bd9fc7ba3f9df56716d8f6c89948417643bffc4b9e89f8a5e6cb045e873daff819a16cc10cd61e74e73e98119a076580967187338be37";
   hasRunfiles = true;
   version = "1.0";
 };
 "librebaskerville" = {
   stripPrefix = 0;
-  sha512.run = "43d6270943eb0f88fdd4f033eb9a3be7092d123e6467aa39a259820df931f529ee1a2b3faac420ea3ef2a61ad982c4a45e349d57ac9aee9873b8cc3bf7017f0a";
-  sha512.doc = "73c9e6b1f6cdbc0de8cc5f2bb91e98aeefd4915d1c72815843ef77d568c68ab8b4d0b12e6ce6ad7e46b2cec6a2d2c82ed5e74bc63beada3488faeedc698a6766";
+  sha512.run = "03f47456269d8fba252415fd2d13faef8efdd3895405dd0385eeb2bd44a9ffdcbf410c5cc0f63a2f9df349b940408a1bbe492bb8c8c71e756ab184b6ff75743c";
+  sha512.doc = "c6fde0f97c5f5ce27172fb3d9b41499c45679fe65ad980916b0d4af5e6bc9a0c91eeb33b2a30967267887197628218772761e5a909703d1807d2b4d8f34fd4f6";
   hasRunfiles = true;
 };
 "librebodoni" = {
   stripPrefix = 0;
-  sha512.run = "d11dda0a5866751272be5f96a6ff3a946cf0b766bd1dcb8e447062c8d79cf64ead0ba25bb1e2d8928d5d7f935e5b6566f7b09a25a688b9a98393528a2c16d9c9";
-  sha512.doc = "75fdab1f2c972ebe17c12b5f637cbf4ca1c0bd502092a995270c45b6fcaa768e0cb0ed3c82ddf5926beda637cfb3d5a55afe8b45435357b96bcb8ffc32390572";
+  sha512.run = "eebacf9b045b46df1a8c806deebbd94742e2c1615e45da85946c83cbb82a3a2ff278a6a0bdf47059c5713ed1c2dfce8988ff82c4682aeeadc05772c49426372f";
+  sha512.doc = "5cad86257fd423e1f7551a014f888c28d4b61a9fea14aabb0128458fa17ad81372668f247d9e7a81ab0801d9ece0a0529a304d16ae2f06dae5598048bef4d036";
   hasRunfiles = true;
 };
 "librecaslon" = {
   stripPrefix = 0;
-  sha512.run = "9148c0d56c472dce6d28924b3f7ccf66d3758d421a9232758786ff37627b2891c3539fee48c6e453dc7c6f9dd1018b5db319155f9cee85f6944617549fb7d0b6";
-  sha512.doc = "d8d586fba45bb5752ad3416f29e964df80cb3f5e61132f6a6006ecceba6e1483b8672617a6b7659ece2e438c5aaa5b2f9668c3b549a9a539228431fd8fb6e331";
+  sha512.run = "7f3de2e6478399b1f48bb0359c90e76de85bb764788fbbab561c4d2efb3f90171a1cd06a2b68eed444f8f70ce317b62e979d79d50b2ea47d4e0845a968238524";
+  sha512.doc = "ddb0f78d298566dee2703838a75f88011a24ffc40c13dd943ea05b28ef4e43d39f9a653b66617368e5c515240fc5b74e8c563d4de7b620db98c00d94fb91f615";
+  hasRunfiles = true;
+};
+"librefranklin" = {
+  stripPrefix = 0;
+  sha512.run = "565a2a3d05a9f22f5ed1ffdc5d91f6793584317e34b999291210bc87bf7c0b001a7a01458fe95bc69d793bc4fc001e07339df4a46e3ca14311d0fc49ff95805e";
+  sha512.doc = "12575264f327a724e157c925e5b66054f7982eb0bd498c1ee50e5eaf0b37e04f8eb497eb9f3ae22ac6c537dcbbbd40133bff80e79709720674b6af3b6fd146aa";
   hasRunfiles = true;
 };
 "libris" = {
   stripPrefix = 0;
-  sha512.run = "4800226965f7876d460dfc2b54eb94be7f8a0f785e8ac09c2fd37b92dab4aa1f6824887d34b3bea3b1050ab0ee7f4eeda43518a5de4de7736c4ea3f6f4a9a833";
-  sha512.doc = "33b8383999393f68cc0a68ccfcff3f58f1c1ab5bcaf5045e3b6b51235fbba02eb941cbecc713606ade8fc5dd0fb616bd47891cd1c9980bcf73b64abc6554d524";
-  sha512.source = "1cd2d076295b1df4523ebf0b809fd3ddb8535567564647942c128bc620f4d71a9d8f2b7109fa06e176156a050bc7f606f81fc1362cc0a50f03bc325bfbac1d1c";
+  sha512.run = "1a754d896846d0db358cf4f878928dcb511d76a7de6e7dfabee71970908e3ed7caab98f854695318ead334e052282b690712069597f42505b00c41e328ad141d";
+  sha512.doc = "04378b8461d6ea0284f038974fed6ae6fc48fc362f63dfb8b8d57a81a721da7bf17ca3aeabb198c373a68a4c8e5516b66f12c240e081dabcf1b9c79fd2d2b388";
+  sha512.source = "8ccb8a6beb30c508d582dc905136cc8b1b053a8d71a7701bdeccb0ff1eecfa69e32d7167b871d4e38eb0c98ef49c8ee9a00a9ea3bbc30e51c8a81d903ac147ff";
   hasRunfiles = true;
   version = "1.007";
 };
 "lilyglyphs" = {
-  sha512.run = "708d545b10251fd31c89ca3903e226dcc63c78ac77a8d036b3475ed1d5d396f3087b8dd2ec0aafebac65223ae4569d1c66171fcebdff5e06f37fffb3f45eac30";
-  sha512.doc = "455e55a342445cd98616033098c37031c60429df822e89b344db80fab3e7b30b4518cbfef539b7594a29347c6998794696c9011a2a413a112a369be422f002a2";
-  sha512.source = "99675f5eec7e580af74fda6e646a1b6acc2541825e9fbbc83cad40f7737b5c35cf399290e35f622424d6e38a3bf3999ae4c62cb1c188c501bd52b7ab5899287c";
+  sha512.run = "8d0d8b994628731e23b1a579a141cee66043838bf254306af91f9edfe2848379492baddddd1018b7a8b7c5fc7de33f4895884412b21d1b6825856f19b7da4a57";
+  sha512.doc = "8c834cb3ca5bff9538218112523537417bc41b05e34f6f6a1670c3f6eb573cc223ec8be121c7df79ebc746afe427520eef6d1ab0f4e569339b542ee67a6549fa";
+  sha512.source = "810c33637a1a8484e28b4a3b60c4a5ec281928d049024c2e24aa0200738a9d07eb9d63f2d5f2263c90376ab071dd8b4d8ed40db6d5ebefd8f49ac2aadee869df";
   hasRunfiles = true;
   version = "0.2.3";
 };
 "limap" = {
   stripPrefix = 0;
-  sha512.run = "56202d76d91cb7da45cf5a94805f222b601e23ed907f6c6611ad9ea06c3da553e8ffb9dd342ad4c3c44acaa9f683c08b082c40cd78faf8208c3b9328c74c4acc";
-  sha512.doc = "55d48fa928eedebc30ed267232011829504ec2657676115521106e161b5efcb10b02572d040db316f73ed62cf78eb8d9486032e5d85e185e28294c476207da0a";
-  sha512.source = "a190500623b9c819f6678540979d67b18e803d8d2be39e94e3d4019dbff87901efbe31789fda153241445dcb88aa08de6f01748deab194eef94f7e8708e650b5";
+  sha512.run = "eae51f72a65d407b091244ed926ec98a7bf02ed8c360fcea2d614011555195992d315bb22b3697c8220f8e91f34a1c2f88092f34697dc9ac42f757e066198650";
+  sha512.doc = "748504c008704d2aa1c763920c03c72372c89368e245fbf4172b442b6e9efe11b3754f37c37a864ab19301c8822aa31f0d25f80edbe26405c043aab8a0382739";
+  sha512.source = "2fd49d1313293fdda8726c84438a742095ef9a917369d8ac62d619507f540b4a9ced794472441f8d48edd5a5cc575ac2ac8ff43b3a50ccff70af0416808dd611";
   hasRunfiles = true;
   version = "2.2";
 };
 "limecv" = {
   stripPrefix = 0;
-  sha512.run = "9649b976ed0bc8cee8f04d3f2bd51fb2a934bf07900c6c62ada42eaefff8a77a99557c78e3dfa7cc452d3208e15a3e6ed83671c36cc37ad2c61bfa4873b50ed5";
-  sha512.doc = "b93f3141f0347fb7f07b2329f5989363ff966e3788b7ed984e7af5c2d78dd64e7494b558bde2a8fb0e77bba8db82ea1e8a51bb66fc3b89863c1dbf8f19a7be1a";
-  sha512.source = "9459e5c05342a0df657e2ad6427c17b9290e7c419deefdedb83ef4579fc7e65b532e9d5010b492d3afeb1567c628096a52aba5840d1f660f99c5d499cad400b3";
+  sha512.run = "385f144eb64f9ad6ba13f42e75ae9ce5701265c3bb2641523bbeaaed086781e92f7cc03f25a576dea97fe533bb08adf8c24672e6237363d37f7ea598138fb40d";
+  sha512.doc = "c375f4e700e19fac6334df88100776b93df315000efa11189567d3ae0e6d542c3acf3d21dc29b541f7067d8cfb32fd74197e02569fe5275eb0277fc645e182e9";
+  sha512.source = "22953f4f1dca7a88f1f6aa359056d88944cf86010683b3b5cd1b9e0053b5501c4e98cce2abd66081f5053d75707a43749e78523b640097b9cc219b945665b481";
   hasRunfiles = true;
   version = "0.1.3";
 };
 "linearA" = {
   stripPrefix = 0;
-  sha512.run = "056bb723ed97108e9fe4674cf0aedda641b2f2c3d425b7292ce3486b8ef110782638e64c6f342f2b84bb381cd8de9cbf4e3029954043814ec2fe48ed19cb1023";
-  sha512.doc = "6d2ff9a44691e02b1fb70738926e082708afd0e5584e83a702352bac3c59b852503bb0d79b3818ea94a0d9f62dccfee16eb9a1a1b32c3558297589e88a91bc92";
-  sha512.source = "5df96146fd5735a8772453435153679d4ea64a971839c9163d570935968d4ffd5d8ec6c59be82045e12c2843dbb74bdcf605b10bd4ac72ccfa910665d80dd608";
+  sha512.run = "5fc18101f389b2576b8e035e2f3bc79a37c11cdd64783df288f7776d1dc99ebc5c56a61d727de2dc57a9af4a4d0634b5ec6564513aea369fb1c8e4ce4eb407b5";
+  sha512.doc = "ca6749644b81bd4e6407acf0ea99f2de57a408b8fd332725dc8319888ae05e8e27cec2c3201c49e51f2cab22221ebabd8f980c627c7ce9f836bff2cb0a2cd575";
+  sha512.source = "ffbf77f9c3f97acc3bed0445dc3d7c92b9d4cd095e117a2f9ff1ba54cc1c3f96c734c1d22951fd520a194ca3f385504db06821a0797a4394079fb221d650fb7e";
   hasRunfiles = true;
 };
 "linegoal" = {
   stripPrefix = 0;
-  sha512.run = "4bbc5b5a4352bfb81336af91f9d77b6e16eddb8b73ae70dce0a6a2a5b622e27a277338403aa630337df3bc32e4333b7333a32ed4d989f9d6b4d4caae6a611d9f";
-  sha512.doc = "cce3c4504802a438788858cbba2d29152f8f511ac8fc04eb9ab0d019e1c8670a9a184452fc50f708227188234662225cd30acd2cc209e9ac30e66f0fde40cc42";
-  sha512.source = "481f5265e1fd7e5107ec530ebeff768ffedbfa9c3a92ce4ee24ac7d4b64a55376c61eb4f4432e158285667e3b0c3839bb06b7f0e089259f09e13886582dc2d21";
+  sha512.run = "87a062513ff7674f315472cc46e13fbce99057c3b7083a2b9c93b92f09d538af29f5d1e3664dd5273080b9037ac232dc0d7491753b83136d2d3558ada1b81976";
+  sha512.doc = "9c61ec4fa6bc63a57f7b272c7dfc55035e8e4f14225bbd2763157915fd351a2bb4f179150801f06682fd9bd59f756edbb127e7bd68592ffee5c1cfbac91b10a6";
+  sha512.source = "69133c573e53608e6b341abd7e745ba6b532eba05bb9a2ff2105bb9da69e31bf590fdc3f06241e5b667ec7f0c9458a908f5ad72304c7a5c9e412c0057611c5cc";
   hasRunfiles = true;
   version = "2.9";
 };
 "lineno" = {
   stripPrefix = 0;
-  sha512.run = "dd66ea16c7878fb34d3b7f43fbdc126bef0f15e09388655409d41488126ccfcaecd0c34269116d83c39df787c13754cbb48b1e4a3241c28985bd5e3a3df0a3b8";
-  sha512.doc = "7a0a5c86fee3e4ca4020fb5e3271978468fcc81a0d6d076dfc73d83f9837ca1115f47ef2620e3a5a3b967395ab8e97a02dd9b76bf82744d380ba9bc34133635f";
-  sha512.source = "9833dfa17d1cd995314a38f7f1a85f6fbb190a0e1c10c163dc33ec1a370c4c14dfa134ff35a920b04d84bdce09ce39667fa49bfb0afedcbfec1d0a26e6b34f7f";
+  sha512.run = "c98bb4c84d6473c3038a359872442ff8387ad8f111ce1d82021728d9bb8e29ca08cc65d5705261bb347a2da2fc27594cbcdc8accbd59aa03c91f0c25312578fb";
+  sha512.doc = "da4fc0ca69d434c6d97cb87390247b3efd3463f5dcfa7e828d2bc840d2636036c097d6d54bb2e89b5d9b5f2a95a41db89af415d08ceacddbc4642883ebc134dc";
+  sha512.source = "9598996c2796de011a31a8b8ebd38fa343ce856fc6d291426074da40bc557359e9ff40039cc48faaf6b4a3d039ae091bb7d7dfea530e449a0be3a34dba1c997d";
   hasRunfiles = true;
   version = "4.41";
 };
 "ling-macros" = {
   stripPrefix = 0;
-  sha512.run = "fe018bff08137d844802ca0c99ffe3a0e044e927be497fa707d2cfc36a868f5fc803320787744827729765ff6e792e14c62a14b863412588e6158e53f671ef9d";
-  sha512.doc = "00e8f896b8796dc89031aaff043007e7276aeebe624f77b006c266a4965ae06bb03682f182a34ec97b536621f5b605c79085f9780d50eb3d12062f90f0322489";
+  sha512.run = "686dbb33df2670af909a80863943a8870ecef128679ab679f3d90d1747042b752c9aea15660c962b0f02418233d4d152e64357d5b57884a2fc2371acb3d90a52";
+  sha512.doc = "fe424a7db4be743168c4b1016fc25c95d33cf9d66767b39db0e79a5ba1bb667c76b9b5f10b23a08449362a3fef281d60f0b53e2b0f196846efe9f4765f3f08c6";
   hasRunfiles = true;
 };
 "linguex" = {
   stripPrefix = 0;
-  sha512.run = "d679785e47cbb0c7741621759757ece79ecabe096310ed0f52800a5dab0fcbdaefa405a84ef15bba3c1f852740bdc2ce66e49117507c315e942c12fa61dc57b1";
-  sha512.doc = "e1248ddd9152ccd6572bed6246dc3e65df3c479f09aa7168890a4dfda62c6a9f8b0693181eb7e1679adf7fe30830febcf77fe21e10998f8d68c954aebd9220fb";
+  sha512.run = "36fab316a894029feba86bf771d4e600b3e7f5d766deb9d844605979b066483500c8fa0a425718d22e9a2bc14d74aada16ca8deb7ee744a81e18fee8c77a7b50";
+  sha512.doc = "7a5d84d5425031d341deea8f37f1d8a9f6eaee820ef66661e8e38eafad2b20a5e9b04b81b1a0db0b11ab70fb0adc9c81cef886978626008eba6aa3c32bc0c848";
   hasRunfiles = true;
   version = "4.3";
 };
+"linguisticspro" = {
+  stripPrefix = 0;
+  sha512.run = "74f27695393e3b9489d085f6a358c05481c37eab37985530cc91a12d81430141e57226f08174079eb4034887ef439a27498c6f224c01169c74e04ce71bd4a680";
+  sha512.doc = "4073f3eff8e46433d6fa58f9cd271180ee8e2861229459fd8066a35212d562b6625a9acc267c68f584f82a7d235ebeb361a41a971a8097548eb926004418ece5";
+  hasRunfiles = true;
+};
 "linop" = {
   stripPrefix = 0;
-  sha512.run = "3a59b63004eb332ee10c322272807cfc41ac31af0e83fac4578de33547ad9b1e1084bf139ace14c52e8430cd2c681ad090455a4e03ec92622852b64334bcd50d";
-  sha512.doc = "f846adf12bbe9ce5f95e739fe4f7b7dfd7c14dd05991cc3d3a39da8970e93016c6bca54795bdc4486c8acb30ff41f6c118a4cb93fbaadee0642e881232c2f69f";
+  sha512.run = "ba0c5e053399c44203d6eff42252854a16ccbf12132ee6e26fa577587554234b36ed31a63f1a6c40059e0aab8d9367a5b6aa6f34d552d64866b46e68478c36b4";
+  sha512.doc = "e63f09e370a53dadc92591d105c677f2a5eea4cbcbc4e3133448df64b10abf2eae1d76cdeed5e288f610be13eb4baf8f248a6e9df92ab79066078ee165b9fdc8";
   hasRunfiles = true;
   version = "0.1";
 };
 "lion-msc" = {
   stripPrefix = 0;
-  sha512.run = "4843cc01315871b787ce279dd31210301b81269f110ad308f3af6fe98fccdbaef51e45fd2a30b3f5039fa33bc92f6e2c52785383304372d3ecc1e73e680835ee";
-  sha512.doc = "e369bbb870e4c5ea5ebe0479e93e970481fe0e2d30cef389aa687836ce732731ab42a94ec2ce9648325041546f91265d2f6ac70404b1120f78f6f04223dd6fa3";
+  sha512.run = "93a6800c371a2444c34de2888d09076cd41b9cb773b39af1c6772928087f4c0438e85a58267e9a0afd309722b5eb16907a553c23d2cba008a65b6e2f3b3edda0";
+  sha512.doc = "d3df6b66fe429e565b9f336b2d864458de759a907fe1c0ea88e002738fa7d7122a3dae0951f596c56192ec5b44023eb604eed7cce357521e8295431675bf2e67";
   hasRunfiles = true;
-  version = "0.27";
+  version = "0.28";
 };
 "lipsum" = {
   stripPrefix = 0;
-  sha512.run = "8ce5767e0dba53c01c062e021712ffde50d1449a24c1f2c7645969f549ecb992ea48e81135d94bc0642825931f918d264f804ec1c92b19e9572dba7b76d1f53f";
-  sha512.doc = "caec67a64cd245cbcc625d05c9b354c9a0e41c4968f6af60f7d8bdb3ecc4c5ea10fb3df325429d2d9a841c4b2abc1143d206fedadee94542a4cd281ca784f7a2";
-  sha512.source = "a2c4a613fcf8cb0657d54b40cc37c05e64276dada49fa31ea6daaf007f2922130148fe679470053959d6beb3dd6bc6527c8ef2efcef9fcc5a031b9656b85a0be";
+  sha512.run = "f5d2454f160162fd1272f5a43e021e1050947b527614c6450a87e1ba8aaa8151dad281cd962142d5ad39cec9f44ac7b313fdcc44da94db0256ab9a2e14b75b0e";
+  sha512.doc = "fae8e8002b33c26ab34c53d09e1bbb76f46164e2fa8a59517dad19e81c1b84505170e675cc2d9072e30d5e5314f7ea7b72d61e273de9ca9f898d97ec2143e3fa";
+  sha512.source = "1ac058c3c83d14701b54238aa78aac52c1495038985e30584e948842d5a6486436c733df790fb56b405e99033496921d9401e6d73ee485685e46586a01edba00";
   hasRunfiles = true;
   version = "2.2";
 };
 "lisp-on-tex" = {
   stripPrefix = 0;
-  sha512.run = "25095131e83db6ca19f3d5303940e1f2ba27eda008e7d7bffd337da6d4d45ac4ab41233607488635ac007c07211157b35b15f3c34973139ec6f0a0d5e916540c";
-  sha512.doc = "c559cd27838dae13246151891d67c5df984d2d58ba8c575e390caf29157de889884cba86df1fa65636925870e3305c2454fd596c34a96a5551355096a9d9a9b9";
+  sha512.run = "67817d9894ac5bc8d456ce2b114eba81b0c444bf53422c4acb5066b42cd5cd55d73c46fb2b443db9fe3b13bebb58d6fd7f2bb31686dc4ac2295447285295c602";
+  sha512.doc = "fb3a8ef4ada38d910b3055f408059daf700946c84b17873846175e6cd3075ad7f3889d2af154adc3a7898ac33646251bdbe0d8cda17ccf354dee526a96476432";
   hasRunfiles = true;
   version = "2.0";
 };
 "listbib" = {
-  sha512.run = "4fab2e4abc99307598e482823e02a3961e694faebb8c5275557c9030dc40dc8f1d52d5da6859466139fd2194e4272b1b93782562034aaaf909fd1f6a205dfd1e";
-  sha512.doc = "46b2503dcf8615eb1f8f93ba6633658227a370fc8946fc4361c08ffeba5dc03eef6361df28ea996b53d59708a123b1f7bd5502f5acde813805b1d2ed35f60c92";
-  sha512.source = "efb6cb3f27d90e64c29f0dd8da57d75985990eea0071dd3f73b5f952d820379efb9286f981d4b1d7c2276b9dd2690c125cdbade04091f8a9233f0e21afb72199";
+  sha512.run = "e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8";
+  sha512.doc = "0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3";
+  sha512.source = "441b13ec75d91c68b8e7253a5dc9a6e515c5bb0df81a4784dd414b1956be6f2c9189051ae9090a04bd4d11919945a38ad6563f41c27d1b8d03ad283f71c9a19d";
   hasRunfiles = true;
   version = "2.2";
 };
 "listing" = {
   stripPrefix = 0;
-  sha512.run = "52b2c88af72a800d79f78fe805cfbd0c12e0ec3410a25e56d97d1164090f6afa13cf57cbbe0f062994f79dbcc924c2b5441fcee3fc238ec0c3025db70bfa0695";
-  sha512.doc = "aa3fd47301a3055b5d12af8d4b8dba1adee33d4d06f1eaa4243a3253bbecb54a607b30654a0e053cc402e9b8d0b25ae211c8ccc0cb5988da28b6ed46db570a06";
+  sha512.run = "154a9eb9da19d4a1d9f6ed421bc13f1f83279cd456b95ab8b7d84f9c48d6aae5548b7357e46041580d4b457758aa090e6352aca9d9e20f1739dc589d4fa24bdd";
+  sha512.doc = "11ef594d55ee823dab2a88ad5882e1ea89d7741f1038d3782ac43fa43cce948c1ed72096ddd11d1efbcc3b43ac9bc4dd23713f725aa71807ea174548d9a5c968";
   hasRunfiles = true;
   version = "1.2";
 };
 "listings" = {
   stripPrefix = 0;
-  sha512.run = "d9ccd62c1c55d4de26db7e2411aa8095223f73ebfcb9e5b177b0a6df53d79a651c8cae82a0b0a24726d3a3f9e55454d2344c651524511934207334fdc2db5b58";
-  sha512.doc = "d25ab881310c3d6ddc60bb9e9cb1d9a3cb49a84de011a8e6c08641002f27a6f40bc821fa1ee32dab339ba2f26b937a0e0d076069045ebfe98641b379fe5e063b";
-  sha512.source = "b7d872104ca0195f77c6d06ef7baa221feca5a9a0b1d2ef70b67212398a48c67284cb0aad4d0d5243f7463c009cd5e54d54653e2c33e5acf7f820c0122694be0";
+  sha512.run = "ca15ff0ea1958ccb4d7e464245f7a214a509341517b7bc71823823f5673bca3d7ce27b6b7236f195078c7f9e7e3812a5bfbcc1c0b59196d06bf28cbd4ca63acd";
+  sha512.doc = "38e7e013f56787a025425342858e2f1933f0f6295876fd9c2d01df568d76b51aa17e479fab968a9cb950fd77cb0810faf4b31b267ad23c32ad26f6e85ec32d0e";
+  sha512.source = "50d5bc041b885ae0e35934adfb3a76b048d8c7a200081eedcff4984b433e498444f4230baa63e86669d526fbccb15a232b8b2faf2f9787fb63eabc3da14ca28a";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8c";
 };
 "listings-ext" = {
-  sha512.run = "99e2cb51f1eda7d031be3eb39a1aae3295da0d5532691d3b1031111610fd06ca134d271b5fadc065991fb5f427f33486a67bc1a9dc69421a4ba0ca6162cc25d6";
-  sha512.doc = "d26afc5303dea720645bd0296158d24fa5ef2d733bc52d31a4c8c57a87febc7d60f3556a30d7df6406537bec8d7b94c37c572291bffcca84263a7a89ed2e7f96";
-  sha512.source = "d1a6f2f5a4047bd3ed0ee3d6f5de2d1094babed732d4469ae2ea37b8893c14f84fb98239c8e568a762bc7bb62046d2a9ed3f4d90b22877f2c6deafd1595ef1e3";
+  sha512.run = "c68752d0e7a1ffb7d08f153bf337849164d0287f20ff8f092635ad7083b2e5a6c487bcd9dff913dd029f4ea92750768d23583eed53a0c2d3bf012e4db059708c";
+  sha512.doc = "82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5";
+  sha512.source = "fab34f07d6384a5474f3ac30e2e00a75398418668134ac1041cabded6209c9521244e1637e4037e7346bc70b3247ebcd90526d5e34fc3c4e388fa978382bf228";
   hasRunfiles = true;
   version = "67";
 };
 "listlbls" = {
   stripPrefix = 0;
-  sha512.run = "e8d3aac3466572225183bd285cd927ade4c0a398949b4d0ee26c8647af60cf8da4d05092387974a1c4c9bbd46b921e8a8628ca38555bbae25cfaa59fc35276f8";
-  sha512.doc = "cc53d332a3b727d634ab94d4bd8a23d5800258fc390b3753107e305c6d1a2152ddb114ad9c1da063ad7ddb2194de7fb4276f0f9a7c66dfb4a34f276502380378";
-  sha512.source = "471edd300bedbf573451e53cab697d3737dcef4f2006df53baf845410479d5ab692f3ac36242fdc277113b54b7c004fb3681827233436fb2e5d79c79b3590966";
+  sha512.run = "b5c2e7e168b07aa288c911dbf5c1fa8b56d2a73d38babf0140b77bbf783334f2da42b2bfa8d951e166f7184345cea26a908d12ff4a07ef89b85a7d7772d645e1";
+  sha512.doc = "225837c7a5c80b5a01739c20011f4b4c76b0cdeaf26e3f8f44fcafee3e439a104c6eb1a47660a788b96a3cd63f3e19d1384ecada059380773850c7a4109d3269";
+  sha512.source = "3b35fa88f640d4f2a13f0cc888a7ab7bb09052ab080454d398f0edc27caa11728152e24bf5184d54aeb1bc86e599aa8a4bbfff6a6efd790e11277f99da2f27e6";
   hasRunfiles = true;
   version = "1.03";
 };
 "listliketab" = {
   stripPrefix = 0;
-  sha512.run = "2a98c8a6f6ecfbf2650524ad72509d8a47d741da58b967014927b00c3e8af92546b4dda05452e38e4d7c8f5c0b29ab56cfac665fdd140bb9e4fc7e335f28037a";
-  sha512.doc = "3fe42c67ee16b94d55fd28b189312ab63614768a023d14fccf55507de494e7b7fec440469e434711daa7894abefc3abcb3ffda4c8ea45b266612304a7a759bf7";
-  sha512.source = "e5f3dcf631a5d9392b6428d0c4bf30bb0dc6f0a34824144b7bf4d80be589106034d9935007a7c46abdff129e31dcd06355147c23ebeabe90b39c2320319e4e29";
+  sha512.run = "0aead2b70e314639aeb98c199d051fb0701570df0263f452bb2e65408678d437c7eb071c41d8674971e42a0961da30754696a58eaaa41dc32d33ded58a833153";
+  sha512.doc = "70ceddb9c59981319ec33fba05c663ecaf549b5dab56f29fa07f9c314d97d999c762ee1efff0d20b5e35b39e89b031458fdde4c5c708e0a1c2dbfdf17d710c2e";
+  sha512.source = "68b75e9dcce30acb59d928f4ff95732cd7e37061d31625f8c1835ef6b8da85ef39f4d8ee86b50e299e71cace2ca5307c25641042f325a93a93bd04bf804ec5b4";
   hasRunfiles = true;
 };
 "listofitems" = {
   stripPrefix = 0;
-  sha512.run = "b82286f0adfd4f6be0ff4e4974dc1054a1d9924b743b07e6c44453f1cc25cbc41e54eaeed6a10236706ac2f5578dfcd89e56a8eb86087bca81def600ce6560b4";
-  sha512.doc = "889924a2b94396853003ba1d1f55352b1fd62a1f28c77d75fe79008bd0c4cca819dbc8291848e7102ea715b6c58239308eaf83212e9f5c955e1a973819e8c2d1";
+  sha512.run = "9cdbbac3442d2b6cf45659a77dbbf7c1db2252af3c656d277f8c9c1f8cfd98879efb7e6a9957481cd6e892d8f3df1c8ef46c7992b45c6c461dfe936018600917";
+  sha512.doc = "e7c3df40b9657dab386eaf54f08018e3d390a1de96a47c5c4f63759c11aa38b243301287940131297ad107e4a63fddad5bd9ca5982b211febda7bf5a6a8d40de";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.63";
 };
 "listofsymbols" = {
   stripPrefix = 0;
-  sha512.run = "a9327c900fc4f3e6a8c219211e4136aab4d12b2ace952106e33b94c10e2892fbd3c42c522cc89cd6d0ba70930651607c724ce06167563f6c957bc3cdc82a6dd6";
-  sha512.doc = "b722083baac81005e655a86e888e16ce75036d1ff3681410a59c689bd02d7029a051333431a04709c4792961e53a9b439c4c269047ef55ad6b7c980d25b28758";
-  sha512.source = "907a60ac1b12c1c76527e9b0fc1f67f493ddfa9ebf357c53ebbda5d7edbe68291c1c602d4348c79deac8ccea51096fcf4da66e792d6f0cd3e38f98837c249257";
+  sha512.run = "dd32fbcd59fa9ec599b0a06672d2e810b5b8172a96a4170cad03a93be3da21a02a036967d0e7e3a617bad6535aca2b1a34a114c383b5ed1aca22bc45239266d2";
+  sha512.doc = "ff8bb87ee326f0b0df175eb41d634d67cf2f1ecb76f1f8dacf2e19d061e54c4f5cf8e01c7e8c41087ca6b69a04f5a3184ee8ee39f00758d3df2f24a4b2e372d3";
+  sha512.source = "b232671411ada9bee8e9408ac9f7bb94e57010a39d916beb78d3f04dd1826203b37f8b8d4f040cce5bf0cc6b7ca97eab97d6f764ffe370b09c361a44af530837";
   hasRunfiles = true;
   version = "0.2";
 };
 "lithuanian" = {
   stripPrefix = 0;
-  sha512.run = "94f3bac72d845496934cd474f9ec51b9dab541d9efd2a6e55972568055b93a57a63104af8fb5e1fe7283f08d99184599e3eb80637a8b441eca7677b38ebc4208";
-  sha512.doc = "22e16063cbe9f59e7e0435d827f14423426dd464f51886eed3a0383113881d7e8492e838c51d373ecde2c4d99a9352c6d4141c80292127703b29c8d848254c45";
+  sha512.run = "228fa0f588bb0293778a71a910401575e20aaa8a184d54d51dcf1bebc8bb6b0c0ea81cb1d3e0f2d36b6a0abf830dbd328caa6053fca7f40a83bb292f76b83918";
+  sha512.doc = "e4b01bf2174854d95f348caeb5e5b88ec436420178eb06a78cb9157bad23bcd34584e9bde451e3963f4de59e66162820f9487ca4d166b2bd898b2cef17e63ee4";
   hasRunfiles = true;
 };
 "liturg" = {
   stripPrefix = 0;
-  sha512.run = "a850a6c4cd8bd3181d9d35144871a413aac9a8660fbf9837c701eda9a0bbadb8d6c82803c912fbbe2df4b2d109f74cb02dbd64d7c0b84802e8e3ebfefe8053ab";
-  sha512.doc = "b22d9d4647c54377fddcffcfc5d38152407ef58eecf509dcebe1672c8a75369a46211792cf7a56726595d29d38c93139472d8b23ab607524083329c12ab6206b";
-  sha512.source = "8460c6edf94920b6f505d678ca5f33540076866adb1872c4ebb196c4ef4f0870116c435d3fd044c50355abf9eb586009e64b7fae5f0317fa6857ed7e85f06837";
+  sha512.run = "e97da4e9046fbd60ac2b22bc3753db7a75b5b6aeeb6c37293c5dd1e4e8fffd18b32818b9038b816a405033ff74d9c19ec2443b0169721656af687f1c5d62cf9d";
+  sha512.doc = "6b342e85917d5a70dc32461de01ae3c6ac66ca247b4ba3d812b7645f1cd1d961c914e584cabf743bb03ea74cac144ec05b03cc09d0c23cf7bbf4b8ce7d01937c";
+  sha512.source = "07bfbe684ae7584cac1dceb3d9012607ee24639a0e4e858d2f570f4aa3c21280bb6116123910a111c729dab794e568c05f8778d3b71612ebc288b0c268eab920";
   hasRunfiles = true;
   version = "1.0";
 };
 "lkproof" = {
   stripPrefix = 0;
-  sha512.run = "d5be4d8dd3893da6961f3b516846b5abd2258527dbdea6120a4ccc9a4fd07129f76af83ff01ffcfe6a1931e47842be63ce9708e1fceb37f370ae1f20ff3e5adc";
-  sha512.doc = "920a09606270004c8eda9173859cc4b14002379fb97fd902c4e7a23923ec94aa56a98c0320eeb8006cfe12e1ed97ae96cf229dd34f36aef7e0773d69680af4ad";
+  sha512.run = "58c211cf1ed20b36e69ceffc8568fc1cbdb51cb812af79d16a64cbe8a8e7e672a2d49e672501b2cb23ef72c4a04c59017e17e538061159c8b9e797624f8334ca";
+  sha512.doc = "01c3f1b50147c73294dabf83d79811862d4742f5a76f69ff6f6a1d5a2b0a8462e3728ba6e4d6fea57d3703c638f6cf04568948d45d4ec8d1dfe59571ff2933b6";
   hasRunfiles = true;
   version = "3.1";
 };
 "llncsconf" = {
   stripPrefix = 0;
-  sha512.run = "30daf8c816267a6b5f6b887ccc6d16890b0eeb45c3892bc3babdedd9502ffeaa18174f7c9f7436d481b382c5120b4c6110de10e9adc508efc8e4407c10deaeec";
-  sha512.doc = "636199aca8bfc969f953ddcec2b4dae899006e9dd158ce9b15bcaad0aa805bf298b00d854866483c83e2314a2cc95cbd5bd96595e3712440928215077a606793";
+  sha512.run = "9df2b2ab5fa1434263f4df8a4f5c5329d38bff47a3f9178b2b220b50d34e410ce2904df5177076131ecff1a5a20cdb9cfd6cf84d986210df1ede7ee61f73b255";
+  sha512.doc = "a0a9ee4372d9afc48fcaa16959a9c54a3d10216d6196be963f9b35c66f13c970a4cb4a01996cb2397a10a6ea36c445a75541f7bdb9608c759e611faffce56574";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "lm" = {
   stripPrefix = 0;
-  sha512.run = "5bc73dbcda5aef36ecc9e49268a45aea4ff8a29b59a8e2e426ae560a033af7aac44d6d761eb7a9657577c1796dc1a8ce12d1c58369d5addd826f6721d5c8b756";
-  sha512.doc = "cdb3bf69658b36ec8a0fbc4a984970ffdc4ef4e773d9ae972708ba5ec33a7e785b0a3c11cbc6ba908e5e9a8daee15674730a9ca3970ef86f127cb70c8c59e579";
-  sha512.source = "f4ff434a5ed5b53462d5caa4347a842703a59669213784a46e0ecd2fb7808a7bbb2bad33b78999bcb18fc1968e022872e7958bfd0b57bd305f29d1ff8d25d418";
+  sha512.run = "f94af6c169ee05d3a2dceb00794feffb7808a4bedc05da7655ea74fbbf675047661f49f4f2542373e5fef60fc0f91ea9931b25bb10c1449f593b84ebf65cd154";
+  sha512.doc = "baa33984a243c1000fbccb73f853dfab7c935e2da5f68294cff38db950d85f09ae9ab63f01178028c5f77d00c03b919487e73eca78dbcca60b9ade73a0773b18";
+  sha512.source = "954d7cf62a32a4cff318c9e51f0f9d5e4b2de358e7f8830b1dd6e4515806b9e446d6f1f0b074bc8a7a8cb20ab5f8dbe715bb0ca8b77c4c8265d868d821335c72";
   hasRunfiles = true;
   version = "2.004";
 };
 "lm-math" = {
   stripPrefix = 0;
-  sha512.run = "6b0d6d989536a32bd9625abec0852eb6a1ebedd19000c571c6399764bb1bb5e454f8486539fafb20db63b7a4dc064b559a9b3094bfc5d14456358344bf186c83";
-  sha512.doc = "972df7f9e1af3c24e0fa2a8ca1d602ec76ee4ebf1ca29ebe8f94941953116808e90ba71eab1fe16ffc920659010ab3402699289235de5ddefd3e25138658255d";
+  sha512.run = "f2424f917e13aa9805f6738ceed376d6063713dd4c58a5953b5456da4ba81eaba3f0f97963ecf36ead4f68b1311c4c9e30f064002ab8bbf0f5ed3a67db3ead4a";
+  sha512.doc = "262a99ab29fd22976334eabaed77d3326e87b63014d9e640ef8ea31b14382b273a6435f3059aa235c50f9f829ec28adf754763e17a945265495e9a54e7ee53fa";
   hasRunfiles = true;
   version = "1.959";
 };
 "lmake" = {
   stripPrefix = 0;
-  sha512.run = "8daadcf6840d457b1d7c94a1b3886248adcebaa1306535ffb70ab7e50c5cc99e07704acc77d062ef39d06cb6644e585c9a168d36105bbc9bcf1fb290282b05b5";
-  sha512.doc = "550a71e09af936e86d334c30bd26896ef478d4d86063e9d2163a9628f33eb2e6b2b65011b673582279a3f1298ad4c6e7144af8f32bbc8e8cfe9547705fc8e7a1";
-  sha512.source = "55e6e5c1ddc61f9b91c1b6c0792bcf1a4b0040cf938a0ee5dfdd42768b48576e38f1cb9016ecbcb225aaab1a9fab45e085ffc9fdc540bb62e9de004892d9b7a2";
+  sha512.run = "3613e9d53808b2d1e326175c28acb672c1f244b2e00ea1d544e1e05c73e2a93e49b5e8b187a8a73e87ffbb00c22235781983a2c0a733a6ae5598db12c278a763";
+  sha512.doc = "08fa487d9151ea6a49a73044d1f6b41ed0c636a69e04a2c9f04bce996f915e9d267383a6fc374f3292c01244981fdebf6d9fc462ee0fc151ded2601e4554593b";
+  sha512.source = "d18894108d2b4b5d46d4e212648b6c7d76894faf4dd45555371d17df5f6d186d4d2b5c8878e745520441eba2459c5fce320bef28e23bb59c09f01fee44a6041e";
   hasRunfiles = true;
   version = "1.0";
 };
 "lni" = {
   stripPrefix = 0;
-  sha512.run = "76b26d64f58a31e2a1ca208a0cb4fc0c6b3a3ac0143e4d5f2d950e304f7e27d8dfe1aa281c4a013d9b056f06cb81189372d53b6cf1c6b926c16510cf19e60779";
-  sha512.doc = "94fa6da8ecc68adada56a2f86785d5e111135770c556991496ecc85d23c6dcf831f9c1cbc19752d5535cd1c3d075c86fd1b8854142b7902cccf51f6463548abd";
-  sha512.source = "ee62aed7fe29f07666b024483fe6dff4d3447c9d0a4ccd907c003940fc7b4dff5ae30fe15ea45bf64875e9dda1dfd7994ad0e2a2cc9bd5baa3bf1f17030fd513";
+  sha512.run = "8648f9a39d982e99f19af652e39ad1feb98c01ee2a06b3912dc609213673bbd685e11969507842caea4657d8ec0a33f7b3a9ceb0a4cbfd4a9c4939ac1d30e42a";
+  sha512.doc = "7ee44a6ba2782b28a81c8d907ed11a07079b4e8eed3fc1d8adff80274df471637dc69e15e6012d9147116c76d2faf9beca10b22a554a03ae6985c9f68791f104";
+  sha512.source = "ee33399c5fe757c19b4e297b184887aaf44fd011b78b2ba84b906955c2da3ff3e76c6400a9f21967ffaef8806f12a3ea3c82a4a20d24c737e0c3dc514ec5a0a0";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "lobster2" = {
   stripPrefix = 0;
-  sha512.run = "01ddcddf240936b55c4ee58e52f345f27d4450ff16369fc3fc73752a8e74ba0fd32fd052673913f2e3bdd839f26e1d128407624e14f4874c1d2378ef8f07364e";
-  sha512.doc = "9b0ac88ac19259b9ccfeb50e17edf5c5205e955380080e90fa4e66d6a6739afce2a8e65f8b236fcb211e9cc437060af5ed58f5360f5d38738f863b24eda83cb1";
+  sha512.run = "97692ee9293dd7fce8a3ca01f29a11daca837baef5d55b2c85339e1b2656430d009b5beccf7f04c5eaaf9b1643624fa259e353bf7f8afd6ad78df00999c252ba";
+  sha512.doc = "4efa18df18dc64cdc88d52b3b4bd9936f021a039e62eeeb2b028461328f2c3fc5b0bb0b661bcb3d2db155c48c270dcf1c2dcc2fa4951666597277e8ab1195494";
   hasRunfiles = true;
 };
 "locality" = {
   stripPrefix = 0;
-  sha512.run = "48d854b76a985a4ad6586325a26bdac9d1b39b1f89026e7371d275613a5154ee07819bb3c586ebbff6e7fc40af6c5a258d269bec3052f0065f4e7f1f6635ffb8";
-  sha512.doc = "0a3a2e538a4a60927a33fa92feda6ae923a8a125bfd874f7a51249b6a3887668d84307db1e65899fcd88924ce7652fac5894f6ed12aed3369983d51c648199df";
-  sha512.source = "34cfc3772c3f3ee6b38b7612f283d9d3386e87f2d20161120e5ec68d2ac8182a6aa7193b845b4ccff7471103cceff5918074309f17820d561673fe26c50f5829";
+  sha512.run = "c7fde4ad74b339d340a046a4f59ff73da45942631c6b68275d365c18ee80b213d18b84540b8ee535f012aa18ef559e88b1df3fcff4560d241ee1147695824a2e";
+  sha512.doc = "5b7fde689fc764dc75930522416cfeb51ec30eec64080b289c085be4b00a0da1c5d6d79d2734502ca8a329bc2935216a8b298495e0ad1ac8331c6d3a5718bb5f";
+  sha512.source = "bb1e55107d9b16460b8990f35461bbe775c674ecb2dabb78d19514e365cc97f0b03ad5884b310edc60f2fea9366ee2633ddf4280165cab562038e024ea9267fd";
   hasRunfiles = true;
   version = "0.2";
 };
 "localloc" = {
   stripPrefix = 0;
-  sha512.run = "a0e16a441a1842331d8ff4778904b68dcb5c7650e605fcc12e2205b780fdd9b42cfaf4b0d2c528b3d747f75e57886ddc2f5481d8de6d4a493c18b18481302b93";
-  sha512.doc = "e3e47a9beb602fb94a1ba7279d4f9e04b4dc12a4112b520d5f5dca52cfa3b56cdf0494f0251dbf5991eabde2705436d6284e28c1b101a8abbe461816cb73676f";
-  sha512.source = "7dacc5d6ee2eca888bc99466575cbc6865bc4083565b65dcfa8ebccb0ba46b23600ba56fd058603d8ff47aa6a6b6372f240c089b2035611f36dab34ba1d725ea";
+  sha512.run = "ff1e797efe69f372e61272d187e758e303e505128549e02d8fe45c621a28e55337d13b0fdbf6065ef97d4f8c51018ead4e97c1c4b2d9a76f9a6d299136f510eb";
+  sha512.doc = "13e03c65221c892acf80a51bedd6a18232e9e9adc7ba92f34399e678a2d88d7050b94f8047087c891075c2098bc759c79f1276ab2ee8cfe08dd7723f2ede6f74";
+  sha512.source = "04da29e24ad627fff42fc88a5fcc480ba42eec235ab2e283a89efcdc87082bed4b4b988dffb5ea2456212cdfebe9f66937c54ca799a3253c76884e86b13f2d0f";
   hasRunfiles = true;
 };
 "logbox" = {
   stripPrefix = 0;
-  sha512.run = "ea4fb3891441a49694d998e69f1fdcca64e795335cc6d18215c65f282049897f0bb7a41768d5e1f01df6516b2dbf69e67e1898b272a47c760bdd9ba5c1ef0b03";
-  sha512.doc = "b87519598311f255a691fa89bb1e4c98a07c18afd8f28f5732ef581ce19cd2c5dfaaf1984e187b8514d784ca1e55cb03d09f8744e23b7e4aa3c0d6afab9ccfb2";
-  sha512.source = "c568a8a760444c999c02bba8d8dd791f22807a465365198b550a4f643c578d85b0676557af022d470b46ef063193d1c3f66a200d5dec46901e44eda6168656a3";
+  sha512.run = "0c6f9d401c81344465d6eaa6eb6e655443c4af1622bfb6751db508638e2625aba7b5e77780fbb6453eee40b8a7ddba84d70ceca8882049779db61f83e7a15aee";
+  sha512.doc = "21f379c88638ee8499e7e47abb0850822a08d520aabb352e0f85ed0c38950aa71b4f9b3d430c31193de5640a915d0c84dc28fba71443d3f2e461a2dac53e2b9a";
+  sha512.source = "3123ed1fef39d4a252159c65e0cf938933f2ab4c693d8f7364f20e60accb20e32fcd9da8828019a8cefae1fb874605ffbcf88dd7123fff91871858cb5694a985";
   hasRunfiles = true;
   version = "1.0";
 };
 "logical-markup-utils" = {
   stripPrefix = 0;
-  sha512.run = "95213312bc9348b673420c3177bfa03b1c2c94f5a369ac5ec5fdf64d22eea20ee31f86258f79248a85253ae89cd6b8f7a5afd0a629c6e36d9cac47d12cdcc2ed";
-  sha512.doc = "6f1adc74f9ea04bd8f3a78f62f1d126da4c43ec9965d94d2047b777bdc5d03162589df8f2891ecb4c4540bbef46308f0f6015e19c28feb81b6406e5fc9a2ce09";
+  sha512.run = "87f7fc345935804705ab25ab010376fb72bc4722c75bb115b0c9dd0e0a51fc8bdd6dd4051b76dd083ec07d80b8c59c5d18423da55e0430db7a9f94ad0bd45906";
+  sha512.doc = "80c44068a6e474071e40a0bf3dc67f0201b21eb84a041fad8423c59c9e34ce138833c54ead638979357dc3026eea55da034daa05e71a56ecabe701ebf53faf24";
   hasRunfiles = true;
 };
 "logicproof" = {
   stripPrefix = 0;
-  sha512.run = "ed17364fcb71402d6a56190b20115bc2335d303d52ac9f971fc85768c5b6d492d15ec3a7fb7dbc1f637c8d58e981e527a0d7dcfd19f915435be9d21dfa6bf942";
-  sha512.doc = "732fc80c0281eb26bda98120f5bf383ca2a000cf0b84e1f8d9977e50d0f437893778445f915991867d9f2ea6cbc9b9953bf8e1607d3fb5dfa97b53d562f6113f";
-  sha512.source = "02e84b4f79ec6ccbd73f2a838cfb0c0b7b013d6f57f5f75fdb582356a7095684483cf27f863250f41ac167cc3b2596068021f7bea28ed6c036a90f114f716fbd";
+  sha512.run = "d5b15ee5f35a9ef94618f8b092e97ccc4f1959a617c2e604b99ba56eef14c4a1a078d66f2c77d02239289e30878293ea6c9ff4134bd003331fc41fd3db19cec5";
+  sha512.doc = "bf8a33c5db05a30cb4f520fa2f73f572a90c3803c4b6dc1709f9e2c80f67e32e7665ce898852dedcd3daa8974bf909034d06f805ce473318f0f512645ceaf9da";
+  sha512.source = "4cde464059a65161c6ab069ef0c8905e4e6cefb7ebfd8c7c3b2af909209af4a911dd1bb0daee5b27868305660601187fe7a105660b395de98ae3d30864f012ea";
   hasRunfiles = true;
 };
 "logicpuzzle" = {
   stripPrefix = 0;
-  sha512.run = "bb851ad8f7812b08bbdb7764dfd4eaccca439c1fff83c6672ee08c89e1eebde2d249757f5e8408ea6253a893b0470b80b89a0369ef64119ed2a8d9f070e11274";
-  sha512.doc = "86783bfa1706624eaac232afa00636f971d653968c9005fdf8d9f1ade9728154f19024633901ca6823175c8f6e130c117b82297f405649a19cb99a1e138a6b1c";
+  sha512.run = "2c642c7aa6d6f12e51228432f8bd9fab906ff4dd3354a49f636582a065bff0f534222161ce11306ff6bf3e354a9ca6f6394cf9826b321ac94e9ef5ee8c0621ff";
+  sha512.doc = "872a72ed13f7dcb43df3bd2f2b7bd504e3e430030115faadf0a130d2fd94331a335c4853e37c78e4b8aa7c59a44bfd87ad2a484b1b836c2a7526b97ef26ddd56";
   hasRunfiles = true;
   version = "2.5";
 };
+"logix" = {
+  stripPrefix = 0;
+  sha512.run = "19aa0ab48dce9b395436486fc731ec9ac1a153bd965aa6cb0835954acf54b2d2e32faef22c4130e167957ccfbed59fb3a83ded4d2b180966cd383e27d6a65f92";
+  sha512.doc = "f2408fc3d3a99c97e3be5090a54472f568cda97425d106bd14610d687f7bf5bf4297c3870c69a4f6b94004ad0e439e57055c2a6af5e18d39861640d0725405ea";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "logpap" = {
   stripPrefix = 0;
-  sha512.run = "d2e9939d2d2b4f1fe1ef369d794b3037e76ba7681195afc2e05c133866bbcf3aeca19fe8a4de603fa8b6a3090c8d036a28502b722120d0a0334533a58ea883e6";
-  sha512.doc = "cdfe0fa0ad0d7e13c1d931b15bae8cacba9a0d25310536b621092475d67c24f8ec1c570cd738cd3686423f02c9f535156f0d232446bbd67417e899d0976c8926";
-  sha512.source = "19a098596c4cbb5566be76a6f2fd6c95838f50bfa6ce182e086fcf118836836ffb1ffbbd5fe9ab849eef20ed2984bb2be422949f3df2c4e2cd532b1e6ca78447";
+  sha512.run = "159876dc23e96f65fbb29278e30baa497489331fcf52ebda2adcb19098c2519044ce54ee590c3d91f80bf27b6df0a49aff455da54748c3e04c7e81c2be108e4b";
+  sha512.doc = "f85a52b9d95247ce5eb537cc677aff184a434a41fa9c3433955b43eec3e3cf2deaa701718fe77dd3b3cfad5811c5275a097d980e157130705ad5cd3f14276dff";
+  sha512.source = "c6c2127c2789c2717072d8d08043ac73a86248d71dd542d38dcedb3a36947f7ceb99f0246787e279b22fa03dea554a6afde6438ffda3fda6143027a7e6f1d78a";
   hasRunfiles = true;
   version = "0.6";
 };
 "logreq" = {
   stripPrefix = 0;
-  sha512.run = "58a34917926aa3812b4749a5e539cbd41cf53111fbfa01bc0295dfa70e1a68a27d6fb38b3709442ddd7baf6d77d20bf15036ba22b117abc4dbf3b037c58ef627";
-  sha512.doc = "d554c411596c0cd66ebf4ecae5c56136aaacac0460dfe83cc7ff377ba5494ade31a887555533ac90269d56cd2e16ecdd8a4eaff89172f53c99e8b2ff62aadf73";
+  sha512.run = "4c9e5f42869e690768515d49f62aa5ef7ff2d9de2f42bd1b574f95b7903958a0506d334300f89b38955fce0c47bc65e4c3e17cfd04c5b6df95406e6b78ecaa2e";
+  sha512.doc = "5addb710e2948e67f6369763a74d31bd3cb20d847df6cccef739fad3b34abea8663d00e7304cf47309baa74086a5cfd581bf46610ed3d7123ff74c426fec0131";
   hasRunfiles = true;
   version = "1.0";
 };
 "lollipop" = {
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  sha512.run = "9d388b2970c9a393cd21bfedc68f0a250dad62cf4f728ebc0313d25b1a461025661efc2744f0e85920ba674596f98c9a0af987839b31a1b23f2a797be887ad7b";
-  sha512.doc = "551c2557d686fe656158f2bb754fbee843ff251c95e0e8ba6b43139d81702d335897ed32c28143c910addc87f3b9e30acb8f563753084faf3d9cd657a6867157";
+  sha512.run = "81557b83acfa4ad42dfa6fb1a65ea42bc33885da444ee23bc3c67a899df7b3ac2c19a1607305b5ec10b503980365c5d29ac3598339fc186a05417ea5bca60a78";
+  sha512.doc = "206dee2be733e3ac04b5b259862b60fb3641fc44ea182da601ca54a010ff8e42f254dd01c03be7bcdd2a6258110c567a596ee82b4eb74d04ca8ed70e50cd6a86";
   hasRunfiles = true;
   version = "1.07";
 };
 "longdivision" = {
   stripPrefix = 0;
-  sha512.run = "e5b8086954318877b30f32054e42aa9361224307e51587afd760ff4435236d636a3248b0b8cc53ef106bcfae35f9d8ee948b9b97b92a9beb069b5bf71e788f65";
-  sha512.doc = "2ab1fa5483eca5da8bc1077d25f892691b282ff6369e6a32a0a74fac52765f99bafd1a1447f9c1da0971e6a87cf29b85bbfdd4acfd07f2767a85b304147dbc39";
+  sha512.run = "64669ae90bcf3c98d4e58e9ff016bd03e151f57a83c6a98e71eff714017c4e9bab95694d33fef3edde79001f0f90a54e4f64514488b00d1e373122914064d8b1";
+  sha512.doc = "679f3766529588f5319f511178ab84e636d9e888a3f2cffdb6d94384042bcc7deca14821fb5010e7bec65614bab9adf336346bdcc38bc8908a29a6e9266cdaf6";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1.0";
 };
 "longfbox" = {
   stripPrefix = 0;
-  sha512.run = "9c8ea6cbd1781da1c66888e140853013a9561010d1b35d66def2715773d0bd4d655384b0c257a7c231c5da919d5a68e2a24ff435495bbf876baac4b5c167650e";
-  sha512.doc = "d16a5f3ae1dc654ec04c24734eed5f2fc856d2d9303034c495a85d98ae56253af19c0f630e46dc1b1311703bc72c12cef81ed70c7349058e33f5f7d2cde7006c";
+  sha512.run = "43164941fd7ad91fa304aee01c3d34ec1faf8672549ae3b2711bdd4c91ae57ecbdcd8b29080d6c96cc64a73f7d7fd74c8621a70604a29dc1474f3c922c34a4c7";
+  sha512.doc = "fb319a679631e56122535b99a187d3c2ad5400d4a1f00275b73420c43f98e8b421a4b86f77b868c68edb39870132117de3310a00bde82f6387559c6adf34a8a7";
   hasRunfiles = true;
   version = "1.0";
 };
 "longfigure" = {
   stripPrefix = 0;
-  sha512.run = "e38e10c7250523bc0707e3361337b65989a26f7f6bf4d90956105a525d9fbaa010310dabf9867252a5de787e9edf447c46ca62e91256dfd0c4e4a16268a658a7";
-  sha512.doc = "ae8b67cb06b1945f9bd9a7195297e5673a4ae06fc174d46d5a8ad78c32e0d92dc38cef116d3721a2e9c0fb551ab8804b5f1d4279677634111e2eb4a884d46e29";
-  sha512.source = "603be3e5d39781642264ff56f6935b81b604ef2696d747bf6ff3b98ca7b9cdacf3b70705395a1442effc839c4291ff6c66c8a2fede0f3819d73184515b922491";
+  sha512.run = "984f10c8a2196b490dbffb015f2aa6449e8db6475c2f02dd71c92d5a3f6cb5dccb98a4c4f923f6efd3bbb1056aa8e64f324e3d8a051c11879677addaed8d3f06";
+  sha512.doc = "1f949e3ada113710f40b6d2960bb01ffffd3f9d26a65fd0482644da2a20c5375454c430e1c7d3b74cf872cbe486ccab9a4e71567592da5d39ad9e72102c382db";
+  sha512.source = "03d73c0d0c30d0c69f1fb878dcf843b26480c5005d88034e6f09fce485db3cf249240f2e39f591acd13556cf06677bd567857ceaaf96ec9cd0178f8216323be8";
   hasRunfiles = true;
   version = "1.0";
 };
 "longnamefilelist" = {
   stripPrefix = 0;
-  sha512.run = "dc29ed649305de90006c904136029876299bb1e666841493aa0ec8d9416d6f7faba64a3de124418b9597752280cea4dbde89572f8407c54a6f3c0290fb9d172a";
-  sha512.doc = "faee6701f47a99c56f75dd3f25c350333cf038f1a0e026aa1c31b579d7ba631ac0715cf28bfd8b2ef442ca515898439a434c6f8a929325ffa2e2a43ab8c6c7d2";
-  sha512.source = "7a67ba29a40af37039eb1e443a38e00d69ad47044721a6386502433a19f00924e27ba813313c694f6b54a1f369cfcfd18b1852e52e57f5761efa0699f4e20e93";
+  sha512.run = "1d16ee9c76784c5124de3abe62b6e916d0f65e979a18a721ef688a960e5d20382dc976de0b68d95c47e9651ad71a67ca97a828f1bdfba8e4a77ac084d7561386";
+  sha512.doc = "d909908d763342790b8ab56d333e60d7047894472f3922a2554581a5455539845af72d3867d0a55f5a27e982aa8128ae1a948f40e106fa127f2d01156b55ccf6";
+  sha512.source = "af1383755b422a3bdbf7af7437b732a39aaf666c7244e75d498b1252d3644e58a18115a744c4b4c7fe1433f415b40886868faeb064b13647452d444f64fd6f9b";
   hasRunfiles = true;
   version = "0.2";
 };
 "loops" = {
   stripPrefix = 0;
-  sha512.run = "6502eb7ab20604cf277783a0435e7a2a41faa3c8bed6f6c79b30c78b88d4b1dfec33336e0cdc85186af7fb9a64750ad3fd261c438f3c852a44470a16318e7b30";
-  sha512.doc = "28e7841c79b59c9376269369a45adf02a6798ddc8b3b69b001e285bf7af65e98b66680903d137af061a8faa7e1dc25740b19af0257d5e418daa715db3f177fd1";
+  sha512.run = "60ee6999e43ba9082c5a283dac5a930c9075b24f6bc7cd3f719b0336b01dfcb17fb2d5e3c82b9f1636c9bb3e6c923607a3d9237d08fbaf17bbfc1196d0a75281";
+  sha512.doc = "9d70b3ae88d64bf2710157db88113224a95947aa03f11a2eb659c61109a451e2a93b2aa5ffd6ce9cf2f1b5fc8e0ef815850a0a9f27c7ec5ddbfbff1fe98ecaa4";
   hasRunfiles = true;
   version = "1.3";
 };
 "lpform" = {
   stripPrefix = 0;
-  sha512.run = "0f8c3e7f5e585a2ee6d08f397b486aaeed2a9d0af22d3d5391a529a6a87a828ff713b0e3dda1b9eeaa838235e55437ab8660502d57fa2626b8045dc9e918f22a";
-  sha512.doc = "f80b14818c5f7a0fc6cfbcc8208490c41089c0c32bafd7ed8d3b68a81d3372d739d818dcf5085e861a14a8f6bc3ea28851960452d1d24cbcc45eace6dfcc75bc";
+  sha512.run = "91d5748629ad72ca421834ffc61c13f71240bbcaedf9f0e4279bc6aa0bbdc817f093c24cf5a9c50d5a4a132208969bd356642fc5704ebd5c4ef2b7eef23f27ac";
+  sha512.doc = "92ddf3b473e13fe8b77ad955d55acbe7a6da34381bfaac78184342a900f2c9bb1e0981d5ebdb440cf0f44affe2eb0dd862f9b51d2a40c9abd90f1dbe81584c9d";
   hasRunfiles = true;
 };
 "lpic" = {
   stripPrefix = 0;
-  sha512.run = "d2427aed695fe956fe90c485233bcd1189603e5f522bcf76d8fd9bd6021ca02779f23cc1c8da70628e50537bf1c2789bec5d77d0dd2b615008f8f5bbb16c17fb";
-  sha512.doc = "85800646bb25f9f33a706bac57716531779e8f5478d28b536a818da52b600e45ebabe9a74c05cc5fb460ad247a10f77589de0377ea588f5643f4ac20543d87d6";
+  sha512.run = "d918fdc8744a9f5e0d24f6ba4f19bbc4cbd9a5ba4b3c559ab1321c36a9e3599ccf6ee849bd7f2ef6c3156cec6e526a44d27bc033b7dc5b217e289fdbff0bf149";
+  sha512.doc = "307109b75129099c191a65a7632ad0cbc903cb2b621b199dcceb7cab5ab5ddeff7ee504d7da3afd653e1aac04236efb6a3c1225f9e533a777295052bcc28d2ba";
   hasRunfiles = true;
   version = "0.8";
 };
 "lplfitch" = {
   stripPrefix = 0;
-  sha512.run = "1cab8b037e4ccd1f88f41d8e3e5eb6226b164fae639e36144a9a0fb6af2cbe3bea17da3a8f3faca1b98f4974e03e20ee3725f3af261375742ff892f82289e2e7";
-  sha512.doc = "be7d76e744b8709e9bfca3cbe777d097c8992837b4fdb9644a5fb200e0a64afbce2620bf4d68afe266daebae3f5bbe4bd9fdc509845be670b2b514df1e89966e";
-  sha512.source = "db4f1b0ca58ada86db43f3980f19f7d97f636bf6510676cc93011d561550bb51b475b5bf3ee47df05138cbfdafd19b07b0d6d27403b02feb7f2935cd549b1308";
+  sha512.run = "189b9d6000d4b762a3c64652bb05f9465d5c789b7e2413e8f0ca281a8d4729a3044aa955ad7eb82c7b8513bd547bb76c2ad2b609e902b07f8f4f018698e17071";
+  sha512.doc = "a690ee2c1f9cf5eb36693a4a9385c047a31d29387930211bf6384d7cbedb3d1f1696c0c04269b02ef29b13ebccc69bbc329772f3fee209a1b1d51768484f9a50";
+  sha512.source = "b06b45d992045111d1a8aed78267519f8b959415b00b94f75602b35cb7d37c47092e726db881d9094e82d3e25492513db66b210603730f8119d10e60819ec89e";
   hasRunfiles = true;
   version = "0.9";
 };
 "lps" = {
   stripPrefix = 0;
-  sha512.run = "34dfe55cf5a772a2d0c6019f4d8fa4036e5ceb75af1129a6c2142995a450acb42679916fd46667ae4ce33134231eceb8a29dcc20c420a963652d57f581b4b1a6";
-  sha512.doc = "b74a9055eb66c93a1231dc757c5c5e918623ab4ff329d0ca3782e19cf7b430e970dc23101feab0293fdc9a23b970e5a238ef780eb85210403a431497fea4bc9c";
-  sha512.source = "81c74b776b4fe73c79d77995e8e68cd2743a335c049809088396f452b441a04a06512b2afab7e0faba2347732423ad00be2dd33f99c2062d7b64be00e881906b";
+  sha512.run = "8bc59b5d8874fca88bfe62822f2050f5dee0461523d853a1c92a051e854ddd6a8b2ce235a674bda383f26ad01d6e18a83cac87db2ea73b4af7e22e74ff823d0e";
+  sha512.doc = "a8ad542b5d2c28a9a02b5e4d4a43a13e2f3469512cf7264eb7ed78e2c5a29228531de3be7e84e557e3cc8a9ad60e59ca426da3d5e034dae6b40088ee99d2fd94";
+  sha512.source = "d1ae82c4a55280183a85fb3eec77306990f694f85c5d6b543b4ce4bbaf87a01b7fae2d6892bbf23587738079be503ac94b6a68b372ca1948863ceab826975a85";
   hasRunfiles = true;
   version = "0.7";
 };
 "lroundrect" = {
   stripPrefix = 0;
-  sha512.run = "50caff961bfa572ae9ea36ce5c5afba0259b579eeed5308e8261b040d4897a45fb1a1f62dbfdfdb85c8cc2a5cd1314b18b26b3af1ad1fac5a7b327dc792be4d2";
-  sha512.doc = "11ac802287cca62b5e247641edbb5745624371cf64d217cc19fbaa052886bf2c5a97ef89084ed09399b59450bd0166bc38ca5837e79d3e32f5a7b1802dbf999a";
-  sha512.source = "f3a639815cc18f096daff9e982264d023ac4a2c46f7efdefcff01a88c721b8764772cddb96115fdb7ed20253af15574ede670a8e6f22e1175cb7d74611ad9fa3";
+  sha512.run = "6e4968db6d4593fb0ad66c58b7977b77cfc5ad29a8ae8648bfa0f7844d71a809e0b381acfa4563cb1795177374963ddc10e8fad8a62c1523ea82288c7bd02087";
+  sha512.doc = "12e6bccf3875f4045558df6e274a13f60fb7845a998de2e8a722168cbef2d9003224f02e379bcf0752770542aed15ec1d1e680a54e347763b554535ffc2e1042";
+  sha512.source = "cf39670d2c17420b2283be3264b163f7d4df70288b6c974674cb0ca4d52e3d7f99766f9f0c5b8636348aaad2ca851d1c4b3d530a2a85567a1bec2804ac5d70a4";
   hasRunfiles = true;
   version = "1.0";
 };
 "lsc" = {
   stripPrefix = 0;
-  sha512.run = "134bc263794be8b2a40db93708a6c74a58c25920994d406bdd81d2a9b8d900a75a9d26683c34782535ae9047153b969dc7c4ec7c4a7466925901afd1440e3164";
-  sha512.doc = "f7f132878cc277c6cf1556fc06971b6e312d40f2cf135a5f2b4d25a7afe074ea1f5b372e29eb4576208ba196faf27b00524345b5821190d5b844bb8e9f834949";
+  sha512.run = "f61d81a49c25972e03120cbf6557d356d6df6937af6e0443e47305312485217b6bb5c0818adf248fb860ec5d42c07fc22fdc0c54f9dd1f3bdcb12486350316da";
+  sha512.doc = "5d0550421ee0657c378cc1ad8159e16e43644f533e3d8a013d917c494bbb8d11cba79b99fcaa7bdcf8ef5f5deb88d144ed64d75a5682fe4c4187c60c634297f5";
   hasRunfiles = true;
 };
 "lshort-bulgarian" = {
   stripPrefix = 0;
-  sha512.run = "feb356faa485a690aa54ff3541c1419bc6b7aab289c375d6023500bb964642ca9b783e24668d7b1f3379478798edda7e34ab3cc116c4b1f8305df8c163032f1c";
-  sha512.doc = "8b0cbf5cf602f9adb28a5a4ef2ba9b7b8e17ec295e2f4ed07c7cf5b154aa8443131f1f2e642ebe24519f824215c5e5f40f2b737c619ef1d43c10ac92bb5a6736";
+  sha512.run = "b528c16903ca8ed5ce69f5e2397dff8f05b13016384bc1304980cad71d86bbb55004d41db92dc29dd412a12b9a0a1b1ea99afcbea621a25bb20da4639d008776";
+  sha512.doc = "7cd22cad45d7ef2972679cf2a3653c3bbcb1d9bcfe94a65fb9dac23760de05b659470ca45cf8be13513924fa1cbb98599a304a51bc18f8f4d6631f082e662bc4";
 };
 "lshort-chinese" = {
   stripPrefix = 0;
-  sha512.run = "6cae8434df31fb2f9cd0dc22f1b7f5081ea09a723290249101ec11c4d55a0aaf2edf4ca65844a0ff454548741a8890b4d5aaed6d8032476a8213f49746f0c55c";
-  sha512.doc = "0a7efa433acf59b693635a0b5b84a882147859df2681fe94f786bb248fc0db01370fa741aeb1fae50069f12bf61e1f2ec7a2645106e810c7120e348b6b684504";
-  version = "6.0";
+  sha512.run = "29c47ba7c96ea569e85df3b94962bb60e9d81259c9a30e04ff2d51bf667bab0fdbebb658f432907f4cc813bdf0f14acc0cb28b24e35f98a9e4278e1c591e6b4f";
+  sha512.doc = "5365dc7936d87d7af00909d9f3f3cbf4f0423777862407cb264a6a2d73ab9ab90586f7396ef606baf94ac95257742fba43aa1a4b48f59f01cf33bc15ae62b572";
+  version = "6.01";
 };
 "lshort-czech" = {
   stripPrefix = 0;
-  sha512.run = "cdc1edabc81f9153b469596db1039d664f4129cbdf07e30973097dac4d6fd84441b4015e2595b0df68130d3581a3b591f807348833b2a2a0e7e48a1318b38dac";
-  sha512.doc = "1fffd62d69fd1ed1a04cee19c5527896e2b992ead63fba3dd24231b897c5dfbb095ade4cbba96f6a8e8cb4c295f9413726bbacebce84c7d3d7967a25be6d74d2";
+  sha512.run = "feeb9c7244f686767c5f72ab3da8aa2bca69af7e6446e1bd8eb4dd858ef92e4a4eb6f42cf8d429127a20e84cac894732f0e05a360b47af02f67340b09311e495";
+  sha512.doc = "03295ea4bed83fb67a370ae547945335f51f6441ef913aba0ac3364f258153c6f5013d57e6579f3be6a9746a22cc4f34762871569d9d68c0b0d2acf40127fd80";
   version = "4.27";
 };
 "lshort-dutch" = {
   stripPrefix = 0;
-  sha512.run = "0a24122f4ec08cdd9d93d70956f43ca1f9d51c6b21c5048eb8a10f1d906ca1704190f7827342fdc2bc70e87492e3ce137340594d48fa92095c1a55e35dd4cc24";
-  sha512.doc = "eb6dbf050ac838896dcdb69c2a9e0708b3f3845324e429a81b824415e0b0b374c039b6a4796ffb01b956af5ee060cf6043f5bb82797a40cfda90b763ff334272";
+  sha512.run = "c8635db5888817d392706b8b65aa5158a4973cf236dad7fe31a9545857daab15a6c1f2f82ab06e71e50a4af94824b17ac89c394a759721e192966a1f78433d47";
+  sha512.doc = "29fc8b6a2645f241e8af437de3a295be8d56a088bd7c7666c35b14f104f242e68ecef2757d62a393400d9f337eb685e48ebac06769259c723d634312a7288ab9";
   version = "1.3";
 };
 "lshort-english" = {
   stripPrefix = 0;
-  sha512.run = "5c63912111f97e4ef3ad844b5aebbbfc87e06bea0678581d2d347950a28adf28ce93126953083921d562a608e711c082cdf94ee2b90b64a02e9071facc6ca980";
-  sha512.doc = "d6c1c2ea3ce26c4918ae97312aebceebb898a37b7dbdece04d021ef31d0b47daff82f516b6920642acade1088b4d144d551c4d1d91221e02e063202566f3f46e";
+  sha512.run = "88214b8addd6169f3bb1168e2b3eaaf9786e0c20e9261ed403f8ee6c95a22252426438b75d0ef74770ec26cce1da012ce0d908df03fcf1aa0458294e8e6bb603";
+  sha512.doc = "14a1bd61570b2445bc8f38595260aa791760a0bce82419acfcce0109698b5600b727c78233edf3cce25b1e2b17dad97cbd8829b072fa7b33d71a3949fc74f303";
   version = "6.2";
 };
 "lshort-estonian" = {
   stripPrefix = 0;
-  sha512.run = "c2a80570ceed404aaa393b0810ced1ff86e03dfba94e37b8fe7463c885e3587471dffa5f9df55a3fd18192024c64769202c5d2bd4b768849e89fb3246ee04797";
-  sha512.doc = "b6f62aa6897d2413b62d47197af2270188705602821076b072c5f8a3dfbe94b3a39423b7251373f3bc822b622a386b32ef9605649070e77e0614d54964ab5151";
+  sha512.run = "6bd3c07c1e5f9d543b0f67a5585cc33252567cc346a8d7feca050baf8ab437be97e73d2c4b4b159102e9c4772f8cce2abcbc25486d73e976b83a3d2f4b9e9487";
+  sha512.doc = "e16397fac3e6cefa699b412ada1851c7792520da8af1230274fa1a337b890629b68f71d94b3894044f28e687c6aa60d766377e12232d0e522e82e18dc97428e3";
   version = "5.05";
 };
 "lshort-finnish" = {
   stripPrefix = 0;
-  sha512.run = "fe17b0781f17089d3a02754bcfe0fd07cc27edb9236761f75748110cea98e3360f243ec789a12307597ded80ca94403781582e598009239bde7ccbd3e3c20ea8";
-  sha512.doc = "4a4f2cc42bc3cfdb7318e20e16304e3f79a082ce58d703b3cf69359b339f9c4e393d62b3d0f87c8b43e9058439963d8031bf5b50acaa6ccbbf8681dd72a9f75f";
+  sha512.run = "997db393d16942e78e4f52eef886ac7b14cba7ec3fd0c88f8c2cc74fb6b35f3802c58c51ac0112cc2b086f9c3b965b5f8d508ea81a36edb7da1ce84ef83cd203";
+  sha512.doc = "71c2e5c4d49a779f529a527cda5fcc6e55cfa0149fc2d9272ae7e69aecf2a8a361b057bcfdf5deaa7791073bc6252c3101f5ce0b8d231c779e99c34910a3343f";
 };
 "lshort-french" = {
   stripPrefix = 0;
-  sha512.run = "426e30c7d83ed107f5f7821754bea4604b21305f53de6bd11ae24e94ded4921ef80dff7ae6ce1a133e093e0a6c47484090867086765b3f02cab59fdc77503256";
-  sha512.doc = "14d7bbb0906448253fda58ba54dbdc09caa582def3b629e42f8deebf3fe240c029e324b0d9daf407fd4ec4c39850132e5276f5acdeb8d4cfa08c8dd7d786fe6d";
+  sha512.run = "1b2ab00e9e69eb058afd96c1ed099b8c783bb97bb52411cc907afcc82d43167ad6e2023a95671e90d059ee43ae335dae3401cc0d1b53c19c186992756aad5060";
+  sha512.doc = "2974f067584486528adf42a13cad28afd205f2f52680e89e8de33c4c0debdccb2d0d9d8259d6e2adaa5f86af0b9451232450d40ffacd9f63c43af2519cd8a06a";
   version = "5.01fr-0";
 };
 "lshort-german" = {
   stripPrefix = 0;
-  sha512.run = "427d12c0184d0ad90e4408e81358448ce0919cde5b0058a3472043b7990ab602102c127ebe43fc3cfada5c0a63e0ae05d5499ca4f37885e09437f124984ed518";
-  sha512.doc = "017a232c60b72daa02ddd4fdc38ffe0ba25532a5fe7825145ed02f0c8162a1c8b2e5366d915179293503626caeeb84362394483e5b634d14b72454a42f52024e";
+  sha512.run = "92795389c811be26f98af6df5bde8c521ceecef1861facab67622811a9d6859ac83daa78f0f37257588318a87214f1ece3f0ada40790661d09938914b0cea437";
+  sha512.doc = "11a2745ff16418ad28dbe1cf4b88225a86899c30d102ea8fa6f3775aabab102772173335cd4985b8fa9b53e324e060ee11d8d31ededf0f6b7f5020443c835331";
   version = "3.0c";
 };
 "lshort-italian" = {
   stripPrefix = 0;
-  sha512.run = "69183fb3f161c9b964208c2a7c434430ea051d18eb04c585f90295043709d391b6aa6e93e4c5e3f4c76c441dce78b1128ebd808af115ec1d3febf0f63c22f26f";
-  sha512.doc = "353a087a86018147ad47258384a84dcad217333c3e3df1c9401284948ae9aa63179a2a2c0b68e47d88bf5407624bf15c8b05b913165db7635fec7fff27df916f";
+  sha512.run = "b92c1566d1a7c9a079d3d770e9d5bc8e33e61da53100c3cb4617e37765076accd16b89210da12ff954e25a97c55d8a2168f81789ab31c05f66bcd6a19168f719";
+  sha512.doc = "2f46613ff2ebaad079a8f2bea6756932aa9dd0840977dcbb8ee195072c1d8c590549e362dc979e9bd373a46ec44d21303aab72f351d799d2a7a3f5b6883e2c06";
 };
 "lshort-japanese" = {
   stripPrefix = 0;
-  sha512.run = "27c64952e4d1f9c90875dd3d3343df93a6e68a3c87d4c970aa8a357d972222d2c00f8bd7c229a0be0ddf487aa94e74b313381e1caff2d6fb86240f3c39c7212e";
-  sha512.doc = "c101d56f2f127163c9183c57d2c1a3aa7469a1a8567dc538df8550ec66aa0ac4b489deb40188c3266a2f591d38be0f4d3ef784811ace91ebe5f7d5acea938453";
+  sha512.run = "25de64f37ca5811ce39c8efc3e895c1deea317c8dd02ac3e091a41ff11ab7a4730a0e476d323d8375c41fd60401cf441c2c15d614a090092d66413701500d43c";
+  sha512.doc = "83292d42fa21614a055420eeb372ae5cf21a9a15b999e0b39f1063f63ee7fe53f77ce771a8aa649e860827214138fbd435161cb3dc4b3fdf2b75775979d904cd";
 };
 "lshort-korean" = {
   stripPrefix = 0;
-  sha512.run = "3040afe9879dab6322683645343f4a0e2066cf756e6d0881a3d36f0ae65b2e56985fb964f6f8874a642dea4f57dd1a70f8032f8c4dcfcadf0652ace943e066eb";
-  sha512.doc = "1b1ff951c2131090aecc26603ac7bb30f90c4542a4bb4402f0fd08698239090cd5045b7572847aae18cb9bd6c47a0ddf720af9d795108b60e9203a23f6a4ae28";
-  version = "4.17";
+  sha512.run = "3353534a09681a9f1187156bb6cd9a3b4586b135328a7ce606a0e3ef15844d57ac76b5b55ee7cd42b1dfe3d67f784d4f0682c3ad0af0468ec2433452127b52ff";
+  sha512.doc = "046095e09db9664f68b985882ac92da51895342c79a34f8045853df40d868a2d60c1189b93e47843ffe6fd4ecaa5e7144eeb68bb2954190a9d6bd99e9bd50de4";
 };
 "lshort-mongol" = {
   stripPrefix = 0;
-  sha512.run = "df7d79307a1878641c0ef95ee30852a748aced24cc99612bfe40c83c893dc5808890915917fdeee3c44f407d467bda936f4d819fd67d1cab97be36e4194694b4";
-  sha512.doc = "576e1ab332f66eb8261b51669f09da98fa543766818b26df6476bbaccf3a24164d11cd85e03233f51377186c80bf28360854de9d68d17dbc26db3bc6a1b85793";
+  sha512.run = "464b6638ca4bf859ff178238625ecdb7016598fc98c476d3e4b2a24e2f34e6096edef5864ab325ab4df21bcf309a8467deda80b385b624685b38b538a0d40b8d";
+  sha512.doc = "cb60632992b187e5cc80973b9e9848675b464b075b13356db171c1a7613c94dd9bf8ea53df47e0c36c910772316f4c43857c8e638819d8ece7c1ce1790fc9d29";
   version = "4.26";
 };
 "lshort-persian" = {
   stripPrefix = 0;
-  sha512.run = "20370bbc67384133a41755a1ee91306170c9b5b7131af042eb088f2cf41413f618470f0baf3a9e5036089faeeadb6c35285a8d2cf0374483c0db4d0137f73e0f";
-  sha512.doc = "21577f3ec0ea5196a8b7719d26a6d8a89e04192529bde730304aae0d24f558a34a64bcf96ac1f6055f7db69a9c62702559fc893e884eaee601d219fc9dd5b0ec";
+  sha512.run = "6430462b11786fe3703e78efc9f1486da78db15601ae31e72a95d516d10a098c8b4c5dc9079490e652c57369698d3b4fe4d75b32c44ddd2a470aa5cbc79ab492";
+  sha512.doc = "9e7c43f3df8299db4bfad3c0b270c5b54a1448370e6782d095dd9a9b82ccc186aae98da86b2efe71c34031a5f4a07f54f4640de6d8b6fad913252979d440ccd1";
   version = "5.01";
 };
 "lshort-polish" = {
   stripPrefix = 0;
-  sha512.run = "6ad3d6a8b22c00c3609dcb2dd0029a7da70f0bf5c78930a6f0370fdcc026898d3b3aa93ba6f391af51c8c428a07a2f45e75d6d3a05032d2d3d62ec55e6a812b7";
-  sha512.doc = "b0deb0f9fe5d1db6eb6d4a1599b612d7df05d595e44946bfcfafa951f77c7231d00e0415dd3de5dcdc20e1f3b9c2181245be233a67328457a7db23a186556f2d";
+  sha512.run = "13c52981d80ae9f9da34dbd14abedc166bb0abfe3dd31ba11f684b5912869be62e61a28d57d93dd81fe46f4d694429b3406bef774fa8b18b9918989fb839bf31";
+  sha512.doc = "a284230f6599cef5fadacad2a3cac07f829cc8ba35a64b798fc76839b57a8867f745ecebf75d41a0c3bce05b3b868451ee141c65fe0dd8365d1807a38b8dc237";
 };
 "lshort-portuguese" = {
   stripPrefix = 0;
-  sha512.run = "42f40e4c0de0f1243d6a5926adde4eeff6e909f239c430c2d1a69a8ac911943248ad0e2c62cd03eb4f6e4d9cdc7569ead5a4a52ca449e1717e0fb2d4456b3111";
-  sha512.doc = "ab305db94730f95770b975c9f9c8f7dfc09080ca9bab06e9e159d8d012038e874e43ad79c92716cbdacc6bed7949f47268e233e26b3c38920bfd944c520fa12e";
+  sha512.run = "2c2d56eb0313dff9c2c102ef9d80d8e6029e35ab1ed8df5442c68b80fe4d746b3fb36b91b40cd831127e3004e1015ef61bb4b1c655d4e521f699ffc301f6d98c";
+  sha512.doc = "d9519e2dc7632c1d933c62696aec95402ba0cce9fe6ab74758073f23ff474cede7af24d97c9a480e734f801547c062956cd4541dd61064d004f00410de88bc15";
   version = "5.01.0";
 };
 "lshort-russian" = {
   stripPrefix = 0;
-  sha512.run = "a7dd5c673c83499d569202f136cb768e3d0222ab6fd68c21faf602803123c30545530d5ad9d9bd75415f06d6c78247056de086339d528679719c144fec832b7a";
-  sha512.doc = "c72729aa6600b58e71fddf3f11fc28db46a0ae330ab180234b40e8d096bb206ca2d1b226754126a64b876676d3992342e6f0be8f5d75b41b20cdabf93f704909";
+  sha512.run = "71e40e2502db0706d5ea1776c49888a05229771eefea3d17b8260d489099249c59ff3b94f53eed14fb7b53806e1c29f99386cb4118bc28e2bacc3dc3875eaec4";
+  sha512.doc = "65183cee479c3f3afc909616f39c6e8a51c4032ed67563709713d8c1d9a6d2f681914c2ace4bacc88cbf37a4bab4fb400b2ec108b257b4e3e67c0f0611de6eb3";
 };
 "lshort-slovak" = {
   stripPrefix = 0;
-  sha512.run = "08f3193ba3cfbbd8c04bd4077f53ed56b8d7add2efe9ae5daaad916f36f23a66e1d4cc1d4016d5211d1b8028db06235582be442c8ab5384f3e37ace5f1a2430d";
-  sha512.doc = "ceb72821d0c8d3c34ba723533ffd9c00ad926bba968ba10bff45dc336ce878c55cb5ae7ee38236ec839ffa64b32f1f429831f2ae6c4e29c8ba307e48db2e6e80";
+  sha512.run = "bf3821d0846701c2e45d89578625f517567d401d613f5aa7aaa4cdfdf8c4c4f87abec22d6fccac21b274afdba9c29c21a6918fabef77f4cca506071341b7cdbe";
+  sha512.doc = "8ee79c17e5ccc9dbb9f833b4f8927b22e7ce368f49f4d016fb936d2a5ec964791d9473b679a037d704efb269dc6caa1344168927a90a8e859527c64b0410996b";
 };
 "lshort-slovenian" = {
   stripPrefix = 0;
-  sha512.run = "057a284e7cc1f55a4d04bf2f50ab28b854937d5b09ee2831be52d6d30e0e7759c69bad9a9ba1e91db6d6a33e93bc9bb1cdfa9dba698abbb77ec018df505cb55f";
-  sha512.doc = "a616266f37952d1cc8f8372411398b00bcea232925eb702cc1469b43ba2d0f25bc20e3130f195efa0cfe8fccae5992ecc2ab680c8a10611d09d580f10a1013d4";
+  sha512.run = "933781a7b3b3481ad955aa346fd1011f9e6f8b27cdb4461f081a31331e8dd5fdcde72851b44aebfd9707a422c133099790d1f304c9f24f35d9fe2e12927061e8";
+  sha512.doc = "21a7611b67d9baa0065df15e86b38872f057bd4b3ed2a337e19f52a5ec49b409f4b1297d7d0ec951f40d0b1b4cd18cba1f1ae33228142ac27178520579659065";
   version = "4.20";
 };
 "lshort-spanish" = {
   stripPrefix = 0;
-  sha512.run = "1475d70a9e615b9d64cfc8ce6e1302f3fb11110a927ffa52ff1d4e461af4b7e0af620a21eb486544bb709921c7f69e146ed8bd38a85760df22703e701336460a";
-  sha512.doc = "c76c4bb717d3d19cfd759042ce69a9fcca3f7ed8bdf224f3ede6babaa12e6d766855af9a5199e180538d9edea44adc3647bb6e5e6c552d1c537e9ced66174eaa";
+  sha512.run = "127fc2d598f16d38b075b4a9668ded064537f7056aae34bdde22f89aa8d301d77cca818976e22aa036f47867929d30cc47e02ed3f724ea26279ecba723e5baf4";
+  sha512.doc = "f968352fe1e32a918c1d5ebfce16d3975c436539349af22b32bfae1ab06061ac2b2b85feaed3e8a28da89956f4d5948e7d1a6426766144b0c0ebec72ecfe99cb";
   version = "0.5";
 };
 "lshort-thai" = {
   stripPrefix = 0;
-  sha512.run = "f46476d48ad6d1410584f5a4fba1e95560077774b9a314c87bc890d87d71c2ea35fa76b876aab56d9f4ae8ec7197a85affada59a60da977f90ffd168dc4a83b9";
-  sha512.doc = "05f657fda3dfc0bb25394b6464e00a5dc50e5d71c9d2c4beb02951ede1b95966edcbef26960f4120f484659fb0afbeb37ab75533406174abe00feee738a7b7a3";
+  sha512.run = "924081bb5ec18ffa92e92f71a5eb6da893ffe0b7460f757360e3bfdf15c08d4cbcad79b4d45cff702915b98ecea16212c4d5ab237c11410376677de527af71aa";
+  sha512.doc = "a9522c99f62a8f51eb751d220495526f40cc7581b8d0fb120d6e9510b1af68e2c97158ec54fb220dbab4fc8d0070c93027741b549d01cfc3892bf373e3320f4f";
   version = "1.32";
 };
 "lshort-turkish" = {
   stripPrefix = 0;
-  sha512.run = "5379e397748fde4cecdb4bbdd691b2e84be7c02168e0c061f48e7a93ecb0d22860de7ce11bea905de37bc1f2d738c3bd074daca72fe5354db1a61913f7c04caa";
-  sha512.doc = "32dda88db535c658512923ae650b837507534625403d927e92bc45bb8f55d0bc7a3585f87ff0798101f05fc82460754e0ebf22419ecc2e262b2d82bdf4273bac";
+  sha512.run = "769036083d282ab95c5f1fed08d669dd4fb1d2dd7937e5a4e2fad54e20cf56ce3d5100b7aa612cc59dca50b6ff67fbbd5bbe05c085b6121654f873fcb991609c";
+  sha512.doc = "3aad40a5de5eee9e59064b15fe3e9c6a2585146fc21fdaf4683bfcba6786366c4ff1b3c38b6932426f53a6a9211809d4173f688f0878cbf2011d8982e3732834";
   version = "4.20";
 };
 "lshort-ukr" = {
   stripPrefix = 0;
-  sha512.run = "af36c0986487f1d3a6d8a6f3635db83754252b64bca1ccd7b96f0610afb375772a753af726a8e455514b82dbb9f539c8f7ef5beff3ce6c54957cdd3b1acd6432";
-  sha512.doc = "a8f7d18f672b1268403c9d38d3ade10492d6b8812b037f0e568c44f32e30ac5ed270ba44a7d87676bfe474d14e1c0a363fff0e5ad03f76814818e570df12a19d";
+  sha512.run = "18754d10f48df3ff86d644b772daf7f6530c4e03f0bd3373ccb12df2181aac26b4b5cef6bb673674b576a07fad2f3a13a5fde954a389090622f4d6f5ba9a4bac";
+  sha512.doc = "03b8947d0e1d6e9d331c6ce6d60ae485bfab1b73ed936086a21f26b3d87116de99e535cd42f16561d3b839c84cbd343f8fa3167b1c478d6f8d0df3964d800e56";
   version = "4.00";
 };
 "lshort-vietnamese" = {
   stripPrefix = 0;
-  sha512.run = "483521a1885f5ba39a2c3f1a1b972c2286a3d39ba999ba934116f41b6a9c2674cbba98d05ad5a1288fbccac72ce4b55767e372e31ecd47dfd65891373fd2335f";
-  sha512.doc = "367895d346df9e7bc74cc6c6bf734889143b9a439c4d02ad2812408a951d8a276a5758707216a201c14b620aa47fbdf2441346936484a03e8559a749c9e20eb4";
+  sha512.run = "ab9369125fa7283dc2a2b58999f57db3e5767e1e6810000fb71f2f0abdb693a60c2133703cf3427d35732769e393cf389733694aaa6d9e41f9ecf28073d06112";
+  sha512.doc = "ba2fc0eeb69f845ca306c7a03c7f7a46cacd3304c420c048284d248202a12f34b176d91244ca25892a64f6ab734e852ea83ad888684cdafb644da7d665a02b2e";
   version = "4.00";
 };
 "lstaddons" = {
   stripPrefix = 0;
-  sha512.run = "20ebc73c2627de5b41c1906e5656dabea141c07391f4b85a4c825b7752b9a424af30aeb9b33de89e68889bf158b1361880d293034e179d6ab391e6b47a8e6bab";
-  sha512.doc = "2edc6cbf09676690b722c1c15d73386a68bc60516bc1f54e0b9ceede4e1c67396128c38214e6180ad37f28d6fa5a05553901628467348128ba655af26b2be89f";
-  sha512.source = "686e41bedbdfb06af24c382f3a1009879159d0b32c5d2f6f2ae2600034573eb11b04e150b4d3cbb43db94ac7c804df28ef5ca6981e04f8763ec178aebbcef15b";
+  sha512.run = "8b2b14b28bcc4a3b4f26d2f48bbb59c111d4fd33d5479c20f7e03ac838c6b6631b99b1a5211b383e58dec74d70d9130af2a38e3b85407c4376f81e1b52c212b5";
+  sha512.doc = "82bb6745b9f2342628bc83f356313c0de52148eef25ed3ade22f899693abe190de1a09347ebd2d03b06a5976d8c6f42994e2495eb7c4e513ddfa8244ca258cfd";
+  sha512.source = "048555cb2355366b87d527a39ab64ca91226d366d52e2352c1f4d503daced739508e217893dd0d0b405e99b5927efdda0f68c780215c392494dcde20b30a88d9";
   hasRunfiles = true;
   version = "0.1";
 };
 "lstbayes" = {
   stripPrefix = 0;
-  sha512.run = "a18f1940a7d904116f51b0afc09228907927f933a8c18a6885ecdbec7f513a64dfca66a62c04517bdf37d3f4cf3a58df5c72fa2c14fd893a796bccc30a99a33c";
-  sha512.doc = "eed7a36914f03cab4fdcbf9b2090932d331b9f414efe87e4eef00b851013b06757bf12e1d13ee7850d5584d89d0fd39aa2f360adfa208bc6833b199076b743c2";
-  sha512.source = "2897cf1d1adc6bc8958696737f70b35ba2e26122c114a3231afb49a5db0b973bb607f26d4f6f12f5fda8c53656998da5d3e71d85f3c978637e9253e2be8b63a4";
+  sha512.run = "8089546f54a849fdd2b8cd1bb2430927a03249f1acb72bd9d37e9ce42770be2413c6ba8186a45eda8f52a3ba2f34e01e6073ed7acce5883d9407e4ccd86cc12e";
+  sha512.doc = "9e256d20493164eb1ed01bb6f7dc7f555d9617492fe14688c0852b85e27c1f8f7f1978b1352ea3294bea41f77ce505c6a5bf2910514240e62ce19c47c8da0ee6";
+  sha512.source = "9378291c820b65d1f1f126a47d6db40ad757009d71327f84e5b78fc4309d77272231cc892fb6881426130d6571b0e7caca7ee910117a9e2660cef42f6f0d7827";
   hasRunfiles = true;
 };
 "lstfiracode" = {
   stripPrefix = 0;
-  sha512.run = "712842cce963eccf4e1dbc843dde7a7194181d57a150c79cebd8975e500a916787f2654475177b54a3679034b3f041aa62851031a02e55f77499cbaa6539d471";
-  sha512.doc = "1a377754512e8bc785bc14d349d32c602311f8e79ebf06e894d429252e239fdd6c59a15d217ac21b2b4947453338b0322e53ec21a0d5b0d345e690194d3e11ea";
+  sha512.run = "d2752c177194f4926191245f6397ca1ad613e66708e245b29ed6719bfb7438cbbde8dc69a639bdaf7a4447d7737909a5dfdb465a0f0b446c0d30900b7d279c6c";
+  sha512.doc = "ab396312abc4174267184dc2d5f4dd61e4510d3b70bcf1b6b84685cbe2e5941d6325d4abeb1d08f85cef62adc953d4a59ebc5d99fe9d7c643f7d25c3d36bfde7";
   hasRunfiles = true;
   version = "0.1c";
 };
 "lt3graph" = {
   stripPrefix = 0;
-  sha512.run = "2731b8f21a5a69978cbcf7bfe12481c79d6029b9e7d19ea582965bbdf70fff2b42f40c579c5007d090647a15ffd6e88365e5da81a3dce2c8326173df20c06f8c";
-  sha512.doc = "9de47e35ecaabc789494ffc802bb95d6275d9c7af335ca149fc458bdb28b11f096de22e173b3c62ccfb42ec80ba4c8a2a59a925d85697491903dc8f4aca1d7bd";
+  sha512.run = "9a3137a56952d18f41337f3ea1412180d6a0d7732178fe4855d23647d01648ddefd57859f786534c5bf39cb622da11e113a028135429ca38e6ea3bcfde41b5ca";
+  sha512.doc = "efa314f54f3d7444931f4b7410c406fc89c35fc318882683cc97cd479faae00d3aeb58be06c9b174e59bbcc2bae57ff712983ba0c216a270441490866646fcfa";
   hasRunfiles = true;
   version = "0.1.9";
 };
 "ltablex" = {
   stripPrefix = 0;
-  sha512.run = "127f4cd2d9dc424dd4e2b7a0f60f1292baf81e53c3e17281851003500dc3959f714c714dc548bdb7a68bda2b3d480a7edd78f041c1ec574b1f3f5d697309dbef";
-  sha512.doc = "85cf455e32e95a6fe6d9a01c78997369f5e5479ff3b372ec80b91cb2da084ab4eca5c87b1e9ee6ddc98a4fff281aa5de0daff09922013197397b78844e8c5f1b";
+  sha512.run = "5a64bd2904338fc45d6150c6be6497d56cf2e190c41018527a59ef075db41f94378f8981d4b92e211f60f2d641408144c546f2de0bbe4a8e94b0a3cadf4311a8";
+  sha512.doc = "c3ab3559880077f63523c84cfc5cf363cf9f1d2c4d8aa9cb173b4a2dd07e5afbbdc9b1ea1b29cb50b64c68d65f4470dd9c1656703e0a1ac8955b72b87e33e804";
   hasRunfiles = true;
   version = "1.1";
 };
 "ltabptch" = {
   stripPrefix = 0;
-  sha512.run = "dd89ace56e0dfa1f6737713fe8820c99f43c791f08c0dd28132090585e5946b65577ebbbfc5c3c40f1121624bc77d3a96f853679051e63f2aede466b727d73d7";
-  sha512.doc = "60ad97cd519cf0cfb83b3d295470ca06adcb5f4e2140751890d92760f0986e16d95fbc02d26307471c154f7170fca12ca217ded1ce8f2c34e2376d0b2a2991c5";
+  sha512.run = "15c839c34935ee27b0b741325a13cbe6ec2f918b007ddd691029ce341173d12ca0e5cdef3a0111c3148257babf686815c5f81c92b6019cbbb022608535f17283";
+  sha512.doc = "d85ff06112e540d5bd3cac2bc6100d7d922e44d3388d247e521119ee4145716ef52889515b640e85c8a21405a35fbf63b168af09253e772e826572b0560305ac";
   hasRunfiles = true;
   version = "1.74d";
 };
 "ltb2bib" = {
   stripPrefix = 0;
-  sha512.run = "d4cefdf14b511260929fdda1672d548b54e0be3453273408fe7626b712a9cd1a2a287729e45ea8dd629e77fd7ebd87c615240913c1c6d8a5e63552560381c87f";
-  sha512.doc = "cd88ef0ddfc92cd9416d8529ba055e18bfb522089a22c3d7b4640520daae9a76dd51df5f6f22502a1a5b036cdcd85b70da1f6b7f3cdadf09abaed0ed6e03e122";
-  sha512.source = "eefade64111d57126de5910ede7e1511cfb8c5c8bf9d30473b6605e6fbb303dcec35b009252ad65a521d506625a891ef47d69474867606b9b1095b0c611d6e93";
+  sha512.run = "42e634e7c3018b87825e2bae40513eeb757520e1dba1b1b20244bee2d0fadc4663cbfa0dfdf74fa71f7821f47c41bb7c873a64cc68e153f9b7207f6a8bf3f8a9";
+  sha512.doc = "c26b018043c14022acc64bfaff6377988b5e40d09ac10916479079550bdbcfa5219df13988327679e7647c4a679490645376ed23be0601dc4df0528d45725325";
+  sha512.source = "0ed23f0084e3afbf51cb6a5c6079db62fd8dca9ef12a159b4be1d68ede6b632155ebc0ee9d6fc91cf93d2cddb5463b5d52b14cb72e7c1d61b975c891f710af3f";
   hasRunfiles = true;
   version = "0.01";
 };
 "ltxdockit" = {
   stripPrefix = 0;
-  sha512.run = "ff556fc044826c6b1838f94058bd7ea290ee0c670aab58995543d3a7b12236603ccda4b00fd2448289da0fcc7fd26e39cd1d5af0aaa44d32f0c85c94858d14d7";
-  sha512.doc = "f55221b3b8437231371d159e7fe26926202fb323df17243259982403cb9664895b14ff3637c5c4fee477f9a843662d5d9062e2e730548d2f376d7248303603c0";
+  sha512.run = "1144bd68bec92b4ac9ec8763e2e7df7c6018cd8b88c7ed2f02e7597c3bc13608a562551d80fab2a41b8aa9881848fa1b3501da7ae9c39edaae3720875ff65bd8";
+  sha512.doc = "a47852f464e8c31d9a2926e55d62c090292337acad6398568c7082012899045ce32163b798b25ac090e7fbd6ebec95f17a83ee1fdfe5f1f33d0b423dbeed94a1";
   hasRunfiles = true;
   version = "1.2d";
 };
 "ltxfileinfo" = {
-  sha512.run = "d3e308718cd73b58f73b4ffd0e2588e4b3ad130fa7dbe1047697e3b7c8c06f6d30ca0346e88b2daf122c6f198787812303cb2172aa3c6beb9f53ff4c7004277f";
-  sha512.doc = "3ffcd73b9ff61e2e63504bf7081cd4dd55cc903e4bb33654c8c69e7bebdb5958164f8c680676fc3a44b0f309c4640b2bdbddcc6f64f4aab0913d43ca63114e60";
+  sha512.run = "ca078af6b822747e9b337eb5694c1b019444e55f5f9f9dbdf59fa1a65c9445b19a62b0d610514c9231365017d3ea95ad9288a37b62b400c12df74c0c7f774a44";
+  sha512.doc = "0020ffc5874e0545c7ae4d1f6f9c0d5d598786444f4e98369e0c5fc872c5d63f235222594a9b0f5d2def5c3dcafc5ad660a4fd5a9e4551dd7717bc6ac06189d5";
   hasRunfiles = true;
   version = "2.04";
 };
 "ltxguidex" = {
   stripPrefix = 0;
-  sha512.run = "8facb71e45bcc2e9d9eee0b04fbc0f92c3cc4fdac407143ea1aaf1e64bc47c20f98d694b8db504b5344b072caed978f3133c7ba60220e01a7f495f404892635f";
-  sha512.doc = "4c8a0f9906de1b84a2c363b9d35dc386cf5811fb2ae44abfba15b4498b3565f2df6ae22d77ee478d720c77331f407cb120b5e106d951fc74950a0c8eec153e9d";
+  sha512.run = "bb808c7fc1d3fdc7a4d065822a5ff67113bd9fa47a60762b5674040c52149cad14ecd2d0612216b15bcb9684e65e9b51312f83f14030e66de37ee30dabbad434";
+  sha512.doc = "534e51a54903e1bbc783b5120015178c48a1a9ff3b06b2121bc9f79c95b7fdc1bc64c374af27a357a44c67df45bb70699d788c150c625d7d949acdce5b109a3a";
   hasRunfiles = true;
-  version = "0.1.0";
+  version = "0.2.0";
 };
 "ltximg" = {
-  sha512.run = "e900ba5934129db488239a3430b563b54f13d0d33dc4d01976f272efac432f9912aeea94eeaaba9bef0d67f20802674e7765e377ac031783150f02c58d21f707";
-  sha512.doc = "bc7d176e11a306394a8d3837a77c47024bbc3207c8d52b3d381714368cf040099ec587bfac7212205311dc3196e3b3c5c94fb1870698411f0378eea2bab05659";
-  sha512.source = "534c9e2790d05993c07e2cc7f2bd1d5ee0a8c4630c50d413419033a39f8a2e6a2bf410aff717e5fa84197a0e49e39a0bc51fd5da0a0e8c61a276bf3bca457458";
+  sha512.run = "28486dc83e37120eb5c8e0218541f17f6d9f631087b56890cb0bb9a10e3599d4afb31e997f736ce99476491ffae01ed9ae3b4194205e366dd0a2ea09dc2dd565";
+  sha512.doc = "c8d688e451537c6b08556f3d021cd552ba491f0b031c253e0f914945604b492c4d2cb2b7423ad2f95cdd4ed180c8b0bee1501e28f7fc0b20a551b735a47a2094";
+  sha512.source = "ffaa0f7f2d7a6bdffa12aa333a50e3729853f61684ad85a06e6583fde646e968e9ae3ba12a98655f3cd230c9cdd7618715bfb6b268928a06b3361e8194bdb1d0";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.7";
 };
 "ltxindex" = {
   stripPrefix = 0;
-  sha512.run = "0f67f4a6f7894add145d8d464e3d90d194f30e2bd0e6ef5e12240a7e9b978f8162f7571dc09f10f4da0983ce6a32a5cefa816b67e01e149ba158d2f52138135d";
-  sha512.doc = "4b2fa5c3a6dfebf86d71a93e5fd8165265c28f8577b227c540fcc6c8f9175510aac55197ffad3925a4d62b80977ae896cecbb26972d817e95091c37ed6b3c89f";
-  sha512.source = "766b399267bb7070de121f64b3439d77d4b6f3b883c949482ae6685bc4c52e4a7e99888bcf5da40f41df81b1539148a67b117a4145b2eaada240fb7e4ad23a5d";
+  sha512.run = "ff757a44f29820ab29946f66766b11a928db11b90269781b8039428aab4bf0b243b317176aebc92cfe95bf2e390be125012daa72ac4b8bfaab81477ed8129ba7";
+  sha512.doc = "119f18b8337b365e09b5d6a22ab447bcd0d4d516514c7bc6622d8b1f30aec5746f45d81cfbc07a81aed9de7f47627797b9c7cac3015092f7ca72acd79d5263ec";
+  sha512.source = "efadcca7c0224c4bb3814588947f7dc507140dc3624c5cdb3c7a788afa763c1cae5f607bcd4a67872dad97e725afe7e9f99f3a694c8398aebfaacc31f2b737ae";
   hasRunfiles = true;
   version = "0.1c";
 };
 "ltxkeys" = {
   stripPrefix = 0;
-  sha512.run = "91a8e6860a5a6f31c35679e21817cdd35ed93e359528a4459181fe98cc46475cb08e72877d6701ea6aeac9635cf85998529a39d456927146dbd633f5d2b5dbd6";
-  sha512.doc = "9c9b0b071a47187d8236b8b2ebe4e79d60b29650b8d9b9508f8f7b845a387b38a01deb43a1571aa91923d185bc90d8e6135a8e07f5ddf489437da525c52813a7";
+  sha512.run = "f99008a8d6d18697d095721dfd741ed2dc48f6edad09b15d39ce2c37f05e6f9c9d613a4ca7ba7fce8755f9dc5659e21f7e7961a7e38dbe17b7114c2337103d8f";
+  sha512.doc = "ab28eae4955de3e5a23be1d718fd1e23384ec0e4a8c4b86348bd83ff501ec2e51a3981c60babd478bca0c115ba524367f77f3cabd3f733b82a9fe4cc5fc06878";
   hasRunfiles = true;
   version = "0.0.3c";
 };
 "ltxmisc" = {
   stripPrefix = 0;
-  sha512.run = "d7b93ae125998ac4448b698ba142a930cde58424379ccd3752de1261b61536b2e87d15dfd159eac6e62d7cc8611806a8bd5d7e9565252a9d18d0eb2bf5183134";
+  sha512.run = "3433a283f52c41f198b944eaf58a961751e7fd3c0991960a2516fd72af61671e776f48c6a5e241e379b54a08af6fba732ab1c35e42b8c93a62937b5a38cdb767";
   hasRunfiles = true;
 };
 "ltxnew" = {
   stripPrefix = 0;
-  sha512.run = "76d29be39f2c198ab87145db85c0b889b191a890da404fb5d6fb587ea982aafe00915f18b1b3c3dc188e3114c29f79e3a3d622febd53d96e8c3585690b0e0590";
-  sha512.doc = "4f400f321e0b44be3a994ebba08bfb71e03d445b0beb02a0cf430bde084e18886a93d4a9ba98569a5f388c90e4d9afc2c38e82a88d5f2549b7f034a8f37b1ceb";
-  sha512.source = "89988f5bf63d211c849c9021121bbe869d6b00b30d84dd1470f77698f81f67ac1adadbf2cffa67a24482d1b259226caff97186d02f27f83f76dac3d0be41ecae";
+  sha512.run = "7dda3fd3638ddf528adda0430cbd32cd8fe410a743b7af5bf76e651ee98b10f2481723665a19fda2f2b468ca5c4a838144cbd6e9c457f50362f7b0e83106de26";
+  sha512.doc = "91e07169ac377570382b9bc7044c0d66b61268fca38e2fcff4d7075322dbed0d3151976848c93b5d0a2088676e67f3a79d2a555829f170ca61a37b7c40fbdf66";
+  sha512.source = "0718785df4355f264738d8929128e4024eae629dcc1fc51e0d408ace6be8688b9281bc0e352e401a6fba71b0a3f376610fdbea7520443233d088e93740e0dbc7";
   hasRunfiles = true;
   version = "1.3";
 };
 "ltxtools" = {
   stripPrefix = 0;
-  sha512.run = "d38437071541d91c7a621be3c4f421f95a8f974f7878f280d4032e776d8e96491946d4e5fac95dd2900763e30039097cfdee2eb9522905749323e4e5f7b3a4b3";
-  sha512.doc = "8e8dcc1332c865cf79282f9e96d799357cf399c106ce89a42180bb62c12320ccc065e0743e2201aa06da2739e608428738c5affd3292e080eda89a6bde8a8b08";
+  sha512.run = "aed74d79bd9da7f7303cd14db5c2a74aab51de03e87a84986b294019a971eb68a445cace8af2394631fc4ec6963ad32347c47a80612f70a7427adeb689d3cf36";
+  sha512.doc = "e0a8b28f512a15fec379aeb3350c0611a77652531a66ee5a39010400fe5d1416c40bf6bd89d4e967851b09ad5d11b1d83ead675a0a722255a0e941980d74d1d5";
   hasRunfiles = true;
   version = "0.0.1a";
 };
 "lua-alt-getopt" = {
   stripPrefix = 0;
-  sha512.run = "85c5f1ba68f9fc874b025a7ebd63501419b1df332fbe456e49560effbe4f386abc641481a91a35e66617f7e7357f45a5d605876efa0e3fd680d4a4699c0e7cf1";
-  sha512.doc = "311a04ef22af0e2bcab6166ff3d257f76e7c39244cbe81742009a97466e5230d69a574e98976db5ac585baf3e3d13c0e6b2cfdebb119e6db2acc6e8aba0169b3";
+  sha512.run = "94d186ff2dbaae126995eb2ee71e52145e88b32ed1fa765a6011c0d3935f19dcf41692e47699abd176f680ba8ebed58142cdad7be19526f7b8c249dac43bf3d4";
+  sha512.doc = "b7cbb2dff24692038f38e6185fbd6471a6979dfd8b659fbd972c810cb701aca59aeaa4d30c510333003819ff08921f3d57b9c43a7044827a35472ee54e3990fd";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "lua-check-hyphen" = {
   stripPrefix = 0;
-  sha512.run = "461c69113030a4aa7b2db1916d6072cf3d8cf264e03e6f103bb748d98c4953d74e325aab1f4e6a260b53a5591d8c3cc667ada416705d6a2d7d9fbf0c46503dd2";
-  sha512.doc = "10acf29ef3e6991b6559ee5081cc7e566ebc8b83c9cbc26a5c81993e21f9a56545558a082f07e616bf440af99b18e5ce921732d6b4150d1d16548901172261da";
+  sha512.run = "89cd0a13578d386bbf584f3c74c6c3ee1a45a7c0bf40480e5396f86b2af29b26abe3ab8aac69be0f1fe23cceb6da33237ea38384854fdfc7be6939832a8cad08";
+  sha512.doc = "cd756e0356b36ccd26d1d78c67026f5a27272ac383bdfc6f44ddb630f58d067c05fb9152f1ed9793d71a63af6607107b8d4b5af311563e2c3d966079b2d3e0c1";
   hasRunfiles = true;
   version = "0.7a";
 };
 "lua-visual-debug" = {
   stripPrefix = 0;
-  sha512.run = "857ea90f77e0ad26e5729276978dbf246abb9134f09cbaf09e299863d19c0d295cff2ae626f5d6ad2901526be3c241fa2486122e71c64b447e9dbecc5f4bdffa";
-  sha512.doc = "ddaad24ac9119f51e4522311426408d7cd5c514aee506de8665a814302e6114b03bc1ca268a4391d600fd860c3dd5f11a648cd338adfec31fdbce51a0d16a20d";
+  sha512.run = "2b809e240570105b46f361ffcc031719f4afcdba45d14b4e51d4cbca10a7d189b385c00c9b277180bed4ceae45b8ad58e2145ac6f8de5d0568ff5f86b67c2cc5";
+  sha512.doc = "814f650ce8505338b41a91e1e7e55872f1f35252ed5f1c3c74f73379b4c60c62e40d48a2cc5eab62b4a726db29fce70761ad7a2a0a17b7d5019859fcd72098f5";
   hasRunfiles = true;
   version = "0.7";
 };
 "lua2dox" = {
-  sha512.run = "7f94a474c26a50b50eb9d26082a174f526272fbe39d8a2d4e2afedfac7cfdf1adadbc2fa69d029ae92463fdb9db86f36bbd5d54538f14df933c697c8a85fbf4c";
-  sha512.doc = "e1be1ffaeca1cd4830c2ee0636aaa4d596ef2cf63fcc54a84a3db7f36d53af01b571c15f26650d4ca35b523957b281818b94f4a8a36ab5e89f7afc49f4480512";
+  sha512.run = "24b6cf17ee55a9699077aac82263e442f1ba3e7843742baf425a4d4c514cb2f4b1ea8a4af9165997559560f2ed060ef818d3a57f71a79d6238ed29ccd263d787";
+  sha512.doc = "96746e4d0401cb0bb9cfdf7a44d2935d4e257dafb0f5099faf647aec0b385745518f160bfad8ae54a1ec018e0afcf4a7dc998cf9b7f310e0ba867bd2e6213960";
   hasRunfiles = true;
   version = "0.2";
 };
 "luabibentry" = {
   stripPrefix = 0;
-  sha512.run = "a8e2c7f08f11f0cdd12ead37f559e6bdbeffbf9e639c40e7d0b3218d730a2624711d06b5f0afa1f1f24fe23ad62bf7564a207fcf76333ecdcd6aeb26786f8f2a";
-  sha512.doc = "51e0c28cebed656d3d6d6b7128dff4d03526d097aba2d0ea1b835add42a81124b0983b25a7386b436f6900197c25814d1be2d278198e0c01b38f7bf44a3dbfbf";
-  sha512.source = "4b17fd5d9768e93bf59fdbaa61f857511606379a0e1c38ecaaa494871ea14f2e0b614cef12cc9672d3e81e38275332b2fc437999b8d06d1e5c01f23efa0164b1";
+  sha512.run = "00349f5a6f5ecd5478bb718bcfc419953db4f90c9b2a70aab2e2bbce4395d189066b39cca743e5b790f588a3f2a17047a6e233258c4ef389ad6fc5338184af69";
+  sha512.doc = "9ec19b99275e3117f07e445e2c039bd504537fd470f62fb7f7f7fc428842ba86ebdbf0bd6a6be7a3b1b99100d209c6c47a9795c776287206afe331601222acad";
+  sha512.source = "628ff69779b5eba6056bb49b3bdb4017a10c3c4afd710319de9ac3168ffa44782969ed67399f8c1a945cbf77f1bc44ea33b0776a9f1f14aa2e5e29afb8cea544";
   hasRunfiles = true;
   version = "0.1a";
 };
 "luabidi" = {
   stripPrefix = 0;
-  sha512.run = "ce7cd6fb13d00d23a6e9616b11c4b787cb6dabe03b715a5f98c78659eb2ab18259a562d484c28e97f228b0a8e6b63a80f07e6e770705d40d3689604368ca1336";
-  sha512.doc = "8d52481c91e5f4528a2b6696e31d4295a32a83dc6ae17f7ee2bb942d804263bbcc3480117e23758c3086b99b971d10d0733266ca6446e6fc3eb31d50e6dd40e3";
+  sha512.run = "080e97a588793eba6ca8b63ba25a7046006f4a788136d933f21009e0541c5e92e995bdb9970a5c4a921ae0654a1a29573a922ee5e0a3ac58fb30cd178f7ec736";
+  sha512.doc = "20667a11108b51603ff5866c85e023176d27bd2201c8e4736b6cd2cb895fd30f205bdef0077dff65d0d8a97192f74be6f6ac4a0ecf3948c51196071bc3be59e8";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.4";
 };
 "luacode" = {
   stripPrefix = 0;
-  sha512.run = "2e135a1af37d2f239a972ed407415b49c39d2930c29f02f17283452d2683ce33fa695d3709137be6fe952c3dda6bde0ff3ee5007b2b6aca90f686effcbebe206";
-  sha512.doc = "3cc13b412ec06725e4e624f6a033d431793da1c04e3cae3166ea495ccba903a52d224d518d039787adbf71f4e6190c1edec2134ee895d7f98423b656257eaf4a";
-  sha512.source = "5bc71c17e2a85fcba64b1b768464ad58bb253f826323ae2f95d0bd1e7650fe45f8fc9f13f9b4849ef172ad3caba0f2e83c934a6b8a0ce2bc3987fdb188c22cca";
+  sha512.run = "b107c9cf774608782c1ba1ce3ebea8d330ff9762046eaa9b9de112b704df1d0da1bd7e33b15e9d847f232b7594d53fb2678cdb78b23d87aaac73cc2517ac8e1e";
+  sha512.doc = "622a2417490fb818d5021bb519ea7ac8d886df5002534c4d269268ca4d2119ccc15b029111edb42d04a546e7a46a60bc8eaa6a0a108e9231cc49fc2141ed8ec7";
+  sha512.source = "fe53aa46157e24f7f637584faa0c18de62ce3857d9841598f51e09a03354e9cd44bb8fc150e91d5b9ad6d1ca150a065fb1507847cc385ca67bf67679669d7ef0";
   hasRunfiles = true;
   version = "1.2a";
 };
 "luahyphenrules" = {
   stripPrefix = 0;
-  sha512.run = "2cf947482acb36ed99138de97304c4dc9ac929f6bf6bd0f32319d35ad2741ef03dd93da804ec331a6d3a1011cac4a105003a8028eaf1c041a7fc520ba27ceb3f";
-  sha512.doc = "f181a3c3147ece62ef0088ac815079ff2a2648a89969f3c2555b150d387a35d7d5b42a78a95a0efd90c4d6c6ab0b4427bae24d320b1435ce3a74a715cd79b716";
+  sha512.run = "f1486d23a51111023fca3771ae530ca058c582640ddfc17281a66ec055b05aaf24021c724566f5e9c9a5bd674eb8724964fae78762dab30182d8a95333293efd";
+  sha512.doc = "152f690268e3b1c6073b36a66965c84b6bc6f45050b2887b7a2ed67be9497ea7b1708cfa1335fcf296d6a2feb11924120336cd89ff3017cb7e77808e9927e9c6";
   hasRunfiles = true;
   version = "1.0";
 };
+"luaimageembed" = {
+  stripPrefix = 0;
+  sha512.run = "c0ba8a3164f1a87cd12a5699e9caa23ff7a85debed9881798502436bbb594d48a2e15a135e3a18efb9f3d825af98303a46495148142c810e4601641fdf925654";
+  sha512.doc = "188049c30c2c845d18e1a20af3d5ee009eab6064321b1f09aee4b77c3111317755e698e28876561440695c910cbfea6f67e41a5195a5f7b50d45831d7b78d76b";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "luaindex" = {
   stripPrefix = 0;
-  sha512.run = "60c0ccd42590fc29d2ea99a70ce1ace05ccea8608edc48a65732d3062554d3d8ca866c7aab30e14752a312243bc131b9e06f045b68c8a3d631428a432af8abcd";
-  sha512.doc = "af008a80e9906a5e3a6532f201066b3d57cfc9436eea8844d3f5a2f6d15dbaa100f99bec9f09528eeaf1ed29944a4de96cc9346d8bef772963de13861c0eb9f0";
-  sha512.source = "5733006ee58becd0e14351b9b67d0b32b6f332d5b86ba6b7c51d1f1bb360f1377aa9545c7918d53802606700ebe93eea2e581913feaee700b84eafde33952bb8";
+  sha512.run = "baafe2dbcfcc07293ec04f775becef7b59a2349ed5c98333c5a4e680fb3f8561f8749a6abadc6901cfbeae1b6e9a47cca05e8ae76064372585b7d7f4978dc844";
+  sha512.doc = "c90deae24da8584170bc2247d5f6ee22ba522c21d3d0e05a6ec2b9594645a022eed1fcf12c3ffbaa03ce0d92a16f75550dc7e0694920ef58b17bdacae02d6fc7";
+  sha512.source = "aa97d6618e7af11a7d5aaee332736aa60a8ba5a2cf796296368736c7d12b1e6eeccbd5c807cc2129fd3e4310617dd92e14aeac053753fe7267899b9b3459d8db";
   hasRunfiles = true;
   version = "0.1b";
 };
 "luainputenc" = {
   stripPrefix = 0;
-  sha512.run = "a626c9f0c1ea5037758886399183773e3b746d3fbcfcb886c7c875eff69d6c25c449ff363342fe526785fa246139a25401feea8a5d2018dcb610f44132abf6d0";
-  sha512.doc = "959d2ca40ba73c3c42d8ee3b37c05b05accb1f9bc1430e09c93c1f3077664d8b6d2fdf24d40e153c314437b0ce161a24d75609e199c917f4ad90b5a1c8357cb6";
-  sha512.source = "fbf4557582a25ae71c510db06d14cc131a7db99369bbac19ce68eede61aef6f41a1add200dc4660b2bc2b48e2eb64c1b861b1b6dce9b4f7683ffa54cfd011004";
+  sha512.run = "bc3f05260800cc537436377c1f9fbcfc6a1a60a7fd892af23ab323171208b083c08c8bb2a5d299e4ce09468f66197d43f68717a57e649c50caf74b736cdb06db";
+  sha512.doc = "7c6093b3fa622007aa7e6cc852076090e1bcc64e9b890d1ff0cf6ae552a21e930e791d32cdc2238a0f60c605c92a2192dad7e9d423a2d6e013582926957da58f";
+  sha512.source = "a9ae3dcacf7ed85f5ff63e32c9fd66ad6860e149c3d2737bcfad870137b242797b8a3f62e90f290931e6884c74f70a0716c72f2e5414cb8406e5ec0141f13831";
   hasRunfiles = true;
   version = "0.973";
 };
 "luaintro" = {
   stripPrefix = 0;
-  sha512.run = "61494892635c6ccc928de914280a826582e26254e82b75e4713c6d7f209f58a4259c980715b09dd3ce1287822b5f34e2229db12e92abf4bd38befab565da1877";
-  sha512.doc = "fd566b874716888c0135cc7464382cfea65be4539e029d36c1020536046f94160d6637a86ed44e31e7e8da6c60eee092138e4d8567aa613eebfd8c37c6927f6e";
+  sha512.run = "2585639b6a7b93019f8fe4dd353332dabbbfb5663b84b1c92df397e940392a1b3bb2ddcec203bbb1b0f4244ac26b62f9745fdf50cb7512f96e5c12af8c08335b";
+  sha512.doc = "47de79cdc637810757b7879956cf758a77cde95e77060ce74829b438d13b58e23cbc8e9b328d0850b44fd8de8da90fa9fda206ff0e206918f1bccdf5d71d2c38";
   version = "0.03";
 };
 "lualatex-doc" = {
   stripPrefix = 0;
-  sha512.run = "076b23f336857c0c60baf7390314241abfc76ef244e77cddd4e8702e049863ce08b2464767a7ceaa1343b7dfac906222d9d4099baa42c4339e126b9357a988f4";
-  sha512.doc = "cccde093698749307035cf673477b8ca9d052c0d11af2a4396c07dd5fb135d278febbee35ee6e2294c49d0e123589ffd8dc6e5d5fe38c23dcc2cc850f43b1128";
-  sha512.source = "5ea811c91d4de834cefcec7fedaa5bc33173e8bfc060d4fa74c21119e556244e3be7d8e71ea120559fb508078f8e843fbdf3a72f06e2b5c0e8d01c0bc44cbca4";
+  sha512.run = "a1d98422b13a26aa844213df2929629889ed6bfe3fa16c27f6376f00f038a50dd32c5128a27ecdd872d3fce8372fb93ec603c0c92edb8692325f1e76fca685d1";
+  sha512.doc = "0756a0183d0b7b302f24cd16a8957915a69a3db3fe4a8a4fc301e246a0563f9fe81ce2af667b7bcfa45717b605be163cc5fd4c170d8584028f2ee7b2120390c6";
+  sha512.source = "a18a7644b50ad608dbb2bbfc15f2672fe7b9a48505c3224dcb46aa97b2d57b5a007c928dd5b76518c8963970bb1b8b56bed8e5c374ba5cb18a9521528dfdd58f";
 };
 "lualatex-doc-de" = {
   stripPrefix = 0;
-  sha512.run = "3bdaf2d088999417a1d8d6f9890a80e385eaa5ceb856c3f931f1f88fc1a6492630ce9112e5fa0afa8931ef761caa1259fe5d74f289e10a96f6de1a4bb4773fa1";
-  sha512.doc = "7b6e1d872bec18a0309e34d9096f7b1e364c9b5f4960bc69513a454395d2b25f7d271de8f213aff30141e29d3f0294e06ff7100364f1e57fa46b02c4c5bb1988";
+  sha512.run = "c1bf1c7f367e5d15cb1a5ba0878a4f02dfe25772bed22b48f7376e8448569247233ee41ee8b58c156494d9cf0c0956dc23f4576f053cc349896247de0a96444b";
+  sha512.doc = "b615887d8b543af1c125b6e9fb9c533f52816f8087075a8bd4e6ef752ff48f51169f5945ccb067228612cbdeb10dbeb298a090bdb93d201b9629b128b0c5a466";
   version = "1.0";
 };
 "lualatex-math" = {
   stripPrefix = 0;
-  sha512.run = "8e1ff82ba4e00262bb60925252825408081fb0aa6a5c303aa5f751ae6da95e444ae57410f47cfdd57cb0688811e3bf8ee5e3bc5011c0daca7a3b6c3d09e7592f";
-  sha512.doc = "68c283f8c147fd159edbb8d9229972a409677e5b41d39396dcb9b91a6f77585584213850802f25a3bc4ff7e2f48874fee47cecbb6dd978b1c303bffdd3ebb3a4";
-  sha512.source = "c4fd5c9f6fc4571cae97d4a02ce7d5946d1dbcca005d0a9a897394aaa5a5bca570be8372fba5908842f5969795692b156ad5effaed71b8eb996add88cb40dd06";
+  sha512.run = "931421eb1cfa64bb14050efc449e9d600ebbecfd524bea0162c1e20100345a85eee0d45764c8e1ada7429fd59ea6124b757f9361eb4183b2a295b87c62cbab7b";
+  sha512.doc = "33da41b1515fc58b68fd8354304ae454b0abdd5f41475260b762012216595025a28db60f2997e5d36553ce551f13450024e9c017b9971219667aac57df84a2ce";
+  sha512.source = "1b05c3b7c1ca0d8e34f2f0a4f70c8b27996db61313117b63232a8b0164ff981fa59d932aed6ef8ba41f2b82c35a11d90525a246f12dfc935c8a87380525a1a13";
   hasRunfiles = true;
   version = "1.8";
 };
 "lualatex-truncate" = {
   stripPrefix = 0;
-  sha512.run = "a1a5f1f657b9157ee9e6011aabe632a8cebfe9ed53d3a36f4155b6c474232ffda5acc6ce1c6aeb8916322e958a171c156520ad564e41c005c4abf83e4610eda4";
-  sha512.doc = "568ab68bf891e4c0d7d3a67554a51404bc3a26f8c8f9211049b1d2902ac77950728e9a24b557a5a35d4157835fec2f79ab459bcd179c41af8cd53214b9206435";
-  sha512.source = "259058ce56ddb534e758b6bedc400a9fc18b72c83785621006424cb3cbfca1ad10421dab0a9f7dfab4f083ee1c605b9ed454adab8322fd6fff5b40823b465073";
+  sha512.run = "f4de38427798b565aacdb127152cd7ac8a42b441c555f742f5bf90480f7cdf8e182745a5882a9c8e0645c529d27647a056f26b7493dadb13216972794e617341";
+  sha512.doc = "704b34da4b8ab787c53f2af21fd17a29d6c8e1d42024de2ff0e65d434a502b47022fa2a506e149b67ee5cb542f2f4835babda315b1dded598f63dca353aa78b1";
+  sha512.source = "bffd59b8b5a7d02f40f4ff2f4d028aa98ae26b3d9d9cb432f531211fbcf65d18814653fed07b68e4d34f65d514f7aacfe6bd5aea956a12f7fac2e088841ca02d";
   hasRunfiles = true;
   version = "1.1";
 };
 "lualibs" = {
   stripPrefix = 0;
-  sha512.run = "a83a831e872de9b75065c9801959af2304fbf902af5be2de8de7e1e0da4ce52517c1e8a0de7bb482f3a9e51dd83e741f6f95fa097b6b9cf0fb8c451347776306";
-  sha512.doc = "df1112a8061d515c3c77392fb0611f4cb19bc97cb3fa6d9b8db3ad73f2280c545948f6a5f6a647a713e04c9f9f830531fe3001637dcf49e8bf4f50d51677b4df";
-  sha512.source = "8808d7ab00d7f19dd143657d38edeb0114880185f33449f0d59eac30d720cf0bdd66ab01dc0f6de02e257bd8d91af3b6cd75dda7cdfe11e9e110779b29f60c6e";
+  sha512.run = "7f0f9109835f61ae2d55dfc4f1cb4759f2c9e7f54987ace4199acf4b435c4222ac497256beaed06002e3be645fcc149f70a49507190615e54a0ee4e0e4caebf6";
+  sha512.doc = "3ee3797410c8524575f51feb669f079de3014d0fb6a18d3883a3ff1d2442b7c29989d71f80764c0991625b2ff2fe1ee23522cb28b1c5d7e7f56b702f315bc56a";
+  sha512.source = "554fb8b6b069982947964cc3807f2161c76373162944c06d839cfb0bb50220f6f3a8388cd4f0c56c3bca900228fd7c49b0548df6b754df2e8a66b4461bc4383f";
   hasRunfiles = true;
-  version = "2.64";
+  version = "2.67";
 };
 "luamesh" = {
   stripPrefix = 0;
-  sha512.run = "a827a23b9e7c0ad1b4b0eb8c17ec362715e6b07aa79dfcb81bbb61fdcdd3f8f2b14f7313c2b9ca359e3a9409555ae412d40d2f7d25db371a76478a7adf703608";
-  sha512.doc = "0b2c928dc0b2b0e465fc2a0b073928ff3603e50bca3e49753056fa95785f572c7e010a16e431c25e696a1e00e16b18ff79925f9d661badee831136ee7db7b252";
+  sha512.run = "f9ae2e27725aa78c7a6c7d049d0c25f4a4fef260dd2a813a9cd6a4f49f5ef1a786540c77c88c0778c5ebda5f188ca8b62be8335d5bcf0ee1a5f22df193875cc3";
+  sha512.doc = "f25df210662af9d91229a99228a7f15bfc58510adfa2f5a91c586b4ec30b2482ed044b30db40cff0a5c70dfc70ab560367efa96bc077bf412d536e15f1e32e0f";
   hasRunfiles = true;
   version = "0.51";
 };
 "luamplib" = {
   stripPrefix = 0;
-  sha512.run = "80680492bddf0a8297ed119f76fc0315b1b5d3a8bf8b5bd12fc7f9b1aafa16ab7cedf1caf6d8a8ad467e6be1ef1afe325facc537eccccdefbb0c5dc03571055a";
-  sha512.doc = "faeaaf9877e41c8ad398130359aedc96764c7085132f6af7318b7dbbd14b215dba7ed8b6df1b39e33b14e04d9ff30f9ffb6eb7483424b29e84d2966c94626a6e";
-  sha512.source = "85f6d6e21ce3135a955811f07b2d5cea48aea99da45ac1be805816ccc15ac420deb671505f9bc3f36b974e58f3507a4857068f07521c42218a2f5aad4296dcf5";
+  sha512.run = "35aa418e3c49e4d6943b2f4a118e1aaddc54a4337be32da676fd8bf37b8d47b78a63d707eadc7c00a9b90648c07ce1e26b21523c7167cc4f69b9a25608d3143a";
+  sha512.doc = "e994c52b44da2df051e66c2cd66ab88f8f705905b25472906d558395b1c673da797598cf0be44127f10d448cb36a0f0747e3ca594f632d7bc6e40f916889ab0f";
+  sha512.source = "9150ff583540bc6511874994b708a313295d01fc319accbfbac9e8b4176f9d146caa5ef3bc567e733e8938a88284fa273b38940615ee9fc00d04b7dd39e700c5";
   hasRunfiles = true;
-  version = "2.12.5";
+  version = "2.20.2";
 };
 "luaotfload" = {
   deps."lualibs" = tl."lualibs";
-  sha512.run = "26a6977a00e1f238fffca8f3d3dd21fcc0c984bd20a00dca9ec27b7793f1c6182ae1d6ed09dedd0ca2d7517fef6f8b77575c8ce13b54260aa372491efa8b2046";
-  sha512.doc = "51230702c0306031e8663007c173ec1203e428fa3ea40690462c76c2d75c0c2a5294d3554d4c4d2972f41fd13972f476b614110c8b5dac2044829524b997ee41";
-  sha512.source = "e3edd2f88315cf19d85c34afc7fd821c27288a6854aeda6eba3e494cba3630c46e372d71578ef4900e7b005985c4209d624329e5a6a39bc507d3ff82c56bbda2";
+  sha512.run = "b0934de001e68e95f1e79979e11d85a2268f67957b31b4f9d0aa5d069e5bacaa5c238c892a75146906f5aaf41a7fd4675f05c3170f3cc1ce4c96e25ff5233169";
+  sha512.doc = "eada60cbb87c0bd80b2b54e4bdc650614ce8841d8b8dfbfb4019f7abb74bc364d456424fe211a2fe9264d307d74a4b181200621c40884b5156edb81d60276ae5";
+  sha512.source = "feceb81fd2d1f1dd866b3c583d35d92bb721cd26109d3cc9339fc4bf37b250489d8e3619312ace75a19d83f4659c7fd2ce6c957a1b96e646d419535e8b85bcd4";
   hasRunfiles = true;
-  version = "2.96";
+  version = "3.00";
 };
 "luapackageloader" = {
   stripPrefix = 0;
-  sha512.run = "b55830386d6855d54480a937cd70b46b2421d41e67f08e2ff7f0ff9dd3c98d609c1a2a61d4531a187d542e567f3b6304162ecf3efcb4b6b51d6fa63441ce6d96";
-  sha512.doc = "f32580f23a3beb4b4b182982eca8f7080a2767cf7b4d8a6e0cbfe8989f01174a70a1395e218cd2c7fa9f30aa82391a84010f656d2e3683a8e55ef49b0ca35a54";
+  sha512.run = "a89cbcb445b1a73d0fe1c5e241745d1572df9713bd867076c1390a302860891b5f08eb0aa3000d064df0a5cdc6135eeed53f5ef6f2801da17c84fc343005010f";
+  sha512.doc = "5e1de43c58d0bfd6b8bcd9c068d3b1084df398ca843ec341b29e55c646bba6a18fa9075a9f6cac737f0698f6bcf9626948e9be2c28f6210156d71ca00e1ef916";
   hasRunfiles = true;
   version = "0.1";
 };
 "luarandom" = {
   stripPrefix = 0;
-  sha512.run = "0a93578703a9c837b27c876443bf131abaa7cc73acdd602051c12392832b17e0bda7b46e98a0efdca0a10c3fcaf5c7dede4fb507b5ddcc4e3a8e6f115b11c94a";
-  sha512.doc = "a0c7d42cc1fa8163702abdf9e512c636d3cf70dbd4e4f08aa617ddaf1ff0302f6ac90a3a3c1adb4687d69523285aafa2568abb9263fb07811a50d6e831bfa2fa";
+  sha512.run = "54019dd968b2cf3b6ab9a3777e609789c04a0d369b1ae938df152ded3bf54607140fe6265b81ca2a75f458e9b8144000f0bf2e9d77fb00aa923f7ce9569c423f";
+  sha512.doc = "f7fa30cd6668674cfee8116bdacd3c457fe6e1a3ef4a1c0da603db2fbaae77d187bfc5b4867aea0410a906238769d7138672b89b51eccc9fc4d110a079784092";
   hasRunfiles = true;
   version = "0.01";
 };
 "luasseq" = {
   stripPrefix = 0;
-  sha512.run = "84ba5270c97196ba72a9686d3d9279f4beb87c8949f0bc450f55d2fea878655823236c8799f4e1a4a7525079a332b1d6ee76e580134fadc3b04e6d7ef5b4d38b";
-  sha512.doc = "ec45faa8ad8886aac9e694a46a6f3b0c6cc48c3373a5d6e5bf1191c4787842aa62f007a0c356ac216a376edce0801b133f861f1e47a56d5e7895317e6359a642";
-  sha512.source = "42c3aea7f27478fdd75135f549e00e29a0894125cb8473030eab381cdc16ef61f5d20c8bd00c5ffc72a9d19b568e36f57249a198b0b47808d1f30ce3301b8a1f";
+  sha512.run = "400e95fd898152e8d8e989084ca9cd115516850edb6e8d102eddaaf278f29213c8a4828dde01ca202db68d6cd2b2685bda71f63ad7a92eb586a4c303d2e9d02b";
+  sha512.doc = "7ac8f5df74cede5734c9c47048cbb3b079155910a89ebf0c7adb169b4b61751f6255b2c07614d44a55e8dad43bb35693bf224d0f750bff28987c7c5f1a8a5bc4";
+  sha512.source = "4946e994a3ce2712e6da73a9969cbf2634726191845332e4464ce8d446c09235e94798c878e9e060e3a7b3bc3a27c37a299b9d30f1da6368b67875b551ee9d0d";
   hasRunfiles = true;
 };
 "luatex" = {
@@ -17644,809 +18100,824 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
-  sha512.run = "7020e62de81e6cb12ed68999942d256c20ec3ad78bd7a9826f29804aff08a9dd7a097f5c4a470e1722ff79479dd253d98f2ff5bba1af4449bd3095e2bbca88cb";
-  sha512.doc = "f99337e9cfd089fddf8600d5f4a4a22c0cdb03aa6a7f08466811c23cf5798c06a80319ec5fed97d19a620a09b0db9b170eb121c10c40772ff308e54f80ec0745";
+  sha512.run = "0b9bdf74c170f6cd902386cf18b96f3cb78b853eacccc3a7c75f4135be0efbab47e36a717307600509b78c9fc4f58b8e62f1cdce52007fdd5e9a47dd2f57d666";
+  sha512.doc = "eb387b69cef102386bae65239835f0616cd676bb0dd6b91aac6ab0766cb106fae2e102de8682abcbf42d0937eb78173381fd12ddf3d27a34fc6d200f33e52b5a";
   hasRunfiles = true;
 };
 "luatex85" = {
   stripPrefix = 0;
-  sha512.run = "5366f13010df9a7ea224d825252a126a9dd560af373f9359dbc87d3398c50ed040852e43c5953bfc767f4a49accaaa8333a42b8a3d661e7df69e3a9fc2f13e79";
-  sha512.doc = "6353689e7f50779d2969082d11ed33649ec8ae2d75dce18b7016b40df33bee21e0a261eaa25c719d06f5ccab2f1b3fab97b924b2cd939a7dd79568db2ea0c331";
-  sha512.source = "6de2565880374c7b7a3534652c5203e0b61e6a8b1ae865f9e2dc636f31864f069f5d9bf280ddb36064834b5ccb6cbabcf6fa7511206d6d50f197a7af09ad9bdb";
+  sha512.run = "fbc1306d40e1c329a106d7ec4ef79ebb99b2869ce72c45212b87fa03f66a18b1636324dafc739a33500be77bee2c71ebeff02c97c42f85716f5bded4dcebc021";
+  sha512.doc = "4bf353f60c305ea76e66848920e521dec0c66c80f71ebdfb0593acfc9e2914eac272eba3d69f63f43fe8be903cfbb2da7edd82cbc3d38a897934d91f1ac276b7";
+  sha512.source = "40f2732ba0eea372d084c7a9096e12de76a6f7c4ee2c8c9c042ae51696ca46fb527aa73dfb37b7c6a1a75f9753ed32b28fb9d3f2474cfd54528336b4a3cc95e6";
   hasRunfiles = true;
   version = "1.4";
 };
 "luatexbase" = {
   stripPrefix = 0;
-  sha512.run = "e0de4aac88b8558ce85f27cd4a659b0373f0e122a5ced943c83140f722b6415437ec39a9a809402d31802340de7dd22669cf03236b8ef18ff343adbdc615ef95";
-  sha512.doc = "cb2d91f48716999a3facef7b3cb162b50ba217b640f2954783acdd6ebe3f739c6f776353b4e4440f0a4f84efc9b457e0d35190be421733cfdbbf0cad2835eafb";
-  sha512.source = "deb8fbe9b572898613d77d581a9cd0a2e6c88480dd55169ec8a04995b06c81f90f2bae8811b4fd05c484bf9009a831044b0c460a9a40223be9cb6fef3939f19a";
+  sha512.run = "5a369840242a429cc7b827126120f38656684d554e06882af8174c009272f0de88a11effa881fca338cb3e7f32aa80fc16acf24d3fc10fac2c2391ce2f2f6972";
+  sha512.doc = "4e7a3e00d5063996058bd85bdc11f3469bb90f16bdc5c6ecf1077189718950053d660a86988f1bf4f203bc8f91da0e9f79d76a327e0d2fc38dfbd1aafab20028";
+  sha512.source = "bf461aac2cea7282fa4be8beae1254fdd2260b34205b012bb2ab1780af387a6855634c87005ce58b5031c863b857f56f88f436f262f192ff6c3a16bea5acc919";
   hasRunfiles = true;
   version = "1.3";
 };
 "luatexja" = {
   stripPrefix = 0;
-  sha512.run = "46049db35561dee30ad93789475238f1311bba86ad187e3e8d3ad36c0da7268a64b51ac98afda7d9595a2869ed475c4a749ff6e7eaf65eef83e9ebfb08c324bb";
-  sha512.doc = "cbadfa2e02c355725b4b31da07041d86fda583ebb392f245bc19d278abb9be825664ce569904ae0f9920dc822dbe74fb05a8873a0b377bcc9ea21bcc03d08865";
-  sha512.source = "7a610ea86bf8f4992e4eba031d82dd613d0c8858247fe5f727f2b9969d66e456b5ea091937e5940b537107631607cd08307efc23c2956fedcbaf4467b6c466f7";
+  sha512.run = "06ce71869965eeced3d97c5771e13a650b5d306d06c54c500e0222a9ed031b74d1db63e29791c4e10dc1873577e250e9197b2c9c945753b18da029b1f1eea06f";
+  sha512.doc = "32a21dcc470c38732e8851421f094ae7a24eefbfbb984630e2a5e392295ae557e1a28f5582805a4c5a4a41dbef1351227799a116743d179819c8560b846b6f4b";
+  sha512.source = "f01a6331deb8cddfb60069ddced04a1f621cfe72f2c083a4ba2de3fbdeed9197237dc976286e2ad3127f7d519969a8d60345b71d1aab40d4c0d5b54d70c4f9ba";
   hasRunfiles = true;
-  version = "20190225.0";
+  version = "20190926.0";
 };
 "luatexko" = {
   stripPrefix = 0;
-  sha512.run = "9093f37a7205511597588afdcf568f695d7e33e154d81823c9f3a3023f2e2d35e86f5b7b1f105ac2e0979e6f5406638093a35ba814a46f3f97f5db71ae789025";
-  sha512.doc = "8a8b64f61ecdb4ca362cb9736a5cd7d1b63f60b4696185db4ca8c504888c2908b97795445a48ab7ccaa520930e61ae08fd6dd3d474afde50eb7a4c3921589d3b";
+  sha512.run = "ad454d899cc34304231476cc5742ebff3a16565737a2e447b25afd97b07b1108ff4da6bf369b2aabfb038a472bb7eb706425a8501141e1dbc7427d2384fdf565";
+  sha512.doc = "42f54deadca1308c413be4ef2ab65c52b5739b1526bf9f436b3576089bd2a72a1e6461c8b30ea2da12a58c5160ea0b82304668f7897d11d7fa06dc00df4e3b60";
   hasRunfiles = true;
-  version = "1.22";
+  version = "2.4";
 };
 "luatextra" = {
   stripPrefix = 0;
-  sha512.run = "1eff6622beac9c02553dc50a8f408b1e9f345418bacd644f5ea3015285de817303550b4dfa63e302360de307ce23adff029cbd5e52b69fdecdf08b4ceffa81f7";
-  sha512.doc = "62e14aa6b6f907314573169c673b81f7ea9ccf3c6db8f3de42bdce181205625dffcec4794b3f4ccb0e28832148f9e63032d67577ab156a44fb6fceab346ac0e4";
-  sha512.source = "26e291db8699108bb8b44dfc7bafe82f36af4cbc9ce3e9ab5d6723bb5cde7dc0eb8abdabb2a442dc065c8e6620818247b67d37a54e1a0d85958ccd1d58262e62";
+  sha512.run = "03c95a5e42d8fc0ed88704799a36624ebb48b9c7606acbc09de29e5da845ede3f239a6dda43cbfb4377971cecb55b1f5280cf0ea1aae5057f3ab8df2e0870745";
+  sha512.doc = "f1c0d31fbd66f4e78eb638a9bb336f49de3d19b29bf276fb6fd0d976ba2f33599c1536ec82f7887af1c1ee359b48b1048d400b7faf0cd8016b914f4c5318c849";
+  sha512.source = "2050bf6c907f6f4e210b400cc93b1786a7ea8407eb64e90054b2ac8408d31689fdb1ffcf4859f1bf6c24c298e5d07fcbd201574b9b397de192609dda504502e0";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "luatodonotes" = {
   stripPrefix = 0;
-  sha512.run = "a4c766c5ed8e4e04d50cac3f462620f8963fd94da2ddeac691f79f5e38ae1c6d50dbe39e661bb9f44bc676a76cd0cd6d2dde25405616b078912142b2f6add3a4";
-  sha512.doc = "87f98a59a3864d91ba45afe9d987714a1acfa6d0a0989384da27e3eb02fd5d34d0ca2dded6c52e44d8da2d6a651e23ee84f4b292fb35af87fc1db7618bf22659";
-  sha512.source = "c4fb233f61ea70b108aa8b3b3e38787a6c6e1ca0a5c64a3f58f7c39403d26cb1495425b961184bb8647e43242539ad01adb9d2bc886740767cecad31437a8b0d";
+  sha512.run = "df5879d73d416054a5146919a59c2bcc7564f6895cd32b3a93e287c62f406f7d53dca0f6dc3da1e1380027e8403aebea75076dc50517dc697b8f9fb2279cab47";
+  sha512.doc = "bf2f0e49cd323e7439c1ce98c76deb0384c9b9a540764eccf3322da50ae939e855e5a002b41fd00e280aaf8d135959ec87b05830e9634e8d1bc701df97568852";
+  sha512.source = "6c7c1a9669405da4e07dc218ac84c23018923314dc3fc77a89a2755ab458fca7a3a35b6fd17dfbd4e7bd5deaab63bcb09af8e81d83680246eff43bf7a2b177c9";
   hasRunfiles = true;
   version = "0.4";
 };
 "luavlna" = {
   stripPrefix = 0;
-  sha512.run = "64b518d2d08214c8df8857d9644dace1bd14b83d49ee7adaba18f762f19f3afc249b5aa5e63cb675af14f293869aec0d81615c5016e43ef7f33e84ed9b06265d";
-  sha512.doc = "446f464fc30aa995fb7e5f85e1b8ec46b5fe43667723df707680610993143fed67320b1670bdcb0aa2dc6238b6d24b950ad87674d715482d3bb112b411526d48";
+  sha512.run = "532172433fe45c3b6a81d7b788f6202f46ba0685da373698629c11177d298ea81a30d967310b52c9055fe2dce6589e2ea67f08be9d1d3da5dc1488542feedaf9";
+  sha512.doc = "6e6c7b0d9701804b557605156b391815497bc7b78d7d3aeba172ad89e3f83d4cba7462e3f045d390d4f7a458f9b344083caaa27821a774f68b8e9cde476e9bda";
   hasRunfiles = true;
-  version = "0.1b";
+  version = "0.1c";
 };
 "luaxml" = {
   stripPrefix = 0;
-  sha512.run = "f958a56c1dd52cf1747486b136428ec2d42cc6fe316e680b340962225e121bdf512d51a797789407bb3b7c8c19ddd13066f2c3b8eb92af58734f4700c6d7f16c";
-  sha512.doc = "59df8cdcaa6b5689c5053047b72bc3a26d3491b3eff963ca9a19e660bbe43e33155159006e4b2759f42bd842d184afbc34af55d1b98fb94e525f6bab20052fc9";
+  sha512.run = "95279ba444644ff60cd0aa812690a5f60aacb4c921b9e3fe1b714f8574b0b01692cf8042fdf34a044e162b7e231bb31989e256c4a4696f1e3358df8088114707";
+  sha512.doc = "b5a7fd96f95350b8b7c781d1154ca2a46cb22b0413165f599e5d5614b411a1f1e5ba236862270855bc613e3d9d4503d9f9460fadd7694f719f8bac6d354fc8b3";
   hasRunfiles = true;
-  version = "0.1h";
+  version = "0.1l";
 };
 "lwarp" = {
-  sha512.run = "286c2a5e5fa688c776e06ace104e58d9a12c741eecf3baf67bb720e8697c94863c70b3a1738cb8e0b3d061bf432d697953c8cd8fb5df0852ee7fff211d05e40f";
-  sha512.doc = "f66735ad2b54790f7faaac5df5348a390f5a0160fe2885808b122a4403009d510262978f93ae2f43680d98faae49d01208d57fa7140296c6ec61bc2d9d64f61d";
-  sha512.source = "1f1051504e4d95e433e57fd0ca2a456f0e4101e6334a5b24b986eaf86cc3ee8b52dcf1b42c293726428415db4492c4ebee4bb2f7eaeadb24d6e4b82193eda656";
+  sha512.run = "9251bf5d255bbeaddff8b3f1d6d32949fa9278158bc7326675b7c39d450e58853bcf673b52b1d86d41ded9892ab76c9955e3b48889b37fb4e847d57b020f858d";
+  sha512.doc = "eac134b818d05ce5396f0598d1b985953b23474aecdeb91901144d2dff5f2a940b53216494fca762dd955e36112cb5678688d0129c2fc81cb4dfb37247e7ced9";
+  sha512.source = "dbcc6a85e375f40081669eac063a01d5847753382e56ff137cc84c9b3701dc64cd19148baabbf7d7cf751b892f33e6c9f4022ac2817891c112ecb4261894ad51";
   hasRunfiles = true;
-  version = "0.67";
+  version = "0.76";
 };
 "lxfonts" = {
   stripPrefix = 0;
-  sha512.run = "abeb6b0e1556ab0ac94f48bd19d8f12a48240edef851976a09c6335e766220c0456155bdf58eff704cc6f5aca07669c7f1b9b3e9a926f339d739c9dd3feb5e56";
-  sha512.doc = "4f58b879b603700da8c317e28ceea11646e5dcf9a2fa3ab3604e3077526d58734fb3233aa68846d2e2a3be523bc9affefb5478535a2643b39896c65d31a100af";
-  sha512.source = "8071d70c2f06ad68090853e9de0c700922e8f551819247db974038580447f813e93a1f9ac932e208d66f1720c00cb884b9e52af761fbaee2ff819c2288ff71f1";
+  sha512.run = "aa732f403af1adc898e6ac462412a59e4d2c8821ef47807ec5d8c1ce565a73299d472377117bca3fb30add468b546280b1603feff95d35090b338f87b279bdf4";
+  sha512.doc = "fed48ea91eb5ad414463d3b929dd4deb5cf433be63aa2753acc251aa1e8b85f0db7307a0ea96ea0bf9c4d9b14d0b90d26cde703bed2761a4a1b789ab3d117eba";
+  sha512.source = "18da6f216135745887160dcc1df6ed72eb0e49f60a445e45326c84bed8fd98cd66316e21a6e0e7528d551917092f9715641fc68e02371b609690e00403ca5d96";
   hasRunfiles = true;
   version = "2.0b";
 };
 "ly1" = {
   stripPrefix = 0;
-  sha512.run = "a744e7d5d5670dbc7317412684f41d57c584cf70b5b4356993bfdec8c7f5e3cc7581fe0a1432c3e8d3126c2f3d95caa8684eaf60be5e5f32f14d28febffb2fcf";
-  sha512.doc = "402f3e5c01e9ea95c5db8dce4d05c49b384e9b6f871ff4bd63cb31e7a02e75f8781d64596167d9b19086609941f50b0895d42f34f262f7f5fbfd993a947d4345";
+  sha512.run = "8b170d04aef1c95b345440b60e5aca56442374d897e4a64ea4fefff4506e133d4c06350b5ea86a81eb9a015a1fe32b2bd8c433401a9bf6433e279cc700d0b8ae";
+  sha512.doc = "c1bbaff6124984b0c582cb86e3e8f729e2b2c256808dc621de2c12da94c7b67c673c70fbd3d17c723292a90c60638e32fd79ece9915648347a7469caea040d7b";
   hasRunfiles = true;
 };
 "lyluatex" = {
   stripPrefix = 0;
-  sha512.run = "ad51a904a5050ef92df17d9220a5e453e251cad0facff2531cd6b9b5df47b0f39a6acb2762cff75e4a27c0db14099119603c03e760713cf0de88c263a2ee5ed7";
-  sha512.doc = "0641a8dbb8678add9c21f5ae9e94c897cda0ed63ea54fa199d8d41e308e63ec2fd360606089e263f827a5926475d2cad358baef3383edd5804e5712e3c628479";
+  sha512.run = "8ef105cf148927c99a20e792fb2259320d0e28f4140621561c9314afeb51f71a15013841e1497d0246df8305688e7211974bfe6a618b188d813481c9526f44ff";
+  sha512.doc = "d8768ee9ae861477a13dd837629d870d34b0d1fc0b1f0709a90255f1ce230ceb3ebb782c9a6272f72e32c3371b2a1d16577033c53e2d6d1b1cd09adb19b62e41";
   hasRunfiles = true;
-  version = "1.0b";
+  version = "1.0f";
 };
 "m-tx" = {
-  sha512.run = "bba58990336b30a823c100892fc6ab602fccf3999d0566ca75ffe921390855cc7100dc7a24c5ae51ad7de0826fca2880c097db69128891fa5a7c342ba05aa315";
-  sha512.doc = "7c48f7b8d95af70b4ce033527ab7817333df67816247c39ad198c9fa7539d91f6a43e91320fed1a746040b7d8ef431ec49db9bde7fbcf34db109c8a79521e562";
+  sha512.run = "055839d04921e71aa0a83309485ba2506feaf2d3bcb919073cb011bdff8ba1f623c2c7af6fc4008badf8faad17e41dc4aa55f9aa47b0065af65fd2fb5dd6ae89";
+  sha512.doc = "c1470ffebb9b86958bdb68cf50e1fe18847e11cf1c28feca36ba0de68ce0fa72daa80c1df9312319d9cb5a42bfb250e7aa3a1e2ec8e093780b170b4d6d1b619c";
   hasRunfiles = true;
   version = "0.63c";
 };
 "macros2e" = {
   stripPrefix = 0;
-  sha512.run = "2839f7638b935e0832edc459f6bd61500b76c4969b9c7d45431f578b351d3375768a2c733066801143035d89284d7ff808f415067a92f4932bcd3128a59c8954";
-  sha512.doc = "a1c2c1d491f263456de3f312729218ef4485f61f84fa216f1ac3a0b3e5e9a90dd4e728c1b031a27d90364beff4f9acf6a37e55f5ef04fd746804ac4a7f9b1304";
+  sha512.run = "5bb8ea01d851272306a4d9aa1897d879eef53a1f7262c83a8cec81a7e00334a495eb89926683d42af29f38aadfd1461893ad7bd72cae3993f1ea63a7475dcded";
+  sha512.doc = "0a089e411cce517581166b359ff092b7c98d09502afc83a4935269ed2520ffbb044921e5432238e999cfe85c72371bf8a45bedc07c6ecccc14cba2f4e7b6b6c7";
   hasRunfiles = true;
   version = "0.4a";
 };
 "macroswap" = {
   stripPrefix = 0;
-  sha512.run = "39059c91b813b434cb13386cb40eb67cb045178008bb2460405f12eff6229ca7c9937605ea2ace4b4dd405b48254319ae3f072a28d277ce112d80aca3a392027";
-  sha512.doc = "47cf23120b9a25a8cee5f4a89ce3e3e2cea07a3db390fedd51ee0288e50b55224b6e664908eac84dc50f2157c5b51f7694dd7f1345fa9392c324fd89c9e9326f";
-  sha512.source = "799545bbf299a75c9f66e00525ce96a9177cf9fe916f95082dfa516925de635894ba33e00ebf3e239be46e91573b066b41370884bb3608ca460099f2657ee22d";
+  sha512.run = "39af1bcf247986c1f7559e1523d1d33680270602bda1d904404db0700452d203f950eadb2d9808a1cd3098bccf070218bd791fdbe5be4a3b0f539f013ef226a6";
+  sha512.doc = "4e46c824a6a5909fca7d8a4628c87cc7a372ae5eab0d2f5110dc1f205e072e53a817043cbead53dde55e71c7c1c0e23695ba963c27e46bc70e2f84d430b656d7";
+  sha512.source = "43ac07d97c89b821f89f7308acc21521d025bad0dcc82f281e011254b163a54cc457db5bc0dc74419cc5bdfc4297e18cc886bbb1b22715dcb7d41e6bcc0c2374";
   hasRunfiles = true;
   version = "1.1";
 };
 "mafr" = {
   stripPrefix = 0;
-  sha512.run = "cd38708b8ac98fa1d95d77c7b107a213d07cd778212c9e9ea5cf0b3d758d6079b69637ef2ed4fcc0c5da58b3a75d76fe6c68ae874a07b17aad9f8414b2bf9ab1";
-  sha512.doc = "168a80bfaaee9ff30c8bd3511a862d0e0cc0b12d873a7b412cadc375c04580f39781e48c138df062e5d66a0953ae81e9e78ecc5ae493f6a8543e4a72d57e277e";
+  sha512.run = "802d108e7deaaa1a42b7f1eca5059f9547f0f4edb2eb5f8f3f0b68d03c05662f37d2bf7b25844dcec6b89d6d1f0babe93614cbc87fe1e2ca0ac2153602c0cad7";
+  sha512.doc = "5e3a0c42944944fc467e09751c1881dfd16ee526c78e509acbad394725703771893770d11e5aa16b09b6b5d1059331b72ce0f1e85c6ec61677d101276398624c";
   hasRunfiles = true;
   version = "1.0";
 };
 "magaz" = {
   stripPrefix = 0;
-  sha512.run = "02837fa79e1ac2edfc20dd0cfd4d215d0f38b9dcc4d3a234d3fbf67d418614b696e1a08e547cbd901efe949711d61fb01cb22b5253945d9dd7c5d3b050ddfeee";
-  sha512.doc = "cff62121a4918f8ced43f519dc301b6a5c521763ede7f616d8eb6bf09a603b411e4f3783086e6810fd9feb92cc438974bb28b0f5bc673bc79ea685eca0776e3d";
+  sha512.run = "5c35baa39a8b26911b2c2dd875576a0f875f5edc37fb497dbd403720855861219fdced11ee3fbbdee8e63f0817b6c2ee6a20e6ec3bcc9a5183465c22caf7735d";
+  sha512.doc = "78c9163951f269a489f6e8a48cce7d9ca46aa5c7f2f2567f8e50627ddc32920a8a5b54bf141ae881c2863de6bad4f7a954588fef9469291f18e65b7fadbf051b";
   hasRunfiles = true;
   version = "0.4";
 };
 "mailing" = {
   stripPrefix = 0;
-  sha512.run = "1a3f6e06eaecaff632a3111fa3baa0eb5cfa6083904b67f9249be9b8a139ff6f5656c4e5dc996c69df651d7b8866ca5e5937eda8eea7177b12dfc67ed6a80b9a";
-  sha512.doc = "d92f6627ad7288a711e69e56162e12952b16fcc9d8184d2cb7118114eab6002b2db8454a464b3e1b4a59f8a27d53224a5091186f98c2dc699e2f7be8f804af72";
-  sha512.source = "47cfa6d0280cad84b5afc86091924b52d431853ab6e67febb18c9ebc4d6d5ff87c41df015170bfe26acb27a40989627b02b24ad8166c38da21e347c353a555c7";
+  sha512.run = "33fca4d77b34e3390de647e7e39d6240344f2a90c6067275bdb0e7dd1a3deaf5d5cdaa84dc4a49a0c817bc6923eb593602653b0d0ae4b794510a272b78498be9";
+  sha512.doc = "2fd2d4dd5c1896d0849294a1911ae3682b7331cfa574bd46aa047f118fdcb09b4da3e29f6d5412d23ea49f776cd042694508e8b5492ec53cb44a6acafec110c5";
+  sha512.source = "5adf58b4bc60e939906b8ae587829937afffc54af81623e640a513ed8522984c2308d3af1631857f4469a5774a844e3655bc3a9ca8ee09445b545d10dbcfea5c";
   hasRunfiles = true;
 };
 "mailmerge" = {
   stripPrefix = 0;
-  sha512.run = "9ce0a1bcd0e0b14112b2840bdc6850069ef0c98f45e2142842516bcb075a182064f6ec4efa07ab5576ac47b03dec3cb13d1cf30558030949621909d44e36042a";
-  sha512.doc = "8b07be8de89a9046687021e5a60e4d60120d22999d3238022f4cd6521ad5792ed7a25a0c39204b43894753a2fa0c621adf3fcd4fdcdc9675c4bc858e7385e6e9";
-  sha512.source = "2fd8ba294c2b23c952a499ad33dd6a6ac76097fcfd60a5a473b29d91d0f098cea26caa9ada49dac83cdce1cf1745f7c20d79a8b59b5f387421d5d153403219c1";
+  sha512.run = "1930b0c554dfa36514d0c0b33749d506d6e5acfcf65e3c1dde3ed75a7c45bafb74db8d83f1b286c1a623acb32b2047dcab566ad85e3676c67c0ce1f7722d24f4";
+  sha512.doc = "3e8aa80211af8f59289b87dece6cc2a1c5eccf02805e3e7927c78cdac66cdb6afaacb07b1114f8c67105289e4d4f7188043cc28f00365c1f5c3f353a53f14922";
+  sha512.source = "d894133e294ea440e1916a04f28a738930ea0ae80ad96e148434c84a02a388735d00778ff4850306ba7336c915a9b2992f41c496149447e6189db82c59a66138";
   hasRunfiles = true;
   version = "1.0";
 };
 "make4ht" = {
-  sha512.run = "53e5dbacc1cd83b88724d084b78a2547e012d3a56235153dae35138e0a37267748646214379050923d33ba2adf8b6a2436ca8d333d8eceff4e143f2f9e55a1c8";
-  sha512.doc = "33bc85db63c069455861212c8e004cffdfafb99850c09daba82a1606864ffff8df2e80f9b7429b60db0005af10a02fae2746338d8d3b0cdc87418c4559eda1df";
+  sha512.run = "ba85b1b4055d997677f5a158513eeca0390e9e07b872250970908151f33f7203a4d0938aaf4dc56c33e36f57b99f797b3a28f999add39d931bf4e78b907ceff3";
+  sha512.doc = "45637b363c64d0ad91e164d8c8a254506f98c8105d226ef9ce1912c2c4ee50057233f17035e8a5ab995c49875e638bbd14e1a13949867329a3e3cae65b844c55";
   hasRunfiles = true;
-  version = "0.2e";
+  version = "0.2g";
 };
 "makebarcode" = {
   stripPrefix = 0;
-  sha512.run = "cd03fb999898e2c34f68c177151573fe3cd84af4a6f63d4e49eb84f7a719dc4d47ef492a74a5c9f95b7ad323efd7de4b5793d635f3fd4807dec3bc078ac318dd";
-  sha512.doc = "c8f8e2239b24714dba4b6237ab1e1936f8d05c2829c7d5a10735837f2eec3d3573b5d435bc6f54cfbb42eb3800de4b5c5a3ada2efbca951d5539ed5d7347cf68";
+  sha512.run = "a19268b5e63e577b4df9255e4c0eac640c73ac9e08f6d4b4baaff7920f714b7dd961f8143587b59478df2d854dc2f363312833c7636d08c2aab644a25b54bb40";
+  sha512.doc = "ecd0121f679d7e4ffb162c151dc4b60acc78f9297d3bf0003882b914f0b1a10a52b43e844c5bb085d73ac08f9f0aa2e768ec4fe7374067ae2fcf304e842a29e3";
   hasRunfiles = true;
   version = "1.0";
 };
 "makebase" = {
   stripPrefix = 0;
-  sha512.run = "8b66b365ac438f21b0293a5254bc29ada3a8b63dc0cc97e0e44e66a9346a8e75fdf38fc17c762d1432e83a10f9aefafbddaa272f1824bacaffb24bb4e18ca46c";
-  sha512.doc = "aa958571714d79a478f8ae077649eeed9b9d4e678ac3749e4ba2bbaf1366316af314bc9f4f5751714c9c7e6f843d962f35737c4134094ea65368863e3c67ef40";
-  sha512.source = "423877eced8c97c1115a0a8b2f0924111dcb01de3157fa7b606c92c28c5a862dea18feefc049e8d49243d05a7817478263f23122dc66fe2c0ec07d975eb82f8f";
+  sha512.run = "cf36d0bad24180f48a7cddae8fa19c6260ceb5076b21f05e48360a30ec259b342e6a17f1c5d299ce5fe02a8dc5ed7934dd55c5529118bb24dd13cd36242b0d6a";
+  sha512.doc = "2f7eabf88fe3777ebb1455caed5a339c3b56e0e7a97d34aac0b4c461e7ccf6450de936678ce00e64e39f308167ec55a6b3ec42f7428a7a9c87d2607570e1576b";
+  sha512.source = "734e05be1aa54da7bf484fb9211b1f5d6d076c9a87c3287ebd1fe0fa965f542e4e8e14a6df767ccaa23063fc263e66d52b42df54fe3c3142bcf0b3d7f7fd8de0";
   hasRunfiles = true;
   version = "0.2";
 };
 "makebox" = {
   stripPrefix = 0;
-  sha512.run = "e5f36d8eec92d974aff44689361bcd61ffddc9b3de97f79de457049eac9f20557a81ae76773ccd747ddd1e5273008a53f7f4f315dde377409cfefd7db921d085";
-  sha512.doc = "675d283b75016bf8ccf3a341e468ea2c97d07fddd2aefc228363e7785641015ed7546388d6ba1f9f76fe45391c9b0634e7f6c1583bde7169dece5485a7dcbb53";
-  sha512.source = "21aefe5e849c5801e1ec3713bf1c568555e910bc22d7bcca4a7ef4ced82a3258c7568cb22b20c087816e17fe33ca896d3fe0bdc339e933822dd0b247a80a370a";
+  sha512.run = "918052ed5c358e12ac7ca7c93f25a43fcfa8f7ba261fdf652d7ccbbcc27e3e0f822813d8297d3b75450c443687bd97e93416624b51da61572557d6a337638bc7";
+  sha512.doc = "807d495fdef601fff666acb79c7f3fa43d1aeebf8aed77bebc02f90dca4fb9c36ae1bc911a9af1009538f3d3e2c4c7f9ceb0111d091dd4c1691a1520e089a697";
+  sha512.source = "04ab9a02882a505f4393288ae8e5d6be374bdd6aa8a4472da1fb7e2c9e3b4bfc58132921a3287a4c8fe4d8d3fb91ddc33496a088431862407988ade1f716ee85";
   hasRunfiles = true;
   version = "0.1";
 };
 "makecell" = {
   stripPrefix = 0;
-  sha512.run = "c1859d1f0f93a52632e7c8fddeded1f9cf71684bd4aa6d3c2469a1e42ace260a4b35aa6a382d9ba8c22aced107d7ff21f566f1929f0643a96e7c6bddb35df5d7";
-  sha512.doc = "68bab63d7ae25b48f8a1405b975d183b1569390ee2b764e73e133464e02a0b482cc65a747b1a648043fe02d94e26568d5c86789c6dd3d91d2a954bb9abc0ac0c";
-  sha512.source = "66590735e5c96e54a2a984a5473c8afd088b6c52ab405b622797a780332e3c5b78ccebde73f0828656882219e8a5694ec80796e5f962e42858231af6d0918972";
+  sha512.run = "ba32b6a68b0a4cd6df36d460832e5cd9664a9c305c24dbca93a4fce69e97b6db3d86e3f219a0511c7d70378ddd9424d3685d60cabbc8554077c6bfbd8847789b";
+  sha512.doc = "7c762852f1c7b4609fa823117e765d2b42ad857e2ffa1ca84aa3df74497c88dfc0a2cf05747f11f14453873ee70c4b0f2f890112c567d04ad0d61ada37e14335";
+  sha512.source = "bb2d33b674b612e67bbbc1bf04a68f3804fc37b9e22e19c9af05746efa869ef52db48c5828724b88de130b15120e9ae003f49ea6389f7add98c712550af87d4e";
   hasRunfiles = true;
   version = "0.1e";
 };
 "makecirc" = {
   stripPrefix = 0;
-  sha512.run = "1be011dd44cc281763a4243ac8770cb24d5a8dcfe3b7a4c5a1a21678140ac279e0afd8a7448b5c9a4466f1c03d9fbad1a4e7a722e8ca553b30f95c291cb67b89";
-  sha512.doc = "e0ee3b6a430492a23ab857c77af8f96dc969af562d62590f7b34014ee2632e657d4a1cb26152e019d3d31cf35df3aa0c906cddee284e88bf4ade10b0097c4af8";
+  sha512.run = "9bba91e5139b90201e232aa3fa21254c5bf8d989aedaec8310209ae6b772d24d7b8c3be379909f04c2c7ff079cca10f43a1f74091a77bb1b8ca637a0743a2ef2";
+  sha512.doc = "25190b3a5d911de1d02fa596f604527006f3adf7512afae397e5ba15ab62d6471ab834f92437d35a9f37ed83c8b84990d79ef0fd9ce2b0edfffdfaa2ec97a345";
   hasRunfiles = true;
 };
 "makecmds" = {
   stripPrefix = 0;
-  sha512.run = "7a742680ba9b4f3fa0e079b32781610e93765e631ec7f92e2e495e8d35c20fe8375533164aeff411587eb915a703150d4a5d6bc767348e49ad9129dd70b9a599";
-  sha512.doc = "0e5aa35987bc7be7f4cd54d14be5dc960e5d0d5a0a5be103e7fcd0712749020955b6c9e178e5673abff01cc26f7f87fc426e921e87cfccb5beb1c62a447f7f3b";
-  sha512.source = "ed945ae385baa825f773d690099c9f7ad9c66bfb046267a0587e8992b545c4c5eb97b6816731bfc8db578ee4d9570862ca089d67546fd044a93c96404d49f0dd";
+  sha512.run = "fb63fdc9cc0aaa531b25417f0c23348971c306b1a93d99e7efdbbfd7c3907b50f28c67f36a88bb2a94154bcbde937e63246ece577ee2440ad4f5c2935eb25b99";
+  sha512.doc = "f69dbf682df7e3089727570417be3624b496b5ad7db627b344d32b106606cab5299dd23497e137770fdfb9f940503a65e1074e06dd67e0561b36729ab6c3d428";
+  sha512.source = "380eca4f5fed0ae72cded8f6d3a201cacb05a57851c4c207f086dd17762689cd53a6b27daa23d8043c311adc9baed32808d2c7eb1855892f8113ec7f13c02946";
   hasRunfiles = true;
 };
 "makecookbook" = {
   stripPrefix = 0;
-  sha512.run = "5f0ee480c7d9f5e2dff889559c89976ac27cb4c803d61f13fa88cad5c415a36628bb8c2cfb911d43d921fa849a769d51c5a43e37c6fdda8442279fa849534e75";
-  sha512.doc = "b7100378ffdff32786a1ac05875af770f378e37a801d8a2a4c14a0d942c472d16676ca8d5265e0986acfdc3e66f7513860135e03ccd85df6f28323d61f8ed14f";
+  sha512.run = "a4fdb7a7553a08b51d15c038187ef621ca6852c20a033b1751c544634c3092f93c3db5c1f4d744732ff6696509d8fa406251e9d14e619397ca4202b55c1b9c64";
+  sha512.doc = "84c97dd438e3d3abedce031da5841f789f3b8c28672c9e3b6c53929e2e781a9d51adaec6d883d0008b42f1eae2ed5bbf992ec229bb8b2f7f510346d10dbc31fb";
   version = "0.85";
 };
 "makedtx" = {
-  sha512.run = "dd5e0a4545bc603998beef532f3accaed479fc06fc92a73de183d6803a9b4b7b54dea901964124607a4ba14559fc41e0a7b218c7b1796194d004334fa4d32544";
-  sha512.doc = "279a128c92a8342c5b3f1091f6ec927fb1df8e977db847df9c390218f617df3b99aa0b91e3bf3749ee4d95c1fed6025dcfb4a1e6bac6b950cb337725732e77a3";
-  sha512.source = "b1e5292d447a049f43e6a0cfa748adc369d5ec9a407c650848806865be46491425a36f201ba89f62d2e5fd0bb6efd1f6ce7251f3dd1c06f8ac8e6e46e4933997";
+  sha512.run = "e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d";
+  sha512.doc = "913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef";
+  sha512.source = "84e12e7798c37a598a2d37fa7faa206ffb6f5c1f9c21af7130a9f05bebf9857f2a4fb7988be55a9936199694a0d74595ff75a1261187d81fd06beda5e0628931";
   hasRunfiles = true;
   version = "1.2";
 };
 "makeglos" = {
   stripPrefix = 0;
-  sha512.run = "03ee1fc998e0a06669aae05636edb45c972bdbddc96c2ddb36d7361bed2d562e79ef42cb7b3bb98bf96e0b5b88a176be936248c9d48afe3692679cf3d652496f";
-  sha512.doc = "2bcaeee0f98dcd49a58230eea62490428efd05b9a65aae19deffd3adcde2ba59c7f64feb6f34ae6b9f783dfdee39e1234704294768d14ab6d67834f373ff65e6";
+  sha512.run = "477523d4663e1e4a1fd6bb830e4574d6d116180b06a3199d6ba27f7cf704a1906a2812496e9a7ba8063690a2095fbd5022a5eb8c2448b1e0341c8a961cf05794";
+  sha512.doc = "c580a23d65422d8405ce011fb6b088f53836811e3da517423f6d0dce098ffbd64c0648318eb9fb74ab637e1796d19247ee87ca8a25c7d306e3dc35a5d6d79f99";
   hasRunfiles = true;
 };
 "makeindex" = {
-  sha512.run = "2c0afe8d9e5d03187ae8ee6b0b023f727577b84d369d31dd5e1a1980a059f75866b752aae8c5067ca968c2c6c6b5a6fb9f11010c8c8ba9f2aac9191a6647c5d7";
-  sha512.doc = "7feb700df902f8c5d66eb491121218fdb9eb04077a7c208706af3281a81c53ace56cac1080627ff10db939a66a7077dbd637b61642ba5e7256adbbb5b0ea2826";
+  sha512.run = "6ddccdfd89e0f362b312c981da16e7e2771035ad03135f7c49998ec7d2b4f7990cc8d3094d2a703277aa1be1d43b332906169d1a6699eee8730a5d6451d9a2e6";
+  sha512.doc = "6decf2c8d770fe0cb18c87929f877afac8f2e5baf64cc85c82e575fa0722ed9dc89fb49f08aedff17f26101dc3e7ae42ca6d4a1f2864ec2906c46a960efaf90b";
   hasRunfiles = true;
 };
 "makeplot" = {
   stripPrefix = 0;
-  sha512.run = "c8fdbc19ccf1f7f87db631519c07085d680ac52d71ef96a1eae8a5cf5251d346bcac1c5c229066e45f6b4f8750b6d3debf5b5452b34f0a93f62175c6c6001e57";
-  sha512.doc = "a74e513029f0d00cbbfa71f8db3df5201a9adf4a87362b00c191c71bbbc6edd04ade1681ed42d3705c77adb5694d2fed1a1104cd2506ae5ea5595e1b5472169c";
-  sha512.source = "3b385e376b6148119ce2131effb4cb845faa45f4ea4a68a6456e6efda566e3ef2727a634381b34455d9d121a9e7089746746891ed95f6c6cf45d2f22007fd6fd";
+  sha512.run = "366e9ec4ce551e17ae6e77f068b0d2fb46582c033eb27781cd620a87731eba744212db8dde9ce8e50318f280dfe31e61a344ab4232c3bf26040dd7a2290d4fef";
+  sha512.doc = "9aa863af450a66201e7cb3d3a58d9248430aa26cca9b50de4c71c350314ac9c0f6fe54e5eb1b37917a75030a60ca18102933f154bdeb7831ca02bdaa65b3a6bf";
+  sha512.source = "b4f0e0de72c005124b7e83f214111931ca2ba03ae5f1270b5d10ff790c6fd84cb02950aed7377deae2c432de55b7822ddc68b9911b608b0460c7800f375fcecb";
   hasRunfiles = true;
   version = "1.0.6";
 };
 "maker" = {
   stripPrefix = 0;
-  sha512.run = "6050c2179ab041e05f5c14f24a9814cb74ab41327d844ba455465c8463d0134361dc21723d9abc40935ecfa47c12110897f726b4735ae5f475de3254bc280e35";
-  sha512.doc = "9d2de06644c8da3e8d71948e11f18a618352d1684726895ca51eb982f0f85f462dadeb5f22248beb84934e7517ff950caa634e3f4144ce8ba16044104c5d75b8";
+  sha512.run = "d8cefc4d4389e4024c448400f02bc0ef0a21146c1d079f804f5e102ee3f2977be7fdd2c1011672b70192af48693ab1fcc38bc1d6f7711fce217792e82f0e5e54";
+  sha512.doc = "fb7f68b4c48de87e6c1e380525a998bd1cf7578c2e4a51551b5ab4909481e66faf38f0a74083f25954b5d05e9eda12e56734351fab063f80955abf24eadc0e21";
   hasRunfiles = true;
   version = "1.0";
 };
 "makeshape" = {
   stripPrefix = 0;
-  sha512.run = "3c5611f80c0af1d782c010f0d0d53e27e4fdfb2a95816153c0866623b4b76dad28cdd5c72bc1a73e4b036e24daad95790039042b11269b04bc297f7ae5b995af";
-  sha512.doc = "db60a0e947317139d67974084603db04ce3bc56b048cf93f0ee7ae83bb23b7b09f03323adcad6b5e7ad80707f61f8a90736c39d6356add6c230ace39a5fd7abb";
-  sha512.source = "e540ee1c963f59211617a18e378dd6165d0d22e99d7017bd52008f400261d14f728eedebb666d5dac0e63275fe79de6a27099417a2ac3f3ff61351311d9b1c2f";
+  sha512.run = "b13358696b16b41a69e5a207fcfb717b417ec191ae9f6ad4408422b1ce99c3785a3328cf9bd2e87ade3ede4998ba76ddb2f640e06ef5ce88172942e4d0cf2bfe";
+  sha512.doc = "a249c636b414203e75225af611173add2e90af306d4a78c7d865fdd0e76b23637fb3b8eb41f127905bbd0065cc7b941d3d26e3ee73b9aad56e05ed0a44f67d57";
+  sha512.source = "43886cdf9c2da20943bcf0403e05fe19c035cd3d49af9afa52212c376a2ecae9ad963a24c257b70e3dcee448f42ee1464e63dcb0c5addd7018234658867d3179";
   hasRunfiles = true;
   version = "2.1";
 };
 "mandi" = {
   stripPrefix = 0;
-  sha512.run = "55f74010b4083a073f7fa4c1bd3232a2e448613b30b96ef0159944cf51080156f7e7ed3b41e373d635539affe989270473898228e6abbe2caec5a8fef39b5e95";
-  sha512.doc = "a319ede2ae07d84374bc3eba3bfb50b6c685dab904372d01970bf1dbd70ac72280781b7e86c4a5d636167a9d0056518980051bc7cbdc6d8210b4bb7834182384";
-  sha512.source = "68955c709b01d4152b164fd1b41ce897a8102db1526ad7e48ec6d3886b3ec152e6df94bf6ddb7e7b345fa6453bfb1d3e5fbf55727c522e80e57d629a4167cc7f";
+  sha512.run = "a22c6cd667b7a256cdb0d1f975d214890811ad047d3eddc96e1289fd22a8ce9035183c5c1f6a876d7bab85bf8bba9626d36c2edbc8abbd060c0ebafca6b84932";
+  sha512.doc = "60cc9d6215525424b3e05af173a533d3781d1eed50d1e89e3d31f80274ab2b91033d45254eb419ec9a9a4e7553f50ac9c737ac82daea8dfbf29ba077d69ce5b2";
+  sha512.source = "2b05284ec86ac90ae6e136c96b2eeb0215ce3cb7d9b9f85aa14f047c596e7b47c8c618ec5d4ee0a99d624b737fbc8a3f026895bc9a8b2d465fb3dd7fa2ea806e";
   hasRunfiles = true;
   version = "2.7.5";
 };
 "manfnt" = {
   stripPrefix = 0;
-  sha512.run = "49a8d481de2a4522ad6ef7b6d876a113f620223da72f52bef37ef30bbada2cdfe0c440324ffbd024cb78540a4f75f8b1b50de7e5a715c314c3256a864e2ae9a6";
-  sha512.source = "7f03244e1d6f17a4414d2291762de433e1b424ecac0f197c48215bd778b343cfa507b3807fcc02b84b330cef423f3a27599acb82b87863182dd0653ec3878f7e";
+  sha512.run = "6d4282db5f5baf92e6dfcde9b8a1e78027a5d6bef4e27b8ff35741fd8bcb35ca0a0d4e3db996ffc9a2e50868b1f849f961a4d0179aee0f580b33d79972656d4c";
+  sha512.source = "1f8b2acaf18fd350ee0359acb4771245eb3d5d750f92a637745ca01f4100be9526ea323ced82c6a6ff71eb6b9dfdefa2c44b21f5ff9c15f3f2fc68536f5f8ad3";
   hasRunfiles = true;
 };
 "manfnt-font" = {
   stripPrefix = 0;
-  sha512.run = "4351ea888c31fb5f2164815cdd9c1900cf73afad6a9260a5395e61a67cc5d0b489bc0385b443c5e6526029bac6bb971a466668cf5bbf01b326e69f5cddc6ce1f";
+  sha512.run = "fe7ddf667368990f988005a44013aab80af9c097f4f824f717d84fddfd61dfc658f507d5b1bf8f7c076be1bd5a4363f117b388ecd39b0ce2b0ee5fc8aa83fd4c";
   hasRunfiles = true;
 };
 "manuscript" = {
   stripPrefix = 0;
-  sha512.run = "6838f47dbd0e8d3b17fdea938ab47e0a4d2e1660c52750ab80071947cdf64c016db4646621791fc73344ba357452f6de74d80111794fbeec4989d9429120014b";
-  sha512.doc = "97637dd380978648da6913990a3cbd0a1f3b791e114b0ae18ac20e4779adbd3a347d02ad3f64560472ffec51864848c76fbf00d45af1af8a84356eaaed227430";
-  sha512.source = "3a706157ee20f3be6a33df93a0caee2573b6ec1196e2278f2fe4b009f987efc44dfe43fd83893d2940dbbadec1e8b0ce6944ec48ccb260d04312dfbdcd84343d";
+  sha512.run = "24e4c800ba6f5089ae76b6d444c81689fa696cd2fd9e62281171d771f8f9f065320b53b058cc6adf836f36d378f6f7fece98e8c09e2b655ecaa8884067bd696a";
+  sha512.doc = "baaa102f870cc307fe96b583f74c19c7ef2c7649f01fe7985c3dcd331539bc9d839f6e34aa238354b6932d14638b77e83b7bf8e62296c36fc2dba18f776271a6";
+  sha512.source = "0cc418f2b5538035123d81f6702031d97bf99fa6733d491b306981ae698f3cad9bd121a20410329b8428b5c14749e825052544cdc52b9c8457d7e302dfc64888";
   hasRunfiles = true;
   version = "1.7";
 };
 "manyind" = {
   stripPrefix = 0;
-  sha512.run = "3f3f7f2b13c303c1ade2014b2fff5ffb3a5058cdd1e32b9b438d343910d6d3a34812f5df79ce3d24576956c57e21182d2ab4060ca1787ab26de7673ece5e9b47";
-  sha512.doc = "594fbf1b55b5d97ace75d90121beff917ddd6948de3837756197143d07621526f8cd6340f60328b890fdee51bb9311bc4ceee42065be77630f74a0d43c5cef72";
+  sha512.run = "e08291b4cb0d2c18e6b97cf6a287d7cf5b49eb312138910185845b6c0a075981a15548de2dded6f597605aef885e736c17b5306328574473aa56f8f11b6b8288";
+  sha512.doc = "e8d9c687c1b3525c5e4d218a380781f1b2e7d512b053a583b00c97f0b7eefa1202dea310454065194039841bf8763acc2b0c4712ca8d5e9d31b57cf03c50b928";
+  hasRunfiles = true;
+};
+"marcellus" = {
+  stripPrefix = 0;
+  sha512.run = "dbb5f27d0bdcc0ac304a45b06afb800c002b299cb70f86fefcc25f9aee288c2cf4eb8bbbc37eb97d380bf1d1e2371fa77c196e87fbb92c22d2cb248243dc35d0";
+  sha512.doc = "a9c4fd90385e9ab3b39e4744084d2730dabb4091b09270855ca0d1bbd21b3f0518300a4f2ae0243121f5174f3a491a460ed6c5d617298bf4392a23368cd57f8f";
   hasRunfiles = true;
 };
 "margbib" = {
   stripPrefix = 0;
-  sha512.run = "da375b010abe4dcce77234ae0bb046ad1adc98bb5b12591cff61d91da45e97645aa553a0068103bd90024b76ffc0c637861a102b080681c390532854cf6edb17";
-  sha512.doc = "72099ac09b34593127c65d29ba27f1018503211e72241aa975c7fcbf9660e22ab09346a8a93164f28f331896f54a743353874606c983c73abae60f0f0ef9b16f";
-  sha512.source = "e0c9427ec0472e868d2901828e81561becdd35263e47685fa64e372c2a1ed2c1947a5dde55856bba72eaf0e6b436b8de9edbba0bcde439b071733f4f5f329582";
+  sha512.run = "7f734e46e72badf838397305ca926f4589b9aba7a0e91e21313f6a733f7cd09db959f30e3694490633713b1a77c8d11a521b2892722496fb162d7c25c7b8641a";
+  sha512.doc = "c4f93e442d1337cb5a1825b4f7e6fe5ae0a759c32837a896852ec5592b3c31a9c473789db35c147b67360ed662b1e9ae42a59fed446dde234b174f65e358662c";
+  sha512.source = "7a9aecd832d34d1225606a905558f5ae33befaaf20f8fa1e6e5263850d2c72273be5a4a05e96d15225b7a2853212e3de28455c856c17e42838406862cadcc344";
   hasRunfiles = true;
   version = "1.0c";
 };
 "marginfit" = {
   stripPrefix = 0;
-  sha512.run = "a4f9a5830c02b9fa06523d16718dec7b029cb0dd8556a161cc8f38b06d4053d2c86cf0b856d8bc231ff3f4bf01fb4d6578ef245c8d9ab43d721ac4ab380d2852";
-  sha512.doc = "909fb267b5eb4239ad7cf13d59d7df929a7a6687d351a0af647d0c63ec9f80500f7c034f138c4263cecea102b1f55d9b11dbbeeb4fc9ac7c877c9b167c7a1905";
-  sha512.source = "7df7f150048c92cc63c0415615d32e53a11dbb26761f8c809558aabfa9df1dfd71f31e851c884b9b34ed82818a5b7a5527397c59d7c7d5acbefded7b998b1b88";
+  sha512.run = "dafe223cc6120beac7ce419c5f5eb72ece9be2a21992e829a8015f7e05ca22c40d5196d26d21d8febf3459bfa58c7defc797ce7bd4ee1e3dda28761594240b3e";
+  sha512.doc = "fba2ff6febb4acd0dad443221c6146fc2b3818c4948827b827fe2ff2df82f4e2843520f1f4cd41fd64900012d64d973d9b649e65b1c5ee4e74757344ab423dc0";
+  sha512.source = "89892d83570cad7c46b5fafcf8a7d87b660d898afde97c2fed03f82d3cbdcea9bd11baecd19d3aa958305cac0d9f7163e00fe262a0738e7f89b62f7d1bdf0df8";
   hasRunfiles = true;
   version = "1.1";
 };
 "marginfix" = {
   stripPrefix = 0;
-  sha512.run = "4ed5aab04ed97f8919e29445daa7654edbcc6f74775c814e1b85926914f25e2d11b8f15cc7ca4b0f40720c753435088e03edf42bff4cd08af413ac0eeb6261bd";
-  sha512.doc = "2c327e9a43db7d58eed91fd62780aa58db60492dc7294b7536de5de294cc38225eab38f0815e4f5faa0ce1f7a3ef6e1e37feddb8ebe8d8c3d725c09baa2496b5";
-  sha512.source = "d2af0e1ff0bdfe5211c0cbf481e7dcba42c35b5d33255b996f79545fe46cca040c95e8e11a80682b52474b09214ab7fdccf688e730b6e44ecbf195c6db415952";
+  sha512.run = "9b9649077a93599c653d0e2d46e6814eb378ee8d2b531e2b810fcf0a6b698899bd13041d3b7f4aca5039bced2eff4789ad21587ccc596f70a6105c2efc89ba59";
+  sha512.doc = "fe547fa6bef7d2417447e4261fed0b43d2f88c944c499a55c5959a2e7d9e169e80a06c9e191edd76f1ce7ab4da9834b8b216f0881d93095e9c41ba5b7741d845";
+  sha512.source = "fe914d9e7094f64f3d94969691e02950fc10a69c7237d5ea42158a1ffbc983cce768873ea734d1def8562ab70294af0f13bb1b9cd80a2b1526394f2e151c3b31";
   hasRunfiles = true;
   version = "1.1";
 };
 "marginnote" = {
   stripPrefix = 0;
-  sha512.run = "57f84fcb7859ed9107fbe14e8f09c2923b6fce844165a67ece9058cdba4bc7750e878ab8434b667be086436dc5179056b3a88c15cbcfb3e404446e8a92230fca";
-  sha512.doc = "c4e7f12bda9f7f55e6456bcfa46ebd5cc27d8004d4a5c739a315f1fe66bb22ce61863c7f57b9ed5535c1520d19e052d0490df35c172fb01059e5070831e88779";
-  sha512.source = "86b722ade866dd80db34b46e7f812676c321a0332c551eaa3745dcfdba4522dc7253f3e990efb4f757baca5977c8a983103dacd6e0fa0edd519717e18b4b6bee";
+  sha512.run = "db05524c613df90a75c6545dbd19bccb955d0b3c2c0312686e21ed42e4802d47105726b0e092d178bf484f1585331bf71c604c2d9f039065872e218357d0d07e";
+  sha512.doc = "a9d6a3d7f8de332a5f77d086d552caaf91e5ab4a71288548d6d7ac3318cde208d948a668ac554d2a8f510f984dc9943bcfd0e07a70a2ee00c9bdadd3e148f550";
+  sha512.source = "fccae0e44e24059f6ff2cb61b2d52d69ece44287b4183733b37b157ff700f6f251d86d4344c3a10c1417155d6e16ff4105a77ce01a2468e5ba160ca79e25b064";
   hasRunfiles = true;
   version = "1.4b";
 };
 "markdown" = {
   stripPrefix = 0;
-  sha512.run = "1ce30ddfef3438ccf9924a1ca59c13c8abfc5af022136d643671b28d3a5bc63852407f40bbe2b12fc458d8249fa675988b3486556e008405279bc56c8754cb48";
-  sha512.doc = "2168faf3139a2ce02fecda923df9a023ef8fcd6b65c8145b0e9a2cf7d3279874f0eb7cd07399a7e567e0e560a1c120fd6964def34d120bb20b13a249f78a0501";
-  sha512.source = "33bbde0a376bc7ce214cac8003ffacb21666a9ab96b60decf763dca338b4d4f130779432cdcc820bd4d084ad6d016d14a1decce5f3ccb46997f600283aa9600f";
+  sha512.run = "c17f37998b3623bdd94f074d4f47fc871e8cbf3ffe961d1933ed2113eb90219cd74105d5e35675597376b64a854e89eef07c629335079a9b131f827c6839713b";
+  sha512.doc = "34562bf94ae2a4c9dc415b8c4213b6f81d1fab8e92d1b6da057997c6e32fee652fbe7245bc2c7b9bc188bcd9d0b64c7a01eb1795874df473833730a551980cd6";
+  sha512.source = "b90130e216957b4612283e3316192d3e0118740a9d43cb205bc429e008832054a23818eff2bcd3b23f12a3f27fe3a72f08e361b15c84cd6efd13173909c61ad6";
   hasRunfiles = true;
-  version = "2.5.6";
+  version = "2.8.1";
 };
 "marvosym" = {
   stripPrefix = 0;
-  sha512.run = "f441f0d1736234def9e75fd4039a5537f2b34907e147e0c03a57d213273e0b70b5adf5cf2a511bce0390246d1c1dcb8c8d10899e8d55dd3be14e0a5cd802063a";
-  sha512.doc = "86e7e38fe479d29908cc008cdae174df0453e83062c5974f6b7be91d351bb626e712263e6e3eae300fc581780c794084e60b3872eaa5967833a6de73e8879a50";
-  sha512.source = "e5e17b45ad2c8914c9eef3dda317afeee3a0c34d55089107dc2bdbd2cea12e46f8216a41b5d031d60b5ea160ebd42c05992792aa1d44d43d571c6aeebc231eca";
+  sha512.run = "64093dc5de012c6a50762ef34001ff2305e6b59b667ac7b1ef72cc53f8b0ed3852b4d307a8d421ece996e78f2e32c8871038b6b66659b0866dbdc536445dc7a3";
+  sha512.doc = "d6f72ee7ed64404acce5c37c216a7e23193f2053c18910d80fc6d5fde73ba86c07045102488f17f4cbeb9e1d148567973713bb4d9ce2cdd3cb166936ba5623e1";
+  sha512.source = "c28a69567c593160c7d04b4fc0fe7f0106db12ab588d3f02139e55ad99a1b4e33f1bba92f5af103b6f2a7e720d243b919d1f39f28031ad95dde3ae7e723f6e36";
   hasRunfiles = true;
   version = "2.2a";
 };
 "matc3" = {
   stripPrefix = 0;
-  sha512.run = "130475e90890456495fbe46597c85a9664268352b80a4175ca5cc9b5cf76b47620a8009c9b0ddc8515266884f1d3454d3e56bd2756fc4f25837e737690080007";
-  sha512.doc = "afbe2428ecc96f0c94cb095c9fddf062cea92637fbf5ef4403ff1bcf10f22ff95670fd2d62159aad76961a9bcd7922906379994d6a072e8d103828b6cd366726";
-  sha512.source = "d63fb503fcbd71f9b21dce4daedf3431a9475402df1633e651f9dfb8375f68e643dc740bd993ca5352536c1926d4530feb8b5d2e36a33f5456edd7fbb8619834";
+  sha512.run = "19996040ec55b000d84637070a21fa9fc216eb3cf8ec75f7c408925e0d7a716a7dca0eff4887778f666be3e857b589cd033c53d3859f84226416ad069720f7be";
+  sha512.doc = "68f65e9171eb03fed79dc9bffadb725dc7324fd9696ff9f6f0a13233327f47474477180c6e17b5bbb9ee2ee02996ebd6213b43eeb7e9b7eb7dca2caac2db470d";
+  sha512.source = "efc84a936de1ab0905e94937d00c3ab2f371412975786c3816cb3b8fdf98482943c1f18a08422ea95d7a7bda6607ffd1dcb6b5c28101c7f5348260a088cf1233";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "matc3mem" = {
   stripPrefix = 0;
-  sha512.run = "bb3efb5226c01103ec38a0f51b63f7ffa8361dd5973d60473b4f44c02b594c304e265e72c82451442b88309f6420292c2bd2e393a61793a7d258181c6b579117";
-  sha512.doc = "6a029bc798b4aba05a68d0c83766c39cbf659a0802d6d4a9b9e6b56f7f33940248fd74f7e57785bc1b551a45f3ea5bd48c8d5012cb903d6858c9c3bf72156c4e";
-  sha512.source = "4df6c1c4b68124db862b9a106f1b754bc0200011807fc728b725c2b3e2a9e44b7d9664abd33c6cfbf0dbef3bf6bedba3bfad8ea48d634a0f9310caf9fae66264";
+  sha512.run = "e0736f75126aca9506e1cfcbd321645e731e2dec7f3ae2c045201dd8c729044689e358724b77ef9d99aaf3ff742802857d488e3f2f78e781b64af711c7fdce12";
+  sha512.doc = "2038d84ab20c6763163769b62a35fa4e95dbd3e76b0e2cf1c4a25694488ddb5b9be8b40f81a1702600d918618455bcae46d22fa101a1a95978b996714de41dfe";
+  sha512.source = "cd8ad4afa288ca175c06df2de15cb7ae048f3b69ff6b96225f134c022efaaa5223fdba1b2b80f75ad3ab6e3ac79d38b41794cdbfecce1ac6ffd2ed47cfb69649";
   hasRunfiles = true;
   version = "1.1";
 };
 "match_parens" = {
-  sha512.run = "08f8397acbd565922be2ba794de458fb5d559f447fb3a23037287b0c8de26230f844b172880bc986a1badc1d09ce35d18db4319cc900ba891c90866743225d6c";
-  sha512.doc = "ede20fccd5fa4e4c92a5c85f7ef471fc765ec106b0518eb77c4545f774358ae4debab7c1039dee9d5fa9f83b747d021b16c43b77977725e4a9bf0e47a2c76c75";
+  sha512.run = "1e03e279e977af436a8f5d5c3d30f046f46f1a31a0fd3de6d8ab458a64f0634b5f3ef8a338954971a898a1c68128f60c6eabd7ca231df9f3ca8ed12e55967dad";
+  sha512.doc = "60428bc16f65fe820e267852c9d85a5f862c6800ac9c2aae0915a48819da381b2a311fdd3d08096d4aab7311ef86c1c89fabff3d88caf419dacbef515f4dd39a";
   hasRunfiles = true;
   version = "1.43";
 };
 "math-e" = {
   stripPrefix = 0;
-  sha512.run = "5bb1a7a78071b31e60c22b2031f63d3d73f138020d37ce525621209cae573f3a4ce166c3af1e6b1899c22c86021509ef5440313d2a948fd5450432784fd69757";
-  sha512.doc = "58b71a9cbbe850ed954e6f07e424879a253886f8c4abb5302ce67191bb71a75ffa8a1a8c679555648b218bdeac2e1f2ebd868a879dab30c14b1798d9cebe6fa6";
+  sha512.run = "c51c61baf8a8189fc2facc065d2f80c75026f5dcca8ee79c6d72ae9d71f0dd7fcafd7a230041db55c07e065838e865a56129c79b502c5f65e41ecc7b03e1e5f8";
+  sha512.doc = "8f2356c61cf47332ad4b62f2065ba7f16173aae618e0d387c6b5f9f97a47c6b3fa14deba24e93ab7b359571ce732023e9b062342da0effc16aa6ad13fca71c5f";
 };
 "math-into-latex-4" = {
   stripPrefix = 0;
-  sha512.run = "70f4e0fd7e79a60c0476604aaadf74741b97dabc84b43b1ec3b521b5bf4da667439efd2000667f8a59a4d5baeba58f7f4ad89ea9d04faea452e410c8d587e798";
-  sha512.doc = "99b5983faf30fd630f676ece01f5aec34ce8833f0dedcc0b501f2466a765ec4f1056c59a6562d76f408fdd6ac1b8d46a7e0b24ce43e7bd04ef385462cbee62d5";
+  sha512.run = "d5739155ac3cd6a02f356bbb600f7f76022faa4a5c004a93531678ead3c2f0a9f8e1419044883306ce453ac96ab8726ee45d8e49c86b0fca6a9232010a8927e3";
+  sha512.doc = "5fee7c89fc9f273817b23fa25260733ee0552df7bed0333bbe604c17bdecfc28d7e386478f7b42d3c2aef89f80ce7a1d35215fdc386ea47e4db3a334bc6a9597";
 };
 "mathabx" = {
   stripPrefix = 0;
-  sha512.run = "37e05615e9fbd9f61fa0aba00b3fac6c6ca2f47e11e5404f00a971aca9abd0cebbff1295bfc20df3252bc8d964e35cd93e71b6929998583f39fa3781311c05df";
-  sha512.doc = "f85da311735fd80ac66ed2fc41c1d2875f1be65021e275d63d2e2e581d7e4a619d8b360209e2245308e8630e12d2528d21fb9896cfc965854fe76cb32e6c02dd";
+  sha512.run = "400bb43207c43192321cfe1b658c85a07410778e7694ab1604b992025d69300bb2d4c2cb7866a255dc4988c843dd3b92c33e527c12f087bb560cba4520115643";
+  sha512.doc = "e1f9f96794f6d20dd75bd7ceabd40993e56d5315848bbea8a6812a16f74c0fb92ddc6356c71aaa1367c47b1dc26a3711793ec88cf0b90d391f8157fe20f77196";
   hasRunfiles = true;
 };
 "mathabx-type1" = {
   stripPrefix = 0;
   deps."mathabx" = tl."mathabx";
-  sha512.run = "e49ba939d3205af0d4e3de21416f7ee6a0b110f5a5dfe1e4d3bf690fef7b63dca43a708470dae966c4be03d83fca96a2120ade873cfe1cc02a7d65baabac546b";
-  sha512.doc = "1044780bc705b332ab13deb125a430802292bbd48c5755ab34123d828f3665f444f0f56262228b92b73759688f6b4abe2ae71fa9bec170b84dc2c1a0eaa683ca";
+  sha512.run = "ae2272ac7d79a3bb1a655000a2d5fa1c3d948363763abe194cbac4084d5ef60492648977660c3d9dfbc2c70bea3c207d031d2147097fb1d7af503aa80f257d1c";
+  sha512.doc = "2504e85d659cba06fa25ae4e154309a6d3dcba2ac8bae0d4066b6637f19081987b0bc774902365e5b723f4b6c35cad07709e316ec1893a018baabc699d755e8b";
   hasRunfiles = true;
 };
-"mathalfa" = {
+"mathalpha" = {
   stripPrefix = 0;
-  sha512.run = "4225b0a6e71e8e36c60cfdf27378616f69a2cd5a078156c8a9c58ea2f959c24ff82b99038e6d9834746a6d2a5fb8feeac4a24d8e9d375274a5b5dd4b3e8c5f34";
-  sha512.doc = "7131b455af595807bcefb5e409b3e123a6e0dc56df65624b65358a8f8368086b22c02569036f6c26838fabd6a18d900b701f643b4b2e7c94bc9411ac412210ff";
+  sha512.run = "c6b653e5a0b7788ac36ea9ef6ce07dd4fd19a75a82c4115cac5921849477839387b0cccac469dd74b9f4221315ca741c49304eb76213ecacb97dc7e218ac4cc9";
+  sha512.doc = "5a1d993f73d3684ccd8a855cf8e016d35aa29c34fecea0f01f147a0cb108b355108faf43734c83bdb74f59287a7963b4b418894e0a5c0ec4ffd884f3f4ef1d0e";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.13";
 };
 "mathastext" = {
   stripPrefix = 0;
-  sha512.run = "f8f5fddde33008b488c788d0b6de69f6745c6e979cc94324c35e93d8f64478e7bd131f4274ba8b293d32b5dc46929451d3f04bd866df392eb759a03df2c8a505";
-  sha512.doc = "f60a91d7352e569190deffe4d08576e2d4a6f09f5ec0c69d444325277b64d93bc108c130beb675a0c3a2a1ff762b221d4e1a54b1f2633b765130c92b7d3eaa87";
-  sha512.source = "47ba8441be03cbd737140630d86b32442e2005aa381373639b37172736883be26dc43cd8fb61c4cdff2db03f4d3f267fc4136b8d9ad610e57ac0bb670c8d4eea";
+  sha512.run = "62834a7164b376228307ed63b763d395c074e3d861ebddead63ead1665b2b41177a7dd8db58ff8fe3eb56b4aa1cdc7a6b3a2ca75fc07860cec3cd8aef561e4cb";
+  sha512.doc = "5ea37b70e074b5e233b6ceb077f3ea95107615dfa54b0f3f1ebf3b44fdb744f4006e5bd9ffcef180830df5080c777d82edecb26ab430cc73aa08acd7cc8a5fa4";
+  sha512.source = "6cb645e4567b812740adea4efb097104d8e55542e317e97496a02813f309ef1204255bf0dca66d7123566739e99dcac706a67dc13a683a48c2cd6c9e88f26c83";
   hasRunfiles = true;
-  version = "1.3t";
+  version = "1.3v";
+};
+"mathcommand" = {
+  stripPrefix = 0;
+  sha512.run = "5258a3e438899835e65e092edc5b4e0bcdaa209aa5cdb26ef5d8208a673181a3d8a24ebd0eed311aa04ed79330891a828df0ebe47d02435c40328333f5b7faa4";
+  sha512.doc = "bb0c76f4349785aa196c7ed9156ca92e3f05aada3b6a6c42005d8cd8c58a3987eca54c396c89f03bd005e7eaf21b08734e8a4d4ac95f08ddba286ee615a92e4c";
+  sha512.source = "5f89ec740025fcc2fbbe5c7ce01fa3c3929390b4df8bc433457ab2e002480fa3d8511539c451783deb6d0fac230768ab08d5280fd1252d33845a19d583274688";
+  hasRunfiles = true;
+  version = "1.02";
 };
 "mathcomp" = {
   stripPrefix = 0;
-  sha512.run = "b9cbf0ffcb39ccfd7e54e3903e36f5d1ccdd86e2ce83477ff7f8aa0258015bd3c9ed013b23192c7014b92dddb93f5a2340e7bd71dc99fd7fdda47ac27a50d35e";
-  sha512.doc = "1bba8b39dc3f5276b2ff68071a53ce990ed3eb6652ef5e75773dc49aa73b701bb5ffbfc221cf9b9aa00030c1a8096c7bcff3ebf4dde18bc858fb215d06629137";
-  sha512.source = "df312759db12a10b31f790ee195bfa677b67640c57ec12bc754c42d98bf98abf5ed0007c305a60d8284dc7ee63c7cafbc00dc14aba9002992d95137a39e117fa";
+  sha512.run = "7dca82aff58606afd315bc18c6908946193be75f04ec456e2cede8184867543437007b27f04f4363a026a0db83da3fdf963afecab7330e9419b1ac5376efcdd8";
+  sha512.doc = "6135b3d06908c5c359cc432a7406f146ea6b0bb614ba0b983738230ca2073f4348a6ff139bdc4b43325a8b67ef59a6db8e60ecefd88af5c8ff0eddceb0f279fe";
+  sha512.source = "3578e5e31ac3cfda23381e348dfa9e4da6993a9cefaa73b3746be0f2719d04dd37d04e75925414f4f0083b0971222da5eced4bd582e405031f29899faacecf57";
   hasRunfiles = true;
   version = "0.1f";
 };
 "mathdesign" = {
   stripPrefix = 0;
-  sha512.run = "3307b0e16436b98816c7979443c2c31db615126e16c28fd20e19e8520f65bfb0989ac59db08bca29a605cee211532da1d712122f3ef83efbf4c9f8733cc72d67";
-  sha512.doc = "543c36087d9545f1228985f754b255a5c08650a9690b2e7340e7aaf8ef19f03ade44c0de49ae456541664341d34316021d0980e3788b05baafa4088391858f8e";
+  sha512.run = "cc8a1c58348f8f81417178434c9bc3d9edea79dc5d300753f41870734f8fca8f43325d56f73e3113aee8e9f38be1fbc6abd3cefe4458af1e1e22900ce889c315";
+  sha512.doc = "f6c0a3595beb7b25ab5ef2c8a08b3e0be90cdbfa20c946b7b3f5cfd29f5c9a38963262818990ef78be02d95c2d2a5991581be77834048fab4eb0e4c0252e6871";
   hasRunfiles = true;
   version = "2.31";
 };
 "mathdots" = {
   stripPrefix = 0;
-  sha512.run = "4372f11c8ba5e29caaab78cfd37c129267c2704b6de9e5dad13cc1ebf184760602eb2292955c46269ffb3fb13b4c48969e019460fc1916fa83d01644b9c93e3e";
-  sha512.doc = "f30d66cc9ab8b87429639fa382608dff41c11094be52afaa16a8534f3f2e91bc12dac9f6e0bc0def89088dc9491e47f9ae5871fbbeaa5217bd4c6586fc059615";
-  sha512.source = "897726dda3d395d175c684d8e032abf8f563c1ef2d0f64596c1ab82035011630fc734bffc5bb197a0b9a92e2fac08f9adc09cb588dd990f40ec7deec3c5ab9b6";
+  sha512.run = "1235583223f831852458d53e1e8cb767495987829d4930387f4dccf7ab060b9f0af8722d6c1aaa820c1a371f8ce1c0222633e6feb064e0344e639eedbaa4129d";
+  sha512.doc = "b1ce238b3abb3397b0085983e752dbb9eb9d9c1026046726360498d089304f7f4deecd656dceee27b63934092568f0ca46620231f03e0952c43f28ae73e97dc0";
+  sha512.source = "dd590187fadbf0eb788eade245d4198a4c1075433db1a0df00ce2d5cf2b6f332e09ce995292d21ad46f13ba68284808cfea6c7818a47bf99a61ae44e5381fe55";
   hasRunfiles = true;
   version = "0.9";
 };
 "mathexam" = {
   stripPrefix = 0;
-  sha512.run = "8ce36f0b68ed9e2a706db6da73eb3f3ca52cf71b4523004fcdbc1b176abac8b079f4863b6f771b99e956244dbd73e03b23f2a7526d990e33d04a544c4cc35c6c";
-  sha512.doc = "a260f0fa247d8a5f9c0ee185dfb129f2265811d77037b29982e08eed5a515bee4003d09dbd291c21c613123473eb8254bcafdea696c7a67235da0a25d18f9272";
-  sha512.source = "91d18d28d4cef28fd71cec51fe8ee8e3fbd19712a6fb4e3898a1803554ca837a9af1e9c8fcf36a961f40db6f40c61d0fbf98e7d2733522d5db7fa403739afb66";
+  sha512.run = "30fc0cc9c44f2b7a64860a7d8eeecd25eec7e888f4ebdafade236edebecbd79f5d832566d151243430a60c5995807ea77d34e19cfd5e0d8cb037ca67d3e933bc";
+  sha512.doc = "6af2944d12d09f1ab593a7002b9de71d14c5436885b79e5e495dc0ba1fdf9dc6b9080bd009bafff988b019ec3e75da934a7c8c043870fdd52a9a46b36c9d646d";
+  sha512.source = "f2324e1f9e0fe8f259b6e1d2a1370ddfec87091c82650432e24b08c598fd6ce57334b88ab53a6049f416ff14c3ccfc7c250029767eccf05456d6c233e665f6a7";
   hasRunfiles = true;
   version = "1.00";
 };
 "mathfam256" = {
   stripPrefix = 0;
-  sha512.run = "c28458427f4ef2006bb8efee489ffb6cd40f44fafa98f341c243e3675b3af564067c8e6b11385bdaeb77b72b9a6cd4e78edc8f3e3afa12cbcf91d510c5544fdc";
-  sha512.doc = "dc651242f471a2cd0937632d27095c11ad237a48d175f740cfcfdcdb3cb4818ac65328e214314cd778b85075ca42e5c32435c71fafe7f0a173be20bee92cf1f3";
+  sha512.run = "4e13b7f48c9e99f3f8af8a57f22636590376c7bbded8afb08c93524cb53dfd28e04ad1035a3052a2837ca5d0781c1eab5fc4ac8fb569cde558ec7823ab4ca4e6";
+  sha512.doc = "d49315d18922c3f600a0cec9596fc972324419317a717a987188135e1cbf35976dc54a028c7cf98a8425dfd44f8a45c40cbf46411847b3e31e71beba63f041fa";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "mathfixs" = {
   stripPrefix = 0;
-  sha512.run = "531e9c268c0cd02395eab1d2c6707d02dca1fcde14aedafd28e9ceadb14bafb47d2945375937e9d37811d4906f473b770057bf4922a6a0fd97bcc27ea3ed0945";
-  sha512.doc = "b104cc5f66827356ef5b4538cfe2b0fec0e6b2e815bac5101a05dd697839b57a011581672e9e669a8ee2b45abd722b7de2ed324595bac9b1179a466e1530dd0f";
-  sha512.source = "d09cd16f17e47b1655982834f1fb1e09ddef6cc64f662db2fea319ce4666c9afd50ac93c9022ce0dbce9ceee317f506222e7125c5bb0fe348d3c062b75bc64db";
+  sha512.run = "513e5dd9eb58ca5b1eb8daec663c48577fa2102ade0234412dbb22b6d756ad37009c689746c57c6624c731df64fa8d58eabfecbd4cdc31c576eb0ecd1e232fdf";
+  sha512.doc = "c9ad8dda9ffaa77ba727f536016ba1dcbfb91c4d7ab98b1e4b72156591e8ff0359f623475324e57c6b22f509cdfe7e30ba67c3fb22f9dd152e59f1557c96a6a6";
+  sha512.source = "f08a26458ed871a11a44a1e957a1e9140b3e95c98ba1bd958cb9d63cbe483ee94e91217a5a7e54745b2cf245ee7f898fb64238941d1a8fce04699a3b8a06b7e3";
   hasRunfiles = true;
   version = "1.01";
 };
 "mathfont" = {
   stripPrefix = 0;
-  sha512.run = "bbfa9d7d58d02b3be95fbe71ae08660e03cae15cfba66aede65240ba092b13b23cd3125c423429ba11d1daa4d80dba063573a8c1a580511faf014ad51607ba0a";
-  sha512.doc = "58b1af9f811f7d32f46d4d89d525d2f9c5221601ceae530626f5a90db3a69fe0ab4f3db411bd674087258948839f70e129682dedd66b52f3f7176160dd7f4c61";
-  sha512.source = "2d4d8d60872827ef35cbda5630f728db8a78e3ea0c0ee14e94d98d129f29d75f85e4cf8e9109600e3726197b8f619e51826eabd87ee9d679263d55d566976015";
+  sha512.run = "bf99697b79edd78de3390556b030125cc325da1d3dbf28684f9a3324a2de614d1582a8306797e8cebd6be6000a3be64f178e6cf67a68a3c68f0f74757a652fa3";
+  sha512.doc = "4caef345e33342b06807d38097b4d3bd8a51f9f3278d069ce73c35b10dd72ca9e48f485a4870de4e2b3d827d1a433b4549a562c6eb9be68b2823bbd557f98fda";
+  sha512.source = "c9c569ec7b1e740212969fecce09008455fa6f72b28f00cbe62bc5c2087600f6c368ca4b49c312a553f16c5f9f416a17752a70c3e00885441807278c81195429";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "mathpartir" = {
   stripPrefix = 0;
-  sha512.run = "57a990700d21297b35122d99bfeec9949c66fa1250ac7eb2265808ee2a03480ad6452fb40a5db1accd2629325c2d83b8985b16b4bac46a5a332f81ed1dfa2600";
-  sha512.doc = "2e7e06b3037cf2ac3792cfeb25b0ea685843279f0f3f5c6e6e18e398d755e13b6b0402871f30d1776513f41c863f13bcb7c541076b7ee872c289c1af1a0cb30b";
-  sha512.source = "e7b9f5e7ca3b9de90938a4e662bf98abd54bac5c42c08b4ca380e0c3e65894cc3498249ff89b8e99e46fc4a3eec89e169559817e1e48be1d8010a29082daf43d";
+  sha512.run = "8e1c99db2d64e9c815bf8b6784d1c717969a5ecc96281df2f815ba7c0d779b53484c61ca233468de793be94cf636373f4fc0e3413c0ce32d4715db30cafe5471";
+  sha512.doc = "fca6b3e2650ada022617af137dc86858c83c51c55fcadf2ff21832a1fcd9fc44f371f89e8943c5e1d117a09893c3587f15a3e8021b11f7472dd3c9d37383f8a0";
+  sha512.source = "f5c5b328745494965d1907f6dc187859a5f9bda5a8beda164e7317dc1b8a6e886073f9d2e9b564c6aa56d55e7cb7191afeea38edc059b2dd55066e68ff826dd8";
   hasRunfiles = true;
   version = "1.3.2";
 };
 "mathpazo" = {
   stripPrefix = 0;
-  sha512.run = "2dcf90536c3aed72179436ece3328f5155dc8bdfc49e01bb68feb67467603607b5232085cf622d71bef836392645b4f8fbfbbc10c8d7d9b28801038f3960ccc5";
-  sha512.doc = "1cfa151841063c1a8eb5be6b3c1ecb8f4ce6d32e54b7a6e5c252de471ad486a46b6dd33e86569f460c95b13a340b25592c4425c008cfc0bbc877d46c4c47bf6e";
-  sha512.source = "f696489ab4e1780f3a538fef0ed1bd16c6b3064a6cf54ad51fdf3d77602a5026f7f6568ff280281ea904435df3292ac251d7eb55e9b7bb76e2199f80e71e5cac";
+  sha512.run = "e81a55353385ff86614cbfca0826298c6b5ae269e3d17ad8c9eb391ac37b25c95c059e916dadb67ac7432bab96be5d8a496880d24e56327129f6274c4950bb28";
+  sha512.doc = "0f325490cd35d94b202deaa7a27f4e4685ae15760dc06813d67ba7f156cf62ef56510c2e07fd8759a6c27d3d947d608bd72819fc36aa83674ca97af4641bc368";
+  sha512.source = "65d2a446e86431d805db9e7384f18c1f73fc8a5e7ef4bd55dd2bb30493345434f9b5b190b650e0af6ac170372a410f149d3b538e57b7b2189bb029a07e144745";
   hasRunfiles = true;
   version = "1.003";
 };
 "mathpunctspace" = {
   stripPrefix = 0;
-  sha512.run = "73ab1f4578d23e993251c930e8e246c87192ad6c0246a16d77fc9064fc5927da3aa49e18b7707ab8d101d6c0a5afbf5f8aa42b90e2c53455aa7ac2f5628873c3";
-  sha512.doc = "9911b18ac61e83786646975449c43a16d19c85f7733f5f9d6d65a5efdd934990d40b44f691886c513a36acca35e11d0b03104372663813768c7ba0f8188c8f44";
+  sha512.run = "81d1fa6ce0e96190516f2440517d554e259013869065a4242c55bcc06f2d9eab1f8102464da71fe72dd0d231248b637d54733b2a11b832d2153f151dc5513339";
+  sha512.doc = "ce318466af0c6690a905c92e9f24f9a7c2891c4afac7c51eead8ebf211bf13e2c20d368782ed41f20a2bb2d6f3a6cd6bf44eb6a0c848ff8006564ec98aeae2d7";
   hasRunfiles = true;
   version = "1.1";
 };
 "maths-symbols" = {
   stripPrefix = 0;
-  sha512.run = "e74c95739d206a47d3ae838d1a8c2b852868a578c9c073807af74deb110fa4df083f1ec2a75e759bed3c4629602adbc877a6cf5ff60b2089f2e66cd8196408eb";
-  sha512.doc = "c17822fc318a46438692b49e4aa40464be6b1163dc9c9402a4548a4348a6d3a6fb120c8c148274498d6278f4bb2fdd20cdad9e84701aa343cc3aa2099256a61b";
+  sha512.run = "f2028a2b8dad52aee2db1fcf679647192cb926e13cca831a419d876783e492dbc590e4745302addae7d3f01eabf7eaa1fd7cc6f757eff2ab9d9b5c39a1b0b785";
+  sha512.doc = "b60a66b3cc67e4dde62b0fc0552233ab59b1981ab92cedbe4c0de31a4c9e9d3207cf54ec5d2361f81937867d81bd345e77c4ab3e36fcd8588851765ec3267864";
   version = "3.4";
 };
 "mathspec" = {
   stripPrefix = 0;
-  sha512.run = "2d40ad9cc6194e42c2e6c76d63fd079bbfae3a7eddf97cf5119161731517d1de68e8eb5811674ccc40d10a226993c0e58d8f9d264ed5874795e2409e8faa1902";
-  sha512.doc = "db64160206a4c172894251a1e99b06f5aa897afd0afb6c521af0834839e7546dc6d8e2325346c663c1a8620104f3d5694f06322ebc2f37822e7061d866ca136a";
+  sha512.run = "7e9838ad2f212354b103b9beb61d60f124d2f47e52a04e2fad61de01e2e8220ca5f19f5b2188cbfefb379f94dc4b76573355dbde563f887beec29c57b3648ae9";
+  sha512.doc = "d22c19bd2114bc48f438d820177006170d52d1a261f3cfe69452148f4e11a0ddeb1bb25e1c1fa22ef8d2284c7f34f7ef41bcf9d8e90a89705b3a7515a679a922";
   hasRunfiles = true;
   version = "0.2b";
 };
 "mathspic" = {
-  sha512.run = "134b5aae7b3b3a41cb34cf8fc615fd6ccb965716323b4157c989a29ab3809d75e4bb8a9ba7b25305614e3b73fa3e93b29789fe5a2fe72ddff026c6c1cef112d2";
-  sha512.doc = "3e92570e8383aa7a186be1f2d7ea3de771ae9ab8135677a8537e901f2b26317f4ad3d93919f761e3bb2040d97368c4f0d4bfcca965414b2793d067c78587273c";
+  sha512.run = "e556960f07a003e877ce678110e724ef94d34aabc0ae52c59ec2ae487fc7d3e5de169844baaefd61e467e98a7a9718d94d881c3f0d43855e133040bdbddb6a62";
+  sha512.doc = "1702071f4c26097e241ba161258a51461405954105c8a7f2d92a552d6397ef69af029652ba5528df999c569fae32955d1b194b0f7c4475b3fc870656b473386a";
   hasRunfiles = true;
   version = "1.13";
 };
 "mathtools" = {
   stripPrefix = 0;
-  sha512.run = "1d431b36f98584251376e8d6fc237d6a342627e0c80ff2f17aff45fe8762419f7145a719fe4bec7e29f7bb93881e8d748799aa5ac1042e9c83819cb6e2c001d7";
-  sha512.doc = "c53a7de8f1ac1de94d2d368d5d6551f55ce5376a36a3aaa3c44da2e5edf12dcfb1ad664db25f6e9f430adb2b67f71972d5cab3d00e90f84fe8bf6ef5e25c5a04";
-  sha512.source = "b53aa643406e54162e4e0355fba89ca55738223fdd85d1acb9d6ded116e4f7916e29d7ffaca59d69eb72a9e795c42982e5aeb396be863a4abe0c936955f32099";
+  sha512.run = "b3b13f14a37ec2e664ebacb0d30b220cf9d0ba8ba06e456c7f53d9d75e8018fdd685d0c078ae784c8bd13d5bb92c2a9868cbc028a925278391849de799092521";
+  sha512.doc = "f30811f20820e24e541bd0a19763ca713dd085b0f55d98a5d6b75116c18b80b9aae2240e6a9bfdcac0674244dcef72a439dd4287928fbf25a04ad44dd9fc11a0";
+  sha512.source = "e97678109b7655b1c2b4346bf1622a12cda4271ecb7bd010e36b158497c0506f6182c0fd7c5bd9e150e0a3e6211df8ce9e06c3c0343348b4f2508d9db88a93dd";
   hasRunfiles = true;
-  version = "1.21";
+  version = "1.22";
 };
 "matlab-prettifier" = {
   stripPrefix = 0;
-  sha512.run = "2d0053ff3b63087c21b42e6d35d226604f5d582900d5293a090151a4df46cdb8c5775b1e7879c04dcd00fd91fccd9bbd06def15053a9c5ec8d269a702ff8e815";
-  sha512.doc = "18d58e8a6903336eaae24ca8e0af21fd0fa3651aec4c9a6d03ae486a81e938fee749675ff0186dc570e2c47780ad7bfa3b194b75a5a87b83f0dd800857ed4f27";
-  sha512.source = "62ab422b9b374a433cb5e40db9e195e94e67682a74fbaabe43f8339d030763a93d07696c6ce0d092d1867f8ea318b9da19976663a41020b7ce2cf47f9395fe21";
+  sha512.run = "840d860303925d148c10a980218018ed14e2d0ba2b1638f8328308a0400e8862ced7cd28822fd81c3c3533d2ef4cd37e1c4009065b1300011898fefb407ac202";
+  sha512.doc = "22b783fbe09f661d1e5034cb623fab29e54df35b4f0379579f430b17a80236a843c15201b6583bf58f22ae39dba34d7f5a4f8482b1c6d185822940c67ac06942";
+  sha512.source = "25daf7d57d376a2a218a48c275b07459b512bb0e6ab95e78969883a3ca26f010c2e3204c0fe9af0922a50b48aa0f87c6b47973cc7adf9678d351faf9e263a9d3";
   hasRunfiles = true;
   version = "0.3";
 };
-"mattens" = {
+"matrix-skeleton" = {
   stripPrefix = 0;
-  sha512.run = "f8d373790a24a2cd7170e54f2d2429658425c32d4516019d18fea01fd35fb28a85c8cb63b4adf473bf60042b0b2cccab844f0b52604d01fe4d0a3269f6751644";
-  sha512.doc = "7bec3ee9e8fabd9f144ecd4e7549566fb7a86a43860753ef21ab523bb5dea86a074ea19738241eb9ad786587a9aec1ac9e65ac32676042d1484a7c55a75b9b7a";
-  sha512.source = "4e62726b6d0022c6cb67583ba2bc979251adf451fff426017e24896d21793954c9d7becf06a7dfa81cc7e10d16e14a753f70117fa7d3b8232611cd6ecd526781";
+  sha512.run = "2adfc8591ebb043b9b962167c4cc393d5c5e8ab2587c88407530fa8695210800b2a2ad0944d43b12c9cbf2e1018645d3c32fbffa4dc480d287a034b2387bbb68";
+  sha512.doc = "768d78c3b5752f04f1ba4c45b0151659ffe5de91d976abb7b6a374b18d148890a7edf743215f263c6cee08506ee10725b8a1bee786977f998a546dadda1494e5";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.0";
 };
-"maybemath" = {
+"mattens" = {
   stripPrefix = 0;
-  sha512.run = "86f55d180f5c831ed19d1ef68afa79fed8f3c7ad1f88cefb45faa0723a2868f916b65057137715b07e741437fcd38aeb8aef58481531c005bc830239cd068bd5";
-  sha512.doc = "ebd6ae72ed2cd6a5b35126fa32f5061715e12e4a8af6ea9c3faf77d739bb78dc50dc5ae860a268d7af82890c674c2041e532babe4e9d8be9a877fc06650b49c8";
+  sha512.run = "9ae7b4d3e3386a5c9b94a30eafc02d00c9a6376ed356755ba283f7b9b43fc27d3b9dc2994d808360b77d23f39014e230434f404bcf6dc20bc974d9efae97a3dc";
+  sha512.doc = "d67ce30be2e20c5182460b8e567d955c41b364383acd350cba1c07b52576d78016a865148ed871ce7ef3f937eb045201e64e5d5f52fd5b173fe93cf84def2119";
+  sha512.source = "d199c5fe62172d98e7184a2689c3415944128251b75ee45e0629da5200cbb7b954cef1243a165ce2713582afcdac30dcd9f1445ffcaa18a69ece0aa79391d852";
   hasRunfiles = true;
+  version = "1.3";
 };
-"mbenotes" = {
+"maybemath" = {
   stripPrefix = 0;
-  sha512.run = "83a61c5293bf286081fa3312436728159747dec58fd8b260490b97d1b153f3b1b0a7798b45e969021f7987f333b2cf330ee18beb48afc4e2f517235f8585087d";
-  sha512.doc = "a0b64a0812baa38e41afb34c101df834aad0d68f8c984ee43e244f48daa876ba3989bece4c5852c9b4aa4ae5bf6a3bc2e8d6dc47564712ae1f37139bd69aadfb";
+  sha512.run = "32520ff01d76e11bd70694a07b86272425680ca8bf21b6da9412c133836f9ecbc9a9537377ee67cf9292e33dedaa1d33e906b4f681b89f075d1fcbbbbdc989dd";
+  sha512.doc = "b0f978f89ebb7f681e7b045d03a9a6e7e9083d7c468c91d52ef417c85d707243fa0ef253b3e2d1f1737a9c7235fefae06c4a8fe2975cf2c13f7f09ada7752f26";
   hasRunfiles = true;
-  version = "2";
 };
 "mcaption" = {
   stripPrefix = 0;
-  sha512.run = "d88202208a5dff6dcc049e3a16dac37a89eee7303108bb5a15a22da3a52056ddbcbcad4aa87fcdc5f5d556ac8ba876783c4e379967ccb805d73f61c2ab131cad";
-  sha512.doc = "f33f6aafe75fe982a130a07996f9b421565ab0a27363a03b748f5cb3316c0b5d571dfaae15c245d3f1c46df05aec84df7aaf2c247713a34fa9d02fc991ad13d5";
-  sha512.source = "c60d859c23d6e932786c1596515541aaf8854a1ccd8c1dc657d03db228d8f92b784320f078f07b34b6deb572c55e810075de9d9a8eea3ab217791b014e2d6874";
+  sha512.run = "c3e1c2948e2687bf720dc05dfa1ed6140a1ea55de3cad7ebcfe518d720ed96793b6bde32fb0882cae773f986b11150482fdfb382391650a8c513131b7041555a";
+  sha512.doc = "e803f5731e6ac1c299bc3a42666acb81a75a3f110be729639357a15633e0e7b8ad0a244820b96ae9f8b435d9d1fea54a0b7f14c5db02799b3a632b2f0c5cb4b9";
+  sha512.source = "e859c83efb88fa03790b2ddbe18cea57ee489dd59679559f8d7f3b93a0804d93478412414e131f39bece090ed5b3433e2784facbff9b3ad705a81d1adc542e77";
   hasRunfiles = true;
   version = "3.0";
 };
 "mceinleger" = {
   stripPrefix = 0;
-  sha512.run = "7e0bdf0daaa7c22f63193f6d1acd59a510c6c1a8b2da338761a54a6d1859232e8889d77c38b90f8452da6990a4a37a98385d77623eb2b23ad8ea694e66f82122";
-  sha512.doc = "e2fe65efa4610348d9389277d9b4e4df099fe36d9d6c874757b7e59d623047cf3c13c31f8a1c590cae0e1c45a0cfea2c2c9a9dfea034da4257a6a8ff2fdd4e3d";
+  sha512.run = "0792d7a5289965b2379001a54177e1aed4a3356d8611e52ef77f5097bed1918dac324bdf5c618ca76d2925d11539b623cd9d4016ff0f4d1f9283137816ec145d";
+  sha512.doc = "2dab78fd096927e3958d7270ddf15de9350ec30d1d000e7cf92be3b249ccf70e6faa1dce482a07995e65b4a4549693ce3b34d1a63bcc403ebe81f3d1887ecf90";
   hasRunfiles = true;
 };
 "mcexam" = {
   stripPrefix = 0;
-  sha512.run = "4fc675725a4bb015e0bb524aaf3310a5a39d4735cec7922c12564ac4f5e9f1dc787a0eadee0e27dc33e2bda5b57c499204686d4d9a5754b965967f9c5edf5dbe";
-  sha512.doc = "27330a36dedc9e1c89a7eb5b4b91dca3a5da289852ba6337c9699630b91ad51817e79d246f70c9b769496075241c18f0bb3f2555ea9e590b11b651f9e1fb3062";
+  sha512.run = "37637616c9ccbe4e20ebae6b479e076fe87b6bd5f3bbf9124c79b93cef6e992d82bbb4fcfbbec3e4a7dcc187d66742c410c4a6280328c80765495685b4fa2cac";
+  sha512.doc = "5d1eddfdca3ebb7fbe28d93ed6e7332147857d7523d3b64e908aa56ef71d9bb2546d05c150737a3401b5ac7f76110a421513db2d8fba906173afbde9e012f7f8";
   hasRunfiles = true;
   version = "0.4";
 };
 "mcf2graph" = {
   stripPrefix = 0;
-  sha512.run = "795adeb6885411b4da79450ea8109c3e39fa86ac81761392a5b9af888ddb0e71383444f73fd74971ed25dec9d2c940886e9bd1fdf2def37c40827a0297413c48";
-  sha512.doc = "ff7847b10054987d2b272ff8450493d08b4e01fdc23577bfce24f1f620cb2be0227b4f1ca8c7e3ef1ae6f68ea3c4ebfe85f6e56d22dc8fe3a99d005be89dc168";
+  sha512.run = "39091f364cbbcea1fedaf04ade0ae9ea01025c188eed41dbc0babe4fbc68a76b8bb367614c6515cfc0b311b93771040d78dd15bb871459bc93acea067e6f04eb";
+  sha512.doc = "5bf78d5b708c93b23307d9c10394a74ddfb8e2926184db5fe7c7709cd3c140980f9c391b534597448b0b5003d2ab24b3ac0fb308d0bdfedcf207e40380c495bd";
   hasRunfiles = true;
-  version = "4.36";
+  version = "4.45";
 };
 "mcite" = {
   stripPrefix = 0;
-  sha512.run = "56c63daeb94f8ad8fba69f7e3d48657ef7160f877b7bec7b4d7dc19a12b76570ca799e4e2f6d4540f53f94700c9277374ea6f09fdd1b9d3f4f4eda079ba574dd";
-  sha512.doc = "872406dcd9496451473f39449cf0cdeb7bc45c54b97ed3f5111b3cd3187b2aaa211a3cd4c0446e5a8047427137c9f5519fe9fa68794a782cdc6200227e3f9878";
-  sha512.source = "ce398af083fe07435225d5578f540a22667b126c7b2e8603ed61d33cc39ae6c761ec1695e31dabdea072c2d9862e8cbe640a0cae967a2b3979c18c423aeb48de";
+  sha512.run = "71276681ec29d3d77450a8c343d64a1ea734bb48de0d693a4e9ca795e4a4c9a3d5f4103b5641c8684d49b5c95f56bfd08bd12e1d7e37d06f9170008b51804897";
+  sha512.doc = "8c5ae4b1beb334ecba3294108345bd616746ee651f03d39a7bd5f5cac97f671a861fb046e29ae7565863aecf4b043ebe25bf9a4180889c39e48735251e430004";
+  sha512.source = "9f6e6edf49906bf3300123f8fe265ac8f8580c6838d59f7147e9337e67bff71325ee41a3993b3d1cdc9c036b5d519834261fb0a2a9cfe4d3afdbe070b454af8f";
   hasRunfiles = true;
   version = "1.6";
 };
 "mciteplus" = {
   stripPrefix = 0;
-  sha512.run = "2b3e4cb5da38b6d4c1ddd3568a14ba9a8fa8162c678f8b8306d341ba48944587dfe10ab334ff1128e413b21eb07a857a6cfdab76eb78754c6b794b4ccd65a9c5";
-  sha512.doc = "ca686398828f7fa2c957104aee0e4bce6a6e94f25f115be4bc2f76f451bed7e0f135f0b8259f3bb40193f5f4be37e3d200d299cbb1cb9618274f2570bcdf0022";
+  sha512.run = "5be1980964ea8342321964f0db1c750c33fee9f21724608a260ebed22500d1fcfb0fcb7e588a0dd030a6c534b0da904b8bfc3eb0da7b2df34c0b3f2b1b8fb637";
+  sha512.doc = "5e720fc2b32ca00d71ade77fd0a47c6ef44d9b7692a8160ddc55a5f60495a40272a7a0c6c2f5bed923ea10703654f155701d4571d72805c1ef900780a209a0a4";
   hasRunfiles = true;
   version = "1.2";
 };
 "mcmthesis" = {
   stripPrefix = 0;
-  sha512.run = "1972d82f5dd868217d848dbea024c5eef0efa381b585b85249c8d5fa303396d876a4a40d9e79bb571dfe134f00fd4bbf28d658cb62744d0357e5506384305f4c";
-  sha512.doc = "0bd13fa3b6e1d4d7c61e611f276fd0a02267f4eae0b002b57d31b9e0a9b12aa47140ea1edad527dcbb0bc1aaa2ae24e582436df38fe9f0f78f04fc31651af181";
-  sha512.source = "8dcf5948b442c9646e162d1746a55367bed3eae24cbf2a6f03af2ff375a48a25847b52e414b2f4a7103e1dd538fa5479ad16eace87eb64ebc86eeff70b0ea4ca";
+  sha512.run = "1b74cb3339eae2ea8fbfccdd993b69177f901166015fd10a422471bfd84495774309a7bed56a36a5ff56d3ca119954353f844ec01bd64ae5dc64e7586b1de17d";
+  sha512.doc = "5944885065187151f4336d34cc94328f264ea35fde8cce35a0da4a13f52d1261a3bd32885f21ca442694cc98219d2c4a63708f31c918c4768f6e8e8f4bd54f52";
+  sha512.source = "9ca1ba748ca82968a940326ad695ad631f9a4e081a635b845b6ca94467a52a4e63fc67074414a214adfe0f7c14f91e07339b32bff28b5e770b6ae7bdd5ab3b9e";
   hasRunfiles = true;
   version = "6.2.2";
 };
 "mdframed" = {
   stripPrefix = 0;
-  sha512.run = "52c61dd7dbc5bdc201d4bb0aaa254814526322aec3d05d9cd621dcec038cc69924c29c72a7bc5e08a6fc96dd122b4fbc3fd3de9f08f40223fd9b2c290f4fa499";
-  sha512.doc = "2f5a22a1e10f5fb34dea34bc2c4a4ac36ae825049574475c7fd4995ad065f4eadda02600b6f0cb5080a122f40e27c605df919a4eb12fef175b4ee757c6cd4971";
-  sha512.source = "1ee1e03bd09d4c533b5676803fd5fe19e7a10225a7c0f49551f6ddda27687b4952c4a1f32681237cd9c318f357a9640af20558c849b314b2cc5d6a5b09d59b9e";
+  sha512.run = "0cff0945adc04102e0b0a154cac1f78e9ea903b29e3f880156b888abeb4ca23565d39a7b66d8097c35534baebdf6af152c5b3830d08e1287e8e8d18e8f6344d0";
+  sha512.doc = "06822404872899d6f509fa94f69cdcb81dd69866fbc5a82fd54ca361aaf27133140290cec2d08800dbb39c896ebb7cc19dc4cce38d2a0e45de9c658bbadf3352";
+  sha512.source = "04fa6379f9840676b4fbc31029f091d9112524f8450747ce31687c9ba77a02e41c25ff51676424e97b788c48bf0bbab690459b6b84e128514cda8efd459255d4";
   hasRunfiles = true;
   version = "1.9b";
 };
 "mdputu" = {
   stripPrefix = 0;
-  sha512.run = "bfbbc306385d62d5ec04abf72f7e2f15f0acbef91f102e8beafba687ea7a5f1448e167106f2bbc048d072bae744960ecfa05f46250d8527afc58865b1604a6e8";
-  sha512.doc = "490647b290fab553101311d314d21367432c729ce492e1a87623668760d9f909eb9a8382b5ef996770f19170d187d8bbdd87f6d4e5753bc251d1e62314008ee4";
+  sha512.run = "2720c63845939d2befea3af157eae95d2550a216cd22634ab0a923a06d50b48e7133e914d210c5d3aaae6fd620312d23d2e55a015c2a24ee1881bc7ed4868778";
+  sha512.doc = "8c8097552ffa1f11944203e818742bec244abc5a7708207cbb69c46ffc64acaac28ca390c1ee256cd1cf2af093e39189cc9bcf655e948062cd217b58acee7628";
   hasRunfiles = true;
   version = "1.2";
 };
 "mdsymbol" = {
   stripPrefix = 0;
-  sha512.run = "25fce53590b50242f7e4c2d61e3a0b2222579c0e1dfc2a8d34c12b72e7786f44e6616c90810e50cfc7acffb1005181a13e4af09a912fddcaacea6db8576bf639";
-  sha512.doc = "21b9acacbff32e82d625926ca35290f490e710efa784f3999d1b2fd8e32826ed13724ce4d57f0bf18015d61c956112752df45966eb3cde980e6380aa06c52a44";
-  sha512.source = "995b6a4d55cb403e2be8fbfb8da0f50710a00e6f5e52b55f29d3b0cee9ada99a1c41fbea2b1bba5478801d7b11e86de7024bfa42a6cbe63dd6fbed15519cf9f8";
+  sha512.run = "49b52141928fedfdf5fdd63251de182761825a6cdcbf423bff562a863df159ac0d1c001239f777e7aef68ddce23c52407758c70f7da42f066775e204ac8c841d";
+  sha512.doc = "ea4ddd0fd65204ec0ed980108d86e97be267ba46c1cf45711c36721bfab9302766ec1d0849b38de75003af564a797f8566def377d8d947d464367bfa40b91399";
+  sha512.source = "0b649eba13871f6da834bbfb2c6523db6d50bd6a491b042a19f0e061ce9794d2ca03c39d277669b6698b48806fd0b705f322a69743c4fc50233559fd10406280";
   hasRunfiles = true;
   version = "0.5";
 };
 "mdwtools" = {
   stripPrefix = 0;
-  sha512.run = "3be60ae87b535713cc8099707b70206ce5792fb9474d26f29850c0df8311efe688ab422eede6bcf9bc747c0c9ac91bbef367da17e09bf5b0ba6898a47e750c67";
-  sha512.doc = "6d55ed569a180949dc8994df6e0df7a193eb355abc55b19ced1b672efcd6b47aaef9d0c5534f4ad900169954ed92ebab8fd70f3a93f35f828a54538a93c5b145";
-  sha512.source = "e465e4c98f4f4047db581399bfc678b4baa7b00ff7eddced5749e3d44b192a35267ffe6eebf5143814cd820eb3d5fccd9e5ec7e9a25af0f46abe3cbb1b41fce6";
+  sha512.run = "bd78773e42fe20cce637a8fbc7c0e3f4f37ed50810190ffcc035a20c83508b6b7de7f7432b7bba8fbd039ba62f43a5b5e1f4839acb3fe62b425b650f23ff71bd";
+  sha512.doc = "06c8619d8bcce2c5cf9f5fce65318521bbb0c2ce53acd6b1793d0fe19a8f7a32c36ff68f355b6809491cec365d09f5f14b0589ddcbea6c5b48900d11fda4867f";
+  sha512.source = "b3e6ba09116dd83187a55f205527c318d9afb4742404bc21b12e0be3b754140ecba82642154d92947cbc0706f0f9d3e6d876bc27108f13373d3c9d6ede4d7f5c";
   hasRunfiles = true;
   version = "1.05.4";
 };
 "media9" = {
   stripPrefix = 0;
-  sha512.run = "259e4c4327b21dd4b69d7fdbf3a589ba2eacf4cf3f096e3c7180ff372153a16d2c28e38e008f4a13d32d87bfaf271e4ee3784bb5a57e7ca35d3452861f0aeddc";
-  sha512.doc = "dae2f50d8cfac14342265f26cfc5a12eaa63746454495ac46dadbdcdcf2c41a8ea4e9191a66a10ced5099bdebd6c61be010632d3c0b91f7216423212ded3b1f2";
-  sha512.source = "5b4b4132790488bf377c067e16750f2bf8ddd477f98b26bfc9e6ae0383b2e3c748d71f800d2fdd61f6b27e9fac5cf7cce62e7c555aa153f19d3c3055ebecf9ae";
+  sha512.run = "dc3f33ef201fa910251d84c82b00efe206138bbb110a06752c0a5b44e98207500788f5494c7abbbc83236f39bcd131ea7434bbb5c72653e6c43ff8d6733f3535";
+  sha512.doc = "1f25b870fe8e00ead3d3703be49b8e3593b497764edd9681a7c065bbc5cc091b8b97830c76c4c54a4f206bc1c4d2942318f06734ef169ad54160ef983a19618d";
+  sha512.source = "a84780ee19bb49d3e3c34e8765be950388fe211d16d70633fdc0735dcd55d2b8df92cea4cc51ae73185844084a083299363694a73e399141403f52420ffd0b18";
   hasRunfiles = true;
-  version = "0.95";
+  version = "1.03";
 };
 "medstarbeamer" = {
   stripPrefix = 0;
-  sha512.run = "6d94c9471d2bcb08b0630c247d5255445df3b94979c88c72250a383d92fcdf5de6c36eac55bac34d9488d44a3a47558ec987b0af0d7b32411ba575ae28968273";
-  sha512.doc = "8f26397fcd6ed26e681fc0787f14fad51a6b96ec48984018cc38911eef932b3a1814758272393c93a1d0f4335123ac2ec29f7edc35b36d3d85fce5c2daadeb52";
+  sha512.run = "731eb6f78875aa38a90a228626d7cb5b7129c60085418d7ddadff056c9b82f8db95ee17f20ec8cd4611aa90bec391868f6b0b16fa0eae518358a869b576c150b";
+  sha512.doc = "1605cf9ac4eba56059b6e90e6a6e7f3cba9a924df1cf3dcfed300e218bbb71d79bd69b47a5e376da209490a8869061d6de8415e1670b4ac5b0fa977f74d7c035";
   hasRunfiles = true;
 };
 "meetingmins" = {
   stripPrefix = 0;
-  sha512.run = "ca91bc85239c271a73d071106ff95f94a7a6fc4ba3306393c02bb8782c10ee61b22e60533c882fd9c759be17d8a7565125f5fc60e733dc1e843f50e45ceee8d6";
-  sha512.doc = "fdc9714b2c09effd70c899a5348269aeb9c2edceec717377a83bd0e56a54d55a10c60f4b20906c62105df5e112f905e8d8c92a57484d869c237a2787688dcd93";
-  sha512.source = "9f8c0ead8c7426c7c23de2e0258397a72ce80860fd5bb295ee1533607e210d73dab9324d498e870c080645689095311b75bac1b8f4eefd30863cd87e42e7dceb";
+  sha512.run = "315897eff4ae50257057f8191ff92535b669fb174a2eca5c368a9a4b9f75cd71ad745f3feff1c6863705b3e9e4a954afa449cf56f86bf60c389250842aef5215";
+  sha512.doc = "6afbfe02ee39e26e2f38ce462affa66e7e0acf5f26534ff9ace0b26b4e63514a3b1702e34bf478988a50c55fbb09b7d9421a8e79da6a6c46de88c6a958afa874";
+  sha512.source = "3f4a274000889e9160943ca0b7a7af30bdbf7aa9a33c8cccd0e938ad3ab94ad8f24a6685bc99596a1046a22d32855061a7c511046dd6c306353c4f5979e1f230";
   hasRunfiles = true;
   version = "1.6";
 };
 "memdesign" = {
   stripPrefix = 0;
-  sha512.run = "d04b53273c3795d0baa9fc0292de33df0e20da23fd9eadb4598e1df08a2f988574be760b0278103115a88019e1dcc14df3fe9a3ca034227a7fc2898386b52873";
-  sha512.doc = "fccb5a30feed4b1626a9be4940f6f2b15173b5d6dbfb563764a9677a03a4d25dc3cd1730b82a99f6d0a236eabb9b3f703211e6c188f75478a42ba46fb8d6e691";
+  sha512.run = "42949db3193952d1ae75855110ed40a1ff467b3cef0bb6d43195bac960a0873a47fad002695ad1376da2d4a1df5e1e05f89289102780d27b173da2e852b53cdc";
+  sha512.doc = "f4dfa00676379ce33857cc0fdeae867d1ae5c99e6767884a029285a94d2197926a68cd85c574bd876a2eeb85f0453520ef5efcb7f2a71a77c725f8066e7adf8d";
 };
 "memexsupp" = {
   stripPrefix = 0;
-  sha512.run = "0721c35d3d8624389fd93e92424adbc1edcdd45cd2a542729a0f286dc0b41c67482ea26065c124aebc87c1264e363f9d75a3294609abc0c17303527b4bc48bc5";
-  sha512.doc = "7ac0f61c1f0bd90e0a974e4ba3233db9aa7a4dc3b2a77c2e18c9c2f534f9e3d748fd7aec30b8fc96b60e6ca46827c56ce78d91dbe691c70caa02d784f93be5e9";
+  sha512.run = "74931ebb1a146edadcde19d8c404ff8df750c4eb8f2f59fa83e6da9f8dc6567005d51f58e4b7bd2cdfa6b960adb072e9fee7b1842142076df88887c3c2b41051";
+  sha512.doc = "645bb189fca1c74e249745ad42c470dcd5d9fa4412a6dfefbcb6377555047bdbcf005f1c07977762e0026e8a4f8ea49e6965a7d50b0d5d5e7efd0228ac2141a0";
   hasRunfiles = true;
   version = "0.1";
 };
 "memoir" = {
   stripPrefix = 0;
-  sha512.run = "7688f2d67160801f7d24dc78455a32fa7a9a74f80245bae77f60e6d67bff6e79da0d633fc076640174b0f493147d10fefc74143cc0c6a55af2083d7803c33516";
-  sha512.doc = "d40dc3468d334ab7619eb1be0212601a830f9371dc8d69ca30f46a21426368b95515fc1698acd308598b1ba7d1c4d7c98c58b05202ffb3f08b23f263ba625c6c";
-  sha512.source = "2b258eae108eda38adaaf4fccd6e8ddcd764deb24325869b8e525e79cab0fe6479becf05b18e4020da0ef600ddb08da30cba624dbc2573f0ef0ced150330cca8";
+  sha512.run = "b20d8d7f3e4a65d033f97ccace40b4e0f7ecb6ee143b6f0ecc7de46de7610305d04247ea4bba6b415940ca75ffe468793233df5965a5e366668fcb0a4ea2fbf6";
+  sha512.doc = "16ff13049125d9e3e9d1a735ed2a0c89c169769b543048b9443b5d03192897296727e878a9612a63683eb71fca9535eb0f737be6a2e764e9413c9b723d783b5b";
+  sha512.source = "e1586285097ba0adda9cc667afdc4ca143b967b5756ec3b661b2def79a3b13efc418a6204e3400b5bc799051ed62dca940c683de5d64563cc5839dc171b794a3";
   hasRunfiles = true;
   version = "3.7h";
 };
 "memory" = {
   stripPrefix = 0;
-  sha512.run = "68a65db37e578a3f4f9c52f0329f23c7562a4095b6cea93a8f20c51af92d960a5634e7891ccd9eccfa303d8a2a9f16a62618eea33d389e0cefc1e90e1acfb8e2";
-  sha512.doc = "1dc997363d0702444ccc0f50e77189af8ef461bb5a4198a91ddd13ec7c66d5bd4ffd1888c844dacbcb8c364130b685a15cda472dee0e50b9af75102202c9ee7b";
-  sha512.source = "9059227e17871ce2376659b0b7f0ed295ff9ae9a6d3a771c6e9898e8dad40bb60b6846ab3688ea42a0c5ab6c4d1dc5eb1a426cf2bcad56a3fd78132f7fb23d77";
+  sha512.run = "9b760613dc36895edf50a592aa5ef994a30117cc9da6ea256835cd3ad9ed62ab8d8c39de95bda5058d1bd3f06451d1c79d78d52ff6d068c28d75410c5ad98516";
+  sha512.doc = "479428f1af468d909fa291388cde319aff1ac9ef6d7c0168577c5f6978c0fa7e6b23f8f81dedaf746b7e394c92d51d5799bd17aa3488207be494621b77220cd3";
+  sha512.source = "731d4e4c874a58c2c1ddf6a394dd9eb67e557608b0d2a736cb500e4e299be2a726d4312d2eb4a05008684cf5fe14d458a7c020bd31fe134f8208d9fb618b312b";
   hasRunfiles = true;
   version = "1.2";
 };
 "memorygraphs" = {
   stripPrefix = 0;
-  sha512.run = "386ffc29d6030fc9074a2ef84566884fd808ddcffa65d6e201d4be211880b204239428accb6da4e9c0a4272168d34944c431e36b1c988be516db6ae41764e5a2";
-  sha512.doc = "c7a3f8b85e425cf589b1543b25b5d485257eec42135d6beb851bfedf8d5367c5b3920acf6b2683f513a27465df85c94b1fef11754f1002b28784f6f38e4b0ddb";
+  sha512.run = "e35c7e727cf5d6e496c9c0e52252b5169670006b9bc9e96b1c95584085d57a3f25cb9464bb55fc4138640ebb6fdb079908cc49c0f1bfff130a509b6866d3eec1";
+  sha512.doc = "1c04e25d1c16348e594191c17f9f104e9388bb608b10783927ab3412f2f316138d6b41242046f12853b37560873bb61e0a0ec3f884cf8fc26ae2ba5809b094c0";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "mendex-doc" = {
   stripPrefix = 0;
-  sha512.run = "2fc6a76cb570ab2d101ca2f94ec66c24a7a43b4ee3cb88fddf35479a40a0454aa42f1523723418f931dea29140a06d8f1b884664b4cd897ba570f66583a4b4fa";
-  sha512.doc = "c07ba31bef9f3e19b7e74343e8afa93fc86cdbbec0ac516506f0d755e43fa1ad8c03d22f08221814674441a34940a4c8adfe02422dbb367f949c97aabdf79686";
+  sha512.run = "2a4b24f7340194fa80160681fb038369e45c1e6783765860d3f57be944c4b79533febc82cdbc65f89b9ad99308cb4ecae4baad37205d0f375f244e5211a87df6";
+  sha512.doc = "e8c8e773169a262e9f19bb9ab704c05968440aa0ea5928e329c79851e9e23fec5f78a108188fd2512becf7d78ea1e9f388ffa80b0795bbb4ff8cb81893b4e869";
+  sha512.source = "b526ed09c503619dc128721e9ae439b89b5b143ae18d388fa387cb7407533e47f0bcaecb6967380f3ebc067f9e310f596f0302fca5438212734730d3ca7931cf";
 };
 "mensa-tex" = {
   stripPrefix = 0;
-  sha512.run = "2555ad3735cbde99945a4836257f0a00d24042df33855f54c978490dbc4d60e7847d0f049120c8be038d7b3eb82c1f7c231ab11e9e78b7edea478cc1238cbc72";
-  sha512.doc = "6d8a28586b50486c6e0627ca0a08b2263164e429b6acfd56ddace0706ebd6f1b631eb2633d85cd0fd49e234a65d8fdcb34225335ac97dd9528cddb8878fd06ea";
+  sha512.run = "c453044a7f744cf89605996d0b913c56208f10c46e26e0ba37a85bb1d63ed08426a18d87cc7841aabcf44231c71dc33a5c858de482c6d48759893066168d5fc8";
+  sha512.doc = "8297e3f69517f3bace8f509dfb42616e223073f5d428c2269d9dbeeb53579f105fb65755b22ab552e5635f1267e437c4aaeda284a8325b2d95717cf7adc2de01";
   hasRunfiles = true;
 };
 "mentis" = {
   stripPrefix = 0;
-  sha512.run = "0e553bcd4a2a46ab7c75f01948d137ec13dfbb4b4aa9e2825292ad4075a093a81bd92a2ea6fa48a7d9c7fb9e9f11a820a3213a63ce70fa12fa0ae8491cdf20b4";
-  sha512.doc = "f5e6dc8af56d7d31c757c9da79716e862047d8ea9cf19fa43a153a97a37bc835e8f5edd1f62c8ae3871026c9e55db221df574e1857f6e50d84c050d9560d6da4";
-  sha512.source = "6f319e1b35abbe62baa2e8c67491df37e452074d88f99ea5824bbf9527618e0bb0993991112addad33c8edb96cb4f770e26f5b9ce5ca33f85d4c4ae5ff7582c0";
+  sha512.run = "ee03fae28adbf147945a88548e8223bfe8c8ce220a61726bc6738f34cc90ec776aa468a1cf7fc862d1f7f091cf87964cf665839922819130f3575d56301a5d26";
+  sha512.doc = "2e869d1368b807a70f3de5550d2c79f229dbeb8d888a927005fcc43c70644da0ccd36eb2464fa6437c9947c78d59e77c4013824b1e8d5a4bb517b80f1cfb5a8e";
+  sha512.source = "10858cb9cb2db0f7db31d371e42436ca001ef20fede5f6b34dca61fa48248383e32547576a2dd3a4a98acddfcaf9e1d3fec89183c48ae76d5b3b677fabda7549";
   hasRunfiles = true;
   version = "1.5";
 };
 "menu" = {
   stripPrefix = 0;
-  sha512.run = "c3b4fe9603bce6d5d591c7410c5a75eca4fa50dc94094b153ee2ccb9178b9a69aa57df587282ce94d59006e26d1d10316df70771be454d70204a9bdbf4b01578";
-  sha512.doc = "7ce4393b23d24b46101a289b9cd97753a0e8a5e859243c075dc0d7c72acf9c9b12a1a40f4868823cec960b59eae4c1094780a03c7d7d9825a5ade44333e20b74";
-  sha512.source = "dc9405634cee54b7eb5ed1494083685e06369e8d96e53bf1160c1f8975198557b8a2603e0f45d2c43ad39774d394889522e166b4696f926d2dec1c7b0d84e91e";
+  sha512.run = "2b2560a1df5091d19ff37bcbac1465fbfc54a848e4d19782602d656bf42abe47bd2bb1946f87a127c70725cf508ff9712337f3a8719d1fc0bcd4dab4473c7bc4";
+  sha512.doc = "ce8ddeed4e1bd859865f548d8ffc6978a620d9003f908d360e656085f6010a0f179218cc8b2bda4f754685369b53ad59245fef8d8f8a766b241f092162bb76b5";
+  sha512.source = "6c96cb64584802af2248bf43ccb7cc5215d8a2d2c13f1d6cf8567934938979095bbd51760bad7892a6d894a9651304dc9f5e4ed038f68ba0af087567de0777ad";
   hasRunfiles = true;
   version = "0.994";
 };
 "menukeys" = {
   stripPrefix = 0;
-  sha512.run = "c35c3bf59fc1a1f89b4457e9196bd12bf918727e707ec86cea1bd574b0e43587ab43725ab1819e64eff5228553bc252b11e53a1658cc14f4c05b7dd5d05ead72";
-  sha512.doc = "2deb55916ca0403be7038fb5bb3d564cf33a26f6e867e52652524cb7f04b2df7b6d1d8a02cb8889cf3753b89e2d3437fbc842af594a5932b9494134aeba8b1f6";
-  sha512.source = "afbdf9b30062d2d20b766b42597be80cae80daf9f8fffdc70ac47feb5ea6af266eb9e77397006fb580e87739070b76ee09d373e9f757523f8badeb1832605072";
+  sha512.run = "690a07e343a3358179b271fb51b33f6b9dd952fead758405bdbdea9afc8d410d1bc72a15557d90d0699f26dcf7e51a6df3aec1ddb7ca752f5088de46dd5b7711";
+  sha512.doc = "4b962d91d637a69f7443fb6ac4a94fe63901a7fe7a2d880eed320314ac6114c341add9e589547649331f123d9bd3af7830c19f83389581a936c67fd0dfc4424f";
+  sha512.source = "35b57df92bf1eeb8ecec107c913ee8be0c84d27c2f98e7f2c7ee42b182905d3da1ac0e0969056d4d5db849c47d6953a8d2c6555259dc37fbcc432df4dd0e3808";
   hasRunfiles = true;
   version = "1.5";
 };
 "merriweather" = {
   stripPrefix = 0;
-  sha512.run = "2b1fdad9a066711a038865dae15036f709b5b9e08b9ef077e140d7b608c0075e3c5a07f59a367f7a3c87b42074e7160637a235fffc27e2a57ac9d350183f6ef3";
-  sha512.doc = "f1c2f6c2edc1618b8d0e86f3e404c5783f3021438724e4011fac5af7a0290bc326b791589505ba7a88f8f592e215f36d34142559575f8b940af1ec63995d70ab";
+  sha512.run = "58f56dded4abe3724411d3c46e338fd5f7fc2c8ef9788939077981503383783b005a7e691478621437b158738129a7dcedaae45b397e1605805beff04437ebbb";
+  sha512.doc = "54d8337ab007790d300ec6c9d8c0f24964693863bad3057d1f473225187b7c6b7315c3425fcffff3134cf8fd96d65d6d4311a9f4c6019011fc8c2e11f8ceec76";
   hasRunfiles = true;
 };
 "metafont" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "46ab9e77136fe7680143d20296b0a3f80188f3bf3f03d5642c32edcc6b286b3161e282f281e386977db4ef228035fa8f73beb7f7344cbe51edbf0be6afba5def";
-  sha512.doc = "1124acbe6c8b85728e70a67c65fca671a855aa3c3bee4e37d64c180b06be582e6fba7eee3c1c2c3263f71159144b514c5e5166f18e5228b0084a7417807f7936";
+  sha512.run = "7a1a5d0090a538bda4abe8f994a6891f46a8c276f45f26b0be0901102fdb55103a86848a153d3b0a980d08321471cea3f4249595aa4dc6398875d1d14cef8e96";
+  sha512.doc = "119568cd01c06d8772495ff725f3056d648b844b58591216e8f35caf0f80b5d5908ef796c725eb7d917b04ca734fbff1ec0a4ad1e554ecb6a5d243a829644beb";
   hasRunfiles = true;
   version = "2.7182818";
 };
 "metafont-beginners" = {
   stripPrefix = 0;
-  sha512.run = "3e8f0d1331679de6f178376ff3fb282d59a54d2cb9b64778a0e0708bbf6d2dad859c6c543f7b2dc7d971a92c3c6012f9c07244bda8f5965d2f380a8eb2cba90a";
-  sha512.doc = "cf6fd311d6e7114c3848f722043ee53df3a39296901b028775dac52cac56de2683a736b0c3f6fb24150a4efb1effadc79b3621d27ea11c57983a3e02bcbb3a8e";
+  sha512.run = "39352d8b181f3010fd4dbfbfad18a8cd3f68f0c38bdb89996ea4c77a649acbbd15e9a7fa318193db08733b3722a07a8ebfb17a6430bcc9af8101dc444608d75b";
+  sha512.doc = "4fb7148b0668845447fd38411df0288972312a56897b1d5bce69a7e57ae632aacd12c273a911045204705a5534ac1d1c290af08a7057bd62184a59eb7146feb6";
 };
 "metago" = {
   stripPrefix = 0;
-  sha512.run = "04f6d94dc0109d70ff13b7e1d2a485071aa3c33d5875eed14e3c6aedd42dc9e14913c764935c37c09ede377f7b766654fc8c1a9465c98551d6a47017bdd0f9b0";
-  sha512.doc = "aa6e6378b89c8f0c13e8adcb2fa915cda391831531ca86f99cb684617a4abc8365454c4a0bc47018fb528291f6c8fea5aab8e942db76abda04e34aace8b60655";
+  sha512.run = "e7b3661d99ea50f7b20fe3af370e59e960fc0599409b5c11bfc9618c12c38e44b89e4e81d69ae7ba5e2565e46078ee52ed0bef46aa619408b386bb73926caeb7";
+  sha512.doc = "8396725c0afc87c63d16256d5ab0d575a19f05d78ed245099a60785f0810a012e8c0026cf13d03781d09d7c0007bb9ed9b87072ed732ba706c893e5465461052";
   hasRunfiles = true;
   version = "0.9";
 };
 "metalogo" = {
   stripPrefix = 0;
-  sha512.run = "c5f4aac2b65663f2062484523fba524e1436f3b4db244e30bfbf9bab47750f32b7c180158f6b9d8f7f5c5185ab199be827a5fed4830dcbd9f7ab6e18d8cf12f1";
-  sha512.doc = "a2ac81231535af36d216254cfd1270ed5dfa99e2c081f2813b48dc907e28d98f8c4a4f22e1e5464bc81083d9d8969db0722a58bd7f53aa719918c3b2beb77dfd";
-  sha512.source = "d26b1e43cc5d2b1947c5c44b2b6d8808bea1d24cb78e60fe28fc0af61ade02f166311001634596cb3eecfc6b3351f3822a970baf5ede0f0650341edd0c0352a6";
+  sha512.run = "20d5a9b8454166535aa3aa80da7d2931937fc6a4d730c1ab70c856311c223d466e9fce2ed6e3b2fbf4b4fc75778d7d4c2649111df5f92dd58b6fc42b3ec72696";
+  sha512.doc = "48318b396e4e227dc1b80e21474a296ba4dfd37e81b95f9669dd8c96ca7318abd8a1e21ceb95e0ca7832ed64a85ede985fae7e2e52b3aa742c64b86e54fc563c";
+  sha512.source = "bf240b77ef00d5351218674baf851b0eabcb22257fd6ce9dbd6b66afec5323a730df7b27d522f5130830ecf92af377edb3ec7906be206e760971dbe8f6266942";
   hasRunfiles = true;
   version = "0.12";
 };
 "metalogox" = {
   stripPrefix = 0;
-  sha512.run = "2e2b6d5235f58f5fe69056cd256a7011e3742ca11a2f6b76019dde3a018aedf19182f528286f085361823cd8a03fa6e9e5d7d2837d3f3e907a4b23f6654644ea";
-  sha512.doc = "aff947b2b6792c7e85ee5270da615543fcadaf759e55027f5f3504eeef8a1074761ab4f1647363126941795c87276c077943b0714c428c143a0b2d399cb2be9d";
-  sha512.source = "253dafc97a46b284b6a0e7627f8e1fcf73fbb0200afe0e10dcb87056362e10d1f308ac9931074f7222a1e5fb1881be1b47228019c305a0727d5bb7a5796d03ab";
+  sha512.run = "d2f6bb89071ae56b0083e5b38a629e6089d5d2c73fc9206181b2aa3071e0a4a350a3f5266997063a011d41e4d369745ec5f246d8f3b723c00c8dfa84452e7cea";
+  sha512.doc = "d55aa00226b6c7773cb275d33ed698e2617b82af5a2b060b58af7468e8be2d9c65bb8b052b66c28a94551fd51867a34e2c6b9d0147161e3df9cd05a03567a59f";
+  sha512.source = "b6354ba439f3514a491c271294436f01aac26f77225455d1fb1a91d55a5353d63f2de6d3814bec21c0f043c95186411353c87992387f2e174d9cb03057ef0560";
   hasRunfiles = true;
   version = "1.00";
 };
 "metaobj" = {
   stripPrefix = 0;
-  sha512.run = "9798325379f5fa26d333eeafa7b1452eb1b7c1c14990a05db57df71df859deb9e40d8e843554a7ad4b4f4fbab867be6bef28bd6ac669eaddff5e8ef91e29da6e";
-  sha512.doc = "f7cc7bfbbf6969b1c4827ad2d42d64ebb2033c242821ec839dc568d283fd246500c53549c58cdf05e1f785712f4fbd8c8b075ec42b84a5c83b9006b32cfacf14";
+  sha512.run = "cf587c174e44da9496ece876bfcb8330bc52173cc3bd6d1b1351efc75a7c333ed8c7cbd41c079d492947a1ee43d8043fabebc80b4c7a5d348eb054e82c704e3b";
+  sha512.doc = "0bfe1fa6a4b3a8923cfbe9bdc4fa1b27567df66365db447346fdcc739675d1d815515e09fbe96f44369643c38e6a8007a0f8d089ed8504020fe0a0e2a795ea9a";
   hasRunfiles = true;
   version = "0.93";
 };
 "metaplot" = {
   stripPrefix = 0;
-  sha512.run = "4707c640fe04df1a5ada23ded8edc6ff20fd056094f98b273227b62aae4d360b53f04113c4468644bb1abd0f7e975b3950ccc4075d5010b9f3dbc8afb5d40315";
-  sha512.doc = "aa0252bc713ec8f428ede4e6602d040f066729c1ef42713d95c881bd13f82667325afef312eb057f9f8c9d3635a40c38072c18fde3cc190722ac4324a2595de6";
+  sha512.run = "eb083316720a5d7379c0ef7c1afa0e82ea5df63a3a98200b7041637a6fa47aa33dc20a265e05bdbc63abfc375e6b59fa199d4091875c057a044821c557963dab";
+  sha512.doc = "1732b5a572a3d4c0a646308d3c102be29de845030a624763dd6075a44a739a29e65fd9f224229eed6dbe8dfc6b590a3df1cc07c184881dcd2f3dc5b0642a48dd";
   hasRunfiles = true;
   version = "0.91";
 };
 "metapost" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "8a532d1931e2d1f870918cd604f336ed5fac19da33168a4e275b05e8e97903c3eccdae461a5b575153c5cbb5c7f762244b2cb2d36b472ad7ec8c525203d7495f";
-  sha512.doc = "a7b4de8eda053258e08ba79cea286f8838638f21e30fc0b6f02cf3172987f3a292033b48bb1c64da25e3b88e35f99534e9755f92e656925e5118c2723da416ee";
+  sha512.run = "a22902373feb03ba91fedd50274fc110bfbc5d53a016d18a5ffea87946db7f534f0d68c50aa28292ce0a8ecec4808541fcbb4ba94ca3a1db52232c59883bac65";
+  sha512.doc = "ad46b27fdafccf2b6699dd64aca10a7f94916719d13a10bea0c3359577cbaf66324084777400c7c8ea531d911f0529bf7be1f95cb80d187d9b1a2b97a5077853";
   hasRunfiles = true;
 };
 "metapost-colorbrewer" = {
   stripPrefix = 0;
-  sha512.run = "62f6fd9aa382613145ff74e00712cbb0b2b7c6668721eeb02b7e1cbba6e2c4fe56993a50cf0def4756d5ca6fab3ad980ca43f86b0ea3ca5b3d3d403ca2d5e97b";
-  sha512.doc = "86c04f326d87a469e4cd3028344626eabf71319592e5412a16a14177efbe75dcc66da7ae77eb36dd5f9982fcb0fd5119e98e5ae90753f1a06f09501261a6181d";
+  sha512.run = "e59dd121f9a176e628697e31b720507723867a0b7b68b73531aa825bb02b07d04ff705bdfbeb369fe3a2d304f4c6c5aad3f823aaa4c82257540f1459cf099cb1";
+  sha512.doc = "59f17d78ef78a142bde5783996f149b3a7c740c2b3ec6f90133115ebddcf6c460dada543482f5379872054a74eb772bab8afd96fa48b2484f7932a478b8bde2d";
   hasRunfiles = true;
 };
 "metapost-examples" = {
   stripPrefix = 0;
-  sha512.run = "8edc3fd25c5911a5e752640137c881f42ff4cf10ab005e51520033e5b7e1467758f02a4b8e4ee9c533d32f83516e1b4d7a75f574d21c2dbdbcdba509de1168ff";
-  sha512.doc = "c6327735520b9421abe26629bccd83d1b034afb4841954e090df8f33a24a27589ee82a57b4353830216c01ccce8d71c6fa2789fb38402cff4a4e02a0a8a9884f";
+  sha512.run = "95942b1b110e65274839ba01c16fed3e63a0ac99aa564d7a000bc9d9a0f5625ddc1dca13e786d0721bf93e76410722d4d76c86a05297bc39cd9af6dc91c2e6f8";
+  sha512.doc = "2a3aec80b511864878e07ff973e17ed4fe1aec692c7e6983b57dde586aa19500cdd373687b0e081dc80c8584f116f0fa3de7ed4f09ba232eee8adce5e998c954";
 };
 "metatex" = {
   stripPrefix = 0;
-  sha512.run = "251dfa4a2cbfe7841ffc0e38a2b9d2f795bf29d21d1c6b3ef647a55574852eb486b95a371a359e644a91c3dcc4de0e98337fa6f13af8af54406ec399511c6f7f";
-  sha512.doc = "c0360784e8eea3d0d975ae3fe5092efeff5b5d44bb80cb76bf9a9a4aca19e00b8e0574d79e2fe223fa591e6f26e4570a6f15459c857bcc3ac11445064ea89b03";
+  sha512.run = "8d438cf0f3bd375c169681b242b7f00dca96cd3bcfb167c6aa664e27dba59eefb53a6d28ef537802d584b17bc578b1d63ca25799146ee6d986bc647ae1b0af2d";
+  sha512.doc = "3c2918a3bbb30b4abe2395baf32ed2fd5fb1ce3541f86250f0c4037aeb127fe7e90cfced87144d564813a437b39b184503ea9a2c0c61b979907db74d91860677";
   hasRunfiles = true;
   version = "1.1";
 };
 "metatype1" = {
   stripPrefix = 0;
-  sha512.run = "c5c76791ae50cda15e03aaec81f496b533a950492321f79cd86e9277d1e94ae6ecce90ed1709ebb8957173021e71e9b25a20b26c2976b231622f76d00f5d339e";
-  sha512.source = "ceeb7f5bb1b3a4b6ba1b6a04ba0ad4c84ddfe222ec037964671baedceaa5777e31f08fd3451fb954a3d6e2d2f03b02f907102b58eabe785e6846015acb01b5b7";
+  sha512.run = "1dc34e3f826ebf09c6f3baf358aa0e5ee4ecbe86e2f82a7da12c706f443f5eba7fd8582bf46612b2fa3588515dac34c49d47cfa2b9c3ae905cc51dbe7779eb28";
+  sha512.source = "26f891bb5a62da78763df29f1d9caf26588c6dff57e063eb445ae23a5dfd7108956068de991bbb514ee394c49d4ad119d4a0fdb5398aad48d9be223b8f13d388";
   version = "0.56";
 };
 "metauml" = {
   stripPrefix = 0;
-  sha512.run = "75528abc449c57072ccc81dafb0d7d045d185fb7c589425e9f878543779c92ce9d054e8392ea8b601b38c70ede5d949679bebe6a768e37f27ef6ebd926dd3681";
-  sha512.doc = "ef9f08074cc33a40a9a241d94c9bf9fe219342e1c3b3b4aad35ce87b8b6fd23f76da9cb58256bd7eaafee8e33746a04ce5fb7348e4302dc4507288a6f71af8c5";
+  sha512.run = "96773f0d0e2788d13738930fa1aa727c7ca2edee020f3848326d7be3533c177ac977564aed533c59695b1e6c4c65e191784cbc3e7e70becdd651cd702b462ef5";
+  sha512.doc = "6c649c32111a6350d36c69405fc272a917144be429bd84c0f118a74e1232c06744e66fb6647c5a742f58c6c78b46830a1484bbed3a9a962380ece6b16c555169";
   hasRunfiles = true;
   version = "0.2.6";
 };
 "method" = {
   stripPrefix = 0;
-  sha512.run = "269bcbaffda5fdb12b2aeba150acd7b62c961aca528ae87bb0207a1bd887edefe4d29122fef3db87453bdd5b3c2a9e063fb53991499b2e5f199c1530a7d56d32";
-  sha512.doc = "8649910b86dcea1424f687e952661da4faf086ebf451bf1b5c9b409d54c26a040a11bd90025e27f4f6c28c13e71f772ec89ffb863b5aa3dbffcdc833f58ee324";
-  sha512.source = "30f9bb31384a9e5939ab3990eea086acba20d247e17684dfd58075673fdcb6659b8516bcab5170c6671cb45c69283a9289288aa61b1cbf0b73bf4f237eae0ed8";
+  sha512.run = "9b71ed52073f831431ef6a3a81afe7efac97a6dd39d772b8f48cfa639dfec01411a5654830fcbaef6a3bef7aeb718bbbc38cbd18c592a080e67175dabc7e9919";
+  sha512.doc = "2a211d1325322bfaf57c81a534f29fde51ef2e0dad8d7697c3af9fe10745c5f6245bb689b65d54c39a66b34ccec69d055f201aba34b2a4957ce2fea0827eab45";
+  sha512.source = "ba90537e63493073509e9407aeecb28797370d75aada1835d5fbbbf991ea9b933226950765b61ab831a708d5fddc10c2fccd624d2872148bb77759a3595cd275";
   hasRunfiles = true;
   version = "2.0b";
 };
 "metre" = {
   stripPrefix = 0;
-  sha512.run = "cec7a41408a788ee7aa3c81c3c1ca200f5c0247b58c301346dcdb8ea36984925eebdb90d74b8934f201f73da84ebc01b0696484933da5ae88ae50f88df0dd111";
-  sha512.doc = "598b7f9164f710f401424dc5e1dcf348bccefce8c433518645dcf01cf043cb2c869de88ee1a9c5a86afcbf18bdc283cb9ed8a168034263569290b66ac0677100";
-  sha512.source = "94e12ebf022a6d8a863ece139482210ea38483104887accf7d3a02fa201b4b575f3bd6fc9df1d096ae170fdfd0395098700392b6883a9fb9d87788d08a105a37";
+  sha512.run = "29d99fe061c828b4eef12047215451eaf6d603106b0ebb0b7c83c8f8b5ffd360160e29a0c86bc0cd329e6f694efae695ef03282885e872cf26c8177f951b705b";
+  sha512.doc = "73ca10e1d2b32d4f7b37de6c409b68dc38b3dd165f47f52714c3a17e7a5dc6c1562928e7a7f8c5a3ed9aadfe1324e451baf6cda5dce69043fef3811cb6ff8cf7";
+  sha512.source = "d11bfb161dd68208b4f4e29b67131618a02cb60f4e87c3f2809759ab42c44603e790876ea84c6c9f4f053c3cac1bf189344110ff5b4acdc97d7ddfe4c466c977";
   hasRunfiles = true;
   version = "1.0";
 };
 "metrix" = {
   stripPrefix = 0;
-  sha512.run = "329c293873badb614f53dc7a6ae410c9efcfc755627aa25df7143c69326d2b659de969041a076b4626a7cf3b7e0133fe97af79bbf6355af009a8165f2df1a8fe";
-  sha512.doc = "26786534759fae6e44302dada94b13f5778f2076e7fb475c590853a33c731a095bb5d49de6865ea54d36d07f768d99a8e5fb2689b00cd9a1259f73604b231100";
-  sha512.source = "2259286aca488723bd44397a078989baa15cba633e62156ef8c14ede21d9192f1c354e5f7f2a9694407710616ff98daf17a4a8e84992087954385df0291ba696";
+  sha512.run = "00cbb4d0cd9417c57ae2cf701f0a485d296e17b95eb56a7a3b0acf328c4eadf3d8ddb7d4c3442ea26ef019dd4a6b5c95af9f718cd4e31b5e5d29301ce8e82edc";
+  sha512.doc = "e5f8654272e8a85366c226113d3815ffb1e539237bdace71da55e30864f8c746162ce1b3f3023e3e62616b286145157816aedc871c6c42dcd3d4b76092d8ea46";
+  sha512.source = "51a355ceccac5ff53cc98baf6d8fb3c36949f620a51191899d272ecca9671819c740703af1c47856b4c171757de68df839959388c2d87b2f43f54aaaf219b7a2";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "mex" = {
   deps."pl" = tl."pl";
@@ -18459,288 +18930,304 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."enctex" = tl."enctex";
   deps."utf8mex" = tl."utf8mex";
-  sha512.run = "7e0fc7d9577412e69adc243d1286d830fb0182348434d51dc61534d2d262e9389ee56309278e1d4f96915dec05b15c0dff6b021706c8ad8c1546707053c53c14";
-  sha512.doc = "61f921bbca7b5074f5fd32658016779a347881dd91b2e278c1e0f838de9d2e4944dd3675f839cfefebf3f0b76f91c4c17153afc8c64ca739a1496675ba5d8d2d";
-  sha512.source = "5486bf0a72cfb08b5b71b87308775d65df1cde56776ad254abd9a2f42e41b070dfc0460a607138c994e2c5b70e73339a9ffd95b422e0f5c69a9fdfc3d737d316";
+  sha512.run = "192ff9559722639d535d91d58d161594506374548a4414ff1508750e35b0b3e755e0c6c87559899e216901d62bc88cb28dfbe0725ca5a51325135f4251e1f110";
+  sha512.doc = "0409918335f2b6fbaba3bab7027d91b2959c13927445bf64aab60a14b033c1e50d27c19878a65a56e8245ac025a881300e0f5e47ab0662e70e5872109097077b";
+  sha512.source = "3d8246a6e7f3723904711f765f42282cdca89c88d62aea2d37a259900a645c094d6b1cf8185533341c82d14ed7c44e4b1b573e6524d5b4fccc74cc9d2cbdf1bf";
   hasRunfiles = true;
   version = "1.05";
 };
 "mf2pt1" = {
-  sha512.run = "c1865afab20a1fdf52fff4703f13de9df20a349e5ede70b8b7fb45a0a3680c7acdd024cd81d23d30baf5be8ee4e7a4e4f2d2b8a9543670f85ab9d4b7568f5acd";
-  sha512.doc = "68e4c8e5105503cedc918c4a221c36e8018378cae92f0ff62f372790385d700ed7abe617b4d8976471ad30720b59597856f6552ad2aee74e6790c4a332ca481f";
+  sha512.run = "87a90bdf45883da1291d8ef5a21e6f7fa51480f9933b92ad4a87384037de991ce36b47c238f822d466238f4bca6aa41a123c76a34f9f6efc2e43a2104f85182e";
+  sha512.doc = "8e672808d60133e8a06bfd7350b1f9f5a4b1e706e565382b015f8eb9dbdb6da246b12815388f445fec87e63305381717d817c1eaae7762fd7b8043c89e1f2401";
   hasRunfiles = true;
   version = "2.5a";
 };
 "mfirstuc" = {
   stripPrefix = 0;
-  sha512.run = "905fd873b7e130270da05265ca59092a6cbdf1ea8c3ddd444b1622251629781858eae18abe6a5abf4f793d0d8d60d941cab03964258bd3a5d6e94c0fe4d736c4";
-  sha512.doc = "41f1e68878866fa567acb407b71f49336ed50b05bb6260b3169c35c32e94844e6d3739d34451b9be8b1207e90591eb02c6c2679ec9aa43e262df26589d4c9c39";
-  sha512.source = "cc0aad40077ea9a88c7a78aed63433879b7d472f37658efcfff3c17f0f2d0f1e250808843a5bc08b50442a1f361741e2f8cd79bd1cc526a3e56079188d8031c8";
+  sha512.run = "de7ca64b5a32f697ec1efb477c2230ac418799e72f298ee6ac80409952affb35ef6152fb366e822ba1b01e39afe4483d5437c4e9aa22130a90bef79f87ab77a5";
+  sha512.doc = "1a2705a13325a97199095fbdb900b94e94f308311d7609ddfbb75efb7afeb1a2634a0f543da517a03d68e974d2b917f94a1b6a7b3d31965d7087ac585b6b0df5";
+  sha512.source = "021d1e945d7033ed18d3df4a3a0756c9048e7a576bd5d64f1fa2f963292a9aadf0c5bea95b29e3468117ea4f02e4b83785517516d87a31bd85bfb6fa0133e734";
   hasRunfiles = true;
   version = "2.06";
 };
 "mflogo" = {
   stripPrefix = 0;
-  sha512.run = "1c8418186762593c91bbdec30b9f5b8705e4cf4dfbdd01c7f0e20d70b9c6717bc099eb6add34679c8a9e44c72dd15b7319fed4031deabcf2c3716fd242cd7c87";
-  sha512.doc = "0d94bad751d9c78cf5cbabee8b29a6f43bc96f4ecea82d47ff2f1392b923b1ca2fd0a55cabed63e2cc3e8ac1d6e76fd2d992335c849b699819bd4a395db6e107";
-  sha512.source = "d685801dbe3720b8e497d2d20c6a3a87448d3df571f6769cb58552bb983a41458de3631b845a0560630605d22407bb44a932c8ff4b75a2bdcb7596e121570b63";
+  sha512.run = "a1c5168e37fd9cbe5fc2714ee43143f36cec662441a7a9d33085652a5d6f769838d351faf416df6fda78529b5f8712f1a056afa47577fe925dcca5249f1fda38";
+  sha512.doc = "6d1dabc636d22c824838a82da83a4676b20bb8a55dd1ab5628d00b4543096f91d234a51a312eb83544891910d923650f09e8911ec9db668f411735de6ef5bf3f";
+  sha512.source = "7078092cdbcba668ebb440ca6214eb155221427ceaf4d1f574d1055d2f1f52d288cfc0f1d2212f2a62903e447c4aeb378fade068ab901833ab9c251b1890e15a";
   hasRunfiles = true;
   version = "2.0";
 };
 "mflogo-font" = {
   stripPrefix = 0;
-  sha512.run = "ed66d934054c3b7262951fe261b8f0189668e1b5a38a3c85190d761322cd54201b627d255211cf09e14b8b3951d92bc1869013ca4269402ebda63f50db7644c7";
-  sha512.doc = "26aa14f700be84e211a06f11a3b6b8f213163e57146f0199798f92c969134c808d50ff00ab9bf4108be2feaa6ab6ed7ed61866e521d40a8ac7b8e4ee5000dc8f";
+  sha512.run = "8be2b2456a14bc9a8a741a11b033a844bf529b511eb1173887eefab646922a37b82b5847cf94331ad34ad19bf6c75629687a7e490dc57e7ab7be473f751945b3";
+  sha512.doc = "aec625435ec638a6c36b7303d9fa81681f355460392f42d78cd820d98f7b6489b978980ada6962db5c1143057133d32fc7f314dbd60f606db4b69209de5626d2";
   hasRunfiles = true;
   version = "1.002";
 };
 "mflua" = {
   deps."metafont" = tl."metafont";
   deps."luatex" = tl."luatex";
-  sha512.run = "663280aaf9bf9e1a935a3ecbaa7e37bab4135bb59fd0043fd421c6483aaf3849c4591b66f0e4f1ad4e1fa15212854c950726e71ac5fbca6435d588f94bd08d0c";
+  sha512.run = "a12e8a56228f0e3c49ef08a47c989135028ce6a99db714eee1304feaa31ae10ca5f030291ac56e9a344b54626247a521a909a18a35038333dbdce6553019e31f";
   hasRunfiles = true;
 };
 "mfnfss" = {
   stripPrefix = 0;
-  sha512.run = "cbe438e051415adcba7c17aa2ab75267b64cb5c9e7af0a25c1d87c228e9e1ff2e8f302a57acf1c1ce4b18d31aa589079a731bfc09f8d46d81cc1cb030b9496b1";
-  sha512.doc = "75700dff90fbe52e3ce98a063ae1000da099e7a7acce29da30880b8b92e6b4b82271e2686e85bfd8d36dbf99718735b36abcb04eb50d7bbc94eb3bbaa576359a";
-  sha512.source = "efc94553641acc572b9f7f6d5ce77ec65971144cb0f05dff4cac3337e3bd8f2d23fcf18e0921a1b801ce5b854b1e79665b9124876e27ae7d1ed2c7fa77bb9cd0";
+  sha512.run = "33206fb4cb7ce8f18050d713be415abb95323599270b2b91c886e2ac3f24a58786a480e5d4d1ad6ad2083456231eacf94dc769b26e6cae7288e996c6e14bea29";
+  sha512.doc = "f8421e58ede77c8817679fcdcb43fecfc519427b3cb93ed2594fef5c8ac8124e0563a2182803a2a6bc417982df298abc7fe092f1cae5ed7583e2fa6fe94c8345";
+  sha512.source = "2bd5aee80abf38884cc4a3ad6d6226243a6ffe0d2e879101aee56168a10cd0c7293eec7ccf53c7a7e8087ca94398e3f4ef38d71ccbbfe48677ffee3f8b813bc9";
   hasRunfiles = true;
 };
 "mfpic" = {
   stripPrefix = 0;
-  sha512.run = "d3d13e105d5bfcff4960d8ba677923d1affd911c096ac786e5cd0860c2be7ec5b92c3b5c6def1f3e99d3b3f0de74710dbaca954a3f8d4052f2c7c42b9933078a";
-  sha512.doc = "0e5c81431f6881e78c34165eff73eefd7c8bc7a221bcb9b7727971f5ce1aee7260fd448070797eaf6831d4690c83e1f55ef4d4c214d408eb71af24eacaa877df";
-  sha512.source = "50035d8887f7084eafd0c70c18e5bdf8ca7652d2e59ad41b63e6dbf469ea2005abcbb12c475983dddc95065eb5b5ef29f11f3703d8ac622bd75c9a913d4c503b";
+  sha512.run = "361983a020165d094bcd0fc9616be74bd2b5c72542b1e1b257b5ec42ac6be1175caf59c79e156da2bf6fecfe3746b4e33a4a8fc978eb124939ce0ffd2c383081";
+  sha512.doc = "97ec26cc1ed8e181c7d69af264204772c9075e3650044b58cad938fd6918f9cbf5c849699e31846f437e41410492b67668a7ec33e848cf6b5fb9c2d52d7a7947";
+  sha512.source = "609b960a70d47edbb814c981c5cb03b91fd19e905f8caed599be2488e0ed9ef0bfe01af79353015e0d6dd2fcda6810bde10ec4d8e993356bb7371ed2805988c8";
   hasRunfiles = true;
   version = "1.10";
 };
 "mfpic4ode" = {
   stripPrefix = 0;
-  sha512.run = "de430b6ac60c0d106cb23e331352ca8f5f550c4f5ecef19a972c8ae03b7f8b614c9dbfa1dcbd8d0921c8c92de545ffa62305cb84014bc7a09f7a139515fddbba";
-  sha512.doc = "9517a39fcf7abad9fc95b83db90702930b8b6a4159af1dd916af4aae88e1bd6a507c1975476778c3f97fa844b4fde3b924378e3942e041ed500e0fe9de62bc0f";
-  sha512.source = "b41d79fca5279456ab01ddf4f7f7cf498b27d69f53aeff0afc221d39ba800a56e5f6112c023ea2b3a8a40140eb39dc6c751ea1599fb583cc863b78c0288bf4c6";
+  sha512.run = "4f3a314afb6b1f8c4fb07421244f2a05747f5d24194659053c561ba24ed90f325e82ab9d97981af6455081580f75e9e8f75d11f06aef9e1c027ed0f9bf17696b";
+  sha512.doc = "9d5f38873cd94fc3248b619f68e04bdb1824eb1249cf02e555a60c3e84dcab78d3e04f9451e1803943e898ed7f55e33615f673da8c58569219650976c25f0ae4";
+  sha512.source = "b5de6dee490578bc460f76ccb606b5d62d4f6f2c43e2f9967085f1a323ba287cfc596da70905a40e1ac602074323940a9e42ba8096a9a35190ca280217b2e10e";
   hasRunfiles = true;
   version = "0.4";
 };
 "mftinc" = {
   stripPrefix = 0;
-  sha512.run = "adbcb0871e679f3909ac59615b4e4ec85702a0ca39668fccc7b1cd44c4fbe1351d8b9eedfc384d1020e2fad0431bfef40bf194836674f22fb7b9d33d827b1914";
-  sha512.doc = "0381e1912d6322a6b1f7e7253e932976d57d17f9bab83a4835fe05bd01a422e87405e9e23ac9e65719f6e2fe424b8c0eb71cc92960853b887bbfeae20f993110";
-  sha512.source = "6d64da073e5e795fbf0ce8bc72e75a69a60c58b02b07d27e6ab3f858566f9ac104c92de493b500c80781a9c2baed14cae5c79b3ebc6b84cc104b5907e7f3111b";
+  sha512.run = "64fa5f38398a626d5a351be7ad866c75feb4549f836932dc936cb99f921e7b8abe5b3d6fc1e1e6c427344606ee5dacaf067d8678e7b199fa1ff8d5c94cbffa49";
+  sha512.doc = "0846744cfd86bbcd8b6ad90d58bfe5788a79f43d05f3cf6f438fdef50cc4872ad8ec4d32005ced9ea9c424f3e86a799d79b0baf2a9544a3018531a99cd81fd5e";
+  sha512.source = "50ca90a2f48970b3cca5552a361337ed138b4a9e31bca2766eb429cdceac2a09adc1cafa6c444c514fabe71c38ed82a63b847e1da014f2c131a15c362efaf09f";
   hasRunfiles = true;
   version = "1.0a";
 };
 "mfware" = {
-  sha512.run = "6b0bf98a6b6420259a4456237ca3a02c4b0586e051555ae27f27afdd1e21da1e54b9f46034cecb920423a54af9c46e02234a517175933d1806bc105ab15d35ca";
-  sha512.doc = "7447a7719590d9a6cd39f846ce29d22e768b0b7c0272ed9cc349ba41ea8c0d31d78ddfb04808383e7e810644a0b00dbfa308401f0142ae1e36a792380961bb3e";
+  sha512.run = "9379a31291d572743dd3d8f82e32e7057d686ef12d321e1f4c179df1d9d64116a61c7741b2be5b08a0f396e69b6c567e40cfb66141dae7a95ae3910366214a37";
+  sha512.doc = "f22a628dfe7d1566efa13502f38ac399e17bd90fd274a0fe4fba98de25bd24b6a3526bc0124e24277979ca42af8c01898f71e9bd9e1027a899b12c74c6ac205e";
   hasRunfiles = true;
 };
 "mgltex" = {
   stripPrefix = 0;
-  sha512.run = "784c0c8530899a8c3d66273951fdda53707439d737bea9d33858f4fad93d889efb2873660ca279530b5a3d938b908fcb82f3561200ae389862c565c7b66b7e76";
-  sha512.doc = "95ee395d285ede2e3bd706c792ff6584fe590559f87e26706711362e56abe3c02403ae15b0c055235acea7d6d59f5508a04419db88e523308b416e015c7b0b54";
-  sha512.source = "d403cbeba95f3c7020822edc5f7effdb38fbe14a8379dc305ef7afc2ff2ea09ecea031ec4c93453ee7666e704b978a640fc70a7b597bccf0930a681d9c822316";
+  sha512.run = "f9d98f3e964ecefaf420ecdbdf7187300613bd22df092714ba5b5e945b47c2b24b95dbdb22abb92725a7fdc1ca1fcc88cd14cef1cd1f241c02ce26328951d751";
+  sha512.doc = "3a987e0ac6ad678887e9a2aabb18d772a3bbe4d1d10d53184887f95191961b692d231c1a7942c3383a5468098432807030a0d3877c5f3b0e271d8b7efb1366df";
+  sha512.source = "3467c64e09fd1d988619e93df1e2313639d2b8c95faac62db5d17d615d56e868c06be917624957efd7528b50cd16cdabeea1cf0647c347061632c57fe99543b9";
   hasRunfiles = true;
   version = "4.2";
 };
 "mhchem" = {
   stripPrefix = 0;
   deps."chemgreek" = tl."chemgreek";
-  sha512.run = "a514d4049567d1763da4b1e8865609b0ef4d8ffbfe74a4db58d60e48b9968b615f259c8524639ffe5cc74aacf4db9ed3ef5d04d28a42df381a16fa0914efc1a3";
-  sha512.doc = "61eb4735097b7cbdbf18b5276e4ef47628c557802b71198a9bd8a7e5f953b6c684e8c6f0cb2e2ee68c05143ace40c509d2292ba8e0d20091cf60b956552f52af";
+  sha512.run = "c6ab7b1a02d2b4c510e487d86857ca82b2d9e9b46a786b6067b91a097246ccd40e24aee09b2140ac2b5446f7b12d85614b31ce75d45641d923bbd77411696781";
+  sha512.doc = "832897ccbc039a46d0c5e0c3c8dca172ac54451b8d22a5d275acd6fdd30f6119ed13345b0b473c44edff3c8cde47480e6fb3424b795db55957d40bed08a1def1";
   hasRunfiles = true;
 };
 "mhequ" = {
   stripPrefix = 0;
-  sha512.run = "8c368f2ad6209c2cf503a38e43d008db46a674af539f4de9c85f25ab5334dfc98c97b5013a1b1713e4cc6461be1b2943275945a01f95e29aa13dc62a77a19c99";
-  sha512.doc = "cc34cd1b641f0e010f13f51484d4110c277674a327dbe55be69b454a9288c82da6f832b24a21708980a32e544ba69f30e31a2ed061f66fada0b16da346a8bced";
+  sha512.run = "90f7dabe6486f6566ad6f835838ddf58a6568364ca2b5a82ea9cb96f283c5025c1f93fb50bac98405e8200de32b2c27e592e401a44fab691331fe4f77d27a202";
+  sha512.doc = "0d7a258a96604328231c1784f218ef3351f9ef02a0a9a9da42db36c89324ab5f74559f3ea91c12553ec5a39d14b3a5f282f61ab9e001994e22e266ce394df26c";
   hasRunfiles = true;
   version = "1.7";
 };
 "mi-solns" = {
   stripPrefix = 0;
-  sha512.run = "e7a3ee305e55e72a63b1599ae48996721cf336647c65e3e05473544800ce9871c789185ef91a2f18e29da802a03c5b5126792cc67e1a576831e80a361fee3f2f";
-  sha512.doc = "b3088c5e1e621569a08b0f2bb56c09438afe6be6baf50048d7fb1f953cd0115af938ea197b76a80212f1d88db6effb632c444fe2f4bbf5b66fbe69b25aa102f3";
-  sha512.source = "90ce027ee97e8727ea2a05f7304a05e11fa27f73f6566c0c010033f9a20ea6be492feeee45ee91a7b8f9fa89fb2958a89d56793a8c16b902e94d26a3c6d16bf5";
+  sha512.run = "ac5beb872c78675bc9df379f8a2afe533647a1c39781c57fed2cec6e610cafbbb45a4fdcbd9826cb123a584e121ff752633d6c990109bb1f619b1d9fac6906de";
+  sha512.doc = "cfd36e0a1476e0d148fb36f350ec236d57beb2c0b27f08eb56f69683790b16425a6f95b4f93a010fe0d450863fb34a7eb31b1c8e40fbe5319df128439dfa5372";
+  sha512.source = "cf41fb6338270f2fbf56b33b9d0b3b6904f06a84b99dc8fc0613e10644b3f198b22634cd82b78bd50b236415ec6b8d46c9d0d99728480782459f514d2086426c";
   hasRunfiles = true;
   version = "0.6";
 };
 "miama" = {
   stripPrefix = 0;
-  sha512.run = "de3e66a7bb4a374189c09d098f35e1ae33bec7824680605f2de4eaa0bd55748696afa2c30f9088d9167485887a2c6f63234c070d5bdf404dd4d46aeddf23ebde";
-  sha512.doc = "3cf4edb7eb1049dbc5943b0b88d45909be779301503587b49837d3344e20cfd7695ba604f481b679d937c4290c288f925d4b6bb68e9a2d809be72a71405d8c71";
-  sha512.source = "65911e34d6bdcf158296ab8de6afb27959f3e4379fc7416e228d5ed851bd51a4f6149875b51d2995383f592f968520bcce07bbd4ff324e531da31c135dc64d90";
+  sha512.run = "f7a23b5d536b8fcdbab50eb86727a3e2b88c079f3e0a137220459522e4c939910f9a06ca55e944c1e9cc65301836aacd45aaaf8048d35397b3919220afe8ec95";
+  sha512.doc = "415233ee772f2c1758f1a980c5a7d320735125819c5c7ccdf2d4a21a2c02ca20dd741d64fd3b3fa5dfd8e0f0b69e8b669a319745f30b179ec345ec4ef014bca4";
+  sha512.source = "29d11b1a7e711a5c5d1deb35a7009a4532adcb640af64d23f9adf60eca35bbc3a4bafaf66c536a2c18b30d8944de810cfb1021039b0c73449d0ba799b55e3623";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "microtype" = {
   stripPrefix = 0;
-  sha512.run = "ec4aa5f4982e1b5cfea99a9ae0f3e74cdb7d814d885d5eb8f65100fd5c7019e576821b327aefbcaaeb54f7889e521ee0afc627153b3f7b213917e0cf647c154c";
-  sha512.doc = "0469b0a305da06a0da149417e908804b0aeebf00d0ba2f9630b149068983aa6d36502439ae90095c8607a04cc55542224b375a2c9058bdd330f61a7cd3080c3b";
-  sha512.source = "a382de33e87b6b8de9b99edffc5fa9073517e1570eadc3061ffcc2abc7c9e8ec1424544ad1663be96d0f489b7cee7a92b43d1fc6ab7c300153d084661796a113";
+  sha512.run = "fc9b36ea89ff8b064a415c84d692ee6cf2a928d650bff56bea9d34e3bc5bae84e080b3a34c147f9bb1b6f16d2ebdb7c32198a592ca2470afe4b181dfb3e58144";
+  sha512.doc = "ab9092d0b91881d78fdf9007b23f9c147fa944bef745329cc2a099a1e4dbcc9aa5836cd79cef3dedd2e458e2c9f4e83599b20436bd3d50e5420c84929f660930";
+  sha512.source = "d79f9aa79e3b4ebb38dd6b72dadcc6e00d722010d973d2bd6177350f4bc58d6f2e490be1c1eb7233df1d2d6a0a10d70dc76e08aa59bc7109099e2c0d2c2864ac";
   hasRunfiles = true;
-  version = "2.7a";
+  version = "2.7c";
 };
 "microtype-de" = {
   stripPrefix = 0;
-  sha512.run = "1af4dccc8bd6edefba7bd66d7adef9a27bd341b3c4f0155a33b35135c39bd819a62a121c05b4edeacf2a35daca0a60a6e1fc5f8f0062ea1f89def220b24ca03d";
-  sha512.doc = "c0d43291d38e01ac163af05c9ca57da3196d7cb93e9c494ce816c1359b1d073ef30fec7735df22d869afb3f92a52f452c777e0ef97526204aa4e6cd0de14e333";
+  sha512.run = "bd9b7ad26bf0d4125d1631a377328d934e6fb8b619e7040f6644a6df70bd43cfb8a93e8ce6b49afb90d824b73302d063bb23e67fa172d635e952b035510dd6f5";
+  sha512.doc = "1024c46f6b7dfdf4aae45090533087d1cb495d737856fdbd9691e7cbf489c19ce229d35ad55237e30998f154c9ef524c78068d338c236634df8922d50ae4fc17";
   version = "2.4";
 };
 "midnight" = {
   stripPrefix = 0;
-  sha512.run = "232fcc0ecf25e6c80704a486d98b17c1a8750fbeadddb393eddabbdb7c46f2926cff65d4db3e39065a1c8caeff64b775a40017d51d3a01fa44ba727f82494624";
-  sha512.doc = "385763510c1cd1e276910306ee3b427a66c5a1a3735b655091ff9b6ae7be89daa66b442bbd21fd806a426802683369c081883d96e3da77e0a4402def5fce107e";
+  sha512.run = "8f8bf1d8d3c5c12147dd61a4d65d311552877a9f5eb7ebcce71602dc69ed5459187134d3a1e346a15255f2c4ba57f054c3d020817df0d5d89c7fc2f216b19cc3";
+  sha512.doc = "0c594cac3c7e8d3064145f1b2b088d74a5445b7a7506fc2629b3df6f63419b025779e348116f7dbc859d7c406d87e5b5988d529e5da61d01b0759b0f0fec2382";
   hasRunfiles = true;
 };
 "midpage" = {
   stripPrefix = 0;
-  sha512.run = "8b4cac90dd0bbe21c3d48276fa93d62ff2dba0c471999b7180e314c28eeca1ae48cfde4d7f98d48ec353340d9598a31e52f9d62429444a861f1ab395f008b7df";
-  sha512.doc = "ee51c5d7a8d69ae1a680eac984ac7885b2735cef4039c140bd39c84cfcb5b58a139ca54c7d8c669a1338fa9d4a21723fb03f031ff987ac5e8fefed829183b8e1";
+  sha512.run = "9a13760b776cdce28cf3eb1e28e957265d7d4e83b23234f1590285bc83409f1d5b09040fc6cacd3b9f7a5ec2f61a4e5431fea92a5fcf20032c7bb919ed59612b";
+  sha512.doc = "25f41bb8cb12c6d310da66d36032eb4933248f0c84a67216cd0981fda7e61343c0dee03e96f522bddf969e925e6cf495754e52e863672f1cab4e94ae3b0400cd";
   hasRunfiles = true;
   version = "1.1a";
 };
 "miller" = {
   stripPrefix = 0;
-  sha512.run = "1de8a349f509aaf16a74495a8629bd9a7c4f592387cf0d0928f12ca5c46f9772c819e062dc47aa0039bbb6b94285c2fde107a3a6dc3b16c48c38b9d8e4ea8290";
-  sha512.doc = "e8c633b8e058c281ed6060e876d98ec7057ffde804516d5e8e0e773f49a742363c1ce5eeb51f9359ee54da3fc90938f745c8624b26f713ffb42e2300fece571a";
-  sha512.source = "e926b6f20dae412bad08c0c82feeafc8915cf1b6101b77b29bed0bd4b6cb95f4a6a4dd07856756436857695707d87b317859ccb0be5621b4b954133afdda50a2";
+  sha512.run = "a1415d82a2a81c3dccdea1b59c4c0e8d2cb3902dbc6816cf7615fa3e571de26168a6a066f52bad94c38595102afcd1447721095bd084befc20b3fb3ad420e129";
+  sha512.doc = "3f888fed2b909c269ead9e5191a788828048a21103c881a9b769fb0e8a3c0f3e6c41467827143f6b79a45d2497e3ac21d5c6da8727be3c987ab8a1fdbcec59ca";
+  sha512.source = "06e15ff6c146685a8b4d13c5d4e23de4ea343afe684924694f86104f362df7dfaa975b25e850b685e05efeeddf2ed079038cafff8a495116f27dd756e4dceab3";
   hasRunfiles = true;
   version = "1.2";
 };
 "milog" = {
   stripPrefix = 0;
-  sha512.run = "294c434d7f4a0a4c94a2796a1f1520ad436144041a9180ad145b0aa406bca9ebc24ef545b71bdde69bd0c7dfb5f1d4c9efd4d0813ef1d1a15cfda5d05c91c165";
-  sha512.doc = "a93fbb41d37cfc4cfd016c00a2c88497da57d55be73d442c7c30f5e3bd3cb5bf68ca89027a03c889e212b4f396768b0f8bec43fe2b574daabbe576766810a68c";
+  sha512.run = "126942c7be2217843d5dd0a6a927d1a47537ced3b1a083caa54b4905625b57238cc0a3a8d1652da076144b8c2469f418077eb4051527e5d351c2d95f3d3a5f79";
+  sha512.doc = "251b73ab0f52ff2672733c3855289e012965151e07ff447da373bea083b1ff6bfeff38adef72419f03ca153545fdb90bb18f3aa254fa7b59d3c5c061ec5d15ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "milsymb" = {
   stripPrefix = 0;
-  sha512.run = "db2c38e789edffbebe5ad9729021b6f4663902e002786863aa5c4dfba1900d864494677c69d66e9abb009eff1719da3d029c807b2073a009d3962483f3431cba";
-  sha512.doc = "957dee2080cc2d45d5985a21d253ca8236ae289bde8cab3ef02d9baadf9ca48e2e1d5002605d96bc81ec8799e2f7cb9f3cdcfe7ea76e1fc5ab046857188513d7";
+  sha512.run = "45e601def6cd11cd58f0d30e39f243a48be800861b0c1c787c393f39d5620e53ff43759e31e87e20aee80dabfb96da5bd5f2349b83fe2c4f0b82455e461986ee";
+  sha512.doc = "12550ee788252597671d8f19f5fdf412999ec80d3319dfc92f48be5800dc9882b57a98ef898c79d5e22f333528a0db248edb7798ec28a9e41c9d2542dbe1cc62";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.01";
 };
 "minibox" = {
   stripPrefix = 0;
-  sha512.run = "924b155ad60c556841075a17df246588ae523cd691fb4570f822f7f885f717c2e7dc998788083c9a19a078c7f054f7370c71c615310edb42749ecbbefe8742fa";
-  sha512.doc = "d238fda7c71e8addb74658b65e8fa519d28f2a812f99903ef06ded1642281f76f40248b5520717808dd34a3c3794cb7f4e903bb4b0171cac6c603bf66a81c6f7";
-  sha512.source = "4ce46abed9f9e1ad4ecb4d8781e32d748b308cebde1cbbb369a86a6e7803325b39ae355c3048f0679851c75dcbf86b26a1bc5671a7721f3d593ad0149ec31404";
+  sha512.run = "18d409728f57cc2e423b5c74ad7ff4a9e93f2405497a96024769fb01f7604e019d914365f82fa5908bb679ce4a48cab64fd4435b531ef72235067481b8dbc96b";
+  sha512.doc = "0404b375fb0ef258d0e5acb8e7a78a60a55d08ce7339b9b63b1711dcc6d40b6f302b0f35f7d1fc8bfbf431b66bb5aaa2c94e92ee8e788a5f2156031425c0c4a3";
+  sha512.source = "6aafb14003afb2ee18390391e15fb00f73a16f568158d72fea348e7052bf1ec5f25cd446569bb3c6dd815577fca7b2522d4474681b560ee3ea65b6053509df92";
   hasRunfiles = true;
   version = "0.2a";
 };
 "minidocument" = {
   stripPrefix = 0;
-  sha512.run = "5ecf897d89dbc0e66ead1514edffc851c5838021ffac5eaed9566fafb221b458fc03532ad1d128abc14de1d1cd503f067cc217f4bcb09d38c86e459951a36cdf";
-  sha512.doc = "9013993b16c687e845c6f146ec37507385c2eb42978e02db7caeb10f878e424d8c606c81ff00b2ccd47d37665a67a9cf9e9ece237300122c194c0e4482e1e5f7";
-  sha512.source = "f4d9e6fb84ca33e8bc8a91474334824671b6f0f072fe49d0da45cbdc1f34ff7dff74622bac42725c9733ff7bc4bb2c97ff1b45bbcf216e98cade86953b766ca4";
+  sha512.run = "33a7938dc25833faef05245d00219ad4d94902d1b5a8f63de8c08448da1f4ddd8e305cd261a3051df919b097f0b3b82081b57fa420e773dc89a1c8cb801ba463";
+  sha512.doc = "03ac398f6f8e79003b155434992a53b1485032ef779e5fa05a43adf7528fec1966ba94731ab2fc11cdfadce51bfca6ca9d1a88f882ca87f08d8e4077896af4c3";
+  sha512.source = "556f1c482366f1bf2bd6e2f4e92f0fb811d97e91e057994605a2794f9441f2df35bcd2e2dc4d6218e980e921b7d7a03e5ea2613b6d27d8258985521ecde2dbf0";
   hasRunfiles = true;
   version = "1.0";
 };
 "minifp" = {
   stripPrefix = 0;
-  sha512.run = "77dbdbdb2bdc3da49d43c9c1bca96245633dd0764faf7bf9276769adac234e3eed2b318f24470d755d2f56c635959c36370dcd9514b0258fa6c316ae8e6e5a50";
-  sha512.doc = "825b8b2038041f139067026c09c6ee4968a6011c287fefabe01f7cf574795ecb5dddd076e6f44e0dc0ae489111748953d8441185643c7573729a67c5a49c9962";
-  sha512.source = "f5d63a1214d2175430d866abbd5f9863472306e9accdf4d819731c59ad11b85c9ccce6a288265025a07037e4a1fa0ea05f8077a9e8f476b5d1eaa712c4c627a8";
+  sha512.run = "412bbd3466eee82a99b43d6f4a5998a0a22b20c2d51621368ecba1084010a5333bda9e221b07dcfc6ddea8810edd0dcf60c2be6f926ca0da33071e6a812108d9";
+  sha512.doc = "56e1b71f8289c126df12091cf155c8c05f05a391abd40ff6ce0b84bb7620630a80747e23c25bbb4276aa5d110314076f61da72683b6846a44a53ad3515b91670";
+  sha512.source = "32cd837a6c750ae92f9662db289a5479a102d09058bb4c85605820d6ced83f237d684fb07c9ba59f76062d6d383d1b45485ac2f2ec4e5bd43f780254facac1e5";
   hasRunfiles = true;
   version = "0.96";
 };
 "minipage-marginpar" = {
   stripPrefix = 0;
-  sha512.run = "54b8a8a4f6eb26a3519759cfdc24944cef1e3b794232ea22119893b275a1f72be6e16519421319ea50de08de254d2fbf8f9e5826c8f2d1a43185644a63e4e775";
-  sha512.doc = "93d6c156136c827aa0d5a9efbf124c2869284214962d5ddca7fe04cb13fefb5cbe882c2c44eb0ac7776684b16535cc51283dc6aa5de664ef7c77806c821eb2f9";
-  sha512.source = "61a673e790966e6d465295d1e7173bd68f37fb18f6ce0e5d365510723079401f4354f52575864057694651fcfae4bb573a37ff4262f898d6d2de3cf4a08038ea";
+  sha512.run = "acf33aac7dea3c20986a9ed1f76efbb470d9fa1cbd31f29ed4fddd0e16835ace1946278fcfd04ea179122e603f63b269872953e40f8a64843ae8e60ded769356";
+  sha512.doc = "20d503697a246b8b56a71cf324e4daaec436b62e9c3b9556095670c2b461d273e8b77e24da3cada37106c350304827a37bd6f658727373e384f11fe064e07992";
+  sha512.source = "1050833e51b5a00963b616b496d9b18e49cc8ded901ccdffbaf949eac12fe8d31219c650936c083767e39a39dcd08686ef049ce11abbaad5daa998f4e9c1b7c6";
   hasRunfiles = true;
   version = "0.2";
 };
 "miniplot" = {
   stripPrefix = 0;
-  sha512.run = "ecd9cc1bd9a1ac439c2e705e24cc4066a08a24adb92df83057c44feb3f3dbfe951a32e28a50ff60f37dbb27700a37ffdd77f288cd201a1ad9f8fb65c5475ca0e";
-  sha512.doc = "9c907949f394f35ced7ff99f85343188b04eb09a69f6b9a3d2374f5e4d81496eec28d642cd49bc71c73fbde4d80587fa4b7de2f08a3d3be39acd64659502453e";
+  sha512.run = "2c5d08c2476871dd182bb320c50ec96f202ef65a417e65d1de8aec391fb60dc66c1e9e4642ad2207f7f4bfdd12e83bfe2cf75e9fa4f0fff0f4ee72769f7ca84f";
+  sha512.doc = "6ae8000b3d0ef50e37dfbda399396a42bd348d6ed9ee485ff01ded9d850693f43b0c1945dfde93d9ea0f17494ac2e03391824f2f0c0eff67355c3d3f3ad6cccf";
   hasRunfiles = true;
 };
 "minitoc" = {
   stripPrefix = 0;
-  sha512.run = "a7f98ce1e0d7d830be5f07717878fdd982d8127989261d28b7ede836d25245c4255f9f8f13058466fb589923e303c5b1516fd017f1702998886e0e1eb547190f";
-  sha512.doc = "17763cc33ac714a7cc1e5c1eac55693d6487b754be1d79e6310a9a0d7e2cf25f079d728658a68f4a574db7badc9470359433331dbe739bc04d51adcb7a9e7ba3";
+  sha512.run = "c5af65f4c1d7c19ac5bca84a6a8b465a6d00805164e0224ad3adfa473dbff8604d1ec39958568b3ab611364bf09aa671d277a7458595eac130b121b0972ee32c";
+  sha512.doc = "c193a77791f3304b09ae58faf19490bd68bf129c8ec435c378d3ebce6ecb47c284ab1e1412d10e43dd2e4d5ef60a9fc26088d8c35054f6099fa2675076adb6ce";
   hasRunfiles = true;
   version = "62";
 };
 "minorrevision" = {
   stripPrefix = 0;
-  sha512.run = "4c601f1f5eeb8680afd55ef77f7e5f01e3c744038bbc9a38737f7fe3116d241db9c263074cfce00279b270f5064aa9441a8538ac67dd27401c92eaf90ddd9032";
-  sha512.doc = "3fdb619aec7a32f1f8acf2d6a1158282cb3414c395cf744ba42755f59ce294dc7c241bc0784423c6e910925cd5c1c93c8a3f9b6f04cc349020643a0496f1d1d3";
+  sha512.run = "d76224254aa18dd80f9bab56f055fde5bb7ee6b5c3dd88e6ce19667c939fb2dbd1e5cb987522a3f1c50082f46ee20cf918f1e01fb00f588ce11d30d300fcf574";
+  sha512.doc = "ab1484f7ec214d43b95a8bd5cd78ee28bf0055d99d8c63c424c5c1db1c77b41a8631ea35bef745ab0399dd1c8dd9c9ab66b60033bb151f46afb023b6b5e1ab44";
   hasRunfiles = true;
   version = "1.1";
 };
 "minted" = {
   stripPrefix = 0;
-  sha512.run = "272dc1ef723c28eb2f73ee66a8ccf7b92e8b3b705952dd7b3a72615a63e33a3874d67301084606b4a8749d0d4b153dd21026a42a82bc7fa6adc58479203f5918";
-  sha512.doc = "b5d9de3ed42e2aa5ee8b8f6025db7d0acbf50f3bd487c1ae0b6240a03e5b6855f9e9a048b4d85328fc264ca333aec30c9b604c2d263717a26a157e1de058183c";
-  sha512.source = "24e73622b1baaed440442556165c3c3e3918ce797b48f400dcffd98f9d21334fb0784863a30207c28a887e714c71328b73720e62f55b9d37071bedc05274bd43";
+  sha512.run = "5923b5e87e8bb2cf148a480035b906aab4b03b903308e8e9609f98376f82e23fedd529abca37bb4e9211719160abd9d4488f5c73a0283f67c7f11ee3e1f1d5fb";
+  sha512.doc = "0187a04f9e42c1bf3e5d961c28b977e527dfc1b57c0f823eda047d5e6c888f3f8da1fed691c8e3128d09b3740deb1b324baa607b9abc20a4fe47ea0a29915e90";
+  sha512.source = "1595aac2da1fc9c7b9e50c92fd12eda866fc35e884e335b1f4883188a4b0f9603a39cffa252cc1bb11ffd4a67e16a80b05c5ecf2cd7440c50f0605e5fc44e302";
   hasRunfiles = true;
   version = "2.5";
 };
 "mintspirit" = {
   stripPrefix = 0;
-  sha512.run = "28281b474cca00d698964d9d84f772b7e6a7f162f2c258ac2284be13b78150f66dd039087229d20be7ff78185ce54b66f0c0c9378c01a049403b48f169116033";
-  sha512.doc = "709dca3ac467e4cc74f5ed1f28db6c49776b9bc889e7bbc86a030e18347202d0decf4d84579fa080909721c3f14acf7abdd0fbef1422d7e59992e03707e7d6dd";
+  sha512.run = "0155fde1eddb9558959c260334ab1d5489ca5415b1f7afb687308feb67f6951932bdfcc2e59e6cd3a4b34449f129dc1eb53730b75d60347bf7e2647a18cbadb1";
+  sha512.doc = "54211f0e40fcd0e3c248be16b647462cbe3e3953fbc6ab050634e6a9455b5d52157b77a49fa96c707e3a65c088a92e7e24e86359cfdfa141d48a0ba5b2bfb682";
   hasRunfiles = true;
 };
 "minutes" = {
   stripPrefix = 0;
-  sha512.run = "043659eb44a51f324e5a0aed9ccae1ca91ad1786f63f7a03e40736ac7b1d6face292d605e7452b6bb01a3c5373ebf2b3828730b40dbe3c636845e16b488b833a";
-  sha512.doc = "f9d7aa496009d83f82d7d09a1812cf68ad90521213006c23de9d6e1614ae5bd5523e9944ba75c6c42129573cf64bcdc8b914d782d81228f3537b7f2279e5899e";
-  sha512.source = "a5a879f1ee1638bf637d003dc8531cf9aa21a37766a3a1e70d0a227ce6fac1a108ca0df134be6e44443f9d482245c7cf058c2343be8d7d197b814d0a3dd1f78d";
+  sha512.run = "3abd6c4963ceec3cf073048c21d2abc236d58f522000195fd459c554c10d2af9afaf772b0fd1545fdf72decbc7e1c62a0bb12d7bc1dfd9d5b025f5131ca5f145";
+  sha512.doc = "a069ea537eb1fc572c842a26dd406b1ef2f1343ef6066d266642dfe37515a3679c3a9e64eb37e1e992fc40281d855b817edf9116aae3922abc60e3c01106e3da";
+  sha512.source = "09b6260de696981f020835c61e20f23bfb81404df44af477f62341b9b07c65a1be58098d33dc876d6f07f3a5aaf6df25c8e3e7707c0f238ae76094ff0bfe5a2e";
   hasRunfiles = true;
   version = "1.8f";
 };
+"mismath" = {
+  stripPrefix = 0;
+  sha512.run = "6993d47e645b2cf4ce2bf735e12b639ef9cc3e91bb48be0b693534b23ae6b1b90b9abef56d3781e4d87aaedccbfa2200f963379842635d43de6d3ca76c0c7b92";
+  sha512.doc = "0e2fd30b52ba2ebb77ecb4d3c90218fb097b65356a5a7a05897d29394ffb59649d9ab24f1140b416eff8a64cf0ec16d326f312d55488be8fcbe9eb591b598a3b";
+  sha512.source = "a568817f4112ebabae20e73b8166085064a6b336ed242af132f96313eccbb878de8bb18f08ac8be2012dea6cc63af856d80afe5593f336090059dbfe869acf39";
+  hasRunfiles = true;
+  version = "1.6";
+};
 "missaali" = {
   stripPrefix = 0;
-  sha512.run = "da21a26c726423dcc0f7ded9871429b74db5748809820e91e349175a6104f128cf77b3e2039db1e44bf5629dae1018188b4e050da9c11bd03b19858eb3904b72";
-  sha512.doc = "411da5ab29814802cf7b37f62d3ed4251e24da395dbe441d9df55a68621aceb03af8f49296331235a7ac01624e0ed3cc73b36c56cb02db9678570f8c44820884";
+  sha512.run = "d16285296232f45ba3eef2e427ecac59b248f9788abd5b2e9b9007f2013bcc52ceb482063290e3ebe6ea625adefdd05b5948546e0a4c17377a6e4de30ecca041";
+  sha512.doc = "c786638ba6c5d03395e8efdcc1295ec7b7470daa058b7bdaff4452e4524cc2467606bd7eea5591826c8aa50ed22baecd18319dfdb28bcaed6d2afce176e984a1";
   hasRunfiles = true;
   version = "1.004";
 };
 "mkgrkindex" = {
-  sha512.run = "a8ae7c100099a0680b1559e8b29e6b9c7231cad69c498cc3e3a46a84dfd1a4af9eb14da881545a95ef5894d202e0992d92a12ed64b8deefc97b30854cc398af5";
-  sha512.doc = "0dd37369cd881bf3ddbfdf5c415047e54b6977077f759687236f2bc77fc4706e9b587265c64d8bfe9dffc340d343ff782cc63954986344744d0b1380485a3de8";
+  sha512.run = "bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192";
+  sha512.doc = "5a5b14d4282e97420f796456155a71c23a44d4197d4d92bfea1f0f20e95b42e506c7be3f2b0aba37508415341e999522bd823c649cc6259a6e26d42399c6b8cf";
   hasRunfiles = true;
   version = "2.0";
 };
 "mkjobtexmf" = {
-  sha512.run = "10219cbdcdceca2b8ad52330a3471938ee180b334f6101f88d440336d15aabc60f87ed46c2958633df033a90b50ee73e3d122d8a03c3d5a7b98ee84500e402a9";
-  sha512.doc = "4afad2e4d7b841a6d2a7a21f429ae157e48aad10ef33ea74dff4ae7ad1570db0e02f96fab8d28d5fd0350cfa1c6360ccc00a9cabdb7d0273c6d949efbeee9db6";
-  sha512.source = "c20096c77641c56d583c9c4c4820cde6ab48c19543b98fe06edc8048d65cd3dd4f90d745eb1618eb9b18aa5d03f7f9e0fa55bd6ecb15f0fc4c98a79293156185";
+  sha512.run = "c0dffdb276141b78bd2c47e6d2bfddcd13c1800d3a0806a05ca1fba72a91621364b827801430bc757601e07f2a5130366ade49d7ac1df27901fbec29827739c3";
+  sha512.doc = "3ef5c333cedd5104b63c1457fff2eee40aea7d1f1b187d34ce4cfccd5b6bd38809b7686dc7b41a147fbee2ae0e951470f3ae574bd3c10a5f9b6fb76b686ce4f5";
+  sha512.source = "7f9de9bafb890d12ef2f07d3b8596dc31c4bb97079f826c9efd4f318383f64d8250099a937d8d692fecf703e626b42f942962f4d906e705cf4b0155e354bff0f";
   hasRunfiles = true;
   version = "0.8";
 };
 "mkpattern" = {
   stripPrefix = 0;
-  sha512.run = "7e5efd2ed7f6bd93ec83021c42396c14b2de2b6c0cd9f3bb5ece4ae51d6f1c45e54f90dc755be92d309e27884134214a50884237e53ee86c5bc76013588aba04";
-  sha512.doc = "a19a1856e9dfb225fcb607257f6e54d5ccf5d746d7f6b715bd1b3b86c9684a03b1fec182eba43097f7343adb34531f0be63909623c6f2de192d7ca3e528e5cd2";
+  sha512.run = "0395c9258e6c4a8459e69ff2fbdfe511b0c6863e02333d9481a8a1e82362cf9e1be7e89e7447bda497e7ed2bc18e1986e0a5461e9f49c63ff869f39a4da4f007";
+  sha512.doc = "8232866143444fab1ed1f15255dc5f8c1c5050812e2882d2e20636bfd300216815a53aa03cd4f69ed7f45aab255a8efae9bfdc10df6b7a246d36d4db075204ef";
   hasRunfiles = true;
   version = "1.2";
 };
 "mkpic" = {
-  sha512.run = "7294d20fc13153d183d711fdda3efc7d4e3fc8e351c041109f32e6130aa33f30eed6bf39f6042b22e78a3cde375fb6e8ff8de09979fa8e52e83cd652289bc85f";
-  sha512.doc = "e07e6c22292ccf08bcc047eef1d306f37ac4471106b5da74b75155ec81462ce25c58fb8524701150b0a1e06c6f61db11455f59ad60c8499cf8a4206d86afcd92";
+  sha512.run = "7814f14293e10a23bc9348dcaea9af326ab4dd93cc55865320706984e50883742381b5df3e77774e7a63fbba7ebcbe0fae7268a3d1a34ebb2d8a0303f5b53034";
+  sha512.doc = "bfaf4232fc39c13fefd86c21b2f9f76cd93761c58e39c1420c601627e95adf9e6c5c06db73a0afda6621acef374089dd93afbd2a3bd761cf5aa8db29883375e2";
   hasRunfiles = true;
   version = "1.02";
 };
 "mla-paper" = {
   stripPrefix = 0;
-  sha512.run = "c929251ad5f93a8d0ccb35ac3dc11604e1498ed1e339027cb020c70087dd0799eaf4d2ebdc9cad64f9aa68d82742aff4b670234db3fc86b039b5ab1d9dd74f06";
-  sha512.doc = "358c508833804c87e338cc2fb30889e018505e7e747f7b5c60dbe5444f6c0cf8d62ef366c0bd3eda0216cc32594891bcafef07b3bc4e45cd51471171f3620ce9";
+  sha512.run = "01e6bcd07d5dc7ead0ddb4f5d8ad537738bf0b863d2b43f04f0136a33627941b377e53d29808cd284dee3601bc7839c3f0697178ca586578207f9efb60a6f70c";
+  sha512.doc = "1367bb1bc5dd62faa89294141b74c7d2c9f5fd0acbfc37285421f9ff514ab67201de9c6a9070c5aeec396f0923afc8e10c5ec307fe89ad016ac167f33247154e";
   hasRunfiles = true;
 };
+"mlacls" = {
+  stripPrefix = 0;
+  sha512.run = "14397d8a4afa0cb4aad0749dd4d4e32c6384d8cc40d302504783ddf86756c65abef878fc7bfcffc150fd5b73c701c6d79a8f5a5a085a7bac00645bfa1b997c30";
+  sha512.doc = "fb0c75e2f3a8f9f543af670309ec035e3f539cd642a8d829b88a733c5fc7656b86947c6b56d36dd8b17942f72b4023fd20b21a0415aeacde878b95e6675132dd";
+  sha512.source = "4f087636bef5761a97ed2a4c48f207b92e290683d92975a014670194c0e81d598aa2282e266dae2a329d7a47ec777b06754864ba32bda2eddad77635445d922b";
+  hasRunfiles = true;
+  version = "0.6";
+};
 "mlist" = {
   stripPrefix = 0;
-  sha512.run = "6830a8034b0eb1f8ccc00a30e5ff4bffba0f62510ac8211fae8a2de0d40b7c28dd890cf8a4bf61da83a48fc97e827702e6e9ad1b0d0753eb891af4e84b0dfca6";
-  sha512.doc = "c2f5a6d696ec9acb3567c3fe8e7b6cb4e4090a4cc74558e61f67e168aa446a1064f0ffffc277c3e56520b42117e3bbdf63c0644e3cb055596b018b793187ac91";
-  sha512.source = "7672e0c592e65acabd2a14dbc44f66339ac62880315d9a2d7b4386ef7a6079bc0360be75a4224eb3e19d9b2314928245addf4ced415fd470a796f1e779a6c09f";
+  sha512.run = "23466ef3b73d8476c69632fe0c701f3ec675250b534fb4451cb0dcaf93c30a649ca07bb58cfbac89054cc31cc1219daaa1e7f746e6689927573175d42f78bfc0";
+  sha512.doc = "771f51f52e47aceb7da064a0bf8ba4b19f0255fbd14d3b6d301457ad0dea80836f3e4c449611f5574c12e87185ab5ac9668404c5f1f97100971293425c7ecd13";
+  sha512.source = "6112422b62304d0dafb8e4fa43239dd0899327dc952db6d1179af684049b46482a30675b8c44be534213d9b2fd9ff6bab267997bb0b08102e35e1ebdeca9956b";
   hasRunfiles = true;
   version = "0.6a";
 };
@@ -18754,1935 +19241,1957 @@ tl: { # no indentation
   deps."latex-fonts" = tl."latex-fonts";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "3c04b6601e0e18daefcdb52080e72f8aa623380a3dc093487ae3fc21bcc5a4987110e36315bacbf4e6383d32577201c06d6b2d45f6582da5fa0332a4e2d3d38c";
-  sha512.doc = "0e72ab2877b4239bbda86008238c914090f051cec6631a4af94621e12ef2865201cd1bfcf915e70e6949897c63da4a501f57b5b8e46edb0d3d59b14943a6648f";
+  sha512.run = "61f3712c0422eca9663cba6159a98ee20fc902e8c2afcebe700239958a97f948e8d02af04a5aec779751cd13f9d000128b4d6acb4b6d00f95164775693bd7f37";
+  sha512.doc = "4a4f957ea1d27c25a4a5ca5a3aaaa7be0d65513741112512dcf65c4326c81ee090f371a6f8787629a8a7075344d8f8150da006004945a5075bfaee095e1ecb95";
   hasRunfiles = true;
   version = "2.2";
 };
 "mmap" = {
   stripPrefix = 0;
-  sha512.run = "8ba688e31dceb7d22213eca41ad50b11be4d2c8d177c29ffe8908947c621c5ec99b0c9102e34d3584059225a2b0af4c60306df9741108ab484c1f7c621c2fc3f";
-  sha512.doc = "712d5efb341d3bd3dcb3bbdd988cb7f58a4c638605925db500d781e2c7d2ed8c7f35084c31eb4758d895703479bba56c772ab6fe56458c206044dbf48648e949";
+  sha512.run = "a2427b9863ef37385507783dba7bdfd65bf022d1c7322e7560b78222c3d4e0ddfccfc70aa927196e64ca1a520e985eea8cb78a4129a39e73a8410bc210b801bb";
+  sha512.doc = "95a71c9a9b9cd46c1723c986ba41c29a7204fada2cd7bdd14ebfe5e0c4e1b06106f9c13469edd9caf0b94615bfbea9cc8a1f56a4f83cec37de481b39d2b4bd91";
   hasRunfiles = true;
   version = "1.03";
 };
 "mnotes" = {
   stripPrefix = 0;
-  sha512.run = "a44cf6586951f9f32f975869880c694a0218c6477a573b109b9f9e2f9001313cfb04a4301748d02aff56197c93faabb5db4a39fabdff980b4509ffef9964c3a9";
-  sha512.doc = "b0d8ef4c7481549aaf461b55ea8e0d8c1f82cf2aa42ea1b0b889e63f3c786615818768eb52b664e3e0dc71627199f077c8297498e6471af641ca287007761669";
-  sha512.source = "cd09675b23bd12489bbc35f6b7c6f0c36562860f0020de7d9dc265fc52aa4c9daeceebd2b5298df855970aebcc0475a63ec221b7bea602f7989109e42bf7461d";
+  sha512.run = "f95e4cbe33ec00e62aab2b3b9cdddaeceb762ccc34b736b8e2c0d658b3e871134d0a0b8805470f8c4e148057c513dad9cbbf6c1d5076843b2b2fdce03c84dd09";
+  sha512.doc = "58c3d8def0ee368f1cb87567aab160b4af10de7137de1901f4c6428531f1d080146ee5cb7f0be73a09216d0aa5580bf4baa8cbcca4c7801a322731f88cadf2ec";
+  sha512.source = "4c0a9077711c44601ab9933cfd46b1ed8c5bb1866fb40ac0707100ed9173bdc67d59f7aab91972e6150ed65e385583dfd9851479c8f0cd651f61a6ab6fe39946";
   hasRunfiles = true;
   version = "0.8";
 };
 "mnras" = {
   stripPrefix = 0;
-  sha512.run = "23bf39cb10bbc815acc3163fcc12548c6aa62e70bb2f513e09b9a43f040a769d5a1e3efdbc22beca5ff7de78199e960fe5b7d793b5da95d43f5a1934ce88e7de";
-  sha512.doc = "6a650500cbb8b6eb270378489379f1838095b9381d0363ef9e868f7af8c6e167e33d63e9027f2f65595a6102e347405954df1b3ade037ec4524b946e35046126";
+  sha512.run = "8c8c49846a2bac72383b0481b0da0cbfeb67bcb0787815d3509e4b55bf5afda5f3aa74f44d03267891b42b609b1a10b1e1577a02e9a3e4c8d9cd5ec57585e9bf";
+  sha512.doc = "e90ce259881ebc34dce52eeef5b6eeefe1659a3e8b4ff5a749604d5f3061d38e1cb749d8dadce757a173c1174fdbc9bb3b272ff1bc344a55ec2dbe946e90cdb2";
   hasRunfiles = true;
   version = "3.0";
 };
 "mnsymbol" = {
   stripPrefix = 0;
-  sha512.run = "59743d33ba889498dd316220884314a1a8a15ecd761f591fdd1df2f79bfd44fd557609efde7a50f23bfd502225688480d8a7ca5ffee53735f3efd28318bbf674";
-  sha512.doc = "53fd0db2dc9817e8c5804c15fead5b2d3b935f1339096c13ea626133bbdb0b6a388110b60082d17864f6a82808831fb6f1e0387b6959d65b7ebf3592137ae410";
-  sha512.source = "7c427aeb3ddbb2f916b7f8356c298d32df0b945fd9ee5fb00b51ac95528ca78b8e41d6c0a00a633afd88d94e6d0dd1ecef0267dda67154a313632a451bf6f608";
+  sha512.run = "68df6dcaca1d2f3b743c62e205a22427152ec6ac1deaa126e7511842ad7817ba4a7a232b72b45c6dae88d930837f46597c5f89e50b1057ba313a590157342ff5";
+  sha512.doc = "bf06a1534665ad50d33073e5d7332337c05f5d5315ba41af399f73f98d54b22a0610c65fa0e96b311925f40bebc1458fd0f0fa9c5fb41330f6d0b9b49aa12aba";
+  sha512.source = "1d622e81bfa0c2e61ab64f058a356e66c98f75a2511728bc49c6cb3d998caf132def2f092db7ff18b4283829e7c118368fb09a39ba2e9c05b0a0be5e4cada210";
   hasRunfiles = true;
   version = "1.4";
 };
 "modeles-factures-belges-assocs" = {
   stripPrefix = 0;
-  sha512.run = "02e958b183640a852ee11b588c97c60d2470e5ae247e3ecf0f87e45889b9f439775f33c402be9eda9398642cfa8826475db480500b865f546dd22806fc5b4ce7";
-  sha512.doc = "ba726c8f31a7aaed42161893da27987497e9c581b76e9b3318a162492b064e5add380433843da268dd3da6e027b6e02fec9f059bd34755acc6361196ba78adc5";
+  sha512.run = "870cd893fbb3bd36d9af8a35487fb47f9afeee75c6093fe3fe9167c4db4f0365499e0fd87b4b3debb0212076d1248902014fa374df3fca79108965bf0c3bb07b";
+  sha512.doc = "f879904a96322990beafd7e444040b11fb9d69e93d73df5e5a159d70fd8e033d9a137e1bb4c54e4bbc4f8e5b04151336bed77aab0b46fcbeb531b346855df920";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "moderncv" = {
   stripPrefix = 0;
-  sha512.run = "2e96c327cf107d3494b2f76ee1fec3f9e5571579b29864210d6084f53cea96177bf6f452314ee201a8e3f62f4975c79189571b41dad2fa382d92876109bcea5a";
-  sha512.doc = "23a3fb70ceba7628aa57f0e45a0fa3b7a40a9e9b265733b98ea5ca2c8365cd7feb690bd596f15d64a8c9b198b04c6ec034ce9e46f35c621de981eadf847dc485";
+  sha512.run = "0d175791a9d10d0fa9fbe2702d663ff94d06f5486aff2b8563f9dab1f18305be0e29cdd050cc6e8206c07adefd0811a614589f7afd1af4fe37687c7eff229b43";
+  sha512.doc = "3dcad35776d47e27e6013545d28e2f6891eb538775d30966ac89aee8a8d4111d86acb2dc51e546070c818731ef6a7d753a55939e80c2cb5346c5b127e7e63b77";
   hasRunfiles = true;
   version = "2.0.0";
 };
 "modernposter" = {
   stripPrefix = 0;
-  sha512.run = "2606c452964677548a8935271f2fa483f592210635ae5fee851a8ddb3aa5428324a5262e6af7f64f3bdbae6e1288d12a19b5b67d8f3eec865d6a9a1d9a8c4883";
-  sha512.doc = "9575341774c05f15bc106c8b26943b8780f7221c4c766502f95c351de04a7ceddafb25c99a4fbe520f0cecc7c4d3b39e648259751db53c89e3dcd0842cbb6d3f";
+  sha512.run = "d631f058a0a17a841d4026c43fd086cbefd50d0ece85563ee81e34440650bdd7d3db6dd6f49d5e74278872961300bbd443b896586f5c7ea00a9ff816ef20b7a9";
+  sha512.doc = "385c8b97c57053d861d72b4f10134cbf2d943e4bcedb55ec42bff51000843db3fe30737f7ada3ce569c1d96584ec0df80afadc39be98c16950828647165f6801";
   hasRunfiles = true;
   version = "1.03.1";
 };
 "moderntimeline" = {
   stripPrefix = 0;
-  sha512.run = "dfc86b92f8ed9eff0c8e298316ac74bf120a983b4f2542caa2f76cd0e8c1e8929cb36421f6556827cdc8ccbc14cc61177cb5e585decf31c258367368f0745631";
-  sha512.doc = "eb62a7aeb0667d100f447ad9c6ae4bc8440f07804098a2afd7ae8cf89a5824769d2a0b3231cc13b7efe2bb56cc7feac9bc18958cc0596ce429c5ba7cc8478211";
-  sha512.source = "b14e7b05835e3f414c0691dc13fdf5ff2599abef3f0bde6f497f5002211039b69fa7c5b69833b0c98ac93125a93111e9641e334aed3a12f2f6773a4fde0be980";
+  sha512.run = "a38ab33c0ad2384699954688bed05d9ece3ba54107c962dd5e76fcb586699887ad5553dd12f801553ffab5e7a459cda9a9178c0d37d6eae3796766fed428058f";
+  sha512.doc = "dd5f43c4287f5a5a23366c3cb982afdbf3385da2c19967e3a77ab42476536d2ba44887fe5fa657f18285448b0d7d3ef99b6f7003328924967529478e174625d7";
+  sha512.source = "4a794bd422b800ad7cfc41c47838798b6e1f3eeb9f7de10c4c6f99d4f2127b8f22e0d31875bd82595e6a99d5995648a70bb006c41dbc70c50379e8d37570222f";
   hasRunfiles = true;
-  version = "0.9";
+  version = "0.10";
 };
 "modiagram" = {
   stripPrefix = 0;
-  sha512.run = "ceb959fb011e8d3c87eeaf4d01c6a216f524a47b24c4504db0137cda4355c67f11fd72ec3a5f94335867307e0298745ebb203fc28d116319b6de21edf36a8257";
-  sha512.doc = "5d053069b720d41608098ca05b42eb2c58429ab29c8d1e5d8d8d894eaac0f0ebd51aefbf45e2086f453b79080750514e108b05f2d3d949b139d1eac17d27bde8";
+  sha512.run = "7a84caae8d6811bed003266283674bf364d18b9d3cb01a440bfca97ee66124b991b4a3dfc9edd07059f02e047892d8cabff81bb0066d449171b669cc872be2fb";
+  sha512.doc = "cf1ffc9c60773c8860cc4c0021e6af82a719aa02d1ae7c56dc332d1e2fb6bfccab85c09473ad8f62a7219703d792cd4bd9db311834a35a186accd4857661ec37";
   hasRunfiles = true;
   version = "0.2g";
 };
 "modref" = {
   stripPrefix = 0;
-  sha512.run = "cdfaad53fb89fb53e2d0bbbdb3d4f8cfd84f3d4bdd97a337c1b3480647dbbe43ed78b9a7a646257d6ffd422629d3f1a87dee997eb09ff46229c2da6c6cfb349b";
-  sha512.doc = "d1d9b3ddfa84b26b2953fbd2443b0cdb9e9ddbc473fd4aa602cfaa3809c3f11b9aec33e88c1604e7309c26eff1a28a758020aa6729fa0285de8aced5485b1257";
-  sha512.source = "1f9b8e5d9142737f6322d3d23f9568cc04ce7cd241c0532011c5ca059a4ca68b5a0db19244c175943bc9d876a81215c2e9f52f50d111a7663c44ec20dc4aa975";
+  sha512.run = "ef5d822fedbd5026903fb7d2630a837a3a1b0222150ee1a9f72a54e13d626a0387abd1fc20b18a257714c63cb65868ac885f8340d35c5453b42323da3b9b0782";
+  sha512.doc = "f7539376630672b6fc67821045eb8c891b4781d233e1b914f8fc5c255fdcc57ecb6e5ef4d36ae72ceac185e8d2e4aee42741538f27fb3ab1f5160855cfbc8def";
+  sha512.source = "370a7287ed60084ce3d92ef722bb1b1c5f49faf6563a154dc2fa2442a60eb2ab06ea1c82d63e5c887b8aea859f9e647a5d80455f9cc87746d2c9be25f4920b47";
   hasRunfiles = true;
   version = "1.0";
 };
 "modroman" = {
   stripPrefix = 0;
-  sha512.run = "df2a7728ff59f548733fcf9221e86e9120a0cf3d84d71bc887caf8ccd914ef4d2fe45a14c705edf9369210997723e95b409beb714b0cd0cfe04bfaf26eacb1ff";
-  sha512.doc = "86cb5f47daf5e1fc3ecc77ad5a052edfba30d1d3b7e37e0d8720870e2e8e4448ce94bd2887e4e7a7925c030c5f70663505246504e14358dacddabb5f94e63901";
-  sha512.source = "119addc4ea61473b60f54d6e5946914dc0c9041a1040a5a5ef2d31389964525e1d1eaf66b0076cad30dd6e571c8495415d5368eff82845aba43fd3d21ce1b4e6";
+  sha512.run = "3314a474cdb88e517fd16943b8f1f1da252608bc5505bd91581e87bca19ea317718d36694abc670d471d0028dcb5fe502a3be1b1294604cecf619de235fe63c8";
+  sha512.doc = "5c6ad1cdad66a5a7285b7c51074f724670880d4417df45cae51e5b3b35bf5cf99f374f7abca73c7ae68d12f626e4b9bf0dddd6b2bc94250c4e6146598d4c5ac6";
+  sha512.source = "21e8a2bf6f1d58800452dee77d7a7dc89bd8c952ced6f485b42a2e0b6300df9c823c23f4ab3327d9a367ef8e8d6ba1bae27d3c9bcf875270053c7fa65bcf9f70";
   hasRunfiles = true;
   version = "1";
 };
 "modular" = {
   stripPrefix = 0;
-  sha512.run = "9cf7e1f3f40902a747d9cf1922f6c495c06594544030818471399131818b92019e3461694ea4d3e7dec0cdd9c416048bc50b2810e3262119cd9f055f29a98ecd";
-  sha512.doc = "f61f9825b056ad277dbaf02f1460f4e6df5b85ea3c26482db0a9540cd0e457e9b3007da31e5ecacbe07c260886d99c9b74875f315027e24cb158a8a4f43ebc1d";
+  sha512.run = "13d80f572497551551151c35ac32c09cec70cd40c6d99d36c22ed84bcef509cbfafd511a8e2e284cd06ab1a57f4be7fe556d7e390f9d30135bd20cd49acf362a";
+  sha512.doc = "7d7201db0a2791700748d440fdc5cca9d8d274ceeacddb3715d99b68b4c04f52949e8b9897377168463059deec86177470a997bfea7a32a2765afda713aed499";
   hasRunfiles = true;
 };
 "modulus" = {
   stripPrefix = 0;
-  sha512.run = "8b218f1395461af4f2f10a92a08b085b6989cac6a601289c1e513273fb13844fa2b3fd53afd73763eaa4638af287ab342d01d573fc8df02776fbd6e46a1b06f9";
-  sha512.doc = "a6e64d463aef61a854ac08d71da9b71f993ad53d1ae65130f2d909d35217663188830ae5f3fa023ac0242be3bab64acc8dca5e7b4905fac622ada355785bdb79";
-  sha512.source = "c47204ecba59067869eba2953d2b96a49c2853069c77ea0dcfff8ba56196f4a4570d122fc89d22b8f22da87605357b686ce0d14b6f2aa214ccce37808f2993db";
+  sha512.run = "e5dde62c2e0730befb63612bfd6ea3626463db85b74291df5937d8f7e1995f6b63c8bc6d7e08536ae761457ab1e9a0ddeccf11afa4108910561075dcc03201f6";
+  sha512.doc = "965d03005ef257526ffa6667d889a4b238ca5314f4fe8714bc8219ace1e909eb5765da6c0dc94e9b312635e0f9ca096f1d14364effb0045ed467da7c1d735474";
+  sha512.source = "0f33d1d241e0155eae39875b0ce72019740771c2e36b337255a0865cabeae78c93e24d7f7eddbe7cba9ce312090b251b26a632c260e097a2619d35b47fb050bb";
   hasRunfiles = true;
   version = "1.0";
 };
 "mongolian-babel" = {
   stripPrefix = 0;
-  sha512.run = "47ee6171ad7c77e75cb72814dc207a37118b7ede9ae07f49b3195063df282c38531970f294755e738cdcf7e0bd24e6f0b8917a54031bca9378050cfc1832c62c";
-  sha512.doc = "0d850947c85a023374bd4a404a681975259473a0e414fa8057868aa759e23581a2b2feaadbc27d0f8a4b7acba7c44fee0c95bb3ce7b45aad21dd8ee69ea27eb8";
-  sha512.source = "aef1f22c944cee374f8394127bf6912f3b490b8c368fa400ad8c6be7809ac6d66d975b3e70399a310b54e580e8865c5dc722ac5f54fdc424ca04ce4df13dd7fb";
+  sha512.run = "a4e7abdc0b5817d88ad442e693fefe79df224a74f37d09b630fd7ded16e1335f563ca00a26aee8ba4b46b7516c0fa2f5dc9d37ec00455b11223e46a6e289cc01";
+  sha512.doc = "d0aa4f4a7f1b22d3d3a6a96b85d4d72acb71ee6b1374b70008b966ca2401b7b9434bca675601cc1cdf2f013520eb82c2cb193634b3ac9f9b9d40a201d10dbd58";
+  sha512.source = "07e75b2c9bb6c7596d698e0f31d8194ab5cc4e06f5ca472cc706214c342960378376406bdc0eef0940ac0179e989a92af496069ffb25ed75f5b3a0d5fe639517";
   hasRunfiles = true;
   version = "1.2";
 };
 "monofill" = {
   stripPrefix = 0;
-  sha512.run = "a2f8ad3ddf134b934c7095d6a97d840ca17c62e5726c9982ead20586986d8000d8aaaa5a07459af3fe9a243fddfd2818079715da616ab6e4d682fa23673a113b";
-  sha512.doc = "ddd1a1fc6fff098cd9327a037bbe32f5755141dab82f097537e17abf00e73485466feff0eab1ce1c6bc407cb234d18161711206dc1e08b28fe1bac3c07d3d717";
-  sha512.source = "2e9068bfa3c95c90cb83477f2d834e513ea4e2c85328dca0916cada22cf5295a6a7c2fea37aabd4109813b7976640114e8624731a1d89a833f820d2687b4c9c7";
+  sha512.run = "6b9a45c32bd44aa01119c7bd8304ba8e5953422c14bfeaacad20f012188f9204c19f432719c74d9481a00611a18d4ef1ba2c1dc858b83b8a25205d40568e5fa3";
+  sha512.doc = "edb00621e74238c09d0ca0c04e5c57589012ef2272f0b470345845ddedd647c73fffc0fcaf4741726214b2419e9581127375ba2b36948ec73f4caef561c3e57c";
+  sha512.source = "fba90d74e9b12086fb4dd431eba4bb3349a83a2b839db1f1a1f7f076e3568cdada03de56570bd38e937eb51a76990ab39778a1832ad233067025ae24877b279d";
   hasRunfiles = true;
   version = "0.2";
 };
 "montex" = {
   stripPrefix = 0;
   deps."cbfonts" = tl."cbfonts";
-  sha512.run = "8b045195f3ffcd23e87ec68bb32bcf7dabaea924c2b02cc5854161047449cc344c5a5b26bbbfa54d1ca43d1aeb438339f123c8dc5cd29566d0134de0fba637f2";
-  sha512.doc = "7cd9792d75eadc63a00cd6424dc31e24b7a79b8d5eff28d8ccb8c22d829c930a9624043895885c7f8f046e719d6ff53fe436ea19414b561fa344db28c29cbca6";
+  sha512.run = "9676cef9e0fbe7a0196b1ea0fb3ea4f0399a3ee8ed76ef06e824848a57922dc4f7cc1f50a1fcea47fc265465407653447ab80e80dbac3c4bc00488d0929f87bc";
+  sha512.doc = "1965f31e28a9f54d86a495b4b8cea50dc59f409d066918dedf77f86448b60ea547565dcf2069ee0e0a646d53f34d244868600951c4b1a4d4e099fe50e3c2b477";
   hasRunfiles = true;
   version = "IVu.04.092";
 };
 "montserrat" = {
   stripPrefix = 0;
-  sha512.run = "b9d68d28b298464a2b8815cb93cdf6b1f729927a198d793c07251a31b463dbe95d16056192b3dc16e9256458c7e0a7889c95e1dc994c668d09b2efc2677225e2";
-  sha512.doc = "d3f42720603eda54039d3d8501e31e41b8598e5427c568eb597b7a607b82ac0ec9ed8f6099b030edaf82780dcf4301b92e37b221f731f548ca2cdfd1715438d2";
+  sha512.run = "10f6a7bbf0d3ae2ba7d859d6e180e38c01708439cf27c89f7998aed93eecf85096f368094ddaecef304e00a62bfc76d8106842bcfebdb94b2a5c8ed27c51825a";
+  sha512.doc = "63db767833f42d6340955aa67e0cc48fd0edf9e47ae129cd4fe39caea13f6613142a0042d97e366eef09b935fba2b3c27dd473d2cf7549d235fd6ebf27e4c1e6";
   hasRunfiles = true;
   version = "1.01";
 };
 "moodle" = {
   stripPrefix = 0;
-  sha512.run = "34d28fba1f52fbf4bf1d2407933da7160da4c153f944da8e3e1a0542187bf78ab3c8f743272bc83772aba09b2ae6aaf5356f0926e4bed8f2e3c92fe84b985071";
-  sha512.doc = "03122f73ed4d31b16a8d514368343c6066523b9e88a55d7c628ac2d86ab5961f3214c4c98f786e43ab8bd6f131395e61335dcf03a97a9e887afc3a05c2b29d8d";
-  sha512.source = "e34ac82c7d21cc7b956df9cd60a9be134f8629481ae9cd34f956a788eaea9f7f5f9430b677f3c2f2f47d24c6c396169c2da11f04ec4537195a7abd79a905fd2d";
+  sha512.run = "839db4d5082703e0b6d5516b6ec3c18b4fa4b449e732904569e839028bc3f7e27def83c56eb9929f65b0527cec9b180fd743aa3d0df2194aa6372922582173ce";
+  sha512.doc = "9448341e5c33054a39f6990b4f7942f45fbbd884cd5691fa8c0b82fa1b3f9cfc887a02edadcb0df0a7a62c53c9f4b20496db5e6e9ecca4bd6ce8bddf2749a71d";
+  sha512.source = "332251d2357ce64268a1bddf7e77f28f7cf4be10846da84c1512bb39eb804e671f38aea4843af0f1357307869794029c259a52f6ab62d96736fb691436d841c4";
   hasRunfiles = true;
   version = "0.5";
 };
 "moreenum" = {
   stripPrefix = 0;
-  sha512.run = "aed29236fe5a5e8ca34b91f64759a67b5250cdf9ff16d7d63b6da4f2299ee7f324c960ea4240a0c1d75c1187c17c7eda1bddf64d4e0a9e0cff725be10fd4c8af";
-  sha512.doc = "f2a74fef3144ff0498f9c5961b2dd9100e19fa655527f87df08c905f0be407dab1fd8f67b0254041214921794b47a8ecd6eed027deb3fcce4a21ab8bc59e4210";
+  sha512.run = "069ef44faaa8847a07ad00dae31c1b63278d59a560ed90823100cd601850a798f574d8210c07854a8b1a90165efb3bba852e100e53aee496f78395e3d6defade";
+  sha512.doc = "987a1dd96669b9202846fc604fbcfb935b68c79d13bbe4599f32fab9e869ca5b60f3b4bdfcf78d3b3f5102db9ab16955ec13958c4cf3df7ec64649268c226d1c";
   hasRunfiles = true;
   version = "1.03";
 };
 "morefloats" = {
   stripPrefix = 0;
-  sha512.run = "b352cf85e7aed763c1c212a7f4471d13d995ff685b9374c78cbca961e8b2cab306a874f926dfeea41dc51fac818cc23177d48537ba82f35fb6bcbaa217149715";
-  sha512.doc = "6d12d1fade3c748a1d278556ca7491cd63623a47412edc1d6f24df0b45595e8e2ccb87656e02965565d361c6e9200c60e0d3bfc5bcc2b0ad8f9b5b20abee9661";
-  sha512.source = "c271c486073794f7d6e10e7ce7574b6bf5bef57a128aa804e036a34dce3d70e036d1dd41788c552c44f8a0c78312376428ab371c07c56d36872f70819e5a0f4a";
+  sha512.run = "28fd471aa854852cc2a48597dda19cadda3c92c589d0419b8d36e044f9c04e406037f162e1d02c1f4b20a6288efe4a689fe4e03aafbfc6b06cf14019f7e880f0";
+  sha512.doc = "f542aecb6d3868559cee66a7c153dc80cb6aacebae40c0cd0dd120c4230cd358b4d2787286cb3e7bdfb5565949861a35af65ca616369585b8f28462a2b1dbcf6";
+  sha512.source = "7f527c20294826a6d7e1c3ff390ca02f521e9b6824db41d078b4132201d1d7575cb43eebda9e66e8226ba2a641db692ae2d1f1ccac5c4f027851b75100e261db";
   hasRunfiles = true;
   version = "1.0h";
 };
 "morehype" = {
   stripPrefix = 0;
-  sha512.run = "ee56a9dc4e310aa38dfc8a51820eeea9c08164d40d8464fe66682b7274646e80fd95da0e5a7cb1edcc56e365ec38914b5dfa80944c0ac193891b5a67f0b682de";
-  sha512.doc = "3ed9324e177db4be4f5fb84df7df17aab0e5b28e478288303716746ff3eadfc08891fc5a9108719830ad82be35662948218a1b10aa8f062c0d791ca3db6332a6";
-  sha512.source = "b31b2606055b05f2d6e3de22a88a0068b354622c160754e125f47f13d1c3aba667618d1c356a64a795db75ac2a760590d464b64b50086a3589a23e325da30d98";
+  sha512.run = "698ec10d9e70dc1b89ed5094369359fdeffb663ca95513b7207aed065515a66dd2c82b4e43d14fe271c9851e72a44e9c2f6e3baa177ed9430f89e88bdd692172";
+  sha512.doc = "2600045257c75dd15320a2f188f5b043358bfdb21ce4a19af2d1a696141a2f553da42c13143d14c8ba136fb1ef7a560684ac47c5274738c747f729a00b02a099";
+  sha512.source = "f710fd59d5c99d7df8b84a365a8f8c110ac7086699f36d1851eb7fdd27ed43212c403c14d9f9105c78402b278d66fa77ca2f50a0253073f55842a60fb19b4c1f";
   hasRunfiles = true;
   version = "r0.83";
 };
 "moresize" = {
   stripPrefix = 0;
-  sha512.run = "f8bbf3bb070e8a8ea62f6297625918a4ef7eb4448f510aef7c467e856bbfbb010d0ecf433073e327eb72c15e6b3e0078c9e5e35b61d9a8de03fe49c117c064bd";
-  sha512.doc = "d61edbcf14210c746f82f37e8131320252ce3597f92f55f2eb900ed800946880564372e482a9b88a04614ca2fb8534bfb09b711a70c743d68287bc7135dea9c5";
-  sha512.source = "b53fc89ec96d1cfbd275250f79785cebeb73e03416db1a08438ff2035c44e23faa07b497f0b7d6c6a1b118a0eeb1837bbfa83e81ce7c5951f8af48b0b1c65021";
+  sha512.run = "92f67234dd9c0429798f9e8001a2d4b7004e11f2fa90130b738670e6228f45ebca3ba26ed98616e3af5c86148992f9915e3e6a1cfeb4c875fbd20fd818743525";
+  sha512.doc = "3c1ed984163e2adbdaa7e94439e160327515f1c6999e40114819d8e5250e090c932909217d37d1d07fcb108c56ec50f294324c32523995f68f57fd918983a412";
+  sha512.source = "701a2ba72c22bed8397350f92023b0b1d1587b837c4fd247dabe5860cc32e58499e8803a0286aa9f9e3831faff8b9ce0e74ac1a0f82d798a2f7f461b015b5809";
   hasRunfiles = true;
   version = "1.9";
 };
 "moreverb" = {
   stripPrefix = 0;
-  sha512.run = "085ca5765f86334a421127e1061b77a67abe1651451ffb581c53cb7fbdb1df944b00456b0cf572d79900c43e7fc99fd35913604b1f3cc9d2c0ac12957b472df9";
-  sha512.doc = "df8b481563a1654d0ff00c8d22137232c61500deee22ae1fb312bc5eb44d1308ddf2ccbc793285169ab7fe506b34b62cc8dff521f6ae7819195f7f86a5b81fa6";
-  sha512.source = "471acf53bcc5ace750c68f59af79aab1b6e6aa02f66f0a0f3aa69504422cd4a9573a89315d384800a2c3e2888449dfb0fe1e40ca145e00e9683c1729bc646890";
+  sha512.run = "673b7ab5951e418fe10622fb1a4b4a420c4c436684afbb1474c58b7aa7b235f7063555a220133257b351b5847be5e880714e44ca49bd9198a4306c0e821dcdde";
+  sha512.doc = "27e4f361f5d7193c97629debec048168045bc38e353f677829677cb5ce5c0a9ad8f5b2576bd9f870da8dfbf16d745e489ba79e3dfe6aa1da8a9cab1ad72ace06";
+  sha512.source = "55ec67b5b9616459a776b0ca386be19cb6ae57fa2a7bde1f6a1896233f4f303277474d629c884e40bcd8d076522ab4e41fbe8850304dbd33469a1f21750c81ef";
   hasRunfiles = true;
   version = "2.3a";
 };
 "morewrites" = {
   stripPrefix = 0;
-  sha512.run = "33c04f2dd3be73fda9689707e895a34221f7a11e70d0de5c18a1cfce79b3cadb8c673cf0f7393919b33591bf65e510fadf6f10f914afaea99959ade55d3cc86a";
-  sha512.doc = "84aef41f7e414c3ad6e99aa4eb7216815dbf418a622aeaa1819cf7ebdbc1ed9bafa49c6c092f75254dc6690887513e26e8ea9ffe8f844770c83310e4190aaea6";
-  sha512.source = "a28c90c929bfbb038bdbfbea7a4e700e8eb168fab79edd78ff049034c60450170cb780ff3648eea392e374ca4592ff3f938e2940f550f13b88597b577883ccb2";
+  sha512.run = "fb1f515fa834c422f628464467411a51c8c9a99f353ab297ca0ac0b63d65a7f2e05ec3e6a649fa35260a6bedb91dedda594654e83e94a28baa62764a38d9ca8c";
+  sha512.doc = "9f4bad59ec0f024d24956481d2f70baa56748c9deb000979490c001cd671dd07fc3712eca1917713775d6b879169050786b22a76e2ce1d8d57a99cd76487d167";
+  sha512.source = "21a6606687ac53e218408cc5790c1b93c9db3cef7b1f17fbfe574ee2f1a1c48e5c21a00d7b4f44f6fc1b98bd77af032be97c1cf48571bc439ee20fa6367d3bf1";
   hasRunfiles = true;
 };
 "morisawa" = {
   stripPrefix = 0;
-  sha512.run = "d694955be45673b952ffbe50cc711d9d93d8143c58f44b760733a502abdbc863b1a04159da9aae9feb2c40848bd69587069aa2f46b3497a9ab5e7ded6bb51ee7";
-  sha512.doc = "a54a78d7c64dee995ef05d37dfbb90877d7248c6256eb4ed944d417eba0213cf51cd10e69ed656d90b3edc81a6cbc817de81c254facca646a1ae9ae9ded54b2d";
-  sha512.source = "d3fbe35585895127cd4e335f7d9b597bc2c77a10725ddcbead32baab93a31a1f705fb4330595b0baff5d9c0276fa5866a9455a0ed5637af975fded90ca7be89b";
+  sha512.run = "7f149fab67905d6b21670becb1c3e3afbc8fb4c45fa3c376960e5a87d7fe17abe091af63930a8385b5bcb63e550fc0b9bb16d522f50f90b911b09599dc5ccafa";
+  sha512.doc = "7af68b3a8233cec22efb49e8131c65e33db4076ed4f254f2d62f629c03d0122e8dddc3ba68d283affb5ca663d3b1f744780dc98c14eadfa1a69028df281e5bb2";
+  sha512.source = "7e3821bc1f5dad076307ebf00cacb68cdeb9e18a060c9c024c0fea85c558f7373f214f16952fa643f8b832376101ec8c8bb839a902e6e8213912a4cbc10862ad";
   hasRunfiles = true;
 };
 "movie15" = {
   stripPrefix = 0;
-  sha512.run = "58348557bcd037e0e0d645e9d7f1268620960857374c3ddec6211708f9ed01fbcb856da15b09c35105a61740adca269a9ba40d8b96e4216c0d7b54a0fd1f3978";
-  sha512.doc = "a37a02d7a18cc5f25aecbb15b2b3056c6d6aea33d57d70294a624070f020262f3d8c4e74db1dc933c7c63b73959b261e6c2a42e01754b90e3f02233a2ac9e789";
+  sha512.run = "a45726b24f76683c44b0f006d720695c14ef51a260fa00f3223a075e48173638dbc9d9d361fb4e1f8f567cbe80f65d990aae485b669901a50d5b18750640b103";
+  sha512.doc = "4df2fec7f0abac6ef4d948285b3156bb9489a3b7b18939fa109abcd9c537e383d505e308516e1bc852aa5c5bdd6b8825e8f7e887c9787d7c2d337124942cc9e5";
   hasRunfiles = true;
 };
 "mp3d" = {
   stripPrefix = 0;
-  sha512.run = "aea4ce09e6290a2dc8c0f113156f2f45b020759ef6782869081a2ff60cd40f205e09b1b6187d8e54adae4bb936216b94f6491c02e4a1039ff0909794590de36d";
-  sha512.doc = "dccbced8d142239a8302a24451826fded826ccd3a0228f7a1e2aee7b03c45c301dc644d376511fca4fa1cfdeccca76e1092f2836e8c9c0ab882416bda377cbc1";
+  sha512.run = "e5899aace25cef3a690150cf09e76bddc008f426800588ef7d21361229b0040dff74af7b43d563b05d8c3d16166e34b5a21e8e25ae3e97ca80e5ffe5c4925392";
+  sha512.doc = "2b64199f50ae5b0e6528bf041ac2422574f9adf467183f3ee3d58ebd91317ce25937699be29d0a5954565a4fd326719f11bc04a35cb4938489696ae479d5d7f5";
   hasRunfiles = true;
   version = "1.34";
 };
 "mparhack" = {
   stripPrefix = 0;
-  sha512.run = "b6aa2a43966fe6203f571160004be3dae60abd6787545cfc0ed61227a3ab845ebbdac5139f417defb7857d0352e25e473a8374c2d919798e438785dff3c71601";
-  sha512.doc = "3ba53ee761fe9f1be08ee0ca91950d7494e356149cc1c083d3faacacad71af484bd09f067bb0d53056453369c121c0953b05e4cd4868e2b836a9d882ff0c1472";
-  sha512.source = "68e2a8a8a424f4a09b468a3826f658370032d26cea6d5588f787d01c1a61c0632ef0a7ba252248962d85f610a620ba25718fea326f9726f9183528862f610d98";
+  sha512.run = "9f050b6ee0aabefe384f4b78678620b8a15a49f0582cf22caf0e5fc2b1b975eb0bfffbfe91165a121aad6d358044f97be410250597fd31b462630aa1e32ae96a";
+  sha512.doc = "0f28a6dce33e14636bf5515bc1395a80f9ced23553698d9db766e023715554fd87df292836c669b8492844c559eefaca4c4598fbee94db425c419dea16e90ca3";
+  sha512.source = "6c90b951bb47450ce9892a84e72c37083438682edb36393895d25d4499f8d5c071c969f830cccc229851a39811fd04593c6b7425a2b0ddcb134b73f7faa2a722";
   hasRunfiles = true;
   version = "1.4";
 };
 "mparrows" = {
   stripPrefix = 0;
-  sha512.run = "939d331a3385b951a337c23c95b462da54590f61d871d3ab6dc618f3ffcc650e8af739aa396b0cf40d9431e0825ed3407eca405906da3c50c7a8dc84f44f1fde";
-  sha512.doc = "1b946c5b10aacc8664d9e8f167385f462c1a43d400e65ece8a57a52480ffcf172fabc8da8ac3376fd40412eac9a34d6f6a0184405d2a70ae89f3a44d5349ec76";
+  sha512.run = "58e4a909374486cd2d4313d62a49e4e30a5e85f8ef2cc0d9a7e734b546ad8b36e3bbfb96f3eecaa9c10b8d7b3b1557aa9e0b5dae5b4547d42cabc64d2f2949d3";
+  sha512.doc = "d1ca204228c1bc76d4f15257687a865c650fa83742dd126b3d7cd5e93e725b2da31eedfbca9a86e93eaa08df487b0432cc41f0d4fd2f99951f874691acf47016";
   hasRunfiles = true;
   version = "0.1";
 };
 "mpattern" = {
   stripPrefix = 0;
-  sha512.run = "6cd202f5ab5f5da84ebcb2bf04f9fc196f21e9a447d312fe2cd181a0e3fb256f1ea6109a7b0a6e35ad58596a5220b807484cb73eb18d8b9265171817ca7c1457";
-  sha512.doc = "4c735bac2c430d63d961c2e9b6370b74719735fe2106ccc52d9874efb414b66bd5c3aa7593ef131889a6cfbbcff6c0221c8460e8d89581b4a184d74538745076";
+  sha512.run = "1efc3f1f1c93456a3038ae5037ad5dcc4b177c57852f7db475a7ce6d2002559b370ba22dcc6d312c68ba75c03523cdf0df8546fff8dab032832d3ff3148b5d65";
+  sha512.doc = "4ec7cadd89449ca049fdd723de9e29f20199a630fc28585a4802e3ce3666783822e4f0769907cafbfb0fe097b1da4a08d3e5e5f4038ecebbe9fe3543dd3413d6";
   hasRunfiles = true;
 };
 "mpcolornames" = {
   stripPrefix = 0;
-  sha512.run = "eba0a6fcad7dede3a040e7cbd63c3eee3dd980a66f76f54353183d06dff4fd56c06eb219d42bc806ea5c0624447b8a3f29452c25be5af2d8a0fa8ea1257db9ff";
-  sha512.doc = "a34c39c5a0d967987a7f932174a583aa2564f0b86f42c64fba45bd09c4f8a9acd1f5446783a862f9b0fc16cf246e4a72f8b739b03745ce8f257aa855683c0af9";
-  sha512.source = "fad89f7e49d9349b94bce228d82802137ce4defd4c87c0d73cd9bc6be9ad44ab34165c0f3c611aaaa03347753b0b05bf3292ea85ca5df9128ece6562c89499a3";
+  sha512.run = "9808706010059e8d2683f88a47535b8039049681e5a9fdc013cc384bcacb1910cc7ab2f7614d35ed964c28507bf5fc062fe4db852afa45f9d9383c367838eeba";
+  sha512.doc = "bfb9ce4c85de655b890948897deba96a5ff60cb7518b3e198cd0b088b63670531f29bd84dbde4837298a24f36dac0652f2d2d3491dbcd7ac8f9e57de6500c6dd";
+  sha512.source = "ec29085382f6464b10323680488140b483aa09c9df050806a154fce60bf92feb7d4e04de444d0fb4b1623c6ea3506ba619bf0fb2477f048fd4c5f2f0be9f272c";
   hasRunfiles = true;
   version = "0.20";
 };
 "mpgraphics" = {
   stripPrefix = 0;
-  sha512.run = "32c102e3d8fec947210609f45bd84b22942c17c61cc29faddad24caab660ada928ea18e06028608f474c55f03af36836984821b341cecab3973c8421d6b824de";
-  sha512.doc = "2734d766809a8fc741373c578e0f9dfd15c0c9f5e0ac55b6a5211b1b44a9363f691723e9b9ab8a887e95ff0fd73aac5072ffbf91b9873f2a1cb2a20feb98aec9";
-  sha512.source = "09561eccc248288efbedb4e29a19ac5eddc7e0ccaf14242c6b8fa97749c0bd6c99f0db9bbe030b5a3ff0f2bcfd092ebcbe599db6df8e0b67dd65e75c1ab5021a";
+  sha512.run = "5d711f7a981f701e11874916fe8d22fa237404dc119fc2d5c8f8e9b3eaf8feb59a63023ec30f0c67d304839e4971288a669d70a697260af35e401edf00673adb";
+  sha512.doc = "954c8e3a8a0deafea163c9bea9da6bd1c27fcc9b5270408fdd29f0051ece1f4138a0af99808cf85279823cb48475b8e21b3a450f021d678fc5b2fbdf28e55320";
+  sha512.source = "30e7324760efabffddf6920362ba213eb05fce2658d9a442677a2f8f322695d5a361b1d183c4f775b289ac116d586e2466be46d4ea1798cde251132b95a98bdd";
   hasRunfiles = true;
   version = "0.3";
 };
 "mpman-ru" = {
   stripPrefix = 0;
-  sha512.run = "c94124d69f09e0a3b07317f8d426a46532fe1fd15d807c68e4f6955fb7a6848fab81ae3dc8f44118a69f8be866dc0e411d5530b4c479c430189ba39a9aa8c7e9";
-  sha512.doc = "1bc1ae9c56662088f81fa54b101cb4cba68e03116c44754d58ed24d2481b6e312da30a547f471a988c82272fc3e314e5f1c3592103c11b4f16479fc95ee5ee54";
+  sha512.run = "e234fc25e9d8e5aa89a59e21186a16de3c695ce45c9ee8d132546381cb18e9be681bd4ee9c70bb10b4769ada5e5874b500d2a3cd7d264d89610dcda35fcba9a1";
+  sha512.doc = "57f2449eaed3651b808095348f056fdfa90b00979ba2e21fad120efe096dca9a9e48474e9dbb539f347ffe20ccd5582f4815ff4552c54e9ea5f9df391dd75edb";
   version = "1.004";
 };
 "mpostinl" = {
   stripPrefix = 0;
-  sha512.run = "044ae741c4667a815366bd2b6149356af758a876a65a738f90cb6cf84c570367fa469bdc19bd6c02a2eba672e5c8f7c904fbf371a54700d6c2faeb8778937445";
-  sha512.doc = "5574a88b0498679134c643fabe84d067874d75be6fe5acdcc55931810d9592bcb6ea2866461c6ea0b2b3b946fc1398dfe5d01a4aead385f59e1f6f2d1a3ee907";
-  sha512.source = "70c181d6cd077501c0d672e749049c80cda886bb5dd6d4e617f90bbbe41cb73eefa3f3b1b0a81e43600513d1d1c645d2fb50ca48d387b46b96282db88ed1fd94";
+  sha512.run = "0749fdf4c54efe9b8c9ed9f735a851a0c0b08a9092679bbb80eb32a80ed6e7284094a043e27721dacf8112b6898a8c5f47bf0b0dea4af9082a40bead0599ee76";
+  sha512.doc = "ad639ec50e5b71a1ef02bcc04cb1c0b195e9ed2cdef9ff8e145d17cfb34dd853d96449620f5d0eba614154cdf6291902316f4fdfbd179a112cebbe2a059acc70";
+  sha512.source = "44ff22f1fb0496422dd760b786174e520643ae9c2b8d3b922a08f9e065708fb4c292169e58cd328381c29672d0526c13506429c55eb57100e96f876324e6fbb6";
   hasRunfiles = true;
   version = "1.5";
 };
 "mptopdf" = {
   deps."plain" = tl."plain";
-  sha512.run = "d9f43241070b10241db18e1c513208b708330445edd052967e8a445378507b94859052b20d44436aa7919cc3d991cba101dc9a3092a11f722990dd8c0c3c08e6";
-  sha512.doc = "0778bc8bc04f233674266cb6da1db8a788b666994e2c91b72198a4b8ce721008f72e14928bff3a62127d1f0d98f76b94b522e2654287b87b3a4f6d08963b1eed";
+  sha512.run = "3960623583dec782191299a72261e41d85a636d6d630cbde0b0c85c5ff84263699e31bc4ebef674dd516cdbf9089988b5ccb8afa8fe5bf9134cec927d8078c22";
+  sha512.doc = "a80bf1cb2fd0f7197162d0b3cdd2e7dcc084f3745e92273df8e45a989e42bbcd5522b9cf5aeaaba597c29b285181e48e08767b63ae484193c67d42b47479c6a6";
   hasRunfiles = true;
 };
 "mptrees" = {
   stripPrefix = 0;
-  sha512.run = "ba988e8130c79a6a23ca3a6686a0a254b7dc12be92a6ab8ad2ff7a8ea425b9c0cfb0ac21233e593d33c3bc0c6ba41a649498fda823d6fc2fc64df600e82dc733";
-  sha512.doc = "26605a6065f437719c3451bdd992891f0dddff9595f1aa06d1595ed63d1a7022875ebfd801cd2fede62aee75f9f7800849eb59b03391d0e14033a4b3f78f201f";
+  sha512.run = "c495bed58639226b0552dff1d2e7c5e97a60ad4fb20cef65cfd873feaeffef4e0b7672a33d310576c042a94d6d27141056e8a56c0bd5d648841b860a3c1919de";
+  sha512.doc = "38935dd6694e4c731e6ea8e8a1575ac5985a24ad5d1e05d5766168d3b6f82be6e3bde8c57601565be67ebd0d1232191779f973adf5bcb7851154aab3bd6472a6";
   hasRunfiles = true;
   version = "17.06";
 };
 "ms" = {
   stripPrefix = 0;
-  sha512.run = "e2b1340bb001b21a5fff4b5397be3992c3f021cf328dd8efaf02a5f3a2c9b1980235e4a70405629d41dbee519cf0b980bfa878c185217d2069b957b235264aaf";
-  sha512.doc = "ca356c3d4ea2ddc9ab501a2b292c25191a1e0179ff91733d2bd8f2bd9dca9673098487e36b9b849a9f70266ea2c724b3859ba89522cc3904699e69aa8a8334ac";
-  sha512.source = "c74cc8ca98b198f2baf76c85f8a8ac7aa607f55215d98874067661e0c624e4d72f7170944b48d721fb59fde9b17e4897a445f44d5b23d84869d7dc56c6174eac";
+  sha512.run = "883832298e0135980808249f5af0b28e3dad7941f401e3ac031cd558b9c6b895bde1f5dc459de9f4c5f6ae41d6a6aac08137be09f9a91b26761399868ac7457a";
+  sha512.doc = "adc189823e89d6cd90369497dc4468b72a36af808eb2c8d6738b3a00082335f139ecc54ad6b601a027b6961890b5bb6975e46d1de26a1e0ac7dfc9e8766fa6f1";
+  sha512.source = "41bdc589f6553ca981a7f0e7340f4e1163396a12acb1b7210fb5e9efc83924961d0e04f8ae1aa10b0db3266f63d4cdfa4f52d59f7624c321dfe0bda53ec6776e";
   hasRunfiles = true;
 };
 "msc" = {
   stripPrefix = 0;
-  sha512.run = "560f60beea10d71a0f9d1915baa58a893fd2e14104accc72bf513b1d269a618ee1553be0714c8b6380c0065191fe45f3a529897f1cdc7f5390116d3ad8c0e8ce";
-  sha512.doc = "e5c0fd8ab06b4c7848f080369a384e8bcf9c117dc21907b15c77d356a7df98092bb491e03d9809414395cf27d6275e534bef40aab8d5b5bdf177104b8658fa7c";
+  sha512.run = "cfd66ed08d144698d11905ddf987f44782752e412d5ecb0a85fc27e569cedd4918ac05f19d986e0fa6e17065bf871e805094251eebd5d27653047d436541600d";
+  sha512.doc = "9485a70d19aa2754ae4e12e4311d4a03367c57a7bbba69cfc50a38aa50d6d9160aeb812c4a63b23f7da0e726b07cf836ac9df7b66b4c847b9cad0e7d66aff23b";
   hasRunfiles = true;
   version = "1.16";
 };
 "msg" = {
   stripPrefix = 0;
-  sha512.run = "1e3d09ad4a124f97b2da99d115140f48fbe16e7b4ad95839ecbb9574e69214523e2d26c7dfafb64c4018a090804bb2d31beb23a68625cc4efaf46b4a928dc0a4";
-  sha512.doc = "db579ebddf23d7239f5648b0e19b50dc6d3500579f2ee3d6691432c501d227d0c27cfbba9af351e3e8ea02fc52d5c9ac5baefc9c6ffb750b5ef182213be74830";
-  sha512.source = "62675d16a4b803fbf7e017e9a28101fc585e8f0164d1d3bc384f12d744dc22235f89e0bc7ee6a0e1ae18b5fe6c36cd9cc3d66c4c6e4f94f7fe79cb4e7680c401";
+  sha512.run = "9419f306ccde237320abe22fe192a2473785244fd337063332a242e029b8650404df7f7d150b196d3bccb0e10e58e25e2b8aefb15627e89eda8636ddc50599e1";
+  sha512.doc = "85db0022daca5aeeb50e2eded6214a3b144012bfd0bd433b4f9474307c2a37e57c7a311385b8de4efcdc4e462f39c53f6a5fcfac2eae7263e2d1583b0ba584df";
+  sha512.source = "988d410412b2e7b3617678d0cdb2e8059f7261d48b942eff588c472ccb29e022a3e10ae2302268789331c20705ce062f0930ef53bb785245923ba199ed71b15f";
   hasRunfiles = true;
   version = "0.51";
 };
 "mslapa" = {
   stripPrefix = 0;
-  sha512.run = "86e5864b0f027e604bef759d2923d9fc07ea4f195ac2af439728c684716e615733580aaa66159790e8bb904fd4ce93a552942db889e402e99af1990c006a7f21";
-  sha512.doc = "e22dd5dd4fc53c0289d506cabafe48c6bd119fcefe361bbc99f2e118895c6cc3513ec6f1ca9a9c9a1b38bd6b2cf7e9327ef705f45490c5852c2decba3e0f05c7";
+  sha512.run = "76910e823a3d1114a2f7497c49d7a9edeabdfc3642309604654f244b060c4ef456aa170f677dfaa719d36416eaa41b68ab28c5cbf869f611a33155250bb44423";
+  sha512.doc = "af01997554d68c0c779950e3be4c92fe7ab0616eb2c5ab55c5131f17ef22eb6e7066c4190607b77c9cc44aa50c15a472ea27733add54fe82b7801c7724f1663c";
   hasRunfiles = true;
 };
 "msu-thesis" = {
   stripPrefix = 0;
-  sha512.run = "43c2849964441b17d8ceb333ae04e302d354259bb3585b0711d4d6f8a9bd42022e246dc182f5b1a1e7d886a0f720e27d93dd275d1f7ed85be58271b7b41bcb20";
-  sha512.doc = "511db06331d063f712a6efa265a4d4a5f0da13d858b4f9486af2764f91ee1d6231fe0c4b82892dda764ecc79cd2a7b504fc406c91878c78c9b3272556c44a612";
+  sha512.run = "e05cdf909d11616692cb175b117a134f1eeae10cd9c62058847cca383b86eb99de675f4e534c3b9d378dbebef10312b773f111de46becf8e4f3c840faaf5555c";
+  sha512.doc = "1b3c8266ff9dbd2c757365d30772057433e1ddcb04c83a9f98e55c9c4707a380e5d289496887da9adb922f96e7f4c64b9d3828e2a758aa38fba31e59c39c7d1c";
   hasRunfiles = true;
   version = "2.8";
 };
 "mtgreek" = {
   stripPrefix = 0;
-  sha512.run = "d378190e882a69454da3a34fe221a890f78694f65a4e921140ecb1466fb0c2df7523c34cc1e7d52fe8ed7b17caf5ac815eefb459d07dcc4ca96f68e8640c4ca5";
-  sha512.doc = "a0737813965472df1811ff0b0416e80b54b212a86713d5bb864f178789d6948903c3bae380db70bfa9bcc11ff49c8027519310d3bfbbbbe548075f6eeeda4756";
-  sha512.source = "4582921ddd20a0c1254f3600a919a68f83fe71032d03447c7db729a1577a426560fa92e6fb4a043003a4f477f9ad408566fc75560b05bf7e3ee024124c9e20a7";
+  sha512.run = "fbc20f61e1d4e9d3ebf4a92216c7c007f2aec2b2cac0aca6e08f0e1ea5f6f405a32d947efcea0057a025a138afc85e0d1486191ee82fa9a0e9f2f6e2542a9e11";
+  sha512.doc = "49631058e9bfc59dd38a7e0e2134f6d9ddf68779a6f8087a056a89fef975154510496415b782102dfeae6b5563527fb6178ce301b004fe33a4dfa8dbeb4474ac";
+  sha512.source = "d69c6248a4d8fbb9a64cd539e7f66db5373f9551d27c98b755377594f9b1680a323719599f5963972d169399a0686b5e6f500148cc54881d23d8adb3b91bf4f9";
   hasRunfiles = true;
   version = "1.1+";
 };
 "mucproc" = {
   stripPrefix = 0;
-  sha512.run = "d4dd4dba61ecf366c27c4dbe0ceb569381c6b07d6cf990b852164addfee557ba5ae59d019c8a8066343074dfe364e4bf005ee28722d5564019e5ecb7df0a0f68";
-  sha512.doc = "1d6b3378686b58023dc8ea39ff3ace838232fc1168e4c093b77cf9611c359ccc11b41623f629780aacedc87b544b640f79769d925a1fe41810da480ff6fbb578";
-  sha512.source = "62df473565c6d8c7cdbb2ea70bdb8a4d3adc662ae711f86f8fabed78b2b9b88fee4e6a52e92d5b2259a37d0408364711b14f48b53136f525e07f9f7526edb698";
+  sha512.run = "02ee23aa25152e80e8dc2c57f14b99c70ff57c38175498c179e505a76d967f826acf076cae2085d305cde93964f03134fc6d1027e0669acdbaba5ed5ff6efa8e";
+  sha512.doc = "01d154fab3c0ad8db790b5a22fcc4cae7a5beea1a2850f5e9d6fb1fcdc6c1071c2dc294568451f40db5455826f78ae910be9572de5a4a7d870e3a18a74fc0082";
+  sha512.source = "f1ce5b80ed1c79cdb5939fda97b18bd263b313496a98cd7940e990ff719dff9e633d636505c0d538f37ff26a81c33d6f625f51a479e5ed6f949f7b3ebd845917";
   hasRunfiles = true;
   version = "1.02";
 };
 "mugsthesis" = {
   stripPrefix = 0;
-  sha512.run = "c2e1dcdc949b301e1b93c033d2003760c1f56b5efb0d328f84c8068cd42bebcbd7252eb01e324fcb226b5a7c78cc86fd5bca940119a736aabfc92105a8f650e5";
-  sha512.doc = "0d1d9e7d47e5edc8059dc0875be4e9d135558fd1d38c99cacae8fcd6e68300623437dc6f145d47cea9b968a6c870ff6ab21b9de6fb4d8bcec2b41a9de384b44e";
-  sha512.source = "858407db029efef3cae9f935a13fbc229b60184dd864eb4aac4710ad1dae1c0131a4533d6dfe8caee659b624da05d1b2ee27aade516adcd5dd199c48a222a9c4";
+  sha512.run = "26a40992f66bead658130b6a649e7da550c85a92dbf9bf5778d4987e06f3a5f7d168eeb77dab3e81c5f328d252be345265c2326760d861fff35fb4ffd1e3a4b0";
+  sha512.doc = "2f9d069468c3ea0b420465200abafade7ec7c52cb22bee74865da5fb06064eeae47709a1ff60868bfbf675a4397d828e02581defd338ef3e79e179c0ae7cf7ef";
+  sha512.source = "bbbd79aef8db604e5349cfcac7fceed96d8b2570cbdb455b36f96d99e52660562b6d84bdb5a9e1a4c9ff32c9199867f491e91f96758635ca800ad5b69039b120";
   hasRunfiles = true;
 };
 "multenum" = {
   stripPrefix = 0;
-  sha512.run = "901002dd98b40aff63e303a226938659b83f8fd3c2418c0cc4768b2de5afd7a3f7e46ed1f321ed81f76de23b9057e3dac3ecd0c8372a530bc13b6d143f62f1d9";
-  sha512.doc = "c7fe53790702297911e9ff87a301675281fc32c8697d0dee63379063f02f6c17b0abc82d11fe8fb2fd008e378329c5a5ecb9551bce46d83f2af7038dea77d9a2";
+  sha512.run = "e73e2d3fe45f562398de752520628032fea310e5345a247472a2807618b72467b245995f32f21474dcb5702106bf32d6394508a96c4aeae4dbeaf6fdda7bdf4e";
+  sha512.doc = "889ffbce149b1f0a98e22a1ebcafc60e29858d08b57e2e567956830c679515759a6c8209901641e3d77ded31238e8fe93f7e4cdff95d1be925e3972c9005f4a7";
   hasRunfiles = true;
 };
 "multiaudience" = {
   stripPrefix = 0;
-  sha512.run = "78a2a051ef7f7ca8b0bbe173e88bc4b64b5b623580b316bf31586f4e67d074cd644573ed18bf6a540bcd897828494cdbabacbabeb42ae9ce328ea9913bec0bd8";
-  sha512.doc = "43ec5920965e2da300e218a0ae99c708a661e9cab2324db5cbdb5602ea1f20bc48aa49c3a2ef71ef4dcc4d10141233ad07e31f35f394245b6bb8e97ddc0d083a";
-  sha512.source = "2de57ec7301c11d0cac77045d619f79cbbfd9f0898cc3fe526842b2bd8b2c66d52a8e17654c1e428918c02421a16e66f218579d8f5ca94401a1e71ff27e9ffb8";
+  sha512.run = "58610f5b5138f7713fcd3e21fac721d0cc0a796e928bd5bd89e5981e08a0d4d6888f6f4f2dc2c6b9afecfbf0366462109be7a497ff6017e3b76ba83b361fe2f1";
+  sha512.doc = "5db8176fc1c40091db428b73bbb8bb3eb2e7b14b8c8a681e7d5dcf04d990873fbe456d389e468456650faae3939e38d1217057485d60750cb29aef89e8e15b69";
+  sha512.source = "acb69d29f8f12a205b4560700330d0a94593595056784275a79531351c674ecb560cb453956a5eb088f09a666ba4c72a2bc64a79b954d13263559093d06d33a7";
   hasRunfiles = true;
   version = "1.03";
 };
 "multibbl" = {
   stripPrefix = 0;
-  sha512.run = "243ac801f32cfbb7236a7d84c56bdbfcd906fb938d73c2e7cabb0df02352f9d5e82a89a48a8b0184e6a8eef7b754f17cc25e24407a017c70fca9fbf436238ee4";
-  sha512.doc = "dd5c18fdf75cca6edaf3a306b34ba504b645e2060d43781417ed54e65be5b2b27ad20023c11683dc758e4f62fab7e859e2479aa0b165a411197e9520d1749940";
-  sha512.source = "f89177795d5062e9beafe541f75d56bde9c4a66a6a82a999dfd06cc524d68c1df4eb73203df48cacc05c4d3ef979bb300443af1042ce9ac0f399d3db800bb170";
+  sha512.run = "419f7bcf8f2226cf8c60119e30da278bf6138f4e1903dc322da33ca2b22120e50b205dc0bb01b46cab0c93fdaacc37b823a812121a731fdea4cf03354d1b0690";
+  sha512.doc = "68a3f99cbde27d15fa8b56730f4e9f7587bcecfc9a6ebe19a7811a29278cbe21f214465942bd4ee6cc28833b9614dfef14714dceddcdb041d5676ee7ead810bb";
+  sha512.source = "be2bb39e0267d6a008dd3dab1d1fbfc22e38017656f6fd717e35d3252def115d451a1eddadc6fbb3787bee901b43b09327ebb0f676ee452db71196cd2299778c";
   hasRunfiles = true;
   version = "1.1";
 };
 "multibib" = {
   stripPrefix = 0;
-  sha512.run = "878c79df4e21eda2876a1c33191eadc742aea5d0005c97b374415df0b4de494a1920c1d13ab87ab75f8846f953c8553fbd69fce9235a19c51502c67a98651a53";
-  sha512.doc = "6449f236bbc8daf6b7d607a30d69daa93bde20ed5e383bd97f980cff9e8b2f1a8f3df33a3614c33e51d2da84f2a51bdb9e4b76ad5b2281002f938669d01b806b";
-  sha512.source = "de017fb36f8a838c5848d06ea53c9ef44e599f74547607e69d03c7c862179c3c6630da0523dc163ff3bbd444422dc6c5635195710348f7bb0b2f0a8f11009055";
+  sha512.run = "82cd48cf9097b36664d4dcfb5d73dbd6e961c2f0a8bf7816d1bc59a33cb6d2c65e0f63a9d1d596dc9faa4339536746089e34bd1b510e1b2c0ea272df5840e396";
+  sha512.doc = "1d4536094c09755fc91b2657cc0eb0b0b2fd8d1c5ca37bf2f046b62a4b0be6f83a93debac8be3c5481651dc75cac2066962556370bd84face6b03aaba24bbcc6";
+  sha512.source = "c7777e3c32833538893ae463d8396f894b390f642fa697b8ba237cd7183e2bc7cb86a9773530962f41372e4ec016eb96c7a060dc63081b2faf29248a65f14a1f";
   hasRunfiles = true;
   version = "1.4";
 };
 "multibibliography" = {
-  sha512.run = "9986d47132abafa57620c8b667d7868bb8fcb9cf00f21df786bf40bba81fac51380e94bc0bd371659cf7fb1eb23a057d72a2e8fcee100edc850f2c9447ad4c7f";
-  sha512.doc = "987531138a45f5a8f5790fd3ee023ffbbe17353011270119d2b696e02b79eb9328070fae7fe054842610b21a116faa7f872f079b5ec4bd6646ff4482644f6f02";
-  sha512.source = "8a6260c775e8c5f264724e9a523e9dcff36f8e9d2f870d93c26f71580125584116400ce1a0be27fefbcd9fac22b38e464f35ecfbf5ffc4f49f2c7c8080f43551";
+  sha512.run = "faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965";
+  sha512.doc = "3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512";
+  sha512.source = "544b3778bd0a51e99e89e18e606d37551576d655a01b46523786d6f910cf84b3886a8b29c72b9e0c25b3ae629045470b24e2741d7894f867437ca069cd692cb4";
   hasRunfiles = true;
   version = "1.03";
 };
 "multicap" = {
   stripPrefix = 0;
-  sha512.run = "a5e4e2fe7a0975b2a971a9893f5fc4091afa3b4acfec2bdb3929e2c9d676002c23d55aa7db1dc4d60c0d3d3355d433bf5cc2d5ce84fb5747aa52fe8b20a82b7e";
-  sha512.doc = "6b0232a5a23b101989323f6ff551a02365c97b63894f5d71d4c182352ed09f7ed0384af7b78116e8a6bfaf8cd06341c0b4a31d3bba4bf8ad6397554d6eb9bb09";
-  sha512.source = "c76cf367cbbad4330a1276e1e0d3ccf64dc136d6119246af1ecab217c02d987918d9452a38278c7550269f88203c56ade2405ac53595a01646a75a242507fbd5";
+  sha512.run = "5e4a4eebd7560d4aebdaf7035b9bc14116a32cb2e043aa93afb9f95eaf271fdd75fe7d2b6296d36327d7aa5b14b52046b0c941ae949584ad27a2b89ebe54b6de";
+  sha512.doc = "644f46fa6431f0f7bbbdfed8a346887d107c8ff7c8d5b2c826b16994faa48d83ca59cd139c16fa144122e0425e6a2c592762b86568f17fb914dd943cdb7eb808";
+  sha512.source = "95df0571a8741db7d0b4d3ab0fd0d1469c531a00e3cf524977fe2cec57c3cb9ce9cf3c3136b42a8d0fb8f9dea2e8f4cc6f07fa48490167094e04c0e688d45527";
   hasRunfiles = true;
 };
 "multicolrule" = {
   stripPrefix = 0;
-  sha512.run = "1b7430d9b119e5697477f7a39b545e64aa366e35f90476c15fa900232856b6b12a43ff2eeadcb5aaf5dbb40caf698e3e534c1ee3b49a6fa17afeca0b0009ca4e";
-  sha512.doc = "26178594d1416fbbea1b3540fdbb2d1b916468a1a2c9c7879091b8f27794a567d63bbf1401d94368bff793ce725311337b236e353abb2c232b8efc6c02bb70ad";
-  sha512.source = "5df619991f1be4df2a58d4b138831b4c4796bbcafbae8e04abe1e074b3c06ae186955d18516736d83da8d41580aef32354ed65f4298c700f7ebdc7c65d2bc4d3";
+  sha512.run = "591a7aeb5a918fcfb847cbd7f91cf389b6131472e62dea411b04e9ecd0c4eb1e203a31bacc69721f444c6eabdd44462e84cd263629ed4d6566840da2921c843d";
+  sha512.doc = "ade3f0e13f39a4173d6402ee2521232ff42ebfd8ca55d491f27c1dd35caeb06d92d7f53c1f897d71752a9013f1383eb9cd6b6f250c9ca535a31c21f751db4abc";
+  sha512.source = "e1b2fc58fbb95f6d12b20f02a503a62cf49f4fe1c888dd7185cb7bbf1f5a7644af1f14a380a44e25ef33d87387e152eceba602897b60f8b0d79112cfea4b2492";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "multidef" = {
   stripPrefix = 0;
-  sha512.run = "426c6b820b417fc9d7faac43e9e6202ae8d77f867cd362125f2ea0d0101911942b89e544f37cfe5ad1b2e85422aa6d3cea26158465c47e463010ed295950cfa1";
-  sha512.doc = "a3afa448de003acb5a354e396e32077a4b0fc422d027d595eb2de0a363b076c80c74c5221a105e6001d4a700539ac25e57cd2c1ce778eefc0a7763471f1b604c";
-  sha512.source = "1631c9acfd024417194ee2638b0013d459b6b8239557f94fed1c85a245259d893be7d493138d66d7793fde132da9376ec947c9d51e876be387c321a77eac087f";
+  sha512.run = "2d15975c8a191cc08925cc8cd74b982af909a7488a68e4b6f5eb4c2ba0dc94dbcb40c4347c5c4774fda24f98efff52131f6a243e1e6bdcb4dde7e683e408d6a9";
+  sha512.doc = "50b26f8fcfde20dd04f3e3701d611631c8914e9488a3f87d25e0c60803090133f9abe889b449c67a09ccd5053c67c4a3ea699d52d44480051391edaaa7ff9ef7";
+  sha512.source = "4f506eef5dc2bbb8c740d3b25c00e21a56ccb02410adc85788f2cf2ec7da81531ec5843d0a29931ab1aea0b4e8280eeb235b6a97505fb777068d902199cfd084";
   hasRunfiles = true;
   version = "1.10";
 };
 "multido" = {
   stripPrefix = 0;
-  sha512.run = "1e542899bd24ecc7478349347b8b7b07e146e1c2c9c1f68c3eaaa87fe4d6073032c45acd0a269db5559f3faf4f9118025023497d6eb00c48926721ba50aa6396";
-  sha512.doc = "2657a5ca63b5292ca030e2488ea8b16b052bcf5d339777455a19b102c54320c3ae576558f6ca708ec8beaac0d9901a13c9d85296f971168fd94e0bd50f4bc42c";
-  sha512.source = "55182bce95cfbca99940760c3f7a51a220b57dcac7650396ca559200be67ab4c50fdf781e767f5074d1e1688079dc3faf7f93a9c4480a07c8d035a373f4be94d";
+  sha512.run = "5c861bddcb8b2bdb654dc4438621834a68b2bca102799317c9a220f9bc9bc4c9d70775375302a85736f8706bb7fbfc1a4c24fae2f850237e8f54ad521b1cef83";
+  sha512.doc = "8cef36438fbe57c54f625b178331f7a6ca19854abcddb475283fc0cb4a362764c443de05989245e962dba9e2e4f17734533502fbd4b2ef4fc8e8c36b96bc68ab";
+  sha512.source = "3f3f6f5813ab1da542ebc9c4837da72339804866875bf225292d8a36ebf54b33f12d3e84de9d0b5027d3e8889e10180649a19e25c7ec6bb532296e9e204e25e5";
   hasRunfiles = true;
   version = "1.42";
 };
 "multienv" = {
   stripPrefix = 0;
-  sha512.run = "d336c3c03c288578c6e0c8d9b5915b418e3258c679673b1c2d2b68f04206074d8c175d85e862ffa56ba4932c48757ffe51acaeda30e48103191ce39856d7c354";
-  sha512.doc = "080371cd37f08bc4296b216e21e7a7c23476bf1450adf93a339048e3504dbf609512fc366dc712a11e7700623315896cd1f85f27b41ee52a0502915c02641773";
-  sha512.source = "45c3e472942eaf4bddda93de0463d2c19cf9573599b84f05df3c41906046ac933a6e219e542d644f178269ec60f0abaad6c2a9eaedd86753765f4c018f59ddfa";
+  sha512.run = "b387532d90db9f46cb18518b27eb8853dd52366434c69693fd08d36942564c43a45605694a55783fe244690f4cb64b94f3082235e465336cb7536543b00b6f20";
+  sha512.doc = "1ad0cbfb0c6029b77f2dfd71100ac43cf3c7512df88837c6da5c26fa9a520f4dacd970e331083a56ddf3d9cd19fd9934e863e4bea9e62c7a0b1cdd1ac6eb2a15";
+  sha512.source = "5d22dae7cf44eef6e63cbda2e9421903f56a939c0393d3b91e9d009b29cf0b748215b455dd9143cd7e13b2ad81c08d7dbe447268d7d01ba495bbb307cfc8999d";
   hasRunfiles = true;
   version = "1.0";
 };
 "multiexpand" = {
   stripPrefix = 0;
-  sha512.run = "71f976579e2f2d71554574d8f670ea348d7f721d132f4ff56bdc0e0f534a74b79cefef3aeb8e44e87bd2ec348f5cb570698d63f2a865fa9f116108c4e05293b7";
-  sha512.doc = "a15d1370ccbe4a98fbe2ad8955b919a5f52109942506457190b739e45b7e1c7161b69fdbd6816b83756074694bdaba64a60ada1b07a4c7b9e9ba028a59ada4f1";
-  sha512.source = "406eaf42e10e9f5d2ab48a308374ad7d10c5421b3876b94a65058b07bcae2c99b03859e11042e8bda90a92be6655b99f5d91901ae06a88a9d34a1d25ad962590";
+  sha512.run = "63f512ca5b9649c86a6936cc2407737e41afd6c6a3b4810fe81155a5b4127aecc538303e26b91f53decee900fba7946e90a46a545b3c9caafb3e0863940e0009";
+  sha512.doc = "6b8a727aae2d314877df551ca5804e84be0bc530b4f09d8bfe6a9c1a4c1eb98647257beeb1813a183f0aa5422b0041443e817ce11b6db70e4129e3edc664e788";
+  sha512.source = "197ad74e02212405fee0c79ea03021172e7ac5a99222e0c0d300da6a141bc694a2957c544bd357fb67fcac24acbbb4059041bd37f607b29f5f763b59b70613f9";
   hasRunfiles = true;
   version = "1.5";
 };
 "multilang" = {
   stripPrefix = 0;
-  sha512.run = "10d11f612e2b94027b1af38986efd73688892c630ea15c3acfc64efce836f5dc4b4294fb61c989f8039c5e1c70fd25cae54ab3db39d668956b74d639fb0cef39";
-  sha512.doc = "db25d878a93b565a5797ef65b2a6cc926727f755be11f9020541788f351d5c014ab154d41b94a92a317f21f7db738729c7d6fbef300d9d24eb63dbfe7b5bfcd0";
-  sha512.source = "dc3daa24eaeed0149a17d01971e3a1ced2118e22e31b9fc8309e9a9ded79c36f283e92718908b8140174b1bab78bef77ceff73a4018f8f233b63ca175dac7d79";
+  sha512.run = "57f9829b100068a84feb8a09a94066b93ec5fe70daf831ea99604089a4fc2f67af76f79505a2eab6dbc8f2b025feed6d908a1f24630e27e0f7606c4a3ebb71ca";
+  sha512.doc = "e611f2195fc4f7083d6343eb3554a2e786fd6522383456544e45346481cd57d54b0899cdc6ffd9edc4b75567b1e092ecc597bff660d849e0ce2b3e2d1bd55507";
+  sha512.source = "1e52e9c740d0eae4f89eb4a65e1d12b3d5f159cd6c938f729bdd019ccb8bcf98300a544fa7131fe214cde9b7b58f9b64a771a49513f45943c681893fbfc78b6e";
   hasRunfiles = true;
   version = "0.9b";
 };
 "multiobjective" = {
   stripPrefix = 0;
-  sha512.run = "85e7a2643958df70518fcebc4f6d3b9f5d9877115ec270d60561fac46b74db5e2a682362577be7ac3396102f7d30a34d9fb9ab925d70da505cdccab72d00a33c";
-  sha512.doc = "749d1fb9cc479c9446abc5484ecc402cd0061966d29a5febd7db8bed9d5b3312d12a24501a5d9d0f2a8de8690ea3123a881bb0eb02f4fa91c50389dcb2e12794";
-  sha512.source = "899b8e2a6c1bdc53aa3fe65648eb9be7e2f0c44263f2f8d9f330178c902ca6a8d743ba716df6077326019dfe5de74083f9679b743864036388e9260d19e1b304";
+  sha512.run = "80b0f340f19dff329cd9f0fc32cbb9a8cf690243aa925d6687b9da345984f9eba9c0db7b62fedd2a54f077d841b9cbe91e47c98140f1cfeebdb16fc05408898d";
+  sha512.doc = "3a7c68054a85bbad36b6516c52ea74c35ce11c5ffd6f3d1f235ecc2ea55209343a4ff609857877094fb7f8861e8b7c54c8c979d06cc3b3583fb64e997372ae9c";
+  sha512.source = "99b9d17438d9f3f8a6ac40d0e705371d255af957fa5dc78dd6d98c89b515cb5af7377b5ac11558c84c7908b7efc7faadc9be83b86c2a255ba8c4033a69be3f4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "multirow" = {
   stripPrefix = 0;
-  sha512.run = "e8c1261b1ff4b69ca3087dbe6f64a11cfd69c366fbb81ad16744b3290f05e0c67189d0be61dfdfcd8536362ff4f5ed82f1a3d89a3fdedf199743be1f383d7ca9";
-  sha512.doc = "6c54881acd21ad8948f6199736ac459c2292612bfd6f88ec6cd0290cdddbfea9a4c1577a0b16cb396b71b530817a0f205f24103e61bb90d7863473973fd9bbf8";
-  sha512.source = "739b041d1ede3d8380ff7761914ef49effc01877d2d82fbce25aa2b42ecba5f24ed4ea6365a86c266b0987eafc0a6dc2ae815064a4adca365616c4c8df240cf4";
+  sha512.run = "61a072b45e6caac673ae4e5df536f12ba0bcefb3457099a0a03c73f5177bf94b1f0da056f622d3963e07dd82fc1f18eaf892f2205ad34e221963a07a9458cccb";
+  sha512.doc = "ae7b86866d6271f99bbda77e1df62276383b3759f59c30c86eaee3a5e14e0633dee081bcbb39fc9e52a5f4afe43ab0357aaeb11d81560a7c1c671d8773de742f";
+  sha512.source = "fa10c678e843835d7d6ca2081ecbaf3a5347eee25da109e0db85be9422c2d0e8d2844e7e66784761f0877ed52f860bf1242aa05ab3015e6698891f3629fdc377";
   hasRunfiles = true;
-  version = "2.4";
+  version = "2.5";
 };
 "munich" = {
   stripPrefix = 0;
-  sha512.run = "7a7f12331ec00a0ad2735f55261269fbadefea5cd627eb2916a79eb39d8710bfdf20f72da6f909ae2018021bff0c50b6852ac298d281a2ec012f1be25961acaf";
-  sha512.doc = "9ca7e2f17f8f04846209f3578c115b25a4340f322ee66191032a534d454b187f352765a816c5238047fadaa795af34f6b5b191836c166616fd61317ab937ee16";
+  sha512.run = "d8d2de2245f24c6993fcd178e2a21891e66b5b99039e8969639d2a9cba15abc6c3c50374db61c8082695a969a69ddce902ff8b5fb8104fe66ba1384ef99b93f2";
+  sha512.doc = "ed2dc99df090a012f1b1b922659eebe4c2d8523127e17341b9c4b66413acfc89f8b64ed639c8fd40ace0f4fddc8662f42630411c67026311a26fed436a363b78";
   hasRunfiles = true;
 };
 "musicography" = {
   stripPrefix = 0;
-  sha512.run = "43cef788e788b8545fcbc261e9cfed0c74f987a816a7ad518e2ca1522265ec6ca1369b988013bb7b3ed81c87d2f49f59267c60a950a1aaa969beee294496e664";
-  sha512.doc = "8fc80e058605ff2437ce640e5c5609d122e9e3599cd2e0d3139f622a12fa799f0276194738bcc0a738b3ce55aa40d39d5a15fd614f23476e9c151c6eb5e0b974";
+  sha512.run = "6c1bab036f58b9f1ab39a29e4c2344361e772e44992da5c9b345d3d2b97e4b5b5a5f237494f228bd1ef812f1ac5d5e00432133c64d8a71cfeed9e526360f2310";
+  sha512.doc = "a9497d4dab85061ef8fb5698bfb7e3a1356d141a4c1736359f124842e09d87871ceb3035e6683c2f2dcccc39accceed4fd2b76a6cd2850958e3cd3740f04affc";
   hasRunfiles = true;
 };
 "musikui" = {
   stripPrefix = 0;
-  sha512.run = "8c15c00c614b478ab557c1054e49c41fd46360ef5615e438020e2437f52bcaaa56e4cebf4209740c7d8e0ad482718390f811d0b82a36858da3d6b34ed0475da7";
-  sha512.doc = "946ee66c7f6fd4adf7485eade66c7161473b60915314550ba24485acff590a289c2dfe70122f5c8f4eb5481329312687e44c9b6c85ce50f1af658d21dedfa39e";
+  sha512.run = "602132bc51f1ed20f045bf0c822f201f7bbf3386f9181599894e66cb3c59f4ed15364013a5e30bfc59b22ab3fe4931872b779d1e7f34b8dbcd1eabe058b1f5e3";
+  sha512.doc = "29cc8526543698f218e8c9c20b424fb2b05d3ee0a67c70a2afadd33dc49f0030ceb440b349898b8bd66a53a5682aa8289d081e4502fa5ccdfe481b4e2430de03";
   hasRunfiles = true;
   version = "1";
 };
 "musixguit" = {
   stripPrefix = 0;
-  sha512.run = "2039f6c6034b34fa3b4553cd592cfd41fa4c9b18d5cf4c017c4ce1373130bf709bc8eeaf89feadd83afef23ba97b91e8ae02ad0264f47bf31d6d47b2b80a74e6";
-  sha512.doc = "f0fca030e5320f68cad7db832b70414c0a7ca8c60ee392a00961d72980e653d6fde7e3025a099cd09418b539abaf76fab48b98eda031ca110128f485dd8cf169";
+  sha512.run = "6262e1b447f517680ddfd9e5e076ea384dfa7fc8d219e7a2613a80ba66a0f0435d9dc31502f6abbfc150fa1e2de001afbdec25dd5778e3ffe559ea389d57208a";
+  sha512.doc = "8a6c9a42383d6b35c1300b958a7629306a6883bec1bd68751165eb3514f8f069c9995247142bad459e06fa42378a9ddd23093cb749bb2ccd58743312f83425dd";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "musixtex" = {
-  sha512.run = "e183ead0bf93e7d456033afff2deba0e7cac2adc13f6706f79541c7406a5c83fe185887b73f2664e965f3a3e53ed445003759dbe874447c2daa46aded9b17c5a";
-  sha512.doc = "c0e0c682cbf3bfd1b270e6675d04da916669840b5bc1a93311a94fa8dbf5c71c30a0fcdb46bbe098140e1a6d29f82cdc160e9e15b09384cc422d65a26e18bd36";
-  sha512.source = "329c0d1fce5506c8a12ad0c28ce658411321d99bec8e9b88275cf807ab8404cefe812bcd5c4700fbc15dceb29e0efa24419b9acef7407fbb8bcef935c8af8c1f";
+  sha512.run = "2793fe7e110e97df26dc0a681b24cd738eadbc6bf322b438141b66718b561af3d1c7cb029e465827151be5242d620a3182aa304467f3e8e7c58f457310881c0f";
+  sha512.doc = "29e7bbfda630825726d716ec45e4112b7d35e180a5d9294a5d1f7a1c8a8c544a8f9020021d17a1db74068ec23ed0c744593f74426fe465182d139d3e9e70e829";
+  sha512.source = "62a04ce4d437ada5b2a267b648844cc6702194979530f985bd7fb96b2242d9e92d9fd6367917352aa7f9a699f520569acd2fbfc4d6d56f2f33e9f6173f311909";
   hasRunfiles = true;
   version = "1.29";
 };
 "musixtex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "0553b418e045e55e66d10ea57d73a5a201da170fc368ad24ec37f00f40956e97f59c25ffa30c0673374d164369ebad4a5fa51779786cab8ca6324062ae34977f";
-  sha512.doc = "9642814f4637075bf824857cc08c2af5cd5767555cb2f8823f3eb97507aaf1048395e90dc5ead6ebb0df06015b233e9a9e1b9bebdcfff7fa6e2e9691ee36fb89";
+  sha512.run = "9cb72eba919842dcd8f892562a9f6f2c4638a46b4152509ffce1666e3e4243a2686b4feff3d9d68ac3c70c755606cda7b8659ceb1d8347b49bdfc4c0c7f35eda";
+  sha512.doc = "6fbc429483bbb7e1382d72622168d692dc5686ee21b9172ddd3a14df04397cdb9a3b45bae57b2ba2851aff401a5819d81894354e2e942d41812ebede75c45164";
   hasRunfiles = true;
 };
 "musixtnt" = {
   deps."musixtex" = tl."musixtex";
-  sha512.run = "309beff8e7edb74f88f40c918af32c9c609d08743eddd4993cd45b5b94bd02530964949e328dad533bf9dc5f80f0c445febcb3ca3bcfd88508d4d789c4f2f540";
-  sha512.doc = "e5543d8ab2fc39813fe2d8a38cb331cc2c0a2e3f99db4d2a256874f10305db16e6e9e94e05be68407af71c7161e7bc45cbed810488e09f7c026e351402e8375b";
+  sha512.run = "eab6332d626f199e46dcd03ea546abbc4446b41c4b0354c066790ebfde154c6fa90f861dcff77206318b58a31565d884576899629520e78b3285bac673d1f4bf";
+  sha512.doc = "2da473ad2425064747187da005e01d6844731c536b75095828a85d358ffb1344331ef483c0cebe79b346b4fa96a358a1e416cce7d7cfcce6b1242cf3c0a3645e";
   hasRunfiles = true;
 };
 "musuos" = {
   stripPrefix = 0;
-  sha512.run = "b51081d6eef7c85218b6d7d605e6ba3bb1c9dbacda36984ce1f1ef4e4d21c32e20a4c6073a0683ec7dd25fee6c77895ca9a0c018a6c23c64830fd1584df063da";
-  sha512.doc = "3b28e3e9c5157ea8c88a2a4ddfdbce3de0e38c62dbddfffccdca28f4f5c8f95ca9da60ed6df7a9eadc619013cb62f00f90991386873b50f4dc20fe4072caf619";
-  sha512.source = "7b8fef58c14e0d3203cd31b08b885c325ae4156760ecdc3b0b9f311ce0a5fe9743605486355bb18462c0d3c08dc11ddc07ebc7ff798da04ecaf2f689c259597a";
+  sha512.run = "3ad7bc18f20b0df70f6c92f7816d4e5bc90070a392788d93caffaba39f25e516a1ca4a6ef5438dbe55b514822d2882e7dfb809eaa4fb1380475fd624ec3efb9f";
+  sha512.doc = "a2bc27d789cbd6833961d41ee6d697004fa7539810aafa8749af918572dbd20e2f267bb7435c068fd604540d0a75d1a558fea38a8cc7748c9dcf087c17469a61";
+  sha512.source = "55cbd375a48388b310c52e26b02b6dcd56f7d50761addaf275de656a2668bbb0c436c742649cfa07355e626c3ee01572960fc0177ce4226f764db2b5c3e04598";
   hasRunfiles = true;
   version = "1.1d";
 };
 "muthesis" = {
   stripPrefix = 0;
-  sha512.run = "aa3dbf0dff8af9f206b181058ffb7fa244e5e6be23bf1db7fd18134e164b0056daf2901bfd9a9a9485578cbd57e19114b531a6c3f179b1ee6ed15ed153d4b8a5";
-  sha512.doc = "b76250df53cc206a34a10d215e012d17a2d369465080f17d500d9060851f3a777154cbddc4f6504cdae823c8b74bb31e7a100a3544c6ebe2703be738a623c082";
+  sha512.run = "66345512d1713dcd352feeb46d8ad9c609d4c9364a37b47b5fc0207800f6576831e15d7be59ce13f560ebedaeac9a595f2bd7045b621fbdc8e20a3b3c553524d";
+  sha512.doc = "5ed08b459ffdc954f5857be1a1970e9a23d2cfc23cbb04e820b82368b1febb9bf04811e53ce6fd05cc12da302d182179d29b278fb99157e801afd05db15cbaa1";
   hasRunfiles = true;
 };
 "mversion" = {
   stripPrefix = 0;
-  sha512.run = "5e9a47c85953e41f46b981ce3c5c302835e3784abb2e25560c8603b62f7a6cd61e0cd5254311029ea25bb5ef10e5c7f2ad32b055f68a9889778a2db27a07d8d9";
-  sha512.doc = "06b7407e26463547d761ccea1844579cc81a07783c80169505218d335b3ebca05e0fbbbd2c6ee295a9a7d1f60b5a156d4e83a1edeb31bfdccf916ae4d11453df";
-  sha512.source = "1d1e025996b904d89d3b38544a7a6058c68f26200f846341de7277af11577fb54d26ea8a3ed2459fd6acf77fc2a33cbc8cdadf9729a77653f54188a29cfc1fce";
+  sha512.run = "3031b6aa9408bfb0994ff23c36f6b3f770aa8beac0e94bfe1361dc2ec6ac47859a996ddea9f5283833e5711d0308ebfe5aae91bc0ab564c6e83056d7394f14f5";
+  sha512.doc = "bf7639f024b214c2b8b73cbe4f87848f390d106f46afff6f6a1257d80b37a6b7b02d8d9224580d945b93b3f86a43495d00c5c07d22e8428703036dc43273ad41";
+  sha512.source = "22ea633c451f88302061c2d3427ed52e561bf31bde30456e632f3abbca918a329c40e239ecf0a2f2b219a23da063101ebc9a23ea5fa355e479ee28a9404d50b7";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "mwcls" = {
   stripPrefix = 0;
-  sha512.run = "57122db964d70bff7d7c8474947bdb0e73034daeb75cea397ac5ba1d4d5fc1a238130ee8b5e002fae07c26a4db849911805f5ea463e72ddcdf30232c15d918a4";
-  sha512.doc = "2672c2802df4318910861f29d2e640c6f726d14ce87bfae26dbc136537bd394a31d0e43983fae2b5ba319d48a3f944903a7cfc66fa4129052c7f1ebc394078bf";
-  sha512.source = "8c8af115ad893d9fa59f4787398846a7f764e9f81ed096852e6030450146e1d74ce7cb47979fb26f27f4734ac721f4986835ebc954777887a2496486188955df";
+  sha512.run = "045fbe4985684ff7bad3a7c493fa0b37e412e698ee5eaf31b4ccdf3e185433d185faeb78bbbae7e11b84354e4dcbc24c8f2cf549a64b81ed0b6adfceb4bc8d8a";
+  sha512.doc = "17b548e9db8a842c16367cd27b3f5639fdaf418f1967155a72c90e3e91d47a121c87dcf2bf0c6eb9042005d54e04ee40b367e0d81c7e2ff57de04da617f8b1b2";
+  sha512.source = "aff2829633113538493a5634fa11d11a65d643e65afe74255ab31141ddd5fb39f6da59764507af10314b1d458c5c75b1f970b808b1e90c53d211cb4bc11f3b55";
   hasRunfiles = true;
   version = "0.75";
 };
 "mwe" = {
   stripPrefix = 0;
-  sha512.run = "dab346ea9eb4ee71860b9141ecfea892cc17817f932463e3c8b48e3065edd21e3909df59a473d9068a509a0f5a3142af9dea6a3fefd0d107f7a40a3773787283";
-  sha512.doc = "a48c3460aee8d779aeab04ea3ac2aeabeed68e7719ee1178c917f1d872eca0fdcfe2b557f85e0ac2de6213a67265e778e5190c20e908cca2447b84ffef097eab";
-  sha512.source = "ba11ae8aaf8f4567f7242288aa9339e8a60ee6ebce3dc2a9cdfd59fe69b7ad5d04dbcbd377943cbd6a88d95b6d31115b99f14a3a97f7b06696ff30a7f0f11870";
+  sha512.run = "fab45c12e55ddd3b748ac6a07041c64efd1b344cd8375d870ab3ddda155d9c43adb1fbed21c82237732c8d15ad68201ade3eeb54714e4737a79ee3fe22db48bd";
+  sha512.doc = "361130c8fd556a564975ed94286645e1b2ebb399a4895b59244bbe941cbac20d0e4271cd74cd122595faad4f2ff1db24ad522c04bbded59df2ccfdbbfdb19c7e";
+  sha512.source = "3511bbe2629f5a69023836495e768ba9fb218d23f05f2587c39298c007017b272bece226dcfdd9f9b6625891d6d4be5622c4dff35ed413c797adbe1db1c60c00";
   hasRunfiles = true;
   version = "0.5";
 };
 "mweights" = {
   stripPrefix = 0;
-  sha512.run = "6beb616d6a41096ae176bd8353776c7d4254e3aed2c304c80f38f75ebe6a5b9f60d6ad970243f8d00483af4141ec94eeb688dee53715438d4b39b75e35c0c849";
-  sha512.doc = "8ecdfd8030061d5998a178d0b5b070bfe90dac6deba9b967f08fa5ff943d3bdb2b9475b8641009a73676e61527a8c021be99ff7e038c6c66611b123aca0caf7f";
+  sha512.run = "944c84225a923fb3a1b72f8f44872fbf9f1207194924c9fba8c9c45a2de304748f9630a6267868eaabb5feba4b268a702568ed81cea6cc587319a1cecb94de0d";
+  sha512.doc = "613f3a22759878a34e659a9606b289cd9969280a3de4e8a7614d277aee66aeefb44776f555efd0d2e11d61f70342f747301002bf9b84b888f01216c439cb5a5f";
   hasRunfiles = true;
 };
 "mxedruli" = {
   stripPrefix = 0;
-  sha512.run = "9134add39bf358e36d872bb1f134b1111a84b8f770decf600bcc19b1263f4bb3f86b6571a42e2091f31bfbc41e94cbce75efe7bb1a4ffb4d5e98603f347b80b3";
-  sha512.doc = "73d9ea8e98df8e1c7be73e6f86248b46d45d25bf7c0e0682a75b0f01ad0d55f5c2c288ea86b2dccfb12178d90c0c60bfded02e8888b155e852022d1f295fd3d0";
+  sha512.run = "f721b48b71ae2eb74104e23989cae84d3316b322ebff4703d9bddf74e0ddacf742e279813977bf29883fd17f01049112169d02aa3e4a9be887c049f8484ca0fe";
+  sha512.doc = "ea9de17ac138af2fdfbd624e0c516faa2eca674ae1c423cc7f972f87c1bfbd37812e199f68b463c07213fa263636490b7207baf68506514f73fdef1d6c041a49";
   hasRunfiles = true;
   version = "3.3c";
 };
 "mychemistry" = {
   stripPrefix = 0;
-  sha512.run = "891a6dfa2071ef7b500844558728ebb5664c19f3ce4e2d004747f8bcf1e96356c8856506736ed48bc5b7e8179700544a760e9afb83694bc72d6ed47144e328ce";
-  sha512.doc = "4c07fe3db837be7a687d472e404276a5fc437d07a19f54ce9f19871c12c768e6791ecb98fa2dc2a0673595a0c9276b774fb9dcac2830c70ffa4e73842d22fa27";
+  sha512.run = "bf8fbe30dd3d1637db289bb92f6339545f4d52b3876e5a81e5153b4ac72be0b54af48f46fa7d1dbd5a129bc83223c53163a760e6cec0bc61101496b25b677f68";
+  sha512.doc = "7f9a9d6c6e0f66805dc37120a4c76787e60452067d9f379cadaf4993a76d7363553699eba7af1b9e507bab4e68e66791a5c93d940e6079521de5d1b7a83e5a58";
   hasRunfiles = true;
   version = "1.99b";
 };
 "mycv" = {
   stripPrefix = 0;
-  sha512.run = "16844ba3c43f97baca58d2c170e8215ba6d800bc9e76f2642a0cb41db42c3423f8dfaf2bed7220e0f28610a502c2ff1fab70ab72e8d0ec1dae5fc1f56c681ee7";
-  sha512.doc = "1bf6a8d67e7905fff5b587025d746e143343fb030df021ae9f793772f0f21f3757a31c1a116df8e2de995a5cfd4bac55a785b5b461a9d59bc644462a765b1e49";
-  sha512.source = "131407ced4762412c369c8d17586846198aa1ca3bd3184a9b2842fd67769ffeedb1a5a8f30fd7e6bcdbd06cd318ccbb7018d6474c498eca063e499012940b733";
+  sha512.run = "72e74c30c994441aac708e719e894d01bc3d1a6570863a589dbacae8e3c69f70d192abf7473b58a026b2859f7f10dfd1e56827cc759898248e3cfc9d36f37583";
+  sha512.doc = "892d0c10fb8a2dd9a65bb6fa4dd48fc3ea49803a7e633cd390427bfbcc8f16f6d213f9ef511c7202521b518db4c94bfdad5197c30b2c8786bbbb6c6f188293a7";
+  sha512.source = "56901df8931579aae3cc8f51e7c6c6542cca3b1b231512e6cc27b88104c39dea50026f0cf21b2b4251f4e1ddfe4119de7ddbde6f50bde743296bb84195fb5f05";
   hasRunfiles = true;
   version = "1.5.6";
 };
 "mylatexformat" = {
   stripPrefix = 0;
-  sha512.run = "6e98404607a9974b838611d5a5a431edbbece0c4ac11a2457aaf62302376d2efbfb245cbec9fcd55c15f8ee42997c627da38534c3c59e89d255b06db4cdc2aa5";
-  sha512.doc = "ba5c00513dc4d3571d48f5925f3e6fa11630c037d859b432e1240ab1480f219d68b18a8f63a68234f458a437017a6d56f0339ab8ac1e729ee8a2416b52403279";
-  sha512.source = "d4f7708682fe8bdf8a433bf0ca59c3a5fb76bc14415d3ebae8ebc9298676ae2f73804812912115f266b03b85e388d1ed7f969dd2895f06bee3e4e4d5fff3897a";
+  sha512.run = "476e2c739c9a99a53a9f6bb7eb32e6122c149fe224497cd8e777af0ebd139ffadfa792090d8673ff96b4e17466e918f9af4ecb7a12c608d4c33d4e17f2b26f0a";
+  sha512.doc = "c0754ef147a457e7c91b16a50dab2220fbf2f5385e126e796b1c65025f0fd998371b4e58d96ae72b8c6eb21b2030906729270c88c0914b1748714455e78d1bbb";
+  sha512.source = "4f172517cd3e0bec77bc9003201a4488acfedcbddbca217ecac4878d3df9ab86719c5d9fc645671bbf3a5d5b66a1c4e80f9acc01ef27c82a3eaf13aeed45f857";
   hasRunfiles = true;
   version = "3.4";
 };
 "mynsfc" = {
   stripPrefix = 0;
-  sha512.run = "49ab7c16e8eadeb5e328ccb5a34c6fb76f030ac6419fe0c855b44231dc91e4b00f4914de4dbf5f6e332e73eb63199df0871c1d282353b818668bf92148504c8b";
-  sha512.doc = "8c026b4961c17fb9d998c11e88ebde83cb7ce6ab1f433ec70acd29d085b26da76027895a1fff4acc883161d4a235bc4bc6a1ed7383a7bc907e9d0a6166023646";
-  sha512.source = "6a95b7401c8e8c855dd2a5521ddf73b88faa4de41a13eff3e226d4cca4b50ec5e42df9aecbeff3eb4be38d291396e0a6452eb38bd1b112935bd9248fe58f244e";
+  sha512.run = "fbf6a66d9e4f7863b380f6cea43c58bcfb54e458d56fe2867b3e1354cb2489d4a0576e6c392e4825023db33465176161e226d954bc12080722317e92edfb3d0b";
+  sha512.doc = "11b2d4647cac4aa2280aeac24abca47b9d92680845eba5a99fdf05fbcd4590760927495ef87b04900084ec64652a8b2e28263d4d1a26765cd3e027393f2d7417";
+  sha512.source = "4ca3be26449fb263e32a0302f5b85194e29b1c4e55012881a60f84a81a3498d82447934e60df522aa1b3e20ffc746bc78cba535e7208f88ddc46aa9831ffaf81";
   hasRunfiles = true;
   version = "1.01";
 };
 "na-box" = {
   stripPrefix = 0;
-  sha512.run = "1fe42f30774e8ee7aa4d5651e3ee804fd2ea8bc24190c61ed18d873e565b8277018da3c954586bfd7a61477703ec36015ae78d0a3e06488ffe28ef684488fcf1";
-  sha512.doc = "d1f04e01986d70c4a95aec18d5a1deb47e055d3c1b4875ca0c11ddb65c5a0d6882017c86e592db08d4119f7ed43e2ed10c0bf2d3788778ec66f5a15ea55bd37e";
+  sha512.run = "8b0659454d8324ca51c9e97f7957a3c14230dca0b4b8e047b961bad1b81d2a8b0220cf275bf84e9aae6a3d601fe93df3de94f603a198f6bea716064ae8675d0f";
+  sha512.doc = "2c78a71155eab3cfdf551830051dd360f6e9fc8085ebe364c13a79a1ebda0693d633e7ba08e31c356e46140c33bf3b190365cb88d944d2b3e8c0799ff68cdc8f";
   hasRunfiles = true;
   version = "1.0";
 };
 "na-position" = {
   stripPrefix = 0;
-  sha512.run = "bca96e4189aedfa1b626d8d891b48d4924cd34399a516980fc0d92840f3402ffbe09bdce5f7517e76f94021d382ef18792d3d9c5c04302f95bfc6f51a1b5bf80";
-  sha512.doc = "929db0310f829cd9b7e3ba11637e5baa6998d617e5c1ee749b1e215b9c8beb0697f20eda3719a93c2febbb7c0e42e4b7b7f887209cb854cd9dbe18debd2aca11";
+  sha512.run = "1f5d742e5fcfce8495f2c772ae166775151b555b1e4922615e5f62ce161a167969c8d6043d542018debc69ef75f472995f498ef9f3b1f094b97d5b986285b1be";
+  sha512.doc = "569a4c0a03c224195752a072581e4c8a2ec428fc4644ba66c43c94e322ac495137f52b3b1cd5cf40741c83937ce056e610a2fb4f4b02f3f8a73d43fcb3fdb4d9";
   hasRunfiles = true;
   version = "1.1";
 };
 "nag" = {
   stripPrefix = 0;
-  sha512.run = "6957f91612817783f035befa6a569376d1bc81ee4c14bcda6a94559df9d721e50a396bdaa7a71ca4eb491604e88f44405d3a4c18401f42b09a991e24f18b456d";
-  sha512.doc = "a8914ffb5a5e6c17d1293130bae26a08a8c232802bef52e04275662642e6f67e6ceea0c46e0a1f8c572d654ed23e5ad3b1dd380214135628103f221568bd4b03";
-  sha512.source = "e35d0b9bf5efec4cf11001b243f22c4dcc69e991f0f96f70aadb5a975acbf087389776a233a0725e46aec0f1f55fcac196d9d53588aefec5a7635c8a82c4a514";
+  sha512.run = "a2d239ed1e12fd1b082c8df5531c9b83cf55c39b13781aa01848f3fd06136a9522598abf9e63580a93fb12ad7c392061b14d5e96b4d4f4dcf8180180280224a0";
+  sha512.doc = "9a4859b67182b40428f720e2e955b591fd3fdf30acbe7c3214548766312833b3ebd5a046d1ca2e2b824e3bad95bde635a1cd112e8023395333cdcdb9cdf55ba9";
+  sha512.source = "969b7e463e6e8eca51af114ba51d538d0a1f7b9ed3cb5dfecab92ec7eb913a872b740b2f434e854a7c11b31c7b3364120379a5732220833235912e73ee202878";
   hasRunfiles = true;
   version = "0.7";
 };
 "nameauth" = {
   stripPrefix = 0;
-  sha512.run = "0915123ec207725310d958de1abc03815cdf51c68c95617bd610f53c41023c2fad4f61551e63348898e0d22b4f6c7018ba6f5298eaec25a649fb547adef3f41c";
-  sha512.doc = "5e904aa6d2f36426a52fc5315a5c81b8a4270ca515f9f9fe9eb4ac508aa77699423994b58c21ae7f444a20ef0e3d9a20fa4406180ad349042dbe753b3f14f4b6";
-  sha512.source = "d2a2c5a4ae07539679641694db1f2341e49e99d0895d9984aafe2f05993a4d25c44607b1600a6194778f575333c52698ad199d1596d298cab5ef69a05e995a97";
+  sha512.run = "e393937e84856a21433266f18f78d739036df951f68d21ff17c607206abcf6b77f32253be2e7a771f10f1f789df47fe6bd45f629417eff94b91ff9b4f7179f74";
+  sha512.doc = "b586f85eb88204670384a0c7559219704f92c9f03922f98ca01ae2a8206ba3afbd920f94374f3c62ea3923129708a2edd74bc9b79be0d09ed1c29491811cc2d1";
+  sha512.source = "781de5fa5d74cf295718a0225e5faa87c3f65aa7f42def1610eb43ea86371ee3dff406f7b7fb7ff5a1dcfba84671847ac975bd55b14ec15875712405d912bd9f";
   hasRunfiles = true;
   version = "3.2";
 };
 "namespc" = {
   stripPrefix = 0;
-  sha512.run = "7b80d2fe35c29e1c293e7954b0254188cb44aa1a9ed4b13b8bd58299777f61fa5391f4e314907b9059dfe6c9b17fd9e499d493743d5ecad0fd49bb9f09b10880";
-  sha512.doc = "2b9f10c6c4b52889a4b61f6b5d0753ccdfedbbba80a664069acd0bf461068eee737a00a85a12a2ff06984ed020ba5e0565df88a50ac764e2e0155896d3cc8087";
-  sha512.source = "bc3baf55f86bf4abbb1ed3f04f09dcfc12fef4e562736b5e667197c02854aac1d34a1b2dd2ddac19432468f106aa75c155d48b9c96076b6a8e68d49e01a64875";
+  sha512.run = "71ec09a2aee5f299e9620b9b90558bca11415cdbf4304d0e5777896f85cf4e30cc39508fd69ff831a86707e230cfca1773fd9a8bc50c37f310f8bfeff629d2d6";
+  sha512.doc = "4bd240f3ce155ea517fc267af1925f2e84f7af694a1ee4a068a2679d97cb6f97fd77f8812017e05f33c935bb54a34459a9deeaaf43cdb4ed69d792676316734f";
+  sha512.source = "33579dd40ba708e2e8a727f923f727f893f2f8e9562d369b1e025b50300250010d2829217a7aa72c1ee5781f3ed501e60b010cfc3cf3211b4bed1168494fa4ab";
   hasRunfiles = true;
 };
+"nanicolle" = {
+  stripPrefix = 0;
+  sha512.run = "3e495d68e20596ada67e55fa7d7273aa0bb19ac8ea41abcede5ee66da6870d3a1703c464c6a7e911b0a202c6062bf1afd7700755fcca0abbc80d0e0c8afd5fee";
+  sha512.doc = "007352388b415e597da827b25c2b8773e64fddd1b2910639139add09e07076a0f94b0a70422f1ccce0c00b7b7ed5f6534a8467e5257dc4670819dfb5d9f61fda";
+  hasRunfiles = true;
+  version = "2.01";
+};
 "nanumtype1" = {
   stripPrefix = 0;
-  sha512.run = "398b8cf3d14c8a15b1568f095233594c96fa1b4e15605b1bedae93f442886279e63923047d5481458bd567babfa92ad3b53a2039523a13ce87ab029782e6ffa3";
-  sha512.doc = "61e36e9a299cab348b9c806bdc1992710d251034bdf112528492279075b0dc862cb4deee35b97aeb637fe0adb5c82473b5f61290aec7a21d5f8f36b66f6588a6";
+  sha512.run = "fc775dae204d8f1ca7e05005ccba0bd568f00819519d34b2282028d7f2b89b9c1f9a091ed192def7281de97ea97c75b9327727489e8ff88585bb97cf5e8b8f10";
+  sha512.doc = "ff0bd0bcc32eb8166e7bff9d440692a3c21c5cc7fd7b8139b472fbc2e079cba0591d162e2a81090919990dba31d1e04b57d50c35ac1d0670ef9102c64abc88ad";
   hasRunfiles = true;
   version = "3.0";
 };
 "nar" = {
   stripPrefix = 0;
-  sha512.run = "21aeb077ae2f4beb784bad979b7ea27069548d0e968894b190ebf23c333180da56bfafb2b9c7e46b0ac135316e0c04d187c58331f546765c599aaed42f1d260c";
+  sha512.run = "212f1a002743ba14eac41de05a88325533db8b25d9f12b141064b9aa98f78dd5c28caa7cdaa4419829e6180e56ff93e42b069cdebb52fb8ef40c9652b8a23c79";
   hasRunfiles = true;
   version = "3.19";
 };
 "natbib" = {
   stripPrefix = 0;
-  sha512.run = "f6963760f4b2b025c36a4dc89aefae1d4ea50f56a5da51b22a37004d585fca5d2184ab917373dda9770877fa0a06b83f62ada1564dceb141bd414f2d0abcf43a";
-  sha512.doc = "c98df2529a88f3277f9245ef8666dc415927053f172d3988480d32314e717dcb32516aaace87a9e6213824d4de14054f81f87b7117d9c91f1aaa7a2d9c74341d";
-  sha512.source = "484408436bc66654c81d5471048bc55987201ae84c9d453541a5d0ee4b6e00071d14712f3a8d89c0b9348e76e41140557ab0c70442d6840db00594c32ad3eb56";
+  sha512.run = "7e78ab76bd86a864eeccef86a64fb28b6b063d5a12210da80f0c5a5608df429fc2939580b88263dc50fd68d841580a12358617e20a0048ccbc9e148ba04d5f26";
+  sha512.doc = "afe78103a6ba2d58c6f6ba6927101cb481abb1b028c4cc09dca59296d30978c636e837c248eb4f8fa44aa8fa7f6db1e1b6855afac9d99b0cfa030dbad6e59edc";
+  sha512.source = "ac850d6b92e7cf538f564d052593319ec1b1366d74dbf86e55f0c59ab3a01ad79b780378e816289aedf9b645774cbde56b7d186abafa8d1ddaa6c32d676141eb";
   hasRunfiles = true;
   version = "8.31b";
 };
 "natded" = {
   stripPrefix = 0;
-  sha512.run = "75150292f9d002a14495b55a6e1b33dca5e20db60b7557bd1286251615f396c2ed1cbc25682afe47568b3d7b47c247c3ec4b2086bfddd1a9ef459996d50db0b4";
-  sha512.doc = "c4bd2f734e281901e4ef0a6685d3f4a13f432ef208acbfee2909b3aa0ca25b9e013920389732c6e5df407912890dd9f49755ea0be06374d806dbdb5bef8d4ead";
+  sha512.run = "85568d2bd3b729cda5e4512a2e3309353e7abdcd6a02ee3f86e07bf65cd74ca9581d7b2746d582b704a116313b77cc5ea94f19fe0d233a3b41c4ae88a8704f12";
+  sha512.doc = "5cc23aaaf6006c1f77d676ad1f20d3a62d9ac8d8be6f41e68085844f6060d570baa04000bf3108c975add502c7ad62086509464753474a74c43d045122b28294";
   hasRunfiles = true;
   version = "0.1";
 };
 "nath" = {
   stripPrefix = 0;
-  sha512.run = "fed2ec738a13b18779566ce59fbf7bc1dfca12e9da7f5056053309cec3bfdb412f3a6d2938c1a43436f36b6976465e3d0d662c89a98169364bd803316ae882f1";
-  sha512.doc = "a223fd508230d1bd656e2393d50c7d6bffa81fc9a0bb2d98ddaf72ad7f8d5395a25f0dc83105e1beb044ff78b48a5ea098b88d1f8ae3c5b32221d2804360c0de";
+  sha512.run = "2eed9bc55d9d994df8710703c5acee9fb07d8c9732288740cc3c20740bd8db1e3d22617886818ceffb0346110dcd0dbfafaf192878500b2865523d00c6e02bf0";
+  sha512.doc = "ea75b3f282f81963484b2f6b29513a99f3153f222931dfa811deca40cc79a814a225a0a79e67237f53e3aabd33f7749095d3c7fb8f374ec802ee054ebca291d4";
   hasRunfiles = true;
 };
 "nature" = {
   stripPrefix = 0;
-  sha512.run = "4cb8deeca6070d5b2b4b1fdf6769cd59384bff0a8be4e901f516b3882a629202424cd7aaa28c25fb92ee69ddf3718475fd5c7518d9c6797edeba7537ec4f4124";
-  sha512.doc = "727943ddc96986222843ae5135679b4f790e27b6e75d6fbb23724732a5b83a34aa8c75fa9123974f9c777c9e0a4728c28557e02ec0d3f34d24ad0dabd82ec01c";
+  sha512.run = "78b6e945642bf2073e49acb318a0ff78c1ad24d38c28133b08d5e2881e6e5ee2dd6e8634b467047145dd72d08bfefefc631fd81c7e0facb590be2f9f4798ff6d";
+  sha512.doc = "cac72025fbb65e32fff8dbe3a457e28b2953ce2a14b9359b93724073d1c56761524f2e3200f80aabfea1aa0747fb010bb78586978856c89348fcb255630e5d9a";
   hasRunfiles = true;
   version = "1.0";
 };
 "navigator" = {
   stripPrefix = 0;
-  sha512.run = "db78b3bb973c11b66da55709010e4185fc1222cfba604d9f546130f8b1d0f908896d0114186a96c96fd73ae1660c0d1aafcb65434256e7d1d4b18297f88ef12c";
-  sha512.doc = "f04d3bf6c4eebe7bdb2187a0fa8dd96acaa3083e2ed00a90246a2bf93ee2c0afe65c07c4a106e57c98201e724e22e4a990fd039d0bbf575332dcf772df54806d";
+  sha512.run = "868f3c08b71f670010fdad0320e4792929d31c2be1b29fbb38da518288596dc299b58635ebc8e7551b9191954b76280e87c47b1eb3c4987fbae3afcd133a5c2d";
+  sha512.doc = "56605790284309e8b6432152bdd6765172e9e7c9c6ca88b07ce5b4b19ac792df21879999a47663dbffe7b3dfcf6da0de3e8f8399cc65fc96dc2e8e3a57350f47";
   hasRunfiles = true;
   version = "1.1";
 };
 "navydocs" = {
   stripPrefix = 0;
-  sha512.run = "32c697a6ee3fdc77c669f7fa8da5f55a5158dad8932130183988abbe6fe84e842895de2d36ccf3768572663212c3216cd1664db4889982e8d0a9748b28096b6e";
-  sha512.doc = "dad7821a7e1ff2dca76470c535334be8c4bc8f2b9271f3c4113630fc97954fb7e1cd85b688f9588230edc9b53119c2e04d1ef30422635a38b4f6f031be0f0b6c";
-  sha512.source = "25127ad0d659e92c1b3ee051b601a4aca0dfe26fccb6013cf35ff38b052380386e395bed500b36556b7356286ec6312a9720e385610a6282e19a3564394a735e";
+  sha512.run = "b1a5afb90babbdf8fbba1915b88cdbf30a0244d8363c25dd9ce33bb153f9e8e0437146d9883016a40b1cf55c1dc02a06a7d2b72947326f5dc13998beaabff923";
+  sha512.doc = "2122252986f1fc852a121e09ac4f6a6a6c23f9227e374809f2968e729602f6d870bd9293fe1d456c4cc04aa48ee01361d37695c7290bb047f2c8f9a41981d3d0";
+  sha512.source = "aedc1a3bde2379780b1042f9fb103081acde19e4f76f5608d0382756b8f9bf0d4743aa3aa66556bfc9240d2044336a609f3b1efbf0b4780af87b66109293b225";
   hasRunfiles = true;
   version = "1.1";
 };
 "ncclatex" = {
   stripPrefix = 0;
-  sha512.run = "5968654afb4f740dbc3d22bfe83c455200a8fe34a17eed375119ca8acf5d7d990f6689b1bb5ea1cde70adbb0a5b13525ebef2061fe6eb20a964a480edbf1f641";
-  sha512.doc = "a65c5f3f1c270f38f6b29ddd7b5764b1ecac96804640b336231677d01f7a00f844ad19f6ad971f4a14150a34229098a51a98ce0a0c63cc9198c3dec483f1ba81";
+  sha512.run = "88ec3d2c350521fdb978734d32bb7eb9bacee0ecb95ae051d7bb039cb86e6dd1eba3b4ae93881ef8fa2623e99f6dba9b126373f181c4668176eaaafa94aa992e";
+  sha512.doc = "e9c08ac08ee2316b07610bde89aee98289b937e8dbfdc86b392cae02037632d6d303c799f74f381f89a6bd4f4397a8c4d78025a88b8fa4ebbce4be663167f2ce";
   hasRunfiles = true;
   version = "1.5";
 };
 "ncctools" = {
   stripPrefix = 0;
-  sha512.run = "b7860f8185c045eeb12fb25b2f3d71d4a795318f239e0d5563370ea55e6b74d3f7fe9b66397f329d572de7c33582a0528cf9b934fc30d90b5a30f85d7a928aa1";
-  sha512.doc = "9352102166682f1ea8d7eab9b9d38e1b243a89bf0eb12c9bb0d5b07d535a97c8b763c8e064f8af2aec96b2b9bcc017cdf0c964fc1a3538efb8ba4fc2ff87aaa5";
-  sha512.source = "2bf1a0bf50d2e449a09ea0814205ea779d2cc1af2a15c4b1326686e383beee80c8d723ae974db1588ba596b2dce5b35bd5bb17c0844b4a0d81629800f691c9d9";
+  sha512.run = "f7ec6f6c51d2a4f071b85cf28299a4a11eeabaf225c85cd0144bb0971ec3da44ee9aeac7cdd7501d258b7e8cf25b3e3484cd60dbadf0ff3ee05767c713c12dfa";
+  sha512.doc = "a594e74455024dff7d38a8a750ee02637341f84d342a83409ad0e20a1b0f292c370e16c1b267c2d6a58975f45a6b4c1092c8518653994392cf4dc08fe8553644";
+  sha512.source = "9fd3fccd2383ba6dd9f32766fbabb5a2c108c335eee1b5fd6dd11d93d5d6944bed22877b640ea676bf9721a69e34f0500a3bee131a4bc65feafc348207d131b5";
   hasRunfiles = true;
-  version = "3.5.2";
+  version = "3.5.3";
 };
 "ncntrsbk" = {
   stripPrefix = 0;
-  sha512.run = "58adffff045364afc9d9c04b5bfbbd5b16df8df002648057ef026971e7f33c3aa34293335bc1ab10f6e1190b5e38bdbeb6a4db52f5df9f55a0bcf20ac7b08b3d";
+  sha512.run = "e023d0a407f666de1415728a90014041feb5d04ceb1007e8fc293452ecef1b9bdbd014adedb9e25993e57c0196632b1413ec19893f4c37c26a8e8e42a20a9de9";
   hasRunfiles = true;
 };
 "nddiss" = {
   stripPrefix = 0;
-  sha512.run = "6509a5a7bab6f1698d1cd870f02fbe541479b7f631689ad21969008df3e6357542b2bd087c94fa3b7f471713fb361c54cb3b18c2b9ce81b9a8af9f280acbe594";
-  sha512.doc = "8c4471d989d15ba37fea0b92abf25a15202eaee7dad715bb4afd219a8def23d887b618ba9fe7cc0887ad99b4df5068f5f22d13f468f13fa209f5bd902eb8e770";
-  sha512.source = "255ba4a75d31a578b7e1912c27be056e796b7c37692cf3ee71a6e4482a001b7299b3885a4997dea73e6f6cec1fec9ce9c4f36a270baa51ae1bb78f5c17f4edef";
+  sha512.run = "62f951bce52bab564ab2671bd5d019ff9f6f5ad1d8a18ae9f8b574226aa83e4d3a9c6c931f4830f71c43499f68b8b06e539d55a027e712ce4cd2c03e349d3fd1";
+  sha512.doc = "bd92c614f160c50a22ff83d296f0e511909906459cfcb7100c615170ee9fadbd38ba032bf95f7b25a083cae33c80ede96964d3b81e23c481fe5a836d91967ad1";
+  sha512.source = "498e13f4e4bbf8e2133870854f75feb5617a517b55593ab90c203ba860f95599ac5b010bee58d4f35706a6e17bdba54c66e02e04281bb548e62b335c576a6357";
   hasRunfiles = true;
   version = "3.2017.2";
 };
 "ndsu-thesis" = {
   stripPrefix = 0;
-  sha512.run = "2b119038c570eb666ce5040d3b507233d8d4b102f19c6e79df4afc3e703ca006ea537705da840810c430d88fa1bf31967348202c4b2447aa5a9f1866720a12c8";
-  sha512.doc = "3a700a9719b740360c229598d873b0b453406c360984272f4de16f1b9422333db20962c6e19f9d6d0adf37fd70488544106526f944fa7ac415f3e2482699140d";
+  sha512.run = "d79b603726abaa506ec0cd59c30e4c341839c1dd6f7b7aaeb536385d22d69a37d764499aba390fe7e1efc6a6e25ae6dbb7e92bf659a771b6f4d6ae3b5a2c98d9";
+  sha512.doc = "8e93554ef50d43562d1c42fff3da81b77b4ae444d644e5b1a818571e80cef88a2006f1b1c61c320e467724df7847be50f4f3ec1663bd767261720cc1a80419ba";
   hasRunfiles = true;
 };
 "needspace" = {
   stripPrefix = 0;
-  sha512.run = "92a40bc763d8908426255ef02829477b3a11cfca058ce1849f04e71af206e4747ca26144dd15bf2004380e524785a690e4003f9f01c9c0248b54696b9c7f2588";
-  sha512.doc = "559cbec49d49cc2ebb3f2cd8346bfc80675e3d55e91037c3abe12886f04dc1bc6f8733c91dd28fecec2119b3d6bca70695c9ba37e68afa91a270866f5765d30c";
-  sha512.source = "82c99a02400cb05f3e2f92ba58fb23fd36febb03bd68b859d88d7e36f76b8cd9e510834d92d72ad52fd740ad6c1ffa8bad71dff41dc7794704d4eec01374479e";
+  sha512.run = "663b2ffe30b1d9a588183916ccb0e3fecf3098d3e67f2a40fc49e1db1e5c1a892bfb56eb177bccd923415dfe51d4a225e2017be3b2f3f7185071836cb2e04391";
+  sha512.doc = "3af05a6704a8d3c9539cab0871f9f9c8b7a241549c1b3127dfce2a0eaf77b87d54fdafff4b2749eb4614ad9aba45bd2e3d695a92243ea30472e62f7945eff004";
+  sha512.source = "a629e9b798ab772feed1e66b773fbc141b0b2c2cb6c336acf61e8e3884246da1b36f90260fd47121e53e552f6569528e81ee788b6d1779c9e87eb54517a2d787";
   hasRunfiles = true;
   version = "1.3d";
 };
 "nestquot" = {
   stripPrefix = 0;
-  sha512.run = "115478855b7164ad723afb9ad905b74ff26eae8e8eefccf345a1a774ebb1c200cd6386896606a344ecd4a7178a0a8c5b1e45d592b3a18615cae94e06800a4d3f";
+  sha512.run = "cc75905a3423deb02f226340eeb6a5f97d9d83470f156bc75cdf39569da845279fe8d4a3907fdf269bac75e7afae02faa04dea367cf0326720301ba3f1c31395";
   hasRunfiles = true;
 };
 "neuralnetwork" = {
   stripPrefix = 0;
-  sha512.run = "6b14a5930a3e0a608602587d0f4a357da87cf9b4abfda04f7c916725d069ddb67b0495890decc366edbb271c4e8cb2760741446ed09060d540162401e3c7ac4b";
-  sha512.doc = "bbbb2f0cb508f6c9daf2f19d857447518a4bed1f547d6e12f5c7efd6a92cfd9065419140668df0817571fc9f03ff512dc94b76158781fa83748d16c0b94c83cc";
+  sha512.run = "ba66b86e10f4425c063c76ffcc97759863677a673960255d5c335d215ff8c0eeb4d0f12fdac584ae1fdcec00ab04705cad716ff9290f6b1ca9c8635841f580ff";
+  sha512.doc = "fc2cda90284e4360c9dd9c03611f582c7c4569331a3bf04d51152408ff8533dcc1f398f641ece389e63f9b7dd12ae471c3f6b5d8fbdea5d206afb1ab15df4852";
   hasRunfiles = true;
   version = "1.0";
 };
 "nevelok" = {
   stripPrefix = 0;
-  sha512.run = "b2a04fee4e10efe9d23392156922f34558a6f1c28900c8fe292793a82aadb09334142d124c334ff0a493d8f917197587c27215a4d0628659f18b132d20b46022";
-  sha512.doc = "c92b44f736be87dc1e0fed530e67d437bf0a389198fe566eb43126a6baa2b6520aec66e803c765e64c1c6dab99a7af1e037ede4bef9ce1ea1d9df0249fc4cea0";
-  sha512.source = "43c8c92daa96bc1942adbb02164badab69c05f19a52c7e292adb46a501626cc1c55a4ce4db66e4c964cf664e7ea76fa48be5b3356c9989466504761c4f1be5f3";
+  sha512.run = "01d207fe9d77df0a225cd5fe718f118bc755c1e23c9dcb2bc4e0b4c2983205469baeeefcc195b150cc54f4540ea71d96cfc393fe61a32f7e85d5c9b5944c5938";
+  sha512.doc = "653fea96310508e8a30c76821d1cd83dbf579052fecbb8c859d40cb39926d24ae0141b4788901b34b4839615b33d5995eed2b6a27f6abcae981b9d47b6ebeb34";
+  sha512.source = "455ceb971d4617b096bb2d1c42fdb487208e8c6ccb3fa94869df08c9e89516e0f5c9e5513b0573d17929bc3284fa41ec19ef092ac7c7c99ca8a7f9e63a1559c0";
   hasRunfiles = true;
   version = "1.03";
 };
 "newcommand" = {
   stripPrefix = 0;
-  sha512.run = "a3073abb1742218a971acb1e87979f9d7b34a0328a539ceda5c4ea13b83adfceeadd79028cca77a86229710fb6475db984f0b325d6cfc5744ec54a9cf74f3ee0";
-  sha512.doc = "5f461359b43cc2d20724df697125be712fccfed8162cf28f467d40b8838e8b34365039d31e311427d565120ab025536dc9ee7691aa84146ca62f6151edb036ac";
+  sha512.run = "e4716ec35793f0ed4140ed3bb221bbaedaf121b2529dbde5114a575bfb8aa32a8fc56e79e43068adf560423aaf68c5f09dd5d6b624e37005bbaa4def2b280060";
+  sha512.doc = "84f71adb1cdf4213f34e30a2737f41c93fd0e8ac4970b2adb832570c98c5f3876502556392fa077a8cb647a552a8e914b2a30e4e38a039c355802e2c85c5f3e1";
   version = "2.0";
 };
 "newenviron" = {
   stripPrefix = 0;
-  sha512.run = "19fe6f74363a353252edcef9894ac93f37f03dd507d5a113a5c9411c3a333fe6dabe2a94d0cfe9e11949b959d65996f6ab22ee5ab0518ceb2962987630e7d3c8";
-  sha512.doc = "ccc086951b0ca4821d47e58b4397a1413e83359cd4df29ff37f8dddb172b6a60b45c3e6846a4348e337a463d656bebc72c947945ede385c88783cd994fd5b3be";
+  sha512.run = "4ddcc24de158fb1a5b585c65adf769c3f92c4598355306e08257f4ef62718c6ca7f2dea80d742759601b37133a951d031445a39ed5d8062496459cc2f98a71b4";
+  sha512.doc = "cadfcd8ecc9c0904bc9a45542a24c1b6907dabacc94f45a1ed1b885557304a27e7e836b55cbebcc6130da0bffeff7c56fd89f0b7a16430dacccd670c8c6ddc7b";
   hasRunfiles = true;
   version = "1.0";
 };
 "newfile" = {
   stripPrefix = 0;
-  sha512.run = "ea4deee4e8012836afe4edf6862f165f3cb294fa1e9aa9ef4a269d93e62073c47caa31e2ef9ca00402de2570fe0923b8faf1ce2387ec33a81e86c477ecc1463a";
-  sha512.doc = "2cb3c7c931939299d6f42e2c2a7b96bc30aba12eea3704fe0bf79d9fede643275624a4ada4f1b9870125dc8eb943a0a5ba94faef54b3f54371a3058898a62dfc";
-  sha512.source = "df89b5b48a04c46a326e892464cca3d7dbbd5df9137c6b48111d2574adc7f678d741fb13eef71f0f6de08766e5574799cb0f9b52dd2e166130206b6bbbd7bd90";
+  sha512.run = "b949934073af1aaaada73c93e493fd39ca01ad625d72bcfa5df915b2c2f759a39d77b7c2a0a952711c8c3e0af5e6cca59eb7f333fcd27e7232c3780ad5400ec8";
+  sha512.doc = "c2c0e825ae7fee4fa551e831c822190f7682392d47bd8bffa3ee947900d6eaf00a363edd204f7404c834ade0bd5a05e9bb0a8284f8c660eeddf7f75179c0060f";
+  sha512.source = "9cc5d4e1ac98c2884af3a2e5d11e9cf573660679658450d0705d6d0c4004a8994c3b471078db8a6a95527f5aa84b3a7ea18a1c00b7cdcd9169fa1cb870a277f3";
   hasRunfiles = true;
   version = "1.0c";
 };
 "newlfm" = {
   stripPrefix = 0;
-  sha512.run = "17a76c4846a855861719232700f5a009ace80a92732da459547f792873f512dd664a8ca8e795e9a0aa8104dbe80a9d6f379bf2541d0a5f56732f85a0fc28b87a";
-  sha512.doc = "86f3c197c410de4439cfba37bb9e62a519d58a438c804eb8d2b2714762df491a1934dd90c1a3e752a9fbce633adb5f23ae75b7209864a221af4032dbd6b0555d";
-  sha512.source = "56b5bef7787e953df41d73851bd5cf747f151b4c027a9bb9b3489d0a7a4ca8875754980329bea5a7783a056da5ee2223dce75e403783e529ae174f07a1d3c7df";
+  sha512.run = "72f7b087ba1002541e3d26d5b41b58380443e30061b92885bbd3bcc017b17cbad9227c14074a53706b98c785117c7b07c6d49639c84c617782066491dc0cabf5";
+  sha512.doc = "8391122e13223055582bfe0f9e6d62315c9a48588848ab02cebd5b2d7045be5f1d476145e8ca29392820d4ee018b9f84380408331b3ea56e7e99071024a8c369";
+  sha512.source = "fa807aaba787c52d3e769e240a04f5fa23e469908d2eb5a60967e2b08cfb7a694612e85514a56c3138925ce2f3c480bd5b6d0f701031d8ee8e646c3017cd0022";
   hasRunfiles = true;
   version = "9.4";
 };
 "newpx" = {
   stripPrefix = 0;
-  sha512.run = "e1d60f4176798a4efb0bb6a810913a6fc6e23a72abbd83a6915beed7474cfcd7d18b1bfb3545c961041ccf9c853121ad932a792c5bc8869c7e73f6189be8f37d";
-  sha512.doc = "d19376765521920885593cba5a0ac4fcfbb3ddb84415ecdbff23625f7058723b1f6155a348a4e44810600c4a5ddd05a3caf5a5755cfa6dd267cf0ad0439fc7bc";
+  sha512.run = "bd5b9831b0c42c3d3558081085ad469637390d8410dc65ef622bb6cc01583b8b1d7da3b2a6c4c0a1409e1aa15334ac3f33aabd5666dd986c9168203204c143fc";
+  sha512.doc = "4a9a94af1171047411df91dc6a105f4fad7431259fd3035f61fa34b5611999486ccd031b1964b367d75a36bb77a92e7a368681fd2e6df3d9160b22194e90e1ce";
   hasRunfiles = true;
-  version = "1.33";
+  version = "1.403";
 };
 "newsletr" = {
   stripPrefix = 0;
-  sha512.run = "911147a1ed8d7235d6ef8143067ec36b20e007d217080eef750125a6d7ce0322d1c1a09e3b89e0635a780390f0fd39a720c904d51da18da8914adf4ed6c64311";
-  sha512.doc = "b1d62301281bcd752f7f90be2c8874e024cc85bfcc29cf071a542c09b57bdca863dce06a3dfcdd01bf941e42b9c0e0851a104780754c3cd67fa0feec95ebeacf";
+  sha512.run = "e2f1995420ed7b94b980fd794df5dca89e89dd96daefa43559d568881ffd17668717de1baaff18bf27e8519663203e0ea7fef214b8f7541bde81d436a3a5c378";
+  sha512.doc = "aff23fd9e3397c52a1566930d6da6184786f07adc64c63e5d9e0062451014d261db8dab06e9d393cb66b3b56a51b57f494f01c9ab27b05bbe2a226cd4623d590";
   hasRunfiles = true;
 };
 "newspaper" = {
   stripPrefix = 0;
-  sha512.run = "9f3ef522c55c2623279801dbb5fa92e41ba45b1b74ffba1d2571a82b5a6173cfabe35b13deac3c1d9a49614802797a3c54c12bfc4abf06c1fd2b647f80b33653";
-  sha512.doc = "95f37bea9eafcfe37c102483e1b8d7d5284316b9d5ceeb5a6185af89d505dd7dd68107a4e90839a10a9d64a9c2e9123654ac003272a69e2c4e488eb753b0b020";
-  sha512.source = "b3c904af397bd8241feab3e8eb04170ae225891f005d3bd87adc2a5bf9d01c6a01decbc3ceb67933aa4ea3dece25a1cb0880e5102cb737760f3102fb7f89d105";
+  sha512.run = "227fd249bba9deea4f191c59060c49d2d1cb8e367bb3007d3b123c17dd4328206962946ce3f637c8e6ae079a9c95244ce9027b0c9f83e0901801dde066a0405a";
+  sha512.doc = "b08d57346ba93e37e93f3c6e2487d56a0ac67eac0e4d9db564d221319e6403a1055729a2a1e43db4e161877b7300aa90e1853d75843c95295481d7cfaa3f6c1f";
+  sha512.source = "172e832bd15e8aecf6f80f8cb768d2d7b3721975638007ce631b78cf5f6dab27ef24ff63f5693f5c46cc430bfecae577beefe4fd2f6fef22d6f5fdf9ff20dfe7";
   hasRunfiles = true;
   version = "1.0";
 };
 "newtx" = {
   stripPrefix = 0;
   deps."kastrup" = tl."kastrup";
-  sha512.run = "3939fad3b083885fabea65732b8da5dac0595ae0c125fb6a30934be403d30f835a0cb5b1371714842927bcf31d22162ec2e260645f2694c76630f08e04762dfb";
-  sha512.doc = "e0f19a948e33a95fb6938fd70efb6b26e422f8fdf22f035fbe2b25a44858f155481109d6e3207133040db0fe807070cf6cb31419dc0763397dd282c685a665dd";
+  sha512.run = "c765cd858ec698cec72819e61f04fc75a53aacbc2459af20ff1c0724093a41b0c1dca17168ad46d118adac6f0290757c1ca4fc996fa9bc2a42bb5a83bbd4e10e";
+  sha512.doc = "494520dd7654e414d430b77acba7fd444ff429800e0a98bb2e4af1ae2f4472ac12d6b959575f5c9e821185cbbfe8703f1f4d8097ff890056cea185d304491422";
   hasRunfiles = true;
-  version = "1.554";
+  version = "1.604";
 };
 "newtxsf" = {
   stripPrefix = 0;
-  sha512.run = "e28a38e32511d1a44f95bb577470379c8f74ee227901419275a3039e855f4fba3918905ce30ffe93b5eda6000d486932f43fd4b869af8191c3f7d9dac51d8e6c";
-  sha512.doc = "716d413cbd4571e2db0af0455eb2a0e38b798418631be9651b94687ed0afcae9ecd093f738b99d53d0cab5ad4b5c215f544f630e5a56de56134c8f7c57fa8007";
+  sha512.run = "ce1497bcc316b555b47dcab2bf68888fb580e0f1252fa1e1f73f2b3cfad2b9754ea4963ef0c39b967ac374323b6f75cdf28d0d25f93212b09a1e66bf90976c51";
+  sha512.doc = "426c11211d3f66c8d87b1b2522ed8bd9b2ed0e4e006dac4c0751d0b479100e2cc1aa60ab2c32b8e6362b767300f568ed295bcabf4a86c51f2ada7ea868483066";
   hasRunfiles = true;
   version = "1.051";
 };
 "newtxtt" = {
   stripPrefix = 0;
-  sha512.run = "9e3b978a977044ffa33a025bcbfe6351295efe3ef875d7f93b1aa34b430c931c21a91503513b4c08b880e6af88a744fa20e75813fa4fa637458d6699c166f7a4";
-  sha512.doc = "50f4064c2e0067893e487a811f5c093772616281fc8e163a6079296c251ac42d4e307a16797e6dd58a9b66999ca201fb29c3d2b5dea3d6e917f1bc58d3375f58";
+  sha512.run = "95c25791796b56eb6e54be98c522861d3704e76c3d2a88c871fb88c9dfca616867a8cb839d8ba9f5b42e03eddf6d27f37cf91bfbdaae5aa13c4ce9fa681be9c9";
+  sha512.doc = "c4f9e344d0060b569e7503d12b1021bfd68bc58842778d2d9c4014b9f70c10a9a23ebca6495f2acac358a4d6d5710e8db48dcf445b3be5d278cc9818a57bb999";
   hasRunfiles = true;
   version = "1.055";
 };
 "newunicodechar" = {
   stripPrefix = 0;
-  sha512.run = "2f235e5a9fc85969b509285e81a40b87ad1fa0fb0b03a65e2a695fc673a3cb0bc12e3f3bb17f5c3082c39332264ee38fad065254f4fb5417de62ea0f9e38dfaa";
-  sha512.doc = "75e0e692b0e6787a3614f559281067795ee3ab6cb7f75b6a001d3f1982d52a15124ba3658e78d390665d8bc3240d153dd6766c1aa8922f19abd315b26e7db93a";
-  sha512.source = "fd9a3e7342b82a9b7d99bd512e0696e92fa6f9bb61c74d841c7306449f5ada5f4f7d8969cdb058f2a7c6f05ab5434ff30923af4706c330c40f54d30d6ee28a1b";
+  sha512.run = "8e1748abc585f51033a857db126c4b18f0c42e015d7193f8bc7b69493fb13a218db38da97f3a6733df01dbc247093beb544651a050c5a690f3cd5479c4ad9e6a";
+  sha512.doc = "9ec3bdc81587e8b2553dd4ff45ca4ba0bb504ded0726aa44d1e88423cdf425124334d04ebfbdbbe57b576b0fa52cfe1771c97308f146ea19d89d41eb4475eb9e";
+  sha512.source = "0464584e516c8f5d9c7ab4db114fbe3ea9e07d33c1544109ebd0d3b25e4e3ddac222dd69b6a8222e290ae2b6a7d7166a76b54ff9fbe7ffd5225368986e2af6d4";
   hasRunfiles = true;
   version = "1.2";
 };
 "newvbtm" = {
   stripPrefix = 0;
-  sha512.run = "b9ea7ab694c347f8d7abf010a0e987f951df5a751904780750f8f52ad58fd30757056100b7687144eafa4ad10b59e1e19c5cb803ffcfda5d4d4b3ca98b836418";
-  sha512.doc = "b109ecf9dde74023f3fe675ec3bc92a8e05dcecf91db8d6d221c773c1e3d73c002588d95e982722b4e063ef29f841c5d4ad44c661bd2df447ee62ffbd04e0f14";
-  sha512.source = "2757b352d3c7e907c2450800c89ce2cfcba2e4dcbff863eb59998f34e4338a7613e20f30ed5922532062fd8c0f3d879eed9801c6b6eff6a88557b92a6859bc25";
+  sha512.run = "029829b1da07d7e2fcc5950c32021707058f3d7228f6ff82404aeb962663277ed107934f04a93e7f43bd7b67f7034821437f3a8116f21028b7c9a154449ea53e";
+  sha512.doc = "dda7ae47bb076f03cba83438c573405f1c67e5407d83fa0894e9575952c284010b62f62720022ffb7a8e723e829610d1e8ff6a8b5098c92207e8ab8755dcb409";
+  sha512.source = "8d58e55977d708c8e3fd9ea6394494f68ccb21712703b2302355234d12355c23de97cb392d7ceda95bc078ddb2cbdd2030461b5b4069805d4ba01b5e3a8b8f59";
   hasRunfiles = true;
   version = "1.1";
 };
 "newverbs" = {
   stripPrefix = 0;
-  sha512.run = "00e959968ff1179560727cce60694d9caaf52aa707e2363974036c6743e786161bc0d60ad3ffddf3b0d71b0cab7f418f5c580585e30bcda4edf6bbbeddb36af9";
-  sha512.doc = "3a53fd7f38f7e228acf25bee3335060a44d70ad7781768a2b3d76ce6fee02e4bf00a4281ad578bc12e4c98240e0a8eea33e1db59e85cf7633338f1fa7941824b";
-  sha512.source = "4b279fcc44af41ffb817a0a42d43dd92c191444bd6ae2ff99c302d4bffe29f6f86572b9a0c9a00b9f0a905e4653271c7a9f039b6a0e4634a1c2c0faf89924c39";
+  sha512.run = "1a076aadfcc8b82d3b003c0f7bdcf17e3c66aff17c7d1c3946fda3d67d44e6885f35f84033cbc1cd8dc3b0c3d90aaf63ace3152fb7619fcafa9d1899c45140d5";
+  sha512.doc = "0c29b76949918fa03f4e4b506f35ad9d0cff6036702330d4e7771325869b7f5effd4f562dd2416d7c15d704fac60efa525f187ebee67a29d728a0d2490d2d266";
+  sha512.source = "d5869de6c0ba7dae4ce3ef4573efb43eea0e769974519085b26a519174c3c64481775385b0c51365464526d304424f9ba86949c22e42af1a914e9ce62c1bcf2b";
   hasRunfiles = true;
-  version = "1.3a";
+  version = "1.4";
 };
 "nextpage" = {
   stripPrefix = 0;
-  sha512.run = "7d0209ba89f277593c9abd58fcecf0fac8face75e84891f86738297c4b546c0df5dcc74f986e51b6f801b05db441e927647794893dae801210b099e94226ff0d";
+  sha512.run = "fca0aec60c5c7277dcadb0f86d757617484d700575fae13df8b386775e153ea89c52935ffdb2448c52e351593b396fdf3394f5b97e23a0d2d40dac339e584f59";
   hasRunfiles = true;
   version = "1.1a";
 };
 "nfssext-cfr" = {
   stripPrefix = 0;
-  sha512.run = "f02f616f2be081b5622bfbaf05a55b1980bfe6a86d3ff6ccc5f754010057758798c9a32e47644f95179d5870be51ca30b2ff6cb82b05d95a8fb251e6d3fa3e4c";
-  sha512.doc = "23ae8b56b7f963275f32ba43f587a47b1908119392b32d044f8a833bc18c63018a4c20c4b73781a2f071dc7480d837c5ce18f5208c6e7777eb7ab6ba65af6b02";
+  sha512.run = "5083d4ff4168b857a7391855ce02ea354cb17a26242a3e3b2693d6bbb35f722f750299669a37afbb99a52180433d697fbf65a6fb6afd6bd58d4b16c63e5b0d67";
+  sha512.doc = "28b2aff47d74de3a42c441dafc156297904b5db20d267f1af07d1e3210e7f9959474b3cec387be7d9b20dc04560b4100a0d9da6979ab8ad2a7cd1e4518cec278";
   hasRunfiles = true;
 };
 "nicefilelist" = {
   stripPrefix = 0;
-  sha512.run = "591ba654814056c213afaebfd8a235b6ceeda97c7d225aa3a4e2661aecffea1cb1777dfbc2f94e688edfd2055c529f9bd4f13960526c438511b6cd13d8fa03da";
-  sha512.doc = "16db26610924583864ca58a856b1f1013fd7856843c8dcd5b22b98aa02374f03449444af44326ce4ea20dc2c32f974d3fe97024a09135879514792167b422b18";
-  sha512.source = "f27a53057ef8f03da3f325016f54402b07e0debfaa26559398d9dfd5a2a42377309d985b4eb505ab85e0930a7b8cef867cd153f7c2c8043b5246cc846a6bc7c9";
+  sha512.run = "4e3e1b651a5f3828c1806ee199ddff3a022f27381da241f2d9400cc3943d9aa29e0dd56bd10d7fab60da1901f221cb54c74823b35f163ace0efbd3217b767ca3";
+  sha512.doc = "5c909c6dce453a7a73abd63896c0916db3f609b7d4283b70af33bfc31ec44e7aa5b3dc2e8d1ef6fb3d33605d23e079db4e7cadf4fa13197823ca3c177b82f527";
+  sha512.source = "b7915ca4c8a24ae84b1caea7bbdd395f5c12305a81f193f35ab4bfe91a12a21417e41b5d46b6ca72c69357782a1e6e4a8366e0bad85a9c453759ea6bd1ee4874";
   hasRunfiles = true;
   version = "0.7a";
 };
 "niceframe" = {
   stripPrefix = 0;
-  sha512.run = "2ab84908702edc7aa4dea2e1fad6688bb6c56b7c4aa8cb4b3d1c3fcd78f9193db6bceefc465958d24d7e0fb90da882c30cb75e24fd02bf9ebdfb3b097fa70658";
-  sha512.doc = "3719b30bc9208377f504dbc38ceb4cacef517649d31f7903a0d8e7e493da8fa5f46e73249e08668aed1467c39c7016bd7b37311ed8e6d04aa97fbe9c1ff6a73b";
-  sha512.source = "b0f4c0734218ae78ee8031371c1865026230a4054735e306b624ab434d81dd459ff844d9afd8e822af8b749d2036c04c05801f0d6b387abd17c1b59d986a9f98";
+  sha512.run = "539d4a6f3a192188064fafd94366ad2f8a9146175d9e04b08cd83d1386bccc730a0e3be4a9fd45e4f47152f10710191b063138ba504fca95e4226fc179f70a29";
+  sha512.doc = "aaf777520d300b5e8c9a17c2dfb5b12406f5e6926b17c4244feaa8d6c5bc28d87277f23fd814304a7efb91dab8a42e1ed88f6568b96f13f30c831e81201ff4f7";
+  sha512.source = "fb0106ee32e36d34767c6200be1d2415e11c275e5540dbd54777a6876474424f1c82ba52bcc0fd76da9ecf3b37671d37c762834b3e6ef714028c1917dee45235";
   hasRunfiles = true;
   version = "1.1c";
 };
 "niceframe-type1" = {
   stripPrefix = 0;
-  sha512.run = "bb660a9b735a4878e294edb66c87a39e47e52ed66717335285434fcc3f256298377b69b172ed81c3acba6bad8aff30f987021e08bd1583fa706c443540d6bf12";
-  sha512.doc = "548896af3b9ba4e5a64d301e8dc2823b32cb74ec7411cf6b897d12222c0f1be9499416ab12558e2be61dbd67fe9a3c897b318912291651f968e3f8d484ffbf85";
+  sha512.run = "c99757f9907622958267f042f0ee0aec8dc6317839fba05309116f9151e476e37f24dde00e6de59fb0204beb9383eae039c0fabb089d6349d6f6031e8df196f0";
+  sha512.doc = "5ab28cf7091ba993d7b4ac9f5caf2d563c60e63a3ce8975bae105f460e2dadbc963efd17b7ec5ddeeb8a35bea1b05a007590d3f6f9d5cf5dba0495e5b0ee8ad8";
   hasRunfiles = true;
 };
 "nicematrix" = {
   stripPrefix = 0;
-  sha512.run = "244a245bef80184ec0a348a25875cd774fb78aa484eeb35bd689ac72ba6f22097f48b9b2cb9b926cfa7646d5b7b3759c862f397d91bfaf254e9320ec67c9379c";
-  sha512.doc = "9a1dddd5ffab7eb662714faf323057ee602919c7161c332b258466fceccef8d5d51a76bb8badcf97aa53c0b83ea35807721d8ab587eeab216cdf2c2a1e3a646c";
-  sha512.source = "f444bdb2157a59dbf5e1e902f55173a3b7f720c991789c3803229f83f1f1f4363b34a3305ffe106154dcab42dcd6f1f688cd70a3573b051143b39c58fc3c34dc";
+  sha512.run = "03b9289b7d8edb6a042fb4f9facd7b933d882ad1b88a8f70da8772e1d40628a59b331638a1cc149f2fc946dc252b7878b5950cd92b9944e34adebf6e2d1f3b87";
+  sha512.doc = "71089524b9cf67d7ba7156e3f7d1bef56ce699e2b39f8879731d692f2f9352f772d04714d7f7f2826d1db6a0f1ca0860bc490644f0df82e8e52ba0d5d85d9992";
+  sha512.source = "7f71495b48f8563ab8adeaf021dd998847001f5c05c9d643619fb370126bf31a1ed269b53c7be670549c94d13d32ceb9a5aebe65bafaa6815d696cbe2f7afc6b";
   hasRunfiles = true;
-  version = "2.1.4";
+  version = "3.5";
 };
 "nicetext" = {
   stripPrefix = 0;
-  sha512.run = "83b062e1d59f7642ee9300adbde202902a6ba3c4aab3efb4a249249df9c05e85d89676ec92c36ab2e1014baff6e913dec11b194c465a669388864372559845f5";
-  sha512.doc = "d170337978b4d42e2b785f20c404574bbfce5ea29acc79e02cd33d43c77319ee7275a96320c06e4e57c92829251a7b72d826192f7a25daf98bfb757c211cc551";
-  sha512.source = "888818ccb11dc75d59a10d54934110f510f26ca2b2009319bbc726f655d95509c8583128e3a57c881b7ef35637e0ab266ec37107eb8188a0371978622b7b58f3";
+  sha512.run = "04a555a82287a39249cf6b0e18d890329098a1d0d6957fe9a1c535024b63a5f50b6487dc1fe4fd69d87908abd385b0366474ebe3af0b31f41f6a35c519a6ba9c";
+  sha512.doc = "96cd1694ae0cb116bb4620f7cdc1f9e24385886c78cf87466cd329c5ca0d78111005ff89e9be50f07078eaedb69c4f3d495b1fc5063a1a69e483b86a6c8534b1";
+  sha512.source = "d7c556fb2fc34e7eca9038667842825053ac03478e32a6a58cdda2209b33ece494071e47d54bb24f7c085f90b45375bb5db7781db642bd9f8cf661853d077f60";
   hasRunfiles = true;
   version = "r0.67";
 };
 "nidanfloat" = {
   stripPrefix = 0;
-  sha512.run = "ee424937c5e6433f9f103c4fb86e0a25d085b1e28233a955a689b23456fcfe16a1a6a691d5bfdf3f45e94e4f81fc217f75da5cb6fdaeb9de6c24475c03c0676e";
-  sha512.doc = "97b370fde5e113be6e25bd69ec4b8b03696ba472e2c2fdff34e09ef84c2722cd2d93cff12eb5b2931405ddfaf705b4059dfefb0c0709611f75f2c841ec08ca65";
-  sha512.source = "cdffb19e02eca970460e1265ad818a5e1909c882437c88ee6bba9f6186c83ab7eb0b2f70eaf85955d0f78fe07daa013bec72b95f43b71d5cdce602f32cf94075";
+  sha512.run = "42ef65277deaf474a619e5ffd570309db8c8349f32e9bcfdf216251e81136a3da87a745b3dcea5212f636396179210c6acaa96a957ffd9588d1f414d6a59bded";
+  sha512.doc = "2be76c8e243de71698ae5264a8e3af4da8dcfcd130b0554d1547a0a238e55ee71ec57d8757648b162a6ebd17ce1047206979cf139003a02921a4308a852f0030";
+  sha512.source = "8a778b33036445dbe375af746244433470e5d10a963ebbfbc397c0376d5c4f7c23cdbc2ff3ff6455e274e83b465a64d8bac5023e8537d5b949fff038098d862e";
   hasRunfiles = true;
 };
 "nih" = {
   stripPrefix = 0;
-  sha512.run = "60a1de7afb1e359e34a56d959d0672b4c6bd891b27052e0d3699ba2ce84036c286a392a0c4831582e72d3986fe550e6625851d50921eb65c31f268c72fed46e3";
-  sha512.doc = "17096627b5be33717431c839950ba0184f6a38fa654d1552c9df1adc93c9f785fcbdd22a518d9e14bfabcc51436b1451a5a2582df61d51cd1169d286e72b2107";
+  sha512.run = "5f016d57b1b55c698a902c7a85a652fdcd40062b409a14e38c1356b9030129b46631929e49c6fa70db7ed499043a75060c97919f15876ac7a647d31c2f0bf729";
+  sha512.doc = "1c209615f0745ed0ae4d2f4c55cf9447ec4711e9345ca3db778fbf45ccca76792039e6a7e51f2e7286034ae229b5c696ba7deee5bb8c224dbf95a4cccca650f2";
   hasRunfiles = true;
 };
 "nihbiosketch" = {
   stripPrefix = 0;
-  sha512.run = "4042d98133d4740b057f44d08d1079d247311a8bcc9f4d92b6b4d016f77daee668ade8918e2087f40c098738fd78b5eda10acb78b5f41e27d8b92be8736cc7dd";
-  sha512.doc = "4c114e60d85b75b11982cac780a7a24ad17bbb0040783728888251f56e2e674517c0e327aa9d52912cf65a3d03ba15cb5f4b36485b04d2c1a7dbec5ced467f82";
+  sha512.run = "fed3f5fc0886ad44c9f442cb0e4d3289d9027375e3b0563be9fdccf2a963cea09a0b16db2ef51a57e652f27a5dc5c20a36e9d284162433b958cd4fcc905989c6";
+  sha512.doc = "707adc7971861a35b352aba04521caa61ea3d84e15cf698f847be43e9a22e6157ba133f9d787c8c65610706481880571e82a1037082d00efaf08a5812f612e94";
   hasRunfiles = true;
 };
 "nimbus15" = {
   stripPrefix = 0;
-  sha512.run = "15fb112f6bb913235901a1a02ee396e00b9cc17252a0429a6762d90732712d06ef12a9f1bd03be85eb51c969af2bc9e6b42a2fa7fb621db038c6855e2a22b048";
-  sha512.doc = "c864b005f6214006cb67e0051cc9eddc5fc43bb6795b29ec0fd1214a2c86d0459a377388cc56e3f68d63fad54d773daf67d93531a243f287b6706a36c0e3eb74";
+  sha512.run = "914621d7bc2d7f17f5536f7298885d720b348f15ee45a56493b6e227b8845136ae9394b93a20b8cd48c8333131bad21b4be473d61f57d5dd449dd416c3536c42";
+  sha512.doc = "4721c451b5f1a108ec86e9db369f34015e501aac3185f2dcdf34151a422ba94276d51ef09d1aecc86616ef7a72fb911c5634247c36e7fec79b60203a5e42e7aa";
   hasRunfiles = true;
   version = "1.011";
 };
 "njurepo" = {
   stripPrefix = 0;
-  sha512.run = "10c2eed695c79d914ad1bc630d402e4a6eb9da43e9c38e22ab7447e12b3a1aac5fdd2cdaf02728d9cb1ef3ef80b67497e4d418821d726981a52398f66f02a852";
-  sha512.doc = "aeb27c87fa25a10a033b76260752924f61cf4c4601cd12c14f22029279bc043ce3d35385f73839312fd2ef562cdec4b8d98e2a168b3b76c2b8aaf6d98483a3a6";
-  sha512.source = "459724c5a01255f678ec695bb18b1b84e2641df7b16ee5b9f560bd8db7b9378666bcf92eead8d722ea589ccb7fc70877e79cc40f7f2b5f703a403ec83deaf49b";
+  sha512.run = "a62efcf4630d7c26bbedb19e0c4405e730733b71361cbec9abed7a06a377c230bee561d8b48427104bef8dbd4e0bd56b0eaf9f0f7bbcdc8b289c726cd7b6cef7";
+  sha512.doc = "61f32efbea3b94749fa0cfc3ef2a3b3a34ccfb4ed3b6b09afa74e4f6dbd2540c1a263c81ca6406288f015303250f51acab0b6a4a4d51c95a2f9bbf1f3360f8e9";
+  sha512.source = "6a790ae4e533c8e040ede3355967ee030e136d42afbe222a8fc4b7c3810817901aaca1625199d88443c8dd64d3d6b52ef9364d706fd1cfd5a6dd8a7916890df8";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.1.2";
 };
 "nkarta" = {
   stripPrefix = 0;
-  sha512.run = "de9569637ae849c272367dfb80c80cf3d0943401b9c010c6beebca8f8139560b799c77b4e73177437ec4d8fc25fe34cee904be765440010811e5a3c1be42acad";
-  sha512.doc = "61415d43578d178a708baf382758901c883c0f945a60ecfbd90e88af9bcbb87a6ca505016f3a3e9ea828a9884e8bc21ab4a01093806bde7ee2d7f3b79646c42f";
-  sha512.source = "5004d60e871be3c7888881d953e01aebf18c1087c602d1db2a99076b75c5bdc61726674db0adc7d28df62e1c634f0dc05721e30300c36d75879ef32bfbd757ac";
+  sha512.run = "60537472bed0bd22d64789008ff8bbbab92ffcde68cbd74eb0b6d9910705f9f476e8f2c4dafa0020a24b0ff2e27c42a39de1791f2c91040af07dd429e0fa28ad";
+  sha512.doc = "b3cb0205fdc567fbed23f797031e7336fb231c11490f463ee3bb3887e5d8ad1aba90bed1b14178b1d9ba15d76ba02ba93598362b9655eea78bf086c7df6c8b61";
+  sha512.source = "f96b85f2a779ae64c9c2a056e16d2d8473844b45c0d906f97a3b62f6f517ea614600312d44151d9b9b676f3ec7360638c72fd43c7a35e183bad0d4602dd84aee";
   hasRunfiles = true;
   version = "0.2";
 };
 "nlctdoc" = {
   stripPrefix = 0;
-  sha512.run = "0388fff1fd8167935f21b062e6aeb1e97497213fd0a81e891b92e8c30f2daf05661e42c3532bc4d61816c15dc1e645209ab3c629912fdf2f6d2e85cf8b53b058";
-  sha512.doc = "ca10cf38f1bc0bad96b8280139b60049e2857b330e71de43afd1a456a89eac67b5345e38316e7f6d95b2c443acfda34ff21280462b4b19d38e6bbaeebb7bacc9";
+  sha512.run = "a13148e7c821353e23d9f378313023aa9140e48108ee7af258a5fd7bca9b42e620ce8eca00c3f6c9a27d78a7a2085fc86f5a2b73456d093b1aea2ff8a2f54159";
+  sha512.doc = "573ad374a072c3fd99c72a719f05dc37ef0b53742e78b1c3512ec8c495adba78183fcd3cbfe9ab809ad603dbf63d7dc26d7212a44272cf9a1114d0d954bc746c";
   hasRunfiles = true;
   version = "1.06";
 };
 "nmbib" = {
   stripPrefix = 0;
-  sha512.run = "6faae2866e409fc7422fd787446a816e8d5efb1690a36a5f2c9c1b061c806e9e4ec42524f38a0039911f13c76c128887a13c58aacbee9fda794d8f05e6e3b275";
-  sha512.doc = "e5c0ab9dedf49127ad55c08a8607a28d18a60add040c4e09e8f06dad0f35f805f64cd2041658b92b9e74641f844755d585402b9eb209de8bea923bd0d8af466d";
-  sha512.source = "77e6d9da9765ccef6e383e25d03695925b9df2dced01633f368de3d3608c89bc52d015fb2e806104f240ab0400dd1a5eff6a3b0c84b1a59e8f90ab1331c0b078";
+  sha512.run = "c915b266e2a7644a88de6476bd4cf81943f7da31472f1b8eb889e048df8acc4afc36e247b8fc63bfdeb8c0384d87fc59f43d87f3ff09822d076c62a0edd1c110";
+  sha512.doc = "0014c7fdade3685ce03bf9fcc2725b430f6272025809e224b88361960cb47e5b533d88d60f0ce55e011dbb943c8fc025340fadc506eedf10189724ae79dd2bda";
+  sha512.source = "52297a890da760e2c945522094f128612ceb521500c81ce54da2f481581000bf42302665585fa056b31ff0f096a3a170ce56013e0979ae2043a94b68e7d32a5a";
   hasRunfiles = true;
   version = "1.04";
 };
 "noconflict" = {
   stripPrefix = 0;
-  sha512.run = "b4c99ae23fd8be538a08f86609c302a3ec117ac15041dde939750e4795fe6e4775a98d42af925377337f44ac351af5f82d56da2cbe1b2df6f4a75fe59bf3ea26";
-  sha512.doc = "8916c5e8d1fb18e0b7162041a27843a0603c6f02c771ca1e79c4931b12dd3c35cbacb072096452a4fac957848b16c1964e32eea796e2476beb8413585d16d72f";
+  sha512.run = "660ea2bc008866130d0955eabecf0afa1e21ce38fcaa0ff0d4364ebc32ea8af6a2ba57c80b340f824b14f0488d2b40e5c7ddcf663e37d6170a7ac0aa740ca260";
+  sha512.doc = "b403c57b0d794bd95416ae09ed3fbc0c4a164689f9885dbb15e8a4c25ff8751376e6e61b622c9a94feacc4dfb905a7926500368bf51e5e568efa31e1dc5c785f";
   hasRunfiles = true;
   version = "1.0";
 };
 "nodetree" = {
   stripPrefix = 0;
-  sha512.run = "5db2ec9d7e9abf425613fd305828c745d8f9947d12063a1209c15b82cc4bcdb3969c5a4e8ec39091bbc9b154e29971ae84eb3de971f883bcf32cee5fba3975ce";
-  sha512.doc = "404470cb8bddf82ab245a6b31e12a0c9b7bd0d80e0c2f7b479b1f06ebd9f7be52adcb52660e8f68a13ffbcefddbdd280cec44e3163351d1b7d3be507fd339abd";
-  sha512.source = "8a8c54af6ff57d314ac31f9e3d7145d799dc977df681d2a293bbb018054cd1e165215e16e4296e100732e4462d944e4bc9a7222d5e56cc0664731e6169b40b21";
+  sha512.run = "bc333202800520cf68e2aae42e849fdbbe8b2a1936245f35805adb3ba6795d724b8c6c5bf3973d760d5bb1327324c43721bef909d3440a3e7b8c559dc57aa61e";
+  sha512.doc = "d81032f9f78e49d49a6e88c4017a6f95ca8e3ced2a24210716d456ff4ea1461933540d0b553eb66e6b74c8c94e3f93328b9ab0cef2ea91c2ac37a1ab4a28ed39";
+  sha512.source = "a702d084e98c3a79df85baf0155d33b7187b31ab4d0c32af4cf3e1147ea5abcb6a989a5f09983d1e2446c11f9f99fb6a66f9c714553157e4acfc39003e770f2b";
   hasRunfiles = true;
   version = "1.2";
 };
 "noindentafter" = {
   stripPrefix = 0;
-  sha512.run = "a549b3ec893a48be88fdf854549cea49bd680bc7399d687434d0440336b6a34b526d551520dcf6a6eb31ccee20cfc9a2c82aec9046f37347fd5b7162217b3af8";
-  sha512.doc = "bc4d77c42c4373708f5e96b5d3f4d243a618cee9ae3c7ff7060de7f3b85b4da14b9cb0ed5fd0bd02304b5852fb173409ea7dbeaf9e41fc42a89c4bcbcee5734b";
+  sha512.run = "6037e5b7b36742c2956f39020f7e9bd2072b17ab313f5d7d86e8b0c348b89ef1392571b8cba22190221a14c6f1e44a0156ddafce8f5e2bbf5362e443f590b2d8";
+  sha512.doc = "1cc385e0bed9559d66c13967a5ffe83f1d01ad2005e4c7ca92243ca246da4f5f5e9abfde9b244ac54d73de4f874b800dc6620f7c93f6fb03a6d0ac8b2593fc96";
   hasRunfiles = true;
   version = "0.2.2";
 };
 "noitcrul" = {
   stripPrefix = 0;
-  sha512.run = "c0801d938deaee7ab9da9ff27bddd0ae701e013aaf01bb5dd4096243172c0fe8db64028fe2c939ff0dd7b9f8b469342a4e37f6ec9e22634930901b127b4f9aec";
-  sha512.doc = "28332688444c498cd07f5c996ec1e273b5c0d45aeb8d5b7923501d415882ac0750e47fa55e7da94b66c0c03c82fcc3f741ca550b74534e26eb2181bc0c87a9b4";
-  sha512.source = "a695fce128a95573eb23ca4e9a50780d4f150940c0e726584e604802840555315dfc9f528340e0977e2e943a929e9082060c5c6f9dfd3f6476ce0779bf4389df";
+  sha512.run = "1629f5c0f832927093283cd5cb534cfb7ee35bd74f306fdf6cc18cfca3c72d5c1501139c180b7cf3fe71ef7131dd6a42465ee666c7bbb5c83a86f2a69a5a3c8a";
+  sha512.doc = "c9c3adf9742b329ddbfdcfc41126c22039e89642f0c0d93ad064ff2160f7708b62ab28994a81860aa08d83f11a111bc11a2a54bbab88bf3713f3f6ee4aa2e641";
+  sha512.source = "5be6bf65ca4dc0c5819a1bc870f704b595b25e5ed6900beb8a53fa8167680929a7fe038e80fef120e77d5b8731c13f92f7907469ce7aa4825ee4e207c09268a3";
   hasRunfiles = true;
   version = "0.2";
 };
 "nolbreaks" = {
   stripPrefix = 0;
-  sha512.run = "424452fb97c94e0b5405bbfd83cdec23734c26bcb2b3b0a9f22c143fe5ee6b16de3a1667f6f9b1c73bf379a63e670745bd6685404dd94d384d60e6c060dcff1c";
-  sha512.doc = "4536167e8d2ef0ac0544afd710afb4fe2388ad74f819bf9c4dab99d2d34a59afdc6acbb235b467a5b7ca36c22bea0e3c673e786c44afd112123e952657b4644b";
+  sha512.run = "4057a988b0357e2256eea6ae47c560d8535528e63b93d648c45d65ac44c4894104015e3411b7046606b9a68afc44033d037229d684f0c5427d9dd2ff5b272279";
+  sha512.doc = "8cd5d7336097abd2d873af36b2ba6ebc8cd1c405c9a715c67e6c04d02dbdea067c0b7a8603418005ce223e0f1bff161a3dcb669da7c07c30b2ccdccc7f953fa0";
   hasRunfiles = true;
   version = "1.2";
 };
 "nomencl" = {
   stripPrefix = 0;
-  sha512.run = "5df2ec52c326a2a96960d675075e072db16ff4fa8842472c2d1d5ca2293f669e5f4fc230aa0d21b7608130cba1a105dd4db6467f572c856d96e75a57455978c9";
-  sha512.doc = "b9699eb31a4c07b2c4bb4e80496225fe36f72668fda07e5f27fa0f36126d87ff17a6e6c8263e3c9e59340ae4275fc0ff17e2725493a9ae1237e70975669a7939";
-  sha512.source = "597f93ed3a7b46a2708ce32aaed045ebaa9bb8efbff8b63b7f11a0b2b3c9e9409abbf323519964bd9f59481d4cc15d7058ff919a2b1b305683daced7e9c6a5ea";
+  sha512.run = "00f02434a164b721d996032ee97e3d6594b3e1119128cae47ef759a935fd454ae477648d1c1e506673a139c52dd8e8ef74b349748759b109588eca353d390604";
+  sha512.doc = "b7a2659e324207e37c38d37cf372c237cc94a3f8902bf9d907ed2a45ecfa94d463b550a4c3339dc75825a36b1e89e9cac771cfb2ae6bdfe3ad157aa235f488d2";
+  sha512.source = "ccc6093b379548c03a070b6443f308f757ea425148ab32dabafc3c271937f5d090918ad6f3c9f013bbbc6534c12dc9ffd7e8786f22999a8640650386b8ca3e30";
   hasRunfiles = true;
-  version = "5.1";
+  version = "5.2";
 };
 "nomentbl" = {
   stripPrefix = 0;
-  sha512.run = "411d0891dd1ae12b931a4718dddf85a26cddb72db1ff315dec2488296caf65a0e02eb0862b15b86f6567827ba93f776ed11fc0955b3c4c78315cd47ca29b89b9";
-  sha512.doc = "9a42e48440b39ecfc62c283ab1a34ce27d7df7b992fb3fdb836120ea6bacd7b6f440c5414e1c228d589aabbdf9c2280bf08843e6e719f83df5ec4ebdc5927b81";
-  sha512.source = "207a040bfe6b84a67da2b6c2f3c5521d7e47ecb92909f863036e746f833b7c00f546a388aa9a20f10de8acc8a7ceacb3d386d450f00f12ddbb2dbecc0d066419";
+  sha512.run = "195cd134db2faf9c7405d040d0d3b4a71ec39ac201fad47c855d34d8f734d069c03424ddec6b1af978e7b244b3907f846fbd80fff6063e7b25df3de508fc51ed";
+  sha512.doc = "4ea606a78da4c0c4f5c35b38b9a430de8dcea49c8662081a85f3aa575523c40f5951bd54e2c8acb368b52f75a3214c0a4b0d178dc262a64b8f6485852c4458ba";
+  sha512.source = "5cf26c7871ccb841bb8350d594ed9333d7b46c7d2e3db70080ce743fdfd7c7fbfa3c8f7f976bf8f37decc653e54954a5e0a90385fb99ac3428a8dea4a5311719";
   hasRunfiles = true;
   version = "0.4";
 };
 "nonfloat" = {
   stripPrefix = 0;
-  sha512.run = "237bdd74d04577e5d99afe44c3ea33e1055050fcdefa24cbaf0d858402cdddb14140587cded9096cf16d61e121e3b99d1d36b9aa171b2b34bfb8800cd0bcac5a";
-  sha512.doc = "4b5f2284c3d89d5a092d88c3ca52ffc0419b53077cd9d327905ee87d7f71e43699c21008cb06dbf6730c5e2cae2b5d41021783dcf604443982f54e1ef7e23696";
-  sha512.source = "9cfda7e1e3ac23db49326024606f68e15bada6801e9a478b1dc759bc3b1f334c071c1bb3720cde9ad9f4445eba6f3d344e357d732cf898295cbba90cd2e39b8d";
+  sha512.run = "39f8f0a4d9ef1cf8f1dc02c63612980f25cee80cb545bf405d9d2a080256ba6799ff3030c98c26e6f2aaa10ac71015e58e4233bf84703b290220b12db45c70c0";
+  sha512.doc = "2d090fa397a385cb32c26957b5c4c05ba8443fb1bb7ce7e3eda777ddc2d3af11ec3ae6297bf014f40e71d4668044ab729a6dedd74e8802ce9089b59d57663374";
+  sha512.source = "be5e0b078adb8c530d8255bcc72daf50ad8cbb48343fa76f132e1b75fd64d033c7caf287b6901f1bc49422956f6901dec0f7e7b7639dd71c10c1a76ec958aaf6";
   hasRunfiles = true;
   version = "1.0";
 };
 "nonumonpart" = {
   stripPrefix = 0;
-  sha512.run = "17cdb1528c93fe52946b17fe971e372d9287ab1b8639f2d9ad1bd7cd560cc4e66c0fda6364660b657ab56d440a3bc3b10cdc7103457b15fd3c111ead28d07744";
-  sha512.doc = "cf3d1f1e4b70f5f63d47525f3e90b5dd00ba6eb43799f6e9dc8c441dbbf2f507936a94e6d5973deb45c4ef746c38cb34dcf7e18127f56d78fe35699f1b3b3aa8";
-  sha512.source = "b1f20d56a585235f61f556b8c596c058f8c50f65c3877b3f267ea21baeed356e0056b6a2f1aae832a1d3ed8479d49a68fb7ab50f29e6ac9085ea920b64498f15";
+  sha512.run = "e97fcc36af3e86c1a432d0e425dd86308429e764c976a2f7f8106c3433ae5a148bf3abc45706bcc3090089911e2dfe175156eccaba7d97f544154ad0b288e58b";
+  sha512.doc = "0cd6b115638c3151e5983845dd2964ed90f24bd35a06e904a005755696d6faccd90bbf88c7bbb5a0282ffcd266cb55e9eb1d058fd78432ba062fb4fd723348f3";
+  sha512.source = "46130f9c35465685dc690096405791f82d70e73091f6654b5bbdaebc71b5fa3703a013461aedbe2cfe59975dd6233668f0c204e817ed65fc83c30be59be52505";
   hasRunfiles = true;
   version = "1";
 };
 "nopageno" = {
   stripPrefix = 0;
-  sha512.run = "317fce6e4275b2738f20b0b91eb684eea4662e089aaacea6692b1a31a4ea4a447c1849da9e815aa121761d635d9d8d59186c73bb9237b307ef834330ecfbbd54";
-  sha512.doc = "7d16f0a2aba099d77f150211e975e8dff74fe0ab73fc5e0af72d3150efa6b1efe54010ebbfdbb5c5a27d912f55d5de7aaeea1c672022eb7f9e2e2013ff9911a0";
+  sha512.run = "0e152caa8b8df06444f50e2f9ca93f18088a0c58e2d5936f612a770b90cdb8f4bb0142064f56573d8569eee274adbc2703037ce4d7477c24d23c7c8de8748a62";
+  sha512.doc = "5988c42840efc02f816ca0f9ff7ad2d731c66563c0c4de21b857de975bbec08962cef4ed1dad096abc39ecd8489d3a34a66809e98f49b0a280c186d03e6540a2";
   hasRunfiles = true;
 };
 "norasi-c90" = {
   stripPrefix = 0;
   deps."fonts-tlwg" = tl."fonts-tlwg";
-  sha512.run = "d2c29b4f2aa0d56fa56dd780cc745c9e109ff28328f05d008d417e4217b927cafe4a4b2099cfdbb1d45997aa9e87e1a5d6b18f8e2e3837506011b3d48ce54813";
-  sha512.source = "532e2e6feb80091ce403f9f85b96d00df968512443d9f1fc3a0d22eecd8fc5b752bef4a7f40cc74f846709074251f09e2f9f775a4db2ca87cd722eb86984a11c";
+  sha512.run = "d52fb16ee07ef72f6484b784346933a23b5a3357aa2f00ee212bb1decbfd3299153e88cd4bc352cfc2e888dbf37ea86a2bd6442b6393634c5f144f4accab55a5";
+  sha512.source = "0170578bca4c4e4a7307fc125a6d845881fe32e2d361c73369ac1bb1b7d510bca8eddae831fc8421b3e30ce996f2eda4d7b2e449873ae6226a7806ed2bbd4047";
   hasRunfiles = true;
 };
 "normalcolor" = {
   stripPrefix = 0;
-  sha512.run = "a2ace6258e0cb734c7abd427839203a085ed637ca771ee993483e1b026e23141d79f4c995ae051edc504363dae1c7f53f498aa89618a5f97495092da0af0c1e5";
-  sha512.doc = "96bd2a1cd23068d2ca62447c161e4a7cc350a2e8faea0d5a9fb13efc2816d8c85fe2b0bee9dbeb21716f073d1c0ef23809214455f7478fd86e10650317ec0d0e";
-  sha512.source = "9e85012f56f8a53127e73f1f30931a59188d0c43d4de0db2ab63fff4471df9f03d378434b8d4fe4f7c65b042dd050bf9514d6f04d193d66390feaa177e89edf6";
+  sha512.run = "013354a5f7514f6267d57d098ca93eb48970df0ce1cb2db0c60ecf664cbcea177b934ab8f252cfb9dd4c0979417937462ef55e51502bca7f32a7de1a0e820e32";
+  sha512.doc = "ca7a9c008f72aa1287092f881f9ffcbe58ed45bfc97ec3231fbeceeb007f6248629d9cf49598afe604ac8cc30a4e8117f54fe517fcbf52548add2f6ac6fdb662";
+  sha512.source = "ac6fcbd939d13714f21106c6b0786a9ede4ae6a3023348678ce22bca59343d7379fce9ef12bde91fd05b4912c70c8b4eb64b95f2869f4a30c03c4443640b9d80";
   hasRunfiles = true;
   version = "r11";
 };
 "nostarch" = {
   stripPrefix = 0;
-  sha512.run = "244c5aba3f91e83d9d7a982fb96f3a11b27216979bd9b49ad733cee5b4550ac62727756e3d369fc8bc4026352a0e54b5dca503401c6aebe2829ae3dd6e08fb41";
-  sha512.doc = "851cb664be49637bc6acc1e2da600400f1f964c96fb7950b7a453dc61f4f628955cb1b0f43ec789db8251c73fdbfbb6a2cc888e94624fb064ce573e70faca589";
-  sha512.source = "3fe849fdf4173aa0871420979e5396f3f4f9c93a0f1447fa1e39a4f34922ffc9dffc78609e62167131b662210391a53e496d4ed8cb32bb44ab212ff3e54f57da";
+  sha512.run = "45992ab970abe997f3b01c9dae5e15303db81878b085f45fea4ba07209160ff0307550e9ecca9b67e0d01712831b6541def54382170d43db4dd547f2969f9fb9";
+  sha512.doc = "94efe6a2b41a47b559b4b7c9e04dda1f32d0c6f5da79b51d994fda1af58b4e1cc7e808f9465f7874be6b67231383c38543fb3e98706c32da32d73a4ae07da9fe";
+  sha512.source = "1d46d17f9f43981c89bffdc5e2167342e6168423068b4d02c180fa18fc4243ece749ebab18c5b47be0184e76034378a7ee6ea09aca3c782184f389c6639df38f";
   hasRunfiles = true;
   version = "1.3";
 };
 "notes" = {
   stripPrefix = 0;
-  sha512.run = "a8eea01979d388564835ce9c265d61d785e539dd2612e8a3dbdeff52836dc324fc29db13fec618e35f89a25ad04dc7bab97468b9535a2854a87c48e1e7d6f9a9";
-  sha512.doc = "1de3d25aaf4a1fb773d9bfdf480a8586f8dd49106e3df9ace57c6d3dc879ab32515a3670e6a8ea1e3588977a4e5e22aa2acc95b39b09327e1d7abe90ffa066d6";
-  sha512.source = "68a6cfaafe40f53366c887d7cb39a8d1cbf9a0664935e2b9467e654c28699490fe4275c35a967e435c33219e2c3e77b06e943cd4da2d539cafa1110c0e41a060";
+  sha512.run = "7b569f27ec34c103c5808036a6ffd7f97f9171287883f38c048b8eabbd979559fbf15b20c7002dc9b8b0577889482c4347e4986e076079809a4a5656aed46101";
+  sha512.doc = "4e66790b76290925f49ab7f56175e2d41a20e715c43518edbae39e444d02b945ec05ca918574f52fbb6ca10fbbb060242c688fb9344094df2e025de83272322b";
+  sha512.source = "f5405540929d6d99471bac43d89b01ed7ba59bdb8f1e7d978dc9a43a563e6b16c9cc4645d291054308f06b3d4df10547e09a72081c210063d37810da511dcac1";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "notes2bib" = {
   stripPrefix = 0;
-  sha512.run = "855c9c6a2afd28804134f01bca1a8fadc092847ce6246d7e0339137de28a3a5e2d737a68b2526f347dd7497296b61d2ca4cbc9e31d5e7cc0c363eecb80d66309";
-  sha512.doc = "1d5fbf181b40198652fc8aadf8ed06985b237ec9f95b2dfea4de71fb694dd374f075650086e034c36cfe583805556b97474cd510bfa2c2a1f882d3c4e4a49080";
-  sha512.source = "acdcb37079189e9f4e552aa767a7d35d0df4f46fc61d1e319032f704a1358ce3ea2fd8ca2351c1f98b2e626db9436748da4c94df80e9eadcf02661fd683d9626";
+  sha512.run = "019645974d270df27f5c5bf22570e26b5bfa5c076739824eff60a40d1c246010fe0e599eb2fb282cc08aa2161ec7ee753b734548ca04370d9bf923f357ced1f0";
+  sha512.doc = "f4b97327b98e86c64620e975130a7fe790489d16135667c95ec7a368591084c381362e1447dfd1b3afb4f57ed2657a43f8623942f6618d839cb9b1c0995234e3";
+  sha512.source = "04cd8f2ac89b8f4fdb20a445cd98ac382a082114eca90306eb0cdb793fe088ef1d1ba9e35dd9c9b2c98238cee6ed9519144c012973d7c2e1928c11f7350091fd";
   hasRunfiles = true;
-  version = "2.0k";
+  version = "2.0m";
 };
 "notespages" = {
   stripPrefix = 0;
-  sha512.run = "474998103d9b17ac13c87da52bfb641658cab8e26207b518e545e7d8add0afd4381026f2dde544f78a29c63462037579f65d2d027b76318847a66c347e992de3";
-  sha512.doc = "e3c1b41e6203aca20c7977e9328f5b3fc6eb5cfa7fca781a0a3cceef7f7fb83071cde927c09ebdf53f8daca99bcb079efd9a4f5922390d9f246d54ea8d314b3a";
-  sha512.source = "28e6c3396773676a77b753a3adc5c3fae957a57a6c667f7cb956d6d51ff004b626b5aaa9c3b86476e2a9e644e023e84362380e37ba80b8d702331a692c2939df";
+  sha512.run = "f5f6960bfade079642a4b4f221a7b762cfb5276a74b20bb3eada51706cd2e3496f91ca23e35cb39f221c57da19012597eabc8d3aa63c58e0749c8a01b6a28ab4";
+  sha512.doc = "8af2f746d4484a2e06bd0f7f766c49cc9b0b790da2cf0faf1c83d959f2e2f60fcdcb7cdb6f1ffed89c2b03846215b589de332dc20935d0c0add4e3dc025c42cb";
+  sha512.source = "96b547ad56fc2e503c2cf9b6089dd74e2902831d99fc8899b57affdcc1c1d23463dbc7472878cf30ee26078c30cac9bdc20975925de01a86982af19b6a3113fa";
   hasRunfiles = true;
   version = "0.8.1";
 };
 "notestex" = {
   stripPrefix = 0;
-  sha512.run = "d022f1f4b0d17a07215e6f7ba74c47f21dd62896bd5b27f03d133a4aed0916ec4235c6e73da1bf8497f5e6dd5981b5dc412c8336f8e1708a8d7cc44ce2874887";
-  sha512.doc = "61f5596392bcaf9e3edd6d1ff372945426dc062859a0191b8559d7e15ddfb34a7b313aab40033775853cdf3d89f9c88e294566d7c4a262c9473e92e4494c1aaf";
+  sha512.run = "64f9704fd3646cdcfdc03f6a3e03f9fb37859b9f11463fa77e1d3d076115297fac9c0b8d6875c8b6b7f3d37127a400e6205239957526018d9ad5cdf36a984269";
+  sha512.doc = "c47bd3a4153467a63ac2e2b149f498f9458132e841cd70da9871f10674e77d928f7f88e58855c139dacdc225d286615caf0297077b843750e6940482398f02a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "notex-bst" = {
   stripPrefix = 0;
-  sha512.run = "9f2de0714079d9af3fe9dbd05e926256f74e950d4300f466bb51dd6ca449e1556047e3f211025508ac3f49c9b5f9607a4d55a09db031e22710466275f130974c";
+  sha512.run = "68627ca4a07ed0228b9b9ea4b70cdea5196e907f71f343310259d19464d503e76e2ea8fb5f59f01337916ee1f2ef398bdb1d3e4d97f0d49eac660fdce20590ff";
   hasRunfiles = true;
 };
 "noto" = {
   stripPrefix = 0;
-  sha512.run = "391cb4ba97fc69c0147de3e7915bea0070e0401b7b73349aed4a831329c5a96ba147328bbb679383ad37863d2b5c0901d7106582ee96368bac3962a233e64d6a";
-  sha512.doc = "cbfb0fb6623d7cbb2b3680bc04e46e2052588fbd9874fce392a88d3f394cfd1d14138393148845b2b93db99b3f93b1bb743232c5da66731915a6b06838b68149";
+  sha512.run = "1b8835500a17a6607c35b5f2f6861e41ac250a042fba48e61604a967473dcad417350fe87ab350a72b9d8a49f8bd0fa65da6c955e98137c8b9015d3446806e9f";
+  sha512.doc = "6e5e003cb67a87355723f4460822a2f5e853d9ce3c3dad0887400d80c06e739bd4c98f268ad49530d0b3f55eaf031de50d38749aa457f2e4ab3c95a3b0b8a978";
   hasRunfiles = true;
 };
 "notoccite" = {
   stripPrefix = 0;
-  sha512.run = "9552e9a92c4f3aa447aaeec36046906d275aa18209d0180c3b6a0fa9561487df60d9381905c3ff63d3c0d2ef4bfbe1947ef58cb7bc924751cf9b3387064a1759";
-  sha512.doc = "d0c78c3b14eaad84cfd5b04e1d80d6255fb53e20811c7bd437ed057f053f257cba14d363b57b8f3fc04f774e4411a38589606d2cc0ae2593326f1bbcef7a19d5";
+  sha512.run = "b63b890933b27717625383488d2cbeb1501ace58b83e5af66a35ba440816527dc879df444af78090294df6d4d412d21fddbab43068a6d677b22d750ddb4105e6";
+  sha512.doc = "83b3d2c7b97bb88af13d888d04f08ebb7e79661b4924ed6e328f26b9d19e4c6eea6719b49e6f227dc37c96201a901fe57da3745dfa7151bec27c7e8bfb81b236";
   hasRunfiles = true;
 };
 "novel" = {
   stripPrefix = 0;
-  sha512.run = "e8fbb2ccc6066474b40e3b7b820726dab29378248d7b8178c4823f42446e5218bb02cbcef20571f00b91995b7e9bc2c59e39dcd71f3c9b588805054d8c4d3723";
-  sha512.doc = "506e870d2e2e78bce56a0533f9cde244fb53c82cb3933044a176f8c2ad98a4fd48838fa99741e017b63b90a52bb5c43b48d16c46f591a45106343a14a51f39e4";
+  sha512.run = "ab6fd183a8f1fefa9d7e56fd234cf577bfbfbf6635d8e8fb6665e05b5d2f98dacf285731b32df64abc3d314865409003d89a935e2af2cce8990e0cc3c4510998";
+  sha512.doc = "3e1bf9313cf7e52f1d08f94b24be24153f4f2b68c19517e5be81c2bd224033fbfff5a17857866ad274cc54a96c0bb9f9da6536af5213bd561ea48b7ebb4e7cdb";
   hasRunfiles = true;
   version = "1.52";
 };
 "nowidow" = {
   stripPrefix = 0;
-  sha512.run = "da8c9dd2b2a64fe7643d8502c49c76ffb441488023f6e896fc92c89e784a1f2eeef9d0ab2bdaaae14fc5d7dad8bee7cb663b15c2382dd09cb3a1a493946e1453";
-  sha512.doc = "6e01c5f7bae98bb808d1ccef3b93e644c4d41cd211bd30aaccf30e59e133f7e16459b94b0bc5fbee1d7901ea20993dd6374224148aa1ad937a95f636e0565fc5";
-  sha512.source = "cdd9dea11d8cc2d56acd5d091bff85b33faeb9b986b5fb07c2aaa811b1f5200dafc5171cc1a4e9e94029fc272e7fdd40c41c977be8153c8ad20f1251360fe866";
+  sha512.run = "2dff380964c5c487a015073ade0cef996f5786b204657ec5c8948748f485c03b457f6d8caa5bce8148cdbba2623489a01b5370bcd38eb73469d07da4afb8a216";
+  sha512.doc = "b11e2051543215f3f19c4d1e3398564093202be07771b7b3711e9ba5359e750bd8f73118b099f82fc3bb1e9a5f202027b168c371ca6587703d82f853ced4d538";
+  sha512.source = "862f3fcfb0a165473657d8e8616fa200a017c410e162bc8ce95376028fa4f2c0959e7d116152e73ba6c6cf4d39ad34d1c57f2320dc20f637e1d3a0e2cb2ec7b6";
   hasRunfiles = true;
   version = "1.0";
 };
 "nox" = {
   stripPrefix = 0;
-  sha512.run = "6e81968905e530750ffe8f84f410c1e72c0dc324b69acda11553244b2ac0acbfebe0026ff8014f7bf294535deb6527ef8912334c63b849928003607b28dc10e6";
-  sha512.doc = "562edd79b914378e450dd3b19426255f544539dba806b8643cdd44b168b9f40ab1dbef41191c3c964eff6ddc49283650bb8fcfbb2cc8af42dcfbf7b1f66e6d9c";
+  sha512.run = "0061e0bc12a06b79c4339684d0598587f3aaf1c2aeacc7aa32118d7b91d3937ffe0ca50b55f5ba9d1b7a4a1c511811191160c58bc51b68dfdfa2b0cee900b409";
+  sha512.doc = "2383ebed9a9c6f65d6271317b46147915afdfd6caf39893e4cfe470e302f9ed6f30ca9f725bc2bec296cc88027462765b4ca5731cd5ccf98fa5c8156b1d88987";
   hasRunfiles = true;
   version = "1.0";
 };
 "npp-for-context" = {
   stripPrefix = 0;
-  sha512.run = "59d6f20cb9e2357fcfe7acd498f02b75124f87483d6c4cb3dc5b5dc19eb0bf9cb4af60c79bb63f8eaa1d9673089af5227367e023e67c37cfe20fbecce30999cd";
-  sha512.doc = "f5b3532864c00c5cdadb423f99cd32e4f86a6c4bdf4cd8eb87ec3abbfdf3aeafadf8bbb4b8fa0f2c70902d7f7dd8444ad58993f3c3ced00e1ab55cd85a7caa8f";
+  sha512.run = "6d5da8b6e2f2bb6b514d43e8b72157a81285b6c15cbe74891a94f21a09a313813ebcf9e3a0a12847875f13d5599436ada4e5febb694c0a480931dd62a23035c6";
+  sha512.doc = "b3bddb0b9254ef9755628097ccb24ccbe86c25d3cba7a120c5d55da98a19061b716df1590a39323f57a8a698c5aafb5ecbe8b27d6505f2ba4acdf1ccdbcf82cd";
   version = "0.98";
 };
 "nrc" = {
   stripPrefix = 0;
-  sha512.run = "fe5644c3162f00fd8b6a45ce22609730007620633411e9108580e20d2e45dc1f50066946fc27b780689b85bc14e7a410720e744dabd6dbc7fdf4e4ad399730a7";
-  sha512.doc = "961db00f3a5163197b2527c2e9358521c3212586c93ca234fb0e205f726648d6cd3acb205cae566711e86876ebc44abdf9b6f3bcef147d6a4229daeb659542eb";
-  sha512.source = "d9387a9d8941427a0e8ba625f60a17e200a4995e43f38c4213868e43e7334e996f1e4db9f440dbb2f42a31024a247939f46dedd8804cdc2cb81ab1ab5b10e98f";
+  sha512.run = "2d93fc25d0305b8bee0e5e9ae61bba492bc265e023980a411ffa521f15746c6d73940e352c886ed5dbe08502f472a63559191aea44c3801518bca8b28d0b753a";
+  sha512.doc = "35f86598105db616ea379175f3a098cf7c94f4a0a8836302de664c7bb65bbb5f72f41c5c9dc58bf336781a23553ec49e0a5c4d7d0be12b1cff68108aba77e88d";
+  sha512.source = "3404facf13d3ddaaf4a9aa295cd7c0777308502075d1ba70bfd6be6e8158eea6ff4b88db2414f8ea5e758ebdf52dcd5f44b6bb55e903c0e11dc6260b02a1779d";
   hasRunfiles = true;
   version = "2.01a";
 };
 "ntgclass" = {
   stripPrefix = 0;
-  sha512.run = "ecbe7de30c75e442a3da6f76a1a82727b84125b0f7bc25c397f4bd6f553eacca5cced79eb9764f6221b458621e1a927f3f1cbaeb6049724438e91b07c3eb2d04";
-  sha512.doc = "860fda66e52bdfc03d7c4e3d996402295ebc4dd98b05925afe5735e4f5161b64c34b33a85ef3df95ee76d5784667179f0b336c1d92d484e4201815921ff87b73";
-  sha512.source = "51c4e7f37f5d399d90565c88b60c2eaf8b202de5ffb347ef0bba4c0da0d7dbb5945962493d727d239c691a32099345f14e80fd10f539282e964476973a8ca8fa";
+  sha512.run = "a801b4653b65eb27764a37330bd01b690c6eaf6cf569d18df01019af61b9a32efdfe3d1140ce6101f58a06294bdbe07a4c30110abaa9932df693d594d3a17135";
+  sha512.doc = "bf6d05d54c425b716b6a3c9a4f2e899d37bb7233b5386700e27e365f236ccb38b025722b7148529923bb94a4e88222a4c34855ab5c7490104a8d02f759acf3fc";
+  sha512.source = "1462eb56cddc974bc562c258eaeb6e031f89c3d0e0983c7810e276f500513bca0819f6ebbeb65182dfddc1dd495242ea260d945845e3b2c5e72ebcf15b8b13cf";
   hasRunfiles = true;
   version = "2.1a";
 };
 "ntheorem" = {
   stripPrefix = 0;
-  sha512.run = "90d18d32a585aab43b27c38d0dfb1bb2357419940fb854c6d6cdd83e183f59d8f4bd478908417f63acffbc3ccf8ea5e1acf35f1a8a5799ad4f4479268093ed61";
-  sha512.doc = "d65ddf7e3b9d926e1177ba27f569b50d886b19733fde1636e4f86d24da6f40fcf1cb572da9bec4ead8a0e94eb8cbcb5ffbd61d441f954d1342906240673a0ea3";
-  sha512.source = "153b635fff805f5beeeaa6c95ec4c2a6ba08e9f73f98efd4873aa361618cd915f2ab969c7118119bd30a0f57e3dc35acf10ef80beb24d5c2fe0fc7eb503783da";
+  sha512.run = "aabab9d6f1a5d9e9bd2ee2ec4b9ca8200098a8f3dc786b9c06d4b0e00431dd66f32a254d452bce7e1bb595454e178dcdd71d724b8d835b6f1c9ad9de41107295";
+  sha512.doc = "fdea81cedc9ceca6ee29ee006867a05f018f210db2cb59c763adc4bc15db65a7e96ffc93bcd576a4c1a50e7e55d4b199132371686538216eba6fed65dce77ba1";
+  sha512.source = "bb0eb98e3344c4be782d113a0e5f1c91d615a5530e1c0a786938b1cf608fe8828d59d365c0d1011e62517f0f76139ea13bad1857f2e1315a2b919af1de3335d2";
   hasRunfiles = true;
   version = "1.33";
 };
 "ntheorem-vn" = {
   stripPrefix = 0;
-  sha512.run = "7e4344498126dceffe76867c879b81ac601fd74e8d766c18523a1d587a26d95b84e81d8368c2aa28b8148cf0253a0bd0dc2e07331ff66aaeb1629a330e00d251";
-  sha512.doc = "ecfd39bbde5e010f71b9686e6678bbc5e27cbe75207121014cda0de9918d29d6cdf2d606d2e065c8001841d617c1e44765ee1d7135d991099f99781be6d37eac";
+  sha512.run = "90460e92cb52bbf8ac9b56bb950d36551b40ba260a9745e8f4d339bbca855286f8682c1a5bd7dd4ecb53e85448f96d558e6c35ffb42d8b862d4680930f3a64ab";
+  sha512.doc = "e097290ec9f9696aaabaef4dce11bec4337050848ee547535c30a9ecdf12a1e0be014f905b235fa1d851ad2c20426cd4a9a442a19475063dd4fa73945c3e1780";
   version = "1.203";
 };
 "nuc" = {
   stripPrefix = 0;
-  sha512.run = "34e4e1f97be707af2e13c0286ba31c864c6c861f253e0961d0e338b3e1d004fa8e5f5fcfb4db438538de14191f77224c3ecdb464f9b9b699f46a7a894a5d4ae0";
-  sha512.doc = "903d54c51ab36b805a191c8655a8255f0cc7302202ec8d363f025609ce763939ace5ccde475a6b42ef68e2a5a03a244f8a1439ef98148d43d0340c5dcd86e9a7";
+  sha512.run = "d540e5dc8a3edb41994ef4ed8af6a51fea544ac929ef059fc50cd561891e02e9ee9b55a62782757101cfc5eface3a170bd585c144e7c8e79e191299527f979c6";
+  sha512.doc = "ac118243f5fa4c7a4000344dfd5793dfbacc4d7a16a7031fca6305578e06bdd627473eb065a13c4d9cc5d9ef3c1712202c2d65a913c75043e36221fc7df25ac1";
   hasRunfiles = true;
   version = "0.1";
 };
 "nucleardata" = {
   stripPrefix = 0;
-  sha512.run = "b68559323f45aad9c4a07794a8195b5b1e6f3a5ea0f54f82b7d5d743bf4fb2396c0472731f84d1ec524e38cc99ef5afa6949127340a554d80a36b00d7cae5e3d";
-  sha512.doc = "5ef98fdbac5be3052aeba824c80b94eeb651bf514bf77b82d54096a3ede9b7fd7f62cc7dda543ca5da2eff53a5cc6586b2c64d3881dacbde233382addb1f05a4";
-  sha512.source = "d74f0625fa3a8ac897c23c116a8ba99b84776d8e2a224b94fa01764c3d97d75b2b2693a138b6d21a8d728243325511c9b79a8fb77390677536e7c73f256f6b3c";
+  sha512.run = "68f9d542701bb9d2db956e70784dfce8a14058b5cab5c8316f9d76d59d20de4bc7fa05f22cfe318312b9ecd823a0d0b5cd084b809bcd615217f14e9e0ba76de8";
+  sha512.doc = "3d03a8b301c91fcc3e8221f913574b4542e0aa645d83e443d117ad0d69b7198c4780207f0a5e36f7e24f538a249097e1ac4d828e192f6dd22684e905ce9f1cb6";
+  sha512.source = "cf26f591795ce6db64ee7548c0384764c42f2eda260b5e5c1d56f7f08c54e13fef84616ea0a3bf9a9bfbf95ca139adf675eaae3047c80faf49e14d6330cb25c9";
   hasRunfiles = true;
   version = "1.1";
 };
 "numberedblock" = {
   stripPrefix = 0;
-  sha512.run = "4d18af64342aa06630d772ba702ea13cb96778321b87d3d1025d8770f40c609c5577e858474a4fc4feb4c0d7a6a026319a02d68a6a99194c4aff539579613993";
-  sha512.doc = "50427c74920c3d9f409705d92d913ef1931b3648510d93b5cf70fac250894bcddcbe67671dd5eb19b1372a536c964e2c1f145672db2091e4132d5fb210d454b8";
+  sha512.run = "d45a69881dee3aa3b6de69587b8c59d889fcae528c3c66f10cc14d653dbf7281e9ef4045dd2595d1a5c7305686bb0d12696bc00b672c5907dc58481a4e00d70e";
+  sha512.doc = "99443d809e77b32fafaf59b3faecbd121f038e3ce8e054304e8fdae6b145a0d19a67b5e7d003db72f06528d975c3e543a2fb9bbfbae9f48be460b1a344a0d2c8";
   hasRunfiles = true;
   version = "1.10";
 };
+"numberpt" = {
+  stripPrefix = 0;
+  sha512.run = "c23fc54514b98cbc31e095f6b1ff37d37eef75146a3eb14e230ee75b71f6d506f148de643ec5e890a565b544b6d05436d47033f0c00ecdccdab697336b61dbf9";
+  sha512.doc = "8b3723dbcbfa0163d7113c96ebcdc5a2262c169a94b733dc4af3bc263b119addf58042817dc8437ea5583ed93be1f3d5485ed76c2d704b20d303b5efa8bf41cf";
+  sha512.source = "967569a1ca42c00cac46f77cf2dbe61d1aebbb89d3754d69ff3beb848d174fbf544374723d33a8c4ec8b98b2c4d93f32dfd1570112a149afad934eb07bff4ef1";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "numericplots" = {
   stripPrefix = 0;
-  sha512.run = "f724c8b35002ea5c3cac7520f6ddc6100f22762a46f1b5fc5b9e5597db8902ab7e3417974112d43f4ad4aad20da9486c996c4032f8c709ce44b8526ce66a004c";
-  sha512.doc = "7395e92722414a00175c442abb9fc74c3a5f6dcea06d4011e3c95a3b8749c152e70a9346f49ce3aa1696270af376987b4ccb63722ff0edb6c6e8ff0573327610";
+  sha512.run = "6b51a7c68357dced9627d3c618a167d689b573ea44c2f36de5417735f39f5b3d1034558cf188bad2da5eb25f81a2bdee3df6059b8c14879770c3b300422cf016";
+  sha512.doc = "1c9f9856ec2f8cfef61829256f1076099e6bcb79cb45e8155116d6c24feaa52f481c739593c6cc51df803fa76e8ec38b8d276e796660327a2bd1d86957896332";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "numname" = {
   stripPrefix = 0;
-  sha512.run = "cee042c1508d651445f7d64bfb46a58a6c9d984c6c12dad80750b462723eabf764515437da1c677e4f6082926b906445861ac50d069a66a02874b93655e99f7f";
-  sha512.doc = "91e93657532ddc88c0f2a9251b6053f96b1e567acd57cab9c1d523b1c5409aa86763052993290ce2e7c17697f32039f91f796ee1008961a44a2a760682745a6b";
+  sha512.run = "b2859430992fa6ee99f4d96f58cabe26b0f216d5e3b512c69b4db74738d933ea8d54503a61257d304201ac3fbc2ba49e908eeca5953ccc0f0023cbbe8b3df76c";
+  sha512.doc = "41aaa9057415ad83177f416e43fde4c8c81e335b2f3c025cbc53ffe1d9d61fc05dfe33221c16f1d652837e4ab5a797f60391fb4c319339517090ad0e2ffe66bb";
   hasRunfiles = true;
 };
 "numnameru" = {
   stripPrefix = 0;
-  sha512.run = "b474b7990598bb5bddaad3534450bc2001c23cd47f0c152a2fa720c184256c4309096be5a87e08756fd1455413d81d27bbe2d75b7573d234f593d7ff747923a1";
-  sha512.doc = "23c616efcd9f1d261e50fb738d839c640ddd680ea50c9784850aec7406a0543ee33ad02b5ac4a325a859c050ff1bcc4a96b69777769796b537e09d158b10ed71";
+  sha512.run = "c6f92a720fc5baf6f55c3bc18e22113de0f7cad8a051c2019360f5f3c64eaa450bb12d6c361c52a5a802f558ff8d2cbfaa35897682d6ad218e9adbbc788f3c57";
+  sha512.doc = "5e67f1908356e1f21e672e63a8873e46ebb36af39e55a64c174c3bc5c49057c6d19ac36523c34a7f1c1fc53346f6ddde8fd239ca88b5790ebba1eb8b7dbeb0ed";
   hasRunfiles = true;
 };
 "numprint" = {
   stripPrefix = 0;
-  sha512.run = "842ff2ecda1735e850fcefbd13b0aa676d11aa6ad698dfafb7c53f1fcb388d79b0d5db508b9321a3ad8612bba5f0b37e08c53a40e03558d9205b136fdf5b4279";
-  sha512.doc = "6efc0037de519c330ee049080bfe0941bd76f27b6cdd3cb9509a781f919b322b602998fb7ff01a58a7125d3cc1107536953eece9e143a3dafd2fb2eeda725bc3";
-  sha512.source = "7e72a20bb07348c80ae6ea2aaccb6196a6751bcb61a98f54ebf9c595f6565e0b240e198936dfa665e287f0d1bf9d110ae671d7888737ca4e7aa05174c56d5e56";
+  sha512.run = "cdebfa502a461292b02186b146ad8086f46447b5d8a0292fd7943d93a39796eff1710563866506679e903b7a4d415af9a8d863fa81a62395c7bdeec2cd68e66f";
+  sha512.doc = "b821566e6fc532425c8f1b901b5613c763eb392461644850428707105626b6eb1a53784d6a693e7f9fe2aa612b72b4d5a38ddf65f22a0d022981771b2b303d04";
+  sha512.source = "d4af01527564c9818840a87d9c876ec8d8cf6e7712913ea3deae4012fd0d4f0dae19e4016fc205814620d1cf97f3c12b98f1003fc6fc81857101d2ecd90fbe83";
   hasRunfiles = true;
   version = "1.39";
 };
 "numspell" = {
   stripPrefix = 0;
-  sha512.run = "e96de6205405139ccdc1462a165d4dfa7226ad5fd3b319dd63f5acca0f3b9d6b1bd658935d181ce817b2a8ce40656a31c51dbd0f1eca256dac0545090d4d7d79";
-  sha512.doc = "b762d5cc76a4d5f932943713bccafdfd969bf8899e4543bcca2d28a8e90fcce897fbb6674e4c0a3c924d582fa2c441595976467a69ddbc12aa624269e5cc0856";
+  sha512.run = "bf6d58521c82638b9f9e93fd5314db075fddd4cb249d7e8fe8b605581ed19414d259eef98a4f205d497fe4b9c552427ac202c0c0b5810e81ce1bf7ea903ec3ae";
+  sha512.doc = "6f3f26985e8c656fd68fa716fcd3ffbdc890da7cd0797934351b4d128444eeff4b2f2adb05210fe45fdd627c0da22716153aa8ebaf4b5d7644235ed8b6c2b507";
   hasRunfiles = true;
   version = "1.2";
 };
 "nwejm" = {
   stripPrefix = 0;
-  sha512.run = "2ed126a29ab038121173071ef7bce7b77fb36ecb9e319eb2d8f6a30c91b32728af27e844fb2a0c5a96ae0f556a852ea85ecf3be0ef533bc6a1b45c543e2ae944";
-  sha512.doc = "b4ce3ff44cbf513a759b0d95e4b226206189bd2d09d583e12e0f16017f3f3b51e79b040c8b14b6bff11312af872dea645fbf2dadc24b03e458b74421b98cc6dc";
-  sha512.source = "cb8f90d0085ed77e9077a3735dd2bed05247ebbdcaad54ef45fe0d5bcbe4c354bb2dc24baf10c605f1991fbbea31d774590806a4020e049b6156cb3aea49b160";
+  sha512.run = "3f5ba2d0971207cc76735268242e4cbaeb2ef956e5157b5c52fbfa061d4467061dc351f4dc9109d45bb155e3d7c098673f212e521a5efc55a3985cf8426da923";
+  sha512.doc = "7399a838fc6cb2a5c4a403c6f46bbeb373b9deb8435cdab0a892fce147dd365598a993cfbce3b9884cb4d2549fc1b3dd330a256c351b7df2a44aafdcda5f4545";
+  sha512.source = "cdadfdae87ccd8be021ef9c73b75d284c6bc34d98acccfe8faa16539e1eda6901a0f334fe2604273fe91d2b3860ea97a9266eaff6918fefd69b2b386dc993222";
   hasRunfiles = true;
-  version = "0.98e";
+  version = "0.98f";
 };
 "oberdiek" = {
   stripPrefix = 0;
-  sha512.run = "c1a54805a5f25290110d6074af3c4de6a7261809f11dda3a1605220c159e7461fcffe1d2870706468207a158c73e9ddbb50827a07f81cdeb2f732fd0a935abb2";
-  sha512.doc = "38f6e3d490b7694024e5d07615a4313d19e91dca57216575fba3311dd2750d0b1a033d8ec83ab5fe64db6d3854e3d1e47c5984f9aac4cebd0e743c6916ad725a";
-  sha512.source = "52e0b8fa9bf7cbc0de3f4e759eed162b376b7ff723fb2fd213888aa7b270b672cffa2f5745e260e8172d095d81b917ceede7a6a10c568c6c3e2bd04efb55f449";
+  sha512.run = "23385d64830348aed9697ab655600da776a5fbe8ad05c7d23bc2a8d3e51701efecabd27a7125fa49d2e65f2aeabb7935d21094cfed02912a2101687ca17875ca";
+  sha512.doc = "b8faa965ad60b2ebcef9f2d64bff6832734b476d8184267122798c51f8461c94c433908a10caba176a4e18ef72d2d01ecda148fc3e6a90f4cf3b9cc72ab13126";
+  sha512.source = "1f7449eeb46abfe1871d0fbf9a72c15ffb9b9861504c8cadd3606006f45a85870d18e617d4d53722d002340db80257594844a69a82024e0557604e45965750be";
   hasRunfiles = true;
 };
 "objectz" = {
   stripPrefix = 0;
-  sha512.run = "c99ad2bd028fc099125dcf2c37c33f2af6565288a8d72d2f5f8edfae2987bd7e1a3cccc4c0b2ccf530b686dfa782ad9dae24557f418a9b7a74497919ae87491a";
-  sha512.doc = "e4e9911bcc9971ddbcf60db29f612fba32fb21142c7d2f72e8efbe659300e2296f28d31fd4e3a4137aa2037d0b5f97e9baf0133bd92a4ac557647637de761515";
-  sha512.source = "dae33847ec4c7a3936cc66cd0ee90901b8f2694daa61f036fe00155bb78cec3873f6ea08210f557907725d3505c631324681645bdc6c723f23e69da03f2c9762";
+  sha512.run = "e98bb9208838b8e55d9fe793af3eb6439aff2809067878051a9849cf483a42e612ca7c9a43a86520e582161b1a9f575e4e7a5f4bf7bbcabbbbdb314595c58fd7";
+  sha512.doc = "afcb2681f0983c345ddcf4cd484d337461a53af27f6d5467b12a5368f6ce3974b9d54cdd77365995e7268895f4f0edbb814a4f4e61e4cee947f6ea49c8381d85";
+  sha512.source = "c2bd789d5acb1174aeb50cd3eace6ab67d0074adcdb8c00d6ec0581be096a931a5f9a666630e96abd30dda31a418eb7b9e6e0f06c3d93eecbc7a287c4a7e61b3";
   hasRunfiles = true;
 };
 "obnov" = {
   stripPrefix = 0;
-  sha512.run = "bba8d75d8b7d2e5b38c3f0d7f7b96700bcc614d298ed9eef879782f7f910ce304e95f238c20e3e2d796f24baebf18167eb5d2df9155eb05fd6ea66233003e50a";
-  sha512.doc = "c49e87f54d995c5669cb30294450366c9dbc8637528cc97a823f762755c318bbcb2a4873a982a760ea78c79aaa5b88ea7a9705d28f342e9f4d06e635ce6d4bc7";
+  sha512.run = "8adb7a1e6183576b4ed9d709b2f64cc778217602c807fce0daaa62b59786d5629fded5e7ad4824cdee90ad5333b9fff4fd47d462e38005fcd1026af8838f04ed";
+  sha512.doc = "6fca30705b614ede4e055a39b92deac91daa6e9ca0922725f29c801e58b4a1ddc7176148b03de147aa906289962a3ff45a743828c0636d7f8fa3279b88e5103a";
   hasRunfiles = true;
   version = "0.11";
 };
 "ocg-p" = {
   stripPrefix = 0;
-  sha512.run = "6506d4574cc8501dfb245f97455db807cb4a12767f81bf245ee424851c99a142f254d005f3e20ec68ba38473d3ec2bc97b2638d41746ae00f0b38cdc450d65d6";
-  sha512.doc = "9a33dce50c5847bcefd3fe5aa11ad77c12ee9d7da6d8dc21100e27347fe72045b27e928e9c266a19cb922659af6d90c87445034888f813b565fa08eb743e3162";
+  sha512.run = "23b0b4377ec615d8d334d09018629f524a775311c3d227b350e7dfe95c6154795d1d3e44e7e1e405d45b623ecc614892d0996631615efae2ad6f040c1c4d8dd0";
+  sha512.doc = "c51169bf3398b17f3dfd2e0aa0efb574cedf40c4739f1b4693f9282042fe9f024dd48675bdf5ec04895c49e0583ac436bfb36e12ac51ce89bc23ac587b3f92f7";
   hasRunfiles = true;
   version = "0.4";
 };
 "ocgx" = {
   stripPrefix = 0;
-  sha512.run = "d39cea85bf48f8a8168d9ff2baa469a52bf5e023cb265dcaf5e42fb6b75e8e6be5a27e6c071833a4bf148fa1582565df4c29300b00ae67d294de648201303bc3";
-  sha512.doc = "98392e220d146bde4d35636ad5f05514cf2c6e9ff55b803fde3acba259c6f9322e600ff5cc88d58a71e13a5b6ca46a049e92501ad20719002361eed50583763b";
-  sha512.source = "2263a05007116711328a81e026c22315b9c05b34b7b2253be0b2d3af4d49e7f6bd80e6abadfe961d171326f5758ad5578fcb2caeafa8dee936c8e4d8af60b780";
+  sha512.run = "5e8e27f2ad058f30431a78d006869d4448fcb722c6b86a306505afc54a4e39e9136980affad1267da479bb175b8608d093ea531f85302e1c4f450ee93451ac33";
+  sha512.doc = "62dd19282c5ff9b030b1caa8a779590f46aae1bafeb4ecb90195e2e0469669c21e130408fdcf855a0a0859100d04cd7b3494ce60bc21e32ea5c3c6fc162ea69e";
+  sha512.source = "3abfd38cb39915bb6a1a5610c5d760174cf0caa7de99b8f975f8084f01579a2211c45ceb0912b84f9ab09d26ad091801869c11f393d1b59eacbb133dbd6b1603";
   hasRunfiles = true;
   version = "0.5";
 };
 "ocgx2" = {
   stripPrefix = 0;
-  sha512.run = "9aa474cb0b11ea88aec9bfa8f6f3f4f3156a2fecd64e3fafd90006edf8629ddf411c7c5e4a4a6cae63e805f2b2d91d050f11e8638da830449b747869e6ded2a7";
-  sha512.doc = "921489000e09deea03520c0e1db25ed5ec69bf333b682134d8a2bb50ccefc9c2e022f90b53cd80275f7b4a3fe7f8a5bae08ead6db0d1e2d0fec5004a01a03fbd";
+  sha512.run = "5d53ea7247d7ab98a415818a33fb80b4d5c3de01ddfcde361f0529d2f8adb71a09d4c1d007c9a2ddb30fc5441c68b4e8498981a54571c8d2ac617c46418e37f7";
+  sha512.doc = "f38f087a90d4cffa2569bd5186a708b41d0a01034b288c272c41c1e1755bacdf2f119721456e643a099c408a1aacb8e327f19b99c96cb74d53e6057e87e49079";
   hasRunfiles = true;
-  version = "0.40";
+  version = "0.46";
 };
 "ocherokee" = {
   stripPrefix = 0;
-  sha512.run = "f19c0978d54757b6673a8e9348dd1133d138ddd0734ec86c237b97644606015eabea03bcc52df42388273dddd9d2d261a6b14c780454c9f76f6884f2cf6a80bc";
-  sha512.doc = "cdbf85af5fdda57ad25ee1ad20d8ead0fc15c25644c1db51555b8cf646037e71e313ff468710d1add6aa043e9d4f0853106b0b995d22aa261c409fbfc25c77b7";
+  sha512.run = "9638c408e96fa861d395881d1bac87b55048a25de61561823242d78f836522205c9621f5a01bbb5ad1c8390230dac727b4fae333c22966a04ff5df1f923b5909";
+  sha512.doc = "40bb5e47b2ac627007d349c0b043f299f09321aa0d6fc11ad9f345576fd7a902be4d012d56ceede9e66c8a5972828e7b5a5646c101c08fd28fa3ab1c935f8256";
   hasRunfiles = true;
 };
 "ocr-b" = {
   stripPrefix = 0;
-  sha512.run = "1c7903717108b83f461ec67ed247ca60c02481c5d9c01ddd5be3dd8e8000f14c5fd01c9632641ab821438dca9c690367e36685e1c7161ae43a661c81eb6f80ca";
-  sha512.doc = "ba962f0df9f179940ee1dc9b2e4bc0587527734ed614fefa9493a384812002365b41dd1765fbe5357521e4de958a6c6b153c3c43bd093d38434bf21b294771b5";
+  sha512.run = "30b658802a2a30776cef18c2ea0f1a71044b5b7819c75ec58df9acc04134cf1aaf85b97f93231d439d79c47f66d7bc57b43494aca073871ec3479ae70178fc58";
+  sha512.doc = "6d162b10b558a9db8269b2535ac9df4f76973c54d7e23dea20efb29974b839278888fceab2da85f945da483415bbbafc614c8ae4c1cea6d262d6a46dea5b69a2";
   hasRunfiles = true;
 };
 "ocr-b-outline" = {
   stripPrefix = 0;
-  sha512.run = "727e4550ad8a4d2d8886ac99d7ad58690e39e80512c64fee4e01f780a20eac6e5e32e0faa1b7d56b5556f1287b78736e4653c44f6911c559ad6436f2ca63cc9e";
-  sha512.doc = "2d18b50f25d79b5bf07d5c760cb9cc7445554fd06e12de2844efb6c6a360333bbd9daa1529725c5cba71ebae8cf3dabb22db14917d8344d63a30b7f5cdd40b45";
-  sha512.source = "7b817e4b93e25845f3953ea2bfe608d052595339ab9cdf85f62dabf750a8c997a1e9ce7ce726bdefb64229d609b2dfc5e1929624fc644b2e65554aa13dc2f8f8";
+  sha512.run = "ac15acebab9c9f81f0e7786cb3222b336aae3fa4a379592d5fa231e145cfcab536e28c9078ac617bf9b8b672f6dd24b30caa998242ba1e3f4633873ae8d54609";
+  sha512.doc = "7bafe00b9c5d846f21cac682d9577ffe696eb54a55f4bee9314646451fec37d883eca7531f594a7994fa8038f7bb5c78a55dd8a8264255a6e60ff90929596d00";
+  sha512.source = "b2fa5f4561a4fe61c216e800fcb47bf99a09a62d41d62e30669753139484b58b137649248ec152f7631461c54ab4e51873f3c7a42d43ccf2db86d3cd21d3493f";
   hasRunfiles = true;
 };
 "ocr-latex" = {
   stripPrefix = 0;
-  sha512.run = "e4e6e65eada08b3feefcfab0e5b0d7e5ae901525442adb2c6212b1f96bbc4861eb5b2b6baefe4b67e88d9d77e12679cbf6517bc65c64a9d1ff943c09922341f2";
-  sha512.doc = "814f8c65d532c24c87abc5b034b3e6d857cc372a665d61721278aaa900a3a96d7dc84262d021d8daf5c713b5e8a0893ed3826914ff9046dc5655009ae21f2d71";
+  sha512.run = "d6a4377f66293f8f7ad8b7f8fe3a3a3dd294a302dabb33e193921882d6681fc1c5537b8de2bb188396139bbdd33f14d4f1c20f6edf44ce680df837b250ee83b4";
+  sha512.doc = "d0de99d5cf93517f5be8627d649a1d8018766cbba44c40cfbe0f93a3b69c1a5f10b4057dd79194d148030948509a26ef45ea83208c2922cc64b10473d663d591";
   hasRunfiles = true;
 };
 "octave" = {
   stripPrefix = 0;
-  sha512.run = "f25eddf66336137957478ed6687cbb85bf8de083e549ad3f0db0ac512b241fa7482f1dc411b116ec60b8cd1789544ee7abadc8f8b8f37559ee2e6740754e4b2a";
-  sha512.doc = "1d49da5cf5c6f0b8957f15ff8f24570f04f69a05fdcb6b4f6356198aa6337bcbc8abc6f566631ae9470c231acce11d1dbf4cb81e8c57f3c8600b87a5f0c77610";
+  sha512.run = "f7063b207152ebdbd29da1e93db1b65796dabcc1eee1fcf36a470c6074b7abf239c87f5e4e765f08ec70d8ff7f2ebc8fa29a5590fa9a9d6740a5e74c0e3d719a";
+  sha512.doc = "0fc6b228fff15a4dc90973339f2b155ede7051ce69066e24d7dcdb9c9d5ee162c8d684298c8ef7fae64274dfc4f101dbca8fc38ca68200c36cf901153fc461f9";
   hasRunfiles = true;
 };
 "octavo" = {
   stripPrefix = 0;
-  sha512.run = "b2b33aff9c3b8f02cfbfad6e60b3c524d1ea8fdaf97a7c4ae0f6cf0d52fa54ead00288675f3694391aaca02c90dd2bcecba4240a1878dcff4be739c515486439";
-  sha512.doc = "413cc3a0a88835f4136d9834e1545f674169ba684201f6a43549feb1d5b7970445d41c9efd07939aae72ba139c7791f75bd406394b6233f4c35966eb5432da07";
-  sha512.source = "7e17c81344cd0d619b4101db168794bbd468b0224ad07302334a9e9df3eb16cb214cc9bd9df5c408d7d5122d6e6abdb2c71d04a4396c7f645bea2d396780f4d7";
+  sha512.run = "06de0f1e69c4bd8bf0a65e08515994a10ae8df83e6e8981daf70b6eeb424fd59b58808249782d76b9373d9982aee50e7c12c17e090e3697533b87d35480f94a2";
+  sha512.doc = "daa628a0c047ece5aaf15425c0123128a771a17f08fe9212856e2d63b40340dbd7a50a4ed1e19b04198637e11b530239f4280b810ee3813fc6275b78d37bd8a6";
+  sha512.source = "3632856effd0e32e8595bca0f2a1ea569261cd0d273fa200d9cd9c70908a96da613f06eb315389fe9b8e6fcdcd9db233ca8c148120625f6813848a930fdeea67";
   hasRunfiles = true;
   version = "1.2";
 };
 "odsfile" = {
   stripPrefix = 0;
-  sha512.run = "e8f2e4ae565f5800dddf048f8cdee5d7c007b0b442758936ec37f62f0b531db8bdd00e502a5040cdbd56e6a3b928c5aaa7337422a6d7d54aec7ceaa5036a0f62";
-  sha512.doc = "f58037561f782430061fe5a440f06f74b0354ad0931bc32108bf43a26fa44324077fb84e8068f8623e611c1af8139737aa4ee42b779aefdb046ff88b5de6ec85";
+  sha512.run = "c739d1d20c26fde107649ae8aa5a3f767f59d6db3acd063264be6ffd0dcf43d2a1c87eaf9449d1e1f71a7c10cb24cbc55849255cf95fb72983e476e0cb2a8ee0";
+  sha512.doc = "9be750187f9b4476748bb1bc7440dd68437ba8d11e8198af8a1d532b09c37696aa9341dbd91198922ef2ea0a2991d44a946fe080f68fd1d6bfcf563cac50a29b";
   hasRunfiles = true;
   version = "0.6";
 };
 "ofs" = {
   stripPrefix = 0;
-  sha512.run = "f95d10f0cc61e13f2f60112a1660987ce3264090d0205dc55393f6a0204f6fe30f5a32ba16317ffacabf0d87cebdbf41cde1fd642f9e51d4f413ce1211699d5f";
-  sha512.doc = "a43dc7e1a8253c1fec3516eed30a512292c9351fe456247cd163c47ffb28a0a5965d25ae2622b6c44c6c13d4810a93d605df496567511294340dc039cdded409";
+  sha512.run = "347dc05e8742fa09679e3f16465077b0bbf5e34a4be5a5c2e1da094ad22c0e69ff9f4abb4aacb9be2c698b27da7e169adb0c1840da3e56b277514a9f9631dd02";
+  sha512.doc = "13f7fd3ab4cb31ae521827b703cf4c3a0c796b6a33f46b2a24a2a8c488e92d6039a9b136440b00b6a0aba14a2dbad832b777cd5a3aa120ccfc4888ee147954e7";
   hasRunfiles = true;
 };
 "ogham" = {
   stripPrefix = 0;
-  sha512.run = "66033bb98497948c0a5c41c2973082faf9ed55061883daaa504f380edd486fb876c7d8c93489731b9f39aef00a27c9d8ba94bcb66b04d103eb7d6b3d4905eda0";
-  sha512.doc = "5f666b255eb40a80bce743f00eb627151ee51bab9e7b282a8e496ce3f9ddbd8b61c026c0662005d517610d545680f9c92665a6a52fab18c01bd36a8a7883039a";
+  sha512.run = "fe651bcbdb0e8f9ded07fdc412f1273cc8d473894f06af69ae65ac4c6895daba3f61571eac9a49d16de043ae6ed6e03ea386f11dd6b395347d98784bece4c8b1";
+  sha512.doc = "6d406cd0a2ba68946be8d2eb148a6c9286a164ae701f66802ecabe6661807ea54eba175617e00920d37a88dee376c1bfcecef6184320ef1790716d53e5a07871";
   hasRunfiles = true;
 };
 "oinuit" = {
   stripPrefix = 0;
-  sha512.run = "d3e38d11d3b36649f70b49c5f9ad9725300657fcb9dda849f34fdcf846f51893a484f0f4097e6c6729ce7637da94f2e483894c4075a18b86a6b877eb140e7131";
-  sha512.doc = "78a2f77dca0f277109e8f000caef96ad06d2e115d44ccf0a9ed12508dc1cdfbe8d18eb4b70748075cc2f43ca62dbf562115941265a2c3f48dc882d157ff418ef";
-  sha512.source = "0c2529f9db37899ebaf7a26300d1f2968e7baf2da546163a715ac873d3bedf301330467d54ffc696e57ee153c1543df3dfdff5941280b94c0d6bbcb9521c9d6d";
+  sha512.run = "4d6b72ce539766a3453f7edb24c243a2a495f3916ee9fd650917c510a0e8fe36e12399843c1de3dc0b0de704bf5362ea20e9bd0d6c3100e659c5641395d658dc";
+  sha512.doc = "dfb7275002731695086aa8733a543ca1eaa207bc57cd0b324666940ab932cd9301cb1c0b0bbfa4df36278ac8e289ac1be78a2e0a58ec656c470ff4b841a70803";
+  sha512.source = "0d81c9803b9b45b20c096ab00d0c0e5ca26e71d5af463e511660c5bbd28b5b962afe243f21418883575b5d40f503bada65b5c34ba48486aa74a6f9ddcbd48680";
   hasRunfiles = true;
 };
 "old-arrows" = {
   stripPrefix = 0;
-  sha512.run = "a4d3b87c61130122050b4ab4c1f82f52b56ae1d3d5dd776a7bcb0087c09a5c5f49ec65c088fd5f6a180671d41e20786deddcba3e988711f019210c36748e0325";
-  sha512.doc = "1a812614d55fe5e809fc1c375f0b72c2494daa21098ef4e5737c5a4aaf1e8e78e81528992ad42012b5bfdd594c1b4ee7bfec53b00695426db28d9f776ea0755d";
+  sha512.run = "2b67317d41349c6d601d8ddcba6ba58cf503756f5bb2f4343c1447cbe4e24c8949a4de58e7cf3863a730bfa809dd09f5f1ce9944e3dc5d4de104e4817d6add17";
+  sha512.doc = "d142a95119386f85d1e6ff0f6a24bcf09b9bf7ec83a581ca43be67376cd4a44453d090e4eedf97bcba1026827eff29f97add3a6ed676833b02b718da4811a3ef";
   hasRunfiles = true;
   version = "2.0";
 };
 "oldlatin" = {
   stripPrefix = 0;
-  sha512.run = "2f151b634a91aab7d9ef59cc6eb5c79ba89e136c99e70ea467275784b6800c432e7a3fd3a1bea3d941cfbb7adc905b3357c04e97caa250871f65d0f484a3fc49";
-  sha512.doc = "a457c079c6f4edfba26b65990b1d00c25d1b8526f808857270ebf47748c03f026bc6b8560853ce18e8bdd1f994b10b225d1ec4891d1d2b3686049b71d6f2634a";
+  sha512.run = "02ba84762eccf816178cc652d7f8d8f7d962db7d5386de4a8274dbc9524fd7a212116de0d7a53886bd5b431ddb8a5cd8ffca7defe3174cbb50f417172d2963f2";
+  sha512.doc = "1ed3c1640420272b33178c62aaf4c0d538f5f1ffc5350c377788210128c74eef4e6023fa20b3d9f214f518079e8a8c3753c74d30084f5a71a994dd4b5534635e";
   hasRunfiles = true;
   version = "1.00";
 };
 "oldstandard" = {
   stripPrefix = 0;
-  sha512.run = "97ac11efb16137815f3e36e2d2a30f61ba3b7c249dbb424f259199abb87d2b1301fac15a22ebf10afe8ad455927676721114030a549a0f7839809b357740fccb";
-  sha512.doc = "1dbb21b3ce9dfc2acefa5e249735c27df3e3715ca53b9fcd311b8fd13415f3898f966f00976ee956ec071b45c8ba4b6113ca8903a57501e61c54ad6d459e4a66";
+  sha512.run = "b441e51ef7ebbdd9868e4161f554d6ddffeee852b7cce7f5ab754bd1d0d27fe7279c19b3ae12ae345211f5db6fbd78dda2c4519d50fe72146fe57b9477bb7f31";
+  sha512.doc = "7f7f421f3bf3764dae54289a2c81c0f0b1aa0611a203e3110d9f62bf9f162ba2ad5271ab9374d326be9aae1ea4c36b7205ea776c6bbf9d2aa5eaf392caee1c81";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4a";
 };
 "oldstyle" = {
   stripPrefix = 0;
-  sha512.run = "08c61323fe1e30d0926408928fa0159f569db2b3383ee8f86803c3b9369abf4fd3227f161f45431c206aba9e1e4c39023d05f0f207825ac63c07c6680a811ce5";
-  sha512.doc = "6bf5ccaf8c1e8888e5e78d90b264b69790b6384a8a5c23f1776e32bc76fcbd10eb389149af2c3cc3bbe88497eb0a0b49e68a04e1b212ab17aec5873130de8081";
-  sha512.source = "a24679cc6c7fde3c5136416e75fe6aa0195f94796eee46e77029a6a0137f354886191e7b310f2b1bb4450ce41607ef6ac6a840a32232dc6685d6e0a4cdbc96c7";
+  sha512.run = "968ff7b641f6ae6e8aaf43d1ae9617710b0bfed9894dad135cfd11050eef1c35c48d589d58d3a94e34f93c22d85c58b047ce8d0bbf0ae5c2e645de72e327f9cb";
+  sha512.doc = "79e2c2d155bab57456cf7d2ec08930d54e538a830c1e7fb12c0731b246b917840d0ba06d31939ca97e7a20e53a061caa5a5a3beb139fc1a05f32dd9497a37ca7";
+  sha512.source = "a9200c32d19045cd56121a64727c1465ef16f48269e4b9bc6957106451694707fc0fc3db253e0db425fa8396b32560b5922f8556fafdeb68ad129d90f027d944";
   hasRunfiles = true;
   version = "0.2";
 };
 "olsak-misc" = {
   stripPrefix = 0;
-  sha512.run = "f6f73e43e5bf53629b11f2186a5f946334f15c548950ccf6da2216f3e61ac02cd891f2a9c63d16c25e18f64359b787f9be95b4e5ac209235106cd4082a1a177e";
-  sha512.doc = "57c3e7874f83c156cf62e7b5ae6c768658d1c987fb8f6b0cd00ae65945608a0cb5d58405d65d963ed5b62f8550a3b2c26253ce44ca1e0e0aac279092ffed4a9f";
+  sha512.run = "17f360186b44fbeca93ebbe6bb99c51b1815bf376272de824e8a62474e59a1cecc09757639d0542270aa1f1c84ad8042f5859032a141f353b112ffeb8f5ba866";
+  sha512.doc = "da6afafbde8ece27fc082b15ad29fdf53ae08ec8674f138f1a45afd39a1cc0a906287390986406b4c5aaabc009aee1843560f078fcac1aad2d7739ecf3e16a68";
   hasRunfiles = true;
+  version = "May_2019";
 };
 "omega" = {
   stripPrefix = 0;
-  sha512.run = "1711da48c07c8be1712b76e1530ea626dffdd0fd116f752bfc1c3379152cbc86ef95604fff29e30e15a4db9e9430a1a713f8f211ae6b262a4b1db99db8bca599";
-  sha512.doc = "92367c352f3668edf963afbaa51c91caa0c2d662844b30a660a9a07802e33c127ea5755f63eab1a174e76a9d02986c91d93185c7a2f9c118f021aca85794e8ee";
+  sha512.run = "bd07f654ad56219136e2f9e7612b87892bf8c6d0c8f2e41434a7fabb8b159bc43f79444301383adf560f1985f64e639dd496dad6d3ea97ccbd85fcee4d7a36e0";
+  sha512.doc = "31eb2aa643ec37d68d902f4de7be391e7da3af61bde93e78beb1e6df1c6367fcfe00f88e29c8cc878b9cd40f2e3a45f9e46bf24ca3a5608aeae09be491130fef";
   hasRunfiles = true;
 };
 "omegaware" = {
-  sha512.run = "d68d683178942100d89a88fd79d84fd2b7809a0f1573517648cd212442bb0c810bd09fe346685a1d3cc38fdf0ac28156fd9e6b54c409a6508f8567d7c41de356";
-  sha512.doc = "37417c48bd0c4e6b0d0365c1fa6cb9302838e4222a230cc1ba44801ea9b6155af96c092ea7142eab8ff7148b4447c905c286bed29a7715bcf72230109b6d7cbd";
+  sha512.run = "da2ea42b840a49e8213bc4b1cbf30d042ec718a916fbc58a6a5db4bb352cba8a669a788530e54bc50c4918a5f106dea69f791c6f30adfb570fec8f8ae80096a0";
+  sha512.doc = "5eef2e7061a6b44086cb8c9a2e4230db2abbf7b1d9cea678264900f9b2c8da056dda07db004b26031ec6d79192b11ce0cb139a3080dd84421bd527cb92f144a3";
 };
 "onedown" = {
   stripPrefix = 0;
-  sha512.run = "43f96f612884ecf891df3137e47450f92bc4890eb7dd3328f178f9b924907d092b9f5395ba162a757d7da7ae84c9f756d543c4e3c2af3d31fdec4508a7177617";
-  sha512.doc = "17f41005dbfacfc6b5d7e9503e68b17634e877ad58252a40fda7e88adeed5d4b22ab45e681d1d0c4d73532e1a4b7fde6dc6e89e58d58861ba9c4e7b7e70445b0";
-  sha512.source = "95363bd68f18b9f65398861b3eb414a18e724becbbb68afb9619798b42747a907bda9591f67b96109af976abab097666586d996cfacfa77d28b98d9af3ec274c";
+  sha512.run = "e19fb9cccc481df8609b32fe79de5fcf5f963c0908e9ef7316b9d363d66f1e39bc3fcf85df9ca3f280d948b8ed6d59bcd646a1a11647c366a96764f4271153a4";
+  sha512.doc = "89c1065b82d603f3ad337519fc92866686457463152f06fd1c9e2aacc43a6d49cf28c9c2bed11af67d623ec945dfd59269baa5b63a5f3c15bdba682c0fa12894";
+  sha512.source = "6ef509399c88093917715fc32b725d3ee671be045a8ef70ae13a89345a9efd0bdf53698a2b86abbedacc1a4d21e141a363b31b53f70bd9a9c26e11333b698922";
   hasRunfiles = true;
   version = "1.3";
 };
 "onlyamsmath" = {
   stripPrefix = 0;
-  sha512.run = "07d896306fbef347f06ea7ed622e30bf09972a70c6f5cdae677e6a28bfaa2df823280012f341138879c9bbd41a1e5521ffa4609cf4e005b5be664ddd9a0f0a54";
-  sha512.doc = "3716ecd026995672972eac111c8d06f4a112289485fffeafd16861be5c18f9e93546640b91b5cbbd801d4c4182e3ea91c57e4846765c8688d2c6b600e00bfeed";
-  sha512.source = "2ae0ccf3535fa969c8f461cc348faaff044dd4ceb60098a3631893f009c755edec4f03dffc1ab8a563ced02bb07dd4dca02f1cb305486142cbd881d8464e4ea6";
+  sha512.run = "5452647ee6eb939c292457ee26cb3639560eb55893e44ebbbeaf27ef1c2ed30346d91d733422e65f6780af7c434cf02ac740d722612f888fca8dc45538d81303";
+  sha512.doc = "154273f8589b0d8bfa0ed46cfb297d44000eaa750e8d34b1a7aad9f7b26cb19423d7f7ba362e3739cb7d22b2aa077fa44e59d9c46a52db5a82a57659e86a6dcf";
+  sha512.source = "2a3568cde9264ed3f074ad47fb5afa22f4c4835c7e0eb53699f691bf4c52b829c31724e56b9bbc84bffab76d425d9fb72b2bbb49ce14ff7cff0d57f538218783";
   hasRunfiles = true;
   version = "0.20";
 };
 "onrannual" = {
   stripPrefix = 0;
-  sha512.run = "78af270d055b4fa4d79d6d72cd03bc51cd5b79fe7bc376216eadc8f4c1329822c422119c3f68a9afe0d620092caebe772e33524f7b5409a7b0c93aee93420fa6";
-  sha512.doc = "dd4023ef0e08deae6ff2ebc4fd7dcc23c941030fb1cb3972cba3289c655513d5c7541fa2fd863c2ab682870ba5a37029145695a7a8cc80932dac094a21344d36";
+  sha512.run = "0c9f717c54d70ad24a1d3b08a6bd44a4e96e932af4d78ba2895f40e16ae5e5b841cd421b71ff3e90490c13e0843d48b8a28efd49b33ee3f74ef9b6476c88f8ae";
+  sha512.doc = "4a4f46965a0de8ca99585d4af31aa2f0f94e51328c8cf1ed29768bb9e2f8cb7e14d63315a008a1d0446d7496ce4f8abb224946277ddf47223808f8f2277cfb64";
   hasRunfiles = true;
   version = "1.1";
 };
 "opcit" = {
   stripPrefix = 0;
-  sha512.run = "79f0fdf4555eb10203e81337dca0a9219076ed287ce1cbec87d147881a1dc9183124c132b7c66da23a356498461a27e9d6b7f469b1c5cd7e79b5f8e3233d4239";
-  sha512.doc = "0d84bbeb4d74c8ee0f850baacfa93b6db9fb00137d75cc617e9361469a78bb85499b044bdede6f52dfce535dbe3d34101fc1fa03656e72e9c680a09205cc467a";
-  sha512.source = "191ce4c6c5a129a089c530fedf520c9ccfc2086e64fc26500220ef647a8e38fdb888fc50c54855a869581c6b884bb0bd63f7ce474b8a2953de264a75dbb48787";
+  sha512.run = "4514d83e3554810da7fec3cc165c89a87a4aef04866755a5b42861b484ffea81bfff694609d18fb5e3bbdacc3723cbed96305ba0c09bc48af92456cef3b7b5a5";
+  sha512.doc = "6c4e48aa8ea0dd464d7d2902513b1640437518661e9d7237b958b95ad091053b41c6c5ed4407f9c9d87ff5f0ce0b2bda3a99947d3bb0cf70352d5737419e22aa";
+  sha512.source = "031596b3dceeda2782e355e3b19c23a1a31f71295d9ac763055a2ba07eb550a501c9672cbd63929984a3c65108e6084ff6a46fb03e885510e9d696df220b1e70";
   hasRunfiles = true;
   version = "1.1";
 };
 "opensans" = {
   stripPrefix = 0;
-  sha512.run = "1b62a2523cc8eb8a046e9bc4c0f96cfb45cbe469780d81a727a6ce9ebbe94d4a17289f66b3ab834c7d0a4b61948505454e26351cb11302840bd81048c2af9294";
-  sha512.doc = "5b05aa4a166fb7f33cf92c25c05408f62b84a85f0823ca38a0253bb5d4eb61c93b0e6a6b4aa64f5d2465b6232fabac9c14bddf4dad037e42b7dddb69ca4206c1";
-  sha512.source = "130a595916b3cd512cd4a2bf257bef3e21c89449e5ce86a9116d5a3c55d07e8bb47d3115e717a7fd336f23b80b0677fd518a5a82bbbbf012aeb3d7b81c85cad1";
+  sha512.run = "892cf5c5f2ce29049a8a836a94e64981bb51a9a7b18bd3d003cf9f3a233c0da0fa219fb24ce5ac07e7cfc2b94862bf1f201f62a91995ea7f45e3a9a657a875ab";
+  sha512.doc = "e8c005fe3c22ca88ffa9f313bd1735dc879167abb17e9c3ba1ad60d609fd95c61377fffbcac15cb5fe2f3e855765b0981c7a602235c3ba5eaceb759f3c92236c";
   hasRunfiles = true;
-  version = "1.2";
+  version = "2.2";
 };
 "oplotsymbl" = {
   stripPrefix = 0;
-  sha512.run = "b1febef8e492029d9843fbd81447f6fa2aacdcc22afe411f832e690915a92348c769df53c567905d2b1798e55afa859991c15df5aeea228ea51f9849ef739318";
-  sha512.doc = "37aa4e068487443db6af8e935f93fb7c25157785a77eb87e93fc5c06d0be9858caba2fd02b2ba912eb5e20e342b5c5802e05916aa89d7ea787ecb721da488755";
+  sha512.run = "bb894b28fd62f95807bf00856aa2250bbe58b0c1def385d6528b50ba925410ff177ebef97279338bff7ab70db012ba916edad067584989f86797b1fbd7e21863";
+  sha512.doc = "cd4ceb0b923da7c0f56817602eca672442d03f628440c8beb82c953cf73a9d1bf8e24939a3ba4c813c99b7a2aa98adede0c98b4678b06fffd3f0bdfe8fae52ad";
   hasRunfiles = true;
   version = "1.4";
 };
 "opteng" = {
   stripPrefix = 0;
-  sha512.run = "93dd8d0bf33a27914b7f76211ca11eeb09a859b6ae195e0079d9dbac4f34c69636854464e1e50b3e9853a99a37f1fd635f8f8148bfd4a00a49a043db5fb30898";
-  sha512.doc = "73f9e12e7e5e8c3b2535cfba4787a4e106d2649b9a488fbf0cc6146e0a48ac4c8cb806f3fa399ea0282b0cbcd9b78471eb8662747317158512306572bc912b48";
+  sha512.run = "1af8edfbde5ac2abae770765a437bb42d5852877438d283d8021493c621e94d09bd62d9012556024ddecbeaddd838b37ae9abd0486d73e2698956ef49ab585e9";
+  sha512.doc = "b1dc3f9f107e1e8313bfa25b843a4959522eec2e6bc886e8b6271c2175258d7108c824bcbed8d243f0e51b70851e68246fd572bcf6afa6aecdeb86a946bc247e";
   hasRunfiles = true;
   version = "1.0";
 };
 "optidef" = {
   stripPrefix = 0;
-  sha512.run = "78d9ded8b8227a86cc6d6ac22debb0f3f75391653f865f569275855cb92a169752a4e1154ac4731c3a605cba88ed575e3e2a2f0b373281cfcca45f507f8b9be1";
-  sha512.doc = "9e7765ab552a0a25b018116a5a13381d3c35054d35e8cd7a2c631d690fb9b6466c33a0ab2104ee683623919e47122c021fd093cf2875057fe270559425449783";
+  sha512.run = "dfd704e585df8d01b279e67ea3a2baba6e86ddb9f38bc9747e370580a5f218e7ae4446d2429fc6bffc605ef0ea56c8077a8f41f3ca6a8e857df29d0e3f328143";
+  sha512.doc = "3b80346a15a6e1d7209c3584d4fc9de944c55867ee7f21b018300b87615c0ff4fbe290a8683088c0e81f0eb20cf514f13fba0eb141808d8e5f5986c75bc9546d";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "optional" = {
   stripPrefix = 0;
-  sha512.run = "c12af52748c71ce9b729a0b894e68dcf38392e97053e213b294963cbefefc40efd8f198192abe81320b4ffebba7328b3959a152120c2e7f66c96aa72e06bed4b";
-  sha512.doc = "c465ca8b3178320ddef5a7447cd3ef7a6b2bea266af17bdaa6dbb9a2baf556d25a6d4c3c763a3329cafea8490d546c41b512b64a1b775396301d7999d8904312";
+  sha512.run = "3f6d031b4bf863a339a80c3a05b101393f88dcefb67c61a67e01d9647e74def1fbf30f3d018158a83c8a171b875959bf57d7a3e90dc724c32868f9aafcd5cabd";
+  sha512.doc = "d975e4f1b31e2335e55a41b317096be36161fc36fd589255a461772eb701376ce3fe714d727c4de9663ed8e4300bf0b570855b6b3ccb6b55fccd56206ac69692";
   hasRunfiles = true;
   version = "2.2b";
 };
 "options" = {
   stripPrefix = 0;
-  sha512.run = "887139672439c9ea71bf7481a099267cba0cbe8d9b964dd9682f74a567b5b07bb5f02937373a2515bfeaf4b7ca3faf780ed71edce7e168beb0e5b3a69a1f0375";
-  sha512.doc = "62b0b68ce34d53e2f3e0de36f1ce8f246ea04e6a39e43d1e876a16574646dc8f4d943b2fcb93197fed3d634715e116da002fa3615cd248ed15ce4e649a9de709";
+  sha512.run = "3cdcd07f3c279a601da49a843169f0cb44aea573ac6c1c67a347712e5a087df4b21c6481168407ac6383e8fd5cdc511ea29fd7ec944edd2d514ac88b560633a3";
+  sha512.doc = "f23bc3575d6c93d056c752c63bb39e3ef9c92de1a90177e204e4d6a1fd90ce8c9afb36e727ac8ce827a59dad96a3b236e5c3c09af081160113cee1b529bc1973";
   hasRunfiles = true;
   version = "1.0";
 };
 "ordinalpt" = {
   stripPrefix = 0;
-  sha512.run = "dd252717ef554d70ecf8201e2c86d87f9ead6e1cd09d0976335884b62ceb8bcfe846bd89354e5e3ce44c47f68bdf549ed36cd392491c4a44829095f14dcb89fc";
-  sha512.doc = "fca9a8ba4f74b6e4ed51ad0217e74bd376c80b9bab22cb2b237af37c8cabfc2f06e3def10925eda270b3c304d55ec6acc474299528245869f85dbfbaba95562c";
-  sha512.source = "a4d5bb167721aa257aca01ecb12ffd7a185bf47f20a31623c7c8d1fdf58bc337c0a11914cda0637bf2a5ad86c345f365c8287af8809c53e6916683bc1541b197";
+  sha512.run = "c494aee642949d56d8fe4aa28c18e38faf5f66ca8d9f1990419b7197ba6d8547004bb11c3d7b1d63cfcb7414b5c618af81425e4fd61fcf114dc36f9b7fcfb039";
+  sha512.doc = "dbcad860dd1fcff2e44f568caac9d3d60f4e9ac2312c672b9e9b46f9b31a2498a7e92bd646df8c622b024aefa8f2ecdc9c24e3f95f72f30f1e9b213d6bc4a53b";
+  sha512.source = "c4264de0f61c1d2abb6785f2a19e76578a154bcdb5314a3016c3a8bf700725294847a482f33095bf7173885e765db2afb4a3a34de3fdeb1d0c2a213c1e60b614";
   hasRunfiles = true;
   version = "2.1";
 };
 "orkhun" = {
   stripPrefix = 0;
-  sha512.run = "5684739fb813473de67eb62252392662f76e975e7a37893424467a8c614d477cc83cf0243ec0aca00384373a5c7986a39dfe53e985196c8394f22e18e9d2d4b0";
-  sha512.doc = "48afb9d4a5b9f3ce6190a69ad56a36a4d1d63822e6e25d8454479c51b4b9072f4eb6315906274e570547f9b44d98ccd0aa4ec9860e6e838bbbeef33be3dd607b";
+  sha512.run = "c1e52283e54e4de7caccfe605438e2775ebacc9c3fd21c143e29d7966c591ccc3fba77019e4f9ed9850762a0c80475edb6c9142d7ac2e3ba54007f3dac8b056f";
+  sha512.doc = "ad0c15ca89057f2ff7d43a1bb8ea4513973978e1316e661a0e32ad8fb8005257a634954e85990958ba22360d29eea2d6ea9d87049435416616349874617d9dd0";
   hasRunfiles = true;
 };
 "oscola" = {
   stripPrefix = 0;
-  sha512.run = "2a86c611f76f162f4bc5f254ed79f52d660d5651fd63f266d6b9dbba77e0f5939ed383630168d3184ab3a07f41202d9e5c05858ea3a4bc95071daac8eb3cf612";
-  sha512.doc = "fb4780d8fa4e2705c877d8fbbf536db6fa5533468e7fb7ce26fffa3abdbe686bd35413ed1ebd3b58ecd04ffef59d10f99e267d1614f73ac7676ecad097a4aaec";
+  sha512.run = "849e2daf4a7a48c6a2371b01392726c28d55d4da7ab7fdecdba545d9a9f8a7c2b026e856cdb3ff1104c1872584d6f180d5ee3e272c8b2adc3325a846a8c0478f";
+  sha512.doc = "3d38a95beb8d399e33d6c9e1674410f14d7941fcd83524b658373d06c897e8bc5474eaf32063077b4a9ee9e5db4055bdf908ab8574b74e44b04dc1977714c1e7";
   hasRunfiles = true;
   version = "1.6";
 };
 "ot-tableau" = {
   stripPrefix = 0;
-  sha512.run = "6d21f86375067958db161820283913bc77afc050087a90c08e32d35af989ff874659887814bc7a4775241a1180f3f01c1a767d280c86d0746605339c6c1cf7a1";
-  sha512.doc = "18f4085c3884fdd71e5e4cb9296ee70281ce82f7b6c61b20a9c392cda07a307d173e2a4a9f25330a6e19df478ecae647e8aaa48c0f648a603b3cd6afe19b4dcf";
+  sha512.run = "f3240c0688276ab6537201b20d6eee422a795d5d994c6bc8eab3f275a037e7adcec7e54c9500a3a5a6d2fe237b44b0b350a7ce6f72c7012bb48a69c9c43f2fca";
+  sha512.doc = "396256f0ce1bda04fe1c84cb45928d82651b4f6363928e33bf092737ee6ab224f473567aa5432fa00a8e4cfd9b5a3f7e7ad8448090afaaaf89f97b33ff695876";
   hasRunfiles = true;
 };
 "othello" = {
   stripPrefix = 0;
-  sha512.run = "f84716121c8b75e32348e958bee7e976854d9d01f8e53f56db015879db731c6400f1389f12686780ba69b69bbfdaeac3ab8322d5761dcf69efff29af61c82280";
-  sha512.doc = "84bbbfd5f6a7c983bb1e175bbeacfbe00cf879d4a6fcdf57ae4cd49477e9a14eb5e648acd53b24b0d36253569f60048143531b35daf47cc7558eb37565425859";
+  sha512.run = "cddd446d5b63ed22ebc4e561e43fa8b4b1ab2cdb1ecc45ab98e60d6799646845a9d432aa45248e7cf70bfc4aea10cd42960a8846479df46a7cd701f792b4ca74";
+  sha512.doc = "8ba85bf32ff739e4588512c2b33bf242b00e3f38a7ddb1b3f5582cd19b925e1adf52b4243857f1ef4b9d8198e8dc80a9aff8a63a7b3ff926978dc7e5c81262de";
   hasRunfiles = true;
 };
 "othelloboard" = {
   stripPrefix = 0;
-  sha512.run = "0ceceed906f5638bbc016a374a8c1ab0c094e06e0074dcaa235db4e6bc2b6c83777d8b9240c5224867a7a915e6449cb9af214448ec118d2f9e7c68f2604bc7be";
-  sha512.doc = "544638f7881e1a92d2cba2520de7852812bf214c88260033759ea73699aa9d81e1052333f1a7354f21e641ebf0f7b8fca8bce7b310a51a9ca6f4a15109e61676";
+  sha512.run = "c975c73b8737f008b7f31af86e6c8a89de3f907c6fe782f075b04819bd936da3853a8ecf15935c04970777a4873b5baa38f9c675cc8943190df84ddc511dedba";
+  sha512.doc = "af025805142a845bde22a5fe095fb96cd533d69c50bfcea8716dd7d61fc95c41727c16127c2f2b60c5bf2b55870d698db54d307c2b025aff3e251419ed58a3ce";
   hasRunfiles = true;
   version = "1.2";
 };
 "otibet" = {
   stripPrefix = 0;
-  sha512.run = "376fb6680994ce60be4bc5b58dc8c24daa2389048f194aa6bc378aca32fc881ed7e2a8e365a669f32660406e06476f857b8ce2933fec5e9cd4aaf33eedcc0508";
-  sha512.doc = "656a5755f1e96f25f88c8150d13acd057370664f9dc2953b53a8ef8c87b884dac8330556798d3d28999ca28be99678c471348431ccc83d5615a0de9d9923841c";
-  sha512.source = "bbafe03ff70738cb17a8815b88b11f94afeaf5cc5f57877eddd1f22cfeaa482a4a8ceb25c36db693bdc0568f2f249aac918ffcd539ebba6856185c4fd6b6d40a";
+  sha512.run = "8fdc06f22bc9d25b61cb7b3b151919b7d2d6cf3d78f3cfe5a11284d9246acb858410ccab56996cd521eb98518be9c232a4c8e0f8ebbe52d7e93c510e3a0ac070";
+  sha512.doc = "96f9d64c8f668f67afe20dad97d1cd3cfec19df3300204831fbfe0d245c1e15d8d0cea48bb94fb002cfa18db45d3ade730848908b0d77b867fff7557b0fb826f";
+  sha512.source = "4b51b49e3d3a802a3a19aea604a63f1e9503f7d9d86c81200dc5e2f2051b06e184add9292321f4895905a07595de6771eeda2463ae0c1b096a98f2d2fd210721";
   hasRunfiles = true;
 };
 "oubraces" = {
   stripPrefix = 0;
-  sha512.run = "dc33263b8d035441a9f3b9d08c10bb167c5e8b9b7553d2068fd493a711540bdfcc2ac953d8017e6162e673f024dd6be1bff1ea2db88309ff1be9876b29cc558e";
-  sha512.doc = "847728d7cb359803af815c8a8461e861c71d2e845ad486f824349270f7f0221f2541b1a4b671fc6774ae1b5d87cb355ca534ab31adc4783430734195d97a00aa";
+  sha512.run = "8a0a6e0648cc3dd9a342a960dec6512fc9153a083c8fc74eb08c4e0f46d091e5f2c71bdb69bae80fc13a857175ec6bab4b18cc81a0963d794028f4faedd0def3";
+  sha512.doc = "c97f91df77f64d824605c56669136585b94d95031ed5a4a67f3404c54b2c96f32bafaecc06d114755d0e65c3fcd0379d63f28f94aa32ccb8d23730f5f3eaf63c";
   hasRunfiles = true;
 };
 "outline" = {
   stripPrefix = 0;
-  sha512.run = "7f3ae266dbe61bba4d3f7ac5f21663f37d273f5f5089992511f3108cdaed5358341e3bc1c8ccec51ae86baede1be2ed112057979d1418f0489e153ed2eeac0d5";
-  sha512.doc = "b7014e0b5f8b33ccbb70a1c2b9aa8d0232c9979082df2c1c62d22cbec39f1244272a4cd89dcb207c1333f541cbd851554c6acb9f50092909872e70578461bf7e";
+  sha512.run = "ccfb49c4e035f0d246f00aae56efa9d6570ad3997c44e2bf70588ce67a0bc3fb7bccff19b65629fb27158b0156a9802d97ea1f8edf6f4494f644f40df5d97118";
+  sha512.doc = "301ad12a8f964a7dab05b208649c74ad39a64264f113963ebf36dbf83c90ed8ed042d8cc15f626f6081bd41f51d66dec592eaadabec32c65a0d67d15e8ead37a";
   hasRunfiles = true;
 };
 "outliner" = {
   stripPrefix = 0;
-  sha512.run = "dd87866e40c815ce3ce89aead11276d117b1dc65b6e6a75155941ad89aa1e090bb8131a437d71319b16cdebef1a029b3e8a8e6ed45b01e0a93af0dd44276cba2";
-  sha512.doc = "80f0d4e8263ac8bb4aac9d7d5f4d9f2456701f4fe19146b34e62a89a6c749d9b1cac097930b30bcaf15cc07a8669dcf18ee32a116e5a4c766c834be24ab84442";
+  sha512.run = "9251cb4154042c7620f545b2fb305cb996af9ff51c44259287a1f5ec490cd83bfb82321c4d8512ca2d22e5d2a7409ac5dad9f7a7d51f38a76bfe77faf2ca4af2";
+  sha512.doc = "024095493b4b7301597798285afbdaca9fad291dffec9707b82da9f23b1ee0585345e4f201d6b322a1a65ceb6f703ab5430d14973c3fb25970b04d2785ebb9d2";
   hasRunfiles = true;
   version = "0.94";
 };
 "outlines" = {
   stripPrefix = 0;
-  sha512.run = "178d5dcce66f3bced5b770918b57a3e55906a6216343c5065d2b4a9ae36967b587a9ecfd255d5610d2c867c7fb36aa40d0ac4d545e833a52407f0bc977d3e851";
-  sha512.doc = "e0268327e65fb469ecc2ce2531303a30e5d7c896356dc3ac235190d16c2ff8d8c689b15563c69d7e62f64f8c4bda35840040c550c89e25131dd701ef84761d19";
+  sha512.run = "1611e4ba3b8fe21db83a542da9d7e0c3431330bc24e3733d28c8c5b3172ce3e4b46ff5b7dda41f95b4edb6502236f6d558608487ac47f8726420a2afafed75db";
+  sha512.doc = "bdc507a3f3cb966d03df37d9385145811c5750bce6341935231ae987b0a30dd65424a1bbb772920586721e25711caa429cd6d8b8149088f753f36b9dd69ddaac";
   hasRunfiles = true;
   version = "1.1";
 };
 "outlining" = {
   stripPrefix = 0;
-  sha512.run = "7a04d8df8da076f8932923f6cfdf879912965f96520cb3a6163366daaddf41c3016f41dbb3df3e26d7e7994617792450609bbd0de5e2f83745486130efc0eeab";
-  sha512.doc = "7202dd35c580446fde04610fa3136b8092c07a6034abf5b507fe89dfc11bf445173a80bee609ed93fad4244f49e1627fc8526fbe72d2e68b3b3b9c7ae25bc4f2";
-  sha512.source = "b1cc9f821b61116be76ed2b901162bd244ef586a60cd9f0024d2e0c6696577bfcd1f8b887fc3115fc24e941f244f3deb7c2cc637915a82106d23d115b8a6fe73";
+  sha512.run = "0d2b7dbe710d1ccd54a70cfbf6464a3ee5ad0fab8ccfa61306d5d5d83252c0f3b64f1caba6b5e8e75f7e6237fdfc675981acb67fbb730282978071e76e92ee40";
+  sha512.doc = "c083046671d159fc118f25e56ba34d04f8011e0c49169920fe679ffcb78d93e52a6f8bb5bcfb34c47f0b23f73579519c431976229ef143a31ab059cde6dd64ce";
+  sha512.source = "8a2f640df3572a5cb8336342b49035ad97513ac97eb87483a73c0d41ef4b98e2ec39b994f9a7005c7c6cdc2564aa55fdd8cc0e34bd79b189882df34ab10e6cb0";
   hasRunfiles = true;
   version = "0.1";
 };
 "overlays" = {
   stripPrefix = 0;
-  sha512.run = "e59cc05e4e81e1e9e7c1194ce71b174f33f3692252714e71cc4722ff70ca07009bfab8e466cc1f7ab11bc68f5908b00978a49bfa2cc9fc4c9faafe257200b0ad";
-  sha512.doc = "0e580e5a4ab2b588c196a53f571bc2b237b44b8162cf8fc5c037851d3edaaf6d361f8fc3cc8a6bdecc940febabf5118fc07794e64eda737ae83c5c329242a08c";
+  sha512.run = "6ee154baa88428dfa149de77fa12e9d37ba6e5dda7c54f5e7f28b9d274be7457ae9a71484f3cc588a0797d4209bdef37a15de9e3175f0708711a54a845274084";
+  sha512.doc = "3e9962fb56116a4cfbaf0e54e95a3129aa2414be617a12cda9b0d6199afa24021ab9fb1f8d5ddbad8edd7af915c1b80ee42504ab7873385a391916c96fefd6c8";
   hasRunfiles = true;
   version = "2.10";
 };
 "overlock" = {
   stripPrefix = 0;
-  sha512.run = "723ef923ed702b19aefde4cbe4787945d5c4f6d8c1261e27ae02bcb12bde34a5ffdfbf83cb516ebfab8801e909d66644c1abdb89e503ed2dbb76469b08bf5898";
-  sha512.doc = "114b60b115738389824839322fbbe5947977953475a5d7e56d99c48a32b81d091e00363c522e61ee7f90a2186328b0c2789396d2ce9ce67a86f503ecec054e87";
+  sha512.run = "449caa738b2af059871e8142b6257a65bcf02001461c64deb4e785cf1cec6406ad3d13f9b39bb0c06fde690369cf44c64f9dbc869a3269eaa1161fd840334eb3";
+  sha512.doc = "5083d926ee34f7df8ac55111fe503d31589ff319725aba1a726500c3ad935974a29c68d677035a9b82beb249295513d4e3f70310cf078d376f084e354de81d94";
   hasRunfiles = true;
 };
 "overpic" = {
   stripPrefix = 0;
-  sha512.run = "b7e0d89f8bb244f6a33cd27df558c9cebbea776cc05bdca0b5f7a5451e983ea1599ade14c1f2b95cf447e566f22fd8af7ea0038b22d121f3b209014b3b449a18";
-  sha512.doc = "575d157308c38e661c715f09c107eee4bb55dda9ffe2657e947871f4d67ea9e2e0fecf9edb6ff584548e601c65cc26f5ac09d1c02d41ab229d93a90a1c530de9";
-  sha512.source = "ca0b0f5373b103b8573fe0a672e78c330817605c6c8348596b2502f7eb0af9947b5507cd819d4cb4fa5fba493d8d0f30af78b08254858baed86aa6c019e47444";
+  sha512.run = "2f5d8f46c4997a5eca5f82901727dc1ed790a6a2d55cd7aac45605d444191dd022c22bb7e120fd45f318fc0949dcde07e154c81f4e0c0bc3b9720cc99024dddf";
+  sha512.doc = "a4b721ebdfd6fc38559407c902599be2599c4887a28fabb976ba0525ab8d6e17ab9fd5470b11f1b70618365182012152f5bfd0d9308395db98f868addc8cee73";
+  sha512.source = "58ba7aaa6fab2bdcd55fa3cfffc0c18ffc029bf1fd0caa122f61fa6a67ff9e9dae0be3db916705fdd60dec84f7a14f89583d0400dfcd979df59cc463357fbabd";
   hasRunfiles = true;
   version = "1.2";
 };
 "pacioli" = {
   stripPrefix = 0;
-  sha512.run = "d42c90b9ed9f68b73b1e1fe5c8604b9be082be2220fb5eb4f636173204b6797bd7791dd3f327f41ea2f513edfbac0c5a5804c67855a6e3a0a8f54644563196de";
-  sha512.doc = "4dd6617a5f5bf44b53d9407e80d5e2410dff648331e4f8cd71c547727a6c2b5cb0f3eb7050d0900bd9206808bca6f41ffea3e9a3604986ed0e6dd5d32832c913";
-  sha512.source = "08c8c71e93d7f635970547d60cfa0bbb177bff4fd67267f3012555436b2085e417d0b26d51e819849c4626e77f6d3ee703132ff9f4e5c72c0c436f168d8c2eec";
+  sha512.run = "a82b391630b5f572d8ded331ae98f480fb0cf7f3eaefdcab3100bc839e2b026f012320e334e82d04e01a27657f36927a4d1570086899ad637f8c47ddd0f22b2f";
+  sha512.doc = "fa911ec25c0d6cfa62a2d5396aedf893b9078604611ae5d34b06f24740f65fd62895e4d53a10931071d19ddd24244e3c7ee9893f4eff03efd0920fd1c1626610";
+  sha512.source = "d9347b85cd548f5861b83ef2f213760805c3cb76fe0313f02935bf28baae72caf2d548459aed2acb7ad5061e49c6e6694e46e88bccc1164e83f63a6f97045d04";
   hasRunfiles = true;
 };
 "padauk" = {
   stripPrefix = 0;
-  sha512.run = "1142a3a3c8683556e74220b69b0528b9fee1f74588fed4ca794a596970126fd575f32a42aff9b0989157d1210e80eee7ae82e2ad4ab727ff68685ee2bd173506";
-  sha512.doc = "af85be786daefa82f7f2f795bb00499a05512287f65f9ee0336061d3bd7e72f9c86046e3b58f5a3717968519e2bd65c08b958dc985c25d0be8b6cde9dd9185a3";
+  sha512.run = "fec57c3e7bd299671ae8d6489723a4d33c54b11223f5f37f3f3b3cc148fcbb6d9a9aa46587ab83e414221cde3a7d0e4493877d90e9536952d9069a4cec7c758f";
+  sha512.doc = "ffa9d45c971b7fe4fbc55644be4093268f842e13a2ffb1713be401cc88934dae86f012741951f30580a94a57f35b85cac9525869e0abca5601278d48a19782c0";
   hasRunfiles = true;
   version = "3.002";
 };
 "padcount" = {
   stripPrefix = 0;
-  sha512.run = "77883d6d0cf6e9e54ec5dc16458d0ae665386d4ebcdb0dc029c202c83e2bc31cec11f3ff358ce08dafa9ddbf8d3681fbfdf40decd0cfdfcc55dac7d392bd9250";
-  sha512.doc = "2590f6afe5c359f6d434249fd601517c0cceb8f665af5dbc89f81e92eb9e8c2448f310cee5f3a3422bc9ae20c87e472751706b45471d77ec9c07f01376da816b";
-  sha512.source = "94bc1655e13518a4e29a6f6fd0541d5e33eac99e416264499cda52a42838b5037209eed20eeeb112721861491f85aaa5d8a9dab8da81df71c04b764372f7feb2";
+  sha512.run = "9378dbaa1d3a569a3cb4bd70fa1b5a6dcdb0fe089d3a2c3eecef4cfdb776607f42b7fb018461c00781f8b022dd962e790146297f5df29889db13794e25c1cbb0";
+  sha512.doc = "68ffec3a80473b3b2899ae262fcbca47198c61bf1363b9c167986cc95214c778fdd49ed65e8fda8f15d48d3d9941ac54c6660f28729dda176123fa1b3f7e8631";
+  sha512.source = "088fd314ec5717f6b40f66762af47a32eb01f40259948945b48bfde12923474cbf0a7aa8389b4ea83127915782bffab4d9cc0be40d2f7d752dca734b0fc0b62e";
   hasRunfiles = true;
   version = "1.0";
 };
 "pagecolor" = {
   stripPrefix = 0;
-  sha512.run = "93ea68718432049e5b9970e2883220f08a87f30a0deecd2d58e96a62bd693972c5c450d1a01f3fd53b8fc973096ba4334b75e3342a191e3494c2af8652cf8556";
-  sha512.doc = "951ce5f1b43f3512b30f313cafb3be67bc2e36e439297c84c530120506f8f95bfd1e5a9982ccef324661922dbef91abf118cc552b6f5c5f6c897a98a7dd89a33";
-  sha512.source = "1cb18e84e30a1e2ec398f9db4c71fe41ebb4d3738ba5bc1d109a2f14cc5cb925b35cb2a6d9740516ca86c4d019c682260987974b573efd4f18034c8b17e671f1";
+  sha512.run = "6df1ddc270fa99a658d2ffe94b29e31e54e665b3c3c41c8c1f992adb8453f5bb6b59356c2ef049ac4679f4e996a6888911e5c8c5d92500df0a3f53d5a11f5fb1";
+  sha512.doc = "c63adfeddcd00a7d738fd74c047b034d4a88264185d519d4891a429b82c62f20dc28196e1657e1c7c1dd3fa8a570d5a66e6af3aed5c78ca851ec40153f2396e3";
+  sha512.source = "2cb9a6c424ec6b1a649a592a51d4c06f67685042da8cba22ac088ca962ecbd2b93806a962409ea94f28e9183cebc02d7e2b9ee298d645a330fab8722534ecebc";
   hasRunfiles = true;
   version = "1.0i";
 };
 "pagecont" = {
   stripPrefix = 0;
-  sha512.run = "153954c9ba1bfbd3e4b18d47672b8a5f4f8ec800f21110e55b1086473553e465297247671d82ef842428467a2012697df41ca21bd8359b04c1113107d12001c5";
-  sha512.doc = "b3ab5839801365dd0003693278bd4ce50eaae890dfd5655143b0c3dea0da9fe5ce566005c936342a0e98936e0f53b44412b7cbf0fd49ae74253c0fa2ff6d328b";
-  sha512.source = "11f57e1d645461bbe372c228962574448cf57a49702018a2111dc957e92f70ea64b29dfe62450a720d1938abe0c8e3bfefd96beb6f8c5f6412c61175cc1e09d1";
+  sha512.run = "53b0f558c6198181349a66b39f0b54108a931279766882bfb713390e79ad0f62218ed841416e143c6909161ffec548592ffccb337505eba61f643a05d49f1fa6";
+  sha512.doc = "634110b7cde040e5ae7be237abd6817055f7886d9fed5ce1a00b5ea93e9bc885f0c15398c280abe8472e27ce89aade2a827e66fc041081c8d31cdaf7755119bc";
+  sha512.source = "86417ff0f398efbf5b6abf2272df933734724a7d94f93d0a94704c393e195ca0a5828698d4d91527fe1bb0d70a26af49998513f0e9d80e1b8966239555a3dfab";
   hasRunfiles = true;
   version = "1.0";
 };
 "pagenote" = {
   stripPrefix = 0;
-  sha512.run = "4ff0fd54fb8a9b3f9de71449ff9c5d48285d325b4c127aef38ca6a37e1383f2023ce2f1ec5210c25f4443ef798b3731b8732238a3d16e9988511d0230c4eab5c";
-  sha512.doc = "80f1182ae1c79deb3f9fa28935c3cf0030be7771e20ef65b983ce3ee20e1c81f89c95fb5708a42bc33d56ebc49c4a96e8c95cff1f0f322218e07b4efb9dd6191";
-  sha512.source = "6636ab8fda25a359585a1d49035a34be035e413700abb498fc4330f6e182ab478aaba4fbfde2c412ecea443ba48b7781b6f186dbaef92a5c17d48ab1f570de2f";
+  sha512.run = "f1db9829d909add12458cd17771136ef642b5655b03779c8b2fa46cf25afcb8843d91de331737f8f6537e7afc5f2dfd275926e6f4502c8022b0472d61b433b1e";
+  sha512.doc = "b57cbcef6a6ecec75b351f6a3dc09f0422873155a8f90819dc4dd2caf60cd562a21de7ce62b241259c2f0dc3889c0deceb25c00f7f3d8764a90f5861c8e8c1ee";
+  sha512.source = "3a7f4cdfa5839de85f476c3f059847ba05f7e5eb10ef4f5d951ac4e07a33091c4ccda5570dea1bf47fbc7f15272ca411afd68197fba56c9ec133d163671483db";
   hasRunfiles = true;
   version = "1.1a";
 };
 "pagerange" = {
   stripPrefix = 0;
-  sha512.run = "83041f3fa88171b7485758b188dc14ca7f4161805f28f1a7d25d3bc76b066968bd7f6f061450e99c0081893b27d6b1945268d6d32ef61964aa6019f908c928e8";
-  sha512.doc = "522796a683b81739d40c90dd5bd158eae54fa6787030e95dd0440e556c0a21cae92824c0f6cc8bc3dd952d97703584cf7038db5a5f3e526e977309590c0e79ac";
+  sha512.run = "9216d443f44deba5cfc4ce04174031cae55f2adffa0f3400bf3f315c3b9003d1ee015fb6df69cb2cba23eb117f2ed191b7033ad46a51bc718260a44778783c47";
+  sha512.doc = "862ed02746c6d91a2b8d9e19bb2e943e251dd18f0d94562bce9cc9e8ad603f7554e77ccfa2485b9a4eb7a2d6d5185756985f104d870e95823a4b33072f24bc9b";
   hasRunfiles = true;
   version = "0.5";
 };
 "pageslts" = {
   stripPrefix = 0;
-  sha512.run = "3ad576144e0fdab56625e0779f6af430432b073a8b0d619f9ab5c589d0d6023130d7f9eafa5f891445d669cae745b9f7bd8ad464d43264344383968f5a5c7a67";
-  sha512.doc = "8419817dc48b4c623c36dd82ffd88366f79ca04fc25a47f359bea3274de576187eb1a9c8c3466697f3eff549eb6bdf73ee12160d07158cad2d5a7ab195b3d85c";
-  sha512.source = "d1220ab0ac9bdb8b53d120fe164e25d89af8edbbc22fbf4b4bf6c4f1cf0e8567c220dfceca9286b75cc0c5606e13caf945112b9d8ecea1637a0a79c59b3556db";
+  sha512.run = "7db146bce45ee5ceeec5904e8f3ed6efe0010885b657b0f74546644c3ce2a018deafa95a11390da3d8a62eef16508b82c3efa9d02ac1662cbed18e905cf869b5";
+  sha512.doc = "58fe6250af4ecdd6d62c231778c89e0b049995feface3af66dc73b920f4dcdca8838d3274a7648caf2b38746fbdaaddd1b4f87577c77dabad2096e9c8b681619";
+  sha512.source = "99db221ae4c7795ca4093b7708aac14fededf3c55aaf314433602906d8b0f3d9c074fc0b8cc6807474e81e510f35bca486db3aa525e95a5486c7ff379cdd5e18";
   hasRunfiles = true;
   version = "1.2f";
 };
 "palatino" = {
   stripPrefix = 0;
-  sha512.run = "7f7e758a1bbcfca2232530e93f26bdd8795ea2eb98f48da983901c648e5e6b40bd61750d50d77c110a422e76c340ecbe8f0c3ca690a19a1adb7ae47f23aefb0c";
+  sha512.run = "f21fdeb0423853294f52427bbe1477bbfd49b1a6255bed5f561dfa2156cf8309b2f71d2c09ad74bd64bc1fd69fc73816e3d84e72d975db5925d4c3c4db6fe8ca";
   hasRunfiles = true;
 };
 "paper" = {
   stripPrefix = 0;
-  sha512.run = "7efc69558af8fe524865898d30dec4a0dd45e3d678ce29d21a26f918cde39aa25599d895b9957786748772e759c00173174a8ea6f333a0a2dd578de8c75b8a12";
-  sha512.doc = "3eb4227d0c6a27cfeebdc771ab4bc15f25df40fb27f5d94a697394a92acdbe756a56cb75bca67782c99c3a5bbfba844884ec558d29adb2844212ba0334d912d4";
-  sha512.source = "ce33a55ebed8f2fd9aae3897869457bba49a52dc17bcb84d2e560774a32c810770ce46790c442d76d4cefe28265778dcf4d9970a572af2c4cd2db207ba8c8300";
+  sha512.run = "484964a6da8fffb001e29b471f7c9fa52d2f1aecf66da8f9365376b987c79e8e39cdede0f0d61977381aea78f9e6429216c0cc2eaa67a831e4f1ace29e2c9503";
+  sha512.doc = "2fd771d5f1035cb48c0a4de89f1174a988b3b8254caf535ca75633efe2ddc0483d095a720a9dae93aa7e832b0d4e63bc49cbdcd801e4190209f56bb0632c5aa6";
+  sha512.source = "74ad404eaa44a523f97d245d6ccada1546d9c991bfc64186ab1ee7f6efdecddf87897d7e64136c0285e4d6541f1bf164173efb020adc113893d8e9309a687967";
   hasRunfiles = true;
   version = "1.0l";
 };
 "papercdcase" = {
   stripPrefix = 0;
-  sha512.run = "05e2078524367deeaa765c2294b6d0fc1889455b0fb2911089d7cca4c6a5ed551b889f6500083e2005b72a1a9ae794c8a73f9e5573ab77897e0a743dab3aa7a9";
-  sha512.doc = "298f0372d315f2bfa4cc8bfd900eb8a718bc44b56f453e354a6afd4fcf06260e2168df212ab164c3aadce31cabaa281e61df1d5bb0e6acdd5664a733ef9e66cb";
-  sha512.source = "dea0003413c6dabe674371e9bd0ddbce43e88eba030693aec967ea211f051f20f54aae43751a604e353adfc81d9e03eda3b5112c5ab09c978a2d3462fefaa24d";
+  sha512.run = "8f2c923e72c7f16b394222ad86bc3f07304e6c39965473482c708b15574b0475af6eb6aaa085b94be6b0ddcce3324cd5639a8317caad55844998868ff18f0e73";
+  sha512.doc = "01d43ccf0be5caa114f1b406e5cd4c1f8f44f06ea92e6d3fc999a5bc71e911d6c99dbcb8a1b9c49105b978d0d36e6ad2642f73446e3ba6a55edb11f82f40638a";
+  sha512.source = "7bce5742cc7504e789011ec877fc2a934300b0edfa2e6b8f89d625184e5dd0c8cc6116aae7701c313e133d8669522c1414a2a16d11e7e6eec0d1c7112fc44d56";
   hasRunfiles = true;
 };
 "papermas" = {
   stripPrefix = 0;
-  sha512.run = "85733a4e9ad956259ea00b50d1b27c66501803478a6b37a82a5449dd68224c33c7cb1ff143e55aee7b5f8069582d306803f4a0a42d0287dfc0bd32496b774a79";
-  sha512.doc = "8923bbbb395c375065029578682584ae1573b8c249b99528a8ab83fde4b0a8d317ce74a9f3d44c8cfefccf2d2f01b2280dbbbdad3bcb257b825a190136e9ff20";
-  sha512.source = "6df197a0c4c8b9c469e3ab7c16a055258be199e469440f8db45801c6ce723302234abd414101b282b9fb4dd0a05d16c210fe22427bd0b316c8400270c2cd513a";
+  sha512.run = "b5ef2975638a8eb48e7aa9fee72024eaf5695ee3133a35a4326461de03e04b750ac90e0874de232176435e0855807aaa074e6555f3368fee55fcaf61e6abb552";
+  sha512.doc = "2d0a43fd05efe6c96a7852f35c560b77b9461e005432f972a9896184831fb81f72946956f3aefd115ca0f5fbbf684ab615d50a7ab98a5e09a190b72a08e56793";
+  sha512.source = "2db3f6acb382f73ac6d220a4ec378026673ab16d54cb02a93926d30eeb8d5377d5329869cdfb3563915bb93253d64a3741a3498e197958e93929e8651f33cb02";
   hasRunfiles = true;
   version = "1.0h";
 };
 "papertex" = {
   stripPrefix = 0;
-  sha512.run = "3cc499ae8d67854ed619d76b1d2701d07f70543a94c18e66ff93e69898696051d864c674ef450de66c0a716619248161bb8cf2fee232bc218f327472265b398c";
-  sha512.doc = "4e93f60f8005b0d0c03ed1ef4d40e07f9662286316c7b0b38eceda102d7e396747abcd1b27bcbadffb1cee303d36b34c0069dab74b83de63f4b1387735a73f9c";
-  sha512.source = "f3ad76541cdac95264a537af4879952a7b7d95e07292f9207073005dc642c58be91ae310938b9978e880e63dd3448027ece5365c98dc955fa3ce32ebd665777f";
+  sha512.run = "489718b18bff9055917d9aa1329c34218282c2dec743c4a136625b6c39dc5102bc85d7da6dfb5e2b6a0f4bfe5a8fe27341ba9c7cd205cb8435ed3bc81a7a5c1c";
+  sha512.doc = "aa36046e89f7e4486020a62dc8cb10f0a680247a3148149831153400a4ee935d3120525de3fbf29eac5c6cd58b655c1a2dcc2c4a8baf7d849a40f842d3b895fa";
+  sha512.source = "9afa6d8e8d23108266bae48e78caedc5bb20c06eb15e3de8969a2e8bfaea880901a184fa8f2409e6d7ec0a4341105151049e1763fa4f4cdce8150e6bb3a52174";
   hasRunfiles = true;
   version = "1.2b";
 };
 "paracol" = {
   stripPrefix = 0;
-  sha512.run = "6df651cb57d2697e663905db7e2020b4a74dfe45391ae65d591357d933c5738282b420ef9c44e3ecd5d9f40bcedb8ec46c873dd29f2c5a6a55fb72e460bfbe7d";
-  sha512.doc = "b0f70b56c33f858d74e28e51556e3199cbc263e51878fab985ff2017ddd021020698b7b44cbb6fda41c5ed7b78860522fd5449a832bd1c4795e0fce6d0692294";
-  sha512.source = "1bd37f18e25ac7f3a22efead63e7e82cca81bb486dc9e9321b68bf975f406312e1c3c8295ba6381f3cf40c76216356106faaac2af5d84fb9bb7e585a3ebc2f6d";
+  sha512.run = "ff7f60734dcf6d1db89a0b80747b31eb95bb28ac90ea5d83546feb08389fe890c6e3b4c44995b115d3e9d446823e81e27bf08337ae2d236a5a89c2c79258f741";
+  sha512.doc = "a5711614d817193cf34cce405fc57f00dc17f3757b8c945dd174ba03453943c22e9c66b19a0f83444abd61f486e5df10246556e59d281f10f95452ad1931fb49";
+  sha512.source = "cfa0bb83368dc27a7d71fb5e8772aa1c0ab69f597b2b00630fa1a95cf448684e6b59d46bd6dbe011953c51c0195b5cd0981a2df8d7d5fb951aecdee0a9ed0576";
   hasRunfiles = true;
   version = "1.35";
 };
 "parades" = {
   stripPrefix = 0;
-  sha512.run = "0af806fefbba77812705d7e758106ea1909900a4471e218b3c4d9f5be18ac54612d3a5a0fefd08b962d6e2b48f566b567e1d0011764f96254959972635f086ce";
-  sha512.doc = "4697556f4e1ffdce59916b4e7f98094da139f8522c318c8ddf84aa363700f6a1b0250ca1baee612f7422749066feb23b11c331845b3613ed6fd5a3debc652efb";
+  sha512.run = "6eda005756083b1ca0c1ee09efe44830874d8090c25aaddb8d6631284a057130d2f03ca7f88b460fbeb7bea90ad31da8242028a70b07f6a66bfb978cd7390e26";
+  sha512.doc = "eca6b66f0bb424730177498fd6310718a78ffdd031961f8de877bd6f9d027430143c19310b158abf26f92b4280016cdac696f423b493aa49d60b06cefc546688";
   hasRunfiles = true;
 };
 "paralist" = {
   stripPrefix = 0;
-  sha512.run = "0b226bc481b4eeb744945df6b7f8df710ab81e639d8632db189ba40acd7d6f8f131566cc71dfea03fbfb312a361d66898d2e4e2318ca979a2b71457bebe05b6d";
-  sha512.doc = "16233ca09205b5cf8e801e7593101bff1602b8d9120bed552dec7cd3f9cf4a478bf6121e6c1033b5842199d2b5df4d99af144e715ab25c7a2e7590446491595c";
-  sha512.source = "8b26bddf66e2b470fab9953d25d1b33b98300ba814e18b4f1706718b762e6cf1f9d5858e174cdd8524290608e2afb69e94ffee152d88ed6b4a31f69467d344a4";
+  sha512.run = "e05bbd65ae7146515dd5dcc6ad7e40fc8437fae29ee26861aa9c2b4b6da0015fc00974f0a2328a72e6487660794a822bb64b35ea3282eac980c3e7fd23f4b899";
+  sha512.doc = "5f103c629d1c0bb94aaf6c86f7baefe3e99a854e764306cd21e256011ae5ed95601416e33677f73f6471bf4ce2a375b6dc98b8aaf35b8dab1c41ca91b7ec3ec5";
+  sha512.source = "1cb11b8e7792df9be259e1a5ef3b2efdc85b5454265deb66e2a527c4696d7e9297e2022d5191b1d666996f1be1f638517ce4441d0bb696f6b33ae490f4138e78";
   hasRunfiles = true;
   version = "2.7";
 };
 "parallel" = {
   stripPrefix = 0;
-  sha512.run = "d073d7560fa4a039f3ae9d3eaec48d0c42967de940096d9ec9bf0921eaa823697cfc97d0e465670cd73560ca61e9500a333b544ce6b76b1f8fa3a61b7bd56ca4";
-  sha512.doc = "38a4ee6195c2eeb68ce7af4d5fb6826f6ad4df76c67933e9b4331cc0b10e10804ffa92d3aa4efa91eeb329024695bafa0db764b18dca5ee978cb0182b5651fde";
-  sha512.source = "79a641bed3aaad40dae7f668603ca115f43364a34a5f18e381883b9eba6761386df42feba6aa235952f4d02ddbd85fd6d5dbb65fed7f93a39e6009a8d1c31d89";
+  sha512.run = "975bb869ea0df9236f0e86cbfe880e9bd59ab2d6aeb98f0a399f5bfc7e4367b3f14eb64e707e4e7ba8bd3e0ee641765b9ddfd79ee1abac61f96414f215fa5cbf";
+  sha512.doc = "ab4c283176cf1fd3d524151cc647c1da360a1772e57b282a91007edb1269d6bade379775d0efe6731fee18b3f3bc02292057d67795475a291a4dadc748d5b185";
+  sha512.source = "6dde2ae1a2ee65decf5c1ba547d2683948d58a7955b75e5a3bd74d0b6705e7c6a75f2fe4dbed01562211b670d455a0360d0fff3ac0f24e3e77b4bb01a65577b5";
   hasRunfiles = true;
 };
 "paratype" = {
   stripPrefix = 0;
-  sha512.run = "b403eb2f8c452b23669a5df55e76e9d97d392bdf6e68558367209ebce689072ca4e281b0e5504dd89a6fd4915f8f719c16c32966d8ee7c98e7949f2da511c429";
-  sha512.doc = "c293fac434e03b8949c7e012fb4363e23eae07be903c578c55f2d74753e90eccf6b430d43aa9528239432efdee24d2d9cd058e8b8a87ad412140016bd6831cb8";
+  sha512.run = "f7c3089b516e40d9d5534a1d25ba104623f37c3d2b77b6545b07034114644025873c0317f4a0bd5b54c6471853f5e4c7847176b42a6bdae29a6efea555fd7ae7";
+  sha512.doc = "5d11fcd66eb57909bdc56416f53c060cd248731cea02bbeee232d10cbcd2e10753a66ad7347212337b6b110e94a82970f98b1486ce21a6ce61fffa50135a6b6f";
   hasRunfiles = true;
 };
 "paresse" = {
   stripPrefix = 0;
-  sha512.run = "98eedc0ea29400064c64f2edaadc7ec4397714b060f6b76df5757e912b2b09d943d13cb8bf6e68bf4c9808f4a7178fc21eb02c705b55ba8ec2ae575025cf5b7b";
-  sha512.doc = "2e7d35e42718cea78f2cfb4df49949e4dd245c5f7e9f33588cf153945b32903d449256b8581fe24aa47b20256399163c07d82c164dfc6ee0b1f71d8fcf4891b5";
-  sha512.source = "3612ee0b98bd3917742113b0ae5161d81b6c65abd2d048c6f81f82acc819fbbc2019dbeaebc79d7f2008372a5e1e47f114f580de2579331899816a308b25cf9a";
+  sha512.run = "92c265c8f34f24ea37a478926c127b203b9ddd143015875869745ea1633cc1458cfbbf4129f24ff141e91724f9bbeb1384912ee753ab7a26336c8470897430c3";
+  sha512.doc = "ac71db33fbc694555438441de4d03d5277c598f12a7a59f8d0b4df05c39bb29571691c3165dfe121deebaa4bfb90fa5e7b1a2460d8731bbaa71502ee79b37a00";
+  sha512.source = "4c442470bc63c0cf2df221e02c890aeb1375c51e02753618ba51f13f20e054769e700b6d226c8d2690f8b49d86bc0e0306418ed741c44c4bc7127986b6941935";
   hasRunfiles = true;
   version = "4.1";
 };
 "parnotes" = {
   stripPrefix = 0;
-  sha512.run = "4eabe02ee44557ba34a7eb95922cd17cecfecc48c5c128d4fea8789b94b6a60484a354a0fc3e80cab1365e274bdc8921ff048e9c72a3396aec0c21ac35ba7611";
-  sha512.doc = "4b3d162ef6b88016e88b4cf3bd9792ad25351ca702f21d0f3d0a2b6a3f0dbcd34da419535b907dada09c176e6a6b52285fb945069e1a082a76151bb7f3397efd";
+  sha512.run = "798ac362fa4b67dacfe9b744163555d3c25c9e4487c5d2e2fa47be12d8d4b41bf89cb24a04f6434c804e9ca1f45e6d1f22ec234ac04596d5e1905589cf1eb558";
+  sha512.doc = "e9728eb1025e80f41ca07632cc2625ee670a61ebe06d003585645e6aed183087df460a1dea4f3a8b17013af6fb3e974a95b33d848d2502435a37b1aa881ce833";
   hasRunfiles = true;
-  version = "3";
+  version = "3b";
 };
 "parrun" = {
   stripPrefix = 0;
-  sha512.run = "d4b36b25584227fb9ab5e93c4efa1514f135e38ef19971e57a9a9e204edd6f247dbdeca8d7cb737b92ec1ac5979e70e4f167d64621b15b347fd3a5a99f6ea5b4";
-  sha512.doc = "39c408fd55e14df2c2c04566092ea60ea61870adf2e36ed7002fa0d443f45af4a15a87fe6bcd664e411c9e8ca2f10c3005265f2e04fc3528a4a7c3f0e7a8bfbf";
-  sha512.source = "de94e739fccf651d9a833f5dbbc1c15cab862f1fb462872df0d8f7992f1e57fba003f48392c813ec08a9e79afeee143f343bb8306366496b26c731180ac9b293";
+  sha512.run = "1a09e6dbde9c24d88e21fffe24ead7ee7567a2c7bccd2ef33e49eb1bc8eff2befb3828a87616872f63d1d8eeba21814cefc8bbe756b17f887558449aaccb1668";
+  sha512.doc = "cf284387780c9b2f4a79ebdd781388525aeb2a03ad9d85048061a6c43728bb6f2f4fc840ebb499a44a3fdf612ff4a20f36c17a377f959be813b4ee4d12288fb7";
+  sha512.source = "9a4fb32c53f5bd2f6f79992b4ce076ab211c24e2c0f4ca2665c903b2e3d5268b5615bb5e9c8107d1d44df6a9e50a9f942f61cbb1fd05a388738449e4b312f306";
   hasRunfiles = true;
 };
 "parselines" = {
   stripPrefix = 0;
-  sha512.run = "4b70d4211abf690b2d6203a0de3ce65af87b50074c01b9d6da27c52b40a78e2780fdbf79c9e85e3126c428a94cd6af871774b1c2cee237b45b1a138e7ce259fb";
-  sha512.doc = "c4b6adea89a41ba3507d949179919b13f19ddcd617c32d64105d524946fc946dbdfd792c7f0409af2ccaf0577be84d45e0dd0a0ffab6271117a6ecf40cff85a6";
-  sha512.source = "296ede2e3ee96c8537c4546d9b0937f056878e5cd28c06731f7fe6a4c32d9f91f1b09d574fa8a07b9daab429712f7650d2b146a9e3fca79a081a1fe187e82adf";
+  sha512.run = "81d18bfa1f70157ca04383a2f6e4cf228f23d878a9e157e79ea0bbbb743090046f5058ff0731ac42f881f5cef13063fa0ff2fa9b80992b334e02dd7f2a1a33d2";
+  sha512.doc = "b6dfad3ceac162f9c122c2b18fa168469cb6c4befce1c4b2c8f003507ff4b2aed30e6728bf29f04545a080efada1fd98a9c8c064f4ac1eea521fb486624e60b2";
+  sha512.source = "454fd4c9032ff1075237294f346d55fdd0926c316813c3eaa487e1649db569455f89a364b9688d024567a15edfd16c397bb1ab76652b46112791874bae5db36f";
   hasRunfiles = true;
   version = "1.4";
 };
 "parskip" = {
   stripPrefix = 0;
-  sha512.run = "3dc9c970ec69ae3868a0cec841a84a8a0116f1a7f327ac256bbb5c519a24bdbab5594a7b4c21052c405a2958bf189156ba034a70017e012ab69ea8592fe80731";
-  sha512.doc = "f5bc216eea48e94d993ce55b6692a2235c39a3f495867f36a0afbfecee847297ce847e38f292aeb052b8002a6641c07d6e81b9e3beda3fd5643c8bcb2febc5d6";
-  sha512.source = "3c349f0883096fa94414daf1bebf2b3d9c6bd0d30946314730cabcec60208d1480ae8bdbf143f26a78c6c5efa1948ccb0f1a58521d80bad70295dcffc0bd5386";
+  sha512.run = "7a157e443317d05b31cdbb34a07e69b9496116d52aedbd021c710751fcf1f5db4565803e26a824166d283e043ba52a865638e739a6e81dd48623cd7230e86731";
+  sha512.doc = "fc4484eb846ea726e69e890f5ef3e0f64479739aae3929f663935a6b26597fa706a34e1e2eb86284c79dce2bbc7a9c13f2d7e8285d7bb9a0148eab1a150aa584";
+  sha512.source = "41c3dbec891e1b6589f9d8cc2f54622df45cc56fa5d8ccce6e7b57c974ce6499477ce589b43dfd2b572cc636cbd850ff25e944e285faa0ea5d16487f5a7f3a8f";
   hasRunfiles = true;
   version = "2.0c";
 };
 "pas-cours" = {
   stripPrefix = 0;
-  sha512.run = "76f3ab7bdd0cc863aa950eafae07ee0182b383430cad2eb2e6f275d62e2ddc018eb7336f59c5828d4ce89029a43a4b14a69b80f3b1fe98341fb021e69ca17c98";
-  sha512.doc = "22961bf957b57a81569679aa0bcd98f1cb3534a38505aa6653cf653bbf5a10c666d046e3dad530937ce26913f7c9ac96b930ecd13270fc92938c379a78fc44a0";
+  sha512.run = "0110f82a7e0fe6219b44f645bcb01a5ff97a8a6800c06cb9b6bf10cb15a5a4749d82728622e23e11f272bd2250f3e1757edffe3c9d27f808a3e2bed5f4439166";
+  sha512.doc = "ff7dd904160a21ad3d84a71f75f6b25fdfa3aa0687128f2f2eda19b2d590a91d0db1e654dd7d1fd7be9bd643e008db1f0c30b2d46ee6e3b02d0d71bda2b964cf";
   hasRunfiles = true;
   version = "1.6";
 };
 "pas-crosswords" = {
   stripPrefix = 0;
-  sha512.run = "a2e148da7428d54ab30d31f4493f92da5b3410faccb2ed15dee0b51eb9b54aada3d3207af7c3e1fae2a86d1b9f61fcbf5e0e2a3befa57c21d425dcfd44960f1a";
-  sha512.doc = "8f82a6537ac822751546ce457b692baf793c8bd83a53d07bada35411d429961e79eca2ff2f4827a67796d3881a892dbcdb34db54481e8ff0e521b36df86aacb4";
+  sha512.run = "cc93ed7340380b2072ac7df4c0d343e43e1a3ae4252c42d9914edcb33232597a5c86d22cce3dc02218e6e725191f056ef9fb342e88d1a60dcadd8d011723b649";
+  sha512.doc = "65baac7fa63a01c70293baa26d99d21dc999f959074a3d2668cf6661d3db059b47d2f577f8c9f5d7ac6014e601f50e547283c55541c492b3c2df4e5f01b65be5";
   hasRunfiles = true;
   version = "1.03";
 };
 "pas-cv" = {
   stripPrefix = 0;
-  sha512.run = "e47e1d20ccb6063a3895a26938fc38387f4a1c6ac8c2271116b4dca3f77361c6bbf806cbc9fee0a4ce749354ee4969feacf5cc535ea743d63aa71e410415a160";
-  sha512.doc = "a90fa6e1cac23aa4b4f0e5de8c1ca7da6c220be16ad430edb592cca25579481cfb71a3c5d9a4d8623a7a69aa17d63f5645fa5d64f20d6d87068c8e1c93e8d684";
+  sha512.run = "4dc3203c5888aeb3c613ddc16446d7ced1dbb8ee1c0f0d983fa010eaf81d5a0a7a9364381be04e10bb15a9f258d4ae086fdbc650ab8ca627b07cc286be1ce1ec";
+  sha512.doc = "93460e4435546cdb2df20e4e1fd555a726e909e411d42068b6f16f8bce2fa90144e1db95cad4cb94430f65b9614d766be00fa8c3e781a1de733b189a0b4585e3";
   hasRunfiles = true;
   version = "2.01";
 };
 "pas-tableur" = {
   stripPrefix = 0;
-  sha512.run = "e17fa2b2e079ab2dbaaeb85210a85dc1daf89f9b2c7f345891f1ea2e7ab712ac012f82361864e553146443588e85f5cf1b8b24e10c151833c24d1e174c2cb00d";
-  sha512.doc = "ac402d7413c83a58ae997d8da8c8b4c9b1a24bb36576b9bb69fb6e28fcc05d3c4b05f7e90960629da8ea2f1ce2db396a3c6917e9b6272ffccfa0b26c60d38483";
+  sha512.run = "61fc474406d55ce0fa4b2edfb41f4ac9b2585e448c2b2b76452a29f2a03eec9ea1658cca2fec4fd0f1b8576919698a6d3ceeed650b773783af47685f33c969fa";
+  sha512.doc = "a498726006eb5b3c7352a776c47e215fedfa7005d529fbdf071946ec736818e6836591670c7342e84d2886718d2faeb44824256f2aca744bf97d157e00f71174";
   hasRunfiles = true;
   version = "2.01";
 };
 "passivetex" = {
   stripPrefix = 0;
-  sha512.run = "5f6bdad6aa87aa92ecdcee9e6cd09f4af84b7c9505e3cc4b6349c8c9b027ad9008509c93ff5e41937d599e1f9f7a3d6a88d59519fbe5c1c29270f943e512868b";
+  sha512.run = "dec61bb52bc1bf8588474e6d8971ca16f691d13b9c1be1f131cf0a720a205df1a95830f2f172df2efc30799d4aff9af064f9d851d9c705235aaf96e4b50decdd";
   hasRunfiles = true;
 };
 "patch" = {
   stripPrefix = 0;
-  sha512.run = "b6023a153af8906f6103d989c6b7481fcaa997ce25ba4a6a19009d4cf8ef91309d7d03729a175fdd6a93c62d94d6f8ad1041185b07191fdaefd1115cd4454f64";
-  sha512.source = "a3655e8b940611baa1f3ed56ed0c1f6cb1e3dd9d8fc4d2df16784f1d3badc7a258257c4a6293eca5aa4feb64d805489e78f91324ef19066f77904e9588158d12";
+  sha512.run = "0ddcaa07696216f9fdea55471e1265fcaa71dd8ba2b8a50690dd519ad8b9442015502ec59b8f9f05c79f5031be3de2956cd71af58153dea8e1917f33c246fa63";
+  sha512.source = "ada97aba615160b3c30c9cdccf3360f3692612bc702247ae3fa44f7821aefa2ee60c89ab79417b0ff658335768512a0d8d9b5b17df619c57d169f6487d39e5bf";
 };
 "patchcmd" = {
   stripPrefix = 0;
-  sha512.run = "953612c41419929c690bff3fd9b2ecb29dfdb6c3a537937e972ba46bf80dbaffc835ee70196f407cdb346495d211c41c1fe21fba340c19f60ddc56a083abdf2f";
-  sha512.doc = "47e83a15b358daf3cb2d4a87644f63b12f984d221c3b23dae51568b711a9eff68b29796c5551840c81e6d2a16fd77ed19fa050fb2498f1aa152c8b1ad673db5c";
-  sha512.source = "307af547aa0f003d5aa7f8b518875b93a9d00bb2e6745c639762895ce1985829a083aa265ad261f98b477a288fb29267b02d295f4b87bbaff9cdade5dd9de951";
+  sha512.run = "a98085cb274c189644fa1307cf4ab5949a9eda76936fd6b74a7ba366b04d58b2a213c1a5ede53f644bdb76d44eeccd919176fb1934b8eda55489fee16f0c349b";
+  sha512.doc = "3c65e6b1fe2b25efb45853deb5b3111dbfa03de7c0b154fcd86719a81bbf725e1872a6e6b5a9955e63f410ff3c05bce5de336f4ab1e612ea0d82b8d44d5fe960";
+  sha512.source = "d3effea39c2dd33c9b40dd12304973d2d96457bea7b7f233f196c2ad0ca9819e57b38ab7b44e9532350b6c1cb519b184882ea924dc198dbaadf185ac177bea63";
   hasRunfiles = true;
   version = "1.05";
 };
 "patgen" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "f214b762c18ba6ccfedd0df11bf3cf47477bdaa23b1c701e4d1ecf98c4bd642b563d7066b7463237492c1b8ffad1130abbcbecc1b020901ab49572007d199c31";
-  sha512.doc = "108534d334d4f1de613abd901d7f11196c83dce58c57f74977889efe656064c563785eafd315f3f63dc2d1cfdc14a4c3d12994dcdc95d098bbf203a472b174ed";
+  sha512.run = "524ea5aa09feba7ef5efd47e35d8d94703be4e191bb081d0b13007e853e88729c6029451e58a7237ad5ddf524c4d0798421316c38d1d9374ed7cd05f2744f761";
+  sha512.doc = "136e6c23505593788da8343f4dffccee77ffcf9fa63382871507db47c3ff23d6c25d0cefc985f67e4ee137840aa3af8f1738a5b2dac5272e568e73b18b71a5e2";
   version = "2.3";
 };
 "patgen2-tutorial" = {
   stripPrefix = 0;
-  sha512.run = "3ade1b053670c62388bd5605601eacc0fce4cfd37284b3205b163c9b47f1b2adcb5745b1d5f348bdd7e15c8b20f22664b5daab4c99091833907f0b80a90a1a66";
-  sha512.doc = "32d8aeabf00a08e952e2896bd64c7e80de6c2ef41b3bc863c8d66c24048e3e1ae4aab6c994119a60152f8481c8c6cd828ad447be8e637637d1167631e746b8ed";
+  sha512.run = "4a157b6351e15274fc2972e80cfca740b4abdce0fc643a499fad8588af71441887974ac258627b9ef215ff9be8e33bb045f134554a6c0382b74f6af3275ab04b";
+  sha512.doc = "4c375722cc01baaca61acb9d93baae99f7776483a6492d19b7cfbb13038a40ec3c76bc8580cc455e9233e89d0c29194f8c41e51078d3996a3e72431d9113a64c";
 };
 "path" = {
   stripPrefix = 0;
-  sha512.run = "b0c01b50519d260d940689cd147c7ae4a501f611f0e76ee8b25a82d3b84d98567ab742b40da5366b2d0800e6a96f0fa2e5de47aebe61823a878a9f9a2a2c2abd";
-  sha512.doc = "ca21c8feea7a95c71664922e149d8a3a6606db1a9eebae517be1ed393cbc8dd3c613e71df53b8998011bbffe6dc8c5e1bba3258bf101e35471ef822230ab77ce";
+  sha512.run = "6a1fad600e4683476206385504ab5fb916caecc1101ac903d23042c25e055c6d4a73b85a57a3293929b1effd7d4af6db26c36ff994d76efd1c4f81073cee785a";
+  sha512.doc = "e52367b81b9042af70e940aab99fa13140c31d58768ce94fb86df74ec9b52fb365168e7e325d8b2e304094e5a35fbd9fd687305062b5b606bb9e5748f143ac2f";
   hasRunfiles = true;
   version = "3.05";
 };
 "pauldoc" = {
   stripPrefix = 0;
-  sha512.run = "3ea0729b9b74369b1e960a8ece1af9a108c2d9351a3d6361da5d67810e7aaa68a74170fc552c649331db4c3055bc8439006de910925f0f837aa0525500b6ee7d";
-  sha512.doc = "9a8d4ffe1e796045e3704f49d628059746e77ba218f1f5170fbaa431b69f744131f18de1f83793d6f3ece2d79fc04844c9fa04ec832122dd696dffa86e5d8607";
-  sha512.source = "e2364405e3fb03dabe0720e731918784b7d05f739ba17d2f69b8cfcc0f19e22dd22822ed7a35f6689b6d83ea9ef9feaf4e5f8e3b3d00aed3b1a64912ca1de2b0";
+  sha512.run = "36e67d812dd0218d013808879eec1150d6029e13519b0796f061a850d2dca99b8c07a2ec2fe9c49004b0f9947db10ac8d02d47a858b8b27852744cea58779d13";
+  sha512.doc = "178950b84cc4d5e1d78001aa75fd8cd5f0b3ca8e800b15fa1b65e19968a4642fc8ab2a3c2a95ab661155437790f100d48730d40a701dfba3a21981e93e35ba6d";
+  sha512.source = "7b35faaaa89048952de36bb0b340dcc367610d87ab104cca82ea8e38493babab9fea26d30cf4eabe7d6bf64552cedaddc57f49c129076a1311c2e50f9a991add";
   hasRunfiles = true;
   version = "0.5";
 };
 "pawpict" = {
   stripPrefix = 0;
-  sha512.run = "2a054f3ecb6b64792cdd31fa7093039614b28f36e1919b493549efc89868ee17095e7ab77bdb5e4608e46821e358e372e00b763eaceef841045cfd457b91a3fa";
-  sha512.doc = "03b523aa178f9a7a80932d1547224eac5ba5ffa0ffd9eb8ec21afe5f764fac869a8c70e3df75ea650c717dfef1216a2f371f727229038155bd07d4375bc1aaf5";
-  sha512.source = "18a2de29b6b472700a3e3e5ad735ea036ca63546accb483f6c85da949b2041c5baa1c72642de93a13ce80bc2a8d97a4a2fad5d6a4c0bee904f6a9a149b600608";
+  sha512.run = "426fe59ed20c41d3b11c87814b5f3737271d20bfb2cbc45142a36a42cb5aecc1555ea69a8ba1a1cac7bab323d8c9f23720601934f183d197b25e84d2037f057b";
+  sha512.doc = "5f8fb39ccf22aea8c40e3fb5d2babd757447e089da79a9df35336c56049872f45bb04fb76ad08d8d8a8404523666841fc757e7ebbb5201a156274ec2c29958b5";
+  sha512.source = "29f272c3d643ce366b3f82b3a5a913534e9b1833677540834bc48cecd946be0b5cf9d4de9e22012452a33c448589506d865db4ad589425634d80fef1562ecba4";
   hasRunfiles = true;
   version = "1.0";
 };
 "pax" = {
-  sha512.run = "094f27135ce5203193a2310f8af1203f0c7c00b40b20810f770087b949e4afcaab82e6e20a9e17074d0f34527b8db1c6722b7ed998341e29cb3ac597e43f21e4";
-  sha512.doc = "3fdb6dde8e6a46d728af62b76fc7c7f2b00e5245cf32a3eebb7c24d0dd031c37fe78495c9266968e54fa6c68966c866bf4acd00dc8e18912d1b774422699e9ef";
-  sha512.source = "8d9fad9bd2ebac748423da3058e2bd84b30b52c190b97bda0194cdc3aa9ed80e4f3eee5d983bed81ab9314a7c791e907484ba643876ac5f281faa640f16a9546";
+  sha512.run = "3fa85993a3cee32753a6b965a2e7a97cccda36f2c32941e8650026d90a8a69c93ba1f762f802f15999b3c32e327e1a98d970217613a660cc5fac68cf3afabd6a";
+  sha512.doc = "e4a2c6b4220bb498bbc1f74ab8fdfcb65d261ef944a43a86f9007bfd0073c9c6aca08fb136c8b1516d78fd3a37bb00388afc95874778fe453e75f0ea615ef1bb";
+  sha512.source = "ad5e65d29d540d3736bf7045c0c392d79d2ba9c9a194a7d04df3c76729105b95c609167900e9b4533d0ea353312c452de0cb02f303b0d5e777c0eddaac0c18dc";
   hasRunfiles = true;
   version = "0.1l";
 };
 "pb-diagram" = {
   stripPrefix = 0;
-  sha512.run = "d3eaf1f72a2a677f1db557fedd48a3e3d80c98c0a00b055d6445b986aaca228237739f3f4386712e3f26b581924322571ec23495961fde6e2fffe6a23ffb90c4";
-  sha512.doc = "c73baa74719bd3a95061c614505e0e60e443e6e4a2690ed2cd69d20062f0decdb15730336ed4f7f9aa03cdea39b436dc85585c36b95e44f861927a3abeb029a4";
+  sha512.run = "6e2e18f93d5575e3f9db1147a9e255d2ab8a3918e25f53315f91ec395962a3c65d7321c1d162ab7510f16b25e4bdc5c8e4688e56820759baef06dcb08833a0d4";
+  sha512.doc = "4b12c7f67411ed86eff674665f61b6b2e34694c937222c7adceaab453d78a6a1f23c58d3abd7ed2320ccf05c40e6b38ff2280bd498e7b71e857bd6fc86de3067";
   hasRunfiles = true;
   version = "5.0";
 };
 "pbibtex-base" = {
   stripPrefix = 0;
-  sha512.run = "3a1aeeecd8e8481449ee074e0993d5d1c29d2b6bfe25d6d333a99af402b18d4ecce59c6fcc773a3e6b086d8ac1b55a57f34d59047e92a80facb6efd38b6c8e1e";
-  sha512.doc = "6698b31cc6ad8fcf9abcc9bae2ee81b59f3d32d4a3b5f6bbe45f00033b61c708cc6de75a349164101ef718a716bd4c016a7dddebd788127a4ace2877dcf95554";
+  sha512.run = "4c807466ddae93f7b12a62fb32b4a8a8dcdf16eb8935548aaeeccaa90de15484e396f307f229cab8a2980212aa7627e80047502a067847114ca7ff6a9ae22c3b";
+  sha512.doc = "a87c2feac2b0a115ccec0ced7ed9b5215c8b7501020a4ca14fea9a5062bc0994fa31c892c1a738c582118b73ff4df5aba371abaef76d3c15a00d5268bef85031";
   hasRunfiles = true;
 };
 "pbox" = {
   stripPrefix = 0;
-  sha512.run = "4c0d4a7994d80f3d24aaa5accce99886e84855c9c4ef16b954290eb2c4212cca68644207b9f179043c9ca0491f2484094509164c53d5b58a78eca7b234e8ed48";
-  sha512.doc = "8e7da6e1b1474b142d785f0dba59c6124cdac51aa613302812ebfe79eb466b02324fcbf74e589b9b2a4d740438eb5be32aadea925af3979c72d0cef387f39a25";
-  sha512.source = "16d754bc533f0ea28c8d87c28a4a6c3d5af181e2107d934f44f6a70d9a74d92930d8e43b2ff6f462371ee49bad09a1b5d843a5da320c12b0eae13cfbeccd9404";
+  sha512.run = "cf2ea3781aac3d0b8619c46513bf9894c4b4efd8ba89eefe2e5fbe4e8f82fedd3b17f64467598080a577c65cc21713671c68763ff2600ce24fb6f6ddfae83a3e";
+  sha512.doc = "1955a1cd5336a7d71483f49bbc8c65426485fd38447282262b58b4633398cda0753c5574455421b19d92d5c88c599f9c227b54a7c340a35daf233a4f48a1c276";
+  sha512.source = "67cf5bae9494a81b97738ca8ed5877c009d631cb8ac681915559bc4919f536c657fe4e3ade36b8e4a0ee3b614ca4a23bde8a9cae19f3a9aca12cb2e3926160b1";
   hasRunfiles = true;
   version = "1.2";
 };
 "pbsheet" = {
   stripPrefix = 0;
-  sha512.run = "ffd66e88d2e6af69be0125f66cbe425cdd403ff4c1c330c93a06ad0c389b05cc5b17c8a8e58943e9fc881f25904da64a9c5dadca19968226e8e3457c3380b954";
-  sha512.doc = "522ebc8b15942d74949c2210ffc591306d215e6d2656653b4ed9a3fa38546f211624f4ea6d52ab5b69ff4a9c2a7162e7a2eb65d58e23eeb84103b5283bd490c2";
-  sha512.source = "59d8d0fc13302ed682f9d0ea3b4b28662d79cedee2522a5c110cfe95d72acc9afb235762a568e0124ecb9260eabb973575b5cc0beaafdb13a17305c6a330eefd";
+  sha512.run = "4fee9d64b1988f9981a056adc10de3be6940cb2cc7e23d9bc4effa8647e27601e5b74d2c15289ed5cc96c3f42d4f2569d897be111e2dff064a4c5d40445c760c";
+  sha512.doc = "d929cb815e8204268f17d9e71f53550b7647d39fd50782c1e6bb848a6a8840ef8389d2f3359bef554450179bd9a638ea80a1c7ec018c7275165622f1ba645a95";
+  sha512.source = "7790c2a14e44ff68071c4b3f0017c5b83a2fcd50a110d05b55297f07b4b313ebe8d5ab3b4d071bab5b575ded1323bb26b828aabc7cd20522a4298827d1686c12";
   hasRunfiles = true;
   version = "0.1";
 };
 "pdf-trans" = {
   stripPrefix = 0;
-  sha512.run = "57157e8267ac09e3fbc2b9287165f298823898ed3656c4cbd91390555270289113c9d1dbdfc17db9fba77e2e3768c74e6011ac21a0d195620a1d5e50f23e6c41";
-  sha512.doc = "ff09b34edf898063ef5aa9c4f72b546f3e84639b69a34f2994ff0a22632c221f5dbb2c130b31efa19ab23a4549a1078c42702b76208251eb67bcd7bf1d4a6211";
+  sha512.run = "8e3d1526b0373113064e4812003b84fd78dec65ce4946ef991f09efcb6ffab8e89a9a655c8a0582e1f4452feb526c077ec9cff30b1ad7f3c59f07bc715e643e6";
+  sha512.doc = "a275e35947c38b93f5ade7a812d7938d342b25460e2a29e16a1431c7fff5939826ffe0bab30aeaf504a57ded91925e85853f93611702ee6dfec713031edf9306";
   hasRunfiles = true;
   version = "2.4";
 };
 "pdf14" = {
   stripPrefix = 0;
-  sha512.run = "4fdf40a81588dc5ab4e3e0d083611fc25db01a10194b69cb7233a1c2ed30dc7d69893f04fb14b6e0c6da04be2f13d9f4c3211ecb4551503447b93d3c3655cc2e";
-  sha512.doc = "94f5cac8ab22255afc1d12d20611e574c8d305486a45290a5331fe00c49d46363a2676f0cdc3e3275ede5c86453072d457d8e32bde22ed537d27ee0d26d45ce7";
-  sha512.source = "f1733d1b8b34392640bcba5afcb83ee236cb0621247d61e2f7e86a963726d8c66a2d6bea5c884f9b3dd9379c30dfb0acdaa7d22456a0608ef66f44444238e973";
+  sha512.run = "6291a2cbe2fea33d2a948a8ce58415de875cb09df1eaeb674f2a8fd3e3eb9fd5897d73e2ff613cb71562299ac22b07566b3c8730c807928e5a12f3e572f99622";
+  sha512.doc = "1b848dc73554175d33b7501fe83f1689e5181bddc6f59db00829ea39ac6aa7f91ca4f936f93a66411ebb257fd77132c6a4fd3371c8c28f0258cdcca31b8f0b38";
+  sha512.source = "81e13e0e9d0b6c4c0d6a764c94c6958a437a2e2fa186532607058c09f1c3ca2a6187a778ced20e67b7d70079395be11de7e2237548b12843f4f5ff80cb82c732";
   hasRunfiles = true;
   version = "0.1";
 };
+"pdfarticle" = {
+  stripPrefix = 0;
+  sha512.run = "50cabf25f9da7b9adee489fd0a01fd9e5da2115d1dd09111507143a99a605cbc7e2de5a40a0e963b68942a601b7f0b753fdaf9cc1eadcdfb1261730fff5b4875";
+  sha512.doc = "d77754cf21565337f6db1b984dd3812798833f61fa263e39f9a929b25391a3b31a55df97a7f0db4fd379e4bf3855c51b61a719c30187865f67d7d37444e17de3";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "pdfbook2" = {
-  sha512.run = "792394ced9d0b195a05d8462b59abded5c341aa1bebd76d197dfa2387624469c06c4dd0002a7414682e01969e4568a48e5fcb08d57d763748d4aee8d40758687";
-  sha512.doc = "951e7fe656db899c801fe24e3dcd3f0c4d64188b0299c94afad3e8d7b4a57dddd921485ce3d9fde0e78a134ef726d1c6fd05aa38b36205ef37b37f2ec1c9505d";
+  sha512.run = "f4d30e19b55b709c91eb64f9075b0e2e1d85591af295ea3ff64965073ab730603e660935e627e28a3878b700d417402d8de17fe6776022533f59f500a78a5255";
+  sha512.doc = "8958c4abe38a3a3b6623e3fe1861be908faffe935a433831cc1c87c463e0a72ba33ee89def4a1329350431e313e032ab35438be9f033e0a81711ce018a970b4e";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "pdfcomment" = {
   stripPrefix = 0;
-  sha512.run = "b20e6c48b8b7fc95cd6516333ed29ff2d6ac170e74f768f424e7d7de7b110d6c890ff7014428845502c71b2ca9af35c17659c6c0d8f647b136d41751ee908c5a";
-  sha512.doc = "9613c272b370030cb80d650a7155fede7cdef72212e8757070a305f1cb94510832a603d783233f27573f074aada3c162beccaec97266c344042d04efc026665d";
+  sha512.run = "82e1f9e9dc35f652d1ad348c6f2e03c1472c36c113cb17080061f66777d129f55f56a29c2a94292974ed759d12727d93e1724a8b529ed0b4c8c3e53511ab1934";
+  sha512.doc = "a7b6f568daa2d2c01574f56641326c1cf46c692d247fb8a8fd7485d6e804241a43691ac42923df35dac4453a23a5433fe1d7a063a88f4675a00780e89675a169";
   hasRunfiles = true;
   version = "2.4a";
 };
 "pdfcprot" = {
   stripPrefix = 0;
-  sha512.run = "29776d792396bcc1b1e8d742957f2eb16cde308d77487894929c202cdb0973cb2df2a0e5e6afc7ce29720fd8b9118cd0c54af8b3d062669b64dae6d14bed4357";
-  sha512.doc = "c1b3d85d24b42b864e7bf70c272829d521f03d670fa086d9e9e44a8a0d8e06d6577c8ea6aee2a09486f072082e50d98e15d12904bc76a2a42397b8f75043ab66";
-  sha512.source = "5397826472a8e6af9aa8d6ed5f6dab976778d0232f882076a5034d46ee096e147ad562ea7de461486484abd47334f50f9427595109c10564d47bb4a3bbc52305";
+  sha512.run = "d046543b42966f8a566be0c89d78ca26b26d4095d99d5b16045283f0eb52a90a92122c1e87a2842d12d7ef2f865fbeaa69315a51bb922f713d33b9ef2e270fac";
+  sha512.doc = "ef19fdf93050dfe35df88163453067e589307b2173481d4f3b6943411bbaabda94b472622b93485637de5c2f885f9153d5078f5d3bccafb52bb28d3e25f39ca6";
+  sha512.source = "fbbfba0b35c70cc847a6ccbef17a1f506d26070d616254cd415eb6cdcf1b74c5a09baee420012fd88c11e4b4f8f45c5b7d4e2f5767e9621974a8d941a460360b";
   hasRunfiles = true;
   version = "1.7a";
 };
 "pdfcrop" = {
-  sha512.run = "6e273965655e7ab8cee0f9ae8ff489b7e7b782f7a3bbe89f8a245bd1e00a46f6752cac43aa8e3e4c0cfaf21642b7a1b1fd447e25cf5adbc6f2d14651814eb326";
-  sha512.doc = "71683887bd5fc1557fc53b42f4b34c691064d3321c91ccb7831edb5d00e7415b66e41144b8d887fca04dbb3acc785fe7ed5932e047e352b57a24a37cddc7f531";
+  sha512.run = "eba7fd5c529e1b3a29d00ee679c24748050f1a6005391de4bdb6e6fd537cd447b01e6569e0eaa87251d49e14f548dfc80d5e33f037862a4e978905af37e9e186";
+  sha512.doc = "5deb207030892f9e351d511bba20e65e957b5db17df6af60022c3f069cba127be6e9bdc1e94600b6f36af8f35697b041ac5aa529ef7997f57264b1dcbf76ce2e";
   hasRunfiles = true;
   version = "1.37";
 };
 "pdfjam" = {
-  sha512.run = "0f38852f4539efdb1831a1f53e4937497e2b95b2cce845c3b4af1b303610a66177d8a977b57a04ce50b639d06c1f805cc354d840190638965f002f5581512983";
-  sha512.doc = "d7cb3243bfa9f5f013330b466adbe6b48ce755e8dd210b86aa5d83ecabccfeb92ebfb9361dcb6499c81acab263e8c8f644ef5a77e300b688030ca361719e98e4";
+  sha512.run = "16cb97f7af45b0df2d8190eb8127e6e8837bc3971765f449c038a3afeb053c68fb127f087efbd2735b8958b529eaf3adca62df07a7deed5a90cf78947e9e817b";
+  sha512.doc = "5814b6464efd3ec226fb2feefd07d7c7f0ed3aeeaa341c25bebb5e998b438eb7b86d9234982ab1f9ec8b99cbad6fbe3f2eb85239b37070f9ca557e698deaf96d";
   hasRunfiles = true;
   version = "2.02";
 };
 "pdflatexpicscale" = {
-  sha512.run = "7745915f0e27647d65cc2c3613a9b696d80179a2ab0d802038f7fa3a9b35c530ad061c3b95eba04a20312d38e5b98357bea40f9d5336fcf68d14111d675bf40d";
-  sha512.doc = "32cc6ee92dbb2d7cac71cafd31e17b393f4ad0f766a217669653f7e4bf216f133e19d5a0bc75b4b80229bae986340bbfa21e230f921050b15e0a528d58dcce7f";
+  sha512.run = "d36dcc4d70156d52bcaf668d620c8eee5db8914473f943412ea5ad5c8bde673a6715fd5a69d13e502a5d4fe0b1e0e55099432c4e0e5e02bd5f6155ca5804c3f3";
+  sha512.doc = "64440f794e88c08bfeeac75d6d4174eccb800125c8d57e3b0be3ac6883c04790d422cb05cbed6be7335ab2e4d2e6bb2c8c0137c04160db126674960ddb7603e1";
   hasRunfiles = true;
   version = "0.32";
 };
 "pdfmarginpar" = {
   stripPrefix = 0;
-  sha512.run = "d12750d76770dd8767236f50ddb44d38a36190fffc25b00ceaadf822e0b2aac18225eb05bbea976044b93dd15da8033bab8933a26e87d880d45590d72e769e1f";
-  sha512.doc = "f7409a193b11bbc36b50cbbf1ca83820f71e86d1906ac0fa168c3cd13574e621396f613b8f12d085607a2b4c92877c443009f009864b918e202d2a2ac3cc219d";
+  sha512.run = "1cfb39ec9982fce753e3c0040123fc0faf39d94a41cac95dd0d189f2f5dd21f0a03c2f7e26de999097905b2bb32ec8d73e6dfa808c8ed2a49610da436639767c";
+  sha512.doc = "24f2fe0616b0e6872da321bc7878f423df54057c9ed7b62eac4e3de36df4ba9a5f0c4481392902130038c8f2da098d2fc48be34056a03d6e764a01b66c2649db";
   hasRunfiles = true;
   version = "0.92";
 };
 "pdfoverlay" = {
   stripPrefix = 0;
-  sha512.run = "b4e173531c6b1515f81f71fad9385948edf3ec0e75ff0fa367005ca30f4d9d7585c9d93a3111fbcf91323f956ca94732a78a78321ade5af2442bf43f863fb9e2";
-  sha512.doc = "3d0c67b8f9d4ffedc975db19a2a91acef387657dc6f6b5200f44436fef1310a9f04790764629ebfd6be87aeb761f85f48e380dab3634dcba8b12acdf2a560df3";
-  sha512.source = "1181e4c7e91634ec6a86d104f8376449346a9bc1b0923e5e04a629cdc2203b8ec02cca91664642ab6ae6d5527e6329ffcdd6892297c548d45ea60b9cb6b91060";
+  sha512.run = "ddb976f8aac4a3efb3c392e0900ddced76fac3a14cc8935142a5ceb344b9eece59eb6697323ff21241b327c0b6af6028024dfcf88a69dcf092f2d3f359d9b4c7";
+  sha512.doc = "fbf34d577158ff042d7571f657ad8b145378c9387319b157270f56f5eef7d5e0bf860bb4eae3329628b9515d0641474af5911fa34ac4545519c16769f81f3a23";
+  sha512.source = "0bc7aa88e7536517303d4fb8ba4f03f3f9b99d56425f368bbf1bc65227ad1245b1d6e146a5daf3cb61efac2bba3cc61675804ce4a4fc1a6f66b9f8efca708b65";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfpagediff" = {
   stripPrefix = 0;
-  sha512.run = "70f9565b908591199fcf1e060192391ab89656274fc336166ccf2c69ea98183e883deef9335ca5989482bf312d3aaac210705e64eeb79207df4523c10a864e71";
-  sha512.doc = "a3ff81695029fba4c52630875c310b93166e43878e403f1717218bff0c896af81e3a9a0bde792867f1f467b8d3ac32963f241bf2ab1fd2a54243ae086aef4cc3";
+  sha512.run = "ce28e8160b14d0833b57445392237dceab536108a9d96942dcc0adf5305c149ba08269d697ab8508d8ba05dbc59dd972dd242cf7c4cd12e3d3e857eb885e5277";
+  sha512.doc = "dbdfc61b7f7bcafa597e439085f9624a48b734b2adbf53dd58ba6186b3597180b7ad3fc757acbd07c6466276a9e865bc154245e84d28b1e291004cdde64f55ea";
   hasRunfiles = true;
   version = "1.4";
 };
 "pdfpages" = {
   stripPrefix = 0;
   deps."eso-pic" = tl."eso-pic";
-  sha512.run = "1b4e4394c19d8046c457c6a7a8fb973ecbc05cef3a60f697d6e478de5127ee60b6d83cef8a581038fbdb5d6d11d71917ddc3bfa5102ef31487bee3bcef818b05";
-  sha512.doc = "8820087411ba55efd4bc09610fed21891f3d197a9595077419e5136d032498669bdc03822119f8cd40e7b3aa0be37f683e3fd88650924ad04235aa0d96a3ea51";
-  sha512.source = "98ced144ac5e8dc18a240c6a54d70d97a8ee3c0e6571135bd4af5078447bdd1c4b37f4ab44798f441c80733f613e375658e9e7fe515316bda7d7ddc76f824a60";
+  sha512.run = "91e72e7247d026ddd7c598a5ee3d79bbde2dde920567cfe6d60601111d21e1663ada42c39fb951135b76f65e4186de53c0e1ca5c8846649c3a8abdacd5ab9643";
+  sha512.doc = "a04d593ee79a71d79409b475c169741bfb7a5ce2e3a1b1382dc20a8faf424324c5563161a13893ef4ff4da7b9b5513d63464fe3726169845bb402169b2523e3d";
+  sha512.source = "0e7d01cb7bf81f110ea073caf547ce75cf92236a5df45425fb6dcb11baebaaaa6f8582f432bc0c5d574ece69f03f9898d6d0d4894225444f240688b301ce3730";
   hasRunfiles = true;
-  version = "0.5l";
+  version = "0.5n";
 };
 "pdfpc-movie" = {
   stripPrefix = 0;
-  sha512.run = "cdd91d0bff1ab7e81066e1061b60b2976e83107e6ee3e8ee1edd40fc4185fa7693ec3f8f9c33f04433cef165727c08091a426f32ab4967433d0e0696f7dbaa06";
-  sha512.doc = "6232db67dd66475d02361496ae068bda39eaebe64966a425ee61fcba270fd88448982ab0ab00018aacb6259486d506c0810a6c2980552ef7eaa997d33d0ac4e8";
-  sha512.source = "b2d18bd631684f8dd4d4b839c6a7e61d52c8e9e50d7771d8e7e9000d39300fb5c3cf13df18a65e44c3337322ce544c7eda704b205d0caa08749450f4014f3f08";
+  sha512.run = "131ebad8b05395d0ca812fe50a103847393e4b00bc5574109ae3644b6500c58b86c48e33aab548c2404bd08ec6b893b9461d76f957111c7e653fec8473b8e63a";
+  sha512.doc = "fef635a0d0a48a6cb35fe8c3e0b17342b84bbeacd1604e01e9fa1217ee92aef4fd073c1db5aa72161082c6dbb273f1a2fc55a2bb057cf3fd12796de8844df614";
+  sha512.source = "e4080ab714b791e2204b8215b70a0b979b9810c5c69c69234f6aefd4b02bf182245b0e599040f56b4814c6486ae6b7f715d3bb597c03475c38f4d5bc624777fe";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfprivacy" = {
   stripPrefix = 0;
-  sha512.run = "cb33b9d2cad1d84418475ad030eb1b2844242afe62aaa2cb4c573853c6996d08cf61e64a90578cd91a3ff2b1d84839c1b94e312cf273c889d3edf0642b9128ee";
-  sha512.doc = "beff7ec0d8d54f4d9b32fde2af94ef22243e0083913ea7f7f88b0701e7dddc197e66b5fb48ed870e17e34e740a2958d1f38021cfdc3a222d90c4e52d1f1e9024";
-  sha512.source = "0bc784af40058e0c51cc598b3f176128a273446e20e021cb2a8292759979ce340e2a1c50ba1645509e1ff9cf08b5b370479be8d3d2abea892aa63e62cd489174";
+  sha512.run = "8ec360bcfa5056b240091f1b2b5e6562656b15379bcf74b161899ddce41cb70d08cfdfb73b9497efd48e192fde11bfb4ffc59ed99059e1b6f6619e34b7f39bcd";
+  sha512.doc = "81e2d8a0e5f5889efbf96eae5e879378fd0b4cdfa9db66283e34836b767d27d216e35822f9225eadd8816e46c503443055dc822f221b35134ecf95fa2e0d22ab";
+  sha512.source = "7c31f0fc5836adffb8bb9417fa90c5acdd1cfab2f653d79c00cf5c4552435ecbf915cdc53ff4cbed796013c0c737c25fe779e9410ccf646090d5071139df5069";
   hasRunfiles = true;
   version = "1.0";
 };
 "pdfreview" = {
   stripPrefix = 0;
-  sha512.run = "3ac7f8c7b2bbe2df8d20cf0aa3e262e876ca41948a134b00a4ddae4232c24a711bbb27fe9b25fb0aa811ae6e06797a88b4eba422fd21c91c0336042230d2c820";
-  sha512.doc = "9c88f7a034311b67ef04d3cda38ec39b75fcf4def5b3551903384730f436ca8cd33b70240cb9a3cfbeaa0b270cc31f6ecfa1cb9909e61e686c5c59a9a4afb17c";
+  sha512.run = "1cb41c081230f601eb627d81118a3832597e97c2e0565f48f584e8f4b6d039ce903cdca54fea4591a5c9707d5145ff45470858dd2e39d3b18a2e964cb380301f";
+  sha512.doc = "72f7a2083c7bfae24d3a4cae397925f9d02555587c59cfea8d78b8fcc0de5db24367968fd27799f4148865ca7c2a4c2dacd11269d1d71c36f039fdc913a532e2";
   hasRunfiles = true;
   version = "1.2";
 };
 "pdfscreen" = {
   stripPrefix = 0;
-  sha512.run = "922128818d0929cfe4e114313b7d427ae46bff282d6dcdf20446b0917bf6de43d391a8d3aed49f34275040b45ef790a63281c911a766ebf7be81c43c34a1749f";
-  sha512.doc = "b8a0738c6e70258954145a58b5d3443188c9b4f4b02da5551c9edea7f37e4984b1d268dd5b9912c09e9d1a637a26ef38b9b2777358832bf8c9f23d0f917e2217";
+  sha512.run = "e8a3fecc3aedfb87156c1dfeff4673650a8dfd31109e3d76e7f51dd99b1610aee086a2fd183d48cfe1403dadbc6a8ba84fcfab5ea832b43b8a5128bd07612112";
+  sha512.doc = "8f4b1f6876b0adfcefb4a9b1ea5f9c8ffae0fb4ffc245fd75f631b172dc592dc82ffaf68b37e9c1907db5275f317b444966a466ab6c8e7b20b80535842230794";
   hasRunfiles = true;
   version = "1.5";
 };
 "pdfslide" = {
   stripPrefix = 0;
-  sha512.run = "569db4128c23ac61106c0358b666e9bf239a2eee109d694e376144d17ffafe4cf679e4450e20261d4c15d8998f13b525ef14737858211954d135e00fe0dcf1a9";
-  sha512.doc = "8a28b9c0595edec37a352789368b10e15999faeeb526bfc0587500cf9756c18d60117c5962aaf684b88b6705f1c7c7f8daa0f6ae35288dfdb495e757c5c2f692";
+  sha512.run = "bdb1d91b587375a0d72e317e4a762b9cef984dfa36d94fd7bd13a3e22941f0f1f4c981138b805613f7a62f4d09c7c781fa9e4e5d4b5019a749a8f8a700bf5540";
+  sha512.doc = "92008d1e461e5309649ec5160b7dd3796455f04e923f4e5c8593a3a4cc76f704639206c48a4af13bfa9fa3fd735b03ad419f07d1222a45d093a6824aafcb8df1";
   hasRunfiles = true;
 };
 "pdfsync" = {
   stripPrefix = 0;
-  sha512.run = "7132b4b1845abdaaf0040fb4f07fdb3650608023bd869393ac28b4e25cf31ad993ebedf3fffdf9fe3757d9ecd22109c90ac87334eec2944d0fd26f978b65ece9";
-  sha512.doc = "f1a7e4035edaf56122b1308be77cce7d92116599bc778032be742233469df5c32f7da7dc12bdb623002e2a7101f04befe8fb7a59d21b27565e8fc6f26256a0fc";
+  sha512.run = "0a7f183fd83f52016d499f8aefface745fee8351bafb4abb467166553d742f91ead7377fc3ce8111bc57253431aedf70f4b540975a1c139017f7d02ccebb6ca4";
+  sha512.doc = "7e103ba84fd41acbed007f4acceb0188372a4984977a3fbee3bf4484612c6e0621a934709982407bd1d59a69167c1d2f5ebd4b94f73bc502baa8a4830fe3f983";
   hasRunfiles = true;
 };
 "pdftex" = {
@@ -20694,542 +21203,549 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "d1e6308a390920bc01a27fefc1a111212e3b060430f9916f4e2d0411c6f870170041929254ced6afa3baab685fe76a05a5ebddfa8190d97bbda8b38780221917";
-  sha512.doc = "4637fd65c892364be86ef52af2d1efd1f95bcf6ff0a07690b59f74c83f9a3b8006a75b892693b25b14448cd4c39740d3782831dca4d52b0939ce588585af6331";
+  sha512.run = "47b862d6ca260ee389a308a2027259c48d3b6a478c718684c7554aeb2f193142f348a668fb426d49790cc4046659ce42fc0bce099ea4c65863daa129de4fffb7";
+  sha512.doc = "bb9a4ab19719fdf345146877fa91d3bae835e02b35b1dec6b288b85ea96f0492682bd4b627bf044fbc49824b6b7059a4daedf0c99055ab1ceb21cbbd86154762";
   hasRunfiles = true;
 };
 "pdftex-quiet" = {
-  sha512.run = "a8b87c77278239d2ffd178722a9d8939329e7ca9eb0b0529ef67c86144b6d4e2ae280e9dece57058c5e94fd115e34387dca8f65209861c158a529f1c082a270f";
-  sha512.doc = "c9ae6b2cdf08e675116e391f5a80286a4380cc63256444ac20438e769a5106780b9bfcd0a2a6884ef5a3fe7be9ce0f04e18f6d8e768940b137ffc90e01e75508";
+  sha512.run = "7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104";
+  sha512.doc = "e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "pdftools" = {
-  sha512.run = "f87afdaa518e4c2fb918fcedc24d75d625386741c148aa89097006048dd57368cedbb76e72f82cb76cacc732f6639a60cc8bfa0d6dcfb96a3c70a2a5838eb5fb";
-  sha512.doc = "4304a2fe4367aeadfa1d057fa813863edac0858a74dc05f57c2c2110633611b5f4a6dfa84e6304eb9a943380e77175a14d38e3b3c0cd9f33fe161f3ba5ba981b";
+  sha512.run = "ba9ae7b0bbe512465357405e87f3d523235c2398d4a94e8d0c8191e37db06bfabd6676f3fb9f603397e5682f9dd4f9b1b4cad03fce89448a9f0b254f8a7f2b46";
+  sha512.doc = "3f95883d9405bcec282468f42f8718bf9c510d98c41510aa643ce0b70eb7557f67b75def0dc0e1f862f79d586f0f49959b4c826f8c468ca9460fdd69d3d4ceb5";
   hasRunfiles = true;
   version = "0.86";
 };
 "pdftricks" = {
   stripPrefix = 0;
-  sha512.run = "6cd07126e942e53fc84d079b36e6078516977792b6b04d3e6ece0996ce591ab88346f59b6e1ba1f0cb7674f41db637b80ce9a19b643a2d7d57cd48c1f630d3fd";
-  sha512.doc = "8a9989732bc55f169d67ec1a4d9273a63174a3e24ed286b8c048717731c02063430220f7c5fa27d848efae2cfa96eebb2ed289a041e17e998ccff701d6487155";
+  sha512.run = "f7c0a71e44d0d388ab952ff820e5af63fe0f94acb2feb3415a2d1b3cffd94efc7e8bd17efbb7b608d082ab1b7d7ba1b780c63088df54a8db241c9b3d133eab1e";
+  sha512.doc = "0e3ec1f3b7d7c9bda1e08060f0ee0615244863e513a25370b598f22bef00e6ece79592a105eb13cc913c169b1994c8a38fd60be0566e1c52e1ce2f97dc1e5995";
   hasRunfiles = true;
   version = "1.16";
 };
 "pdftricks2" = {
   stripPrefix = 0;
-  sha512.run = "0557236e2abf369844f2cbd14c12f3647b4258e53b66c643c243e59f19490ad24c519b413060cac9fb32d0a2098eb60d461491af952066cdb51d681077a36f56";
-  sha512.doc = "759ee31dcf880689d39b37fadc3105398193526a91849c1283ac64ff95870e07e2d97506fab2fdb7e1defa2d1040d29d126ce778d4d918532842d09ae32bb4f5";
+  sha512.run = "e50406cd680e1d5cfabcfd8000b743fde61dcff7e3c686b06f58fd1fd36e414d53140b5d244ef65931aeec67dbf458e5e2d43266f26ee9de301babbc0f88853d";
+  sha512.doc = "4a22c280a28e4a45f068d52f4d75f19b5ccfec30609d7c8d143cccc67d16fc04cd1ae63e7d6a5a659a0805ed85d96d57ff5fba4b246f67029457088e7696ad23";
   hasRunfiles = true;
   version = "1.01";
 };
 "pdfwin" = {
   stripPrefix = 0;
-  sha512.run = "a1fe7c369818312c0c6c96e30686f79b1fc399c2c5bf1141db5218254fe25d96f77d7c01ecb87d5259d2382644f08b21046d1a7465cf01d1a254b7240aad844f";
-  sha512.doc = "34b5486cbdf80358dbeaedfdeb1dd99d7b1ab78b5e24faa5b93ec625a65a131d709b239f002257f5e095bffe6a00e4ff5d5aaca26f8d3e24938767759ae0d6ad";
+  sha512.run = "7f1fafb7396eadc81ae39727f35b1f49ee0fecf7ca1950d8fd5b80c46d24811cfa779a6d53b10c007a7916e14584de5e88f2bb5b1f3ef8fad739dde63e56bc0d";
+  sha512.doc = "d352311a94d9f673ea8c6460f6771747b0523e2c354e5c7114cc58d7e0e92210f4eedb70a728d423de387a2ed2a3460f1acbcaef38579a26d2225f713e606407";
   hasRunfiles = true;
 };
 "pdfx" = {
   stripPrefix = 0;
-  sha512.run = "46ebac76e5d756fbe6af1973c5a5d7f3a19bc987e6151455af9dd0e70d339a6955c24eb4dface3ff223577a2f6e2f4bc805c1e1e88e42b9fc5ccc9a723922714";
-  sha512.doc = "df5d5a6d61014dd466ad3e88ea6d384f94deacb079e8efa43172d4ce309a950fcfed4bc0ffcf07d0688f9e0ed50bb3cabfcf45388dd97f5dbb7f5601728850d9";
-  sha512.source = "321d9d9f6bb7a88c1dfa5f5fb0334d552d4c085c778160f0e914b8e9b927856ec8f273a0a14c2fd03749ff3f88f72ca3a90b505a65b9481319ad0afd037e3bdb";
+  sha512.run = "c1e1be225efd5bd66873663ccb134521b40253875248096a66a8499609e62e481fa64e563afd75952b2dc0041fa1fce594f4047c3c91fe6b9443493ce8899ae7";
+  sha512.doc = "22b7e52295ab8da136e584f545001d0db480cefb06b7d595133ff3508c9ee3e7b7d8c8a93c41ebf24a9e313b4e40fdf355a88ef0a65b629c3b27f5f4bcec906a";
+  sha512.source = "31c9d2e7fb89f9405f26a18dce6a5066958867ca03ee793e46f9676022ecda77074eef23fb4a238af5b077d642107c372e268ce5b4e7c0358d7ca8c0ed6daddb";
   hasRunfiles = true;
-  version = "1.6.1";
+  version = "1.6.3";
 };
 "pdfxup" = {
-  sha512.run = "c6909b34d1f7ced60a5a5f540ca6898bf159744c5ef2a60fbf428f4f0e784f73e12ff6bfe85367fda2ac6a5be616eac54be467ef0c283fc879e8846c73b66353";
-  sha512.doc = "f48822d648866b249f5917889157ded2b21b3adb0a4777b680603757920e4abcd8fe6b6e4cc6d978a14bd4a1cd5417fbbe2352d2f374d5d19d3f8a9768362343";
+  sha512.run = "4086f58241799139e980c97c1aae786566bb7801932334d78e89dfc5f8e718b6b9fd3eada32ae006b9aeb74d8b2644071a1b1e60db7dda3b4b4942947d727fca";
+  sha512.doc = "3888fce668affc7efa7e9d88c890f72c94b49dd88ea3c05af956943dc015e89ad930e2de3a67e023c7e1be2cd1c7911e5df29dbc273e3c2b219eb5377c165956";
   hasRunfiles = true;
   version = "1.30";
 };
 "pecha" = {
   stripPrefix = 0;
-  sha512.run = "daa2e215a94f648e717796c2bb8e576445c7764e774454c6f6daee098a7a8802f728e13281d6894c0f7ab8f08097fab05f28d668e1f6a7118419780aa7531b3a";
-  sha512.doc = "458db6d1200d61afc16550a8613f234e6d2ed4936cf9e963a6254e9ae814f19e66f8ae73552df520fa6e953142e075291934fa62698129ec0b4bf49af215b46d";
+  sha512.run = "12092c82c52e34259fb0894b8375c45fd94b9aead121085736a0f7bac90b7e156906a22d233c596c79880aa0b858f7213f37b2059cecbb4627ce2e4163f22335";
+  sha512.doc = "3d0d9184aa0009ab67f299a87b3840513229a93ec08e33208fc7b3c1a69fe043b02844ccf7569d14c5d5cdf0546224b320970caa080458c92cc299853b021c98";
   hasRunfiles = true;
   version = "0.1";
 };
 "pedigree-perl" = {
-  sha512.run = "146d596df52a0df51c618308f692e6ba2e1d79f0fb8c49dc5e0e0164b4baca15164772f558d00f40ea34a9934ac21f6fabb3a9c275f2d4e008e655d6a4ac1177";
-  sha512.doc = "beb28e19bd824667d29e0a94c302994d1e9b21b69e9d4ce6027aa3c486408cbbb9769603003b7948839f95961353a1ba406ffefc2db90cc3bcc9a0e6754a43cd";
+  sha512.run = "9adc918e1156b2a14bc144b96b5d3fe2b1272a5c9924e30c67236c564c1a065f06ea075249df21f19ce13b9cc03a885402e120d6b8f40f912d8c6ef4b98fc1f3";
+  sha512.doc = "1e645090b3cb78b95bfed3398923c6e4cd39637238e7849bb1d05623307f82115fca87ceb6bac2aa89beb68371d7acd438099675ca33295839e413905b4ae150";
   hasRunfiles = true;
   version = "1.0";
 };
 "penrose" = {
   stripPrefix = 0;
-  sha512.run = "6b25de13f9a14d9bc3526eeae019394f6f049bea0f9d8dfd6072e39d2814370235b8896d4c94c8bc44c93f8abb398015af6280ffe4e6ee9849f9b81cc8c43924";
-  sha512.doc = "f82e19e28f8efc0be7d716f2cb5e8808b3dcafc4029da4159c57088a985c6b5f7cb433c515e4dd55bb9203bdb625761af81cd9bceab9545f3273dbc8ee3959cf";
-  sha512.source = "cb3fb7406e4acce0b558c6a39cbef9c3e93e20596e79434f81372ab9d471dee849635d7296553831249d1024e030e748c42c34bf7843c3a5e8a2d90247368581";
+  sha512.run = "2d61b2b6a46cab4a0cdb5d306eaebebb85af41ef75baef395dceb253ac68966fdccdf2317c6d26c24fa359e299f13823e4f69c40959cb2e88045b65ecc1148a9";
+  sha512.doc = "58bd3b307c33494f61a28c897ac25a6587ab550d4e1ccbd5f05d101eba6466fb3981410084f34d7fa16570b3af6ed1e56cb5d9cca18429fd23d3371601daff42";
+  sha512.source = "43be9c9925c707c96292d0f7d6d7fb9f745582cd0d39e8a0323d3de766e56d9dc4964800568bfd6bef83231a91ce4ee17274491bee931b2214e5f4aefbc18b0c";
   hasRunfiles = true;
   version = "1.0";
 };
 "perception" = {
   stripPrefix = 0;
-  sha512.run = "966ef8516cee0251065ab015c0bcfb9cc0fab5ca0764cef0a73f2acca831b995136adb77e23474607dbc6daf057b7ff97098dd62212bc2330389b3c4f97cfdf8";
-  sha512.doc = "fb2fde5bb8ee4ec47219aaf1ce7743be1b22587da007af6d12a742fb9fe816a2774e296f8bf853ec9257536caa126d250c147ee5c2533dedfb661975b33125ac";
+  sha512.run = "669bf4b618c4120d6cd7b574352c38d0fb3ab7bd949e26ea239f4ceb0fccbe102dcc6644ad2cee9eb79385f590918a12bb2c065f80b54e8343223056df448060";
+  sha512.doc = "35428e19d9e2429691948331ef574168a3eb5dd3e09f4286c66003ced8c0a65da9853de4dd57a1920e2f2315b8543f9ec9e096bbd26123554455dd8c23b33f55";
   hasRunfiles = true;
 };
 "perfectcut" = {
   stripPrefix = 0;
-  sha512.run = "369e739e46c167f02cce7206e1da7e33888da4efc2817253998392bc03c8eb59ea5e2468d7c13ca176bdce34128bdd31bd336505cda81894171965af80e6bdbc";
-  sha512.doc = "ad37367c16caf593b41747a1e2cb50fd5cb091fda638917e1faf1050844c35d4c1134cdca52ef29605ec9f3c8aaeffe3d1bac6d4b9713171c90fcb95b1d33115";
+  sha512.run = "3537b9010fe1719e6f27c800d6b81f01007d0c223a11eebf53daea4c67dab02ce94def02591b4663a7dfbec3eb9ebc4e7d9aac3db92707904068bd53d8567367";
+  sha512.doc = "41ac483d2c8662a29f85936445ced063f0325045513a1b703828f8af8b2f544a3054d9a65bf66669025396da698b8e14533f405ed24f37738236b65d17a9439c";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "perltex" = {
-  sha512.run = "3b468f68e62b9c6e8741e8616ce786499924e18c1eb91ebcf7b452de00b0dd439414ea18a51268a04d15fd9ff9910ee61a81d45e6df72d1ef09186737203c5f8";
-  sha512.doc = "843ffc1c8bd416efc30ab6d3ae23f0cc47acafbc69005b2a56f7caabf8b874c66b0019ad3e3893e02d8832f95ce8af4c23e390992241ee4b85c14fdd662996dd";
-  sha512.source = "04cd318d0ae246caa81b482a2eea14c101055cb7b9dc95cd56edac478fb2d751e6fc03245037cff943a509802b9fa6bb31c58eee6b3ad45fc81e5fa0b308e394";
+  sha512.run = "af7cd6b065f2405a514d20cb386b34399742a42286002ab3e0f795b64dcb434ae97470ce9cbf25cb27a9b124ebe56844b47c7cf89e1f83a4bd35f1bfcc98163a";
+  sha512.doc = "d39c93f4bf3da08266bb0f10b06582db2bf96bee73faafdb191af3770c7c24abde407774f21d3c97b1f2453a8a9bd24576acaf0606796d7439334b8b1e42ac7d";
+  sha512.source = "99a8e27c23a7056496c56e734fefa1e921a002d7b86c153b3a209f7c3d7c415dac05e77b0ce5bc8685bd622243d6ed53be4a7f570a3ed487c3d55baa5b5af06e";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "permute" = {
   stripPrefix = 0;
-  sha512.run = "beb6fafc97af2e621ffd3280b0436602af5f47d1e18089a1bce8f5adcddf6efc6a5593b5807ba894aa0e12e63d89b1797483f7e0eff6d1d565314f923d83022f";
-  sha512.doc = "133b3a072ab9c3af8528caa24e712756adbfaa04446fdc2082ade1fc373e86d9e32218a5566505ca0a3618b1941883d159b3d99bffcdccb26b7dc042e64be19d";
-  sha512.source = "a2fd3c5bfa7a01db448c9fb6d454bc0c79b7fd337d3d941d69569f146c68a3aafa0913bf18d1824c953c19dc63f22f022dc840cb46f4751a7ea4ff7b636cf068";
+  sha512.run = "2b1ea22ff45718a12f5a031a60a2780a43b324afb3a7c4b3bf2e1a9808f5eb789938f0e084214912a50dc1a8ebe76c58cc39dccd5a411ce001fafc8fa5c41ea4";
+  sha512.doc = "f0f9f8d4e7e9b7cf5794529bd5febb0bd58f1ba0e95a72d688280ac3e6837cf39bdfb62ac29584fbf8cb37e1dafdcb971b9333a0306fa867fa4a1a256dd5a4e3";
+  sha512.source = "4273fc09b30de6ea203e13b09822a07b222de8d1abc143e67c0c465bd8c31ca4648b83a7fbd895a8865b7793462bd020642d383e761c926504a6d40e785c0108";
   hasRunfiles = true;
 };
 "persian-bib" = {
   stripPrefix = 0;
-  sha512.run = "79c40df3289a698af69e25cebfc4ed688d1bb38659f0db986ce6b4dac52591d513c74d6656f31ffcd3a29673bb2f3dc47ff2907026227c811335804c7278c814";
-  sha512.doc = "5d8c2d1ba8436df5f5df467040ca254346186b6960d66a5f89e45562e375c492690a5bbbe0fc4bf44d17db3312eef013d9c43582c2ce22803af405f7a2c591fe";
+  sha512.run = "e6650399eb5129dd0ad08c3ff93843da47287ce641a65826545b10a9213437da56467eabd8c37f1a7fc17086af968043586c53bdbc7485e9a4453b3f5b23bf83";
+  sha512.doc = "a18f3652bfa8cccd8d574e475859bde8d41de04d3093f05222dfe5687460b8eb29a1e9bc258cb73cca69dad52f567572a654f46414a0d513ec27e462f4787f35";
   hasRunfiles = true;
   version = "0.9";
 };
 "petiteannonce" = {
   stripPrefix = 0;
-  sha512.run = "45bc1b0cabe2051e50934d50618dee8765659a1ea26c2164b66d6dfc3905145df0609fa386d787cbdacf7d75fca89713a8ebec976aa4690d6ce65a5c7739c6a3";
-  sha512.doc = "02cbbb4781d84170d4ac1166ed3c4d15db8bf8b372db581c15c9e40c7b5a4a63c1d16d8ada7a67450e19af5b62bbd7128df15273c50975770234323df6685124";
+  sha512.run = "8ff32eaddcc84973851b93f0c1c1b250b596a080669ef60ea2c115098c4984d426e37240ae8781fa3b95ce494e9fecccdd259fd25b47402498028f2b8e5f9fe3";
+  sha512.doc = "d171f31889fbf07b727c78a99bc91a2e6a8231faa25944a600ddb17ba32273ffa40a39a56e6e9b2c35ebfd0bb396ee699ebd9ab179577ab07e63feb8686d4af5";
   hasRunfiles = true;
   version = "1.0001";
 };
 "petri-nets" = {
-  sha512.run = "cd6d799680cdb7063fe05f7cdeddf749a3c2dfdf3827193d8d3111a2e728a247a953c036c6dd9f8bd1c13c2be1fadb96fac73b99b47cb2cc61c8e8f0ad51d843";
-  sha512.doc = "fe466eb157aa99311d79c59f72b675b8106f88999cada692e908859ed8f2de13eaa87876dcfd327c2a7988039ce2494156b7bafd889835d2d3cc0e1cdaf533c8";
+  sha512.run = "0807444f934acf16b052dc499a097a2a645d037622a71430cd82fcef85d11bc652341ce6396a27d717effd08bde8ba3224c5235351fa9146000c01abd522f644";
+  sha512.doc = "cf03048e2bccded143fb493b100fd19103ab90f40713441c5380446702d6c57ac3820f2892a3dfdb80880952e09de78e69b309783767a3e157f76b81c9360535";
   hasRunfiles = true;
 };
 "pfarrei" = {
-  sha512.run = "c83d4d1423e03ec068a57881d5f4154485337b9e51ca2253d05877d732542b06805d210d66750587d6fc9789d829f638bc7d3f20264d2b75083903622a3144c7";
-  sha512.doc = "d1dcccd68eab493dd610fc1c0ba7bc106c4f1b176c01b67ab3ec05a803f674741bb2a04102ec42a1b7c4a3b14bbbe2bb55ea8d61cafb47c2515fe74026085ba4";
-  sha512.source = "5def1546e4cdf6bf81fc32ea263b9e7ca19bf5778f939ddd58ab0a6bccf2c665814fe2be191feec062147f9b5570717f04685aea912972a9a51380b9fc3c0502";
+  sha512.run = "f6046dc96672b60ed272dd6fe23a4a51032f039d3aeaff3f8b5e2407c99fe1f43c568a03564a7c20212a97bbfa4ecbd0dcb7f5f44593e1485c8e5d9197467a6c";
+  sha512.doc = "d50ff4603d51eb72d1d12e7f5b1440fa3d7abb1ab74fdf441d7e4a474df91247a1ccad504a14438bc0c3c6354c8f8674f180b5d9d826ff09a8749db3cf0d08c4";
+  sha512.source = "1e4008782161066066fc4cb1b029a36f6a18eb0d5d52f11a2a70d04d4778de6ed1a80ea1fef5d8cc86c2e13b8cbcb1cf8ce43e58ff4431b16ca23c3fdafb9884";
   hasRunfiles = true;
   version = "r36";
 };
 "pgf" = {
   stripPrefix = 0;
   deps."ms" = tl."ms";
-  sha512.run = "0ea78ace970c779e17c1f27c68bceb604c8356ad77ac3df57cd3dca47e2db729811994bf314b6b0229f239bd7da8e3c8da237f1fca280a33c5a3bf92b23ab0ce";
-  sha512.doc = "a962d3ce98cd5c7707b46f7b819acb5720133dbc82df2db2f01078f64851174750b60a483d81e14e3ccc15b06f3ac8eb469ebc52c45f62cc8c46135ae4943f22";
-  sha512.source = "bdd373923503605db28d610eefb35f9146dbe5b0bc1237054b6ca5576a2d378250f792151376bf2358ff4978b5f99921e4eaedfcf66025306496fdc58f23a614";
+  sha512.run = "104bb34bcfd38f3dc40a161a2150e4eb1bb5745ac4b98836ff94260699bb9acbe1d9a7120217aedca4674be64fb6e1cc0c8f70912d2630562d3e1ea7e87f5851";
+  sha512.doc = "0dd8602f32ce5516435f468e586dbe2c918c6a5f6a6bda1fb10a1ce897243e228d61bea0cc60e211a6155d8cdeab48c650f88763568932d12df0c7cb1d60b348";
+  sha512.source = "384342fb40e08fdf9cd5ab1036dbe91281b2119249c85d6266bcd39f361fda01b06caf6ce1b0d21fcb8d1ea18912ca2731234cc236b9f141653c7f4aa0a16c79";
   hasRunfiles = true;
-  version = "3.1.1";
+  version = "3.1.4b";
 };
 "pgf-blur" = {
   stripPrefix = 0;
-  sha512.run = "77bb0b5f6a176826abb39ed891e879c8ad80f2e8f1fa6b965b65fbcc22796227bd1520d1d80712034333d8de1e3eb6154fd1523bbbc575b6074e2d05c655cdd2";
-  sha512.doc = "c203cd71f7dc4672c1b5781161df4abebc6c6217d2a1f863ea8ac5024dfee0a4ee6cd4104aa4000f835317499fe9e887d066a3047f6e133106b08c251810a008";
-  sha512.source = "4a89acd4916d1d24b52b2a7c53c936941d1a8c0413a311f717b1bcfe1631ae801b1440a38008cf8ff8070f805b5c4fc3f714855f33377515114705955746c967";
+  sha512.run = "a341495270be35f6824a10edff85edccdfe4d9a0f3cb0ba50ede1b8f5970dbe93b0d5567f113b5c2dfe0661f7201fff710cfae0d9f3f1420245520486775e399";
+  sha512.doc = "4cd2faa5160e0286f8b23f518c857b957e9873c0f8f1ec54f8156acfa1e15f7e8c22e6b4691d07ea929b6cc3c76847413fcb9223852bf26efb1c6455909e1816";
+  sha512.source = "b254cf39510bc1604af7f238a00d9ea9ae615a1a99da8714c11079553fcae3e26dc8534e6fc7797dcb1fc02dd68a6b236e05bfb4b58bfeef8f1cc8195e4c5c05";
   hasRunfiles = true;
   version = "1.02";
 };
 "pgf-cmykshadings" = {
   stripPrefix = 0;
-  sha512.run = "d8f23c4388a5d73f6da83f5f2aa5e0f3f11cc0c462b32937412173d323031f631fe6b59f2b5b28763e778adfbf7a22025f70e91bd8d5bfa4f66bf356e83560c1";
-  sha512.doc = "599bdbe30b0851305e62a76ec0e3ac4fcc66cbdd0bbac885070b907ef8cc8fdc537b94ff6764af46f5319d6889860950ce7a2eeb2c06771ced10a94a04f5835c";
-  sha512.source = "d29fe4ebbf8a9349c4fc5a76a768fc523ae55dc3da9e7d11fb4a9fc4361a990a1f2ee28c4a6d69300651691942e6fd16bd971835bf9d059df59e458184b596ad";
+  sha512.run = "58a1c73f4ad2f0a64538683be8227b429fbe24d4a91c39949e37caa356a30ff1e70b6e00647b8a87eff26bcf99a99d65b0ac8c8710a6a85d89942a247bf3af26";
+  sha512.doc = "107029c601a5e889b6156c417a45013ecf47f7e2db4c35ca276467922e8c41ed8a23a118c5949095bc421fa15e41cccf9f6e57d2052434c44d81781532db73bc";
+  sha512.source = "c11c49bb5635a619ec9421013416f3ab18b2f4caecf2cc70bc393e858f95bece057279af6cce8c0664474e3d258c60e259c30ddd7415172ccb95a369a1565f0d";
   hasRunfiles = true;
   version = "1.1a";
 };
 "pgf-soroban" = {
   stripPrefix = 0;
-  sha512.run = "bb2958d282b6e16da09ca1590e6a2086b7c4e4713a4c2b810b354b9e2fb7554693e1b4d97ce8ce83aaf0b26eb7738cc39d0c09228558c3263d69d04b91176c94";
-  sha512.doc = "1a776e8f2158fb0a20abbc919ecb6d2d3d8c22c3964cae982477e9e7543c8a6230b89ce75fa9b59d5a14765216d8135b03b25772c8dd68d322c5949d336fe37d";
+  sha512.run = "e0f85a77e9d81bf01f5516c3b3baa52a9b7f1b0faaa6f0aab1cae2182732eaf04ea2edb6b0f9091272849f1d7ccb3797cb2641090b926db7f3d0483d08569845";
+  sha512.doc = "3f4c021cfb99a27778c250f9ac13e2abe48127731b54d0fca9e8e588f44ebf797e034a56d3ca19bc847bca173dfb03ef9a70e0fee71649188a8427d6eabceb80";
   hasRunfiles = true;
   version = "1.1";
 };
 "pgf-spectra" = {
   stripPrefix = 0;
-  sha512.run = "af5276df229fb1e003bb8d88b7548675ecf963d9925be6647cbce932267cc6e5813a52464475f826c710081a0d6cb2e01258ed6f0ec6eed99f55685be95f087f";
-  sha512.doc = "0aea4d8100d8effeccb483bf8d61160e22ad812c54ea02ebcf6307bec5a5e4bc55ae072666c2b06a2bffdcea0d984ff664ad59ad85561567eab1f0dba38c9440";
+  sha512.run = "868fbaa9606718d30a18b710f2295f6e17f31f8a30b724802c765cce872b3b6623539217912bd20998f43777d0a10a036dba01aa65f66f0f89816872ebebe5a0";
+  sha512.doc = "28c0aa31dce7627d9c9db7ebd0f9d8efd6e01b5c6cda5b417fb24c569df5c097745b95e94d0ca328ae25649505fae154976e393d60abf39ad775ab7e73b12af7";
   hasRunfiles = true;
   version = "1.0";
 };
 "pgf-umlcd" = {
   stripPrefix = 0;
-  sha512.run = "c1d7e22910a8e455c10f86a2902fbf4ab017fc5d47d590c93d261daae859ea9983917dfe829f5d9403a83f482e37c35f7120981e623bc328b40545ccb6b0e4b3";
-  sha512.doc = "45739d53cd816c7ffd9a8f737e6a49ec6565168badeedd16bcaf4306d832cdf9e87560c50a3ba242d791109ded3891e227d05dbacd0d7a964d17237c65cb5448";
+  sha512.run = "323572892f452d609286e507032c03d7301b5822dbce0ce3bf3a588a75a307dee0981f2c6c49cf17017c967bfff0d23bac24d7bc06b66475b8a9cfab9ae906a1";
+  sha512.doc = "18a494bc6e6c016b3da4d5d51c2cc529ad515b69c6a150623ffa6dec4cc92474766dfc50cbd9c894f491f594ba5f2af4b1796d3a92da21b99272bba9a65bc92d";
   hasRunfiles = true;
   version = "0.2.1.1";
 };
 "pgf-umlsd" = {
   stripPrefix = 0;
-  sha512.run = "e504bd7d0f5424d352d8a08e55a726208352123cf43a010a3b7e63090ddbb8080b0d35b5a83212699617a79edad208b8e0d7c96fddbce9e026d047205b35076a";
-  sha512.doc = "ebbc578e29ddae47dfa7ad838526f8245f4b1f44b7b4e1d35601742ff183f95deccbb9e4277a01d284e7e77356319b477158ad9f974264e0d1b6235ab41c4b6d";
+  sha512.run = "e32c27e2c779ba362435fd0901703dade14836347afd99b7f8e55dd91d5724ba69fd517c39bf52d95189351376ad505a56634c0a751bc68df36dea952e30e7a3";
+  sha512.doc = "de4b7c62d79400f107d94fe3101fbbf87ee6bb2cdbb04aa6c1d5eddc9271fc4090b39a79dfc18c45d9f73371f6de09707c342e2cd5ee6dece663ee4494d53ddc";
   hasRunfiles = true;
   version = "0.7";
 };
 "pgfgantt" = {
   stripPrefix = 0;
-  sha512.run = "ddf43ee604b0552b70ddd0c7a9f5f8b3f276583286d535e08586f57bf789fa1c8926509382069c96309b608296a0ca45609ccf9a45a974630dd0b91f86d289f6";
-  sha512.doc = "95e793e22e692590b84f346bbf65a4bfe7b8ffcaf8d0e35d5e5913bcc049cf0ae18f590124b9d1ec4fc82ec46e8dfc8d70d0c12f7e28ba726c5a7c69f437e758";
-  sha512.source = "8dba3c1de8397d3716aeea44462998824231c6c44d3c0f540baca31cc4bc5a15e77383786dfeea169ac7e3ef386637ed952a0d944b4ad8e2c70a283b55e17273";
+  sha512.run = "f4553f0ec519e5a8d5e2ad994f7271cc26d5fc80b20299f1aa816a5c21f159ac809a7a0bfe354cac99dad75c2e0bd8d1803277e069a26c105fb4ee83140274d8";
+  sha512.doc = "e6ab311ace663099eb878807036c3bda80298e9b591dccdaeccdbd65a46993d2b013353721d54f3833114fb1436296e079e9165b5071acb7d722238a1e6b52bd";
+  sha512.source = "e376f0c89d67a698fc9109e974e39b94fdaa661006422ef6b228e1d0f4c273a8f6cde95ee86c788d7051acdb75e693dea704d3d36e2de42ef53c2db320a7b9d6";
   hasRunfiles = true;
   version = "5.0";
 };
 "pgfkeyx" = {
   stripPrefix = 0;
-  sha512.run = "6febdb706acf607f621f756ba3206320e246b8187df50657131b17390195aa60187430fd56c17380276ea4cd560e49784c5750ef8ac6e005b856ddcac04526d8";
-  sha512.doc = "7878683f748b83ed9fef9a6b96071a2892aaa784221df9e25cbebe3dad8f5f09a87538b946d1587a1fd1effd841975648d98a4f9c559945c066657bcd8b6a878";
+  sha512.run = "c2adb44ef34930aef1d78aed2025a2dc17c69ed641b59af29bcb93c9c9532785090f30834d52c415116ab4a9477d83e5a46d1509e6bd41f47fd4e37cc8ff2933";
+  sha512.doc = "2a596ee81d2af4992dc23d6f28f788ef1d3e9a528992f01b7113de726898ae3007b685c4c447d2fcad640403d1bdd8a0eb07299ac9ea81f41c4158eb21b8e9e2";
   hasRunfiles = true;
   version = "0.0.1";
 };
 "pgfmolbio" = {
   stripPrefix = 0;
-  sha512.run = "529c7be36a2e19eb7508c52f380d1bdcede68248c525cb2fa39e69488da9d655799de878fe274f434d69b3f22aef31f24b89a60d4f688821af9b7722758b1f0a";
-  sha512.doc = "320f98e7bba6989e020ca829ca08f747e65098cdf12a8efb7f1cf58b74c279b5e5366a6df3d1fcc2fb6999d4af1754ea4d78db313c0af2b179a627d89b88e970";
-  sha512.source = "6c6338f15ef9532f4ba865c0a4ad01f5859a3ba3569b1223becc73a2980414b663bf52cf339b44fc6ece6e3b91c545d019de47b970ba78e79f9b7a3180932e03";
+  sha512.run = "bdbd89379ed7310b78a3847c43022f6cd65f5fccfabfc4723551f5ef4f4cad3e3dcf596ff65cb4c5ba4a354f9bd59fa4aa39147782a0ed369a7dfcb68ef7f9cc";
+  sha512.doc = "a9dbe657b4037477adcf3ead4ad4ca5b703ee8c53739da9de0bed8e02c8e14961a963e9a4a5a86b3f53348da9eab5cdbada1b5ddd073bc18c82177abc92023f2";
+  sha512.source = "1552182819893f7538ee5b38816d339639ff6e6ed3e092a67dde1dfa2a73eb7bca1490909fa34d4999399a8328b2ec8885ad86e76438e4f177dd81e2e6accdd0";
   hasRunfiles = true;
   version = "0.21";
 };
+"pgfmorepages" = {
+  stripPrefix = 0;
+  sha512.run = "6e40413358c57b2f16153c12a9f227563f107bbb966c795bd2d1d0dc7444b2acf7ad72631f23903941516bea803e4c539399884fb4e479abb61b4dc9a5bde428";
+  sha512.doc = "b8e0949fc1aeec50514fffa3fdd88ee96017207a39f1d8c15b326604192eb2277ae6749c5faa8f531bbb0e3ad3d0e25d3c0478583538b2a8ffbba5e3f780c9ed";
+  hasRunfiles = true;
+  version = "1.00";
+};
 "pgfopts" = {
   stripPrefix = 0;
-  sha512.run = "f74fd91b76111b057f4898b5eb78bcec75d0bda6a80d0dfbb8cb7e2fd7df877c4c97be5c225f37e87e0507e73c20eff38e973a84a76ff2aa1d17a6cc25d47eba";
-  sha512.doc = "a47caf0c1bffe1676f2c61f75bdb56997d7eb8d0fe1b96f9d9dbc584fab2e6d7e0b8b47824e8af9dd6994389ce11928a962ace12666b239d8905a9c4c5994cad";
-  sha512.source = "1176e01e2a052f8f58d967c3f233cf3cdc34c8ed79f389c43cdada25d7b547e81fb83b1f97cd22b0e62c599523713c0e2dada1ba01bbef880a6cb15f1d02f032";
+  sha512.run = "39b29273305a894c37bbb8f2edc899eb69cabed78623ec5ac66d6a75fd7d6b344c1fe4813f56383acd1c51acdd099fcaf3e97af294c5fd63ffe47e25e9cb9caa";
+  sha512.doc = "8c5df446fe33e40503caeb8740becb28b3328490fb6aac2cf858645a5d896681d6448e5160cd32e7220c164838fb65dcfd85a22a6c6b9205511f6055f23dcabf";
+  sha512.source = "ba4043a5ecaf21c1afc3328160c6832b67103a9b9c278665f0ebd91f21d842f85eb70e7a2d7385d66f9910006205d59042aafc994a2eb62762f3dfb5917c10f6";
   hasRunfiles = true;
   version = "2.1a";
 };
 "pgfornament" = {
   stripPrefix = 0;
-  sha512.run = "f56e5fd96ec4fff738c5d6371ea27dd32584b504fc1c977be9205d0a606f39e9d5807968e89007ad7c74492b6e87a5d5293fe8c8186ce1b40ecda09573991506";
-  sha512.doc = "99405ee3cc1e63a7acc29db2d6de13ac960827a7fc3ad1bd93554c54f32da431bf1795f0b86b3aeca9df46ac813506d2b34239a15b6d0ece09f96013e7971f93";
+  sha512.run = "bf930b8abf986df03e46e8c228e82c4015dd3f671688deabe3756815d86c2ce21d0738e4172874d233c3c7c28792ea7081a32011a3db64d93dc4a8b4c9f56162";
+  sha512.doc = "6909f93df3cd162f36817ae99c7f7da532b9a44b6621d303ec4f4828c22d99d25d4e4c1ddc17f81ce2b070ac8fa40bedf5790a097d3d5ebc095abb88a92fe037";
   hasRunfiles = true;
   version = "0.21";
 };
 "pgfornament-han" = {
   stripPrefix = 0;
-  sha512.run = "23730bfb4485a80c5f21048ac267d2f310f7fa24923f91e7bd947593ad2c16c36ceede7c19e37c50826f6de22c3960a9adbcb52b2e7ee161e909a7bdcad0cf22";
-  sha512.doc = "2609718f0a2a83bce393980cbc0ca3eb14ddbb587a1f6f7ebf7da5fe3f73331564173a83be4ad4a153b159eeb4ef171532805352aead85ef72d069d4c2c383aa";
+  sha512.run = "a53e1595e0ac579cef90379a85465fc3c247b803dea104ce7111de68c6c7ca114c6364ca50cdeda051e2353b85e91b39118c31c3d8e464943b8ac7f07d3e660b";
+  sha512.doc = "d2f429a40d6e1ad24b098039cd212f7667442eaf47b307eaf81585f9443028d03bf612d5f080acc5fa20a153283d49eb8a9550f01596c8d6a38bb9eea4399b31";
   hasRunfiles = true;
 };
 "pgfplots" = {
   stripPrefix = 0;
-  sha512.run = "58a9095d8cc670dd937d36b22bc0a2320ec216e05e6d3deb562d17fc8cef9489f223a02778064f7a56fb32c7fa7e03e2fa0b46f7bb493055cbc196c91c9778e9";
-  sha512.doc = "3174e7df66a6ce9f10e4705dde9523cef3dd64d509e07766dd131b01974bb39660810a6dd05810a3613de60b4c3fb8575770c249c479c65d38ee01257f6da958";
-  sha512.source = "63ce714276c6f54093b912c33285db3d2449dabd7a3127ef292ffac235a82d266ba3077e65e0ee76fec055b2413733ec55f836f60962c8fcb265fe6140b70359";
+  sha512.run = "6a56f591562baac1b6256eb5c888c4cbfdca5762d4141ef4773ceca06ffbaccf3e0d12c35818b9447a1c782113c3c2a622dee0ee74e9a5b97634af0603c8c095";
+  sha512.doc = "1167fe761139de816533728f8b774f802190a1d58df979d192d3fd92427dc32d12ae0c176315de8c878d7f1e4ed58d8e7c40c5b794f8b75e813692c156dcba7b";
+  sha512.source = "ec594de33aab4206bf4c38808fca697f144337031677ae056fc05ab910e6886389cd9f283a299071dc488b41e60c03d27108661ed2d5f1c124f57a87e28f3999";
   hasRunfiles = true;
   version = "1.16";
 };
 "phaistos" = {
   stripPrefix = 0;
-  sha512.run = "4e237e9d608a425d647b71df70202a30d3bb8173faf09f308a992d79b9236eabc9284438a3abcd227abbc7614d0e0b4fbef787c3f352a1501e5758dc43d7fdd8";
-  sha512.doc = "da845e4f297ef77b42adb8114cee1f692c4e9096b432df4bb4aa799ca3f2de7271ddd2678dfd47883653133203e0e689c08d8c831ff7aa1e1f47da36ecbae6a0";
-  sha512.source = "81686af9bc6a8d6e45cea26fe6fa2c86fe9d93ecfcd34a1145d1488037e2838af14dd7e71a63f8630d6e8b321c300f4a175fa943a8cebcd996e02be042e3c6dd";
+  sha512.run = "d5cb8a051e1e80629385bff368896c47bdfccfcf38a24a723ddc5f9056a59c57703986799253812c9a4651f4e16dc55cee0876ddd0552900f978dab0381c9aac";
+  sha512.doc = "96eb22628467289f72aaa0d4983e494c75b3a2315d8b9d2921f8ab29d93fffae4f459ef852529dfa4ff48a65e25d652662c54d84db54e0118b1c021bbe39eafa";
+  sha512.source = "5ba2b04fe4e3aef136de2dc40568ecb81f437561ee8e6c320927bb816819889666f57ad07c3b8bf6eb7f6eb84b69147f9233449a26529b61712d158abf889f91";
   hasRunfiles = true;
   version = "1.0";
 };
 "phffullpagefigure" = {
   stripPrefix = 0;
-  sha512.run = "eda9d318d498adaac64f0beb513a4e163dac0af0d68df04069e966abf5c78e35c419f99860b885c79d57a5f13bde07780c9ec6f315bb30848ce972a0c8c82a0b";
-  sha512.doc = "65c0233cc9144db078cfca998cd961bd3da882a82a0b0d2399b925fc92e45efda2408ed8388f760759dd108a92b877c13320272644fdcaab50782cd111d93d54";
-  sha512.source = "043abf71b2f8d54d8edb41c7d195a799677c807dba6ee406fd27dff356e3235132d02d083df58e9e82be0b0562c3b9aa8b6901984af9a6284fafd6537134137f";
+  sha512.run = "4d443d5ce4dfd4805eaea4ecfe11bc94b9e92bc4d68f8fdd001a72ef09f519f11e20517d01722f5c7f79eeb9b92d0a6099d620e5c54dc0845b7ed5cc762c260d";
+  sha512.doc = "837b57707c0d37d20b02ed83ca32768c4b2718958ba3124650604f4de0bb11528c2d5fed95f942545db400eca0517ef59fb168408ea9960f0a894a777e9f2681";
+  sha512.source = "f0abc0f77efc7460907cd18282ccdf2ad15687b3d891a72e8fe756c16d1d715cd6f7eaabe09898c2bd88ebe54d16b86115c06b4d56fe1f2f4b8e3e952292a107";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfnote" = {
   stripPrefix = 0;
-  sha512.run = "da1ab71ce832e6f27bdb0f40628fced6b10e6815b039d55cf6813f6afb1fd864e3559cfc2306d5273311cfb79fb068366335621e8bf2558cea07bf3737916a3f";
-  sha512.doc = "d096651879a7e0b7da3a38130fb8478e03a80a0ede7a7099a1c8cab7a7a2defc268e604c745f11f8124ccf1d71ffcf76b2139a387f226d8fba162767cfba1f7c";
-  sha512.source = "b2002efc4d534347cdf276ac5e0894209a65a76d23a77b99c747c36d35661e0e2a0efed130b024fcf84e8f564c91896101582bc952aa64a3d880ef194df4057c";
+  sha512.run = "d542b73d1a25d0d141a37e3bf0a3d4753829efbcfed9745ea299a90026325f82624bb5d4a5075892af758d4a4613e1560824871e6bb784a8ce0030a7fb3f4836";
+  sha512.doc = "a62dc8166944e953b8efa49c7ab78b98744cb9948523f4decffee6a553a8e432ce2d9774575bbedce59e5dbd01e9bcc01d82962a19d3878a11367127a7927287";
+  sha512.source = "4f83603d837978304673550f1dba78a1aad030392323de2ae6bb0295ecf7fc5f8bd211a14f831b7f3710b13e999e73e3a8b224a5ac44ce67b2ea3faae5fc83c9";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfparen" = {
   stripPrefix = 0;
-  sha512.run = "5f909ad07a60e5219c6e6a4a39d65bcd693f0ef89154d866b35139355d67678bfea130e86e9bae36560586760c8681cc194301e8ad823c20ff170f23c799f57b";
-  sha512.doc = "08ab8a17987cae72c7cd0c734b6c0e60dd3c61bf9a2b719abcc47bf55704c7896f07d8703606b34a93d8e693911991dab52e2848e313a173e462706601ab09e9";
-  sha512.source = "2bc6b68daae6b9f9099588f921fb64f4611b7c2e24811f408374da3ed3fb03ed6477a6582f98caf4a44bc4bbf579f18c5062479c351c1bc08fdccc12e49126a7";
+  sha512.run = "c184623f226f9bc9926eef0b5e23443bec20e66c6641196bc90daf27a648d9f0db70ad176488fe061d44746b6cf46a3217eeb42f6a95f2e37c20d641ba2838c6";
+  sha512.doc = "5c34575950ee1a9616408f293319eb0634795e07173677cae112466a298dbfa5cc18fbead8e92e459718df91326d27cc7baf0414a1f1e8613a5c115c070b5016";
+  sha512.source = "ca94f1756265e0f92e8808b7dac74eb57f62eedcdefbaf6e4059c8a7ffa51819da979a70203b11250d329ec9000b454067c101b25753673add4b35c40fe1e882";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfqit" = {
   stripPrefix = 0;
-  sha512.run = "bf83e4d7fc558c68b4163bc6bae78149786a2cfd0a6c627ef3252a7d06919e8080a20480a0f85266b9a29f1f83336c17a1e20c4ba0e7c0d5dc15886772f04d4a";
-  sha512.doc = "b5f64d4999133086642bd5f433212976d8dc715f9f751d850760539ddfff6cb82b4916b190678a2a76ad95c3504058e0aaf029a0c1df88a76db5901f583d18fe";
-  sha512.source = "b72e6662ded062cd35e341740224ca2d2cef70565fa000bd6873e9cbe0e5fc40451d62d7abcbb72e7931ac47ae36c80bfd10439544e529735f01ebbd87c5d3d0";
+  sha512.run = "250626ed9e7e33abf0d19c32213236b02849db849f080bee0ddc19370acb7e2e66c838dc1149f8c1194d2534c1e073fc2971fe3687174978bdabc90efc4b7752";
+  sha512.doc = "0acdb07c2484e2e5694690536eca084ffebee0f549ead32b3557e368ed85d7a7785c297cc639cee2cf4b41f64f7c2df806b6b27d4ae89769b0b8d99d2127f885";
+  sha512.source = "f189ad485482da9e1802b1b2c96120a244a14f7e7e39a1759d7484ad236945f98b8330464223ad63127d9960eb4f10f04145f5eefef25f02775c009184ca4b9d";
   hasRunfiles = true;
   version = "2.0";
 };
 "phfquotetext" = {
   stripPrefix = 0;
-  sha512.run = "a4b9326348c808cddf69fea5aee35152c06cbc2d181a77552db15b572909af60ceaaf1a9343ff60a81e48f13cb41c8380437c16e27ccc6d6d84b7267c77125bb";
-  sha512.doc = "51eebd07efdf558a48875b42186489f8c220622f91fd86049b3d8cbd13eee9936c096d0065f9d3d071e5ef0f0b259a15b18bed8c19a300a2b4326f4462163923";
-  sha512.source = "ecbc1a070fa5db8b20e8ddb7d96b2dea032763b18d60a0613effb6b30069946649bdb424c22bba84da9af1f68cd52e9000573c13e7547d8d74bd6779bab0f3a6";
+  sha512.run = "809820fd3108cb5b33c5f3129fb3ae8251476161aca5936b966219a49a29204107375a33e6bfc452d2aef8b0cefb30f8ab0e53984f39d5c3228ded25ca19c37e";
+  sha512.doc = "501d652782670318fdb45368e01dbf76de7cb46f0f1584bc7dbf1242a71a42e7bc870c5cbf7dcb33d41463c550a0803226860a0aa64e75952f717436e8f6501a";
+  sha512.source = "fa812150acf519ca0995afeb9b3dde9c1929b945bb964612319f7065c6c303641e2a245397e7271eb777af9f6cfd310ca1ec7f9974c0bf9c329a0f006df2b9dc";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfsvnwatermark" = {
   stripPrefix = 0;
-  sha512.run = "ccbb4fa15d35414e0c5124e32ee5455a959361e167890990e8154ec212d0c42a29ac1c2ee5d4e27c948ff34fb4828968735fd2a840acfb6eb646e0c45f3b3a1f";
-  sha512.doc = "53a11353a095ae9c5af998bf3dcebe74a7db2edcb4d03bdbaebcfbbfe40bd1388d34919a58160cd263d8b83d532fe9746551cef43b7d471c49e46b2603ce1b98";
-  sha512.source = "24873c4064ddb1991e44e1d1132eec2ab4b2a82670f25f6e5d6147bb7ef29f982b31364dbafd1f4f1ca15721fbea7a40edda6a1c86aae5f032c25244f5c8534a";
+  sha512.run = "38dae3ef3fe183bf5149b91050afd5bc9c934d01332b021ce87e9ea412008bc22d42d25a389e82b02ccc4cc4820a10d821c228c02c4f08fdca89ebde69c6e2d0";
+  sha512.doc = "7f35bcb41618c7e14e7e9f8fb289231a8032f7f1cd2e6333982a346c5f8dd24e5733f70c03ddd183d170361b2b3af4115f6fa9b788c4dd2a020020ba525aff18";
+  sha512.source = "6c5e113bb45ce6b11768c711bb59743b75bf4b95e9d84c045b59f502f181e80a67be56b3b5153364c29ca5c36f6adb73dac4a5d3051a8dc3ea275a43277732ec";
   hasRunfiles = true;
   version = "1.0";
 };
 "phfthm" = {
   stripPrefix = 0;
-  sha512.run = "5614d4d6fe7e6b737c81c4405d224797c2321f15302c18b2af781055d6c8cf8aa653c379ca106f30df83eea4ebe40c6ca3f85a522384cefca1b1de4c685a9c9b";
-  sha512.doc = "28536bc2e6801c43f17458460cb0e52d35a4bf5a5d3bcc1141b8deef6de88a2a3c6398783af1fe182e122b48d03e119426947f3a454be28cb599bd2c597e22c9";
-  sha512.source = "f6d611276b1ccdc4a48f74c238ce6c5d759e8778bad1e686c19baa989adf53e33fa82537a3145ecbef969aa488b21973847e723c2f8dcf541a17e7d1a7885142";
+  sha512.run = "c6aeab1fef49a56a7ab080945199a4f68186b53bd7fd00e4c3d3babcd3f63f998748635edded858d5904b8dc7604007753bec12fdc8ff6a7656cf1ef26c0ca9e";
+  sha512.doc = "c2439e7a3e7f1b0730b8fc48f933b9754777e7750a58ee6a5985ac458689c2df96d9e74d09c5ade2b0b8dac49e0be43ca60a0769dedc662e151e1dac5bb18cf0";
+  sha512.source = "b189f0320e5b8d1ecbb1bb34972b845d776190ada4ab76e44ade41e21d8f7eb0bfb6bd55a4352aad4d0c2455730b7803384eece70d2030faf9279aef0f70f540";
   hasRunfiles = true;
   version = "1.0";
 };
 "philex" = {
   stripPrefix = 0;
-  sha512.run = "edf7f546d0681b28c504cfd0b86989ff88c7aa3d027905ad30e4965c47c8b9ac9d6a84030a61efc56cced60795a3faf5497e9811a12f34d80daa09bf352fcdb4";
-  sha512.doc = "92914dea3723d566f5a54b047ccaed17193e02e07b2f8c522753a11c3963601efc8a55b9cb114dd192a6b992c4f854eca10e9aabd534735b5780f79c15d8f23a";
+  sha512.run = "0b6ce5d281836926d6807dda7a8a4eace43a25160b8bdfaaded7ef9838f933db7a7bd4859019555002b662ca01800e64c4f6228427b4f40c9a79e71759aca6e0";
+  sha512.doc = "ec8eafe3e1b5e7cdeeb2554c3e34036c808f33b4f4bd2e5fb8b2e10e4366f51db02b2bf3dd52e46c92d600cc092f30c4db6cb6f69cc66cafde5c11a53a883839";
   hasRunfiles = true;
   version = "1.3";
 };
 "philokalia" = {
   stripPrefix = 0;
-  sha512.run = "e39110fcdb8ff5a2b6cd185d512b1bf036098685be84517ea2cfb2c8a529428163b3ad30952b41c2271f153f078dc452088cf9bd12180ce19b157a75739b59d0";
-  sha512.doc = "be664f8be0a2031a49aedb25f05288aaff7ad47276c9e2d8fe349c422a58c97c08e8fbd8528e444102a10d96b49ede58510f52337b764a3b1254a63d60c6008d";
-  sha512.source = "19b098ab92fb41e560ddabc26a662a9785d13a786e51bad2a9fff02eefc91580c0618432a085763eae6964f6058bf2ab88b1e7012ee73c0d6e290118024aff14";
+  sha512.run = "6a7b76995074ec233d4922de96f727ed031b21abbaf1a423bded6bcd964e8e503d7d3d84d8d4eb1ca42ebd99e1af50a244238f668db245ff4810176abefb0976";
+  sha512.doc = "8cefb15592711d19d3fbe5fbbe6efb219ce081dac6d8bfb12ebc57ac807a30aefbaa37f371e70b7141876333ef408ae5fde177add749faf2302b2d7f60a1bf00";
+  sha512.source = "975d97494ed2fceefd6d7fae5cd7916689087d5f51136398b19d233e88335c373bbd572aeca930e3be212ae30b7d8b34e0070650aac5a9c391793fd6a5c1e394";
   hasRunfiles = true;
   version = "1.2";
 };
 "philosophersimprint" = {
   stripPrefix = 0;
-  sha512.run = "b9e5b828fe4e4b91a11c51e9ef1e499d672b10b3175e41ab10dccd3d5315a500c9fc75466f792f2f83920b2dd5ea316a4568ba69bc67a15cffa8852654df5d88";
-  sha512.doc = "b47ac4c8cd2b912667983b74beb0c6aa23904f9d5c775746d29f987d5c41d925e6360ec37f17727b746e24322c0cb225a3b646661f291fbe44ce8eefc651a201";
-  sha512.source = "7f2d980fb8aea8f1b8ff4a08fcd831775fceb4772507f8cd11714bd6505f87c73e89bc5955a3e2ae2a4312dfda1c80a369041d93f9c9ed89308b98e2d46b96ca";
+  sha512.run = "05f9639dbc34d0fd653f2609c581df2e50825cd61af7eaca55f03fddee2b0bf1c0c6bb3258fe10265cdadf0d8371d351aa143327a07f3739defb4ca3ca9b4f16";
+  sha512.doc = "45bf6648cf92ee58d35847845094614884ad300d5ae745a57bc036d72bf7a1cf8dc7596daab8c606266c717b0114727072298f91b61e92c40dd180bfeb678a3b";
+  sha512.source = "9522941d5b9fdeb2eec1f3f91bdb6649da45ba930ccf11599e532352170279f67e40779b9af5d46a4dece5b14ca2ef421280ea31eec24b686db6a9a4f2709a93";
   hasRunfiles = true;
   version = "1.4";
 };
 "phonenumbers" = {
   stripPrefix = 0;
-  sha512.run = "1f66ae909cc77ccdc3a01c07f4e019fecee7631db24010dfb635b54bc8676c84deaea1568232232b898f219f94a3a75e263dab7828a89ba30f68f3f3a3b55d98";
-  sha512.doc = "da4ec2c324e8c46cce9f3f2f1778c03c441956cbddc6bd05be56931153e255bf628c9719b384b381ff9d3988d26a0e1712a016c203fdf398da635faf5bb5096d";
+  sha512.run = "79f875543181adada6e60d57adbc225efef89440666aa179ce69eef0118c528bb603436cb7df5dba95c75f60bd57bbe321f169358e247842a42cafee14cffef9";
+  sha512.doc = "85a496e3ff30df0bb1a852e1e21cf0fd8434124f3ec1b460fbd3c0da05573a1ac85136d3caec4f4d59993d47ad82fc0f123afcbf272982bd614dd2e1f318394f";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "phonetic" = {
   stripPrefix = 0;
-  sha512.run = "fab8ac4463c53a15d0769245040bebc754dbb2b4ed282db8426b28737abc9ac5bd5bcb3180114fa7e9d2f0fa3e9ef403805c9ba099a967aa177d63ef89a11aee";
-  sha512.doc = "933f25da20e6e4c75bcc86fb16bcf89c408efe213aaa6a5402480d06375dbad80289d29559a09542adafd71b403a74b1fb03a439e836a070dc8174d13ec0853e";
+  sha512.run = "fbd137931a2571d542b8cb66f8b613a57925277112c2160e21298791a65d91f4d1a6d3d8be5d6faba9abe033ded174d9d301f6ff1784dda3c1a9530f5f7a0a40";
+  sha512.doc = "710233d18f904db9eb8c235070681b9789177b375b538c743424252e6434dfc3a16fb4c6c1e19617d939a31eb75b4823bdf30e633bc240b7b24650cb411f94e6";
   hasRunfiles = true;
 };
 "phonrule" = {
   stripPrefix = 0;
-  sha512.run = "28279e5d7ae76be648db4544f7d172aec1c13cac1e004b21768f8dfd84679304663a8973b47e9a9876e05938827a690a0a449b043ee31c69f4a3f0e5c0d9b1c3";
-  sha512.doc = "ba2a9d7416762265fe8bfa15a125436fe93330f0c8d8fda7da2fa4d4dc3bea11a52ccaffc0a18072a7330ff51f36d050feda661c95799d89719d1b1ba34d62bb";
+  sha512.run = "0465e183077f7daa57d2bbc5f1a76afa72770718d2dc969ebc3078b213738f5ae3919f3ebbee04ae54ff7b8ad6e35630fb22293b5cdac31ee5bf31680433ad15";
+  sha512.doc = "80ea19243537e769c49a3411e036c5811b19586fda3878894126a151af4ddff46a554db7bc07f488f692fe9efd0934149c8c94cde75b92c880bfcc28218ae5a1";
   hasRunfiles = true;
   version = "1.3.2";
 };
 "photo" = {
   stripPrefix = 0;
-  sha512.run = "fe3a9a5917ad689b4e1ba3da9ae3637d3301204949eb676f4cd8bc75ef823a5b2279cbeb88c1c90c404f9e535c504f78f88807a863e1502c3f0a31d448a98fae";
-  sha512.doc = "c0b75b2be340fc19b4e750fabd7d83f411473d185524c8bc23e738422731e2c089a08dfe2d8f30606f5b5057ba8b949dea02a74de3525a69999fb133b56705bc";
-  sha512.source = "661c507e2324d07c078f263da723ee63e6a8a41c3d5df532c4e2612bffe9c84b14605be05d0614c6fa3341dce142567c5aa07174b5d5b8cbad4f3e98efa1767c";
+  sha512.run = "11727df46b85be20802588a6c5743a9ae70a89ea73b5f16b8a4a3d3f1d3a9ab3194f56f0ef9d79947b14fe3f6b3e05cbd291dad8346cdb128b4d1c8c22d50bf5";
+  sha512.doc = "037466dff8edee9f6218b1fddfe579b2f82491746e22886ea5f8496b5f564084d81e35ed549ddfc42855c850913cf8c587806d71b7a531ec3ea3056962c54e48";
+  sha512.source = "644303a7eda6cbe50db8cf871ffd642dde5115d4f1a72edde65e9218337faaa63ffebc94bca96da28a4a2d7568ae0ea124f1aa12fe5402cfc1c57619e86746ab";
   hasRunfiles = true;
 };
 "physics" = {
   stripPrefix = 0;
-  sha512.run = "f3b8c13b0887f065e7045d7f6cb6c9fef46a662640e64875fcec1a89c11908b64f12beb14de5320a9fed1e9b8a8a1b1735941cfac54de4786d22395e86ad8119";
-  sha512.doc = "d71a48281649a1815a9ad2918041e9ee3776fdb5e07c76abfb0604ebaa035f53879d777b5e6561e918edc8913651bdb3ac71c7b53801ce74dda8d489d0a7062e";
+  sha512.run = "e394a7f8eda4583cf196dccbd9d52122d0ee630a411630f11d432018c5e9696a9b3feacfa2f881d82090df165a73ee0fa610ad86422123a9e1502ccf4b695be0";
+  sha512.doc = "40a85407502116954024d51361dcbfdf36cac07aae382ada1f96d413f9b838ea5a11d7014722b5641a75b6c9bb8a5c6c134c8c0d424788f47f45fc80b277b3ca";
   hasRunfiles = true;
   version = "1.3";
 };
 "piano" = {
   stripPrefix = 0;
-  sha512.run = "65bec55df8c552217119c9c67355c6fa309a8f6a9ae13035099891aab991e9918ac076b09558df9dcad33b89c5f838078c2fcc0899765c0c13b17775c7fff2d8";
-  sha512.doc = "dd10f520f6faa69c875f80c9d6bea8fff2f32c97e949e813af5c2afae6a4aa651630e34c25c436dcfe8b59dcd14d4ecdf8a03abdab681295087d5b7fefd5df84";
+  sha512.run = "49c3b29f48211ac6ca04ef8f9df74cd3f4673a84e9d84c2a9b06bbc958abd640116673abd751be40adb470907bcf65a42756c22996f0adc4e2c0dbf3d6afeca4";
+  sha512.doc = "50609a17b51de85d5f9df4da91c0c1c421a86ff222d08268fd0145e248eea740c68445724fee425a2adbdab85e0cf5b4a9bb4ee5cf3bfcb4a3d5cf4f1868df47";
   hasRunfiles = true;
   version = "1.0";
 };
 "picinpar" = {
   stripPrefix = 0;
-  sha512.run = "605a2b152b178ac3021fd31186dbb231385cfefc2d1eccf0ca79af445397aecf408e810a700bc538514733168e3251a9e84f0e43f6cedb9f829c20977cbb1959";
-  sha512.doc = "db69e3005d4d0405b92b2456fa3f0b131abe25dc7e9e89437d31b222919b2d5ae6dc1545405b657643fbcdf08d9899f9ae30e0d6171657184a8e7f23c2d0514c";
+  sha512.run = "9706ae1d10df99327d4778ec538ffc9aec465a04382b0732005d25660f452dda539b736be50a271c9be623a823be113696471da6c2d482dbf8a269af7c1143c2";
+  sha512.doc = "73b28f87550924b208b48ca9a066861e02b1a8360151ad89609e6d8c36a772192f174befd87fb02b65e92370fec332fca5d67a2e84e97c7549b86825384dcf34";
   hasRunfiles = true;
   version = "1.2a";
 };
 "pict2e" = {
   stripPrefix = 0;
-  sha512.run = "d15febe4c834a4f11565a8ca32c39456f1f5255a72ec7c10e570be5f9f474f75bcd1de061e2cb0f12372f2aee6fac3f7e289a6474b3bad8aceedaf4f2e3cbd95";
-  sha512.doc = "6653e9e1decbdda3a025aa20ecf1065f1429adec3fb583cdf420af2971872bd05150f2638712ca5f9cced7fbce3cbc75469e625be4424b48a088348cc0b7e9d0";
-  sha512.source = "062bc6d02eed679f8384fe1a04ce7fb05b0bfdaff24848abd3275f94a4e6df57eb9ee6bbb615c240a49584f62c6246343cb5efbf2c09e24ef3a84d9686e3d7dc";
+  sha512.run = "9f8fc3acbfb19b9e45579c2e2b0013dc84b9c670404e71f94b70c1e8a91569731a3b6b44e17e3d80bce5a099c3f16d6d74b7788daedeb48262971ad001d38472";
+  sha512.doc = "43297b99d4032a53b8dc36ae64a42ba12d5b800a352514e9678b0fccbe5798eb8c780b5b950f72f322eb12b9b23266d57df6d74409ad17d413d08028b033c6ce";
+  sha512.source = "847e0796c5dbe144ef13c196a3f472622db7bfe5a83f6457188739b82ecee0113ed704846019bf18e514c0914561dce35419287803552f98775f59a7c293a382";
   hasRunfiles = true;
-  version = "0.3b";
+  version = "0.3c";
 };
 "pictex" = {
   stripPrefix = 0;
-  sha512.run = "22c9827f170cdb4f7c4235fc214dcec69b952d759d4f9ed8b5a8afa22123dbfa9945cfd1eba367ec3063fba705b7c0cd7ad5efdf793fa48744fa37947c3d1dd7";
-  sha512.doc = "2f3deb63cae8aaab6ece148fe95dfd9bb984b3b4b7376437cc0c88bf211b091aaa48e80d39ea02ea0c68aabf1dc673b803a23b29f6eaa5977c01509d4e10c400";
+  sha512.run = "ed91f0518668007aab7b9222dd08c7f489caaf084ef915f88d435128012b2b4eb9ba610168154f07bd0d084a34909cefb1dc0c1cfb2186982b4f08f9f6412f7a";
+  sha512.doc = "61ed0f632d7f12fca4631b13714994b2cee8e05176262dd8cab672d4f8f7e65a36e0d927e3b803991818d9d2976d5794d48a46ebbbaf8bc8aad99aadec7d3fcb";
   hasRunfiles = true;
   version = "1.1";
 };
 "pictex2" = {
   stripPrefix = 0;
-  sha512.run = "78f31ffbe24a1c91f6b03053f5a89d56bd8f20cdf67f13494a03b848d50e7dc6c3c175bf1df74ad59921e2b77159d8bd2f8c07257284f386462835ebad0efe6b";
+  sha512.run = "26b608cc8409c62f4c0130cc032f2ca5929886fafb9d22d93aa23af5a6dee62bbde83926bccbcb4fbd3d86a43810d751eb43a2a94be9528e1639c59fb61e5446";
   hasRunfiles = true;
 };
 "pictexsum" = {
   stripPrefix = 0;
-  sha512.run = "482fc6f1a7729623a50b4f524486c2da53ad4ab10e075336f92c9256471a96369b77fb62d5218e341207dce5aa8b0557192623db09f45a8dcb6537c916d7c792";
-  sha512.doc = "1bd9c7e7d7314631d962cf746334483527630f526076e07052e13bc1d1cf6f0b9b831e09788f19b834e408bbc1afa43215b684bd8e91a2a10e15cf976829a932";
+  sha512.run = "a24861e4b6184084fffa783918db485e5c7cacf7a6528681e7d8d4212287f1f6687604bd4f347e9e34ab7d29867dec2b30c9871a13b9bedae31b5dbb82ba1ed2";
+  sha512.doc = "148b7c29cb8189174442b95cd39b0d5fdf9f937a7a44a17314b93cce555cf3db459e21ae2c4eb9098c15551bd7aada2804855d68f9408fdbe974f6c12dd724a2";
 };
 "piechartmp" = {
   stripPrefix = 0;
-  sha512.run = "cb132337d5ad7a15873cce6b416e3bf4b097c58bc1d16962b6b858ee6094524f3076e24430e7ad7f50feb12f07011dfff9dbc2cbdd06cf454fa72ae7d7a11315";
-  sha512.doc = "3f28c9ea54d17bcee60853da3f1e2bcd623142d2c56d7d1eb48e726adcf232cf8be0c732e36f261cdfb35687c05f3260d1d11df493072ea801a94daf1c627adc";
+  sha512.run = "e4ef7bdc43280c4311a6e8abf2719815196fb0ed0a8450501061e0b3b0bb44cd60947d6d623ff753c5ad1384d98219df695865e6459eef02b2b96f00906d023a";
+  sha512.doc = "f74c3c34d37eabc3b5e857a90e8da2c6ffaa3b4a6974c6b1127f898fb727ff18f0f399e9c4ccde8d4d198bece0ea83fbbac37a1ba1d381576166b5a2742113c5";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "piff" = {
   stripPrefix = 0;
-  sha512.run = "ca03fd39036c86626a3b3c36f3b017d81ef93a90807e9e24a5c7df96f53e0e4f74fc499daca51bd3fba1e37ccfec4094fccf7c9ce20d17fd33a89c5f8a62dd59";
-  sha512.doc = "0e0a69603bd80092c4e17cd9ba15dde276c68f255b5c1ef4d1dabbcdf0b4212cc85d36383ccf605b4b18e1906a208babd11db36e249795b4b9492cc51612d551";
+  sha512.run = "79b804dfdbb12b8d2e854341062f2a149f9b0e061385a30650c39b877cce72d1af4ad1644d73fb3ca733a171aa61d1b533295818dc10a92eacbce2ca60722de7";
+  sha512.doc = "ef9d14cf4a38315e4d523082db9baf8d0f89e5963001d12ba7ffe260ca2255a6aa99dc38392a6ceb0fe24e6abb8c77b9343f29300ff5c814c01adfff3321923c";
   hasRunfiles = true;
 };
 "pigpen" = {
   stripPrefix = 0;
-  sha512.run = "6dac4af49e6b77d7757af9bd7fccd892409cb7bd09623d30039c8c62e3894830c3119a05ac3d26a1b3b23f0f9985b1a8c92d4dfba7c585dd53d6b90713aa82c1";
-  sha512.doc = "d1f7cee73bb9a07b5cb3fbcc9f8baf33725fb26e51a72a71776851db6a2c01b2a9b0f491575a023899aeb58ae47e84c2d1c8fac94bf4be69fb95d965eda25196";
+  sha512.run = "107700bb0c2afd35755589551ca6bbd9a95ee6bec39e51868ea1b5fde4855a0ea2eb92b50105eb6a3490f82ed6f55c33cac25bbd58eeecb57fb80380095b7285";
+  sha512.doc = "48c6c4c26e7518f06233ce0da8898c1c722829adfad042c12b8820bb1bde43f25410c41f76c51f4d01035c9d654bf3ae8fc7bb44a4d2c23c52f3336ec7e7d128";
   hasRunfiles = true;
   version = "0.2";
 };
 "pinlabel" = {
   stripPrefix = 0;
-  sha512.run = "507d3449a9e977e6f308e391a1306a1156671da5a29f433bae55c1f099b22f1eb2a6b41af8985131349295b0a74a7cc2b76e83326f3f2e77ae283e09cd4bcb40";
-  sha512.doc = "59bc4d2ff33ec77afd20022a6c6a1f2db0c31b9af3147ce1fc7ee236a808843bca0378f4396df2a94db4a637cd91ea9fd07b021591f3ffc52a90f22a1009c98d";
+  sha512.run = "56ed76be6c634b3c1fd3f83e12304d0d0e078e027754ac7619d680d2072ac7b67c527a4d23dda8feb6496e3808b3414bec65a48d4750d44405fa4574f122880c";
+  sha512.doc = "c56fad48b7cad065196cecdb64e501555d2a8f3ca098f001123215f8e21968cdec2da28f2a68f7e07ee9b1c2d961a82590aa136b15bdc87e9176462cd706b0a2";
   hasRunfiles = true;
   version = "1.2";
 };
 "pitex" = {
   stripPrefix = 0;
-  sha512.run = "7b950db7ecb87af1ed0626d0d06ca6c955afbfc8b1bb2b478d9a991498d243ba74d8e10115a443a981b3e0bb97795412f0a047986f64cd5a7dc7fbefbb5a622b";
-  sha512.doc = "65eb709e3894bef7b99b457941a2fd837817cd82ee623cb416b7cf7b02dd826e7c3bf5c6afd6ce8f713ffe72c6a521adffbcc3bd0a18d8315a9ba56179bf8a80";
+  sha512.run = "dcc4280ef914ba66210ce471dc276042070b3246bc95ecb93b3d8af55393f49921a1d5e6851223299831344503dfc77fc2893f4cf1b78351dad40058979c20aa";
+  sha512.doc = "c3765f6acd4a147ffd2c216b1cda58e5e6ac8dc1202b444fe80d0dd69449b01df3eb17069842ef745e76e88371bf71c178d06c5ad2bc85e3427726bb30b74002";
   hasRunfiles = true;
 };
 "pittetd" = {
   stripPrefix = 0;
-  sha512.run = "e3b9edb291323f8eb3b49f9e4c0f839f2f4e77a85358017ac68c78c6c1a88921bc48053e16c4da1c5ce3668ae8ca00736f4ff1ee019197dec5456343949a5e2c";
-  sha512.doc = "177c565aa8c415cabfe6f91154032cbb0d67135e9f6ae7b71579eb89e1acbee9da30ae2085f511994018d04b93fc31cd4d4b865c15fb7d4c32326909f487bd5e";
-  sha512.source = "2a7fd63f232f04329627c69d1a739ab3c81ae9217043c6d0837addaf48d8f1f229c6f649cfba7ba7e30eb8fd4b57408b97ea7c1f1881213ba348bfe8f491ac48";
+  sha512.run = "5bd78a90b4c7b9cfa8fbfad66e0de79d09762e06d3bb35a7aaa13ef8ba73aacaceafd8d5b5468de8fb59c6f4c76d364af145e101543c7ef2089dc9fe00e5e9db";
+  sha512.doc = "e72d325fbfd3159699621fd703fd539259d1b13ae69d00e771291e156e3ce6cc15a0d7e4d2e74a3ad3492c39c67adfdca5491b68dd6e8ac78ac1213400f091fe";
+  sha512.source = "fc1afca13fa1d4b6b0f77dcf693939be3d6423ebf15dc6354b955e1a02ea5655933470de740d0d626d718bd48b5f4dd1ed92263d8524d0ba38b2e4c328bbc135";
   hasRunfiles = true;
   version = "1.618";
 };
 "pixelart" = {
   stripPrefix = 0;
-  sha512.run = "014244e9e5a85b6629f397a86c3f709956182d96e0141044f4436576b7ae5f89bfca619201ad82880cb7351f785021fa21aab6222f84c93302acdfff00689369";
-  sha512.doc = "f48c8b96c544b02fd0a183794658c2a4a0bb15919e367d46770e81b51e2c5674d291467ebca27502cb3e89c901ccd6a1c4e9f5d387a6a12da3e7e08aee1b2fab";
-  sha512.source = "b1502155ab651560acf1bb0ce03046ecc88490b1a67efe801f570faca4ee785978e771b82579a6c40085fb05a5df41d010b63ccb47d27811cd12ac34ed526e99";
+  sha512.run = "9f9839c0d286262560f24c7bb83603c227addb9d5e969aae8d0d943cf305c25b06f74b3a2a3fcac9e6ab5f2473ea0e11b94283b71ee3794bad21c22212d05e28";
+  sha512.doc = "8ac425c6345b95739a4864f89c967170ec121e0bdcc4b1c3aec9b60430ae7c240073439270db1311f9383c139bbc485aa2a39248c4ac5f788b8ce37345e6c65c";
+  sha512.source = "7e8962f9b1989fe23c62dac7003e0e1bb5ef1ccade7b2e07f761f3cd6c44ebda85758fd2a2b438ce725179772d8520ebaa2037920844000714229b53d6d99ccf";
   hasRunfiles = true;
   version = "0.2.0";
 };
 "pkfix" = {
-  sha512.run = "53163cd13b4e2466474ff01e92d0b97fab73a30756f06db65c4dc50f7a9e8a2af0bf771b575ed7e65404620b34c26d2833ee0897f82d75728bc74f35d0154dc5";
-  sha512.doc = "ef411ae7d4533ceac526fd02dd775296ed00c664fa733459b89de8abc1e0259f45c30b667e7723b5141ae28d5d7541bbd0054100c2e51b41a01de589de58e8f6";
+  sha512.run = "b4d374e5b771e131075ec59ef6713c6433cc3cefb6331a933e791c3774a9d54d6c8427d70a4aadb2c6326c3733abdb562ca103f0b6a9dbcafd87856d20b18a24";
+  sha512.doc = "c6819c63aa4cf7df5879a796e08299f2fa132e1244648d17a7fb0b3c28204b0641e56fe4661887c257ca4f5998786c31b1cae2aa64e3163340f08d02fda4c8d4";
   hasRunfiles = true;
   version = "1.7";
 };
 "pkfix-helper" = {
-  sha512.run = "673856c42400e15ba230d627a8b21e07e8c8a61f62c5d90f6b2387ede1bba1c8931dd1084f7fbcd17651ad988360b68b532fb8be2451f11176c95c3e74f7b9dc";
-  sha512.doc = "886ced25440d938e756cccfabaa8f42747c4c19cda31fed6be422bddd2d5d228442ddcc8c7e0ecbcba9efd8e8d780afccd5790dd593d9671a515e8bc42c40701";
+  sha512.run = "4828927668f21f465ab672b92e6e3934e81e60bd9b3bc1f28a65b2c4dd26d2ce244258ac1b7d8846c0bfbb653a2fe009875ddfcc0383b34249e775f675497478";
+  sha512.doc = "146bc49beeb779c4815737cffe1bad30c28e7e44409a3e7036ab82c58f6f1b7e0ea3498f1a19cfd312390bcbc31c72d9f61a92501d87690a61cdc7c66c2fd2ae";
   hasRunfiles = true;
   version = "1.4";
 };
 "pkgloader" = {
   stripPrefix = 0;
-  sha512.run = "6087da3f84553e9ca85460a55ab207749e81e78fd65ebdadc5273b0817bc24b089d469e6cbd783caf970e3235441ec9a8ab3250b2b0d6fe25c8d85e6885ee4e9";
-  sha512.doc = "b957abd848419537609365534d4794028f7af791aeeedced5b26e97b56809f58793cd45e1497d0c727c8020e169e619bc88f300700b3d521779e22060e797651";
+  sha512.run = "2b9af06a79f484ce948b98d8ac09f3327a64e2299770ae6746d9762fc6b339d68aa3ad2abc5e67dc385bf4675cf406f170ef706fc101e87f6b58c839b6d3a3e2";
+  sha512.doc = "231038d0af3e7293cec5b5e3a9835b1ddfcb60d5c8006009998e5a04638e0ff818ed36abcb2326a56149af0884297059577a3437e9bb144264cf42feed055cb6";
   hasRunfiles = true;
   version = "0.7.0";
 };
 "pkuthss" = {
   stripPrefix = 0;
-  sha512.run = "2525c72b11d760dbd4075aade89e7d1ce842df72f27364ce9f60b9f245d8c4a7492867d98428aaeba775ecb1a3d599941cc5570c2cd46a5f90babeadb371b4a3";
-  sha512.doc = "842a895d4dbff3c657862a6df742ef335a0e84798585807e4de0d73c7ae0ea951013f92687ce04a68bead9c2536164112bf064535ef778a1f24b3a5c58d781ef";
+  sha512.run = "3714a72dce39b7f72c4bdd8355d077822a41c332682e4e6b09bc81f16a61cf5017315428e942e26a36f8bff79a818b9e35b0674e01412f7c29f1bc94258d4636";
+  sha512.doc = "7077cebfe115ef19f1d0b1a333babe00f75b47c878d5c316bce75a80b75a53ee19814baa506b7587d18216d928a25f2e8722f244ac2ef5d32d7a7375d76be0e8";
   hasRunfiles = true;
   version = "1.8.0";
 };
 "pl" = {
   stripPrefix = 0;
-  sha512.run = "4a15992ab0c6c1352e6047582b5ff86469bfbd7f02995be4ebfe49275d39acf80b1e409836d8a5e6fbeef8ce8f5371825091a9da6c98b2468dd98c133f2eca40";
-  sha512.doc = "d1a1a06e2c9d229c8cd7476322a498e0bf2903e24cdbb35951a92935d706a799043061d0e26425b1ef9e90b3b04237f4d9dc6c979d8908605b74dfbe95e27aa7";
+  sha512.run = "8647d7f075ff8c4559c1549b0e1075790b3fc2890b55f2d8612ea71b385b9a90b25a1827fd99b823ed945c801e1dd1773b28be3fd9b8e9744048fc370178e599";
+  sha512.doc = "f9e53f7d006b671d788ee888432e62a98704ac5ec964ff6b65704a2ac9afd056f1de366c4ae60460de3c112fd9267e8ac8605543ab7d8cef345d4603c93070d6";
   hasRunfiles = true;
   version = "1.09";
 };
 "placeat" = {
   stripPrefix = 0;
-  sha512.run = "5bc3ebafc77719bdc477a1848cfad1288820c592944fccca284d3cb1b671fcda59b229ab93447a3ec3c40e2e99b6b7ec612943c48917e5c3628cdbfef8647168";
-  sha512.doc = "c12a7202c55f4bca9c05ef7c74e315b6f71d270eddbd39cd9d50ff882e0a4a12001e81aa8fed37bfe4c4300d8f7a0525efe49e11beaff604db5ef6a6d949b05d";
-  sha512.source = "4990186a44675eb67dd27e6b1deeaa73e3e948071e550a236342ed709ebb3acb31409266fb3d1e85566e3f8b59fe3ba44cdd21fd23ea958e1f1836e89b0466b1";
+  sha512.run = "476dac5b149811659c663751478f9f224e209dd63954cb88baadcc94c70a4861673512e01c4a5f30097d242f56f1a6edbf4fc225f8b561e49a4e60b02020488e";
+  sha512.doc = "0fc82d9b448c85eb3d77a7943b9243720f41894f062d9723b3dd56f2d3e9cd8fcb87a3d57f387f1c87b3ea132fee2e0e08962d9044aa7c756f0db979f4c06a3c";
+  sha512.source = "c24fb52958d4bf39ea7925b1b68f2b2a5eea95c4c7bad8193d272111d6cc896b89e1b7ffd923a0e6fd9fd231dba3d1038a8730ae58b4ba059738da646e6b7bed";
   hasRunfiles = true;
   version = "0.1d1";
 };
 "placeins" = {
   stripPrefix = 0;
-  sha512.run = "7187d061286fc3b454aaca5456f1920b349878d8070afd03b3078167c369133ce5e114dcc42490196ae98d00ec6d081417f82bc25b5d6a2068d2532195b32262";
-  sha512.doc = "3f3a25b748cf80d9b5b35bb5af300389fb9aac1b8f64352aff854a5537a9168433434bb52b8567a2acd13ebc89f5a500d2428de974b234e37b417d5093bc6cc1";
+  sha512.run = "618eb33f1fce0b089fe111b083b0153c146e0d8abbcfc235a86dc6a698a2fad080f8ac38e04037e06b0e1e2782291ca6d01ae69922d181b26b4c809d6aba262a";
+  sha512.doc = "2ac2312083ae8abd3fe3f85da7dc65032a4c6bed4d1778c058120b48292f459d1b77d40e4eb6f0afaf88a5160d4fb0eb7f353ba1d93b7ec672f054e58de4d6f5";
   hasRunfiles = true;
   version = "2.2";
 };
 "placeins-plain" = {
   stripPrefix = 0;
-  sha512.run = "0e525e725a599af304cba87b9ed9dba588937935427c6666de2cab47c0c114d5b46fff0b7cc0512bd32e6d4bf032a20da1d945665b2ad27cdb1d7c1ef7122af4";
+  sha512.run = "ba143fda432b8ff9f96d48218ea3b3d29308db3a403c64af5f4a89b8305ff835481d9e0e77bff92530207359115f6a44b006cc58bce99c0f7d3924d1134ef60b";
   hasRunfiles = true;
   version = "2.0";
 };
 "plain" = {
   stripPrefix = 0;
-  sha512.run = "bb95609bc13886773500fa0338f277625ee72b81e71aa7def3e3ccd97b8b9aed58fe0949d3843fecc96b531a1ac42f33aecad8df8bfecf46dc7b24ae46b5444b";
+  sha512.run = "66f585e1fb6b95913ce71406e840bb15953b2ddebc3ce0344eed791e496ea75b93c4969abc363016b71dcaf65c0c676064ec778bcccbb2490031959ef3276bf2";
   hasRunfiles = true;
   version = "3.141592653";
 };
 "plain-doc" = {
   stripPrefix = 0;
-  sha512.run = "e551b1ae0a4e0ec1abc1207610bee6de222abe866f71967606b6c556d42211d82bd5736741bc1349d83f99a159847a59c6101aa3a67c57a780a6bf1907bc479e";
-  sha512.doc = "04d35d5790ab5ae4bb0d6b6f73cd9a5e412ab0c02829573d3848435189bf86f14badefcbfbe7f6405523a9a80e15ce1681b3b066372fe5c811cee18141f9cfb2";
+  sha512.run = "bae58c957de52e1a45f91d8ea49579ea9c5b50b641331ae8d27146b6bbda1cf93e09abe58a011164ef99e5513cc32d346da7d693e975271e1892674aa5799406";
+  sha512.doc = "03f17a65680e4fedd76abf2ec46dbac4b7871c3106c74d3d7c7f200bd6124146b2f78848a3761eaf63b2c909eb5925b78441d73a48a4437ef496b8643777d847";
 };
 "plainpkg" = {
   stripPrefix = 0;
-  sha512.run = "7072cd339b5cc620bacc3e91b2d8774eb1a1ccec56b1bb0d3d7b18b00ca0eed6d96d0723aeb927451550ec1f093fd4b2ee74fba5eb2518849b285fc603e8ed25";
-  sha512.doc = "bbbb8c0fe4670bb574a4dfbcce5c818b81e7ee2f28255525532ee5a23a8604d80373c9c12b92e5a1d639aa3dcaa42a2975efcc5ac61bd8e45fc35eed8088977c";
-  sha512.source = "da4589649cc674dee1c3605daa30849cb2de4fc6ac2446e68feac6fb7c659b23b0be32a5a84d38dd401af2f002c69be4bf0e89fbee1a1e3614f10b0b3e71b2b0";
+  sha512.run = "aa1158f3958013b133dd3f9308063543268181296274a40e2ca606c8e684105e89b79cd9bb45d225e14865ca0e998e0412e8edf8057445bde549f249a6d69b2e";
+  sha512.doc = "684b4f193f29336d5bd2c494c0c447cf0ac28090a156ae286437033e14507607582b3b9b40bc7b82fd92661a4bdd75f953e7c0b675f46418bb585b6a9492eaa1";
+  sha512.source = "44138ffb31ad8f78b0ab917302f48f0bbea871ef390c52b211ac25dd9c16f0687f02348c96682d89c9fdb5586b157c9d6d4ab3f404f40ab173835997ffe7c237";
   hasRunfiles = true;
   version = "0.4a";
 };
 "plantslabels" = {
   stripPrefix = 0;
-  sha512.run = "c1df3bed9b03f0290d41ef4ea46071e8baaf3eba3aa8980821e0a6ae3534540c150f2cfc31c0f77f554b4e2491878705b3747d175a7b1bc4940638833d18ae7a";
-  sha512.doc = "ef94665515ef37a85752647d3e743d1fb42715a476fca68d64c37a7dfa23b61354d2abdf0d29e8fdaf9b2426377ef707c87152bbdfbc3c2daa31b56e689029a8";
+  sha512.run = "7e1724b32035ee32325c491bce57ead23f40ad7377b4c1d5572499fef920b874bd57298e654429203cbea726b8d645a0899807547db80825be163538c1d91537";
+  sha512.doc = "999f132df73c15a7b3501487f350e48777543745c5cddbbaf314bcb62eca9b3ba41b51324b61d04e9f1d9cef4b9b8ab851d3528f8893bb21e612a7f50511da65";
   hasRunfiles = true;
   version = "1.0";
 };
 "plantuml" = {
   stripPrefix = 0;
-  sha512.run = "21aec60872faa4b920aa192738e732b148864fca0638bd4a602dcfc8ec46678b2be5f732406545db7fdba7772decc9f0abb0b0c5ca47959fde555cde2fde3b7e";
-  sha512.doc = "8bf931f9ba79dd2a55f78f01101de7e9cff3d9e71e716067d6274fd2b6e5b5e83259c99823b2855efa5f7b67bb0c4adb15872766693aa5ae68c6625d976e19f3";
+  sha512.run = "a7eaf9dfd05377787a9bf18855506506a8252f0a8c44aef2d452834ea1f7091ecca66dceb6124e44ef117294d526838944884ee815a8dbf48ef4558da1284eb6";
+  sha512.doc = "ad2dc0f8696e15a55dca16c3a45a6376cd423c31722376b30fde2ba2443a4b768d02f745838ee4c83a1a228b6cb492367127799d9483a800f2da03ebd0eea214";
   hasRunfiles = true;
-  version = "0.2.3";
+  version = "0.3.0";
 };
 "plari" = {
   stripPrefix = 0;
-  sha512.run = "68d06d8a5e6d9332bcc752bbecae9f0d250fbbe20ee8aca9bde4866195866fe992cb38018e685956aeedb237da25c06d38bc5a98bec2987554f1534a3a3ac5c3";
-  sha512.doc = "86b3b1747fc6740542ddeda397b257c0a4489cae1d12048b880f57e1cf1cb56ada1cbb7fb7342cf283d6401faf9c319b4de7aaffe26b574a0f780cded3510c6b";
-  sha512.source = "6f9776d8b13afe27f8804ec4841db1c166eadfc108d557d0433832215c6ecaa8698adf2b75e8a8d5cb973cee8152d3845be8edfc8f05b9b20650356c69a13a3f";
+  sha512.run = "86e91b884be131df6b4da6441a9fbeb872e0f345eed49005ef74d58eb3ef8a2724da98cc810a51b58d45047d77545ac6b9512612b5946ba29d443dd14bbdb263";
+  sha512.doc = "befa46f8ef7c4c89e18339ececbd53341aa50d6bfc8927001d17395cba42db0f0ca3414619c746c78e4f5f4f9cb1f6db813defc7b89299f5b29e9c0866852c82";
+  sha512.source = "e03c7b5fe7406c447509d4ae841c13c579c608564f45b83e1fddb066248b53e46f83a2760d745db1a5acae08dff493686d667f0328c9c3d467df6a92d8304a5a";
   hasRunfiles = true;
 };
 "plates" = {
   stripPrefix = 0;
-  sha512.run = "89926561c815eac2d14917a1656867cac4231a4721aee1e851149b6536feda8c32bd59d12d8ad5a91280681b7d5de08e9538c55835edc93130ca7af451b1ecb4";
-  sha512.doc = "8ac48e03510312f54bac0a6bfb0845240726714400c90f7bff378e121c889c07eadc0b0fc830fa1fcd8decd9989a8655fdc43f533b24af0fe74bc7f231362deb";
+  sha512.run = "f662191f6a053585bbcf5a71635b6f63ee5d713086bd24f3c879f73868b5ab42b6434860b68408fcade7b7ba448845d1dd6a5be12b10bc25be8032b9dcef9615";
+  sha512.doc = "12779b285951d5e3d7a0f9d3ded736d5368291b678fd884262908897c4e32bd5fdbdd6bb4eeea59bf922555d5dc8daf6b0e06a174fba2605d4357dcf1f09c6d9";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -21238,149 +21754,157 @@ tl: { # no indentation
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."ptex-fonts" = tl."ptex-fonts";
-  sha512.run = "3e558826789881c701791006308d399e409b890f2084916658dee28bb52847945bc93248882ade6dfea2a1011c3ae0d162e9d4c085816380606eb38000636a72";
-  sha512.doc = "efc784d1c5bab12d02011a883b7bc07f2a42467f9a2b5af0b7f835967821d19814bfc1be0fd053f43b9c343a13438f0984a3aa1d6064d059fcdf2ade6d8f68f8";
-  sha512.source = "ab54d3975dfb89e6fb85503c11e04d825c27d8e5d21d5a7db390d0483322a85d47e100b9e488ab0311caf1a77f5b9df9566c79ff5156c507b518cbc3213071dc";
+  deps."latex" = tl."latex";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "dc0704d481a209545852edd6e4381d3d1bbd35173a3e67010f396093725d7e379aff68507898246ae0741658ca957665c9bcf5a6163648542a3585e8e8752240";
+  sha512.doc = "b762310465dd6cf147d5f5342115a57124cbbfc708e1a48caf8ac57996a5213499f9154c0c392f63766848f677f617d3014a7aca404ae5481c3fa0206b87ab39";
+  sha512.source = "cc1c90a007cda5d8fa5ddbf42230a23ab3249c71d70467b94aeaabbe5e42ca80e370fd2abe350ff494f8b17edd13c47d8e8ade18b47a46ad34c578a8baf06a6c";
   hasRunfiles = true;
 };
 "platex-tools" = {
   stripPrefix = 0;
-  sha512.run = "36e2c28554224f3deeadb1b9608697acc992f822baac3b599c287cf27215c1625c387686302f323fd6f875becee28f6f8afdd0890626de0f288d8f06c6aae3c9";
-  sha512.doc = "a15b693c3a402fee563bee960a048a1cf943573dade44e545bd8c3d87ff60dff549939433bf092f34dd7fca59c8d9eb5f7cb78af27b376a28e4f1b7b1fdfc6c8";
+  sha512.run = "bd1b61377f9793cce68a18c43c43316aed3f6382d031e7948e5ab6726b9be18d5b819ab3fb4800dd9fd1932af433352c7285eb9498925f54b66e0f87b0d293f1";
+  sha512.doc = "a58c732af05538e8450b9a329754d576cd0c606a676d2451212d928d39e841bcf702cb5e096405c455f98cf012bf4f75d39295d7ac5efc1c6d3647a16345434b";
   hasRunfiles = true;
 };
 "platexcheat" = {
   stripPrefix = 0;
-  sha512.run = "e4431b4f1b99a81a96275b386bf51a3fe03171e35df143693f844de2b0497c27816156b3d98092b1edac2fdacc2441a478e7bbaa2facf03a500f752744150c54";
-  sha512.doc = "7481dc286602ab44b74eaf6e783151b50a21ef5872d8e13e95dd05b233eacc56aaeef7167eeac2bb05136acbaae09dda02d1b45cf6ba79fe500c79e6b38f9ecc";
+  sha512.run = "1409c7311eaa82811236d869b04e9f55fa2a96804faacef4820072a4813055e70ecce0e8c155ec19016f1ed4e57bebe0b362c5457d1258f317a40fc475d42aff";
+  sha512.doc = "bfe47b947a915099de15e5519a3aff201b327c31d29c1966d4fd3e9b73581792d918b461ed1944aaf5e8a5eb7956c38579a3fd972f189b1e3abb903c7c904cbe";
   version = "3.1";
 };
 "plautopatch" = {
   stripPrefix = 0;
-  sha512.run = "29eef428d0b30f524a23ed715cddb025b17621bf166611920135dd98a367fedeabd10595d37f6c8f5a214cebb96d79bafce2ad95bad23104cf076e06ffcbf049";
-  sha512.doc = "8a0100e0abf282606bf7eac5a17c7a175395f64d2a5ab0fab4845d578c5543385df909e15fc7793cd9700fd4ab43162b815b3859706c7a7e3a5522c60eb9ba8e";
+  sha512.run = "f7c02f596e58710b401ea7e9b071ac7786dd640f4512111522414f90d93600854fcaf31df49af6aca605ce1c4ebce62373226d2f511c9584ac665d6b20e37d72";
+  sha512.doc = "291d4c18d6b08eba869b32e058eed9de075dc35082496cc5bb552a905bd9f9a08ce7e7108320d0b2af953a351899bc0576f7d05dc2a0b87409a72fbf6c08224d";
+  sha512.source = "13c1c1aac3f0aa30f6f0b102ef0cfc478436eae8889de147dc7ef5e6ea4e7a555fc15d97600defee6b8fd8ee40a2a1d01603e591b0e4a3132cc3eee6dffbfde4";
   hasRunfiles = true;
-  version = "0.9b";
+  version = "0.9d";
 };
 "play" = {
   stripPrefix = 0;
-  sha512.run = "228b3ef2d72ee0174937d397e4da21c55d9404862f6549bb7e9e129f7fcf5ad2816ffc8612cfd03d7cb9846ed3fb239d162c68dd92bb27542eb7e606b9f43582";
-  sha512.doc = "0f5adc57d3f1e4bbc2b6ffdc78415085d5cfaeb4750489e3a0ca2dcc1558a0496223ee5610282652444b9f8f418f95863f6acfdb49e28ecd7b63b6412c823e37";
-  sha512.source = "7441585f8c75d9496fdc4084c24b38ae01e36f24617347b22e256c7914ac753d1703041b5da81caf92b4246f948bfb70d7c03d950259e6dd0e577163c7b4b413";
+  sha512.run = "040468367a783e7bc49dd4b51e22a72c41ff2985a52e2551b3be6780767e17c8d11178f097cc66f5683033eb03cc2ebc2c08c1f4477daa7b8f9e22d8a40dd385";
+  sha512.doc = "97c882b12ab350c5b0fe066e04ea7c2c136b1dc7ca29e51d8f89ed695769c9ef1ed255c3c109ff71838bde91d25167a398230cd25809f1374ca306fbd9ae68fa";
+  sha512.source = "3bf9b5449611ce72af26a68c99a7ea813c7eebce59336d5c7bf65da1a870e6c26238f803ba8e07ee2a084826e6bee7ec819a919e7abbbbf11946f611cab17a03";
   hasRunfiles = true;
 };
 "playfair" = {
   stripPrefix = 0;
-  sha512.run = "d88f5f8695dd49637d0ac044f006a6ac9b3e7f6c7251f247231918b1696891686bdf01ec09683f29ddcca282a8a4008792dad80034dc01cad17aef33df541c59";
-  sha512.doc = "b0ed617eef20b55ca9ab8e1393cace2fefa3048a0669dc9169b19026555510412f310250484b5e02ab48bff6a9f2df8724105f2e238a4a7a8a58180f75fedb8a";
+  sha512.run = "cfd2c243878c3d2bad12bd6e284078b76097a43cb01e9c35bbc4af753502bebd49e73ca49dd91575196cd27d2e391511bfd4a268cdde20aa948f835d877a16c5";
+  sha512.doc = "9b60309afe7472f848be4b85dbeb4a5dbc422a0b0ac480a2f97c73a7525c9f20289133dc33e6e49a029d9e277536df5dd1bfefb57d65341a5d2061b3877e898f";
   hasRunfiles = true;
 };
 "plex" = {
   stripPrefix = 0;
-  sha512.run = "01122034e2490c385e86dd9c7773d620ae2fd9d45fd28157c21a1bc4a1103f7f8b2946f6dffbd5060b4b396171d0c365c84777f65271f891ed124aa3db4b7ffa";
-  sha512.doc = "841f4160b9e7662fbe9205f4689a9a64f2358a01923ee00bc1754ba0a9bf62757c0c8923cb6cd38fc22dbbab6e4105223296dcce33d74aecfb2b4214ce1ec412";
+  sha512.run = "e1fc413e26383514c6811ef3eff0263169cfc12881bfa8f2f9e1e60326156bd255bdb63438d0820c6cdf5a4c026afc9f6397598f1c59ebbbdcf3c64223fdf2aa";
+  sha512.doc = "f1132741d9d0d4961296f36cc17d56f7e32fc4a7d539593fc09a83460b5baa9f76a08b957bbd6dece4b29980420cfab73e05a65a2c4dbbc60308db582ebd2c8a";
   hasRunfiles = true;
 };
 "plex-otf" = {
   stripPrefix = 0;
-  sha512.run = "6c74a6cd3473e490b37fd694fd8b5b3d0a5ab2cdb834529045023f1340c19a45f2fdfdc79c074d3b81e7b8f6eb0b4d77a92305fbd0b16478d1cfce30ba71aa67";
-  sha512.doc = "0ee702e79a835ae5b9096929c648ce621e914e07f8537a394d20f3221af5b1c12b0d5b78312ff8d4ea2c034fa63ff9652e465ad0b4b8950d93238d6d512a992a";
+  sha512.run = "07e49e5dcbef60efd3e3050259f10b75bfbb83128412a1e60a31c2f17983ec73d055e5f6e117ec2673f9f0e5db716471fefb312be50cc4475761aa6ad895e9da";
+  sha512.doc = "4af950e1a3a384a1c738c6fa1bad629010ee2718840094500976b6883c2e3120cd070631463f90610c60877c0dea771c9c7e4f8f8c091aaf1f29b15b8400de96";
   hasRunfiles = true;
   version = "0.07a";
 };
 "plipsum" = {
   stripPrefix = 0;
-  sha512.run = "2291f4350a614227fd709f5276019e45a5e626248874c3d67060d98070dbe531e065c6f3eb7254b34b023169bbcd12ab77dc7cd5b667bc32f28614aca4f774d0";
-  sha512.doc = "a3d5160d775343d91adf981329b2e7242c3e4faefd60f8a40432dc7c6e5a83a519ad4f8e53e10672d8cf076ba17e2323504f84f34f76c91cf937dc385b63bb25";
+  sha512.run = "203b9cf56acbc53b2a3c195ba0a27728c93db91bd4be48441e61967fd0488cbc4ef96485ff0b567be64ddba798bb44308cb7cfabd2a2ac89d294203d93ff4d29";
+  sha512.doc = "6d5c77102abf42304f8480f74a073ba25b8cf317c3a6cf4c22af6035b17b07ac213866a10ead2a53d033b214e4a6d6e642d043d847e61fb165aa8a02ef90f7b3";
   hasRunfiles = true;
   version = "4.3";
 };
 "plnfss" = {
   stripPrefix = 0;
-  sha512.run = "82bea391e7b2e8e0b169e26b70122ca27b552ae19575653e25c82dab287f724321f227c60b6f2bc9e81b3da065d0915ab4e52beb30ef5db8cb091f0337f59021";
-  sha512.doc = "afa54f8b4c0b96ed99d77c86305a380e5b0f2332f6dfce8599828c35988de7d2adf650b8ed5ed37d2f6e88a43ca4d58f6fdbab6f3ba47353a0bb901976887af2";
+  sha512.run = "0ae352953c5981b791379d9da9b61ad8837c22053f3371f351152078f4dce6b12615ed771987115cc094613ddeb0c275568e1d7404f321516418d218d9c68473";
+  sha512.doc = "9569a4f77dead68ad8c76794f03e6ffe147e1801324291fc13487b05051fcb7f307971e65edf66024c169411cee9b2940eb4daac4d073773e67f2f303b364870";
   hasRunfiles = true;
   version = "1.1";
 };
 "plstmary" = {
   stripPrefix = 0;
-  sha512.run = "fd91a187e70b5d00143e8cf6867a990311777b8f6c88b5612dfde3922a56de69fb44c8b371fabdf768b358c7fe5d444b52ef7f5513390a6e85cfb2425ff8d23c";
-  sha512.doc = "e679bd26b1180bde93fa54ed5a01e04428211f40f9bdaa8bceb3c050c8a1894c04388b6d6bd2fb7c6aca75ccbea127cd9818f9f16bdd8703cfb3305aa657c96f";
+  sha512.run = "72d54627fd8a10215ae9fe417423c46240997f865da8b4f4b976290ded7fbb0360477db27f140bed0ceb4dfc57c42a23fe5ce780ec5eeebb9b3e30b372adfe9e";
+  sha512.doc = "6e5c425b7d484bbe187eef030fbc9d6a0ad50d6d8e22c5f08d3762cf8082b434de8a4c5d13251d90a016715c9a85aa82dd2637abb6e17a6973a08514baeef7fd";
   hasRunfiles = true;
   version = "0.5c";
 };
 "plweb" = {
   stripPrefix = 0;
-  sha512.run = "5bf5cfd6e4a03314d7a1a9b176747fb20566adb7a6eb8a1125af508e6a911d16af76de888ed046bab9fab2ef8815c515a2ed4b0d72be61a3ad71ed7667b446d2";
-  sha512.doc = "aedd2c57a896769c1e67145ddba29a4d44bdece00cc545ae55c8ce8ae32d448c3135348d80e1ecfe9c599c742de6be70cd9804c935698aaf90772263c6c4e554";
-  sha512.source = "174c2320c0d86c141d70ff7d3e97cfa270390b0c116d722287ae1800e54c32d76d3f60a6a3e3a32896504b61df15020c60de873d31dd5bf5f905e934e2ef75d4";
+  sha512.run = "1899a3498d10950f67d24d2d7bf0488cd8867bd862960fa892581137bb1fb3426dea9e193f8993ffa93df11684dbd1f25bc79a98489317998936ab4186e9a22d";
+  sha512.doc = "9a510c4fd534c9451863a47fb8fa3911cf5199b295b1e3e2739cfc37ca0351d28fa1876e5456cf05ac7cc05f9f60761578ba6d77841ca575908cf4f0c9f0e3bd";
+  sha512.source = "09039cddf52bb2080fa6f9dad964f267e43d04504dde81e010727f4957a4de0225b0e23c1cd9ce7222ee1ddbf0d6f1ed1405d0405cb849adda77d99086402d1f";
   hasRunfiles = true;
   version = "3.0";
 };
 "pm-isomath" = {
   stripPrefix = 0;
-  sha512.run = "02f2748914dd727beb091e6ef10f59cae9140b1523bce24cb6eeadfbe1eecbb3345d898f91eabc4e0b909cbd25eeafae51d42196b71044d9ee53d98003981ac8";
-  sha512.doc = "1fde2a86cfc4b3138cb097f89e9aab0b6e42677006a4b78c911635ec705976247e627f2b8efda22075041c632dc9ab5ab5579ba659645d0fd3df5f26544f9a02";
-  sha512.source = "30062167acdff154f5e347523ee80305e920c8ceb0c15d381f09e0a52f49ab31a92a9bec07dc6c0bdbb7532ea14e9e362ad722f233cbc217591289bf052857dd";
+  sha512.run = "2ca05438d8a9e4b2a9d1e4a9232071d34a915d9f93cdd865191e350b128b9ddbc9f0af67d76eb49ec2b6f2a1485a5a792850f0abbe59de0ba4f50c0c10b89a0a";
+  sha512.doc = "76876cffd5c59b2ca74901c5c83e364c0c7982b947efd869f82ba801298f5b57d84f292015c8da28a3e49aada42eeea9c35d11660c3b61abd0ccfe31708e8d9c";
+  sha512.source = "55976f387b8a2ae1caae8d340abb37ad1187efd4017a29243c474e8d9804ed0bf83a7206992dc2428a229a0bba1cda60b2b5e72235a79cbdff6e47361e03f814";
   hasRunfiles = true;
   version = "1.0.04";
 };
 "pmgraph" = {
   stripPrefix = 0;
-  sha512.run = "d3c3cdacbc2439962b6084af553772c28d1ac1f4a0542944b20f7767dbb2599962710dc4c0a1573649b9c7d6134c922f11a995042f72e7252ffc644fc6c4b0b6";
-  sha512.doc = "50aab458e70ce9b2809c1d50c5c5ff0a52388afc0559af24c570ff962e92851dd7ab24fa053b186f2e49c65b659a1daaa1508ec82aa5900eef3e5244fa05277a";
+  sha512.run = "b6e9f00789ad102b6cdcfb0fe48e5ca4f6976a7c207088c0c3e8b0c2d4fa376bbb932500d42133571a6e18747615c77eb6df2b4872ba86f853e3069ef198a671";
+  sha512.doc = "35f45f43c95264d4dbac5d12a71270fd15280f9008d204e12ab0a3bc6a62939e6de87233c94eeb7cf9627464d5f383c3d8c2cdeaed6eed9473a3e5fe380cc5e7";
   hasRunfiles = true;
   version = "1.0";
 };
 "pmx" = {
-  sha512.run = "f1f7f1396e4dc6920103d37951a2768853307631de9ada442b75689754c7e79c30bb807a5d5c23243385e72902fe4d3163896e710f0eefe631169a1b6cee7ab3";
-  sha512.doc = "7c9422b842129e8b227585a530ef6c833f4148f93290362bcae29fb827ed2ebbf0406cc28a68a7f47960e8a6964449f7d0a792ce37f00ee32cf8933b6d29c799";
+  sha512.run = "d8c20ad86fa90531b0bfb1e7af06492e31a4b3a46331fd36d60bf46275103672b61a419eb671a3c89f098e0c74a580df313d75001e52b27b148bf322c7df1593";
+  sha512.doc = "37405b45aabf5bb6027b7849bc23f263f2ab9ffec515c3d7a2073bd7030580898b1c2171c760a9da40dcf0cd4cde890e235dde572b22e69e6a273b7bec4ebeb3";
   hasRunfiles = true;
   version = "2.84";
 };
 "pmxchords" = {
-  sha512.run = "89e1c6be41bf1c04e1d956b3365ed3ceaeba7424c51c426763a32566b909e23a985d2bf82043ffa9a3ba702a0d99225f7e578128d5f3d3b1ba2a60d41b8c5480";
-  sha512.doc = "88bbe4169b8b07bd17694508f1f9f25de2da546da49bc726fa557111f1f93b96672f83dd07646ccff2b8dffd6fdbca5d8c379d298c0b929a66c8bed64e205d6c";
+  sha512.run = "0a8f4a88834eb22d3f11ca567f37189af7834370530c6dbca4d83482e94cfb48b128bc1290e7f3ee718bffb4df445a300ddf5081805f88002f53bcf8b434bb3c";
+  sha512.doc = "d4075306620fa1ce037a37b9d2646d197348f6482e1286ff6fd99641a8b441b3d830a1420dbf6c025b8d11af78363b717a1acc7ea6b9e2954aa4f11ef04452ad";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "pnas2009" = {
   stripPrefix = 0;
-  sha512.run = "c95b172714cbf182194f908e245acf5469b2fbb71e078da8dc1130b349b3bd95283c94a7efcc80ec01867f6e022928baae1d59cac8fa037fd3cbb68d71c6360f";
+  sha512.run = "5e20303db90b2db63a3d6026db582026df8b9e910942303c952753d5dc27928ec70a8dc21edaf44cd57e04d25e93a87a5f28caa769a0425b47c78ea9d56ffa86";
   hasRunfiles = true;
   version = "1.0";
 };
 "poemscol" = {
   stripPrefix = 0;
-  sha512.run = "faae854ed0fc326679f39af10a438a609661002dce566b35d0429072fe44c153e3f43e576fddd4a0ffc542f111a7f487aeb95a0d27787d61533f4182ddb0d5e7";
-  sha512.doc = "b55908de68f3dd87b47610f4ba90ee6179b88ea70028c56aa0d3dd3d6cfaff581cf10a04890dba96a44f61251e8f1ff7acd165456d0623745de32cee8b83f7ed";
-  sha512.source = "aaec63569e24c71d70d59883e48a97d6d2f35b4ebb7886eb27dffefa59cccb02ad37dda6c816a00aba71e7e7957a3d65ec92b3c7177572270a85d39a85b6eef3";
+  sha512.run = "59906e64751670ce1a00ac953db24a890b0c3388fc306c5520d62a728497203c1516106210b56b26f22ebf6e78e33a3f01bb7d897ad356f2364ac85c17819a82";
+  sha512.doc = "8631041e8c3188dce9a0982b7e69e6efdf7949fbd600c5869ee84467b06b80754c86e1b54476843002a12be4a52c9f88c82441cebfb86d4eceb12605391d3477";
+  sha512.source = "6717c08c6d728f7aed959cb2ab1ded7d050241f61d878889dd838c85c4090aba602dd8b85e5c8b8f01fbf23aac7ab1562d9d33e31eccfbd508277507f5ab24ba";
   hasRunfiles = true;
-  version = "2.97";
+  version = "3.14";
 };
 "poetry" = {
   stripPrefix = 0;
-  sha512.run = "2899747c31f18a48315be99aa25646d66fc4f20842b69f412bd87456863f14f0fe1c34e6d73518b58f49d8045d7e23005d15d93ff128d05b4b788b381dc4a951";
-  sha512.doc = "69768b386e076a6c6b73f69afba04c16b7bb4754b5f8fd4627f4f97617b658bf4df902c340801b92d713574e970374d36b787eb7f5871df3b0644817080068bd";
-  sha512.source = "7766860c71ee6c831163a22a1c51676eaa7f3725a6c8856fd97da7a8750f78f9fde98c8c98c3f8258e21dee479d92d9c846750f6071d4113191e303a020a573a";
+  sha512.run = "72e1de3a851aa2f23bdc34d4f85674ae6479affda0f6f1e9e1b500b202fd9cef823a04d12a7ef2f9fc195f867c7344f88f6990b97cb95e53d9fcf5f32d8568b2";
+  sha512.doc = "8a5a23ad316171ba1f00abbf905eb767676de2777f49c33692087356462067fc9be82e50b26dfdd7492e75d9b4bf444368dc98205a294903902f7a2f5c96a90d";
+  sha512.source = "afeb5b72d5064418d0e2c87bc13516267be905d10949b42660cf8d5a589287209162e41c52b9214492bc4678886fe6b4ce79e5a2da3924609ae5aa2ffdbd93d6";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.0";
 };
 "poetrytex" = {
   stripPrefix = 0;
-  sha512.run = "dcfadbf6d9effc05dea645bd50b65260b0d1740c248697267c45361ed1b5e8523d950eb475749d90762ed45f160047d1de69df167298493eefebbb9ef879cb86";
-  sha512.doc = "080681ff9704ac024d06c054ac4a9dfb1ce146bb26a876c3d8d993e025d8f6dd7aef8d6838077894fe5d3cdba342d895ebc00091a3e1360c343a92d9b446644b";
-  sha512.source = "ccfe6a93b0110dd8787c61dc6b33ad3877b116d1f71b4fb0e828c8cf153fe26b5f8b145b5b553f281aac253707d13fcd7aa6a724373bc5f63f0e9ed030a3eb85";
+  sha512.run = "9de77dc676f78ce6e18ae62f621126ffc2d78ceb9cb5612f8c129f0c0d123043c554a8996a68d2bf6c730a157f5cdda4101f8446e0e773671258ffb55d6fe93d";
+  sha512.doc = "e9bc2551a92df86e5b76448b2de7af423b8f96ea6a62b1e243f76588478172a7ffe035ed904fb8eb3c5be031e1451c997a68de3187933c3a7273510710577f25";
+  sha512.source = "4dbeac34f7a74a3a3610f8fa3d3b614ba9ed95384863d2edc40c4685bf7d514803a6d50ff8f27459a7ed993de97f835663ee84247fb0942ba9ff43779e2faeb4";
   hasRunfiles = true;
   version = "3.0.1";
 };
+"poiretone" = {
+  stripPrefix = 0;
+  sha512.run = "b270f09c59711712e27b3a0a73ca6109fd0e2580184fc5df02fe55140eb7db7b4e72e190309d12486d49593053ec50048c89c6203512cb451baf5aa2caa77c7e";
+  sha512.doc = "c9bb0616d8ce72c114178b4e0ca26bebcfb797af701555d53b3a1bceefd556eee2bf91fcde891b9b2a7b8650bccc9fd559b8630904e678adb4d2caa912da003d";
+  hasRunfiles = true;
+};
 "polexpr" = {
   stripPrefix = 0;
-  sha512.run = "cddee931089672025bc28ec79b2d3919bbed0f5c707d0142022b3e0a774a741a4a9bd2198abcb7da6e8a0cd410f5bdaa041d2b6ff05bfaeb9dceeb508e8a76d3";
-  sha512.doc = "c4a4ee72ec76481ad990280c86d68ff15a0e3dca4ad9893594be41f3967b1b5d5278e4850e3e2417029c1992701fbb1732e1e6fd3db8a83183aff763078415d3";
+  sha512.run = "93cbffd695c765a14cbec16010d3804a1733377628b5b552cb0b110b629d415a07e993e73ce0ba4ed7df217d16a6eb3c0f3a00616d11b10d003a0cd8239467dd";
+  sha512.doc = "1d8f3bb80a538411abc72a30657f1f32b60164c807579ef4b346484f12d8797dcb4ad90472c872bdeeb450b44e32d08bcb06dca5334f4b54c528794b94be4376";
   hasRunfiles = true;
   version = "0.7.4";
 };
@@ -21388,16 +21912,16 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."pl" = tl."pl";
   deps."hyphen-polish" = tl."hyphen-polish";
-  sha512.run = "dff00e12389d30a68e43289ed928212609e5f94d1f3529556bc891b6ddcf0d0c41d0ab8b320b6340575a568787e29d5c48e93319a7aa85612a8d84ab059888f0";
-  sha512.doc = "aeafd5e2f737d683dd5e2847bf755a8f1c7979a485952cfd06aaa7a01edcd4856e17cebb4726c874be4100f6d3a7bc0cf174013832f923df3bd3a045ba779a91";
-  sha512.source = "68dc18c14ba9b397480d540732b5f7c5a200ba8588580830d63af210a5ec1a42cb4ab51a980005a4985078cd3a9c7972f0237dc1985d27ee493217d53520fe36";
+  sha512.run = "8d4c05dae9e5cf8ab36bdba5be8b0748d5d283a6a77c7fa18821ab3a20fe5935f302a8ce9b1a1314ef128a20c1011018ba7bd04d34466d017e16fd9bd087e108";
+  sha512.doc = "a619719518e3d9814907d33756c4a3f2494c3a94b0a717e6f848e31177622bad6ba2cf595a23ff2efb65ea04b70b267aa87cd87caa56c91bab7b36bef82cd2dd";
+  sha512.source = "fe630f5992e79ad211ac4537cb1fc8b40154c2b43f34fb15594e662909077eb0a58f2be41aa05ad647a45d2d00c8af82ecce2afc5eec46c941d1060f2728a4be";
   hasRunfiles = true;
   version = "1.3.4";
 };
 "poltawski" = {
   stripPrefix = 0;
-  sha512.run = "4a52ab208c714d4e276a6a6e8129c1495c68e457f9b04945f1d46cb6ada21ad212fadfb1af0df0fe00d00e9b6b6130684b9d85338f22d77fe4d761655d096504";
-  sha512.doc = "bf14d55e9d636c63f3d25f5ee44e11067d79c02a4d3a58dddb5bb30e6539e33f9c5c24c25fb5460d8fbdd6f5ecbaf6a805863fe651ac79811b1f951a0c845ff6";
+  sha512.run = "bbdf230da2f81b48951eb90016745d68b73890f8c34ed2d336212ba33c7662a5bee1ba005d6e44c4370c81d22928e1013fb39e45db2de16fd05543310bb07d17";
+  sha512.doc = "1ebe7bbd99a3316b6c4fd702770c6f14a32de653909099a86433bd847a63b2eb231cba4f74dfaf1155c54a9393ae1bdf25710fdfc25199d09b75a265392ba51b";
   hasRunfiles = true;
   version = "1.101";
 };
@@ -21408,1111 +21932,1146 @@ tl: { # no indentation
   deps."ifluatex" = tl."ifluatex";
   deps."makecmds" = tl."makecmds";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "3f1dd6edb94323727be205c8ca8f664729ea828407df893906659d9a63135ec851f207bbf81acf3e0040002b9240b5902dc16e1bf81f5e5b5d0e4f7d079bd30c";
-  sha512.doc = "068ff54633cf31fce29f3e9a07968755daa1159e3836b22a6f1db3f3cbc17f4c168560db6e2c09a9d4b9e278835efd0b8153bfc0702bbce594165abbd64216a7";
-  sha512.source = "1804ea7050f9d57e37db7ce713fb28fe800f9953bf0582dd5a5bde4d416fc842cc3e8495c0fe21a5414e3daa8f8625a594c0d11d950b3896d0e982d546c758f4";
+  sha512.run = "2ccb7747c5c0becc77181c75bad4c035dd3a3a2f5a5d8cce03874c99b82d2594e2a80bd6d7799f3882b988705eb61ecbae4e8eccd9c415ccf4af6ff0e2e581a4";
+  sha512.doc = "21e73e878cc9bad95e3d7d842e89fb610bf2076e9f68a5b8f693a7112c30172dac72b75728cd079443118f598d4d775d96ead8953d0d765d5527d678750188b0";
+  sha512.source = "923333748435523d21f20351f4bbb46dd0a35a9abe1fe1db8faa09c53f7d7b9210627b2e7ead2b822815813f2569594c0652f672f1248f931b05814b86437188";
   hasRunfiles = true;
-  version = "1.43";
+  version = "1.44";
 };
 "polynom" = {
   stripPrefix = 0;
-  sha512.run = "d07713955f7b5b4602d5616ddc95fb6270b0755a9537387866014664e295583dc4b456869fd2c90d1ddbfee4251223fd708b53d9f38ba6791fa70620bef2551e";
-  sha512.doc = "847c5ddb883e8092870b022b76f41a7a75e50ea15b2d878ad2925cc7fb0a50408c7dbfbb6b765ee7d3cbe5b110b33e5719b201c5bdf72993738bafcd0af7c85b";
-  sha512.source = "aac2f7436ccd629ea2608424e82dd1a03e44129c5b993e6ef26cf026ec9795fefde717a0fb5ea6a1698b67f6b4b8641b4a79195d7722add9349ac4409fb0da77";
+  sha512.run = "bbff103f5828757f9c58c768ba46dcd9197629273b12d997e80e299dc1cf6a34e851fa4ebe088d131781eb6efc1fbd39cab602ba23b791c68fdb0e12f69440aa";
+  sha512.doc = "b0fdee90082414d88469ba5067f1c16279ddfc8c13627098bb3c2adfaded3c355cbb161193160fc5b9682d45a10216c56fe2613855528f9f4965479c681e6355";
+  sha512.source = "cf9dc9f13290bfd84e2956630eed115a132bcedfd34e6da076b2fa0fd4840fc5fabaf995b44f2a8f3c3d9ba9de851683a306271b272a83331a92fac367d82a57";
   hasRunfiles = true;
   version = "0.19";
 };
 "polynomial" = {
   stripPrefix = 0;
-  sha512.run = "653ac7cdfea2412499706a2556906508a0e6d26ca431516e8ecba67f5f3396d7b15bf8313f135e2f73f5de3f8c54be632e87823f60ed7e04de3abb25b525356b";
-  sha512.doc = "77b7816bf8d5974ef0b6ab3d9bef30ffc958771b0c3197f602f8b1de48d6dc76907f67c59150ca5b724dcc5ef7f650982562beb57d165f2000f4d4fdb53af545";
-  sha512.source = "10025ae5cbaf4a9b767c96323b64d44a5067b0c23a36b79da647faf5c4d8b8510e1c953eec18d33cddba4740c4e96e31293b292dc94ab1116135471458fdc579";
+  sha512.run = "46324509f078d9e83f4d94893454061636fd1148d5a2e9b59af640f617d82ba1d7397c7f7bb68ac99a83945354c875d3f29853e5ba38da59a2812f5f45ccacb1";
+  sha512.doc = "b570f3abf21a480e0bce2c08e44d97b488e9a0758d712cfde3ccbc45348eb95486c121662e296049220dd2802edb387651e839c2a819058111a2839049fc5964";
+  sha512.source = "db4c1d698b2a096ce6c848922beb747f70a874914d4ad1a468080c55ac0afbd89330c0665006f787c32c6c444ab601c64e7173ce9a5bd9241c1ba71582c0ea0f";
   hasRunfiles = true;
   version = "1.0";
 };
 "polytable" = {
   stripPrefix = 0;
-  sha512.run = "fd1291468c06109503436664173a4372e7f1c2a581f68066e9756c1ac9d6f671dafb3983eae4ae42658a63d6c5261fc554514d8c0db5cce50d1c4aeef8247cc8";
-  sha512.doc = "b2a05c14c3f55689500ccce9b1e8d254cbae25e20a362c863566a6987f7a954b88b57ba6701cbd76300d84cd581935153182ae31a0ca345f26c047a99f9e1b49";
-  sha512.source = "0ea0fea2f609d08f57246bdbc26ca4df0a67242d2c1ed05db9018b242fed30a0f375adc87f44d4cb3c38a011508869116de4d175c496a51ff87be0a40e236ca5";
+  sha512.run = "a83f8df3e09fd112a6f83a48f803847cbe112f2d18db803226e04efb6fabca1a8e5cd03d2ad1a3a30eb07d3590701b71b24f03b1e38d49f41493ddfc67576dbf";
+  sha512.doc = "7e53e2956145c29d7b9775ad8fd757b5dec4d2651683f0a48507094b86a5b6d42f1b659ffc72cacfc0cd528a6baad03cc19aabd8c0d1afdf57bcf365a5fca1ce";
+  sha512.source = "673f5f8cb4840074c2d33de2e53134a6e8288af411b6e61c1268dc11f5051c6cb65b8746fc2e2e959dd5ae2d3bc36a58770217c159c611ead0019c84918a03bf";
   hasRunfiles = true;
   version = "0.8.2";
 };
 "poormanlog" = {
   stripPrefix = 0;
-  sha512.run = "21a584716873f5171306c91b2f9c982c74858291b85d7645c37962973e96452d4976c55193300d1ccf66031c4f8c9434eb17815232872da6bd00a5fedc9acd28";
-  sha512.doc = "5048b64247bbf086c81ccabf1b84fb54df7f8b743e59254ecd37b9e4962f67d318a0a6368ff47ed3c3365bd2260a3b13dba33ca0875037606fd30917a78c0dbc";
+  sha512.run = "39524ae2c1cfec8aeb09afa4c195dc2d4cd9445483dac4a99a6669e66fd0b236b99831b9212931930b7f821891f421fa85c363015996c2b5be35be8a82ff993a";
+  sha512.doc = "3d624c5f870f4fdd8fd3df91ca6f80471223f00ce7407eaae6d0e98ba2da26f497bc149cc1beeedf5afbd0353e3f7fc9667ba3e4336262d3e7a9877981866a20";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "postage" = {
   stripPrefix = 0;
-  sha512.run = "45b6a61eadc67bae26ffd26de8536f4461c71c4c5ca07c1f00949e6a689f2e40a88dd6670cb1691155df9eddb66e9a5ca78941a8533368437d678269a032d432";
-  sha512.doc = "04db9507f7bd413b260df785cfca4f5fc75916ad8b39ebd51a2b31351388deae4cd24ef97b1d14575a65436b82f138cf7023e742c08083d589852e5082c34c49";
-  sha512.source = "20c9169c42a81ad0118b2aa0e3dbfdda07bfee854429063aab29ab461c302c3b991f70591f72f2c7a10b7db37e3af1b43e64b605ac195e81ed8f71c35ced0844";
+  sha512.run = "97315373848a24fb0c49e184cb5e4980e6c124d60bd9141f7ecb5ecea9e81097e4005ee29fc45d828a206ccf8a23a936bbc27cbc59fcc7b6dc4b75cbe4f9105d";
+  sha512.doc = "102b88d87ba4b371b16e1d1362f1ca42fb9feaab3f1df4d56176d353e90d68bbac535522e7acbd741be78f64624223a55a6f3802e8a190814ff9a71abefdb2bd";
+  sha512.source = "390567f792284e372089e8c8141daf42d44eda52a14118c60ef23911e405dbc7481453cadc1de9c097056f181909004a7a489c0040dd733d8c036bfa2022b3ce";
   hasRunfiles = true;
   version = "1.0";
 };
 "postcards" = {
   stripPrefix = 0;
-  sha512.run = "9bd942b43e0c6c22d8a5f9ba080e95388f5b062e4aff85ecc4545aad9cb9a66068161915841f185f5c48ef391a09181a3ecbde5254d30cb37464501de9ae8c09";
-  sha512.doc = "3322dc7f5111ab1d6bb3ddd2fa4e6ef3161be32d0cd7285dbe375db5624f15e62ed27a9d7791171549470a6e34bf29808ce569e9ab86e7bc244b3f8d16c8399f";
+  sha512.run = "0e358697b47ee74afb9fb6bd339ea4a76457c78a76a37de6039ac44cd9ce1fc28a3866c42d988ccebf025d0e08c4c092a2b647cce4841662242f740f12297338";
+  sha512.doc = "936c1f923bea76aa323d2c8ce9949cea3364eeb1a145e735ff5bdf609de4c54cc78125392e9e3cc914180815bb9dd5bae63e50c0000b2143fe7de94c199bc50e";
   hasRunfiles = true;
 };
 "poster-mac" = {
   stripPrefix = 0;
-  sha512.run = "12c8401999860083fef5bf571917938afae6217e24550c8547ac73859f53e07906851f578482c99d54344110408b18741d3304a2c9af779b300bebf6d3f1c115";
-  sha512.doc = "6fa16888d98ff48907724aa41d147491139cc02bde63416fddac149183c34b21f94fb51561c308df0cf545630968500da131cacc58411c8632ecc761fd730911";
+  sha512.run = "f685c2c6d7d2795cf80702c0f8b4da6661a6d076dfbefeeeb071f21ffebd4420c7777681e550ed8ce05726a4392f526da42cecd6e3f26b5dc8ba775494589297";
+  sha512.doc = "d06f06a4432638ce7780923818cbe638edbb21f836566fb984353aff0bbfbe0905adfa39cc69fc59c87c9e6f7f2c3c268b7f2ef9a55a0f0a2bf0b5212d9e2124";
   hasRunfiles = true;
   version = "1.1";
 };
 "powerdot" = {
   stripPrefix = 0;
-  sha512.run = "b6b77008d9800f96b4187da8ddd2a2bd55307fc2549d7a53ca4bc8999a2b9ecc26321490890302b618f7f1ec8536ab96aa88955d9c9e888d4f38601374760c5f";
-  sha512.doc = "e02df77a2ecd36ca0359c1d480357fea3e385c2fe69f922466edf47f309952748f5813578e36e972c521445ee94a49ff97ab699d4a374ce3fcb5b8ba2942604d";
-  sha512.source = "04a24fd806b382b3b9f6a38855b715ed8676871917c8d383483cc05ba1f335a2280eff12ae69f5825edceb02c8563b77ccf83616d4725f1798faf6361ad8ba7b";
+  sha512.run = "20888eecfbf1e390ff32e7cea503c1c9bcb5910044fc4f41238b63039b56da82993fb38c4f24fbcc43c8a4b451b59e1010fb81bca048d5ded1cd6455f7568bc2";
+  sha512.doc = "ba3051425104a49dc2d553d93220b569dfdf548090a90348ddc0286a36cb9f00e7956c617a133a0ef69bcf69cb5325b4f12007f6ce56868b6336d422183777a4";
+  sha512.source = "573248dc8e8e0a248c652baa3a57ca411302b40005a4e095d594f01cfc3a51789ae3a0c90b48d125f863e09a7672020a4fc7e51e45a1a75d8434c30fa41979c2";
   hasRunfiles = true;
   version = "1.5c";
 };
 "powerdot-FUBerlin" = {
   stripPrefix = 0;
-  sha512.run = "c38415f65f1157a9e2aa7059117ef50b1acb8e130e4ddb3d7dd24f54deaa8575524ed2d5c18c0157ec4271d8fe9da04bdd0293f5b0761c395e79df12abb4c190";
-  sha512.doc = "730a3061a8e4d12af40cd9ae143a511982ef6ad079194934ac9e9c751113319ba099e4f6421be1c4118c6f31cc71b5fd95c55d2fb17c2b8271da22fe30822912";
+  sha512.run = "607e182a393baf3701b944459e9cdd59451c402722226aff8f09e89702e46723be269b21b3eff35c8f71adc4624b00f083bd4aa0ebde66d49a32bf7de1eeaa48";
+  sha512.doc = "d822434b9e03f500779ad0b035100d01cbb197a68e931d17871bbe00ef3defbe594796be28c375502129424ef1309eb49e5f9f6cf1fa5ba8b4b8719a2825a011";
   hasRunfiles = true;
   version = "0.01";
 };
 "powerdot-tuliplab" = {
   stripPrefix = 0;
-  sha512.run = "82edf9a39917fa90786ce9e2b22b19a6857b447e670f991059f75afb9ecd745455f0db81f019c5d24fe23be9ae8f3954b732210fa25240fcf309ffb6a53e9bcd";
-  sha512.doc = "39af648e2baa3a88040a2fd297f63a14e61753422b46ddb2520af6d0cbdbb926ddc7162d05ad95c3132d322b472b2e45d279a9d7c5a282439e458fbfca2999ef";
+  sha512.run = "91a8008d0675ea36676682d741ffad1e2f842ae37b47da628bade8391b2c775d7a756d31d5169e087ca0c4c0b0e958a2bb34d5143f905439e9572a6e72c4dbf2";
+  sha512.doc = "5805d79f125ad94bc0818f52d31e14d786f4f032e03a89a0ec8ae69433d56654b6acc864563e3273664576a59880bf86de81756f76cf9b920a21ca8331ce117c";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "ppr-prv" = {
   stripPrefix = 0;
-  sha512.run = "a80d160493a0cd52bc8613980c275d35ea18c01b3cdf7ac08d39403cf1b09c0d167f76de79325499b19709f3b6c4674a8a1fd6c2ffc58995fef00b704ffce7c6";
-  sha512.doc = "8cb08bf776ba207c23dc1a8f670a1799d1301acfb9298ee8eb066cff8a3575fbd11b913922f8135d78560e5762cad04990279ebb38b25ffc693de82540f9a85a";
-  sha512.source = "6507fdac525b8c70a44497e9312acf7b41d8760ea37e4b1c6fc3ec14f7e1f54bb6536c10f386b54b8aa0d09a16ba20b24f097eb50def59f6e53441cf30c48da7";
+  sha512.run = "4bbd2404d9cb4bee9de81d463a6f4966e28409b07aa744e155f398f07e513dac4ad262fb3ac81717dafc9dd9abaed2789c08d0cbf0ce29137739886b2ad1dc74";
+  sha512.doc = "b8228988551d32a5d5b3ddfc59dde6af1f48aece8f5c0f8889fbe479db6c962d77b687fb5593079796393a255350dfc90965fac07e241d4f0a48027927065e67";
+  sha512.source = "cccb93596677625d323b0ceb6743fab15c4300f3baf09846054aae249608f61ab2a0a5bcfd9a7baa2b3a9ec86b2fb90aaee284608bb908229a918436c9acd772";
   hasRunfiles = true;
   version = "0.13c";
 };
 "pracjourn" = {
   stripPrefix = 0;
-  sha512.run = "5061643b8c882e470be43072320f452a29be68ce4317bd899a403890a7d7e54d6bc73b305d50a707b326bf97512b200d023b0678d319ea4975665b85f37b26a9";
-  sha512.doc = "403b5d66d6ae91a6b94662b14a3dee192df880afb8f9534b92939d673c8edde2852ab9454dad1c00e56c17bfa6180b7fab0d9ba0e0664360f5b9d5322e44ea87";
-  sha512.source = "d3ec2231ccbe0a261e96605fc615b17e6f858a85af3bcdb3c4981942f8f48965fc3ea58b806491306890836c87b3036cde5bf48a9be6bda507bbfd2fc2cd3894";
+  sha512.run = "40e7ea03f0b244810952cf93cdc7799e0e130a7b11d384893b88e420ce6adb4b5606462ab6f2dbb2e134770eaf32540b9feb59393dea72a70f4d881f6f6fa43b";
+  sha512.doc = "8e9b171919bd6412a3adb75abf1124beaf0fd562cca49076c1729814c7907b5b3f9b240fdb68d91055225e9b366749c2be6a2e421f52142d0a138e377a442046";
+  sha512.source = "a0f40eb8b245c3f6ca2c6e84f4b13d80b2c9d5f67a70c74fc14928fb3b4eba3659bdcca9852d0bcce18088f707955e8f0ef77e71879bd720c9dd8d59ef9713ce";
   hasRunfiles = true;
   version = "0.4n";
 };
+"practicalreports" = {
+  stripPrefix = 0;
+  sha512.run = "71b180b863f5405c145fde98bcae5942ed186de52654dabda4ef1a859ea292e6c2e6f1a29fa4c4320f2f9a442699844d4268fddf0200281c0f1a7477b49d9f5b";
+  sha512.doc = "48159a00f0c64c6a05e56d9c01b1e7c1fcc8342df3f762775c33377d45b0621e0e933db3097a5d489ddefeed1e0c155893e99ebf98c98fdd11df9b33e05e113c";
+  hasRunfiles = true;
+  version = "2.0.3";
+};
 "preprint" = {
   stripPrefix = 0;
-  sha512.run = "88d6c3d1ed37351a766b5c9fc75f0be5d1cdad17003fc91a1dfb82248b990c1976f97dcfa118acfec7d18fe3024f3b842468f5dc7062ed1262ee83b616a55404";
-  sha512.doc = "b4eb4af6c1f256e3d83ca7b094c5ff45958d681a2279eca71f8f059b16ad18285bf2bb8f6db5f37f73154493ae4e859aac670b00f46dc7768519db1d9ed0d4a7";
-  sha512.source = "54a27ffca2afb7d325ff0f88e8a8b6b18dba6fc811d204ff8b50f3943c0be4fd753d3ee10595e42a2d022763b4a622c3d58ff91b7f6fea528dd44eebb38e92cc";
+  sha512.run = "66ef40f1f9bc1ef3348923e781ad92dd0174b9c45e16c97662f30971a449dd74580391e1f23fed031a41995e65ff90a6785328de0372cea53e3ce946da469d60";
+  sha512.doc = "b5e5fa40832249c5a0faa24c26e8b3a2a73036ef007dd3a61adb6a7989926c80e018fba52a66078c3d7b39e76901cc041ebcb9985ff29b53ade2c057abaf1376";
+  sha512.source = "a7fe23d21dfee4071285ac0ca77a0b8936e8c149b804e9fc19e42cb5fa5eeac23ef3ed59e0433a965ec6203a1b031d2a76975248e624a6452e8fe6ea016be1c9";
   hasRunfiles = true;
   version = "2011";
 };
 "prerex" = {
   stripPrefix = 0;
-  sha512.run = "274e5a291ed5623357b53bd414c96cfaf5863b19d17eb5ebf3752079eae917ac0c9833e480b07993b871315afb009f8971e24576d63a1f0d01707fcd20eace43";
-  sha512.doc = "edc266fb3ebd1747063d0efd90782356f8e9c9b968c93b8afa72e4a54bc2978d520b4d9eeaa72096cd27501302f946a07566a0663fa4fdb6be1968f29ce4e43a";
+  sha512.run = "1df2081c0f10d4514ff324d83fe9949b6cdb9cbfb209b06e5fdbd8ad90991cdccb02143add807b971065b63c1cb865815ac620db6a4df0600bea22e6d57fb734";
+  sha512.doc = "d94e663d94b9b05acf7ff38285dfa3927764d286fe6f8a386f33d8055a5a5b58ad09f61578009b6b93c3aed684c7492b1407a626113f8eb4f8d0171cc1f45930";
   hasRunfiles = true;
   version = "a";
 };
 "present" = {
   stripPrefix = 0;
-  sha512.run = "4e24953d9c2f063f83604dc8a7e4bb00d83127ff6d2a53498cddf97e545c6e9e4665fcf995950e40ec7ec93e4eba403c5d3db06772d0dac86bc698c88b7d3efb";
-  sha512.doc = "70a3b295510dafe99f84375b10f023e3c67e0e1fbfd89968f177024bfd6854fec11e1d1de57b1d69ce466bef6dab0c0e071a1a6cb4385b7410fabf887e802132";
+  sha512.run = "b22c0bb6803ebed5cd26aca4a9b55f2c7b506cc7e8910346a07437d60007310a3d2e3549040ffb2616df7f173279342f2334100aab14b589d0cc9e710ea89369";
+  sha512.doc = "e43a5de9c4bcf9281416963a898e350ba0a0b2d1cad92cbc97d99e2ee9d25f8407a09f024ec5d03a43fd3eee58e1c40bf99ebfff13913bbf85465588b4cf9710";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "presentations" = {
   stripPrefix = 0;
-  sha512.run = "ebd8bdc79a5514fabc270929f40d1b24e1d29c1b117aff4e841ea919bb88b1864944aa75f0cf0cd51d2bd57547a8be8ed4d00ebe5ff6afa2468dabcce82787a6";
-  sha512.doc = "25ea07f2f0373d0acc997d10bd375dddf52b8a53874932839322f988a7b176be35750e203bf120b94c2bb4e030d936cad963eeb85003cd6b94364833d0969dcd";
+  sha512.run = "b93bd6875538fb61fbbc737625da2d89fd7cef0f6b59999f78176f953d6eeecc2d44cc242bc89f85e293265b26a36eda55ab3fe6804a8e8cee2144694eb1a2fc";
+  sha512.doc = "7767c2b3fdb77078729f25ceec85906722d6e2abb6ea45fe9e03e7c0653edffdf1326a055175f309d3afa1f1a30f64c708cf0c6c2c273accf777abec088336fc";
 };
 "presentations-en" = {
   stripPrefix = 0;
-  sha512.run = "c848d4f9b7fe47072711912db45848cce8c46ed80e2e2b079f10083a874d53ce29508320baf536588c16396d47a2b85035d586da845d8d6d59a82d73b2f57b28";
-  sha512.doc = "d843eb2d3f858f9083fcd40c2192bcec66e7ac9e8df06d17d027c4dfd095c263ff98081c0c11cce1c750f553878bd1cd215a2862309d85eb50abcba0d3e138df";
+  sha512.run = "47c4c3e2b1dea3473daf00f1577a2cdbfff2a3a64d5f39507a9486fd2e77dbcd8ea1e3bdf4069aeee620a62047b1890eecd588b50bad2f1c33b739f7721b205b";
+  sha512.doc = "f9d3b24aabc47cfaa0487d683708fed12489e1aca7e7107ba9bf058864f0dc5967fc7a84eab59888567bd47b06ce96a75dd50a132e6e929d206e30c30585d346";
 };
 "pressrelease" = {
   stripPrefix = 0;
-  sha512.run = "0020913ae0ba3d9b4198788cf6804585248724d3151a7c807900b7e3867c5f91d615478f5e93e45f6c2819de67743b1fbef3fc9d42d51c4c149d9c0a7830137a";
-  sha512.doc = "bad421819d5a157092804a63098069941123fc9c4da644809b6f6ebbe2e37fd2836482b90d587473fe445a2326a00ee59acc15bbdd92bf76f3cc600c9392a3eb";
-  sha512.source = "daf5b5e17e9594f03b60f5e8154a7928a06a2f8de7a0062393ff0ff3c754bfa70632341ae9a97532ea2a93f098682147367647da4b943e0eb531fb6cc5e9132a";
+  sha512.run = "0f983d4f836c03ede4ed6bd8c2c41dc69ad75a28d9006ff7ab534c6e483e84e2151bfd93fefa43ca327fbeec14787b43205457a9cf1e733f8a4c3a7c561498fc";
+  sha512.doc = "f107b506ba50ba8ed1b655f13049210ec4b90620348ac708afbba4d992470dd5aa8eabe84e2c0b926a55afce49e0a2cee28ecb3877550fe81099f7e5b40e9f40";
+  sha512.source = "57e94723413ce6fbb1405dacce4af0ab9f7b5e5fc9d091fcf3054fe9505cfda885ebf00b3242ad341325d982d223438e1a2b6cd1f9286cbf5621feb5ae9b1a2f";
   hasRunfiles = true;
   version = "1.0";
 };
 "prettyref" = {
   stripPrefix = 0;
-  sha512.run = "ccc12f37ed459fe134b53ca243f4a565af8170c5e1257850a80be2508ee5dc6e1a2150a9b6d3afbe5fc3701edf58fa66e7ec9859e391df73af3119c8d703beca";
-  sha512.doc = "953fd3948c394b2427706ba94bde64ceadaaf6b4d3d8c88049819b6ae83d165410d2880de00b7ff449bc41dc517a7465b2758a29414fb7c8897c1a36a9f923c0";
-  sha512.source = "1daa21d67b00f996f06601724f2a489e2ecec4d014a5d761e7c75c0cd3674bf37c10549ca7003a567adb7eace85d16edf2a942a4fe723eada592a55ee909a76d";
+  sha512.run = "06e3ee942b9a30ff866abf8f6a46b6960321c0aaf2516ce48f587a55ffcb66f158887cbb9a476bc6323e90edd22766fec19d0cfcc2be8805eedd175fdf08ef42";
+  sha512.doc = "abcd8cb7e7ab78511d953d95699060581844dda67b3489317057782d97388f7cba990735b395e9563e15fd1fee137a86e8198d2d545f437a2d105bfd3e95bc12";
+  sha512.source = "d4793c0cec0e56a74d05c08547b68a83e5af33464b3c29a50189696c4d000ffff370422192a289a734e42cb4ef6bf2b95866523f3d6257961608e95f13dfb87e";
   hasRunfiles = true;
   version = "3.0";
 };
 "preview" = {
   stripPrefix = 0;
-  sha512.run = "038eb9bf96b81158a0b25eaa8e6a4451c5d7c33dfacf7cfa0359caf4989df730220ba703f260cbbaef255d051d6baf20acee411dbc106dd3a082744a02d0b0d6";
-  sha512.doc = "e65e61f36bd4c008f8dc383f70b1112061426ba1edd112f4953ba0a63a4012b4328510c8e35a00a38ad62552ebf18b39239233b86ff49b22f58a48bf753f4ba3";
-  sha512.source = "358ce920b6d885840590ed289723c6b920fafb3d3d14b0509d43d2026d6d8708d7dc22f1475b922b78513646b016adc63f36a279cb5d513184794118d9b1978a";
+  sha512.run = "3884a0b8c8f09d046c7f39df28b7dcce43a95820636f39f628b499b2d06ab44eef647f74c6eaaf23692ff48d3bf5580ba97daa1e2021985c7d0f05f7206782f2";
+  sha512.doc = "d1d78634eb2289292948197bf3399b6afd2ccf5d59abe47ba489e11c0ca911c9820e7e06e9b84920ee0c323e83b32c0be53bfc8d09261ffc45ee728642e640b9";
+  sha512.source = "169f2fa0b59d1312a3cb42268612194455568cb8429b0c03b658a106dc0968fedd88f9ffe82fa984a02950640f1d0c6cba20e51674e747a3699488034dd7e0d1";
   hasRunfiles = true;
   version = "11.91";
 };
 "prftree" = {
   stripPrefix = 0;
-  sha512.run = "9fdd1591b2d1ab0ad4702f5d2217ad51096e7c95f660d56a02c04882aab8b0a864cd0c2dbea9fab0f50258f705b286a71e0430a9436c348e1bff0e2dd6d42a7b";
-  sha512.doc = "86df839834280a9f526b2ac45482e9d194447d523819e6f6349b94ea38f78e1533107a8b106ae216660d766d6463c863b646dae3541fefe697aa569f2a09b13b";
+  sha512.run = "c0e5f5134606c514b13e5fc3bc58a583f13ce844bc1e8fbbac7aa09d8a59652c50edaa986c5004619219fe4c72cb963fd89dff5119b3eb0f02fa74cdc1ad1374";
+  sha512.doc = "d81403af762fc0d3ee9d7b53f9f0400dba5a50f8bd2feab92186db85c18011aa3170b9173530cea5e6e2aa7bd2f475e3b3016e5ab79e990c6abca3d5239fb6b0";
   hasRunfiles = true;
   version = "1.5";
 };
 "printlen" = {
   stripPrefix = 0;
-  sha512.run = "56abf08156ae04c1ef527faaf2d5cd7713b4979bea39dbb8b607b9ec05c18fc8897c26f0816dd492c413e1d72aa1718088dee66e14e3db311c43ac91d6aa306d";
-  sha512.doc = "66dea77153addbd834bc1220b76b96e82a40f4abde9962235b09a022b96c3e5cdc9c4ef72c387c1cff4a32408d95df7488600630c917c4091de57326f4d2c175";
+  sha512.run = "bbb48c169f31a1f93024195056c323ce67afa1fcc00f309ef1b820dd40e0b86ca98d05f6cd4af66379682813a3807f24295a803fdc91d8b9f19972e1520d5eaf";
+  sha512.doc = "25d00eec6c6bd069675cf7d980886b12444e41d18a83ed8e650923d839da8dca21dff65b110105458767b95c50b52a0143b2f7d88b6567ab3aa9953f4ec32a88";
   hasRunfiles = true;
   version = "1.1a";
 };
 "proba" = {
   stripPrefix = 0;
-  sha512.run = "882095ab9e4ff706ce70b16bba633863042711ea03db2febcf4c471d88bec9723bff5931b093ae5c76f4a58f0e4bdedbcd3b372bb2b5f90142b37a9eb8284c9f";
-  sha512.doc = "b2a09ca0012c3ff9ffbfa0add8761c021478cb090d11be27ecdd1e8cfe311cf5681140bbf0d76d57ee5519faa08f350ec132713fa7332f04bfa88d0669a8ae9d";
-  sha512.source = "db46940f6a419abeb721fa94d462db21c2b14c4e83a40a0991701b3975b165bd46a88822d72eb5c7c79e0df3024fb3f779c2a314bbbabc0d05b497031b6d5a8d";
+  sha512.run = "33ef76474e7183c32b5f982347ed414ae7616484ff5a5d8564574220d3757688a3a47aad000c5b0a66a39dbbef20c789dd1445d872b025c274585248176c86e7";
+  sha512.doc = "960887501b74d2c5e8a00c09464ff17dc9c733dd663fb35c32b34bd8b79b2a813536b6c0f9c5df4340dbd3adf1f30f569aac678e90d5f328e1c33130767fdf21";
+  sha512.source = "d1305e797d8884f264a20df021b6b0619cee1df1aba8943f5533c2cd839e093420e43ebd1aa46282457a650569a883f4f11a9319f6b6612dbec5b99d29f37087";
   hasRunfiles = true;
 };
 "probsoln" = {
   stripPrefix = 0;
-  sha512.run = "1f9abb8cb5154d127c149ac142b8c8b50f9f8c087db9dae33c7406daa69ec8e4de065781d81b3c6d30e7e0209c58bcfb754acd20e3194211736474e98de60546";
-  sha512.doc = "ead68e1e551d79c3d29f7941277a1fc5502721c90809643fe09f546c4372189b1007f1a157f9fa5a7887141d92c0a3126fc428b8bfb3e1acba29a106bbb1070b";
-  sha512.source = "e5dc5738c96068df0448f0c784f31d75a654f10c20c4980eb6e287c2f614f67955b9cae6a9bec83910a6212cf061df3400e476ede5df3b070548b92f45f564d2";
+  sha512.run = "f0c63a327569410af7eefa9f87fed56a6a2db78b05133c417afd245958a7f10dac965270fe00e7fe5de6ddfcc4a1cec446df819728e76ad347c7664fcfe849ec";
+  sha512.doc = "c79babc397260f03e2ad66556230966d1af97bbd5703c25cd09ff3aaad48b49d464672c501df047cf5226370b80588705c59212e75d0d1970337fd446d86e70e";
+  sha512.source = "53ce8efe56938c3e16da53bb1255d86b1ae9cc546cbf4983156c098ac07f1e7c16a998a7dc53fd445efa9f42a6b82889e50c188aa57a72aa9186177fbd744f5d";
   hasRunfiles = true;
   version = "3.05";
 };
 "procIAGssymp" = {
   stripPrefix = 0;
-  sha512.run = "d4808df6738a10f8b256104b5f699b90db06503f29d1594ec1a5a2b0531197ac8abb8e0e5231d8534a9d15b65136c1b2040513acb5b783142c0182a4e2aaf468";
-  sha512.doc = "da11845ab6998b20f46fb306ef8bee9f7bb4bbcf6f1ac893630ff8f9ef32de082d776453832c9e66c14a7b71fe72882f9a6003ac1cfbbd20ae81f9d60923855a";
+  sha512.run = "66bd3472ef8d8d26f2eee0368615fb0a326ebd64dca3a0afe9a236880eacfd723caf6f65cfd07ad2a6f5f3db9dea6da75f33de9d026a48a8304c096c60d7e458";
+  sha512.doc = "253adc51e38015c55af91bddc0b7ac6031d482d0cfa869cee556ca82464932a4922d0223a4a156e148dd89e369e2960156b411bb2601583d07a99790518c4823";
   hasRunfiles = true;
 };
 "prodint" = {
   stripPrefix = 0;
-  sha512.run = "02649833a5723497ac7f3c5a56df7e1c692051172815b64b4d1e92d8911389e0d339e987c7c524f7856dfe635f98090e82b3195ca9668f0f62cc1e31f444bddb";
-  sha512.doc = "b54990e30f5bcb3674bdec7b5e0fbdbf5b68335d35dd11fe3760000b84680e5f7977c46e3e165e46af7f98659c9431ce8de9764895d79d6772a450b092e4928a";
+  sha512.run = "ab2b0ababfad124b38b018c7313df0114c36fed0dbbaa42de04295b09142740ef43f34c4c6ad926c97c1ce28521c1d87274486588609197c2178b631b4ee6876";
+  sha512.doc = "addad035cb9e7b88d9da2bf161723db51897342872dd6c671695bb7bb0a6a4c7bac872ce40f31b22f5fdd84cc03994562a6f78f14d9203977d5b7c8d17130db8";
   hasRunfiles = true;
 };
 "productbox" = {
   stripPrefix = 0;
-  sha512.run = "c4765778df2c13a691af32a7fcce9e1268756aeb790c8de3545a29cb5ac660b1f73a0f8e92b6274da813036e26c6e834e3444899edd481fd04ee81eba1d7b13a";
-  sha512.doc = "18d949da3725aa060db34ee56c5d32616ea627d8ae7b9a78b29c69578153091ebb3fc1c213e39609f40d88475185ef2d62a3412e0680153b6d7daf4c8529a16e";
-  sha512.source = "6b978baa0444f4a4a5c6fd388ca4bc3c1e3c2c99c41ad7e0c2f1f939b8c5c9db6046d23ab3f863048af2a000487d79bda94c960f5a05cb81575d27f949a384ab";
+  sha512.run = "9b243f6558dd449ddb9d9190ea53a71ed5b28d25f5fddc64eddb194144aa688e8d8e946c53f115d40813d0933b77d5d2c78023f24a1887d8eeb70e6c1ad0bc1d";
+  sha512.doc = "73f8e1afbbfd9d4047120280e746ae1349225dfa84b98b288e23f477d2eb83310271610d6f4e40cdeb0d124788a97c1f8aaeb182a03cf2b1311e286f7299aa45";
+  sha512.source = "064e591694d0c7f6c9c981ef4038175cdb1fc9a120daaf954051dc05bb6b602bc7fdbf961a25d5cc490380028564316adf5714a151e4606aca31d1f4bca09a54";
   hasRunfiles = true;
   version = "1.1";
 };
 "program" = {
   stripPrefix = 0;
-  sha512.run = "5acc5fc93e4056782d45dc42c2253775313f0ba4649924af6677db4ac53058cebf91ec6c52474a57b98ddb6cca07c80eb1b9a1670d1b0bba10cf1500493dff3a";
-  sha512.doc = "e3d4e63d97c48091e5cb4f0b2b8784e379ce159e6358a70143dd64f6c82056a2cfa014bd00dad74db530261f01a3a1e7140dcdd104c7f9bf5990a9c6fa116aef";
+  sha512.run = "a9ef7d68ad86b42657681e2b798899b5c7c472c5e272a9098a1424a35a109dc4a946be54c4007db73edb861cb475f293e404cee9fa0dca8cdf086eb6c4790319";
+  sha512.doc = "4213b5bc9cd6b2604bf1c667dd123729c0674d1c74338ebeb86b1551af14be3e24c4e94b4e5cc2c06a25ebf934d56eb6d3b5ce80e452798ea02fbb0ac6533580";
   hasRunfiles = true;
   version = "3.3.14";
 };
 "progress" = {
   stripPrefix = 0;
-  sha512.run = "8b921b8696d10bdc2e6ac11c30f2fe6c99c9154266798dcfc771852c275a1c5d12d75fc84c489a658f420ec2d098bb4e362ea6a7381b7d6e0db12f42a59c6065";
-  sha512.doc = "cdf5416846311cef8777e4cd27f3b2682d52cb44e20241c3344b5490b744b71a7024893f57b74041245026ce542cb81daf4154174fa909f131f8ef2ceec0d8f1";
+  sha512.run = "df21ec7e4adc36a420959550376fff5b8a55fb7dccc064476b2306226c1776fb2075994d9ae63bd5bde0b68571671bacadf9285f53bc9e639c2afd59e5b6814e";
+  sha512.doc = "e88280bb1a93d34dd5597627d763d1b2a21a56990ede2e029246dac84f3bb22e05a08a9a94c0790a9c8a87698684816ace02149562785cf36f2b6af82f89c130";
   hasRunfiles = true;
   version = "1.10";
 };
 "progressbar" = {
   stripPrefix = 0;
-  sha512.run = "cd4f907bc0c463d0096d0daf192047e5df8ddfa8784c2aa1a11c17ef5408d06a1da51057915461791501ae6456a99ffe3a5cb183262411aa443d316bb2f7382d";
-  sha512.doc = "bc4ad3a8eae43d3cc6c2c7194d51227878a7da647ce26056380ed845029c609203f4dd89e99deb3b6f5e545f5c672bdca711bf5fd7d08497d69bfca5bf5603a4";
+  sha512.run = "d12161aa891ea45cec2a4511c48a1c338de5acd512e426a24988b79b7d9d1734479a1cd93e3e8ee11da67858d97260b71ca35a3a7a3dbbcd2bae746221a7bafa";
+  sha512.doc = "a60ee29da0517d6769e09f12af7b600284f32478aef1d28cdf167610c45bd87f841500c2bf718ff9b6678a171f3138f4a7a6ac45bd41500510f509e8e7067efd";
   hasRunfiles = true;
   version = "1.0b-4";
 };
+"proof-at-the-end" = {
+  stripPrefix = 0;
+  sha512.run = "1e5647e1421742e9f0198c5ff8ae5ac315eccef96d0a7c9c5f1dabef167fca5ac9221cdf60d99dafbdfd60f6960a897ebb2d2c4370edcc0d0a36942c0041a777";
+  sha512.doc = "9100916a9ebf426502d7c25e5f848fd4eeb19050faa01b0a4a795b838d4084849b42a1f6a187dc8218aeffb6df0cbe592b512e1c613a1045e467198119b33555";
+  sha512.source = "ea0b286182db09ab249a704ef25abc8bd951b51e8671ddb2a8110997b9db4ed353c059f44170e8a5bd76878ae97d34b460701994849425c1f40925d663d0ac6f";
+  hasRunfiles = true;
+};
 "proofread" = {
   stripPrefix = 0;
-  sha512.run = "f61a9098f16faafae4ad258f48dbd6a5a440a51b552d8e76df30f37f93c1120f6f78f04743253f4434188b615c37a7f413affee104889d943ad1d84814a27e5f";
-  sha512.doc = "e11a34099718ea93293dcb1a3e1785ae61104862f42c90e5d3cf2c4293413d6d76ae16704ec3bf2077b740f10d86ea1016a0272bee57cc1ba105344cf221514d";
-  sha512.source = "e59deeb8fc52c9d84d2fcf34c3bec889f5b0f7a94979b64c35d126db34ec2ee1a117cb3ef26096acfea926290c22ec3f5eff78b47929cddaaf5eb1ae068ea28c";
+  sha512.run = "ef0d35bb06d1bf31cdea9aec2f342eef4b8cf053863a26f5c223c1966f6715a547fb61b2f92d4ac273c3309fcfe219f9a78bdf8c9b3ec3886bb96dabd7935033";
+  sha512.doc = "6b1ba0b1e009e2f7b337aebcc5c54882f2ef3f2089261d3b9355cb0adfec8aa3c7f207636955979cc0a74554e5878423a23982340bd26ed3c2a634f821497565";
+  sha512.source = "9a434d59a1540e1dee97e9baf1cda034f768a7a24e1deca7e0f454f7d7918cbd7645e19454fa7683c3754f80e1c9da54b3b2ade2dd58f4c332d2422fe1690935";
   hasRunfiles = true;
-  version = "1.03";
+  version = "1.04";
 };
 "prooftrees" = {
   stripPrefix = 0;
-  sha512.run = "f679b3114b1c7ec161b505dd0e7300ddbc2e86fca133e1f5cb09da697805829f89a5a2811f1166d16babe99cd886614342bf37f583ceb9df94a0136649e20911";
-  sha512.doc = "06cd87fece212c0e03e717c33ce54375043f4a649c2970bb73f3dfe0cec5c8940c16d362be403bccb8b230e4665c3d361acc053452dc26b8bc85a502c61b527a";
+  sha512.run = "f455c85a30ca4882829e0d2b74f202b129333962843a799c575f080de9b67c1c543db10f012198655760bbe894eae2149eeba1322de3392bac0eaa9a89fe00df";
+  sha512.doc = "ff1ec0f5f9112e7fd09fee4e3ffba06bd281c4578a055e831c64a8edbec234bd69c6e920745fe6e4fbcbb12b27189465d4fc41c9dae4f1ff80d5096ef9dc3cee";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.7_svn_8641";
 };
 "properties" = {
   stripPrefix = 0;
-  sha512.run = "75e3258e627cde703950dddcfa869264f2e664ffaf2428a73fc68e41e84c15e5b6c0f704e2e052ea7838273318abe89a2a9a219ce039bb7305010a5c7e83b5ef";
-  sha512.doc = "89b3ed30f47ed09e8b503086e0c517feef1753f728c3946828348da0a452e5386fa148de26c7a94556ee5dea28d389ad1cd1cc8b26fc1f24e2f826abbff9dd53";
+  sha512.run = "3bde5cf132c9013bcbb0eef439e61725ea41a09720f98bb53f8bbf39d56d6cde34ed1613b001a86b40221a36233b1d5c226819c94b41d49211065e1477a0bd42";
+  sha512.doc = "eff6b91e8fdd7b0a6b0526c7dd2243e32586a5ce12071130f388a911fa34cbac4681d4118b601b9eb979a272bf89b82f00f8ba509fa996521e8a2861f8e84a80";
   hasRunfiles = true;
   version = "0.2";
 };
 "proposal" = {
   stripPrefix = 0;
-  sha512.run = "394661a9b8d2f150d676558d868e2c2158a87d62d5d5f59c0283b5780caeab1516fffce859e710b3c40eed9d4b35629da783d39da2eded6b764f0f62d16e6870";
-  sha512.doc = "871c9b8035ff56a01cb4e80093ab5fa02af4e04f3b1fa97f701fcf00f33dd1368504d6054c424a928af932cab74236ed6532e88d1d27b4d9693dbf8b6522bae2";
-  sha512.source = "531dc70cc53a793d9d7087508e23b5e899b6cb027c86cf2f8d526b00cf04189f3edcca72e7ec5ffed61c3405b8051ec35456408a348c277f3312ec3950141c27";
+  sha512.run = "d9a352995030efd57ecd46028147a6326ede0695545194a01846d4a3e2d29096ace9e6f69900766906f3ecfa05ce566ebd1c2c5f76a3b2b2646c1e0f865093ba";
+  sha512.doc = "53c1d47f2f42c9ceed73f350c2aff9b229d6dc8dfde9e3fb8109971905c5d6430ca52d72551d540f5a1727a767d6cf485d8bca2489f301edfbf964490ecfb5a2";
+  sha512.source = "39ec30b5c0d94a2beb6d83d796ed13ca95b5e0045edc8e7828f5528e44e9f24350fceef93ec2c3bf9cdbf3766d7ddb0b72d6e10a909a6fc92e393681d425d8b4";
   hasRunfiles = true;
 };
 "prosper" = {
   stripPrefix = 0;
-  sha512.run = "fced977fd39f6750f9d17a13c5edaa032f15be04de94a6378eeb8e4a2eff4f3ccd03985b9c07a2f588a12a43a60985570610784ff7eda75ee248020e756083d2";
-  sha512.doc = "6dbf3366874665613e438d9ad81fe5d24ec8b986bf4bd4fec38f673bd5885d0fad53af40dc445905121ec3cf7b2a2299416a20b12305cd2d619fb9de93a13275";
+  sha512.run = "bf2285803a71b00c67a9e64ca5e51bdd880856338b0bf3e95bfb2ff2e78d5cdd0617424ed95918b5982d5befa71476b89567b2107eb0c206f9a9f53966a983b6";
+  sha512.doc = "21593ccdc8231e37f0b2938d3978205ab3ed61f74a6e8a4b1dd2cf82da552bd920a7711c025964fdab5661207cbea1aee04244c93552e20d10df338c7dc5c138";
   hasRunfiles = true;
   version = "1.0h";
 };
 "protex" = {
   stripPrefix = 0;
-  sha512.run = "c7850b01775a50dda0e93d3ba19a7f461b17f1ced967da4e4482030ec9461ad0eee4220041952c40136a6930fae0cca717898e78f757da66aca29606ce088233";
-  sha512.doc = "5888666f82e95199b935b5d8a7161eb5433666dc5fb6a1d669ceac1aa79fc2b31ab9ce6c90a0c61a23b0319647476f7817f954f3fb92dd1f4e53fd524c90fce9";
+  sha512.run = "be8ea34f282fdd739f72f9b33375bec3be5055bc953c7a441d769ac1e7568af9327ae6030f67a805188dbd485ee8223936921590ec86269e371da6d3ee353afe";
+  sha512.doc = "95746823c32526fb5e2c9968749a7da2149d23c2ec9f1ced2a655a4fe54ad272bb414abd0be0d78775b0ac95e6440d9b6ead609de7615dcceb0186e4683e4138";
   hasRunfiles = true;
 };
 "protocol" = {
   stripPrefix = 0;
-  sha512.run = "e16bf8329f7c09da3dae6b1119093b163185168936723c6560b6e9d1fe2ae58e5cc9149149e736769fba3a7c28b1e661271c1e81e7ea25470044985cbeb750f8";
-  sha512.doc = "2f145527564fb5b1edc199aa9345b7eaccdc1b3b72f8bf940cda535ee29ef5a2bfe172fba37d0342b4eb7afd02dcfbfd6147226590c16cfcce77623e6997af93";
-  sha512.source = "6dd473af233bd504da81dc345f9848d46188f80f61cfe75cfb6854bbb17f68c60ca1e98107b492e2438e5ef591ce86c5beb37441952b35333005b6e84fcb9ab9";
+  sha512.run = "e9555a25b0051592bd700df5b7335ad07eff024efd1efc4ef620fe7ad37866aa1edc8f354a7c772b3a298935bcffa9b5b2b49c2b0a14c868ae744cb9165bfd19";
+  sha512.doc = "f047068c0b9176087cd56530c9b73d30bbffb0d4b958cefae39f1f3bc924fbe705e81b5c867735715566b674379d1731e1d58b123dbbda3686a2b84f42674338";
+  sha512.source = "f41e90e822d9cffd941a9be8b918f5817c5757c2911a3c2162899d9e074390fc4500d8617e385f5edada4c2accf5a08421cab6192505721deefb4b1ceba136e5";
   hasRunfiles = true;
   version = "1.13";
 };
+"prtec" = {
+  stripPrefix = 0;
+  sha512.run = "06e946526f194e36b55c91c46615c74a255411ff3de2fba005a672741830a5bfc162be122a7f03d00374917ab70dd789549a2976280db8c8106999ab7e0854e4";
+  sha512.doc = "fb299846eca43fb054ff441c2eed6f87382cbb58419947092d04bfa99102e3db7a8395c9b974395b579f6b5700f55c2c730c162bcd19e5246fbc64b80acf5681";
+  hasRunfiles = true;
+  version = "1.06";
+};
 "przechlewski-book" = {
   stripPrefix = 0;
-  sha512.run = "7b11a0cb74b74ae8e821f3dd202e9528add14ecadab5029118bad30c9e29ae4a9714c142a4838e9cf03ceb1dfbd192f935b7a06da7855f16e0546988bb810c33";
-  sha512.doc = "aaee8478e0091e2a18fd402e9ad366d8caf416e73146cb2a9cf9b330ec879eee1e56ee17eb67803049a555279dad6aa7432c4c927cbd8593df2fe5fccbea64de";
+  sha512.run = "18b9546576957553b477a1c5a90e6780770f18d6aced92b17017c44770b6bfa9c3cf928500a9e56c6c67f45d375bc12ad8ebc97eb1589f3cf7b5b3ed2f7b55c6";
+  sha512.doc = "0441621561c2c4208d083f84eaf47573de94248cc1aaf027061de636c1a65f35a307260eaf390257bd02acac34b42963f96030ee27c83650deb11234edec89bf";
   hasRunfiles = true;
 };
 "ps2pk" = {
-  sha512.run = "b58f41f01b0932e9e80ef479fac89796361b0d60945f80da3678006bc64817298da9789ed71a52ff1579b06d8bd2ee80280e0910c1713f4949e96e756f3c0dd6";
-  sha512.doc = "a800f9a4957d0a6e38bc199bbd9c65cdd169f7b993ccf41a1a5381b0ce877c5785861aa14865241c2ce2cd22288248875a3e71d33065cec6226d428f68f93ba1";
+  sha512.run = "cdaf699808804ddbc6e7a4c58db7332e6bcb2402aab67ab617c031ab6b3ef40ecb7211b446788aa0f1eb7a69a32d2e7802ef03e9adfa062cbbde002a909f8dd9";
+  sha512.doc = "58bc80926df5d9a75f8994f147d4d7472ee495ad0ecd22bfce2b7e79665108bd44f1b25eac6c26a047b9e572a259f10148abf35f2dd6410346d951cef222628c";
 };
 "psbao" = {
   stripPrefix = 0;
-  sha512.run = "7e0de245e003433ed71dd132e7349db761bda6d9cf607c78ddeef2889e099a514c9e6c00ec326eb239d6ff32da2ff9c24aa74b8ff1bfa7be3069665328bb0ed0";
-  sha512.doc = "f892a7facb1e21f5bb518a1d31a9dfd62d69d036a6406f2de98242353a7eda9594338d7c810c373396a67c893999134034b828e72f1366c118ac6f232337968c";
+  sha512.run = "cec6c6079d7a8757c9c01315f3b035fce1eba2dda487e3a9da21a2bcfe6c7f7fe5f82171ac5b850fb7f673b56258f7b39c2e0b74c421e324475b02ec13671b32";
+  sha512.doc = "1a9d1a0250bfd82d76ff1a3feed17c016f46e5ef199038bb569708989f7a243682a9584c1d293807cce09394a70a25a2f8b31189d81aae89336306f3f146dc9e";
   hasRunfiles = true;
   version = "0.17";
 };
+"pseudo" = {
+  stripPrefix = 0;
+  sha512.run = "3c91de9ec74af642bdff675435184ed058296d1238d4985bb22cfda82fc76e80ba6dd6fc0ba4b9f14e7899f34d0ff4fcb6fd68777c18beaddb2bb0ff9eba9661";
+  sha512.doc = "3e370ea32243a085a9d65966d464932223549080c2efcc297fe9f503cf72a7c6cc8b732f0d0b694f49484a0b7eb77a1c08b3ebe7aed3f977f63aaecca2189bd3";
+  hasRunfiles = true;
+  version = "1.1.2";
+};
 "pseudocode" = {
   stripPrefix = 0;
-  sha512.run = "b79efca82be2326275def77c65dbb25321291329731d234a7565393bc9eeeb7d36f7046509d93bfabc9ad3bdaec00dc91031a0e47b2527711a1b917cdb716b2f";
-  sha512.doc = "ea08e955bed276121aa5c691c2a2e17d863c6c2eeb3ce53da40d41755a8334bd7cb9f4c28563a5baa67c797fca75f3cbc4871952c5570d2274e62175fb252bd7";
+  sha512.run = "28acc4dc69e5f4e181230f06dda363618146d30a3f7c6be0d11b258980bfed5636606dd808c1deaa627d04c526496152fdb2ddf56866b63a4c4313de423493a5";
+  sha512.doc = "b11d8ae45d5a4564dbaa2669db7b5cd4f9b87bc9efda3da47ce652245b140cec1b2c569f38fd1ae175215ff422cd2df3919bf27126c9d9d661dc4a147963bcb0";
   hasRunfiles = true;
 };
 "psfrag" = {
   stripPrefix = 0;
-  sha512.run = "217ecc12adbb6ab64b3eaa04fdd97b6e1c77b76df5d8aa2986ab27086c18f6f895775402aca8cc7194a057f3b119a27599daeeb1e9698e114bf261a328c74126";
-  sha512.doc = "2b19f6c8d9882bb32daf5c87d15c379feab49ef63c91369720b1498ebee3d2255871ea796090c51b080b107ad6f670e9d804a8a85df7d6a3e877a8e758441a76";
-  sha512.source = "211307e26454e3ac89c6734fbfbea2ec72b5f0425f503f8379b783145c571f32a339359e854376e1e6b2d2760a065812c7ba4f80f36ef0adc2326a2520536391";
+  sha512.run = "71bf5c02e7a8a17eaa891f15c88777dcbbfc3ecf8b4a72dea49683f061bc86427ab813dbac5f5b8ab4742edcb92cd32d510675a80b0b3cdff2dc2cf127ee89fa";
+  sha512.doc = "072210deb2635a2032f6ac2d100ef72aa4471f69dec03fbb25fbb0d78b89aa2df0972b244d4335e8ed16e1a5f0cb8e04d22ad44dd5740fda59f9a4e5300befaa";
+  sha512.source = "fd02b807b47f3818545e48825ddb11d188e9e3fa384b0f3412bb09051daedf73c2587a74d70aeda472047c1eac039252a25cacbf74a3c8df76be13a2644372de";
   hasRunfiles = true;
   version = "3.04";
 };
 "psfrag-italian" = {
   stripPrefix = 0;
-  sha512.run = "23f04240c6c24362bb3029627dbad44735d59d32ea919795d5598a03c40dd5ca1368fa9aed4c7a988def43c0c62f4641fb368e5ba9214bacec04b1f4c101a396";
-  sha512.doc = "883fbe21a71b27a4bfbd7272fd78ef6d5d7d5f4aaa1e57c3657f149e65c0536281c594e7c649c0fd28ba857a9911846dabf2ec92b19cee0b93e10646a9288b2b";
+  sha512.run = "4d26f0191ffbbe7fa6a9aae1ece6e72739925b59a1a1db5ad3cbe8f2b3ece92ec8265f008e91fcabfe2e04863300db833eff3104486e9c33985ce5c7f8dd7543";
+  sha512.doc = "7a513ff265d259adfbaee9ffb47856602004f19679dad1316f04d36848f2e22bff8c3164ba9b045e7a4a57df76c2ad17b071a9cac68d4b92cff57a29f1e99f55";
 };
 "psfragx" = {
   stripPrefix = 0;
-  sha512.run = "a3c8cd69b7d635d2f0de4a2f5b8bc495b3bdb52cbe02610b28f5a71563e0442c95703713737c953dd86dbe5c8e88bc3dc4c323051dd637a4a848b082b92d2aec";
-  sha512.doc = "589f991cd3c1c33cd8dfe1d3e8b484de83618370a56f93274ca8bc48d166da8e3ff32b571df6d5d7e4d9c7c195859741cef58577eafd3a2fe3c16a762281422d";
-  sha512.source = "434c16781289782ff557ada687f7f2d5145c162c11d61efdfafe04810af221e3fb903660bf56598861af011035cfffa7450e82a9945155592c239b4f24eefd50";
+  sha512.run = "b02063b8c1df58133b951eb10763d3b9099376a473dc980fef801ab565326ac1c5539be3ee94ee5c79837c1e6265cf41d6554f66e8900df2663d5d7e727e0df6";
+  sha512.doc = "863df965aa6abb99c115b06ed7d1b1660345e9bca0d0f5d62b6a7ffb55391688a92114edae7bd28ef8b715515c8bcf3c5b4fb4970cc1b6bd9cc068b09595cb10";
+  sha512.source = "f38ac5c21c7f366e952e71199321865a70376d1dfbcbed2ac993fa01f412f185a09725b9e6b1808167a5cf55d253b461a43a2f126cedd7d469645b7740702938";
   hasRunfiles = true;
   version = "1.1";
 };
 "psgo" = {
   stripPrefix = 0;
-  sha512.run = "77e580b06210b97106b43a788b36b25bf9c00b27c2739a0159c98d8b4c0dd3bcf548d0dcecd0bd8e544cef1be8116186c556d9a869bac750b4f74cccf23815c4";
-  sha512.doc = "6ed2ab159e15ca3cb29c6f3e2e751d1d41b15c910d81c3a16a799d4f2f9a713d47117b928d5209b079532306f2535d461c6a9cb19664b5c9934d47170ddd8800";
+  sha512.run = "75791ac8c340cd72139c50b2e2a05f6001edf2b79bbb9fcb4c9118f2acbc67643469c8f6da34122bf001e85af60b5b0050bf3c7b5bcce7c393e7930e3cfe7eaf";
+  sha512.doc = "9d061c884f76eb87e86cb441ebb693a9c64daca024c35dd631d660f3d1f8b1541c40e285d5f4115b36e2b02b7640ea7be70f4527e7ae92c6d6173625b215b7cc";
   hasRunfiles = true;
   version = "0.17";
 };
 "psizzl" = {
   stripPrefix = 0;
-  sha512.run = "ed6e5187756adfd51bad01bec2c589b26a055e03696fdfd863289e6f63dc4e2f92c509301d9ec5c80f8557f3f4f1effcfb6b60425c77c4de101ac93a46faf6c0";
-  sha512.doc = "42342c21803a0341d97dec8d1ace37bbe2388979b2c08518d9161fcb4dc9396bf43ec1c063e7173eb0b76f2d6ec3102c5b07529c0b75846c23a268897646290d";
-  sha512.source = "33a1da7fb8f7a726aeedb1e19c85d50562649ea232e520285b875a1b291d2594f4bd77a6ea51c473db8c22a82f3864cbc1ba041c3a62c28f5f6b949f2700ee02";
+  sha512.run = "adcd254a9991839c623b3f75098276dc26df935db1528d39f8588681b87237febe81f8289aab747486df92bc9af2103638734fc22c43ace8cdea1733d2a66360";
+  sha512.doc = "e9d65b3b0c364fcc7632ab83974d8685568d4135cbd8568cbf69e9162dbb80283724ada72891a72dce2fabe35d846c6f09b05f1123f8fe72ae749215170ee996";
+  sha512.source = "fabcb5343912bf005f5ad73b2ff9444172ad6f36fe42ec492903ed6d19d3c2b67775790b15cb37a688d9c0b8d78145963f8594b67e91d07284adb5d26cd2ea52";
   hasRunfiles = true;
   version = "0.35";
 };
 "pslatex" = {
   stripPrefix = 0;
-  sha512.run = "173ba887f379e2a0966531812e47074caa36f80e8011ed79f8bdbdb5e8fdf2e63761a8d9ab26592213d18c7f97e86f489c25b0d0ec523851bab15999d95c5f3d";
-  sha512.source = "b816114a455848329b7a96afeeb47a6b7cca9b5ca186bd96b2875a50b5db4503eb8ea0cf7f970480a37cfc020bc779ed9e294aba4ce716b42d53343134e42fc4";
+  sha512.run = "4e6c2163fe9d8573012cde55d7a9686d45276617d6368a2191b2ca5ecd9e2e88f9ea07d638c726cfb43f0fddb5d8c8b1b8ca1eb58177517b6704776f792630db";
+  sha512.source = "27e8f6f5c30338cccfded6805b713b74b6139841ad81a10a4a06ff5acd5a189733e2d6fdc80c2483c5fc8beececfb91a0a9d03202bc44fea753ee6bfda9fe649";
   hasRunfiles = true;
 };
 "psnfss" = {
   stripPrefix = 0;
   deps."graphics" = tl."graphics";
-  sha512.run = "2551573cb39bcf09c394d25e63cdd4ca89958c9109117e16d8c354631d0309f177f5a52d8cebf5bc22d022441212825f70a849b60337e4290fa440526667d503";
-  sha512.doc = "d7e3606176ab1f18a388b3e58a4ef56076caa243391175f2337f18deb2e6cfc2b90bad8ca085802468bcaa2fed624bf70cc1e30aa13d7df11c453f8c6261bcc4";
-  sha512.source = "b44bc333700d91673e69830be9d3ae07f6d27ff2cb61464d94982029ab755553bb2065a26dac3c344aacc1ab8caaf420b9b8eb157ad96354a844bce734a2c351";
+  sha512.run = "d565256578225edc29fce8f9c8236542379a1918590035faa8d8b946c37fb9fd17414e5a05ad2bb0bf1ba683a5fb29ccf29c108a3fc678e184a1eb7326165bf5";
+  sha512.doc = "5a3441930471577bce029ddbf820a2aece01bf3bb88fca22fcc7c724030bb958731d0452af34e5dc9a2bef99e136ef24228094c71d35bd684220fd0d68f74f59";
+  sha512.source = "030108d03f62b74f1e0274168452f5b05201337e947303ee78567452b1ab38daff5be326b8d1c986add7252d2842b034577577e23ae6bec67a02c0f0339428c7";
   hasRunfiles = true;
   version = "9.2a";
 };
 "pspicture" = {
   stripPrefix = 0;
-  sha512.run = "2f13b2ce8eab934634dbe3f4414127e6fb8e651262eec011dd6e5679e402912816b9b9dd47baf82b9fcbb96afb35d2de6e59809d0f84a44b7a1d179bcc0fbdbe";
-  sha512.doc = "56fe13db8d57f87f7168fd06c7dad3039bf8e368076a03fa5a5f494174110325532d7169e25792f87c039597c84fd8dc06f056af9e499d21145869526e1331ac";
-  sha512.source = "4edbf3ed5df16af062fe8456a2923d4c11d1d6bb928418eb5be096ea6f9b10d446351269c1cdad5a5f72955b0d14f23ea2256d05e124500db9a61e5f35ab2811";
+  sha512.run = "139d160fa67dbb7cc932fc75dba80dd46a55a1dd5973b27a6a5dd38a6035cb367441b178acaf3c11859ad60103283774ee5e2623a083a0336d5c2ff74a7b82fd";
+  sha512.doc = "a743397a0d48c587b60db5f1dcf9e1c22f67ba15dbbce241a2584c95456b3546aebdfaebec9fcfb3dedcac65f7f053ec52cb479d726e5e3fbfe042efcf1ad702";
+  sha512.source = "af1deb00966a7d4d1d68e156dd5fbc60e95f60a65a942f1bda1acbd579b932e0c81875386bd3eb1945fab211cc9ad5607c3e21e5d240048d775c28574cb754ba";
   hasRunfiles = true;
 };
 "pst-2dplot" = {
   stripPrefix = 0;
-  sha512.run = "ea68b25142d68d4fd5934c8d960ffa9a94d5fa63deaf30e692fa40c3f7e61da1665daeb3250a0ed2126eaa2dfb7cf8dadae3d9012699a36184cbe760b5327e54";
-  sha512.doc = "4506d5757f78419d0b955545d848ad6d7605d39460a525597469b02f0ab73cc6ce9f5af0b5c2bdc5ee1ecf881450a5235ed72ee889301d8ac9b9f34afc2c5c6d";
+  sha512.run = "3109c2709323906ec39bd1be6e7c9151b7b07f9d2dafd5f7af61d3facd3e37ae35bd8bd923968102fc702f35fa4a903e9a50d3a7a85a1c088017aababd16d969";
+  sha512.doc = "f46a0c8c94900d180fac92e7b393672d010388fe80867f01125cdc7c486eff97ee36cab1aeeeb224b9ab80739c2ddd9e89b84926948acaa8b2b0ae08457ac0ef";
   hasRunfiles = true;
   version = "1.5";
 };
 "pst-3d" = {
   stripPrefix = 0;
-  sha512.run = "9cc5d12378b9f80273211c3a0c895d403aeec062ad48eff43dac1153e5bde2b81ab5daeca835075e170ee73d2d5ca70b1d9b00bd0429cb48fdba6c2c2b61e0f8";
-  sha512.doc = "dea7b6cea86e57b2c50c0c93076d05d44267bccbe708926bf078810b40456e0505ecafba3207055a63355646183f28ddb388dae480d337c91dcc2de99be5fb44";
-  sha512.source = "6f70001c4cff90093752aaec192cf466724b99f6f044d5f782645a4079dd94ef62a6a4ff00b7668c896ecdc17fca5320444de2c3a9e093b1cc250ef35be8cf5d";
+  sha512.run = "dfd8a2b79d308cf4ae3bdcd438b967446f8601509fd4afb3f090d946df0cc2d66e9b7071ce33e51ad4cd53b7e62dbc02d861d46a302bfe2c901d1d8c82ab0649";
+  sha512.doc = "e8355b936fbc1685edf205e88f2793ab298aac4e4c06de10dddbe1587b5401ba8cc4d2a01dbad3ad56da5eddb27bd6049a41e6da8c139727d36fcc94d93ac554";
+  sha512.source = "fc50cff8bb86571d3827a03f3c64cb62a9fdab25e2595ccf9465e4ad39539ebc0a55da92519ef203da65da3a44e01ee28b39ef27a5af24d26463b215f96be313";
   hasRunfiles = true;
   version = "1.10";
 };
 "pst-3dplot" = {
   stripPrefix = 0;
-  sha512.run = "ab8c3df60ef81c759c37eeeb90808fadff827e569924d8aa118b0b17f46b3b4f500ec13eb2fb92dd1cb8b175e3a839cdec2c932090a2c9bc52d1b31b47507dfc";
-  sha512.doc = "5741690243bc2b1ec3275d26566aa8005e0d5eb448f64ca4d5fbd89ddd25f60b17f31fe37405352d01748b7659b96d01e1fe1ab45af87666034b5129ed1e293d";
+  sha512.run = "a509af726d13fbf9dd0f3b1181a1dc53a31fe007187ad345c8e3c6c65d52d09f6de422a723b472e3b8e5f1aba1563dea06b79e82a7940e018cdb9eaa30a40632";
+  sha512.doc = "2f261cb9d32dfbb85b626238e25d8c9198ad50df008b54f800d3d5b404ea5734da8636c05c33ec30311c60f6e41ece1071a04af7affc61badc3aad64a5b9b194";
   hasRunfiles = true;
   version = "2.04";
 };
 "pst-abspos" = {
   stripPrefix = 0;
-  sha512.run = "4aa582a5f56b69891c63cd6d10afefadabc0f8a1de3376750568e7bf691d800056b5914e4c8384226419c3ad6cb0edd6a489a7793b51a15afa6f87d19429d077";
-  sha512.doc = "3fc8f7fd19994a662d63ceee5214645d15665e2cc4df950ee2e4f99069571d3b3ff7b893fe8336acc44e56e9aecb1d6cdef7fe4bc2a203140f36a6725c164c59";
-  sha512.source = "ed254d0178d908fd609c3f2d4abe912ef086c995629c23026224e824346e9f6518b8fe5497c03212dd3962dbbe07cc7fe6e63811cd50d4607a5048d7340e05a9";
+  sha512.run = "b56bed1fedb14fe7cc455fe4e87ec51085e8e09132ff5dbe52083701cdd0d63f2e6dac2ab55838fbefd8e7de9666d0239e9fba712573a51dce2804d31ab140c6";
+  sha512.doc = "77754a1c27c083f60c2836483a60bfb6b4c826783d5acd16b1eaa9b7fe7aba8820886442ed28a5b334929a3f21f0f1b4487c7403f8dbfc3ad3cfc08407e35229";
+  sha512.source = "faf4f7e2b94bd66d19be75c307c8a6b20a2c779a8e6783096b41e7b4da66ab07f7ecbaaedfa668c09089bea9c2c79af4cbc12aeafe949cb729c589989206cd0c";
   hasRunfiles = true;
   version = "0.2";
 };
 "pst-am" = {
   stripPrefix = 0;
-  sha512.run = "0219995fc5c17c68dccf7401b929f4a6e144fa63442dcd14e1566bcc79afaa8069a06c25128137f0e69d4b7395a16d79b4eb74bb1096aa027d13945be47a7705";
-  sha512.doc = "46107a5e065f055889875d9ece2f2db4e2aa7ae3e46d9208781712940ad6ede66ae19f29894fbe8685adb33aa43e9d76a6b0ec9257b66e4ec9125a8a02e29c85";
-  sha512.source = "fef9d47668478f36f06db399fdfa645810a21bd669a74171c8a54c506e76a54707aa18ea406daaa99ad51c170d4956502aba7fe5e2bcd7a7d39fe70582bb4163";
+  sha512.run = "a5f466dacd393ed7243fa2cb43aed0a5bb8469a51aa82fac4b53c47a474a1d9758db4d7a001cee49716714049499339567cb62a66f2731ffc7646fecc15c7784";
+  sha512.doc = "edea0ddc3f5472a86706d1823fe78459d2908724daf2b9bfe44b41e749f2b41483000602817a45a5e41869f86d4034ea52640bdffa334af54e4964510768152e";
+  sha512.source = "fca7f1f7769f839632eec75b3baa864b60f9ab3c1ff9cc08437fad4086cf9a063f283568163d1ebe3e5a2c87b06bbae1b11e5be07a8eca5030cccfc68392b40f";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-antiprism" = {
   stripPrefix = 0;
-  sha512.run = "5e28cde1a8da51c60d8d5f9a0813444ea70447e5212aa08c6217fb24879b5764409d091f572051977f55db6a7594db915f8ab9d793daf87e11baa8f6b474068c";
-  sha512.doc = "3358635f2a847e5609e62520cbd4b05ee2db1417bc699249b12f7e65ff2d8b1c81a6aab278e05d61f7ebcbeb5892ec083b11a63637a8173ac2a7ff119f77bfce";
+  sha512.run = "dc93e3a8a040a2712f701c2fa89924c45749824d20ad814a9f04aa423e15caed3a457b762dc7d30cf5c9e3afea378efc303851af919831c0969cde50b9adea57";
+  sha512.doc = "df528e5693cbbdca80a88d02e2b8487b70c188109825da66c9d9042056c6ba62e361fcba2ac747d69a08a4c8d78f27534640ce55c583289c3f12c2eb4c57d861";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-arrow" = {
   stripPrefix = 0;
-  sha512.run = "2cdfde85bacfa13b9bd5085b9c7330ea7e0d5bed2751b06dfbf2990e8821e6a32c8b64d9e10dfb295d811234c605ad3c9b23309af292594c6507f6a482921d8b";
-  sha512.doc = "662d7eb5a5575e838a22318e4f0031e2a30cb1e6c2b47062140ac4de2e090bcddaafdd04aa9a21733e3f8ffe0b13fa974a24136ec3389625e1574a27f10c66de";
+  sha512.run = "3400d901f40b9dc3434f107dda5480e0f8e37548b2ea0bfad5a38ff90e1d99aafd43d44d6cb6c0594b0574f781d94ad57e53074d28b10251f6ab8100f2814354";
+  sha512.doc = "bf97ebd12c09ba4ec3dfad4107141054abc9f04b1e1408017ec038b656bc04ccf09894c5f15a8a0344f358f2e43acdcb7509cc7e0ce686303a62bf175de7a3c7";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-asr" = {
   stripPrefix = 0;
-  sha512.run = "94a7d57ef346248b92e8f6e48e7083fac675deb981abac78b704ea63261e32204413136545296a20b2e8fab573c360f8fdceb7cf8c6b9ff0508c39970d8d7934";
-  sha512.doc = "f707146e0ea626d79d776535c1f3aa3286773a1cda7033949f30dd18d85e016a61a9996bad6e7763c5324d2bb952af294382c5d0139c22e34682d7ccee887d51";
+  sha512.run = "c5ae73e1553b564a90d2c77fa434c360fe2858657fb5ff4c6ce1cbb46838fea9c0dd7a8d92e2048a8ed0d748839518b461b0727db3b7937c4e39edf85277e081";
+  sha512.doc = "560ea68a6f02dc3b79c64554652a9efd52c7fb00d07e7ffbc9b92ffab251854e07e87642028b94fc42bf7d01fedd82bfd50913f9c42d1c37d76c1eaba761ed00";
   hasRunfiles = true;
   version = "1.3";
 };
 "pst-bar" = {
   stripPrefix = 0;
-  sha512.run = "85bb44d82111741ad59f061f8085acf7ab24d0aa6a6f95a3f1c764bf395a9d3aeb25619af6b48ffc32b5e5368348e19e6ede4022eb006c201bbe4af9aa13a57e";
-  sha512.doc = "0b255b52fe7f35ff63856e34e4b0cdcbec03f8c553516a0d1560fa1f3abf4ca0ea2ddaebb78f75b861a92feab82217d41530c593591545d076b3d703c44461b5";
-  sha512.source = "b48dc8d785253d26dc465310c287db8ef17ece5793eb654dd263f636a4d5c3d7051d1b09f0c88288fcb3f392d8bf2ec6207faaf8579cbaab110b3c22584a794e";
+  sha512.run = "14c500c89dcce23c52f4551658496f55ac712c76bf9ab2e8878463a7dc7bb2bb3be10f94679cd2a5b720739e89cefed98237d18f65d0b9ca26ae91ac64525a25";
+  sha512.doc = "e17655c65e96e2d777484ef8db7304562310af8585c21f8cb6c64921c9aa08ad4b5ff8f61924c87112323c2bb509b5ad7e3b2176b750bd1b0f3df837033f380a";
+  sha512.source = "4900e4c4ee079574348403f6a39c22f49e92e9ebfd5f8748543fafacf290d7283d34af7baa0a4ec754222cd9d89ae7c663fa57c97a0bb126a2dd76c16d46ee79";
   hasRunfiles = true;
   version = "0.92";
 };
 "pst-barcode" = {
   stripPrefix = 0;
-  sha512.run = "182804ed04fc0e40310211c9621e4c234fe726154601a9eaab91677cb230ebbd900d99ae977f363a5af8786c6321822d36f0faf352d20380436df68b23817eb0";
-  sha512.doc = "2a069ced6ace70004b89f18abba69612d6859dbf6772f8bc55e5fa3844477eb9a0aff5095bd45500433865e74675f690a067a4e79e37737f9ab4f7893316cdd2";
+  sha512.run = "6c4799d7410da7f13225acd9cb5628d65bdbbb525e2bcb114d7f660d4c752122f8e9028763d3ecbca04c3c9da36b7910d64c981e8593b2c5df6b4cb372103785";
+  sha512.doc = "918891da185bcbd26051a4715cf585fd8539e6ac534ada4a2524bfabec328f87cc998cbd65b7fae8a2fbe4de029403811214c0196e59125a77f8af715b3ed3f0";
   hasRunfiles = true;
   version = "0.18";
 };
 "pst-bezier" = {
   stripPrefix = 0;
-  sha512.run = "84e88caf6f1762334320bab9be0eeca0bc7e83dbaeea137a86d75eea9539924ffc55409d73608ed4d2385158301b96799f178005429e99693e4a3357476e577f";
-  sha512.doc = "1f8a9866660eae8da6815506173ea5d6d0f14d2db7c8df7365210e6064b9c6b9b92142688f398541315be495dcc0d695937b735543dd6f777c1a7ea5bf6eda44";
+  sha512.run = "e2277175eb2087e13ee0a1100d602730514e1e5bb023d4db7163ba4113f69c9fedf74ff50369298ed970b89425b824cb8619e2cac4be463589edbfd747ccc6c5";
+  sha512.doc = "5126769fb89900916a52135af0ba459651083b01db466471cc984b6dc837686cd780bda7c3295b6afe9a7bc85180b3acd95c015084d49f46049adb2fd84b5748";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-blur" = {
   stripPrefix = 0;
-  sha512.run = "c25dca70edbae0e003c70694759d34cd352c9a05d810a900a8bd0b09a2a3a75c6e68cdfb29ac9999cbb580ca70eb9d2716469ba40528269ab7a0ad19e0107c17";
-  sha512.doc = "12e58de82be7a64624fd38064424ebd972854b39eeed7217e528fa593af9bd76d3eb7f10806558501af5accd58989459e3e04c8ad843c5595c6b2f19c3bb97e7";
-  sha512.source = "246a92a533e00bab1d98ec854a2aef3d699b8b0d26f55d6e9dd17040ecf5c4aa3a912651b1bb223fb3012fffd8fdc24ef4892d185e39365de733ffa6c50a9ff9";
+  sha512.run = "5726819bfa08fbf6e9b5a2c6f93008e468b759a825fef04739a47e756d4b12a99aef604d64618081b1788b5fed9247c75dd3580a899771b148306880341f0444";
+  sha512.doc = "5e483141d8f5ad03421d9c7c5feef8baaa3b522385d307022dd617af0889bf57d1cf603a1d519a5d17d8dc918441ca3310d766e4dddb7ed6b8155985186b5e7f";
+  sha512.source = "2e7038a248c307c50d29a6171d1b52bc8d6fed76885ebc24480a3f679918fbdbf1e538f783d0f9e3792a3530e51e60da4873c5da0878e66672dbe13fc9b950d6";
   hasRunfiles = true;
   version = "2.0";
 };
 "pst-bspline" = {
   stripPrefix = 0;
-  sha512.run = "bc9eedaebd0ae3b9bd65abd83a57e385549d521c27fa682448b7c139ad40f71761db6d226788076c747894e9d1aea965f030e6eed750fa1a6ae0a47687eb88e1";
-  sha512.doc = "b14cf6943f11d36e8f3aa57edb1c0cf84846cc1762114b629b53b887e713f5d15a39bf827a1da071b91bdca41b8ce95d9541b58374511d277ced00679faff1f2";
+  sha512.run = "1f39a02cb0d56b4fcb8ed3a3768b59a9d14ac14769783dfde7108d86a8c6d68d79342df501c60efcfb8aca4c7f97fffecfe4cd0ea0f4fb76e528f696180b6dfc";
+  sha512.doc = "1f2b8c3f5d85db4215cb11fcd663c33fc1e34e764432a2285f879ec8bf7acb9d09368c6a9910618ee99c3305d701aff5e5d401c227d0c1db9028be3690b5216c";
   hasRunfiles = true;
   version = "1.62";
 };
 "pst-calculate" = {
   stripPrefix = 0;
-  sha512.run = "fb7c405dca223e1f4b42dc487ca524333ac0a25328f59e8f8b91f5e32a4876982eb3a8ee42cc166e17ed618bd42f75afba203cb62515178469ae504799ba80bb";
-  sha512.doc = "a82a11c0c75987134b391d289aa091f2fdab427e0edd369156767890b18394e56d4c49c06c94a96c9113b9e10fa97e1214c0ad91f43052277b9a8ccd3b4f062c";
+  sha512.run = "b40a89c1e0152459e9dde468379b1a848955d40b9d9e05223544347d6057affac092a503e6307904e485a81de781eb9455abd948bef7f343359d44abf37f93ea";
+  sha512.doc = "d6e936e7bc53ae3296812b1d33ecf6ae890599cbb9fa6afac719d8ebcca4516772ff6c18f27e8d825ab959d430cbfe8876b2bb97e480bf6464690b28cedfc2bb";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-calendar" = {
   stripPrefix = 0;
-  sha512.run = "2e7e8c3d0079ef9abd4f6cda62c56175747afadb5d9695e9d40a33a5a9d4f8359fa6cd6246f20f2c0611220920a14fba6c28fc9e96b5019342d13b37847ecf8a";
-  sha512.doc = "f2729fac75d7c6009f315ad812b6a68a0f0e0db53d6d1183a1d520f400c34e9b33270b78f0679cafd850fc8ad73675dcddbe3c6aa1203f83ee3c9661e5981270";
+  sha512.run = "541e353dcb33239f2230cd220bf7918051cbeb3bf8386bb9da045199a80decd68760a34f0461bb7e644f0d1545f2712969c79584a813551ee433d3a2bec888d9";
+  sha512.doc = "02be7b99bf8fafb00994327e737a5a050601dd141ff4e3482b42dc3c98c9ecd1c62ee64488146e3a7e1017a965ff1cd41b7487acdae65f5c09e259753c2d2ac2";
   hasRunfiles = true;
   version = "0.47";
 };
 "pst-cie" = {
   stripPrefix = 0;
-  sha512.run = "4cacfea8c976c70f36b9a40717638d0aa277b44fb964c61843523dff595c68e323f0478431320898998d63fcb90e170d1727d8090ce385729f92d1bf38097a71";
-  sha512.doc = "90afd1c243ef688911df27d0a13ae67e1e5a125054e482e7977070af7b2b39d8ee2eb1c7bdafe456c53354c30c37dd63cc61cd0f67a98febc48e0ae7122da4c5";
+  sha512.run = "4967785a229c9cd316b36357fc94df53e7ebfb216ba5bb222d208a767828aac22184914e2e3744e2726738920dec05f3ed7ab9ce1e30321017f43fa8f52cdce8";
+  sha512.doc = "f2554d76fc89d58e4ff61ac5e5635b93775f731e33e384a3113ebcca53c26ae0e4609d1fdfc5f093abb8945bc3f02a77041bce072c29340ff9623a580e0ce352";
   hasRunfiles = true;
   version = "1.06a";
 };
 "pst-circ" = {
   stripPrefix = 0;
-  sha512.run = "9b14f9adda46a7c7117d50592d6c4362dc755ae404690d3c12def325daf4deca12db410eb3c03bad8440be424df471556a648b31c8a9d78be8617c4b2afab79b";
-  sha512.doc = "64a053ff43ee252f10255f8006fe9014c5c376fbd7b065114d8db59b6ceaa41134da2a68f2b602311511672a990ba5a8be560d3915580adeea1497f6672fe295";
+  sha512.run = "608ed7ffdea15309a69d89c6a6107b9b71838e789f14ca78f92922cbb3d5e5929f61e0510b40e5531900099f805ae1d4acb2018984aedde05352c8f210573a77";
+  sha512.doc = "575ab4e17abb1433659b60dc87920fe284a12d5cdc98dcd091df372437f165033872c7a7b3f27e17bb27f5a51c2dd4e5a98925e06e54353a8e51b77958b63afa";
   hasRunfiles = true;
   version = "2.16";
 };
 "pst-coil" = {
   stripPrefix = 0;
-  sha512.run = "81a4e606881acf352ff9741409c5b9228415c747ad1d837c0160f5ef0ad4decb6f98870a57041b820e77b199a652e43eb5fbfe14d21e8f186ccf5303c135ad40";
-  sha512.doc = "aebd14a47f29c22a2ca6d098cb8ea8539f6b8ba9d59967978afca7f2770cd3df057991aa6d7c7156b00dfad6f722f434bcb7c19e353ad319d1556eb158a86034";
+  sha512.run = "efa265a09857efe93dd3d6aa7f63cbdca456982ccbb4c882dac7c1aff43a6f524e546640d5e293b55e59bd6af582e6d91b503cd7875f8c5ab48491b5b8996e4a";
+  sha512.doc = "e31a5c795f9cf1e21364f63d582465825f46d37c3c849e328dcb19c2a2d7d1336c425a027c02db7c1d0d00da74cb2250feda8f2f70d538561aa93a22bcec5498";
   hasRunfiles = true;
   version = "1.07";
 };
 "pst-contourplot" = {
   stripPrefix = 0;
-  sha512.run = "c37264ebb4e293892c1a3d6f7a4e403aebd1148780be190793dd1db410551aeee8476395cc8cdfd9c1eb9d7b505238910dab897ae48e90ea7f56fcbf8046503e";
-  sha512.doc = "c2e73f5e6b618c904cadd530d94d92f1978b614e3eef816e33b7a3e87aa4a138dad3f9a646b7241f6de33e56c357b1a286e2ea5008083c82560808a25a0343a6";
+  sha512.run = "9930e77c3ac5adcd9e3f14c4785a52a79fe5068b5ee239d1c9f052181657d2c5f16b082a8900b9571094ec83b7326be28a567dd39876332e5f68aa6b1c1b7083";
+  sha512.doc = "1a52121a22c829c9c5423810f529cbc4cf3e49a805ec4fae123dd795dfc8fc87bebb13653a9d173ca962bba716c8428effa4410e48085af4bb208331e4e89bce";
   hasRunfiles = true;
   version = "0.6";
 };
 "pst-cox" = {
   stripPrefix = 0;
-  sha512.run = "ffc30a3f1add73a11ace889387719bdc67ddf175bfc43f5b051d6cc828aabb0c1847413cb24b44322baf61c5a7ec7ae9a8b5131bae68f3da2336c9dad80ef6fd";
-  sha512.doc = "986a68093b5bae0741d9876699aa0510f591a42e3c2d8e7e7e12330240e051f431cf5e223a08b87bbb1545da5c768a366feea4736e59a25dcaa69433a9604da4";
+  sha512.run = "b7e0e787e5a6d825383a5c06d7aba34e5d7cb12258925b7f0384ec069e873a6652e421f963147648903f6bf063d9592089adee5b043f24dac10e30dc344f0608";
+  sha512.doc = "1de830f83253ef11f092c9ec0e698ff36971c7b6d4237c8eb9f6712bde051b9302d657faa21bf56d34287c838453c611ef1a7c70c09e55ea647bad48ca216e1e";
   hasRunfiles = true;
   version = "0.98_Beta";
 };
 "pst-dart" = {
   stripPrefix = 0;
-  sha512.run = "69ab56bf69a215734eea9fa2bfc8e5d0aeddd3ecf5b6fae3a2d850063e50e919de1205dd73ec7559662b1e3f4bfc98c826e1bc4f651e5d9ab74f75256d4b25df";
-  sha512.doc = "461208919a4b4927f33f31dcbae2f02a7d977ebf343142a2d097aebae78a5b9806ae2f460dedd539c0a3f6f3c9ab07b618ff3e0fb3f99c17ac62a989754d9eda";
+  sha512.run = "f5d41ddf7c5934a00fe8bbbc6dfa468d26e8ac0c06975301f17f31f168c6bf7499dac210f08f815cd01c05eb4a9a376d5c49cd96195a9df56bd3f1156d9ac6b7";
+  sha512.doc = "668648d06ab3047e45737908bca5f901b4815f7b7b6745e9bd5387b6867b1fe6dafec3633295e8c164e26cbf06dab2240516a71e3b766a52b9e1ac0e64d1d93c";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-dbicons" = {
   stripPrefix = 0;
-  sha512.run = "abfc48deacca65ea697b4d389d79d44bedfd0fcadd416d392f73b2cfd052bb85f23c17e4fcfa032a39759f3089f48bc05c35b20091ceaf58c176ca6e67d9c03f";
-  sha512.doc = "552fdbecee8f97361728fb539395e0f101bab8e1f246d79689f30bf3ba7953683569c9b85926e9401ef502e412f7a0bcf7bdd1b6147f6f386c9ba0dde6c61a5a";
-  sha512.source = "a4a555b8a956283d2a80d44a0aee459048bdc6cbafd5a66afc0065b75c6a3934a5fadfd4ecaa6a30750d7d5c23f6a9b591e216f6afaaa960059fdffa49ec0d00";
+  sha512.run = "a09ba8f72ecc1b58298b436c47d3922b494337179bdf789468aa3a2236a5e2bd0f9ddd9b491c1a2eb181d08090cc1c6d8c4a0e9e56cb8619a65ce168d7efd355";
+  sha512.doc = "fc0a74b0ca228ff598f3f88840ad1b87654cd7205afb757e6eb6d98abb0cd56cea0ac3ad7b3464a9a5b09d3d4f3a8489228b19c78edc8ceeb8b10f5d40e18540";
+  sha512.source = "ad710329d577b7da464028bc0abe684d987a601b6ea68cbbbeafbc6135c3ade2ab124026ba0e1d714984251f800028ffd018863c9bb51aa8fae4b5b7ebff02f9";
   hasRunfiles = true;
   version = "0.16";
 };
 "pst-diffraction" = {
   stripPrefix = 0;
-  sha512.run = "26c6aec3b71a766a3ab0876d400af2cf1bc8689d44603023426059176f27fe5b323f2edf95a8ca42a941a982b19c7cfd5df5913b98adbae18563d4d576ad35aa";
-  sha512.doc = "c9d3c3311768c2cd6f0d166feca47070675b4f68eadcf7350138979e3e22d07d2d014afc62d64a5273a6d5f83259688a578cc021e03948eca9af6e324e544e4e";
-  sha512.source = "8ff615fd64d8eb59d98aeba6b49acb3aa42402ee658a6590d15003b4ff9947b58d4ea3214dba91808a6e88a15d1f11244deda453740710029c72ffa13a10c652";
+  sha512.run = "222e2361650aad3b59f99fffd56aabe3e53a5eddcbb643fb6f970ff9ac52bbebc4274dd02e051f9b24f069e355a081feaf20e735c385d80e3e58d3c72f1bf90a";
+  sha512.doc = "efecfa760a636a90026bb8dc2c6677bf1f5d8f37fa9103d37f598bde413a136928717cd7bf62bdd7581ae4ce21d34b49a2a9e4dab7397cedf7dbc04884012160";
+  sha512.source = "f71361329e52730f68aa34811cb04b4abd05a5bfb484fa1a264fa17e7609963c09bfc6242b6e777ffa8ca86cf4e5b2cba2a1af2a89611d8d0f9f0dc942abe862";
   hasRunfiles = true;
   version = "2.03";
 };
 "pst-electricfield" = {
   stripPrefix = 0;
-  sha512.run = "eb2d5ada4d909dcae9399800bf5e89382129bfbf2b7cbaf64c12264b7c5096300fafd2b938a6aaf4b727c4166eb54b2afad414ca5dc5189ced6c2505de2832bc";
-  sha512.doc = "a16aeb2c4d76ebc75184f0751faa1053b0507f522ab3a4d20379fc42ee3fb130b36df4c3581313c6dff500fd501a30134ab999b986596992cd5fe7a3f1a16cdd";
-  sha512.source = "ffcb1b62c1fc0b34d1c62ab6cff7106b17e683f992310d65a21832cae6e2f5762233be21157d6574ecc29c1f2304c6fb58a1c4a286a10e248acf6716e8b54d74";
+  sha512.run = "db9f7474d8290640d960f411574b6dad9f9b705eaf68644e001ebfc5050328673f0c1c31f925c6a2cd2279b9bb7ff89cf8d21e71a99e4b937137af404d046df0";
+  sha512.doc = "9d89a2818a56bed9e3cda9069f91cb49beb0182e0b24474051bb28c4299439a7b5477d09fa1caf23b855226d4d4441e48c9fba4a4dd1cd5eaf044a608876e5ae";
+  sha512.source = "89d6b2314db2840f70d99f2f0e66a875b47cc2e653bbd28c80a71eaf6f7d269e647e84b5bbf5ab7349d8a45412b824f9ae7d0c4ce9c4703f82258418b82e8867";
   hasRunfiles = true;
   version = "0.14";
 };
 "pst-eps" = {
   stripPrefix = 0;
-  sha512.run = "fcceaf962e941e48af3841c56a4adce304446862165a53bbe6fd96c3aba261782ab624d8e550a35490f978ddc6774e8e79f7e0a8cedfa1c715822d79f76d96e5";
-  sha512.doc = "c24c600211d92d5fe4e72fe2e78a4dec32bd78bbe1c5416f2cdd6007ec7587bb8a73a0d469794521c8482042b07edf2324aeb09a5305d5dce7226d0005b4717e";
-  sha512.source = "7b42483777531c4419456e7080571c9735bf0eb995a32c06dc5c57ffd83c94fe916103a6588f2cbe21605a1dde80777d4fc387ab2d10dc9417a602099ea5f516";
+  sha512.run = "90be1124bd22958b0a9cbb45a3b76513e514131c416c98d7f70ca101e7841980c33bd8380e888054cedb873143aad168b0dc25918d9e241f763b9be3ea1a76d6";
+  sha512.doc = "70542680c550bc11bef851cfcd12010e17f35dd75adfa390ffadc7b920c2b357594ca514fcdeaafcf1bfcf1b9e622b23c680adbc64ae4787fa96ff94f9a62add";
+  sha512.source = "97e2adee4ce93de77d4d46946795565dfa0e0da188fd686bf96917b1220661510c1777fb7d025ac6dfca816bb8575487d45b180e4e35cade21353dcf4a8e5540";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-eucl" = {
   stripPrefix = 0;
-  sha512.run = "69886eebec603f438edd5594fae54c461e7fd30ea20676aae7804da2718aaca42304fba9a3abf9e0bcb4504d9953563cb5da0f4d6f59c6847ca710960d0356e7";
-  sha512.doc = "8584cb2cd48e2896daf8c4988dd0f5ccb8ef0179210fafbff1acd2a23dcaec6a0c310b8f6eede094e86e42f5ac2f119b012fb35c89ebfb4b8d068dcceba27eb3";
+  sha512.run = "bee0b8065dc04c5deb47f10b0bcbc627317f2458e7bd9ce28e44ed023853b69ee87a2d8fd5784d172e9edd641fafd1b85a42862c83efd88140ddb5c51f89f6b8";
+  sha512.doc = "0bdd883d52b6f639fb7dea4e7b5e1f65287bbcca2031e351c4723b875114d2aaeee537c0e62cce3bb1658777ba9793f5409957e2d7e0e0748b2900a8fc0eafee";
   hasRunfiles = true;
-  version = "1.64";
+  version = "1.65";
 };
 "pst-eucl-translation-bg" = {
   stripPrefix = 0;
-  sha512.run = "7bcbb61eb01e5e0fdc6773452623f858b9d03a55395831e549cfd55cc8155fb3498c12dd8030b6fc40135acf02efac2e91e5da9927bef1aa78166ad3eca03376";
-  sha512.doc = "51459bfaa61df2906e296c6c81255692f2c046bd361b3c4261f71641e79dc7110c1d3e3aef740ebcf6e6ebab1cb53ec9302f4550412e890baa0df77546c97f99";
+  sha512.run = "ba2a7a76db77f4db3a548654e53d587b8f5b3dab9fef56b1f8c2640bcace64237e0bea5129025a07a490a2660ccd019fc5e83e3db504c6cd30b12b19df755f8d";
+  sha512.doc = "9f6d0153e79a205d0fce5b289fa43317ded0b70abc06139a503b98199584e8cb12b083c8235b6b53ff2a80cf249a4a43cefd3e0b39a9a406c62c1e684bcb35eb";
   version = "1.3.2";
 };
 "pst-exa" = {
   stripPrefix = 0;
-  sha512.run = "b7e2de8382e07f54921dfa3aaa34615038d5fbe1020e2f582709dedd524f79fd40ecb1f6ffa3a97b2636e749db3b4f2f951731c77d074ee46dda3e8a1cb684f6";
-  sha512.doc = "bfcdd25430e62fffbb395f3e9522761a59a91f9fea4fe1dfe971252f2ac802736df1bd7aa5ac940dbdf4cf8a74304e344c2a262c708cbc5881e25593ef60c313";
+  sha512.run = "af3bf68bf2401e0bd7023762748180bbedae1a34fa749b02cccd6b498f1f7ed0ca0e929e1b290f9b4f56b7f30718cc602d54b348e23f73c4cfb4d72ea22ffa4c";
+  sha512.doc = "9f0310ad130ad4693575e33bb2f2deb795a8eb4cc6b3f5fa946095d979ad8a1a348feca0ee5421b4831fd16a1de23608013b69d027b0dd37f782113e7de868bf";
   hasRunfiles = true;
   version = "0.06";
 };
 "pst-feyn" = {
   stripPrefix = 0;
-  sha512.run = "fff40591bc9256cf853bc772a3d45b4abb7038813d738ac8ccc6d67f018790366b3d6d6fd4311f82cbfe733de6f610ecc93916b8f1ce48bcdf2945cb279f788b";
-  sha512.doc = "27da51f77682b12f425e6a5c229f739f3483d4d9a02bf17fbf64167309d9daf8821a5c80493d87cbb76ba1f92072738fe3b8ccd1471e05790fbb56b8301d5b07";
+  sha512.run = "c1ac123bac3f92fd92321387be28f519963ab196fde7ead8ed6b4c93ff9fe5cdf07bfee65bef67b9cd70d020adfa99c72592df9be376d69c5dadcb8bd0d6963b";
+  sha512.doc = "e30fc57ace8fb4f0c36fd1a07415e894abe6840592a9a62b9e45c0663281a79532387f5d37136e9cb5e7b27f4c0d7722e6d1a9779e1a57a2fddbd8d0324d1424";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-fill" = {
   stripPrefix = 0;
-  sha512.run = "7d82ee4e591dbbb15fbfabf2f25b86158145d6ff5e6dda65776d9ee2e4614d09cdcc503bf68ed4ea5709baf8e3e4d03a0ba05fea688e7e8637cdd805b8921c03";
-  sha512.doc = "68ef3850dfa068c2cc53bb11a3be1a298a501cb33cc53eda0835b1433bfc5af2afb8c19fb222b7ba7aec8c7dc1155c9be56c1b6b8bb9ca70f7fd6a379d6e4972";
-  sha512.source = "5e869b17a9c21fbecdb9ea803bed0026ab4c6da24ce080ca8d5593f7327d999e38890de5d328ef54ff36e0fd238dd40846dc658da70dfafbad334e7c1c55b02e";
+  sha512.run = "69401352ca7e08d6d61ce7ae89f1201f186cec6221ac3b9c2cec61c6033df03b8151ee278ab2edab6a661c49f0867d7f9e764bf45e9dbf32feed655e12239688";
+  sha512.doc = "061dcab012577f3d6e30008c15127f2f70469340598c781a436c0c8b1831d36dfce86a8cd0b802a6f174d3510ee2ed1d9269b4c894793f10d79eaf8b6d0c1ec8";
+  sha512.source = "35540e2a923b28393b68da71fc2c15166ec6e57ebed065dee8e8c9acdd7f10eb5327224e7422851b5a32d895eca29f19755bfda2cf1e0fb569deb473921c6d63";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-fit" = {
   stripPrefix = 0;
-  sha512.run = "27195184d8bfd666a666f67eee106111e2fde12a04bda2b8b828a3eaf83b49d2334392f7c11817b55ffb8b200d21d8e89e66af35fa3477a2eed33e4fd5b3c86f";
-  sha512.doc = "ac52c0c9ad19431c6dca5b5153194868f0047f6205f3aab38da7ebe63a58b788b13b667ff41a7a03160d7613718660c7b46abca4369f753611ebeadd36ce04f5";
+  sha512.run = "ede8c3503963f44d65caf46975cebdad296576742a771243914b49c6d802deb2f24e816dde7fd9a4bea7fa0c39965693575676ebeb648da099d88ee50bdacb8b";
+  sha512.doc = "c8619c7c98cd42884637de98c88d916e18db273371fd64090d5e9789570153b2508f0adb90fbec9c5184f6ef1ab24559b04daccf8dae7c5f65453044b9bfb73e";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-fr3d" = {
   stripPrefix = 0;
-  sha512.run = "a6f8d5410ea78535f7a881e7bf109fa4145ffecd4c65a28014d4913d0d3b4e84950bb3b024ce799acc60956183c6a80b4baa1744a3f3fcf48d0c74b625fd0dff";
-  sha512.doc = "9b31e1828927bf7668ef5aa1a8b064cdb37c51714ecf90d06862d6df62db158df1e3076d178e5a5017a93690814ff0c6ef2457dc449b9fe0bc0e4498a1c9372f";
-  sha512.source = "26155f39d5787feddd1d3fa9febdaeebcc7f0f42bcb8f268e1485a20ed9973d6cc470fc0538c0b720a3e541ebb616bf7f993a8d816c7bd65c1a80b29dc8de6d3";
+  sha512.run = "ccd418ac7ac5ee1885cd2b7008e867c08cc0fc13fa97e264377446d301cef1caa82b8552731a4c7d3131f0e2ddaa0267276d5b1726998a0be2f149ac67bbffcd";
+  sha512.doc = "48c559c27999b06d63ab5c33c9779d0902e05c80c51ba9225f0def724e02892557deda44add976bd5fb73403bbc2615854ef9ea398b830357f0fa5be12702e74";
+  sha512.source = "7fde5941ebf78da6f5142d07963aba36f2c298e46c2125f5ec210830f5f3694b3b1a8bd4b342b6065fdefcce1e5807321f379d030b0950d3ca5dcad30ed2ae3e";
   hasRunfiles = true;
   version = "1.10";
 };
 "pst-fractal" = {
   stripPrefix = 0;
-  sha512.run = "0db9659c2a8cf1ef0f113ff9577923d86b3711620846550f3a2819d7ceeef2a5f0f4a1fe76b1f425bd4e4dea96ba665afaa3fda2c0feb87134cfc6f017d97f2c";
-  sha512.doc = "00612e62ec68cf89d92af2d8277a25be45b294f02b9d96155b2cb5cd50664e1c941ff6c6cbc9d1128b337d89255a314507b8df5b97f94f4384873ad1b27d8f30";
+  sha512.run = "96f38a81d57046ebb50e90cd7c06191483eefa8234ea73f706e6086a3f0723b3ecaeb0157b31c1364717c5f0643ead9fe94f9cf8fac8a8b27e0a3b81d3dee048";
+  sha512.doc = "4c3793e65415b2fc394fc46c23d6a912c9288e77fa2f08e5d7a97de6beabfe2efd323f13b0f2bedd1bc52bfade476abc0f8edae38108de6419e6d4b3c854f82b";
   hasRunfiles = true;
   version = "0.10";
 };
 "pst-fun" = {
   stripPrefix = 0;
-  sha512.run = "91c1720b0434495ab9296f2a3a791940d216f32868e31c44078cedce9a0f40e9070ea6df12ac1113f3d3da1fad9ae72ecc59ab933b1a86716d9f38d61a35d7d2";
-  sha512.doc = "f0edef7308ec757a5d6328a2383d4181b1f6907a99235f976bb55edab52f104bc03cc06cb6b62cd20949c659769bf6955818981e4adc9e17705057841824488f";
-  sha512.source = "4672fd4508d4cbffb9499eb6c2d93d5fe1902713dfd8a9346875226daffb406dbbaac84b21d530b0e3f3f9982927a9830944cdb1e48dd12dc6133e98f5ec09d7";
+  sha512.run = "68d0c52bb40354a72b2eb14d2c10a18266badedd452a57e4c2a9aaad343b94f5c13f89853962e85c94ebed9274e87c44cc4ac1fd0203ec54097f71e5c4a15fdb";
+  sha512.doc = "b4f498e3f9d97be8fb8918abe5139d431656b52ac592ce9f3155c6dc7afcea17e51996dbb275968950dfae179b336ef923b2d88efb4b77506c64b5c775920d38";
+  sha512.source = "4cdd6ea161216ee5d8be410b96749ae52d212e75691de0a9012ee6f0b5044d14c5be4e8615a6bc3b3b22f8a8fa99a75977fb264730ae64218b20898444793dd7";
   hasRunfiles = true;
   version = "0.04";
 };
 "pst-func" = {
   stripPrefix = 0;
-  sha512.run = "5ad830af1b124a97f2b1289a6e3fa2dc04e2c0e0c0602735d3f44c17dbc3b86f96877ffd97daf610b6eca0ecf3d40b52b9bc1f592960736bbd797040f09e0ef9";
-  sha512.doc = "ef0b61076aefd0e583b8e7d63767f12fbde0368f402d3bcec49842414c94e924995d0efc8864bc91547a7a128b4e9c91ad3dd18bd94b973ac1ddaf69070230f4";
+  sha512.run = "77349856b50aedfb4ebe05b2e3747b2bf98715201930ac374783172f0688c723405c069436459598744c681a5d8f42aa7d14bfe41adadcff69b6bf0e45d2df94";
+  sha512.doc = "91acb2009228f42b79a85a4d343f484066ee9b930ab6e7acde69d796bd54185ad8d979b3fcfd72127203e91afddf3720a627895567e769378fdf0069f9cb8f87";
   hasRunfiles = true;
-  version = "0.92";
+  version = "0.93";
 };
 "pst-gantt" = {
   stripPrefix = 0;
-  sha512.run = "5d30ab27593046a69cb1e9a9ff7d342c53e69da72622a54f37ccd495fb86896315a0bed6bff12c0ff7db98625a340cfc95574b63f94b2b7a2209209133f12b27";
-  sha512.doc = "69a613540ab07a96910e610ec6d6841d5b6452d7fe70759adc0b7d849b662b969cdc1bb9c4ccfa4b6ed7033b5280f89537bfa2d6f101cbc6c47157c4dc94746e";
+  sha512.run = "61b59f922129de60bf954145a0c83a5bb4c0232270b8213b45856a69ca56f32a9525d70ba86e51f95fa1c8836d4922a0dec971dea16f13f0c2f83c80fbfefc56";
+  sha512.doc = "950a55218077d7203988c42c83445bfb10f53c7292cb85bb4178ab20b9f1404ab4a864266e52c3af074c45cc27b6777dae71af41caf270143160d3d59e222731";
   hasRunfiles = true;
   version = "0.22a";
 };
 "pst-geo" = {
   stripPrefix = 0;
-  sha512.run = "da0dc94471243cb61da452e136597038b46652a9efd7505dac8ff9e9495f4865e7a5219e49bdc7d66ef8d6848c76fa104958462ec486b2bf3df2f1b467763750";
-  sha512.doc = "3cc41a99d8afb27a953f5073efd5ab73f6fc0dba3d4f2bb878a3d1af7abf5de6a64710b23986b932d7edf37ed9ef9eb55e2c9808c053d931be5b5a02a88352e2";
+  sha512.run = "2b559409de635cd04e9b128bf44ef5f92ee765d4ccaf2132e3014d9a75ee61867de1724de2c36752bcc600014767f058c3799a5387aa4029268d5fa9dff4e0e9";
+  sha512.doc = "762140a38d7f39875d2d4d25aff57187d32daf017d5be19f7fde14c482d9128c4b2e911f67446cd47a28cd655ebcffe485dc4b6326d41bf3b0693072647cac0e";
   hasRunfiles = true;
   version = "0.06";
 };
 "pst-geometrictools" = {
   stripPrefix = 0;
-  sha512.run = "65000848ae7496342db63523041937294c7c8710aa6639dfdd6bd989410f533d11cdaa6d23796efc8a1c2b706bc45576ba1a66512b7bc51584c341b41bf60ceb";
-  sha512.doc = "4ca6832eaf6345354693b99e3366c5ac0c91c2f7fa8ca2160ce5133e260d92139de22726ef151ec37c04bcb3220059d1fc1b92d19ec53fcb36fc28983b0f657f";
+  sha512.run = "1949864f97f21c6cd2a0e706028d5a0ecb4102c0afc5874b78c2bf883aa6698551214ac232f406bad9955e0f0a78f059118a4d950bc4b69bd30ecf9b6fc38606";
+  sha512.doc = "adf2ae63d32d2cecf77c2aa950c8b827b51d0ae923dfbed7c851f0f0e7d6018216d92cf524b2cb4002c4040dbb579cff552a37cd5ef57cd2d0579b01128a3be6";
   hasRunfiles = true;
   version = "1.1";
 };
 "pst-ghsb" = {
   stripPrefix = 0;
-  sha512.run = "1806c8fff1653b8b7e838940d01bba3a0dcec14ead19941be6141e16ee42a92dfea8a0f7238550e6fd5b4856ec0d149bd4cc820145609a75b09586d5d00b1b01";
-  sha512.doc = "7374481f7484b257738f0be0723bf378ea3e6dbbc2d999f0786379fd77f3e11247b03ab723c216cb1a37b4b61abc93de3dd946bba058ba2d4f9a37e931a43094";
+  sha512.run = "3bb85212ac247b5d6ddabf8d98f7ff5621b78ae2b83b08c00ce7c2831f6f6ec4d621a4e5f2ad00e2b5d8883f95aed579f0d17a5525c9df5ef9939528ec736325";
+  sha512.doc = "cfe4f9f8b24fbdbf22280b098c32c1b9b368fd6f74cd20c1ee7b241bf3a9afba822fda33b9c9365cb9c20c76ca658123039eb27828361d74e4a31fc8e170a6bf";
   hasRunfiles = true;
 };
 "pst-gr3d" = {
   stripPrefix = 0;
-  sha512.run = "f4fc3a9f42441ecb872605877564251d59c191d455e8207ddbc541f992687dfc622095fa248b18b477aa218c3d71b416cb0c832c7930f006b8e4e0a104616c01";
-  sha512.doc = "9c2c30653ea53758e12938432569f08a41670d1c8957d6963742676e21832561f29e439f07ebd6ba194915ac5463c89791320c9bb3ac609b6843ec17aa70a6f3";
-  sha512.source = "4f657820d3e8b0a7a9d8bf89120bd2e9b6f33c776a7c6eab19eac2bcccd440941b4c479beec06cac182b43d9614f8ffe516f11c0438eac86a37d63bf1e4bdea3";
+  sha512.run = "85cbaa41c3cce49aeda36ef55a89122370fc23dc91c5e5e63790aff2b8b748eb6a13a9a921836b2a471ab2deb9577ecf59be0bc6dfa4d2f1ddcf17bc33ca4264";
+  sha512.doc = "bd9026c7730dce9c09a092cc420fa7ca8d7c85db4a1f9a665a64f933595b43397027904c08311ab2301305f79a426a1b726b8df2c237c8a545726fadf9b8ed30";
+  sha512.source = "ce6786ec803ceeb33fd42d2d786d119ec2f604c1d4b4f7a51c6e9ce9e4171f01fff33b66b234a5af854e5bee24f23bb50abb898ab89c568150a50ffd8ff7d582";
   hasRunfiles = true;
   version = "1.34";
 };
 "pst-grad" = {
   stripPrefix = 0;
-  sha512.run = "50e1a82b66cc322e686037c12f59da8f57ec0145a9e65684bc7745fb57d03711d5cce2ef255a4e6f9ab7248a64e34e881b33c5eafb3691ad84334a7e0029db47";
-  sha512.doc = "eb1f56084e64f638366aa165bddec413ff33cc95cfe8a79e840a5132a9a40c6fc277f394b9e6506a47aae8589902cf01ab703eb76be8f4c88f7cbed87aee0a74";
+  sha512.run = "f98fe4e4996e20947d90ef24d6825d72a8ceb6bbd586b0de9b90d5d73208816395e5b195dcda2816c8e709fa4c408f3b814c02911488c83a207039d28654b9e3";
+  sha512.doc = "11f4a4de67f92bb2ba77457b5940e2b848985de111e3307215981e6d39617b8590316de5cb6e5002748d9e951be405e3f938d1708c28a7970be53808688c10ef";
   hasRunfiles = true;
   version = "1.06";
 };
 "pst-graphicx" = {
   stripPrefix = 0;
-  sha512.run = "dbe716edb3f590baca6be3599d6e5a56495f5dcf6edba295629fe51aba3ba482bebcba68628faef5f183c59dc250496ba24f121b21fac703e4d2137432299b5a";
-  sha512.doc = "3391357d54faa7b45e23094ffb1363ff8e8e80202a94dffa7d207a7d86825f9fb1990a90c47301ac8aa814c4c15455a0629cc08356a58297da78ed4d773106a7";
+  sha512.run = "0d3f2d072a7bbb58ff555add4df7347a4dcba929bfba49d25dbf6b95956462a3fda07818135fe40f737151f323a27225983f656389f9a91a8295145ebf2877a1";
+  sha512.doc = "8deba57cafa74987ff7dd22b52db699fef2067dfb62e8e2c7e8e17b662f1d7644278272ee97209b3c109345ae8c295e125d1b195ff68cdfa8362eb3b7ad1bc84";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-infixplot" = {
   stripPrefix = 0;
-  sha512.run = "bfe9576b59f09b273f1540da1aa1a2c29ae36f05d3140e1e4f7e7e606175bf8c29ebf799f900f1fc5f19ffa53ba6d9797dfd0f5a3a586acba99b5ff0b4dcc2cc";
-  sha512.doc = "0df4c60d60fc99fe329b6dd05abd86f9ad9c33feb7f7595f43c610a826eeecc040b554705d914f1e176df5f4cf172f745e34a2f03550998039c9293422aa7981";
+  sha512.run = "a8e69a4bc20752d5f6d455f34fc4810e569a5f444de257c1b50c76d567a23d868b0e19c9f4656370a12d3a53ef35ad43e7dcc946782c19ef76091634bc2440a0";
+  sha512.doc = "0b6958f851af834917ab04f39bf60d50e26eb61ea52c9dee91274714ec0a87519323b1f9ef7d665f0a6d05cc97e6f8b1bf51617f2c57a5d80ebb96ba1aa94306";
   hasRunfiles = true;
   version = "0.11";
 };
 "pst-intersect" = {
   stripPrefix = 0;
-  sha512.run = "0c960d5aa888c197e962211bbeb2a4de7a241b4407751670cbbb64ac198b9b3acdb6e6d75b87819dcca01322a33def3b0570c2cc0ab2fc55cb5d10e0be3a36b6";
-  sha512.doc = "ffba933e0b3992eb3e680c3a316260bc3f706916ccbb27c51c8593c295c11dbe6deee19a4eb1357ac8c1e9587c624bb6fe2d4737a29dfee61a71d85e6c00ac41";
-  sha512.source = "f7f91edb39817a714c32d6baf8ee056eff0fba34f58739d27a2ca495dc7b534a5d5e3ce81b1f5afd3705a4954afc73dbe6193ba2ae953f64efb82214ad12c0dd";
+  sha512.run = "847a2532362e570d3e14ac4aadedf0cf1ac0f2da1991837abcb6cbfa607357d8a451d852bec9be50ea8b2995716613475c4c1ea1c3766169902eb82e70aaba0c";
+  sha512.doc = "e8775b9d8adbab9e7ce63d595cb70747dc3d850c4b43095e1a35f6be8093b61ec92457c7fcf6565484e62b1aa7bec82700d8ccb2dc8dca0089e56bc8be5e762a";
+  sha512.source = "87bbc6bb4d4b43d6c1e93e89d7d96c5f9941187181eb93814110e3930255d6ac6c95d81a53a6ed440f6bd4fd8c38725e4cf5763467722465cf941c4cc16b5841";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-jtree" = {
   stripPrefix = 0;
-  sha512.run = "f70a8f837acf2ac132516de3ea6ee84c86852c430dd0ce1425751389590b3e154f024668b62b149998b818ce517be0d5647b054444101df0b66dbc6e1e4ddd11";
-  sha512.doc = "9c49176534e5d4b77e47ba452389e1f378470a703851a2125983a56afa2d84bb64bf90c34ca80c1dce817a3b622b5a60f099addd9458101b9566d5ffe73c022a";
+  sha512.run = "9947e00e7fdac25f25f1f828ff5b9a3b962b1d033c57232d2d47736ee7a675ee48367aa934153ec17ae3f2eaa763044dc067d83b2248c5f42a93eb5d9a79e292";
+  sha512.doc = "4d0a2432e9880a71f1d7b6a9965dfacbebeb44ea2586fd428fa58f634d7670d763e9ac293aeec6adda6cdef98736a7b5d341ec41d89bf3999c4cfee9066001ae";
   hasRunfiles = true;
   version = "2.6";
 };
 "pst-knot" = {
   stripPrefix = 0;
-  sha512.run = "a29cce0c9656747faeaa01d9e85403c0759618c69fae83a562f537537458b9c0ba0f8bf6e515e43cbf859b56cd6e3feaf1f6cce72b868a387a275e5c85931a8b";
-  sha512.doc = "71084fb78959f3f83e4dd4b3925118c2c1ca22b4a79a3d1edb44ddcfcd39ce75091054e072e96565e0ae2cc10bf2d58cf01d5f966344e5c84b9ffb04bda531fc";
+  sha512.run = "f481b82e5d21dd86eef3cf64ecedc45420b33e43619574f072a050fd70a6446ef8d527607ed5a929443ff6976cc94a03817837c8776bb2ee9794fec80a4c0751";
+  sha512.doc = "a8a82ce955b707c6ecb319783cdc4fc8406411dc8d711321919413d84ca42197828e69ae2b6b368a4b5b326650caf5393cb2214a7cd8b7bc0cff742b9b0d977c";
   hasRunfiles = true;
   version = "0.2";
 };
 "pst-labo" = {
   stripPrefix = 0;
-  sha512.run = "0c98cdef5deb3d02d48666ce2e86c728fb428fe667fe24980e8006091c1e40da2a11b921105fdb896ce8e7c02e01cf7d7b571bf4c00d72d97cb21dbef1e88b24";
-  sha512.doc = "c120ddc3a909de7b6bcdca7a985388d6a9bd6cf7818d63e5b91163b44c5052053202abe0bb81d673f10bf0bd53f61ee9e0f89f8aa7cbad1dc7172fdcd566f248";
+  sha512.run = "a8bc971be59f1072657d9cf9d26056ba800023858df1d060ccc7e31d2c533337520e9583de00085842dfafe84a590e0c90706ac00bc98da282a5454fac76aade";
+  sha512.doc = "1b35f244a45fd18eeba484f925292358b5582f0ba18a9c6622afc67ed287e74d0c1c876ff78c19de0e9b53f55c86f30f47a6d179e0142e79aad5c5799e497ba5";
   hasRunfiles = true;
   version = "2.04";
 };
 "pst-layout" = {
   stripPrefix = 0;
-  sha512.run = "de6f24e890d87af52734aa2ab51f9fb93c350982596c1192b6c9907b28d5c7d8099320bcaa9ec8d6c272ac93a268fbaaa587395cdd5acf8321d3b488ece7e155";
-  sha512.doc = "102e315ca001897b14aa629549c4ff6e67202c93501c22250360ba24e0bf7460c95f2e80846129419643a3f22c6f8dca77317556a073a0e623bf4ad8c7672921";
+  sha512.run = "6d4c06efe0d0095ba52eeee25ffdaf44f836e1e41840d8098e25c6fd3b5ee79d28663ef7f02ddd7d1ba21228bf4f9bd5a66548e3aef642a49cc9aab5b4b24fba";
+  sha512.doc = "fa32cd065979fcaf2105372155ae8debb399a0f930d6b85e7ca4a69d8b76bc0d7fb717ebdc8fa4c9794ea03268c2079b93e0bd6453155bf5925defb75cf05e08";
   hasRunfiles = true;
   version = ".95";
 };
 "pst-lens" = {
   stripPrefix = 0;
-  sha512.run = "0d0b241c6126e4acc51052e83d4f945aea5fefc37985f9d71c794916e09de09a1b6c287ca212abe2682438042526ed9c28c3a67ad5e4ee5ea3ba5cd6f8c3e4f7";
-  sha512.doc = "2a95118ef33bb3487dae96f08926f3ca35a9a23ade7ff2a2d917639b229400b75bccac318710fae8dc61d5cad0098258bb1d0357c67d847129632c03b5f8be98";
-  sha512.source = "5cff0f11ba55910dae063ae7bf1ef41f038e900b08b0dd406633369cba8b5741a05f4afed3dac7d371ed9609557c5b0c244cb3040154e6bcfccc7b3d32a14370";
+  sha512.run = "406bc53d476d47d464f7fb318e75a5aeac85cf4239ab916e91728f5d8c0c05a9fd4c4fbc24b4b058f1c15d1ee4c6a0d45511b8cf6b288bf10163523b2bed0f37";
+  sha512.doc = "8d29f5014e0bae5d1fb22483ca3231e3631c76820be080b3a588660f868ece861c2d816291656a45c8a33356b992cd6e2396e9d73f4ab316b877b2ed8b778f7e";
+  sha512.source = "7546475681934697c5fbe287d9d0c81c4532cfb07537ce0184addac26a3c29e4a37da5e12d9ac3e64f83436c07ccd9ca360ca276f77cefbb9c23c740b15bab65";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-light3d" = {
   stripPrefix = 0;
-  sha512.run = "7130e4626b7b793fa85a8eec4d97f4977317fbe4610cbb793003001000481d243fc304a7a0e7daf9559547b8a5a5707fa6c9c2db022346e3cf7a701ad080b9ee";
-  sha512.doc = "e848dad90b266538c9ad71c5d3a9cc892479b947120e3c35469b6ce3e22bbd4594ab544b5fc9c13f38559d1643d8f0d2cbf7f01e6f08f6d56dac7aceee875a64";
-  sha512.source = "74551e7099a63417322fa903ae0b5c69aa0d26ea97a188cf3fb7c2495d478c306ab6ee86ee4fa32046a5db3515974474039040ca20bc64f6b41ce22a82927bec";
+  sha512.run = "2bcfd2835e20302ec865667a44af8dec63c6c006c8a3e39b048464e129ef04300d0d7c2e23f324a8acee0e1ae1439e75ce642f7b76a8f1958d600546ac7c220c";
+  sha512.doc = "166f47222230e24530508e3ca66c881dcc844cb8cb35b92fdbeab164b964ebf2928df3068d79467fc8a9a8a4db81d2be48350036169605365bda116cbd86d095";
+  sha512.source = "8edab208ea567672bbfa0252fb4180abd8134702058223f04ab23c3ac92dca98f4946ffc31620b9d65376ae41c819038403ad3bd7c9162cabf8efcf7d4d57362";
   hasRunfiles = true;
   version = "0.12";
 };
 "pst-lsystem" = {
   stripPrefix = 0;
-  sha512.run = "0fcddc3bd6bbbc635f899e6dc5f04eb60305e17668779ed172516ae4cdc978f5e04f8b88af553352cb57ae7000a0e10159c71087a66bbc8218b3efba123fc656";
-  sha512.doc = "d31093ef025c7fc090fb87727b792911c28ce55f4af79353a755ebeac85467a5d89c556fd6213ec96788971c36e25bd49b96c9c8a9457177383137f750b868a3";
+  sha512.run = "0da3611c401895f508b6963c46f781863ab6b42ced2addf3413b74ff1c14daf42cdfb5c166072e18427871ed6d06c5cfe3b185f0af30cb25db2f346828ee1682";
+  sha512.doc = "0b277cd979f4a12abb57b8e6d2562b156bba74e0ca46da10da17a6bc505c6747592b5f19c5a3e9b72f99bffabcb45298663c6dca33c875c923408646c4c5f6d8";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-magneticfield" = {
   stripPrefix = 0;
-  sha512.run = "e1077abca13696b627b4c4d86518b09672024dd85467cf4233b95e61a2b9e2a612c7d388d8c8929771f8b12c7784cb57d69ea01ed3e25b00e140083b97207a06";
-  sha512.doc = "6b45a4d3be7b7c32ebd6a8fd222e3d8f4753fcf8678016a02445d395d1dd2384453d3e0f73884fe322870040383e35dbdb7cc44b825bad96cffeb252b9d2a0aa";
+  sha512.run = "cc2a45978e49d93e677f4b028afeaaf89a0ec5748f545cb575fcd339cf92e1b08d870be79d80a5cf464b29b4e51d5ac5196bfe0665408da1108abf4da4f57222";
+  sha512.doc = "cb757378708fea31eb6e644eedb62a23de45c756d0d4fbd902d40a4fd9bb8189ec1a513e5d12748ee2264bc6a35eec67a7bebb8d59128a367025a6dbc6f5551a";
   hasRunfiles = true;
   version = "1.16";
 };
 "pst-marble" = {
   stripPrefix = 0;
-  sha512.run = "ef79e078a60bce9df89eecf3fed49cfac79414434eb8f464424b9e2a34948a9c07339dbb9b5fbf5a4da7ed6181e6e3131fa0d3a34cb835bd356abba5745c478f";
-  sha512.doc = "1f62d1a211dd035cb9988c67c9ffcd523a7f9883ff211ab4ee73d78f811b2bb220061aeed1b5e1a445af346b241fe1a28b966dc298e0bb2a5fc5dedbb2855548";
+  sha512.run = "e16ea0ed61c6548d43746f251bf8581a00863370b73d46077e5510fd167d63a539ab4543f0ad7db704571b5274cc5756fb713e5182c8abea404708215a98849b";
+  sha512.doc = "5684abd4913353b7a4953ed1b5878183f1c10dcc1bdecea6f3e9e6adef7c73c7f16cdade2b5e18f4a645c203dfb15a3917740a7638c410002eab892bc5ca6acd";
   hasRunfiles = true;
-  version = "1.3a";
+  version = "1.6";
 };
 "pst-math" = {
   stripPrefix = 0;
-  sha512.run = "591a228bb7e3b9704ab79dfe10e9ead94abadf0e50e8934d6da4cbac1332e4bf3aa56e66dd0e81d001f3b888b537a1ee3376183b714172e46dc386c6e35bcba4";
-  sha512.doc = "016060452bd9456f848f268a660a6aa8e577491371bac42ad352399a8d637e7d2222e33ae6131335da7c21e7f7ce1d9c8ffe392cc03061300eb7923380e5f0d1";
+  sha512.run = "4cc671ab7b7cfac83cab929d2a0cfba81f7bb6b92d89460195fbea2875511f9ac51c1f64cfa527903f2c081201f195512443c358691930cfe8c57059e907df53";
+  sha512.doc = "76c4425e84bd67e989fa8c533dab1660c03aebb8c21dc335d26d99ce4b628aad3ff4d9769c7e1f501b4ad05b7762142910bb34a97cb92ff98a1cb637a50ebc46";
   hasRunfiles = true;
   version = "0.65";
 };
 "pst-mirror" = {
   stripPrefix = 0;
-  sha512.run = "6bf53ddbdcb2aa1a90c065fd102033d9293fdd7f8d413fb711f8e8bfc006251f5f374dfa58bdb9d33ce702c6b9a57a4b7f1e3090309ac50ca081114ed090d6a5";
-  sha512.doc = "8b2488c5c4dbe89c5dfb7b4d7a73199ac9e61db99507aad52497b4bf19e2c5b3045fdc48ce4eb9ea1897644fbab26adfb4eeb9de510a6f312e36252a440fa9e6";
+  sha512.run = "edb6796eb96047fe09833056c409527df06d63dd69e9c2b600c1301b43b6e5c858d1061e9a138c89ab47657682f9ee67995a02abfab5251356e2eb8de68f5316";
+  sha512.doc = "a9e22f2e00f67f12c69df3a6dd4377d25b8c130c4afa8c995c8961ba426f69f0c286460925c7c782a30b2a23ca5f2d4a46a5dbfaf72955952f561df2545c38b8";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-moire" = {
   stripPrefix = 0;
-  sha512.run = "16b00737839b6c82002d825feedb0192cd826c08301151e50ee39c7f38bc0757d80522ba34901ef5dbc1ec99e8563e807305d29e544d60bf18c89d64f1104c10";
-  sha512.doc = "c9ff3584cafdcf1e5b140e2db287013accddd9be0bab5ab4803b0053744082fc4423f19b5836b39031b5cb5f0a41fa85f7ddc626abd2b726f19f6598974b63de";
+  sha512.run = "7ae5693ca401b037482c4b8d7173a03b677ee1a8dc62ceccb710264b196a20240f310c26cbf9924dc2b4a9fa2869257843cfe4c87c26616a0f790ab444130a13";
+  sha512.doc = "442f2477e9eaf122249b3a06fd2755afc9e701fe4333102274de3635eee398231d422b8077764465fa42041acc6289d00b4254505b591f055c6dddd41516d0e2";
   hasRunfiles = true;
   version = "2.1";
 };
 "pst-node" = {
   stripPrefix = 0;
-  sha512.run = "9ebf3355f23fa67f2469441f77c7a58b8c15a7eb04e20de80f1a921daa2e67fb176e341d068ad3dfbfbf17e015c75f9b9e315601208e17df92ae3051eaa21bd8";
-  sha512.doc = "45eb2db40396e1dbc3c42939270071ee6091fed63f9b2f8b30da076b8feb8bfc6deeab30d5e1325a9fcc358fb28e7fc6e207e28b55a3da6244120d0973f8a288";
+  sha512.run = "b4feb98035acf2fff9cab8c21c7e408fdf20dd6f12ea5209719eac9d77db51cd907e345daba876ab0b7312bc9dc4a51be17097d3fb02f0a181c006c4385b2096";
+  sha512.doc = "2e47bab65f6077f796bf4d50cd4f5911eed2eea658701c46e47d65543697c68209aa307a5f620fedadee8ff2ba28f6ccf92dd9402bc3264616cdd3291b8673a2";
   hasRunfiles = true;
-  version = "1.41";
+  version = "1.42";
 };
 "pst-ob3d" = {
   stripPrefix = 0;
-  sha512.run = "23930d438d23141591cf02c45b22396935cd1b54f8a75bbfd8729136ae8f57951d84527d0dc4dfd701dca7ce9812643640c0c0afaa7048733d2d46564720d617";
-  sha512.doc = "8b916b99f8610121fac8dfd4413dec2c96b7be6cfb676b7a57547c66ef8dee4917a5642418f77bb47174be9ba2fa26328b80d09af5da726430197b96c4f215fb";
-  sha512.source = "a6a0c47dc4938d1a461952cbe0559d25895e04c90915b6b13e8c3133b160c913d7601b397e2d4e1fcbb376b2c119bb7cebcc2ebd3890cfb81e8bdc9b9ca4a4c5";
+  sha512.run = "1b4eb87fd2c9c63edd4d7388b32c5e6a8f4d6ecc87b9c1129540398c607bdcd258b4f182710ff12d6a7a5e8b8f34c6686203d5c0ff9a60a1a6e462ccb3b382d6";
+  sha512.doc = "f934cc75f6d2e6f80bddeda8d2226e6ba0aa6749adef4f08b83036a67f1b8406d1fff61a01862eecf48ec6e3ce76af2ff7967db67a294956fce50d3c7497bf00";
+  sha512.source = "4dc8b724abb5a48518edb8f0d39152fe99fb2ec78c59fb8729f151865b9fe50105cf4c3027361d4e6a75cceba99a7e399d7e522aba70f27d4e4816037e87e509";
   hasRunfiles = true;
   version = "0.21";
 };
 "pst-ode" = {
   stripPrefix = 0;
-  sha512.run = "746c5be1c6bc928222c2e97851ce43cfc7420587adc0590836a696ca0f08baaaca53319a3aeb4a836eaf430c1e90bfd04f9318137f2ad9a071050d25ee9a51df";
-  sha512.doc = "5a0beea3a720b1e3401ad90f8a33b0720ce162876e377f827a4eb70e882c616fe01b7bb5c31bb8080aaf42edca5a5db1ce5f22e3bc7705f5a6d63ecf74e12ff2";
+  sha512.run = "eb00fab8b3932a868526aad8c1623ac7939d45a26b83374779f4eb3d25807ff58a5a75ce31adb84af650939d7e6957336f44d8f7a15de33262ee7b69c70fb002";
+  sha512.doc = "5da26468c9426f614080513d9dd031bab06fdba87a899be28e09a21c7de75b50c4dbf00ebb569bfa63293bb7881fbdaef76f6bddac5a7e8084796fbec2e7ddf4";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.13";
 };
 "pst-optexp" = {
   stripPrefix = 0;
-  sha512.run = "98016815e185ee2ededb6abdd70f476a268bfcaba98208b7037f013d6a28a2fe18179a8d461910a50dcdac7a2d13df72b78d4f39e884b751962c53774a42d283";
-  sha512.doc = "1aab4ee03b8c109c0fa92b4fb9b5391576fc91ca3e12e02b76f3762035abbc80bb0044d572532ff1f4b7a1f3325de330d6066d8fb1ae8d3d6c2b9fc46475832d";
-  sha512.source = "c7e7d135d47f880950b2b8dc802bad8b7b8908ddc858f0158621d0b8c654453519aa0c7deef75afac5a8f53746784a37c27aa1b2e72aad099ae93b4929f23e10";
+  sha512.run = "7d171906d8fc840c8003e82b3ac175360dab625172b389c6205371bb432e280195c2daf53671d8ff2ab43d24233ab2c8bd3002b8d4489c7395533148bb40e939";
+  sha512.doc = "f9c5f7bb43f9171b53a10941db9baf3f7e7b8e50620679f176a14b0b384a8a79118361e0e7afc2a8c44a2e9916313da6321cc5a08ceff5adfa4a678e35fdce46";
+  sha512.source = "ae5d01a591bdfb8128957bc992c07c7e609c4a2e2b8a1c43e30960f85774d5fd56702eec761430f26c3ead975144bf196c397233decff205071afe60be0b948b";
   hasRunfiles = true;
   version = "5.2";
 };
 "pst-optic" = {
   stripPrefix = 0;
-  sha512.run = "557d2a0db4731adeea0395f68a65989f5edd558f8b0ba00e1d7a43774e3c6e128f80df5977a4419f4362a96594933bda7f81b3a275653d3984dfdd25df5008a1";
-  sha512.doc = "3ae2d15d4d0daaa350014923fa1c273e18c9454996220dc022e3770312f364ad64e822114e93a805b134f2ed1e6a970c058a53edbec640b3e06b933b41d32f27";
+  sha512.run = "c9e0231301824a612c755adbf2789f9cc428bbc6133a5669d173ff1426663f704aa978c506add7e4a0c786b51ed61df355f59e7b6392f355ac6913c6f9336f46";
+  sha512.doc = "cba9465a3e81060bae7ab4b8d7c8a1ef804415a3f85c0a89c98d57c6a3e8ff2c58a40b91e9c6281ac520be5b03f13d1890d8cce063a892a84d6eee5f6beeb625";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-osci" = {
   stripPrefix = 0;
-  sha512.run = "6f3188639903d41ae04591886a5554706df11e5fd3fbe9a9907ac22182a2fe8bcf2303d652ccfeb19bb310af66075c4a5d94c47290ef9ca74eb80dd6209ad010";
-  sha512.doc = "55704231e3d99f1d41e89296023945d57d9a06d2d7a81242910c7fbf5426d44c471baa929308146a80ed824146fecdcfcadbc5ca31130d89565eaca1fbd2b69e";
+  sha512.run = "d36d987ca50c50c0840660070dd7eefd4ff49f4e86b1a6f33bb9e549a1468f4992a7eff6de56307e5d5bf4e8063534cf4f658df8e98571a1d86fde3555a67e08";
+  sha512.doc = "80d99115c7c3fdcafef8f4be99b3066799cb40571e219158abb48de0ba405a0c977d0158c20e2b550895d1e63580bc7366338fbbbe7add2c3a89abf618583ecc";
   hasRunfiles = true;
   version = "2.82";
 };
 "pst-ovl" = {
   stripPrefix = 0;
-  sha512.run = "6b1ab074412f058d0918174b94f746b01591843a19632b0ef0de3a3b4c990441474fe95a29e774c93d32b7229dab78fad1c81783026f839466c9c1d74be49bb6";
-  sha512.doc = "a5816b91e3e0e094e734eaa3d972d8ea5967580cb3849bed6178dd892b0dd12a896f9147cafa6c1c477f94239df1af81b55ace9b193980e49028cc7161ed7e64";
+  sha512.run = "2777d0d3011ba4ba911dbed78bb3ab29eb54bf392a9aaf73707f17e5fd9ccded0198d0b42bbdbc6879b2f07ba84ccf9d121748e3f0d3f931a8fb6b6e2a904b8a";
+  sha512.doc = "9b7057b4316adf9f0fa30561c658f309cfc1be757c0eebfb63bb5cb94dc9b8b6cff502f056f9e1d64b207cdd154c0ec64b13c51639ae46377c4d58d51aa00725";
   hasRunfiles = true;
   version = "0.07a";
 };
 "pst-pad" = {
   stripPrefix = 0;
-  sha512.run = "81670343167d716927954061016cad8e239c9fd3cec313fc5238da30cd3f93a9495d662afae7df6aead69853dad0942477adaec2e6ed9c6737a1eadaeb32893f";
-  sha512.doc = "572d5d79d08602a9e085e8c796fa332101a683b7328757d77e3ca56c949015e025068d372349ed07a884042f75c2183d8186317600996a5224ab360b6ab6cccc";
-  sha512.source = "98841a9942326e96898b7fc0c318d83b12aec22aa345852c5f978f80368a109563246e173c8ba1252d5a0861c197fff1693b6cdfbbdcad7ca52adac1dc592b5a";
+  sha512.run = "cf519f69dfd1003ab17a4a67f309336442bf35497cd0102e346ab8537865540c314666fbf01cf6e3e106ce922fd8922ac4bbb5b20ee90a7ce24a7a98ee974006";
+  sha512.doc = "0a2206d3ef84dce88d3e0ea7899fb623d12f7f6a820298b031ff76044eb9ec49bb09f70f6ee0b00018fcc02f6260d67ee58c8a06a48ddbfd2e5b17f52d374830";
+  sha512.source = "ffd5ef230c25a731e5127cda390b60fdc275d53a833f8fd02ef8fda7b959d7ef5e2074637af603f1e510cd558cb3de22245bc34f91bb7114269425d3b4db211f";
   hasRunfiles = true;
   version = "0.3b";
 };
 "pst-pdf" = {
-  sha512.run = "c9a079b3f0b01daae0cf2fa554fb939ffcd585e83acf22eb04c259de986aab0cd4a17f88f96696d742eea0c84c65c3e32ee5c9f4aba4f22908f83c81e2b1cc3a";
-  sha512.doc = "1fd832b8f27eba2cf3cb8af6709b9171f7da25a6ea6df22dd65727df8b28ed073d3d57baa88d6b585514b3c617a405f73234114fd66b07e35b8322cf03a89d7f";
-  sha512.source = "5e54c108e6181c5ee92dbd35f220607aa98b596fe35811d5d88fe0cabc68fcca217e6d6b2e2586defd07d116400823bf0804474b70c2270560c5396a5e39f7c2";
+  sha512.run = "537812f3811e9a62a2c9667438ea380c3219b1cd8a96ae2225e0ded063f1f1ad572a699d4f9d5d11f2c667fc560d94f17b275293198c5eb4035dcc3d3cb92242";
+  sha512.doc = "bd6e6b3c7ee31cafb5c6f6064abb6b6f4a197c10f4ea184fe028fab874a1a5b6bbf39719a1a620fcc9fec23e52ea15c6abfd4b66f79c788755f1ba8eb65ef778";
+  sha512.source = "ac181daad359ca790224fd0bc2eb560ca59312ec6330ff64c8e9af3cf58aef1f6c2ccc3310ffa9bcd2ccf36657d0675b8c926c859ecb6cbb3f5382257ab6ec85";
   hasRunfiles = true;
   version = "1.2d";
 };
 "pst-pdgr" = {
   stripPrefix = 0;
-  sha512.run = "d59221926220e46ba52d1156497afb7690184dd9cfa09e9f2cd62902d67743d9ff6ec976f50fccc50090eb96dfa5e4233e8baaa67b2176b202216d0e921af3dc";
-  sha512.doc = "0d7ca6afd872e04aba4049ce242e2bde6e34ffd5bc71c4fd6dc683f2e8210f372ddb817758e6cddc001930450f3ac80f9af7db0d6839d95ec1c56d2a67987bd7";
-  sha512.source = "4b5c15f28e408c1e7ce80608b3838d42f1b3c12f8c1c1b6865f9053c299441f146a90830e5602aed290d0c15b2ea4e86fda76a74cdbfeab493ad9c7ff8594d52";
+  sha512.run = "c42b723e2739eb3a70f7a984d45b6b738a1dab1f4f3bb7311850c344be736fbc97ababb6f744539deddc7d1cbde47830e81d1bfd42f705a7287b1fb970664823";
+  sha512.doc = "006395a2e1caebf8c86f4eb41eeb03a35d47b82e65e18ce4045eb22f93bc78a38f7611a1328216712d29be852fa3431876254f3b41b8b7a2a7c453f32a8e1bf7";
+  sha512.source = "e576ffab3eb1b0094bf7514ea996146c1d73abc5f68a47f3cdccf5e7fe7eec133a21511e9d1107ef20541750b12766899bd3c925e09be931b1e0e2a1cee376d9";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-perspective" = {
   stripPrefix = 0;
-  sha512.run = "6787f0d3a5c27d4590967bfa3b185248b78d2956926d1e1a747036de73a4ead131f27f6367ceb31254ae094cfcff4eb365c3771b79d5aa5f121ee3ec0d24a299";
-  sha512.doc = "75589c263d16543ac02259af53c47f1fe1ed51eeec0ff1ad8fd713727d8d317b900f58b7835cecc750eda7edac9b8568932dfae7477ad8f735b502d905fa1b21";
+  sha512.run = "b1c6c1313e0f87d7c4dbc7122d09777f14f02ad0908c6151fb5da905d908a9ca2d905c5a9e3fb1e54deb0b7b91dda1488de0b96ff40683488947985d68e2d331";
+  sha512.doc = "df82bc95d3720f7da3c23736d83fbaeae5132f7b84aea9f2fd8ddf925f919e5d56f6701bf5b541446c024e8d2f6a5875d562d96cdb1564dae92d6ade759671cc";
   hasRunfiles = true;
   version = "1.05";
 };
 "pst-platon" = {
   stripPrefix = 0;
-  sha512.run = "655cf06fb8edae714903cae3f8eb250e3fce466b98ecc6ddc4635c0f420923385e8a94750b84f906606b6ab5a43984bc0618faeedb3aa8cd121a764668a825f6";
-  sha512.doc = "46297eafbdcc006f514fc435c883658baf9a67217fd995d9c70dd1e116d538f0a46d895cd95734bc24fe1c01ac392cc5e134617134b52c6a11ff4919681a97ee";
-  sha512.source = "e453ab72984f6e47995d5ee1d058ffe7bfd10747ef46df1830094179f1cf0624ad3e45406006e467eb351ec0469d6de578c2a0074f40169ae07c36d0bf039914";
+  sha512.run = "8eade14982b0ffa2c5e7d5c68a91d4159ee6f3317b20836c3f470ed68940a522459bdce54b1e1dd4068173e50b0c611531d1210b1651d805602f952a1696626c";
+  sha512.doc = "7c252b535853c4941fc4cdbe504a3c20ece2c04dd15e2bc5ea0c88928b5fdd7063035c329dccb7ed04d71606e70f632fc1d66847dd35ea46a4626c04070974be";
+  sha512.source = "092665b806f358201f0dc1b0010796c2090b84cf31d1f0e9e33d2ce370049f0e7f65ebac23cf9841f770df8c61c22bdea60e583474694311c7e3fb4fd71ced6f";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-plot" = {
   stripPrefix = 0;
-  sha512.run = "ff00ab5b21fe44fbe08447ba9861fb9f9754ae8132856e2e9bd15b2d4b464db8fd88c262f658b337ee181f9b3e7b64ad5bdf8950ea940ba5eb928d03a0ecad07";
-  sha512.doc = "6ac79e74d9a14544439993d3268d7959eb6ae55a90d8b3b91066d3be0c424d373edddccbe444e9cf261171fd6a57a0139f3bc6a6495a0fd4f196dd8f95e47e29";
+  sha512.run = "58b2d0bec5abad6a4f1c2467badd6ca7cccbfdbbdd0a838493aceeb37f478f4500fc95463176fcc97e34111249512d50215a319b01a847d863d54bcfcf5e73a7";
+  sha512.doc = "748945b66f21c63a160b793720ba5bd9243c73602e68e43ff72a5f52ccb4004de186e648ad0e5b5e883c3772197eb2a36ca0cab046f8313a7ed8ecad522fd761";
   hasRunfiles = true;
-  version = "1.91";
+  version = "1.92";
 };
 "pst-poker" = {
   stripPrefix = 0;
-  sha512.run = "893265f9a0dea9a4a473de5480be0592b6acd528fa2ce605e7a21051305b934188e49fe16cb6c71484e73e256035a28c6fa4fc90884686580a9bd398282e3f5d";
-  sha512.doc = "6adbb5f467e5bb98ecd708c85f4a2d3f20d385d0ec0795a823b326c2dc33f1a74b1ff388f22f77a4b426f22404dd7a0f5fbf6b6258075816b6422cc4adc45da7";
+  sha512.run = "df340b3087babccfdd371446582dd33a744af8d16a6c53939cbe0e2366c11d51de3ebe095e130dddfbcb8d062c71134679fdea8d8821818e61e4f18b1e63159b";
+  sha512.doc = "06eaab1e95de879d3de35017a3a185525375afd360ad6890b279950eda7d35599cbebd6580a31e7f0180c74266ac02d00ede982ef776eb4645b0da8966fd7708";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-poly" = {
   stripPrefix = 0;
-  sha512.run = "7f2dd39967b550dd4b5394b27a5a85919a04b71564178464dabada5ca9ccf9d4f04b88349f0a1f2af98df20f12a0f3c57571fa087cfd440989ceeaaa025621bd";
-  sha512.doc = "059a35c1d279453f9d9127ea9fde4c88ef744f4f87975c51084e12f73c5a376af33e097bf11d68f9827295d195174cb43cff55995954e8989b81486f13edb880";
+  sha512.run = "badd0fcc2b439ba270d5375703f91df9009fb7eae920915eab8757185da0c6665c34d530d9b4d8bf469767dd79ee834ded104a0fd98243a1e8a17cda47be0f79";
+  sha512.doc = "0facae2d565a22853a6e455534065f5954571311898e0850fcee7b18909f1cd0fe06b116138faedda6767d8514d44f7d843c13985f8723ccb8ec03a81bbaa46a";
   hasRunfiles = true;
   version = "1.63";
 };
 "pst-pulley" = {
   stripPrefix = 0;
-  sha512.run = "35c4a8f47c5053c93717f972dd0ef321fe6b37f84b8b6fb67141f3362e93aa87b7ca4cbb288781498da8a2b5f518ca61a45935ec1c9ae8417f90c96e7aec1361";
-  sha512.doc = "38890ad43db8dd161383d3c926d60b6ee393a4813a88c765463e1dc07232355193f36eba861d35d356b858ba18a43e63516d9a738d4452f7f8e0a2908ff81f6f";
+  sha512.run = "4253283884b3cc36801dd7d462655d3cccbdaa70af0219765a3225c8b928e49cf0964d4db4728ef01e06ed33865facc46bd767f4d1cdbddfbaf0213e4ead012e";
+  sha512.doc = "28a4654d2219e056ab1a53bc0fbb60feb919b3dc26b1e542b561cdb6d3f0b1abd050afdaa99a9ba5b374462cc451c1681622f6c6c3f6aef26738a36a845648a2";
   hasRunfiles = true;
   version = "0.02";
 };
 "pst-qtree" = {
   stripPrefix = 0;
-  sha512.run = "5982a5e5c1b2e380747d73768ac65dbf3ad89d7ef5e68533ebc6f953da76d730eeb6067869035e668b9fa2b35f20a5328b3f2d79fc920f17f47fba3a2dd37a9e";
-  sha512.doc = "d4d165b271578cbf36acd936752ac8c8502a28c035aef83f429b17b77735124861c7356d41f497741764699523b078cc1015a7a4d53cba2f905b5522ee985edd";
+  sha512.run = "5bbb7fdd477850e4e6c2bc395665c50668a427cbe176122d160fdfc2aa2f322ed83ec43929dd185fa1dec439bec3f5de719aa8d640d0bc498aa7ac9f9089cd5b";
+  sha512.doc = "4a0bba9fa7072e5860403c3b22a23947045106fd4b89781af848d17afbc5ac456c77617979ebcb80afe07620ab8b990e868c688301c4637804d32790fa4bd7f4";
   hasRunfiles = true;
 };
 "pst-rputover" = {
   stripPrefix = 0;
-  sha512.run = "ce8c5cdaefbf9c36079c8f572059ba5e997a46fb653bb7463f4044bc7ca7e5b14a3c17f21abac64dd638a76ee9fcbfd5cd27f804a7366ff73054f9f139752b95";
-  sha512.doc = "a95a3780518286d8926d86b7bf1d07006705191e7393f268b09c5c36e9388ca88f1cdabb2559228a1e8f0371a8c1ff3745c89fa1ff6efeab19a8dfbbc3dd55ad";
+  sha512.run = "3bd94d3a37fc8bbabba547a0072618c6e2bd2f6052f95cd4dd8cb973f64c4e97d0c7ef72fbe425df032aacbb8cb109b0eb06ee304b725ddcda6489da2c893934";
+  sha512.doc = "16bc8c2500c19cdaeb701da98e4de0ffdc13116a0ed5802beae395e9664ee16acc6341db7d2c3ea7b2a16b0afac35503cd5a53e1ce1fbd67598be4c890b317d9";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-rubans" = {
   stripPrefix = 0;
-  sha512.run = "178d33d30fec6ddc19e0e82a7ff123a76750113e5c0ab3cd813ebd0768c454cd11042b82c9a597da5cbf7cb912398c0e6755624c7adda72327dec1815a524fb7";
-  sha512.doc = "62f90f38b6ec29f4db2174da6514e472ca8fa5e6c0f27e2713ec6327a21c69e98a0d965b48219de27a15e8adc9a0a8fe334647a40d969ad057b20aab8b6a2a12";
-  sha512.source = "4a665e659ce748716093b2b7a13adf4a1cf0b4f40a876480206d3b444607150de3d7f75fded868bb29c9f7b44a32037cb1d51765d50011401063eac403759f6b";
+  sha512.run = "360f1a04170358b976bc8b6d4d4ee138398f6b018b5611811fc41d90475c474e89fed214708d11b47bdb58cfcf983b37c3338c4d5b13b13825f3388d1562372b";
+  sha512.doc = "086f80c0b99a0043769b159b6f52de125f01e6c3b00189b0924c62961b934121b09a2f1634fdeef737b2fc468c392051f8b117e1de5d7e6d223e79ff443c2cae";
+  sha512.source = "f62e689c044a0600f4e303251329033e705f3d08b025214af34cc85488f347324d552594a321f88ecf91845b5db5011875436ba9fdb819dbe038dbbe012c4676";
   hasRunfiles = true;
   version = "1.2";
 };
 "pst-shell" = {
   stripPrefix = 0;
-  sha512.run = "4c4dfa130a66a4ef97f427b803f9dfddabbd91fbf053d3ab6fb731a104b7eaba26df4696b8c4b325c87a34181f014af8987ce19560e140131fe4912a81541be6";
-  sha512.doc = "cfa47d2a93091ffbef791a3a3184ebcd507d90e84b057283c766b0d506b9383f07363bf0403d601c7ee90c3e59a402a999aad4341a9b28634a3708f94b74e547";
-  sha512.source = "fca5297656172e7ece0d9c3e5b8d6c50eff07e13e3deb0e9bb1b04a2017c3a0cff26fa62d38ac3f33ed3829df787828829c9e542e8c4c96c2468955b750d32af";
+  sha512.run = "d91fc81c2140e0ff4aae4e190b4816887f0c068df42022b6b6545adec400920a69e81bca1373efae4249a95cfb1b7f6b712497d72510aec79954feb7a1ec07d2";
+  sha512.doc = "a788f994d6003ca6a650cbe042b57a712fb91da2146b21fe3023b464487e5a56699a2aeea56be77aa26919f6c1fcaca6d49bd3ea33ccd2fd7a06e5f95a917803";
+  sha512.source = "0a5173dcb9d58eca24cae2c385db9f0225bd5feca124a3f86e3f4991a689c6bf897b48ee2c756746e337a7aa6ec7758b3d54c90f7895b841fd88c3c74eb6bdbb";
   hasRunfiles = true;
   version = "0.03";
 };
 "pst-sigsys" = {
   stripPrefix = 0;
-  sha512.run = "fe02df794ab22277261ffe4dd98c4dc039a2ad07b550dc1cbe586db337f44492d80f146decd102422e55124ffe38a06ff084a4d4ebe54828df1c60ad20db4292";
-  sha512.doc = "8b864efae0b9d711fe889e64821605d3a90ba5b98ce742cf40bc6ae9cf942cee19fcb155a1e45903f14bff4d969c33097fd289283d58c5f5379f9fa7155ef2e5";
+  sha512.run = "db3d3dd31c4166a132a174cc9b2a86fb226496c663c1ba95b36f6590e18799c5eb4e8587ccc3db5de0d3833729ffa90080cf037519b2a7ba24c70fe381aedad9";
+  sha512.doc = "ae2869eaa649898daf057875d28fef1be5f20caf0b7385ba7723e9be51e534cc69b953bba8ad4fa6d04a0d67f85659c82ec08043ba760279a6759c20a2c27d0f";
   hasRunfiles = true;
   version = "1.4";
 };
 "pst-slpe" = {
   stripPrefix = 0;
-  sha512.run = "a7c95aa3e0b3df061146e335b00d7fc129da3af3e616caa21c9f7434d527f668d03d72323cb66b3e2cf78e7af967d022572818de7c511c9e728d1fca190b70e7";
-  sha512.doc = "b9aa1a8388bcb915f1c072073329a3b8014195f05e76cc366a542b428e7d361596870d9c562d7973402c4f3e710ea67aaff1a4cda618c9d6db312fe358a9a0b3";
-  sha512.source = "de0a4d9815f5bcf3865fdf71f23204cdda35ed7086572380a5174fb8d355c8b2aa37e2ae7ff42f90a50878ebc24541e3323026e6dfd0182807f38be14bec878d";
+  sha512.run = "43905d7525acca6d10261e169a1c1ec1ee0cf0d4b7fcd05643dea3f705331588d774649ad5ca560111269025e92a1e91796693c5246e4d2b2816dd33d4eed87b";
+  sha512.doc = "377a89c5dcc49e587e3e2d2e1221c289da9dc6b3cc0565bd182d0ec356835309c12eecf68680ac4083c906701365de0068608ee1e49ea9fb95c866a188931a67";
+  sha512.source = "f8579912fb5477394f8eb150de776b9a15dad8f67b821a073748910388e06c70b23163fdabe260d55216add2924879f5380915c5d3ebbb21f0da3c65c6f82f73";
   hasRunfiles = true;
   version = "1.31";
 };
 "pst-solarsystem" = {
   stripPrefix = 0;
-  sha512.run = "81c0530f53de54f2918dea06f1249d37e05d28846ef42fbee30e04269ba6dfb9b1e1208615fc1bffa6d1398af75128aa23edda6cd1b0c3fd7be19c109003ffb4";
-  sha512.doc = "fac0b481c81e2a7c460e840ef4b77eb31956ab80b879ba137bd3ad9d82a0be061c674e130616c59b31e4915e01359c3213b9f58445218cb11f1b765e85d1ed53";
+  sha512.run = "48c38ec076b20b28aef50c207a77069cf5053a209f4ddcb3adb5a8e01f2b6510abb388075c7e5c90b6b48ecdf6f92764836dd58fb51181e28afbbe6d47600abd";
+  sha512.doc = "581e73c180e455adb09453c7f535de5a3f540c3d8046ea0a1667f9f13390cf63297b9073ef66d93f4c6b2aadffad3de24000a49cbbbe374bb7af75402fb6bef1";
   hasRunfiles = true;
   version = "0.13";
 };
 "pst-solides3d" = {
   stripPrefix = 0;
-  sha512.run = "3acddf74e0c32528885c95ed1f3bb2ec1d8bb853d98a2be264d4377e7e5aae464c1e0281d6f9ac4c422564893f7a0be29557ac5f7fb0ab69620b470ca2be8c8a";
-  sha512.doc = "4ad946a196a48c6fa320dd5d4997cde075eb332ad0d7a7b51619e63a894274213f0f520bf9144d2df7e87659c7588c66384387278b1e3fe45464175974c9c0d3";
+  sha512.run = "7e725978c030da337d882e05069b749a4398b1a1c479a50db34fc63801cb77b78630e2d1dfd0c3a39aeab3e931236dad91b6c722c4d6e06dcfd867f007ce99f6";
+  sha512.doc = "a00138b042c58700438cfb3f094f836b029d31ee3de40ed290d3f5475a31cb3fc949c13402c35d088dd1cacf13c66bcee934a0ad59e97ceee5ce9db1f99e7c4d";
   hasRunfiles = true;
   version = "4.34a";
 };
 "pst-soroban" = {
   stripPrefix = 0;
-  sha512.run = "d68e1edb82bc68fef190b4db7fe0d97424bb5efbf6cfbdff287cf4c7eece44965ecab28817cf497f53545451e04951c3719d5758a54bdf3a8968187c2a55d8ea";
-  sha512.doc = "8055b92dc7bf073cf453eac72d2a90bfeb018a882da9cf145c949d1eaea24147b49d3b402443ee635f05166e9eca70ff550e38ba7e95e22a7c5852288f549765";
-  sha512.source = "c76f32794867ce9cb1067198bde8072628d106a9f86ec2cf4c4f4409fc407391ac63e4e9d3106b51195e9cb9650688986edd8a443faab8457790b7066112f2f1";
+  sha512.run = "c21d3f0e19c4cfcf79563e23e760178de6e39f1f42147f534946fef315c0514968548b30d24eb345f4f2c5cb7807fef4f0d45d8e345e9523806ce1e054d8cf11";
+  sha512.doc = "b7c1422ac43df949426581f7dbe749300093ce2d20145df768e21e893b9d2c419ffa8ab16c60fa509f09317bee4c7f80bed4920b92a5f9f2e9289eb93cec5eec";
+  sha512.source = "49fb276ae7277b1508ecdcc3132d103e26204f314f8779a556335e1875dd5c3c6768b6b152264ba5643d2c39eb275f7ef193ecb6a292135abba2d60be508d654";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-spectra" = {
   stripPrefix = 0;
-  sha512.run = "e13ed3972b579274aaee6b4f9b7de5f296a96c4438050e83f683c5154b9b2577feb86d222063a9315c1d1e600679ec97994f3f74e4fc48d1bbe48e315bb5de50";
-  sha512.doc = "5f55b77868ebe979c1290f360e0c6e4402a8bfb73014106e8d5764d037e028ac4a3846a8833cfbb40712cc7ca7451e74ffef4369d42a24681c9ccb50932207ca";
+  sha512.run = "325e4f07e9c2788d571c6105e1fdc3a097881d1b472b038c365c65a84a4e69e15866750720b2c86f5b20e00fc3a054f619e79b6564fc3712194a1a5d05edf248";
+  sha512.doc = "f3655f399c4986b122253c4849bcb15d0ea4d2390b0ec3b8328d8255e5e2d44481198d63c6ad9dc10365095414267285ff02a944c1bf5bfd8c458d1a7cd5a0c5";
   hasRunfiles = true;
   version = "0.91";
 };
 "pst-spinner" = {
   stripPrefix = 0;
-  sha512.run = "1a344d248b4f3e0e394c149159f47a271df7a8f3b168477909b87080557fa6ce7a0760843f8579c3a18a04d32fea4a92b1cd8f20f87ae01680779aff67d7c82e";
-  sha512.doc = "841e76e46dac07678d571b6c5126c7d9e8919eedd1b8719739d83f2db6f206eca7694813f5394beba71dea3699fbeb213c9357bcaf5fb8680e6b5d0502b82a84";
+  sha512.run = "7014c371182a354d11bc76c60bab01321d60af9559098a353c3e7a5a88d2e251f9362a24872b60d2214450ad3d423f3868d219bf109f0524a6431db17ce1c881";
+  sha512.doc = "90ac8da08b1be6dbf3bf126ed49279fd0f593a586a3bb7e58b89f9b9da361637ab4c9aa133ee2f798b7d49c420a4765cf2fd9936410d37ac955d661196f1dffe";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-spirograph" = {
   stripPrefix = 0;
-  sha512.run = "8ae7896243a520926d13c57a23a599f489807fa8cb3163a07c853985add1b89516eed28f258e2d0abc3fb4ec5c3a1341e2698046fce1b8bcbed0fa1e85c1a758";
-  sha512.doc = "eaa5cba617352902de3a19a736d55333d520d8758ff8df86793960376c2c229e3354510462ae0683713d7fd9405fa1ec71c8d688c022f2017d900717c6097178";
+  sha512.run = "701964d1fad3d757fab421a9458c5983e11628d965ddabc2dfaec0259b829ed96f699a2361043c1f08024538b10d9b0ad36e921b704543288da5c5d5cb6e58fa";
+  sha512.doc = "2b3a0bafb00c64d1ce883995f983b626390ad73492bb96ace3d2cc5df05e91bfb6f74d96269644b99f56ba0a670a94dbedab663c3dc3bff3e099d141185ae331";
   hasRunfiles = true;
   version = "0.41";
 };
 "pst-stru" = {
   stripPrefix = 0;
-  sha512.run = "aa0e2ebb7f54b3dc6c1c6f53e4f74baa52963ec2f26bfab78c41178b7a6dfd656596bb2ccf11cf2f8a38b3b553d9a9675c1ec1db4db82f3f07daa4267dd20004";
-  sha512.doc = "0a1aae1e801b841929fdc514d98e2a244cd0ff92b63069b3e297c1e4c879f51a72d0e694eba5b83f767b3be204f1042ba5f064900ecb055c5f6d53b0795bc529";
+  sha512.run = "bc0961c1f9afb68f66c4af9aa9d37cd8cc7c6047f55920d12cfb14a18b2c2288c8468c8d9f0e21eb7e395eaa884f0216b37a6fa947fb2c5ef51d57996ba8bb5f";
+  sha512.doc = "b9352eb01e9d80049a474e0b5a513bb8835be16af4226b4f4269d9a94d64b81a842e640ab316f066595b0b6053080042deac4b0cce1bbc602ea0e029f7809cd3";
   hasRunfiles = true;
   version = "0.13";
 };
 "pst-support" = {
   stripPrefix = 0;
-  sha512.run = "47b25cd0fd2662e7a6c5317ad060cc31fde5645326f8273e25f7fece1c6df5562c934f6f2ec10e3a3a695f3b0358706793c02f1e1a58ba461b7b6df31b495aa1";
-  sha512.doc = "15682b391f3eb970f6fe23390cbfe2c72f975b1e7dcc8a5d200784131d90bbc5839c14f36d059023c772c8d62aba336e4459e5b1c82a968ae3cdc032a8be93f2";
+  sha512.run = "05ddd6f09d603a2a6887f03aa3da0374ad061e2ab52ad25f0036192179f985f3695b0248c602607172c94c55cd9d2bb453e8f145d73f133bf79a881ccb1daacc";
+  sha512.doc = "ab2adb2c06d4f7f4b4a4fbfec59e1fc8d6b9f4ccff5aacc29f0a1524759fc1f0792640e8cc301e614477ad45261bbedb3ede93de2463e0a655aeff846561c185";
 };
 "pst-text" = {
   stripPrefix = 0;
-  sha512.run = "550e9aea735fc096beae11fcff3ab49a65e0eb40dd3f1dc79e36e5d0d124447bd49f79095e53681f4f504eeea07f7477b07637a307853ed9414984a1022df663";
-  sha512.doc = "e6aa52974e814d295437159075742f1f4a64fde16c816a9455a4c968b8529f5879bcb3c06707222eb695ca5a82dad1df72bcb96a3249a8982ad58ae579af0bcc";
+  sha512.run = "6cf40d3dffb7803959a187f6a19b137b824d46ea73bd31430e983abec0b828d49c6d404287382242ad224e2f51feae74b3bee374443e9f421ae70d1ea2c0c3b6";
+  sha512.doc = "87f213f037227c05ceefbcee7ab8a316b88ee6f9ddc366c40cfa7676a714ec6802f3781db8357224769216241feb9171668184534572ebe5c5776c1553c1b62d";
   hasRunfiles = true;
   version = "1.02";
 };
 "pst-thick" = {
   stripPrefix = 0;
-  sha512.run = "ebe6b2ef7c537501314a1afa1ffd9d5bff65a8cedadf1f6239b408e19d976b1f8acef0971ee9cba967e807601bce41354f69118f6899207eb051a321aaaa8de6";
-  sha512.doc = "13fe9352c9297628cc6e7e90c828bfe4b1c1aca4d65af4b944d332d74d29625590d22466d31ba7d7f3e7fb6eadcd56a58f819ceb316161eeef5edb045a86c0f4";
-  sha512.source = "01d4b55db39de424fa050874132d45181c9c0039c46abdffef1eeabf290ffdc875ba0bb31e5b029cac2bff081d22e96b0d5cbffdf956feca2c3c2605d17e0b37";
+  sha512.run = "5eab2dfdad0c9fad21cbb7d4484f9701bd48b225e881e0c86a2418afa143582aef160bbf4cc9f5a773aea97d2c12c7f614f41fd87f0ff2952c27ddac91f75905";
+  sha512.doc = "5d75bab3e4b5c18a14e7348dd97a3f7e0895a2b44111a72d87ff8ce7c7c0499062f61b4ff38b2d36b0632719fd58a33c91f077edc269d74fa58281a83752e9d7";
+  sha512.source = "c3cbd54dab4d8e71a2d6e9f94cffb1dc0576344032d3af01c21a4ef0f493c5b886fe6f99e7361f4ca0c9b2e01e68e61e0f8e74b5f511cd1680b20eb01a068030";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-tools" = {
   stripPrefix = 0;
-  sha512.run = "d367cacb564d056c57af71f07467737bac73a1f0e41b443a9a76eea5d2cc34d15e91a47cce8cb53a68159f87677707929cb862fdef06cd7354a4dd253154e41c";
-  sha512.doc = "4e976c9101a25f6c20a5a60b4df88bb5104c124501cd7188df1159f405b06fb638259738c3ed4ff75e0aa11dbbc67743459ddfc1bb496998796918084b833582";
+  sha512.run = "9803ddb2afe664c53c1bede5d3444dbb4adaebe07c3a3d5b06cf7e0775593c13e6af5803584fb8b9afb12768fdb382b8603b0024fae40bbecabbfa720d87c4ee";
+  sha512.doc = "48b440cd10fce6da42173d90e2e7ca1454cfb6ddf556836ecfba98729de441f6521e7fed0b95bd20a570c06c3b1baaee285b52ed121d4c16679ca6530b8b5ae7";
   hasRunfiles = true;
   version = "0.09b";
 };
 "pst-tree" = {
   stripPrefix = 0;
-  sha512.run = "7ac131959b9879902cec299e5afb22fb7c52e5b0ed15056b13ec6f34eaa71449306f1f1ac3d4b6552d491b8e02e57cf1e09d3d204ee38fbfdf6aab709d6b4b8f";
-  sha512.doc = "2b951ec9ddee3211d447334e39112e3f689269925a9932eb3fb9c53d4d7c185c34186edd440081296b53377382fab77d77ea5d012ccdf8701285ef555061edb6";
+  sha512.run = "1148e0e571d68d8c95c0049313b244a6d6d77bf24a453121fd462a11e51d51aa21cd7eb66e9bb7c936fa90bc888912385814ce347cf911563206f520d2bb1850";
+  sha512.doc = "d68059216626bbd3a33ec6bed2e6d2f0f78db2da3ae56cf947367608033a156126685bb0d162f95fbe7150c950c3d5d20de01fd0ab9b6bf77bcb2cba31bfebdd";
   hasRunfiles = true;
   version = "1.13";
 };
+"pst-turtle" = {
+  stripPrefix = 0;
+  sha512.run = "df30018ed03f10edbb9e215879f041ed6eb0db48cf0e7e2b5128cd3339d1005ef074aa0631c84bcfd2c8f9c1a1a69a26cac36248f3971a3b3302e2f763af750d";
+  sha512.doc = "22c14f1eca2aa764bfc250d8140f0a24f3dab1cb8e755180167ddcd1ac9224aca07fb41408823b8933b73293204053f7f139513781ff37a67ca9e0ee7bec4fbb";
+  hasRunfiles = true;
+  version = "0.02";
+};
 "pst-tvz" = {
   stripPrefix = 0;
-  sha512.run = "89b36072de1e3063a056247b07c297b1f2250743ccacf55d9773affe12ebfa7d22012a391522d032410de14f0f074f8adf297e10698aea96ee05cd4f1b9e02c1";
-  sha512.doc = "25fc9a6f9fbc9b0985107579c49db136e9313356de6bb4daa8c1435a714e0bdcfaf378a322bce2387e05178bccc6d44ee6a2d852e1960857d69bc9eb79a03e5a";
-  sha512.source = "203544563dda7f06ac3ebc609749a1d9b01e75563253a87304b3c6a8e9e21faed815d65e159b9b8ea6e1ec9e67ecb2f7fc53830c0999778b1e94781b18556790";
+  sha512.run = "79e206f5e4154a797cf168b1b490cac8e1ddf98a79de6ddbd9dc98cf53eae01301c034643f6660708b58e890ca94b7235e5b0f48e53136f32c12c0adf5749179";
+  sha512.doc = "ffbba30214dce83e7f00aa7c6e126919cafe341dc727736e27a5af8ae212dc66dafa49afba553079d6857258ca72577950c06ba2deb21ca3c1b13231d1909935";
+  sha512.source = "ea0d7dc35ccef586bbe4dc225886755b28524b4db4ebcede6fd41c51bcc0fc8e7fca1f7a326d12524dae478b5a9228cae413b80e7a2830f0cd729e7efa8bab4c";
   hasRunfiles = true;
   version = "1.01";
 };
 "pst-uml" = {
   stripPrefix = 0;
   deps."multido" = tl."multido";
-  sha512.run = "102c88719a8ef77fab8290f68577164ff2fedcce78473d5ef2188f177ac6cbd7091bb12d547a567fc7d8a6617aa3b327a274128aea910bb56519519b657f2c87";
-  sha512.doc = "6f728dd59f32b13075b124cd3f0331b37ee3ffa76e188acf47bd16500983f2dd87f7fea5c55ccaed45c8c9840e3cf7de43ff53ab3593c65987e781de7740c8ec";
-  sha512.source = "d75abf7a1ca4ff8e5c3fe84e455ffdd7f22f0782ce2d0ffbb986021427678cd42af0c31b011ac0e8c10b263d4f0b100d193e1d65f42b0d80dbf487511b5003ef";
+  sha512.run = "e4ff8ea9b7fb9f530e33280de3e9eb20d653c0c062fa80611a544daf74da0b1dd2481b43d8f5258f9ebc1d1bf95b393b32c7152ab8464a9e980cefa105c45ceb";
+  sha512.doc = "d8aa92785c241b6346762d98349d8464ce604afceb8774ef160e8c24e0a40d3fd8dba7cac3f78cbf38cbf6cfebb79939ad3c76e6b4014c1028859aba38123efe";
+  sha512.source = "8b7e551154c1b1966046268ed3353b6c78c3a66bfa20f44c7fba3b58f661f2585b71d49d2dd673368f732b2f9446dc7783bad4ae5248169a79721d330a49514c";
   hasRunfiles = true;
   version = "0.83";
 };
 "pst-vectorian" = {
   stripPrefix = 0;
-  sha512.run = "05b447c1a67f906645945e77960303a72ba413bf2a0fb9c6b84d67f694f3aa73fd03b1dd2ce298dfe5eb8ee6b1bf8e76425dbe97772ee0539a37258f2611ac11";
-  sha512.doc = "d4711ac4696a4e4c05e54ac3fff7788ce67ee55469ec4b8fd375cb9cae40781a4f445c469bb519894006cf1698faab914929dc292bd5ca1b578e8ff1585fe422";
+  sha512.run = "3ea49c1da6238c095dc2ee095b21dc95fca19c89b0ae473e73f9ea67ca9377cc8e696362f2cf859d87ad69350c7b94a1049823fc0b5329e36e8e31291cdcfef1";
+  sha512.doc = "787b3b16dd0a73d96d16a8f32e26cc40f84706fd8abf48df23eb94a5dd9dedc0f9c9b7d8512894910ac96c8ec5e879a5f0d24f6f19e2d9f231ad66060e07565c";
   hasRunfiles = true;
   version = "0.4";
 };
 "pst-vehicle" = {
   stripPrefix = 0;
-  sha512.run = "688fc3744f1d830b5ef2e99a9b8ee56c0f4dea7476cd16fbb77fd4d3fc13586151eabb7318ecb3410f4d46bf6b9bb51b233b0ce0c5a08b6ea74fd91cef938368";
-  sha512.doc = "df1baa44326be9c17a2964868e12a6a24f89278a33b90d6f599d9b0cb8733c5ce463496bd52744524d55e74706d958bfa47ddc25efc9b2681a53d0af728b3713";
+  sha512.run = "4e5a5dc0227641a8b8f96913cfd513279c91f841fa1dd5960015ad79d5877a86cafcf87db38bd692611d5afd73a8a91505822d83433299db4efa9e4975a8da42";
+  sha512.doc = "1183b285d9438c7360f2cef9c40d86424ed2891d36a4aee6281e57b84773dd6b2366ca6c2bcff200911e583bd11f2f5aa9615b45656a240b28b1809acacf4145";
   hasRunfiles = true;
   version = "1.2";
 };
 "pst-venn" = {
   stripPrefix = 0;
-  sha512.run = "c6827eca25a6f4f35ffdfd77de31285da72ca0bca4e1650927d1361fc7e75efd16b1be46f23ada2ba0f2de2ca8c4b7d31d92a0019d583a3ed190f176e5209f8d";
-  sha512.doc = "e4b7126c430f695d3baaefba58bec48b6bcbf9f7361be41e76df14f7fdc028618b20d175e6c8ebfa900654c3e0191c5e1b930e20e410280479fe11d7e83408ab";
+  sha512.run = "63baf8075ef294bc3a909b3160fa7868a7f179c832d680728fe463f8b1c058411a1393614ade666824fa3233d6617b1dd4e0c50c299a620bc459104515c85727";
+  sha512.doc = "e332f8ed24744c03c32bfd139a38dabfca1c6eaf9c5c4624d1579c16feda26e42e81b39dafc98527e8bdaacc2e3ff2d246c6f4b88d89bebfaadd57454e08af7e";
   hasRunfiles = true;
   version = "0.01";
 };
 "pst-vowel" = {
   stripPrefix = 0;
-  sha512.run = "fd15b9f89ce2e3aecc639c42f02ca1a59eb40373e6ffc9290dd95d02a1f7874719dc9ff86b22a877528f56ccb938c308bf8c6da10fccc4d88798a67a143cd4ac";
-  sha512.doc = "de5c08694571bed38acd6034a9ff805a52df78dd9ed586882d9bf8a34ae30676618efdd5f9ef99b27d20790f3903c8a22e6538caba9dee43002f912e0e300a0a";
+  sha512.run = "6ee1dd91b42e319e3a88966fe4cb7327211e5859ae9bc9e262afbfe1fb7f143386ecb70a71d6b24cb0c794cb0943a6cbab4eb40ac683c55a7ef1fbafc118e132";
+  sha512.doc = "4fd8ba42b0d4ed821abe52e5848af0d19fcf12c2b9660f09a502561fcfbeffbe38bdf2a0540ee79b99f50cb3c783ab4b5d003a59cf84b3066c364daa7dca0eea";
   hasRunfiles = true;
   version = "1.0";
 };
 "pst-vue3d" = {
   stripPrefix = 0;
-  sha512.run = "374f22476cbb9a2d276d0dc98986ed6fd404800ba1110ddfeca210b7f60437583aeadf7eb34dbece440ced0102a6431b189bdf07aa9e4ec2e717f109f33e1064";
-  sha512.doc = "54c5ff0153086a59a56ba03b86cdc2e51175b5d1d76285462d0a0dc3dc396187c91e24808d15bc60e9e1740d35484faec37802433feebc8af07c959c4e7bb2f2";
-  sha512.source = "52685797af67ffee756fd3506e5627760a4a78634f44d127a0faac573fb5889eb0c2f7ceba57d1582720aa832f1bc449b222c6736763a54d5079c22174acacfe";
+  sha512.run = "d2e5829b3c241f33a69b1c59b5aa360f73948a6dff70d39ed41b82c67abc2b469860e0bd91ff131dba6392cdb3eb9d78638928052175e65ad7aa94fc3a8d05df";
+  sha512.doc = "70d297642f7f36539cb21c12b46e2d5e4a6db244f203aa1b009c500876d2def37224579cd8ad54e5b5004f26c41203a0cb2d0a321d38b15051605c2f9432bcc8";
+  sha512.source = "660753b080958b11891954b27b39dcf06ee44db1a582376824c517d41996e3721c21066e430b633c7ed56b053b9f4c91dd3e1c968c3209b0426e840653c23563";
   hasRunfiles = true;
   version = "1.24";
 };
 "pst2pdf" = {
-  sha512.run = "dfaacc3b072e53735c78ed7aa5bf9dc78368baea19c54de847b5668e1b7b967e349d8ac40d7f134e2bdd9c66950b50462eca34c9d43ea1183d957c1a393a0ffd";
-  sha512.doc = "74f3670b2f27e6a79d79226d45d1b3d2242abe359da623043e2f91734e1260bc0e1036841881891b45044bdc46edad052f8a3f1bd9630c3fd3fe92628df114be";
+  sha512.run = "ece2fc7c670d6c6895d364cf316facc5898c83569640f0c261ee89dbe3b302e5c6190e95c6eb08b132d213cbaddefbb1e589f1e6979a9540454ef442ec94bfad";
+  sha512.doc = "79cd5a76de8c3cd53b96adb498ed30afb5a8f9b8cf35009fd4e1c487b7d381dad81f46d03e85b1896ca712b02cf31732a7b9b84d4e7f75b0a7d7b6e0032ad559";
   hasRunfiles = true;
   version = "0.18";
 };
 "pstool" = {
   stripPrefix = 0;
-  sha512.run = "5352cbc1617b0fae85018f93fd31f51fb59d83ab1d12d95284575c23d170d91d4d2ac3eb32e968e6160e1c4df4c172a1752f9c1b30dfa2b5006f2bfafcd079a5";
-  sha512.doc = "debba5d6ca4042ec3bddc25473b22d5db4d71f0f66ef9317e7c0b015e98ac7b373e580d14111545f71f14c50beeb020e4a353b7d9957ad0e3cc7aa63ca7bba2e";
+  sha512.run = "a97af35dfce4a137af97071b49e58c31739e6f271afc62a455db473e573148d25fc27937ce680c6f400a200151ffd73867d5dd8781b12a63c68b7bf256cff5d1";
+  sha512.doc = "613cc4899b1d76e0686cd269568cfc0dda437cec0e50571086b3d44659dc4b3e3d567dec88b5420e4c802d676f21c2428b3930fb6bb3f7d7faa14c029d35d43e";
   hasRunfiles = true;
   version = "1.5e";
 };
 "pstools" = {
-  sha512.run = "cdd956d75184be4dce6bdb053054ad8d24488701e61a65c1fab90b2497d57d3c523475ab460bdfe1b40491f3a0106ece5e845cccbda2356553de4bf4b428ad5f";
-  sha512.doc = "256d3082de17444776b236f0f42441b98547349e351ff8c8f6ef1119e289f643124581fce091f666c5f321ecaffe7cbd807a50864c4d931d5df3dc30a4b31bb5";
+  sha512.run = "bb0046118a269ca8781bc5dd539e1dbb7b068bcda185d8d52f9ccc441ae07c96197078b204054fec079fce0d707e86a5b094db07dcf8c894e1b56fdee2db28ba";
+  sha512.doc = "ba3cb98dad993b56c7013d24fb515489dd5168c66c8e818b3c87922e812509903085ab9fc4f36b9df36b0371a7533822e840552d0a16feaae158d5e6f228370d";
   hasRunfiles = true;
   version = "1.68";
 };
 "pstricks" = {
   stripPrefix = 0;
-  sha512.run = "972288edb9c19d573ea3c88ee7dacfb153aab4b6c22ce9e5e57e0d6e45d35fe65766a252026a7eae53be20ce97deaf5845c478e0dd293bf9061eee21911a54fc";
-  sha512.doc = "8460d6109acac2d7de20efba60a377e14ff826eaf30b0a56e5756586a773ef5b054e6171c57592d5e42d005f872929e94dd3d04737a5e9c5ad8a5aad311f5e7e";
+  sha512.run = "4c674666903d17749de9a99204e59ceeadee66d3fff38cc0913efac0ca34fb0269c7e5e836543d28e998277537fbca4fe64889cb71fda2dfb258a5aee37f3260";
+  sha512.doc = "8fae1af33f0d89b9da2d3bef0703e884ee0c0adfa187434e58a83fb84a999d783cf2e6483d4c67b247a34c5c3f87eb184f11fd34ac1ea6e266ed29d3552a625f";
   hasRunfiles = true;
-  version = "2.96";
+  version = "2.97";
 };
 "pstricks-add" = {
   stripPrefix = 0;
-  sha512.run = "dd01e092d4fe47d33072911a3bd3a6535de4f36bf372325dd7732f4272eb0e6eb496e9a4a415f08a309cc4f7cd13d38f45cea68e859a47bdf182411f4e19d131";
-  sha512.doc = "e81b4638bf010d289d9766df8677a20a56133dfbdcf1c13cc02956dbe0bae08fa11df42b9b1220a08c6af388d1335ab01ea5405cc8b3b929efd60c3f1ccabab2";
+  sha512.run = "5302a1cc7e16baf545b545822a2717e3f37c5ed993273038f14a0950d5fd83b4f0bdb951f22f5673bb1ead60e3e86d2ef9880eea404e4af52d4fb5969d89024a";
+  sha512.doc = "7950a3756ac016fc7d759dd1d466673a6df6b0ea5163a6e6bb1c71cdc3314b5c557304828efd4b81109f2238c5c096bafffdb044ab3f6bef88c7bdf630069fb3";
   hasRunfiles = true;
   version = "3.87";
 };
 "pstricks_calcnotes" = {
   stripPrefix = 0;
-  sha512.run = "0ca1dbce039dd8f41796a1747fcb9b04cc90a7cc3669c1db28e61fd9d36c151a7202f2e5dfaf163ed2f0014ccde0c0dbb3f74b9083dd547982f37ce557f40efa";
-  sha512.doc = "6ed44605777c6baa8cc5f016adbaa1be200ce1dd272fc074d54f452f6459210f43e91390067e55d7ff1a36cc22b241ccd315d88ca73c0f326b892aa8eaf53443";
+  sha512.run = "1b17e544484b71f3c29e5c3e1bed6021658ce7b9a256c21c004113b722a85be7ea6861753230910771b7c900184ca8cce146408301e75de79e0c2bf8939c49a6";
+  sha512.doc = "bab8492549fd268f856e11f5f6db4e1ca878c67634387e7295bc163cd17080ee6b685893ddc85a882bd895adf3689639bfa7fc7d0da5e9916ef305c18d94ad65";
   version = "1.2";
 };
 "pstring" = {
   stripPrefix = 0;
-  sha512.run = "11d48ef84929ee9a1bd1cd6c58767d4b0604d3bd63ddda40ad76af41866bbe081584f386b580ca36aa8b6f2f093c9520c607264f2bcdbe50ca7c6530784ca065";
-  sha512.doc = "1461feadf5bfbafbf2d59d0626a8de242fd685c75ead6c507e04fe0a4458a511ac945ed6f57f358e6d078585a96cb7582020705a761e0113dd5968033fa369e1";
+  sha512.run = "d77c937467a9cd16f24fb1374a0d797db04bc301fa8a677712e09d83b58df6fd12aad8857dd83f4d5278d799a0d1d52ef12106e8106921d1ec1453ff6692605f";
+  sha512.doc = "51c316c27c3d4083696dd9ee86e378c83ed09c75c632a7f0a580bd84d0033c7776008056a4b26d7835a4974b879c0f2b0389ae83c70cbd6ab093bc8b2add9ed4";
   hasRunfiles = true;
 };
 "psutils" = {
-  sha512.run = "6614cc1d2d4fc0356f85fde6c6fc796fea9e9f715e29c0b0302e134816376b6bb33a03371db138f18cb7588f5b3444cd52a5211e992ad20991132334e6e43820";
-  sha512.doc = "6017a48df0c8d4ed28a3602da01ee72082f31d4ebed5046e13d25ffe3bcf6d52511504347dc0213a79dbf9af48905928ce44fc578be6f4d397642805fc2b730a";
+  sha512.run = "1e0afa3066bd867425f8b34857e222268cab1e3048edd40d276f01f3c9cc1d5c31bfd1dd960702987c7182ce2e5512e314eaa87ad25da5696de24b3232f9a8c2";
+  sha512.doc = "5ba2329750889a16ea2f5c2feb79235251d1db841ca264075751bb183ddb81b960632ed956e623446143e907deec4b695634a48644d3169a5a7bbdf9c0f176b6";
   hasRunfiles = true;
   version = "p17";
 };
@@ -22524,1069 +23083,1122 @@ tl: { # no indentation
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
   deps."etex" = tl."etex";
-  sha512.run = "a92b705872a30edde499a055d2414226c61d75da067434d2c32b0ee3f75a26a94ab39a86f9eec9e19f1c8bd127b8d0d67b941dd80f2649a549ead0429a8c3445";
-  sha512.doc = "2cad6cb1dd693db4c4bbd0884c25b7801ce85041efb487e342fc564628e79403106e373428a6e7b6420f4a638e6be4e7418be9d452af7bfcc51bbe53b8616cff";
+  sha512.run = "7e03619011e2095fe76674e39f6220d938a9673a34bf6cf35cf262a60d8eb140a5f978f8f04b6031a1fdb56e81edbc6c4ace82cea9fbbae2e9839b0b8d0e0612";
+  sha512.doc = "e09ce7a08be8a176e591cd69b1bdce5bf37d59537109ca820e9f4e60bdcb4cec32a58cee75ee36c61ab7a512eb2475df7f2afd570eeca53c33b2be94ac2ec88c";
 };
 "ptex-base" = {
   stripPrefix = 0;
-  sha512.run = "6a9decc4358d1941c8de10655352cf53f3bdc7c1253205c801dd946ba50211fa92bf32ef554198b531301db9330a714d8a54200d33d0b8e2c76331dc1e1c473e";
-  sha512.doc = "92cb2f517c5f866aa2b07b0a58f0b0c4546067224f72c7f376c675d712f1b22abeffc0d3243de40f52f7bb7b2e890797ad8c2d1274e995e250f5f8fc80f185fd";
+  sha512.run = "616ce41d8fe02c6d38dc638d6557ab29580cc57e52977b27d319ddca63844f91d7b0f0373c57bb039a3f70b6ff462eac179d9e816933b2954f2af1b00c3fa0d1";
+  sha512.doc = "e4aee26d3ac73efb1e0a2b4579e7e8cb1ae46925908ad407d8772eefd310fb5ac969c5c53303eb7e5ba6d0cc115f487fa600b5b6446ebaa52f9015ece56cc19c";
+  sha512.source = "0f5a2eb6e73c1d454efb9e7a0949d0baf49ead997bbba4ca01b3f6ad894b050394430c194fab002bd41bc7017e578818677bf0eb577bf34c7bcc47bd243159d1";
   hasRunfiles = true;
 };
 "ptex-fontmaps" = {
   deps."arphic-ttf" = tl."arphic-ttf";
   deps."baekmuk" = tl."baekmuk";
   deps."ipaex" = tl."ipaex";
-  sha512.run = "59c8daf96779a67951b96a2b583bb406f6a59a75651bb3387465b006715b1b45e393501d198f547b40f7efaeb2a1d81e20ce7bf046b4a1b6060dd5645174d2c3";
-  sha512.doc = "008b78438dc7825aa7f06dcd307587ec4b08fec8e042f9a64fd3244e4d1c218e093c6002234a04cb2e14730530dddfc65169a3bab38285f13076548062fbd8bb";
-  sha512.source = "74bb5d0906fc953c8a35ba0d69a0273f5332769e95e5de9d8c94d919d96d480059aca23886941f224f87b7519bae1513bbf0d6e19d6469bc607bb223658777d9";
+  sha512.run = "8951d9e1bc4b2f2e4ac7bc5cb3b56ddd3924684c65edb35ff680e72ede7aa3f15b92a1cad39d8e6652cf76abaa51e72115aface47068031c6b24fc82c5e6531c";
+  sha512.doc = "c5e0f4b4ac9c657b83c27ced5bf3d4eccf993db6518fbb750e8a0b91752b40193a947a3ac2c53a82270be2f8ea736711b5a60e59f29c424bb3ca612038be8972";
+  sha512.source = "10b3aa3fabaae3f7307861401b7b47e14b62a5f075fbf79dcec44e99ceaccd2e208b09aa9733e850d01938332c31ad399540b5d98a38ffe29261aaf794dd66ee";
   hasRunfiles = true;
-  version = "20180328.0";
+  version = "20190506.0";
 };
 "ptex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "808304e70950f7d81ba229bc11b661566b87f80d066a9501c4821d94c36f6ec136fdad1566002377c531ed16b9d0f4f29c9cd6d0526924fa758b78ae14e55514";
-  sha512.doc = "67404208897589f1ffafc254c7d0fd8ed1ff88aeeca896bf8a8fd91e0a4836f46925894090a3bb023171c66538c57de062f687559763ef12ca555b776c23f2d8";
+  sha512.run = "54ebb6d2923ff6b277b4376041b90a0fa6a164281cb18820f175d5aa87f9e996c1adff16e9e5eb5bb90d52c135d581eb1d5ddc476ecb2446fd27d0cecd75bb30";
+  sha512.doc = "dd3c4d3510ec1de8a5174bd10a7ff7bb173b25354b28f0b8411fe23b41fee8523fe1993c30e55cb7c3eddd90bd17db5299cb8f4ca170e4d97869388d3fbd8137";
   hasRunfiles = true;
 };
 "ptex-manual" = {
   stripPrefix = 0;
-  sha512.run = "fa56d771f5d40843cc20322c1679c0f401a09c51e26ba4b5571a7e05667b06d26ee2eb0becd16d88c0203a512df0e1483c8ec58e9ea78300f29b038c19d20787";
-  sha512.doc = "2ff76894442afb534f069f0bde840daaf6de07fa52e3a5ece0ad95d9c48f8f5fa70d717e969cdafe8beaeb7d0c9280973bb531fe004673357448c445173903dd";
+  sha512.run = "a09a78d9c412cf812ddcb8c553650ed474516a97c7818fce68bb2222047d116cc4eae184b551f89b45eae49d0d91e902fae1025a353520dd56cb8280cdeda316";
+  sha512.doc = "539133b6f91ee252f62862760c502425b0387815c091d0a0e425bcfeda4939d44b83661b6e94de13086d7a5bb83c332b4ad998d5c23377f72d6a57f88e018488";
+  sha512.source = "259963273db22746370d950e307e7cc965963a4e059d129a4bc81136069ae4137b1e2c70a621d694fa2665a05da7c937e33922983bbd6d8c6c9e8e691f7ab2c1";
 };
 "ptex2pdf" = {
-  sha512.run = "623e07cfed7a8f19c0daaf188e0c553471d9fc0e9966d174ce2dda3fa68b16814c065e3a448d0f231c271d016d08b6fcd2ea2015568fc1b0e63caa0b59630571";
-  sha512.doc = "90d004f4c9f9aa87a4f8de678272f16f51139fd151b43dcb8e90560cb9d2069c599c4aa6ff8ab5875686d4e56555788aa1678a43885c40c17ae761c144a409e1";
+  sha512.run = "2528b9b182dccd3bb79fee2ce030874554d2ae674d78e481580bbbf03e38d12e1d7ee35b1e7d5fe887ea285851751bcbc2bf3d5cb462430b842ded4fb3a7b0bc";
+  sha512.doc = "ba07bede383c322ab541cda888c620d1ce7313dc65807e0d1728d53bb1ee8ad46a15a5fa1b88c93d796cce2eb6b8c4b534fa8d5c9089e83d0a721a3b222c0727";
   hasRunfiles = true;
   version = "20181212.0";
 };
 "ptext" = {
   stripPrefix = 0;
-  sha512.run = "31dc96e30a545401759d80cee607f3dccbba5026f98199b44a80e9ac757f9fa57784d1fd06e4a7b2290bc19229d417264f8af920cbf7041ec4d9d2d70879222b";
-  sha512.doc = "b018919fd86a0529716c6a18e13404932a2e3a6133888912aa90b44cd6b9d82624d74baf02007404eba9003eef5a2fd6ba2646825ad52cc13a0f06b1a82f6ec7";
+  sha512.run = "ceb8844ff23034bf730823349e6251ef0c7f208ef74c3ed61fa212af89a3208e8f9f1b74b7877698d4459047b64376faea647a919b340d306d54de43ee9617a2";
+  sha512.doc = "31ec6dea18c99aac831f4f180ccce47781ce98b2a8859bb62019cdffd690a8b803cba66728d1a9805a8a39de9ef43e357be8fb6a16e0602cf67f7f9dc6cb317e";
   hasRunfiles = true;
   version = "1.1";
 };
+"ptolemaicastronomy" = {
+  stripPrefix = 0;
+  sha512.run = "58202171aa08b297e2999554d8b6ee43d4c5772e2f28fcf73c11a00ff8476dcdebfaa5352c7d248720feab2ba642947f07362cd9124dbed27e22086123da3de6";
+  sha512.doc = "04997eb4bfd5c5e7789b5db02e9c27a9eb4d65e685be1428c5b81199957dff5aca626a76c719d871217ccaa2a6e6eef6c17ed94f4ea161f581b77a22306d61f3";
+  sha512.source = "2a2d250d5deff043970037268b6f7400e073da58b1e6fce0d2a6e2b0c77a567dc683f616fd7ba67b659bec3f137349b37c84b808364bf5359392026730af3aae";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "ptptex" = {
   stripPrefix = 0;
-  sha512.run = "a9cf4e9e4346f335f7ad7631a24383b6fb04c66931fd6deb9bc064df88a3d5d15eef2b7a4121cafef13e71279244f37af532b884f6cff8b6f0aaf069b2facb7b";
-  sha512.doc = "625734bfe9d2c01a3d35dc5aa97a173ec15d07a8cb531ff3d5aad0ea59b6b5e16be12ae286065bd5862ede51daae3f7f123376a19b29869096be363287067b40";
+  sha512.run = "a2c31b2e039c198d3c3c84cb58cc0b9326bcf11b4c361c1d5c9b8f5aa4943f14b30e722bc2425a38b69935f4c88c67439747ffd65e0a194f2e5dd54a6448bbde";
+  sha512.doc = "0e754625fb8507591f21b860901de1b06bcb31f5c0b2fd7df1fa5257c7c611bae4f575f7387362bdd21d826a329a8af3ba00fd30c3bc9d91be7dea5d66e2fdae";
   hasRunfiles = true;
   version = "0.91";
 };
 "punk" = {
   stripPrefix = 0;
-  sha512.run = "2219acd9b314ec049b7ceb8ee3a4dd9d3fabd433872966e6a480a2695eaf578ab76cfe1b32c8072c443e48b1bc2a913c91fff3fbf9574398eff132912a673047";
-  sha512.doc = "cf4219ab67d554ba2fae0137bf96e4479fecf775e8ef641a8edbc9b8f60d9e5589bacb14c69e1ed4449addd132a78035b51698701a5de77723ecaf2bb2f8cded";
+  sha512.run = "a442a536dbdaff9dfa9d1cdfe1a084d0f4e4e28174a424cf59a1da94013e115b9fc6294ea3362c85cb770028c62b21f7f7fa9817dbd68787498199ce585589dc";
+  sha512.doc = "33842d1fb46a78654d7351ccf88b40b87e6e03d83598f661ac21ee99d45156dd8b37a652c5c8e55506f95fc57b83e7f62f6c90c3fea5443dc5bb6590302b3e7d";
   hasRunfiles = true;
 };
 "punk-latex" = {
   stripPrefix = 0;
-  sha512.run = "e89c0aa6b8568194ae3ce57112fdb10da55bafd19f3f487ce7d75f2339e6f3762da623432be7a9564a3da070a5dfedf827244c19b4a6730eced736400d5591bb";
-  sha512.doc = "186c5a0dcf975929af7649696a0c55c8ab1535f4398ce232b67ef750241d834ec8ddf09176bd94ce80fd7acbbd4257022e4128633f5249a946564dbdd8c99124";
+  sha512.run = "e44098c082465aa620d436a41306c9a1f36075c2612aa045e7c958151fc62e9a740584d9a9dd94b0c5631c00d406762a8e35f672931cccd3c09fe95850f3a2ba";
+  sha512.doc = "36a3341d2dca08941a923a1f407b422e96438e79ba5e3911a89f13d48317ec5aa0f5afccc7539b0882996fb872b38bc3653f1e5b088805e5ef7c9d96a4546d01";
   hasRunfiles = true;
   version = "1.1";
 };
 "punknova" = {
   stripPrefix = 0;
-  sha512.run = "1de1e904525e9df9a2b169f932b400576ae3216c950caab4e8ce99ead768ae97b8231d749f14beae7bcc6cb277caaa16e05476d9a659bcfe5bd08104b7b2a8fd";
-  sha512.doc = "5c3f09f51fdb66860873214b73fd1756054b959f3453faaba2e3e860377d572dd70277e91560a8c404202220f25d005cf748cb5c9acac0cb11c05398d4d5e0bc";
+  sha512.run = "bcb37b02258ba406e8ef3965619c99193c08a4e1d11f771b3c6b06716eac16134be81585220a581176d9e8b4d7f488730ada3b5963238ff982be400cbb41d888";
+  sha512.doc = "64df58c8996563a447ed7a012c6dd8f5248c8a7db06089d776e8ce64d516b4a0c4bf9042f587c996c7ab61582bba919551d352c9ca75f8696bcac5ad0e34866c";
   hasRunfiles = true;
   version = "1.003";
 };
 "purifyeps" = {
-  sha512.run = "ce4966735dc455a626cd28d6bddc86e88995d5af54a4d0a0bc80c842458f09d2a25ef67aab073ecf680c88dc0c6112c5260761eddab25e3994f79b6266da2954";
-  sha512.doc = "921175e2d72126df4966f28555180f70ddd23c9ee8363a3c44fd8707a82380b60c7ac49a39f069e1931e3b92f60e9ef301fae3a6d7232691a1d48f77e2d93571";
+  sha512.run = "79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a";
+  sha512.doc = "3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d";
   hasRunfiles = true;
   version = "1.1";
 };
 "pxbase" = {
   stripPrefix = 0;
-  sha512.run = "3ab554ce7c338ebb1e032f988fe55473b0e8a28d60bbb7ed3048e15714c315ff8e9c48ea0d1d7762a9be5352c039438420999f0f2baa5fb09ec52438ece682fe";
-  sha512.doc = "1972944b6170c05ccb5c64802e01029ad8f92285adb2ece244a8efb24b00ba5f75e7fb563e4843aa6e1694b41ef89a67eb586ad3c9b241b82c5c60e135f5efec";
+  sha512.run = "e567378515039b55eab0a12ca645ba5ff17c2dbaf56309c3273beb0d05c7e6e2dcf3d7d22091907df5636451df8e91d09673607918dd9ac091908cb6ef1e4de1";
+  sha512.doc = "d6d87123dce0a2afe3380cf32fffc8954e30d22e9822d0ff89500bea6a455c70a6699576265cebad29ba33c0fa5e7b63a40f26f7579d1fe9dc0cbcb528c45d00";
   hasRunfiles = true;
   version = "1.1b";
 };
 "pxchfon" = {
   stripPrefix = 0;
-  sha512.run = "4464dc60089f5ce98627ae991784c6f19de67f114619ffceb060a0f78893ee50d3337a034c3eb01d311c4c8bef069c7b313676c83c9dda8d05eb0a45aa1e55d8";
-  sha512.doc = "24d86b7d34fd0e2b64c6c408edec35e6cb57d664b102f9ab0bd02ad24432aa77a4939d3edd2442c3210b9cc8b2c8daa5ad728574b2826b787601d2b1cbfc8e18";
+  sha512.run = "f7cbd2c1685fe042abacc13e649a187401c53eb42dc66bed1c0f7e56524ef9cfe6b25235f9379e3e8dd948bb6fcb21ab297fdc3a2b94b27e0ead8aca041c3e73";
+  sha512.doc = "88be1f7eea3298906fe1c439c1342690feae9300107d8c2b1467301f06686fa70f128112b3449b5045bdc131d30608d9f386556916cd0f87b49e6f715546ff74";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.6";
 };
 "pxcjkcat" = {
   stripPrefix = 0;
-  sha512.run = "b824772c0436ae61aaf76ab6294c49576d4c193ceb1d79b01284e21b797d3c3d1134ff9066d49f3c493d5ee9e904ecaf39c3e9720958d2d4584d4d8de06bd02a";
-  sha512.doc = "443596f53087216b11bee4f778fc3ad54b0bd0c495c1298d74b66d1df60cab3f487c5e6927b3155d764b8bfafca954ef07006ce87b8158bf4f92dc74faac534f";
+  sha512.run = "59923115da33e18e2b29a10f664063755b42937ce601ed46103ec8edf16944056180a1aacdb296aceb5206d3dd453c0eec6f84f5b689ad68736c88479f928214";
+  sha512.doc = "3c822359a68800a29fbc7ceda3293b6be902d9bc61f277003e6e20404c32e9bb6b34638a4bc11aeb943c4bdf6e361386972251b9b015fbe68ead824e5fdc67d6";
   hasRunfiles = true;
   version = "1.1";
 };
 "pxfonts" = {
   stripPrefix = 0;
-  sha512.run = "e16b21e28872f9a2efc57d7bd10a9fa3ab0d73d87da5120166f474690cfc99e94d261a211813179c9d198c078732e920c2a8482dfd0cde7cf2bbc374ea5a1db6";
-  sha512.doc = "ff10b970e3e43ddd79c081bec3fecb9a4ff2fcd6947f583efcd23ef33d3b4058d37873d8aa51c330a0fca6c5fec7560d3e0246c253f7a59134fc64f730198fd2";
+  sha512.run = "3b50d3f04c00cd080495c71d9387fe9c810ade7d83ead1178d661a618374a3a67c0fc70ae2a809d2b91db4afaf352b1596a588f6998a4eda220a6f181390b6d1";
+  sha512.doc = "71898d307cabff64078bbb98bee9417c79504fd56f1cfc1427b9e4ccc9448b5e2e8436fa085a63d6fa6601e591673ef52eb2225ddfad5e34943456a2239206a5";
   hasRunfiles = true;
 };
 "pxgreeks" = {
   stripPrefix = 0;
-  sha512.run = "b459b51fc1df28132e6e1e0fc7d30620f8b15144aea0e7a91b59ccd25e31a3dd23c3c51fb86f254fbd2edaf4271638522dbc481f5b08af1d9dfac2267dc8ad10";
-  sha512.doc = "aa8a3646f6fcd58c27293787c067c115cee6aca342579ea21a3c6f9eb69a59eca1aa584e910d072863eea3885d03b6d96597d855f7aafc7022f094819b663e63";
-  sha512.source = "dd268d1d6b727121bec99b6c540d100637876ddf7b8f7b0033859bf25657bad9b4e52a9954bfc341f29094040e0a8b193f3d76dea44c0f869faec0311ce7a8d3";
+  sha512.run = "d3f8ff3c975643d74dd92e749397d01f8d3fd0087a838271a491791fa4bb2d65c852ff5989f79952d40547a601c97fe0274ab4407a8e73aa047221934b9b2e9d";
+  sha512.doc = "22239223646ea121422016119b6d0edce32d002bf361d096c173857b36ce324ebe2e4107bc0eae650b50d0e94775c84f480768246ee65f975ad5a24af0335158";
+  sha512.source = "9924c5b5a60d381efc41f77f9b5224a12a158fd7de6551a17b1d32eebb6ca6e80a7686648a81774398c4e25fef759612c652fff983a635f4cf56c5bbfb52858d";
   hasRunfiles = true;
   version = "1.0";
 };
 "pxjahyper" = {
   stripPrefix = 0;
-  sha512.run = "e675fb944be6a01354f76dd5836b6e9156c11cb0a45546c0c95f41d58aaaad6eec49d093d269cc5e00f3c114c68cc35db240adfb338720b6f230a839ff1aef92";
-  sha512.doc = "6bda2b9ecdd7a686c80a173d041cd13709c68b70588bc429d1f792bf82b0f65787f079d03892fac45c19bfa444c23f095600247700b0c328e2390a9920f6b06a";
+  sha512.run = "048978c0e09715f491f440a15cc08b9984a85f01dee160bf4dde530fde21b7c8a4d04f0a06c5ba0493aaf7f63e5e246813620e452d2464480ba60bafb4e740cf";
+  sha512.doc = "624c4d0fe038f6a13fa6814df000d52497810c3e74c8208a687571f524f1b8b878e36a01e8686f3fd8ec90177ef82829a2fa75ba70519ca435a97b42d1587340";
   hasRunfiles = true;
-  version = "0.3d";
+  version = "0.3e";
 };
 "pxjodel" = {
   stripPrefix = 0;
-  sha512.run = "3980b3ddfdb375cd59eec1cf7d51b2aff1efe36dc8ab1eecbbb4b2b93a8fa460c417ac97c39ed626d2c89ad785bb95e4a9409344db881dfc954a8b6a09fb1a30";
-  sha512.doc = "4facfbf02ea17b2aee4d82638c5fbcd82bd812dbe60dcacc958d6f02a04ca16861abbed7fdca068b31aa16ea120bb30dea05170cc7159e72145abb6bb32ab186";
+  sha512.run = "a8b4cab3c5951fa07659f323804e7037919d4a8b46f73fe14d3ff920c54a17dd41fe813a7991102cda4743b51152226e60974da1619cf4108f5dc77d63349d20";
+  sha512.doc = "424713f3f6cfd46f75b05ae6f8f0ef59e4435f970a1bc40333e80a5ab1ba94a79a333314f683e377232f929bfbe8c99d5c2c59393d1c9db6990e2343778f2c09";
   hasRunfiles = true;
   version = "0.2a";
 };
 "pxpgfmark" = {
   stripPrefix = 0;
-  sha512.run = "5dd4abfd1db7ad53146dcc5a63960c106557f04333eb0d4aaecfd08e9016b544228a0464c43d9447176b4569e8faaa9df5117c68cf37e0f6774d308de0f2e1e9";
-  sha512.doc = "c24ce9a435799f1aad579417ec62027dfd5043e557f5912c9e8c5b86b39cd4a640a9499d6918d9cda36a8e35579b8faaad90161bdf87fe8404c5fb61f14c19ef";
+  sha512.run = "eb341eaebbe2fca860c2592c0d24f6b5c4ef0f1e6b2bd731d48c1994ded7afa01bd5cb365d3f30147f68855777defc3384038aa652240178fc948b5225cb4c08";
+  sha512.doc = "8a80eade76fa7b5e5b919136e499eddb5ff534042fc56eb8223e80124bde97a39a65d31370037cf425042a1ae516e5888c8751388899ae65a8b561f091693c97";
   hasRunfiles = true;
   version = "0.2";
 };
 "pxrubrica" = {
   stripPrefix = 0;
-  sha512.run = "99aab9f5c901a15ba94af980b616103ceb4d23088cbcbe80735be8801da5e8cb66a4680b5bd9a651b549d0265940253744af7b2606b8e77ae22646fb8fee60dc";
-  sha512.doc = "3fa05873688cba369f39db11a609975297b1da088f3abfe7d33184e9e1eeb13d5490c3c6294d7c6ac6a3da4970a8f99fc25bed71d75f13e7c529241773379d61";
-  sha512.source = "bccb7d1e6cec7afea3a3c348fbd07d705b391f387205c7548a320846867572d5a3c8d1f6c14888109a74b449a12929d22f40b18917e06659833c1cf56fff90d9";
+  sha512.run = "42de048a96a4d552726de6abea4e8903f7c952c02259001d66655f449bc4edc7bb25b351be594bca205177f31f09525c9b986629c6a964e8a2b50c66aa01e1e5";
+  sha512.doc = "92c0b794ea85b1b685bd94fde0c7b7b009ec4069f99705e9fb3dd93ad67564952925bcb4d6442a669f965700e658eb0c15194ffa55da86bfb1867b0d8b7bf5c4";
+  sha512.source = "17ff7e06e0ba752044f7c65925c3a0156a566b03504a4cf0f55296d8deb316eda79ae015963e1011b20c51712d206c921baf3a39c3f63d05eb1420915d4546c6";
   hasRunfiles = true;
   version = "1.3c";
 };
 "pxtatescale" = {
   stripPrefix = 0;
-  sha512.run = "7d734827e5e98f42c21dad2686c7a6d48a4e335120687c6df92ed88744d2bde2aa0f35658adefe25245b62ae2058994fcb49dddfb3c46a2714417bce1a4ee660";
-  sha512.doc = "4837faf2ca0c535d53af120a0ee2ec06bb32f0bad27be6fbf01a197f0e7cb0a9db5c5e9ab92e7d8539a69495a89ead283d8ea837cf2b84a8c1eda4b79933cf84";
+  sha512.run = "922aabc7fdd35d1b1a6199be0986ad6d42ffc0db138066a7b1607ec521cf22571abc752ce225c9d99e2e9f8685149a5b91c35d6914fbccdb293a2476797dbdc9";
+  sha512.doc = "be6998e53e5d8d92138e440de1c75e83671ea88316fb9b4dde0188dab198dc65301b4cd4f53368c277b782edf82f17ef89903eddfa6656669a5329a029907249";
   hasRunfiles = true;
   version = "0.4";
 };
 "pxtxalfa" = {
   stripPrefix = 0;
-  sha512.run = "f74376f0d8a327bd1723372d84789687f2bbd133c00626fd7343c3f30de53cb7f0c197ccc7f04b75420cd3a973f5255aa01f25e9cf65e4ec0772247b49f45f26";
-  sha512.doc = "b5a50bee699de3af9ccd149b60aace90df8111795a455ab5e1667a5d502359bdf6624c0954ff7b772e0887f17fd342118ebaa8e9bbcb436c56dc8248441c5ece";
+  sha512.run = "ac1972a7dd5445bafca244e04663e09c4e939eedf31e8038e2ea41d255bdf6a4721bc53a443f6663f989b21494c61b3dae9ddc9940e283cdb49723e6fabbea69";
+  sha512.doc = "55d06ddcb52e79ea590b24e8aa53a41dc18162ef9a8871ea69eafe53c6d0f5ecd5b548f97864c0253f543ca9f4eda17c665f1a6de1115cd8052670c934fbe52d";
   hasRunfiles = true;
   version = "1";
 };
 "pxufont" = {
   stripPrefix = 0;
-  sha512.run = "8fc676ca8979d395444d15749cb8c7a1abfe618df9b2ec4b2248dd62141840561135091a0cda3e67fb3a9f6eb50d55554a3bd17852f3c609bb78effbc8786ded";
-  sha512.doc = "ecf10540a1df8881134b4c114d6c2dd1e622d4f3fe7a79ceee665d388dbd39652876157269f36adc58e59cbe89f19572273a2cc0b3f42c61c0694063dcf44899";
+  sha512.run = "c364d150c3607a8f918301846ff919bc3a7a240b23da1a67faaeeac5d1000c7f59dd4ec7da829c4d4793e6b5c9aa11f94314c149bbd277d5a3d7df111f2839fe";
+  sha512.doc = "e1938ee53f1b7572ce85b354eb6bf9477c63adab65c7c3b3b486c7ca6365865845eaf4dc4670cde741475623e3654479e817075832b3a2d7bab14c75f360183a";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.5";
 };
 "pygmentex" = {
-  sha512.run = "fb83b4b6e96d07a8f41c1810159083d64781fdb34f19949f4ba5405d7b8e5a928b17a9fb52c1c629d532b1ffc81aa9fa3fc9b8059689687448a2853fd5b94966";
-  sha512.doc = "5a4a08b47f0e802fd9a3a99e952b9d62c1b6b65f4bc07422a884db65303029508fa3054a12a9331d607c1035ab1dbf2e80ec9ced33742d151639ec5fbdf0da9f";
+  sha512.run = "d6e6327d0bce32aafb4be5a30eae63ab0418506367a4a18305f2fa45156b27911bf2cb945289323839c82bfacd6d8d3a588a302bff1cfc29911cf7d761d83cc9";
+  sha512.doc = "effc3db243edd25d4aecf7c2de6eeeaa18ff085f6304bc390ee0276c07d7672d17202d8832a012e9fedcf3bbd16771aaf78a4262366744f5a27266693fb0e87d";
   hasRunfiles = true;
   version = "0.8";
 };
 "python" = {
   stripPrefix = 0;
-  sha512.run = "0bbd828caf38c67454952d05fe3d613c006896aef1fe436d8a6ab80069660e2f7e678777f600780f60e6bf950128f6757ec01d59a0c0d9fc153c0e05b7accc2a";
-  sha512.doc = "4e2eb72f86eed1843fb5413c6b296403da131b68779b2bf5b029347445e12087ec6b2dc5c2738f8b49746515ce8913e38c392924f875e1d1fdd86473a8fe29e7";
+  sha512.run = "85c300c969fccdff036e2da59ada1040bee6f25c6a8ec3c173ce44084fb9fd812aab79b8fdc0b9fbe2ffbf9485abca57fc5d82caf4ac5a3ff922501b46dec164";
+  sha512.doc = "8f88b9bc84a71c430486e2e3d2b33a4436cb1ac1257b9ea5629708438b8ac7488839d52fc138e4959575fe13388aa475770a62ca070b4746de8b78c53d5119a1";
   hasRunfiles = true;
   version = "0.21";
 };
 "pythonhighlight" = {
   stripPrefix = 0;
-  sha512.run = "bd85d164572dc18ae0294a1d3c052b5c4a106269b276f0c36090f3517d3923754021a94f4b20185c311344ecf447b50e17f236c481ac4fc7861f0d8345ab2612";
-  sha512.doc = "47253c708ed0c2e799f641855d1fa8de95b5d98097a124afee60ff69ff376c21f25318baf23ae2e070c9b37ac62e70ff2d95690fe2b49c8380ab998a062b4013";
+  sha512.run = "1018d4383ba04f92d383d2c4f51d30f091528f7a89ff23614e0ebc9e488ef3cc8167de12a42e6a6465c2b3937d849bd5eecc94cab0a9b8003569b06ae2c91632";
+  sha512.doc = "31297eb541060d760fd61ebe169b840cf182f8f857986aba5a2a578373037d3c99ee12ec9c707ab1f9d29564925821665997ea45f728273007f61a5f0bea5180";
   hasRunfiles = true;
 };
 "pythontex" = {
-  sha512.run = "b4443098c8c4c1fb18fa260a719f8b2b4d18f82b59c6ed5d2ec3c5cc253cf692242fa2c50cb660e187768e920b672861ea79cebd05e5d61128f88bbb9a267d97";
-  sha512.doc = "0208ceac9ea6764cedf25fda70d9f723568852d70baa7e93993179a3e784c66e58cd6e4b504fec568012ef92184abafbcd4437ba996387f869ab1f8c0f9aaeea";
-  sha512.source = "c384e808ba35da665d6b184a05b9130921f9004d5928d81d9aa254d5e5e840a8a8e6ce79da08aa96cf087be625942df6bbec7dcbb0dcbea4e72b0bc55612c55a";
+  sha512.run = "27a3196f89ae04eb992817800f30dd26b275b65a2f9272907a2cc6a66708ee00290c3e0083bb537f0ee0152c93aee50728ea1ddab672aa08dfcef5f089bcf2b9";
+  sha512.doc = "cdc5046cef480514417874ef5343a39f9e1c377d0e1f00e9df4ca8746670f2b222636afd58a06ef63086c3479b4d516f9d14074aabc1fa7876b2fb4f6599bef4";
+  sha512.source = "9acadbf5a18d56d24bd1300ff4b713325c43f163d2ac27e190461fbb74bbe023e31b2a3cb0bf3c6ead42c1275bfcbcbc8cc87914f623537e05773e9e641b7b03";
   hasRunfiles = true;
-  version = "0.16";
+  version = "0.17";
 };
 "qcircuit" = {
   stripPrefix = 0;
-  sha512.run = "ba0805d50d970da6bd4db8cd930533104d670fac94ca33e5f37dbe1770b8282e1715ed836e555629ab227002890a2726999bc58e8e80452fe2d074aca95175f6";
-  sha512.doc = "8a40c56ff87e61a975364f0213be6c6d106763a20eba511271e49c8c182c5bd0be403aed72562ca586844c9790312c25008266662c81194b24ece8ac924f29df";
+  sha512.run = "72dc726d377bfa13b30d5440f65e3f451a717c32785c9338bc95107a3fd29326d5011ea31a6805fd751e276279b8bb577f2b4a488ad0f380ffad84fbe46e272e";
+  sha512.doc = "cb4d00d575ed8f859722b97af7f15323af85e69b7276947c05770a6c745dbf0e4b3aa1546b3cc82d9555a5ce839b142ea8edd3da166d2c109bf6b829b2ebb74f";
   hasRunfiles = true;
   version = "2.6.0";
 };
 "qcm" = {
   stripPrefix = 0;
-  sha512.run = "0e5b2701110cb451a1980eb59a57d807d9bd7052e6a1797fbe011b0f40dd3a84abe3e380d2cb91ddd36954ab5a2d9653bfabcc7a588d7a229a3c76c67e3a3f8b";
-  sha512.doc = "7d95b71cbb106e227cb0033a37308f7d5a2d7037a2501eee040313a716722b0d0c477104e9ce98a5d952a23f1398a38d4fae96fd58fa78973c6893d7da5ff91c";
-  sha512.source = "68785ee7a7d209e762533e7fe8fb7d91321679d27bd48378d342ef6f44fe62e11f61143e50d31bac48e270f9049554aa483a7607cccb09be6c24933c88fd876f";
+  sha512.run = "9fc1ac5b0b6fb819022f9e2ef625a73ed884ecd2c45b7c58283388ea0263d9f9c9045e14d9ee37e8a3c0036171284f30f7db5f99bacd01d4c65e1819bec6ab95";
+  sha512.doc = "d7935c763e9e5245eb68d915b39a2f91d785a1590a7cd807e0923d7d5763ef8216069bf1119f15f91521fd83786c86de7b227e90b6407d6799a6104fe466fd4a";
+  sha512.source = "7efcc841f6c990e7fb1979bfeed28289ff0290b9ab2d54248628a3e52f0eb3c35b9a3b8f91a4b06231577a957d1009522d4c9843c103720f590cfb617289fd23";
   hasRunfiles = true;
   version = "2.1";
 };
 "qobitree" = {
   stripPrefix = 0;
-  sha512.run = "efa2be846c8dc1cd79ef144a59c6ad25cbd337bc42e9a5e8877f3598c95f7f285bbe5c819f8da243b0b01a4931c8bf0a6bb02b4cb6ea9a38cb21ce39257073fc";
-  sha512.doc = "6e34b9946a497cb33cf1c18b7badb187c759ada6085148397612f4c915d03ec80633828fdae6bf9e3288be23bc91ad929b0e4a2a36b36fe98e60a4d7680236ef";
+  sha512.run = "cd229c1611f269f904d73d276b8b36fb60a373130a3b5bf78508daf85d5ce50cdc4841a25e30c5a0925344eefd93f638e635be2878478f575f32fc458fa9a0dd";
+  sha512.doc = "b3b587bbe835456cb6298804cac2a8d61c85d4bad6550cd355e6a9ba155e7b691c5b2f5f919ded355b21dde9c4009ee30466bcfc5cb6d81e0af0fdeb97aa3b64";
   hasRunfiles = true;
 };
 "qpxqtx" = {
   stripPrefix = 0;
-  sha512.run = "edc644ac92bffc6e5a04ec76c9c94ceab2047993132881384f3b35043002bb50e8113b7a5b9e4fafd6051e9b04d07324c963eaf256f7f348daef5d984464d34e";
-  sha512.doc = "b2ddf16e535eda7a1907fd08e21fb938481fd9f3235b4d687f93f7b37403f6ab24243ef215e6b71a9eefbf0438472881a8a787003fd1c047850d8399c623cfb1";
+  sha512.run = "7387592a338e7ba10942e4ed96364e36ca325040bff02cd69bf0f98d471775d38bd63e54bad494f64874e2fd0462762595c5796d7453aa6909fccc2d9d6bd27c";
+  sha512.doc = "6b6fc20f5ec1269d318813b1ad34020e2b5341ed8891c11d2eda6b84884b3782e992dd9dde16d14b2030f2b57e1146fb6da6e761a35b12a3d88e8d865285668d";
   hasRunfiles = true;
 };
 "qrcode" = {
   stripPrefix = 0;
-  sha512.run = "b342fda7ccc47fad65884a76fee47bfc614a00144d8dccadaaffc2c58a084c540e41db531a374f9ffa28e6ee1d76841f9f9e5c2dcbfb926c6b13df45d5475c06";
-  sha512.doc = "6852b006df162ca82fa6ba27fabc86a10986132a50dcd573719bbaa361f45accd76def08087007035a5f06668c1c206828255d4c581720a17a1892731c24079a";
-  sha512.source = "ce732484458441e63be40785fb3062054b36e974ad106fa43331389d1018eec5f3d4c5e69ebba3f6fd6405943997243a35342257fa971f4d38f2d146b1ce3342";
+  sha512.run = "65ecc00d46d06f8a36cb1f170c12692cf7ef8c0cf9e68bbdc6a7da6b0a7f5fcda6a2e065b8a474609556518ab07c2d12f19a9fdaa0b6339aba94cf35184e26f9";
+  sha512.doc = "406d1cf238b397412a57ed695a39af0ef32de007b94e8650cf591c63882d05d7df18061fbd2b350347c052091202a38de1ceef19f61fa58de38c2e73de6b01b2";
+  sha512.source = "3e344af4bcd4e0d2b49638c33177f600f1e3ff24416ad503f55b3376fe7323ab381c7ee695351923cfc06b54c9ba8b3d1f4705f5377164f2b43ee04ccc565955";
   hasRunfiles = true;
   version = "1.51";
 };
 "qsharp" = {
   stripPrefix = 0;
-  sha512.run = "3eaefb8921cb4b0524e5f8b8c31cb74b70ae44c1ea41ed3a433f5a3d036e01bcedcc53f16000a4c7d10156a2d93d55505fb3bed80c47718de6761249302dfe8b";
-  sha512.doc = "90491665c4955fe10c3c28fb8d04ab30b77e2a63a1fa9d7f813a7941f4cb5336103f35464dca0c103176c8d14ad65f4896bbe74c836d548e00bb1be6f10518b1";
-  sha512.source = "9c5616dcd6dccd9043991ab6f136e8acdc0591272713703a8f9d056f7e4c8085d1519c66c3ae5da956c503f87b4453d1a8faa7b020b060ca4d09cf1761b6278e";
+  sha512.run = "29aa0808112111d088f8795ec87ca3df6f2e10f0a8e91347ddc7101733aadc72ba90356f7e4b39fce6484e04975d3e151205a5d5272789ecd414cd0a6afc243b";
+  sha512.doc = "69d74a3ed755d16957a2a844ae624a15e18813fdf02595c2e4ae2dc0cf13b20a1db1c4f49c20db3e4d3343c586411a88c7ecfe6367c4c1efea1a8cb2730cf8f3";
+  sha512.source = "d8ad97902be6b5f29db2cdd7d27049407ebffe5efc8bf0f0ac64e64ed2e3df8f4fe86b8e023ae7dde4368740fdebf22ff6420a32854d5745e8fb147005788226";
   hasRunfiles = true;
   version = "0.3.1901.1401";
 };
 "qstest" = {
   stripPrefix = 0;
-  sha512.run = "10b01530aa055e55a8d884896add9b102789890cf8b56ba2244435946ede647e5adfcc499c47c811c95673a8ec2c37325a466b59f0ada884a314bc16e61c8ee6";
-  sha512.doc = "24e635c00efa5cde6de4e70eea7efdcde0fbb0e85a970221e8eed829adbc15b22bb71c0fd22b0f28b7fe4dc2003885de2c2da356c0b6c1bc168629647ef99264";
-  sha512.source = "56a3f783c9882ff46c051689191e3f86f035d782694bae801b3981c46051b0b0a6fcc70f37e54672d51bf441163aff7ae3f70cbec68c985fb21af0794c94a145";
+  sha512.run = "1461a7e5a88a75d1976b8bf0b6b9a685c7e68bd5983ea1549b277627e20b8e7d0b890536c8e8357e168914220c168cc2be2e9a688b512e16d613107c50622f79";
+  sha512.doc = "a2e138b5de9012b637cc98b18e5aa64b2c9384f03beceda724c86f1e81e03b6da6b19de27fe15724463edc61520d035495f2f039a2d541b4761c44c55473d1c9";
+  sha512.source = "1ff5ae66e8620b298f4cb5ca4d53e420ed0e89e476edae48f1f37fb1785e8bf4693da410cf2149d690734ad11fcd669152ffa7a560bde94e923e772560f8ca19";
   hasRunfiles = true;
 };
 "qsymbols" = {
   stripPrefix = 0;
-  sha512.run = "e9c0b7b6507ad4b62644d1892e6d7d270cfe2f9e3a73282c074ea1fc39b6243ba8791c5f693f72cbf082242886969c036f491b55c6e55d3222cd15d2e7f473f2";
-  sha512.doc = "908ab875ae142842667e6a0975951b0c4d86279438f4c398da7e24046a9a5a16f7fb911e97832c22639032b1b8e0907f9ad9a57b7f210b03bf4997758cd23f0a";
-  sha512.source = "2750aec632bf1306ee88880ce388c5dd471269ef9c9e284b61a450220c0093787df0b28a024615b4ae2308f46a320b80ff8ab82f5dd2cff90289598cb1dbeb37";
+  sha512.run = "b910db8e0e33bbc111a95db914958a3261fa89061677d999876b026d25609326b83444a7c6b77ee4a39d60eaedff448ec662dddf9511e99c826a3bddbf0b2861";
+  sha512.doc = "c633094c09c291666f1953d8d8d8570d71b773e70f90c805cb01981117ea4212ce8cbd4ffabd9ca5aaee07637d19c6e627856115b3943f9d5c414034eee500ea";
+  sha512.source = "5c88d0d929f6491b6b9df65ac3ce2be28ee5461d5cae5bc2ecaba64a9012ce4d84cf3f63bec19971ca2e8ec37fa869b8707c8d6ebb9e80f8302cc04127873962";
   hasRunfiles = true;
 };
 "qtree" = {
   stripPrefix = 0;
-  sha512.run = "be7d3dd2eba1c32b3bb5bbe429df9140f1f6b314679b40aaef602d67fcf150b4d7b671de409ad464f2e5d50231f2e2229b3517d2ee84eb5d4bfaddbd754a552a";
-  sha512.doc = "044398c3ae5ff47867d57270a7760f79e22a5d312786dab75ed1161758dd8028128ae24d6c23836b528d7e4058359471fed22b99456c1eb0dc206c7473543f77";
+  sha512.run = "9f381007c2526f51483d7c190cd7cf86cb399e95475841900ffa8f522d3da71f4f451b42562783d756e252e513ca1f9e9e8586517057a8f6b881cbbecb5c3987";
+  sha512.doc = "c16142acf0c3f9e4f347c9ceff7a6c29557c0c2c4d2232ce9df146279b3cd4e1019e703479f426709a3feeb6ac46fb91f7dcee8cad35b19c83c9893661322f96";
   hasRunfiles = true;
   version = "3.1b";
 };
 "quantikz" = {
   stripPrefix = 0;
-  sha512.run = "9acc8df3caf17bb628082dfdc6fa7f584466b0adf62adfbb247cb6f3985b3a987cfdc89e31aef614b6e1d7d964c073c0b1db5998183d3ed1e167eb95a8ce2b5d";
-  sha512.doc = "c603fddb437cf560fa66b41c42cf3bf56cc9b613d584238b1bcbf7f6a538e6d4c3e1a0174cdbc740dbe4db76fb0c780e349455b5504d8b97033bfef80c0bcdbb";
+  sha512.run = "0d6946eeee69573a3c014a16c985da8ed193be32511723dd6302978851d9ac729aa7248be6cb152bb519b36e1b04bdc741b440d9746fc8106d326af67d8d10e2";
+  sha512.doc = "8dad4e65191d092b497216ed8d57249cb6edfcd54481bac8b1ca8af9734608b9f4f54e260be6ffc3df93353f81eb839db6c68e874a24f62acbb4613370578efa";
   hasRunfiles = true;
-  version = "0.9.2";
+  version = "0.9.5";
+};
+"quantumarticle" = {
+  stripPrefix = 0;
+  sha512.run = "71568c84798b4ca114ccaa98475d84efb0e0332c12617bfdc72694aadbb3f6e30b9ff5a762baec0781420b02069a0a5874367e5d52089d6bfcda5d2af789cd69";
+  sha512.doc = "99930e86922c19d13f534f5d04a0f29cb4ffaea04e8062bb018c6a848dd7674becf8a515f43413f3edf48c5c485d4d680b371c857b24dcae6307ddb329307dfe";
+  hasRunfiles = true;
+  version = "5.0";
 };
 "quattrocento" = {
   stripPrefix = 0;
-  sha512.run = "c9a76d02efe1cad1c2928c5f17adbc95dda098c9fcfb7ea44e2e6c2c8c8ac109b82caa2abc7e0371f798f1893139a671e113a18fb23faf5a346babd5a73dddc7";
-  sha512.doc = "907619be37c23e69ac6f5944e5f777b148d5afaeb8aabd92743d513125fe3b01926a131ea4eaf64f306baae5fab73d4a5b78f8b8909127ba4df2d0321b5f4334";
+  sha512.run = "04184f6e4eeb1dedfc165778d2886e5194e48adb5a17bdbd91c1cd408f42287b501a35047c761dfe6114eac1cd9cc68ec204f73e7c7946c7cb44b9b915bf1347";
+  sha512.doc = "ec4fe49f7b5bee5ac61d39568a900783a21e67d36e77e0af6e974f7dad27821a01cda8ea244f40b02de7cf4d427bb8e7d5fd3db6bcb163f84310083dfef68278";
   hasRunfiles = true;
 };
 "quicktype" = {
   stripPrefix = 0;
-  sha512.run = "997554cc6a031d46ff989b5e81dcb01e871dd468c48834d111583a6a1a4cc9a091e548de0c1c8f5cb473ca695e3b5688b45649fafff212a2a9632fa7101e716c";
-  sha512.doc = "484dab33e3ec0bf31e6037cfea69ce607de1da70f321a14fa06e48df94f75bd7dd06456e15cde967be084372b298f665eaee954e30d051c3fb344f2fd96a1817";
+  sha512.run = "4950c1c7a4536cb64d70fe8c08a69fd9336825973a7c8a669ba48bd66476888775d1ad288d34d4b83a9d674624960e3d17de1c972f52bd7f329eff971ec0f185";
+  sha512.doc = "6e43ad0d932eb2237106fd991dcd25e5bd536cb64db5988c958b138af294fbc777dc6ce2c2b791e3875a2bdeaf5a10be7d15585b44e7487017925e0068e898f6";
   hasRunfiles = true;
   version = "0.1";
 };
+"quiz2socrative" = {
+  stripPrefix = 0;
+  sha512.run = "f4fba8eb850a90288a9b3e7f4571f5df560e09e7cba608f7bf2bb3090db5a2c6bc7fc7240ef2e3cef9d37fe1a0105e74c4c63c39a7c1793a1fedc6f86772eac5";
+  sha512.doc = "a51cc19b7d13c0bd4f1ed07c6292940176104b5fb381dece7709a5bc1332edb4606cdd4a66ee5a4e4886754c4d274aeab40666eb45328dcc6c465a29a1c4ae29";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "quotchap" = {
   stripPrefix = 0;
-  sha512.run = "b2532032191bc114e3db752535e8b35869a3a8304f11037b1de40f38ff5a63bc3ca9a888eded1e4ac50b63716f475a34a2f8cf1be8439ae5b7233aa4905cb10f";
-  sha512.doc = "6ed31487396b75903ee28c2d1834d6aa8befcc8d878389772f8df315bb9c5189a44b46df405601752e8f66d52b410bccf607b96e2e4210474e6d1d8ca03876cd";
-  sha512.source = "8b01ef71228a1337471de0462145b55811f9cefb68c929a7ae9752ad70464d180ccedcd37ffd1073ad57fce8cdf7b99264e77099af9c87f4b852a3e27263a8a2";
+  sha512.run = "df77f5d148beb1b70d0d2683c1be2a1b556ff1fdd90e109a29fb222b5eadb5008dcd1bee4e36cbeabf484fe90cfbc7bd07f87d40a70cc0675fe18b9019ed712c";
+  sha512.doc = "b705fe959bdc23b5633f850831fe7b8a5261e55cc7cf71e75f4b626cd6a35201f0dbcbcdefe1994c5b4eeeb6d914cb07a5f335a165835b26a45d256772613403";
+  sha512.source = "d1aceae7227bd9080cbbd015fd2e3954e12330bd33ae06a6b98c9c63717a30796034d8bfc5dc1cd30ad07b2e55425ab2cd71e9145100dff87d98a11b11a84ce3";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "quoting" = {
   stripPrefix = 0;
-  sha512.run = "d8a9964310912db2f70f41cf8d99c398f9f6f356eaf53fe14cb097d00f021e730e15070cb155b2b441cea7ec06c41718155b07bad5a1348643d4962c7225307f";
-  sha512.doc = "3220a564bdff7624699979fe45e53ac89095cefff59c93493eb058c9f569fee15deca97a2b5a5738b297eb021ceac930a344c7552b493794996b8772599071c6";
-  sha512.source = "5448ed23d320208ef287c3279b26af88b9940030bec068c1dd42f99691b765bd526ac56df9dfa983dc41e7252281fd15f164bfc6b251606be8918bd5f3bad397";
+  sha512.run = "44a9c726a5a9158fcd13fd93785101d2a9a940f34da3d52efd5be1a0467cd76aeaf4706b945a8de0b4e0b4a90740567cfad87f08aaa92e7d4eeae8eb9f7bbc73";
+  sha512.doc = "b3990965effff7529a7c18cdd3a08af337be3766ffe535feaf54db504a47b0f054af41511a635c3e70c34d3025df419af702d319240ee673f7462d2cf4ccbbc2";
+  sha512.source = "a50186cf1b8b0f55ffe4b2e8447b1232c14c6b36aaa4635bba464de1648ed01adbfa13d8a184bdda8398573b2b9132948577e47e252bcb1014761f4318a76ede";
   hasRunfiles = true;
   version = "0.1c";
 };
 "quotmark" = {
   stripPrefix = 0;
-  sha512.run = "bc5a3a19c8ad82e5bc367b409d26daef55de532bf8a16ebd8cda5e6e187311946721acef96fed125ce4b16f01ab893843495b2eb712192b494e9ff470217c130";
-  sha512.doc = "4c22177a0687b90c6097c3af93ba20ea2cea44ecdd441b2fa2a285d9b7626f659540079b5d17f44ab620317f7d3f597db18fd8528c7573d37c68ad5cde2e8861";
-  sha512.source = "b989487e0263f6c2633577bd80a6fc31b4564ee14ffc25e1b0bf2be845c0d113bb4cbd892e4f507404cf19f3c7155f0e07ef5c873ca2385f590a2a75fb0418c6";
+  sha512.run = "9f21ef20aa9354b1347f00a52df65ea691fe4a00b05b794815279c070d05544611ccd8773cb7c9f8146a3a135f3100a06aaec48acacba255bae9a0654a2a9b53";
+  sha512.doc = "6507fcf8639e780ab844700f6356abd8eb69df6158ee638d8471a112159f95a3df8f358fa40479eefad0cf09c34fc37d9292904ae159f2a79fea5acb93f6e542";
+  sha512.source = "bbc423a9d6f6fca00c5c8dd9ed5dc084d094898ad5b27397147c8dae1f3bcb8a09f137f1c2c7066fb92d1cab1f5d16681612a528fc28ec4e7901b660f6c8eee8";
   hasRunfiles = true;
   version = "1.0";
 };
 "quran" = {
   stripPrefix = 0;
-  sha512.run = "050a90e9a19aa373d80b7a1aa98d198a1b614145b8c07b4e4a6a97bd2ac795d3de9af227ca6319225da8599b0f64cfaa4be3179ebdc6704c983b66bc3becc485";
-  sha512.doc = "db733dd1481cdfd7fd153ce461baca54ababec1bfe0934b16ca34d5978af77bd7a1085ebb68cb1c2b2e95ab8027b88e4d99cc79adde5f9439a1c7b9e0da7be96";
+  sha512.run = "0b6488c5791f3afe774d0cec602e0da69fc9d5c5a83ee0f660d87e7f58e43f78c5e25cc7c7da446c0bff1e69a1857e9bfb920d03efc8492f5a2e226a2caa6dad";
+  sha512.doc = "15d704615b7b08a570ede940ecd5dd73a75fa1ee07631b7b9354fada53ca42c87129b63a3c7825a17f37579b099131666cf2d20e81b9c09030eb7bdd8b069ec7";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.51";
 };
 "quran-de" = {
   stripPrefix = 0;
-  sha512.run = "ea76516df3c8ded8147d26c89d3f964c39e5d4aa3b74ccc71ec883fc426f8a07ba0d1c74b2619e388ab21767ee6b3b03c8d205cc8148ed4af8e21248b2a3c9b9";
-  sha512.doc = "40370ccf8d3716119e39abf331803e262e4ed62d0ff2afc157709fb66325f0b166b10014ccb1a86b70acbbd9d20eacf0e5e386fb0181d6373eec19c138202dd9";
+  sha512.run = "bcd27ad64c01fae92d91155c918e4880837f657cfe5dd849a8bc137830a8b2bd6eb9942c1764e60f65bde41ce2e4397d755ce621ab83c5c56d181b60042a503d";
+  sha512.doc = "baf460bbda2bc6890585dd21d0f86208501ddfa4443ba0d4552e1748ad44ba578fe78e79928a0c2556eca543089c2802616b9a4f9637c64ace7d01ef30168e39";
   hasRunfiles = true;
-  version = "0.14";
+  version = "0.141";
+};
+"quran-ur" = {
+  stripPrefix = 0;
+  sha512.run = "0a6f214eac72a453050de2e2bac8574bbf746c3abeb528ed08c816633f2ea216a9e08f9be517c4bfa2a43924f5ac1921291c7f598297ac23848568f6ce85ad47";
+  sha512.doc = "9bfbc6ee1896e1586150fd67443626b6808e9d15efa5552e5ad238c3d704868121ab93355a0b170f7bd958992b42b1553006bc2e28ad01bb555735da70ed1fe9";
+  version = "0.1";
 };
 "r_und_s" = {
   stripPrefix = 0;
-  sha512.run = "ee6335d6e04765ee6a4c85c1e71047e6c0eb74461dc896945f26f79c2b38c86e9daf13ce8eadb0226404c566f6f5148964e098c7a698b9ceeac315d30b941748";
-  sha512.doc = "45fbae3dd1d572c9bec44827743996325471bc07702399f7a59412fe9f197d66f2c008dca78c20dead3fcea599c31ab892bfd8ac57241945ed5d0cd3c9d226c2";
+  sha512.run = "86b219305e4e085af2a22d34bc586253b5674abb18e257fa96bab1d45695f841020c0004f1da51fcfca0fd0b325e4043f2e368740841a5a2e8db774711ac6348";
+  sha512.doc = "26e227f106bb9303c4823f0230b689d6ed883580051e1bd5ec2e16ad796a3e33df2caa389c309b21b010bb43b07e5ec1027d6c046af55193deb0e4d975288846";
   hasRunfiles = true;
   version = "1.3i";
 };
+"ragged2e" = {
+  stripPrefix = 0;
+  sha512.run = "fb74ab5a4aef68ead15246701eb7ddaa07cb0efa66f309fe1dae067cb7e8fe38df9ab9d47338342895fccdea30fdb189e1868e3338cf84f61cc787a704697b22";
+  sha512.doc = "f15fac0d6949fdac80ea27077720d72ffd7ff2ae695d4716875280d045b25c485016d8e72528957c10f93588d5942f440e67d79f1544d91c3eaa912c2f0e8067";
+  sha512.source = "f64a195e25aef5c691e1a925d9b2739a7dbb7bff3b8a100ce8f0c477ef222b01c52dec53b5c7a80f34be3f425f58ee6d88693b7a42c188569c08a4e0f5230abb";
+  hasRunfiles = true;
+  version = "2.2";
+};
 "raleway" = {
   stripPrefix = 0;
-  sha512.run = "78b68b8aa3863ffeee5b3147d947fbdf6e4f18f1d89cb2bf39a3fc8d2b0272914e9aac57c9bf43547868e2d7479d6d07bd4f3bd1dea9cf426b7bb187aa34713b";
-  sha512.doc = "9721ef21f576496b5f035058974d86190e6a1518a1eeb3b2a4b7728b900a2394f8c876498e7a14693f5c535b4259560b2e7e93b29b0731ec0da3e7a29df1aa1c";
+  sha512.run = "8ce708ec993b1405dc04ddd96b6d39da324799f404e2798448c12cd03749f11685f840ba4f986b1b0f7696f9141923f3b91f5318de634979720af5af5b07781c";
+  sha512.doc = "eae288de26c57ac27172e83bc6985b0edf80ac88538561468924c34656f31507e008097a1e8452ce47729ab501493733a1c022440c31c34cd99f8211383e889c";
   hasRunfiles = true;
   version = "1.4";
 };
 "ran_toks" = {
   stripPrefix = 0;
-  sha512.run = "9b8664d43b9f5030289ac44097d48a7d453144ca000d38563d6c8eabd1fe5a9c2f7c8ca5591dbb6af2b92748b56e8338d7205873e19f7be763f667abb102dee8";
-  sha512.doc = "122cc456142f2080532f20e96fa39c37038b887b27af86c5c4df17567f74db29eef474e1dc9645bf8fcfe02c72d210da8d8eef2edbf957806abb84a80b69bbc0";
-  sha512.source = "018ee528f96e42592895a7be6ce5ca5ff9191f23a7b3b670ef1f7cb2d2054cd8681399f3ec90018af039010901ca66007bc52378bd7caf4b582f25d512c10753";
+  sha512.run = "145ef7d6307f0b949fa488d2510223bd055419b5677745aaf04f322a817562320829f931136b9f651e501726202a00da68d9b5bc13f4346c9de9361611d427e1";
+  sha512.doc = "a8e8b19485b3609cc8df896cc8eed9af31177866648d94f10c20b2be1c8ad23c48ba2d8e9004168cd6a67646b68aca48abe78dfdc668216904bd0f4f982b27f9";
+  sha512.source = "83a0c7f284b019b2c4ae6469f48b275c35e31d4f4cd2c61eef5d906f5bb41c46ba73fec3c4c34fe3ae745f5bf1156ed77021556c2e9ff4cf03dab3752bfe3c34";
   hasRunfiles = true;
   version = "1.1";
 };
 "randbild" = {
   stripPrefix = 0;
-  sha512.run = "35b93bcf5a91815ecc73b3b34020d4bcebfcac5e9904be1c72d8e0f7b272721de6e7cc9e38153d4cb05ffd1bc1f01f9c6073afd2fcdc44152b03233430d0ca09";
-  sha512.doc = "d5db0b4ef488cd1e11794538c078d8c455e958c77fd554f81a688b9150071837b76ddeb2c2c246466c0037f6da62f41838d78c4fc731085dd076a8d67cd8510c";
-  sha512.source = "f6370a88d849a78072396a9eee13098034b6db59f03343315e9de46ce0c19c786670b8cf52103b6f74b4e144e9f1561b8d24dae47942d31d9517e6bfffab8317";
+  sha512.run = "b4fac4fe105366ae1047a1d4225bfbe8ecfe6e05c29e955bc91d591f25ad6a8ba0e2b81848f27af96a1509a278864393c8874b14f30e64c8d5b69b9db811ec41";
+  sha512.doc = "fd8f83db389fa62ae8dd63a2c3bc8e4feb9beb6c56d7579fbd9e9065c399a73ad19563f22cdbe1dec78bd1c33056ed1cd4d9a534105b34a2ceae0cd8592326df";
+  sha512.source = "6180472c45b6eb362076c50a6a813d5521fac11d92881639cfa3c7444fa456dbc7b453e4f94de147a635ce017bb21e30087ec7e6c39ead8778bbe9debb68a68b";
   hasRunfiles = true;
   version = "0.2";
 };
 "randomlist" = {
   stripPrefix = 0;
-  sha512.run = "fb5c57de13932682098d15072d40370efc68ac33f3a0de45c4a275a912222e3ac29aa34ae93e9bce92aa425285f86a0966e74f5974a36da18a2891a7defa20c5";
-  sha512.doc = "9f4b9529407181edcd86e20bfb390f333640cf36a1bdffeb598aacc8efa0ea2fd67c6b98dd238b537889c8e9d6e9fc20db94db89db1c23c94bea7f2001537c1c";
-  sha512.source = "ccb17f684fea37bef5316e5ee538f1dd82b73b7db600d0380505f5948082e8a8dc8bb4a340a54bd61e5359c87b1c9ef4671310fad53e9b766a36bf64bc8bc63d";
+  sha512.run = "895eb116868ced533e23d398d0f17bda2f55a2cea52ec46bcfca4004b9411fade8817af4fc9d3d91b2ab2959ea24027266d8fcac0c77a64d2a4b88fbed5d56a4";
+  sha512.doc = "4c0ebff9275bbd1c8550902735b4ef0d04dbd688bb1abdf124560defd2e5d0cc23171e8034fc67b5379d0ec30395b4433ababf3c3a244cbb5ca5f15005057f58";
+  sha512.source = "3ccb29c8a6b815484929b7bf0e142090bca848d3f5562533380b71e1be3c9fff2d7ed00f39fa68a745442ad45e1b07e4ed38ef2db55a2bf341e6adb0ce51c373";
   hasRunfiles = true;
   version = "1.3";
 };
 "randomwalk" = {
   stripPrefix = 0;
-  sha512.run = "842a5f1568848c4d906af21d8de0dad61e04392d9d9118eea74d22cc95218ce5730962ab4ff14b178a0da7a5d8eacf14c97309d0b8ebed460276e226b8fc8c0c";
-  sha512.doc = "e4925130ffbe4893a78f65e82853c18a54509a562122cccde2f2fe49d040d2d231ee3134b72d07bb0f46bc1e83605e8718899ae3abd9bcd155d76985b526d423";
-  sha512.source = "bad8a557c80e4e8aeac22bf9fa27401cecdfd49993d8b190d11c76cfa2d9e63b196663f13278b3c67dd44ab2ba386f3ec11f50259b204cc404c1bb5ba19fd925";
+  sha512.run = "3a1f08f41864cc3b855fc4a9f8aba298d92505231c728381f5c5aa29f21c73d6e10834ad589c114ae26ba97d092b33e9c83a30518a7f289aa0ec96c933471afd";
+  sha512.doc = "00c23d42132d4a47973871bb9a2054385681898d6cd7e0a7a47337808187855812d98535428f6e37a3eb2da13680ac4128fce38db670a87a66483f6ece044c8a";
+  sha512.source = "55bcb9c1acabef60ee605d9dbc0cf9d601a31528dcf444f2caf2f8b91867538549bd304b3a73b3bbefdc9e7ec82791264f054386c46b4fe67d20e8ff6a44ca8d";
   hasRunfiles = true;
   version = "0.6";
 };
 "randtext" = {
   stripPrefix = 0;
-  sha512.run = "e20b4e2ebd41d7815bbd5de915ae13ad09c5e98c2f62914ed77590a66cb9ebf12a56c994d8d1f0d3dc84d06d37eede85413437b38cdbc93bf702ce82b1378a17";
-  sha512.doc = "c96f7f804b6e24d759b30cd754326b80a5439d4d514f28e0e17884faea6568019d1bc12a987ff7c460151d92afda55ea6fa6b6ab9d7e5a49146de218c59f6ece";
+  sha512.run = "6cd20551f4b48d30d4c830da395873bd20e11b930336f4fac0f0ccf09c9a956d18107c45aa2b1ecea51d1fc4b0c0fabf06d436e247aac6ff58548cbfd31d35b2";
+  sha512.doc = "3bec31ca40816e7e86642e080021ab5faabb19656a15463f712e111485f1de00d698816e84b1ed7b63ea9380970d4e80b04aa0cf79442c7d1d77d5fa3f4d072a";
   hasRunfiles = true;
 };
 "rank-2-roots" = {
   stripPrefix = 0;
-  sha512.run = "48d263a5da2aa8ddc52e1d235994495eb09ab9ab150d48e0e05e9ec916bff47472412ac5fc8050ac3290dfc1bebd90b61ab96f2e51acff53fea07943c6d3d015";
-  sha512.doc = "11b37192c9c79ed43a6533add3fc8152af7f3838c7ed00c62c0848caec8394a3116fbb5e3f775c61c860cb35f4a8878f030d8707a6d21b1fefe8c4deaad2fe3f";
+  sha512.run = "43d76c8461a724c48e5e510701032c01a5bfa645734402b0fa0d0766f2d0cb7520f2e3d29d6c3abfe44ec369988445aab9216135f70c43a18fdec152cb4ae92b";
+  sha512.doc = "f9e58f16b30b075b19929a9ad1ac0c47e53b2aea038e34db69dde6d64e1cf3281fda597499dd07aea03b3bb325c06a1c7abbfdca42a80f03fa2a3d272bf52e5b";
   hasRunfiles = true;
   version = "1.0";
 };
 "rccol" = {
   stripPrefix = 0;
-  sha512.run = "e858afb44964dbc47db564cab2d464af7af496c2ad74d13dc14e243a178582df610951b6c1c4e2fcd3b4ec74c20ece276293b3d5e934b938fc952341d4f8731f";
-  sha512.doc = "8887d4bb4782c8c0b14752ac1f394705d33e0ddf8241a6efc616121788a45070c954bcee363e659bf2a6ab250076eb22aea8f718791825066e2cb120607e3bcd";
-  sha512.source = "e52754768a2bf3b321fdb9cecbb83bf43bae2bf4ef1c99a5e21a97c825d8c11e59b7df8d7d74ec4837deda3fd152c5176572ea619eab855310bf9d6c12347491";
+  sha512.run = "0a712f0918b4c0e4cf8cc2a0d442a681c6cd4d00b50478751512ed4588f070566f005717196f694c8d07e79f8ab6a49be6ddbda8db71af65e30cfbbceeab6d2e";
+  sha512.doc = "56c43ee9f49764ce50da6b1b4fd736cfff16a1cf3907fc7189807e5c946f1c25c593ddc1aa22c2ce2e0799f7057efe2df35bfb9aef0fa1c31724110a352fe4cd";
+  sha512.source = "bc0f7ee1a6fec9adf6d8ae77fb174fb0334030fcc504af46bb2cb88516c05b4b9539748b381a029b657f22d7ce6313b0f19471ef85b1064139e6cb7862c726e9";
   hasRunfiles = true;
   version = "1.2c";
 };
 "rcs" = {
   stripPrefix = 0;
-  sha512.run = "c2be931adfc353eb3b1919344771d106f2b3dbfde6b623960f94ee6e7d627c0cc88b301ad124bf93a9d491f1bd7183d7eabf76296b9c90343e15cc7fb3720414";
-  sha512.doc = "8bb2df33e83f64986285f6e1eb3785454288628d1870a49451cf4cae1564443cc8a5a36cac033641ae761f3aa707e924f944248e2eb9e3317b7fd6058d3af02b";
-  sha512.source = "289b084f0027cd3e7b251b3bb3ec28c165058df1d4efd2e214146767dc746cb8cc7cedb10af7dfd7bd9b23225ab540de62887b2f6fd99fe36b8d65a4e7e94655";
+  sha512.run = "4a9d7cbc5c16163a5866bcc3c9fae95d8fc42b27d0d8dd8ceaf32e2b568bf9ac6b710a4124cbd255f1f2d18fbcf66ae020cca58ce6d16c6c5eb6e0a85e288419";
+  sha512.doc = "71430d5e481dac53c3b1d5f86ec589fd855c244c6717f31c16e2fe00507850779fed3ef43db2deb546ec5b99ffe775a10711f1fd59c022f4223a8d3327424cdf";
+  sha512.source = "3c2db69ab4106eac241e9126407e90d8b20cf3e186d50cabcb35041a68c1b670eb3bf9b571d00a52c8e4cd410cdd7cfb38e6bb4558560d46420d1074312910fa";
   hasRunfiles = true;
 };
 "rcs-multi" = {
   stripPrefix = 0;
-  sha512.run = "1541b3231f8ea0b863ab851a11bd3414f73467dae8a6c84d7e0566e0395041b40085af736055ff914686b324b6e8ce23bd702204a73cb57fc0cb5001f99a5491";
-  sha512.doc = "3778d46a2aae8e8f20c77c779aeb72da3275103fc4d9784b054deee2199eded98c1faf8724365cbbdff00720a9f141d8b9f9e43f6aaa2b5e4ef5f097522ad2a6";
-  sha512.source = "76095c85d3c57a6a237756fc490bf7b07c8fb39fcb674ae67208a9161401df1778d6e119832eeb2a511205b65adebe0e017c0ac5afb0ee088cbfe407ffddcfbf";
+  sha512.run = "156e3f47b8f4eae8cb959bd561cca2c592a43483cdb99fd04a88593ab5fd585a814b0e3416a835ce8d249969eafe119cd80c9c5364f40a9e595aff2c5f2e6f65";
+  sha512.doc = "2eafcfc5c0297c021ea7f35abfac9526c4a40cd46efb88ee6f41a5c0f5d68586263d3140db73c1f9026cc0fc856a888369b21f5d85679f5eb60dccbe111938d3";
+  sha512.source = "6fda675809ee257aa7f96a3ddcca5e3ec8577bc337c3f303ee6658bebace26ba271a367b116abc32fcb2633bb5c57a442b2e12fc2bf67b8326ffaa46f08f6ed4";
   hasRunfiles = true;
   version = "0.1a";
 };
 "rcsinfo" = {
   stripPrefix = 0;
-  sha512.run = "0c66f0c9cc46d08893c63c50d82d7645d5d5e892f46521c4e53c1493ecd9daa4c34ca1fd50d04ae57bdf4401ccb8475fe84cec7f362c8dada4c265f8312e9c3b";
-  sha512.doc = "400cc662c09eb1a4e77d2b6533bc0fd8b9597ee55061f9e7dd2e2c800478f9d7d8bb2f95a1ebfd02848dc5da21ff5261b209b49be9863afa7bc26bdf9e372e77";
-  sha512.source = "906705e03e80ef4c375d7e547770af010bfbeedefa87dcf4303f79271c0788ce134996a4dc31e199947e8d23fef3f9376c93529f1d497163569955a2713ccc05";
+  sha512.run = "6070a3f0b434b5339e527161b7c1e18dd21b23a9b57817a2699bc13369bf35110868e38d3e487b7b0b58ddb12699599a6e8ac4314b150ff2c8049ade5124f786";
+  sha512.doc = "c7d149405b9824f7fb9a453386477ee3ebb7e265b29a004eeab687695667a9e8ddd7ca91ffdb4fe7f60716e6c1f2b39004aae82777c58cb60532bb2ace2bc846";
+  sha512.source = "bb38328d3124adb4ca1734912bd0fb15040e7d390d886d3817ed547d08e4f6e5a134db6e4279ab2cf0a5b8d0216afaea475c3dceed7381bbc84adbd63bbf3b82";
   hasRunfiles = true;
   version = "1.11";
 };
 "readarray" = {
   stripPrefix = 0;
-  sha512.run = "8b0dafa35cce273abce6435b2a81a642a9fa86859f8a0d920be5a85fa038b2f2ecc35109d5fd13b93f521bc9923d3cb0bf9380c49d7ffd01e2d72ae4a67203ea";
-  sha512.doc = "6f5d8550530f132a7447e8cf6fa3c18441cd3b7d3f737bd2fb8ab1253b042f60a93d527889bdc53f17313e41ab6bce2ed10eb6c0b46f569407eb45b0abc5870f";
+  sha512.run = "34a1a576a560ec5a66fd8b358e9f594e1971124023e9f88e67e5dbf7ff775e3950071c5f4daa004f8e59549f245934e4dd8a82e4a2928bcb1e9fff99f2b3bdd9";
+  sha512.doc = "61bf2960c1a0058a5a64a679b4c17ac0e754f09f2ca1847fcee4cb0b0b9a0dd07e252a534768fcf3b098217afc4c52a8f65120dcf43e69f0907fff9b8638af99";
   hasRunfiles = true;
   version = "2.0";
 };
 "realboxes" = {
   stripPrefix = 0;
-  sha512.run = "f2a35b1bd3f4d46d4fb87257f656c05e9820942fd92d4b2e6ba5a028e22960da21a7ea07020a2e2088303ecef1fdff87d5dfd0385b35a31d367ec41dd426eb20";
-  sha512.doc = "23d68c9bed442ea79675adb535727f4181d0c91971b4cb0ecc635cc15f1b791326f83861c9df60c6190ecaf16643f29c9f7892996d11f8c1f60bf0df4bd3f96a";
-  sha512.source = "053a25cafcad302b10ad8b50b4d7e1730fd8399d27b897d6044ec63cbea198b75a57732d1ce7ba49ac66d13644caff3f0119152ec7f8390bebe5c42fdeaf1454";
+  sha512.run = "944de8b761acc0949ba14c0d506287b64a1cf8efe20fd26dc74930e589f4d0651ffc3f1c4959111091f90d0f869ba18cc9456a5c58dee0a1b4b8ae7c1c6c02a9";
+  sha512.doc = "cd194a9fd0836c8cefc57c26394f7e7f684974c374f787f3ac6d82daba3ac1e9f17aaeae06f26fb9851255bf53bab6290124a1878289651dedec824238e8193e";
+  sha512.source = "4ea18fd3ad7988447d1c2ad993d76dd1f2c4802356885636e80e5157a3892ecc235d9fce90093044dc9415056a986ccd5fe2f8eabdb86bee3eeb27eae5509be8";
   hasRunfiles = true;
   version = "0.2";
 };
 "realhats" = {
   stripPrefix = 0;
-  sha512.run = "7bef7e077a785409fc3bce337742cc5b035cb487814663373eb4c92161f764fc2a426cc787ef556f1d1c17ac4ec60cb02f91ac73cab6eb16e268d9e7a2a6d6f8";
-  sha512.doc = "fdadc30c6132a1add160d3c0565c2086e74a3abcef818d497eb4e61b82fa58b4f9e8bb58df7fe859fa45fa98c8a22dbc133c24a2a75bb64c1dc5b04f1a3a51cd";
-  sha512.source = "b724b68434a99269ef503fc941d39e16fdb42eaeeb4278be0b0fcf972303941a242f67a5b74a3b524aa417a9c17299e3f2a76a1cd19c27bc0cfb6376b4d91404";
+  sha512.run = "1340264b7e44e98c356c2c4b71c5b8ddf6488b221858c1a5668bc55fdef5f976eca954cd62d51bcb097f2a58f719c6f96f6a9cc4791283328ab969813186afa8";
+  sha512.doc = "faf01cf9153647bed3ccd282aa4f8370e763bceb2bd43c547d3ed2b1de77fe2e64c4d720cefbb9bee78416521661eb17eeb496b4548bb7b88c5a45d084765e30";
+  sha512.source = "354c3d88971a7d516ef9d0cbf37c40a28e02fb97e99c59590ab7ce12cf8b70a930ee486fc9fa9c94ce9cc52d2ace8a7a183d22b5ba15bb91dae042253462f86a";
   hasRunfiles = true;
-  version = "2.0";
+  version = "3.0";
 };
 "realscripts" = {
   stripPrefix = 0;
-  sha512.run = "3ded8c5bbe0d623832a1f4a20663661c6f444dc1f17e4cae9927a8c01b1a840bb69d239cd69297b81c9021ed2452509d0c8629b0e52d1e7656a83b957ab9ef21";
-  sha512.doc = "e14cfc14f0a244f1eeb43cad84e0eff427251f5519e946f52830f73c94801b35ac852b680830ed28ca486487e77e9ab5748c9e660678da9f42b3a6a99181c46d";
-  sha512.source = "182989ec74ca611c0d093fbb297553994416d8a879a16bd056e1cbadd62340c6e07a473662f5e0ea9560718f66ec45e32d2d1d3bdd08aec3de27f7c8c8ff6255";
+  sha512.run = "20301b045034aee5650a976de1341cb0d1629d6d622e75fd3c52aad8f1cd6377d3e1095e75ff0552b9cba887f332205f861c24c4fa453bb9f957f1dfb2aa2968";
+  sha512.doc = "5bfa7a13e824a6d7ade0f81fec6f0c9164035c8a5b512d5a49eb4b47b0b47ec514aa430a34e6cbad463674a180a3119305b5a6525cad824b8f21d4b15b03350d";
+  sha512.source = "71a4e590c2e3b7d6755bb2a65890e75ad2d380f26649600dd4e222ce9045d4a7bac371d37fcde0afd51a09c213f5234ab2e268c45438b49d846f1de12fe21293";
   hasRunfiles = true;
   version = "0.3d";
 };
 "rec-thy" = {
   stripPrefix = 0;
-  sha512.run = "0a96b2456e07a9bd34d176088bfd0abef95d2c395e5a1d95f0b5c36751715bec7fb462661bdfda70b526d5b798a9393b91212ad9476f47f20edd1c4ae94157f4";
-  sha512.doc = "4b59155d2665a5d0188af2a303d83086e550162d8807ffcb10b860039b78827d03ba75e94daffa8ab6feda1da29dd2ecf6b8dcc3dffd17c8a51e4501bb37fd7b";
+  sha512.run = "cd3d8c9f6b08e4471fb377586ab928c7173e72162269eeb9856d4fd50a2c89a1e1509bd36356ed0d37d89eeecb22391ca17bc5a214813acd3496d4c669f261cc";
+  sha512.doc = "257746313876d190f62d50dfea03a614c5b6732d79b7f43b7d6c41be54c8827f82c996570c50907641536e1e5ffe172d495e1f3db94d8d1e13fa5f630225337d";
   hasRunfiles = true;
   version = "3.01";
 };
 "recipe" = {
   stripPrefix = 0;
-  sha512.run = "f5854d1f7eae2f2f2268105d6c86aba95524534c3e428b4791afab4cca54e6d5da1b23897084e2fb271ce5fd568ab556a5644d6adaba859a8acf6d4be845261f";
-  sha512.doc = "d42469b59c462a002c9c88c8ba7b5d236ca3a3061806d76fbe38851964ffec61635727b8f8a5b77eef21fd5016dbd54a52b7b8c3417ad2983da867590778b525";
+  sha512.run = "bd6046896b15d362fbe91e92485cabb1100485b5c91d4ac0214aab12e0debdc900d8693e1ca345da0152cfcd400a2f4e7603fc3e8476681127e64313e2f9b954";
+  sha512.doc = "b21b70e757a0d842adfd70f0bad21f46fe9b3242bacf4861de183b833edc950eb2cc06f0d3569a48c8e028283b1526741a309abd8fa9501f9541256bbb357ddb";
   hasRunfiles = true;
   version = "0.9";
 };
 "recipebook" = {
   stripPrefix = 0;
-  sha512.run = "3b1b0070f8f2cf2c6fde5831175c331ef28297d03bc207ed8c4fe105b488c1f3a05c6d3def0d70aad6ccd30f6e84a475af403a7b9d01cc186cb6ca7c61989b2a";
-  sha512.doc = "470637daf760f47889e973c514f45ba7d27f0f3d29686493d2170903804dfcf5a59fdd85bee378f0289534753f59eb4ae1e6c1f32b54f85cb924fcce63452040";
+  sha512.run = "c030f81bac27221f24b275d689fc7cf80bd6d97ccfecb0c5d51876ae825871854d7729e123caef3735a7b2a5608f070ce170709c8a1723b5c740f05371c82154";
+  sha512.doc = "0c9d803360e1ef65b38f5b66c6d3eba6e9c38c371a430e2cca371594935fda16a051d6d1ee33e787114747b9efc36475c6c92b2c8b199aa1a5b48e214f7a4643";
   hasRunfiles = true;
 };
 "recipecard" = {
   stripPrefix = 0;
-  sha512.run = "a1e28222c48d249a601573dacca48bbe6bb61557ee8fb895a98ec539c2b584d17ea7c3348c7ba5593a3433f8bdc0bb700859c616b94bbe9c9b82412adeba5ecb";
-  sha512.doc = "196ee125fe019952ac8b98a24a65aae9fa45e19a0a3b8dea37e89eeb22053d3a8deff30799ec9df2858ecc2c5897dd267ab1b14068fca236e23e3a2c4e387da1";
-  sha512.source = "1b4506eb2048bd09b05a7ef152739a59e85fb38fd266b1cc53d019c8554a09a245b435ab91c721570e78de8c74a1d9d4bc71ea29c109a6f88685fcd6a35a631c";
+  sha512.run = "62778e7429aaa8e4bed6546c748a7e135c9edc4909508723e7931284c619d502e9efb0e6fa54c8c1d242858355c6d95bdc87959400c18a5648ef105035ace26f";
+  sha512.doc = "0e62ac28631ee072c9b0b5dfe9995744c381f17b14da5e9c8f4159fb274cf2a7662f0eed8f728ec5990a6a957de051304601acde2d171e696e79284ab2faeff3";
+  sha512.source = "d08838184d5d21107ee796835c95dd446242ea3433819229ab918a30e73a3e042e6f4cc8f75c144ced7a16391841177409567bdf3116632b0915ebe47378943d";
   hasRunfiles = true;
   version = "2.0";
 };
 "rectopma" = {
   stripPrefix = 0;
-  sha512.run = "cae353c842be434fb7af2e9d01bf444b446783a18c992cb056132a07d029511715bba574ccab469fd834848849fa63df72ac976ea913222eaf31046edc345d92";
-  sha512.doc = "f04b4386f0f5a1741471eb9a252d1b55b9175bfaa304b21c66aff7d609a50773b6fbbaf713541a9037ae2b84cf5c216907349f88907d349df473437dbdfcac06";
+  sha512.run = "17a297d7862eeb8c48788e40fd761fd42b37fa7b49b7447e00e828f1a7e0f2e411eee357507d79bfe0441c7feada9e06fb18ee5ce0af87e7aeec7ae618e22d83";
+  sha512.doc = "27ae9a381a685373a980e13b9b5c3f6057f98224a7c9659edc0c056a6292e7289ed9772f3a503e8de3ea93b796f271dafeba57f6e240caaf738003e1ab848e46";
   hasRunfiles = true;
 };
 "recycle" = {
   stripPrefix = 0;
-  sha512.run = "48f9f3df5b04f7d7fe17c29607d736297a39efaf4ea0e9d500b45b3989b951ef9df970ef26c199d309e07641dafcc4cb1afddd37dc843150322f9f541a1b9b6f";
-  sha512.doc = "4a2599801072ac8682d2e2c1563621db5c0c1598365fea57e10b0dfed6339ca49c49f44c4dfe25558afcafac75c02284bbf99a5ba08e3db16b1fa7e40b342b74";
+  sha512.run = "3bc28ed41a8205534d34593429429768bdfa64e61cc212017ba4be32f7a985e8d65ab296137cffbb7ad5be4dec90bbfd30d675ab314bb79ec0ea10b277c33d66";
+  sha512.doc = "3bbe68b48915c6fa662fb72072eb9e130613587e86d3d4172766c8fe690a995d23d252cbda9a226a7716c9da8741b3ed0e18eae1cab2f547d08265ee493a64dc";
   hasRunfiles = true;
 };
 "refcheck" = {
   stripPrefix = 0;
-  sha512.run = "271b1ae64a55d1d5aac19a715780c85427063fe958a206dd8510417e4f38d06a5c8f9596e99f0b29ccbce0789d7a69b8070e7eb9f0b1caf8802f6f0ac2f4fc30";
-  sha512.doc = "6f6e844bb8dc40e2b2ed45e439399fc0208dd9c2e8b76e91c23c3945b1163c12d1c4f81885aa00470778400ac0ac088552a803fcd2d7ce160624e17d1041148a";
+  sha512.run = "46dde83ed04d4586eb6a2af393ab925aa7238a30c23f49ea33f0da331e2a5071447c5df22b31c2cd9b10bd37458794fe15e53e0e79f002bbcf95b0471d6a7d02";
+  sha512.doc = "a87b6ab25848571770bc8a7ac1f47e139c7a2abebf36b9c72b65bc66e02c14b23f7b0d2246c7160b7669460f52afd29063449c6659336f01f3e99df53cbb4428";
   hasRunfiles = true;
   version = "1.9.1";
 };
 "refenums" = {
   stripPrefix = 0;
-  sha512.run = "e0316c337a7f7ceac42a0127cdc8988cdc4a3e3eda697f8595564dc44e909e90cdcfe963b0af64be0def5c8711882489e779729d286930a350a2df7962bad0a0";
-  sha512.doc = "42fbf9dc873fe4c9ba26df085a2ddc7ee0ad9daaee9ed477b3d81f2f6ddcdfeb5e38be0e16f4badb09fb4cbd0d5fe26f57426c5730a3a6ce4abb43b9f92eecaf";
+  sha512.run = "7113ba67dcaf3ca2a070e42b4fa9660889bdf7803401cc0f8c3f9f62c59e467d9f637c526712bf9aa9fc7ac3df3c550a41f419de9cff375e24e68d102207e8af";
+  sha512.doc = "3511419e6507d2c5a7b48679e9220e63643b38f803e8a5d7046a55ea6b6f4827fdfabb74336fe61ba35628868a7f042ad472567e73351d13ab9568c508468a97";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "reflectgraphics" = {
   stripPrefix = 0;
-  sha512.run = "dd16175f0b8fd9c8e5c685f604d88bbb691566f605f580f6da24a0a28582e778de6466c2b796c0e268b86a804f6b1a35eb99538facf58d2556ac41693b27ff2e";
-  sha512.doc = "9295a8254ec7cfc25d2f634e332bd13f771928d87190e9a1849f1567bdfa60ed578d3cd663d25e4b6ace9f5ed44de854fc90ae3c20fd746dcc278724d7c2cf98";
-  sha512.source = "0d0663f57910f746dab93bd690d36bdf9268e49a83656cf55d0aa228fbae9ba3485ce1d3a97e2ad1305bc6f0d2f7503aa05d5000b7c59820997250c28e821264";
+  sha512.run = "ad670c699d958eaf103db1ae65d79bad78dbb0677c7464144739fd67b63dc5acd3c298f81c81f258de477fe9f2d4a4177de887ce1c031ac9c701662167c1a5d6";
+  sha512.doc = "78717728d537cf0dacaee67151cd7f19fef6fa031a856ac49a58bb576337690df4323c80e1ff0f318a4eda3689fbdbc2aa5a3bbcef69b957fc4615ff825e1e0a";
+  sha512.source = "f228c9e8dedcd7d261269c896b0ef1ebeb7efc18a0137fcd64765ec92b957eb634d8e0e2d4f6aceebf1760e65936c6bb1a7b706c852e6c220282448830b7f672";
   hasRunfiles = true;
   version = "0.2c";
 };
 "refman" = {
   stripPrefix = 0;
-  sha512.run = "da577aa3bebfaeb4d29690026aec5da1095ab4eb79411f403a538c7f9b2635effee7996335091e986d0a427cd44f6998cced1f6127521ecd3de14db29cfef60b";
-  sha512.doc = "e502af19b2802b452262cf571f190ed3dab5f03dc28b9172514fabf87f5aa5bcadb34b4bed8f87edde52e336f8fdbb054cd2a714caac8059138d98945adde280";
-  sha512.source = "4fe4d09fb37764a7c407ac03f10e5e6a50ac919c61c4a600e473b364edd486cbed61096d32757b296e5dfb20a21002bc840f61450d23f24ad62b67dcff98b1cc";
+  sha512.run = "45f51a654703a7e749e7dbb08fd0ccedc86b5f264ce08b504ed11827799202583f81a4f3fe32dae0794e20cefe2e6bbd0ff8563955c3a85eac2642c307aaf332";
+  sha512.doc = "560d70322bcedfd0ca6a10c161d3930d389e77fef25ed568f5a68ec87eaa63efd4f7dd2363bab283af00a49719c3c8ba38e8a35ca011ea349dd854a0698ec79f";
+  sha512.source = "722e2493c24738bf767b271183eb1422ab103b84dec17d28f615a52d9b35e1671d3745fc5a6fc97b2a9d7934f314fbc7dba9734af8e0c802cc6760940112230c";
   hasRunfiles = true;
   version = "2.0e";
 };
 "refstyle" = {
   stripPrefix = 0;
-  sha512.run = "5bb4d79fe30672f95ea084db1632975a676674e4f984afd6b4caf2bc6cba9f1c2f75b49e1b5c6050e80891cfcf9113e7d7f0e37a632fff79537dd3f392216b3f";
-  sha512.doc = "2f05d938e046e8681f6f50a96f4a8e45798425edd3bceda57cb848265a0f7808d8df1a7c753a1629e0c8086ffda01da9e7cc30f708d75411831f928eb8addd1d";
-  sha512.source = "5363ef536d1b3f34fbe4bb59d36c85dab8af7624cd14fec6ee0a94dd9f1fe786c3826265230b9b1c9a8f407cd3fad32284a3caf04c9fbf6381e4e7d7c5128abd";
+  sha512.run = "15ab0ac1b41608ed2453bf1de27515aaeabd0b06a3e44fa3ced6b67f5e79cf237e92112848622303df2e174ae1e60b77ff31583837f3b12a447f8c4509891cbc";
+  sha512.doc = "9edca88347914ef7810c3b1639cb85f598963404620a99f81f5bd56d45b684e55bf179ba46a5a49953a88151251ec084fe6126fa3ce83d2635450bad25e07059";
+  sha512.source = "9052f56bd87d9ecfb2bd09a3de7f1740837d1e0fea17eb2ff11c1bddc11ad2cdf3d9287167df61f0ebf1eeb4bdf7eed3b5a19b748ee8e560a7695e0418291a6f";
   hasRunfiles = true;
   version = "0.5";
 };
 "regcount" = {
   stripPrefix = 0;
-  sha512.run = "4d21ec19807c682d235cd1375ed98651f050b6feb969945efa5d5ef3f869259e735e21e7ec3ce358703564863f266fb428b2fc046d6b8658068c4190d5c9336f";
-  sha512.doc = "03a7a0d3627d4ca7cd47f175333e42f37ffb520b9757f8a522e11b640b8329d65f1a979041228010c0e51b8c3640b4b3f1a164ff4e2eefaa3ed6040381f30693";
-  sha512.source = "4ffd91a882ba6b24024f8a9504eb2928d1fdcadda6c56fa3c88b5c22a8b377831667192dcc347624ede01e0df2def6f7b48ef2a7272a5b3d2f26627bd07d06e5";
+  sha512.run = "6481e37b45ec26aa270637b465d9fabef010c6717c0a402f0bc2afaf5dfcd877e46fd8699ff8fa39d80218e6f319e09acec1417a47fedefe6da5d90a81b2928d";
+  sha512.doc = "19215d4d4e22777b236f4226d82cebb1d0f8ced841cb33a4b275f0cb558c3addd4a1fd76d3aae9cac5e275695e197574145649be5f767372bd1bff13ec76cbb7";
+  sha512.source = "4b152aa79080914fa59e2b8a3103fea930ad3a0ab8959c570eba06ba36596d82ba58d03a4404cac9b2ebe3d073ca0eaff856a892b3d1e84d183a9ed60f32e42a";
   hasRunfiles = true;
   version = "1.0";
 };
 "regexpatch" = {
   stripPrefix = 0;
-  sha512.run = "abdabd6c881546cc7015df2d5709bbfdd55f26368b3f661e1452be406b74c925a7bac9b71e583a4a58106b984f9a8bb42fe727efb009df10067a09f192ccc1c1";
-  sha512.doc = "ad121e01efeea9252c3f8454cec40960518f1be072c70e912525061a5e55ae6e58eb35af697fa205d2374ddda7d46e9dbaeea4c1bf7065b1afba19d4c4804e98";
-  sha512.source = "41da5b3100efce4544618b9e716b402d33d24a832c29dee214feb59d6b7498edb70fd2812a947b1afcf4ab9f9c6a6d3f72f71018f95777810e64ab0cf2fedc6c";
+  sha512.run = "ef1f12a2480834e447110945e685cea36a5e72abb462106bdc42b086cbbf0d0f9857429d1c5ec243eaba74ee39ce8af29a758f8741a6a7dae05f376786971ea4";
+  sha512.doc = "6c6ee8769f2a602c4afa9e043daeb5151db1d5aa92732201f0d3c36d07cc754a9dcc09a15fb2cfe69527aa80633b26cc522bff0b696d774db933b6dd0c916369";
+  sha512.source = "596024cf733d8a0e51d632ed2b1c9d7ef7594636a46be04b80dcb6fcb6b5b4cb45c8e0fcaf8b6ad5c1dbffb2206eec8ef6c2eb20a2af59258edb72983169ecfd";
   hasRunfiles = true;
   version = "0.2d";
 };
 "register" = {
   stripPrefix = 0;
-  sha512.run = "672fcab03a060e247e63a1c50af48abf7bb4a2b9d061d1ee4c08a48bcc15cdbf1c7779485ee6de662a5d8a42846d8d8dba81683e4c9f3f6e3ab7715cdb05170b";
-  sha512.doc = "956a0d1ff73f5a116c8927e87a07a9d8cb988185ed83b1884527beffd6a92a622d314bc4fb2fba7f3490da5b817e85099f2c11b0ffeba266c1d097006f3924db";
-  sha512.source = "a60f469079a2e45e19bd0e421efa692d4de08aff6c9f4c7b1582aff71a9b3591addaf7a65e6d456cf83b3d95f8be38dceb13b055e5ce40cd1f4c333cdf16fcee";
+  sha512.run = "049cdd2039a37857bde1ef3f7296da1b6e95a62f366e43b508db8ef70e6afca7a763632078a5379c620692febd49df3afe4049d8c97971fdddd37afd8e357515";
+  sha512.doc = "fe09f70f908d9b96ad961bbb6c44731572eec871f3adde68dd5b0a094ce932ed15e8bca7982997f17e771d202d9bee6d397f1c4c6823022faf53baa47e40dcb0";
+  sha512.source = "631a77363ec20f7cf849fbf17604870bf7868ac3d4a89768b7ae72abef34f2862502ab51bcce7b164fa497f5922a29755ac4e1a2d3ee2d7471a28be9bfdad89a";
   hasRunfiles = true;
   version = "1.9";
 };
 "regstats" = {
   stripPrefix = 0;
-  sha512.run = "95dcf3868924ad3a0cb7b6213ca258a000826e111ee0410d6afc443ce7bc8f3cbea085d6d54c1dc8a497262dc629a2e12c585096563654103322bf22ce525b89";
-  sha512.doc = "0e39c513491cfd0e0f07d4846fcb89fe015d202bb6d24ec6dc9a2969c415faa86e0c790438f9e84b5e9aae5c8208d665db7d21a997c91428311515d3652fa2f1";
-  sha512.source = "850c538dd71fb9cabfc5f7d9e1575038dd0bb4827bf046789c43156aa10a0a2c3dd0017ef8919709c9c088bcc3a6e834733ec338de95e7d08bef0e4c90036222";
+  sha512.run = "95e68cf4ea4cbb34801a7412ef1ce87fd75d017681e43ccb86e56ff47494aaf95e3cdccb4f0c2ea6a276d99960df881857d9a138368fa6cd37d7f38554ad84dc";
+  sha512.doc = "1883f17190f3b24414dc8ef7f874cb50d682b5dcdf45f8bf95fd15b3347996de37a7839b727da4cdc9e39869ee1def31ed1b2be02e48bc68a81c0d2f8aef8be2";
+  sha512.source = "4e7392bd85860ae971fcd06025f5753d7f2c815cb216d6a53eba1504c4f9de7fee9826807149826ee69c6776f17a0f0f537ffe7ad1be04597ce221d5cd8f7ff4";
   hasRunfiles = true;
   version = "1.0h";
 };
 "reledmac" = {
   stripPrefix = 0;
-  sha512.run = "f733676bcbc1b86fa406d83f4d4f67cafaf2043dc53e6c9b6c705dbc89cbfd615273e9e7204d2c3f10e0190a5300670d06012c572a36cc52297d90cd79e291f2";
-  sha512.doc = "4b30656ae6ca930e23ac8ecb0618fe2b33e6f1cfa81315a6aca46ad7cf2ff774550f9c549d8e9cc533df5145ee7f1c0a9506e7311beab624c24fff70e6b30736";
-  sha512.source = "a32c2a4ab34f44af0ab45da934ade8824f64ed1c89b3868de517dc39f6bee983239c8162b74db5c7088df582a6c7b8706b79fa58666b9b2be6e5c88174db56fa";
+  sha512.run = "0407a52e981e13a710bf898ada7a0217e76b87f922326c61cb914f3e309ebfb064417315cee2c66bcbdc17c13812871f42454edf64de63e39456a61108ae4c3e";
+  sha512.doc = "3dbdfac8f7dd936b7685003246106c80d02655ea76a08b4a3acb8acebc9b7ef9bb70d28544fc74456e057276139b7f9e19e291f7d8d73d76a4880b981f8dd890";
+  sha512.source = "eb9b558d7182c4c41bd74e00c6648ba593bd7887ef25878b24f7108111d7f28ecbf81589d1f2539393bba6e9ef9c8878bdee7da29c51a1d86bd3db29ff4200a6";
   hasRunfiles = true;
-  version = "2.31.0";
+  version = "2.32.1";
 };
 "relenc" = {
   stripPrefix = 0;
-  sha512.run = "f03aa519f1752ecb45c1c0e0dabd575195e527ef7744a2d2512e3f7ee2f21594e0e2515a0a79fcfe98d3acbf34563665e70dd21925255096351016914e40bda6";
-  sha512.doc = "2d57f5e3420eb78c188243e571656a91bbb628bbf3298527975952f6dc930adc571a7712d3392905f3b28d664e07194e00e0f4f7d1176e83e52d624cf0fa2d8f";
-  sha512.source = "72aff8b877014e0321f9e242cd13829ea95a27e33ce75d5d00868cf65bca3d9f0f745f449d5e7a5b7d7e07a1073ae20c94f59bb038a50e43a1b13fcba694ea31";
+  sha512.run = "d638db869698a6b564f1482c3ffbda561bac0da00e008b5b3ddcbe267587813042bd3d578ea871f5ef48a27309baf8e290413b65f99daa26ba7a8b2a1dc62050";
+  sha512.doc = "b5e81a7edf8e7d0c3be9ea46ffb2a43af5d58153ee91d656faba600d4082a8982706744ba1991c82ce8c119fd12fcc0eaee30353135338154b0445e48f33472f";
+  sha512.source = "ef1a5c1034dfac3ed942354fad6a9e4cca44a33d2252120fe824bb41280453a6c8e00c259331e4159206f60e5043664bb4008e758d8b81dff06c7d68c3382e6a";
   hasRunfiles = true;
 };
 "relsize" = {
   stripPrefix = 0;
-  sha512.run = "86ee036834c90d8ef64f8be67059cc80cc053f90d1356e13a597422c07bbf40e81e0cc8ea0166034a2aa0fb81fd0fa82d431372bb0552c0491a56fd8e119c7e9";
-  sha512.doc = "b5ea1ab1cd882e649e91ef3172d2121f3b5252b63fb1ce79cecebbffe2600de63cca07d0aaff72c5c0f63720483e22d241bac94e7740e1924e64de02d8dd17c7";
+  sha512.run = "90a4829b63d86214c44cadab6b9c9c114d6abfbd72dd4cd8bddb18add9b7fede2867f39d57b03ac9e7762950db71664767554b515b5409cc873d8b31aebb2c1c";
+  sha512.doc = "45b6e38a14c31d7387a99d78c395fd0cdab5ee8bbbe72f840d511d14f6af73f749649b48977e8a995c2ee375358677b31a97646c8162c5fe2ee6c286a05a20b8";
   hasRunfiles = true;
   version = "4.1";
 };
 "reotex" = {
   stripPrefix = 0;
-  sha512.run = "b08f2a86ed6f3377c099c605469ff5e6fc5f9033bfe599da755de27fa7d0daa58ab4067a84705b080f4d7410f2871da2c4e2a8ef5b1e2258ebf74917d0b5572d";
-  sha512.doc = "2d71592807ac5985bedc8f9a731bbf13f572376cd64cf5733d3b6acaafb3020c34f5137030d3374d4f353cba259f6794f3ddf70100a00f0907f9d568d9ef6ff5";
+  sha512.run = "e97663d414291b3d0a009143ea370676bdc69b1897492ef86bd2092e47fcead566151f175676b4a19e196054ecd4a41706a74e9d4e6ba353d9e346786d04a2d9";
+  sha512.doc = "fbdfd00526129921896db36234343d991bba29b68adfdd06d9fce262a58b2cc544dbe49d28cb9722eff1fd03ba3a765e38368baeddff18e36bde436c56ce538d";
   hasRunfiles = true;
   version = "1.1";
 };
 "repeatindex" = {
   stripPrefix = 0;
-  sha512.run = "a9e66561c2293b4ebbb41139c31ab27733bb9d2e89839a14545185973f7c19f34120eb0c046edd3716e24bc676e4bff0418b6ff6141373339510814c82ff3b05";
-  sha512.doc = "1def6a75ee033441b3cf93841cfc98bd68f15f40da246404d56fa934453bcbb8479927d5e2e624a0c1acffb8927603bb88c47a06825807b17f9ea285bdec802f";
+  sha512.run = "f700f201ff05d25fafde3eafd63ddb5aeba81dfe8be0dc4522a08459f35b3ab78cd06d215477ef5bd59c1dd6d1a05361ddfdc21159f3b6347f5a8271c4193192";
+  sha512.doc = "031a5113799f662b88b2275f2f82467e2fd84ae58d18f4cb69e090aad7f2c8cb44eefc4c43f3fcda9e92de0c0027fd4ecaf9f152d33b73ebb69f06e6b4c8c1ae";
   hasRunfiles = true;
   version = "0.01";
 };
 "repere" = {
   stripPrefix = 0;
-  sha512.run = "e3ce2652e341725ed471dcb6ec77a3e52beb9890f91d6278429f06482f9feb74bbc0bc4eff9c7d406177fdf6908809578ea1a26ad60919b1faed35b0565605d5";
-  sha512.doc = "e9060efc93dfdbd1053f11fe982f204ae3fa248c8b627c86f9793e640fcba27ddd6352ac4b932f0194878c269b6d9afeb841d4a33737d091921843d854d3bf8b";
+  sha512.run = "4bcfbea44ee34209ce95d6a64de3973eed864ac0e2453ab0afd8e1e05faa2d97fd8d90e90f4d2e1c8f1eb337321cba8c10b03975e1cd75aa32ec5c7373d54316";
+  sha512.doc = "8a68f168573fa33ea635578aeeeb51060c3eae9f09ddd7dae1d49aca6de2a8eab7c857336eee1c17e2d4e1a7bb5f2440cd1901bf9aa61961966f727827cab38f";
   hasRunfiles = true;
-  version = "17.11.2";
+  version = "19.06";
 };
 "repltext" = {
   stripPrefix = 0;
-  sha512.run = "141472cbfd051a8214297eb33923ec8fddad751d41caec16089e5455c69c8e77e2bc33186f82f69315aa1e5e18a4e01658065d429b4324af4f70e036c8d5bd23";
-  sha512.doc = "375a170885bb43f79e5f86017b4ddc415c975cba2d0c58bb12affbf7a06330d274104196743b72a0f7c46d2d3632507b984785e2e00453dc5104f8ca93d963fb";
-  sha512.source = "e8662123b7ced46ff9b79fa0eb21fc0372967c4b871bb50a5c61a6a64fe6333cfdd0ab0f3c1bd3bfdbaaeaa8d08526295dd8310306e9b9ae2d85973fdc6b2136";
+  sha512.run = "32d4e90befc06db973de384855c174ea0ed9ae938a9ea280118d82387fbcbdeeab8fd1143a96c9afb2b904766e5fc43c0d4eec93d763b3e0e730ac06f6883c9b";
+  sha512.doc = "ead39615e96c4247be7072dc4fd715288ee1c8cddeb4cf88c5ea79a6659808936fa6eaba3dced3efeb6802e58bef4632604e92d1f00c29b8f0bb3a241d56559f";
+  sha512.source = "f01bb1d0ac9a4ae0303770faf083c447d3d800b43848d11560f67ed43c50f09e742e27683e911395b9ee7d29bf962f4b3b6791d3d25fac630d57c967bd14db4c";
   hasRunfiles = true;
   version = "1.0";
 };
 "resphilosophica" = {
   stripPrefix = 0;
-  sha512.run = "4338f4155c8fd6dd98d62b8361ef8a6d2b01e5761f6461a6cc6e024a572d1c0a406ba2854e7eb45f7b30f0040fe8f31e6106bdd12ff31b9654b53736b1ae02e2";
-  sha512.doc = "aca4925004da2f1dc3470e646dc5cdb6513217a05d61618a1c2b6fee1a9a05ffac2831319739afbea9d3b01fbe1d3f21c9e575ebf0af98292ffdaff6f4b1fa61";
-  sha512.source = "f9558cb0f4fc7c647ddae6e480e6e40c4af0406cbd137a11a10036f10e9aa08b03a4920b3ce5d41183405dcf2e798b63bffff40da36bc7aea407ab1bdce6382e";
+  sha512.run = "0ed9a50305132206585f322ba68fb514e0a4d566fc703a617cc6eda1de23b53820ee45231167f8b81aac826de732763e3c141a9ab65d13fac5d76e92d2101cde";
+  sha512.doc = "30739549cd7295186c10a54232e4ed57d6c2a589acf6f27ee758a40880e7a4178375835662b88bd78bd50ed0f695c71650003ae5ea78c63f5dcbefa15c5dd770";
+  sha512.source = "cfbaa18ff43da9287755c0cb3f218a57f034862ff9a63b3b77bc51e8171afc7c4042ee567230e7d1c263d7f993976bf4c2f3bfc055f0dd759b034d6d42d6df78";
   hasRunfiles = true;
-  version = "1.33";
+  version = "1.35";
 };
 "resumecls" = {
   stripPrefix = 0;
-  sha512.run = "1d6bc53eb0915b7be73ec9b02e4a7bcfa4368c662595fcbec203a2ca2b6ef5a4a486bcddcf55057b5a7483fa2003c3110c5c9263ca1ea5cc344a0fa490124b27";
-  sha512.doc = "123308938dd4d2d7fc4f1d6597adaa6d0024588f0f277b5d6430ff3c7abb2fb81327a5b70cafb061c1bfd7b830034a8aa12e07a0de3b0f1205fb7b83a44f4811";
-  sha512.source = "e1489dbb558433d7d5f0e69c69067df4304b1daee5c81dcd68ef6f9bdaf3f0f68976639a51c5473a162434f818bb6b5761038df75d1d740f07b6824166cc2b7d";
+  sha512.run = "b7709500024b7badee75ef912158b368e9e3d01a6051b75ab0fbc4e5c90c6bee36226096a29891a32e1ef6dcb87a10e23b4fa1531c34caa48443c22726b07c81";
+  sha512.doc = "a99f08f236cbcb321a106acc6b768aaa0aa10a7d101dc635dbadd161e1681531950cbc161553cda82f2edcf0cf94af7b89f5d53d504c049181c3f63a0d0ce527";
+  sha512.source = "071e7d3d835313f0ca38d90f632d8c83583fd552de2b612cabe0f4c6bec097c944a1cb18f316d74cabf6ec0a0d4d3e890f2adb1904ca01af939cb97470430a77";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "resumemac" = {
   stripPrefix = 0;
-  sha512.run = "9be9b7ecac2537e49c8513df20555d6f5c2f077d33486fa6b82a8b2b1f2b31d9e9b9a310542444218d288d95a9a34a9b2d8299f8477e049de5c71169223f3b2d";
-  sha512.doc = "6f185446f9b9edb7e8e07ea37e33ced0e1f443c0556c21d25c9eb49f62055cfe126440ccb8417490336752bb59aaafd563b7f6143572c833a46442f24e1912ae";
+  sha512.run = "f944441058cbe8468ed6646dcb10e09cbac78d5c7408c2a81f2531491739034e47da9fe8f45583008892740a57a2d36bbd1417f05f8d998bd79f886bfbad87bc";
+  sha512.doc = "5b89a7684cbe4da1c653d4a6253f82304b7b3634a9dc973e5f7da41967bdb034597e64a4fd82a922fac5ca62ee40e2ce35be6234deceb25000ff9103859e165b";
   hasRunfiles = true;
 };
 "returntogrid" = {
   stripPrefix = 0;
-  sha512.run = "849dabf59a1e027cd0adc4a67476ac33d836897bb7a28b0174db76431caf7d738aea6917052f3350a62e55186169ead1aff553742fe59969c207b2591fa96ae0";
-  sha512.doc = "921406ec234440af7609afdaf32e8ba0f62be9df1a14649e294ff1b2f2a0f01db091686e7f081bc705cde54277ca22af8cc0230a9d57df3fef6f7c46f9ae2ee0";
+  sha512.run = "751eddac662b8ca6d61edde7a25b11c357c497743aa0edff92be2a672fa13e4a92e6aaf40a8ed69853db642d656c3f54ad0af6cb35c94fe59cd540fa19f7b964";
+  sha512.doc = "6f5eb1997e25ceaa7a8956ced78c584058cb8f9fc112f98c350ff996826188f9b7748b7bedc6c19ec0912894500a4743dc7542532317016ef3d295563c450889";
   hasRunfiles = true;
   version = "0.2";
 };
 "reverxii" = {
   stripPrefix = 0;
-  sha512.run = "6f665c581ffce69f049a41aefd4f201d589a661bf869edbf796229c7df86a94799e9db3d8c392976022276d272857fba8ad42e1c7f06c4a45375d986aacdd5b6";
-  sha512.doc = "0b82d8e6a4ca1c76283e76f23102dbbc4b4eaff876705bddf22bfeab4614ed4f36c1781b5960114e81248c7f4abe10e0b08bfc637dc5ab5acc3b76b3359231a7";
+  sha512.run = "fa6efb9655cda15356163a93ca89f2b6a114ea5bdc151774bc99910fabd3306781319f92a5b5728f29df136c73f994f49011e31ea9c1c01b4ef2fed10af10a93";
+  sha512.doc = "ff6b03b426de5508eb31fa5b2fe615fd5b7f0a6721e949bb48e1954c28cb547faa079461c0b1f885163bcba40c7f7d2a3fdc7dfb3946c08c308f5c37d33605a2";
 };
 "revquantum" = {
   stripPrefix = 0;
-  sha512.run = "66a2a46daf5481cdd87e40064a04842cd891f5aff16b7fa8d170a62712880ceca8b01c2cfc649933ffb3d25f1de49fffd9de5545901a5ad89c64ff91bdfabd90";
-  sha512.doc = "eeb197d2172bf70dd8afa13d6192d39c222a4e37f190b2434e21cf4116ae713f6b71a423e3358bed2b7e4d9adeac3a28246263ae26dda6a773ca6603a27fdeb0";
-  sha512.source = "f448867460bee1a27f9445bd278ab4692499f8e44c1bfc949ee1387dcd6a30239c97745ecb8866016657feb6653904a32c1428305b29c45e827450d305c70ae4";
+  sha512.run = "0e69ce3a2a4a1c289d494e081cd28e9c14c84a45717880e92292cc94803783a350bbe33426c4f5e7ebf64e5b28876e656ab2f1ce681b86c27c7a3c6700563a41";
+  sha512.doc = "16b8ff06bbc2155a853a26a0b622e3f89bb7d35439945948128fb37d342d293951526d415a3da9a01381f841dd61287317e52dddda8e8fa6e0eaa5d6a0006dc2";
+  sha512.source = "47e7a900aaa9198875acb1a0727bd30b64c0d41e9c33cd6240c29b8d67b17960f1ff05f717701385f627e6827881d365c01ed68b1adea8bd3e1b5423700f9bc6";
   hasRunfiles = true;
   version = "0.11";
 };
 "revtex" = {
   stripPrefix = 0;
-  sha512.run = "28932080c93b53763a1d33090a084fb392d4d8bf519995f1d02fbbc93038290d4c24f7820a652d2fd7bd59e13a5d84bd346667e212eb8b56e2751f7ffbfa8ddd";
-  sha512.doc = "e843590507b385167a67dc95969bfb54626ac024589ea0c92aeda1079034e8173953ebf1b35b01ac44bf6cc852b38710a277b3c5bd368977c797c5c627910c88";
-  sha512.source = "ec51491023f49e14f6a0b1e634c21d458226624ffdb6c8b63fc550fc30deb19c1b47080f252b229012214ecc404b5652b5aecfa797f2eab12676d24a67616be4";
+  sha512.run = "c3303edee2d0d7f160381ce91c4018023d70fca88c215d5ed9d46abcdb71eb79ec5a06a899575748dd9d2572323cf80f0ddde75b9c7ab72deca5fb9bf396e0dc";
+  sha512.doc = "ebf8f55ef5775b38cde9199e6c604e71400608e6a06bc59482fd017be8d5be68ed08e21ee87a11eaaf59e09af0f89fd7be1f6334fb67e3ca1914ef2c5e382e8d";
+  sha512.source = "544482b0bb2b9a0f8d0d520cd22c3030bd2efaa88bea1e4f2ff032dd3fccb440766503c7d1a2b467c5de1386509e319235794659683c2248987b743c5d53f3ac";
   hasRunfiles = true;
   version = "4.2c";
 };
 "revtex4" = {
   stripPrefix = 0;
-  sha512.run = "8cac2a271af2d1fce6b7494fa18aa9e85daf49ddf6fb5f19683cd6cbda856dd46cc7f4d798fc192953462aa3be0e7b04774c8216e6926e001569286eb39edc77";
-  sha512.doc = "75e7494c11ca25c2cbb2b4925a7eeb88113139857c353bea1413e0b2ccc9f05d949c892b4ae27750433aef5fb789a0e07520260afc4baf10a430051a0cc878eb";
-  sha512.source = "aecf26db235637ae637522e68994e58af0e337d547e7b9395dd56980e27c792fe4a1317d1a487af10be5e622e09b1ccc14436943eb1baafda44a1b1262bcbd94";
+  sha512.run = "7b4902efc551bb4224304adc3553a229393bcfbbf8c052b6e3d4e0f800ac3bb2f2f838f3e77144aa1693fd09f06c7a05c22d7ab0de9de382c53829891fb0f44d";
+  sha512.doc = "d0757cce30acb2703a78310d1a9d27c7d28f5c697c3e70e5df9b2cc63ea122604b618615fa07da586cf8f78ec04b5eb9fb129a59a9504c6cec5acc07d05cf1ec";
+  sha512.source = "ac0cef14df3a8398ea96a0fa3d947f550305a45928ed539a6760e5d8812f8a4c69f94352c36bf86584ede364220fc1129ffd54281fc98c62f01fe51d23448fd5";
   hasRunfiles = true;
   version = "4.0";
 };
 "rgltxdoc" = {
   stripPrefix = 0;
-  sha512.run = "636211302ead3799afc0657b22d2db0a00f210aef4203b918a5958ca17e056ae3c35728087ef58eadcf19b538d632d569fb22e283b821dd3e350f31452f68287";
-  sha512.doc = "677e9da2a1848a7278ca898767e34aeb52781b7cddb8d1d15de95c24564369df5a96ab95833611007cf22b97834079193bbc21390371b8e1daf1df145f2db68f";
-  sha512.source = "f38f600150f33a091ad6724e2d0c1e8e9c330d9bad0bff6ff628800da0432fcdc9e6480ee47d2f6baf3bea2a8206f54afc146885843b59886a4ac3d9edd7f28c";
+  sha512.run = "dce35e42e8a81cef5f31db1beddcae93b7c02a8baf3563e21a95d5f3a13daca83368c432702e7836dc9ed8cac2e55e0276062a643ced3b41ac85db9280e74d99";
+  sha512.doc = "c194c7464e2e3689309aa54a4a26d5bdc30f0b865448b1b3e51b8cc7288a91ae2d40914de3064d766e7142c0c319ad389a166711cef2d9758ff2309b7a86fb36";
+  sha512.source = "8df979de9f4ac297ee94d7fc3758e9c7e2430ee8ed6206012a55f15a57c4c683c65dc186b835fd7a1864a5437c41875b0aea136b00d5808f5c4d10641824a7c7";
   hasRunfiles = true;
-  version = "1";
+  version = "1.2";
 };
 "ribbonproofs" = {
   stripPrefix = 0;
-  sha512.run = "051362589f58d6c6c7d9b763ad0ca281cad41c445f127be0622f6c125d541f6572892641a9e6bc22c52e81b645e79960987a5eeaba31399e304f9a3f9004b4c4";
-  sha512.doc = "3c1b00a1d64260978c3e6a25a45e1c90435955e2f0924e3c2d5c244303a6776d605f030d8e9a7953358e466482b356d270eb00fbf393ac9abadf88c8999536dd";
+  sha512.run = "88d1ea87819bef7f8e70e0df273315981c28ffdbc00247431afb8b92959aa2e0a3e489b01f7571d30ffaf3606d240f25bee6487fc704f39417146a93403bcb3b";
+  sha512.doc = "d0efb33c19d632253384182b562cf0e0aa10be81ce2336992c83ca7d25abce37c44b152cc8e928cdac90709cb99a4a5caf3ce8a631b13762aee7b39ad92da3a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "rjlparshap" = {
   stripPrefix = 0;
-  sha512.run = "d07a0ffe9f6620994142d7d12e64bb30e1b439bb3da2b2af07829523fabae1ff7b8260f6cb6e34896af91abc9d9a5a5d797d50541736707bdbe0e2ec1258b30b";
-  sha512.doc = "4e51465a60181745a38abfae79158fcdf38b77cb10318fea1223129e2a7625366cf0556cf57ed81d337fe540281df2e68b6c7534bc65e9336f9942e9d59e157e";
-  sha512.source = "5d9892ca17bd10515ce33f58877e6469a1b09cb567e7d06cda9507601e90d1c4afcc26d8823e63e5be52d3b00f695b6f78fc102c213990322d4ec68e2f5377e6";
+  sha512.run = "9a7f5f821635f110d9bad0015d9fdf489f836cc6ec0c101f63a3bf5bf9235d7446dad98db1325b0720bab85d68432f4cbdbc6dfc78456329a8c48b47d9212abb";
+  sha512.doc = "73987b63cd565766586dff08144bb9cfab13b7251053d5f008ccb7dd3091ec9d3bbe8ed92fd8e7dddce93afd13a649e68826468b87947a036a054fea76225921";
+  sha512.source = "37af8ef7c124fc331a4156b177578aed29b99777a0270ef819b896e5f6dac9b694c3a05ea439cdc21533a405bd052e071036682b0846905c09ce95c32a986dff";
   hasRunfiles = true;
   version = "1.0";
 };
 "rlepsf" = {
   stripPrefix = 0;
-  sha512.run = "1caad08d95b81c2445f75e37ee939faac5a251a82b42d4303d5d70db14f77d114075279602a0fbe1565fc228895ee166951f0e5adc27b6a88f5e098e64be0525";
-  sha512.doc = "ca7e0a9179e7d6a97d107aa2e163c6f906cd74be722ddbb4e4aaa39b133188377847891ef970274cd752cc3d1375c4463527ec662d62ca90004c0a376755a37a";
+  sha512.run = "198037c1fd20eaa28b727054607241b7ada10c9dbf4d48cd36f295a8b51a7d4f94859d2349d3d4e831a74e0da025ccaaf91fb53a3074a704f7a3216bb7df0cf1";
+  sha512.doc = "fc06c857011fe01b07180c9530a334e021f5b9c034c65e15959e173a409670947c7aa406bf751d64d5d77d462139f4835824aa53203381d27d4ecb0e51463e7f";
   hasRunfiles = true;
 };
 "rmathbr" = {
   stripPrefix = 0;
-  sha512.run = "da4c62b69306375ca0f2ccbe8ad6573f716354408379cb4bde44f2c1aee7bc94bf47c1d18c78b7d2a78d670efe78aee43f985a5635a142af7e92bda42b27cc3a";
-  sha512.doc = "99100dbc2c3798b4a6227b7e43664ed954de22c56f3105db164bf4f6605aeeb54b2de63417c6dcd0b16136dc0235fd56ec68f848f4cfd3cba36f1cea55c1305e";
-  sha512.source = "32da36a82ab818e5c3a44e8e53430d7ba02069abd03a259948c83dd45c4d16e32b0229237000348635b523a602dc573216994f24df243e44170e3d3a7cbbac6f";
+  sha512.run = "71ad547496a4159f2ac609bd695bd3a38879dad118cc18bc58d8fc4c5a8da3d77abc609a0638584495dbb77bdf2078a30ac82f2534bfdf5b620d056b20aa7a8b";
+  sha512.doc = "ab1b89d94e5fe92023ccfad1264aa38dac9be485d2717b4afb82a441e6bd8eb5813892c20c33a65741f62e6a8c4bbd3e3c778fe86f7d0da72080d51476f49a38";
+  sha512.source = "255ef1cae8a42e34e11e1cc4b8599afe1f166208bef00372d89ab34baa55d3fcba298e01bc2d639568135c66e77e7fe62e558a6e3ba38485dde387ad76e0da4c";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "rmpage" = {
   stripPrefix = 0;
-  sha512.run = "3b8b56e8fd576ddc240ee8a4000524ac8831fc009b4c5d86da8a31669e1b9c38217a641f228f98fad93f91b436deb370efe02b652911bd1c27876a9a1defe5af";
-  sha512.doc = "6543fd6e9d1113764d0c90692fe3c62c052bab5a97e44220471e675733edde1f0232622ef89d6a12f0671caa042bd3e6243e0e7e232e1cbd029a736297ce7b96";
+  sha512.run = "d1627cfdf5ad3f23d03d4d06a4fa039e2ec7ca924245bbda7333b90a7cab8d1e22937cf23968eda45a2c3ff60dcae8a99e2223f9e235485a30ae68c4db7f901e";
+  sha512.doc = "25fdd83906edeb10e5493bdb00d05469dbf323bb7bd3df587a5f6dec5af17ca844f27cff4eaca3eaa6b75928cde8a633f59b2029b60f03220d847222f589ddef";
   hasRunfiles = true;
   version = "0.92";
 };
 "roboto" = {
   stripPrefix = 0;
-  sha512.run = "cecbc5c38b92a3b4671376d8df2fcfca2305ea795461bb9d9ae9d84577d4cdd3d7094cf57f6cb69ae97c2749f5e31139a8fb6a85812d2462aac3646cfaf06883";
-  sha512.doc = "796c93c2c4adb904b292c939f173c821eec44a199cd8f55462c26c8a7aca02712c11a079a64750b89c03d9ae6db55dd99176f372658d2f98bf32d9ed7d4b0de1";
+  sha512.run = "1ee9e9e27e7ef6eb62d01849a9454a77830827b472cc492169660a02ec2e23fa88466462b3b4b568add687cad8c5cd0db59e71496d897cc9ad64a0167b0b6fd6";
+  sha512.doc = "45e5dff1445759080e9d62c8298fc333614fb2b0b6d8717bb05f522f1ce9593758832f27a99f0b778dd8da3c77c6c0367ca401f1976c91fe9afbfbafebd7459b";
   hasRunfiles = true;
 };
 "robustcommand" = {
   stripPrefix = 0;
-  sha512.run = "5ec54f58bff4f0a1a8bed4e3780bdd3d4c3b6c6e43f932463d69b49326769f7968a246d28a39541e9c0abb577e6a5c39bbe08684e636954207535bc445ca960d";
-  sha512.doc = "e3a16925b40835e4e1f86fe51ea7e4096b75ec9a4d01b48efa2cce2d5b2c4173151cf906979e973b5e52a8b9acdb2de923f9e3e798099ddae478635a765a0661";
-  sha512.source = "781737e3fc7f7d51fafe873dde914b9497add072445fbde5a6e0292f5faaa1b556ff845ca9da3b65f75fc64294059bd6e64fa4f0ac5306800f84a5095aa30900";
+  sha512.run = "806f997cf6c0eceec0c8d9b8f8207014c4ab9243f8007fc688674af2fd778455a787b9cf998262fb7d0a92ba8e2ffb597d61950c22a6122ad957a62ea54d9a42";
+  sha512.doc = "4d5c8a994edf816d39af12d7881793f0fda0223a3545559255674fa5a08f2d0fc9ad8ea2779b3c8bfe476966045f996b8b8f5da6fdd028188d28ae724c24a222";
+  sha512.source = "3dfb71a6a73f2ed968777eb1074d65773aaee7c1218b18fddd78e74a86f27d9cbf5fce79c41503c34e497b12543ec2e0c16d9f35d39b893e208a236fd66f4f50";
   hasRunfiles = true;
   version = "0.1";
 };
 "robustindex" = {
   stripPrefix = 0;
-  sha512.run = "a670936b0d7cad71144ebf2a7d763948decea5be4b03ec0042569e85348615b886a89ea795f14652e2378c9120b2524ee06e2cc0f0217b0f388b8004905c5ee0";
-  sha512.doc = "97846bbb5b2a50b317d1b359a0af27563d3b6ffd5b4d5a2d168a46832e5d88f1df16586629a731c34ab445c0b6302c71869b0bad818d8c64e47dd6540651007a";
+  sha512.run = "3aeac1a43261302532d7b5ee309d6cd94f54a2b17954c023bc6a94fa89c51291f3c4fd3276b03aa3ec65f4e21556d302c81aec107fac5dcb477941cb474dbbf3";
+  sha512.doc = "aab461e990176e1d0cb82573edcfe11a4bf668b2d09edff05f673fa20d24ec76464495bebc64086fe3bb4411d5ec9590f43cd57949bedaa3366f6c7313359f56";
   hasRunfiles = true;
 };
 "roex" = {
   stripPrefix = 0;
-  sha512.run = "6e95cc394d00a01bce5d7daa18a138ba4c25263365b3c072046e697e4a486091e27ea53fd0ce35619c96b6cd238f119aee534e5297e62164115dad6d95bee6c0";
-  sha512.source = "4b78a2ffa9e820d61217578726e88f1b386dfb8c373398784611b81d2f7b12590fd0b9b0c8b8a4e950593e2121013ee6ea0d13e8a774aa77603ef7ced0f7ae19";
+  sha512.run = "7df2224f9970b72cfa1474898c057799fe42d717876eed864f35aab113d01dfb483edb71f7f4a0a98b6762bbc309ce6fb51e41dc222a6f19be2025f6448fb1cd";
+  sha512.source = "d89d02dd79142344334678f2d8ec4f34eb825532e8be9260cd08a43b28e1aa94ff5655c1c1eadb2f9a365e51693f6195a4851e1420072c867d8b2c0f1cbcbbb4";
   hasRunfiles = true;
 };
 "romanbar" = {
   stripPrefix = 0;
-  sha512.run = "3f6f65b167fa3cf3014e35cfbdc2cf70d32f57d0ef0165b482358786229404d4a1d32422acb66b47aa2c9d7b452e34a0c36374e498a837bad9e4710a615be27c";
-  sha512.doc = "e8d6073154a1e8ad7a91c86775df596fd515ea5a93b78088c911cb93d303ef698db81508b0665dd4a01bd4598ef6ba46218ca3e27fbf25d2b7aeafe6e3fdb6dc";
-  sha512.source = "d642e141d2db2790fa604be55dea4ee97ee542a953aed7974be71223954242c554f71e5a41e0f23595cc521dca98693b4e4350e51fe48fef40b2114d2170289d";
+  sha512.run = "205ed0508765e58397953f28e6a1172d8684f8063fbaaf4d741f4f092e1f652879b414a3225c87bac01e4d41f01c2b0a44632e0cb3088c5c174fdbe42cf25272";
+  sha512.doc = "a5fc8c5d6e6a584de4394c59f9bacddc23fbec8d4639a0476cc0814404f1413774fa2d6bae3d8438cad2eeaacb56405680c0c6bcc152a5e4155ecb73de72f07b";
+  sha512.source = "9a96ef043dc3542251fab1dc299742b5c322518c61de8d365c290926f2365e5bd6b80a57fcaee19a30ad504ab51b2dcf71170303ab92eac97fe3db4a76dce08c";
   hasRunfiles = true;
   version = "1.0f";
 };
 "romanbarpagenumber" = {
   stripPrefix = 0;
-  sha512.run = "61ea143ef45b04bcfc489cd985ebce6defe3afc906cec0126269145fd9a0dc206fcc32da4e500cd7ae967040b56d9d7d8967c99eaee8261431c8c376a094f249";
-  sha512.doc = "36d53fe286904c144e8a14769d652fb1b2ddbf7d749d7aba49038b88f5487d9e1187de01370dce923f9341e8d92bbb4f5f49fe72e66456afac6b96ee6ca26a99";
-  sha512.source = "8b89749c065932c7af509b94baecb863ef2233f370ae512ee4b13323c9fbe2ece81da7dfd4c67012c826128f34a3c8ca41e19a67954b8f4d48eb65157ae322a8";
+  sha512.run = "7c8fbfcd5e9ec9e306e7ac836fb4c82db3bc42179bf77502b5299c17c4d3ad515b9397016d600011eb24c5d9f2eda23a485634c5aca3a765653cce32d7bf82c5";
+  sha512.doc = "a46bbeef023b74c576da84f9791d4d6d47a08091b43c6bf6936c4e17ff54ab2bf5b517cbf1d07e59c077e0981ac989570265df1fde7237ff24727e33d6f1b71c";
+  sha512.source = "953af4fff1fe7e6b3e4bfb7447a0da7207f93d7377ce365bfdf563c9dead97860826c8f5b8dc491164437523e27a040fee5b95b58f09f248166268197233f89c";
   hasRunfiles = true;
   version = "1.0";
 };
 "romande" = {
   stripPrefix = 0;
-  sha512.run = "91d82e42852e49f15da793732ebb892a1e9b340b9edf7d522a9e54e08138801be2c22e0464d66e1978bc03df6b8e5f102ec5449eea747dda13e7d397e1e655bd";
-  sha512.doc = "ff1ffaf46fc6822b2ae9c051bd21f96b44c38f73fa50123cb691c1a7304be885c378f4fb7649ab4b5b19f913255200c71575e8a9337018095b087b2c090ade9d";
-  sha512.source = "a73375a467747c5382872e4f1d8f0fa4d82233b17e8fbb7e3b94008e41b33aa07a084681d89e726229b1986dca0617caa24a6ee6ae72f3460d2e4869fc981bca";
+  sha512.run = "874883eb3592852dd6dfe2dc675a768bed8db80c0c617cad7c28bbefb2ca111adb410a584f75fad935bfec330765650ea9d0f73c8c5a9fe567526b5fb46ff17e";
+  sha512.doc = "708ffe5a4dccf8241eaee7d22787e0e30bbd10faa1cfd538836da676cbd4f67b16a80772f8a4cea08f59af6d41a697426c4a4254c481d13ac3a10157b2a679e0";
+  sha512.source = "040b154c19ee55910b05d0bfe355bbf000403fcc5c536a081e4569390c599123d64000680cb847ad710204d1c33d7ceb0ab7ea049847ff4ad0762fd9c0acfeeb";
   hasRunfiles = true;
   version = "1.008-v7-sc";
 };
 "romanneg" = {
   stripPrefix = 0;
-  sha512.run = "3c0bdbaec93e6040b9ba0c43c2c772d624a8fa1610c1242e2f6771326088c2c538c3f4628514919a6841d4ce4b20a18857caf1639a84c2e3ac99bba4c2b9e356";
-  sha512.doc = "745e21333be41a715121cca5fdc9581681994d9bdd2ab68d2baf524df95e146737a0ffad1bf284e7e9300af0ed0af29090a2be1ece1beb8b40165132024da9d5";
+  sha512.run = "4195303ca32b46d722bb148ce4079bbea7cec08fc74a7b0cb6232dcce517b7b5a10753be22fbaab62ec11d894955e1368f3a6dc2a2474cf9b9450e035bb73c11";
+  sha512.doc = "cd583b94911ed57e6c61689d437fb4a55a868813fad5791dfa7231b4cbd8b7d22cf4e6f3fe90e2cd36eb08202f4058abf93b5df2d74e1841070378dc9c31db64";
   hasRunfiles = true;
 };
 "romannum" = {
   stripPrefix = 0;
-  sha512.run = "9c2dbde6b5cbff0805b06c55a99c708461b584bb0ebab49ce6e4a89f972afd30e7895239e9e6a10ba572a3f5a696612e5568af0c63760646dd9c2e3e06b9ceaa";
-  sha512.doc = "ea2a9bc6aeb1b6ddb4fdbf246b1143bd85821b91ccd68a9cc81290c68e5063e06d1bf3a2a8ef882c5d2b50bb1373ad4dad870864ea3dd9893ff50fef0add21a9";
-  sha512.source = "7509cf4c2c9446ac30d6da498b14cc8aa7084cc3b6eb82013b8cb9db2830359fbbb45e81363c8fd0d5b8ff1e8458d6295baf7309b5f3e286325d048f1c173016";
+  sha512.run = "06fb28ffcf6c8212ba3bea5e3fd93fe4a5394ce1cd3977556bdebb982888c2c0f7e45dc751f94b1ecf921c701fe6783166e73a595d5da55e874359b7a4065182";
+  sha512.doc = "60caceb87b6d866c905685cd180f0deb73f400b33007e0589e1aa5a0b42ed948d88c672a620ebdd4d78bbf92aa81c1094e4d4d6afcb981747e65596711e112be";
+  sha512.source = "dd1a19bdb63aad8f3c3458bc000933b9c0d04a3b331c37d84a9e7de4a7027b6cbed113038129a789f43d1049dd72acc432e6cebbce365277026d5e6b5cde328b";
   hasRunfiles = true;
   version = "1.0b";
 };
 "rosario" = {
   stripPrefix = 0;
-  sha512.run = "cce759aa57f8cdfb9923223601816007087f3f88448b6efee80d083cef8d0abbe74677d5d5cd82efc56b3c2a1cb508ce43b86dbdd4e3c4667d9ec2450ae20468";
-  sha512.doc = "0e0a57f188625276a8594df6cf06c97c2f730c381b0524a11bb98b02cec3da15f4ac36ea2f30401bacdd520d4d32f22ed46de973cdc35e234c0af94760b47fff";
-  sha512.source = "792b46f42c0b432c678c8d8113ef453a957cbffed6a8516b90733ea7cafb322c4a1772c8742808bacb4eef1e5bed741bfbd779382a0bf0b04718bfe676ccf0e1";
+  sha512.run = "e1e200c49ba98fb1d2bd5cd927ff209a1f72b9681b1cf3b49baa263985790f7d4854ac1cd9fedd464e2076488b3042456c7fede5648dd8ef23d1ba6701705437";
+  sha512.doc = "1e5a12a62b7e62587b452d0f8926757b987e83a2980698deb94c6955cff1e45ef634ec8ac1c1051f6567db8a3de9fe8d4df23a5f80317ddfd2ba863ef15935c1";
+  sha512.source = "4c7613a697439feba9e52ebe40dcbf738370f3ad5278ef0232f0e0e13ba9ac2c46d60233c8159c626b97b53af5238f75c096106b0b8529423d5fa3feaaf57a87";
   hasRunfiles = true;
-  version = "1.0";
+  version = "2.1";
 };
 "rotfloat" = {
   stripPrefix = 0;
-  sha512.run = "8a80713d45e0b6cb20a087a78c8441f5e3831751e9253e4680a44468e467d502d69fe67d8fd05f8583d032d647ce02f5ceba1917f3ad174febef9bf8f1d98a37";
-  sha512.doc = "7a9766badffdeb1e84954534cf21c3877c6e2294fe16e69902fd9c7e2405546956fc68c332fe2f18c319a415236f29834fd6157ed3951a50856d42055c54259e";
-  sha512.source = "177b636e2ab53bb5e6359e4c91ec2f45f487e7d5456b812410ea56942292ee74b137715f87ff3bc817f17aeb29a6ae0fa89691962c2cb563f2c08e2534e2826f";
+  sha512.run = "2976812ba6d6bdb304d56c9f10f08c02aa8acceeeef6eb05ccd0ac7b3e3b86984794017627d8f939994ea0228bef5e9d6cab0b08843e87a840ee5c2390dd0bb7";
+  sha512.doc = "020e080e047f20db45bf83ff32c267f5a10b7790adb64495d09ebb3795a55d953154b8afedcfa0214a77f11c35287b18949b8f1fb89b6ee51aac12a04832e922";
+  sha512.source = "b3b986dc11e30b68f75bfa371c85eded713f759f6fa0229857cc05172edd70caafd9124098813cdafd1f060fe57a6667326ee84445fade50bb6acf9d1cb6a95f";
   hasRunfiles = true;
   version = "1.2";
 };
 "rotpages" = {
   stripPrefix = 0;
-  sha512.run = "a6f51d55d743d2015375640fffc81f81d080f2d3ca9d27ed93eeae395be0e908c526e1c2eec26e9a71a5dac665e7c78b71d1ac1d1006dab5e5953b2c91a04ba6";
-  sha512.doc = "1cea6f0e5c2334de7d480ebd5ae7ae2308de96a327ed8e06027a32a15bbd2fe7ddad40f51b47a466941def26c572fe1f23d4240beda3215fd9e87010560e1122";
+  sha512.run = "a206e4147a68ad0ae750e18ee6a360d6ed2ac91785b75f8fecda4b63db695a36a9602da8dbec1310feed4072f952dc49f4d2c5d2817fe74477759aa55246177f";
+  sha512.doc = "2723d32029abfc773de8f26a1f08cb3535c5878f63effcb94fcc6a2f98f1a0f9ff3c53df8a4d9c1ce1f99b52b9fd7b2f5c919dd9cc915ea8266835aa85ddbda2";
   hasRunfiles = true;
   version = "3.0";
 };
 "roundbox" = {
   stripPrefix = 0;
-  sha512.run = "75983b28b41aee6dabb35cd2012ee39e3fbb93fd26b87f3606197a230598495f76d37599907c5fa8e486241dcb0e6de853020a3a08605c1cc51f44f7d4aa2c78";
-  sha512.doc = "03a79367e18e95eda32fecf44892113426fb30b53d4deb95b4b631615992b5da24c4f9ed74ba15013971434bbd41a545a5fdf30b46cc2a34587e61fa7f136afd";
+  sha512.run = "078938229ca1ccba4c26f97eae59376afcee469629a7e8704d6e376d5bb256e8991ee1cff17f24e362772b78ed800b57bc6018b10e897daa73c142fafa1f62c7";
+  sha512.doc = "cf0f56e42a82d6ab36fe6af2ba690024cb555192780c04ef1a01e71fd6cdfb803b0129aa95e304de4fc8c1e2d1015b14dbb6631d9773bdf463fa52c22209501f";
   hasRunfiles = true;
   version = "0.2";
 };
 "roundrect" = {
   stripPrefix = 0;
-  sha512.run = "86ad2797ebff2f9725ee933f77768d925c37a302d6a2ad0dc728365f033aefda041e3ec67216a6cc30986c74077cb42a62a54de120eb6910b2647067dd8e6ba4";
-  sha512.doc = "c9b5e55d11f6004e203c46423fb264c270fc35471e5ecb303f1f815c3217c0f029e053912ededc6a0bf5749465bd6472c015be109b1abbe0d2f79c9c7e61702f";
-  sha512.source = "b001e7865c3ebdc698bb87bc72ab7968af8e61a6a7e6eb89f85ecc2f147fadb9284168e05817fa096da863adfb5d26603718088157df9195427d72e9c21bf6f6";
+  sha512.run = "01cdc4c8443c50a91dd408c52122e8ae65257344176227a508cb082f92d61bc02756d47e27f75d7862d3c87c26add2003604956ad00b448f63b4f6417c520ba6";
+  sha512.doc = "35289692327bdc68acbd442588fbd37185f9e00e3e4ca78fe500474c53ef96542042cebd18cba7720bdca0b72f19384fd3b8afcf45447644bb3c560a1385595f";
+  sha512.source = "9866ae92b2c5f8c446ebca5c7afcdf3e8b52f12504b7d74c5ac4faa570a98ab6775c3ba5ad99d4300c1f9b7f92ffa423d5c73991ad47951a4e2bee3eb3bfe473";
   hasRunfiles = true;
   version = "2.2";
 };
 "rrgtrees" = {
   stripPrefix = 0;
-  sha512.run = "1f3663231040a2b3a60abb9468bc397893e96434b7a1c6b8ae589010e5eabb263e5d8961dab24910a4479b00466988c2e3c8896b9b1d6598fe4246405d31d80a";
-  sha512.doc = "95846504f8a443c393d295bb2056320bd3294133e4aa1ae6df4af8a3218bebdb495697eb7ae29d41d36ada7c646efbb3cff50ec0cb81782206f8c7c9a344ec34";
-  sha512.source = "a96289cd36a8202f76bf05309844619299ffff3df7bd27d703456e38c173fb9a1599e20efc294418e71651835cd23e3c4f264b30ce354a3ee9ab44ae1d1f8dcf";
+  sha512.run = "cf80b48866e36b983527f0646c94fc9776ea799ac475a2c5879a4dcb3b3b0d052e061f871b6eb0a8c0fb1153c0a9f6f0ccfcfb1c6b8f3ff4839c3d454ea3e62c";
+  sha512.doc = "71992711c27e741403c5f7cc268e8597e2ea17abe42d953bf0c3caf255c0a8673f6210bb808fc70b741c694778f7cc7a45435afe39939b1377951e8e2343d73e";
+  sha512.source = "8ef5cf9dd617b1f37c57cb70e2aa7b3706d171eaca5e5498fbb3f653f409667a058254fd618681dc2af701d1d9e544d97ebb65c24081ecf1e40cd81f442183af";
   hasRunfiles = true;
   version = "1.1";
 };
 "rsc" = {
   stripPrefix = 0;
-  sha512.run = "1f9b9dadab1dc937738c0767423ec55a8d0ee85c0c0a9098d5f94960eb2c5302a88d3479e4fd2fef8df9d2d8927b9c2247de59f0c63651d7971368d35f0bde83";
-  sha512.doc = "75dac5282b82ecc9d192e7b9a88f3d281aae2dcefb9a156c0084a3ab199a80ec5c545fedd26c67cc10b11505887d93b83bd57b526c6ac7e89764dc0109376fda";
-  sha512.source = "fd1de8d282631019709044adeb620a632922deb6511f44bac1bc44a52bb7ab1d722bf1c9f4d2ccaa9c339c2f87325e6b2c951c9dce65d7716988e9408df53a50";
+  sha512.run = "abd1d24110722545b93cc16ff35b70c87f467193a33e8da2a04eaff354d89782911e42a46da5d380b9406f923c6fc48d38950d7346cfc799abc0660efa23db8b";
+  sha512.doc = "8569a90d7f5c532e366901d8bd2bab3d5a32d5b6d1c4cedcf179d1ae96a6c34ef5d294392f93fed589a55baf3ffddee2cd35a67c2aa8fc7e0477b47ce92eb411";
+  sha512.source = "b3f097f76dcd1288a70d7aec88d7ae9fc58bb4b3f3a2589944c379aba887b3e7e6c2fd6b74b2a70de58e8cb078edc0d6ac0b1997078d0c322aca9928ba033202";
   hasRunfiles = true;
   version = "3.1f";
 };
 "rsfs" = {
   stripPrefix = 0;
-  sha512.run = "80a3424b8e94a95b4487cacb0bac953bbecd423667a94730e536be773cfe080a79008c1355ab1f4605f37686fba8d93cb6bdef021cc0884bd2add695fe0fcc8d";
-  sha512.doc = "82ca4f8cdcd5afddd80cfe8f7b05b23e003b2c6249a637fa9f9378eddda9d54ceb2263f1192ada379d84b485f1ca0ba2f969c64f105bcdc415341def8d6a4796";
+  sha512.run = "f5d52f49ead227b058841bb88571ae0d6fb40b95dd652536887acf13c0a5dc5b61e3813faaef2effc26539125c2776e113937a1612e7bc7146e7d5517b02aeb6";
+  sha512.doc = "2d23715b38d90c686d7edae77f2a774041d3b679035e0399b7b6089f9b17db3ea4c6c3cdd655bb6e5f3a3cae782e30984c1fe89f5f263a0cd86b441c5376848a";
   hasRunfiles = true;
 };
 "rsfso" = {
   stripPrefix = 0;
-  sha512.run = "ce036562c7cc85a028426f7169281362b7ccd0ffe8fc772f0aebeb4841b5b0aaa39aef1e6fb4a0a2f403077f9643ace3f22991c30a8ceba51c367bc50d045e41";
-  sha512.doc = "2df69dcdfe794d0f10feeb413ea857c62570c2e16e97955cb1c86dc8dc076e19346718c5d291db6cae4e3850a31141dca9710a6e2f4d91d6e36cbd3e29e454bc";
+  sha512.run = "ce6e600f2fd5ce1aba31092c43401feeadc7927d22ab630f0fb28f421bdea858fb9e382f4d0e36036f6f4ecbd1232265216c29b2edcd44583df6fb3340ce468d";
+  sha512.doc = "ff045c68d70079df6d2b21368fe599beb9ac1ba0e339a8c448bd75565774c237520f79fd0e3d119209765eef29f5891dabf689c7756791a91bb7c7ea1d3dcf3e";
   hasRunfiles = true;
   version = "1.02";
 };
 "rterface" = {
   stripPrefix = 0;
-  sha512.run = "73cd997d2d54ca16f3eb8b8a6fdad4c5fee1e23f3b2bf62fe98307d79c7e431ec3ef82e4d588be7ffd3d3d3c04e829d0f37a9489b8adea5a6e2be3abc0e7b0dc";
-  sha512.doc = "dbde5ebc327e62962da253ee9fab772b52739eb4772a2f849676600762bc39976e580d923afe671869e0fb9c80a7f0c400ffb835ba2f021254939521b124aaa2";
+  sha512.run = "3c3cd754ab17d03d50c35ec9824b76b9d4528276fe2b5a882d35df5537ca12f83956b2c596a269f9961f243bbd5e8c394c6f1bd508d07cecae50fa47bf05fd86";
+  sha512.doc = "c8c38026ce2bf2a996ba40062fe3bce797b381633e4aac50ec438bc9fb567f73ad1c4e764af3cdc816e62713d4f1dd8bf2ab1814b50d086811359e999103c7bf";
   hasRunfiles = true;
 };
 "rtkinenc" = {
   stripPrefix = 0;
-  sha512.run = "287985d5ff2308014772aed6fdc4052e43218e5a7a60e054d471aa9f86e5579295e0cfea4f68efa3654b0b53f449405fb4d33135fffbe2b8cede1a3117fb5510";
-  sha512.doc = "1e0439e39861ac9babe709608cd224bb5a4e8ccc1ce5e788d9923aed2df5c085e2446f620b06eff6f00b31c2eaa3e0246a3ca09d634d1b83d0e7e4136b43c546";
-  sha512.source = "58a09ab1236bf5f781f8b2aada6acbfa5a889508994a2a054c950b56f880b75717e89aed550bb11e028d23c215cd5375f145779adde5a487f41c27e421d5aff2";
+  sha512.run = "a1f31a946838123b65124fc7220e77283cf89105ae439f1e851abfc3c30b6a6b7c83bebf676fe47de1dfa9668cfd22c638567ef9a097aa97dacef1f0e3ba1eb7";
+  sha512.doc = "f3e7b1e7c95af7bf89b58ac949ab5b3fc12d991a436e28196f748ae033c46446a0cb885943777f44af1fe5ad4aa579e0fc43676c44812b01cc64d85e4ae15e4d";
+  sha512.source = "9078c15d4c1531b9ca0b0ea6a2561815538de45dc33a9f8cd8f886cb7ced93a9fdf8296f409516480fb58861b599692982b503bd49568548b4d34743c44ca037";
   hasRunfiles = true;
   version = "1.0";
 };
 "rtklage" = {
   stripPrefix = 0;
-  sha512.run = "e2c8f07aff7d72ddf0492b70fc2c3cabe948e67df374870f6696cdd9ac3ee6e0dff1acea8872befc92905ec68f2a0e1b0bee964c76ecd6289ad06cbeb0ffb4dd";
-  sha512.doc = "8d5658e36382ad40f589b713f4abcb1f4ca97c7da4b154952c73fb34cdf8ad9291581f3baba9ab0e05d06437468c75860bf2331e18703111470f2043b3057854";
+  sha512.run = "6e39e34a7c293f503949da66f1d5ebc65ae0388dc56e87992e9fc4daff1a250196afe68150be14ee2ec3242393ce9e5ea7b681cba31b7ed1c2d58526f6506554";
+  sha512.doc = "550c21bcd8af04041f1fac11f2be3ae2a1f01265ad6bf31243569820c7b8d83f32ccd0cdbcc4d5a7a5905ae9aa0512a449a1b2d6923affceb344152e6c12d72d";
   hasRunfiles = true;
 };
 "rubik" = {
-  sha512.run = "1908d95ff36962c91c62fc57e74c6c9b1cbfe751cf6355e90940fa294c5977998410c7eb50eed01e5a258f059e444436a9a0ed69ee8f27d13316f932b1c4b077";
-  sha512.doc = "0d9210dcd1276ae0393c63bcf2cd06e1b7b3e2a9d1845651a776f032b467f5619b1cd8fedbc0cfc5a3640d3d4e2b1d1906d509a44950130114ead64011cde2c2";
-  sha512.source = "b09668cae1a54aca218c5eec593e9072e9be33fb0e14a4198d429408732cc8c898544782f0a28a8ffd3f6972e37b2e0114432ac28ba22f6afbee9d8deb06ba20";
+  sha512.run = "67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c";
+  sha512.doc = "33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51";
+  sha512.source = "3159acbc71a007877c046f6c075bf271e031feb00cda04c1818e4490396c3fb0651f160c7a98d8d3391efccae6a5b1dfde2155c6bde1c463e1c7416107b4ab90";
   hasRunfiles = true;
   version = "5.0";
 };
 "ruhyphen" = {
   stripPrefix = 0;
-  sha512.run = "dc4a222a945f30d24a4bc54ac1c4ca1056479772bca6ea45cd5dba03287cd815d25fb01d347ce664d3e7930ef5ea83eeadf72df9c3103ff7fb4a237b3b36babb";
-  sha512.source = "7cc7b27c924e19683450a77cb9f543ea5f91393fbb72e1454a70690599011cbf3d0cf2bff644806942f874363974e2d1ac36bb18471e3a503ef7dd6e70a89b82";
+  sha512.run = "d681972cad53b86167f4800f78b5d25de305d2f3f604e6b41b481c432bb9f09a964720fed5b5052cb8a30148da1bdc76306d8edb2139018d83c331d3439de958";
+  sha512.source = "df587bb8c81e73f70a93146d6c3a50c2a66b16084e8eab0b01e0aefb3ce073c6b6e812cfd8c5a1520f98ca58e2e2e0634877ca2987742eccc4d7340a7d62e23b";
   hasRunfiles = true;
   version = "1.6";
 };
+"rulerbox" = {
+  stripPrefix = 0;
+  sha512.run = "197588dd36056d6b6e9f7772205cc44e81734cf63dfc83a7c987209df0c2b47f91f460d322df05f123768f3d10d9af8bcdda6619da394fdaf3367be88821a135";
+  sha512.doc = "b4de5828d5602845217726ded4d56ce6f4008a599bb1ddba89745ab39bfc2ba9ed3fcd1f636cff4743252a975a18ba07925f1e78f81fc8cc2ded80a7cf8b74b2";
+  hasRunfiles = true;
+  version = "1.01";
+};
 "rulercompass" = {
   stripPrefix = 0;
-  sha512.run = "47922197800bdd5a78f72879333cb3982a2dc31ab0319a1a0b5810399cbd3a19fd6fd0482e84fde45d444ecb8df2115759fd79b0c8d5098b3993a80d2e48945e";
-  sha512.doc = "d3db2233666ef0b682c988395f5cc2ed600815d583fbd01a92db7d8480232843d506b62b6d80a0dc99aed5f8f97288a2423977fd7bbbcd03e96a54a948c3fb18";
-  sha512.source = "7b502b26d45f6dae54813672cc8ee79736af9559566b48e2314a12f87708f704467dd26c56ed3f0f11829c884e7ce3f176ba771acff872ff4f9588c6d68279b2";
+  sha512.run = "8f2e8d9a4d61c3c79e3ef29ae554db2696b9c374fe10f59fe2a4baea33c679a0678a95c30ea1d4310662bb5af6a1b02d88db7bb43610545b1ffb39fba19b5001";
+  sha512.doc = "6077a3c137269e5be37b62879c394d800f4bc80cacd1d9600b2aa81503958e2fa29f0364db58c1418bc206db916f84f46cbcf70d0f30a9276a6e78d154150425";
+  sha512.source = "75765738f4d3b635468d8e1ebda805e0fc6e2bd3eccfbcc1594fcce89908834572aeec85fea189368d02d05ba1fff6d0e2bb454ad25bce2b92a45cffd74a979c";
   hasRunfiles = true;
   version = "1";
 };
 "russ" = {
   stripPrefix = 0;
-  sha512.run = "d24a7a9742f19812b44dae7be99e4156113491da8939f050ac8e01e491916d9a17eb2832d9e521d44d1d4304f8f85de9cf9c5bc3129a64036a67159109f5c048";
-  sha512.doc = "abe5a7c33f01a7df0c014be91426c8338814f28296041783d8c5c90a495943106c70dd1b9829a42c5f3cd824516aa2e4484993078c61cc9edd2ed4f494085f36";
+  sha512.run = "11bceea67aae767037d728ab7892eedab312e9477f1f9f7501f9702fca4ceea4e21bd575b1589fb545abdbdc5f5f5315243f77adb4c9b9a2507fb255481c5541";
+  sha512.doc = "876cba326071d0f347d9a1a4c1eca692ca743729b9604a51bb5b53de96da6006ff24168040e77df60b1999cb22901b7318669c32378a869081956dde40974802";
   hasRunfiles = true;
 };
 "rutitlepage" = {
   stripPrefix = 0;
-  sha512.run = "d7db38f13fff90757af8fbd4e488e864577235e8137a321465dcee610bc8b23f40303fc4c7c11d90a2c6841b104f52cb48a0233860f02fb9b485c4d301d45b67";
-  sha512.doc = "3bc04fe1a49fc6b76196972514e3a165b23bb23e10ce6444546aee190971a1bc220ccfe951fb0c50d8881293cc1d08555dc7d8d2f0288060af11c7d973aad17e";
-  sha512.source = "9c2e47fc93cb4b53b6e58a59856d4937093e58c5aec90ffaf58c62ce20447dc3a3444aed61f481dff9455182f62c53b700634f53c3ee74cba5ab85669acf551d";
+  sha512.run = "e071bf5dfcb8572dac3287394be5052ca04c6ec90182e306f020ad02c8f4db134c92b41f064423c1063fe5c1c465cf952a8d0d8fec4e917aba82f76850cf38c9";
+  sha512.doc = "e6884d2eaa6e5fc9448c033f1a48ee218f171d5fc16e7a977db89f7807c0bb6d1bb4c212ee489bd882d87149003d9aea2da3170045e165150bb8f7578b719107";
+  sha512.source = "bff9526027292b6484d9a5ebe66d57400eace4fb94f39c97569aeda1c1dcb32e30ace085b07bfdac096ca0dcd587bd7ab8509190dfe9dcd08e4fa7d737fed66f";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.3";
 };
 "rviewport" = {
   stripPrefix = 0;
-  sha512.run = "4bd5f79960c9efb05d32aecb825e69d82d6cbb558cee89e6b6f38d8836771e2076a47c4047187bf6a2fd86e06e27da46693c65412dbb70d0d2d756abf31280fc";
-  sha512.doc = "189705f93ea310d6d65f8bbb78376c6a9de6db4f45d57ec5f83794b2efdd6959601c7423f427febe95fc6b0008d0cb66a9ec25b775090b62753ab4d2accd41c7";
-  sha512.source = "c80eb46f40c06f577b46101b27cb5e20f0d360ec4e6ce633d3139ab49616f163ddd464731f66946db23639508ff13f0c7d208038abb9f0c03ccb8b9bde18d268";
+  sha512.run = "eb4bd4e75f021db40119cb4d4334611fa80d26885dd4229ace652bf8dbd7b4647a6dc4f45c8be78ad8db0cf1001b7117ce3c38de2483f0dd96da05473543ac10";
+  sha512.doc = "10f94dd8b29d354eda99e8c0f15b53baef80714f7212714a94070061e403d45fc5a97d25174f268a14b0f4c924af9b25c81131929c08be1ed9a4e62204f17c22";
+  sha512.source = "25e91e8c4f52b1752b32293828d174fcf3cbf6491f38dc2c58be23ef7f2a84570c96606472ed89ed837951bd2ab9bd1e48d4a126beef160c14899b0e70240eb7";
   hasRunfiles = true;
   version = "1.0";
 };
 "rvwrite" = {
   stripPrefix = 0;
-  sha512.run = "eac51d04fb6bd7b43dd2d241502e4ad3132a3b4cc3da918533174919563965defd1bd0b3e0c08015094dbe116084391f607b9687056b7f3e69c86cac9094fd70";
-  sha512.doc = "dd0b12298c17d32923864c8659fbf748e19a233322847e0d1311c6e02bd7f99b140537881731f3fe4ba2bb7a5c719f9de661b97937753b3199b4cf740065cdd0";
+  sha512.run = "c187dcb7e1c72b727cfd0827a55d721c6a094679c1dae27438ed030209042b49c646af20e158900543369ca8ceee9896a9f36de76607f8514004df80e3be15fb";
+  sha512.doc = "545e5b96a2bb3646a7b4a6eb31d5192ef85dee9ac0b6859f6b414f26c5235651294f486bd132af112a2c6021d6843e6ffef8a8f79b7389b974227bc1eee16230";
   hasRunfiles = true;
   version = "1.2";
 };
 "ryersonsgsthesis" = {
   stripPrefix = 0;
-  sha512.run = "edca2bedcb0255b414f53a2496d8e4eafe1ad903127e8faeabd455cc55d5047ad3e06275f4ddfe2f8aa80fa14d4cc2f8b88c5a91650d16b95e6425fa83167460";
-  sha512.doc = "9d580910750e8a483a57514741a8f02d84ef1d018015bf2710336bd3aaa5e8bb98dfb027cde1861e7b2166570c405512955aefd498deab9bf4612e9cf6f749ca";
+  sha512.run = "0846fb24c6b96cc30edf46d1311809e1170d3feb13b3c26be4dd330ef8dd856771f257ca197f562ed409815f0edb7e8ea744a38b9098b86a325eda9cd4ad360f";
+  sha512.doc = "b0d57ce3dcab586fdc2e15f6c2291560c43dd772b693ec11e0678e083a1475c21b55601878cf938e666d0f8a5464ffb0b79281b62f4859200fc6cd67b33b8779";
   hasRunfiles = true;
   version = "1.0.3";
 };
 "ryethesis" = {
   stripPrefix = 0;
-  sha512.run = "abc4293012110d50f4cf6330d3e3f48bbd9ec72a233f0df765fc260de1ee6d00485e0444dd4f518e1c53907e2ad8d3ed90b5927ee7611ebe2a76a08b25530ee0";
-  sha512.doc = "c01347d51fec0f22ef54e64a396ca9849abac9b1ce66d73ef44d26cd4357049f588694c84850397cf0841c9dbcf10f03068d79c052d4a4a5d3dab0de5237bdbd";
-  sha512.source = "f86a9bbc76acd8e09622c9b416b16a82d58334ef69eb182b06224b7e89f3aea085a7bd3e7c0ad0787e235647cfa50c2ccff691c6c18b0647df4de3a8fb266441";
+  sha512.run = "63988ab74eda81270f0e470f3b1d1c772b17668fd9c6526fd8d53f588da8e52d3690b4c3ee898f2b460f83ac44ab4c528a0c6c48abf1a1cbe21427fb4e678a1a";
+  sha512.doc = "03ef086a51a97ed93038338b99a516ba2898a0097326f4cff3c650c7035acc4bba7ee2fd6458c579a9f1af4ff31334dd22cc23b7004d08e58a259306ee1fbd8e";
+  sha512.source = "0754857b37c510f7cc581201c516d3ca1f6e9ed9bcc0825968efbe728a281e2ec73f58f7415efdb07bcdaa66fbbab3178793907b3da17511e69044bbdb2d8aed";
   hasRunfiles = true;
   version = "1.36";
 };
 "sa-tikz" = {
   stripPrefix = 0;
-  sha512.run = "5969d262e733bca6a0b3067b30149240a5e327d1b51f092c92a26e2ebfec13e0c25cfb3ac71069e119d6dccf9b0e9a4ac381101e78ce60119785c12bf12fd336";
-  sha512.doc = "6ccc4679dc2baaac02252e3591333185d1e01ba95eb2398c377aadbbf4ba9e229ef3ba831682fc16cb997854cbf8405f906157ec9b6a5ba71e5ed7781f0c4232";
+  sha512.run = "e30f8b6dd6f082bd127077fc5040ffef53e2c2fe43afd023bf0fa9dd8094769e2d40734dcf412d477989b746e1e5141cc42cc082e9f5b26e5986cc91f8336ec1";
+  sha512.doc = "d6586a6196fa9ec8c70ff6410873604d987394ff09e93462548baa202f22bda479fb4f76f66fb710b8daeb7b34e455225c997f07cc9360a09c5cbc4c45697a5e";
   hasRunfiles = true;
   version = "0.7a";
 };
 "sageep" = {
   stripPrefix = 0;
-  sha512.run = "4a5472d1cbedbbed23c656a0959bfdb08c8a1be62812ea5390d80d37fb906e0ea8d8205479d6ab7c9bf9f61d72eb7a69a89defd47aa28c0c8fd4de3d4738018f";
-  sha512.doc = "8c2d45bf6191ac38708e4a79aecc19d53fdb2c2f60e48d8852fd1706a5ed12ebfd3820f7b32ced41d2b8111bca42000a5f04291886414e83931275c5af3aeb07";
-  sha512.source = "99fade228079afb6b90ce76e6a460c060b82fa6fde8c61a110dfe3210ba6c0cf213279ce88699e670fa0cf50f29ab7a1c448c708e22d11bb6829e0ce63d6cc42";
+  sha512.run = "d8e107109129636cf68d88c96a36de87b95dcfc4e154dae51a1145d7a0c58a17ca12e95b1b2fa1312c6c50c5cc02be35b23168d8eca69a7643695c38c5d0bcd6";
+  sha512.doc = "7f92c14d432ca5960669a8faace80ff6d4e97d9a021281c847b7f19942f4c1a06da3657e8992998e91bd1d69398b3fe379da690f81be28cb4ddc3980262c56b5";
+  sha512.source = "25f06543efc104bdcfcd81fbae6182498f23a7d1d958671cac945f5442a59a71033bf3fd174bd41c438c7a6a066d41b1e4a375b559b14bff6e705ad2ca894b05";
   hasRunfiles = true;
   version = "1.0";
 };
 "sanitize-umlaut" = {
   stripPrefix = 0;
-  sha512.run = "41401c7537570e8e8ddbcbe6b6f1737d7e971ec1929c2eaf710cbe9ec18fee2566d2b69967c9da6c6bf0626b0721b08dd9f5a14698eb64aef7eeece32119aedb";
-  sha512.doc = "4dcbd3ccb3523a856568245c4da6138a6931c09f9ccd4bceb8da6dd4b92e138e10d895941c2401cbfe98d9213cac263f9ab7f4d8b7da95cacfd988d82cb94216";
+  sha512.run = "c6c3efc6577ef83da2a4ce3465955f19063e2fee725bd1109f5f48c14cb34da7a633b37297788e5f1445f98d8614e474835df43feb4de6288104a81a4909be8a";
+  sha512.doc = "adb489023414b980a224f9416ad420f68918ea60b8d2d0cb8f059c0c20063fdc7bc5eae724d2013037eda052e66200115518445d5bb17140389349bab70a2d4a";
   hasRunfiles = true;
   version = "1.00";
 };
 "sanskrit" = {
   stripPrefix = 0;
-  sha512.run = "7b9c1f557cfce651e360b7097f1a9208fb4481591969135309fad0742b0ebeea35642f6be70055fe657e28dc1ec0781926a86863b6c69c251c44877e3a3ac33f";
-  sha512.doc = "b646c2ae67f3f6dff7fe2361ced54e65d3d5f29b44b6fdd6b68e3a5171116d6d9998ea4203fa994109f30b36840613d0aee54ee48d09ad451b6c9f911619ded3";
-  sha512.source = "2112d903318a21e6adf0cf2b7f9e1b7a06e279372989347d38f06eb4b25fd37961d94837d005f6ff911d1789befdd12cf743c6d0bcfe70ad5d5a786cd6e762ff";
+  sha512.run = "0dbfc19e366fc2e69c3700e0c532c280f1e444d0d6b44b37fd1565a64b0f883901c209fb1cab7c6a35cc9ffc23d32b5cd78ad2ee3e52d7cccf41a80a8fdd6c57";
+  sha512.doc = "a5cb05e7fa966cb09d84d0dae14eec25354156f8acb5811f4867b3724fbed62df94305ea9062772879c5cfadffde8265e7c9de062bfdf6756cf2843053caf9fd";
+  sha512.source = "b2644a58e3a64122b5b5765547959d888837b3353b70b5bfc7a98a17f380de4f6e2fafbdc20c0458860baf28fc373ddf9c173737d8c776867bfe7c3bc68ef40a";
   hasRunfiles = true;
   version = "2.2.1";
 };
 "sanskrit-t1" = {
   stripPrefix = 0;
-  sha512.run = "4eabf0b929ad30a65a8e1540af6f063c1ee1c2cf1be78a8fdb3514ec9aa5ac5a2a7c63793c75288b2c70ba5e4d2e7d1b3a44a9603467f2a9fb29604cbb9a2e0d";
-  sha512.doc = "6ab8af3dc7ec384dd5d9d2a027dcde17ccd25a9bf09f3fb2477c27e11a1ef405e36c58365941776741e5f73a79882773d4d9654dec0bfdc698175d7689425897";
+  sha512.run = "8db4a734c40bcbefca8d1ac4e82b01b890bda547d3aa68e8f3a93a06d75335cd41a6c594563d0c7ec9a18a08868ff7b5e8a04b11a64110f80ded65cf5d809bf0";
+  sha512.doc = "68259865bdde464c565c50497257c0f45f6cc1fcd01533087afabae35ed6d2d53e2160c9c3f867c254e301058e599bbcbf1c3fcaadb7ee7ab25c364642084073";
   hasRunfiles = true;
 };
 "sansmath" = {
   stripPrefix = 0;
-  sha512.run = "75241f4993bad1e6df2ad25aedbf264ef7021289cf2db10842ad4583bf7983a184c670e9ec7673ba1a92ebba1714ae50e4bf38433c5bb546d8596c6a04585482";
-  sha512.doc = "5a24f5b9c0cc6b0ed6fc80894c8089e4882071faacde63207f6cff816f4ba26d13c3ecc1b44811376c2958e3a80011c5ce72f1d3da1eb8e69d456674425ea1d9";
+  sha512.run = "075b9a32512f191767bfc739b833497eed371c2078fc8511ba507b19e2744675bfb3caeda40da484ae559aaff44aa4f6b2f7f5baaeb0c30076654593216fa5e4";
+  sha512.doc = "7923dcfcf20c945dc61af747000694c59c61982417307356ef2ee335f7a3eac7e44974a334072125ed4a3ec3b29caf342f15dfda1fdbc348a5e2cfb8a4dc2469";
   hasRunfiles = true;
   version = "1.1";
 };
 "sansmathaccent" = {
   stripPrefix = 0;
-  sha512.run = "cadaa7f9fee0b146a7914c42656dec17372798bc8df78b9df57b1990eb67469204d5e6206fda60637cbeb7b6ca1d626f6767779f733dc502d581f6d684684627";
-  sha512.doc = "df44db3488e5c14c849a07d9f61dcb2cc5b78bda89be2ec4082ba08c088b7a4e97b91f39cc00bc1fc2c2a29c64f1e0996ba52b9ba580e2c8865f4220ef184590";
+  sha512.run = "cbd8d7cdae74d34afc00da3e300cfe6e40b2217b6060732df0ff76a6484ab8dfc8c8921e3552a4cb06a1acd05de07d490a956464df3de97bc987a8a11cca32f0";
+  sha512.doc = "38cee91050b9b38cd5ad84b755782177854f9208e73205d51cc419feab34461a37a557660920412b936c8e7a9f9e1554574a1bd61a36c000f2422c709043666f";
   hasRunfiles = true;
 };
 "sansmathfonts" = {
   stripPrefix = 0;
-  sha512.run = "e9edfca88abd3e71590d6e47b7a26ce94f438da72eb6f2f0c944d6e898e1e1813846a414d1e59a1593b1604207868f8eaadac9105b982feb5ebccbc74e475661";
-  sha512.doc = "21d595585240d18095632fa3b2adaf7878d7912259d633ac1b5dcc8f754ceb0453150266e386d53b60d13f84dcf2ac49a881bb7e288f3bb68db41b9f6b293783";
+  sha512.run = "71d70b034c7e0da6f8e1876c40ce2821e05cc814e5d8e1194f5a76c4b490d8d191bf6b3c9bb7fe880d0273ec8e1f3211bd335b526b154116d7ccdcdf0b61d0d5";
+  sha512.doc = "e61cc601588681dc29113391426cb345c207eefb04562ea6eb8369cdb8ec4844b0bab586ed91bb2a1506c49c5a60661748de95cf792b07fd52ba23cbe58d254d";
   hasRunfiles = true;
 };
 "sapthesis" = {
   stripPrefix = 0;
-  sha512.run = "058a6dce540acd4201b84e61e7ae6db8066bf25c2fcec082b4bb3e7776514f4dd02207ee70b1ae9b8182caf45bbc4c273b94f97be81fedf8224e5ce0b3fd5d72";
-  sha512.doc = "fb7eae2616f424de6fe82a29a90dd5b0f57f652b8533e7a047c97b2bb8fec901951a95c8c0c44d735440f11d2fec4723a1a1d8a0665647888f94efd33140a784";
+  sha512.run = "92253d6532c6740ae1bd25fdc76b566ea2d488f31e6a24f90e3b55ddc15d471b6c4ce5c4e7ef29c9a416d9810af49b04ab51530e9594c39beb19fffdc066a917";
+  sha512.doc = "a1d8c40975283a7301c1a842355149f4ae291fd7fd72cc5a44a292f96558b79bae734ec12a78b429c333aadd6f433e9603f7cc75a71eba84d42294461e87767f";
   hasRunfiles = true;
   version = "4.1";
 };
 "sasnrdisplay" = {
   stripPrefix = 0;
-  sha512.run = "8104c28cdb6c2e22dc5fb84712f7d44b4c42c9fee4b7e37fdb128fd079c0b83a82ed18bdac324036ee99de9e1ebd8fca9829c62643823fbcd296eff572366156";
-  sha512.doc = "e7b6c2ffe355cb162bcc44a31d271d8a2e3ac81f8a7e5e5777cfe405098df8b9d556b21cb7eba86bd85527d24047eeb1d934c10602070c7ea4b8f9444cbd1f4b";
+  sha512.run = "58cac1a9ca8311c570f8261014a4cbc52b2b1386196d9c12de1f7f7ac780a163626a21081005bd4a02f70f95ad0e3873e844b8520104939e8b1116b674104ad9";
+  sha512.doc = "5d6024b9bf8fe91cef2e0427f33d9fa8b5fff78e2721afc4884ee83a4ea302a5c7b3bfd38ad8be05ebf5b021885d13938bf9424369a44f5701b29ffb6c015d77";
   hasRunfiles = true;
   version = "0.95";
 };
 "sauerj" = {
   stripPrefix = 0;
-  sha512.run = "e0fe7c3a1fc3eb4b96af67371169b455552897f5f93953cfc3a7f356a1b6eb6a9394b2d4b7234e4e25580e0a34ad52db687319708888de0a11a705de7f38828a";
-  sha512.doc = "1a666e49382e40b439cbae90d2b4afef3123edea913a11cdbb3a82e2f0bb6b19692f821a218e8226d24f9dd4625ba84bcd8a74055b320faa43aedf07d4079920";
-  sha512.source = "4e06b0925f955570d9589ecf47f5ea8db8711af58f4c44aeea59f0ac5c1f336468f0e2b27e8ac70cdb4e9df89382f79adddc5520a5c7114551520489888377f8";
+  sha512.run = "a4fe5bad7f3d5c895d6166846100cabb1b59e5f37c06d21e451acbaeed0847ab93d9995e70209ab18cc55bf8c78a6c83cbbdd49a45a4cfe511cdad41baf3ddfb";
+  sha512.doc = "3ec0f5c2132a809b4f2f945255f0806508a3dfa3733119368ba59e4dcf5304ac9876ea5f05912faf926db651d1aaf4a3a1c40744fe7d3a077d8bd9dde2676754";
+  sha512.source = "05d2adc3b802e3c338dd92818cf7ce4d3bd6964dba8522bf4628bfc2d13939bde47cd0892b4fb629270d5e9104b9577fe6e3ba6eb71ca60a07f5e6441b0f572b";
   hasRunfiles = true;
 };
 "sauter" = {
   stripPrefix = 0;
-  sha512.run = "11fd6758cf403f9a377872bf4f1803700522c1e28aecb8c764a119302942b481536bfa62a39b1287bedca6c3c37f6983b5fbf92c4f8e0f4f5a2c9cb5600a91c8";
+  sha512.run = "17fc32a3dae358be5215301abe13d9e865ff9f52f58cdc849d5fc80aeb1a79723d0a39282383086282fbddcaeda0fe586cd3043edd582e0addc0b223bc3ee756";
   hasRunfiles = true;
   version = "2.4";
 };
 "sauterfonts" = {
   stripPrefix = 0;
-  sha512.run = "6397472d26f02696160839e2be99c21b0814a3f9c60f70c92931d467f0929e00b7a7235fec811c2c2c36ca7879c98561ccb9b6aa757e9fc3f13e04300e28106c";
-  sha512.doc = "a92202d225901f73846c76b6d9b0f3b0caffe75c76a41fa8c9a55aedd20922c4899c83271e03f8df1b3d7a515ee935e3d8ffab2644acdfdc50d25ab8b30d9ccf";
-  sha512.source = "f40879625b69f97b241eb257eedacb99d45f44560b4dfc809c5964867023e1144702c1250ff69dc214845fc7288d10944f262ba03da7dfa9a1fce5c820a6b878";
+  sha512.run = "4d7e491a7a6a22fd6ad8f407cbc8c041434466850e2e5efd46897843281cb71e046fc6cb849cb091cbf05191c45c52a6cb3e0d806eccb9133fddda9c8f305969";
+  sha512.doc = "16647b89752d1871c798f80be91bacf375ae9a4d5199ef7417edb4ff019d7aae548fbbbbde47f84cd5c7c36ec4988ad1df82735f4aeaeb40180b07a86dceb5a7";
+  sha512.source = "d8379fb3c2dfc5dcd9fc5c22101855a27ef5de3ac377f1e6a56bfd397888c5f7f94dd37c24c6625a9dc40f15160721c468b5a5bbe8a35f98f983755889e250d8";
   hasRunfiles = true;
 };
 "savefnmark" = {
   stripPrefix = 0;
-  sha512.run = "492925eee8ada9b988828e67a243d7544a4c22ae7c5e8b9d9b96b484a19856d35402775da44b4a83ce3e464b43019a4b2133c971ad94e1678c7424f4ddd04061";
-  sha512.doc = "575120cddf8f8428e5c20f2260913f0181aacec90d1d092e1cb2a311e0d3f01fdb26ba1dfa76470c2f0794785ae7683f478456d23663a8511472098c4339e7a1";
-  sha512.source = "2f5accfb941f0a8da11baa92b9059ed5091079d59638361dad35411dd2b6b38cc1be81a1e66bd532bbc06799f89354e83fdc5fabcb7a96eb761ddbb1b9779f4a";
+  sha512.run = "2d39c1246bc9c5c28222a6ce96b93bc0c1e93c3155f68f44843b5560b548191ad3b608f24b5c444b834fc441238a0d2174a9a8ec006f01b160f77159decfeeb0";
+  sha512.doc = "9ca251e6d17373e5d6f308d2e75896aaa3e44d0f5883be65f7629f922f0eda296c963530e8fc1c80073e0706c2c72f97d062cd731481654c0564cdb695eaa86a";
+  sha512.source = "984807d4efb4b24445dec6742e0328274527ef3c7ddb3df57a5d941531d1e634b5d672c9a510b62f7053d69c10668c311457b3a1065e1775f964e9a74ad027a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "savesym" = {
   stripPrefix = 0;
-  sha512.run = "c29910b17ee44e4fd9e32f035910eedc47739c6c34e5f728611e59df88eccdc36d954347610991f6e7ec67bc25d5cce1d457a9db866b30eb8d1b98f19e424776";
+  sha512.run = "212ea18ebb424f9b64ca9c75a783dee9ceebac09adcd6ff6c721d90796bf4121aa8710935529451e6f9a4de9c3cb5910b6c07d6fd6b7093c4b9904348f43a1fb";
   hasRunfiles = true;
   version = "1.2";
 };
 "savetrees" = {
   stripPrefix = 0;
-  sha512.run = "693e8df1c97fb4828af52f8fd3c83b69185f6b199be87beb2457487e31e730ab1cff0e69399afa39a23a7ffa51e9317352f0a7c2ed217e4528212678be23f01b";
-  sha512.doc = "ca32a928e785d44d908f85f49d6dd90651a30694c1c8c8d46c4fde17f30c6af441dcc1ba6da68287857a1676c596fe702ad1dbae324ec66d5a220710cde3718d";
-  sha512.source = "741eaaa7cc70c8cc988325d3d9b9311aa1594b14b15d290418b37c033e85fbbed080e0cc25f31d9f630a85f55cff0a1098ef8a0797cef696b4621a3c7fa416ba";
+  sha512.run = "f31ac72f12ecbe2ab05bde14de907707988d6b9ba20414543b9176b71d2a0d5358a34348177857c56b961301678b612ee6f767d1b9cb671b9bab344bb8230e6d";
+  sha512.doc = "3e5cfb62d4020d32d9bab01b3df2ea1cb485240aea5eda3541d29cbe38487ed8b242a1eb2b9d15d08bd742390a8d8a25b584e110145dab330580e69e2287f181";
+  sha512.source = "2dcc671cae73824a2e4cf10682f0ad7d6236f5e856267663f14864804587e1394fe12de5e3e54e5a64abb798c16014fab07a462584eac3a561f971496c58b5b0";
   hasRunfiles = true;
   version = "2.4";
 };
 "scale" = {
   stripPrefix = 0;
-  sha512.run = "211c349477562ab0d309ea5e908dcea127f67cf1da6f2516e159bf6ef273b7cf5be90a4411ba91f1fa3e9af9c6a439bad04f74e0b2b4426e5f661014d1c001d3";
-  sha512.doc = "4957c6b4de940a1798bf924a2e46c1ef707490e257057ee446397bf178543a85a8102010720d008b9ee7dac54423966a4c57d0f7b0b021556dd720c697cbb1ac";
-  sha512.source = "294f74c3bbf64b109a528edef99d6318b2a04182c2266e5077dfc8b1e058cade296be1737f955ee880a8576c382c39cb63ba1fe75f214e36aa9ffc727dd7a6de";
+  sha512.run = "2d090a08c8f7d5d9b332f390b29b16e911f339071579cc09b954b2978df4b410ff3c47afd6b8bea0ce7eabac551b94f8630fdb7aaa4ef39f793748925157a19d";
+  sha512.doc = "aa41f6de8baee992b123ed40086dd5d0aff63c187858502c66056a52f3b8bfb12a5b7dd15ae9279a224e9d67d717f3927e97f5879ab09ded9e0960a3eb910a90";
+  sha512.source = "387efffefb6774f50165a0c3242005a52418c5c9ac3ff6d1b87f696eef7af8a57a19a4efe6066e7939fcd76ff8ff9ce3ab4941d30d36c6bf30beeea1a95d4eac";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "scalebar" = {
   stripPrefix = 0;
-  sha512.run = "f10c30f4f5eea08a15c5c55a27403fa5650891dbf4a9fa5aeb85cb16efd14cb3610581e08a85c3b4e01082226a65cbbf218c63151fda33b3648ab9ef753cecc8";
-  sha512.doc = "b60ef1af676c7fe79f40184afc0df38278b8dd32c7ee94ec3b4132a6cea30f36bcc0212678bed75096e8131374e11fe738abb3a27da3f0bf39381ffaf2e3db96";
-  sha512.source = "d5cf25ab4a4938394f7e96b92b538ecb0325761f036a14dc17f72b773351f84980af7048241e24148bf71ac86bfefb63fa810d3af561954e4d3a8eb73d14e36b";
+  sha512.run = "1e367f025943a56b6592238e2961f967beb1d5ff5b68ee83565b3926a392214557237e482ba0b174ddb2e6861e4690e636edef1a5fe0473c465a0deaa1e1bd0a";
+  sha512.doc = "cada3793771a28c3ce30439c782d245b6b21cfa426d2268e7e072a8559a81692b6c4e9e26a8bd452fe5882f39e55fd061a1af4e9be362bdcdb1f6ff6bba781e2";
+  sha512.source = "f6f3e8d007ab3efd6bf1d45b9e3af1fa846637a8b66226f9ae24d64b3be9938b547bc3879a33f44d465f8f62494d1f55141c713b18161ec4006ed76eaa52169e";
   hasRunfiles = true;
   version = "1.0";
 };
 "scalerel" = {
   stripPrefix = 0;
-  sha512.run = "cdc00004572d8c23035f5d797d24fb4a41f61a07172a8d3792450f18e6af26269f6af2282f9366ce92e7bf1ddf2461957ca31b804841050fc36c1daccfaa234a";
-  sha512.doc = "314ef43e527a4c07f7f7b99dedcbadd8a74a3a27b5acfe3b92e11969fe664e8cce15b6029a3e418c1ed7413e2055bf36383f43a51500dacf416a615ce7b02801";
+  sha512.run = "0b0a996bbed0fc185714f84e32c76e5a9277137d3d8dcc6b12b516afa97f3c80b2684c3c22af8717bb3e6acca267a3862c1244df7cb71eca61b10074fe1c3a89";
+  sha512.doc = "1533997bed3ce5499a1285a6db03be20f28fe70b1ebbac5d117e692c53068ecbe7f8082cd5f93c753bbfc1eb4fb3b78372c7b14f5e2c636398f37dbc17972d97";
   hasRunfiles = true;
   version = "1.8";
 };
 "scanpages" = {
   stripPrefix = 0;
-  sha512.run = "18b4d359d71f3b18c6b1d063370a2a7b5e1e5951aee27638f68c9b96b07783f3e5be4b962d4fe026dfc8d57fc9a23f2b9e8bf220d76d268fad7c6e07454359ee";
-  sha512.doc = "30be0196aec9bf14d6d7977415f7c7e73eba7f877c814af43a020f93a1f1f00a9cbcc44a5deab5629148c37e6fef8b604b5ac3726ab8edf6781b6a27ebeeceb6";
+  sha512.run = "e13f7849b2b1cbe9fc60fc2e3d3bb7f2879644c282e8664a5ec46b3143f4ac7fbd21f2976183ad410bf778a181d5063b23832734f0ff43a617c9020b16587fb6";
+  sha512.doc = "34eb2549a4d809602cf69eb562fd3c03c8d3fc4063820ce41b52d733228a6a83ace819e5bb82e77cd3be3cb8093e7997377fadeded652d20509eecde458d9b78";
   hasRunfiles = true;
   version = "1.05a";
 };
+"schedule" = {
+  stripPrefix = 0;
+  sha512.run = "c7d58c5e4ecdef504e1d32934ccf2c71cd36b073af4031ee83b0d0a3b3393a40acc26dd4e057f426561903d0d08297bb2a9849cad2cc5a11b02e15a3983f0e1b";
+  sha512.doc = "ca5f9e2b27f0b01531e82e64e99f816aaa52f5f340bc2fdefac367918d50c564cd178709428554a908951c117dbcf3d24753f84d864fcdc546129c3de25d7e77";
+  sha512.source = "e910feb417f9d1606b323a995026f3d3275523b4fcc53dd94d44c10b375ba13d322f32191dfec36b9606174240ec77de1b024c1f8ac14b94224d34e2aa0cdabc";
+  hasRunfiles = true;
+  version = "1.20";
+};
 "schemabloc" = {
   stripPrefix = 0;
-  sha512.run = "80b87938a744fe627a3ec13606384ba367c280bb085804c322358c1d05e88596e7f43cf578da9a2e91a8e7c93f5860805cf74713c0e54c7b505f2a43d704d8e1";
-  sha512.doc = "da50742f32b64b79f55f4a6289313510c90c8b9cb41f427f44e144a80b1776856642e9ea4405688c89107e7bd77cc0b624bcedfb06e80f9b1659aae5b7ca0567";
+  sha512.run = "5b875455f8a567a97c5594f1366fff624228ec2af396bf8cee73f32835d9896c41986b3540f215cca570f21d1531d248e315da5336c0323fb57c3f796ee2df65";
+  sha512.doc = "27b0f1f5db78caacec8140b4f13a786ac50ba2cb393aeed153138b0ea8ee6caab640c2dafb14cc3fc01b3c7a511d4642f7fea65e2ccfe295a16cb7e125a47cf0";
   hasRunfiles = true;
   version = "1.5";
 };
 "schemata" = {
   stripPrefix = 0;
-  sha512.run = "4cc9e75717c80c2162d34c44634fba069ba20789e820d3fd2204d469f212e826dc242ed659e09fc65f674d2378f4fa8984fe36d040e8391cb8c80c670992bf55";
-  sha512.doc = "bb9a15e9f40de6824168dc96d355ba84d378f93e12793091af6e5592add42a9c2325ff0514bc6fa879623a1f7e5457fb79892a33764fba17b9c12389806ded3d";
-  sha512.source = "2ee502a7d909d0793e739b467237ad7d9f5c23361fed459e74c3ff09ad9d784d7b52bf13025772f1fcc680c84dd82e07a43016be523495ec08d1345ce5967861";
+  sha512.run = "41ddeda2f81711f50238403fbd496f35f0b5548c52a4865dfd9f1ebd7d708db2d1780b1bebd0d1e1c993c140a760d4802770066b21b1bf4e98c09bb606dce2ba";
+  sha512.doc = "51afe69e7356110ae73b2dc7d4cd84556ac245bc57ab2c4e05f8753345fd0628085b61c78e31fd25ab22e1a2e3255c560193fdc9e16729e7ca2dd7c48bba0684";
+  sha512.source = "93c841a49e482861247b6a1baa79f7cfd3956e702b37ad17328c928600224aecb486df1ee012a89d00907efd6e60ea51f5c6aa704b876eba1311e96f7529aaf0";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -23594,7 +24206,7 @@ tl: { # no indentation
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
   deps."collection-latex" = tl."collection-latex";
-  sha512.run = "2250810241ac6f92713342a7b4dd3cf1deade2ad6ef65552eb9b987f340d952589fb941270c881eb07c2e97a861db47f57e16777ebf81142155f3dfd4dd6d5be";
+  sha512.run = "ab27a01ab3859bfc1718808ec931e24e58c1146c5e803d616ae0e1e2c2c563fb28bb8480f91e12db9e71d7c1ddfbdc3b73357fe212fcecf7e377aba4365aa27d";
 };
 "scheme-context" = {
   stripPrefix = 0;
@@ -23612,13 +24224,14 @@ tl: { # no indentation
   deps."pxfonts" = tl."pxfonts";
   deps."txfonts" = tl."txfonts";
   deps."ccicons" = tl."ccicons";
+  deps."dejavu" = tl."dejavu";
   deps."eulervm" = tl."eulervm";
   deps."manfnt-font" = tl."manfnt-font";
   deps."marvosym" = tl."marvosym";
   deps."mflogo-font" = tl."mflogo-font";
   deps."wasy" = tl."wasy";
   deps."ly1" = tl."ly1";
-  sha512.run = "e575255e24c9be8241f9202b013b5ff6aa0cd055b9e6b1454ff0eba4145a2a234ee974be899edee595c2cf6f7adb8911346f208a290eeef47edfba2d1bef0cdb";
+  sha512.run = "214ab897d6ecac52278e3c63e988b0bd0ce146f07e9c58076e2c65bf6a7bb1a34d66341dc88b572d4549182a9a0b9daa51e91ad782ab41f7eeb7a6c2dc8786f3";
 };
 "scheme-full" = {
   stripPrefix = 0;
@@ -23662,11 +24275,10 @@ tl: { # no indentation
   deps."collection-publishers" = tl."collection-publishers";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "79d8fc33e595506fb4a3df54fce72022281c8b7f2fd2e002bca6e1369bcfc12f9b98a872f64170d7f7d5c482361e4f00c0394b26de4b9804715b674ed309aae3";
+  sha512.run = "c5aa68661ccb1ef57e039e923397466c46349a4b52e1a282d5fa0bc466de382c3d121f69954a28c6345e0f02386eedd915c5abd8f0f0e86ec295e30b325ba9b7";
 };
 "scheme-gust" = {
   stripPrefix = 0;
-  deps."FAQ-en" = tl."FAQ-en";
   deps."Type1fonts" = tl."Type1fonts";
   deps."amslatex-primer" = tl."amslatex-primer";
   deps."amstex" = tl."amstex";
@@ -23700,14 +24312,14 @@ tl: { # no indentation
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "4c962883f5a5d723a0aed753580741c2841828a9662641893dccfcc70fab1d90d7988975de9a8c3061825fbe44977607b374d25bd4c57fd27566c16f65aa8b12";
+  sha512.run = "88e35f41d2984e4ec6672650df5708e553f830ef5c16042613bc412aa2a62a4af6f46f80825dab6e50fbc73811c2059955ae0de88f989b170681c7499944ead2";
 };
 "scheme-infraonly" = {
   stripPrefix = 0;
   deps."kpathsea" = tl."kpathsea";
   deps."hyphen-base" = tl."hyphen-base";
   deps."tetex" = tl."tetex";
-  sha512.run = "3aa8d9b098cb6a84e6c864589387a19032c6badd2eb1fa1920ab3477d2d5ac8179e1cc38cda032bb183dc3a284c7afd23d825e337e375c54777de32437439cba";
+  sha512.run = "f95c49da292bc4eb602fa20bb8bcdd148eeb883db9673665b3cc23f010ce31cd09c51af9b5df81ba0e79ab59a0b5f28c2f854ac6dcde4e0f7c983b71885bc1e5";
 };
 "scheme-medium" = {
   stripPrefix = 0;
@@ -23733,12 +24345,12 @@ tl: { # no indentation
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-texworks" = tl."collection-texworks";
   deps."collection-xetex" = tl."collection-xetex";
-  sha512.run = "6b4c722f7257406a16daae92e65ab28dd36849af72f67bf837332a94ea871b1e015e4f580f8e614a491c079f93b2c37f3954c6a746eede60de6a66dcd6e1ec70";
+  sha512.run = "cc9bd942db4afd9d1d15ccf20e2d404ca61d640f6c04058a876cce0dd09e1fcb581e8abd7b61ee55c2ac8d583c508e9f0461ce199aa7b38bdb64856afb8241d2";
 };
 "scheme-minimal" = {
   stripPrefix = 0;
   deps."collection-basic" = tl."collection-basic";
-  sha512.run = "a63f63a14bf5b3e12dfb49ece263f8fd797b71d0c88dca2df00cb988bf32cc662978d0abfd669cc616a3216ec021b38d62de39902d853de27087219faa5aa66b";
+  sha512.run = "8ae04d142c738142753b4601cc327721cb59689948c2c953f79ff1c4364aa6a449e3862d206223ef1ac1efc3fdfdb1f542c32c8049327662d4ddbe77fe7edbce";
 };
 "scheme-small" = {
   stripPrefix = 0;
@@ -23790,11 +24402,10 @@ tl: { # no indentation
   deps."hyphen-spanish" = tl."hyphen-spanish";
   deps."babel-swedish" = tl."babel-swedish";
   deps."hyphen-swedish" = tl."hyphen-swedish";
-  sha512.run = "7dc94de0576778302e7446bf35117833d5a8cd99654fc18f7f7fb241eea269a317d28fdda9044bd72e5defd0b619864b19b8115034af0fcbf1c4f3a3672fd80d";
+  sha512.run = "9d6d9bdd5bb55deed726997629d69927f8da7c8eacae1b87c94c94f73ae90d68024fef2e29aa7d652d3e9b4062801213f35e91ba999380bf3ba11bcac6280581";
 };
 "scheme-tetex" = {
   stripPrefix = 0;
-  deps."FAQ-en" = tl."FAQ-en";
   deps."SIunits" = tl."SIunits";
   deps."acronym" = tl."acronym";
   deps."amslatex-primer" = tl."amslatex-primer";
@@ -23855,1906 +24466,1965 @@ tl: { # no indentation
   deps."collection-pictures" = tl."collection-pictures";
   deps."collection-plaingeneric" = tl."collection-plaingeneric";
   deps."collection-pstricks" = tl."collection-pstricks";
-  sha512.run = "3d81ac3f87da79f5d8811a678ef944db5e0332b50487146310dea22adde338d824564c987f5f931ada8f3e7754028f2d320c5639c61fb194fe5b8fae6497f439";
+  sha512.run = "bfea4a64f5197305d18b4c066698cc19f49cbdbad180d2e3e5a3f3efce228868b184fd72d5be842235282ad1d85cb8b77c59735ca22f9c8714fb75f5f0b8c3a0";
 };
 "schule" = {
   stripPrefix = 0;
-  sha512.run = "fa7bd660a2b3bbbd35d00eb93dca6830ae9aa5abe8e3a1a2ba358ef296e17d8d6d99cde09258b78fd870b77f9967b372e5a5d9b4719e20daa778cc1b18149840";
-  sha512.doc = "0c01fd17b4be2a227c5c8fa98857b11083a91fea5ea8a76c6e1b7f361d4df678783948409e444684683a82ef939d7fad80eb6bf1830da3a093176ea2bbcbfbb6";
+  sha512.run = "8f59d31e7bebb741a7c23c2559f0e90979df2d7ed1482d3dc09a1f5fd95ba7ee358e3acfd5bcfe0a708d36cecd4e36b226db4addcb007168789311758a444bc9";
+  sha512.doc = "dbc4cb7922524e2a73c56861ebac5487b508016107bc7c2a104d93edafa816f27f84a142bd0d228aed008f85ba7aab53b694771a001657ac068db169b87b72b1";
   hasRunfiles = true;
   version = "0.8.1";
 };
 "schulschriften" = {
   stripPrefix = 0;
-  sha512.run = "48383258904947223f8079e39810a6ca0a53df7de8b48c551edaec9a4190b6bc4c4e294ecd619e464b0f95adac4c6e4964d8fb3ce80cc3f6edb04905b1b1aa14";
-  sha512.doc = "3b98b93ddffab0865bd068bf3391686ab7327d9498ccc379a0591324be268cef6af05c815eee32c696c24df342abcaaf4fcdcff68e165992ff33e091bffad64c";
+  sha512.run = "baedf984b1d1cfeae56af4b9530b81d90653eee334a90f2a9a83a871240592ed6267668b6974033cedfc1e73166232201eaae8e4876d38b9fd94919e8262336a";
+  sha512.doc = "b43f16b38c0417b074b7f45bd42290f3434275c23c6031f293101d907c2004805168d86137190300daa1ca62dd1b25cd2f795e712868b36e454cda134f680bbb";
   hasRunfiles = true;
   version = "4";
 };
 "schwalbe-chess" = {
   stripPrefix = 0;
-  sha512.run = "24195c280733daea15f268908dd576d9ef3bfaf437e517ff0f972e192b726ef2589a4f5d387ae52268f7412c350030fbfc9c55b6b4680d1ba43ffb61a926ca8f";
-  sha512.doc = "f19a0e129ad0a338f8e5600797cc89e15a79b999ddc8136200fae35ffbdcd06e0e2a2e606343865575c0d11701a3924d70a24082774cb87ab3de1a14fbce0c19";
-  sha512.source = "8cdd31adaa6023153b0c89ea5920f4c061500ce59335bb72823d651e18f8811927e4c1af259b4099f147533b9686ba9eb9347174ac3d413540134e9fc1d5b3c0";
+  sha512.run = "aa32ef2ad2e939250a91d9c8a8278f640f6d3ab935dbaaf0684f299331d336b287e7a6b6330f0e232407ab4af6371d2feb2666a92ed5d962be8bc1e07b4cc811";
+  sha512.doc = "ef7d55e273b0b61c94e2df009976f636dc67939555c67a3a79f0df4e76a5d1f8db8474506e16041492ea6e4588972a375972bcccfbeccf943dac664efd48291a";
+  sha512.source = "03c43c6667646c44f40b553d8af01a3c463142ec442a1979552186f34973b4e0e4058407e159b89969d3b5bd1179bf98f4dad2257bd9343b5c8d40da53547174";
   hasRunfiles = true;
   version = "2.3";
 };
 "scientific-thesis-cover" = {
   stripPrefix = 0;
-  sha512.run = "6d0704de435fe5a3df678551ef66b7b808dcb48863b4fa3a43bc433f20ce12b790e7a41f42ec505f41374f2da3c64f9fe3fea113869e997419fc667cc52d2d56";
-  sha512.doc = "30d7f539bd6b7a42d2a6300dbf2fddef2f4f4929d9ebbb0bd77ce7c4b137a44d5cc55e0b6fdfb9424d9379b2191ddb089ba2dde93e14815d216aed94d3a18d7d";
-  sha512.source = "a7b7e08990c6f8cc87ac4cd8ba43d858652d96a842087493890bd4ea46a20e54ebd6435995d6ae28d4aeef9806995bf22e3435418c4f58d4ed1f6bd165949c9d";
+  sha512.run = "2427c534ad767f1e8f319aa24744346d4a0a39f73d93c779dc89d3cd0abfd683d7a33c81026c4a5823ad686084f026193c917ff173d639dfac2c99350a819c59";
+  sha512.doc = "31bc280c96b87b079a7dfb6a0c2ff1a03f80c5a047bc2c11b9fb192c50b8e51a65cb3fd5c043c37124afe2383a611f38accd91d6202416451b3eb34bfe855077";
+  sha512.source = "ac14306fa7591f6fa684dd8fb6d7c7335b6ce5c8e3099d80286f05a9f378b4d430b1210fec9c071aa8a4e430ff6cae9ea712ea504cc575e89b02751c02e60bd6";
   hasRunfiles = true;
   version = "4.0.2";
 };
 "sciposter" = {
   stripPrefix = 0;
-  sha512.run = "f8b052b8a894ffdbd2c1934eb9742bb7a06b1d49e9bc42254fb69f7fa5564d97b636ee4cfb260ecf1f88f19b09f62394e283407a0aa10b47fa969af1490cfe30";
-  sha512.doc = "2e539b0e604fc209be6ac60b136ed8dfe00fe3090bde1786e0eda8445c32d9c55617fb84b30dbf47779203eeda7c27e04bdd15bb4cc662c373df6048fb24b39a";
+  sha512.run = "1a4292c9fb6dd8a8780968c69ee70a88dd5d1c5d81df9a32e22e08c9115528d8af634a1681fb1672664d57f80ab333a1b811a9c0e17597afdc358988e14fae93";
+  sha512.doc = "6ea102c2318e30080224684693806e16008f946a01fe9e1d232a871f231100d1491324a3ab0260746a61a10125afff6b20072c1a49c8da279a4c0b477361e46b";
   hasRunfiles = true;
   version = "1.18";
 };
 "sclang-prettifier" = {
   stripPrefix = 0;
-  sha512.run = "8e7bdebc613de7734485c01547dae096d65f534e13a8e1f4a08e7e6594b2f4d67d2c82e5a0a477134886b54c2503afbcc3c30ff70cadf41698d57a5662f17ec9";
-  sha512.doc = "ddaf681e4e7d6c0d073f122e50c311b5422f0192e141bd7ce68db0af0f87bb14466fb8b6e51186a51979984120a7ea9e18996d7cda4857b000b56f08bd411c4d";
-  sha512.source = "870f468cdcba45d0ad83b08317e6aff8cd164bcbc2f0add0795624c63f6bcde7846efa0ff3bea78008ae3eb6285bb9e2278b080b0b8d2f0b1684ef246e7d97cc";
+  sha512.run = "77f8909b870fbaa4f1a0414f75f08ac602051d26c0c935be8661be8820a0b77734b614b9f5c8333b1f1fd12f57a6ee3c4c403f151bc60300e454673a2a4235c2";
+  sha512.doc = "7680fa17762f17d2d7f3c9d3062bd194394bbbfbee36e4704e8b95b2be568cab51fd1dac9d90c6034919b3ec61f75f0f7689478c16f53ac7b4ee820768eaffa8";
+  sha512.source = "8a9188cccf4eece9844156747bdf8414bd42227cdb64ae79ce2e95c729ebed16c9af14abb943cb1caaaebb693bde4d39e39d1302afc0595444d16b3bafa98131";
   hasRunfiles = true;
   version = "0.1";
 };
+"scontents" = {
+  stripPrefix = 0;
+  sha512.run = "87e9eca9f88ba6090728df86005f9a9fd1cd82156b9a126ddd6f4f9002ef978aaa846139106ce5df567cf69ebe69f05a104fe4b9c31619e0776510c43778e97f";
+  sha512.doc = "0c1195c5a24aaa7ceb52f53ef8cad4e496a765c7328b0f70ecf8ce1caf9d28b71634f4900ef83c02bb31212704a26afa5bc247b79e4290fdb64f3d89b4b43c29";
+  sha512.source = "555bb82c5173ea46ecde8b4b8f58ab523cd30ff7ed8a4b37ed70f1113d2c00f6cba30d9904a384f3508ad7cfb45b32b3d6bac2c645c0f960b8f2ade65afff971";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "scratch" = {
   stripPrefix = 0;
-  sha512.run = "fe38eccd1fd70738ac243533855f601fb2787c4d30c3ff20bffdfb3ca2ce5c8166188900634c5118caf28a25f01e96233cd89ee795aa7bb7e6bbc7593cf0d73e";
-  sha512.doc = "1aa382e68e11b2465b860ea200423f292d49ab56c6ecdf6018110fbc8a46be79bb0f2137be3cd83eb1aa5815cf79544db1f1b4843e4c95bc61939f3efc84b6bf";
+  sha512.run = "fcee832dbad22e76387bbd10f7ea8e3127a6fac45ea1b42feb183506cd5c89c258cafb052d75e4d14b431a57e638fc84fc751bbb8fa700420197a0d2e33ead48";
+  sha512.doc = "af7057f28ac0539a555db5774d3d29e01ba10fa78744712a5d76f95229c45022f682c321a551cb5070ab3e370b2d9e861c0b04b73365e828fe665b3f8aeb7730";
   hasRunfiles = true;
   version = "0.41";
 };
 "scratch3" = {
   stripPrefix = 0;
-  sha512.run = "3d29c86b7d248fbe02649dd02dc65e855fc7717ae60dc2588a9860cdc2f388b178de0203702ddbd3f5be8e2c6070bc415407d042c38a416325057b3584c6dd6e";
-  sha512.doc = "b1be6f6cd3d5a0a150a60fb2af8e1b2a7485a7f532af7781f30b9566cd284cd2bfc265aad7be34e00f9468560c902497fbb960f163c528338f14f0b2f9faeb52";
+  sha512.run = "042ac97a5240c259f00f8bbe4c25b0886636b49e8218ec810306cda99525552bc4bd6f4a7392db19d45805c50866c7f4cfb299e63b8296d44409f12db3e3383f";
+  sha512.doc = "ea7c2ac340fb69bf779af2948e684ccb73f0234ed55fe2d8260fe8b3eb94c7c0ef085db83f94f81fc19705b2d61c1697ad9ad1dd39d8aac343d16ebdb8e20ece";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.14";
 };
 "scratchx" = {
   stripPrefix = 0;
-  sha512.run = "279d630387571db5e8e2c7660d1a59d6090225d27bb195e78393b45e8876fa8a1e890287c5459a72de75f66d4f56bccec0b5b6b532d45b88603c511428b41e20";
-  sha512.doc = "8fe347f23dff202b436c2f55e65c420063809cc9d640b83ac690c0ea836f4087803a253d26a37e2f4e78d051bf7da57180bf9fa924bd0acbb6d5b0a2cc2f0f50";
+  sha512.run = "793c4e96cedd97ca37b7906b6a9e78bb06f39572ddfb57d8e4b54dd9b2846b31bbdd835fe1a93517d1430448571a30d26fa8ad7cad0aa3fab6ca526bacb605b6";
+  sha512.doc = "c87994e90a748fa8afba91b443850a2d9f555ff4ac6b264107b42981e078b6966e8cbffd75f071f3f69a78c9b9aa10db65c3e855a4920f3b732446df01da7d6c";
   hasRunfiles = true;
   version = "1.1";
 };
 "screenplay" = {
   stripPrefix = 0;
-  sha512.run = "8c0baa21ea50e77709b8e78fe853b4a2593c014bd409ae7c71cb918e3831baf16c0483ec589cdbd9a7d68fde8ffceda8dc99d02e86b7d51e8e639de358f3b6a3";
-  sha512.doc = "6817a43c3ffcaf748d2aab07dcd7cd703ef35d425b8369d7b5923b74f1075ab57c278fe9d59a2370ea229f31e88813dc6bb5cf9004c42d5a475da02d70eaa0dc";
-  sha512.source = "da26ff7428b3ceaba37f5f0d8651e72f3d2bf86776a6ad20b5317fecbd10944732a06c4f8dff2a9fd2d9943552d6d26ccaca19771a7a866338549382bfaf299b";
+  sha512.run = "d14dd76c4b1abd9ff7adbef7e4c3bc1f732156dc2d989787bed7382e0288c44dcde18ce05143e6af03ebe83c753bd2b6682cb4f56c73934ca4209a114eb9e3ef";
+  sha512.doc = "ed723ffc17a98c8d4a8c960f56a3550ea74db84fdd06d26b08b5c46b12310fdb9b7b7719ffa25e8ddd21f17642f5f64f1c96327066a131c468cee8ff185cb199";
+  sha512.source = "f6ada6c467c3a9d11096928dc31c7f71131f0b40146a697bda2a3e194c86070a776323c76c8b6da0edd247f8fcd1a65c286801a7353bb53bc6aa364bb7a75944";
   hasRunfiles = true;
   version = "1.6";
 };
 "screenplay-pkg" = {
   stripPrefix = 0;
-  sha512.run = "534726f9dd1c393ab897011a0d37f509e07a90933bc5fc5e80abd31cdd3f439d6679302f1e458528301088a1cedce09c15eeb6fe1bb7f1b0c5daad9e5bb78b6b";
-  sha512.doc = "bff468dc22f74a7cca86e3ebee672835062bb682fcc91170e3bf3d359c908e111bc1e393f0f0c134aa2aee620227ecb00e5869d1ecc2494f55410cfb879c3340";
+  sha512.run = "974795ca0b4a286077e38f4b3b120cf9fe243d450b87b8397adec2c5425b865cdfbe70b86b815d513edb6ae7051d9ad3003fcd6a15b5b02b624dcd4ee0534164";
+  sha512.doc = "9aa4407d1b317442dd76f762af5b673460bbbcec89e47835521688085183e00ba9dbb70dc9e86a95235bd9a32da701c846ceb2985dc70894ca8abe334428a532";
   hasRunfiles = true;
   version = "1.1";
 };
 "scrjrnl" = {
   stripPrefix = 0;
-  sha512.run = "ba9db8280b2f80de2708e51a4d302b36d292d76a1de72d9021cd559ee60cd2ba4504d4a388611c074261736bf4a16fd6bad3824b74a521d753f7f92a4e3e27f8";
-  sha512.doc = "84f6fc697d5bc7ee87fa8410b11334a2ecc122363afac29a57a25e896b3a718ae0e1b9fe89213797a7f1f0d4eedd3cff9e3da56ce110b472e967e3bb3f5724ca";
-  sha512.source = "3d6ecc90397349865dec4c8a541d6a259d70e8f85855c164a7a4bca91bfc3ba6e7d15fcc88a2482e34845adeec15239f3bc8d8249b4854cb09a075b74a27c1b1";
+  sha512.run = "39198edddb3a3ce24bdc0d9cc6f5d7ff204b142c200a9ce36060bb016f1e1e1750b83210a91f1eec90a205c5a4923704bdc0e44876c462eb768355407597a05c";
+  sha512.doc = "bf6dc1704ce60f9323b68d39502fe95d4eaf8409bf65c278e64deb1ff80aaa84f16e294ab08629466b6f8c0ca02ec03142abdf3fe0a43f862352d0ec55dd410a";
+  sha512.source = "05b0a8e50efd2f21699c3bd476cd308e02267a6dc2a9cd480e0f7b2e6d9633c830927c54eaf75e4d329a8f6a8d3993782ecfe2add7b450016f7e7bc92aea1b2e";
   hasRunfiles = true;
   version = "0.1";
 };
 "scrlttr2copy" = {
   stripPrefix = 0;
-  sha512.run = "0be35ffa4b9b3a7b603be134bd131964950476e90842e4f6f9db9fb68255e3eaa8c6c47d9387b3c713357e72c927171a2f4f34f0c5b4ec38ed5faa3a28781415";
-  sha512.doc = "3f41cf1545e3cfbd383a98dc51feec57580065751f1ce9aee8d9db65e754bba4870bc486bfed9883f81fb7a47cb2aa49c5140e2841865b3fbfb525cee11eea19";
+  sha512.run = "7aa7ac841d667e627056ed0ef3e55368f580e9d8a35a35239780b12d0a18534086844009ba1dc40a1b6ef29ad64d06e1e2e8ffef216e89c15e684975acd87192";
+  sha512.doc = "08e87246b20cc0ea9ed30cd74993aa2af520d8b01878e1f54c802b5beef4347c087ec36f32220581eefe933a524c813ec30b3235989453ff8b7be93ac35b725d";
   hasRunfiles = true;
   version = "0.1d";
 };
 "scsnowman" = {
   stripPrefix = 0;
-  sha512.run = "c0fb2971442ea60f5a631a54021551408293d29f7aa6e3ae4d15d9312922a690be40c33b4fb3bb04d1600b7677bf0d7d970a3a0aa4bb2e25cdbbd6c136286b1c";
-  sha512.doc = "153f8b9578969b7c2622d0c18deb5561ec0facf2df175a2ad0a2460e1e5d37258a46d234c520a62cb15e49298f5eacab256a2c3f8656856e321250619718ed05";
+  sha512.run = "87f207b478799ed88deaed71b60bced2158d6bf4406e6cbbd533f9110004cb8ceec71ded31d3706d8033bc53b1f0f31cb25877af9c58d27a5f350ab79572328b";
+  sha512.doc = "5050ca6200a7531bfbc31dfd9f06d4b6503e832fc09a7132ec76a5ebc09bb0fe4743ef09740ff9646d4fe93a31ee9fcdef6091fc5c50e379c86d529d5df51f25";
   hasRunfiles = true;
   version = "1.2d";
 };
 "sdrt" = {
   stripPrefix = 0;
-  sha512.run = "04e621c8e8bb5325de61e285597ab7c7eb9daa62071c54aaf830d7c8ace87b67768692759aa0c7d89bf1aa51d8e9724c32c67bc3fe00f4c413709c3caa2f13df";
-  sha512.doc = "877ab7829be2c25a53352c2ab0d6367639d95e9bf8d5d82cbafbbfd46e02809441dd83c369b59d8a355f2692b7af35b3dde25e5c4902608c779b9f62517b47af";
+  sha512.run = "6faa9948e5bb4369fefad7d2b1a5f2bf39baf8b98e8ad3b8f61ade2001b431894ddfbd61e2f1ec73ed767b102f79f8357d965a5c3805c082d8d88bda29e10c6b";
+  sha512.doc = "570795dd0c4fe0450e628f61e43d05f3e969488890eab2ee1364712e812d839c7b3185c7ddbd27c44c486e234afe36aceb4824e828cb0c9253e8e5479b0b6c15";
   hasRunfiles = true;
   version = "1.0";
 };
 "sduthesis" = {
   stripPrefix = 0;
-  sha512.run = "380db9bc40c80157ab4bf11151e9c02e1b1f18a6d3472ff95df350e5c9d191cd79b74a7578939fb2f23b86cbc1e814f9ddbad8f51bef8acc72fc53dfe016df27";
-  sha512.doc = "87761b59474d2ede65d360fa2448b04c6aa6ad09d3325522441ce5efaa81a7bbef8b0a0d86d61d6fdd044c442f5ab69db53b6bdf15f98d7b5be4baac5735eaeb";
-  sha512.source = "f7fea0894cf355b288f76c744509861deecef316e3609de3f9f711f75070ea0b8e4b96e47e56b224f3fe63a4ed7462bd5f809b0c8be9d2cc1087d14c769d4a08";
+  sha512.run = "10f1c0a749b9b30dda0e1c7dce4ef2fdd29220b4d77d03b8e71d8c3a460a73c98f8d16e27e6bbab07a66bf7a23cc9d3bf2b12db523232df1142a8563e0068ed8";
+  sha512.doc = "afa02606e7df5655ef46b59e92dc54bec9e8f05deb1d9ecd8a0546ee068f2595620cc8dd39d04ea8db53ac7f2e9983ff01ac2646b6946fd3619db64a0bdad332";
+  sha512.source = "2c4dddfd7a6fa27ebb4e48e61f8d2887e116eab174e13d9b41efc9b7a3c2f5d5770f000b4acc4275fa82d54ad5ef2129bf614478d11b24a359a38a03d38caa76";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "secdot" = {
   stripPrefix = 0;
-  sha512.run = "e2ec06c1627c012fcc48ebea55c7d0364c1a11d1e5aff9b01e9de51ef9334a0097cecca73a90bf5e40520c39bb5f8a68adb015b1b794be8c09ca21803d5bc851";
-  sha512.doc = "f85845d0745038418cff01e6c9fd2370275b37c5306bf2e57bba824815082c87e407ea092b522abb467162e389ac7e77226b1dc71133e9dfbbf830a3446139f5";
+  sha512.run = "7fb101dcd377cb5e3d1dca352d266af419c6fd83e4f2d1701a3d598e69e8e7f70afc9791a76337f4833da612cf07989ef244af1b24eb62ee59dd5f76225aa037";
+  sha512.doc = "7ca1b4102c6f92bfc6dd0571c489852dc5c1df4a58530aea490098192ee256a4df7e0bbee20adff78c2b35dfe39b8cd3f821c5e45dc6d78ab4865b6f08ad8488";
   hasRunfiles = true;
   version = "1.0";
 };
 "section" = {
   stripPrefix = 0;
-  sha512.run = "1ef93a2a5b37b673f128cf1d0ef1ec07ef92fb612a6a03a5ab6cba33542ea86087773780dfd0ecec2873cfc0c26e3ac7e074083731253cc7183523401d07640b";
-  sha512.doc = "92f42f9f73e261dbad1c7276002ff55fa6c33b3538255ea6083cbecfbabaaffecf27d0f9d87b35fdbf97cd49e663ae52ab42380fc358ceffb2c40b6678f9d164";
+  sha512.run = "8b3eaecd49f8b7046bc35df079541121d76757bc2a1b6a6ffa24357a20e9ec4bf5a7b65fae1673401ebf363e46ecffe3c64a2de9aac104594b2b111cd10426f2";
+  sha512.doc = "91defb5391b9e607cfaf74ac3abe53127ddec379d7a7c052f5c8f776bcef1728010a94ef7b590ddac8df140ee11fff4fd843bdbe1a13efd322a9a939ea2df39b";
   hasRunfiles = true;
 };
 "sectionbox" = {
   stripPrefix = 0;
-  sha512.run = "9f212c2771464064809aee7d7a57b1f92c09e062bdeca803329b06a951cd5bdad2d774ccd82616dd35a2febaef303cd4dbc7309852f6c77d9af7b6779c2e0bbe";
-  sha512.doc = "16cdc44c2f8fffa500e698f9d28fbb623a47800976188e6e2a0e265261c6466cb23021d77b1c738fdac28e9be7417090f210ec0339c1d66f5a5adaee72556d48";
+  sha512.run = "d1a4da6a59c0411baaa785c58350c1d5be9c1081e0344d8a61fc009f49a1b751a09f358ba1baa3b645de4eff7d69e3781d8b44d90738105c0f56723da36efdb3";
+  sha512.doc = "80ae58336eabd8169781c3c30b42b2583f78ffa4093a7d3f9d9e9c6e31a3fb8f457fd42d56f2ff75b2ff3c38b537642dd6f254e54b3112538657a37b3b4e0410";
   hasRunfiles = true;
   version = "1.01";
 };
 "sectionbreak" = {
   stripPrefix = 0;
-  sha512.run = "6bd3dfeae0144ee3cfaf775c6847aec0882ac62bf57df7a6684d3aac9bafba844fd3ae4fecc826c86bfb110dfea2e061d84cb22369fe6a18864db97abd69cdb6";
-  sha512.doc = "9d25f1700d55950fe2c36ceb6551a8364206f2788e2a406c76f0fab06214bcfc9cd9d54f29ffe49185e64574ae44da01c40f55974c7e41b3c26f8f516db009ff";
+  sha512.run = "4b2c26642ba346acce5aff9678bf94f76d85005464f80eaae862a522bcbfa34c1671af79671982a91208ef104a21a532d851dcc785b5c40de4fe462d12488832";
+  sha512.doc = "a98eede394708bf612f593e00c58b5500a35b5173381c1f149d0be29b49fe95f5162602177b7d4f23c5b5312d7cdf47ea6ced8bc285853d2b7d77926a6ca66b0";
   hasRunfiles = true;
-  version = "0.1c";
+  version = "0.1d";
 };
 "sectsty" = {
   stripPrefix = 0;
-  sha512.run = "1b442df1be18f55a417a30a7fde6266ed93d305694778e0fefd85cc83f17839ca72155839b696c0c0b63ea59de6f35cec46c76c709d142ee3296b1ee5a86f4b2";
-  sha512.doc = "c0a3e87c7aa57797d07024b58845d1214fa04bde59eb14e27424761b2dcc616af9836d1bd7b291d00d2324812d21b8881aa0e223b050214eeed42fe24fdd657c";
-  sha512.source = "9dcfb02dab0cce980c3c19bb9c8978b80fe5fa5c0fd8468a5a2a9b103c91d6b489ff76d84defe990c521212c30f754cc6e31fac21dde67078a95c6600a9ac3c9";
+  sha512.run = "7e164b14f29a385f8a97e09ad124c347a154e316ac2eb41e0bf9f161d44f2782995fe271b5472ef90dfa4ffdd5495de81090b44f5777243ea76c9f75fcbde2b4";
+  sha512.doc = "69d7fc032c06d015d7a6e6d2273c5240b146062565882fca0ddf5b7b795b788207bc9b478366a0a40e4acf223b07482f5cf41a65dd9b37047bcbf12566f6a826";
+  sha512.source = "fc79d4c7c437d9c5ff7d8dc62439242cb772f250527ca099cd1180e58742a9ff42e7c63776c24fa5563c95b5d2bccd97df0e1c086869bbcf5ff2ed8ff5297bf4";
   hasRunfiles = true;
   version = "2.0.2";
 };
 "seealso" = {
   stripPrefix = 0;
-  sha512.run = "1a8eb14820aff134ec4acb3ff4ff3c60061b4ee24868841935374ef17d32cc0ee506a801df3f5cc9717644ba390fc26ac553eb8090b4e2e62865427cbf2a26cd";
-  sha512.doc = "411c4a85e94f0d1531f483de7b815fea9ca86f3c95d6f6f66f3b0f12a78b4cc9003f623478b2509c8c100c77dc20455af3f571bcca18f203cbc66e4310407f24";
-  sha512.source = "9d379f6b22a9e374df999dff56de2161bcfdf21b68ef508af37f8b7cd2e521f5cc656cbb6d652e1038d32691600e8a6896c76c4df2f7ae7c7ee88c8b6bac4d84";
+  sha512.run = "4d52687aa57245d3be55bf486b100d61fe2e2d979447c2f123f566c3aeb13657e531ace55fe5d00eab57cebe89cfd3729a71dc7177831b5192b8c0fde452d7df";
+  sha512.doc = "6baba95b6b08ef95f2966d227161ea39a4084b46371967057266ddae155b115fbe4fcf148e1afc4629e33f54d0329ebb6169f1be4fdcb801d869b212d056cc61";
+  sha512.source = "981ed17cba32b2bdc4848c099038193dba2b39d04210cbb2851400044654234c75c160f9c775af2fad6b76b80c85c782fe6ea75a61728ab67193dcf414b0b4d8";
   hasRunfiles = true;
   version = "1.2";
 };
 "seetexk" = {
-  sha512.run = "756fa2ffc5fcfde85619d7a2ad063c67016e161cd576d95d207a8411c18b6c7226e4a1bb4a3ade01920e6a2f2541c353f3fa3d2cac14c63ab1c01788b839d170";
-  sha512.doc = "43864bfd3ebd8e9cddb1fac976a131c5c3dd6ea223b8d94176549419d6bdf3f106aee41e2cf3234a22384fc0be52cd6741a75f044ec2f1eeddec26f087a664bb";
+  sha512.run = "b3dea76f239ec78da4eb15d4bea4dd1171c3193e9d9e82a1ecc5d5ed747e421a7a3dc96e422839772d2f825e862b8a71befbacb7cd816405d707f654c7e5a32c";
+  sha512.doc = "39504cee7a077e16d10b2d4d1f393b1b90e7c21c7452f761dde1117f4b8668962b1baeac4b834b71b481fd170059e4e60f2d529e523e40503d26704ff15a7dcf";
 };
 "selectp" = {
   stripPrefix = 0;
-  sha512.run = "412e476d7c51affd75e01fd7c96f726e607e813287f71d54924fb39b039082d289053cf6a3954c282ece141d0be802a27622578fed91495aadae4d870a400d81";
-  sha512.doc = "2586950165e4f7abdc6e8403a8b39e304682cdbcbe2c016efef7cfe494a9fb6feeee8039805af0be33ff23d97f43cc5359bbcf3105401c2086f85b9238b36cfb";
+  sha512.run = "1674c9c9d7afbc851f8c4fad1b46a1ec18161eb48375d892c947416ee97791addf92f75a69090c95a0f08bbaac1a7a745af93a7bcf91e2e0f8117ed3f3106dc9";
+  sha512.doc = "7c99f0400841cb1d88af4c239f43eaec7c0b2358c2e581866d4361cd86b9eff413bc9e07d8df630ddff8d4f37193896bd430f4c357d9cc04591295f18ebd09aa";
   hasRunfiles = true;
   version = "1.0";
 };
 "selnolig" = {
   stripPrefix = 0;
-  sha512.run = "c267f6c6b3095566d444c99adebfb4da58a39fe5870ebf63f5f717ea71f3285e363ae995cb474023764c19bf7fb02b676ffffe956a5e3151b9f7314ff335f159";
-  sha512.doc = "0a91e2b1b91b33a6a363c7633ad8371ddeab0f16bdabfd895105d7a08a67a7cd8d3b6fd01fd3e2a053d5ca2051160b14d5fedbb0864fee7e532833d9ae5cd040";
+  sha512.run = "8b01d1b6f4e6f83efbfc603be7c510d3c8435559b1272f3e8beae7d0de04ac889e04d539c689abfbfb8af5ff2d04c38459320fec333a122c3b60a1a79a0b115a";
+  sha512.doc = "afc1a84aa85f3da5e5d121de0ee37f5347527985b3a9ae75abf0e51edc1d5371e831b5ffc7218d9863b8ff717554c6f469adec908f02f5d9be3bd4f6e45fc1ac";
   hasRunfiles = true;
   version = "0.302";
 };
 "semantic" = {
   stripPrefix = 0;
-  sha512.run = "4d5ce32ffba5d0733dcf65495b131b5b3eb5f4ca3f58a5deca6345382db422e1411c48b86578cc2ecc48b38a007e781c11ceccfdb1b6523bbebc04bb32556b71";
-  sha512.doc = "8e381764fcb23c40db87146990bb81499c5a6ce7d825aab6c93acfb4fc2b54e33639469777a47917d4a877b435721197ec1da14bea1d2e55d425685370f0544a";
-  sha512.source = "5fecb6ab18b77722a7f48b1b720fa9cd1aa995394262cf891e4bed160bd4f7b61db8777a4523c85d59dc609d5c2a2b7b2c4ce1655affb3e162325def3238e669";
+  sha512.run = "d49c22d4982a33177fdd73c5ff15a68e663c3ff1ec9a45a40e5a8364371a25b536dd6c1dd963296ae998760178833b5f2c357119f41e7bb5a72061f0f9ad23fa";
+  sha512.doc = "21e9a7efd9fd6dc28be30f284285cc8c13b266eb03c9212b30f97b761c1383e1fb84a18e92437d331d3963068a68c61276cc1fd3446807bedc954a490fc490aa";
+  sha512.source = "4d513b6c9b320b9ddd8ec92fd8eae079134d351170122833e99557fdec7510938d8ef856c52e0a862a8cb8cdffa3894c160dfe085452e0cffc49db4d3fac6a79";
   hasRunfiles = true;
   version = "2.0";
 };
 "semantic-markup" = {
   stripPrefix = 0;
-  sha512.run = "41b176ec09469f8786062a13975680af0d7b66d6becc42840aa5e387af126e29174dd1ce3b555d4412aab87d884393bdc13e7151c6342cc4adffe8f7a26bd767";
-  sha512.doc = "24a68d36e6b1c6f7e873adb8483b055585fe37b2d970039ba8749ba0e2c782060325d6ffce0c2d5ef1d022c02222b7b4ba82ad12bbbe657eb28118270e1c77d8";
+  sha512.run = "e0e519f87b17fc26a3a30662e9ad5ee6637c2bc054c9d718925cb5b68e6855c1510ef75e8df28d09b676ab40e348b15b85057c6f64d5f5a7f526f84791e5c67e";
+  sha512.doc = "28c2448170a73203261c1762eab7b2aa176c7c798b2320592f6fb4863be2a3845c10df86479ae984d7279882e080addf0476cceb3507b8daa17c94606aeb93b2";
   hasRunfiles = true;
 };
 "semaphor" = {
   stripPrefix = 0;
-  sha512.run = "bd62567ad08af5b706ffd10273b6b05fb2446ee6afb00d804cfaaf0ebf0420470e9c4691afcb3e6eb08ab6e7a70f0c19ee7ec6559a07f63de7efdbeaf93dedab";
-  sha512.doc = "064f4e779538736806d2cf2b2096f065df7fca9bdfca1f5c782fb830220d84daaa752d15dfd7a56d891978f61a65389536feb5077927990aa477b8aeef614b95";
+  sha512.run = "b8741be1544d8ab488632e05464cf607069f0d09df7a727bc05d06175dc16bff461d551e7130e01edbb53863d56fbf4cd0cc9085c51186e19e5f2fae986b400b";
+  sha512.doc = "ef0c85ca5e86a17d59c03255d679d54cc8fb36eec02c8546f29e1c514408559788d1dbe3ac7565224b320b71e9ad77979b1092fb0f098a1c48c3a7093b72b172";
   hasRunfiles = true;
 };
 "seminar" = {
   stripPrefix = 0;
-  sha512.run = "b9325d50f47a2c8bcf875da1a3728d53e82fa7a354d6dcbc1282b45b52c311a303fffaac7a08c6726a610559ac6a736a0029379a3b361030e68dd746934114f9";
-  sha512.doc = "72a328122a0f599c875c0c7f6d6501f1a87ae612baea93c3ab6ccaa768efbe2051a5d3a818da3747dbe45fbce8af1add47ca778b9f0b7c69f8e36beb21fe7e45";
+  sha512.run = "63173000935f741b7d1e7dab2fa0091bcb758ba36dfca0b6c745ae165f6b5f3aeea7972319078f175e231d3e0ebd3454d2241a2bc4f0f36ee51bac7bb7287a56";
+  sha512.doc = "0bc4ea04a561c8a8c17f4f6ea493fa98e12e93cefd58b0aeeb0b09823f2b97028d945f1c9199fd1a5ab10e0b695079a8d97608474a4d04640496737640a9993c";
   hasRunfiles = true;
   version = "1.62";
 };
 "semioneside" = {
   stripPrefix = 0;
-  sha512.run = "5381ad475db4d8f052f355cf77284488f56b0bdb12229cbb9629ae9ef5dcb1d6617bb89b3e1f4eed1a1d77467a0522de9e3601885174445ab97e2e3827627b03";
-  sha512.doc = "076832a74ae8d80c3b66809f5231bc3692b3f48e9500991ba309cf9a477e1127521543513bffad7f24d1ff0b3b2fbb52ddb433c1b66a5932fbd29b9d429be9e2";
-  sha512.source = "bace41deafd8599d41daff4ce60fd01901331ff5c1b369f5ba57529789e24cebfbdaf142697d6a6dde629f63b5c76d4f30b6c47784a5c23546f56d36010d7eb2";
+  sha512.run = "cb3f20a7f766681f9b7748ea3a816fcd477e6685a159b071502716c708e0e1d5a2a33a5b210cd1e2a684a288d07079870ad243218dd74e80853a227fd445c884";
+  sha512.doc = "8d6b1ada214f99028ea9843b4d5a85a8a974a9ab52e8a7d9338d25341282d6f1c8ca4e7a24271ec20bc4be781f418f2ffb558ef4fe6e6f42d165bb24650b54da";
+  sha512.source = "1b8d0d90db12b52add0f7dae10cb16bac8a9260e0a6783762908a07a014dca294ea6c631ceac3a5d063705cf39fd1a57ce6b99f72c5da4d57d4a30cdafd25767";
   hasRunfiles = true;
   version = "0.41";
 };
 "semproc" = {
   stripPrefix = 0;
-  sha512.run = "b2cf54ad6628f84a177fd9e77c00c90b154b5c2f3b842bc4dd51ce586dca0799ac6f82af1945576219bcae6beb8f412aa4110b3479752ebd3bc860fda53b3aa6";
-  sha512.doc = "7f1dc62a21ca9e0fedc708c48381161e0b213df9473235501ca233bb33a588adc18461cbddf908e3bebf9ac25ae2f65b8cc41a00c4e168a82541e1356560e5fc";
-  sha512.source = "7b9ffd8366b07e54f6d15610aecbc9dd6177a3306572183e155ddbbbd327bfdc4c5bb2293c818e0a29ce8700d3479511f81926e5dcbb8fcdf5f0f7505ff131a2";
+  sha512.run = "ac78e19197af3c72863ee4ca94842d596189d37c2d559ac1254f70fda1011943ddd7ce17b48f183b839a6610f8d7dbded2a0f2a18453823a0c0044a70841dcf2";
+  sha512.doc = "2c7e2a40348b098037001928d6f21f5a66c23967dc63296ce26736b006a46f9d9536fae9480c1f0d0db72ed59973a6140471bb110702fd5cb997fafe03133dee";
+  sha512.source = "7faf073ad7da9627b59509f41056df76658875d04651321389b3ae789e2d704691e494726635161eeab97786b8c8d6cd322e3ba83b3e1a779ff3d10a752fb51f";
   hasRunfiles = true;
   version = "0.1";
 };
 "sepfootnotes" = {
   stripPrefix = 0;
-  sha512.run = "ddce5beb341eb7e2b2391b752d9e00355255e2d14985c88d6e60f7aeb4da3e18f93d3eef4d97ddb9ee9ed5bbdfda6e2097c5ec43bfaa6ae0f1b8633dc2fd3fbe";
-  sha512.doc = "9ebb95905dfeb04a7c6313ecde83b5870330b48f0cbad152d770194c65fe8aadffb3e69a29cc665011a1dc9fb64dee1893872ab1d59181f6872b838e3c082d0d";
+  sha512.run = "a7333a9779ebca371aeef0a1348968d8b4649ca037e88f6e8a6f5224d13265202c8de8d2ce5dd89de170ddc348cfb04f5df92e249c122a608efa8fbab4daba98";
+  sha512.doc = "eb7d70eaec4bf58c85964f7a3692da09894c898f712a119fc0ffa42429be2e53b96ed6f569fcd37aff170d2b953543992bcc693e264ee1ec542c435be2723414";
   hasRunfiles = true;
   version = "0.3c";
 };
 "sepnum" = {
   stripPrefix = 0;
-  sha512.run = "87d34c3d24aa96655bfab3f80c6da8a0cb95c011496f180f214560b34776722f8e01f6dc73afc65c09eabb26407c6e84416878606f1adcaca0b6b6c599b09648";
-  sha512.doc = "6c0393c241710a190dfa518778ce9d278c6be661c04ee81e4fc40383836d12426052aae3e438c2d8373dc94932eb1fdc20b9610ed274fccce6461191fbc674bc";
+  sha512.run = "4ba90558d397f0c047ffeb01620d2d5ed4bc38431ddbd75d9a381fac58360d78270b8f22e761693a8a39176d1ab92c9da3b6bf92aaaa90b8ee20490f5b70f50d";
+  sha512.doc = "080b081b101ea57480e4c958e997f5b10d22c5de56a60c1f415248ba0564046560650ae589b29c73d185fa88334a26ca3412e996fcc1214ef0b9d20e71bf18fa";
   hasRunfiles = true;
   version = "2.0";
 };
 "seqsplit" = {
   stripPrefix = 0;
-  sha512.run = "603c8b359f845e97203815adb4f9dad0ef134312b20cb868bb1551ae1519bdf061ecc40b59a482c578aac649886039906eecfc9c607a9c2d9f7e1dd6772b3638";
-  sha512.doc = "0c166c5b8cdfc4738415db14762a9d7b9f56445cd1f7fb8d3bb99ab94adf4b45efb85ce1fd534b70cb31da25da76634a59351854e755d49aaec6a2ccf235b0e7";
-  sha512.source = "00d88636c50351328748b444d8118728b8ea800e84c8f419294d1851fbfbf4e3c599a884d124472b09ef366283b604213e1e82205f36dde7ae50990468d46b81";
+  sha512.run = "02413d104e12aad40f093731e2d28d0354216d3d57e6f811609f398b8122bdbf906f78cef38f355562efb4e7df6dca314f8548d8d8c03a2a9404addc42f0e1f3";
+  sha512.doc = "0c49425b619ac62da4eb2392c51cb7726d9bab008910a88ec36b866717c8ac341be0903e3014ed36a30ac701fafc453a0e319470f2f65eb6775d6ff52b9f07e9";
+  sha512.source = "7349cf842e7142c5c13e46d16acc35535cf34be8a4985f9a581a4338ca54beffbd80fe2820123652f3ffc868bcfe1c995200ab918c99b19d6c2ee339b61354e3";
   hasRunfiles = true;
   version = "0.1";
 };
 "serbian-apostrophe" = {
   stripPrefix = 0;
-  sha512.run = "2323b648ac08df85d09f7b4394d071f2b4e629a158f7b34eeb88ec16537d296ae36a2d49ff41e846d08ce279f0d897ebc34d63bfa17f822cd7e8e876580a19d0";
-  sha512.doc = "ba92dc6aff7caafcbd7e26c46c6a0cb1e9cbdf567c26bff5f5d30d66281829dfd2c185c9b1fad959daa520b51f003c0cd42e7adf2f8019cbce133aebf62f1e7e";
+  sha512.run = "4e3998b6c3f5578929204c0b5f131b0ad4526057b50811253b6a90367327c63af5bec386aef54ae6c80be7a1ecdcc6875bbdca532fab864e61837cf16855750f";
+  sha512.doc = "38c8ac74b304ac992bad807f2727a3e75a727a77c5bfe5042e24a39ad305162e828ca0333963a3f91c5f26ca0324e7feea97dc6ab84c1cfdb6c26b05ed5f4fd5";
   hasRunfiles = true;
 };
 "serbian-date-lat" = {
   stripPrefix = 0;
-  sha512.run = "338ecdf2e6ca397d977445b9d6581eaab0453c099708354d7e952dd3784ef9f352d8b1c4a96cd3ce0edf20c230545bc1540a7b81af7f584bfe359deb46bb64d1";
-  sha512.doc = "7c1b8a3a697f8cc566c6966b6c9799f150cabaf182099812258966e74deb63fbf42f47c935f4f5505e8a42dcec116484fed6ca75dd4ba41020d1a59f1d817a1d";
+  sha512.run = "420b77a36a08e75f8020edffed704ff0398115a6bfe694fa46957ad8b35c58435ecde4c16176a72bbcbcd16139502f8fb679399852bfc9000df6d5f305fbb04e";
+  sha512.doc = "5c10fe13a4e1d6117ebfe8d737d50047dc97483c7a0cc287a9e79d367af50ec1cbdc0800161919b92c6d82774c9e756970db71344259028c254fbf2c1fe86219";
   hasRunfiles = true;
 };
 "serbian-def-cyr" = {
   stripPrefix = 0;
-  sha512.run = "b96c00a437670e723a68c699b37702dc1ab9ba5916d6340414b7bd9a5a93e596051237a7011a9435e5dc3a314d535b9ac184d5808fc035c45f75bf274219a2fd";
-  sha512.doc = "683f096dd9e24d5db4e9faa05b93947f04934426100d4577216d2bb4bffec108819bc00c1c4d382aabf58d04ddc6e97e0f02c3fda537f22d9d4a2d28838aac96";
+  sha512.run = "6cbd1da1160519914db1a2269a54f1f81442d84750b15179e4a0f4e5373512c959542a789ef39a2803b68030bd6a8001fde777e907e85852703ff696ec9e5113";
+  sha512.doc = "0f2a2fb44eaef8e0eb01e12260fa310d661501c3e1dacde2882199ce4bd5323c837704fd50e8db5b4ba567a38038b37be28fd834874262de2e3ad36b65816498";
   hasRunfiles = true;
 };
 "serbian-lig" = {
   stripPrefix = 0;
-  sha512.run = "05b100b9cdb3c14096a0b930ba11ad99ca4fd02a7ef3215d6826a86f179a9fbc58e6e966c30526fe792e84e376a48707c7fadea7a9886555a2bdc89ce12c511e";
-  sha512.doc = "a4da11e0bcaf274b8cd905bce97473e397b543559a504dcc5e65688f512ec6e0ac6fc2b55ad4383501334bb7a42eec5cd835642751ded1613f99f8e958da0c3c";
+  sha512.run = "cc8961bd7d6b0fd9226b663a6913e2312ba61b9dec8479fe4fb573b4dbbd7a74b82415fe1c83baa30c33f1bfaf672f02342997d45cd52096ed840544704fd062";
+  sha512.doc = "696c8d37d417b797beec4c4cbb5d7997c20391e98a875c59a1c803263e2ad64d6fcd2e4541a50364fce0176a472b201b99ceba0539cfa156814ea6e8cfa660e1";
   hasRunfiles = true;
 };
 "sesamanuel" = {
   stripPrefix = 0;
-  sha512.run = "052cdaef9049fa42b1e9cce03c9e9d11e62899466e127e60dd982ccf757d5c83fbec30ee3fe1b8c67e1af326668c2b6b4ae21dd96e58502e997186e62178665c";
-  sha512.doc = "d44a4a9e10c5d73c55b55326d15e4495d002d4b9676ef00322ec8b49c8437be55bfe9448d792511d7a0ef54596b530d917219011dabb3c03505298c6ec6cd6d1";
-  sha512.source = "980516e9ab47b15a5ffc4d9a06105d427cd0ca24b7b724c7289ba1c8709d04da2352b36c77463e98f4bf3762e6a231c39c508d485df1354b3d85b5de1bc1baa0";
+  sha512.run = "bb7b38ff9e6494fb3150602008a66df5fd8c35dcb52a2da196cd177bcffeb40e284fa493b296f01f22864a5bf25d89fb4c079ff4d9fffacdf37dfc9de9256518";
+  sha512.doc = "cd144c93693367bdda658fb1ecd424715849fa57f0aded627125db2703947c8b5886df9ec08595592b6900327b42e8cff00f0c69967075321bd7cd1064054f3b";
+  sha512.source = "4a5dd4a8da6a8719f47d4b4bfb5e3a6c0e1498369fbcf7f9fd48304906bbff383793329959b69f13a75bcf3d01b888325c23079b4503aa779f464c2864560416";
   hasRunfiles = true;
   version = "0.6";
 };
 "sesstime" = {
   stripPrefix = 0;
-  sha512.run = "ad32ad520e08b5cd452dac3c222be2d042077195850ca80281d77ec674d70b81537df0ee96db2f4d97ab5c5726e4d6325ad044ab235e10cdb271c8027647e960";
-  sha512.doc = "7362458cb09bf3a3d0924ea9ee42e0ec13f971626aec7c6f0c9f5c81e9a2f4143e0a02d41b15ba1fc6009540e1e3ccbb2e612616e3f0beaf59ae61e25ac73f26";
-  sha512.source = "3782b66932289b05581d1edf2f3851e8fc671ead21e2e992172300d246e923b8b0109d04d9e9188103934b8beaee25a27260c2f9ccd33a3e64fede95dc23991c";
+  sha512.run = "5c5ab4808645230c6563a08b8243f27fad02a76fa56296f4c7e1b17d2140ad0c9ab0b6ed02e27240f596113019afbed52dc5a9f5efd874ba7783c921b81416c9";
+  sha512.doc = "93b986ea6853761fae06b297b951a7a46ffee403a4fc980aa1afb7cc42c15fe753797eecbacacbfb49b0119ac9e24dc105975acf72852eb0265dc4586f397bc2";
+  sha512.source = "8f3200ab63d77bf24aa9b2cd51ac460f086cb82599e9099b41614f039cf569f4fba23f2dcd59174623037046bacfd5a11ff59f140b09f373edb6346292db7910";
   hasRunfiles = true;
   version = "1.12";
 };
 "setdeck" = {
   stripPrefix = 0;
-  sha512.run = "717be42652f38081fd416d3e762165539d3aa353813168b16c82f3a6c763ade9cff0e4b134af181959c52fc7e96b5729b603208ffdd87ea4ff646079e62a09b4";
-  sha512.doc = "566deeb35a67c0f5e6bf83f3ae8b13f1864084fda65e2a2bc51852d533e29cf75199db48b9515bf0a3c411ea36062c0b7aea3c173be2654a9d396e7efcea73eb";
+  sha512.run = "817474bc928883f4bbe97391a477bf492a4e339879fc85d7aec3ca932f9b46c310f8fec5b732deb2196c705c2bd3a22721376ea8289a1bbdc12555447f12f757";
+  sha512.doc = "c27f7ab563f35293ee6019560f643d562ff2bf06747402930c767031a8dccffac0ebae9cd16b9e3009b5883f594c541ccf4c38883aa89f4256f7db83e378e1e9";
   hasRunfiles = true;
   version = "0.1";
 };
 "setspace" = {
   stripPrefix = 0;
-  sha512.run = "4ed61dac3ecb6b5aad341c96b7e81fe8e1bc14ba3d6802245f711eaf0744fcb157c411adbb85e51fea5924f22c634c9b9b72c8eb11a45cddf8bcdbc9085a1765";
-  sha512.doc = "c4fcae8d7a113edc980135b4c72bcdf1c5ef082055180f78fe2ddf0d4f90a127344e22abd0f97762e724b35945a60edc804520ce15c6ab24861272688b23b1bd";
+  sha512.run = "d7e7f2ea7ea8ad3c0b2437a04a965a25b37d96fcc03e92a524f823e80316569db67ca4b1d9313c27e487d4914f4a7e1b4d088ba8fb6c1cb27040552cbb4c8697";
+  sha512.doc = "6af94bda31c7276e7872286a1199363dc1de52c04f8cc8eb5825abda675657454f1349b619309014e934a9e5d3b80dd8d4b7a590c05d6ca2993ad3d8ceabd7fe";
   hasRunfiles = true;
   version = "6.7a";
 };
 "seuthesis" = {
   stripPrefix = 0;
-  sha512.run = "57f55c62874f21cd88adc9b6e36807363041d24719d4c96d184619967f0420a086eb279deb9bb1951f2f3e5e9e752f1a15f5fffcb765160c51cdc831d5618df3";
-  sha512.doc = "cbfc5d9e2fd0215c3f677eb75151b060e4b3260635d1d40b5df61cffa8c79a3041cb74cdf67c34cdc297ae444d415b175ab3f81021769282022c42fc57653f48";
-  sha512.source = "f999b79f7dbe8fe0bec8dfea96a97bd6d664780c48a92d5960259c340f037890a99d4636eab177c07969ec86656206233d963c984cf64798cacaa69302f54ef6";
+  sha512.run = "a36006ff6a093cd589a0e328c60e7e78afc160ab45746e562a43a8944b2ab331643261f56890497b70449f76be43c0b226642cc5570dccfe0d6240181b20bcb3";
+  sha512.doc = "5bbc5770bc42c62da7ca569b10558dc02bbe7fda2a463a3a2a78bc76fda3f1d0e7023c311f62a91bef73ae3c4026561403284404acc6bc72cb2e308ad4092ab8";
+  sha512.source = "a442b5ca4e1e8a4a3f8d331e5575066a8c63d1521d1f774fa7d386a8e42b09a2c4727fae1f0a51a31c6a98c173113349738caac8991d50e4459082a874fed1ad";
   hasRunfiles = true;
   version = "2.1.2";
 };
 "seuthesix" = {
   stripPrefix = 0;
-  sha512.run = "74a7a44b3303a76b039cb5f0234031fe5175c20bee1302b21cef5072b8bb4d354f125889a8d6f50b61e7159dede445a1dbdcce70d1e4e6021756fdf446fb3b0a";
-  sha512.doc = "05131bff927db97ae55a8d7d6d0d91e1190df27cbb85c1783bdd4bdbfd34d6b931eb80415db75773044c37a728ebda7bb525cdb4ea8e6757b0842b515a155dfe";
-  sha512.source = "451cc46e9932d904124b6c7ea72e27a99b2d1bccb638db16d7173bd016a833fb47977bc34fec7b6e26e91de8c4ca2c8d4cc1805f0d555442c38302a935c5487a";
+  sha512.run = "8f2aa388faf3fc41cdda54ac44631dc2f0737b727f3af27c41bc268223d2f3f6353dc24f067ec487fe5f3ced5c7837ee6f60d46de3950a3a3c9573df77cc725a";
+  sha512.doc = "1d54dacc742d558af5fb006cb4f26e073bbf6a3a572b7e81fbacf691995a4a96c72251225fb7cff598c930a4c9984d0d01d080c797f202f7e30aced20b8b3e5b";
+  sha512.source = "fbc848315e2b76ac915aa6abc0a9e7bf2f63c4af716ccf65c9af3ae05e049952703c1f86db97a5825b92f43dc2d1163e6544c30fcfce4b672272b4ba9057c171";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "sexam" = {
   stripPrefix = 0;
-  sha512.run = "17387e89e1f26075af386a0909ff5613b50eb12a22471bff8af85f1d6a8c37525e9855b5a9c2009cc7cc06cd670e17e2cec18bac1cc571e152aab89b6e170f96";
-  sha512.doc = "f6d50295dd8c9aa53e98e99eb4e43f7044a275102e0ead5b03668202c3c0d0598b524657f8a14ab7a0ee2aeb147b92af703ddad4b478a5c294e654daa87aa320";
+  sha512.run = "60fc18bf706b787b9bc59d1ff12e62fc3b69f5c6815a629f6743c8ff3fbbb2948c145278805888b235756beac5dde5613c10fe4ce20bb6536b4a3d77a2713569";
+  sha512.doc = "0d2d5e2e5214622ea6b398c0b0f7a297a3f247ef3df0ed696c6faed94527b2edb6564c917d182177f8f3b44d7cd0e14ef4ac186c89113ad74e3ea70475ce1179";
   hasRunfiles = true;
   version = "1";
 };
 "sf298" = {
   stripPrefix = 0;
-  sha512.run = "97ead6cec5d4d15ed7a5d387f1b657403f9ffd90f0738343644d00281c9872accee2a6b6964a5e984b39a157f9d94d029ac8f63db896012abf75f28671eb4a66";
-  sha512.doc = "7844d103a9411cc177ee38b9048919462da0ee51687dc87a8cc6adbbe8ad5f4986ce246d85832df8bc76941104cebe04944c8c862a0e29b4cf7fa24bcb1806f9";
-  sha512.source = "d4e20855cf541dd12d4077ed0234ccb2caa485d926f1cb5352782f37a48a2d463ba127e23c133b0963a72d2e6391140f23c757d560b781b026f314dc6a14322e";
+  sha512.run = "c9a262481a01019010a645c321c675bc93e3e0c6627b693bce53a808bc9366d7915c19f97871786001fbf61b589f2cef274aba005681f9b32094644568d0f2ec";
+  sha512.doc = "03b1d51626e6ec0b076f4c2fb5b34daf490a671df69edef7235a6c8c77b2475e79604c7d49aed3c7d756c9fb781a7398a27596ab9b183b942119ee86385ec612";
+  sha512.source = "af4d0437e6c79c7bf0975f8e14bd8f19675223849b04b9e7b1d526ccc70a8a4a6d6773f86f9ddbcb98329368eff8c7f41cab4f2468f0100b8f5f840288184826";
   hasRunfiles = true;
   version = "1.3";
 };
 "sffms" = {
   stripPrefix = 0;
-  sha512.run = "88ac4187402827c4f696223a0dd9603a16614f737ff4096f1c493a15d7c7ef30637b8d4d260f204bbf6825ed582d67629cd65f58678e787536e1d6bef15304b7";
-  sha512.doc = "a7104b18fa293873b90b0626da71c6ba6ebc92a95b7ab63ccedb7cb27c482031f747f63b0ab1e7d474749519da0fd5a7e226d4978d05c6778d8800755169da82";
-  sha512.source = "d251add649866b18798231577d071bbfb788e11ea5596102b5f7a18d4a5be86e1452f4841e665fe76f3dbe36784919cad7e648d031b21c25c9b669038160b640";
+  sha512.run = "ea7fbce545b9e9dc8b804e293239fdd491bf1293875fa841afc5a33ddcac7acddf243194e36f8958df4d23c71ad9b83348fda57dc261f211b49fc137b66ff6b2";
+  sha512.doc = "e1702249f2516dde93887403833f9261f73e90ce04bb97d4052de1a28b9f5bcd5729d1d9a68759ea92271b46cbbebed39565e8c30248af4c894c347e4b9b75a9";
+  sha512.source = "50fec199dddd2509682af8910db1cecaba7359be24a1666e156715e4613571c6f48c27eb813efaab2d6a4fd01e0e9d110021a42afca501a75a2ee02f7c80499e";
   hasRunfiles = true;
   version = "2.0";
 };
 "sfg" = {
   stripPrefix = 0;
-  sha512.run = "16c49fd1f1ad63719f5494d01f1dcf4f0b04827bce963b39e056daa235afc83ed9ffafc8629301cbc38ba028d19e61cb9f2eddfbb85558605c879d7355a79f33";
-  sha512.doc = "3436ff0aee6f506a21b0ccd63795cec73e8387d671d4efaef3638a685cb4ca493ebe32df7c0a5750bbb70fb93c35dbf5aa2b704c233dc09ab99db027347a0be0";
+  sha512.run = "d90305b5fbac3e06bc3195b802b4ef78f7c6cfb4f0592dfd300839dd608150e1ad08fc7479fe6d8df4f2429ad6b7f81692d9723dde198991fc9626565cb38578";
+  sha512.doc = "26c17b606f0cfb4e199755f7f16eec16cbe379a786a88bec2d77d983d17107d86bf8da23474bc3450f8467d18028f2f41a314c83565916cf3ac3e97c5c079267";
   hasRunfiles = true;
   version = "0.91";
 };
 "sfmath" = {
   stripPrefix = 0;
-  sha512.run = "757e6deeb1d60dd9a548ce424dfa659a6ffc27e8a3f518452358f077582ca4cd889d05268ea7e8ba0a2fef15556cff2ffe796e707e86c6b570ddc7b131e3be2c";
+  sha512.run = "7ba73610785c9270e8741ba0137701677575e38cac79976d89e2f5768804ff52117c5fcbaab9b260be522f174458a18d2d70d82c2da201e7fd6a91fe4bbdf6fb";
   hasRunfiles = true;
   version = "0.8";
 };
 "sgame" = {
   stripPrefix = 0;
-  sha512.run = "42e19fae6e5e550a68861280edd7eae538b624324579ed0bf764db0c871ff2182ade6b69640a34088f1b2f5b74861cf5ce8968e9e98d99386aa5f01a1a4604d1";
-  sha512.doc = "80bdd390c12bf3ba4716b8b7e80493b7ce902063eb9cc06094fda5c2eed60cce656c2c24e1faec119f5932fc3b3ab9e1ac506c30444d218165979374d81a2145";
+  sha512.run = "60e1c4d7f68bd6d39e081d49bfa1ecfa7dc56b940172719b4d6d0f2e87456c4b511ac29bb1884f7c290e7b226eb6ecae8f2ce4de3f7f5fbbd21934c440395ab7";
+  sha512.doc = "29f4ee374c7b9d07274fb6f622c0769ff6977ce522ae25fa24571c0b7e60f1e120e4e26d37c6c340372fc0a2dde71a25121fa9538a35aa100e21637d5c79c874";
   hasRunfiles = true;
   version = "2.15";
 };
 "shade" = {
   stripPrefix = 0;
-  sha512.run = "16d77085d03efc99f152db725a4896493e348d8603ae326d8342e04e679eebe3f9466b7f436eadfcc2f78c5b34f1088cdb92b30df69341fc288b9df5ce3647e4";
-  sha512.doc = "a284bfbf5cf6372ac7c5836ae28166cbed272929ff5d37db6fd8c7199a2f18cc3ae1ba2a9c7c286b479d9fec80f16bb75b4cf5359d9c30011bfbb947d1e1b3c0";
+  sha512.run = "968be382e1f82029e7e06f5ed34473fc20fd38dc758b97fec6dbf015ca13c3604dd6b7638dcad2f80be474ad001c47ec86e75e8d9947bde26053873376e9e068";
+  sha512.doc = "0c9ec337ed4c9bba949e6b449368868856d652b2f5ac7c70dd08a9daaf8a3ed3be4008a91c003c731c97f7e4132f571c44ea9d4a4529f7b0ac9be11a673310ff";
   hasRunfiles = true;
   version = "1";
 };
 "shadethm" = {
   stripPrefix = 0;
-  sha512.run = "235d50a3ac8fcd8ff1f5978ade55bc6697936a3bc0e98298203e9b5df94118070156278363ec5df8690dddaad2a27135b9ce241abaa931f64793073b9debb0d6";
-  sha512.doc = "4626666e5abb2aee3b09c4d2308fb4cba20e295857ba5bb6dc576f5f097550c7866b383b9817c64f602055fe66780d03519aff2e46502befceebefdb5caa8939";
+  sha512.run = "e86b448ac347677f4439e3fdf8d7d3448dee3d29529e72fd1c11e9b98af71dba6101ab3b3a4a988b6daeef4c1f96ba092426b109220d70289f43f12bd010f735";
+  sha512.doc = "b99b7c5eae48fa6a1af0fe25e71d7dcf65433e7ae0b2f712fbe7ff3569a66c10fde956287df9dd0bdf0c2b21610b295517a2065d9cba81a3d305e843e81d415f";
   hasRunfiles = true;
 };
 "shadow" = {
   stripPrefix = 0;
-  sha512.run = "7d97a26b754fb42ff6b998b4e43668ba597422f985c62bde0ffe722e80c6a7e79305bf23b326fd679f85409060cc435274af47de21ec972f01b538212fdce913";
-  sha512.doc = "36ab18dc4d6ddb84b2c95c33220e8a13dda5b5a92794519ce33087c9ef64ba272a0e9979efd8dee721ad43967d58247886e10602eb150862f972ffe3688421c5";
+  sha512.run = "885bca1090b93545f59b387e952998f65dee0931fb5b680d06667c3bb8172e2aad37e840942b9495134b421bb40b871633eb5de941b3a257618751e789128ca6";
+  sha512.doc = "402e64195e247cd2c5106e3bd621705b80c006b2f6cf0b1da14ea459acb7dd97e2ebeda87ec118be3e73bf76edebe3067330498a2875c52c4248add70d7a0a25";
   hasRunfiles = true;
 };
 "shadowtext" = {
   stripPrefix = 0;
-  sha512.run = "d0dd624c34bcec0486eb64a7447046a58d16ea2d7e36b951434dfcedb65fef540b75d9964ed021cd13d48c289df3c8584a0aa3f05490d330065110034e0c63af";
-  sha512.doc = "dec73f61f6280c68e7f98170334aa68d6876b79d22f62f05414c82d070f7768d89c9a04fcd1d9debbdb871e0f312134806a3d40cc168ac6a71a36ea7871e1c55";
+  sha512.run = "59ab708b0f8987838cafe864cdcd68aad5aceb7cb4b3ab2b479ec4fbd15e268ba4fdd1b0143b7c247cc186a825d99ad810839221a391eafd5146f0a46865e23d";
+  sha512.doc = "a89bd6ab160e364af06e26d9bbb88988c286befb5dfe4e4bdfc7c511811ef4a1ef630708d4a7ff32cb0ab6831dbee54d49a84376ee9366bd422d5689d86db404";
   hasRunfiles = true;
   version = "0.3";
 };
 "shapepar" = {
   stripPrefix = 0;
-  sha512.run = "07e743c4d21dcc9b386f5c85f17edbc52019417b1e05fd979e86bd25239b0949b289832a62128e5369f94ba9fee94b95d26b32e51de352e9b1880be704fe79e5";
-  sha512.doc = "3572ef902cf3ff8146d44d1e490c5691ea3b8ab42972f7f4a80418dd2f940085a9c676f27f55371ad63ca126f32d73b5924ce5ae203ff4371f8b1a30d407b991";
+  sha512.run = "407fb09d162a3f361c7182f23b010d25bf5d0d4d645780c1c9679be422a50f7181a8184ea391505d258afda822059f0d7d60ad24321adffa05f37d56d0376605";
+  sha512.doc = "4db069b9e52935f0ef1463e40999b7f7893ae12b68f6bb07a105f83199b839e6ca3366b7367f6b38f79c4febfbf3a8c1f88115244f59a306870fa4617ade478a";
   hasRunfiles = true;
   version = "2.2";
 };
 "shapes" = {
   stripPrefix = 0;
-  sha512.run = "91187dde3b19117f2386e062d10743adbe892074737fe379e6a76a40f652fa97867af042e209c8c3e6c5ee1f5acb081affe22cd1cb34d3ba49cb1f7dd34c4a2e";
-  sha512.doc = "7b0ef9f2eb4735e2b146301ff51a7b4ea82b886796edd619ddd2f14ecdc9e3c2dcb27289f0d1a5193a3253bc7a44d4895979573e95200fe1c6993e969180bced";
-  sha512.source = "c5be53f9fb534e32d8c3bcdb84aa1e54b597e51bb588374737c3fd25118363ce188407ec25b3db5762d9c48f251cd1244373520becbbc6f1d06d6c5cb399e7ce";
+  sha512.run = "4e082b6b61ae9f2d02c6bdf7fe5beeb6b6384b2718c1644b945b175bc17c951ec7890fe7e81eb59faea4ae86da93eaf51467450cd61d223e734408e624bd8abb";
+  sha512.doc = "2c295a28748f8df117a5abf16a758b079d7481f579e1bb571fc758bae505860e1a1b82f9615259b14359eb4ea8f43be82de6ae6d761225ea76bc0da167b6786c";
+  sha512.source = "58ccff2be6db013bb66e606ebec52b0f86b4ab3e2066d9191f18da0534d2187fe6a3944cf179b6b807025182cbd40be8c24f190c5938bf4e4264ba492a845be1";
   hasRunfiles = true;
   version = "1.1";
 };
 "shdoc" = {
   stripPrefix = 0;
-  sha512.run = "83e9ab3198e54d882b924c89b8c133d5da6ec448f3027b09d3e1f5b24d7ceb0a96fe264150829cc467cb5b21627c378249d7306e435def6a700933680cf86347";
-  sha512.doc = "bd57b6a6cf1e4aedeb917c72a4ee7dacae7ea8182dc0f72630bf0c96076df06eaad84f3b30f7b01adfdb18a9bbabbb49e2d2164b285623cfe04fecda4c0c0087";
-  sha512.source = "fd526bb1626ed22a8ea7d8c8fd6eb8022deaa48c430aae28092bb83d58aeb22bfec95c3cffabfa65572e78f38a9b2bcb79731f1e9c872da9cf6c262db039154b";
+  sha512.run = "e72e5d88966ab88ce2ea331f2989a949f3da30cb1066a0501fe8770f077f8aaf15803d9337ab266374364fdb7b35507c6d3cd181e1fb472f6d39b6ef94c08c1f";
+  sha512.doc = "38c3a7302edd2e38e3196b4d3935bc001f83fc71ed50ca8c3563ccf82e9e0729c65baf0b95db0ac637cd037cd572ba557586bc85230ff6014f63a8fe0602d9d1";
+  sha512.source = "8de0b05b8cfaf13d3f3c1192c718f5663bc5d1e5d9f67395956bc18d8f97c6acd0811660c02c3dd087f617098d0ec810a69dc31a20e157fde69431eaae4047c4";
   hasRunfiles = true;
   version = "2.1b";
 };
 "shipunov" = {
   stripPrefix = 0;
-  sha512.run = "b33640df5bc341acc86d462665697fb24d2b21db0223006f4603380d28d84c5e757e79a7338e87b5b5aca650341bde6d3827677dad527ebdbce144a099b58ead";
-  sha512.doc = "ccedb4bbc836a4a5fc8b5d71e8f9bb97646537a8bc7b85e5f151df4540cddae09435c7a624d6522415b1288553a1a721e95f09358d65f1a11d11735588454ea7";
+  sha512.run = "e31326135e93eaddf9f07eb0a746c83b9b6b7a7569daccc2b4ae0439664ce4a9cb2edaedc0e3ff727a4896fea43411c9cef0f3fb8455b1616de04e03b54b257a";
+  sha512.doc = "3c04f8dec84f3ad87572f6c180ec783f9a879b887b4c7f860097ac03b297dd7c4a4385cb402ea0b7f09176d711050ca7813e51607cf7bba871e191ec35d9af88";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "shobhika" = {
   stripPrefix = 0;
-  sha512.run = "8474bae56ed71a3186386f142087ac67972a3c8958f51f87a57444542805d209a2db0c67964ee2a297c3a168784264121ea287ee19938c9018a3d70e0729e004";
-  sha512.doc = "2878d20b7eca86771c9d8cc0b9b2ca80de03ed738c229a1b072b58593a3a3cde425133eede94aba9c54fcaae98487b97582e5a8397234fc00f2d08f6c55219ad";
+  sha512.run = "86050c89e5939b8ffc2148f9269a48dc66f8adf396cb883a7018a1a8f123cb602f216f652f56715bebbdb7b0577a8d0cc799c847898543a4cbd22e478524b127";
+  sha512.doc = "f5d9d05f54876bab260043e698fd746c95b59b04ea5b2df7244b11af30bb78e5cbb6e3511bb75d775e1bc649082575192ccbcb68fcd32b9816879b5cbf3277ba";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.05";
 };
 "short-math-guide" = {
   stripPrefix = 0;
-  sha512.run = "4f3bf4d4542bc5a64fc7496ad0da907ebde07b1bd8e50139c4c4598f0c6f074d7d7ccaecc2925a222d3537db2d0a5c24712e2334abebebb74da73e1944278c31";
-  sha512.doc = "3f6e1ea3be9616efd1b7a09969c688d63f6cf48cad89b6b088380eec2d91329a285f5538ee57285a378dabc37552d5467dc7e9fe90c914bad462906c04e407e8";
+  sha512.run = "6e2c131cb3a2ce85a6718a8dab1cc52fa5dab7a3db34575dcfb0a33e6a3f3ba6025eccb82a2e07a198243bd24c5070a931e591003a768c4a057f70659e442155";
+  sha512.doc = "0feaf4b3cafbac8fc78855250dc39858b0b8326b803c851efd831f36476dac2f1ce86083c11476e36ac88b44a2a8d25094f9203c774044306536fcb2b261a184";
   version = "2.0";
 };
 "shorttoc" = {
   stripPrefix = 0;
-  sha512.run = "890b52d8c23bcfe70b27f60e607e25ac6036992b29e1602289d361b30f7307cbc16571b300463d09bc40475bf0e0432539d23ef3c63263502895b78130795c57";
-  sha512.doc = "0e38cfe8a8ff980db6f6373b476657795d75d49918ee73794e3df477f980d9133db7c592ba212d3c5869d3d42fa37e1c82e099c76dd29b54c63a367e56a654ef";
-  sha512.source = "7619eb121e45e995d86941d809a26066bf8b687d4fcc80d9768e12e2980bf8b3c8849c0255c4811b05c2adbaf43aaeef188686cb122643fbba265be5d8b34c1d";
+  sha512.run = "6e78bca7425e0b23d7520af19494d9de303b86fae7a013ef85b2d512ee86be1f478ede2293650b435ab579811e444b570995e2ae8720afc60b42c0c26d7489a6";
+  sha512.doc = "03090924cdde619877b271fbd70761035b5da1f2278a3642b471a86e83559da316558a752d85716242001f40ca403a985d036750218e78d873a4920905c5a652";
+  sha512.source = "2841e846e2e691864e3412c52c3cb2130462b2b94f01ab9ccfba7cad05392db2b63ce3cd3ce60896a7861969ea20fdd3b1918a69e122316149af3fddf1b9c492";
   hasRunfiles = true;
   version = "1.3";
 };
 "show2e" = {
   stripPrefix = 0;
-  sha512.run = "4b1e825730f7fef5d0c0374433a1d99847ff91d14e828900c6354ce29b9869e3a46522453960b0277f939b2b1778c85eed7cb67f94b604f8e251bb5b06a1cd54";
-  sha512.doc = "0d172c8cff006fb510fd3b7520acfae4ba1f46a29daa8bbb9fb1369f8279ea9e241825ecc37e5c079ee47ea6e28f7bd44d6fd4514b50a1f9c7e0b457d486d827";
-  sha512.source = "a0e19c439ceec3b45b4916eb05a292c0ed2fcb1fe82d9b845a8796442a6f9ec73c0c0b06ab074d78ae32a6621847977ee03623695bec5dec2718ca369f65a1f2";
+  sha512.run = "702d0913a299b68bedec15c697868a70f058957dbd3a2dd2c503bc21c8a250dc7601e6348080bb394a38108bcd2f5ee67796a888183aa181c9f88a72e7666580";
+  sha512.doc = "a427f7126ded4251c255fcaf2c381f7c00d0d0e55253804cbe631ac59be1bd51e7ba2ee51110af86bcee27d73698bb7baa323fef8e23a41000928b242b0be282";
+  sha512.source = "3a6bb6fbc35b5f6b1cae00d5c63c16ea13af270cbf90f57761f71076b26130272924154b8b0aac60cda41d27b75db4f1edfc82101f38b29e9641a4e02cb6c2a2";
   hasRunfiles = true;
   version = "1.0";
 };
 "showcharinbox" = {
   stripPrefix = 0;
-  sha512.run = "7c5d2cc85fce3b9011dba8f02751c37f292b630064706762a3cb70a784bd2a561d1227365f48bd551ea68de8dfea895348f11598954b76a50a4f361c7e975cbc";
-  sha512.doc = "42587d7a15eaffc197a1ad4232f950f4e192b7197269608a45aaa712b275449a6c5ac120713ae06a95cd14886bceb86426a5da3eb952da774bd3526be16025f5";
-  sha512.source = "882e6248dd3ba8fa4018543c4e8b3aaa0cbb7c5f2514e3435efaba30cd777bfd95b8de662c9fc2595e793d477c52db5e1e367c83d5c1f69eb93490c8eaf05fc3";
+  sha512.run = "9cb18e80701d22e167b026767068e0fc0a7b6c4cdbc9014991f10ecd76d37614983591c931972584c50e0d6e35abee70ae3079f7dd8c855d33d1e4ea06693d25";
+  sha512.doc = "47dc7121ed852931bdc5bc38b7fb4dfda6616b8b0ce649d90da71c7a4cb6084ddd69e07596dd4179b5654fa9a54fcedef6949ac4778b449ad14740058e237dad";
+  sha512.source = "0c3ee2d6c00183936b57ba8e44d274baae8d90b8c089f6b5f3384c5928c703f22c87ac2781a8399189e028d6503c3e154499e85ac6b1ae69c7cb27eb29ee11a3";
   hasRunfiles = true;
   version = "0.1";
 };
 "showdim" = {
   stripPrefix = 0;
-  sha512.run = "b8377b3c4eb81919bc1d874db969e61c7982a032792011470b374ddbb9b0742dba8a0c8576ff5bb44eab2686816b7dd0e8f2b999974aba96cf59d68ceab5ccbc";
-  sha512.doc = "9cf6001463ed491581502b4e8833bf5769c7295bfe9a5be7f1a29f8b913dbc117ee29e4c1af526f364b47b8515ed6ceb51aad50264720f520c2c488692daaea2";
+  sha512.run = "07c409f3d30def6894a787d9c2f7366abf6ee4248386e9d5b2e4f7858d692c7cd3e72871ff02c73a39a190ac36ccbaf5fe16e8e1b7b328be80a9ba041d12feb7";
+  sha512.doc = "ba76568009149bec7484b4dbe7bede8e516a2c2ad20c77c70f0357e865c66751aa4f3d8c92c59effa1ac12e03b3b8c500c65708547ddf52458b0ce90def8fc98";
   hasRunfiles = true;
   version = "1.2";
 };
 "showexpl" = {
   stripPrefix = 0;
-  sha512.run = "a435ee94b57c1d4df1b2549b2e5ba7257682e2fc4a170f11b610ee920f7aab3411cf3d08bd6faf9c73a3eff5f23a5ad778ca30d7a52debe64d32c05760845a71";
-  sha512.doc = "5a096b71aa2d0a93ac0d8ec38de8ab09b783e4a40a5d01c422c04583ad7197c5393b7b80b5180390881dd5801378aba57022291c8be43bffe684ac6d51828bfc";
-  sha512.source = "7c682d4779e47be78aa3b04f8af5b5dcc966edefcb27026c62d803b3640b360340b6ee51fb50dd137ff7026c8c9b1cb8f215f601b66f2eb2c09cf8339926e4c7";
+  sha512.run = "b937f9824793206b0fa55eb77f6c2688364d712fef66c63244a776c95e733d2b0e4535a2d63b23ad446e50fa52804bd99305ff20bce6d74e880d3fdfec432924";
+  sha512.doc = "90fbef0962c609d4a50aac3840c703c6d421553425dc0d41a62883e012e4e2a8627a2f98f499b8fe984bfa57b597ee65e274d6e5bb9f30aba96b8b1bcafe0211";
+  sha512.source = "afac56c2591c97fdb6b48ceba1acc2b4947a0d0778f3fcd1db966d3782a89388d09599077c1684c4de69cb61ee5d1018fe085ff7b57a6a8426b1936454066228";
   hasRunfiles = true;
   version = "0.3o";
 };
 "showhyphens" = {
   stripPrefix = 0;
-  sha512.run = "92c4a37d024538a07e0794284e893ac7561aebcd4bc51ab9a6c8700a134d364b5d68addd2d24790f88b2a633a510f968823d1fcd4f020fced7c3e362c0c47450";
-  sha512.doc = "1de4be082ca15852cfc814baa7bad2298f2911ec958066f2d2031e03388830b0f2cf0829c12404e13770beed51affda78642b9f8e92fc69fe8585b118e5326fe";
+  sha512.run = "e3dc83cf25d0006e4ed0b2181a7cfaa81a2c7d6a7152d9202b2d9ccc876a773045abcb055709a33d69f1efd80c11edd642364e13fde7991730755d944c35afe4";
+  sha512.doc = "2e87bf2fb7eb014d28e44634fa8c307bcbfa4e774c1b279a5242b3c99e569dc1eb64d5f0ba30958d0ca84c5c2bd770ce3de81af98981a3e01a2c5bc8575c9e02";
   hasRunfiles = true;
   version = "0.5c";
 };
 "showlabels" = {
   stripPrefix = 0;
-  sha512.run = "93b3f2a23108470c1e62b83b7ecc911f34052a9e3411b8658eda63205e0e28fd903308e42bc5b7e4f7541cf442b03908dfb04ec74422c9149338acbbc16046c3";
-  sha512.doc = "0d76c6e1d27fabbd2c19a1e723e447513b598facc097b1158e7d6a876dcee79000dc45dc0d0b11b2e22ddd3943ddad7aecdddc55d9db178d714f9bb146a5579d";
-  sha512.source = "03dc851be8d1c27d9ee2e504da1d5cebf7070b1be6654bbdc43566e7811e8928b3165ef097e33ddc65ad6d2e2734d85428e6a8f250c307dc979299767026f1e5";
+  sha512.run = "4d805bcd319df51219c956fce18fffe3b91aad3f468f54f5b6fd9ca15f8c24df10e1092252ba6870fd406c024deb054c60d7f64dfef7194c45b92a8a78a9da1d";
+  sha512.doc = "0a8cf29e85526e92df738364607e31927223458a969c117d40a0e9cf3470e5c4050107b9fe915ad2a23720a2dd4f5faa1d43d9737b9b7a6f6105de3a36e9888b";
+  sha512.source = "eb0dd894327bd6f4591a3a57c52af10e73ae07f7d933ff3310012d46b09d1572adac0eb6a8a22ff03ced5f7832a017b58ef809d5fd914103fb569b42cfb2abfa";
   hasRunfiles = true;
   version = "1.8";
 };
 "showtags" = {
   stripPrefix = 0;
-  sha512.run = "cedbe096b08498693c2cfa7f04d41d997e5ebe850e3e771a423d9e96df53be5b1e6ff1b2479edb25f24aa8ff644b38eadd420c983c26517e4c0e06d3dc3be321";
-  sha512.doc = "559a346ff2ac77e894a56fe86253dad2f86fafa9d9400be0644d5bfce914c1a6c58dd246496fda0b7d85b93291ae77f9db80c2215c8a46339560288ea9672005";
+  sha512.run = "b70dc03f22838dab65631d39d8690897d4a5c71b5451775e85cdc3ff600d63afc29bd28e49aa64a5a2467143f4a84d62f5a2a9af4a8365e0a867d6a46e9de93b";
+  sha512.doc = "3e1efebe8edd469e66b18aea9d9a3614b753a43ac61f5a31b57fccc1b45047aaaee8f80d156932671f9ae7457fc627732f1f72c65fca42946280c1182d8960de";
   hasRunfiles = true;
   version = "1.05";
 };
 "shuffle" = {
   stripPrefix = 0;
-  sha512.run = "6c37e073b086b1a2fd1a6e7aab6cebe0775784d9fdc3096724990eee5b554b05fd72ac3fe103f4ddf8cad107d1751d89bfc149561acaa2b73f3647645e5fce0b";
-  sha512.doc = "593d4baa3780e8fb9aab3fecd78e9a58bd4c695b011bb7182f72c845aaac8d4f40c78ecab95074a0e19eb50e6bd0b843c8e09e74dc3246acb04c9a8f6e84755b";
-  sha512.source = "69cd7ca67b00cea1f3c4c74840f8645edc061fc55d3910cc9722cb012b8bf88a1c99e0c95ebf62c6e388d7a41a57b4bdfa3f57f20657d45c84c7799ff73b4834";
+  sha512.run = "62b456ae961d34908fc25cc085bfa04d39e70f2641d65dc8e0eda419ec96a328798cc258162ebe065285f3ee1088e6076525ccbd8c0f7c0800024f371bdee65d";
+  sha512.doc = "1b6427fa0cf98651a219f1cf6f15a400c09ea924bf0dcea7d48ce0665a5f1828ad64513f87089ea48d02d489d8020c90c661bac60c069601be437c77364813d4";
+  sha512.source = "250729a95e91eef9c1f9b5364aa3b0a1f03a75805845c773f82b26c3782764d6f866f33391aed2f0cbb167d016b06593c015e6fb2aa9b7ababf33f215fb92647";
   hasRunfiles = true;
   version = "1.0";
 };
 "sidecap" = {
   stripPrefix = 0;
-  sha512.run = "a777eb8c63e131e7683d7b98ead417cb98fa8fdfad33de43f49eac034a1ba483a2783ba608b29e80b216ce4fb506c606c759219e9945504266aa43c8084706be";
-  sha512.doc = "f23ed0a2e953fe51ea32019b4c616cdaa4cbefcfb54f68692f2ef12a4cabc581ab470891888c14a41ad6170e0641247ba35fc902d40e967784cf64d243772daf";
-  sha512.source = "2067f4bd8de366e2033bf101932d0170e1b31e2455980777f4fd1fdc659467f39f1194f6b78c99bd04ae942a22af3f2664aa9cfc9db0a85bf4d47015a8ae6024";
+  sha512.run = "c0b775c16ea9acc7de952c6d08d49f57ac4517d5a78e822255176ee1f570c17d584b34821a255ec10e7fbb9334fc7904147bc4d613ad4db9553a3917f737b924";
+  sha512.doc = "5bee3d448386a2bd508dcae495c6fb83806542680db7c5fe8cf35ea09a955df01e5c01fa64c28b64f0bb9a3dc0411fc68a835e1b0ae9d46c1387f544538d26de";
+  sha512.source = "b69fcf81ba9d05c20c64b7d71369ff25a0cc8185c914935cc986635ccf1ca9ce709cbe2f12f5e671a5b946f121950b3f6c6edb9d28e736959c5ccdf7fdbea405";
   hasRunfiles = true;
   version = "1.6f";
 };
 "sidenotes" = {
   stripPrefix = 0;
-  sha512.run = "4dfc504d10ebc71a302564ec7d12849216563e4a3bb4efa553ccf1973601ff4d5fd09b4b8b9cc832a040f984d5c3935f9ed7dca11692732612df2b3b0fd43e66";
-  sha512.doc = "91df7e6bbaaf71bcf4c57ee217c9dd550a03e5cc03c4db7faa9be395a1a92926791604d7b4268dd8cf872c935bf7b7fa3106b149fd028b674d53057947c7f7e1";
-  sha512.source = "069084b708ef02cb2b9ebc6b47236d394298a6fe2b3c5a81a7d748593b541f37cf5f55e6b9428cc25b43201d844908cf5bc89cfc378b38fad5bff758662d04b4";
+  sha512.run = "4e8fc132974ce90f3e08bb3b2770c88faba2dfd7a9f63bbf0b6b900811fbdbb2c625015e8f181968918a5965a32da8ffccf2e5798f44ad4327a6bbbda785c708";
+  sha512.doc = "944b4d77b6923328732038d273aa74b14689e5177b4d609c81735e189556cea7f66ce81c89c41e5ca0d6b9871e412e21d836024a5290f31a3fc419b7af4bb34e";
+  sha512.source = "e18b26b37882cb7b5ab6fd1f994b2a0bd38e9872ba3795c4a5b8269f1b0099e199407200b84bcc6c51eb0f882993a835aa94cc1cc409c5020dd5387280203d35";
   hasRunfiles = true;
   version = "1.00";
 };
 "sides" = {
   stripPrefix = 0;
-  sha512.run = "1b0c13e382579d1bac38e788c859c89189def12190b05debbfc42d63d821607f091cb98a197f85a92e860f61baeaa3a93e979557a0183cef0423e336e17a6da7";
-  sha512.doc = "a72e906f0844989b3207aaa439926584ebdf32dd0f7f6e01be7375b45e4752b8b2991b9cbed0bff9a08fec78af3522399a99cb79cc8bb6479cd562fef87b1d79";
+  sha512.run = "739e26e0c0b77d75e91f2a3a18996aa55ee1163a2bee6d489db4ba3b0864b51572c55ec53441946f16cb87694425d09e613abd2223fba2941fea4be137341b10";
+  sha512.doc = "653a8472a278bb1d33d9f86559398b62e32b521c6ce8dd977dbbc4f44183e37b95378ea4b29356948735c42925f9ed25153cc6a9009341ff01d80befe2bcddb3";
   hasRunfiles = true;
 };
 "signchart" = {
   stripPrefix = 0;
-  sha512.run = "0e8faf5ff68ca32cb21c611b19f90234ebdefd01958be303c8dbc8c46b6de572f82e96a05ec51c2da65f1b265226a5bdd2521a695ca698f17f92aec6fabd7f83";
-  sha512.doc = "991eb2ca4b93545d4e6ec7aec4db2d48f4ad5dc3ea292d254e83a6063ec2be276c6a0a9c0ab1e4b59572974d37758534f15a4a90d0e57b2576f9a51fd3662484";
-  sha512.source = "8400cd907f04a4e2a9f176d9e1a571475458cf88ab9204076b1c15430a5d2117c41fdad82ea2c7f6b6eea29c6c4b169253b9d56a4f520d3e11a6fa093eebbf1e";
+  sha512.run = "d379bb1a9fecc06f4e48419d0f4f49e50b6b276e15e64992ee7e154154eefc24e71c060066de3bf9e97da6c8e62b78208f3a01918150cd2ef51231b5abaee44e";
+  sha512.doc = "7b140f890f3342ba6b2d25385dcae6925d8e445a862af703578f455b73c69cb71f4b9b5a933ac8b1a16178874f71c80d124c352b5aff4d7bf3dad6f1aa5a3874";
+  sha512.source = "c2f141c1e0a279d5a76cddf97d5dcf24e35cb219d0a0114d5d2f91a6b24bde3b900b168225cc6afa4c623c9011bd373388799a0448ff588ffefadf7109a24af6";
   hasRunfiles = true;
   version = "1.01";
 };
 "silence" = {
   stripPrefix = 0;
-  sha512.run = "b7961132e8683f10eb2abae6cee49794a53cedbf6a878a972cffc21aae509e2bcfbda61b450c4f4dd2a06450a976d0b27100433f784d837483b2762c8fb3f063";
-  sha512.doc = "674a0b23bdaa086eb28a15168dba87979c6082bce2522046cfece3b9b7a8e532069e1ad0d5c2c05b5a8326b920920cde0c850fbbd2ec20b2ae5cad4efbd1b9c6";
-  sha512.source = "e2783b26b534cf2dfb7eaae95fc3507ca9e2f25a0cb0fa2b771f522f65dc082fca7b0516ed74ed61ec54d28cbe4143b35bba4714978540aba0d862d72b0d08e5";
+  sha512.run = "95f4f095e0f70dcd11482be4f6d52c5ea7a06ad820c08386ad956b9bb9ad593410e59fe9bb5904c3242594d466c495e7793718d4cb707ed3edd1d17ac3c1c1a8";
+  sha512.doc = "988df943eaf9337145d081de38ac22389bbffd3e94408b1cbb5de7605cccb47e2fa837813d4647c339d978b5b9b3e82e6d9859b840e89c09c95dd9572db0601b";
+  sha512.source = "7a628ca9efcc34863f064783a1e65e7bfee2a735a2457413d5b938e50b823fdfc6137f56041885e2c4910119ac756a5d6eecff91d9e99eb2bb85d2cd73f273b3";
   hasRunfiles = true;
   version = "1.5b";
 };
 "simple-resume-cv" = {
   stripPrefix = 0;
-  sha512.run = "2345755a42b940f9c697100ff83672f673fa324adbd572884cf816c128d324db0480674ef04e27b1133be07c0ed49a8a1e154bbe01935291c00d1f508b630883";
-  sha512.doc = "10fc221f97110e11039e439b9b071c9ef5e988bdb7e3ba88ebc2a5ecc5e551028ea6698f14332660758c7bf1571fc4a2c42f03a524b27ccbcb729106bcf522a2";
+  sha512.run = "996341ce711f6f9a68ccd7e0b315da98eed8f4737d44b8dbd9881c2a76c8ef2d04b1c956333b0e33997d57e0b62bcb2485029283bb4f4711c2f8e38c177755d7";
+  sha512.doc = "a380b2a498bde69cef1ba2401e16886d35edb40e3338963bcbd6e862da3e54f547e7900a18f668515b3ff178462a4ea0d41bc228b6b6e7ea8b0693e295231e92";
   hasRunfiles = true;
 };
 "simple-thesis-dissertation" = {
   stripPrefix = 0;
-  sha512.run = "4ba32961d1ff123d87224af6a3ba015541f76f7f536093b61fbfec366b79e90443ba113fa824625a54556f77f8aa4c34eb6f79401af491408ee24ca0063b68e6";
-  sha512.doc = "93b9b2c61b47286e2880e2f9bba4845f21fa65b0955cf4b427b624e6d4e89dd1aedf625f2cb44bdd71e3132388b14d3bc6136fd1a6efebd5e44261f8ced5773d";
+  sha512.run = "201826e649acbc8dde933da3d141408ef3e4f3bc5daffbd520a19885af612f17de2618fe7e8c78a419b6e5e4eeeaa36a2fcb3db6f610df2189e01e0b4a66e9e3";
+  sha512.doc = "8dd82147b1096f728fd52a56c39309d0f421abdd972a1297b88b516e0a5ecf8387a3accc508047bcd3996ab81d778dbdd221934e2bb4c96e1ef2a59cd0fc6995";
   hasRunfiles = true;
 };
 "simplecd" = {
   stripPrefix = 0;
-  sha512.run = "485cdb853f05f0cf4a61c505e93e30b15e5223b26648db2c9c42a2506bca8cdbb619502c7a7ccff467bf6caf3880889bc6e95ea5a079ca2fb4f7b232ca16c567";
-  sha512.doc = "ccedc1ac3f8a491b7161e4e174ac96efce06296c25ea114a01a8f3772308daaa70ae43dfed5a84d5625a504b1ff5cc206cc001395e09967cd6c242256c52e72e";
-  sha512.source = "12b998c2f470908ff3007bcfbf179f0be57edc50c177ef8563463299bb5a73d4fe672c47a38f1083f2702b67e6703e8d5f4fbe7bc3d022aa03ce6efe4537237a";
+  sha512.run = "5fe4024ce7991242fd60b8a87c88605f68ef9595895857b56981b35dabe96c97f9af684fc5ca9c3089ba96791e076512ccd549ce70071d215eaed4e731145b30";
+  sha512.doc = "5cd208f8869dc989542bf028c216fbddec5bfb285ffc18c25cfea928035946e903cc2b61de630125d8e8deea772f7f20cab552505538eaa5d3aecaef8192abec";
+  sha512.source = "9b26b5fb78bfeb1115af219615c7bcf2ee85c5878ff18807444642e103abccda517c3d701bdfd655f5f9e3d1dc0374c316db96d5d7b0ab9addad74b8d7ecb5f3";
   hasRunfiles = true;
   version = "1.4";
 };
 "simplecv" = {
   stripPrefix = 0;
-  sha512.run = "bee78f50077e4b307270f7f276180ad6ddacf15ff76edbdb236821a2f58dae058c30968071ea7b15f4e15612173641b6f4176d67dd734cba89e788ad35f3fa88";
-  sha512.doc = "f38cfbdbfd20634ee364118a29ccebf1324ef0746de87c2528f7ae72ba44a25f3c2629a626202aa689c88ebf036ec184a85621e43a4de4a4fb4f8e59746c6107";
-  sha512.source = "adb3a428ceb3c0239d09c8d2fb0652284218d0ceddde00547dc9c93a112c522448c4a7a85d5d247e1a8a4e67972dd40c19c0575fb853c33272d79d022e83ad60";
+  sha512.run = "c67e9200925ac86386efaab35a8edbf20f0fda700c00c3b0350eadbe62f39fc02f502493a73acc768a4727ad1162561d7baf38193d57d1fefb4c8083ebe38c35";
+  sha512.doc = "dbf087e0659f11b4dc0cf40a6826cc45f48b8155d9148262877a0d51f5766888780698d792f055666766f029ac6f5384b41c0fc41e1c84548582e665eccc0f20";
+  sha512.source = "cc8f96dbb9c99cf9567171e65276d18bc8faf4fa9980ca1fb60fb5fe1ab250d462c22af29105501d72ac7ff0421104be78f097bf6afe8b88dfe48932ac19fd70";
   hasRunfiles = true;
   version = "1.6a";
 };
 "simpleinvoice" = {
   stripPrefix = 0;
-  sha512.run = "fc05387beb66a10323158a2007033cbb10b0639c68c3d9d72f0cbce1cc8782e04511dc76c97a840bd36eb779b8c3fcc414465990ab970444652300fd5ee2a733";
-  sha512.doc = "26e3a4a0bdcaa69304a4b63ba1a59473ad57bb21b9dea49c946b9e1124f7bc03109893e15f1c808a9784f74caa026e317c8369ae1031981a695029f069ddcd22";
+  sha512.run = "8d3d905dd9dc418503bde7cd51c90ff6fc6f688502ff871040f9eb6bf96b6c1ef999d3dd98b16c8739ce9518a22a8e99a23b5cc66c437504b3837c30ea19cca1";
+  sha512.doc = "81e5ff2bf76f2b35549feb9b6336bd04b9273d4e6b951ee327101d4e5a5d3c429276735238b63c3b2ee03466b477ca2d7990a68615c1d0eee4f12a37d6b65472";
   hasRunfiles = true;
 };
 "simplekv" = {
   stripPrefix = 0;
-  sha512.run = "3d4200cc9892c90c74651a3da4fd2b485bc336892501422eca71d584f6f48f58be996732676db1e9bf998cde36b1b35155635ec2f3249f6718610f3b5041c9a5";
-  sha512.doc = "2cae56baed8025a4d3a542b210331780894423cf38a35b7fcf7d4c0cdc97a0ed11377139ba92d35331150877479045e33eca77be5f7e9ff2d9f71e706ea5942b";
+  sha512.run = "a67e5e977a4a14b32f3dcf08ffdf4b481a3926e9a5a7259b19aff07c4e311b223edacfd5bef8f9ecac4742dc94e7c65400cb9d883677f96d3d7d1d6256efe5be";
+  sha512.doc = "6a0e0a7200bbfad56ad6729cb375fd11e105cfc89ba93fe592d14755a88d819b69dc3a383f9fe3c59f8a9076450ca5fd75085101d7ceff4a62e2d738b0907f15";
   hasRunfiles = true;
   version = "0.1";
 };
+"simpleoptics" = {
+  stripPrefix = 0;
+  sha512.run = "85da18717b1907dd50fec7ecab0f90cc0f26ada24965611ed9f2a3114b46e58affba11d8f71173e4c2858054670814a67061587408a02343df355db18f3c74a7";
+  sha512.doc = "b1ce0a90eef3755141db1f533da69959f8e356fd1a8028765833fe613e6427101a1d71776ad01108fe0dddb83bd786977e644124806eeeb036e5c011986664f6";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "simpler-wick" = {
   stripPrefix = 0;
-  sha512.run = "5ae2b0ff7c404b71ba6ce68fecd428732d7821c3bf2bee3fcb006cfd4bde646abc71fa677b4820f1075edca9bb6aaac03908745e8156e73204773be0bda7f7cc";
-  sha512.doc = "8436fe02465c860b33cc5d6d99fcd5584466b93ad719248b2b752d89994050c3a503b0fe0e6474c71e7257d84699159bdcf7c2e538fb13b74aa138122bbf3d5c";
+  sha512.run = "2bead248c2380e19fb19012ba2cf7a41fdd113f48a372011c27ebac0820236500c5e49e5235e2c52fcc5a0f9c79f61cbf76a5d6de86322bc40382f5499216783";
+  sha512.doc = "d8a45e06707d3e6c39e36d83020f0a2d4654cab508d91e47022320e67454d08958cfd6d3872c5ae40539f29b03080915e136746452afb9f2e74fe8be2ec20bc1";
   hasRunfiles = true;
   version = "1.0.0";
 };
 "simplewick" = {
   stripPrefix = 0;
-  sha512.run = "c1679462c301b98b91176a2488f2093e7a6287c7beff71db6c8ca2987917bb5dda2a346309addae980e924c02a8579ea692f66c813fd0b9780950f577a266599";
-  sha512.doc = "9267de9557edfe5c85322ad326d870f4ff6658020f5d5856114d250acb30682efd642f9620a40e1a21b173a838bd33d5f4324c3e97b2c5893d2b8a42856b0680";
-  sha512.source = "79791479433c4e23c962982a9c7ca7a9ee861d0cdc400221eac89aee10bfb94f441d45047671a4c8626567d0b42055229ebe6be65e1ae7f53790f5807494577f";
+  sha512.run = "86aab23f8d19e9fa5a6251f8f725ada87b66a71a3024253d8b56f3edcc20f26695b2194b710f691ff9ed0713c993a8652447674ec84d4084c3354791244a6f10";
+  sha512.doc = "bf0c3b8724ed8cc41635f45001fa04f655a7b37792c5b0e632578b066649c3bde1f894c3ab739ea2bb49f6e4f65e63fd7cd7d515ea15b53ab5894778a7918d13";
+  sha512.source = "45d26e7044fe0928eb8e572f0333bee64c008c2e4d1536a0145939ce0f3392961e72bd7fc70c35b2607b2a241249d13e44e433b373b57898193185a808f128d4";
   hasRunfiles = true;
   version = "1.2a";
 };
 "simplified-latex" = {
   stripPrefix = 0;
-  sha512.run = "0a923443dea8c6aa4a84f5251a699fa15b0c2bb504abbd6a30b88533b7f3e3f8c116b312f4e7fa9f842327e4afa8bae1493ca8e5c47a91b8e0afe7fdacfe8877";
-  sha512.doc = "cadac28791129332f0650fedbeb32adb608ef91505d5904a990721f40e8fa6f3ab6bd9d513481ed2adedd245af48bf3d16f2cad1a85bd7180b53de60fbc6d182";
+  sha512.run = "31313aede3900675d183bfcff0045df5fa7719b982df1822823c15d645c7ef64c0b46e0f1690d98d30b2a6057e082684f23cb61a490fb2217887d0f20231ce73";
+  sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
 };
 "simurgh" = {
   stripPrefix = 0;
-  sha512.run = "1354d65bbe08af6757bccac6c390cc0f900116eab201bfd818e5deb837b99dc52eaf32203f64466596e1ff489f987d407cc3b1b4351da51359d1bad169c82440";
-  sha512.doc = "6b7d053346c75d832aa388fab859193ab16de5cf3fa0434a715e8f74a82c935cec9236e082ef2769d159158b89f19eafb4397e33b2da2b40fcb2d699a7b90232";
+  sha512.run = "11b77f831aff6796e41ccf2024496ae1c9d4b9b5f4c029daf33e0eb4b4fd3d1e5c78137b945e3c9fe7a16380365fb88165a46e614dc3078657ce025a55f90d44";
+  sha512.doc = "30ddd7a9bbf3f568ad4876336228842651d8f95eb5f21df81ac524b99a7a695e68e0469f79867668dc3b9913cf223b72a22f6a0d0c818233c081ba90ac67de1a";
   hasRunfiles = true;
   version = "0.01b";
 };
 "sitem" = {
   stripPrefix = 0;
-  sha512.run = "92d4b491831182a05412160edb32d78c41cf50b83f2335b6dadb4bc8871ff9ec9783204f438c1af104fb403b12142632ab34c522e425238f375b6d635b820ad5";
-  sha512.doc = "b276d43061a695fc164cd664d460eee714d3ade2ac7fdf129bb46a5f78c28005143658bb92a06f37f927224aa5246ec31a543577da76d391906ad1f7bf6a43a0";
-  sha512.source = "4a5c026ade5676dd7090c775554bbe6d561dc029cc34eeb2889aaa5ca7398932ffe8bac5ec560e35cb7f8f4689dd258fe781ff41e97646c7da231ff32c9c0321";
+  sha512.run = "64a34fcf0769ed4ab4b201facc056b890a89009e1847e9ca65fb405e1c1144225e8fff59c1a906341521bba5d39e3338900a9a35aff5bb716a5aff5e6aa4d49a";
+  sha512.doc = "af74d7b4f4dfce45e543494344fa32f4f4d55435034cc1b23b24b333f89d54d0b8c9d0a1247561bb7182d3841fb04b7b3531be847a6fed3db212497ef2ccec3c";
+  sha512.source = "9aa058eac9367ea31804b5c2983873f16d1c74f598fb0967f43257a963a38aeb7d578ddd596dbee87d942d87ece9188c6fe0f5e8734751325121195d9d348769";
   hasRunfiles = true;
   version = "1.0";
 };
 "siunitx" = {
   stripPrefix = 0;
-  sha512.run = "7dfb0a614d2962cb2c82f04fb531cbdf7f91bf8dc0e011a53bfdfd6d6c9191ed5c8b1e822e0dc458bdfe951d6612d321d6e9819b58183f66690bbb39d274eb68";
-  sha512.doc = "4628e80afab9f0c8c5fd7d884f6d007d4e9a5a57c8cab90b823c450a2df8c3df83fd96e08823effe37051b28d3a8f6bef9cc74887cff3c1cc7309b234e6d3ce1";
-  sha512.source = "6dee92822781f6575a40c0ca9717153976f2913e6d5d5af50a91c7d719ee1f0efe42f472c68f35f78400384a2f936342bd54f9be4e2aa4e261310c0dda0f0292";
+  sha512.run = "6f1fc4ad2face3958cc6bb1a829ff99e8a0dffcafc88142207ee699f2b182a7b55c52fae4eff108daaf8e3603e309eed280de95588132d1ccce726eccf0a0cad";
+  sha512.doc = "99c0e95e386a898647124dc38d20b36546d402c0d3c76983de401f336c73e9b02936ae2401225bfba2f17823a734e1f51d0684ee61a9b404743de95c8ed89723";
+  sha512.source = "4cab6d4c7958021f2ee6a0f3306b542678b4f80b408a7b5fce7fd25772fa5ad5ee5620288ffaef02f3e143c1130ada1aaa3206dc15161eeff186092f6b8e23aa";
   hasRunfiles = true;
-  version = "2.7s";
+  version = "2.7t";
 };
 "skak" = {
   stripPrefix = 0;
-  sha512.run = "853779e87f148998b7ce83a75651dccf2e59072612e4653543f4cbfa58c9a826bd8733e7b29971a8e5f19891fe4963e85e85a223e61c26f8ea68c37c484d4e36";
-  sha512.doc = "17ed00f9438f7313bef29835c0d46d4dd11282e83dbe5d526052f14f0c7134cb186ef3fa04a14513395a0a4369baf98c555559e181218e858508ddbf94c6383a";
+  sha512.run = "7bf473f1f35fa05c1cc7cccec212b035619382ce850c287a6b0734cd52182046df35133bd919a335532db9fd5327d2038ce1c3e98342055d93a5dc3b16028697";
+  sha512.doc = "443d98538fb732bfe9f3df26e05e46be54641006df255d3084697301cfa93f48cb8d307a9a5b58f25742b96065658f446b52968c3bd8ce14fdc864f32cb920e4";
   hasRunfiles = true;
   version = "1.5.3";
 };
 "skaknew" = {
   stripPrefix = 0;
-  sha512.run = "3fecd59c3c2128830d428fbc2fdd2664fd654ad19d1f2c9658f80757b35d099f8283dd251a0b8245889e1b2cc6694b71f7c103a4ef9e228f3931f1ada75e2229";
-  sha512.doc = "fdb5135a8d33c833d3125b29a4c7c8f85ff308c2b11f787c6a70e9a7d22beae063f69ff6c85d23132a88970385eee6abb9e3f7d89c70f89d0b7004b150d82364";
+  sha512.run = "879107f0bb96441082ccc4afb560e4fd0f625e7fb7cab84ebbd642af1ef180bc27540eb9ff26c689039dd6abb11e9b88bcea30d5b1e75b40f0e3499c981ae6e2";
+  sha512.doc = "8c26115910f2e9a9ae28e1b6c0933db3308c9f59eb151bb37b23de3f0f790b9726aef895def0826e00928b75753d925c5c9db0a6b91ebf7035fad5a4e473a315";
   hasRunfiles = true;
 };
 "skb" = {
   stripPrefix = 0;
-  sha512.run = "609b1e74e65ff83778ced419ec80daa93ed78b708da989523bfa3b2346d5ede42f4ec353d8e390bdd691ee078f9fc55391dc825e280a860ef8d1bfa798590c17";
-  sha512.doc = "cfd2bb648f3326d610c5c8903402cccd76fce3b9d28f2314161bebca7624f171da64badbee203d284a73a15ea81c20091a229a0698f3d524635f1a09c086013b";
-  sha512.source = "1a71439072698ead9ee821081de1a0a2bc6c974ce514514473df544419739095e363b2587f3b7e333539b5f39e6069f990fe3233cb9fc182e8e884144432be34";
+  sha512.run = "5c2e0e7310898e258505cf438ad91650fbcef6b720e9d05b9ddd241ceca3eea0ccc3a71b6ac38acee58d8e205b8352ad7abbdc277596ac74f6a5cf0ca805a0d7";
+  sha512.doc = "29aa9629f84a481cee1871b92b49e1a34683092759864f1e612ef4f7b3862a9ddf567b2d20fae3f99d5946de43055de2dae8ad326000e344383c854eb9ff4f20";
+  sha512.source = "fd0f3a1d4cf3fa189ef0fc8bbbb35586a39aabbc733fba3aa9d3fc48d920c416316a4a19d88583ea42b1a4c38baf4ec75cf0eec78b68a5434f3ac4578d56ea9f";
   hasRunfiles = true;
   version = "0.52";
 };
 "skdoc" = {
   stripPrefix = 0;
-  sha512.run = "a89565128ff1185e4cdc336217ddf27b2af60aec9cf90930a7f3f6a24421d383cbfd223ebe45701db72a25bc4033418d1c633736fd72b80e61eefe828007eac8";
-  sha512.doc = "4c5ccc21af86f5371a09009ab9afa9eb2b9cef825ecd6f50648e92c63223b97815d0dd55eaa3880987a47fe2591487324ebe922285cea60301ddaba9a6ecbee2";
-  sha512.source = "ee7fd15beb5a97a7c731ea3d55d088551062eef306dff09410bc45cbc9e3dd95e0f10a788bc57e560a008460bba5e1ae065281136879c5e905c192a344ade80a";
+  sha512.run = "3f4bf340f6076f00101cc8be20d284d487672d544f0c17efe41cc1b6f469df90022455f23b790a8289151cbcc81cc3f1e846eb242321221ca290d97ead9ff2a8";
+  sha512.doc = "b3a4972162cf366c5db5820b0075871f651c817a36c915841717d4856b5078a9de45b7043ac1cac0bb8e4b9f02cfd0a89fdb53b0723475950c182bfe3ea6bff9";
+  sha512.source = "cb4f18a74cbd84e1d75f7c024746d161ef62c79a2be62fd72d33a8a2ec3c8a8594f8ded5721a390fa29b8b31f1b6e77bad65c96c82ffb2299c58a4446204de81";
   hasRunfiles = true;
-  version = "1.5a";
+  version = "1.5b";
 };
 "skeycommand" = {
   stripPrefix = 0;
-  sha512.run = "c99f23a066955148d6212a2418de29bbec7b300b16b2da58d581328f8bef884b8fb1ee87a076b3f1dad6d04e6c523a4ed37a75a58ac0cf656b485b80462e10ca";
-  sha512.doc = "45208bfbe41325b2120a071d32a70bab5ca993e0e9ca0b006d7e3a78513dc5fe0cbae232fc56f6a80f864794dab1ae82b64ade55a2bd4eced37c763ed1685e3f";
+  sha512.run = "0aabcf0a47ffbdaa2f88bfb970f844df36cfa30f2e5ff02cbd9dba2179fd871c2ae1f979a99e70f3f7f2ab2589b7ecbaa6f999352559100bfaefcbe7f6ec16a8";
+  sha512.doc = "26f7e544e9b1b75fe7131d409c3083c39914424c66051e46535de5415383d82e48a3e2c1d35e34e5bac624a034f2e14623c8cd5b6844707b09fd531daaf7c544";
   hasRunfiles = true;
   version = "0.4";
 };
 "skeyval" = {
   stripPrefix = 0;
-  sha512.run = "0636c805d4297d07a7247625abfb3a4e56b3b5422357ffea960f376617d49a442e51d6184b46417851a3f57750297fcfd90f46d41aa166e8febd62648c6feaa5";
-  sha512.doc = "dfc0edb8eb6f9ee857a66bcbef70c7c3e8c0af5eb5a840b323088e316edfeb75ea803480a816156ada444648c935eb6d09958e9db3882fae056e1185f1058ee4";
+  sha512.run = "151a705f5e62dc80e8a470a7ce39cf197933452a35b296e70790d7ec0f6667f24acbc0c643db6c402ca1e9b9735f34be388efca5a5e5951725e8f00bb8d2833f";
+  sha512.doc = "97bf20706cd14e0b479221c6ed96e56754aca13d7b72f1d7bedec6117d159caca2a4e9a931d3d8311f593a538985d8e4e5bb9d5a76a653d72aa8d094a66e9e92";
   hasRunfiles = true;
   version = "1.3";
 };
 "skmath" = {
   stripPrefix = 0;
-  sha512.run = "44e378e472183c2f4cd9943ae2fd4bf6e7e426ceb447eec3fcbaae89f86a52bedbb8875d64fad4770fb4c770e4b9f23cc4c543d8c03ca61ce9bb0fa175e0266f";
-  sha512.doc = "f8a9c8c1b1a7c7b0ea16a3d013de24525181bfd1bfc7f1415207d628845310a928bddaaf13bd8a7b2ae9bc831085598fa65866c75770ccb02b533d7bcd2b8bf2";
-  sha512.source = "fcaf31bae9e974588c930cd191fcaaedde706504242b5a30faaeecfbf65de1c63aa07bc077ee522db6221f591cb56671569bd4fb7103b2e5a63436e782c6d020";
+  sha512.run = "6cbc67d9a6fb9cb6a3d8da38ff83bbb6dbd28c5e3e81a07a1b7292472d9064f321206ebd4ac1917d80f138f9b9cf91c008b8e3eac27ef0a77ff2073cab08eab1";
+  sha512.doc = "ce579b82a84f81169bf1a6cc37fff0c2e7c4e1570d0cbe2eb143dc8ac6dc082fa3cdaecae5a31791aa590c89fb74a58a4451811ec66d38eaa146520ff16e7471";
+  sha512.source = "d5101fecf8963f78b9e202c9d537723dbea069558cb764fc66344862cbcedfd81ecd3d923ee2f8b1167a65f8325e2f1fd66f16089a92ab419a580ca7313fa484";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.5a";
 };
 "skrapport" = {
   stripPrefix = 0;
-  sha512.run = "50e4a6933e2a1f4fb03dc529d4021346e0226d0432d96a4cd6dfff9727ac3bdf2bedea4514f8682cf621696d53f9948724828e7eb452e28125920bab0b2ab095";
-  sha512.doc = "835504b66eff2e8130fa541bffca922a337a80d057c50bda37e0e3ec6f0c12319e01a682b4f098684b898c810c68f2cdc7f45ca492bea6c35a6e1f9d82478434";
-  sha512.source = "b52afc45ba957c66017f241c2c73af0869172dcb8e81946690a184c6bf568093d76d5fce5da29c592c6a96201d12b6243b8c63413410591a6f85284978ca3f8c";
+  sha512.run = "60ee0f76dbf9e1539c08a97cf25cf14d2fbf02527facc3764c57cf0812a67d740d5c3148a4a7e76a6880717166c935b34bcf38de0b4f7d02df9c1ab50046a2ed";
+  sha512.doc = "986bb0ce679b69bd9a0958b6d4d1a3fac49ac6a5e31bafa5d556ac28c2bc3d0d8c892e998791e74172ec86c5899acba2cbd193dfc685e7dcb0b5d47b4c2e3576";
+  sha512.source = "b2f63eda57ec7ecbac63c6f0b2dcc2175bde5618db88cd6270a27466178c39209418a94470d6f78b8ea22c5e6ce8d3dfc178f52cba943f9ccc98fea447ade818";
   hasRunfiles = true;
-  version = "0.12i";
+  version = "0.12k";
 };
 "skull" = {
   stripPrefix = 0;
-  sha512.run = "f1a347d05166df10bd4bfc3295ead834bebee50a2351a860cb664020dae73316dac8b249619804f77fa02675e6e124258ca2669103fdcdf3f498ad87bb1d7b5c";
-  sha512.source = "002d7c12e21ad67b33ed8d91621f679fd081e2b79e7aa403690d989375125b21a01c0fa1bfb6b2dd46a36295f598235f87fc309aea5ff19c3fcb723e01b8c896";
+  sha512.run = "261ba31f30fa26e25f82dfe60ff7600c71db51f1dee68a5c094fa8a746995ee9031e41c0f24a4e83aec52c603cbea71a0773cae63481f167b81abdfb0ac3f782";
+  sha512.source = "3967550eb9af93aaa3fb9c623437e2c6ceb90f52f20533832aae3be91c719a774e3fe6a51f4d1543d6547479a2efa6c1965f0870174cfcd5c93cef0c20aecddc";
   hasRunfiles = true;
   version = "0.1";
 };
 "slantsc" = {
   stripPrefix = 0;
-  sha512.run = "5ffb339e971c1dcc16027b01e50e44798eef93fb510ea4f598099deba7d8e711dd12d8324a95e9629da008cb8eaddcf5e7a7e633915f51b58c19d24fda289212";
-  sha512.doc = "1acdf8b580d92224289af661989e523bcb1839777e8071b018b5a8a6bbe7b8339275506984ae505637c254dac81f8d397c92098b54f787d7c187497c25b1f11b";
-  sha512.source = "7e1c5541ae6ccd907b470307d024fa98a67ee65c8b5a723c55ea4ab49e456511cf23d55390e33edb38dc44ed2407ab9593163cd69e627379c1b85bf0cd79b43b";
+  sha512.run = "45d92cb8f2a5aeaecc9945ce2778f2fa330b703ea0efb2deb4407ac17d30ad3a3e1ae7966474af28a7816dee18254422fe7c72c50f11f47cd52a54522f05fec3";
+  sha512.doc = "8f856a45e3088d2047157bc87d60a16b6c6e481334f4ee81a23e4cb8ecf53d1113849877ffb24ee4516dfba228c10c9974b0b0a148020d64e3069ed7a2d12750";
+  sha512.source = "7e2af37c07b8ccae052c84ade3ad49fb4d93fb5fd97a5387b1ea8af523167f21d48e3961df58c7a93dfbd07f09ed1140839e48a57b3149dfa713e5945081f200";
   hasRunfiles = true;
   version = "2.11";
 };
 "slideshow" = {
   stripPrefix = 0;
-  sha512.run = "c44a782de77d5b16c0d4c696fe5541a9073e59c1a91a97ffc409d2c4ac15fa8e1da3fa56f8a79225c2427223860bc23e160e6d291d8cc6d0e4fdcbfc96ac0e54";
-  sha512.doc = "c8351470d808cb11be9ddc8de32ae446a0375c5981902a3c6b4fce16b0b10c74103f10fe0d6d191f6770ec3a62783076cde3f516709bad6ea0fac226ab0b022c";
+  sha512.run = "f7bd44c9720512297f15ff6cee1c49ca52c29fc206f739e6aa447e778fed00a64e282aeab9d42b215cac69a64ab39f3919433bd0640d30d55ac540e2dde07967";
+  sha512.doc = "d271c1f9e7b9c45694463982da8c9542fea326d7e191a705e92f5b423e054c3f926768d2209844ddabbe75eb610d4a5cb05ffd53098cdca9e35328c865027eff";
   hasRunfiles = true;
   version = "1.0";
 };
 "smalltableof" = {
   stripPrefix = 0;
-  sha512.run = "c1ddd107d59ec950011b48cff38880b1353869d247701d76a8e3c0ffc28f50d31c982cbe8f28388378be7e7e40868347f20c5f31ee2763df16b6d24c9e5b447e";
-  sha512.doc = "10f787377bb431a48e4a03d6bbf8affed7c4954546a751dbe16c88ee3dd0cd47570a4cd7ee6406c355fbb54cdab51f95fb87d96e10b162e272701a7d8ad6e507";
+  sha512.run = "50a4878bddc55e1b05ede3e770aad31f6c56b81f9e6d0a536ece25729e3c5a9a1720068534f26a9c224c101f0e0d833478f1a5c3b12759d7c3ffce027bbd5edd";
+  sha512.doc = "ca62aa29f6ad62f149dd9c5077ee2b14ed69d8a750f33d3de274ae275e5d1528482e58140a78b0917cf02a879206194e24a6beecd33060544abb50dd6fc564a6";
   hasRunfiles = true;
 };
 "smartdiagram" = {
   stripPrefix = 0;
-  sha512.run = "c07e40ce025cc05c1cbd1da0f736773ef446c193d8efb9f9437d63e8ac15e5ff4e598b06564c2e9ef410bbde20bcfe1a2d971523601f844a46654f2dd6dc930b";
-  sha512.doc = "f102af261f8ed7803da69ebc9498377a86c3e087db12d815e485706b5b221d9a8fa77434cea09f386ed181d10f8e210c32278def786ab35c60fbff7cb6702ee8";
-  sha512.source = "dd405b652293c7f87b3b3341b1183d6e69286a924ed250a5353f28deaa45f486b9b906da22b60b7797b434a15a168f24006eadd893f118d4a556c07e57b1b211";
+  sha512.run = "322589506d1cdaa30dd9f97b419347fba0d617a3ad35fd15fe91611b10382c595598ce1111a287f5b1aef617595cba77b53490da7744b23942f072f522a68ef1";
+  sha512.doc = "1cc7abaed3dcdb11fca675bea8e458f1879bda4ac72278566a9247ec2cb0016f10467e3120e9ef688c5674af05559bff39862d4b3292596f0dafd5e13672a14f";
+  sha512.source = "a1141f82e32b444951bac9fa0fd119e59cc2389577cd05cc19702582c64972602215648e727ccb338565edafb0116f6c50a033d9c3ce8664e97f392148f888d1";
   hasRunfiles = true;
   version = "0.3b";
 };
 "smartref" = {
   stripPrefix = 0;
-  sha512.run = "148c6b62c7e3e8f1b5690e38ab1733dd5e94a370dfa8a9ff0d2529d723e1be76e20729ef0eca3a11099adb4d0830f6d4576eaf26a50240d922fd55b3651cac5d";
-  sha512.doc = "cfc6b9ed3b35af9f4dc1dfc71d1b892f59695247bcb7d47fa9d4762ff7847bb0b4af8207056ed0e7060df28d83ab40efe881bf05fa9cdcee963459a1198a23dd";
+  sha512.run = "149dd95ca0677a4e273df64a589d1424b8dd89983adf3a3ef81f8236d1b594d35b851b4255fd9f0d05b4feb82db59d816408e3ca59f2b86b73a5724a8e937367";
+  sha512.doc = "07eaecd9e924e5912e8e3a3ba6479412282e1408cbb59699b9e83006768c4042b173d38da2e8dd2c707b392cb48d99e4be25985023db4de80d69450fe95a338b";
   hasRunfiles = true;
   version = "1.9";
 };
 "smartunits" = {
   stripPrefix = 0;
-  sha512.run = "b70c3637265196c56b07f8ac5a21d4c71c47d82b8def59deae453ce49bc9b29337e36df0d8d20ef560154a4917253b4655f7e0cdcc7de9fcb39666839a3ab4d6";
-  sha512.doc = "7ba15efbae145968ffba425954d0c55d3ed3f74ee30919d1034a79d591f9aa7654dd63650ece2cca61f8ead1267509b82994ca371e904dded867d7d846186d6e";
+  sha512.run = "d4c23a39d79cb5c0ba700da40b916ac6072e612d0e5b8ea1c189100cfe56fe77c9d1ff742d92fc44450255048d96f2e1dc2b5f0e098e56aad5efcdd423fec608";
+  sha512.doc = "e85b83a090b3e352a0faa61ee0f3dfc84d3f2fad8f1ef503aef7bf571e706575b19c1da394b09e69968b10fff2542b5b749a895eb17e84ce1293273532d2e241";
   hasRunfiles = true;
   version = "1.2";
 };
 "snapshot" = {
   stripPrefix = 0;
-  sha512.run = "28e9d5785aafce74422734a62fe2f807b585125caac5a7a86f70cbd19122daf3d44f4bf046ac4b5c4edb5bd1b7bf042232aed0a0ad34425e13eb3845c93dad48";
-  sha512.doc = "76b46eadb5f81970514253fb650a1c3450c8e57d684c733dfb2dfec01dba743e0ce31e65a72e31af16c8dd7db0927a3e9af98390e191a1bdab08f13cfa94cfae";
-  sha512.source = "7f31d845b33295bdb50e44754b9b085cfce8f7aeb26b50814dae5c3fa71605a175eed9d507d6c19d3577cb3c362b50936fe3299f499a62c91faac0123ed30740";
+  sha512.run = "b153eb4fe8e5ed8cc4d135edc3dcbeacba094dc73587a2b15255f725cd03ebeb450c562ff94e9d87927a6d04d95ddd66e30dd84c0fa664a1e120a190667a72ad";
+  sha512.doc = "14f92e7c36443785174f515c2fffa62f0bf253b4bef560de68cc9cf446fdf7c447e5552a1995dae0f26499e045c8e7baa991255f81b2b43c7bc27158083a8994";
+  sha512.source = "cb5b7313e16fa96f9e864210f5314be7153c10f19bbd509d11dc0a5afae3b0b1c6681453526fec4b7d4079bae0749b69dd5e227f01fd22590f2c2fd230ca4f30";
   hasRunfiles = true;
-  version = "1.14";
+  version = "2.13";
 };
 "snotez" = {
   stripPrefix = 0;
-  sha512.run = "37610541fa0db43bfc86a13ff501c89773ed1db3f419623f811f517c640ad3a6bea3a908f64c509d780ffc45840c79c056257a6626b476e7735644a1d1d38f80";
-  sha512.doc = "096add2f0af76dbc1b7953984e4cf27d404540f47d5e65a35147173385a5d47f108bf417a3573ea649219d37e8ee6b256d53fec8875bf3a9ed89a19cb8d7eb4b";
+  sha512.run = "e1e6ecfd64a317745fba39643c70ef5a71719e3c4ed3644569ab7a4a549a44eb58d1fd1d77608fd455282124d0e7372a364f95f7b67de192b1cfca1a9644086a";
+  sha512.doc = "6ab47280669285be6cd72e2027b939ab2c2e2df7c910b5775dcf02b570ba558a3c89832a45d65cf1a8a649dad67606a2d2fe3d4e477de67098dce497f0c2beec";
   hasRunfiles = true;
   version = "0.3";
 };
 "songbook" = {
   stripPrefix = 0;
-  sha512.run = "3461bd028cec5861f2ac19b613c4ed98c12533498e750daa8a9365c392f796362e55b91f8932876cc137394668894823286945a07896acb6a8eb29fcc8b20ab7";
-  sha512.doc = "1face74895aeb5f9a8f63aa3ef6848372825f48efec33af3209245f267716a03a9818eb30e5f270eeaadae7bab1c5c02377ea9b5b731d4827e465dd06cc063d2";
-  sha512.source = "23e6e07ad9b4a0859a2e9439f90231f29ab834da1f46a24ddae9be5e631754e352651fe66c03093eba28856f8ed7ad9aedaa7cbb8c1f26e0a02c83a7afef714d";
+  sha512.run = "06f81b35318ee9844565f622b5ecfb0f323373f14acfed3fdd042a244537c313fcc974c8cc556011baed16c5a7f90b8163342d36e360749db240e6eb639351b0";
+  sha512.doc = "a8d98e2d3b90ebfc4e8df53ebaf92f2d0deb95034bf234dfeaef1d38213af9a36e38d48599e6e78a7e87fb966de87db821f4de7a6fd50f57c1afb515050bb510";
+  sha512.source = "57fed8f034e860787cd72b2acece0a491832acc526964c75060258db6bd46d77a551b967af41bfeae47d83ab97e4d6c2799c0f4ade405a43812126acc1b3d390";
   hasRunfiles = true;
   version = "4.5";
 };
 "songs" = {
   stripPrefix = 0;
-  sha512.run = "d7f37654f8324abbabbc82ebc70a430957cc1a8af09f7f0e41110d4809e8c39252b8eac2e0de521519701c8735d73e6059b3c63b61645fce98309827b6fc1a13";
-  sha512.doc = "a114618be50d3babde08944f40ded36d536d6c5bf7292ae07ffbe57c5c43074520560aec60fb54373a275feed7f3ae5a4690fd6abf39a4c7f853bec56884036f";
-  sha512.source = "21dd9813c2cb873c2071e3107d1bea21a0a21209f1b4a3c5aa614d8c1da43f17197aa25dee83b65446ddf95a71816b2d94b6d72ab774bc51206c3bbcf06b4f04";
+  sha512.run = "dd1309fda1a7bff1236707cb45047dd5adc582d3e3f509f211af7a30c0469cde704773af48fed379a29307201d9781150487821219f76d45d556f1d27e420c08";
+  sha512.doc = "72c374aab68334b050a5d801299179c8484b6fa46db8c8e20b9fceef3cb9a8c0c1dc51de93f34115d4e34767233179c5872054cd03ea3e622abb63a49ad81f24";
+  sha512.source = "016d389033589ab9334180edf70321858ba3b6000d8f560a18631e13ef28130f4b39aed81f7ddf0a178540a463789955d14620b37b7979ac0ea6abeec77d29bd";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "sort-by-letters" = {
   stripPrefix = 0;
-  sha512.run = "a90f03d2347daf4e2af7e9b4bf2c6d24e3602252a2e1bec01b7eefbfeca94664073d2eb5d6910d527161736fbe8cb1a15fa571293f0da531c76b7635ca4a3037";
-  sha512.doc = "4d1d4323bbf5a6b8247a3906a79f419976e949531e2ff4fa527c48eacce289b5ce8c0387f589f46c4ad0c007b13bf40c2ca5d35b01547036c37b1a36352bf201";
+  sha512.run = "41e7db4a4c5242493aeb099ca103f4540e038b1e91ec0296629f4dab1ad013f98b26b664c7d661dd2f53c1e5c749509763c46f51bb823225a104c125a9f75f4d";
+  sha512.doc = "e2b6c68a42b9364d44dfa06ea93d8c8ea2444d97a3cf3c111065b720d3706b36315a7c8650877f1d6a2a72c1aa42268af4f17fc4632032e1e3c0a2d0fa08e577";
   hasRunfiles = true;
 };
 "soton" = {
   stripPrefix = 0;
-  sha512.run = "a50899eb0c2c0becac5199d43678caf40998f8c0aa94b42de4c6b07fefac7ce5237f64914ce93a76d68be918d2ebf503ce11bae78e95bed8ab65237431e4eeb1";
-  sha512.doc = "ca43e56168be89ebb655182aef8bc52c8322ca29b89c442bf682047a1cbb8ded6b639f8fe9a5c1e6363d96842ad78f4d4625dc05ad19c4177e7ded58bda67557";
+  sha512.run = "59e9e0bd127e44e1a80ff7dccf1fecb18b34a54c379a46632b13f82d80648229daa54c4655575c52ee718b02277c4e2b264451f8d3fe58abd60e593d0826c97b";
+  sha512.doc = "de9b03e8626535d2633af3884e373d8b25fe6d203af75382cf329aeb7b79c745f94c6d08d49a69b42172f4bad3cab2048fadcc4ad826a1c1126425a40289ecdc";
   hasRunfiles = true;
   version = "0.1";
 };
 "soul" = {
   stripPrefix = 0;
-  sha512.run = "7da58625623b2a7b2b077ce0480ab3769dc269c79eadcaf6b7273db67455ac7232ecb9d3e1a10cce9f77d9c1309e098ecda392eca8b203e724c6302632291d88";
-  sha512.doc = "c8fcb1573266487644f1c9471ca5e298a8bc20cbef916040f81f1209b8053f74fa439dc59f1ff11b734d9ccfef0d98124de6bda759a07894175c38785bc29f0e";
-  sha512.source = "fbe23d5959efdb15eb7fc9be141f0ad7423b653d0e2c87a2e60480256990899f4fd8a592665c2f937a2f59566a7c6e079cbbe168047050b062d3ac8dccaec73b";
+  sha512.run = "7a4ee70527282c50f28bc535ca34476538158b6fae6e37008cf5f04cf3caf5cc01ccb859967192da1b159b1026afa3eddede2cd86c3d63f469e6e2f6254a80f0";
+  sha512.doc = "9b8831cf9c013fcca715a8a7100b76f2de364f55e8203899779ba18868e637cbb0d00d982098a3e42191dc63ac41afc65d2547b9976c64110e7b83f5f8d0108b";
+  sha512.source = "0b3fceb0238709d4241a5615055c61ced473fbb74ff75d66c70a221bd0ec8b84769674a3dd57b93765812daed14a21fc002de022400fc73858c103a5dd9f29dc";
   hasRunfiles = true;
   version = "2.4";
 };
+"soulpos" = {
+  stripPrefix = 0;
+  sha512.run = "2f0a15e324013f2be4a8728fe9ed629b20b26a66fe2cb0d2347e12013684a64f908f9f1161c8f4c64928ac23a9fccdcbe5b8dbe85b0a406c5c7f7979223301ab";
+  sha512.doc = "9baf5e905e0bfbe0ddc956e419093518a3dc4a602d3e51bd6f9f0085a7ed92fc1efb194ed645c189e4beaf5b9a7900aa74625fdcc2ea314b274dea648b32ecd1";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "soup" = {
   stripPrefix = 0;
-  sha512.run = "0e0197339cfdce41b0701fca5f7934fc0f1457aa4737b922a0d0bbefd3fae5647c79442c93630adef450dbfe430ae187a13af181f7ddf3df8ac84aa2776ef533";
-  sha512.doc = "a8abcd649a352e826cd66f5804dbf7e114693f3242453ca23bd6ff0328d8ce6b87e3e904587a5fe399baf03b99914cdad22abbd87d68814130cc7b58ab0e61b3";
-  sha512.source = "9762ffe1e5c3199c0fb18c99e9df495b2f6f3ed8610db2a124d7f108bb2cab4a648849a4ef0f48ac73975f138c9d318e42c06bd059a958c28b53113179f4b1bf";
+  sha512.run = "478c8cba8623b184db1c9237b7a805219bf1ffb7ef45280fecf7cd75a1720ca0ea2e1e1ad73465ee20dbc2bbaf14667d4707524edbc073dd4fbd0537dbeca8c2";
+  sha512.doc = "318cb98167123bf8d9a5f80db8e31a31f6f61536e938da3b68efc0dfec6722bc898d8295d32896c24d2842b262f22f70e08014c07755b6728dbb2040f64aef5e";
+  sha512.source = "41d74f1e6812f4b56b44e3a80abb398baf9eef5c6a361de98a1237fc6931952460450f3780f682d35bf9bc718d2902c9d82ce15994144b2a133dcda46b531774";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.0.2";
 };
 "sourcecodepro" = {
   stripPrefix = 0;
-  sha512.run = "b9c4272ff1534c0f2de213c5230e0d78caf860113a5a4c280ca9f4a6f589ea572311cdc57402910172473059b4c46738dd801efd08ece47d709523d75b0a12c4";
-  sha512.doc = "afc9f3ec69c49a000b625c0b4221e62abce3032d3dc1f73bacd4e3789e80f342b52400a226079e4ebd4f824a2de1537cec85a8113759f708cfa99438facabd8c";
+  sha512.run = "45c41d470f0e84cc35d4c06cacc1beebd7891e98326a0e0f6462c7dc0fdf1eb9f4e0da59ced33e47c2c93c9662eec31efb8cebcab471350eb2c1c198873268e0";
+  sha512.doc = "7f8ca211769e3b626ba98f8d7265b7e383630c2d22496f03f79bca629f164374de9bb8601e903fc094c1264fa8b4ab4bef1db3b9deafef65ab41c56c27e8d8cc";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "sourcesanspro" = {
   stripPrefix = 0;
-  sha512.run = "139be9e91dad1d8599656a586a1670f059452424892a6962a3ae66c2e3113e7952d1bfc402c1273c219ea3ed204bd944dde324205f98b075ea9047fb2d97a908";
-  sha512.doc = "b76815953ceafd9c851a85c0f773a4efc6fb8b06395237608328381443a3628866c80cb46de351dd837ffe640c47cb34cfed19f3ed963bf2ac533bda9cbce9de";
+  sha512.run = "23b6a26836ec517e833c1ec4155b5da60bfd03ba093fadcbcd418658d3d36a8cc41914349cd117bf2c5eec4121bcd7e29d6c50ca8ce4e4728b729fcbf089d3ab";
+  sha512.doc = "963cf63732836329490ea1521ae0fd09e55591859ea4430799f32606c3710e44b7e203dabb4385821830043c12e6f19795951f3e4aff7abd173d8ba5d4d788ee";
   hasRunfiles = true;
   version = "2.6";
 };
 "sourceserifpro" = {
   stripPrefix = 0;
-  sha512.run = "71632ea780d5afbe61aa24e23a762329e207c2129783d2a8294a2a0f251a83e44239d1a01af5697b0499cb29f9f62c0d0eb6809a009c20fd4e3f8ea71bb9b859";
-  sha512.doc = "7791267cd5ba021f715ab2c544fd6bf7e8563a02d7cf5fc341e9cd4516ac9c10eab03435c3820a10449e0eb4fcfcb53d9df2bfa9f4fa74efda3cb64698816c82";
+  sha512.run = "fbfd4b6bd8f75079272feee5f01c0c4b47aecfe89e382cd8f288453dffd6152bf7bab3ffbaf4d90c544f01a5943d280df061b757169f3dd27970cccdeb1f79f2";
+  sha512.doc = "530b5ee29c8cad79ab359fc8fe225c18fe15483bb787f24c91a523ae8ddeca47aad5bf16c6ffea2465fc90182d5de65e08a1bea2f9015e710a03aed846510676";
   hasRunfiles = true;
   version = "1.4";
 };
+"spacingtricks" = {
+  stripPrefix = 0;
+  sha512.run = "6dddc3f6b839c16902a590184955cb1f220fc5d1d2c2accaf4bebb70ceba0f446ffb5cee8c8649261d22df79e556016361550570b04f22c3d61644db2d188034";
+  sha512.doc = "bd416ed7ba7dd3023be779ce3d67d1534fbcecf49c36c5b97ab29006f182e77f2882b0c0646da559b6132a40d97723414912bdb920804c5c1bf40facdb0a8c52";
+  sha512.source = "5ab93bfc21fc3bd52cd5721c4c7160ed200f39bd8546a6ad84779a1af0d09b3cde0202dbe1230e2f16918ea43708109dc556f363ced43c7b0072671d8d494197";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "spalign" = {
   stripPrefix = 0;
-  sha512.run = "37872b82939414f552247dca785e2a46b1b2fc44508f0c877d648ee99aebb7d6cf0e5db2c5b3905cf79093d79d11edca4454d4ad336999a9d059e5972b31250c";
-  sha512.doc = "b0e000756cc6a55fa00698bee6136aac33b5e8bc8a633e3363c14cc4041697b62004e5bfe9f6551770f51c00a701b8deacb03bac1b9fb90544e7937b92e411c2";
-  sha512.source = "4d1c42f8e0051d090bcff560a92b30e8420e9eb7cd875d8a25e8009c5c62421e7698e75c518e8f2dd08937bb56f1ebb5604a7955eb34efa4c57c6b51c40a42c6";
+  sha512.run = "6e00399e0940778a6ed8326abce14f15836bcb69f8e7c67d06cdf8567330ce0482a213c7b65c2662e0fddc47ce7b684a640e133017eca314b59eefc278eb6425";
+  sha512.doc = "534f2c39076a6ff243a8e4cffe353a569b493b90fc1bdcc3db43229dda3955f013de15ce1db7beb38bc9b8d972c7430a24d64c263041c82e84c799f446faab0a";
+  sha512.source = "3a12b34469bbefd61112b7338c8b5d440de46837632a695b52ae18e4f297d6ac0cde7ae71db7bb0a7bd3db0aeaa83e78f33a60e4dd496cf9c0ccda1a297b4ae9";
   hasRunfiles = true;
 };
 "spanish-mx" = {
   stripPrefix = 0;
-  sha512.run = "0179d053b4b2605db0ba9c92de0e84afe075efe6b050cdd24879d4ad5f9c7e64dc513649a6a7cfcfef7dfbe9c38a6a569cab1dc4ca3880fbb297a3bd81b20afe";
-  sha512.doc = "01dc04e3fe236f465f93901e8877b937a650e84efad69ff675dabff50b5d9e81febefc81bc125341319b95f2086e74fefb9ac8d8d8c36f3b291ea9f9cf4a7151";
+  sha512.run = "cb638093e1a50de3fd67720ae21e11285337910f98da86db79613f73878084b93fc8afd998b4422b673e3daceaa2ba7aa76b02efc98003e741b74449d4c94af2";
+  sha512.doc = "0b257bd5ce8a7332fe6cf1f5772a464ffdc525e80794dc89600e9ad279beb1f39523fabfcd2723123a458787d7bfd32ecbe0b2962b4abfc3627275862e05b97f";
   hasRunfiles = true;
   version = "1.1a";
 };
 "spark-otf" = {
   stripPrefix = 0;
-  sha512.run = "a5eb69b505bd4e72b3c4f9d68df21d95d98ff50df5fc93e977c0c2660e6c6a2ecf4de4b673fed9cdd60b334188118e0d4d766ec6fc3fa5aa16fe4057deee8842";
-  sha512.doc = "52e2840f3f4955e32c7da9e6cc32d7c041e5f2d3b9542094e24e8c438e5b6772077678474e677a2ca5493a7e22b62cbc97106d4d8e2bd7839643da46241499b4";
+  sha512.run = "863587da0d6a03267dd36437b112be4a1391537d7186db0f9acae2d5c3721b2a303d7b2ca86d47a619b9265930fb4795f87522498cd34c80d057ef56d1b8daa2";
+  sha512.doc = "2b3a9fab8e29c1fd9bf1b3a3f729d4d728fd22d6dba86aa746febac2eafe59df1afe65f557c9e3c816983eeeab8d798bb4f54712be8f5590706bcc49a2e50199";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "sparklines" = {
   stripPrefix = 0;
-  sha512.run = "6d4c5514e408c3de22fc0cf8d6268e3f9e275bd141ba05896397e3828e78ddd142477649acc69a72a203200d9c1afe72b51cb60afd3980b8010e999083fa5559";
-  sha512.doc = "66d8d47fa2923097ffbe3422d87e98d89e055b785daae4ffcac2dba14eb4e7d94cc1364bb8c60be32864026c3630aad0b776303a781c7b6b5d05604016429736";
+  sha512.run = "5dc74f46a819a6539034d570d4bc11403cb9f4617e2e6e373cced6cf335630e4e5a3d919041ac67a8b114b2d53c56871239b67a6acd6bc47f8c6130171d84824";
+  sha512.doc = "4db42aec14145d4b73fce7940563f6771c3d994955006cceac7c93c9d5d5e2200fddf6d83d15e4dde0385f982c0ee85fc844914d80aa249c3ac2e86a49369b38";
   hasRunfiles = true;
   version = "1.7";
 };
 "spath3" = {
   stripPrefix = 0;
-  sha512.run = "19304b215360ba77720ac29ff9dd6e59db44a3451c90a60fe51467b549c989f2f2cfd5061817f06acb837fcf80562869455679e55075d23abd6fd4038d997c7a";
-  sha512.doc = "30ec6a87446f26e46338413a366610259b05b52395eea95bae7a2ff6431c54e29caff994c0fb9d44e528ae750543242b59596126c55807f341b221bed2cded14";
-  sha512.source = "2117a387bcbe333ec003550fcef78baad96a6c172bb69383c607eae0dab3f144a6b98eb03aa263b4d6c0bafbf56e8320b1f77ec01f94aa5ffb8965ea4a5ab91c";
+  sha512.run = "44417164e54d212ab18925af95cf4105d102ba07ea37e3275a59906637dca173db5de5e58ed3759ec61a2be96d4d44dcf3b2f7c811021acc2d0c0c6ad28ec64e";
+  sha512.doc = "04ab2a7ef15dee7fdd418bc74f699c6afd21cbd912ed8d12760d0be5b5e4fa17f66b23e8e9c83ff8ee1a2459d95da483dc9e1978236c32d6c40d429c9582cc37";
+  sha512.source = "8345ef716d56e7ace4bb952dab9c60adfdba028bd57a26c5e541e762745a6495ebb1e55aba6a78e5882e73be72dc30e7bd1eecb290b44948a9c627a80465d05a";
   hasRunfiles = true;
   version = "1.2";
 };
 "spectralsequences" = {
   stripPrefix = 0;
-  sha512.run = "fc610b2d2c5f942e58446762237d755840e78f3b10142f35b0bd7f0542e8a7a838791e413cd6e5b0f2fe8c5bcc66495d20a12ebc116b2c4a85249bd943b4c539";
-  sha512.doc = "aa1d65618c30239ce0c0b8d3d008375dda9d12b35300f76d56110d63e209ba80760756a7d0701fd52e8426d5fe3e5a729e0cfa33b9984eb2525c3e99bd7ceb30";
+  sha512.run = "71677e3cba37f228acc096ae916793cf214f90d30809019efc67ba0793b5176da1a3fe8fab592ca80a077164948c4be777237f71e895515e519f399534cc0cd6";
+  sha512.doc = "80eda3718c3cb2daf9f3a96a6def78011be1d7882eb50db692c2d34332a5aa79a44e0201445f67d1623bcfc3618f79f6d158a98a91572796674071143f017789";
   hasRunfiles = true;
   version = "1.2.2";
 };
 "spelling" = {
   stripPrefix = 0;
-  sha512.run = "7b1329685e8b9f6af5ff42d364d538fc73fa86cc3999dd78ab14779a9b7ab799dcbd648ac6c9be37b58209738f6bc511afc9dc2638d4cd837bd70d5d6bb159b6";
-  sha512.doc = "9154c23cfe92fe0c084feae557e552c9bb4ac0e25bb6f3988ebaf63f99a9ef8a976d96a9fbd7e1332de9e5df4d9274e560bff801070a3bac2c827509f393ae2c";
+  sha512.run = "ec32c627f52e1cc08f893aff21d43519ac30169772e82793525cfd61c302883c9c0c8444f2d51cd03a94f55e1ad589afac1a404a47b87ebbe7855acde887e511";
+  sha512.doc = "a51b8fb45701d318dd9b9736830b83ac34c84b781d61a3a247263167d527aad7cdb6e1917ce260d09e0304fba38bb2e2a25288f75aa2335bef479918036e1221";
   hasRunfiles = true;
   version = "0.41";
 };
 "sphack" = {
   stripPrefix = 0;
-  sha512.run = "b062159c503351e404c86e8a5155c2ac918e65ad27d32f016c6c14af729d7a67ed58dda64337b9f0b0709e141d5fc8f789e915ee676878b4eb8c2d19acd1e4b6";
-  sha512.doc = "00b56adbcbb1f2fad92c77fd6bea562c70980cc0981f3365ae14682af504f8ff31b9b3b13db41612cf31d9ca959df89fdde00e64d15be33ac996a3c51f8aa08f";
+  sha512.run = "b2cd588384770e0d95bf6e5c6b67df0ba8160e0a01e3f64932d67debcf9fa836212aafc78c79b8d28aae8124a25aff73f4846db514dbfc0a65a519eba75fc52a";
+  sha512.doc = "6b490ee2e736a6bf1ddf32d5db605ab5fe77f079d585c2e377bda73a688a7de575b99d56c6626d9888c395f6a4d181cd0b42e77dd5673c8456bb0e029510b8d9";
   hasRunfiles = true;
 };
 "sphdthesis" = {
   stripPrefix = 0;
-  sha512.run = "843b61f56e2229bf429f9645329021962759827cd93341edccfb4c1970bd6ee772107224c3ea5448b01f48830eeb4e9d67d9d73cc6a68fd551db713245ce1ea7";
-  sha512.doc = "2cc14b042f0bea47bafd4b1e2b7c25c8cff3795e91558a10e5e4bdc5f1f64887560413d83365a2ada788a3b898d3a5f8714747a4266211aa01e73098d27e25ed";
+  sha512.run = "44c467fc1de689bc198acfa224aa1109c47bcdfce8b161673752f73d59877465b0c4b87f1fcd4a8f589a78fb05ef5efd42edaff2fbfe7910a1ab7b409d9a7e5f";
+  sha512.doc = "cfcd8c02c68a990cda426d737914d195c78d98e0b8c9765128aa8319d47d27163e7d072ea50d312a394b85e8ac1e580dcbd204fcf6b670b4dc519d1f09ce8d72";
   hasRunfiles = true;
   version = "1.0";
 };
 "spie" = {
   stripPrefix = 0;
-  sha512.run = "6bf648d460a1556552ac1ae8704db867c1f11baa97759b65c1d70e9411eb0c97c11e7b82a1ee8384d649fdfe8e98f7d584af4586cc9b23439e3c21a2237b1c7f";
-  sha512.doc = "b05e8119c5212978112a66072a8ee1d9c91c31771e89a93fd78e207db1986fa21d54e0e422672a713cc2ddc7fab181855dbfb841e39b15266ae3bf3d79bebd52";
+  sha512.run = "282ee645ea5022fc0e325bf211b358236f07c6509883a254fa4e1ca0728fd73a4be8889e4919eb5e0ea9c203300359808b4d141d71d0c158a71a3d10d982264f";
+  sha512.doc = "1242f49f1499b798977eace516487543c23dca36471b1e49a2b1377a84083f40a3d5a2e316624f8ac458b61c2cfa406fc3580209c9629739dabaa2fa35e6b806";
   hasRunfiles = true;
   version = "3.25";
 };
 "splines" = {
   stripPrefix = 0;
-  sha512.run = "a03bbdd3236b8a73488299bc42d6e593a9c71013c9fa01b39e9c4ab039407982bf0456ad0066cf924cc33f0751b90b57140e656096ca51dda6993a9559f45d6d";
-  sha512.doc = "2c53654ac9a240bb3b1ac04fc74af67fff799056cdd9289ba57ff5b41359ef33648873695e9140f0535f1693f0fc79b94ebc9c2778a3cb083e64118bab5d3e64";
-  sha512.source = "ea2340950586e2c9dde051aeda1a6660799e581fbd10e54117e26da4856655503a0d5ce97d7cd057cbe4c7162b037907c4adaf7550ce58c53ab2d43a05e3c03c";
+  sha512.run = "f040046978cf51bbaf3347406e224fe60a85f449c1fac1703e7a2d936140b099c14ffd488ebe4c3d932b35a8380f943250734a054ea5165ed26b2be712ad577c";
+  sha512.doc = "08532f43fb7aac979e78d30f27f36047d7b70733ef6bdd65d26a40e6818f2b73852d4a6ac5eeae8cd29fc86e1630d2ba068b9707666f66a13e2090a6da81ac25";
+  sha512.source = "dd23ff4702f70ca2f29950e2e1c915dc96f9b0951b6f00ff94371ff80fe60f20d8de517a9d9157db9518cb51f96f1f52b8cd7f080af7760c926c5d29649844e0";
   hasRunfiles = true;
   version = "0.2";
 };
 "splitbib" = {
   stripPrefix = 0;
-  sha512.run = "7ba5746c0be7f159a41b41b917b40a7dcc57a0e4fc673ffd5d69df9f18ef990b6b1e44b802557012eb285155cf956409a18fa0b8a61eada892fc1e57cfc13871";
-  sha512.doc = "de42e83296f488e984ff0b5e840ea840a8c2310662c142378078070cb869634bb563d00770bbd98c23ec98afc808ea70759167a897fc2971d42244dd06a0fa15";
-  sha512.source = "da32e3df407f4326ffcc9ce0947eeb28be2aa5da87032538c2de75351300f846fa81d18cc47bfc845740ca7ebc82afba18116add1b8d8b90b3ec29b260f1906e";
+  sha512.run = "2936732fdcebff683e240e139ba6e1e4268dc72e427bd30af0590cc3dd7dcc8dd49eaf6f007e549efc5c429fbcea2b37f9e68040d1ffb023162c571341abdb40";
+  sha512.doc = "df266ae77aaccf91b08931c57b01a9eefffe6a469c4cc549ce41640dc9c9041676539e1302aecfed88d19baef277f507ede8ba6f794dae6ea4745b1338459d14";
+  sha512.source = "72a8da016f943df7f5e2d7cb05cd1a64e222ec0c3be784ac21e6aa5f571c9e76cc3e8a5716444aa1033d5127af8d82df5cd632a884fe17f08c55e08d38956e3c";
   hasRunfiles = true;
   version = "1.17";
 };
 "splitindex" = {
-  sha512.run = "9ad1b7fac522860c5dc313f4866d5d1b6a0537eec8116bea455a351d5c79f31779034f788fe3df34ecd669eeadf14299a78f7d3413b2fae72a7b02d3a4163d83";
-  sha512.doc = "a984763cbaa641c437fcfd14e57abbfd2c2e0539caf789f5c009fdd4fe6d3af899d031d9f36b88d3dbca365b358ad131bb21cceaeb1d0961e76a0311768b08c1";
-  sha512.source = "bab345d51cdf6029c9a04f66de22b9aa5f567e273e7159df4b0bd5da7f295d3aa7ba69c0c2119be85ccdcdf3bfc7a39d88ece9b3cd39f7ac07c645f1b4e8ff05";
+  sha512.run = "858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737";
+  sha512.doc = "c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a";
+  sha512.source = "8aa928bdf6f2e8fb6274c1fe8d0b4567d03a1c6ffbd078726bf6a36ff1bdab981d5150cf0250602a64d2a0a9be92695fdd399c04d041b7a9579a7d3a71910151";
   hasRunfiles = true;
   version = "1.2c";
 };
 "spot" = {
   stripPrefix = 0;
-  sha512.run = "6fdd7c2d745c06f06a39459c97fffa6b3f3638c739908cb89c742091c28136f00bb9b093d7fc6eee58fa8c4dc7a1cace6fb593adc4e80aea5f3740701600b326";
-  sha512.doc = "53eb67c1d1b65a08ba66ea4ecde5123bbd6365f5a51e7cf651870c192b79b92a2b86dab59e7874fe845ecd054eac921c500a67764d909ba281a577ad3c0dce19";
-  sha512.source = "8d06f19b777972d101461d01e4511f8b75d483901fc780ed572d94b8d2ec572806719101c7d30379e6fd5ef5cf973d85fa496a68dd08981bbe5bce1b57313aa2";
+  sha512.run = "95a7bf0a9e04e7157fe27499a7a2d2bf3e8d86f284e9c2d150c40b5efc1786d4820af20ccde7f5b649a775d7a13d25a78347138a200335fc0b9e4165dd3e1f0e";
+  sha512.doc = "26ee8b13622a46078e8199c818dc353801af36afdbf67707a6942202fa458e7cbe9a000a4ea022d0dc4ec6ddb3a63c6adadf240cf207778765e47b2db636ea5b";
+  sha512.source = "96438aef76ade4df7f4f49d819f96792a28dcf3a0f5e50498f854c047a7754accd31d679d034886eafbfd32c0d4eb941e8a888a1ea94fb332b8b48912d0f673f";
   hasRunfiles = true;
   version = "1.1";
 };
 "spotcolor" = {
   stripPrefix = 0;
-  sha512.run = "2f236d19de158e2aba063b5e26192fa0a2d3c3edef0395ebe40cf00d7794747c0fde05b863eaca87f37e5c746a6e19c7f664844ebf3b8664f169a16b9aa76905";
-  sha512.doc = "7d6cdde2ebfdbf56ce3251d1c4b05c5e3b1bc9e93fc11c66885d1a4e1300442e97e32e105b641342727a4b643526645bf71807fcca7029ad426eb6adeef5c781";
+  sha512.run = "6748982e7007323414dd8ca5f1ede105bb2bfd0b0f8d2f83c8731926628c094c8c08f0cf4ddadbaa209e182f8af83ed6fb761142ecbb97371752473b33c44ffa";
+  sha512.doc = "4055f42161bd45dee74974358eabda875e9a3d62690fec0486748cd7fe974af133c24e56bcfd240c6928334fd9c7e1e6a6935c45b974760b41f7ce080d44f568";
   hasRunfiles = true;
   version = "1.2";
 };
 "spreadtab" = {
   stripPrefix = 0;
-  sha512.run = "04d670f16644d6f01094f3382e703a469e113ed1c50d1cacd3bac8b57e2736960da9b7e9228d171fbb44d0f38cca0d64fb3db54d2f9b41fff74201b321bdf1d9";
-  sha512.doc = "639e08e674c4c82d4143184ed07c32501fbd10508d5c9b6d84278d549d966396214fa243961543d60eaee15856882fcf726a8e7fe0119f860acd20787d274b02";
+  sha512.run = "e662188fc94f3f31031238a9b20ce617b01adb65dfcb5ba00cc0f90555a151957747e9b24803436d0815528d945e3a65684ebffc04dc5de2552989c81bc80846";
+  sha512.doc = "e7e1184c6d5013a5f991325e1f47b509b90f32022530281263bd5b1c0d9c9082a872f9b6ece3198ccdca555e1187546762c8fb4fcec9a75f72894f6fb49825c4";
   hasRunfiles = true;
-  version = "0.4d";
+  version = "0.5";
 };
 "spverbatim" = {
   stripPrefix = 0;
-  sha512.run = "0de6b8f887bc5047a2c886d964016fb3f2e9b47fb3043be2515384663c2af0ef0a129ea6a09f5c47bb2ed0b102d8758f33273a451642b7e57c9fa1eaae2f4511";
-  sha512.doc = "3a67db65e548ae9a540cd80461ba3525a3a8c133ba079108f3551d94dc85f9bb7ea9b58e6db8dc73025e998d9bad5e1782073b113d45d235d6f3d0393f31ff3c";
-  sha512.source = "7482bbd365a43b9e7329888d996c5dc3820b885de4d5fed1cea000bbc5421f16f5f174f73f71a6f1bed3fc21f0e1f1f6080b9ac290d84dfbef52bda6b6e17fa8";
+  sha512.run = "0b26e941f77264ae2db7cdcf2c4459c26601f6079e0bad24a3ea0edbd22157c324bbf50426a794655dc1aee710092cd9b662bb401838186e42657fcef5c1121f";
+  sha512.doc = "245825f18ae835b984eb6474b927a579f80b6c6feefbfe02a53f8b7ea5a48023e1bdb43b39f090afe4ae42937d053cbebfec6ff97d7732d754287401a95fc641";
+  sha512.source = "23f8eb04b0debee1c9babc4ee6720740a4e64a28969365c27c96113cd777e0565b19d8f6db233470cc600733b1831463881d86eaf4b4119cf60bd3fbbf3d0597";
   hasRunfiles = true;
   version = "1.0";
 };
 "sr-vorl" = {
   stripPrefix = 0;
-  sha512.run = "46b860301861c347c08e3ae49e20b1c45a4eb7d3e2afdfa425f9a9e43393409a346a6f9105151f1ba6c2fdb073a50b57b6a455648af50a1c19f26794b6a38132";
-  sha512.doc = "24a0d001b8c48dfbf6d9830e84a48ae9372b83ce4b87eecb550d222a9188605233676a8ba377c4d9449d5edecee0764faf236c1d96c11bbc58b23913be3ea328";
-  sha512.source = "5edee30cc48c9b55fb8f388fdfa0da24c16844ff0cf19675da615df7087dccd61f625c5f03100c0032c8cfc0441d740edd30858e6e935c266cd79e702ac0eb85";
+  sha512.run = "135186b501bcf2a9b338ff13e330401ae3ca39db4225f639549cc929991d2177804b44ddbaec805ec1cd56982b140cec4625e7564fad7f4de89d2c2e06ad60d8";
+  sha512.doc = "a65dc0b7a12b5435d753aeeaca7643747c94463835cf1706e042710272cc0eef66d4f5f827c99034f9126bcbbf7e41293196f9ee29ed3f9961b9af27e2879747";
+  sha512.source = "f41d126426035fa0d1cf6564d9eb4966618a1c8f805bca3097a5f7e72c62a12c9d8e39b6830f9b1e356940b67bd99803e869d849949854a1a17da4c7ba971195";
   hasRunfiles = true;
   version = "1.1";
 };
 "srbook-mem" = {
   stripPrefix = 0;
-  sha512.run = "42031993e075c8c20f30db2d4e166f000cda651227e8c6f4d54546de5209fc6cf2cb39c5484d925ac7e04de6f1bacdb5e2859219a8ac5f24f173e5d349f91910";
-  sha512.doc = "846600cd654e5ad43027cc264a94cfc9af790e9ad3d23157d098d1494e3579bd11b5faa7d6b745220aa57ba28e712281332b7eafa41ee6c193abb5af23297cba";
+  sha512.run = "5cae41da74957078b2b0ed38c9fa4186006f24abca804b879641b4bff5324950b1a59296c5733fcadd2ef05661ff1dba8cd7d9a2c5f9e2a5c6bc1e6d993ff218";
+  sha512.doc = "5e06fb85b3398cc65372fc0c82eaae3d807c6c908eedbfa8f4ea593ea6213790c3fe9c5142990a9b7d4c267ed01cd61aef4fb950a0c2b51424b0ef5e1f2aa520";
   hasRunfiles = true;
 };
 "srcltx" = {
   stripPrefix = 0;
-  sha512.run = "90e9b71af3780ecf95d40bf1634c0eca151f56b3f6e34e8025d85f325052028a4002ded679c42532f48d501144c207c64bb96ce1d8018f5748eab4d882b433a0";
-  sha512.doc = "2497eea30903463d4fb66e1d48df88ae87b87c0571c77e1894b3a09b1aab37ec97de5b5ce4ed49ef5ace354aed6e9d3b2842e7f2bfbd1dababc89b43acb81a1e";
-  sha512.source = "43662e9a7db4a19367b613814eb9fd4dc5d8d7d09f27f2afd7e9079eac7422d882d4fab0005eea4fa3d22ed49d93b713d86aa3c393b20a61fdbecd7f127e05ce";
+  sha512.run = "2edad3f8b56fafc034d94a3e3240190a8f4f1a1054c9b81d6dd9fa5426abaec0b29118f7bbec909ffc3534693b8941fd4e44b6670d7dbcb852fa3a056ba63fad";
+  sha512.doc = "1f8428bccf142790a3221d470fb66dcfba40552da0d8aeb9cab62732c5a5ee0af3a565774e29822ebcf0c1e4d7a2bfffc61a0944b762ffbb7ff4e8901a61ab48";
+  sha512.source = "497aa5f6bd5dcbb354a4abf74bf8276898148f42083a0657ac9dfeb4374038b4f8003b3ace3b4d65b2a08334c1cccafda371e8546def7e44f823212c257d42a3";
   hasRunfiles = true;
   version = "1.6";
 };
 "srcredact" = {
-  sha512.run = "3b8ffb1a36605aa054f4b3b07ad8f149813b5adf67562dcc0015c1f45b38fd0cfd561b2930b7cd89db40aef124ed77aa4ad3350fb3cd366adab0d3bde3ec65ce";
-  sha512.doc = "df2d83fc9849079a98f6062411d7ef7e500bc7dcba494ee8175377ac7f018c32bf53f69534578a8c0329f924026cd18986da23a8f35540494f4fc863c6c9e7ea";
+  sha512.run = "9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d";
+  sha512.doc = "dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc";
   hasRunfiles = true;
   version = "1.0";
 };
 "srdp-mathematik" = {
   stripPrefix = 0;
-  sha512.run = "8dfd235aa0d39682b931df7793b638e8ed55189f4f36c167413c23a834d6596009f1d51d125f7f643380d991f4ec2631d2514fae0829bd373527f8cfba67a70b";
-  sha512.doc = "9f731479019b187c3e47f0730a5e52ece78d1e5532120f9f668f2caead56e6a83665f11d8b9c8b86c3eadf03a5117b16484b748b20ecb50520e27e8c52e8991b";
+  sha512.run = "289d92617e5657326f93d5668563cd1067bb67c8e47b3b1b5bd318c4dbda8b4328d3605bcf194ee31cc779d684af8b7abb837b6a4f675406434b23f5081d1cf2";
+  sha512.doc = "fe10c56c4674982df74e82c5390699e4fd70271429e79b95be9d56cdca574af4d940b654e92953739b62f21a38ceb8f52d6830ed3f5ddd02d9dd7ce0916c9001";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "sseq" = {
   stripPrefix = 0;
-  sha512.run = "2926bc833f76f998eff7c9eadcdbad2a439917873e007bea681a420656e7b716f806e409d9febc1326ea88438f471b7033a5cc73fb587f1598dfbbf958250d13";
-  sha512.doc = "7da492657d846acb4276f0546316038b99c723fbe66c529fb9b4d88435433361f8ef5335510c131c316a414cb2d11a96555ef021ad88f092146f8186379d45cb";
-  sha512.source = "c13a7298890ccecf743712b2bbd2acd360c38ad2cbd3e1ce134a06a429400a24fa2bdd1d01605202ae87668f8589f8ca9c614bec50ac82136d45ba11cb638300";
+  sha512.run = "25d3d2af859d8ce83f7449470be02bc4bc77b8ac49c4e10f49fdca51b0a85488f01cbf5f826b07fba12806c932125a35197be2c7bcc330f9b6f51a331fbc77c6";
+  sha512.doc = "3b5516fa412aa19fe8f3d23706b3046b6af698e8307db32cb895fb13eb876032c5c3fc908a69f0e18efc2ac5802a95957246d58248dd05e1fe25409d46a8bd20";
+  sha512.source = "b86247430a144ef73ce271b904096368291a6581de3e1c7627d38751c102256e77d82963d86956d9a9dc8e2fa16aa6b8b0a15dd02b4468cda88f70b19e856711";
   hasRunfiles = true;
   version = "2.01";
 };
 "sslides" = {
   stripPrefix = 0;
-  sha512.run = "487339e103574180b68847a0d584eee06e59c93c01783c6c66f5885856ccb2df49e0808b8f165097ea30fd85b382801c4c8b347dc7d075d2e94bc7e9f4ba8f2b";
-  sha512.doc = "5ff112e47d866bbd816772242170225037e273304ea340e730613cd5a11d3ccfa4bd81e22cd95ee61cc2c494fe651b22992b55b5605eda9a3dd1809c9ae49c4b";
+  sha512.run = "5809b9968b16d35d5f76f185687c683512883942f8ff3537a7dafef3a76e5fb017a4bed36dfd102fb5edb93648148861c78f6f7e93aaea8c5cbc8113c05278a7";
+  sha512.doc = "4a0fde19b43390f80d6d671933ba51b0be854d774d6f35f3e8fb33653ef7784df85871dc4fdec03f2c734e819af6c1098e8be152e0bd42740ec2f4ae53c38f4a";
   hasRunfiles = true;
 };
 "stack" = {
   stripPrefix = 0;
-  sha512.run = "a67616c4cc3a4624f054de844cc3d34f2fc762e0bcb3a899f16d928c712904a67e2cebbafc70cd13b4cf1d43864f8a60b110c9b75d7ad5a2f9b4f89fc9f4a819";
-  sha512.source = "07d3f857a5078ef7670c02fcf2ed75b689a8363839224516f990c135ddda992cbc9ed46fe842fbcbdf3f1977a0bc54cebc690bc97cd8a89f62da2c286049b474";
+  sha512.run = "897ca71e1a8531485d9807743e4549a994f5e6e22dbb9a958466d4bfc7fb1b4579af0d7ef701146b8142c394fcbfca70bfdf28779530e487a0ec868c77985c23";
+  sha512.source = "d10c0b9555df5643d266cfcbc51970cb7d606c80053225e4c3891b49f59fd9831c89f8be97d41e3e70b8855defb2af709190631e71a470a061959486162d5ed1";
   hasRunfiles = true;
   version = "1.00";
 };
 "stackengine" = {
   stripPrefix = 0;
-  sha512.run = "a97438b6eeda42feefdf024b50e0aa1bd62509a81ba8e789b365f95e82e323e9e1302c442cad8f85befbc228aa5546f74c68b741f16599f463a476515f211ec8";
-  sha512.doc = "bca4e157b28f17566d7bcc14113aa007ebb589c0feaaaadf2247e1ed6778233c997b4d565de410866e0ea8f72d281fb92f46c812f19d314563f32fcbdbbd6cdb";
+  sha512.run = "a030fa3c9bf8153c4ab387b7906788640f4b8d36f3f1a67392db5e2d5f62cd9e421231a92611555df2011b03318b06023194a7bcaea6ad1108de945bdff787cb";
+  sha512.doc = "e395c609c2160160c0892c5af1d197943ac6cce21c59ab489239b41877bd97fc70b75f1313118f3202b5d53ffe5f2537f5f084490dc70eb1e2f56dcb8bd208f0";
   hasRunfiles = true;
   version = "4.01";
 };
 "stage" = {
   stripPrefix = 0;
-  sha512.run = "81184ec086db9723ed26877effa199f7829c31b226398a4744ddaa023729c941d31e551b45ef8092dce019c2fad6ef28a1020b677cfcb52f581c37e329b05887";
-  sha512.doc = "acaf16f0f5b6d08cfde1c893e81ad74089bda1bdbab975c520b321dbe8c255c1594fc980155fc55ab603a5c543ac571c1a9dc7e18454c8de54b08555b1cd187d";
+  sha512.run = "60ca903a632f328bff8595d3dd076495409ae27045dbcab56493d05496c885de101cb3d6c77745291c661847bac2da5e41dc22f6e08f52c36957c997f1a90fc0";
+  sha512.doc = "96c32c5f5c272a521fa0efd94571fcdced21fcf582e7d94f503a46559a2f32a341e98f7c6b6f681c0b9918a63cf7a6bf6f90f628f87add2f7b60404e3d451d3d";
   hasRunfiles = true;
   version = "1.00";
 };
 "standalone" = {
   stripPrefix = 0;
-  sha512.run = "599fc0934d53eab3cb97bfed16317ebdd6f31b70e0016c3ce8c413752290319940a8793b0458abd58a2a2151f8f7156628b0a083f42a1fde73e0e7c666abbfcb";
-  sha512.doc = "d7b86ac37855a9f2471ded0bd3cd370d4e7e247b0bf8a5ff63aa44e6ff8648fc1a696e813e25871ca5e02cb364f4abeced6bfc40d2f1679e0d5a894ace0872b6";
-  sha512.source = "41a27055bf76047d986e44e8b9b582e217c3f347d3a1dccd8c20eb61abd423bfb234d1f5f8c2a1d907975b01cad37f850917de33cd4013ac36f610ff1c94b52c";
+  sha512.run = "48fdadf3c9e7b899ad75953baeaa9f47384d1bcea0ae08c94ee51b4f2fabfe2fa244a0b9a77f11fd038aa106551c4cb9e0ceb06292ab1ff7bf6802a65ad677fe";
+  sha512.doc = "a5cb35587d86034c38584218b78fe4142563306a8d918d676cce0a970f593cece78bfb755d42b9fda3c0286bdd4a0bac231f8b750ed61acf6199eda6d51a3dcc";
+  sha512.source = "642474f0eed4ac5d3831c0764de9c2c61210cb93bb6bab5c77f65ca13ea54d2eeab038a2c9f52ce077be5749f4d93fae5ef5df561a1e33601bac00345797d3c6";
   hasRunfiles = true;
   version = "1.3a";
 };
 "stanli" = {
   stripPrefix = 0;
-  sha512.run = "1aeb9ba661234bd6b51465535733a37431f26a755c1671390bdb686ffe86a0e09f70e7ba46cc2147c41028b40c23d4a79550579de6054ee76147f6244a0668a3";
-  sha512.doc = "730f204c533c9ddd5b2ad1df32d46017e276cd3fe29d7361476d6a722c325d952ace1d14a210adbc33b1584c2765c5f429cd5eed66afc9f024ff4a7f334f4eb8";
+  sha512.run = "8026823a73d9c061eb01e2b92363b52314c4de4d48bc8557bf33b89cb5381ca4886dcfc0f429f5be9268f3f1e64297ad974485edfa6af025e7744474a2ecd565";
+  sha512.doc = "f97363b3d9aa6f0701c3ca89e7c3b2391327ee431fb71b5be599805a4063baf1f5517868fc3602de8d97aace79d6dc1d58fcceb789ae55b85a7c0824429f3ebb";
   hasRunfiles = true;
   version = "3.0";
 };
 "starfont" = {
   stripPrefix = 0;
-  sha512.run = "979b32c84862e7f4c3c57ec23222589cd21d3ca7bba00c45e268977f20a4b7ffe6eb66fa44ef05172c47de7ef846ede91015d1cde43ee867c38c0aa19bf74ff4";
-  sha512.doc = "425d8bd16db28f54260579b9b8704c6a6417a52bba4d348f29f0cab001201c2944941e38ad079fc30b77584c1fb49cacb384e5ca7eafd5db69c7b2dd176c0028";
+  sha512.run = "1f45f97813f5e51b45e1cbd3246b877aad823895a4b087294d0754c560db5796d8b4f9d09972b5c90c4c569db82a2d70bd1c39a9dfe6e1fcc4e0deeceb44f876";
+  sha512.doc = "def94e1e2995e20e282d9319f763ddbc5e152a48c18ba98ef4d168e69a9a6deb5d7d87923a3259553f990f2da73c78929858852c6165acf7a94a6010382f786b";
   hasRunfiles = true;
   version = "1.2";
 };
 "startex" = {
   stripPrefix = 0;
-  sha512.run = "5df9424c8b3735efc287f4eee8ded1c79cf5121a1fe834494d0437f7dc9c04136d3d4e6c9d7bc1e66be973a8e1f4d1c9c1aab958551fcd20f578d263885794ac";
-  sha512.doc = "5ebd38171140df4d97331f3bc987b6edd8a5b32235ec573755651cb8514a06f6f97ef1772bcc8043a80d84ee51cb669d571a1a31815569c46960acae3cce6427";
-  sha512.source = "55df72d72aa4ed3973b00106dfb89cec16705209c37342f9a14875d01b3341209414cad3a1fc1b8c6573360ca668f0c36e7dd71663a07dba2521a81b4f667e60";
+  sha512.run = "840a60057867ea8439c0497eb22dbd8ca8c8a2375887d74ea383a8a356d5de34a389db3df5f4c41082683d1108a0f88cb31c25e4c3a56a27e45b8ff5b62da4b5";
+  sha512.doc = "d2076580253889e51a07ebd094daeb10a9ebbf2d9154d288460a84d7b2a581b849d1433a442d8eb911a9d2110e87ae4eb0628567b50eac95cf9c6866d3c34b3f";
+  sha512.source = "af1bdf22db048334823bdd18fd87fd8729c0bb4cb729ee53271f7e0b9ec4cea243840657e1a8ebba61728755d022d37495ef40f9962ce8e203d402b71d2d45cd";
   hasRunfiles = true;
   version = "1.04";
 };
 "statex" = {
   stripPrefix = 0;
-  sha512.run = "df5b8537898b92ba263b01612bda4ab28283810e2b13f75ba708834bffe2ecdd96c9c4ab35c215904bae3d6a3f22734471524cb06cfadf5110a21b16e6e16c83";
-  sha512.doc = "c9284b1edc4e94c660fac6dd112a1a2996da0024e3a1c71a20b01d507296ca0f5a103e6076fe1674c16e324fef6e7ec6a7cc33bf65127066d449ffa0bc95ded2";
+  sha512.run = "66fb0e346ddd4902ac98a90fb7d0b0193d8c8166aa30774dca1f5b6007a3e19c3b98e25bbc88abc379e199720b6c9a2c73caabbc515db2a54b2a8b437c5b270a";
+  sha512.doc = "9851bb7e2e9af03affa1f4b5750817543be9e985e02d06ca4908ee1ebcf0eea2b8d75a25cefdde3492efc52d86be5bde6fc2f6a99f935c183cf3fc9041ee0e25";
   hasRunfiles = true;
   version = "1.6";
 };
 "statex2" = {
   stripPrefix = 0;
-  sha512.run = "d2bf5b1da4b5df042c81d5b6dfb0a37f37d62ee7feefc4ffb17326d01e4965b892ad71a39a8a0b5a3f1de33147c86b0a85895ee0dff47030171c811443885e19";
-  sha512.doc = "c5434dfc272a656020e2849e9ed3fda12121ca1c4c9a928ad6e77795e19b313a9ff77fff2f1f2056a1d3035103d1dc8d8dbbece97b63c34fa82314e2cfdbafa1";
+  sha512.run = "dc823a25cdc70bac79c69e721feba69883a99e9e0a5b211398ff0682af4fe4bb1c4a7feeaecfc7c12d2df876b8aab6be0cb8868df8b8eaaa10850042615226a7";
+  sha512.doc = "6f0b45577bd4383359dbeb592c3f9e3c1a66d1b2540cf6027ffaa20f8f644316cf2feb0e585f42801b43b529632efdea52fc2c83f2a6d9347cd443da27259646";
   hasRunfiles = true;
   version = "2.1";
 };
 "statistics" = {
   stripPrefix = 0;
-  sha512.run = "e5fe49a729fbaea2a85e394e58e78459d4238e45c74f56d277694a8c0dc4b9b088b814072c2e12cfe6d8248a4b4a89dbc072bf7e121b57776445a170be26171c";
-  sha512.doc = "a918e8c1962a20ed79e6c285820f9007a5873215f6408fe4aa482bec837f52af4fbc2b55266ab78c036b6da5dd5c656963870f366674e9a920e4126acb9bd459";
-  sha512.source = "e735fc3fcb4db1a25396d65b68014b38488cb9f5bb2ecb30c751c96d4e376249ac29d990c79465cab0c5a0f199ae22e13c53ea1b2ba40802874380a4fafee779";
+  sha512.run = "b0f2c288a57cc64c72bd2b862cd6c40b62e7404c4733b25af64b43d008b277417bc72a4398734e5620e6d2b9f97b401c1d54ee69b0a1ad5947ecba798ecfe0b2";
+  sha512.doc = "9d3f7b94c6d144b89c1c947645e4e071933b402e350ef6405d533bdb0a6aed650b215a135976410fbd3a68ceb0fdaf6c877f2d7435680f8c70f3a2209c0808bc";
+  sha512.source = "a0ea1a189cda9472bf87996d4c191ab84ea824f3034a66d8e23982a1824aa78221fa368b3c8bd696ce58b65280599617c5ccfe4ef97fab8227148e90cc7f3e4e";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.2";
 };
 "statistik" = {
   stripPrefix = 0;
-  sha512.run = "fb20d3b876618ccd5dc7cea70c4ad9fd80b9587c9fe916492268ae1ce8f539a07aa88bcd6367e7f396529555b8d121618a2287892471dcee4a2f825fe6e4dba3";
-  sha512.doc = "694df9bf436b53a0909da133ea581f10e64e441b00419c7b428848a52ecf8cedb878f6003527f74e95d33cd3b8f64d1008ad041843dcd1761fcfc557998bd62c";
-  sha512.source = "8f9e4dc7285cc86ffb6c570231861984906470e9297f6193594fbeebacb88a8ca97a05f9b8b955ae1ecfc8408dc08426adc16fcd85e4ffc5c12f6bc62f7c1303";
+  sha512.run = "2d2455227b5db15235763c4fa677b549380d66f2485d1d53c2c607f96bb4b4a176ae9868419351f691f3efc3117e6e54be3317040f2a6f8d1d105cb86709f86a";
+  sha512.doc = "88b28820b5d2a4a304c26658e27da7d673bf430a6be3ddf46f5eb3103abb7e8d20b03e30b65b88583960f9cf3dbebb9088330621b99e1eb9f2f28c0684638240";
+  sha512.source = "d37bf82f0830e14c500af27146a1ae1a80bf4aee3bb272429c7c2351366e2fdb51b7ba16ab6459b7cbb8abe2d37870b7bcb3fa43582e588c7cbbb889ac1e3859";
   hasRunfiles = true;
   version = "0.03";
 };
 "statmath" = {
   stripPrefix = 0;
-  sha512.run = "11b5155a0aa5c6b516290cfef8d5bf86fa00da0fde18e774bed73ae4f66ae3ba6844fb31a2d3a8da6687c17115328e900878f1fd1feaeea1b31f50036a8fe9f9";
-  sha512.doc = "28420eafcac045d3ee0f2ef666ff43775eac020d50c490130aa2f85017781850e3066e41272ed7fd938baa6c7a7856fe352bf8df33b0fc9751f8fca6c20d0332";
-  sha512.source = "923135c2e7f3839ccb6c5ea4641054fab1f64084e2389a962dbc08117dafb89b96edb355940548ea8a6846d3d9797bd97917832bafb95f745cb021bb04b3ae73";
+  sha512.run = "128532a808c4f8cae9ad03d19d9f70673427f9335d298d4840776ecf59a78b0051de64093f00510ef34c61d3e2ab900d4494f800eff8183a4c8451bf90a1424f";
+  sha512.doc = "14754afa159041c359c85d31d8cf3483789b02a7057f59f6772455ff7dfbaaf81e793db3bbdb8d1a67e25de7a00f32c22089e2cc908cb1c2e0abf6a17eceb7fc";
+  sha512.source = "67329fcd533335927638057bdafd76c3db6e49abbc23c63027623397ab35450ba811acf61c5b3ef299077cc92a14df3f0d66076a8f8a2d009ef9e4828ebb533e";
   hasRunfiles = true;
   version = "0.1";
 };
 "staves" = {
   stripPrefix = 0;
-  sha512.run = "15fc1c5170a6ec70bf2740e5b2b8580ed726f4a616830fc73a919c8a1fec6e3fd39788612ee37c9c20e3e67ced2824c6d0e93768b2dc54bd96259c4c3c9ce48b";
-  sha512.doc = "2bc0cb7294239ccdd14fc5f45fb0139269484623bccf4690d576de42965fabe872fce41a4de1af5d9ed7a534bc520aecc8f97835050b045a424f8cac5ebe0605";
-  sha512.source = "ee7a6d62ae35c5f2a1934c28eb0c999073e0fe3d697cc9fe900dea9244179276df7d3eaacd537771cb1c46ec38bf32cd1e4b21fa25bc64d2969f8c5eb36c6ed1";
+  sha512.run = "f6a1aea97a3293ffb514ccc526faa71ea5ea3ab32990da8725cc3ff998d15a2909001976d9705ba13110fbde869001bec2f286e58c05f1fe31f345ecd5882482";
+  sha512.doc = "b839484325cc6d06a407ea685dd705b3616d1e87f22d4a625c20dbc507647b602417a085328f9ba886766ee0fca2516da397c742198569477bc1009271a4db23";
+  sha512.source = "9dbe40efcd1699cc9267b739bc1b182fc0e5dc23ae52d19ea89c1742b815e4ea9b7612e4fb80aeb83f3d9206ab408cb0ca3fcb99c85883fb86f89f3ac26f0b5d";
   hasRunfiles = true;
 };
 "stdclsdv" = {
   stripPrefix = 0;
-  sha512.run = "36b8a1e8ac6571778c942d8e11e6eb481a4e498606099c1c4bd54b57ff8a20a0b3d2366ecde89d3dd627b208b9c57d2951125c0ad0372552d42077a7614348e1";
-  sha512.doc = "600ec2df2bc645370ecf32cb6ee76dec222c522eac2b52928141c64ed47df75bf66634816bd7e9f4faac09d9a53b1a45d6c4cc99e421b2e4ead360b691ebf3bf";
-  sha512.source = "f24deb8c4aed887af5baf1cb155f475b4947f2fa5ac7bf5cdd89cf0ea315eb901fa534bc71a36bf200dd814bd2b9ce9b149e8c52f47d48002931b5f1e3e3e00f";
+  sha512.run = "88d8abc04d10f029a9ce0fe9025497afe3eba3dcc300631fd37baa8174bdec8dff44fbde07599ac8dd6635be27294c359c77178690a4e6c97f41d15f9d2abbd4";
+  sha512.doc = "8321d823ffa159071f66d87d38fa38ba3af03f6c69999a041d765f0fda8549547da4b8eae86efce82109679284dd912f2c5494b5ef6e76c73c467cf4eb87aa2b";
+  sha512.source = "4a9987bcbb557b7923c6c2a5c58dd117fd7b56f58b3df55154514075b68bc59a8928fdfe275dbf328ab2bd5b6608b193ad5ff07b95e7bfd2d79eb632837e5469";
   hasRunfiles = true;
   version = "1.1a";
 };
 "stdpage" = {
   stripPrefix = 0;
-  sha512.run = "ebd8e13b5b75c14b6ee15d4b7c3702177b6f37125036636c47a1675ad5850740b8f536c7eadc3df000e63bf114a58dcb42cbd8de6139c8786a6b0c601faff572";
-  sha512.doc = "be07352e61f37a0d28fdd8e7edc390ec161bbc2208f4be7268225ac6662dd0edb118fa121a0fa1d999e8aaa3e44ff78549c8d5269b655e55d75784478fc5ea7f";
-  sha512.source = "0a64a702cb074bcc5f331573d6becae1a092d5348df408146f333140f132756972404980eae549f117f6da73c4aed5ad19df502a8dc133e5106f87c8ca86601f";
+  sha512.run = "a3835f211b744dd88e0238a01f0a5f960305f7eb92bbd9e3437474971173e66c84cbee1d5ab3f1aa1097a262a258b79085fd0d86884bcf3acc4017e7885968cc";
+  sha512.doc = "77510670a49db00b185e6b502d07bd85f9ca18bedeed86277c7d51abb582f40c793c665f2ab87435e90380f7f6f740b64c937d2171531a419ccc59bed197b90f";
+  sha512.source = "2973110831807b73409be0082c5aa281b176dbe7174b736cb9703b0c75ee918d1135fdf0513bca5dc48bb996d0067c9201702b76212eb632073f9b0a17b00d55";
   hasRunfiles = true;
   version = "0.6";
 };
 "stealcaps" = {
   stripPrefix = 0;
-  sha512.run = "c1e61b161a18c7194fa824ca13d645546a8847e9a3e5f6661f96b188bab52aec001ddd1659e02b90e7052b4a1586a0fb0a67d7c0a303df5b025389958c36c4f3";
-  sha512.doc = "60cedced7bbc7ff53f7bd1b07fcb521ae311f9aabce00e14eafab0439163b1b11ac292704d03f4433eb7365181d6ccd10f5de6423f4adcfb277457f8899e71f8";
-  sha512.source = "33c1a228c67c060276e3d7d62b369556567d4365d0730a816ee99c3e59894eceb200279a464e5ce1fa7f248dd336a85d6ee7a94be15804d45d2415092ee708bc";
+  sha512.run = "83296141df9f56d0e38d04bcc948cb4a9b5e308f5a71ef3080b4b53392792d42c142a2cc5b69140233d6f00bcf7804dd1c9dff686df3debbca857d765d7639b7";
+  sha512.doc = "3dd77d36d16fbfaf10993bf36c1a286506b6f80b795c721ce15b7854453af0b6041c586bbb653e7707eb057664885a9027135d199a9df7b748d23c6106175477";
+  sha512.source = "8afa57a79a3bb38a04ebb681df5c7976e9ea275e379c00308b6672459ac61ebfe745f16d334beb4d3627438487446f638bd00788d60fd68b22f0026a7a87d4d8";
   hasRunfiles = true;
   version = "1.0";
 };
 "steinmetz" = {
   stripPrefix = 0;
-  sha512.run = "793fb6f3c11647fa3ec40154bae40dc6d479f11f5a3897866957ce60465ef2a3cdd9c22132ba0bb03b110355ca8cd668c74ff2de214792903bccc523e6ef7575";
-  sha512.doc = "0f14d677a5597c392cff9617ac6fc7560660b10ea47d1b1e184ea04d01ffa3cdf70472c066872bad221c7eade131f7a56e0f75dacd3f16720775898aba56cfb4";
-  sha512.source = "3007d5343758686145cc3c960234c1f9f553d76488e804d393bf56fd22694056c6b814fc80eaf292e2c85f52247a0c935a2eb16aba9ff5f6e81aacc72ea04417";
+  sha512.run = "8ff095645447f9349d2b35ab5ccde72109eddcd85ad3c9de262833320ffcbe94c2fb08df5323c69fc64cdf173ee7193ce2ce887f1c033997455a33f290cf1884";
+  sha512.doc = "e409db74c366c5f49011a6e21355150e3e97d16c1e3a7fcbf06cc8aa0db2c01288dfc60b3c79e539936077e452c40dd601490be8976c57d01f9a5a88a3798093";
+  sha512.source = "c18fde06e32eb4155921bdd7e4dca7ca108139859545c638f562f82deb6feec904a53870c929482504ddf28858ce5ad3c5abf4148b3bfec0193f260af432ebe9";
   hasRunfiles = true;
   version = "1.0";
 };
 "stellenbosch" = {
   stripPrefix = 0;
-  sha512.run = "b50034113084955cc712f03306ed369b1a6ba6bfe0072b9a754b77c923d7ee903cb09d1315391aaa15d7c98a32040ef0c1eebfa955ff677d5ee238a34561e15e";
-  sha512.doc = "5b5d27765cdcfc171ae9308be017af84c86133fdb00c349421be359da40fc3f4c8f03ac7e1a97894a2ac633239870e6fc546d3dc9b47d6fc7a8c09e308f48393";
-  sha512.source = "6df35b6c53d012a47684ad044fe0bbbccd472f37b557164f4a09d391d3f130b74b3a1f1c2856257a90e7ebe31b148ab7e8691bbadc499eb8474b0bf271cb4f73";
+  sha512.run = "44b6b8149d4a5aa34ce4bc2e9e66b9bd3a1381b17ffea213b5d0f3afe5b71a62a3b85b4feb6caee4711119fbe27d46b3fcbad2a892e662ee9aac184336677d0a";
+  sha512.doc = "6af215b7af75e04bf24ecf9f83c6e4b5a12013a84435e65872d4d84dadfc2231d341153b05f069d9ca927370a686b6642f4654c9924521f5d93d0d1772f48059";
+  sha512.source = "a4df0b0c1adc1477be9a8a0d2ee3c03c152e3a2a9c9bff5337accace9562a0b117f2ddd09ecf29bfef99ab3bf0a4a394f8780ef57fb693d98fc269cad2f940d0";
   hasRunfiles = true;
   version = "11a";
 };
+"step" = {
+  stripPrefix = 0;
+  sha512.run = "3135dee51564248f0ea3d5c67c46d23151a187ce923fe5c83de2ee6072b62fa4314cf70ecdafe9b4ddb9a44787aca1e9bf2dc79bf38ca6c837ea5593672aa364";
+  sha512.doc = "9e693e25525deb2506ae9143beee56c0a8cce7d5852620b6f1daf5851662c36af52d4d3c38f9c004bc5944621f3113f179f80ff1aa83e9647fb4b079acdffe13";
+  hasRunfiles = true;
+  version = "2.0.1";
+};
 "stex" = {
   stripPrefix = 0;
-  sha512.run = "70f85f98b3427daa82583ee11b637d239b63595e3fa393f679f888c72be2b738eb8084fd7968935bf60ec135eac1bc6fec2047b7ecb193337a1052f991e10f61";
-  sha512.doc = "cb3e15ccbb8ce24be0d8621df709de14b8812342714fd36c16b7105289b61bd6c48c0a69865f5a9ebbc832272eb9d70429f04cd2618a82e79520877935e181ce";
-  sha512.source = "84699ffafd2a7b842afd664c21aafb4b75d91ebb8edf252e5810fb25aa48918866587ff5b1b955070df96e90e24cc5f990d52b0920037d7cd74594222d722dc3";
+  sha512.run = "43d9cb084f47b1fc2bfab9eb11ec9253fda495f29640d333c00de5d7a5681bf37e0331002938e141679b0ab10345e23d5cbff19cb33fbfa01d25be62295b18dc";
+  sha512.doc = "3e936e5905f5dac9a16030af94037398c60b6b79feeb6180af4b7542eb8293a681a213115dd082d9e2df8264771d6d92544e6ec514cf40cf4a136cf74a0a6e51";
+  sha512.source = "5cf2ccb75d699f86a095481c4fdefe0d2a981340d3df72c09ddfc4acd3798a35546674eca62c8aea07431b50edd643c514af901d86513a3e5d0d3af9588f24ed";
   hasRunfiles = true;
 };
 "stickstoo" = {
   stripPrefix = 0;
-  sha512.run = "8649809e4e3039f8111eba390e4b372a5d19b3dc68ea2da7d030165cac764e7652b5509fb12c4d52e163704a257800efd5d265b08f11c14834876d5e80c3b109";
-  sha512.doc = "c9dd9db2ef724552ce4ad442a431c9fe40e622f383234740a6ac56ea54d347b45a23eefbcf3a993687b9d6c0ff6d74948af7ddfc8cf8879b7be0ec6d78277d29";
+  sha512.run = "858647a31ecf1b3a186c020f43e8f3e7bba930f296f01b0893730f486270c8c4af83c26235484abcdffbb996fc4a3cb5c64363c7613269568ff9ec6acd70758c";
+  sha512.doc = "dc1835c8806014872212c9812e1112b1765a5407530c2da786efa15ba08d11d390c4c64c97e3d5c6db451bbbf876d053e6b8baac2ed65f8acb65a5a80f531031";
   hasRunfiles = true;
-  version = "1.031";
+  version = "1.033";
 };
 "stix" = {
   stripPrefix = 0;
-  sha512.run = "526f96636d7458e1d90502a36811f6f5edcb47c35edc95b5bbfaeb8c4a2379ed5f5e5e6df07b633cd8c107c5bd295c4747d9aa1a47209e135bf83e53e3d4b398";
-  sha512.doc = "3072cdce210346c3a40b6eb0bee16b91c490e60eb718d99cf6d846bb9ccf175645023d8c3c2d95ca097b70b8eea807b33e479770f1ef16d5e2fe1781fb236f8a";
-  sha512.source = "45e8000e5ecc051af6fd9dcffd2e63c104116a595088834229c07f4f270e087f8bee732213da8caf1cb1eb0dc43170511c44100d1a74e2b4707d071245c51894";
+  sha512.run = "1d4af4d903ce164b95321dbdc45ee17dff776cbecfb29ef74d7c192909da2eacf7ca7c143ee655d842999d347af8e63df683e4a216569c5954e48be54ad55fbc";
+  sha512.doc = "fd69dc299f88faced8b7166025616de35f935d0726671fb19b94fce9acf6dbf6c9f041f0e4ecd3ddd3aaa8716b77939225301cc79bb0131f77bcff1429066e9b";
+  sha512.source = "1f04ed2c60d8b94eb63e173157a896b14d70b7a0dabdffc1036c7eca0afc4c6257d8b0af24d83264ace3601704109587f0008c3f452232c57410834e6f12d1ed";
   hasRunfiles = true;
   version = "1.1.3";
 };
 "stix2-otf" = {
   stripPrefix = 0;
-  sha512.run = "e43ed32e2dfece68e6e38cd542a664ab7054500b5de56b2c86bdd4f31a9620facb39798322af97b7dfcb37f84662606ee97b34506c107136755bc0495991218b";
-  sha512.doc = "4723db0b72d7b6104adada756c25f0dc63642b6f292c10e54d9e9740d046850946baa66a06662b009471717f7252fa591422b4bb425a6fe94daa0c966f8ef339";
+  sha512.run = "103ecade85ae44948216c901c487b77c29acaec1813d995f79d50497c9b273f312a46709202ff1e450ed45866a306343aaa34c912e556da1496062beadb6bfa7";
+  sha512.doc = "678e183fdfef3a98a2778d7d694cb72682a2b1f44aa3595bc778b0b481f0fbbd60d3c05cc57f64edd78d656cda447b4a27505a71d942c6e63b7d35f31302445b";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.0.1";
 };
 "stix2-type1" = {
   stripPrefix = 0;
-  sha512.run = "55159de5e5294ae87cb217a51815333ebb16e48d8798e1488eadbc281dc155b37fc4cc917e54fb6d408e4c326717fef4ab8d0e6a607526b3850d54c9f439f492";
-  sha512.doc = "11d3d9e1e8aaf6cc3e6ff3d026add3fe3480a8582d0b4954d75bcf6ef6781f4710e5dfa2ef7984a870ac947644d941c449daac7977a340b19f7aa9ed155ca9d8";
-  sha512.source = "1a5662960c36cbbc3cd8a0fe06c32de4eb49b3e7c2f9922e03648b0a27640b643f5732a970c8f6e46066334fa54f6b66f68ecf7d8d2ac4f911715a9d3abf53cf";
+  sha512.run = "7358467241a5eec7e62271395554de3a5e0aaafb926c2ecf5dbb2eec8d03b3bf054ec1366490950ca7f5e69e415816e82af3257c4ac87eb7e6a88fba1d35d4af";
+  sha512.doc = "775626a232affb47e39da154da8a4d41f602fe235dfcf840966d5d60a102ae9a6f27b3ad05f3ab63c4a34746866ad076ba83ed9c2ec88f78039b56363e98756a";
+  sha512.source = "83d2c6307bb0f41248d15a9bd18305f9acb7c651839abfdabceba23ab2d22c6ae3162eea803addfda2df05724445ba1a65b73a00dfe3df894783628bab23b170";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.0.0a";
 };
 "stmaryrd" = {
   stripPrefix = 0;
-  sha512.run = "3c0d67aefa6e10fb2875a690fab469a44fda3f245d4d2c9a0d1d0063984759cdac111b8d87982fd3d8b24ea82fb26600bbd2ec7ff18835606df3290ea7e5e886";
-  sha512.doc = "1b4904a3d623a66bf0b81e33a491fc53b2d89e3c48910adce996961375e5775010bda5900421a7dca1d3df26bab965d04b05eb6ea040e3d314f9fce6d1a9c218";
-  sha512.source = "5e623029e0e79897892b8d4bf9bfc37b16157908e624e80e9a1962b8ef848e74f9e916342dfa0822fdf3b5516cab86f19ea49b73404a0cc55b684d80af786718";
+  sha512.run = "8abe58b84fff2f4fd6846b6c267f3b245fb1dfc2f38d0db54ce7cd9d456abd07627247613073f09dcf7e11e3e9c5940d8ff657327232ce638abc6babcc5b3d77";
+  sha512.doc = "caf883d1c5021b52d6471c4c2145e708ac3c05c8944eaae621a3ea7b602b683ba2ef2bc0052f9caf67adc1415e7db02b5b55d3642ed82727a926ec193dd984f4";
+  sha512.source = "ebefe2836daed0dd4db99517af0f40c73f0a7b19453d5415c80ae6cf723f4ec4e4ae6f9700a21722b4c0d9b8507c58a596697017893716111b46222f54676aa2";
   hasRunfiles = true;
 };
 "storebox" = {
   stripPrefix = 0;
-  sha512.run = "5fbda79d0adf0a1dfeb8d99af26efceb647fac8d07555989b4cedb286fee61492a2c517833f39a746adebe32ab38529f26ee6a34eb91efefbdce7d302e364194";
-  sha512.doc = "15a6d1da8aa7d310f2e424ec55dfb4e200b1503951a00f04e8d09750c97ff90909b7aa253ca62c6fef124377ea9b4127dd4a0b963ce4a5abf78afecaefadbce0";
-  sha512.source = "61ba29c2b787d41b6b400b173ebe100111f55c1a88aaa1ea56407f0796d83a01a68ba23958d8b8d24466123f5d6f7532ea6a9b4efa32ebeebeb495274347d1d3";
+  sha512.run = "365da48946b94161fe78447b402dfda931f7635b7a8a12fe6a4368c3b579c140b6c6037e6b04e192aaac1d768200af2fefc53659e52b813ac6956b9e82c8076c";
+  sha512.doc = "89867e995ec04c8411e6ebb9919e8b94bc12674fd7e659ad6f42b17988748c98a4756268782a9fb5f46095ed2b83a877c3969f0ca8433e5f8c37dc7551c7825e";
+  sha512.source = "248077174224766d5b35b47b319b9eb9afc3a5fcb0d1190474ffc3233c02dc7265c078b08ac57a325990678ab0eb58b818fef34cb932a229da1e43247c6f2578";
   hasRunfiles = true;
   version = "1.3a";
 };
 "storecmd" = {
   stripPrefix = 0;
-  sha512.run = "882af655e2305834a5d79ef4a3d9e257969822940786e38afbeaab083bd87b61e167ce1ed6048cc75801d57d12e0e351f75ebee9be0d4dfe5112f6215e746d1f";
-  sha512.doc = "b328e72eb75471e98941033a83085d2c2b4beb78fdb78112dfe6f4b9b282d7bcea5e473bb73db8c80b76b5fa08e14e7d23f62777393c8fb211b23abb6b953bcf";
+  sha512.run = "1987e3cffafe007d9f3cb9e0d53fcc648eca40140f5188dcb0202a0916296651c1ab02fc589339fc51999b56bfa4a06b29701aa598ec03f51d7b1ee66ecfde7f";
+  sha512.doc = "feacd83403672380cc2cfe90ada2704f98bef63e905740f8f8d50767f86ddf95478efc38fb38fccadad172f27db56045f50a6af4a487f0c5cd2b6ebb5e7666f7";
   hasRunfiles = true;
   version = "0.0.2";
 };
 "stringstrings" = {
   stripPrefix = 0;
-  sha512.run = "044a42e677d9bd425ed350f40a3fb1d419004c42dda56a152c13765530d49aa34d7cc80d1f2c7c6703338ebe2e0a526d3c043832436f3259b4a28bb6bcd8c068";
-  sha512.doc = "2d63d1a5064b7979da09623f30ccc414539b00a788baf1f107fd6ec8bc7104e5ee3fbb38f19ac0aad6c518b03b5f6d4e9dd4097214ed51ab7da5ea4b8374b8db";
-  sha512.source = "bd70fc77d5b2e64456463bdf89418456345fc0c20f5e1e85950c4d42f8c14886715d47686cce6816b011b48562be94aa9615fc9984c7eb8720aa4d1e6888760b";
+  sha512.run = "8ed9dc3bbc869f06126280a4dfab23da73b57a9c5c1058dd9764e2bece26840ad37637d4e83aa84e6d9a17d92095803788697b8d325bca7fd57c7135ade7cbf1";
+  sha512.doc = "fd794606d8eb3a9ab27957268aae1b35b89c1bfc1b3d5602290797a6eda8551e14471d35fd85cc6d0561a1e74523a36450c958a0cf5881d42742eabf085bc794";
+  sha512.source = "79d8d86c7c3695b8d821bd1bf5400b5195c753877f8aa6c24094acc87d91ba8b58b086b760e87acc6e1d4b7e3898c7530f40567f626cb3b002ee7064c636359a";
   hasRunfiles = true;
   version = "1.23";
 };
 "structmech" = {
   stripPrefix = 0;
-  sha512.run = "a759dadfdda5854c37ac7c3273af3cd83057ae2150b750747071c535a572ed605276cd1d9995aa23b8412f8fb51249ef7a50f63784cd3381afcb864f479de5cb";
-  sha512.doc = "9279f28424459bc687a2a5492924d529c7067240264bd8fc0844ceee2592369a6c0c099c2608eec7045cf27d0aa1ccd17083b0d03a7bb7709c55ebe0c3d62f63";
+  sha512.run = "4efa9a978eb0bb92dec5588107588346ba1a22a34e12bf43b811176d42871f415ec58adfa50a4a4bb9b72ef482395c374b9e7b979f1b779e672422bac2c91c6a";
+  sha512.doc = "4eb7e209e5034c6809f8e746f63b1a5f3ed62c85cede4fc989ad6d89a9710bd15ee3e5622181ea9a450ea2b8430ae2c51ccc845851cd9fffa582e3b91b656457";
   version = "1.0";
 };
 "struktex" = {
   stripPrefix = 0;
-  sha512.run = "2c2a038d7525884f095df0ef177a26d0ae99549e4b61deb7fe6c125bd1d9db623f4d15863ae46334285ef0a3b54b865d30ed7e2fcf81bd74d3adc56515c2765b";
-  sha512.doc = "fd021b26565b651493941e75ce4ddddec23af39a8e12a8b04938453f0d6b9836fa9c1e9ef3888a5e1f69b94e8dbea6924e3ac896ded22873b50458f76be128aa";
-  sha512.source = "ac7a8b9b260d6089b9bc437b4c10601d9646afb8771aeea2f1d949d6ba9cc0cbab5f9cbb811aec7dc65b386fae90dfee2f9824b83b6aa7956041e320568093fe";
+  sha512.run = "3d81817eac5cc8b8bd468537406db6a26fecdaad1db269c2ceed582cae84fc2b549eaf527d4c356be7d4f2f16f9db4746251e9b69db0f0fc3cc8acd9f39d1f50";
+  sha512.doc = "261a9f7ef5036bc8eebb87ba503b604b158647e82e88844758be506ac5d389103661f681689a836c0048529446bad0d6537a6fc6ba273dd2ed29abee40336360";
+  sha512.source = "98b06394519aafc81a565c7b12fb1ad86856ca447cb5ccae14aacc95bded9663a72bea301e7f5998eb9cc2a6358c978881736e564c3672eef456c6c44efcce0c";
   hasRunfiles = true;
   version = "2.3c-0-g7d3fc5b";
 };
 "sttools" = {
   stripPrefix = 0;
-  sha512.run = "304e8bf849c234766c8fc200c6027a8ebed023c11a77c1091c5e8ecaa7ad8f5f9b22d126d84ccb814d440c9c737d1483225e68d7a1436ece4dc344202c55867d";
-  sha512.doc = "648bbfbc3606212c22f28d135a9ac1770c6a6aaf241273b4db7648ceb923eedf829fda455733666798fe2c51b91ca3988f758ae00520b823d8280ca5e8cfe022";
-  sha512.source = "9a87c6db7af113bf68419cca8cd27d8c1de0991cba96b2d27fe8fbd37018c8b4a094018165446dce575c95ec29cf85c8eec97492298403b8bce3f184236ec443";
+  sha512.run = "acc5c6b470d1e5fd96eaebf3792b3c2402a8fe4a07409328878313cfbaa1e0febc758ae75c6d736e9320f6a332c67f7d6898c761b9c5e30f6658e9049df889b3";
+  sha512.doc = "15292806d0f8f4a0364076fa225b7d914a4ae88935e08f87a46978f5a561405f6fe4dc2d471c974c85b369e57bcdc00a5a4759d66d296610713d858dcdd4da34";
+  sha512.source = "b22286c3e7b1bc31247fd52e0c64a5f3dddf35e69c2af8e2a617530a24f82e9504f9f0db82d3cd1c57bae61aba526d941636aa32f498ccb3b06983e6e5f511fe";
   hasRunfiles = true;
   version = "2.0";
 };
 "stubs" = {
   stripPrefix = 0;
-  sha512.run = "3282529ac0a07cef0088ecc46dd74a5dd4ea50fa2664131bc4368ac0b59aba515eeff04310e7f4c0d656f9e30ea0f4e13f6f637f51b9f8ff16167d2996d135a7";
-  sha512.doc = "0f9fb5849a4c2e44e712ca2ad5d4834b902c1c1fa610bb26f7f8bfe98c09fa5dda4b2786ad79225a697299542c59d5ea49e323b93c6145d6acc7ae379896675e";
+  sha512.run = "13d9fbb0eb8fed9b92f1307db189e9f65df92470d0ed21a0c84dea2f53ebd1b4d665919372476b737184df4f9faab0a982e681a0f9cb5a99e40b5f80194d448e";
+  sha512.doc = "a427047460a92a436b21c23c112bc4ed8608a9916b613530e5ee5cc56bc833a18c6336943ccba475b7854269680eb7d685bdf2f0641478e46cc4e8fd9a6e8260";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "studenthandouts" = {
   stripPrefix = 0;
-  sha512.run = "6a0c05d2e87f023d213ceae35c0e2202a08b032567831cad828e51cc28a7125a771810ad5996a710440785d6a8776ad4290071b114ae23d03b7c0d9633bf0b4f";
-  sha512.doc = "5d2c842443f43c8452a789398cc526aff5b22ead9b4940000afd64f1b2f27a1db46b8d47cb2e0867df501c63f968654c3fcb324f0e882b358e7e5344ebbb45ec";
+  sha512.run = "2a7d8cab28b58a26633fec5845498a2987763f61b896fb747d97521b569786f114d80979956a9b9c2b94b61f01677101248a1a4c1735415703398b57306b6c15";
+  sha512.doc = "10e3ff558cd5c544d82a61bc67be8b7ed0c9ec9b01550bd3d1c9d3265d1de7153832983593c0be6f5a990d33063b065b397e4ab6b7ed12b0ea79e9e49e0a68f6";
   hasRunfiles = true;
   version = "1.0";
 };
 "sty2dtx" = {
-  sha512.run = "a85b16ea69c410dc44a167b15a0b362d8f8137c278e4c62b18009395347594c956517c3ca578dbeedeb8564c79cec82b4056dd64bd4a212bd9edbaa1d444f6f4";
-  sha512.doc = "aa2b3e7ede27a3793edac52a9468639b152dc3a309730611f3c3aab3997d14f9f7f980a077c96fc610b8eb514f99e900017791e4bc68c59d7d14db2f0bffce91";
+  sha512.run = "05e17abf8322e70f275308e983a244e178883aa36571640d513962e813a2bfeb88264c0ae9ccab956f9bd016923d1727c14a7a26bb58b257c7d05600a540da1c";
+  sha512.doc = "1abba13831a0cd4b93f9665f242b96d32e764c39ccdb917f655922fe2a4b00385d6a78c77c151e212082eace3b9c9447705681416b5cb2eed9f794d7eb30c905";
   hasRunfiles = true;
   version = "2.3";
 };
 "suanpan" = {
   stripPrefix = 0;
-  sha512.run = "8199a96b44988f1307f43e5bceff313a2ff595aac1b473853a9856be579824a111c50ff9f88cc90f81063759ea65a016a9f08d53d07e8396aa319ec98c1fcd4c";
-  sha512.doc = "6b85bed44ed5ef4760f046a3f012b978cfa2e304190de327691b4eb5fd41207cd2af3ec8dd94c50ace73784a5f2df1c5b0401b6c09c7b06afff79f21e9e86dbf";
+  sha512.run = "a9fd27694ea7491321580ee325f8b151bbcfcf6da14ecce85b6d4e68b09cdf125c810a5170aacc966835fad8f2aaefd78916920cc3e896cad7738d026450ed83";
+  sha512.doc = "667d3c5590468170acfded106a2a468d9abe7b4b34a9b56d153d401a60e8f24bce99a4f6c5f2761572a42b85c7faae5741ee5b6f22c3f1004e6d6685463b9350";
   hasRunfiles = true;
 };
 "subdepth" = {
   stripPrefix = 0;
-  sha512.run = "a4f464acc985e1f3f98daa1c049ec0d5538b2fbcbee3263201114a4ed9a37f44ffc36f4208eb4950bbfa4c8fea21b572c107abff82ab56a4f3b8e4716bc592b6";
-  sha512.doc = "579bb024c0a764d7af182c736cac453ea5d828309497fe3a1306e9ba98c25eeba90f6f838cd1b9654ebc9bad38104878147c3ec5f01b501fc500c606c822a63c";
-  sha512.source = "5ceeae5a954ed5208f6e7967de7338351a45b983a94023af9c4045f4fe80d24cdcc3a79617e141f063e51893f6b653a7d0d4a1d3d95bfd20be96bc6e81663793";
+  sha512.run = "7328742873abc42d2b9916161ca43e339e03ac1fd34479e93d9eccc98a065e95cffbc920395dd6f90d90989d29840cbdf2ca87dd1d0b293dfae66abbdc6e2d3a";
+  sha512.doc = "6bda8b822a4f1ac2a181ce34f739449bfb976a4450a54589e0cb4a64a0f1ff358a469fc88a37639104f731671ec474088968ab3dc95552a2d92a073d91857668";
+  sha512.source = "6a63a2d62dbc47d41e78004792e5c9e6ae7b2f3c435e95bc9969bbce109293a8257d4913a5b1959d95163c9aaae557daad53e950c5313faafbd8fb8d0de2c367";
+  hasRunfiles = true;
+  version = "0.1";
+};
+"subdocs" = {
+  stripPrefix = 0;
+  sha512.run = "a38c6e9bad66582914ad4acdae213e37c2bd5658d5e16482a1700f5869762b489f85b61fdb70c04578319f2772c974267b7c9a4e302c34df87f3a01128caf949";
+  sha512.doc = "46bde174536e96bb78ba40990ae3b4b8cc1fe2ef26803b193afe2fccfc05bdb6644a548a712522596786847a8fe6071a52599a17ea52134bbed2e5495bbc401e";
   hasRunfiles = true;
   version = "0.1";
 };
 "subeqn" = {
   stripPrefix = 0;
-  sha512.run = "6810e482077f3f5e18c84ba554280ace286d254219e0e85ef0255a33d48fd931fef7edd3e5e9ad6dc893645900dbf0771a6fe6c54eb40a7da7020f5a655ce091";
-  sha512.doc = "2dab3daba553c8b5f5ad7560439c5e07ef376a5266e0b1e903eac5c2513fa3e267dde73599d739d9a095d2fa5426bcf8868c774c1aaf20d1bbda0da23cf64f07";
-  sha512.source = "d418d7d86a9501822d54c1765fb11c90b2e59c7cea1a44de18bcd079b501653b58dc10d43c7b75709fc664c8ed824fba004919ee1d15d4be2465f13b4feb2682";
+  sha512.run = "7d04ceeb8f75cae074f9bff3e8d0aac4b529d199343c59fae7715d1023aebc3cbf2b45614e0d5ef0a95ff9bca4ff9e8318c4ddd86ceaec42d271f8c0f71282cb";
+  sha512.doc = "09f902bf3b4c8e2e1f9d805102c170b2bf2f4de067cdd590b22fde6b58f4e3042d0b14d362e0af587f9fff9e2c8789bb8af4b329bbfd721ca7dce8af01612c50";
+  sha512.source = "f1f7229f058a7dd80a67f18692fad36601015ad6bd7994775b573193d74c0ff7f175397ad446384cb74b3797f9f17605ce2d381327249ab9e36ae0aab756d09d";
   hasRunfiles = true;
   version = "2.0b";
 };
 "subeqnarray" = {
   stripPrefix = 0;
-  sha512.run = "f68acb4fb6888c503c2c98221b9e6eb74c2a437a7b2e91b871f300990ecad4ba38d541650615991660b02d3cdbe4480049e824cb8a17ee8f7862140f5c009eca";
-  sha512.doc = "79a311f2bcc3c707084eee67e0f4b4282682809e0321fbb9b8948ab97d2a93448f631b1b7dd3a85bb4d7843439d34d000c933460fa2e76c7f434472c4a7dcb04";
-  sha512.source = "fbc81e56d0c9fc61be00e1dcc0605e0ef34c7b3486ecf147823c4a7e43c62ea3a639851eaef31e5d5e2de6835761587c83467d7a3910fa749b7b0f45b110f763";
+  sha512.run = "846d822661b903328ee7b199df6bd7fe5b606c13a185cbb6e6fcccf3b009f2b94396bfc3f9e4b8eb5052688536867dee06c6b9571e051d477415e1ac999fc162";
+  sha512.doc = "9f47b8fb760b51a87ce5f9728e9ff76dbbc10ae009e04c9bc0c91133941e5b528e09e5034156b1dc5ff9a0c74446b548bb69c389486e68a4b8a79a7c9ed1a7f7";
+  sha512.source = "f41086ca65c7821167acada640a11768da429158b4da7caa398db254be156dfb291281b1e2f4f4f58f04c0c8041c45efd2072ddc40db8673808b83b3ca09a93f";
   hasRunfiles = true;
   version = "2.1c";
 };
 "subfig" = {
   stripPrefix = 0;
-  sha512.run = "ad38fe7784dbbd52270a44ecf7495bbf42f2e93a8e6a73189bd9c49c3c4220266e1f71c3ae62603ec1d7a216c1011e204abc2ffc1640c903c98a91d6eddf4c4f";
-  sha512.doc = "7662ef8853fbfa06a32da6755516f1cc45f5e55171c497d10cee7e3d7531d956724ff212decaedf4f45da488282e59182a30a5c5923a85a4e58514bfc2561e1f";
-  sha512.source = "48edaba19b095684c6798454d853fc786e48b134dff7641dba5fb68336918992c911ec33de02d5da805d0a525842d0fa95ac5ce296ffe1000cac0e8af921cda5";
+  sha512.run = "ec7ae149b99fecae3b4ee7cf600811dcec9bc44eac762b5480c6df48b725db3c08a87922edb7a524d7d2b748bf7d25482e155fd40080cea9ac62f2575bf61d15";
+  sha512.doc = "8cb67139bc1063fc4d5482b51f1c3ad690c85d4f7e022a99059a7b20176bbdc97a44af23756fa220b3f7f7afdf039c4a7b672700012e96b98ee25ebb9e5c99b5";
+  sha512.source = "44e7113550dcac4b14ddab03ad5ba4bc86cb3a4dcb14a31f73e5caf0b02f9f3bd56fd9d18ddae002a981e9680bc6fae5850ed07ee94e60d858647136cf9243eb";
   hasRunfiles = true;
   version = "1.3";
 };
 "subfigmat" = {
   stripPrefix = 0;
-  sha512.run = "4bf27196b198a7b8074e5b6dd3f771c80ac31c7c71eadbbfac58abb5450240976ca7f98f6852d3a1b416144ad4e73cf7a377914ea83ba624dcbc30c0c2d849e4";
-  sha512.doc = "17398fb604d3d45d0f93bb392c78b2cb0d7bb08d0a23d5cfeda5f5a7116ae8825beb1d3548dda66f40fdabd70cf5690a97a40966cc600db551774b7b7178dca4";
+  sha512.run = "d607d2e79b3b0d6e99c8577daa577aa25a0a7d9aecc00c8b7026ef3a923b0e2815837d257599dcfdb1e5320305f492bf17845f5c6cd487b476e789c5140e01c3";
+  sha512.doc = "6cfbc274a466796ed0478e9c43cf68d51bbf5379691ea6848968c48cabcfd54525075727463905e48b64946df9822cd10903c562a2f7d546b3d2cd2e9ef11db4";
   hasRunfiles = true;
   version = "1.0";
 };
 "subfigure" = {
   stripPrefix = 0;
-  sha512.run = "e536798e5cb322a80c861485e3c0ee0b4322042cb6c806dd68b57037c4b23c6737a18bd8b3792c8a76ada7fc393077895cb497f2a1003c451049e74dbb3924eb";
-  sha512.doc = "c5f8a3c23d1c4e7dd9d84bbe6b2304f310779f7e856a42e7322f74398a961dceeb87037a6f83aeede53bfd4e6c7d9dda043e810f3bc4b26da85c32754f0f05fb";
-  sha512.source = "1d81d4b508fda79b95cc22755b7d2a0e45fdba5fe4596a93789b21ff0fca2d1751b0314548e1c6c019eeb65a036128f6d3532ceefe671938507766b816f44642";
+  sha512.run = "d4ca2ef4c52c84ddda85ee95328c9d3e97ef601db4f08ea508bc53393e3b2722224273ac63f749d6a922c7b42787e932d7f60ed3ceb03667fcf8fc591d4ac97f";
+  sha512.doc = "46c2950db73fb557e81887f605b866827b6ae7e027a684f0d24cb3f9d5962a3d83aad97b84e61617381af8d0949057df17ef45d629e992e51c80bce3474cc742";
+  sha512.source = "1295290b8c5cc814f6cbadc2be418413d35a0a1cfd313a69b05fc8e5e47ecf5da0cbba73b81f499f0085a55b7e783b9bd82b29ce1072792fa34e422596a117c7";
   hasRunfiles = true;
   version = "2.1.5";
 };
 "subfiles" = {
   stripPrefix = 0;
-  sha512.run = "bce3972400535736b306fe1d87e10b79dfe26675ad18ef272a91d1046e91302bebc1413bffe11785780eb7379a0daaf4d12cd64954d803a6c1c220a213a334cf";
-  sha512.doc = "73a923c6bdd7901b1d77b64c33905f78613cf9c32dd85b2639db6ae6d43d4918405ff27e02eb36ea26443055aa31beb3075f2ae27e891110229dce2f59baee9c";
-  sha512.source = "5f01c63aa2112a2b94cbffe8452976126f0a44cec0523dca39ad022515f06a35e95b1e43bf61c30a974ac50d3252e46b2db1bdc4ab9cc1729c11375e95cb015f";
+  sha512.run = "9a71fe71fe0acd6f9df8b94b29b59416953e353857989d45ad974e6cc5f013319252f1f02f4feaf4bc788013ae3acc5082361da0eead42da1e51b344c6388727";
+  sha512.doc = "4c7470b61c49bf20292806f41ba21b824091a9c46bc3befb46dce259e706ba3523d1d41dfd45dc1a4406fc993a974c1e3f13eb6f7bd849dc24c21668acda20ea";
+  sha512.source = "ef5bd2853db5150d6c7890fa96f7eb59d35577457cd9c8214aef6e0afade618d8af17b9b8a9640a8d556835aa8e7cbfa6d20e735c440d90ee03266dd2c42186e";
   hasRunfiles = true;
   version = "1.2";
 };
 "subfloat" = {
   stripPrefix = 0;
-  sha512.run = "60a9c3ec854c48d929e36d207f06846fc6057ae1fd33ae4a131d3b77d21f7c60f4bedf51763753ace394018960d2ab2eeb35911857a6e297d3a8c67c514ec461";
-  sha512.doc = "bd9a58fd90ad37ae9cd4deb6e2cef80bc5e2c047501e27214663c8fa6ebab530c74d4a2ecb73ef9b72bb67ef4598c54a23804f8121570bc131ce1f1cb914a67d";
-  sha512.source = "935f88144a69247bbc6ac4e21f5ed6c9b372ec420efabce8f3216bf87178114b07d1de536a7ba19242db647f35ca7a7ee0505688e22dbdfa121d3149506e6cea";
+  sha512.run = "d5bd48fe7634ef6deec540595fd23aea21d95d7c68d053bc65eeebc950e35064add73e5b81e92d3a3d4a4dc938448d9c9a27bd0f1a625e4a9f425d4e2d55f237";
+  sha512.doc = "400b9b272e51cd9fa7370f1cf7cb354dc1235fc41d57fb07061dd08b44e06cfc17d38c1be3fd5bafb5ed6bd0404660c46c9bbbfd2fb852297f283be85424c088";
+  sha512.source = "e72b55996a07665b1deb038c5924e7a71c7b7aea761a1420d4c38d64c1ee98b8663b4a996ae39a869cb12b6ef99efd09c989f937bee18f05a1eba57856dc686f";
   hasRunfiles = true;
   version = "2.14";
 };
 "substances" = {
   stripPrefix = 0;
-  sha512.run = "e11ba3bdb0c79253c62b7d5efe90d445ff4c47486cc0077f0d4fee3dc62c708f596fb2110ff266c04aae3b04ff5c35f40a08b6b5a43a03b990d05cd6d3e19682";
-  sha512.doc = "456a7c0b4d4be1c2cc44e6387d431bf31d53e983b232e3fa60973f035e80816fa74b96521670479872c854fc0b16b222bb8965480d0205bec02c2f6ff4e8d350";
+  sha512.run = "c7e3d72a506242b79e99c531bc550c81081d59c5a850af52ca3b86054a5eae42f9f1ac5c7808f54c404bee829f4cafaa1807c46ac7b994cd0f88ade1aec94c5a";
+  sha512.doc = "b2900ddbd6f8618522db171c5fb8b35ce5e5ab6b51fde609a18e6b5656437709772dba683767ad23ce955463a869c483e5e3fe81e1f9b5f7523f4f0cdb87a4d9";
   hasRunfiles = true;
   version = "0.2a";
 };
 "substitutefont" = {
   stripPrefix = 0;
-  sha512.run = "5f3eb640783115e28fe644362f6b4028388d8dad242dbdb43c0ce7e4ce6921527070d571f2972fe1ea2175b7786f213c6ef749496f19f2c27c9e8dae79eaf4c0";
-  sha512.doc = "479050e2a2860109d0e1b2aeea673a43e8e2fa6277aa91eb23c656ece50ec052b45f9bc3adf7d931fe67e9e5e85a956b40a9317d02c6d953f3d0220789526b53";
+  sha512.run = "d060c12b1283ebcf314d6f9f6efd2ed94151ae7030a3d6e424478b2e2cd05753260837f1b9c5003735e27a7eba0313f29263e9a8a8892264bec131bbe07ef9d1";
+  sha512.doc = "ce241b95d029651d2de4464880f7f59e4909939697537cf5257bc2e132a476147263c8e9253ddd1fd35fd62dba73cf4d0d06d41bde26b11776b83c456adb0fb4";
   hasRunfiles = true;
   version = "0.1.4";
 };
 "substr" = {
   stripPrefix = 0;
-  sha512.run = "2ebeff35f974e032dc20f07c61d4c3dbaffb61909884dca791520f9b204e12fc5d7a16bb96c8ca76832e48de31c25ab02fb8aaa2ad6de3b58aed89647bba4a43";
-  sha512.doc = "d005ecb9f9c90f178f68f2de2394ef4f1265abb831c4b679a9ddd03d9792b814c1c383beaecf3bfb76e4f85e73916bc386fcbe4e7d73917751a9b1a975265ab9";
+  sha512.run = "979aaff088f7bd521e2af3f008fd6fb9dc908ec7c9f3963ab7b6338ece92b2a7eebbf9b4974ab87f73cc71ecf7ba92c25d22be8d1fdd297d066da72f61ad1d4f";
+  sha512.doc = "97adaaa986a8540364cd6901448eb47bfbe9d53842f412100696621c55d2209807d0d527c8126d9df7b5b38b0ba2f0598e79a467934d9069fe96a2d9125b701f";
   hasRunfiles = true;
   version = "1.2";
 };
 "subsupscripts" = {
   stripPrefix = 0;
-  sha512.run = "3abe5681a0aa05cd9872f564b1b97da28382f60002464ec9c7d167ba9289bc09ee6a74096c687bbc4b0f51004ee3fe51c5cc7a2e23f7a5bc3737fc8e8f39c75f";
-  sha512.doc = "1cad042a0c5ca08fd17e9f9318e26ac0f8847310df8e14f0f4195df8d39146763714073efd51e1dda3b7ff44ce12f2d9f76eb6e62e01a93af5cad1f9b60d9bd9";
+  sha512.run = "a1578fb66e6068955c4aa69b8ccb951e79fe55616ceaac8d5f01b62d8c6e862d816e0e1ff6c387bad8b8416a3993699872b0ee3df4f432a733ded0eaa60424fe";
+  sha512.doc = "b1424b69633b1c09fde52a38c2e50b6c744671292875688b295586bfcd340283c03a122c83298e8be9bf714201db35f0000c41720a6db49cc09591ae69a3d176";
   hasRunfiles = true;
   version = "1.0";
 };
+"subtext" = {
+  stripPrefix = 0;
+  sha512.run = "0ab32328d346bddddd37094ec086727222bd386bd24c1aa164aaa0cba85d60cf6be2aa26d64bd0bcf63f49b0188e79a7212e8b98d2d7400f828ccf10f60272f3";
+  sha512.doc = "cd3fdf312f2bd7d30c3aee67309220e8e75d20ea69ffcb17106812f0423791dbeb26a8ddd3621cd48e6b3cab5c910083f49aa18b439d9f8114c08002cdf8826b";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "sudoku" = {
   stripPrefix = 0;
-  sha512.run = "e59789ad8af410520ce0817144c477d8dc64ccffd76c27feb9474e3d9a5a3ec83474543a9dd3a61c684cb8982e0e71349d07c18836e5756d4e04d797fb6a093f";
-  sha512.doc = "983f6f7ba74963abed5f95a1ff8632b6ce4b4cbe636228c729856babba4882da0140d0c895c990598d837ed653c46dbe88378cc45d17631e6e175b0c287096b1";
-  sha512.source = "cce32bcdde07c820584a4ccc8b67965f4c7b46ee602d96219b599910c8ba71b02c5497d82f9b011768d7970abb994524ce8f004bbe462d0751ea4b8f9a1ff784";
+  sha512.run = "a5a9ed2ec9a5eb2cfe973094c6bfca609923ee14ec51916051985bcb2533d1f6670776877252f50a2f16fb54e3318adb15fde907182da215d1db81327fee313b";
+  sha512.doc = "7e1fc099e6f84e0e22f6e479bfc611ebb8668fd1391c07f877abf4455579248b99108c9b6224da3a0abec4e0853ac8ba8f817e80832629a1d3b624b16394c29f";
+  sha512.source = "05e89ce1f640ed336d8d7447681517b6fb827fed72e8245998c0b11f7f767b8f20e9688f3740223213fed0e860c9304748a11fe94b1a8244697c79a0db54d441";
   hasRunfiles = true;
   version = "1.0";
 };
 "sudokubundle" = {
   stripPrefix = 0;
-  sha512.run = "a8de67fda97042211f758c32179feeaa4258e098f316f5655a616c3992148b27683139fc59b34693859a87272214c125509ec5c693ff7ba3a02b4ea132ab0f91";
-  sha512.doc = "64d28b4daecd5b0e85da96a0bf7d6dade26a74cfe13b68069af80cd9ff5279610650954e683691cf3ee2992b4a8812a6d9f1699beaec957b5a9f4f7e6932fcbe";
-  sha512.source = "0403491075ee3975af6b61347cce331a44cfa93a25de3a96607e0d7904b79703b3d01e7d0972e31bbb5573dc5ee246ab7e918ea02f53b5c68b2fd75e1aa62c06";
+  sha512.run = "da5c7954dda7fb8076d9b2fbd8a379e416a162ce0039a0566799bba0ddea975f3b951b7615cf50819440b46c419277a080b6e1c3c514e73483b4f81420a4b6d4";
+  sha512.doc = "6878ae9a2734e5efb51f04fe24cc30546a2c812ccfd5ae62cbbbc94496a081b03f7d2bfcfa6c7edd610cd6eccd741c3dcc3441a6d437eea5f310865dd13d30f9";
+  sha512.source = "00b0b27e9b97dcca17113d8f314480b2617d18603bf022631f6553f2b8a7c4e7d30e1718cfe4ce1ede7996d7ebe7905d25480c6516df4b3df65403346c050beb";
   hasRunfiles = true;
   version = "1.0a";
 };
 "suftesi" = {
   stripPrefix = 0;
-  sha512.run = "78a653c14c9de227fd627951145f1cf4bbaf81d2b668d4a2281da3cc78fa632f76a47cafba333ac80ee0420bdfc743f0a1f0eae4eabbe50b5afba2e7d52403cc";
-  sha512.doc = "2b65779f4bd02869dfe29703472fcd236d088fe4487624586a0696ed465427adf874853261e9f52519c62f7bc15312b4fe544abc36c18459a558254ca87c8ca1";
-  sha512.source = "975e2a2616bb8e20f23adb703a0f9aaf575185d79fd9c84a104af37305ef1757309a5a440e828e131964ffc2dc372b0d86aae33d2f723e015366638f152b2544";
+  sha512.run = "b5c845b35d39c689f0dc63cda289a2b3cb28199c843d46bed2bb0549477a5756b31afd99dcb7de9a0a3d86e93264f8ab3755ccc27c63937ebebd4283b22491e1";
+  sha512.doc = "995905861f47c1069085cdd7e52fbd85045d1b8a1800522e78fa2300a2923029a9ff11aaac7b557ec30217f5d99c9d873dd49cbb694355cbf601911cd775b343";
+  sha512.source = "e743364722e6f87aa375f19b5234708adfe83a4788cffa35ef94da0a3bd5933f78899d815fb75496136b28e61f337f6eb5c7be562898d7129ac5fe5fea140f6a";
   hasRunfiles = true;
   version = "2.9.1";
 };
 "sugconf" = {
   stripPrefix = 0;
-  sha512.run = "f3df85e2d7443eaefc6e2ee21c5861554ffdde29fb308388e1ac7d04081700d0f60b6492d636f84485740489c98e0bfcce7057fce95f0ed60e63dd4a591718fc";
-  sha512.doc = "cf4a58ca823c64106adcfd418e21306811f27991a0d09f0d2074ec55595fe2e04e4f490b041d0862b33a8a22e7cf3e93cd49de500b4aa870925aeb4d4340a8a7";
+  sha512.run = "413a4e36d4e4623898ffef9109b7bf26b6c8769e05d9d631898420a62d0766dbc8597083c6fe27393c8769f8a55d683cf52e3c650b9ed521268064bf510e76aa";
+  sha512.doc = "9d4b4544d559fed2806783fd8cbc23485e4a4d14afa6702a90845786449b8fea920277c4c7d1bd4f5fa89ceefec34bd50e617a0ffd3bbee30711fa5e63a2414c";
   hasRunfiles = true;
 };
 "superiors" = {
   stripPrefix = 0;
-  sha512.run = "3cd1612b070800212183f13751e5900e9c9c14ab58e8c604e28fcf31f17648140f751757fde69e6693e44001956b191fe1f8b0f3250a435f1ff061b3abc9f842";
-  sha512.doc = "f2a8504178a6cdd0f4b4d82a01969d3f04f303f34a287d4a1906eb09ced08461280658665dc303ef3686e33457678289c11b85081e124649fdf9ee3e484bf8df";
+  sha512.run = "783d14d75daa63d108fcf870004a46680c643699ccc7256906a06fc7ca4482ebcee14f120209bd488d5c2890a3c8c33d132a0eb23d4b93d04deb05eca6bd0970";
+  sha512.doc = "f96d441d9dbd470023c1ecfe3912336f696dea7dcaf7b3c052aabf9c702869cd0ea27a28ffbd34294149c98d5bc23fe004871faafdfc1eb72fcc4fe2e2591d82";
   hasRunfiles = true;
-  version = "1.05";
+  version = "1.06";
 };
 "supertabular" = {
   stripPrefix = 0;
-  sha512.run = "91719d2afa4187e5bcdfc16326d4d496ef631b2dafbc2c780e338f2dde2508db38e1626d363cf7f19f93dd707804472aa6e60bec4450498f30713aa7264200f2";
-  sha512.doc = "a9101fbabf683f09bb434fd5b5ddf10b5801355da16698e0d7e3fcd78c8f12645c016ed91b26a35d451a8f1cdc015e30193402ff2b946065354821ffee6735d2";
-  sha512.source = "2c3540457b4d30ec30304dfc0661eb4319497d01934c96d885e19f1176996e2ccbff3dba873e98fe29496fb95b51f6ed16dcd2907a41e419bf6490a390b2f9f3";
+  sha512.run = "2501d5ccc7c4209cb2df6bb1f68ded224fd65fedc03d53b6854b5cb7824e5652cff18c8251f768e0ac1878beaa6c430231344d81fdc5dd375878ab2b62158d93";
+  sha512.doc = "7934c89c7bec6acc26a96662fbbcd0ef86ec9583d86b9c5de41e9d5385b72f8fcfdd04615c667f7e60632836e35d1ec0954f9d083a09a9b41d1aa903bb20475f";
+  sha512.source = "aa38f07fb900f0649db23d42556ff8d73ee3d84f995af367dec74fe275da32a167cf23bdb7a9e20eda9bd7b8e59c2c21d468ad47c4215b9b64894aaf0b0a896e";
   hasRunfiles = true;
   version = "4.1e";
 };
 "susy" = {
   stripPrefix = 0;
-  sha512.run = "dbea3a827d0d8a1d451dfb86883de88e66d36edcd6c5f5f281780f45622bf9215d49ac8242cb26d132c91f7120df1b0c1f19b24bed9389a687486d1aa3ad423e";
-  sha512.doc = "45c6049bf2cb3457aa8a1b4390d78e660c56c330cf4b393922c0ccc405803d5e1c9a6be1f80c562949e67f3dcbed6eb7384d12e5a6d7feeb6ade4d181e6716b1";
+  sha512.run = "406a172dfb787c833d8d71e74cde627fad5dc168a1be7a71c4d0006e2f0a6625738ec11f99c9215af6973b101e17abe8eb8355206bdaa18ab3fa6328d7ea42bd";
+  sha512.doc = "f802ccdadb5ac2bd96ff27396b020798ac023889f751bc3a286392f62341ee6ac50486899f4e633b90b85320f1bbb679dfba98aa3746d01f0220f07cf65549f6";
   hasRunfiles = true;
 };
 "svg" = {
   stripPrefix = 0;
-  sha512.run = "0e7a1eec29d630d9c6feab8ed793f741828e8941cbc5b3701bddfae3a51ff02237b437b226f2bed9a7507db4541d4cd5cecb03799cbd23ee6ab3eb649f8ef623";
-  sha512.doc = "d482e369a5cb3f8946e5199ae22e735f767adbdcda3531cd48ad114008bd9b88ff068a7ab65e21c199bcb7ad281a7b6f9e348608869d25d57331a6504a0bf080";
-  sha512.source = "f317ba7aeebd7554f05b9e2719a442f851e94f7cc8f6010baf3f0823f26980bc63bac9604f3b82c4f4ef1e5a235674c2f027915cfaef6abaa76488c6608ae5b9";
+  sha512.run = "10edc900be609c7fd4f21b0d4aa70e06edc6bab8ac417635ffa6d8d6b06b64e9802f8f510ad3f288d4351983f4756f013e007d309843a271f88f8f4cbde8e05b";
+  sha512.doc = "53c9d4efe37b1281a143e0f65cad3a559f9e5ad0e92a92d91da3301501a09f4e24f6a3efe6ffb919718cccf5419c66896e5bb50f8e64abf90ac0c5ced0b16df6";
+  sha512.source = "9ebbc53e9edf019322f37e7b95f87bbdd37785c33785840dc66a706c38180a9646048a62e4a5aad9f7aaca9ea175256ee5a304062aefcf4d566a46599b61767f";
   hasRunfiles = true;
-  version = "2.02b";
+  version = "2.02c";
 };
 "svg-inkscape" = {
   stripPrefix = 0;
-  sha512.run = "3aed995c7ccb8b53d509106edb59a2d46f8b4ad1cd54d7e08447c1f0aae8a0c2791940a5d2cb9a253ed9afa01dbffc2a21b992d06940488a3f39dde5e091d280";
-  sha512.doc = "8bc7b3b68f6630a979a93a2066a98febae945dcc8c9f4400091753bcbdf699aaadd15cf1acee50f7f21f284f62ab49a7834381feca43a23b2a67cc2baa508efd";
+  sha512.run = "e1708206e6fe85271e729ee8c9bf952f45af662a54ad2e816b449fed263fefd8527529ea777b85a50f736d0ec7875afcb3059ed2ac81afd45c54ccdc687c3979";
+  sha512.doc = "609d1a7d2256461a749c3a74ac5dffdb7efec999faa15315872f4e61884933cf47c380bfd8eba53de491494cb498a45ba263dc889fa0fd337c48f82842fa6bdd";
 };
 "svgcolor" = {
   stripPrefix = 0;
-  sha512.run = "69715744abc5f4665fd6150b1ea2b1d766b8fbbf212cccbcd697ebd1cf4fe97575bff008338c9b5f6bbc309130bd3d5b6393f760929c081ca3a03bc716968453";
-  sha512.doc = "cdf9e76951cc6f2ba3551df21ea70a5675b83da99176722b96b81c72239d525035fa5dd3646decd72ff33bed63066adf96a3399c892e1599b9f3356f92145af8";
+  sha512.run = "617a880e8e94e781819a8ab3a169325e667a18afd83a10f070a56dd9f1813153d8f52cbc3322c264ee249c0e70080421a9e1debf844ecbc7ea6c2368a6ac67e2";
+  sha512.doc = "02a28da03f72cd85f30f73282558bd3aa05a82318cc90f56af6ff8ae29e1f205d3c05553598b88ea13206b4d54f64ca36d5a6a8d6f8913e08c185c7bce6011ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "svn" = {
   stripPrefix = 0;
-  sha512.run = "5c6daf41bdb04b3420cd108f1f4660330ef5d6e7a79cbcd2e9fca96740bf3f61c6cecdbc93072181d79c20ba4ef0413d831383e94b1845c19e11ee77ace39d82";
-  sha512.doc = "ffd72cd7d402683d8d59c95997620f3571800f4bebd0ec8792ea0d8975f1295451cb18929fb1972a449ce7bff8efd12575f345ee3909d3eb5a67a1146aa1da5e";
-  sha512.source = "b0536c1e973a1e67e5a2df5dd462e651c4cdcdccba25a21743b9884a5d18616de88f969918cecc8b23571ef3de11b45b3781e97f6e9158a791537ce78a5efe93";
+  sha512.run = "a64768b2c5931ba6b9e0b910d7bdc1473a7dbc01a70e41fbda46b4064ca1c41592f3d704496199e41ff27ac4d0ccfad56d9d89e536176010e35c1c8f56312454";
+  sha512.doc = "123ce3eda16e4a1c44a85c6d2ef2bf4e5f6b9e9d939cf66eee52ad1326f06b35c457f4df054956dc16c169031909f2ea93aca380d2ba080f6049795a841dc34e";
+  sha512.source = "0033fe1be2ede6984cbc0397c20187cc03520b5d893f7ae239bb688354d7198c4e96cfed09dcdffe7160769f6dafc9995d77f8f0f9def753048d4ecb8231ee69";
   hasRunfiles = true;
   version = "43";
 };
 "svn-multi" = {
-  sha512.run = "f3a0f3bbc627ffda1456ea6afa6345940fbb0d3310309debfeeaee06f65320e1050e9133bcf15c104111c85913638b44b1e023fb24491c6731045cdfa7543049";
-  sha512.doc = "3f053a4ce166b1e2d72c9841985269bafbefe9492049f98e8f625302ca2d8f7a7d824efcbc5e3ec8b31375a72c00ff86f7b634836bd996881cf14cbc6d97246b";
-  sha512.source = "43187f8f229e97159a45a8fee8bab3bb8ad31dc7aa129e9ba5be20c94600d29e62334f10b2ae36c90042e2ae5e040e868312484641d52f4b73bf2427d8bb360f";
+  sha512.run = "f1367560fd6eb6247097d5e5901a56a01a90941f584797f6a5e3388cd9ebb5e33ae98a8cba69cccb4b42feb01a29d8507de8e814be8ca2516ba24ce6a0d929e5";
+  sha512.doc = "8e54c597bec50dc541abe4e1be7ceeca9575c5e9f3e201bc66eaeab11ea529cfe3724389aa2d4938f6272c93213dd20a7ea89cc9c954f882ce916c6d610bafb1";
+  sha512.source = "f90315214155802235b1137276d615bac052adb9295dba04443976fd7147898616e2ff8e32bc1c3f6cceaaf59480c9acafa73cc53ad50da2bd07d20dd68e2fa7";
   hasRunfiles = true;
   version = "2.4d";
 };
 "svn-prov" = {
   stripPrefix = 0;
-  sha512.run = "65500d9f2163c31886b0da87e4b696a3ff0f7c6324dd3b55365fb3decaf3c6b26f09ebeea7fcc89c9712d943b1155954a018c24fc557cfe2f639086a9cb5bc16";
-  sha512.doc = "5467790439685fb92f653328016725488dc7ed4eb722d1eca7dd88973a08a51bb1d631ab24f99a70a13e63844e08106b60de955bfc90c512192aefa5e75c9cfc";
-  sha512.source = "6d4686b3d026dfe0e9bf2c779871e5ac5e3eb499d6b18a56948d26af19d2587eb87890dd7abdea459093fb4610316d2a569d9bd8f8afdfbb2f3a7ff002925e9d";
+  sha512.run = "24325a3de52afb9328a4b608710b94839c77ac65b13f08219f4efa24680ceabc410135de3c468c89d5d283a8986f2a9e337ef2285241ce776d0270622e0e77d9";
+  sha512.doc = "b6de41de4535833025f2899ae28530f4198717bfdcf06b090d054c20bced3a524ae9627b1909eb7afc6ff4e09d5525203b869c09d23facbb86e207ab2193b57a";
+  sha512.source = "c7586e4592f9518d2a03218c9afe614422bc8021a192279d7be1b090bd09bc51191d8c0a2e760514206c53cecf5a7b89c617a4c209cdb878874a0e3396659a3c";
   hasRunfiles = true;
   version = "3.1862";
 };
 "svninfo" = {
   stripPrefix = 0;
-  sha512.run = "c82013869a45e7168dc48e6fabaa343c4600a1156eedb651e382c77bd65dcbbdbc0c47222884bf6e6a1c4a7f014e89c1528ff0dbafcabac17269c81b95a82247";
-  sha512.doc = "6862165228b6b1e1136e826a23096e03ebd285e2e885721bc9da07403edb41572512e3c2a2147cbda828185cbe1275cec3d809738f7c6b7fd81cdc12bd5e51db";
-  sha512.source = "0460910f68d83793b8e277c9ce88da585ca28b3e1ad10fdb11d39dc7ee53126aeca44636a95616f3e342458c273cd4fb66483f50f2f31ac0dde87ce180ac924f";
+  sha512.run = "efb2b358bbf5a05b17a591114d0f45a38ff42837751d00b88183265d9bf595ba39377fc53dfe69ca01ae8c1776e6d4ded9c0f636e0e697b946f1d193b39c1537";
+  sha512.doc = "f8f20578da98d54181475d23be625a80c35af5e464fdcfca80643f8701a029bfdf03cfb13ec42be34312eafc372e42e5bbb4260aaa5066fe004b2fd6fcb2acc7";
+  sha512.source = "7ce865a81c8fcd47ff2cf00b5304e40ca0d534ee63b23cf24eb716926f3258a8081ec6aa9bf160a3fce741f1dab6c62e069ada8f5298f9a354d92c34ab36058b";
   hasRunfiles = true;
   version = "0.7.4";
 };
 "svrsymbols" = {
   stripPrefix = 0;
-  sha512.run = "cfed8d86151f38444df9c6c9d6a189b93e34c2ec95029ea39b1abb1fe92850b6754c9c22018f37f7e7d258df2dda325bfa3624de612612fe044c07243d4acb72";
-  sha512.doc = "4f38961b9024fd89134e9484064fa563c06d8d721f2ed7063ab5080c1f9927feecf47017f4d63fcccdff05cc4f740392050c94ad8e12e94cd8fd5f1e27351c81";
-  sha512.source = "c43efd6be9500d55e066d3f3b3cc6153086d8370b0f5e60ee7b6752f83b07dde5214a040254d675f629e29805ae03b57658c30cb1485b5dd02875bb582172f0e";
+  sha512.run = "1fadd5259d527daf316502aae6072865b9c6e2efc1ab92f4bc0c3d1070ca4dd863b8f7366c9e6909b7885858c1745cd723003a9f4bd28e8208889da2c21f18d3";
+  sha512.doc = "6ff7b9c1efa4b59c453b42fd37dc66e3c79912ff0bf9765b2745fd0cd946a4cfc4a063fc943d1b5919368f8a5809eef5cb7f3a4bf3b6cbdf8200f42180d21f92";
+  sha512.source = "916ca0f14ff1b9ae99fc609c41fa655eef39bb053ad39274dbe43167dbeed06ebbb9990cde6c040fcbf9b432b4ff89651195df094aa9c35bc172e7932917148d";
   hasRunfiles = true;
   version = "2.0b";
 };
 "swebib" = {
   stripPrefix = 0;
-  sha512.run = "3796cf2148aa57c841c36b1d655d4b0fdadc713ad8c65b4eb131cd571dad29b52aa115c343eb73405fbb16f1a8d6e8eb652aff6e34b05d0c9c95700e112d115e";
-  sha512.doc = "5b4b5877ba30f9642feaa105e466aadbccbb2dfc1ecc691ddcc7c700109dc0caa93d977f373f1b3428145ee7f02fefdb8c3ad3b37f671d36e1ef4becf820d036";
+  sha512.run = "c34174a73f2264bd0963bc6932f6ce840a84d3c48ec9aeae9f7f92ce25ce5f55dc2e4c05d1eaee54c18b4c0ef9adcf494310cdf0a3e1d73031910b75a6db30c8";
+  sha512.doc = "a3db201554a0b828cfc72d47a22b777fd7b44b25c361a4d8f032cc62658780628e83f6eabfbf342b867fda335c1ddc228347f5fc66651193c8229e0bc6e46f67";
   hasRunfiles = true;
 };
 "swimgraf" = {
   stripPrefix = 0;
-  sha512.run = "0793102bb0c04fe27aaad2e882b04f80b1e496dd747708d9dc7baeb037d94abbcc3c908d1719bb9d372a8c5932b836c5ddd66153378907afc43e3ec477aa9e62";
-  sha512.doc = "25b5a0292187102f74d821f8eea3d34d643756f90cad9256e008d07a7bada86926eab8dfe667c29ff970bd64edb177ce8540ddc2cb29f29bd31117bd04bd53f5";
+  sha512.run = "d4bd2097892db6467ae1c80032e4ff5f39e3da81f45ecf472d350297687609ff37b8498de9e44405ad9c7dd7b483599c844672233d289c6cc4ed1e2b9e2bb842";
+  sha512.doc = "2394080a393e2a0cc8e8299dc4debbcc7548186a714454c87662c22a371308c7e8e6705c9dcbf6eca632f2f80788a733f9d5a9f3fddb2f46167fd50654c5bcdc";
   hasRunfiles = true;
 };
 "syllogism" = {
   stripPrefix = 0;
-  sha512.run = "a822ee5507f7b3fa41a4f338de2668afb094640a62f972296b5bef295e74d68118d75933245e22ff4aea5625b314bce18a57da31c5bd6a04050c1c25da668d94";
-  sha512.doc = "cab0677870328ff02b552a7dc7eb401aaac32a3dd927d72285ec1a884b720a8de1e009e4bc0454df0bd264f54b95ea45fa888d1a64339537ea8c31335f92c3f0";
+  sha512.run = "6f74e300794afa114da0f498bf70a389500bd2346bd0bd3d9ecf0f30d6167bfc9ea094024039775c649f5feeaa4b62384072ff26fc0c0fb426634912f440999a";
+  sha512.doc = "1d2f3cfb453a4964b0e64a486a7c466731fec93e3a4210b216ebe9bc311923f055bbb903c26b5177c34a16a343e5f4e1a0643c7f6bf635dc0762182185f6e362";
   hasRunfiles = true;
   version = "1.2";
 };
 "symbol" = {
   stripPrefix = 0;
-  sha512.run = "6998e58f859b94825bdcf1c783eaee7935cdf5dd94b83a45e3c3de6d56317d674fbc53b370b3695f0729dbd869dc8ae00c51bcc63fdece7386c87bbd2581adb8";
+  sha512.run = "d942031f4a865c9db3f1deb68e9468132e811c88a4de67661a25431506a8ea41b2a9cd36ae0855208802d5b7cd4495b3cc27e9e18996dbf96f2529fecf4683e0";
   hasRunfiles = true;
 };
 "sympytexpackage" = {
   stripPrefix = 0;
-  sha512.run = "b4c8f87f57aed463e8c518846dba32a189de8b75c3992e257ae4e3aea92e703b9d175a10503a1588ac58f0e0d5740247768f84eba3ac9c34983e6ed019baa698";
-  sha512.doc = "ae20ee5f1712b46ff2072aa6b3f139179bdde10199afd1ebe44aa0600948dff7c6e174be00f7a51a6711dfdc23831618f3b61f0f434aee348bff22266a106881";
-  sha512.source = "675a253288308b51c54042747984eda3115384ac997173dd910bd515f2f62f1dddb2fe3e9bd83af8332eea8bfe3d2a3e27f5691f3f8ed5eff7fb32fd93c3f37e";
+  sha512.run = "14813cf24b562ed135e6d5a0078306f0687cd464915ecc17e61df0bb5d9900d7110e8338c469d4d55664b2fecd1eeb6bb4f359b11fb2a07bad72a442b7698842";
+  sha512.doc = "c4e7e386852b3acd071d1addea10435985e7722dfffd4933ac2c3821b5a75e8c9500f5c42bb6b3e2315bd06b8d3e2ad12423c2c43547bb51b2f59bd982d7dfd3";
+  sha512.source = "7dfa3975f5c042f7196ef6a76e31b79caeca4101026afc53aed719239e7ce701a7917e733bb77297b569333adccab6b5bc7149befdd6eed4f09d46ea38684579";
   hasRunfiles = true;
   version = "0.3";
 };
 "synctex" = {
-  sha512.run = "e3589ecd11871d949c3526eebb150e4d7e812aebcc9ab4a3476083418b138003ef4cb2486148fde55fb2fae194244c3ba37d9b6d85f48ed8c71ef778fa30744f";
-  sha512.doc = "10c3e6b125bde957321a18810c7163f98fafbca7b4715fa777e8381a16eda20000be671c67e71f6aeb18c24d804fe6fa4b905ba7ac9f7ae5c168f1db4f605af1";
+  sha512.run = "9fb5f8c3729115a91a51efb3645f39809b07ef9eb842d2ded1d64cdfe558c0bfec6234827dd87b38c40bb167225a88c6ff09e3d7bd49b50db7561981105bd6a2";
+  sha512.doc = "3a61c57a78772d6f8441db824f489c7dbd5b547760b43dce500ba9ec07780a839d0c6db7f90921846985ce4400bccbec2435e6d4d8bc2952fe1dcbeb9a23c91f";
 };
 "synproof" = {
   stripPrefix = 0;
-  sha512.run = "202425dd18fdcd5f3f128c54c101e48fc2319c65aa8604a35daf9548d886c866359c561d1bf22fdcb2bf3d5dc8613e2ad47713a80bd68b064f7a1ca4ac62e9ea";
-  sha512.doc = "0a0625620f1f2f9ec34039c1bb02e89ffd8eb145f70131f6398162968948c3cd78932a6f647fe42cf94bd06fd803b9ffd55627ffcdb3b736785102978c474d91";
+  sha512.run = "934235e8eb4ca51a906ca287c5524cc3b0b69c649b47a9fa0fc2c9fd664199eb6fce835d435e97e0b24bd0662ee68b8db471e3546c4bdb402bfcc19b1fd02c50";
+  sha512.doc = "9a12fab29c7c0118bd97a7af1585ae97c5086e7a1e9529624b7fa43a723151e00537b9488a42628d7f6e93b87d092fe0dd18476c7d232e3ee74597186a92585b";
   hasRunfiles = true;
   version = "1.0";
 };
 "syntax" = {
   stripPrefix = 0;
-  sha512.run = "e6d02e538cc8ba623fc56bcc86cc77f430cda6e2b8956ae8d6f600f41553591874b5d2dc1429c7a077e23c5f58f9e877056e818da4dbf55b99e39a0120344eaf";
-  sha512.doc = "a7238f8a7e673bb5beee6bddd92eda4a7fc052f82d85ce6aef3158accade9511e6253555c0a7f6520d5fde8d164bbcf2c078142510ec5c341a0a70cf93d66335";
+  sha512.run = "be1e049a98cd7e45cec9675e707575107af9c613028012b8fbfa658c6c9cbbac5782d3a7111f37edc719fb90e7c168c9a98a3d30a4c997b6ac4ed0691fc7fdc3";
+  sha512.doc = "7d0754c08081abc9867d0d40fc910ae5f8b34518004bf698dddc184f0b514d75a7feb3085870cf8322b3d6f3bc4c32ab50acdaeb56b574bf41604a18c23a6656";
   hasRunfiles = true;
 };
 "syntrace" = {
   stripPrefix = 0;
-  sha512.run = "e0f6885186bec22d6a0f36c308d9ed4a948584439c3ffe2e2c05bf15624d6480169c932290aed6346c0538495371c5e074fa17e2e05d4a8dbaadf97e90cd7438";
-  sha512.doc = "3732c1b976690dc617cc548de59ff8d4fb19968dbaa705cbc04867e551a562dec6dc7ca710dd933c349ec73627e00e4c80e92d93a115a44dfbcee177409c921a";
-  sha512.source = "73df8375cb1669790fd5eee086f7722ec9d9ec55893923f18c76c5ee8cb97e206cefee1a722119a9c148b148e3ca9d095f717f2c290f7c5889648a921e2285fb";
+  sha512.run = "613c70859eb0c710c43fa4a62fe8b8d38a407ffe94c532d80927d00fd47c17b6570040f5d9ace5035f4dc53deef97419f52ecdf021ab11d5629445153b85ebd2";
+  sha512.doc = "0349aba5e1455a6676cda43c7981677cfadf77b9898a79d90104808e77cd351f219392a91f83b670f7f1801babf53854f8719c32b8da112fde849b7b120e2327";
+  sha512.source = "a6b5e08c1eae9b6c631f2d2316bf0d2afba452be7f8aed0d6f9724dedc7d50785ef09e1f29986d2cf869988e3b5c59332cd2b44d185b298e59333131413314f3";
   hasRunfiles = true;
   version = "1.1";
 };
 "synttree" = {
   stripPrefix = 0;
-  sha512.run = "3ad716f31a28a16de8661db756ea51c6f13a487f39db9023bc5f7327f60fda82a8a7179755bd0019d3c4c720bbd96b08e01947c4d2af6e82ec328e6d1b680b5c";
-  sha512.doc = "855d8b19dff9473d97a03e05d1e32acc59be52eae0dfd39ffb7f2f1a418e3dbdb0339b530081151645dd0183f80ee8b9f681f1f005a6fe833aabb523b1e52f09";
-  sha512.source = "c0c1b82eacb338a1ee74cea3a374153f9d8f0515c8f5590f5d957bbb4d7551fa111894c255f2dfadd05e2f09f203681af69ee8b3b79731a700d1b9359e7caec0";
+  sha512.run = "3fa23536373a41957d985e5a0aac744473459d195c1e7e00e60f2b4aeab15d8f150bc76fab05068d5ae4994ce52ba4dc35380ab042cc9917a23962b2f0a7094a";
+  sha512.doc = "164c74dfacdb0cafab112d270b15ad0b7c58be0e8d65c5ce08f80182971b63026584c5c071988d9b7053f99b9d81c893f8b103a3145f1128ffad880259a16264";
+  sha512.source = "3fcb8ccf6da19cb01f6a80f97bf98a84c86ca7d06a95b193cbb4b33968c80cd842554ab8d5a9127af0434b9abc83f2cbff428bf1bb976fba01e56d5770f6e20d";
   hasRunfiles = true;
   version = "1.4.2";
 };
 "systeme" = {
   stripPrefix = 0;
-  sha512.run = "631ab57065b95c7e229af4b10439165f7ff8a70ea2fc22d4650e27a2ef3d81be8dce546865b2aae983797a05630ca97b0892c46065e5a8ed5b143ddbf76f739b";
-  sha512.doc = "1a4b052f1233578388cb005518e611de9eb3299b909ea1f6c88b0b4cd8db6bc697d7514e7489cad71d9f75f10336c1dcbd763d53f3e6d5164b9f6d55306958a9";
+  sha512.run = "a71c84f41447a568cc56b2afe139dc7df23660c329e82c1a0d40e3bcf41ae775b2847f9d391bb591420cc546a36d0a69571a829822932892af1dcedc29e54e38";
+  sha512.doc = "4cf7120bd6291edbb101ef1fcdaaeced3a6c771052d8f176b6c11365e1d48699978bc0593354ad9b132e05fc6f14f4074ccd7326492391c49c34a8273f4389c7";
   hasRunfiles = true;
   version = "0.32";
 };
 "t-angles" = {
   stripPrefix = 0;
-  sha512.run = "50014d35220b1c25ea177d30b98e915ed84c1aa4f475c1e00ad3d77990b81d860cc141fa56243564586827aa1180b97bb28ae10a3c472a7790e482dffa4bf66e";
-  sha512.doc = "be8ef0f7459421c7931e91888b66a7adb0dac43bb0432f907a56142a05c25ade7dc784ef09035807bdd1e4341cba6bec76090fcd284aab137e57c4ec1c0e81d5";
+  sha512.run = "dae9953288c0067e233ca26d2d5e7ea32207790eb16bcff2f0f56180dd9a65e70c234de48652d053a858ec92940c3c5fea10c699c697b65a249a8c84fa050b71";
+  sha512.doc = "32dc9adfda93bee5e61eb062e6970f6e093a09016a6ddf32f82d110b7717916fcc92f961c8be682958d1f3f345e02ad49cde4a85ad4a0d0add08a0bc80109d8f";
   hasRunfiles = true;
 };
 "t1utils" = {
-  sha512.run = "04d425c03cbb846204677454496c791ec00d94889f4e88003afe1ee2e96839650117e126a4973f0ab4978ea7a13b64c3f57c804280fc40c8adbef737fcf0d533";
-  sha512.doc = "bd9745a99f697f4f5d108ca7ec16051819c7a006a9e5cd154d7c1a926e7fbaf4e38afeff75b425d532d5bf2a1dff12e68b2216805f6d6e25597a2e3b4a0c0d2e";
+  sha512.run = "93248c576de8f3a4bce051cc18af8327e5d0f1fc2a5a91bce99663a2fb0ffd718e5a472c5bfbae7c2cb9435ed795ae3abe8b44ffcd0c6de29be02ab9d1b6721c";
+  sha512.doc = "839bb491b146fbb5bf9b0dc638a9a853dd025fd211754579ec5fef18175df835ed412aa957b4483064ef25ad4f6afa7c928e8f902f677a3afc7f26480b70d4ed";
 };
 "t2" = {
   stripPrefix = 0;
-  sha512.run = "2032ceca317de568c8d53182bcf803025301d5312adb5bdc19ed63d4ce404c4ce0673fb281bf3129024cc2c6211be4762e50bdb4f6d6e180d2afc41a62562ceb";
-  sha512.doc = "c94c4bf034a3851f9a6e8d7addaa5b71927df3e66c249d35dbb071e10109ca3c7497ff12845e882b994f345e0cbd5f1e7ed3fb39368e0f3201768a89fab7c105";
+  sha512.run = "9a47581909735a9ba582b71a132c925beab45cbfeb0201c93d138c35670fdf65580e6dc20d9498458e01eba7088c81d67cce329465e4763235e3f3404959c5c6";
+  sha512.doc = "8c30658eab02eb576963a6a2f722b143444abf5d286473f165b6cab84c75ef703462a1841121a5d12cf822b150ce8c23a96256754a2d662fbe6c451a058333ef";
   hasRunfiles = true;
 };
 "tabfigures" = {
   stripPrefix = 0;
-  sha512.run = "2d2e8c1cd4ca07528aded326b154b8cf8ad019d475b1b7703cc27dd5bffc91c651c8633b35ae1ff25136a11b0959a503ce6be94453afc73d1323b8bc074f5f43";
-  sha512.doc = "c2e2efb2320ca28b2ecb1d95e67ab5bcd2f144ef040a79b4d65c64174e33d636e7d5de950a7346b63e67fe3f935d93499a207a96e1ba65053bd7c2a9cf912529";
-  sha512.source = "66fe82da3161b2f6a8e710e4fde9355c26aa2e07e4bc4c725a9bdc42327c910c306055d4db18bfdaac150a9440003251d861e4e3bfb0003c89193f4379daee74";
+  sha512.run = "d2a1fe985a74427888995437beaafa62b5def851d6f2a7788ead9cddbfcefd7206366a6711f29e85d2705c0d787bfc88accc56c93b827fa372ebd9cfc562f2c6";
+  sha512.doc = "5b2c7c5bd350c3dba68117151f3cfd6eac8f0e7ed602b44406ff9d15a79dd7de7e0ec303b1163e3c882412c86adc48afac6c9653cf1fbff86e7cf6a7ce852c94";
+  sha512.source = "78602de26e50e0d9ee43b8289a96a3639904bdf79983d4633d6c11af1c8215d1e77649f640ecc6b3f37cce30e6cc6b4c204e2cec58a3454c8b8486104eb17922";
   hasRunfiles = true;
   version = "1.1";
 };
 "table-fct" = {
   stripPrefix = 0;
-  sha512.run = "cbf1751be66d15b9ca61849b50a91418759d60f9c92e644b553a534c80a0db01b6f1447f104c64d934538f92f585d7bb25f22dec0b70f6c184ef584c329e6482";
-  sha512.doc = "bec99642880dc33b78ae7f611bcabd0e5abe0cb8f512abfea470ab6dd631134d76f579075eb9feee02b69dd70ff61c6835e47c671872e0fa881e59e7aa126abb";
+  sha512.run = "a6300b1989f536fecb27d300bc0b27afd93f7f72b894fdb87bae5b0756ab241985ee2e5b4c0b68d1b2cc5611aafdb62b300fe40e2a08df5f6b11774f13309756";
+  sha512.doc = "a9108cee93e6c7250643636619f923659d468a2148f5b04168fb08738d85e794c1050fef8152fb95d114551f6967c955f3d6f548e1ede37711b98b1362e9910a";
   hasRunfiles = true;
   version = "1.1";
 };
 "tableaux" = {
   stripPrefix = 0;
-  sha512.run = "55efbcd334234afd711a6a7ee187de0680f0fab2e6c07ed4e255d9fb1f1ab97c33bc33f1a77d8ab53a34dcf024e24ca546b4f8c0c033da4f0e1c64aad4acd982";
-  sha512.doc = "89831cfb672b897f2a15d5c19d24286c65818444e58a60370cc84e3b0a387de93e0db69acec8e28fe864887f28ada88ed7bb280c464b194ac09544e2aaf105c1";
+  sha512.run = "1846fe9da749b92700be07c094556fd296d47123df3a5d6823570056e6ce2ca8ef365b70f6ab2a8577602d1be338867fd2610403f89729dd51632d404951f84f";
+  sha512.doc = "cfa58a8e76dd61659f6c13ea6b3f97ae484715b735028c513576312dfa7dfe92c8c15a0858077e3ff2399807274dd5a836182ea65b948a976f6384bd8d1b19d6";
   hasRunfiles = true;
 };
 "tablefootnote" = {
   stripPrefix = 0;
-  sha512.run = "6d037e4e5844629f05375d1cb54348685fdbf9cc9f8e6ff8a2193f7b9bf9b831025952ad1964073e297177a3dfee4d5b4dee9ef8f33664bcac2cecd0fcde31e8";
-  sha512.doc = "0f260f1b0d060d54d64d66c6f08ca84ad8e21d56570eaa2062f35f5e7e6343336bb926f013f3010953ca17f8ffeace2744cc02350fe273d3ec104155ec61e570";
-  sha512.source = "20dc30dd6db6624e183996908cd65ebf6fa812b4c544f45d5d30515d44d6dd4ec37321fb91c203b2a4073338bebfc47be761c07ce2271e618909de36f656c2cd";
+  sha512.run = "90812cecdbb464592b17b8faf4d81b221844a354b0a3d3ea30cb72d0b56c4ff7eee701caf113e13586315ce846d30de6ce8d5028966f2c310527e34e8ec90464";
+  sha512.doc = "712c1ab696f5924058f4ea6ce12e3ff14fcbf79a78328259c4b9acfdaad33e9e4dddf36dbb322598f09a8fa3ca75d68b474fe1a4bcd4d25752704e0c4e6ba5d7";
+  sha512.source = "70456471a5997592668198463d1e44af464e9c24619c09d186c952c5afe2bc5171d5c29442820b267d1782a966fbe63997694427f1c870d14ec6194ac99ded52";
   hasRunfiles = true;
   version = "1.1c";
 };
 "tableof" = {
   stripPrefix = 0;
-  sha512.run = "925febf5d7d62e3f89fdc23170ef5127f654faab5b70074421ae2650dcb556691650ad9fba8a6871f68b01c48a578548f0bfbb3508a16c51b9e2739535ea5a10";
-  sha512.doc = "693417c2abfb4109aae47d071f0240d444587831cfd9770e367cfb0c380c9d34d994565ff895cdc622a6e8c076ee53b516f48accee656372e8a4af4ffa666d52";
-  sha512.source = "ca404b51ffa0dd0bc7363439288a425d7ece4e7846442dfc37bfd7a1a9c1dd4b03b28ec33b1abcd0d2e20d0271dd09ffd0f6d9a6659bcef93f3c3cb92f692782";
+  sha512.run = "3eb5dd3a3399825a85280c79c9f013dc9615a534e475d64777ec84924c9257aa930b7fe677a85c32b158b4099d5b61f306ea54f610fa1c9db42764fbf5b683da";
+  sha512.doc = "609011dc53d37fbad2abf84531ab99d8f60b636222debdf0466b33ed85964326b688a7e5d957500a970e1e974d5fbcf1dfc198e146360b6d43b58f6f3d67c845";
+  sha512.source = "b55b6834b7dcc3ba83f3e8620ffa9ee66b0a6962a4c1b95d7b74ac164300334db89f432af7407268d00190e79333fb3e305074feaf116344957a5a986c842d17";
   hasRunfiles = true;
   version = "1.4b";
 };
 "tablestyles" = {
   stripPrefix = 0;
-  sha512.run = "d0047d9c7e22330914ff254e2c8e57f8e925db9260edfe2c917b95964f95c5b6fe59e7e1e7952bc1fc6efa811c838a32077cc9eed4f06b1b589e8641e6608a3e";
-  sha512.doc = "6b64370b1620af723ca2e8c6d1c12373a70e4577bf327c97c9e3e03f339431fda997dc85d6ffa20c1628c91af2ba82ed5bc5a366043cb7ca01259250b3089e35";
-  sha512.source = "dffc2adf1caa1854f078f8667b2cb9342fa87a42b3dc9e8c1f9c1c25b91ec86a040b40f7d285c6b13e5c3a5049f3c4895d605f506e9a28972893bf94b6cf45e0";
+  sha512.run = "429d9e66e9dcc06814e75b08d1fcc9630de6cc614337c73fdc06588479e47e7df72dfab33a91fb7cb230f9e1ed0bade3d8e56fa423c1f2fcf0bac6f246620069";
+  sha512.doc = "43c5dedd804a0aec1b7ad289d8113bca94d6fac7e9b5b8628880e2d7d7e4f0e29cde12864747cfcdf24ceeee0e143652c2acb2b448bfce0630b6915e2bed237c";
+  sha512.source = "26b5e4b276a202ba2b351287ce310b52a256659c55f88f68259ec358636c117d36dd8834542d385450c531d4db1d5e42e053a11e2a9c21c43fc72ce38c453072";
   hasRunfiles = true;
   version = "0.1";
 };
 "tablists" = {
   stripPrefix = 0;
-  sha512.run = "04ecf1b7a20ceff9e0baea59673750d9c60e3bc1f3bb2470578ae9565073b2f2fa39d3ebcfe32e3cd758b9bc8dcbd6a959efc0af2ad6601d74d9ce9fc91bbf09";
-  sha512.doc = "3c5f37e8d1bbda4de834911250e80b4fc86d56e7a4b94ea5c3b82b8ee63f3eafff03c8e74f9598dd3f7d4d73504b5d1d12cff0576cbd6fa827c9002f2b4d3f83";
-  sha512.source = "19e3412e7878d622cc9e082bafbf859d7da5335c02bccb83b77ed32f365bd9a0bbf2407351f12f2b31f7e08134bd78ceb641e04b6aef991cfc4a1308140ac075";
+  sha512.run = "ed0ebef871c7bdffe93e2cc38b823dd13376c53e4388daa8aa1198cb213010594c9bfe468ec0e42901df2dbd1b938e7f037cf49ef2cf6d9ff3bc53502b220a14";
+  sha512.doc = "afcfa520702fd873b4deb7c4acfbd4290262a0df133c87f01698d20b8d17fd5b5932384124f49fb4d90155da284b873bb3ee1a2281955449f8ca2f278c38d39f";
+  sha512.source = "34ff94c3adfff4188daf4ff906721833dd925c84f107867d7931fe66c58ea8a8438737065f64a9aaf57acb0eeac9e17e8388dee7a0af93476f5add226d4481e7";
   hasRunfiles = true;
   version = "0.0e";
 };
 "tablor" = {
   stripPrefix = 0;
-  sha512.run = "e2ef85bfd0eb76932c7d83c9c43b8852d8786926ca1a40dbd7de789ea71c8a49d7b393d3ee5d5bed432020863babfacd4d871f36fef37ce672047880dd64e3ba";
-  sha512.doc = "f76fb5e27137ec09899d8fb690c2dbeb953bd6316337d42ce3fae165b556ea48097c65f427c249319fed99c8a58c4b81d4b722ba709327cb9bd68d07aa7e1691";
+  sha512.run = "64169a74a787f8877d41d5e32c42e5659950854a1e20cc05103b3ed58c54fb800a9af0701a40a6c5b75553b86d675fbda51948106cac464785c3d46aac77c979";
+  sha512.doc = "77a6d1b47337f015dbfd39074e1dae417c3bea3c9635955c6518d691ff336854cdd7587af54640282b45f5bf3885044d3b6789a0a73f39a726aeaf0afd27c883";
   hasRunfiles = true;
   version = "4.07-g";
 };
 "tabls" = {
   stripPrefix = 0;
-  sha512.run = "f6c6c50355b44d70fb3138943ddfbb7b02aa1ac2b59f68c2537c687945b8ea1644fd2ddafa9c38123979ba04dc8f4e1217f264017c465b8d2c709a31fd19b585";
-  sha512.doc = "5989172b6d597baae856ae9d2b71e6808fb45e662d960e7b00712d13bc11c06bdf993771a67e3850b8d9561d1c3dd92e0754cb954b1fab79dc2f9647ea0d4fb7";
+  sha512.run = "1a341985ae61f047694470d19d4e192b4f4e01c0bb595d91b1f80080eed3077be4e40b431cc05b1bb482f18c30bf36e6076542f2cf37a49dd6b065b0fe044bca";
+  sha512.doc = "f458058964660b2b1ff2a61ff8ff2ffcfe7ab103e9714cb1e7c307a8bd39c5a1a6990683c4ed7aa401cbe9b9dcc083dfbadd80a5aa00bcd64c0fb72638cf71f2";
   hasRunfiles = true;
   version = "3.5";
 };
 "tablvar" = {
   stripPrefix = 0;
-  sha512.run = "5e8796bbc910ca161381b8d39fd5af50369b52008c4df88ff157f6c19d6b85b621980e40354ebfa6d9d6fa2a24f2554ffc9d2bceca3e89f3a9aceb84a4197aed";
-  sha512.doc = "3be94ee93f195de4a2c35801ad184343fb23f75e31de12723d0aaa7967a8f597208eeb2137e67acf512af939e08103def5f3cabe458dd4d3b4cbf7754c800300";
-  sha512.source = "a9d9f4acec8f81b893768f48d2032513713b7acc03dca240fdb345678c7e70b1701c768f7f99d26b8cc4dc198a4c5b56c1122fa115a2d34359c16388b43b2696";
+  sha512.run = "c0401c0ce273b59da6877f231b06f3e4da572a6531fb6c587e29a00bb0f53edcabc725453c2ad1dbe6ba0458721a7e4b04182fcaaeed46208a760a5dff9651d9";
+  sha512.doc = "3bb104a3f50375d2e96f908126268bd3bcb3e371fdd339ed7bdad9dbbf714480b89a4a11625a2b537e09f214eccdabf6c0faee84dec4591f0627783481eff20a";
+  sha512.source = "cfa218cf1dee3830f72af6996b1a5666d65a8729f65a8a652744bed84204122a65d514f539c2d50537c3529fdb9555ad5c5a2698f4459e11976e4b9640c8cfa9";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.2";
 };
 "tabriz-thesis" = {
   stripPrefix = 0;
-  sha512.run = "a5fd495a1008d0b1b318bfe1f9a420695e06339d7eca3d76ad083751d78718147a4f1470815da1465a6220370a60a008f7cffd7b82ceadf4e1f588f87c6b009d";
-  sha512.doc = "26a1ca0ce4654e2dba8369b400c3002473477076cb81577a62ff22f6e1aa47f98e785613ad797cec24cf54b78e14e1a48851ad467b2643b485bf1ba37503c5aa";
+  sha512.run = "b1e93632159fa6b5ce46a13b6d2bbd3115a09fd7c6908a8465934e37feb0633eea827fa1ba8521d91a0d30492135a428463f6aa99cca0c6fe7db640d1310c6ae";
+  sha512.doc = "e56f4a93c7cdc68c227791a21fbb06e44193e9681e677f383d19994c714bdb8d0487f9550c0c94a78890f54c7342aa777349770b4ad04b58e191fa62b31a3462";
   hasRunfiles = true;
   version = "1.1";
 };
 "tabstackengine" = {
   stripPrefix = 0;
-  sha512.run = "98ca69e3e633204b594d13225f5ed453d60ec04e604e28c7cf563a7b5f7c3f397559778981f526bb4fdf69b8869f130544dc651b3dbb92056e94ea293ade3c72";
-  sha512.doc = "06226c144f39e6913cc28ce02d046b64596809341930a29dcf202e702bb18af1da60088a896e1b6b1591e767c995121de25c8ae5004bfa3bac4f26e233cbc550";
+  sha512.run = "2f6245d65a7d711d598b894c8acfd8d2a032ae210eabfa219934e8fa086bbe3edef81e73092234e5528f9f62a6856546aaec7eafe5572eded155ca8fa5fc3999";
+  sha512.doc = "6ce0b2ec254e44bca6f6cb746d4e3762735e9bb85e561df7628d3a2e2e35ddaac1635c825f27900d06badeb310535e73c84495e24748c1181825fd61fb03105d";
   hasRunfiles = true;
   version = "2.10";
 };
 "tabto-generic" = {
   stripPrefix = 0;
-  sha512.run = "f32a0f66ae9cc6b9e7cf4974cf12c17a4fee4acb346a5817c2c86b6d263e28d9bd74f7179852859004db9c273e31e56ed28ca0e322172f5435b2630796c7d495";
+  sha512.run = "5b3bd8081ec6800c96ce4b4cbdd8091578ad1df2b625fb2792202a6c31f3f126d612f99f04802d82d490cb529e03e63f98b01c7842ec0df69b48c2fc289108fa";
   hasRunfiles = true;
 };
 "tabto-ltx" = {
   stripPrefix = 0;
-  sha512.run = "80ca23ddeb6ad982b420e0565fe5bbc87ced89dd49dd0786c7f62fcb76955d8a66abbff8b366d8b31f0da72e228b39418518d73d3b2a37bbd8c1f6b444213e5d";
-  sha512.doc = "9ceba79c6aeec575ff547ffc20a5c7ead1eb42f7f6a8ef0a45458c327130370041fd1d212c89c19e2c91f97486a4feb183c07eb581c0d4a9340bfae7099200fe";
+  sha512.run = "3679dfd17ada1f2959def0c8eb9d434b84e5bec7245d7e5059e1d1b975248ef54ee04b6178cedaa8228805892f323aeb33d57bcfd4c37bdfb7d57f43a516da23";
+  sha512.doc = "bf428fe02b3e1779a5ae685690527102f3d728095f55c3af0c54cc42d6c33430a52a0a27f57003cfe30eca3bfadc36343784ec93224c12ae612d2e24b4ec5e0b";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "tabu" = {
   stripPrefix = 0;
-  sha512.run = "bf557df30521d99abe4ce5c86e5487ff32f682ab7d94aecba88172012c7875942c977218317a4fc738f4edb119487bd6785f2348f771b8c98421c6494ba2eb5f";
-  sha512.doc = "c95b8520cdbb3f87eebeecd7491a26915d579fa685e0e70205a569d70cf8eeaf9d56cdcb2c6d8ffddb0224c7c2cbe61cab24cb344c83111be8d9180dd262904a";
-  sha512.source = "d29493142280a89b44e400b642759556a2448d953d74cca74a8fa98b109f989d32217cf7ccc790792cbc92b55100186c1784a80e97e7f7fa4d0476558d5d1bcb";
+  sha512.run = "b5ee526ac9f68edba34784ed646557b8b1b28a0192c5acefa81dab5a637050798c4a7410589ff98549b2a29e30686c518d2f319144c7e4fb2ab1464d56d2fac6";
+  sha512.doc = "b7cb976e6908f219d50bb3e30dc7874b3c9843c8c36bc59cfb909fd54472c4767e914889cb4f50b4ad426176764a09633254e05d271daaaefe0b0beef80161e9";
+  sha512.source = "0684c272a9dabb794a0dbb3900006abe2b0997b6e3335668d058bd9195a6661ee523bb7324ec2e98a7cbfa88416310ec2427c1abcf01986ad1e07a1008bd506b";
   hasRunfiles = true;
   version = "2.9";
 };
 "tabularborder" = {
   stripPrefix = 0;
-  sha512.run = "acf9259f50b71b5460fec19855127879fa766d54477cb3619950f46cb63bbf6df2c3214afc838fc7797c803e62791f1864466fd0353729b8daa18fc4e77c742c";
-  sha512.doc = "62559cc216df428c5025fe4627c16990f7b6199efb9e985f66d923657ddc849df37f071caed17ed6de39d66d4a71c7aabf33a6c014b2dd96ef28e68b6d379298";
-  sha512.source = "15c1b1314148dc2f2491f3b4734fe23313ee32a3febaac448c963a0d7675fbb91fd5d906166bf98068fe7150bb91ad672df1e5003c4129b791925e2134075a43";
+  sha512.run = "a30f668ea84238df674c079fea6b05878776b26b4f6465385e26b01b16181825a8cc20767fa45eda8e7870d272875bc9664aed145885dd655d15258aa072ebb7";
+  sha512.doc = "f0376dfe99c68523332be0e83c0a186d7e3051862fac22785b4ba1273673fb9b1776654a127ba1c617af67063763e5837723ca2f23b3f7dd012628bd40ad0604";
+  sha512.source = "862ea87bf23f2e4f42bc15fb82d9e417b4e51d7fbd555383cb985892b9b40734b38dc4f0dfb09790040c64791beb2cb2c6bbd2df9373c75438929be011748978";
   hasRunfiles = true;
   version = "1.0a";
 };
 "tabularcalc" = {
   stripPrefix = 0;
-  sha512.run = "ee80d798afbeb134fe11c7babe72e191b968632cc34bcbd68744b915cc396b399df68b98e1b2af7ad65edf9e5e4648de8db4b2e639587a723ab4826a0e790d18";
-  sha512.doc = "57e3ffc73a27a03eff36a4538f919c15d1bd07e13e32e33a3dce11239dafeceb3248d3b444070db9fef8bfb3ebf3deaa199faffcf9ba416719ae862b8e99e6da";
+  sha512.run = "7535398538d6802c4e70858028ce6e7414aa8a88336e71f90f7f909d015bf896eeb5e6652cc5bc5a2bb384bc25d280d8cd6506f7ba05823c20dda04fb3adf0ba";
+  sha512.doc = "7e35cad1507cfb62117aaddae77c3faa5d19c4e320193afa0054415e84d49833ba64afdf743b6241d611dbb4d45c6a532779293924f20b6c748659a361d6f30d";
   hasRunfiles = true;
   version = "0.2";
 };
 "tabularew" = {
   stripPrefix = 0;
-  sha512.run = "52689086e54ccefc5045145b17d588f4d2267a1745c2facb381655e5bebafb71349b303eb83b268c4b2c1b588095d3f430479d94bf13836b3e05f844c915dae9";
-  sha512.doc = "d7ed67db1c83cb116dd4250bef56faa46eb2225500aa24952a810ce157966fa50e42c216467fc824b0dd767e034f45224bcf2c496a21f1b273fb9a3453e40c6a";
-  sha512.source = "63a4f20d6d07114d840208489520e30b296e0bc2107e9d0cc3f3f78bb9aec7d2888c3ec73a63ffebb4867a662f88dcfcf9c96e176794ce360e2bf3104bdbf814";
+  sha512.run = "512851ce7641e0904dd25ab8a5cd5ac0dd281154067e09c4389fa3d6f330d30099dc60b252de4ebee52a2cf28d6b7d10bcf63fe4ab1472238db35754adc1dba6";
+  sha512.doc = "4b5b8aca9d9be8cc6618d9393278f8da2069341a982cf6cda9e561b64bc158e5c08cf9257b592f82134cd74ce0b69682e15339d9068d9fedcdb26626dc2b8a7b";
+  sha512.source = "9779876bfc65936043b0b4918784888acc68a8e8aec3b5eab6eea5cba3fea10ff0f696d1c38f68b37227cc086ca519630a96b945b33e3c1b853ee8ad95ec08bb";
   hasRunfiles = true;
   version = "0.1";
 };
 "tabulars-e" = {
   stripPrefix = 0;
-  sha512.run = "592d1c6a7ccdd67c17fa3942a4ae87403122ac79ff5a7c94ea9736300c3f7228a4c87d5d04d5e8fc672635292ccddd255eaaaa40f77546e7cb8b417fa6da5723";
-  sha512.doc = "f2192781f5ba66ff0ce6994c5525df5bd4c2fb80778dca7cbc7f05174b9b2e509257b2bc676a568c1cc957d17360f8c0faf30d9a615c4c7c2aada88b3418b34e";
+  sha512.run = "c755ffcbcb5636b641a5b31a7fa2b2d97ce2e3e0f14fd08c23e0b234abadfe584bdd6e2628fffb614c249ffd17e46d56790fedd929a5af55ec92869ec302e6a8";
+  sha512.doc = "2a29bd4c343c172f37874423a754b03888838db7ba4237992ea38167b82fbf7169dbe3056b269d487e398208d165d4fe2bbcb5413c138cc6129fb926f9ee7701";
   version = "1.0";
 };
 "tabulary" = {
   stripPrefix = 0;
-  sha512.run = "5345e1dc066d4207073843ddd27970572322cdd4b5ae316b23129a94bae0bf9b16a38a9bb5392a3fb502e2d84c38d0010ef0ceae51f02f1ad4f38a0a96b83a37";
-  sha512.doc = "e19e40ff6809cb4ca9883a25c621d28aa79aee0a72cf76204b5c876f419661fd8e0252191752c77154fb0d51517fc090aa0d5993dd672f673d65aa82b7f584af";
-  sha512.source = "686f417d6b18cab2e9d4a47cd4a4ba8effea290fb320deaa2faf470e177e1d986a38711cad58e4bf1b53730af6551d414dbd7f912cc705b46d86f0a663d9adaa";
+  sha512.run = "2c873a3840d8bf06a095ff3106b317ae6acfb8498d47b0229a37e247e0e0a9df80300759d65d13ebc9defb15d1cde0aa1e956d2f88bebab3311af459be47df0a";
+  sha512.doc = "b619c6b3dce1421ad4f06ab5e6f0ecaa6dc4f55076b66303a4e5409b42a4a9e34d218251177234dc0f3dac13046638a75623db0094978badc4db93083660f5e9";
+  sha512.source = "aa075526ddc2f793676ff45e9d37f02251660cec33b3f4a74da23e725181e48b2103fef16adcd6d622ea2c422a5fda1d46cd9fa1c35bbd72f06f77d05f3b4c58";
   hasRunfiles = true;
   version = "0.10";
 };
 "tabvar" = {
   stripPrefix = 0;
-  sha512.run = "1a03c599c1406bbe902036a440f9948c56202e07df19ccb23e8807906f6423533bbc97bc28a93e95af6c17e536cfcf506b1157b8bc873f518c3eb9b2e693a56d";
-  sha512.doc = "59a7da9e80d4b9a668156b0897fa86ac73fc8571567256f2aa4e5810d360b2aae888240aea3df67e763bd2f3ef5fb46db2248a9eda6ee9d3dc8263cea6174b70";
-  sha512.source = "b84a80efe8c97b1922d91647aef914c486715f44a7cea37b46c8da25ff375de071fc8931e69662475e3c5467485040b590bcb5f5b3672cadac07c5fe8e9a9a4c";
+  sha512.run = "c03d57d066a5955ffe24900f97de82f9bd96d8ebc20ff7b9c11c1e5a858d8f4a50b171f687e041d629a7dbf43da708bd03aa0405419c9879b9a5bddf23021cb7";
+  sha512.doc = "700e42e3e8d37e1b4e11af90f8f76bc2c3234984aa39b229138b5bd86418797bb8102b4624a43d3ca1738a7f848f1e09164c077d7224819250c7e034c10b4103";
+  sha512.source = "2f20de4b18e444112088d089c92675f3f5ed4f93c1e630b708e3e88a777aa38e2c84d98ec0605a7e446cfc7a99c346190b559e72f4735c7d776151e76a38a987";
   hasRunfiles = true;
   version = "1.7";
 };
 "tagging" = {
   stripPrefix = 0;
-  sha512.run = "083f70027958b18827c4d16f08ab46f3753a88b4ccdb3a628d11e695db6aaebb347921889bcbff15b86ca1d4c08d81b8e8f2e50b924a63b2b1e0c1db743ae1e4";
-  sha512.doc = "c7eb46db4e68659747df33c18789c09c227f6f1eadf02988a3bc204a8fcaa616c023910446b8e3ca525b12fbe379eee0c0412b2429540fc27e6571307050ceef";
+  sha512.run = "8947ad0dc443891e0b5a395a27d2857acb5879821443ff64cb0b15b99eea7a69401ba165b26565bac1b0036032d49241504ea2e008106a85cdd896aa28abd9e4";
+  sha512.doc = "06d470576136a96edb69bf595e55f16416da552a5f4a84980ff5393689cb58246d4fbe62b979c22b85c5abc58b926d9be63cd0ec734b43c653a0d0a5c4b04d8a";
   hasRunfiles = true;
+  version = "1.1.0.1";
 };
 "tagpair" = {
   stripPrefix = 0;
-  sha512.run = "403c13872b22b9fdcc26975d475583e53153831c00d345077c0af570323d93ce93d14caa555dc05b66cd517d4789d015a36af2f8a05bd6d2dd28bc0602950b4f";
-  sha512.doc = "90b68e522b5e4c5856f13d4863a7cecaa1b62a882c367c9e56543023812b9ded93a3ad323a80aee54f8e56fe708008039e0d1350c37dfa4d385373ed187e4912";
+  sha512.run = "146c2e957965fb7ad9976a4b3b6c40d28b8d0cdaf0c8b9627f51dd55ba88b32ad7490bf000bb853a416b5dcc091243b9d6e92999431327a05879adcf89809d7f";
+  sha512.doc = "af9dcc1c1dd0a5e44d3f436569cf5d36f8154b70219340dd914feb3d8c036164f1bd70eeb6819bb51a06c0f5c5dcab1b3ede8be4b4d22b2536529474d0d841ab";
   hasRunfiles = true;
   version = "1.1";
 };
 "tagpdf" = {
   stripPrefix = 0;
-  sha512.run = "31b5070964ea3276ce4bac0581fa33ab3b26a62b6537b6bef87ccd7aa0d554f487ed730a0c20221ec76ebf379a1a0242417ec63e89d3d2e51feeec0d857b086d";
-  sha512.doc = "d99db9b8ef7b73424b5c57800b9aad15db22d89ab501b7c98016a35e03370c1e30e27ab8ca64ea23247129324af8215e5504898ad2f386d08acd39297f5a7e9b";
+  sha512.run = "4cdddad7f59d6d9365078817b99faf9b815baf55e2c7fa736a431d6aa11ea4ae2a6d8d825f5ea7c6b5e9d5b01d5420afddee9063273f2b7a92bc0af01d20fd6c";
+  sha512.doc = "46ba8484bd25977fe93c1e9cbb0a078aa917060536ab5d5349eb7f5aaba5c59e2e9da4faa7e16d1c45f0e88bc896e70bcbadb32c4f679bc05931bc39cdf3d2a0";
   hasRunfiles = true;
-  version = "0.50";
+  version = "0.61";
 };
 "talk" = {
   stripPrefix = 0;
-  sha512.run = "acf8a5e1bb26e13df7d347715d16ee690f82e7bc417f53a7dc214879f76611cfca179733f6592060e9a584e1edb0faaf0e9817eb64b6ca4ee33b572bba588701";
-  sha512.doc = "a0f81717590b0b158d0ee2ab290c09eec2b382cddfa4918d05db3ac5c3472a2e982ad6a7341f2721e1cea814e79ad692397fbf150fc2498b1786bff3ff1fc1e4";
-  sha512.source = "06b43ff502ff9ac46919a6c47c3124bba48ea87c0cec34bce614a9a5192370165b8eed871cbfe950eafb1db9182fd74ccdbc0b0aa9b64ffc49fbd3a97a8d4994";
+  sha512.run = "371c640254994616744b2bd0c9b4040415392bb2a3adfbe5f4656faaea5bf3e7d2d4ab35373a65a857fd57112f7fc628321492d5bf7c5b052e0026c277663d7d";
+  sha512.doc = "d6a641789923559a94b0077d718e56258804caa1dec0c9ea0f9d010e92ffc361884664ac22b07b95d20f464d18ac76301a718430d8f1ee30172489cae3b844ae";
+  sha512.source = "10661b5ee41914bdc60b5ab38c887087d6529b976a3acdbf95bf80160c6e432fe6f8a4d6030711f5672f8aea564fd23ada09f92b0e3a2a05ede903026d24bb36";
   hasRunfiles = true;
   version = "1.1";
 };
 "tamefloats" = {
   stripPrefix = 0;
-  sha512.run = "4ce45373f444ef2403203217ce09c9af667dc0fa7f068200c3fe99256dbae78c6b3779d3828b15dedec183dbd12d8e9c477e64c830177672a3bec20b6ba78988";
-  sha512.doc = "e3a23fee0e3004217dbe8524a03f9469f00456037d438481c4d93835a51d9c22356aa1065e20e83b1e6ed89db66b0a573d2ee43bb4af52a3797a5ff1257a1cdb";
+  sha512.run = "bd45962a9caa5b098b6a6a5c0bd3fb964e13cf2744a5fc960a97910183799d532aba24d5f4774ac29eef14bf1439e285010b2e22641167c826d5a36262fc39ef";
+  sha512.doc = "2b9d013fcb93682e9be0fb1758fc871b4784eef72a0892383a35073aa177ac29acfda5e54b6a919379b43a3dd0fb0b22dd44476857665efb59b2e9cf27bb679a";
   hasRunfiles = true;
   version = "0.42";
 };
 "tamethebeast" = {
   stripPrefix = 0;
-  sha512.run = "be43165091d0e484b7aa7304513da25491c6627563695c8d003bc01cfc09eca54b8bf08f8f0280749502fa867d011053a281de4a10c3bd762a1f5415f7209fb4";
-  sha512.doc = "9d17a3df04e5bb3e26ddb7b95288eb1a88eee63af5b8fc017dcfd108e958badfb364b185b5ba410df3de6e59688ecc9579e35d5024379048e5ab0f91d35af9c7";
+  sha512.run = "75a71590f1d905bd2a78b508d66936975eeacbfa32e850f599e94efa92da2b043edb8b0899b7027268fa131d94283c13432d4c4126afb79d1615bd538af52436";
+  sha512.doc = "0df79f434714deefd60b9b9d32dfbd47ac7e560c26ec0d02465538eefbc779f0252aef235ae2e0a2d2d634d618bb52c73b31c229b5245866239776c742ebe69a";
   version = "1.4";
 };
 "tap" = {
   stripPrefix = 0;
-  sha512.run = "5bb1ba3d04663122ea5037fc676483f905eb862291f229c2cb0ed5878bfd8d86c15a11d10352363e3dd819a99e54117f1aa1049faa288bcaf723b8ec9720ef4d";
-  sha512.doc = "e3ed4826e2315b400fd135a48bf05baa35cc1f068d5e09acf77d63b18fdd6a97ef8f5c3aceb181f1c61c06860201db464a98f97bd126866eb75055c82a8a4c67";
+  sha512.run = "07ca34ae47976c65deba5443052001406390befb6dc675af7651141505f088e2f67f39648f14a94f70788eda79221efb05c2246d1991811e697e88c7408f6cf6";
+  sha512.doc = "a61b861cdac25c0d8c7d48f67abb9eed88458d0d55e8afb706adabfbed0d1e7c7159fcf000b8012885f82f849ee965bf6a2607f1b67f2d9191f59f8538147230";
   hasRunfiles = true;
   version = "0.77";
 };
 "tapir" = {
   stripPrefix = 0;
-  sha512.run = "a8b778e9814b0322332c60573a1a546c643a8988650eecccb0327d26578bddc3fc4ec8221ac3af54dd335ff609b36a4fe477626b439723ac65544bfb02c31346";
-  sha512.doc = "578d666f2807ef5c11dfe7ed9abeb5378e95ff4681444f498049d4a5b5684fd343c0dbef9b3c4744fe75d0bbd0dc27149a09dc991e4c1cf472452bb7a8a89e62";
+  sha512.run = "f3d93c9ad813008fa72cbe317d244bca9a70855c20f327d22d1720b79d70019af0f5d8aef237fc78a598a545f44a4612f1e5a7622b34247044ab230bd42eed5d";
+  sha512.doc = "a32573ba9df3d0b30e796f7bdd03e63ba8a96559380895b8db2d33fd9812c8b781b75d19a12a24405c52df13acd9a5f2e925da64b019e92a124d143345bb5bb9";
   hasRunfiles = true;
   version = "0.2";
 };
 "tasks" = {
   stripPrefix = 0;
-  sha512.run = "6ed559483c1d25b63cdd350e4a1a98497f49abccb4a3c7862c886d9d5ba7e8d73116d387489aeb6383a74e8fb1becca0b68aa5808244fb15858464947f128978";
-  sha512.doc = "fef69a0a376c158ab2c850ea5592b215290644f05096a0ff0a3bea0a399e66a33f3fca4a931f20b06dc1c374ac39614ac2a3558633856f8506649f82166808f2";
+  sha512.run = "ac28ccf9510ccbe47160a0f06763c9d565d139e3105191a94571213daabdfa618a150bff70499f03b3eea87f213a071c77ea9c9842b6169ae1f06e2c5c308d7b";
+  sha512.doc = "92d0c6bab4d69902a25956e9ede9e75be10bbcd3318346b9708e63dbd18ed127393fdd47f90b801029169041b3d4dbd1ee08619587e78035750aaf9e59f8740d";
   hasRunfiles = true;
-  version = "0.12";
+  version = "1.0c";
 };
 "tcldoc" = {
   stripPrefix = 0;
-  sha512.run = "53751250905ac768ce3192dba721bdb4115dd8b5f4f6f2f69301a5e704e5e78777adc7b7300c3af6360c2ea9f392ceb0bbe7e06fe499c09f706c1df1a6b01a4b";
-  sha512.doc = "81a936616fe5e42efdd68fdb5c63de88ea54377b13d0dce82d98df0f7bbc6e8b7bfbb01930cf789ff2b1aa70b62c63bb9e9578dece6df701c17fac75b7d20b26";
-  sha512.source = "88157b3d5983c97799a68144cedc65d23258b6b0f457501fd2e3175df7293204c7b7bc180b9d48f04361fab0732b3f39e58bc1eed5fd36494da1cc870f44ef1a";
+  sha512.run = "82348df3f6dcedc17a3cd50f709d01b1f2b0e4be9345e63d40ee6ad2aff908f97c7d19d586431e3fe8399a8d076505ceaadb5afe0116093240a6e59a335934c9";
+  sha512.doc = "61f24f628c2b62c02e08e1a2a3a2fd917d057baaf977e7837b1f62e4331e370b83f8a0b00e679c86ddb1893d21af13211185502ed7bb19699d4f33356d3a3a0d";
+  sha512.source = "44a8d3661061ab7dd828fe1cfa8342384e2cd20f5338d54fb0a79516a2cf686a3a6d2a1648d18a4d0c1395a60fe8f8a7b5af0d0c2edc38385852117f408f9e26";
   hasRunfiles = true;
   version = "2.40";
 };
 "tcolorbox" = {
   stripPrefix = 0;
-  sha512.run = "893addebf4a542444fae2b046e398fb98a81e0b8a51d29d6e1015008c29d93478245e0e418cb5c67d521735d6216849852e2b72714ae99e8f6faa685acb9cd05";
-  sha512.doc = "88f6aa63aa757571a166ef21c07c17fec56307f86fd087ea66a682aa533c6953ebcf4c3915689f0e38ddbc56509daad3279dfbb740b064ad45995ee8a5cc12fb";
+  sha512.run = "b9b4faf76047b32b6b6ee14907e76f168289f9080b02a189a4ca879be830e2c2700052b4d9c18506e2c57a995c7996e8f6cdb75fd1df8765f7b99a33880f4078";
+  sha512.doc = "0dcaa95629203401d3b3fd8365c6c5ee3bb24a9d1e79c94cef0d00c3b3e05b0cbeb7e4db3498614e4705057ce4bf2c66e8ce75f9680e4f81d0cc349a39671379";
   hasRunfiles = true;
-  version = "4.15";
+  version = "4.21";
 };
 "tdclock" = {
   stripPrefix = 0;
-  sha512.run = "4383fe7d88a4314c90a28198b2aa67fd39d91d071e431f600f32ebf6ac0988a7ebe4840704e3d864698f7549ff9b8059e206b59f81db470d3860bde4287538a0";
-  sha512.doc = "9e6a7f13dbcd80f56757ac0cb5fdf91d2a12de8f2229307cdd3264b104e91a67731467df78fb0c80a0d42b1b64215ae25ea11d8517199049298e6dd065fcd68d";
+  sha512.run = "29e2e50d9fa432b08ea730b8a12228cd2bd3eefe61946e576a262bab06a966c0b28c13d48b1074a838a1a567f9797a943282d17e936db146f15e7631261761fe";
+  sha512.doc = "139c82690e2c9b695a10a6f3e6f94a54c3ae4d4a929ddc18763e248114926554206fb4c007ed758695476de3750ffc1dce3db75efdf2598434f27abd1ac84baa";
   hasRunfiles = true;
   version = "2.5";
 };
 "tds" = {
   stripPrefix = 0;
-  sha512.run = "75544c9fbd65ca504910001385d3750da00e5a743272df69248730b3ce9ee2c08737a1ae89ba0fa06d876953855c33c5c1b64e83b16eddba51dc9fbea3b6264e";
-  sha512.doc = "3cd80448d5c81b778cc32a55d5ad9c247343a0881b128e71eef200c957577571bce231aec9fc8cbb531292a47eaa0dca9ba2508ef51a84ce8f6b88ca68a808b8";
+  sha512.run = "20b739d69ba9804c12761c0eb76c0b7961657d2ba2fb00db9d083022279cca2b2b176fc7aaba11fceb77da4b7a23ba53c80e98a492fb4929adb545d56f5e8958";
+  sha512.doc = "ab08ea4220a30ac896add47e5422dbf2ff3eb65c3c89e90c87983c5dff75dfae6fc4d6f8cda58f2da51dae505f537ea07cee0e2378da845c20e790f8a1724f7c";
   version = "1.1";
 };
 "tdsfrmath" = {
   stripPrefix = 0;
-  sha512.run = "ece5a92f6a9f24ed4db593dd0dd985ed61fb1ee8720798ab13bc338d4e9c2412073ff0a86336aea430450f1ef756d929a496691c4eb5b7b6b6f280892af4951c";
-  sha512.doc = "8e8ac549c10c02a4427b8d2d653c7dd1f0b92b8da8ee5ba25ed8425e34dd961efdaed1586e7447cfd320dddf32ee188bead185a0818d09e91a4a691876afc249";
-  sha512.source = "e68e4a44ea863a6bcac61e355425339324a4a438a6661270c21558e429c877403db4dbd77636b26e79206bfc137e87c7f31c52782333e443ec1ee5dd9835f2c2";
+  sha512.run = "f2c7a19dc327230f46320c695eaf40e9ff17088a709e38ec7f8de23f5c0cbeb18f606bd41625a1229734dacc80edba9d052c21620f7cdf213f60e915b6128010";
+  sha512.doc = "9b0e747f90b75f372f04eddfb1c17dc73c3ef6a95d576077790b23bb496cee07afd3af5d1a53581872255c4e71b933949beae909591d0e1c407d9efc3f1d227d";
+  sha512.source = "f44f98be464973ef3596d6e0d77e508280b597e4010b2c94620aad0ff950c8328ba1d4bbcf22e0f71f091c311d9b99dd979c73c182debeedd90ab14bea9e1d7a";
   hasRunfiles = true;
   version = "1.3";
 };
 "technics" = {
   stripPrefix = 0;
-  sha512.run = "7df4b987c271ab67d34f8ac88e5ad91ee289d1fbe10dcb2ff56ad04c44492562f264eea5c815457964870cac169529fffdb4d78ae5afca239331a811be366017";
-  sha512.doc = "db719c659d2d248b6d09a15c232be6a834c754e0b2755de7a2bc99e9c5ddc7f3e2384a3947801679758c00eebd59ed7d801e1f38a0db4d54f1db675d2c191a27";
+  sha512.run = "8eb9eab801bd83fbf0d9365c36a202f909cbcd49b8da6887f3e26aa3fcd047b8085e0b405f0f5fa7f2b5ea0ef21a9956114ecaa7934e1b46b1abe55583d5e759";
+  sha512.doc = "2158bee41c25a1fbbf8c963e3364cf7d08e160aa895f54c77ceeaab7da6963232af61b4c7349d1be7f0aa84097bc7c00cac7748bdb8ba523a899b9e7cf6ed11d";
   hasRunfiles = true;
   version = "1.0";
 };
 "technion-thesis-template" = {
   stripPrefix = 0;
-  sha512.run = "31fc90b345545eaebb8818aebbe4a2c92dbb4a51dc8745eaf8e269ac54b955013b74051ea23cf812747997a0090907a6cb6e039879b2e0c5464ff24fa4786d0d";
-  sha512.doc = "694531d650568684c9afff4b190e4648d9503d85d7614a4dbd250931423bfa32415c57f3ce2dc68150dfa4b7fe102fc281e1e29e4959e141a63089383c8a2392";
+  sha512.run = "5e9c6bd47744601258bef52102acdfc744e0dd1219a7236a5710d6dd98ba5ebf1061bd6070c5d02707a7c8b895e362db51f48ee081126bcd9a99e523c6b9e5c0";
+  sha512.doc = "bcc290eae933b00cb32af0da6d31c6190f3b38d02a599fec7f8cbfcdb6f8737380d4c440911b08de5d768d9925526a63521c97c20a8c075ce8e9500dd3a62c24";
   hasRunfiles = true;
   version = "1.0";
 };
 "ted" = {
   stripPrefix = 0;
-  sha512.run = "c8e2eb0ba79726aef057650367d3c1adddc1dfe59bd2e9958f923a7f2695878b38aacba6c0e39ef86584cd0abdefb3321063a87fa5f8b6f8feef4d056b1f940d";
-  sha512.doc = "4c80f58d75d7abe4d732a22c4adb426d2461997feb38f47b7905685b7b0f92daa1bb03982d6af946b97a390deb7e39eaceb58aeff27a718d9041c90152565fa8";
-  sha512.source = "55029484afb41a808e8a672cd43365ec2a3c7af0d1a9e3025a26fc467649fb463371718fedd2d14d3bfa2e7f8c1ce470564375efd71ac0215f092d751ecb5dfb";
+  sha512.run = "42b0fcded19e05d5cf316fdfc0f1f6474816b656a57bfb5214a76f47e644bc16a42bfa95a21b80251723e2c30651a284d873d898e84c277922120a9169d274df";
+  sha512.doc = "a36387e2520d7afadeb270f7393ef45ac1b26673840d541a50ecf864304d529b24be7d107070c96cfa123801284ffc53c9daa60753640fcd2ad6367f88887069";
+  sha512.source = "b134ab90045781a2a686206d4de20ebf63ffd678d47d81815365f67eecce60984d7e17e3b9098e42f06876b1f711609bfa4133efb4b74705f25ba0e4323984bf";
   hasRunfiles = true;
   version = "1.06";
 };
 "templates-fenn" = {
   stripPrefix = 0;
-  sha512.run = "24d40fcd1217a74da85df92ae8c27fda4ec29405992e7a13f66f9d8cbf999557c52bd010acfd613a82592ac28fefc0a517453887affdc311e35f3ca3f413f7f8";
-  sha512.doc = "da8310f1be225c9603c807f4d6263cc6de4dc79e05e00cb2e146bed3f57b0570214f0ce72bbe84e2d9d46d4d21d8576549eb81022a9289f64c2e4450ff37c099";
+  sha512.run = "cc61496f15f9c4060c8d42de23e3bf6f6d2be02d3a8b4fb761f2fda4a9c3565d74bf1f107dd9371e096bef79ddbdef56d2e696cd84cb4fe39a41986b8ffbbc78";
+  sha512.doc = "2a96b0963b2d09edd3f6a6866ae298001e6ccd4e96b98a9002df6e6718284a786b63761441c287ddd63dd5eba636fcb8ce9769d498962ffe2565e771902755e1";
 };
 "templates-sommer" = {
   stripPrefix = 0;
-  sha512.run = "a40dc96748bbe50e6046cd00eaf67dc34f47b2a2de39d8f3a5045f1ad899170e9232363e9d8e90c2e0cf2096e29effb9aa510ef6f4ca631a7ef145b56bc09826";
-  sha512.doc = "b9e2fa6a1ad4b8988a02f063a58b389c049b5bf9b2b32f1900d429e67ffd88ea45237f43583ce18f05aca132acd68974b7e1e5404d378816c93c24b9209a554b";
+  sha512.run = "55b47c4718786fd4910d099878d5808288e83714567adbdbceea32a76e92f7e36c3f850d8597b297445a6ff428d1d0dbaf9209a387485eca0fb1a85f4909ed59";
+  sha512.doc = "543b5cce4842dc6b084d90f9bf4e3c19c18a690ebe85379d9d93a5998fed06272bcac4cb3ae44f965614962827b9926fec3439322e38a720c134133a88cd94f0";
 };
 "templatetools" = {
   stripPrefix = 0;
-  sha512.run = "399140e2e225c974e8a2f5f4169facccffead1dff484652cf1de6e0b481526cc502d2d7a36b4d1f8ff565d866346811825cff2d8060ac5c8815dc60f6b30fdfc";
-  sha512.doc = "097e8fd5d08c84f1d8e683232b8c083f02c9ba66f5baab1807c70829690e8ce05be43bf5c723b5b5419ca208308ee2f37fa01e23a17bf2414d524ed42746c2c7";
-  sha512.source = "b99fa77794b3709f0dd3a2c7f39079865554f3af01cc54af12523ac91a63e38ea383f23fa231e2e8a9288212e722d7bd50a43198ce18da601339eaea3abb0071";
+  sha512.run = "16abbf8e5c8972961d112cba712f927be24fca191467677bf27d76ba30c2eba8cd237842b003b9cf45247a122294d517b14a4bf5b4938eedaf3055ffdd22c05a";
+  sha512.doc = "54d696f510cc75384703f750a8c532eb2a0d46e02821fd9126daac52ed1b39859882d475758cc1ff7fd6257211e49ee0fc5c06dbb2e13e83d4584523064cf19f";
+  sha512.source = "685e379f557b683adcf198fb0a6f962b1da431e004470d5fc53c8815f4e7048e73d6851ae1792d78fa322f8efc5375d40c8f3c79404a8feb4a229df2fadf154f";
   hasRunfiles = true;
 };
 "tempora" = {
   stripPrefix = 0;
-  sha512.run = "75e234971017b2e8158fbc30eecbe3e5c796248d0625f4b8495c6f851cbc75cf5f9c86da43a0481e0ab8c918e294d6a5f13e0a940f437e3be4e29a82eabd023f";
-  sha512.doc = "fa7b419fb6ed7ce4f6ac4b75e588075da284d48e32b7d3526f4aee92334c08c58263852e8592bfaa92aa176aec9633f94de52e0581b48ed2b063585f0b24c663";
+  sha512.run = "0e1cc1a13f7937e5497f454b15ca66e0975b784b80223a902bf12a9587abdfdb56116b100e04306b1999e053b7c3716b32e1183dd7e6624162611f3b70388df6";
+  sha512.doc = "18259e25b2c9f2a9cfbce9a9303d8827af069bbe2a7ade5c14518ce2c19dc973a86fadaa99b2abc8bc65644ee5371c745abba03cca76a685382b7d8b6d20bc6e";
   hasRunfiles = true;
   version = "1.05";
 };
 "tengwarscript" = {
   stripPrefix = 0;
-  sha512.run = "364873e692abbc5cc85c1eb8b998f5a307215f1817fedc54776a9aca8a65f605641a8f72e0779c1d4cdb4621a5ab23e41b0b3de4b1cf0f49b2c5808486f9b54c";
-  sha512.doc = "031cc72cfbb6ed967aa5fcd2c3d8d056f2030815266b09f618e6254c8b7877139f2e6120c5ef5a32f21d6dff167c2ae9dded76d3da9fd1f8e0cf02f4388e0eee";
-  sha512.source = "ed1de75913c023457e99d2f5b7a6b905643c23fcd82b21bfc64dd2852121baa6f3c7aa7546a2c291cd7a68ffe33e586250124ceef01f1b6c7b4056b011a5b238";
+  sha512.run = "c6a29d928b1f25dc4b8893f9fc803f3a5deef9e8e9aa4803153fbae5cdd7170eea819eafba8a165203e48c8b2f443c55ce682df9f7e968ab621f2cf7eb082108";
+  sha512.doc = "35825a4c1cac91c088daea643e8a8901f0c3ea15c44e8a9328883c22c1fddab95fb32a65372af3979698f81e68d77b34764a1c5748460a28396480075cb594d1";
+  sha512.source = "4afbd079f20f9989a817acf49b46409bfab6ba0b328249eedf428a5a11e127fedc6c763c87db08b8b7c453562400878ea0c54d6d66c6bb7d407aa498a78dda38";
   hasRunfiles = true;
   version = "1.3.1";
 };
+"tensind" = {
+  stripPrefix = 0;
+  sha512.run = "fc20b6f6b705218b82b5788582d8b017be783e42c87b3f35e7aa99a8215ab0168b7da899c73ef1ebc282bedd5c715e69ed9e1c19b94d9b6369ba8e9986b5c5d6";
+  sha512.doc = "12e443e2ffe876732759ddf91c8948e9cfcebc3c1c96949c51f090e15dadfbcaf801e488c8d043855b576404207612ae91d982279cf0b29bd73d4a5d1528bb6c";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "tensor" = {
   stripPrefix = 0;
-  sha512.run = "267fcd783e7d19ecc950285a83d818b5e94fdc54272b8f9bf7009aa5f4e8c34eaf2e8574509705d2a4521b7fd48a3cbb655bfa2a063f98cf6239c29b0351168a";
-  sha512.doc = "1118c86d3c018c49ddb142fdeff1e5c6c7e1fe433ec825aa1ff60681bbb44ac5383f6062de553c46fc6811bbe2e507ee8bce7501150387e2749878d736e1b6ca";
-  sha512.source = "fc0c7adf408273a937c7432b091a894048568625066bf86a3241246f2b84f527668af7013ae480c9cb7f51661e273df6d3715679a8ae1b1c89e3ee68708aadcd";
+  sha512.run = "8f048f9c72eb693bf9e75e6ebda2901eb6b6add654b1f89651d54eb9416559c2455436f5e825160bfce220c790e00aa3a6f95a4557b3fdc880bade768dd36c05";
+  sha512.doc = "d9ec6b7b49d028a5a405f16c8cdb54873d92d3a0968b7df38aad44da607c8ea8cdcac45cce63b0bd2258a2a89787e2388b2375189636b93bf643055c0b9f86fd";
+  sha512.source = "fb246320405988579412cb8afc3f0f0951bd6ca09974c3f38c83979ff195e16e43c1852bca5097e8e4b07039230d3c019117234d4bb77eb75e70bedbc796ab3a";
   hasRunfiles = true;
   version = "2.1";
 };
 "termcal" = {
   stripPrefix = 0;
-  sha512.run = "f29057cbe0cd157addcbc74cdc69ac4a9963ed1afb272047d4e61b9bff081efc487e323842103c392b0d652a97d25e184ab8cdc86665a82df92ca3d56f526001";
-  sha512.doc = "581450891e4dd6a437371b7f7194e7777f11cb068e8dcb73d7aef8a8fcab33f3aaebd9c14f670bf25a96b771e28d660457a23cd3b6d20db5a264818f925f2991";
-  sha512.source = "e2e5ee5e68871022793d312bed33dd7e61063ad3f40fd0be449a5631b51f8309e5231595c13b6fb8ea4b656961d3785d56da40f3bce21315eb50378cfbeb4566";
+  sha512.run = "f28ee31f06cf2b3119df8010aa6a8312d5365452e19c3a278db7bee3bdeafe9ae0d3b07decdf1a104d8eb763abc5e02ff0e6c7030dce924596ac89d8e9508e13";
+  sha512.doc = "44f54dedd59afad78eea60ccfd43805dca1a4dc87a3d827e0fda26db15505dec18d91cf0629ec937dcf3eb14d1244f80559a0fa1ef09b30288bf687099fcec1f";
+  sha512.source = "0dd39a06088a0bd2bbcc3a9d6715816368deb07c55c85897f7c49d23553ff941f5f68d7b0ebf8fc54c4fd4d2bb8a510cec3ac9d9b509f27aeee29696c75a7ef2";
   hasRunfiles = true;
   version = "1.8";
 };
 "termcal-de" = {
   stripPrefix = 0;
-  sha512.run = "740632c1f203fc0e5e04b1a2e012b981548c4ec662a42a4fd42256e440fd3998d86a9308cdc4fbda237793098ecea938c95cbb2b8b7767450eec630b4875914c";
-  sha512.doc = "530e9dc48e6d06c4345413d23f4795b0ad8065b28845cd53497b5721e29a6dd742c5037c485a9945594c372abb89758829ce4c981984a64e8e8316163c8fcd7e";
-  sha512.source = "32045f41386c60667749b9d239bf0f7ecbbe97249047d27fe05bda79458b235bf0102728888806475c11f8087982ef033c8076a91ff68771fc238afe1a2de1f6";
+  sha512.run = "9d4d0be3e26dc69fa3986fbe41099330e97cdd4d3aa0b12a180657577ef839878aea9e546a5651cdd0ea45e7af3968c5b83b509ad5bb3ef210d42af5c00fd91b";
+  sha512.doc = "48f0ec01526f75e9e2b8369f8b30bbd8e4f093cc91fd5b485a36e225de35fa0afc750508b6533f2ec82ef123805788e40e98d5459dc85a73bef675162e682fa7";
+  sha512.source = "51d257533f7897d6b605a2ac26f323e3c241cb6920b329387f1be3bfc8444e98570f2dc4f86e78e81f5838204a90a7f79074989737005f035e076c41be74f4a3";
   hasRunfiles = true;
   version = "2.0";
 };
 "termlist" = {
   stripPrefix = 0;
-  sha512.run = "ea51a316860811527c62231dbd902155fc292eb8c0c42c5b3d5234519defbdcf250c32b4d3f996f2378eb2277ba828e6e6495b605c8f5ec0f3cc812a1143393f";
-  sha512.doc = "98980b2d20d2ebee5dad51cf0cef00d1ed1ccbca553627499c4246f30dcd5293a855880fd8f90684ab403fa87dae87dcabefc7d33a7e08f5c7e6857192fc5c3a";
-  sha512.source = "ed63e68899dd1c0fa064d95f6c7fdc6a15519e0c608018252a9778717b706d9706cf280935b20e94be75feb28c9e86a4514452d74874cded3de85f22ac26cb0b";
+  sha512.run = "799d5fbfb9b055e8674a244ecaac65c2f0412a4c173e6608fff946544142d851d8dbba02505fa8be21bc37b15acc2ba99a6f0dc77a13dd241fedea1c1b38dec9";
+  sha512.doc = "14add37c32500f246eea2a3219b58a232c9a8f41cf3cf5a0d1d2aaf4cba4d700c1ba5379b037fe10cfc06385ff0a7d0925b46beeef15dff2502142e56f37e597";
+  sha512.source = "2d6a14828ca29c08d0b08f33749deaafef88ec73bdd72450468b5332e95c83ccc5d29d0a154a6cc49a04ca0a9e5a17d0f28f25139d928b87cb14a2059d51d848";
   hasRunfiles = true;
   version = "1.1";
 };
 "termmenu" = {
   stripPrefix = 0;
-  sha512.run = "1c31e2831c535b6be4ba8675c709d4b25187efd7aeafae0cb7eae7309654d401e7c94be2b9472ab06314f6ba59dc39e300ecd117d058073d8c1375907b081c32";
-  sha512.doc = "d073848edcf16a653cba92f9211a06af22dbe0a62929b824ee0ed811e363fdd795a8051666b4ae1b2ceb36f4ae62426199fdcd6dbf416f606f3094dd05a1ff04";
-  sha512.source = "bc7e838d7a225cea41a5769e8cc94a64250015d520505a6e469182185517638f13dbc94a6b0d8d23e79e79123f0a4c930844649a2a7db5ff51fa85acf9cc1797";
+  sha512.run = "5c3d4ac4a2bab5e18453b9de0b372b364981444df3550c3a195a8fee841a6d76e73835096ff1b71a37f5e5acf0fd2777dbc8846be9345f99b004adb560ced517";
+  sha512.doc = "029f4ae3b57e0b226883e66030db2d3c41cffc0a4dbd4f8b3662562fd566d8a09b7aa0c83d98f7fb0cdfbd1226c5dde9c93211565292f037e5b5554e9a5d02b4";
+  sha512.source = "56c1396e90a4c1db5dd28ae96c6f3ebe0310c163d7fdb2cb4e3ade78b522b349fba0bd43556165c282bedcab167241033b065feaac4c4a5e3dc2d8a8a55dca61";
   hasRunfiles = true;
 };
 "testhyphens" = {
   stripPrefix = 0;
-  sha512.run = "3c2e1b5c860be5e1e99ef0a6641c5d698342257fb18e4cc64f6ff089ce6b2f627b658063d1db3926e79acee62d9b2bb9327570b3deaf575b425a8be6f296c073";
-  sha512.doc = "85d506e15b78ddaa0dc74177caef04684cf8d21bb9c64826b5629d178eb4f72910f6d15d1740c41ee6b4df32c3e840be59c1211681dde5f5c1c7b2fc90a9595c";
-  sha512.source = "9f95e744ad3c9ed200ed0f401d9a76b5e63b9294afa2e281b2c0e0619302d082f51be8bbc41a12248b148062a56afc71433ff5d7f2e5278356e9c403616834af";
+  sha512.run = "c16a9299721c571ce9bdc91e4ed4cc54c973b43fed5189d2f377b2a9143d94d3eeba6bd6b728e3df92a5436b3e2c5e07a21d4a6af0210bf87784d40d96caa42c";
+  sha512.doc = "44cc1d9afa4e12ef2dc1f7be2d7718fa33b80e5ee16c7396053690bfea6246f444b50cb044d314ec677436a3559ff1ba9fa227acb446db37bacaa2829c309b2b";
+  sha512.source = "2f84528ee4ca5d8434b0042f7b24908ff97c45f27580a5b59bfe226b195c295d4fa546fe240acb981db6deba970e2b020d38c00e6bbf5a0cc1b3caf2b3cbd506";
   hasRunfiles = true;
   version = "0.7";
 };
 "testidx" = {
   stripPrefix = 0;
-  sha512.run = "161ca87c3d01c270b2d7862c9a20ca8356f1c57147ebc532a9904389ff6d32932d8eb86598d9221fd986d2cc2a55f7ff6d5bd15806e82206ea110073e76500c8";
-  sha512.doc = "6e2089df5001c16695f9f104a0c6a21e7e18ea511cf47e39c63f75070525fa90a990047c5164f5e0965b29a3cc1889c63032d54adba498ea01a6ed83a788a2fa";
-  sha512.source = "8c2bc960da06ae8f327009172a04909e29d91977ab9f76b2920f820625f0e96773f27fbbce837d9fa3f28a42e2d1f7cae0b80cc18853c6215242a828747e8c89";
+  sha512.run = "003179c0efebe0bb84cf1ddc80db6d905af6cbbbf59753b4102e5f7a760b5e7c90057976e2d0aac138b001e2a211da8758f8e2285866ac34c8287e1d3b82d1e4";
+  sha512.doc = "deab83c1eb6f77b379b38bc81e680e18b9fb02a4b147363e05646849af1fe402249c50a8eb41e6ecf60fb1cc505cd82593ae90c356cd4bf43fa5685cf5162f44";
+  sha512.source = "de09a92aefaff5ad23898b7b5c4ef447280c3664eb468c433161cc82bb040f2c3fb265ec976f4d985914804a96422748b2dc20863805e066cfefb976110a1a6b";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "tetex" = {
-  sha512.run = "2919abd5bf5ce2af2f7ee36f8eaf6846809e746c2adfa56f5318ca9be735e67c7a9561d4455176d9e69d74e1666be2d5cf3f6d32a8223c4792879cf3825bf2c9";
-  sha512.doc = "cd39ffffea5120e3cda02e05f8b9f0767c7f4f85d427a98406b81b0da21a996160bc77b8081ede2bf604f4e9b92b86aef402f5ef49b6b3953903a253107f40d4";
+  sha512.run = "9459cfb644aca74ed5666350a94c1412a485c4099b524fa4708c18951abd0d6d4bd24a8a57b8a05010a7f0ff80565a5c17ba10bd94f722a694ca199827cf6fc9";
+  sha512.doc = "9e8b9386b27ded2c7c99cb036f5841df79aaaba44f9fb7a2c4623b7f733fef1278a4c347b7a2e01735c1eea66f21db0b60496eba1a9c1598d36e454d013be045";
   hasRunfiles = true;
   version = "3.0";
 };
 "tetragonos" = {
   stripPrefix = 0;
-  sha512.run = "77fb18a7d948917e11686eb8da84cb67cd3111f17b58036750cd3526b0a9ee4a0fc787ae19ebf8dd27c6859a8e2c7e19e255a583f1beed9fc9288cbdf6b589f6";
-  sha512.doc = "0e2421b35ecab54814e7c80d089d4cebcbe8049b1ee89285193c9d8030e4d83812536e02ab70c9c41999082544798b7f7217687e2fa3165de8444bf5091e4c12";
+  sha512.run = "dbb37eec17d41633d951b3202289289bffd9bf9a8f509cfbb7f98baab9b7e684e7d7fbfb5f50ce41251d09d9f0ea81fd9e68fa91984e788e5e43f8e398463fff";
+  sha512.doc = "f55cba055574e78934b8766f02de08f417f625042627c2c1e64cb7fe39ecb1e3553d5b862afe521f4d65805713c856ab000e3db3b7fc906266886f2ebec490a6";
   hasRunfiles = true;
   version = "1";
 };
 "teubner" = {
   stripPrefix = 0;
-  sha512.run = "0e54c15878dca0d3637f7fd8d33cdcc0badd7bf4ddf2b7a7d6d93d63c21033a34d28db850facf47e6a78e3d42806cac90fef699db6439a9356311a236150a880";
-  sha512.doc = "3253ebcea092b12c4c608ad28dd1f1610545d56714f4245b2a9401710374026ffdcb9922c53b2be18564bf0dc0588c616630ffe23fb7c50b9eb09d8d797adf1b";
-  sha512.source = "28534eddff0e94c7296b6bada763ee7addf3a2edcd4218dc9735af328ef572109c40cc7c1bbc3174d9ce884d230405f89fcb1df8df0706e22d288d6389981375";
+  sha512.run = "196c611d9a1f8231541a345a71bb45279715a748a8ef624865c076a8f346f8ac9a7be636feed01130d98445f8fa032ea8f22ff4f4194ae45efa0073231d5cc41";
+  sha512.doc = "3714dd9003e03f0758031dce6dbd5a3840b2d9fee53382fdc66e99d4baaba153694c88fa5afc8e2ffd4af64e210a7e65e2a663baaeed7d96c0800a3fb08cc983";
+  sha512.source = "667dc5669ddda08eb3f100a501d3d5f3822c8bf1f58d51356fbd51bba3a98b53c47df32243e5733e8da4d136074b8e4c29caed91cb6c5d349079ed1387f3de82";
   hasRunfiles = true;
   version = "4.8";
 };
@@ -25764,310 +26434,322 @@ tl: { # no indentation
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
-  sha512.run = "e93cb703b1dd10686dff459b507e15d178f42ef039593d072513b5fbb05bd5df94f2cfb0a0f2f489b84877048d8abe12ef7918c0b4cad7993cb5d67825cf1017";
-  sha512.doc = "0d3426c18101a8f54725ad9b86602f6570035bcd985b2a3ac1b43bccff3f41c4f59a5504ee9e00bda89cbfcf5caf67ae093cd6577e851ee8026f6070ec28f45b";
+  sha512.run = "26b0f40fa859af1c76df5adae0d249255cf39c867051eabd703d1d4f56e37fa5c7a7506769b99470c1dd29f716926bbbffa6d9ce888b95f7c17b0765f1716d42";
+  sha512.doc = "a911ebce516a15f736e210d67c42f5237243c5509d74d8725ab0aa36bcc1c4898a25ce3519a756e3b8b654c68e10887698da3c5bc466d36b27ce2bffae876eb0";
   version = "3.14159265";
 };
 "tex-ewd" = {
   stripPrefix = 0;
-  sha512.run = "d738b2a8913ca87151b90ca547dd4a35e0ab10f51a35d158e9d2e1a299fa72c3c6633bf3d2a3262ae936596b81ace4a70380abd9613485cb30d6a714bc2e2d15";
-  sha512.doc = "d89a1b3ba7c4c062c9281d13e6e41cc7b3b9f3435eed506e25bfd9642b1e73bfe999440d5fbcb47955d3d797ed1ec72b28f67267a7e6fe0ac5f49ced3099b277";
+  sha512.run = "9850acafe002f1b6b147d00aee55e4cd9c1813edbea0f570282119fd8b2f134d3a48c113cc9957c69905c4e88a06097c45829026342d7ec88838870eedd7fc44";
+  sha512.doc = "05f6414dd2309401d1800e2b053d7907703e144f829c2e7623a7c98c1313da50c0a659c25fa0d9a0fcb8b50891c575b47d8fb8a90b925e105ed9a6f8c45b8667";
   hasRunfiles = true;
 };
 "tex-font-errors-cheatsheet" = {
   stripPrefix = 0;
-  sha512.run = "6d5d54f0120cf9a9ab0655cb1715001624c3cae16c3840cc2cde2237f0c53a874f393ef63830b28f4cfa55117b566ecae6ff4415ccc82f95d89dbc46eb91a32c";
-  sha512.doc = "19b0e37025058ea8cf555506575c5f9d96dd6cb0592aea8e8a35644c2a1f53cc97d5d38fabe02cffde815fa437b33b49315b4f5822a44c45b59d2c6c8acd93c2";
+  sha512.run = "403b4faae7b16b1eea5a4d2a7d77bcd8a6e7a7b5be54299b79635280be8f82f59d281380754a0bd1b9e53ff4fb534fb3bca0cf8bbe1cf0ee88ee4d925fba103d";
+  sha512.doc = "adc72626fcb4c5a9285ad4a7cfd1c6b984f1aa26c7732f35cdc241f7b00d623f6b646e878317f30d10b9f47f4eee33e923538be58f3c15bee668f4fe652f0170";
   version = "0.1";
 };
 "tex-gyre" = {
   stripPrefix = 0;
-  sha512.run = "95000cd55940e8f2582925400eb1fb9ed8a59c71ed80a00b6d33e173c707fb9ff7597d451f3d1865e0a74084b07937df391af35d364cb2eab1135b9879cd45cb";
-  sha512.doc = "fb04ddc1a6cd0318261cb8ab9a1636ec9bb031d16261aaa69c4a3a75076333806b243e183bdaaf25321dec445e7d2c08052b77d939166d8430ad0689ecc62d16";
-  sha512.source = "8f6bf4d10a59e35a2f5d7fcb05a4806c24deb1fff295324fe3665d92d73869e97a86fec7958212cf968f2611c64a65329387a30c77ad968af5ffe0b1aabcc5fd";
+  sha512.run = "7e8ab25cd563e2be7f333f5f4232a7d64e9cd8ef2b5b898ad5e33af96d455f3bb0214184650dde76770cb95f3bfc6b10f35286e0263e52a6f43affa289920327";
+  sha512.doc = "ebfea3bfa958175078b78ee0f2ea36a4de289b967f8fc900268dce7b3d356d2faae9d9a1123c48a06e3ec78b05863626fa97cb3e249d1b87c036fe00c194ceec";
+  sha512.source = "68a06261fed419e106e8f6958a38bb0f5b78c3ee10b8b68365b3bf9925360cf726c4715954590f0b0b86faadfe636f50bce0ebf4b3b00162ffb4df54a2adc803";
   hasRunfiles = true;
   version = "2.501";
 };
 "tex-gyre-math" = {
   stripPrefix = 0;
-  sha512.run = "5dcdc0f54a15e58e1d96c06b5f1d21f1c965acf0adf75d77251485cdaddf627a468ccd4dbf6ef3d7e7fafcf14f5934d89091910e69019ff121cb65705ee7ed3d";
-  sha512.doc = "de482203ba164b466cf14aebc63e35866897e28d503469d1dc485565b49c519336fbd2e0a518a341c1acb0024f776b678303ecae3198b87b704b0f117fd962e3";
-  sha512.source = "495c16c9924327895a122840872bef55e13178ef14506083922f12f07582b6ca171880389ae9cd367528cd9f2d6e0fe580c893b9c288ee70913cdfac318468b1";
+  sha512.run = "a50a9eaa30cfd7754ae702a3bd6fced2d07fac858215b913945665940c71a0aafd2b59a0d0baa0fb9d5090773ef69a86864cc11126a5e30adc3d0e94cdbd2594";
+  sha512.doc = "cd346226dc36bb4fb5324a43dfab7790cd80ec6bba992849dfcca74ea6fe8d85fe7e0ac66408a41ac1ef644e6b32c9b06d337c4f394fbfd8fba4153fbc1abfe9";
+  sha512.source = "3c58821e5307257578ec149317cb621331aafa00bfa465eeb055f1f93691ce57a489a32a7eea068b12b70228433031de33c0ffe36b0e8e10b368e0ef5e33fe24";
   hasRunfiles = true;
 };
 "tex-ini-files" = {
   stripPrefix = 0;
-  sha512.run = "e14801a4b274049097ddccc7f25b24e31d11b4d17c894027ff5fd9b680b2d8b8c153ab4c617e59ac581a3e2836da72b63b6ef14d7a0452fd25bcc5718b1c98cc";
-  sha512.doc = "2cf0815a1db1b2d531b0cb897929ea8ea75dc443430719657152beb2ddebc1916bc4045ee1cbe268773c766d0c0d8f1ed4f9bbadc14e8254178a7a76cd0e7525";
+  sha512.run = "c053ad3aaa49224f26999112b3f5f28eb6ba34cd130cb54ab5ce67971632d41a8470c361e4471f9d75831d230737a0197186b05c25a9b401286bb4d5525b12a2";
+  sha512.doc = "c44315e35793a1e77b621af53061c25605fbc5ffce2f07fe52bc5e58f4db0e9252cdb1935c14d8dc632bf1b84c18f3ec18506c5415831ad230c7a314f4f7b670";
   hasRunfiles = true;
 };
 "tex-label" = {
   stripPrefix = 0;
-  sha512.run = "f21905ceacf5d038bf52d82a46fa83f6ec4ad62e508d97cf8487f47983d68a114e9d34ff2709a12f081e5fd12984af0f05aff6ba3292591d122c060ca172db76";
-  sha512.doc = "1ab97b181e9382a0f40ce94a392b069d5f207faf8f4b0e56307f5b02181df0892d7d01b31d3ba18ceba5f0c3ca588714148d4349b94ec959836442205b14130a";
-  sha512.source = "006272a6940209ec6c27c5de951c9772fea455c68515dae75b725e7687e61d6fa818d7a29850ddc5bcf5bab21d899c3d58007980e2665735a1e508fe980c45b1";
+  sha512.run = "513310d4dc5240d0b290d0acc941455ba64e069d19c223670d05a632033aba8de367d5dce6acf073af4df476876d3ee414dcf9f1f579738bf9bdfe6738c19d36";
+  sha512.doc = "bc705cf6812515923d60cf44b75830bd3ea78f078c9ef88ded3e94f060155e1fbf5dc1485cbaa8530e1f10b41b421e70bcec6c61066ee98b498aba7ea8799dc4";
+  sha512.source = "07c29de4e85fc21404dad1da3a01a5037b641526110fe5410899c60aeae6a92836de322895afc83824df60f431955a4da959c4d4c21cf17dc32929f445cc1ed8";
   hasRunfiles = true;
 };
 "tex-locale" = {
   stripPrefix = 0;
-  sha512.run = "fe601c14782a5e46c08eec42ead82e5e9760f0b140d30815b5846af9ee3b4e72fa9adcd32de010bd69be3e1fcd575754ec1ead5e83e7dd5c1d9115bd499f7862";
-  sha512.doc = "fabd2260bb5fe9bdeb8380d57e2892f98022ba7a197ae56ec451931f0587b48959e5cbf4bacee370eedfbfda0544ac1d5679a02de15df5675f85aa493cd22b30";
-  sha512.source = "be20db7ced672207ec44a7e7ba656ca07b4ada187fc387c46def0544ff2b0f1395ff1d179c75fb18e8960a693c7fa611e40f50cc5f58bc32a70b190467eb1e08";
+  sha512.run = "0e3aca622bb6fb49a06a3aea1d997414add9272dd39c10c3a1d80956dece59882993b24366a1126acab80f8a7c8328a30756f727210f829f5eb838ac0b9cb1a6";
+  sha512.doc = "d3898da3687603b1f1f3f2f5b203d01c985ab0c3e39eeb05dc7c855c14fad8b73649777e4a0b7844c242bc8946cab80b585987eda37a1c10e3ba75c6955fee23";
+  sha512.source = "b24a01b9845f79a86c12911e71ef179a4dd8f5a8284d067b760a8ac3cb906cbf2465ae3617e0196d9163348f3a865fea4e5869adac9921088b13d738803f87f4";
   hasRunfiles = true;
   version = "1.0";
 };
 "tex-overview" = {
   stripPrefix = 0;
-  sha512.run = "86a509e2a488324d8e465e3d60a4aa14138358583558a9b6ceb5b84cb6046656c19f0c06e2ef2ac4537a87c39d6471676ecb1e6be75819527b087168342e5320";
-  sha512.doc = "88a56c1ffdf50a2e1f8a3a97b9ae109ab73124475a369939f85ce04bff847b59b7be81e6dbf942a516c6035b6cb5ce3f952d982dc30c47af1ac9f49f15d63c15";
+  sha512.run = "1217aeba55d723dad2843509ad3adf205090298f2362ba4ce23d73ec581e439c344f055281a95f82bd8cec298c77da012cf892e60369562238bba7f8b8d258a1";
+  sha512.doc = "0cd9941afc0e50d3d936f5ba1f9d2c7f16244899982ff7eaa44bb019653b5e4e142edc1ee608ca1664636c77178dd8a02f4625a2216a019e770651a718f0a27b";
   version = "0.2";
 };
 "tex-ps" = {
   stripPrefix = 0;
-  sha512.run = "b810f42bf06fb92eacea23e5d29f9efb1feefce7d33ece253596ab29e8892b6630246380f5ae366efd2a5bf2f906715fb9ff6e77b49ac1636673f7d6fb3666d0";
-  sha512.doc = "2c4b19d791afffa03e7ca0dda2ab69e792e858d9532480c1ece0abd82eb9cee3a40dbd22b370a549d6212fd461263a5e8bc21d6a89506a447c52a437a6d04f71";
+  sha512.run = "cc616b501be7c0724646d5e0f326a5729df8f4cb0c4070f92bdd3b5b370e496efd6208b3ec8b2387713810b9764c75525689f434b7f482a83fb0b8e9b0383cb6";
+  sha512.doc = "2f82f63954c1407c2caa9c39a538ed1cffeabfde8ac0506906f0f28430d12e18d858040ee66f2326cad3fa758c23d1ed490b70c5d18eb68b699b7ddd0afd15d1";
   hasRunfiles = true;
 };
 "tex-refs" = {
   stripPrefix = 0;
-  sha512.run = "d47adfec47f3002be574a1efd0836aef6d6164f16643db16dd729c70c327ef553e487a3e2448b20ab618b8f899fd45998c6a4f824736f4d98f94ae77e76bc269";
-  sha512.doc = "9ce7ccacf64d8c51bdb5e8683cedf15357db21fd62c72c2e5e9f56e1a489e4c07eedc8888388e65dea2a0eee06028f9c4bdb2a0b1bbdeecfcff1e04c2964aa29";
+  sha512.run = "12ce34f2173ddb5be885b174a6be708fb47822cdd34e05ffcf6f17cb28ccfc32528206c9e73373a6f68a5f3987cb9e244c5093539f14db3a4eab0daf8ff7fbaf";
+  sha512.doc = "318f2872f308b2f22d96af2a553d9e13b60e1f6ffc1cbdf44e123fb2ca82423ff8bb7aba524f0e8570b8086ef85833cb11070d7848b3212b87ae0046405c1a5a";
   version = "0.4.8";
 };
 "tex-virtual-academy-pl" = {
   stripPrefix = 0;
-  sha512.run = "5778b8952522cce7680b351c4140b5a784d48dc8d3630daad73b6f6b6514a439dec75817f7d9e25bf383521984c8e87291fd6ae3431bdbe23bec2b5e591f2c94";
-  sha512.doc = "6985e54837c1a71232d50b58aff5704b850cdd5943bbebbc1fb1e594ed25245cde35733fbeb5a30db3e696d9ddcf379bcd16588bb9e0131b7aea2d3f3665cd42";
+  sha512.run = "b9358f50caf39d274c1684d4514fef0439e015588431883955f7aec63d35f7176ed61671f72cda7ae28125b2a977f25ae66b028b21017f106d8f78bbfc7df109";
+  sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
 };
 "tex4ebook" = {
-  sha512.run = "e3970563fff843703ef169c1377bd7221036c070fbd047e01db4436ef37eb05c106ee43092686b8164de64f3d49d159c9bcf18378d486a6a7f5c0e2489d77d31";
-  sha512.doc = "d8b58eb6afa06ada65e0cf8e92ad7307818721989262bdf6adac5b2afaa4e3a0c87744c1ba049d8d5e56e708276cc64270a357e4152b4894dc1fadcad17aba06";
+  sha512.run = "946317be3532db3e60b1fcf2c027f616c00526da55562ab3b682c01306277059edaf14138902d1e21eab53cfb9bf293c636598cffddb9f1980b287b2fba081d9";
+  sha512.doc = "586d3ce7642a0f06e358e0cb3d3dc577396a638d7e7c9f333a118716bf4dee8c18991d1736ac7169ba32c22b9aa10b887a8ae77ae5a4f40c800f2f1aca958abd";
   hasRunfiles = true;
-  version = "0.2b";
+  version = "0.2c";
 };
 "tex4ht" = {
-  sha512.run = "42135a68ccb4d0407afd7dbb93c9336450b8157e81f8c88a786695ed86df1a68e6c1e15f2ad29b5550f57ed2c9085cbf7ef7c40ea8719ab858cb72bf168b4d98";
-  sha512.doc = "734f10950486beb731fd43ce8f8d1af2a9e54fd9ef6afe9e7940c85ce31462e18a161b01eb407cf92ec06164fb04f0bd180c3b9a78695060fa3cc563ba3e1639";
+  sha512.run = "a5a8834a3effa629a93ae35a06d28201f472f32a3ac79c7c3e6df6f475a57a854a8186fe201ac8d0476b854f864276578d5709216db3dde8bedddd1a12a85e2f";
+  sha512.doc = "e6364e7f86cbed62bf887396c42ae9e25ddd027f928782a02b4dd3881123aa1869e16a7526662e4adb1fdd0aeca7de9990ab229b56ee38415c10cd6b2a696680";
   hasRunfiles = true;
 };
 "texapi" = {
   stripPrefix = 0;
-  sha512.run = "d3c9e991e2dda17f778fae71ec74420ef989375e01fae5199544338feb57b9e29c4dc02a75ef61844989d6d629101d892ee05a8cef41c4620f1f2b9689e83787";
-  sha512.doc = "d238b88bfc10688647475994837d49143f25c48c761941c147dab6ac998a5f5d8c3e7e5c82d1a7ef549f7c1cbd65a0d504c3d5b2dd6d4a83a07c940f979f9104";
+  sha512.run = "ca4622f53eab49612b80781bf58130d419a89791f507164e34dc8123772d041d50790f63018a87bbe3e8ebecdbe49925fccdc35f4d90f5d87312a36ce1ee482d";
+  sha512.doc = "2740b51e345092c14bf86a42d8b94a5595248851c606b6274369abab75b708bbd17a67a544b1b3a0bdae18f779e042a53bc2dc04edbfea912ed60078cedde16e";
   hasRunfiles = true;
   version = "1.04";
 };
 "texbytopic" = {
   stripPrefix = 0;
-  sha512.run = "17af30045a7c078120432fc44ed3d805d5c2aff9a96b2f08b3ba208e65242156448bac0a4020979ed8a75ff2c7b850172362217e406eac3dd7536602b6ab6eb6";
-  sha512.doc = "074242caf91df4219883a041103857ac35ecf4ea1dccc780cdb5641d8d2770049f4399d026ea32cc12e47563f52fc9bdafbda7a919a53db7db0f93f07989d035";
+  sha512.run = "d6d7373a50b85b4dcf30f9d6cd1f3ec3a4cbbe72f53158387b99ab5cae5372d1c7a7954d03a0ee06b9af6df9784cd9a06f73658a6286a737674f5046883a9ab6";
+  sha512.doc = "29b3ea490b6c67a4c1d6dd2b744978536e3b847beda3a901873db7723c7c21ae4063b800d30d2d009e77a0e6fb199a3fb0d16d1f7f8d9a09722cfd7702c73c67";
 };
 "texcount" = {
-  sha512.run = "f833ff147e3d5ced498461cbda52fb0b05c2fa0f9a95e5c42fdd228fd8cbda0b10687ff645e4fd3394c27d453abc663af0abcc55e3b740a962cc45ccede44967";
-  sha512.doc = "ff842c4d37b8e1ee59525866102a74fc7f780ffebdb59842cd822feed1fdbd16ba45157e48f2833e045759bd32e3fd178359f1184e1b9345d6b19157dbf0ad45";
+  sha512.run = "82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f";
+  sha512.doc = "5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94";
   hasRunfiles = true;
   version = "3.1.1";
 };
 "texdate" = {
   stripPrefix = 0;
-  sha512.run = "97576682b766a0540a412d4a01efaad36c1d79b1829b5b50648cba91477a109bb46ef1638b284151804e107858c772d06065ed66963893f054abb61274902a85";
-  sha512.doc = "23b09ed4cd6881f984200feeaa5a48c425424bccef739eb0a572881946b1914df082a9bc73c2f232e8cdf4ab15bff6dbbc7a376fe246989eb628e60b1dee4d7e";
-  sha512.source = "ead9b7b1a141fd48dfd62ec6fbef41cb5008713a42b4ad1f55cb0f3f9de34d96c361004d11fc282e3785c547c3ec7d7241c258ee61532702b90db0224af0b1a7";
+  sha512.run = "c6f34d5ab0c54f799669c4c44e8c6e00381796ca76b9d2e8352a749effe65b9ffd6ebd139998ab9267d1e54da6471f5f38cc6931f7ff046882261cd5e5440bc7";
+  sha512.doc = "2338dd99b32a1b2e04326e888b718f595a26848bbef17206f92a0a0f26556edddc3e0a06327d86e72fcb3e55270bcdff846cab3bfc37cbd61115b601164fc10e";
+  sha512.source = "30a5c6401d66e7fc2cf0300341c7007881945fdfb267ce4c1f9930f6cb84d04d7895df613215be27da15e307baff361cba6bd4b530ac78f352b74aa81bb94356";
   hasRunfiles = true;
   version = "2.0";
 };
 "texdef" = {
-  sha512.run = "2f30d8375dbfa150901c8c1c392e444cf2ab5c42b98602b67ffd8267507ad8a1b5e4a811d7b6dae2a28416b17cb289268e91d53a9fd613be8ea37b240b0656ac";
-  sha512.doc = "53f4932f85d39fe17ed098450019ceac132df0247723788670d203283f0c640a76ebd86967f0bf9794c9b6fcd899762f10aae099077ed82a79009e97c9381b4e";
-  sha512.source = "26ee8402681131f5291db0b3a04bb592ffe940e22df4a67d2e2ea479debdb80bae49067f5c3ea1ce3975ae3986a72edf171cd68b345c4efd86d70230461d8ba7";
+  sha512.run = "7c5defeb9cf9d5fbe92f8433265543e6d7024e9f7fdc768582ec51a5880745c54cf8576f1b7455e32d51429e2faf122c0775ead117be97510f4b2d8123b04d71";
+  sha512.doc = "a4727d57bb5b56106a9baf4aabbabd16cc8a8ac08358c28263abe9c40b76a6d692d0e819c23c7b8e946e97fd3f7574a498a6f43207c04e7544a0383b3681f54e";
+  sha512.source = "4b57478b06d4cd67ae6b8d2afb059eb52e03e31c4c4066108d471134865a64f3eb3dc99f8bc4330625eaa8e7c660f445365c6bbe510f36d5770b406df99d6c8c";
   hasRunfiles = true;
   version = "1.8a";
 };
 "texdiff" = {
-  sha512.run = "2e5bc09c33a372b070d1e94355c76f803e2cb3f8c801fed5efdbb2990d8880def13dc842210c4d38cd866928e03d499baf4d304567313b4f1f82d12d48768d0a";
-  sha512.doc = "bfa104979d94d7cf7353fb75ac2b537a7a6b45762f29c8348c94d17c881289d9c8f45d04a53dd7263046cd7f6d38a8d3f90ab4c7f1a75233a3fa95bdb36d2128";
+  sha512.run = "26fa84b3090d641efb186947ce4d1d89c30a2c224cfc8fa759da3ba7ec9cc113c0ed4afc1c3d0fa5f9d0a88af4f9b3001d57651df6b5be6e0234fb78ec4f252a";
+  sha512.doc = "d458fa8db6433b4c7fbd23a16f9be53c2c822e396e7f50844cfa6acdd2a08acf8efdd0bd946c8fdc09ca8aa28d1eb25708d3719184634abced92ea5c94d9a948";
   hasRunfiles = true;
   version = "0.4";
 };
 "texdirflatten" = {
-  sha512.run = "9764553a672d37e345c0eaac39c84479e46350f39f995e301cee7fe7396c4dcf55a2f51120a9d94a2087cbf7dfc448658eaf7d9690c89c97c23cb60ac12246de";
-  sha512.doc = "5c584b58fd02be2c6adef72d6b846bd193b4aaf02a21e5b1f6b80a6a93af49a9d4a12569d2aa4d9b3060290c51bd3d1e581310f9601668d27ba193d37b508b11";
+  sha512.run = "e4f03e9a434e1ab8ea1b69ca0ed2dffe1f8cdb2c853a733e275bee74ed4b17b84b72cd8cc7d1820f595e1c2282a38b9bfc7f7b7a9e003fdace6488390a1b97ba";
+  sha512.doc = "972fc69b705b2f6289358199cedc91ec386da9212048f7f7a84e43eeadc943f7f42ade8d7faa9f58d1685d2bb10408e274b2461032927042371feb86b4ef6b43";
   hasRunfiles = true;
   version = "1.3";
 };
 "texdoc" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "c8e25291eb8928534f6d79f13bc35d6be7b207a27083d2d2bae4bb31f6a79cc8941f45f057472cf7c4298602452cee9b6f3f0264849d4daf6accffd73ed2edd7";
-  sha512.doc = "4b105ba04ff13596c7bb321377301024aa6d6c4bb7246ff21b6741e42484e47fa5378aec7a1d090041cf5c067a7ee73358eeb2be86d9c14989cb550fddce3775";
+  sha512.run = "2c12bf48d03d456e95d6bc31ad6d46f77c0dfebde73fd8a87e2128c7267327377b8d8d7d9b04ecf7295eaad16eccf1df5bab6f9050df7113c62bfbbffc0d00be";
+  sha512.doc = "133abc048e8cbfa84bd2788fe0942bc48d4d2844bec525c010a3590afa62b22ca77518ebbfd26e78c825152ec0eea0a8e1513d15931332656b8fec702b0b7479";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "texdoctk" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "2200e4d874e5b48d75339395330c06e4193181dad19e7f4bd27fe2970baaac680c19682b8512596883e1f71510f872b6c699bbfc036ecd04fef5ddc281b1a164";
-  sha512.doc = "c580b2c1b3fc055f2acb3907064feea91132310fa343bb6597102e1d4d22b0a3cb3b5fae23c83214edb532d10d68873d48902df98633b2d31ead9f001a5eb0fb";
+  sha512.run = "d6799beb8f8615c82dc8f66971bcfcb62e763672d707a284d2293164861cd861b47a691fadbda9dca736ce820e4c90adcf1358b04f4db38121459415101efbce";
+  sha512.doc = "f8f08bbc68488fd75a2291ea1556a8c1166357ba225ac0b0205f2b9e8ee1b23957f41c1a577540028b74f12647578c6fcc2219a07afb6d3a1f63affbfe383c19";
   hasRunfiles = true;
   version = "0.6.0";
 };
 "texdraw" = {
   stripPrefix = 0;
-  sha512.run = "5a8ac698fe8470d85de66f2ea010c335cddd80ff7a87c5a91731a1abb15c42aa135f9af248bd454a1094a4bf03343fd508aad8b9e21fb58c65f71fa603493759";
-  sha512.doc = "ab77322e2c8b581c9d375aaf38b0269ada7fa72b32d4ebd1b38966cbabae772b49bcaa5e5a33cb080d9519af9bf65fcc4f401ecf6b3f16ae9f33940bb2ebcee7";
+  sha512.run = "30cc546b259f93bec3f5d3efea5e73cdf7e34f9f76cac8946d82fff3123abb6f5bc7c70c48987bab24e154c56f6145fef0680b416e7cf2aaa79f5aa673600f59";
+  sha512.doc = "28a7028a28749e2d7c8b5176dd473b749230750fe1ead78a731c9f4a40db299c4bd034be18e0587ab1dd79b6b0802abff19d12fdf44dab5e1a64e26d48185771";
   hasRunfiles = true;
+  version = "v2r3";
 };
 "texfot" = {
-  sha512.run = "97e64c6891b399bf5c5e0f02e2f9d9b43021860d2cfcd3c5d75818954d95d0301483389fbc56a5f1e0acc2d64552c43b5d0f1828d2c3c1d86ef55887a6057930";
-  sha512.doc = "e025fb17b263f3b88195100aa31f4b5baf817d62aa6c0e2d08301822a9b89f92f5a571f2cb55db1d67c77a252dfa68fd35c97db3be97f740d04c37602d5cae9b";
+  sha512.run = "0b9376db4c9006121907650bac3a13f8e81ca7bfe48cbab132cf635c72003de9aacf39f77e7e96abc3f7aa781f91cd9876a0fbcbe933d01e807597a581efaccf";
+  sha512.doc = "fba2be7e6b23503b98ab499fe4799a1344ab0e9d4c806c451b38945cca58cbe15505b360fdf2d83906d6457fa94123c2b704d4c1da8e0dc435ada46af673d134";
   hasRunfiles = true;
-  version = "1.37";
+  version = "1.38";
 };
 "texilikechaps" = {
   stripPrefix = 0;
-  sha512.run = "65f9d3d047f311318f67f5aef968f0200a464770f099c698634bf243122182161138fe0db25efc0834e4adae05f469bbbe9f9d26d48d949a4fe94f6f174a7d4b";
+  sha512.run = "b65e737c138a176e6674612dda6b066a9953d8b737fe2e947eb10c058d6b67eb27f154a3ca4f346481f4dc077fddc2c95cc302762a9e9eaa2f0f1d23160bd4be";
   hasRunfiles = true;
   version = "1.0a";
 };
 "texilikecover" = {
   stripPrefix = 0;
-  sha512.run = "c4f4717a9d2aa0e4e677a859acca1762e7f9c93885a9852a2f27cc1e3f92df37331d7b0eeac7872c848a19c4e6412c186371d57ceb1e4936585afcfe76cd8089";
+  sha512.run = "fc73ce5601a10d638ea78fe815978d395001a73be75084539498644ac7f3fea0f3a57e95bd80e5f38659891adfd9c817e6068acfe04972a836938d733e0d4382";
   hasRunfiles = true;
   version = "0.1";
 };
 "texinfo" = {
   stripPrefix = 0;
-  sha512.run = "7c3d517df29ea472e8ce627bec761568538a356f2c1e3b558604bb6f4e38aa53e0090ef4dd4cfe3442f1e54901d77d09515156922c99f678d617198822bd23d3";
+  sha512.run = "24addde29f46c3af209543f168cc3c6ae6ca90a504738eda37bcd22d2d10041daaa8373d600f70afa39d0746596d2554ed132521e0cf32004a1b800832f03b3d";
   hasRunfiles = true;
   version = "5.1";
 };
 "texlive-common" = {
   stripPrefix = 0;
-  sha512.run = "55daf13056d3f75047fecea3ad0cba05bbfa342d54d8914ca6df7494e14e297d9380c22d6aafbbe76d86a79edd4b20aef55ff38fd2f4c6d64a6277bf90729825";
-  sha512.doc = "fa44cd5aba2db8502f41b2ac1c061bc235a9edc14aed22a3d789c5e6c78bf736069d67dd6eda4dddabeefa78010c844c197bfdfa3e76e18b874ec1c63712cd5b";
+  sha512.run = "a2d1330cf12d9c7d78350384e69163f3c97c2d7ffe923a0819f487cf5b1f610b50ed2835f658f4a6c6e7df6b9d95bebed24073cb03f4213bd1a430e48716a702";
+  sha512.doc = "9fa949114a490a7cfcd7c0083ea7fe797bafe4ae4b61f1b689e9950afafe8a8367f87a5e371aea6b669c90b3a6b31df00a0700e3bc0a96fd2b71c373f2a24a6a";
 };
 "texlive-cz" = {
   stripPrefix = 0;
-  sha512.run = "104a8357b0b372d5488995ca8b9baf4ff08b5fca34d65871c28b13f1a670b91e0e508daba78238c1422c58660146822575d9011328c92dc66f238684793e0560";
-  sha512.doc = "103599893c3a77fe569a866bb31a96e9160afc123200979cd6b587239685f891219bb53ed36e9a3a44d8003cc803215e503d6cc312198180ad59cc3473e7de26";
+  sha512.run = "2c65a9915e58f81a298389fda9dbfe5c6d0a0fbb91db2da4d970f084f568da8dbd20e61576c2af05c74c4c2876835f8159d6dc3a250038dd64b433e4cc305a37";
+  sha512.doc = "8527c18ca429a877e747f66d68e3c6ff1992c42af0ce8e65d15a89743b689062e5d825578fb5896d5fb978251726cb2623d49207cb8126258bb6f419b36d09ec";
 };
 "texlive-de" = {
   stripPrefix = 0;
-  sha512.run = "08c67c0c348eadff200e98606f4c0b67c7e9f763e84cf12117e938fc1310e37a8a55177948771ad9e4156955dd0dda479addbb3caf1a067c0e5aa1ef7e815a3b";
-  sha512.doc = "a575f65e317d8d5bab4591dde8cf2958c821f3786352b09c5dd4c5b6f6069ebcdcb005405aeff2e13a38afa5bf32f00bfb60159f215048734c5871cf6bd0d06d";
+  sha512.run = "89b6004f34abdd998257c723613ac09a1ff761bc2eb1dd441b21c6e25958874bc388e0fb4256410661f53d2145f3ccabeadc9ec1341af834b719913dbc6b59a0";
+  sha512.doc = "c13300d4bfa0a9d97c5b01b82634c854dbf9c4239d9ad320470c8d16eff439b1996ff0d51a72baa5c3080ea027105521bd165198c8fe58f06fe785d130603916";
 };
 "texlive-docindex" = {
-  sha512.run = "bff973bf850ec4113d9ff803eec8d33f6c8639e5138d53e0ec1f7a4532711e56edcddee28a2dd799d36b548d494c3ce356ab40ed37d34d5d9353fe8d4ed91548";
-  sha512.doc = "a50fdeec5df2c08dc37c8acdf523a81a1885152d57194d1dcb3c189678894bb7c5c25d461b359cb916d99a5356650d1d37efbbf0024e57578190642e70171f70";
+  sha512.run = "91e32845cbe87135d4fe6faa66f6cf58c4867131aa6bc73812f9093af4d31997dbc29fa81a1a2bf21d0a90bd1657ea33c5de9c755452ecc83544f34149f0ba5d";
+  sha512.doc = "f5f9c49dee61ebbb87e14caec5a7be65d821912d7179021d10c24afddc5ae61d13c5efcb6dc9c1491443ad4e6fbe173ac037283eb0f77497d2cf24541e2a72d4";
   hasRunfiles = true;
 };
 "texlive-en" = {
   stripPrefix = 0;
-  sha512.run = "dbbf5d8fc537755a353f0b4c65b868f8bc175068105dc0ea87d4056c27a9c6272f00814ecb235729fcde22290a08505f4167ba446a7506815f7b69cea3617adf";
-  sha512.doc = "44fb2b2fd811ffbced1638c7b16d4803fc39ee68a3727fe726c34d9d7bc8f9e8b96421e592962a29dc205ce3c7c9e759779b2c1bb254b74fb83ce161cde266d5";
+  sha512.run = "bf6130a940b5f328a0316322c2df85b60b7214ecbbd3b936f8ccff816cf2ace8853222c55efdb48ccdf48a55dbc64558a1a91ef88b83ff5f8425515125c486eb";
+  sha512.doc = "92ac46d9286520f1b6e5d927f976659771bd42cbefab7284fbb8c3b2ac5622c9af7e7c151163b30d95b16eee63027cbe36e758a1cd454055c63f5992357e6bcd";
 };
 "texlive-es" = {
   stripPrefix = 0;
-  sha512.run = "f5e9404c19b4227c10a07ed9b35e202b41c038b17ca8b324d74fb279a95ce334e8271f233ee3333ab51e5b04da4d137469e4f061164f8ac10b843a158e38e656";
-  sha512.doc = "6fcda16d26282f387913f0b34b0daf6d4d068f4e15b34cc9fa6cbeab1a6f3af45cf900225fb4eafbb70943e8b76dcd000ad0bc27719e0e127f6ce73f629bea4e";
+  sha512.run = "ecd29f0b62735145f57e48c74c07f1b7188a3e4aea26d82dad7e136e2276e2697381bae0afacd7b2083d796c213e72141893fc186b84e9b6caf4ed19513d9a29";
+  sha512.doc = "32c4b3fad90a989e2b94f4fe63b8869721c36aa90df3a815177dbae38c8fc90bc420f197810266ee1350e2580428b8444ef73c5436041eab8bb46704bccc4fba";
 };
 "texlive-fr" = {
   stripPrefix = 0;
-  sha512.run = "38f11216a59192ef1d8f8b992f1d16939db9e1323f191d44d060e0919293f7ded441922d78b032b244fc30d37af9c2727c3b408fcc9ab61ede66cd9a7f7aeba2";
-  sha512.doc = "e103e036edf8ad2438fc5c0e9e069c8d1d398f0cb2d997eddc80cb7fda301291b5e797d2e59122cf6f1797130e20bad2c06fb74fdbb4da9a7bc86ef84e2d2f7e";
+  sha512.run = "fa1830c0a7337f5629eff5f380f877307304f1986a3d9f63c43b0ef88960354c2737278e0e123523eb0d2c2957ec41ace896cefd096f4b2982b7086daf7f3ebb";
+  sha512.doc = "bee228b706954bcdc1ea424d0227890bda2115abf47b73687a0f486b7daf68476bfd7a649f457b22b62e55936b1a113a685451095d1f23268e0d094dec902b7a";
 };
 "texlive-it" = {
   stripPrefix = 0;
-  sha512.run = "043e2d7d8026c6a3fa896819a4ca10925e1fcf8e9d64351661cada51e33662384b71bf8fa0981faf5ef060c62a08c993ff71168c8769545a37e83462f768c5cf";
-  sha512.doc = "70aceeecba1037edf17ea81c2a0b1cb5cdc36519b16bd68c981e9578e3ecc5c732548a8479684d9c95ce2665f8b837a390e8b673b0773240ffc3f449cf2ea3cf";
+  sha512.run = "be04ef3a7fabeeb9d6a05210e5939d61e0a364cbe97e461476db186c71ecfa2754af159ced3fad5fddff081e6bf5541bf60ed053cb8cb0e2de8813944e775009";
+  sha512.doc = "a3381b82bfa78453c6014849e8ea8dc2ee881088450824e62bc056f0303227fb7eb5276f594436c6ac113292ee52672dd3e7b9e6007bdc22dc331b63330fca81";
+};
+"texlive-ja" = {
+  stripPrefix = 0;
+  sha512.run = "279c986e659a0ff33b4522057c90312f2376552b22bd3229cfeed2e87a0644410ad798a8bbda079253df16a3156e3dae9c20abc6132e49023e17e9e234820043";
+  sha512.doc = "fd26ed74bb6a85f9aaa1907d89b3c2e6624325e36652a3e3c7a540181efa36f2b44322aac55190085c47d48176b0d04e6c58ef9fb633057954eaa6fd408998f9";
 };
 "texlive-msg-translations" = {
-  sha512.run = "68715d6feb3f76c473cbcec846f3bb8b8913c1eb70af06bd1ab50dd696e4e51274cea7361ab52635a2e75685b1e2f9ca6544e206739e60b46357e24567303bd3";
+  sha512.run = "aaa3c148d05c6172163ccf2a6b6ef114cb31196bfd00ca7370cdf75fd71620aee5b0efc9fe2ffb625fa2f8fadd624cdfc3f38c4f97db1c07a41a1a4eab50ae0e";
   hasRunfiles = true;
 };
 "texlive-pl" = {
   stripPrefix = 0;
-  sha512.run = "6be6da6a9e86eb07c4fe363ca677c5ac935dd7d5d4ea31e20947f2bcb0d5e13bed4fbf81c180a94a155d3ff93221cf7c4ca618e8c9055564603d5bef6d8c38b8";
-  sha512.doc = "c1205fc00e493df442a0fc65805f45a791f2dfa9465cb27886b87c67aba55f5fcf8dc05e5cfc148658b79cfc6cfa3e22beb00d7037bee57dfdbe0edf41d3fc7b";
+  sha512.run = "57dc3f82b08ddb2a9f6e168ba7cee0870e558d796bd6acb8669207cc14aa327a531f6731d312fabd1761444f9d49da4f2b8a1424c603735468e76ae868813208";
+  sha512.doc = "1e00df1860220e5627a913f2504e125165ec2743f5b461497e77636e46b069ba2e790de2c01317f7698212d2862e0aaf5cdbed40eaca40618d97e56436b93adc";
 };
 "texlive-ru" = {
   stripPrefix = 0;
-  sha512.run = "fd8aabbee8f59061cf276239acc408845412558da75f516a82bc4fd87c3d8c84fb20555a46cb9a2cb9a39c1d5f630a38f92e0bc8183a43d595cdf30f04b1e306";
-  sha512.doc = "6c32216a52415b04c61ae276f9c15253929b10ee50cd024f0f6d3bf0a78c7c8c1787bdbba1ed4372f28207c7d5204085172a70ba4a20f595b19ed9bf6715f89d";
+  sha512.run = "53b6b2cdfc0357f7614cdb9ac5f4f26dd51288acf093e3bf644b0b259c61b9765775bd90956b645e2a915cd64b4d4470679e3725dc8f1dd044f2280e04677c5d";
+  sha512.doc = "b5d982cfe9cbb9022b0d35cf583a90148c0add4f898dc86f732f305cd9adf704902851366722d2624f0ceac66d00aab177663160d5ef624331f83d6a717c3505";
 };
 "texlive-scripts" = {
-  sha512.run = "2a32fe8d1fb2680ba61fea3fbdcb95421523ceb5713294027ab69a18c296b72af20c31432f20e82bee151fd96af5cf15386c8b282d94d8973d53ee2dc87410a1";
-  sha512.doc = "636c3cdfe92780933122b94ee6f2af0e6a27300e71066bdef9643d66197f674aded56b1230d414f2f04af42722565fab34c2f85f46ea4c17df2cb255549edd1d";
+  sha512.run = "a73dbbd393f2824c5d892249da25437fbec34cd099c3fcae02aea9c0486a5e1fe4ad110467a9424adf77ac34713464a44d668e169e055db999202916970f904a";
+  sha512.doc = "94c227164679b44fac0e50490ca344cfb2301f0092c7ed928cbd2578650cdfcea4910f4c45a3812c7ad75565ef8f3e0330eb94d3e8fd90e6f818c5862976c8a0";
   hasRunfiles = true;
 };
 "texlive-sr" = {
   stripPrefix = 0;
-  sha512.run = "7785cf3aac02cf569bf342b019f9bba148fcef2fe837956d93d77cc38adf02922f85c3e76c7d0c954ebee5ade933843658684ade551a62d6a6fa36884405d0fa";
-  sha512.doc = "5fe8aa79b0181ea0e0de598f98f69306dedf8737302077c752ec142d066e35b904fd8958317f0c936ffac0300fe73ff54c24559520e4ea8d360a55acd8ed49d0";
+  sha512.run = "65cbac03143ec8b2881ba02b2827867848ba7b034745e2c3e5e793cb5a950c897d2903c1865cd42fbbfa65cea79cfa4b819be781027691be1467375598a6388d";
+  sha512.doc = "fdff59485fde0a134c78c506969b8c29bf82d30b3d2fa9b8137ee7efed7786e8aec9c79f5a1e000ce04ebd5bbe805885f8952234427a411021b9ef3988b11234";
 };
 "texlive-zh-cn" = {
   stripPrefix = 0;
-  sha512.run = "7f17a792a6ba347e97877d57117433ab69ef7d8252042e1c0f894373187b9fcc978c016e551225e4046689b7d755e06d28c1c5920cfc954b800ad6530d720669";
-  sha512.doc = "c63a383818c6e42e1137096cd69af387f1ef9e189b8c76be2b22a39e5b079c952a0efedad30c30ab191e6e4201be580d0c71655d631765a1e62e4dd371298d9a";
+  sha512.run = "86d70c96c3fd13095d664a9f719613dfcc6295803f9058341fd915d6cac240ca11d64e939395dcfc0ff84eff1bcdc2425971ee0c90f7fc45cc86be737e30b772";
+  sha512.doc = "9567c16b972e2bae6f02356203cf68cf4390434e3da4f8a1cdfe8b902483fa33289c761bb00de345ff038e98054fef5994a980daaf0bb75aabf62be2bc1bdf75";
 };
 "texliveonfly" = {
-  sha512.run = "f6fed46b75f50ef4dd37a1cc586d3ecabce9cc51c82a5e3389215aaa54af7f03d86f749ab2f069eb86ad848785e645664df6a6e6f10ae964ac0cd7596c94732f";
-  sha512.doc = "04697cccced8dbda7e2c41ce0f735d5d68698fd854174c98f331deb4f55bc6371b39d818aff3e57fa89bacbaf090169d23791596f8c92ecbabdc6463d0f8f89a";
+  sha512.run = "e02a1214775f209c0698e62fb7f0ae91c9ad14024c076dd6a5ca73fad4c92ebbf9bbb0f281869cb0c073538c66edae2af23245f1bd0e1f939c80841269625af6";
+  sha512.doc = "f89f82a59f726b226101275b1aeaec00b99ea1302ee5ff8c021e4696b4abad39d1a95b544a4bc45483440591e1266cfba4d5c3c3bbc769f193671a46aa7458b2";
   hasRunfiles = true;
 };
 "texloganalyser" = {
-  sha512.run = "2bce24fc94e41f9db5ecbd640a0159ddc1d4db9900b2054afb89c5a008b02069af4d0c0ddee73282322ddd15bc092fb56e008e81859274f9a406e95c1963bbf7";
-  sha512.doc = "4e81dd980482b69bec05025293cbe05326f621cf319e3734f16a22ff74049a336b4a366f58dc0713c521473a011b468a28ac5b585d1d31b1d6370ce55ea71c97";
+  sha512.run = "cbc18031b9b9ecfb6088b82b99eb72ad70fce92e4b103230a06ffeda0a50871715405a0aad18a7495ba1b80f16913cbadc4b8d1a7d2ebaa77d5cbd00e1682c93";
+  sha512.doc = "1cccf82314d9afc841044aabbb5f06933f6bbdfcdb46c22909ce18c2736d40c532944405232633f61893f0f56de24233d520edd64d4cc89baeca5c01ffd0f9ea";
   hasRunfiles = true;
   version = "0.9";
 };
 "texlogos" = {
   stripPrefix = 0;
-  sha512.run = "a62c4d988b6038bf0ecb2571e93304ad6c5b963da6b588d2f0354a9bb4140757a1f1e01a976befa8ec02a0aa3e2c0445fc504483992e7b9bd549c584941f8679";
+  sha512.run = "d3b5f5ea0dd90e925bffc1ac0f790848d1c2abe50003e2591c8efb219b4a205d48e4420d2000b3de15b1ff9d4d0bd9e083ba1694d4ee34febd68f8db0df16ea2";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "texmate" = {
   stripPrefix = 0;
-  sha512.run = "79d3ddf850f906fc36db4701a3faf0ea8d9605581c98d23b60356598642142f5c9b036ae8f9792d1cdfcc7dafc618022b90a82f912fedd3093ac14c9551acfa0";
-  sha512.doc = "7af4892eb28a2d874d032155169ab088cacfe8186dbabba5a8baf7a1ebde08135111f9aeb89fa50e64d6ff5e00dd43631529ebd80f3e883d20e48bab613a63eb";
-  sha512.source = "1a57c6634b621b12a8d957ae4bbf636fd23fec03bc1158c10c097ff8a417e9d6c3efa2a53a7901f063d464f9064360af6d310cffc9d4c75921aa37f35ce946d7";
+  sha512.run = "52c35f096426385f229b7ddb66c8ec2a20539bbad6296f2bdd230c2da79edf5668fdde0fc7ebac7099a414b622b31309fa7f610564c8212602f71dca7193c597";
+  sha512.doc = "dc1ca347bfb0ba8c54403e643b4052604f98b39ced23d092808cb221e930384f49d1c34794a933b0a05c7691ef04158688653ce69eb8a4b72e9172b4254954ee";
+  sha512.source = "b75362c3b748021934052ef38b9f95ad7047804d5100b2a00bd8f9e396103d2d641f1fc5a3c636cb42ed66fa88488f6c69d3b188e3a55f715df2d19c05331889";
   hasRunfiles = true;
   version = "2";
 };
 "texments" = {
   stripPrefix = 0;
-  sha512.run = "dd1084b0af3393ddd14b21dbb62b7fdf7a99b88d84dc44eeb994dae525a34c453411d4cb8d04c2e6f418116573bc468c7e62d44c5673f91be11bf46cb30fb7e9";
-  sha512.doc = "83f3665182fc628e74a2184b01c4d8c8b99bae05aee9f6f8771d0cdb7bbd02743b0ad4aaf7384e46b8a2d2c420b4731dedf56692ad711687047cb8e9403ca7c5";
-  sha512.source = "020210a06e09f93dd45aed1abcd7cc3925e757c0c7e1dfaacd0435c02a7ba6adcd5c53830f51d1d99bb1f098063c88e607dd773d5f4bdf154e86c9ccf6d65f35";
+  sha512.run = "6b0bc365ff7ba6a8118a4e83350e73d5c4dc40e6c30a0ed3267f0f20178a08264866bd016aa3a9da72d4f27a20bf7e8f658417561468294745b78911ff46fd4a";
+  sha512.doc = "67b7843546704e9b48f6ffe75a33ab68a5d8ededf3cd45ca329c6ca5ffcc783f4ecb9a663fc4eb94fb554e3c43e753512f82dc8f2f7924c1bf4bb8942aabf749";
+  sha512.source = "92d2216144fcbcc96907fd09ece64428684476ab8e9f3a0c60e898f9f4cf7e0627fb145adbd8186d56a6d5a21563c41d62871e860ad51d9b74e5a0f6441a44de";
   hasRunfiles = true;
   version = "0.2.0";
 };
+"texonly" = {
+  stripPrefix = 0;
+  sha512.run = "a51d7288abaa3bd03e8f3816eaf2d7f8931340e95e3897ea4a63ae3d251277a78e71ae66b617da6cc81a8100c9ffe64a1c9142369c67d58daf200ab2ed7c9682";
+  sha512.doc = "5f03987ce079f21801f08a7e325a36c6f1065f5cc32ff2dbec7989bdd3a6b3c54ade8f96a71e19553972d3c36454a08b007adf3287a7be7972a8b3ce6961778a";
+  version = "2";
+};
 "texosquery" = {
-  sha512.run = "ebf04d38a7bc12eb867eae8b224ace7a59091982c7b396cb651fb4a4cfd563556c6542be7bc25d3512c3017b4a609091d7a09c5a10772e92322bf6ee2772c040";
-  sha512.doc = "f4e3a5ead3fddd68884ab6aec9772e19162ee99edad92cef14e3830eeb595ee19eb98f72744adb2fa5abd7df8ac1a90d3973d287185a17683405a03c619716b3";
-  sha512.source = "01abf4fecad864b11a948b87733b73083b543a3d9a316cfa2a3ae246b3093023e51679e5cabf23c2cbe2f41083c06f1a44e32af4b56a997548fd19d58a38992e";
+  sha512.run = "bfe5cbc793a81a9ce3c98ddc94fd217c3b235614394d2f329db4f98ae29ded1757bba5d98997118a2c78cfdf6d774146a7ac6a716b2bce91c876b0387e1aeba2";
+  sha512.doc = "2b7cf8dad61829b96a2f17f1063baabd21087ea2526c8d8a6408b4c2e63c8f44be3f318be6d1e198661efe683afbff7055c678e7229a13d3b01e200565caea9d";
+  sha512.source = "c834540e5448887bb0d80dac77770c7f89b8017743bbe4691e46aa5c95c3f59f2bdfde93e0dd72aa8dd94295b1dbcfdd374a8892d4c622c41df7c4a37a68a701";
   hasRunfiles = true;
   version = "1.6";
 };
 "texpower" = {
   stripPrefix = 0;
   deps."tpslifonts" = tl."tpslifonts";
-  sha512.run = "4bea2fcdf79eff9642f7831cafdb66be35a26545f168d62b8e30177cbd347b7227a8aaf3102c30bfc39aa8a1659cf425fbc15a44e98e03eb60d15c8dba01cc60";
-  sha512.doc = "e5ba632d530a279132508fa8a2b9fa3d2a24e745bfa0a7746d9bdfede5eababe445873e99075c56be516d26eb3dacd924be8f937e4d08ac1ad68fe05da61ac95";
-  sha512.source = "839f24656f40d6ca64a4c62b36f6790150c2f4c50c60e001e63be9d836b944a1731c7c63fc1234abc37cb8de66237051e5f194a360edc7c3cd0c7efdccae535f";
+  sha512.run = "7e2efadabaf173fd30c592cbcd2338563b8690048ccaffd86efb079a04b7b95c8ab113b99205cbb2912eae3a709a110d7b152270422cf2cbfd2ab85d42f12d69";
+  sha512.doc = "e61965b5e31b487daba383a4e6ebc0dba85475f8cade2faae6adb8576ec7ec544b518a6e0e105aa185ff82fd6aba7a9ea4abda2a9446d52f5b3acdb42580e315";
+  sha512.source = "3add8eeda886ce6422d3b7ea53a55dc69bb2f5c2e64cdede105a7b4756b008807bef6245ddc2596b45809311874e566263c51e98ec6751b4db9d3c5c5f58efd3";
   hasRunfiles = true;
   version = "0.2";
 };
 "texproposal" = {
   stripPrefix = 0;
-  sha512.run = "6a301a43f1aa418d73d12b81e094fcf68ca2c04c8d60beddfb6e2f9a97950f5dfffafe4f050887b20cdbffe42ef91d291fffacc00e003de3b96a6bde2f82d727";
-  sha512.doc = "01b71d1beeb2395e219121a50f11024ea32fdd15dd9ac3ec050c33ddccb7224d2daa6634243c664d4483f9abc3d1330115290f7c315c32f9ef6c2fa41060e3b4";
+  sha512.run = "19265b32271b8603d8baf8b16f043c3228606230c1151a33e243e493b6306faa839860f2b07ec9d5d43c57f49e984134e760342bc6302186924e5c95cc1f3380";
+  sha512.doc = "70c04643ced459099ae095c88c0316e96c75e99bba0877198c7800d3b5cc9ac872f74b36adfb03dde968150abb3cb99131fb52ecaff56dfbf1aa85379718a74f";
   version = "1.4";
 };
 "texshade" = {
   stripPrefix = 0;
-  sha512.run = "5ed597c10da75fc0bb690da213e9cec7d927c13171b0667c845e022fed4925ddc2a98f581e5bdcd1c520e6800e978f99063f456d891509f68f601b095fa44db1";
-  sha512.doc = "7c2def29a5122e4cba42ca92f10c75e43fa84ad8712991a4217f5146d8eba4c066c7aa80ea3b6ec7f4e82f50cb43d3b91f56fcde786d9425687bcfe7e62f51f8";
-  sha512.source = "8bfcc1f7c7f41d6079c528f5531eaaf3c5e9225c911b1f9cbcba1d9038b73aaf5e43ca3e1c7e376bf153bea3435b82dadd204c15d0e7df4470b9d883fba15690";
+  sha512.run = "785bba8f83063d37f2473759eb1ada73b31098ba757ce65ca1b7ac811581a64c706f2916eaa1237f6c6ee39dfa3514616d5b8789b9b8e2418c02ddd88e77e428";
+  sha512.doc = "e08cefab84354056854fa00b15efe8ba99e2e8f4ae6721afd03ecee5fad7b227674ca456de11b0607b1b34a2378ce41e11c517b0b0a544c12278bc3b9f0c4de4";
+  sha512.source = "3ade54e59a3342a60ae75a3b4b1068d646bab1d9dc58b29cfb3ea55471038061af7a2581b5a125b14d767ca659a336ac09dd2ec8360c3e54889a69529d62335e";
   hasRunfiles = true;
   version = "1.25";
 };
@@ -26077,1060 +26759,1117 @@ tl: { # no indentation
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."plain" = tl."plain";
-  sha512.run = "1faf7ba5456cdd835c691f43cc1c0865ce29997ab0c7a1623fcaebb2f48379395de26f140fbeb0b3aa6df4290cabf7bb5146768e56b813ab1223fdc088295341";
-  sha512.doc = "b402ea628dc62c57f06a0e611b048498dccca8c011b1493847241671ac838c9c2a67a860ede1d5b104b49d2b4de04264bcb896b0b0ac086bb4d35d3d2798cb4f";
+  sha512.run = "7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e";
+  sha512.doc = "2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90";
   hasRunfiles = true;
   version = "2.18";
 };
 "textcase" = {
   stripPrefix = 0;
-  sha512.run = "5ec9ec35ea83926236be5ab9862ec7491a4a1580292a8ae5139433d6e376a1adf8587e88f50fd9aa480fb3fd3421c96794682434862e819183aa7af4b7115815";
-  sha512.doc = "259f131d6b62031cbed1ade3a8cda72a269870d69aa537af7845db8b3ab50f8889d7fcddce8bb0724e20822d6af9a3434e10d7e95b931992cf122da968cfd30e";
-  sha512.source = "5e97220cf3cd999ed4fa80f0b910679c2bdbbb6896ef71968857131b055d64b9b1a789e0f5fed9d689d5694203859456d211920d0c2e9407e74309783b65f155";
+  sha512.run = "9cb8145b46343c34c4ac7c7ec64dc6d69f08e329cfae2c1ac41902a74e92cee715b5b171bbf26b92efc0a8a4500d11d317d8c927ffee623450b39e4ee6555483";
+  sha512.doc = "737c03d99e03a188c80aa8478abb64f05e6a3241185d03746682bf3c5e2e48ed8181e46d1b10c9170b98882bafcfe61e37a0409d42d2506125e9515bc44f0e2c";
+  sha512.source = "2f68a69bb41a0af207522cf554fdbc8858a675b8f9c97e72836bf62d69640aa55aafdc70b8f014ee3bfd526f155695722d4191b70b570b309bc789622b19b53a";
   hasRunfiles = true;
+  version = "1.00";
 };
 "textfit" = {
   stripPrefix = 0;
-  sha512.run = "3cd63466f501ac558fd99afb57d6288c1e1da39a4b5b774111f6b2ff9388db8acb2937fa397d69c674a17ae798a8ddd1310ad79a83dbece81e158be642306625";
-  sha512.doc = "53736d3a5423c29696e60a672e3dbe413aaacc5454e59d04f51608dee17a9788e7efcac1980008be2d4ad0b4611ccacae797de2b83d7592eb31c9b9ea45bcf8e";
-  sha512.source = "95689bdc578151afac702575a4a094fde4df8bbb95181a8e511e3dc537ed227b56c59016f52d1f7d1a6fc652bb33285e5ec7091e3be1d4028831538b25c54564";
+  sha512.run = "96638c0bd5cb14b629f03e4b6a3266160c75bcf05d871ce3d4262ac1c070d9efc0532411f5d8774f97362b148ef6cd1c5dd5253e72e3aebb542fdf14aa6d78fb";
+  sha512.doc = "b88df8c99662a182483fc6d12d33d0bac5f6a32c84be700146d048b799045800cbb69b21599e5debac122995800b0e48fd82395c498a58df503395fcedc92228";
+  sha512.source = "cde6e37b48b1aa49811fd5ec29cf094c7b49d690fb4d884edc358bd3a8a5bf58a815e539eb5e56a95616f54b0737dde09e312c0d2baf37498ead691d4fe1dd72";
   hasRunfiles = true;
   version = "5";
 };
 "textglos" = {
   stripPrefix = 0;
-  sha512.run = "ffc6e2543773e9b9945d3fecb11712253fd86b8215e3776ce1dd164839c82bc06d8e81f1b0d0f6864b702b8fa85e98630410c45d3f057d303ef4a913c012c586";
-  sha512.doc = "c6150d76f0740f519cf53614a8597cb25c79d7bd6ef2e43245f86e15d98cf7bc2383942e0345c7fc8ecd387f9644e5afd10c0af81c4b1f19448b9a22a23e1a7c";
-  sha512.source = "15abccad544236343a1278bc7f0f043a2ddd61ba7af19cee241eab1082e3f52b67aaaf6eae67f86cc0f497e2fd3c21d383902303a8bb8c109c246d0575f1a463";
+  sha512.run = "1652260a3e946a8847ceb7f937893bad27a24737d9b3573466f7369ce9cdbf900af0ef6c7f0bf3033200664da736e8232c3fbf6db61bb7d51acec1010d13a3e0";
+  sha512.doc = "922ce1569fce889bc4608e9a5da4a45b7c3d2e80303ac36167efe6767c266844664de00384447e288da70383fe91261e5914394a6fdf8644349f785600271e5e";
+  sha512.source = "0dc80a20fcb8926b9bf586808bff2403452e43471983d0bf49bebd310d2bf78cb1e61cd4674f7bfcf86d94ee083d2c8e0099554858549dc5c6703d0f4ca57dbb";
   hasRunfiles = true;
   version = "1.0";
 };
 "textgreek" = {
   stripPrefix = 0;
   deps."greek-fontenc" = tl."greek-fontenc";
-  sha512.run = "eb664894acb657e3b5fd058469fe4f6f9e733667ce80507bd80e72caa70f10dbf28f434e51047319eb50ebb031ef9eed836075cabe42b20db5c4676e676b804f";
-  sha512.doc = "2b7975bdc071bdab4329005816dea5c92a297c0fc0f3d3693b8ec33f527299209c5e858e723b20d34b538cd17f5772ab03b9869babff669769433637c43c44d7";
-  sha512.source = "4afd3a08ddc1cae4e9506ff9733e8012eaea995f6321d5cd85f1631dcd9592bc6f1727ad9696e5ca760f6e62317854febbb7d82b9fedfaab7feeefd8fa91df04";
+  sha512.run = "2370f666c2cef43a579e32a755675431717ccfb4bad6f30261a6c67e0617816ffc272c25e0d076d91c4047c41926c92ae375507f36f2fab01673bd7e708f5188";
+  sha512.doc = "9107ca31b645977d56a3b1e37f7b12f0302b1b2531bd2a21883f7931831e70c4383beae77469aab4663253da3109cdd9c53589cbab95f7f0126389d12509127f";
+  sha512.source = "367b63cd318c1e69944444f4cab82af7a7b1dde667d6469ade4c6433960b21a6f8922280d5a46e96fc88ddf4c2d5d3f3a440b55045a67512459208ae181bda96";
   hasRunfiles = true;
   version = "0.7";
 };
 "textmerg" = {
   stripPrefix = 0;
-  sha512.run = "4ddd8874a19695480cbcfa99317de08bb7fdbea60d45afd2a47df97fa565f9e5cfbe186f8b24c0ebd6e22c01310ec259d9422ec09bd74f7364c6d31bab056b0f";
-  sha512.doc = "32409007cf543cbfe3a2196989f84e00e04192e0fe5f2a3945789f0845a626f766b81d5c5ebb13845bc791f40308e552daa1477f964c2a6adda29204e9b8ab9b";
-  sha512.source = "6b0ac3859f10f2396fa217dcdb9635e63f459b12ea4b0b77ab3b8cfdcc426cf2b65e9286a2313ea7bf42b5385c10fc5d430ecdef8d7361f7753ee3d48a8cd345";
+  sha512.run = "5ef9048849bd2515c1af0ff41d0b5189715b375464c15d4708e0152d99f01839c462a0c9d0a9a12f401375d38e2c53a0f0c314e6905e1bfb3171296448bab649";
+  sha512.doc = "05a087347db5dce688065f56c106d022f3ac30d27ee5d2f420e7658c5b81df66549cda86193f3ce4fb2cbeaad37abe7eb32b984d00d4f25dd0ad51433f8d7a01";
+  sha512.source = "bec01fd7721b5fcc61ac934ebffc3936492817662f4445f082601fe4b7aad576448d33b7ec16ce400c8185704e60238c56bb9e8e31c3b445503673145c0cfadd";
   hasRunfiles = true;
   version = "2.01";
 };
 "textopo" = {
   stripPrefix = 0;
-  sha512.run = "47115de58ce7b2653373255843f88a6f8d347ff56d8d9bf24495e68ffb80527edda29458d22ba71929ddbfae7e42b2d2f31015f045f937e0ee2c71d7fb0867c6";
-  sha512.doc = "04b33ee10a76b72709df57496e45f783647d608eafdd5b99e0c2ac7094bf1ee50c800be5d50fe5cb55b7c1c0d066b213e8acf2753ec54606d189fc88e2cc76b1";
-  sha512.source = "9c87b66a122812d93e5d290d7b9d028d3f1c72d287b3c3761f2903739f0e06d6866a96933b3fdeb4c739cab2a62970f3fb3c53c5e15112f1563845a56e0c3028";
+  sha512.run = "89a415b1040ff44f62c452e61abf9a5760929953ff0a4740080f79e8343b2b4f4eef9340e5a83fded39a000947dbe7f2916fb18624c4512c5ab58171708de268";
+  sha512.doc = "80bd54a9843fae371884b87710094f72926d5ad8a7e40308e9aa753b01533d3e649ff94831ea75aed264b5f9f5df482e157a1563dc85ab2976cbf9260425c5ce";
+  sha512.source = "d426490fee0b747726dfd7df1f6f72677c9aee3d8ba56ec04dd55037aef563297d16d08a821c2e9a1493c5c29ad6b52c5af23b6bb1f4adec754bf530beb81571";
   hasRunfiles = true;
   version = "1.5";
 };
 "textpath" = {
   stripPrefix = 0;
-  sha512.run = "350f2d2fdfc7d95b4ae68023f0d7d000ec837a25e47fd174834e4b20547240bcdf7f5b3b53d09a5630256f621a34ea8d70c8d5c41b3f0bce8bf6df7a91ed0b58";
-  sha512.doc = "4dcf46d11efcbc85c4384714ae5d98ac9a8237844c3abec8028c9896d7507fb5b6f2b1e962201f36dc9c7c0e75f52000555db5c5a7c66585ca1c658d05007daa";
+  sha512.run = "7780972480a1355a05cbcca3c46f3e5284b120a93ed2265f0fcceb6965f55ed793756cf96df63aa8da589dd12fe1b8127bd470077b9f9dda758238ced566b3e6";
+  sha512.doc = "5507082be0235ec2253ddc0b03e239607b9d140952799684e5193e4d3d584846d33a59aa9b1630d058f17cacf7cedd2fe0a180b40207ea8f10947b534784fc02";
   hasRunfiles = true;
   version = "1.6";
 };
 "textpos" = {
   stripPrefix = 0;
-  sha512.run = "7dca90546726fd4d6b035b904dac12ee6c61cdb8cc49e0780ed817d20ee4e8f097f46124efea43b89449f0f4a2c738c17b4e52ee9216b27a71a198975851f94c";
-  sha512.doc = "37227ba44c32949ec75a2b85df5b73f5419c3d24123c83293f78abb566e077618ed9e9d8eeb137bb9b164aadcc5bd9001928f0455e41e07ccd0419ab9931e3a7";
-  sha512.source = "34a8a1d6058ba3578ad83f06ee8508df64a3fbd6c4827f52871a11e46b83bded6660150fbed71fc554f1f81dd7d1197dcb4f0f966e63ab46ce9e25c47700110c";
+  sha512.run = "430c373d2c228615ecc9c46c10a99ce5394ff0497e9a375eec3c4e409452e006979501f7d18c5f603055c9ddb57b7c0687cf0a9273761d23aec75ed64c032200";
+  sha512.doc = "5fdd14982f8b783f6b42197fb483eebb62f40c7e6f80648cfe7b7a356ae3fd243b4133a050cd84d2c8893460c15e717a21a70a5e1e0e31d52275f4a206956eb9";
+  sha512.source = "c4afcb5134b7618a9397f40e6e633d126f2803e15783b9ce6a26c82fb21d0ad226d65fa9e90e60ca5a1ccbaaa3a436712ee15d8fd13a6acc5cae7af8150da6cc";
   hasRunfiles = true;
-  version = "1.8";
+  version = "1.9.1";
 };
 "textualicomma" = {
   stripPrefix = 0;
-  sha512.run = "10ba2294c9121a73dd8f62a211db3b96493c7f789ae82c763f8637b0a23d971b3a62725bab868dbf2df68cd619af128213b6688972e8845cc6356b0a786bff88";
-  sha512.doc = "e13e1a6f6079f3751670681d9c352cc97097c5634ff47f7ed11706118371bee2d65a5ce91af2d4f6a6f77765555f28413df3ddfda5293ffcbb60c8063fd9ba11";
-  sha512.source = "105883f7e1e676434e73b191a96f21135db761a6358195aaa669f2de0318d21dca7190e35b2184177d02b8328e21a5b478752a4a0b3a56df4b2433217e33db6f";
+  sha512.run = "044ef3451267bcb74d3e4162d19915b1b7f2fac337af6faae7d3dcd630bc9be8484fa155a3579ad5245ce1f07578d8faada2e6a67830edb09b332714a95f2e9e";
+  sha512.doc = "6e6c380eb0169878a34d3d40fea47bc57885c7ea378ffd2d2a7e9bf26826dd922f67a02e74d6c78801cecb87b18de3ab52b7600623de39c53954ed568c57eadf";
+  sha512.source = "69f6594a039c9b367e48430927298768f816ba31a7bcc41036111963c5e9059dfbde6b771ab7dcbfddb6e40dc49b2daa1d1ae04625a31ae44b8ba340c42d3f58";
   hasRunfiles = true;
   version = "1.1";
 };
 "texvc" = {
   stripPrefix = 0;
-  sha512.run = "1fb18df5dbbbf0c25cba9f97787becaba920914fcbb310016526ba9ab43fce418e6c0285d427fd63d1d119ad13ac82378e7fffc0e9c1fd6136017812c89f1b18";
-  sha512.doc = "232d199a9d929094ec8d1b165955cbd03b3ec5c0040cf0fc36635df6c2b5b8a37b4ece399e4d1b2f0f8fe9252eb8ec6b10986aee32c382321f2400a57b29abdc";
-  sha512.source = "290ffd35f50dcc61042d0b3d6617d8f6078f47fe5fda395505660307127bd87174a71f730adcc3f7d13b1fda9f09d8574a3bfa4bd5b07d8c99e4fdca88146144";
+  sha512.run = "cc149d490180e58e9796ae0bc962e51794400384671eee53c932acef88512a129dc3d87ea4378247813acbd3ead010014ab71bd1717b6edb0bef4b7856be8aeb";
+  sha512.doc = "e8639a2ffdd2d40b27545c3f4265e473bfbd81a028632a082199fb0dba7ea0b0468bdae488a9eeea63578bdd610f7e16d4f4da846f9316dabf5645af95fc8cab";
+  sha512.source = "4bbcf12af602c328084e76e339d9ca33c205f08faf489be3008fa5fe0b424631e940baee1da9144fafac42e09fd2d27a7726c16e159cfe24c70d32ae1014d198";
   hasRunfiles = true;
   version = "1.1";
 };
 "texware" = {
-  sha512.run = "aecff277f4341122dffaad2b6e6389434fa0db4c686fc89a398a506e495076b355cd0554b92d78ec257b4a5feab103369cf9b399873b98b724188804d3a878c7";
-  sha512.doc = "05a67ac4f25b162da981b92b2d2dafdfc96ad39303b4e84912f49c2bb11e3c3cbb724da6592b37d2288e6e7f02e19797b467596bdcff846f424358e7002735ed";
+  sha512.run = "cc66e87d459fb04070b0c43c16f3412ea22e3cf8a2748efb8a87fb0417bf0b9caa32a38147a9dd068d7ad0d25e320dc78ac54d9004cf5adef337ed0a90e52923";
+  sha512.doc = "a8ef6e6a062140ca6ab3311b7e57f452bbbb0eddebe36d02cd8122141320814508438d764a97d351febf9f65a5539b03774f611e9bfdcb5abdc5fa989fc5a848";
 };
 "texworks" = {
-  sha512.run = "18a589e7ff9987f222ede07e4c3d747fea0cbcd509fdcf8696fdafa271d869f13a4ea90fcda20e068cad9d010fa8a8dea5dc8cfb69c55d8cd33eb08fcf5bf9a9";
-  sha512.doc = "df97738ae0cea3c9b25c7ed4379808d0752ef46bbd9eab5d32ccfbd0961d2daf67928dde2e5df5796b2f8cd1556fd701408f0776fc59964ee0bdce81e3f6e594";
+  sha512.run = "06184922ee1dfb3fd6029d10d3bffa984aa7e1970d7439075678490f604d3d357e2b5b8d3cee4c941b5f43308006c53a816d015a61f0e9fa81a24d21593ff43b";
+  sha512.doc = "35bb50b86efa5f8842778f47b9f2c6863f6475f396e72d0cd34e6d6fcc4c2f103622904ebb27baa59f9ada014197e47bfb6537a391705c894ed669a7a92271f1";
 };
 "tfrupee" = {
   stripPrefix = 0;
-  sha512.run = "f6fd843816df2b0820e39e5cc01fa4f09e12d353aeadb477eba7fe82e15801544e1aa3625372ead78ae45a3d5d0747e822b703c0e815c0d5a8b9d1ab37f3794a";
-  sha512.doc = "1862a0b0962c9fdd3eb0293d3ff3cba0823403a074864e8a06e60b8cfe23379a24fc780af336941732e3a6856a5cbf7469ae12921a5d31b5ff07b2cd1060407b";
-  sha512.source = "3cf23d79378ae86742fab85b3db70d3d0c2393dce033f70a6b7dfb04d66c47e91ebb87ccf8eb5cba6cd36338ba2a379396957586aebffadb673676fc38dc20ab";
+  sha512.run = "ee935ea5c6563fd8da4f403a1c3583b289b64e212aed4b9e3703ec345dc47c5521d291e1ae0a10c9aec2ebfed407fbf14e804bf51ae4c4a1e03046fc7cd0ad5c";
+  sha512.doc = "19da18d665a8369e58a26d4e979d5fd6c8b3187dfba97a281008627aeb8c5ee824dc2ad3f5c94c3b35c67fe28a646f44aa5f532912de5f5640b0a7d56afec2f8";
+  sha512.source = "30133dbf65f1a33f79ad8b2c8ee84ff376b39d12cf0d48c4e72e86b393e0d55f5768c7af5f5f3f6ff1d78fe2c7d4f2b09d2980107dd5aa1d94fb5ea27545ee9d";
   hasRunfiles = true;
   version = "1.02";
 };
 "thaienum" = {
   stripPrefix = 0;
-  sha512.run = "481e1af7bd2c0562fd5ddde7e07ed7cc2d9ed9461fea82b07ff23c8a3c47a1467bf1bbc1055dbbb9df947058c81665c83f1134c7e31c4ac969f44fe61836283c";
-  sha512.doc = "08ebf7db58932b45ca0c6e08ea15d7e137b198b2fc73487b246a356a152a233706eda2bf30de2e259b4913a415d77fa18b814b661c20d63bb6de086d014b8f1a";
+  sha512.run = "25f6bd1e6e9586b261721b66b6b193c07f60dc074f7b7b1911b0a8ba4f33815c86945bcb3946ffe153f70f0dbaeec4dca8e5574f8369c754a6151fc271029f3b";
+  sha512.doc = "246dbb624a2e2e30bd5468c2596e7b3f7183c7dd9d03eda42fbed88fe51f16b53801ed39f85590d2739a93d48bc413fce5c52685d5425615f650b19f56013261";
   hasRunfiles = true;
   version = "0.2";
 };
 "thaispec" = {
   stripPrefix = 0;
-  sha512.run = "34fcd008ac15de5618212fe7164625230f4e83d446bda96a3dd527d2c98b3d99e6c40a8f9be52701b915c8ed2dfc91ced98db44c757e1edc1adafb398082ad3c";
-  sha512.doc = "ca3956f697758c424901e1353cd77164917c9937b68efce27710307ee14b1101e365d76f5fa9e5aaaa92c4bed0674a6e04a3cd98491347c3003d18bb9463b6aa";
-  sha512.source = "bbd1e78b91ef861c086e7d94d2cc75e2a44c9dd5ad6e4ad093a74e86cb6956405963a11b6861385e8959738c99672b4231493280a13e27f1dc4181ec9c59827d";
+  sha512.run = "16a7b186e026474f659ceade9d18f339fd597857897354c40208efaaa5caeb29be4c4c8b68aed2edc8ca8b4b6ef5e66ab511ebc943928b6ea51fe796e9956df0";
+  sha512.doc = "e3bedf4c192c9505fe8569195e3be10643d236d826eac14878e46b62133a09029ad5625f988e6b22009cfdc3a26550f155b8d09eb8476e84ca561bb6f470bfeb";
+  sha512.source = "5e5e404acaf32626a7d06342326733145d331a1259c25e956bfb469be6e4f528184247d32726c378fa11908e0f69e006e2251d20879b86b714f0c24a54f53617";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "thalie" = {
   stripPrefix = 0;
-  sha512.run = "67c40e53841602b52b10984594b26d915a30ad0b91f9c4d764b5fbe280b29f3a9ce75ed6f939d54a155e0e4152046b51dc5fe2d4946b236e7a130eb2ae34c7a0";
-  sha512.doc = "16ca6831450eb7550d035ef96235291afe6de49310a04860adb745cb8c0f8d7c99105d9d29dd473e4a0615ca713337339c0d03fe12eba1218d2895f0535eb11e";
-  sha512.source = "b932126a772d6b271824574773017e91fddbdcd4da3aed4269d2d5f969222d1eeb60a865ae91305b311dc508a8a5d470ea7f65b15447db0eae121a1d1e13220f";
+  sha512.run = "193f59cc9fcad15ca4fd52e011152a08066329ed496ad55d4245f232a701692b8c3a33f24d457358d696ec540041beb90ef37696a77b1685f22f15031665585f";
+  sha512.doc = "104972514a171a25557b5a0ba6501be9556f77eb7fdedc60843797ba7fc53873b75cbf4e470dfb76866e6042f77c5c39ae86367a119f64b34a18183eb0ef1be8";
+  sha512.source = "31b0a6d7452e3b5b8affa9e4e89146c90b7e9f2af60eb7f741d4bc5722147c0ca2a902fb61b23d9a47c3bc32e2e5b38a170f3a194049cd8a1009a7d4cc199995";
+  hasRunfiles = true;
+  version = "0.10b";
+};
+"theanodidot" = {
+  stripPrefix = 0;
+  sha512.run = "f89e4fc9a726b87568eb5771e0f3a4c29f23198eece256fffd85aa3f7d8f359fc9446e24cb5945b3297d373a84ec11e6b0322e378fa6bb979bdf980e91e5ce82";
+  sha512.doc = "82ced7608403dadc3d5be699acec21bdd7b9fd44c68db769f6060beb26b7a448bde9ec43060e95ee6699735c4c347ade0b2a1267f944c2b168363172c3c0b979";
+  hasRunfiles = true;
+};
+"theanomodern" = {
+  stripPrefix = 0;
+  sha512.run = "cee56b45fe0b06c36fc4a11dda204117d20a5ade50b5d706aec08c4bc66ac9d801cb3c885b8f18b54db7a0152c3924cb844a0101c71a11c81d6ccd32d18518da";
+  sha512.doc = "d7c6258b4e025111f8c8e29332b8325128fcbe095d9e8e3975227c86e171cd12a73319cfd341030f06f901d005815bba3c7643063a257dea006a159ccace5355";
+  hasRunfiles = true;
+};
+"theanooldstyle" = {
+  stripPrefix = 0;
+  sha512.run = "41763eb636491cbd5d7f712b91d3ab6189a87d6fca61efb0b552f5c57eaf25a830763ef83d9b093b2eb5a31f45f91ecb8eef870a7aec0e0084dd685a55088498";
+  sha512.doc = "3e9dfe575f249cacc577763f7b7aa2bc128659bdd19b0ab97b7c9a43a6b5938d7067e657c9a469d4b163faa75f1373a21f5e0825e345d342af037713d595713b";
   hasRunfiles = true;
-  version = "0.10a";
 };
 "theatre" = {
   stripPrefix = 0;
-  sha512.run = "045a349ddfc96298bf3bd6992cf3fe7f90d8b4c2891feb7cc2d129e99aff3c4c74c7502239e64c31b1d6171622af53ff20698b8e2f7ac90bfe2778237b638d76";
-  sha512.doc = "f47cac1051546b9e64a8009f8bf17ddec6ed572314e08cc3a79de46ce1d941b4917b0e51ba9a2507c8679a00c6b8627a4f224c7ad6b60fafbf24349fe68f393f";
+  sha512.run = "d450ef176d5543581316ff36590eba2ed829a3f2b8a019fa8ca379af0ae2aa4df4e4e3068b52ed91edec4df33d08aa78b1f5f21d0fdf33d0aa718704e3de2851";
+  sha512.doc = "cb4920d5acfe0e1288c7d459d15b06b9ced1130b56ea92c9ed49376743cee7e3fbb694362bac51f2660269992d64717effc5d8e9f52a21337fe7eed51a4622f6";
   version = "0.1";
 };
 "theoremref" = {
   stripPrefix = 0;
-  sha512.run = "8e9c76c0ad9b7905c16d68bf2299b57c665d5f44c8e42437b06dcfceedbb49702b5dda06af6cdaa70efb3aa10003fb60a5d5690891204d04b82989ef7e3345c1";
-  sha512.doc = "0498164f333ae9f3bcfdbd53bfde87989cf0a4dfa138c5d14135771112db49a7e103d6503dc7fe713f322f6afacb06a566c0f9bb6c7824783d4486754825b1a6";
+  sha512.run = "ec3f8bea432fc0a72d008884e8879bf22db5c2be3694d298828a493e1b4cde2dd591f35887e4aba646f44db47a75f87a08ec7e269cec77be66cb45798137c85a";
+  sha512.doc = "ec478b840b200dd0e731545f039c8ac01d9f088b7644350cc3366aece722b924187ca0701ad15be3a428131bc3025d1af9bb0440e8a487e0272c8d7997924200";
   hasRunfiles = true;
 };
 "thesis-ekf" = {
   stripPrefix = 0;
-  sha512.run = "9abd7913d609c14a512af56fd461620bf46ebc5569438a0fa03ec45cf8e1cb3b0b4b7c3db3d2aef950d1482f38b7ffcd18cf40e9959475e7b9093cdc78a1f6a2";
-  sha512.doc = "0871bc16cedaf61b54609f002a956b474ed35a895d396c9df8d2f9359d71fd6942f99e86848c228b059d5849743df1c51291f7f483fb516c3819306d2849ff9a";
-  sha512.source = "accab347b5add0f7659d9558144bdfe77277861045f62d64040c89b071106770cd44c07004f0ba08c2fdb4a0f10cc9d06f66e4b45ed43b7deafeb7a8bd4d59de";
+  sha512.run = "ee4e7a6e73e113334cd6ef392e2530803ace4873eb3c477df1b9de898dffcfbc73a20e466f9137ffb295b247df5ae2c5ab147ae274ef81224a2d1e6d4ec873f1";
+  sha512.doc = "36bbf561af8e75cc4c890b0856a1272be7f24fb24943706d94a3b4b4aceefd5b21f0857665ce800649e425c7e446f89952bb6b3d3b7a25b2dbc6810160d25dc6";
+  sha512.source = "9c1edc9bcf27f0e4186c7a57aac14cfc34b0f1f17c554b93ff6cb0f86e0eeb41af81d6fe105a32d33730ba881952e1fa9f72d2cfd8b8689d4a9a2e8f62edeb41";
   hasRunfiles = true;
-  version = "2.3";
+  version = "3.1";
 };
 "thesis-gwu" = {
   stripPrefix = 0;
-  sha512.run = "1a34a930eca927bd89a4b4630ace4e54eb7b3139031020d43f1a9da156476274dcc046f547a071d95bc8fd433e8a41328002882b55cb7b12193a3b5051be3c52";
-  sha512.doc = "88a167cfeaf3fd6a507bff7f4e8bd742a4359a0c4714c4a3f256537671144a5331df5f4204c91da15e96e6e1438effd2f61eaa68f7519e27ed6ef96793c344f5";
+  sha512.run = "f5f54b6ba4d95422d3b5e219a8319375f543939b0a4fff260616048faee47203497cff1eadf8603f03ad54f7f93bfd524fc3f2efa108bcf36c34a38f468b85cf";
+  sha512.doc = "88928ac624aa85413652ae32170854cce4c0519858b5e35752fa06bc4e7130ac031eade4127704edadf69a1fc5fa0e3357af1a0350af83decde430e606c0ff4b";
   hasRunfiles = true;
   version = "1.6.1";
 };
 "thesis-qom" = {
   stripPrefix = 0;
-  sha512.run = "bc4cc73e77441f51b838daf16b7fcd0812df14973554cc09ce44292d3a6fc0e540dc359c8dc382872a10f46f75f5a0f2530012a783ab32d44fd7dd0e46fd72cf";
-  sha512.doc = "9511bfd670fe4ea859f4952aa38ca4a132ea682b0f4feffb14bc076c99fa02cb7bc261c64081fb0a70b94055196bc8b969ed7cd713319870ea3435d569c44029";
+  sha512.run = "5afaa0d05b88dbe2d3e5dc2450d1d01b57a24f54be4437c2e9c71afa6c8b1f10144c674de2d8062c6d4a5b7a5140b1fac6ba82bb68c03ecb6560d8afd1384cae";
+  sha512.doc = "7bfe521b8f1df650304080e50805f48437e9b22b5b06f3f2fc309bc770ea0370d0e5acf2977c4332e0ca3d7b664c2dc8161f31f057a910069ba1cb585225145d";
   hasRunfiles = true;
   version = "0.42";
 };
 "thesis-titlepage-fhac" = {
   stripPrefix = 0;
-  sha512.run = "138ef0423e7dacb4724a65bfdafe7f3aa7e3ae9a7c5d128a71caba0debb9042b3506f2a507c883daae29fbf10ee34f9fa15f0d0f8cd589005a9c911026f839f5";
-  sha512.doc = "b04d42101e06bc4adab81b65a852be9ef058d1081cf1dc8ba9aeaa974e3a79bccf456bf061d29fe560455c82483bcaeb94bacc9a8995c14ac3ee7bbe7d6b972a";
-  sha512.source = "b7121d93bcfd89716bc9e78de7e5e441501b3a1e97bd8333d35420fa139a8213fd70dfed2a5d9c08021398df3142f2d22774d2b3cfdd0498cd6a10efe9d897dc";
+  sha512.run = "62cdba17287f90580fe6273d1ca9143c9fac01d7da214a20413995b925c6eced385b3a5c172e8bedb4f17396ed7e9b78e789ca475c5efe542283d9b421bd6ffb";
+  sha512.doc = "13378f3ef37bd1033d009d03772244e048ff2a16b95ca8a0f14feeda8c44b29036276c41aae812cf1c28ac5684edad56b000f8a45576bd0065fb844f5b6dd189";
+  sha512.source = "34b0f176df84b1b1d1f3e47c7c01d640b0e74e30a86488e07e9e67c61c80a96cb1b9ec835266dbee3e45a952f406ade5af5173e7df33f1d12d1b1f5d0611ac75";
   hasRunfiles = true;
   version = "0.1";
 };
 "thinsp" = {
   stripPrefix = 0;
-  sha512.run = "9c5a3f68bdae70fc961842630dc4334ebd449b338848b6eb759c65f63e56d284df325dd18d1e7d06a466db622b31df35eeca3332681df9822931b812b4d556c6";
-  sha512.doc = "a1e469bdbf2a1cbcaa557e262e63926f03b54721abf0c9336b060a77fb052e6f13a16b845dce7ad868f20a0099275c6ba21c2c05442a6befa425ec11f982ec0a";
+  sha512.run = "ddc80b4de32524ce76fe34e8f88d01e2db18a8bbf60a718454a0303aea8082fc2e495c89c2ad0a7459ed3151e890e30a1263267f249581e24bac87113a5fd266";
+  sha512.doc = "b5b50522a4a7b5f7772118d95fdf42e2f570ac35c49a8690560df27df0754a170acddd782b516fa185c0f6ef2abb3ff8a9f366370c2ad46e2e4d32dba21e634b";
   hasRunfiles = true;
   version = "0.2";
 };
 "thmbox" = {
   stripPrefix = 0;
-  sha512.run = "b0896b1799a836f471fd929575befd9b18e8189d05723f2c0bb14f32627a64d36d7dcf306b9458fd450d0401d844e60802a5c731339c0786f539d5c32dcbe61b";
-  sha512.doc = "5a2498515e34eddd4c14fdceb9b294c739e5cad4aabaddd181268a8c2ae0b6d5952804ea50ed514e471ea510c487c2461c7c9eea767fa0e5a66b52fc8b00f6e1";
-  sha512.source = "fb3b8a61066bfa8c2674bf1d95e9d5b0f9b2de7ec63a96342a55a8dd8d574e6d02c2e9dadab695781849dd254305aa12555bce9274e4089e764355b645a40e08";
+  sha512.run = "83ceeb0cf84ff75afb734f41be5a5309692c6804a5a20627c54cc8760f8ac5e205cf1a24097c8b8624823668796092d620f5ffbc488f63b87e7cbf9365279aac";
+  sha512.doc = "ad8e0710a15781eb3164527dd16ecc2050d3cd3317c386841ad8612a9ebc6055a1501272e3b01bcbc6a7f1ffa80455bf2ccdc0cc9ff4428c9688e9f6404a16ff";
+  sha512.source = "1b559b9286a97c3157d568982513541028d96cfd5d67ac541909586251ac3729574c23a05ebdfc42ab06a92ab2ea0cef878b1f42983d06fd48f825962de57cb6";
   hasRunfiles = true;
 };
 "thmtools" = {
   stripPrefix = 0;
-  sha512.run = "f34ed2b9b8e70119e344bc34c685b635e6727ba5e6d2351c2f92c61d9cac5d66cdf5257ffcbf79ab115808ab2de08d4f1a98892cf1203bdf3590b0e0dfd3f3f4";
-  sha512.doc = "e903159432323f55f6aba35e8ce68108e15199c742444459d514fac88602805329d744722c851bf2dacbf248eff515d9516bddaa26f89e5ad4e6ae360ba02864";
-  sha512.source = "ba7a852a01eff6b860d05558e25c305ccc161fb0cfa27c597a23e7bbd4d72fc8370744477321a07c4b8f197912dc77e3c566a2529412371882b920ccc0ef39e3";
+  sha512.run = "dff9b009caf0735effdd5c8da157f74a3c83914eb3a858a7f530d9d882abf4673706a96a68870664c9da2c9ce34c017cb0a0b2d96a6f9aed070dcb18c7d814f1";
+  sha512.doc = "c5b370bfd673458321bc1d95f2a4a70a2c15cf2eb0b0d830aadaccc0efc77aa60c0d897b56f65bdf292ff0f3a1c136002b65d4ec7cbc54703058938f34e7af73";
+  sha512.source = "740afaad4b634e0296fd77ada2b583b544e02942839f16e9d12bc4757c384d52c56992dbc2afb6b8c133745727be1bfea94ba321459b1b105528a35fc93d744d";
   hasRunfiles = true;
-  version = "66";
+  version = "67";
 };
 "threadcol" = {
   stripPrefix = 0;
-  sha512.run = "5f6dc2490af25491ec6b1db606bdee77ea6353e7026b91613b06b64f275073c583f44e8bf4ae5e3ce72fa7e7c0946991fb7d9068fe8eaa0daec78edca96750c6";
-  sha512.doc = "0f777c3bf18c4d739d54bbf177a7006b132a3a598c67c17da90fb06b3ffd67fb60f2a55cfb39da420053a331ff6037bfdf157e579293ca9b6d3fdb4ecddbad9a";
-  sha512.source = "153ec08ecff4e4a91e81464c54dcd61a90488af658b6a919bc4af6b57fd4b39e3b01cd9c70e8e3340e3966a63d0df3d67fccdc9c3b7e332784ece3d5614a699c";
+  sha512.run = "e75f887dc04aa55834c285d5e36babfd0844b79b9d1cc5cfb2eb6412bde9f42b651bfdca9f6819b27f6615aff6f96031135f1a6af3b59503fda34e7566cdb01a";
+  sha512.doc = "626ac69b0a26fdbed51876782a9ac2e3b0ab9b32bf3b2f32ce19cce080b5cda40a62160f453199a76b58903d762cc8085a8541fa2de3adc5fea6266592c06bdc";
+  sha512.source = "df757dcfd1eec3e8da04939ef69d04ffa59767544a1d5349eb538e111843f4c6dd4374e15bc6e586edac629f61d6979688c229381ad3cd4ad61dc2d48afa7c10";
   hasRunfiles = true;
   version = "1.0";
 };
 "threeddice" = {
   stripPrefix = 0;
-  sha512.run = "d929d3f1eda2d07ef12f9cf87913b3b7b4fd225d2a395a0012a454b820bf05359d19b4fdad49159e009ea12a767439c8a356cac934cf36f1c8dd0487622e02c1";
-  sha512.doc = "ed566010d1d3af636a9683b0d2c4b7208c1f1f5ff92216c7bd1b0d64ee463aee717e7151d900783415451a0687eaa67fc09a27bb879091ad55859a0a045f3c73";
+  sha512.run = "66e6a27aa277b45b44c156d408c764da5bee6dc540f2058a783f02bbe806c95052267a5ed79ea49b5dc356d0f03747e9b186542640b34753a693ecffa158a6a4";
+  sha512.doc = "c750497229b8bd41eca05b221ed2ca2ca49db8cbbff03bfce2712869d352ae0385e4c10e9730e0b2f8286db9af1e1b87f10d599788a3dfe8d41c28efb8b0e4a6";
   hasRunfiles = true;
   version = "1.0";
 };
 "threeparttable" = {
   stripPrefix = 0;
-  sha512.run = "484848a373608647e087db87aa37d8ce5ead9144999391795c54fa8a19c240b4ac88ab5e8c8481283877b18eb90218781e71b60f494d89c31823693509f5aff1";
-  sha512.doc = "cef636eab22846d7c323f1ee4f317a25b4eda3eab14f3bd9db80966f31ffbf4ddaec0e74a28e4fe5aa9a6c1f92e82a826f48ce11630dda5474a1bc8bd3200fac";
+  sha512.run = "f947dd01e56f6f3db8a4ed0b8f3ec564a38486fcb27f30bb3bacdf31af8360590e7e3886cc00cfbab813213974f4b335ff06ceb521d25519e8b95e345a002692";
+  sha512.doc = "6b5eb1d6ceea740ec54ba935c45f03c2e6328140e86122a38b90d84e375382adfcfe14e2e9f56384f825c913140f01a1eb6266d2d46f6b813a34b4da652ee31d";
   hasRunfiles = true;
 };
 "threeparttablex" = {
   stripPrefix = 0;
-  sha512.run = "398ffa1436ae8d74c27e6fba8c7e423a6c29518de2f860e32148e8a4c3185e043c85b03efa03c9df7be8d8a1a020f8f09c0aa81b87ac6237a993330cc0e2499e";
-  sha512.doc = "21a2834f7f9cfc0b57100533473a143910376436077a8d0513e5f626f5c13d20e2ccc0a99e7a3a9868cf3451cd253b3c370a4fa44eea16224540738bb715ca64";
+  sha512.run = "9dd33dcb7f9eebb9396a6a05ac20e9bb221260cd80f355b23f60a0466c64847ebacd8b0d19c75b3d9cecd9c522a8633468e7cc86121f7626141c066e12f977d6";
+  sha512.doc = "3dceb0aecfa2ef09bc20250cd38dd698e35b2cd2a33fb446e78a39fa654899c4f6658a18b95b39a5bff2279a0cbeeda71bcedcdb7fa91d148290302b73e7a64c";
   hasRunfiles = true;
   version = "0.3";
 };
+"thuaslogos" = {
+  stripPrefix = 0;
+  sha512.run = "584d8f130844ac834be8f061bd8078afcd8eae2e4d22e33d8a61dea8ea637476532181cdc7df9f1710ba5d8dd022a64dcb561f21334b830387e9a063ddbbe426";
+  sha512.doc = "5a2298e713e4a0711b01fe7fceae12bf20d6a0fcf91cfda63313e74709586532bc407c07be1807eee5405a6b6de74fe976b2ac56fdebbc344d59255080d80224";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "thucoursework" = {
   stripPrefix = 0;
-  sha512.run = "f05755c11d40ed861c175da688985c04d6c7a192bc2f562e93ae1aade737a72c43fa88c14a54acf6cfae4e31133378483fe1fc68c329bd9ecba3e6259bdfd91f";
-  sha512.doc = "8049cb66f918c7dd207f71ea7235390bf7874c3942c7ebacd528f167439030c6edda6e13e7aa44a35631f4d755ad86465fe867215cd0f5c50c0b19ba4b89cbea";
-  sha512.source = "e6a4aa4b1f83facf54e0272e7e62196fba486eabf1080b51df53e1bc80aba81f2a77139f8abf4a58e478fce0c845e21a6b123750f7d426677f9102d48d0a49c6";
+  sha512.run = "28786a2d16bef84f87bd87b57977a9d9cbf8b2f172928ccf56224205ec54945fc12ebe563d73df1d3501e987f8aa6af9038e28127d7d381b31be276f6e2546f6";
+  sha512.doc = "a4e7cdf992721820376ef2b967aeed1821edb6e4763251b627c61a0a85328de8d3d3ff78c7a39f43dd57f3c2ccf54fabf274a074e529ee9f82770766e87cd263";
+  sha512.source = "82615d29bafe844d4c27f75d477b2f731f090fa8080fd36f727c9f17dfbadcfd0bcee2ca7d1ebaae0b75ba61d18828298d5ce64c046f8a6a2a283a2f24658c0f";
   hasRunfiles = true;
   version = "2.5";
 };
 "thumb" = {
   stripPrefix = 0;
-  sha512.run = "3a8152471f19b39ceccd92317aabe11abede9a4f15c4c2ee483ec3d4d945686c1c827540086fbaf77a68a8c55d6f356d460b69f3ce99957de7896afbd252bc6f";
-  sha512.doc = "c40a0010a02de1a9b690d0bcbbeefa6f4801b00a0bc20eecca4526249e194bb5e31a057b16fadaa68924219361ef95d7cace97e53f4328890eed40bd40fe790e";
-  sha512.source = "a7c4a998f2a31d08e502bf8a260cc78b234ebc415531fd5028fc8985da78fa16b036279edccf49dcd79e3dc08cb485d9c7a2e64c30b61898a019bd3d08eaa308";
+  sha512.run = "30290cc3b8cc48de6c601fcb3d066f0533bb3f09f053d7912db7a127d8327c4aac0a96499b7eaed36b8caf4dcdda5c8f34a5430d69e1fac70510f426c92ab9f4";
+  sha512.doc = "29abd2e57cf17edbfeea06c041666ba29e436defff1600df7222dca6160e7be740b64647d7a44a10f6f803011a1754abd693048ca36c4c372ee0da52df2562dc";
+  sha512.source = "1712eaf8ef694998eab8cd0b95c6e8affc2a967c81cef6d6bbe8d985137662631254318ad2dad9a021a70ab849986e727699715b27fca1a5952df111474f92e8";
   hasRunfiles = true;
   version = "1.0";
 };
 "thumbpdf" = {
-  sha512.run = "65a4b13fe25ea01779ff26589fa6d0537d2cced3e622ee1959b3dc8e87c7222f4d33b03be491eb258431730530594288554ebf2306d3b7b2648dd5f5085c13eb";
-  sha512.doc = "660541e0e6cea66d84b2b0fcea682eb395af5c15a9ed243bf8d2394830b779dc5bfe96430f3eaa6bf327cfa1b37448f3f8d138c07c29ea24da48e1e2c5bad6ef";
+  sha512.run = "f3eaaa9ad4287d58ab89b98e1889f99dbabd82153f99921a9249b2cfb741c0cc45bfdd1903590c66bf0b63c77490017c36f552e34d7d15290cbc5904e57a3bc8";
+  sha512.doc = "fa2a7cbf80f7b76e63aff8ce5584e698e9f88a0d5a902895afa22a100202fb30bc857f5a1b88e190ff2dbf5ca9cf2338f6ca96a7b80a6d3e6e549040fc3ece7d";
   hasRunfiles = true;
   version = "3.17";
 };
 "thumbs" = {
   stripPrefix = 0;
-  sha512.run = "1f210b14daab6b432571a4a4fe93c630e946f45beb9b3c2fbd96cd8f654db88280dae4c758669c9ea9e5899780754f6cf9802534d59bdfce2e76e780858e0fb7";
-  sha512.doc = "8de2e31205c5497552ecca79a27b6372a722d1e3678520378f58cf048a2f1829e2b35fdbe176be543de78ba94520ab5c8e6165a9b5829158ed77d8782e92f86e";
-  sha512.source = "7c78f71fb46f7e67b80a3711427c3f291d362da786b0e5583e2e2109ccaf1d7cf10d6cb64ad39b3d5a7ea65235e40e808dc8e82d1cf7860b7ab114e3c915f4c1";
+  sha512.run = "58e489402fc44cbaece118203bbe7011494b7ef16ffa0e5d60be2daaec0c4ef2d048a71f0d9373a1683aa780fd20e3d64330e199596effc7cf2fcdac34f1faf1";
+  sha512.doc = "4c58ff61d64b841b3a3bc018f94c193730129edf45c87fcb9c85685f748ca3db1f7d51969dd25882848cec906485f739f8f07c8bb2f8bded580b59ea93032a14";
+  sha512.source = "26458ebc431f64a324c39ec370f2b0714a56563decc944c64156f0a6a3e22664e89239bbbfa7710d9b46706657b48470ffd1da7a1801aaca2732b30e01935fe4";
   hasRunfiles = true;
   version = "1.0q";
 };
 "thumby" = {
   stripPrefix = 0;
-  sha512.run = "518e2e6a13d3ecf22af5436498938605d247e13a591ef06f81dd970346245c42593172d05e19a73e3928087fd8dfb9f6daf866ac735528afab1e59a31c1f81b6";
-  sha512.doc = "8682faa744b12afd6ba55197c6f03b5417763237b47a78a4805ce1613a2252c070857f292016df26ea8ee219dfb4e5110ab2ac7273cb86396839b53ef5e0d7cc";
+  sha512.run = "485bb2670133c3c83f0f7aaa685defc6d36f5d24173652d869f526770e1f55c55a31f3a3180f115aef45fb824d9032ee915b91c1c59b9b33794c95c92f03c3e6";
+  sha512.doc = "bac645197085968fe8a7bd41f4a9ec3c6e51e17e6750b87ca1a458acc9f6a4f244d1f3b36b9c622c98492b90abddf9a4df1636b1874c02820dcdb6340bad0910";
   hasRunfiles = true;
   version = "0.1";
 };
 "thuthesis" = {
   stripPrefix = 0;
-  sha512.run = "f532a48e24e05af7e5275317caa86e0068cb472d70bd57c8c608b7fe2f72ff41fe660b4ef0fbc8bfc5624caa87b843cf5ccdace493f4b268baceaa3924d04d12";
-  sha512.doc = "669bdda35639db48a5f905b6de3885019960065aae230402127015d729456a1afa418c04ad3f149b106d4397073a7890a36d11b614d95231d594cdf309d7336b";
-  sha512.source = "9ba973f157089153da08c1c857b73261cd3ebdee2add3476717a3d0ac4efa99fe7f10be5fcd94903e7e306a384d111fdf6440500addf26586b216a2dbebca82e";
+  sha512.run = "c13d916b927b5caadd0b6d7d9b9abe05cb6ccff2eebff4cad0034589ec63eddeb8a7bb19f8280e7f52b7fe4ef651df29fe20f82c0e2b34e3c8c259cb5654ac5f";
+  sha512.doc = "db975be86cdfa84682ca866141e2673bee2cc9650c598057b9ab6e65251a07dbd4f760b9a80104df82661822b2319a1fca9589f568405543fdf5c207fa3560c3";
+  sha512.source = "74c47a6ed23839ede380bcadc4aaa24a526f62b46a92456e0f2c22e125dcfdb1006a0e4d9070247bb65b5096dd573988de9c4c1e6f12cca4cd8f9d553ad137d1";
   hasRunfiles = true;
-  version = "5.4.5";
+  version = "5.5.2";
 };
 "ticket" = {
   stripPrefix = 0;
-  sha512.run = "a9ad6a0aaafff536722e48807d9c7eeba9c51595901c7707881099833688bfed0e7bb9083751668c28fd73014504725edaf23ffac24b3b9fcd617fa77621497a";
-  sha512.doc = "0e0a21a1645002ac14abbd8d3c1715ea33631127be6f26bdcf84833ed1822677d467d5baa9abcae870586c2e1ced36db495227e4b4abeb62eb6d22660ed47293";
+  sha512.run = "cefb3e06df2953063e9d12f19f03e973212e784cebfd2d6628d2e9ddb443159b285b34f12238f6b77813cc48e86aae7018cb5bccc4fd158f4d891f05fc51dab5";
+  sha512.doc = "fde4b06ad09837d1d6b6efb275800e32f617619f9c18d2dda5924b094f860492053c4ee361a2fded1c9f4509ba5e615601b183191c0cf064af24cc59cfb23748";
   hasRunfiles = true;
   version = "0.4d";
 };
 "ticollege" = {
   stripPrefix = 0;
-  sha512.run = "309b415f46bc8e57e6a8a35c687ffba4ac1a7ee51b310e98e68c67065781742988263d82184f23d7dd9c566d4e540e273aeb7dbc59dd2675c0c54a637ba9dcdf";
-  sha512.doc = "a654a545c2a1efacc5a9bcce01394f9d3a9587ba78fe3f054b46a0e8cb9ef4225802fa89ee572196d0607a2369ee5b597aec09a01350d9a73be94d9c9d5b8e72";
+  sha512.run = "92bebbf5a5e7ccf7be09c205d9007a780422c625d9a308eeeae50b2ec4ba3cc6755a37fd8a49e24b7a381894cc3791fbf50f54348c3ac584a2c0d9a693f93a56";
+  sha512.doc = "f0049064eab926eefcf77fe5aa0606202cbce79ed7f0e0f1bafb171ad82b72daf09fe2c0cdf79720834d6349d9190f1d3069f155df922ceb469ad3453a6389b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "tie" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "9916097a030d75cba4162ef3dce197ca56effccc4f7c9950d28444bcd327eddd343ce3fcd1dd38617c3f4ba6988678d5874599673ee328e9dc5d460110ffcdfe";
-  sha512.doc = "aa7433f73867d6c643a0930e37f7c903721dcbfd9ca06e350770734546097ab0496573604977a3ce62517ff4c1f068eaeb1bfa0e93f639a8bee42d90a8f6e26f";
+  sha512.run = "970a855d2d025b3ac30a4e1631986568459bae84727b661ffc8e0982656bc66eb940b59e2b9c3ee6430e3abd5f7d8b0ce4ff828127bd2f9420e0139f1860527b";
+  sha512.doc = "24f07d9954fe0385abec8487d4c488df551453e13e8f638e32899722d62dc91b23df9d4494f9bc13662d57fed6e8dfd4d71835ef79832b59f075f9023797e858";
   version = "2.4";
 };
 "tikz-3dplot" = {
   stripPrefix = 0;
-  sha512.run = "20c7cda2cae8229c672e4a3626e20c88084990331e837360c2f9a2f996d4c1f45df6ac12583e7cd9741e16064f0fbc94bca06a2965cbcb5a47a465a8793d5d4e";
-  sha512.doc = "b5d5b886c9e4a07f4b3ac40cd7b3f4512840975a9ef88d73d6db19897893f85b2125fef1237e0b60109945a0008a5b2b0a504c67707be211257bdf583f85c440";
+  sha512.run = "6d4aac2eaeebbe2a4827a5a40e8571c48ff4f5cc854daf130ec7f20f8fa06135bae1486a42b223410be848b72be2c19d6e2ed798694ef5dcdb5861846bd9c072";
+  sha512.doc = "0fd9bde0f12ddf5a4bf6e2e1df66a9aafa42e81cd945b41e09e8d289c57b04faddd303a415c36239e6686be90f06e8a7cc794ea50d17ec54f1e25703314257da";
   hasRunfiles = true;
 };
 "tikz-bayesnet" = {
   stripPrefix = 0;
-  sha512.run = "71da2af20e64c14285287e4959d2814f317cee1a82b204c6c773bac13872c8710111afb2b02be6dcf0cfb73b5e3a13d6835650c0a6eebbf452348e8012311b21";
-  sha512.doc = "295f166c1dd496a81e32e59665c2faaee7e3b158b6f0a42b49c842e501a8f9384cc0c8c77f4d3d7eb3a824c36a51acb18a8a156402e69016c91cebb1009488a4";
+  sha512.run = "b3c535af8afe86e311e4c7371addfa484403a0a9571a17d1cb8d39dd7242aa4798476352bb04a6bb214086f1ed4985595c502723444a032f9bde04423c26bea8";
+  sha512.doc = "2bdd764163c606579e68099873844fdef6b9a36495f4117b99ca483bbe43334965a177f398da60e82c11035b5c7b9e0513ae56e6868d6238cc0c798f47ab37e7";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-cd" = {
   stripPrefix = 0;
-  sha512.run = "4215f42b0763ca959349183ccc2096c1c2d7e0d6f5f633424cb4aec087f07dd5cddb159e5925b22f319354eb92e54c00c1b12ef492d5c0b5dfc84db20559c88f";
-  sha512.doc = "340c918009b6525d77243635f7d8f5d7e1ec5c16a3a58d1a569df27f7aa7ea2c6152180d00e4b3765fd60a76d330a33891b43a1fb175419c67c6836d37428d73";
+  sha512.run = "3fbfa7731eeb6d2b9cbe67cbc4d5470e235f6f990b76b3c82961df172fbba9a8f62ec6055743098cbdb2d3d8aaa3b94f5d4dd8f735624c7d9562de6aa72fdda3";
+  sha512.doc = "63be72c0d55112e8328d40ae4fbd1e3c92133615e28f032f9f5efcf2432b6cc440b3c4de4ba46f3eb9e65725caf7de3623a8b49f3b9a87ef780dbeacc536df46";
   hasRunfiles = true;
   version = "0.9f";
 };
 "tikz-dependency" = {
   stripPrefix = 0;
-  sha512.run = "7aa21563507db06cbb0dbdce4f54fce991faf12049a9a89498adca2f1a3339f9df0094a4c9372c930309859bb1ea82fd29b90e06490a27fa4b03e06fee56216f";
-  sha512.doc = "18692a4f0ae6a552b3d5a991d8c5950bfcd3f2396bcf20247f964736ff4a172d4590c7eabd4636ec7bac8bd2868ce29f39b74a6d239a650564abf2e57923ea20";
+  sha512.run = "e6f04805d8c36c6bf81deb68ffa2c43fed7a7ce21541d6b02828574b579cf41d5b57fd53d12f18e82b66c3f96e7c6962555dede9072e243693f6f6767146ad57";
+  sha512.doc = "ebb3821e66d238967aadcb06d801a0d18a90610eba37d1763c44452f7bf8fdf0c1cd30d52a72f0120a45429c303739fa239ad05b92ae067b99771d9bf4f568ca";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-dimline" = {
   stripPrefix = 0;
-  sha512.run = "15a9227ff8fd1613a7d9996d4b648748228d6b5a79f4253ea8003c7bfa2ca29e7e78fae9504daa777d3aacfd3c04044612e0438ea15267e18926401897337f4a";
-  sha512.doc = "14e5ea2ca9dedcb70a141b4e4d67ca6f84b7ebaaf2a660f444d08be58edaa91743d5c2113f8ab454c345805b8810498ae43ebcda57a764516c85785fcdabfd0c";
+  sha512.run = "c7a3b158a8acd100192b7dc936f2e452513125389f72c12f0c3818bb4e771abf0748338f13603765904adf1d808fc2b263d0f798999c52638e610d24addcc641";
+  sha512.doc = "62edb9667ae4405c798a00c1d079ea9ed5bbdddd76e4a730aaf7405d175afa146fcb7bf43a551001eeff1f683ce3b47a0a79fab66b7410be59f18f4f6e409ef4";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikz-feynhand" = {
   stripPrefix = 0;
-  sha512.run = "f61cdf7e85274354bb8dcc254d725f253b5b692b5ffb0ae98ce46577400f99f272c533bb9bafd81cd5c6f7f303e8797ef5169dacf967a2020b144373fccf8b00";
-  sha512.doc = "27ecf9bdad89dcd319ae1df2dc6919d1a10d1d1ec0556666f16e71e39355e17aa21ebe75575592f1dd08d327a34b36e20475537bc2afb7bb53959895d6720e7d";
+  sha512.run = "5dcaa2f5c846957f3583ac5bfba14c668cc855c6dd930eb5851c19d448efdd207ff34599b09379354d0c772cb1890fac375d75d61524e64148602f4b5dde4355";
+  sha512.doc = "b0cf316dafb9494fc21d5657e1e3c1b4780b7c30e2fe93235d6d8538979471c31989e4203575dc66204fdb1cb11386d290feba3070e43a273b62ec59a73047d9";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.0";
 };
 "tikz-feynman" = {
   stripPrefix = 0;
-  sha512.run = "64b388ec8468c2854d03ea4203d18557446c892b06076a26db173604697f3ad7b95238ab8d89e652887ae6c5dca40d145980638308e01883a6fc1619d3fc97e4";
-  sha512.doc = "da15dfb8f7e5477df6032d10c0d10ba07a06943e6599c6f800ce92f589c5715920faf2c3d5899c9c13496f5aab12705002204879994a11f526042dfd0487ae75";
+  sha512.run = "1a1ebc5d2f2eca4e5dd16ce744774add9b8f5b4c3124dee46f0366f43a59b188b0873939d2b68ff0d679f3e52f1a6bc387ab81c363912024efd0eb4110e2ba27";
+  sha512.doc = "b3e90aa1d8476aed01faef977b75f4e3450cab121d457eca0bb254075c1e2ed58fe15196ab0d923906dcf6af4f78bc76d6053343f6444c8294bf7d5bbceb3cd1";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "tikz-imagelabels" = {
   stripPrefix = 0;
-  sha512.run = "d718a1eca8a6a015618051618bf56116c995dc180f319af2432cc138116a0c2e7225baeddc45f623d04b20c8106d3e08853f74002e63942fa0b85abe4f1de636";
-  sha512.doc = "b79d397f7315e06a2b3c24bc2b01e0d8735e4452256b44fa788e01c452d9b7905f985ac4c4bdcbbc4d4b55c9415af3f09fd2c6d661ac284418afa7c0be72cf42";
-  sha512.source = "f5d6a749621334e217cd9a3db3f7d3bc190822d581df18f4ea5f715528e74519042a835d84e579c9f65487b7c750fce1c6ea76e60c076c7c3a9591dad504991c";
+  sha512.run = "b74cf7113b288af9e98ceb801eb4d72e4785ce30390718c4c0eeabae20c49ca8eba91342b89dda525f06b9f436a427277c4ae8415748f1487cdb073088ed26c8";
+  sha512.doc = "843f943c4a0e12d1260ee17f9f908adee568100b1e415df3f1b383fd83d70065c57a21290b89923d7ee84819356a366a467e42fed61370b214621a9ee58ee97f";
+  sha512.source = "2c6d1c0b599488bea8d53c136d81881d8cf15497e295b6e0701bc8570f2e868bdb1e0149f25943102cf6e9babfd53ad8401328224bc16a305f46748857c79572";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "tikz-inet" = {
   stripPrefix = 0;
-  sha512.run = "cb9148816eaf21e3e9690ca5875a3a6cb7d0b5056b889acb2d9b4e3a8430009976187e19daf8615dbd440853b29c6a411f4dd32ba6113108979b8c5c75851789";
-  sha512.doc = "9ad3e4227c4a8b5857320ee8f7d74b5f7231b3a562c430050ca52927c9a92209194436d742c3c5ed53cc173af813159feef9b750090253cb03c041647e154764";
+  sha512.run = "0c4ecd55d10893ac8bca7b8ac38f2366f30cd989c5d6ab4dd501047f01c0285f8e4b78309dfce06525bf525cff77e2edd56429aa166f24b9a7e07586e3befe96";
+  sha512.doc = "e61f0a7879dd0ec016b6c85d66e6ace6b953adc2b9abd87306dc4d071d82f44984e6e25530db3fc658650f5ca74e5c237aa64d18e60a3c5c8c7f57c6f42103e0";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-kalender" = {
   stripPrefix = 0;
-  sha512.run = "26ed711d9a64893039d08dd10638439e25676c811d08a3c5a12b794a6a5c563dc79ef56c1d6352fbdf4980a1725804de76dc58e59b2349dddfe88b5a48d38c81";
-  sha512.doc = "18f42507603151e2854c03911b03bafab90ccadd75a31b6c60a464357ff89cf74113fa23407e56726f5e405354f4f4173c613d626ba0128bc4849a0feae43ea4";
+  sha512.run = "1b104896f1eda97270afce51ea05a5653d810c5362df86865e1b51149533ed9d1d2293d945e2917b502c94ff89a38aa98b50fb3014f769257deccc498bcad70d";
+  sha512.doc = "0698a9fcacf2a28f9e38fa2adac429a09e439808b017105b29ca68af5325f4caca552b88a11c71924e964914e8e362b26573b1dffb7c07bafeb901bfa04254c2";
   hasRunfiles = true;
-  version = "0.4d";
+  version = "0.4e";
 };
 "tikz-karnaugh" = {
   stripPrefix = 0;
-  sha512.run = "e61e20154dcc35aa7b13bff85a04ac8ebd35036975ccd8be7a32f1bf511c93d8ee5ae3aecf02fdafdf820fb95856d55a5d68f55b4d96d2c40926387307b7d9b3";
-  sha512.doc = "f231e288a12c2d26c01127b4a4bd37019b3395221bb5ef777bbbc3f3f8e55c7ca410c41b4d068031dbd1f6ec9080af27c601ba68c02ae23d506e340fd6326e47";
+  sha512.run = "aef1c5e3fe96191d0dbe55ea9f2307b05c328b92621e9dcebf4f8fb862ae501bc6dabd4f96915a800532723b447632e21110cbfb9483bd73dcef928b102bfec3";
+  sha512.doc = "b17971734dac21649b75c140dc1dca832de35460ba5de9e83f8907ed075fbd0fc2872edd39da7aaa5631b126ca0d59d1ad440e4fb2e68ad277d7ea4bb8975440";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-ladder" = {
   stripPrefix = 0;
-  sha512.run = "a93bfef42663121671d00e38e6cc25914c3e0a639ccdfde7954158bebcb0fa89d80634de2443597c86a93998c9a5b7f3992b6f77e7a94fa4d40e1e1f5ce1eb52";
-  sha512.doc = "3b64a2daefe80d550eb9f7058480224e10200429eb1e2398a05e627cf4dee0a53feb026fa5156b8cf892b42b8d73821669e8a744a0801b0235b31535b7bec139";
+  sha512.run = "b01bd48b4e8dbf5e3549bd24949b81b3731b32d715dcf3d3141e2e2eca5a98c1f5e5369c10cfdc62791280aa3349cb5409f582d71701ff03dced0688cad1847c";
+  sha512.doc = "9133c29850f486ea62be8ef9b61bf67907e88c9557fbac132ad04501616efee97725fc58585fce64c59707b4828a4953d926860af7c99fde9e3e73a479b28d0c";
   hasRunfiles = true;
   version = "1.1";
 };
 "tikz-layers" = {
   stripPrefix = 0;
-  sha512.run = "8f6f4b000f21b44b28b76be464d6870c2f1a126ca94fa0468f19889b4fc71bce513b02925b70b79f58ddd9c474ba0d7190acd510fd9f0934bb3e56c971bdf478";
-  sha512.doc = "cb390870f37c8397fc30e66b8be8b22c35653fde216f25354fc7651c1740c7e0b950427af2fd38e2a45dc129c3975a540886374987390ba0c7d3ec2d3c048c3c";
+  sha512.run = "900f3cba19f723cd75f59f2d3380ac96c6bcd53f4d80ce27b2d393d4728f37b9d9d2bae414f20d38e4b3b93769374281d4e741ac2480986b1662696e08a9a207";
+  sha512.doc = "617f1a53fa77f4a766157e72013227e992589b0030ac90ddd181643b1ef212f7e83b8f84f2520d64acf53f2cc76e3333e7ba56b78984b28c3320e2977a87cd56";
   hasRunfiles = true;
   version = "0.9";
 };
 "tikz-nef" = {
   stripPrefix = 0;
-  sha512.run = "9f53ae8076f72ffdaafb812e1da6ef06ecb212b1795892673301d881ec4f05b4608fe17e30a18875886c12c002802ed49c26d36a1f282dcd6859e3bc9ac0e632";
-  sha512.doc = "7acc3e48cc8cb83530c022beb1dd27753c1344eb5f58a8386b6a90cf12b9313f03a3ad152fd479394a6598de690c9aff173359e04afdf9c04d794a78b904b24a";
+  sha512.run = "e0bfbce75ff6c9ea02a42576a767e1a06b589797995e29e9c2ddd8640916496bb50126da69fd859d9fe6c89a447c342fc15d66ba620f084980740c6e7238c780";
+  sha512.doc = "724dc025c4e67817940f9c4269290dbd1a77208ebb8bb489f4807fea30594eba77c9896e3bc814825307f2012112576cd268633e99b53ead7b60d3689e155c09";
   hasRunfiles = true;
   version = "0.1";
 };
 "tikz-network" = {
   stripPrefix = 0;
-  sha512.run = "bf8dc0cf66e2a3a0317265d7ae5b79bcc417aac278753b6c935831904bab9cd5ae1c65b3fa1a776caa5a798b1e038d21c6c4e00ca78a26e591047290f3f4717c";
-  sha512.doc = "79031df0589f4d900a044b617a6aa251fb0e137cf379a6530c0061955ecddc081a1fda8997359d36f0036395db070d34909d6b728eb216057bfe81e236ed5083";
+  sha512.run = "e8100d04b9ef3336a514d18f43ffa6af5d4c2a2ce28663c9f4b40272f5619dbe11dc32f8d7399b7b730f8a90c5aab5fe18cc839d6736d7be6c8e37289e2dd30a";
+  sha512.doc = "26cfe73177bbe885cbb224fcd9b4f136a224947a4d9000e24c7f4fd1c44194ab8d2e11dbfac558c68ce36a30c7a7b82f335e3275db22e599dfcddd48d91ab08c";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tikz-opm" = {
   stripPrefix = 0;
-  sha512.run = "00bc73b32a3a7029e1c75ebf329aa1b95a89e43099e63f046945c7840bbdf10b4dfe39fc2fa0412a2a5f5a7d2d14b0022934a5e4d25f118e3effd565ce8a8ed4";
-  sha512.doc = "e885b98a8295bc73cadd0f9db6cdb79e6bf725990831d2f7f9bed3ab0d72a8e1746a949c25bae90f3111b80be19db177867b17396703309dc542eee5d5627dc4";
+  sha512.run = "eeb000cf28e2ff79106edd734ab71b9ec4ecb0db043a8b03764a98a33d3ef570711974bb13b58453362dd045b1019bfb4a1c1a856b74590110f7d8af308a3f01";
+  sha512.doc = "a2ed9a4b52d34dece5b0007b9dc46cf8da8cee0a9288b8db79f38068db5227e35ef9e3fe1f93a4c53e994c06c2d5cf21257bcde24b02f1553cb21d9f7585751d";
   hasRunfiles = true;
   version = "0.1.1";
 };
 "tikz-optics" = {
   stripPrefix = 0;
-  sha512.run = "662ac765e5f18b1d3a63be91cf9fe03df838a50a8a618caba7fa922dbf461774572d3c3ad055cb7a856c698450ab33d51d08a5d1ed5e03c97a09cad92476dd74";
-  sha512.doc = "70a1908f94e51eb0e5d681047386f7c1f9f24e9537f6e2407bbf039244e15e06ea5559ea9cb4579e6b017fc22aced906f72dd672f98fe4a6f8ccddc5d3c86037";
+  sha512.run = "703bf6777a78abfc72ff87d16a45c1599d9d68586b38fdb2aa4b2e180ce9cbd808a399a61f6ed381a3b04e83877dc2095c4701d10973f8632a0a32356d71f83c";
+  sha512.doc = "0a9f4d246869cfa0a8e7d252f78261a7877f4366fe1fa5c9db9dcb9a8dc36021818042d4ba79eb711e73a7ac32c0dd601ff892f97243fd5cdad373ee3ee02611";
   hasRunfiles = true;
   version = "0.2.3";
 };
 "tikz-page" = {
   stripPrefix = 0;
-  sha512.run = "f1b4af96e033ec2c5a927160cb44d88b47bb1f4ce4fbda953e6a0c17877f8b1a5ea43b593197b241d4d5fe675e176faa2408ffd39e986b542ed5801a024819ac";
-  sha512.doc = "3bd8489c3eb5b801054d55af24c35be4aaea73a4844f8215b27018d492e647a4e2ef3c1b009e22c06cc8a2db15f74f57dd1711860cebdb3b3d228d6907f009a1";
-  sha512.source = "61fe91386e466c394fc66905f26d861886a5db4adc370b25830338fca780112c69d683ba26f1ab860bf6e1714749a52ad69ecae42c2d26cd8f22b2a07d7b62b2";
+  sha512.run = "be0e43fc329a014b11fce907c6b073f5f4be64b4da4b184705aff2c08d82c1e644056491d01d59ef0ef8a22b4b4c3f22b9012953e00802a9b697a10f0a2f4920";
+  sha512.doc = "896da337485c89508e7cb2adf377090b768beded3360a730a5a9c2400db73866b01e0091aaaaf8ce25b7444bf5c5a243f5eeff444d4588a4f8f8b5ac8aa9cdc9";
+  sha512.source = "34741f8aec629a8d7929372f1fc5b51ffcef4d95fb95c039c9ba96e4fe05db366c09c88b6987b57ae0573ed067947e2a375f0bea96a74653133abba850453593";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikz-palattice" = {
   stripPrefix = 0;
-  sha512.run = "7c4cc55bdd6f825767642c5cf1b0e525673501352556127645bd0995400adcf920cf70240759d8a54a97a0b1672852262f2f02893b790e9a50ea52130d902a2b";
-  sha512.doc = "417702f0aef6ecea84563bbc61bd79fb9bb1414d99e64ca875a4cba2b7592cb94acddc25f20df51d057f03fcebfa909454434d68e8fea6402885aad71eb278ae";
+  sha512.run = "6654ca0888b9a4ac7106d5d275a347e38de7dfc342d7c6228670e51a0285937015a39fd34e83e42a5ab8c2f4341e7f233535308bb2cd65a55227dba2d67ad79b";
+  sha512.doc = "8fd0a5a2ca4371e021ccceef41115b6520df6437198fdcba7fc37aa600821a95e91696fabb19cb0277639ff7664574cc56a62e1edcc96e58f26dd65ef5c82fa2";
   hasRunfiles = true;
   version = "2.3";
 };
 "tikz-qtree" = {
   stripPrefix = 0;
-  sha512.run = "24fa04e4fbd8f729fa90fbcdbae2051a2fef615671a1661791ab791ec16ea5d55ac23c03df031d03f56e4925ed417b585165bb1605b608b6379bca5a50d2d276";
-  sha512.doc = "c8260b1cd8f11217dbf495b9479518df657f7f52b948e4498b71fb31628ba98832f450d7b6ffaa965087940fc4795b932274b35c142d01591ab243b64d03dce4";
+  sha512.run = "5b00d147eef48e874d2d5c9b171e93703c728cb56f3882af4e63a41b36ebdadbd5bcae332bcfc8e091b16ee14a3a3e16c594b0f0879bdedeaacde1c1700c542d";
+  sha512.doc = "0e2a19415d00cc6c94961dc2e8292038078334cbedeff63d889a3d843d9ca3e89533870cabe2068f5631b3f48fc456cac36b1720df175c20a9f6c986c388f799";
   hasRunfiles = true;
   version = "1.2";
 };
 "tikz-relay" = {
   stripPrefix = 0;
-  sha512.run = "884e8168d988ade3a040b87ebfa405bec5acb0f64466aabdc1da24e159a54db74898426df8b99e8e4529744acbdeadb0ab044fdb5b09b0bb88e6392a427959d6";
-  sha512.doc = "c446e3be63e5831619b859ea9d161a13edb633de0e698f9f799147aca0fa854488da86d548fa5065c45312217b01aa92f863fd8d6e8128649bdb25ecf6264fd1";
+  sha512.run = "ff171ed2c1b494ecbf012f1401fd0f2d0fc56a388383e482cf50ca7f591af93b2e6da74c237ac4a17fa214a489650670ef8560d826c7674086dbde6d541ffce4";
+  sha512.doc = "1e81af1e171e7bf353617b1fee7f456b1e263ad911a842c154ec813c38fbab694f46b134c213810ca8de106854cc05d40bf8dbb1376c055d4d92c4f87e4e779d";
+  hasRunfiles = true;
   version = "1.2";
 };
 "tikz-sfc" = {
   stripPrefix = 0;
-  sha512.run = "7bf5df58a491bfdb3bd1d1849a33c15a02a3195175fb22286091b4dc57891bb8317f88deb4c0dcee8cf79c0deeb07d83c1af57960edbe703598a740f737fd099";
-  sha512.doc = "580cc1a3ed90ad16fdf9500bc8bb91179525a8c9f0570a44a0c1c7aa73bba8a749f7afd7f3b5d6f93fef573bfaa989449dd72ef89f0854dc14068a24c8f198a7";
+  sha512.run = "f31541b2333c5d8343143aad3a260e528523f78636cd772deae6e0eba81957ceeeb41491279dad621e4476bd9f5125ad994814cb2ab691e5039b54f9fffc7cc8";
+  sha512.doc = "caaa3c08f358b7f920322c553ff77e1f42414f16c67d2dd77bde8992e545366224cd7070e833268437332c080d6c65ab244678a3e9d5888fa97d21aafaa2d2b4";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "tikz-timing" = {
   stripPrefix = 0;
   deps."svn-prov" = tl."svn-prov";
-  sha512.run = "74986c39200857ed680fe9223d7c35fbb1ed4e890c9d3def0576201c717b53974954d3983c074f99ebac425da40a909f202eab3175d79d2b96d9d11a473af7c6";
-  sha512.doc = "0ed1dcdecbbcc83bf78e7aeaa528e93e772b0f999de59f3b1e0a17b661128745a4010074ea2cc18b9c53a72a6a67668baec55c91fba41f70341af17d79725e10";
-  sha512.source = "2bd27be6383b20223f7c4934b65c27dbb6dbe4c509831f286526f87fff6a81c34faec1e2cd95bdab49826c38489a7d21880f508aaedb6f22d742f5db2d3f132f";
+  sha512.run = "f5f771d0fecb0615770d978d1ee5a8a5ebeae4c1d78d9f0ea33099a5c8d89cb7523c70dc38d3a0a6970e997fb5d7b9eb30e54bab4b865cbd8a53519d3bf529a5";
+  sha512.doc = "e0d03fa23c84c8241a8b29a6a7242cb54bc6cab8a25ecdea64dcdca70606ac086de9f021045ddd103b35209af05b5e0342808a97b007c639afc40159de211ce9";
+  sha512.source = "20a12782a5fed931f92198f02408ffe39a973eda5cf95904b3b33f5fa5b7a338b419da5e985c76c57610eb82c6b428f02c2fd28f24ef381708af46974bfa0920";
   hasRunfiles = true;
   version = "0.7f";
 };
 "tikz-truchet" = {
   stripPrefix = 0;
-  sha512.run = "f77e0d9ea26c018b245341b188d2dd74a0cfbb0fffea18d53f72d17e559345d8f1edcdec0321bb251c40e13d7bd547a4d9fbdf7d36caf7544f85354c2b342c9e";
-  sha512.doc = "471b5e5c25b6a0ccd322e580f4cc9720908265662f94cfa10c2ecd0948c141c3f692418a5915ef34199b04b1b2c6a9c5befc4abfc5e8f6da7632b7bd564b3fd8";
-  sha512.source = "491ae27c7ebca7f15d29c29742845039cb04f5a3b0217612fc10be2f3ed97968acf873232da42ee654382a5c44dc238596ae409c688e69eca2668c277c84a5bf";
+  sha512.run = "74cc5a05cd9558c68cbb7987671fe1e02a9a076049aad96d4c95d7471ff04e48f03c500f58b85bd8eead46e1af592a54ffe1ef0b0ea0644f4479a332a63dec4a";
+  sha512.doc = "7fb291a9d7309c722fe31cbcea7a4004d44552f547e4d71fdcd667efb4aba41b6bf0be0cb941dd16e425eedc668dc6de3d2e55f964146a62b861296b0ed18579";
+  sha512.source = "88a3d1ca19871e0329e40165b35ec90ce65b1565d42b4a678bfe611311a0cde68a6a8c67ff3ebdf78a1bafed1fec875a4f221efc6934724a265a3402d4970832";
   hasRunfiles = true;
 };
 "tikzcodeblocks" = {
   stripPrefix = 0;
-  sha512.run = "c95b1f21ed2f7c4c7a260794025128878e7d08c720a28d68053c4dee9b1e09e79c93ac1a2f8931e1ff988f127b4bd5e594407d819a6ea08229c6b94ff3b7658d";
-  sha512.doc = "0c6e96db23af4a4699afe71ea4fbc77481ae6a8dab7cbc0b1e64e9d2fd82213743376fae03c5eefa09b6ac9c1953c39e65f91c5581c4fa039a212a5e56850034";
+  sha512.run = "709d531084b03a8bd1b645699de70a24ccd6c57050bd5d7b9697c778ea702e846adfe288983970a745b8745eeffe6acda3d0024fac65ec4e99475c736c5fc2e8";
+  sha512.doc = "26ac33c604e51ed31a5b36c174350b1860b8b01169470cc1b50ce49808f7c8d84886110299bea82e72b3a5f0c18ac0f897d879aaabad1a4712dd94af47b3b10c";
   hasRunfiles = true;
   version = "0.12";
 };
 "tikzducks" = {
   stripPrefix = 0;
-  sha512.run = "b34143fe866933c56ac5f1d45fe7cb5dca62cc27e99b98d61b79a6cf00398ea7687e30d586118b76e375b9cf35c8ed0eb2f177249b78ca5f4b35932c719d7c29";
-  sha512.doc = "8ab3179a3251fffc8063ab6e8df8aef13f611ee0bafdcd44e44aba0ce7b393fcc10e1ba067bb32678e379e37266fbc55200b19b68b8924abdce4192ae65b53bf";
+  sha512.run = "a4787c51f622a45befe7a01e0d30dd7b6f7f408fc9f64bd53fbfbbef721a0adfbf80253a395670e13c6eed43593facb704894d8652d65853d1082c0fecde8498";
+  sha512.doc = "55f442ca85b45e3ab1852e2dca324bb580e35a648a4eeb7a693c4497ac358e6be94e5c90062f6216f5feddaa900376f96bf00b222574a5f45b176e2a80b38449";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tikzinclude" = {
   stripPrefix = 0;
-  sha512.run = "ae1d739dd05a9f24354890fcc15d51c268c6a9f96bc7f5e36a6e2a6b9f1625b2cacd3e4f54d6dd9a49cee29e6e18ea82086769424e9dbf9183b96230393fd21b";
-  sha512.doc = "8d1051d37a68f1cc26d84cb1e8b10a2b516ae2ccf94bea416f3e613ef9bad5ec6389144803601637ec9fe301bd8ff9ca821b59f0ff5a0a73f5e82b55b82f50f9";
-  sha512.source = "11dcbb9238fc487efc4d751661820d5be7ca2a98b39c0e1eb6b2aac8e5ecbddb945a8cf6a3076ed5308c57a75ab7cf2fe8813e2256c76f3c2b637c5b2213d36d";
+  sha512.run = "1559c739ee5ce26c531ed1c989a2d986ee6da05880e6dcb8f14018c71c638028517d1c2374cb452421c92f5d430d4560ae4463732926c56ff33407941e70ffc3";
+  sha512.doc = "9cf9e6f5e45f9dba8843684cce3ff395f18c485e30ad0d0566e947dfa69704cd99600f8673203ae212a1aaf77908715c2e5ddbaae0de3732b98564725297112d";
+  sha512.source = "3c7b7da5f7fb09fb52a4517846d3cb380482a03a2506c0f2f04f4d71bb42c7ce6cbe4087fe772b45808ad497fc7ba353c9ab193e61c328d57a5dd58b607ad4e0";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzlings" = {
   stripPrefix = 0;
-  sha512.run = "6f1c87c03fbf69661f4629f4b08e07a1304127ed86a7743ab74e93babe8c264194397358463fc0ff53a7fd72ecacad5b32eb9c5b1b6d7a3f877c2e8b744c1e2b";
-  sha512.doc = "418414744f18b277f521cbb3faf70c4337464912a5c680b5ffaeafaf0626189cdf68a8b4ee149c2285cbdda345deb66de8a83270946dad32e56ff16fe87b8252";
+  sha512.run = "0c7c5af85cbdc6b5146e67083a8ab5485c3d0aab78d677ad8ef53f6419530e96385542d1317da04bf783a4c94b61152ebb8fd037ad8bd0ee472531476646177c";
+  sha512.doc = "2b60d87c6925d1465588f244fdb3bee6912ebe02d89bed593caad9a8b8710b0d18a9aaef903395af9fa85207f0278054fb6a8d94b6572acdc60b30e7f8d9c6c2";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "tikzmark" = {
   stripPrefix = 0;
-  sha512.run = "6236705424fcd846a4ccabd49b72d1e3750c358446b231537394bf2cf0cead1282dd8e73e19fe7b67205c1eefa805f77f0712f3d6bd13f267dce3cd4076064f2";
-  sha512.doc = "1b113f9be1c125135bcb52a4b44164622042ee74d93a38a8bb8b98927383f2e27b61eba0cf56321794a37d65f9ac7f1e7c94df2a1cbe213ad23c05228b128cad";
-  sha512.source = "edf260319e73c6d25f1c2b649dc76279ab3404a3ee2dfa36b6d2f39486db6e1f6c5063ddee8f6fa3b90b8a77c8d00ceff83441abb919ac03236830c03ffc1a03";
+  sha512.run = "4f1040ee866eba68c6bf622d694cbbf417455691a08bb91169cf7a3a3a6e63d7136e1b976ee2e8e89361d5fd8871afab2dbeb7d26e04f4b51992f6e71854bba1";
+  sha512.doc = "6575708cf87fc25c080001b6836df3dfa33474b594970a4dd4f2e772a9e3ed8dd6c3ed4f2ecb7866415606c983dfe36184f8ac9fbfb60852f5feae3dc90b98bc";
+  sha512.source = "1e9aab19f1d7ce4923b2092cf69e0841e0bc99f68ef983887ad499045a47c071457da72a878f2db49655ee31f18e433c8f98d58869f122fc5c8867757d36d670";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.8";
 };
 "tikzmarmots" = {
   stripPrefix = 0;
-  sha512.run = "716176f069a440d5cb71d8c41d881f98e2386726609c808e1a3cc2af5c7ee31e6ee0e663a4c0627bea365697f3080180a87a67acb793a9513dddd43fc9381dfc";
-  sha512.doc = "634ae787b0fecb2e27089ab98d0b00f8408f05ebe21de61d291db6364db9b30c9e25779a928ee9cde60981e691d4cec7f1f1635e690893a9d1f346f137c9f296";
+  sha512.run = "d390b922ccb3cec5b215a97586578462f83774b3dd5d3dd461f47833f1ddaf705773e4a60acf385747df6b55d6d20c495f4ffa7f1c3f2e6d480d66ab5c5b04f6";
+  sha512.doc = "4836d1d7c55ae98b26aa4968c5717457c8e2cb64d3e21f2b7298d3990ef612fb9087e64074945e24999fc302ae012e47c95a00c07e23286aae5ea7cb63fa254e";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzorbital" = {
   stripPrefix = 0;
-  sha512.run = "6a90bfd545f3701d2bf3459244c94aec9e2db9ef1a9142dc2b15e5cc12e6b4bccde72e57fe93c93d95ad305d8fc62bcf77a5914dd9c1aa3d1f658d7936ce20ee";
-  sha512.doc = "24fe8fda7492ab6f0cd0732d7a6f01a8ed1a3f144199ddcb0a4d8fa3a764272d4f7aa3f615f099c10f7f935a8dc95ccf57dc25bcc201f099b79564147f03ec4a";
+  sha512.run = "cc0be76e583d67759d53ab89f777f137e7038eb8344e841a3a1c6e5327129063f2cdcb67c586546f8bec94e8e83d944ae864f291b5b7d384610f93c0ce604aea";
+  sha512.doc = "676980e8772650f77ed37d545cbd4ac22af170e1a4541acbd0739f3b5c0aff91f3d48cd3b3fa3c562510c1c624f46de2218fe33a9e53532ca88ccbb929e3495b";
   hasRunfiles = true;
 };
 "tikzpagenodes" = {
   stripPrefix = 0;
-  sha512.run = "39092afd4a64f83423e7c1a40919cb6cd8caa6c2f4ce6f5976433bc711aa6f35fffcfdeb0fc2a4b1796f52bdbace4df2da390ef605299194ce45a6c1e2ef19ac";
-  sha512.doc = "e142d8d546ead9be8ba8d9e997b8e7b79fc0d17f7f6f9fcc6052d3f9fd8bbf5f48617e00070fbc2a7f2eb963be03c335331bee7adc89767158d1d8443cfcb90e";
-  sha512.source = "a8cbc21203fd53c60d449ca86882e56777a956e1ace5bc260bb222f94902638e296d63cee925ae436032091e186ef17817c4027ce89d619196723f9bc47db414";
+  sha512.run = "4f0d6a4270bf90aa1fa5c5a018fb8a2703a6884215672cfcdb908f7c6d4e9b3610a9f6fb6c26b7b302daaf509d635d26443c6e8944bc1f8704f94a527090319e";
+  sha512.doc = "14ad07e01c014d000a2bdd483a2dadba652cd78b42faf0ea5f9ba829ba484239361d73233443303be121dd5122b7e5e209867145b10e7607b5c6e5d13e2fb428";
+  sha512.source = "bfde76eecef7173d34cddab9ac517a4d1440aa2888007cdc62acef2dcd84e26345f86a757e1c1b6af6211c2e33e0ac656501d76e980a90fdfa970843eb7c0eb3";
   hasRunfiles = true;
   version = "1.1";
 };
 "tikzpeople" = {
   stripPrefix = 0;
-  sha512.run = "d2cca717823257a6ea8e493fb818922e179c078ee383d432f8f2a1f77d45b4ac186b4f6cbb574917fa90b9fe2c6ae663a5e69fc7442161a703cb3f6bba53cd7c";
-  sha512.doc = "c372d252e82bbf5f1d519dde1d02bb3bf9f2d67e49ca7b9131e86efe1fd71e4905d325822f07f0118e2020e209841ada8cee543c41c3ae46b0a0f5a662b5e5bd";
+  sha512.run = "9a7cdc232e91fc0d6e5fcc67ea8c39dd2a4b482ccb6ccfd82332151117ef5121ef49bebcd2e0266492c88b57c146eaa578d2136a23f8781f3fc5f5d07f527db7";
+  sha512.doc = "f561978adbe443659ec0890a8a38e9c9506f311d49d11fe952eacf579db0619946f86c0c6929a215fe7a98f5f02a782d1bc528359f195e09e1f388460dc0d55c";
   hasRunfiles = true;
   version = "0.4";
 };
 "tikzpfeile" = {
   stripPrefix = 0;
-  sha512.run = "8d8b7a10e0215fe06a00d6da312d1f235c63f7235ffaa730b4bded9da97f59c3bee771fcf2d21b7c8a2e356c2e4cfedab6b3ec68d46c30a05163389d62860a7b";
-  sha512.doc = "577c51ee3c6c7c9588ac90511999450bfbc93df95f0c82c58fc6d012c757ffa2aa455c1aa3979f716df2ed1b74211da3d31fe1e149cf0be5d855e6f6272a6c05";
-  sha512.source = "d9df867e705a13405e2547463f29503a5f3cb48ceb28a1410abb472e8cf9a215f4e3e66212e020adbead8cccd5e58c291ed4fdb6b3e088856e6a57a83c52cd98";
+  sha512.run = "9da38e2e02c651e2f89a0e9ea917fc5147626026acc7302b7e32aa2cbee072f91311fbab73e44852a2c237290de76e560f2b45e88639936b542e6986d90a9b4d";
+  sha512.doc = "a66c6ca303ab6afcea5d94b02936335d28077697d81632199de2678528100c3b5a754aa281fa83d93819a53eb2fc945ae899e254b6d6ccd926f8fbbd86d5ac2e";
+  sha512.source = "0a2e2d5ec964bbe5e6230c609d1997fac779f1edb087fdf130b93ce3ae76fbc0b90f5af9076de3f969a8d69e4054571f63dea947113f7447b7fb1f526849929f";
   hasRunfiles = true;
   version = "1.0";
 };
 "tikzposter" = {
   stripPrefix = 0;
-  sha512.run = "7d046aba011aea541db634d1cf528e104b20cd57db2073d7b5237331ee4974e3e8e9264a23433a9b869740fceae94241f04f94a68edb07afc995e32c4d24a68a";
-  sha512.doc = "fbd2e1083fa01c04091881cf4962056703535b1dc61f18f7b8752f6e28819fd834cff3505492e9f338a965fb4f78dd66b03b3bc6dbcfb533428ec031bb2e8821";
-  sha512.source = "99b88881af12efa789cc8cc1868346df17100cc3ab33049327dbc996727a5ade97baef541537834333b3e39741d04fab2743e4bfa7b08b138c888403c272b3ed";
+  sha512.run = "75fd7b71632c663329843a48bed32b2fd04cbac02d24271ff1a49bf03e2905ab8f94b5876ee68876bc6017455cc3272750e85eea6061dea57f47fe96ec9e1045";
+  sha512.doc = "1bfdf7bc2aa38e876378a1dfac751a57ac93dcb0fc5abeff700107c8ef11423751dc69bd7502c9b2ad2641f7f760eb697a248833b6914111dcd86d7f8a32e9bd";
+  sha512.source = "3d78ed0799114da415a112f6cfe73b84a242389d475e223db53a4c9b25d9d5c4ad3285910a3b24eb9fece2195dbbae72e18d57cc83f057fad6062bd5fd5325cb";
   hasRunfiles = true;
   version = "2.0";
 };
 "tikzscale" = {
   stripPrefix = 0;
-  sha512.run = "9cc57d98900a248a2bd9ec9c3ea7fc9d18aa535f89fc3f34e8f7d5b65b833d2f98995aa9e5bb580d4393c69b5211d48a7b121f17d9b9e45ac4a9a2b3305d5141";
-  sha512.doc = "f7359692fed4520eee57fa62563732ccd5c9717f53a48de940891092282cd436002236f42380657a143db5cce9d7925f4aa7b97cbf6497951b61eb1229b83c59";
-  sha512.source = "573bbec5737a29c486094a413f5a6777c9ddad258d10b955889485e7a521dfc15b1b196cbd96d2ad5ecc4b98e38858a976091324522e70bccbba5060025101d2";
+  sha512.run = "73aa62d84417deec8085c3f46b1ababb756e32ae55c4af97def15816606df2b3df4a7735ab434d489d24dabf26806428d945ff3fced3c5eb7c19b36996f2f58b";
+  sha512.doc = "d2ac9080a08d7d7e37ea2d1f801c4091cddf9540eb7c2cc2c0753ab0c07c2f0e7392742bc2e93274775c890184c126aa490c78fedf8827a6c787b951abcb6bf5";
+  sha512.source = "e073c55b8101eca9f401dc58046cbae260cd9513945e9c7a2fadd0ef86886607d1f92b83a11258be94e0bca08dea87ee878af031c6b42e343b716a1c6af42a2b";
   hasRunfiles = true;
   version = "0.2.6";
 };
 "tikzsymbols" = {
   stripPrefix = 0;
-  sha512.run = "ef8a3d26ceee10c8336a3afb01891cc6d81d3235b1da1e871b7f1bae95d04aadc33f9a454357aed4e08d46962cdd997de651831dbb361bf3a085bbde4c066510";
-  sha512.doc = "7832876964c239957be72fd6651218a9e3726d130a7e4a1b86787f215ba698094daafefca1aaaef6a5c0614cf34c44c98fba9c3e3ecdad8845bdc699705cfa3e";
-  sha512.source = "d186ee531a8c0635fbde6a13b71dd514ac3ec1b66e1b684df380ab38281eb64b4c3a641395dc2acfdc4386ef63639cf7eca42b86e0511e7ee1c45ab42d9d95be";
+  sha512.run = "6061fad290f71257b2496faabc1a11721518274964a18dc1d31d1e530de029c7418668444f868e6b660eea5d85bc440dbb7796fbf6cf181ec190ff34019b5aae";
+  sha512.doc = "b688b3d4e2ec3352000b7bd8842736bbf52b10b5215725fba7970e048e4e823c0d522d753adf8c65be3ab6d1c091ab9b01b68922ba2796c012c4d948e3958f77";
+  sha512.source = "c7a3d6290a1eb7da4fff7f7f9fb2ef4a8c128c742023da966444be2b662bd98a20e7d3d82ac77637caa0067c2b5ec5ddd84ca224bf793e5b65eb637e8ebbc814";
   hasRunfiles = true;
   version = "4.10c";
 };
 "timbreicmc" = {
   stripPrefix = 0;
-  sha512.run = "ce725c593955fe84690296b58f64cd5241b5124f7e07e38c10dc9b2fa688bdaf4262fef3770e9a508ab6ef8838a33683239f8206b615f86dc319b84611b38c88";
-  sha512.doc = "e0de39f76ce3fd947e345df0afec214fac6d49e08d493996ec93e0bf01dd5f4c51e686825021939f12d9d86e8a5b8606eb5807f9247a14cb81fd6ae4fbe1b144";
-  sha512.source = "ac02c4016a302747728e39a1c729f4b418e15262e02c175a3cc0d29345cd8dee85e41fcb2a7e05f3883bf244d9377b3bbb2c0b22cc73fce15cc64a4d83bf402c";
+  sha512.run = "01e0e06769810e07389006e9443a836de76e95fea6133e7aab1f47cc554c3912a8aeb43bbf33d06cf9f3a8550a9eb9ec23830ab96ebbb84629ec957d7050e9a9";
+  sha512.doc = "ebe4cf57814e6699127a30031c801efe583505098c707a97bece8dff93ff0cd4939cf047802ed38e645c339592e1a062c512dcb5d027192122e4c98ce41d1eac";
+  sha512.source = "eae8ea0badfc036dd6c5908c95bda4e829bebc90e4d50cbf766937701a6f631ec9f39269d09889c5c2bf15a3dd24ddd8062829e5bf735c291e4338085749607f";
   hasRunfiles = true;
   version = "2.0";
 };
 "times" = {
   stripPrefix = 0;
-  sha512.run = "92e9920308e630e387441f88e4fbeb0706a07cc84ab218dd3888ff9bb8924b923ee1e4e1c48108c6a37ae67fd8ac08ef92ca354330e079d033750c624a302b45";
+  sha512.run = "252c933fb17ce2533f6e0f2b13a478d62223a596ee257937558c61e224c30753c157c92ed9d5ce3ced5ade0f5eb00ec15368fc75c10a182011312d6a0668911d";
   hasRunfiles = true;
 };
 "timetable" = {
   stripPrefix = 0;
-  sha512.run = "1b3dfd57513b6ec8f1dba13e419bade0fff7e7c83e665e84a2be738c70c3d3c92fcf8682a1f4521a4615959bea2e2524843b661d3c4bfd3f27383cfded37ad4c";
+  sha512.run = "caee17cfe1a4bae7bae4479066e2f869e6ccee34d28a8952bed7a1409bd9ecb27adfd005f0e824d8ddacbd0e65762da79f9ea5b04d0332d643749ef36b908946";
   hasRunfiles = true;
 };
 "timing-diagrams" = {
   stripPrefix = 0;
-  sha512.run = "b032b77ec9b3e878a0b862bf28eee2205ad2ee08a74205e9c52f671eee9ddebd0c8244794306d6374a692e6f4f2ad05e9ca89557229c34015869eeca60e971d1";
-  sha512.doc = "f123ab7adb5052da373a5615e2139d2068b488c8496e891b432ff43c3cf249e3d77d9b8d339a2aeb1dc47c899d1764c9c1bb8deaba2ae22d3a4795342567eb94";
+  sha512.run = "0c07a24aea43b0092610cda5878a7e2be95777f199c9983e0aad42d83c1a6bd96dd4ca4caddef6b61165d62e924033eb01524fc925fdc8a4fd4baf44f568eec6";
+  sha512.doc = "1882008e990cd6cfea47b35bd70a50f22972dab0470ada417edf1aa236d2619d57bd3b1d4a149ecc08c1a196c36c9dbf97328f58ea4aa25acb0a6addfcfe8651";
   hasRunfiles = true;
 };
 "tinos" = {
   stripPrefix = 0;
-  sha512.run = "a34cc0040576e2455dd20cce2e552304a77e12c44aae3c7cc1e0277094cdbb93b4017d44b57360eb172caa6667dee4b550c258153a4cc8e472b464c252ebb674";
-  sha512.doc = "d34fd4fc47420d9bbc2fd7b6e79c986a21db3687b9c6b3ef0cd504ddfa57231941b7d030cd447e43a6520475c243793b80bc741c3df546404e3c34fb6ed84bb4";
+  sha512.run = "e8e8648d656cee747cae8eb5665fb8e1d327c9578b79a65b6d50cc1bbb428ed8ea81bd2332fb91af797383264d2fd9af9354be5a02a4721bbb7350051bcb2783";
+  sha512.doc = "5c826e5a78001821396c0dce64c6becf9469c5b648d716ddbe899460242b67790f75d1a8a27973f450f1d7d7dba6ea672af5bca488209614fa72a7ff1a7aefb0";
   hasRunfiles = true;
 };
 "tipa" = {
   stripPrefix = 0;
-  sha512.run = "03b02e4d6ec957a0261007eecbd8740bc7098d34510d4bc28a991002f865d3f709e7230a439f3537cd264272cdce0bf17fee4e119e05dd961e234ad6f35360bc";
-  sha512.doc = "a1e7b303deef85a73e3f260e8abe9728bc7187188009f0a531f92260b7002724eca1562b4073764085547645fcf01e6fdbafc1fc4b222065fc32ae8fbab5f5a7";
+  sha512.run = "7919b8f5a416cab24c02675ee0a24c60f64e9dfb3bbacb416eb74e29badf6b4dfd8a0528cc8b38dab6395b8c74ec5c808ad84d3a8d4ae5e8212691bed9066129";
+  sha512.doc = "213c4eb24943e655c03087dbc5a51eb3cfeff09ece1d31fd11f1734ab3b219db94cc8b5f4735f3d6381b79a5d6ee2cfe727acd17f823b21163e910c09f48e413";
   hasRunfiles = true;
   version = "1.3";
 };
 "tipa-de" = {
   stripPrefix = 0;
-  sha512.run = "9902f170f026090feadbb4221162b26198eaec7cdfbba3556b92399d6a24da28d55a7d70bfe29acd3bbf0578c8e3a3926d4b5e0b10a5c07648ce7c1abcf7806d";
-  sha512.doc = "3416e7504b35434726242ff057d0812ad9226ef366439917f2580cdd4589a458d4e02aa4f51cc977a72824314db3fce29f283204b7c9d37f41609840a65ba432";
+  sha512.run = "45ce2504e63e517e76ebbd7b6bfc7b6a4b3a10d72747714c731b6af0b1a9de4d025bce996594449ea61e983097748389a6d878936078fb676ddd4d6f1f267425";
+  sha512.doc = "c69333d9a7d335fb217dacb00610b9f0e5eaaf78e535d69998fc600fe53f0ba61c7e3cc1e82d75f52b435cd6945044560b2d275476e96d84d611ab4978c02e3f";
   version = "1.3";
 };
 "tipfr" = {
   stripPrefix = 0;
-  sha512.run = "1a271dc707ef49310c64f7533bf0430d2caf14fdc1f2566d4b4dd8454e9aa850c790fb42f9e537589d91aa741ecb753f83423f36f0d5f760e0c27e0048923bdd";
-  sha512.doc = "e59fccbbea15795960f5c79e00e9a359d1b7a302205b7415cd4b03c2eb0039c975e9eae0b7beeeb9e45c9470fef13204c6379f48be99c00fed7bfa900a2416ea";
+  sha512.run = "c8a8efbca7e1785dd81fd4695ed7e0c5dbe713d0a5632078bdba2f7df8e9358bc246d8f9d972ad3035106a7ef687f9229ed31bb630009eaec3b63170cf8933bb";
+  sha512.doc = "bb739994051c5738ec0cacf1111d104b225593cbac1ee829057dce42017990483630cc062131ccd7d766d7400a252b1ff84744f91b77d0ca5a1f9ee195a28d5f";
   hasRunfiles = true;
   version = "1.5";
 };
 "titlecaps" = {
   stripPrefix = 0;
-  sha512.run = "5b97360a1b2280d85f315857eb72954dbb91cb7ce4490840741d2f8270561c88faa688dd777318f6caf6ce644fbfa11024aa950dcb14b39e5d96dff33d022e29";
-  sha512.doc = "08b0e76c39625ccbed4bef4bb51e6a2544cadeb41518a676ba9a48077ea747534cc96d567f3fe15b8cd889ff035f5464934454223474c51a8967605e50d53a9f";
+  sha512.run = "683240554b79bbf4f7e4f31653c5c633e93c74d71dd26232587de4d0d8ea012d350d0d43d508e9e9d8be4369d4ea9df996283c818583e573d4bc5fc379e4da4c";
+  sha512.doc = "7025b5f9d53b65e228520a5e79fcbbf928ddc2f0fe071016a8c3726dca3e9b428b80749bce53438eb7a882a4660c2a10a4ee85e24ae5a26522b78d6a1dde4584";
   hasRunfiles = true;
   version = "1.2";
 };
 "titlefoot" = {
   stripPrefix = 0;
-  sha512.run = "ea72c965f14a46ec4a49839026c7e5d27c24a2e3fb411e8fcf4e3cc281025b2ddacdef3a8ca73cb748c5aefa82b43eed884aa4e870994215eb8b4f0a3dd93cf1";
+  sha512.run = "aee68d15213c20d9ba0ef6e3a95f111804e4438d2c80a6cd83ae67725c3174db7f38b0d4280b26f7119e9e1c6477a0aa04d3ee5877e15b05ff2742d94a720c5b";
   hasRunfiles = true;
 };
 "titlepages" = {
   stripPrefix = 0;
-  sha512.run = "3a2893109a4acf5dab02d7efaea7ab5e077c47675de5944dcd15bac716206bd0abba849d302a8db5b11ea7f40796d31d0152e7e4788d52aa70036bedbf11e2a3";
-  sha512.doc = "30ba4ce9ad0253ad5f5d9812d08838aaf5d8ca0776375bae9d6b4c5e625482bee21576ccfe36822ef6d34b1d352e573fa0551f2aae9a4d821fc706c31c02e359";
+  sha512.run = "affb8e221dd2ba1ad6e18d08dcbf3176bf65ae3006a732a7d2bf954fbfe90215175cd3de0dbb7546906b7d65eecb9aff06fabce86c46e88e5027851e11e52260";
+  sha512.doc = "703f376c6bb2480f7a326f31ec277716073ddf67834930401c17627dba41c5321a0115e01ec73160917c68fb7ba4e0042e8ac40d968eef89f52b5dd27c2e0495";
 };
 "titlepic" = {
   stripPrefix = 0;
-  sha512.run = "0519ecc0324de8489ba623be429f19abef15bfd34bc387cabcb2f5d19cac0621ac17bbb1ed838852d5567d383a49fdd88008ca8303d88517637456115b692bdd";
-  sha512.doc = "bf8e1861c7f49a714b1ea72f03ac6178652e92047d58ccd4c49ef48cce39e3664a4dd6d92830f3c2f4d49e55eefe2d07971a95dd7f54df17171ad584db5d912d";
+  sha512.run = "753ff5c116f102ebd9fe59ea0ad1e80a7fd102f55588f9454fb3ef43fd5478add2d39984638e112dfcc5421f5f79b4c34c8c15d47845273744b6960946ad1805";
+  sha512.doc = "6faaeeb6c7212e35c22321e279c08ac8a985ebb8ec66054b49456ee5a9491b88e48edcb20920d61a052b2df9617ddee7e40bb0e868fe082ce5889e63c193b641";
   hasRunfiles = true;
   version = "1.2";
 };
 "titleref" = {
   stripPrefix = 0;
-  sha512.run = "f7c34a1c3f416f4d2b7d1d739c82d218924d6c43307ba605da4adaa735048a6095b25dc719268b82e88fe03716c449d0d867ed626f4c59d1915f9a129bfd149c";
-  sha512.doc = "bc67f48f4477e397e0231c3f83cfcda4e467e5cdb5089f0d004b099ad1e884335ae184858be0fd8761c6022333cedd9ea5bad178eb51fef4ec59bc590db0aaea";
+  sha512.run = "73905fbe96bc095f602339e0c943048d775bf2a89ef9de3b7149dae7b76aef04e5c77803555450d931f3a4dfef16f5e72597a4d06052d4a852623516edd978f5";
+  sha512.doc = "70db133fb8a5fa38a6f0f82912d19afe84e0f68820fe62b3835a6d237582a32fe6c2ba5ad05e46f39540d52d0aafa5a88325e1050e6102164a5753fd9c68d6ad";
   hasRunfiles = true;
   version = "3.1";
 };
 "titlesec" = {
   stripPrefix = 0;
-  sha512.run = "64ca860a2d1d9f8a7bf5b8a53e505a6b1d1c279ff07ef532ecbbe78d20d5c56abfd14622e6f3e72e27f72c5fe5279492cad6b6b42ee0ef0fe60157488ad48e52";
-  sha512.doc = "8851d819bfd4e30474c71e836989b6a8c1355c143abad0af686815874a8f851e8353f631f9bf3033b9c726697309c53b9d3f82d354c84e26cdf8ccf1222dcf21";
+  sha512.run = "bd1538a4596c55a6e0a542df5587f4466795a59ac55472340bcfc400670b79a04f0b141ad5705c826789ce0094fa4b106b5917f4232167a66047d8e6edd4998c";
+  sha512.doc = "34623133da534fa15d491f3ecfeb6ee6736a580c12577d7ef313efb341c97ffe1cfac49f4c94b90f8f519847bb7b0d37b003ee485c240d1dfab3b68426563dcc";
   hasRunfiles = true;
-  version = "2.10.2";
+  version = "2.13";
 };
 "titling" = {
   stripPrefix = 0;
-  sha512.run = "56c1395fb3d47346c9b5bf2fe838d0e35903b71471c86d78292d706235fcd42c6f1aa9719e3be899d1fc1befc0fdcd918979a0f8d7f790ca45196542bef22859";
-  sha512.doc = "bd44edc1a228c2bdda3ef555b71b52a31d15f4f297bee17483b483fe273e91563d70c8411b1aba68be3b81fb14615148ad9efa9bb29d85d918f4cf7987736e0f";
-  sha512.source = "631dd4fc22bf06d007ae35d09d6603c93d8812db4a4b77fb53b605cb8b5fc122f1b44e4325d456f0959d2f006ff85fc8d388c1a64d191639ab8ad09cfab579ee";
+  sha512.run = "2a321a17b1ff74f57e7bf3f9d72d1b66a0623ed286c8aa75df6d55f1e62b214954ff38456f27f172789bc4cb500688656ab156609933faef67e62954d05d0ce2";
+  sha512.doc = "e69af16331da73c2a61b063ca4dc4c5f70f7958c366b06e96745a2bc92397f89210ebfe598f445ff33ce7705d0f0b56fc3a46f93bcc89145d50b92d56820f61b";
+  sha512.source = "1b32988678f184fb335c70ee59d47cc3e20a7ee0f1606495d77880aa915677ed4a885557a406cfc5f5a67878cdd0675ecad503a6457056d901b96124f7eb171a";
   hasRunfiles = true;
   version = "2.1d";
 };
 "tkz-base" = {
   stripPrefix = 0;
-  sha512.run = "16167331561e1f1e308d4d725337b12094d2179c81304d750c1a359e6186310b8609fc914d8b8fd370666295a37c1150f843e4e51d25eb97340c1f9a2be321bd";
-  sha512.doc = "38bda87d4681a8c5b37e4872c4828a4b49a4092be103a567f41ffffa49933434d90c0c6b03bcd57caa86400e9d56d6c90d988aae4df5f97f76dc28fe45ee1224";
+  sha512.run = "3d187ef9abac64179de9d1c5992fb0b493eddd54e14b83b57adba977fea69598480f56546e685d212093f21d3ce7c9dcc0cef41f426975c2d51fd0188c53ad7b";
+  sha512.doc = "8ae2af7426f66ac769e13399a6bbcb86ed785dc45ad4b89c325fb1a3f5b512b24cb574162f6b1324b3b5d877e4acb0c00d07858a7ee46c8ea2b9bf64e4c5a087";
   hasRunfiles = true;
   version = "1.16d";
 };
 "tkz-berge" = {
   stripPrefix = 0;
-  sha512.run = "8b2f66a0f9388240219e9f5f06e1eaa65ddd5157a8e9d5f5c0528f4b9e9f4b45c65839df5c4cdb79dfc9f8d6803c3ed0b394ab4cc4bae59f209ee863311cf587";
-  sha512.doc = "7e926653afe5642e36da17312e366dc38aa75a6a55d6b9ba82b490f63a7b3da3a1c092c0b1a5925971bf7be18f7ff88ef0a41219d7c8ea8b77858b4996bff750";
+  sha512.run = "f56372592ff8a7ddc3f9d778631c4ef5e06cd6e0995b35d2c16d24b046540765a41df701d830720c95cde77cc1757af99a3f51471d4b83d5311fd5695865f299";
+  sha512.doc = "b5514c49defbcc5d934266df428ad96a158803edcfd9ba23fb32080cc383ffcc32ea51a26094684094740df3a28e3137e0a26dec8792bbd60b454269312de596";
   hasRunfiles = true;
   version = "1.00c";
 };
 "tkz-doc" = {
   stripPrefix = 0;
-  sha512.run = "849b9c74e0e1913c62239682212b7f53b4ac1deefde3a287798d70055c4302e0bae313a1e2201985d4eb224e4daa4e89fcc699efd64c440ec21e888ac927a454";
-  sha512.doc = "68fda066dfde0a6b4787f2acb5e5ffce779369669662b48286535ac3ad32279abc319b36dc525f255061f839ef0ee1961fc9f820a7b40cda07fe10750c366b31";
+  sha512.run = "8ca4da6f1b627c7e6604e8eb55fec2a20198e23240cdb043f83d7f8b28ff1687f71e63fb6a500018d7b5a17add28531c45abe79398880bfbcf5395f5baf7639c";
+  sha512.doc = "e35ae8c425fb20a4f54ab5a81b0b013d107c86a37113b92b4db9fd90de338ec746899e2e554a5c568def0439ff484520bbb7e3bdffdea0728c0bc38d0d574c18";
   hasRunfiles = true;
   version = "1.1d";
 };
 "tkz-euclide" = {
   stripPrefix = 0;
-  sha512.run = "cb555fbc171220c6ca8181cc11fa41924b45f1c07b38bd23236ad1d4db5ba07b814cc8c98d8efad99521634dc3ebb42ede2f85d3e678624eb0a388ab65d9ebe7";
-  sha512.doc = "69092084aeb2c14a18a6f03020aaaebd7ea24b251ae225109586020e42366636082d68f1159a8517cf7df3e86ba16e884c508c73a6b6490f14b91cc43ff1b433";
+  sha512.run = "59ec42eeb1bbdafd1b4c8cc386260d6db02d799e21a4d4a4e43e44edd3adce0b6ee67902b8e9c713738b3371cad22cf69f90f61e0ea55d9815f689afc2c5cac8";
+  sha512.doc = "44dd15fa046d3efb34de0050589ed1358e3b8db121aa64ac07a40ee83364fc8df5af30126ba58bd9fda22bb4dfde7b55170d5949b8cbee41f69de1a7a4e7d515";
   hasRunfiles = true;
   version = "1.16c";
 };
 "tkz-fct" = {
   stripPrefix = 0;
-  sha512.run = "2e8f6671918358dbe6a44add04248a5986ec7b5cf03e4d0264f2631557eb0734830bf76d7ac0335fb5b7a71ab794081fcb7dae2b237e60c61590812e67b9b2d1";
-  sha512.doc = "0fb0cfb7e63be1619e589fab20e1923c24adfb413d7cf3a25ab3e052b8e98fd06aaaf024d1dfdd284fdf1495e0fafcf82b793e8bff6107ab7ad9e85300f6a900";
+  sha512.run = "baacde6c1153323e051b859477f888c66e707472db9e8377df2a3cca31de863a2c9357f10a199f1c3e494f85f412709be91fb8f4814b3ffe2c32dec5ea5d2c7f";
+  sha512.doc = "6bd18423f7169cf75247f77ad28b5b8a4ae5408dc417c4fb08985a559f2309f6dd34253a15cdd3bbb68f3f64c2d6b9bfadb3fc346c7e5a413673e83529b730ab";
   hasRunfiles = true;
   version = "1.16c";
 };
 "tkz-graph" = {
   stripPrefix = 0;
-  sha512.run = "1a4cd3fbc72f8dd7f944722d0b327670ee18925d7a265dcd2bf7f88bb18c7877d3b37bc0353a8abe42dd90cdf3a72253703e8bcf8bc9f223532c3bef2ebe235e";
-  sha512.doc = "19fad3938da48f06b293de400c7a14bbb53a7984aaee226a28c62e5a463bf949213b68f1dffa536cb8ef1f98cab96e2f740f7e71c7add8df670ad384c76e720b";
+  sha512.run = "9a933a9925dfe8782abaa6c983881a10d20542be294f15904d1645f5481309ed00d42d3b4eb38498dd4eab84774b685455235f89462de0af443b617bd4566927";
+  sha512.doc = "ec22ca39b559b4d6f6192272470cfc748c466b5efe9f5ca00fdcf263cc172dcab5e34b059c328097479e1c03e038e71e4658fc22518cda545f9febaba2f43310";
   hasRunfiles = true;
   version = "1.00_d";
 };
 "tkz-kiviat" = {
   stripPrefix = 0;
-  sha512.run = "953e5e4526a04e6b1d71e4d8da01ab88d4cd5e90d29f012b8f1cbd807ba061d40dbabe7c6851b81bd06c589880c07f4dffe630804c0ce1853a2aba25c1ab4a30";
-  sha512.doc = "70176fff8dba7a4b752562fabcb2bbdec06dd1a7bc934e985a1d1ac364ebb0c92def5721e4d7ec7df731696efec5ecbde44b04999d13f79a896cf14f8319293b";
+  sha512.run = "d1b6b4c1ecfe29397c2a63c808cc24119688782326bff3615c3e84dc22ae1bd6bdffc57761af31ef21bf3f3378806dfd087fdd24d5dbac49ec890df54ea3bcf8";
+  sha512.doc = "5ab29135b2903988727129f37496ae27a5ead3800edbe47728d7d5171d210ef7e11bf47d3a4fdd27c0c03f6e09aad8b9697acadbb959f549f5c290e66c1cab45";
   hasRunfiles = true;
   version = "0.1b";
 };
 "tkz-linknodes" = {
   stripPrefix = 0;
-  sha512.run = "4d3152fc2eee2d7500d79769226dbd0055dff6da3813859034dc70ab8ffdc370cf46f801fbdd99dd585c93056dbb99349b427161600e0875981c2736a7a0d8e8";
-  sha512.doc = "fc73c35c15a25e9cacfd7f780fd97d3664464d7eb1dae7d63cf1342e52c9a5a52c1fce886f80f65654e807158af509a64330f4a021074c8cf325c2de66381612";
+  sha512.run = "b41f40a2c27b9384c3edef8217c1224293b8a2901a0f3752c3267d911a7788e27138464b2f11634f67bca00dbfe2ed71a87fb9b3dd4dbc5f62765a022c51bcbe";
+  sha512.doc = "d4fc88cf1dcc49b6bf2292c6892c5094bc4eb6f17535dd1ac51783b9abb7312279cadc5e06e624720be756f5a0907551f4411f246cbeb6dcbb1365b891e70840";
   hasRunfiles = true;
   version = "1.1d";
 };
 "tkz-orm" = {
   stripPrefix = 0;
-  sha512.run = "da26599afc19eea1138709b88257f3bcc8689e653e69411d70ca35f99545ae4fbaa041bf4f9fc0bb726350fff9dc8209fe8828f15a65c57c0d9493b61560a73f";
-  sha512.doc = "4f210d43a5e35fbfdd5c5b1bb6d6588a2c662c1d90ee2ebb8a4b9b854534785d37a82c123c5b1ec9b7b390da5244c9929b93dde18c89ff3a539d6818f35219b2";
+  sha512.run = "a90dda0186a3e3309eaabe444a7404fe2cafa1caa737f7d5ec9779eafd76f0795890f36bc4f0c5302dcff30231ccc3a8306fe318f10695e8caf00cbf61fc6e04";
+  sha512.doc = "a1686b02d79cf0af41f99faa2ac06e2a3d864b078231f4c9c165261557df0fe8f26db8159dce2a90be6206750d6fc8f3013421cb0171c1ff1f11624e634f910d";
   hasRunfiles = true;
   version = "0.1.4";
 };
 "tkz-tab" = {
   stripPrefix = 0;
-  sha512.run = "f1b45dee761158482f634d29c0d920eddf35709d9ccf857be0aefbb7d2b8387ce1421ad53680696a8d69732f4ff87427ddab2ca99f82134d0df4ddd4a9493d17";
-  sha512.doc = "b2fcee6b91e360fda7f3dc1b4a27e7a7cd318cb95b610235d1bc3c71292dc52a0079918846f671313bf5f15567cc2e5c32184d4c1a82b531cb588f8a62b4da16";
+  sha512.run = "c4290e2633a44122789abb3dd054cf61a1bdcece6274a43d9ce6ae403b73f0c0a32b4c1e6470278c46468d53149540f3884c6b2186b51008b0beeecc8a84b1c9";
+  sha512.doc = "08d79e8c0aeef5323112182ae60c25a8ea6547aa5ec75f37b8c5e6e15a894d1a70efbd99421140156de844d35483803c21bba0ea0ee88ca36aea55e303095d14";
   hasRunfiles = true;
   version = "1.4e";
 };
 "tlc-article" = {
   stripPrefix = 0;
-  sha512.run = "99f352e53a1f475b88e4d25e68ca166a09f3474662de6f296739ad755e36adbe5b65f1e4b4402a54f4f9ffe157983a439e2876409cff629e2aa6bf48bae977a4";
-  sha512.doc = "e7a3a8b029e9bfa0de36bce89de432231e4136d749a5418d967574bcedcd0ebba74f1eb7fb7d6f83202365936878c937b704f89ebf8852eee7bb561e9f30f3b6";
+  sha512.run = "80b2c0d5418e8061d07d502399895a8334003bf5ed574de8f4af0c422ff0d3a660a511b5064b48e65064a91ea0cd057c134f9651e001eb7d5fa9d981366374db";
+  sha512.doc = "96535abc8bf54c62e22d4e47178c1cbbb1ca96bfca16df4cab37b182d50e872c57a2e6ebe65727121fd2682776905c962551639d9435e86ab3fbb5d3e05fb72f";
   hasRunfiles = true;
-  version = "1.0.10";
+  version = "1.0.17";
 };
 "tlc2" = {
   stripPrefix = 0;
-  sha512.run = "460b1f5825b677e0b684f2c804501815eb3b4ba437e6e3abc4d59e6deff9647f5ef1f30d42b0f5d1e32eaabec8901ce4e46f2aebacb2c2ca0a3b310c99fafac5";
-  sha512.doc = "14f74ca9def0a417be1e35cbc4e2b27ecd708d8ba91a4cc7cf6bad6553a894c3848c965e3f978aa69b6446d408362c0c19e34b8ca55dcb89ffb7fc52126115f5";
+  sha512.run = "3ac7d28285b15d7e97839619a449c870b3f96e1c557470ba4bf680016c9834af9f09715e09525b00aa2b951bbe20e5d3b1d0a5e5f957de99c13fdb39f4267e3d";
+  sha512.doc = "79eead14f268eab643f676c36b20ba89828928fb3b418956277304ac6cf7145d53b4f97c30605690cddce8660361614b58ac65e8454b7740dde17ff82a053818";
 };
 "tlcockpit" = {
-  sha512.run = "e5ac318dd65a706070c8ce3226afaeec9e11831ea7b58a2eaba2640e038a600ba446aa85a57cf8a65bc3de82868fe0c8e82ac35e1780a44005dd889c5ac5b06e";
-  sha512.doc = "ba92d2f908dcd94d5508fbbfc7ec49d03e35e6d367173b48c3f4a5f9a3542eb14fc2c06453218155cda624fe7e82ec9d540a3ff6525ec474a252e86518da81ee";
-  sha512.source = "fa14f05e845018bd1ddf2f733f75186a8be57e95fbd2663aa896beb3f0459857db3e7ad609a7592f61ecbdebc3b8507402695f3ed3eaac4236746964c69b8421";
+  sha512.run = "ae7d33579b16748a75ea5c94c328bebf01074428db854e823f38fba8632a70f8a00f91d06df04e4d074e3414f5adf706b1945e0ec565f588177a2b1608a47a24";
+  sha512.doc = "ea727e465bd123458dd490fd2e0c66dbea47720eee9f3a3cdf3faca0b09e4696f8cd0c334645f306a901433de94f99a7b43c52691888702f36d369d1548aa464";
+  sha512.source = "2c965f95c45dcf0cdde077940e371c995ec1f29f01cc479fd0b5cfe3121641a1fd4e35e2ed01705461213b8669ac7b9d3ef3f6895cd1c878c1309bd8f1ec256d";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "tlshell" = {
-  sha512.run = "15513b0001a7f99cc96181325c040798f511ecaffe98377671f3202861f618a1ef2e2cd189df645776fc54bc03d7f6cc4ee9f39fe3199b3d16369e22d681436f";
-  sha512.doc = "4affb570b78b2b240fe1c8b545799d0baa5191293e21af60161ab7c761ff293e28008b0c31031937f7b872ebca8fde76de1adea1c9f43247c89e818b012c3b59";
+  sha512.run = "6a04842543dabc9027ac7865be7874f3b7fed25b0cb9ca2827f36d3559b92ca250389a329787366f24c44c7917dc87250468222eb2094ce7dd37d844debcc7e1";
+  sha512.doc = "947b95c7f03e7b8f9b63c8eb76a6690a720edf6fa23164b5024b2aaa6ecbbf7e2d88b7afa2e56993808a66d5b18b8313f742ef2faa82c694a8f6b950484fd6f6";
   hasRunfiles = true;
 };
 "tocbibind" = {
   stripPrefix = 0;
-  sha512.run = "f606c82a7cfd97f75a928ab97f8eb516a613a7afa96a67df2aaf56c5473b769287670f899aa8ae8f7fd88ffea9fe3be2d7972b41df5bb7029f3d64cab58c835d";
-  sha512.doc = "2aff69ded6528a291fcac06f36f268203ab2cb623f0d564ba22ce2622c7fecc9453e61ed097e3a1886a3e49d8ed98d15f57c74c5a54da0afbae845f7cb495ccd";
-  sha512.source = "9e663c34537c35d1b6d8fdbd36a1b6f107d0ac2d5a276f7dfb6c02b58a5eed3441862b1c1831c60e04c121459e175d1c2bc301d041bdada24e0b0af5474f4f17";
+  sha512.run = "f373d6c98730e60d06790d1a219df26e60bbddd2aaffc3aefc5877ae6b2c10c1a08e21dfef82cc591e1c6f7c014e0843ae30be948b7eb55321dc94cfb7b16aa9";
+  sha512.doc = "1521eaf8a15038a2a0b6136e444ac38d6033071b305f6de6db6a5f8ae34625a5b8bf654d7a97b5ebdfcf4efeae58c41a7c9c17005552314928e315295766c441";
+  sha512.source = "fa8375bce4af25fec4743d0c0002f90dbad7240f7959ad843365b72502c8c2d2cc9047b21e01d68a6fc525fca132b3a4842481f808999cac40221af32ea7e487";
   hasRunfiles = true;
   version = "1.5k";
 };
 "tocdata" = {
   stripPrefix = 0;
-  sha512.run = "d5f7fa2e1f5888314a19d4b9ad6f00345ecb951d482eac4498a13f366a6874a2267363f396709fa5e81edc34286f9f2a1813938d777fd88a70a1ed9f416da988";
-  sha512.doc = "acf3f3a8c77c20a660e2c9873eb0bcfab391a72721873e3ff93225e8f4f8d421fd3e342ae6c19274eb9b69df688018a90fc3b907bb20244cb79d4473253b56d8";
-  sha512.source = "dad4931d5bfdd7bb7d03775e6b24ff40ccbbb550e839ce64c1e010681aae47cf9739841d9a0abde746d9547807a4daf2eccaff126425516a209dfb5c9c309483";
+  sha512.run = "81c64d55b33ac9c22abcbdd3ab683248c3ea12e21866de0f2d36c44434729cc8a32526e0f28bc0e945edfca5eca74dec78acf9c8e8439d1e7a3d28cc13c5a260";
+  sha512.doc = "4616b125dbeb9458811ec7ecdf13a1f3750c5bad9670bb3f556b62ec084f1af17cc2b91a8e821fcda48b660ef0a14911a86be367297bbcc13d1c5c8cfb4a09da";
+  sha512.source = "d1d6adea1bee82b6b66d098edae5e29c714797fa52c0c7017919c7765111fc185d30fa3d3495e81611642ad51d9bc4eea2706ccb0bee2ce6fb7ebbb8a71b087b";
   hasRunfiles = true;
-  version = "1.00";
+  version = "2.03";
 };
 "tocloft" = {
   stripPrefix = 0;
-  sha512.run = "62c87a4a96a6f89a1ed2ec3084fef17a80e0bdf02339b83f1e050bb9ef62a88cc1a714a89e9b59b9acd16dba0d6dd529f5def0069c1fdfc4d7ac4b31e72f60a9";
-  sha512.doc = "5b091e46e8fba109af22fbe81b778f116d8d0810193f9f68d1469bd178844a7f2cec8421f0fc7173fded8daba83470e292319c834e0e1cc04174aa47d17dba3a";
-  sha512.source = "c7da1c52ac5dcf2256af7f1454e1d77339707a3847547cb9d46b6404e849ec033d7eb2a6c00570043531187c4870210c586933964b63909f0b9bcb152b92c1bb";
+  sha512.run = "4630cda5785a75929f6b060a6d9a51168eb8a00476ce2ac4f070de8424df00cca1f7f2fb0d708ccb22b3516f0617977dffdb012b5d360c694c1a98f9495042f3";
+  sha512.doc = "4c85d817ed65a7dc96ed5298793836725637f934aaab95ee11bbc6d3c9a3e0b60af8e792bb99fb172c40c83d59f3b06752b1db1fe1c2ee2757c3c3733c6b7f94";
+  sha512.source = "6328bc6635a6e25d3c4408c255252daa8f60c64bf9add32e17b8c50813c8b1149414ace626c9ac1691f90a3e6f4b5d4c29723b5f92960cee884b56365baaa7c2";
   hasRunfiles = true;
   version = "2.3i";
 };
 "tocvsec2" = {
   stripPrefix = 0;
-  sha512.run = "fa0aee2a131fa32c0535d8f44629fdf9969dc564ded49415c32c94f8101693842cd88e821d4201954432d5c707b5e8dcc4a78d35f9143b0977251acfb4c847d8";
-  sha512.doc = "6065cadf125241e4cf4bc58b5e665fd4f522491ff2bc2cf130c8805c0448f3daa6d7c1f95136d169c2a5dc5219ccbd53a40463f1f77cf36eab46f42fa3dc2b69";
-  sha512.source = "c8dd21085e66f7d07ded0fa25291a8d23ae8a5694c679f7126d9c43c61e92719eb1d67f6d9890cfab5be083a75b33aa21de9a9be85948e813b50951733111dcc";
+  sha512.run = "685ff581b0cba155a763ba951b4f5b1e12a44741dc5245967cc2d2effad12127828e4d2f3adabb9fe3d126ffa1f76d43dc196b89faa39745ce85a7f96fb44017";
+  sha512.doc = "9247adf45a6a8f18e03d7b93ea8de8decdd9f1ba15eed7ee28c356679a6f62bd8607b9c519448bae2234cec15b76a5155ad7efe99ceb9382022988a29c2ee85c";
+  sha512.source = "c6af924f3d8e52028c7bfe7e27bab1420dec1fe6f3e948b09a131c65a37ec8e9baa594d725a4eca7b3dd10ed19ceb5f54f1ccae49706e9816c7e4e1d9f1212c0";
   hasRunfiles = true;
   version = "1.3a";
 };
 "todo" = {
   stripPrefix = 0;
-  sha512.run = "d5a2db825f80a53a5d0a0910b29c5174df73e16c68726e0c0893b42592b7ab89872fe6709d98365289a62af05a02b7664037345ee676e44d838c7382208f2bf6";
-  sha512.doc = "d17281c6b463f0704dfc2cdd481732594c96c245aa780dddbc58d99e4fbc06bbb6b879443f92e4c34ef8de5f8ae4fec9fab442207f05a87058fa98762d58b4cd";
-  sha512.source = "beff3e2bf9b5dc04fe015db3af8b6d0080500b905210dbaf69cfebc6c630239eecbef3e498116e1194864bf27cd6572a21cf50b7735f56a6c004a5449b969c08";
+  sha512.run = "e3cd06aa47c36344602a0dccfb48e43c0639cadcb91aa9e787d552c6d3ecca95da3b0f3af8d0f479caad41f657bbcc30016dfd3f80f42285fe8ab02e0a904601";
+  sha512.doc = "c747b4cdcbe8533338a9120b06120b0daa68940ace4cf44d87882d5b5a5a42e2c062c667d2e3fbf8979e1385cd55dfd8747f4fcb044a4112f4b2a79588d0463e";
+  sha512.source = "7f70973e13cba6c532d45af7f5c21264adfb75542a7a68e9bf23508955a553efee723edfe098c4a87015c463c99d4063a9bce6888e7bc9018999ab4721a524ce";
   hasRunfiles = true;
   version = "2.142";
 };
 "todonotes" = {
   stripPrefix = 0;
-  sha512.run = "fa838358aa75383249d78f2f65042e720e3763aaecfdedaa4bc291ec7112001c8c82bdf2e2205f01128360250423a728cf5a85096e966f14bbb8dc81a5509d01";
-  sha512.doc = "5cb06c2dbccb2445dfa8b04fd116a5032dd5751c645f737f404c7468c700ba364304f5b363c43061f1fc35ac3a3774c0b5b1fe93c9e09918f003bc299da29628";
-  sha512.source = "d1fa6681ccba5cd2349d512111609c3bb561abd6abb8527d602025538fcfdec226a0276bd9e53a0f215595d4b4b1f4dfdd691c76c2dd6f1bb1d69a95d898cd8e";
+  sha512.run = "708012c523b8609da3f394cf2def8b07c642fd6d0eeddbcea3e6c6825b7a8b865446b2599e7f1d4d06d00ecd1097bb713fc495d6bc25e6165e265901056d71d0";
+  sha512.doc = "e8cda7e59c10af8c1b93bcd800f94b36ab3202a996edc417634676a36d0b37668f7fec6aeef54166b603d7652b2f129e141e0cdfd974712e886d6fb70212ca08";
+  sha512.source = "3b1c9037e8b96d3848ce4aad8a256327be081fd215379d14ad45e0eb633abb6406062d218fac90200c5bb9adfa964045ea5ff2b6f1307a485249a6635ec8587f";
   hasRunfiles = true;
   version = "1.1.2";
 };
+"tokcycle" = {
+  stripPrefix = 0;
+  sha512.run = "005911920c9452d6bd264f8ce807c9d5ac4a5ae5472d906a994e0bc5f7a39607cf9133d83b7ffe3216b30ecf6398cc6f416ecce8136a73f26617b8013a27e8ee";
+  sha512.doc = "31b18e642fe8e7653ca1f1c8505d6e2c387d51b1d1866f8179f30255b5814584117b07a58820e0f3eb7bf9d678d71d758505546097df2127cc67653b6a8a8b72";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "tokenizer" = {
   stripPrefix = 0;
-  sha512.run = "e28c24f6b13b3d8941bab47605da41fe794fd8ab1e107f287eabe2258ce034bce1aba90e5b056ef1a0841bb785015b529ace02260558998d4158971e901888ed";
-  sha512.doc = "22127d17f364aaa8156e3abd034ad5e0f8bd3e5228c649263ae2e6d6ffb0e0bb6c07be2fd6735de48913bb3db661318bb19edb9d037d8a0fb038610bff7b1a7d";
+  sha512.run = "5174ea1b9c6c02fb8245db5315ccc7b65239d1343f719ee23428bd530dfd70edf26822bde25d672603d268a63360ba31b4a9fdcddf426b82eef440cd7f449d8e";
+  sha512.doc = "4e978a368cd7e97a1300addb739b457cbf4810ecb2d4e1161d931373d858573d8fe1688629cd7d23a44a4d5403e5d8d9dc92869be9809bddc9110c55879c940e";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "toolbox" = {
   stripPrefix = 0;
-  sha512.run = "6ed0d262bf3990726ee2ffe1bfddc915c7492de4f60d87406a2f135d2f59411a795f3c70b9b3b0d3ea70ba0e1c1c57d49494ac98293858514aba73a9eb73aa06";
-  sha512.doc = "f35361a96520440322f1645cbbbae8e0a9dae1d72b7e52793deb2d4793cf4e3967d1e766896dd1bbe15a0c1bc3dc291c91a6e287b5b4c4def4c4f6bfccc059b2";
-  sha512.source = "a2e22945a07807561d7de1a7cccfc2dc7faf91df430145e71f4a4c43e7fabac5587de6d71271b23140308835f73d736224964eba6fa9f08defcd9d05d4a5626d";
+  sha512.run = "af5320de678474075998f9497be0b766e826b0105b344939a66c5c1377e7c345623e2de18b73cb43f93c8edc241fca7a99fff1ca4b6bd3dfba52bf2ff476f18f";
+  sha512.doc = "ee800bb98c9577b12bf20a0b19ce27d9c6900f66e0920c922626599986b887e34513cca8474456aab7ae59aa5d5fae3c7c323ca4cc21372979ab3d545921ed34";
+  sha512.source = "201c3153ceb48cc4f7a3b24babd95e78939f03a7d2f3992a73113d904c90e5c957135a0efab98cb2ed01f742c39cf84c4a12efb8bf9f9bb9a082d56f62c98255";
   hasRunfiles = true;
   version = "5.1";
 };
 "tools" = {
   stripPrefix = 0;
-  sha512.run = "b5675534e28ba207ebc6312dbb04433b963ed7b4cfc2602521681d0ee1b1bb9b917be681bc23f1f8d7da0f98e7291d7a382f19aef039b5239f60bb72f67f45e3";
-  sha512.doc = "68fb71e0df5da2bbd3cd24bf189ba57a51a212956620f150511d90029e47147a8003eff23e7a7e2983fd2bb129c7315df67dbb25632bbea3f00cb0685379b346";
-  sha512.source = "4479d327a9d5e17e2d201c3a7932b944f0f192fe8d69ba326f6eabfd5e3cc6a150c271b118b107e5727db862e62e137aadfabe6c6a36f9ec9dc4ea71729a6c3f";
+  sha512.run = "fdb0242e5168d0291c9d135961447385f7b70a2ac367b9f5e503ec2d945ac60ad86f66020da1bea88a86465b148e73451f4e19d4ab478144b3ed1323c6b97a14";
+  sha512.doc = "b4c3f4e869195beff26ed22189fcff0c4633cd8de604f59fcc6090edc16e135e26844997559c19dfdf28f35360366466f556a3122ec02ab2d9dce8a29adc05ae";
+  sha512.source = "f8186ea654a5e0b9521d3969a062d8df6a414294babf4d4891116077fa177847428f2d133a9aa7a85e2d1b2d1dfc6018b79035637c0541a60a54c592024cb740";
   hasRunfiles = true;
 };
 "topfloat" = {
   stripPrefix = 0;
-  sha512.run = "ffe30c3803c551cb07426db90b46584be05e2e8cefd5dc48e1e49f7c1b464d06c8397684528d8ab868ae2c5885677d2329f39eea340ae280c2321d23f706438a";
-  sha512.doc = "5d8fd706a20e64299c4326a14f4c0764b8db742ff972efe518140915d43bf2be77137e52f35f137f1e529aa9ff4ee2f19a0a9494d5e3f105dced6847567b3b33";
+  sha512.run = "a4e4031292203a04a1df1dc5e6bd4f6b89c8806599d995707fa0dfc238bcb3dd1ecf185665db33a406302567607da5640f385f12cffb46f482993850b78155a0";
+  sha512.doc = "6c37c3b9ad32a121eb03f23049e11fe52b7cf6d49353e94a18eb39aaed3c049bee86ef6c6984440c9700546f20023f7a71975591c1f3750d31e176e8ba4f4c47";
   hasRunfiles = true;
 };
 "topiclongtable" = {
   stripPrefix = 0;
-  sha512.run = "c7b55b7f4d249415c8972a4899c0a348e91db98c9a22afb8e180fed2ca316e36126a66f93c6b639c64fe7e0e92fe3654ffc33f0ada3391eefe4181a09d428977";
-  sha512.doc = "b61c268999867f712b8488cb8e62b1582678f4f17118a7f219d9409ab29b402ee468e102dfc9d72fcdefc0d3209895f9144fa84bb14146f4b313a18675c29f7c";
+  sha512.run = "ed6bed14ed748cc3957746f65319c827f94745c6c99c896048362944f4ea96e54cdbc732d2f9324f472872a4111aa18c44ad17f035c5cc5beafcf1ca900b2ef8";
+  sha512.doc = "f227c659e27d138d848b78fa43fe26792affa4181984de42eb17bf636d9777185fc0838fc617f4aac8142f3a611e65f01547e48a2a18e2ddad1d3363cdd0034c";
   hasRunfiles = true;
-  version = "1.2.1";
+  version = "1.3.1";
 };
 "topletter" = {
   stripPrefix = 0;
-  sha512.run = "0239579cfe921d4eb6cba678c404edc37eff6184ae73e7fb7bcda91fa7da3a953230ed163a42555a6b559b184ff92fefdbc7395c71c0b8de3f800c5d9048aca1";
-  sha512.doc = "f87ad9f13808ec750f6a21592cc51ab9c41e8dcb6f0a0ad489dc7bf0addfd6a554387841af936c41796862ed80220e8ec5330fffdcd7e475aa726dd136f8b007";
-  sha512.source = "89811b2091a107e1520c51e55ba1e51e9f6dcd6fe95e9014bc06fad4e47fddc5f15fdbcfc53ea707eb432e4560438172c4416a977556e2d3853fbaec6a44a32a";
+  sha512.run = "1c583621d738ff203ef755c4ab6d4ad520fe25204c882b3b5b1dc719590cc4ae117502008f0b2ef67486f33127e6eab92a2177aed42a8e011c9309632ce1fda1";
+  sha512.doc = "2fcaee9c15adec307e5cbbc4e71dadd2bfe2158f51d5bb842ea6faf1e10487f5881d171e29a48ac7c6c6ce52bae7bffee91772dd046311959167b11ddac8328c";
+  sha512.source = "b22e020b8fc477da1316c9f36818d9508f45bd3259e03e2cb096aef984cf655b1171069135001301f9be631c7bfb99e63ed7dc95af968be0700c8027b6484f45";
   hasRunfiles = true;
   version = "0.3.0";
 };
 "toptesi" = {
   stripPrefix = 0;
-  sha512.run = "2d1d11714cdf7e23374f0c4778da8135f3b0c67bc8f9e7bf7dc93db55feb2241813aa99f09091f5e043747ce4d3d7dd7cbc286610cb5d0e1f920a39f97fce0e8";
-  sha512.doc = "d855c16a97cf5e62779b00e83270e846d166cda40a210b012f602e1d480d01f02e2dcdfcf7ad27a81e4789b6208b9279e9f4ca929b3c2d4f56f2be2afa869867";
-  sha512.source = "c4e3e0bd43cfadf1a1fe848ae0205e6aa7903a03dbc07e555653e8b9477307757759ad44156e0b9d668531c1105b290509d0e119146c784ac98ee8ecc05b5dce";
+  sha512.run = "13176c395de6e5e6e52e21cc298ed5aabf0a68d42d90119bb1bbf9b85f99c26faa3e78f64f99ab9717d506950d22338b9df2094db0f503f50871e09d2b45a085";
+  sha512.doc = "ca06bdd003084fa8bc11680f5d13ae6f0b333e81ac1ea57ef37959cb5c54933621c00f86ab2fe990b327198f28218eb60b1595fa50511c48625e35a9fa5c92e5";
+  sha512.source = "51445c7c0c8213f3df42abe6b60f740ccf30952e22e1a9f1f0e852f98c56ef1f34060fd8ca3a64bb8cdd512d10a3da8912a1db00b3d0b0c5fe78d30e42258d81";
   hasRunfiles = true;
-  version = "6.2.09";
+  version = "6.3.06";
 };
 "totcount" = {
   stripPrefix = 0;
-  sha512.run = "78a7ad616add4cf64e45c20ad79461864820a45670aaa963b08e8945147199aab369e4e62606790709b61c97dbd420edda489f9655f8f927fa71c2c8d0de4ed5";
-  sha512.doc = "5e76edf6efbdaa0d5bfd30ceb4a32a2589107aa9226b51e3e1ea0a90fd1ec35604d8537e15c9f25b64e2811da925076169c2f2dda0ad943e44037363e8b1728a";
-  sha512.source = "c9a5c9db495f96bb4141eb9814d62222cc2e1a1d4c5665e289caf810e2aaf72e32af6024275dd1c7a8ed54601bb667b84f0b81253e34f8752505b6e65d553b19";
+  sha512.run = "03ece717c7db3820cf41192e3bad2711e159fcb8a5a5a185e1c55335364917a515d9dd691cf1890421a8c62c9e55bdc49cb13718f7d98d9df34a2470cfff0daf";
+  sha512.doc = "46ef8cd2317108d0896b32ba9104c69fb34a6d13d1e123d6b8f1648bfdfffa6bb21f17207433dd763451b1f6c104ae3532e7aac43ef2ba73281842f0a3bcd05e";
+  sha512.source = "1820b0b44434650c072a67a4c6144beb7a34129415a4ae298b9c97efd7e81d3396ddb6e4a03081a19962001c8c01a4cdda563c20ba19bda1411e4832d5e7fd14";
   hasRunfiles = true;
   version = "1.2";
 };
 "totpages" = {
   stripPrefix = 0;
-  sha512.run = "1e11a89f261a839ca347ff035101c6226f717adcb40e5b0d7e6f95c91df3142dd53231f65a699bc958eb6ec02bbf73883a326909425d8b35a50eee1786856274";
-  sha512.doc = "fbab7138ad40d46c6800b55d485cd82201ede2f64d46aa223f5dcc9b5b145542096b76b3872dea01e7fa5828e74e6f2473b9cb43662fb467c8bb97c191d039a1";
-  sha512.source = "a6c4ac683ff4d5dc2b9ef9aa2eaf9f95ce5a68f9bff18ac8b8e06cb071ba49bdc8d537396be664a91ea8fe24baee5efadc83f9d5553a517afd9c00014f36cdad";
+  sha512.run = "8dbfcf7728690d6c2a20f661daf62e80c00d3f08fd00aee7a07cbddd31f6adf8f38e32623b2963748367ea08dd3c95919ab576b22d70214a2f5f4f07c40374f1";
+  sha512.doc = "58cb9d30644402a68462e0b00b6175ec4a002135eae0bb16ad2cb5b919d1dd6b93583074a0723e1c55946e7d94dab506b8527a67d7d7b39be20608207bae5626";
+  sha512.source = "2ac7e8e8f7b79721fdbc6cfcf9d5d81d80b64f60a535435ec13335e1b6059c01001003ab87d9ab8fff4323575a0fbaf6e8a3569670eeb5411be495d9fd712a1a";
   hasRunfiles = true;
   version = "2.00";
 };
 "tpic2pdftex" = {
-  sha512.run = "00882413d47ebfabde2ba7da4a2b878c40c5ab3d74d1dcb5924f7cc098112dfe4e77ef31f4b59240f7b6fa913124fbb9a89337663fc2cfe538b63d103cc411ba";
-  sha512.doc = "238a9fb1251e29eef20ca51c162b7bd48aa0c2051d1734074f97dec496f6d91eed7d1822096f09a5b51e83ad6d060e87726e0a5e852ae1a8abd4be5cdd076c74";
+  sha512.run = "3a0bfba17911731b52960646914da0050a6928b2b433c84140ccbe63835d816f018cea4b16a8513b447c7490fcfd610cbf7a48c8cb0d5dc67ee925c238361b14";
+  sha512.doc = "b2734d86215332e7898e611ee12880c559b095468881c9ec1f15696a182afaa2f056c46ebdcf4cd69427e9716ed70b1cf50f72384d9f698e644e8b2fe9d3a1a6";
 };
 "tpslifonts" = {
   stripPrefix = 0;
-  sha512.run = "a3d1f622fa81fda8d7d697397114e1aa67165a672eccbfcf50658b63df2dd1675e001a13a9511f45aaa3ed1dc87115ab8d2b69ea89e6c4c839433ce7d9fccefb";
-  sha512.doc = "c2780e9e734dbd461de9e3181f919c31624bd5867c17a9d8163582f22f86913cf0bf700f355e74128198d7502782cc4d89d4fa0b950f0768571546dd6848c011";
-  sha512.source = "ef2b7897f7665bb635b35b321f5c14c557b02948ef278a14d8a7875b425ebf7ab4c55404d5057b08a10a38590bc242da021ad350a99ecfecd6728e25207514b2";
+  sha512.run = "0394101636f394f04c38b6677f921136f74e3c8abccff199d4c972ede085c3915e2fe9bbc5b239044dd8f24b405cfc34b5c736a7cd03b749b6aeaf7feb15f5e4";
+  sha512.doc = "e5be9024a02669212044844ad0e99b72faae15c62fb0c9065c8a5e3beb852968cf4cd4744d01890534df5a540bd1066749d999e919afd7d791b4e9ca7dd3c26c";
+  sha512.source = "d55ebdf58c24f9d68f7a69fab79b8486c46d4d23714d9e1d2365320457ca60275449492482d5d28c4c8a2c884074bbe74874f509c60d66f49b6deb2a06925c9d";
   hasRunfiles = true;
   version = "0.6";
 };
 "tqft" = {
   stripPrefix = 0;
-  sha512.run = "445370c1f8a0dd49bb5eb394f8029a31fb8b6c0ddc8ae21b0b83b13d81ba001dba3fbd55c3c5259dd6987e60785366deba7df07c1a5468a0b01e66847bf79f97";
-  sha512.doc = "a33a84481ffe1f3e7e7b844cc5be4dd983fbaddfbf19537a612a17fbb09ba0f1a8e1ec394d6a274481198235e53cfb04189324ead2a638ffc1fb8bd5b7875e47";
-  sha512.source = "aea5f99d5baac95c19045dfd093509e71947dbcf7273542f5439d56ae79519bbc64fd4c08aaea34495839b7acb5e7b6d144d742b752dc90addac729fe2f84366";
+  sha512.run = "0bd44773d17cdaac4e3490dbca1fe038bb18e50d057d6adee53b32d6127ec844e3ae9b8f0f671969c8a00e0df01eca9fd93f27e85fc1ebcf03966e6c82b53f8f";
+  sha512.doc = "0b6c66aefec59955214299a99eaf4949900fb294e7f1eb904efdfc0de3aa85c5fa38961073ba3f7a3c60f26688c28e6f1bb5ea2c32751062fb3231edc4607f0f";
+  sha512.source = "afea6aaf0250f9c9307479d587e844b3f391e387a4d2b6bf83b1eb2e63459d132cf0da38160bbcbeba0eaf1fc8401c9c21dec9dbc8a5e54aebeb1bd25a357445";
   hasRunfiles = true;
   version = "2.1";
 };
 "tracklang" = {
   stripPrefix = 0;
-  sha512.run = "aa692bbdbbbe66bceb62ac818f9b8be09804f2be6f31ba8f7a1530b747603869a4f5c488461f0954cf8aef6794a20bc8c89bbc298aea95c906802f5c68e0b535";
-  sha512.doc = "a24b7bcfd2e07b9b63c3f3f04665ecff87260bf5b5523e8a99c4ef631b373948b801f0dcc86d6f8c6d5f4e0bac11ab375c0ad236b6de9c900020e4938a7aeba0";
-  sha512.source = "e093e3be0ea26a110e5105f405b312a3c61c73e9af50514aaa90c3ed7d6f0420810925091d9c19749e7176991e74345451e4ef64bd65bcb62437c6454e9cc4e3";
+  sha512.run = "f5865a057b92eaee1f00e30d6a9246e85e3b684169472cbc78cfd3b0730b0ca9c7720f8d8516bd5bee07962e76dd59bc407bcef8b655f03addcf7e60808dfba2";
+  sha512.doc = "4199a53e4b8c56bcc17329fd82ea2f11b37e593c5b99aa3200b58748fdd7d575f9800b251a53ac535a8384ad74a33e29ac857f468e668784982ae61e6c6694fe";
+  sha512.source = "28efc751163250433d269817c2961d7364b872a562a5e3a2baefee76d339012c29620d01731ffa2c770b90a22b2e6c8ca29d2044a2d7c6771b7f857ec7f0e773";
   hasRunfiles = true;
-  version = "1.3.5";
+  version = "1.3.8";
 };
 "trajan" = {
   stripPrefix = 0;
-  sha512.run = "28260362cebdfdf0c2e0d0c4176fed65135443e0ae490c3c94c59676a031cfbd5af41c5ad9129df8f8c556b82fdbd14c24a0b5fb5063ebef6719c41253a0cdb7";
-  sha512.doc = "43b32d39d21024f4bc41d30a145490abb99bdcb963f1455b4b07881116e82db193be1f4a41d12766a572fde46f1d30984a16e6f5dc54293c27d0b6c12e6de285";
-  sha512.source = "03ae3729ceac2e2ac188ec792e1175f8fd8876f202f5762811da476843a22e01ba4184784f55e948d36c9cbcddaa30d5bc1c092ffe80b795b3ca7491fbae32b8";
+  sha512.run = "66fe869b94f489a3240078fa28da32fab71767d93befefca62fda3a39ae53ab975b13b7ddf84e490658e915c100f16225ea0ed8e7787b099bf4cb067a9fd4e09";
+  sha512.doc = "c6b6137d1952660b99bf077eae0ddc0f40b4ea9ff6308e4f461fd0e34c7b4b35b4ad79f3e42e4d0077c9d2947db642d0add032f2413d580748ba786a8abbf029";
+  sha512.source = "36b85f870cd9b006f89df594193877a2188635be840636ae9300f511e5ab2a1ea60eac7f927ccb3e9832ab01972bf585460b47cf7ef30f36a6049ab0ce0fd95b";
   hasRunfiles = true;
   version = "1.1";
 };
 "tram" = {
   stripPrefix = 0;
-  sha512.run = "be6b1e93aaa16766b242c86722039a41b8ca9bd9be3dbc2581ae73d330fb945e95f332bcf413fedb4f190db35e69ee57e705169526247e241f55c48bbd69468a";
-  sha512.doc = "21a4b7407a7b8dcee62b42037e441165b1829b0bc8057dd277c14f69f1cd58a8df333834e2f617c53e2b5889db613b65d032788d65c37306f60396d6f211fad7";
+  sha512.run = "4592a288c08f5bf6b41fdffee8129e08fec7397edb2b351617fe79571d2905be61cb776f87a5b152c4b62acefdf21ee2f0b293f210ce52f449d3b9e41833b2d5";
+  sha512.doc = "bfc46f516c2f81530ed7e648ef6774443502b580cf580b5fd5ea9f7be0311b33fb14156aca3f36bb4d74cc165dd33d0b8ef3ebbab5624f38239c281c7d7bda09";
   hasRunfiles = true;
   version = "0.2";
 };
 "translation-array-fr" = {
   stripPrefix = 0;
-  sha512.run = "3546f0cebc2befd5651e94adcf345aa621118755b7da66cda985a8d9b5613f078a4e0ff3a1e22880462855dbbfda1a66b7e9d6e9b21ea5599d00900e9c843545";
-  sha512.doc = "f79c133af7dfb61fc5c4006359132696ca54bf6fd91e5765c7aba5acb3d2809e0723268e85667bf9899c1c09f615ee632c7054d36015b1c7b9a2692d548c6f1d";
+  sha512.run = "d32d6b397916bf631d65171f4f7de4bdb6049eec5414d1a9adbbe88d147ce2e4930a4f17b70c5c12b7ef9c3300d9eb099d63fb14ccd5478c6bfcd0557074b343";
+  sha512.doc = "7d9b2e43f4fde3e6a3b7436a55b2095fbc4ffa31223019c1cbfdf3d623c48be406858cdb96c8693e10fd0023050ddfbb09b463a9a3804879945ac0d6aa616be4";
 };
 "translation-arsclassica-de" = {
   stripPrefix = 0;
-  sha512.run = "50ccb423c0c911d35b3da600bd0b5960126594d9ab1092767a9f5d35b79fd27ecac24f191d4ddcb0c71cb177a77a476af38b5695cb4c250938fd8aea572c2322";
-  sha512.doc = "da156d6300b3961eaf7a1e6ddc67908b0fadb3aeae0b7f5be1e4b96bf1de6c3268b07cad1da04340fabd1c8e6a49849b77c49f81a7b8058ca16309bffe5fb5e1";
+  sha512.run = "76ced8c2c93e35d6bee10f34a7de5709b8027f9d498f8fcd21ba776850c65e1e20eaf20528414b7d9da1891a2db7132b6e3b703c4f8d91f4ff0c69eb9159c996";
+  sha512.doc = "58773adb7493e6ef31d8fd3854a51cd37921dd331f56f1d9eab5283c121fa8c3316ffc41242356a87af04bb6da68761ea15829e5e8555d2e6cdbb68833c8d313";
 };
 "translation-biblatex-de" = {
   stripPrefix = 0;
-  sha512.run = "98a1275744715cf411a84ce28fbc6204a8e4ebcc8d6c1ebeec4ba3a6289fc1efb9245a73d950ec47727e87b2eba68a0031b7a94196f6cd0cde1fafea9c236cc1";
-  sha512.doc = "19802b1149a57554e7ebd0f7553eb4fbe1dfd0910ce5f2cb98fea461b71028f4bead4e4b23f546cbc312b7d593b4cda9827674b4c12977e6a2e4d34e648511a4";
+  sha512.run = "3968a37e0add02d6e31ad49b3a263ec35651c960d7132d1ecfa418888a51444430e8d6ffe4a92fd35ab3904ce6a7aa686085b412117cb282b7e2867a701625c0";
+  sha512.doc = "8f945fd3a4a63ef8e0e6e979bd530f1d13d11eca7490697d0c94dbd43ab7e6608e3801539ccaa47c48c81c52e27a14587f4a48887ceff524a6e188cd80b551a4";
   version = "3.0";
 };
 "translation-chemsym-de" = {
   stripPrefix = 0;
-  sha512.run = "2ef2e1ef5cdba05893e0996d058d5bfd9938b2d2519c8bf8f7b5202034603b0511f0b8ab37728d441cd3e6a6bcee296fe0d88f6464ea593389d048f81a5ea2eb";
-  sha512.doc = "bd243e07ec07d1b5b6e00876196392e7a6ecb93011f0525a7593e656b88a13a7a6a60f4ce25a779e8cb8fa629d78c201fcfe9b38d874f64d8a3757cfa49e97d3";
+  sha512.run = "e23821fc1bbdee758e534bb52c4e0f348d6be3396ca2d8e3c11c9425132fc9c28f2bf6c98cb1beee9b23716cc1a75704561d9d8f16d2f4e94851fc2f88e0895a";
+  sha512.doc = "efe9f711c42925fd035339c25284e09ca7a99c246bf70ef2c15c4f1149accf5bab09e396b94d6d59d4e8c303bfdb3f40570912713dcbd33e7ae360a6b21c36de";
 };
 "translation-dcolumn-fr" = {
   stripPrefix = 0;
-  sha512.run = "97ab66da2c021b5acbd454f15a05bae28975c7befea15ffe358065419f007b63196e0c4e8879ba9917e945b68f6c119326a804af91cf34c6851d163fae823e31";
-  sha512.doc = "8c30033d032dd57f1ca5e8d84fd0294be65c1ff43514279f114c0ffcf14e051a299df569b722021f14c9fa575935b6b226ce3e322a76ca3f48577332fdf00e32";
+  sha512.run = "8d2288707f13896dbb578b538b535efffc89991d56586f27a35b284b5be7c553df97a72ac163a625238e281bfe97bb79fa716855dc8e93f25f0a8af69674eb45";
+  sha512.doc = "95d1633884f7237bf2a7abf8a43127ac1954fb5d0e308d676a7f4c3255d709496a382f01a8af6c28f793bcd1863e98f8ed1441e7cc288d3b8de3176631cdca1d";
 };
 "translation-ecv-de" = {
   stripPrefix = 0;
-  sha512.run = "6ad6423a72c851c381b96cdf81bf521451685c12d807a9ce76900971326e1cb99b846de571ec966d14bc945cb7161a3d90359f80cfe16e16c5ba347c93d8bcd5";
-  sha512.doc = "0b204bb6d006f7a17a0f6e6b496c6c423720a99b4f15c1acd8bc01aa8c41ce2526afe4af3efe93fa08addf6969ab0ac53300d14a3e8afbca9cd40fd1d002595e";
+  sha512.run = "33998fcadaf7b42874968348ef4e3232652ea401410eea6a8011db146a4989afb102a2bba247df53b875bc02b1ea8f21ec5c68783ae43f36a3f175e77dde6453";
+  sha512.doc = "a86784aaeaa786251f35ddf273050e9c981a68d060ba1a2f186379e04f89edc696090b44b402996c4f2422d1cbfd7fd68136c29fc7c74a2fd32d6d230eb2e489";
 };
 "translation-enumitem-de" = {
   stripPrefix = 0;
-  sha512.run = "a68c379a8462b1faacbbb29ecb94f0fdb2e9b8a339a8385a96770050374952029b704f52e74317ab3e3fcc6758b3eb2742f2e55dc045505da512acf71fd4d32a";
-  sha512.doc = "3282422d1370a0c13400c01ce227d5bb04b1c9e0953886de62dbaf06034e1288c0566205a557afc79f7790d550787488343d3cd0039b6526edc72ae0b7332502";
+  sha512.run = "7018a95d7b68b6b736472d6f43d356d25d2a73df4a5dbc080485f3b4e747d122889788b3d1a75ec4c479a84a4453128104f01b2e1788e9dc50d09bda0eb53cfe";
+  sha512.doc = "bee33ecf7a3045c382242f4b6ec9599f32fb254053a6417ceb514f3aad64b2bf51c50f660b562a2a3f0207f7bdc4676527627f432b1556362e3a9f5e9eda8694";
 };
 "translation-europecv-de" = {
   stripPrefix = 0;
-  sha512.run = "9339f5f61c2a4cdf4e784299833fedea3fe98cf965ee3c998c0e4d92070abe45258df0a4a86530f77c6402694d5b6bc6cc743edd9183365317aa0ad22f25f955";
-  sha512.doc = "7616f897bb053c1eae82d6600c936e86fa81b91feeafcaa5bc2399508dbe4f475b28bdf39640d94c43004b50e6d604ef98eacddcd19a6ad3df9331e072ed5a8e";
+  sha512.run = "6102a92b45fb7c19d2190bf4289e8b6b24ded67d0255ce2f483627bbdbee00c42c044be03bc10c9d0e23c2b911e781d21a7e6562e80988620a6da60562d98bf4";
+  sha512.doc = "f50e761fc7925f0cf404788ad2ad70586536e1676bc7a026be5a81136a1323f011a281160a344c455346553e90cb632133668c2483200a05ecf961e46e50bfb3";
 };
 "translation-filecontents-de" = {
   stripPrefix = 0;
-  sha512.run = "40ee281979ad588e61d1d496b50be41326447794dae101cf0e4f9367ce67c73e7a84093944240941e6731321a1e3b6817c6ff67f85772ff1353dc3e6f9084cd3";
-  sha512.doc = "f723b4d3b343c30fc67815288b9cf5a19adc9b32237be6afa3d573a123adab851a8d999040fc1ec5167ba14f60d343cab3519d46dbbbed9d576ba3f46f5e6e6c";
+  sha512.run = "78dd9ee41d9b06438e01ec12f716929c4cf0fbf6ff209f45fadce9fad4bac0d1b31732b3f66896bf7526dac7532504e0913dbb69c3c7e13830e81297b2761935";
+  sha512.doc = "17ed1c39c549b43c31c13dfd6ffbd968ecbdd3e64b00cbc66b0a8914726f4baa7faf98edf30c23ed81850cee98a732bbdd70ef667973163ccee0b35c160fdc64";
 };
 "translation-moreverb-de" = {
   stripPrefix = 0;
-  sha512.run = "78788cdaa5435afc4b2c6d307cd40c2fbd74a56ddfb0a68ab48810f07e330d5280c454c425512362c4a5d2b9254884becda05636f842c355f4dc57543d0d49c2";
-  sha512.doc = "ec6396776e6d1a86ff4750642a4c00dacbb3ee5bc9d46cfaf70f82237f636e422e74a410711deffdb9708e050c86feb148052c9979a0ad5b780e7d3e08c67304";
+  sha512.run = "6b11a1b522c728722d4d5d5b38dd453ec017dc053d360180b943778923ca9a23b3ebb92516c1a6880e507f5e8b6d8d87878c92762637acc5ac93f42ad790446e";
+  sha512.doc = "955070d4e92e38712a5df837fd0df716d1a597780a4b06046d5aac5164efc0fec1121c51ea09c3ef1a090d51732f57308f4db386440118548e2167f3cafe16ce";
 };
 "translation-natbib-fr" = {
   stripPrefix = 0;
-  sha512.run = "803db1ac9b90f0937eec87d94c500dd7377216b5a80382ff8e8568b0f619b15adfec29738c447630197b208ef04ec2a0775243543b7d5102477f249ee80c78ce";
-  sha512.doc = "698f4d3ec1637d4135de74607d275416298392961766221f010c98dbd82ebe8725878a278362bcdce886b5600e9767a0f39ec29a7f0de418a5277b8104b30842";
+  sha512.run = "ff34cb7cece157b933117ba0e9aadb0e9caa759a406fabf7b0ebb89e5b03ee6db7aa493551816e9061ff91a460e46a58f1402b086d37c48863b4e093d19326a8";
+  sha512.doc = "971570414f9705cc4026a21a557b2f1dfe8fc010feca4f1ada946d11aa30169746c2017fb3882e65e68520539974eaf2361ebab7bcd292eed177fa7f6eb7337c";
 };
 "translation-tabbing-fr" = {
   stripPrefix = 0;
-  sha512.run = "0c4ee0e86394d9f22662683db6fcf1bcf1c0ef2c3f6be2870871aa91fb795ae589107ea46ad2514c5d7b015981faa7814decb364fd1fcd8a15a1cdd4355a75b7";
-  sha512.doc = "5f10a26d798a9c5638cefc6681074b4ef7be9d1a7691d8e2204786689805b1b1ba9a8dc6802d9018264adedade04136e986a5832fef6d63531f1535fed6fb70d";
+  sha512.run = "76f1c6318cd964b94d5a1d836b1a40fc58de49566cdc30b1ea60fc29fbcc8c6b01a477f4739a5fd9bb24998325dbf42817ad016fff27207e710bfc4b51b29985";
+  sha512.doc = "ae2f1aa60162512287f15c770a465c2e39abe1fa5d1223d96c524dc81bf065d62f307893d22dfc06fc50da8d63d817ed60c8f07fd4fede984b6febe9c8b7b710";
 };
 "translations" = {
   stripPrefix = 0;
-  sha512.run = "b7dcd71962eac0a2eb646f3d97901c7601097fca2fca997e46227dba77b4c491603dde0afdc09c503c307958e7ce0264c60dbffdc4b520301159e4cebf096a68";
-  sha512.doc = "762f90b5aa4602839370c6cae33a71e0a43875b3768d65b235591eeb9e065d84c5ad28911bfa60130d891e1dd5898ac3ff7cc002260a258338bc817939724f04";
+  sha512.run = "24686eda26044a45f42b4d821528af58b58710c31ba3a03e33e38de018cc8fc5c5d3f31f000ae69a1ba269e371c245b0c501718d45c803c3dfc8ba0f64dc99c7";
+  sha512.doc = "683b3e6180801d96a457180649cca7ab79e6d965e1de95cab3bf2579ae4e8b34e30ba032e1fb2719a1a2826845d55d8a963ec813c8b2f6620e60bc986b3811a2";
   hasRunfiles = true;
   version = "1.7a";
 };
 "translator" = {
   stripPrefix = 0;
-  sha512.run = "13f8950f3a0780e84aafa9eff5370cd854aa4b284ee2e7b9d9fb219aa9fc0880216d0cc936005db6ae59b20a791ad6fb830af5d8237e720000bf4857227145d1";
-  sha512.doc = "ae5735b346790432969bf9938c84493cdf5f7c12505773278f02052ff65c4151883d06744a50f2e80107019ff10e67b50d25170dbf7f5f6d334c21c90ca617f1";
+  sha512.run = "6105a57724bb880dd4b2166c052aa58abac70fe9cda70db2941195cbb0fd2fd874c8ca1f1b658bcd52f3f00ade88683d2f0f86baca8ed68702caa18c5e2d5e57";
+  sha512.doc = "64547f60b7d6b99ad04fec07d9047282444f5c407accf49955002e74bec2b00b34ec8ea639eeeb9036f90a27460f926c0e400b3f27cf1e31b8d9b343370759b6";
   hasRunfiles = true;
-  version = "1.12";
+  version = "1.12a";
 };
 "tree-dvips" = {
   stripPrefix = 0;
-  sha512.run = "9af2c24dcabad33122503db3a4a32230a7c939d8ce50a0a6e2691e77f2c7365bd9138bd0878da5a1de5d4d988581afaea4b3e08b14d1bb9e875f827b64686d70";
-  sha512.doc = "70f62250f620000e77a003444ef0f19d92861beafd8047581efdcd86feb6d69f21f3b65c5ccfc513a9c8fcd8d9ef6b3e0241591eeabfd76ea90cb482155642ca";
+  sha512.run = "6153417c5d2677a56adf031c5f2f27e4c2bf204c0acef1cc5cd49355370aa336814bad7d2be00e95d22bcf73b9b69105a255d15f29ed650511c0eccc3c9bda07";
+  sha512.doc = "8c507ec7719b92f2cf82527c7799b073ff2679cf820528b489eb7d8c83d28d098033760cf092bceb9ee7e28fec15eb580122c080b982dbb12e0e65176121e84c";
   hasRunfiles = true;
   version = ".91";
 };
 "treetex" = {
   stripPrefix = 0;
-  sha512.run = "94853e7bae28d6aacdb312a11eb8c4f1a45c564518d86bbac1e1a7829a2600e07324b513f48666f8e3460baa667eb7acb3311a940f42d9540f3c561b5e87afb9";
-  sha512.doc = "962cbce5cd193c465218189ca628ce768b6e37bb446188c9e1d15f7ab57af944e00caf09957bcfb8a305818720c61879c6b0e0d831d3b32345973cf6756ff1ac";
+  sha512.run = "49202a38697bd9bd3bc6fcbf30d28047b8ddc4d737bfa68cfdb83197b484352997a33f55e195211eff1d548f95e2072f07ed18f1d7c6772a03c66a13051d1709";
+  sha512.doc = "fb9e09bc2f6e45b854824c9c757733c2c17b4d48edc955ea48bea3ab3fb5dd914eb6427c8ae4f74ebc62b4715bada84c8f3fca0ee7d01f8d3c2526339a844681";
   hasRunfiles = true;
 };
 "trfsigns" = {
   stripPrefix = 0;
-  sha512.run = "01e57d02b49f75bf4bcea4894e4f2aadc9400dd1b96b9c6bfa6fca454f676eb59930412776c7f6b4cfe50127622e2063ba5d64919b55dd49f94bbc93e7bccedd";
-  sha512.doc = "b8b454c07cf532d957c24434d6b7c3b7dd8a222d7f118671ff2446c1ecb419f61f3a2f4f9f7a7b89e0a775de9946cf2e908292ebc5a8ceb5d485ddeb8ee64c76";
-  sha512.source = "3514a610c6f19daa68fae04c9ca4b29423c3d3fb5561b9e2a917e7a8d4a56582ba6cc40df902c43bd4f08b15db11a8eca62cdeebf75b44278c0439e698bcc326";
+  sha512.run = "3607b6371c2dbbd93524f0811dbf14cd93cb2556fc217899ef3a273c27158771f743bafff0fc90a582d65da431efd7ccc1f07bf92a6600a7bc301b5b6a308325";
+  sha512.doc = "9bac4f4deafd62a8b113107ce47bb5ea3afe05078a3c5083b1ed790ed690bc3d73066e0abadc5cb1a3d45246f759941d6e2389105632bb6592c32a08e7b7671b";
+  sha512.source = "71aaa336a9f66af6f682cadc72b2ae100c606be7d95d76c2631dbb03ff617718c1c322288c769bb1b9b19116a29baa208fa085e2868e67ce3f7a5552d823e6e0";
   hasRunfiles = true;
   version = "1.01";
 };
 "trigonometry" = {
   stripPrefix = 0;
-  sha512.run = "e033fc8a8764b18205c3609a395a9ade6d34f45d2b16d1af65248c39f056b655a57edc4beaaaf1d4113d5519318e9d362ad461e9ab37410bac6386432764e97d";
-  sha512.doc = "bdd9ca71433ac8cb159a3b1458961daa9f04391507d2ad77b54fe9b743e8f851d66309508cacca82df614fb6f2da1b2359e9701f2ffa25b413616b840cbc95c4";
+  sha512.run = "366a5e96499bd96d2eee38b78305d9fd7368d0b70f91acecd5a5337675002808a5695a525d011a1ab7b31ff34cc14c469970a3fe55c694f003d0ba7002795297";
+  sha512.doc = "a9bd77bda2cca604a69ca1b60deeb8da3128c625b87d64ccf39aaae853a645e736b5350d3d575302ec2a35e9736e4133cd4ffd223b9bff6191b6fed9549a8092";
   hasRunfiles = true;
 };
 "trimspaces" = {
   stripPrefix = 0;
-  sha512.run = "02fe89c73fac17de6f206722bb9de4f8628e88f4de0bdc692eea5dbed7ed7fac82fb423fa636f0a93339b424a08fd3e4c288ed0cbfe24959ce0d0cfff3eab78c";
-  sha512.doc = "0bf4ed6d199526d32dc79d1a79a2b4990c2896eaa994e9c4ccc6f948807ef75afa4b40a892b171def91b787368c69747e181e5d34ba2498cb4d4af21c3696e49";
-  sha512.source = "cf1de6864db32a06cf71e1f4aa834608fffb6b553e152c63c072793b570dd5fca53531f35ad3f7b0714a76c480b898fbec3f2c70ec9a097b775ff9197f535716";
+  sha512.run = "09bfe50d1b14502311aea7a20df80e70c1907b1c8443aba9453aa0a3eb76cbd34728734b81df63bd5895a4a5a55ddfe6d0feedf7d5d28d6b5922a374bc550c9e";
+  sha512.doc = "8e26064de0c14d6caa1d6cf625cbd2d598102056136dfa20d0a7ffb178c26829db0206d87893937b63f83171744a29bea3567e16e2a7a0d454734a0b72837277";
+  sha512.source = "a34429fb9b8514d25ac523f0e3bfdc880b84951ff228ede3016e2d29c001b7f8058755870fc3c63e6041ef4768290177dabc6d520157082fb077497017065b65";
   hasRunfiles = true;
   version = "1.1";
 };
 "trivfloat" = {
   stripPrefix = 0;
-  sha512.run = "5d152dc9ef9dfa1bebaab6a92a6df61d580749f9eabda0e963915011920ac1d53dbcc6ff99ade67263ae07ebd330a04f0bf940e6ee64a26c4c844e4d97033d9a";
-  sha512.doc = "eb1ff7b87390ae439d1064e467e042bfca2a8b287dfa28db93250ea6af6c3cb797f7f8a203f4035e92b2305bc71b9ef6e1ca440625ce283c2f8d11c134b44baa";
-  sha512.source = "ac7c4d6bb3fa0d11561e530227fb872b532c48978788402eec0f231e14053a0486e532296e2bcddb5f65b0a33b04cf7b9a644898695ede8dcd2c064e3ab95a45";
+  sha512.run = "25e07373c53a6d4c92a5f2f19fa0d70c86202435863b8b3cd036f2d12f74a477a33cca6508794f67256a877117bea821a11b9bff235e1a894c90b71810bbcca4";
+  sha512.doc = "eb9fce19c495eedd728e87bf47f5d925a685a8b9e81e8de0e6c317f74af6c82352f403486f5a904849ed418722d830ae294a89eaa57bbff59eee8a03cf9b8af8";
+  sha512.source = "9537944503c1606151207e75dd7a2bad64b34f82bb23d83e0eb93292ea9ad9edd0bd72a126de588125b6b425669f657506ca602796b6e2dd2997052b70f60dc5";
   hasRunfiles = true;
   version = "1.3b";
 };
 "trsym" = {
   stripPrefix = 0;
-  sha512.run = "fcc854e3368ea4610a4c45086ae97e95b37a047d5c9ceade2df60cf01496baddd34deae651229a71128d175c4ba66c2d59c2d5cf53d60452a34f41f55d1c2a47";
-  sha512.doc = "f537426a53f9558a3b0eedd028b97cb3f3fa854aa1180259592111630f18c5b92697d5348b2f91cbc8411c02e5b50e91c9a63e804d9beee33f9a1f543f075e8a";
-  sha512.source = "c37404c9c4b7897a07d2a86f6d99788784bd380b40f9c78a525efaf8926b90ebf02fd104025f91ece3079212590bb3f22e442a0f8c04e5e73ee64b70b7a17246";
+  sha512.run = "e571d1c0c042e2fe75b992c6e0e9e07b04f0368f1e74a51ba91c34a642be148fb817027931ec35831672970725377038b5cc80d34bdb716d936f4aa59075d83a";
+  sha512.doc = "d6cd64c1c4bbc927f4154c2281ef4c13ab145b750d92561235364a35082e497afc5d8aa5806452757b499b827305a0a183723deb38272ba43bcc38eedc367731";
+  sha512.source = "bd9c99b4c5ac266696ab4c3557028d1776a1852000db2e8c1b5a4c2f78e58f25df379a71794faf49e2c0d2ca14116796d8f6d617f4bcbaed7f05a75ec06fd5a5";
   hasRunfiles = true;
   version = "1.0";
 };
 "truncate" = {
   stripPrefix = 0;
-  sha512.run = "e29f5387851e2fe04b3a06e10affc9448c60ecd803359c64af6327bdfc07ed1d57c4f0e8506826998493473abd60ccf01f7d7d64c91e328e1e64cfc9dbcf29da";
-  sha512.doc = "be4dbb367fc308c4052015ff94b54777dbbf0a73281bfe488665081777d0e91077fc845802f5c1b5e83c04dd361550d1c4eab34d5de493a576a4acea5b565d65";
+  sha512.run = "b676d65803577b4bce5f6240a0d05a306199f24c2b14402954f4430f07fed9a8af574c4cf9cdc233824bb1a285eee0c531aa40ae31c782a43afd678d6e44f27a";
+  sha512.doc = "78e9a96fc2e635237cae9ab4d7ac30cfee8582dde13331800ac9079d1e0726c597accb598b5e679b6643d27b2a53fb367e740b76d59e9a5d27226a4c829e8518";
   hasRunfiles = true;
   version = "3.6";
 };
 "tsemlines" = {
   stripPrefix = 0;
-  sha512.run = "4d5c9964c84d2c7b2c2da3c342500f40c80213adf8f766b037bc57d4e7df3d210fa55e415c316b48faa93b21a08c386c98afd9a481b7a668e9a6a8430349fde4";
+  sha512.run = "d4b6a929a403ed7fea409aa618e7ca021c2c7138a6b11c980430ba18f952ffba44df951dbc7b7f3a5ffcdace3b5f3a455eedc2a50b6e0e003ae3e17e8e7f9969";
   hasRunfiles = true;
   version = "1.0";
 };
 "ttfutils" = {
-  sha512.run = "2a47d9087190a92e55840aeb4131227a1fcfcc25fde0ddc31ccb955a8dd8bc56177a4b010ab40d9f36264db4017e6110df65f1824c1a9bfce84c3bd3dc7e9d0a";
-  sha512.doc = "2ec4d42316941ef63ca005b04c00813a1d4897f8119695136b3c9dd32b1dc83b64066b48cef88aea0ebbfe08510eb0421df7bd02661f305182d16dc3a9d2e04b";
+  sha512.run = "cb133e9067cc3b2d99dc2910d3722fd87d53bf38e664fdc80cbdd7ff1787047f0e71bbc60018802cae34cc5d6eeaeaddd0cac6ae23f980d0eb7316f6c342ce38";
+  sha512.doc = "27f3dc442a1892a903d5ebab16c82b0221efddd0def20b817ad1b33975d960219424ec1e6a408dc774e377aee99e905f6a850ce4a30ad1ed302acf442f09461d";
   hasRunfiles = true;
 };
 "tucv" = {
   stripPrefix = 0;
-  sha512.run = "0dc5943490a200aebfb115214f93e64570aafe60d4dc539468175e04c3a6b6c1645ec2a8f1047413d0fc6454098bf24480c20aafe83074640345e79a5e49b3d4";
-  sha512.doc = "2900dcadac28e3feae91df4bfad0732f4c20fc57df45c1a913bcb56b497be5747106089ec2a0888160876d349cbdfc746b076218287e1fe2eefa48ef21ed41d5";
-  sha512.source = "6891d4dcf126e1bc90d9868e26aba8f3aab2492004df916d5acc141693000a0f5dbbff9a19fc64f6befa820a45f689ffd2df3311ae67cf1e390c451b5c2f6b32";
+  sha512.run = "957485431ecbdd31f180b36e7519c4bee8379f477b765ff5cebe57ffa3c95caa5556ed057943eb052d61e720074dc78035fe05b0023115caceb05bd2c3757183";
+  sha512.doc = "750f739c7cc244ce52b4838009666c9b6196cee234e9bbf0028e3316c75a435b5038269e93f42d99116b9db3d93dc4710c03705b924d62f09a217f2acfe36303";
+  sha512.source = "f754ab6d751eb5df0477802ab0a4d514aa0825e824531e76904ab474ed5423cbcaf773e37ce80e94c32236bee061f92c0782749c9196c3cc7fcb9249a57ea32a";
   hasRunfiles = true;
   version = "1.0";
 };
+"tuda-ci" = {
+  stripPrefix = 0;
+  sha512.run = "cb06d36d7918544ee277a04c132eaeae67b4a305651f19b35e6bcfc6be4984af74dec0877610b4bf5337d162943a931ce2afe73baa9c2d739a5457718aa88b25";
+  sha512.doc = "d21cd3cc76bd297ac029629e8541281b213428975388e97e1c0b807bed52d6200e398ae52233379955040f63a3b01e56a86d3c8603273dc2426d2a517a0a86bb";
+  hasRunfiles = true;
+  version = "1.11";
+};
 "tudscr" = {
   stripPrefix = 0;
-  sha512.run = "73cf72438d00c255fad2979190160e99c8c39d35c4abdb7c06a5c89999798a50064bf51a98a6a1af9172937d57a9901f8adbdc7aad573c0111cb4d5f32199bd3";
-  sha512.doc = "14669dcd4214f1d082e85d024101de50959cc955f76b54fd29eb6c8d687d509ec3bf7d23b8e774623ad8badd40986f4be33f17fc7126f3224ac660c5efcc3711";
-  sha512.source = "68c9377615e7154b579105a1f41095a80edf9233be42286117877208f0002d70061789132ff3c4fb5283ac42f4174beafcba9a3481e81b0e46d8a75866d58443";
+  deps."koma-script" = tl."koma-script";
+  deps."opensans" = tl."opensans";
+  deps."iwona" = tl."iwona";
+  deps."mweights" = tl."mweights";
+  deps."mathastext" = tl."mathastext";
+  deps."greek-inputenc" = tl."greek-inputenc";
+  deps."cbfonts" = tl."cbfonts";
+  deps."cbfonts-fd" = tl."cbfonts-fd";
+  deps."geometry" = tl."geometry";
+  deps."graphics" = tl."graphics";
+  deps."xcolor" = tl."xcolor";
+  deps."etoolbox" = tl."etoolbox";
+  deps."xpatch" = tl."xpatch";
+  deps."trimspaces" = tl."trimspaces";
+  deps."environ" = tl."environ";
+  deps."oberdiek" = tl."oberdiek";
+  sha512.run = "02e53aa101f34734dd483ae9d5d82e4b62a3ce04898db4e17e79787c1908277645f673d10793c11093a9cab8f4540671f6c0d8bd466d9a00d4f9c18922ae7ac2";
+  sha512.doc = "5ba9010fbd54a607ec7a94765c28d1ba79f99a2113628143f673e0e7b2c3c55b60828c2019d288e143bd0f97df3a2e62a31b34f000048d37115d224c97860e6f";
+  sha512.source = "ff791b97aa0e7d58c6abf126550b29b1ff9521dab9d4c8c845049e5622fdd189805a5a382a82a87ddf97c295a1f16480468e11e0c931c246b56ca42fcdfd1a44";
   hasRunfiles = true;
-  version = "2.05m";
+  version = "2.06d";
 };
 "tufte-latex" = {
   stripPrefix = 0;
@@ -27140,586 +27879,619 @@ tl: { # no indentation
   deps."paralist" = tl."paralist";
   deps."sauerj" = tl."sauerj";
   deps."placeins" = tl."placeins";
-  sha512.run = "dfb5608993c7513bb3e57ce87611a5667800c61c2b111dd7eed5774e70d8e3e588f6c69c661ccf6245b28c6f0e0dc9cff0c381eb26b95638afdf8adb72569dd3";
-  sha512.doc = "2f1b694fd9322dd4896b9d1b0898ecfeaa3a28422041f1b13c1ee0fd3dc1ded8a8b6bb2bb1f0c6098cd2836e07109844b554c009315f3100f131f09bde80dc3a";
+  sha512.run = "6dd01a5a6faf37439ca9aab23534f99050b84bfac16df48545417ee03e72700344c25b2de3262e8e28406da705d50296473a815fa14b701c609b3715f01405d1";
+  sha512.doc = "11ac57e79a05db644235b6db851473c75d1538a1261d7022a63d9ab0cc54486cc13b7cc95c44d16912952e46bc9264c1bfb831a728b51a03495d01f1963410d3";
   hasRunfiles = true;
   version = "3.5.2";
 };
 "tugboat" = {
   stripPrefix = 0;
-  sha512.run = "40e7cd20fac54cd1b2cb980654992f28bf3500dc196f4a9a854dbee8b9358af6d4ce3e3d8a6cc2c8cba22cf9c2e7278ef6bfc0284366f6d1290680075fa20352";
-  sha512.doc = "42f1e5fd7d5d8c73b8a4cb8f06bb58e71a45d2f4e73735ef85fb40ee99c6d6abeafbdbf5512bad3d150f139f5913b752c0c0ec3a778bf7955408579c15694c84";
-  sha512.source = "fa3ec3788622083d2fb8ef12f316bde48bf6deb1d17e9cfc74262913ad3a47f57624d0cb8cc3ed39b53d8827c038c398d9bc92d446801d392ac3ae119af6fced";
+  sha512.run = "56a495c6239ed1a8ef1844bd90f9bcb97e2c97664877f343d198f9d9192d33e866b87334b961583d765d9b78633a5b5415933c000270d23be34f637612cfd1eb";
+  sha512.doc = "9fbe0a3438a81acc63424007bea1f2e8ff7f6a29e16bf1642963763aaba763f64bc26863ffbe9cc9318836df2e9191c5d8bcef821f573447a262f2b49896edfe";
+  sha512.source = "76152f1a32da57ed51d97a8f6189b5a72ae0ffbf18934506034ac84014bb0a4bd790aed1919454e87838e3a68f88d38f191dbce995372741a47bed65449dc90b";
   hasRunfiles = true;
   version = "2.21";
 };
 "tugboat-plain" = {
   stripPrefix = 0;
-  sha512.run = "a60d048cb5b6968daf2b142625d4d38573ec9041ba477f32b70be2039c0c7f3729e1249fbd41ffabd0353144c8b5b2e8a2bc56e269075455110053ce1c42a03f";
-  sha512.doc = "500afd871567a128f4b493f5756acf3dba7c7e62363f192c5506fbf66c75063c8f49361777d7a013b7921d7abd2efe1c0c8fcd7398f7c8b39b4e0c059ca060d3";
+  sha512.run = "a2541eae8834f9a78fadaf4123aa1dbfed2215d3697299e17fcb0c9635091be57b5171514d771c2e14ee7c94ee2ab18e0907a1b3b3cc5bd60b3a3c74e305f45a";
+  sha512.doc = "747ac188b7d738ae33808da86716712f80f98ec2f69b60bc45514cead00d837fde1dcc99c65804e61c9e35e94e9276f314617f885dd081fe6fce75f7a2baaf9e";
   hasRunfiles = true;
-  version = "1.24";
+  version = "1.25";
 };
 "tui" = {
   stripPrefix = 0;
-  sha512.run = "c39044ec235178420bb43fb860a38a843f8582523b31961eb5994c5ddb04f6f4266bc2e9d62aa2ea8e7254d7af283718fc19d27167a4af42697be160ebb602ea";
-  sha512.doc = "df4c75617c4d46c571309fb9d0a60908ae2e15ca761c9f45ddce050cf8dba239048b4268dc43a83e5bae5a2313bad78c3b912c5cf32eaea580423823bb6ba0ef";
+  sha512.run = "59e8af51c39984a42247435ad893c3b8e37eb9dc53634e0a5f30733ee0c973690b66d805079a0f5cf61762abe7fceb1f2dc91691df9be26f72a1a8edd2524ba3";
+  sha512.doc = "b48d9811ac6414d96a7b5059b33c174464f262c721159552e48e6f5bcf5b969ae91bbac61aff6077304907d3d2bd8eb73774628458a7e740ea49fe433b9bbbc2";
   hasRunfiles = true;
   version = "1.9";
 };
 "turabian" = {
   stripPrefix = 0;
-  sha512.run = "94e16f44ac5d554ca6bfbd6294b5b36d5dfbb282ab67444d53acca4da4cbacd619138ede47921a6582a03a57b5db9d36e546efde92b2e8ed9f67dfb1a8dbc9ff";
-  sha512.doc = "20ee8c74e4e758882df22501717ab38c33be5d9c5e5eaf0d54904cf6bdb0387524c17d10b47ec50da97afb4d94e76b77eb281569b8a0f53d93062ae1f210313a";
+  sha512.run = "fe4ec8291e8b1dfc6130bdc862384b8e7c6ea2d4db6baaf92e0b7b053ab8ed328ec452e0c1efc4da2eecc3f8b6c86e77cfd2100ea66e4f59276fb64683d55a92";
+  sha512.doc = "3b4900c67c65ee1b20dedb2ffbc844ff22dc519dde0121b375dd13bcd80a0f2fdf5cef8c4e43a395ebe8fb4c82d463f18ca30ec65fe2be398c181af78ec0a0f7";
   hasRunfiles = true;
   version = "0.1.0";
 };
 "turabian-formatting" = {
   stripPrefix = 0;
-  sha512.run = "8fafd77c2572a787542f37f59a87c958031b95f7bcf6e48630465b97e6d92b82d16524633295561422d99c52f3ec3c42b46ccc1155f00a2a5d54c3b908d5d229";
-  sha512.doc = "abf60bc3ccb3a2855aebc8ed03ac3b7177e31f271206a9775b4d353484bf36696a78aade3b3230d8999627f1126a14b544a38d16a8b7651f6ef0669b912c632a";
+  sha512.run = "7a6027cb84a6f2e2990d171aeb1e4cf528038f2dfa4f8bcd59f4775aecefd1a9e3d3dc36e9a7fa1904a9e42da1cea8b7843482ff8dbf00fef6666588f7b7c31d";
+  sha512.doc = "38d89482b53a8daec33e19fa9f6c782e42b61586ba96e7cdc91bfc839dc734352dd5abf9d3146c4eeadca5921d7a85189481393f0691ea5a9917547e1e7a1f3a";
   hasRunfiles = true;
 };
 "turkmen" = {
   stripPrefix = 0;
-  sha512.run = "38a4a7ab8823461364310a1e542673be715d81e89d1345954250b39be0fd7b97d8e95f08e20a2a491636cf305d024c29138cd89b671711a583f116811c3c2ca3";
-  sha512.doc = "2c7c024773519d83f15d01bc54d3b29b5eb903ef01cb5ecdc439cf92a63071cd27b81c16c83c2c410c72f6b22b57735aa14e54dbc42276417b70eaf4ebcd1d8b";
-  sha512.source = "7c638d830f2e5fd87a0cfb7e64bfe34eb9de16d9147540cf94d902d1552ec169276f836bac295c483f85746560f0f551f40d05ba6787a1506a723e7ff72f9055";
+  sha512.run = "437ff775642326f25f260280ca8d846e546f0f4b3c3082eb1ebaadcfc6ca5196967f82a00237367754b3ff307f983a828dba5c8117539d65634379567062a377";
+  sha512.doc = "39014c9049322a1966951a242152b8774b2bc914bd620b6eba8c97e8ec457a1ed3547f2c211b3bba333cab21bac98882dbc9a1e9028443e7365780cf4d78b577";
+  sha512.source = "1d69e90b8aa74db44b7b89c8a3346ffbfca2b8514205a04610b5049e50e61b19ef063d9b3e9c99bf4c141d52bb03d600ad5ce1a13494b06fb7d13d12f47b860a";
   hasRunfiles = true;
   version = "0.2";
 };
 "turnstile" = {
   stripPrefix = 0;
-  sha512.run = "6973830ac1bd7b0654a92933dc1578954ad7f2d76c7587968fe4cfb6ec769831249c20bf582d10a928ec909099bd895329a4f2dd20bf299b0d9f0a279efd3f08";
-  sha512.doc = "938f5a87f0e7907b766bf48a26b26c783305c0ad838447812f675957f83305d82ceb94f7ded0e6b3b37358ba3310a3d0d149cbe999d9ee73144ba45c89de4929";
-  sha512.source = "f70dcafbb77be7eea077f63eda48b3af740da3aa9a03c86e3a10c2369a26b132c2d82fe95893722460beb93003b216d5a938fdffa75ddaceb22f3a5f8a7718c0";
+  sha512.run = "083050bb9f34b576cc1033a0b754a2e888883d98d41aa08c1694f78cb5e372748cfc1d62af94732334ce05e91933e95796498fc120d6584f554260fef4d87811";
+  sha512.doc = "6f51d17752aab1c33442a92d3d926b1802c1274b3799f33f65bcd417d268ce851be76d36b13fbe0fa3599399f10df9e8bec7bfb6ffa929f667b9e7ee3e9eb323";
+  sha512.source = "edab29b25bcad5c2f65980b5539d60b3f8d6481205c89a1fe386f4e1b15e5988c3e592816aae2ded548e624e1cd55fa987eadd2c727d2f261128172bee6b369a";
   hasRunfiles = true;
   version = "1.0";
 };
 "turnthepage" = {
   stripPrefix = 0;
-  sha512.run = "88db62484bfed423fbd463860d86d252e43a8f60711d21b752b2561e0f11ab2e944f7ab7917f8e1b34d8ef38b834f937b66902160380fcc819020d78cb018eff";
-  sha512.doc = "55ccc9aec58822730f71f5ba1fe56e100ec2ff86a591b6e190dc116026a48a840fc3da6cd8b298ebb90b675b9b37c6d4fba876f5ed75a9f36be65afba1bf0a2a";
+  sha512.run = "446b0516264eac6b880048e16cf4ad7bb529718c726233fc645b8c32d625f3f6b505b72beef81994b61ddc77ec8ecfece907347be4f9e18a79fa36c2aef91b5d";
+  sha512.doc = "4af8dc61e53df587f19b61f6260e7a7820a8334f2841a63f2ecc05b7197eb69596dc36163b39cdaff9258651241a334b6e3a814699065c8ce4f861fba6110f83";
   hasRunfiles = true;
   version = "1.3a";
 };
 "twoinone" = {
   stripPrefix = 0;
-  sha512.run = "4f1bbebc544f7662e0314e4f82f97ba4a3110d01c9362944147a2401c0c4b8d21ef89717230165d0ea1ec9ca85cda1f48c2809657c15c4bcafcc66738f9563a5";
-  sha512.doc = "38d1b831fae92c352ce1eebcc24c7e3825c479749648c296415efffbdf372b864a352a1186c44e416be56403b45ca3407cdb37602986d3d734ed5d28018ed3dd";
+  sha512.run = "ffb9610d416a15f664bfc34772651af63f76843127290bd64462991b3b892a8bbe9b5a8251e278ce757883226bc07f89f54cf94be08d6bdbe6f68c5841e3a282";
+  sha512.doc = "5b79b0b235fda5e32680884702a16fe033f3a617daa765a72233d22df5e217f6d2a617a2d067f6a230985e5144e6e6d733ef6e7060f267c6d22bf5de39361d41";
   hasRunfiles = true;
 };
 "twoup" = {
   stripPrefix = 0;
-  sha512.run = "b9b9bed377ee07e9f0b4475b7c85a6b75cb6e886b65b274def8a4de5787b5519e24f42cc85c8b2e6ca961c787a03286bafcb57fb9552f9e7d4952a1d6cc41fc4";
-  sha512.doc = "1d4bf19cc6fadc1044acbbe016ae65f5cf5118eaad04123504b177d46ebee56cdcfc7691971eb4a24f61a8b94e355775b6e6e0fd8bce3023b1c91f3c51c3faf2";
-  sha512.source = "7319eeaa766a8f381920819edba99fcc2bd085f88250526ecdb6b39bc18ce3cedda2e103f2a71c449f5d1cb27f5d2d1c2852ebf2f2452eb98ea57a5dcd100e04";
+  sha512.run = "b3734b3818498a7038d544304d27376ff481b81fbd776cc44b9d246c3e69560364a784d897755cb69f9608c51135a1fdbb8ed370d624db64dd7b5f18a48bf754";
+  sha512.doc = "2bd34ca3274a229949c322a543c2e1fcffac7383edab2cbb7f0c74dd43d3b9531f9ade43f6d0126f5fd43371093f92170f69fdcbc4f69ba7fdca1d1fad167c36";
+  sha512.source = "d121f96d050e4dac6b2b52ff99b9b1ac5d5dc5e815c670f6458cdf8989a7be5e5a2ffcf4bb25d3f1ab6d5c02d1c67c15382ea266d0ef2e1f6e86e404fa1dff20";
   hasRunfiles = true;
   version = "1.3";
 };
 "txfonts" = {
   stripPrefix = 0;
-  sha512.run = "8c890f04c7c47d479d35407e0d2f4c2e4c3be435d98d1ea6e5d6cfbaadcbc1e626ebe78e5e1ce12799d16cbf76a86c5fbf41c529b358a65f4439dc2aeb5c60fa";
-  sha512.doc = "b4671941f2942ff2a929a48e45d040e9b6e22591d4582a52f9fed425e87549916a9d4747a22d46b657d4ead7612d81a6101a853cac70646c39d38ce68b9483df";
+  sha512.run = "2e6a195791067ec85f4eeaea5970467c97915dfa48f59d17b5a73c90ba221de1b41ed35502c6714335cd190af05ccaefc6cd5855c5f35f49bd8e15a2b4ca0726";
+  sha512.doc = "f19a988305799931023026f714b63ee539ebaddcd39e9be1f1bf765cc4cc89428b626ff4d6bfc91ea2f324f08cf09b618b6a0f8db6b01dc9d8685618daa1e2d1";
   hasRunfiles = true;
 };
 "txfontsb" = {
   stripPrefix = 0;
-  sha512.run = "42ebcc0137a987c9d1cdb6b801bcd02a4e201ba8b53d144dd275111b27c1db9613dbad6d8d7fa52c94b140c0bc90a57936eadef1e9adbf96a8473ee1066d0957";
-  sha512.doc = "dcec58f168748b5081bc95ffcc85f23e18c123fce0133f390b76c8c8a1b7fbf9359a8066851befb72e2945851e28e9bcd1062f12ef708925d1971a47e61e4c5b";
-  sha512.source = "10a5caf9f961f834fb61ec2e806cd06ef8e0204da3b5befa599b59d8cce275690933322a55ac0eb1feecc7ad0c451c58ba5120b38f5a4bb679986c2ee931986e";
+  sha512.run = "bcad7b4043aab05469166bc747a14746d8deaa3bf0d354c5b7bb706a86c4b95bea9943ef4529289f82ca939cffe377dc4f5cc89e95fc4bb4da797b61cc9b6c63";
+  sha512.doc = "f6af38502971c30cc2e082b0eb64ee86d494b77937e13b70dad24c77c90bc076b2b983028636bcdfb51ae5efb7d901cd082ca5d3cc6b7360d299611718d6eb31";
+  sha512.source = "61da236fc5cc33b520c4d7a68beca24dd4799bbed7675d44a3daa8bb4a815a3f3944d73eaaa157536a60c6d67d68dd9a214f083b1dd2bc768f14611b6ddd8aeb";
   hasRunfiles = true;
   version = "1.1";
 };
 "txgreeks" = {
   stripPrefix = 0;
-  sha512.run = "09ff7391f6986c014503a5e5de37c3b3dcc62d087ce08d9b9546e6637f7d23ba218b8cde9fd724c5e94a8e2e8a8a9fe405f44bbd2cb8f73a32156511c1eb158e";
-  sha512.doc = "3867db9b02d342fc4938a52813bd39ede470155f63d0ccaeaa2f0d03a34e3ee7e80d9ce3ac1e676225f51813015122914c700f7fcc714fbc8aad4f347dd62685";
-  sha512.source = "f269dd78bb738cade5f592a7888c6a1b53c261a0185c256e6ab6f144bee60a2eff2e70e272d6e4f96b190c59cc5b498e4d3fb5e3377e1004c675174d89761add";
+  sha512.run = "05b24a0c9705589d2e04933a5e29b8a49de155ad0e9a4caa0c36785f7feafe475275b76c58aa50d9318df26342b800382d3c9e8164bd95fdf400f730191282f0";
+  sha512.doc = "b671e433740ddc414e0a881d1f91a1311ab0957038ebeba23fe99d623a62e0499825548dd591d0adc67d32a5d7331cdcdc76be6ba87f77265bcf48758626919f";
+  sha512.source = "09ffe315c18dfe3ce065a6a48dd17f1340c2381df2585a973b666d2a93f1560be11fec50c44e178a154bc39416437772ef1059c539e5934ca6b02866a087eecb";
   hasRunfiles = true;
   version = "1.0";
 };
 "txuprcal" = {
   stripPrefix = 0;
-  sha512.run = "e0bd84918e1e7a7f768421cf4c3908093b84e7f26c1cfb0d22c384251e7899949acae75a8ffd7992c384acf88bdae34d1c76c12be00bbf4b150e6f545735910d";
-  sha512.doc = "a987944053baceeb32748b0d729166ea5e932f2707f8ba0b143d3689a75745780f4d5e2528ee962ced97d48883daf69a3ec524509cf58b5740ca3f56c2bdea7d";
+  sha512.run = "f6840ff0846b52130b65c81513d4bf358dfea413ac6d7f324eab592b96d5277d7036e5d991dbfc1ecf6376fd35baaf0351818eed69a21b6ba88e25f878a41ef1";
+  sha512.doc = "f5bd216c689b0368bbbfe29f7fbd57bb7c02344d8696af488fdd7f1078fc5ad9ac7ad5565f1408b7b7d19224093d1418c1e3d8920b8cb0cece770811576c894a";
   hasRunfiles = true;
   version = "1.00";
 };
 "type1cm" = {
   stripPrefix = 0;
-  sha512.run = "9b4623d1d87f75de97c30904b24c558eb15d3dc704a83af319bc80b7f660bfb421f2295abdf389a660229a23b3ceeb8376c87057124579e5136900a334a6bbc5";
-  sha512.doc = "6bfb713c0003bbd6ee5bbbbfe8c1ccc2e0835b88a041ece6170f0ccc742232d467be232884c6b9a5279765bdcbe900a68b56a6819685ed5694c19f9bcf6dc2a2";
-  sha512.source = "bc6ff709e7f5fa7efc9f6da4b80b8531910ced07cfbba0d2a42e732eaa20763547224f101fe0e426ed77539ca6b3cf23440c5194308996291da3affb5090329b";
+  sha512.run = "85a72c942e61dc0c0fd3fd7646d264ee692ecaf4e2badab4f68dbcc380a1c88a78d4ce066e23a08d1cfb29ed3af0115b08ea05a0e078283513eb14f9c6031863";
+  sha512.doc = "6cd4061eced23057d860143dd7121b1e0ca1a17de1c2f08334c678c9623c0066ee77c1ab5036953ce390be7356d3fc0d155a5de1f0aa977e1e95296fe71d5199";
+  sha512.source = "6a66a866c6edbe8c914bd3b0a7568c0e23914253fcb70fd849326e42b2c32860c97756fb94f5879dead5bc3f057cba64f639038b5a125f607c3f21abe4807bf7";
   hasRunfiles = true;
 };
 "typed-checklist" = {
   stripPrefix = 0;
-  sha512.run = "a3d4463739efb1b37f1ab3c10c192bdd749e45d9a7a0c5db6d8d719cd451fd03e569a0626210ae631050e45c56ba4d677099d9377b8a53ed4c35e0e3eaf95302";
-  sha512.doc = "26928f16a9a8a5803360001a43c19bb5d86a882e9f231c83c93975ef9fa72485281685c9d09fd0b7c87511e1dda89eb6e59ea68840b2d4be1760d2cbbc715fe6";
-  sha512.source = "2b1cdfe90970c95214994bfa5e38fb211865290eb1580b39554a94e7ddc4a9df22053b5f83728cda1be3e6562a4a15c08d5b325f6045387e4888fd10c976c040";
+  sha512.run = "3ebcc55c6e6e5abe50b1040be5d53f662c632a8b53f2d1914dee66ff0ec812d61057113f8af5062171a3bc9f7a67de0b3b5768eb701534d386d0db6fdfea0ed2";
+  sha512.doc = "87943514c64b12bc85711086f17bf06794e110f36b67232659f6746f39d4e671a7b618d45c21c7d034e5aef3f3374c959445e235329fd16d370410fc5f9621ec";
+  sha512.source = "bb0775fdb62b386d8b712a955849462c2c3c812469921a00a00d2fee20590a15f300f622bea0d86d6db7b2788c45bca4eeec443cb3c08b97c35e5f51e497fe81";
   hasRunfiles = true;
   version = "2.0";
 };
 "typeface" = {
   stripPrefix = 0;
-  sha512.run = "555c7f1a1e8fda81b7a1765bc4b32319be31cadaadc7b1c268af6a3e4d60de2035517a669aed43a9400d81be8b4b5c12a43c923c5a48641f512c79db74f59fd1";
-  sha512.doc = "f33add74aaa83391fbe59890ddaa0083b2bea861e44f5b67e536abfb17aab40ee4897bbe0d4dfca55ace433017be134c9fdd028a3337f5d4cfe9a42c49ba7623";
-  sha512.source = "84b926fafbfa104fc29b09e85519a07dff8a772f5b569dc2d76dd6bbdeb0ad845ffddd10e3c89ae9ed72ff7af261f5b2b6abeee71119b60008883223affb675b";
+  sha512.run = "68a71a590aaf3c6defc28a52b47f38bd1d24ec034df904d7baf4e22f1d390ebbabe744855bda70e72986450b402f03295f772a9576a2bffcab5638f3f77718db";
+  sha512.doc = "548caa57dcde46484ae947f46abbd8cfae54c0325b42cc32c23c092e23f7cfe6589b6ddcee1eef09ece3c5ce0328fa561c52234899d9544fdb86440c91c63ce9";
+  sha512.source = "3c0a366505b9631e4240bc6a54619c8f526b18ddada30f2a88f8adb29916d0be755bc0643fcb40dc4d1a0bc371596774d029ab4c42d473ec09c36fb48e99cd12";
   hasRunfiles = true;
   version = "0.1";
 };
 "typehtml" = {
   stripPrefix = 0;
-  sha512.run = "98146acc3acb9416994a9243a9dcbe8fd968beb1a2199fcb3a1343174b11ffaa478d89d9547529e783a1ebe663605c1b44e8ec6ce0bfa4271dfece4922931156";
-  sha512.doc = "0c11e58e8770783eb324e8f1db33867e0b767fef9d8518568b4de6fbd570a228b0846c205911e7e5ff77e0a53cabb2b640baa41852c1e479fc0f09a491168928";
-  sha512.source = "bd55dfeec26836a2a89e3949764ccab5ac3a55b1fbf048ec431c03761ae8574d37cf54ca506bedd97857eb703c9a0151bf265001cedebc0c376743522234c810";
+  sha512.run = "9a158c2fd4c16a5dda1f8828ba32e082f5839fb841a8479563828b0085db4fbe28cb91674c6f22ab4965f8bf6f6cdc0f5b3113743113ca0188ff8bb851845ae3";
+  sha512.doc = "0001ed86af90c4fba458d299a2651a200ece010ec76bd8e934afcbacb7d7684fcd6c9514d280bac886a41eb38b4630fa52b1ea18da70ef9c29bc04618e392673";
+  sha512.source = "729bb6acd2e6ec28bb18972cc58b7ef8efae136bea2d96a38cedb4b0d40b02e00e2b21143706325bcf9add879e8adcc6b0194b6cbef3803c5566e7f6f0e63ca7";
   hasRunfiles = true;
 };
 "typeoutfileinfo" = {
-  sha512.run = "6ec7f66900e58f700343b16cdb458fa7e1985554521e58cd6030c90d0f1acb65a04aa85d652c0462393dfe91c3b46376c822048193a2eefc185839aa644a3674";
-  sha512.doc = "308511eb35047697a60a153bb0b8fdf1f73f805a7c9686146e0279dbb44500bb12becdeb8cc0a10137fabe87a83a3457746a63aa02110342fe9b8e0a433c2c42";
+  sha512.run = "b30d2618c8cdbf69fcb8a5444922185a52b934448b5d28ba143948cf80ed17cb402d73d1162194df3d2992a52ca9e6faca79000644eef968c4eba892c415b6bd";
+  sha512.doc = "143c4ad9cb3890b6350069d5d045f74c0bb0cfbe50e7d051c50c82011b56e651d483c1422d7d553a8d1d1784ae726a1ca1aead023fc3ccb1da4f0d59d47f7920";
   hasRunfiles = true;
   version = "0.31";
 };
 "typewriter" = {
   stripPrefix = 0;
-  sha512.run = "b378d6f4c342fe5eaee25778fd040003c9fbf2c6d63f9e5d17aa5bbc067488b67175af4e20de8fa7f87fe009d43b3b95f768907a207b74250552be6396e4984a";
-  sha512.doc = "0c1f8af962e9a351b20b1000f170394ae7f310a8219be8381744c2ceaa171f926ac96bffbf5b781308925b21c264551c2eba1fd5735b5d85011468120d5d38e7";
+  sha512.run = "f8b9edca6a860f0acf0d676fff381276594f7c13fb13da2e54caf5513a8a65fde378b4c16dc621d89d25d7492318b006d7c5d863c1f96a0a246064c0dad1f2d8";
+  sha512.doc = "12376247fd8500e7c147609bf47acab379e36126976ea9f2dc0a352b8b0d779b1cd43bd1394f3961b1a7fa894a8b6448b0369f612d8bbf8d1bec3175e850f89c";
   hasRunfiles = true;
   version = "1.1";
 };
 "typicons" = {
   stripPrefix = 0;
-  sha512.run = "a66d03244fbf2a5f2b6c90411d9ec750295071adb137ab549af6932f104911b096fddf6a515ebef4a02ef6b6c3d1ac683415289717f5e6f8d661890f503a49e5";
-  sha512.doc = "46125880cee45f6614aa052e63d9f5178114c41257fb1d6fdf0a68fa4eec6712036f13d5ceb3f5ef22fd8fa76168bc103ab7b138e7e3911d4e6408bc4244400d";
+  sha512.run = "38b0afff6e88635a2a27502f1abc279fd70e49f36d56bb44114895614cf80184ebf8b627bcd576d128b3557de08b3791c5c2e48f2adac9766f9a809ff0db3cba";
+  sha512.doc = "36b9517833fa6c430671fdaf0ad0775813c22ea3b3f56fad96410dd90e052b76d81f0ecd411ec19b567cd664b7ca44b9268d05ce59fb9bea0429c8f91c3a4a55";
   hasRunfiles = true;
   version = "2.0.7";
 };
 "typoaid" = {
   stripPrefix = 0;
-  sha512.run = "da7c5a7e42a225d5d8a86e08294fd74a1a4066123894174d5c187ccf3d70a205762cbca39354ab5fb954faf4df713c00ab5ac64ea654708f0aede15ab01b5ebb";
-  sha512.doc = "f5bc487393ce1f65e4741b1f803312b47c456ea1b00909641eea1ac2bc9b54d029466106487d396d0164521ef2416a2505ea8526841526f0d87348ef748a4c6d";
+  sha512.run = "56553f1ea620566efdcd5dbe3710627d4c1b0be0ee294d256cec8cd633a4b24048012c108eac867427ddda28614eadd73172fcd2c57ac702d5f5e5c4a40769bc";
+  sha512.doc = "fd4809e02b1167e16bdb75cce5837f6202cfb44e7a0204900f6eb70173aac984eb35b14f00a9d43d4a61a4fb3a00298eafcbf71de15c7531f043e64cef418d8f";
   hasRunfiles = true;
   version = "0.4.7";
 };
 "typogrid" = {
   stripPrefix = 0;
-  sha512.run = "359814d4a759597fa6775e4a62fed6b1fc49edcd95c4fe7ff5abab7137e19c2f0c0c7279430f84cf41433396c128c13ba7d0052ea652f6ebbb2ba767a62e6025";
-  sha512.doc = "5a5f821c21226695649510aa7b1b6e7ace9a564a2137a8f4d7fe3fb552c00c2fcfb6647c204603d24774bfec5f5e48484104e88318bb54372f8f5723a418a454";
-  sha512.source = "ea89fbfe0d8655c0ad755a6531aac405e1b6dd312788bbdfa2cc81b518d84992d9b737f2ab8714fdf6d67f16d8f0980ab5e7e6a05927bd874654673e27e6d426";
+  sha512.run = "4ef0239ae626245b25e43819bc05da7d22d89d1e33b94402f8bf2b24e2518bfa7ce6626d0c9deffba5d461dd65db0160bd9134b78cd9ba930d0e6315cd761b9c";
+  sha512.doc = "d228343668d98616c6cab8a1c4b0cea313b4a7d2f25699a0f54f64b660b10869d2669d98f7f5b992ddff5a3202139ef1e278ebd40b3dd76466c6154a59804c90";
+  sha512.source = "23aa23ca0ca597a03ffbcd0ea79c1341d52aecd41d363e6daeea8b35c74d59a4edcb6a0f2dd7fc05e0a1018ce375f77ef7c831cf093292dd3785f486b2397388";
   hasRunfiles = true;
   version = "0.21";
 };
 "uaclasses" = {
   stripPrefix = 0;
-  sha512.run = "6c34f5a9c36018ce1930433d1775e5df98110f3d973ce0ce193cae82b4f0f73f6d242893227461848450174656a0650ab48b781118b407f50aaba7c44cce7689";
-  sha512.doc = "b1e1f5a568adbbcb4185ba76d6b581e067cb6a682057e797b0c92630f03c551367e1afcb184033d719b47fc0db191a09ff04756ae00324711e6828aa232e8802";
-  sha512.source = "f66764e73857b70400c571f0940286eee955ad8878cd195528ee86785a6f33a280560282cbe7a6fe25a2aec7bdeb44e539b15893606eeaab87fee710f016cfa2";
+  sha512.run = "4341612f18d6f5f4352ec0bf0018fe3115be73f479479586a81d7f994ec23adea7c38fd773022b4d81a126e43bcbfe5f97f4c36d61bad73509f2c1b97882c00f";
+  sha512.doc = "63beb08274ed7db9a2d77761277d65f89988812765a2484d7db54a8419cf67dad3fbf76b46bdafd8bd7cf17a1d540deb83c00c7b6df01f6f023bbb5f098c2ab1";
+  sha512.source = "ffc4902edf6b4007c3685a58d3e5a20a02a6ca3072466b7415cb4fa98de236e52c6a391c5e5cf30aabf37c7374cf00aaf2c7d6c845a3a61e2f9c0b0505e215bd";
   hasRunfiles = true;
 };
 "uafthesis" = {
   stripPrefix = 0;
-  sha512.run = "bedf63580d6b2fdd2132654a89c3e1b57e129699842d09a459602e24d29159213b15669e972ac2766513ce401a17e11a8b8c551a61c03efa768032ea7ca5cc2c";
-  sha512.doc = "78bd664866d4cdb9b7ddfafd52713aef46cca6e19a999c9acc0f4ad06eda05b253452927af64041888bb492be30a1410de04d1acbbd077c20bf1f3419c6a72ff";
+  sha512.run = "3f8146ae2cddcc8f136c7dad5cd926919d4d81a2b43038fcce55620c6c240326123b6f48c32504b44cbbd9b62aa3a61cd80f5b85c9890ecddef9d96342cc0eb7";
+  sha512.doc = "bb1e0fddf66350187d8507b34811c0c1ea84fbf0c6cd3e9eeaec8ef6c7111fa2ad1eb4d805df01fa6bed58030056ddf0b2b4305ad821e696fa6de977cff46c98";
   hasRunfiles = true;
   version = "12.12";
 };
 "uantwerpendocs" = {
   stripPrefix = 0;
-  sha512.run = "0142986495ec211b979a4fa938fe5898e1a0a5a97de0a8c68f8580407472f5c056cb6e28f32b79f0eed0458c2c1463553140619192aa35c6d3e013d191813e00";
-  sha512.doc = "61d65f45f77ee1a0fb8d97c2fdf53fa22eeb6c2df54bc646d83656ec23bcec4ac8fae3d9aab71efc1e5762467288bcba148dcd8c562cb665bb5040f1ff17b1cd";
-  sha512.source = "f9fe6dff44918b3127e1a6e16c2b496afedecb9daead5a80a29e0219ae0fab9ee35fe10fa47c0b588d2433326e94e5aebd094a168e9980eb4eb2f21d9d006e60";
+  sha512.run = "93c494ac45f8713cdff15e03b5f17388041ecf569eea304966da980d413d542d72af79ce86a57686e790ac527c5c6e562a93b9612c03438aa7ea1acb3fe7af92";
+  sha512.doc = "94a6b8beddfa2b625fce0f75cbab43ae4fafa7cd7c5dd0568cbe46cc1a7b0218c74c5575d116c8e085bc0fddb62db0596635d549251a760ef93d93b662d40982";
+  sha512.source = "76725a1498c86eaf6e585a1269b737601136337770f304d598762aa7f354a478b70849b1a98ba8bdae71c81fbf0db372c275f95396463316dbb5a9631b068b20";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.4";
 };
 "uassign" = {
   stripPrefix = 0;
-  sha512.run = "b71a22632a1d53d6aa9e3e9dbbbe0d6795b329c831f44a2a0f702eb6aa785f73f75410e14260b2e5c965794c8f16d2421595a8249b3c04a3392e8172c65d0635";
-  sha512.doc = "c07a5b2e4c604d68a7f306c10233168982cb7c450be7fa8c1ae7d49d4ef627cbb48699d5693cf47c39a539214d548d06c7338ef3c8a3dd875620d7440460b972";
+  sha512.run = "3e61f381e23c30670fe78c4a54d99970bd05883e6fa03040e7123fb0936aabf51341d64aeff92109fdc33b7b97f40aa0cd81fd6624d9449584aef1fa3061070b";
+  sha512.doc = "e6569cdac6854bc1856d6a4604589619ecbf317442018790eabc3332723dc167a879e7ca6be0da8c281847e757ddada005daaa3b8712f7697ea4052b9c9f7cf9";
   hasRunfiles = true;
   version = "1.01";
 };
+"ucalgmthesis" = {
+  stripPrefix = 0;
+  sha512.run = "7f2d9b167b5268eb3f163ed71a12e3a979e2062469401a07b148c9d24f3080f050cb31df84adbd7de20675ec0275405f77923331862de78883faf86664445241";
+  sha512.doc = "f0a3a599e904525877c6737262de78b66d4144d49a5fbe3ac79db3a82481d168607f48af9974019d6bc773465714a5043bd95fb45161d833d2903de708375a03";
+  hasRunfiles = true;
+};
 "ucbthesis" = {
   stripPrefix = 0;
-  sha512.run = "1a069b62104af94a97cd723141c641b9aabc6172f026367270ad6c5ac576dfec1976ca9eba80c2ef42590702d41cd82258c8562d9c7ce4c2f4d86262e1f996a1";
-  sha512.doc = "784b117bac86296079e813b51baa86f76bffbc136e467b986e206b73547668a0df891d31fb0086872befddc0486c083fac4627b61e1140caba15c763c7afe8f4";
+  sha512.run = "b1a4258afddfb1283c3fa4f8e126dc63f1ac948ebee2d2fab3738e2f5228b0bda85e71ab3cc3ccfab0b8ae66b84547c5070e111e8c1516b54bcef721f935e63c";
+  sha512.doc = "aa443fe9530f08dde9b0531e075052868524c7ff6052e8e93e384ee3c01a354fd1752664b602ff6c98ab5250d05eca910773236d55270c09a567c9b238fbcd7a";
   hasRunfiles = true;
-  version = "3.5";
+  version = "3.6";
 };
 "ucdavisthesis" = {
   stripPrefix = 0;
-  sha512.run = "a218ab7b0f85fac3b8c59f20a2fba3d620e3332b35073fd7112e47b23a9f8a79990dc98adda24422ca51c0cb1b9d07353738cd7014d52963e67122549c815cc1";
-  sha512.doc = "41f92ea37c1989e7138670d749a2e15c3b5eae1bab907248597d45473b1e57a782cba66a29bb891ee742210fbbaaf9008bab394b494618bc1c8005e09256dda7";
-  sha512.source = "57dc07ecb16e323a45b599177df13ff9441635761a2dd5fd0f647044acb2405facd0dcca753359f04b4f29a91298456a8fcdcce983f5b791641a3f3d52091396";
+  sha512.run = "ce8191ad81027361c23175194bf23284bc2e43407f0047586a4a89a2c51f9823356e2e571639a1f76f6a1f2b43c08eeb134d874c03f559897b0cf50aecfc94a9";
+  sha512.doc = "26ecd36ab09467341868d0ad7d71f39728f23688053ad4b8a89339238da5c96fcfe504d8e6403663eb6441a14333163f8998e00428609b161c3e9665a4ef0bf5";
+  sha512.source = "759eab6cc5b63ac159e481bd012ce5da4d6ba35f459928d4e578b96bac60485df32771660b4f8fce08e73303e517c37aee1a5503a96c810506bb854cf7bb050e";
   hasRunfiles = true;
   version = "1.3";
 };
 "ucharcat" = {
   stripPrefix = 0;
-  sha512.run = "28832a734e22f55263670383d9b01ddb8762d154296f4f04176ef67904de459b78ea4d02f6979a9d1dcb72d63cb902655d0cd10262ea552629c4c8c15ae85bf9";
-  sha512.doc = "798be5f16941f103cf5c8460eafb0617b63a646e110f4b87684e5544840926fbfb7faa456362f0339e5210e7155558a006fc6d6f4a35c5b2533ca68282550392";
-  sha512.source = "2cb7815be55a08cadfcde6cf0d2be5dd5d94c3fa85ab6c0cd45d565ceae951f5ee87ee74b1023d86466404066fdc6db58010d6daa82ca65ed003a9674a21db2f";
+  sha512.run = "333e8f92394d89bdc3492606e467d4b664c5d87eb464e1c16ff293e3f87931c3c70308aeb523fb40f2e76e5d0aa2c1635402f40fc36ecfbb7ced98d232b8bcb5";
+  sha512.doc = "b4615cefd26201509c908c2719519f927d61ad96367a612d654917819b2ac973fff85d081dad6e1d092e634388b16e83e440d3cbad4fc7c16f638f5e2853bb7f";
+  sha512.source = "6ac34b38f4e0908d841ded4981d649c9202bd3bc277843e6e82bce629a245cea9c6ef1336d575d77139584f3940181c5e6f0abadf4ff71c42a97ccc33be59d9d";
   hasRunfiles = true;
   version = "0.03";
 };
 "ucharclasses" = {
   stripPrefix = 0;
-  sha512.run = "c644db7fa3ae006ac8ccf347d90d399ff0508edbfe1441ec6923cc7242e36c7ed22b0cb26c6ce7f38f4e40a0d8f38fb808dcb15322840682ea80dfbcf324c9ef";
-  sha512.doc = "837248e7218c73fadd76333c8a19cf03af0f6d16262433f00cc1eaca557f8aee2df57e64b2430a23fa89ef09c8655fa17e88442a413496c1c2a3071f08202c5a";
+  sha512.run = "1c90d8c0f27919e8b3e8bb057a43bb1878b1bf35840d13b6304edb24df56086081883731c35d1d58638374bc2835ac3f111a23981459357b1d1883168a4dd833";
+  sha512.doc = "21453f2a5fd247f05033b929200bed163391c718ac0562953a732718b8851546b1e2b8c1fc35c1412def0ac368c47ef1c06d9d8f4bb724be6863c2568662d10c";
   hasRunfiles = true;
   version = "2.3.0";
 };
 "ucs" = {
   stripPrefix = 0;
-  sha512.run = "c0dd75d44aa94349d82128a03b97ce1b0598b1bb0840ae3cbd18e542ec9479981c7cf7941ae8b78107302904859618d523c5a1d36794fd4301b38657d342254d";
-  sha512.doc = "d283f7ae94465e9ed2a1a19052b569b72589ddf16bdc5220b3ddaeda2979a996079546f25d8a60b8ea81bb48e988cd877e7ad90fbcb7f0efd3f552ec8d5925a8";
+  sha512.run = "f3a7120c45b722746b0f3c90a189ebf42daccaf659385c16507e5fbfb0a2922b7fbc3b3e34f53fc61ce6cf0883c9c182ee47c95b3596fbf9029db6fdafc6ddcb";
+  sha512.doc = "b1c57fc95a282e546fae1fb8267c450412ff92b5bb0510c335cfa7d8ace9691c4f6c47fdc0a87d6752052abca1325a86a44b777cefd65363bf4d9c95265de888";
   hasRunfiles = true;
   version = "2.2";
 };
 "ucsmonograph" = {
   stripPrefix = 0;
-  sha512.run = "fd53e5090ecaa87b37907fdf6247153960c3ac07b141a63d0f9566aa5972b25c1e6ba7906ddd8431baad4e712457a6344230a96a57e7430ffcde46035f4ec586";
-  sha512.doc = "012b00aa412ea001c1152f18ac0cd1ed6ceb8fb93eb4ec90ceed72157c3a301ff23101cc8fbf23f1cd534b902f977d8ac6d64252471f746b0a36019d62cd2946";
-  sha512.source = "8615571e5a947f2dcae47cf1568787e0b73958ae0b77262214baea7387107ee7b61561036e6d74d2196df9cf9129e151ade6a14a23ee6bc8463e49e6e9c32eca";
+  sha512.run = "e7d128e550f797aa566e1364102c5625ceb268f7e3d8ac78f03734d5721e92628ddb22942afb4355ba6dbf68cade8b129148a41ba777f925a4c51743db12bdff";
+  sha512.doc = "500317f88c5162f201b22d0d511fadd2e2a024c72fb7ad30c15d6f251a6c350bee724f62701341d78dd4ac2d718b231994a98319fbbd8b79caa639272e2627dc";
+  sha512.source = "c802f694093eb71d8cce30ac2ff2672ac07ed40196575f89d192864d5fbae7e5bc5e0910042798cf4ddae7481e812c62b50c5ebf245c59dda1d3f9b992cf1497";
   hasRunfiles = true;
   version = "1.2.1";
 };
 "ucthesis" = {
   stripPrefix = 0;
-  sha512.run = "eb1e5be6f1791df1ab905d34c93d2019ef75148bf7519e0797fa4486072c7772d2ad5ad4807d602d9e7512d1ae95f5365b8d6eb28c011293daf9a427b151ee70";
-  sha512.doc = "ced7b7cc77c991afa70b09d0d6adac043dd1294fda60b1185a680740ac3bb96ec8af78bd9340663363b1c40388f6713d835b8b46dcff76fd7620c848875a5927";
+  sha512.run = "5409e366c69372dd3a93b3755d185e0b96edf71c7a8de4d6cc3d41850e5b9915d2bbe68d3265b5facd52e7d8c00159031737dbcc26302a1a6a89425ac47f443c";
+  sha512.doc = "7f7ec44a55e2d712af2204d883a7136b44192a402daff4376cd6cb217419179d2b46bc083688d9be9ad85d2b3daeb00305f2253196784ffc9d72c039f0aca5af";
   hasRunfiles = true;
   version = "3.2";
 };
 "udesoftec" = {
   stripPrefix = 0;
-  sha512.run = "a82778c8e50b42614820bffc5c2f92b62abcfba7425e6f51d75de131352cb0045534c167bda6bf9e04d8bb42c9e601132315331000fe348e6d10bbd607f39347";
-  sha512.doc = "1b74a9e27ee46fbd081b2ececd90039ce62957a04c9fc3a0b86ebb48c9f3732188c1dcc02bc89fb38fe2c0530ef508b6de70c97428e6aa7a7d237865f35b244c";
-  sha512.source = "c2a524dd996851d187604109100a1c5adca2d5d82e317c0cd2b9fa419db90b96128d06ca19001da09ba63e0c7d1e6255a3cd718a39d4564707d26563d1bf7467";
+  sha512.run = "668c96da10c6fa73d9739e00e0144d20fcfe1677417f648c205fa0fd49eae7ce9d5460e30f2002c39791a41e7db19d8ac004b4bb0d4c44c230ae1ab1ba884719";
+  sha512.doc = "fe902d88de4e7e98a5416bfcd67529d860ee85733ad9f76e8ad2112fb2ec071c2fb26d786e88abf8fe8c8f7d7e199a4f0c15f728aa1c117bfff7e32941e677d7";
+  sha512.source = "a964bb8d9dc2e10155b73121c062cb101108c94def892aeacf166bd739c64cebbf5132e2b94c5cb8f4e377b94005fb8f90b5a2a4bae4f9c5dee5a6551e821f9d";
   hasRunfiles = true;
   version = "1.6.2";
 };
 "uebungsblatt" = {
   stripPrefix = 0;
-  sha512.run = "e6e7a28d6f692c90c226eea2de00b349e0f5e0b405306a99cd85735acc791458cbed66d6ff31da2013bbfe19adeaba2af63ebfc0026e5a5025717c0f9b1f27f2";
-  sha512.doc = "f7c2a45f56a417f3387bc4fe812c704cb32610d0c287fd76eeb617334baff97fa985ea51714d634eb6ad5642b0f75e2bc48d35ce370dd3d26b5c962974af2ebf";
+  sha512.run = "e9ce935da13de8106d63f233349bd29e954538ad17de7505be14a4b5a2efa1e1aabd3ef46871e98d2f5d4730bcf6c49998187924328eed19a35a95bffdcb8d70";
+  sha512.doc = "2853eae6fdddf889b305166c6c09351e8e7d7fb087c68a5ab9f4a7a282118200a5120c215708e7d2b9d4487457aa6330d11ec7f7a8e0139719b67217732f2633";
   hasRunfiles = true;
   version = "1.5.0";
 };
 "uestcthesis" = {
   stripPrefix = 0;
-  sha512.run = "d6721c39b39bfef99b99d634b45e7fb23b4a4522438372a9e4015999f964409e97a862f0c6401611eac667ea303077d38f852a45f12f93e55c516f7a77698f00";
-  sha512.doc = "21d033621b80c33c9a926204423c3cc4fb8e7952103916ab59d59fdc8d2b41fe7571a7f91c3023bb28d8315349f198d16d2014c38d3384e99024f29df4639798";
+  sha512.run = "aaeb270174e260230d527379ef0a7581ec9f78387aae8505ed5e88a04586dfbb1d90cb923181f34e92d5100bcece0da66e17452218f0c83bbb12b38cc517f3b5";
+  sha512.doc = "e68e86bb446c1e79111948b004ece03e2110166d01966d562b1bac6c932385aeaa682f04262eccd822e01b93c66c77be53c947c1dbdbf5ce129a74efdacf5df6";
   hasRunfiles = true;
   version = "1.1.0";
 };
 "uhc" = {
   stripPrefix = 0;
-  sha512.run = "c5b941f31dfe935b50d35f0c64adfcf4c0d008dc3c16a91a6b293e104086cb9711b8cb74465caf6b20918b64231c0a6abd6a778f7d35c31dceee2157a8268542";
-  sha512.doc = "7d1fb63d72d7c3741af17fd79749cdcc8742a86db94686b8b83371b43b175dc03c800135dc36d97aaac18e42695caba47f1bbf35ecb81981394d0350db94f709";
+  sha512.run = "b5e722e7a72d2efcd89c969c10291779a2885603817374e4318f59b4042b8890df967503016d08a91e30ba8cbbc6f1838843644f06cf44766a7096efdd3bf905";
+  sha512.doc = "c37c5041d155f9a175a6761154211a683405d094850cc829a6b942afcb93af987b4049e663d260ae2b066827007d8c6576fdcd5d14d3ff599f031b13c00e162f";
   hasRunfiles = true;
 };
 "uhhassignment" = {
   stripPrefix = 0;
-  sha512.run = "6b93f31b91044ed2f1456b530b791155c6c9e9383bd4d69bc42d37af69d944964e7fb6cdce7aeae9bb71fa5be8315ce3f224e2d506dc52fa83403671bd25ea23";
-  sha512.doc = "c8ebc4b6955f5e9f61ac78a6a47d89ba6b3a8aca7d15c1f86c37944e9288c17a07d228f37a0a12b0cce5a937ef0350ab0641f629972b4592f2a829ef090346cb";
-  sha512.source = "9c322f8e0508e067a22ae20d60042fa903f7db0393426375ad5440782d6b3fd4c4e392369815946306e6c16217792040d9c4e5623b8e6ff4bc404c666249996b";
+  sha512.run = "a394f6f161cb72ba42eccdaf26f08b12048cee56207f754dac157a2eede1b0867fa0d5916a37d5e3dffbf10237178f156fd3cb33c88be6a926208ca8dcdd0508";
+  sha512.doc = "21054dc051229a338d2aa954cbf80893e156236329206ff3cb63f47dceda4c35c6fbf6c2d9492551b7609aa88dec74c507094e2d96f2f96432436e74e80a9c38";
+  sha512.source = "0bd0fcb18d334c471fa7d4259cb7c511dc7917344ffcd724ea8bdf859272cc164649f01eb4e553deb5b44f91dfcaa1640b18ccbb5b10c1b0d3a7b585afa323ea";
   hasRunfiles = true;
   version = "1.0";
 };
 "uhrzeit" = {
   stripPrefix = 0;
-  sha512.run = "17a8892efa35b456cabb8926cfa899294bf76d8f93b7afbd9e5fb835bbae200934a3267022a9d4fb2a4152318ede995304a0f97667b8eca6ee71fae85d84caf2";
-  sha512.doc = "5f706747bdda480856f7a4c86563ffbbbaea928cd703ebd227794a7f3ff2684491e4709f48319fa9e0d2379d181d84c267f7a7219ea13653ae1e5fe227ac5814";
+  sha512.run = "7b5c732258e25ecc2d429b09349b94cc4f24de77e8db40add018f42bf7658868e9c3730f0fed86312ea96625556fe02a276535eb14416d06fa5fd2cc1eff30c6";
+  sha512.doc = "76c7bdb6c74ac05fd9b51366b68b0dae8180da51f506ba1793765d25de29582c8eba51826d6d6c6d3c3c1793f10fda3f6bb75c82d8d454fb19e1339eb98a9eb2";
   hasRunfiles = true;
   version = "0.2c";
 };
 "uiucredborder" = {
   stripPrefix = 0;
-  sha512.run = "7ea242fe600ae4e0410147a574ace47403c0f00910afd75752f3cf65ee478617f553f3d5d0d9577540ae7794507d3b2548f1d00b43052879e1d6fd45345511ef";
-  sha512.doc = "b663bd149b9a163fec6246e17d989cc7235921897ef8b87aa93061812e9c2bca1191767a21404ca22f8b5b458771d0e0702368e579e566b672015bd3bce83dc2";
-  sha512.source = "18c1faac754a27e8d37e8065a56967cd9aa34edb0b8e22e96e503df330748ddac767a340f9a23be8887eedefff623c95e644d0d2088b795cac7ccc4b6d615642";
+  sha512.run = "4a398e734fe551f1636a63ab3ac8b851ff1e445c8b15b6e48017ed7a81edbcf042750919db790d7e2e9d6b08132ec5a3c04195854315ba1c1c8e8712996dcb25";
+  sha512.doc = "6e1c91389897853bada4b52c8350dfbbc321395cf1ff7991d7f29d5e64119c86c4e07fdad889f2a4a149e0e2db1a1e5cd9a44cf6f905d5030afa25cfb14d1323";
+  sha512.source = "74256e3917f7d28adbcd5d08e4dad126dcc93019c852ff6307417b2e150cdefa986affb61d7b174bf510e5f75563bfde01fba9b4c588db3d41c2fca82e0c882b";
   hasRunfiles = true;
   version = "1.00";
 };
 "uiucthesis" = {
   stripPrefix = 0;
-  sha512.run = "8a30b902f1ed56795d501a28a985dd7ab243222560392df3207e04369b60638ca94a067b9c8c4bcd80db85dbe9e9a39c403c13b739fbbae21c5b3f631ec11847";
-  sha512.doc = "78adc6173546fecd946c5c4b633ea6d3a6c966c7f669adcad427a6d12085733cd7d3dbb4ea3f158ea02a135451119ec64333f41c27b3aad60ee485dc0aedb659";
-  sha512.source = "3bbe1a519eaa81b36ff85713f712a3e63d2c387edb1e0520caca35c47e322b4c5f137a2e408f7316d8a598143b2e2d211e4babe77b9a4e42dc47bb5e02e084d0";
+  sha512.run = "565b499bcef08716d627e206a53f2f344a10a0e219876eaf4bd82a63accb2eb43c14c8c8b25236d336022900e9a7d5299b5a34d5e40eba0be6d7dc8ee4431490";
+  sha512.doc = "798e7428988a622562b94bfd4ae389dcbba3524fda0d427aa4fbdaff0f1a437babb4e68b58350a3229fa078bf11e17af9f5eff61a5c9153960a941783cca623e";
+  sha512.source = "3d1eb025e066a311e4ae28292b00e697cf4de63b1038944b41edfbdacbdfd246d5a49bd63f561c5d0d4bfadad8d2a4325a8784245c09308ef5d2380054b966ad";
   hasRunfiles = true;
   version = "2.25";
 };
 "ukrhyph" = {
   stripPrefix = 0;
-  sha512.run = "6fb3cdd284fbbe6042eb6e73e40aca4fa5abc28ba639cb1f1c1871f5031f8a7a876a73500da865a29ba996193abfd501f3b70b58480050500610277e5d217dee";
-  sha512.doc = "be92315332fe79f7f368454941aed5cbab40b5e45de75d45cefab796ee8e66d6a0fe7579d4d69c589aada5dffcb85ec71bc4ea81af647bc726469e8d94ea5e1e";
+  sha512.run = "043338c4e92d84bc2b7bd63610656b53b39bac225c5610089c0c8b58ce9bbe3f414129a6b043a5307ebb7b59cc062ade7bd803fb6949d06a0d0c87e2dd4a0bd3";
+  sha512.doc = "a283d11ed922181d4f29f521e3019fbca2b1bba1aacb312e22dd8e69d05d7dafbabc5c23b63707f265bcd215d8f517f58ab2ffee2b87d9bc1a968d00e9542840";
   hasRunfiles = true;
 };
 "ulem" = {
   stripPrefix = 0;
-  sha512.run = "651a4ef2a5459d0df8a769b8d13009e9d6f842cab2c0b4ab727afa3781fbdf1b8b8d5d449209c542b60407ebd51d9ffe8e6441a5928fe16ff26311a36dd91770";
-  sha512.doc = "6ae65864db274f4570a08faee23c178b0197df9889f8f93a52664714bf39259f62ea3b9b4db9d1fc5562dc0001ed9afe9ea40ef773a8d874b74ebf6982cacb6e";
+  sha512.run = "f20ce5e900bfd20da9fe240214ae63ccb51fb6d0ee6f5a4081439f524889a480cfced5f261a10bcad8c7f28c31b7e1933254b3ab30c5de04d54ff80e49952342";
+  sha512.doc = "e73214c64517ecc2a30283b0e0e87f913bd768c2ab9dc0eef68e8c1534c3ac877ca8b96e6326205e7cb34eca072e5b2351542d0b9fb02b24f1604782efc5a7bf";
   hasRunfiles = true;
 };
 "ulqda" = {
-  sha512.run = "35ecffe16e2809e7ecdedd65d8f1debc20b9028dbb6b21ccc2a9845f48389f9308b4ef4905a18b605b8692e00df80a2c6825a69d187e8600bf8b5cdabaf2d6ed";
-  sha512.doc = "983f62f0a6788ca090cc0d5b29ae85da62d8c63abfa374cf7a3a847ec722ccd7abb479088d72934db25a0406478203de603e7f5a5e26ca55c802d6d7b2da0c61";
-  sha512.source = "96db76666987c7037b6fb97e1646caa3e1b7b9b10f922b7573e572d5cfac1be18010fb35ce61f51fc9c37e28ecad8011757c1b3bc9840c3d86a8798071effbe0";
+  sha512.run = "228132cc464dfe171426fffec6103f0dd5eac61c112b03d64d98bc89a0af0ddb7f52f27f9bb5461c8be6f752ae30ef3d4c6b987e580d834eb7524d5c27d956cf";
+  sha512.doc = "182dbcb73a25e05035f878696887ea219569a1a7ef44281bee14b4498b37e92346e0e97d187a5f3dbcd8d9783f260080ff10f58dfe41e69caec4888d901b9128";
+  sha512.source = "352f1a739cb9c74c0dae529ff330f3269e763242af4dd1bc0aca963b3af03f02f5becad436cc3a93aa105359a1bf2f229b3cdb7175d539d58df67563b490de8f";
   hasRunfiles = true;
   version = "1.1";
 };
 "ulthese" = {
   stripPrefix = 0;
-  sha512.run = "026daebc8038c5f9445ad9a153a8211622e6010ef46dc71ba84e9cee0754ec0a16f3d6ef00f9601a2fa1722d5868d5f8a71e66f99744c2e5960eae4bc6c6ce3f";
-  sha512.doc = "d038d7da2b8f899d09e2b5d4b453ef07ab78899bd165be3e8c68bcc12cd86c92565dbb0f64ef7bf5409177ffd8e9c1febe3ca277a4ee64644e65a9f9f9397648";
-  sha512.source = "673be665a6fb9a8aecbb3ae975671a21acb7fc8595bbdeae9f9c53835f50343fcbc785b4a58e0b3fff5a76654110dfd7bb9dd3e9b796ead59aadb5d9a25fa4e6";
+  sha512.run = "d9b1228e4fe2f425a6c0b31695283a07092d4fe5bed1eeb2ba63eeba702fb07235faa9f5b3b443a8373b719d0e82dd03f5e3e691911c7a0922e1ae335ff10227";
+  sha512.doc = "1f93ca717472f2f894bdb413fbda7d3b40bb86742f470c1049a18dc141717475475e2ebba46923108db30f8a15d04da649c3d8840a3579b016c72334895080aa";
+  sha512.source = "c9212c8cbeeadc87fdb1e5573d48eee6997e2827b53f6a1cabc33f358f47b5589dcb785fd6597adfcfa55cd3d8c0e370f84733acb183ab95a136dcab8ff1032b";
   hasRunfiles = true;
-  version = "5.1";
+  version = "5.2";
 };
 "umbclegislation" = {
   stripPrefix = 0;
-  sha512.run = "f6418e7108d549aeab5da21181d6c3ea379b881ff7d3967b4845d0aae799d6e69a523b38b11527779c028410df6cd943bba38acb81c1e5b2312b72efea888a12";
-  sha512.doc = "8b3d6e3b89c820100751e232b15d27b163a5668b88be3150edbcf2714ee582b94be4d0aa1368fe7684c257aacd9e63d90e82b240fd817a1bbf7b5c068110496b";
+  sha512.run = "ea6a55698b51da3939a1bfc10963dd74d9e772ebd18ad9018f649077224f7ee30ca20f051a68c9bd8d8bac94baf1d0d28ab2f864419c61385ebf9bc82aacb7f0";
+  sha512.doc = "d4d5f318baa1f1ecd446bb864d0670ed2dcd7208429bfd2ce587810b27dde22f49a6f7c072aad8f6515e721a98ea0ec356ee36eb970cdee385910a291d964394";
   hasRunfiles = true;
   version = "2016-6-8";
 };
 "umich-thesis" = {
   stripPrefix = 0;
-  sha512.run = "e4356533a2d03441fb04e2618989e9d4ae2b8378f342cdb86be03b5763bd1f97ae1c2aa0355cc68f1bcc9416ceb1e0d3532b32dba67b5b4a0cd6de3795a5919d";
-  sha512.doc = "2b378c4573edb1bd818af2dfd47392095a3f0dcc0e7ecebdec9e0a57ecdcc88739cc741daaa6f5fec3e66a172a7534f1a2081eb3bd72463e86db3093518f6b7f";
+  sha512.run = "52bb76c9d9e3bb742c2049495a74d026a1803396bc5064a10f4da2e80390ae6c9c9c74326b14966e989c9edd1e29b797b89413ed6e87e90527ae470a8b731889";
+  sha512.doc = "db85abee0ad37ce814c645c072399a6ab7e3307c623bd402a1b9ee8b69a1c2a8aa782b5007a433ebe9eaba984432223bd78f247fdcd0c6f50edeccc87b874173";
   hasRunfiles = true;
   version = "1.20";
 };
 "uml" = {
   stripPrefix = 0;
-  sha512.run = "d2f49e8645f924330acd33682dbf1f46d1d5550c9a2ddf82c8112b498609ef2611f4bc540efebe70b12012204d217b9f0faa25073fc2a2765fa68f47de54bd9e";
-  sha512.doc = "503705409c253113fef9304d53a34696ce299206a7a5e22ca2562e6e7ab527ddf3576d73b460daa44df21ff9798809187f238f72e0685c3dbf40086fb450971b";
-  sha512.source = "033dc7209335b1f98564240eeecf22607fc81a521d7b061b43968d7e35bcdc0daca0e3d68abae23fe36dd629d149ddd58e864edfa78edd87b72dc714478c65fa";
+  sha512.run = "b20da85c7166f8aec4309af3ab0b1319f37ada1513ff502555794b1721ac8c3f551afcdf49a58bf5c3c5e666e48962075f7711a45de003245584541175a6a470";
+  sha512.doc = "d81393e3b6d9efc0177478e562dc0a22323e3e5913d7592cdb6ec595d525238e154d2a599380521652eda4fe75b12006cfdc907715b0a9d461f8df60ed27986b";
+  sha512.source = "afc5aa7db53b82f6063abca35d8cde75659682525d939e2f55c375b89fa4cc196bca8852c91d12f7daae939c053f4c9ecf99b326361f051847e660af5afe3ef7";
   hasRunfiles = true;
   version = "0.11";
 };
 "umlaute" = {
   stripPrefix = 0;
-  sha512.run = "18adab55047a35e4abab1dab9c033ce9a021c622d43c87d10fb373234de68c1f6ec4d8925dd39915259381fcbd0771ab777b6de50ab96f128e505382994b451d";
-  sha512.doc = "884183a077a52153c35f5b225944a520de58e7baf65543a3b3176092172b113628d68008d5a3d9cb1a0ea59dc5f18d89713004a1d9d048fe131fc85e84327d94";
-  sha512.source = "9be7d5dff5a87c83add3258223f1dc46578e3cae4cbd65b4378d96d31a513a2c92615c64d9097137918c6d3320414edf46e7bdc0de34dabe3e7e50194135c60a";
+  sha512.run = "35188d3930b11c0d1b52a5032bcf9cea21a22ce8ca2930f69ad4ab54bcdf56b73858168cc62581aac1173452dd0f7d0da3de8ac21b0ca2255ef324ff63c89091";
+  sha512.doc = "89f28b3b90f63ea4f367019f0b65aa1f8e9489ff0d897af6ea29b7455948e3e75ef003a5a2d5b4a88e00a5e415d409a577c03b63a330f93ed6804c99f951c68e";
+  sha512.source = "494ee6d1432d783f9586c80cee044e2857d4d24358c7dcb7d3043945bb3f5331b8eee78a13ee759ed6260518dcdebab33d78bab4cec5d384c4773b502c96fb0b";
   hasRunfiles = true;
   version = "2.1";
 };
 "umoline" = {
   stripPrefix = 0;
-  sha512.run = "b3a504e9381d1f8692b3981736fb7b12aec5d597021bde6b57ca5dbd080ada6422f4236620ae37542e794cdb8c04ad03ec53791d3bb1e47b21f2b000f9ec7ea2";
-  sha512.doc = "0a5337740bac6212046d4625e0e31a61af4850212b6c28273f232ec5d39a879e39bb38cfbb4a074f6f83556bdab076cb1b052841d2fbc5b0415ed6dec7f3545d";
-  sha512.source = "11604e8db93761c78c77185d2f9fd2da1f396b8bcb83526f0d35a3cf434e4408ca1983945b18abe6ba3066a1d87a81026df4b0c3ee9eef59c1ccd3acf1909900";
+  sha512.run = "db3b8216d50288ec096f3dea9db24dfbad76848d9b8ccdc5d1310f4b8bb1b37ef10fed74ee5e6e0b70cc3e0aaa73aea87354ad731e4057c888031eb4e1940539";
+  sha512.doc = "64d559300349fd75af4bd98f0841aee5c5d622791cdd03373ea1e7840989b5175e300663023d0f08636b86337f66c6668871387a51a9a28e079111087265bb98";
+  sha512.source = "13f53876f0b1c5921b480ad9d2c63ef3abf1e175006145f200f61f515e778161ba631c6da9ca4c4d928f94220e0964b64130638d7dd7195160b54f39e4bf868d";
   hasRunfiles = true;
 };
 "umthesis" = {
   stripPrefix = 0;
-  sha512.run = "d9b8ee84f99be8b59c7bbe3c6f70df3dc05ec418e1c88661f3b2d2f11968e1718b0b028ee8d91b6b8ca3d9aec67bf5ed6452646667396a24a7e8f2e733b78dab";
-  sha512.doc = "608ff5e0aa17204f64be63991469a9583cedfecf37e0c59029d03808769225aec2919d58d3bdf5ccf0a44b878f12d5b30ead9943012078aae29503e243e7d20a";
+  sha512.run = "b2fb90713da6547b9d4cbea4f972144f70d7f1875e325225f0dfb90df1a04b4693c5a3dc651f0066ef7ba6456c7732aeb5272ccfd5e8edc24281c1b1bc9e4e32";
+  sha512.doc = "fb43c7ab262d2a1eb70b80bf4ad66ae9e022c847451009372e1ee1fcc5250e93b0a4a2195f4208799ae78cbcb5fc24d48de0b2355884721918ae5d4c827c3507";
   hasRunfiles = true;
   version = "0.2";
 };
 "umtypewriter" = {
   stripPrefix = 0;
-  sha512.run = "ee7094c6b9ee2d512f93c67e972c924cc3d689bd234fa9af8624a504286858834bbe0d0a182631f9a78c1c9fd603b90408c2caad50bed349b57d3993e0566847";
+  sha512.run = "44dc925eccfa4010566bc751bf202fbea6b369beb57c6851bffce2dab757bbcf415d601de44f97e929e046cdba1720ecd7bb6ca12c992674d33b43b9e0ce77ff";
   hasRunfiles = true;
   version = "001.002";
 };
+"unam-thesis" = {
+  stripPrefix = 0;
+  sha512.run = "aaa8c4029cfb130798c5e9401fde5dbc7943d7cb89c9a620e050e619ccc1950593b1d10bf6300958aede043ed0e4fbef371d0c40f055b259284f008463a64c40";
+  sha512.doc = "ba6897f0b31953cc60bb49430de1b77d10d7656363d596d4160f96189c70417227193ac7d3809e1bd7518b89a871f5bf4b18004ff8185b2a03e0226536dc6a3a";
+  hasRunfiles = true;
+  version = "0.5";
+};
 "unamth-template" = {
   stripPrefix = 0;
-  sha512.run = "63e0abcb8693574cdd84b05b8b3db5d27ee0ee7629af3728025d5c5fe2a934242cb47cd4fc1bc3d31260cc3ce2308b411a1a32286260c36175c06c52e98133be";
-  sha512.doc = "59d3f7caff2930178ae87843246b6422b2c7c33276b892cb5aeef638c56a189eb4a3c6ae61dfe8f59871a55dc0b0b965e6cf9b97401149de9f08517b7b334f33";
+  sha512.run = "b8d1d3bf42c11c967d9e3889e52e2c9a45aa3e0bf4ac6b6e5a72d69e1bccc2b254954a6828a66ec794dc7126f54d26ba48e3c11efb913d04e50f4867d348d3b1";
+  sha512.doc = "eed527d21e7d8669e0a02fd5e880e9172dcc2ca8a1e499b079d1d8f3935b7e84a4c84763b0204bb3b90a9df493bbbba6ee90fefcde6b4975c1360ae119264f61";
   version = "2.0";
 };
 "unamthesis" = {
   stripPrefix = 0;
-  sha512.run = "03f178f402d9c8d08756f45bbe683a971e60ea40458979d5aabdd3ce9b3251f4500fd042ae1a085ca3303ee9c8c71932629d8c728db9d64abf29cce265c01bc5";
-  sha512.doc = "b17e9b318ec316a9b5bf90f1980e184de2e864172279e102be069342d77a08970b756b7ea69015feab068d84fa6b086e245b7463572c86bd59c5ed4c6bd046d7";
+  sha512.run = "f48e7aab2c445c5e257bb39ea4dd880cf9334a5b1dcbf429e8d4420edbdc4621aa59548f31770d67698bfb4e59e239dbcddc959c1b010e012ad16971ee7956f0";
+  sha512.doc = "240a697f242b880fd2436bbaa3752aae57ef3fd2e9ee63da173c78582c4bcbb1eb19e02a96607991d1d6a40157d52f00dadcd4956af230d429ad5223161a018d";
   hasRunfiles = true;
   version = "2.1";
 };
 "undergradmath" = {
   stripPrefix = 0;
-  sha512.run = "80c57244bae43b1290a63b4e078d707547693d5352d054ed38ec6b5e496722b77b28968904a06023e6d8f004787790fc2c3365cb9559611f9fcfc26b99d20a8b";
-  sha512.doc = "a162d6a95b80ba3e7bcdba37242439ce400a481b1fab4683d4821cf30b18c4a4fd264c3762b9cc09f9dca408c4bad2cd648f386ba5cacfd9ff8ff6622b6f380b";
+  sha512.run = "1fa7b30670ff888b7b848b756b960690489aa7ea12e5cc5cc97b56061cc91c2fc4bb2ab0a3a2eaf13177baf760edf8bd7f222dbe02cc16ad7b53f57b4b4340fc";
+  sha512.doc = "5dfa5955c7e9ed8fe89f6ccfb4517e699861b95619fc2013631d457938d64bd56bf34718c29b154a46b8519ec61bb102963668b13bb414a3a7ab35b748a981c7";
 };
 "underlin" = {
   stripPrefix = 0;
-  sha512.run = "5086622372147fbc0a2a1ba9276b35c1941e927820f0d3cb933976fee364df12eca03504c987ef476fbd19833f4ae851e1ace2e3b816d6180adaec88beb76282";
-  sha512.doc = "d5630c930399ecc85671eacd9db0af181b7d428930105234aa8543e5de45f4437db77c0066cf3911f865d53bbc3ee368e39f8e3b7a8dfddc2f8d042bf6443540";
-  sha512.source = "1d41281fe52a1b154bf3c6a7e4fc0e32bce1bb10c583f045e292d297c6c6fd7cc5e5eed291488aa13e51e769e5faf6fef632d0213238c93df9ff53d43cf9fb3c";
+  sha512.run = "b3afaf4c51b3da2d082e2cc742deaabe70cfbea7425e0c57f0d1d6696cd7d8f993707a219556a5c5bca925ea63373e3f0a716a82ead647e09ef2f716535886d2";
+  sha512.doc = "d296a04d3a24b463de3e4fe99c96a2fd8afa7c4ed2fa17d1218ac9e4c17455b4752176be60743211d59657045c709c8b4bd66febf10c81a41879e8c7a67e9958";
+  sha512.source = "8c534008a2cb0710b95333869536bdef5e3910e4a7c29ad2daabacd94bc5a34ea15dd3bd8439e7ebede0985831662d86f68815bb13b3fc36c82d83c51b16cb5d";
   hasRunfiles = true;
   version = "1.01";
 };
 "underoverlap" = {
   stripPrefix = 0;
-  sha512.run = "45b17cfaae8c14d7751f286f617aaf07867f2cc8dc7a2189470cae24e95e9bbfa91cfd7763763293efca0386a5b897e7a8f51aa891519fa19419fa8899c91150";
-  sha512.doc = "4a85d844b4bbdc28bc2064c9a809d6a9f4fed20edb883cdaf5fe0024c08f6a4e970915ebfafb50cf1376d83129bdfe4873e773119220d47b618208f415305022";
+  sha512.run = "3f94b5d33cfaa7f48441ba656e9498ea17ee5ca404e39486004e43bed71bab5f2140b391191e4d6f9575ca23e09b83bce343433c02cc394844270e563aab70c3";
+  sha512.doc = "5214981a15d7f15cd361f007505a4a0060a2952d75ea28f4eaef01c19a5b79736512a2b0a8c5e6ece2d08c364780256963276a9bc9ea980e13ba292e3d0b8bc2";
   hasRunfiles = true;
   version = "0.0.1-r1";
 };
 "underscore" = {
   stripPrefix = 0;
-  sha512.run = "e8d870367653f156f53708e91f5022787bfcfbd9c4e0e9be600c4e4dd620489b1dbeec6b1ea7bb0f39ebd8b72b69d99b419850963b5861dfa0d9edb040ec58a3";
-  sha512.doc = "4e5f69e81d4eaca8bcfaedb1af0f5c7e312f335af73cc61344f0ebeb169c3b39164a9da7bfd4790c28ee0234412d8a57d70ec85cf77702cab062a7a66d31d9e5";
+  sha512.run = "4fdc57d0a36aa5646c6b960b7579a8111441659469df32beaae06f54e6e835456810b1d9b5d36036510befd5e80b5b481b9179a6b24364bf8f858ebc97039ab2";
+  sha512.doc = "e1f0730b39a5d25cc52160e090b797ed73a5becc16b6813cd0c2f4bf78696b23aec5c82367c347d0e734f3b92761ad2090e517bb6dd2a40879639f62149fdba6";
   hasRunfiles = true;
 };
 "undolabl" = {
   stripPrefix = 0;
-  sha512.run = "6ad5aa73c7a36627deaf75c675268e170261960e64ce8d2971153f949177a9d1a0e0de16eed1e7eaac8ec024a0efa6d2b97b98bb67f629c9e79a4f13ece25d9b";
-  sha512.doc = "4b738a4b18fd78af720da1cfc4754c494b976e929e53a35893f6448e439acac14eba2ac211e0d3e18a32c515357e5b1141689e70074057186481b2a9dc5a0e08";
-  sha512.source = "1484b8639b88b8a0a4eced95673b404be69fe1f850dcbcf15478833fff68f3c8bc55f76ebe4f33bcaa591fb7e01234b17eb4a46d907f00f7075ac1bd15265464";
+  sha512.run = "b753a9d8a4809118a76b9651c5c7994aebe5c95019b408c59b356135ab34fe4e463099280ea43fc4e47692e32af9570be929999a661fe80ce993f25b85547e10";
+  sha512.doc = "d7aa3497adacd6a5e10dfc9ac19762ba3fdabc74eb1d50c22dcd05e8d4a02d0723efe3c7e297050ab607525ad3611cddf87cc50d640394c4489d765fffbbe8b8";
+  sha512.source = "dbbfbc331830b1d006d746a7ad0a7578ebeb805f7c8b1fc54cc5a502c878fc8b026ff781e05b5510b2331be529eabbd6b0308811b5471f9e4571cf1172a011b8";
   hasRunfiles = true;
   version = "1.0l";
 };
 "unfonts-core" = {
   stripPrefix = 0;
-  sha512.run = "2ff8b289bbd29ccc489d27aafd514f9429513480412ff37f4aafedc9aa4a1b8ae504e1361cf327a0dd8169de317fe7818d6a87a0eb8c9fd60cc7ea47fe8f33fb";
-  sha512.doc = "7af620dd6cff6a285e24e3dafa54815ba47085384fd17423c2946b002dc395e267d1c470b4a47f3385b5c69bb9e0d30ad7c512db1a1ca55763118dfe6d2b7219";
+  sha512.run = "5b405d4d77d15392ce5c90e9b50b6ab68309fdff67313af2749ff0865f46ba02a40e4850a690f69834f0b6a7c7e7ac33d3d422a9b241586433718f82de31bc30";
+  sha512.doc = "aabc766497c311a943f0a269d5822a44ab6baab6c8a82fddecf0b53010d794173d417f46fa6c073d2db453540a76866dd2265daea5879ec8c0ffdcd936d29a41";
   hasRunfiles = true;
 };
 "unfonts-extra" = {
   stripPrefix = 0;
-  sha512.run = "641b46ebc11b092c0bb36be41e1ae7c95ccc9f9dea3825b1ce4e66a7a516ec001fce30c1913b42e62bad81b1edc3e7bc504e5c341b0ec7f02c3f00addd5c9e30";
-  sha512.doc = "bb174edc90a71e6e13264b7ea27b319942df9fbd2401c43f933df0c78a0dfd1c7786b95bc88b0f4cb0a4b817d80599d7c323f34e3ca3215b4a2419aecfb01938";
+  sha512.run = "ba57b43a7df5d1f9565a08e0a0588d9a3ac9702041763ee663dc8c906279f32c363a88e1c1be098e0d4e9b26550121e686cbb6fc6b0256bb91535a4a1b12a083";
+  sha512.doc = "5fdc1ebd1d939ba99d4bb11c2d89128a97adaa4a0696abbc7517ab55ce39b87e7e7801e7a30b93c1f95e92bacd7d862144191f0ef542561816f6d1b84e9a7131";
   hasRunfiles = true;
 };
 "uni-wtal-ger" = {
   stripPrefix = 0;
-  sha512.run = "ad6c326a82f559d943c4b96c58791791c195cd695ad620848d221729b0b236d00050895952dcbda9a52557fe1ac3fb4c346f619986c3d509fffa7d7aed275aa6";
-  sha512.doc = "45893052f93f113353e1d4d4b8ea658f58dbb8ffda9633c87cf8de1b13a756013f61e5ffb55c2e8a5e8048c30221c873d8c05f30ab2a8e94d93b0beebbec001a";
+  sha512.run = "d1b6186d50733f87576ef6509f7eebaa17651039d882f78abbfa8ae23ddf7b896a90065fd5ff83a2e216485c22e865057f715784fab37ad9440616297d67a26d";
+  sha512.doc = "ffee19f2d4ac337f7615b99946287eb902d2841b48f9d5c49d51604b45b7eaa126538732d64b319a8ba320f1dcb9b62b45cf608dbb0059f37975a1220022c333";
   hasRunfiles = true;
   version = "0.2";
 };
 "uni-wtal-lin" = {
   stripPrefix = 0;
-  sha512.run = "ad19fe37f8e798488e57e07685832dcdca32f2cbf7b3a02ae4b9431bbdaef1355962d5fdc7ebf18547851523670f46a5a001c125ea0d1495bd64b62daf38e282";
-  sha512.doc = "8e4b5fe0f0c461ae349fd7fd448faabaf803902c19dbf36b5d8947e7cf01be6e8fc47bc58d673c11e5d6232bfca8d5127ab16284a5bf62b5f64c8508423173c2";
+  sha512.run = "803107d89b4ce6fe120bb528c684a65db3a9c70433abfd6bcebe2a5d05e6c7680256a407ef5f0515a56915c5c1e0637a183cc866631558e32afd96a0e45139ce";
+  sha512.doc = "e88b2c8364eeebf3768d0d562447d29233280daf685d56fe791d25b352cc64c4c95be3bec198aa6e5502287a654f3088e643a3a58edf7e55d0d899eed5b704c6";
   hasRunfiles = true;
   version = "0.2";
 };
+"unicode-alphabets" = {
+  stripPrefix = 0;
+  sha512.run = "281c7fc8b290aeb264bfad6e69a7e6b00636a58b15a29129c7c7003292d4b13570964600e8040ccecc1272747b9b84d36f8d5210c231a108fe22f9c79882800f";
+  sha512.doc = "f8297f2386bea8975ebb27a73044ed464077dcd7620bf7adfe70a3d07e8814c8da28af12d05a7192e883b9d2f179be3a928bccd77e557a4deec9c545f2f035d3";
+  hasRunfiles = true;
+};
 "unicode-bidi" = {
   stripPrefix = 0;
-  sha512.run = "7eaf7b2ba19a7bccfd820337dc2591b7fb394a4feaeab4d40feb58a5ae24f37e964b7c127ce05d3e4a677d11d581c2ea13d736f44b4d020b84eb78a387e3810e";
-  sha512.doc = "c3cc3c16dbbd9ba78f1068d9f577ff3ec4cde162c88e622f35c8d91691c89ee1ce156fda722bc1955d8cabfa8c8ab3ef53af4ce5b126f817ae94dfdd0f30ca3b";
+  sha512.run = "35e32b9959e698ab0d32ef578376fdeaac54c1acb9abc584e742a7caafbb2cf82364d58d73ad07de4cd273a5c9c60e4468df74fc4c21fb6552ddb5be725e384d";
+  sha512.doc = "44b76c810988c541c5dc6cc85a56fb81e8c2aa97afb84192477e57f59423e508e34aaa0542009ceb5ddbf74c95cd662697544af1cdda1d0c114bb3f0507493d5";
   hasRunfiles = true;
   version = "0.01";
 };
 "unicode-data" = {
   stripPrefix = 0;
-  sha512.run = "a0594897023fb617b702716ed8cded7df5a5074f73390fb6b7a0f76998c831335a7356b68fbea2a9f49121e286c9aa5d0a562459ed08136d6fded7ad96157b04";
-  sha512.doc = "5336adefb7d0909d4131331cfa1370ee44155a762d6ebd58c05c7d0b5116903eb65f5a6db1dbb3a90dac916f680c9abd5e0143aad761a465ebc5251f18d904a6";
+  sha512.run = "7fefa735e9ab3499e6764b755a634d0161b776a8f5fea07a2da7df0506247eb6f15034c193affe83ee065894eac33d037b13af8a8f72e0675c4b377f1c919d60";
+  sha512.doc = "2442fd1bfc6add0c9dcefedb33a14fb7ed0d132efedc1f82cba3f367c2a759779e5585ebc8e76a96eec7bf57a3083676d704402444e10b03d060c5ee6edd235b";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.10";
 };
 "unicode-math" = {
   stripPrefix = 0;
   deps."fontspec" = tl."fontspec";
-  sha512.run = "44b7cfbd16ec69415f84f839202c89624b974cbc162c8a99cca19be833a08d41c1d3c79b76488ff148a4a503bfa74e6b18dc97cedb7b67e844952724d097744e";
-  sha512.doc = "cf26e0cfc4f80d861328d843e9d804e770c232dfd7209c3e7135b3bdc4382607099acfc4aa8fe73c0fd2fec66980b9295b889c68a435c755237c9d1db64bc7a0";
-  sha512.source = "23dfd76eb77dc273d61356a5140e19d819f5a11009ce3a59288e44f5509fd6981c53d824913821efdd813ca370a1f669bb4e38ce217fe2da84d4fe47523af12b";
+  sha512.run = "f1698aeb2dada60c9ae2aae4e7471277cf8d34746ae0d215c26cf7c2d6683c9c3b43bb416cdf8359706c76bbcd0543bbd918aebf34e09284f0cdb8831cba41bb";
+  sha512.doc = "b9be53c40781bee98b58e97b92b01423310e991839c03a67e75c650ceda56a643de702b8fafb0097ac246c44a343f4fc8aced0fa8ab0742fc2c3f7fdd8e9ab1d";
+  sha512.source = "432cd02c01ac814b0989b0b845a059ffe2ddc8568a5e3f77ef672d01fdb4ba599c5d1fe0c15c6a32fb4dec6ae1b66603c006c86ab5813a8202323a02f16aae0d";
   hasRunfiles = true;
-  version = "0.8n";
+  version = "0.8p";
+};
+"unifith" = {
+  stripPrefix = 0;
+  sha512.run = "bf288fc67865b2440b7b62633a04779e0172ed139e6ca4f1f88b21ffc84147663c143867d204b54d49f0d0f4d1aa0f3ef689dbc36881198398512aeb735c717d";
+  sha512.doc = "f185887da8604b1e24d9dcd7581b071e65dbdce6e61ecb435e99c19fe969a5912974af8430eeb22e090a8d2e1100a3457ece22cedc84aa10d589957e0cfd61cb";
+  hasRunfiles = true;
+  version = "1.2";
 };
 "unisugar" = {
   stripPrefix = 0;
-  sha512.run = "4b05bacc34745c56160713370e907c15e09c5f2a16d64465fe91993586d680c4d451c2d4f199907a017c63f339fe2d50f8a6d90825284c16f8423efdd3ea3ae1";
-  sha512.doc = "1205afb4e84072c918d22c05b32e8d48963c08db7eac6f71268622d2d1c4d4a8430fb2cd0775e9182366fee88c93b1e9f633522110186fe064301863f105fd07";
+  sha512.run = "01dbe995d32b49121e28163c11f89e51d4c692ab864b3dbe6305a0e4364c025b13751c137df52d24160acc9a8080fbee56fc7a5af522405c3d0564486c151260";
+  sha512.doc = "8e6fdec36271f3561c768acf095b6fc353da07864829322dd0b52b1784d74793828951e006f8c56a9c38849b28ce186682d906bd7bc906739b22782db2102021";
   hasRunfiles = true;
   version = "0.92";
 };
 "unitn-bimrep" = {
   stripPrefix = 0;
-  sha512.run = "f224bcd89abb7e22a263a91f1dbf3a7a23fd1f852a5f8fe68693557bcdc513daefcbce3880a951e12fb777a159be6adf5913d05b783eb6ac282868ed282e3419";
-  sha512.doc = "bfc5d6361d427eadbb346b6f75189ad2c3ad64dd78fc5e333127c7b6b6706c80780cd05a0ec64e5687e5f1cab0f7ec2ae449235369b8e71e4ae37065270f03b6";
+  sha512.run = "595883fa58169e9cd7a860933f19847895ca02d3a684b71536dfcdff54c5fe6410e6cf6fab8ae9574cb9a9180ce24f3ddf41f817ceeab85d0c65684cdc9b3909";
+  sha512.doc = "3049a0bfcbae6666f309979e2c2b8d52647d3c445992201afbbfa28684b83adb2a1ad5f227360c49826ba2de2cfebbc87195801c38413f5eb26bcd793b77ca61";
   hasRunfiles = true;
 };
 "units" = {
   stripPrefix = 0;
-  sha512.run = "28f2a463964c2e2c11f4c80a76f30fd2e499fd85ca15d9d05f367fe11faf41d578953a72a09a1c07d4cd810873acb06c98df736f770e4f2a9993d9177ee3dbd9";
-  sha512.doc = "96cab20caf466acf264009962380470a04622737ae8d869659a2d29a99aeed685d7e226a6602b268d6a822c82cfda482a662b0d6f75a16d2767030ed2626a4ec";
-  sha512.source = "ecf8b2678e3639cbc043490c13c4c538071225af2fd2a80ed4b6827608f597e0eafefabd9a520dfcc3fd1b744c3a28ac7abc3764cea77ba1f5ca4b0962849f2a";
+  sha512.run = "a1c3266bd95d8668d67e7dc451258f7a3a0362e4435ab70a574be5f7ac44bb5fbb7b30ded852602c73f227f57e8f7bf61af148070b9eae6103a982f726869a2f";
+  sha512.doc = "e8a1d929e9817539a5fef6cd89c8d4daf60cc0495fc7698e4708eefbf60fd36daf88ee5cb668e9f1d53978d53253bb52ef6b3e6d1a313708022e5218c99e89d2";
+  sha512.source = "a6aff8a5917b48ce17a62de74bf327e0bc2b4a8cfc8a77fde67cfa710d8715b0d8dda54837b3f895cd769649444691df5fafd9e486bb37f4e9af110584f676da";
   hasRunfiles = true;
   version = "0.9b";
 };
 "unitsdef" = {
   stripPrefix = 0;
-  sha512.run = "3a8c36e547e4e0b52927b73cbba04b8bff5b36f6a5b83e2278c6be0ffeafedb5b5ee636c4a9aace4aab571e46e914fbfae67a9332f39795c1c7ba8452a87f8f4";
-  sha512.doc = "f3b37b47bc2549397b1677bb45f74db110968788ef6dd907e88648c35578f2d75f74ed69e6313460ebede5f684fde1b37cf0e38f01831587783bb3a663ea1622";
-  sha512.source = "04308644c930404deda79d1c325e1fe312c47cef447d90dc3dedf06f22dc90732ff66997e1e37c4877c7d0b95a6500e7ba2d2fab1bb0752e5d3a8dcf45b60c5f";
+  sha512.run = "048b2d4f3b160a359a8db5a66b9bc3bf68545384c39c7c4964521aa2067a35e4524734e082d5bedeaf3ff52b6a5043717ca6f510cce0d041b0968968ffd232b5";
+  sha512.doc = "c1e6de470c8b290c66f71020794fa5a855a0c9b22d90f629c8ec0f6ab110ff780c0f39291f0309348711cc2acb60cf52f38538da8894803cfee54f9fd6fdc9c6";
+  sha512.source = "9ab403624c578eb8f33801309e8c7ab0bb0b53f5bd0de0ad912a5ed6955a5d3ea0d44bb43b61fbfe5cc60a667cd908f85061c92fd397931a2a4780d0af58646b";
   hasRunfiles = true;
   version = "0.2";
 };
 "universa" = {
   stripPrefix = 0;
-  sha512.run = "95eebe4e3ca3e3af35fafee7f28de98ccf2563168880181f9575e2278d36b5adf19afb354cca515cc614c27fad0593571b2552687cd6a2fcee2bc3d51df570ad";
-  sha512.doc = "0c63f6bc9661743f13ed20e091f25c71facf04d73dcedc703ff0c56ef5922c8e3a5788596143822fd0dc2bda021198f7c924949098bd0bfb9b55118bb421af33";
-  sha512.source = "0ef329aa2d1921002e1d0b98a08fe966fba0679eb7481fa74485d7746ad4319a78e63eece6694c13047b6355e3aff865881edab7f9519153465fd18311b15f6e";
+  sha512.run = "f21f9bbc0c4e730cd1b115a5dbab22df9519d4a364045e292eae6b73741dabe0117c53759b7db7696c88241800970801335f7537e19d448fda6f72569c4eba50";
+  sha512.doc = "3d5ae6da093d5671b369f7db4920baab6fea25e58e11926e2fffaedf1b0699885005f3d0158eb2a6afea9ac4f08ec63c577e99da7cbb75e33727f9a97c8157cd";
+  sha512.source = "2040de94a8a45c28a6c8c50d16a5d72297c1c8680f778a3fcf341cc35622c46219945f89d6b5ddffdcbc32be29b93505624fa450ae202f3ec53d61befb0d248d";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "universalis" = {
   stripPrefix = 0;
-  sha512.run = "7c2486109b3668f40cc8ad4c6fc6108371cffc75b8a483ce393bbf174fe5a49f42fd2c0e22cf2b01e916a5cf5f41f3b45f32776514eec9e6d2f46236e1bb6fd2";
-  sha512.doc = "3ee5d3b4c3601aca78af820621695c64ef17518cbc44c934a1aaca098617d30df8e35132287066f514d870f3c7932febe63872f226d191c1f6505fbdb31b182f";
+  sha512.run = "fcf890f52623fbded89b6dc5e6a8ed425354437430f66a70515ef7cfc126e6af20331f557630205189c7aa676532795d77415f2b4099b1fa46f460dd1b0f2011";
+  sha512.doc = "4cee70c65d7f83a5d280550934c47acc59cffad87d78364ef84d397914127f43fc74b469469371652a83625d0fbe97c2a50fad76f559f39924b1995bf6a09baf";
   hasRunfiles = true;
 };
 "univie-ling" = {
   stripPrefix = 0;
-  sha512.run = "2e4a02680f4258356917d03e5b889cd57ebf1755cdf028f3207256919a00aa28b25abe9c1922d77f826599909d124917be65809b64e88b87529d4eebba9bcf7e";
-  sha512.doc = "f766e4b737829f84428b70da76bb228d49d4b7c5c90d8c22991f4fbecc6384f9c6566a235e8732d128baf73423b69e478d17dbb91054b2309e3def04fcde5b41";
+  sha512.run = "33cb5fbb0b8cf2a5a49bfab100c584155a965bd1304a8f16e78ea3c5e5007e43580f3839367cfed28e6f20e8e6f653e1fb9c7aa357e31e41e8f688d74a9f8800";
+  sha512.doc = "52889934cb166ecfc6d5dc4433a9e1c4df927007584b6513d5a254734fd9b82c77af4fa535ddad34494fb207a41167080828500cce02b34f2f88787b8ec783d5";
   hasRunfiles = true;
   version = "1.9";
 };
+"unizgklasa" = {
+  stripPrefix = 0;
+  sha512.run = "ac96ff7105cc0a6eefa7a797b325c6e3cd7a0e59d31a6ead1f715d37d326450fbb3d39d6bc5228df5861c5633ab8be027f7652426c10e0ab23a2c9ab68bcfd98";
+  sha512.doc = "00e373b284ea78d596519d982efe8d4c8f59f8abbec67c314bf361b1744d35fe2846615b8cb7d38e1516503c6ed49f9ea38718c31a760f3d19ed4a7686e8bebf";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "unravel" = {
   stripPrefix = 0;
-  sha512.run = "edab4b8291df2b5b811569ad7f489848f9242902c7be3fdc22c799d85e2484f75c0c77707f4b48aa0454066ef284258d59ef2cf524c76c01009e130c27deb036";
-  sha512.doc = "b53a20d3d1b9437b74d40d803b99a185902ed41a1eafc169be3089bc061c2d38ac4140dbfa3d41834e2dac2a918a281d1a30dc3fcc61d3d904107f9895c33a2c";
-  sha512.source = "1cb5f8c98c286ddd6cc1f8c5d4683ef7845ee106ee4554650d82a44f4f7974acc4c35a8327a247c8ec85047f2cc99f01e3409d3fc3172962e7654f23c8006e3f";
+  sha512.run = "862cdfee766dcf3be322423c7f3388b5bac739879f0910d7a3a5118a7813b86dea9e5c866c3bc33648e376ff223be55c18fcf56247e3082c199b5bd589cff49f";
+  sha512.doc = "5da7cdfb916e986ad783e43c79a57713c2d713061866a19fd975c157d8cd328b80a5620fa583b7964dbe37b8ac74d9c0921c15cef57e76266f52c62412a8befb";
+  sha512.source = "0f9791862c2b1e8ae4c9d293bde5a48fbcb49e5634f75c9bdff4d3ebd51f9e7b8f820b9c5f860f16bd15a6de0b04e112d96fee75313fd3316aa19a01803456a3";
   hasRunfiles = true;
-  version = "0.2f";
+  version = "0.2g";
 };
 "unswcover" = {
   stripPrefix = 0;
-  sha512.run = "f11892e323581f99921d0af0f70ee0087f7fda5d236c0f48b74eafef1bdf24beff32d109cebbfe71c849427ac06c376cdc4ad54b271f7463810c1cea6ded55df";
-  sha512.doc = "bb927b45d50cfe7b89fe483647d33a80ac720882fd171feccaf5f49ea2fa92479746b25a1caae6d7722403717c1677fd401610e2b59519b738854d986d1818e9";
+  sha512.run = "e51938d3e31bb75abf7b8af27a7cfc47efde49b1e569c2d9b5d170bd4e7a29479571717d9932de22907e2f23093e977959112d4c1c42687fbaecddd6fe1b990f";
+  sha512.doc = "ea443054c6c89bac4ead8218e12a4a8020fbcea1204eb12f237f0a58f4f303797b27bb45585b78167d0a43a6758d257da0b140deb563de7cdc9497b8df56f329";
   hasRunfiles = true;
   version = "1.0";
 };
 "uothesis" = {
   stripPrefix = 0;
-  sha512.run = "a5b2ffbef8aa8998144247e45613018fb7ec64a0f82a8f7d906f65b8e03c807ee8ee093a81b485d0e4e65b89289fa151bf9ef5a50dafd2a0621c85cfe8a3c81c";
-  sha512.doc = "b18be526270ea1bcff8605c6ab848dc23839b383bcbb1d6970c21c3c8116270b83408989abfefd0fdcf53c9156ead435da8407eeb06e55fbeb7e14fbb125e11c";
-  sha512.source = "1370b4afdc919d78616108bfe3b43467355a96fa9cda9d9f947644524eb91f62e4813ed1223e5d1bd22057cb2ac7ada0b689cce3f4f8a232d2d08844d774949b";
+  sha512.run = "8549715b39426264ae94d5618f13837bf20e48a350cfccc5642ff5e246ad84e04050e2def0780e8f3da69647d86b6795a009215da1277f43ab9a8a3b5acb798a";
+  sha512.doc = "16af5c258ae738401885a1451675ace657e169deb37670336ab87ac39d30128c98bff91b5f9f6f2de9961d981b2719f94472692c5456913bada6e7ec6bbb60c6";
+  sha512.source = "3b6a5f3ccc28877e4e48000ec88c480b70f5f454c481f970e6ba409fe71e19cee64293cdbc9fe46c8d0a498401fb2f46f2bd6c1662c3bf19a2c24e1c10c3895a";
   hasRunfiles = true;
   version = "2.5.6";
 };
 "uowthesis" = {
   stripPrefix = 0;
-  sha512.run = "f358fa5fda9f1a4b9c922a41688c28ad59725dbe842b44b6b3f4ffb95d2e8a722fbd231623b38d3bbf3db83f0aceea8f52d252f7ca1b36d5c8dc4876db97103f";
-  sha512.doc = "5a9df90acd930c299a8657d17d3e5ce48f56b6b0d5c14aa133013b0942b94a096478017fde294ef33cabd8d248f07af633f5776518c0545ae85e86ac16e0096f";
+  sha512.run = "060684c777f377fcc98b371123cfcd9717a113deb0f7fbd99cdf6cec65e66b77fc44d50a3475c8b1e8071eec80c2e6b1c20437a4432d6d5fba208fe3f06fe127";
+  sha512.doc = "00386265fd93cc89146fba04eff87b55fc250e3429ca5d769f006ee1e8c581fdd96702830a90ca4eeedd35e0d90305b5ce19dea6f16ef5600479d1fc1ab2e35b";
   hasRunfiles = true;
   version = "1.0a";
 };
 "uowthesistitlepage" = {
   stripPrefix = 0;
-  sha512.run = "e44a61225ca9341a5301fc7173752f7aec582c5bc4e43bea785a57ebb76127d1df0a4039b3ab88851d5f977b5faf1f6314483998d8147d46358692ab58dd9b7f";
-  sha512.doc = "f2469ea483fecce0130ac9eb00d6432f0929e9bba29bb6409629e61b529ce850aa2277f55b4d10404d273a7bfed71868cd8cfcbcef6c2058611dae4750613c2c";
+  sha512.run = "28f5d3f8bba3c0f3ee1cd7ada8bfdeb815ec607565e7385fe8483d66aef9b9e3c39cbb9796f84c58e8a6b4772989c2aed3c5407d64aa740eed2cedfd26d60e8a";
+  sha512.doc = "beda6c309230f20abe8ec32e41258a42806534bb181e4cd070c7c9362a677280a0133b4ce83fc7475aa785a778480134125a162ae7d96d791eeaa1a9af621dd2";
   hasRunfiles = true;
   version = "3.0.1";
 };
 "upca" = {
   stripPrefix = 0;
-  sha512.run = "61afe08dad74b10a805dde5831f741135e9ac64f061748e4b3d5fe030eb81bdd37cb82b31c65ace6c98ec94f399935eb9de48a0af950357e078aeab8a89c8018";
-  sha512.doc = "3924171febea1a2d9255f0b93a2fdb1ca826e5662f4f8134d8351465b097649b3b295e0d1f1227b7c90ccf1a7e8a16c3dc97ae03475e4d9a0c5fab51b74de687";
+  sha512.run = "3423a3a7d42273bfb28642d250d5000fd55d5cfe2dfb5ba0c2f875ced6c6df344866a5512a624dedb12d6bb9357f02a831297f4aba463dbd5e69e5e8dd9941dd";
+  sha512.doc = "f19dd751bffb9ee92ee80f74f692ac410781e87817ee841c01f37bac87fc770b9fc97d488ffbe97490206899653d329034d82cf649de0ee52cfa4643f956d7de";
   hasRunfiles = true;
 };
 "updmap-map" = {
   stripPrefix = 0;
-  sha512.run = "8660ec764ed100c71b09cb6471fa8e13e75ff5f9591a57dcb3725cfc8234e7b141d386629504cc824bc0b2281f2431173215a318ae50503047c7bebc05af1ab6";
+  sha512.run = "a7b7ae8316e0e7e12965fe2d4bf87aa2cc6ffa5d6596b833999173e26e6030f322d1f5d24f09141401330b22037b64eba260169b3c1081277e6fc1a54c028a6c";
   hasRunfiles = true;
 };
 "uplatex" = {
@@ -27727,34 +28499,35 @@ tl: { # no indentation
   deps."babel" = tl."babel";
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
-  deps."latex" = tl."latex";
   deps."latex-fonts" = tl."latex-fonts";
   deps."uptex-fonts" = tl."uptex-fonts";
   deps."platex" = tl."platex";
-  sha512.run = "ecf81affc20c8f9cbca446595ba6844c3f2ea51b63d5c1ac8022d4475708e5df0bee8caf82aa4feb18d56322b61d867a9769dc9156ea8ef07e8f2e0bc6ebe5a8";
-  sha512.doc = "df03c6a6ddb6dda097c168c719c46e4220e287d95f7f06ada4ff10935ea1864400e0b4bf2b356a1090b8b5c4273d45bb189ed5d8b3bff9bfcac537753b8502ed";
-  sha512.source = "82ad357abc71b8a33c918e9f920741ea7f8ca5d06a13eab6b7b786bdb2efad8757e76ce12b5701be1a99440e3f1b2ca262c29841577fb5202cc2cf937af3a703";
+  deps."latex" = tl."latex";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "c4838a2c99df646961f6be9e8ba051a97d5943f1f3ba25aeaf668c5924d3923c888d02a1b7ca4317d58777cb5cd17b6598e060583021e0a27f8a06ae586bd0ef";
+  sha512.doc = "c50305ae9898889f877de69cdfeb79eb08bdfe806976c21053094c1b7b0203ad83356b8f130c68ff68c649496c3685ffd35952f2e10dd6eaa30de41094d68193";
+  sha512.source = "0e5f6088d7bdfad79a26d5a99025b0fedd0a85bd461f24c2708dcacc7cf49578c42bef30f3682fc1db05d3e3c09dc572d5119f024c6e48d174372bdf3e49ef8a";
   hasRunfiles = true;
 };
 "upmethodology" = {
   stripPrefix = 0;
-  sha512.run = "dddecba9f1ce6bbb3b74519c790ca269d63d0a801feb0135836c0462bc74e63bf82d8e60f24c95709211f43e62df224c22d846436974afa790298bd2dcfa6f75";
-  sha512.doc = "3409b4192bdcc27d9ae0c69163037980fe2615448805e921900751e8ac66f93bf46fc1a4c5a347796d8c993fbed199fb9b0a4b2f7cf2e76c4b24375b965ba64c";
+  sha512.run = "ceb42b6b890c434de27445c564999e5a5c8ecd962061658f27cfbc59aaf405fd33b2a44474fb52b927e9e8721315dd87f907a084647433b251bd17a5ea79148e";
+  sha512.doc = "a75984bf9de36b382e29d818736963df4a19f341240f227dacb1496f034484cb3340600e3d77ab82435781ce2d3fdf1703d8322a7a9c4607e98fa41790be3f60";
   hasRunfiles = true;
-  version = "20171210";
+  version = "20190928";
 };
 "uppunctlm" = {
   stripPrefix = 0;
-  sha512.run = "a0d57274c66c5f8ac2aa200956d6143d129ee48daca1203f37186d61f0b1d6b2417ed86cfe70216e558b17322abfb95d135f9fe2bbe6b9a683c9bc5cd4dee084";
-  sha512.doc = "b0f29edae73cd64eb50b06de6136583f2e028e06b89fe9ea3c01c7a0cb6154885f8904fc733ff8c6a36577f1d2dbcec953ec0defe4b9937836c389b5fa02a935";
+  sha512.run = "522b68bd32887ba14ecd927c49c5fd57a84a1c0f9b8a0bfad65a4d377b68a7bd449754dd411a72fd83e5736e32e2c47cb1f54155f72395c465e4e09ad1d09dea";
+  sha512.doc = "d0f67dba683a40a6392121cd53b58df6d7ec6ffd8bf52df60f53537fc1b389de178dfceb1e772dfc9e292cc543448dac3a85cc6b712283b384ccfec4655c988e";
   hasRunfiles = true;
   version = "0.1";
 };
 "upquote" = {
   stripPrefix = 0;
-  sha512.run = "b66a26aed2933068525f7822f407ee31909805a80283bab6143b83a5260f75b04f74d27081782d81a6a05d8e2857d0219bc5ec0c64298d3171138904bb7f4e1a";
-  sha512.doc = "e8912c7dd11a0825eb2466f857f4b310472e6dbacc223f93738af04e2882f59e1c9a92cb110a2ff557fbc978b273afad5aba4154a1c750c70dcbb0078711d528";
-  sha512.source = "cc74cd741ea9e280fc08c10eedbee67d0a293c16c9693411afa5bc080c55b6e25d1d2fb528aa95a09b1b7f044c182dadb795f3bee0adecb3a257dc4665ef1e56";
+  sha512.run = "06360c313124487f291a8daf7399a3139cec8c0a05be12724cedb3d60393ecb07aa31e34f9b74a83048f5752a8d826505f91f2c85d34348264975b48a1813fab";
+  sha512.doc = "4b92923e8af2dcd65e82269994c766b88c6f78f6e7b8d10b9f44889832150711acb0cbaf467d595d6745863f385569f7eeccb4ce69df8361e56910969532e314";
+  sha512.source = "dcb227a6ebb481e9c4abb9f9ddacafda03ae4a445768a3a242c6dc3bc79f83e9e5f185db4d353916b4d50f5aefa9884bc52fbced79894e1c00cd7f40f0940884";
   hasRunfiles = true;
   version = "1.3";
 };
@@ -27767,760 +28540,782 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."etex" = tl."etex";
   deps."ptex-base" = tl."ptex-base";
-  sha512.run = "c0395e78834da8d5e883d84815b735b438a430a44882b080defb3dc97a511fd11d9cf3c9c4ff2f5943a3251ddd28e4372889b18b0caec101ac7e27ad404d1982";
-  sha512.doc = "c6a798c02058c41de3d0e583497812ec4459a86b31283281856c6a3e387f70cf08c0e6f4c38367960a46f700b2cfa0b2bebdb22cea1302ca5ae2b310b56806df";
+  sha512.run = "0e2f30249de81eb8040e74f0f99c781fdb8a93c9f507fb58329f226c8347cb8b9d3ca140eb1bce6ba8a82fef977e2a6a68c30bdb79ae44e2ffa6128899e669ad";
+  sha512.doc = "8d962e3bcda4d49fe6aadf89d0dcdaa9541fe01e50fc16cf9ebe3066b7df9f7bb2db85c3c6fef228125c8817a7ceaf2a2774313e75e98bd1b0aa429ed0f4558e";
   version = "1.20";
 };
 "uptex-base" = {
   stripPrefix = 0;
-  sha512.run = "f575e7fe0211d217c0515470f963c518f9890a816a368124b8d114557ea21b1cc1c140a802ba3f85859362d7d3e56f1d900c684484a20a92c28899c0fb80fe99";
-  sha512.doc = "4da8ac32b16a53414de217b138b9707998d8c322e2510516e42dcdf10e0ba64d38749c24b664f09bd14479c5879c65cce5376b986368995327ad735ba98f3a5e";
-  sha512.source = "2925664b22356902ecf6c00c327118c77f49847a44f4da75c14861687903eaa22f88d81917b39b9fd8a18b5f54438cd64ead8bb32230fe1536da14795234351b";
+  sha512.run = "532360808157041a67221f12f78fea1197ebf083f3f90896b539fd7ae9501bdf696edadc6c61edfc1e5d1079a480ec7776a814dd8adb08fae194728c7f61e978";
+  sha512.doc = "dc1470c66f000bf80851dd317b7eb26dc12c567bef647e2fd91bbe3f4bc7c29695b7c327781a23e79ea86a8bcac2db8e328bcfea2031caafb9f63d85209bae2b";
+  sha512.source = "f8917edd4200248b167bad8366c9b51e247591379c4d069d292cce513708ef7b1412dd66bf9fa6156b703adbfee7c941c6f2637c834cfef18fa9adf9991ec3ae";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
   stripPrefix = 0;
-  sha512.run = "2d5e9e619c9ff3dd1fe4fe5c10d3ea465b693c48815ddeba854b0bae254cd2a678f4be1cec4539855457d7e2313f225e791e7504b48f01ba9724d2db0726dd66";
-  sha512.doc = "c09fc5de551081ecfb953f02c22835c072374f5ffd7ccb57cd64a49e000db3f7d5edf150ec786d5f28f57e069250867ff17f9b15ec727db5199d352a3cbe7e33";
+  sha512.run = "41fbb7b4a3e193744e36cdd1ab23145709b2ef94de30a18dda322f1e0539106f62be95b1a763750e72c81a7fe42053326c56efe0486254ba486c731b65bf47e2";
+  sha512.doc = "9b8004ecb67cea126f0299d3eca749d5f011b0b3c50d23fba9a3adb4b9e5ab6d5e0a24494b9420e3a315639eecbe86a9c740b0772a694f2b36ee6f8b7e316c3a";
   hasRunfiles = true;
 };
 "upzhkinsoku" = {
   stripPrefix = 0;
-  sha512.run = "c4da9bd204eb0ee7f75ad2ea419f92d19b834a71e81d7af5b4aebc6643d6d9a505a6b97b51a933e3ca31fb5e8c0f0722ff60ee5912095eea4c2308d16332c2df";
-  sha512.doc = "15aa74ab601072c0c76982ca580ce3446a608d0d74072bc5e4ff9377a5b3e76ce769901df8ce0d7260554000a1270b21d443335a2dfa48d49e0ca13c7c9c0f4b";
+  sha512.run = "03dcf2b73ca644f8e9e2589082d49a4d502adb51944fcd9ee5cf737ae782611b35ef2eda4242b7eec2b8033014ddbbbea3abb52b1bfe90be9cc1634345223d53";
+  sha512.doc = "d4c038d864b40603281f3186e21110ec96530e84a9ff88be4241cad165d09cd091b28bd768ca8ca0a28575dd850bb68ff88ab553cf9caaee6edd8d311c6fc9e2";
   hasRunfiles = true;
   version = "0.5";
 };
 "urcls" = {
   stripPrefix = 0;
-  sha512.run = "0ff035ce3b511ea9fcd5baf4a4bf07fa9bc5a1adf947d4a95662e1aae35d72401e254f5ffb2f33e2e1ce0173312d0853f3c44853a5c42841e0657f0c12f017a3";
-  sha512.doc = "09509b95a4593034b7ad7c0db647a59636cc4221c2aa24e41b28262832918bf892b44e9e68039bec703e55123144e39d688d395cd3fee83d073e7c9f66751c0e";
+  sha512.run = "5b8c80a756e45e5b847c3b970005b866f6c498eff7646155c73a9b86585dffd73e8dc66d91583dd691c910caccab60ee22a1e9dbe3aa450290fb17f019477172";
+  sha512.doc = "40b8e4ea2abcc82acb843c692d90e964932f1ad7d0e818d54eeec77340f49686aafcf2fcf3f8f4d942f7cd967754ab24ee2075c6906862266f5af56251063fee";
   hasRunfiles = true;
   version = "2.1";
 };
 "uri" = {
   stripPrefix = 0;
-  sha512.run = "856227922f43877b41df0d2f2891544398c83bf16574e8c38e982a87720532e1e9a6ea7a88ec47f5d4965c46630285e27c99bac0d6b0c1a7993ab230dc1abdfc";
-  sha512.doc = "a00d2ad7fc909c66b202252b6031e2f478e99cd7e5ce92ba7975e408d25a948a699880690f4455152a159b7ba452656aa3127c9c140fa9a68bcac7ef4a1919ec";
-  sha512.source = "84bd8dc361189d537f6ffc0dfd984746d0aa2bd3306c60ef031802208387c70b627e1b0a6954f4e7d7bfab640d841a70774c1e69c0273af96c805cfe4e388cd3";
+  sha512.run = "402974f30df5a00118d4bd2e978f342cdcdb22119059dbd0c1b2111fd1ce94ab8a29ceff88672c80d18a669d5440bd48dfcd23fa07844f492e5f7e0eda1671a6";
+  sha512.doc = "b2cc8cbcbc81f0c3db349952546e60c152044aae264d4b30aadb6b90b7aa5b304c89203b6219bb5161807bf1e4649235d2f98a60339a0cb93a588852a1755e00";
+  sha512.source = "0206e0d2907f3976fd605d78284a44c909ff23f16ce9b2490556136099e56a374bd410e1c9bd5687bb791334612af1cc5a62a8b53f8c7876bf02d921c9868a68";
   hasRunfiles = true;
   version = "2.0b";
 };
 "url" = {
   stripPrefix = 0;
-  sha512.run = "71d250915fb64e6b2486edbcec98040b510668d05678d2486acf35108e86b58f4079d154b4713d9f313cfe874507abf684cce3d3b744df43fe96df56a12ae498";
-  sha512.doc = "fc8794ac8a58dfa17b2e54782edd90a8698d2a87db3b0fede21dd476693ebda20d7478687ca0a72d1c5beb8a9d6ecce961521305d0eb4ff26f78ab3e53ec79f2";
+  sha512.run = "164fb94cb128e997031bfdf8c602892d78813694f39f4b95bfead8a5b7e3cd9a0d9596dbe697e012bdf84b89c2551c2f2f1c7f99d4543e357edfaf2076b9cfba";
+  sha512.doc = "65596e0ce813233491959ef161be8570450c6c71c787b3253d0bce503558e63902137a6d337ad1e7cd2499feacbba4a93b7b75559750d05d7898ff2527f1240c";
   hasRunfiles = true;
   version = "3.4";
 };
 "urlbst" = {
-  sha512.run = "9a15845881da342ad2c950c1a7973af53edac11fc6812e59c5d8de7e59271b4c1775a9c073edd7c34d4171fff454d025f44d114089be6022c1128ca093aeebee";
-  sha512.doc = "430f93a3b21bc318bfda14b45d4dc3ef53a4e1ce345c7d86d4ae05592afb9f0a2c8a9b7e23b00f0426059846ab6e2c9d6d43d9d124285ac097e0e29ef8cb47a6";
-  sha512.source = "ab695136d3c112887b6752f5852a4c8cc5d5c713f356a68e362500bec9e1842716a9f27252165bc91114ba534e4e4e8b25382903cb39135b3c42269da535f920";
+  sha512.run = "31ab9071a50258b405e2850c6fceb4d30b3f71b731c06d4fbf6b5de25d7d23509a374e6c89dd58dab869e6aa987a234c21a0c6c6a8f2780826c5acc46f784eaa";
+  sha512.doc = "0dd2c6cfda184d77866503bd94e79b7c99d20f4b9627e01946887aee80318adb26528f352fcb0db764e37d7b2292a78f0d80bcb51ca7cd95593a879063154315";
+  sha512.source = "96d336764d7892af97b7fbbed48a121b8e058efb56364398f50d24bd598ee387b0544712bf95886641077c22d3542ba2facfa125a89e8072c0a65737ac18cd97";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "urwchancal" = {
   stripPrefix = 0;
-  sha512.run = "5c69d8d55736ff21fe445e6f4dd257ca60607be5c7103c2b588167f09481f1aae8603a7e3f946371c5ac007558234c92bfa3e30ab1d476abba1681e5ae6d537b";
-  sha512.doc = "c186da4fc4f6d7e4c0162f7b22053da4ee05aa3c45e3d96be379f703b03b0d20ca609a73616cafa329a5fec4d458c9f5638dbca42dbf54deb5046524dd0bcddf";
+  sha512.run = "beb82950bda88e7170c7ad753e93859f96190f30e89fbfbe1cdbe37930b07740f70da40124639c6ab14be93fe79c5e87b35296b68c702888d3e9e25100e86a9c";
+  sha512.doc = "8f218f76d45a2f3ea9be173ba1c6efcb8a7cff26a43149b7e0ef4fc535a4638cffe69358d8ccac44a3306044720958ea9189996e88a38d560d264f5fba6863ba";
   hasRunfiles = true;
   version = "1";
 };
 "usebib" = {
   stripPrefix = 0;
-  sha512.run = "906022395242210eb8cb9966e979120c14b22073337f6f9926b78955635f60e86ccbc5a97e8de519cbfa6eb9e4d39e21b326ef3435e9c0cc4d550544562cd423";
-  sha512.doc = "a8f26c88ac142cda34e9cfdc0b7492a4432c432743e92685764958a4f02d9e1cbec7ea901ab572873df791e40319638814c05951a3d72886f8611ee22ace39e4";
-  sha512.source = "97cd15038f55d589930860fb5d9d866aa9357425555c5ff8d91c1f81b867ee565d236bf08fd4715e145645a92715df232c04beb6bfe29e6bc1b45613d05c73d5";
+  sha512.run = "94e0ded0c7e7ac10f2d8ff9324afcfdd2dad8247cf31cd6b404d9c2b12e223e6f435ec9d3dfad0ab510b943050444f5206788540a948e44f44c5d011596cd34d";
+  sha512.doc = "3b489185729ac7d93ebbfd632b77eeb865b39043b2b68d920a6ef561ac55701a44d362b84c1fb83a2f59770442a655b779c6e49287c9d2859c44140e61c543e6";
+  sha512.source = "a0c64ad5a7479da4906b848a31ceb02b047a98e8e2c505ee748f2eed4ba27dc8b6d89d8ee3a171566417315cc2b83810f514f1a0c11f1bd4a28b57cca03676df";
   hasRunfiles = true;
   version = "1.0a";
 };
 "ushort" = {
   stripPrefix = 0;
-  sha512.run = "8689be17fd5b62df28668c76616ac622f6f6fe4a7739c8fbea3cb12d137d59ce4c608997c056dc80a15009270d30b92386922228f5e80b50aaa1205f7db7797c";
-  sha512.doc = "24977660595c9fd0a293ff76ba3cc3800806dd99320c47e27328b66fc4fac50222107b0f969c67aa1dee626f02dfed54dcc12e15362f94169e8faecf9061f73e";
-  sha512.source = "fd3b2dfbc4a4a8403fec9fcdd452eb395285d7aab49ec5522335d60d393a425fbff99d7da4d3e4a4ed5d17e9b796fb56c072790ce1340a15ed955f4f200156b8";
+  sha512.run = "2ece6efb162a13c37413e4fe2eed33ab7982d681fcd9435ce53248dc4c573cd90ac51293424385aac29b84159b34fb3f7fde2bc8d39eacc71f0ecc91c8db7af8";
+  sha512.doc = "d262bb270e41cb7d9378d42ec075a81158d401b737acc7788722ea7e99d896de1eb98c04a65e733d6e83f6229a9703f72bfd0a11e36e52d4799e82e19c102d5b";
+  sha512.source = "a26cdd79055b74cf30202c162fb38243571ce2bac990ea44a0eecaff407951aebd5ff4619cafa6190ef8ba6101d86a800262ad1b09972dbf7b207398b82da672";
   hasRunfiles = true;
   version = "2.2";
 };
 "uspace" = {
   stripPrefix = 0;
-  sha512.run = "09163467113ad6ee5dfb7ef1353ac6405009a2bfead7994e0d30499e764902962141eab6c6e320b86008e1dac0828a50896a96b069c160569b37d47639826c92";
-  sha512.doc = "4b20fda9c074196e2bb998dcd6e107004b6d86394872665b62b09f37c853c1554428198d0c26d7d8989a25e0e9e9970a5f6abc7f6132c8682c84608806c39df3";
+  sha512.run = "57a271421c15eefd41517881e951c8a55096e6bc7b769beba123813e19682407b24dcde898bc8df75700f33316a5281fedf5c24a3ffd7a97eea2bcf5f658e7e9";
+  sha512.doc = "c4b3c401cdedde7e67a2b4fca44f53c67c578fec287e22f0c1b67252b6fa4c0ed4d3a8ab1328162e7bea015536f1a1e4539fb104c8c889bb4e1549f7bf748e13";
   hasRunfiles = true;
   version = "0.04";
 };
 "uspatent" = {
   stripPrefix = 0;
-  sha512.run = "3374a588041b3c310b1309ef8f7898898c45ee36e87605b45fbb4b36d1393ce31f6035100461766d233cb17dd9cb15be08f9336ae03d0b9baa630d2e3b5f4379";
-  sha512.doc = "0ade06caabd9b2f0ac391c2e6e094fbb75b3e13f7a2b587d3cd473fc05d8c3cc2f22cc27bb6b6591e36f97f9e464f68106b0727fd0156820df4e4071f5ac1d37";
+  sha512.run = "fbcce7a06cc018dfba47aa7e9d572003136d5b179e957f10e2bb42b2635ef4cdd40bbef19e8f827963d048eadb23a1aeedcebc87cf128f5b28cb1ab281408b90";
+  sha512.doc = "e0eafb5fadeab38da049d0d5cbadc8fa3dc3c335afe4fd5289fe30de38f0898cdd9dee091b703f6a853eba56b32b161abfe56b3185c71512c9374585e6d9784d";
   hasRunfiles = true;
   version = "1.0";
 };
 "ut-thesis" = {
   stripPrefix = 0;
-  sha512.run = "2b328115998db9ad4c0beb4f0d54a0f7bc8af87326c092e3cd23bdc46fb91d014adab14e2309fb7fd367d400ae71e34e9d7061cf8feac263f6318a40d1fea387";
-  sha512.doc = "1c385988647f9f1597a6b4a2485f2eb9145f7d4219c0d957286cce13848130e014541cdaa1c7e30fbc861f719fb8b79b38ac46cc66c14327faeb23b1bb1187b7";
+  sha512.run = "06a8933b03e02bd092a09843686d518ab58a47a4821bcafbe9568eebbe6d4e72e7815752016200ba5d68ab193408847c9f0a784bae9a65af4d1ad06b501c03f1";
+  sha512.doc = "13dcfbd7dfe45a4d1fa0e2ad8a06bda30cf5a76c993e6a6614d4fcf18964f5d44072c9c75acb6739b8df977590fd2c55aa193a2c88665e38a4e54e4411ca85b6";
   hasRunfiles = true;
   version = "2.1";
 };
 "utexasthesis" = {
   stripPrefix = 0;
-  sha512.run = "cf5e3567d87e405736e81c3d92c456524a87a3a76dc806c8029bd4f618941e64e9982120e7dff08eef8bf9f8d9a651340ae8b3ece64f271823a40951eae848b5";
-  sha512.doc = "a29e296dcc1d50d5689f592af75ae8af05c160f0e4fdfdce8275f99d648c8fdd4b3a7d023ce9e1b70f50ceda59ad1620af470f82c0e1c197df320598d3edaf77";
+  sha512.run = "829826bbc06bbd9b8ffe585705856bbe4bc99973bad7bedd489ff23fad9cc19c4f33beb88756644d76945126983586fdf78eabb305e353cb8bde8341a3d20fc4";
+  sha512.doc = "65e3100a6acd2a02df2e95834e5e99d718cd0b73e20ef6da839cbc9831918f63a2f5b38ad888a5068b1fd87ad71ac480754d5e6b459465cbb6238d4a3b3c09b1";
   hasRunfiles = true;
   version = "1.0";
 };
 "utf8mex" = {
   stripPrefix = 0;
-  sha512.run = "e762f0e7f6185a2f0f9d17e9ea308a0cfec4aedd5ced7cb0fb1ecc6f5b0307e238d985a765e561c86e279c71bcc484d2b0840b0ba211287971d1f2f205babd8d";
-  sha512.doc = "aca9b55ca76c8902b6acbc3c33d1448c0ce249580dc359b80ea0769bf447805a785b822291cb0398846d3053330f8ed6cad70a32f23cdd99819a03af7f6b3482";
+  sha512.run = "0cd4c549c7b00939dec5055705658f76f6ebbe5de70e082652b761673ba5a249924fb862a319512a9a124b9cdaae8906c74439bba97be8825d4d1ffc70642c8f";
+  sha512.doc = "cd438089d90faa0e9144d23adb78ce91d85b80ce084cb92511cc23882c675cb654cb704aebeb623bb29c70b764c8a0ab19915607664895c457c583f376c1088e";
   hasRunfiles = true;
 };
 "utopia" = {
   stripPrefix = 0;
-  sha512.run = "7c6763817db49e2b3c07353e215e6a8c262812adfcad42665831442de2840347827441ff00dd3f0d993d5ab95d5657ebf399d1bdfe6cc3b4a6605222558f0338";
-  sha512.doc = "ac0768fe9028432d8eb1af3dccd6347af36c0ee7386697c0b8444a0251615a29ba81cd4149d0a7b2e649d76c77e1e5c6a6f001b9f33e59cfd88554d3b7c37954";
+  sha512.run = "5f58ac6dacaddf4110b2ac2f77fc0da90d5cfdff26d888b26af06cd6dd8f483c7a6a12e0aab3f50d4188aab9ab649d993ad89e74898d54c14b3de4948451279b";
+  sha512.doc = "ba60eaf55cc08378560048ebc6f735e743449a18d2822e6027a86e595a9634461713ceb37d15b9f0c8239f1935f910bbdbd9a0d0d6fa1683174739f91c16a504";
   hasRunfiles = true;
 };
 "uwmslide" = {
   stripPrefix = 0;
-  sha512.run = "2d966b9cf1523d1c712403d05bdbd97ce943bdbee1657950e3f57624cb1d80aeb317ab8006c32cb09fd1331b89199570fdcc75b9fa6719f53ece2daf483011bb";
-  sha512.doc = "0a6919e511ea031c324067612fa141af12f715bed0ccb8cd3f9941843599d5763b744f5826107494b7d7b4236d50da1b9bdbdb87b5e21429cfea327a8351f5e0";
+  sha512.run = "a4ee1019a36a66abb6614dcf6ffdd9706b705bd18a19d34fcedba441c355ce3a7573ea0ee53686b325c6d6b485fef99dd1254118d1cdd1603e1597b0fa17b751";
+  sha512.doc = "7560c214913e9dc61d01ba8528e1bc147a4f261995294c8c938ffd853a9b6a174c1d1d47e49fa20351ea45d61dca03ef7f0ff085e8725820c24d2895a0d17530";
   hasRunfiles = true;
 };
 "uwthesis" = {
   stripPrefix = 0;
-  sha512.run = "d0900f3afb0789308a70240019464f62c807b1ec74801b1fff05975522b1455a6705a7489535c0c217235eabac236c8da765b9b850b9d92ce6071feb0d1a18d1";
-  sha512.doc = "4eef580f9cb4213d44d7b574369268772456aebbcb34d8d386249e0677990066f688a6940b67eb1f9229bed8588e6476fb4d8d81b448ae3d7528ea04ec6e3ea2";
+  sha512.run = "07bb8a3ab65110aef8de3b606ca53060dc8f29c76de55a5a84e87d43fe0e09dd16b48ec09b9a451f2285c06450ad059c4c3f9b8d48a21572a1bffbe2ee512a6c";
+  sha512.doc = "278a7ce5f0bab547de0c8dd4a26dc270500baf8abfca1ff1a8e76283fffff4a73835fbb1daea2f6864cb9dca3e0fff297887ab10305c6a87ea1d7384d964a9d5";
   hasRunfiles = true;
   version = "6.13";
 };
 "vak" = {
   stripPrefix = 0;
-  sha512.run = "66abd86448520ee3e957ca7f9495fd748f8cc55ae5af675c328796bb8ae349a00b7b399c1c0c2bca1b14a57082adb5b974265f3482b5e6cedc9b24354b7c870f";
-  sha512.doc = "64c9e5e3629b8e617dd1975fb6ba77561717a4487159230279b9528b6b4a3b15731773b744373569548826fa1705107cf32bd025377a9b318af6dd9b33071d8c";
+  sha512.run = "b7606cf33b8e9d14f4ca4cced0620810eecc469faba959728d3b4d7f8d87023d600fb33f1739ce0e7d14d4a54936fbc682a54d8ad8c6b514a1f2baed2c79b2f1";
+  sha512.doc = "1e6f148de79c2ecb5fcd03ff1509c3a509ee40795af0e7f7a95fdc64c403f2de7f9d9ca37716b6488cd496e2be0565749222ae95f8b97e5cf7e05b3877bb6d62";
   hasRunfiles = true;
 };
 "vancouver" = {
   stripPrefix = 0;
-  sha512.run = "685e492a3e5dc160370db6be6c46a472b058fe744492fd0acb09afad678fcf7a8af09034c1b69e3ad0ab7be49168af4306552a406afeac7413d66fdfa98c2852";
-  sha512.doc = "79fdadc7f603014535db26f593dc53537f976860e2f0290a238af1bb2c7fcfe33433d30d58cf2f256d013260e457a9244875665532faf6bbe777cff7c458151d";
+  sha512.run = "8fc852e2137af0b1e0664ecdaf115a6c4c631faf840b5564b9dca2f8c457f8fe33bd7edd92ff4590c05ab13c23a9b1771b7e688ee6f6d700a9feb01f9a921170";
+  sha512.doc = "50ec342e62a14f417b8a0d4085ca46aa701a9e2ae5630daa2159ddd6532a0c3d5769a0cd351c932bc54395f159d560a259e3996f4f157e42d0dfa41aeca6dc80";
   hasRunfiles = true;
 };
 "variablelm" = {
   stripPrefix = 0;
-  sha512.run = "945dae157738645f77da150864b184d0b4e8a0f5266acd212e49b48504473306fa37e94390baa2696d006af50dd07f7c3c3781b2b6300160d6b813856d1f808e";
-  sha512.doc = "eff4f9f383e86a5074010fae059f8c23852b0570a87bf523d5e805676184b2ce901bba1fd9d03e8c277f419102045a5ddf8bd8c84dcdfa976c1b9a1817324f44";
+  sha512.run = "e58a1c5a77861ed3a84f2fb372d6c3560129b656257e23a935fa9d7ce18c83b59f9863e29ff35c45c6ab800cd09aa2fe7bcb1fd01edbbe2e75112809c17faa9e";
+  sha512.doc = "58611f636d5aea5ee2935c75206e0d051345d7138d04668ec7875b3ee0493e39bba54b1941aaedf33abfeb7636602fa6ac7fe7e750837b425678eae97b7495fa";
   hasRunfiles = true;
   version = "1.1.2";
 };
 "variations" = {
   stripPrefix = 0;
-  sha512.run = "68d7d22926a18fecc3e3f34be2da97d6cebf7c66c793b76544b3536439066a01483e96fa4161e8c2b2875387896a68399d4249004c8bab77f41fdd0fb9e00d8e";
-  sha512.doc = "4dc8c58f167833b087af5d5407fdccea6afe3b633e37a5addddadcf9ed0ff2d96b80457b5693dcac8120fc2e8a092312137fe090dc4717d90bf267fd80c75d86";
+  sha512.run = "71252475aec013adf9bf41460753a648420ea70fb093cadc667500a6884adcf0c6661a2d81053a733844a3f8595ccffb5ac5f7680689575d8485c47a1cc1e469";
+  sha512.doc = "75d6d8afd13f6751bad23d0adc58355d75e355554dd95971dc16ac148150990e1362ec211a3f3e6fd832ce231dbd08e50ed9d44856c763e47ddb5374b1b182ff";
   hasRunfiles = true;
   version = "0.3";
 };
 "varindex" = {
   stripPrefix = 0;
-  sha512.run = "97f1b43a8eefa934e15ac372635813d4855e408edd8444a9e36ea5a4a792690073306cfcde3e04129df3f117e21307f3fb5a1e45915cb7d33b17eaa045da852e";
-  sha512.doc = "7538b1029cb1404502ceda4bbd178b13d28433286365d53a9043572e42bc12958329bdf18a5601086bce02e7217f1f562443c9ff8d1e92ad3aa0afe6f99f95c8";
-  sha512.source = "900d8368e1a23b5ea815e02931d3ae50c89fc39a51d793ef67eacd674e8a0226495aa35abf66502bdc7bb1d4c4c52c4cff459949b07a7b9d06c72b338129546c";
+  sha512.run = "fb7216b4cb06126970148788859d9c12a0626d25321cc591b2db5d7018ab2a76f5c6505d9cd47da6a3babc765dcedb6653a3ead2eea67f688cd883fe81d9f42a";
+  sha512.doc = "30b9f50b7357f12774f78f0792ee0321b5ba84d2c3dff96f5f98d87cf0bb811a2fee74b2bc691fef07a80eb65e13e42b657b74efb0ee334b4f04da7bfdd0b75e";
+  sha512.source = "19571ec2000fb99ac8e1b188e2f6965748c78476bb3fb2d38c2f668b02d268817c6f2670b9bd51df48c2db8fca1e6f62ac738f378a6832368c74de297f19b679";
   hasRunfiles = true;
   version = "2.3";
 };
 "varisize" = {
   stripPrefix = 0;
-  sha512.run = "78c39f244ef4259027add7db35ad8f94505f6d8bdb4eb0a358dd727f56eecddcd3840d01152cee3c91ca425ebd2e23838691c9aabf291af5fbdd1a7d6997b486";
-  sha512.doc = "565042ecba184ff876287655f954fc0e2d9b62b7f3158aad1dcad9337ff00c0c333eadf0def88b49cf9661744b8920b55c6aece47c25c2ab40a39ad4775662c9";
+  sha512.run = "c1a900aa29601e9bcc5d1047ea5bca0bd3c079d05e8c42c8e3f85521cd8a1989425650d0e84ab0acf2a38e468bc4823e149cf1e799da8eea1d6af4554cbc0c94";
+  sha512.doc = "f575e4faff4a80f72108ef5b97abb0bda08573669bb8b28592fa607538c632d3b59626282a0ff8d7805e6b66121b2c231618901a9dd71f0242e1a0875a3e2068";
   hasRunfiles = true;
 };
 "varsfromjobname" = {
   stripPrefix = 0;
-  sha512.run = "6741e090323f24e053bbbad85e67c1c3539ea1333efbebda780fac975b17ace14d51cb6a14dc58db961179aee0d84c083940fbb66dbad67e371c0237c8e8d147";
-  sha512.doc = "9cb2eef233536b0e4958f86a3ea039b9282f057b732d436da5c987a282b95c40bfbf21fda0f44aaaa9b20da7fd895478782823b6f101871a3c4178c02b3890c5";
+  sha512.run = "0d5fb07c93fdd08570ef1dfa120870f4619b124cde769f48b4107c41827dd65c023840e1344aa283d0b21bfb0af2346135577510119579c531731f132bbfee1a";
+  sha512.doc = "57e3111b8426ace2a838a128dae49a6ffadc6892e4b85cfc83eae3b9422dc4188e505fcb2a281ff38cbeb18e385ba1da398111c5f00683568999004ffd5eaea7";
   hasRunfiles = true;
   version = "1.0";
 };
 "varwidth" = {
   stripPrefix = 0;
-  sha512.run = "d60737f34d84f150cdbdc5a55687d20c1f45775372d42ca853561daa6e95b8d5a731923a4af3a95493598ab0215789ad9c415e95f79074c13121aea325ae4dd5";
-  sha512.doc = "c05e9bcc9ef11fe2691e37a852cdbcbd7569e41937dc7ea673eb0df2ed43eff98b7abba45cfda2b41f27696d316a40b57f3e0dbded07a3e64cf3e262fe7c74b8";
+  sha512.run = "d44fcd1912f1751ab18f5d7d00ed47f42bed3ad2863b35781a83df9c881943c3e1916d003361b6e64640326541f43a37abdb0a3cdfe07e4d0cf7980dfc5fe1bb";
+  sha512.doc = "ba0c0d562a7c9db36637bb18fa6f0d01661b229c66b8f0d2bd7cbafe286b81485e84bcccd06c4d47561db8895cf8933ff11d08a8de0b01405d6c7dde443e86e6";
   hasRunfiles = true;
   version = "0.92";
 };
 "vaucanson-g" = {
   stripPrefix = 0;
-  sha512.run = "ae94a1617e57ecf5c5a88cc24ad27798f476f8e53d81032835b91951cfc8d22aa88fc0c08cefc4b14441aa9a25e57f3a5f1f842f10c6ff229c1eb71782c481ca";
-  sha512.doc = "a38cea5234e1def6c1f32c8825c321cb8ea48743e2363f3d6dfbff8bbfea68f9b8567d1456afcc3fbb12525db37573980d60b3c3fc7be6b4069a6819a2722edd";
+  sha512.run = "e4bf83ea01ff4162f95dd595b93635ed988ae081d0c65ada59ae64c6c64c730dbb92ae049d22dcc20d6204c5a7cbca5cd643be6c572e51a3aa17df88c6f1f700";
+  sha512.doc = "520aabba38562e208b464fc0d4e9f9a138c238abb94b43e89864e4ac21acfd35e5d6e224e855ab4baf9feb1df736b7e937508f6245e5f873c5c8f8a75947e014";
   hasRunfiles = true;
   version = "0.4";
 };
 "vdmlisting" = {
   stripPrefix = 0;
-  sha512.run = "e55c00ef9e7ae7199aeb4bff6611afbef1290fbd427db4dc1ba72426440ef97b5f18113b7cff02d95af267f7ee723fd6af8460c8fc02f8142db894667e36d921";
-  sha512.doc = "a3a23f8f6bb1156f4ba8222189efe3db6ef97aef7e86bc41ed050eb69032e97cf88a06ff6a28c9038d16b904670b61d598274e010e9ad9ca5bd1d5a3b1787c33";
+  sha512.run = "58cab8cd7d23326b39e76a91db1bdb0b0cc9e1e6bf457d151af39a4c94886f623b8178de835e673118d5b797510d6f2fe5f97f6c0c8b5bcf679b9158ded3c941";
+  sha512.doc = "a71b798d364f429c4894db38863301c1601ba7f2bbb2cf8e4394b48c5b7e3541cefcf915ca52860c0c55744ac2aa8fad82ea66142ed2fbfa81c05da211f04f74";
   hasRunfiles = true;
   version = "1.0";
 };
 "velthuis" = {
   deps."xetex-devanagari" = tl."xetex-devanagari";
-  sha512.run = "d85b017b5e2e0061669f7d9542529c794fb35991596e03da301cbe919c5c3e44ecf82407041560648a345422c437bfbec9cc2eae86ea4352f0d2408e4e26f7e5";
-  sha512.doc = "ca70ae67cf10b9064d2d8d1bcd4215fd94271b41683912c688722857c4941e51244d9a7df2ad8c7b7bfa90ea9e3679ad677793ed05bffa23fdc29a5572aa2211";
+  sha512.run = "9c4a81758b71d4ee815bfbb1d0336d50d6da4b71e5d7aab6d5797a259b165b2d9559afb30484f9c3582002d7d9c536f5479828490504e74ddd56719403757255";
+  sha512.doc = "d4d2f9692b173350419bff2f3e9ba2528ff21b467e93e63b991dda294bd562d4b0b25b5187d8348963d114bb4d28925ee74b20222e0946400cdd4a0b2b6194fe";
   hasRunfiles = true;
-  version = "2.17";
+  version = "2.17.1";
 };
 "venn" = {
   stripPrefix = 0;
-  sha512.run = "0a4eb406026419d367b2a0c2eb487b869c24ca3871746d9f1b2dda1c2295c80fea721e97f79b2ee66634247f66d0fbbccd1fe6aa4ff3da2e07fb05223acae721";
-  sha512.doc = "d55d2bf1ea7d15534dd533a820ff1851a9cad0ffdb279a1cfaa5e8038476458ace981be1a24f6826b37f876bc48b8b182b74bef1752089445a9bdaef15eac90e";
+  sha512.run = "617ba85e996943d62a33acb2535e23700fffc63331741065faee558bebde608232a31bd73aa79ad707b107a9adda8b454f9b81dee184a64d94f32c44d76180c0";
+  sha512.doc = "0b1940cdc2bcbb7e2f103497622c4d5971abf4f6f4885f60b35a360cd655c34cd789ecbfbef9d35c61611ef22198200b11008f4f59588a5cd111870b77ba19d5";
   hasRunfiles = true;
 };
 "venndiagram" = {
   stripPrefix = 0;
-  sha512.run = "6cd24d8b144cd7a38434be0ab515b0fe2d36cad3e07b3dc357362e9b2870da135d3d7259d3dc275fc4ae3b7e4f093bcad90db6737b27c3ef72ef25f2a7ff1976";
-  sha512.doc = "e1a034ba7171aa94c5fe51aab4b799501989563144ff9f8053e8a690dada38d86df2539afc97c0ba4fb89fa6eacb80c9bf50e2436d3bfa567590aaa1af4d1e19";
-  sha512.source = "76e7ee055e2e51473ff3c94976fc3f7b02c2b39528eda46c4f6017776b0ebc665a91bc945e52f82ecc2adaeb3eede22f86a8a2aab9fde9a32ba8a20c80b08c9c";
+  sha512.run = "cf57b84165067234f5be58b2300eebb77339c33b883895e47cffdbc7c4acb6d013db7ace1eb47ef491e21526cea8b3ab993fac836498bfa16a5cea700caedd5b";
+  sha512.doc = "966f7eea0d4c40004b9710c53fdd6838b757a2c8ed47b4098ca2d47834ba52575ac7c062497f1a6d26dadfcf0d7f95f2213d34bc638262520aade0e78beac827";
+  sha512.source = "16bfa22856952e9c0595532432eb774a2ef44f52950002db670e5f3e22af02981305ed5eda1265b6d1a97f43d9a6292311bad5268a562aff6ab00f4a14a058f7";
   hasRunfiles = true;
   version = "1.2";
 };
 "venturisadf" = {
   stripPrefix = 0;
-  sha512.run = "041f6c01a01ac10cad0c015c6630826316e85cad3351bd4530cf36f123a14c55620c3eb345237a06109d827047cd5a07e4ec4a1d85ccf5028a4890145f84820b";
-  sha512.doc = "eafad77636b169442e6af82f584fbb594425ba1122b4b31e76bec69f030f1478e2a6aa6d39f69b0a75c777a6fc42c8855e9781006f3ee7601d19c5cdaa5756f3";
-  sha512.source = "25d2450bb022e5b6344743b020c73877a99df02f29ba7ab17243568c5afd6c93240d3ee81b155a317c0a2cf614945f2f9a3414027869d98505519eaf0587841a";
+  sha512.run = "0f6b7369c1d589f9725897182f854f008b73dbda47078285635e87d480011bea0610da81512416b0963aa55487d646cd2a957002552ef2b8609d4536c0dd96bf";
+  sha512.doc = "b46066744794a8ae1443b18bf1f6ce3d586c8ee8fa5c3273db608751979089b2407a6feab421a3c3c738a682e83e2f44bc5ac86eef1d51fa914ed0f0df985bcb";
+  sha512.source = "2deac2b1cd151e41ea604d99209174b28de33d9f9358353b7d8b120c8e3cf45552947497e6d54cdf4024f5a071c39246221fd25cbca09cee7984755036993a40";
   hasRunfiles = true;
   version = "1.005";
 };
 "verbasef" = {
   stripPrefix = 0;
-  sha512.run = "21f7a77c7f15f72503b9876a5ebc356bafd47797f9472ace5e8b438dad8d02ed491a0f3b0f0dd24521ce3f39edc3002192c93ff5ff60042790cad77e71755c4c";
-  sha512.doc = "7a290e13fbb737f8b4729871afbaecce97695007c43b351161695bc061ac855639ab8016f28c8fc85c033ddde40de49e9f1e8cd3efc85ca96a5d54226c45204f";
+  sha512.run = "483a75883ea602f674abec796199c5206420079c6ad5e4c3ac22bd836e7ce02f686cc8b9b749f806fe8e44bce8bd35fc6b17865fc076c72f2223143ee0e8a123";
+  sha512.doc = "c88b1275eb4e3b87172e6cd157ad868b7b230d96d00ca0dc550757fdb89648a40b1090b771dcd0776b6f86a9194c553f265d990220348e5bbf9c7aa792f42914";
   hasRunfiles = true;
   version = "1.1";
 };
 "verbatimbox" = {
   stripPrefix = 0;
-  sha512.run = "0b0d4d840f4716460f7dccb52b7f2d38b91874f883b190052abbf4516d145ee79b0b58d9ab0cd00449721e53d3324515e35a6c03eb016c1484a94bda9eb1ef23";
-  sha512.doc = "f4133ed395e39c869730533dbff9a02fc626b53a368169001d4cfae1ec5170ca076cb2768694fbdc072fe9f3c76b9e77d595aaa0288dbf968acfd8086fdd95d0";
+  sha512.run = "dc686ec1e86c877a6f1467f4935f2337aedfaec32bdf867985ef05405569572c72d3593e75580c72a7bb3ee698798813094eabf738b3157194517839fbe47de5";
+  sha512.doc = "9f8fa05294b68fb0994f01e36b468d341b76aa97bde983c7eab781c92c8bfd898033235a328a1fa858dee457f515d6640f780b330600418f2a7eb0fb45f0ef3f";
   hasRunfiles = true;
   version = "3.13";
 };
 "verbatimcopy" = {
   stripPrefix = 0;
-  sha512.run = "0220d9b4e19ce7a91bbf0daa8aafc22f77359d97c9373b9c9089cd21012a8e1b6cf90f330ffcc9178b2c5f18e3016556ff8841c81a917d0d9238b9cd62031efb";
-  sha512.doc = "5d9c8cba0ee55a8389e69da62ca15436a9b6efc79984d123e024e445286f8b56c46bacd5aa25aca09feaaff3b8cb7e192c3993f9165653493410c5399fdf93f8";
+  sha512.run = "e415f9d74f35e28c73bec5442124b7c426aff8de013aa8a2af9c234ae3ea20c131d5ad21803c92eaaf6d0aef6584b7f9b83218f9665a959ec0d6ba3ef606b081";
+  sha512.doc = "0281da688f11d2a2fefc053d8f7866878b337ee85114c551176d6c329009f8c1a8479ccb29f202106f745ba215728e7f08509898182521bcac433699e22843a0";
   hasRunfiles = true;
   version = "0.06";
 };
 "verbdef" = {
   stripPrefix = 0;
-  sha512.run = "ed881cad5125ab7ccd8e5a0eeeacb3b9bf91e9985081f4b2f74abb34a6b4eca96e63dd06a85f60de53e2e2cb8832fdc3e899df2742dac79761e0397848f169bc";
-  sha512.doc = "5fd36263d670abcfc45d60d6318301b1e731bdab1517274340551387298330e031afcef856bb6cf07de07e002cb4028dd57010305729be072d09c5aff72d9609";
+  sha512.run = "f6bcac8b35bfe707d4e39cf625987ddee6197977894e9f8ded9e3a715e0968d2d1fab07c57edf1d38150ae0c9cfc937230c9fccec431e73ae235a4cd44ed8609";
+  sha512.doc = "e64d4bf3018de72a131e7688ebbfcbaa59914c0542d2c632a91097a77f404307f9bdfc613638badb3ccca3854313f17a7a5bfb6426f467bcc98ed235af6ba49c";
   hasRunfiles = true;
   version = "0.2";
 };
 "verbments" = {
   stripPrefix = 0;
-  sha512.run = "7a2933844f0ea399c3e55f4e32c62b7681ff72ced34102903b4d54b016830e4c6a8e55c4e3d46b113b859d47c8b2af2da2d77b1916ab801d987cbaee6b1db537";
-  sha512.doc = "3663ce117db9f34e9b4217e3a8b184feea47e9d64be6201ccbc81f5a1d4bf851b9f5767bae5d207a884556dfe09e472ea2ce11682feb2c46a10e542c71b56ef5";
+  sha512.run = "7b5780efe1b6e4cc62909df5d5cd4a03be3dc83717f20738a83f37f539103ad12e382c0a3891b8e81b44086f92b7277b17e88c4e7d81123c04941c38114f23c8";
+  sha512.doc = "744471659373efbe040bd0698a9b33a0942d5df33312ad3cdd0f02c0e16fd2c67ea44c4ab13ce83ddca6a5e8ca68c8c8bc40c1a64470a9716511e2275683b004";
   hasRunfiles = true;
   version = "1.2";
 };
 "verse" = {
   stripPrefix = 0;
-  sha512.run = "2aa188b13b48aa3855174db7899622906cd13087382cf157f38934fcc8152e0bda0c58be0e457e9effb0bf920bff5c4c819f549d7d6518027862ab9ecde2f336";
-  sha512.doc = "107704fee4d4438d08e3a682c2954ca3fba3b6bfbfa716d7d0890f0867ae658b51067a5cd1704110e0db80258553d5282845233788ac00a5445973759bf2a600";
-  sha512.source = "5bae294cb546024d60aa1b47638a70e8d95a5f7e89bc8f57e78510205a3aed5f4d1416ffe82326f94ceb4d017e1ef7b8a40b08f0f03db8bb9c2c0b4090c0ebd6";
+  sha512.run = "3f9878dea106ec87f2b64960c5824fda6eb9f700b753a530cec7e1b8519dc9a817cf7ea74c13eb806497740501122790fb29f6e3cc383a8a89ad10e756b7a00a";
+  sha512.doc = "6f255167db9ebb84cf86a14e6999410efb22d087d97b82837c3ebc5bf69f0990e77ae0325618ba3ea02c116741422a531f646929eab2b5810b9f3978be6651f2";
+  sha512.source = "ce1f07f40bd329383d8a0fc97038ee975d61b58eb0ff60f8a1894a6028b2afb9db58b7db599d252cb88fbc040d9938b7b934b6e8ad683e7f4de2be9a15b37820";
   hasRunfiles = true;
   version = "2.4b";
 };
 "version" = {
   stripPrefix = 0;
-  sha512.run = "70885ddcebb3fb2efd0a5a642f48044c2c28a642cb19d37189198cbbfbe59e15c7eb98fee3180e755d3e469435063185886f01f829439ad34969dfe21847e274";
-  sha512.doc = "be2f5723626602b4a97c88d109651cbcbff21c0e8231b005131d764ae4368177fe42bd61f8bc8f38e8de09ab1f5becb74c550b29b183cf2e6e4ab10c199f988e";
+  sha512.run = "9b57997e63fab25d916630bb086b7d4372e094e64175caa761c20c3c2d426a58fdc42ef661bbc1ec47f2a8d9c617b7e4dc405499c01b84eb53ca0d10f6c9108d";
+  sha512.doc = "9bada1489523eccc809d4b9654411addf31f2d63efc1f1f9d68b81e2bb3d9365e2709f55a77c53c3d2231b8da89114bd5a4217c8d18553234a980d379b1a0084";
   hasRunfiles = true;
   version = "2.0";
 };
 "versions" = {
   stripPrefix = 0;
-  sha512.run = "a2a7840109bb19ccaadb18480ed69eead3a6a763408cd0d8cdbd915aeca929508fc9094fdcaae799db05e45138c1a04959155940101ba953a4e2ade33b71318e";
-  sha512.doc = "40cd08fc92d339d792a7d816b4011d78192625825f42b8de599a7ccd3da703875bdf48e3a11a7574388cffd2386dd35606f3285f93c20abd91b95d916fed0ce6";
+  sha512.run = "4a6474f6a014789daae358c5b73a85bcb0894eb67d09a530f3bdd8e4571552d0a3e1983b5ba40d33122caad8bd457f255b7f1bb34e9797c5137ccf461707dbbc";
+  sha512.doc = "ffebda27a9000a0c8bd8462b750e34331968aa1abd5c7039e198950eac6dc02796da6a02a258bcfcd84ca12b3d5f6d0ab11587bb5d6fa9b3121297aec2179ccb";
   hasRunfiles = true;
   version = "0.55";
 };
 "versonotes" = {
   stripPrefix = 0;
-  sha512.run = "efeea0bc043f397f11e80775016d4aab33e23e317fe0312547b98e45e07458f01e683a8a0e9b5f965e204d5dfd5699163a9fc7df35a6e2d67b06b7d143383683";
-  sha512.doc = "d859bf6b5dd2abd0f0e9513b82f17b5627e23a6aa3cd3282fd23073d13ca972182a46e4b60e246b928463119f85eb1a3e0d67efa09a135384900e341efc0c048";
-  sha512.source = "321de2b5e0e04ea19cc47546e3e8c0b2426dc67ca9bbf29d84e3d7e6195bf339dab80299f863bdf57d36e2fb5b345a43b86907c211ff70b4201a1be13aa3b26c";
+  sha512.run = "3b1a33af069abaf1bca5d70c64f3f9034efd10c2104814c3db5360377cf67dde56794f950b1a96a5fd44c0fa3460922887ce97fa1a3eea31b54ce1f16c88977b";
+  sha512.doc = "1f27cadfa8160bc5ebfe6cf93aa617b7a1a751d98d7e7dac052cfc50a450d57967104fcab00d89feb08d0e0cc62551738eee5e17e8f65889e9f32d4e6d2d220e";
+  sha512.source = "e2f738d24b1a1fb8f16bd61ce86f21ee8896fa7236c61fcf8949ad411daf675f9128c4d48cb4a13df7cbd9066769a10e1f6ab6d17b2dd4f0d9188c9c21a33e70";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "vertbars" = {
   stripPrefix = 0;
-  sha512.run = "95bad5de003bf42af1e8f5ce7cd71e1730a070e19a52e2546f17db4ec5cf486db28f137c141250a3af092255c96675b015aabbfaf38e0067cfe4489283bc6227";
-  sha512.doc = "69d2dbe3711d23d5dd2c42b5342d24e707e05235d3e1e1b828494813159494c3e44a3b592f3f4cfda2067fc5044ffe2612fbbb285cce572187992c3c3c123263";
+  sha512.run = "3c3c905c6bcb013a36bc2eede14d84315f49075ab5f63376e9a440e4e7fb281ee5086b5bf1953782641284027dd8e7058e0accdafdc9295a19ebfc0088d8f7e1";
+  sha512.doc = "de6df3133c801e941cbb00c552cb2cdb1d556f099c402a0a66f460d5c7c1c6e28ec7d983563f20a609a5b5266420dcf8c204d1b6bc685031cc41fe2770a5ea13";
   hasRunfiles = true;
   version = "1.0c";
 };
 "vgrid" = {
   stripPrefix = 0;
-  sha512.run = "5a427518a114754c53500974f0c7a71df2f80b6ec8ead5a108d1c8267b460e0199124f50429c60e7bce2d883860abc04b47d51a0972cd0daa80c9dde084431ce";
-  sha512.doc = "bd72f8a4806d53f5d3477636631ab92fb4526adb35cc56bdb6fb5df0713885bb38adee1b5d0210d17630019b64e2ee727c1f09666d392940a7bf15e1545d0843";
-  sha512.source = "e0dda066c4ef7f75df635c36b01c1f7f45712390a9a91c78c25f22d072b978dd0c435fc9443e132f0b8c3a2905106a414c161f01de8cc06e437781c81f575199";
+  sha512.run = "ee46d8ae234af6f0b3bc8689cceab7d5ce8e7229b132c396a000cca15cde0ee422f91b2d4fc485c743e3a896bbab5ec90b24ea5d398bf63342751bf75143330a";
+  sha512.doc = "92e5498cea29d5fc1b373619e97c6692fef3f63002757a954649c0c4f9ef7b6594d61cce017bee709f0f1898777f962c25053b64da8079c8c9c9893f821a9aa6";
+  sha512.source = "5589904860a74979a070224b252be9b302e0f7128946624fb671e8618a2afc55c526631217348eaf84d7c0f827dfef7aac7a13a953e1ff82a61211eb2e070e36";
   hasRunfiles = true;
   version = "0.1";
 };
 "vhistory" = {
   stripPrefix = 0;
-  sha512.run = "690ef235478d4b0ceef6f8eee7655742e215d863775bdc6971c4f72314d7866f2a060e10bd33b2e53ae0ee079654aec82ca091d13eea0bea1e1457fd65762492";
-  sha512.doc = "54b5da2db5bc04fd1c31ddb62688ec140594462d3240c63462c2a9425f6526ed70a38b886ecfef4e2023859fbf28ea33db2ab521b090d3aead44e325d8f1967d";
+  sha512.run = "f1747b1c112c69cdc506234c571335647b365eb92a4054c70cb08752dc1da92ac4e84d533083cdee76f6398f5f1bf04b20b94cf38ddf13947d4086c5599529fc";
+  sha512.doc = "60a8100cc10df177b04eba8751208c515eee9601806324184f737491707e1e4d453a92b0d12a16d6cc1af319a55c79afc8922d1378f8714990c97b5779540763";
   hasRunfiles = true;
   version = "1.6.1";
 };
 "visualfaq" = {
   stripPrefix = 0;
-  sha512.run = "d5f4a79fa63a64f151227364d1e8a9af8c276d9b308c0bd7d61af6f48efc5adbf63196c6f67560b7ed520cf83c541ba95543f765b1a5fd61af648c7a0878ba14";
-  sha512.doc = "83f1e6e679b695b5b853630cc826b5b2a18310445e6b15a7e4b39237a3cc57b8c01f34f6b975b97403231d5ac76aa3813eb7dcecc6392503dd48188ff45abf23";
+  sha512.run = "6b88343feaf39cd314e9453452da245054d3192f02ba0b2eb6e55a9bbca434e9b74cb16ad0902a6f5352d9ef945a4176e2e1998a7f0bd1cd75d2a3da7f4a203a";
+  sha512.doc = "eea0f022741d52ebb3613e977948c0428ddbe5b7d41faa659e888b48b7bb4e655a0e693d1dfd92d40a52a67e6df9ad386ac64d2ffee7c2732feb2077d4b24f77";
 };
 "visualpstricks" = {
   stripPrefix = 0;
-  sha512.run = "e201f8418dc127782c642aa1f7f6611ce3e5a639a0e575307313e635a75964fc5a2314918e20575a4de451497ade109b4d9c80c0d097496bb9bad4fadd48432b";
-  sha512.doc = "fb2fe87967ce1de498a30c0e7bfcc6d3e5feb812ad57b8c77b83491974000fec287b07b0e797ca8189d30804df04dea958800c44b5fda3dcd7d9fd85bf493a15";
+  sha512.run = "fa501a3ed6506fe52d3d31515f453db5378c7d01415ed05c0870ea15051d34dc5a564ab8ef2ef4608f616b657ecf29f5b18a8920bdf1606f78928fc505cfb0d1";
+  sha512.doc = "3d2dfea937b2b99e148fb0220067b9a777126854d82cd1e591f84a1d13e1090755660509814e4690dad20d2568286ce05653d3b5c7c6653df61d27229c9cd5e2";
   version = "2.3";
 };
 "visualtikz" = {
   stripPrefix = 0;
-  sha512.run = "857d09b891d0cc36e56e39a6e935662592e04afec64e282ff62052a3da6ca1341bdb1af004ed9fe3da235db825b22afe4aa5ddc280f5bf52c28565586c208199";
-  sha512.doc = "2f0138f92a0fc96df1b044829f88b242aab6f63f5b58b49d716c5caff6f7b5bb2332ba5c569af86839620cc198cf11a14748e12f7ab66378b5d5f898430f475a";
+  sha512.run = "fc5cb3e2d30bca419304b5f76bb75f9da0e22b6624c7ca658492e2758adf0dfcc24552648c983b0afd390bf7814ca30fd7d2a8b3037b6ea3fd95b2f608b36b19";
+  sha512.doc = "556f4b852058c46a7d2a34db4898bd82429835ed4c5fc1eaf1c8bac9deba407c8a11fdd3eab3753b0f53fd0ba43a316c3b292cebe40c086862c6d94f8be0cc85";
   version = "0.65";
 };
 "vlna" = {
-  sha512.run = "5597afdddf004e2c9b0d7cc4afddcf4aa71f72c3b7766b685109af91fc1bbf06a5267a8b1f150946466ecbf587f030be245902f3554c858ba4fc78d7abe0d768";
-  sha512.doc = "b3671d9bf704ff7722d9824bd0760db8f99a2ba12387f1fbad3062681d3753aa51ed505f55732876f353dba629d1759fc25284fa7324c2a386cdab8eb8b6492b";
+  sha512.run = "320aa1e734120d4434ff05b2560c8d131daeb3a04d8f2ecd4e47e89cbe05e72ad459698cee63c05fe1c7278335774a8e2e4ab6dcf07ce1ac7cc15dc119c6cba0";
+  sha512.doc = "e9b2676f12fba6415749cf72aa0d8c34c328941f722e2a11d2372220dc615acc0b5ffaaff57abb24a8dd0747894990bce912bf8f423519aaf8390b6f03061835";
 };
 "vmargin" = {
   stripPrefix = 0;
-  sha512.run = "502f074a833b3b8aab18318ed3b8c806b1c0d943000e8126063ec7046d7e01cbbe675232eb1be7a1915e9d8639690fa4c0591b21e3382b8f2f9d664952999830";
-  sha512.doc = "cbc916d8c21daa87f0f3e10ad84db552e0650edb072cc8beffd545372c48562c52d8c529180482c85dfd33b131794fc8a0797936225ddcacf319d539302d95a2";
-  sha512.source = "6b23a64f009054ced47c7d7b3ba60fb34bd2cbdb13e4fd80c1593ec4638f1ee0ce2f42e7918ed9a6475f93f1c30572dfed0b9d3dff7ce17c356d828e4724b867";
+  sha512.run = "dc0cdd4696a44bb6bd189dcf73c69f1b2c8790b9936b1c6f35013d9342a97d36a4bfd8eab82f3e2e97f1cc952459cd9a1909915348b25f01df446c5ffc452e71";
+  sha512.doc = "ca8ebc274efacbe192b73c9551294bfae60b0cf7ebaac8425cf1b88e10ecda7f3230c336883afc438349f1ea47d66d369b52bb415c482803fb742b16cb483348";
+  sha512.source = "0ad7482be9aef59f55b1a489327c03e9d9560f10c984a0f244aa836ef12086dca2d834c033a36bc95233d6de9b801ac483d2dbf472f33e9478c5182d06a86cb6";
   hasRunfiles = true;
   version = "2.5";
 };
 "vntex" = {
   stripPrefix = 0;
-  sha512.run = "91461215b7a75913ac1c0d421dfade77baab1012fe2110facf1feaeba0262977f864af423d17dd2f7e5c711121456ee387be97aa13c5d45f65248f8db95236da";
-  sha512.doc = "7805f8c11add784272c435acdef550ea53e448914e305acdf8f4c3b4bc3379d842e9f1d23d2ff01d938820f1dd137935de866f83c296d671ebe4cc278e90529f";
-  sha512.source = "74fa9818520a60467623dafb3de8b41ce77d15804462b1a1bc49f391cae87a22a743515e3a5fe2328b3677de053626a74484f13cf8d5466c05d221c761708f66";
+  sha512.run = "f39c04998d0685125d494c1a314f4cddb9e2924af4eb4bd8488be237125d818199640041a9c23d6b8839b9da1861e0b621f71488b316b65903c5f3a0366adec0";
+  sha512.doc = "506c719a29a64611cc7ba228f1e13da9abface3168aa0122ec64dffa423a7c38b6f3a4fed43b787eb60b82bb8fec71a96e4432a9b0c05702a804a31997ccd49c";
+  sha512.source = "93f6fb8e9d49e8a7219a584aacc5f957da0ec2f7e29cf0c5dc37dd5b063cedf4eb2c56662b28c588083b1c158504da5da9cff4250498fa6ab8bdbec9e3eac875";
   hasRunfiles = true;
   version = "3.2";
 };
 "vocaltract" = {
   stripPrefix = 0;
-  sha512.run = "dba51704cd5536910d6f405a7b5e5bb9307bf56408443dd16528f10488979fe589dd947fe2b5a81a635cbf4b7472fab319f77d6b3f7b9488dc5a609e5d869a09";
-  sha512.doc = "99abc17150cf7255b8df0df6217652b71f46fd58ef8ac0e3750ca265e76a0651bc1769ba9c417758579dc2705e6fad3354a59d667fa9c3903b397b9aeea20aea";
+  sha512.run = "7daa3923a6b9d84a1fae2c9bd63404c2fb4dfe3866f897895deb9ab85f33649427b38ce5e34552bbbbd8704da1fac55822a747747a0c522728e605638831df8c";
+  sha512.doc = "36aa01a5be9da9a23e3a4de63fb14a39beda4a42cd2615f75f942abff677e71f2a4f640773d27556ef246a99004c3a1aa68caac9435957152cfda96707d79787";
   hasRunfiles = true;
   version = "1";
 };
 "volumes" = {
   stripPrefix = 0;
-  sha512.run = "aba3f48dba00f9d59100cf31136618e73b2f47e04024a911de23de6b88dbdd4fc26aa424e38116961a2928c30896faa6d1a4c34fac5b61212545fe7498f6c333";
-  sha512.doc = "e404bc057717244ecbc425b627b2a619d475be3d68d265d0334bc924882367a24cbb1fea286e9c0120a7f126e1a144f1bec96a3ac2942cb56ae6355f9467affd";
-  sha512.source = "a1c5a90cc9918765a29caed7a65af1edaf8202de1a4d53af6a909d16bee655c703305a780e359bccef5dca308f3e11b045fca08b514d9a60cc64351b574f3c73";
+  sha512.run = "e54add2c60c5446329fe6f944c99132e0f99e89dd8fc9ff459e0ee106a5241e4df4d864b43269fc14a08ddda92f4e41607eaa20ba50d4a566be7468d0dd66b2c";
+  sha512.doc = "4471a360d04cc1ed9c90ecb53bfc422fdae30571a25fc4811813f30ed5308f4d20309a1fdba808d1eb20e84b97318708f57d08722344afd755aa06588acbd024";
+  sha512.source = "0f47cc01b4631430cc4b73c7348bcb9d500d0c5c9960a15e9fb29e1c805ff0be4f0108c6bf795156ab7f939fb355f800da916f913a4a441e65bdcefdb05c0499";
   hasRunfiles = true;
   version = "1.0";
 };
 "voss-mathcol" = {
   stripPrefix = 0;
-  sha512.run = "6bd093cf627af99ba67ccf2e814f331c82fb9febe5a2e21c413b07e4f9bc34bfb8d574e196b9df5ec7b54fa25003f995c7bf638396c198852bb4ac9f571b8c22";
-  sha512.doc = "a8fc6741f39b5610630826ae5e84110e1138ba3aea6ee8c7c2b666d913d229cbb88740f8a6cb6760b422acb6afa234bfc695be804aaa03c88b1033b9574a5500";
+  sha512.run = "cec0ea20b409192c618278001045352ca6c4c11c8eda59633a9bb65ebb7a89c8c1db4046936a7f0096f52efca8a251501fccf7890288ed830f13e0b24b1bb017";
+  sha512.doc = "5d91b23d9eb45998282731620097f214b274ee744972b3d7fbeda1be2268799572f36b5f4c8b707f48e8ec2d825438bcdcee7f1376531f366af8949a862ff379";
   version = "0.1";
 };
 "vpe" = {
-  sha512.run = "dc1f5ae9a5d7df20bde4ebceb0fba865137da5ed2bfdcb6da59c9da56f3b71e93097b22c4b87641202dc15a873f081d7b2e8183606af1a2ae1419c26e9c7029a";
-  sha512.doc = "d8ccaa23c9cb3705c25976b53425788346e85c382d3dec6b0a7cc00a589d8ec3a8c4fe7ddf6999f6b4c250191131f4bb4e7b064e7e51de113b3af6f5d46e2794";
+  sha512.run = "5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5";
+  sha512.doc = "3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037";
   hasRunfiles = true;
   version = "0.2";
 };
 "vruler" = {
   stripPrefix = 0;
-  sha512.run = "aaea39da4b29dafeb5e906ca3fe220c17477862b61a0b58fa9067a55081305d4591a469cb0d414a4a842fdaa41eeadf050111b0859982d3cd9f1f9df95559735";
-  sha512.doc = "1dc79d73a3f3eee3b000547058b90be63cd14b184f242e4bc9548b98a750389b7379c6d000020b65732dedec2eb082df685f38497cced192c0779f9b538b5cd4";
+  sha512.run = "39582bec5217d65179b4293a18697cae20b35a0ec5416497691d16dbb919d78d4463ae15f2f05d308f45c65481f611a3f699cce9f5a3c311b84bde08fdd5f234";
+  sha512.doc = "dad09087e028977501fe143ae050c57938500b8aa98bddc1afefb298444d17c37cdc5b9db2e9d01df5e9f6a47679e0659b21a2844d268f8b324a24bbf22d9492";
   hasRunfiles = true;
   version = "2.3";
 };
+"vtable" = {
+  stripPrefix = 0;
+  sha512.run = "ed8dee287daa32719b6650f43b963fa66cc55572526162978fc5245d3c253f027548ef5f1cbb38423c30e6cbe93b3418c373615ab92532be40d947c979f14b47";
+  sha512.doc = "12626485ed74fdaee2aff65e97f59d14fad8f856bc2a84dda96010985b039d48850a07ef08525d74b155a699d44b1e173923e0f67716f47e392fa7558760076a";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "vwcol" = {
   stripPrefix = 0;
-  sha512.run = "24e4bb08f550976d926ec61b978dafa4074df60ebd93b28962cdf7173c7c3c352e1616655610d205b4f90cb33475a0efb801e5135c6ea4f4e9b573ee42eae229";
-  sha512.doc = "e40bb3ec002898ea27c8dbbd433ddd734d69a1ad367668682477fd4df3764d278699f17a0fba209ea455095196d3a89035f15a26567c77aab73209b8f666b8cb";
-  sha512.source = "36a5eda8e631acc2b601768f9bf0872696af9131ce5de9240bb5554ea30ee9a49115ada4c323e47c8c5090013c5a47a2c8aa2f018de5a3720e31abb1c04e928d";
+  sha512.run = "3963b738e1214f7a495daff6476102e6b25e86034c552b5f4e4314af55e4af073ed94a72e969dfd1fba16baa0264577234917f7dfd074dc85f9c56c5f2409903";
+  sha512.doc = "a4d55b62caf4968d3e8329fd06f8857f646c5a867fbab23ea9bd7fb57c5b88b5f3a918642bc608eb1ccd936dc2e36edc50a5662667b8bb35cc59ba1739b2e7bd";
+  sha512.source = "8a605a7250f939789fd863abf6fa2b5da37b8f723460ef2e56ed93dc826363ec1bad03f5bd2af266ede11ccda04546e6174c0dd79282ba41ad6c3d9923ccd51c";
   hasRunfiles = true;
   version = "0.2";
 };
 "wadalab" = {
   stripPrefix = 0;
-  sha512.run = "4c4c83919e8904384a64cf06b37cd0da7207972d5f04e7d01a24aa913cfc3179464444c7a4cfeae9afe2f39c2ad2719890a9d3bbad7477ea83d6323d3cbcf089";
-  sha512.doc = "309dcec0da56034e69c5ce2d46211e1eadc78ecec5f8c14272346e6772bef0e5ec1b1e9bd6b4ee16c94c9b7d4e2ec9d9c836597c98d5572f722c9d0ff0b3aead";
+  sha512.run = "2d603ccfa92e8ef9abe91f5afaf490c7c8476061679f7a54c22879bb90b4d874f9e0e533e25aafb94fee2ff512f689ec96d25ed7ed42d0ae90c5e05985daadeb";
+  sha512.doc = "f9c35379b396dfb563c66a05d200c405f03de96e22ec94de3a9f0c99ada057db21d31b43d59391bc0175479b5f150435f8e704fa40f6b58f2c116bbda3ec4603";
   hasRunfiles = true;
 };
 "wallcalendar" = {
   stripPrefix = 0;
-  sha512.run = "eda4a231bfe61e75fff31c733a1512e6ed932b11e43d341ae826cdaa913b10093e0550141de3bd629cc8924e1b71546a112b71e15027f8580964c1b28a41de3f";
-  sha512.doc = "ddd9defa6b22324b448c19e512b5f21fad30db7ebc8da14bdb4423844c5cc0c3f4e5e346ae8fd70092e9cbe62ee6aecb19740f9eebbc9def84348677185b7b58";
+  sha512.run = "43a682e78a3a80784180dfd84627e5584af9199bef965bb5551b203df7f939512d4307c450ed1ee55caab611154c1511fc339831da2907527c06ab738350e05a";
+  sha512.doc = "e4816b91f08a26e99b03892b3d70f4d81110e476461dec505225335d46955f9f3790d883faf19afa4d7a31ff05afac4fea870e37299f45827c5a8155d4bbaf4c";
   hasRunfiles = true;
   version = "1.3.1";
 };
 "wallpaper" = {
   stripPrefix = 0;
-  sha512.run = "2f06153c57b31a72236dcef69cff1e10d85f2dcbfbfac3b6a5ed8b0c8e003294fc04120ac30b8c827d94816017e1fa042206a1932746ee33b1a30b24ebe2c28d";
-  sha512.doc = "c27022dff148948218133b27eea53e6620a05d2459b28b561b4047a6d125a159e38f524565c9c0d70b42af9cb0536d685855265f7f83e7c0620fd0b4b2ee5064";
+  sha512.run = "45647b8f8ebab9706437be2ce63f3506638fcc794839ff366210db4c35a3e16b2a39127fcacd0d97df356180770b6808e80e63ea1a50e69fc591cc0992e1787b";
+  sha512.doc = "46b890e0ea7bbfb3c3421f79338f5140a105bb90cbe712477e2dc956f834682f6d137e39492437d8f206fefaf07086cab7f3cdd6c27dc7136df54c5ba850b4a3";
   hasRunfiles = true;
   version = "1.10";
 };
 "warning" = {
   stripPrefix = 0;
-  sha512.run = "c22639947fa19f6a40e184a8656f9982627306bc7352728934a187b817e58b154e3516e035cb36b3940caf50269869d771d00efddae225c5130a0af1375670ea";
-  sha512.doc = "9ecb806c26eb861bfd93f0c8a411534469b747c4a0b44ddaad17313bd2995eef24b627deb32b39a882e89757dc62ca348898c1796fac1b4f92ba819ef3bda000";
+  sha512.run = "de3d9ef9a6dda4022fa8f04a0be509d3e9e583a539a3590cd30527f108ff739e0c1dbf8c5945e0a72902b14c2616e26d41a05f23957e9466c788fd228ac6b082";
+  sha512.doc = "04c8ecdd39f2e0b3aec8cf6d9235acc7e10c8e182bbb2a7b30a46cf9ce7c08fb0fea21956356b3dad500a5a58c7a2b63e9471b2e8fe626b17492f721f527ce72";
   hasRunfiles = true;
   version = "0.01";
 };
 "warpcol" = {
   stripPrefix = 0;
-  sha512.run = "a20c55e054a221a528c716ab9646835b84963474509b366b85577fe97f93920f462c0b6b9b795cd7f979ca8493cef5b306346d2076c29d3c9cb41f646c1ca96e";
-  sha512.doc = "4ae9e56b62742baf75502133e3b90a24599015d21a3d880ee33c42a831aa33d93ac0526a2cbb92d06a8102e3c9861bcb094bc0cd7e77e1d2dc15eee25d4d6dbe";
-  sha512.source = "69890754e3f2a4d38200c534e8dc04418eb9c4ed25af4199c931433a51b6439e57bff7b1759c5794ca0fb494f3eef1af4cc83b9d957c582b67261a3a91fc9606";
+  sha512.run = "66fd9e243339e0841576e1a1a3de05f2e69a24a7e1dd31eb38d848d06c9183f691229d8e89878b661c7f6524bd9ebd1380fcd4c9b175feb8490cd4476ac81303";
+  sha512.doc = "e88082379e90edf1517579009881204bcb70df888593d7535e2b1e5b673cf116a456967b0ca5ce372efef9dc0818b9d0dc252be79819f6b346ad8619d70551f3";
+  sha512.source = "843965fdddfffe6bec9567e140b9c6db66f60d1eb90ff5830b08b17499f21782ae1842989d479e50c293a8e1d7e2a9ab886622b8375384e1238871d6872e9e52";
   hasRunfiles = true;
   version = "1.0c";
 };
 "was" = {
   stripPrefix = 0;
-  sha512.run = "f24fba8cb51ad5a2562dfec2338c7c3e21a9d368138ac3bbeb8663850a1efd2808860cc57a6ab2fcf25cccbdf6b7b98facf09d67a633622a6c8e2f1cafc6ff95";
-  sha512.doc = "0786e5ac4f7f023ddc9e6d431dadb513f227382185c73c69446781c53f4d5db9fd3df58da6d1ba9cb56ce5d948e3c317450cc196bb5161ae10608cf4959551c6";
-  sha512.source = "af8e9d2ccac305b627a0d5d4c083a222efe233abf59af1a1f61e81fe09c4c2235b3ea181c64d222300eddd5d07139a3c91430b1187b237e5716d2836cfbcedc0";
+  sha512.run = "e3dec504da2dd28534872b4363695d797a874a0af5c2a77e6559a2765f6150cc50614b8905c90faa6fb9fd54d9634a9ddff148564904b1454f21d3fbd21918dd";
+  sha512.doc = "24cc3a8931fe48134810ffe626789139a821585f0d359a177c56ae5a442482fb9d36f344061128ac185469b97c4c3f440ad02ebc7135366253cd9bbcf99895bc";
+  sha512.source = "507ed77f8a5a119c16fcb9478a559f516a2e612893941f8854e4945968ef5b44ccab641f1737c745b33209828a4541e3615dd46f304b5e2f5b29c5282eeeccef";
   hasRunfiles = true;
 };
 "wasy" = {
   stripPrefix = 0;
-  sha512.run = "20086528deacd51fc9409cfbb1b331ed5d2a8f811acc078c01d50e5e218506f8390992f2e99a584a7ebbe3b3bc791440d16d7a88f26080a8b03f9b18fdcca673";
-  sha512.doc = "0d06b09042f0d39813cde309ba95cc4da9c838f0ada85e4d3e782c6453082f8958819f11a8c2fa9096acdec1a33fbda385ae2c4e261da1380699d2da07a303db";
+  sha512.run = "ba62a952ec1beb086cfdad1701780669e253d66163c6dc62d247182920d5fddacd062f3c7f0cec97ff8c3d0572fddef09f0fa30e82db9f6d58ddfedb37a6b0d3";
+  sha512.doc = "1b8f655b1c9a150e6f0d7fbc91dfb7c9158154709b226f04b4a456e1f3961bc65521b70844e736f68be9c66f2b852687f0d50352a6254343c5557177450d3e0c";
   hasRunfiles = true;
 };
 "wasy2-ps" = {
   stripPrefix = 0;
   deps."wasy" = tl."wasy";
-  sha512.run = "a550a9e398861ce2d7af32d891cec739915e07d60bd278ea436fb5594b41dc767f3f4460160d0510ee8e95fc5621fe7def019dc8bf3b078d1fad0da5430ce67c";
-  sha512.doc = "a8037485d4ea22271d0b493b9cb5a1ff8b57453f2dad20d8effd4842d9bc0f242c426180f7fed615cfa85ac89aabdd081f5ccd6b43ca9c01c5671434d2da3169";
+  sha512.run = "9ef8a52b1a92c162d567999ccaa2e77ca09f190dfb1a25c0073c5a66f97131b7b7ff4c562b473814f2359374e23b0191d1d1d5f45627e3896e75fa3aad19d3bc";
+  sha512.doc = "681f579b96bf6e5cf7f4e0fecf9e259aa60db57879820cc779f46f2065c0177ad0871bb8f0bf1f9409b0eb553611a54af9c9ce9b547ca9be1545022188bf74d5";
   hasRunfiles = true;
 };
 "wasysym" = {
   stripPrefix = 0;
-  sha512.run = "e2daf57770c64066669617e9d695314ab99b2aa150ae6c2a606aefcd0ab7e3101d4bd9b0c91d7dbd9b9300a4fc28f42d430cfcd0dd343fa4f1adf06aabe8db16";
-  sha512.doc = "cdd4453082336fc18a6cdd15759817e4210436bef7fc27ff6f1edfc6c149fb0c5bfb35d2708c547dc9633492cc21b600ebf5d0b807f37e236a7d58beb0b28684";
-  sha512.source = "fa69d3431491f87e81fc345216c631bd4d50acf17af90c2122f2adff19a7c8b8761b9423fdc23c62920b23842c3bb52ab9c8fdc5d0662e62718622f33cc051b1";
+  sha512.run = "9098cb0665f5ebd360a92f44aceb1b8c27c58b174c83a1b60ea837e605428ed2fda95a2b7836f69fbb06380fadc1a210a93ef519acb4bd4d393260472725240e";
+  sha512.doc = "7e7b46e8ff31a827c836d6bc6f8ac49474f23286470018276ebac18c386c4041f817fd9893a1a1f97d1fe1be3100c5f904987ece98b34c5816e347e4f9a1f300";
+  sha512.source = "4049e94ec5ae362178dbefae2f6a1e4718b5cee3fecf3d80b148682f64d2a830c47ca4a3b42c0f423f6f221d8f88fd9a8a2ff009e499a442207c0fdb7434a352";
   hasRunfiles = true;
   version = "2.0";
 };
 "web" = {
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "1aef5727386f9fe6da990ebd9d2abb3f15d5230c671d4346ac5b3b38782c4f00746a02b40e78c97fe0928556a8af1e737ccddbb9d17b811ca9acc5ad2309c0a6";
-  sha512.doc = "7c9beb38e6b200e729d245a24ec3806182d435565390fe616bb81628ca5d0a9b5abef3a6509e6634fb50a4d3f7d1153497382637ed005ff015406dbcacdab8cc";
+  sha512.run = "0d2d771e8452d67278adec061e1df8cfc06f3af729ea5ae7849acd5fe1b628167b18d86b1037484dbb6b20d5f703bba7ba9fb255788becc53ce22fd87f39ca7b";
+  sha512.doc = "5647beef7b99a3a552b8f55d12ef669481e8ba3e01beefb014fb8e3cae6e8f419862131379b506ab8197e1717d563c34fa81d69db3c6db8107e6167447d87322";
   version = "4.5";
 };
 "webguide" = {
   stripPrefix = 0;
-  sha512.run = "01f868905c228df2dfc883f4432b51edad6bd47df5cc244fc97c6476c04eb3863b11f062c6690f41df89c5fa9465070c999be245b94c4f33f5296032f3018ac6";
-  sha512.doc = "701297d37a915e3a780a98d81a3c74362399a9030c3c22956796547cea6858ea8ee5b91cff0bc82c3d5ab3d42016cca997dbf26d7fd45ab8ef194011583c64a9";
+  sha512.run = "0c99e86fcba92d067ddd658893b58463390764b215515068e025563b66f445b23ae11482345bf305106afc1284ffaf32b23a28c8e0f81319002dd6332c8a3848";
+  sha512.doc = "933ceaf7bb2400fff1bfc5ec26f60d750e0995680579fe487536ddcf8eca670e2b6d3fb6150b4ad659c6fa594b9db540523a878c74e9aba9be7710b5380e55af";
+};
+"webquiz" = {
+  sha512.run = "725ff4b81203704a5cbf066c48d25a959031f89eed094da4d6a9b07ad059d977b2026b5e6a1e704999cf3b1b8eeaefcb5713f099f016f9cf17206ec1c1183dac";
+  sha512.doc = "6b25d04e4cff7db299c4f13ceb55525fa3a4ff2d094960fbe8171b3822ce2917d6d868e62ed3a1d2083d78b2ddb839ec211b5ba00a6fd894c29ab2d3a6ca7cb8";
+  hasRunfiles = true;
+  version = "5.2";
 };
 "widetable" = {
   stripPrefix = 0;
-  sha512.run = "76cc3228be0a4236e64a57474f206b49ef35a61c1395f24d0b930c7dd368ba8cd418bd49a2baeb5456432e3e73ff9a98e2c2caa33d757124478408ed66f0ee18";
-  sha512.doc = "62f732cf3a143d0fe8766ccb63ae5c4399004c8a6143598e95cb5bcfd08a5757bb28d7c9586c9905d92b2cba16c180b8aeef954c6b05c853b53cc356a0c303b1";
-  sha512.source = "1094e5ff11ca96077a339e9f0dc5f24abd40771803841fae2f0300573ad0402c52435bcb8c114553ff1eacf045999998b117b05cb0d231114fcd7ec08eda5e33";
+  sha512.run = "61aed9af524ce3e19f01676ee0a483737bb4ccdbad8e6465bfa8dc671c24bf07fb7bf88911b344a572bb91e4803ff932297d69e29768f4059cab63522ab0c3be";
+  sha512.doc = "9e24ce0131bbdec42bd92d54784e10f680fb352fdae3516e4419b8b4b1d0e1524d2309765c2c40c0d88829c5847de5a85bd98fc42def5f710f23ba471f2f83ea";
+  sha512.source = "c3de6c0bed48aead332639564f83b98adc4e9f23da15442655d4e09766f3587967c5a7292edca3cf0f4d29cef3cc8daf939f5ec53427ecc171c9b33520a3aeac";
   hasRunfiles = true;
-  version = "1.5";
+  version = "2.0";
 };
 "widows-and-orphans" = {
   stripPrefix = 0;
-  sha512.run = "c744144ce3aedae6760f8a4fd7c74effa78dd75978f9ac59a55565fd8645bf4a3ead037c02179a5b506bc7999c8253d1357239ddf891c7c539d80eb753b0016b";
-  sha512.doc = "4edf317ffc75fc7ca28ba413ebb7c8a7a10131960b032a6f88726a13b5fbeea687992cd556cf9b4114738d60bdbffda842dcfbeab3a4e07e51dcff01f9df6e27";
-  sha512.source = "ef611a12e348505bde99a839e73853d7493dbfd5622ba0825581be5effb83bea686df2939f36b2f28073796fee65fc1e9c2004b24aaaac577c86d3f2405c1099";
+  sha512.run = "45c17dcbf2db08ca84b870c375bbd4e6caf9bbdcb7285c67082a72fb32822164d75520cdfd325b7f285a2936e8c0caf54480695d807fa6005d265d05fb4a51ad";
+  sha512.doc = "d798cfcede09337b299442babd4f77d1035a9e2d356db24bd9537c903b58e82cf191b273297658704847332e0198d8f64bf89aaced529df344a7483307b0bd55";
+  sha512.source = "0583468d3e4712eb666364ce2d3ef487c5c39797ec13408193c3976cd003098931427e30d0458d11186a7e3d11b377b59f8de97983d7c358ab8f27397b409426";
   hasRunfiles = true;
   version = "1.0b";
 };
 "williams" = {
   stripPrefix = 0;
-  sha512.run = "276150360782a32f03e6ff0932223be61773269a49e2ab922932e2eea0a0ef7aae1f398484efd09bacb0faad68af98b583cb40da23a4dd8a83e6a26ffa07e091";
-  sha512.doc = "70839ef82e14ef6feca7c34f9947e8eebefd8aa3659887cf0b4f1f83cb63b0f9577a0ff064e4cf54a7340e70ef1ade4f755f65338b00c3bd6f0316183a80587a";
+  sha512.run = "44ef966e5d8535aa7bb32109b20f47c774995e6368a92e20a68d25c1694ad86b7007bc90877d276c2f15b8aa3c3d11f7fe6aa117c35265b5988205df869af11b";
+  sha512.doc = "c559e587868698c1a635db13b6db265234b3b475937fa1759f9e7e3a8d0644a43543005e9607b5a965bbdc304863d6c7cae6e5cb8345b546dc34afd8c7e2de43";
   hasRunfiles = true;
 };
 "windycity" = {
   stripPrefix = 0;
-  sha512.run = "4d616726ead33f20967f403735218c09854843ad2dea2a079c96e16d37dbd4c01189cec9fc667c50a44676bc77ab7a012f298788e027cf5b2414143fa84f2016";
-  sha512.doc = "543b3a8524d7a69df818344d4f2a370f20c4d1f24d88b2fb42025e6ac3d0265110f235678e4be2bdab7c97f215f876a619158bbdfd4aab4503c96f9ee3d077b7";
+  sha512.run = "f52a60a78ec5855c1d0e34c2a01772de28e0d2c3dc553e12cb99baaa4ad97a7d6f6ef59fcfb429bfea00339e390d600d8b7e640b92aae8af19204d2567aa8b4a";
+  sha512.doc = "8b0decbdcbfc0d0f0204e35a629904a48f44a5daf6b1b54f8e11dc601a103e97078bf7bf15eec028c14cc3c426782d7fda1a1bdd5d7725364959dd9d3d5dba2b";
   hasRunfiles = true;
 };
 "withargs" = {
   stripPrefix = 0;
-  sha512.run = "62f77511c3bdf60f29f5ef3f0002cb80b9153cce5fe2ede9f97e41848ad21fb1c554c6c7ae1271221b925bed3346cc8fd3e40631a5f336914fd7feee89b84bc6";
-  sha512.doc = "95f6ffadb75e3d3a0d497064f24010aae69041ddc23e12fbef82a0108aa9a37a9363fd89ce927b47fdf494f373239dd87336739026cf6a81a912d0704131b9aa";
+  sha512.run = "6d30bb4adc63ebb1441c9547439757feb93a276fa53b7c203d688954e526602d5fd0916b37ee94cba8fb96db8935c02705ec12fdf2b22b48ce01dbd21f208d43";
+  sha512.doc = "d046bdb103f4fab24f41a730cbe585d9d8bcdf2c47f60bd545619c83a8c200ac82b4a7422423cbec8b0473a86a3f92fa6e91a7a769a580e127857cc647d864b6";
   hasRunfiles = true;
   version = "0.2.0";
 };
 "witharrows" = {
   stripPrefix = 0;
-  sha512.run = "cded44da6d0f924f8301c319471665bd4357a1da2d5ecba1b219167a519feea195a81f27b22029db160888f0df9b34f8c66a12ce4dc80303b62c0068892db4fb";
-  sha512.doc = "561d27da242a89cd8d1261d0a5b4304c741acda2e1a6f01f3691b159f7a9649eb169d0404fdb6be98d43fb309cd9dada573d8cb16c82904e1dd33dd3ee694822";
-  sha512.source = "dfc84052623445830aa1524bf25bf61c6e0960b86dab1f66736b10e60467b1cd9c7097775f7fba06c01936966a4716b7e305f194a1646ec1e8a8d648892316e4";
+  sha512.run = "46c4b5f26c3d8ac3e44380b4d70e6364cda313f63c4ff51078abbc09086fc04f0eca21bc2240dcb0f0de88a3f7156c31864673b11954039a758d3daf02cadec9";
+  sha512.doc = "b8692bc22aa753a964380bcbaa61f10daf85cbc7215ee878c2616116711ec8c28d7bb361d12fbb40dc2d177242875135b914f298b966221de1a75dd6ce2068c5";
+  sha512.source = "dfb46c1bac752aa91bea49d8029aa5abc0f5f9c6815f7eaf0e1b70cd992d7dc3c8d182c258e5a8fc6da470326ad760ce0331b83e70f6c066f8ad76b0642834e4";
   hasRunfiles = true;
-  version = "1.15";
+  version = "2.0";
 };
 "wnri" = {
   stripPrefix = 0;
-  sha512.run = "783f1a2cd770049866d73316f6119159a4bdeb9e2074288a7bf25c2dd070d46ac18cf1bd549a20fe575cbe40eca1c1f9caf0b0da6ca76afcb866c942fe980ee1";
-  sha512.doc = "8ea47a7ee52485f605472b229e75cac805e73da735fb5f59fb2b2fc1d45088d3ad38ca616f5ccc29926cd3baf7ba2e11ade0a852bd9510234dcba746e51e51b4";
+  sha512.run = "6ad06e6a867b323c382b85fa1effe16280566b1b61dd37be0bd7e9384d145fff2b1b4ff8117aa49749db1f15495e835e3367b0b7191cf9444e36fed662ffd0ed";
+  sha512.doc = "c3d6ff664edd89fa711e9573b138b29b113b588ddef9ad4a258e1f28c4ca2aad1f05741a402c1c1972bbc317e0cb989ce7a51e52d59b42629343d9a5780b64d0";
   hasRunfiles = true;
 };
 "wnri-latex" = {
   stripPrefix = 0;
-  sha512.run = "8acfd65b6938f5e3441c6f013c91d75c03247c6d995dacbaf39ab48b8386e5d8a63b5ddc3876fbb394c1da31804344923321565d8d40a69d4a4616f3522c0899";
-  sha512.doc = "7d367f5f7f7387999f5f447cf617722e3a8fef2939b4d5d9abcef2e92878728188ec65327d7fbe5723b96b9649f95ed552d462927a751ae57bce791c5521b9f4";
-  sha512.source = "d694ace4457c5c25f5332f87c7c969ac7d717b06c365e250c199eeb398861e592da241612f89f4ca026856d7fb8bdb2b20f05855a58fcd59fcf19983091a90cd";
+  sha512.run = "1dcecf9ac38a9099625ed6be3955af8b063ee5b5b8d0d3e3ab8c94a8215b72b86a0b5dbe930eb69680917bd3d6652b3f4f08bb377197ab6f3d2fccf2b96aa59e";
+  sha512.doc = "924266d547910d25ed5355ec2ef697d271dd992aeb6767d5bcb703d4d07cd34b6844e9a821ed93f5a04237aba1c185fb68926967e78043f390785b619c2389d2";
+  sha512.source = "e3c5cfaae7b14a28489344392d66a1e2570c900ffd571c54b4f2d13b16d6dabb5cf58cad9259f8b662a218567982d1ac51ef8b2a757902c36540200fd984a497";
   hasRunfiles = true;
   version = "1.0b";
 };
 "wordcount" = {
-  sha512.run = "898fd8c647eb5fe5fdf189708f84fba6d5b709315c8f41c6a259a6551a560511e3d9322f6b06e3cb8f7a737b14be7bb95faa9601dd54476a97d415c74d605cf6";
-  sha512.doc = "1a79bc6af253b5ab2646498b475a0e33c34396c95f7674cc448db9d81a8156f5f0971ed5a179b926eba043108a9cd18fef8bc6f69e47afe48f923b37faa099d7";
+  sha512.run = "3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a";
+  sha512.doc = "a86b034ebff42c89f07015b01f86756a83ff2c69ed911ecde185ff719b09e3db47f284fe778c9dfd16442d1513edc9ddbb4944cc242328c17bd3fc18a0aa098f";
   hasRunfiles = true;
   version = "1.7";
 };
 "wordlike" = {
   stripPrefix = 0;
-  sha512.run = "4547ae4289891121d1c4c16e00af403c4823da16adca9e1095d198ce0a0b9678338475044470a7bba74c98b4c6072434c2242d10b7c3d8fa6f7a7750b33e944d";
-  sha512.doc = "3ec5bb5ecaffe02ad931aa3a3d932629f7c36383624e10185e7e3c53887a0ab05b8e623054386b42e71927dde8168fe11236cb4c5b6361cd1d4049fdd1f52090";
-  sha512.source = "39a07851739d4c9183860c2c74110eec3caee1a908a26970dfce935f29397ff116f734b1a2dde4eb26170af3a0734e34a8ec6c64ea9b0be38742991408cdb673";
+  sha512.run = "d600073b2373119973ca47564938db5824181d6b74409ef7f4a2b19d53b83b97ccf8edf5d77dd831c0d52a4379f5928ad7a0391d90a2f19fe4d3ef681133078b";
+  sha512.doc = "10bbfa76beb0718dff8d4175712567e34e77aaefbce9fbc350d5bca43d8d5e87fe1cdcce5c558946c2b04beede8628b7535abc451f7d904ac283929ae39c6460";
+  sha512.source = "23e7f66f064e7e8bbf94d58118c0c8891a316fc2e2fdf37156b078242fb33343a38d19f03dd605035ce874de1d05d9e405c612e32c407e061f54386cfef791ac";
   hasRunfiles = true;
   version = "1.2b";
 };
 "worksheet" = {
   stripPrefix = 0;
-  sha512.run = "e5a663f5469a03a528077df7cc02887c1411dce9ae6c3f8373f0e7e2627857d59bd79216d77d0e258d04a0fcfa158bb5ce9ee41786a4a3a0d1cfb9c61f57013c";
-  sha512.doc = "1225a2331432b64b9d25c265ce06ea8b2e7ccf8dc70e2f9880dd3d9eb0bdcffa77888deeaf6d807ddbbed71cff366a26da7f5e5b017f22c900d937f53602333f";
+  sha512.run = "439c430189e74e8c476a068fe449034fa1c8f4e8770ee454b92b8645ee865b103a02b0eecb45a925a8021fa7c64d98240e5f1f980913515df49d8415bbeb2c2d";
+  sha512.doc = "56d502e993eb77f7dd4b2a659a8646823cf033a3e246e90b0c6e4e9d2a7cb31922dee26c942404b13d18e7abaa79714b4394b589376d67e8fc1556a098ec7960";
   hasRunfiles = true;
   version = "1.1";
 };
 "wrapfig" = {
   stripPrefix = 0;
-  sha512.run = "bc470ae1e609612d7138a9317a27cd181f0f61850b730687c17f9379bf6081da8b775f9940766f7c4bf5d188de5e4c69ca4cc908fa8846498635c00fbc3aa427";
-  sha512.doc = "c839b746a0ba3f7efca07b7cb49cc643a8f55c9150b02dfcc0f3ed6c8138f4dcf7ca5fcd98c600501647434afed7f2a3f9976c984e58c993fe8c335d2be62142";
+  sha512.run = "ea9d0693a43f985b9ab13a51e0af82b866adc8500dfb9f42e8b20ce8facd07d0534749bda61d13bc86b921300336c9f7e6099f252c4c65370a2e2cb4423589ae";
+  sha512.doc = "9ba4292d2641a31f3719ca66e3d80ca70638f9c943bfad9e9e08543f57a53eccc1292930e95d6a3677d0696e0deb1d1ca698b83eb7285baae275b70ac808be33";
   hasRunfiles = true;
   version = "3.6";
 };
 "wsemclassic" = {
   stripPrefix = 0;
-  sha512.run = "3a9aa02c2c18415ee5f5b90aa59f1c283f2c41d6041d6ee6403fce57e3bae76de9e8fd6c3862981d9f591c6fce50a7350c6ba5b30218e7054f7fdaf44095f80e";
-  sha512.doc = "422dd9b1b543592b65d0a883c7ed900b0cde12a117189ae9bcf3ac537e43a8c28b6afdaae28a7d8a1ef5bf8c34a6f2c5d0e449f1d6656b785ecf804345c16efb";
-  sha512.source = "e9f139aeb2b898a93f6fbc28e6b90b7038f764ebf56698d6482fb755513a0d523a1ccef3cb7313a9ada0e5fe222675cd9b580800f7b8ad40cdf2410baeff1abf";
+  sha512.run = "064c1ec12a33dbb6c5a2c08c98c21d5684d8be6edb807987e69a47002d52bda4634a8e0d8016d01aaec6b0bcb9851de61d2a1723f70ea7da2dd4000d2340033d";
+  sha512.doc = "d86741a35d1873a17839e880b2e1c0915cf7b64bd52e5836f9967159479611482c2b2c67388066b9f171574109a5fa0a5b9555ccf4e629d4b26434a31cd754da";
+  sha512.source = "cbf8ef51ab7782a2b52d238ee2f517a541ef1a0196ff72f08cd722c3335a80a2520fbd359cf865302229cf146b16931d4b163571e908360adc8139c2ade5f2b3";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "wsuipa" = {
   stripPrefix = 0;
-  sha512.run = "8c3559bf1fad59d42669f2b82d987f7035036978d94ceba2e931d51f4abd8f9835c85a8be36184c5a77ee1aa32fd0068a7c36e1ce9a88a9b8d52015e47e31745";
-  sha512.doc = "11cedab5f6a3953686f9237c2b8026650c5ff39341e59a1634e56fe10ac8b84cf6c16066c4cd859f01669385e38320ec158214579522d089a75544027121cf2d";
+  sha512.run = "7488fab88bb273463ffa45819fb486aa3c95d7202d8ffe2a8aa8f2a1b00555e70bbc5a008a72cb60ddc1759dbca60bed05d2a21b4308e75490e965e71a84ee7f";
+  sha512.doc = "b24aa32e2e7b466d7afc827aed570deb70b41163cbe6ce975d8df77e9dcc92b453e5f0d5f0edd5a2f05c006939003849b7b44c2e3f8a86ffd61a51ff307466e5";
   hasRunfiles = true;
 };
 "wtref" = {
   stripPrefix = 0;
-  sha512.run = "7b3f7aaaf73b6efb18ea232ae766dcb7db9fe89f8fe070d13376836d018a9fefe4ec1587c87fdd9888783ff8ab5178333e8b21c8d812ed2192470d4ee18f1e8f";
-  sha512.doc = "6e9cf169f752a71c647042762e3a3bfb0bc693b2d740331700d52f2ffeef0a0b04a9f9f1e2d39bb2a6a69fe54702a51302ac84ef0b41286410037dbda01c8079";
+  sha512.run = "bae4e9c07d17e94a661a7a168fb5777d95f7b65644308197633069ec23d0b9e10e93cd0c1e892db9d85ae54f50fa787c60d04266eee512f45c5ecb3ec68f039a";
+  sha512.doc = "5d7f2338beb7cf22ba62c2fcabec2b37900fb208726a59c25fe6b12c8605d15210a8cac8da454c8ad09090ddbeb01987aef53086cdb26628b72f32752cca1d87";
   hasRunfiles = true;
   version = "0.3.2";
 };
 "xargs" = {
   stripPrefix = 0;
-  sha512.run = "cf18d00693709fa78ca5e64458eb177d6eee678229e9b6892228f98578f4a050d3c1cbf9115b6bd8de7088fd8a737cb0412943f63a6e4307481f57e9df293061";
-  sha512.doc = "e01dba16f0a7d575810a0e53ce371127f77f11a6db9705b735fafb2e372a51e03d1faa323c1f2bc6c0a73ab0749315197c18e9a66104ec702932e0a398637574";
-  sha512.source = "f04cc16636c9ba9a7ec1d8df066b8d27b27c1a9b5d36c7c15df2699e62a6714e057b6496054f66c1319b260f59d70d4562b35765e814957f0516984e569da4b0";
+  sha512.run = "43b9cc5246123ef3c424614415e04db9e7a578eef348c3d580626918a4c31ac99714cf501dd54d305ed6ab9ad7e0533bf5b39250c43ad682032dd676a12173d2";
+  sha512.doc = "387a051eb8581b51d2042bcfae2ff9af99659d664c328c6b30b3789c75fb73687c32e2037df7a345335966671a3e3267ff4b9e0eead0e5b759bd305850ef22b6";
+  sha512.source = "e4717f476260648eb66fefeeb125606c16d302bbad32c55730a0102da355d0c828b106b25391f69bb34627f56cd7659dc185bbcd36ba7f5a8f0b77a0786a7957";
   hasRunfiles = true;
   version = "1.1";
 };
 "xassoccnt" = {
   stripPrefix = 0;
-  sha512.run = "8cfbc915608dbe086fc8da62483da0f7b31b8f10bbef113b03ae13036a2233e1e4e4d5872a67662ea72de2faefbb0a7993ad69419d46a01a7ae6c4f1025238cf";
-  sha512.doc = "bb96e00b2ff53fd9a1ae6fe54c501bf3f214d701d55b29047d1ef1316d104ef1f388365913a885a8d8dde89a2fc4b003e081e8d4f2dca0e19298e0be7e3434ed";
+  sha512.run = "ba903cce2a9438c51e40d529e6b6c6993f4a2422aef2688cb9d875cc408e4423ff135afe3758bef6605eb26e1f2bf4921b652131e65bf068fcce54be3f765455";
+  sha512.doc = "5a1805d9cd838aa7369fe4ca2d10c8f46b8bf913c14d8ce8dc546d80598f455696f83825c3a1691fb5a3ad36fd68c2bcb62b6a682ba374e54071aeb3f33c7a87";
   hasRunfiles = true;
   version = "1.7";
 };
 "xbmks" = {
   stripPrefix = 0;
-  sha512.run = "37396d791674227c4e930cd83e4967ee94d0ba9d49fabb7ff1022970ced0e3fffacf621bbaf56cc78fdf9cb6001fba045ae91c2f1c50920e14a385879fa07b19";
-  sha512.doc = "07907497b197aa07ea5b0e2022ffa48a8e0fb124871e91fb873f3e6a133baf83fd220443dd6f2b29954a0bf3349d60e7f7c18c1803ef9de59e1e61678cabe579";
-  sha512.source = "43f221fd963ce8047c7aff6dc97c8a3392e2c2dd0bbd80a3225a084cd03aa8c1139f4714c3ffa06981bdf7aab89f849252ea0753dfe7d49a2ad5c4273eae0cec";
+  sha512.run = "c54e66e79cfb39276ab85c2e431326e071cb920483c00bfaa4dec7a431ea5c563ecf2ca6c5bbe0581f90054b75cc6f0a94d4e401863bc27790e4238a8792e1af";
+  sha512.doc = "95df04009084b9e4cffbc76b3ab6066e57ce6fbe5fcd1bf7f72970d98c0d5337523cd9a361e213365bed5addc8eefc6c01093e75b6010384d870dbb63cd05441";
+  sha512.source = "7d5ff7b0e4807fcb2544051caacdbb477fae6a46d2d9adb0af2843f8ca995f3b14d0890035d64b846c8895b1ff33702d8712a7b984ea911b93b5e4cfd5cf0823";
   hasRunfiles = true;
 };
 "xcharter" = {
   stripPrefix = 0;
-  sha512.run = "445e507b6c669a6e4e7c2eee0e903cfe8379c794ad1ee4a283cd782ea9cf7f377debd3b1d1d992df1084d745caff5c1ef59697edcfd12fec9a4bf56f8360792c";
-  sha512.doc = "27d65f05cb05fe90fc6157469d626c2790fa68d33e876676429ae08c2f5ce80092d8958c556a17dfd831be28d916607d431b5a79b2626324a58bb3aff2fd2f53";
+  sha512.run = "a6fb6ecb8e423bbd0673b285ccbf274bc727a6b37a4263c53cfa5b79e3cadba5db21b3d7d0c056f7dd9ea66688035d2885e1eb04cf9889f7884358790c631ff1";
+  sha512.doc = "8f287c75e83afcd2cc12098b7bfa3421436b95b77497ecfba9b8a102ad66c089180adb363aed1a72a76a629573c4b351d355a6022f42f49df7ec00ddf6044195";
   hasRunfiles = true;
-  version = "1.116";
+  version = "1.201";
 };
 "xcite" = {
   stripPrefix = 0;
-  sha512.run = "4cdc39cfc0e11ca50a468a3de488b4c3484b864d9721a9f179aeea18bc3f2c98b115c579630edcaeec7077991ae3976c8c3da4d810cc2e5293329f8140450a81";
-  sha512.doc = "a136d9f9aff2f605c398b6cf5ecbfffa95e4439184da6a074f21ebd1f0aeefb6a178150492ad4c174278f20006b33c2bcb0a0d15594b1a5c6a607e1d882d1c88";
-  sha512.source = "5e5990b30d3536b60a3d23b04e292cdc612bc8acf5f93693d05020272f1d13844d7c9d7f5854637ed039ce183860140f78bbd1b0c3e3795d9fb8dec52323e68f";
+  sha512.run = "f49a3b76fac8d4631cca607c354eef956e77c3cbe4e95a9104118072c5e320983bec9412dcd2400c3034a7e4fa8e463cfa53ef1de1a7c39f0d857a242671c0b5";
+  sha512.doc = "f53c69274392c42c661efa04319999aa43ad7e81f515ac6184325672f4d00d5bf8113aa68f36d4d4c24d9dad393c91c8a6dfe94b95c8edc449642db8cc43f7eb";
+  sha512.source = "6db0c3ab886a2f90dd12e75dc8ad00391e09e8815dbd291b34d1fe9144677ef7b8c4c6bdc964ade6c12bb0dfcc53e2c56fa722ef30c3aa2a303e391e26ce57db";
   hasRunfiles = true;
   version = "1.0";
 };
 "xcjk2uni" = {
   stripPrefix = 0;
-  sha512.run = "d979e307e504a56c2be3012726e2b77c3280d0074dafc4e61897160ea363b3da12899db9cdf423c33e48e0aa524f03fda9ecbc5205ac39d530de4e60bb5d5992";
-  sha512.doc = "0ed71b9cee37f5e8bc8e85c0dfabb1346107e46ca8d24016eab49893f8b2400a5b699c39685c889c94dabae38008224559acf5264d58f3a541b189e18372159a";
-  sha512.source = "e52f4b681809e3947d04b184606179025c8d3a0f53ba88a7bdb81d8ab12c27be20276a4c71e58556e1dd5d7e840e6bb1a08efc01b479f39c89d18a77e05c5a97";
+  sha512.run = "c1174c6abe555eee84d753f76608fb3fc3234c43c5666def063983653908a03b8eab3787dc9e061c0f6bf3bfae7bcda9a31ded49b039580fccb254ed33571e72";
+  sha512.doc = "30f81325aefa49fd44031ddda4e1ff30c40ccc08645671e1439df38cc4efb2a5cf4d9d50e98e970e96e3b18046e16834710d6be8fd9e5fa18cf5271bd5ae339e";
+  sha512.source = "fa719c1936e76ac3d0bb7f212a53c64962ea2c7e00546c603da218fabea566c11591af056276f6edcc68e2cb0b13ded72cf37535c4a8fc5ce53243743d6f8e0a";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "xcntperchap" = {
   stripPrefix = 0;
-  sha512.run = "4efa9ff805e4ebc03e3260ca768a665f8746d47745b88adb27a5b846d616fbf5bddb58e19742d78f48d882adfc6adae41133abf9edc6917931817bf42157559f";
-  sha512.doc = "5207a6ee25adbcad7650c15a259d10823ba611a891865a3ec7d0c064debf303b7cd279bbfed9d182e521b2941ac6af9d22648f1a7c69c504a495f1acbb207459";
+  sha512.run = "dd87c239759d04adc359a6f1dcaefd090b7cc0afaeeefd9ef71530e5933f8b174d53c8110163822150bbb722b5ed8f47eb279f2224b02aedec6137ef7edf97c5";
+  sha512.doc = "5f7554ebf4ef3d878c8a31872e6d67b6716ea7d6e5e1b38915f4b4d7c2edbc4fb1aa31d557e74cbbe792134e77a6c9cb4dd24ab0daf765659e399cc84e70d7c9";
   hasRunfiles = true;
   version = "0.5";
 };
 "xcolor" = {
   stripPrefix = 0;
-  sha512.run = "329c9baf359638e43a649c2c77449292ca6aa0440991f650e811ee6896a24b4a95769d3963ffcccb6bb11fb7b07f465eb40014b3e19394d1d97d312289d0922f";
-  sha512.doc = "fa45209e8b3eddd8ef2c053a3e6c59a05376c00b21a3e0f6d39a5f5e024db024196682d25a4e43b37a70b28f61a9bf99ba15e6cf12edbd69baaf46ac50d43299";
-  sha512.source = "0067aed0426cd3bfe37a7adc130c3927f4dee8055f24d34165af7b75a1595372385d91dc109d42a262df5876d5ac52288c5c4a0cf650b2657df260f668abe816";
+  sha512.run = "9fba18460e4488cf2836082952ffff6e5e481b964570ee515f503aed3c8790778e054919e4e24070ff6cf608e21c1356859341eae5704558b1293b01ba8c0925";
+  sha512.doc = "65f15207df8a112a4bccbac1c5259053364b52da3f0d2fdf566e1e734f61e0649ae6cc674c96f775d8c668cc6238dad2993f06b81153d38713ebf96e747e0353";
+  sha512.source = "236eb7d2f94c297e743c2b0508e55910b00495915b7910dba7e0bc107f2ee37b24e3975242bb11c2c64a99f2abc5a55bd799277b9fbcd98058ee8add005d2be7";
   hasRunfiles = true;
   version = "2.12";
 };
 "xcolor-material" = {
   stripPrefix = 0;
-  sha512.run = "fb3478ce75b3673d39e61010334da9a389d50561cfb274cbb6d06edee825d23daee4d8223dd3bdcb36ebd7f6892b39af68c575c4519e0e6129c106d1b54e73b3";
-  sha512.doc = "923420250cebec3139f95fabcce09620b25b653e3b1bfa5579196c2b067df04a3ea220eaa84677ccc3615a778678d458adb5bdb9954b3eb4ef264d2d32d03d4f";
-  sha512.source = "6f14d559ee3645820888aa664ac2e3f4bee1d0843da4fbd61c9216293ee008335e267d458f788f983ea7f7604b068c2cac18ffe91519cfc825af17c8179ef8ed";
+  sha512.run = "7f1484435458dafa2a04eeb4b5b1b89ffee9ec8c91f1d724449457b719f92db009efd6b6a580a2b0ccb8ebc66c0d1889f3ffa05104c0fba5cc9c7ee90985d2d3";
+  sha512.doc = "388f9b604291436ded0510437be93c1fdf120a91fc3ddbabb870840f2caa9e81313035ff6c9d0c00de259fa024f83399a4004e7ba512a5c3bc7920a08ff58819";
+  sha512.source = "118b21c883848b5bd6d558b5c22146fad54df5e107d0525e48df42c0bbe90b210c7ea3340fcf30b5782d251ee1caefa2aedb8a130cd01a84f4e9022a40ca6a8f";
   hasRunfiles = true;
   version = "0.1";
 };
 "xcolor-solarized" = {
   stripPrefix = 0;
-  sha512.run = "b5b93f98086aa50e2a0ec237b1910c4905fb589a7ba961ccaea6e5fe580e75cc06bae63d10ebf8e882a74bb673dc701f01253ad87706454591958ee6ab394416";
-  sha512.doc = "d106e7d163db052c5a4c3d1ceb78d408410c1528912a590e9ed4c09b0f24e0845402117a34c7fd3e3df6dff73617e524f6f17ba021aef8080036d8da20a03c14";
-  sha512.source = "566feea117d9c01025a2e1b7fdee544f662da7b6f805de233ea167fadf4f56ae273eb2db78e941f2f4a210fbac8cfee4e4e350897503484d4ff426fe0fb69ffc";
+  sha512.run = "be443123bb994c40fde0c1783c9863a2ce8b75a8e3e3d311cc34596e72f2830dc92feee9fe87638adee2e942d540424bc389460e12aa0e33fe4014b28a1d46f7";
+  sha512.doc = "a448de4d83ff30c2112c90fdf80f530b8e1ee46d6b3f574ad0933cbd415debd1f94cb1c55d6de5679d5502cf8e0e28b71cdbca803f0569422e79bf0ced384f45";
+  sha512.source = "c7f4bac922f84d2e6323f93cbbaa8ec61aa8f532383469edeb8712d4aa557a25509c4c85d160a30715af9a4077d17e6149b737c499dabb22af8a9cc398f4ec9b";
   hasRunfiles = true;
   version = "0.4";
 };
 "xcomment" = {
   stripPrefix = 0;
-  sha512.run = "8867f647e4456e28edde05baf8aaaefc56336026d6411af061b053b1b370e047173e34dead98364240b07eec2c30f5a060823bc790f33ec468b0d5599ebcb883";
-  sha512.doc = "6881b16ac0151914fa7d82409bc4f55e95e3bf93eb71523267d03713fe33b8d1870f3b0f199008db6f17297b87a912ded730f89e99671d403733e84d154aae87";
+  sha512.run = "ad19a29caaaa4da90c740a18f3b3bf63666303f8047210197e17c270082d483e33085c9249d7143ba65f343f6bf3b52c6974021f954831c5196708824e21b843";
+  sha512.doc = "d3b4d70cd88923e25595acf726afa6eea2efff4550455ed2eff48411621f212059ffedc3a82e4ac15359420a00c69b55e3625d11f8e8d4111eeb87cc3a6e8cfe";
   hasRunfiles = true;
   version = "1.3";
 };
 "xcookybooky" = {
   stripPrefix = 0;
-  sha512.run = "75f3287628f1bb47f8355c3dc52dfc7ecd82bface859837d88065334f4d5a4db1c472c68543d388684b6ad957db2c6bce2ed5511293be59c7d8a73f146c26eab";
-  sha512.doc = "c75b8792d3716c75080e2f6597d4e6cf18e77988cca5519794660fd398b04cd44fd0cedac75320c0507b435ae2d3f162cfd38ae41079e310e3a013071c1f4d26";
-  sha512.source = "47aad6f64e15e4ae7b359e8cee15389b568745bee532c97a23c245eabd1cc631702960a642f2839883b59050110365b0cadbe43822909a11830503f8f2f49544";
+  sha512.run = "3f74d540c4da5ab4f6f1b6c78f3a35172fb4f2d94b7c720fe3fd1d31e1c53db6659371da6d48adf755675af831d252178b96ba57a1f0c0319459f4a564897b49";
+  sha512.doc = "29d1620c7ea3d13e4fdf97454bf824fab8de6acd96661554a1f37717e4fa0dcf6df20cec580b6b25101b75d2d22080962713d05347eba4974c5cbdbca6129ec6";
+  sha512.source = "0a0d8eb171bc551831f65511f74b9db402587b6bdb47dfcd3d9e31403eaf530e954c5ce0510f9fa4e850b3036bc6807339aefca9567b9fff7152c72c8332d640";
   hasRunfiles = true;
   version = "1.5";
 };
+"xcpdftips" = {
+  stripPrefix = 0;
+  sha512.run = "ccf564a59d658a4f6747a3df866d0b0a0d6dae489215b5784fbc0619a2f3f222ef348c5fb96faf192d9db7e5c63d44c5f94549cb809e89dabd06bb43d745df1d";
+  sha512.doc = "5d483b7bce276815fbb3602d4082ff9c939ae414cb2e2b03f75307c71b2b19a6adba23f609836c78859df5823f4aaad175e01b9f223326176b62a4ac9060cf02";
+  sha512.source = "d386d33f5437cd31bb8dae0ea51a22fc90353f7866544694e3c41bd2f9cb70fd734a92bd50864a0b20443bfe40f6f54cc404e503da395e928ae69fead87db771";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "xdoc" = {
   stripPrefix = 0;
-  sha512.run = "2397833bf12a53123453b96ce580bc4434eec98939b81660b020d7147aaad9b2890a0bf57749bbee601641b8fee12ccb3edb886a3b8ea39b18fa763b40f6ab9f";
-  sha512.doc = "fc9e2024ca811959e1a8f98b57e4f5a747114b92ed079fabecfb86860e2808f3ca4b7d33129c50b7fe1f230bb162069d7d2ee3a5ff798615f33c6a4f8016a417";
-  sha512.source = "da4949c2cc31092a1c6cd59ce6b0642801aae5a39c7d8a0faf9c5ff259e52cf7427a985d71725225af2fe653b7e617b103720e985311d2dde897adce0d0dfaee";
+  sha512.run = "8cee132082c70214560ca8377766f45e6f15da2af18e0e9d68205d094b2a6af4d50150bfa6d145f78d92bb95c8657ad9fab1cbb8e76b75859f44ac1039464cca";
+  sha512.doc = "cb7fc71f84f88a1035e91500e9b7ccf0c425733227e4106c7bd87eb30b25c8fdae6bce046f22e5a07ec919ee0527f264dcd826b7e6468eaf21a791e7dc0e7ab8";
+  sha512.source = "d82f9fe7cf0a2faaf0cc6a5f1f1d5916bc3eecef63e6e983f62c4b17d36b17f31251af6e704811af2094cc43fada5597b0ceb432a4b38c4b066ab041d7a5c578";
   hasRunfiles = true;
   version = "prot2.5";
 };
 "xduthesis" = {
   stripPrefix = 0;
-  sha512.run = "af0512163bc0dc196d8816245b9e77d4f9f5f84b324f457e1087467c22dfaf9c790f0e87995cad9546b950f31b2bdf690ccbe9070ac8619dfcb191d6076e2f6b";
-  sha512.doc = "9047ae71cc7edea927b46bf240909c93d6f268c568dad974e131a5c76b98b35eb45eb893358c0b94c6cf0ef5243e442ec1967352685e5c0c51d916a18cd9241b";
-  sha512.source = "8cb1c75b9e5b491fae309be42819dde6e072c459cc20dcabe734747f579bbd328d23a520953024435fae115c02f7d115747a625b8aa53527631c84e372449ae8";
+  sha512.run = "4a92d52c7ca60232849b02bd7d688f12230f858bb7559287610a4d33699158fcb3d5270a22b3abc99d89a684b81e2124602486c16f22fb434e98b54f715f592a";
+  sha512.doc = "44ec843c2a6b7827c783c076e8f02dfb697f1bf021b54be238049068f466d9969d2e0bb9efdba37623b44a564985af4256eed2b82ef35d8f7ec9798ce84abc0d";
+  sha512.source = "12a273267d7e4e82256f4aa76db77673eea0d1816691a179b8ac2af8732ef958a7142a95cd7ba8ee83cdbe2166975dfa12d3fff14607cb1fd27f48c989a5a7ba";
   hasRunfiles = true;
   version = "1.00";
 };
 "xdvi" = {
-  sha512.run = "c0c5598e3683dcf6e9eb435f7a9a6d3065c79738b697d67ddc42a8ceca56a72d94f98ff06415d5c044f971b3f4f9bc58006db0b90f67d2c6b0bb2cc3138f5f08";
-  sha512.doc = "c28f70bab7e44e3b20358beb24a420227e1cb90511619d45fd04db81a2e126452acbf2e75eeaf04bfb70c6aca8a51bc1f64594ae153124d394bd14074ea5c18f";
+  sha512.run = "9e05dcd35557d4655b8e78c8d8f64db1bd5fd37cea1dfaf163fc8ec2076d09c18f03c9fbf4314effa53048f660f86deb7adcde35b13aa7412d92f941ece0b550";
+  sha512.doc = "17ccc4f97a55f146d6aacd63e2ef3e2411aa221363f0490b484cdc88910ecd0d94bd016db18fdedc78eec4001658f25de736acbae20eaf8f95c9cd576861f015";
   hasRunfiles = true;
-  version = "22.87.03";
+  version = "22.87";
 };
 "xebaposter" = {
   stripPrefix = 0;
-  sha512.run = "75c400b4d66787272723e857046b2244990cbf3153d0a38d181dbf4b7f2600a9a4983ed67b813685967d7a7a0f665160ba5ed77468bbefee56a1af95e0eb32c6";
-  sha512.doc = "728715baeed069a5ba01dd837fea5a405db1904981e63d269fd824cca12b294de8865692a2dbe2e88caece8fc3739bb7db6c6326e5f1bf8a3cae6a585bc3e854";
+  sha512.run = "cc264905da875732a3bad46daa31a1f5595e3676ff4d5570554caea40dfd383eac8e9a05121e2211294749770e50fb4d80ca6e735421eb7ca295a10bc666ec3e";
+  sha512.doc = "9bf0315e6fa502e0de606bb16c6575997314619f10a8aba312d8062be5f1edf4ba037eff7c23948ba7800bc2abf2fa300b8609287558a0ad6c59d63095b20045";
   hasRunfiles = true;
   version = "2.51";
 };
 "xechangebar" = {
   stripPrefix = 0;
-  sha512.run = "a908453c719734e633fca6a9c7b40d8b42c1aa62428d18eb48e5cedb92bc46bbaaf717f126f35299a23a32f551ddb9058bdbbf910451abfaa465bb4ae4081665";
-  sha512.doc = "30aef39d5bdf36f98cfbecad45d604c46cbbacbfd16565805257da8a1031c65e8f29069f449bdfe9758d2ab17d4cb0d495d19c37a2e02557808718087e64f6ea";
+  sha512.run = "0521eabe4444865747291d13a8664431b64e67969276191f1389bc0c7bd7198625a352ac391cc06e926cd90535b47b8edd8ffac6f3967ade0cbfe7022409519a";
+  sha512.doc = "f2452e8d2281f4d92da80917d6883bd91318f8e4459189fdfd8e6a79269d4d2c1b16122bb42237598fec3b8d44b9cc313a4b7858895db8dc0fbc5157825f2046";
   hasRunfiles = true;
   version = "1.0";
 };
 "xecjk" = {
   stripPrefix = 0;
-  sha512.run = "ae78f7c8652f159a8ae46e4d49f4163021e7d3f19490eaf72c42d3d148e228d3ac36fbfc475d6893ca8586cc802be8a2cbc6a1597b1f92971e277aa9c9c5d5ac";
-  sha512.doc = "e4a0fc598e0afad77e54e0f621291287006381a58ef6e7d5f7f42bc3c4def72de277107dce7ac5277b8ebf3a51cfb3a023670fa36fc3849033aad10dd28d6c54";
-  sha512.source = "7ab0c4cc0247c76ed195434cb84ff7d00a713976dfd688f169b3de705c36d63daea5edd1a2b06019dcdd7f88e1569c4e0a3936e8e32043718d9332eff86b1649";
+  sha512.run = "cc7e1c47396c7b506d3f49969512bf3ec76ad330147d57c99467e57d5402bc56ceec4d5b56a4892bb6d93f27360851e84f4efa52f4b8b1b069d912d4a585b2d5";
+  sha512.doc = "a72c22f9d40ff9265f23c06d5f30cb8204b0cab5391ed9469be67adf8450a40ab52a9b65bf89dbfcca34e40d17bdadac2beee6aacb1452855044a990a1d8f472";
+  sha512.source = "684f3d76f5418ba4b840f87dfe06f365a90c5c4f141a981c0ede8e6badf98e8ee03a826bf0b41ab1df1aac6094f953696415ae51d1956ea09a59343f0f469b76";
   hasRunfiles = true;
-  version = "3.7.1";
+  version = "3.7.4";
 };
 "xecolor" = {
   stripPrefix = 0;
-  sha512.run = "a11229e257150b331438619404ae148c21ca45d54aac5720b1235eb9ca6b78660ae246ad5dafb32a92f19be69c67a0638c40fd3736e76e350d88a1e74bbebbb4";
-  sha512.doc = "3e06d4c8451620c39783475c4bdc674fcfa28c5bc7000126dc2b1c97cc3295d3bd661b7ced95c74c61950eb51acec10d7ce153d9af33fcaa654bd8fcf624e88d";
+  sha512.run = "0ab23e651b36f06256fab5acb14effc93296948aecf7c7f11c81f4db89a58bfd8e038dd857a1da3a86ab573cf0ffb1d1bc188789e0d493ab0d0c1c9d96d593f3";
+  sha512.doc = "9441eff384f57e8714cc543ade380ecc321e6c0e7dd0ae69c71337458e2607a43f793b490bfa6752c1c70bdb17be92488b89ff848ab9a3a1700907c15ed857c2";
   hasRunfiles = true;
   version = "0.1";
 };
 "xecyr" = {
-  sha512.run = "f502f7375f5a6423af8820f6c0a5d9e85ce85b5508d30ab2f2442f7bb24d108ce0b190ce7f42b47eed699f3de5f2eb426ead338b674cccaee160547e8f441c0b";
-  sha512.doc = "4d5fdda631df9683103ce264cc064d6d4adabc7827dba4ece949a10bb2d50948a5495b46091935cdf941c177542a0f9397933e86c1f1eb97fb161d03dc48f057";
+  sha512.run = "b248cfde57f5f8023df47a7e6c6260e00820baeca261a52ddcefd6a17a2e9aff63a43fc870d8be747e491193800d87440ac1167afe06bf0b15238982f62bfb76";
+  sha512.doc = "13e5bd963aaeb286498aeb631c88c3b14ac29ac740284014f11b881503d17d99b29233c86853c7691aa9752557773a8f6ec5d410cccd2d6665dd5d800f1fe2b4";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "xeindex" = {
   stripPrefix = 0;
-  sha512.run = "09ebfd24e056025fd799c025005da2d5d932cc2f1fab48201da7c9446968654943339188c1af458ad33046fa9fa63ecf6d66f6798826557781b916ef05249041";
-  sha512.doc = "922a4893a5e70a10a62e5cf0419fbc1617227acc88aa0aa9c69e1c84dcd1c67c29fbe51349cd4f66ee2424837d8248be7401d01d295247c5324e971599d4ecd6";
+  sha512.run = "bc3f399973bd8be5b83ea6da2c39d80de8f39ac6cf2d82d689c81816cad334310081f44fb4e256e442fc47ed6640c2b8ebd185e431f0d0ddec5f75f7b535283f";
+  sha512.doc = "c84682c8034c5e182bcbb2ac0411f4ba5d8065a5db1f008c6f9e7a01b94b3563c44c03fc4c1cf48b3b09d19ba93f22778d8840741737bf1a344cb0c8f66ceb49";
   hasRunfiles = true;
   version = "0.3";
 };
 "xellipsis" = {
   stripPrefix = 0;
-  sha512.run = "61b15fc6274c833c5606932fc45715f89c8f9b2ec16c8b245952dda8d7531a5cde74dc676c6a32f188a7fa2ddc30fd0feccc51a7499fa87981a55c10fa924b2d";
-  sha512.doc = "272410d8b196c60551336cd5703775fe39225a9ff51d466e861f7f06fd0b6c0a0a0306afade0a72d3d4518ce8a1fbb389d05ab244ef8b7f12320e81497e3091e";
-  sha512.source = "8ebb3c94c0fdfac250557bc16b1787f01ac6daa4f30bbcb042358652fa4f70fcdeac61504d21cce92525d5242012f980bc097c0f14ffb50edff665b611300803";
+  sha512.run = "3bff74473b4e7fdc7a349fd54e7703b77282381d9ff5eac233d5eb7cefe98f4abc5ea4fd309b8693bd7245471c565545e0ab437a5f8e5cc1b89368c914078d54";
+  sha512.doc = "20d238f8281b93643af570c3dd09a9cdf9822af0da6a9d06b3b9d09196ac4c7fcff2efa3271f763caf42e54f9c72d2087c491cacc5ea4666cef1060c12ecab3a";
+  sha512.source = "ae58f20d0aaec99bb7e56a0a5b277210d5b9efb8e2677e9e22caa08ebe9576befe19e4b7409625aee00b30cdbe1d90ae61623e86d3fcd255df96dbb7c89291c3";
   hasRunfiles = true;
   version = "2.0";
 };
 "xepersian" = {
   stripPrefix = 0;
-  sha512.run = "c6ff3edba779b9f79a9eb902b58233ec135078a796c6174e7a9877cc3f2678ae74b045ebecc5fdf2d3d5986d6950203893695238a45fb258e8cfdb88b15589ab";
-  sha512.doc = "73128984cf0e543f16502524b1332a9d591caf3bd9cc09e56a2ed4e3f4fe7b1109c6331159a081dc80625228f4fcf74317a4bf25a7f59c3ddfe995546a5aa2f3";
-  sha512.source = "0f1d00bd1d1e6e562502050c6033ad7edd76ffc7005dc9d8972a16dae68a64807bf49e5c7c02b6a483aa0cf958ff23d481da421d1c077577105b4004ea9d785e";
+  sha512.run = "dbfc141ebfe828e6d2f331cb8841f712ac3577558c028df9af819a240791c35e157f9c03dfc3cf4a6b654411485ba14afee97a0d45d2393e5067b2fe3ae556f7";
+  sha512.doc = "ae6c252024b947c9d4cb1192ca61e55aac9bac10c0c737a29794cca2d291f90d6cc56c8e52bb338b2f6f0d27d2bb335adff38d0d792aab8a6d76e1ff11344611";
+  sha512.source = "6f1fe402b7af2531d6a04ad291752058391c3f437dc3c6bf2256ebbf570bce64e6c341b369ac6d5fe024d7eb28fb31592bc2571699c651e0096b3d70a13ee6b3";
   hasRunfiles = true;
-  version = "22.5";
+  version = "22.7";
 };
 "xesearch" = {
   stripPrefix = 0;
-  sha512.run = "5b75ebac31948dab9cb6df7df31cbd29fcb223e5c5d0be907a495aac7a43669d2f86e29b295f9f488edb074681fff404cec57b2ea6805c64786333ab65a7810d";
-  sha512.doc = "8e0a8e640d746c20bce0e1103d54af502ff51f29208e4975bc4d653dff9ad4f3623245d636551faa4a3346249a7094535ab8f6f3edbb1a5c5cb941bb534c33c4";
+  sha512.run = "4c204a8f92fe9af0ef1f0da99dfb12ac8f784800f7ef673a116a5f5167556fe49584b9457bebfd07aebace44951327f8a576cdbc8091a7aec776768384c62507";
+  sha512.doc = "981e6cc62a2f50815aeb875c46ab2ac83510ea535953629755700650831500410650b66ba070d8b5ddc494792e782fb75f266ffe0fb868318a4782b2f8d701f9";
   hasRunfiles = true;
+  version = "0.2";
 };
 "xespotcolor" = {
   stripPrefix = 0;
-  sha512.run = "f918440fe86ed958cc7657cf9cf774626bb1d3da91ccc10398514e94558315bd55fab349df4901f486651d82d9fc03b851ceabcea344cd2c480447d5c7c45a03";
-  sha512.doc = "5904aeeb570d9de8825ee10981c7db17c18c640c6ad8a69fa1961ddeed354762b5dcaeb9ad16e5741a4a45fc85e9679055f51321c316aa3b962a791f7c4db184";
-  sha512.source = "444cf69f33f04a23f0415afa7885778b06601373d96b3a8fce22988be08d3efd3a39ceb49ced3b2c81a61f4aa60621156406e11ad4751661a1e4ef20b38abc85";
+  sha512.run = "7f4a111897f53b003473a40db9e779ed22215eb61e7485a1596bc215e6057d065d158887e1c93dc4e81b04ef1f8815044ce61daf406b62bb77ed57df8f13a70e";
+  sha512.doc = "e1d2f3c52b95ef065e0d2ce93871278b8038b1bfe86700609e1197715dad91be572cf00a4391cdc4535672897d0ec52a09bdce2f24496538e512f760a7a622e7";
+  sha512.source = "5727e5cf3e31db12257498b2266d13a749965e0e177c011bc379a7ea29ec5951fd223befefbcf77ff1dadaf69e31f3f4543611be8f9ac90c7acaffb9070b0b2a";
   hasRunfiles = true;
   version = "2.0a";
 };
@@ -28536,170 +29331,171 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."babel" = tl."babel";
   deps."latex-fonts" = tl."latex-fonts";
-  sha512.run = "3d80cf2ec9e810bb9c6b76cfa5044e37571070652f2853d22f087a5ac3c8e099f33a7a27cf84bfa81195982f27c9a82de6ee2b95f2d08e45303229734f33cab9";
-  sha512.doc = "57296e3f527752322c846b964f98c9760a237997b665392ceb3b33807befe3f363f3ef89a6aa8badc673b85f67e170b383344afc65066224c4dc07a206ea7842";
+  deps."latex-base-dev" = tl."latex-base-dev";
+  sha512.run = "3f50f001bb1388e14112ead5c47f0e22a271e91a33e73c40f5f0fb43230494a7494d868094827d0c316e76c9cbd76c5b8b53b76ea267d24118c5146fab42f70a";
+  sha512.doc = "63b2f8b1c0cc906053098c2fd5f2dfbffaecb5cf1f37ed8334b30b2cd035ff5ef12d88cb46de2c0c5ac23becdac41319325e1d56507d21c9783736f3b0601f60";
   hasRunfiles = true;
 };
 "xetex-devanagari" = {
   stripPrefix = 0;
-  sha512.run = "c25ef95bfec0a9c6c394b37959f6192d15861b75ccc9b86af0041b213640e14395de8c0b4d87cb8e5221ef56d18b0f67eb7ac1b6ed1632658938bc96b4ee77da";
-  sha512.doc = "6e2d9af2a10ac03db7f9228d2a451a6087f6c5bd3ebe7034822b875caeece8e1dabc7db4a33d2d688607c131f106198da181eb202be755950e6bead50130416a";
+  sha512.run = "96eeb5289b4b0ce252eba1daf15fbccaf2cbb2d251a85818b6dd761048532f36355619e37f1f857caf4592cbf85d112d6d48d5944c455ef36da9913529a783fc";
+  sha512.doc = "0f360c3f43c6562520b8843269068fc46ecc405cd3a4d8faecddc4f606d69cedcab28950fc1d2e11699e297fe4d70c4c3d50765a2ec30541c237914accbc7129";
   hasRunfiles = true;
   version = "0.5";
 };
 "xetex-itrans" = {
   stripPrefix = 0;
-  sha512.run = "8ca2f503c48ff5730e8ad9249a10b1c608de5100a90cbec697092a1c99d2f0226e24c9e9620f341ccc33027146c1b1246ba240a734eeb09c287acfeee7fae4a5";
-  sha512.doc = "bef0166c038dff3a78c7462e95a469be9e872b029e4dead2996bfd275050fc229c16f3fbd107ce0aad0140caf533bac433b652e5920f037ce410afd8188beceb";
+  sha512.run = "7d083e176a2786689a325c511d4e50afda5ea8c644c8288ea050db79fd248085be500ddf7a0b8ca3cef6191651669f9c48f894d16ac571096cd1658d6e6bac60";
+  sha512.doc = "795a13fced2938c1679dcafd07e445ec62db6cb014259a15d1f8d1dd68ee4cdb98c20024b1601679da5f6e8d3a27b05a1285de967067abc1fd61ee6937540449";
   hasRunfiles = true;
   version = "4.2";
 };
 "xetex-pstricks" = {
   stripPrefix = 0;
-  sha512.run = "a4e01a4bd9db6f8782f136c6d7922872880dda72a9855669c2313b209eca7b02dcb353907c5ebe0624c5543fc31b7f57de7eb8486dc0f5152a8f3077b4532f08";
-  sha512.doc = "31382f44509d41c2916f03528fcb22582db583a9491e6d6c3aee6c72c08e27072e35ca06c00327a42604ac4f8e6d99e05b616e192907c2577b26fc3c968af51f";
+  sha512.run = "59186971a188f4541361df8fc492b3767069b3081f7052c88df5395539807970c709537b074790411dffbc871010cf4d3fbbdb6684c43007477c44be6259b64b";
+  sha512.doc = "cf71359ea6e56061848b085da9755fd3d96d2a9d30484b5d5028c7a3dfb52dfbe275c46f17016179a56f90db3b6df4453cbf3a990a709e59503fbf1a576eaf8d";
   hasRunfiles = true;
 };
 "xetex-tibetan" = {
   stripPrefix = 0;
-  sha512.run = "5d7dd16a6691a820475e3cd56d13f35d3de0a513396a96939aaaf6824a106cd1f52b91e49fdda14b1174a25eff59c6d362508d3cd444bdb5950af2a04f222958";
-  sha512.doc = "a185f02a82a11ad5bdfd9de7f8714f4a19cbe455844afde16e8daeeab8470977ee3759eb71ad8c4de7cc7c098b1a8ba5af6f4c69bafa178b650795edd7368fd0";
+  sha512.run = "de7d2f875416336f25e8a14f8c743aef87017cc0aeb30b5c6aa9e1bdf044d71d3c9e9a28d52ccbe7fbd2099ca9e47938310dc3311e46399027aa822b76ff90c9";
+  sha512.doc = "0bba33024862284354416e55f2f718f3f3220e4a853c68bd6386c013702aa07a3142864168f6d136bb351044dd9ae8b59754cc2a0181a358fe1baad49106d504";
   hasRunfiles = true;
   version = "0.1";
 };
 "xetexconfig" = {
   stripPrefix = 0;
-  sha512.run = "83e5b131704a05544330ea1806ea4269a500357838f88f99b6a71a65acc8714719550b5159f1e1fb8a114c37e038312ed21df18d74245b2c3e4f35a4f6dd2477";
+  sha512.run = "62b130d16ac01845df5acb1a10e487408208b0c4369d58892a83a42609b3dc92589195540154d1e07a9cb528e8e4ca65009dfef236efd53b9cfbce0a942c5b01";
   hasRunfiles = true;
 };
 "xetexfontinfo" = {
   stripPrefix = 0;
-  sha512.run = "30f2828c44acea2929482929ed765eca04f5025de00fb2d1ed4a7f909f974e5f077bbd6eddc932202514999ebf857e8a2b184b9b83c4964a06ec472496b180cb";
-  sha512.doc = "be5db6eb188d912e776aedc35078fb832c41de9a34093247693f199dc63c89b323705a66c0573a89e5218aa227edbc104301f15a636773fc10e701d40e27c6b1";
+  sha512.run = "8099f45c704ea74e5bbd90b1817c3ad06cffe3d6da0a997f8471e72cff364d346a3cc2e6f156b51bf7bc3ba149e5c755423418d58be89e1872f84db9c1eef039";
+  sha512.doc = "a5a9b085e5dac02d75b83c7063fe653724367ce203c20832e2ef6b11db10e31bcb90745a7b7d65427a33cb018d68afdd4acf9f92c907f91904188ad60f2e1460";
   hasRunfiles = true;
 };
 "xetexko" = {
   stripPrefix = 0;
-  sha512.run = "1455e0374a3fef0b226b4a3bc78a9d5d6ffad5e2894a6e0666a2f7727b59484d622cbd32731447975d18927b136accb6ef701080ee89473bb9c31834ae99c2a8";
-  sha512.doc = "a6022a7b410c99c8077118e8725295403e52a85ce73a7aa11d85b100605dc234dfc864c3f0330b3f65688229e8c99b7f85c09946bb15f6604c0776f12dd4f692";
+  sha512.run = "20c52e861ec9f38df4a7ca0402ca6817e80ee3788f40fdf9ac24c61aca3d38b02d6f6d3cca1c8c547088c1ba9a6b55b5b5a75be5dc98e707b33cb2ed900f968a";
+  sha512.doc = "820c0de971caf668a9fbe01613a0b82ae1620e3199593a29bf2e7992607a27052083b33c1359019c8f026b4295bebf01ddcf840ab8f4eb3ac5878bff97b8e578";
   hasRunfiles = true;
   version = "2.21";
 };
 "xetexref" = {
   stripPrefix = 0;
-  sha512.run = "9ca840c6927571301a438c6a368bd26b72c42b052e0d7a786d4c53dbeaf4b69d1082311cc5c1695e7836803f5019ca0b5c6da3e3bdb2ad5208faa1f65eec62ca";
-  sha512.doc = "0ffd398c4330b41d30e7e9278c1dfd9086bf12e132e9e03955958bcd1c514331e4792a1127c18fbcdfd70fc8c04ae9afebe024027a4efb9d2e22f4b9fda4c771";
+  sha512.run = "d7c7d2a404de1fd609f172dc0f8173cfb6a255a220700cb4d8659002e2793a01e43caa7bb483fa343a85a84ba545edd7e7c985b92045855285f1704eafb20df1";
+  sha512.doc = "818383480f2e20d7e00a8ad77423e9326cdd130ec1d1dba0dcb536fd13e7e287b4e8a67460eb510ed786b3d1e7f65f92c1627cdec94860ba0622ee2b92c91974";
 };
 "xevlna" = {
   stripPrefix = 0;
-  sha512.run = "3c7fdbf1d3cbd8307dadb6c777cf1c85463325d781005c098f8192e3163fe7f64548b5c4027e51534a4d4db05d58d46ba2e4c4e9a91f23144514db144a35a8a3";
-  sha512.doc = "22abee47faa73d45d4c491ced84352b756e1493a19099dcab08e10c39292ca044ae351d0c20db7c51fd7ac2e6af9bbb1ac76d304d1f5c87a09e2728dc62eabdd";
+  sha512.run = "69c80d5243a4af96f2dd8092926d2766bad5d6beaeff94d6aa2f184a68a45fa50bb3abb91a4652d8c5e5617073aee9caddeeb73fd5399965f477be7075b7ca01";
+  sha512.doc = "d0d033b646314eb250b245575ea2361b6c12f13eefab071c2b9f91524b08bfceb9fec197c3fa5f61e3ed19caaf4198e69ce1305bf1eb2daf1db6e30365eeac48";
   hasRunfiles = true;
   version = "1.1";
 };
 "xfakebold" = {
   stripPrefix = 0;
-  sha512.run = "5280f916a16e48fb85751eb3b074a2890790d23d775dc0c3276107bab9e2015027c2b9fb8d63e7f6570029ac3f7fc1c2f7da05bb0b32b9891ad68cb04e123ef3";
-  sha512.doc = "8eaac6452c8210076e9c4c5957b6d3f9ccea469d5e08f616c7bc9547d0ffb98fa9e724a1a99e15e78b230683b89b5132959156c80202d8adc43741179e632ab1";
+  sha512.run = "d25ed6743f9fa372d6403c39c7f8f0bbd772a3e915565f9b610d35053c2387338e19a7edf1f2e813cf808899cf59deeaa54e6ca9b4aacc767c28fff069993f16";
+  sha512.doc = "6cbf7313a17b16c2779b652a7a1a1891e801fface6da4d864aa2a1fd8303a80be493bdc6cea9cb753f8784359a7214b514335d70ada90e5563d8017371153dc1";
   hasRunfiles = true;
-  version = "0.04";
+  version = "0.05";
 };
 "xfor" = {
   stripPrefix = 0;
-  sha512.run = "83cce9cd64407a3c2d7a6a9828b49ead14f211a30a1a76174097761ae3352acfa65f4d08fe4c4c1b5cf70875c83b28a8a3b174cbd2e9f9f83b109cbdac23f61d";
-  sha512.doc = "28c8480e8ec4a8dd4704dc7cf08c18aa6802825c0ec99ad3d5f9e72f7016f8857b8d384ce129f97470259072da57b201e7ae079aad0c640d7a9b69041a48d922";
-  sha512.source = "e59c4e0097a3fad651117c7a7d18d71efe08d2136db3aa88b8275fca28666b7e2de77c93b1922da8ee505bef3906cd5be9da16a9effb6626a8439f4b16106aea";
+  sha512.run = "6e3ebe83dc39a87aa86d5f173f56893ab1678253dc18dedf16c5d4a2df864e21b9b6e84c6bda56e2c624106efb2f73c110964948e4d553848bbebae87f05bff8";
+  sha512.doc = "e75b3d57c09e1580282f4002b684645aa21aeed4f90626b7e439f30dd79edec9c6f23492eef83b67e9ccb885c001caca6201d43b5182632a5b38ba5f67488b52";
+  sha512.source = "508dd3c696da5287cee35fbeca12aa60667908f1f456a9d1333197e76b707902d281e83146b81e0a095c168054ec96013074f5b0bc236e35cb17732f4158e2ae";
   hasRunfiles = true;
   version = "1.05";
 };
 "xgreek" = {
   stripPrefix = 0;
-  sha512.run = "7d65570a4fdf1d26ae08ef1142fb0a1d5912e4c72db04784727ab292523bb1f5156186ab1993cd0f905b68c2ba9186e7bd634c0655d07169f34f4a2734e3acee";
-  sha512.doc = "05f2941ae636fbe90a5f76b56daaad04235ee4bf86d07f88ad1398f5571da2500ce0bc43fa97cec0a559198acb1e337702435fbe69b4975bc411ce6dfb4cfc8c";
-  sha512.source = "9b2f9873792d64bffad2de4236d6adf007a676d428186d55323eba8621b2bebdae7efd420cb20f8e998926cc894eeeeba41cc8050653fde68002edede21e2f9b";
+  sha512.run = "1f2dfaeb88040a1b58b60c0ccb84e7417d4211491d34c17c9302b7cf388775ed729f9135b76e43ea276a50a665efeaf19884535c187bc1c0cd931c2e79b8aa19";
+  sha512.doc = "8258ef4bca146a2ea8f42a235f151924156f116d2d3feb4d1974da1b1afd395858dd5d53d2343d748f0d60afffc8967e9f316026e07bdc2215d145334ec90e66";
+  sha512.source = "a982e91c9fd68b583ed3d28c841e91e45ba83a9b961cf710cea2a025c69f3e4c98124eb3d5ef45062347ae8b48c6ad54ef5c7631fffa1be5cb9705842ca23987";
   hasRunfiles = true;
   version = "3.0.1";
 };
 "xhfill" = {
   stripPrefix = 0;
-  sha512.run = "a77b74deab39670366a61c34d9c10adb6303a1f84802764c14d633a8deee6bfe09cc1fc5c04e50d46243ef07326bef76e767f3968df17eab70111f292a7b1cec";
-  sha512.doc = "f8cb4572154fc26d0c4e08dd9dd59055b1fc7937a1bb0622e1724a6e9bd6dd20a7fadff3477bd47a186b26ccf3886ee8d38af5e4c48af5d83a15066bbfee3769";
+  sha512.run = "cc0ea9e9d40a590444801359c455716856c807eb429aa01b460fd7566797490932bd3566a5c6f95bd6723e0b05bde1aa632b83383c8bcdeba8a455cb84ea9f1b";
+  sha512.doc = "027287d941c4576d7f55a3d618e13cde5348ac072f3e546dac6f8a8814efb982f9cd0c4162866403f946d07ecba0ea8cc15543cafbdf9008d60b78d0ea3d26fd";
   hasRunfiles = true;
   version = "1.01";
 };
 "xifthen" = {
   stripPrefix = 0;
-  sha512.run = "e66387225b3103fab548c875e35f631d7b06a2a9cad9e89f8c3cf5876036425b26e5427e0674e01e26691ea3207a1f835da88b22b063dba2a45d003845a03f24";
-  sha512.doc = "376e73b6b656f5d9665b1dc30d685a2d5b4bd7ebab7b546be56171bb11195a37adefbb1594837ed216df2e4d084e89fa2a32d5507ee80ddb5de430f383c414bf";
+  sha512.run = "21c5882ffbde05c50a6536fbf19f812a3ce6381f565227f61c8062281a2472a105bf6223cdc03adebf275fa23dbc1ebbb967349c715f20d1b516f100f820af3e";
+  sha512.doc = "52ffddbfb4d0d579849b7a89d30bebe9f1d511751c89012712a8ef73ae3f4eb8799ef9b3755dc957c47fd874f1ce76b3ed54591d59f7e4d9e1851c50aff3dd4b";
   hasRunfiles = true;
   version = "1.4.0";
 };
 "xii" = {
   stripPrefix = 0;
-  sha512.run = "9d119e156c72756996a5a79c0839ea70d12ef7f9e161bd918bae8da51a64bc052f292a9c449b51cb3219536f695dcf3b65ca0c6abc192d59d19561569ed09117";
-  sha512.doc = "0acb0cedb2fc055085d482fd716526cd763c5117befd5865fa0be675d7457e19711016f4b4102370f40de1c46bb249afc41b0aed74156d4c05e503bc12aab598";
+  sha512.run = "a5355a456005e09eac4135735973a14a6add3a31639fcea441d8d6a7c06e7a7efbfc1470d485ab317fa193897abc2d9edeccadd19239944014b7fccecdda52a3";
+  sha512.doc = "c9b348da09c3a9c1522eb7713a17a58b3eabf4ff8ed52e8d14dc9eeff528ed93af505b5e3cb59c1af4c2ce999c6c1d98f66d026a6ab3d7a09778230286059d84";
 };
 "xii-lat" = {
   stripPrefix = 0;
-  sha512.run = "31d023dd7322dc0143775391ab2250e98ca543e48e77d410d5512c4761dea79c18f2f65f21dce06dc69d9e99186e2991114d554873085b98bce4cd411f292d63";
-  sha512.doc = "1749bf5354cb5583bd9cc75b5524df67f217c01cd12390c3f116096af8a9a9fd1b34e1794dcb581c3511408bea3778429bfc57e2385ac8a7471fc371c48877ea";
+  sha512.run = "e4538ac31b6508371ee156168d4da71644a65297b91be7f070291f35563a45a1ee5a528d25585bc23a4690e8fc5c6ad04bfc829de4e95f49468a5852fac9e822";
+  sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  sha512.run = "ce68b3a53374c9c22e11ea2a6e0756c3a4ac62025a0feda4ff7d50bb0457da34e0b7c9b3bcb44fb63345998bc93d3bb11f598c4dff631cf447715a3c4e424822";
-  sha512.doc = "f3168102188fd8b5efabf68d4b8f7cf3294f29b611b5b45fca3fc0ccdc0a1dce483007330aeb12ff8ed50d6d97ec053e677abdb3eb516970bf52b9d31a67fea2";
+  sha512.run = "7e05824e42feee686c76fe1c29b3019feccd83f7d69bbbcabc835bcb94e69838d0d94c8c50d4871264bd930d0a2fbaeb6b84a26e3031bf3cc8d551698be1bc55";
+  sha512.doc = "f26541bde9d1d3440cd9d72d1e24b1d81eac37832e41cd99643449222185e214453e11f5076ee6eb2ce5d87ddd96364767dd5299191147352b1be2497d158d3f";
   hasRunfiles = true;
-  version = "0.07";
+  version = "0.16";
 };
 "xindy" = {
-  sha512.run = "f8e1e5880db961daac6e0f97aeab3f3ee643a2c50ba27def1aa94fe4938c4408622acbc34313202ae37ec0c32acefdfb06c58d4da789e08375b5b3b92eae990a";
-  sha512.doc = "7600f602f77e527e20fa3eb000c581f4b055116ba7cfc1483180aee1113a77ebe274097d09298c3c677dd5aa556d8ab3f348bfa5edd204fd7db09c21cbee1bc5";
+  sha512.run = "b9127f03d8917543f0b1caaa24344aef0356818d7414e390ad45d5de3420271a81509ded3636c3475b577d6781be6e24c94f3d444f6190bed9039dd720274787";
+  sha512.doc = "9e6c10388a7a707695e2965c3e3b851f939a68997cf880560a4a05ca3a167febeee9f1a7803cff1927bf7aecf0d6baac65bc4827c367f9c2d086d17d5947d64c";
   hasRunfiles = true;
   version = "2.5.1";
 };
 "xint" = {
   stripPrefix = 0;
-  sha512.run = "79074e625e5b57daa000941a920acec424aed96bcb47e87188808b5c91eccb93320f28172c96caf1971aea59e942670467cc21fd99e49e1de7f96c66dab83940";
-  sha512.doc = "6c21fe7b66b38a8f2fd6479b27a9d4ce819ff013e3eae53a4b36e36e36c0b41bf5aecebeb762479447d022135a99708e02bbc90eeadbbd0f3ef4f728592111a6";
-  sha512.source = "bc6f9586e555e52eabed1e7d9f7e77dfaaa5ac7659c3b5bb464c886cd747fcad4cc94a7d24ac6b6aeb36e7ebba4a5005b021ab6b77f893e765ae115eb5fb60c9";
+  sha512.run = "ec3264d51164642c9054b98026b7da7e06b0a42dbca8736315535326e3d478ca8fa09eabb62c4ad7bf8be374897efd0331b2371df22260220b65929ee952f852";
+  sha512.doc = "30823666c424eb695dd1371d6f14e5c0ac84c0c1825939b8c1bcc0f32ce8329496276263358cad91f615a934f82f1fb30f4c04cbaffd107fd145b648dcc45b3b";
+  sha512.source = "f2c10492bb960b84c293a6970a8a8c6fd7699d73ec023b963aaea075b62e072377aaef5750c94b55ef747046a3f3683930607df2a334674a2063773141a1dc61";
   hasRunfiles = true;
-  version = "1.3d";
+  version = "1.3f";
 };
 "xits" = {
   stripPrefix = 0;
-  sha512.run = "e25c3e55978025b3f2426c51b9a656c584bb89362c514c936391215da7e87e44c6e979bcc393160bb21062487a348c616422be571349afe4f66b7fea23f8b058";
-  sha512.doc = "dbb1cdfd76e36758d3730a5753ce95ef0f2547ffb98cfeac211a857d8d0ac4a384b015d587eec080d520272863bdc05a8686214771eaeaa8a545f2df6ba56b1c";
+  sha512.run = "f78a9244a0dc31a9a69d920d6228b8dd3b398abd57fdac2e21de1154c93bdf7abaac806df1a76d2ff8994c9d52f17e5803bdea7c43f0e13480301ce136c2a0a9";
+  sha512.doc = "4a8fe4842cdf000083352423735d7f34b6231472dd42a3108c324775ec97fee3f5ef457625f44ea0445c9c34e6f903e2af96c7a33ff3787069d77a4ebe70e145";
   hasRunfiles = true;
-  version = "1.200.1";
+  version = "1.301";
 };
 "xkeyval" = {
   stripPrefix = 0;
-  sha512.run = "870a4e05d6ea23e68e148e23ce04edc9042d153d7a21567a2f1b83c303a0b9a180756622839538d39f38b5c00c78c7566a1b086d003176d6898988a024ea0b7f";
-  sha512.doc = "66671bdb1391c25f0628d71ab9e67ff0afb3a3df8802d12ef75d0d64cf541016847b496a6607f5d2e6851564fda8541f2dc71b35219a495d826934d56a550bc7";
-  sha512.source = "6bbb762cdb639cf2ada621a9a216031da7b41f023c474a453fc69a38a7a28aa1eb9cda0a5db480fec0347aab38b5b83c63ee7349ea14dbfac8672b1e8830ee4e";
+  sha512.run = "5d49a32326057d18ebb2bf25d29e06362c23d9a2f9df5058457fd84c9faebb545316c502a7baa19073abdd661e9497255cbcb938684dd006b0c10ba7c957c627";
+  sha512.doc = "a2c51df068c738d598c472143af901392d181db37bb416a2e406ad1d65c6679e428efc1281256edcbd04bf6a64ffd23dd568bed007ea278362ae7378f5371a03";
+  sha512.source = "6764eee7ff0c7649a4f6b809753134dd047ab6bfc3ba1bf16e5ae0fef2df0f3b40cd83b662cde002954ce705e8f8ee5950da36b38b2ee6533e6b089e3a32bf20";
   hasRunfiles = true;
   version = "2.7a";
 };
 "xlop" = {
   stripPrefix = 0;
-  sha512.run = "0893b45c73c9e7d5e5fa371218c83fad04dfde1d172e26b718d09400b7eb70027ba86b34d840f7007ad1a30a75b7b19af00ffc879904dd6de111c3f23ab695a9";
-  sha512.doc = "6b6dafa739ce5b7f15749372893373bb9e5cf3f6848f0158bf6255cb1a4ac6be11bea574af46b8e07c0afa3d96bf0957e242d5c0c52fa5324d78515db4d47ceb";
-  sha512.source = "4e767c58e878d5642896532313b4e6be598b983981cce52fc0ed5f12289f346030ff09e542d879e01fdcbd529aa449ca59d328c10830caace1e01eaf1019c01d";
+  sha512.run = "74f6ec3dfe32715ebe0bc0cbd3181dbc4e8384be19f2f7849333c21398fbb3a43d4e3385c8eb1dc81688bdde44072796cb1210402cdfa7522fd5a9052173004b";
+  sha512.doc = "792a49ef02b67b0db85c827c52ea644235bb2d8c8d8c8c9c4e5c36d1003ab643906e7bad13ddc505e884abecbba97d495ae8d93d4a958c5ff9ce10888c29ae6a";
+  sha512.source = "e9ffcbc786fb8a5f697f23d6e229afbc39dbd9e72bf5d6ec81c396d6b8f62208004475c712301b203e4baef70d1b45cf1a5a41d86997cbfd794a68c8b2020d00";
   hasRunfiles = true;
   version = "0.26";
 };
 "xltabular" = {
   stripPrefix = 0;
-  sha512.run = "38fd6c4aa54459b0baa754be524625bc7ebde3537637daf598938085f865175b737c79bdcff531c41b7487c23b5bea4db756df54f1b7090c104497cacedfa0ef";
-  sha512.doc = "4f46e56b384cc00fafa94d191b0c3296b5c2104086455400497b50c29632426997e3616a2b76cf446c4813d2449815aa20c9b3b8a1ddfa5e541ff7a33d4b1901";
+  sha512.run = "57f734e3715107169b53c017e9524c1cd4f29a120e6f6aab7e50e380216ca2f841fb0aa5e3d5fe016a061b87d64eae4714f35dcda8ccb4b2c73ec4d5727a877e";
+  sha512.doc = "fb9567b70272ea7f49d6923a19748a1cc53615f45b56b2b573304c6cfa334f0dcf6aa1fc89a3236d814693332fa3cc71798d548323ec2b1c2bf34071ebd7fd19";
   hasRunfiles = true;
   version = "0.2b";
 };
 "xltxtra" = {
   stripPrefix = 0;
   deps."metalogo" = tl."metalogo";
-  sha512.run = "c3626a23aa89a5f8c915deb8a5d9dffd2288d6a9a5fadf305c1749ef7daf5043407bb1967ae0d68b70e782a93a1d37342a7d6a28706873518303099758e58269";
-  sha512.doc = "946ca43fa17d7ccaba484bccbf4b8a8b6959c9db752d64d37af1dbe7e5ec5928ea22acf69f852d6ba10fdaa8dea582abe68b38b7047f432e06f86e943e64368f";
-  sha512.source = "627115948630eb7d15ae7b917f08ee538f75572d24f52af401190e80d4c175793bfa30f716cd85cdb1ef474107deda0844bb00330019f142e844bd7b604629e6";
+  sha512.run = "decef1877478b8acd8a7a10abca00773bbae707dc47921adbf9e077c67fe186e8a90e5c9f35e8e8c173d93cbe799ba994f53d60e05eff4dde09525375d4e6bf3";
+  sha512.doc = "2f2ded483dee14a97d0e5f673e38864bfef93c41e0c694cd5435d37417f145e472b13c5256a7bde48c8f4439077f4055676a295ab410a7d6ecd4598955c5ff50";
+  sha512.source = "50790bef953636876456586b3908b15f914803fd87ff8c3cf4be576bf9930c2f450c99b60d390508d35d534e5d9bff0cd1b02fbe31bb29444207fff3868ccb1d";
   hasRunfiles = true;
   version = "0.7";
 };
@@ -28715,431 +29511,446 @@ tl: { # no indentation
   deps."latex-fonts" = tl."latex-fonts";
   deps."latexconfig" = tl."latexconfig";
   deps."tex-ini-files" = tl."tex-ini-files";
-  sha512.run = "ad9bfa7f05e61303525286de0a5530adef0c67ab6a6766aae52733627cb0f6dd873530175fd52b0c0ad9f951e4ce4ff8c4ca1ab8e61e836020cc9d2f7d440976";
-  sha512.doc = "bfe9d25f615402a8de874d3985c4cfc052e3efd5b43d43d755afe9d4610d6031a21dfcabb023e81909da05b133d76a58de2de3fabcb5db53b1ea7b66cd050907";
+  sha512.run = "ff49080eda4d8f0133fd1f0b2a9be88d3017dea9faf6e2b4397b82c38424289e81b23fee7b3489b43a3741eb3218afba2c76749a2aacbc163f6891e04975ba02";
+  sha512.doc = "7c80b6fed3eb28735f19071d7fe0a61672355f6a2d2111c9f8eb8766387762b6d2cb343a5e0b601b6adde1c362c7407c9d1206e4fcc4457d5f4ca66f52d4ba3f";
   hasRunfiles = true;
   version = "0.8";
 };
 "xmltexconfig" = {
   stripPrefix = 0;
-  sha512.run = "26a268cbea2f9a6b92fa764663b9abf7313cdc0e797429d9c982dbfc5ef8b26a0134ffbd630384339f88cb5da02cb02d31966de691ca36f2ea7e108ad137bc2d";
+  sha512.run = "2620dde42acffee6561f406527794cc62d87c1104135da846b7cd3c7f4109c4d1986d562ea612f2b5246e1863eff86795c4789075f8475d45de00763cfb539fc";
   hasRunfiles = true;
 };
 "xmpincl" = {
   stripPrefix = 0;
-  sha512.run = "295bba4dfb93f0487d7cd402447afe2f8582a09b21c95ea2fd7f76e77065821a1453f11b1d5ed6fdc809b292691623bf183a6b8a590b0436b350a168e93828cb";
-  sha512.doc = "c94c016350c3fd4e4c37d61f03ff5a9c2347f52c599dd20305934141e940ae3538b0a849cc3fb8583c67c0d0cb520a69ddfb6e62d8de8905ded1f045cca1b1c7";
-  sha512.source = "677ad2a928042a9082a4b80bbb75e1d60bcabf01635a05acf54d8bcd1fef2fc741627113afddbf7ac3d472a2eb3b1d0f334cde3047702fbe2cb67acff0382ea5";
+  sha512.run = "8d9a895a1efe8ce5eac190b8242c7f3e3bff7e433e1336aa7143894fbc5691c7b4fd791bae67fcefe97d16ff131b533f8b0c629580d7b5f9420e9216e932b860";
+  sha512.doc = "2757de1bfcbfe9df02d5e667564b1a69205ab86c31f7bcc8ec3f37db0fb1a1f4bb21d7360dbfd771aeafaffa4599becc801df81e339b6f49adafeb38bc1ff5af";
+  sha512.source = "92cdd556f60d8a4186f64800ef5c8a27e331e394ac0120d3e07065688d454ea821839eaaf167bb15980223552160e161cb3c559feffbc4d6657af1019f7c14a2";
   hasRunfiles = true;
   version = "2.2";
 };
 "xnewcommand" = {
   stripPrefix = 0;
-  sha512.run = "22dfc77201819efacf8ef0041a61ee7119468d1ce2c83b5733f16dcd6e2f8191012406941032307dbf4b245d94c2b9909a77ce9fe9be4abe2092e93eaac97cf5";
-  sha512.doc = "510ccde6b1993b5f7e7d5b9c539780a3a1a487de88793bedd0023215b6e7e2e40c29332efafa1e3510c0a0e8a54bebc1ba8482e0a65e411ca8831003d4bea4e1";
+  sha512.run = "3296d6f9b580699e86ee01da444ec9b3cf7b76775f05529cc9c4dd931da5f887c914665651214a8107be612b18cb286ec039ad9ab3de520bd17090b38265d5c9";
+  sha512.doc = "e03b7027a3956829823e92bd4d8a3000d8f79f26558875ea3837adc9ca4a17ce75d9d4e9136d7ebda7bdc8fbbf4a1b44fc6f71d1bfad710d2e22bba8fab24292";
   hasRunfiles = true;
   version = "1.2";
 };
 "xoptarg" = {
   stripPrefix = 0;
-  sha512.run = "af0ac82f29cdc92bfec80bb4ed298287ce2e8928cde4cbbfe1942f5e8a890d3c177b7d642ad9f662cb6e255cc939f86018149a9cfe18260b4e4a847181000c0d";
-  sha512.doc = "ecc52aeaf8b602b74d412196be984c0d0d50af7c0e728ddc1268c88217b444363f3bc664e8a9146eb92ce6fb381cc6393067f7a224805e860961d6d924c13dd8";
+  sha512.run = "3ee6285ecac00a20781ad530a7ca1ef35a94efdcc31d29084e167cde75c51b4bdd644bfb5d25390c3deef44fa7b09e479b6c616169ab0bee1e83d4e37338e00d";
+  sha512.doc = "1692c6700b978cd05cde7c0d45e970a4cc8f783d53cb1e2fc57639483e728ef5dcf29bc7563c9ce42eeaba72da93b36e366876494f3680f0fd5e8eada08694bb";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpatch" = {
   stripPrefix = 0;
-  sha512.run = "bdcb85949023725eca43a1c5216a5ce99f55840debecf1ed4e083ffb1373a5f3ec25658c1269243292c6845441fd7f9b3a5f66fb0ebe73278458e20d4dd0b3aa";
-  sha512.doc = "6864b64f2baafdb0076768b575c1e2ad38a3c8b344efca1ef83b1b0f2b276b37c712d6a90ae2ee16c64d014e85f540d1fc135e6e702fa7762ea83949db07905f";
-  sha512.source = "5040c7e7180ffab4d9eb5a8c261d87864456988c803c1b6c52972c88c4cb220f6bdcdb80a0c42c56f936c74f5e2ef94e557a0e12e9757f5188fc36654eec397f";
+  sha512.run = "8f74955f059b7cc27b01772893cb28c565df3773fe308d7862f7a41bc1930ebe8712468d8e32027d82b3b4f6c1a800b007ae202d8fe672d389f40f582ccb4e70";
+  sha512.doc = "49fb3a9aa844ffe4dfc2e2adcf3ef6135302678bc423c377e171cea4ac784d9e5045e4f080aeec622e2cb5db7f706b8b5592d65e1bab60af766aa7df586979f2";
+  sha512.source = "70bdfc42f330594ad9435acf846243880c3c34cceb57708b8e61fde89e07933f2b9bd131f0ab933d5c7b1076412e150e48357f88ff67441c1e0f4e1d294dca9d";
   hasRunfiles = true;
   version = "0.2";
 };
 "xpeek" = {
   stripPrefix = 0;
-  sha512.run = "606c9fda3f29869f330bc204410ab88bfe6db6d3327cf0a534f166a2f6bbce8383f48b3b3a210faba497355ae92eec9d28851ba70d76029300a5853bd00574e3";
-  sha512.doc = "4a0094650a5bb0e959fa3f070a698bdc4af5012daea622cf1d2c86702631a7f0d02a71e9393f552fcb55f8bad2bbc5d5add97bab5f5ea839702ba57812ce977e";
-  sha512.source = "968765fcbed214b179649672f302b93f5cd12f5818323bb6556801359907bcd054606640b815ca85b47d716377f74638db9eaccf5c49703c83865cb1e51001fe";
+  sha512.run = "dc1dd0534645be0754551b2d3bc146c7e7663f7cc9f2daf40b13a383e13883d25ba46f320317d4e9f251594dccf3a880f5e123683f302638eb3b37018b369ce4";
+  sha512.doc = "047080eda80f9134b98196bf8a06e446ef856028aaa0f936da16db7f63be144b404708045d2a49c5bdb70b7a6f0b6b505697e95a5ff8b98b5b4f1ee8b2949367";
+  sha512.source = "a7e8c3f165314ab79f8702b8ccc82200398e5d5798815c02a7ae3ea0d70dd521d534c50e93b822e41042eb6a0faea07d5f129f05f427e47c2abcaff3adbba459";
   hasRunfiles = true;
   version = "0.2";
 };
 "xpiano" = {
   stripPrefix = 0;
-  sha512.run = "cfefa5bf086110f80720a6884ed03e35dee223391b18563390a5844f3dd1bd38daadc7802fdca95affe54594137ac87dbba1eb8067dc7e1d522f5ebfe0f3bcdb";
-  sha512.doc = "72be73a4847da5721c2f3499655f3005e2ff2376c0515f39ee3bded42b11e85677ccb8544fcd4c482e52ada35d2b341d84934ab4393cda831546162aa2e990c1";
-  sha512.source = "fa7bd44ca647a96b9246468483440dba87e51bb2fb3cc86a984eeb768d407546934ea12f96bdcc4c782d76c260d94faa66e4b2fe8327d3837078c3168556bc62";
+  sha512.run = "3554bd514e1108649bc98d38dc84951edf17533758325d46726f55d9909d1a3747024aeff62842dc6eb1b5fc760c41a452e207b156bdee06468e9d7732e223b6";
+  sha512.doc = "257c484983eed03adc77b1776c9207ff89b4152b817aa09fb57cb41d8f6494af0db191c61b954a7f2a605cb8695fdd0562cbab1e0c48f85329c3ad61fef0e62d";
+  sha512.source = "b52814268736b61fe3f417f410e4b29f778b6492f838d16894d33db85645799d52d3d744f10b429e68e315a142964b2f5ff57f15e9c4ee7e93a58dbd4b0fa2e2";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpicture" = {
   stripPrefix = 0;
-  sha512.run = "93c8c9a572407f50a2a9067ba625bb1245b95ca3ab013f6f19e6ae51648fb0b62e0517e01f642acd0cbba147ff40f47438e1f90040595877824d037caec3847c";
-  sha512.doc = "05f796dd3924554457db2772e5b6612bd1f3ec35e66b28974d650edd0bd078c7d636df076b98f82f48f012ad6537f1320da4c144a0eb2bfa99825daa51decbce";
-  sha512.source = "029dc5c127f2249f4b262b753544bf91007de53ccb7a5136f0524bb6a8765224ed39fa4b7fc5bf097fa3848d1a3d632688f2c366b758c0b4f504d2beb40207a6";
+  sha512.run = "1915b8b9acb3db8d4f8ac4fbc0baab55d6b8352288852f20d066a3f0ce4f7dd0cd4d2d70ae2d2e29aadae0bdb272fcb237146379313b2900accaab2bc10ceb79";
+  sha512.doc = "dafacd0f38ca6a248f701cf48381ce0a3816a693150118ab6a7e18f818814a1b54435820dc8c11135146cfde3d40a08a0f2cd78bc54a9ddb450bb5c848b99e84";
+  sha512.source = "e49b8512ef83ec38f20dafa1e5f191cfd4c2bbcc62016f209be06f969cccdf3cec9545a24756710c767946f8c532074d53de8a6bacd6c565fdf49c579b0cb6c7";
   hasRunfiles = true;
   version = "1.2a";
 };
 "xpinyin" = {
   stripPrefix = 0;
-  sha512.run = "2b86ba27690c215f9bfe1b4c464e7fde3fbe4715f4e671bbd194f4f2fa223edaaa5e910ae624fd9bdce9bab347317238080b6e0c2e69e7c5fd8b5365d46beb19";
-  sha512.doc = "37276b25a2365c6ccd1178ffa3f4cfddfcebb9af67f83b10a1a501394718f6014afd896ae3ca928203e50413e5f02e63c511e7880e9420466b2ca86727cd2159";
-  sha512.source = "e472f33155a31c3a423afe0a88e9e688c66e5191e14d2111c612bf0713c28833f70b0ec40d437f9d13bb3e0bbdfc625afd536f8505ce52235bbabe518c867f00";
+  sha512.run = "7235eeaf6b0218d4ee87a07b8b16034cbd40ccdf77c96baba14d4ab8a6bd5de78c5f5ab68891a6a91fe4bd0a77de146c357f4e4af4ed443ca8a38526f4f53240";
+  sha512.doc = "b20233a1ff1f2f1f1474e5bcf81fab3747c26a3312d91297c73d1e57ebafd9459727c91da025b5cb4c1875ba5876873eb8099ad4012d85a972dc4fd1ea90e7e8";
+  sha512.source = "47dc1053cdbb87ed09e2bdd6c6fe447c011c1c2af4cfc8a1108431aefc3f5dca069a8bc60b0e97c0775a1ad1cfb54999a69ceee7f85fb493c2e8b0f6d634486e";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "xprintlen" = {
   stripPrefix = 0;
-  sha512.run = "f1bf6eb609e15cc02d382aabcd6c1acf7d9d2fe92777858a8727a9f55fc68717694846590d4f1b8d873b470c3933c6db7b36ec894ed1fcfdcf9cb24844a9d838";
-  sha512.doc = "d137770c9f83721d5d113b8f5bc5d91758ecbb1af2f11b18565130ff0fcbd3dc370b35facdd026af597e2181248292650febdbb2e80ecf59702c7f680c29ebbc";
+  sha512.run = "dc446adfe453430d5e2c9155acaad26e258a36319490a5158f0874292e9e68c1eb61ba57e361b5ff8bfff84c3b4a359709525f42599b95e9ba19ce9e28f88423";
+  sha512.doc = "5905ee8d3589b7d75388e6e2355639435f3a72fa99abc17118068069715ba7220fa3d69f58e046d7972814bfa3834222858bc8933562ac91f83ea250f0952d82";
   hasRunfiles = true;
   version = "1.0";
 };
 "xpunctuate" = {
   stripPrefix = 0;
-  sha512.run = "96e227a1e184c2169e947af9ca4f7510640b3ab9f987f4f91ec3d15896bab29060087b355ac7cb3d7eb0c8773a0ba4f3119c80e70eb826e6a6b4ae1203b3b94e";
-  sha512.doc = "6906568c6c7600eeeeb99706e0735f5e8a5e8c469a0008a60981494f36f830bcdb9fc2a826f52421ea4f2b8842526a487e97b6741a3a9319e96a546320d83b17";
-  sha512.source = "51e4bba0ce5d5fd596be625120ba84a161c0488777001e2f4dc3ba4a296dfb944cd8e571001ed51e03e4f60c1bd38d5d03e3ae517b76d65d7f57bc3df0418604";
+  sha512.run = "4b69969632691a529ff0127f21a5974a509a29c047a33cdfc53d1bdef1aacee7d6ee8eeda5d185759b60b2e4dfcd0dc59948a8156767e2a7ced0256aac0697d4";
+  sha512.doc = "04a839972105943ad72b848adb44584b647a3e52842c0956489ce82496d005ce35f4b8c8e6be1337b5f65616036b58e9543e7f4796075f9828aa9220015e441f";
+  sha512.source = "02b04679b0d5ec75f2972f786293250e0115378fee96845249a221be1cbfdce9d03897f877b82950a5c80d117d4693aaa60c06d7effff9c50e63db8a6e1e49d6";
   hasRunfiles = true;
   version = "1.0";
 };
 "xq" = {
   stripPrefix = 0;
-  sha512.run = "bcaa78b9e4304d92cfdb38d956f6c43b2786afa4cd4f9a0a42ee1f01301470cf2bc2db226adea339d3207371de45a96cf501da3b81ff99d85f1625caac2ffc2b";
-  sha512.doc = "78b364c799692c6bed7a10cc53ad05ad2073b457664cd849090c998e53c5f09492595c641df83824c1e0630a678ba30eebd140bedfbf3a4c6e685dc2f9ee8b83";
+  sha512.run = "f1fc2f43099e022aaac631d4ccd1e5f5b9a9f23db6f1c6c3adf59d47dca57c25728f81ead0ab62d07b9bea6219e3121874c55973b54e826b1a70c5e4fd47c853";
+  sha512.doc = "cbef1b95b4db328cc29d5f4fef544459b893cea82838e9e1f2faba00dd8fc78bd12d36931dba4ebe76cbe985879c30b8606df1f2091fc8d2108311350b2ea339";
   hasRunfiles = true;
   version = "0.4";
 };
 "xsavebox" = {
   stripPrefix = 0;
-  sha512.run = "bf374d7f9ad1b305ebcc245a5dd9c628f2c94914a6d9b9344686eec0a682b57cb028d844fd00a77415a5949e6da89f672df8e841ad3539337d9c85ebd0f3657c";
-  sha512.doc = "d4fdcfadfb882c6382a74e1af0df86505e2ff39be2e0c64d3ec31f44e3c68f968d7c475cb6acfbbfcb35eac28661904f72b970795266ebb2f5039e66213c1c2e";
-  sha512.source = "649441960f2819110b543975cc80fdb0387466dc609b47a6c59a3262dd8808437bdf9c5ae6493ce77d29e22952270b188f51cfd5e7ad5caa184bdbe1a6c6328b";
+  sha512.run = "bd4ecfee707499f13bdeaf278c5ff67807087fdc8da3c38d135e7c0fe1a4b5482751ffece77c89c4efaf1371a08962f0d470df4998863dcf0c69219f7712adc3";
+  sha512.doc = "6e0db4e18ea4a4bf7b4fe7158b226e20c7e2f348f727f9918ba739d9fb5daf7489bdd78c237b44575123cfbcca46eb38de50c5e0f7a5c7c1d40db6cf1bc6fd4c";
+  sha512.source = "b842a4a5655c01b35557b99b136fbffb1f1ecf68157944c8b21e112aef0b59dd63db549fdde78d20dcd2b15b435c521a3a851d231795d4de02baab508744d825";
   hasRunfiles = true;
-  version = "0.12";
+  version = "0.14";
 };
 "xsim" = {
   stripPrefix = 0;
-  sha512.run = "1861dc96daf23b925ec9fc7a60123bbbb246c8ae30e312e28b0a49c23113cc6c9f7a4ddd81b0f3deea5c178de8900f55e84331cfefe87ecdea11d5899ecebc53";
-  sha512.doc = "93ebbe49300c57191a217d50df8a2efd41d5cc37d74ca728cb97e55cd24e86462f74619ab252b5829ae7b635ea5fd933ca5538ae591c3a445fc74ed6d79d4644";
+  sha512.run = "4cacf876c020262540a136554d065844a428ec754c03f2ca2784eb9e0b7815c3fef01d6ccee44e789a5115a1d563317cef3c3d80bd8b1306d9a441cf6b049581";
+  sha512.doc = "842a1fe4af1c6689be3f647d464a521a42277bac34829a483312e188656c6366493cc0e0fbb1769552a9cc8ea50ceb2c6f17adee97b264e67593ed4a71307f53";
   hasRunfiles = true;
-  version = "0.11";
+  version = "0.14";
 };
 "xskak" = {
   stripPrefix = 0;
-  sha512.run = "cc3faf88c971a023308fb4b1f23ba960e3af3e044b4ff3ac1522e4e31f8ef71932b5d9511e8ed1ab6efdfbe7bd1256a2e18baea321e89a6daf420676f425ee63";
-  sha512.doc = "bb342aaeea3950f032b3f81841a9c2174a11ad18f15a14659e40f7e0548b0c57e7efb50e7b58d224be7de4700807f5ead4524553f35615ddd7d333f92b7ea718";
-  sha512.source = "2f7d7a08e516e06c083b3ea8ae103de171701c74cda34d0fc9bb16904fb98f216a27073aa9dae7b490e6b2228d2f156bc1ed1ce3a7155acefb647ba8519716a1";
+  sha512.run = "202f61fffbf22346ff6ad6b2b8f411b2a8e4f58a9d53e5613810f2fe0b56b0c73867f0c1c293bb0c1f0edcd4ab73135ae33a953d3709d2d01060c1b638842dd4";
+  sha512.doc = "6256df468580dcee451e4a650ebab0323c92024e9bf872fd683af1f10c19221887b5bd1bed7540a517eb6716627e689759b7ceaaa2944869e18591fba5467114";
+  sha512.source = "11119e38b4f21663e36764d2b9e7da22d9493de7296590db4beefe185b2c9e89224806257d3880c78b07c3984478843b1886e37e5a33fc798920be221789de04";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "xstring" = {
   stripPrefix = 0;
-  sha512.run = "c97eb0b1f2027d07a5e78453340393ae4d8e164b02ed0f61c5dafd872a7ed86d15d31878662381eef6517c8c3a7c6ef9f7b49bb984f07fe56605fdbe8dc91056";
-  sha512.doc = "6c2ed600c6e5c734bb35b92e6ef3d6ec08919e439b9e601128555174254da1246f3d695c2d78d95aa811909859165768c49666dbbce5fd923645082719db2048";
+  sha512.run = "82254f103053d91eeea4c6230142de06138c392542cac63731c7b34fec5130984bbdebc29ac3b56998717dca11ad444c44f410215b6b89e6748029721a9daac6";
+  sha512.doc = "c0c17b82ad0d5aad95d312935e0214a7e5404a23b9a284a56ac92ec9ea936a9bfd3a68a5b01e29c131b7850a3fd3922ac87020166eaf0a7ed9d695dc80d0a931";
   hasRunfiles = true;
   version = "1.83";
 };
 "xtab" = {
   stripPrefix = 0;
-  sha512.run = "ca85c140e4c8a5ea4c6d7995ba3ab398eea8c9f9d24e0ec2d0e3a157e344ac2e64c8c9878a8498acfbb653b60bc912217257b8bd67325a1e5864c2f61fad61e9";
-  sha512.doc = "2f3d9d0e2f8ffc9dce82ce400d9556d10cea0cd1d5eb409f23c6e463ac377f0a17a4ed103e9a25606a32e07439a64635ccb7579dd5b2d4e5209051bb4054134c";
-  sha512.source = "2a9eef14c5595836b174fcdb944a434f4e1e6611bafe36f9e39f0f393e2d3a4bded7649799561ee5a31aaeaae21b6822fa3532839e456d885562d16464c88fe0";
+  sha512.run = "e308d3ae3ae32b945450b319834dfac19b6006cb0ede7f21a91999b840528927aaca7cdc330a02ebad874602d6d268fd1fe609dcb52bef2757b2e0417310e012";
+  sha512.doc = "10a158bf2d50fa89355654da36a179bbbc5d30ef3efa8a79537de66c50a892f540938cb364e45896dc079266d5e47bfc2c74b8cfe01ec1691cde34bc221e4ca2";
+  sha512.source = "0ae0bc4d96f8b7c4dd5bc62d56538ef5e8f5d8d8ecdb114759209dedc722a2aee1b646a27cff611bfd2ec9ac96f0633393cef9d3a13a6d54978740b28fcc09c6";
   hasRunfiles = true;
   version = "2.3f";
 };
 "xtuthesis" = {
   stripPrefix = 0;
-  sha512.run = "13a166e1a798d485eb40c99687e88baa7677fee87a1908c407226bdb217c949924ef477dc4cf6262d108748730f00b822da1e855f79119b8c09f792b3df9fd9a";
-  sha512.doc = "95584b648df62a481b6fb83594684a5c25634815774a953035c8af9a0ab82350718e08bb6b6d0cab05c521d3caafdd9e56dead1edcf43b03ede7ab67b7fcbf42";
+  sha512.run = "5d9081b8d197952aa5ff58b1cbd490bb529cbbc1b72956cca8dd28b1b6bc12c6248d3d04fd457349b30df7594aa1872ce9c8438feb67af1b93ff0fd33eefcb7d";
+  sha512.doc = "96e94598e3e397a9657a83496d940aa2525fdbe1ec2cf820b05e5493b1f3e1c45568e16b62c22d4ee25afe2bd0657848a433477e82cc8038895c2195139ca065";
   hasRunfiles = true;
   version = "1.0";
 };
 "xunicode" = {
   stripPrefix = 0;
   deps."tipa" = tl."tipa";
-  sha512.run = "48f64fa5f60271fae0c9b8c206338677e0bc82ae35e78e685d1f77a30604f09431a6c2afe50d8aafcef1741ecfe5446cb47851c6dd4cb11e986b60e640ea15e2";
-  sha512.doc = "7a1abf2dd807c92bb2a5354fc95d5db18a9da81ca007a285ae67f037970b718b8761a6c297bedd938ec63f2965a136076dc8b12faf6425752e321181ca4dc4b9";
+  sha512.run = "f49628013bc54e82bc38a2c749ddde9426c65716f04c5c8d8264398b9595e571d380e07c045db9e7ed5d6df7d0b7b1f8e81eaa28d6b67a6756d2c5023b731176";
+  sha512.doc = "fbd368180c97649944aa23fae4f50f8a8d1aaa776f643ba520f121b9aae196dca94c11906f9d5b2f961b6d494256329670af1f4563502b44a8fc9633e29373e0";
   hasRunfiles = true;
   version = "0.981";
 };
 "xurl" = {
   stripPrefix = 0;
-  sha512.run = "b2468b70d2b05d0352fa8e45e7debcd3a48c7d48acbf1f440e17872edce448b23ae8512f182fa15b314bb20e7930d5ac6e4869f56c53d3dbaf49e7259c5cf10d";
-  sha512.doc = "55d68a31ca318fd1def5060247a5807ce4b5dbdab19da1d0ad85988fe7c6328bee99b7a73a44b0a3c81cb107cc2abf3d40ccc2291f18778cb62749484ff4ebd7";
+  sha512.run = "aa1a45825336ed3d62aec9671c53269c3e7e506092fc62e79075ef5bfe483003c513e402e09595ecc9a2f77f637665bbeff89948b1b6c30bcde2022bb110b1f7";
+  sha512.doc = "e69e6008e98bd6de089745223e9ad9690ab29069ff5e6a7ada1bdadba24fac2e16d703ce7534c8403ba4c1a9f84fb53477a1eded5e9522f8f15f17dde463726a";
   hasRunfiles = true;
   version = "0.07";
 };
 "xwatermark" = {
   stripPrefix = 0;
-  sha512.run = "237d1c619948e93b7640a27d388111b3cb626e46e1c30224c9a08ae00179ddf4e9a36c1c9f4dc4bdab0d5ba0360ec0b849b96c8eda9f1d0bca63adaf6dba4e08";
-  sha512.doc = "c3afc4f4590e2d34fb1f8d6f6e2fe4542175566918b2113b92e12c35a3b2257194d465e4e9a3a2a67eee0d26f2d7a24da534db61e3dbc53d4f962e8dd8e353c6";
+  sha512.run = "705c9eeccda8b2475cee782f6bb167691e985324361e6dbf147ef9843489f572f2e0b9e47a9f2beb7fdce68ef12ba2bbcb2ccf23c39db489d7d4486f09ff5787";
+  sha512.doc = "70436c9927ed6c3c7604e1e70fa877b9be80287a18d9257abc85526fd756be5b0712b28b47b3271787f6ab062743964ca6eb5204005fec33c3a63d2dcab960ed";
   hasRunfiles = true;
   version = "1.5.2d";
 };
 "xyling" = {
   stripPrefix = 0;
-  sha512.run = "f088809c8a24b47273ca65190bebf554c9f2dd9a552fc0a8c80d102505acd2b963a9695c4eaccc5c1a840d246fe7764600ea85a51782198fb63dda2d9de34f12";
-  sha512.doc = "f74b23c8d4d4e1179b1d7db6fb07b8cbddb47cb528bd55af30c07f074240218135d05deaaf3379be8d61cb30a6aafdba8e756b73d5da450a15595a159f1a5010";
+  sha512.run = "5f78d2d61050d9ed84d56136fe59b4674f4e03a536015e3ebc3b9500dd8a08878164ce9fb1aa9ca9a1262a000149061f3fe22f10cfd68941316aa186b81fe923";
+  sha512.doc = "7b4ca312ea917329260eb0a19bd504ac2f3ddfb5f066806296b164fc541bfe26e6ed1c03ffac5b52af6b19fb4ba1e77b5228ac4b4db0c2ee8f2394fc0f888d09";
   hasRunfiles = true;
   version = "1.1";
 };
 "xymtex" = {
   stripPrefix = 0;
-  sha512.run = "75eb39c0a4f5d458d41f4577408abac1a286699aad1ed1baa6775b7ab91ffb1c64b50b475973436a0c08b410b594cafb1d0609a9c2cbbb31cb5b56764f2dcd62";
-  sha512.doc = "e48c57b22ee22baa32c5595010f095d35711c9bf0bd72933248d730204369e882df80a5cfabebbd19059f25c1ee3261228b293e8e8d693e4381b7a8d200bf78d";
-  sha512.source = "25342068d6c0bbb8971456388bfd89702586ebd6526015c835f5c76db7efc39e6418d40266ec78763d22d3ad4bfb4c7937ea1de95807266105036c092d57cc61";
+  sha512.run = "9f0f14d1a862622ad0ef695a58f7dab554daac8d5151193a70c94ea872d16fe8eb1a763d03b226b08583db484bf576f5a41d2070d5396ac323ed00ccb0daf5e1";
+  sha512.doc = "0e2eb5439f2e629da902e4c7d7ddd2d03bc4d654c4ee49e6b005450174acbd70760b52c9deb446ca60efe7c0389403584b86a6f9c9964cf24858b13cfccf7ed3";
+  sha512.source = "d805d6fcb72fb801001ad80fe43ee36126c0764f8baa96dff9fffcf7452bba8e5cf42cbca6a50b89f5925607c277b3fb7408f8f7e6ab087edbade0dac294252a";
   hasRunfiles = true;
   version = "5.06";
 };
 "xypic" = {
   stripPrefix = 0;
-  sha512.run = "279443d948442972a0687a57a17c336236f80629c733b4eb16a6c9e3f51507c63a92d7e91d01948ad3fd19ac62668f8552d4718cc56de182d67ccfff3643a057";
-  sha512.doc = "f5412a4855ae872c4db22f9d2d1caf45999d51ce34cc033fb15bc602d1854c792283fc968352d7ef71a7d374b1c4642e1683371b16f473f0c46cb9afab244b0d";
+  sha512.run = "5bf1323499bd801e2d5e9ca2eaaf3d7726ed6b8063dee18180eec775ea4d2f86cca8bcae262375455af64ae00951a41b34386fd90666a2a89114a2fcf23ccb7f";
+  sha512.doc = "cee264a3a8ee8f599b2310b4c9b722835a61fe8455c3f873ba91ad22ac7890cff8a1ef25f3d0b80aedd6420f31742f4e533fe20fc81dc83e4cc018684180c7ff";
   hasRunfiles = true;
   version = "3.8.9";
 };
 "xypic-tut-pt" = {
   stripPrefix = 0;
-  sha512.run = "7c95135ca19749bbdfc68a81a870fb9a385def4e634d334b486af94e65bf6a679f56c957cbf678cdb3c1cc2e40a69586325c4d4136f791ec90d728a48a85caf9";
-  sha512.doc = "076012386598121cf55b714ea791190d205880d090967bfe99cf99f46890411fb0b09626ece55838ffc3996c062e45beac179ae312798bc2c2423a4d57303502";
+  sha512.run = "291825c3461b397deb825266c7ee4316c5d04b8db1a29759378409de55c20d81552e31260468f4fa6a9a04f04705422714a8ec70a866c87fca2f4f1e189e0e4e";
+  sha512.doc = "e27dfa0b36341bcd02ba63a8b543f1a6c55c674745cc790543ea2cfded80e536e5901f184a3af62b92b4534c738a06bf4fd5cbd4dfb4da865d13991279309aac";
 };
 "xytree" = {
   stripPrefix = 0;
-  sha512.run = "cce2bbdb8d5277e0ebff99b2bbed60d0b2b8d6377f160f9441c611fcfc1cc730ed50a427e715b9af30cbcc638a285169d1aeb0738b99255ec36974eb1429bf6e";
-  sha512.doc = "531a441471dfe20645408c8899fb35188e41e1292bd2c149e2901d61749a8b878d399899b9f4c9b5392bf3db6d4de4ea4e73e136e9d110f5e52cb09900a07b40";
+  sha512.run = "fdabfc451679f7ef3752db2537a7dd51e9c0fd34337e429f24e44728ec1ee0a9b97fc2f176948440a5c1cda609182f60d4c564ddcd76c70e84410cc6a0b1f371";
+  sha512.doc = "0e2b08c8db25a5bd992c8aa843d8f6fb2e0efb3c11ea9dd0ac69106cd71f58996f73786513e0ff13bfb54932f468297edbb981e3efccfec2652f80bb02fc6ba7";
   hasRunfiles = true;
   version = "1.5";
 };
 "yafoot" = {
   stripPrefix = 0;
-  sha512.run = "d2905219906aab9a70ba0193c074bfeee15cc56188d8f5ebcdbf7ca249a6de3c2d3a1c166b456edc12d549c47d2b4fea70374b39cacc786e73e0eac54bc893c0";
-  sha512.doc = "e3eb43caf1dfc0c32d66c3225810ded3ec5ddef96f980f7d2a858d21d16ba17d3704f8db24171afbe05e7bca5fac04c60cc96ef4a0995a8655442f66a7c60357";
-  sha512.source = "333d929c54875c31874aeb9463b0f5532b66c129d7c4f3d21f554ef70fee136eab8216332117d7e5146374fd41536f4c5c5acf190d9e5ae013bde808a6bd56cc";
+  sha512.run = "75ab34d40fb051000783abf573f4507e3791ea5aa1cf4b8571ad16bc020f10d17a49220a2878e5a2791fb7f073613ed20d72cd5618feadf38e290ee4f047e615";
+  sha512.doc = "322e9cd25fd7686c4325d04bc7dfa00aee45fe993bdb730ca3669cf860b7cbae1dc76483fe3dec11e09ad848f166a01f43ad0885e0e9fe324ef28d28a7d2b4ad";
+  sha512.source = "5159db9c0f8e1f1ba4fd265c1188c47271b6da4290c33f65e8284b0c95d8144a3219951e13c1fb8e7fc172f2cd0094cc73d63fcd0cab67908f6542881930d772";
   hasRunfiles = true;
   version = "1.1";
 };
 "yagusylo" = {
   stripPrefix = 0;
-  sha512.run = "c892b8d8d65d27d24a5e2a83620ec680c7affaaf745516da9ea2c66d619ee3052e7822ee1fbd9decf12f070d2a9dd0eb7f0c098870ebb2d4f6de7d77a2c9664c";
-  sha512.doc = "45f157c6cddda3924048473fcf03b8c04828c125347ab8d0fc4489f9739843b00004dabc7777125425a5e828d003271adae323fda154d78ee5898036d415c210";
-  sha512.source = "59de94ecf829e0e05074d1698d9c161232723eaed000a6653811ad2610702eaacf65a0350645b1ea96657543a41e36d3b7bcabba1e7009f394624b84025f8649";
+  sha512.run = "f6f367155aa16ab0133957fea3c099d4e839f248a87ccca430e43c08257b2aed3a11c77ceaf8484097910bcee2dfadf260ab5047fa7f0244b43bcf332f367bf0";
+  sha512.doc = "0ba73f1c7c7d7d646312f8a3d35c0d063e792ebae45c3e869565f01ef65e14f31bee463a1ebb8ad60166d54cdc23a9d21684675a6ccb09b8da233badb0d0ad96";
+  sha512.source = "0bf71cf46e2cd66f9066dda7e7982f91e06803ad2c89358da94fc0ecd593ecfbed8b36ea9668f3e713987265fcdf03fdaae08ee9dcbf36ec1d22a91e3bfe84c1";
   hasRunfiles = true;
   version = "1.2";
 };
 "yaletter" = {
   stripPrefix = 0;
-  sha512.run = "1de125dceae7f40b392fc0302f20363f7f9fa71e4b421686157a3d590a98be6d28561f8481d9e3dd4cc09bd5f6ed3f86bfbc58fdd27482a130f4fb148ae7d7d2";
-  sha512.doc = "05830e1e7ff45db7e629d25462c3fe3a3840bd9cc01ea272f3ea5f75867f6193ea5404bdeb9a7afc345a85d091e4689bdb2759aa2e92a2bf8b39314956efe48c";
-  sha512.source = "213f827712d0ccfd3b45f518e850ec46eeca374034fe112522694ae8dbbaf4222243e457f930aae917c5d07d6338ed34d57c0e6e82dac72f291aaae89e3a58c1";
+  sha512.run = "28765f3b6296ea3b9daf671543b7b2cf371bf2aefb4f3eefe6e95d50ee9a11516a7ec14fec5d15305e8f52d0089072cf10ce9dd4cba30c8fb60fa75365ff0d22";
+  sha512.doc = "ed81b08b0306ceb519c9a652ef0d271bfa486897b05bc3a91a3840e36d348ea86bdd645ae236d3f34de78d038de988a023e542075f871aa6d8752d9606910dc6";
+  sha512.source = "a2e64356234f9bf9bed1a73d5ea362ee487fb3eab43dc89241bf21c7033119e030cf3db81321b1eba245b3330103bff6a7b9f345e6df27f47de35ab9df4a6ace";
   hasRunfiles = true;
   version = "1.1";
 };
 "yannisgr" = {
   stripPrefix = 0;
-  sha512.run = "9568f257477e633152a7e4ac180fab2cb88e800f32aa83990d8dee7c802c5c18f7e968c0a69c1ea12b8d6f571ce688aef8a9d23717c942cc7b47e6d9db4e62e5";
-  sha512.doc = "0eee79945fa7b22592c28618a996d1336840ac72fd51787ba93b40ca03b435c97b3ff150ede653f4069471b5f8c5d9891b3db931d95ea9a8562489f94a8401f3";
+  sha512.run = "509e69acdef68eadc65fef6980e9166c6327e8927fb9cdf6a7a33786a8668ac9b900954a4bb661f223967b26dd240d5ebd91683658b324be284e46876c39061d";
+  sha512.doc = "40ecdfe71670357e8ec84fd262015b5b5d0b8e486ab80c05d0863a335649501e9548d785cc2b2374f989b820dadd9a074cc229674dd1ae9a6252d4a0ebeb4191";
   hasRunfiles = true;
 };
 "yathesis" = {
   stripPrefix = 0;
-  sha512.run = "1461f610322417d6b9d81149857882116dd529a79c327731a0490d10180d26f6b4943dbd7ad8c038a124d4f4c0cc0b9f630a18386b25b1e637a53e858e4eb1e9";
-  sha512.doc = "3f48399e1b70b314f8b3eaf081a62beaf99abbba8663adca54602bbea4c9ec0a84ebad9f6d244c8e37da6cb7db911dbdba916140f0926b3b4025d2e624d6c4bc";
-  sha512.source = "0a469937e6402bca80c7f5cd812c23f225e802f84d9229ff7180dc6ad7118cf41f56e2e7bb0ba2aac611b34f7ba229501ab53e5198bc63300e8abea757b2c6fa";
+  sha512.run = "f1ce86e173825007f87c2e4c3020ac761e7689cc079993dc7fbcb89985cc8e2684eb5bee4dc7e0a7bf44df0a37fe1d8fb8193e7006b511c256dad2b1b1e1ca4b";
+  sha512.doc = "55f640414d27a1786edb8c1e4542bdabef94fe89e40c5eb06b56db97c6cd06f72f9386a4d27e674e956e7230015406a8f9df54f90e898ea8b7f174f5eeae6dd6";
+  sha512.source = "f3014c4a15010794a30c14a51f9fba4ef39a128e4dd566991b57bd66be3f877745e14c8b1f8e50942870dd3867c892a99d352a9c2d8b275fb299d8c58c511de6";
   hasRunfiles = true;
-  version = "0.99t";
+  version = "0.99u";
 };
 "yax" = {
   stripPrefix = 0;
-  sha512.run = "093f5c2fb8b68387079f4d6417af4657e40e7c59e225450897d678aee7a97c5db05f1889187d8678c796b03f9612ae4b3b1db15a7649f6ae0824bc82cf7d2864";
-  sha512.doc = "d3d21f054d03cd4d7eee01352b0e23a2755ddee77848f7468a62db4cda4581baa6b48aefe270eff20713c4181fef69d59d0e86a40bd52a794cdfc37ed15f1aa4";
+  sha512.run = "2fad927b46209e0705f96bcc5aafa9774d5a7cd7e4f984e48950525c282cc5e2273a21f5645bcdecff0a102a236f9f8470fffde829b44a886fe40f47699f94b2";
+  sha512.doc = "f648b61eebdeb9a1d0497cc22205361c5495139fbf835173e067773956793c28220a6a6b8d3f7ac7f275cbcbb77b06a1774e0f4519587fca390d0aabe34ccf80";
   hasRunfiles = true;
   version = "1.03";
 };
+"yazd-thesis" = {
+  stripPrefix = 0;
+  sha512.run = "9f8350ad1d606769e5c5825bfa92832775ca7a120287013119f01e3cdd54b052a9bf51cce2c7350e5f7241b4817a4b840590bade6c07646fc519be5ba2d9e11b";
+  sha512.doc = "315a82c7e548df4c971d9281f5da6e58a58282a3b05ab23eb41befe4cbe56b278d9a975c920d10cbd387f8809a2301ce800b9fc1c482dd6c3821040ac5911aa0";
+  hasRunfiles = true;
+  version = "0.3";
+};
 "ycbook" = {
   stripPrefix = 0;
-  sha512.run = "4176b76bd032ae85a41507dba02d46a8da7a453ef8624d659ca43a8a15d6aef7626c74c74d7442cc2211e411fcd663682c7199f7486e12b434f61ed2023803c9";
-  sha512.doc = "2891b2941e5cf93aa8c08feff587b06b021a2ff6537cd3bfa4e5c19e4a01a38066e7d2d001b6bd467fc4816c72f002ea434592848ecb49f5d64afeb8af9bb2fc";
+  sha512.run = "8b98cd81e5f1252063da8dc297eb5580d06020a343638f7c8a1090a7f056a788eb4322e286f12d821be79fc7de94262a4ff15c14a1c787be0de89ddc87541452";
+  sha512.doc = "45ee725849230549b4b2f200e0b140c1fc99a60d91730a42d2e3df63e828eb6053845a2eb84ff25bf916341df46a3f3c01166848afb291d322dfb21426903644";
   hasRunfiles = true;
 };
 "ydoc" = {
   stripPrefix = 0;
-  sha512.run = "1799f5f254abaf212ffe1414bb7cca287b2d2ce67d244eb7291724a45664064b4e2cb8f6f7842da79e3e9b7348344df0bcb12639413f1e5dd837f4c7ceba4beb";
-  sha512.doc = "64493f010032f5766a368d5a5383a7a1125520df496c44ab2878f4c3b883c21067828c215e2c664ab7e84789d5cd2f77ad54b6aa6dbe7b629b9e4b020ec46924";
-  sha512.source = "03eb90e0801692c280c9a11cbb800f9ac5e2060bd1b6c54846d6a8d54b9a5931accf0b31c6ccbdaa11856b343187aa24be4df8f6db26097ed8cabeaba3eae818";
+  sha512.run = "4e4292e4e6e6b4f5db8ff0721eacb582960932f48a221835c3e07841168b1f81227fcaaa41ed619430c5455edaef38dc073a8cf6c584ac759e88b9f40710caa3";
+  sha512.doc = "c5257e669d802563c6ecec45a53645a69bc4c7980c95dc0a98164c950c1e5b12b5b4d012bd8a97164fa9b055eb84184c4df520b08949f68283d2ef2e33658838";
+  sha512.source = "a7bfd7160ce16a03505347e158b629c98519f2114f057529a52caf24f818d1553e76714936a9f92b0020b9d16826b5fd259a12d68fe63037cb04f89ef11657a4";
   hasRunfiles = true;
   version = "0.6alpha";
 };
 "yfonts" = {
   stripPrefix = 0;
-  sha512.run = "3255afcb65edec91b190c4e3e48f83ddd62f3f0fe180b5d752864dc75092d34073a907711092fccb3f5de6941207d2f733681400600196a0d37f282618230e3b";
-  sha512.doc = "eb52f8e4e23e5b5bae98c3a55cb6fc070161c72c49eb44d600f8e91e13c9c9ca0f583ea4cd7461527d4ba18ecc7de400cdc705b2416e45c4ee9dcf82033059a6";
-  sha512.source = "26c297fcae6d7aaec140d8d8668f8f8898e6946694a93dee00d1194fcb70a3cd7cf8a449029076b1e888704deb5d93e03fb7e152ea1e67034fe3142458796751";
+  sha512.run = "1caa22023c93ae1e6a2fd94676da61fd576890f991a79d6a9724a4e5f7e653a752c6af792a1b15d44aa956f5788aa995614a33c2d97e95865d6a364f833e539f";
+  sha512.doc = "54857e6693242080c5f410ded0bb16d3df65fee2834b2b5d1232dd063a70796905771059da07e7d92358fce9da992c3e605be345ae7c5d4012d37dc37a17dc82";
+  sha512.source = "c716a8ecca03f0dbaf07146021977fd802e2089c5b99fc7adaac1e581ecbfd4f4b1a15562a54eea7c783f5b8b6165b935e484e36a456ef81729751c777266815";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "yfonts-t1" = {
   stripPrefix = 0;
-  sha512.run = "51183e1ef759241e39aabe3ce1e4d9ffc42b3292f5c046be534b2f470191630faa488396eaf5981bf03e3ae970d5ef34dffc8194e30d155d86e38947fe1096ad";
-  sha512.doc = "892273edc0bbe58622e8073ac2cb4a92a33cac4aa6db339bace7f81f42fca04bf05b86aab4b138d16e7da3db42ced68c10459278cd192d7d0d47e1c73e66c8a0";
+  sha512.run = "ec4cfa0d4f08f506b3bf7a3acc8e303ba51c7761f32498f040e062264e595bebe64a4f5adc7d6ab5aa2180c55b817d0124d5b07b276cb39c775539113a08f490";
+  sha512.doc = "dd37c5163de0bdcce937a1866a48d9f924faff81da11e566e9525a6d5a81ae82419ee7eaebdff1cd8512957a878f849f43e9cd71dd39625e6dc0e2ba18f4ac9b";
   hasRunfiles = true;
   version = "1.0";
 };
 "yhmath" = {
   stripPrefix = 0;
-  sha512.run = "78f4e6876a5ffc21d6cd93f99bb3e41104f785067d39c1ced7e48a1ba3ea2cc41f9384f7510f5bb1c5144d07704b87445ca5e82dd348a0864036193afccf67ef";
-  sha512.doc = "3c6a90e1eb8dc52b2794621ef53c2f51fbd86a6d9340c4998763e8f65d9603d36ba959ab96fe20a39e67b478dc47f07f6fa68e035435d0fd9e9591d315359a1e";
-  sha512.source = "fb0fdfd54b7858d961b288c3f490c1dddc12b1dd2365a5e212a6e79e78a97569b080db9baad9a504df332fdcad0519715f70cecbbbbcb88965ad0115365be9c4";
+  sha512.run = "10b98d5af7f179643bc0cd0fbf63e4a088c07e64ca6ac5f20ef05f3a00226159354f212de85ade3c7d96b9fb67e46207fbf7bed9f47a542df8427ac5fe248653";
+  sha512.doc = "cae6f92dd19363251fddd7e6a2934e10e3b22840b5be4c9cc94c399637cfee241fcb34dfa22e93fbde3a599e14c82fb32a72c329c5de3af395ef2848ae7841ff";
+  sha512.source = "61154cd7ae0f43ccc31fdf1c2f2c7e5307bc886990c6a137089cf0d40e7634952026458e92b9c2ec5c7ccf8b6a2969f018c1653b9909d6e0ee848177accb4124";
   hasRunfiles = true;
   version = "1.5";
 };
 "yinit-otf" = {
   stripPrefix = 0;
-  sha512.run = "21cb91ff568075a8b8fe82ff71412c394af1b3310e25ca93d6040085000547e98e8fd2ffee60629b66a51805aa1b078d7ef6d9d9d2430900c034d8e5bfa7315b";
-  sha512.doc = "cac9586bddb6525fcaed08560d85bd7ff75226bbb7d328b0cdfea560ffece5f605513c4a134bb5bdf8557bc26aa03139b97b80937d88eac1cc88d5e2a472910c";
+  sha512.run = "5ec9f9408c3188b2bf985e9c3f1f9f6a345557d08a167a9d02c07fe41bbb981a8889f580d6e38a97798bb5e891d978eb4ee70b77a344c684051b5644654d1cd1";
+  sha512.doc = "6c73466c1e4ce1f7aec1b30980e5c44ca4917e161236fad7a0816bc93e921525b90f62abd8d41d3b767d8a6eda62a34534d7129d1fc490fda430345f8a2b3ce7";
   hasRunfiles = true;
   version = "1.0";
 };
 "york-thesis" = {
   stripPrefix = 0;
-  sha512.run = "411c372d39f07f11c7aed7a69a7691245067e331e2acfc759261a7a311ef459869d3d6fa469f632a0a6ae740d480c7412045cd07621384982fcfa8f40b37b4ab";
-  sha512.doc = "0af7779d4eb614c86ff8d9105badb64f941613fb1e7052be42ed59ab289770db2369bf1483a1d5df3490b746cc37d0993ac87a673c61be30e87c855b4f41d4eb";
-  sha512.source = "4b781126780d728fc04e3ba50d77b2357a8c9605b8133464c7bd21fb4dca6eb6dc2fe4377b77efa7940839079e3391e1ddcba2e668e7c2d98e08a8a4f9e643fc";
+  sha512.run = "5b5152cc315dc05164ba3502d6e7aff355d853e43a3836bda0a15a4af7a90ef9fef02c852125c7e1e4842c05d51f2be6441b5131400eb46bb6704b281711e18d";
+  sha512.doc = "e1ee454ad9996b61f1cac9bbeec30210359ecd8939bd9e0696e7cca7106733b13b8831946c47652186d4b80060f96c479b642274f5c90f8757953b1c3861f0bc";
+  sha512.source = "3096ee9334bab690b38ff943559a0a7b0c54f8b831e7d1320ae4581740c48dd05e09813e220ce1d28d4523fb456d7fd01920e89e7e0d66da00e9dce88bfadea7";
   hasRunfiles = true;
   version = "3.6";
 };
 "youngtab" = {
   stripPrefix = 0;
-  sha512.run = "a8bb1ac115714408677799d49b988d0883ece1f3b9c61e84df13e8f982a8183be14dcabe6c835999cee367a204d5f7e234a8cfac4078c355177c38bd1a05c827";
-  sha512.doc = "42725a42aa6f28caa2dbf30eec3807948caa1f6989c80573dd483c5ac0ff670ba546e5790860cfb57c64e9f9bdd117af62511cf20bcbbbf606c74ba33240c5a9";
-  sha512.source = "a65c1c3ca479ce4450e7edc5ce9c893b56628a5176b28a7f1191207de1a995ac058bacc58db48e139c29f941f8cc6a29f3f7c241d4e88dfd53830fcfea923de6";
+  sha512.run = "d394f53ea68d2874036faa0d00323a0c15e3144a2433e27db0a630f05a637bad37d297132a92c00bc5ba3fb8a8bc643bc8778787b8897ab03296eb62d33683b6";
+  sha512.doc = "38d42380d67372f2b84984cf41b0cd775c6b707405baffc5852cb147bba914899bcc09230e645e7779deb142358a4bf46f1efa0b47f159eeadc09d3e99f2728d";
+  sha512.source = "88d214c9cd6d87f6cd2c075ebb5554c55038f0eacbe047d7d90ab1a3fe695a9329c34149c2026fafed045e02449688e2fc3b0b5ecc24d0960640a3557a284739";
   hasRunfiles = true;
   version = "1.1";
 };
 "yplan" = {
-  sha512.run = "d075d36e7e0811960cfdc5b2d2d8bdfa77e5de0729ade23c0479fa28a9436b29d4733b90b8771a4c6c9ea95c49a1109f1ba05d3b60796ed8012ce707c5eaf19d";
-  sha512.doc = "51af550d04ec0bd0db422ac9eaf5e9370e118515a8944cbf67d81ac5da55f2b57e4f42f87f7b124cf35a76b80a9c604058f835ae5a8ef0c11e28327f2df3310b";
+  sha512.run = "4884ac99b0b56927fb86c6e06ae9d4accb7d8b441bb17df79753d8af9ee84b9440d66ad4fcf2107aa036eb2af89d5ad49d0a4c4cb91236c6475cf81bab85566a";
+  sha512.doc = "7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463";
   hasRunfiles = true;
 };
 "ytableau" = {
   stripPrefix = 0;
-  sha512.run = "3bb5a430587caa6ef20a9a0bff2cdc6a8c94d2b62d56f080f61cef88476e44dacd7765ed1bdec4be64c04f6f34e701281344b2f93c7172a0c0789a6b9aedd3cc";
-  sha512.doc = "3cb50fcfe26bfa93c59fa5fddc5ea34c0a777cd89914f17fa4d85de9e57b58784dfa990650ac053cd082ae5e82e74c32f9eaeddbc75cf4cbcf1d0d5258336d0f";
-  sha512.source = "9daff52c34e222509ff8cc65d2e63252aaf6b361d0add60858aa0c36f691d135e96bf73f2d4dc9c610ea9b25a01e6a9982dcb24619fa93926e762fc0460db28d";
+  sha512.run = "2d9528c47b516213d0d8ea6341edc1772aa4a88a7db60d4506cbef107be034bcb9036b18f61a12e042e95bd9d0aea51b0ee696565841d2efb12b442756c48a30";
+  sha512.doc = "47db377bfecce43d97e573360cfc65936664b5ea886b5bc0042b39e3a879becef0e9894c364a31cb4cda7420ba672c8f55e7936ae5b1d291259d8deb7a6d9f9d";
+  sha512.source = "02c2aff53daaec5161a9715de2e633d03dedc85664868d73c49dc0edc5c8b0bc696e3e8ab6d25f3420663fcff830581a7b2fdd0718a3c4928aa808ca3b1cbde3";
   hasRunfiles = true;
   version = "1.3";
 };
 "zapfchan" = {
   stripPrefix = 0;
-  sha512.run = "23cf9bb3768023b3652459a51c5e6aaaf5c57f16700d028ddbd6f0d54933c1ca3a0672465182713e8b154b6d8f695cd280be2ddfa8bf593be27830b1e993fb54";
+  sha512.run = "46a104a6e4d1cf681bf10bf22fa32510982939cf52dd255a7ec50e5a9f95acf72457195cee13499c6f517a7f2b03be8a285eb6730f659d59ee5aa42522ba34bb";
   hasRunfiles = true;
 };
 "zapfding" = {
   stripPrefix = 0;
-  sha512.run = "07084ef589a0e5778e674af7f0b23a4d3cd12b4f53c571d0aeb90bb8076635729b0ede6c58a3488b6a68ffa18962791178e91acf242c047cf8e244dd67afeb5d";
+  sha512.run = "e3e6e69b82858d8bd653bcb112ed81b8b5aacc0b915b5e4ed4288f5aef896211e75b85b1b647989e0ffa431ec204a9d8ad27b2e60bc2b28eea83eb3518945bf1";
   hasRunfiles = true;
 };
 "zebra-goodies" = {
   stripPrefix = 0;
-  sha512.run = "f469e0e90bfce97d20ecf17526a2d6bb86a6565bb92cab17326b93f7bde70212aee91d1fa1845e776427a5316ac68a8351212318f3318ab53afc75ee13d7e708";
-  sha512.doc = "04f087a4b519f16ed3ae98679d5252122b1756fb96cc640877b96576137f1ac5491bc3b345ea3be41f4226f4776499891ff99e24472cfbfda5a4aeaf7b0081f4";
+  sha512.run = "c6ba09e174207ed9f28053bd82ae46551910358e74ad7afd74b406a93d4720f5b11b1921497c3c464c80b55d8fd4e4adbfb115f3ed9a9bcdf68ebf96bda06434";
+  sha512.doc = "48652f89e032526de7c37ad57ff5719d75dd50e5a00ec48a4d94c314bb159d76061ce9c9cf8519bfc8d546e274f8ab1344751d798abac422562efe6026df1872";
+  sha512.source = "2f2cebe6593b55cdbe03bec6215f74a4520a3a0f5198316e749eafd9adab2f9b4a7fef99dcd831cccffb0d758e2755bf7a97c21df8b7f1b770b4e5359d69bc7e";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.8.0";
 };
 "zed-csp" = {
   stripPrefix = 0;
-  sha512.run = "3cf15991397b10698f6a13a7bfce959b40286d53b019e31f6932db1a886b01d7cbf6c3abe1737e111119b8cb46a36856725e76623784ed915a21008a55771ff2";
-  sha512.doc = "0f41bf535583c7c88a04174798ac24b141cfc123f149017377244a16b89a8604b3e86bf3ed98a72a2bf8c1b8d7ae80494695f9199fa6615352e258c0fb263d0d";
+  sha512.run = "2f41c5b28e602aa88146cbbc172eb2d6c6f21491e45622c4c1688b9a8acb5be304a8acde842bef84f7a238109ac9ebefa31844826387b266f14faa6a6943903a";
+  sha512.doc = "e5e657656e46023e32366ba415f46322f4c9b4fe0e69f03c88d4e5fcdd577e3436be6436424f502c3807278efe3a31ab7cba3020ef3c9e44874de3660dcccd2b";
   hasRunfiles = true;
 };
 "zhlineskip" = {
   stripPrefix = 0;
-  sha512.run = "5a3e715722fa2e97e9293cba1d0f55bf54301280bd817115ff1bd9e39b2f6b64b0f107c14db2c74d2eaf57877001ebee4916588d2e90136c9320b01f94e19ec6";
-  sha512.doc = "e4230a126ae245eb5a68808426fee1709c31430410e5d257ba23c7eb5de9a8f03c59b5cbbc3e17a7c967f1080fb88507a7d0b2a29ea3b8bbe569b620ff520065";
+  sha512.run = "c1e92d164d0b46ca1165775e5c17f72687cd83b6efbba95dd58fe55008877ab3f08bbaf90d36d491ec861705e9d15f74511c8a0f9cf66ef8bf5127d7aa2cf203";
+  sha512.doc = "794822b3b89aec655af2663f3dfbe848ccac9fea8369f446596562178e73c01ddadcf1ce46fd1811e4b72a25917c310bd42e45f9b16a3adb897304ae345d5415";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "1.0e";
 };
 "zhlipsum" = {
   stripPrefix = 0;
-  sha512.run = "961530218ab4a36fc13b2a1219c20b494984af9c7012ef41b03025cb3be0689cb15db1aa1f9eb4cb0aa403be5e43f1704d1adde5bb5fb7abadd878c7fbaafe0e";
-  sha512.doc = "f77575d5f9e0b0ce0316d1fb4d7b7c8d49f39afc47867fa40d9c4f1c16dcdb8737d85279a05d80028232a806c0b21d4bb4d790cf33ced432740e2dc688a1de16";
-  sha512.source = "5b037741195bb9475a2815dc2d7c5ac211a27f0ef3a4a1cb8802ca7db979068d4fd18fb49a2bcb67d60796d2828ad9da7c73855e63be3cecf45c6265eceba85e";
+  sha512.run = "64ccc1f0baf30980162ce259d897a9fc97c6771768fadc3958e398e38f96ac6ea115b126a1b106270a7a509358108ffe8b93cf52af87503c66b8a365585391f6";
+  sha512.doc = "06692d711ee3009bf11bc641569a9e3b0d6e339e0b7dca6e5e5d3a689b3fd24a5d4eaa45de7cd4ac2c0e3feea5c2612881dcc4bca88b12f554bc78fe96cb8220";
+  sha512.source = "32d12c4f3699275119f5dacbd7b6bbb559555ddceeccfcd908e0bb6f2db50b76cbe0323b7ce6e0474d369a1e343718cb0024cd0f87487e629dfc9f104c3e6950";
   hasRunfiles = true;
   version = "1.1.1";
 };
 "zhmetrics" = {
   stripPrefix = 0;
-  sha512.run = "734ba26f0e6e8c899ea5aa714cd9931a1e8f643c23f0f4e3ab2638581e9ae2f77b016ca83bccf3bc52dedab0312a1221364200b21ae701de29a40348e5e7bd8d";
-  sha512.doc = "0d2b13ed70a0c2c13ca91b27c5e56e258a902b7845c5dd6ee1bc8489bd792be53ee88d9e728bb5c42ba0ebc9e5a0d982a9362e00a5cdc8ae7900b52e3514eb50";
-  sha512.source = "528612152fc7841353b3d40937f11a89c0393dd1d1b6d7d02c772f6a00e0d9704f1df132470366a238b58d2d6752e111eee7677a9cbcf35f5945d215a9a58497";
+  sha512.run = "abc0b873b5abb0b053fb59d8bb831a835f90cd8bfc2cde87d1031dba2e31db8721e3ea1037e7322b33ae5216dd65bd01008fb769eade0c9b4815e8ea7c55615c";
+  sha512.doc = "e77fd912d10d8ab535c366f8e5b99e996607788b9ede295a3d7739fc4c14e0679c66c36bdefe2ce5433967b28b2ab228c332d9b0a23a841d42d3fa56cd204040";
+  sha512.source = "d505658c340bc3824332ed473927bf971612204e69c56839d4e0bd0b6ad4b84a975fe32e863d12d2e0ecae580edd06c3ea0854b90cf762aa9ad6106d2f2afc1a";
   hasRunfiles = true;
   version = "r206";
 };
 "zhmetrics-uptex" = {
   stripPrefix = 0;
-  sha512.run = "dd8c62cb9c60dff6e9f2ae5a6d88797af8e4a855c7bbe1c081063582e2816cfec3991a75b27f28044a7fb82052a37272d5b69d47fa26b669499ddb2be9a20b1f";
-  sha512.doc = "11bbbef58e291bbda6b375ab59399a95c4f19f020be659e9f264f24737cb28f9f32a5c829bca4dcf78dedfa200523b439464eda1f11b8d887771714c71c2cf66";
+  sha512.run = "1e068a0b402a5c69b44a86d797cb24266b2883c698decd8b8464c99b131d292cc5ac44249ba8e89dc0a414d6f12d73d4c069ffc3081cfa4b9926ca412bfc3dd6";
+  sha512.doc = "f9ac2953877cd830e1cf3402f3f2bac1f8159d05a4a74e89047c494ae04dc8930f1c09701f83871b4361976572ae7d1c5fbdaf3af3d9e6db12347a207f1b82cb";
   hasRunfiles = true;
   version = "1.0";
 };
 "zhnumber" = {
   stripPrefix = 0;
-  sha512.run = "32420fa4d172a21f4356b9eb5e527fd682a06c15045bbded9bb5efe7a711df3d7c7f6d49833c701d4a3f6f5f19dec5f94e41be592ed930bdb349bbe3245f6215";
-  sha512.doc = "a26e510201781eaba0bad2e7da2050c85cfe3e53b1cb51788ebbc9b93259a222e66dabcb64b183a3193622d12ffa3f7cfca58dedf631b9e789b5cb50c3a9dae2";
-  sha512.source = "a166c409039690ade7cecf2203d9368375dcb94b5c7a80793acba73a828b21aafa1b02e8ed0ed63cce79f61e69bcee738115b52eae067f5b6979b8817bbd1612";
+  sha512.run = "f5e0783636ca643463811293816c95f2e20345fc6b08f2bd22143ead830b102b7d5acb6dd587975ecae205ce8b79d75cff62bab153a6ada689958835c77298c5";
+  sha512.doc = "d58579fcb6b5464db3d1ec20942b61516eb481df88fa23ef24f890a937fa72b62c6fef7fd2772172c4faf1a616805bfe32bdf39e17d854b907dc61ec9f6b6f4e";
+  sha512.source = "c3ac546227494e59e44324c1f637e280982ba1a27644add9d1c8248b2cee0299154adef6d673eba91ef39124db16dafe0d30dc0ec09bfe9b2dc9f28b6b10bf61";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "zhspacing" = {
   stripPrefix = 0;
-  sha512.run = "57147fc36a324d1b30507d3bb4905cefd1b409675342b9b4a307c2c0fbae145c728469ba5703298bf99073c09818c9d3afd19b5fa6c73f154a4b5e932268b720";
-  sha512.doc = "f1b285ea912cab8181bab4c0e423c138afbe9939e5a9c29097bd2a6b4da83e389962e9bee2b5ed4b0d0add231366605a481771902abcf93234efc4120440f228";
+  sha512.run = "52d1d3523ae4c0d2dba5258b06cf9920f8a9005df7e03fd1407dd8ae2e4dc90768aab10127319ef9025765820b3ebb8a946ea0373114c9148a303517b563bfe0";
+  sha512.doc = "7fd15e4f29671081670e881e9366ba627f5bed6d981fa0ef1c670d0744e1286c04e785e28b92279d66af851803d84949c2f463370f23c64987fea78531172128";
   hasRunfiles = true;
 };
 "ziffer" = {
   stripPrefix = 0;
-  sha512.run = "f241b7d3124bc0529c46033a390b3c561d07575bb1908d0614ac417c82d93e25501daf080324396f021562683624a261ce94731efebe5dab2bf7c1c66927fbcd";
-  sha512.doc = "3423fb0f85e8f99b9e543580d50fc49f3a8d73b9f6168d1f13512023f532b56e7edbf932831f9d3172cd7fa9c844f2751c544a741b359f26d658a69c7dab41e5";
+  sha512.run = "3d29074642d8a4c63046347a36f47548557de92a64ab4d6b7d1cad87f97a9e25a09fe84cf699a3bf2129c4de00dd3ef3593f85056e8f38a9a2d1ca27c549cf96";
+  sha512.doc = "8eb75b54a6711ba0d0ad30343f253eabf88b3752de3112b13b96e4182119ef5f789916c413a5ca35ba7bf6619eb25bf64e7717844e4b9a49d33781d91f5b14af";
   hasRunfiles = true;
   version = "2.1";
 };
 "zlmtt" = {
   stripPrefix = 0;
-  sha512.run = "2c1b06550725880daf93c06fac7c386c27627d4fdad391706725b2514a16be1037dbe86fc9f3f3083cdf1d47175fba297f18d1fd26fdb2f392aa7e45ae624e77";
-  sha512.doc = "f2fa605beb0a02aa2a55f19f7310ca295891b64e1ef2bba7311ba375191edbf915ad9b74747cc3661bc983af7c876e8a7f5997bcaed2be230cbd5d3e292cdfa7";
+  sha512.run = "b60e880508e08fc0a3f265b7d85c7ae8667c0a16264148a2944184a598f690f337149348157dc7b7b11f1cac59d44117425b50a26bbdaa0fbf1dcebb023093e6";
+  sha512.doc = "22e301f72e0b62078d7b6fe7d7740e0477d9b18beb59ab55b81dd65c50cb250ae711886f01944cdfd25f82d0dd2089c41e662cb2f16eaa0252d70c1006eed8d8";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.02";
+};
+"zootaxa-bst" = {
+  stripPrefix = 0;
+  sha512.run = "80816556a2e23cfd8345b7d22224142a5448105ccc5c1143f33c4560a4e4ab432115c2fc47c5d4c6ba599031f4c36b481465a5fa7b32afde888beac69a6e6c62";
+  sha512.doc = "f843aa27ab0c2139e1051aefaa9b667f2de489cc13578200ce7db2bdfc2397888856c6cbe68b6fa201e0cb269bb95818cb31f1b03622c49ebdced23fa5960d65";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "zwgetfdate" = {
   stripPrefix = 0;
-  sha512.run = "82f490b04b42d371b1c48c6c0e326a96fe46b9a4c8e1ab981151a6809cbab09de7a7c9cd1cb5041ac6e513bca7d56cd602e1ab5c52c9a4077e3abba18d8fc378";
-  sha512.doc = "2a3c7b87f0aeb0c55fa0f716d469a57378e0f62751df18ee791cb6188b44f5faa0187c7b541586fe05d354befae85233b816e960ef72d8d8c02119962fd693f0";
+  sha512.run = "fe52555cc46a9e8340d8c9c37f88b372bf72efbd48a097b2d319592dc49a8cf55c87e80ea7d94ba6730742e9883215703749895008ba38838750efb9fb2334e9";
+  sha512.doc = "7ab61dc4252ef7f60d1d5be8d4415bcaeaed194384a1da14a3400617b36c6efae3679dbbd6c8d64b8cc9f9947babe88c064d637379f663408cbe63ca42334bfb";
   hasRunfiles = true;
 };
 "zwpagelayout" = {
   stripPrefix = 0;
-  sha512.run = "9e836b46dac6c9ba2436c2eff15107bb2dc801fe640465fde643b3ff09df58f30e724fe0bf702467850b20db14c72dcf6387ce60be872a15d17d06056f285713";
-  sha512.doc = "60869f08713337fef6519f8feea0641e6111ce1932edba1a678cc21803325cb826c172d3357ec5f1580dabe7e6c43455289835c463cf68e86e4c1a1b59c8ddc7";
+  sha512.run = "f050edb743cb045547080925153ac16317f7f78205eedbc37b9db39704b84db376c9362cefcd6711d8c98d46af4d2baa82fe4c3be581d1e9c33689b702679d14";
+  sha512.doc = "6f2a0c3e646f442e570ce576cf638a6a290b0bf0f120b19a27c1f190fb3d20d0d3dcd2a2e3490e9671846338b9d6890884f54296a31593993be9bfd06a7241fb";
   hasRunfiles = true;
   version = "1.4d";
 };
 "zxjafbfont" = {
   stripPrefix = 0;
-  sha512.run = "73a17776e44f63ceef2132ddda5411d5b3362e21e2e40d2629d44638abab4c0a63a04ac11e9ad815a5dddf88f37d592baac86939c8b9c21099a1909c6e1fc7cc";
-  sha512.doc = "e64220aeb4a648dcf8966f020f01761b133cfd13ca8792a97884a83b3976987907377017592e0b8841051d0ce2d7034ef45b7bf7126b27dc04473a6c92b59b02";
+  sha512.run = "357b100dac7061a5e6fe91e3a708f32e99a134158393581bc717ae3e90afa5dbbff7aa1bae8c092638bca2d5c3ab65d8a8cbc39c20c3ec1ff85c967fb3849513";
+  sha512.doc = "215079eeb772dc4ea55d5e00945a757c877acf9ea56aebe5a8969564a3836f54ca406d502d73e93d92b131600fc77bd2342d36fa78300adc0b4d1dd7f5d0f423";
   hasRunfiles = true;
   version = "0.2";
 };
 "zxjafont" = {
   stripPrefix = 0;
-  sha512.run = "fc34c9efdd78bce9698a5bf8b298f3d179aa9f083807bda63967d974cc7cac3c4aad51beeb969e324d305ca2e4fbaa61f3a659c75a4ed9a17d703c1bf6ba5c91";
-  sha512.doc = "755eb5876c626f3e26d80d8ab5fd8d45204b107d88f8405fa8101d5c82a6b66af7566d75bbc53972738b069bc8ca2bd72a1e45bf1edb01ce3c7de0706b3cbc6f";
+  sha512.run = "8d56b2f09b2f96a303a8338252a078c5856703d466ba23d2f8a96f93c002ea3f30c072398f47bf9c38aa94b08f93a9b3aef44799b61c117df9a9cbfadf60c2a9";
+  sha512.doc = "f6a332e3db7db28041cf0815122ec1134276b12c042fc2b1defb214ef6946598c9149e717309fde2c28b50cac545cbb2d0077890adffb8d3ec0371dfd876f66e";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.5";
 };
 "zxjatype" = {
   stripPrefix = 0;
-  sha512.run = "f841768bc993d83d6ba2a0d6a2893601647834613e401efee5aa3b445941951b8f4c787648b4acc67382b2b4fe950a47727f630413bf9259e8956b1a402769b2";
-  sha512.doc = "01446eb58a7f397f7d2ed2772f4d0cfbfcc6dce2a79b855dff7f80b5acf7fecd4ccde78916a9833f1878a9d8c0ec092e472ee0b51a28fc27c0a43f40d67cb733";
+  sha512.run = "fcc4c18b6a9ed31d4d32280aa088be06f6109deab53ce9e1820bc743151c1209e24d8c26bddaabd76f774be95de7599b087ef92415191fbf79a938169b9181fb";
+  sha512.doc = "e971a21c677f93e1caad2951fe05296f5ae253d6d31d32e160f8606492b7c21f9995e9a1ec3ac5581cf1fb52c4174acec35cdf871644bb74d5b50cef421d78cd";
   hasRunfiles = true;
   version = "0.6c";
 };
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
new file mode 100644
index 00000000000..1b0fa9f551b
--- /dev/null
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -0,0 +1,48 @@
+{ rustPlatform, fetchFromGitHub, fetchurl, stdenv, lib, unzip, nasm }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rav1e";
+  version = "0.2.0";
+
+  src = stdenv.mkDerivation rec {
+    name = "${pname}-${version}-source";
+
+    src = fetchFromGitHub {
+      owner = "xiph";
+      repo = "rav1e";
+      rev = "v${version}";
+      sha256 = "0sij9hwnar27gcwvfcjbhgyrhw99zjv8gr9s9gshqi766p5dy51a";
+    };
+    cargoLock = fetchurl {
+      url = "https://github.com/xiph/rav1e/releases/download/v${version}/rav1e-${version}.zip";
+      sha256 = "1i48c7mvc9q20d76p2rpxva551249m3p52q2z1g9sj4xzpyyk41m";
+    };
+
+    nativeBuildInputs = [ unzip ];
+
+    installPhase = ''
+      mkdir -p $out
+      cp -R ./* $out/
+      unzip ${cargoLock}
+      cp ./Cargo.lock $out/Cargo.lock
+    '';
+  };
+
+  cargoSha256 = "1z0xrcq4mx6gpjyqh1csa424sxmx54z3x7ij3w2063h6s2fv9jy3";
+
+  nativeBuildInputs = [ nasm ];
+
+  meta = with lib; {
+    description = "The fastest and safest AV1 encoder";
+    longDescription = ''
+      rav1e is an AV1 video encoder. It is designed to eventually cover all use
+      cases, though in its current form it is most suitable for cases where
+      libaom (the reference encoder) is too slow.
+      Features: https://github.com/xiph/rav1e#features
+    '';
+    inherit (src.src.meta) homepage;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.primeos ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
index 07fcf0eca8b..a27e006053f 100644
--- a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
+++ b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
@@ -2,12 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ecs-cli";
-  version = "1.17.0";
+  version = "1.18.0";
 
-  src = fetchurl {
-    url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
-    sha256 = "0dqnxzfdic3v10rr8k83zfbv7qc3yanajd81a0amzs778sqp7x9f";
-  };
+  src =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      fetchurl {
+        url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
+        sha256 = "1w4n7rkcxpdzg7450s22a80a27g845n61k2bdfhq4c1md7604nyz";
+      }
+    else if stdenv.hostPlatform.system == "x86_64-darwin" then
+      fetchurl {
+        url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-darwin-amd64-v${version}";
+        sha256 = "011rw4rv2vz6xa4vqfjsf9j6m3rffclv9xh0dgf5ckd07m3fd3sm";
+      }
+    else throw "Architecture not supported";
 
   dontUnpack = true;
 
@@ -24,7 +32,6 @@ stdenv.mkDerivation rec {
     longDescription = "The Amazon Elastic Container Service (Amazon ECS) command line interface (CLI) provides high-level commands to simplify creating, updating, and monitoring clusters and tasks from a local development environment.";
     license = licenses.asl20;
     maintainers = with maintainers; [ Scriptkiddi ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
-
diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix
index e8e6a76a7a2..910f2822c6f 100644
--- a/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/pkgs/tools/virtualization/cri-tools/default.nix
@@ -2,19 +2,19 @@
 
 buildGoPackage rec {
   pname = "cri-tools";
-  version = "1.15.0";
+  version = "1.17.0";
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03fhddncwqrdyxz43m3bak9dlrsqzibqqja3p94nic4ydk2hry62";
+    sha256 = "0h9gry56graif761lmcy91q9fzwvmwb15wcx8245927yfg5j0zgh";
   };
 
   goPackagePath = "github.com/kubernetes-sigs/cri-tools";
 
   buildPhase = ''
     pushd go/src/${goPackagePath}
-    make
+    make all install BINDIR=$bin/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix
index ea088b486fc..1605bcfa43b 100644
--- a/pkgs/tools/virtualization/ec2-utils/default.nix
+++ b/pkgs/tools/virtualization/ec2-utils/default.nix
@@ -40,8 +40,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A set of tools for running in EC2";
-    homepage = https://aws.amazon.com/amazon-linux-ami/;
-    license = lib.licenses.apsl20;
+    homepage = "https://aws.amazon.com/amazon-linux-ami/";
+    license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ thefloweringash ];
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 641e7459e0c..4911f96fad6 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -40,6 +40,7 @@ mapAliases ({
   adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
   ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
+  alienfx = throw "alienfx has been removed."; # added 2019-12-08
   ammonite-repl = ammonite; # added 2017-05-02
   arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
@@ -47,8 +48,12 @@ mapAliases ({
   at_spi2_core = at-spi2-core; # added 2018-02-25
   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
+  beegfs = throw "beegfs has been removed."; # added 2019-11-24
+  bluezFull = bluez; # Added 2019-12-03
   bridge_utils = bridge-utils;  # added 2015-02-20
   bro = zeek; # added 2019-09-29
+  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
   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
@@ -56,8 +61,10 @@ mapAliases ({
   buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
   bundler_HEAD = bundler; # added 2015-11-15
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
+  catfish = xfce.catfish; # added 2019-12-22
   checkbashism = checkbashisms; # added 2016-08-16
   cide = throw "deprecated in 2019-09-11: abandoned by upstream";
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   cifs_utils = cifs-utils; # added 2016-08
   ckb = ckb-next; # added 2018-10-21
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
@@ -67,7 +74,9 @@ mapAliases ({
   compton-git = compton; # added 2019-05-20
   conntrack_tools = conntrack-tools; # added 2018-05
   cool-old-term = cool-retro-term; # added 2015-01-31
+  coprthr = throw "coprthr has been removed."; # added 2019-12-08
   corebird = throw "deprecated 2019-10-02: See https://www.patreon.com/posts/corebirds-future-18921328. Please use Cawbird as replacement.";
+  coredumper = throw "coredumper has been removed: Abandoned by upstream."; # added 2019-11-16
   cpp-gsl = microsoft_gsl; # added 2019-05-24
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cups_filters = cups-filters; # added 2016-08
@@ -77,6 +86,7 @@ mapAliases ({
   dbus_daemon = dbus.daemon; # added 2018-04-25
   dbus_glib = dbus-glib; # added 2018-02-25
   dbus_libs = dbus; # added 2018-04-25
+  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
   dbus_tools = dbus.out; # added 2018-04-25
   deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
   deadpixi-sam = deadpixi-sam-unstable;
@@ -104,12 +114,20 @@ mapAliases ({
   firefox-esr-wrapper = firefox-esr;  # 2016-01
   firefox-wrapper = firefox;          # 2016-01
   firefoxWrapper = firefox;           # 2015-09
+  firestr = throw "firestr has been removed."; # added 2019-12-08
   flameGraph = flamegraph; # added 2018-04-25
   font-awesome-ttf = font-awesome; # 2018-02-25
+  # 2019-10-31
+  fontconfig-ultimate = throw ''
+    fontconfig-ultimate has been removed. The repository has been archived upstream and activity has ceased for several years.
+    https://github.com/bohoomil/fontconfig-ultimate/issues/171.
+  '';
   font-droid = throw "font-droid has been deprecated by noto-fonts"; # 2019-04-12
   foomatic_filters = foomatic-filters;  # 2016-08
+  fprintd-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   fuse_exfat = exfat;                   # 2015-09-11
   fuseki = apache-jena-fuseki; # added 2018-04-25
+  fusesmb = throw "fusesmb is abandoned by upstream"; # added 2019-10-15
   gccApple = throw "gccApple is no longer supported"; # added 2018-04-25
   gdb-multitarget = gdb; # added 2017-11-13
   gdk_pixbuf = gdk-pixbuf; # added 2019-05-22
@@ -117,6 +135,7 @@ mapAliases ({
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
   gnome-mpv = celluloid; # added 2019-08-22
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2019-12-10
   gmic_krita_qt = gmic-qt-krita; # added 2019-09-07
   gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
@@ -151,8 +170,10 @@ mapAliases ({
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
   gutenberg = zola;  # added 2018-11-17
+  hamster-time-traker = throw "hamster-time-tracker has been removed from nixpkgs, as it was unmaintained."; # added 2019-12-10
   heimdalFull = heimdal; # added 2018-05-01
   hepmc = hepmc2; # added 2019-08-05
+  hexen = throw "hexen (SDL port) has been removed: Abandoned by upstream."; # added 2019-12-11
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
@@ -172,6 +193,7 @@ mapAliases ({
   keepassx2-http = keepassx-reboot; # added 2016-10-17
   keybase-go = keybase;  # added 2016-08-24
   krename-qt5 = krename; # added 2017-02-18
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10
   kvm = qemu_kvm; # added 2018-04-25
   letsencrypt = certbot; # added 2016-05-16
   libaudit = audit; # added 2018-04-25
@@ -179,12 +201,16 @@ mapAliases ({
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
+  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   libcap_progs = libcap.out; # added 2016-04-29
   libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
   libdbusmenu-glib = libdbusmenu; # added 2018-05-01
   liberation_ttf_v1_from_source = liberation_ttf_v1; # added 2018-12-12
   liberation_ttf_v2_from_source = liberation_ttf_v2; # added 2018-12-12
   liberationsansnarrow = liberation-sans-narrow; # added 2018-12-12
+  libfprint-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   libgnome_keyring = libgnome-keyring; # added 2018-02-25
   libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
   libgumbo = gumbo; # added 2018-01-21
@@ -197,6 +223,7 @@ mapAliases ({
   libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
   libudev = udev; # added 2018-04-25
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # 2019-12-10
   links = links2; # added 2016-01-31
   linux_rpi0 = linux_rpi1;
   linuxPackages_rpi0 = linuxPackages_rpi1;
@@ -209,7 +236,10 @@ mapAliases ({
   man_db = man-db; # added 2016-05
   manpages = man-pages; # added 2015-12-06
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
+  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
   mess = mame; # added 2019-10-30
+  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  mirage = throw "mirage has been femoved from nixpkgs, as it's unmaintained"; # added 2019-12-10
   mysql-client = hiPrio mariadb.client;
   memtest86 = memtest86plus; # added 2019-05-08
   mesa_noglu = mesa; # added 2019-05-28
@@ -241,6 +271,7 @@ mapAliases ({
   networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25
   networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25
   networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25
+  nix-review = nixpkgs-review; # added 2019-12-22
   nfsUtils = nfs-utils;  # added 2014-12-06
   nginxUnstable = nginxMainline; # added 2018-04-25
   nilfs_utils = nilfs-utils; # added 2018-04-25
@@ -249,11 +280,13 @@ mapAliases ({
   nxproxy = nx-libs; # added 2019-02-15
   nylas-mail-bin = throw "deprecated in 2019-09-11: abandoned by upstream";
   opencascade_oce = opencascade; # added 2018-04-25
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
   opencl-icd = ocl-icd; # added 2017-01-20
   openexr_ctl = ctl; # added 2018-04-25
   openjpeg_2_1 = openjpeg_2; # added 2018-10-25
   opensans-ttf = open-sans; # added 2018-12-04
   openssh_with_kerberos = openssh; # added 2018-01-28
+  osquery = throw "osquery has been removed."; # added 2019-11-24
   owncloudclient = owncloud-client;  # added 2016-08
   p11_kit = p11-kit; # added 2018-02-25
   parquet-cpp = arrow-cpp; # added 2018-09-08
@@ -274,6 +307,7 @@ mapAliases ({
   pltScheme = racket; # just to be sure
   plexpy = tautulli; # plexpy got renamed to tautulli, added 2019-02-22
   pmtools = acpica-tools; # added 2018-11-01
+  polarssl = mbedtls; # added 2018-04-25
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
   postgresql95 = postgresql_9_5;
   postgresql96 = postgresql_9_6;
@@ -301,18 +335,27 @@ mapAliases ({
   ppl-address-book = throw "deprecated in 2019-05-02: abandoned by upstream.";
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
+  pygmentex = texlive.bin.pygmentex; # added 2019-12-15
   pyo3-pack = maturin;
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   pulseaudioLight = pulseaudio; # added 2018-04-25
+  phonon-backend-gstreamer = throw "Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
+  phonon-backend-vlc = throw "Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
+  phonon = throw "Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22
   qca-qt5 = libsForQt5.qca-qt5;  # added 2015-12-19
   quake3game = ioquake3; # added 2016-01-14
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
   qtpfsgui = throw "Is now luminanceHDR"; # added 2019-06-26
+  rdf4store = throw "rdf4store has been removed from nixpkgs."; # added 2019-12-21
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rdmd = dtools;  # added 2017-08-19
   rhc = throw "deprecated in 2019-04-09: abandoned by upstream.";
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
+  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   ruby_2_0_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_1_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_2_9 = throw "deprecated 2018-0213: use a newer version of ruby";
@@ -328,6 +371,8 @@ mapAliases ({
   s6PortableUtils = s6-portable-utils; # added 2018-07-23
   sagemath = sage; # added 2018-10-27
   sam = deadpixi-sam; # added 2018-04-25
+  samba3 = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
+  samba3_light = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
   sambaMaster = throw "removed 2019-09-13: outdated and no longer needed";
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   saneBackends = sane-backends; # added 2016-01-02
@@ -337,6 +382,7 @@ mapAliases ({
   scim = sc-im; # added 2016-01-22
   scollector = bosun; # added 2018-04-25
   sdlmame = mame; # added 2019-10-30
+  seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)";
   shared_mime_info = shared-mime-info; # added 2018-02-25
   skrooge2 = skrooge; # added 2017-02-18
   skype = skypeforlinux; # added 2017-07-27
@@ -346,6 +392,9 @@ mapAliases ({
   slurm-llnl-full = slurm-full; # renamed July 2017
   slurm-full = slurm; # added 2018-05-1
   smbclient = samba; # added 2018-04-25
+  slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11
+  slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11
+  net_snmp = net-snmp; # added 2019-12-21
   spaceOrbit = space-orbit; # addewd 2016-05-23
   speech_tools = speech-tools; # added 2018-04-25
   speedtest_cli = speedtest-cli;  # added 2015-02-17
@@ -394,22 +443,29 @@ mapAliases ({
   ultrastardx-beta = ultrastardx; # added 2017-08-12
   usb_modeswitch = usb-modeswitch; # added 2016-05-10
   usbguard-nox = usbguard; # added 2019-09-04
+  uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries";
   v4l_utils = v4l-utils; # added 2019-08-07
   v8_3_16_14 = throw "removed 2019-11-01: no longer referenced by other packages";
   valadoc = throw "deprecated 2019-10-10: valadoc was merged into vala 0.38";
   vimbWrapper = vimb; # added 2015-01
-  vimprobable2Wrapper = vimprobable2; # added 2015-01
+  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # added 2019-12-05
+  vimprobable2-unwrapped = vimprobable2; # added 2019-12-05
   virtviewer = virt-viewer; # added 2015-12-24
   virtmanager = virt-manager; # added 2019-10-29
   virtmanager-qt = virt-manager-qt; # added 2019-10-29
   vorbisTools = vorbis-tools; # added 2016-01-26
   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
+  winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xfceUnstable = xfce4-14; # added 2019-09-17
+  xfce4-14 = xfce;
+  xfce4-12 = xfce;
   x11 = xlibsWrapper; # added 2015-09
   xbmc = kodi; # added 2018-04-25
   xbmcPlain = kodiPlain; # added 2018-04-25
@@ -420,6 +476,7 @@ mapAliases ({
   xpraGtk3 = xpra; # added 2018-09-13
   youtubeDL = youtube-dl;  # added 2014-10-26
   zdfmediathk = mediathekview; # added 2019-01-19
+  gnome_user_docs = gnome-user-docs; # added 2019-11-20
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
   # branch-off
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c19b98c28d..9cdce402c6e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -221,6 +221,8 @@ in
 
   dispad = callPackage ../tools/X11/dispad { };
 
+  dupeguru = callPackage ../applications/misc/dupeguru { };
+
   dump1090 = callPackage ../applications/radio/dump1090 { };
 
   ebook2cw = callPackage ../applications/radio/ebook2cw { };
@@ -250,8 +252,6 @@ in
     cacert = buildPackages.cacert;
   };
 
-  fetchgitPrivate = callPackage ../build-support/fetchgit/private.nix { };
-
   fetchgitLocal = callPackage ../build-support/fetchgitlocal { };
 
   fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {});
@@ -293,8 +293,10 @@ in
   fetchhg = callPackage ../build-support/fetchhg { };
 
   # `fetchurl' downloads a file from the network.
-  fetchurl = makeOverridable (import ../build-support/fetchurl) {
-    inherit lib stdenvNoCC;
+  fetchurl = if stdenv.buildPlatform != stdenv.hostPlatform
+   then buildPackages.fetchurl # No need to do special overrides twice,
+   else makeOverridable (import ../build-support/fetchurl) {
+    inherit lib stdenvNoCC buildPackages;
     curl = buildPackages.curl.override (old: rec {
       # break dependency cycles
       fetchurl = stdenv.fetchurlBoot;
@@ -358,6 +360,8 @@ in
 
   fetchFromGitLab = callPackage ../build-support/fetchgitlab {};
 
+  fetchFromGitiles = callPackage ../build-support/fetchgitiles {};
+
   fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {};
 
   fetchNuGet = callPackage ../build-support/fetchnuget { };
@@ -456,7 +460,7 @@ in
   findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
 
   wrapGAppsHook = makeSetupHook {
-    deps = lib.optional (!stdenv.isDarwin) gnome3.dconf.lib ++ [ gtk3 librsvg makeWrapper ];
+    deps = lib.optional (!stdenv.isDarwin) dconf.lib ++ [ gtk3 librsvg makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
   separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
@@ -480,6 +484,8 @@ in
 
   _1password = callPackage ../applications/misc/1password { };
 
+  _6tunnel = callPackage ../tools/networking/6tunnel { };
+
   _9pfs = callPackage ../tools/filesystems/9pfs { };
 
   a2ps = callPackage ../tools/text/a2ps { };
@@ -535,7 +541,7 @@ in
 
   amass = callPackage ../tools/networking/amass { };
 
-  afew = callPackage ../applications/networking/mailreaders/afew { pythonPackages = python3Packages; };
+  afew = callPackage ../applications/networking/mailreaders/afew { };
 
   afio = callPackage ../tools/archivers/afio { };
 
@@ -559,6 +565,8 @@ in
 
   airfield = callPackage ../tools/networking/airfield { };
 
+  apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
+
   airsonic = callPackage ../servers/misc/airsonic { };
 
   airspy = callPackage ../applications/radio/airspy { };
@@ -664,10 +672,12 @@ in
   asciiquarium = callPackage ../applications/misc/asciiquarium {};
 
   asymptote = callPackage ../tools/graphics/asymptote {
-    texLive = texlive.combine { inherit (texlive) scheme-small epsf cm-super; };
+    texLive = texlive.combine { inherit (texlive) scheme-small epsf cm-super texinfo; };
     gsl = gsl_1;
   };
 
+  async = callPackage ../development/tools/async {};
+
   atheme = callPackage ../servers/irc/atheme { };
 
   atinout = callPackage ../tools/networking/atinout { };
@@ -708,6 +718,8 @@ in
 
   iamy = callPackage ../tools/admin/iamy { };
 
+  azure-cli = callPackage ../tools/admin/azure-cli { python = python3; };
+
   azure-storage-azcopy = callPackage ../development/tools/azcopy { };
 
   azure-vhd-utils  = callPackage ../tools/misc/azure-vhd-utils { };
@@ -720,6 +732,8 @@ in
 
   brewtarget = libsForQt5.callPackage ../applications/misc/brewtarget { } ;
 
+  boxes = callPackage ../tools/text/boxes { };
+
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
 
   ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { };
@@ -777,6 +791,8 @@ in
 
   bunny = callPackage ../tools/package-management/bunny { };
 
+  calls = callPackage ../applications/networking/calls { };
+
   certigo = callPackage ../tools/admin/certigo { };
 
   chezmoi = callPackage ../tools/misc/chezmoi { };
@@ -790,6 +806,8 @@ in
 
   cloud-sql-proxy = callPackage ../tools/misc/cloud-sql-proxy { };
 
+  cloudflare-wrangler = callPackage ../development/tools/cloudflare-wrangler { };
+
   container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
 
   ccextractor = callPackage ../applications/video/ccextractor { };
@@ -802,6 +820,8 @@ in
 
   claws = callPackage ../tools/misc/claws { };
 
+  cloud-custodian = python3Packages.callPackage ../tools/networking/cloud-custodian  { };
+
   codespell = with python3Packages; toPythonApplication codespell;
 
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
@@ -826,7 +846,7 @@ in
 
   dgsh = callPackage ../shells/dgsh { };
 
-  dkimpy = with pythonPackages; toPythonApplication dkimpy;
+  dkimpy = with python3Packages; toPythonApplication dkimpy;
 
   dpt-rp1-py = callPackage ../tools/misc/dpt-rp1-py { };
 
@@ -836,6 +856,8 @@ in
 
   elvish = callPackage ../shells/elvish { };
 
+  emplace = callPackage ../tools/package-management/emplace { };
+
   encryptr = callPackage ../tools/security/encryptr {
     gconf = gnome2.GConf;
   };
@@ -844,6 +866,8 @@ in
 
   enpass = callPackage ../tools/security/enpass { };
 
+  essentia-extractor = callPackage ../tools/audio/essentia-extractor { };
+
   esh = callPackage ../tools/text/esh { };
 
   ezstream = callPackage ../tools/audio/ezstream { };
@@ -854,6 +878,8 @@ in
 
   genymotion = callPackage ../development/mobile/genymotion { };
 
+  gaia = callPackage ../development/libraries/gaia { };
+
   gamecube-tools = callPackage ../development/tools/gamecube-tools { };
 
   gams = callPackage ../tools/misc/gams (config.gams or {});
@@ -874,6 +900,8 @@ in
 
   gitter = callPackage  ../applications/networking/instant-messengers/gitter { };
 
+  gjs = callPackage ../development/libraries/gjs { };
+
   glasgow = with python3Packages; toPythonApplication glasgow;
 
   gucci = callPackage ../tools/text/gucci { };
@@ -890,6 +918,8 @@ in
 
   glyr = callPackage ../tools/audio/glyr { };
 
+  hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
+
   httperf = callPackage ../tools/networking/httperf { };
 
   ili2c = callPackage ../tools/misc/ili2c { };
@@ -990,12 +1020,6 @@ in
     novacomd = callPackage ../development/mobile/webos/novacomd.nix { };
   };
 
-  arc-kde-theme = callPackage ../misc/themes/arc-kde { };
-
-  adapta-gtk-theme = callPackage ../misc/themes/adapta { };
-
-  adapta-kde-theme = callPackage ../misc/themes/adapta-kde { };
-
   aria2 = callPackage ../tools/networking/aria2 {
     inherit (darwin.apple_sdk.frameworks) Security;
     inherit (pythonPackages) sphinx;
@@ -1036,6 +1060,8 @@ in
 
   awstats = callPackage ../tools/system/awstats { };
 
+  awsweeper = callPackage ../tools/admin/awsweeper { };
+
   axel = callPackage ../tools/networking/axel {
     libssl = openssl;
   };
@@ -1120,6 +1146,8 @@ in
 
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
+  birdtray = libsForQt5.callPackage ../applications/misc/birdtray { };
+
   bitbucket-cli = python2Packages.bitbucket-cli;
 
   blink = libsForQt5.callPackage ../applications/networking/instant-messengers/blink { };
@@ -1199,8 +1227,6 @@ in
 
   boot = callPackage ../development/tools/build-managers/boot { };
 
-  bootchart = callPackage ../tools/system/bootchart { };
-
   bowtie2 = callPackage ../applications/science/biology/bowtie2 { };
 
   boxfs = callPackage ../tools/filesystems/boxfs { };
@@ -1232,6 +1258,8 @@ in
     asciidoc = asciidoc-full;
   };
 
+  buildpack = callPackage ../development/tools/buildpack { };
+
   buildtorrent = callPackage ../tools/misc/buildtorrent { };
 
   bustle = haskellPackages.bustle;
@@ -1260,6 +1288,8 @@ in
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
+  bs-platform = (callPackage ../development/compilers/bs-platform {}).bs-platform-621;
+
   c3d = callPackage ../applications/graphics/c3d {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -1289,6 +1319,7 @@ in
   });
 
   caddy = callPackage ../servers/caddy { };
+  caddy2 = callPackage ../servers/caddy/v2.nix { };
   traefik = callPackage ../servers/traefik { };
 
   calamares = libsForQt5.callPackage ../tools/misc/calamares {
@@ -1428,8 +1459,6 @@ in
 
   contrast = callPackage ../applications/accessibility/contrast { };
 
-  coprthr = callPackage ../development/libraries/coprthr { };
-
   cplex = callPackage ../applications/science/math/cplex (config.cplex or {});
 
   cpulimit = callPackage ../tools/misc/cpulimit { };
@@ -1445,7 +1474,9 @@ in
 
   colorls = callPackage ../tools/system/colorls { };
 
-  coloursum = callPackage ../tools/text/coloursum { };
+  coloursum = callPackage ../tools/text/coloursum {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   compsize = callPackage ../os-specific/linux/compsize { };
 
@@ -1461,6 +1492,8 @@ in
 
   crip = callPackage ../applications/audio/crip { };
 
+  crosvm = callPackage ../applications/virtualization/crosvm { };
+
   crunch = callPackage ../tools/security/crunch { };
 
   crudini = callPackage ../tools/misc/crudini { };
@@ -1487,6 +1520,10 @@ in
 
   dateutils = callPackage ../tools/misc/dateutils { };
 
+  datovka = libsForQt5.callPackage ../applications/networking/datovka { };
+
+  dconf = callPackage ../development/libraries/dconf { };
+
   ddar = callPackage ../tools/backup/ddar { };
 
   ddate = callPackage ../tools/misc/ddate { };
@@ -1556,9 +1593,7 @@ in
 
   dokuwiki = callPackage ../servers/web-apps/dokuwiki { };
 
-  dosage = callPackage ../applications/graphics/dosage {
-    pythonPackages = python3Packages;
-  };
+  dosage = callPackage ../applications/graphics/dosage { };
 
   dozenal = callPackage ../applications/misc/dozenal { };
 
@@ -1576,7 +1611,7 @@ in
 
   dua = callPackage ../tools/misc/dua { };
 
-  inherit (ocamlPackages) dune;
+  inherit (ocamlPackages) dune dune_2;
 
   duperemove = callPackage ../tools/filesystems/duperemove { };
 
@@ -1675,6 +1710,8 @@ in
 
   firestarter = callPackage ../applications/misc/firestarter { };
 
+  fselect = callPackage ../tools/misc/fselect { };
+
   fsmon = callPackage ../tools/misc/fsmon { };
 
   fsql = callPackage ../tools/misc/fsql { };
@@ -1805,9 +1842,11 @@ in
 
   icdiff = callPackage ../tools/text/icdiff {};
 
+  ifm = callPackage ../tools/graphics/ifm {};
+
   interlock = callPackage ../servers/interlock {};
 
-  jellyfin = callPackage ../servers/jellyfin { };
+  jellyfin = callPackage ../servers/jellyfin { ffmpeg = ffmpeg_4; };
 
   jotta-cli = callPackage ../applications/misc/jotta-cli { };
 
@@ -1815,7 +1854,7 @@ in
 
   kisslicer = callPackage ../tools/misc/kisslicer { };
 
-  klaus = with pythonPackages; toPythonApplication klaus;
+  klaus = with python3Packages; toPythonApplication klaus;
 
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
@@ -1851,7 +1890,7 @@ in
 
   marlin-calc = callPackage ../tools/misc/marlin-calc {};
 
-  mathics = pythonPackages.mathics;
+  mathics = with python2Packages; toPythonApplication mathics;
 
   masscan = callPackage ../tools/security/masscan {
     stdenv = gccStdenv;
@@ -1903,6 +1942,8 @@ in
 
   nfdump = callPackage ../tools/networking/nfdump { };
 
+  nfstrace = callPackage ../tools/networking/nfstrace { };
+
   nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools;
 
   noteshrink = callPackage ../tools/misc/noteshrink { };
@@ -1953,6 +1994,8 @@ in
 
   psstop = callPackage ../tools/system/psstop { };
 
+  precice = callPackage ../development/libraries/precice { };
+
   parallel-rust = callPackage ../tools/misc/parallel-rust { };
 
   pyCA = python3Packages.callPackage ../applications/video/pyca {};
@@ -1977,12 +2020,16 @@ in
 
   snipes = callPackage ../games/snipes { };
 
+  snippetpixie = callPackage ../tools/text/snippetpixie { };
+
   socklog = callPackage ../tools/system/socklog { };
 
   staccato = callPackage ../tools/text/staccato { };
 
   stagit = callPackage ../development/tools/stagit { };
 
+  step-cli = callPackage ../tools/security/step-cli { };
+
   bash-supergenpass = callPackage ../tools/security/bash-supergenpass { };
 
   sweep-visualizer = callPackage ../tools/misc/sweep-visualizer { };
@@ -1997,6 +2044,8 @@ in
     rainloop-community
     rainloop-standard;
 
+  rav1e = callPackage ../tools/video/rav1e { };
+
   ring-daemon = callPackage ../applications/networking/instant-messengers/ring-daemon { };
 
   riot-desktop = callPackage ../applications/networking/instant-messengers/riot/riot-desktop.nix { };
@@ -2005,7 +2054,9 @@ in
     conf = config.riot-web.conf or null;
   };
 
-  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {};
+  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
+  };
 
   roundcube = callPackage ../servers/roundcube { };
 
@@ -2026,7 +2077,7 @@ in
     libmysqlclient = null;
     postgresql = null;
     libdbi = null;
-    net_snmp = null;
+    net-snmp = null;
     libuuid = null;
     gnutls = null;
     libgcrypt = null;
@@ -2104,6 +2155,8 @@ in
     epubcheck = null;
   };
 
+  asciidoctorj = callPackage ../tools/typesetting/asciidoctorj { };
+
   asunder = callPackage ../applications/audio/asunder { };
 
   autossh = callPackage ../tools/networking/autossh { };
@@ -2128,8 +2181,6 @@ in
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
-  beegfs = callPackage ../os-specific/linux/beegfs { };
-
   beets = callPackage ../tools/audio/beets {
     pythonPackages = python3Packages;
   };
@@ -2287,6 +2338,8 @@ in
     buildGoModule = buildGo112Module;
   };
 
+  circus = callPackage ../tools/networking/circus { };
+
   # Cleanup before 20.03:
   citrix_receiver = throw "citrix_receiver has been discontinued by Citrix (https://docs.citrix.com/en-us/citrix-workspace-app.html). Please use citrix_workspace.";
   citrix_receiver_13_10_0 = citrix_receiver;
@@ -2295,6 +2348,7 @@ in
   citrix_receiver_13_8_0  = citrix_receiver;
 
   citrix_workspace_unwrapped = callPackage ../applications/networking/remote/citrix-workspace { };
+  citrix_workspace_unwrapped_19_12_0 = citrix_workspace_unwrapped.override { version = "19.12.0"; };
   citrix_workspace_unwrapped_19_10_0 = citrix_workspace_unwrapped.override { version = "19.10.0"; };
   citrix_workspace_unwrapped_19_8_0 = citrix_workspace_unwrapped.override { version = "19.8.0"; };
   citrix_workspace_unwrapped_19_6_0 = citrix_workspace_unwrapped.override { version = "19.6.0"; };
@@ -2303,6 +2357,9 @@ in
   citrix_workspace = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped;
   };
+  citrix_workspace_19_12_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
+    citrix_workspace = citrix_workspace_unwrapped_19_12_0;
+  };
   citrix_workspace_19_10_0 = callPackage ../applications/networking/remote/citrix-workspace/wrapper.nix {
     citrix_workspace = citrix_workspace_unwrapped_19_10_0;
   };
@@ -2322,10 +2379,6 @@ in
 
   codimd = callPackage ../servers/web-apps/codimd {
     nodejs = nodejs-10_x;
-    yarn2nix = yarn2nix-moretea.override {
-      nodejs = nodejs-10_x;
-      yarn = yarn.override { nodejs = nodejs-10_x; };
-    };
   };
 
   colord = callPackage ../tools/misc/colord { };
@@ -2387,6 +2440,8 @@ in
 
   evdevremapkeys = callPackage ../tools/inputmethods/evdevremapkeys { };
 
+  gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { };
+
   libpinyin = callPackage ../development/libraries/libpinyin { };
 
   libskk = callPackage ../development/libraries/libskk {
@@ -2410,9 +2465,7 @@ in
 
   libkkc = callPackage ../tools/inputmethods/libkkc { };
 
-  ibus = callPackage ../tools/inputmethods/ibus {
-    inherit (gnome3) dconf;
-  };
+  ibus = callPackage ../tools/inputmethods/ibus { };
 
   ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { };
 
@@ -2433,9 +2486,7 @@ in
       protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
-    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
-      inherit (gnome3) dconf;
-    };
+    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { };
 
     table-chinese = callPackage ../tools/inputmethods/ibus-engines/ibus-table-chinese {
       ibus-table = ibus-engines.table;
@@ -2454,9 +2505,7 @@ in
     };
   };
 
-  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix {
-    inherit (gnome3) dconf;
-  };
+  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix { };
 
   interception-tools = callPackage ../tools/inputmethods/interception-tools { };
   interception-tools-plugins = {
@@ -2537,7 +2586,8 @@ in
 
   cron = callPackage ../tools/system/cron { };
 
-  inherit (callPackages ../development/compilers/cudatoolkit { })
+  cudaPackages = recurseIntoAttrs (callPackage ../development/compilers/cudatoolkit {});
+  inherit (cudaPackages)
     cudatoolkit_6
     cudatoolkit_6_5
     cudatoolkit_7
@@ -2548,11 +2598,13 @@ in
     cudatoolkit_9_1
     cudatoolkit_9_2
     cudatoolkit_10
-    cudatoolkit_10_0;
+    cudatoolkit_10_0
+    cudatoolkit_10_1;
 
-  cudatoolkit = cudatoolkit_9;
+  cudatoolkit = cudatoolkit_10;
 
-  inherit (callPackages ../development/libraries/science/math/cudnn { })
+  cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
+  inherit (cudnnPackages)
     cudnn_cudatoolkit_7
     cudnn_cudatoolkit_7_5
     cudnn6_cudatoolkit_8
@@ -2562,9 +2614,10 @@ in
     cudnn_cudatoolkit_9_1
     cudnn_cudatoolkit_9_2
     cudnn_cudatoolkit_10
-    cudnn_cudatoolkit_10_0;
+    cudnn_cudatoolkit_10_0
+    cudnn_cudatoolkit_10_1;
 
-  cudnn = cudnn_cudatoolkit_9;
+  cudnn = cudnn_cudatoolkit_10;
 
   curlFull = curl.override {
     idnSupport = true;
@@ -2680,6 +2733,8 @@ in
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
+  dnsproxy = callPackage ../tools/networking/dnsproxy { };
+
   dnsperf = callPackage ../tools/networking/dnsperf { };
 
   dnsrecon = callPackage ../tools/security/dnsrecon { };
@@ -2896,6 +2951,8 @@ in
     inherit (pythonPackages) sphinx;
   };
 
+  volctl = callPackage ../tools/audio/volctl { };
+
   wallutils = callPackage ../tools/graphics/wallutils { };
 
   wev = callPackage ../tools/misc/wev { };
@@ -2943,6 +3000,7 @@ in
   evemu = callPackage ../tools/system/evemu { };
 
   # 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.3.1";
 
@@ -2975,18 +3033,9 @@ in
     elasticsearch = elasticsearch7-oss;
   };
 
-  elasticsearch-curator = with (python3.override {
-    packageOverrides = self: super: {
-      click = super.click.overridePythonAttrs (oldAttrs: rec {
-        version = "6.7";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
-        };
-      });
-      pyyaml = super.pyyaml_3;
-    };
-  }).pkgs; toPythonApplication elasticsearch-curator;
+  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator {
+    python = python3;
+  };
 
   embree2 = callPackage ../development/libraries/embree/2.x.nix { };
 
@@ -2998,9 +3047,7 @@ in
 
   endlessh = callPackage ../servers/endlessh { };
 
-  cryfs = callPackage ../tools/filesystems/cryfs {
-    spdlog = spdlog_0;
-  };
+  cryfs = callPackage ../tools/filesystems/cryfs { };
 
   encfs = callPackage ../tools/filesystems/encfs {
     tinyxml2 = tinyxml-2;
@@ -3008,6 +3055,8 @@ in
 
   enscript = callPackage ../tools/text/enscript { };
 
+  ensemble-chorus = callPackage ../applications/audio/ensemble-chorus { };
+
   entr = callPackage ../tools/misc/entr { };
 
   eot_utilities = callPackage ../tools/misc/eot-utilities { };
@@ -3022,6 +3071,8 @@ in
     inherit (pythonPackages) buildPythonApplication pygtk numpy;
   };
 
+  etcher = callPackage ../tools/misc/etcher { };
+
   ethtool = callPackage ../tools/misc/ethtool { };
 
   ettercap = callPackage ../applications/networking/sniffers/ettercap {
@@ -3226,6 +3277,8 @@ in
 
   fbv = callPackage ../tools/graphics/fbv { };
 
+  fbvnc = callPackage ../tools/admin/fbvnc {};
+
   fim = callPackage ../tools/graphics/fim { };
 
   flac123 = callPackage ../applications/audio/flac123 { };
@@ -3276,9 +3329,6 @@ in
   fprot = callPackage ../tools/security/fprot { };
 
   fprintd = callPackage ../tools/security/fprintd { };
-  fprintd-thinkpad = fprintd.override {
-    thinkpad = true;
-  };
 
   franz = callPackage ../applications/networking/instant-messengers/franz { };
 
@@ -3366,6 +3416,11 @@ in
     inherit (darwin) locale;
   };
 
+  gawk-with-extensions = callPackage ../tools/text/gawk/gawk-with-extensions.nix {
+    extensions = gawkextlib.full;
+  };
+  gawkextlib = callPackage ../tools/text/gawk/gawkextlib.nix {};
+
   gawkInteractive = appendToName "interactive"
     (gawk.override { interactive = true; });
 
@@ -3506,10 +3561,6 @@ in
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome15 = callPackage ../applications/misc/gnome15 {
-    inherit (gnome2) gnome_python gnome_python_desktop;
-  };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
@@ -3543,11 +3594,11 @@ in
   gnupg1 = gnupg1compat;    # use config.packageOverrides if you prefer original gnupg1
   gnupg20 = callPackage ../tools/security/gnupg/20.nix {
     guiSupport = stdenv.isDarwin;
-    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry_gtk2;
+    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
   };
   gnupg22 = callPackage ../tools/security/gnupg/22.nix {
     guiSupport = stdenv.isDarwin;
-    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry_gtk2;
+    pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;
   };
   gnupg = gnupg22;
 
@@ -3967,13 +4018,13 @@ in
 
   hylafaxplus = callPackage ../servers/hylafaxplus { };
 
+  hyphen = callPackage ../development/libraries/hyphen { };
+
   i2c-tools = callPackage ../os-specific/linux/i2c-tools { };
 
   i2p = callPackage ../tools/networking/i2p {};
 
-  i2pd = callPackage ../tools/networking/i2pd {
-    boost = boost165;
-  };
+  i2pd = callPackage ../tools/networking/i2pd { };
 
   i-score = libsForQt5.callPackage ../applications/audio/i-score { };
 
@@ -4066,7 +4117,9 @@ in
 
   intecture-auth = callPackage ../tools/admin/intecture/auth.nix { };
 
-  intecture-cli = callPackage ../tools/admin/intecture/cli.nix { };
+  intecture-cli = callPackage ../tools/admin/intecture/cli.nix {
+    openssl = openssl_1_0_2;
+  };
 
   intel-media-sdk = callPackage ../development/libraries/intel-media-sdk { };
 
@@ -4119,6 +4172,8 @@ in
 
   netmask = callPackage ../tools/networking/netmask {};
 
+  ipscan = callPackage ../tools/security/ipscan { };
+
   ipv6calc = callPackage ../tools/networking/ipv6calc {};
 
   ipxe = callPackage ../tools/misc/ipxe { };
@@ -4196,13 +4251,15 @@ in
 
   jpeg-archive = callPackage ../applications/graphics/jpeg-archive { };
 
+  jpegexiforient = callPackage ../tools/graphics/jpegexiforient { };
+
   jpeginfo = callPackage ../applications/graphics/jpeginfo { };
 
   jpegoptim = callPackage ../applications/graphics/jpegoptim { };
 
   jpegrescan = callPackage ../applications/graphics/jpegrescan { };
 
-  jpylyzer = with pythonPackages; toPythonApplication jpylyzer;
+  jpylyzer = with python3Packages; toPythonApplication jpylyzer;
 
   jq = callPackage ../development/tools/jq { };
 
@@ -4251,12 +4308,12 @@ in
 
   kdbplus = pkgsi686Linux.callPackage ../applications/misc/kdbplus { };
 
-  kde2-decoration = libsForQt5.callPackage ../misc/themes/kde2 { };
-
   keepalived = callPackage ../tools/networking/keepalived { };
 
   kexectools = callPackage ../os-specific/linux/kexectools { };
 
+  keepkey_agent = with python3Packages; toPythonApplication keepkey_agent;
+
   kexpand = callPackage ../development/tools/kexpand { };
 
   keybase = callPackage ../tools/security/keybase {
@@ -4361,6 +4418,8 @@ in
 
   libsmi = callPackage ../development/libraries/libsmi { };
 
+  licensor = callPackage ../tools/misc/licensor { };
+
   lesspipe = callPackage ../tools/misc/lesspipe { };
 
   liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix {
@@ -4417,7 +4476,9 @@ in
 
   makebootfat = callPackage ../tools/misc/makebootfat { };
 
-  matrix-synapse = callPackage ../servers/matrix-synapse { };
+  /* Python 3.8 is currently broken with matrix-synapse since `python38Packages.bleach` fails
+    (https://github.com/NixOS/nixpkgs/issues/76093) */
+  matrix-synapse = callPackage ../servers/matrix-synapse { /*python3 = python38;*/ };
 
   matrix-appservice-slack = callPackage ../servers/matrix-synapse/matrix-appservice-slack {};
 
@@ -4526,8 +4587,6 @@ in
 
   next = callPackage ../applications/networking/browsers/next { };
 
-  next-gtk-webkit = callPackage ../applications/networking/browsers/next-gtk-webkit { };
-
   nfpm = callPackage ../tools/package-management/nfpm { };
 
   nginx-config-formatter = callPackage ../tools/misc/nginx-config-formatter { };
@@ -4576,9 +4635,7 @@ in
 
   file-rename = callPackage ../tools/filesystems/file-rename { };
 
-  kea = callPackage ../tools/networking/kea {
-    boost = boost165;
-  };
+  kea = callPackage ../tools/networking/kea { };
 
   ispell = callPackage ../tools/text/ispell {};
 
@@ -4636,6 +4693,8 @@ in
 
   libircclient = callPackage ../development/libraries/libircclient { };
 
+  libisds = callPackage ../development/libraries/libisds { };
+
   libite = callPackage ../development/libraries/libite { };
 
   liblangtag = callPackage ../development/libraries/liblangtag {
@@ -4648,6 +4707,8 @@ in
 
   libr3 = callPackage ../development/libraries/libr3 { };
 
+  libraspberrypi = callPackage ../development/libraries/libraspberrypi { };
+
   libsidplayfp = callPackage ../development/libraries/libsidplayfp { };
 
   libspf2 = callPackage ../development/libraries/libspf2 { };
@@ -4990,6 +5051,8 @@ in
 
   mt-st = callPackage ../tools/backup/mt-st {};
 
+  multitime = callPackage ../tools/misc/multitime { };
+
   multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in {
     multitrandata = callPackage ../tools/text/multitran/data { };
 
@@ -5042,6 +5105,8 @@ in
 
   ndppd = callPackage ../applications/networking/ndppd { };
 
+  nebula = callPackage ../tools/networking/nebula { };
+
   nemiver = callPackage ../development/tools/nemiver { };
 
   neofetch = callPackage ../tools/misc/neofetch { };
@@ -5175,7 +5240,7 @@ in
 
   niff = callPackage ../tools/package-management/niff { };
 
-  nifskope = libsForQt59.callPackage ../tools/graphics/nifskope { };
+  nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { };
 
   nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
 
@@ -5205,6 +5270,9 @@ in
 
   nnn = callPackage ../applications/misc/nnn { };
 
+
+  noise-repellent = callPackage ../applications/audio/noise-repellent { };
+
   notary = callPackage ../tools/security/notary { };
 
   notify-osd = callPackage ../applications/misc/notify-osd { };
@@ -5294,6 +5362,11 @@ in
 
   omping = callPackage ../applications/networking/omping { };
 
+  onefetch = callPackage ../tools/misc/onefetch {
+    inherit (darwin) libresolv;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
+
   onioncircuits = callPackage ../tools/security/onioncircuits { };
 
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { };
@@ -5381,13 +5454,15 @@ in
 
   update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
 
+  update-systemd-resolved = callPackage ../tools/networking/openvpn/update-systemd-resolved.nix { };
+
   opae = callPackage ../development/libraries/opae { };
 
   opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };
 
-  openvswitch = callPackage ../os-specific/linux/openvswitch {
-    openssl = openssl_1_0_2;
-  };
+  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+
+  openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { };
 
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
@@ -5415,6 +5490,8 @@ in
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  overcommit = callPackage ../development/tools/overcommit { };
+
   overmind = callPackage ../applications/misc/overmind { };
 
   owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
@@ -5450,8 +5527,6 @@ in
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  paper-gtk-theme = callPackage ../misc/themes/paper { };
-
   paperless = callPackage ../applications/office/paperless { };
 
   paperwork = callPackage ../applications/office/paperwork { };
@@ -5572,6 +5647,8 @@ in
 
   peco = callPackage ../tools/text/peco { };
 
+  pg_flame = callPackage ../tools/misc/pg_flame { };
+
   pg_top = callPackage ../tools/misc/pg_top { };
 
   pgcenter = callPackage ../tools/misc/pgcenter { };
@@ -5583,6 +5660,8 @@ in
     ssh = openssh;
   };
 
+  pfetch = callPackage ../tools/misc/pfetch { };
+
   pfstools = callPackage ../tools/graphics/pfstools { };
 
   philter = callPackage ../tools/networking/philter { };
@@ -5670,6 +5749,8 @@ in
 
   podman = callPackage ../applications/virtualization/podman { };
 
+  podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {};
+
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
   poedit = callPackage ../tools/text/poedit { };
@@ -5694,6 +5775,8 @@ in
 
   ppl = callPackage ../development/libraries/ppl { };
 
+  pplatex = callPackage ../tools/typesetting/tex/pplatex { };
+
   ppp = callPackage ../tools/networking/ppp { };
 
   pptp = callPackage ../tools/networking/pptp {};
@@ -5732,6 +5815,8 @@ in
 
   pastebinit = callPackage ../tools/misc/pastebinit { };
 
+  pmacct = callPackage ../tools/networking/pmacct { };
+
   polygraph = callPackage ../tools/networking/polygraph { };
 
   progress = callPackage ../tools/misc/progress { };
@@ -5772,14 +5857,10 @@ in
 
   pydf = callPackage ../applications/misc/pydf { };
 
-  pygmentex = callPackage ../tools/typesetting/pygmentex { };
-
   pympress = callPackage ../applications/office/pympress { };
 
   pythonIRClib = pythonPackages.pythonIRClib;
 
-  pythonSexy = pythonPackages.libsexy;
-
   pyditz = callPackage ../applications/misc/pyditz {
     pythonPackages = python27Packages;
   };
@@ -5841,6 +5922,8 @@ in
 
   qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
 
+  quickjs = callPackage ../development/interpreters/quickjs { };
+
   quickserve = callPackage ../tools/networking/quickserve { };
 
   quicktun = callPackage ../tools/networking/quicktun { };
@@ -5891,13 +5974,12 @@ in
 
   redir = callPackage ../tools/networking/redir { };
 
-  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_4; };
   # failed to build websocket-driver gem with ruby 2.6, so sticking to 2.5 for now
-  redmine_4 = callPackage ../applications/version-management/redmine/4.x { ruby = pkgs.ruby_2_5; };
+  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_5; };
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
-  retext = callPackage ../applications/editors/retext { };
+  retext = libsForQt5.callPackage ../applications/editors/retext { };
 
   richgo = callPackage ../development/tools/richgo {  };
 
@@ -5912,15 +5994,7 @@ in
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
 
-  recordmydesktop = callPackage ../applications/video/recordmydesktop { };
-
-  gtk-recordmydesktop = callPackage ../applications/video/recordmydesktop/gtk.nix {
-    jack2 = jack2Full;
-  };
-
-  qt-recordmydesktop = callPackage ../applications/video/recordmydesktop/qt.nix {
-    jack2 = jack2Full;
-  };
+  rx = callPackage ../applications/graphics/rx { };
 
   qt-box-editor = libsForQt5.callPackage ../applications/misc/qt-box-editor { };
 
@@ -5991,6 +6065,8 @@ in
 
   rng-tools = callPackage ../tools/security/rng-tools { };
 
+  rnnoise = callPackage ../development/libraries/rnnoise { };
+
   rnv = callPackage ../tools/text/xml/rnv { };
 
   rounded-mgenplus = callPackage ../data/fonts/rounded-mgenplus { };
@@ -6047,6 +6123,10 @@ in
 
   runzip = callPackage ../tools/archivers/runzip { };
 
+  ruplacer = callPackage ../tools/text/ruplacer {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   rw = callPackage ../tools/misc/rw { };
 
   rxp = callPackage ../tools/text/xml/rxp { };
@@ -6073,8 +6153,6 @@ in
 
   s6-portable-utils = skawarePackages.s6-portable-utils;
 
-  sablotron = callPackage ../tools/text/xml/sablotron { };
-
   safecopy = callPackage ../tools/system/safecopy { };
 
   safe-rm = callPackage ../tools/system/safe-rm { };
@@ -6287,6 +6365,8 @@ in
 
   smesh = callPackage ../development/libraries/smesh {};
 
+  smu = callPackage ../tools/text/smu { };
+
   smugline = python3Packages.smugline;
 
   snabb = callPackage ../tools/networking/snabb { } ;
@@ -6303,6 +6383,8 @@ in
 
   sshguard = callPackage ../tools/security/sshguard {};
 
+  sshping = callPackage ../tools/networking/sshping {};
+
   suricata = callPackage ../applications/networking/ids/suricata {
     python = python3;
   };
@@ -6344,8 +6426,6 @@ in
 
   syntex = callPackage ../tools/graphics/syntex {};
 
-  fusesmb = callPackage ../tools/filesystems/fusesmb { samba = samba3; };
-
   sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; };
 
   socat = callPackage ../tools/networking/socat { };
@@ -6362,10 +6442,14 @@ in
 
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
+  squashfs-tools-ng = callPackage ../tools/filesystems/squashfs-tools-ng { };
+
   squashfuse = callPackage ../tools/filesystems/squashfuse { };
 
   srcml = callPackage ../applications/version-management/srcml { };
 
+  srt-to-vtt-cl = callPackage ../tools/cd-dvd/srt-to-vtt-cl { };
+
   sourcehut = callPackage ../applications/version-management/sourcehut { };
 
   sshfs-fuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -6377,6 +6461,8 @@ in
 
   ssldump = callPackage ../tools/networking/ssldump { };
 
+  sslsplit = callPackage ../tools/networking/sslsplit { };
+
   sstp = callPackage ../tools/networking/sstp {};
 
   strip-nondeterminism = perlPackages.strip-nondeterminism;
@@ -6423,6 +6509,8 @@ in
 
   sslmate = callPackage ../development/tools/sslmate { };
 
+  sshoogr = callPackage ../tools/networking/sshoogr { };
+
   ssmtp = callPackage ../tools/networking/ssmtp { };
 
   ssocr = callPackage ../applications/misc/ssocr { };
@@ -6485,6 +6573,8 @@ in
 
   staruml = callPackage ../tools/misc/staruml { inherit (gnome2) GConf; libgcrypt = libgcrypt_1_5; };
 
+  stone-phaser = callPackage ../applications/audio/stone-phaser { };
+
   systrayhelper = callPackage ../tools/misc/systrayhelper {};
 
   Sylk = callPackage ../applications/networking/Sylk {};
@@ -6531,6 +6621,8 @@ in
 
   tcpreplay = callPackage ../tools/networking/tcpreplay { };
 
+  tdns-cli = callPackage ../tools/networking/tdns-cli { };
+
   ted = callPackage ../tools/typesetting/ted { };
 
   teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
@@ -6579,6 +6671,8 @@ in
 
   tiled = libsForQt5.callPackage ../applications/editors/tiled { };
 
+  tiledb = callPackage ../development/libraries/tiledb { };
+
   timemachine = callPackage ../applications/audio/timemachine { };
 
   timelapse-deflicker = callPackage ../applications/graphics/timelapse-deflicker { };
@@ -6603,6 +6697,8 @@ in
 
   tinyemu = callPackage ../applications/virtualization/tinyemu { };
 
+  tinyfecvpn = callPackage ../tools/networking/tinyfecvpn {};
+
   tinyprog = callPackage ../development/tools/misc/tinyprog { };
 
   tinyproxy = callPackage ../tools/networking/tinyproxy {};
@@ -6617,6 +6713,8 @@ in
 
   tmate = callPackage ../tools/misc/tmate { };
 
+  tmate-ssh-server = callPackage ../servers/tmate-ssh-server { };
+
   tmpwatch = callPackage ../tools/misc/tmpwatch  { };
 
   tmux = callPackage ../tools/misc/tmux { };
@@ -6637,6 +6735,8 @@ in
 
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
+  topgrade = callPackage ../tools/misc/topgrade {  };
+
   tor = callPackage ../tools/security/tor {
     # remove this, when libevent's openssl is upgraded to 1_1_0 or newer.
     libevent = libevent.override {
@@ -6679,6 +6779,8 @@ in
 
   trezord = callPackage ../servers/trezord { };
 
+  trezor_agent = with python3Packages; toPythonApplication trezor_agent;
+
   tthsum = callPackage ../applications/misc/tthsum { };
 
   chaps = callPackage ../tools/security/chaps { };
@@ -6701,17 +6803,21 @@ in
 
   trash-cli = callPackage ../tools/misc/trash-cli { };
 
+  trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
   inherit (nodePackages) triton;
 
   triggerhappy = callPackage ../tools/inputmethods/triggerhappy {};
 
-  trilium = callPackage ../applications/office/trilium { };
+  inherit (callPackage ../applications/office/trilium {})
+    trilium-desktop
+    trilium-server
+    ;
+  trilium = trilium-desktop;
 
-  trousers = callPackage ../tools/security/trousers {
-    openssl = openssl_1_0_2;
-  };
+  trousers = callPackage ../tools/security/trousers { };
 
   trx = callPackage ../tools/audio/trx { };
 
@@ -6732,6 +6838,8 @@ in
 
   ttyrec = callPackage ../tools/misc/ttyrec { };
 
+  ttygif = callPackage ../tools/misc/ttygif { };
+
   ttylog = callPackage ../tools/misc/ttylog { };
 
   turses = callPackage ../applications/networking/instant-messengers/turses { };
@@ -6814,10 +6922,14 @@ in
 
   uwsgi = callPackage ../servers/uwsgi { };
 
+  v2ray = callPackage ../tools/networking/v2ray { };
+
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
   vampire = callPackage ../applications/science/logic/vampire {};
 
+  variety = callPackage ../applications/misc/variety {};
+
   vdmfec = callPackage ../applications/backup/vdmfec {};
 
   vk-messenger = callPackage ../applications/networking/instant-messengers/vk-messenger {};
@@ -6850,6 +6962,11 @@ in
 
   vifm = callPackage ../applications/misc/vifm { };
 
+  vifm-full = callPackage ../applications/misc/vifm {
+    mediaSupport = true;
+    inherit lib udisks2 python3;
+  };
+
   viking = callPackage ../applications/misc/viking {
     inherit (gnome2) scrollkeeper;
   };
@@ -6960,6 +7077,8 @@ in
 
   whois = callPackage ../tools/networking/whois { };
 
+  wifite2 = callPackage ../tools/networking/wifite2 { };
+
   wireguard-tools = callPackage ../tools/networking/wireguard-tools { };
 
   woff2 = callPackage ../development/web/woff2 { };
@@ -7058,7 +7177,10 @@ in
 
   unbound = callPackage ../tools/networking/unbound { };
 
-  units = callPackage ../tools/misc/units { };
+  units = callPackage ../tools/misc/units {
+    enableCurrenciesUpdater = true;
+    pythonPackages = python3Packages;
+  };
 
   unittest-cpp = callPackage ../development/libraries/unittest-cpp { };
 
@@ -7149,6 +7271,8 @@ in
   waf = callPackage ../development/tools/build-managers/waf { python = python3; };
   wafHook = callPackage ../development/tools/build-managers/wafHook { };
 
+  wagyu = callPackage ../tools/misc/wagyu { };
+
   wakelan = callPackage ../tools/networking/wakelan { };
 
   wavemon = callPackage ../tools/networking/wavemon { };
@@ -7310,6 +7434,11 @@ in
 
   yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea/yarn2nix { };
 
+  inherit (yarn2nix-moretea)
+    yarn2nix
+    mkYarnPackage
+    fixup_yarn_lock;
+
   yasr = callPackage ../applications/audio/yasr { };
 
   yank = callPackage ../tools/misc/yank { };
@@ -7373,6 +7502,8 @@ in
 
   zsh-syntax-highlighting = callPackage ../shells/zsh/zsh-syntax-highlighting { };
 
+  zsh-fast-syntax-highlighting = callPackage ../shells/zsh/zsh-fast-syntax-highlighting { };
+
   zsh-autosuggestions = callPackage ../shells/zsh/zsh-autosuggestions { };
 
   zsh-powerlevel9k = callPackage ../shells/zsh/zsh-powerlevel9k { };
@@ -7563,6 +7694,14 @@ in
     inherit (darwin) cctools;
   };
 
+  chez-srfi = callPackage ../development/chez-modules/chez-srfi { };
+
+  chez-mit = callPackage ../development/chez-modules/chez-mit { };
+
+  chez-scmutils = callPackage ../development/chez-modules/chez-scmutils { };
+
+  chez-matchable = callPackage ../development/chez-modules/chez-matchable { };
+
   clang = llvmPackages.clang;
   clang-manpages = llvmPackages.clang-manpages;
 
@@ -7621,6 +7760,7 @@ in
     crystal_0_27
     crystal_0_29
     crystal_0_30
+    crystal_0_31
     crystal
     crystal2nix;
 
@@ -7665,8 +7805,8 @@ in
   gerbil = callPackage ../development/compilers/gerbil { stdenv = gccStdenv; };
   gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { stdenv = gccStdenv; };
 
-  gccFun = callPackage ../development/compilers/gcc/9;
-  gcc = gcc9;
+  gccFun = callPackage (if stdenv.targetPlatform.isVc4 then ../development/compilers/gcc/6 else ../development/compilers/gcc/9);
+  gcc = if stdenv.targetPlatform.isVc4 then gcc6 else gcc9;
   gcc-unwrapped = gcc.cc;
 
   gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
@@ -7732,7 +7872,7 @@ in
     ../development/compilers/gcc/libstdc++-hook.sh;
 
   crossLibcStdenv = overrideCC stdenv
-    (if stdenv.targetPlatform.useLLVM or false
+    (if stdenv.hostPlatform.useLLVM or false
      then buildPackages.llvmPackages_8.lldClangNoLibc
      else buildPackages.gccCrossStageStatic);
 
@@ -7765,6 +7905,7 @@ in
       };
       bintools = binutils1;
       libc = libcCross1;
+      extraPackages = [];
   };
 
   gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
@@ -7774,6 +7915,7 @@ in
     profiledCompiler = with stdenv; (!isSunOS && !isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
     cloog = if !stdenv.isDarwin then cloog else null;
@@ -7787,6 +7929,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_11 else null;
 
@@ -7800,6 +7943,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
@@ -7811,6 +7955,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_14 else null;
   }));
@@ -7822,6 +7967,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7833,6 +7979,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7844,6 +7991,7 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
@@ -7855,12 +8003,12 @@ in
     profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
 
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
     isl = isl_0_17;
   }));
 
-  # Version 8.x is marked broken on Darwin: https://gist.github.com/GrahamcOfBorg/bef0231b7129681950f03c4ac06781c8.
-  gfortran = if stdenv.isDarwin then gfortran7 else gfortran9;
+  gfortran = gfortran9;
 
   gfortran48 = wrapCC (gcc48.cc.override {
     name = "gfortran";
@@ -7980,6 +8128,10 @@ in
 
   gforth = callPackage ../development/compilers/gforth {};
 
+  gleam = callPackage ../development/compilers/gleam {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   gtk-server = callPackage ../development/interpreters/gtk-server {};
 
   # Haskell and GHC
@@ -8003,6 +8155,14 @@ in
   psc-package = haskell.lib.justStaticExecutables
     (haskellPackages.callPackage ../development/compilers/purescript/psc-package { });
 
+  purescript-psa = nodePackages.purescript-psa;
+
+  spago = haskell.lib.justStaticExecutables haskellPackages.spago;
+
+  pulp = nodePackages.pulp;
+
+  pscid = nodePackages.pscid;
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -8227,6 +8387,10 @@ in
         inherit installjdk pluginSupport;
       });
 
+  jasmin = callPackage ../development/compilers/jasmin { };
+
+  java-service-wrapper = callPackage ../tools/system/java-service-wrapper { };
+
   javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
 
   julia_07 = callPackage ../development/compilers/julia/0.7.nix {
@@ -8360,7 +8524,10 @@ in
 
   llvmPackages_latest = llvmPackages_9;
 
-  lorri = throw "lorri is not stable yet. Please go to https://github.com/target/lorri and follow the installation instructions there, for the time being.";
+  lorri = callPackage ../tools/misc/lorri {
+    inherit (darwin) cf-private;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
 
   manticore = callPackage ../development/compilers/manticore { };
 
@@ -8441,6 +8608,8 @@ in
 
   ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
 
+  ocaml-crunch = ocamlPackages.crunch.bin;
+
   ocamlformat = callPackage ../development/tools/ocaml/ocamlformat { };
 
   orc = callPackage ../development/compilers/orc { };
@@ -8480,16 +8649,26 @@ in
 
   qbe = callPackage ../development/compilers/qbe { };
 
+  rasm = callPackage ../development/compilers/rasm { };
+
   rgbds = callPackage ../development/compilers/rgbds { };
 
   rtags = callPackage ../development/tools/rtags {
     inherit (darwin) apple_sdk;
   };
 
-  rust = callPackage ../development/compilers/rust {
+  rust_1_39_0 = callPackage ../development/compilers/rust/1_39_0.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
+  rust_1_38_0 = callPackage ../development/compilers/rust/1_38_0.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
-  rustPackages = rust.packages.stable;
+  rust = rust_1_39_0;
+
+  rustPackages_1_39_0 = rust_1_39_0.packages.stable;
+  rustPackages_1_38_0 = rust_1_38_0.packages.stable;
+  rustPackages = rustPackages_1_39_0;
+
   inherit (rustPackages) cargo rustc rustPlatform;
   inherit (rust) makeRustPlatform;
 
@@ -8513,6 +8692,9 @@ in
   cargo-audit = callPackage ../tools/package-management/cargo-audit {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-deb = callPackage ../tools/package-management/cargo-deb {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-deps = callPackage ../tools/package-management/cargo-deps { };
   cargo-download = callPackage ../tools/package-management/cargo-download { };
   cargo-edit = callPackage ../tools/package-management/cargo-edit { };
@@ -8529,10 +8711,14 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
+  cargo-crev = callPackage ../development/tools/rust/cargo-crev {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
   cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
   cargo-geiger = callPackage ../development/tools/rust/cargo-geiger {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin) libiconv;
+    inherit (darwin.apple_sdk.frameworks) Security CoreFoundation;
   };
   cargo-inspect = callPackage ../development/tools/rust/cargo-inspect {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -8544,6 +8730,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-sweep = callPackage ../development/tools/rust/cargo-sweep { };
+  cargo-udeps = callPackage ../development/tools/rust/cargo-udeps {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
   cargo-watch = callPackage ../development/tools/rust/cargo-watch {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -8560,6 +8749,7 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   rustracerd = callPackage ../development/tools/rust/racerd {
+    inherit (rustPackages_1_38_0) rustPlatform;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   rust-bindgen = callPackage ../development/tools/rust/bindgen { };
@@ -8595,9 +8785,7 @@ in
   shmig = callPackage ../development/tools/database/shmig { };
 
   smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
-  smlnj = if stdenv.isDarwin
-            then callPackage ../development/compilers/smlnj { }
-            else pkgsi686Linux.callPackage ../development/compilers/smlnj { };
+  smlnj = callPackage ../development/compilers/smlnj { };
 
   solc = callPackage ../development/compilers/solc { };
 
@@ -8653,6 +8841,11 @@ in
 
   tinycc = callPackage ../development/compilers/tinycc { };
 
+  tinygo = callPackage ../development/compilers/tinygo {
+    inherit (llvmPackages_9) llvm clang-unwrapped lld;
+    avrgcc = pkgsCross.avr.buildPackages.gcc;
+  };
+
   tinyscheme = callPackage ../development/interpreters/tinyscheme {
     stdenv = gccStdenv;
   };
@@ -8688,6 +8881,7 @@ in
       # provide the default choice, avoiding infinite recursion.
       bintools ? if stdenv.targetPlatform.isDarwin then darwin.binutils else binutils
     , libc ? bintools.libc
+    , extraPackages ? stdenv.lib.optional (cc.isGNU or false && stdenv.targetPlatform.isMinGW) threadsCross
     , ...
     } @ extraArgs:
       callPackage ../build-support/cc-wrapper (let self = {
@@ -8699,7 +8893,7 @@ in
     isGNU = cc.isGNU or false;
     isClang = cc.isClang or false;
 
-    inherit cc bintools libc;
+    inherit cc bintools libc extraPackages;
   } // extraArgs; in self);
 
   wrapCC = cc: wrapCCWith {
@@ -8730,6 +8924,8 @@ in
 
   z88dk = callPackage ../development/compilers/z88dk { };
 
+  zulip = callPackage ../applications/networking/instant-messengers/zulip { };
+
   zulu8 = callPackage ../development/compilers/zulu/8.nix { };
   zulu = callPackage ../development/compilers/zulu { };
 
@@ -8752,6 +8948,8 @@ in
 
   clojure = callPackage ../development/interpreters/clojure { };
 
+  clojure-lsp = callPackage ../development/tools/misc/clojure-lsp { };
+
   clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
 
   dhall = callPackage ../development/interpreters/dhall { };
@@ -8781,9 +8979,9 @@ in
     lfe lfe_1_2;
 
   inherit (beam.packages.erlang)
-    rebar rebar3-open rebar3
-    hexRegistrySnapshot fetchHex beamPackages
-    hex2nix relxExe;
+    rebar rebar3
+    fetchHex beamPackages
+    relxExe;
 
   inherit (beam.packages.erlangR19) cuter;
 
@@ -8953,6 +9151,10 @@ in
     php = php73;
   });
 
+  php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74;
+  });
+
   phpPackages-unit = php72Packages-unit;
 
   php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
@@ -8963,11 +9165,16 @@ in
     php = php73-unit;
   });
 
+  php74Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74-unit;
+  });
+
   inherit (callPackages ../development/interpreters/php {
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   })
-    php72
-    php73;
+    php74
+    php73
+    php72;
 
   php-embed = php73-embed;
 
@@ -8981,6 +9188,11 @@ in
     config.php.apxs2 = false;
   };
 
+  php74-embed = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+  };
+
   php-unit = php73-unit;
 
   php72-unit = php72.override {
@@ -9001,6 +9213,15 @@ in
     config.php.fpm = false;
   };
 
+  php74-unit = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+    config.php.systemd = false;
+    config.php.phpdbg = false;
+    config.php.cgi = false;
+    config.php.fpm = false;
+  };
+
   picoc = callPackage ../development/interpreters/picoc {};
 
   picolisp = callPackage ../development/interpreters/picolisp {};
@@ -9034,6 +9255,7 @@ in
   python36Full = python36.override{x11Support=true;};
   python37Full = python37.override{x11Support=true;};
   python38Full = python38.override{x11Support=true;};
+  python39Full = python38.override{x11Support=true;};
 
   # pythonPackages further below, but assigned here because they need to be in sync
   pythonPackages = python.pkgs;
@@ -9041,7 +9263,7 @@ in
   python3Packages = python3.pkgs;
 
   pythonInterpreters = callPackage ./../development/interpreters/python {};
-  inherit (pythonInterpreters) python27 python35 python36 python37 python38 python3Minimal pypy27 pypy36;
+  inherit (pythonInterpreters) python27 python35 python36 python37 python38 python39 python3Minimal pypy27 pypy36;
 
   # Python package sets.
   python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs);
@@ -9049,11 +9271,14 @@ in
   python36Packages = python36.pkgs;
   python37Packages = recurseIntoAttrs python37.pkgs;
   python38Packages = recurseIntoAttrs python38.pkgs;
+  python39Packages = python39.pkgs;
   pypyPackages = pypy.pkgs;
   pypy2Packages = pypy2.pkgs;
   pypy27Packages = pypy27.pkgs;
   pypy3Packages = pypy3.pkgs;
 
+  pythonManylinuxPackages = callPackage ./../development/interpreters/python/manylinux { };
+
   update-python-libraries = callPackage ../development/interpreters/python/update-python-libraries { };
 
   # Should eventually be moved inside Python interpreters.
@@ -9132,7 +9357,23 @@ in
   })
     ruby_2_4
     ruby_2_5
-    ruby_2_6;
+    ruby_2_6
+    ruby_2_7;
+
+  rubyMinimal = ruby.override {
+    # gem support is minimal overhead
+    rubygemsSupport = true;
+    useRailsExpress = false;
+    zlibSupport = false;
+    opensslSupport = false;
+    gdbmSupport = false;
+    cursesSupport = false;
+    docSupport = false;
+    yamlSupport = false;
+    fiddleSupport = false;
+    # remove gcc from runtime closure
+    removeReferenceToCC = true;
+  };
 
   ruby = ruby_2_6;
 
@@ -9265,6 +9506,9 @@ in
 
   mspdebug = callPackage ../development/misc/msp430/mspdebug.nix { };
 
+  vc4-newlib = callPackage ../development/misc/vc4/newlib.nix {};
+  resim = callPackage ../misc/emulators/resim {};
+
   rappel = callPackage ../development/misc/rappel/default.nix { };
 
   pharo-vms = callPackage ../development/pharo/vm { };
@@ -9296,6 +9540,8 @@ in
     alloy5
     alloy;
 
+  ameba = callPackage ../development/tools/ameba { };
+
   augeas = callPackage ../tools/system/augeas { };
 
   inherit (callPackage ../tools/admin/ansible { })
@@ -9331,6 +9577,8 @@ in
 
   kt = callPackage ../tools/misc/kt {};
 
+  argbash = callPackage ../development/tools/misc/argbash {};
+
   arpa2cm = callPackage ../development/tools/build-managers/arpa2cm { };
 
   asn2quickder = python2Packages.callPackage ../development/tools/asn2quickder {};
@@ -9386,7 +9634,7 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk8;
     buildJdkName = "jdk8";
-    runJdk = jdk11;
+    runJdk = jdk11_headless;
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
 
@@ -9643,6 +9891,8 @@ in
 
   lattice-diamond = callPackage ../development/tools/lattice-diamond { };
 
+  direvent = callPackage ../development/tools/misc/direvent { };
+
   distcc = callPackage ../development/tools/misc/distcc {
     libiberty_static = libiberty.override { staticBuild = true; };
   };
@@ -9681,6 +9931,8 @@ in
 
   doit = callPackage ../development/tools/build-managers/doit { };
 
+  dolt = callPackage ../servers/sql/dolt { };
+
   dot2tex = pythonPackages.dot2tex;
 
   doxygen = callPackage ../development/tools/documentation/doxygen {
@@ -9698,6 +9950,8 @@ in
 
   drush = callPackage ../development/tools/misc/drush { };
 
+  editorconfig-checker = callPackage ../development/tools/misc/editorconfig-checker { };
+
   editorconfig-core-c = callPackage ../development/tools/misc/editorconfig-core-c { };
 
   eggdbus = callPackage ../development/tools/misc/eggdbus { };
@@ -9745,6 +9999,8 @@ in
 
   frame = callPackage ../development/libraries/frame { };
 
+  frp = callPackage ../tools/networking/frp { };
+
   fsatrace = callPackage ../development/tools/misc/fsatrace { };
 
   fswatch = callPackage ../development/tools/misc/fswatch {
@@ -9753,7 +10009,7 @@ in
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
-  gede = libsForQt59.callPackage ../development/tools/misc/gede { };
+  gede = libsForQt5.callPackage ../development/tools/misc/gede { };
 
   gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
 
@@ -9865,6 +10121,8 @@ in
     nodejs = nodejs-10_x;
   };
 
+  ccloud-cli = callPackage ../development/tools/ccloud-cli { };
+
   htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { };
 
   hyenae = callPackage ../tools/networking/hyenae { };
@@ -9929,12 +10187,16 @@ in
 
   kind = callPackage ../development/tools/kind {  };
 
+  khronos-ocl-icd-loader = callPackage ../development/libraries/khronos-ocl-icd-loader {  };
+
   kube-aws = callPackage ../development/tools/kube-aws { };
 
   kubectx = callPackage ../development/tools/kubectx { };
 
   kube-prompt = callPackage ../development/tools/kube-prompt { };
 
+  kubeprompt = callPackage ../development/tools/kubeprompt { };
+
   kubicorn = callPackage ../development/tools/kubicorn {  };
 
   kustomize = callPackage ../development/tools/kustomize { };
@@ -9984,6 +10246,8 @@ in
   maven = maven3;
   maven3 = callPackage ../development/tools/build-managers/apache-maven { };
 
+  mavproxy = python3Packages.callPackage ../applications/science/robotics/mavproxy { };
+
   go-md2man = callPackage ../development/tools/misc/md2man {};
 
   mage = callPackage ../development/tools/build-managers/mage { };
@@ -10133,8 +10397,6 @@ in
 
   puppet-lint = callPackage ../development/tools/puppet/puppet-lint { };
 
-  pyflame = callPackage ../development/tools/profiling/pyflame { };
-
   pyrseas = callPackage ../development/tools/database/pyrseas { };
 
   qtcreator = libsForQt5.callPackage ../development/tools/qtcreator { };
@@ -10245,7 +10507,7 @@ in
 
   smc = callPackage ../tools/misc/smc { };
 
-  snakemake = callPackage ../applications/science/misc/snakemake { python = python3Packages; };
+  snakemake = callPackage ../applications/science/misc/snakemake { };
 
   snore = callPackage ../tools/misc/snore { };
 
@@ -10280,6 +10542,8 @@ in
 
   sselp = callPackage ../tools/X11/sselp{ };
 
+  stm32cubemx = callPackage ../development/tools/misc/stm32cubemx { };
+
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
   strace = callPackage ../development/tools/misc/strace { };
@@ -10326,8 +10590,15 @@ in
 
   texi2mdoc = callPackage ../tools/misc/texi2mdoc { };
 
+  texlab = callPackage ../development/tools/misc/texlab {
+    inherit (darwin.apple_sdk.frameworks) Security;
+    texlab-citeproc-build-deps = nodePackages."texlab-citeproc-build-deps-../tools/misc/texlab/citeproc";
+  };
+
   tflint = callPackage ../development/tools/analysis/tflint { };
 
+  tfsec = callPackage ../development/tools/analysis/tfsec { };
+
   todoist = callPackage ../applications/misc/todoist { };
 
   todolist = callPackage ../applications/misc/todolist { };
@@ -10381,9 +10652,7 @@ in
 
   vultr = callPackage ../development/tools/vultr { };
 
-  vulnix = callPackage ../tools/security/vulnix {
-    pythonPackages = python3Packages;
-  };
+  vulnix = callPackage ../tools/security/vulnix { };
 
   vtable-dumper = callPackage ../development/tools/misc/vtable-dumper { };
 
@@ -10502,14 +10771,13 @@ in
 
   armadillo = callPackage ../development/libraries/armadillo {};
 
-  arrayfire = callPackage ../development/libraries/arrayfire {
-    # fails to build with gcc >= 7
-    stdenv = gcc6Stdenv;
-  };
+  arrayfire = callPackage ../development/libraries/arrayfire {};
 
-  arrow-cpp = callPackage ../development/libraries/arrow-cpp {
+  arrow-cpp = callPackage ../development/libraries/arrow-cpp ({
     gtest = gtest.override { static = true; };
-  };
+  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+    stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4'
+  });
 
   assimp = callPackage ../development/libraries/assimp { };
 
@@ -10557,9 +10825,9 @@ in
 
   bamf = callPackage ../development/libraries/bamf { };
 
-  bctoolbox = callPackage ../development/libraries/bctoolbox {
-    mbedtls = mbedtls_1_3;
-  };
+  bcg729 = callPackage ../development/libraries/bcg729 { };
+
+  bctoolbox = callPackage ../development/libraries/bctoolbox { };
 
   beecrypt = callPackage ../development/libraries/beecrypt { };
 
@@ -10604,9 +10872,10 @@ in
   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 = boost167;
+  boost16x = boost169;
   boost170 = callPackage ../development/libraries/boost/1.70.nix { };
-  boost17x = boost170;
+  boost171 = callPackage ../development/libraries/boost/1.71.nix { };
+  boost17x = boost171;
   boost = boost16x;
 
   boost_process = callPackage ../development/libraries/boost-process { };
@@ -10616,6 +10885,8 @@ in
 
   box2d = callPackage ../development/libraries/box2d { };
 
+  boxfort = callPackage ../development/libraries/boxfort { };
+
   buddy = callPackage ../development/libraries/buddy { };
 
   bulletml = callPackage ../development/libraries/bulletml { };
@@ -10669,7 +10940,10 @@ in
 
   caf = callPackage ../development/libraries/caf {};
 
-  cgal = callPackage ../development/libraries/CGAL {};
+  # CGAL 5 has API changes
+  cgal_4 = callPackage ../development/libraries/CGAL/4.nix {};
+  cgal_5 = callPackage ../development/libraries/CGAL {};
+  cgal = cgal_4;
 
   cgui = callPackage ../development/libraries/cgui {};
 
@@ -10732,8 +11006,6 @@ in
 
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
 
-  coredumper = callPackage ../development/libraries/coredumper { };
-
   ctl = callPackage ../development/libraries/ctl { };
 
   ctpp2 = callPackage ../development/libraries/ctpp2 { };
@@ -10763,6 +11035,8 @@ in
 
   cre2 = callPackage ../development/libraries/cre2 { };
 
+  criterion = callPackage ../development/libraries/criterion { };
+
   croaring = callPackage ../development/libraries/croaring { };
 
   cryptopp = callPackage ../development/libraries/crypto++ { };
@@ -10864,7 +11138,9 @@ in
 
   easyloggingpp = callPackage ../development/libraries/easyloggingpp {};
 
-  eccodes = callPackage ../development/libraries/eccodes { };
+  eccodes = callPackage ../development/libraries/eccodes {
+    pythonPackages = python3Packages;
+  };
 
   eclib = callPackage ../development/libraries/eclib {};
 
@@ -10878,6 +11154,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
   };
 
+  egl-wayland = callPackage ../development/libraries/egl-wayland {};
+
   elastix = callPackage ../development/libraries/science/biology/elastix { };
 
   enchant1 = callPackage ../development/libraries/enchant/1.x.nix { };
@@ -11025,8 +11303,6 @@ in
 
   fontconfig-penultimate = callPackage ../data/fonts/fontconfig-penultimate {};
 
-  fontconfig-ultimate = callPackage ../development/libraries/fontconfig-ultimate {};
-
   folly = callPackage ../development/libraries/folly { };
 
   folks = callPackage ../development/libraries/folks { };
@@ -11193,6 +11469,7 @@ in
     else if name == "uclibc" then targetPackages.uclibcCross or uclibcCross
     else if name == "avrlibc" then targetPackages.avrlibcCross or avrlibcCross
     else if name == "newlib" && stdenv.targetPlatform.isMsp430 then targetPackages.msp430NewlibCross or msp430NewlibCross
+    else if name == "newlib" && stdenv.targetPlatform.isVc4 then targetPackages.vc4-newlib or vc4-newlib
     else if name == "newlib" then targetPackages.newlibCross or newlibCross
     else if name == "musl" then targetPackages.muslCross or muslCross
     else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
@@ -11205,6 +11482,11 @@ in
 
   libcCross = assert stdenv.targetPlatform != stdenv.buildPlatform; libcCrossChooser stdenv.targetPlatform.libc;
 
+  threadsCross =
+    if stdenv.targetPlatform.isMinGW && !(stdenv.targetPlatform.useLLVM or false)
+    then targetPackages.windows.mcfgthreads or windows.mcfgthreads
+    else null;
+
   wasilibc = callPackage ../development/libraries/wasilibc {
     stdenv = crossLibcStdenv;
   };
@@ -11396,7 +11678,9 @@ in
 
   cairomm = callPackage ../development/libraries/cairomm { };
 
-  pango = callPackage ../development/libraries/pango { };
+  pango = callPackage ../development/libraries/pango {
+    harfbuzz = harfbuzz.override { withCoreText = stdenv.isDarwin; };
+  };
 
   pangolin = callPackage ../development/libraries/pangolin {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
@@ -11406,8 +11690,6 @@ in
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   };
 
-  pangox_compat = callPackage ../development/libraries/pangox-compat { };
-
   gdata-sharp = callPackage ../development/libraries/gdata-sharp { };
 
   gdk-pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
@@ -11442,6 +11724,12 @@ in
   gtkmm2 = callPackage ../development/libraries/gtkmm/2.x.nix { };
   gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { };
 
+  gtk_engines = callPackage ../development/libraries/gtk-engines { };
+
+  gtk-engine-bluecurve = callPackage ../development/libraries/gtk-engine-bluecurve { };
+
+  gtk-engine-murrine = callPackage ../development/libraries/gtk-engine-murrine { };
+
   gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix {
     inherit (gnome2) libglade libgtkhtml gtkhtml
               libgnomecanvas libgnomeui libgnomeprint
@@ -11872,7 +12160,10 @@ in
 
   libcbor = callPackage ../development/libraries/libcbor { };
 
-  libcec = callPackage ../development/libraries/libcec { };
+  libcec = callPackage ../development/libraries/libcec {
+    libraspberrypi = null;
+  };
+
   libcec_platform = callPackage ../development/libraries/libcec/platform.nix { };
 
   libcef = callPackage ../development/libraries/libcef { inherit (gnome2) GConf; };
@@ -12048,9 +12339,6 @@ in
   };
 
   libfprint = callPackage ../development/libraries/libfprint { };
-  libfprint-thinkpad = libfprint.override {
-    thinkpad = true;
-  };
 
   libfpx = callPackage ../development/libraries/libfpx { };
 
@@ -12219,10 +12507,6 @@ in
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
-  libindicate-gtk2 = libindicate.override { gtkVersion = "2"; };
-  libindicate-gtk3 = libindicate.override { gtkVersion = "3"; };
-  libindicate = callPackage ../development/libraries/libindicate { };
-
   libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
   libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
   libindicator = callPackage ../development/libraries/libindicator { };
@@ -12595,6 +12879,8 @@ in
 
   libsoup = callPackage ../development/libraries/libsoup { };
 
+  libspectrum = callPackage ../development/libraries/libspectrum { };
+
   libspiro = callPackage ../development/libraries/libspiro {};
 
   libssh = callPackage ../development/libraries/libssh { };
@@ -12780,9 +13066,13 @@ in
 
   libxmi = callPackage ../development/libraries/libxmi { };
 
-  libxml2 = callPackage ../development/libraries/libxml2 { };
+  libxml2 = callPackage ../development/libraries/libxml2 {
+    python = if stdenv.isDarwin then python2 else python3;
+  };
 
-  libxml2Python = pkgs.buildEnv { # slightly hacky
+  libxml2Python = let
+    libxml2 = python2Packages.libxml2;
+  in pkgs.buildEnv { # slightly hacky
     name = "libxml2+py-${res.libxml2.version}";
     paths = with libxml2; [ dev bin py ];
     inherit (libxml2) passthru;
@@ -12800,7 +13090,9 @@ in
 
   libxmp = callPackage ../development/libraries/libxmp { };
 
-  libxslt = callPackage ../development/libraries/libxslt { };
+  libxslt = callPackage ../development/libraries/libxslt {
+    python = if stdenv.isDarwin then python2 else python3;
+  };
 
   libixp_hg = callPackage ../development/libraries/libixp-hg { };
 
@@ -12880,8 +13172,6 @@ in
   matio = callPackage ../development/libraries/matio { };
 
   mbedtls = callPackage ../development/libraries/mbedtls { };
-  mbedtls_1_3 = callPackage ../development/libraries/mbedtls/1.3.nix { };
-  polarssl = mbedtls; # TODO: add to aliases.nix
 
   mdds = callPackage ../development/libraries/mdds { };
 
@@ -12908,16 +13198,6 @@ in
   # Default libGLU
   libGLU = mesa_glu;
 
-  # Combined derivation, contains both libGL and libGLU
-  # Please, avoid using this attribute.  It was meant as transitional hack
-  # for packages that assume that libGLU and libGL live in the same prefix.
-  # libGLU_combined propagates both libGL and libGLU
-  libGLU_combined = buildEnv {
-    name = "libGLU-combined";
-    paths = [ libGL libGLU ];
-    extraOutputsToInstall = [ "dev" ];
-  };
-
   mesa = callPackage ../development/libraries/mesa {
     llvmPackages = llvmPackages_9;
     inherit (darwin.apple_sdk.frameworks) OpenGL;
@@ -12988,7 +13268,9 @@ in
 
   mumlib = callPackage ../development/libraries/mumlib { };
 
-  muparser = callPackage ../development/libraries/muparser { };
+  muparser = callPackage ../development/libraries/muparser {
+    inherit (darwin.stubs) setfile;
+  };
 
   mutest = callPackage ../development/libraries/mutest { };
 
@@ -13025,6 +13307,8 @@ in
     then null
     else callPackage ../development/libraries/ncurses { };
 
+  ndi = callPackage ../development/libraries/ndi { };
+
   neardal = callPackage ../development/libraries/neardal { };
 
   neon = callPackage ../development/libraries/neon { };
@@ -13196,7 +13480,10 @@ in
 
   wolfssl = callPackage ../development/libraries/wolfssl { };
 
-  openssl = openssl_1_1;
+  openssl =
+    if stdenv.hostPlatform.isMinGW # Work around broken cross build
+    then openssl_1_0_2
+    else openssl_1_1;
 
   inherit (callPackages ../development/libraries/openssl { })
     openssl_1_0_2
@@ -13204,9 +13491,7 @@ in
 
   openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { };
 
-  opensubdiv = callPackage ../development/libraries/opensubdiv {
-    cmake = cmake_2_8;
-  };
+  opensubdiv = callPackage ../development/libraries/opensubdiv { };
 
   open-wbo = callPackage ../applications/science/logic/open-wbo {};
 
@@ -13250,15 +13535,6 @@ in
 
   pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
 
-  phonon = callPackage ../development/libraries/phonon {};
-
-  phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {};
-
-  # TODO(@Ma27) get rid of that as soon as QT4 can be dropped
-  phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix {
-    withQt4 = true;
-  };
-
   inherit (callPackage ../development/libraries/physfs { })
     physfs_2
     physfs;
@@ -13331,6 +13607,7 @@ in
 
   protobuf = protobuf3_7;
 
+  protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { };
   protobuf3_10 = callPackage ../development/libraries/protobuf/3.10.nix { };
   protobuf3_9 = callPackage ../development/libraries/protobuf/3.9.nix { };
   protobuf3_8 = callPackage ../development/libraries/protobuf/3.8.nix { };
@@ -13356,14 +13633,11 @@ in
 
   pugixml = callPackage ../development/libraries/pugixml { };
 
-  pybind11 = callPackage ../development/libraries/pybind11 { };
+  pybind11 = pythonPackages.pybind11;
 
   python-qt = callPackage ../development/libraries/python-qt {
     python = python27;
-    qmake = qt59.qmake;
-    qttools = qt59.qttools;
-    qtwebengine = qt59.qtwebengine;
-    qtxmlpatterns = qt59.qtxmlpatterns;
+    inherit (qt5) qmake qttools qtwebengine qtxmlpatterns;
   };
 
   pyotherside = libsForQt5.callPackage ../development/libraries/pyotherside {};
@@ -13414,50 +13688,17 @@ in
     developerBuild = true;
   });
 
-  qt59 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.9) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-    });
-
-  libsForQt59 = lib.makeScope qt59.newScope mkLibsForQt5;
-
-  qt511 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.11) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchFromGitHub fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
-    });
-
-  libsForQt511 = recurseIntoAttrs (lib.makeScope qt511.newScope mkLibsForQt5);
-
   qt512 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.12) {
       inherit newScope;
       inherit stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
       bison = bison2; # error: too few arguments to function 'int yylex(...
       inherit cups;
+      inherit dconf;
       inherit harfbuzz;
       inherit libGL;
       inherit perl;
       inherit gtk3;
-      inherit (gnome3) dconf;
       inherit (gst_all_1) gstreamer gst-plugins-base;
       inherit llvmPackages_5;
     });
@@ -13465,8 +13706,8 @@ in
   libsForQt512 = recurseIntoAttrs (lib.makeScope qt512.newScope mkLibsForQt5);
 
   # TODO bump to 5.12 on darwin once it's not broken
-  qt5 = if stdenv.isDarwin then qt511 else qt512;
-  libsForQt5 = if stdenv.isDarwin then libsForQt511 else libsForQt512;
+  qt5 = qt512;
+  libsForQt5 = libsForQt512;
 
   qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };
 
@@ -13476,7 +13717,7 @@ in
 
     inherit (kdeFrameworks.override { libsForQt5 = self; })
       attica baloo bluez-qt kactivities kactivities-stats
-      karchive kauth kbookmarks kcmutils kcodecs kcompletion kconfig
+      karchive kauth kbookmarks kcmutils kcalendarcore kcodecs kcompletion kconfig
       kconfigwidgets kcoreaddons kcrash kdbusaddons kdeclarative kdelibs4support
       kdesignerplugin kdnssd kemoticons kfilemetadata kglobalaccel kguiaddons
       khtml ki18n kiconthemes kidletime kimageformats kio kitemmodels kitemviews
@@ -13543,13 +13784,9 @@ in
 
     openbr = callPackage ../development/libraries/openbr { };
 
-    phonon = callPackage ../development/libraries/phonon {
-      withQt5 = true;
-    };
+    phonon = callPackage ../development/libraries/phonon { };
 
-    phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {
-      withQt5 = true;
-    };
+    phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix { };
 
     phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix { };
 
@@ -13688,6 +13925,8 @@ in
 
   qgnomeplatform =  libsForQt5.callPackage ../development/libraries/qgnomeplatform { };
 
+  randomx = callPackage ../development/libraries/randomx { };
+
   resolv_wrapper = callPackage ../development/libraries/resolv_wrapper { };
 
   rhino = callPackage ../development/libraries/java/rhino {
@@ -14285,6 +14524,8 @@ in
     stdenv = gcc6Stdenv; # upstream code incompatible with gcc7
   };
 
+  wally-cli = callPackage ../development/tools/wally-cli { };
+
   wavpack = callPackage ../development/libraries/wavpack { };
 
   wayland = callPackage ../development/libraries/wayland { };
@@ -14301,19 +14542,6 @@ in
     stdenv = clangStdenv; # TODO: https://github.com/NixOS/nixpkgs/issues/36947
   };
 
-  webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
-    harfbuzz = harfbuzzFull.override {
-      icu = icu58;
-    };
-    gst-plugins-base = gst_all_1.gst-plugins-base;
-    inherit (darwin) libobjc;
-  };
-
-  webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override {
-    withGtk2 = true;
-    enableIntrospection = false;
-  };
-
   websocketpp = callPackage ../development/libraries/websocket++ { };
 
   webrtc-audio-processing = callPackage ../development/libraries/webrtc-audio-processing { };
@@ -14366,6 +14594,8 @@ in
 
   x265 = callPackage ../development/libraries/x265 { };
 
+  xandikos = callPackage ../servers/xandikos { };
+
   inherit (callPackages ../development/libraries/xapian { })
     xapian_1_4;
   xapian = xapian_1_4;
@@ -14487,11 +14717,11 @@ in
     plugins = [];
   };
 
-  gsignondPlugins = {
+  gsignondPlugins = recurseIntoAttrs {
     sasl = callPackage ../development/libraries/gsignond/plugins/sasl.nix { };
     oauth = callPackage ../development/libraries/gsignond/plugins/oauth.nix { };
     lastfm = callPackage ../development/libraries/gsignond/plugins/lastfm.nix { };
-    mail = callPackages ../development/libraries/gsignond/plugins/mail.nix { };
+    mail = callPackage ../development/libraries/gsignond/plugins/mail.nix { };
   };
 
   ### DEVELOPMENT / LIBRARIES / AGDA
@@ -14722,8 +14952,6 @@ in
     kerberos = libkrb5;
   };
 
-  rdf4store = callPackage ../servers/http/4store { };
-
   apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
   apacheHttpd = pkgs.apacheHttpd_2_4;
 
@@ -14742,6 +14970,8 @@ in
 
     mod_python = callPackage ../servers/http/apache-modules/mod_python { };
 
+    mod_tile = callPackage ../servers/http/apache-modules/mod_tile { };
+
     mod_wsgi  = self.mod_wsgi2;
     mod_wsgi2 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python2; ncurses = null; };
     mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python3; };
@@ -14910,7 +15140,7 @@ in
   gofish = callPackage ../servers/gopher/gofish { };
 
   grafana = callPackage ../servers/monitoring/grafana {
-    buildGoPackage = buildGo112Package;
+    buildGoPackage = buildGo113Package;
   };
 
   grafana-loki = callPackage ../servers/monitoring/loki { };
@@ -14993,7 +15223,8 @@ in
   mod_python = pkgs.apacheHttpdPackages.mod_python;
   mod_wsgi = pkgs.apacheHttpdPackages.mod_wsgi;
 
-  mpd = callPackage ../servers/mpd (config.mpd or {});
+  inherit (callPackages ../servers/mpd { })
+    mpd mpd-small mpdWithFeatures;
 
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
@@ -15031,12 +15262,14 @@ in
   nginx = nginxStable;
 
   nginxStable = callPackage ../servers/http/nginx/stable.nix {
+    perl = null;
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ];
   };
 
   nginxMainline = callPackage ../servers/http/nginx/mainline.nix {
+    perl = null;
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.dav nginxModules.moreheaders ];
@@ -15224,7 +15457,7 @@ in
 
   check-esxi-hardware = callPackage ../servers/monitoring/plugins/esxi.nix {};
 
-  net_snmp = callPackage ../servers/monitoring/net-snmp { };
+  net-snmp = callPackage ../servers/monitoring/net-snmp { };
 
   newrelic-sysmond = callPackage ../servers/monitoring/newrelic-sysmond { };
 
@@ -15233,6 +15466,8 @@ in
   riemann = callPackage ../servers/monitoring/riemann { };
   riemann-dash = callPackage ../servers/monitoring/riemann-dash { };
 
+  unpfs = callPackage ../servers/unpfs {};
+
   oidentd = callPackage ../servers/identd/oidentd { };
 
   openfire = callPackage ../servers/xmpp/openfire { };
@@ -15278,11 +15513,7 @@ in
   postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
   prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { };
-  prometheus = callPackage ../servers/monitoring/prometheus {
-    # Version 2.12.0 fails to build with go 1.13 due to an incorrect module file
-    # compilation error :go: cloud.google.com/go@v0.44.1: Get https://proxy.golang.org/cloud.google.com/go/@v/v0.44.1.mod: dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:58980->[::1]:53: read: connection refused
-    buildGoPackage = buildGo112Package;
-  };
+  prometheus = callPackage ../servers/monitoring/prometheus { };
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
@@ -15303,6 +15534,7 @@ in
   prometheus-mysqld-exporter = callPackage ../servers/monitoring/prometheus/mysqld-exporter.nix { };
   prometheus-nextcloud-exporter = callPackage ../servers/monitoring/prometheus/nextcloud-exporter.nix { };
   prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { };
+  prometheus-nginxlog-exporter = callPackage ../servers/monitoring/prometheus/nginxlog-exporter.nix { };
   prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { };
   prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
   prometheus-postfix-exporter = callPackage ../servers/monitoring/prometheus/postfix-exporter.nix { };
@@ -15329,6 +15561,8 @@ in
 
   psqlodbc = callPackage ../development/libraries/psqlodbc { };
 
+  public-inbox = perlPackages.callPackage ../servers/mail/public-inbox { };
+
   pure-ftpd = callPackage ../servers/ftp/pure-ftpd { };
 
   pyIRCt = callPackage ../servers/xmpp/pyIRCt {};
@@ -15342,6 +15576,8 @@ in
     inherit (pythonPackages) buildPythonPackage qpid-python;
   };
 
+  qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
+
   quagga = callPackage ../servers/quagga { };
 
   rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
@@ -15375,9 +15611,7 @@ in
     libtool = darwin.cctools;
   };
 
-  rippled = callPackage ../servers/rippled {
-    boost = boost167;
-  };
+  rippled = callPackage ../servers/rippled { };
 
   rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix {
     boost = boost167.override {
@@ -15397,8 +15631,6 @@ in
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
 
-  samba3 = callPackage ../servers/samba/3.x.nix { };
-
   samba4 = callPackage ../servers/samba/4.x.nix {
     rpcgen = netbsd.rpcgen;
     python = python3;
@@ -15406,17 +15638,6 @@ in
 
   samba = samba4;
 
-  # A lightweight Samba 3, useful for non-Linux-based OSes.
-  samba3_light = lowPrio (samba3.override {
-    pam = null;
-    fam = null;
-    cups = null;
-    acl = null;
-    openldap = null;
-    # libunwind 1.0.1 is not ported to GNU/Hurd.
-    libunwind = null;
-  });
-
   samba4Full = lowPrio (samba4.override {
     enableLDAP = true;
     enablePrinting = true;
@@ -15605,12 +15826,11 @@ in
     server = server-pgsql;
   };
 
-  zabbix44 = zabbixFor "v44";
-  zabbix42 = zabbixFor "v42";
-  zabbix40 = zabbixFor "v40";
-  zabbix30 = zabbixFor "v30";
+  zabbix44 = recurseIntoAttrs (zabbixFor "v44");
+  zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
+  zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
 
-  zabbix = zabbix42;
+  zabbix = zabbix44;
 
   zipkin = callPackage ../servers/monitoring/zipkin { };
 
@@ -15632,7 +15852,7 @@ in
 
   alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { };
 
-  alienfx = callPackage ../os-specific/linux/alienfx { };
+  alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { };
 
   alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { };
 
@@ -15693,12 +15913,6 @@ in
 
   bluez = bluez5;
 
-  bluezFull = bluez.override {
-    enableWiimote = true;
-    enableMidi = true;
-    enableSixaxis = true;
-  };
-
   inherit (python3Packages) bedup;
 
   bolt = callPackage ../os-specific/linux/bolt { };
@@ -15976,6 +16190,7 @@ in
   linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp-94.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
       ]
@@ -15993,6 +16208,7 @@ in
   linux_rpi1 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
     kernelPatches = with kernelPatches; [
       bridge_stp_helper
+      request_key_helper
     ];
     rpiVersion = 1;
   };
@@ -16000,6 +16216,7 @@ in
   linux_rpi2 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
     kernelPatches = with kernelPatches; [
       bridge_stp_helper
+      request_key_helper
     ];
     rpiVersion = 2;
   };
@@ -16007,6 +16224,7 @@ in
   linux_rpi3 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
     kernelPatches = with kernelPatches; [
       bridge_stp_helper
+      request_key_helper
     ];
     rpiVersion = 3;
   };
@@ -16014,6 +16232,7 @@ in
   linux_rpi4 = callPackage ../os-specific/linux/kernel/linux-rpi.nix {
     kernelPatches = with kernelPatches; [
       bridge_stp_helper
+      request_key_helper
     ];
     rpiVersion = 4;
   };
@@ -16021,6 +16240,7 @@ in
   linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper_updated
         kernelPatches.cpu-cgroup-v2."4.4"
         kernelPatches.modinst_arg_list_too_long
         # https://github.com/NixOS/nixpkgs/issues/42755
@@ -16034,6 +16254,7 @@ in
   linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper_updated
         kernelPatches.cpu-cgroup-v2."4.9"
         kernelPatches.modinst_arg_list_too_long
       ];
@@ -16042,6 +16263,7 @@ in
   linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
         # when adding a new linux version
         kernelPatches.cpu-cgroup-v2."4.11"
@@ -16053,14 +16275,7 @@ in
   linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
-        kernelPatches.modinst_arg_list_too_long
-        kernelPatches.export_kernel_fpu_functions."4.14"
-      ];
-  };
-
-  linux_5_2 = callPackage ../os-specific/linux/kernel/linux-5.2.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.modinst_arg_list_too_long
         kernelPatches.export_kernel_fpu_functions."4.14"
       ];
@@ -16069,19 +16284,29 @@ in
   linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
       kernelPatches.export_kernel_fpu_functions."5.3"
     ];
   };
 
+  linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
+    kernelPatches = [
+      kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
+    ];
+  };
+
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
     ];
   };
 
   linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
         kernelPatches.modinst_arg_list_too_long
       ];
   };
@@ -16089,6 +16314,7 @@ in
   linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
       kernelPatches.modinst_arg_list_too_long
     ];
   };
@@ -16124,8 +16350,6 @@ in
 
     bbswitch = callPackage ../os-specific/linux/bbswitch {};
 
-    beegfs-module = callPackage ../os-specific/linux/beegfs/kernel-module.nix { };
-
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
     chipsec = callPackage ../tools/security/chipsec {
@@ -16271,7 +16495,7 @@ in
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_5_3;
+  linuxPackages_latest = linuxPackages_5_4;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -16284,8 +16508,8 @@ in
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
-  linuxPackages_5_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_2);
   linuxPackages_5_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_3);
+  linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
 
   # When adding to this list:
   # - Update linuxPackages_latest to the latest version
@@ -16359,17 +16583,26 @@ in
   linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
 
   # Derive one of the default .config files
-  linuxConfig = { src, makeTarget ? "defconfig", name ? "kernel.config" }:
-    stdenv.mkDerivation {
-      inherit name src;
-      buildPhase = ''
-        set -x
-        make ${makeTarget}
-      '';
-      installPhase = ''
-        cp .config $out
-      '';
-    };
+  linuxConfig = {
+    src,
+    version ? (builtins.parseDrvName src.name).version,
+    makeTarget ? "defconfig",
+    name ? "kernel.config",
+  }: stdenvNoCC.mkDerivation {
+    inherit name src;
+    depsBuildBuild = [ buildPackages.stdenv.cc ]
+      ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ];
+    buildPhase = ''
+      set -x
+      make \
+        ARCH=${stdenv.hostPlatform.kernelArch} \
+        HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
+        ${makeTarget}
+    '';
+    installPhase = ''
+      cp .config $out
+    '';
+  };
 
   buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;
 
@@ -16393,8 +16626,6 @@ in
 
   libsass = callPackage ../development/libraries/libsass { };
 
-  libsexy = callPackage ../development/libraries/libsexy { };
-
   libsepol = callPackage ../os-specific/linux/libsepol { };
 
   libsmbios = callPackage ../os-specific/linux/libsmbios { };
@@ -16452,6 +16683,10 @@ in
 
   musl = callPackage ../os-specific/linux/musl { };
 
+  nushell = callPackage ../shells/nushell {
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
+  };
+
   nettools = if stdenv.isLinux then callPackage ../os-specific/linux/net-tools { }
              else unixtools.nettools;
 
@@ -16795,6 +17030,8 @@ in
     ubootRaspberryPi3_32bit
     ubootRaspberryPi3_64bit
     ubootRaspberryPiZero
+    ubootRock64
+    ubootRockPro64
     ubootSheevaplug
     ubootSopine
     ubootUtilite
@@ -16804,10 +17041,6 @@ in
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
-  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
-
-  ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix { };
-
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
   uclibcCross = callPackage ../os-specific/linux/uclibc {
@@ -16872,6 +17105,8 @@ in
 
   xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { };
 
+  xilinx-bootgen = callPackage ../tools/misc/xilinx-bootgen { };
+
   xorg_sys_opengl = callPackage ../os-specific/linux/opengl/xorg-sys { };
 
   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
@@ -16886,12 +17121,20 @@ in
 
   adapta-backgrounds = callPackage ../data/misc/adapta-backgrounds { };
 
+  adapta-gtk-theme = callPackage ../data/themes/adapta { };
+
+  adapta-kde-theme = callPackage ../data/themes/adapta-kde { };
+
   adementary-theme = callPackage ../data/themes/adementary { };
 
+  adwaita-qt = libsForQt5.callPackage ../data/themes/adwaita-qt { };
+
   agave = callPackage ../data/fonts/agave { };
 
   aileron = callPackage ../data/fonts/aileron { };
 
+  albatross = callPackage ../data/themes/albatross { };
+
   amber-theme = callPackage ../data/themes/amber { };
 
   amiri = callPackage ../data/fonts/amiri { };
@@ -16911,6 +17154,8 @@ in
 
   arc-icon-theme = callPackage ../data/icons/arc-icon-theme { };
 
+  arc-kde-theme = callPackage ../data/themes/arc-kde { };
+
   arc-theme = callPackage ../data/themes/arc { };
 
   arkpandora_ttf = callPackage ../data/fonts/arkpandora { };
@@ -16931,6 +17176,8 @@ in
   bibata-extra-cursors = callPackage ../data/icons/bibata-cursors/extra.nix { };
   bibata-cursors-translucent = callPackage ../data/icons/bibata-cursors/translucent.nix { };
 
+  blackbird = callPackage ../data/themes/blackbird { };
+
   brise = callPackage ../data/misc/brise { };
 
   inherit (kdeFrameworks) breeze-icons;
@@ -16951,6 +17198,10 @@ in
 
   cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
 
+  cldr-emoji-annotation = callPackage ../data/misc/cldr-emoji-annotation { };
+
+  clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
+
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
 
   comfortaa = callPackage ../data/fonts/comfortaa {};
@@ -17037,10 +17288,14 @@ in
 
   dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { };
 
+  e17gtk = callPackage ../data/themes/e17gtk { };
+
   eb-garamond = callPackage ../data/fonts/eb-garamond { };
 
   elliptic_curves = callPackage ../data/misc/elliptic_curves { };
 
+  equilux-theme = callPackage ../data/themes/equilux-theme { };
+
   eunomia = callPackage ../data/fonts/eunomia { };
 
   f5_6 = callPackage ../data/fonts/f5_6 { };
@@ -17076,6 +17331,8 @@ in
 
   fira-mono = callPackage ../data/fonts/fira-mono { };
 
+  flat-remix-icon-theme = callPackage ../data/icons/flat-remix-icon-theme { };
+
   font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
   font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
   font-awesome = font-awesome_5;
@@ -17092,14 +17349,18 @@ in
 
   gohufont = callPackage ../data/fonts/gohufont { };
 
-  gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { };
+  gnome-user-docs = callPackage ../data/documentation/gnome-user-docs { };
 
   gsettings-desktop-schemas = callPackage ../development/libraries/gsettings-desktop-schemas { };
 
+  gnome-breeze = callPackage ../data/themes/gnome-breeze { };
+
   go-font = callPackage ../data/fonts/go-font { };
 
   greybird = callPackage ../data/themes/greybird { };
 
+  gubbi-font = callPackage ../data/fonts/gubbi { };
+
   gyre-fonts = callPackage ../data/fonts/gyre {};
 
   hack-font = callPackage ../data/fonts/hack { };
@@ -17150,6 +17411,8 @@ in
 
   kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {};
 
+  kde2-decoration = libsForQt5.callPackage ../data/themes/kde2 { };
+
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@@ -17204,6 +17467,8 @@ in
   # lohit-fonts.kashmiri lohit-fonts.konkani lohit-fonts.maithili lohit-fonts.sindhi
   lohit-fonts = recurseIntoAttrs ( callPackages ../data/fonts/lohit-fonts { } );
 
+  lounge-gtk-theme = callPackage ../data/themes/lounge { };
+
   luculent = callPackage ../data/fonts/luculent { };
 
   maia-icon-theme = callPackage ../data/icons/maia-icon-theme { };
@@ -17289,24 +17554,36 @@ in
 
   numix-cursor-theme = callPackage ../data/icons/numix-cursor-theme { };
 
+  numix-gtk-theme = callPackage ../data/themes/numix { };
+
+  numix-solarized-gtk-theme = callPackage ../data/themes/numix-solarized { };
+
+  numix-sx-gtk-theme = callPackage ../data/themes/numix-sx { };
+
   office-code-pro = callPackage ../data/fonts/office-code-pro { };
 
   oldstandard = callPackage ../data/fonts/oldstandard { };
 
   oldsindhi = callPackage ../data/fonts/oldsindhi { };
 
+  onestepback = callPackage ../data/themes/onestepback { };
+
   open-dyslexic = callPackage ../data/fonts/open-dyslexic { };
 
   open-sans = callPackage ../data/fonts/open-sans { };
 
   orbitron = callPackage ../data/fonts/orbitron { };
 
+  orion = callPackage ../data/themes/orion {};
+
   overpass = callPackage ../data/fonts/overpass { };
 
   oxygenfonts = callPackage ../data/fonts/oxygenfonts { };
 
   inherit (kdeFrameworks) oxygen-icons5;
 
+  paper-gtk-theme = callPackage ../data/themes/paper-gtk { };
+
   paper-icon-theme = callPackage ../data/icons/paper-icon-theme { };
 
   papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme { };
@@ -17339,6 +17616,8 @@ in
 
   polytopes_db = callPackage ../data/misc/polytopes_db { };
 
+  pop-gtk-theme = callPackage ../data/themes/pop-gtk { };
+
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
   powerline-fonts = callPackage ../data/fonts/powerline-fonts { };
@@ -17361,6 +17640,8 @@ in
 
   qogir-theme = callPackage ../data/themes/qogir { };
 
+  qtcurve = libsForQt5.callPackage ../data/themes/qtcurve {};
+
   redhat-official-fonts = callPackage ../data/fonts/redhat-official { };
 
   route159 = callPackage ../data/fonts/route159 { };
@@ -17377,6 +17658,8 @@ in
 
   shades-of-gray-theme = callPackage ../data/themes/shades-of-gray { };
 
+  sweet = callPackage ../data/themes/sweet { };
+
   mime-types = callPackage ../data/misc/mime-types { };
 
   shared-mime-info = callPackage ../data/misc/shared-mime-info { };
@@ -17389,11 +17672,15 @@ in
 
   sierra-gtk-theme = callPackage ../data/themes/sierra { };
 
+  solarc-gtk-theme = callPackage ../data/themes/solarc { };
+
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
-  starship = callPackage ../tools/misc/starship { };
+  starship = callPackage ../tools/misc/starship {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   stig = callPackage ../applications/networking/p2p/stig { };
 
@@ -17424,6 +17711,10 @@ in
 
   raleway = callPackage ../data/fonts/raleway { };
 
+  recursive = callPackage ../data/fonts/recursive { };
+
+  rhodium-libre = callPackage ../data/fonts/rhodium-libre { };
+
   rictydiminished-with-firacode = callPackage ../data/fonts/rictydiminished-with-firacode { };
 
   roboto = callPackage ../data/fonts/roboto { };
@@ -17502,6 +17793,8 @@ in
 
   tex-gyre-math = callPackages ../data/fonts/tex-gyre-math { };
 
+  theme-vertex = callPackage ../data/themes/vertex { };
+
   tipa = callPackage ../data/fonts/tipa { };
 
   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
@@ -17526,12 +17819,20 @@ in
 
   uni-vga = callPackage ../data/fonts/uni-vga { };
 
+  unicode-character-database = callPackage ../data/misc/unicode-character-database { };
+
+  unicode-emoji = callPackage ../data/misc/unicode-emoji { };
+
+  unihan-database = callPackage ../data/misc/unihan-database { };
+
   unifont = callPackage ../data/fonts/unifont { };
 
   unifont_upper = callPackage ../data/fonts/unifont_upper { };
 
   unscii = callPackage ../data/fonts/unscii { };
 
+  uw-ttyp0 = callPackage ../data/fonts/uw-ttyp0 { inherit (xorg) fonttosfnt mkfontdir; };
+
   vanilla-dmz = callPackage ../data/icons/vanilla-dmz { };
 
   vdrsymbols = callPackage ../data/fonts/vdrsymbols { };
@@ -17623,6 +17924,8 @@ in
 
   airwave = callPackage ../applications/audio/airwave { };
 
+  akira-unstable = callPackage ../applications/graphics/akira { };
+
   alembic = callPackage ../development/libraries/alembic {};
 
   alchemy = callPackage ../applications/graphics/alchemy { };
@@ -17775,8 +18078,6 @@ in
 
   batik = callPackage ../applications/graphics/batik { };
 
-  batti = callPackage ../applications/misc/batti { };
-
   baudline = callPackage ../applications/audio/baudline { };
 
 
@@ -17793,7 +18094,7 @@ in
 
   bevelbar = callPackage ../applications/window-managers/bevelbar { };
 
-  bibletime = callPackage ../applications/misc/bibletime { };
+  bibletime = libsForQt5.callPackage ../applications/misc/bibletime { };
 
   bino3d = libsForQt5.callPackage ../applications/video/bino3d {
     ffmpeg = ffmpeg_4;
@@ -17854,6 +18155,8 @@ in
                         libXi libXext libXfixes libXcomposite;
   };
 
+  blugon = callPackage ../applications/misc/blugon { };
+
   bombono = callPackage ../applications/video/bombono {};
 
   bomi = libsForQt5.callPackage ../applications/video/bomi {
@@ -17921,8 +18224,6 @@ in
 
   carla = qt5.callPackage ../applications/audio/carla { };
 
-  catfish = callPackage ../applications/search/catfish { };
-
   catimg = callPackage ../tools/misc/catimg { };
 
   catt = python3Packages.callPackage ../applications/video/catt { };
@@ -17954,9 +18255,7 @@ in
 
   cgminer = callPackage ../applications/misc/cgminer { };
 
-  chirp = callPackage ../applications/radio/chirp {
-    inherit (pythonPackages) pyserial pygtk;
-  };
+  chirp = callPackage ../applications/radio/chirp { };
 
   browsh = callPackage ../applications/networking/browsers/browsh { };
 
@@ -18038,16 +18337,10 @@ in
     pygments = python27Packages.pygments;
   };
 
-  csound-qt = libsForQt59.callPackage ../applications/audio/csound/csound-qt {
+  csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt {
     python = python27;
   };
 
-  cinepaint = callPackage ../applications/graphics/cinepaint {
-    fltk = fltk13;
-    libpng = libpng12;
-    cmake = cmake_2_8;
-  };
-
   codeblocks = callPackage ../applications/editors/codeblocks { };
   codeblocksFull = codeblocks.override { contribPlugins = true; };
 
@@ -18064,6 +18357,8 @@ in
 
   coyim = callPackage ../applications/networking/instant-messengers/coyim {};
 
+  cq-editor = libsForQt5.callPackage ../applications/graphics/cq-editor { };
+
   cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { };
 
   crun = callPackage ../applications/virtualization/crun {};
@@ -18140,8 +18435,6 @@ in
     inherit (pkgs.gnome2) libart_lgpl libgnomeui;
   };
 
-  diffuse = callPackage ../applications/version-management/diffuse { };
-
   direwolf = callPackage ../applications/misc/direwolf { };
 
   dirt = callPackage ../applications/audio/dirt {};
@@ -18198,6 +18491,8 @@ in
 
   docker-credential-gcr = callPackage ../tools/admin/docker-credential-gcr { };
 
+  docker-credential-helpers = callPackage ../tools/admin/docker-credential-helpers { };
+
   doodle = callPackage ../applications/search/doodle { };
 
   dr14_tmeter = callPackage ../applications/audio/dr14_tmeter { };
@@ -18385,10 +18680,12 @@ in
 
   epic5 = callPackage ../applications/networking/irc/epic5 { };
 
+  epr = callPackage ../applications/misc/epr { };
+
   eq10q = callPackage ../applications/audio/eq10q { };
 
   errbot = callPackage ../applications/networking/errbot {
-    pythonPackages = python3Packages;
+    python = python3;
   };
 
   espeak-classic = callPackage ../applications/audio/espeak { };
@@ -18518,6 +18815,8 @@ in
   geany = callPackage ../applications/editors/geany { };
   geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { };
 
+  geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { };
+
   ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { };
 
   gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
@@ -18596,6 +18895,8 @@ in
 
   grepm = callPackage ../applications/search/grepm { };
 
+  grip-search = callPackage ../tools/text/grip-search { };
+
   grip = callPackage ../applications/misc/grip {
     inherit (gnome2) libgnome libgnomeui vte;
   };
@@ -18636,7 +18937,7 @@ in
   wireshark-qt = wireshark;
 
   # The GTK UI is deprecated by upstream. You probably want the QT version.
-  wireshark-gtk = throw "Not supported anymore. Use wireshark-qt or wireshark-cli instead.";
+  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead.";
   wireshark-cli = wireshark.override { withQt = false; };
 
   sngrep = callPackage ../applications/networking/sniffers/sngrep {};
@@ -18661,6 +18962,7 @@ in
                                             Kerberos AVFoundation MediaToolbox
                                             CoreLocation Foundation AddressBook;
       inherit (darwin) libobjc;
+      inherit (rustPackages_1_38_0) cargo rustc;
     };
   });
 
@@ -18688,8 +18990,7 @@ in
 
   firefox-bin = wrapFirefox firefox-bin-unwrapped {
     browserName = "firefox";
-    name = "firefox-bin-" +
-      (builtins.parseDrvName firefox-bin-unwrapped.name).version;
+    pname = "firefox-bin";
     desktopName = "Firefox";
   };
 
@@ -18702,8 +19003,7 @@ in
 
   firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
     browserName = "firefox";
-    name = "firefox-beta-bin-" +
-      (builtins.parseDrvName firefox-beta-bin-unwrapped.name).version;
+    pname = "firefox-beta-bin";
     desktopName = "Firefox Beta";
   };
 
@@ -18717,15 +19017,10 @@ in
   firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
     browserName = "firefox";
     nameSuffix = "-devedition";
-    name = "firefox-devedition-bin-" +
-      (builtins.parseDrvName firefox-devedition-bin-unwrapped.name).version;
+    pname = "firefox-devedition-bin";
     desktopName = "Firefox DevEdition";
   };
 
-  firestr = libsForQt5.callPackage ../applications/networking/p2p/firestr
-    { boost = boost155;
-    };
-
   flac = callPackage ../applications/audio/flac { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -18832,9 +19127,7 @@ in
 
   gmrun = callPackage ../applications/misc/gmrun {};
 
-  gnucash = callPackage ../applications/office/gnucash {
-    inherit (gnome3) dconf;
-  };
+  gnucash = callPackage ../applications/office/gnucash { };
 
   goffice = callPackage ../development/libraries/goffice { };
 
@@ -18862,7 +19155,7 @@ in
 
   moe =  callPackage ../applications/editors/moe { };
 
-  multibootusb = callPackage ../applications/misc/multibootusb {};
+  multibootusb = qt5.callPackage ../applications/misc/multibootusb {};
 
   praat = callPackage ../applications/audio/praat { };
 
@@ -18877,10 +19170,14 @@ in
 
   svox = callPackage ../applications/audio/svox { };
 
+  giada = callPackage ../applications/audio/giada {};
+
   gkrellm = callPackage ../applications/misc/gkrellm {
     inherit (darwin) IOKit;
   };
 
+  glow = callPackage ../applications/editors/glow { };
+
   glowing-bear = callPackage ../applications/networking/irc/glowing-bear { };
 
   gmtk = callPackage ../development/libraries/gmtk { };
@@ -18970,6 +19267,8 @@ in
 
   gpsprune = callPackage ../applications/misc/gpsprune { };
 
+  gpxlab = libsForQt5.callPackage ../applications/misc/gpxlab { };
+
   gpxsee = libsForQt5.callPackage ../applications/misc/gpxsee { };
 
   gspell = callPackage ../development/libraries/gspell { };
@@ -18986,20 +19285,22 @@ in
 
   gv = callPackage ../applications/misc/gv { };
 
+  gvisor = callPackage ../applications/virtualization/gvisor { };
+
+  gvisor-containerd-shim = callPackage ../applications/virtualization/gvisor/containerd-shim.nix { };
+
   guvcview = callPackage ../os-specific/linux/guvcview { };
 
   gxmessage = callPackage ../applications/misc/gxmessage { };
 
+  gxmatcheq-lv2 = callPackage ../applications/audio/gxmatcheq-lv2 { };
+
   gxplugins-lv2 = callPackage ../applications/audio/gxplugins-lv2 { };
 
   hackrf = callPackage ../applications/radio/hackrf { };
 
   hakuneko = callPackage ../tools/misc/hakuneko { };
 
-  hamster-time-tracker = callPackage ../applications/misc/hamster-time-tracker {
-    inherit (gnome2) gnome_python;
-  };
-
   hashit = callPackage ../tools/misc/hashit { };
 
   hello = callPackage ../applications/misc/hello { };
@@ -19015,6 +19316,8 @@ in
 
   hexcurse = callPackage ../applications/editors/hexcurse { };
 
+  hexdino = callPackage ../applications/editors/hexdino { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
@@ -19053,6 +19356,8 @@ in
 
   hydrogen = callPackage ../applications/audio/hydrogen { };
 
+  hydroxide = callPackage ../applications/networking/hydroxide { };
+
   hyper = callPackage ../applications/misc/hyper { };
 
   hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix {
@@ -19112,7 +19417,8 @@ in
 
   wlroots = callPackage ../development/libraries/wlroots { };
 
-  sway = callPackage ../applications/window-managers/sway { };
+  sway-unwrapped = callPackage ../applications/window-managers/sway { };
+  sway = callPackage ../applications/window-managers/sway/wrapper.nix { };
   swaybg = callPackage ../applications/window-managers/sway/bg.nix { };
   swayidle = callPackage ../applications/window-managers/sway/idle.nix { };
   swaylock = callPackage ../applications/window-managers/sway/lock.nix { };
@@ -19338,7 +19644,7 @@ in
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
     stdenv = gcc6Stdenv;
-    boost = boost166.override { enablePython = true; };
+    boost = boost155.override { enablePython = true; };
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -19398,8 +19704,6 @@ in
 
   keyfinder-cli = libsForQt5.callPackage ../applications/audio/keyfinder-cli { };
 
-  keymon = callPackage ../applications/video/key-mon { };
-
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
   khal = callPackage ../applications/misc/khal { };
@@ -19451,6 +19755,8 @@ in
     go = buildPackages.go_1_12;
   };
 
+  kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
+
   kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
   kubeless = callPackage ../applications/networking/cluster/kubeless { };
@@ -19532,13 +19838,15 @@ in
   libreoffice-fresh = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
     libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
+        variant = "fresh";
       });
   });
   libreoffice-fresh-unwrapped = libreoffice-fresh.libreoffice;
 
   libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
-    libreoffice = callPackage ../applications/office/libreoffice/still.nix
+    libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
+        variant = "still";
       });
   });
   libreoffice-still-unwrapped = libreoffice-still.libreoffice;
@@ -19547,9 +19855,7 @@ in
 
   lifelines = callPackage ../applications/misc/lifelines { };
 
-  liferea = callPackage ../applications/networking/newsreaders/liferea {
-    inherit (gnome3) dconf;
-  };
+  liferea = callPackage ../applications/networking/newsreaders/liferea { };
 
   lightworks = callPackage ../applications/video/lightworks {
     portaudio = portaudio2014;
@@ -19579,9 +19885,7 @@ in
 
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
-  linphone = callPackage ../applications/networking/instant-messengers/linphone {
-    polarssl = mbedtls_1_3;
-  };
+  linphone = callPackage ../applications/networking/instant-messengers/linphone { };
 
   linuxsampler = callPackage ../applications/audio/linuxsampler { };
 
@@ -19595,6 +19899,8 @@ in
 
   loxodo = callPackage ../applications/misc/loxodo { };
 
+  lsd2dsl = libsForQt5.callPackage ../applications/misc/lsd2dsl { };
+
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
   lsp-plugins = callPackage ../applications/audio/lsp-plugins { };
@@ -19633,7 +19939,7 @@ in
   luppp = callPackage ../applications/audio/luppp { };
 
   lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris {
-    inherit (gnome3) gnome-desktop libgnome-keyring webkitgtk;
+    inherit (gnome3) gnome-desktop libgnome-keyring;
     wine = wineWowPackages.staging;
   };
   lutris = callPackage ../applications/misc/lutris/chrootenv.nix { };
@@ -19672,6 +19978,8 @@ in
 
   mako = callPackage ../applications/misc/mako { };
 
+  mandelbulber = libsForQt5.callPackage ../applications/graphics/mandelbulber { };
+
   mapmap = libsForQt5.callPackage ../applications/video/mapmap { };
 
   marathon = callPackage ../applications/networking/cluster/marathon { };
@@ -19688,6 +19996,14 @@ in
 
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
+  matrixcli = callPackage ../applications/networking/instant-messengers/matrixcli {
+    inherit (python3Packages) buildPythonApplication buildPythonPackage
+      pygobject3 pytestrunner requests responses pytest python-olm
+      canonicaljson;
+  };
+
+  matrix-recorder = callPackage ../applications/networking/instant-messengers/matrix-recorder {};
+
   mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
 
   mcpp = callPackage ../development/compilers/mcpp { };
@@ -19698,9 +20014,7 @@ in
 
   mediainfo-gui = callPackage ../applications/misc/mediainfo-gui { };
 
-  # mediathekview needs JavaFX, which currently only is available inside OracleJRE
-  # we might be able to get rid of it, as soon as we have an OpenJRE with OpenJFX included
-  mediathekview = callPackage ../applications/video/mediathekview { jre = oraclejre; };
+  mediathekview = callPackage ../applications/video/mediathekview { jre = openjdk11; };
 
   meteo = callPackage ../applications/networking/weather/meteo { };
 
@@ -19708,8 +20022,6 @@ in
 
   meme = callPackage ../applications/graphics/meme { };
 
-  mcomix = callPackage ../applications/graphics/mcomix { };
-
   mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = pkgs.gnome2.GConf;
   };
@@ -19722,9 +20034,7 @@ in
 
   mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
 
-  merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor {
-    gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179
-  };
+  merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
   meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
 
@@ -19761,8 +20071,6 @@ in
 
   meh = callPackage ../applications/graphics/meh {};
 
-  mirage = callPackage ../applications/graphics/mirage { };
-
   mixxx = libsForQt5.callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
   };
@@ -19776,9 +20084,14 @@ in
   MMA = callPackage ../applications/audio/MMA { };
 
   mmex = callPackage ../applications/office/mmex {
-    wxGTK30 = wxGTK30.override { withWebKit  = true ; };
+    wxGTK30 = wxGTK30.override {
+      withWebKit = true;
+      withGtk2 = false;
+    };
   };
 
+  mmsd = callPackage ../tools/networking/mmsd { };
+
   moc = callPackage ../applications/audio/moc { };
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
@@ -19805,6 +20118,8 @@ in
     ocamlPackages = ocaml-ng.ocamlPackages_4_01_0;
   };
 
+  monitor = callPackage ../applications/system/monitor { };
+
   moolticute = libsForQt5.callPackage ../applications/misc/moolticute { };
 
   moonlight-embedded = callPackage ../applications/misc/moonlight-embedded { };
@@ -19857,7 +20172,9 @@ in
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
 
-  mpc_cli = callPackage ../applications/audio/mpc { };
+  mpc_cli = callPackage ../applications/audio/mpc {
+    inherit (python3Packages) sphinx;
+  };
 
   clerk = callPackage ../applications/audio/clerk { };
 
@@ -19929,7 +20246,7 @@ in
       avahi = avahi-compat;
       jackSupport = config.mumble.jackSupport or false;
       speechdSupport = config.mumble.speechdSupport or false;
-      pulseSupport = config.pulseaudio or false;
+      pulseSupport = config.pulseaudio or stdenv.isLinux;
     }).mumble;
 
   mumble_overlay = callPackage ../applications/networking/mumble/overlay.nix {
@@ -19962,12 +20279,16 @@ in
 
   neocomp  = callPackage ../applications/window-managers/neocomp { };
 
+  netease-cloud-music = callPackage ../applications/audio/netease-cloud-music {};
+
   nicotine-plus = callPackage ../applications/networking/soulseek/nicotine-plus {
     geoip = geoipWithDatabase;
   };
 
   notion = callPackage ../applications/window-managers/notion { };
 
+  open-policy-agent = callPackage ../development/tools/open-policy-agent { };
+
   openshift = callPackage ../applications/networking/cluster/openshift {
     buildGoPackage = buildGo112Package;
   };
@@ -19982,6 +20303,8 @@ in
 
   partio = callPackage ../development/libraries/partio {};
 
+  pbis-open = callPackage ../tools/security/pbis { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   pcmanfm-qt = lxqt.pcmanfm-qt;
@@ -20021,8 +20344,6 @@ in
 
   ptex = callPackage ../development/libraries/ptex {};
 
-  qtcurve = libsForQt5.callPackage ../misc/themes/qtcurve {};
-
   qbec = callPackage ../applications/networking/cluster/qbec { };
 
   rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
@@ -20045,6 +20366,8 @@ in
 
   softmaker-office = callPackage ../applications/office/softmaker/softmaker_office.nix {};
 
+  spacegun = callPackage ../applications/networking/cluster/spacegun {};
+
   stride = callPackage ../applications/networking/instant-messengers/stride { };
 
   sudolikeaboss = callPackage ../tools/security/sudolikeaboss { };
@@ -20121,6 +20444,8 @@ in
 
   micro = callPackage ../applications/editors/micro { };
 
+  mle = callPackage ../applications/editors/mle { };
+
   nano = callPackage ../applications/editors/nano { };
 
   nanoblogger = callPackage ../applications/misc/nanoblogger { };
@@ -20182,14 +20507,14 @@ in
     inherit (gnome2) libglade;
   };
 
-  oblogout = callPackage ../tools/X11/oblogout { };
-
   obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { };
 
   obs-wlrobs = callPackage ../applications/video/obs-studio/wlrobs.nix { };
 
+  obs-ndi = callPackage ../applications/video/obs-studio/obs-ndi.nix { };
+
   octoprint = callPackage ../applications/misc/octoprint { };
 
   octoprint-plugins = callPackage ../applications/misc/octoprint/plugins.nix { };
@@ -20237,7 +20562,6 @@ in
 
   orca = python3Packages.callPackage ../applications/misc/orca {
     inherit (pkgs) pkgconfig;
-    inherit (gnome3) yelp-tools;
   };
 
   osm2xmap = callPackage ../applications/misc/osm2xmap {
@@ -20271,8 +20595,6 @@ in
 
   osmo = callPackage ../applications/office/osmo { };
 
-  osquery = callPackage ../tools/system/osquery { };
-
   palemoon = callPackage ../applications/networking/browsers/palemoon {
     # https://forum.palemoon.org/viewtopic.php?f=57&t=15296#p111146
     stdenv = gcc49Stdenv;
@@ -20423,14 +20745,12 @@ in
     gtksharp = gtk-sharp-2_0;
   };
 
-  plex-media-player = libsForQt59.callPackage ../applications/video/plex-media-player { };
+  plex-media-player = libsForQt512.callPackage ../applications/video/plex-media-player { };
 
   plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { });
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
-  pmenu = callPackage ../applications/misc/pmenu { };
-
   polar-bookshelf = callPackage ../applications/misc/polar-bookshelf { };
 
   poezio = python3Packages.poezio;
@@ -20497,6 +20817,9 @@ in
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { };
+  qbittorrent-nox = qbittorrent.override {
+    guiSupport = false;
+  };
 
   qcomicbook = libsForQt5.callPackage ../applications/graphics/qcomicbook { };
 
@@ -20576,9 +20899,7 @@ in
 
   quantomatic = callPackage ../applications/science/physics/quantomatic { };
 
-  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
-    inherit (gnome3) dconf;
-  };
+  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel { };
 
   quasselClient = quassel.override {
     monolithic = false;
@@ -20646,6 +20967,8 @@ in
 
   railcar = callPackage ../applications/virtualization/railcar {};
 
+  raiseorlaunch = callPackage ../applications/misc/raiseorlaunch {};
+
   rapcad = libsForQt5.callPackage ../applications/graphics/rapcad { boost = boost159; };
 
   rapid-photo-downloader = libsForQt5.callPackage ../applications/graphics/rapid-photo-downloader { };
@@ -20794,10 +21117,6 @@ in
     protobuf = protobuf3_1;
   };
 
-  seg3d = callPackage ../applications/graphics/seg3d {
-    wxGTK = wxGTK28.override { unicode = false; };
-  };
-
   sent = callPackage ../applications/misc/sent { };
 
   seq24 = callPackage ../applications/audio/seq24 { };
@@ -20848,12 +21167,16 @@ in
 
   spice-vdagent = callPackage ../applications/virtualization/spice-vdagent { };
 
+  spike = callPackage ../applications/virtualization/spike { };
+
+  tensorman = callPackage ../tools/misc/tensorman { };
+
   spideroak = callPackage ../applications/networking/spideroak { };
 
   split2flac = callPackage ../applications/audio/split2flac { };
 
   spotify-tui = callPackage ../applications/audio/spotify-tui {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
   squishyball = callPackage ../applications/audio/squishyball {
@@ -20872,7 +21195,9 @@ in
 
   wavebox = callPackage ../applications/networking/instant-messengers/wavebox { };
 
-  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi { };
+  sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi {
+    ruby = ruby_2_4;  # sonic-pi build breaks with ruby 2.5 and 2.6
+  };
 
   st = callPackage ../applications/misc/st {
     conf = config.st.conf or null;
@@ -20963,16 +21288,10 @@ in
 
   skrooge = libsForQt5.callPackage ../applications/office/skrooge {};
 
-  slim = callPackage ../applications/display-managers/slim {
-    libpng = libpng12;
-  };
-
   smartgithg = callPackage ../applications/version-management/smartgithg {
     jre = openjdk11;
   };
 
-  slimThemes = recurseIntoAttrs (callPackage ../applications/display-managers/slim/themes.nix {});
-
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
   snapper = callPackage ../tools/misc/snapper { };
@@ -21083,6 +21402,7 @@ in
 
   swift-im = libsForQt5.callPackage ../applications/networking/instant-messengers/swift-im {
     inherit (gnome2) GConf;
+    boost = boost168;
   };
 
   sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { };
@@ -21131,12 +21451,16 @@ in
 
   tailor = callPackage ../applications/version-management/tailor {};
 
+  taizen = callPackage ../applications/misc/taizen { };
+
   tangogps = callPackage ../applications/misc/tangogps {
     gconf = gnome2.GConf;
   };
 
   tambura = callPackage ../applications/audio/tambura { };
 
+  teams = callPackage ../applications/networking/instant-messengers/teams { };
+
   teamspeak_client = libsForQt512.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
@@ -21216,8 +21540,9 @@ in
 
   thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
     inherit (gnome2) libIDL;
+    inherit (rustPackages_1_38_0) cargo rustc;
     libpng = libpng_apng;
-    enableGTK3 = true;
+    gtk3Support = true;
   };
 
   thunderbolt = callPackage ../os-specific/linux/thunderbolt {};
@@ -21342,6 +21667,8 @@ in
 
   ulauncher = callPackage ../applications/misc/ulauncher { };
 
+  twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
+
   umurmur = callPackage ../applications/networking/umurmur { };
 
   udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
@@ -21364,10 +21691,6 @@ in
 
   uwimap = callPackage ../tools/networking/uwimap { };
 
-  uzbl = callPackage ../applications/networking/browsers/uzbl {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-
   utox = callPackage ../applications/networking/instant-messengers/utox { };
 
   valentina = libsForQt5.callPackage ../applications/misc/valentina { };
@@ -21379,7 +21702,7 @@ in
   vcv-rack = callPackage ../applications/audio/vcv-rack { };
 
   vdirsyncer = callPackage ../tools/misc/vdirsyncer {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
 
   vdirsyncerStable = callPackage ../tools/misc/vdirsyncer/stable.nix { };
@@ -21453,7 +21776,6 @@ in
   virt-what = callPackage ../applications/virtualization/virt-what { };
 
   virt-manager = callPackage ../applications/virtualization/virt-manager {
-    dconf = gnome3.dconf;
     system-libvirt = libvirt;
   };
 
@@ -21634,8 +21956,6 @@ in
 
   wily = callPackage ../applications/editors/wily { };
 
-  winswitch = callPackage ../tools/X11/winswitch { };
-
   wings = callPackage ../applications/graphics/wings {
     erlang = erlangR21;
   };
@@ -22060,6 +22380,8 @@ in
 
   inherit (gnome3) yelp;
 
+  yelp-tools = callPackage ../development/misc/yelp-tools { };
+
   yokadi = python3Packages.callPackage ../applications/misc/yokadi {};
 
   yoshimi = callPackage ../applications/audio/yoshimi { };
@@ -22130,7 +22452,11 @@ in
   clightning = callPackage ../applications/blockchains/clightning.nix { };
 
   bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = true; };
-  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = false; };
+  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix {
+    boost = boost165;
+    mkDerivation = stdenv.mkDerivation;
+    withGui = false;
+  };
 
   bitcoin-unlimited  = libsForQt5.callPackage ../applications/blockchains/bitcoin-unlimited.nix {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
@@ -22170,7 +22496,7 @@ in
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
-  jormungandr = callPackage ../applications/blockchains/jormungandr { };
+  ledger_agent = with python3Packages; toPythonApplication ledger_agent;
 
   ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { };
 
@@ -22213,9 +22539,7 @@ in
 
   wownero = callPackage ../applications/blockchains/wownero.nix {};
 
-  zcash = callPackage ../applications/blockchains/zcash {
-    withGui = false;
-  };
+  zcash = callPackage ../applications/blockchains/zcash { };
 
   parity = callPackage ../applications/blockchains/parity { };
   parity-beta = callPackage ../applications/blockchains/parity/beta.nix { };
@@ -22322,7 +22646,7 @@ in
 
   chessdb = callPackage ../games/chessdb { };
 
-  chessx = libsForQt59.callPackage ../games/chessx { };
+  chessx = libsForQt5.callPackage ../games/chessx { };
 
   chiaki = libsForQt5.callPackage ../games/chiaki { };
 
@@ -22346,12 +22670,12 @@ in
 
   construoBase = lowPrio (callPackage ../games/construo {
     libGL = null;
+    libGLU = null;
     freeglut = null;
   });
 
   construo = construoBase.override {
-    inherit  freeglut;
-    libGL = libGLU_combined;
+    inherit libGL libGLU freeglut;
   };
 
   crack_attack = callPackage ../games/crack-attack { };
@@ -22379,14 +22703,15 @@ in
 
   digikam = libsForQt5.callPackage ../applications/graphics/digikam {
     inherit (plasma5) oxygen;
-    inherit (kdeApplications) akonadi-contacts kcalcore;
+    inherit (kdeApplications) akonadi-contacts;
+    inherit (kdeFrameworks) kcalendarcore;
     ffmpeg = ffmpeg_4;
     opencv3 = opencv3WithoutCuda;
   };
 
-  displaycal = (newScope pythonPackages) ../applications/graphics/displaycal {};
+  displaycal = callPackage ../applications/graphics/displaycal {};
 
-  drumkv1 = callPackage ../applications/audio/drumkv1 { };
+  drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
 
   duckmarines = callPackage ../games/duckmarines { love = love_0_10; };
 
@@ -22416,6 +22741,8 @@ in
 
   egoboo = callPackage ../games/egoboo { };
 
+  eidolon = callPackage ../games/eidolon { };
+
   EmptyEpsilon = callPackage ../games/empty-epsilon { };
 
   endgame-singularity = callPackage ../games/endgame-singularity { };
@@ -22534,6 +22861,8 @@ in
 
   gshogi = python3Packages.callPackage ../games/gshogi {};
 
+  qtads = qt5.callPackage ../games/qtads { };
+
   gtetrinet = callPackage ../games/gtetrinet {
     inherit (gnome2) GConf libgnome libgnomeui;
   };
@@ -22550,8 +22879,6 @@ in
     inherit (haskellPackages) ghcWithPackages;
   };
 
-  hexen = callPackage ../games/hexen { };
-
   holdingnuts = callPackage ../games/holdingnuts { };
 
   hyperrogue = callPackage ../games/hyperrogue { };
@@ -22564,9 +22891,7 @@ in
 
   ideogram = callPackage ../applications/graphics/ideogram { };
 
-  instead = callPackage ../games/instead {
-    lua = lua5;
-  };
+  instead = callPackage ../games/instead { };
 
   instead-launcher = callPackage ../games/instead-launcher { };
 
@@ -22729,7 +23054,7 @@ in
 
   privateer = callPackage ../games/privateer { };
 
-  pysolfc = callPackage ../games/pysolfc { };
+  pysolfc = python3Packages.callPackage ../games/pysolfc { };
 
   qweechat = callPackage ../applications/networking/irc/qweechat { };
 
@@ -22889,6 +23214,8 @@ in
     ffmpeg = ffmpeg_2;
   };
 
+  streamlit = python3Packages.callPackage ../applications/science/machine-learning/streamlit { };
+
   stuntrally = callPackage ../games/stuntrally {
     ogre = ogre1_9;
     mygui = mygui.override {
@@ -22900,7 +23227,7 @@ in
 
   superTuxKart = callPackage ../games/super-tux-kart { };
 
-  synthv1 = callPackage ../applications/audio/synthv1 { };
+  synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { };
 
   system-syzygy = callPackage ../games/system-syzygy { };
 
@@ -23105,7 +23432,9 @@ in
 
   ### DESKTOP ENVIRONMENTS
 
-  clearlooks-phenix = callPackage ../misc/themes/clearlooks-phenix { };
+  cdesktopenv = callPackage ../desktops/cdesktopenv { };
+
+  cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
 
   deepin = recurseIntoAttrs (import ../desktops/deepin {
     inherit pkgs libsForQt5;
@@ -23144,9 +23473,10 @@ in
     timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
     topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
     window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
+    workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { };
 
-    nohotcorner = throw "removed 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
-    mediaplayer = throw "deprecated 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
+    nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
+    mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
   };
 
   hsetroot = callPackage ../tools/X11/hsetroot { };
@@ -23170,50 +23500,23 @@ in
 
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
-  redshift = callPackage ../applications/misc/redshift {
+  inherit (callPackages ../applications/misc/redshift {
     inherit (python3Packages) python pygobject3 pyxdg wrapPython;
     inherit (darwin.apple_sdk.frameworks) CoreLocation ApplicationServices Foundation Cocoa;
     geoclue = geoclue2;
-  };
+  }) redshift redshift-wlr;
 
   redshift-plasma-applet = libsForQt5.callPackage ../applications/misc/redshift-plasma-applet { };
 
   latte-dock = libsForQt5.callPackage ../applications/misc/latte-dock { };
 
-  adwaita-qt = libsForQt5.callPackage ../misc/themes/adwaita-qt { };
-
-  orion = callPackage ../misc/themes/orion {};
-
-  albatross = callPackage ../misc/themes/albatross { };
-
-  gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
-
-  gtk-engine-bluecurve = callPackage ../misc/themes/gtk2/gtk-engine-bluecurve { };
-
-  gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { };
-
   gnome-themes-extra = gnome3.gnome-themes-extra;
 
-  numix-gtk-theme = callPackage ../misc/themes/numix { };
-
-  numix-solarized-gtk-theme = callPackage ../misc/themes/numix-solarized { };
-
-  numix-sx-gtk-theme = callPackage ../misc/themes/numix-sx { };
-
-  onestepback = callPackage ../misc/themes/onestepback { };
-
-  theme-vertex = callPackage ../misc/themes/vertex { };
-
   rox-filer = callPackage ../desktops/rox/rox-filer {
     gtk = gtk2;
   };
 
-  solarc-gtk-theme = callPackage ../misc/themes/solarc { };
-
-  xfce = xfce4-12;
-
-  xfce4-12 = recurseIntoAttrs (callPackage ../desktops/xfce { });
-  xfce4-14 = recurseIntoAttrs (callPackage ../desktops/xfce4-14 { });
+  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
 
   xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
@@ -23243,6 +23546,8 @@ in
 
   kwin-tiling = libsForQt5.callPackage ../desktops/plasma-5/kwin/scripts/tiling.nix { };
 
+  krohnkite = libsForQt5.callPackage ../desktops/plasma-5/kwin/scripts/krohnkite.nix { };
+
   ### SCIENCE
 
   ### SCIENCE/CHEMISTY
@@ -23353,6 +23658,8 @@ in
 
   kallisto = callPackage ../applications/science/biology/kallisto { };
 
+  kssd = callPackage ../applications/science/biology/kssd { };
+
   macse = callPackage ../applications/science/biology/macse { };
 
   migrate = callPackage ../applications/science/biology/migrate { };
@@ -23441,6 +23748,8 @@ in
 
   SPAdes = callPackage ../applications/science/biology/spades { };
 
+  svaba = callPackage ../applications/science/biology/svaba { };
+
   trimal = callPackage ../applications/science/biology/trimal { };
 
   truvari = callPackage ../applications/science/biology/truvari { };
@@ -23670,6 +23979,7 @@ in
     coqPackages_8_8  coq_8_8
     coqPackages_8_9  coq_8_9
     coqPackages_8_10 coq_8_10
+    coqPackages_8_11 coq_8_11
     coqPackages      coq
   ;
 
@@ -24013,8 +24323,8 @@ in
   ns-3 = callPackage ../development/libraries/science/networking/ns-3 { python = python3; };
 
   root = callPackage ../applications/science/misc/root {
+    python = python3;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
   };
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
@@ -24055,6 +24365,8 @@ in
 
   fastjet = callPackage ../development/libraries/physics/fastjet { };
 
+  fastjet-contrib = callPackage ../development/libraries/physics/fastjet-contrib { };
+
   fastnlo = callPackage ../development/libraries/physics/fastnlo { };
 
   geant4 = libsForQt5.callPackage ../development/libraries/physics/geant4 { };
@@ -24110,6 +24422,8 @@ in
 
   ataripp = callPackage ../misc/emulators/atari++ { };
 
+  atlantis = callPackage ../applications/networking/cluster/atlantis { };
+
   auctex = callPackage ../tools/typesetting/tex/auctex { };
 
   areca = callPackage ../applications/backup/areca { };
@@ -24120,8 +24434,6 @@ in
 
   bees = callPackage ../tools/filesystems/bees { };
 
-  blackbird = callPackage ../misc/themes/blackbird { };
-
   bootil = callPackage ../development/libraries/bootil { };
 
   brgenml1lpr = pkgsi686Linux.callPackage ../misc/cups/drivers/brgenml1lpr {};
@@ -24160,8 +24472,6 @@ in
 
   terminal-parrot = callPackage ../applications/misc/terminal-parrot { };
 
-  e17gtk = callPackage ../misc/themes/e17gtk { };
-
   epson-alc1100 = callPackage ../misc/drivers/epson-alc1100 { };
 
   epson-escpr = callPackage ../misc/drivers/epson-escpr { };
@@ -24230,8 +24540,6 @@ in
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
-  equilux-theme = callPackage ../misc/themes/equilux-theme { };
-
   flam3 = callPackage ../tools/graphics/flam3 { };
 
   glee = callPackage ../tools/graphics/glee { };
@@ -24274,6 +24582,8 @@ in
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
+  fuse-emulator = callPackage ../misc/emulators/fuse-emulator {};
+
   gajim = callPackage ../applications/networking/instant-messengers/gajim {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-libav gst-plugins-ugly;
   };
@@ -24291,13 +24601,13 @@ in
 
   glava = callPackage ../applications/misc/glava {};
 
-  gnome-breeze = callPackage ../misc/themes/gnome-breeze { };
-
   gnuk = callPackage ../misc/gnuk {
     gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
     binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
   };
 
+  gobuster = callPackage ../tools/security/gobuster { };
+
   guetzli = callPackage ../applications/graphics/guetzli { };
 
   gummi = callPackage ../applications/misc/gummi { };
@@ -24374,8 +24684,9 @@ in
     kops_1_12
     kops_1_13
     kops_1_14
+    kops_1_15
     ;
-  kops = kops_1_14;
+  kops = kops_1_15;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -24585,6 +24896,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  nix-linter = haskellPackages.callPackage ../development/tools/analysis/nix-linter { };
+
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
   nix-prefetch = callPackage ../tools/package-management/nix-prefetch { };
@@ -24618,7 +24931,7 @@ in
     "Also see https://github.com/NixOS/nixpkgs/pull/44903"
   );
 
-  nix-review = callPackage ../tools/package-management/nix-review { };
+  nixpkgs-review = callPackage ../tools/package-management/nixpkgs-review { };
 
   nix-serve = callPackage ../tools/package-management/nix-serve { };
 
@@ -24674,9 +24987,7 @@ in
 
   sndio = callPackage ../misc/sndio { };
 
-  # Oclgrind 18.3 does not work with newer LLVMs (but HEAD does, so
-  # fix this after next release).
-  oclgrind = callPackage ../development/tools/analysis/oclgrind { llvmPackages = llvmPackages_6; };
+  oclgrind = callPackage ../development/tools/analysis/oclgrind { };
 
   opkg = callPackage ../tools/package-management/opkg { };
 
@@ -24745,6 +25056,10 @@ in
 
   rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { };
 
+  pick-colour-picker = python3Packages.callPackage ../applications/graphics/pick-colour-picker {
+    inherit (pkgs) glib gtk3 gobject-introspection wrapGAppsHook;
+  };
+
   rpl = callPackage ../tools/text/rpl {
     pythonPackages = python3Packages;
   };
@@ -24971,11 +25286,6 @@ in
     llvmPackages = llvmPackages_6;
   });
 
-  vimprobable2-unwrapped = callPackage ../applications/networking/browsers/vimprobable2 {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-  vimprobable2 = wrapFirefox vimprobable2-unwrapped { };
-
   vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { };
   vimb = wrapFirefox vimb-unwrapped { };
 
@@ -25102,11 +25412,7 @@ in
 
   xteddy = callPackage ../applications/misc/xteddy { };
 
-  xwiimote = callPackage ../misc/drivers/xwiimote {
-    bluez = pkgs.bluez5.override {
-      enableWiimote = true;
-    };
-  };
+  xwiimote = callPackage ../misc/drivers/xwiimote { };
 
   xzoom = callPackage ../tools/X11/xzoom {};
 
@@ -25228,9 +25534,7 @@ in
 
   zimg = callPackage ../development/libraries/zimg { };
 
-  wtf = callPackage ../applications/misc/wtf {
-    buildGoModule = buildGo112Module;
-  };
+  wtf = callPackage ../applications/misc/wtf { };
 
   zk-shell = callPackage ../applications/misc/zk-shell { };
 
@@ -25358,6 +25662,8 @@ in
 
   wasmtime = callPackage ../development/interpreters/wasmtime {};
 
+  wfuzz = with python3Packages; toPythonApplication wfuzz;
+
   bemenu = callPackage ../applications/misc/bemenu { };
 
   dapper = callPackage ../development/tools/dapper { };
@@ -25372,6 +25678,8 @@ in
 
   kodelife = callPackage ../applications/graphics/kodelife {};
 
+  _3proxy = callPackage ../applications/networking/3proxy {};
+
   pigeon = callPackage ../development/tools/pigeon {};
 
   verifpal = callPackage ../tools/security/verifpal {};
@@ -25388,4 +25696,8 @@ in
 
   sieveshell = with python3.pkgs; toPythonApplication managesieve;
 
+  gortr = callPackage ../servers/gortr {};
+
+  sentencepiece = callPackage ../development/libraries/sentencepiece {};
+
 }
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 235dfc79487..3fa3d30aa94 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -128,7 +128,10 @@ in rec {
     version = "8.9.1";
   };
   coq_8_10 = callPackage ../applications/science/logic/coq {
-    version = "8.10.1";
+    version = "8.10.2";
+  };
+  coq_8_11 = callPackage ../applications/science/logic/coq {
+    version = "8.11+beta1";
   };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
@@ -137,6 +140,7 @@ in rec {
   coqPackages_8_8 = mkCoqPackages coq_8_8;
   coqPackages_8_9 = mkCoqPackages coq_8_9;
   coqPackages_8_10 = mkCoqPackages coq_8_10;
+  coqPackages_8_11 = mkCoqPackages coq_8_11;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
     coqPackages_8_9
   );
diff --git a/pkgs/top-level/emscripten-packages.nix b/pkgs/top-level/emscripten-packages.nix
index a36c89fac0a..ceb2d5e16f7 100644
--- a/pkgs/top-level/emscripten-packages.nix
+++ b/pkgs/top-level/emscripten-packages.nix
@@ -81,7 +81,8 @@ rec {
     });            
   
   xmlmirror = pkgs.buildEmscriptenPackage rec {
-    name = "xmlmirror";
+    pname = "xmlmirror";
+    version = "unstable-2016-06-05";
 
     buildInputs = [ pkgconfig autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
     nativeBuildInputs = [ pkgconfig zlib ];
@@ -113,7 +114,7 @@ rec {
     
     installPhase = ''
       mkdir -p $out/share
-      mkdir -p $doc/share/${name}
+      mkdir -p $doc/share/${pname}
       
       cp Demo* $out/share
       cp -R codemirror-5.12 $out/share
@@ -124,7 +125,7 @@ rec {
       cp *.html $out/share
       cp *.json $out/share
       cp *.rng $out/share
-      cp README.md $doc/share/${name}
+      cp README.md $doc/share/${pname}
     '';
     checkPhase = ''
       
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 2fb09981c9a..7f29d47a993 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -23,7 +23,7 @@ let
   isLua51 = (lib.versions.majorMinor lua.version) == "5.1";
   isLua52 = (lib.versions.majorMinor lua.version) == "5.2";
   isLua53 = lua.luaversion == "5.3";
-  isLuaJIT = (builtins.parseDrvName lua.name).name == "luajit";
+  isLuaJIT = lib.getName lua == "luajit";
 
   lua-setup-hook = callPackage ../development/interpreters/lua-5/setup-hook.nix { };
 
@@ -134,14 +134,14 @@ with self; {
 
   pulseaudio = buildLuaPackage rec {
     pname = "pulseaudio";
-    version = "0.1";
+    version = "0.2";
     name = "pulseaudio-${version}";
 
     src = fetchFromGitHub {
       owner = "doronbehar";
       repo = "lua-pulseaudio";
       rev = "v${version}";
-      sha256 = "0vldm34m3ysgn8gvwfdglpw4jl5680fvfay7pzs14gzkzcvgv25b";
+      sha256 = "140y1m6k798c4w7xfl0zb0a4ffjz6i1722bgkdcdg8g76hr5r8ys";
     };
     disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
     buildInputs = [ pkgs.libpulseaudio ];
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 36aa85d570c..4f884e91e26 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -16,8 +16,12 @@ let
 
     buildDunePackage = callPackage ../build-support/ocaml/dune.nix {};
 
+    buildDune2Package = buildDunePackage.override { dune = dune_2; };
+
     alcotest = callPackage ../development/ocaml-modules/alcotest {};
 
+    alcotest-lwt = callPackage ../development/ocaml-modules/alcotest/lwt.nix {};
+
     angstrom = callPackage ../development/ocaml-modules/angstrom { };
 
     angstrom-async = callPackage ../development/ocaml-modules/angstrom-async { };
@@ -73,6 +77,8 @@ let
 
     bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
 
+    biocaml = callPackage ../development/ocaml-modules/biocaml { };
+
     bistro = callPackage ../development/ocaml-modules/bistro { };
 
     bitstring = callPackage ../development/ocaml-modules/bitstring { };
@@ -138,6 +144,8 @@ let
 
     cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
 
+    cfstream = callPackage ../development/ocaml-modules/cfstream { };
+
     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
 
     checkseum = callPackage ../development/ocaml-modules/checkseum { };
@@ -185,6 +193,8 @@ let
 
     cpuid = callPackage ../development/ocaml-modules/cpuid { };
 
+    crunch = callPackage ../development/tools/ocaml/crunch { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     cstruct =
@@ -217,6 +227,8 @@ let
 
     digestif =  callPackage ../development/ocaml-modules/digestif { };
 
+    dispatch =  callPackage ../development/ocaml-modules/dispatch { };
+
     dolmen =  callPackage ../development/ocaml-modules/dolmen { };
 
     dolog = callPackage ../development/ocaml-modules/dolog { };
@@ -229,12 +241,20 @@ let
 
     dune = callPackage ../development/tools/ocaml/dune { };
 
+    dune_2 = callPackage ../development/tools/ocaml/dune/2.nix { };
+
+    dune-configurator = callPackage ../development/ocaml-modules/dune-configurator { buildDunePackage = buildDune2Package; };
+
+    dune-private-libs = callPackage ../development/ocaml-modules/dune-private-libs { buildDunePackage = buildDune2Package; };
+
     earley = callPackage ../development/ocaml-modules/earley { };
 
     earlybird = callPackage ../development/ocaml-modules/earlybird { };
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eigen = callPackage ../development/ocaml-modules/eigen { };
+
     elina = callPackage ../development/ocaml-modules/elina { };
 
     eliom = callPackage ../development/ocaml-modules/eliom { };
@@ -289,6 +309,10 @@ let
 
     gmap = callPackage ../development/ocaml-modules/gmap { };
 
+    gnuplot = callPackage ../development/ocaml-modules/gnuplot {
+      inherit (pkgs) gnuplot;
+    };
+
     herelib = callPackage ../development/ocaml-modules/herelib { };
 
     higlo = callPackage ../development/ocaml-modules/higlo { };
@@ -312,6 +336,8 @@ let
       then callPackage ../development/ocaml-modules/ipaddr { }
       else ipaddr_p4;
 
+    irmin_1 = callPackage ../development/ocaml-modules/irmin/1.4.nix { };
+
     iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
 
     iter = callPackage ../development/ocaml-modules/iter { };
@@ -334,16 +360,46 @@ let
 
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    graphql = callPackage ../development/ocaml-modules/graphql { };
+
+    graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
+
+    graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
+
+    graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
+
     gtktop = callPackage ../development/ocaml-modules/gtktop { };
 
     hex = callPackage ../development/ocaml-modules/hex { };
 
     httpaf = callPackage ../development/ocaml-modules/httpaf { };
 
+    index = callPackage ../development/ocaml-modules/index { };
+
     inifiles = callPackage ../development/ocaml-modules/inifiles { };
 
     iri = callPackage ../development/ocaml-modules/iri { };
 
+    irmin = callPackage ../development/ocaml-modules/irmin { };
+
+    irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
+
+    irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { };
+
+    irmin-graphql = callPackage ../development/ocaml-modules/irmin/graphql.nix { };
+
+    irmin-http = callPackage ../development/ocaml-modules/irmin/http.nix { };
+
+    irmin-mem = callPackage ../development/ocaml-modules/irmin/mem.nix { };
+
+    irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { };
+
+    irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { };
+
+    irmin-unix = callPackage ../development/ocaml-modules/irmin/unix.nix { };
+
+    irmin-watcher = callPackage ../development/ocaml-modules/irmin-watcher { };
+
     jingoo = callPackage ../development/ocaml-modules/jingoo {
       pcre = ocaml_pcre;
     };
@@ -374,6 +430,8 @@ let
 
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
+    kafka = callPackage ../development/ocaml-modules/kafka { };
+
     ke = callPackage ../development/ocaml-modules/ke { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
@@ -420,11 +478,9 @@ let
 
     lru = callPackage ../development/ocaml-modules/lru { };
 
-    lwt2 = callPackage ../development/ocaml-modules/lwt/legacy.nix { };
+    lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
 
-    lwt3 = if lib.versionOlder "4.02" ocaml.version
-      then callPackage ../development/ocaml-modules/lwt/3.x.nix { }
-      else throw "lwt3 is not available for OCaml ${ocaml.version}";
+    lwt2 = callPackage ../development/ocaml-modules/lwt/legacy.nix { };
 
     lwt4 = callPackage ../development/ocaml-modules/lwt/4.x.nix { };
 
@@ -464,6 +520,14 @@ let
 
     merlin-extend = callPackage ../development/ocaml-modules/merlin-extend { };
 
+    metrics = callPackage ../development/ocaml-modules/metrics { };
+
+    metrics-lwt = callPackage ../development/ocaml-modules/metrics/lwt.nix { };
+
+    metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
+      inherit (pkgs) gnuplot;
+    };
+
     mezzo = callPackage ../development/compilers/mezzo { };
 
     minisat = callPackage ../development/ocaml-modules/minisat { };
@@ -557,6 +621,8 @@ let
 
     ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
 
+    ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
+
     ocf = callPackage ../development/ocaml-modules/ocf { };
 
     ocp-build = callPackage ../development/tools/ocaml/ocp-build { };
@@ -605,10 +671,16 @@ let
 
     owee = callPackage ../development/ocaml-modules/owee { };
 
+    owl-base = callPackage ../development/ocaml-modules/owl-base { };
+
+    owl = callPackage ../development/ocaml-modules/owl { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
 
+    phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
+
     piqi = callPackage ../development/ocaml-modules/piqi {
       base64 = base64_2;
     };
@@ -692,6 +764,8 @@ let
 
     pa_test = callPackage ../development/ocaml-modules/pa_test { };
 
+    parany = callPackage ../development/ocaml-modules/parany { };
+
     pipebang = callPackage ../development/ocaml-modules/pipebang { };
 
     pprint = callPackage ../development/ocaml-modules/pprint { };
@@ -759,6 +833,10 @@ let
 
     sedlex = callPackage ../development/ocaml-modules/sedlex { };
 
+    setcore = callPackage ../development/ocaml-modules/setcore { };
+
+    sodium = callPackage ../development/ocaml-modules/sodium { };
+
     spelll = callPackage ../development/ocaml-modules/spelll { };
 
     sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
@@ -819,6 +897,8 @@ let
 
     wasm = callPackage ../development/ocaml-modules/wasm { };
 
+    webmachine = callPackage ../development/ocaml-modules/webmachine { };
+
     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
 
     x509 = callPackage ../development/ocaml-modules/x509 { };
@@ -829,6 +909,8 @@ let
 
     xtmpl = callPackage ../development/ocaml-modules/xtmpl { };
 
+    yaml = callPackage ../development/ocaml-modules/yaml { };
+
     yojson = callPackage ../development/ocaml-modules/yojson { };
 
     zarith = callPackage ../development/ocaml-modules/zarith { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 344ab71c0a8..a9571032053 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -5,7 +5,7 @@
    for each package in a separate file: the call to the function would
    be almost as much code as the function itself. */
 
-{config, pkgs, fetchurl, fetchpatch, stdenv, perl, overrides, buildPerl, shortenPerlShebang}:
+{config, pkgs, fetchurl, fetchpatch, fetchFromGitHub, stdenv, perl, overrides, buildPerl, shortenPerlShebang}:
 
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.2 or above
 assert stdenv.lib.versionAtLeast perl.version "5.28.2";
@@ -87,11 +87,11 @@ let
 
   ack = buildPerlPackage {
     pname = "ack";
-    version = "3.1.3";
+    version = "3.2.0";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.1.3.tar.gz;
-      sha256 = "0bxsrs6lv98sjdww5q6bcsm2qk4w6l5falpzjijvj1i2if123gb1";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.2.0.tar.gz;
+      sha256 = "00yvhkr974akdlhiyxkcz4rmfjyhvpikxf6k49b6q6iwa5a0j1ss";
     };
 
     outputs = ["out" "man"];
@@ -158,10 +158,10 @@ let
 
   AlienBuild = buildPerlPackage {
     pname = "Alien-Build";
-    version = "1.89";
+    version = "1.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.89.tar.gz;
-      sha256 = "1jr740v95hdhjxkj5kcpwb022y6iqzmsax50fa69qbiwnjjnzqzz";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.92.tar.gz;
+      sha256 = "0y8a0ircxc93qqic1i76sspbcr4pdjg6j8ha4zbvv279f8x1g5fd";
     };
     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
     buildInputs = [ DevelHide Test2Suite ];
@@ -221,7 +221,7 @@ let
     installPhase = "./Build install --prefix $out";
 
     SDL_INST_DIR = pkgs.SDL.dev;
-    buildInputs = [ ArchiveExtract ArchiveZip TextPatch pkgs.SDL ];
+    buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
     propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
 
     meta = {
@@ -347,10 +347,10 @@ let
 
   ApacheAuthCookie = buildPerlPackage {
     pname = "Apache-AuthCookie";
-    version = "3.27";
+    version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.27.tar.gz;
-      sha256 = "58daeb3e44c681ff88f8fb00e4aabaa7a40cbee73dbdb84fcf6c285b15d357bd";
+      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.28.tar.gz;
+      sha256 = "bcd795a7f654a94ae0a6bd734ba4d8ba1085371fca486229dba49f1c2d62142b";
     };
     buildInputs = [ ApacheTest ];
     propagatedBuildInputs = [ ClassLoad HTTPBody HashMultiValue WWWFormUrlEncoded ];
@@ -360,7 +360,7 @@ let
     doCheck = !stdenv.isLinux;
 
     meta = {
-      homepage = http://search.cpan.org/dist/Apache-AuthCookie/;
+      homepage = "https://github.com/mschout/apache-authcookie";
       description = "Perl Authentication and Authorization via cookies";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -368,10 +368,10 @@ let
 
   ApacheLogFormatCompiler = buildPerlModule {
     pname = "Apache-LogFormat-Compiler";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.35.tar.gz;
-      sha256 = "06i70ydxk2wa2rcqn16842kra2qz3jwk0vk1abq8lah4180c0m0n";
+      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz;
+      sha256 = "05xcl7j65vakx7x79jqjikyw0nzf60bc2w6hhc0q5sklxq1ral4l";
     };
     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
@@ -445,7 +445,7 @@ let
     meta = {
       description = "A container for functions of the ClusterSSH programs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      homepage = "http://github.com/duncs/clusterssh/wiki";
+      homepage = "https://github.com/duncs/clusterssh/wiki";
     };
   };
 
@@ -507,10 +507,10 @@ let
 
   Appperlbrew = buildPerlModule {
     pname = "App-perlbrew";
-    version = "0.86";
+    version = "0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.86.tar.gz;
-      sha256 = "11qh94am7fghizmjaf5c7w868svjbv9g4ffirykj8qa6q40zdspp";
+      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.87.tar.gz;
+      sha256 = "0zcczp1dq116ym05yhjpmzv5qmkwfd9lzcwiy51i8ii13qq5hja7";
     };
     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl locallib ];
@@ -1175,6 +1175,21 @@ let
     };
   };
 
+  CacheKyotoTycoon = buildPerlModule {
+    pname = "Cache-KyotoTycoon";
+    version = "0.16";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
+      sha256 = "0z4lnc3jfqx8rykm998q2jy5wkhb8p5pir80g9lqpi4lb0ilic6c";
+    };
+    propagatedBuildInputs = [ Furl URI ];
+    buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
+    meta = {
+      description = "KyotoTycoon client library";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CacheMemcached = buildPerlPackage {
     pname = "Cache-Memcached";
     version = "1.30";
@@ -1504,7 +1519,7 @@ let
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
     meta = {
-      homepage = http://dev.catalyst.perl.org/;
+      homepage = http://wiki.catalystframework.org/wiki/;
       description = "Catalyst Development Tools";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1562,7 +1577,7 @@ let
     buildInputs = [ TestFatal TypeTiny ];
     propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT DataDump HTTPBody ModulePluggable MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass PerlIOutf8_strict PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix TaskWeaken TextSimpleTable TreeSimpleVisitorFactory URIws ];
     meta = {
-      homepage = http://dev.catalyst.perl.org/;
+      homepage = http://wiki.catalystframework.org/wiki/;
       description = "The Catalyst Framework Runtime";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1948,6 +1963,20 @@ let
     };
   };
 
+  CDB_File = buildPerlPackage {
+    pname = "CDB_File";
+    version = "0.99";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-0.99.tar.gz";
+      sha256 = "1c32b30131871e8a7b23f47d8f65d9cdeb87069fa4c221781a03416496f91f16";
+    };
+    meta = {
+      homepage = "https://github.com/toddr/CDB_File";
+      description = "Perl extension for access to cdb databases";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Catmandu = buildPerlModule {
     pname = "Catmandu";
     version = "1.2002";
@@ -2449,7 +2478,7 @@ let
     };
     buildInputs = [ TestFatal TestNeeds ];
     meta = {
-      homepage = https://github.com/sartak/Class-Method-Modifiers/tree;
+      homepage = "https://github.com/moose/Class-Method-Modifiers";
       description = "Provides Moose-like method modifiers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -2740,10 +2769,10 @@ let
 
   CompressRawBzip2 = buildPerlPackage {
     pname = "Compress-Raw-Bzip2";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.087.tar.gz;
-      sha256 = "1yqcy26dlcgy5gkl6rvvj60f83kgd99y8qylynibjx84vbyhvfvp";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.090.tar.gz;
+      sha256 = "0yi972il6i0ya65qar0767mm3sb2wbsrllsgx6296s5myh2838p6";
     };
 
     # Don't build a private copy of bzip2.
@@ -2759,11 +2788,11 @@ let
 
   CompressRawZlib = buildPerlPackage {
     pname = "Compress-Raw-Zlib";
-    version = "2.087";
+    version = "2.090";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.087.tar.gz;
-      sha256 = "13gfbfhaw1iiz2vmgpjggrcd704czqx3jk5alw765cw6wghwk0cc";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.090.tar.gz;
+      sha256 = "0ndgkv7z4zi3ffail9abp02x62dx1j3pnxn3rjw91py7pjd4kj7j";
     };
 
     preConfigure = ''
@@ -3020,10 +3049,10 @@ let
 
   Connector = buildPerlPackage {
     pname = "Connector";
-    version = "1.27";
+    version = "1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.27.tar.gz;
-      sha256 = "98ff4700fde2b7872d89566a3308d03c2899c88cb6317af901869513bdbfb603";
+      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.28.tar.gz;
+      sha256 = "0cd1575bab80e78294aa79809904f40d2f534d99b78e0161454f037625c6bf7d";
     };
     buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI ProcSafeExec TemplateToolkit YAML ];
     propagatedBuildInputs = [ LogLog4perl Moose ];
@@ -3205,10 +3234,10 @@ let
 
   CpanelJSONXS = buildPerlPackage {
     pname = "Cpanel-JSON-XS";
-    version = "4.14";
+    version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.14.tar.gz;
-      sha256 = "6e63bf65cd7e94f08fb8ae7ccd6f94fb3447852865882bba9aaa155c9eea5938";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.17.tar.gz;
+      sha256 = "fa80ae47caa9beee6db9b12df2c04482e98df1d62041a114ccd82b681a8706fb";
     };
     meta = {
       description = "CPanel fork of JSON::XS, fast and correct serializing";
@@ -3287,10 +3316,10 @@ let
 
   CPANPerlReleases = buildPerlPackage {
     pname = "CPAN-Perl-Releases";
-    version = "4.14";
+    version = "4.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.14.tar.gz;
-      sha256 = "0ki6bc0wdc047nyx2j4byk8nsrnm18vn0nr1s1x9wh3xi0wasn7r";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.22.tar.gz;
+      sha256 = "1gwa1jzcv08fjg282jxakh24zni6ajgwhgraz6hjxk1j2hiaykjd";
     };
     meta = {
       homepage = https://github.com/bingos/cpan-perl-releases;
@@ -3391,6 +3420,19 @@ let
     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
   };
 
+  CryptECB = buildPerlPackage {
+    pname = "Crypt-ECB";
+    version = "2.21";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AP/APPEL/Crypt-ECB-2.21.tar.gz";
+      sha256 = "890f8b3040220ea705ee5ca4f9bd23435a1779bc3ffa75533736e6c9c21d1015";
+    };
+    meta = with stdenv.lib; {
+      description = "Use block ciphers using ECB mode";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CryptEksblowfish = buildPerlModule {
     pname = "Crypt-Eksblowfish";
     version = "0.009";
@@ -3601,6 +3643,23 @@ let
     buildInputs = [ CryptOpenSSLGuess ];
   };
 
+  CryptOpenSSLX509 = buildPerlPackage rec {
+    pname = "Crypt-OpenSSL-X509";
+    version = "1.813";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.813.tar.gz";
+      sha256 = "684bd888d2ed4c748f8f6dd8e87c14afa2974b12ee01faa082ad9cfa1e321e62";
+    };
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    meta = {
+      homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
+      description = "Perl extension to OpenSSL's X509 API";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   CryptPBKDF2 = buildPerlPackage {
     pname = "Crypt-PBKDF2";
     version = "0.161520";
@@ -3717,10 +3776,10 @@ let
 
   CryptX = buildPerlPackage {
     pname = "CryptX";
-    version = "0.064";
+    version = "0.066";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.064.tar.gz;
-      sha256 = "176ef4d2eac80731b360db04289431f0b96acc2568a1fec856abed4a51779a47";
+      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.066.tar.gz;
+      sha256 = "e7e823ac4db0b452e885b0e0d5adfc8a9c5f688938f1adf3f1d91432b3238335";
     };
     meta = {
       description = "Crypto toolkit";
@@ -3758,12 +3817,12 @@ let
 
   DataCompare = buildPerlPackage {
     pname = "Data-Compare";
-    version = "1.26";
+    version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.26.tar.gz;
-      sha256 = "03g0z2w8hz7750x6wkl6zq7shk12fry44gkzrz7b904s5fmphl4p";
+      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz;
+      sha256 = "1gg8rqbv3x6a1lrpabv6vnlab53zxmpwz2ygad9fcx4gygqj12l1";
     };
-    propagatedBuildInputs = [ FileFindRule ];
+    propagatedBuildInputs = [ Clone FileFindRule ];
   };
 
   DataDump = buildPerlPackage {
@@ -4303,10 +4362,10 @@ let
 
   DateTimeCalendarJulian = buildPerlPackage {
     pname = "DateTime-Calendar-Julian";
-    version = "0.101";
+    version = "0.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.101.tar.gz;
-      sha256 = "1q7zflwv44yybyz5nd01bc69zw5m540qg4fnh4xlj2icbm3sf7br";
+      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz;
+      sha256 = "0j95dhma66spjyb04zi6rwy7l33hibnrx02mn0znd9m89aiq52s6";
     };
     meta = {
       description = "Dates in the Julian calendar";
@@ -4556,10 +4615,10 @@ let
 
   DateTimeTimeZone = buildPerlPackage {
     pname = "DateTime-TimeZone";
-    version = "2.37";
+    version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.37.tar.gz;
-      sha256 = "6c12dfa6ad190191d437a7661c644fc38aaf109001e1d958c95dbb0aa143c421";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz;
+      sha256 = "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
@@ -4644,12 +4703,12 @@ let
 
   DevelChecklib = buildPerlPackage {
     pname = "Devel-CheckLib";
-    version = "1.13";
+    version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.13.tar.gz;
-      sha256 = "1a19qkwxwz3wqb16cdabymfbf9kiydiifw90nd5srpq5hy8gvb94";
+      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz;
+      sha256 = "15621qh5gaan1sgmk9y9svl70nm8viw17x5h1kf0zknkk8lmw77j";
     };
-    buildInputs = [ IOCaptureOutput MockConfig ];
+    buildInputs = [ CaptureTiny MockConfig ];
   };
 
   DevelCheckOS = buildPerlPackage {
@@ -4662,12 +4721,26 @@ let
     propagatedBuildInputs = [ DataCompare ];
   };
 
+  DevelLeak = buildPerlPackage rec {
+    pname = "Devel-Leak";
+    version = "0.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NI/NI-S/Devel-Leak-${version}.tar.gz";
+      sha256 = "0lkj2xwc3lhxv7scl43r8kfmls4am0b98sqf5vmf7d72257w6hkg";
+    };
+    meta = {
+      homepage = "https://metacpan.org/release/Devel-Leak";
+      description = "Utility for looking for perl objects that are not reclaimed";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; # According to Debian
+    };
+  };
+
   DevelPatchPerl = buildPerlPackage {
     pname = "Devel-PatchPerl";
-    version = "1.64";
+    version = "1.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.64.tar.gz;
-      sha256 = "16fl04m0b9jccq30h7myaj6hsv4ivx53i3q5klq0d0q6w0k5sb4v";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.80.tar.gz;
+      sha256 = "0nffiyfa1dx1ypg2chckpzh7syx47z10rxg6fjf4sb5d1gryxmmf";
     };
     propagatedBuildInputs = [ Filepushd ModulePluggable ];
     meta = {
@@ -4693,10 +4766,10 @@ let
 
   DevelPPPort = buildPerlPackage {
     pname = "Devel-PPPort";
-    version = "3.54";
+    version = "3.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.54.tar.gz;
-      sha256 = "f30fbbef7bdd6fb12348caf39e795c19c1639b8156e2e2f2927205140e35b0a9";
+      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.55.tar.gz;
+      sha256 = "bac0421ed1ba02f118f2bc1b1a760616847a0c60cb0184651f3f076f46d0946e";
     };
     meta = {
       description = "Perl/Pollution/Portability";
@@ -4752,10 +4825,10 @@ let
 
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
-    version = "1.49";
+    version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.49.tar.gz;
-      sha256 = "3c88bd9322d3d1a215b0c8dad8b27f06885a063f8f47fb8747f6e86f8b9d7116";
+      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.52.tar.gz;
+      sha256 = "c33ac1118ff4e6a542e62e0fc56d9c0d4abecc442c7acb59c0975fc376812442";
     };
     propagatedBuildInputs = [ DBI ];
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -4936,7 +5009,7 @@ let
       EOF
     '';
     meta = {
-      homepage = http://dbi.perl.org/;
+      homepage = https://dbi.perl.org/;
       description = "Database independent interface for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4967,9 +5040,9 @@ let
       sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
+    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
     meta = {
-      homepage = http://www.dbix-class.org/;
+      homepage = https://metacpan.org/pod/DBIx::Class;
       description = "Extensible and flexible object <-> relational mapper";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5035,10 +5108,10 @@ let
 
   DBIxClassHelpers = buildPerlPackage {
     pname = "DBIx-Class-Helpers";
-    version = "2.034000";
+    version = "2.034001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034000.tar.gz;
-      sha256 = "bf92b5495fddd50daa15126e015d5d210a44b6bb43baa8859b5adaa57cd96c59";
+      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034001.tar.gz;
+      sha256 = "5bdbe716a32eec30d12fd743169a8d99b7358eaef8b153224ca61aa543c283c9";
     };
     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
@@ -6211,6 +6284,20 @@ let
     };
   };
 
+  EnvSanctify = buildPerlPackage {
+    pname = "Env-Sanctify";
+    version = "1.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz;
+      sha256 = "0prj51c9w4k6nrpnpfw6an96953vna74g698kyk78m163ikbbqr0";
+    };
+    meta = {
+      description = "Lexically scoped sanctification of %ENV";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/bingos/env-sanctify";
+    };
+  };
+
   Error = buildPerlModule {
     pname = "Error";
     version = "0.17028";
@@ -6222,10 +6309,10 @@ let
 
   EV = buildPerlPackage {
     pname = "EV";
-    version = "4.27";
+    version = "4.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.27.tar.gz;
-      sha256 = "55750e5422d8cac7a2d0c89feeaca7d840ab2268f4c537655cdda0085e0d0cbc";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.29.tar.gz;
+      sha256 = "cbed1824ac9ef0740325140393216be55a6eb8f16a5996395fab243ee28da78e";
     };
     buildInputs = [ CanaryStability ];
     propagatedBuildInputs = [ commonsense ];
@@ -6304,7 +6391,7 @@ let
     buildInputs = [ FennecLite TestException ];
     propagatedBuildInputs = [ MetaBuilder aliased ];
     meta = {
-      homepage = http://open-exodus.net/projects/Exporter-Declare;
+      homepage = "https://metacpan.org/release/Exporter-Declare";
       description = "Exporting done right";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6345,7 +6432,7 @@ let
     meta = {
       description = "Compile and link C code for Perl modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      homepage = "http://search.cpan.org/dist/ExtUtils-CBuilder";
+      homepage = "https://metacpan.org/release/ExtUtils-CBuilder";
     };
   };
 
@@ -6649,7 +6736,7 @@ let
       sha256 = "dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab";
     };
     meta = {
-      homepage = http://open-exodus.net/projects/Fennec-Lite;
+      homepage = "https://metacpan.org/release/Fennec-Lite";
       description = "Minimalist Fennec, the commonly used bits";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7067,7 +7154,7 @@ let
     };
     propagatedBuildInputs = [ FileShareDir ];
     meta = {
-      homepage = https://github.com/ingydotnet/file-share-pm/tree;
+      homepage = "https://github.com/ingydotnet/file-share-pm";
       description = "Extend File::ShareDir to Local Libraries";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7261,7 +7348,7 @@ let
       sha256 = "b79dc2244b2d97b6f27167fc3b7799ef61a179040f3abd76ce1e0a3b0bc4e078";
     };
     meta = {
-      homepage = http://perl.wdlabs.com/File-Which;
+      homepage = "https://metacpan.org/release/File-Which";
       description = "Perl implementation of the which utility as an API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7309,6 +7396,19 @@ let
     buildInputs = [ TestPod ];
   };
 
+  FindLib = buildPerlPackage {
+    pname = "Find-Lib";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
+      sha256 = "0lg88v0sqfpq4d3jwvk6c9blqnpxbz8f4s22zr3b1qb160g94wqx";
+    };
+    meta = with stdenv.lib; {
+      description = "Helper to smartly find libs to use in the filesystem tree";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   FontAFM = buildPerlPackage {
     pname = "Font-AFM";
     version = "1.20";
@@ -7372,6 +7472,21 @@ let
     doCheck = false;
   };
 
+  Furl = buildPerlModule {
+    pname = "Furl";
+    version = "3.13";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
+      sha256 = "1wxa2v9yjzvnzp62p1jvcx8x61z5qvlvzyah853vvaywpjxwyyl8";
+    };
+    propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
+    buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
+    meta = {
+      description = "Lightning-fast URL fetcher";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   GamesSolitaireVerify = buildPerlModule {
     pname = "Games-Solitaire-Verify";
     version = "0.2202";
@@ -7676,6 +7791,7 @@ let
       sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b";
     };
     buildInputs = [ pkgs.gnupg1orig ];
+    doCheck = !stdenv.isAarch64;
   };
 
   GnuPGInterface = buildPerlPackage {
@@ -8460,12 +8576,28 @@ let
     };
   };
 
+  HTTPCookieJar = buildPerlPackage {
+    pname = "HTTP-CookieJar";
+    version = "0.008";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.008.tar.gz;
+      sha256 = "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm";
+    };
+    propagatedBuildInputs = [ HTTPDate ];
+    buildInputs = [ TestDeep TestRequires URI ];
+    meta = {
+      description = "A minimalist HTTP user agent cookie jar";
+      license = with stdenv.lib.licenses; [ asl20 ];
+      homepage = "https://github.com/dagolden/HTTP-CookieJar";
+    };
+  };
+
   HTTPCookies = buildPerlPackage {
     pname = "HTTP-Cookies";
-    version = "6.04";
+    version = "6.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz;
-      sha256 = "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.07.tar.gz;
+      sha256 = "0apa7smnlzanh1gdrm7id42iv64vy5skj53ank2rsk07avg8qbva";
     };
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
@@ -8490,23 +8622,24 @@ let
 
   HTTPDate = buildPerlPackage {
     pname = "HTTP-Date";
-    version = "6.02";
+    version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz;
-      sha256 = "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz;
+      sha256 = "0awjdbz7x0jd5pna55dwxhs3k6xp3sw6b2zg3p2yndxxvya64p9n";
     };
     meta = {
       description = "Date conversion routines";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ TimeDate TimeLocal ];
   };
 
   HTTPEntityParser = buildPerlModule {
      pname = "HTTP-Entity-Parser";
-     version = "0.21";
+     version = "0.22";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.21.tar.gz;
-       sha256 = "1n7qhyscllialds5jsk1k8x2vmfbjvisa3342as5x15hpm13wkf1";
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.22.tar.gz;
+       sha256 = "1j6nxs0nmx160ip0xw9gb3l19ii8pz9x1ay1y15q7rmllbr1rzlk";
      };
      propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
      buildInputs = [ HTTPMessage ModuleBuildTiny ];
@@ -8761,10 +8894,10 @@ let
 
   ImageInfo = buildPerlPackage {
     pname = "Image-Info";
-    version = "1.41";
+    version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.41.tar.gz;
-      sha256 = "c546d27414686660dbc3cd8501537128c5285a8db0faf742c2dc12b9a29ba3db";
+      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz;
+      sha256 = "2bca560c3f71b3c1cd63ac3a974e62f3baeb986b7ffaa026b929081b914a8f4f";
     };
     propagatedBuildInputs = [ IOStringy ];
     meta = {
@@ -8775,10 +8908,10 @@ let
 
   ImageSane = buildPerlPackage {
     pname = "Image-Sane";
-    version = "4";
+    version = "5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-4.tar.gz;
-      sha256 = "f970a0314e554f6fe29dcc651aec5bd45b32d547801d304434ae80b4b806896b";
+      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz;
+      sha256 = "229aa0e9f049efa760f3c2f6e61d9d539af43d8f764b50a6e03064b4729a35ff";
     };
     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
     propagatedBuildInputs = [ ExceptionClass Readonly ];
@@ -8877,7 +9010,7 @@ let
       sha256 = "0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl";
     };
     meta = {
-      homepage = https://github.com/ingydotnet/io-all-pm/tree;
+      homepage = "https://github.com/ingydotnet/io-all-pm";
       description = "IO::All of it to Graham and Damian!";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8897,10 +9030,10 @@ let
 
   IOCaptureOutput = buildPerlPackage {
     pname = "IO-CaptureOutput";
-    version = "1.1104";
+    version = "1.1105";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1104.tar.gz;
-      sha256 = "fcc732fcb438f97a72b30e8c7796484bef2562e374553b207028e2fbf73f8330";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz;
+      sha256 = "ae99009fca1273800f169ecb82f4ed1cc6c76795f156bee5c0093005d572f487";
     };
     meta = {
       homepage = https://github.com/dagolden/IO-CaptureOutput;
@@ -8911,10 +9044,10 @@ let
 
   IOCompress = buildPerlPackage {
     pname = "IO-Compress";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.087.tar.gz;
-      sha256 = "94f792775d0496fffe862363c76637e74ff5b46c40cf47042547686d164e23cb";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.090.tar.gz;
+      sha256 = "4c12e54a83f993372d43dd67389a1ca92b5c33c108c7f86768a4797cd994e987";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -9448,10 +9581,10 @@ let
 
   JSONValidator = buildPerlPackage {
     pname = "JSON-Validator";
-    version = "3.15";
+    version = "3.16";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.15.tar.gz";
-      sha256 = "ce14ed018b9843ef022c4c14e2171545d3da92e533c8f122b8e33f27444b2a6c";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.16.tar.gz;
+      sha256 = "d20775cf5fb1a61a6054a5bd3ce45b5371ac8ed483efca3cb8dc8a09937efe4e";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ];
@@ -9940,10 +10073,10 @@ let
 
   ListSomeUtils = buildPerlPackage {
     pname = "List-SomeUtils";
-    version = "0.56";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.56.tar.gz;
-      sha256 = "eaa7d99ce86380c0389876474c8eb84acc0a6bfeef1b0fc23a292592de6f89f7";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz;
+      sha256 = "96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d";
     };
     buildInputs = [ TestLeakTrace ];
     propagatedBuildInputs = [ ModuleImplementation ];
@@ -10201,10 +10334,10 @@ let
 
   LogDispatch = buildPerlPackage {
     pname = "Log-Dispatch";
-    version = "2.68";
+    version = "2.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.68.tar.gz;
-      sha256 = "1bxd3bhrn1h2q9f8r65z3101a32nl2kdb7l40bxg4vbsk4wk0ynh";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.69.tar.gz;
+      sha256 = "0xsjb0j3dzs8ym8jbgi29kia4pz5vl8jzkmpxxrhhqjc1h54qqjq";
     };
     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
     meta = {
@@ -10214,6 +10347,21 @@ let
     buildInputs = [ IPCRun3 TestFatal TestNeeds ];
   };
 
+  LogDispatchFileRotate = buildPerlPackage {
+    pname = "Log-Dispatch-FileRotate";
+    version = "1.36";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
+      sha256 = "0vlmi17p7fky3x58rs7r5mdxi6l5jla8zhlb55kvssxc1w5v2b27";
+    };
+    propagatedBuildInputs = [ DateManip LogDispatch ];
+    meta = {
+      description = "Log to Files that Archive/Rotate Themselves";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+    buildInputs = [ PathTiny TestWarn ];
+  };
+
   LogHandler = buildPerlModule {
     pname = "Log-Handler";
     version = "0.88";
@@ -10324,6 +10472,24 @@ let
     };
   };
 
+  LogJournald = buildPerlModule rec {
+    pname = "Log-Journald";
+    version = "0.30";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-${version}.tar.gz";
+      sha256 = "55992cf9a1e1fb833f428300525bfa7cf7ed46b83ec414f82a091789b37d08a3";
+    };
+    buildInputs = [ pkgs.pkgconfig pkgs.systemd ];
+    postPatch = ''
+      substituteInPlace Build.PL \
+        --replace "libsystemd-journal" "libsystemd"
+    '';
+    meta = {
+      description = "Send messages to a systemd journal";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LogLogLite = buildPerlPackage {
     pname = "Log-LogLite";
     version = "0.82";
@@ -10340,10 +10506,10 @@ let
 
   LWP = buildPerlPackage {
     pname = "libwww-perl";
-    version = "6.39";
+    version = "6.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.39.tar.gz;
-      sha256 = "9a8d7747938aa75d7d524c71574ae7f99ca66a5dac8255a7f7759f373e7774d5";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.42.tar.gz;
+      sha256 = "34253337a3404c4209d0e45377c9176d0ab6ea4b4570e3a597e26157181741d1";
     };
     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
@@ -10432,6 +10598,22 @@ let
      };
   };
 
+  LWPUserAgentDNSHosts = buildPerlModule {
+    pname = "LWP-UserAgent-DNS-Hosts";
+    version = "0.13";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.13.tar.gz;
+      sha256 = "0piwcsb0m1xpzxbakhr9zq45a9hq3rx7s55lrjg66nd4x5n7xs5y";
+    };
+    propagatedBuildInputs = [ LWP ScopeGuard ];
+    buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
+    };
+  };
+
   LWPUserAgentDetermined = buildPerlPackage {
     pname = "LWP-UserAgent-Determined";
     version = "1.07";
@@ -10557,10 +10739,10 @@ let
 
   MailDKIM = buildPerlPackage {
     pname = "Mail-DKIM";
-    version = "0.57";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.57.tar.gz;
-      sha256 = "0fmfhwn4sh98w62rc8j584l23vlhr7vii8glm2njx14f81a56lvb";
+      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.58.tar.gz;
+      sha256 = "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa";
     };
     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNSResolverMock YAMLLibYAML ];
     doCheck = false; # tries to access the domain name system
@@ -11112,10 +11294,10 @@ let
 
   MIMELite = buildPerlPackage {
     pname = "MIME-Lite";
-    version = "3.030";
+    version = "3.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.030.tar.gz;
-      sha256 = "8f39901bc580bc3dce69e10415305e4435ff90264c63d29f707b4566460be962";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz;
+      sha256 = "f1235866482b67f00858b3edaa4ff4cf909ef900f1d15d889948bf9c03a591e0";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
@@ -11636,10 +11818,10 @@ let
 
   Mojolicious = buildPerlPackage {
     pname = "Mojolicious";
-    version = "8.25";
+    version = "8.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.25.tar.gz;
-      sha256 = "0yr5vpgwg9x435npzc6v477y260dgbj2yl9lxdjimmr6n5jryv1n";
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.26.tar.gz;
+      sha256 = "17x3phc4ch85398kdybsz6cbraszby9dvlvcj6a6xscb20x35k4i";
     };
     meta = {
       homepage = https://mojolicious.org;
@@ -11667,10 +11849,10 @@ let
 
   MojoliciousPluginOpenAPI = buildPerlPackage {
     pname = "Mojolicious-Plugin-OpenAPI";
-    version = "2.17";
+    version = "2.18";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.17.tar.gz";
-      sha256 = "c20f8b07fb8582fdbf0b540f4cfc5fe95f262743522a160526024342a7f0a1f0";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.18.tar.gz;
+      sha256 = "340afe815e6195bc0ed5abcf5bcd0fdedf0be62656cede1768cfd99b62633d23";
     };
     propagatedBuildInputs = [ JSONValidator ];
     meta = {
@@ -11697,12 +11879,28 @@ let
     };
   };
 
+  MojoRedis = buildPerlPackage {
+    pname = "Mojo-Redis";
+    version = "3.24";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-Redis-3.24.tar.gz";
+      sha256 = "ca9ca1026bf7d658f23860d54cbc79605e4e5a8b1cc8e7b053b36a218cef566b";
+    };
+    propagatedBuildInputs = [ Mojolicious ProtocolRedisFaster ];
+    meta = {
+      homepage = "https://github.com/jhthorsen/mojo-redis";
+      description = "Redis driver based on Mojo::IOLoop";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   MojoSQLite = buildPerlModule {
     pname = "Mojo-SQLite";
-    version = "3.003";
+    version = "3.002";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz";
-      sha256 = "d96c00dcf45e2becc8e8181df074853d42616f2a660703455d0e0a2741478092";
+      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.002.tar.gz;
+      sha256 = "d7c6588599cfe30b24b3953927f23cfe0f9f5d3e77eeab1562249b48c205b699";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ];
@@ -11793,13 +11991,13 @@ let
 
   Moo = buildPerlPackage {
     pname = "Moo";
-    version = "2.003004";
+    version = "2.003006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003004.tar.gz;
-      sha256 = "f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003006.tar.gz;
+      sha256 = "bcb2092ab18a45005b5e2e84465ebf3a4999d8e82a43a09f5a94d859ae7f2472";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny SubQuote ];
+    propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
     meta = {
       description = "Minimalist Object Orientation (with Moose compatibility)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12045,10 +12243,10 @@ let
 
   MooXlate = buildPerlPackage {
     pname = "MooX-late";
-    version = "0.015";
+    version = "0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.015.tar.gz;
-      sha256 = "175326af3076fa8698669f289fad1322724978cddaf40ea04e600fcd7f6afbbf";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz;
+      sha256 = "1fb6393e8b77c0ec1e99229bc6f5b9db362eedc172fa940b37defd9bb3415e4e";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ Moo TypeTiny ];
@@ -12085,6 +12283,21 @@ let
     };
   };
 
+  TestValgrind = buildPerlPackage {
+    pname = "Test-Valgrind";
+    version = "1.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz;
+      sha256 = "06w1c0ddmmdkhhvv9pxq2nv5i40nbqf4cssfkq38yypfbyhsff0q";
+    };
+    propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
+    meta = {
+      description = "Generate suppressions, analyse and test any command with valgrind.";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "http://search.cpan.org/dist/Test-Valgrind/";
+    };
+  };
+
   MouseXTypesPathClass = buildPerlPackage {
     pname = "MouseX-Types-Path-Class";
     version = "0.07";
@@ -12288,7 +12501,7 @@ let
     buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
     meta = {
-      homepage = https://github.com/karenetheridge/moosex-lazyrequire;
+      homepage = "https://github.com/moose/MooseX-LazyRequire";
       description = "Required attributes which fail only when trying to use them";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12389,7 +12602,7 @@ let
     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/sartak/MooseX-Role-Parameterized/tree;
+      homepage = "https://github.com/moose/MooseX-Role-Parameterized";
       description = "Roles with composition parameters";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12766,6 +12979,22 @@ let
     };
   };
 
+  MySQLDiff = buildPerlPackage rec {
+    pname = "MySQL-Diff";
+    version = "0.60";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
+      sha256 = "5d7080a4bd5714ff9ef536aa774a7adb3c6f0e760215ca6c39d8a3545344f956";
+    };
+    propagatedBuildInputs = [ pkgs.mysql-client FileSlurp StringShellQuote ];
+    meta = {
+      homepage = "https://github.com/estrabd/mysqldiff";
+      description = "Generates a database upgrade instruction set";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   namespaceautoclean = buildPerlPackage {
     pname = "namespace-autoclean";
     version = "0.29";
@@ -13550,8 +13779,8 @@ let
       sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj";
     };
 
-    # FIXME: try with libGL + libGLU instead of libGLU_combined
-    buildInputs = [ pkgs.libGLU_combined pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
+    # FIXME: try with libGL + libGLU instead of libGLU libGL
+    buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
 
     patches = [ ../development/perl-modules/perl-opengl.patch ];
 
@@ -13893,10 +14122,10 @@ let
 
   ParsePMFile = buildPerlPackage {
      pname = "Parse-PMFile";
-     version = "0.41";
+     version = "0.42";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.41.tar.gz;
-       sha256 = "1ffv9msp4xjfaylay2zfqangxhgyr5xk993k5n1k08hh6qagq8df";
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.42.tar.gz;
+       sha256 = "0v3k5jslbl29735hs32x9si546v55cyy6sb58aib8vmq684wgxp7";
      };
      buildInputs = [ ExtUtilsMakeMakerCPANfile ];
      meta = {
@@ -14093,6 +14322,17 @@ let
     };
   };
 
+  PerlDestructLevel = buildPerlPackage {
+    pname = "Perl-Destruct-Level";
+    version = "0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz;
+      sha256 = "0fyiysrq874ncscgdjg522fs29gvqads6ynyhwxwwq1b545srd20";
+    };
+    meta = {
+    };
+  };
+
   PerlIOeol = buildPerlPackage {
     pname = "PerlIO-eol";
     version = "0.17";
@@ -14545,10 +14785,10 @@ let
 
   ProcBackground = buildPerlPackage {
     pname = "Proc-Background";
-    version = "1.10";
+    version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BZ/BZAJAC/Proc-Background-1.10.tar.gz;
-      sha256 = "1ce0dd78c0bb8393a2431b385a27b99fcc623a41ebec57b3cc09cc38cdb708ee";
+      url = mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz;
+      sha256 = "91b6a5aeb841b1c313498c78fad08e37d17595702dc6205b5ad38ef69949b7ee";
     };
     meta = {
     };
@@ -14626,6 +14866,37 @@ let
     propagatedBuildInputs = [ IPCSignal ];
   };
 
+  ProtocolRedis = buildPerlPackage {
+    pname = "Protocol-Redis";
+    version = "1.0010";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0010.tar.gz";
+      sha256 = "e787236e46b1f0738a98113ea0dfbee4c695723bb37dce8d6936fd9a519e5343";
+    };
+    meta = {
+      homepage = "https://github.com/und3f/protocol-redis";
+      description = "Redis protocol parser/encoder with asynchronous capabilities";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
+  ProtocolRedisFaster = buildPerlPackage {
+    pname = "Protocol-Redis-Faster";
+    version = "0.003";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-0.003.tar.gz";
+      sha256 = "6b9afb3de94ec1ccd7db4f9e6a2eaba254a57790301c17bcb13bb3edfe1850b7";
+    };
+    propagatedBuildInputs = [ ProtocolRedis ];
+    meta = {
+      homepage = "https://github.com/Grinnz/Protocol-Redis-Faster";
+      description = "Optimized pure-perl Redis protocol parser/encoder";
+      license = stdenv.lib.licenses.artistic2;
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   ProtocolWebSocket = buildPerlModule {
     pname = "Protocol-WebSocket";
     version = "0.26";
@@ -14638,11 +14909,11 @@ let
 
   ProtocolHTTP2 = buildPerlModule {
     pname = "Protocol-HTTP2";
-    version = "1.09";
+    version = "1.10";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.09.tar.gz;
-      sha256 = "1bc0ybkqhv81dscgzlbr62w4zqjsidcikmkbjanzn83g2b6ia9nc";
+      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz;
+      sha256 = "0jm6jq1wszjrrcypyi642m2i8wgni50wdnzh9dzfkyjazdc00sn2";
     };
     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
   };
@@ -14971,10 +15242,10 @@ let
 
   PodSimple = buildPerlPackage {
     pname = "Pod-Simple";
-    version = "3.39";
+    version = "3.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.39.tar.gz;
-      sha256 = "0qh43griaz3i21ca745irrnjbksv5q07h4wdjv28nqpcc55pva8m";
+      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.40.tar.gz;
+      sha256 = "0384k8k18srsdj2a2j10gbvv19lnvynq359y9kb4zn5bv2wqqfh6";
     };
   };
 
@@ -15245,7 +15516,7 @@ let
     };
     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
     meta = {
-      homepage = http://jaldhar.github.com/REST-Utils;
+      homepage = https://jaldhar.github.io/REST-Utils/;
       description = "Utility functions for REST applications";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15314,10 +15585,10 @@ let
 
   RoleTiny = buildPerlPackage {
     pname = "Role-Tiny";
-    version = "2.001003";
+    version = "2.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001003.tar.gz;
-      sha256 = "6cef8d6371342a94a6a04c1be5bd7a3f2bd6ea36f1a21b4649b08d5b88b28eeb";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz;
+      sha256 = "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687";
     };
     meta = {
       description = "Roles. Like a nouvelle cuisine portion size slice of Moose";
@@ -15380,10 +15651,10 @@ let
 
   ScalarListUtils = buildPerlPackage {
     pname = "Scalar-List-Utils";
-    version = "1.52";
+    version = "1.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz;
-      sha256 = "279d78cef84acae280da4dfb95eff0c9865d1611b1a3b026baddf42d1ba01de4";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.53.tar.gz;
+      sha256 = "bd4086b066fb3b18a0be2e7d9bc100a99aa0f233ad659492340415c7b2bdae99";
     };
     meta = {
       description = "Common Scalar and List utility subroutines";
@@ -15454,6 +15725,28 @@ let
     };
   };
 
+  SearchXapian = buildPerlPackage rec {
+    pname = "Search-Xapian";
+    version = "1.2.25.2";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-${version}.tar.gz";
+      sha256 = "0hpa8gi38j0ibq8af6dy69lm1bl5jnq76nsa69dbrzbr88l5m594";
+    };
+    patches = [
+      (fetchpatch {
+        url = "https://git.xapian.org/?p=xapian;a=patch;h=69ad652b7ad7912801e686db2da55d73f79fbf75";
+        name = "fix-automated-testing-false-negative";
+        sha256 = "1241mpyf8mgx7szyl5sxa6wl388rzph3q51mn9v4yjbm0k5l0sxr";
+        stripLen = 1;
+      })
+    ];
+    buildInputs = [ pkgs.xapian ExtUtilsMakeMaker DevelLeak ];
+    meta = {
+      description = "Perl XS frontend to the Xapian C++ search library";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   SerealDecoder = buildPerlPackage {
     pname = "Sereal-Decoder";
     version = "4.007";
@@ -16051,10 +16344,10 @@ let
 
   StringCRC32 = buildPerlPackage {
     pname = "String-CRC32";
-    version = "1.7";
+    version = "1.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.7.tar.gz;
-      sha256 = "1j1bwbxcgxfbgw708rfrni3spwnnmnf717vq9s64nd63jmc4w5lg";
+      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.8.tar.gz;
+      sha256 = "0vvwlf50vylx1m7nrjphkz309nsl2k2yqyldn3942337kiipjnmn";
     };
   };
 
@@ -16159,6 +16452,7 @@ let
       url = mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz;
       sha256 = "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6";
     };
+    doCheck = !stdenv.isDarwin;
     meta = {
       # http://cpansearch.perl.org/src/ROSCH/String-ShellQuote-1.04/README
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -16520,6 +16814,18 @@ let
       url = mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz;
       sha256 = "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5";
     };
+    patches = [
+      # Bug #95400 for Sys-CPU: Tests fail on ARM and AArch64 Linux
+      # https://rt.cpan.org/Public/Bug/Display.html?id=95400
+      (fetchpatch {
+        url = "https://rt.cpan.org/Ticket/Attachment/1359669/721669/0001-Add-support-for-cpu_type-on-ARM-and-AArch64-Linux-pl.patch";
+        sha256 = "0rmazzdy34znksdhh8drc83lk754slhjgvnk4kk27z3kw5gm10m0";
+      })
+      (fetchpatch {
+        url = "https://rt.cpan.org/Ticket/Attachment/1388036/737125/0002-cpu_clock-can-be-undefined-on-an-ARM.patch";
+        sha256 = "0z3wqfahc9av7y34aqp6biq3sf8v8q4yynx7bv290vds50dsjb4w";
+      })
+    ];
     buildInputs = stdenv.lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Carbon;
     doCheck = !stdenv.isAarch64;
   };
@@ -16550,10 +16856,10 @@ let
 
   SysSyslog = buildPerlPackage {
     pname = "Sys-Syslog";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.35.tar.gz;
-      sha256 = "fe28e47b70b77aaae754385fe1470d174289e7b6908efa247d2e52486516fbb7";
+      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz;
+      sha256 = "ed42a9e5ba04ad4856cc0cb5d38d289c3c5d3764543ec04efafc4af7e3378df8";
     };
     meta = {
       description = "Perl interface to the UNIX syslog(3) calls";
@@ -16968,10 +17274,10 @@ let
 
   TermTable = buildPerlPackage {
     pname = "Term-Table";
-    version = "0.014";
+    version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.014.tar.gz;
-      sha256 = "167a0669e2ef8c6386ea4dd213495e445049493ce1d5097d5632c0e928b7426d";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz;
+      sha256 = "d8a18b2801f91f0e5d747147ce786964a76f91d18568652908a3dc06a9b948d5";
     };
     propagatedBuildInputs = [ Importer ];
     meta = {
@@ -17045,10 +17351,10 @@ let
 
   Test2Suite = buildPerlPackage {
     pname = "Test2-Suite";
-    version = "0.000126";
+    version = "0.000127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000126.tar.gz;
-      sha256 = "370db8171c9105480872ae8948745dbd798b9d751aacc8aa0fc36266eeda79e3";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000127.tar.gz;
+      sha256 = "09443e7c99f9bef2c3f5999b919800db7d265b2c55f177726d3e5a61d8dbe690";
     };
     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
     meta = {
@@ -17226,10 +17532,10 @@ let
 
   TestCompile = buildPerlModule {
     pname = "Test-Compile";
-    version = "2.3.0";
+    version = "2.3.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.0.tar.gz;
-      sha256 = "f61549769e55a9b251f83617b901c0461659b1360243ef046d4f112f7f4e4a8f";
+      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz;
+      sha256 = "1174cff010011ae43e6462755ccd8a6cf0372ca506705c60586f7b1748ff4ddf";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
     meta = {
@@ -17370,6 +17676,22 @@ let
     };
   };
 
+  TestFakeHTTPD = buildPerlModule {
+    pname = "Test-Fake-HTTPD";
+    version = "0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.08.tar.gz;
+      sha256 = "1jkflkcjzrdvnlxff1xqfhfdcpsmvvjqzayl7hk3whavsxdrf9yh";
+    };
+    propagatedBuildInputs = [ HTTPDaemon Plack ];
+    buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "a fake HTTP server";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/Test-Fake-HTTPD";
+    };
+  };
+
   TestFatal = buildPerlPackage {
     pname = "Test-Fatal";
     version = "0.014";
@@ -17645,10 +17967,10 @@ let
 
   TestMockModule = buildPerlModule {
     pname = "Test-MockModule";
-    version = "0.170.0";
+    version = "0.171.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.170.0.tar.gz;
-      sha256 = "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz";
+      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.171.0.tar.gz;
+      sha256 = "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b";
     };
     propagatedBuildInputs = [ SUPER ];
     buildInputs = [ TestWarnings ];
@@ -18114,10 +18436,10 @@ let
 
   TestScript = buildPerlPackage {
     pname = "Test-Script";
-    version = "1.25";
+    version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.25.tar.gz;
-      sha256 = "199s78hh77zwwqba6pa1ngzjnzrdj2ka6qv5w0i286aafh93705n";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz;
+      sha256 = "1dvkb8dvidnycd6ws2h2iy262h37fjakflv6z90xrw72xix26hkd";
     };
 
     buildInputs = [ Test2Suite ];
@@ -18142,10 +18464,10 @@ let
 
   TestSimple13 = buildPerlPackage {
     pname = "Test-Simple";
-    version = "1.302168";
+    version = "1.302169";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302168.tar.gz;
-      sha256 = "02f6132b2062abb23474b0fc02e70a0fbbf7bf581a6010e64c08891530447ffa";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302169.tar.gz;
+      sha256 = "411704776f0f787b1c2e4fb0e612162650a80b0dc0a719d84abc1070025ac723";
     };
     meta = {
       description = "Basic utilities for writing tests";
@@ -18235,10 +18557,10 @@ let
 
   TestTime = buildPerlPackage {
     pname = "Test-Time";
-    version = "0.05";
+    version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.05.tar.gz;
-      sha256 = "abef8885a811440114bfe067edc32f08500fbfd624902f8c3a81fc224ac4b410";
+      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz;
+      sha256 = "b8bc3b074bb2247e8588399c1e55d071f049cf6ce1c8b4192c38cf3c24559548";
     };
     meta = {
       description = "Overrides the time() and sleep() core functions for testing";
@@ -18564,7 +18886,7 @@ let
       sha256 = "bb8a3b8ff515c85101baf553a769337f944a05cde81f111ae78aff416bf4ae2b";
     };
     meta = {
-      homepage = https://www.shlomifish.org/open-source/projects/Text-Format/;
+      homepage = "https://metacpan.org/release/Text-Format";
       description = "Format text";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ bcdarwin ];
@@ -18943,7 +19265,7 @@ let
       sha256 = "ef371b1769cd8d36d2d657e8321723d94c8f8d89e7fd7437c6648c5dc6711b7a";
     };
     meta = {
-      homepage = https://github.com/2shortplanks/Test-utf8/tree;
+      homepage = "https://github.com/2shortplanks/Test-utf8";
       description = "Handy utf8 tests";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19300,6 +19622,41 @@ let
     };
   };
 
+  Tirex = buildPerlPackage rec {
+    pname = "Tirex";
+    version = "0.6.1";
+
+    src = fetchFromGitHub {
+      owner  = "openstreetmap";
+      repo   = "tirex";
+      rev    = "v${version}";
+      sha256 = "0dskf50qm6yh3rx6j2nqydr1if71x6ik85hxsa2r9qgldcby2rgh";
+    };
+
+    buildInputs = [
+      GD
+      IPCShareLite
+      JSON
+      LWP
+      pkgs.cairo
+      pkgs.mapnik
+      pkgs.zlib
+    ];
+
+    installPhase = ''
+      make install DESTDIR=$out INSTALLOPTS=""
+      mv $out/$out/lib $out/$out/share $out
+      rmdir $out/$out $out/nix/store $out/nix
+    '';
+
+    meta = {
+      description = "Tools for running a map tile server";
+      homepage = https://github.com/openstreetmap/tirex;
+      maintainers = with maintainers; [ jglukasik ];
+      license = with stdenv.lib.licenses; [ gpl2 ];
+    };
+  };
+
   Tk = buildPerlPackage {
     pname = "Tk";
     version = "804.034";
@@ -19399,16 +19756,17 @@ let
 
   TypeTiny = buildPerlPackage {
     pname = "Type-Tiny";
-    version = "1.004004";
+    version = "1.006000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.004004.tar.gz;
-      sha256 = "081281ea004cdd89003d938aa52c1398e24411dd8f7163b14d0977a13f7062be";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.006000.tar.gz;
+      sha256 = "d5a60013df0b4a108e5755cfea84a8e81b1eacd4a91f6f17a5515a864ed7fd00";
     };
     propagatedBuildInputs = [ ExporterTiny ];
     meta = {
       description = "Tiny, yet Moo(se)-compatible type constraint";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMemoryCycle ];
   };
 
   TypesSerialiser = buildPerlPackage {
@@ -19662,7 +20020,7 @@ let
     };
     propagatedBuildInputs = [ URI ];
     meta = {
-      homepage = http://perl.wdlabs.com/URI-ws/;
+      homepage = "https://metacpan.org/release/URI-ws";
       description = "WebSocket support for URI package";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19760,7 +20118,7 @@ let
     outputs = [ "out" ];
     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP NetIP TermReadKey ];
     meta = {
-      homepage = http://validator.w3.org/checklink;
+      homepage = https://validator.w3.org/checklink;
       description = "A tool to check links and anchors in Web pages or full Web sites";
       license = stdenv.lib.licenses.w3c;
     };
@@ -19801,15 +20159,15 @@ let
 
   WWWMechanize = buildPerlPackage {
     pname = "WWW-Mechanize";
-    version = "1.94";
+    version = "1.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.94.tar.gz;
-      sha256 = "00hh5iaxyfmfgh5irz23v5qpc40hff2v78jyi93assi7a4amfl68";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz;
+      sha256 = "1w121x0xsn1bm699ncanyxqv3njqam3zzjkq8p54bqmzpikn5crs";
     };
     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
     doCheck = false;
     meta = {
-      homepage = https://github.com/bestpractical/www-mechanize;
+      homepage = "https://github.com/libwww-perl/WWW-Mechanize";
       description = "Handy web browsing in a Perl object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20136,10 +20494,10 @@ let
 
   XMLParser = buildPerlPackage {
     pname = "XML-Parser";
-    version = "2.46";
+    version = "2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz;
-      sha256 = "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk";
+      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
+      sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
     patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
@@ -20379,7 +20737,7 @@ let
     buildInputs = [ TestBase TestDeep TestYAML ];
 
     meta = {
-      homepage = https://github.com/ingydotnet/yaml-pm/tree;
+      homepage = "https://github.com/ingydotnet/yaml-pm";
       description = "YAML Ain't Markup Language (tm)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index cdb1c19bce5..6adc4c837d5 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -14,12 +14,13 @@ let
     });
 
   isPhp73 = pkgs.lib.versionAtLeast php.version "7.3";
+  isPhp74 = pkgs.lib.versionAtLeast php.version "7.4";
 
   apcu = buildPecl {
-    version = "5.1.17";
+    version = "5.1.18";
     pname = "apcu";
 
-    sha256 = "14y7alvj5q17q1b544bxidavkn6i40cjbq2nv1m0k70ai5vv84bb";
+    sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl";
 
     buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
     doCheck = true;
@@ -39,10 +40,10 @@ let
   };
 
   ast = buildPecl {
-    version = "1.0.3";
+    version = "1.0.5";
     pname = "ast";
 
-    sha256 = "1sk9bkyw3ck9jgvlazxx8zl2nv6lc0gq66v1rfcby9v0zyydb7xr";
+    sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp";
   };
 
   box = mkDerivation rec {
@@ -73,12 +74,12 @@ let
   };
 
   composer = mkDerivation rec {
-    version = "1.9.0";
+    version = "1.9.1";
     pname = "composer";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "0x88bin1c749ajymz2cqjx8660a3wxvndpv4xr6w3pib16fzdpy9";
+      sha256 = "04a1fqxhxrckgxw9xbx7mplkzw808k2dz4jqsxq2dy7w6y80n88z";
     };
 
     dontUnpack = true;
@@ -140,6 +141,8 @@ let
              AC_MSG_WARN([Cannot find igbinary.h])
       '')
     ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   event = buildPecl {
@@ -196,14 +199,35 @@ let
     sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz";
   };
 
+  maxminddb = buildPecl rec {
+    pname = "maxminddb";
+    version = "1.5.0";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "maxmind";
+      repo = "MaxMind-DB-Reader-php";
+      rev = "v${version}";
+      sha256 = "1ilgpx36rgihjr8s4bvkbms5hl6xy7mymna3ym2bl4lb15vkr0sm";
+    };
+
+    buildInputs = [ pkgs.libmaxminddb ];
+    sourceRoot = "source/ext";
+
+    meta = with pkgs.lib; {
+      description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader";
+      license = with licenses; [ asl20 ];
+      maintainers = with maintainers; [ ajs124 das_j ];
+    };
+  };
+
   memcached = buildPecl rec {
-    version = "3.1.3";
+    version = "3.1.5";
     pname = "memcached";
 
     src = fetchgit {
       url = "https://github.com/php-memcached-dev/php-memcached";
       rev = "v${version}";
-      sha256 = "1w9g8k7bmq3nbzskskpsr5632gh9q75nqy7nkjdzgs17klq9khjk";
+      sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380";
     };
 
     configureFlags = [
@@ -217,9 +241,9 @@ let
 
   mongodb = buildPecl {
     pname = "mongodb";
-    version = "1.6.0";
+    version = "1.6.1";
 
-    sha256 = "0bybfjs61v66bynajbd8dwjlwbz6p2gck49r3zqbxa3ja6d671l6";
+    sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m";
 
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = with pkgs; [
@@ -259,6 +283,8 @@ let
     pname = "pcs";
 
     sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
+
+    meta.broken = isPhp74; # Build error
   };
 
   pdo_sqlsrv = buildPecl {
@@ -268,15 +294,17 @@ let
     sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   php-cs-fixer = mkDerivation rec {
-    version = "2.15.3";
+    version = "2.16.1";
     pname = "php-cs-fixer";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "0hbc9y3676dd0841llgp1g7bhklfxi1cw47dcww0qmk69gjfv54c";
+      sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68";
     };
 
     phases = [ "installPhase" ];
@@ -347,12 +375,12 @@ let
   };
 
   phpcbf = mkDerivation rec {
-    version = "3.5.1";
+    version = "3.5.3";
     pname = "phpcbf";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
-      sha256 = "1b68cmdvg356s2vk5q0jkk8sizza7r7pbcl9v5s0944wi0apsj0r";
+      sha256 = "1mrsf9p6p64pyqyylnlxb2b7cirdfccch83g7yhfnka3znffq86v";
     };
 
     phases = [ "installPhase" ];
@@ -374,12 +402,12 @@ let
   };
 
   phpcs = mkDerivation rec {
-    version = "3.5.1";
+    version = "3.5.3";
     pname = "phpcs";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
-      sha256 = "060jzgd99j16xjs0n75sgp79an6n7qp6zv5lrw6700jnw67zpmn7";
+      sha256 = "0y4nhsifj4pdmf5g1nnm4951yjgiqswyz7wmjxx6kqiqc7chlkml";
     };
 
     phases = [ "installPhase" ];
@@ -401,12 +429,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.19";
+    version = "0.12.3";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "0b04d2x07vipx1850v3d2hga3s6ssv7g21x58dhcjrg35i1bvq71";
+      sha256 = "08ya50qf75nq8ypyhb0vsqnj166kc27rc8iasxr3y7kssbfd95ai";
     };
 
     phases = [ "installPhase" ];
@@ -429,7 +457,7 @@ let
         actual line.
       '';
       license = licenses.mit;
-      homepage = https://github.com/phpstan/phpstan;
+      homepage = "https://github.com/phpstan/phpstan";
       maintainers = with maintainers; [ etu ];
     };
   };
@@ -479,10 +507,10 @@ let
   };
 
   protobuf = buildPecl {
-    version = "3.9.0";
+    version = "3.11.2";
     pname = "protobuf";
 
-    sha256 = "1pyfxrfdbzzg5al4byyazdrvy7yad13zwq7papbb2d8gkvc3f3kh";
+    sha256 = "0bhdykdyk58ywqj940zb7jyvrlgdr6hdb4s8kn79fz3p0i79l9hz";
 
     buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ];
 
@@ -496,12 +524,12 @@ let
   };
 
   psalm = mkDerivation rec {
-    version = "3.5.3";
+    version = "3.7.2";
     pname = "psalm";
 
     src = pkgs.fetchurl {
       url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-      sha256 = "1n5pfzln82wzk1qa40c436lhbin1g06lfdk89q720yzrrs07r8sw";
+      sha256 = "0mcxlckycvpxxc6h0x0kdidbq2l4m3xws1v3kdf797js234x0vjx";
     };
 
     phases = [ "installPhase" ];
@@ -522,12 +550,12 @@ let
   };
 
   psysh = mkDerivation rec {
-    version = "0.9.9";
+    version = "0.9.12";
     pname = "psysh";
 
     src = pkgs.fetchurl {
       url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
-      sha256 = "0knbib0afwq2z5fc639ns43x8pi3kmp85y13bkcl00dhvf46yinw";
+      sha256 = "0bzmc94li481xk81gv460ipq9zl03skbnq8m3rnw34i2c04hxczc";
     };
 
     phases = [ "installPhase" ];
@@ -579,10 +607,10 @@ let
   };
 
   redis = buildPecl {
-    version = "5.0.2";
+    version = "5.1.1";
     pname = "redis";
 
-    sha256 = "0b5pw17lzqknhijfymksvf8fm1zilppr97ypb31n599jw3mxf62f";
+    sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732";
   };
 
   sqlsrv = buildPecl {
@@ -592,6 +620,8 @@ let
     sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   v8 = buildPecl {
@@ -617,10 +647,10 @@ let
   };
 
   xdebug = buildPecl {
-    version = "2.7.1";
+    version = "2.8.1";
     pname = "xdebug";
 
-    sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
+    sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3";
 
     doCheck = true;
     checkTarget = "test";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 1c782e8f94b..34b38a5cacb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -18,7 +18,7 @@ let
   packages = ( self:
 
 let
-  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy3k isPyPy pythonAtLeast pythonOlder;
+  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
 
   callPackage = pkgs.newScope self;
 
@@ -100,7 +100,7 @@ let
 
 in {
 
-  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy3k isPyPy pythonAtLeast pythonOlder;
+  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
   inherit python bootstrapped-pip buildPythonPackage buildPythonApplication;
   inherit fetchPypi callPackage;
   inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
@@ -165,8 +165,12 @@ in {
 
   aioredis = callPackage ../development/python-modules/aioredis { };
 
+  aiorun = callPackage ../development/python-modules/aiorun { };
+
   ansicolor = callPackage ../development/python-modules/ansicolor { };
 
+  ansiwrap =  callPackage ../development/python-modules/ansiwrap { };
+
   ansi2html = callPackage ../development/python-modules/ansi2html { };
 
   anytree = callPackage ../development/python-modules/anytree {
@@ -177,10 +181,14 @@ in {
 
   apprise = callPackage ../development/python-modules/apprise { };
 
+  arrayqueues = callPackage ../development/python-modules/arrayqueues { };
+
   aresponses = callPackage ../development/python-modules/aresponses { };
 
   argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
 
+  arviz = callPackage ../development/python-modules/arviz { };
+
   asana = callPackage ../development/python-modules/asana { };
 
   asdf = callPackage ../development/python-modules/asdf { };
@@ -225,6 +233,7 @@ in {
   automat = callPackage ../development/python-modules/automat { };
 
   awkward = callPackage ../development/python-modules/awkward { };
+  awkward1 = callPackage ../development/python-modules/awkward1 { };
 
   aws-sam-translator = callPackage ../development/python-modules/aws-sam-translator { };
 
@@ -234,6 +243,8 @@ in {
 
   atomman = callPackage ../development/python-modules/atomman { };
 
+  authlib = callPackage ../development/python-modules/authlib { };
+
   # packages defined elsewhere
 
   amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { };
@@ -249,10 +260,6 @@ in {
 
   azure-nspkg = callPackage ../development/python-modules/azure-nspkg { };
 
-  azure-cli-core = callPackage ../development/python-modules/azure-cli-core { };
-
-  azure-cli-telemetry = callPackage ../development/python-modules/azure-cli-telemetry { };
-
   azure-common = callPackage ../development/python-modules/azure-common { };
 
   azure-cosmos = callPackage ../development/python-modules/azure-cosmos { };
@@ -269,6 +276,8 @@ in {
 
   azure-eventgrid = callPackage ../development/python-modules/azure-eventgrid { };
 
+  azure-functions-devops-build = callPackage ../development/python-modules/azure-functions-devops-build { };
+
   azure-graphrbac = callPackage ../development/python-modules/azure-graphrbac { };
 
   azure-keyvault = callPackage ../development/python-modules/azure-keyvault { };
@@ -299,6 +308,10 @@ in {
 
   azure-mgmt-advisor = callPackage ../development/python-modules/azure-mgmt-advisor { };
 
+  azure-mgmt-apimanagement = callPackage ../development/python-modules/azure-mgmt-apimanagement { };
+
+  azure-mgmt-appconfiguration = callPackage ../development/python-modules/azure-mgmt-appconfiguration { };
+
   azure-mgmt-applicationinsights = callPackage ../development/python-modules/azure-mgmt-applicationinsights { };
 
   azure-mgmt-authorization = callPackage ../development/python-modules/azure-mgmt-authorization { };
@@ -309,6 +322,8 @@ in {
 
   azure-mgmt-billing = callPackage ../development/python-modules/azure-mgmt-billing { };
 
+  azure-mgmt-botservice = callPackage ../development/python-modules/azure-mgmt-botservice { };
+
   azure-mgmt-cdn = callPackage ../development/python-modules/azure-mgmt-cdn { };
 
   azure-mgmt-cognitiveservices = callPackage ../development/python-modules/azure-mgmt-cognitiveservices { };
@@ -321,6 +336,8 @@ in {
 
   azure-mgmt-containerinstance = callPackage ../development/python-modules/azure-mgmt-containerinstance { };
 
+  azure-mgmt-containerregistry = callPackage ../development/python-modules/azure-mgmt-containerregistry { };
+
   azure-mgmt-containerservice = callPackage ../development/python-modules/azure-mgmt-containerservice { };
 
   azure-mgmt-cosmosdb = callPackage ../development/python-modules/azure-mgmt-cosmosdb { };
@@ -339,6 +356,8 @@ in {
 
   azure-mgmt-devtestlabs = callPackage ../development/python-modules/azure-mgmt-devtestlabs { };
 
+  azure-mgmt-deploymentmanager = callPackage ../development/python-modules/azure-mgmt-deploymentmanager { };
+
   azure-mgmt-dns = callPackage ../development/python-modules/azure-mgmt-dns { };
 
   azure-mgmt-eventgrid = callPackage ../development/python-modules/azure-mgmt-eventgrid { };
@@ -347,6 +366,10 @@ in {
 
   azure-mgmt-hanaonazure = callPackage ../development/python-modules/azure-mgmt-hanaonazure { };
 
+  azure-mgmt-hdinsight = callPackage ../development/python-modules/azure-mgmt-hdinsight { };
+
+  azure-mgmt-imagebuilder = callPackage ../development/python-modules/azure-mgmt-imagebuilder { };
+
   azure-mgmt-iotcentral = callPackage ../development/python-modules/azure-mgmt-iotcentral { };
 
   azure-mgmt-iothub = callPackage ../development/python-modules/azure-mgmt-iothub { };
@@ -355,12 +378,16 @@ in {
 
   azure-mgmt-keyvault = callPackage ../development/python-modules/azure-mgmt-keyvault { };
 
+  azure-mgmt-kusto = callPackage ../development/python-modules/azure-mgmt-kusto { };
+
   azure-mgmt-loganalytics = callPackage ../development/python-modules/azure-mgmt-loganalytics { };
 
   azure-mgmt-logic = callPackage ../development/python-modules/azure-mgmt-logic { };
 
   azure-mgmt-machinelearningcompute = callPackage ../development/python-modules/azure-mgmt-machinelearningcompute { };
 
+  azure-mgmt-managedservices = callPackage ../development/python-modules/azure-mgmt-managedservices { };
+
   azure-mgmt-managementgroups = callPackage ../development/python-modules/azure-mgmt-managementgroups { };
 
   azure-mgmt-managementpartner = callPackage ../development/python-modules/azure-mgmt-managementpartner { };
@@ -375,6 +402,8 @@ in {
 
   azure-mgmt-msi = callPackage ../development/python-modules/azure-mgmt-msi { };
 
+  azure-mgmt-netapp = callPackage ../development/python-modules/azure-mgmt-netapp { };
+
   azure-mgmt-network = callPackage ../development/python-modules/azure-mgmt-network { };
 
   azure-mgmt-notificationhubs = callPackage ../development/python-modules/azure-mgmt-notificationhubs { };
@@ -383,6 +412,8 @@ in {
 
   azure-mgmt-powerbiembedded = callPackage ../development/python-modules/azure-mgmt-powerbiembedded { };
 
+  azure-mgmt-privatedns = callPackage ../development/python-modules/azure-mgmt-privatedns { };
+
   azure-mgmt-rdbms = callPackage ../development/python-modules/azure-mgmt-rdbms { };
 
   azure-mgmt-recoveryservices = callPackage ../development/python-modules/azure-mgmt-recoveryservices { };
@@ -401,6 +432,8 @@ in {
 
   azure-mgmt-search = callPackage ../development/python-modules/azure-mgmt-search { };
 
+  azure-mgmt-security = callPackage ../development/python-modules/azure-mgmt-security { };
+
   azure-mgmt-servicebus = callPackage ../development/python-modules/azure-mgmt-servicebus { };
 
   azure-mgmt-servicefabric = callPackage ../development/python-modules/azure-mgmt-servicefabric { };
@@ -409,6 +442,8 @@ in {
 
   azure-mgmt-sql = callPackage ../development/python-modules/azure-mgmt-sql { };
 
+  azure-mgmt-sqlvirtualmachine = callPackage ../development/python-modules/azure-mgmt-sqlvirtualmachine { };
+
   azure-mgmt-storage = callPackage ../development/python-modules/azure-mgmt-storage { };
 
   azure-mgmt-subscription = callPackage ../development/python-modules/azure-mgmt-subscription { };
@@ -417,6 +452,8 @@ in {
 
   azure-mgmt-web = callPackage ../development/python-modules/azure-mgmt-web { };
 
+  azure-multiapi-storage = callPackage ../development/python-modules/azure-multiapi-storage { };
+
   backports_csv = callPackage ../development/python-modules/backports_csv {};
 
   backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which {};
@@ -459,7 +496,7 @@ in {
 
   bt_proximity = callPackage ../development/python-modules/bt-proximity { };
 
-  bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
+  bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # Added 2019-11-27
 
   cachecontrol = callPackage ../development/python-modules/cachecontrol { };
 
@@ -467,6 +504,10 @@ in {
 
   cachy = callPackage ../development/python-modules/cachy { };
 
+  cadquery = callPackage ../development/python-modules/cadquery { };
+
+  catalogue = callPackage ../development/python-modules/catalogue { };
+
   cdecimal = callPackage ../development/python-modules/cdecimal { };
 
   cfn-flip = callPackage ../development/python-modules/cfn-flip { };
@@ -710,6 +751,8 @@ in {
 
   inquirer = callPackage ../development/python-modules/inquirer { };
 
+  itanium_demangler = callPackage ../development/python-modules/itanium_demangler { };
+
   janus = callPackage ../development/python-modules/janus { };
 
   jira = callPackage ../development/python-modules/jira { };
@@ -717,7 +760,7 @@ in {
   jwcrypto = callPackage ../development/python-modules/jwcrypto { };
 
   kconfiglib = callPackage ../development/python-modules/kconfiglib { };
-  
+
   labelbox = callPackage ../development/python-modules/labelbox { };
 
   lammps-cython = callPackage ../development/python-modules/lammps-cython {
@@ -756,6 +799,8 @@ in {
 
   manhole = callPackage ../development/python-modules/manhole { };
 
+  mapbox = callPackage ../development/python-modules/mapbox { };
+
   markerlib = callPackage ../development/python-modules/markerlib { };
 
   matchpy = callPackage ../development/python-modules/matchpy { };
@@ -766,6 +811,10 @@ in {
 
   mkl-service = callPackage ../development/python-modules/mkl-service { };
 
+  mnist = callPackage ../development/python-modules/mnist { };
+
+  monkeyhex = callPackage ../development/python-modules/monkeyhex { };
+
   monty = callPackage ../development/python-modules/monty { };
 
   mpi4py = callPackage ../development/python-modules/mpi4py {
@@ -838,6 +887,8 @@ in {
 
   palettable = callPackage ../development/python-modules/palettable { };
 
+  papermill = callPackage ../development/python-modules/papermill { };
+
   parsley = callPackage ../development/python-modules/parsley { };
 
   pastel = callPackage ../development/python-modules/pastel { };
@@ -846,6 +897,8 @@ in {
 
   pc-ble-driver-py = toPythonModule (callPackage ../development/python-modules/pc-ble-driver-py { });
 
+  pcpp = callPackage ../development/python-modules/pcpp { };
+
   pdf2image = callPackage ../development/python-modules/pdf2image { };
 
   pdfminer = callPackage ../development/python-modules/pdfminer_six { };
@@ -856,6 +909,8 @@ in {
 
   pyperf = callPackage ../development/python-modules/pyperf { };
 
+  pefile = callPackage ../development/python-modules/pefile { };
+
   perfplot = callPackage ../development/python-modules/perfplot { };
 
   phonopy = callPackage ../development/python-modules/phonopy { };
@@ -868,6 +923,8 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  polyline = callPackage ../development/python-modules/polyline { };
+
   postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { });
 
   pplpy = callPackage ../development/python-modules/pplpy { };
@@ -919,7 +976,7 @@ in {
   pybullet = callPackage ../development/python-modules/pybullet { };
 
   pycairo = callPackage ../development/python-modules/pycairo {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
   pycategories = callPackage ../development/python-modules/pycategories { };
@@ -946,10 +1003,16 @@ in {
 
   pydbus = callPackage ../development/python-modules/pydbus { };
 
-  pydocstyle = callPackage ../development/python-modules/pydocstyle { };
+  pydocstyle =
+    if isPy27 then
+      callPackage ../development/python-modules/pydocstyle/2.nix { }
+    else
+      callPackage ../development/python-modules/pydocstyle { };
 
   pydocumentdb = callPackage ../development/python-modules/pydocumentdb { };
 
+  pydrive = callPackage ../development/python-modules/pydrive { };
+
   pydy = callPackage ../development/python-modules/pydy { };
 
   pyexiv2 = disabledIf isPy3k (toPythonModule (callPackage ../development/python-modules/pyexiv2 {}));
@@ -979,7 +1042,7 @@ in {
   };
 
   pygobject3 = callPackage ../development/python-modules/pygobject/3.nix {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
   pygtail = callPackage ../development/python-modules/pygtail { };
@@ -999,11 +1062,6 @@ in {
 
   pyjwkest = callPackage ../development/python-modules/pyjwkest { };
 
-  pykde4 = callPackage ../development/python-modules/pykde4 {
-    inherit (self) pyqt4;
-    callPackage = pkgs.callPackage;
-  };
-
   pykdtree = callPackage ../development/python-modules/pykdtree {
     inherit (pkgs.llvmPackages) openmp;
   };
@@ -1018,6 +1076,8 @@ in {
 
   pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { };
 
+  pymavlink = callPackage ../development/python-modules/pymavlink { };
+
   pymsgbox = callPackage ../development/python-modules/pymsgbox { };
 
   pynisher = callPackage ../development/python-modules/pynisher { };
@@ -1053,6 +1113,8 @@ in {
 
   pyschedule = callPackage ../development/python-modules/pyschedule { };
 
+  pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
+
   pyside = callPackage ../development/python-modules/pyside {
     inherit (pkgs) mesa;
   };
@@ -1091,6 +1153,8 @@ in {
 
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
+  pytest-bdd = callPackage ../development/python-modules/pytest-bdd { };
+
   pytest-black = callPackage ../development/python-modules/pytest-black { };
 
   pytest-click = callPackage ../development/python-modules/pytest-click { };
@@ -1107,12 +1171,16 @@ in {
 
   pytest-pylint = callPackage ../development/python-modules/pytest-pylint { };
 
+  pytest-qt = callPackage ../development/python-modules/pytest-qt { };
+
   pytest-testmon = callPackage ../development/python-modules/pytest-testmon { };
 
   pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
 
   pytest-xprocess = callPackage ../development/python-modules/pytest-xprocess { };
 
+  pytest-xvfb = callPackage ../development/python-modules/pytest-xvfb { };
+
   pytmx = callPackage ../development/python-modules/pytmx { };
 
   python-binance = callPackage ../development/python-modules/python-binance { };
@@ -1141,6 +1209,8 @@ in {
     igraph = pkgs.igraph;
   };
 
+  python-olm = callPackage ../development/python-modules/python-olm { };
+
   python3-openid = callPackage ../development/python-modules/python3-openid { };
 
   python-packer = callPackage ../development/python-modules/python-packer { };
@@ -1213,6 +1283,14 @@ in {
 
   selectors2 = callPackage ../development/python-modules/selectors2 { };
 
+  sacremoses = callPackage ../development/python-modules/sacremoses { };
+
+  sentencepiece = callPackage ../development/python-modules/sentencepiece {
+    inherit (pkgs) sentencepiece pkgconfig;
+  };
+
+  transformers = callPackage ../development/python-modules/transformers { };
+
   sentinel = callPackage ../development/python-modules/sentinel { };
 
   sentry-sdk = callPackage ../development/python-modules/sentry-sdk {};
@@ -1253,6 +1331,8 @@ in {
 
   sshpubkeys = callPackage ../development/python-modules/sshpubkeys { };
 
+  sshtunnel = callPackage ../development/python-modules/sshtunnel { };
+
   sslib = callPackage ../development/python-modules/sslib { };
 
   statistics = callPackage ../development/python-modules/statistics { };
@@ -1261,6 +1341,12 @@ in {
 
   stumpy = callPackage ../development/python-modules/stumpy { };
 
+  stups-cli-support = callPackage ../development/python-modules/stups-cli-support { };
+
+  stups-tokens = callPackage ../development/python-modules/stups-tokens { };
+
+  stups-zign = callPackage ../development/python-modules/stups-zign { };
+
   sumo = callPackage ../development/python-modules/sumo { };
 
   supervise_api = callPackage ../development/python-modules/supervise_api { };
@@ -1273,6 +1359,8 @@ in {
 
   tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { };
 
+  tesserocr = callPackage ../development/python-modules/tesserocr { };
+
   trueskill = callPackage ../development/python-modules/trueskill { };
 
   trustme = callPackage ../development/python-modules/trustme {};
@@ -1426,8 +1514,12 @@ in {
 
   antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime { antlr4 = pkgs.antlr4; };
 
+  apache-airflow = callPackage ../development/python-modules/apache-airflow { };
+
   apipkg = callPackage ../development/python-modules/apipkg {};
 
+  apispec = callPackage ../development/python-modules/apispec {};
+
   appdirs = callPackage ../development/python-modules/appdirs { };
 
   appleseed = disabledIf isPy3k
@@ -1643,8 +1735,6 @@ in {
 
   cmarkgfm = callPackage ../development/python-modules/cmarkgfm { };
 
-  circus = callPackage ../development/python-modules/circus {};
-
   colorcet = callPackage ../development/python-modules/colorcet { };
 
   coloredlogs = callPackage ../development/python-modules/coloredlogs { };
@@ -1653,10 +1743,14 @@ in {
 
   colorlog = callPackage ../development/python-modules/colorlog { };
 
+  colorspacious = callPackage ../development/python-modules/colorspacious { };
+
   colour = callPackage ../development/python-modules/colour {};
 
   configshell = callPackage ../development/python-modules/configshell { };
 
+  consonance = callPackage ../development/python-modules/consonance { };
+
   constantly = callPackage ../development/python-modules/constantly { };
 
   cornice = callPackage ../development/python-modules/cornice { };
@@ -1665,6 +1759,10 @@ in {
 
   crc16 = callPackage ../development/python-modules/crc16 { };
 
+  crccheck = callPackage ../development/python-modules/crccheck { };
+
+  croniter = callPackage ../development/python-modules/croniter { };
+
   csscompressor = callPackage ../development/python-modules/csscompressor {};
 
   csvs-to-sqlite = callPackage ../development/python-modules/csvs-to-sqlite { };
@@ -1703,6 +1801,11 @@ in {
 
   dugong = callPackage ../development/python-modules/dugong {};
 
+  easysnmp = callPackage ../development/python-modules/easysnmp {
+    openssl = pkgs.openssl;
+    net-snmp = pkgs.net-snmp;
+  };
+
   iowait = callPackage ../development/python-modules/iowait {};
 
   responses = callPackage ../development/python-modules/responses {};
@@ -1711,6 +1814,8 @@ in {
 
   proboscis = callPackage ../development/python-modules/proboscis {};
 
+  poster3 = callPackage ../development/python-modules/poster3 { };
+
   py4j = callPackage ../development/python-modules/py4j { };
 
   pyechonest = callPackage ../development/python-modules/pyechonest { };
@@ -1813,6 +1918,8 @@ in {
 
   cartopy = callPackage ../development/python-modules/cartopy {};
 
+  casbin = callPackage ../development/python-modules/casbin { };
+
   case = callPackage ../development/python-modules/case {};
 
   cbor = callPackage ../development/python-modules/cbor {};
@@ -1833,8 +1940,6 @@ in {
 
   cerberus = callPackage ../development/python-modules/cerberus { };
 
-  cerberus11 = callPackage ../development/python-modules/cerberus11 { };
-
   certifi = callPackage ../development/python-modules/certifi { };
 
   characteristic = callPackage ../development/python-modules/characteristic { };
@@ -1949,6 +2054,8 @@ in {
 
   envs = callPackage ../development/python-modules/envs { };
 
+  etelemetry = callPackage ../development/python-modules/etelemetry { };
+
   eth-hash = callPackage ../development/python-modules/eth-hash { };
 
   eth-typing = callPackage ../development/python-modules/eth-typing { };
@@ -1957,6 +2064,10 @@ in {
 
   impacket = callPackage ../development/python-modules/impacket { };
 
+  jsonlines = callPackage ../development/python-modules/jsonlines { };
+
+  json-merge-patch = callPackage ../development/python-modules/json-merge-patch { };
+
   jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
 
   jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
@@ -2198,6 +2309,10 @@ in {
 
   zict = callPackage ../development/python-modules/zict { };
 
+  zigpy = callPackage ../development/python-modules/zigpy { };
+
+  zigpy-deconz = callPackage ../development/python-modules/zigpy-deconz { };
+
   digital-ocean = callPackage ../development/python-modules/digitalocean { };
 
   leather = callPackage ../development/python-modules/leather { };
@@ -2236,8 +2351,6 @@ in {
 
   howdoi = callPackage ../development/python-modules/howdoi {};
 
-  neurotools = callPackage ../development/python-modules/neurotools {};
-
   jdatetime = callPackage ../development/python-modules/jdatetime {};
 
   daphne = callPackage ../development/python-modules/daphne { };
@@ -2331,8 +2444,6 @@ in {
   # alias
   elasticsearchdsl = self.elasticsearch-dsl;
 
-  elasticsearch-curator = callPackage ../development/python-modules/elasticsearch-curator { };
-
   elementpath = callPackage ../development/python-modules/elementpath { };
 
   entrypoints = callPackage ../development/python-modules/entrypoints { };
@@ -2381,6 +2492,8 @@ in {
 
   filetype = callPackage ../development/python-modules/filetype { };
 
+  flammkuchen = callPackage ../development/python-modules/flammkuchen { };
+
   flexmock = callPackage ../development/python-modules/flexmock { };
 
   flit = callPackage ../development/python-modules/flit { };
@@ -2415,6 +2528,12 @@ in {
 
   fx2 = callPackage ../development/python-modules/fx2 { };
 
+  # gaia isn't supported with python3 and it's not available from pypi
+  gaia = disabledIf (isPyPy || isPy3k) (toPythonModule (pkgs.gaia.override {
+    pythonPackages = self;
+    pythonSupport = true;
+  }));
+
   gateone = callPackage ../development/python-modules/gateone { };
 
   GeoIP = callPackage ../development/python-modules/GeoIP { };
@@ -2433,6 +2552,8 @@ in {
 
   gpy = callPackage ../development/python-modules/gpy { };
 
+  gpyopt = callPackage ../development/python-modules/gpyopt { };
+
   gitdb = callPackage ../development/python-modules/gitdb { };
 
   gitdb2 = callPackage ../development/python-modules/gitdb2 { };
@@ -2463,7 +2584,7 @@ in {
   grip = callPackage ../development/python-modules/grip { };
 
   gst-python = callPackage ../development/python-modules/gst-python {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
     gst-plugins-base = pkgs.gst_all_1.gst-plugins-base;
   };
 
@@ -2533,6 +2654,8 @@ in {
 
   iniparse = callPackage ../development/python-modules/iniparse { };
 
+  intreehooks = callPackage ../development/python-modules/intreehooks { };
+
   i3-py = callPackage ../development/python-modules/i3-py { };
 
   JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi {};
@@ -2571,10 +2694,6 @@ in {
 
   latexcodec = callPackage ../development/python-modules/latexcodec {};
 
-  libsexy = callPackage ../development/python-modules/libsexy {
-    inherit (pkgs) libsexy pkgconfig;
-  };
-
   libselinux = pipe pkgs.libselinux [
     toPythonModule
 
@@ -2604,6 +2723,8 @@ in {
 
   lightning = callPackage ../development/python-modules/lightning { };
 
+  lightparam = callPackage ../development/python-modules/lightparam { };
+
   jupyter = callPackage ../development/python-modules/jupyter { };
 
   jupyter_console = if pythonOlder "3.5" then
@@ -2637,6 +2758,8 @@ in {
 
   python-mapnik = callPackage ../development/python-modules/python-mapnik { };
 
+  measurement = callPackage ../development/python-modules/measurement {};
+
   midiutil = callPackage ../development/python-modules/midiutil {};
 
   misaka = callPackage ../development/python-modules/misaka {};
@@ -2651,6 +2774,8 @@ in {
 
   mwlib-rl = callPackage ../development/python-modules/mwlib-rl { };
 
+  myfitnesspal = callPackage ../development/python-modules/myfitnesspal { };
+
   natsort = callPackage ../development/python-modules/natsort { };
 
   naturalsort = callPackage ../development/python-modules/naturalsort { };
@@ -2786,7 +2911,7 @@ in {
   python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { };
 
   pythonix = callPackage ../development/python-modules/pythonix {
-    inherit (pkgs) pkgconfig;
+    inherit (pkgs) meson pkgconfig;
   };
 
   pyramid = callPackage ../development/python-modules/pyramid { };
@@ -3166,6 +3291,10 @@ in {
 
   flask = callPackage ../development/python-modules/flask { };
 
+  flask-admin = callPackage ../development/python-modules/flask-admin { };
+
+  flask-appbuilder = callPackage ../development/python-modules/flask-appbuilder { };
+
   flask-api = callPackage ../development/python-modules/flask-api { };
 
   flask_assets = callPackage ../development/python-modules/flask-assets { };
@@ -3174,6 +3303,10 @@ in {
 
   flask-babel = callPackage ../development/python-modules/flask-babel { };
 
+  flask-babelex = callPackage ../development/python-modules/flask-babelex { };
+
+  flask-bcrypt = callPackage ../development/python-modules/flask-bcrypt { };
+
   flask-bootstrap = callPackage ../development/python-modules/flask-bootstrap { };
 
   flask-caching = callPackage ../development/python-modules/flask-caching { };
@@ -3186,6 +3319,8 @@ in {
 
   flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
+  flask-httpauth = callPackage ../development/python-modules/flask-httpauth { };
+
   flask-jwt-extended = callPackage ../development/python-modules/flask-jwt-extended { };
 
   flask-limiter = callPackage ../development/python-modules/flask-limiter { };
@@ -3200,6 +3335,10 @@ in {
 
   flask_migrate = callPackage ../development/python-modules/flask-migrate { };
 
+  flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { };
+
+  flask-openid = callPackage ../development/python-modules/flask-openid { };
+
   flask-paginate = callPackage ../development/python-modules/flask-paginate { };
 
   flask_principal = callPackage ../development/python-modules/flask-principal { };
@@ -3226,6 +3365,8 @@ in {
 
   wtforms = callPackage ../development/python-modules/wtforms { };
 
+  wtf-peewee = callPackage ../development/python-modules/wtf-peewee { };
+
   graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix {
     inherit (pkgs) pkgconfig;
   };
@@ -3255,6 +3396,8 @@ in {
     cudaSupport = false;
   };
 
+  pythondialog = callPackage ../development/python-modules/pythondialog { };
+
   python2-pythondialog = callPackage ../development/python-modules/python2-pythondialog { };
 
   pyRFC3339 = callPackage ../development/python-modules/pyrfc3339 { };
@@ -3349,7 +3492,7 @@ in {
   google_api_python_client = let
     google_api_python_client = callPackage ../development/python-modules/google-api-python-client { };
   in if isPy3k then google_api_python_client else
-    # Python 2.7 support was deprecated but is still needed by weboob
+    # Python 2.7 support was deprecated but is still needed by weboob and duplicity
     google_api_python_client.overridePythonAttrs (old: rec {
       version = "1.7.6";
       src = old.src.override {
@@ -3629,7 +3772,10 @@ in {
 
   jupyterhub-ldapauthenticator = callPackage ../development/python-modules/jupyterhub-ldapauthenticator { };
 
-  keyring = callPackage ../development/python-modules/keyring { };
+  keyring = if isPy3k then
+    callPackage ../development/python-modules/keyring { }
+  else
+    callPackage ../development/python-modules/keyring/2.nix { };
 
   keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; };
 
@@ -3719,10 +3865,9 @@ in {
   libplist = disabledIf isPy3k
     (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py;
 
-  libxml2 = toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py;
+  libxml2 = (toPythonModule (pkgs.libxml2.override{pythonSupport=true; inherit python;})).py;
 
-  libxslt = disabledIf isPy3k
-    (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
+  libxslt = (toPythonModule (pkgs.libxslt.override{pythonSupport=true; inherit python; inherit (self) libxml2;})).py;
 
   limits = callPackage ../development/python-modules/limits { };
 
@@ -3796,6 +3941,8 @@ in {
 
   marshmallow = callPackage ../development/python-modules/marshmallow { };
 
+  marshmallow-enum = callPackage ../development/python-modules/marshmallow-enum { };
+
   marshmallow-sqlalchemy = callPackage ../development/python-modules/marshmallow-sqlalchemy { };
 
   manuel = callPackage ../development/python-modules/manuel { };
@@ -3821,6 +3968,8 @@ in {
 
   matrix-client = callPackage ../development/python-modules/matrix-client { };
 
+  matrix-nio = callPackage ../development/python-modules/matrix-nio { };
+
   mautrix-appservice = callPackage ../development/python-modules/mautrix-appservice { };
 
   maya = callPackage ../development/python-modules/maya { };
@@ -3843,6 +3992,16 @@ in {
 
   mesa = callPackage ../development/python-modules/mesa { };
 
+  meson = disabledIf (pythonOlder "3.5") (toPythonModule ((pkgs.meson.override {
+    python3Packages = self;
+  }).overrideAttrs(oldAttrs: {
+     # We do not want the setup hook in Python packages
+     # because the build is performed differently.
+    setupHook = null;
+  })));
+
+  mesonpep517 = callPackage ../development/python-modules/mesonpep517 { };
+
   metaphone = callPackage ../development/python-modules/metaphone { };
 
   mezzanine = callPackage ../development/python-modules/mezzanine { };
@@ -4016,6 +4175,8 @@ in {
 
   nibabel = callPackage ../development/python-modules/nibabel {};
 
+  nidaqmx = callPackage ../development/python-modules/nidaqmx { };
+
   nilearn = callPackage ../development/python-modules/nilearn {};
 
   nimfa = callPackage ../development/python-modules/nimfa {};
@@ -4130,7 +4291,10 @@ in {
 
   offtrac = callPackage ../development/python-modules/offtrac { };
 
-  openpyxl = callPackage ../development/python-modules/openpyxl { };
+  openpyxl = if isPy3k then
+    callPackage ../development/python-modules/openpyxl { }
+  else
+    callPackage ../development/python-modules/openpyxl/2.nix { };
 
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
@@ -4190,6 +4354,8 @@ in {
 
   aioeventlet = callPackage ../development/python-modules/aioeventlet { };
 
+  aiokafka = callPackage ../development/python-modules/aiokafka { };
+
   olefile = callPackage ../development/python-modules/olefile { };
 
   requests-mock = callPackage ../development/python-modules/requests-mock { };
@@ -4382,6 +4548,8 @@ in {
   praw = if isPy3k then callPackage ../development/python-modules/praw { }
     else callPackage ../development/python-modules/praw/6.3.nix { };
 
+  prance = callPackage ../development/python-modules/prance { };
+
   prawcore = callPackage ../development/python-modules/prawcore { };
 
   premailer = callPackage ../development/python-modules/premailer { };
@@ -4440,6 +4608,8 @@ in {
 
   mongodict = callPackage ../development/python-modules/mongodict { };
 
+  mongoengine = callPackage ../development/python-modules/mongoengine { };
+
   repoze_who = callPackage ../development/python-modules/repoze_who { };
 
   vobject = callPackage ../development/python-modules/vobject { };
@@ -4450,6 +4620,8 @@ in {
 
   Babel = callPackage ../development/python-modules/Babel { };
 
+  babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { };
+
   pybfd = callPackage ../development/python-modules/pybfd { };
 
   pybigwig = callPackage ../development/python-modules/pybigwig { };
@@ -4663,6 +4835,8 @@ in {
 
   pyhocon = callPackage ../development/python-modules/pyhocon { };
 
+  pyjson5 = callPackage ../development/python-modules/pyjson5 {};
+
   pymaging = callPackage ../development/python-modules/pymaging { };
 
   pymaging_png = callPackage ../development/python-modules/pymaging_png { };
@@ -4685,6 +4859,8 @@ in {
 
   pyserial = callPackage ../development/python-modules/pyserial {};
 
+  pyserial-asyncio = callPackage ../development/python-modules/pyserial-asyncio { };
+
   pysonos = callPackage ../development/python-modules/pysonos {};
 
   pymongo = callPackage ../development/python-modules/pymongo {};
@@ -4721,8 +4897,6 @@ in {
 
   pywal = callPackage ../development/python-modules/pywal { };
 
-  pywebkitgtk = callPackage ../development/python-modules/pywebkitgtk { };
-
   pywinrm = callPackage ../development/python-modules/pywinrm { };
 
   pyxattr = callPackage ../development/python-modules/pyxattr { };
@@ -4789,6 +4963,8 @@ in {
 
   qds_sdk = callPackage ../development/python-modules/qds_sdk { };
 
+  qimage2ndarray = callPackage ../development/python-modules/qimage2ndarray { };
+
   quamash = callPackage ../development/python-modules/quamash { };
 
   quandl = callPackage ../development/python-modules/quandl { };
@@ -4850,7 +5026,9 @@ in {
 
   geographiclib = callPackage ../development/python-modules/geographiclib { };
 
-  geopy = callPackage ../development/python-modules/geopy { };
+  geopy = if isPy3k
+    then callPackage ../development/python-modules/geopy { }
+    else callPackage ../development/python-modules/geopy/2.nix { };
 
   django-haystack = callPackage ../development/python-modules/django-haystack { };
 
@@ -4898,10 +5076,6 @@ in {
 
   Pyro4 = callPackage ../development/python-modules/pyro4 { };
 
-  root_numpy = callPackage ../development/python-modules/root_numpy { };
-
-  rootpy = callPackage ../development/python-modules/rootpy { };
-
   rope = callPackage ../development/python-modules/rope { };
 
   ropper = callPackage ../development/python-modules/ropper { };
@@ -4914,7 +5088,9 @@ in {
 
   rpmfluff = callPackage ../development/python-modules/rpmfluff {};
 
-  rpy2 = callPackage ../development/python-modules/rpy2 {};
+  rpy2 = if isPy3k
+    then callPackage ../development/python-modules/rpy2 { }
+    else callPackage ../development/python-modules/rpy2/2.nix { };
 
   rtslib = callPackage ../development/python-modules/rtslib {};
 
@@ -5030,9 +5206,13 @@ in {
 
   spark_parser = callPackage ../development/python-modules/spark_parser { };
 
-  sphinx = callPackage ../development/python-modules/sphinx { };
+  sphinx = if isPy3k then
+    callPackage ../development/python-modules/sphinx { }
+  else
+    callPackage ../development/python-modules/sphinx/2.nix { };
 
-  sphinx_1_7_9 = (callPackage ../development/python-modules/sphinx { })
+  # Only exists for a Haskell package.
+  sphinx_1_7_9 = (callPackage ../development/python-modules/sphinx/2.nix { })
     .overridePythonAttrs (oldAttrs: rec {
       version = "1.7.9";
       src = oldAttrs.src.override {
@@ -5077,6 +5257,8 @@ in {
 
   sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
 
+  sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
+
   sqlalchemy_migrate = callPackage ../development/python-modules/sqlalchemy-migrate { };
 
   sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { };
@@ -5093,6 +5275,8 @@ in {
 
   structlog = callPackage ../development/python-modules/structlog { };
 
+  stytra = callPackage ../development/python-modules/stytra { };
+
   sybil = callPackage ../development/python-modules/sybil { };
 
   # legacy alias
@@ -5130,8 +5314,16 @@ in {
 
   texttable = callPackage ../development/python-modules/texttable { };
 
+  textwrap3 =  callPackage ../development/python-modules/textwrap3 { };
+
+  tiledb = callPackage ../development/python-modules/tiledb {
+    inherit (pkgs) tiledb;
+  };
+
   tiros = callPackage ../development/python-modules/tiros { };
 
+  tinydb = callPackage ../development/python-modules/tinydb { };
+
   tifffile = callPackage ../development/python-modules/tifffile { };
 
   tmdb3 = callPackage ../development/python-modules/tmdb3 { };
@@ -5208,6 +5400,8 @@ in {
 
   vsts = callPackage ../development/python-modules/vsts { };
 
+  vsts-cd-manager = callPackage ../development/python-modules/vsts-cd-manager { };
+
   python-vlc = callPackage ../development/python-modules/python-vlc { };
 
   weasyprint = callPackage ../development/python-modules/weasyprint { };
@@ -5260,6 +5454,11 @@ in {
 
   xapian = callPackage ../development/python-modules/xapian { xapian = pkgs.xapian; };
 
+  xapp = callPackage ../development/python-modules/xapp {
+    inherit (pkgs) gtk3 gobject-introspection polkit;
+    inherit (pkgs.cinnamon) xapps;
+  };
+
   xlwt = callPackage ../development/python-modules/xlwt { };
 
   xxhash = callPackage ../development/python-modules/xxhash { };
@@ -5426,6 +5625,8 @@ in {
     then callPackage ../development/python-modules/secretstorage { }
     else callPackage ../development/python-modules/secretstorage/2.nix { };
 
+  secure = callPackage ../development/python-modules/secure { };
+
   semantic = callPackage ../development/python-modules/semantic { };
 
   sandboxlib = callPackage ../development/python-modules/sandboxlib { };
@@ -5550,6 +5751,8 @@ in {
 
   twitter-common-options = callPackage ../development/python-modules/twitter-common-options { };
 
+  python-twitter = callPackage ../development/python-modules/python-twitter { };
+
   umalqurra = callPackage ../development/python-modules/umalqurra { };
 
   unicodecsv = callPackage ../development/python-modules/unicodecsv { };
@@ -5616,6 +5819,8 @@ in {
 
   zfec = callPackage ../development/python-modules/zfec { };
 
+  zha-quirks = callPackage ../development/python-modules/zha-quirks { };
+
   zipp = callPackage ../development/python-modules/zipp { };
 
   zope_broken = callPackage ../development/python-modules/zope_broken { };
@@ -5793,6 +5998,8 @@ in {
 
   toposort = callPackage ../development/python-modules/toposort { };
 
+  snakebite = callPackage ../development/python-modules/snakebite { };
+
   snapperGUI = callPackage ../development/python-modules/snappergui { };
 
   dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
@@ -5968,12 +6175,18 @@ in {
     inherit (pkgs) udev libusb1;
   };
 
+  ckcc-protocol = callPackage ../development/python-modules/ckcc-protocol { };
+
   mnemonic = callPackage ../development/python-modules/mnemonic { };
 
   keepkey = callPackage ../development/python-modules/keepkey { };
 
+  keepkey_agent = callPackage ../development/python-modules/keepkey_agent { };
+
   libagent = callPackage ../development/python-modules/libagent { };
 
+  ledger_agent = callPackage ../development/python-modules/ledger_agent { };
+
   ledgerblue = callPackage ../development/python-modules/ledgerblue { };
 
   ecpy = callPackage ../development/python-modules/ecpy { };
@@ -6046,9 +6259,10 @@ in {
     cudnn = pkgs.cudnn_cudatoolkit_10;
     nccl = pkgs.nccl_cudatoolkit_10;
     openssl = pkgs.openssl_1_0_2;
+    inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
   };
 
-  tensorflow = if stdenv.isDarwin then self.tensorflow-bin else self.tensorflow-build;
+  tensorflow = self.tensorflow-build;
 
   tensorflowWithoutCuda = self.tensorflow.override {
     cudaSupport = false;
@@ -6106,6 +6320,8 @@ in {
 
   jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };
 
+  javaproperties = callPackage ../development/python-modules/javaproperties { };
+
   tempora= callPackage ../development/python-modules/tempora { };
 
   hypchat = callPackage ../development/python-modules/hypchat { };
@@ -6149,6 +6365,8 @@ in {
 
   preggy = callPackage ../development/python-modules/preggy { };
 
+  prison = callPackage ../development/python-modules/prison { };
+
   pytoml = callPackage ../development/python-modules/pytoml { };
 
   pypandoc = callPackage ../development/python-modules/pypandoc { };
@@ -6226,6 +6444,8 @@ in {
 
   diskcache = callPackage ../development/python-modules/diskcache { };
 
+  dissononce = callPackage ../development/python-modules/dissononce { };
+
   distro = callPackage ../development/python-modules/distro { };
 
   bz2file =  callPackage ../development/python-modules/bz2file { };
@@ -6420,6 +6640,8 @@ in {
 
   webrtcvad = callPackage ../development/python-modules/webrtcvad { };
 
+  wfuzz = callPackage ../development/python-modules/wfuzz { };
+
   wget = callPackage ../development/python-modules/wget { };
 
   runway-python = callPackage ../development/python-modules/runway-python { };
@@ -6430,6 +6652,8 @@ in {
 
   managesieve = callPackage ../development/python-modules/managesieve { };
 
+  pony = callPackage ../development/python-modules/pony { };
+
 });
 
 in fix' (extends overrides packages)
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
index d1708096032..687086b6ed3 100644
--- a/pkgs/top-level/static.nix
+++ b/pkgs/top-level/static.nix
@@ -52,6 +52,39 @@ self: super: let
     });
   };
 
+  removeUnknownConfigureFlags = f: with self.lib;
+    remove "--disable-shared"
+    (remove "--enable-static" f);
+  
+  ocamlFixPackage = b:
+    b.overrideAttrs (o: {
+      configurePlatforms = [ ];
+      configureFlags = removeUnknownConfigureFlags (o.configureFlags or [ ]);
+      buildInputs = o.buildInputs ++ o.nativeBuildInputs or [ ];
+      propagatedNativeBuildInputs = o.propagatedBuildInputs or [ ];
+    });
+  
+  ocamlStaticAdapter = _: super:
+    self.lib.mapAttrs
+      (_: p: if p ? overrideAttrs then ocamlFixPackage p else p)
+      super
+    // {
+      lablgtk = null; # Currently xlibs cause infinite recursion
+      ocaml = ((super.ocaml.override { useX11 = false; }).overrideAttrs (o: {
+        configurePlatforms = [ ];
+        dontUpdateAutotoolsGnuConfigScripts = true;
+      })).overrideDerivation (o: {
+        preConfigure = ''
+          configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
+        '';
+        configureFlags = (removeUnknownConfigureFlags o.configureFlags) ++ [
+          "--no-shared-libs"
+          "-host ${o.stdenv.hostPlatform.config}"
+          "-target ${o.stdenv.targetPlatform.config}"
+        ];
+      });
+    };
+
 in {
   stdenv = foldl (flip id) super.stdenv staticAdapters;
   gcc49Stdenv = foldl (flip id) super.gcc49Stdenv staticAdapters;
@@ -82,14 +115,15 @@ in {
   } // optionalAttrs super.stdenv.hostPlatform.isDarwin {
     pythonSupport = false;
   });
-  zlib = (super.zlib.override {
+  zlib = super.zlib.override {
     static = true;
     shared = false;
+    splitStaticOutput = false;
 
     # Don’t use new stdenv zlib because
     # it doesn’t like the --disable-shared flag
     stdenv = super.stdenv;
-  }).static;
+  };
   xz = super.xz.override {
     enableStatic = true;
   };
@@ -172,11 +206,19 @@ in {
     };
   };
 
+  kmod = super.kmod.override {
+    withStatic = true;
+  };
+  
   curl = super.curl.override {
     # a very sad story: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039
     gssSupport = false;
   };
 
+  e2fsprogs = super.e2fsprogs.override {
+    shared = false;
+  };
+
   brotli = super.brotli.override {
     staticOnly = true;
   };
@@ -196,5 +238,9 @@ in {
     };
   };
 
+  ocaml-ng = self.lib.mapAttrs (_: set:
+    if set ? overrideScope' then set.overrideScope' ocamlStaticAdapter else set
+  ) super.ocaml-ng;
+  
   python27 = super.python27.override { static = true; };
 }